diff --git a/.changeset/quick-fans-battle.md b/.changeset/quick-fans-battle.md
new file mode 100644
index 0000000000000000000000000000000000000000..82b5c9ec203e035e3eab3b3fe9a6a52cf52fea44
--- /dev/null
+++ b/.changeset/quick-fans-battle.md
@@ -0,0 +1,5 @@
+---
+"llamaindex": patch
+---
+
+fix: support import subdirectory
diff --git a/examples/readers/src/assemblyai.ts b/examples/readers/src/assemblyai.ts
index 11ae8740532c425b62056f71126ab1d11a61f124..1c0a38bc9a7fb8401b6eb72a4b98102f0f06ae81 100644
--- a/examples/readers/src/assemblyai.ts
+++ b/examples/readers/src/assemblyai.ts
@@ -1,6 +1,6 @@
 import { program } from "commander";
-import { TranscribeParams, VectorStoreIndex } from "llamaindex";
-import { AudioTranscriptReader } from "llamaindex/readers/AssemblyAIReader";
+import { VectorStoreIndex, type TranscribeParams } from "llamaindex";
+import { AudioTranscriptReader } from "llamaindex/readers";
 import { stdin as input, stdout as output } from "node:process";
 import { createInterface } from "node:readline/promises";
 
diff --git a/examples/readers/src/csv.ts b/examples/readers/src/csv.ts
index 812401295b915d42a7607052d2618924fe0c3bab..feac761781f98b8c81fdc6f21b8f891e5ce4b452 100644
--- a/examples/readers/src/csv.ts
+++ b/examples/readers/src/csv.ts
@@ -5,7 +5,7 @@ import {
   serviceContextFromDefaults,
   VectorStoreIndex,
 } from "llamaindex";
