@agntk/core 0.3.5 → 1.1.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 +39 -38
- package/dist/advanced/index.d.ts +13 -22
- package/dist/advanced/index.d.ts.map +1 -1
- package/dist/advanced/index.js +10 -55
- package/dist/advanced/index.js.map +1 -1
- package/dist/agent-v2.d.ts +48 -0
- package/dist/agent-v2.d.ts.map +1 -0
- package/dist/agent-v2.js +365 -0
- package/dist/agent-v2.js.map +1 -0
- package/dist/agent.d.ts +0 -40
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +103 -99
- package/dist/agent.js.map +1 -1
- package/dist/config/defaults.d.ts +1 -5
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +1 -11
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/index.d.ts +5 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +7 -7
- package/dist/config/index.js.map +1 -1
- package/dist/config/loader.d.ts +0 -40
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +3 -80
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +117 -788
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +52 -63
- package/dist/config/schema.js.map +1 -1
- package/dist/constants.d.ts +0 -11
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +0 -17
- package/dist/constants.js.map +1 -1
- package/dist/evals/assertions.d.ts +0 -35
- package/dist/evals/assertions.d.ts.map +1 -1
- package/dist/evals/assertions.js +0 -51
- package/dist/evals/assertions.js.map +1 -1
- package/dist/evals/index.d.ts +0 -5
- package/dist/evals/index.d.ts.map +1 -1
- package/dist/evals/index.js +0 -5
- package/dist/evals/index.js.map +1 -1
- package/dist/evals/runner.d.ts +0 -27
- package/dist/evals/runner.d.ts.map +1 -1
- package/dist/evals/runner.js +3 -45
- package/dist/evals/runner.js.map +1 -1
- package/dist/evals/types.d.ts +0 -14
- package/dist/evals/types.d.ts.map +1 -1
- package/dist/evals/types.js +0 -3
- package/dist/evals/types.js.map +1 -1
- package/dist/guardrails/built-ins.d.ts +0 -28
- package/dist/guardrails/built-ins.d.ts.map +1 -1
- package/dist/guardrails/built-ins.js +21 -47
- package/dist/guardrails/built-ins.js.map +1 -1
- package/dist/guardrails/index.d.ts +1 -4
- package/dist/guardrails/index.d.ts.map +1 -1
- package/dist/guardrails/index.js +1 -4
- package/dist/guardrails/index.js.map +1 -1
- package/dist/guardrails/runner.d.ts +0 -30
- package/dist/guardrails/runner.d.ts.map +1 -1
- package/dist/guardrails/runner.js +1 -46
- package/dist/guardrails/runner.js.map +1 -1
- package/dist/guardrails/types.d.ts +0 -35
- package/dist/guardrails/types.d.ts.map +1 -1
- package/dist/guardrails/types.js +4 -7
- package/dist/guardrails/types.js.map +1 -1
- package/dist/index.d.ts +3 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -27
- package/dist/index.js.map +1 -1
- package/dist/memory/engine.d.ts +130 -0
- package/dist/memory/engine.d.ts.map +1 -0
- package/dist/memory/engine.js +227 -0
- package/dist/memory/engine.js.map +1 -0
- package/dist/memory/loader.d.ts +0 -17
- package/dist/memory/loader.d.ts.map +1 -1
- package/dist/memory/loader.js +5 -27
- package/dist/memory/loader.js.map +1 -1
- package/dist/memory/store.d.ts +8 -16
- package/dist/memory/store.d.ts.map +1 -1
- package/dist/memory/store.js +101 -32
- package/dist/memory/store.js.map +1 -1
- package/dist/memory/types.d.ts +10 -30
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/memory/types.js +0 -6
- package/dist/memory/types.js.map +1 -1
- package/dist/memory/vectra-store.d.ts +31 -0
- package/dist/memory/vectra-store.d.ts.map +1 -0
- package/dist/memory/vectra-store.js +122 -0
- package/dist/memory/vectra-store.js.map +1 -0
- package/dist/models.d.ts +9 -32
- package/dist/models.d.ts.map +1 -1
- package/dist/models.js +25 -68
- package/dist/models.js.map +1 -1
- package/dist/observability/index.d.ts +0 -3
- package/dist/observability/index.d.ts.map +1 -1
- package/dist/observability/index.js +0 -3
- package/dist/observability/index.js.map +1 -1
- package/dist/observability/langfuse.d.ts +0 -38
- package/dist/observability/langfuse.d.ts.map +1 -1
- package/dist/observability/langfuse.js +6 -55
- package/dist/observability/langfuse.js.map +1 -1
- package/dist/observability/types.d.ts +0 -21
- package/dist/observability/types.d.ts.map +1 -1
- package/dist/observability/types.js +0 -3
- package/dist/observability/types.js.map +1 -1
- package/dist/pool/index.d.ts +7 -0
- package/dist/pool/index.d.ts.map +1 -0
- package/dist/pool/index.js +6 -0
- package/dist/pool/index.js.map +1 -0
- package/dist/pool/specialist-pool.d.ts +59 -0
- package/dist/pool/specialist-pool.d.ts.map +1 -0
- package/dist/pool/specialist-pool.js +224 -0
- package/dist/pool/specialist-pool.js.map +1 -0
- package/dist/pool/tools.d.ts +63 -0
- package/dist/pool/tools.d.ts.map +1 -0
- package/dist/pool/tools.js +83 -0
- package/dist/pool/tools.js.map +1 -0
- package/dist/pool/types.d.ts +79 -0
- package/dist/pool/types.d.ts.map +1 -0
- package/dist/pool/types.js +5 -0
- package/dist/pool/types.js.map +1 -0
- package/dist/presets/index.d.ts +5 -0
- package/dist/presets/index.d.ts.map +1 -0
- package/dist/presets/index.js +5 -0
- package/dist/presets/index.js.map +1 -0
- package/dist/presets/role-registry.d.ts +41 -0
- package/dist/presets/role-registry.d.ts.map +1 -0
- package/dist/presets/role-registry.js +213 -0
- package/dist/presets/role-registry.js.map +1 -0
- package/dist/presets/roles.d.ts +105 -0
- package/dist/presets/roles.d.ts.map +1 -0
- package/dist/presets/roles.js +207 -0
- package/dist/presets/roles.js.map +1 -0
- package/dist/presets/tool-preset-registry.d.ts +0 -21
- package/dist/presets/tool-preset-registry.d.ts.map +1 -1
- package/dist/presets/tool-preset-registry.js +15 -34
- package/dist/presets/tool-preset-registry.js.map +1 -1
- package/dist/presets/tools.d.ts +44 -42
- package/dist/presets/tools.d.ts.map +1 -1
- package/dist/presets/tools.js +46 -40
- package/dist/presets/tools.js.map +1 -1
- package/dist/prompts/context.d.ts +0 -4
- package/dist/prompts/context.d.ts.map +1 -1
- package/dist/prompts/context.js +21 -33
- package/dist/prompts/context.js.map +1 -1
- package/dist/prompts/template.d.ts +0 -11
- package/dist/prompts/template.d.ts.map +1 -1
- package/dist/prompts/template.js +4 -14
- package/dist/prompts/template.js.map +1 -1
- package/dist/prompts/templates.d.ts +11 -0
- package/dist/prompts/templates.d.ts.map +1 -0
- package/dist/prompts/templates.js +115 -0
- package/dist/prompts/templates.js.map +1 -0
- package/dist/provider-resolver.d.ts +0 -29
- package/dist/provider-resolver.d.ts.map +1 -1
- package/dist/provider-resolver.js +17 -61
- package/dist/provider-resolver.js.map +1 -1
- package/dist/reflection.d.ts +0 -34
- package/dist/reflection.d.ts.map +1 -1
- package/dist/reflection.js +0 -40
- package/dist/reflection.js.map +1 -1
- package/dist/skills/index.d.ts +0 -3
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +0 -3
- package/dist/skills/index.js.map +1 -1
- package/dist/skills/loader.d.ts +0 -69
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +38 -130
- package/dist/skills/loader.js.map +1 -1
- package/dist/skills/types.d.ts +0 -36
- package/dist/skills/types.d.ts.map +1 -1
- package/dist/skills/types.js +0 -4
- package/dist/skills/types.js.map +1 -1
- package/dist/streaming/data-parts.d.ts +163 -0
- package/dist/streaming/data-parts.d.ts.map +1 -0
- package/dist/streaming/data-parts.js +14 -0
- package/dist/streaming/data-parts.js.map +1 -0
- package/dist/streaming/index.d.ts +8 -0
- package/dist/streaming/index.d.ts.map +1 -0
- package/dist/streaming/index.js +10 -0
- package/dist/streaming/index.js.map +1 -0
- package/dist/streaming/transient.d.ts +136 -0
- package/dist/streaming/transient.d.ts.map +1 -0
- package/dist/streaming/transient.js +201 -0
- package/dist/streaming/transient.js.map +1 -0
- package/dist/system-detect.d.ts +0 -57
- package/dist/system-detect.d.ts.map +1 -1
- package/dist/system-detect.js +9 -114
- package/dist/system-detect.js.map +1 -1
- package/dist/tools/approval.d.ts +0 -47
- package/dist/tools/approval.d.ts.map +1 -1
- package/dist/tools/approval.js +0 -46
- package/dist/tools/approval.js.map +1 -1
- package/dist/tools/ast-grep/cli.d.ts.map +1 -1
- package/dist/tools/ast-grep/cli.js +10 -4
- package/dist/tools/ast-grep/cli.js.map +1 -1
- package/dist/tools/ast-grep/constants.d.ts.map +1 -1
- package/dist/tools/ast-grep/constants.js +7 -14
- package/dist/tools/ast-grep/constants.js.map +1 -1
- package/dist/tools/ast-grep/downloader.d.ts.map +1 -1
- package/dist/tools/ast-grep/downloader.js +1 -4
- package/dist/tools/ast-grep/downloader.js.map +1 -1
- package/dist/tools/ast-grep/index.d.ts +2 -2
- package/dist/tools/ast-grep/index.d.ts.map +1 -1
- package/dist/tools/ast-grep/index.js +1 -1
- package/dist/tools/ast-grep/index.js.map +1 -1
- package/dist/tools/ast-grep/tools.d.ts +4 -4
- package/dist/tools/ast-grep/tools.d.ts.map +1 -1
- package/dist/tools/ast-grep/tools.js +2 -8
- package/dist/tools/ast-grep/tools.js.map +1 -1
- package/dist/tools/browser/index.d.ts +4 -4
- package/dist/tools/browser/index.d.ts.map +1 -1
- package/dist/tools/browser/index.js +2 -3
- package/dist/tools/browser/index.js.map +1 -1
- package/dist/tools/browser/stream.d.ts +0 -32
- package/dist/tools/browser/stream.d.ts.map +1 -1
- package/dist/tools/browser/stream.js +0 -53
- package/dist/tools/browser/stream.js.map +1 -1
- package/dist/tools/browser/tool.d.ts +10 -15
- package/dist/tools/browser/tool.d.ts.map +1 -1
- package/dist/tools/browser/tool.js +2 -26
- package/dist/tools/browser/tool.js.map +1 -1
- package/dist/tools/browser/types.d.ts +31 -156
- package/dist/tools/browser/types.d.ts.map +1 -1
- package/dist/tools/browser/types.js +22 -17
- package/dist/tools/browser/types.js.map +1 -1
- package/dist/tools/deep-reasoning/constants.d.ts +0 -6
- package/dist/tools/deep-reasoning/constants.d.ts.map +1 -1
- package/dist/tools/deep-reasoning/constants.js +0 -6
- package/dist/tools/deep-reasoning/constants.js.map +1 -1
- package/dist/tools/deep-reasoning/engine.d.ts.map +1 -1
- package/dist/tools/deep-reasoning/engine.js +0 -1
- package/dist/tools/deep-reasoning/engine.js.map +1 -1
- package/dist/tools/deep-reasoning/index.d.ts +4 -0
- package/dist/tools/deep-reasoning/index.d.ts.map +1 -1
- package/dist/tools/deep-reasoning/index.js +4 -3
- package/dist/tools/deep-reasoning/index.js.map +1 -1
- package/dist/tools/deep-reasoning/tools.d.ts.map +1 -1
- package/dist/tools/deep-reasoning/tools.js +8 -1
- package/dist/tools/deep-reasoning/tools.js.map +1 -1
- package/dist/tools/deep-reasoning/types.d.ts +5 -30
- package/dist/tools/deep-reasoning/types.d.ts.map +1 -1
- package/dist/tools/deep-reasoning/types.js +10 -1
- package/dist/tools/deep-reasoning/types.js.map +1 -1
- package/dist/tools/factory.d.ts +109 -0
- package/dist/tools/factory.d.ts.map +1 -0
- package/dist/tools/factory.js +166 -0
- package/dist/tools/factory.js.map +1 -0
- package/dist/tools/file/index.d.ts +3 -5
- package/dist/tools/file/index.d.ts.map +1 -1
- package/dist/tools/file/index.js +2 -4
- package/dist/tools/file/index.js.map +1 -1
- package/dist/tools/file/tools.d.ts +8 -11
- package/dist/tools/file/tools.d.ts.map +1 -1
- package/dist/tools/file/tools.js +45 -59
- package/dist/tools/file/tools.js.map +1 -1
- package/dist/tools/glob/cli.d.ts.map +1 -1
- package/dist/tools/glob/cli.js +8 -6
- package/dist/tools/glob/cli.js.map +1 -1
- package/dist/tools/glob/tools.d.ts.map +1 -1
- package/dist/tools/glob/tools.js +7 -10
- package/dist/tools/glob/tools.js.map +1 -1
- package/dist/tools/grep/cli.d.ts.map +1 -1
- package/dist/tools/grep/cli.js +0 -2
- package/dist/tools/grep/cli.js.map +1 -1
- package/dist/tools/grep/constants.d.ts.map +1 -1
- package/dist/tools/grep/constants.js +3 -5
- package/dist/tools/grep/constants.js.map +1 -1
- package/dist/tools/grep/downloader.d.ts.map +1 -1
- package/dist/tools/grep/downloader.js +3 -3
- package/dist/tools/grep/downloader.js.map +1 -1
- package/dist/tools/grep/tools.d.ts +2 -2
- package/dist/tools/grep/tools.d.ts.map +1 -1
- package/dist/tools/grep/tools.js +8 -14
- package/dist/tools/grep/tools.js.map +1 -1
- package/dist/tools/index.d.ts +10 -11
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +9 -22
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/model-retry.d.ts +0 -40
- package/dist/tools/model-retry.d.ts.map +1 -1
- package/dist/tools/model-retry.js +1 -49
- package/dist/tools/model-retry.js.map +1 -1
- package/dist/tools/plan/constants.d.ts +0 -6
- package/dist/tools/plan/constants.d.ts.map +1 -1
- package/dist/tools/plan/constants.js +9 -6
- package/dist/tools/plan/constants.js.map +1 -1
- package/dist/tools/plan/index.d.ts +1 -1
- package/dist/tools/plan/index.d.ts.map +1 -1
- package/dist/tools/plan/index.js +1 -4
- package/dist/tools/plan/index.js.map +1 -1
- package/dist/tools/plan/tools.d.ts +2 -2
- package/dist/tools/plan/tools.d.ts.map +1 -1
- package/dist/tools/plan/tools.js +10 -11
- package/dist/tools/plan/tools.js.map +1 -1
- package/dist/tools/plan/types.d.ts +22 -32
- package/dist/tools/plan/types.d.ts.map +1 -1
- package/dist/tools/plan/types.js +11 -3
- package/dist/tools/plan/types.js.map +1 -1
- package/dist/tools/progress/index.d.ts +4 -23
- package/dist/tools/progress/index.d.ts.map +1 -1
- package/dist/tools/progress/index.js +19 -34
- package/dist/tools/progress/index.js.map +1 -1
- package/dist/tools/provider.d.ts +97 -0
- package/dist/tools/provider.d.ts.map +1 -0
- package/dist/tools/provider.js +178 -0
- package/dist/tools/provider.js.map +1 -0
- package/dist/tools/search-skills.d.ts +0 -23
- package/dist/tools/search-skills.d.ts.map +1 -1
- package/dist/tools/search-skills.js +3 -32
- package/dist/tools/search-skills.js.map +1 -1
- package/dist/tools/shell/background.d.ts +3 -19
- package/dist/tools/shell/background.d.ts.map +1 -1
- package/dist/tools/shell/background.js +45 -48
- package/dist/tools/shell/background.js.map +1 -1
- package/dist/tools/shell/constants.d.ts +0 -3
- package/dist/tools/shell/constants.d.ts.map +1 -1
- package/dist/tools/shell/constants.js +16 -6
- package/dist/tools/shell/constants.js.map +1 -1
- package/dist/tools/shell/index.d.ts +1 -1
- package/dist/tools/shell/index.d.ts.map +1 -1
- package/dist/tools/shell/index.js +1 -1
- package/dist/tools/shell/index.js.map +1 -1
- package/dist/tools/shell/tools.d.ts +3 -3
- package/dist/tools/shell/tools.d.ts.map +1 -1
- package/dist/tools/shell/tools.js +0 -2
- package/dist/tools/shell/tools.js.map +1 -1
- package/dist/tools/shell/types.d.ts +5 -13
- package/dist/tools/shell/types.d.ts.map +1 -1
- package/dist/tools/shell/types.js +10 -1
- package/dist/tools/shell/types.js.map +1 -1
- package/dist/tools/spawn-agent/check-agent.d.ts +45 -0
- package/dist/tools/spawn-agent/check-agent.d.ts.map +1 -0
- package/dist/tools/spawn-agent/check-agent.js +84 -0
- package/dist/tools/spawn-agent/check-agent.js.map +1 -0
- package/dist/tools/spawn-agent/index.d.ts +52 -53
- package/dist/tools/spawn-agent/index.d.ts.map +1 -1
- package/dist/tools/spawn-agent/index.js +199 -86
- package/dist/tools/spawn-agent/index.js.map +1 -1
- package/dist/tools/spawn-agent/registry.d.ts +36 -0
- package/dist/tools/spawn-agent/registry.d.ts.map +1 -0
- package/dist/tools/spawn-agent/registry.js +88 -0
- package/dist/tools/spawn-agent/registry.js.map +1 -0
- package/dist/tools/utils/errors.d.ts +2 -1
- package/dist/tools/utils/errors.d.ts.map +1 -1
- package/dist/tools/utils/errors.js +2 -1
- package/dist/tools/utils/errors.js.map +1 -1
- package/dist/tools/utils/shell.d.ts +0 -11
- package/dist/tools/utils/shell.d.ts.map +1 -1
- package/dist/tools/utils/shell.js +10 -78
- package/dist/tools/utils/shell.js.map +1 -1
- package/dist/tools/utils/tool-result.d.ts +0 -3
- package/dist/tools/utils/tool-result.d.ts.map +1 -1
- package/dist/tools/utils/tool-result.js +4 -4
- package/dist/tools/utils/tool-result.js.map +1 -1
- package/dist/tools/web-search/index.d.ts +4 -0
- package/dist/tools/web-search/index.d.ts.map +1 -0
- package/dist/tools/web-search/index.js +3 -0
- package/dist/tools/web-search/index.js.map +1 -0
- package/dist/tools/web-search/tools.d.ts +17 -0
- package/dist/tools/web-search/tools.d.ts.map +1 -0
- package/dist/tools/web-search/tools.js +81 -0
- package/dist/tools/web-search/tools.js.map +1 -0
- package/dist/tools/web-search/types.d.ts +16 -0
- package/dist/tools/web-search/types.d.ts.map +1 -0
- package/dist/tools/web-search/types.js +29 -0
- package/dist/tools/web-search/types.js.map +1 -0
- package/dist/tools/workspace-middleware.d.ts +14 -0
- package/dist/tools/workspace-middleware.d.ts.map +1 -0
- package/dist/tools/workspace-middleware.js +97 -0
- package/dist/tools/workspace-middleware.js.map +1 -0
- package/dist/types/agent-v2.d.ts +83 -0
- package/dist/types/agent-v2.d.ts.map +1 -0
- package/dist/types/agent-v2.js +8 -0
- package/dist/types/agent-v2.js.map +1 -0
- package/dist/types/agent.d.ts +3 -66
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/agent.js +0 -6
- package/dist/types/agent.js.map +1 -1
- package/dist/types/index.d.ts +4 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -3
- package/dist/types/index.js.map +1 -1
- package/dist/types/lifecycle.d.ts +0 -141
- package/dist/types/lifecycle.d.ts.map +1 -1
- package/dist/types/lifecycle.js +4 -54
- package/dist/types/lifecycle.js.map +1 -1
- package/dist/types/streaming.d.ts +0 -4
- package/dist/types/streaming.d.ts.map +1 -1
- package/dist/types/streaming.js +0 -4
- package/dist/types/streaming.js.map +1 -1
- package/dist/usage-limits.d.ts +0 -37
- package/dist/usage-limits.d.ts.map +1 -1
- package/dist/usage-limits.js +1 -40
- package/dist/usage-limits.js.map +1 -1
- package/dist/utils/logger.d.ts +35 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +149 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/workflow/builders/adapt.d.ts +20 -0
- package/dist/workflow/builders/adapt.d.ts.map +1 -0
- package/dist/workflow/builders/adapt.js +33 -0
- package/dist/workflow/builders/adapt.js.map +1 -0
- package/dist/workflow/builders/index.d.ts +8 -0
- package/dist/workflow/builders/index.d.ts.map +1 -0
- package/dist/workflow/builders/index.js +7 -0
- package/dist/workflow/builders/index.js.map +1 -0
- package/dist/workflow/builders/parallel.d.ts +25 -0
- package/dist/workflow/builders/parallel.d.ts.map +1 -0
- package/dist/workflow/builders/parallel.js +60 -0
- package/dist/workflow/builders/parallel.js.map +1 -0
- package/dist/workflow/builders/pipeline.d.ts +22 -0
- package/dist/workflow/builders/pipeline.d.ts.map +1 -0
- package/dist/workflow/builders/pipeline.js +48 -0
- package/dist/workflow/builders/pipeline.js.map +1 -0
- package/dist/workflow/builders/types.d.ts +54 -0
- package/dist/workflow/builders/types.d.ts.map +1 -0
- package/dist/workflow/builders/types.js +5 -0
- package/dist/workflow/builders/types.js.map +1 -0
- package/dist/workflow/durable-agent.d.ts +128 -0
- package/dist/workflow/durable-agent.d.ts.map +1 -0
- package/dist/workflow/durable-agent.js +323 -0
- package/dist/workflow/durable-agent.js.map +1 -0
- package/dist/workflow/durable-tool.d.ts +0 -84
- package/dist/workflow/durable-tool.d.ts.map +1 -1
- package/dist/workflow/durable-tool.js +2 -104
- package/dist/workflow/durable-tool.js.map +1 -1
- package/dist/workflow/hooks.d.ts +0 -215
- package/dist/workflow/hooks.d.ts.map +1 -1
- package/dist/workflow/hooks.js +15 -221
- package/dist/workflow/hooks.js.map +1 -1
- package/dist/workflow/index.d.ts +0 -9
- package/dist/workflow/index.d.ts.map +1 -1
- package/dist/workflow/index.js +0 -12
- package/dist/workflow/index.js.map +1 -1
- package/dist/workflow/schedulers.d.ts +231 -0
- package/dist/workflow/schedulers.d.ts.map +1 -0
- package/dist/workflow/schedulers.js +250 -0
- package/dist/workflow/schedulers.js.map +1 -0
- package/dist/workflow/team/create-team.d.ts +34 -0
- package/dist/workflow/team/create-team.d.ts.map +1 -0
- package/dist/workflow/team/create-team.js +242 -0
- package/dist/workflow/team/create-team.js.map +1 -0
- package/dist/workflow/team/index.d.ts +9 -0
- package/dist/workflow/team/index.d.ts.map +1 -0
- package/dist/workflow/team/index.js +8 -0
- package/dist/workflow/team/index.js.map +1 -0
- package/dist/workflow/team/machines.d.ts +152 -0
- package/dist/workflow/team/machines.d.ts.map +1 -0
- package/dist/workflow/team/machines.js +197 -0
- package/dist/workflow/team/machines.js.map +1 -0
- package/dist/workflow/team/task-board.d.ts +47 -0
- package/dist/workflow/team/task-board.d.ts.map +1 -0
- package/dist/workflow/team/task-board.js +111 -0
- package/dist/workflow/team/task-board.js.map +1 -0
- package/dist/workflow/team/tools.d.ts +66 -0
- package/dist/workflow/team/tools.d.ts.map +1 -0
- package/dist/workflow/team/tools.js +100 -0
- package/dist/workflow/team/tools.js.map +1 -0
- package/dist/workflow/team/types.d.ts +109 -0
- package/dist/workflow/team/types.d.ts.map +1 -0
- package/dist/workflow/team/types.js +5 -0
- package/dist/workflow/team/types.js.map +1 -0
- package/dist/workflow/templates.d.ts +71 -0
- package/dist/workflow/templates.d.ts.map +1 -0
- package/dist/workflow/templates.js +132 -0
- package/dist/workflow/templates.js.map +1 -0
- package/dist/workflow/utils.d.ts +0 -24
- package/dist/workflow/utils.d.ts.map +1 -1
- package/dist/workflow/utils.js +1 -32
- package/dist/workflow/utils.js.map +1 -1
- package/dist/wrappers/best-of-n.d.ts +0 -35
- package/dist/wrappers/best-of-n.d.ts.map +1 -1
- package/dist/wrappers/best-of-n.js +4 -53
- package/dist/wrappers/best-of-n.js.map +1 -1
- package/dist/wrappers/refine-loop.d.ts +36 -0
- package/dist/wrappers/refine-loop.d.ts.map +1 -0
- package/dist/wrappers/refine-loop.js +135 -0
- package/dist/wrappers/refine-loop.js.map +1 -0
- package/package.json +13 -7
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @
|
|
3
|
-
*
|
|
4
|
-
* The essentials: createAgent + supporting types.
|
|
5
|
-
* Advanced features live in sub-path imports:
|
|
6
|
-
* - @agntk/core/evals — eval suite and assertions
|
|
7
|
-
* - @agntk/core/advanced — guardrail runners, best-of-n, observability, streaming internals
|
|
2
|
+
* @fileoverview Main entry point for the SDK.
|
|
8
3
|
*/
|
|
9
4
|
export { createAgent, AGENT_STATE_BASE, resolveAgentStatePath } from './agent.js';
|
|
10
5
|
export type { AgentOptions, Agent, AgentStreamResult } from './types/agent.js';
|
|
6
|
+
export type { SubAgentActivityChunk, SubAgentActivityHandler } from './tools/spawn-agent/index.js';
|
|
11
7
|
export { resolveModel, models, setResolvedProvider, getResolvedProviderState } from './models.js';
|
|
12
|
-
export type { ResolvedProvider } from './models.js';
|
|
8
|
+
export type { ResolvedProvider, ResolvedModel } from './models.js';
|
|
13
9
|
export { resolveProvider, getResolvedProvider, resetProviderCache } from './provider-resolver.js';
|
|
14
10
|
export { detectSystem, recommendOllamaModels, getOllamaModels, hasOllamaModel, } from './system-detect.js';
|
|
15
11
|
export type { SystemProfile, OllamaModelTier, OllamaModelRecommendation } from './system-detect.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAE/E,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC5E,YAAY,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE1F,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAC/F,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE/F,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,eAAe,EACf,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAEjG,OAAO,EACL,UAAU,EACV,SAAS,EACT,SAAS,EACT,YAAY,EACZ,eAAe,EACf,cAAc,EACd,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEnG,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACpE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAElE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEvF,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEzE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,YAAY,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,40 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @
|
|
3
|
-
*
|
|
4
|
-
* The essentials: createAgent + supporting types.
|
|
5
|
-
* Advanced features live in sub-path imports:
|
|
6
|
-
* - @agntk/core/evals — eval suite and assertions
|
|
7
|
-
* - @agntk/core/advanced — guardrail runners, best-of-n, observability, streaming internals
|
|
2
|
+
* @fileoverview Main entry point for the SDK.
|
|
8
3
|
*/
|
|
9
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
10
|
-
// Core — the essentials
|
|
11
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
12
4
|
export { createAgent, AGENT_STATE_BASE, resolveAgentStatePath } from './agent.js';
|
|
13
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
14
|
-
// Models
|
|
15
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
16
5
|
export { resolveModel, models, setResolvedProvider, getResolvedProviderState } from './models.js';
|
|
17
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
18
|
-
// Provider Resolution
|
|
19
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
20
6
|
export { resolveProvider, getResolvedProvider, resetProviderCache } from './provider-resolver.js';
|
|
21
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
22
|
-
// System Detection
|
|
23
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
24
7
|
export { detectSystem, recommendOllamaModels, getOllamaModels, hasOllamaModel, } from './system-detect.js';
|
|
25
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
26
|
-
// Configuration
|
|
27
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
28
8
|
export { loadConfig, getConfig, configure, defineConfig, getModelForTier, DEFAULT_MODELS, DEFAULT_PROVIDER, } from './config/index.js';
|
|
29
9
|
export { loadSkills, discoverSkills } from './skills/index.js';
|
|
30
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
31
|
-
// Usage Limits
|
|
32
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
33
10
|
export { UsageLimitExceeded, usageLimitStop } from './usage-limits.js';
|
|
34
11
|
export { MarkdownMemoryStore } from './memory/store.js';
|
|
35
12
|
export { loadMemoryContext } from './memory/loader.js';
|
|
36
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
37
|
-
// Observability
|
|
38
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
39
13
|
export { shutdownObservability } from './observability/index.js';
|
|
40
14
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAK/E,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAG/F,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE/F,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,eAAe,EACf,cAAc,GACf,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,UAAU,EACV,SAAS,EACT,SAAS,EACT,YAAY,EACZ,eAAe,EACf,cAAc,EACd,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAIlB,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AASpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @agntk/core - Unified Memory Engine
|
|
3
|
+
*
|
|
4
|
+
* Single write path: remember() → LLM extraction → parallel writes to Vectra + Graph.
|
|
5
|
+
* Implements Mem0 ADD/UPDATE/DELETE/NOOP pattern with Hindsight 4-network taxonomy.
|
|
6
|
+
*
|
|
7
|
+
* Architecture:
|
|
8
|
+
* - VectorStore: Semantic similarity search (Vectra)
|
|
9
|
+
* - GraphStore: Structural relationships (Graphology via QueryPort)
|
|
10
|
+
* - ExtractionModel: LLM-powered fact extraction
|
|
11
|
+
* - ContradictionDetector: Write-time conflict detection
|
|
12
|
+
*/
|
|
13
|
+
import type { LanguageModel } from 'ai';
|
|
14
|
+
import type { MemoryStore, MemorySearchResult } from './vectra-store.js';
|
|
15
|
+
import { type ExtractedFact, type MemoryOperation } from './extraction.js';
|
|
16
|
+
/** Graph store interface — matches QueryPort episode/entity methods */
|
|
17
|
+
export interface MemoryGraphStore {
|
|
18
|
+
upsertEpisode(episode: {
|
|
19
|
+
id: string;
|
|
20
|
+
timestamp: string;
|
|
21
|
+
type: 'conversation' | 'observation' | 'action' | 'decision' | 'learning';
|
|
22
|
+
summary: string;
|
|
23
|
+
content: string;
|
|
24
|
+
entities: string[];
|
|
25
|
+
relationships: string[];
|
|
26
|
+
}): Promise<void>;
|
|
27
|
+
linkEpisodeEntity(episodeId: string, entityName: string): Promise<void>;
|
|
28
|
+
getEpisodesByQuery(query: string, limit: number): Promise<Array<{
|
|
29
|
+
id?: string;
|
|
30
|
+
summary?: string;
|
|
31
|
+
content?: string;
|
|
32
|
+
timestamp?: string;
|
|
33
|
+
type?: string;
|
|
34
|
+
properties?: Record<string, unknown>;
|
|
35
|
+
}>>;
|
|
36
|
+
upsertContradiction(contradiction: {
|
|
37
|
+
id: string;
|
|
38
|
+
detectedAt: string;
|
|
39
|
+
resolution_winner: string | null;
|
|
40
|
+
resolution_reasoning: string | null;
|
|
41
|
+
factA_id: string;
|
|
42
|
+
factA_statement: string;
|
|
43
|
+
factA_source: string;
|
|
44
|
+
factA_timestamp: string;
|
|
45
|
+
factB_id: string;
|
|
46
|
+
factB_statement: string;
|
|
47
|
+
factB_source: string;
|
|
48
|
+
factB_timestamp: string;
|
|
49
|
+
}): Promise<void>;
|
|
50
|
+
}
|
|
51
|
+
/** Contradiction detector interface — matches brain's ContradictionDetector */
|
|
52
|
+
export interface ContradictionDetectorPort {
|
|
53
|
+
detect(statementA: string, statementB: string, metadataA?: {
|
|
54
|
+
id: string;
|
|
55
|
+
source: string;
|
|
56
|
+
timestamp: string;
|
|
57
|
+
}, metadataB?: {
|
|
58
|
+
id: string;
|
|
59
|
+
source: string;
|
|
60
|
+
timestamp: string;
|
|
61
|
+
}): {
|
|
62
|
+
id: string;
|
|
63
|
+
factA: Record<string, string>;
|
|
64
|
+
factB: Record<string, string>;
|
|
65
|
+
detectedAt: string;
|
|
66
|
+
} | null;
|
|
67
|
+
}
|
|
68
|
+
/** Result of a unified remember() operation */
|
|
69
|
+
export interface MemoryWriteResult {
|
|
70
|
+
id: string;
|
|
71
|
+
operation: MemoryOperation;
|
|
72
|
+
facts: ExtractedFact[];
|
|
73
|
+
vectorStoreId?: string;
|
|
74
|
+
graphStoreId?: string;
|
|
75
|
+
contradiction?: {
|
|
76
|
+
id: string;
|
|
77
|
+
existingFact: string;
|
|
78
|
+
newFact: string;
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
/** Configuration for the unified memory engine */
|
|
82
|
+
export interface MemoryEngineConfig {
|
|
83
|
+
/** Vector store for semantic search (Vectra) */
|
|
84
|
+
vectorStore: MemoryStore;
|
|
85
|
+
/** Graph store for structural queries (Graphology via QueryPort) — optional */
|
|
86
|
+
graphStore?: MemoryGraphStore;
|
|
87
|
+
/** LLM for extraction pipeline — optional, extraction disabled without it */
|
|
88
|
+
extractionModel?: LanguageModel;
|
|
89
|
+
/** Contradiction detector — optional */
|
|
90
|
+
contradictionDetector?: ContradictionDetectorPort;
|
|
91
|
+
/** Default top-K for recall */
|
|
92
|
+
defaultTopK?: number;
|
|
93
|
+
/** Default similarity threshold */
|
|
94
|
+
defaultThreshold?: number;
|
|
95
|
+
}
|
|
96
|
+
/** The unified memory engine interface */
|
|
97
|
+
export interface MemoryEngine {
|
|
98
|
+
/** Store text with LLM extraction → parallel writes to vector + graph */
|
|
99
|
+
remember(text: string, metadata?: Record<string, unknown>): Promise<MemoryWriteResult>;
|
|
100
|
+
/** Semantic search via vector store */
|
|
101
|
+
recall(query: string, options?: {
|
|
102
|
+
topK?: number;
|
|
103
|
+
threshold?: number;
|
|
104
|
+
}): Promise<MemorySearchResult[]>;
|
|
105
|
+
/** Graph-based knowledge query — returns episodes/entities matching query */
|
|
106
|
+
queryKnowledge(query: string, limit?: number): Promise<Array<Record<string, unknown>>>;
|
|
107
|
+
/** Remove a memory by ID from both stores */
|
|
108
|
+
forget(id: string): Promise<boolean>;
|
|
109
|
+
/** Get stats */
|
|
110
|
+
count(): Promise<number>;
|
|
111
|
+
/** Cleanup */
|
|
112
|
+
close(): Promise<void>;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Create a unified memory engine.
|
|
116
|
+
*
|
|
117
|
+
* @example
|
|
118
|
+
* ```typescript
|
|
119
|
+
* const engine = createMemoryEngine({
|
|
120
|
+
* vectorStore: await createMemoryStore({ path: './.memory' }),
|
|
121
|
+
* graphStore: new GraphologyAdapter(),
|
|
122
|
+
* extractionModel: openai('gpt-4o-mini'),
|
|
123
|
+
* });
|
|
124
|
+
*
|
|
125
|
+
* // Single remember() does extraction + parallel writes
|
|
126
|
+
* const result = await engine.remember('TypeScript 5.3 supports import attributes');
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
export declare function createMemoryEngine(config: MemoryEngineConfig): MemoryEngine;
|
|
130
|
+
//# sourceMappingURL=engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/memory/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @agntk/core - Unified Memory Engine
|
|
3
|
+
*
|
|
4
|
+
* Single write path: remember() → LLM extraction → parallel writes to Vectra + Graph.
|
|
5
|
+
* Implements Mem0 ADD/UPDATE/DELETE/NOOP pattern with Hindsight 4-network taxonomy.
|
|
6
|
+
*
|
|
7
|
+
* Architecture:
|
|
8
|
+
* - VectorStore: Semantic similarity search (Vectra)
|
|
9
|
+
* - GraphStore: Structural relationships (Graphology via QueryPort)
|
|
10
|
+
* - ExtractionModel: LLM-powered fact extraction
|
|
11
|
+
* - ContradictionDetector: Write-time conflict detection
|
|
12
|
+
*/
|
|
13
|
+
import { createLogger } from '@agntk/logger';
|
|
14
|
+
import { extractFacts, } from './extraction.js';
|
|
15
|
+
const log = createLogger('@agntk/core:memory-engine');
|
|
16
|
+
// ============================================================================
|
|
17
|
+
// Implementation
|
|
18
|
+
// ============================================================================
|
|
19
|
+
/**
|
|
20
|
+
* Create a unified memory engine.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const engine = createMemoryEngine({
|
|
25
|
+
* vectorStore: await createMemoryStore({ path: './.memory' }),
|
|
26
|
+
* graphStore: new GraphologyAdapter(),
|
|
27
|
+
* extractionModel: openai('gpt-4o-mini'),
|
|
28
|
+
* });
|
|
29
|
+
*
|
|
30
|
+
* // Single remember() does extraction + parallel writes
|
|
31
|
+
* const result = await engine.remember('TypeScript 5.3 supports import attributes');
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export function createMemoryEngine(config) {
|
|
35
|
+
const { vectorStore, graphStore, extractionModel, contradictionDetector, defaultTopK = 5, defaultThreshold = 0.7, } = config;
|
|
36
|
+
return {
|
|
37
|
+
async remember(text, metadata) {
|
|
38
|
+
const writeId = generateWriteId();
|
|
39
|
+
const timestamp = new Date().toISOString();
|
|
40
|
+
log.debug('remember() — unified write path', { writeId, textLength: text.length });
|
|
41
|
+
// Step 1: Extract facts via LLM (if model provided)
|
|
42
|
+
let facts = [];
|
|
43
|
+
if (extractionModel) {
|
|
44
|
+
try {
|
|
45
|
+
const done = log.time('extraction');
|
|
46
|
+
const result = await extractFacts(text, { model: extractionModel });
|
|
47
|
+
facts = result.facts;
|
|
48
|
+
done();
|
|
49
|
+
log.info('Extraction complete', { factCount: facts.length });
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
log.warn('Extraction failed, continuing with raw text', { error: String(error) });
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// Step 2: Check for contradictions against existing memories
|
|
56
|
+
let contradictionResult;
|
|
57
|
+
if (contradictionDetector && facts.length > 0) {
|
|
58
|
+
try {
|
|
59
|
+
contradictionResult = await detectContradictions(facts, vectorStore, contradictionDetector, graphStore, defaultTopK, defaultThreshold);
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
log.warn('Contradiction detection failed, continuing', { error: String(error) });
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
// Step 3: Determine operation type
|
|
66
|
+
const operation = contradictionResult ? 'UPDATE' : 'ADD';
|
|
67
|
+
// Step 4: Parallel writes to vector store + graph store
|
|
68
|
+
const writePromises = [];
|
|
69
|
+
let vectorStoreId;
|
|
70
|
+
let graphStoreId;
|
|
71
|
+
// Vector store: store the raw text + extracted facts as metadata
|
|
72
|
+
writePromises.push(vectorStore.remember(text, {
|
|
73
|
+
...metadata,
|
|
74
|
+
writeId,
|
|
75
|
+
timestamp,
|
|
76
|
+
operation,
|
|
77
|
+
networks: facts.map((f) => f.network),
|
|
78
|
+
factCount: facts.length,
|
|
79
|
+
facts: facts.map((f) => f.fact),
|
|
80
|
+
}).then((id) => { vectorStoreId = id; }));
|
|
81
|
+
// Graph store: create episode + link entities
|
|
82
|
+
if (graphStore && facts.length > 0) {
|
|
83
|
+
const episodeType = classifyEpisodeType(facts);
|
|
84
|
+
const entityNames = [...new Set(facts.flatMap((f) => f.entities.map((e) => e.name)))];
|
|
85
|
+
const relationshipStrings = facts.flatMap((f) => f.relationships.map((r) => `${r.from}-[${r.type}]->${r.to}`));
|
|
86
|
+
writePromises.push((async () => {
|
|
87
|
+
await graphStore.upsertEpisode({
|
|
88
|
+
id: writeId,
|
|
89
|
+
timestamp,
|
|
90
|
+
type: episodeType,
|
|
91
|
+
summary: facts.map((f) => f.fact).join('; '),
|
|
92
|
+
content: text,
|
|
93
|
+
entities: entityNames,
|
|
94
|
+
relationships: relationshipStrings,
|
|
95
|
+
});
|
|
96
|
+
graphStoreId = writeId;
|
|
97
|
+
// Link entities to the episode
|
|
98
|
+
for (const entityName of entityNames) {
|
|
99
|
+
await graphStore.linkEpisodeEntity(writeId, entityName);
|
|
100
|
+
}
|
|
101
|
+
})());
|
|
102
|
+
}
|
|
103
|
+
await Promise.all(writePromises);
|
|
104
|
+
log.info('Unified write complete', {
|
|
105
|
+
writeId,
|
|
106
|
+
operation,
|
|
107
|
+
factCount: facts.length,
|
|
108
|
+
vectorStoreId,
|
|
109
|
+
graphStoreId,
|
|
110
|
+
hasContradiction: !!contradictionResult,
|
|
111
|
+
});
|
|
112
|
+
return {
|
|
113
|
+
id: writeId,
|
|
114
|
+
operation,
|
|
115
|
+
facts,
|
|
116
|
+
vectorStoreId,
|
|
117
|
+
graphStoreId,
|
|
118
|
+
contradiction: contradictionResult,
|
|
119
|
+
};
|
|
120
|
+
},
|
|
121
|
+
async recall(query, options) {
|
|
122
|
+
return vectorStore.recall(query, {
|
|
123
|
+
topK: options?.topK ?? defaultTopK,
|
|
124
|
+
threshold: options?.threshold ?? defaultThreshold,
|
|
125
|
+
});
|
|
126
|
+
},
|
|
127
|
+
async queryKnowledge(query, limit = 10) {
|
|
128
|
+
if (!graphStore) {
|
|
129
|
+
log.debug('queryKnowledge called without graph store — returning empty');
|
|
130
|
+
return [];
|
|
131
|
+
}
|
|
132
|
+
const episodes = await graphStore.getEpisodesByQuery(query, limit);
|
|
133
|
+
return episodes.map((ep) => ({
|
|
134
|
+
id: ep.id ?? ep.properties?.id,
|
|
135
|
+
summary: ep.summary ?? ep.properties?.summary,
|
|
136
|
+
content: ep.content ?? ep.properties?.content,
|
|
137
|
+
timestamp: ep.timestamp ?? ep.properties?.timestamp,
|
|
138
|
+
type: ep.type ?? ep.properties?.type,
|
|
139
|
+
}));
|
|
140
|
+
},
|
|
141
|
+
async forget(id) {
|
|
142
|
+
return vectorStore.forget(id);
|
|
143
|
+
},
|
|
144
|
+
async count() {
|
|
145
|
+
return vectorStore.count();
|
|
146
|
+
},
|
|
147
|
+
async close() {
|
|
148
|
+
await vectorStore.close();
|
|
149
|
+
},
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
// ============================================================================
|
|
153
|
+
// Helpers
|
|
154
|
+
// ============================================================================
|
|
155
|
+
function generateWriteId() {
|
|
156
|
+
return `mem_${Date.now()}_${Math.random().toString(36).slice(2, 11)}`;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Classify the episode type based on the dominant memory network.
|
|
160
|
+
*/
|
|
161
|
+
function classifyEpisodeType(facts) {
|
|
162
|
+
const counts = {
|
|
163
|
+
world_fact: 0,
|
|
164
|
+
experience: 0,
|
|
165
|
+
entity_summary: 0,
|
|
166
|
+
belief: 0,
|
|
167
|
+
};
|
|
168
|
+
for (const fact of facts) {
|
|
169
|
+
counts[fact.network]++;
|
|
170
|
+
}
|
|
171
|
+
// Map network types to episode types
|
|
172
|
+
if (counts.experience > 0)
|
|
173
|
+
return 'action';
|
|
174
|
+
if (counts.belief > 0)
|
|
175
|
+
return 'decision';
|
|
176
|
+
if (counts.entity_summary > counts.world_fact)
|
|
177
|
+
return 'observation';
|
|
178
|
+
return 'learning';
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Check new facts against existing memories for contradictions.
|
|
182
|
+
*/
|
|
183
|
+
async function detectContradictions(newFacts, vectorStore, detector, graphStore, topK, threshold) {
|
|
184
|
+
// For each new world_fact or belief, check against similar existing memories
|
|
185
|
+
const checkableFacts = newFacts.filter((f) => f.network === 'world_fact' || f.network === 'belief');
|
|
186
|
+
for (const newFact of checkableFacts) {
|
|
187
|
+
const existing = await vectorStore.recall(newFact.fact, { topK, threshold });
|
|
188
|
+
for (const match of existing) {
|
|
189
|
+
const contradiction = detector.detect(match.item.text, newFact.fact, { id: match.item.id, source: 'memory', timestamp: match.item.timestamp.toISOString() }, { id: 'new', source: 'input', timestamp: new Date().toISOString() });
|
|
190
|
+
if (contradiction) {
|
|
191
|
+
log.info('Contradiction detected', {
|
|
192
|
+
existing: match.item.text.slice(0, 80),
|
|
193
|
+
new: newFact.fact.slice(0, 80),
|
|
194
|
+
});
|
|
195
|
+
// Store the contradiction in graph store if available
|
|
196
|
+
if (graphStore) {
|
|
197
|
+
try {
|
|
198
|
+
await graphStore.upsertContradiction({
|
|
199
|
+
id: contradiction.id,
|
|
200
|
+
detectedAt: contradiction.detectedAt,
|
|
201
|
+
resolution_winner: null,
|
|
202
|
+
resolution_reasoning: null,
|
|
203
|
+
factA_id: match.item.id,
|
|
204
|
+
factA_statement: match.item.text,
|
|
205
|
+
factA_source: 'memory',
|
|
206
|
+
factA_timestamp: match.item.timestamp.toISOString(),
|
|
207
|
+
factB_id: 'new',
|
|
208
|
+
factB_statement: newFact.fact,
|
|
209
|
+
factB_source: 'input',
|
|
210
|
+
factB_timestamp: new Date().toISOString(),
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
catch (error) {
|
|
214
|
+
log.warn('Failed to store contradiction in graph', { error: String(error) });
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return {
|
|
218
|
+
id: contradiction.id,
|
|
219
|
+
existingFact: match.item.text,
|
|
220
|
+
newFact: newFact.fact,
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
return undefined;
|
|
226
|
+
}
|
|
227
|
+
//# sourceMappingURL=engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/memory/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/memory/loader.d.ts
CHANGED
|
@@ -1,20 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agntk/core - Memory Loader
|
|
3
|
-
*
|
|
4
|
-
* Loads memory files from a MemoryStore and formats them as a string
|
|
5
|
-
* for injection into the agent's system prompt.
|
|
6
|
-
*
|
|
7
|
-
* Load order (from PLAN.md):
|
|
8
|
-
* 1. ~/.agntk/identity.md
|
|
9
|
-
* 2. ~/.agntk/preferences.md
|
|
10
|
-
* 3. .agntk/project.md (or CLAUDE.md / AGENTS.md)
|
|
11
|
-
* 4. .agntk/memory.md
|
|
12
|
-
* 5. .agntk/context.md
|
|
13
|
-
*/
|
|
14
1
|
import type { MemoryStore } from './types.js';
|
|
15
|
-
/**
|
|
16
|
-
* Load all always-on memory files and format as a system prompt section.
|
|
17
|
-
* Missing files are silently skipped.
|
|
18
|
-
*/
|
|
19
2
|
export declare function loadMemoryContext(store: MemoryStore): Promise<string>;
|
|
20
3
|
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/memory/loader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/memory/loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAO3C,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAyD3E"}
|
package/dist/memory/loader.js
CHANGED
|
@@ -1,48 +1,26 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agntk/core - Memory Loader
|
|
3
|
-
*
|
|
4
|
-
* Loads memory files from a MemoryStore and formats them as a string
|
|
5
|
-
* for injection into the agent's system prompt.
|
|
6
|
-
*
|
|
7
|
-
* Load order (from PLAN.md):
|
|
8
|
-
* 1. ~/.agntk/identity.md
|
|
9
|
-
* 2. ~/.agntk/preferences.md
|
|
10
|
-
* 3. .agntk/project.md (or CLAUDE.md / AGENTS.md)
|
|
11
|
-
* 4. .agntk/memory.md
|
|
12
|
-
* 5. .agntk/context.md
|
|
13
|
-
*/
|
|
14
1
|
import { createLogger } from '@agntk/logger';
|
|
15
2
|
const log = createLogger('@agntk/core:memory-loader');
|
|
16
|
-
/** Rough token estimate: ~4 chars per token */
|
|
17
3
|
const CHARS_PER_TOKEN = 4;
|
|
18
4
|
const TOKEN_WARNING_THRESHOLD = 2000;
|
|
19
|
-
/**
|
|
20
|
-
* Load all always-on memory files and format as a system prompt section.
|
|
21
|
-
* Missing files are silently skipped.
|
|
22
|
-
*/
|
|
23
5
|
export async function loadMemoryContext(store) {
|
|
24
6
|
const sections = [];
|
|
25
|
-
// 1. Identity (global, human-authored)
|
|
26
7
|
const identity = await store.loadIdentity();
|
|
27
8
|
if (identity) {
|
|
28
9
|
sections.push(formatSection('Identity', identity));
|
|
29
10
|
}
|
|
30
|
-
// 2. Preferences (global, agent-curated)
|
|
31
11
|
const preferences = await store.loadPreferences();
|
|
32
12
|
if (preferences) {
|
|
33
13
|
sections.push(formatSection('Preferences', preferences));
|
|
34
14
|
}
|
|
35
|
-
// 3. Project (local, human-authored — falls back to CLAUDE.md / AGENTS.md)
|
|
36
15
|
const project = await store.loadProject();
|
|
37
16
|
if (project) {
|
|
38
17
|
sections.push(formatSection('Project', project));
|
|
39
18
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
sections.push(formatSection('Memory', memory));
|
|
19
|
+
const memoryFiles = await store.listMemoryFiles();
|
|
20
|
+
if (memoryFiles.length > 0) {
|
|
21
|
+
const listing = memoryFiles.map((f) => `- ${f}`).join('\n');
|
|
22
|
+
sections.push(formatSection('Memory Files', `Your memory/ directory contains these knowledge files:\n${listing}\n\nRead any file when you need its contents. Use grep to search across all files.`));
|
|
44
23
|
}
|
|
45
|
-
// 5. Context (local, agent-rewritten each session)
|
|
46
24
|
const context = await store.loadContext();
|
|
47
25
|
if (context) {
|
|
48
26
|
sections.push(formatSection('Current Context', context));
|
|
@@ -51,7 +29,6 @@ export async function loadMemoryContext(store) {
|
|
|
51
29
|
return '';
|
|
52
30
|
}
|
|
53
31
|
const result = '# Persistent Memory\n\n' + sections.join('\n\n');
|
|
54
|
-
// Warn if memory context is large
|
|
55
32
|
const estimatedTokens = Math.ceil(result.length / CHARS_PER_TOKEN);
|
|
56
33
|
if (estimatedTokens > TOKEN_WARNING_THRESHOLD) {
|
|
57
34
|
log.warn('Memory context is large', {
|
|
@@ -64,6 +41,7 @@ export async function loadMemoryContext(store) {
|
|
|
64
41
|
sections: sections.length,
|
|
65
42
|
chars: result.length,
|
|
66
43
|
estimatedTokens,
|
|
44
|
+
memoryFileCount: memoryFiles.length,
|
|
67
45
|
});
|
|
68
46
|
return result;
|
|
69
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/memory/loader.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/memory/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,MAAM,GAAG,GAAG,YAAY,CAAC,2BAA2B,CAAC,CAAC;AAEtD,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAAkB;IACxD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC;IAC5C,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAC;IAClD,IAAI,WAAW,EAAE,CAAC;QAChB,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;IAC1C,IAAI,OAAO,EAAE,CAAC;QACZ,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAC;IAClD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,QAAQ,CAAC,IAAI,CACX,aAAa,CACX,cAAc,EACd,2DAA2D,OAAO,oFAAoF,CACvJ,CACF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;IAC1C,IAAI,OAAO,EAAE,CAAC;QACZ,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,yBAAyB,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEjE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;IACnE,IAAI,eAAe,GAAG,uBAAuB,EAAE,CAAC;QAC9C,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAClC,eAAe;YACf,SAAS,EAAE,uBAAuB;YAClC,KAAK,EAAE,MAAM,CAAC,MAAM;SACrB,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,uBAAuB,EAAE;QACjC,QAAQ,EAAE,QAAQ,CAAC,MAAM;QACzB,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,eAAe;QACf,eAAe,EAAE,WAAW,CAAC,MAAM;KACpC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,OAAe;IACnD,OAAO,MAAM,KAAK,OAAO,OAAO,EAAE,CAAC;AACrC,CAAC"}
|
package/dist/memory/store.d.ts
CHANGED
|
@@ -1,21 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agntk/core - MarkdownMemoryStore
|
|
3
|
-
*
|
|
4
|
-
* File-based MemoryStore implementation that reads/writes .agntk/ markdown files.
|
|
5
|
-
* Zero dependencies beyond Node.js built-ins.
|
|
6
|
-
*/
|
|
7
1
|
import type { MemoryStore } from './types.js';
|
|
8
2
|
export interface MarkdownMemoryStoreOptions {
|
|
9
|
-
/** Project-local memory directory. Default: '.agntk' (relative to workspaceRoot) */
|
|
10
3
|
projectDir?: string;
|
|
11
|
-
/** Global memory directory. Default: '~/.agntk' */
|
|
12
4
|
globalDir?: string;
|
|
13
|
-
/** Workspace root for resolving project directory. Default: process.cwd() */
|
|
14
5
|
workspaceRoot?: string;
|
|
15
6
|
}
|
|
16
|
-
/**
|
|
17
|
-
* Reads/writes markdown memory files from .agntk/ and ~/.agntk/ directories.
|
|
18
|
-
*/
|
|
19
7
|
export declare class MarkdownMemoryStore implements MemoryStore {
|
|
20
8
|
private readonly projectPath;
|
|
21
9
|
private readonly globalPath;
|
|
@@ -24,17 +12,21 @@ export declare class MarkdownMemoryStore implements MemoryStore {
|
|
|
24
12
|
loadIdentity(): Promise<string | null>;
|
|
25
13
|
loadPreferences(): Promise<string | null>;
|
|
26
14
|
loadProject(): Promise<string | null>;
|
|
27
|
-
loadMemory(): Promise<string | null>;
|
|
28
15
|
loadContext(): Promise<string | null>;
|
|
29
16
|
loadDecisions(): Promise<string | null>;
|
|
30
17
|
saveContext(content: string): Promise<void>;
|
|
31
|
-
saveMemory(content: string): Promise<void>;
|
|
32
18
|
savePreferences(content: string): Promise<void>;
|
|
33
19
|
appendDecision(entry: string): Promise<void>;
|
|
34
|
-
|
|
20
|
+
listMemoryFiles(): Promise<string[]>;
|
|
21
|
+
createTaskFolder(label: string): Promise<string>;
|
|
22
|
+
archiveTask(taskFolderName: string): Promise<void>;
|
|
23
|
+
getCurrentTaskPath(): Promise<string | null>;
|
|
35
24
|
getProjectPath(): string;
|
|
36
|
-
/** Get the resolved global directory path */
|
|
37
25
|
getGlobalPath(): string;
|
|
26
|
+
getMemoryPath(): string;
|
|
27
|
+
getWorkspacePath(): string;
|
|
28
|
+
getArchivePath(): string;
|
|
29
|
+
ensureDirectories(): Promise<void>;
|
|
38
30
|
private readFileOrNull;
|
|
39
31
|
private writeFileSafe;
|
|
40
32
|
private ensureDir;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/memory/store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/memory/store.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAyB3C,MAAM,WAAW,0BAA0B;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;gBAE3B,OAAO,GAAE,0BAA+B;IAM9C,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAItC,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIzC,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAerC,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIrC,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIvC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5C,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAYpC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA+BhD,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BlD,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAalD,cAAc,IAAI,MAAM;IAIxB,aAAa,IAAI,MAAM;IAIvB,aAAa,IAAI,MAAM;IAIvB,gBAAgB,IAAI,MAAM;IAI1B,cAAc,IAAI,MAAM;IAIlB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;YAO1B,cAAc;YASd,aAAa;YAOb,SAAS;CAMxB"}
|