@playcraft/common 0.0.56 → 0.0.58
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/gamepilot.d.ts +17 -0
- package/dist/agent/gamepilot.d.ts.map +1 -0
- package/dist/agent/gamepilot.js +37 -0
- package/dist/agent/gamepilot.js.map +1 -0
- package/dist/agent/index.d.ts +2 -0
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +2 -0
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/openai-responses-api.d.ts +30 -0
- package/dist/agent/openai-responses-api.d.ts.map +1 -0
- package/dist/agent/openai-responses-api.js +58 -0
- package/dist/agent/openai-responses-api.js.map +1 -0
- package/dist/agent/runtime-failure.d.ts +3 -1
- package/dist/agent/runtime-failure.d.ts.map +1 -1
- package/dist/agent/runtime-failure.js +6 -1
- package/dist/agent/runtime-failure.js.map +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 +12 -0
- package/dist/agent-messages/db-message-converter.d.ts.map +1 -1
- package/dist/agent-messages/db-message-converter.js +28 -0
- package/dist/agent-messages/db-message-converter.js.map +1 -1
- package/dist/agent-messages/runtime-user-messages.d.ts +3 -0
- package/dist/agent-messages/runtime-user-messages.d.ts.map +1 -1
- package/dist/agent-messages/runtime-user-messages.js +36 -2
- package/dist/agent-messages/runtime-user-messages.js.map +1 -1
- package/dist/agent-tools/index.d.ts +1 -0
- package/dist/agent-tools/index.d.ts.map +1 -1
- package/dist/agent-tools/index.js +1 -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/types.d.ts +1 -1
- package/dist/agent-tools/types.d.ts.map +1 -1
- package/dist/agent-tools/types.js +8 -1
- package/dist/agent-tools/types.js.map +1 -1
- package/dist/auth/index.d.ts +2 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +2 -0
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/jwt.d.ts.map +1 -1
- package/dist/auth/jwt.js +2 -7
- package/dist/auth/jwt.js.map +1 -1
- package/dist/auth/project-access-checker.d.ts +42 -0
- package/dist/auth/project-access-checker.d.ts.map +1 -0
- package/dist/auth/project-access-checker.js +81 -0
- package/dist/auth/project-access-checker.js.map +1 -0
- package/dist/auth/resolve-secret.d.ts +18 -0
- package/dist/auth/resolve-secret.d.ts.map +1 -0
- package/dist/auth/resolve-secret.js +33 -0
- package/dist/auth/resolve-secret.js.map +1 -0
- package/dist/auth/signature.d.ts +6 -1
- package/dist/auth/signature.d.ts.map +1 -1
- package/dist/auth/signature.js +8 -3
- package/dist/auth/signature.js.map +1 -1
- package/dist/cloud-workspace/runtime/agent-chat-flush.d.ts +57 -0
- package/dist/cloud-workspace/runtime/agent-chat-flush.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-chat-flush.js +55 -0
- package/dist/cloud-workspace/runtime/agent-chat-flush.js.map +1 -0
- package/dist/cloud-workspace/runtime/agent-codebuddy.d.ts +266 -0
- package/dist/cloud-workspace/runtime/agent-codebuddy.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-codebuddy.js +189 -0
- package/dist/cloud-workspace/runtime/agent-codebuddy.js.map +1 -0
- package/dist/cloud-workspace/runtime/agent-command.d.ts +130 -0
- package/dist/cloud-workspace/runtime/agent-command.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-command.js +75 -0
- package/dist/cloud-workspace/runtime/agent-command.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-lifecycle.d.ts +85 -0
- package/dist/cloud-workspace/runtime/agent-lifecycle.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-lifecycle.js +70 -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 +156 -0
- package/dist/cloud-workspace/runtime/agent-opencode-gateway.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-opencode-gateway.js +141 -0
- package/dist/cloud-workspace/runtime/agent-opencode-gateway.js.map +1 -0
- package/dist/cloud-workspace/runtime/agent-opencode.d.ts +240 -0
- package/dist/cloud-workspace/runtime/agent-opencode.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-opencode.js +176 -0
- package/dist/cloud-workspace/runtime/agent-opencode.js.map +1 -0
- package/dist/cloud-workspace/runtime/agent-promotion.d.ts +20 -0
- package/dist/cloud-workspace/runtime/agent-promotion.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-promotion.js +19 -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-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/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/checkpoints.d.ts +60 -0
- package/dist/cloud-workspace/runtime/checkpoints.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/checkpoints.js +33 -0
- package/dist/cloud-workspace/runtime/checkpoints.js.map +1 -0
- package/dist/cloud-workspace/runtime/config.d.ts +42 -0
- package/dist/cloud-workspace/runtime/config.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/config.js +89 -0
- package/dist/cloud-workspace/runtime/config.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/file-snapshot.d.ts +62 -0
- package/dist/cloud-workspace/runtime/file-snapshot.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/file-snapshot.js +147 -0
- package/dist/cloud-workspace/runtime/file-snapshot.js.map +1 -0
- package/dist/cloud-workspace/runtime/files.d.ts +58 -0
- package/dist/cloud-workspace/runtime/files.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/files.js +78 -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.d.ts +46 -0
- package/dist/cloud-workspace/runtime/git.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/git.js +44 -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/http-object-store.d.ts +15 -0
- package/dist/cloud-workspace/runtime/http-object-store.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/http-object-store.js +108 -0
- package/dist/cloud-workspace/runtime/http-object-store.js.map +1 -0
- package/dist/cloud-workspace/runtime/index.d.ts +32 -0
- package/dist/cloud-workspace/runtime/index.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/index.js +32 -0
- package/dist/cloud-workspace/runtime/index.js.map +1 -0
- package/dist/cloud-workspace/runtime/instance-rebuild.d.ts +59 -0
- package/dist/cloud-workspace/runtime/instance-rebuild.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/instance-rebuild.js +51 -0
- package/dist/cloud-workspace/runtime/instance-rebuild.js.map +1 -0
- package/dist/cloud-workspace/runtime/operations.d.ts +142 -0
- package/dist/cloud-workspace/runtime/operations.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/operations.js +134 -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/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 +54 -0
- package/dist/cloud-workspace/runtime/resource-grant.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/resource-grant.js +80 -0
- package/dist/cloud-workspace/runtime/resource-grant.js.map +1 -0
- package/dist/cloud-workspace/runtime/terminals.d.ts +52 -0
- package/dist/cloud-workspace/runtime/terminals.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/terminals.js +62 -0
- package/dist/cloud-workspace/runtime/terminals.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 +84 -0
- package/dist/cloud-workspace/runtime/workspace-binding.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/workspace-binding.js +121 -0
- package/dist/cloud-workspace/runtime/workspace-binding.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/messenger/server.d.ts +14 -1
- package/dist/messenger/server.d.ts.map +1 -1
- package/dist/messenger/server.js +5 -1
- package/dist/messenger/server.js.map +1 -1
- package/dist/playable-ads-filename.d.ts +16 -0
- package/dist/playable-ads-filename.d.ts.map +1 -1
- package/dist/playable-ads-filename.js +18 -0
- package/dist/playable-ads-filename.js.map +1 -1
- package/dist/prefab/mime-type-list.d.ts.map +1 -1
- package/dist/prefab/mime-type-list.js +8 -0
- package/dist/prefab/mime-type-list.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 +161 -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/sharedb/server.d.ts +12 -0
- package/dist/sharedb/server.d.ts.map +1 -1
- package/dist/sharedb/server.js +27 -6
- package/dist/sharedb/server.js.map +1 -1
- 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/package.json +25 -1
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const SESSION_RECOVERABILITY: readonly ["native", "history_only"];
|
|
3
|
+
export type SessionRecoverability = (typeof SESSION_RECOVERABILITY)[number];
|
|
4
|
+
export declare const sessionRecoverabilitySchema: z.ZodEnum<{
|
|
5
|
+
native: "native";
|
|
6
|
+
history_only: "history_only";
|
|
7
|
+
}>;
|
|
8
|
+
export declare const CHECKPOINT_KINDS: readonly ["coordinated", "file", "best_effort"];
|
|
9
|
+
export type CheckpointKind = (typeof CHECKPOINT_KINDS)[number];
|
|
10
|
+
export declare const checkpointKindSchema: z.ZodEnum<{
|
|
11
|
+
file: "file";
|
|
12
|
+
coordinated: "coordinated";
|
|
13
|
+
best_effort: "best_effort";
|
|
14
|
+
}>;
|
|
15
|
+
export declare const checkpointSessionSchema: z.ZodObject<{
|
|
16
|
+
sessionId: z.ZodString;
|
|
17
|
+
nativeThreadId: z.ZodOptional<z.ZodString>;
|
|
18
|
+
nativeDurableTurnId: z.ZodOptional<z.ZodString>;
|
|
19
|
+
recoverability: z.ZodEnum<{
|
|
20
|
+
native: "native";
|
|
21
|
+
history_only: "history_only";
|
|
22
|
+
}>;
|
|
23
|
+
}, z.core.$strict>;
|
|
24
|
+
export type CheckpointSession = z.infer<typeof checkpointSessionSchema>;
|
|
25
|
+
export declare const checkpointRecordSchema: z.ZodObject<{
|
|
26
|
+
checkpointId: z.ZodString;
|
|
27
|
+
kind: z.ZodEnum<{
|
|
28
|
+
file: "file";
|
|
29
|
+
coordinated: "coordinated";
|
|
30
|
+
best_effort: "best_effort";
|
|
31
|
+
}>;
|
|
32
|
+
workspaceId: z.ZodString;
|
|
33
|
+
generation: z.ZodNumber;
|
|
34
|
+
runtimeEpoch: z.ZodNumber;
|
|
35
|
+
sessions: z.ZodArray<z.ZodObject<{
|
|
36
|
+
sessionId: z.ZodString;
|
|
37
|
+
nativeThreadId: z.ZodOptional<z.ZodString>;
|
|
38
|
+
nativeDurableTurnId: z.ZodOptional<z.ZodString>;
|
|
39
|
+
recoverability: z.ZodEnum<{
|
|
40
|
+
native: "native";
|
|
41
|
+
history_only: "history_only";
|
|
42
|
+
}>;
|
|
43
|
+
}, z.core.$strict>>;
|
|
44
|
+
files: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
45
|
+
path: z.ZodString;
|
|
46
|
+
contentHash: z.ZodString;
|
|
47
|
+
revision: z.ZodNumber;
|
|
48
|
+
}, z.core.$strict>>>;
|
|
49
|
+
createdAt: z.ZodString;
|
|
50
|
+
nativeRecoverable: z.ZodBoolean;
|
|
51
|
+
consistent: z.ZodOptional<z.ZodBoolean>;
|
|
52
|
+
manifestKey: z.ZodOptional<z.ZodString>;
|
|
53
|
+
checksum: z.ZodOptional<z.ZodString>;
|
|
54
|
+
snapshotStatus: z.ZodOptional<z.ZodEnum<{
|
|
55
|
+
complete: "complete";
|
|
56
|
+
incomplete: "incomplete";
|
|
57
|
+
}>>;
|
|
58
|
+
}, z.core.$strict>;
|
|
59
|
+
export type CheckpointRecord = z.infer<typeof checkpointRecordSchema>;
|
|
60
|
+
//# sourceMappingURL=checkpoints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoints.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/checkpoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,sBAAsB,qCAAsC,CAAC;AAC1E,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5E,eAAO,MAAM,2BAA2B;;;EAAiC,CAAC;AAE1E,eAAO,MAAM,gBAAgB,iDAAkD,CAAC;AAChF,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/D,eAAO,MAAM,oBAAoB;;;;EAA2B,CAAC;AAE7D,eAAO,MAAM,uBAAuB;;;;;;;;kBAOzB,CAAC;AAEZ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAgBxB,CAAC;AAEZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { checkpointFileSchema } from './files.js';
|
|
3
|
+
import { generationSchema, runtimeEpochSchema } from './generations.js';
|
|
4
|
+
export const SESSION_RECOVERABILITY = ['native', 'history_only'];
|
|
5
|
+
export const sessionRecoverabilitySchema = z.enum(SESSION_RECOVERABILITY);
|
|
6
|
+
export const CHECKPOINT_KINDS = ['coordinated', 'file', 'best_effort'];
|
|
7
|
+
export const checkpointKindSchema = z.enum(CHECKPOINT_KINDS);
|
|
8
|
+
export const checkpointSessionSchema = z
|
|
9
|
+
.object({
|
|
10
|
+
sessionId: z.string().min(1).max(128),
|
|
11
|
+
nativeThreadId: z.string().min(1).max(128).optional(),
|
|
12
|
+
nativeDurableTurnId: z.string().min(1).max(128).optional(),
|
|
13
|
+
recoverability: sessionRecoverabilitySchema,
|
|
14
|
+
})
|
|
15
|
+
.strict();
|
|
16
|
+
export const checkpointRecordSchema = z
|
|
17
|
+
.object({
|
|
18
|
+
checkpointId: z.string().min(1).max(128),
|
|
19
|
+
kind: checkpointKindSchema,
|
|
20
|
+
workspaceId: z.string().min(1).max(128),
|
|
21
|
+
generation: generationSchema,
|
|
22
|
+
runtimeEpoch: runtimeEpochSchema,
|
|
23
|
+
sessions: z.array(checkpointSessionSchema),
|
|
24
|
+
files: z.array(checkpointFileSchema).optional(),
|
|
25
|
+
createdAt: z.string().min(1),
|
|
26
|
+
nativeRecoverable: z.boolean(),
|
|
27
|
+
consistent: z.boolean().optional(),
|
|
28
|
+
manifestKey: z.string().min(1).max(512).optional(),
|
|
29
|
+
checksum: z.string().length(64).optional(),
|
|
30
|
+
snapshotStatus: z.enum(['complete', 'incomplete']).optional(),
|
|
31
|
+
})
|
|
32
|
+
.strict();
|
|
33
|
+
//# sourceMappingURL=checkpoints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoints.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/checkpoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAExE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAU,CAAC;AAE1E,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,CAAU,CAAC;AAEhF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,MAAM,CAAC;IACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACrC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACrD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC1D,cAAc,EAAE,2BAA2B;CAC5C,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACxC,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACvC,UAAU,EAAE,gBAAgB;IAC5B,YAAY,EAAE,kBAAkB;IAChC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC;IAC1C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE;IAC/C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE;IAC9B,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAClD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1C,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC9D,CAAC;KACD,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const sandboxListenSchema: z.ZodObject<{
|
|
3
|
+
host: z.ZodEnum<{
|
|
4
|
+
"127.0.0.1": "127.0.0.1";
|
|
5
|
+
"::1": "::1";
|
|
6
|
+
}>;
|
|
7
|
+
port: z.ZodDefault<z.ZodNumber>;
|
|
8
|
+
}, z.core.$strict>;
|
|
9
|
+
export declare const sandboxRuntimeConfigSchema: z.ZodObject<{
|
|
10
|
+
protocolMajor: z.ZodNumber;
|
|
11
|
+
protocolMinor: z.ZodNumber;
|
|
12
|
+
environment: z.ZodString;
|
|
13
|
+
runtimeId: z.ZodString;
|
|
14
|
+
userId: z.ZodString;
|
|
15
|
+
generation: z.ZodNumber;
|
|
16
|
+
runtimeEpoch: z.ZodNumber;
|
|
17
|
+
workspaceRoot: z.ZodString;
|
|
18
|
+
workspaceMode: z.ZodDefault<z.ZodEnum<{
|
|
19
|
+
single: "single";
|
|
20
|
+
multi: "multi";
|
|
21
|
+
}>>;
|
|
22
|
+
callbackUrl: z.ZodString;
|
|
23
|
+
modelProxyUrl: z.ZodString;
|
|
24
|
+
controlToken: z.ZodString;
|
|
25
|
+
cliVersion: z.ZodString;
|
|
26
|
+
codexVersion: z.ZodOptional<z.ZodString>;
|
|
27
|
+
imageDigest: z.ZodOptional<z.ZodString>;
|
|
28
|
+
stateDir: z.ZodString;
|
|
29
|
+
listen: z.ZodDefault<z.ZodObject<{
|
|
30
|
+
host: z.ZodEnum<{
|
|
31
|
+
"127.0.0.1": "127.0.0.1";
|
|
32
|
+
"::1": "::1";
|
|
33
|
+
}>;
|
|
34
|
+
port: z.ZodDefault<z.ZodNumber>;
|
|
35
|
+
}, z.core.$strict>>;
|
|
36
|
+
gitGatewayOrigins: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
37
|
+
gitCredentialDirectory: z.ZodOptional<z.ZodString>;
|
|
38
|
+
fileObjectStoreUrl: z.ZodOptional<z.ZodString>;
|
|
39
|
+
}, z.core.$strict>;
|
|
40
|
+
export type SandboxRuntimeConfig = z.infer<typeof sandboxRuntimeConfigSchema>;
|
|
41
|
+
export declare function parseSandboxRuntimeConfig(input: unknown): SandboxRuntimeConfig;
|
|
42
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,mBAAmB;;;;;;kBAKrB,CAAC;AAEZ,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAwEnC,CAAC;AAEL,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CAE9E"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { protocolVersionSchema } from './protocol.js';
|
|
3
|
+
import { generationSchema, runtimeEpochSchema } from './generations.js';
|
|
4
|
+
import { parseWorkspaceGitGatewayOrigin } from './workspace-binding.js';
|
|
5
|
+
export const sandboxListenSchema = z
|
|
6
|
+
.object({
|
|
7
|
+
host: z.enum(['127.0.0.1', '::1']),
|
|
8
|
+
port: z.number().int().min(0).max(65535).default(8787),
|
|
9
|
+
})
|
|
10
|
+
.strict();
|
|
11
|
+
export const sandboxRuntimeConfigSchema = protocolVersionSchema
|
|
12
|
+
.safeExtend({
|
|
13
|
+
environment: z.string().trim().min(1).max(64),
|
|
14
|
+
runtimeId: z.string().trim().min(1).max(128),
|
|
15
|
+
userId: z.string().trim().min(1).max(128),
|
|
16
|
+
generation: generationSchema,
|
|
17
|
+
runtimeEpoch: runtimeEpochSchema,
|
|
18
|
+
workspaceRoot: z.string().trim().min(1),
|
|
19
|
+
workspaceMode: z.enum(['single', 'multi']).default('single'),
|
|
20
|
+
callbackUrl: z.string().url(),
|
|
21
|
+
modelProxyUrl: z.string().url(),
|
|
22
|
+
controlToken: z.string().min(16).max(512),
|
|
23
|
+
cliVersion: z.string().trim().min(1).max(64),
|
|
24
|
+
codexVersion: z.string().trim().min(1).max(64).optional(),
|
|
25
|
+
imageDigest: z.string().trim().min(1).max(128).optional(),
|
|
26
|
+
stateDir: z.string().trim().min(1),
|
|
27
|
+
listen: sandboxListenSchema.default({ host: '127.0.0.1', port: 8787 }),
|
|
28
|
+
gitGatewayOrigins: z.array(z.string().trim().min(1).max(256)).max(8).default([]),
|
|
29
|
+
gitCredentialDirectory: z.string().trim().min(1).max(4096).optional(),
|
|
30
|
+
fileObjectStoreUrl: z.string().url().optional(),
|
|
31
|
+
})
|
|
32
|
+
.strict()
|
|
33
|
+
.superRefine((value, context) => {
|
|
34
|
+
if (!value.workspaceRoot.startsWith('/') || value.workspaceRoot.includes('\0')) {
|
|
35
|
+
context.addIssue({
|
|
36
|
+
code: z.ZodIssueCode.custom,
|
|
37
|
+
message: 'workspaceRoot must be an absolute path',
|
|
38
|
+
path: ['workspaceRoot'],
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
if (!value.stateDir.startsWith('/') || value.stateDir.includes('\0')) {
|
|
42
|
+
context.addIssue({
|
|
43
|
+
code: z.ZodIssueCode.custom,
|
|
44
|
+
message: 'stateDir must be an absolute path',
|
|
45
|
+
path: ['stateDir'],
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
if (value.gitCredentialDirectory &&
|
|
49
|
+
(!value.gitCredentialDirectory.startsWith('/') ||
|
|
50
|
+
value.gitCredentialDirectory.includes('\0') ||
|
|
51
|
+
value.gitCredentialDirectory.includes('\n'))) {
|
|
52
|
+
context.addIssue({
|
|
53
|
+
code: z.ZodIssueCode.custom,
|
|
54
|
+
message: 'gitCredentialDirectory must be an absolute path',
|
|
55
|
+
path: ['gitCredentialDirectory'],
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
if (value.fileObjectStoreUrl) {
|
|
59
|
+
try {
|
|
60
|
+
const parsed = new URL(value.fileObjectStoreUrl);
|
|
61
|
+
if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:')
|
|
62
|
+
throw new Error();
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
context.addIssue({
|
|
66
|
+
code: z.ZodIssueCode.custom,
|
|
67
|
+
message: 'fileObjectStoreUrl must be an http(s) object endpoint',
|
|
68
|
+
path: ['fileObjectStoreUrl'],
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
for (const origin of value.gitGatewayOrigins) {
|
|
73
|
+
try {
|
|
74
|
+
if (parseWorkspaceGitGatewayOrigin(origin) !== origin)
|
|
75
|
+
throw new Error();
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
context.addIssue({
|
|
79
|
+
code: z.ZodIssueCode.custom,
|
|
80
|
+
message: 'gitGatewayOrigins must be fixed gateway origins',
|
|
81
|
+
path: ['gitGatewayOrigins'],
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
export function parseSandboxRuntimeConfig(input) {
|
|
87
|
+
return sandboxRuntimeConfigSchema.parse(input);
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const RUNTIME_ERROR_CODES: readonly ["protocol_incompatible", "unauthenticated", "untrusted_runtime_field", "idempotency_conflict", "uncertain_operation", "generation_mismatch", "stale_lease", "capability_unavailable", "identity_unavailable", "duplicate_instance", "invalid_config"];
|
|
3
|
+
export type RuntimeErrorCode = (typeof RUNTIME_ERROR_CODES)[number];
|
|
4
|
+
export declare const runtimeErrorSchema: z.ZodObject<{
|
|
5
|
+
code: z.ZodEnum<{
|
|
6
|
+
generation_mismatch: "generation_mismatch";
|
|
7
|
+
stale_lease: "stale_lease";
|
|
8
|
+
protocol_incompatible: "protocol_incompatible";
|
|
9
|
+
unauthenticated: "unauthenticated";
|
|
10
|
+
untrusted_runtime_field: "untrusted_runtime_field";
|
|
11
|
+
idempotency_conflict: "idempotency_conflict";
|
|
12
|
+
uncertain_operation: "uncertain_operation";
|
|
13
|
+
capability_unavailable: "capability_unavailable";
|
|
14
|
+
identity_unavailable: "identity_unavailable";
|
|
15
|
+
duplicate_instance: "duplicate_instance";
|
|
16
|
+
invalid_config: "invalid_config";
|
|
17
|
+
}>;
|
|
18
|
+
reason: z.ZodString;
|
|
19
|
+
operationId: z.ZodOptional<z.ZodString>;
|
|
20
|
+
currentRevision: z.ZodOptional<z.ZodNumber>;
|
|
21
|
+
retryAfterMs: z.ZodOptional<z.ZodNumber>;
|
|
22
|
+
}, z.core.$strict>;
|
|
23
|
+
export type RuntimeError = z.infer<typeof runtimeErrorSchema>;
|
|
24
|
+
export declare function runtimeError(code: RuntimeErrorCode, reason: string, extra?: Omit<RuntimeError, 'code' | 'reason'>): RuntimeError;
|
|
25
|
+
export declare const HTTP_STATUS_BY_ERROR: Record<RuntimeErrorCode, number>;
|
|
26
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB,iQAYtB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;kBAQpB,CAAC;AAEZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,wBAAgB,YAAY,CAC1B,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,CAAM,GAChD,YAAY,CAEd;AAED,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAYjE,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const RUNTIME_ERROR_CODES = [
|
|
3
|
+
'protocol_incompatible',
|
|
4
|
+
'unauthenticated',
|
|
5
|
+
'untrusted_runtime_field',
|
|
6
|
+
'idempotency_conflict',
|
|
7
|
+
'uncertain_operation',
|
|
8
|
+
'generation_mismatch',
|
|
9
|
+
'stale_lease',
|
|
10
|
+
'capability_unavailable',
|
|
11
|
+
'identity_unavailable',
|
|
12
|
+
'duplicate_instance',
|
|
13
|
+
'invalid_config',
|
|
14
|
+
];
|
|
15
|
+
export const runtimeErrorSchema = z
|
|
16
|
+
.object({
|
|
17
|
+
code: z.enum(RUNTIME_ERROR_CODES),
|
|
18
|
+
reason: z.string().min(1).max(256),
|
|
19
|
+
operationId: z.string().min(1).max(128).optional(),
|
|
20
|
+
currentRevision: z.number().int().nonnegative().optional(),
|
|
21
|
+
retryAfterMs: z.number().int().nonnegative().optional(),
|
|
22
|
+
})
|
|
23
|
+
.strict();
|
|
24
|
+
export function runtimeError(code, reason, extra = {}) {
|
|
25
|
+
return runtimeErrorSchema.parse({ code, reason, ...extra });
|
|
26
|
+
}
|
|
27
|
+
export const HTTP_STATUS_BY_ERROR = {
|
|
28
|
+
protocol_incompatible: 409,
|
|
29
|
+
unauthenticated: 401,
|
|
30
|
+
untrusted_runtime_field: 400,
|
|
31
|
+
idempotency_conflict: 409,
|
|
32
|
+
uncertain_operation: 409,
|
|
33
|
+
generation_mismatch: 409,
|
|
34
|
+
stale_lease: 409,
|
|
35
|
+
capability_unavailable: 409,
|
|
36
|
+
identity_unavailable: 503,
|
|
37
|
+
duplicate_instance: 409,
|
|
38
|
+
invalid_config: 500,
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,uBAAuB;IACvB,iBAAiB;IACjB,yBAAyB;IACzB,sBAAsB;IACtB,qBAAqB;IACrB,qBAAqB;IACrB,aAAa;IACb,wBAAwB;IACxB,sBAAsB;IACtB,oBAAoB;IACpB,gBAAgB;CACR,CAAC;AAIX,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;IACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAClD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAC1D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;CACxD,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,UAAU,YAAY,CAC1B,IAAsB,EACtB,MAAc,EACd,QAA+C,EAAE;IAEjD,OAAO,kBAAkB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAqC;IACpE,qBAAqB,EAAE,GAAG;IAC1B,eAAe,EAAE,GAAG;IACpB,uBAAuB,EAAE,GAAG;IAC5B,oBAAoB,EAAE,GAAG;IACzB,mBAAmB,EAAE,GAAG;IACxB,mBAAmB,EAAE,GAAG;IACxB,WAAW,EAAE,GAAG;IAChB,sBAAsB,EAAE,GAAG;IAC3B,oBAAoB,EAAE,GAAG;IACzB,kBAAkB,EAAE,GAAG;IACvB,cAAc,EAAE,GAAG;CACpB,CAAC"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const EVENT_STREAM_KINDS: readonly ["session", "workspace", "runtime"];
|
|
3
|
+
export type EventStreamKind = (typeof EVENT_STREAM_KINDS)[number];
|
|
4
|
+
export declare const eventStreamKindSchema: z.ZodEnum<{
|
|
5
|
+
session: "session";
|
|
6
|
+
runtime: "runtime";
|
|
7
|
+
workspace: "workspace";
|
|
8
|
+
}>;
|
|
9
|
+
export declare const sourceEventIdSchema: z.ZodObject<{
|
|
10
|
+
runtimeId: z.ZodString;
|
|
11
|
+
generation: z.ZodNumber;
|
|
12
|
+
runtimeEpoch: z.ZodNumber;
|
|
13
|
+
sourceSequence: z.ZodNumber;
|
|
14
|
+
}, z.core.$strict>;
|
|
15
|
+
export type SourceEventId = z.infer<typeof sourceEventIdSchema>;
|
|
16
|
+
export declare const publicEventCursorSchema: z.ZodObject<{
|
|
17
|
+
streamKind: z.ZodEnum<{
|
|
18
|
+
session: "session";
|
|
19
|
+
runtime: "runtime";
|
|
20
|
+
workspace: "workspace";
|
|
21
|
+
}>;
|
|
22
|
+
streamId: z.ZodString;
|
|
23
|
+
sequence: z.ZodNumber;
|
|
24
|
+
}, z.core.$strict>;
|
|
25
|
+
export type PublicEventCursor = z.infer<typeof publicEventCursorSchema>;
|
|
26
|
+
export declare const pendingSourceEventSchema: z.ZodObject<{
|
|
27
|
+
source: z.ZodObject<{
|
|
28
|
+
runtimeId: z.ZodString;
|
|
29
|
+
generation: z.ZodNumber;
|
|
30
|
+
runtimeEpoch: z.ZodNumber;
|
|
31
|
+
sourceSequence: z.ZodNumber;
|
|
32
|
+
}, z.core.$strict>;
|
|
33
|
+
payloadHash: z.ZodString;
|
|
34
|
+
type: z.ZodString;
|
|
35
|
+
payload: z.ZodUnknown;
|
|
36
|
+
occurredAt: z.ZodString;
|
|
37
|
+
}, z.core.$strict>;
|
|
38
|
+
export type PendingSourceEvent = z.infer<typeof pendingSourceEventSchema>;
|
|
39
|
+
export declare const sourceEventReceiptSchema: z.ZodObject<{
|
|
40
|
+
source: z.ZodObject<{
|
|
41
|
+
runtimeId: z.ZodString;
|
|
42
|
+
generation: z.ZodNumber;
|
|
43
|
+
runtimeEpoch: z.ZodNumber;
|
|
44
|
+
sourceSequence: z.ZodNumber;
|
|
45
|
+
}, z.core.$strict>;
|
|
46
|
+
payloadHash: z.ZodString;
|
|
47
|
+
publicCursor: z.ZodObject<{
|
|
48
|
+
streamKind: z.ZodEnum<{
|
|
49
|
+
session: "session";
|
|
50
|
+
runtime: "runtime";
|
|
51
|
+
workspace: "workspace";
|
|
52
|
+
}>;
|
|
53
|
+
streamId: z.ZodString;
|
|
54
|
+
sequence: z.ZodNumber;
|
|
55
|
+
}, z.core.$strict>;
|
|
56
|
+
}, z.core.$strict>;
|
|
57
|
+
export type SourceEventReceipt = z.infer<typeof sourceEventReceiptSchema>;
|
|
58
|
+
export declare function sourceEventKey(id: SourceEventId): string;
|
|
59
|
+
export type EventDedupResult = {
|
|
60
|
+
action: 'accept';
|
|
61
|
+
} | {
|
|
62
|
+
action: 'reuse';
|
|
63
|
+
receipt: SourceEventReceipt;
|
|
64
|
+
} | {
|
|
65
|
+
action: 'reject';
|
|
66
|
+
code: 'source_payload_mismatch';
|
|
67
|
+
};
|
|
68
|
+
export declare function resolveSourceEvent(existing: SourceEventReceipt | undefined, payloadHash: string): EventDedupResult;
|
|
69
|
+
export declare function nextSourceSequence(last: number): number;
|
|
70
|
+
export declare const sourceEventBatchSchema: z.ZodObject<{
|
|
71
|
+
runtimeId: z.ZodString;
|
|
72
|
+
generation: z.ZodNumber;
|
|
73
|
+
runtimeEpoch: z.ZodNumber;
|
|
74
|
+
events: z.ZodArray<z.ZodObject<{
|
|
75
|
+
source: z.ZodObject<{
|
|
76
|
+
runtimeId: z.ZodString;
|
|
77
|
+
generation: z.ZodNumber;
|
|
78
|
+
runtimeEpoch: z.ZodNumber;
|
|
79
|
+
sourceSequence: z.ZodNumber;
|
|
80
|
+
}, z.core.$strict>;
|
|
81
|
+
payloadHash: z.ZodString;
|
|
82
|
+
type: z.ZodString;
|
|
83
|
+
payload: z.ZodUnknown;
|
|
84
|
+
occurredAt: z.ZodString;
|
|
85
|
+
}, z.core.$strict>>;
|
|
86
|
+
}, z.core.$strict>;
|
|
87
|
+
export type SourceEventBatch = z.infer<typeof sourceEventBatchSchema>;
|
|
88
|
+
export declare const publicEventSchema: z.ZodObject<{
|
|
89
|
+
streamKind: z.ZodEnum<{
|
|
90
|
+
session: "session";
|
|
91
|
+
runtime: "runtime";
|
|
92
|
+
workspace: "workspace";
|
|
93
|
+
}>;
|
|
94
|
+
streamId: z.ZodString;
|
|
95
|
+
sequence: z.ZodNumber;
|
|
96
|
+
type: z.ZodString;
|
|
97
|
+
payload: z.ZodUnknown;
|
|
98
|
+
occurredAt: z.ZodString;
|
|
99
|
+
source: z.ZodOptional<z.ZodObject<{
|
|
100
|
+
runtimeId: z.ZodString;
|
|
101
|
+
generation: z.ZodNumber;
|
|
102
|
+
runtimeEpoch: z.ZodNumber;
|
|
103
|
+
sourceSequence: z.ZodNumber;
|
|
104
|
+
}, z.core.$strict>>;
|
|
105
|
+
}, z.core.$strict>;
|
|
106
|
+
export type PublicEvent = z.infer<typeof publicEventSchema>;
|
|
107
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB,8CAA+C,CAAC;AAC/E,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAClE,eAAO,MAAM,qBAAqB;;;;EAA6B,CAAC;AAEhE,eAAO,MAAM,mBAAmB;;;;;kBAOrB,CAAC;AAEZ,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,uBAAuB;;;;;;;;kBAMzB,CAAC;AAEZ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,wBAAwB;;;;;;;;;;;kBAQ1B,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;kBAM1B,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,wBAAgB,cAAc,CAAC,EAAE,EAAE,aAAa,GAAG,MAAM,CAExD;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GACpB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,kBAAkB,CAAA;CAAE,GAChD;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,yBAAyB,CAAA;CAAE,CAAC;AAE1D,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,EACxC,WAAW,EAAE,MAAM,GAClB,gBAAgB,CAIlB;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKvD;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;kBAOxB,CAAC;AAEZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;kBAUnB,CAAC;AAEZ,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const EVENT_STREAM_KINDS = ['session', 'workspace', 'runtime'];
|
|
3
|
+
export const eventStreamKindSchema = z.enum(EVENT_STREAM_KINDS);
|
|
4
|
+
export const sourceEventIdSchema = z
|
|
5
|
+
.object({
|
|
6
|
+
runtimeId: z.string().min(1).max(128),
|
|
7
|
+
generation: z.number().int().nonnegative(),
|
|
8
|
+
runtimeEpoch: z.number().int().nonnegative(),
|
|
9
|
+
sourceSequence: z.number().int().positive(),
|
|
10
|
+
})
|
|
11
|
+
.strict();
|
|
12
|
+
export const publicEventCursorSchema = z
|
|
13
|
+
.object({
|
|
14
|
+
streamKind: eventStreamKindSchema,
|
|
15
|
+
streamId: z.string().min(1).max(128),
|
|
16
|
+
sequence: z.number().int().nonnegative(),
|
|
17
|
+
})
|
|
18
|
+
.strict();
|
|
19
|
+
export const pendingSourceEventSchema = z
|
|
20
|
+
.object({
|
|
21
|
+
source: sourceEventIdSchema,
|
|
22
|
+
payloadHash: z.string().length(64),
|
|
23
|
+
type: z.string().min(1).max(128),
|
|
24
|
+
payload: z.unknown(),
|
|
25
|
+
occurredAt: z.string().min(1),
|
|
26
|
+
})
|
|
27
|
+
.strict();
|
|
28
|
+
export const sourceEventReceiptSchema = z
|
|
29
|
+
.object({
|
|
30
|
+
source: sourceEventIdSchema,
|
|
31
|
+
payloadHash: z.string().length(64),
|
|
32
|
+
publicCursor: publicEventCursorSchema,
|
|
33
|
+
})
|
|
34
|
+
.strict();
|
|
35
|
+
export function sourceEventKey(id) {
|
|
36
|
+
return `${id.runtimeId}:${id.generation}:${id.runtimeEpoch}:${id.sourceSequence}`;
|
|
37
|
+
}
|
|
38
|
+
export function resolveSourceEvent(existing, payloadHash) {
|
|
39
|
+
if (!existing)
|
|
40
|
+
return { action: 'accept' };
|
|
41
|
+
if (existing.payloadHash === payloadHash)
|
|
42
|
+
return { action: 'reuse', receipt: existing };
|
|
43
|
+
return { action: 'reject', code: 'source_payload_mismatch' };
|
|
44
|
+
}
|
|
45
|
+
export function nextSourceSequence(last) {
|
|
46
|
+
if (!Number.isInteger(last) || last < 0) {
|
|
47
|
+
throw new Error('invalid_source_sequence');
|
|
48
|
+
}
|
|
49
|
+
return last + 1;
|
|
50
|
+
}
|
|
51
|
+
export const sourceEventBatchSchema = z
|
|
52
|
+
.object({
|
|
53
|
+
runtimeId: z.string().min(1).max(128),
|
|
54
|
+
generation: z.number().int().nonnegative(),
|
|
55
|
+
runtimeEpoch: z.number().int().nonnegative(),
|
|
56
|
+
events: z.array(pendingSourceEventSchema).min(1).max(100),
|
|
57
|
+
})
|
|
58
|
+
.strict();
|
|
59
|
+
export const publicEventSchema = z
|
|
60
|
+
.object({
|
|
61
|
+
streamKind: eventStreamKindSchema,
|
|
62
|
+
streamId: z.string().min(1).max(128),
|
|
63
|
+
sequence: z.number().int().positive(),
|
|
64
|
+
type: z.string().min(1).max(128),
|
|
65
|
+
payload: z.unknown(),
|
|
66
|
+
occurredAt: z.string().min(1),
|
|
67
|
+
source: sourceEventIdSchema.optional(),
|
|
68
|
+
})
|
|
69
|
+
.strict();
|
|
70
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const WORKSPACE_EXECUTION_KIND: "workspace-execution";
|
|
3
|
+
export declare const WORKSPACE_EXECUTION_AUDIENCE: "playcraft-runtime";
|
|
4
|
+
export declare const workspaceExecutionGrantClaimsSchema: z.ZodObject<{
|
|
5
|
+
kind: z.ZodLiteral<"workspace-execution">;
|
|
6
|
+
credentialType: z.ZodLiteral<"workspace-execution">;
|
|
7
|
+
environment: z.ZodString;
|
|
8
|
+
userId: z.ZodString;
|
|
9
|
+
workspaceId: z.ZodString;
|
|
10
|
+
runtimeId: z.ZodString;
|
|
11
|
+
generation: z.ZodNumber;
|
|
12
|
+
runtimeEpoch: z.ZodNumber;
|
|
13
|
+
grantId: z.ZodString;
|
|
14
|
+
aud: z.ZodLiteral<"playcraft-runtime">;
|
|
15
|
+
}, z.core.$strict>;
|
|
16
|
+
export type WorkspaceExecutionGrantClaims = z.infer<typeof workspaceExecutionGrantClaimsSchema>;
|
|
17
|
+
/** Persisted grant metadata. The JWT itself is never part of this record. */
|
|
18
|
+
export declare const workspaceExecutionGrantRecordSchema: z.ZodObject<{
|
|
19
|
+
grantId: z.ZodString;
|
|
20
|
+
environment: z.ZodString;
|
|
21
|
+
userId: z.ZodString;
|
|
22
|
+
workspaceId: z.ZodString;
|
|
23
|
+
runtimeId: z.ZodString;
|
|
24
|
+
generation: z.ZodNumber;
|
|
25
|
+
runtimeEpoch: z.ZodNumber;
|
|
26
|
+
expiresAt: z.ZodString;
|
|
27
|
+
revokedAt: z.ZodOptional<z.ZodString>;
|
|
28
|
+
}, z.core.$strict>;
|
|
29
|
+
export type WorkspaceExecutionGrantRecord = z.infer<typeof workspaceExecutionGrantRecordSchema>;
|
|
30
|
+
export declare const GRANT_CLIENT_FORBIDDEN_FIELDS: readonly ["token", "grantId", "kind", "credentialType", "aud", "expiresAt", "revokedAt", "runtimeId", "generation", "runtimeEpoch", "leaseFence", "rootPath", "workspaceRoot", "binding", "repositoryUrl", "branchName", "preparation", "gitAccess", "parentGrantId", "authzRevision", "scope", "modelConfigIds"];
|
|
31
|
+
export declare function findForbiddenGrantFields(input: unknown): string[];
|
|
32
|
+
export declare function parseWorkspaceExecutionGrantClaims(input: unknown): WorkspaceExecutionGrantClaims;
|
|
33
|
+
export declare function newGrantId(): string;
|
|
34
|
+
export declare function mintWorkspaceExecutionGrant(claims: WorkspaceExecutionGrantClaims, secret: string, expiresIn?: string | number): Promise<string>;
|
|
35
|
+
export declare function verifyWorkspaceExecutionGrant(token: string, secret: string): Promise<WorkspaceExecutionGrantClaims>;
|
|
36
|
+
//# sourceMappingURL=execution-grant.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-grant.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/execution-grant.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,wBAAwB,EAAG,qBAA8B,CAAC;AACvE,eAAO,MAAM,4BAA4B,EAAG,mBAA4B,CAAC;AAIzE,eAAO,MAAM,mCAAmC;;;;;;;;;;;kBAarC,CAAC;AAEZ,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAEhG,6EAA6E;AAC7E,eAAO,MAAM,mCAAmC;;;;;;;;;;kBAYrC,CAAC;AAEZ,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAEhG,eAAO,MAAM,6BAA6B,mTAuBhC,CAAC;AAEX,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAGjE;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,OAAO,GAAG,6BAA6B,CAEhG;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,6BAA6B,EACrC,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,MAAM,GAAG,MAAa,GAChC,OAAO,CAAC,MAAM,CAAC,CASjB;AAED,wBAAsB,6BAA6B,CACjD,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,6BAA6B,CAAC,CAkBxC"}
|