@weavelogic/knowledge-graph-agent 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +686 -304
- package/dist/_virtual/_commonjsHelpers.js +7 -0
- package/dist/_virtual/_commonjsHelpers.js.map +1 -0
- package/dist/_virtual/additionalItems.js +5 -0
- package/dist/_virtual/additionalItems.js.map +1 -0
- package/dist/_virtual/additionalProperties.js +5 -0
- package/dist/_virtual/additionalProperties.js.map +1 -0
- package/dist/_virtual/ajv.js +6 -0
- package/dist/_virtual/ajv.js.map +1 -0
- package/dist/_virtual/ajv2.js +5 -0
- package/dist/_virtual/ajv2.js.map +1 -0
- package/dist/_virtual/allOf.js +5 -0
- package/dist/_virtual/allOf.js.map +1 -0
- package/dist/_virtual/anyOf.js +5 -0
- package/dist/_virtual/anyOf.js.map +1 -0
- package/dist/_virtual/applicability.js +5 -0
- package/dist/_virtual/applicability.js.map +1 -0
- package/dist/_virtual/boolSchema.js +5 -0
- package/dist/_virtual/boolSchema.js.map +1 -0
- package/dist/_virtual/code.js +5 -0
- package/dist/_virtual/code.js.map +1 -0
- package/dist/_virtual/code2.js +5 -0
- package/dist/_virtual/code2.js.map +1 -0
- package/dist/_virtual/const.js +5 -0
- package/dist/_virtual/const.js.map +1 -0
- package/dist/_virtual/contains.js +5 -0
- package/dist/_virtual/contains.js.map +1 -0
- package/dist/_virtual/core.js +5 -0
- package/dist/_virtual/core.js.map +1 -0
- package/dist/_virtual/dataType.js +5 -0
- package/dist/_virtual/dataType.js.map +1 -0
- package/dist/_virtual/defaults.js +5 -0
- package/dist/_virtual/defaults.js.map +1 -0
- package/dist/_virtual/dependencies.js +5 -0
- package/dist/_virtual/dependencies.js.map +1 -0
- package/dist/_virtual/draft7.js +5 -0
- package/dist/_virtual/draft7.js.map +1 -0
- package/dist/_virtual/enum.js +5 -0
- package/dist/_virtual/enum.js.map +1 -0
- package/dist/_virtual/equal.js +5 -0
- package/dist/_virtual/equal.js.map +1 -0
- package/dist/_virtual/errors.js +5 -0
- package/dist/_virtual/errors.js.map +1 -0
- package/dist/_virtual/format.js +5 -0
- package/dist/_virtual/format.js.map +1 -0
- package/dist/_virtual/formats.js +5 -0
- package/dist/_virtual/formats.js.map +1 -0
- package/dist/_virtual/id.js +5 -0
- package/dist/_virtual/id.js.map +1 -0
- package/dist/_virtual/if.js +5 -0
- package/dist/_virtual/if.js.map +1 -0
- package/dist/_virtual/index.js +8 -0
- package/dist/_virtual/index.js.map +1 -0
- package/dist/_virtual/index10.js +5 -0
- package/dist/_virtual/index10.js.map +1 -0
- package/dist/_virtual/index11.js +5 -0
- package/dist/_virtual/index11.js.map +1 -0
- package/dist/_virtual/index12.js +5 -0
- package/dist/_virtual/index12.js.map +1 -0
- package/dist/_virtual/index2.js +5 -0
- package/dist/_virtual/index2.js.map +1 -0
- package/dist/_virtual/index3.js +5 -0
- package/dist/_virtual/index3.js.map +1 -0
- package/dist/_virtual/index4.js +5 -0
- package/dist/_virtual/index4.js.map +1 -0
- package/dist/_virtual/index5.js +5 -0
- package/dist/_virtual/index5.js.map +1 -0
- package/dist/_virtual/index6.js +5 -0
- package/dist/_virtual/index6.js.map +1 -0
- package/dist/_virtual/index7.js +5 -0
- package/dist/_virtual/index7.js.map +1 -0
- package/dist/_virtual/index8.js +5 -0
- package/dist/_virtual/index8.js.map +1 -0
- package/dist/_virtual/index9.js +5 -0
- package/dist/_virtual/index9.js.map +1 -0
- package/dist/_virtual/items.js +5 -0
- package/dist/_virtual/items.js.map +1 -0
- package/dist/_virtual/items2020.js +5 -0
- package/dist/_virtual/items2020.js.map +1 -0
- package/dist/_virtual/keyword.js +5 -0
- package/dist/_virtual/keyword.js.map +1 -0
- package/dist/_virtual/limit.js +5 -0
- package/dist/_virtual/limit.js.map +1 -0
- package/dist/_virtual/limitItems.js +5 -0
- package/dist/_virtual/limitItems.js.map +1 -0
- package/dist/_virtual/limitLength.js +5 -0
- package/dist/_virtual/limitLength.js.map +1 -0
- package/dist/_virtual/limitNumber.js +5 -0
- package/dist/_virtual/limitNumber.js.map +1 -0
- package/dist/_virtual/limitProperties.js +5 -0
- package/dist/_virtual/limitProperties.js.map +1 -0
- package/dist/_virtual/metadata.js +5 -0
- package/dist/_virtual/metadata.js.map +1 -0
- package/dist/_virtual/multipleOf.js +5 -0
- package/dist/_virtual/multipleOf.js.map +1 -0
- package/dist/_virtual/names.js +5 -0
- package/dist/_virtual/names.js.map +1 -0
- package/dist/_virtual/not.js +5 -0
- package/dist/_virtual/not.js.map +1 -0
- package/dist/_virtual/oneOf.js +5 -0
- package/dist/_virtual/oneOf.js.map +1 -0
- package/dist/_virtual/pattern.js +5 -0
- package/dist/_virtual/pattern.js.map +1 -0
- package/dist/_virtual/patternProperties.js +5 -0
- package/dist/_virtual/patternProperties.js.map +1 -0
- package/dist/_virtual/prefixItems.js +5 -0
- package/dist/_virtual/prefixItems.js.map +1 -0
- package/dist/_virtual/properties.js +5 -0
- package/dist/_virtual/properties.js.map +1 -0
- package/dist/_virtual/propertyNames.js +5 -0
- package/dist/_virtual/propertyNames.js.map +1 -0
- package/dist/_virtual/ref.js +5 -0
- package/dist/_virtual/ref.js.map +1 -0
- package/dist/_virtual/ref_error.js +5 -0
- package/dist/_virtual/ref_error.js.map +1 -0
- package/dist/_virtual/required.js +5 -0
- package/dist/_virtual/required.js.map +1 -0
- package/dist/_virtual/resolve.js +5 -0
- package/dist/_virtual/resolve.js.map +1 -0
- package/dist/_virtual/rules.js +5 -0
- package/dist/_virtual/rules.js.map +1 -0
- package/dist/_virtual/scope.js +5 -0
- package/dist/_virtual/scope.js.map +1 -0
- package/dist/_virtual/subschema.js +5 -0
- package/dist/_virtual/subschema.js.map +1 -0
- package/dist/_virtual/thenElse.js +5 -0
- package/dist/_virtual/thenElse.js.map +1 -0
- package/dist/_virtual/types.js +5 -0
- package/dist/_virtual/types.js.map +1 -0
- package/dist/_virtual/ucs2length.js +5 -0
- package/dist/_virtual/ucs2length.js.map +1 -0
- package/dist/_virtual/uniqueItems.js +5 -0
- package/dist/_virtual/uniqueItems.js.map +1 -0
- package/dist/_virtual/uri.js +5 -0
- package/dist/_virtual/uri.js.map +1 -0
- package/dist/_virtual/util.js +5 -0
- package/dist/_virtual/util.js.map +1 -0
- package/dist/_virtual/validation_error.js +5 -0
- package/dist/_virtual/validation_error.js.map +1 -0
- package/dist/agents/analyst-agent.d.ts +230 -0
- package/dist/agents/analyst-agent.d.ts.map +1 -0
- package/dist/agents/analyst-agent.js +793 -0
- package/dist/agents/analyst-agent.js.map +1 -0
- package/dist/agents/architect-agent.d.ts +248 -0
- package/dist/agents/architect-agent.d.ts.map +1 -0
- package/dist/agents/architect-agent.js +685 -0
- package/dist/agents/architect-agent.js.map +1 -0
- package/dist/agents/base-agent.d.ts +169 -0
- package/dist/agents/base-agent.d.ts.map +1 -0
- package/dist/agents/base-agent.js +441 -0
- package/dist/agents/base-agent.js.map +1 -0
- package/dist/agents/coder-agent.d.ts +191 -0
- package/dist/agents/coder-agent.d.ts.map +1 -0
- package/dist/agents/coder-agent.js +1008 -0
- package/dist/agents/coder-agent.js.map +1 -0
- package/dist/agents/index.d.ts +18 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +40 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/registry.d.ts +213 -0
- package/dist/agents/registry.d.ts.map +1 -0
- package/dist/agents/registry.js +419 -0
- package/dist/agents/registry.js.map +1 -0
- package/dist/agents/researcher-agent.d.ts +226 -0
- package/dist/agents/researcher-agent.d.ts.map +1 -0
- package/dist/agents/researcher-agent.js +572 -0
- package/dist/agents/researcher-agent.js.map +1 -0
- package/dist/agents/rules-engine.d.ts +320 -0
- package/dist/agents/rules-engine.d.ts.map +1 -0
- package/dist/agents/rules-engine.js +552 -0
- package/dist/agents/rules-engine.js.map +1 -0
- package/dist/agents/tester-agent.d.ts +219 -0
- package/dist/agents/tester-agent.d.ts.map +1 -0
- package/dist/agents/tester-agent.js +683 -0
- package/dist/agents/tester-agent.js.map +1 -0
- package/dist/agents/types.d.ts +425 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +57 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/caching/index.d.ts +55 -0
- package/dist/caching/index.d.ts.map +1 -0
- package/dist/caching/index.js +206 -0
- package/dist/caching/index.js.map +1 -0
- package/dist/caching/lru-cache.d.ts +254 -0
- package/dist/caching/lru-cache.d.ts.map +1 -0
- package/dist/caching/types.d.ts +95 -0
- package/dist/caching/types.d.ts.map +1 -0
- package/dist/chunking/chunker.d.ts +94 -0
- package/dist/chunking/chunker.d.ts.map +1 -0
- package/dist/chunking/index.d.ts +125 -0
- package/dist/chunking/index.d.ts.map +1 -0
- package/dist/chunking/index.js +283 -0
- package/dist/chunking/index.js.map +1 -0
- package/dist/chunking/types.d.ts +92 -0
- package/dist/chunking/types.d.ts.map +1 -0
- package/dist/cli/commands/commit.d.ts +11 -0
- package/dist/cli/commands/commit.d.ts.map +1 -0
- package/dist/cli/commands/commit.js +379 -0
- package/dist/cli/commands/commit.js.map +1 -0
- package/dist/cli/commands/config.d.ts +8 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +107 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/cultivate.d.ts +16 -0
- package/dist/cli/commands/cultivate.d.ts.map +1 -0
- package/dist/cli/commands/cultivate.js +254 -0
- package/dist/cli/commands/cultivate.js.map +1 -0
- package/dist/cli/commands/diagnostics.d.ts +8 -0
- package/dist/cli/commands/diagnostics.d.ts.map +1 -0
- package/dist/cli/commands/diagnostics.js +140 -0
- package/dist/cli/commands/diagnostics.js.map +1 -0
- package/dist/cli/commands/generate.d.ts +13 -0
- package/dist/cli/commands/generate.d.ts.map +1 -0
- package/dist/cli/commands/init-primitives.d.ts +19 -0
- package/dist/cli/commands/init-primitives.d.ts.map +1 -0
- package/dist/cli/commands/init-primitives.js +208 -0
- package/dist/cli/commands/init-primitives.js.map +1 -0
- package/dist/cli/commands/sop.d.ts +14 -0
- package/dist/cli/commands/sop.d.ts.map +1 -0
- package/dist/cli/commands/sop.js +598 -0
- package/dist/cli/commands/sop.js.map +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +40 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/config/index.d.ts +153 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +141 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/manager.d.ts +136 -0
- package/dist/config/manager.d.ts.map +1 -0
- package/dist/config/types.d.ts +127 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/core/cache.d.ts +185 -0
- package/dist/core/cache.d.ts.map +1 -0
- package/dist/core/cache.js +435 -0
- package/dist/core/cache.js.map +1 -0
- package/dist/cultivation/deep-analyzer.d.ts +129 -0
- package/dist/cultivation/deep-analyzer.d.ts.map +1 -0
- package/dist/cultivation/deep-analyzer.js +322 -0
- package/dist/cultivation/deep-analyzer.js.map +1 -0
- package/dist/cultivation/index.d.ts +13 -0
- package/dist/cultivation/index.d.ts.map +1 -0
- package/dist/cultivation/seed-generator.d.ts +92 -0
- package/dist/cultivation/seed-generator.d.ts.map +1 -0
- package/dist/cultivation/seed-generator.js +1033 -0
- package/dist/cultivation/seed-generator.js.map +1 -0
- package/dist/cultivation/types.d.ts +230 -0
- package/dist/cultivation/types.d.ts.map +1 -0
- package/dist/generators/claude-md.d.ts +7 -0
- package/dist/generators/claude-md.d.ts.map +1 -1
- package/dist/generators/claude-md.js.map +1 -1
- package/dist/generators/docs-init.d.ts +6 -0
- package/dist/generators/docs-init.d.ts.map +1 -1
- package/dist/generators/docs-init.js.map +1 -1
- package/dist/health/checks.d.ts +135 -0
- package/dist/health/checks.d.ts.map +1 -0
- package/dist/health/index.d.ts +119 -0
- package/dist/health/index.d.ts.map +1 -0
- package/dist/health/index.js +191 -0
- package/dist/health/index.js.map +1 -0
- package/dist/health/monitor.d.ts +146 -0
- package/dist/health/monitor.d.ts.map +1 -0
- package/dist/health/types.d.ts +135 -0
- package/dist/health/types.d.ts.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +173 -1
- package/dist/index.js.map +1 -1
- package/dist/integrations/auto-commit.d.ts +175 -0
- package/dist/integrations/auto-commit.d.ts.map +1 -0
- package/dist/integrations/auto-commit.js +399 -0
- package/dist/integrations/auto-commit.js.map +1 -0
- package/dist/integrations/git.d.ts +299 -0
- package/dist/integrations/git.d.ts.map +1 -0
- package/dist/integrations/git.js +465 -0
- package/dist/integrations/git.js.map +1 -0
- package/dist/mcp-server/bin.d.ts +11 -0
- package/dist/mcp-server/bin.d.ts.map +1 -0
- package/dist/mcp-server/handlers/index.d.ts +57 -0
- package/dist/mcp-server/handlers/index.d.ts.map +1 -0
- package/dist/mcp-server/handlers/index.js +235 -0
- package/dist/mcp-server/handlers/index.js.map +1 -0
- package/dist/mcp-server/index.d.ts +28 -0
- package/dist/mcp-server/index.d.ts.map +1 -0
- package/dist/mcp-server/server.d.ts +133 -0
- package/dist/mcp-server/server.d.ts.map +1 -0
- package/dist/mcp-server/server.js +280 -0
- package/dist/mcp-server/server.js.map +1 -0
- package/dist/mcp-server/tools/agents/index.d.ts +10 -0
- package/dist/mcp-server/tools/agents/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/agents/list.d.ts +19 -0
- package/dist/mcp-server/tools/agents/list.d.ts.map +1 -0
- package/dist/mcp-server/tools/agents/spawn.d.ts +19 -0
- package/dist/mcp-server/tools/agents/spawn.d.ts.map +1 -0
- package/dist/mcp-server/tools/graph/generate.d.ts +21 -0
- package/dist/mcp-server/tools/graph/generate.d.ts.map +1 -0
- package/dist/mcp-server/tools/graph/index.d.ts +11 -0
- package/dist/mcp-server/tools/graph/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/graph/query.d.ts +22 -0
- package/dist/mcp-server/tools/graph/query.d.ts.map +1 -0
- package/dist/mcp-server/tools/graph/stats.d.ts +22 -0
- package/dist/mcp-server/tools/graph/stats.d.ts.map +1 -0
- package/dist/mcp-server/tools/health.d.ts +21 -0
- package/dist/mcp-server/tools/health.d.ts.map +1 -0
- package/dist/mcp-server/tools/index.d.ts +13 -0
- package/dist/mcp-server/tools/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/registry.d.ts +90 -0
- package/dist/mcp-server/tools/registry.d.ts.map +1 -0
- package/dist/mcp-server/tools/registry.js +663 -0
- package/dist/mcp-server/tools/registry.js.map +1 -0
- package/dist/mcp-server/tools/search/index.d.ts +10 -0
- package/dist/mcp-server/tools/search/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/search/nodes.d.ts +22 -0
- package/dist/mcp-server/tools/search/nodes.d.ts.map +1 -0
- package/dist/mcp-server/tools/search/tags.d.ts +22 -0
- package/dist/mcp-server/tools/search/tags.d.ts.map +1 -0
- package/dist/mcp-server/types/index.d.ts +286 -0
- package/dist/mcp-server/types/index.d.ts.map +1 -0
- package/dist/memory/index.d.ts +10 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/vault-sync.d.ts +212 -0
- package/dist/memory/vault-sync.d.ts.map +1 -0
- package/dist/memory/vault-sync.js +463 -0
- package/dist/memory/vault-sync.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +296 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +71 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js +26 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +407 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +1332 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js.map +1 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js +71 -0
- package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js.map +1 -0
- package/dist/node_modules/ajv/dist/ajv.js +84 -0
- package/dist/node_modules/ajv/dist/ajv.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/codegen/code.js +160 -0
- package/dist/node_modules/ajv/dist/compile/codegen/code.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/codegen/index.js +728 -0
- package/dist/node_modules/ajv/dist/compile/codegen/index.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/codegen/scope.js +152 -0
- package/dist/node_modules/ajv/dist/compile/codegen/scope.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/errors.js +131 -0
- package/dist/node_modules/ajv/dist/compile/errors.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/index.js +234 -0
- package/dist/node_modules/ajv/dist/compile/index.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/names.js +44 -0
- package/dist/node_modules/ajv/dist/compile/names.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/ref_error.js +22 -0
- package/dist/node_modules/ajv/dist/compile/ref_error.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/resolve.js +163 -0
- package/dist/node_modules/ajv/dist/compile/resolve.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/rules.js +35 -0
- package/dist/node_modules/ajv/dist/compile/rules.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/util.js +173 -0
- package/dist/node_modules/ajv/dist/compile/util.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/validate/applicability.js +27 -0
- package/dist/node_modules/ajv/dist/compile/validate/applicability.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/validate/boolSchema.js +58 -0
- package/dist/node_modules/ajv/dist/compile/validate/boolSchema.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/validate/dataType.js +193 -0
- package/dist/node_modules/ajv/dist/compile/validate/dataType.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/validate/defaults.js +43 -0
- package/dist/node_modules/ajv/dist/compile/validate/defaults.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/validate/index.js +522 -0
- package/dist/node_modules/ajv/dist/compile/validate/index.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/validate/keyword.js +126 -0
- package/dist/node_modules/ajv/dist/compile/validate/keyword.js.map +1 -0
- package/dist/node_modules/ajv/dist/compile/validate/subschema.js +89 -0
- package/dist/node_modules/ajv/dist/compile/validate/subschema.js.map +1 -0
- package/dist/node_modules/ajv/dist/core.js +628 -0
- package/dist/node_modules/ajv/dist/core.js.map +1 -0
- package/dist/node_modules/ajv/dist/refs/data.json.js +24 -0
- package/dist/node_modules/ajv/dist/refs/data.json.js.map +1 -0
- package/dist/node_modules/ajv/dist/refs/json-schema-draft-07.json.js +25 -0
- package/dist/node_modules/ajv/dist/refs/json-schema-draft-07.json.js.map +1 -0
- package/dist/node_modules/ajv/dist/runtime/equal.js +16 -0
- package/dist/node_modules/ajv/dist/runtime/equal.js.map +1 -0
- package/dist/node_modules/ajv/dist/runtime/ucs2length.js +30 -0
- package/dist/node_modules/ajv/dist/runtime/ucs2length.js.map +1 -0
- package/dist/node_modules/ajv/dist/runtime/uri.js +16 -0
- package/dist/node_modules/ajv/dist/runtime/uri.js.map +1 -0
- package/dist/node_modules/ajv/dist/runtime/validation_error.js +20 -0
- package/dist/node_modules/ajv/dist/runtime/validation_error.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +59 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +114 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/allOf.js +32 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +22 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/contains.js +100 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +103 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/if.js +75 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/if.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/index.js +68 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/index.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/items.js +64 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/items.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/items2020.js +43 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/not.js +36 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/not.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +64 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +81 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +22 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/properties.js +66 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +49 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +23 -0
- package/dist/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/code.js +140 -0
- package/dist/node_modules/ajv/dist/vocabularies/code.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/core/id.js +19 -0
- package/dist/node_modules/ajv/dist/vocabularies/core/id.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/core/index.js +27 -0
- package/dist/node_modules/ajv/dist/vocabularies/core/index.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/core/ref.js +132 -0
- package/dist/node_modules/ajv/dist/vocabularies/core/ref.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/discriminator/index.js +114 -0
- package/dist/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/discriminator/types.js +18 -0
- package/dist/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/draft7.js +31 -0
- package/dist/node_modules/ajv/dist/vocabularies/draft7.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/format/format.js +95 -0
- package/dist/node_modules/ajv/dist/vocabularies/format/format.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/format/index.js +16 -0
- package/dist/node_modules/ajv/dist/vocabularies/format/index.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/metadata.js +27 -0
- package/dist/node_modules/ajv/dist/vocabularies/metadata.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/const.js +36 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/const.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/enum.js +56 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/enum.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/index.js +52 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/index.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitItems.js +34 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitLength.js +39 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +37 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +34 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +33 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/pattern.js +34 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/required.js +89 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/required.js.map +1 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +75 -0
- package/dist/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +1 -0
- package/dist/node_modules/ajv-formats/dist/formats.js +209 -0
- package/dist/node_modules/ajv-formats/dist/formats.js.map +1 -0
- package/dist/node_modules/ajv-formats/dist/index.js +51 -0
- package/dist/node_modules/ajv-formats/dist/index.js.map +1 -0
- package/dist/node_modules/ajv-formats/dist/limit.js +80 -0
- package/dist/node_modules/ajv-formats/dist/limit.js.map +1 -0
- package/dist/node_modules/fast-deep-equal/index.js +39 -0
- package/dist/node_modules/fast-deep-equal/index.js.map +1 -0
- package/dist/node_modules/fast-uri/index.js +261 -0
- package/dist/node_modules/fast-uri/index.js.map +1 -0
- package/dist/node_modules/fast-uri/lib/schemes.js +215 -0
- package/dist/node_modules/fast-uri/lib/schemes.js.map +1 -0
- package/dist/node_modules/fast-uri/lib/utils.js +261 -0
- package/dist/node_modules/fast-uri/lib/utils.js.map +1 -0
- package/dist/node_modules/json-schema-traverse/index.js +92 -0
- package/dist/node_modules/json-schema-traverse/index.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/errors.js +37 -0
- package/dist/node_modules/zod/v4/classic/errors.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/iso.js +43 -0
- package/dist/node_modules/zod/v4/classic/iso.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/parse.js +13 -0
- package/dist/node_modules/zod/v4/classic/parse.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/schemas.js +688 -0
- package/dist/node_modules/zod/v4/classic/schemas.js.map +1 -0
- package/dist/node_modules/zod/v4/core/api.js +492 -0
- package/dist/node_modules/zod/v4/core/api.js.map +1 -0
- package/dist/node_modules/zod/v4/core/checks.js +405 -0
- package/dist/node_modules/zod/v4/core/checks.js.map +1 -0
- package/dist/node_modules/zod/v4/core/core.js +58 -0
- package/dist/node_modules/zod/v4/core/core.js.map +1 -0
- package/dist/node_modules/zod/v4/core/doc.js +38 -0
- package/dist/node_modules/zod/v4/core/doc.js.map +1 -0
- package/dist/node_modules/zod/v4/core/errors.js +82 -0
- package/dist/node_modules/zod/v4/core/errors.js.map +1 -0
- package/dist/node_modules/zod/v4/core/parse.js +60 -0
- package/dist/node_modules/zod/v4/core/parse.js.map +1 -0
- package/dist/node_modules/zod/v4/core/regexes.js +87 -0
- package/dist/node_modules/zod/v4/core/regexes.js.map +1 -0
- package/dist/node_modules/zod/v4/core/registries.js +52 -0
- package/dist/node_modules/zod/v4/core/registries.js.map +1 -0
- package/dist/node_modules/zod/v4/core/schemas.js +1283 -0
- package/dist/node_modules/zod/v4/core/schemas.js.map +1 -0
- package/dist/node_modules/zod/v4/core/util.js +341 -0
- package/dist/node_modules/zod/v4/core/util.js.map +1 -0
- package/dist/node_modules/zod/v4/core/versions.js +9 -0
- package/dist/node_modules/zod/v4/core/versions.js.map +1 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +2 -0
- package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/string.js.map +1 -0
- package/dist/reasoning/index.d.ts +74 -0
- package/dist/reasoning/index.d.ts.map +1 -0
- package/dist/reasoning/index.js +124 -0
- package/dist/reasoning/index.js.map +1 -0
- package/dist/reasoning/tracker.d.ts +210 -0
- package/dist/reasoning/tracker.d.ts.map +1 -0
- package/dist/reasoning/types.d.ts +146 -0
- package/dist/reasoning/types.d.ts.map +1 -0
- package/dist/recovery/backup.d.ts +110 -0
- package/dist/recovery/backup.d.ts.map +1 -0
- package/dist/recovery/index.d.ts +70 -0
- package/dist/recovery/index.d.ts.map +1 -0
- package/dist/recovery/index.js +186 -0
- package/dist/recovery/index.js.map +1 -0
- package/dist/recovery/integrity.d.ts +74 -0
- package/dist/recovery/integrity.d.ts.map +1 -0
- package/dist/recovery/types.d.ts +94 -0
- package/dist/recovery/types.d.ts.map +1 -0
- package/dist/services/index.d.ts +130 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +134 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/manager.d.ts +140 -0
- package/dist/services/manager.d.ts.map +1 -0
- package/dist/services/types.d.ts +106 -0
- package/dist/services/types.d.ts.map +1 -0
- package/dist/services/watchers.d.ts +95 -0
- package/dist/services/watchers.d.ts.map +1 -0
- package/dist/sops/compliance-checker.d.ts +83 -0
- package/dist/sops/compliance-checker.d.ts.map +1 -0
- package/dist/sops/compliance-checker.js +399 -0
- package/dist/sops/compliance-checker.js.map +1 -0
- package/dist/sops/gap-analyzer.d.ts +124 -0
- package/dist/sops/gap-analyzer.d.ts.map +1 -0
- package/dist/sops/gap-analyzer.js +313 -0
- package/dist/sops/gap-analyzer.js.map +1 -0
- package/dist/sops/index.d.ts +14 -0
- package/dist/sops/index.d.ts.map +1 -0
- package/dist/sops/overlay-manager.d.ts +115 -0
- package/dist/sops/overlay-manager.d.ts.map +1 -0
- package/dist/sops/overlay-manager.js +394 -0
- package/dist/sops/overlay-manager.js.map +1 -0
- package/dist/sops/registry.d.ts +73 -0
- package/dist/sops/registry.d.ts.map +1 -0
- package/dist/sops/registry.js +919 -0
- package/dist/sops/registry.js.map +1 -0
- package/dist/sops/types.d.ts +377 -0
- package/dist/sops/types.d.ts.map +1 -0
- package/dist/sops/types.js +46 -0
- package/dist/sops/types.js.map +1 -0
- package/dist/utils/error-recovery.d.ts +230 -0
- package/dist/utils/error-recovery.d.ts.map +1 -0
- package/dist/utils/error-recovery.js +228 -0
- package/dist/utils/error-recovery.js.map +1 -0
- package/dist/utils/error-taxonomy.d.ts +149 -0
- package/dist/utils/error-taxonomy.d.ts.map +1 -0
- package/dist/utils/error-taxonomy.js +260 -0
- package/dist/utils/error-taxonomy.js.map +1 -0
- package/dist/utils/index.d.ts +11 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/logger.d.ts +139 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +311 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/workflows/index.d.ts +11 -0
- package/dist/workflows/index.d.ts.map +1 -0
- package/dist/workflows/registry.d.ts +118 -0
- package/dist/workflows/registry.d.ts.map +1 -0
- package/dist/workflows/registry.js +575 -0
- package/dist/workflows/registry.js.map +1 -0
- package/dist/workflows/types.d.ts +322 -0
- package/dist/workflows/types.d.ts.map +1 -0
- package/dist/workflows/types.js +16 -0
- package/dist/workflows/types.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Text Chunker - Split large documents into manageable chunks
|
|
3
|
+
*
|
|
4
|
+
* Provides multiple chunking strategies for different content types:
|
|
5
|
+
* - Fixed: Simple character-based chunking with overlap
|
|
6
|
+
* - Semantic: Paragraph-based chunking respecting natural boundaries
|
|
7
|
+
* - Markdown: Respects markdown structure (headers, sections)
|
|
8
|
+
* - Code: Preserves code blocks and structure
|
|
9
|
+
* - Adaptive: Auto-selects the best strategy based on content
|
|
10
|
+
*
|
|
11
|
+
* @module chunking/chunker
|
|
12
|
+
*/
|
|
13
|
+
import type { ChunkOptions, ChunkResult, ChunkerConfig } from './types.js';
|
|
14
|
+
/**
|
|
15
|
+
* Text Chunker class
|
|
16
|
+
*
|
|
17
|
+
* Splits documents into chunks using various strategies.
|
|
18
|
+
* Maintains document structure and provides metadata for each chunk.
|
|
19
|
+
*/
|
|
20
|
+
export declare class Chunker {
|
|
21
|
+
private config;
|
|
22
|
+
private defaultOptions;
|
|
23
|
+
constructor(config?: Partial<ChunkerConfig>);
|
|
24
|
+
/**
|
|
25
|
+
* Chunk content using the specified or default strategy
|
|
26
|
+
*
|
|
27
|
+
* @param content - The content to chunk
|
|
28
|
+
* @param options - Chunking options
|
|
29
|
+
* @returns ChunkResult with all chunks and metadata
|
|
30
|
+
*/
|
|
31
|
+
chunk(content: string, options?: Partial<ChunkOptions>): ChunkResult;
|
|
32
|
+
/**
|
|
33
|
+
* Fixed-size chunking with optional overlap
|
|
34
|
+
*
|
|
35
|
+
* Simple character-based chunking. Best for uniform content
|
|
36
|
+
* where structure doesn't matter.
|
|
37
|
+
*/
|
|
38
|
+
private chunkFixed;
|
|
39
|
+
/**
|
|
40
|
+
* Semantic chunking based on paragraph boundaries
|
|
41
|
+
*
|
|
42
|
+
* Respects natural paragraph breaks (double newlines).
|
|
43
|
+
* Groups paragraphs until maxSize is reached.
|
|
44
|
+
*/
|
|
45
|
+
private chunkSemantic;
|
|
46
|
+
/**
|
|
47
|
+
* Markdown-aware chunking
|
|
48
|
+
*
|
|
49
|
+
* Respects markdown header structure. Each major section
|
|
50
|
+
* becomes its own chunk when possible.
|
|
51
|
+
*/
|
|
52
|
+
private chunkMarkdown;
|
|
53
|
+
/**
|
|
54
|
+
* Code-aware chunking
|
|
55
|
+
*
|
|
56
|
+
* Preserves code blocks (fenced with ```) as atomic units.
|
|
57
|
+
* Non-code sections are chunked semantically.
|
|
58
|
+
*/
|
|
59
|
+
private chunkCode;
|
|
60
|
+
/**
|
|
61
|
+
* Adaptive chunking - auto-selects best strategy
|
|
62
|
+
*
|
|
63
|
+
* Analyzes content to determine the best chunking strategy:
|
|
64
|
+
* - Code blocks present -> code strategy
|
|
65
|
+
* - Markdown headers present -> markdown strategy
|
|
66
|
+
* - Default -> semantic strategy
|
|
67
|
+
*/
|
|
68
|
+
private chunkAdaptive;
|
|
69
|
+
/**
|
|
70
|
+
* Create a chunk object with metadata
|
|
71
|
+
*/
|
|
72
|
+
private createChunk;
|
|
73
|
+
/**
|
|
74
|
+
* Detect content type from the content itself
|
|
75
|
+
*/
|
|
76
|
+
private detectType;
|
|
77
|
+
/**
|
|
78
|
+
* Get the current configuration
|
|
79
|
+
*/
|
|
80
|
+
getConfig(): ChunkerConfig;
|
|
81
|
+
/**
|
|
82
|
+
* Update configuration
|
|
83
|
+
*/
|
|
84
|
+
setConfig(config: Partial<ChunkerConfig>): void;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Create a new Chunker instance with optional configuration
|
|
88
|
+
*/
|
|
89
|
+
export declare function createChunker(config?: Partial<ChunkerConfig>): Chunker;
|
|
90
|
+
/**
|
|
91
|
+
* Convenience function to chunk a document without creating a Chunker instance
|
|
92
|
+
*/
|
|
93
|
+
export declare function chunkDocument(content: string, options?: Partial<ChunkOptions>): ChunkResult;
|
|
94
|
+
//# sourceMappingURL=chunker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../src/chunking/chunker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EACV,YAAY,EAGZ,WAAW,EACX,aAAa,EACd,MAAM,YAAY,CAAC;AAapB;;;;;GAKG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,cAAc,CAAe;gBAEzB,MAAM,GAAE,OAAO,CAAC,aAAa,CAAM;IAW/C;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,WAAW;IAqDpE;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAwBlB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAmCrB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IA4CrB;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAoDjB;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAkBrB;;OAEG;IACH,OAAO,CAAC,WAAW;IA+BnB;;OAEG;IACH,OAAO,CAAC,UAAU;IA4BlB;;OAEG;IACH,SAAS,IAAI,aAAa;IAI1B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;CAShD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAEtE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,WAAW,CAG3F"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Document Chunking Module
|
|
3
|
+
*
|
|
4
|
+
* Provides intelligent document chunking for RAG and vector search.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Chunking strategy
|
|
8
|
+
*/
|
|
9
|
+
export type ChunkStrategy = 'fixed' | 'sentence' | 'paragraph' | 'semantic' | 'markdown' | 'code';
|
|
10
|
+
/**
|
|
11
|
+
* Chunking options
|
|
12
|
+
*/
|
|
13
|
+
export interface ChunkOptions {
|
|
14
|
+
/** Chunking strategy */
|
|
15
|
+
strategy: ChunkStrategy;
|
|
16
|
+
/** Target chunk size in characters */
|
|
17
|
+
chunkSize?: number;
|
|
18
|
+
/** Overlap between chunks in characters */
|
|
19
|
+
overlap?: number;
|
|
20
|
+
/** Minimum chunk size */
|
|
21
|
+
minChunkSize?: number;
|
|
22
|
+
/** Maximum chunk size */
|
|
23
|
+
maxChunkSize?: number;
|
|
24
|
+
/** Include metadata in chunks */
|
|
25
|
+
includeMetadata?: boolean;
|
|
26
|
+
/** Preserve code blocks */
|
|
27
|
+
preserveCodeBlocks?: boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Chunk metadata
|
|
31
|
+
*/
|
|
32
|
+
export interface ChunkMetadata {
|
|
33
|
+
/** Source document path */
|
|
34
|
+
source: string;
|
|
35
|
+
/** Chunk index in document */
|
|
36
|
+
index: number;
|
|
37
|
+
/** Total chunks in document */
|
|
38
|
+
total: number;
|
|
39
|
+
/** Start position in original document */
|
|
40
|
+
startPosition: number;
|
|
41
|
+
/** End position in original document */
|
|
42
|
+
endPosition: number;
|
|
43
|
+
/** Heading hierarchy */
|
|
44
|
+
headings?: string[];
|
|
45
|
+
/** Code language (for code chunks) */
|
|
46
|
+
language?: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* A single chunk
|
|
50
|
+
*/
|
|
51
|
+
export interface Chunk {
|
|
52
|
+
/** Unique chunk ID */
|
|
53
|
+
id: string;
|
|
54
|
+
/** Chunk content */
|
|
55
|
+
content: string;
|
|
56
|
+
/** Chunk metadata */
|
|
57
|
+
metadata: ChunkMetadata;
|
|
58
|
+
/** Token count estimate */
|
|
59
|
+
tokenCount?: number;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Chunking result
|
|
63
|
+
*/
|
|
64
|
+
export interface ChunkResult {
|
|
65
|
+
/** Generated chunks */
|
|
66
|
+
chunks: Chunk[];
|
|
67
|
+
/** Original document length */
|
|
68
|
+
originalLength: number;
|
|
69
|
+
/** Strategy used */
|
|
70
|
+
strategy: ChunkStrategy;
|
|
71
|
+
/** Processing time in milliseconds */
|
|
72
|
+
processingTime: number;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Document Chunker for splitting documents into chunks
|
|
76
|
+
*/
|
|
77
|
+
export declare class Chunker {
|
|
78
|
+
private defaultOptions;
|
|
79
|
+
constructor(options?: Partial<ChunkOptions>);
|
|
80
|
+
/**
|
|
81
|
+
* Chunk a document
|
|
82
|
+
*/
|
|
83
|
+
chunk(content: string, source: string, options?: Partial<ChunkOptions>): ChunkResult;
|
|
84
|
+
/**
|
|
85
|
+
* Fixed-size chunking
|
|
86
|
+
*/
|
|
87
|
+
private chunkFixed;
|
|
88
|
+
/**
|
|
89
|
+
* Sentence-based chunking
|
|
90
|
+
*/
|
|
91
|
+
private chunkBySentence;
|
|
92
|
+
/**
|
|
93
|
+
* Paragraph-based chunking
|
|
94
|
+
*/
|
|
95
|
+
private chunkByParagraph;
|
|
96
|
+
/**
|
|
97
|
+
* Markdown-aware chunking
|
|
98
|
+
*/
|
|
99
|
+
private chunkByMarkdown;
|
|
100
|
+
/**
|
|
101
|
+
* Code-aware chunking
|
|
102
|
+
*/
|
|
103
|
+
private chunkByCode;
|
|
104
|
+
/**
|
|
105
|
+
* Semantic chunking (placeholder for more advanced implementation)
|
|
106
|
+
*/
|
|
107
|
+
private chunkSemantic;
|
|
108
|
+
/**
|
|
109
|
+
* Aggregate small chunks into larger ones
|
|
110
|
+
*/
|
|
111
|
+
private aggregateChunks;
|
|
112
|
+
/**
|
|
113
|
+
* Estimate token count
|
|
114
|
+
*/
|
|
115
|
+
private estimateTokens;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Create a new Chunker instance
|
|
119
|
+
*/
|
|
120
|
+
export declare function createChunker(options?: Partial<ChunkOptions>): Chunker;
|
|
121
|
+
/**
|
|
122
|
+
* Convenience function to chunk a document
|
|
123
|
+
*/
|
|
124
|
+
export declare function chunkDocument(content: string, source: string, options?: Partial<ChunkOptions>): ChunkResult;
|
|
125
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/chunking/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,OAAO,GACP,UAAU,GACV,WAAW,GACX,UAAU,GACV,UAAU,GACV,MAAM,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wBAAwB;IACxB,QAAQ,EAAE,aAAa,CAAC;IACxB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,2BAA2B;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,sBAAsB;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,QAAQ,EAAE,aAAa,CAAC;IACxB,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uBAAuB;IACvB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,+BAA+B;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB;IACpB,QAAQ,EAAE,aAAa,CAAC;IACxB,sCAAsC;IACtC,cAAc,EAAE,MAAM,CAAC;CACxB;AAMD;;GAEG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,cAAc,CAQpB;gBAEU,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;IAM3C;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,WAAW;IAoCpF;;OAEG;IACH,OAAO,CAAC,UAAU;IAqClB;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAgDvB;;OAEG;IACH,OAAO,CAAC,WAAW;IA4EnB;;OAEG;IACH,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAwDvB;;OAEG;IACH,OAAO,CAAC,cAAc;CAIvB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAEtE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAC9B,WAAW,CAGb"}
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
class Chunker {
|
|
2
|
+
defaultOptions = {
|
|
3
|
+
strategy: "paragraph",
|
|
4
|
+
chunkSize: 1e3,
|
|
5
|
+
overlap: 100,
|
|
6
|
+
minChunkSize: 100,
|
|
7
|
+
maxChunkSize: 2e3,
|
|
8
|
+
includeMetadata: true,
|
|
9
|
+
preserveCodeBlocks: true
|
|
10
|
+
};
|
|
11
|
+
constructor(options) {
|
|
12
|
+
if (options) {
|
|
13
|
+
this.defaultOptions = { ...this.defaultOptions, ...options };
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Chunk a document
|
|
18
|
+
*/
|
|
19
|
+
chunk(content, source, options) {
|
|
20
|
+
const startTime = Date.now();
|
|
21
|
+
const opts = { ...this.defaultOptions, ...options };
|
|
22
|
+
let chunks;
|
|
23
|
+
switch (opts.strategy) {
|
|
24
|
+
case "fixed":
|
|
25
|
+
chunks = this.chunkFixed(content, source, opts);
|
|
26
|
+
break;
|
|
27
|
+
case "sentence":
|
|
28
|
+
chunks = this.chunkBySentence(content, source, opts);
|
|
29
|
+
break;
|
|
30
|
+
case "paragraph":
|
|
31
|
+
chunks = this.chunkByParagraph(content, source, opts);
|
|
32
|
+
break;
|
|
33
|
+
case "markdown":
|
|
34
|
+
chunks = this.chunkByMarkdown(content, source, opts);
|
|
35
|
+
break;
|
|
36
|
+
case "code":
|
|
37
|
+
chunks = this.chunkByCode(content, source, opts);
|
|
38
|
+
break;
|
|
39
|
+
case "semantic":
|
|
40
|
+
chunks = this.chunkSemantic(content, source, opts);
|
|
41
|
+
break;
|
|
42
|
+
default:
|
|
43
|
+
chunks = this.chunkByParagraph(content, source, opts);
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
chunks,
|
|
47
|
+
originalLength: content.length,
|
|
48
|
+
strategy: opts.strategy,
|
|
49
|
+
processingTime: Date.now() - startTime
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Fixed-size chunking
|
|
54
|
+
*/
|
|
55
|
+
chunkFixed(content, source, opts) {
|
|
56
|
+
const chunks = [];
|
|
57
|
+
const chunkSize = opts.chunkSize || 1e3;
|
|
58
|
+
const overlap = opts.overlap || 0;
|
|
59
|
+
let position = 0;
|
|
60
|
+
let index = 0;
|
|
61
|
+
while (position < content.length) {
|
|
62
|
+
const end = Math.min(position + chunkSize, content.length);
|
|
63
|
+
const chunkContent = content.slice(position, end);
|
|
64
|
+
chunks.push({
|
|
65
|
+
id: `${source}-${index}`,
|
|
66
|
+
content: chunkContent,
|
|
67
|
+
metadata: {
|
|
68
|
+
source,
|
|
69
|
+
index,
|
|
70
|
+
total: 0,
|
|
71
|
+
// Will be updated after
|
|
72
|
+
startPosition: position,
|
|
73
|
+
endPosition: end
|
|
74
|
+
},
|
|
75
|
+
tokenCount: this.estimateTokens(chunkContent)
|
|
76
|
+
});
|
|
77
|
+
position = end - overlap;
|
|
78
|
+
index++;
|
|
79
|
+
}
|
|
80
|
+
chunks.forEach((chunk) => {
|
|
81
|
+
chunk.metadata.total = chunks.length;
|
|
82
|
+
});
|
|
83
|
+
return chunks;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Sentence-based chunking
|
|
87
|
+
*/
|
|
88
|
+
chunkBySentence(content, source, opts) {
|
|
89
|
+
const sentences = content.split(/(?<=[.!?])\s+/);
|
|
90
|
+
return this.aggregateChunks(sentences, source, opts);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Paragraph-based chunking
|
|
94
|
+
*/
|
|
95
|
+
chunkByParagraph(content, source, opts) {
|
|
96
|
+
const paragraphs = content.split(/\n\n+/);
|
|
97
|
+
return this.aggregateChunks(paragraphs, source, opts);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Markdown-aware chunking
|
|
101
|
+
*/
|
|
102
|
+
chunkByMarkdown(content, source, opts) {
|
|
103
|
+
const sections = [];
|
|
104
|
+
const headings = [];
|
|
105
|
+
const headerRegex = /^(#{1,6})\s+(.+)$/gm;
|
|
106
|
+
let lastIndex = 0;
|
|
107
|
+
let currentHeadings = [];
|
|
108
|
+
let match;
|
|
109
|
+
while ((match = headerRegex.exec(content)) !== null) {
|
|
110
|
+
if (lastIndex < match.index) {
|
|
111
|
+
sections.push(content.slice(lastIndex, match.index).trim());
|
|
112
|
+
headings.push([...currentHeadings]);
|
|
113
|
+
}
|
|
114
|
+
const level = match[1].length;
|
|
115
|
+
const heading = match[2];
|
|
116
|
+
currentHeadings = currentHeadings.slice(0, level - 1);
|
|
117
|
+
currentHeadings[level - 1] = heading;
|
|
118
|
+
lastIndex = match.index;
|
|
119
|
+
}
|
|
120
|
+
if (lastIndex < content.length) {
|
|
121
|
+
sections.push(content.slice(lastIndex).trim());
|
|
122
|
+
headings.push([...currentHeadings]);
|
|
123
|
+
}
|
|
124
|
+
return sections.filter((s) => s.length > 0).map((section, index) => ({
|
|
125
|
+
id: `${source}-${index}`,
|
|
126
|
+
content: section,
|
|
127
|
+
metadata: {
|
|
128
|
+
source,
|
|
129
|
+
index,
|
|
130
|
+
total: sections.length,
|
|
131
|
+
startPosition: 0,
|
|
132
|
+
endPosition: section.length,
|
|
133
|
+
headings: headings[index]
|
|
134
|
+
},
|
|
135
|
+
tokenCount: this.estimateTokens(section)
|
|
136
|
+
}));
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Code-aware chunking
|
|
140
|
+
*/
|
|
141
|
+
chunkByCode(content, source, opts) {
|
|
142
|
+
const chunks = [];
|
|
143
|
+
const codeBlockRegex = /```(\w+)?\n([\s\S]*?)```/g;
|
|
144
|
+
let lastIndex = 0;
|
|
145
|
+
let index = 0;
|
|
146
|
+
let match;
|
|
147
|
+
while ((match = codeBlockRegex.exec(content)) !== null) {
|
|
148
|
+
if (lastIndex < match.index) {
|
|
149
|
+
const textContent = content.slice(lastIndex, match.index).trim();
|
|
150
|
+
if (textContent) {
|
|
151
|
+
chunks.push({
|
|
152
|
+
id: `${source}-${index}`,
|
|
153
|
+
content: textContent,
|
|
154
|
+
metadata: {
|
|
155
|
+
source,
|
|
156
|
+
index,
|
|
157
|
+
total: 0,
|
|
158
|
+
startPosition: lastIndex,
|
|
159
|
+
endPosition: match.index
|
|
160
|
+
},
|
|
161
|
+
tokenCount: this.estimateTokens(textContent)
|
|
162
|
+
});
|
|
163
|
+
index++;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
const language = match[1] || "unknown";
|
|
167
|
+
const codeContent = match[2].trim();
|
|
168
|
+
chunks.push({
|
|
169
|
+
id: `${source}-${index}`,
|
|
170
|
+
content: codeContent,
|
|
171
|
+
metadata: {
|
|
172
|
+
source,
|
|
173
|
+
index,
|
|
174
|
+
total: 0,
|
|
175
|
+
startPosition: match.index,
|
|
176
|
+
endPosition: match.index + match[0].length,
|
|
177
|
+
language
|
|
178
|
+
},
|
|
179
|
+
tokenCount: this.estimateTokens(codeContent)
|
|
180
|
+
});
|
|
181
|
+
index++;
|
|
182
|
+
lastIndex = match.index + match[0].length;
|
|
183
|
+
}
|
|
184
|
+
if (lastIndex < content.length) {
|
|
185
|
+
const textContent = content.slice(lastIndex).trim();
|
|
186
|
+
if (textContent) {
|
|
187
|
+
chunks.push({
|
|
188
|
+
id: `${source}-${index}`,
|
|
189
|
+
content: textContent,
|
|
190
|
+
metadata: {
|
|
191
|
+
source,
|
|
192
|
+
index,
|
|
193
|
+
total: 0,
|
|
194
|
+
startPosition: lastIndex,
|
|
195
|
+
endPosition: content.length
|
|
196
|
+
},
|
|
197
|
+
tokenCount: this.estimateTokens(textContent)
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
chunks.forEach((chunk) => {
|
|
202
|
+
chunk.metadata.total = chunks.length;
|
|
203
|
+
});
|
|
204
|
+
return chunks;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Semantic chunking (placeholder for more advanced implementation)
|
|
208
|
+
*/
|
|
209
|
+
chunkSemantic(content, source, opts) {
|
|
210
|
+
return this.chunkByParagraph(content, source, opts);
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Aggregate small chunks into larger ones
|
|
214
|
+
*/
|
|
215
|
+
aggregateChunks(parts, source, opts) {
|
|
216
|
+
const chunks = [];
|
|
217
|
+
const chunkSize = opts.chunkSize || 1e3;
|
|
218
|
+
const minSize = opts.minChunkSize || 100;
|
|
219
|
+
let currentContent = "";
|
|
220
|
+
let index = 0;
|
|
221
|
+
let startPos = 0;
|
|
222
|
+
for (const part of parts) {
|
|
223
|
+
const trimmedPart = part.trim();
|
|
224
|
+
if (!trimmedPart) continue;
|
|
225
|
+
if (currentContent.length + trimmedPart.length > chunkSize && currentContent.length >= minSize) {
|
|
226
|
+
chunks.push({
|
|
227
|
+
id: `${source}-${index}`,
|
|
228
|
+
content: currentContent.trim(),
|
|
229
|
+
metadata: {
|
|
230
|
+
source,
|
|
231
|
+
index,
|
|
232
|
+
total: 0,
|
|
233
|
+
startPosition: startPos,
|
|
234
|
+
endPosition: startPos + currentContent.length
|
|
235
|
+
},
|
|
236
|
+
tokenCount: this.estimateTokens(currentContent)
|
|
237
|
+
});
|
|
238
|
+
index++;
|
|
239
|
+
startPos += currentContent.length;
|
|
240
|
+
currentContent = trimmedPart;
|
|
241
|
+
} else {
|
|
242
|
+
currentContent += (currentContent ? "\n\n" : "") + trimmedPart;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
if (currentContent.trim()) {
|
|
246
|
+
chunks.push({
|
|
247
|
+
id: `${source}-${index}`,
|
|
248
|
+
content: currentContent.trim(),
|
|
249
|
+
metadata: {
|
|
250
|
+
source,
|
|
251
|
+
index,
|
|
252
|
+
total: 0,
|
|
253
|
+
startPosition: startPos,
|
|
254
|
+
endPosition: startPos + currentContent.length
|
|
255
|
+
},
|
|
256
|
+
tokenCount: this.estimateTokens(currentContent)
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
chunks.forEach((chunk) => {
|
|
260
|
+
chunk.metadata.total = chunks.length;
|
|
261
|
+
});
|
|
262
|
+
return chunks;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Estimate token count
|
|
266
|
+
*/
|
|
267
|
+
estimateTokens(content) {
|
|
268
|
+
return Math.ceil(content.length / 4);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
function createChunker(options) {
|
|
272
|
+
return new Chunker(options);
|
|
273
|
+
}
|
|
274
|
+
function chunkDocument(content, source, options) {
|
|
275
|
+
const chunker = new Chunker(options);
|
|
276
|
+
return chunker.chunk(content, source, options);
|
|
277
|
+
}
|
|
278
|
+
export {
|
|
279
|
+
Chunker,
|
|
280
|
+
chunkDocument,
|
|
281
|
+
createChunker
|
|
282
|
+
};
|
|
283
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/chunking/index.ts"],"sourcesContent":["/**\n * Document Chunking Module\n *\n * Provides intelligent document chunking for RAG and vector search.\n */\n\n// ============================================================================\n// Types\n// ============================================================================\n\n/**\n * Chunking strategy\n */\nexport type ChunkStrategy =\n | 'fixed' // Fixed size chunks\n | 'sentence' // Sentence-based chunks\n | 'paragraph' // Paragraph-based chunks\n | 'semantic' // Semantic-based chunks\n | 'markdown' // Markdown structure-aware chunks\n | 'code'; // Code-aware chunks\n\n/**\n * Chunking options\n */\nexport interface ChunkOptions {\n /** Chunking strategy */\n strategy: ChunkStrategy;\n /** Target chunk size in characters */\n chunkSize?: number;\n /** Overlap between chunks in characters */\n overlap?: number;\n /** Minimum chunk size */\n minChunkSize?: number;\n /** Maximum chunk size */\n maxChunkSize?: number;\n /** Include metadata in chunks */\n includeMetadata?: boolean;\n /** Preserve code blocks */\n preserveCodeBlocks?: boolean;\n}\n\n/**\n * Chunk metadata\n */\nexport interface ChunkMetadata {\n /** Source document path */\n source: string;\n /** Chunk index in document */\n index: number;\n /** Total chunks in document */\n total: number;\n /** Start position in original document */\n startPosition: number;\n /** End position in original document */\n endPosition: number;\n /** Heading hierarchy */\n headings?: string[];\n /** Code language (for code chunks) */\n language?: string;\n}\n\n/**\n * A single chunk\n */\nexport interface Chunk {\n /** Unique chunk ID */\n id: string;\n /** Chunk content */\n content: string;\n /** Chunk metadata */\n metadata: ChunkMetadata;\n /** Token count estimate */\n tokenCount?: number;\n}\n\n/**\n * Chunking result\n */\nexport interface ChunkResult {\n /** Generated chunks */\n chunks: Chunk[];\n /** Original document length */\n originalLength: number;\n /** Strategy used */\n strategy: ChunkStrategy;\n /** Processing time in milliseconds */\n processingTime: number;\n}\n\n// ============================================================================\n// Chunker Implementation\n// ============================================================================\n\n/**\n * Document Chunker for splitting documents into chunks\n */\nexport class Chunker {\n private defaultOptions: ChunkOptions = {\n strategy: 'paragraph',\n chunkSize: 1000,\n overlap: 100,\n minChunkSize: 100,\n maxChunkSize: 2000,\n includeMetadata: true,\n preserveCodeBlocks: true,\n };\n\n constructor(options?: Partial<ChunkOptions>) {\n if (options) {\n this.defaultOptions = { ...this.defaultOptions, ...options };\n }\n }\n\n /**\n * Chunk a document\n */\n chunk(content: string, source: string, options?: Partial<ChunkOptions>): ChunkResult {\n const startTime = Date.now();\n const opts = { ...this.defaultOptions, ...options };\n\n let chunks: Chunk[];\n switch (opts.strategy) {\n case 'fixed':\n chunks = this.chunkFixed(content, source, opts);\n break;\n case 'sentence':\n chunks = this.chunkBySentence(content, source, opts);\n break;\n case 'paragraph':\n chunks = this.chunkByParagraph(content, source, opts);\n break;\n case 'markdown':\n chunks = this.chunkByMarkdown(content, source, opts);\n break;\n case 'code':\n chunks = this.chunkByCode(content, source, opts);\n break;\n case 'semantic':\n chunks = this.chunkSemantic(content, source, opts);\n break;\n default:\n chunks = this.chunkByParagraph(content, source, opts);\n }\n\n return {\n chunks,\n originalLength: content.length,\n strategy: opts.strategy,\n processingTime: Date.now() - startTime,\n };\n }\n\n /**\n * Fixed-size chunking\n */\n private chunkFixed(content: string, source: string, opts: ChunkOptions): Chunk[] {\n const chunks: Chunk[] = [];\n const chunkSize = opts.chunkSize || 1000;\n const overlap = opts.overlap || 0;\n\n let position = 0;\n let index = 0;\n\n while (position < content.length) {\n const end = Math.min(position + chunkSize, content.length);\n const chunkContent = content.slice(position, end);\n\n chunks.push({\n id: `${source}-${index}`,\n content: chunkContent,\n metadata: {\n source,\n index,\n total: 0, // Will be updated after\n startPosition: position,\n endPosition: end,\n },\n tokenCount: this.estimateTokens(chunkContent),\n });\n\n position = end - overlap;\n index++;\n }\n\n // Update total count\n chunks.forEach((chunk) => {\n chunk.metadata.total = chunks.length;\n });\n\n return chunks;\n }\n\n /**\n * Sentence-based chunking\n */\n private chunkBySentence(content: string, source: string, opts: ChunkOptions): Chunk[] {\n const sentences = content.split(/(?<=[.!?])\\s+/);\n return this.aggregateChunks(sentences, source, opts);\n }\n\n /**\n * Paragraph-based chunking\n */\n private chunkByParagraph(content: string, source: string, opts: ChunkOptions): Chunk[] {\n const paragraphs = content.split(/\\n\\n+/);\n return this.aggregateChunks(paragraphs, source, opts);\n }\n\n /**\n * Markdown-aware chunking\n */\n private chunkByMarkdown(content: string, source: string, opts: ChunkOptions): Chunk[] {\n const sections: string[] = [];\n const headings: string[][] = [];\n\n // Split by headers\n const headerRegex = /^(#{1,6})\\s+(.+)$/gm;\n let lastIndex = 0;\n let currentHeadings: string[] = [];\n let match;\n\n while ((match = headerRegex.exec(content)) !== null) {\n if (lastIndex < match.index) {\n sections.push(content.slice(lastIndex, match.index).trim());\n headings.push([...currentHeadings]);\n }\n\n const level = match[1].length;\n const heading = match[2];\n\n // Update heading hierarchy\n currentHeadings = currentHeadings.slice(0, level - 1);\n currentHeadings[level - 1] = heading;\n\n lastIndex = match.index;\n }\n\n if (lastIndex < content.length) {\n sections.push(content.slice(lastIndex).trim());\n headings.push([...currentHeadings]);\n }\n\n return sections\n .filter((s) => s.length > 0)\n .map((section, index) => ({\n id: `${source}-${index}`,\n content: section,\n metadata: {\n source,\n index,\n total: sections.length,\n startPosition: 0,\n endPosition: section.length,\n headings: headings[index],\n },\n tokenCount: this.estimateTokens(section),\n }));\n }\n\n /**\n * Code-aware chunking\n */\n private chunkByCode(content: string, source: string, opts: ChunkOptions): Chunk[] {\n const chunks: Chunk[] = [];\n const codeBlockRegex = /```(\\w+)?\\n([\\s\\S]*?)```/g;\n\n let lastIndex = 0;\n let index = 0;\n let match;\n\n while ((match = codeBlockRegex.exec(content)) !== null) {\n // Add text before code block\n if (lastIndex < match.index) {\n const textContent = content.slice(lastIndex, match.index).trim();\n if (textContent) {\n chunks.push({\n id: `${source}-${index}`,\n content: textContent,\n metadata: {\n source,\n index,\n total: 0,\n startPosition: lastIndex,\n endPosition: match.index,\n },\n tokenCount: this.estimateTokens(textContent),\n });\n index++;\n }\n }\n\n // Add code block\n const language = match[1] || 'unknown';\n const codeContent = match[2].trim();\n chunks.push({\n id: `${source}-${index}`,\n content: codeContent,\n metadata: {\n source,\n index,\n total: 0,\n startPosition: match.index,\n endPosition: match.index + match[0].length,\n language,\n },\n tokenCount: this.estimateTokens(codeContent),\n });\n index++;\n lastIndex = match.index + match[0].length;\n }\n\n // Add remaining text\n if (lastIndex < content.length) {\n const textContent = content.slice(lastIndex).trim();\n if (textContent) {\n chunks.push({\n id: `${source}-${index}`,\n content: textContent,\n metadata: {\n source,\n index,\n total: 0,\n startPosition: lastIndex,\n endPosition: content.length,\n },\n tokenCount: this.estimateTokens(textContent),\n });\n }\n }\n\n // Update totals\n chunks.forEach((chunk) => {\n chunk.metadata.total = chunks.length;\n });\n\n return chunks;\n }\n\n /**\n * Semantic chunking (placeholder for more advanced implementation)\n */\n private chunkSemantic(content: string, source: string, opts: ChunkOptions): Chunk[] {\n // For now, fall back to paragraph chunking\n // Future: Use embeddings to find semantic boundaries\n return this.chunkByParagraph(content, source, opts);\n }\n\n /**\n * Aggregate small chunks into larger ones\n */\n private aggregateChunks(parts: string[], source: string, opts: ChunkOptions): Chunk[] {\n const chunks: Chunk[] = [];\n const chunkSize = opts.chunkSize || 1000;\n const minSize = opts.minChunkSize || 100;\n\n let currentContent = '';\n let index = 0;\n let startPos = 0;\n\n for (const part of parts) {\n const trimmedPart = part.trim();\n if (!trimmedPart) continue;\n\n if (currentContent.length + trimmedPart.length > chunkSize && currentContent.length >= minSize) {\n chunks.push({\n id: `${source}-${index}`,\n content: currentContent.trim(),\n metadata: {\n source,\n index,\n total: 0,\n startPosition: startPos,\n endPosition: startPos + currentContent.length,\n },\n tokenCount: this.estimateTokens(currentContent),\n });\n index++;\n startPos += currentContent.length;\n currentContent = trimmedPart;\n } else {\n currentContent += (currentContent ? '\\n\\n' : '') + trimmedPart;\n }\n }\n\n if (currentContent.trim()) {\n chunks.push({\n id: `${source}-${index}`,\n content: currentContent.trim(),\n metadata: {\n source,\n index,\n total: 0,\n startPosition: startPos,\n endPosition: startPos + currentContent.length,\n },\n tokenCount: this.estimateTokens(currentContent),\n });\n }\n\n chunks.forEach((chunk) => {\n chunk.metadata.total = chunks.length;\n });\n\n return chunks;\n }\n\n /**\n * Estimate token count\n */\n private estimateTokens(content: string): number {\n // Rough estimation: ~4 characters per token for English\n return Math.ceil(content.length / 4);\n }\n}\n\n/**\n * Create a new Chunker instance\n */\nexport function createChunker(options?: Partial<ChunkOptions>): Chunker {\n return new Chunker(options);\n}\n\n/**\n * Convenience function to chunk a document\n */\nexport function chunkDocument(\n content: string,\n source: string,\n options?: Partial<ChunkOptions>\n): ChunkResult {\n const chunker = new Chunker(options);\n return chunker.chunk(content, source, options);\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chunking System Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the document chunking system.
|
|
5
|
+
* Supports multiple chunking strategies for different content types.
|
|
6
|
+
*
|
|
7
|
+
* @module chunking/types
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Available chunking strategies
|
|
11
|
+
*
|
|
12
|
+
* - fixed: Fixed-size chunks with optional overlap
|
|
13
|
+
* - semantic: Paragraph-based semantic boundaries
|
|
14
|
+
* - markdown: Respects markdown header structure
|
|
15
|
+
* - code: Preserves code blocks and structure
|
|
16
|
+
* - adaptive: Auto-selects best strategy based on content
|
|
17
|
+
*/
|
|
18
|
+
export type ChunkStrategy = 'fixed' | 'semantic' | 'markdown' | 'code' | 'adaptive';
|
|
19
|
+
/**
|
|
20
|
+
* Configuration options for chunking
|
|
21
|
+
*/
|
|
22
|
+
export interface ChunkOptions {
|
|
23
|
+
/** Chunking strategy to use */
|
|
24
|
+
strategy: ChunkStrategy;
|
|
25
|
+
/** Maximum chunk size in characters */
|
|
26
|
+
maxSize: number;
|
|
27
|
+
/** Minimum chunk size in characters (chunks smaller than this may be merged) */
|
|
28
|
+
minSize?: number;
|
|
29
|
+
/** Number of characters to overlap between chunks */
|
|
30
|
+
overlap?: number;
|
|
31
|
+
/** Whether to preserve document structure (headers, code blocks, etc.) */
|
|
32
|
+
preserveStructure?: boolean;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* A single chunk of content
|
|
36
|
+
*/
|
|
37
|
+
export interface Chunk {
|
|
38
|
+
/** Unique identifier for this chunk (hash-based) */
|
|
39
|
+
id: string;
|
|
40
|
+
/** The content of the chunk */
|
|
41
|
+
content: string;
|
|
42
|
+
/** Start offset in the original document */
|
|
43
|
+
startOffset: number;
|
|
44
|
+
/** End offset in the original document */
|
|
45
|
+
endOffset: number;
|
|
46
|
+
/** Metadata about the chunk */
|
|
47
|
+
metadata: ChunkMetadata;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Metadata about a chunk
|
|
51
|
+
*/
|
|
52
|
+
export interface ChunkMetadata {
|
|
53
|
+
/** Type of content in the chunk */
|
|
54
|
+
type: 'header' | 'paragraph' | 'code' | 'list' | 'mixed';
|
|
55
|
+
/** Header level (1-6) if type is 'header' */
|
|
56
|
+
level?: number;
|
|
57
|
+
/** Programming language if type is 'code' */
|
|
58
|
+
language?: string;
|
|
59
|
+
/** Word count in the chunk */
|
|
60
|
+
wordCount: number;
|
|
61
|
+
/** Line count in the chunk */
|
|
62
|
+
lineCount: number;
|
|
63
|
+
/** Whether the chunk contains links (wiki-style or markdown) */
|
|
64
|
+
hasLinks: boolean;
|
|
65
|
+
/** Parent chunk ID if this is a sub-chunk */
|
|
66
|
+
parentChunkId?: string;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Result of a chunking operation
|
|
70
|
+
*/
|
|
71
|
+
export interface ChunkResult {
|
|
72
|
+
/** Array of generated chunks */
|
|
73
|
+
chunks: Chunk[];
|
|
74
|
+
/** Total size of the original content */
|
|
75
|
+
totalSize: number;
|
|
76
|
+
/** Strategy that was used */
|
|
77
|
+
strategy: ChunkStrategy;
|
|
78
|
+
/** Time taken to process in milliseconds */
|
|
79
|
+
processingTime: number;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Chunker configuration
|
|
83
|
+
*/
|
|
84
|
+
export interface ChunkerConfig {
|
|
85
|
+
/** Default strategy to use when none specified */
|
|
86
|
+
defaultStrategy: ChunkStrategy;
|
|
87
|
+
/** Default maximum chunk size */
|
|
88
|
+
defaultMaxSize: number;
|
|
89
|
+
/** Default overlap between chunks */
|
|
90
|
+
defaultOverlap: number;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/chunking/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,+BAA+B;IAC/B,QAAQ,EAAE,aAAa,CAAC;IAExB,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAEhB,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,oDAAoD;IACpD,EAAE,EAAE,MAAM,CAAC;IAEX,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAEhB,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IAEpB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAElB,+BAA+B;IAC/B,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAEzD,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAElB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAElB,gEAAgE;IAChE,QAAQ,EAAE,OAAO,CAAC;IAElB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,MAAM,EAAE,KAAK,EAAE,CAAC;IAEhB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAElB,6BAA6B;IAC7B,QAAQ,EAAE,aAAa,CAAC;IAExB,4CAA4C;IAC5C,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,eAAe,EAAE,aAAa,CAAC;IAE/B,iCAAiC;IACjC,cAAc,EAAE,MAAM,CAAC;IAEvB,qCAAqC;IACrC,cAAc,EAAE,MAAM,CAAC;CACxB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Commit Command
|
|
3
|
+
*
|
|
4
|
+
* CLI command for creating commits with optional AI-powered message generation.
|
|
5
|
+
*/
|
|
6
|
+
import { Command } from 'commander';
|
|
7
|
+
/**
|
|
8
|
+
* Create commit command
|
|
9
|
+
*/
|
|
10
|
+
export declare function createCommitCommand(): Command;
|
|
11
|
+
//# sourceMappingURL=commit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/commit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsTpC;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAyM7C"}
|