@spotpatch/shared 1.11.0 → 1.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/annotation-C0Me9mN2.d.cts +102 -0
- package/dist/annotation-C0Me9mN2.d.ts +102 -0
- package/dist/{chunk-RK46Y7LD.js → chunk-5CHYMRNS.js} +3 -2
- package/dist/chunk-5CHYMRNS.js.map +1 -0
- package/dist/chunk-C2PJ4UUU.js +195 -0
- package/dist/chunk-C2PJ4UUU.js.map +1 -0
- package/dist/chunk-DYTWEIES.js +89 -0
- package/dist/chunk-DYTWEIES.js.map +1 -0
- package/dist/{chunk-JGOIBOFI.js → chunk-FPDSZDP2.js} +16 -2
- package/dist/chunk-FPDSZDP2.js.map +1 -0
- package/dist/chunk-IUTOVI5G.js +584 -0
- package/dist/chunk-IUTOVI5G.js.map +1 -0
- package/dist/{chunk-JU5HIWX7.js → chunk-YQ5GL523.js} +8 -173
- package/dist/chunk-YQ5GL523.js.map +1 -0
- package/dist/contextual-ask-B0mCFn92.d.cts +1451 -0
- package/dist/contextual-ask-B0mCFn92.d.ts +1451 -0
- package/dist/contextual-ask-browser.cjs +200 -0
- package/dist/contextual-ask-browser.cjs.map +1 -0
- package/dist/contextual-ask-browser.d.cts +31 -0
- package/dist/contextual-ask-browser.d.ts +31 -0
- package/dist/contextual-ask-browser.js +66 -0
- package/dist/contextual-ask-browser.js.map +1 -0
- package/dist/contextual-ask-node.cjs +968 -0
- package/dist/contextual-ask-node.cjs.map +1 -0
- package/dist/contextual-ask-node.d.cts +14 -0
- package/dist/contextual-ask-node.d.ts +14 -0
- package/dist/contextual-ask-node.js +122 -0
- package/dist/contextual-ask-node.js.map +1 -0
- package/dist/{data-flow-runtime-oKZOBYAB.d.ts → data-flow-runtime-D8HPSb2i.d.cts} +14 -13
- package/dist/{data-flow-runtime-BiouPr1G.d.cts → data-flow-runtime-vKeEaJgT.d.ts} +14 -13
- package/dist/data-flow-runtime.cjs +4 -1
- package/dist/data-flow-runtime.cjs.map +1 -1
- package/dist/data-flow-runtime.d.cts +2 -2
- package/dist/data-flow-runtime.d.ts +2 -2
- package/dist/data-flow-runtime.js +2 -2
- package/dist/{endpoints-GedF44M2.d.cts → endpoints-O3ohYyAo.d.cts} +7 -1
- package/dist/{endpoints-GedF44M2.d.ts → endpoints-O3ohYyAo.d.ts} +7 -1
- package/dist/error-code-DRz2eqcB.d.cts +63 -0
- package/dist/error-code-DRz2eqcB.d.ts +63 -0
- package/dist/external-agent-node.cjs +142 -121
- package/dist/external-agent-node.cjs.map +1 -1
- package/dist/external-agent-node.d.cts +28 -27
- package/dist/external-agent-node.d.ts +28 -27
- package/dist/external-agent-node.js +4 -2
- package/dist/external-agent-node.js.map +1 -1
- package/dist/{external-handoff--lT9XQEw.d.ts → external-handoff-DighrWn8.d.ts} +33 -133
- package/dist/{external-handoff--lT9XQEw.d.cts → external-handoff-DwtFFR6F.d.cts} +33 -133
- package/dist/external-handoff-browser.cjs +2 -0
- package/dist/external-handoff-browser.cjs.map +1 -1
- package/dist/external-handoff-browser.d.cts +4 -3
- package/dist/external-handoff-browser.d.ts +4 -3
- package/dist/external-handoff-browser.js +1 -1
- package/dist/index.cjs +1146 -423
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +106 -158
- package/dist/index.d.ts +106 -158
- package/dist/index.js +98 -17
- package/dist/index.js.map +1 -1
- package/package.json +29 -2
- package/dist/chunk-JGOIBOFI.js.map +0 -1
- package/dist/chunk-JU5HIWX7.js.map +0 -1
- package/dist/chunk-RK46Y7LD.js.map +0 -1
- package/dist/{external-agent-control-BB-oicmw.d.cts → external-agent-control-CRBbjDDk.d.cts} +31 -31
- package/dist/{external-agent-control-BB-oicmw.d.ts → external-agent-control-CRBbjDDk.d.ts} +31 -31
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/external-agent-node.ts"],"sourcesContent":["/// <reference types=\"node\" />\n\nimport { createHash } from \"node:crypto\";\nimport { lstat, mkdir, realpath } from \"node:fs/promises\";\nimport os from \"node:os\";\nimport path from \"node:path\";\n\nimport { z } from \"zod\";\n\nimport {\n EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS,\n EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION,\n EXTERNAL_HANDOFF_FRAMEWORKS,\n EXTERNAL_HANDOFF_LIMITS,\n activeAdapterSummarySchema,\n dispatchSummarySchema,\n externalHandoffReportableDispatchPhaseSchema,\n externalHandoffSnapshotSchema,\n externalHandoffSummarySchema,\n type ActiveAdapterSummary,\n type DispatchSummary,\n type ExternalHandoffSnapshot,\n} from \"./protocol/external-handoff.js\";\nimport { ERROR_CODES } from \"./errors/error-code.js\";\nimport { SpotPatchError } from \"./errors/spotpatch-error.js\";\n\nexport const SPOTPATCH_BRIDGE_TOKEN_HEADER = \"X-SpotPatch-Bridge-Token\" as const;\nexport const SPOTPATCH_BRIDGE_PATHS = Object.freeze({\n status: \"/bridge/v1/status\",\n current: \"/bridge/v1/handoff/current\",\n wait: \"/bridge/v1/handoff/wait\",\n ack: \"/bridge/v1/handoff/ack\",\n activeClaim: \"/bridge/v1/active/claim\",\n activeHeartbeat: \"/bridge/v1/active/heartbeat\",\n activeReport: \"/bridge/v1/active/report\",\n activeRelease: \"/bridge/v1/active/release\",\n});\nexport const EXTERNAL_HANDOFF_PROJECT_KEY_SALT =\n \"spotpatch-external-agent-project-v1\" as const;\n\nconst opaqueIdSchema = z\n .string()\n .min(22)\n .max(128)\n .regex(/^[A-Za-z0-9_-]+$/u);\nconst projectKeySchema = z\n .string()\n .length(64)\n .regex(/^[a-f0-9]+$/u);\nconst loopbackEndpointSchema = z.url().refine((value) => {\n const match = /^http:\\/\\/127\\.0\\.0\\.1:([1-9][0-9]{0,4})$/u.exec(value);\n\n if (match?.[1] === undefined) {\n return false;\n }\n\n const port = Number(match[1]);\n return Number.isSafeInteger(port) && port <= 65_535;\n});\n\nexport const externalHandoffDescriptorSchema = z.strictObject({\n schemaVersion: z.literal(1),\n brokerProtocolVersion: z.literal(EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION),\n projectKey: projectKeySchema,\n sessionId: opaqueIdSchema,\n framework: z.enum(EXTERNAL_HANDOFF_FRAMEWORKS),\n endpoint: loopbackEndpointSchema,\n bridgeToken: z\n .string()\n .min(43)\n .max(128)\n .regex(/^[A-Za-z0-9_-]+$/u),\n pid: z.number().int().positive(),\n createdAt: z.iso.datetime(),\n});\n\nexport const bridgeStatusRequestSchema = z.strictObject({});\nexport const bridgeCurrentRequestSchema = z.strictObject({\n cursor: opaqueIdSchema.optional(),\n});\nexport const bridgeWaitRequestSchema = z.strictObject({\n afterCursor: opaqueIdSchema.optional(),\n timeoutMs: z\n .number()\n .int()\n .positive()\n .max(EXTERNAL_HANDOFF_LIMITS.maximumWaitMs)\n .default(EXTERNAL_HANDOFF_LIMITS.defaultWaitMs),\n});\nexport const bridgeAckRequestSchema = z.strictObject({\n cursor: opaqueIdSchema,\n connectorInstanceId: opaqueIdSchema,\n});\nexport const bridgeActiveClaimRequestSchema = z.strictObject({\n adapterKind: z.enum(EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS),\n connectorInstanceId: opaqueIdSchema,\n});\nexport const bridgeActiveHeartbeatRequestSchema = z.strictObject({\n leaseToken: opaqueIdSchema,\n});\nexport const bridgeActiveReportRequestSchema = z.strictObject({\n leaseToken: opaqueIdSchema,\n cursor: opaqueIdSchema,\n phase: externalHandoffReportableDispatchPhaseSchema,\n});\nexport const bridgeActiveReleaseRequestSchema = z.strictObject({\n leaseToken: opaqueIdSchema,\n});\nexport const bridgeStatusSchema = z.strictObject({\n brokerProtocolVersion: z.literal(EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION),\n projectKey: projectKeySchema,\n sessionId: opaqueIdSchema,\n framework: z.enum(EXTERNAL_HANDOFF_FRAMEWORKS),\n current: externalHandoffSummarySchema.nullable(),\n});\nexport const bridgeCurrentResultSchema = z.strictObject({\n outcome: z.literal(\"handoff\"),\n snapshot: externalHandoffSnapshotSchema,\n});\nexport const bridgeWaitResultSchema = z.discriminatedUnion(\"outcome\", [\n bridgeCurrentResultSchema,\n z.strictObject({ outcome: z.literal(\"timeout\") }),\n]);\nexport const bridgeAckResultSchema = z.strictObject({\n summary: externalHandoffSummarySchema,\n});\nexport const bridgeActiveClaimResultSchema = z.strictObject({\n leaseToken: opaqueIdSchema,\n heartbeatIntervalMs: z.literal(EXTERNAL_HANDOFF_LIMITS.activeHeartbeatIntervalMs),\n baselineCursor: opaqueIdSchema.nullable(),\n activeAdapter: activeAdapterSummarySchema,\n});\nexport const bridgeActiveStateResultSchema = z.strictObject({\n activeAdapter: activeAdapterSummarySchema.nullable(),\n dispatch: dispatchSummarySchema.nullable(),\n});\nexport const bridgeActiveHeartbeatResultSchema = bridgeActiveStateResultSchema;\nexport const bridgeActiveReportResultSchema = bridgeActiveStateResultSchema;\nexport const bridgeActiveReleaseResultSchema = bridgeActiveStateResultSchema;\n\nexport type ExternalHandoffDescriptor = z.infer<typeof externalHandoffDescriptorSchema>;\nexport type BridgeStatus = z.infer<typeof bridgeStatusSchema>;\nexport type BridgeWaitResult =\n | Readonly<{ outcome: \"handoff\"; snapshot: ExternalHandoffSnapshot }>\n | Readonly<{ outcome: \"timeout\" }>;\nexport interface BridgeActiveClaimResult {\n readonly leaseToken: string;\n readonly heartbeatIntervalMs: typeof EXTERNAL_HANDOFF_LIMITS.activeHeartbeatIntervalMs;\n readonly baselineCursor: string | null;\n readonly activeAdapter: ActiveAdapterSummary;\n}\nexport interface BridgeActiveStateResult {\n readonly activeAdapter: ActiveAdapterSummary | null;\n readonly dispatch: DispatchSummary | null;\n}\n\nfunction currentUid(): number {\n const uid = process.getuid?.();\n\n if (uid === undefined) {\n throw new SpotPatchError(ERROR_CODES.BRIDGE_UNAUTHORIZED);\n }\n\n return uid;\n}\n\nasync function assertPrivateDirectory(directory: string, uid: number): Promise<void> {\n const status = await lstat(directory);\n\n if (\n !status.isDirectory() ||\n status.isSymbolicLink() ||\n status.uid !== uid ||\n (status.mode & 0o077) !== 0\n ) {\n throw new SpotPatchError(ERROR_CODES.BRIDGE_UNAUTHORIZED);\n }\n}\n\nasync function ensurePrivateSubdirectory(\n base: string,\n uid: number,\n create: boolean,\n): Promise<string> {\n const directory = path.join(base, \"spotpatch\");\n\n if (create) {\n try {\n await mkdir(directory, { mode: 0o700 });\n } catch (error: unknown) {\n if ((error as NodeJS.ErrnoException).code !== \"EEXIST\") {\n throw error;\n }\n }\n }\n\n await assertPrivateDirectory(directory, uid);\n return directory;\n}\n\nexport async function resolveExternalHandoffRuntimeDirectory(\n create: boolean,\n): Promise<string> {\n if (process.platform === \"win32\") {\n throw new SpotPatchError(ERROR_CODES.BRIDGE_UNAUTHORIZED);\n }\n\n const uid = currentUid();\n const xdgRuntimeDirectory = process.env.XDG_RUNTIME_DIR;\n\n if (xdgRuntimeDirectory !== undefined && !path.isAbsolute(xdgRuntimeDirectory)) {\n throw new SpotPatchError(ERROR_CODES.BRIDGE_UNAUTHORIZED);\n }\n\n if (xdgRuntimeDirectory !== undefined) {\n try {\n await assertPrivateDirectory(xdgRuntimeDirectory, uid);\n return await ensurePrivateSubdirectory(xdgRuntimeDirectory, uid, create);\n } catch (error: unknown) {\n if (!create && (error as NodeJS.ErrnoException).code === \"ENOENT\") {\n throw new SpotPatchError(ERROR_CODES.SESSION_NOT_FOUND);\n }\n\n throw error;\n }\n }\n\n const fallback = path.join(os.tmpdir(), `spotpatch-${String(uid)}`);\n\n if (create) {\n try {\n await mkdir(fallback, { mode: 0o700 });\n } catch (error: unknown) {\n if ((error as NodeJS.ErrnoException).code !== \"EEXIST\") {\n throw error;\n }\n }\n }\n\n try {\n await assertPrivateDirectory(fallback, uid);\n } catch (error: unknown) {\n if (!create && (error as NodeJS.ErrnoException).code === \"ENOENT\") {\n throw new SpotPatchError(ERROR_CODES.SESSION_NOT_FOUND);\n }\n\n throw error;\n }\n\n return fallback;\n}\n\nexport async function computeExternalHandoffProjectKey(root: string): Promise<string> {\n const canonicalRoot = await realpath(root);\n return createHash(\"sha256\")\n .update(`${EXTERNAL_HANDOFF_PROJECT_KEY_SALT}\\0${canonicalRoot}`)\n .digest(\"hex\");\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/external-agent-node.ts"],"sourcesContent":["/// <reference types=\"node\" />\n\nimport { createHash } from \"node:crypto\";\nimport { lstat, mkdir, realpath } from \"node:fs/promises\";\nimport os from \"node:os\";\nimport path from \"node:path\";\n\nimport { z } from \"zod\";\n\nimport {\n EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS,\n EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION,\n EXTERNAL_HANDOFF_FRAMEWORKS,\n EXTERNAL_HANDOFF_LIMITS,\n activeAdapterSummarySchema,\n dispatchSummarySchema,\n externalHandoffReportableDispatchPhaseSchema,\n externalHandoffSnapshotSchema,\n externalHandoffSummarySchema,\n type ActiveAdapterSummary,\n type DispatchSummary,\n type ExternalHandoffSnapshot,\n} from \"./protocol/external-handoff.js\";\nimport { ERROR_CODES } from \"./errors/error-code.js\";\nimport { SpotPatchError } from \"./errors/spotpatch-error.js\";\n\nexport const SPOTPATCH_BRIDGE_TOKEN_HEADER = \"X-SpotPatch-Bridge-Token\" as const;\nexport const SPOTPATCH_BRIDGE_PATHS = Object.freeze({\n status: \"/bridge/v1/status\",\n current: \"/bridge/v1/handoff/current\",\n wait: \"/bridge/v1/handoff/wait\",\n ack: \"/bridge/v1/handoff/ack\",\n activeClaim: \"/bridge/v1/active/claim\",\n activeHeartbeat: \"/bridge/v1/active/heartbeat\",\n activeReport: \"/bridge/v1/active/report\",\n activeRelease: \"/bridge/v1/active/release\",\n});\nexport const EXTERNAL_HANDOFF_PROJECT_KEY_SALT =\n \"spotpatch-external-agent-project-v1\" as const;\n\nconst opaqueIdSchema = z\n .string()\n .min(22)\n .max(128)\n .regex(/^[A-Za-z0-9_-]+$/u);\nconst projectKeySchema = z\n .string()\n .length(64)\n .regex(/^[a-f0-9]+$/u);\nconst loopbackEndpointSchema = z.url().refine((value) => {\n const match = /^http:\\/\\/127\\.0\\.0\\.1:([1-9][0-9]{0,4})$/u.exec(value);\n\n if (match?.[1] === undefined) {\n return false;\n }\n\n const port = Number(match[1]);\n return Number.isSafeInteger(port) && port <= 65_535;\n});\n\nexport const externalHandoffDescriptorSchema = z.strictObject({\n schemaVersion: z.literal(1),\n brokerProtocolVersion: z.literal(EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION),\n projectKey: projectKeySchema,\n sessionId: opaqueIdSchema,\n framework: z.enum(EXTERNAL_HANDOFF_FRAMEWORKS),\n endpoint: loopbackEndpointSchema,\n bridgeToken: z\n .string()\n .min(43)\n .max(128)\n .regex(/^[A-Za-z0-9_-]+$/u),\n pid: z.number().int().positive(),\n createdAt: z.iso.datetime(),\n});\n\nexport const bridgeStatusRequestSchema = z.strictObject({});\nexport const bridgeCurrentRequestSchema = z.strictObject({\n cursor: opaqueIdSchema.optional(),\n});\nexport const bridgeWaitRequestSchema = z.strictObject({\n afterCursor: opaqueIdSchema.optional(),\n timeoutMs: z\n .number()\n .int()\n .positive()\n .max(EXTERNAL_HANDOFF_LIMITS.maximumWaitMs)\n .default(EXTERNAL_HANDOFF_LIMITS.defaultWaitMs),\n});\nexport const bridgeAckRequestSchema = z.strictObject({\n cursor: opaqueIdSchema,\n connectorInstanceId: opaqueIdSchema,\n});\nexport const bridgeActiveClaimRequestSchema = z.strictObject({\n adapterKind: z.enum(EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS),\n connectorInstanceId: opaqueIdSchema,\n});\nexport const bridgeActiveHeartbeatRequestSchema = z.strictObject({\n leaseToken: opaqueIdSchema,\n});\nexport const bridgeActiveReportRequestSchema = z.strictObject({\n leaseToken: opaqueIdSchema,\n cursor: opaqueIdSchema,\n phase: externalHandoffReportableDispatchPhaseSchema,\n});\nexport const bridgeActiveReleaseRequestSchema = z.strictObject({\n leaseToken: opaqueIdSchema,\n});\nexport const bridgeStatusSchema = z.strictObject({\n brokerProtocolVersion: z.literal(EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION),\n projectKey: projectKeySchema,\n sessionId: opaqueIdSchema,\n framework: z.enum(EXTERNAL_HANDOFF_FRAMEWORKS),\n current: externalHandoffSummarySchema.nullable(),\n});\nexport const bridgeCurrentResultSchema = z.strictObject({\n outcome: z.literal(\"handoff\"),\n snapshot: externalHandoffSnapshotSchema,\n});\nexport const bridgeWaitResultSchema = z.discriminatedUnion(\"outcome\", [\n bridgeCurrentResultSchema,\n z.strictObject({ outcome: z.literal(\"timeout\") }),\n]);\nexport const bridgeAckResultSchema = z.strictObject({\n summary: externalHandoffSummarySchema,\n});\nexport const bridgeActiveClaimResultSchema = z.strictObject({\n leaseToken: opaqueIdSchema,\n heartbeatIntervalMs: z.literal(EXTERNAL_HANDOFF_LIMITS.activeHeartbeatIntervalMs),\n baselineCursor: opaqueIdSchema.nullable(),\n activeAdapter: activeAdapterSummarySchema,\n});\nexport const bridgeActiveStateResultSchema = z.strictObject({\n activeAdapter: activeAdapterSummarySchema.nullable(),\n dispatch: dispatchSummarySchema.nullable(),\n});\nexport const bridgeActiveHeartbeatResultSchema = bridgeActiveStateResultSchema;\nexport const bridgeActiveReportResultSchema = bridgeActiveStateResultSchema;\nexport const bridgeActiveReleaseResultSchema = bridgeActiveStateResultSchema;\n\nexport type ExternalHandoffDescriptor = z.infer<typeof externalHandoffDescriptorSchema>;\nexport type BridgeStatus = z.infer<typeof bridgeStatusSchema>;\nexport type BridgeWaitResult =\n | Readonly<{ outcome: \"handoff\"; snapshot: ExternalHandoffSnapshot }>\n | Readonly<{ outcome: \"timeout\" }>;\nexport interface BridgeActiveClaimResult {\n readonly leaseToken: string;\n readonly heartbeatIntervalMs: typeof EXTERNAL_HANDOFF_LIMITS.activeHeartbeatIntervalMs;\n readonly baselineCursor: string | null;\n readonly activeAdapter: ActiveAdapterSummary;\n}\nexport interface BridgeActiveStateResult {\n readonly activeAdapter: ActiveAdapterSummary | null;\n readonly dispatch: DispatchSummary | null;\n}\n\nfunction currentUid(): number {\n const uid = process.getuid?.();\n\n if (uid === undefined) {\n throw new SpotPatchError(ERROR_CODES.BRIDGE_UNAUTHORIZED);\n }\n\n return uid;\n}\n\nasync function assertPrivateDirectory(directory: string, uid: number): Promise<void> {\n const status = await lstat(directory);\n\n if (\n !status.isDirectory() ||\n status.isSymbolicLink() ||\n status.uid !== uid ||\n (status.mode & 0o077) !== 0\n ) {\n throw new SpotPatchError(ERROR_CODES.BRIDGE_UNAUTHORIZED);\n }\n}\n\nasync function ensurePrivateSubdirectory(\n base: string,\n uid: number,\n create: boolean,\n): Promise<string> {\n const directory = path.join(base, \"spotpatch\");\n\n if (create) {\n try {\n await mkdir(directory, { mode: 0o700 });\n } catch (error: unknown) {\n if ((error as NodeJS.ErrnoException).code !== \"EEXIST\") {\n throw error;\n }\n }\n }\n\n await assertPrivateDirectory(directory, uid);\n return directory;\n}\n\nexport async function resolveExternalHandoffRuntimeDirectory(\n create: boolean,\n): Promise<string> {\n if (process.platform === \"win32\") {\n throw new SpotPatchError(ERROR_CODES.BRIDGE_UNAUTHORIZED);\n }\n\n const uid = currentUid();\n const xdgRuntimeDirectory = process.env.XDG_RUNTIME_DIR;\n\n if (xdgRuntimeDirectory !== undefined && !path.isAbsolute(xdgRuntimeDirectory)) {\n throw new SpotPatchError(ERROR_CODES.BRIDGE_UNAUTHORIZED);\n }\n\n if (xdgRuntimeDirectory !== undefined) {\n try {\n await assertPrivateDirectory(xdgRuntimeDirectory, uid);\n return await ensurePrivateSubdirectory(xdgRuntimeDirectory, uid, create);\n } catch (error: unknown) {\n if (!create && (error as NodeJS.ErrnoException).code === \"ENOENT\") {\n throw new SpotPatchError(ERROR_CODES.SESSION_NOT_FOUND);\n }\n\n throw error;\n }\n }\n\n const fallback = path.join(os.tmpdir(), `spotpatch-${String(uid)}`);\n\n if (create) {\n try {\n await mkdir(fallback, { mode: 0o700 });\n } catch (error: unknown) {\n if ((error as NodeJS.ErrnoException).code !== \"EEXIST\") {\n throw error;\n }\n }\n }\n\n try {\n await assertPrivateDirectory(fallback, uid);\n } catch (error: unknown) {\n if (!create && (error as NodeJS.ErrnoException).code === \"ENOENT\") {\n throw new SpotPatchError(ERROR_CODES.SESSION_NOT_FOUND);\n }\n\n throw error;\n }\n\n return fallback;\n}\n\nexport async function computeExternalHandoffProjectKey(root: string): Promise<string> {\n const canonicalRoot = await realpath(root);\n return createHash(\"sha256\")\n .update(`${EXTERNAL_HANDOFF_PROJECT_KEY_SALT}\\0${canonicalRoot}`)\n .digest(\"hex\");\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,105 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
|
|
3
|
-
interface ContextBudget {
|
|
4
|
-
readonly totalCharacters: number;
|
|
5
|
-
readonly domCharacters: number;
|
|
6
|
-
readonly cssCharacters: number;
|
|
7
|
-
readonly codeCharacters: number;
|
|
8
|
-
readonly maxCodeLines: number;
|
|
9
|
-
readonly maxComponentDepth: number;
|
|
10
|
-
}
|
|
11
|
-
interface CodeContext {
|
|
12
|
-
readonly relativePath: string;
|
|
13
|
-
readonly language: "tsx" | "jsx";
|
|
14
|
-
readonly startLine: number;
|
|
15
|
-
readonly endLine: number;
|
|
16
|
-
readonly excerpt: string;
|
|
17
|
-
readonly boundary: "component" | "nearby-lines";
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
type SourceConfidence = "exact" | "probable" | "approximate" | "unknown";
|
|
21
|
-
type SourceOrigin = "jsx-host" | "react-fiber" | "dom-ancestor" | "none";
|
|
22
|
-
interface SourceRef {
|
|
23
|
-
readonly fileId?: string;
|
|
24
|
-
readonly relativePath?: string;
|
|
25
|
-
readonly line?: number;
|
|
26
|
-
readonly column?: number;
|
|
27
|
-
readonly origin: SourceOrigin;
|
|
28
|
-
readonly confidence: SourceConfidence;
|
|
29
|
-
}
|
|
30
|
-
interface ReactContext {
|
|
31
|
-
readonly supported: boolean;
|
|
32
|
-
readonly version?: string;
|
|
33
|
-
readonly componentName?: string;
|
|
34
|
-
readonly componentSourceId?: string;
|
|
35
|
-
readonly sourceVersion?: string;
|
|
36
|
-
readonly componentStack: readonly string[];
|
|
37
|
-
readonly source?: SourceRef;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
interface MatchedStyleRule {
|
|
41
|
-
readonly selector: string;
|
|
42
|
-
readonly declarations: string;
|
|
43
|
-
readonly source?: string;
|
|
44
|
-
readonly media?: string;
|
|
45
|
-
}
|
|
46
|
-
interface StyleContext {
|
|
47
|
-
readonly classNames: readonly string[];
|
|
48
|
-
readonly inlineStyle?: string;
|
|
49
|
-
readonly matchedRules: readonly MatchedStyleRule[];
|
|
50
|
-
readonly computed: Readonly<Record<string, string>>;
|
|
51
|
-
readonly warnings: readonly string[];
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
interface PageContext {
|
|
55
|
-
readonly url: string;
|
|
56
|
-
readonly pathname: string;
|
|
57
|
-
readonly title: string;
|
|
58
|
-
readonly viewportWidth: number;
|
|
59
|
-
readonly viewportHeight: number;
|
|
60
|
-
readonly devicePixelRatio: number;
|
|
61
|
-
}
|
|
62
|
-
interface ElementContext {
|
|
63
|
-
readonly tagName: string;
|
|
64
|
-
readonly selector: string;
|
|
65
|
-
readonly sanitizedHtml: string;
|
|
66
|
-
readonly textPreview?: string;
|
|
67
|
-
readonly role?: string;
|
|
68
|
-
readonly rect: Readonly<{
|
|
69
|
-
x: number;
|
|
70
|
-
y: number;
|
|
71
|
-
width: number;
|
|
72
|
-
height: number;
|
|
73
|
-
}>;
|
|
74
|
-
}
|
|
75
|
-
/** Protocol hard limit. Runtime configuration may choose a smaller limit. */
|
|
76
|
-
declare const MAX_ANNOTATION_TARGETS = 20;
|
|
77
|
-
/** Each target owns its requested change; the UI enforces the same bound. */
|
|
78
|
-
declare const MAX_TARGET_INSTRUCTION_CHARACTERS = 2000;
|
|
79
|
-
/** Keeps the complete, atomic user intent within the prompt and request budgets. */
|
|
80
|
-
declare const MAX_ANNOTATION_INSTRUCTION_CHARACTERS = 4000;
|
|
81
|
-
declare const SPOTPATCH_LOCALES: readonly ["en-US", "zh-CN"];
|
|
82
|
-
type SpotPatchLocale = (typeof SPOTPATCH_LOCALES)[number];
|
|
83
|
-
declare const SPOTPATCH_LOCALE_PREFERENCES: readonly ["auto", "en-US", "zh-CN"];
|
|
84
|
-
type SpotPatchLocalePreference = (typeof SPOTPATCH_LOCALE_PREFERENCES)[number];
|
|
85
|
-
interface SpotTargetContext {
|
|
86
|
-
readonly instruction: string;
|
|
87
|
-
readonly page?: Readonly<PageContext>;
|
|
88
|
-
readonly source: SourceRef;
|
|
89
|
-
readonly react: ReactContext;
|
|
90
|
-
readonly element: ElementContext;
|
|
91
|
-
readonly styles: StyleContext;
|
|
92
|
-
readonly code?: CodeContext;
|
|
93
|
-
readonly warnings: readonly string[];
|
|
94
|
-
}
|
|
95
|
-
interface SpotAnnotation {
|
|
96
|
-
readonly schemaVersion: 3;
|
|
97
|
-
readonly id: string;
|
|
98
|
-
readonly locale: SpotPatchLocale;
|
|
99
|
-
readonly page: Readonly<PageContext>;
|
|
100
|
-
readonly targets: readonly SpotTargetContext[];
|
|
101
|
-
readonly createdAt: string;
|
|
102
|
-
}
|
|
2
|
+
import { S as SpotAnnotation } from './annotation-C0Me9mN2.js';
|
|
103
3
|
|
|
104
4
|
declare const EXTERNAL_HANDOFF_SNAPSHOT_SCHEMA_VERSION: 1;
|
|
105
5
|
declare const EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION: 2;
|
|
@@ -144,11 +44,11 @@ type ExternalHandoffDispatchPhase = (typeof EXTERNAL_HANDOFF_DISPATCH_PHASES)[nu
|
|
|
144
44
|
type ExternalHandoffReportableDispatchPhase = (typeof EXTERNAL_HANDOFF_REPORTABLE_DISPATCH_PHASES)[number];
|
|
145
45
|
|
|
146
46
|
declare const externalHandoffReportableDispatchPhaseSchema: z.ZodEnum<{
|
|
147
|
-
|
|
47
|
+
failed: "failed";
|
|
148
48
|
dispatched: "dispatched";
|
|
149
|
-
working: "working";
|
|
150
49
|
completed: "completed";
|
|
151
|
-
|
|
50
|
+
dispatching: "dispatching";
|
|
51
|
+
working: "working";
|
|
152
52
|
"delivery-unknown": "delivery-unknown";
|
|
153
53
|
}>;
|
|
154
54
|
declare const externalHandoffSummarySchema: z.ZodObject<{
|
|
@@ -167,8 +67,8 @@ declare const externalHandoffSummarySchema: z.ZodObject<{
|
|
|
167
67
|
publishedAt: z.ZodISODateTime;
|
|
168
68
|
expiresAt: z.ZodISODateTime;
|
|
169
69
|
state: z.ZodEnum<{
|
|
170
|
-
available: "available";
|
|
171
70
|
expired: "expired";
|
|
71
|
+
available: "available";
|
|
172
72
|
superseded: "superseded";
|
|
173
73
|
}>;
|
|
174
74
|
pickupCount: z.ZodNumber;
|
|
@@ -307,8 +207,8 @@ declare const activeAdapterSummarySchema: z.ZodObject<{
|
|
|
307
207
|
}>;
|
|
308
208
|
state: z.ZodEnum<{
|
|
309
209
|
ready: "ready";
|
|
310
|
-
busy: "busy";
|
|
311
210
|
blocked: "blocked";
|
|
211
|
+
busy: "busy";
|
|
312
212
|
}>;
|
|
313
213
|
canDispatch: z.ZodBoolean;
|
|
314
214
|
connectedAt: z.ZodISODateTime;
|
|
@@ -321,13 +221,13 @@ declare const dispatchSummarySchema: z.ZodObject<{
|
|
|
321
221
|
}>;
|
|
322
222
|
revision: z.ZodNumber;
|
|
323
223
|
phase: z.ZodEnum<{
|
|
324
|
-
|
|
224
|
+
queued: "queued";
|
|
225
|
+
failed: "failed";
|
|
325
226
|
dispatched: "dispatched";
|
|
326
|
-
working: "working";
|
|
327
227
|
completed: "completed";
|
|
328
|
-
|
|
228
|
+
dispatching: "dispatching";
|
|
229
|
+
working: "working";
|
|
329
230
|
"delivery-unknown": "delivery-unknown";
|
|
330
|
-
queued: "queued";
|
|
331
231
|
}>;
|
|
332
232
|
updatedAt: z.ZodISODateTime;
|
|
333
233
|
}, z.core.$strict>;
|
|
@@ -467,8 +367,8 @@ declare const externalHandoffCapabilitySchema: z.ZodObject<{
|
|
|
467
367
|
}>;
|
|
468
368
|
state: z.ZodEnum<{
|
|
469
369
|
ready: "ready";
|
|
470
|
-
busy: "busy";
|
|
471
370
|
blocked: "blocked";
|
|
371
|
+
busy: "busy";
|
|
472
372
|
}>;
|
|
473
373
|
canDispatch: z.ZodBoolean;
|
|
474
374
|
connectedAt: z.ZodISODateTime;
|
|
@@ -481,13 +381,13 @@ declare const externalHandoffCapabilitySchema: z.ZodObject<{
|
|
|
481
381
|
}>;
|
|
482
382
|
revision: z.ZodNumber;
|
|
483
383
|
phase: z.ZodEnum<{
|
|
484
|
-
|
|
384
|
+
queued: "queued";
|
|
385
|
+
failed: "failed";
|
|
485
386
|
dispatched: "dispatched";
|
|
486
|
-
working: "working";
|
|
487
387
|
completed: "completed";
|
|
488
|
-
|
|
388
|
+
dispatching: "dispatching";
|
|
389
|
+
working: "working";
|
|
489
390
|
"delivery-unknown": "delivery-unknown";
|
|
490
|
-
queued: "queued";
|
|
491
391
|
}>;
|
|
492
392
|
updatedAt: z.ZodISODateTime;
|
|
493
393
|
}, z.core.$strict>>;
|
|
@@ -503,8 +403,8 @@ declare const externalHandoffPublishDeliverySchema: z.ZodDiscriminatedUnion<[z.Z
|
|
|
503
403
|
}>;
|
|
504
404
|
state: z.ZodEnum<{
|
|
505
405
|
ready: "ready";
|
|
506
|
-
busy: "busy";
|
|
507
406
|
blocked: "blocked";
|
|
407
|
+
busy: "busy";
|
|
508
408
|
}>;
|
|
509
409
|
canDispatch: z.ZodBoolean;
|
|
510
410
|
connectedAt: z.ZodISODateTime;
|
|
@@ -517,13 +417,13 @@ declare const externalHandoffPublishDeliverySchema: z.ZodDiscriminatedUnion<[z.Z
|
|
|
517
417
|
}>;
|
|
518
418
|
revision: z.ZodNumber;
|
|
519
419
|
phase: z.ZodEnum<{
|
|
520
|
-
|
|
420
|
+
queued: "queued";
|
|
421
|
+
failed: "failed";
|
|
521
422
|
dispatched: "dispatched";
|
|
522
|
-
working: "working";
|
|
523
423
|
completed: "completed";
|
|
524
|
-
|
|
424
|
+
dispatching: "dispatching";
|
|
425
|
+
working: "working";
|
|
525
426
|
"delivery-unknown": "delivery-unknown";
|
|
526
|
-
queued: "queued";
|
|
527
427
|
}>;
|
|
528
428
|
updatedAt: z.ZodISODateTime;
|
|
529
429
|
}, z.core.$strict>;
|
|
@@ -545,8 +445,8 @@ declare const externalHandoffPublishResultSchema: z.ZodObject<{
|
|
|
545
445
|
publishedAt: z.ZodISODateTime;
|
|
546
446
|
expiresAt: z.ZodISODateTime;
|
|
547
447
|
state: z.ZodEnum<{
|
|
548
|
-
available: "available";
|
|
549
448
|
expired: "expired";
|
|
449
|
+
available: "available";
|
|
550
450
|
superseded: "superseded";
|
|
551
451
|
}>;
|
|
552
452
|
pickupCount: z.ZodNumber;
|
|
@@ -563,8 +463,8 @@ declare const externalHandoffPublishResultSchema: z.ZodObject<{
|
|
|
563
463
|
}>;
|
|
564
464
|
state: z.ZodEnum<{
|
|
565
465
|
ready: "ready";
|
|
566
|
-
busy: "busy";
|
|
567
466
|
blocked: "blocked";
|
|
467
|
+
busy: "busy";
|
|
568
468
|
}>;
|
|
569
469
|
canDispatch: z.ZodBoolean;
|
|
570
470
|
connectedAt: z.ZodISODateTime;
|
|
@@ -577,13 +477,13 @@ declare const externalHandoffPublishResultSchema: z.ZodObject<{
|
|
|
577
477
|
}>;
|
|
578
478
|
revision: z.ZodNumber;
|
|
579
479
|
phase: z.ZodEnum<{
|
|
580
|
-
|
|
480
|
+
queued: "queued";
|
|
481
|
+
failed: "failed";
|
|
581
482
|
dispatched: "dispatched";
|
|
582
|
-
working: "working";
|
|
583
483
|
completed: "completed";
|
|
584
|
-
|
|
484
|
+
dispatching: "dispatching";
|
|
485
|
+
working: "working";
|
|
585
486
|
"delivery-unknown": "delivery-unknown";
|
|
586
|
-
queued: "queued";
|
|
587
487
|
}>;
|
|
588
488
|
updatedAt: z.ZodISODateTime;
|
|
589
489
|
}, z.core.$strict>;
|
|
@@ -607,8 +507,8 @@ declare const externalHandoffStatusResultSchema: z.ZodObject<{
|
|
|
607
507
|
publishedAt: z.ZodISODateTime;
|
|
608
508
|
expiresAt: z.ZodISODateTime;
|
|
609
509
|
state: z.ZodEnum<{
|
|
610
|
-
available: "available";
|
|
611
510
|
expired: "expired";
|
|
511
|
+
available: "available";
|
|
612
512
|
superseded: "superseded";
|
|
613
513
|
}>;
|
|
614
514
|
pickupCount: z.ZodNumber;
|
|
@@ -621,8 +521,8 @@ declare const externalHandoffStatusResultSchema: z.ZodObject<{
|
|
|
621
521
|
}>;
|
|
622
522
|
state: z.ZodEnum<{
|
|
623
523
|
ready: "ready";
|
|
624
|
-
busy: "busy";
|
|
625
524
|
blocked: "blocked";
|
|
525
|
+
busy: "busy";
|
|
626
526
|
}>;
|
|
627
527
|
canDispatch: z.ZodBoolean;
|
|
628
528
|
connectedAt: z.ZodISODateTime;
|
|
@@ -635,13 +535,13 @@ declare const externalHandoffStatusResultSchema: z.ZodObject<{
|
|
|
635
535
|
}>;
|
|
636
536
|
revision: z.ZodNumber;
|
|
637
537
|
phase: z.ZodEnum<{
|
|
638
|
-
|
|
538
|
+
queued: "queued";
|
|
539
|
+
failed: "failed";
|
|
639
540
|
dispatched: "dispatched";
|
|
640
|
-
working: "working";
|
|
641
541
|
completed: "completed";
|
|
642
|
-
|
|
542
|
+
dispatching: "dispatching";
|
|
543
|
+
working: "working";
|
|
643
544
|
"delivery-unknown": "delivery-unknown";
|
|
644
|
-
queued: "queued";
|
|
645
545
|
}>;
|
|
646
546
|
updatedAt: z.ZodISODateTime;
|
|
647
547
|
}, z.core.$strict>>;
|
|
@@ -717,4 +617,4 @@ type ExternalHandoffPublishRequest = z.infer<typeof externalHandoffPublishReques
|
|
|
717
617
|
type ExternalHandoffStatusRequest = z.infer<typeof externalHandoffStatusRequestSchema>;
|
|
718
618
|
type ExternalHandoffResolveDeliveryRequest = z.infer<typeof externalHandoffResolveDeliveryRequestSchema>;
|
|
719
619
|
|
|
720
|
-
export {
|
|
620
|
+
export { type ActiveAdapterSummary as A, externalHandoffCapabilitySchema as B, externalHandoffPublishDeliverySchema as C, type DispatchSummary as D, EXTERNAL_HANDOFF_LIMITS as E, externalHandoffPublishRequestSchema as F, externalHandoffPublishResultSchema as G, externalHandoffReportableDispatchPhaseSchema as H, externalHandoffResolveDeliveryRequestSchema as I, externalHandoffSnapshotSchema as J, externalHandoffStatusRequestSchema as K, externalHandoffStatusResultSchema as L, externalHandoffSummarySchema as M, type ExternalHandoffSnapshot as a, EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS as b, EXTERNAL_HANDOFF_ACTIVE_ADAPTER_STATES as c, EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION as d, EXTERNAL_HANDOFF_DISPATCH_PHASES as e, EXTERNAL_HANDOFF_FRAMEWORKS as f, EXTERNAL_HANDOFF_REPORTABLE_DISPATCH_PHASES as g, EXTERNAL_HANDOFF_SNAPSHOT_SCHEMA_VERSION as h, EXTERNAL_HANDOFF_STATES as i, type ExternalHandoffActiveAdapterKind as j, type ExternalHandoffActiveAdapterState as k, type ExternalHandoffCapability as l, type ExternalHandoffDispatchPhase as m, type ExternalHandoffFramework as n, type ExternalHandoffPublishDelivery as o, type ExternalHandoffPublishRequest as p, type ExternalHandoffPublishResult as q, type ExternalHandoffReportableDispatchPhase as r, type ExternalHandoffResolveDeliveryRequest as s, type ExternalHandoffState as t, type ExternalHandoffStatusRequest as u, type ExternalHandoffStatusResult as v, type ExternalHandoffSummary as w, activeAdapterSummarySchema as x, dispatchSummarySchema as y, externalHandoffCapabilityRequestSchema as z };
|
|
@@ -1,105 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
|
|
3
|
-
interface ContextBudget {
|
|
4
|
-
readonly totalCharacters: number;
|
|
5
|
-
readonly domCharacters: number;
|
|
6
|
-
readonly cssCharacters: number;
|
|
7
|
-
readonly codeCharacters: number;
|
|
8
|
-
readonly maxCodeLines: number;
|
|
9
|
-
readonly maxComponentDepth: number;
|
|
10
|
-
}
|
|
11
|
-
interface CodeContext {
|
|
12
|
-
readonly relativePath: string;
|
|
13
|
-
readonly language: "tsx" | "jsx";
|
|
14
|
-
readonly startLine: number;
|
|
15
|
-
readonly endLine: number;
|
|
16
|
-
readonly excerpt: string;
|
|
17
|
-
readonly boundary: "component" | "nearby-lines";
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
type SourceConfidence = "exact" | "probable" | "approximate" | "unknown";
|
|
21
|
-
type SourceOrigin = "jsx-host" | "react-fiber" | "dom-ancestor" | "none";
|
|
22
|
-
interface SourceRef {
|
|
23
|
-
readonly fileId?: string;
|
|
24
|
-
readonly relativePath?: string;
|
|
25
|
-
readonly line?: number;
|
|
26
|
-
readonly column?: number;
|
|
27
|
-
readonly origin: SourceOrigin;
|
|
28
|
-
readonly confidence: SourceConfidence;
|
|
29
|
-
}
|
|
30
|
-
interface ReactContext {
|
|
31
|
-
readonly supported: boolean;
|
|
32
|
-
readonly version?: string;
|
|
33
|
-
readonly componentName?: string;
|
|
34
|
-
readonly componentSourceId?: string;
|
|
35
|
-
readonly sourceVersion?: string;
|
|
36
|
-
readonly componentStack: readonly string[];
|
|
37
|
-
readonly source?: SourceRef;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
interface MatchedStyleRule {
|
|
41
|
-
readonly selector: string;
|
|
42
|
-
readonly declarations: string;
|
|
43
|
-
readonly source?: string;
|
|
44
|
-
readonly media?: string;
|
|
45
|
-
}
|
|
46
|
-
interface StyleContext {
|
|
47
|
-
readonly classNames: readonly string[];
|
|
48
|
-
readonly inlineStyle?: string;
|
|
49
|
-
readonly matchedRules: readonly MatchedStyleRule[];
|
|
50
|
-
readonly computed: Readonly<Record<string, string>>;
|
|
51
|
-
readonly warnings: readonly string[];
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
interface PageContext {
|
|
55
|
-
readonly url: string;
|
|
56
|
-
readonly pathname: string;
|
|
57
|
-
readonly title: string;
|
|
58
|
-
readonly viewportWidth: number;
|
|
59
|
-
readonly viewportHeight: number;
|
|
60
|
-
readonly devicePixelRatio: number;
|
|
61
|
-
}
|
|
62
|
-
interface ElementContext {
|
|
63
|
-
readonly tagName: string;
|
|
64
|
-
readonly selector: string;
|
|
65
|
-
readonly sanitizedHtml: string;
|
|
66
|
-
readonly textPreview?: string;
|
|
67
|
-
readonly role?: string;
|
|
68
|
-
readonly rect: Readonly<{
|
|
69
|
-
x: number;
|
|
70
|
-
y: number;
|
|
71
|
-
width: number;
|
|
72
|
-
height: number;
|
|
73
|
-
}>;
|
|
74
|
-
}
|
|
75
|
-
/** Protocol hard limit. Runtime configuration may choose a smaller limit. */
|
|
76
|
-
declare const MAX_ANNOTATION_TARGETS = 20;
|
|
77
|
-
/** Each target owns its requested change; the UI enforces the same bound. */
|
|
78
|
-
declare const MAX_TARGET_INSTRUCTION_CHARACTERS = 2000;
|
|
79
|
-
/** Keeps the complete, atomic user intent within the prompt and request budgets. */
|
|
80
|
-
declare const MAX_ANNOTATION_INSTRUCTION_CHARACTERS = 4000;
|
|
81
|
-
declare const SPOTPATCH_LOCALES: readonly ["en-US", "zh-CN"];
|
|
82
|
-
type SpotPatchLocale = (typeof SPOTPATCH_LOCALES)[number];
|
|
83
|
-
declare const SPOTPATCH_LOCALE_PREFERENCES: readonly ["auto", "en-US", "zh-CN"];
|
|
84
|
-
type SpotPatchLocalePreference = (typeof SPOTPATCH_LOCALE_PREFERENCES)[number];
|
|
85
|
-
interface SpotTargetContext {
|
|
86
|
-
readonly instruction: string;
|
|
87
|
-
readonly page?: Readonly<PageContext>;
|
|
88
|
-
readonly source: SourceRef;
|
|
89
|
-
readonly react: ReactContext;
|
|
90
|
-
readonly element: ElementContext;
|
|
91
|
-
readonly styles: StyleContext;
|
|
92
|
-
readonly code?: CodeContext;
|
|
93
|
-
readonly warnings: readonly string[];
|
|
94
|
-
}
|
|
95
|
-
interface SpotAnnotation {
|
|
96
|
-
readonly schemaVersion: 3;
|
|
97
|
-
readonly id: string;
|
|
98
|
-
readonly locale: SpotPatchLocale;
|
|
99
|
-
readonly page: Readonly<PageContext>;
|
|
100
|
-
readonly targets: readonly SpotTargetContext[];
|
|
101
|
-
readonly createdAt: string;
|
|
102
|
-
}
|
|
2
|
+
import { S as SpotAnnotation } from './annotation-C0Me9mN2.cjs';
|
|
103
3
|
|
|
104
4
|
declare const EXTERNAL_HANDOFF_SNAPSHOT_SCHEMA_VERSION: 1;
|
|
105
5
|
declare const EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION: 2;
|
|
@@ -144,11 +44,11 @@ type ExternalHandoffDispatchPhase = (typeof EXTERNAL_HANDOFF_DISPATCH_PHASES)[nu
|
|
|
144
44
|
type ExternalHandoffReportableDispatchPhase = (typeof EXTERNAL_HANDOFF_REPORTABLE_DISPATCH_PHASES)[number];
|
|
145
45
|
|
|
146
46
|
declare const externalHandoffReportableDispatchPhaseSchema: z.ZodEnum<{
|
|
147
|
-
|
|
47
|
+
failed: "failed";
|
|
148
48
|
dispatched: "dispatched";
|
|
149
|
-
working: "working";
|
|
150
49
|
completed: "completed";
|
|
151
|
-
|
|
50
|
+
dispatching: "dispatching";
|
|
51
|
+
working: "working";
|
|
152
52
|
"delivery-unknown": "delivery-unknown";
|
|
153
53
|
}>;
|
|
154
54
|
declare const externalHandoffSummarySchema: z.ZodObject<{
|
|
@@ -167,8 +67,8 @@ declare const externalHandoffSummarySchema: z.ZodObject<{
|
|
|
167
67
|
publishedAt: z.ZodISODateTime;
|
|
168
68
|
expiresAt: z.ZodISODateTime;
|
|
169
69
|
state: z.ZodEnum<{
|
|
170
|
-
available: "available";
|
|
171
70
|
expired: "expired";
|
|
71
|
+
available: "available";
|
|
172
72
|
superseded: "superseded";
|
|
173
73
|
}>;
|
|
174
74
|
pickupCount: z.ZodNumber;
|
|
@@ -307,8 +207,8 @@ declare const activeAdapterSummarySchema: z.ZodObject<{
|
|
|
307
207
|
}>;
|
|
308
208
|
state: z.ZodEnum<{
|
|
309
209
|
ready: "ready";
|
|
310
|
-
busy: "busy";
|
|
311
210
|
blocked: "blocked";
|
|
211
|
+
busy: "busy";
|
|
312
212
|
}>;
|
|
313
213
|
canDispatch: z.ZodBoolean;
|
|
314
214
|
connectedAt: z.ZodISODateTime;
|
|
@@ -321,13 +221,13 @@ declare const dispatchSummarySchema: z.ZodObject<{
|
|
|
321
221
|
}>;
|
|
322
222
|
revision: z.ZodNumber;
|
|
323
223
|
phase: z.ZodEnum<{
|
|
324
|
-
|
|
224
|
+
queued: "queued";
|
|
225
|
+
failed: "failed";
|
|
325
226
|
dispatched: "dispatched";
|
|
326
|
-
working: "working";
|
|
327
227
|
completed: "completed";
|
|
328
|
-
|
|
228
|
+
dispatching: "dispatching";
|
|
229
|
+
working: "working";
|
|
329
230
|
"delivery-unknown": "delivery-unknown";
|
|
330
|
-
queued: "queued";
|
|
331
231
|
}>;
|
|
332
232
|
updatedAt: z.ZodISODateTime;
|
|
333
233
|
}, z.core.$strict>;
|
|
@@ -467,8 +367,8 @@ declare const externalHandoffCapabilitySchema: z.ZodObject<{
|
|
|
467
367
|
}>;
|
|
468
368
|
state: z.ZodEnum<{
|
|
469
369
|
ready: "ready";
|
|
470
|
-
busy: "busy";
|
|
471
370
|
blocked: "blocked";
|
|
371
|
+
busy: "busy";
|
|
472
372
|
}>;
|
|
473
373
|
canDispatch: z.ZodBoolean;
|
|
474
374
|
connectedAt: z.ZodISODateTime;
|
|
@@ -481,13 +381,13 @@ declare const externalHandoffCapabilitySchema: z.ZodObject<{
|
|
|
481
381
|
}>;
|
|
482
382
|
revision: z.ZodNumber;
|
|
483
383
|
phase: z.ZodEnum<{
|
|
484
|
-
|
|
384
|
+
queued: "queued";
|
|
385
|
+
failed: "failed";
|
|
485
386
|
dispatched: "dispatched";
|
|
486
|
-
working: "working";
|
|
487
387
|
completed: "completed";
|
|
488
|
-
|
|
388
|
+
dispatching: "dispatching";
|
|
389
|
+
working: "working";
|
|
489
390
|
"delivery-unknown": "delivery-unknown";
|
|
490
|
-
queued: "queued";
|
|
491
391
|
}>;
|
|
492
392
|
updatedAt: z.ZodISODateTime;
|
|
493
393
|
}, z.core.$strict>>;
|
|
@@ -503,8 +403,8 @@ declare const externalHandoffPublishDeliverySchema: z.ZodDiscriminatedUnion<[z.Z
|
|
|
503
403
|
}>;
|
|
504
404
|
state: z.ZodEnum<{
|
|
505
405
|
ready: "ready";
|
|
506
|
-
busy: "busy";
|
|
507
406
|
blocked: "blocked";
|
|
407
|
+
busy: "busy";
|
|
508
408
|
}>;
|
|
509
409
|
canDispatch: z.ZodBoolean;
|
|
510
410
|
connectedAt: z.ZodISODateTime;
|
|
@@ -517,13 +417,13 @@ declare const externalHandoffPublishDeliverySchema: z.ZodDiscriminatedUnion<[z.Z
|
|
|
517
417
|
}>;
|
|
518
418
|
revision: z.ZodNumber;
|
|
519
419
|
phase: z.ZodEnum<{
|
|
520
|
-
|
|
420
|
+
queued: "queued";
|
|
421
|
+
failed: "failed";
|
|
521
422
|
dispatched: "dispatched";
|
|
522
|
-
working: "working";
|
|
523
423
|
completed: "completed";
|
|
524
|
-
|
|
424
|
+
dispatching: "dispatching";
|
|
425
|
+
working: "working";
|
|
525
426
|
"delivery-unknown": "delivery-unknown";
|
|
526
|
-
queued: "queued";
|
|
527
427
|
}>;
|
|
528
428
|
updatedAt: z.ZodISODateTime;
|
|
529
429
|
}, z.core.$strict>;
|
|
@@ -545,8 +445,8 @@ declare const externalHandoffPublishResultSchema: z.ZodObject<{
|
|
|
545
445
|
publishedAt: z.ZodISODateTime;
|
|
546
446
|
expiresAt: z.ZodISODateTime;
|
|
547
447
|
state: z.ZodEnum<{
|
|
548
|
-
available: "available";
|
|
549
448
|
expired: "expired";
|
|
449
|
+
available: "available";
|
|
550
450
|
superseded: "superseded";
|
|
551
451
|
}>;
|
|
552
452
|
pickupCount: z.ZodNumber;
|
|
@@ -563,8 +463,8 @@ declare const externalHandoffPublishResultSchema: z.ZodObject<{
|
|
|
563
463
|
}>;
|
|
564
464
|
state: z.ZodEnum<{
|
|
565
465
|
ready: "ready";
|
|
566
|
-
busy: "busy";
|
|
567
466
|
blocked: "blocked";
|
|
467
|
+
busy: "busy";
|
|
568
468
|
}>;
|
|
569
469
|
canDispatch: z.ZodBoolean;
|
|
570
470
|
connectedAt: z.ZodISODateTime;
|
|
@@ -577,13 +477,13 @@ declare const externalHandoffPublishResultSchema: z.ZodObject<{
|
|
|
577
477
|
}>;
|
|
578
478
|
revision: z.ZodNumber;
|
|
579
479
|
phase: z.ZodEnum<{
|
|
580
|
-
|
|
480
|
+
queued: "queued";
|
|
481
|
+
failed: "failed";
|
|
581
482
|
dispatched: "dispatched";
|
|
582
|
-
working: "working";
|
|
583
483
|
completed: "completed";
|
|
584
|
-
|
|
484
|
+
dispatching: "dispatching";
|
|
485
|
+
working: "working";
|
|
585
486
|
"delivery-unknown": "delivery-unknown";
|
|
586
|
-
queued: "queued";
|
|
587
487
|
}>;
|
|
588
488
|
updatedAt: z.ZodISODateTime;
|
|
589
489
|
}, z.core.$strict>;
|
|
@@ -607,8 +507,8 @@ declare const externalHandoffStatusResultSchema: z.ZodObject<{
|
|
|
607
507
|
publishedAt: z.ZodISODateTime;
|
|
608
508
|
expiresAt: z.ZodISODateTime;
|
|
609
509
|
state: z.ZodEnum<{
|
|
610
|
-
available: "available";
|
|
611
510
|
expired: "expired";
|
|
511
|
+
available: "available";
|
|
612
512
|
superseded: "superseded";
|
|
613
513
|
}>;
|
|
614
514
|
pickupCount: z.ZodNumber;
|
|
@@ -621,8 +521,8 @@ declare const externalHandoffStatusResultSchema: z.ZodObject<{
|
|
|
621
521
|
}>;
|
|
622
522
|
state: z.ZodEnum<{
|
|
623
523
|
ready: "ready";
|
|
624
|
-
busy: "busy";
|
|
625
524
|
blocked: "blocked";
|
|
525
|
+
busy: "busy";
|
|
626
526
|
}>;
|
|
627
527
|
canDispatch: z.ZodBoolean;
|
|
628
528
|
connectedAt: z.ZodISODateTime;
|
|
@@ -635,13 +535,13 @@ declare const externalHandoffStatusResultSchema: z.ZodObject<{
|
|
|
635
535
|
}>;
|
|
636
536
|
revision: z.ZodNumber;
|
|
637
537
|
phase: z.ZodEnum<{
|
|
638
|
-
|
|
538
|
+
queued: "queued";
|
|
539
|
+
failed: "failed";
|
|
639
540
|
dispatched: "dispatched";
|
|
640
|
-
working: "working";
|
|
641
541
|
completed: "completed";
|
|
642
|
-
|
|
542
|
+
dispatching: "dispatching";
|
|
543
|
+
working: "working";
|
|
643
544
|
"delivery-unknown": "delivery-unknown";
|
|
644
|
-
queued: "queued";
|
|
645
545
|
}>;
|
|
646
546
|
updatedAt: z.ZodISODateTime;
|
|
647
547
|
}, z.core.$strict>>;
|
|
@@ -717,4 +617,4 @@ type ExternalHandoffPublishRequest = z.infer<typeof externalHandoffPublishReques
|
|
|
717
617
|
type ExternalHandoffStatusRequest = z.infer<typeof externalHandoffStatusRequestSchema>;
|
|
718
618
|
type ExternalHandoffResolveDeliveryRequest = z.infer<typeof externalHandoffResolveDeliveryRequestSchema>;
|
|
719
619
|
|
|
720
|
-
export {
|
|
620
|
+
export { type ActiveAdapterSummary as A, externalHandoffCapabilitySchema as B, externalHandoffPublishDeliverySchema as C, type DispatchSummary as D, EXTERNAL_HANDOFF_LIMITS as E, externalHandoffPublishRequestSchema as F, externalHandoffPublishResultSchema as G, externalHandoffReportableDispatchPhaseSchema as H, externalHandoffResolveDeliveryRequestSchema as I, externalHandoffSnapshotSchema as J, externalHandoffStatusRequestSchema as K, externalHandoffStatusResultSchema as L, externalHandoffSummarySchema as M, type ExternalHandoffSnapshot as a, EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS as b, EXTERNAL_HANDOFF_ACTIVE_ADAPTER_STATES as c, EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION as d, EXTERNAL_HANDOFF_DISPATCH_PHASES as e, EXTERNAL_HANDOFF_FRAMEWORKS as f, EXTERNAL_HANDOFF_REPORTABLE_DISPATCH_PHASES as g, EXTERNAL_HANDOFF_SNAPSHOT_SCHEMA_VERSION as h, EXTERNAL_HANDOFF_STATES as i, type ExternalHandoffActiveAdapterKind as j, type ExternalHandoffActiveAdapterState as k, type ExternalHandoffCapability as l, type ExternalHandoffDispatchPhase as m, type ExternalHandoffFramework as n, type ExternalHandoffPublishDelivery as o, type ExternalHandoffPublishRequest as p, type ExternalHandoffPublishResult as q, type ExternalHandoffReportableDispatchPhase as r, type ExternalHandoffResolveDeliveryRequest as s, type ExternalHandoffState as t, type ExternalHandoffStatusRequest as u, type ExternalHandoffStatusResult as v, type ExternalHandoffSummary as w, activeAdapterSummarySchema as x, dispatchSummarySchema as y, externalHandoffCapabilityRequestSchema as z };
|
|
@@ -126,6 +126,8 @@ var SPOTPATCH_ENDPOINTS = Object.freeze({
|
|
|
126
126
|
agentCapability: `${SPOTPATCH_API_BASE}/agent/capability`,
|
|
127
127
|
agentWorkspaceHealth: `${SPOTPATCH_API_BASE}/agent/workspace-health`,
|
|
128
128
|
agentJobs: `${SPOTPATCH_API_BASE}/agent/jobs`,
|
|
129
|
+
askCapability: `${SPOTPATCH_API_BASE}/ask/capability`,
|
|
130
|
+
askJobs: `${SPOTPATCH_API_BASE}/ask/jobs`,
|
|
129
131
|
externalHandoffCapability: `${SPOTPATCH_API_BASE}/external-handoff/capability`,
|
|
130
132
|
externalHandoffPublish: `${SPOTPATCH_API_BASE}/external-handoff/publish`,
|
|
131
133
|
externalHandoffStatus: `${SPOTPATCH_API_BASE}/external-handoff/status`,
|