@spotpatch/shared 1.9.0 → 1.10.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/chunk-2LVIH7OA.js +75 -0
- package/dist/chunk-2LVIH7OA.js.map +1 -0
- package/dist/chunk-MOGITGPP.js +431 -0
- package/dist/chunk-MOGITGPP.js.map +1 -0
- package/dist/{chunk-K2UAPG7T.js → chunk-RK46Y7LD.js} +2 -23
- package/dist/chunk-RK46Y7LD.js.map +1 -0
- package/dist/chunk-ZCG3DLSW.js +28 -0
- package/dist/chunk-ZCG3DLSW.js.map +1 -0
- package/dist/{data-flow-runtime-zwbvImvl.d.cts → data-flow-runtime-BMm3F-eV.d.cts} +2 -16
- package/dist/{data-flow-runtime-zwbvImvl.d.ts → data-flow-runtime-Dp-xznQW.d.ts} +2 -16
- package/dist/data-flow-runtime.cjs +5 -1
- package/dist/data-flow-runtime.cjs.map +1 -1
- package/dist/data-flow-runtime.d.cts +2 -1
- package/dist/data-flow-runtime.d.ts +2 -1
- package/dist/data-flow-runtime.js +4 -2
- package/dist/endpoints-BT-Bl1WS.d.cts +20 -0
- package/dist/endpoints-BT-Bl1WS.d.ts +20 -0
- package/dist/external-agent-node.cjs +692 -0
- package/dist/external-agent-node.cjs.map +1 -0
- package/dist/external-agent-node.d.cts +556 -0
- package/dist/external-agent-node.d.ts +556 -0
- package/dist/external-agent-node.js +210 -0
- package/dist/external-agent-node.js.map +1 -0
- package/dist/external-handoff-CWoooqhp.d.cts +720 -0
- package/dist/external-handoff-CWoooqhp.d.ts +720 -0
- package/dist/external-handoff-browser.cjs +163 -0
- package/dist/external-handoff-browser.cjs.map +1 -0
- package/dist/external-handoff-browser.d.cts +32 -0
- package/dist/external-handoff-browser.d.ts +32 -0
- package/dist/external-handoff-browser.js +58 -0
- package/dist/external-handoff-browser.js.map +1 -0
- package/dist/index.cjs +302 -65
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +139 -105
- package/dist/index.d.ts +139 -105
- package/dist/index.js +165 -340
- package/dist/index.js.map +1 -1
- package/package.json +28 -2
- package/dist/chunk-K2UAPG7T.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -44,6 +44,16 @@ __export(index_exports, {
|
|
|
44
44
|
DEFAULT_DATA_FLOW_LIMITS: () => DEFAULT_DATA_FLOW_LIMITS,
|
|
45
45
|
DEFAULT_RUNTIME_DATA_FLOW_LIMITS: () => DEFAULT_RUNTIME_DATA_FLOW_LIMITS,
|
|
46
46
|
ERROR_CODES: () => ERROR_CODES,
|
|
47
|
+
ERROR_CODE_VALUES: () => ERROR_CODE_VALUES,
|
|
48
|
+
EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS: () => EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS,
|
|
49
|
+
EXTERNAL_HANDOFF_ACTIVE_ADAPTER_STATES: () => EXTERNAL_HANDOFF_ACTIVE_ADAPTER_STATES,
|
|
50
|
+
EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION: () => EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION,
|
|
51
|
+
EXTERNAL_HANDOFF_DISPATCH_PHASES: () => EXTERNAL_HANDOFF_DISPATCH_PHASES,
|
|
52
|
+
EXTERNAL_HANDOFF_FRAMEWORKS: () => EXTERNAL_HANDOFF_FRAMEWORKS,
|
|
53
|
+
EXTERNAL_HANDOFF_LIMITS: () => EXTERNAL_HANDOFF_LIMITS,
|
|
54
|
+
EXTERNAL_HANDOFF_REPORTABLE_DISPATCH_PHASES: () => EXTERNAL_HANDOFF_REPORTABLE_DISPATCH_PHASES,
|
|
55
|
+
EXTERNAL_HANDOFF_SNAPSHOT_SCHEMA_VERSION: () => EXTERNAL_HANDOFF_SNAPSHOT_SCHEMA_VERSION,
|
|
56
|
+
EXTERNAL_HANDOFF_STATES: () => EXTERNAL_HANDOFF_STATES,
|
|
47
57
|
MAX_ANNOTATION_INSTRUCTION_CHARACTERS: () => MAX_ANNOTATION_INSTRUCTION_CHARACTERS,
|
|
48
58
|
MAX_ANNOTATION_TARGETS: () => MAX_ANNOTATION_TARGETS,
|
|
49
59
|
MAX_TARGET_INSTRUCTION_CHARACTERS: () => MAX_TARGET_INSTRUCTION_CHARACTERS,
|
|
@@ -58,6 +68,7 @@ __export(index_exports, {
|
|
|
58
68
|
SPOTPATCH_REPOSITORY_URL: () => SPOTPATCH_REPOSITORY_URL,
|
|
59
69
|
SPOTPATCH_TOKEN_HEADER: () => SPOTPATCH_TOKEN_HEADER,
|
|
60
70
|
SpotPatchError: () => SpotPatchError,
|
|
71
|
+
activeAdapterSummarySchema: () => activeAdapterSummarySchema,
|
|
61
72
|
agentCapabilityRequestSchema: () => agentCapabilityRequestSchema,
|
|
62
73
|
agentCapabilitySnapshotSchema: () => agentCapabilitySnapshotSchema,
|
|
63
74
|
agentChangedFileSchema: () => agentChangedFileSchema,
|
|
@@ -74,8 +85,21 @@ __export(index_exports, {
|
|
|
74
85
|
dataDependencySchema: () => dataDependencySchema,
|
|
75
86
|
dataFlowComponentReportRequestSchema: () => dataFlowComponentReportRequestSchema,
|
|
76
87
|
dataFlowPageReportRequestSchema: () => dataFlowPageReportRequestSchema,
|
|
88
|
+
dispatchSummarySchema: () => dispatchSummarySchema,
|
|
89
|
+
externalHandoffCapabilityRequestSchema: () => externalHandoffCapabilityRequestSchema,
|
|
90
|
+
externalHandoffCapabilitySchema: () => externalHandoffCapabilitySchema,
|
|
91
|
+
externalHandoffPublishDeliverySchema: () => externalHandoffPublishDeliverySchema,
|
|
92
|
+
externalHandoffPublishRequestSchema: () => externalHandoffPublishRequestSchema,
|
|
93
|
+
externalHandoffPublishResultSchema: () => externalHandoffPublishResultSchema,
|
|
94
|
+
externalHandoffReportableDispatchPhaseSchema: () => externalHandoffReportableDispatchPhaseSchema,
|
|
95
|
+
externalHandoffResolveDeliveryRequestSchema: () => externalHandoffResolveDeliveryRequestSchema,
|
|
96
|
+
externalHandoffSnapshotSchema: () => externalHandoffSnapshotSchema,
|
|
97
|
+
externalHandoffStatusRequestSchema: () => externalHandoffStatusRequestSchema,
|
|
98
|
+
externalHandoffStatusResultSchema: () => externalHandoffStatusResultSchema,
|
|
99
|
+
externalHandoffSummarySchema: () => externalHandoffSummarySchema,
|
|
77
100
|
formatSourceMarker: () => formatSourceMarker,
|
|
78
101
|
getAgentJobEndpoint: () => getAgentJobEndpoint,
|
|
102
|
+
isErrorCode: () => isErrorCode,
|
|
79
103
|
isSensitiveName: () => isSensitiveName,
|
|
80
104
|
limitDataFlowReportCollections: () => limitDataFlowReportCollections,
|
|
81
105
|
networkObservationSchema: () => networkObservationSchema,
|
|
@@ -125,6 +149,24 @@ var ERROR_CODES = {
|
|
|
125
149
|
AGENT_BUSY: "AGENT_BUSY",
|
|
126
150
|
AGENT_LIMIT_EXCEEDED: "AGENT_LIMIT_EXCEEDED",
|
|
127
151
|
AGENT_CANCELLED: "AGENT_CANCELLED",
|
|
152
|
+
EXTERNAL_HANDOFF_DISABLED: "EXTERNAL_HANDOFF_DISABLED",
|
|
153
|
+
EXTERNAL_HANDOFF_UNAVAILABLE: "EXTERNAL_HANDOFF_UNAVAILABLE",
|
|
154
|
+
HANDOFF_VALIDATION_FAILED: "HANDOFF_VALIDATION_FAILED",
|
|
155
|
+
HANDOFF_SOURCE_STALE: "HANDOFF_SOURCE_STALE",
|
|
156
|
+
HANDOFF_NOT_FOUND: "HANDOFF_NOT_FOUND",
|
|
157
|
+
HANDOFF_EXPIRED: "HANDOFF_EXPIRED",
|
|
158
|
+
HANDOFF_CURSOR_INVALID: "HANDOFF_CURSOR_INVALID",
|
|
159
|
+
HANDOFF_RESPONSE_TOO_LARGE: "HANDOFF_RESPONSE_TOO_LARGE",
|
|
160
|
+
BRIDGE_UNAUTHORIZED: "BRIDGE_UNAUTHORIZED",
|
|
161
|
+
BRIDGE_PROTOCOL_MISMATCH: "BRIDGE_PROTOCOL_MISMATCH",
|
|
162
|
+
BRIDGE_BUSY: "BRIDGE_BUSY",
|
|
163
|
+
EXTERNAL_AGENT_BUSY: "EXTERNAL_AGENT_BUSY",
|
|
164
|
+
ACTIVE_ADAPTER_CONFLICT: "ACTIVE_ADAPTER_CONFLICT",
|
|
165
|
+
ACTIVE_ADAPTER_LEASE_INVALID: "ACTIVE_ADAPTER_LEASE_INVALID",
|
|
166
|
+
ACTIVE_DISPATCH_INVALID: "ACTIVE_DISPATCH_INVALID",
|
|
167
|
+
SESSION_NOT_FOUND: "SESSION_NOT_FOUND",
|
|
168
|
+
SESSION_AMBIGUOUS: "SESSION_AMBIGUOUS",
|
|
169
|
+
SESSION_CLOSED: "SESSION_CLOSED",
|
|
128
170
|
WORKTREE_DIRTY: "WORKTREE_DIRTY",
|
|
129
171
|
WORKTREE_NOT_REPOSITORY: "WORKTREE_NOT_REPOSITORY",
|
|
130
172
|
WORKTREE_OPERATION_IN_PROGRESS: "WORKTREE_OPERATION_IN_PROGRESS",
|
|
@@ -142,6 +184,10 @@ var ERROR_CODES = {
|
|
|
142
184
|
APPLY_CONFLICT: "APPLY_CONFLICT",
|
|
143
185
|
INTERNAL_ERROR: "INTERNAL_ERROR"
|
|
144
186
|
};
|
|
187
|
+
var ERROR_CODE_VALUES = Object.freeze(Object.values(ERROR_CODES));
|
|
188
|
+
function isErrorCode(value) {
|
|
189
|
+
return typeof value === "string" && ERROR_CODE_VALUES.includes(value);
|
|
190
|
+
}
|
|
145
191
|
|
|
146
192
|
// src/security/redaction.ts
|
|
147
193
|
var INLINE_DATA_PATTERN = /data:[^\s"'<>]*;base64,[a-z0-9+/_=-]+/giu;
|
|
@@ -712,7 +758,11 @@ var SPOTPATCH_ENDPOINTS = Object.freeze({
|
|
|
712
758
|
dataFlowPageReport: `${SPOTPATCH_API_BASE}/data-flow/page-report`,
|
|
713
759
|
agentCapability: `${SPOTPATCH_API_BASE}/agent/capability`,
|
|
714
760
|
agentWorkspaceHealth: `${SPOTPATCH_API_BASE}/agent/workspace-health`,
|
|
715
|
-
agentJobs: `${SPOTPATCH_API_BASE}/agent/jobs
|
|
761
|
+
agentJobs: `${SPOTPATCH_API_BASE}/agent/jobs`,
|
|
762
|
+
externalHandoffCapability: `${SPOTPATCH_API_BASE}/external-handoff/capability`,
|
|
763
|
+
externalHandoffPublish: `${SPOTPATCH_API_BASE}/external-handoff/publish`,
|
|
764
|
+
externalHandoffStatus: `${SPOTPATCH_API_BASE}/external-handoff/status`,
|
|
765
|
+
externalHandoffResolveDelivery: `${SPOTPATCH_API_BASE}/external-handoff/resolve-delivery`
|
|
716
766
|
});
|
|
717
767
|
function getAgentJobEndpoint(jobId, action) {
|
|
718
768
|
return `${SPOTPATCH_ENDPOINTS.agentJobs}/${encodeURIComponent(jobId)}/${action}`;
|
|
@@ -834,6 +884,7 @@ var runtimeConfigBaseShape = {
|
|
|
834
884
|
debug: import_zod2.z.boolean(),
|
|
835
885
|
dataFlow: runtimeDataFlowConfigSchema,
|
|
836
886
|
editor: import_zod2.z.enum(SPOTPATCH_EDITOR_PREFERENCES),
|
|
887
|
+
externalAgent: import_zod2.z.strictObject({ enabled: import_zod2.z.boolean() }),
|
|
837
888
|
frameworkVersion: boundedText2(64),
|
|
838
889
|
locale: import_zod2.z.enum(SPOTPATCH_LOCALE_PREFERENCES),
|
|
839
890
|
maxTargets: import_zod2.z.number().int().min(1).max(MAX_ANNOTATION_TARGETS),
|
|
@@ -879,6 +930,9 @@ function parseSourceMarker(value) {
|
|
|
879
930
|
return Object.freeze({ fileId, line, column });
|
|
880
931
|
}
|
|
881
932
|
|
|
933
|
+
// src/protocol/external-handoff.ts
|
|
934
|
+
var import_zod4 = require("zod");
|
|
935
|
+
|
|
882
936
|
// src/protocol/requests.ts
|
|
883
937
|
var import_zod3 = require("zod");
|
|
884
938
|
var runtimeBootstrapRequestSchema = import_zod3.z.strictObject({});
|
|
@@ -1012,37 +1066,196 @@ var agentJobCreateRequestSchema = import_zod3.z.strictObject({
|
|
|
1012
1066
|
});
|
|
1013
1067
|
var agentJobActionRequestSchema = import_zod3.z.strictObject({});
|
|
1014
1068
|
|
|
1069
|
+
// src/protocol/external-handoff-constants.ts
|
|
1070
|
+
var EXTERNAL_HANDOFF_SNAPSHOT_SCHEMA_VERSION = 1;
|
|
1071
|
+
var EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION = 2;
|
|
1072
|
+
var EXTERNAL_HANDOFF_STATES = Object.freeze([
|
|
1073
|
+
"available",
|
|
1074
|
+
"expired",
|
|
1075
|
+
"superseded"
|
|
1076
|
+
]);
|
|
1077
|
+
var EXTERNAL_HANDOFF_FRAMEWORKS = Object.freeze(["vite", "next"]);
|
|
1078
|
+
var EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS = Object.freeze([
|
|
1079
|
+
"claude-channel",
|
|
1080
|
+
"codex-app-server"
|
|
1081
|
+
]);
|
|
1082
|
+
var EXTERNAL_HANDOFF_ACTIVE_ADAPTER_STATES = Object.freeze([
|
|
1083
|
+
"ready",
|
|
1084
|
+
"busy",
|
|
1085
|
+
"blocked"
|
|
1086
|
+
]);
|
|
1087
|
+
var EXTERNAL_HANDOFF_DISPATCH_PHASES = Object.freeze([
|
|
1088
|
+
"queued",
|
|
1089
|
+
"dispatching",
|
|
1090
|
+
"dispatched",
|
|
1091
|
+
"working",
|
|
1092
|
+
"completed",
|
|
1093
|
+
"failed",
|
|
1094
|
+
"delivery-unknown"
|
|
1095
|
+
]);
|
|
1096
|
+
var EXTERNAL_HANDOFF_REPORTABLE_DISPATCH_PHASES = Object.freeze([
|
|
1097
|
+
"dispatching",
|
|
1098
|
+
"dispatched",
|
|
1099
|
+
"working",
|
|
1100
|
+
"completed",
|
|
1101
|
+
"failed",
|
|
1102
|
+
"delivery-unknown"
|
|
1103
|
+
]);
|
|
1104
|
+
var EXTERNAL_HANDOFF_LIMITS = Object.freeze({
|
|
1105
|
+
maximumSnapshotBytes: 256 * 1024,
|
|
1106
|
+
maximumPublishBodyBytes: 256 * 1024,
|
|
1107
|
+
maximumBrokerRequestBytes: 8 * 1024,
|
|
1108
|
+
maximumDescriptorBytes: 8 * 1024,
|
|
1109
|
+
maximumHistorySummaries: 8,
|
|
1110
|
+
maximumConnectorReceipts: 64,
|
|
1111
|
+
handoffTtlMs: 15 * 60 * 1e3,
|
|
1112
|
+
defaultWaitMs: 2e4,
|
|
1113
|
+
maximumWaitMs: 25e3,
|
|
1114
|
+
maximumWaiters: 8,
|
|
1115
|
+
maximumDescriptorsPerScan: 32,
|
|
1116
|
+
maximumProjectAncestors: 64,
|
|
1117
|
+
maximumBrokerHeaderBytes: 8 * 1024,
|
|
1118
|
+
maximumBrokerSockets: 32,
|
|
1119
|
+
brokerDiscoveryTimeoutMs: 750,
|
|
1120
|
+
brokerRequestTimeoutMs: 2e3,
|
|
1121
|
+
brokerWaitGraceMs: 2e3,
|
|
1122
|
+
maximumSetupConfigBytes: 1024 * 1024,
|
|
1123
|
+
maximumRequestIdRecords: 16,
|
|
1124
|
+
requestIdTtlMs: 15 * 60 * 1e3,
|
|
1125
|
+
activeHeartbeatIntervalMs: 3e3,
|
|
1126
|
+
activeLeaseDurationMs: 1e4,
|
|
1127
|
+
activeTransportWriteTimeoutMs: 5e3,
|
|
1128
|
+
activeDispatchTimeoutMs: 30 * 60 * 1e3,
|
|
1129
|
+
activeStatusPollMs: 1e3
|
|
1130
|
+
});
|
|
1131
|
+
|
|
1132
|
+
// src/protocol/external-handoff.ts
|
|
1133
|
+
var opaqueIdSchema2 = import_zod4.z.string().min(22).max(128).regex(/^[A-Za-z0-9_-]+$/u);
|
|
1134
|
+
var isoTimestampSchema = import_zod4.z.iso.datetime();
|
|
1135
|
+
var externalHandoffReportableDispatchPhaseSchema = import_zod4.z.enum(
|
|
1136
|
+
EXTERNAL_HANDOFF_REPORTABLE_DISPATCH_PHASES
|
|
1137
|
+
);
|
|
1138
|
+
var externalHandoffPageSummarySchema = import_zod4.z.strictObject({
|
|
1139
|
+
origin: import_zod4.z.string().min(1).max(2048),
|
|
1140
|
+
pathname: import_zod4.z.string().min(1).max(2048)
|
|
1141
|
+
});
|
|
1142
|
+
var externalHandoffSummarySchema = import_zod4.z.strictObject({
|
|
1143
|
+
sessionId: opaqueIdSchema2,
|
|
1144
|
+
framework: import_zod4.z.enum(EXTERNAL_HANDOFF_FRAMEWORKS),
|
|
1145
|
+
revision: import_zod4.z.number().int().positive(),
|
|
1146
|
+
cursor: opaqueIdSchema2,
|
|
1147
|
+
targetCount: import_zod4.z.number().int().positive(),
|
|
1148
|
+
page: externalHandoffPageSummarySchema,
|
|
1149
|
+
publishedAt: isoTimestampSchema,
|
|
1150
|
+
expiresAt: isoTimestampSchema,
|
|
1151
|
+
state: import_zod4.z.enum(EXTERNAL_HANDOFF_STATES),
|
|
1152
|
+
pickupCount: import_zod4.z.number().int().nonnegative().max(EXTERNAL_HANDOFF_LIMITS.maximumConnectorReceipts),
|
|
1153
|
+
pickedUpAt: isoTimestampSchema.optional()
|
|
1154
|
+
});
|
|
1155
|
+
var externalHandoffSnapshotSchema = import_zod4.z.strictObject({
|
|
1156
|
+
schemaVersion: import_zod4.z.literal(EXTERNAL_HANDOFF_SNAPSHOT_SCHEMA_VERSION),
|
|
1157
|
+
cursor: opaqueIdSchema2,
|
|
1158
|
+
session: import_zod4.z.strictObject({
|
|
1159
|
+
id: opaqueIdSchema2,
|
|
1160
|
+
framework: import_zod4.z.enum(EXTERNAL_HANDOFF_FRAMEWORKS)
|
|
1161
|
+
}),
|
|
1162
|
+
revision: import_zod4.z.number().int().positive(),
|
|
1163
|
+
publishedAt: isoTimestampSchema,
|
|
1164
|
+
expiresAt: isoTimestampSchema,
|
|
1165
|
+
annotation: spotAnnotationRequestSchema
|
|
1166
|
+
});
|
|
1167
|
+
var activeAdapterSummarySchema = import_zod4.z.strictObject({
|
|
1168
|
+
kind: import_zod4.z.enum(EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS),
|
|
1169
|
+
state: import_zod4.z.enum(EXTERNAL_HANDOFF_ACTIVE_ADAPTER_STATES),
|
|
1170
|
+
canDispatch: import_zod4.z.boolean(),
|
|
1171
|
+
connectedAt: isoTimestampSchema,
|
|
1172
|
+
updatedAt: isoTimestampSchema
|
|
1173
|
+
}).superRefine((value, context) => {
|
|
1174
|
+
if (value.canDispatch !== (value.state === "ready")) {
|
|
1175
|
+
context.addIssue({
|
|
1176
|
+
code: "custom",
|
|
1177
|
+
message: "canDispatch must match the ready state.",
|
|
1178
|
+
path: ["canDispatch"]
|
|
1179
|
+
});
|
|
1180
|
+
}
|
|
1181
|
+
});
|
|
1182
|
+
var dispatchSummarySchema = import_zod4.z.strictObject({
|
|
1183
|
+
adapterKind: import_zod4.z.enum(EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS),
|
|
1184
|
+
revision: import_zod4.z.number().int().positive(),
|
|
1185
|
+
phase: import_zod4.z.enum(EXTERNAL_HANDOFF_DISPATCH_PHASES),
|
|
1186
|
+
updatedAt: isoTimestampSchema
|
|
1187
|
+
});
|
|
1188
|
+
var externalHandoffCapabilityRequestSchema = import_zod4.z.strictObject({});
|
|
1189
|
+
var externalHandoffPublishRequestSchema = import_zod4.z.strictObject({
|
|
1190
|
+
requestId: opaqueIdSchema2,
|
|
1191
|
+
annotation: spotAnnotationRequestSchema
|
|
1192
|
+
});
|
|
1193
|
+
var externalHandoffStatusRequestSchema = import_zod4.z.strictObject({
|
|
1194
|
+
cursor: opaqueIdSchema2.optional()
|
|
1195
|
+
});
|
|
1196
|
+
var externalHandoffResolveDeliveryRequestSchema = import_zod4.z.strictObject({
|
|
1197
|
+
cursor: opaqueIdSchema2,
|
|
1198
|
+
confirmation: import_zod4.z.literal("workspace-reviewed")
|
|
1199
|
+
});
|
|
1200
|
+
var externalHandoffCapabilitySchema = import_zod4.z.strictObject({
|
|
1201
|
+
enabled: import_zod4.z.literal(true),
|
|
1202
|
+
brokerReady: import_zod4.z.boolean(),
|
|
1203
|
+
activeWaitCount: import_zod4.z.number().int().nonnegative().max(EXTERNAL_HANDOFF_LIMITS.maximumWaiters),
|
|
1204
|
+
snapshotSchemaVersion: import_zod4.z.literal(EXTERNAL_HANDOFF_SNAPSHOT_SCHEMA_VERSION),
|
|
1205
|
+
brokerProtocolVersion: import_zod4.z.literal(EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION),
|
|
1206
|
+
activeAdapter: activeAdapterSummarySchema.nullable(),
|
|
1207
|
+
dispatch: dispatchSummarySchema.nullable()
|
|
1208
|
+
});
|
|
1209
|
+
var externalHandoffPublishDeliverySchema = import_zod4.z.discriminatedUnion("mode", [
|
|
1210
|
+
import_zod4.z.strictObject({ mode: import_zod4.z.literal("inbox") }),
|
|
1211
|
+
import_zod4.z.strictObject({
|
|
1212
|
+
mode: import_zod4.z.literal("active"),
|
|
1213
|
+
adapter: activeAdapterSummarySchema,
|
|
1214
|
+
dispatch: dispatchSummarySchema
|
|
1215
|
+
})
|
|
1216
|
+
]);
|
|
1217
|
+
var externalHandoffPublishResultSchema = import_zod4.z.strictObject({
|
|
1218
|
+
handoff: externalHandoffSummarySchema,
|
|
1219
|
+
delivery: externalHandoffPublishDeliverySchema,
|
|
1220
|
+
replayed: import_zod4.z.boolean()
|
|
1221
|
+
});
|
|
1222
|
+
var externalHandoffStatusResultSchema = import_zod4.z.strictObject({
|
|
1223
|
+
handoff: externalHandoffSummarySchema,
|
|
1224
|
+
activeAdapter: activeAdapterSummarySchema.nullable(),
|
|
1225
|
+
dispatch: dispatchSummarySchema.nullable()
|
|
1226
|
+
});
|
|
1227
|
+
|
|
1015
1228
|
// src/protocol/agent-schemas.ts
|
|
1016
|
-
var
|
|
1017
|
-
var profileIdSchema3 =
|
|
1018
|
-
var boundedString2 = (maximum) =>
|
|
1019
|
-
var errorCodeSchema =
|
|
1020
|
-
var agentCapabilitySnapshotSchema =
|
|
1229
|
+
var import_zod5 = require("zod");
|
|
1230
|
+
var profileIdSchema3 = import_zod5.z.string().min(1).max(64).regex(/^[A-Za-z0-9][A-Za-z0-9._-]*$/);
|
|
1231
|
+
var boundedString2 = (maximum) => import_zod5.z.string().max(maximum);
|
|
1232
|
+
var errorCodeSchema = import_zod5.z.enum(ERROR_CODES);
|
|
1233
|
+
var agentCapabilitySnapshotSchema = import_zod5.z.strictObject({
|
|
1021
1234
|
providerProfileId: profileIdSchema3,
|
|
1022
1235
|
providerLabel: boundedString2(100),
|
|
1023
1236
|
modelProfileId: profileIdSchema3,
|
|
1024
1237
|
modelLabel: boundedString2(100),
|
|
1025
|
-
protocol:
|
|
1026
|
-
state:
|
|
1027
|
-
authenticated:
|
|
1028
|
-
modelAvailable:
|
|
1029
|
-
toolCalling:
|
|
1030
|
-
toolResultContinuation:
|
|
1031
|
-
streaming:
|
|
1032
|
-
checkedAt:
|
|
1238
|
+
protocol: import_zod5.z.enum(["responses", "chat-completions"]),
|
|
1239
|
+
state: import_zod5.z.enum(AGENT_CAPABILITY_STATES),
|
|
1240
|
+
authenticated: import_zod5.z.boolean(),
|
|
1241
|
+
modelAvailable: import_zod5.z.boolean(),
|
|
1242
|
+
toolCalling: import_zod5.z.boolean(),
|
|
1243
|
+
toolResultContinuation: import_zod5.z.boolean(),
|
|
1244
|
+
streaming: import_zod5.z.boolean(),
|
|
1245
|
+
checkedAt: import_zod5.z.iso.datetime().optional(),
|
|
1033
1246
|
errorCode: errorCodeSchema.optional()
|
|
1034
1247
|
});
|
|
1035
|
-
var agentWorkspaceHealthSnapshotSchema =
|
|
1036
|
-
state:
|
|
1037
|
-
checkedAt:
|
|
1038
|
-
changes:
|
|
1039
|
-
staged:
|
|
1040
|
-
unstaged:
|
|
1041
|
-
untracked:
|
|
1042
|
-
conflicted:
|
|
1043
|
-
total:
|
|
1248
|
+
var agentWorkspaceHealthSnapshotSchema = import_zod5.z.strictObject({
|
|
1249
|
+
state: import_zod5.z.enum(AGENT_WORKSPACE_STATES),
|
|
1250
|
+
checkedAt: import_zod5.z.iso.datetime(),
|
|
1251
|
+
changes: import_zod5.z.strictObject({
|
|
1252
|
+
staged: import_zod5.z.number().int().nonnegative(),
|
|
1253
|
+
unstaged: import_zod5.z.number().int().nonnegative(),
|
|
1254
|
+
untracked: import_zod5.z.number().int().nonnegative(),
|
|
1255
|
+
conflicted: import_zod5.z.number().int().nonnegative(),
|
|
1256
|
+
total: import_zod5.z.number().int().nonnegative()
|
|
1044
1257
|
}),
|
|
1045
|
-
canIncludeLocalChanges:
|
|
1258
|
+
canIncludeLocalChanges: import_zod5.z.boolean(),
|
|
1046
1259
|
errorCode: errorCodeSchema.optional()
|
|
1047
1260
|
}).refine(
|
|
1048
1261
|
({ state, changes, canIncludeLocalChanges, errorCode }) => {
|
|
@@ -1060,42 +1273,42 @@ var agentWorkspaceHealthSnapshotSchema = import_zod4.z.strictObject({
|
|
|
1060
1273
|
},
|
|
1061
1274
|
{ message: "Agent workspace health fields are inconsistent." }
|
|
1062
1275
|
);
|
|
1063
|
-
var agentChangedFileSchema =
|
|
1276
|
+
var agentChangedFileSchema = import_zod5.z.strictObject({
|
|
1064
1277
|
relativePath: boundedString2(1024),
|
|
1065
|
-
kind:
|
|
1066
|
-
additions:
|
|
1067
|
-
deletions:
|
|
1278
|
+
kind: import_zod5.z.enum(AGENT_FILE_CHANGE_KINDS),
|
|
1279
|
+
additions: import_zod5.z.number().int().nonnegative(),
|
|
1280
|
+
deletions: import_zod5.z.number().int().nonnegative()
|
|
1068
1281
|
});
|
|
1069
|
-
var agentCheckResultSchema =
|
|
1282
|
+
var agentCheckResultSchema = import_zod5.z.strictObject({
|
|
1070
1283
|
checkId: profileIdSchema3,
|
|
1071
1284
|
label: boundedString2(100),
|
|
1072
|
-
status:
|
|
1073
|
-
durationMs:
|
|
1285
|
+
status: import_zod5.z.enum(AGENT_CHECK_STATUSES),
|
|
1286
|
+
durationMs: import_zod5.z.number().int().nonnegative(),
|
|
1074
1287
|
output: boundedString2(8e4)
|
|
1075
1288
|
});
|
|
1076
|
-
var agentJobSnapshotSchema =
|
|
1077
|
-
jobId:
|
|
1078
|
-
status:
|
|
1289
|
+
var agentJobSnapshotSchema = import_zod5.z.strictObject({
|
|
1290
|
+
jobId: import_zod5.z.string().min(22).max(128).regex(/^[A-Za-z0-9_-]+$/),
|
|
1291
|
+
status: import_zod5.z.enum(AGENT_JOB_STATUSES),
|
|
1079
1292
|
providerProfileId: profileIdSchema3,
|
|
1080
1293
|
providerLabel: boundedString2(100),
|
|
1081
1294
|
modelProfileId: profileIdSchema3,
|
|
1082
1295
|
modelLabel: boundedString2(100),
|
|
1083
1296
|
phaseMessage: boundedString2(1024),
|
|
1084
|
-
createdAt:
|
|
1085
|
-
updatedAt:
|
|
1086
|
-
canCancel:
|
|
1087
|
-
canApply:
|
|
1088
|
-
canRevert:
|
|
1297
|
+
createdAt: import_zod5.z.iso.datetime(),
|
|
1298
|
+
updatedAt: import_zod5.z.iso.datetime(),
|
|
1299
|
+
canCancel: import_zod5.z.boolean(),
|
|
1300
|
+
canApply: import_zod5.z.boolean(),
|
|
1301
|
+
canRevert: import_zod5.z.boolean(),
|
|
1089
1302
|
errorCode: errorCodeSchema.optional()
|
|
1090
1303
|
});
|
|
1091
|
-
var agentJobResultSchema =
|
|
1092
|
-
jobId:
|
|
1304
|
+
var agentJobResultSchema = import_zod5.z.strictObject({
|
|
1305
|
+
jobId: import_zod5.z.string().min(22).max(128).regex(/^[A-Za-z0-9_-]+$/),
|
|
1093
1306
|
summary: boundedString2(8e4),
|
|
1094
1307
|
diff: boundedString2(1e6),
|
|
1095
|
-
files:
|
|
1096
|
-
checks:
|
|
1308
|
+
files: import_zod5.z.array(agentChangedFileSchema).max(100),
|
|
1309
|
+
checks: import_zod5.z.array(agentCheckResultSchema).max(100)
|
|
1097
1310
|
});
|
|
1098
|
-
var agentJobResultResponseSchema =
|
|
1311
|
+
var agentJobResultResponseSchema = import_zod5.z.strictObject({
|
|
1099
1312
|
snapshot: agentJobSnapshotSchema,
|
|
1100
1313
|
result: agentJobResultSchema.optional()
|
|
1101
1314
|
}).superRefine((value, context) => {
|
|
@@ -1107,44 +1320,44 @@ var agentJobResultResponseSchema = import_zod4.z.strictObject({
|
|
|
1107
1320
|
});
|
|
1108
1321
|
}
|
|
1109
1322
|
});
|
|
1110
|
-
var agentJobEventBaseSchema =
|
|
1111
|
-
schemaVersion:
|
|
1112
|
-
sequence:
|
|
1113
|
-
jobId:
|
|
1114
|
-
status:
|
|
1115
|
-
timestamp:
|
|
1323
|
+
var agentJobEventBaseSchema = import_zod5.z.strictObject({
|
|
1324
|
+
schemaVersion: import_zod5.z.literal(2),
|
|
1325
|
+
sequence: import_zod5.z.number().int().positive(),
|
|
1326
|
+
jobId: import_zod5.z.string().min(22).max(128).regex(/^[A-Za-z0-9_-]+$/),
|
|
1327
|
+
status: import_zod5.z.enum(AGENT_JOB_STATUSES),
|
|
1328
|
+
timestamp: import_zod5.z.iso.datetime()
|
|
1116
1329
|
});
|
|
1117
|
-
var agentJobEventSchema =
|
|
1330
|
+
var agentJobEventSchema = import_zod5.z.discriminatedUnion("type", [
|
|
1118
1331
|
agentJobEventBaseSchema.extend({
|
|
1119
|
-
type:
|
|
1120
|
-
data:
|
|
1332
|
+
type: import_zod5.z.literal("snapshot"),
|
|
1333
|
+
data: import_zod5.z.strictObject({ snapshot: agentJobSnapshotSchema })
|
|
1121
1334
|
}),
|
|
1122
1335
|
agentJobEventBaseSchema.extend({
|
|
1123
|
-
type:
|
|
1124
|
-
data:
|
|
1336
|
+
type: import_zod5.z.literal("phase"),
|
|
1337
|
+
data: import_zod5.z.strictObject({ message: boundedString2(1024) })
|
|
1125
1338
|
}),
|
|
1126
1339
|
agentJobEventBaseSchema.extend({
|
|
1127
|
-
type:
|
|
1128
|
-
data:
|
|
1129
|
-
turn:
|
|
1340
|
+
type: import_zod5.z.literal("tool"),
|
|
1341
|
+
data: import_zod5.z.strictObject({
|
|
1342
|
+
turn: import_zod5.z.number().int().positive(),
|
|
1130
1343
|
toolCallId: boundedString2(256),
|
|
1131
1344
|
toolName: boundedString2(100),
|
|
1132
|
-
state:
|
|
1345
|
+
state: import_zod5.z.enum(["started", "succeeded", "failed"]),
|
|
1133
1346
|
relativePath: boundedString2(1024).optional(),
|
|
1134
1347
|
checkLabel: boundedString2(100).optional()
|
|
1135
1348
|
})
|
|
1136
1349
|
}),
|
|
1137
1350
|
agentJobEventBaseSchema.extend({
|
|
1138
|
-
type:
|
|
1139
|
-
data:
|
|
1351
|
+
type: import_zod5.z.literal("check"),
|
|
1352
|
+
data: import_zod5.z.strictObject({ result: agentCheckResultSchema })
|
|
1140
1353
|
}),
|
|
1141
1354
|
agentJobEventBaseSchema.extend({
|
|
1142
|
-
type:
|
|
1143
|
-
data:
|
|
1355
|
+
type: import_zod5.z.literal("result-ready"),
|
|
1356
|
+
data: import_zod5.z.strictObject({ hasResult: import_zod5.z.literal(true) })
|
|
1144
1357
|
}),
|
|
1145
1358
|
agentJobEventBaseSchema.extend({
|
|
1146
|
-
type:
|
|
1147
|
-
data:
|
|
1359
|
+
type: import_zod5.z.literal("error"),
|
|
1360
|
+
data: import_zod5.z.strictObject({
|
|
1148
1361
|
code: errorCodeSchema,
|
|
1149
1362
|
message: boundedString2(1024)
|
|
1150
1363
|
})
|
|
@@ -1197,6 +1410,16 @@ var SPOTPATCH_REPOSITORY_URL = "https://github.com/huanglvjing/spotpatch";
|
|
|
1197
1410
|
DEFAULT_DATA_FLOW_LIMITS,
|
|
1198
1411
|
DEFAULT_RUNTIME_DATA_FLOW_LIMITS,
|
|
1199
1412
|
ERROR_CODES,
|
|
1413
|
+
ERROR_CODE_VALUES,
|
|
1414
|
+
EXTERNAL_HANDOFF_ACTIVE_ADAPTER_KINDS,
|
|
1415
|
+
EXTERNAL_HANDOFF_ACTIVE_ADAPTER_STATES,
|
|
1416
|
+
EXTERNAL_HANDOFF_BROKER_PROTOCOL_VERSION,
|
|
1417
|
+
EXTERNAL_HANDOFF_DISPATCH_PHASES,
|
|
1418
|
+
EXTERNAL_HANDOFF_FRAMEWORKS,
|
|
1419
|
+
EXTERNAL_HANDOFF_LIMITS,
|
|
1420
|
+
EXTERNAL_HANDOFF_REPORTABLE_DISPATCH_PHASES,
|
|
1421
|
+
EXTERNAL_HANDOFF_SNAPSHOT_SCHEMA_VERSION,
|
|
1422
|
+
EXTERNAL_HANDOFF_STATES,
|
|
1200
1423
|
MAX_ANNOTATION_INSTRUCTION_CHARACTERS,
|
|
1201
1424
|
MAX_ANNOTATION_TARGETS,
|
|
1202
1425
|
MAX_TARGET_INSTRUCTION_CHARACTERS,
|
|
@@ -1211,6 +1434,7 @@ var SPOTPATCH_REPOSITORY_URL = "https://github.com/huanglvjing/spotpatch";
|
|
|
1211
1434
|
SPOTPATCH_REPOSITORY_URL,
|
|
1212
1435
|
SPOTPATCH_TOKEN_HEADER,
|
|
1213
1436
|
SpotPatchError,
|
|
1437
|
+
activeAdapterSummarySchema,
|
|
1214
1438
|
agentCapabilityRequestSchema,
|
|
1215
1439
|
agentCapabilitySnapshotSchema,
|
|
1216
1440
|
agentChangedFileSchema,
|
|
@@ -1227,8 +1451,21 @@ var SPOTPATCH_REPOSITORY_URL = "https://github.com/huanglvjing/spotpatch";
|
|
|
1227
1451
|
dataDependencySchema,
|
|
1228
1452
|
dataFlowComponentReportRequestSchema,
|
|
1229
1453
|
dataFlowPageReportRequestSchema,
|
|
1454
|
+
dispatchSummarySchema,
|
|
1455
|
+
externalHandoffCapabilityRequestSchema,
|
|
1456
|
+
externalHandoffCapabilitySchema,
|
|
1457
|
+
externalHandoffPublishDeliverySchema,
|
|
1458
|
+
externalHandoffPublishRequestSchema,
|
|
1459
|
+
externalHandoffPublishResultSchema,
|
|
1460
|
+
externalHandoffReportableDispatchPhaseSchema,
|
|
1461
|
+
externalHandoffResolveDeliveryRequestSchema,
|
|
1462
|
+
externalHandoffSnapshotSchema,
|
|
1463
|
+
externalHandoffStatusRequestSchema,
|
|
1464
|
+
externalHandoffStatusResultSchema,
|
|
1465
|
+
externalHandoffSummarySchema,
|
|
1230
1466
|
formatSourceMarker,
|
|
1231
1467
|
getAgentJobEndpoint,
|
|
1468
|
+
isErrorCode,
|
|
1232
1469
|
isSensitiveName,
|
|
1233
1470
|
limitDataFlowReportCollections,
|
|
1234
1471
|
networkObservationSchema,
|