-import { PapaCSVReader } from "llamaindex/readers/CSVReader";
+import { PapaCSVReader } from "llamaindex/readers";
 
 async function main() {
   // Load CSV
diff --git a/examples/readers/src/custom-simple-directory-reader.ts b/examples/readers/src/custom-simple-directory-reader.ts
index ff5bb726a0c25db1d85feff9a64bf48001dfd714..db723ae20b57644583ba435d6bafe23e5c1e404b 100644
--- a/examples/readers/src/custom-simple-directory-reader.ts
+++ b/examples/readers/src/custom-simple-directory-reader.ts
@@ -2,8 +2,8 @@ import type { BaseReader, Document, Metadata } from "llamaindex";
 import {
   FILE_EXT_TO_READER,
   SimpleDirectoryReader,
-} from "llamaindex/readers/SimpleDirectoryReader";
-import { TextFileReader } from "llamaindex/readers/TextFileReader";
+  TextFileReader,
+} from "llamaindex/readers";
 
 class ZipReader implements BaseReader {
   loadData(...args: any[]): Promise<Document<Metadata>[]> {
diff --git a/examples/readers/src/docx.ts b/examples/readers/src/docx.ts
index fee35b0994df04d436ff9c12a80efa7a3eff5f79..b68bae8ba521ef408bca41ef656d51fdb031297b 100644
--- a/examples/readers/src/docx.ts
+++ b/examples/readers/src/docx.ts
@@ -1,5 +1,5 @@
-import { VectorStoreIndex } from "llamaindex";
-import { DocxReader } from "llamaindex/readers/DocxReader";
+import { VectorStoreIndex } from "llamaindex/indices";
+import { DocxReader } from "llamaindex/readers";
 
 const FILE_PATH = "../data/stars.docx";
 const SAMPLE_QUERY = "Information about Zodiac";
diff --git a/examples/readers/src/html.ts b/examples/readers/src/html.ts
index 5bb555453f39859df7253c9b55027f3da6ad0906..581b761c085bcb453d7bcf013bb0a178f89454a8 100644
--- a/examples/readers/src/html.ts
+++ b/examples/readers/src/html.ts
@@ -1,5 +1,5 @@
-import { VectorStoreIndex } from "llamaindex";
-import { HTMLReader } from "llamaindex/readers/HTMLReader";
+import { VectorStoreIndex } from "llamaindex/indices";
+import { HTMLReader } from "llamaindex/readers";
 
 async function main() {
   // Load page
diff --git a/examples/readers/src/llamaparse.ts b/examples/readers/src/llamaparse.ts
index 3a9e6b2875869cd67944a9f4111e2dea20b5b16b..731c7b8763104f35770905b02f91ebf3d0d7209b 100644
--- a/examples/readers/src/llamaparse.ts
+++ b/examples/readers/src/llamaparse.ts
@@ -1,4 +1,5 @@
-import { LlamaParseReader, VectorStoreIndex } from "llamaindex";
+import { VectorStoreIndex } from "llamaindex/indices";
+import { LlamaParseReader } from "llamaindex/readers";
 
 async function main() {
   // Load PDF using LlamaParse
diff --git a/examples/readers/src/markdown.ts b/examples/readers/src/markdown.ts
index e9fb52e46c066fc4658cf825dfc98bec15bd51ad..bc75e2617fc674a4e158bc3cf717febeeb4588ef 100644
--- a/examples/readers/src/markdown.ts
+++ b/examples/readers/src/markdown.ts
@@ -1,5 +1,5 @@
-import { VectorStoreIndex } from "llamaindex";
-import { MarkdownReader } from "llamaindex/readers/MarkdownReader";
+import { VectorStoreIndex } from "llamaindex/indices";
+import { MarkdownReader } from "llamaindex/readers";
 
 const FILE_PATH = "../data/planets.md";
 const SAMPLE_QUERY = "List all planets";
diff --git a/examples/readers/src/notion.ts b/examples/readers/src/notion.ts
index d6450af4b159ef9f36b65c7570e96501f42fedbf..a2b83df2d4a181f7209d415a549159d0a6eb91b9 100644
--- a/examples/readers/src/notion.ts
+++ b/examples/readers/src/notion.ts
@@ -1,7 +1,7 @@
 import { Client } from "@notionhq/client";
 import { program } from "commander";
-import { VectorStoreIndex } from "llamaindex";
-import { NotionReader } from "llamaindex/readers/NotionReader";
+import { VectorStoreIndex } from "llamaindex/indices";
+import { NotionReader } from "llamaindex/readers";
 import { stdin as input, stdout as output } from "node:process";
 import { createInterface } from "node:readline/promises";
 
diff --git a/examples/readers/src/pdf.ts b/examples/readers/src/pdf.ts
index bf37669cb565965fff5c4bd7b09c8566938d355e..c7bc3ed36027d33161ad4ee37023b55fc8aff739 100644
--- a/examples/readers/src/pdf.ts
+++ b/examples/readers/src/pdf.ts
@@ -1,5 +1,5 @@
-import { VectorStoreIndex } from "llamaindex";
-import { PDFReader } from "llamaindex/readers/PDFReader";
+import { VectorStoreIndex } from "llamaindex/indices";
+import { PDFReader } from "llamaindex/readers";
 
 async function main() {
   // Load PDF
diff --git a/examples/readers/src/pdf_fw.ts b/examples/readers/src/pdf_fw.ts
index d4a47e72422ccab79b4719c6e66b7edb4a07baf6..9ddd6030f44aaf234cd96222ed2048188f22e2d2 100644
--- a/examples/readers/src/pdf_fw.ts
+++ b/examples/readers/src/pdf_fw.ts
@@ -1,5 +1,7 @@
-import { FireworksEmbedding, FireworksLLM, VectorStoreIndex } from "llamaindex";
-import { PDFReader } from "llamaindex/readers/PDFReader";
+import { FireworksEmbedding } from "llamaindex/embeddings";
+import { VectorStoreIndex } from "llamaindex/indices";
+import { FireworksLLM } from "llamaindex/llm";
+import { PDFReader } from "llamaindex/readers";
 
 import { serviceContextFromDefaults } from "llamaindex";
 
diff --git a/examples/readers/src/pdf_fw_openai.ts b/examples/readers/src/pdf_fw_openai.ts
index 2910deb251ce8ce07ae631ce81afe86f849eb06f..0ab30f60fb031d3ec30bae95f17b502a9ad63e1c 100644
--- a/examples/readers/src/pdf_fw_openai.ts
+++ b/examples/readers/src/pdf_fw_openai.ts
@@ -1,5 +1,7 @@
-import { OpenAI, OpenAIEmbedding, VectorStoreIndex } from "llamaindex";
-import { PDFReader } from "llamaindex/readers/PDFReader";
+import { OpenAIEmbedding } from "llamaindex/embeddings";
+import { VectorStoreIndex } from "llamaindex/indices";
+import { OpenAI } from "llamaindex/llm";
+import { PDFReader } from "llamaindex/readers";
 
 import { serviceContextFromDefaults } from "llamaindex";
 
diff --git a/examples/readers/src/simple-directory-reader.ts b/examples/readers/src/simple-directory-reader.ts
index 5d25c4cc8ac62cf6f92821b28cab6bc93569cf17..a9520ffb61a4148ed30be657d03a9072040935e9 100644
--- a/examples/readers/src/simple-directory-reader.ts
+++ b/examples/readers/src/simple-directory-reader.ts
@@ -1,4 +1,4 @@
-import { SimpleDirectoryReader } from "llamaindex/readers/SimpleDirectoryReader";
+import { SimpleDirectoryReader } from "llamaindex/readers";
 // or
 // import { SimpleDirectoryReader } from 'llamaindex'
 
diff --git a/packages/core/package.json b/packages/core/package.json
index f2253fa1e95a725446fe7e018af4ecf1c87ad64f..a4182192710e42c13f99e46b0e2a35ef238cc907 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -67,6 +67,186 @@
         "default": "./dist/cjs/index.js"
       }
     },
+    "./agent": {
+      "import": {
+        "types": "./dist/type/agent/index.d.ts",
+        "default": "./dist/agent/index.js"
+      },
+      "require": {
+        "types": "./dist/type/agent/index.d.ts",
+        "default": "./dist/cjs/agent/index.js"
+      }
+    },
+    "./cloud": {
+      "import": {
+        "types": "./dist/type/cloud/index.d.ts",
+        "default": "./dist/cloud/index.js"
+      },
+      "require": {
+        "types": "./dist/type/cloud/index.d.ts",
+        "default": "./dist/cjs/cloud/index.js"
+      }
+    },
+    "./embeddings": {
+      "import": {
+        "types": "./dist/type/embeddings/index.d.ts",
+        "default": "./dist/embeddings/index.js"
+      },
+      "require": {
+        "types": "./dist/type/embeddings/index.d.ts",
+        "default": "./dist/cjs/embeddings/index.js"
+      }
+    },
+    "./engines": {
+      "import": {
+        "types": "./dist/type/engines/index.d.ts",
+        "default": "./dist/engines/index.js"
+      },
+      "require": {
+        "types": "./dist/type/engines/index.d.ts",
+        "default": "./dist/cjs/engines/index.js"
+      }
+    },
+    "./evaluation": {
+      "import": {
+        "types": "./dist/type/evaluation/index.d.ts",
+        "default": "./dist/evaluation/index.js"
+      },
+      "require": {
+        "types": "./dist/type/evaluation/index.d.ts",
+        "default": "./dist/cjs/evaluation/index.js"
+      }
+    },
+    "./extractors": {
+      "import": {
+        "types": "./dist/type/extractors/index.d.ts",
+        "default": "./dist/extractors/index.js"
+      },
+      "require": {
+        "types": "./dist/type/extractors/index.d.ts",
+        "default": "./dist/cjs/extractors/index.js"
+      }
+    },
+    "./indices": {
+      "import": {
+        "types": "./dist/type/indices/index.d.ts",
+        "default": "./dist/indices/index.js"
+      },
+      "require": {
+        "types": "./dist/type/indices/index.d.ts",
+        "default": "./dist/cjs/indices/index.js"
+      }
+    },
+    "./ingestion": {
+      "import": {
+        "types": "./dist/type/ingestion/index.d.ts",
+        "default": "./dist/ingestion/index.js"
+      },
+      "require": {
+        "types": "./dist/type/ingestion/index.d.ts",
+        "default": "./dist/cjs/ingestion/index.js"
+      }
+    },
+    "./llm": {
+      "import": {
+        "types": "./dist/type/llm/index.d.ts",
+        "default": "./dist/llm/index.js"
+      },
+      "require": {
+        "types": "./dist/type/llm/index.d.ts",
+        "default": "./dist/cjs/llm/index.js"
+      }
+    },
+    "./nodeParsers": {
+      "import": {
+        "types": "./dist/type/nodeParsers/index.d.ts",
+        "default": "./dist/nodeParsers/index.js"
+      },
+      "require": {
+        "types": "./dist/type/nodeParsers/index.d.ts",
+        "default": "./dist/cjs/nodeParsers/index.js"
+      }
+    },
+    "./objects": {
+      "import": {
+        "types": "./dist/type/objects/index.d.ts",
+        "default": "./dist/objects/index.js"
+      },
+      "require": {
+        "types": "./dist/type/objects/index.d.ts",
+        "default": "./dist/cjs/objects/index.js"
+      }
+    },
+    "./postprocessors": {
+      "import": {
+        "types": "./dist/type/postprocessors/index.d.ts",
+        "default": "./dist/postprocessors/index.js"
+      },
+      "require": {
+        "types": "./dist/type/postprocessors/index.d.ts",
+        "default": "./dist/cjs/postprocessors/index.js"
+      }
+    },
+    "./prompts": {
+      "import": {
+        "types": "./dist/type/prompts/index.d.ts",
+        "default": "./dist/prompts/index.js"
+      },
+      "require": {
+        "types": "./dist/type/prompts/index.d.ts",
+        "default": "./dist/cjs/prompts/index.js"
+      }
+    },
+    "./readers": {
+      "import": {
+        "types": "./dist/type/readers/index.d.ts",
+        "default": "./dist/readers/index.js"
+      },
+      "require": {
+        "types": "./dist/type/readers/index.d.ts",
+        "default": "./dist/cjs/readers/index.js"
+      }
+    },
+    "./selectors": {
+      "import": {
+        "types": "./dist/type/selectors/index.d.ts",
+        "default": "./dist/selectors/index.js"
+      },
+      "require": {
+        "types": "./dist/type/selectors/index.d.ts",
+        "default": "./dist/cjs/selectors/index.js"
+      }
+    },
+    "./storage": {
+      "import": {
+        "types": "./dist/type/storage/index.d.ts",
+        "default": "./dist/storage/index.js"
+      },
+      "require": {
+        "types": "./dist/type/storage/index.d.ts",
+        "default": "./dist/cjs/storage/index.js"
+      }
+    },
+    "./synthesizers": {
+      "import": {
+        "types": "./dist/type/synthesizers/index.d.ts",
+        "default": "./dist/synthesizers/index.js"
+      },
+      "require": {
+        "types": "./dist/type/synthesizers/index.d.ts",
+        "default": "./dist/cjs/synthesizers/index.js"
+      }
+    },
+    "./tools": {
+      "import": {
+        "types": "./dist/type/tools/index.d.ts",
+        "default": "./dist/tools/index.js"
+      },
+      "require": {
+        "types": "./dist/type/tools/index.d.ts",
+        "default": "./dist/cjs/tools/index.js"
+      }
+    },
     "./*": {
       "import": {
         "types": "./dist/type/*.d.ts",