@openai/agents-core 0.8.5 → 0.9.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/agentToolRunConfig.js +3 -0
- package/dist/agentToolRunConfig.js.map +1 -1
- package/dist/agentToolRunConfig.mjs +3 -0
- package/dist/agentToolRunConfig.mjs.map +1 -1
- package/dist/errors.d.ts +10 -0
- package/dist/errors.js +15 -1
- package/dist/errors.js.map +1 -1
- package/dist/errors.mjs +13 -0
- package/dist/errors.mjs.map +1 -1
- package/dist/handoff.js +1 -1
- package/dist/handoff.js.map +1 -1
- package/dist/handoff.mjs +1 -1
- package/dist/handoff.mjs.map +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3 -2
- package/dist/index.mjs.map +1 -1
- package/dist/items.d.ts +13 -0
- package/dist/items.js +15 -0
- package/dist/items.js.map +1 -1
- package/dist/items.mjs +15 -0
- package/dist/items.mjs.map +1 -1
- package/dist/memory/historyMutations.d.ts +6 -0
- package/dist/memory/historyMutations.js +32 -0
- package/dist/memory/historyMutations.js.map +1 -0
- package/dist/memory/historyMutations.mjs +29 -0
- package/dist/memory/historyMutations.mjs.map +1 -0
- package/dist/memory/memorySession.d.ts +3 -2
- package/dist/memory/memorySession.js +7 -0
- package/dist/memory/memorySession.js.map +1 -1
- package/dist/memory/memorySession.mjs +7 -0
- package/dist/memory/memorySession.mjs.map +1 -1
- package/dist/memory/session.d.ts +15 -0
- package/dist/memory/session.js +6 -0
- package/dist/memory/session.js.map +1 -1
- package/dist/memory/session.mjs +5 -0
- package/dist/memory/session.mjs.map +1 -1
- package/dist/metadata.js +2 -2
- package/dist/metadata.mjs +2 -2
- package/dist/model.d.ts +21 -0
- package/dist/run.d.ts +7 -1
- package/dist/run.js +116 -57
- package/dist/run.js.map +1 -1
- package/dist/run.mjs +117 -58
- package/dist/run.mjs.map +1 -1
- package/dist/runState.d.ts +83 -1
- package/dist/runState.js +96 -11
- package/dist/runState.js.map +1 -1
- package/dist/runState.mjs +95 -11
- package/dist/runState.mjs.map +1 -1
- package/dist/runner/errorHandlers.d.ts +13 -4
- package/dist/runner/errorHandlers.js +22 -4
- package/dist/runner/errorHandlers.js.map +1 -1
- package/dist/runner/errorHandlers.mjs +21 -4
- package/dist/runner/errorHandlers.mjs.map +1 -1
- package/dist/runner/items.js +11 -1
- package/dist/runner/items.js.map +1 -1
- package/dist/runner/items.mjs +11 -1
- package/dist/runner/items.mjs.map +1 -1
- package/dist/runner/modelPreparation.d.ts +1 -1
- package/dist/runner/modelPreparation.js +7 -7
- package/dist/runner/modelPreparation.js.map +1 -1
- package/dist/runner/modelPreparation.mjs +7 -7
- package/dist/runner/modelPreparation.mjs.map +1 -1
- package/dist/runner/runLoop.d.ts +2 -1
- package/dist/runner/runLoop.js +2 -2
- package/dist/runner/runLoop.js.map +1 -1
- package/dist/runner/runLoop.mjs +2 -2
- package/dist/runner/runLoop.mjs.map +1 -1
- package/dist/runner/sandbox.d.ts +33 -0
- package/dist/runner/sandbox.js +92 -0
- package/dist/runner/sandbox.js.map +1 -0
- package/dist/runner/sandbox.mjs +83 -0
- package/dist/runner/sandbox.mjs.map +1 -0
- package/dist/runner/toolExecution.js +25 -13
- package/dist/runner/toolExecution.js.map +1 -1
- package/dist/runner/toolExecution.mjs +25 -13
- package/dist/runner/toolExecution.mjs.map +1 -1
- package/dist/runner/tracing.js +1 -0
- package/dist/runner/tracing.js.map +1 -1
- package/dist/runner/tracing.mjs +1 -0
- package/dist/runner/tracing.mjs.map +1 -1
- package/dist/runner/turnPreparation.d.ts +2 -4
- package/dist/runner/turnPreparation.js +7 -3
- package/dist/runner/turnPreparation.js.map +1 -1
- package/dist/runner/turnPreparation.mjs +7 -3
- package/dist/runner/turnPreparation.mjs.map +1 -1
- package/dist/runner/turnResolution.js +158 -31
- package/dist/runner/turnResolution.js.map +1 -1
- package/dist/runner/turnResolution.mjs +160 -33
- package/dist/runner/turnResolution.mjs.map +1 -1
- package/dist/runner/types.d.ts +8 -8
- package/dist/sandbox/agent.d.ts +24 -0
- package/dist/sandbox/agent.js +68 -0
- package/dist/sandbox/agent.js.map +1 -0
- package/dist/sandbox/agent.mjs +64 -0
- package/dist/sandbox/agent.mjs.map +1 -0
- package/dist/sandbox/brand.d.ts +1 -0
- package/dist/sandbox/brand.js +5 -0
- package/dist/sandbox/brand.js.map +1 -0
- package/dist/sandbox/brand.mjs +2 -0
- package/dist/sandbox/brand.mjs.map +1 -0
- package/dist/sandbox/capabilities/base.d.ts +25 -0
- package/dist/sandbox/capabilities/base.js +89 -0
- package/dist/sandbox/capabilities/base.js.map +1 -0
- package/dist/sandbox/capabilities/base.mjs +84 -0
- package/dist/sandbox/capabilities/base.mjs.map +1 -0
- package/dist/sandbox/capabilities/compaction.d.ts +33 -0
- package/dist/sandbox/capabilities/compaction.js +172 -0
- package/dist/sandbox/capabilities/compaction.js.map +1 -0
- package/dist/sandbox/capabilities/compaction.mjs +164 -0
- package/dist/sandbox/capabilities/compaction.mjs.map +1 -0
- package/dist/sandbox/capabilities/filesystem.d.ts +14 -0
- package/dist/sandbox/capabilities/filesystem.js +447 -0
- package/dist/sandbox/capabilities/filesystem.js.map +1 -0
- package/dist/sandbox/capabilities/filesystem.mjs +444 -0
- package/dist/sandbox/capabilities/filesystem.mjs.map +1 -0
- package/dist/sandbox/capabilities/index.d.ts +19 -0
- package/dist/sandbox/capabilities/index.js +31 -0
- package/dist/sandbox/capabilities/index.js.map +1 -0
- package/dist/sandbox/capabilities/index.mjs +17 -0
- package/dist/sandbox/capabilities/index.mjs.map +1 -0
- package/dist/sandbox/capabilities/memory.d.ts +52 -0
- package/dist/sandbox/capabilities/memory.js +290 -0
- package/dist/sandbox/capabilities/memory.js.map +1 -0
- package/dist/sandbox/capabilities/memory.mjs +286 -0
- package/dist/sandbox/capabilities/memory.mjs.map +1 -0
- package/dist/sandbox/capabilities/shell.d.ts +15 -0
- package/dist/sandbox/capabilities/shell.js +130 -0
- package/dist/sandbox/capabilities/shell.js.map +1 -0
- package/dist/sandbox/capabilities/shell.mjs +127 -0
- package/dist/sandbox/capabilities/shell.mjs.map +1 -0
- package/dist/sandbox/capabilities/skills.d.ts +47 -0
- package/dist/sandbox/capabilities/skills.js +453 -0
- package/dist/sandbox/capabilities/skills.js.map +1 -0
- package/dist/sandbox/capabilities/skills.mjs +449 -0
- package/dist/sandbox/capabilities/skills.mjs.map +1 -0
- package/dist/sandbox/capabilities/transport.d.ts +3 -0
- package/dist/sandbox/capabilities/transport.js +33 -0
- package/dist/sandbox/capabilities/transport.js.map +1 -0
- package/dist/sandbox/capabilities/transport.mjs +28 -0
- package/dist/sandbox/capabilities/transport.mjs.map +1 -0
- package/dist/sandbox/client.d.ts +53 -0
- package/dist/sandbox/client.js +34 -0
- package/dist/sandbox/client.js.map +1 -0
- package/dist/sandbox/client.mjs +31 -0
- package/dist/sandbox/client.mjs.map +1 -0
- package/dist/sandbox/entries/factories.d.ts +17 -0
- package/dist/sandbox/entries/factories.js +112 -0
- package/dist/sandbox/entries/factories.js.map +1 -0
- package/dist/sandbox/entries/factories.mjs +94 -0
- package/dist/sandbox/entries/factories.mjs.map +1 -0
- package/dist/sandbox/entries/guards.d.ts +5 -0
- package/dist/sandbox/entries/guards.js +19 -0
- package/dist/sandbox/entries/guards.js.map +1 -0
- package/dist/sandbox/entries/guards.mjs +13 -0
- package/dist/sandbox/entries/guards.mjs.map +1 -0
- package/dist/sandbox/entries/index.d.ts +3 -0
- package/dist/sandbox/entries/index.js +26 -0
- package/dist/sandbox/entries/index.js.map +1 -0
- package/dist/sandbox/entries/index.mjs +3 -0
- package/dist/sandbox/entries/index.mjs.map +1 -0
- package/dist/sandbox/entries/types.d.ts +177 -0
- package/dist/sandbox/entries/types.js +3 -0
- package/dist/sandbox/entries/types.js.map +1 -0
- package/dist/sandbox/entries/types.mjs +2 -0
- package/dist/sandbox/entries/types.mjs.map +1 -0
- package/dist/sandbox/errors.d.ts +151 -0
- package/dist/sandbox/errors.js +303 -0
- package/dist/sandbox/errors.js.map +1 -0
- package/dist/sandbox/errors.mjs +251 -0
- package/dist/sandbox/errors.mjs.map +1 -0
- package/dist/sandbox/events.d.ts +51 -0
- package/dist/sandbox/events.js +104 -0
- package/dist/sandbox/events.js.map +1 -0
- package/dist/sandbox/events.mjs +95 -0
- package/dist/sandbox/events.mjs.map +1 -0
- package/dist/sandbox/index.d.ts +14 -0
- package/dist/sandbox/index.js +31 -0
- package/dist/sandbox/index.js.map +1 -0
- package/dist/sandbox/index.mjs +15 -0
- package/dist/sandbox/index.mjs.map +1 -0
- package/dist/sandbox/internal.d.ts +7 -0
- package/dist/sandbox/internal.js +46 -0
- package/dist/sandbox/internal.js.map +1 -0
- package/dist/sandbox/internal.mjs +8 -0
- package/dist/sandbox/internal.mjs.map +1 -0
- package/dist/sandbox/local.d.ts +3 -0
- package/dist/sandbox/local.js +20 -0
- package/dist/sandbox/local.js.map +1 -0
- package/dist/sandbox/local.mjs +4 -0
- package/dist/sandbox/local.mjs.map +1 -0
- package/dist/sandbox/localSkills.d.ts +13 -0
- package/dist/sandbox/localSkills.js +62 -0
- package/dist/sandbox/localSkills.js.map +1 -0
- package/dist/sandbox/localSkills.mjs +59 -0
- package/dist/sandbox/localSkills.mjs.map +1 -0
- package/dist/sandbox/manifest.d.ts +86 -0
- package/dist/sandbox/manifest.js +553 -0
- package/dist/sandbox/manifest.js.map +1 -0
- package/dist/sandbox/manifest.mjs +545 -0
- package/dist/sandbox/manifest.mjs.map +1 -0
- package/dist/sandbox/memory/generation.d.ts +56 -0
- package/dist/sandbox/memory/generation.js +426 -0
- package/dist/sandbox/memory/generation.js.map +1 -0
- package/dist/sandbox/memory/generation.mjs +385 -0
- package/dist/sandbox/memory/generation.mjs.map +1 -0
- package/dist/sandbox/memory/prompts.d.ts +16 -0
- package/dist/sandbox/memory/prompts.js +1685 -0
- package/dist/sandbox/memory/prompts.js.map +1 -0
- package/dist/sandbox/memory/prompts.mjs +1679 -0
- package/dist/sandbox/memory/prompts.mjs.map +1 -0
- package/dist/sandbox/memory/rollouts.d.ts +33 -0
- package/dist/sandbox/memory/rollouts.js +228 -0
- package/dist/sandbox/memory/rollouts.js.map +1 -0
- package/dist/sandbox/memory/rollouts.mjs +221 -0
- package/dist/sandbox/memory/rollouts.mjs.map +1 -0
- package/dist/sandbox/memory/storage.d.ts +70 -0
- package/dist/sandbox/memory/storage.js +543 -0
- package/dist/sandbox/memory/storage.js.map +1 -0
- package/dist/sandbox/memory/storage.mjs +537 -0
- package/dist/sandbox/memory/storage.mjs.map +1 -0
- package/dist/sandbox/pathGrants.d.ts +11 -0
- package/dist/sandbox/pathGrants.js +28 -0
- package/dist/sandbox/pathGrants.js.map +1 -0
- package/dist/sandbox/pathGrants.mjs +25 -0
- package/dist/sandbox/pathGrants.mjs.map +1 -0
- package/dist/sandbox/permissions.d.ts +29 -0
- package/dist/sandbox/permissions.js +140 -0
- package/dist/sandbox/permissions.js.map +1 -0
- package/dist/sandbox/permissions.mjs +134 -0
- package/dist/sandbox/permissions.mjs.map +1 -0
- package/dist/sandbox/runtime/agentKeys.d.ts +7 -0
- package/dist/sandbox/runtime/agentKeys.js +76 -0
- package/dist/sandbox/runtime/agentKeys.js.map +1 -0
- package/dist/sandbox/runtime/agentKeys.mjs +69 -0
- package/dist/sandbox/runtime/agentKeys.mjs.map +1 -0
- package/dist/sandbox/runtime/agentPreparation.d.ts +20 -0
- package/dist/sandbox/runtime/agentPreparation.js +178 -0
- package/dist/sandbox/runtime/agentPreparation.js.map +1 -0
- package/dist/sandbox/runtime/agentPreparation.mjs +172 -0
- package/dist/sandbox/runtime/agentPreparation.mjs.map +1 -0
- package/dist/sandbox/runtime/index.d.ts +5 -0
- package/dist/sandbox/runtime/index.js +22 -0
- package/dist/sandbox/runtime/index.js.map +1 -0
- package/dist/sandbox/runtime/index.mjs +6 -0
- package/dist/sandbox/runtime/index.mjs.map +1 -0
- package/dist/sandbox/runtime/livePreservedSessions.d.ts +25 -0
- package/dist/sandbox/runtime/livePreservedSessions.js +58 -0
- package/dist/sandbox/runtime/livePreservedSessions.js.map +1 -0
- package/dist/sandbox/runtime/livePreservedSessions.mjs +51 -0
- package/dist/sandbox/runtime/livePreservedSessions.mjs.map +1 -0
- package/dist/sandbox/runtime/manager.d.ts +68 -0
- package/dist/sandbox/runtime/manager.js +704 -0
- package/dist/sandbox/runtime/manager.js.map +1 -0
- package/dist/sandbox/runtime/manager.mjs +697 -0
- package/dist/sandbox/runtime/manager.mjs.map +1 -0
- package/dist/sandbox/runtime/prompts.d.ts +6 -0
- package/dist/sandbox/runtime/prompts.js +108 -0
- package/dist/sandbox/runtime/prompts.js.map +1 -0
- package/dist/sandbox/runtime/prompts.mjs +101 -0
- package/dist/sandbox/runtime/prompts.mjs.map +1 -0
- package/dist/sandbox/runtime/providedSessionManifest.d.ts +3 -0
- package/dist/sandbox/runtime/providedSessionManifest.js +175 -0
- package/dist/sandbox/runtime/providedSessionManifest.js.map +1 -0
- package/dist/sandbox/runtime/providedSessionManifest.mjs +172 -0
- package/dist/sandbox/runtime/providedSessionManifest.mjs.map +1 -0
- package/dist/sandbox/runtime/runAsManifest.d.ts +4 -0
- package/dist/sandbox/runtime/runAsManifest.js +40 -0
- package/dist/sandbox/runtime/runAsManifest.js.map +1 -0
- package/dist/sandbox/runtime/runAsManifest.mjs +36 -0
- package/dist/sandbox/runtime/runAsManifest.mjs.map +1 -0
- package/dist/sandbox/runtime/sessionLifecycle.d.ts +6 -0
- package/dist/sandbox/runtime/sessionLifecycle.js +222 -0
- package/dist/sandbox/runtime/sessionLifecycle.js.map +1 -0
- package/dist/sandbox/runtime/sessionLifecycle.mjs +215 -0
- package/dist/sandbox/runtime/sessionLifecycle.mjs.map +1 -0
- package/dist/sandbox/runtime/sessionSerialization.d.ts +12 -0
- package/dist/sandbox/runtime/sessionSerialization.js +74 -0
- package/dist/sandbox/runtime/sessionSerialization.js.map +1 -0
- package/dist/sandbox/runtime/sessionSerialization.mjs +71 -0
- package/dist/sandbox/runtime/sessionSerialization.mjs.map +1 -0
- package/dist/sandbox/runtime/sessionState.d.ts +26 -0
- package/dist/sandbox/runtime/sessionState.js +113 -0
- package/dist/sandbox/runtime/sessionState.js.map +1 -0
- package/dist/sandbox/runtime/sessionState.mjs +104 -0
- package/dist/sandbox/runtime/sessionState.mjs.map +1 -0
- package/dist/sandbox/runtime/spans.d.ts +1 -0
- package/dist/sandbox/runtime/spans.js +51 -0
- package/dist/sandbox/runtime/spans.js.map +1 -0
- package/dist/sandbox/runtime/spans.mjs +48 -0
- package/dist/sandbox/runtime/spans.mjs.map +1 -0
- package/dist/sandbox/runtime/toolRehydration.d.ts +34 -0
- package/dist/sandbox/runtime/toolRehydration.js +207 -0
- package/dist/sandbox/runtime/toolRehydration.js.map +1 -0
- package/dist/sandbox/runtime/toolRehydration.mjs +200 -0
- package/dist/sandbox/runtime/toolRehydration.mjs.map +1 -0
- package/dist/sandbox/sandboxes/docker.d.ts +75 -0
- package/dist/sandbox/sandboxes/docker.js +2015 -0
- package/dist/sandbox/sandboxes/docker.js.map +1 -0
- package/dist/sandbox/sandboxes/docker.mjs +2010 -0
- package/dist/sandbox/sandboxes/docker.mjs.map +1 -0
- package/dist/sandbox/sandboxes/index.d.ts +3 -0
- package/dist/sandbox/sandboxes/index.js +20 -0
- package/dist/sandbox/sandboxes/index.js.map +1 -0
- package/dist/sandbox/sandboxes/index.mjs +4 -0
- package/dist/sandbox/sandboxes/index.mjs.map +1 -0
- package/dist/sandbox/sandboxes/shared/localSnapshotPaths.d.ts +1 -0
- package/dist/sandbox/sandboxes/shared/localSnapshotPaths.js +22 -0
- package/dist/sandbox/sandboxes/shared/localSnapshotPaths.js.map +1 -0
- package/dist/sandbox/sandboxes/shared/localSnapshotPaths.mjs +19 -0
- package/dist/sandbox/sandboxes/shared/localSnapshotPaths.mjs.map +1 -0
- package/dist/sandbox/sandboxes/shared/localSnapshots.d.ts +34 -0
- package/dist/sandbox/sandboxes/shared/localSnapshots.js +525 -0
- package/dist/sandbox/sandboxes/shared/localSnapshots.js.map +1 -0
- package/dist/sandbox/sandboxes/shared/localSnapshots.mjs +508 -0
- package/dist/sandbox/sandboxes/shared/localSnapshots.mjs.map +1 -0
- package/dist/sandbox/sandboxes/shared/localWorkspace.d.ts +27 -0
- package/dist/sandbox/sandboxes/shared/localWorkspace.js +693 -0
- package/dist/sandbox/sandboxes/shared/localWorkspace.js.map +1 -0
- package/dist/sandbox/sandboxes/shared/localWorkspace.mjs +684 -0
- package/dist/sandbox/sandboxes/shared/localWorkspace.mjs.map +1 -0
- package/dist/sandbox/sandboxes/shared/manifestPersistence.d.ts +15 -0
- package/dist/sandbox/sandboxes/shared/manifestPersistence.js +191 -0
- package/dist/sandbox/sandboxes/shared/manifestPersistence.js.map +1 -0
- package/dist/sandbox/sandboxes/shared/manifestPersistence.mjs +182 -0
- package/dist/sandbox/sandboxes/shared/manifestPersistence.mjs.map +1 -0
- package/dist/sandbox/sandboxes/shared/pty.d.ts +9 -0
- package/dist/sandbox/sandboxes/shared/pty.js +151 -0
- package/dist/sandbox/sandboxes/shared/pty.js.map +1 -0
- package/dist/sandbox/sandboxes/shared/pty.mjs +148 -0
- package/dist/sandbox/sandboxes/shared/pty.mjs.map +1 -0
- package/dist/sandbox/sandboxes/shared/runProcess.d.ts +16 -0
- package/dist/sandbox/sandboxes/shared/runProcess.js +90 -0
- package/dist/sandbox/sandboxes/shared/runProcess.js.map +1 -0
- package/dist/sandbox/sandboxes/shared/runProcess.mjs +86 -0
- package/dist/sandbox/sandboxes/shared/runProcess.mjs.map +1 -0
- package/dist/sandbox/sandboxes/shared/sessionStateValues.d.ts +18 -0
- package/dist/sandbox/sandboxes/shared/sessionStateValues.js +40 -0
- package/dist/sandbox/sandboxes/shared/sessionStateValues.js.map +1 -0
- package/dist/sandbox/sandboxes/shared/sessionStateValues.mjs +35 -0
- package/dist/sandbox/sandboxes/shared/sessionStateValues.mjs.map +1 -0
- package/dist/sandbox/sandboxes/shared/shellCommand.d.ts +17 -0
- package/dist/sandbox/sandboxes/shared/shellCommand.js +38 -0
- package/dist/sandbox/sandboxes/shared/shellCommand.js.map +1 -0
- package/dist/sandbox/sandboxes/shared/shellCommand.mjs +34 -0
- package/dist/sandbox/sandboxes/shared/shellCommand.mjs.map +1 -0
- package/dist/sandbox/sandboxes/types.d.ts +11 -0
- package/dist/sandbox/sandboxes/types.js +3 -0
- package/dist/sandbox/sandboxes/types.js.map +1 -0
- package/dist/sandbox/sandboxes/types.mjs +2 -0
- package/dist/sandbox/sandboxes/types.mjs.map +1 -0
- package/dist/sandbox/sandboxes/unixLocal.d.ts +95 -0
- package/dist/sandbox/sandboxes/unixLocal.js +863 -0
- package/dist/sandbox/sandboxes/unixLocal.js.map +1 -0
- package/dist/sandbox/sandboxes/unixLocal.mjs +858 -0
- package/dist/sandbox/sandboxes/unixLocal.mjs.map +1 -0
- package/dist/sandbox/session.d.ts +123 -0
- package/dist/sandbox/session.js +58 -0
- package/dist/sandbox/session.js.map +1 -0
- package/dist/sandbox/session.mjs +50 -0
- package/dist/sandbox/session.mjs.map +1 -0
- package/dist/sandbox/shared/compare.d.ts +2 -0
- package/dist/sandbox/shared/compare.js +13 -0
- package/dist/sandbox/shared/compare.js.map +1 -0
- package/dist/sandbox/shared/compare.mjs +9 -0
- package/dist/sandbox/shared/compare.mjs.map +1 -0
- package/dist/sandbox/shared/environment.d.ts +14 -0
- package/dist/sandbox/shared/environment.js +69 -0
- package/dist/sandbox/shared/environment.js.map +1 -0
- package/dist/sandbox/shared/environment.mjs +59 -0
- package/dist/sandbox/shared/environment.mjs.map +1 -0
- package/dist/sandbox/shared/hostPath.d.ts +4 -0
- package/dist/sandbox/shared/hostPath.js +22 -0
- package/dist/sandbox/shared/hostPath.js.map +1 -0
- package/dist/sandbox/shared/hostPath.mjs +16 -0
- package/dist/sandbox/shared/hostPath.mjs.map +1 -0
- package/dist/sandbox/shared/manifestCollections.d.ts +12 -0
- package/dist/sandbox/shared/manifestCollections.js +40 -0
- package/dist/sandbox/shared/manifestCollections.js.map +1 -0
- package/dist/sandbox/shared/manifestCollections.mjs +34 -0
- package/dist/sandbox/shared/manifestCollections.mjs.map +1 -0
- package/dist/sandbox/shared/media.d.ts +6 -0
- package/dist/sandbox/shared/media.js +126 -0
- package/dist/sandbox/shared/media.js.map +1 -0
- package/dist/sandbox/shared/media.mjs +119 -0
- package/dist/sandbox/shared/media.mjs.map +1 -0
- package/dist/sandbox/shared/output.d.ts +12 -0
- package/dist/sandbox/shared/output.js +108 -0
- package/dist/sandbox/shared/output.js.map +1 -0
- package/dist/sandbox/shared/output.mjs +103 -0
- package/dist/sandbox/shared/output.mjs.map +1 -0
- package/dist/sandbox/shared/posixPath.d.ts +7 -0
- package/dist/sandbox/shared/posixPath.js +90 -0
- package/dist/sandbox/shared/posixPath.js.map +1 -0
- package/dist/sandbox/shared/posixPath.mjs +81 -0
- package/dist/sandbox/shared/posixPath.mjs.map +1 -0
- package/dist/sandbox/shared/remoteMountCommandAllowlist.d.ts +3 -0
- package/dist/sandbox/shared/remoteMountCommandAllowlist.js +33 -0
- package/dist/sandbox/shared/remoteMountCommandAllowlist.js.map +1 -0
- package/dist/sandbox/shared/remoteMountCommandAllowlist.mjs +28 -0
- package/dist/sandbox/shared/remoteMountCommandAllowlist.mjs.map +1 -0
- package/dist/sandbox/shared/shell.d.ts +1 -0
- package/dist/sandbox/shared/shell.js +7 -0
- package/dist/sandbox/shared/shell.js.map +1 -0
- package/dist/sandbox/shared/shell.mjs +4 -0
- package/dist/sandbox/shared/shell.mjs.map +1 -0
- package/dist/sandbox/shared/stableJson.d.ts +12 -0
- package/dist/sandbox/shared/stableJson.js +40 -0
- package/dist/sandbox/shared/stableJson.js.map +1 -0
- package/dist/sandbox/shared/stableJson.mjs +35 -0
- package/dist/sandbox/shared/stableJson.mjs.map +1 -0
- package/dist/sandbox/shared/typeGuards.d.ts +6 -0
- package/dist/sandbox/shared/typeGuards.js +34 -0
- package/dist/sandbox/shared/typeGuards.js.map +1 -0
- package/dist/sandbox/shared/typeGuards.mjs +26 -0
- package/dist/sandbox/shared/typeGuards.mjs.map +1 -0
- package/dist/sandbox/snapshot.d.ts +60 -0
- package/dist/sandbox/snapshot.js +45 -0
- package/dist/sandbox/snapshot.js.map +1 -0
- package/dist/sandbox/snapshot.mjs +39 -0
- package/dist/sandbox/snapshot.mjs.map +1 -0
- package/dist/sandbox/users.d.ts +11 -0
- package/dist/sandbox/users.js +31 -0
- package/dist/sandbox/users.js.map +1 -0
- package/dist/sandbox/users.mjs +26 -0
- package/dist/sandbox/users.mjs.map +1 -0
- package/dist/sandbox/workspacePaths.d.ts +20 -0
- package/dist/sandbox/workspacePaths.js +73 -0
- package/dist/sandbox/workspacePaths.js.map +1 -0
- package/dist/sandbox/workspacePaths.mjs +69 -0
- package/dist/sandbox/workspacePaths.mjs.map +1 -0
- package/dist/tool.js +1 -1
- package/dist/tool.js.map +1 -1
- package/dist/tool.mjs +1 -1
- package/dist/tool.mjs.map +1 -1
- package/dist/types/protocol.d.ts +8 -0
- package/dist/types/protocol.js +1 -0
- package/dist/types/protocol.js.map +1 -1
- package/dist/types/protocol.mjs +1 -0
- package/dist/types/protocol.mjs.map +1 -1
- package/dist/utils/messages.d.ts +6 -0
- package/dist/utils/messages.js +21 -0
- package/dist/utils/messages.js.map +1 -1
- package/dist/utils/messages.mjs +20 -0
- package/dist/utils/messages.mjs.map +1 -1
- package/dist/utils/strictToolSchema.d.ts +4 -0
- package/dist/utils/strictToolSchema.js +358 -0
- package/dist/utils/strictToolSchema.js.map +1 -0
- package/dist/utils/strictToolSchema.mjs +353 -0
- package/dist/utils/strictToolSchema.mjs.map +1 -0
- package/dist/utils/tools.d.ts +3 -1
- package/dist/utils/tools.js +18 -7
- package/dist/utils/tools.js.map +1 -1
- package/dist/utils/tools.mjs +18 -7
- package/dist/utils/tools.mjs.map +1 -1
- package/dist/utils/zodJsonSchemaCompat.js +18 -16
- package/dist/utils/zodJsonSchemaCompat.js.map +1 -1
- package/dist/utils/zodJsonSchemaCompat.mjs +18 -16
- package/dist/utils/zodJsonSchemaCompat.mjs.map +1 -1
- package/package.json +25 -1
|
@@ -0,0 +1,449 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { tool } from "../../tool.mjs";
|
|
3
|
+
import { dir, file, isDir, isDirectoryLikeEntry, } from "../entries/index.mjs";
|
|
4
|
+
import { SandboxSkillsConfigError } from "../errors.mjs";
|
|
5
|
+
import { normalizeRelativePath } from "../manifest.mjs";
|
|
6
|
+
import { prompt } from "../runtime/prompts.mjs";
|
|
7
|
+
import { Capability, requireBoundSession } from "./base.mjs";
|
|
8
|
+
class SkillsCapability extends Capability {
|
|
9
|
+
type = 'skills';
|
|
10
|
+
skills;
|
|
11
|
+
from;
|
|
12
|
+
lazyFrom;
|
|
13
|
+
index;
|
|
14
|
+
skillsPath;
|
|
15
|
+
constructor(args) {
|
|
16
|
+
super();
|
|
17
|
+
this.skills = args.skills ?? [];
|
|
18
|
+
this.from = args.from;
|
|
19
|
+
this.lazyFrom = args.lazyFrom;
|
|
20
|
+
this.index = args.index;
|
|
21
|
+
this.skillsPath = normalizeRelativePath(args.skillsPath ?? '.agents');
|
|
22
|
+
validateSkillsCapability(this);
|
|
23
|
+
}
|
|
24
|
+
tools() {
|
|
25
|
+
if (!this.lazyFrom) {
|
|
26
|
+
return [];
|
|
27
|
+
}
|
|
28
|
+
const session = requireBoundSession(this.type, this._session);
|
|
29
|
+
if (!session.pathExists || !session.materializeEntry) {
|
|
30
|
+
throw new SandboxSkillsConfigError('Skills sandbox sessions must provide pathExists() and materializeEntry().');
|
|
31
|
+
}
|
|
32
|
+
return [
|
|
33
|
+
tool({
|
|
34
|
+
name: 'load_skill',
|
|
35
|
+
description: 'Load a single lazily configured skill into the sandbox so its SKILL.md, scripts, references, and assets can be read from the workspace.',
|
|
36
|
+
parameters: z.object({
|
|
37
|
+
skill_name: z
|
|
38
|
+
.string()
|
|
39
|
+
.min(1)
|
|
40
|
+
.describe('Name of the lazily configured skill to materialize.'),
|
|
41
|
+
}),
|
|
42
|
+
execute: async ({ skill_name, }) => {
|
|
43
|
+
const match = resolveLazySkillMatch(this, skill_name);
|
|
44
|
+
const relativeSkillPath = normalizeRelativePath(match.path ?? match.name);
|
|
45
|
+
const destinationPath = joinRelativePaths(this.skillsPath, relativeSkillPath);
|
|
46
|
+
const skillMarkdownPath = joinRelativePaths(destinationPath, 'SKILL.md');
|
|
47
|
+
if (await session.pathExists(skillMarkdownPath, this._runAs)) {
|
|
48
|
+
return {
|
|
49
|
+
status: 'already_loaded',
|
|
50
|
+
skill_name: match.name,
|
|
51
|
+
path: destinationPath,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
await session.materializeEntry({
|
|
55
|
+
path: destinationPath,
|
|
56
|
+
entry: resolveLazySkillEntry(this.lazyFrom.source, relativeSkillPath),
|
|
57
|
+
runAs: this._runAs,
|
|
58
|
+
});
|
|
59
|
+
return {
|
|
60
|
+
status: 'loaded',
|
|
61
|
+
skill_name: match.name,
|
|
62
|
+
path: destinationPath,
|
|
63
|
+
};
|
|
64
|
+
},
|
|
65
|
+
}),
|
|
66
|
+
];
|
|
67
|
+
}
|
|
68
|
+
processManifest(manifest) {
|
|
69
|
+
const existingPaths = new Set(Object.keys(manifest.entries).map((path) => normalizeRelativePath(path)));
|
|
70
|
+
if (this.lazyFrom) {
|
|
71
|
+
const overlaps = [...existingPaths]
|
|
72
|
+
.filter((path) => pathsOverlap(path, this.skillsPath))
|
|
73
|
+
.sort();
|
|
74
|
+
if (overlaps.length > 0) {
|
|
75
|
+
throw new SandboxSkillsConfigError(`skills lazyFrom path overlaps existing manifest entries: ${overlaps.join(', ')}`);
|
|
76
|
+
}
|
|
77
|
+
return manifest;
|
|
78
|
+
}
|
|
79
|
+
if (this.from) {
|
|
80
|
+
const overlap = [...existingPaths].find((path) => pathsOverlap(path, this.skillsPath));
|
|
81
|
+
if (overlap) {
|
|
82
|
+
throw new SandboxSkillsConfigError(`skills path overlaps existing manifest entries: ${overlap}`);
|
|
83
|
+
}
|
|
84
|
+
manifest.entries[this.skillsPath] = this.from;
|
|
85
|
+
return manifest;
|
|
86
|
+
}
|
|
87
|
+
for (const skill of this.skills) {
|
|
88
|
+
const skillPath = joinRelativePaths(this.skillsPath, skill.name);
|
|
89
|
+
const overlap = [...existingPaths].find((path) => pathsOverlap(path, skillPath));
|
|
90
|
+
if (overlap) {
|
|
91
|
+
throw new SandboxSkillsConfigError(`skill path overlaps existing manifest entries: ${skillPath}`);
|
|
92
|
+
}
|
|
93
|
+
manifest.entries[skillPath] = renderSkillDescriptor(skill);
|
|
94
|
+
existingPaths.add(skillPath);
|
|
95
|
+
}
|
|
96
|
+
return manifest;
|
|
97
|
+
}
|
|
98
|
+
async instructions(manifest) {
|
|
99
|
+
const metadata = resolveSkillsMetadata(this, await this.resolveRuntimeMetadata(manifest));
|
|
100
|
+
if (metadata.length === 0 && this.from) {
|
|
101
|
+
return renderSkillsDiscoveryInstructions(this.skillsPath);
|
|
102
|
+
}
|
|
103
|
+
if (metadata.length === 0) {
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
return renderSkillsInstructions({
|
|
107
|
+
metadata,
|
|
108
|
+
lazy: Boolean(this.lazyFrom),
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
async resolveRuntimeMetadata(_manifest) {
|
|
112
|
+
if (!this.from || !this._session?.listDir || !this._session.readFile) {
|
|
113
|
+
return [];
|
|
114
|
+
}
|
|
115
|
+
let entries;
|
|
116
|
+
try {
|
|
117
|
+
entries = await this._session.listDir({
|
|
118
|
+
path: this.skillsPath,
|
|
119
|
+
runAs: this._runAs,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
return [];
|
|
124
|
+
}
|
|
125
|
+
const metadata = [];
|
|
126
|
+
for (const entry of entries) {
|
|
127
|
+
if (entry.type !== 'dir') {
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
let content;
|
|
131
|
+
try {
|
|
132
|
+
content = await this._session.readFile({
|
|
133
|
+
path: joinRelativePaths(entry.path, 'SKILL.md'),
|
|
134
|
+
runAs: this._runAs,
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
140
|
+
const markdown = typeof content === 'string'
|
|
141
|
+
? content
|
|
142
|
+
: new TextDecoder().decode(content);
|
|
143
|
+
const frontmatter = parseSkillFrontmatter(markdown);
|
|
144
|
+
metadata.push({
|
|
145
|
+
name: frontmatter.name ?? entry.name,
|
|
146
|
+
description: frontmatter.description ?? 'No description provided.',
|
|
147
|
+
path: entry.name,
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
return metadata;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
export function skills(args) {
|
|
154
|
+
return new SkillsCapability(args);
|
|
155
|
+
}
|
|
156
|
+
const SKILLS_SECTION_INTRO = prompt `
|
|
157
|
+
A skill is a set of local instructions to follow that is stored in a \`SKILL.md\` file. Below is the list of skills that can be used. Each entry includes a name, description, and file path so you can open the source for full instructions when using a specific skill.
|
|
158
|
+
`;
|
|
159
|
+
const HOW_TO_USE_SKILLS_SECTION = prompt `
|
|
160
|
+
### How to use skills
|
|
161
|
+
- Discovery: The list above is the skills available in this session (name + description + file path). Skill bodies live on disk at the listed paths.
|
|
162
|
+
- Trigger rules: If the user names a skill (with \`$SkillName\` or plain text) OR the task clearly matches a skill's description shown above, you must use that skill for that turn. Multiple mentions mean use them all. Do not carry skills across turns unless re-mentioned.
|
|
163
|
+
- Missing/blocked: If a named skill isn't in the list or the path can't be read, say so briefly and continue with the best fallback.
|
|
164
|
+
- How to use a skill (progressive disclosure):
|
|
165
|
+
1) After deciding to use a skill, open its \`SKILL.md\`. Read only enough to follow the workflow.
|
|
166
|
+
2) If \`SKILL.md\` points to extra folders such as \`references/\`, load only the specific files needed for the request; don't bulk-load everything.
|
|
167
|
+
3) If \`scripts/\` exist, prefer running or patching them instead of retyping large code blocks.
|
|
168
|
+
4) If \`assets/\` or templates exist, reuse them instead of recreating from scratch.
|
|
169
|
+
- Coordination and sequencing:
|
|
170
|
+
- If multiple skills apply, choose the minimal set that covers the request and state the order you'll use them.
|
|
171
|
+
- Announce which skill(s) you're using and why (one short line). If you skip an obvious skill, say why.
|
|
172
|
+
- Context hygiene:
|
|
173
|
+
- Keep context small: summarize long sections instead of pasting them; only load extra files when needed.
|
|
174
|
+
- Avoid deep reference-chasing: prefer opening only files directly linked from \`SKILL.md\` unless you're blocked.
|
|
175
|
+
- When variants exist (frameworks, providers, domains), pick only the relevant reference file(s) and note that choice.
|
|
176
|
+
- Safety and fallback: If a skill can't be applied cleanly (missing files, unclear instructions), state the issue, pick the next-best approach, and continue.
|
|
177
|
+
`;
|
|
178
|
+
const HOW_TO_USE_LAZY_SKILLS_SECTION = prompt `
|
|
179
|
+
### How to use skills
|
|
180
|
+
- Discovery: The list above is the skill index available in this session (name + description + workspace path). In lazy mode, those paths are loaded on demand instead of being present up front.
|
|
181
|
+
- Trigger rules: If the user names a skill (with \`$SkillName\` or plain text) OR the task clearly matches a skill's description shown above, you must use that skill for that turn. Multiple mentions mean use them all. Do not carry skills across turns unless re-mentioned.
|
|
182
|
+
- Missing/blocked: If a named skill isn't in the list or the path can't be read, say so briefly and continue with the best fallback.
|
|
183
|
+
- How to use a skill (progressive disclosure):
|
|
184
|
+
1) After deciding to use a lazy skill, call \`load_skill\` for that skill first, then open its \`SKILL.md\`.
|
|
185
|
+
2) If \`SKILL.md\` points to extra folders such as \`references/\`, load only the specific files needed for the request; don't bulk-load everything.
|
|
186
|
+
3) If \`scripts/\` exist, prefer running or patching them instead of retyping large code blocks.
|
|
187
|
+
4) If \`assets/\` or templates exist, reuse them instead of recreating from scratch.
|
|
188
|
+
- Coordination and sequencing:
|
|
189
|
+
- If multiple skills apply, choose the minimal set that covers the request and state the order you'll use them.
|
|
190
|
+
- Announce which skill(s) you're using and why (one short line). If you skip an obvious skill, say why.
|
|
191
|
+
- Context hygiene:
|
|
192
|
+
- Keep context small: summarize long sections instead of pasting them; only load extra files when needed.
|
|
193
|
+
- Avoid deep reference-chasing: prefer opening only files directly linked from \`SKILL.md\` unless you're blocked.
|
|
194
|
+
- When variants exist (frameworks, providers, domains), pick only the relevant reference file(s) and note that choice.
|
|
195
|
+
- Safety and fallback: If a skill can't be applied cleanly (missing files, unclear instructions), state the issue, pick the next-best approach, and continue.
|
|
196
|
+
`;
|
|
197
|
+
function validateSkillsCapability(capability) {
|
|
198
|
+
const configuredSources = [
|
|
199
|
+
capability.skills.length > 0,
|
|
200
|
+
Boolean(capability.from),
|
|
201
|
+
Boolean(capability.lazyFrom),
|
|
202
|
+
].filter(Boolean).length;
|
|
203
|
+
if (configuredSources === 0) {
|
|
204
|
+
throw new SandboxSkillsConfigError('skills capability requires `skills`, `from`, or `lazyFrom`.');
|
|
205
|
+
}
|
|
206
|
+
if (configuredSources > 1) {
|
|
207
|
+
throw new SandboxSkillsConfigError('skills capability accepts only one of `skills`, `from`, or `lazyFrom`.');
|
|
208
|
+
}
|
|
209
|
+
if (capability.from && !isDirectoryLikeEntry(capability.from)) {
|
|
210
|
+
throw new SandboxSkillsConfigError('skills from must be a directory-like entry such as dir, git_repo, or mount.');
|
|
211
|
+
}
|
|
212
|
+
const seenSkillNames = new Set();
|
|
213
|
+
for (const skill of capability.skills) {
|
|
214
|
+
const normalizedName = normalizeRelativePath(skill.name);
|
|
215
|
+
if (seenSkillNames.has(normalizedName)) {
|
|
216
|
+
throw new SandboxSkillsConfigError(`duplicate skill name: ${skill.name}`);
|
|
217
|
+
}
|
|
218
|
+
seenSkillNames.add(normalizedName);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
function renderSkillDescriptor(skill) {
|
|
222
|
+
const children = {
|
|
223
|
+
'SKILL.md': normalizeSkillContent(skill.content),
|
|
224
|
+
};
|
|
225
|
+
if (skill.scripts && Object.keys(skill.scripts).length > 0) {
|
|
226
|
+
children.scripts = dir({
|
|
227
|
+
children: skill.scripts,
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
if (skill.references && Object.keys(skill.references).length > 0) {
|
|
231
|
+
children.references = dir({
|
|
232
|
+
children: skill.references,
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
if (skill.assets && Object.keys(skill.assets).length > 0) {
|
|
236
|
+
children.assets = dir({
|
|
237
|
+
children: skill.assets,
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
return dir({
|
|
241
|
+
children,
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
function normalizeSkillContent(content) {
|
|
245
|
+
if (typeof content === 'string' || content instanceof Uint8Array) {
|
|
246
|
+
return file({
|
|
247
|
+
content,
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
return content;
|
|
251
|
+
}
|
|
252
|
+
function resolveSkillsMetadata(capability, runtimeMetadata = []) {
|
|
253
|
+
if (capability.skills.length > 0) {
|
|
254
|
+
return capability.skills
|
|
255
|
+
.map((skill) => ({
|
|
256
|
+
name: skill.name,
|
|
257
|
+
description: skill.description,
|
|
258
|
+
path: joinRelativePaths(capability.skillsPath, skill.name),
|
|
259
|
+
}))
|
|
260
|
+
.sort((left, right) => left.name.localeCompare(right.name));
|
|
261
|
+
}
|
|
262
|
+
const configuredIndex = resolveLazySkillIndex(capability.lazyFrom) ??
|
|
263
|
+
capability.index ??
|
|
264
|
+
(runtimeMetadata.length > 0 ? runtimeMetadata : undefined) ??
|
|
265
|
+
deriveIndexFromDirEntry(capability.from);
|
|
266
|
+
return configuredIndex
|
|
267
|
+
.map((skill) => ({
|
|
268
|
+
...skill,
|
|
269
|
+
path: joinRelativePaths(capability.skillsPath, skill.path ?? normalizeRelativePath(skill.name)),
|
|
270
|
+
}))
|
|
271
|
+
.sort((left, right) => left.name.localeCompare(right.name));
|
|
272
|
+
}
|
|
273
|
+
export function parseSkillFrontmatter(markdown) {
|
|
274
|
+
const lines = markdown.split(/\r?\n/);
|
|
275
|
+
if (lines[0]?.trim() !== '---') {
|
|
276
|
+
return {};
|
|
277
|
+
}
|
|
278
|
+
const endIndex = lines.findIndex((line, index) => index > 0 && line.trim() === '---');
|
|
279
|
+
if (endIndex === -1) {
|
|
280
|
+
return {};
|
|
281
|
+
}
|
|
282
|
+
const metadata = {};
|
|
283
|
+
for (const line of lines.slice(1, endIndex)) {
|
|
284
|
+
const stripped = line.trim();
|
|
285
|
+
const delimiterIndex = stripped.indexOf(':');
|
|
286
|
+
if (!stripped || stripped.startsWith('#') || delimiterIndex === -1) {
|
|
287
|
+
continue;
|
|
288
|
+
}
|
|
289
|
+
const key = stripped.slice(0, delimiterIndex).trim();
|
|
290
|
+
const rawValue = stripped.slice(delimiterIndex + 1).trim();
|
|
291
|
+
if (!key) {
|
|
292
|
+
continue;
|
|
293
|
+
}
|
|
294
|
+
metadata[key] = unquoteFrontmatterValue(rawValue);
|
|
295
|
+
}
|
|
296
|
+
return metadata;
|
|
297
|
+
}
|
|
298
|
+
function unquoteFrontmatterValue(value) {
|
|
299
|
+
if (value.length >= 2 &&
|
|
300
|
+
value[0] === value[value.length - 1] &&
|
|
301
|
+
(value[0] === '"' || value[0] === "'")) {
|
|
302
|
+
return value.slice(1, -1);
|
|
303
|
+
}
|
|
304
|
+
return value;
|
|
305
|
+
}
|
|
306
|
+
function resolveLazySkillIndex(lazySource) {
|
|
307
|
+
if (!lazySource) {
|
|
308
|
+
return undefined;
|
|
309
|
+
}
|
|
310
|
+
if (lazySource.index) {
|
|
311
|
+
return lazySource.index;
|
|
312
|
+
}
|
|
313
|
+
const derivedIndex = deriveIndexFromDirEntry(lazySource.source);
|
|
314
|
+
return derivedIndex.length > 0 ? derivedIndex : undefined;
|
|
315
|
+
}
|
|
316
|
+
function deriveIndexFromDirEntry(entry) {
|
|
317
|
+
if (!entry || !isDir(entry) || !entry.children) {
|
|
318
|
+
return [];
|
|
319
|
+
}
|
|
320
|
+
return Object.entries(entry.children)
|
|
321
|
+
.filter(([, child]) => child.type === 'dir')
|
|
322
|
+
.map(([name, child]) => ({
|
|
323
|
+
name,
|
|
324
|
+
description: child.description ?? 'No description provided.',
|
|
325
|
+
}));
|
|
326
|
+
}
|
|
327
|
+
function renderSkillsDiscoveryInstructions(skillsPath) {
|
|
328
|
+
return prompt `
|
|
329
|
+
## Skills
|
|
330
|
+
${SKILLS_SECTION_INTRO}
|
|
331
|
+
|
|
332
|
+
### Skill source
|
|
333
|
+
- Skills are materialized under ${skillsPath}. Discover available skills by inspecting child directories and their SKILL.md files at runtime.
|
|
334
|
+
|
|
335
|
+
${HOW_TO_USE_SKILLS_SECTION}
|
|
336
|
+
`;
|
|
337
|
+
}
|
|
338
|
+
function renderSkillsInstructions(args) {
|
|
339
|
+
const availableSkills = args.metadata
|
|
340
|
+
.map((skill) => `- ${skill.name}: ${skill.description} (file: ${skill.path ?? skill.name})`)
|
|
341
|
+
.join('\n');
|
|
342
|
+
const lazyLoadingInstructions = args.lazy
|
|
343
|
+
? prompt `
|
|
344
|
+
### Lazy loading
|
|
345
|
+
- These skills are indexed for planning, but they are not materialized in the workspace yet.
|
|
346
|
+
- Call \`load_skill\` with a single skill name from the list before reading its \`SKILL.md\` or other files from the workspace.
|
|
347
|
+
- \`load_skill\` stages exactly one skill under the listed path. If you need more than one skill, call it multiple times.
|
|
348
|
+
`
|
|
349
|
+
: '';
|
|
350
|
+
const usageInstructions = args.lazy
|
|
351
|
+
? HOW_TO_USE_LAZY_SKILLS_SECTION
|
|
352
|
+
: HOW_TO_USE_SKILLS_SECTION;
|
|
353
|
+
const lazyLoadingSection = lazyLoadingInstructions
|
|
354
|
+
? `${lazyLoadingInstructions}\n\n`
|
|
355
|
+
: '';
|
|
356
|
+
return prompt `
|
|
357
|
+
## Skills
|
|
358
|
+
${SKILLS_SECTION_INTRO}
|
|
359
|
+
|
|
360
|
+
### Available skills
|
|
361
|
+
${availableSkills}
|
|
362
|
+
|
|
363
|
+
${lazyLoadingSection}${usageInstructions}
|
|
364
|
+
`;
|
|
365
|
+
}
|
|
366
|
+
function resolveLazySkillMatch(capability, skillName) {
|
|
367
|
+
const index = resolveLazySkillIndex(capability.lazyFrom) ?? capability.index ?? [];
|
|
368
|
+
const matches = index.filter((skill) => {
|
|
369
|
+
const relativePath = normalizeRelativePath(skill.path ?? skill.name);
|
|
370
|
+
const pathBaseName = relativePath.split('/').pop() ?? relativePath;
|
|
371
|
+
return (skill.name === skillName ||
|
|
372
|
+
relativePath === skillName ||
|
|
373
|
+
pathBaseName === skillName);
|
|
374
|
+
});
|
|
375
|
+
if (matches.length === 0) {
|
|
376
|
+
throw new SandboxSkillsConfigError(`lazy skill not found: ${skillName}`);
|
|
377
|
+
}
|
|
378
|
+
if (matches.length > 1) {
|
|
379
|
+
throw new SandboxSkillsConfigError(`lazy skill name is ambiguous: ${skillName}`);
|
|
380
|
+
}
|
|
381
|
+
return matches[0];
|
|
382
|
+
}
|
|
383
|
+
function joinRelativePaths(left, right) {
|
|
384
|
+
const normalizedLeft = normalizeRelativePath(left);
|
|
385
|
+
const normalizedRight = normalizeRelativePath(right);
|
|
386
|
+
if (!normalizedLeft) {
|
|
387
|
+
return normalizedRight;
|
|
388
|
+
}
|
|
389
|
+
if (!normalizedRight) {
|
|
390
|
+
return normalizedLeft;
|
|
391
|
+
}
|
|
392
|
+
return `${normalizedLeft}/${normalizedRight}`;
|
|
393
|
+
}
|
|
394
|
+
function joinSourcePath(sourceRoot, relativePath) {
|
|
395
|
+
const trimmedRoot = sourceRoot.replace(/[\\/]+$/, '');
|
|
396
|
+
if (!trimmedRoot) {
|
|
397
|
+
return relativePath;
|
|
398
|
+
}
|
|
399
|
+
return `${trimmedRoot}/${relativePath}`;
|
|
400
|
+
}
|
|
401
|
+
function resolveLazySkillEntry(source, relativeSkillPath) {
|
|
402
|
+
if (source.type === 'local_dir') {
|
|
403
|
+
if (!source.src) {
|
|
404
|
+
throw new SandboxSkillsConfigError('Lazy skill local_dir sources require a concrete src value.');
|
|
405
|
+
}
|
|
406
|
+
return {
|
|
407
|
+
...source,
|
|
408
|
+
type: 'local_dir',
|
|
409
|
+
src: joinSourcePath(source.src, relativeSkillPath),
|
|
410
|
+
};
|
|
411
|
+
}
|
|
412
|
+
if (source.type === 'git_repo') {
|
|
413
|
+
const baseSubpath = source.subpath
|
|
414
|
+
? normalizeRelativePath(source.subpath)
|
|
415
|
+
: '';
|
|
416
|
+
return {
|
|
417
|
+
...source,
|
|
418
|
+
type: 'git_repo',
|
|
419
|
+
subpath: joinRelativePaths(baseSubpath, relativeSkillPath),
|
|
420
|
+
};
|
|
421
|
+
}
|
|
422
|
+
if (source.type === 'dir') {
|
|
423
|
+
const child = readDirChild(source, relativeSkillPath);
|
|
424
|
+
if (!child) {
|
|
425
|
+
throw new SandboxSkillsConfigError(`lazy skill source path not found: ${relativeSkillPath}`);
|
|
426
|
+
}
|
|
427
|
+
return child;
|
|
428
|
+
}
|
|
429
|
+
throw new SandboxSkillsConfigError(`Lazy skill source type is not supported yet: ${source.type}`);
|
|
430
|
+
}
|
|
431
|
+
function readDirChild(source, relativeSkillPath) {
|
|
432
|
+
let current = source;
|
|
433
|
+
for (const segment of normalizeRelativePath(relativeSkillPath).split('/')) {
|
|
434
|
+
if (!segment) {
|
|
435
|
+
continue;
|
|
436
|
+
}
|
|
437
|
+
if (!current || !isDir(current) || !current.children) {
|
|
438
|
+
return undefined;
|
|
439
|
+
}
|
|
440
|
+
current = current.children[segment];
|
|
441
|
+
}
|
|
442
|
+
return current;
|
|
443
|
+
}
|
|
444
|
+
function pathsOverlap(left, right) {
|
|
445
|
+
return (left === right ||
|
|
446
|
+
left.startsWith(`${right}/`) ||
|
|
447
|
+
right.startsWith(`${left}/`));
|
|
448
|
+
}
|
|
449
|
+
//# sourceMappingURL=skills.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skills.mjs","sourceRoot":"","sources":["../../../src/sandbox/capabilities/skills.ts"],"names":[],"mappings":"OAAO,EAAE,CAAC,EAAE,MAAM,KAAK;OAChB,EAAE,IAAI,EAAa;OACnB,EACL,GAAG,EACH,IAAI,EAOJ,KAAK,EACL,oBAAoB,GACrB;OACM,EAAE,wBAAwB,EAAE;OAC5B,EAAE,qBAAqB,EAAiB;OACxC,EAAE,MAAM,EAAE;OAEV,EAAE,UAAU,EAAE,mBAAmB,EAAE;AAgC1C,MAAM,gBAAiB,SAAQ,UAAU;IAC9B,IAAI,GAAG,QAAQ,CAAC;IAChB,MAAM,CAAoB;IAC1B,IAAI,CAAS;IACb,QAAQ,CAA2B;IACnC,KAAK,CAAqB;IAC1B,UAAU,CAAS;IAE5B,YAAY,IAAgB;QAC1B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC;QAEtE,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAEQ,KAAK;QACZ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;YACrD,MAAM,IAAI,wBAAwB,CAChC,2EAA2E,CAC5E,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,CAAC;gBACH,IAAI,EAAE,YAAY;gBAClB,WAAW,EACT,yIAAyI;gBAC3I,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;oBACnB,UAAU,EAAE,CAAC;yBACV,MAAM,EAAE;yBACR,GAAG,CAAC,CAAC,CAAC;yBACN,QAAQ,CAAC,qDAAqD,CAAC;iBACnE,CAAC;gBACF,OAAO,EAAE,KAAK,EAAE,EACd,UAAU,GAGX,EAIE,EAAE;oBACH,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;oBACtD,MAAM,iBAAiB,GAAG,qBAAqB,CAC7C,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CACzB,CAAC;oBACF,MAAM,eAAe,GAAG,iBAAiB,CACvC,IAAI,CAAC,UAAU,EACf,iBAAiB,CAClB,CAAC;oBACF,MAAM,iBAAiB,GAAG,iBAAiB,CACzC,eAAe,EACf,UAAU,CACX,CAAC;oBAEF,IAAI,MAAM,OAAO,CAAC,UAAW,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC9D,OAAO;4BACL,MAAM,EAAE,gBAAgB;4BACxB,UAAU,EAAE,KAAK,CAAC,IAAI;4BACtB,IAAI,EAAE,eAAe;yBACtB,CAAC;oBACJ,CAAC;oBAED,MAAM,OAAO,CAAC,gBAAiB,CAAC;wBAC9B,IAAI,EAAE,eAAe;wBACrB,KAAK,EAAE,qBAAqB,CAC1B,IAAI,CAAC,QAAS,CAAC,MAAM,EACrB,iBAAiB,CAClB;wBACD,KAAK,EAAE,IAAI,CAAC,MAAM;qBACY,CAAC,CAAC;oBAElC,OAAO;wBACL,MAAM,EAAE,QAAQ;wBAChB,UAAU,EAAE,KAAK,CAAC,IAAI;wBACtB,IAAI,EAAE,eAAe;qBACtB,CAAC;gBACJ,CAAC;aACF,CAAC;SACH,CAAC;IACJ,CAAC;IAEQ,eAAe,CAAC,QAAkB;QACzC,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CACzE,CAAC;QAEF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,CAAC,GAAG,aAAa,CAAC;iBAChC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;iBACrD,IAAI,EAAE,CAAC;YACV,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,wBAAwB,CAChC,4DAA4D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClF,CAAC;YACJ,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC/C,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CACpC,CAAC;YACF,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,IAAI,wBAAwB,CAChC,mDAAmD,OAAO,EAAE,CAC7D,CAAC;YACJ,CAAC;YACD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;YAC9C,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACjE,MAAM,OAAO,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC/C,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAC9B,CAAC;YACF,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,IAAI,wBAAwB,CAChC,kDAAkD,SAAS,EAAE,CAC9D,CAAC;YACJ,CAAC;YACD,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC3D,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEQ,KAAK,CAAC,YAAY,CAAC,QAAkB;QAC5C,MAAM,QAAQ,GAAG,qBAAqB,CACpC,IAAI,EACJ,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAC5C,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACvC,OAAO,iCAAiC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,wBAAwB,CAAC;YAC9B,QAAQ;YACR,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,SAAmB;QAEnB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACrE,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACpC,IAAI,EAAE,IAAI,CAAC,UAAU;gBACrB,KAAK,EAAE,IAAI,CAAC,MAAM;aACnB,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,QAAQ,GAAsB,EAAE,CAAC;QACvC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACzB,SAAS;YACX,CAAC;YAED,IAAI,OAA4B,CAAC;YACjC,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBACrC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC;oBAC/C,KAAK,EAAE,IAAI,CAAC,MAAM;iBACnB,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GACZ,OAAO,OAAO,KAAK,QAAQ;gBACzB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,WAAW,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YACpD,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI;gBACpC,WAAW,EAAE,WAAW,CAAC,WAAW,IAAI,0BAA0B;gBAClE,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAKD,MAAM,UAAU,MAAM,CAAC,IAAgB;IACrC,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,oBAAoB,GAAG,MAAM,CAAA;;CAElC,CAAC;AAEF,MAAM,yBAAyB,GAAG,MAAM,CAAA;;;;;;;;;;;;;;;;;;CAkBvC,CAAC;AAEF,MAAM,8BAA8B,GAAG,MAAM,CAAA;;;;;;;;;;;;;;;;;;CAkB5C,CAAC;AAEF,SAAS,wBAAwB,CAAC,UAA4B;IAC5D,MAAM,iBAAiB,GAAG;QACxB,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAC5B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QACxB,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;KAC7B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAEzB,IAAI,iBAAiB,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,wBAAwB,CAChC,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IACD,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,wBAAwB,CAChC,wEAAwE,CACzE,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,wBAAwB,CAChC,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,cAAc,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,wBAAwB,CAAC,yBAAyB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAsB;IACnD,MAAM,QAAQ,GAA0B;QACtC,UAAU,EAAE,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC;KACjD,CAAC;IAEF,IAAI,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3D,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC;YACrB,QAAQ,EAAE,KAAK,CAAC,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjE,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC;YACxB,QAAQ,EAAE,KAAK,CAAC,UAAU;SAC3B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC;YACpB,QAAQ,EAAE,KAAK,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,GAAG,CAAC;QACT,QAAQ;KACT,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAAmC;IAEnC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,YAAY,UAAU,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC;YACV,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,qBAAqB,CAC5B,UAA4B,EAC5B,kBAAqC,EAAE;IAEvC,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,UAAU,CAAC,MAAM;aACrB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACf,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,IAAI,EAAE,iBAAiB,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC;SAC3D,CAAC,CAAC;aACF,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,eAAe,GACnB,qBAAqB,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC1C,UAAU,CAAC,KAAK;QAChB,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,uBAAuB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAE3C,OAAO,eAAe;SACnB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACf,GAAG,KAAK;QACR,IAAI,EAAE,iBAAiB,CACrB,UAAU,CAAC,UAAU,EACrB,KAAK,CAAC,IAAI,IAAI,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAChD;KACF,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,QAAgB;IAEhB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;QAC/B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAC9B,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,CACpD,CAAC;IACF,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;YACnE,SAAS;QACX,CAAC;QAED,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,SAAS;QACX,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa;IAC5C,IACE,KAAK,CAAC,MAAM,IAAI,CAAC;QACjB,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACpC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EACtC,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAC5B,UAA+C;IAE/C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,UAAU,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,MAAM,YAAY,GAAG,uBAAuB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAChE,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5D,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAwB;IACvD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC/C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;SAClC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC;SAC3C,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACvB,IAAI;QACJ,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,0BAA0B;KAC7D,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,iCAAiC,CAAC,UAAkB;IAC3D,OAAO,MAAM,CAAA;;EAEb,oBAAoB;;;kCAGY,UAAU;;EAE1C,yBAAyB;CAC1B,CAAC;AACF,CAAC;AAED,SAAS,wBAAwB,CAAC,IAGjC;IACC,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ;SAClC,GAAG,CACF,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,WAAW,WAAW,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,CAC9E;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,uBAAuB,GAAG,IAAI,CAAC,IAAI;QACvC,CAAC,CAAC,MAAM,CAAA;;;;;CAKX;QACG,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI;QACjC,CAAC,CAAC,8BAA8B;QAChC,CAAC,CAAC,yBAAyB,CAAC;IAC9B,MAAM,kBAAkB,GAAG,uBAAuB;QAChD,CAAC,CAAC,GAAG,uBAAuB,MAAM;QAClC,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,MAAM,CAAA;;EAEb,oBAAoB;;;EAGpB,eAAe;;EAEf,kBAAkB,GAAG,iBAAiB;CACvC,CAAC;AACF,CAAC;AAED,SAAS,qBAAqB,CAC5B,UAA4B,EAC5B,SAAiB;IAEjB,MAAM,KAAK,GACT,qBAAqB,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;IACvE,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACrC,MAAM,YAAY,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;QACrE,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,YAAY,CAAC;QACnE,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,SAAS;YACxB,YAAY,KAAK,SAAS;YAC1B,YAAY,KAAK,SAAS,CAC3B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,wBAAwB,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,wBAAwB,CAChC,iCAAiC,SAAS,EAAE,CAC7C,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY,EAAE,KAAa;IACpD,MAAM,cAAc,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAErD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,OAAO,GAAG,cAAc,IAAI,eAAe,EAAE,CAAC;AAChD,CAAC;AAED,SAAS,cAAc,CAAC,UAAkB,EAAE,YAAoB;IAC9D,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACtD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,GAAG,WAAW,IAAI,YAAY,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAAyC,EACzC,iBAAyB;IAEzB,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAChB,MAAM,IAAI,wBAAwB,CAChC,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QACD,OAAO;YACL,GAAG,MAAM;YACT,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,iBAAiB,CAAC;SACnD,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO;YAChC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC;YACvC,CAAC,CAAC,EAAE,CAAC;QACP,OAAO;YACL,GAAG,MAAM;YACT,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,iBAAiB,CAAC,WAAW,EAAE,iBAAiB,CAAC;SAC3D,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,wBAAwB,CAChC,qCAAqC,iBAAiB,EAAE,CACzD,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,wBAAwB,CAChC,gDAAiD,MAAgB,CAAC,IAAI,EAAE,CACzE,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,MAAW,EACX,iBAAyB;IAEzB,IAAI,OAAO,GAAsB,MAAM,CAAC;IACxC,KAAK,MAAM,OAAO,IAAI,qBAAqB,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1E,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QACD,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,KAAa;IAC/C,OAAO,CACL,IAAI,KAAK,KAAK;QACd,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,CAAC;QAC5B,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAC7B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare function supportsResponsesCompactionTransport(modelInstance: unknown): boolean;
|
|
2
|
+
export declare function supportsApplyPatchTransport(modelInstance: unknown): boolean;
|
|
3
|
+
export declare function supportsStructuredToolOutputTransport(modelInstance: unknown): boolean;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.supportsResponsesCompactionTransport = supportsResponsesCompactionTransport;
|
|
4
|
+
exports.supportsApplyPatchTransport = supportsApplyPatchTransport;
|
|
5
|
+
exports.supportsStructuredToolOutputTransport = supportsStructuredToolOutputTransport;
|
|
6
|
+
function supportsResponsesCompactionTransport(modelInstance) {
|
|
7
|
+
if (!modelInstance) {
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
const constructorName = typeof modelInstance === 'object' &&
|
|
11
|
+
modelInstance &&
|
|
12
|
+
'constructor' in modelInstance &&
|
|
13
|
+
typeof modelInstance.constructor === 'function'
|
|
14
|
+
? modelInstance.constructor.name
|
|
15
|
+
: '';
|
|
16
|
+
return !constructorName.includes('ChatCompletions');
|
|
17
|
+
}
|
|
18
|
+
function supportsApplyPatchTransport(modelInstance) {
|
|
19
|
+
return supportsStructuredToolOutputTransport(modelInstance);
|
|
20
|
+
}
|
|
21
|
+
function supportsStructuredToolOutputTransport(modelInstance) {
|
|
22
|
+
if (!modelInstance) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
const constructorName = typeof modelInstance === 'object' &&
|
|
26
|
+
modelInstance &&
|
|
27
|
+
'constructor' in modelInstance &&
|
|
28
|
+
typeof modelInstance.constructor === 'function'
|
|
29
|
+
? modelInstance.constructor.name
|
|
30
|
+
: '';
|
|
31
|
+
return !constructorName.includes('ChatCompletions');
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/sandbox/capabilities/transport.ts"],"names":[],"mappings":";;AAAA,oFAgBC;AAED,kEAEC;AAED,sFAgBC;AAtCD,SAAgB,oCAAoC,CAClD,aAAsB;IAEtB,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,eAAe,GACnB,OAAO,aAAa,KAAK,QAAQ;QACjC,aAAa;QACb,aAAa,IAAI,aAAa;QAC9B,OAAO,aAAa,CAAC,WAAW,KAAK,UAAU;QAC7C,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI;QAChC,CAAC,CAAC,EAAE,CAAC;IAET,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AACtD,CAAC;AAED,SAAgB,2BAA2B,CAAC,aAAsB;IAChE,OAAO,qCAAqC,CAAC,aAAa,CAAC,CAAC;AAC9D,CAAC;AAED,SAAgB,qCAAqC,CACnD,aAAsB;IAEtB,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,eAAe,GACnB,OAAO,aAAa,KAAK,QAAQ;QACjC,aAAa;QACb,aAAa,IAAI,aAAa;QAC9B,OAAO,aAAa,CAAC,WAAW,KAAK,UAAU;QAC7C,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI;QAChC,CAAC,CAAC,EAAE,CAAC;IAET,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export function supportsResponsesCompactionTransport(modelInstance) {
|
|
2
|
+
if (!modelInstance) {
|
|
3
|
+
return true;
|
|
4
|
+
}
|
|
5
|
+
const constructorName = typeof modelInstance === 'object' &&
|
|
6
|
+
modelInstance &&
|
|
7
|
+
'constructor' in modelInstance &&
|
|
8
|
+
typeof modelInstance.constructor === 'function'
|
|
9
|
+
? modelInstance.constructor.name
|
|
10
|
+
: '';
|
|
11
|
+
return !constructorName.includes('ChatCompletions');
|
|
12
|
+
}
|
|
13
|
+
export function supportsApplyPatchTransport(modelInstance) {
|
|
14
|
+
return supportsStructuredToolOutputTransport(modelInstance);
|
|
15
|
+
}
|
|
16
|
+
export function supportsStructuredToolOutputTransport(modelInstance) {
|
|
17
|
+
if (!modelInstance) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
const constructorName = typeof modelInstance === 'object' &&
|
|
21
|
+
modelInstance &&
|
|
22
|
+
'constructor' in modelInstance &&
|
|
23
|
+
typeof modelInstance.constructor === 'function'
|
|
24
|
+
? modelInstance.constructor.name
|
|
25
|
+
: '';
|
|
26
|
+
return !constructorName.includes('ChatCompletions');
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=transport.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.mjs","sourceRoot":"","sources":["../../../src/sandbox/capabilities/transport.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,oCAAoC,CAClD,aAAsB;IAEtB,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,eAAe,GACnB,OAAO,aAAa,KAAK,QAAQ;QACjC,aAAa;QACb,aAAa,IAAI,aAAa;QAC9B,OAAO,aAAa,CAAC,WAAW,KAAK,UAAU;QAC7C,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI;QAChC,CAAC,CAAC,EAAE,CAAC;IAET,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,aAAsB;IAChE,OAAO,qCAAqC,CAAC,aAAa,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,aAAsB;IAEtB,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,eAAe,GACnB,OAAO,aAAa,KAAK,QAAQ;QACjC,aAAa;QACb,aAAa,IAAI,aAAa;QAC9B,OAAO,aAAa,CAAC,WAAW,KAAK,UAAU;QAC7C,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI;QAChC,CAAC,CAAC,EAAE,CAAC;IAET,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Manifest } from './manifest';
|
|
2
|
+
import type { SandboxSessionLike, SandboxSessionState } from './session';
|
|
3
|
+
import type { SnapshotSpec } from './snapshot';
|
|
4
|
+
export type SandboxConcurrencyLimits = {
|
|
5
|
+
manifestEntries?: number;
|
|
6
|
+
localDirFiles?: number;
|
|
7
|
+
};
|
|
8
|
+
export type SandboxClientOptions = Record<string, unknown>;
|
|
9
|
+
export type SandboxClientCreateArgs<TOptions extends SandboxClientOptions = SandboxClientOptions> = {
|
|
10
|
+
snapshot?: SnapshotSpec;
|
|
11
|
+
manifest?: Manifest;
|
|
12
|
+
options?: TOptions;
|
|
13
|
+
concurrencyLimits?: SandboxConcurrencyLimits;
|
|
14
|
+
};
|
|
15
|
+
export type NormalizedSandboxClientCreateArgs<TOptions extends SandboxClientOptions = SandboxClientOptions> = {
|
|
16
|
+
snapshot?: SnapshotSpec;
|
|
17
|
+
manifest: Manifest;
|
|
18
|
+
options?: TOptions;
|
|
19
|
+
concurrencyLimits?: SandboxConcurrencyLimits;
|
|
20
|
+
};
|
|
21
|
+
export type SandboxClientCreate<TOptions extends SandboxClientOptions = SandboxClientOptions, TSessionState extends SandboxSessionState = SandboxSessionState> = {
|
|
22
|
+
(args?: SandboxClientCreateArgs<TOptions>): Promise<SandboxSessionLike<TSessionState>>;
|
|
23
|
+
(manifest: Manifest, options?: TOptions): Promise<SandboxSessionLike<TSessionState>>;
|
|
24
|
+
};
|
|
25
|
+
export type SandboxSessionSerializationOptions = {
|
|
26
|
+
preserveOwnedSession?: boolean;
|
|
27
|
+
reuseLiveSession?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* The runtime will close the owned session after serialization.
|
|
30
|
+
*/
|
|
31
|
+
willCloseAfterSerialize?: boolean;
|
|
32
|
+
};
|
|
33
|
+
export interface SandboxClient<TOptions extends SandboxClientOptions = SandboxClientOptions, TSessionState extends SandboxSessionState = SandboxSessionState> {
|
|
34
|
+
backendId: string;
|
|
35
|
+
supportsDefaultOptions?: boolean;
|
|
36
|
+
create?: SandboxClientCreate<TOptions, TSessionState>;
|
|
37
|
+
delete?(state: TSessionState): Promise<void>;
|
|
38
|
+
serializeSessionState?(state: TSessionState, options?: SandboxSessionSerializationOptions): Promise<Record<string, unknown>>;
|
|
39
|
+
canPersistOwnedSessionState?(state: TSessionState): Promise<boolean> | boolean;
|
|
40
|
+
canReusePreservedOwnedSession?(state: TSessionState): Promise<boolean> | boolean;
|
|
41
|
+
deserializeSessionState?(state: Record<string, unknown>): Promise<TSessionState>;
|
|
42
|
+
resume?(state: TSessionState): Promise<SandboxSessionLike<TSessionState>>;
|
|
43
|
+
}
|
|
44
|
+
export type SandboxRunConfig<TOptions extends SandboxClientOptions = SandboxClientOptions, TSessionState extends SandboxSessionState = SandboxSessionState> = {
|
|
45
|
+
client?: SandboxClient<TOptions, TSessionState>;
|
|
46
|
+
options?: TOptions;
|
|
47
|
+
session?: SandboxSessionLike<TSessionState>;
|
|
48
|
+
sessionState?: TSessionState;
|
|
49
|
+
manifest?: Manifest;
|
|
50
|
+
snapshot?: SnapshotSpec;
|
|
51
|
+
concurrencyLimits?: SandboxConcurrencyLimits;
|
|
52
|
+
};
|
|
53
|
+
export declare function normalizeSandboxClientCreateArgs<TOptions extends SandboxClientOptions = SandboxClientOptions>(args?: SandboxClientCreateArgs<TOptions> | Manifest, manifestOptions?: TOptions): NormalizedSandboxClientCreateArgs<TOptions>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalizeSandboxClientCreateArgs = normalizeSandboxClientCreateArgs;
|
|
4
|
+
const manifest_1 = require("./manifest.js");
|
|
5
|
+
const typeGuards_1 = require("./shared/typeGuards.js");
|
|
6
|
+
function normalizeSandboxClientCreateArgs(args, manifestOptions) {
|
|
7
|
+
if (args instanceof manifest_1.Manifest) {
|
|
8
|
+
return {
|
|
9
|
+
manifest: args,
|
|
10
|
+
options: manifestOptions,
|
|
11
|
+
snapshot: readSnapshotOption(manifestOptions),
|
|
12
|
+
concurrencyLimits: readConcurrencyLimitsOption(manifestOptions),
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
return {
|
|
16
|
+
manifest: args?.manifest ?? new manifest_1.Manifest(),
|
|
17
|
+
options: args?.options,
|
|
18
|
+
snapshot: args?.snapshot,
|
|
19
|
+
concurrencyLimits: args?.concurrencyLimits,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function readSnapshotOption(options) {
|
|
23
|
+
if (!(0, typeGuards_1.isRecord)(options)) {
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
return options.snapshot;
|
|
27
|
+
}
|
|
28
|
+
function readConcurrencyLimitsOption(options) {
|
|
29
|
+
if (!(0, typeGuards_1.isRecord)(options)) {
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
return options.concurrencyLimits;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/sandbox/client.ts"],"names":[],"mappings":";;AAyFA,4EAqBC;AA9GD,4CAAsC;AAEtC,uDAA+C;AAuF/C,SAAgB,gCAAgC,CAG9C,IAAmD,EACnD,eAA0B;IAE1B,IAAI,IAAI,YAAY,mBAAQ,EAAE,CAAC;QAC7B,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,eAAe;YACxB,QAAQ,EAAE,kBAAkB,CAAC,eAAe,CAAC;YAC7C,iBAAiB,EAAE,2BAA2B,CAAC,eAAe,CAAC;SAChE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,IAAI,mBAAQ,EAAE;QAC1C,OAAO,EAAE,IAAI,EAAE,OAAO;QACtB,QAAQ,EAAE,IAAI,EAAE,QAAQ;QACxB,iBAAiB,EAAE,IAAI,EAAE,iBAAiB;KAC3C,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAgB;IAC1C,IAAI,CAAC,IAAA,qBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,OAAO,CAAC,QAAoC,CAAC;AACtD,CAAC;AAED,SAAS,2BAA2B,CAClC,OAAgB;IAEhB,IAAI,CAAC,IAAA,qBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,OAAO,CAAC,iBAAyD,CAAC;AAC3E,CAAC"}
|