aec-agent 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/agent-core.d.ts +81 -0
- package/dist/agent-core.d.ts.map +1 -0
- package/dist/agent-core.js +168 -0
- package/dist/agent-core.js.map +1 -0
- package/dist/components/artifact-hub/agent-artifact-view.d.ts +31 -0
- package/dist/components/artifact-hub/agent-artifact-view.d.ts.map +1 -0
- package/dist/components/artifact-hub/agent-artifact-view.js +264 -0
- package/dist/components/artifact-hub/agent-artifact-view.js.map +1 -0
- package/dist/components/artifact-hub/artifact-hub.d.ts +25 -0
- package/dist/components/artifact-hub/artifact-hub.d.ts.map +1 -0
- package/dist/components/artifact-hub/artifact-hub.js +39 -0
- package/dist/components/artifact-hub/artifact-hub.js.map +1 -0
- package/dist/components/artifact-hub/types/artifact.d.ts +158 -0
- package/dist/components/artifact-hub/types/artifact.d.ts.map +1 -0
- package/dist/components/artifact-hub/types/artifact.js +14 -0
- package/dist/components/artifact-hub/types/artifact.js.map +1 -0
- package/dist/components/event-handler/event-dispatcher.d.ts +17 -0
- package/dist/components/event-handler/event-dispatcher.d.ts.map +1 -0
- package/dist/components/event-handler/event-dispatcher.js +47 -0
- package/dist/components/event-handler/event-dispatcher.js.map +1 -0
- package/dist/components/event-handler/events.d.ts +154 -0
- package/dist/components/event-handler/events.d.ts.map +1 -0
- package/dist/components/event-handler/events.js +28 -0
- package/dist/components/event-handler/events.js.map +1 -0
- package/dist/components/event-handler/types.d.ts +10 -0
- package/dist/components/event-handler/types.d.ts.map +1 -0
- package/dist/components/event-handler/types.js +2 -0
- package/dist/components/event-handler/types.js.map +1 -0
- package/dist/components/llm-provider-hub/llm-provider-hub.d.ts +14 -0
- package/dist/components/llm-provider-hub/llm-provider-hub.d.ts.map +1 -0
- package/dist/components/llm-provider-hub/llm-provider-hub.js +34 -0
- package/dist/components/llm-provider-hub/llm-provider-hub.js.map +1 -0
- package/dist/components/llm-provider-hub/providers/anthropic-provider.d.ts +22 -0
- package/dist/components/llm-provider-hub/providers/anthropic-provider.d.ts.map +1 -0
- package/dist/components/llm-provider-hub/providers/anthropic-provider.js +249 -0
- package/dist/components/llm-provider-hub/providers/anthropic-provider.js.map +1 -0
- package/dist/components/llm-provider-hub/providers/bedrock-provider.d.ts +28 -0
- package/dist/components/llm-provider-hub/providers/bedrock-provider.d.ts.map +1 -0
- package/dist/components/llm-provider-hub/providers/bedrock-provider.js +345 -0
- package/dist/components/llm-provider-hub/providers/bedrock-provider.js.map +1 -0
- package/dist/components/llm-provider-hub/providers/model-info-mappers.d.ts +6 -0
- package/dist/components/llm-provider-hub/providers/model-info-mappers.d.ts.map +1 -0
- package/dist/components/llm-provider-hub/providers/model-info-mappers.js +267 -0
- package/dist/components/llm-provider-hub/providers/model-info-mappers.js.map +1 -0
- package/dist/components/llm-provider-hub/providers/openai-compatible-provider.d.ts +24 -0
- package/dist/components/llm-provider-hub/providers/openai-compatible-provider.d.ts.map +1 -0
- package/dist/components/llm-provider-hub/providers/openai-compatible-provider.js +243 -0
- package/dist/components/llm-provider-hub/providers/openai-compatible-provider.js.map +1 -0
- package/dist/components/llm-provider-hub/providers/openai-subscription-provider.d.ts +29 -0
- package/dist/components/llm-provider-hub/providers/openai-subscription-provider.d.ts.map +1 -0
- package/dist/components/llm-provider-hub/providers/openai-subscription-provider.js +299 -0
- package/dist/components/llm-provider-hub/providers/openai-subscription-provider.js.map +1 -0
- package/dist/components/llm-provider-hub/providers/registry.d.ts +6 -0
- package/dist/components/llm-provider-hub/providers/registry.d.ts.map +1 -0
- package/dist/components/llm-provider-hub/providers/registry.js +33 -0
- package/dist/components/llm-provider-hub/providers/registry.js.map +1 -0
- package/dist/components/llm-provider-hub/providers/types.d.ts +29 -0
- package/dist/components/llm-provider-hub/providers/types.d.ts.map +1 -0
- package/dist/components/llm-provider-hub/providers/types.js +2 -0
- package/dist/components/llm-provider-hub/providers/types.js.map +1 -0
- package/dist/components/llm-provider-hub/types.d.ts +84 -0
- package/dist/components/llm-provider-hub/types.d.ts.map +1 -0
- package/dist/components/llm-provider-hub/types.js +6 -0
- package/dist/components/llm-provider-hub/types.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/agent-loop.d.ts +85 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/agent-loop.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/agent-loop.js +500 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/agent-loop.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/abort.d.ts +29 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/abort.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/abort.js +98 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/abort.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/compactor.d.ts +16 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/compactor.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/compactor.js +116 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/compactor.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/compactor.types.d.ts +41 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/compactor.types.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/compactor.types.js +2 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/compactor.types.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/counter.d.ts +69 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/counter.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/counter.js +147 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/counter.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/harness-executor.d.ts +55 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/harness-executor.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/harness-executor.js +406 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/harness-executor.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/run-trace.d.ts +19 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/run-trace.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/run-trace.js +28 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/run-trace.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/summarizer.d.ts +17 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/summarizer.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/summarizer.js +55 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/summarizer.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/summarizer.types.d.ts +3 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/summarizer.types.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/summarizer.types.js +2 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/summarizer.types.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/tool-pairing.d.ts +20 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/tool-pairing.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/tool-pairing.js +56 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/tool-pairing.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/functions/llm-input.d.ts +23 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/functions/llm-input.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/functions/llm-input.js +127 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/functions/llm-input.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/functions/memory-recall.d.ts +9 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/functions/memory-recall.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/functions/memory-recall.js +40 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/functions/memory-recall.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/types.d.ts +135 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/types.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/types.js +31 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/types.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent.d.ts +93 -0
- package/dist/components/multi-agent-orchestration/agent/agent.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent.js +223 -0
- package/dist/components/multi-agent-orchestration/agent/agent.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/artifact-manager/artifact-manager.d.ts +18 -0
- package/dist/components/multi-agent-orchestration/agent/artifact-manager/artifact-manager.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/artifact-manager/artifact-manager.js +20 -0
- package/dist/components/multi-agent-orchestration/agent/artifact-manager/artifact-manager.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/channel-manager/channel-manager.d.ts +6 -0
- package/dist/components/multi-agent-orchestration/agent/channel-manager/channel-manager.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/channel-manager/channel-manager.js +6 -0
- package/dist/components/multi-agent-orchestration/agent/channel-manager/channel-manager.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/context-manager/context-manager.d.ts +22 -0
- package/dist/components/multi-agent-orchestration/agent/context-manager/context-manager.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/context-manager/context-manager.js +52 -0
- package/dist/components/multi-agent-orchestration/agent/context-manager/context-manager.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/context-manager/types.d.ts +13 -0
- package/dist/components/multi-agent-orchestration/agent/context-manager/types.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/context-manager/types.js +2 -0
- package/dist/components/multi-agent-orchestration/agent/context-manager/types.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/conversation-manager/conversation-manager.d.ts +25 -0
- package/dist/components/multi-agent-orchestration/agent/conversation-manager/conversation-manager.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/conversation-manager/conversation-manager.js +74 -0
- package/dist/components/multi-agent-orchestration/agent/conversation-manager/conversation-manager.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/consolidation-scheduler.d.ts +57 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/consolidation-scheduler.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/consolidation-scheduler.js +185 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/consolidation-scheduler.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/dreaming.d.ts +38 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/dreaming.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/dreaming.js +89 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/dreaming.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/indexing.d.ts +30 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/indexing.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/indexing.js +91 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/indexing.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/learning.d.ts +3 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/learning.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/learning.js +3 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/learning.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/memory.d.ts +22 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/memory.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/memory.js +196 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/memory.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/retrieval.d.ts +17 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/retrieval.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/retrieval.js +114 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/retrieval.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/memory-system.d.ts +89 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/memory-system.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/memory-system.js +178 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/memory-system.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/types/config.d.ts +29 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/types/config.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/types/config.js +2 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/types/config.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/types/pipeline.d.ts +33 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/types/pipeline.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/types/pipeline.js +2 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/types/pipeline.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/types/record.d.ts +27 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/types/record.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/types/record.js +5 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/types/record.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/model-manager/model-manager.d.ts +39 -0
- package/dist/components/multi-agent-orchestration/agent/model-manager/model-manager.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/model-manager/model-manager.js +70 -0
- package/dist/components/multi-agent-orchestration/agent/model-manager/model-manager.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/sandbox-manager/sandbox-manager.d.ts +43 -0
- package/dist/components/multi-agent-orchestration/agent/sandbox-manager/sandbox-manager.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/sandbox-manager/sandbox-manager.js +126 -0
- package/dist/components/multi-agent-orchestration/agent/sandbox-manager/sandbox-manager.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/scheduled-job-manager/scheduled-job-manager.d.ts +38 -0
- package/dist/components/multi-agent-orchestration/agent/scheduled-job-manager/scheduled-job-manager.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/scheduled-job-manager/scheduled-job-manager.js +155 -0
- package/dist/components/multi-agent-orchestration/agent/scheduled-job-manager/scheduled-job-manager.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/scheduled-job-manager/types.d.ts +27 -0
- package/dist/components/multi-agent-orchestration/agent/scheduled-job-manager/types.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/scheduled-job-manager/types.js +2 -0
- package/dist/components/multi-agent-orchestration/agent/scheduled-job-manager/types.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/skill-manager/skill-index.d.ts +6 -0
- package/dist/components/multi-agent-orchestration/agent/skill-manager/skill-index.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/skill-manager/skill-index.js +43 -0
- package/dist/components/multi-agent-orchestration/agent/skill-manager/skill-index.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/skill-manager/skill-manager.d.ts +56 -0
- package/dist/components/multi-agent-orchestration/agent/skill-manager/skill-manager.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/skill-manager/skill-manager.js +107 -0
- package/dist/components/multi-agent-orchestration/agent/skill-manager/skill-manager.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/tool-manager/tool-manager.d.ts +20 -0
- package/dist/components/multi-agent-orchestration/agent/tool-manager/tool-manager.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/tool-manager/tool-manager.js +28 -0
- package/dist/components/multi-agent-orchestration/agent/tool-manager/tool-manager.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/types.d.ts +44 -0
- package/dist/components/multi-agent-orchestration/agent/types.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/types.js +2 -0
- package/dist/components/multi-agent-orchestration/agent/types.js.map +1 -0
- package/dist/components/multi-agent-orchestration/multi-agent-orchestration.d.ts +23 -0
- package/dist/components/multi-agent-orchestration/multi-agent-orchestration.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/multi-agent-orchestration.js +42 -0
- package/dist/components/multi-agent-orchestration/multi-agent-orchestration.js.map +1 -0
- package/dist/components/persistence-hub/default-stores/memory-agent-store.d.ts +10 -0
- package/dist/components/persistence-hub/default-stores/memory-agent-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/default-stores/memory-agent-store.js +16 -0
- package/dist/components/persistence-hub/default-stores/memory-agent-store.js.map +1 -0
- package/dist/components/persistence-hub/default-stores/memory-artifact-store.d.ts +16 -0
- package/dist/components/persistence-hub/default-stores/memory-artifact-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/default-stores/memory-artifact-store.js +70 -0
- package/dist/components/persistence-hub/default-stores/memory-artifact-store.js.map +1 -0
- package/dist/components/persistence-hub/default-stores/memory-memory-store.d.ts +12 -0
- package/dist/components/persistence-hub/default-stores/memory-memory-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/default-stores/memory-memory-store.js +51 -0
- package/dist/components/persistence-hub/default-stores/memory-memory-store.js.map +1 -0
- package/dist/components/persistence-hub/default-stores/memory-message-store.d.ts +12 -0
- package/dist/components/persistence-hub/default-stores/memory-message-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/default-stores/memory-message-store.js +33 -0
- package/dist/components/persistence-hub/default-stores/memory-message-store.js.map +1 -0
- package/dist/components/persistence-hub/default-stores/memory-provider-store.d.ts +9 -0
- package/dist/components/persistence-hub/default-stores/memory-provider-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/default-stores/memory-provider-store.js +16 -0
- package/dist/components/persistence-hub/default-stores/memory-provider-store.js.map +1 -0
- package/dist/components/persistence-hub/default-stores/memory-session-store.d.ts +12 -0
- package/dist/components/persistence-hub/default-stores/memory-session-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/default-stores/memory-session-store.js +42 -0
- package/dist/components/persistence-hub/default-stores/memory-session-store.js.map +1 -0
- package/dist/components/persistence-hub/default-stores/memory-skill-store.d.ts +9 -0
- package/dist/components/persistence-hub/default-stores/memory-skill-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/default-stores/memory-skill-store.js +20 -0
- package/dist/components/persistence-hub/default-stores/memory-skill-store.js.map +1 -0
- package/dist/components/persistence-hub/persistence-hub.d.ts +34 -0
- package/dist/components/persistence-hub/persistence-hub.d.ts.map +1 -0
- package/dist/components/persistence-hub/persistence-hub.js +37 -0
- package/dist/components/persistence-hub/persistence-hub.js.map +1 -0
- package/dist/components/persistence-hub/types/agent-store.d.ts +8 -0
- package/dist/components/persistence-hub/types/agent-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/types/agent-store.js +2 -0
- package/dist/components/persistence-hub/types/agent-store.js.map +1 -0
- package/dist/components/persistence-hub/types/artifact-store.d.ts +33 -0
- package/dist/components/persistence-hub/types/artifact-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/types/artifact-store.js +2 -0
- package/dist/components/persistence-hub/types/artifact-store.js.map +1 -0
- package/dist/components/persistence-hub/types/memory-store.d.ts +23 -0
- package/dist/components/persistence-hub/types/memory-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/types/memory-store.js +2 -0
- package/dist/components/persistence-hub/types/memory-store.js.map +1 -0
- package/dist/components/persistence-hub/types/message-store.d.ts +27 -0
- package/dist/components/persistence-hub/types/message-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/types/message-store.js +2 -0
- package/dist/components/persistence-hub/types/message-store.js.map +1 -0
- package/dist/components/persistence-hub/types/provider-store.d.ts +28 -0
- package/dist/components/persistence-hub/types/provider-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/types/provider-store.js +5 -0
- package/dist/components/persistence-hub/types/provider-store.js.map +1 -0
- package/dist/components/persistence-hub/types/session-store.d.ts +15 -0
- package/dist/components/persistence-hub/types/session-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/types/session-store.js +2 -0
- package/dist/components/persistence-hub/types/session-store.js.map +1 -0
- package/dist/components/persistence-hub/types/skill-store.d.ts +22 -0
- package/dist/components/persistence-hub/types/skill-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/types/skill-store.js +2 -0
- package/dist/components/persistence-hub/types/skill-store.js.map +1 -0
- package/dist/components/sandbox-hub/approval-policy.d.ts +12 -0
- package/dist/components/sandbox-hub/approval-policy.d.ts.map +1 -0
- package/dist/components/sandbox-hub/approval-policy.js +11 -0
- package/dist/components/sandbox-hub/approval-policy.js.map +1 -0
- package/dist/components/sandbox-hub/docker/aec-sandbox-image.d.ts +3 -0
- package/dist/components/sandbox-hub/docker/aec-sandbox-image.d.ts.map +1 -0
- package/dist/components/sandbox-hub/docker/aec-sandbox-image.js +31 -0
- package/dist/components/sandbox-hub/docker/aec-sandbox-image.js.map +1 -0
- package/dist/components/sandbox-hub/docker/docker-cli.d.ts +32 -0
- package/dist/components/sandbox-hub/docker/docker-cli.d.ts.map +1 -0
- package/dist/components/sandbox-hub/docker/docker-cli.js +83 -0
- package/dist/components/sandbox-hub/docker/docker-cli.js.map +1 -0
- package/dist/components/sandbox-hub/docker/docker-sandbox-provider.d.ts +70 -0
- package/dist/components/sandbox-hub/docker/docker-sandbox-provider.d.ts.map +1 -0
- package/dist/components/sandbox-hub/docker/docker-sandbox-provider.js +166 -0
- package/dist/components/sandbox-hub/docker/docker-sandbox-provider.js.map +1 -0
- package/dist/components/sandbox-hub/docker/docker-sandbox.d.ts +51 -0
- package/dist/components/sandbox-hub/docker/docker-sandbox.d.ts.map +1 -0
- package/dist/components/sandbox-hub/docker/docker-sandbox.js +584 -0
- package/dist/components/sandbox-hub/docker/docker-sandbox.js.map +1 -0
- package/dist/components/sandbox-hub/docker/sandbox-helper.d.ts +4 -0
- package/dist/components/sandbox-hub/docker/sandbox-helper.d.ts.map +1 -0
- package/dist/components/sandbox-hub/docker/sandbox-helper.js +442 -0
- package/dist/components/sandbox-hub/docker/sandbox-helper.js.map +1 -0
- package/dist/components/sandbox-hub/docker/types.d.ts +26 -0
- package/dist/components/sandbox-hub/docker/types.d.ts.map +1 -0
- package/dist/components/sandbox-hub/docker/types.js +2 -0
- package/dist/components/sandbox-hub/docker/types.js.map +1 -0
- package/dist/components/sandbox-hub/host/host-sandbox-provider.d.ts +34 -0
- package/dist/components/sandbox-hub/host/host-sandbox-provider.d.ts.map +1 -0
- package/dist/components/sandbox-hub/host/host-sandbox-provider.js +81 -0
- package/dist/components/sandbox-hub/host/host-sandbox-provider.js.map +1 -0
- package/dist/components/sandbox-hub/host/host-sandbox.d.ts +22 -0
- package/dist/components/sandbox-hub/host/host-sandbox.d.ts.map +1 -0
- package/dist/components/sandbox-hub/host/host-sandbox.js +508 -0
- package/dist/components/sandbox-hub/host/host-sandbox.js.map +1 -0
- package/dist/components/sandbox-hub/logical-path.d.ts +28 -0
- package/dist/components/sandbox-hub/logical-path.d.ts.map +1 -0
- package/dist/components/sandbox-hub/logical-path.js +73 -0
- package/dist/components/sandbox-hub/logical-path.js.map +1 -0
- package/dist/components/sandbox-hub/sandbox-hub.d.ts +69 -0
- package/dist/components/sandbox-hub/sandbox-hub.d.ts.map +1 -0
- package/dist/components/sandbox-hub/sandbox-hub.js +216 -0
- package/dist/components/sandbox-hub/sandbox-hub.js.map +1 -0
- package/dist/components/sandbox-hub/traced-sandbox.d.ts +15 -0
- package/dist/components/sandbox-hub/traced-sandbox.d.ts.map +1 -0
- package/dist/components/sandbox-hub/traced-sandbox.js +69 -0
- package/dist/components/sandbox-hub/traced-sandbox.js.map +1 -0
- package/dist/components/sandbox-hub/types/policy.d.ts +40 -0
- package/dist/components/sandbox-hub/types/policy.d.ts.map +1 -0
- package/dist/components/sandbox-hub/types/policy.js +2 -0
- package/dist/components/sandbox-hub/types/policy.js.map +1 -0
- package/dist/components/sandbox-hub/types/provider.d.ts +40 -0
- package/dist/components/sandbox-hub/types/provider.d.ts.map +1 -0
- package/dist/components/sandbox-hub/types/provider.js +2 -0
- package/dist/components/sandbox-hub/types/provider.js.map +1 -0
- package/dist/components/sandbox-hub/types/sandbox.d.ts +185 -0
- package/dist/components/sandbox-hub/types/sandbox.d.ts.map +1 -0
- package/dist/components/sandbox-hub/types/sandbox.js +15 -0
- package/dist/components/sandbox-hub/types/sandbox.js.map +1 -0
- package/dist/components/skill-hub/built-in-skills/essential-skills.d.ts +5 -0
- package/dist/components/skill-hub/built-in-skills/essential-skills.d.ts.map +1 -0
- package/dist/components/skill-hub/built-in-skills/essential-skills.js +10 -0
- package/dist/components/skill-hub/built-in-skills/essential-skills.js.map +1 -0
- package/dist/components/skill-hub/built-in-skills/plan.d.ts +3 -0
- package/dist/components/skill-hub/built-in-skills/plan.d.ts.map +1 -0
- package/dist/components/skill-hub/built-in-skills/plan.js +33 -0
- package/dist/components/skill-hub/built-in-skills/plan.js.map +1 -0
- package/dist/components/skill-hub/built-in-skills/skill-creator.d.ts +3 -0
- package/dist/components/skill-hub/built-in-skills/skill-creator.d.ts.map +1 -0
- package/dist/components/skill-hub/built-in-skills/skill-creator.js +186 -0
- package/dist/components/skill-hub/built-in-skills/skill-creator.js.map +1 -0
- package/dist/components/skill-hub/built-in-skills/web-research.d.ts +3 -0
- package/dist/components/skill-hub/built-in-skills/web-research.d.ts.map +1 -0
- package/dist/components/skill-hub/built-in-skills/web-research.js +35 -0
- package/dist/components/skill-hub/built-in-skills/web-research.js.map +1 -0
- package/dist/components/skill-hub/skill-format.d.ts +40 -0
- package/dist/components/skill-hub/skill-format.d.ts.map +1 -0
- package/dist/components/skill-hub/skill-format.js +378 -0
- package/dist/components/skill-hub/skill-format.js.map +1 -0
- package/dist/components/skill-hub/skill-hub.d.ts +45 -0
- package/dist/components/skill-hub/skill-hub.d.ts.map +1 -0
- package/dist/components/skill-hub/skill-hub.js +173 -0
- package/dist/components/skill-hub/skill-hub.js.map +1 -0
- package/dist/components/skill-hub/types/agent-skills.d.ts +20 -0
- package/dist/components/skill-hub/types/agent-skills.d.ts.map +1 -0
- package/dist/components/skill-hub/types/agent-skills.js +2 -0
- package/dist/components/skill-hub/types/agent-skills.js.map +1 -0
- package/dist/components/skill-hub/types/skill.d.ts +55 -0
- package/dist/components/skill-hub/types/skill.d.ts.map +1 -0
- package/dist/components/skill-hub/types/skill.js +11 -0
- package/dist/components/skill-hub/types/skill.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/artifact-helpers.d.ts +52 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/artifact-helpers.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/artifact-helpers.js +143 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/artifact-helpers.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/create-artifact-tools.d.ts +7 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/create-artifact-tools.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/create-artifact-tools.js +18 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/create-artifact-tools.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/list-artifacts-tool.d.ts +16 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/list-artifacts-tool.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/list-artifacts-tool.js +69 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/list-artifacts-tool.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/read-artifact-tool.d.ts +16 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/read-artifact-tool.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/read-artifact-tool.js +79 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/read-artifact-tool.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/save-artifact-tool.d.ts +16 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/save-artifact-tool.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/save-artifact-tool.js +105 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/save-artifact-tool.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/types.d.ts +11 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/types.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/types.js +8 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/types.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/update-artifact-tool.d.ts +17 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/update-artifact-tool.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/update-artifact-tool.js +100 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/update-artifact-tool.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/interaction/clarify-tool.d.ts +16 -0
- package/dist/components/tool-hub/built-in-tools/interaction/clarify-tool.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/interaction/clarify-tool.js +94 -0
- package/dist/components/tool-hub/built-in-tools/interaction/clarify-tool.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/skills/skill-manage-tool.d.ts +22 -0
- package/dist/components/tool-hub/built-in-tools/skills/skill-manage-tool.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/skills/skill-manage-tool.js +226 -0
- package/dist/components/tool-hub/built-in-tools/skills/skill-manage-tool.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/skills/skill-view-tool.d.ts +18 -0
- package/dist/components/tool-hub/built-in-tools/skills/skill-view-tool.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/skills/skill-view-tool.js +86 -0
- package/dist/components/tool-hub/built-in-tools/skills/skill-view-tool.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/skills/skill-workspace.d.ts +26 -0
- package/dist/components/tool-hub/built-in-tools/skills/skill-workspace.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/skills/skill-workspace.js +93 -0
- package/dist/components/tool-hub/built-in-tools/skills/skill-workspace.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/web/duckduckgo-search-provider.d.ts +28 -0
- package/dist/components/tool-hub/built-in-tools/web/duckduckgo-search-provider.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/web/duckduckgo-search-provider.js +116 -0
- package/dist/components/tool-hub/built-in-tools/web/duckduckgo-search-provider.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/web/html-to-text.d.ts +14 -0
- package/dist/components/tool-hub/built-in-tools/web/html-to-text.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/web/html-to-text.js +158 -0
- package/dist/components/tool-hub/built-in-tools/web/html-to-text.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/web/network-guard.d.ts +21 -0
- package/dist/components/tool-hub/built-in-tools/web/network-guard.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/web/network-guard.js +106 -0
- package/dist/components/tool-hub/built-in-tools/web/network-guard.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/web/types.d.ts +23 -0
- package/dist/components/tool-hub/built-in-tools/web/types.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/web/types.js +5 -0
- package/dist/components/tool-hub/built-in-tools/web/types.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/web/web-extract-tool.d.ts +37 -0
- package/dist/components/tool-hub/built-in-tools/web/web-extract-tool.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/web/web-extract-tool.js +206 -0
- package/dist/components/tool-hub/built-in-tools/web/web-extract-tool.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/web/web-search-tool.d.ts +25 -0
- package/dist/components/tool-hub/built-in-tools/web/web-search-tool.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/web/web-search-tool.js +82 -0
- package/dist/components/tool-hub/built-in-tools/web/web-search-tool.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/workspace/create-workspace-tools.d.ts +7 -0
- package/dist/components/tool-hub/built-in-tools/workspace/create-workspace-tools.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/workspace/create-workspace-tools.js +24 -0
- package/dist/components/tool-hub/built-in-tools/workspace/create-workspace-tools.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/workspace/edit-file-tool.d.ts +15 -0
- package/dist/components/tool-hub/built-in-tools/workspace/edit-file-tool.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/workspace/edit-file-tool.js +103 -0
- package/dist/components/tool-hub/built-in-tools/workspace/edit-file-tool.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/workspace/list-files-tool.d.ts +12 -0
- package/dist/components/tool-hub/built-in-tools/workspace/list-files-tool.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/workspace/list-files-tool.js +53 -0
- package/dist/components/tool-hub/built-in-tools/workspace/list-files-tool.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/workspace/read-file-tool.d.ts +15 -0
- package/dist/components/tool-hub/built-in-tools/workspace/read-file-tool.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/workspace/read-file-tool.js +71 -0
- package/dist/components/tool-hub/built-in-tools/workspace/read-file-tool.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/workspace/run-code-tool.d.ts +16 -0
- package/dist/components/tool-hub/built-in-tools/workspace/run-code-tool.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/workspace/run-code-tool.js +72 -0
- package/dist/components/tool-hub/built-in-tools/workspace/run-code-tool.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/workspace/search-files-tool.d.ts +12 -0
- package/dist/components/tool-hub/built-in-tools/workspace/search-files-tool.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/workspace/search-files-tool.js +64 -0
- package/dist/components/tool-hub/built-in-tools/workspace/search-files-tool.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/workspace/terminal-tool.d.ts +19 -0
- package/dist/components/tool-hub/built-in-tools/workspace/terminal-tool.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/workspace/terminal-tool.js +111 -0
- package/dist/components/tool-hub/built-in-tools/workspace/terminal-tool.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/workspace/types.d.ts +16 -0
- package/dist/components/tool-hub/built-in-tools/workspace/types.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/workspace/types.js +8 -0
- package/dist/components/tool-hub/built-in-tools/workspace/types.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/workspace/workspace-helpers.d.ts +29 -0
- package/dist/components/tool-hub/built-in-tools/workspace/workspace-helpers.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/workspace/workspace-helpers.js +128 -0
- package/dist/components/tool-hub/built-in-tools/workspace/workspace-helpers.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/workspace/write-file-tool.d.ts +17 -0
- package/dist/components/tool-hub/built-in-tools/workspace/write-file-tool.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/workspace/write-file-tool.js +61 -0
- package/dist/components/tool-hub/built-in-tools/workspace/write-file-tool.js.map +1 -0
- package/dist/components/tool-hub/policies/default-tool-policy.d.ts +17 -0
- package/dist/components/tool-hub/policies/default-tool-policy.d.ts.map +1 -0
- package/dist/components/tool-hub/policies/default-tool-policy.js +99 -0
- package/dist/components/tool-hub/policies/default-tool-policy.js.map +1 -0
- package/dist/components/tool-hub/tool-hub.d.ts +28 -0
- package/dist/components/tool-hub/tool-hub.d.ts.map +1 -0
- package/dist/components/tool-hub/tool-hub.js +49 -0
- package/dist/components/tool-hub/tool-hub.js.map +1 -0
- package/dist/components/tool-hub/types.d.ts +138 -0
- package/dist/components/tool-hub/types.d.ts.map +1 -0
- package/dist/components/tool-hub/types.js +2 -0
- package/dist/components/tool-hub/types.js.map +1 -0
- package/dist/components/trace-service/console-trace-sink.d.ts +9 -0
- package/dist/components/trace-service/console-trace-sink.d.ts.map +1 -0
- package/dist/components/trace-service/console-trace-sink.js +35 -0
- package/dist/components/trace-service/console-trace-sink.js.map +1 -0
- package/dist/components/trace-service/trace-service.d.ts +25 -0
- package/dist/components/trace-service/trace-service.d.ts.map +1 -0
- package/dist/components/trace-service/trace-service.js +288 -0
- package/dist/components/trace-service/trace-service.js.map +1 -0
- package/dist/components/trace-service/types/sink.d.ts +7 -0
- package/dist/components/trace-service/types/sink.d.ts.map +1 -0
- package/dist/components/trace-service/types/sink.js +5 -0
- package/dist/components/trace-service/types/sink.js.map +1 -0
- package/dist/components/trace-service/types/span.d.ts +31 -0
- package/dist/components/trace-service/types/span.d.ts.map +1 -0
- package/dist/components/trace-service/types/span.js +5 -0
- package/dist/components/trace-service/types/span.js.map +1 -0
- package/dist/create-agent.d.ts +5 -0
- package/dist/create-agent.d.ts.map +1 -0
- package/dist/create-agent.js +57 -0
- package/dist/create-agent.js.map +1 -0
- package/dist/index.d.ts +110 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +73 -0
- package/dist/index.js.map +1 -0
- package/dist/kernel/errors/artifact-error.d.ts +23 -0
- package/dist/kernel/errors/artifact-error.d.ts.map +1 -0
- package/dist/kernel/errors/artifact-error.js +22 -0
- package/dist/kernel/errors/artifact-error.js.map +1 -0
- package/dist/kernel/errors/model-error.d.ts +7 -0
- package/dist/kernel/errors/model-error.d.ts.map +1 -0
- package/dist/kernel/errors/model-error.js +10 -0
- package/dist/kernel/errors/model-error.js.map +1 -0
- package/dist/kernel/errors/policy-error.d.ts +8 -0
- package/dist/kernel/errors/policy-error.d.ts.map +1 -0
- package/dist/kernel/errors/policy-error.js +12 -0
- package/dist/kernel/errors/policy-error.js.map +1 -0
- package/dist/kernel/errors/sandbox-error.d.ts +35 -0
- package/dist/kernel/errors/sandbox-error.d.ts.map +1 -0
- package/dist/kernel/errors/sandbox-error.js +26 -0
- package/dist/kernel/errors/sandbox-error.js.map +1 -0
- package/dist/kernel/errors/sdk-error.d.ts +9 -0
- package/dist/kernel/errors/sdk-error.d.ts.map +1 -0
- package/dist/kernel/errors/sdk-error.js +13 -0
- package/dist/kernel/errors/sdk-error.js.map +1 -0
- package/dist/kernel/errors/session-error.d.ts +7 -0
- package/dist/kernel/errors/session-error.d.ts.map +1 -0
- package/dist/kernel/errors/session-error.js +10 -0
- package/dist/kernel/errors/session-error.js.map +1 -0
- package/dist/kernel/errors/skill-error.d.ts +14 -0
- package/dist/kernel/errors/skill-error.d.ts.map +1 -0
- package/dist/kernel/errors/skill-error.js +12 -0
- package/dist/kernel/errors/skill-error.js.map +1 -0
- package/dist/kernel/errors/tool-error.d.ts +8 -0
- package/dist/kernel/errors/tool-error.d.ts.map +1 -0
- package/dist/kernel/errors/tool-error.js +12 -0
- package/dist/kernel/errors/tool-error.js.map +1 -0
- package/dist/kernel/interfaces/kernel.d.ts +23 -0
- package/dist/kernel/interfaces/kernel.d.ts.map +1 -0
- package/dist/kernel/interfaces/kernel.js +2 -0
- package/dist/kernel/interfaces/kernel.js.map +1 -0
- package/dist/kernel/interfaces/plugin.d.ts +7 -0
- package/dist/kernel/interfaces/plugin.d.ts.map +1 -0
- package/dist/kernel/interfaces/plugin.js +5 -0
- package/dist/kernel/interfaces/plugin.js.map +1 -0
- package/dist/kernel/types.d.ts +103 -0
- package/dist/kernel/types.d.ts.map +1 -0
- package/dist/kernel/types.js +2 -0
- package/dist/kernel/types.js.map +1 -0
- package/dist/testing/in-memory-sandbox.d.ts +66 -0
- package/dist/testing/in-memory-sandbox.d.ts.map +1 -0
- package/dist/testing/in-memory-sandbox.js +507 -0
- package/dist/testing/in-memory-sandbox.js.map +1 -0
- package/dist/testing/mock-llm-model-provider.d.ts +14 -0
- package/dist/testing/mock-llm-model-provider.d.ts.map +1 -0
- package/dist/testing/mock-llm-model-provider.js +30 -0
- package/dist/testing/mock-llm-model-provider.js.map +1 -0
- package/dist/testing/mock-session-store.d.ts +17 -0
- package/dist/testing/mock-session-store.d.ts.map +1 -0
- package/dist/testing/mock-session-store.js +49 -0
- package/dist/testing/mock-session-store.js.map +1 -0
- package/dist/testing/mock-tools.d.ts +38 -0
- package/dist/testing/mock-tools.d.ts.map +1 -0
- package/dist/testing/mock-tools.js +130 -0
- package/dist/testing/mock-tools.js.map +1 -0
- package/package.json +55 -0
|
@@ -0,0 +1,442 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Sandbox helper — a small Node program installed into every Docker sandbox at
|
|
3
|
+
// /tmp/.aec/helper.js (root-owned, read-only for the sandbox user) and run with
|
|
4
|
+
// `docker exec` for each operation (A-60).
|
|
5
|
+
//
|
|
6
|
+
// It exists because path checks must happen WHERE THE FILES ARE: the host can
|
|
7
|
+
// canonicalise "../x", but only the container can see symlinks. Every path is
|
|
8
|
+
// resolved component by component (following links, including dangling ones)
|
|
9
|
+
// and must stay inside the roots the host sends — otherwise "path_escape".
|
|
10
|
+
//
|
|
11
|
+
// node helper.js file operation: one JSON request on stdin,
|
|
12
|
+
// one JSON response line on stdout
|
|
13
|
+
// node helper.js exec command: JSON header line on stdin, then stdin is
|
|
14
|
+
// held open; closing it kills the command's whole
|
|
15
|
+
// process group. stdout starts with "AEC-OK\n" or
|
|
16
|
+
// "AEC-ERR {json}\n", followed by the command output.
|
|
17
|
+
//
|
|
18
|
+
// Plain JavaScript (no template literals — this file embeds it in one), no
|
|
19
|
+
// dependencies, Node >= 18. Images used for sandboxes must provide `node`.
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
/** Where the helper lives inside the container. */
|
|
22
|
+
export const HELPER_PATH = "/tmp/.aec/helper.js";
|
|
23
|
+
export const HELPER_SOURCE = String.raw `"use strict";
|
|
24
|
+
const fs = require("fs");
|
|
25
|
+
const posix = require("path").posix;
|
|
26
|
+
const crypto = require("crypto");
|
|
27
|
+
const cp = require("child_process");
|
|
28
|
+
const os = require("os");
|
|
29
|
+
|
|
30
|
+
class OpError extends Error {
|
|
31
|
+
constructor(code, message) { super(message); this.code = code; }
|
|
32
|
+
}
|
|
33
|
+
function fail(code, message) { throw new OpError(code, message); }
|
|
34
|
+
|
|
35
|
+
function within(p, roots) {
|
|
36
|
+
return roots.some((r) => p === r || p.startsWith(r === "/" ? "/" : r + "/"));
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function fsError(err, label) {
|
|
40
|
+
if (err instanceof OpError) return err;
|
|
41
|
+
const c = err && err.code;
|
|
42
|
+
if (c === "ENOENT") return new OpError("not_found", label + " does not exist");
|
|
43
|
+
if (c === "ENOTDIR") return new OpError("invalid_path", label + ": a parent is not a directory");
|
|
44
|
+
if (c === "EISDIR") return new OpError("invalid_path", label + " is a directory");
|
|
45
|
+
if (c === "ELOOP") return new OpError("invalid_path", label + ": too many symlinks");
|
|
46
|
+
if (c === "ENAMETOOLONG") return new OpError("invalid_path", label + ": name too long");
|
|
47
|
+
if (c === "EACCES" || c === "EPERM" || c === "EROFS") return new OpError("policy_denied", label + ": permission denied");
|
|
48
|
+
if (c === "ENOSPC" || c === "EDQUOT" || c === "EFBIG") return new OpError("too_large", label + ": no space left in the sandbox");
|
|
49
|
+
return new OpError("environment_unavailable", label + ": " + (err && err.message ? err.message : String(err)));
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// Follow symlinks one component at a time — also through missing tails and
|
|
53
|
+
// dangling links, so a write cannot land outside via a link that points nowhere yet.
|
|
54
|
+
function realPath(logical, roots) {
|
|
55
|
+
let resolved = "/";
|
|
56
|
+
const pending = logical.split("/").filter(Boolean);
|
|
57
|
+
let hops = 0;
|
|
58
|
+
while (pending.length) {
|
|
59
|
+
const part = pending.shift();
|
|
60
|
+
const next = posix.join(resolved, part);
|
|
61
|
+
let st = null;
|
|
62
|
+
try { st = fs.lstatSync(next); } catch (e) {
|
|
63
|
+
if (e.code !== "ENOENT" && e.code !== "ENOTDIR") throw fsError(e, logical);
|
|
64
|
+
}
|
|
65
|
+
if (st && st.isSymbolicLink()) {
|
|
66
|
+
if (++hops > 40) fail("invalid_path", "Too many symlinks resolving " + logical);
|
|
67
|
+
const target = fs.readlinkSync(next);
|
|
68
|
+
const absolute = target.startsWith("/") ? target : posix.join(resolved, target);
|
|
69
|
+
resolved = "/";
|
|
70
|
+
pending.unshift.apply(pending, absolute.split("/").filter(Boolean));
|
|
71
|
+
} else {
|
|
72
|
+
resolved = next;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
const real = posix.normalize(resolved);
|
|
76
|
+
if (!within(real, roots)) {
|
|
77
|
+
fail("path_escape", "\"" + logical + "\" resolves through a symlink to a location outside the workspace");
|
|
78
|
+
}
|
|
79
|
+
return real;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
function typeOf(st) {
|
|
83
|
+
if (st.isFile()) return "file";
|
|
84
|
+
if (st.isDirectory()) return "directory";
|
|
85
|
+
if (st.isSymbolicLink()) return "symlink";
|
|
86
|
+
return "other";
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
function sha256File(p) {
|
|
90
|
+
const hash = crypto.createHash("sha256");
|
|
91
|
+
const fd = fs.openSync(p, "r");
|
|
92
|
+
const buf = Buffer.allocUnsafe(1 << 20);
|
|
93
|
+
try {
|
|
94
|
+
let n;
|
|
95
|
+
while ((n = fs.readSync(fd, buf, 0, buf.length, null)) > 0) hash.update(buf.subarray(0, n));
|
|
96
|
+
} finally { fs.closeSync(fd); }
|
|
97
|
+
return hash.digest("hex");
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
function globToRegExp(glob) {
|
|
101
|
+
const escaped = glob.replace(/[.+^$\{\}()|[\]\\]/g, "\\$&").replace(/\*/g, ".*").replace(/\?/g, ".");
|
|
102
|
+
return new RegExp("^" + escaped + "$");
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
function byName(a, b) { return a.name.localeCompare(b.name); }
|
|
106
|
+
|
|
107
|
+
// Make a tree writable by its owner so rm can remove read-only folders an agent created.
|
|
108
|
+
function makeWritable(p) {
|
|
109
|
+
let st;
|
|
110
|
+
try { st = fs.lstatSync(p); } catch (_) { return; }
|
|
111
|
+
if (!st.isDirectory()) return;
|
|
112
|
+
try { fs.chmodSync(p, st.mode | 0o700); } catch (_) {}
|
|
113
|
+
let names = [];
|
|
114
|
+
try { names = fs.readdirSync(p); } catch (_) {}
|
|
115
|
+
for (const name of names) makeWritable(posix.join(p, name));
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
const SEARCH_SKIP_DIRS = new Set([".git", "node_modules"]);
|
|
119
|
+
const MAX_LINE_CHARS = 1000;
|
|
120
|
+
|
|
121
|
+
const ops = {
|
|
122
|
+
read(q) {
|
|
123
|
+
const real = realPath(q.path, q.roots);
|
|
124
|
+
let st;
|
|
125
|
+
try { st = fs.statSync(real); } catch (e) { throw fsError(e, q.path); }
|
|
126
|
+
if (!st.isFile()) fail("invalid_path", "\"" + q.path + "\" is a " + typeOf(st) + ", not a file");
|
|
127
|
+
const ranged = q.startLine != null || q.endLine != null;
|
|
128
|
+
if (ranged && st.size > q.rangeMaxBytes) {
|
|
129
|
+
fail("too_large", "\"" + q.path + "\" is " + st.size + " bytes — too large to read by line range (limit " + q.rangeMaxBytes + ")");
|
|
130
|
+
}
|
|
131
|
+
const want = ranged ? Infinity : q.maxBytes;
|
|
132
|
+
const hash = crypto.createHash("sha256");
|
|
133
|
+
const keep = [];
|
|
134
|
+
let kept = 0;
|
|
135
|
+
let size = 0;
|
|
136
|
+
const fd = fs.openSync(real, "r");
|
|
137
|
+
const buf = Buffer.allocUnsafe(1 << 20);
|
|
138
|
+
try {
|
|
139
|
+
let n;
|
|
140
|
+
while ((n = fs.readSync(fd, buf, 0, buf.length, null)) > 0) {
|
|
141
|
+
const chunk = buf.subarray(0, n);
|
|
142
|
+
hash.update(chunk);
|
|
143
|
+
size += n;
|
|
144
|
+
if (kept < want) {
|
|
145
|
+
const take = chunk.subarray(0, Math.min(n, want - kept));
|
|
146
|
+
keep.push(Buffer.from(take));
|
|
147
|
+
kept += take.length;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
} finally { fs.closeSync(fd); }
|
|
151
|
+
const data = Buffer.concat(keep);
|
|
152
|
+
let content;
|
|
153
|
+
let truncated = false;
|
|
154
|
+
if (ranged) {
|
|
155
|
+
const lines = data.toString("utf8").split("\n");
|
|
156
|
+
const start = Math.max(1, q.startLine == null ? 1 : q.startLine);
|
|
157
|
+
const end = Math.min(lines.length, q.endLine == null ? lines.length : q.endLine);
|
|
158
|
+
content = lines.slice(start - 1, end).join("\n");
|
|
159
|
+
truncated = start > 1 || end < lines.length;
|
|
160
|
+
const bytes = Buffer.from(content, "utf8");
|
|
161
|
+
if (bytes.length > q.maxBytes) {
|
|
162
|
+
content = bytes.subarray(0, q.maxBytes).toString("utf8");
|
|
163
|
+
truncated = true;
|
|
164
|
+
}
|
|
165
|
+
} else {
|
|
166
|
+
content = data.toString("utf8");
|
|
167
|
+
truncated = size > data.length;
|
|
168
|
+
}
|
|
169
|
+
return { path: real, content: content, size: size, truncated: truncated, sha256: hash.digest("hex") };
|
|
170
|
+
},
|
|
171
|
+
|
|
172
|
+
write(q) {
|
|
173
|
+
const real = realPath(q.path, q.roots);
|
|
174
|
+
let existing = null;
|
|
175
|
+
try { existing = fs.lstatSync(real); } catch (e) {
|
|
176
|
+
if (e.code !== "ENOENT" && e.code !== "ENOTDIR") throw fsError(e, q.path);
|
|
177
|
+
}
|
|
178
|
+
if (existing && !existing.isFile()) fail("invalid_path", "\"" + q.path + "\" is a " + typeOf(existing));
|
|
179
|
+
if (q.expectedSha256 != null) {
|
|
180
|
+
const current = existing ? sha256File(real) : null;
|
|
181
|
+
if (current !== q.expectedSha256) fail("conflict", "\"" + q.path + "\" changed since it was read (hash mismatch)");
|
|
182
|
+
}
|
|
183
|
+
const parent = posix.dirname(real);
|
|
184
|
+
let parentStat = null;
|
|
185
|
+
try { parentStat = fs.statSync(parent); } catch (e) {
|
|
186
|
+
if (e.code !== "ENOENT") throw fsError(e, parent);
|
|
187
|
+
}
|
|
188
|
+
if (!parentStat) {
|
|
189
|
+
if (q.createDirs === false) fail("not_found", "Directory \"" + parent + "\" does not exist");
|
|
190
|
+
try { fs.mkdirSync(parent, { recursive: true }); } catch (e) { throw fsError(e, parent); }
|
|
191
|
+
} else if (!parentStat.isDirectory()) {
|
|
192
|
+
fail("invalid_path", "\"" + parent + "\" is not a directory");
|
|
193
|
+
}
|
|
194
|
+
// Write to a temp file and rename: readers never see a half-written file.
|
|
195
|
+
const data = Buffer.from(q.content, "utf8");
|
|
196
|
+
const tmp = posix.join(parent, ".aec-write-" + process.pid + "-" + crypto.randomBytes(4).toString("hex"));
|
|
197
|
+
try {
|
|
198
|
+
fs.writeFileSync(tmp, data, { flag: "wx", mode: existing ? existing.mode & 0o7777 : 0o644 });
|
|
199
|
+
fs.renameSync(tmp, real);
|
|
200
|
+
} catch (e) {
|
|
201
|
+
try { fs.unlinkSync(tmp); } catch (_) {}
|
|
202
|
+
throw fsError(e, q.path);
|
|
203
|
+
}
|
|
204
|
+
return {
|
|
205
|
+
path: real,
|
|
206
|
+
bytes: data.length,
|
|
207
|
+
sha256: crypto.createHash("sha256").update(data).digest("hex"),
|
|
208
|
+
created: !existing,
|
|
209
|
+
};
|
|
210
|
+
},
|
|
211
|
+
|
|
212
|
+
stat(q) {
|
|
213
|
+
const real = realPath(q.path, q.roots);
|
|
214
|
+
let st;
|
|
215
|
+
try { st = fs.statSync(real); } catch (e) {
|
|
216
|
+
if (e.code === "ENOENT" || e.code === "ENOTDIR") return null;
|
|
217
|
+
throw fsError(e, q.path);
|
|
218
|
+
}
|
|
219
|
+
return { path: real, type: typeOf(st), size: st.isFile() ? st.size : 0, modifiedAt: Math.round(st.mtimeMs) };
|
|
220
|
+
},
|
|
221
|
+
|
|
222
|
+
list(q) {
|
|
223
|
+
const real = realPath(q.path, q.roots);
|
|
224
|
+
let st;
|
|
225
|
+
try { st = fs.statSync(real); } catch (e) { throw fsError(e, q.path); }
|
|
226
|
+
if (!st.isDirectory()) fail("invalid_path", "\"" + q.path + "\" is not a directory");
|
|
227
|
+
const entries = [];
|
|
228
|
+
let truncated = false;
|
|
229
|
+
const walk = (dir, top) => {
|
|
230
|
+
let children;
|
|
231
|
+
try { children = fs.readdirSync(dir, { withFileTypes: true }); } catch (e) {
|
|
232
|
+
if (top) throw fsError(e, q.path);
|
|
233
|
+
return; // unreadable subfolder: skipped, not fatal
|
|
234
|
+
}
|
|
235
|
+
children.sort(byName);
|
|
236
|
+
for (const d of children) {
|
|
237
|
+
if (!q.includeHidden && d.name.startsWith(".")) continue;
|
|
238
|
+
if (entries.length >= q.maxEntries) { truncated = true; return; }
|
|
239
|
+
const p = posix.join(dir, d.name);
|
|
240
|
+
const type = d.isFile() ? "file" : d.isDirectory() ? "directory" : d.isSymbolicLink() ? "symlink" : "other";
|
|
241
|
+
let size = 0;
|
|
242
|
+
if (type === "file") { try { size = fs.lstatSync(p).size; } catch (_) {} }
|
|
243
|
+
entries.push({ path: p, name: d.name, type: type, size: size });
|
|
244
|
+
// Symlinks are listed, never followed.
|
|
245
|
+
if (q.recursive && type === "directory") walk(p, false);
|
|
246
|
+
if (truncated) return;
|
|
247
|
+
}
|
|
248
|
+
};
|
|
249
|
+
walk(real, true);
|
|
250
|
+
return { entries: entries, truncated: truncated };
|
|
251
|
+
},
|
|
252
|
+
|
|
253
|
+
search(q) {
|
|
254
|
+
const base = realPath(q.path, q.roots);
|
|
255
|
+
let matcher;
|
|
256
|
+
if (q.literal === false) {
|
|
257
|
+
let re;
|
|
258
|
+
try { re = new RegExp(q.pattern, q.caseSensitive === false ? "i" : ""); } catch (e) {
|
|
259
|
+
fail("invalid_argument", "Invalid regular expression: " + e.message);
|
|
260
|
+
}
|
|
261
|
+
matcher = (line) => re.test(line);
|
|
262
|
+
} else if (q.caseSensitive === false) {
|
|
263
|
+
const needle = q.pattern.toLowerCase();
|
|
264
|
+
matcher = (line) => line.toLowerCase().includes(needle);
|
|
265
|
+
} else {
|
|
266
|
+
matcher = (line) => line.includes(q.pattern);
|
|
267
|
+
}
|
|
268
|
+
const nameFilter = q.glob ? globToRegExp(q.glob) : null;
|
|
269
|
+
const deadline = Date.now() + q.timeBudgetMs;
|
|
270
|
+
const matches = [];
|
|
271
|
+
let truncated = false;
|
|
272
|
+
|
|
273
|
+
const scan = (p, size) => {
|
|
274
|
+
if (nameFilter && !nameFilter.test(posix.basename(p))) return;
|
|
275
|
+
if (size > q.maxFileBytes) return;
|
|
276
|
+
let buf;
|
|
277
|
+
try { buf = fs.readFileSync(p); } catch (_) { return; }
|
|
278
|
+
if (buf.subarray(0, 8000).includes(0)) return; // binary
|
|
279
|
+
const lines = buf.toString("utf8").split("\n");
|
|
280
|
+
for (let i = 0; i < lines.length; i++) {
|
|
281
|
+
if (!matcher(lines[i])) continue;
|
|
282
|
+
if (matches.length >= q.maxMatches) { truncated = true; return; }
|
|
283
|
+
const text = lines[i].length > MAX_LINE_CHARS ? lines[i].slice(0, MAX_LINE_CHARS) : lines[i];
|
|
284
|
+
matches.push({ path: p, line: i + 1, text: text });
|
|
285
|
+
}
|
|
286
|
+
};
|
|
287
|
+
const walk = (dir) => {
|
|
288
|
+
if (Date.now() > deadline) { truncated = true; return; }
|
|
289
|
+
let children;
|
|
290
|
+
try { children = fs.readdirSync(dir, { withFileTypes: true }); } catch (_) { return; }
|
|
291
|
+
children.sort(byName);
|
|
292
|
+
for (const d of children) {
|
|
293
|
+
if (truncated) return;
|
|
294
|
+
const p = posix.join(dir, d.name);
|
|
295
|
+
if (d.isDirectory()) {
|
|
296
|
+
if (!SEARCH_SKIP_DIRS.has(d.name)) walk(p);
|
|
297
|
+
} else if (d.isFile()) {
|
|
298
|
+
let size;
|
|
299
|
+
try { size = fs.lstatSync(p).size; } catch (_) { continue; }
|
|
300
|
+
scan(p, size);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
};
|
|
304
|
+
|
|
305
|
+
let st;
|
|
306
|
+
try { st = fs.statSync(base); } catch (e) { throw fsError(e, q.path); }
|
|
307
|
+
if (st.isDirectory()) walk(base);
|
|
308
|
+
else if (st.isFile()) scan(base, st.size);
|
|
309
|
+
return { matches: matches, truncated: truncated };
|
|
310
|
+
},
|
|
311
|
+
|
|
312
|
+
mkdir(q) {
|
|
313
|
+
for (const p of q.paths) {
|
|
314
|
+
const real = realPath(p, q.roots);
|
|
315
|
+
try { fs.mkdirSync(real, { recursive: true }); } catch (e) { throw fsError(e, p); }
|
|
316
|
+
}
|
|
317
|
+
return {};
|
|
318
|
+
},
|
|
319
|
+
|
|
320
|
+
remove(q) {
|
|
321
|
+
const real = realPath(q.path, q.roots);
|
|
322
|
+
makeWritable(real);
|
|
323
|
+
try { fs.rmSync(real, { recursive: true, force: true }); } catch (e) { throw fsError(e, q.path); }
|
|
324
|
+
return {};
|
|
325
|
+
},
|
|
326
|
+
};
|
|
327
|
+
|
|
328
|
+
function runOperation() {
|
|
329
|
+
const chunks = [];
|
|
330
|
+
process.stdin.on("data", (c) => chunks.push(c));
|
|
331
|
+
process.stdin.on("end", () => {
|
|
332
|
+
let response;
|
|
333
|
+
try {
|
|
334
|
+
const q = JSON.parse(Buffer.concat(chunks).toString("utf8"));
|
|
335
|
+
const op = Object.prototype.hasOwnProperty.call(ops, q.op) ? ops[q.op] : null;
|
|
336
|
+
if (!op) fail("invalid_argument", "Unknown operation " + q.op);
|
|
337
|
+
response = { ok: true, result: op(q) };
|
|
338
|
+
} catch (e) {
|
|
339
|
+
const err = fsError(e, "operation");
|
|
340
|
+
response = { ok: false, code: err.code, message: err.message };
|
|
341
|
+
}
|
|
342
|
+
process.stdout.write(JSON.stringify(response) + "\n", () => process.exit(0));
|
|
343
|
+
});
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
function runExec() {
|
|
347
|
+
let header = "";
|
|
348
|
+
let started = false;
|
|
349
|
+
let child = null;
|
|
350
|
+
let killed = false;
|
|
351
|
+
let finished = false;
|
|
352
|
+
|
|
353
|
+
const kill = () => {
|
|
354
|
+
if (!child || !child.pid || killed) return;
|
|
355
|
+
killed = true;
|
|
356
|
+
// Negative pid = the whole process group, so children of the command die too.
|
|
357
|
+
try { process.kill(-child.pid, "SIGKILL"); } catch (_) {
|
|
358
|
+
try { child.kill("SIGKILL"); } catch (_) {}
|
|
359
|
+
}
|
|
360
|
+
};
|
|
361
|
+
const finish = (code) => {
|
|
362
|
+
if (finished) return;
|
|
363
|
+
finished = true;
|
|
364
|
+
process.stdout.write("", () => process.exit(code));
|
|
365
|
+
};
|
|
366
|
+
|
|
367
|
+
// The host closes stdin to stop the command (timeout, cancel, output cap).
|
|
368
|
+
process.stdin.on("end", () => {
|
|
369
|
+
if (!started) process.exit(2);
|
|
370
|
+
kill();
|
|
371
|
+
});
|
|
372
|
+
process.stdin.on("data", (chunk) => {
|
|
373
|
+
if (started) return;
|
|
374
|
+
header += chunk.toString("utf8");
|
|
375
|
+
const nl = header.indexOf("\n");
|
|
376
|
+
if (nl === -1) return;
|
|
377
|
+
started = true;
|
|
378
|
+
start(JSON.parse(header.slice(0, nl)));
|
|
379
|
+
});
|
|
380
|
+
|
|
381
|
+
function start(q) {
|
|
382
|
+
let cwd;
|
|
383
|
+
try {
|
|
384
|
+
cwd = realPath(q.cwd, q.roots);
|
|
385
|
+
let st;
|
|
386
|
+
try { st = fs.statSync(cwd); } catch (e) { throw fsError(e, q.cwd); }
|
|
387
|
+
if (!st.isDirectory()) fail("invalid_path", "\"" + q.cwd + "\" is not a directory");
|
|
388
|
+
} catch (e) {
|
|
389
|
+
const err = fsError(e, q.cwd);
|
|
390
|
+
process.stdout.write("AEC-ERR " + JSON.stringify({ code: err.code, message: err.message }) + "\n", () => process.exit(0));
|
|
391
|
+
finished = true;
|
|
392
|
+
return;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
// Only the container's PATH/HOME plus what the request passes — never the server's env.
|
|
396
|
+
const env = {
|
|
397
|
+
PATH: process.env.PATH || "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
|
|
398
|
+
HOME: process.env.HOME || "/tmp",
|
|
399
|
+
LANG: "C.UTF-8",
|
|
400
|
+
};
|
|
401
|
+
Object.assign(env, q.env || {});
|
|
402
|
+
const argv = q.shell ? ["/bin/sh", "-c", q.command.join(" ")] : q.command;
|
|
403
|
+
|
|
404
|
+
process.stdout.write("AEC-OK\n");
|
|
405
|
+
child = cp.spawn(argv[0], argv.slice(1), { cwd: cwd, env: env, detached: true, stdio: ["pipe", "pipe", "pipe"] });
|
|
406
|
+
|
|
407
|
+
// One byte over the cap is passed through so the host can tell the output was cut.
|
|
408
|
+
let budget = q.maxOutputBytes + 1;
|
|
409
|
+
const pipe = (src, dst) => {
|
|
410
|
+
src.on("data", (d) => {
|
|
411
|
+
if (budget <= 0) return;
|
|
412
|
+
const piece = d.length > budget ? d.subarray(0, budget) : d;
|
|
413
|
+
budget -= piece.length;
|
|
414
|
+
dst.write(piece);
|
|
415
|
+
if (budget <= 0) kill();
|
|
416
|
+
});
|
|
417
|
+
};
|
|
418
|
+
pipe(child.stdout, process.stdout);
|
|
419
|
+
pipe(child.stderr, process.stderr);
|
|
420
|
+
child.stdin.on("error", () => {});
|
|
421
|
+
child.stdin.end(q.stdin || "");
|
|
422
|
+
|
|
423
|
+
// Backstop: the host normally stops the command first.
|
|
424
|
+
const timer = setTimeout(kill, q.timeoutMs + 1000);
|
|
425
|
+
child.on("error", (e) => {
|
|
426
|
+
clearTimeout(timer);
|
|
427
|
+
const notFound = e.code === "ENOENT";
|
|
428
|
+
process.stderr.write(argv[0] + ": " + (notFound ? "command not found" : e.message) + "\n");
|
|
429
|
+
finish(notFound ? 127 : 126);
|
|
430
|
+
});
|
|
431
|
+
child.on("close", (code, signal) => {
|
|
432
|
+
clearTimeout(timer);
|
|
433
|
+
if (!child.pid) return; // spawn failed — reported by "error"
|
|
434
|
+
finish(code != null ? code : 128 + (os.constants.signals[signal] || 9));
|
|
435
|
+
});
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
if (process.argv[2] === "exec") runExec();
|
|
440
|
+
else runOperation();
|
|
441
|
+
`;
|
|
442
|
+
//# sourceMappingURL=sandbox-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-helper.js","sourceRoot":"","sources":["../../../../src/components/sandbox-hub/docker/sandbox-helper.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,+EAA+E;AAC/E,gFAAgF;AAChF,2CAA2C;AAC3C,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,6EAA6E;AAC7E,2EAA2E;AAC3E,EAAE;AACF,wEAAwE;AACxE,8DAA8D;AAC9D,+EAA+E;AAC/E,6EAA6E;AAC7E,6EAA6E;AAC7E,iFAAiF;AACjF,EAAE;AACF,2EAA2E;AAC3E,2EAA2E;AAC3E,8EAA8E;AAE9E,mDAAmD;AACnD,MAAM,CAAC,MAAM,WAAW,GAAG,qBAAqB,CAAC;AAEjD,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkatC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { SandboxLimits } from "../types/sandbox.js";
|
|
2
|
+
import type { ResourceLimits } from "../types/provider.js";
|
|
3
|
+
/** Settings for DockerSandboxProvider — host code only, never from agent profiles. */
|
|
4
|
+
export interface DockerSandboxProviderOptions {
|
|
5
|
+
/** docker CLI binary. Default "docker". */
|
|
6
|
+
dockerPath?: string;
|
|
7
|
+
/** Prefix for container and volume names. Default "aec-sandbox" (→ "aec-sandbox-shared", "aec-sandbox-own-<agentId>"). */
|
|
8
|
+
namePrefix?: string;
|
|
9
|
+
/** Image when a spec names none. Default AEC_SANDBOX_IMAGE. Every image must provide `node` (>= 18). */
|
|
10
|
+
defaultImage?: string;
|
|
11
|
+
/** uid:gid every command and file operation runs as. Default "1000:1000" (`node` in aec-sandbox). */
|
|
12
|
+
user?: string;
|
|
13
|
+
/** Container resources when a spec sets none. Default 2 cpus, 2048 MB, 256 processes. */
|
|
14
|
+
defaultResources?: Partial<ResourceLimits>;
|
|
15
|
+
/** Size of the tmpfs at /tmp (wiped when the container restarts). Default "256m". */
|
|
16
|
+
tmpfsSize?: string;
|
|
17
|
+
/** Per-operation ceilings (read/write/list/search/exec). */
|
|
18
|
+
limits?: Partial<SandboxLimits>;
|
|
19
|
+
/** Build AEC_SANDBOX_IMAGE from the bundled Dockerfile when it is missing. Default true. */
|
|
20
|
+
buildDefaultImage?: boolean;
|
|
21
|
+
/** `docker pull` other missing images. Default true. */
|
|
22
|
+
pullImages?: boolean;
|
|
23
|
+
/** Ceiling for one file operation (read, write, list, search). Default 60 s. */
|
|
24
|
+
operationTimeoutMs?: number;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/sandbox-hub/docker/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,sFAAsF;AACtF,MAAM,WAAW,4BAA4B;IAC3C,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0HAA0H;IAC1H,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wGAAwG;IACxG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qGAAqG;IACrG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yFAAyF;IACzF,gBAAgB,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3C,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAChC,4FAA4F;IAC5F,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,wDAAwD;IACxD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gFAAgF;IAChF,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/sandbox-hub/docker/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Sandbox, SandboxLimits } from "../types/sandbox.js";
|
|
2
|
+
import type { CreateSandboxContext, SandboxProvider, SandboxSpec } from "../types/provider.js";
|
|
3
|
+
/** Per-operation ceilings of a host sandbox (overridable via options.limits). */
|
|
4
|
+
export declare const HOST_DEFAULT_LIMITS: SandboxLimits;
|
|
5
|
+
export interface HostSandboxProviderOptions {
|
|
6
|
+
/** Absolute folder on the server machine that holds every host sandbox. Set by the host, never by a profile. */
|
|
7
|
+
root: string;
|
|
8
|
+
limits?: Partial<SandboxLimits>;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Host sandboxes: real folders on the server machine (not isolated).
|
|
12
|
+
*
|
|
13
|
+
* own sandbox <root>/<agentId> the whole /workspace
|
|
14
|
+
* shared sandbox <root>/.shared/agents/<id> one folder per agent
|
|
15
|
+
*
|
|
16
|
+
* Files are plain files — they survive restarts and can be opened from the machine.
|
|
17
|
+
* Commands run as the server's user, so the default approval policy asks the user
|
|
18
|
+
* before every write and command in a host sandbox.
|
|
19
|
+
*/
|
|
20
|
+
export declare class HostSandboxProvider implements SandboxProvider {
|
|
21
|
+
readonly name = "sandbox:host";
|
|
22
|
+
readonly version = "1.0.0";
|
|
23
|
+
readonly kind: "host";
|
|
24
|
+
readonly root: string;
|
|
25
|
+
private limits;
|
|
26
|
+
constructor(options: HostSandboxProviderOptions);
|
|
27
|
+
create(spec: SandboxSpec, context: CreateSandboxContext): Promise<Sandbox>;
|
|
28
|
+
removeData(_spec: SandboxSpec, context: CreateSandboxContext, opts?: {
|
|
29
|
+
agentId?: string;
|
|
30
|
+
}): Promise<void>;
|
|
31
|
+
/** Host folder that logical /workspace maps to for this sandbox. */
|
|
32
|
+
baseFor(context: CreateSandboxContext): string;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=host-sandbox-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-sandbox-provider.d.ts","sourceRoot":"","sources":["../../../../src/components/sandbox-hub/host/host-sandbox-provider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAG/F,iFAAiF;AACjF,eAAO,MAAM,mBAAmB,EAAE,aAOjC,CAAC;AAEF,MAAM,WAAW,0BAA0B;IACzC,gHAAgH;IAChH,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CACjC;AAED;;;;;;;;;GASG;AACH,qBAAa,mBAAoB,YAAW,eAAe;IACzD,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,OAAO,WAAW;IAC3B,QAAQ,CAAC,IAAI,EAAG,MAAM,CAAU;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,MAAM,CAAgB;IAE9B,YAAY,OAAO,EAAE,0BAA0B,EAM9C;IAEK,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAyB/E;IAEK,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB,EAAE,IAAI,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAQlH;IAED,oEAAoE;IACpE,OAAO,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAQ7C;CACF"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { promises as fs } from "node:fs";
|
|
2
|
+
import * as path from "node:path";
|
|
3
|
+
import { SandboxError } from "../../../kernel/errors/sandbox-error.js";
|
|
4
|
+
import { AGENTS_DIR, assertSafeAgentId, WORKSPACE_ROOT } from "../logical-path.js";
|
|
5
|
+
import { HostSandbox } from "./host-sandbox.js";
|
|
6
|
+
/** Per-operation ceilings of a host sandbox (overridable via options.limits). */
|
|
7
|
+
export const HOST_DEFAULT_LIMITS = {
|
|
8
|
+
maxReadBytes: 2_000_000,
|
|
9
|
+
maxWriteBytes: 5_000_000,
|
|
10
|
+
maxListEntries: 5_000,
|
|
11
|
+
maxSearchMatches: 500,
|
|
12
|
+
maxExecTimeoutMs: 10 * 60_000,
|
|
13
|
+
maxExecOutputBytes: 2_000_000,
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Host sandboxes: real folders on the server machine (not isolated).
|
|
17
|
+
*
|
|
18
|
+
* own sandbox <root>/<agentId> the whole /workspace
|
|
19
|
+
* shared sandbox <root>/.shared/agents/<id> one folder per agent
|
|
20
|
+
*
|
|
21
|
+
* Files are plain files — they survive restarts and can be opened from the machine.
|
|
22
|
+
* Commands run as the server's user, so the default approval policy asks the user
|
|
23
|
+
* before every write and command in a host sandbox.
|
|
24
|
+
*/
|
|
25
|
+
export class HostSandboxProvider {
|
|
26
|
+
name = "sandbox:host";
|
|
27
|
+
version = "1.0.0";
|
|
28
|
+
kind = "host";
|
|
29
|
+
root;
|
|
30
|
+
limits;
|
|
31
|
+
constructor(options) {
|
|
32
|
+
if (!options.root || !path.isAbsolute(options.root)) {
|
|
33
|
+
throw new Error(`HostSandboxProvider needs an absolute root folder (got "${options.root}")`);
|
|
34
|
+
}
|
|
35
|
+
this.root = path.resolve(options.root);
|
|
36
|
+
this.limits = { ...HOST_DEFAULT_LIMITS, ...options.limits };
|
|
37
|
+
}
|
|
38
|
+
async create(spec, context) {
|
|
39
|
+
if (spec.kind !== "host") {
|
|
40
|
+
throw new SandboxError(`HostSandboxProvider cannot create "${spec.kind}" sandboxes`, "provider_unavailable", context.id);
|
|
41
|
+
}
|
|
42
|
+
const base = this.baseFor(context);
|
|
43
|
+
try {
|
|
44
|
+
await fs.mkdir(base, { recursive: true });
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
48
|
+
throw new SandboxError(`Cannot create host folder "${base}": ${message}`, "environment_unavailable", context.id);
|
|
49
|
+
}
|
|
50
|
+
return new HostSandbox(context.id, {
|
|
51
|
+
kind: "host",
|
|
52
|
+
isolated: false,
|
|
53
|
+
// Commands run on the server machine with its network.
|
|
54
|
+
network: "full",
|
|
55
|
+
persistent: true,
|
|
56
|
+
tenancy: context.tenancy,
|
|
57
|
+
os: process.platform === "win32" ? "windows" : process.platform === "darwin" ? "darwin" : "linux",
|
|
58
|
+
}, this.limits, base);
|
|
59
|
+
}
|
|
60
|
+
async removeData(_spec, context, opts = {}) {
|
|
61
|
+
if (opts.agentId && context.tenancy === "shared") {
|
|
62
|
+
assertSafeAgentId(opts.agentId);
|
|
63
|
+
const rel = path.posix.relative(WORKSPACE_ROOT, `${AGENTS_DIR}/${opts.agentId}`);
|
|
64
|
+
await fs.rm(path.join(this.baseFor(context), ...rel.split("/")), { recursive: true, force: true });
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
await fs.rm(this.baseFor(context), { recursive: true, force: true });
|
|
68
|
+
}
|
|
69
|
+
/** Host folder that logical /workspace maps to for this sandbox. */
|
|
70
|
+
baseFor(context) {
|
|
71
|
+
if (context.tenancy === "own") {
|
|
72
|
+
if (!context.agentId)
|
|
73
|
+
throw new SandboxError("An own host sandbox needs an agent id", "invalid_argument", context.id);
|
|
74
|
+
assertSafeAgentId(context.agentId);
|
|
75
|
+
return path.join(this.root, context.agentId);
|
|
76
|
+
}
|
|
77
|
+
// Agent ids never start with "." (assertSafeAgentId), so this cannot collide with an own folder.
|
|
78
|
+
return path.join(this.root, ".shared");
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=host-sandbox-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-sandbox-provider.js","sourceRoot":"","sources":["../../../../src/components/sandbox-hub/host/host-sandbox-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGnF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,iFAAiF;AACjF,MAAM,CAAC,MAAM,mBAAmB,GAAkB;IAChD,YAAY,EAAE,SAAS;IACvB,aAAa,EAAE,SAAS;IACxB,cAAc,EAAE,KAAK;IACrB,gBAAgB,EAAE,GAAG;IACrB,gBAAgB,EAAE,EAAE,GAAG,MAAM;IAC7B,kBAAkB,EAAE,SAAS;CAC9B,CAAC;AAQF;;;;;;;;;GASG;AACH,MAAM,OAAO,mBAAmB;IACrB,IAAI,GAAG,cAAc,CAAC;IACtB,OAAO,GAAG,OAAO,CAAC;IAClB,IAAI,GAAG,MAAe,CAAC;IACvB,IAAI,CAAS;IACd,MAAM,CAAgB;IAE9B,YAAY,OAAmC;QAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,2DAA2D,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,mBAAmB,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAiB,EAAE,OAA6B;QAC3D,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,YAAY,CAAC,sCAAsC,IAAI,CAAC,IAAI,aAAa,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3H,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,IAAI,YAAY,CAAC,8BAA8B,IAAI,MAAM,OAAO,EAAE,EAAE,yBAAyB,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACnH,CAAC;QACD,OAAO,IAAI,WAAW,CACpB,OAAO,CAAC,EAAE,EACV;YACE,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,KAAK;YACf,uDAAuD;YACvD,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,EAAE,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;SAClG,EACD,IAAI,CAAC,MAAM,EACX,IAAI,CACL,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAkB,EAAE,OAA6B,EAAE,IAAI,GAAyB,EAAE;QACjG,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACjD,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACjF,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACnG,OAAO;QACT,CAAC;QACD,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,oEAAoE;IACpE,OAAO,CAAC,OAA6B;QACnC,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,OAAO;gBAAE,MAAM,IAAI,YAAY,CAAC,uCAAuC,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACtH,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;QACD,iGAAiG;QACjG,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACzC,CAAC;CACF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Sandbox, SandboxCapability, SandboxLimits, SandboxTraits, SandboxView } from "../types/sandbox.js";
|
|
2
|
+
export declare class HostSandbox implements Sandbox {
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly traits: SandboxTraits;
|
|
5
|
+
readonly limits: SandboxLimits;
|
|
6
|
+
/** Host folder that logical /workspace maps to. */
|
|
7
|
+
readonly base: string;
|
|
8
|
+
readonly capabilities: ReadonlySet<SandboxCapability>;
|
|
9
|
+
disposed: boolean;
|
|
10
|
+
constructor(id: string, traits: SandboxTraits, limits: SandboxLimits,
|
|
11
|
+
/** Host folder that logical /workspace maps to. */
|
|
12
|
+
base: string);
|
|
13
|
+
/** Logical path (already checked against roots) → host path. */
|
|
14
|
+
toHost(logical: string): string;
|
|
15
|
+
forAgent(agentId: string): Promise<SandboxView>;
|
|
16
|
+
health(): Promise<"ready" | "unavailable">;
|
|
17
|
+
removeAgentData(agentId: string): Promise<void>;
|
|
18
|
+
dispose(opts?: {
|
|
19
|
+
removeData?: boolean;
|
|
20
|
+
}): Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=host-sandbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-sandbox.d.ts","sourceRoot":"","sources":["../../../../src/components/sandbox-hub/host/host-sandbox.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAYV,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,WAAW,EAKZ,MAAM,qBAAqB,CAAC;AA4F7B,qBAAa,WAAY,YAAW,OAAO;IAKvC,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,QAAQ,CAAC,MAAM,EAAE,aAAa;IAC9B,QAAQ,CAAC,MAAM,EAAE,aAAa;IAC9B,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM;IARvB,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAA6B;IAClF,QAAQ,UAAS;IAEjB,YACW,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,aAAa;IAC9B,mDAAmD;IAC1C,IAAI,EAAE,MAAM,EACnB;IAEJ,gEAAgE;IAChE,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAG9B;IAEK,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CASpD;IAEK,MAAM,IAAI,OAAO,CAAC,OAAO,GAAG,aAAa,CAAC,CAG/C;IAEK,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpD;IAEK,OAAO,CAAC,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5D;CACF"}
|