qlogicagent 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent.js +1 -0
- package/dist/cli.js +9 -0
- package/dist/contracts.js +1 -0
- package/dist/index.js +5 -16
- package/dist/orchestration.js +118 -0
- package/dist/{agent → types/agent}/agent.d.ts +0 -1
- package/dist/{agent → types/agent}/tool-loop.d.ts +0 -1
- package/dist/{agent → types/agent}/types.d.ts +0 -1
- package/dist/{cli → types/cli}/main.d.ts +0 -1
- package/dist/{cli → types/cli}/stdio-server.d.ts +0 -1
- package/dist/{config → types/config}/config.d.ts +0 -1
- package/dist/{contracts → types/contracts}/hooks.d.ts +0 -1
- package/dist/{contracts/index.js → types/contracts/index.d.ts} +0 -1
- package/dist/{contracts → types/contracts}/planner.d.ts +0 -1
- package/dist/{contracts → types/contracts}/skill-candidate.d.ts +0 -1
- package/dist/{contracts → types/contracts}/todo.d.ts +0 -1
- package/dist/{index.d.ts → types/index.d.ts} +0 -1
- package/dist/{llm → types/llm}/builtin-providers.d.ts +0 -1
- package/dist/{llm → types/llm}/index.d.ts +0 -1
- package/dist/{llm → types/llm}/llm-client.d.ts +0 -1
- package/dist/{llm → types/llm}/model-catalog.d.ts +0 -1
- package/dist/{llm → types/llm}/provider-def.d.ts +0 -1
- package/dist/{llm → types/llm}/provider-registry.d.ts +0 -1
- package/dist/{llm → types/llm}/transport.d.ts +0 -1
- package/dist/{llm → types/llm}/transports/anthropic-messages.d.ts +0 -1
- package/dist/{llm → types/llm}/transports/openai-chat.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/agent-registry.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/approval-aware-tool-plan.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/context-compression.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/conversation-repair.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/curator-scheduler.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/embedded-failover-policy.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/error-classification.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/failover-classification.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/failover-error.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/fork-subagent.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/index.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/memory-flush-policy.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/memory-provider.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/parallel-tool-calls.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/prompt-cache-strategy.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/reactive-compact.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/retry-loop.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/skill-candidate.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/skill-consolidation.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/skill-improvement.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/skill-similarity.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/streaming-tool-executor.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/team-orchestration.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/team-tool-loop-wiring.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/tool-choice-policy.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/tool-loop-state.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/tool-schema.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/transcript-repair.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/turn-loop-guard.d.ts +0 -1
- package/dist/{orchestration → types/orchestration}/web-browser-policy.d.ts +0 -1
- package/dist/{runtime → types/runtime}/context-compression.d.ts +0 -1
- package/dist/{runtime → types/runtime}/hook-registry.d.ts +0 -1
- package/dist/{runtime → types/runtime}/memory-hooks.d.ts +0 -1
- package/dist/{runtime → types/runtime}/tool-eligibility.d.ts +0 -1
- package/dist/{skills → types/skills}/index.d.ts +0 -1
- package/dist/{skills → types/skills}/memory-extractor.d.ts +0 -1
- package/dist/{skills → types/skills}/memory-query-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/memory-store.d.ts +0 -1
- package/dist/{skills → types/skills}/memory-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/portable-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/qmemory-adapter.d.ts +0 -1
- package/dist/{skills → types/skills}/skill-frontmatter.d.ts +0 -1
- package/dist/{skills → types/skills}/skill-guard.d.ts +0 -1
- package/dist/{skills → types/skills}/skill-loader.d.ts +0 -1
- package/dist/{skills → types/skills}/skill-source.d.ts +0 -1
- package/dist/{skills → types/skills}/skill-types.d.ts +0 -1
- package/dist/{skills → types/skills}/think-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/todo-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/agent-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/apply-patch-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/ask-user-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/brief-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/browser-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/checkpoint-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/config-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/cron-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/edit-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/exec-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/image-generate-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/instructions-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/lsp-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/mcp-client-types.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/mcp-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/memory-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/monitor-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/music-generate-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/notify-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/patch-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/pdf-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/plan-mode-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/read-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/repl-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/search-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/send-message-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/skill-list-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/skill-manage-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/skill-view-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/sleep-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/structured-output-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/task-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/team-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/tool-search-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/tts-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/video-edit-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/video-generate-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/video-merge-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/video-upscale-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/web-fetch-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/web-search-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/worktree-tool.d.ts +0 -1
- package/dist/{skills → types/skills}/tools/write-tool.d.ts +0 -1
- package/package.json +56 -42
- package/dist/agent/agent.d.ts.map +0 -1
- package/dist/agent/agent.js +0 -114
- package/dist/agent/agent.js.map +0 -1
- package/dist/agent/tool-loop.d.ts.map +0 -1
- package/dist/agent/tool-loop.js +0 -576
- package/dist/agent/tool-loop.js.map +0 -1
- package/dist/agent/types.d.ts.map +0 -1
- package/dist/agent/types.js +0 -15
- package/dist/agent/types.js.map +0 -1
- package/dist/cli/main.d.ts.map +0 -1
- package/dist/cli/main.js +0 -24
- package/dist/cli/main.js.map +0 -1
- package/dist/cli/stdio-server.d.ts.map +0 -1
- package/dist/cli/stdio-server.js +0 -464
- package/dist/cli/stdio-server.js.map +0 -1
- package/dist/config/config.d.ts.map +0 -1
- package/dist/config/config.js +0 -22
- package/dist/config/config.js.map +0 -1
- package/dist/contracts/hooks.d.ts.map +0 -1
- package/dist/contracts/hooks.js +0 -8
- package/dist/contracts/hooks.js.map +0 -1
- package/dist/contracts/index.d.ts +0 -11
- package/dist/contracts/index.d.ts.map +0 -1
- package/dist/contracts/index.js.map +0 -1
- package/dist/contracts/planner.d.ts.map +0 -1
- package/dist/contracts/planner.js +0 -3
- package/dist/contracts/planner.js.map +0 -1
- package/dist/contracts/skill-candidate.d.ts.map +0 -1
- package/dist/contracts/skill-candidate.js +0 -196
- package/dist/contracts/skill-candidate.js.map +0 -1
- package/dist/contracts/todo.d.ts.map +0 -1
- package/dist/contracts/todo.js +0 -10
- package/dist/contracts/todo.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/llm/builtin-providers.d.ts.map +0 -1
- package/dist/llm/builtin-providers.js +0 -532
- package/dist/llm/builtin-providers.js.map +0 -1
- package/dist/llm/index.d.ts.map +0 -1
- package/dist/llm/index.js +0 -15
- package/dist/llm/index.js.map +0 -1
- package/dist/llm/llm-client.d.ts.map +0 -1
- package/dist/llm/llm-client.js +0 -68
- package/dist/llm/llm-client.js.map +0 -1
- package/dist/llm/model-catalog.d.ts.map +0 -1
- package/dist/llm/model-catalog.js +0 -192
- package/dist/llm/model-catalog.js.map +0 -1
- package/dist/llm/provider-def.d.ts.map +0 -1
- package/dist/llm/provider-def.js +0 -13
- package/dist/llm/provider-def.js.map +0 -1
- package/dist/llm/provider-registry.d.ts.map +0 -1
- package/dist/llm/provider-registry.js +0 -148
- package/dist/llm/provider-registry.js.map +0 -1
- package/dist/llm/transport.d.ts.map +0 -1
- package/dist/llm/transport.js +0 -28
- package/dist/llm/transport.js.map +0 -1
- package/dist/llm/transports/anthropic-messages.d.ts.map +0 -1
- package/dist/llm/transports/anthropic-messages.js +0 -294
- package/dist/llm/transports/anthropic-messages.js.map +0 -1
- package/dist/llm/transports/openai-chat.d.ts.map +0 -1
- package/dist/llm/transports/openai-chat.js +0 -166
- package/dist/llm/transports/openai-chat.js.map +0 -1
- package/dist/orchestration/agent-registry.d.ts.map +0 -1
- package/dist/orchestration/agent-registry.js +0 -117
- package/dist/orchestration/agent-registry.js.map +0 -1
- package/dist/orchestration/approval-aware-tool-plan.d.ts.map +0 -1
- package/dist/orchestration/approval-aware-tool-plan.js +0 -88
- package/dist/orchestration/approval-aware-tool-plan.js.map +0 -1
- package/dist/orchestration/context-compression.d.ts.map +0 -1
- package/dist/orchestration/context-compression.js +0 -584
- package/dist/orchestration/context-compression.js.map +0 -1
- package/dist/orchestration/conversation-repair.d.ts.map +0 -1
- package/dist/orchestration/conversation-repair.js +0 -430
- package/dist/orchestration/conversation-repair.js.map +0 -1
- package/dist/orchestration/curator-scheduler.d.ts.map +0 -1
- package/dist/orchestration/curator-scheduler.js +0 -136
- package/dist/orchestration/curator-scheduler.js.map +0 -1
- package/dist/orchestration/embedded-failover-policy.d.ts.map +0 -1
- package/dist/orchestration/embedded-failover-policy.js +0 -169
- package/dist/orchestration/embedded-failover-policy.js.map +0 -1
- package/dist/orchestration/error-classification.d.ts.map +0 -1
- package/dist/orchestration/error-classification.js +0 -78
- package/dist/orchestration/error-classification.js.map +0 -1
- package/dist/orchestration/failover-classification.d.ts.map +0 -1
- package/dist/orchestration/failover-classification.js +0 -382
- package/dist/orchestration/failover-classification.js.map +0 -1
- package/dist/orchestration/failover-error.d.ts.map +0 -1
- package/dist/orchestration/failover-error.js +0 -199
- package/dist/orchestration/failover-error.js.map +0 -1
- package/dist/orchestration/fork-subagent.d.ts.map +0 -1
- package/dist/orchestration/fork-subagent.js +0 -99
- package/dist/orchestration/fork-subagent.js.map +0 -1
- package/dist/orchestration/index.d.ts.map +0 -1
- package/dist/orchestration/index.js +0 -268
- package/dist/orchestration/index.js.map +0 -1
- package/dist/orchestration/memory-flush-policy.d.ts.map +0 -1
- package/dist/orchestration/memory-flush-policy.js +0 -86
- package/dist/orchestration/memory-flush-policy.js.map +0 -1
- package/dist/orchestration/memory-provider.d.ts.map +0 -1
- package/dist/orchestration/memory-provider.js +0 -3
- package/dist/orchestration/memory-provider.js.map +0 -1
- package/dist/orchestration/parallel-tool-calls.d.ts.map +0 -1
- package/dist/orchestration/parallel-tool-calls.js +0 -60
- package/dist/orchestration/parallel-tool-calls.js.map +0 -1
- package/dist/orchestration/prompt-cache-strategy.d.ts.map +0 -1
- package/dist/orchestration/prompt-cache-strategy.js +0 -229
- package/dist/orchestration/prompt-cache-strategy.js.map +0 -1
- package/dist/orchestration/reactive-compact.d.ts.map +0 -1
- package/dist/orchestration/reactive-compact.js +0 -79
- package/dist/orchestration/reactive-compact.js.map +0 -1
- package/dist/orchestration/retry-loop.d.ts.map +0 -1
- package/dist/orchestration/retry-loop.js +0 -25
- package/dist/orchestration/retry-loop.js.map +0 -1
- package/dist/orchestration/skill-candidate.d.ts.map +0 -1
- package/dist/orchestration/skill-candidate.js +0 -142
- package/dist/orchestration/skill-candidate.js.map +0 -1
- package/dist/orchestration/skill-consolidation.d.ts.map +0 -1
- package/dist/orchestration/skill-consolidation.js +0 -221
- package/dist/orchestration/skill-consolidation.js.map +0 -1
- package/dist/orchestration/skill-improvement.d.ts.map +0 -1
- package/dist/orchestration/skill-improvement.js +0 -67
- package/dist/orchestration/skill-improvement.js.map +0 -1
- package/dist/orchestration/skill-similarity.d.ts.map +0 -1
- package/dist/orchestration/skill-similarity.js +0 -132
- package/dist/orchestration/skill-similarity.js.map +0 -1
- package/dist/orchestration/streaming-tool-executor.d.ts.map +0 -1
- package/dist/orchestration/streaming-tool-executor.js +0 -97
- package/dist/orchestration/streaming-tool-executor.js.map +0 -1
- package/dist/orchestration/team-orchestration.d.ts.map +0 -1
- package/dist/orchestration/team-orchestration.js +0 -370
- package/dist/orchestration/team-orchestration.js.map +0 -1
- package/dist/orchestration/team-tool-loop-wiring.d.ts.map +0 -1
- package/dist/orchestration/team-tool-loop-wiring.js +0 -148
- package/dist/orchestration/team-tool-loop-wiring.js.map +0 -1
- package/dist/orchestration/tool-choice-policy.d.ts.map +0 -1
- package/dist/orchestration/tool-choice-policy.js +0 -165
- package/dist/orchestration/tool-choice-policy.js.map +0 -1
- package/dist/orchestration/tool-loop-state.d.ts.map +0 -1
- package/dist/orchestration/tool-loop-state.js +0 -134
- package/dist/orchestration/tool-loop-state.js.map +0 -1
- package/dist/orchestration/tool-schema.d.ts.map +0 -1
- package/dist/orchestration/tool-schema.js +0 -298
- package/dist/orchestration/tool-schema.js.map +0 -1
- package/dist/orchestration/transcript-repair.d.ts.map +0 -1
- package/dist/orchestration/transcript-repair.js +0 -427
- package/dist/orchestration/transcript-repair.js.map +0 -1
- package/dist/orchestration/turn-loop-guard.d.ts.map +0 -1
- package/dist/orchestration/turn-loop-guard.js +0 -93
- package/dist/orchestration/turn-loop-guard.js.map +0 -1
- package/dist/orchestration/web-browser-policy.d.ts.map +0 -1
- package/dist/orchestration/web-browser-policy.js +0 -40
- package/dist/orchestration/web-browser-policy.js.map +0 -1
- package/dist/runtime/context-compression.d.ts.map +0 -1
- package/dist/runtime/context-compression.js +0 -275
- package/dist/runtime/context-compression.js.map +0 -1
- package/dist/runtime/hook-registry.d.ts.map +0 -1
- package/dist/runtime/hook-registry.js +0 -54
- package/dist/runtime/hook-registry.js.map +0 -1
- package/dist/runtime/memory-hooks.d.ts.map +0 -1
- package/dist/runtime/memory-hooks.js +0 -66
- package/dist/runtime/memory-hooks.js.map +0 -1
- package/dist/runtime/tool-eligibility.d.ts.map +0 -1
- package/dist/runtime/tool-eligibility.js +0 -112
- package/dist/runtime/tool-eligibility.js.map +0 -1
- package/dist/skills/index.d.ts.map +0 -1
- package/dist/skills/index.js +0 -83
- package/dist/skills/index.js.map +0 -1
- package/dist/skills/memory-extractor.d.ts.map +0 -1
- package/dist/skills/memory-extractor.js +0 -174
- package/dist/skills/memory-extractor.js.map +0 -1
- package/dist/skills/memory-query-tool.d.ts.map +0 -1
- package/dist/skills/memory-query-tool.js +0 -128
- package/dist/skills/memory-query-tool.js.map +0 -1
- package/dist/skills/memory-store.d.ts.map +0 -1
- package/dist/skills/memory-store.js +0 -229
- package/dist/skills/memory-store.js.map +0 -1
- package/dist/skills/memory-tool.d.ts.map +0 -1
- package/dist/skills/memory-tool.js +0 -193
- package/dist/skills/memory-tool.js.map +0 -1
- package/dist/skills/portable-tool.d.ts.map +0 -1
- package/dist/skills/portable-tool.js +0 -15
- package/dist/skills/portable-tool.js.map +0 -1
- package/dist/skills/qmemory-adapter.d.ts.map +0 -1
- package/dist/skills/qmemory-adapter.js +0 -166
- package/dist/skills/qmemory-adapter.js.map +0 -1
- package/dist/skills/skill-frontmatter.d.ts.map +0 -1
- package/dist/skills/skill-frontmatter.js +0 -345
- package/dist/skills/skill-frontmatter.js.map +0 -1
- package/dist/skills/skill-guard.d.ts.map +0 -1
- package/dist/skills/skill-guard.js +0 -230
- package/dist/skills/skill-guard.js.map +0 -1
- package/dist/skills/skill-loader.d.ts.map +0 -1
- package/dist/skills/skill-loader.js +0 -304
- package/dist/skills/skill-loader.js.map +0 -1
- package/dist/skills/skill-source.d.ts.map +0 -1
- package/dist/skills/skill-source.js +0 -127
- package/dist/skills/skill-source.js.map +0 -1
- package/dist/skills/skill-types.d.ts.map +0 -1
- package/dist/skills/skill-types.js +0 -7
- package/dist/skills/skill-types.js.map +0 -1
- package/dist/skills/think-tool.d.ts.map +0 -1
- package/dist/skills/think-tool.js +0 -60
- package/dist/skills/think-tool.js.map +0 -1
- package/dist/skills/todo-tool.d.ts.map +0 -1
- package/dist/skills/todo-tool.js +0 -115
- package/dist/skills/todo-tool.js.map +0 -1
- package/dist/skills/tools/agent-tool.d.ts.map +0 -1
- package/dist/skills/tools/agent-tool.js +0 -143
- package/dist/skills/tools/agent-tool.js.map +0 -1
- package/dist/skills/tools/apply-patch-tool.d.ts.map +0 -1
- package/dist/skills/tools/apply-patch-tool.js +0 -185
- package/dist/skills/tools/apply-patch-tool.js.map +0 -1
- package/dist/skills/tools/ask-user-tool.d.ts.map +0 -1
- package/dist/skills/tools/ask-user-tool.js +0 -122
- package/dist/skills/tools/ask-user-tool.js.map +0 -1
- package/dist/skills/tools/brief-tool.d.ts.map +0 -1
- package/dist/skills/tools/brief-tool.js +0 -96
- package/dist/skills/tools/brief-tool.js.map +0 -1
- package/dist/skills/tools/browser-tool.d.ts.map +0 -1
- package/dist/skills/tools/browser-tool.js +0 -156
- package/dist/skills/tools/browser-tool.js.map +0 -1
- package/dist/skills/tools/checkpoint-tool.d.ts.map +0 -1
- package/dist/skills/tools/checkpoint-tool.js +0 -103
- package/dist/skills/tools/checkpoint-tool.js.map +0 -1
- package/dist/skills/tools/config-tool.d.ts.map +0 -1
- package/dist/skills/tools/config-tool.js +0 -144
- package/dist/skills/tools/config-tool.js.map +0 -1
- package/dist/skills/tools/cron-tool.d.ts.map +0 -1
- package/dist/skills/tools/cron-tool.js +0 -176
- package/dist/skills/tools/cron-tool.js.map +0 -1
- package/dist/skills/tools/edit-tool.d.ts.map +0 -1
- package/dist/skills/tools/edit-tool.js +0 -71
- package/dist/skills/tools/edit-tool.js.map +0 -1
- package/dist/skills/tools/exec-tool.d.ts.map +0 -1
- package/dist/skills/tools/exec-tool.js +0 -134
- package/dist/skills/tools/exec-tool.js.map +0 -1
- package/dist/skills/tools/image-generate-tool.d.ts.map +0 -1
- package/dist/skills/tools/image-generate-tool.js +0 -68
- package/dist/skills/tools/image-generate-tool.js.map +0 -1
- package/dist/skills/tools/instructions-tool.d.ts.map +0 -1
- package/dist/skills/tools/instructions-tool.js +0 -188
- package/dist/skills/tools/instructions-tool.js.map +0 -1
- package/dist/skills/tools/lsp-tool.d.ts.map +0 -1
- package/dist/skills/tools/lsp-tool.js +0 -228
- package/dist/skills/tools/lsp-tool.js.map +0 -1
- package/dist/skills/tools/mcp-client-types.d.ts.map +0 -1
- package/dist/skills/tools/mcp-client-types.js +0 -54
- package/dist/skills/tools/mcp-client-types.js.map +0 -1
- package/dist/skills/tools/mcp-tool.d.ts.map +0 -1
- package/dist/skills/tools/mcp-tool.js +0 -504
- package/dist/skills/tools/mcp-tool.js.map +0 -1
- package/dist/skills/tools/memory-tool.d.ts.map +0 -1
- package/dist/skills/tools/memory-tool.js +0 -89
- package/dist/skills/tools/memory-tool.js.map +0 -1
- package/dist/skills/tools/monitor-tool.d.ts.map +0 -1
- package/dist/skills/tools/monitor-tool.js +0 -132
- package/dist/skills/tools/monitor-tool.js.map +0 -1
- package/dist/skills/tools/music-generate-tool.d.ts.map +0 -1
- package/dist/skills/tools/music-generate-tool.js +0 -63
- package/dist/skills/tools/music-generate-tool.js.map +0 -1
- package/dist/skills/tools/notify-tool.d.ts.map +0 -1
- package/dist/skills/tools/notify-tool.js +0 -63
- package/dist/skills/tools/notify-tool.js.map +0 -1
- package/dist/skills/tools/patch-tool.d.ts.map +0 -1
- package/dist/skills/tools/patch-tool.js +0 -506
- package/dist/skills/tools/patch-tool.js.map +0 -1
- package/dist/skills/tools/pdf-tool.d.ts.map +0 -1
- package/dist/skills/tools/pdf-tool.js +0 -89
- package/dist/skills/tools/pdf-tool.js.map +0 -1
- package/dist/skills/tools/plan-mode-tool.d.ts.map +0 -1
- package/dist/skills/tools/plan-mode-tool.js +0 -123
- package/dist/skills/tools/plan-mode-tool.js.map +0 -1
- package/dist/skills/tools/read-tool.d.ts.map +0 -1
- package/dist/skills/tools/read-tool.js +0 -85
- package/dist/skills/tools/read-tool.js.map +0 -1
- package/dist/skills/tools/repl-tool.d.ts.map +0 -1
- package/dist/skills/tools/repl-tool.js +0 -70
- package/dist/skills/tools/repl-tool.js.map +0 -1
- package/dist/skills/tools/search-tool.d.ts.map +0 -1
- package/dist/skills/tools/search-tool.js +0 -226
- package/dist/skills/tools/search-tool.js.map +0 -1
- package/dist/skills/tools/send-message-tool.d.ts.map +0 -1
- package/dist/skills/tools/send-message-tool.js +0 -77
- package/dist/skills/tools/send-message-tool.js.map +0 -1
- package/dist/skills/tools/skill-list-tool.d.ts.map +0 -1
- package/dist/skills/tools/skill-list-tool.js +0 -55
- package/dist/skills/tools/skill-list-tool.js.map +0 -1
- package/dist/skills/tools/skill-manage-tool.d.ts.map +0 -1
- package/dist/skills/tools/skill-manage-tool.js +0 -154
- package/dist/skills/tools/skill-manage-tool.js.map +0 -1
- package/dist/skills/tools/skill-view-tool.d.ts.map +0 -1
- package/dist/skills/tools/skill-view-tool.js +0 -73
- package/dist/skills/tools/skill-view-tool.js.map +0 -1
- package/dist/skills/tools/sleep-tool.d.ts.map +0 -1
- package/dist/skills/tools/sleep-tool.js +0 -82
- package/dist/skills/tools/sleep-tool.js.map +0 -1
- package/dist/skills/tools/structured-output-tool.d.ts.map +0 -1
- package/dist/skills/tools/structured-output-tool.js +0 -177
- package/dist/skills/tools/structured-output-tool.js.map +0 -1
- package/dist/skills/tools/task-tool.d.ts.map +0 -1
- package/dist/skills/tools/task-tool.js +0 -162
- package/dist/skills/tools/task-tool.js.map +0 -1
- package/dist/skills/tools/team-tool.d.ts.map +0 -1
- package/dist/skills/tools/team-tool.js +0 -106
- package/dist/skills/tools/team-tool.js.map +0 -1
- package/dist/skills/tools/tool-search-tool.d.ts.map +0 -1
- package/dist/skills/tools/tool-search-tool.js +0 -111
- package/dist/skills/tools/tool-search-tool.js.map +0 -1
- package/dist/skills/tools/tts-tool.d.ts.map +0 -1
- package/dist/skills/tools/tts-tool.js +0 -46
- package/dist/skills/tools/tts-tool.js.map +0 -1
- package/dist/skills/tools/video-edit-tool.d.ts.map +0 -1
- package/dist/skills/tools/video-edit-tool.js +0 -75
- package/dist/skills/tools/video-edit-tool.js.map +0 -1
- package/dist/skills/tools/video-generate-tool.d.ts.map +0 -1
- package/dist/skills/tools/video-generate-tool.js +0 -67
- package/dist/skills/tools/video-generate-tool.js.map +0 -1
- package/dist/skills/tools/video-merge-tool.d.ts.map +0 -1
- package/dist/skills/tools/video-merge-tool.js +0 -93
- package/dist/skills/tools/video-merge-tool.js.map +0 -1
- package/dist/skills/tools/video-upscale-tool.d.ts.map +0 -1
- package/dist/skills/tools/video-upscale-tool.js +0 -53
- package/dist/skills/tools/video-upscale-tool.js.map +0 -1
- package/dist/skills/tools/web-fetch-tool.d.ts.map +0 -1
- package/dist/skills/tools/web-fetch-tool.js +0 -93
- package/dist/skills/tools/web-fetch-tool.js.map +0 -1
- package/dist/skills/tools/web-search-tool.d.ts.map +0 -1
- package/dist/skills/tools/web-search-tool.js +0 -87
- package/dist/skills/tools/web-search-tool.js.map +0 -1
- package/dist/skills/tools/worktree-tool.d.ts.map +0 -1
- package/dist/skills/tools/worktree-tool.js +0 -148
- package/dist/skills/tools/worktree-tool.js.map +0 -1
- package/dist/skills/tools/write-tool.d.ts.map +0 -1
- package/dist/skills/tools/write-tool.js +0 -82
- package/dist/skills/tools/write-tool.js.map +0 -1
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
export function hasAlreadyFlushedForCurrentCompaction(entry) {
|
|
2
|
-
const compactionCount = entry.compactionCount ?? 0;
|
|
3
|
-
const lastFlushAt = entry.memoryFlushCompactionCount;
|
|
4
|
-
return typeof lastFlushAt === "number" && lastFlushAt === compactionCount;
|
|
5
|
-
}
|
|
6
|
-
export function shouldRunMemoryFlush(params) {
|
|
7
|
-
if (!params.entry) {
|
|
8
|
-
return false;
|
|
9
|
-
}
|
|
10
|
-
const override = params.tokenCount;
|
|
11
|
-
const overrideTokens = typeof override === "number" && Number.isFinite(override) && override > 0
|
|
12
|
-
? Math.floor(override)
|
|
13
|
-
: undefined;
|
|
14
|
-
const totalTokens = overrideTokens ?? params.resolveFreshSessionTotalTokens(params.entry);
|
|
15
|
-
if (!totalTokens || totalTokens <= 0) {
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
const contextWindow = Math.max(1, Math.floor(params.contextWindowTokens));
|
|
19
|
-
const reserveTokens = Math.max(0, Math.floor(params.reserveTokensFloor));
|
|
20
|
-
const softThreshold = Math.max(0, Math.floor(params.softThresholdTokens));
|
|
21
|
-
const threshold = Math.max(0, contextWindow - reserveTokens - softThreshold);
|
|
22
|
-
if (threshold <= 0 || totalTokens < threshold) {
|
|
23
|
-
return false;
|
|
24
|
-
}
|
|
25
|
-
if (hasAlreadyFlushedForCurrentCompaction(params.entry)) {
|
|
26
|
-
return false;
|
|
27
|
-
}
|
|
28
|
-
return true;
|
|
29
|
-
}
|
|
30
|
-
export function resolveMemoryFlushReadPlan(params) {
|
|
31
|
-
const canAttemptFlush = params.memoryFlushWritable && !params.isHeartbeat && !params.isCli;
|
|
32
|
-
const flushThreshold = params.contextWindowTokens - params.reserveTokensFloor - params.softThresholdTokens;
|
|
33
|
-
const shouldReadTranscriptForOutput = canAttemptFlush &&
|
|
34
|
-
params.hasSessionEntry &&
|
|
35
|
-
params.hasFreshPersistedPromptTokens &&
|
|
36
|
-
typeof params.promptTokenEstimate === "number" &&
|
|
37
|
-
Number.isFinite(params.promptTokenEstimate) &&
|
|
38
|
-
flushThreshold > 0 &&
|
|
39
|
-
(params.persistedPromptTokens ?? 0) + params.promptTokenEstimate >=
|
|
40
|
-
flushThreshold - params.transcriptOutputReadBufferTokens;
|
|
41
|
-
const shouldReadTranscript = Boolean(canAttemptFlush &&
|
|
42
|
-
params.hasSessionEntry &&
|
|
43
|
-
(!params.hasFreshPersistedPromptTokens || shouldReadTranscriptForOutput));
|
|
44
|
-
const shouldCheckTranscriptSizeForForcedFlush = Boolean(canAttemptFlush &&
|
|
45
|
-
params.hasSessionEntry &&
|
|
46
|
-
Number.isFinite(params.forceFlushTranscriptBytes) &&
|
|
47
|
-
params.forceFlushTranscriptBytes > 0);
|
|
48
|
-
return {
|
|
49
|
-
canAttemptFlush,
|
|
50
|
-
flushThreshold,
|
|
51
|
-
shouldReadTranscriptForOutput,
|
|
52
|
-
shouldReadTranscript,
|
|
53
|
-
shouldCheckTranscriptSizeForForcedFlush,
|
|
54
|
-
shouldReadSessionLog: shouldReadTranscript || shouldCheckTranscriptSizeForForcedFlush,
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
export function resolveMemoryFlushProjection(params) {
|
|
58
|
-
const shouldForceFlushByTranscriptSize = typeof params.transcriptByteSize === "number" &&
|
|
59
|
-
params.transcriptByteSize >= params.forceFlushTranscriptBytes;
|
|
60
|
-
const hasReliableTranscriptPromptTokens = typeof params.transcriptPromptTokens === "number" &&
|
|
61
|
-
Number.isFinite(params.transcriptPromptTokens) &&
|
|
62
|
-
params.transcriptPromptTokens > 0;
|
|
63
|
-
const shouldPersistTranscriptPromptTokens = hasReliableTranscriptPromptTokens &&
|
|
64
|
-
(!params.hasFreshPersistedPromptTokens ||
|
|
65
|
-
(params.transcriptPromptTokens ?? 0) > (params.persistedPromptTokens ?? 0));
|
|
66
|
-
const promptTokensSnapshot = Math.max(params.hasFreshPersistedPromptTokens ? (params.persistedPromptTokens ?? 0) : 0, hasReliableTranscriptPromptTokens ? (params.transcriptPromptTokens ?? 0) : 0);
|
|
67
|
-
const hasFreshPromptTokensSnapshot = promptTokensSnapshot > 0 &&
|
|
68
|
-
(params.hasFreshPersistedPromptTokens || hasReliableTranscriptPromptTokens);
|
|
69
|
-
const projectedTokenCount = hasFreshPromptTokensSnapshot
|
|
70
|
-
? params.resolveEffectivePromptTokens(promptTokensSnapshot, params.transcriptOutputTokens, params.promptTokenEstimate)
|
|
71
|
-
: undefined;
|
|
72
|
-
const tokenCountForFlush = typeof projectedTokenCount === "number" &&
|
|
73
|
-
Number.isFinite(projectedTokenCount) &&
|
|
74
|
-
projectedTokenCount > 0
|
|
75
|
-
? projectedTokenCount
|
|
76
|
-
: undefined;
|
|
77
|
-
return {
|
|
78
|
-
shouldForceFlushByTranscriptSize,
|
|
79
|
-
shouldPersistTranscriptPromptTokens,
|
|
80
|
-
promptTokensSnapshot,
|
|
81
|
-
hasFreshPromptTokensSnapshot,
|
|
82
|
-
projectedTokenCount,
|
|
83
|
-
tokenCountForFlush,
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
//# sourceMappingURL=memory-flush-policy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory-flush-policy.js","sourceRoot":"","sources":["../../src/orchestration/memory-flush-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory-provider.d.ts","sourceRoot":"","sources":["../../src/orchestration/memory-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,KAAK,qBAAqB,EAC1B,gCAAgC,EAChC,KAAK,uBAAuB,EAC5B,0BAA0B,EAC1B,KAAK,iBAAiB,EACvB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,8BAA8B,EAC9B,KAAK,qBAAqB,EAC1B,gCAAgC,EAChC,KAAK,uBAAuB,EAC5B,0BAA0B,EAC1B,KAAK,iBAAiB,GACvB,CAAC;AAEF,MAAM,WAAW,iCAAiC;IAChD,IAAI,EAAE,qBAAqB,CAAC;IAC5B,MAAM,EAAE,uBAAuB,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,iBAAiB,CAAC;CAChC"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { MEMORY_OBSERVATION_HOOK_VALUES, MEMORY_OBSERVATION_SOURCE_VALUES, MEMORY_WRITE_ACCESS_VALUES, } from "qlogicagent-runtime-contracts";
|
|
2
|
-
export { MEMORY_OBSERVATION_HOOK_VALUES, MEMORY_OBSERVATION_SOURCE_VALUES, MEMORY_WRITE_ACCESS_VALUES, };
|
|
3
|
-
//# sourceMappingURL=memory-provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory-provider.js","sourceRoot":"","sources":["../../src/orchestration/memory-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAE9B,gCAAgC,EAEhC,0BAA0B,GAE3B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,8BAA8B,EAE9B,gCAAgC,EAEhC,0BAA0B,GAE3B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parallel-tool-calls.d.ts","sourceRoot":"","sources":["../../src/orchestration/parallel-tool-calls.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,2BAA2B,GACnC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa,CAAC,KAAK,SAAS,YAAY;IACvD,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC5B,KAAK,EAAE,KAAK,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,sCAAsC,CAAC,KAAK,SAAS,YAAY,EAAE,WAAW,SAAS,kBAAkB;IACxH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,SAAS,EAAE,SAAS,KAAK,EAAE,CAAC;IAC5B,gBAAgB,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,uCAAuC,CAAC,KAAK,SAAS,YAAY;IACjF,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC5B,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACrC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,wBAAgB,oCAAoC,CAAC,QAAQ,EAAE,OAAO,GAAG,2BAA2B,GAAG,SAAS,CAc/G;AAED,wBAAgB,iCAAiC,CAC/C,KAAK,SAAS,YAAY,EAC1B,WAAW,SAAS,kBAAkB,EACtC,MAAM,EAAE,sCAAsC,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,uCAAuC,CAAC,KAAK,CAAC,CA8CpH"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
export function normalizeParallelToolCallsPreference(rawValue) {
|
|
2
|
-
if (rawValue === undefined) {
|
|
3
|
-
return undefined;
|
|
4
|
-
}
|
|
5
|
-
if (typeof rawValue === "boolean") {
|
|
6
|
-
return { kind: "enabled", enabled: rawValue };
|
|
7
|
-
}
|
|
8
|
-
if (rawValue === null) {
|
|
9
|
-
return { kind: "suppressed" };
|
|
10
|
-
}
|
|
11
|
-
return {
|
|
12
|
-
kind: "invalid",
|
|
13
|
-
summary: typeof rawValue === "string" ? rawValue : typeof rawValue,
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
export function resolveParallelToolCallScheduling(params) {
|
|
17
|
-
const warnings = [];
|
|
18
|
-
const preference = normalizeParallelToolCallsPreference(params.requestedPreference);
|
|
19
|
-
const capabilityMap = new Map((params.toolCapabilities ?? []).map((capability) => [capability.name, capability]));
|
|
20
|
-
let enabled = params.providerSupportsParallel !== false;
|
|
21
|
-
if (preference?.kind === "enabled") {
|
|
22
|
-
enabled = preference.enabled && params.providerSupportsParallel !== false;
|
|
23
|
-
}
|
|
24
|
-
else if (preference?.kind === "suppressed") {
|
|
25
|
-
enabled = false;
|
|
26
|
-
}
|
|
27
|
-
else if (preference?.kind === "invalid") {
|
|
28
|
-
warnings.push(`ignoring invalid parallel_tool_calls param: ${preference.summary}`);
|
|
29
|
-
}
|
|
30
|
-
if (enabled && params.providerSupportsParallel === false) {
|
|
31
|
-
warnings.push("provider does not support parallel tool calls; downgraded to serial execution.");
|
|
32
|
-
}
|
|
33
|
-
const batches = [];
|
|
34
|
-
let currentParallelBatch = [];
|
|
35
|
-
const flushParallelBatch = () => {
|
|
36
|
-
if (currentParallelBatch.length === 0) {
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
batches.push({ mode: "parallel", calls: currentParallelBatch });
|
|
40
|
-
currentParallelBatch = [];
|
|
41
|
-
};
|
|
42
|
-
for (const toolCall of params.toolCalls) {
|
|
43
|
-
const capability = capabilityMap.get(toolCall.function.name);
|
|
44
|
-
const mustSerialize = !enabled || capability?.requiresApproval === true || capability?.serialOnly === true || capability?.parallelSafe === false || capability?.approvalMode === "user-confirm";
|
|
45
|
-
if (mustSerialize) {
|
|
46
|
-
flushParallelBatch();
|
|
47
|
-
batches.push({ mode: "serial", calls: [toolCall] });
|
|
48
|
-
continue;
|
|
49
|
-
}
|
|
50
|
-
currentParallelBatch.push(toolCall);
|
|
51
|
-
}
|
|
52
|
-
flushParallelBatch();
|
|
53
|
-
return {
|
|
54
|
-
enabled,
|
|
55
|
-
mode: batches.some((batch) => batch.mode === "parallel" && batch.calls.length > 1) ? "parallel" : "serial",
|
|
56
|
-
batches,
|
|
57
|
-
warnings,
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=parallel-tool-calls.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parallel-tool-calls.js","sourceRoot":"","sources":["../../src/orchestration/parallel-tool-calls.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-cache-strategy.d.ts","sourceRoot":"","sources":["../../src/orchestration/prompt-cache-strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
// ============================================================
|
|
2
|
-
// Prompt cache marking strategy — identify optimal breakpoints
|
|
3
|
-
// in a message array for provider-level prefix caching.
|
|
4
|
-
//
|
|
5
|
-
// Providers like Anthropic cache message prefixes: if consecutive
|
|
6
|
-
// requests share identical leading messages, the cached portion
|
|
7
|
-
// skips re-tokenization and re-processing. The strategy here
|
|
8
|
-
// decides WHERE to place cache breakpoints (up to maxBreakpoints)
|
|
9
|
-
// to maximise prefix reuse across turns.
|
|
10
|
-
// ============================================================
|
|
11
|
-
// ── Defaults ────────────────────────────────────────────────
|
|
12
|
-
export const DEFAULT_PROMPT_CACHE_POLICY = {
|
|
13
|
-
maxBreakpoints: 4,
|
|
14
|
-
retention: "short",
|
|
15
|
-
minSegmentTokens: 256,
|
|
16
|
-
recentTailCount: 2,
|
|
17
|
-
markToolDefinitions: true,
|
|
18
|
-
};
|
|
19
|
-
// ── Core strategy ───────────────────────────────────────────
|
|
20
|
-
/**
|
|
21
|
-
* Analyse a message array and return recommended cache breakpoints.
|
|
22
|
-
*
|
|
23
|
-
* The algorithm:
|
|
24
|
-
* 1. Classify each message into segments (system / tool-def / conversation / recent).
|
|
25
|
-
* 2. Identify segment boundaries where the classification changes.
|
|
26
|
-
* 3. Rank boundaries by estimated token cost (heaviest first).
|
|
27
|
-
* 4. Select the top `maxBreakpoints` that meet `minSegmentTokens`.
|
|
28
|
-
*
|
|
29
|
-
* @param messages The conversation message array (in order).
|
|
30
|
-
* @param estimateTokens Optional per-message token estimator. Falls back to
|
|
31
|
-
* character-length heuristic (1 token ≈ 4 chars).
|
|
32
|
-
* @param policy Cache marking policy (uses defaults if omitted).
|
|
33
|
-
*/
|
|
34
|
-
export function computeCacheBreakpoints(messages, estimateTokens, policy = {}) {
|
|
35
|
-
const p = { ...DEFAULT_PROMPT_CACHE_POLICY, ...policy };
|
|
36
|
-
const estimate = estimateTokens ?? defaultTokenEstimator;
|
|
37
|
-
if (p.retention === "none" || messages.length === 0) {
|
|
38
|
-
return { breakpoints: [], estimatedCacheableTokens: 0, retention: p.retention };
|
|
39
|
-
}
|
|
40
|
-
// Classify every message
|
|
41
|
-
const recentStart = Math.max(0, messages.length - p.recentTailCount);
|
|
42
|
-
const classified = messages.map((msg, i) => ({
|
|
43
|
-
index: i,
|
|
44
|
-
kind: i >= recentStart ? "recent" : classifyMessage(msg, p),
|
|
45
|
-
tokens: estimate(msg),
|
|
46
|
-
}));
|
|
47
|
-
// Build contiguous segments by kind
|
|
48
|
-
const segments = [];
|
|
49
|
-
let current;
|
|
50
|
-
for (const entry of classified) {
|
|
51
|
-
if (!current || current.kind !== entry.kind) {
|
|
52
|
-
if (current)
|
|
53
|
-
segments.push(current);
|
|
54
|
-
current = { kind: entry.kind, startIndex: entry.index, endIndex: entry.index, tokens: entry.tokens };
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
current.endIndex = entry.index;
|
|
58
|
-
current.tokens += entry.tokens;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
if (current)
|
|
62
|
-
segments.push(current);
|
|
63
|
-
// Candidate breakpoints: end of each non-recent segment meeting the threshold
|
|
64
|
-
const candidates = [];
|
|
65
|
-
for (const seg of segments) {
|
|
66
|
-
if (seg.kind === "recent")
|
|
67
|
-
continue;
|
|
68
|
-
if (seg.tokens < p.minSegmentTokens)
|
|
69
|
-
continue;
|
|
70
|
-
candidates.push({
|
|
71
|
-
index: seg.endIndex,
|
|
72
|
-
segment: seg.kind,
|
|
73
|
-
estimatedTokens: seg.tokens,
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
// Rank by tokens descending, pick top N
|
|
77
|
-
candidates.sort((a, b) => (b.estimatedTokens ?? 0) - (a.estimatedTokens ?? 0));
|
|
78
|
-
const selected = candidates.slice(0, p.maxBreakpoints);
|
|
79
|
-
// Re-sort by index ascending for stable output
|
|
80
|
-
selected.sort((a, b) => a.index - b.index);
|
|
81
|
-
const estimatedCacheableTokens = selected.reduce((sum, bp) => sum + (bp.estimatedTokens ?? 0), 0);
|
|
82
|
-
return { breakpoints: selected, estimatedCacheableTokens, retention: p.retention };
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Apply cache_control markers to a mutable message array based on breakpoints.
|
|
86
|
-
*
|
|
87
|
-
* For each breakpoint index, the last content block of that message gets a
|
|
88
|
-
* `cache_control: { type: "ephemeral" }` annotation (Anthropic format).
|
|
89
|
-
* String content is promoted to a text content block array.
|
|
90
|
-
*
|
|
91
|
-
* This is a pure transform — it returns a new array with shallow-cloned messages.
|
|
92
|
-
*/
|
|
93
|
-
export function applyCacheMarkers(messages, breakpoints) {
|
|
94
|
-
const bpSet = new Set(breakpoints.map((bp) => bp.index));
|
|
95
|
-
return messages.map((msg, i) => {
|
|
96
|
-
if (!bpSet.has(i))
|
|
97
|
-
return msg;
|
|
98
|
-
return injectCacheControl(msg);
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Estimate the cache savings ratio for a turn.
|
|
103
|
-
*
|
|
104
|
-
* @param totalTokens Total input tokens for the turn.
|
|
105
|
-
* @param cacheableTokens Tokens covered by cache breakpoints.
|
|
106
|
-
* @param cacheHitRatio Fraction of cacheable tokens actually served from cache (0–1).
|
|
107
|
-
* @returns Estimated fraction of input tokens saved (0–1).
|
|
108
|
-
*/
|
|
109
|
-
export function estimateCacheSavingsRatio(totalTokens, cacheableTokens, cacheHitRatio = 1) {
|
|
110
|
-
if (totalTokens <= 0 || cacheableTokens <= 0)
|
|
111
|
-
return 0;
|
|
112
|
-
return Math.min(1, (cacheableTokens * Math.max(0, Math.min(1, cacheHitRatio))) / totalTokens);
|
|
113
|
-
}
|
|
114
|
-
// ── Helpers ─────────────────────────────────────────────────
|
|
115
|
-
function classifyMessage(msg, policy) {
|
|
116
|
-
const role = msg.role;
|
|
117
|
-
if (role === "system" || role === "developer")
|
|
118
|
-
return "system";
|
|
119
|
-
if (policy.markToolDefinitions && role === "tool")
|
|
120
|
-
return "conversation";
|
|
121
|
-
// Tool-call results are part of conversation flow
|
|
122
|
-
if (msg.tool_call_id)
|
|
123
|
-
return "conversation";
|
|
124
|
-
return "conversation";
|
|
125
|
-
}
|
|
126
|
-
function defaultTokenEstimator(msg) {
|
|
127
|
-
const content = msg.content;
|
|
128
|
-
if (typeof content === "string")
|
|
129
|
-
return Math.ceil(content.length / 4);
|
|
130
|
-
if (Array.isArray(content)) {
|
|
131
|
-
let chars = 0;
|
|
132
|
-
for (const part of content) {
|
|
133
|
-
if (typeof part === "string")
|
|
134
|
-
chars += part.length;
|
|
135
|
-
else if (part && typeof part === "object" && "text" in part) {
|
|
136
|
-
chars += typeof part.text === "string"
|
|
137
|
-
? (part.text).length
|
|
138
|
-
: 0;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
return Math.ceil(chars / 4);
|
|
142
|
-
}
|
|
143
|
-
return 0;
|
|
144
|
-
}
|
|
145
|
-
function injectCacheControl(msg) {
|
|
146
|
-
const clone = { ...msg };
|
|
147
|
-
const content = clone.content;
|
|
148
|
-
if (typeof content === "string") {
|
|
149
|
-
// Promote string to text content block with cache_control
|
|
150
|
-
clone.content = [
|
|
151
|
-
{ type: "text", text: content, cache_control: { type: "ephemeral" } },
|
|
152
|
-
];
|
|
153
|
-
}
|
|
154
|
-
else if (Array.isArray(content) && content.length > 0) {
|
|
155
|
-
const newContent = content.map((part, idx) => {
|
|
156
|
-
if (idx !== content.length - 1)
|
|
157
|
-
return part;
|
|
158
|
-
if (part && typeof part === "object") {
|
|
159
|
-
return { ...part, cache_control: { type: "ephemeral" } };
|
|
160
|
-
}
|
|
161
|
-
return part;
|
|
162
|
-
});
|
|
163
|
-
clone.content = newContent;
|
|
164
|
-
}
|
|
165
|
-
return clone;
|
|
166
|
-
}
|
|
167
|
-
// ── CC-aligned Fork Prefix Cache ────────────────────────────
|
|
168
|
-
/**
|
|
169
|
-
* Determine the optimal cache marker position for fork scenarios.
|
|
170
|
-
*
|
|
171
|
-
* CC pattern:
|
|
172
|
-
* - Normal request: marker on messages[length - 1] (last message)
|
|
173
|
-
* - Fork (skipCacheWrite): marker on messages[length - 2] (shared prefix point)
|
|
174
|
-
*
|
|
175
|
-
* This ensures all fork children produce byte-identical API request prefix up to
|
|
176
|
-
* the marker, maximising cache reuse.
|
|
177
|
-
*/
|
|
178
|
-
export function resolveForkCacheMarkerIndex(messagesLength, options = {}) {
|
|
179
|
-
if (messagesLength <= 0)
|
|
180
|
-
return -1;
|
|
181
|
-
if (options.skipCacheWrite || options.isForkChild) {
|
|
182
|
-
// Fork children: marker goes on the shared prefix (second-to-last message)
|
|
183
|
-
return Math.max(0, messagesLength - 2);
|
|
184
|
-
}
|
|
185
|
-
// Normal: marker on last message
|
|
186
|
-
return messagesLength - 1;
|
|
187
|
-
}
|
|
188
|
-
export function createCacheBreakDetectionState() {
|
|
189
|
-
return { systemHash: null, toolsHash: null, modelId: null, thinkingEnabled: null };
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* Detect if a cache break has occurred by comparing current request properties
|
|
193
|
-
* against the last known state.
|
|
194
|
-
*
|
|
195
|
-
* Returns the list of fields that changed (empty = no break).
|
|
196
|
-
*/
|
|
197
|
-
export function detectCacheBreaks(state, current) {
|
|
198
|
-
const events = [];
|
|
199
|
-
if (state.systemHash !== null && state.systemHash !== current.systemHash) {
|
|
200
|
-
events.push({ field: "system", previousHash: state.systemHash, currentHash: current.systemHash });
|
|
201
|
-
}
|
|
202
|
-
if (state.toolsHash !== null && state.toolsHash !== current.toolsHash) {
|
|
203
|
-
events.push({ field: "tools", previousHash: state.toolsHash, currentHash: current.toolsHash });
|
|
204
|
-
}
|
|
205
|
-
if (state.modelId !== null && state.modelId !== current.modelId) {
|
|
206
|
-
events.push({ field: "model", previousHash: state.modelId, currentHash: current.modelId });
|
|
207
|
-
}
|
|
208
|
-
if (state.thinkingEnabled !== null && state.thinkingEnabled !== current.thinkingEnabled) {
|
|
209
|
-
events.push({ field: "thinking", previousHash: String(state.thinkingEnabled), currentHash: String(current.thinkingEnabled) });
|
|
210
|
-
}
|
|
211
|
-
// Update state
|
|
212
|
-
state.systemHash = current.systemHash;
|
|
213
|
-
state.toolsHash = current.toolsHash;
|
|
214
|
-
state.modelId = current.modelId;
|
|
215
|
-
state.thinkingEnabled = current.thinkingEnabled;
|
|
216
|
-
return events;
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Compute a lightweight hash for cache break detection.
|
|
220
|
-
* Uses DJB2 algorithm (fast, good distribution for strings).
|
|
221
|
-
*/
|
|
222
|
-
export function quickHash(input) {
|
|
223
|
-
let hash = 5381;
|
|
224
|
-
for (let i = 0; i < input.length; i++) {
|
|
225
|
-
hash = ((hash << 5) + hash + input.charCodeAt(i)) | 0;
|
|
226
|
-
}
|
|
227
|
-
return (hash >>> 0).toString(36);
|
|
228
|
-
}
|
|
229
|
-
//# sourceMappingURL=prompt-cache-strategy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-cache-strategy.js","sourceRoot":"","sources":["../../src/orchestration/prompt-cache-strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reactive-compact.d.ts","sourceRoot":"","sources":["../../src/orchestration/reactive-compact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,qBAAqB;IACpC,0EAA0E;IAC1E,sBAAsB,EAAE,MAAM,CAAC;IAC/B,uDAAuD;IACvD,uBAAuB,EAAE,MAAM,CAAC;IAChC,uEAAuE;IACvE,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,+BAA+B,EAAE,qBAI7C,CAAC;AAEF,MAAM,WAAW,6BAA6B;IAC5C,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,0DAA0D;IAC1D,kBAAkB,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1E,8EAA8E;IAC9E,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACnD,mDAAmD;IACnD,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1D;AAED;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,6BAA6B,GACrC,MAAM,GAAG,IAAI,CAoCf;AAED,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gEAAgE;IAChE,iBAAiB,EAAE,OAAO,CAAC;IAC3B,8BAA8B;IAC9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,kEAAkE;IAClE,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,wBAAgB,0BAA0B,IAAI,oBAAoB,CAOjE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,oBAAoB,EAC3B,MAAM,GAAE,qBAAuD,GAC9D,OAAO,CAIT;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,EAAE,EACtB,kBAAkB,EAAE,MAAM,EAAE,GAC3B;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAQxC"}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Reactive Compact — Emergency context compression when API returns prompt-too-long.
|
|
3
|
-
*
|
|
4
|
-
* Aligned with Claude Code's reactive compact chain:
|
|
5
|
-
* 1. API 413 → withhold error → attempt reactive compact → retry
|
|
6
|
-
* 2. Only one reactive compact attempt per turn (prevent infinite loops)
|
|
7
|
-
* 3. Falls back to abort if compact fails
|
|
8
|
-
*
|
|
9
|
-
* Also handles post-compact restoration:
|
|
10
|
-
* - Todo list re-injection
|
|
11
|
-
* - Skill context re-injection
|
|
12
|
-
* - Tool delta re-injection (new/removed tools since last compact)
|
|
13
|
-
*/
|
|
14
|
-
export const DEFAULT_REACTIVE_COMPACT_CONFIG = {
|
|
15
|
-
maxConsecutiveFailures: 3,
|
|
16
|
-
minMessagesAfterCompact: 4,
|
|
17
|
-
targetUsagePercent: 50,
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* Build the restoration message to inject after a compact operation.
|
|
21
|
-
* This ensures critical state survives context compression.
|
|
22
|
-
*/
|
|
23
|
-
export function buildPostCompactRestorationMessage(payload) {
|
|
24
|
-
const sections = [];
|
|
25
|
-
if (payload.todoList && payload.todoList.length > 0) {
|
|
26
|
-
const todoLines = payload.todoList.map((t) => ` ${t.status === "completed" ? "[x]" : t.status === "in-progress" ? "[~]" : "[ ]"} #${t.id}: ${t.title}`);
|
|
27
|
-
sections.push(`## Active Todo List\n${todoLines.join("\n")}`);
|
|
28
|
-
}
|
|
29
|
-
if (payload.activeSkillContext) {
|
|
30
|
-
sections.push(`## Active Skill: ${payload.activeSkillContext.name}\nStep ${payload.activeSkillContext.step}:\n${payload.activeSkillContext.instructions}`);
|
|
31
|
-
}
|
|
32
|
-
if (payload.toolDelta && (payload.toolDelta.added.length > 0 || payload.toolDelta.removed.length > 0)) {
|
|
33
|
-
const lines = [];
|
|
34
|
-
if (payload.toolDelta.added.length > 0) {
|
|
35
|
-
lines.push(`New tools available: ${payload.toolDelta.added.join(", ")}`);
|
|
36
|
-
}
|
|
37
|
-
if (payload.toolDelta.removed.length > 0) {
|
|
38
|
-
lines.push(`Tools no longer available: ${payload.toolDelta.removed.join(", ")}`);
|
|
39
|
-
}
|
|
40
|
-
sections.push(`## Tool Changes\n${lines.join("\n")}`);
|
|
41
|
-
}
|
|
42
|
-
if (payload.customBlocks) {
|
|
43
|
-
for (const block of payload.customBlocks) {
|
|
44
|
-
sections.push(`## ${block.label}\n${block.content}`);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
if (sections.length === 0)
|
|
48
|
-
return null;
|
|
49
|
-
return `[Context was compressed. The following state has been restored:]\n\n${sections.join("\n\n")}`;
|
|
50
|
-
}
|
|
51
|
-
export function createReactiveCompactState() {
|
|
52
|
-
return {
|
|
53
|
-
consecutiveFailures: 0,
|
|
54
|
-
attemptedThisTurn: false,
|
|
55
|
-
lastCompactAt: null,
|
|
56
|
-
toolsAtLastCompact: [],
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Determine if reactive compact should be attempted.
|
|
61
|
-
*/
|
|
62
|
-
export function shouldAttemptReactiveCompact(state, config = DEFAULT_REACTIVE_COMPACT_CONFIG) {
|
|
63
|
-
if (state.attemptedThisTurn)
|
|
64
|
-
return false;
|
|
65
|
-
if (state.consecutiveFailures >= config.maxConsecutiveFailures)
|
|
66
|
-
return false;
|
|
67
|
-
return true;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Calculate the tool delta since last compact.
|
|
71
|
-
*/
|
|
72
|
-
export function computeToolDelta(currentTools, toolsAtLastCompact) {
|
|
73
|
-
const currentSet = new Set(currentTools);
|
|
74
|
-
const lastSet = new Set(toolsAtLastCompact);
|
|
75
|
-
const added = currentTools.filter((t) => !lastSet.has(t));
|
|
76
|
-
const removed = toolsAtLastCompact.filter((t) => !currentSet.has(t));
|
|
77
|
-
return { added, removed };
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=reactive-compact.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reactive-compact.js","sourceRoot":"","sources":["../../src/orchestration/reactive-compact.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"retry-loop.d.ts","sourceRoot":"","sources":["../../src/orchestration/retry-loop.ts"],"names":[],"mappings":"AAAA,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE;IAC7D,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,CAAC,MAAM,EAAE;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;KACvB,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IACjC,gBAAgB,EAAE,CAAC,MAAM,EAAE;QACzB,SAAS,EAAE,MAAM,CAAC;KACnB,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC3E,GAAG,OAAO,CAAC,OAAO,CAAC,CAgBnB;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE;IACnD,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,MAAM,CAOT"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export async function executeBoundedRetryLoop(params) {
|
|
2
|
-
let iterations = 0;
|
|
3
|
-
while (true) {
|
|
4
|
-
if (iterations >= params.maxIterations) {
|
|
5
|
-
return await params.onRetryLimit({
|
|
6
|
-
iterations,
|
|
7
|
-
maxIterations: params.maxIterations,
|
|
8
|
-
});
|
|
9
|
-
}
|
|
10
|
-
iterations += 1;
|
|
11
|
-
const outcome = await params.executeIteration({ iteration: iterations });
|
|
12
|
-
if (outcome.kind === "return") {
|
|
13
|
-
return outcome.result;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
export function resolveScaledRetryIterations(params) {
|
|
18
|
-
const baseIterations = Math.max(0, Math.floor(params.baseIterations ?? 24));
|
|
19
|
-
const perCandidateIterations = Math.max(0, Math.floor(params.perCandidateIterations ?? 8));
|
|
20
|
-
const minIterations = Math.max(1, Math.floor(params.minIterations ?? 32));
|
|
21
|
-
const maxIterations = Math.max(minIterations, Math.floor(params.maxIterations ?? 160));
|
|
22
|
-
const scaled = baseIterations + Math.max(1, Math.floor(params.candidateCount)) * perCandidateIterations;
|
|
23
|
-
return Math.min(maxIterations, Math.max(minIterations, scaled));
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=retry-loop.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"retry-loop.js","sourceRoot":"","sources":["../../src/orchestration/retry-loop.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAU,MAStD;IACC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,UAAU,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACvC,OAAO,MAAM,MAAM,CAAC,YAAY,CAAC;gBAC/B,UAAU;gBACV,aAAa,EAAE,MAAM,CAAC,aAAa;aACpC,CAAC,CAAC;QACL,CAAC;QAED,UAAU,IAAI,CAAC,CAAC;QAChB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;QACzE,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,OAAO,CAAC,MAAM,CAAC;QACxB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,MAM5C;IACC,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5E,MAAM,sBAAsB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3F,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC,CAAC;IACvF,MAAM,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,sBAAsB,CAAC;IACxG,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skill-candidate.d.ts","sourceRoot":"","sources":["../../src/orchestration/skill-candidate.ts"],"names":[],"mappings":"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"}
|