@aexol/spectral 0.8.2 → 0.8.6
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/CHANGELOG.md +82 -55
- package/README.md +80 -82
- package/dist/agent/agents.d.ts +37 -0
- package/dist/agent/agents.d.ts.map +1 -0
- package/dist/agent/index.d.ts +29 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +11 -11
- package/dist/cli.d.ts +17 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +1 -1
- package/dist/commands/bind.d.ts +12 -0
- package/dist/commands/bind.d.ts.map +1 -0
- package/dist/commands/login-oauth.d.ts +15 -0
- package/dist/commands/login-oauth.d.ts.map +1 -0
- package/dist/commands/login.d.ts +37 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/logout.d.ts +8 -0
- package/dist/commands/logout.d.ts.map +1 -0
- package/dist/commands/serve.d.ts +112 -0
- package/dist/commands/serve.d.ts.map +1 -0
- package/dist/commands/serve.js +5 -2
- package/dist/commands/unbind.d.ts +8 -0
- package/dist/commands/unbind.d.ts.map +1 -0
- package/dist/config.d.ts +49 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +1 -1
- package/dist/designer/guidelines.d.ts +23 -0
- package/dist/designer/guidelines.d.ts.map +1 -0
- package/dist/designer/index.d.ts +26 -0
- package/dist/designer/index.d.ts.map +1 -0
- package/dist/designer/index.js +9 -9
- package/dist/designer/philosophies.d.ts +33 -0
- package/dist/designer/philosophies.d.ts.map +1 -0
- package/dist/designer/skills.d.ts +27 -0
- package/dist/designer/skills.d.ts.map +1 -0
- package/dist/designer/systems.d.ts +36 -0
- package/dist/designer/systems.d.ts.map +1 -0
- package/dist/extensions/aexol-mcp.d.ts +25 -0
- package/dist/extensions/aexol-mcp.d.ts.map +1 -0
- package/dist/extensions/aexol-mcp.js +12 -12
- package/dist/extensions/kanban-bridge.d.ts +24 -0
- package/dist/extensions/kanban-bridge.d.ts.map +1 -0
- package/dist/extensions/kanban-bridge.js +3 -3
- package/dist/extensions/openrouter-attribution.d.ts +12 -0
- package/dist/extensions/openrouter-attribution.d.ts.map +1 -0
- package/dist/extensions/openrouter-attribution.js +2 -2
- package/dist/extensions/spectral-vision-fallback.d.ts +23 -0
- package/dist/extensions/spectral-vision-fallback.d.ts.map +1 -0
- package/dist/extensions/spectral-vision-fallback.js +32 -23
- package/dist/index.d.ts +46 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +44 -0
- package/dist/mcp/agent-dir.d.ts +3 -0
- package/dist/mcp/agent-dir.d.ts.map +1 -0
- package/dist/mcp/commands.d.ts +9 -0
- package/dist/mcp/commands.d.ts.map +1 -0
- package/dist/mcp/commands.js +1 -1
- package/dist/mcp/config.d.ts +78 -0
- package/dist/mcp/config.d.ts.map +1 -0
- package/dist/mcp/config.js +15 -15
- package/dist/mcp/consent-manager.d.ts +14 -0
- package/dist/mcp/consent-manager.d.ts.map +1 -0
- package/dist/mcp/direct-tools.d.ts +11 -0
- package/dist/mcp/direct-tools.d.ts.map +1 -0
- package/dist/mcp/errors.d.ts +100 -0
- package/dist/mcp/errors.d.ts.map +1 -0
- package/dist/mcp/glimpse-ui.d.ts +10 -0
- package/dist/mcp/glimpse-ui.d.ts.map +1 -0
- package/dist/mcp/host-html-template.d.ts +17 -0
- package/dist/mcp/host-html-template.d.ts.map +1 -0
- package/dist/mcp/host-html-template.js +3 -3
- package/dist/mcp/index.d.ts +3 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +15 -13
- package/dist/mcp/init.d.ts +10 -0
- package/dist/mcp/init.d.ts.map +1 -0
- package/dist/mcp/init.js +4 -4
- package/dist/mcp/lifecycle.d.ts +30 -0
- package/dist/mcp/lifecycle.d.ts.map +1 -0
- package/dist/mcp/logger.d.ts +52 -0
- package/dist/mcp/logger.d.ts.map +1 -0
- package/dist/mcp/mcp-auth-flow.d.ts +69 -0
- package/dist/mcp/mcp-auth-flow.d.ts.map +1 -0
- package/dist/mcp/mcp-auth.d.ts +100 -0
- package/dist/mcp/mcp-auth.d.ts.map +1 -0
- package/dist/mcp/mcp-callback-server.d.ts +40 -0
- package/dist/mcp/mcp-callback-server.d.ts.map +1 -0
- package/dist/mcp/mcp-oauth-provider.d.ts +101 -0
- package/dist/mcp/mcp-oauth-provider.d.ts.map +1 -0
- package/dist/mcp/mcp-oauth-provider.js +1 -1
- package/dist/mcp/metadata-cache.d.ts +32 -0
- package/dist/mcp/metadata-cache.d.ts.map +1 -0
- package/dist/mcp/npx-resolver.d.ts +7 -0
- package/dist/mcp/npx-resolver.d.ts.map +1 -0
- package/dist/mcp/oauth-handler.d.ts +19 -0
- package/dist/mcp/oauth-handler.d.ts.map +1 -0
- package/dist/mcp/onboarding-state.d.ts +13 -0
- package/dist/mcp/onboarding-state.d.ts.map +1 -0
- package/dist/mcp/proxy-modes.d.ts +12 -0
- package/dist/mcp/proxy-modes.d.ts.map +1 -0
- package/dist/mcp/proxy-modes.js +2 -2
- package/dist/mcp/resource-tools.d.ts +2 -0
- package/dist/mcp/resource-tools.d.ts.map +1 -0
- package/dist/mcp/sampling-handler.d.ts +16 -0
- package/dist/mcp/sampling-handler.d.ts.map +1 -0
- package/dist/mcp/server-manager.d.ts +42 -0
- package/dist/mcp/server-manager.d.ts.map +1 -0
- package/dist/mcp/server-manager.js +2 -2
- package/dist/mcp/state-getter.d.ts +14 -0
- package/dist/mcp/state-getter.d.ts.map +1 -0
- package/dist/mcp/state-getter.js +21 -0
- package/dist/mcp/state.d.ts +41 -0
- package/dist/mcp/state.d.ts.map +1 -0
- package/dist/mcp/tool-metadata.d.ts +11 -0
- package/dist/mcp/tool-metadata.d.ts.map +1 -0
- package/dist/mcp/tool-registrar.d.ts +9 -0
- package/dist/mcp/tool-registrar.d.ts.map +1 -0
- package/dist/mcp/tool-registrar.js +1 -1
- package/dist/mcp/types.d.ts +263 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/ui-resource-handler.d.ts +10 -0
- package/dist/mcp/ui-resource-handler.d.ts.map +1 -0
- package/dist/mcp/ui-server.d.ts +37 -0
- package/dist/mcp/ui-server.d.ts.map +1 -0
- package/dist/mcp/ui-server.js +1 -1
- package/dist/mcp/ui-session.d.ts +27 -0
- package/dist/mcp/ui-session.d.ts.map +1 -0
- package/dist/mcp/ui-stream-types.d.ts +197 -0
- package/dist/mcp/ui-stream-types.d.ts.map +1 -0
- package/dist/mcp/ui-stream-types.js +5 -5
- package/dist/mcp/utils.d.ts +17 -0
- package/dist/mcp/utils.d.ts.map +1 -0
- package/dist/mcp/utils.js +10 -10
- package/dist/mcp/vitest.config.d.ts +3 -0
- package/dist/mcp/vitest.config.d.ts.map +1 -0
- package/dist/mcp-client.d.ts +58 -0
- package/dist/mcp-client.d.ts.map +1 -0
- package/dist/mcp-client.js +3 -2
- package/dist/memory/branch.d.ts +124 -0
- package/dist/memory/branch.d.ts.map +1 -0
- package/dist/memory/commands/status.d.ts +4 -0
- package/dist/memory/commands/status.d.ts.map +1 -0
- package/dist/memory/commands/status.js +2 -2
- package/dist/memory/commands/view.d.ts +4 -0
- package/dist/memory/commands/view.d.ts.map +1 -0
- package/dist/memory/commands/view.js +2 -2
- package/dist/memory/compaction.d.ts +113 -0
- package/dist/memory/compaction.d.ts.map +1 -0
- package/dist/memory/config.d.ts +27 -0
- package/dist/memory/config.d.ts.map +1 -0
- package/dist/memory/debug-log.d.ts +12 -0
- package/dist/memory/debug-log.d.ts.map +1 -0
- package/dist/memory/hooks/compaction-hook.d.ts +4 -0
- package/dist/memory/hooks/compaction-hook.d.ts.map +1 -0
- package/dist/memory/hooks/compaction-hook.js +5 -5
- package/dist/memory/hooks/compaction-trigger.d.ts +4 -0
- package/dist/memory/hooks/compaction-trigger.d.ts.map +1 -0
- package/dist/memory/hooks/compaction-trigger.js +3 -3
- package/dist/memory/hooks/observer-trigger.d.ts +4 -0
- package/dist/memory/hooks/observer-trigger.d.ts.map +1 -0
- package/dist/memory/hooks/observer-trigger.js +4 -4
- package/dist/memory/ids.d.ts +2 -0
- package/dist/memory/ids.d.ts.map +1 -0
- package/dist/memory/index.d.ts +3 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +9 -9
- package/dist/memory/model-budget.d.ts +4 -0
- package/dist/memory/model-budget.d.ts.map +1 -0
- package/dist/memory/observer.d.ts +21 -0
- package/dist/memory/observer.d.ts.map +1 -0
- package/dist/memory/project-observations-store.d.ts +24 -0
- package/dist/memory/project-observations-store.d.ts.map +1 -0
- package/dist/memory/prompts.d.ts +11 -0
- package/dist/memory/prompts.d.ts.map +1 -0
- package/dist/memory/relevance.d.ts +4 -0
- package/dist/memory/relevance.d.ts.map +1 -0
- package/dist/memory/runtime.d.ts +40 -0
- package/dist/memory/runtime.d.ts.map +1 -0
- package/dist/memory/serialize.d.ts +26 -0
- package/dist/memory/serialize.d.ts.map +1 -0
- package/dist/memory/tokens.d.ts +8 -0
- package/dist/memory/tokens.d.ts.map +1 -0
- package/dist/memory/tools/read-project-observations.d.ts +8 -0
- package/dist/memory/tools/read-project-observations.d.ts.map +1 -0
- package/dist/memory/tools/read-project-observations.js +2 -2
- package/dist/memory/tools/recall-observation.d.ts +63 -0
- package/dist/memory/tools/recall-observation.d.ts.map +1 -0
- package/dist/memory/tools/recall-observation.js +2 -2
- package/dist/memory/tools/write-project-observation.d.ts +9 -0
- package/dist/memory/tools/write-project-observation.d.ts.map +1 -0
- package/dist/memory/tools/write-project-observation.js +2 -2
- package/dist/memory/types.d.ts +65 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/preflight.d.ts +27 -0
- package/dist/preflight.d.ts.map +1 -0
- package/dist/preflight.js +4 -2
- package/dist/relay/auto-research.d.ts +64 -0
- package/dist/relay/auto-research.d.ts.map +1 -0
- package/dist/relay/auto-research.js +184 -79
- package/dist/relay/client.d.ts +126 -0
- package/dist/relay/client.d.ts.map +1 -0
- package/dist/relay/dispatcher.d.ts +216 -0
- package/dist/relay/dispatcher.d.ts.map +1 -0
- package/dist/relay/dispatcher.js +33 -6
- package/dist/relay/machine-store.d.ts +68 -0
- package/dist/relay/machine-store.d.ts.map +1 -0
- package/dist/relay/models-fetch.d.ts +75 -0
- package/dist/relay/models-fetch.d.ts.map +1 -0
- package/dist/relay/registration.d.ts +81 -0
- package/dist/relay/registration.d.ts.map +1 -0
- package/dist/sdk/agent-core/agent-loop.d.ts +24 -0
- package/dist/sdk/agent-core/agent-loop.d.ts.map +1 -0
- package/dist/sdk/agent-core/agent.d.ts +125 -0
- package/dist/sdk/agent-core/agent.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/agent-harness.d.ts +92 -0
- package/dist/sdk/agent-core/harness/agent-harness.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/compaction/branch-summarization.d.ts +53 -0
- package/dist/sdk/agent-core/harness/compaction/branch-summarization.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/compaction/compaction.d.ts +95 -0
- package/dist/sdk/agent-core/harness/compaction/compaction.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/compaction/utils.d.ts +25 -0
- package/dist/sdk/agent-core/harness/compaction/utils.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/env/nodejs.d.ts +51 -0
- package/dist/sdk/agent-core/harness/env/nodejs.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/messages.d.ts +51 -0
- package/dist/sdk/agent-core/harness/messages.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/prompt-templates.d.ts +48 -0
- package/dist/sdk/agent-core/harness/prompt-templates.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/session/jsonl-repo.d.ts +26 -0
- package/dist/sdk/agent-core/harness/session/jsonl-repo.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/session/jsonl-storage.d.ts +33 -0
- package/dist/sdk/agent-core/harness/session/jsonl-storage.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/session/memory-repo.d.ts +18 -0
- package/dist/sdk/agent-core/harness/session/memory-repo.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/session/memory-storage.d.ts +25 -0
- package/dist/sdk/agent-core/harness/session/memory-storage.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/session/repo-utils.d.ts +11 -0
- package/dist/sdk/agent-core/harness/session/repo-utils.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/session/session.d.ts +32 -0
- package/dist/sdk/agent-core/harness/session/session.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/session/uuid.d.ts +2 -0
- package/dist/sdk/agent-core/harness/session/uuid.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/skills.d.ts +44 -0
- package/dist/sdk/agent-core/harness/skills.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/system-prompt.d.ts +3 -0
- package/dist/sdk/agent-core/harness/system-prompt.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/types.d.ts +601 -0
- package/dist/sdk/agent-core/harness/types.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/utils/shell-output.d.ts +14 -0
- package/dist/sdk/agent-core/harness/utils/shell-output.d.ts.map +1 -0
- package/dist/sdk/agent-core/harness/utils/truncate.d.ts +70 -0
- package/dist/sdk/agent-core/harness/utils/truncate.d.ts.map +1 -0
- package/dist/sdk/agent-core/index.d.ts +20 -0
- package/dist/sdk/agent-core/index.d.ts.map +1 -0
- package/dist/sdk/agent-core/node.d.ts +3 -0
- package/dist/sdk/agent-core/node.d.ts.map +1 -0
- package/dist/sdk/agent-core/proxy.d.ts +69 -0
- package/dist/sdk/agent-core/proxy.d.ts.map +1 -0
- package/dist/sdk/agent-core/types.d.ts +393 -0
- package/dist/sdk/agent-core/types.d.ts.map +1 -0
- package/dist/sdk/ai/api-registry.d.ts +20 -0
- package/dist/sdk/ai/api-registry.d.ts.map +1 -0
- package/dist/sdk/ai/cli.d.ts +3 -0
- package/dist/sdk/ai/cli.d.ts.map +1 -0
- package/dist/sdk/ai/env-api-keys.d.ts +18 -0
- package/dist/sdk/ai/env-api-keys.d.ts.map +1 -0
- package/dist/sdk/ai/image-models.d.ts +10 -0
- package/dist/sdk/ai/image-models.d.ts.map +1 -0
- package/dist/sdk/ai/image-models.generated.d.ts +440 -0
- package/dist/sdk/ai/image-models.generated.d.ts.map +1 -0
- package/dist/sdk/ai/images-api-registry.d.ts +14 -0
- package/dist/sdk/ai/images-api-registry.d.ts.map +1 -0
- package/dist/sdk/ai/images.d.ts +4 -0
- package/dist/sdk/ai/images.d.ts.map +1 -0
- package/dist/sdk/ai/index.d.ts +21 -0
- package/dist/sdk/ai/index.d.ts.map +1 -0
- package/dist/sdk/ai/models.d.ts +18 -0
- package/dist/sdk/ai/models.d.ts.map +1 -0
- package/dist/sdk/ai/models.generated.d.ts +17349 -0
- package/dist/sdk/ai/models.generated.d.ts.map +1 -0
- package/dist/sdk/ai/oauth.d.ts +2 -0
- package/dist/sdk/ai/oauth.d.ts.map +1 -0
- package/dist/sdk/ai/providers/anthropic.d.ts +54 -0
- package/dist/sdk/ai/providers/anthropic.d.ts.map +1 -0
- package/dist/sdk/ai/providers/faux.d.ts +56 -0
- package/dist/sdk/ai/providers/faux.d.ts.map +1 -0
- package/dist/sdk/ai/providers/github-copilot-headers.d.ts +8 -0
- package/dist/sdk/ai/providers/github-copilot-headers.d.ts.map +1 -0
- package/dist/sdk/ai/providers/openai-completions.d.ts +19 -0
- package/dist/sdk/ai/providers/openai-completions.d.ts.map +1 -0
- package/dist/sdk/ai/providers/openai-prompt-cache.d.ts +3 -0
- package/dist/sdk/ai/providers/openai-prompt-cache.d.ts.map +1 -0
- package/dist/sdk/ai/providers/register-builtins.d.ts +15 -0
- package/dist/sdk/ai/providers/register-builtins.d.ts.map +1 -0
- package/dist/sdk/ai/providers/simple-options.d.ts +8 -0
- package/dist/sdk/ai/providers/simple-options.d.ts.map +1 -0
- package/dist/sdk/ai/providers/transform-messages.d.ts +8 -0
- package/dist/sdk/ai/providers/transform-messages.d.ts.map +1 -0
- package/dist/sdk/ai/session-resources.d.ts +4 -0
- package/dist/sdk/ai/session-resources.d.ts.map +1 -0
- package/dist/sdk/ai/stream.d.ts +8 -0
- package/dist/sdk/ai/stream.d.ts.map +1 -0
- package/dist/sdk/ai/types.d.ts +488 -0
- package/dist/sdk/ai/types.d.ts.map +1 -0
- package/dist/sdk/ai/utils/diagnostics.d.ts +19 -0
- package/dist/sdk/ai/utils/diagnostics.d.ts.map +1 -0
- package/dist/sdk/ai/utils/event-stream.d.ts +21 -0
- package/dist/sdk/ai/utils/event-stream.d.ts.map +1 -0
- package/dist/sdk/ai/utils/hash.d.ts +3 -0
- package/dist/sdk/ai/utils/hash.d.ts.map +1 -0
- package/dist/sdk/ai/utils/headers.d.ts +2 -0
- package/dist/sdk/ai/utils/headers.d.ts.map +1 -0
- package/dist/sdk/ai/utils/json-parse.d.ts +16 -0
- package/dist/sdk/ai/utils/json-parse.d.ts.map +1 -0
- package/dist/sdk/ai/utils/node-http-proxy.d.ts +10 -0
- package/dist/sdk/ai/utils/node-http-proxy.d.ts.map +1 -0
- package/dist/sdk/ai/utils/oauth/anthropic.d.ts +25 -0
- package/dist/sdk/ai/utils/oauth/anthropic.d.ts.map +1 -0
- package/dist/sdk/ai/utils/oauth/device-code.d.ts +19 -0
- package/dist/sdk/ai/utils/oauth/device-code.d.ts.map +1 -0
- package/dist/sdk/ai/utils/oauth/github-copilot.d.ts +30 -0
- package/dist/sdk/ai/utils/oauth/github-copilot.d.ts.map +1 -0
- package/dist/sdk/ai/utils/oauth/index.d.ts +58 -0
- package/dist/sdk/ai/utils/oauth/index.d.ts.map +1 -0
- package/dist/sdk/ai/utils/oauth/oauth-page.d.ts +3 -0
- package/dist/sdk/ai/utils/oauth/oauth-page.d.ts.map +1 -0
- package/dist/sdk/ai/utils/oauth/openai-codex.d.ts +34 -0
- package/dist/sdk/ai/utils/oauth/openai-codex.d.ts.map +1 -0
- package/dist/sdk/ai/utils/oauth/openai-codex.js +2 -2
- package/dist/sdk/ai/utils/oauth/pkce.d.ts +13 -0
- package/dist/sdk/ai/utils/oauth/pkce.d.ts.map +1 -0
- package/dist/sdk/ai/utils/oauth/types.d.ts +64 -0
- package/dist/sdk/ai/utils/oauth/types.d.ts.map +1 -0
- package/dist/sdk/ai/utils/overflow.d.ts +56 -0
- package/dist/sdk/ai/utils/overflow.d.ts.map +1 -0
- package/dist/sdk/ai/utils/sanitize-unicode.d.ts +22 -0
- package/dist/sdk/ai/utils/sanitize-unicode.d.ts.map +1 -0
- package/dist/sdk/ai/utils/typebox-helpers.d.ts +17 -0
- package/dist/sdk/ai/utils/typebox-helpers.d.ts.map +1 -0
- package/dist/sdk/ai/utils/validation.d.ts +18 -0
- package/dist/sdk/ai/utils/validation.d.ts.map +1 -0
- package/dist/sdk/coding-agent/cli.d.ts +3 -0
- package/dist/sdk/coding-agent/cli.d.ts.map +1 -0
- package/dist/sdk/coding-agent/config.d.ts +71 -0
- package/dist/sdk/coding-agent/config.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/agent-session-runtime.d.ts +117 -0
- package/dist/sdk/coding-agent/core/agent-session-runtime.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/agent-session-services.d.ts +86 -0
- package/dist/sdk/coding-agent/core/agent-session-services.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/agent-session.d.ts +626 -0
- package/dist/sdk/coding-agent/core/agent-session.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/agent-session.js +3 -3
- package/dist/sdk/coding-agent/core/auth-guidance.d.ts +5 -0
- package/dist/sdk/coding-agent/core/auth-guidance.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/auth-storage.d.ts +145 -0
- package/dist/sdk/coding-agent/core/auth-storage.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/auth-storage.js +2 -2
- package/dist/sdk/coding-agent/core/bash-executor.d.ts +32 -0
- package/dist/sdk/coding-agent/core/bash-executor.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/bash-executor.js +1 -1
- package/dist/sdk/coding-agent/core/compaction/branch-summarization.d.ts +88 -0
- package/dist/sdk/coding-agent/core/compaction/branch-summarization.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/compaction/branch-summarization.js +1 -1
- package/dist/sdk/coding-agent/core/compaction/compaction.d.ts +142 -0
- package/dist/sdk/coding-agent/core/compaction/compaction.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/compaction/compaction.js +1 -1
- package/dist/sdk/coding-agent/core/compaction/index.d.ts +7 -0
- package/dist/sdk/coding-agent/core/compaction/index.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/compaction/utils.d.ts +38 -0
- package/dist/sdk/coding-agent/core/compaction/utils.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/defaults.d.ts +3 -0
- package/dist/sdk/coding-agent/core/defaults.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/diagnostics.d.ts +15 -0
- package/dist/sdk/coding-agent/core/diagnostics.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/event-bus.d.ts +9 -0
- package/dist/sdk/coding-agent/core/event-bus.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/exec.d.ts +29 -0
- package/dist/sdk/coding-agent/core/exec.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/extensions/index.d.ts +12 -0
- package/dist/sdk/coding-agent/core/extensions/index.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/extensions/loader.d.ts +24 -0
- package/dist/sdk/coding-agent/core/extensions/loader.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/extensions/loader.js +18 -21
- package/dist/sdk/coding-agent/core/extensions/runner.d.ts +161 -0
- package/dist/sdk/coding-agent/core/extensions/runner.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/extensions/runner.js +1 -1
- package/dist/sdk/coding-agent/core/extensions/types.d.ts +1181 -0
- package/dist/sdk/coding-agent/core/extensions/types.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/extensions/wrapper.d.ts +20 -0
- package/dist/sdk/coding-agent/core/extensions/wrapper.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/http-dispatcher.d.ts +21 -0
- package/dist/sdk/coding-agent/core/http-dispatcher.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/index.d.ts +12 -0
- package/dist/sdk/coding-agent/core/index.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/keybindings.d.ts +371 -0
- package/dist/sdk/coding-agent/core/keybindings.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/messages.d.ts +77 -0
- package/dist/sdk/coding-agent/core/messages.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/model-registry.d.ts +150 -0
- package/dist/sdk/coding-agent/core/model-registry.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/model-resolver-utils.d.ts +7 -0
- package/dist/sdk/coding-agent/core/model-resolver-utils.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/model-resolver.d.ts +110 -0
- package/dist/sdk/coding-agent/core/model-resolver.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/output-guard.d.ts +6 -0
- package/dist/sdk/coding-agent/core/output-guard.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/package-manager.d.ts +204 -0
- package/dist/sdk/coding-agent/core/package-manager.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/package-manager.js +14 -14
- package/dist/sdk/coding-agent/core/prompt-templates.d.ts +52 -0
- package/dist/sdk/coding-agent/core/prompt-templates.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/provider-display-names.d.ts +2 -0
- package/dist/sdk/coding-agent/core/provider-display-names.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/resolve-config-value.d.ts +23 -0
- package/dist/sdk/coding-agent/core/resolve-config-value.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/resource-loader.d.ts +194 -0
- package/dist/sdk/coding-agent/core/resource-loader.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/sdk.d.ts +107 -0
- package/dist/sdk/coding-agent/core/sdk.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/sdk.js +2 -2
- package/dist/sdk/coding-agent/core/session-cwd.d.ts +19 -0
- package/dist/sdk/coding-agent/core/session-cwd.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/session-manager.d.ts +333 -0
- package/dist/sdk/coding-agent/core/session-manager.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/settings-manager.d.ts +209 -0
- package/dist/sdk/coding-agent/core/settings-manager.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/skills.d.ts +60 -0
- package/dist/sdk/coding-agent/core/skills.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/slash-commands.d.ts +14 -0
- package/dist/sdk/coding-agent/core/slash-commands.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/source-info.d.ts +18 -0
- package/dist/sdk/coding-agent/core/source-info.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/system-prompt.d.ts +28 -0
- package/dist/sdk/coding-agent/core/system-prompt.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/system-prompt.js +7 -7
- package/dist/sdk/coding-agent/core/telemetry.d.ts +3 -0
- package/dist/sdk/coding-agent/core/telemetry.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/theme.d.ts +28 -0
- package/dist/sdk/coding-agent/core/theme.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/timings.d.ts +8 -0
- package/dist/sdk/coding-agent/core/timings.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/bash.d.ts +63 -0
- package/dist/sdk/coding-agent/core/tools/bash.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/bash.js +3 -3
- package/dist/sdk/coding-agent/core/tools/edit-diff.d.ts +87 -0
- package/dist/sdk/coding-agent/core/tools/edit-diff.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/edit.d.ts +39 -0
- package/dist/sdk/coding-agent/core/tools/edit.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/file-mutation-queue.d.ts +6 -0
- package/dist/sdk/coding-agent/core/tools/file-mutation-queue.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/find.d.ts +35 -0
- package/dist/sdk/coding-agent/core/tools/find.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/grep.d.ts +37 -0
- package/dist/sdk/coding-agent/core/tools/grep.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/index.d.ts +40 -0
- package/dist/sdk/coding-agent/core/tools/index.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/ls.d.ts +37 -0
- package/dist/sdk/coding-agent/core/tools/ls.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/output-accumulator.d.ts +52 -0
- package/dist/sdk/coding-agent/core/tools/output-accumulator.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/output-accumulator.js +1 -1
- package/dist/sdk/coding-agent/core/tools/path-utils.d.ts +8 -0
- package/dist/sdk/coding-agent/core/tools/path-utils.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/read.d.ts +35 -0
- package/dist/sdk/coding-agent/core/tools/read.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/read.js +18 -10
- package/dist/sdk/coding-agent/core/tools/render-diff.d.ts +17 -0
- package/dist/sdk/coding-agent/core/tools/render-diff.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/render-utils.d.ts +21 -0
- package/dist/sdk/coding-agent/core/tools/render-utils.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/tool-definition-wrapper.d.ts +14 -0
- package/dist/sdk/coding-agent/core/tools/tool-definition-wrapper.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/truncate.d.ts +70 -0
- package/dist/sdk/coding-agent/core/tools/truncate.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/tools/write.d.ts +26 -0
- package/dist/sdk/coding-agent/core/tools/write.d.ts.map +1 -0
- package/dist/sdk/coding-agent/index.d.ts +29 -0
- package/dist/sdk/coding-agent/index.d.ts.map +1 -0
- package/dist/sdk/coding-agent/main.d.ts +2 -0
- package/dist/sdk/coding-agent/main.d.ts.map +1 -0
- package/dist/sdk/coding-agent/migrations.d.ts +33 -0
- package/dist/sdk/coding-agent/migrations.d.ts.map +1 -0
- package/dist/sdk/coding-agent/migrations.js +4 -4
- package/dist/sdk/coding-agent/modes/index.d.ts +8 -0
- package/dist/sdk/coding-agent/modes/index.d.ts.map +1 -0
- package/dist/sdk/coding-agent/modes/print-mode.d.ts +28 -0
- package/dist/sdk/coding-agent/modes/print-mode.d.ts.map +1 -0
- package/dist/sdk/coding-agent/modes/print-mode.js +2 -2
- package/dist/sdk/coding-agent/modes/rpc/jsonl.d.ts +17 -0
- package/dist/sdk/coding-agent/modes/rpc/jsonl.d.ts.map +1 -0
- package/dist/sdk/coding-agent/modes/rpc/rpc-client.d.ts +224 -0
- package/dist/sdk/coding-agent/modes/rpc/rpc-client.d.ts.map +1 -0
- package/dist/sdk/coding-agent/modes/rpc/rpc-mode.d.ts +20 -0
- package/dist/sdk/coding-agent/modes/rpc/rpc-mode.d.ts.map +1 -0
- package/dist/sdk/coding-agent/modes/rpc/rpc-types.d.ts +419 -0
- package/dist/sdk/coding-agent/modes/rpc/rpc-types.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/ansi.d.ts +2 -0
- package/dist/sdk/coding-agent/utils/ansi.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/changelog.d.ts +21 -0
- package/dist/sdk/coding-agent/utils/changelog.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/child-process.d.ts +15 -0
- package/dist/sdk/coding-agent/utils/child-process.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/clipboard-image.d.ts +11 -0
- package/dist/sdk/coding-agent/utils/clipboard-image.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/clipboard-image.js +1 -1
- package/dist/sdk/coding-agent/utils/clipboard-native.d.ts +8 -0
- package/dist/sdk/coding-agent/utils/clipboard-native.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/clipboard.d.ts +2 -0
- package/dist/sdk/coding-agent/utils/clipboard.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/exif-orientation.d.ts +5 -0
- package/dist/sdk/coding-agent/utils/exif-orientation.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/frontmatter.d.ts +8 -0
- package/dist/sdk/coding-agent/utils/frontmatter.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/fs-watch.d.ts +5 -0
- package/dist/sdk/coding-agent/utils/fs-watch.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/git.d.ts +26 -0
- package/dist/sdk/coding-agent/utils/git.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/html.d.ts +7 -0
- package/dist/sdk/coding-agent/utils/html.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/image-convert.d.ts +9 -0
- package/dist/sdk/coding-agent/utils/image-convert.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/image-resize.d.ts +36 -0
- package/dist/sdk/coding-agent/utils/image-resize.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/mime.d.ts +3 -0
- package/dist/sdk/coding-agent/utils/mime.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/paths.d.ts +31 -0
- package/dist/sdk/coding-agent/utils/paths.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/photon.d.ts +13 -0
- package/dist/sdk/coding-agent/utils/photon.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/shell.d.ts +30 -0
- package/dist/sdk/coding-agent/utils/shell.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/sleep.d.ts +5 -0
- package/dist/sdk/coding-agent/utils/sleep.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/spectral-user-agent.d.ts +2 -0
- package/dist/sdk/coding-agent/utils/spectral-user-agent.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/spectral-user-agent.js +3 -0
- package/dist/sdk/coding-agent/utils/syntax-highlight.d.ts +12 -0
- package/dist/sdk/coding-agent/utils/syntax-highlight.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/tools-manager.d.ts +3 -0
- package/dist/sdk/coding-agent/utils/tools-manager.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/version-check.d.ts +15 -0
- package/dist/sdk/coding-agent/utils/version-check.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/version-check.js +7 -7
- package/dist/sdk/coding-agent/utils/windows-self-update.d.ts +3 -0
- package/dist/sdk/coding-agent/utils/windows-self-update.d.ts.map +1 -0
- package/dist/sdk/coding-agent/utils/windows-self-update.js +1 -1
- package/dist/server/agent-bridge.d.ts +308 -0
- package/dist/server/agent-bridge.d.ts.map +1 -0
- package/dist/server/agent-bridge.js +58 -58
- package/dist/server/handlers/errors.d.ts +26 -0
- package/dist/server/handlers/errors.d.ts.map +1 -0
- package/dist/server/handlers/mcp-status.d.ts +21 -0
- package/dist/server/handlers/mcp-status.d.ts.map +1 -0
- package/dist/server/handlers/mcp-status.js +52 -0
- package/dist/server/handlers/paths-autocomplete.d.ts +45 -0
- package/dist/server/handlers/paths-autocomplete.d.ts.map +1 -0
- package/dist/server/handlers/projects.d.ts +58 -0
- package/dist/server/handlers/projects.d.ts.map +1 -0
- package/dist/server/handlers/queue.d.ts +27 -0
- package/dist/server/handlers/queue.d.ts.map +1 -0
- package/dist/server/handlers/sessions.d.ts +50 -0
- package/dist/server/handlers/sessions.d.ts.map +1 -0
- package/dist/server/handlers/sessions.js +1 -1
- package/dist/server/handlers/settings.d.ts +30 -0
- package/dist/server/handlers/settings.d.ts.map +1 -0
- package/dist/server/handlers/settings.js +123 -0
- package/dist/server/paths.d.ts +51 -0
- package/dist/server/paths.d.ts.map +1 -0
- package/dist/server/paths.js +2 -2
- package/dist/server/session-stream.d.ts +379 -0
- package/dist/server/session-stream.d.ts.map +1 -0
- package/dist/server/session-stream.js +43 -34
- package/dist/server/shutdown.d.ts +102 -0
- package/dist/server/shutdown.d.ts.map +1 -0
- package/dist/server/shutdown.js +3 -3
- package/dist/server/storage.d.ts +287 -0
- package/dist/server/storage.d.ts.map +1 -0
- package/dist/server/storage.js +6 -6
- package/dist/server/title-generator.d.ts +25 -0
- package/dist/server/title-generator.d.ts.map +1 -0
- package/dist/server/wire.d.ts +448 -0
- package/dist/server/wire.d.ts.map +1 -0
- package/dist/server/wire.js +1 -1
- package/dist/studio-binding.d.ts +44 -0
- package/dist/studio-binding.d.ts.map +1 -0
- package/dist/studio-binding.js +1 -1
- package/package.json +11 -1
- package/dist/sdk/coding-agent/utils/pi-user-agent.js +0 -3
package/dist/mcp/utils.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import { homedir, platform } from "node:os";
|
|
2
2
|
import { join } from "node:path";
|
|
3
|
-
async function execOpen(
|
|
3
|
+
async function execOpen(ext, target, browser) {
|
|
4
4
|
const os = platform();
|
|
5
5
|
if (os === "darwin") {
|
|
6
|
-
return browser ?
|
|
6
|
+
return browser ? ext.exec("open", ["-a", browser, target]) : ext.exec("open", [target]);
|
|
7
7
|
}
|
|
8
8
|
if (os === "win32") {
|
|
9
9
|
return browser
|
|
10
|
-
?
|
|
11
|
-
:
|
|
10
|
+
? ext.exec("cmd", ["/c", "start", "", browser, target])
|
|
11
|
+
: ext.exec("cmd", ["/c", "start", "", target]);
|
|
12
12
|
}
|
|
13
|
-
return browser ?
|
|
13
|
+
return browser ? ext.exec(browser, [target]) : ext.exec("xdg-open", [target]);
|
|
14
14
|
}
|
|
15
|
-
export async function openUrl(
|
|
16
|
-
const result = await execOpen(
|
|
15
|
+
export async function openUrl(ext, url, browser) {
|
|
16
|
+
const result = await execOpen(ext, url, browser);
|
|
17
17
|
if (result.code !== 0) {
|
|
18
18
|
throw new Error(result.stderr || `Failed to open browser (exit code ${result.code})`);
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
export async function openPath(
|
|
22
|
-
const result = await execOpen(
|
|
21
|
+
export async function openPath(ext, targetPath) {
|
|
22
|
+
const result = await execOpen(ext, targetPath);
|
|
23
23
|
if (result.code !== 0) {
|
|
24
24
|
throw new Error(result.stderr || `Failed to open path (exit code ${result.code})`);
|
|
25
25
|
}
|
|
@@ -96,7 +96,7 @@ export function extractToolUiStreamMode(toolMeta) {
|
|
|
96
96
|
const uiMeta = toolMeta?.ui;
|
|
97
97
|
if (!uiMeta || typeof uiMeta !== "object")
|
|
98
98
|
return undefined;
|
|
99
|
-
const streamMode = uiMeta["
|
|
99
|
+
const streamMode = uiMeta["spectral-mcp-adapter.streamMode"];
|
|
100
100
|
if (streamMode === "eager" || streamMode === "stream-first") {
|
|
101
101
|
return streamMode;
|
|
102
102
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vitest.config.d.ts","sourceRoot":"","sources":["../../src/mcp/vitest.config.ts"],"names":[],"mappings":";AAEA,wBAWG"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal hand-rolled JSON-RPC 2.0 client for the Aexol MCP backend.
|
|
3
|
+
*
|
|
4
|
+
* Why hand-rolled, not @modelcontextprotocol/sdk?
|
|
5
|
+
* - The Aexol backend speaks a non-standard MCP dialect (custom content types,
|
|
6
|
+
* protocol version 0.1.0 negotiation, no SSE). The official SDK adds a lot
|
|
7
|
+
* of negotiation overhead we don't need and would actively break against
|
|
8
|
+
* this server.
|
|
9
|
+
* - All we want is: POST a JSON-RPC envelope with a Bearer token, get a
|
|
10
|
+
* JSON-RPC reply, surface errors. fetch() is built into Node 20+.
|
|
11
|
+
*/
|
|
12
|
+
export interface McpTool {
|
|
13
|
+
name: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
inputSchema: unknown;
|
|
16
|
+
}
|
|
17
|
+
export interface McpContentItem {
|
|
18
|
+
type: string;
|
|
19
|
+
json?: unknown;
|
|
20
|
+
text?: string;
|
|
21
|
+
[k: string]: unknown;
|
|
22
|
+
}
|
|
23
|
+
export interface McpToolCallResult {
|
|
24
|
+
content: McpContentItem[];
|
|
25
|
+
isError?: boolean;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Errors thrown by AexolMcpClient carry an optional HTTP `status` so callers
|
|
29
|
+
* can produce friendlier messages (e.g. 401 → "invalid token").
|
|
30
|
+
*/
|
|
31
|
+
export declare class AexolMcpError extends Error {
|
|
32
|
+
readonly status?: number;
|
|
33
|
+
readonly code?: number;
|
|
34
|
+
constructor(message: string, opts?: {
|
|
35
|
+
status?: number;
|
|
36
|
+
code?: number;
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
export declare class AexolMcpClient {
|
|
40
|
+
private readonly apiUrl;
|
|
41
|
+
private readonly apiKey;
|
|
42
|
+
private readonly timeoutMs;
|
|
43
|
+
constructor(apiUrl: string, apiKey: string, timeoutMs?: number);
|
|
44
|
+
/** Low-level: send a JSON-RPC call and return its `result` field. */
|
|
45
|
+
call<T>(method: string, params?: unknown): Promise<T>;
|
|
46
|
+
/**
|
|
47
|
+
* Fetch the tool catalog. The Aexol backend returns `{ tools: [...] }`
|
|
48
|
+
* per JSON-RPC convention, but we accept the raw array shape too in case
|
|
49
|
+
* the server format drifts.
|
|
50
|
+
*/
|
|
51
|
+
listTools(): Promise<McpTool[]>;
|
|
52
|
+
/**
|
|
53
|
+
* Invoke a single tool. Returns the raw `{ content, isError? }` envelope —
|
|
54
|
+
* the caller (the spectral extension) decides how to surface it back to the model.
|
|
55
|
+
*/
|
|
56
|
+
callTool(name: string, args: unknown): Promise<McpToolCallResult>;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=mcp-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../src/mcp-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAgBD;;;GAGG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;gBACX,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAO;CAM3E;AAED,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAFT,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,MAAe;IAG7C,qEAAqE;IAC/D,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAoE3D;;;;OAIG;IACG,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IASrC;;;OAGG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAexE"}
|
package/dist/mcp-client.js
CHANGED
|
@@ -101,14 +101,15 @@ export class AexolMcpClient {
|
|
|
101
101
|
}
|
|
102
102
|
/**
|
|
103
103
|
* Invoke a single tool. Returns the raw `{ content, isError? }` envelope —
|
|
104
|
-
* the caller (the
|
|
104
|
+
* the caller (the spectral extension) decides how to surface it back to the model.
|
|
105
105
|
*/
|
|
106
106
|
async callTool(name, args) {
|
|
107
107
|
const result = await this.call("tools/call", {
|
|
108
108
|
name,
|
|
109
109
|
arguments: args ?? {},
|
|
110
110
|
});
|
|
111
|
-
if (!result || typeof result !== "object" ||
|
|
111
|
+
if (!result || typeof result !== "object" ||
|
|
112
|
+
!Array.isArray(result.content)) {
|
|
112
113
|
throw new AexolMcpError(`tools/call returned an unexpected payload for "${name}"`);
|
|
113
114
|
}
|
|
114
115
|
return result;
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { type MemoryReflection, type ObservationEntryData, type ObservationRecord, type ReflectionRecord } from "./types.js";
|
|
2
|
+
export type Entry = {
|
|
3
|
+
type: string;
|
|
4
|
+
id: string;
|
|
5
|
+
timestamp?: string;
|
|
6
|
+
message?: unknown;
|
|
7
|
+
content?: unknown;
|
|
8
|
+
customType?: string;
|
|
9
|
+
summary?: unknown;
|
|
10
|
+
fromId?: string;
|
|
11
|
+
data?: unknown;
|
|
12
|
+
details?: unknown;
|
|
13
|
+
firstKeptEntryId?: string;
|
|
14
|
+
};
|
|
15
|
+
export declare function isSourceEntry(entry: Entry): boolean;
|
|
16
|
+
export type RecallObservationMatch = {
|
|
17
|
+
status: "ok";
|
|
18
|
+
observation: ObservationRecord;
|
|
19
|
+
observationEntryId: string;
|
|
20
|
+
sourceEntryIds: string[];
|
|
21
|
+
sourceEntries: Entry[];
|
|
22
|
+
} | {
|
|
23
|
+
status: "no_source";
|
|
24
|
+
observation: ObservationRecord;
|
|
25
|
+
observationEntryId: string;
|
|
26
|
+
} | {
|
|
27
|
+
status: "source_unavailable";
|
|
28
|
+
observation: ObservationRecord;
|
|
29
|
+
observationEntryId: string;
|
|
30
|
+
sourceEntryIds: string[];
|
|
31
|
+
missingSourceEntryIds: string[];
|
|
32
|
+
nonSourceEntryIds: string[];
|
|
33
|
+
};
|
|
34
|
+
export type RecallObservationSourcesResult = {
|
|
35
|
+
status: "not_found";
|
|
36
|
+
observationId: string;
|
|
37
|
+
matches: [];
|
|
38
|
+
collision: false;
|
|
39
|
+
} | {
|
|
40
|
+
status: "found";
|
|
41
|
+
observationId: string;
|
|
42
|
+
matches: RecallObservationMatch[];
|
|
43
|
+
collision: boolean;
|
|
44
|
+
};
|
|
45
|
+
export type RecallMemoryObservation = {
|
|
46
|
+
status: "ok";
|
|
47
|
+
observation: ObservationRecord;
|
|
48
|
+
observationEntryId: string;
|
|
49
|
+
observationRecordIndex: number;
|
|
50
|
+
sourceEntryIds: string[];
|
|
51
|
+
sourceEntries: Entry[];
|
|
52
|
+
} | {
|
|
53
|
+
status: "no_source";
|
|
54
|
+
observation: ObservationRecord;
|
|
55
|
+
observationEntryId: string;
|
|
56
|
+
observationRecordIndex: number;
|
|
57
|
+
} | {
|
|
58
|
+
status: "source_unavailable";
|
|
59
|
+
observation: ObservationRecord;
|
|
60
|
+
observationEntryId: string;
|
|
61
|
+
observationRecordIndex: number;
|
|
62
|
+
sourceEntryIds: string[];
|
|
63
|
+
sourceEntries: Entry[];
|
|
64
|
+
missingSourceEntryIds: string[];
|
|
65
|
+
nonSourceEntryIds: string[];
|
|
66
|
+
};
|
|
67
|
+
export type RecallMemoryReflectionMatch = {
|
|
68
|
+
reflection: ReflectionRecord;
|
|
69
|
+
reflectionIndex: number;
|
|
70
|
+
};
|
|
71
|
+
export type RecallUnavailableSupportingObservation = {
|
|
72
|
+
reflection: ReflectionRecord;
|
|
73
|
+
reflectionIndex: number;
|
|
74
|
+
observationId: string;
|
|
75
|
+
};
|
|
76
|
+
export type RecallUnavailableReflectionProvenance = {
|
|
77
|
+
reflection: ReflectionRecord;
|
|
78
|
+
reflectionIndex: number;
|
|
79
|
+
reason: "legacy";
|
|
80
|
+
};
|
|
81
|
+
export type RecallMemorySourcesResult = {
|
|
82
|
+
status: "not_found";
|
|
83
|
+
memoryId: string;
|
|
84
|
+
reflectionMatches: [];
|
|
85
|
+
directObservationMatches: [];
|
|
86
|
+
observations: [];
|
|
87
|
+
sourceEntries: [];
|
|
88
|
+
unavailableSupportingObservations: [];
|
|
89
|
+
unavailableReflectionProvenance: [];
|
|
90
|
+
missingSourceEntryIds: [];
|
|
91
|
+
nonSourceEntryIds: [];
|
|
92
|
+
collision: false;
|
|
93
|
+
partial: false;
|
|
94
|
+
} | {
|
|
95
|
+
status: "found";
|
|
96
|
+
memoryId: string;
|
|
97
|
+
reflectionMatches: RecallMemoryReflectionMatch[];
|
|
98
|
+
directObservationMatches: RecallMemoryObservation[];
|
|
99
|
+
observations: RecallMemoryObservation[];
|
|
100
|
+
sourceEntries: Entry[];
|
|
101
|
+
unavailableSupportingObservations: RecallUnavailableSupportingObservation[];
|
|
102
|
+
unavailableReflectionProvenance: RecallUnavailableReflectionProvenance[];
|
|
103
|
+
missingSourceEntryIds: string[];
|
|
104
|
+
nonSourceEntryIds: string[];
|
|
105
|
+
collision: boolean;
|
|
106
|
+
partial: boolean;
|
|
107
|
+
};
|
|
108
|
+
export declare function findLastCompactionIndex(entries: Entry[]): number;
|
|
109
|
+
export declare function lastObservationCoverEndIdx(entries: Entry[]): number;
|
|
110
|
+
export declare function rawTokensSinceLastBound(entries: Entry[]): number;
|
|
111
|
+
export declare function rawTokensSinceLastCompaction(entries: Entry[]): number;
|
|
112
|
+
export declare function firstRawIdAfter(entries: Entry[], afterIndex: number): string | undefined;
|
|
113
|
+
export declare function gapRawEntries(entries: Entry[], newFirstKeptEntryId: string): Entry[];
|
|
114
|
+
export declare function rawTailEntriesBetween(entries: Entry[], fromId: string, untilId: string): Entry[];
|
|
115
|
+
export declare function recallObservationSources(entries: Entry[], observationId: string): RecallObservationSourcesResult;
|
|
116
|
+
export declare function recallMemorySources(entries: Entry[], memoryId: string): RecallMemorySourcesResult;
|
|
117
|
+
export declare function collectObservationsByCoverage(entries: Entry[], priorFirstKeptEntryId: string | undefined, newFirstKeptEntryId: string): ObservationEntryData[];
|
|
118
|
+
export interface MemoryState {
|
|
119
|
+
reflections: MemoryReflection[];
|
|
120
|
+
committedObs: ObservationRecord[];
|
|
121
|
+
pendingObs: ObservationRecord[];
|
|
122
|
+
}
|
|
123
|
+
export declare function getMemoryState(entries: Entry[]): MemoryState;
|
|
124
|
+
//# sourceMappingURL=branch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branch.d.ts","sourceRoot":"","sources":["../../src/memory/branch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/memory/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AASpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CA6F/E"}
|
|
@@ -4,8 +4,8 @@ import { observationPoolTokens as estimateObservationPoolTokens } from "../compa
|
|
|
4
4
|
import { countByRelevance, formatRelevanceHistogram } from "../relevance.js";
|
|
5
5
|
import { estimateStringTokens } from "../tokens.js";
|
|
6
6
|
import { reflectionContent } from "../types.js";
|
|
7
|
-
export function registerStatusCommand(
|
|
8
|
-
|
|
7
|
+
export function registerStatusCommand(ext, runtime) {
|
|
8
|
+
ext.registerCommand("om-status", {
|
|
9
9
|
description: "Show observational memory status",
|
|
10
10
|
handler: async (_args, ctx) => {
|
|
11
11
|
runtime.ensureConfig(ctx.cwd);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/memory/commands/view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAUpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CA0E7E"}
|
|
@@ -3,8 +3,8 @@ import { observationPoolTokens as estimateObservationPoolTokens, observationsToM
|
|
|
3
3
|
import { countByRelevance, formatRelevanceHistogram } from "../relevance.js";
|
|
4
4
|
import { estimateStringTokens } from "../tokens.js";
|
|
5
5
|
import { reflectionContent } from "../types.js";
|
|
6
|
-
export function registerViewCommand(
|
|
7
|
-
|
|
6
|
+
export function registerViewCommand(ext, runtime) {
|
|
7
|
+
ext.registerCommand("om-view", {
|
|
8
8
|
description: "Print observational memory details (reflections + observations)",
|
|
9
9
|
handler: async (_args, ctx) => {
|
|
10
10
|
runtime.ensureConfig(ctx.cwd);
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { agentLoop } from "../sdk/agent-core/index.js";
|
|
2
|
+
import { type Model } from "../sdk/ai/index.js";
|
|
3
|
+
import type { MemoryReflection, ObservationRecord } from "./types.js";
|
|
4
|
+
export declare const REFLECTOR_MAX_PASSES = 2;
|
|
5
|
+
export declare const PRUNER_MAX_PASSES = 2;
|
|
6
|
+
export declare function observationPoolTokens(observations: ObservationRecord[]): number;
|
|
7
|
+
interface LlmArgs {
|
|
8
|
+
model: Model<any>;
|
|
9
|
+
apiKey: string;
|
|
10
|
+
headers?: Record<string, string>;
|
|
11
|
+
signal?: AbortSignal;
|
|
12
|
+
agentLoop?: typeof agentLoop;
|
|
13
|
+
onEvent?: (event: import("../sdk/agent-core/index.js").AgentEvent) => void;
|
|
14
|
+
maxTurns?: number;
|
|
15
|
+
}
|
|
16
|
+
export type ObservationCoverageTag = "uncited" | "cited" | "reinforced";
|
|
17
|
+
export interface CoverageTagCounts {
|
|
18
|
+
uncited: number;
|
|
19
|
+
cited: number;
|
|
20
|
+
reinforced: number;
|
|
21
|
+
}
|
|
22
|
+
export declare function deriveObservationCoverageTags(reflections: MemoryReflection[], observations: ObservationRecord[]): Map<string, ObservationCoverageTag>;
|
|
23
|
+
export declare function coverageTagCounts(reflections: MemoryReflection[], observations: ObservationRecord[]): CoverageTagCounts;
|
|
24
|
+
export declare function renderObservationsForPrunerPrompt(observations: ObservationRecord[], coverageTags: ReadonlyMap<string, ObservationCoverageTag>): string;
|
|
25
|
+
export declare function migrateLegacyReflections(reflections: MemoryReflection[]): MemoryReflection[];
|
|
26
|
+
export declare function normalizeSupportingObservationIds(supportingObservationIds: readonly string[] | undefined, allowedObservationIds: readonly string[]): string[] | undefined;
|
|
27
|
+
export interface ReflectorPassContext {
|
|
28
|
+
pass: number;
|
|
29
|
+
maxPasses: number;
|
|
30
|
+
minSupportingObservationIds: number;
|
|
31
|
+
}
|
|
32
|
+
export type ReflectionProposal = {
|
|
33
|
+
content: string;
|
|
34
|
+
supportingObservationIds?: readonly string[];
|
|
35
|
+
};
|
|
36
|
+
export interface ApplyReflectionProposalsResult {
|
|
37
|
+
reflections: MemoryReflection[];
|
|
38
|
+
accepted: number;
|
|
39
|
+
added: number;
|
|
40
|
+
merged: number;
|
|
41
|
+
promoted: number;
|
|
42
|
+
duplicates: number;
|
|
43
|
+
unsupported: number;
|
|
44
|
+
}
|
|
45
|
+
export interface ReflectorPassStats {
|
|
46
|
+
pass: number;
|
|
47
|
+
toolCalls: number;
|
|
48
|
+
accepted: number;
|
|
49
|
+
added: number;
|
|
50
|
+
merged: number;
|
|
51
|
+
promoted: number;
|
|
52
|
+
duplicates: number;
|
|
53
|
+
unsupported: number;
|
|
54
|
+
failed: boolean;
|
|
55
|
+
}
|
|
56
|
+
export interface ReflectorStats {
|
|
57
|
+
passes: ReflectorPassStats[];
|
|
58
|
+
toolCalls: number;
|
|
59
|
+
accepted: number;
|
|
60
|
+
added: number;
|
|
61
|
+
merged: number;
|
|
62
|
+
promoted: number;
|
|
63
|
+
duplicates: number;
|
|
64
|
+
unsupported: number;
|
|
65
|
+
failedPass?: number;
|
|
66
|
+
}
|
|
67
|
+
export interface ReflectorResult {
|
|
68
|
+
reflections: MemoryReflection[];
|
|
69
|
+
stats: ReflectorStats;
|
|
70
|
+
}
|
|
71
|
+
export declare function renderReflectionsForReflectorPrompt(reflections: MemoryReflection[]): string;
|
|
72
|
+
export declare function applyReflectionProposals(reflections: MemoryReflection[], proposals: readonly ReflectionProposal[], allowedObservationIds: readonly string[], passContext: Pick<ReflectorPassContext, "minSupportingObservationIds">): ApplyReflectionProposalsResult;
|
|
73
|
+
export declare function runReflector(args: LlmArgs, reflections: MemoryReflection[], observations: ObservationRecord[], onPassStart?: (pass: number, maxPasses: number) => void): Promise<ReflectorResult>;
|
|
74
|
+
export type PrunerStopReason = "empty" | "under_target" | "fell_back" | "zero_drops" | "max_passes";
|
|
75
|
+
export interface PrunerPassStats {
|
|
76
|
+
pass: number;
|
|
77
|
+
poolTokens: number;
|
|
78
|
+
targetTokens: number;
|
|
79
|
+
deltaTokens: number;
|
|
80
|
+
dropped: number;
|
|
81
|
+
remaining: number;
|
|
82
|
+
fellBack: boolean;
|
|
83
|
+
}
|
|
84
|
+
export interface PrunerResult {
|
|
85
|
+
observations: ObservationRecord[];
|
|
86
|
+
droppedIds: string[];
|
|
87
|
+
fellBack: boolean;
|
|
88
|
+
passes: PrunerPassStats[];
|
|
89
|
+
stopReason: PrunerStopReason;
|
|
90
|
+
}
|
|
91
|
+
export declare function runPruner(args: LlmArgs, reflections: MemoryReflection[], observations: ObservationRecord[], budgetTokens: number, onPassStart?: (pass: number, maxPasses: number) => void): Promise<PrunerResult>;
|
|
92
|
+
/**
|
|
93
|
+
* Format an observation for Markdown-safe display.
|
|
94
|
+
* Wraps the ID in backticks so it renders as inline code in Markdown
|
|
95
|
+
* rather than being misinterpreted as a link reference.
|
|
96
|
+
*/
|
|
97
|
+
export declare function observationToMarkdown(record: ObservationRecord): string;
|
|
98
|
+
/**
|
|
99
|
+
* Format a reflection for Markdown-safe display.
|
|
100
|
+
* Wraps the ID in backticks so it renders as inline code in Markdown.
|
|
101
|
+
*/
|
|
102
|
+
export declare function reflectionToMarkdown(reflection: MemoryReflection): string;
|
|
103
|
+
/**
|
|
104
|
+
* Format observations as a Markdown bullet list for display.
|
|
105
|
+
*/
|
|
106
|
+
export declare function observationsToMarkdownList(observations: ObservationRecord[]): string;
|
|
107
|
+
/**
|
|
108
|
+
* Format reflections as a Markdown bullet list for display.
|
|
109
|
+
*/
|
|
110
|
+
export declare function reflectionsToMarkdownList(reflections: MemoryReflection[]): string;
|
|
111
|
+
export declare function renderSummary(reflections: MemoryReflection[], observations: ObservationRecord[]): string;
|
|
112
|
+
export {};
|
|
113
|
+
//# sourceMappingURL=compaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../../src/memory/compaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface Config {
|
|
2
|
+
observationThresholdTokens: number;
|
|
3
|
+
compactionThresholdTokens: number;
|
|
4
|
+
reflectionThresholdTokens: number;
|
|
5
|
+
passive: boolean;
|
|
6
|
+
debugLog: boolean;
|
|
7
|
+
compactionModel?: {
|
|
8
|
+
provider: string;
|
|
9
|
+
id: string;
|
|
10
|
+
};
|
|
11
|
+
observerMaxTurnsPerRun?: number;
|
|
12
|
+
observerMaxChunkTokens?: number;
|
|
13
|
+
reflectorMaxTurnsPerPass?: number;
|
|
14
|
+
prunerMaxTurnsPerPass?: number;
|
|
15
|
+
/** @deprecated Use reflectorMaxTurnsPerPass and prunerMaxTurnsPerPass. */
|
|
16
|
+
compactionMaxToolCalls?: number;
|
|
17
|
+
}
|
|
18
|
+
export interface EffectiveTurnLimits {
|
|
19
|
+
observerMaxTurnsPerRun: number;
|
|
20
|
+
reflectorMaxTurnsPerPass: number;
|
|
21
|
+
prunerMaxTurnsPerPass: number;
|
|
22
|
+
}
|
|
23
|
+
export declare const DEFAULTS: Config;
|
|
24
|
+
export declare function resolveTurnLimits(config: Config): EffectiveTurnLimits;
|
|
25
|
+
export declare function readEnvConfig(env?: NodeJS.ProcessEnv): Partial<Config>;
|
|
26
|
+
export declare function loadConfig(cwd: string, env?: NodeJS.ProcessEnv): Config;
|
|
27
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/memory/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,MAAM;IACtB,0BAA0B,EAAE,MAAM,CAAC;IACnC,yBAAyB,EAAE,MAAM,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,0EAA0E;IAC1E,sBAAsB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IACnC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,wBAAwB,EAAE,MAAM,CAAC;IACjC,qBAAqB,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,QAAQ,EAAE,MAOtB,CAAC;AAiCF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAMrE;AAED,wBAAgB,aAAa,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,CAOnF;AAaD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAUpF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const DEBUG_LOG_MAX_BYTES: number;
|
|
2
|
+
export declare const DEBUG_LOG_RELATIVE_PATH: string;
|
|
3
|
+
interface DebugLogContext {
|
|
4
|
+
enabled: boolean;
|
|
5
|
+
cwd?: string;
|
|
6
|
+
runId?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function withDebugLogContext<T>(context: DebugLogContext, fn: () => T): T;
|
|
9
|
+
export declare function isDebugLogEnabled(): boolean;
|
|
10
|
+
export declare function debugLog(event: string, data?: Record<string, unknown>): void;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=debug-log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug-log.d.ts","sourceRoot":"","sources":["../../src/memory/debug-log.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,mBAAmB,QAAmB,CAAC;AACpD,eAAO,MAAM,uBAAuB,QAA+C,CAAC;AAEpF,UAAU,eAAe;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAID,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAG/E;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI,CAmBhF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compaction-hook.d.ts","sourceRoot":"","sources":["../../../src/memory/hooks/compaction-hook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,iCAAiC,CAAC;AAsBtF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AA6B7C,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CA2VhF"}
|
|
@@ -20,8 +20,8 @@ function formatReflectorStats(stats) {
|
|
|
20
20
|
function formatPrunerStats(result) {
|
|
21
21
|
return `pruner dropped ${plural(result.droppedIds.length, "observation")} in ${plural(result.passes.length, "pass", "passes")}, stop: ${result.stopReason}`;
|
|
22
22
|
}
|
|
23
|
-
export function registerCompactionHook(
|
|
24
|
-
|
|
23
|
+
export function registerCompactionHook(ext, runtime) {
|
|
24
|
+
ext.on("session_before_compact", async (event, ctx) => {
|
|
25
25
|
if (runtime.compactHookInFlight) {
|
|
26
26
|
if (ctx.hasUI)
|
|
27
27
|
ctx.ui.notify("Observational memory: another compaction is already in progress; cancelling duplicate", "warning");
|
|
@@ -124,7 +124,7 @@ export function registerCompactionHook(pi, runtime) {
|
|
|
124
124
|
coversUpToId: gapUpToId,
|
|
125
125
|
records,
|
|
126
126
|
});
|
|
127
|
-
|
|
127
|
+
ext.appendEntry(OBSERVATION_CUSTOM_TYPE, gapObservationData);
|
|
128
128
|
if (hasUI && ui)
|
|
129
129
|
ui.notify(`Observational memory: sync catch-up recorded ${records.length} observation${records.length === 1 ? "" : "s"} (~${observationTokens.toLocaleString()} tokens)`, "info");
|
|
130
130
|
}
|
|
@@ -161,7 +161,7 @@ export function registerCompactionHook(pi, runtime) {
|
|
|
161
161
|
});
|
|
162
162
|
if (deltaObservationData.length === 0) {
|
|
163
163
|
// No new observations since last compaction. If we have existing memory,
|
|
164
|
-
// carry it forward in a no-op compaction so it survives
|
|
164
|
+
// carry it forward in a no-op compaction so it survives spectral's compaction.
|
|
165
165
|
// If there is truly nothing (no prior memory either), cancel.
|
|
166
166
|
if (memoryState.committedObs.length === 0 && memoryState.reflections.length === 0) {
|
|
167
167
|
debugLog("compaction.no_delta_cancel", {
|
|
@@ -296,7 +296,7 @@ export function registerCompactionHook(pi, runtime) {
|
|
|
296
296
|
function persistProjectObservations(ctx, reflections) {
|
|
297
297
|
const store = getProjectObsStore();
|
|
298
298
|
if (!store)
|
|
299
|
-
return; // Not available in standalone
|
|
299
|
+
return; // Not available in standalone spectral mode.
|
|
300
300
|
const projectId = store.getProjectByCwd(ctx.cwd);
|
|
301
301
|
if (!projectId)
|
|
302
302
|
return; // No project registered for this cwd.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compaction-trigger.d.ts","sourceRoot":"","sources":["../../../src/memory/hooks/compaction-trigger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAU7C,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAsFnF"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { rawTokensSinceLastCompaction } from "../branch.js";
|
|
2
2
|
/**
|
|
3
|
-
* Regex matching
|
|
3
|
+
* Regex matching spectral's internal retryable error detection.
|
|
4
4
|
* When the last assistant message in agent_end has stopReason "error" matching this pattern,
|
|
5
5
|
* Pi will auto-retry — we must not trigger compaction between attempts.
|
|
6
6
|
*/
|
|
7
7
|
const RETRYABLE_ERROR_RE = /overloaded|provider.?returned.?error|rate.?limit|too many requests|429|500|502|503|504|service.?unavailable|server.?error|internal.?error|network.?error|connection.?error|connection.?refused|connection.?lost|websocket.?closed|websocket.?error|other side closed|fetch failed|upstream.?connect|reset before headers|socket hang up|ended without|http2 request did not get a response|timed? out|timeout|terminated|retry delay/i;
|
|
8
|
-
export function registerCompactionTrigger(
|
|
9
|
-
|
|
8
|
+
export function registerCompactionTrigger(ext, runtime) {
|
|
9
|
+
ext.on("agent_end", (event, ctx) => {
|
|
10
10
|
runtime.ensureConfig(ctx.cwd);
|
|
11
11
|
if (runtime.config.passive === true)
|
|
12
12
|
return;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observer-trigger.d.ts","sourceRoot":"","sources":["../../../src/memory/hooks/observer-trigger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAWpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAK7C,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAyKjF"}
|
|
@@ -5,8 +5,8 @@ import { observationsToPromptLines, runObserver } from "../observer.js";
|
|
|
5
5
|
import { serializeSourceAddressedBranchEntries } from "../serialize.js";
|
|
6
6
|
import { estimateEntryTokens, estimateStringTokens } from "../tokens.js";
|
|
7
7
|
import { OBSERVATION_CUSTOM_TYPE, reflectionToPromptLine } from "../types.js";
|
|
8
|
-
export function registerObserverTrigger(
|
|
9
|
-
|
|
8
|
+
export function registerObserverTrigger(ext, runtime) {
|
|
9
|
+
ext.on("turn_end", (_event, ctx) => {
|
|
10
10
|
process.stderr.write("[obs-mem] turn_end fired\n");
|
|
11
11
|
runtime.ensureConfig(ctx.cwd);
|
|
12
12
|
if (runtime.config.passive === true) {
|
|
@@ -125,7 +125,7 @@ export function registerObserverTrigger(pi, runtime) {
|
|
|
125
125
|
coversUpToId: effectiveCoversUpToId,
|
|
126
126
|
tokenCount: 0,
|
|
127
127
|
};
|
|
128
|
-
|
|
128
|
+
ext.appendEntry(OBSERVATION_CUSTOM_TYPE, placeholderData);
|
|
129
129
|
debugLog("observer.empty_placeholder", { coversFromId, coversUpToId: effectiveCoversUpToId });
|
|
130
130
|
if (hasUI && ui)
|
|
131
131
|
ui.notify("Observational memory: observer returned no observations; bound advanced to prevent re-processing", "warning");
|
|
@@ -145,7 +145,7 @@ export function registerObserverTrigger(pi, runtime) {
|
|
|
145
145
|
coversUpToId: effectiveCoversUpToId,
|
|
146
146
|
records,
|
|
147
147
|
});
|
|
148
|
-
|
|
148
|
+
ext.appendEntry(OBSERVATION_CUSTOM_TYPE, data);
|
|
149
149
|
debugLog("observer.appended", { count: records.length, tokenCount: observationTokens, coversFromId, coversUpToId: effectiveCoversUpToId });
|
|
150
150
|
if (hasUI && ui)
|
|
151
151
|
ui.notify(`Observational memory: ${records.length} observation${records.length === 1 ? "" : "s"} recorded (~${observationTokens.toLocaleString()} tokens)`, "info");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../src/memory/ids.ts"],"names":[],"mappings":"AAEA,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAWjE,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,GAAG,EAAE,YAAY,QAe5D"}
|