@playcraft/common 0.1.29 → 0.1.31
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 -1
- package/dist/agent/session-title.d.ts +1 -1
- package/dist/agent/session-title.js +1 -1
- package/dist/agent-messages/db-message-converter.d.ts +10 -0
- package/dist/agent-messages/db-message-converter.d.ts.map +1 -1
- package/dist/agent-messages/db-message-converter.js +13 -0
- package/dist/agent-messages/db-message-converter.js.map +1 -1
- package/dist/agent-tools/index.d.ts +5 -0
- package/dist/agent-tools/index.d.ts.map +1 -1
- package/dist/agent-tools/index.js +5 -0
- package/dist/agent-tools/index.js.map +1 -1
- package/dist/agent-tools/operation-protocol.d.ts +10 -0
- package/dist/agent-tools/operation-protocol.d.ts.map +1 -0
- package/dist/agent-tools/operation-protocol.js +13 -0
- package/dist/agent-tools/operation-protocol.js.map +1 -0
- package/dist/agent-tools/replica-recording.d.ts +283 -0
- package/dist/agent-tools/replica-recording.d.ts.map +1 -0
- package/dist/agent-tools/replica-recording.js +109 -0
- package/dist/agent-tools/replica-recording.js.map +1 -0
- package/dist/agent-tools/replica-validation.d.ts +972 -0
- package/dist/agent-tools/replica-validation.d.ts.map +1 -0
- package/dist/agent-tools/replica-validation.js +254 -0
- package/dist/agent-tools/replica-validation.js.map +1 -0
- package/dist/agent-tools/types.d.ts +9 -16
- package/dist/agent-tools/types.d.ts.map +1 -1
- package/dist/agent-tools/types.js.map +1 -1
- package/dist/agent-tools/video-model-proxy.d.ts +113 -0
- package/dist/agent-tools/video-model-proxy.d.ts.map +1 -0
- package/dist/agent-tools/video-model-proxy.js +49 -0
- package/dist/agent-tools/video-model-proxy.js.map +1 -0
- package/dist/agent-tools/video-replication.d.ts +421 -0
- package/dist/agent-tools/video-replication.d.ts.map +1 -0
- package/dist/agent-tools/video-replication.js +95 -0
- package/dist/agent-tools/video-replication.js.map +1 -0
- package/dist/cloud-workspace/runtime/agent-background-processes.d.ts +68 -0
- package/dist/cloud-workspace/runtime/agent-background-processes.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-background-processes.js +60 -0
- package/dist/cloud-workspace/runtime/agent-background-processes.js.map +1 -0
- package/dist/cloud-workspace/runtime/agent-chat-flush.d.ts +55 -0
- package/dist/cloud-workspace/runtime/agent-chat-flush.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-chat-flush.js +51 -0
- package/dist/cloud-workspace/runtime/agent-chat-flush.js.map +1 -0
- package/dist/cloud-workspace/runtime/agent-command.d.ts +152 -0
- package/dist/cloud-workspace/runtime/agent-command.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-command.js +90 -0
- package/dist/cloud-workspace/runtime/agent-command.js.map +1 -0
- package/dist/cloud-workspace/runtime/agent-competitor-report.d.ts +143 -0
- package/dist/cloud-workspace/runtime/agent-competitor-report.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-competitor-report.js +115 -0
- package/dist/cloud-workspace/runtime/agent-competitor-report.js.map +1 -0
- package/dist/cloud-workspace/runtime/agent-connection.d.ts +76 -0
- package/dist/cloud-workspace/runtime/agent-connection.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-connection.js +59 -0
- package/dist/cloud-workspace/runtime/agent-connection.js.map +1 -0
- package/dist/cloud-workspace/runtime/agent-issue-artifacts.d.ts +90 -0
- package/dist/cloud-workspace/runtime/agent-issue-artifacts.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-issue-artifacts.js +60 -0
- package/dist/cloud-workspace/runtime/agent-issue-artifacts.js.map +1 -0
- package/dist/cloud-workspace/runtime/agent-lifecycle.d.ts +87 -0
- package/dist/cloud-workspace/runtime/agent-lifecycle.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-lifecycle.js +75 -0
- package/dist/cloud-workspace/runtime/agent-lifecycle.js.map +1 -0
- package/dist/cloud-workspace/runtime/agent-mutation.d.ts +197 -0
- package/dist/cloud-workspace/runtime/agent-mutation.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-mutation.js +114 -0
- package/dist/cloud-workspace/runtime/agent-mutation.js.map +1 -0
- package/dist/cloud-workspace/runtime/agent-opencode-gateway.d.ts +210 -0
- package/dist/cloud-workspace/runtime/agent-opencode-gateway.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-opencode-gateway.js +180 -0
- package/dist/cloud-workspace/runtime/agent-opencode-gateway.js.map +1 -0
- package/dist/cloud-workspace/runtime/agent-opencode.d.ts +406 -0
- package/dist/cloud-workspace/runtime/agent-opencode.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-opencode.js +237 -0
- package/dist/cloud-workspace/runtime/agent-opencode.js.map +1 -0
- package/dist/cloud-workspace/runtime/agent-promotion.d.ts +21 -0
- package/dist/cloud-workspace/runtime/agent-promotion.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-promotion.js +23 -0
- package/dist/cloud-workspace/runtime/agent-promotion.js.map +1 -0
- package/dist/cloud-workspace/runtime/agent-read.d.ts +343 -0
- package/dist/cloud-workspace/runtime/agent-read.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-read.js +159 -0
- package/dist/cloud-workspace/runtime/agent-read.js.map +1 -0
- package/dist/cloud-workspace/runtime/agent-source-project.d.ts +126 -0
- package/dist/cloud-workspace/runtime/agent-source-project.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-source-project.js +95 -0
- package/dist/cloud-workspace/runtime/agent-source-project.js.map +1 -0
- package/dist/cloud-workspace/runtime/agent-tool-claim.d.ts +18 -0
- package/dist/cloud-workspace/runtime/agent-tool-claim.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-tool-claim.js +16 -0
- package/dist/cloud-workspace/runtime/agent-tool-claim.js.map +1 -0
- package/dist/cloud-workspace/runtime/agent-variant-chat.d.ts +9 -0
- package/dist/cloud-workspace/runtime/agent-variant-chat.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-variant-chat.js +23 -0
- package/dist/cloud-workspace/runtime/agent-variant-chat.js.map +1 -0
- package/dist/cloud-workspace/runtime/agent-variant-git.d.ts +75 -0
- package/dist/cloud-workspace/runtime/agent-variant-git.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-variant-git.js +62 -0
- package/dist/cloud-workspace/runtime/agent-variant-git.js.map +1 -0
- package/dist/cloud-workspace/runtime/artifacts.d.ts +233 -0
- package/dist/cloud-workspace/runtime/artifacts.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/artifacts.js +94 -0
- package/dist/cloud-workspace/runtime/artifacts.js.map +1 -0
- package/dist/cloud-workspace/runtime/attachments.d.ts +28 -0
- package/dist/cloud-workspace/runtime/attachments.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/attachments.js +34 -0
- package/dist/cloud-workspace/runtime/attachments.js.map +1 -0
- package/dist/cloud-workspace/runtime/batch-generation.d.ts +230 -0
- package/dist/cloud-workspace/runtime/batch-generation.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/batch-generation.js +245 -0
- package/dist/cloud-workspace/runtime/batch-generation.js.map +1 -0
- package/dist/cloud-workspace/runtime/batch-production.d.ts +487 -0
- package/dist/cloud-workspace/runtime/batch-production.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/batch-production.js +73 -0
- package/dist/cloud-workspace/runtime/batch-production.js.map +1 -0
- package/dist/cloud-workspace/runtime/capabilities.d.ts +40 -0
- package/dist/cloud-workspace/runtime/capabilities.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/capabilities.js +53 -0
- package/dist/cloud-workspace/runtime/capabilities.js.map +1 -0
- package/dist/cloud-workspace/runtime/chat-realtime-admission.d.ts +53 -0
- package/dist/cloud-workspace/runtime/chat-realtime-admission.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/chat-realtime-admission.js +95 -0
- package/dist/cloud-workspace/runtime/chat-realtime-admission.js.map +1 -0
- package/dist/cloud-workspace/runtime/chat-realtime.d.ts +197 -0
- package/dist/cloud-workspace/runtime/chat-realtime.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/chat-realtime.js +299 -0
- package/dist/cloud-workspace/runtime/chat-realtime.js.map +1 -0
- package/dist/cloud-workspace/runtime/checkpoints.d.ts +35 -0
- package/dist/cloud-workspace/runtime/checkpoints.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/checkpoints.js +35 -0
- package/dist/cloud-workspace/runtime/checkpoints.js.map +1 -0
- package/dist/cloud-workspace/runtime/composer-context.d.ts +70 -0
- package/dist/cloud-workspace/runtime/composer-context.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/composer-context.js +46 -0
- package/dist/cloud-workspace/runtime/composer-context.js.map +1 -0
- package/dist/cloud-workspace/runtime/config.d.ts +47 -0
- package/dist/cloud-workspace/runtime/config.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/config.js +125 -0
- package/dist/cloud-workspace/runtime/config.js.map +1 -0
- package/dist/cloud-workspace/runtime/connectivity.d.ts +205 -0
- package/dist/cloud-workspace/runtime/connectivity.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/connectivity.js +46 -0
- package/dist/cloud-workspace/runtime/connectivity.js.map +1 -0
- package/dist/cloud-workspace/runtime/errors.d.ts +26 -0
- package/dist/cloud-workspace/runtime/errors.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/errors.js +40 -0
- package/dist/cloud-workspace/runtime/errors.js.map +1 -0
- package/dist/cloud-workspace/runtime/events.d.ts +107 -0
- package/dist/cloud-workspace/runtime/events.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/events.js +70 -0
- package/dist/cloud-workspace/runtime/events.js.map +1 -0
- package/dist/cloud-workspace/runtime/execution-grant.d.ts +36 -0
- package/dist/cloud-workspace/runtime/execution-grant.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/execution-grant.js +102 -0
- package/dist/cloud-workspace/runtime/execution-grant.js.map +1 -0
- package/dist/cloud-workspace/runtime/files-search.d.ts +17 -0
- package/dist/cloud-workspace/runtime/files-search.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/files-search.js +14 -0
- package/dist/cloud-workspace/runtime/files-search.js.map +1 -0
- package/dist/cloud-workspace/runtime/files.d.ts +74 -0
- package/dist/cloud-workspace/runtime/files.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/files.js +93 -0
- package/dist/cloud-workspace/runtime/files.js.map +1 -0
- package/dist/cloud-workspace/runtime/generations.d.ts +18 -0
- package/dist/cloud-workspace/runtime/generations.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/generations.js +39 -0
- package/dist/cloud-workspace/runtime/generations.js.map +1 -0
- package/dist/cloud-workspace/runtime/git-auth-mode.d.ts +35 -0
- package/dist/cloud-workspace/runtime/git-auth-mode.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/git-auth-mode.js +73 -0
- package/dist/cloud-workspace/runtime/git-auth-mode.js.map +1 -0
- package/dist/cloud-workspace/runtime/git.d.ts +103 -0
- package/dist/cloud-workspace/runtime/git.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/git.js +91 -0
- package/dist/cloud-workspace/runtime/git.js.map +1 -0
- package/dist/cloud-workspace/runtime/handshake.d.ts +47 -0
- package/dist/cloud-workspace/runtime/handshake.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/handshake.js +31 -0
- package/dist/cloud-workspace/runtime/handshake.js.map +1 -0
- package/dist/cloud-workspace/runtime/index.d.ts +53 -0
- package/dist/cloud-workspace/runtime/index.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/index.js +53 -0
- package/dist/cloud-workspace/runtime/index.js.map +1 -0
- package/dist/cloud-workspace/runtime/mcp.d.ts +82 -0
- package/dist/cloud-workspace/runtime/mcp.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/mcp.js +48 -0
- package/dist/cloud-workspace/runtime/mcp.js.map +1 -0
- package/dist/cloud-workspace/runtime/native-history.d.ts +66 -0
- package/dist/cloud-workspace/runtime/native-history.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/native-history.js +132 -0
- package/dist/cloud-workspace/runtime/native-history.js.map +1 -0
- package/dist/cloud-workspace/runtime/operations.d.ts +254 -0
- package/dist/cloud-workspace/runtime/operations.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/operations.js +213 -0
- package/dist/cloud-workspace/runtime/operations.js.map +1 -0
- package/dist/cloud-workspace/runtime/parameters.d.ts +38 -0
- package/dist/cloud-workspace/runtime/parameters.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/parameters.js +75 -0
- package/dist/cloud-workspace/runtime/parameters.js.map +1 -0
- package/dist/cloud-workspace/runtime/permissions.d.ts +24 -0
- package/dist/cloud-workspace/runtime/permissions.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/permissions.js +19 -0
- package/dist/cloud-workspace/runtime/permissions.js.map +1 -0
- package/dist/cloud-workspace/runtime/platform-endpoints.d.ts +25 -0
- package/dist/cloud-workspace/runtime/platform-endpoints.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/platform-endpoints.js +37 -0
- package/dist/cloud-workspace/runtime/platform-endpoints.js.map +1 -0
- package/dist/cloud-workspace/runtime/previews.d.ts +59 -0
- package/dist/cloud-workspace/runtime/previews.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/previews.js +63 -0
- package/dist/cloud-workspace/runtime/previews.js.map +1 -0
- package/dist/cloud-workspace/runtime/project-native-skills.d.ts +40 -0
- package/dist/cloud-workspace/runtime/project-native-skills.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/project-native-skills.js +45 -0
- package/dist/cloud-workspace/runtime/project-native-skills.js.map +1 -0
- package/dist/cloud-workspace/runtime/protocol.d.ts +23 -0
- package/dist/cloud-workspace/runtime/protocol.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/protocol.js +30 -0
- package/dist/cloud-workspace/runtime/protocol.js.map +1 -0
- package/dist/cloud-workspace/runtime/resource-grant.d.ts +62 -0
- package/dist/cloud-workspace/runtime/resource-grant.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/resource-grant.js +87 -0
- package/dist/cloud-workspace/runtime/resource-grant.js.map +1 -0
- package/dist/cloud-workspace/runtime/skills.d.ts +39 -0
- package/dist/cloud-workspace/runtime/skills.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/skills.js +33 -0
- package/dist/cloud-workspace/runtime/skills.js.map +1 -0
- package/dist/cloud-workspace/runtime/terminal-session.d.ts +78 -0
- package/dist/cloud-workspace/runtime/terminal-session.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/terminal-session.js +178 -0
- package/dist/cloud-workspace/runtime/terminal-session.js.map +1 -0
- package/dist/cloud-workspace/runtime/terminals.d.ts +90 -0
- package/dist/cloud-workspace/runtime/terminals.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/terminals.js +111 -0
- package/dist/cloud-workspace/runtime/terminals.js.map +1 -0
- package/dist/cloud-workspace/runtime/turn-control.d.ts +27 -0
- package/dist/cloud-workspace/runtime/turn-control.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/turn-control.js +18 -0
- package/dist/cloud-workspace/runtime/turn-control.js.map +1 -0
- package/dist/cloud-workspace/runtime/variant-workspace.d.ts +221 -0
- package/dist/cloud-workspace/runtime/variant-workspace.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/variant-workspace.js +75 -0
- package/dist/cloud-workspace/runtime/variant-workspace.js.map +1 -0
- package/dist/cloud-workspace/runtime/workspace-binding.d.ts +208 -0
- package/dist/cloud-workspace/runtime/workspace-binding.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/workspace-binding.js +176 -0
- package/dist/cloud-workspace/runtime/workspace-binding.js.map +1 -0
- package/dist/cloud-workspace/runtime/workspace-directories.d.ts +44 -0
- package/dist/cloud-workspace/runtime/workspace-directories.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/workspace-directories.js +34 -0
- package/dist/cloud-workspace/runtime/workspace-directories.js.map +1 -0
- package/dist/database/operators.d.ts +2 -0
- package/dist/database/operators.d.ts.map +1 -0
- package/dist/database/operators.js +2 -0
- package/dist/database/operators.js.map +1 -0
- package/dist/database/postgres-adapter.js +1 -1
- package/dist/database/postgres-adapter.js.map +1 -1
- package/dist/database/schema.d.ts +1 -1
- package/dist/database/schema.js +1 -1
- package/dist/model-proxy/index.d.ts +26 -0
- package/dist/model-proxy/index.d.ts.map +1 -0
- package/dist/model-proxy/index.js +81 -0
- package/dist/model-proxy/index.js.map +1 -0
- package/dist/prefab/index.d.ts +0 -2
- package/dist/prefab/index.d.ts.map +1 -1
- package/dist/prefab/index.js +0 -2
- package/dist/prefab/index.js.map +1 -1
- package/dist/project-skills/bundle-archive.d.ts +21 -0
- package/dist/project-skills/bundle-archive.d.ts.map +1 -0
- package/dist/project-skills/bundle-archive.js +165 -0
- package/dist/project-skills/bundle-archive.js.map +1 -0
- package/dist/project-skills/bundle-path.d.ts +3 -0
- package/dist/project-skills/bundle-path.d.ts.map +1 -0
- package/dist/project-skills/bundle-path.js +17 -0
- package/dist/project-skills/bundle-path.js.map +1 -0
- package/dist/project-skills/evidence.d.ts +15 -0
- package/dist/project-skills/evidence.d.ts.map +1 -0
- package/dist/project-skills/evidence.js +33 -0
- package/dist/project-skills/evidence.js.map +1 -0
- package/dist/project-skills/index.d.ts +7 -0
- package/dist/project-skills/index.d.ts.map +1 -0
- package/dist/project-skills/index.js +7 -0
- package/dist/project-skills/index.js.map +1 -0
- package/dist/project-skills/inventory.d.ts +23 -0
- package/dist/project-skills/inventory.d.ts.map +1 -0
- package/dist/project-skills/inventory.js +150 -0
- package/dist/project-skills/inventory.js.map +1 -0
- package/dist/project-skills/local-snapshot.d.ts +12 -0
- package/dist/project-skills/local-snapshot.d.ts.map +1 -0
- package/dist/project-skills/local-snapshot.js +66 -0
- package/dist/project-skills/local-snapshot.js.map +1 -0
- package/dist/project-skills/protocol.d.ts +31 -0
- package/dist/project-skills/protocol.d.ts.map +1 -0
- package/dist/project-skills/protocol.js +197 -0
- package/dist/project-skills/protocol.js.map +1 -0
- package/dist/project-skills/runtime-plugin.d.ts +66 -0
- package/dist/project-skills/runtime-plugin.d.ts.map +1 -0
- package/dist/project-skills/runtime-plugin.js +102 -0
- package/dist/project-skills/runtime-plugin.js.map +1 -0
- package/dist/project-skills/types.d.ts +63 -0
- package/dist/project-skills/types.d.ts.map +1 -0
- package/dist/project-skills/types.js +13 -0
- package/dist/project-skills/types.js.map +1 -0
- package/dist/recommend/types.d.ts +1 -1
- package/dist/recommend/types.js +1 -1
- package/dist/remix/auto-name.d.ts +24 -0
- package/dist/remix/auto-name.d.ts.map +1 -0
- package/dist/remix/auto-name.js +40 -0
- package/dist/remix/auto-name.js.map +1 -0
- package/dist/remix/index.d.ts +2 -0
- package/dist/remix/index.d.ts.map +1 -0
- package/dist/remix/index.js +2 -0
- package/dist/remix/index.js.map +1 -0
- package/dist/skill-evaluation.d.ts +152 -0
- package/dist/skill-evaluation.d.ts.map +1 -0
- package/dist/skill-evaluation.js +14 -0
- package/dist/skill-evaluation.js.map +1 -0
- package/dist/storage/cos.d.ts +11 -0
- package/dist/storage/cos.d.ts.map +1 -1
- package/dist/storage/cos.js +29 -0
- package/dist/storage/cos.js.map +1 -1
- package/package.json +29 -1
- package/dist/prefab/image-background.d.ts +0 -10
- package/dist/prefab/image-background.d.ts.map +0 -1
- package/dist/prefab/image-background.js +0 -19
- package/dist/prefab/image-background.js.map +0 -1
- package/dist/prefab/image-generation-constraints.d.ts +0 -72
- package/dist/prefab/image-generation-constraints.d.ts.map +0 -1
- package/dist/prefab/image-generation-constraints.js +0 -112
- package/dist/prefab/image-generation-constraints.js.map +0 -1
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { workspacePermissionModeSchema } from './permissions.js';
|
|
4
|
+
import { checkpointKindSchema } from './checkpoints.js';
|
|
5
|
+
import { workspaceSessionScopeSchema } from './workspace-directories.js';
|
|
6
|
+
import { workspaceWorkModeSchema, workspaceComposerContextSchema } from './composer-context.js';
|
|
7
|
+
import { workspaceReviewTargetSchema } from './turn-control.js';
|
|
8
|
+
export const reasoningEffortSchema = z.enum(['low', 'medium', 'high', 'max']);
|
|
9
|
+
export const OPERATION_KINDS = [
|
|
10
|
+
'runtime.ensure',
|
|
11
|
+
'runtime.destroy',
|
|
12
|
+
'session.create',
|
|
13
|
+
'session.turn',
|
|
14
|
+
'session.review',
|
|
15
|
+
'session.compact',
|
|
16
|
+
'session.steer',
|
|
17
|
+
'session.interrupt',
|
|
18
|
+
'session.approval.respond',
|
|
19
|
+
'file.write',
|
|
20
|
+
'git.commit',
|
|
21
|
+
'git.push',
|
|
22
|
+
'git.stage',
|
|
23
|
+
'git.unstage',
|
|
24
|
+
'git.discard',
|
|
25
|
+
'workspace.save',
|
|
26
|
+
'terminal.create',
|
|
27
|
+
'parameter.patch',
|
|
28
|
+
'skills.update',
|
|
29
|
+
'preview.publish',
|
|
30
|
+
'checkpoint.create',
|
|
31
|
+
'checkpoint.restore',
|
|
32
|
+
];
|
|
33
|
+
export const operationKindSchema = z.enum(OPERATION_KINDS);
|
|
34
|
+
/** Kinds that steer a running turn; they touch neither workspace content nor the runtime itself. */
|
|
35
|
+
export const TURN_CONTROL_OPERATION_KINDS = [
|
|
36
|
+
'session.interrupt',
|
|
37
|
+
'session.approval.respond',
|
|
38
|
+
'session.steer',
|
|
39
|
+
];
|
|
40
|
+
/** Kinds that steer the runtime or a running turn without changing workspace content. */
|
|
41
|
+
export const CONTROL_OPERATION_KINDS = [
|
|
42
|
+
'runtime.ensure',
|
|
43
|
+
'runtime.destroy',
|
|
44
|
+
'session.compact',
|
|
45
|
+
...TURN_CONTROL_OPERATION_KINDS,
|
|
46
|
+
];
|
|
47
|
+
export function isTurnControl(kind) {
|
|
48
|
+
return TURN_CONTROL_OPERATION_KINDS.includes(kind);
|
|
49
|
+
}
|
|
50
|
+
export function isWorkspaceMutation(kind) {
|
|
51
|
+
return !CONTROL_OPERATION_KINDS.includes(kind);
|
|
52
|
+
}
|
|
53
|
+
export const OPERATION_STATUSES = [
|
|
54
|
+
'queued',
|
|
55
|
+
'dispatched',
|
|
56
|
+
'accepted',
|
|
57
|
+
'completed',
|
|
58
|
+
'failed',
|
|
59
|
+
'interrupted',
|
|
60
|
+
'uncertain',
|
|
61
|
+
];
|
|
62
|
+
export const operationStatusSchema = z.enum(OPERATION_STATUSES);
|
|
63
|
+
export const TERMINAL_OPERATION_STATUSES = ['completed', 'failed', 'interrupted'];
|
|
64
|
+
const OPERATION_TRANSITIONS = {
|
|
65
|
+
queued: ['dispatched', 'failed', 'interrupted', 'uncertain'],
|
|
66
|
+
dispatched: ['accepted', 'failed', 'interrupted', 'uncertain'],
|
|
67
|
+
accepted: ['completed', 'failed', 'interrupted', 'uncertain'],
|
|
68
|
+
completed: [],
|
|
69
|
+
failed: [],
|
|
70
|
+
interrupted: [],
|
|
71
|
+
// accepted is only for unique native evidence via recoverUncertainOperation.
|
|
72
|
+
// A probe that merely finds an activity must not complete the operation.
|
|
73
|
+
uncertain: ['accepted', 'completed', 'failed', 'interrupted', 'uncertain'],
|
|
74
|
+
};
|
|
75
|
+
export function canTransitionOperation(from, to) {
|
|
76
|
+
return OPERATION_TRANSITIONS[from].includes(to);
|
|
77
|
+
}
|
|
78
|
+
export function assertOperationTransition(from, to) {
|
|
79
|
+
if (!canTransitionOperation(from, to)) {
|
|
80
|
+
throw new Error(`illegal_operation_transition:${from}:${to}`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
export const operationAcceptRequestSchema = z
|
|
84
|
+
.object({
|
|
85
|
+
clientRequestId: z.string().trim().min(1).max(128),
|
|
86
|
+
kind: operationKindSchema,
|
|
87
|
+
workspaceId: z.string().trim().min(1).max(128).optional(),
|
|
88
|
+
directoryName: workspaceSessionScopeSchema.optional(),
|
|
89
|
+
sessionId: z.string().trim().min(1).max(128).optional(),
|
|
90
|
+
expectedRevision: z.number().int().nonnegative().optional(),
|
|
91
|
+
payload: z.unknown(),
|
|
92
|
+
/**
|
|
93
|
+
* Sent with a turn on a session whose native thread was lost, letting the sandbox resume or
|
|
94
|
+
* replace that thread. Kept outside the payload: the session's history keeps growing, and a
|
|
95
|
+
* retry must still hash as the same request.
|
|
96
|
+
*/
|
|
97
|
+
sessionRecovery: z
|
|
98
|
+
.object({
|
|
99
|
+
context: z.string().max(64_000),
|
|
100
|
+
modelConfigId: z.string().uuid().optional(),
|
|
101
|
+
reasoningEffort: reasoningEffortSchema.optional(),
|
|
102
|
+
permissionMode: workspacePermissionModeSchema.optional(),
|
|
103
|
+
})
|
|
104
|
+
.strict()
|
|
105
|
+
.optional(),
|
|
106
|
+
})
|
|
107
|
+
.strict();
|
|
108
|
+
/**
|
|
109
|
+
* Why a turn failed because its session has no usable Codex thread. Each is decided before the
|
|
110
|
+
* message reaches Codex, so the same turn may be sent again with a `sessionRecovery`.
|
|
111
|
+
*/
|
|
112
|
+
export const LOST_THREAD_ERRORS = ['native_not_recoverable', 'unknown_session', 'unknown_thread'];
|
|
113
|
+
export function isLostThreadError(error) {
|
|
114
|
+
return LOST_THREAD_ERRORS.includes(error);
|
|
115
|
+
}
|
|
116
|
+
export const operationRecordSchema = z
|
|
117
|
+
.object({
|
|
118
|
+
operationId: z.string().min(1).max(128),
|
|
119
|
+
environment: z.string().min(1).max(64),
|
|
120
|
+
userId: z.string().min(1).max(128),
|
|
121
|
+
clientRequestId: z.string().min(1).max(128),
|
|
122
|
+
kind: operationKindSchema,
|
|
123
|
+
status: operationStatusSchema,
|
|
124
|
+
payloadHash: z.string().length(64),
|
|
125
|
+
workspaceId: z.string().min(1).max(128).optional(),
|
|
126
|
+
directoryName: workspaceSessionScopeSchema.optional(),
|
|
127
|
+
sessionId: z.string().min(1).max(128).optional(),
|
|
128
|
+
expectedRevision: z.number().int().nonnegative().optional(),
|
|
129
|
+
generation: z.number().int().nonnegative().optional(),
|
|
130
|
+
runtimeEpoch: z.number().int().nonnegative().optional(),
|
|
131
|
+
leaseFence: z.number().int().nonnegative().optional(),
|
|
132
|
+
nativeRequestId: z.string().min(1).max(128).optional(),
|
|
133
|
+
nativeThreadId: z.string().min(1).max(128).optional(),
|
|
134
|
+
nativeTurnId: z.string().min(1).max(128).optional(),
|
|
135
|
+
modelConfigId: z.string().uuid().optional(),
|
|
136
|
+
reasoningEffort: reasoningEffortSchema.optional(),
|
|
137
|
+
permissionMode: workspacePermissionModeSchema.optional(),
|
|
138
|
+
workMode: workspaceWorkModeSchema.optional(),
|
|
139
|
+
context: workspaceComposerContextSchema.optional(),
|
|
140
|
+
userText: z.string().optional(),
|
|
141
|
+
reviewTarget: workspaceReviewTargetSchema.optional(),
|
|
142
|
+
expectedTurnId: z.string().min(1).max(128).optional(),
|
|
143
|
+
nativeApprovalId: z.string().min(1).max(128).optional(),
|
|
144
|
+
sandboxOperationId: z.string().min(1).max(128).optional(),
|
|
145
|
+
checkpointId: z.string().min(1).max(128).optional(),
|
|
146
|
+
checkpointKind: checkpointKindSchema.optional(),
|
|
147
|
+
checkpointConsistent: z.boolean().optional(),
|
|
148
|
+
snapshotManifestKey: z.string().min(1).max(512).optional(),
|
|
149
|
+
snapshotChecksum: z.string().length(64).optional(),
|
|
150
|
+
snapshotStatus: z.enum(['complete', 'incomplete']).optional(),
|
|
151
|
+
terminalId: z.string().min(1).max(128).optional(),
|
|
152
|
+
cwd: z.string().max(512).optional(),
|
|
153
|
+
error: z.string().min(1).max(256).optional(),
|
|
154
|
+
createdAt: z.string().min(1),
|
|
155
|
+
updatedAt: z.string().min(1),
|
|
156
|
+
})
|
|
157
|
+
.strict();
|
|
158
|
+
export function operationScopeKey(input) {
|
|
159
|
+
return [
|
|
160
|
+
input.environment,
|
|
161
|
+
input.userId,
|
|
162
|
+
input.workspaceId ?? '-',
|
|
163
|
+
input.directoryName ?? 'basic',
|
|
164
|
+
input.sessionId ?? '-',
|
|
165
|
+
input.kind,
|
|
166
|
+
input.clientRequestId,
|
|
167
|
+
].join(':');
|
|
168
|
+
}
|
|
169
|
+
export function hashOperationPayload(payload) {
|
|
170
|
+
return createHash('sha256').update(stableStringify(payload)).digest('hex');
|
|
171
|
+
}
|
|
172
|
+
export function resolveIdempotentAccept(existing, payloadHash) {
|
|
173
|
+
if (!existing)
|
|
174
|
+
return { action: 'create' };
|
|
175
|
+
if (existing.payloadHash === payloadHash)
|
|
176
|
+
return { action: 'reuse', operation: existing };
|
|
177
|
+
return { action: 'conflict', operation: existing };
|
|
178
|
+
}
|
|
179
|
+
export function transitionOperation(operation, to, patch = {}) {
|
|
180
|
+
assertOperationTransition(operation.status, to);
|
|
181
|
+
return operationRecordSchema.parse({
|
|
182
|
+
...operation,
|
|
183
|
+
...patch,
|
|
184
|
+
status: to,
|
|
185
|
+
updatedAt: new Date().toISOString(),
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
export function recoverUncertainOperation(operation, evidence) {
|
|
189
|
+
if (operation.status !== 'uncertain') {
|
|
190
|
+
throw new Error('uncertain_recovery_requires_uncertain');
|
|
191
|
+
}
|
|
192
|
+
const nativeThreadId = evidence.nativeThreadId.trim();
|
|
193
|
+
const nativeTurnId = evidence.nativeTurnId.trim();
|
|
194
|
+
if (!nativeThreadId || !nativeTurnId) {
|
|
195
|
+
throw new Error('native_evidence_required');
|
|
196
|
+
}
|
|
197
|
+
const to = evidence.kind === 'running' ? 'accepted' : evidence.status;
|
|
198
|
+
return transitionOperation(operation, to, { nativeThreadId, nativeTurnId });
|
|
199
|
+
}
|
|
200
|
+
export function stableStringify(value) {
|
|
201
|
+
return JSON.stringify(sortValue(value));
|
|
202
|
+
}
|
|
203
|
+
function sortValue(value) {
|
|
204
|
+
if (Array.isArray(value))
|
|
205
|
+
return value.map(sortValue);
|
|
206
|
+
if (value && typeof value === 'object') {
|
|
207
|
+
return Object.fromEntries(Object.entries(value)
|
|
208
|
+
.sort(([left], [right]) => left.localeCompare(right))
|
|
209
|
+
.map(([key, nested]) => [key, sortValue(nested)]));
|
|
210
|
+
}
|
|
211
|
+
return value;
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=operations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const PARAMETER_STATUSES: readonly ["missing", "invalid", "schema_only", "ready"];
|
|
3
|
+
export type ParameterStatus = (typeof PARAMETER_STATUSES)[number];
|
|
4
|
+
export declare const parameterErrorSchema: z.ZodObject<{
|
|
5
|
+
path: z.ZodString;
|
|
6
|
+
reason: z.ZodString;
|
|
7
|
+
}, z.core.$strict>;
|
|
8
|
+
export type ParameterError = z.infer<typeof parameterErrorSchema>;
|
|
9
|
+
export declare const parameterFieldPathSchema: z.ZodArray<z.ZodString>;
|
|
10
|
+
export declare const parameterPrimitiveSchema: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
|
|
11
|
+
export type ParameterPrimitive = z.infer<typeof parameterPrimitiveSchema>;
|
|
12
|
+
export declare const parameterDocumentSchema: z.ZodObject<{
|
|
13
|
+
status: z.ZodEnum<{
|
|
14
|
+
ready: "ready";
|
|
15
|
+
invalid: "invalid";
|
|
16
|
+
missing: "missing";
|
|
17
|
+
schema_only: "schema_only";
|
|
18
|
+
}>;
|
|
19
|
+
schemaPath: z.ZodOptional<z.ZodString>;
|
|
20
|
+
dataPath: z.ZodOptional<z.ZodString>;
|
|
21
|
+
themeId: z.ZodOptional<z.ZodString>;
|
|
22
|
+
schema: z.ZodOptional<z.ZodUnknown>;
|
|
23
|
+
data: z.ZodOptional<z.ZodUnknown>;
|
|
24
|
+
schemaRevision: z.ZodOptional<z.ZodNumber>;
|
|
25
|
+
dataRevision: z.ZodOptional<z.ZodNumber>;
|
|
26
|
+
errors: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
27
|
+
path: z.ZodString;
|
|
28
|
+
reason: z.ZodString;
|
|
29
|
+
}, z.core.$strict>>>;
|
|
30
|
+
}, z.core.$strict>;
|
|
31
|
+
export type ParameterDocument = z.infer<typeof parameterDocumentSchema>;
|
|
32
|
+
export declare const parameterPatchPayloadSchema: z.ZodObject<{
|
|
33
|
+
fieldPath: z.ZodArray<z.ZodString>;
|
|
34
|
+
value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
|
|
35
|
+
expectedRevision: z.ZodNumber;
|
|
36
|
+
}, z.core.$strict>;
|
|
37
|
+
export type ParameterPatchPayload = z.infer<typeof parameterPatchPayloadSchema>;
|
|
38
|
+
//# sourceMappingURL=parameters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameters.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/parameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,kBAAkB,yDAA0D,CAAC;AAC1F,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,eAAO,MAAM,oBAAoB;;;kBAKtB,CAAC;AACZ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,wBAAwB,yBAG3B,CAAC;AAEX,eAAO,MAAM,wBAAwB,0EAKnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;kBAiDhC,CAAC;AACL,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,2BAA2B;;;;kBAM7B,CAAC;AACZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { workspaceRelativePathSchema } from './files.js';
|
|
3
|
+
export const PARAMETER_STATUSES = ['missing', 'invalid', 'schema_only', 'ready'];
|
|
4
|
+
export const parameterErrorSchema = z
|
|
5
|
+
.object({
|
|
6
|
+
path: workspaceRelativePathSchema,
|
|
7
|
+
reason: z.string().min(1).max(128),
|
|
8
|
+
})
|
|
9
|
+
.strict();
|
|
10
|
+
export const parameterFieldPathSchema = z
|
|
11
|
+
.array(z.string().trim().min(1).max(128).regex(/^[A-Za-z_][A-Za-z0-9_]*$/))
|
|
12
|
+
.min(1)
|
|
13
|
+
.max(16);
|
|
14
|
+
export const parameterPrimitiveSchema = z.union([
|
|
15
|
+
z.string().max(4096),
|
|
16
|
+
z.number().finite(),
|
|
17
|
+
z.boolean(),
|
|
18
|
+
z.null(),
|
|
19
|
+
]);
|
|
20
|
+
export const parameterDocumentSchema = z
|
|
21
|
+
.object({
|
|
22
|
+
status: z.enum(PARAMETER_STATUSES),
|
|
23
|
+
schemaPath: workspaceRelativePathSchema.optional(),
|
|
24
|
+
dataPath: workspaceRelativePathSchema.optional(),
|
|
25
|
+
themeId: z.string().min(1).max(128).optional(),
|
|
26
|
+
schema: z.unknown().optional(),
|
|
27
|
+
data: z.unknown().optional(),
|
|
28
|
+
schemaRevision: z.number().int().nonnegative().optional(),
|
|
29
|
+
dataRevision: z.number().int().nonnegative().optional(),
|
|
30
|
+
errors: z.array(parameterErrorSchema).max(16).optional(),
|
|
31
|
+
})
|
|
32
|
+
.strict()
|
|
33
|
+
.superRefine((value, context) => {
|
|
34
|
+
if (value.status === 'missing' && (value.schema !== undefined || value.data !== undefined)) {
|
|
35
|
+
context.addIssue({
|
|
36
|
+
code: z.ZodIssueCode.custom,
|
|
37
|
+
message: 'missing parameters cannot include parsed documents',
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
if (value.status === 'schema_only' && (value.schema === undefined || value.data !== undefined || !value.schemaPath)) {
|
|
41
|
+
context.addIssue({
|
|
42
|
+
code: z.ZodIssueCode.custom,
|
|
43
|
+
message: 'schema_only requires a parsed schema and no data document',
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
if (value.status === 'ready' &&
|
|
47
|
+
(value.schema === undefined || value.data === undefined || !value.schemaPath || !value.dataPath)) {
|
|
48
|
+
context.addIssue({
|
|
49
|
+
code: z.ZodIssueCode.custom,
|
|
50
|
+
message: 'ready parameters require schema and data documents',
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
if (value.status === 'invalid' && (!value.errors || value.errors.length === 0)) {
|
|
54
|
+
context.addIssue({
|
|
55
|
+
code: z.ZodIssueCode.custom,
|
|
56
|
+
message: 'invalid parameters require machine-readable errors',
|
|
57
|
+
path: ['errors'],
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
if (value.status === 'ready' && value.errors && value.errors.length > 0) {
|
|
61
|
+
context.addIssue({
|
|
62
|
+
code: z.ZodIssueCode.custom,
|
|
63
|
+
message: 'ready parameters cannot include errors',
|
|
64
|
+
path: ['errors'],
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
export const parameterPatchPayloadSchema = z
|
|
69
|
+
.object({
|
|
70
|
+
fieldPath: parameterFieldPathSchema,
|
|
71
|
+
value: parameterPrimitiveSchema,
|
|
72
|
+
expectedRevision: z.number().int().nonnegative(),
|
|
73
|
+
})
|
|
74
|
+
.strict();
|
|
75
|
+
//# sourceMappingURL=parameters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/parameters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const WORKSPACE_PERMISSION_MODES: readonly ["auto", "confirm", "read-only"];
|
|
3
|
+
export declare const workspacePermissionModeSchema: z.ZodEnum<{
|
|
4
|
+
auto: "auto";
|
|
5
|
+
confirm: "confirm";
|
|
6
|
+
"read-only": "read-only";
|
|
7
|
+
}>;
|
|
8
|
+
export type WorkspacePermissionMode = z.infer<typeof workspacePermissionModeSchema>;
|
|
9
|
+
/** An explicit answer is required; an absent decision must never grant permission. */
|
|
10
|
+
export declare const workspaceApprovalResponseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
11
|
+
kind: z.ZodLiteral<"decision">;
|
|
12
|
+
accepted: z.ZodBoolean;
|
|
13
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
14
|
+
kind: z.ZodLiteral<"permissions">;
|
|
15
|
+
accepted: z.ZodBoolean;
|
|
16
|
+
scope: z.ZodLiteral<"turn">;
|
|
17
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
18
|
+
kind: z.ZodLiteral<"user-input">;
|
|
19
|
+
answers: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
20
|
+
answers: z.ZodArray<z.ZodString>;
|
|
21
|
+
}, z.core.$strict>>;
|
|
22
|
+
}, z.core.$strict>], "kind">;
|
|
23
|
+
export type WorkspaceApprovalResponse = z.infer<typeof workspaceApprovalResponseSchema>;
|
|
24
|
+
//# sourceMappingURL=permissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,0BAA0B,2CAA4C,CAAC;AACpF,eAAO,MAAM,6BAA6B;;;;EAAqC,CAAC;AAChF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,sFAAsF;AACtF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;4BAgB1C,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const WORKSPACE_PERMISSION_MODES = ['auto', 'confirm', 'read-only'];
|
|
3
|
+
export const workspacePermissionModeSchema = z.enum(WORKSPACE_PERMISSION_MODES);
|
|
4
|
+
/** An explicit answer is required; an absent decision must never grant permission. */
|
|
5
|
+
export const workspaceApprovalResponseSchema = z.discriminatedUnion('kind', [
|
|
6
|
+
z.object({ kind: z.literal('decision'), accepted: z.boolean() }).strict(),
|
|
7
|
+
z.object({
|
|
8
|
+
kind: z.literal('permissions'),
|
|
9
|
+
accepted: z.boolean(),
|
|
10
|
+
scope: z.literal('turn'),
|
|
11
|
+
}).strict(),
|
|
12
|
+
z.object({
|
|
13
|
+
kind: z.literal('user-input'),
|
|
14
|
+
answers: z.record(z.string().min(1).max(256), z.object({
|
|
15
|
+
answers: z.array(z.string().min(1).max(16_000)).min(1).max(32),
|
|
16
|
+
}).strict()).refine((answers) => Object.keys(answers).length > 0 && Object.keys(answers).length <= 32),
|
|
17
|
+
}).strict(),
|
|
18
|
+
]);
|
|
19
|
+
//# sourceMappingURL=permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAU,CAAC;AACpF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;AAGhF,sFAAsF;AACtF,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC1E,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACzE,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAC9B,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;QACrB,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;KACzB,CAAC,CAAC,MAAM,EAAE;IACX,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;QAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,CACf,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAC1B,CAAC,CAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;SAC/D,CAAC,CAAC,MAAM,EAAE,CACZ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;KAC5F,CAAC,CAAC,MAAM,EAAE;CACZ,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** Routes a sandbox calls on the deployment that created it. */
|
|
2
|
+
export declare const PLATFORM_ROUTES: {
|
|
3
|
+
readonly events: "/runtime/internal/events";
|
|
4
|
+
readonly eventsProbe: "/runtime/internal/events/probe";
|
|
5
|
+
readonly modelCredentials: "/runtime/internal/model-credentials";
|
|
6
|
+
readonly workspaceMcp: "/runtime/internal/workspace-mcp";
|
|
7
|
+
readonly gitCredentials: "/runtime/internal/git-credentials";
|
|
8
|
+
readonly cliCredentials: "/runtime/internal/cli-credentials";
|
|
9
|
+
readonly skillArtifacts: "/runtime/internal/skill-artifacts";
|
|
10
|
+
readonly previewReservations: "/runtime/internal/preview-reservations";
|
|
11
|
+
readonly previewCompletions: "/runtime/internal/preview-completions";
|
|
12
|
+
readonly previewFailures: "/runtime/internal/preview-failures";
|
|
13
|
+
readonly modelProxy: "/api/llm-proxy";
|
|
14
|
+
};
|
|
15
|
+
export type PlatformRoute = (typeof PLATFORM_ROUTES)[keyof typeof PLATFORM_ROUTES];
|
|
16
|
+
/** Model calls include the platform config id; the rest of the path is fixed. */
|
|
17
|
+
export declare function modelResponsesPath(configId: string): string;
|
|
18
|
+
/** Connectivity checks the same proxy prefix without sending a model turn. */
|
|
19
|
+
export declare function modelConnectivityPath(configId: string): string;
|
|
20
|
+
/**
|
|
21
|
+
* Join a route onto a public entrance without dropping a deployment prefix such as `/__env/<name>`.
|
|
22
|
+
* A route that starts with `/` must not be resolved against the entrance as an absolute URL path.
|
|
23
|
+
*/
|
|
24
|
+
export declare function platformEndpoint(base: string, route: string): string;
|
|
25
|
+
//# sourceMappingURL=platform-endpoints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-endpoints.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/platform-endpoints.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,eAAO,MAAM,eAAe;;;;;;;;;;;;CAYlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEnF,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,8EAA8E;AAC9E,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CASpE"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/** Routes a sandbox calls on the deployment that created it. */
|
|
2
|
+
export const PLATFORM_ROUTES = {
|
|
3
|
+
events: '/runtime/internal/events',
|
|
4
|
+
eventsProbe: '/runtime/internal/events/probe',
|
|
5
|
+
modelCredentials: '/runtime/internal/model-credentials',
|
|
6
|
+
workspaceMcp: '/runtime/internal/workspace-mcp',
|
|
7
|
+
gitCredentials: '/runtime/internal/git-credentials',
|
|
8
|
+
cliCredentials: '/runtime/internal/cli-credentials',
|
|
9
|
+
skillArtifacts: '/runtime/internal/skill-artifacts',
|
|
10
|
+
previewReservations: '/runtime/internal/preview-reservations',
|
|
11
|
+
previewCompletions: '/runtime/internal/preview-completions',
|
|
12
|
+
previewFailures: '/runtime/internal/preview-failures',
|
|
13
|
+
modelProxy: '/api/llm-proxy',
|
|
14
|
+
};
|
|
15
|
+
/** Model calls include the platform config id; the rest of the path is fixed. */
|
|
16
|
+
export function modelResponsesPath(configId) {
|
|
17
|
+
return `/api/llm-proxy/v1/${configId}/responses`;
|
|
18
|
+
}
|
|
19
|
+
/** Connectivity checks the same proxy prefix without sending a model turn. */
|
|
20
|
+
export function modelConnectivityPath(configId) {
|
|
21
|
+
return `/api/llm-proxy/v1/${configId}/connectivity`;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Join a route onto a public entrance without dropping a deployment prefix such as `/__env/<name>`.
|
|
25
|
+
* A route that starts with `/` must not be resolved against the entrance as an absolute URL path.
|
|
26
|
+
*/
|
|
27
|
+
export function platformEndpoint(base, route) {
|
|
28
|
+
const url = new URL(base);
|
|
29
|
+
const prefix = url.pathname.replace(/\/+$/, '');
|
|
30
|
+
const suffix = route.startsWith('/') ? route : `/${route}`;
|
|
31
|
+
const pathname = `${prefix}${suffix}`.replace(/\/{2,}/g, '/');
|
|
32
|
+
url.pathname = pathname === '' ? '/' : pathname;
|
|
33
|
+
url.search = '';
|
|
34
|
+
url.hash = '';
|
|
35
|
+
return url.toString().replace(/\/+$/, '');
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=platform-endpoints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-endpoints.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/platform-endpoints.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM,EAAE,0BAA0B;IAClC,WAAW,EAAE,gCAAgC;IAC7C,gBAAgB,EAAE,qCAAqC;IACvD,YAAY,EAAE,iCAAiC;IAC/C,cAAc,EAAE,mCAAmC;IACnD,cAAc,EAAE,mCAAmC;IACnD,cAAc,EAAE,mCAAmC;IACnD,mBAAmB,EAAE,wCAAwC;IAC7D,kBAAkB,EAAE,uCAAuC;IAC3D,eAAe,EAAE,oCAAoC;IACrD,UAAU,EAAE,gBAAgB;CACpB,CAAC;AAIX,iFAAiF;AACjF,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,OAAO,qBAAqB,QAAQ,YAAY,CAAC;AACnD,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,OAAO,qBAAqB,QAAQ,eAAe,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,KAAa;IAC1D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;IAC3D,MAAM,QAAQ,GAAG,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC9D,GAAG,CAAC,QAAQ,GAAG,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;IAChD,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;IAChB,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;IACd,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/** Presigned upload lifetime. The reservation expires with it. */
|
|
3
|
+
export declare const PREVIEW_RESERVATION_TTL_MS: number;
|
|
4
|
+
/** Document ticket lifetime. Callers must also cap it at the source grant expiry. */
|
|
5
|
+
export declare const PREVIEW_TICKET_TTL_MS: number;
|
|
6
|
+
/** PlayCraft HTML adapter limit. Larger sealed files are rejected before upload. */
|
|
7
|
+
export declare const PREVIEW_HTML_MAX_BYTES: number;
|
|
8
|
+
export declare const PREVIEW_LOG_TAIL_MAX = 8000;
|
|
9
|
+
export declare const previewPublishPayloadSchema: z.ZodObject<{}, z.core.$strict>;
|
|
10
|
+
export type PreviewPublishPayload = z.infer<typeof previewPublishPayloadSchema>;
|
|
11
|
+
export declare const previewPublishResultSchema: z.ZodObject<{
|
|
12
|
+
sessionId: z.ZodOptional<z.ZodString>;
|
|
13
|
+
previewId: z.ZodString;
|
|
14
|
+
artifactId: z.ZodString;
|
|
15
|
+
status: z.ZodEnum<{
|
|
16
|
+
conflict: "conflict";
|
|
17
|
+
published: "published";
|
|
18
|
+
}>;
|
|
19
|
+
publishRevision: z.ZodNumber;
|
|
20
|
+
shellUrl: z.ZodString;
|
|
21
|
+
resourceBaseUrl: z.ZodString;
|
|
22
|
+
sourceVerified: z.ZodBoolean;
|
|
23
|
+
uploadedFiles: z.ZodLiteral<1>;
|
|
24
|
+
contentDigest: z.ZodString;
|
|
25
|
+
browserValidation: z.ZodLiteral<"pending">;
|
|
26
|
+
}, z.core.$strict>;
|
|
27
|
+
export type PreviewPublishResult = z.infer<typeof previewPublishResultSchema>;
|
|
28
|
+
export declare const previewStatusSchema: z.ZodObject<{
|
|
29
|
+
sessionId: z.ZodOptional<z.ZodString>;
|
|
30
|
+
status: z.ZodEnum<{
|
|
31
|
+
pending: "pending";
|
|
32
|
+
ready: "ready";
|
|
33
|
+
empty: "empty";
|
|
34
|
+
}>;
|
|
35
|
+
previewId: z.ZodOptional<z.ZodString>;
|
|
36
|
+
artifactId: z.ZodOptional<z.ZodString>;
|
|
37
|
+
publishRevision: z.ZodOptional<z.ZodNumber>;
|
|
38
|
+
shellUrl: z.ZodOptional<z.ZodString>;
|
|
39
|
+
resourceBaseUrl: z.ZodOptional<z.ZodString>;
|
|
40
|
+
sourceVerified: z.ZodOptional<z.ZodBoolean>;
|
|
41
|
+
browserValidation: z.ZodOptional<z.ZodLiteral<"pending">>;
|
|
42
|
+
lastError: z.ZodOptional<z.ZodString>;
|
|
43
|
+
logTail: z.ZodOptional<z.ZodString>;
|
|
44
|
+
}, z.core.$strict>;
|
|
45
|
+
export type PreviewStatus = z.infer<typeof previewStatusSchema>;
|
|
46
|
+
export declare const previewReservationSchema: z.ZodObject<{
|
|
47
|
+
sessionId: z.ZodOptional<z.ZodString>;
|
|
48
|
+
previewId: z.ZodString;
|
|
49
|
+
artifactId: z.ZodString;
|
|
50
|
+
uploadUrl: z.ZodString;
|
|
51
|
+
uploadGeneration: z.ZodNumber;
|
|
52
|
+
reservationExpiresAt: z.ZodString;
|
|
53
|
+
expectedPublishRevision: z.ZodNumber;
|
|
54
|
+
alreadyUploaded: z.ZodBoolean;
|
|
55
|
+
}, z.core.$strict>;
|
|
56
|
+
export type PreviewReservation = z.infer<typeof previewReservationSchema>;
|
|
57
|
+
export declare function previewShellPath(previewId: string): string;
|
|
58
|
+
export declare function previewResourceBasePath(previewId: string, artifactId: string): string;
|
|
59
|
+
//# sourceMappingURL=previews.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"previews.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/previews.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kEAAkE;AAClE,eAAO,MAAM,0BAA0B,QAAiB,CAAC;AAEzD,qFAAqF;AACrF,eAAO,MAAM,qBAAqB,QAAgB,CAAC;AAEnD,oFAAoF;AACpF,eAAO,MAAM,sBAAsB,QAAmB,CAAC;AAEvD,eAAO,MAAM,oBAAoB,OAAQ,CAAC;AAK1C,eAAO,MAAM,2BAA2B,iCAAwB,CAAC;AACjE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;kBAe5B,CAAC;AAEZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;kBAerB,CAAC;AAEZ,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,wBAAwB;;;;;;;;;kBAY1B,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAErF"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/** Presigned upload lifetime. The reservation expires with it. */
|
|
3
|
+
export const PREVIEW_RESERVATION_TTL_MS = 15 * 60 * 1000;
|
|
4
|
+
/** Document ticket lifetime. Callers must also cap it at the source grant expiry. */
|
|
5
|
+
export const PREVIEW_TICKET_TTL_MS = 5 * 60 * 1000;
|
|
6
|
+
/** PlayCraft HTML adapter limit. Larger sealed files are rejected before upload. */
|
|
7
|
+
export const PREVIEW_HTML_MAX_BYTES = 50 * 1024 * 1024;
|
|
8
|
+
export const PREVIEW_LOG_TAIL_MAX = 8_000;
|
|
9
|
+
const digestSchema = z.string().regex(/^[a-f0-9]{64}$/);
|
|
10
|
+
const idSchema = z.string().trim().min(1).max(128);
|
|
11
|
+
export const previewPublishPayloadSchema = z.object({}).strict();
|
|
12
|
+
export const previewPublishResultSchema = z
|
|
13
|
+
.object({
|
|
14
|
+
/** Originating operation's session, retained for publisher receipt verification. */
|
|
15
|
+
sessionId: idSchema.optional(),
|
|
16
|
+
previewId: idSchema,
|
|
17
|
+
artifactId: idSchema,
|
|
18
|
+
status: z.enum(['published', 'conflict']),
|
|
19
|
+
publishRevision: z.number().int().nonnegative(),
|
|
20
|
+
shellUrl: z.string().min(1).max(512),
|
|
21
|
+
resourceBaseUrl: z.string().min(1).max(512),
|
|
22
|
+
sourceVerified: z.boolean(),
|
|
23
|
+
uploadedFiles: z.literal(1),
|
|
24
|
+
contentDigest: digestSchema,
|
|
25
|
+
browserValidation: z.literal('pending'),
|
|
26
|
+
})
|
|
27
|
+
.strict();
|
|
28
|
+
export const previewStatusSchema = z
|
|
29
|
+
.object({
|
|
30
|
+
/** Legacy provenance metadata; workspace preview reads do not select by session. */
|
|
31
|
+
sessionId: idSchema.optional(),
|
|
32
|
+
status: z.enum(['empty', 'pending', 'ready']),
|
|
33
|
+
previewId: idSchema.optional(),
|
|
34
|
+
artifactId: idSchema.optional(),
|
|
35
|
+
publishRevision: z.number().int().nonnegative().optional(),
|
|
36
|
+
shellUrl: z.string().min(1).max(512).optional(),
|
|
37
|
+
resourceBaseUrl: z.string().min(1).max(512).optional(),
|
|
38
|
+
sourceVerified: z.boolean().optional(),
|
|
39
|
+
browserValidation: z.literal('pending').optional(),
|
|
40
|
+
lastError: z.string().min(1).max(256).optional(),
|
|
41
|
+
logTail: z.string().max(PREVIEW_LOG_TAIL_MAX).optional(),
|
|
42
|
+
})
|
|
43
|
+
.strict();
|
|
44
|
+
export const previewReservationSchema = z
|
|
45
|
+
.object({
|
|
46
|
+
/** Operation origin echo; the reserved preview itself is shared by the workspace. */
|
|
47
|
+
sessionId: idSchema.optional(),
|
|
48
|
+
previewId: idSchema,
|
|
49
|
+
artifactId: idSchema,
|
|
50
|
+
uploadUrl: z.string().url(),
|
|
51
|
+
uploadGeneration: z.number().int().positive(),
|
|
52
|
+
reservationExpiresAt: z.string().min(1),
|
|
53
|
+
expectedPublishRevision: z.number().int().nonnegative(),
|
|
54
|
+
alreadyUploaded: z.boolean(),
|
|
55
|
+
})
|
|
56
|
+
.strict();
|
|
57
|
+
export function previewShellPath(previewId) {
|
|
58
|
+
return `/runtime/previews/${encodeURIComponent(previewId)}/view`;
|
|
59
|
+
}
|
|
60
|
+
export function previewResourceBasePath(previewId, artifactId) {
|
|
61
|
+
return `/preview/${encodeURIComponent(previewId)}/artifacts/${encodeURIComponent(artifactId)}/`;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=previews.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"previews.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/previews.ts"],"names":[],"mappings":"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"}
|