@spotpatch/shared 1.12.0 → 1.14.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-Cz-NNgR4.d.cts +102 -0
- package/dist/annotation-Cz-NNgR4.d.ts +102 -0
- package/dist/chunk-CLQ6MIJB.js +586 -0
- package/dist/chunk-CLQ6MIJB.js.map +1 -0
- package/dist/chunk-EWJTKNL4.js +90 -0
- package/dist/chunk-EWJTKNL4.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-2LVIH7OA.js → chunk-IX6MSCK6.js} +6 -2
- package/dist/chunk-IX6MSCK6.js.map +1 -0
- package/dist/{chunk-JU5HIWX7.js → chunk-JTZFOTPT.js} +9 -174
- package/dist/chunk-JTZFOTPT.js.map +1 -0
- package/dist/chunk-R6QJFNT2.js +195 -0
- package/dist/chunk-R6QJFNT2.js.map +1 -0
- package/dist/contextual-ask-BpbkpFFf.d.cts +1476 -0
- package/dist/contextual-ask-BpbkpFFf.d.ts +1476 -0
- package/dist/contextual-ask-browser.cjs +201 -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 +971 -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-BelOgo8s.d.ts → data-flow-runtime-DhWpQoik.d.ts} +26 -13
- package/dist/{data-flow-runtime-oq9m21IP.d.cts → data-flow-runtime-w43iwvGA.d.cts} +26 -13
- package/dist/data-flow-runtime.cjs +2 -0
- 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 +1 -1
- 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 +320 -141
- package/dist/external-agent-node.cjs.map +1 -1
- package/dist/external-agent-node.d.cts +43 -27
- package/dist/external-agent-node.d.ts +43 -27
- package/dist/external-agent-node.js +174 -20
- package/dist/external-agent-node.js.map +1 -1
- package/dist/{external-handoff-BNUyMfNb.d.ts → external-handoff-5zHu-fz2.d.ts} +41 -131
- package/dist/{external-handoff-BNUyMfNb.d.cts → external-handoff-DeiIvR-2.d.cts} +41 -131
- package/dist/external-handoff-browser.cjs +7 -1
- 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 +2 -2
- package/dist/index.cjs +1170 -426
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +138 -178
- package/dist/index.d.ts +138 -178
- package/dist/index.js +116 -20
- package/dist/index.js.map +1 -1
- package/package.json +29 -2
- package/dist/chunk-2LVIH7OA.js.map +0 -1
- package/dist/chunk-JGOIBOFI.js.map +0 -1
- package/dist/chunk-JU5HIWX7.js.map +0 -1
- package/dist/{external-agent-control-BMoSq_xI.d.cts → external-agent-control-C79Nl85y.d.cts} +49 -49
- package/dist/{external-agent-control-BMoSq_xI.d.ts → external-agent-control-C79Nl85y.d.ts} +49 -49
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
// src/model/annotation.ts
|
|
2
|
+
var MAX_ANNOTATION_TARGETS = 20;
|
|
3
|
+
var MAX_TARGET_INSTRUCTION_CHARACTERS = 2e3;
|
|
4
|
+
var MAX_ANNOTATION_INSTRUCTION_CHARACTERS = 4e3;
|
|
5
|
+
var SPOTPATCH_LOCALES = Object.freeze(["en-US", "zh-CN"]);
|
|
6
|
+
var SPOTPATCH_LOCALE_PREFERENCES = Object.freeze([
|
|
7
|
+
"auto",
|
|
8
|
+
...SPOTPATCH_LOCALES
|
|
9
|
+
]);
|
|
10
|
+
|
|
11
|
+
// src/model/context-schema.ts
|
|
12
|
+
import { z } from "zod";
|
|
13
|
+
var boundedString = (maximum) => z.string().max(maximum);
|
|
14
|
+
var sourceRefSchema = z.strictObject({
|
|
15
|
+
fileId: boundedString(128).optional(),
|
|
16
|
+
relativePath: boundedString(1024).optional(),
|
|
17
|
+
line: z.number().int().positive().optional(),
|
|
18
|
+
column: z.number().int().positive().optional(),
|
|
19
|
+
origin: z.enum(["jsx-host", "astro-host", "react-fiber", "dom-ancestor", "none"]),
|
|
20
|
+
confidence: z.enum(["exact", "probable", "approximate", "unknown"])
|
|
21
|
+
});
|
|
22
|
+
var matchedStyleRuleSchema = z.strictObject({
|
|
23
|
+
selector: boundedString(2048),
|
|
24
|
+
declarations: boundedString(8192),
|
|
25
|
+
source: boundedString(1024).optional(),
|
|
26
|
+
media: boundedString(1024).optional()
|
|
27
|
+
});
|
|
28
|
+
var codeContextSchema = z.strictObject({
|
|
29
|
+
relativePath: boundedString(1024),
|
|
30
|
+
language: z.enum(["tsx", "jsx", "astro"]),
|
|
31
|
+
startLine: z.number().int().positive(),
|
|
32
|
+
endLine: z.number().int().positive(),
|
|
33
|
+
excerpt: boundedString(16e3),
|
|
34
|
+
boundary: z.enum(["component", "nearby-lines"])
|
|
35
|
+
});
|
|
36
|
+
var pageContextSchema = z.strictObject({
|
|
37
|
+
url: boundedString(2048),
|
|
38
|
+
pathname: boundedString(2048),
|
|
39
|
+
title: boundedString(1024),
|
|
40
|
+
viewportWidth: z.number().nonnegative(),
|
|
41
|
+
viewportHeight: z.number().nonnegative(),
|
|
42
|
+
devicePixelRatio: z.number().positive()
|
|
43
|
+
});
|
|
44
|
+
var spotTargetContextSchema = z.strictObject({
|
|
45
|
+
instruction: z.string().trim().min(1).max(MAX_TARGET_INSTRUCTION_CHARACTERS),
|
|
46
|
+
page: pageContextSchema.optional(),
|
|
47
|
+
source: sourceRefSchema,
|
|
48
|
+
react: z.strictObject({
|
|
49
|
+
supported: z.boolean(),
|
|
50
|
+
version: boundedString(64).optional(),
|
|
51
|
+
componentName: boundedString(256).optional(),
|
|
52
|
+
componentSourceId: boundedString(128).optional(),
|
|
53
|
+
sourceVersion: boundedString(128).optional(),
|
|
54
|
+
componentStack: z.array(boundedString(256)).max(64),
|
|
55
|
+
source: sourceRefSchema.optional()
|
|
56
|
+
}),
|
|
57
|
+
element: z.strictObject({
|
|
58
|
+
tagName: boundedString(128),
|
|
59
|
+
selector: boundedString(2048),
|
|
60
|
+
sanitizedHtml: boundedString(8192),
|
|
61
|
+
textPreview: boundedString(2048).optional(),
|
|
62
|
+
role: boundedString(256).optional(),
|
|
63
|
+
rect: z.strictObject({
|
|
64
|
+
x: z.number(),
|
|
65
|
+
y: z.number(),
|
|
66
|
+
width: z.number().nonnegative(),
|
|
67
|
+
height: z.number().nonnegative()
|
|
68
|
+
})
|
|
69
|
+
}),
|
|
70
|
+
styles: z.strictObject({
|
|
71
|
+
classNames: z.array(boundedString(512)).max(256),
|
|
72
|
+
inlineStyle: boundedString(8192).optional(),
|
|
73
|
+
matchedRules: z.array(matchedStyleRuleSchema).max(256),
|
|
74
|
+
computed: z.record(boundedString(256), boundedString(2048)),
|
|
75
|
+
warnings: z.array(boundedString(1024)).max(64)
|
|
76
|
+
}),
|
|
77
|
+
code: codeContextSchema.optional(),
|
|
78
|
+
warnings: z.array(boundedString(1024)).max(64)
|
|
79
|
+
});
|
|
80
|
+
var spotAnnotationSchema = z.strictObject({
|
|
81
|
+
schemaVersion: z.literal(3),
|
|
82
|
+
id: boundedString(128),
|
|
83
|
+
locale: z.enum(SPOTPATCH_LOCALES),
|
|
84
|
+
page: pageContextSchema,
|
|
85
|
+
targets: z.array(spotTargetContextSchema).min(1).max(MAX_ANNOTATION_TARGETS),
|
|
86
|
+
createdAt: z.iso.datetime()
|
|
87
|
+
}).superRefine((annotation, context) => {
|
|
88
|
+
const total = annotation.targets.reduce(
|
|
89
|
+
(characters, target) => characters + target.instruction.length,
|
|
90
|
+
0
|
|
91
|
+
);
|
|
92
|
+
if (total > MAX_ANNOTATION_INSTRUCTION_CHARACTERS) {
|
|
93
|
+
context.addIssue({
|
|
94
|
+
code: "custom",
|
|
95
|
+
message: "Combined target instructions exceed the annotation limit.",
|
|
96
|
+
path: ["targets"]
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
// src/errors/error-code.ts
|
|
102
|
+
var ERROR_CODES = {
|
|
103
|
+
INVALID_REQUEST: "INVALID_REQUEST",
|
|
104
|
+
INVALID_TOKEN: "INVALID_TOKEN",
|
|
105
|
+
ORIGIN_NOT_ALLOWED: "ORIGIN_NOT_ALLOWED",
|
|
106
|
+
SOURCE_NOT_FOUND: "SOURCE_NOT_FOUND",
|
|
107
|
+
SOURCE_OUTSIDE_ROOT: "SOURCE_OUTSIDE_ROOT",
|
|
108
|
+
SOURCE_TOO_LARGE: "SOURCE_TOO_LARGE",
|
|
109
|
+
EDITOR_OPEN_FAILED: "EDITOR_OPEN_FAILED",
|
|
110
|
+
DATA_FLOW_DISABLED: "DATA_FLOW_DISABLED",
|
|
111
|
+
DATA_FLOW_SOURCE_STALE: "DATA_FLOW_SOURCE_STALE",
|
|
112
|
+
DATA_FLOW_ANALYSIS_CANCELLED: "DATA_FLOW_ANALYSIS_CANCELLED",
|
|
113
|
+
AI_DISABLED: "AI_DISABLED",
|
|
114
|
+
PROVIDER_NOT_CONFIGURED: "PROVIDER_NOT_CONFIGURED",
|
|
115
|
+
PROVIDER_AUTH_FAILED: "PROVIDER_AUTH_FAILED",
|
|
116
|
+
PROVIDER_PROTOCOL_UNSUPPORTED: "PROVIDER_PROTOCOL_UNSUPPORTED",
|
|
117
|
+
MODEL_NOT_ALLOWED: "MODEL_NOT_ALLOWED",
|
|
118
|
+
MODEL_TOOL_CALL_UNSUPPORTED: "MODEL_TOOL_CALL_UNSUPPORTED",
|
|
119
|
+
PROVIDER_RATE_LIMITED: "PROVIDER_RATE_LIMITED",
|
|
120
|
+
AGENT_BUSY: "AGENT_BUSY",
|
|
121
|
+
AGENT_LIMIT_EXCEEDED: "AGENT_LIMIT_EXCEEDED",
|
|
122
|
+
AGENT_CANCELLED: "AGENT_CANCELLED",
|
|
123
|
+
EXTERNAL_HANDOFF_DISABLED: "EXTERNAL_HANDOFF_DISABLED",
|
|
124
|
+
EXTERNAL_HANDOFF_UNAVAILABLE: "EXTERNAL_HANDOFF_UNAVAILABLE",
|
|
125
|
+
HANDOFF_VALIDATION_FAILED: "HANDOFF_VALIDATION_FAILED",
|
|
126
|
+
HANDOFF_SOURCE_STALE: "HANDOFF_SOURCE_STALE",
|
|
127
|
+
HANDOFF_NOT_FOUND: "HANDOFF_NOT_FOUND",
|
|
128
|
+
HANDOFF_EXPIRED: "HANDOFF_EXPIRED",
|
|
129
|
+
HANDOFF_CURSOR_INVALID: "HANDOFF_CURSOR_INVALID",
|
|
130
|
+
HANDOFF_RESPONSE_TOO_LARGE: "HANDOFF_RESPONSE_TOO_LARGE",
|
|
131
|
+
BRIDGE_UNAUTHORIZED: "BRIDGE_UNAUTHORIZED",
|
|
132
|
+
BRIDGE_PROTOCOL_MISMATCH: "BRIDGE_PROTOCOL_MISMATCH",
|
|
133
|
+
BRIDGE_BUSY: "BRIDGE_BUSY",
|
|
134
|
+
EXTERNAL_AGENT_BUSY: "EXTERNAL_AGENT_BUSY",
|
|
135
|
+
ACTIVE_ADAPTER_CONFLICT: "ACTIVE_ADAPTER_CONFLICT",
|
|
136
|
+
ACTIVE_ADAPTER_LEASE_INVALID: "ACTIVE_ADAPTER_LEASE_INVALID",
|
|
137
|
+
ACTIVE_DISPATCH_INVALID: "ACTIVE_DISPATCH_INVALID",
|
|
138
|
+
SESSION_NOT_FOUND: "SESSION_NOT_FOUND",
|
|
139
|
+
SESSION_AMBIGUOUS: "SESSION_AMBIGUOUS",
|
|
140
|
+
SESSION_CLOSED: "SESSION_CLOSED",
|
|
141
|
+
WORKTREE_DIRTY: "WORKTREE_DIRTY",
|
|
142
|
+
WORKTREE_NOT_REPOSITORY: "WORKTREE_NOT_REPOSITORY",
|
|
143
|
+
WORKTREE_OPERATION_IN_PROGRESS: "WORKTREE_OPERATION_IN_PROGRESS",
|
|
144
|
+
WORKTREE_CONFLICTED: "WORKTREE_CONFLICTED",
|
|
145
|
+
WORKTREE_LOCAL_CHANGES_TOO_LARGE: "WORKTREE_LOCAL_CHANGES_TOO_LARGE",
|
|
146
|
+
WORKTREE_UNTRACKED_UNSUPPORTED: "WORKTREE_UNTRACKED_UNSUPPORTED",
|
|
147
|
+
WORKTREE_LOCAL_CHANGES_UNSUPPORTED: "WORKTREE_LOCAL_CHANGES_UNSUPPORTED",
|
|
148
|
+
TOOL_DENIED: "TOOL_DENIED",
|
|
149
|
+
TOOL_INPUT_INVALID: "TOOL_INPUT_INVALID",
|
|
150
|
+
TOOL_ARGUMENTS_INVALID: "TOOL_ARGUMENTS_INVALID",
|
|
151
|
+
TOOL_CALL_ID_CONFLICT: "TOOL_CALL_ID_CONFLICT",
|
|
152
|
+
TOOL_PATH_DENIED: "TOOL_PATH_DENIED",
|
|
153
|
+
PATCH_REJECTED: "PATCH_REJECTED",
|
|
154
|
+
VALIDATION_FAILED: "VALIDATION_FAILED",
|
|
155
|
+
APPLY_CONFLICT: "APPLY_CONFLICT",
|
|
156
|
+
INTERNAL_ERROR: "INTERNAL_ERROR"
|
|
157
|
+
};
|
|
158
|
+
var CONTEXTUAL_ASK_ERROR_CODES = Object.freeze([
|
|
159
|
+
"ASK_DISABLED",
|
|
160
|
+
"ASK_SELECTION_REQUIRED",
|
|
161
|
+
"ASK_SELECTION_STALE",
|
|
162
|
+
"ASK_QUESTION_INVALID",
|
|
163
|
+
"ASK_EXECUTOR_UNAVAILABLE",
|
|
164
|
+
"ASK_TIMEOUT",
|
|
165
|
+
"ASK_CONSENT_REQUIRED",
|
|
166
|
+
"ASK_BUSY",
|
|
167
|
+
"ASK_IDEMPOTENCY_CONFLICT",
|
|
168
|
+
"ASK_SOURCE_SCOPE_DENIED",
|
|
169
|
+
"ASK_LIMIT_EXCEEDED",
|
|
170
|
+
"ASK_ANSWER_INVALID",
|
|
171
|
+
"ASK_WRITE_ATTEMPTED",
|
|
172
|
+
"ASK_CANCELLED",
|
|
173
|
+
"ASK_RESULT_EXPIRED",
|
|
174
|
+
"ASK_PROTOCOL_INCOMPATIBLE"
|
|
175
|
+
]);
|
|
176
|
+
var ERROR_CODE_VALUES = Object.freeze(Object.values(ERROR_CODES));
|
|
177
|
+
function isErrorCode(value) {
|
|
178
|
+
return typeof value === "string" && ERROR_CODE_VALUES.includes(value);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
export {
|
|
182
|
+
MAX_ANNOTATION_TARGETS,
|
|
183
|
+
MAX_TARGET_INSTRUCTION_CHARACTERS,
|
|
184
|
+
MAX_ANNOTATION_INSTRUCTION_CHARACTERS,
|
|
185
|
+
SPOTPATCH_LOCALES,
|
|
186
|
+
SPOTPATCH_LOCALE_PREFERENCES,
|
|
187
|
+
pageContextSchema,
|
|
188
|
+
spotTargetContextSchema,
|
|
189
|
+
spotAnnotationSchema,
|
|
190
|
+
ERROR_CODES,
|
|
191
|
+
CONTEXTUAL_ASK_ERROR_CODES,
|
|
192
|
+
ERROR_CODE_VALUES,
|
|
193
|
+
isErrorCode
|
|
194
|
+
};
|
|
195
|
+
//# sourceMappingURL=chunk-R6QJFNT2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/model/annotation.ts","../src/model/context-schema.ts","../src/errors/error-code.ts"],"sourcesContent":["import type { CodeContext } from \"./code-context.js\";\nimport type { ReactContext, SourceRef } from \"./source-ref.js\";\nimport type { StyleContext } from \"./style-context.js\";\n\nexport interface PageContext {\n readonly url: string;\n readonly pathname: string;\n readonly title: string;\n readonly viewportWidth: number;\n readonly viewportHeight: number;\n readonly devicePixelRatio: number;\n}\n\nexport interface ElementContext {\n readonly tagName: string;\n readonly selector: string;\n readonly sanitizedHtml: string;\n readonly textPreview?: string;\n readonly role?: string;\n readonly rect: Readonly<{\n x: number;\n y: number;\n width: number;\n height: number;\n }>;\n}\n\n/** Protocol hard limit. Runtime configuration may choose a smaller limit. */\nexport const MAX_ANNOTATION_TARGETS = 20;\n\n/** Each target owns its requested change; the UI enforces the same bound. */\nexport const MAX_TARGET_INSTRUCTION_CHARACTERS = 2_000;\n\n/** Keeps the complete, atomic user intent within the prompt and request budgets. */\nexport const MAX_ANNOTATION_INSTRUCTION_CHARACTERS = 4_000;\n\nexport const SPOTPATCH_LOCALES = Object.freeze([\"en-US\", \"zh-CN\"] as const);\nexport type SpotPatchLocale = (typeof SPOTPATCH_LOCALES)[number];\nexport const SPOTPATCH_LOCALE_PREFERENCES = Object.freeze([\n \"auto\",\n ...SPOTPATCH_LOCALES,\n] as const);\nexport type SpotPatchLocalePreference = (typeof SPOTPATCH_LOCALE_PREFERENCES)[number];\n\nexport interface SpotTargetContext {\n readonly instruction: string;\n readonly page?: Readonly<PageContext>;\n readonly source: SourceRef;\n readonly react: ReactContext;\n readonly element: ElementContext;\n readonly styles: StyleContext;\n readonly code?: CodeContext;\n readonly warnings: readonly string[];\n}\n\nexport interface SpotAnnotation {\n readonly schemaVersion: 3;\n readonly id: string;\n readonly locale: SpotPatchLocale;\n readonly page: Readonly<PageContext>;\n readonly targets: readonly SpotTargetContext[];\n readonly createdAt: string;\n}\n","import { z } from \"zod\";\n\nimport {\n MAX_ANNOTATION_INSTRUCTION_CHARACTERS,\n MAX_ANNOTATION_TARGETS,\n MAX_TARGET_INSTRUCTION_CHARACTERS,\n SPOTPATCH_LOCALES,\n} from \"./annotation.js\";\n\nconst boundedString = (maximum: number): z.ZodString => z.string().max(maximum);\n\nexport const sourceRefSchema = z.strictObject({\n fileId: boundedString(128).optional(),\n relativePath: boundedString(1_024).optional(),\n line: z.number().int().positive().optional(),\n column: z.number().int().positive().optional(),\n origin: z.enum([\"jsx-host\", \"astro-host\", \"react-fiber\", \"dom-ancestor\", \"none\"]),\n confidence: z.enum([\"exact\", \"probable\", \"approximate\", \"unknown\"]),\n});\n\nexport const matchedStyleRuleSchema = z.strictObject({\n selector: boundedString(2_048),\n declarations: boundedString(8_192),\n source: boundedString(1_024).optional(),\n media: boundedString(1_024).optional(),\n});\n\nexport const codeContextSchema = z.strictObject({\n relativePath: boundedString(1_024),\n language: z.enum([\"tsx\", \"jsx\", \"astro\"]),\n startLine: z.number().int().positive(),\n endLine: z.number().int().positive(),\n excerpt: boundedString(16_000),\n boundary: z.enum([\"component\", \"nearby-lines\"]),\n});\n\nexport const pageContextSchema = z.strictObject({\n url: boundedString(2_048),\n pathname: boundedString(2_048),\n title: boundedString(1_024),\n viewportWidth: z.number().nonnegative(),\n viewportHeight: z.number().nonnegative(),\n devicePixelRatio: z.number().positive(),\n});\n\nexport const spotTargetContextSchema = z.strictObject({\n instruction: z.string().trim().min(1).max(MAX_TARGET_INSTRUCTION_CHARACTERS),\n page: pageContextSchema.optional(),\n source: sourceRefSchema,\n react: z.strictObject({\n supported: z.boolean(),\n version: boundedString(64).optional(),\n componentName: boundedString(256).optional(),\n componentSourceId: boundedString(128).optional(),\n sourceVersion: boundedString(128).optional(),\n componentStack: z.array(boundedString(256)).max(64),\n source: sourceRefSchema.optional(),\n }),\n element: z.strictObject({\n tagName: boundedString(128),\n selector: boundedString(2_048),\n sanitizedHtml: boundedString(8_192),\n textPreview: boundedString(2_048).optional(),\n role: boundedString(256).optional(),\n rect: z.strictObject({\n x: z.number(),\n y: z.number(),\n width: z.number().nonnegative(),\n height: z.number().nonnegative(),\n }),\n }),\n styles: z.strictObject({\n classNames: z.array(boundedString(512)).max(256),\n inlineStyle: boundedString(8_192).optional(),\n matchedRules: z.array(matchedStyleRuleSchema).max(256),\n computed: z.record(boundedString(256), boundedString(2_048)),\n warnings: z.array(boundedString(1_024)).max(64),\n }),\n code: codeContextSchema.optional(),\n warnings: z.array(boundedString(1_024)).max(64),\n});\n\nexport const spotAnnotationSchema = z\n .strictObject({\n schemaVersion: z.literal(3),\n id: boundedString(128),\n locale: z.enum(SPOTPATCH_LOCALES),\n page: pageContextSchema,\n targets: z.array(spotTargetContextSchema).min(1).max(MAX_ANNOTATION_TARGETS),\n createdAt: z.iso.datetime(),\n })\n .superRefine((annotation, context) => {\n const total = annotation.targets.reduce(\n (characters, target) => characters + target.instruction.length,\n 0,\n );\n if (total > MAX_ANNOTATION_INSTRUCTION_CHARACTERS) {\n context.addIssue({\n code: \"custom\",\n message: \"Combined target instructions exceed the annotation limit.\",\n path: [\"targets\"],\n });\n }\n });\n","export const ERROR_CODES = {\n INVALID_REQUEST: \"INVALID_REQUEST\",\n INVALID_TOKEN: \"INVALID_TOKEN\",\n ORIGIN_NOT_ALLOWED: \"ORIGIN_NOT_ALLOWED\",\n SOURCE_NOT_FOUND: \"SOURCE_NOT_FOUND\",\n SOURCE_OUTSIDE_ROOT: \"SOURCE_OUTSIDE_ROOT\",\n SOURCE_TOO_LARGE: \"SOURCE_TOO_LARGE\",\n EDITOR_OPEN_FAILED: \"EDITOR_OPEN_FAILED\",\n DATA_FLOW_DISABLED: \"DATA_FLOW_DISABLED\",\n DATA_FLOW_SOURCE_STALE: \"DATA_FLOW_SOURCE_STALE\",\n DATA_FLOW_ANALYSIS_CANCELLED: \"DATA_FLOW_ANALYSIS_CANCELLED\",\n AI_DISABLED: \"AI_DISABLED\",\n PROVIDER_NOT_CONFIGURED: \"PROVIDER_NOT_CONFIGURED\",\n PROVIDER_AUTH_FAILED: \"PROVIDER_AUTH_FAILED\",\n PROVIDER_PROTOCOL_UNSUPPORTED: \"PROVIDER_PROTOCOL_UNSUPPORTED\",\n MODEL_NOT_ALLOWED: \"MODEL_NOT_ALLOWED\",\n MODEL_TOOL_CALL_UNSUPPORTED: \"MODEL_TOOL_CALL_UNSUPPORTED\",\n PROVIDER_RATE_LIMITED: \"PROVIDER_RATE_LIMITED\",\n AGENT_BUSY: \"AGENT_BUSY\",\n AGENT_LIMIT_EXCEEDED: \"AGENT_LIMIT_EXCEEDED\",\n AGENT_CANCELLED: \"AGENT_CANCELLED\",\n EXTERNAL_HANDOFF_DISABLED: \"EXTERNAL_HANDOFF_DISABLED\",\n EXTERNAL_HANDOFF_UNAVAILABLE: \"EXTERNAL_HANDOFF_UNAVAILABLE\",\n HANDOFF_VALIDATION_FAILED: \"HANDOFF_VALIDATION_FAILED\",\n HANDOFF_SOURCE_STALE: \"HANDOFF_SOURCE_STALE\",\n HANDOFF_NOT_FOUND: \"HANDOFF_NOT_FOUND\",\n HANDOFF_EXPIRED: \"HANDOFF_EXPIRED\",\n HANDOFF_CURSOR_INVALID: \"HANDOFF_CURSOR_INVALID\",\n HANDOFF_RESPONSE_TOO_LARGE: \"HANDOFF_RESPONSE_TOO_LARGE\",\n BRIDGE_UNAUTHORIZED: \"BRIDGE_UNAUTHORIZED\",\n BRIDGE_PROTOCOL_MISMATCH: \"BRIDGE_PROTOCOL_MISMATCH\",\n BRIDGE_BUSY: \"BRIDGE_BUSY\",\n EXTERNAL_AGENT_BUSY: \"EXTERNAL_AGENT_BUSY\",\n ACTIVE_ADAPTER_CONFLICT: \"ACTIVE_ADAPTER_CONFLICT\",\n ACTIVE_ADAPTER_LEASE_INVALID: \"ACTIVE_ADAPTER_LEASE_INVALID\",\n ACTIVE_DISPATCH_INVALID: \"ACTIVE_DISPATCH_INVALID\",\n SESSION_NOT_FOUND: \"SESSION_NOT_FOUND\",\n SESSION_AMBIGUOUS: \"SESSION_AMBIGUOUS\",\n SESSION_CLOSED: \"SESSION_CLOSED\",\n WORKTREE_DIRTY: \"WORKTREE_DIRTY\",\n WORKTREE_NOT_REPOSITORY: \"WORKTREE_NOT_REPOSITORY\",\n WORKTREE_OPERATION_IN_PROGRESS: \"WORKTREE_OPERATION_IN_PROGRESS\",\n WORKTREE_CONFLICTED: \"WORKTREE_CONFLICTED\",\n WORKTREE_LOCAL_CHANGES_TOO_LARGE: \"WORKTREE_LOCAL_CHANGES_TOO_LARGE\",\n WORKTREE_UNTRACKED_UNSUPPORTED: \"WORKTREE_UNTRACKED_UNSUPPORTED\",\n WORKTREE_LOCAL_CHANGES_UNSUPPORTED: \"WORKTREE_LOCAL_CHANGES_UNSUPPORTED\",\n TOOL_DENIED: \"TOOL_DENIED\",\n TOOL_INPUT_INVALID: \"TOOL_INPUT_INVALID\",\n TOOL_ARGUMENTS_INVALID: \"TOOL_ARGUMENTS_INVALID\",\n TOOL_CALL_ID_CONFLICT: \"TOOL_CALL_ID_CONFLICT\",\n TOOL_PATH_DENIED: \"TOOL_PATH_DENIED\",\n PATCH_REJECTED: \"PATCH_REJECTED\",\n VALIDATION_FAILED: \"VALIDATION_FAILED\",\n APPLY_CONFLICT: \"APPLY_CONFLICT\",\n INTERNAL_ERROR: \"INTERNAL_ERROR\",\n} as const;\n\nexport const CONTEXTUAL_ASK_ERROR_CODES = Object.freeze([\n \"ASK_DISABLED\",\n \"ASK_SELECTION_REQUIRED\",\n \"ASK_SELECTION_STALE\",\n \"ASK_QUESTION_INVALID\",\n \"ASK_EXECUTOR_UNAVAILABLE\",\n \"ASK_TIMEOUT\",\n \"ASK_CONSENT_REQUIRED\",\n \"ASK_BUSY\",\n \"ASK_IDEMPOTENCY_CONFLICT\",\n \"ASK_SOURCE_SCOPE_DENIED\",\n \"ASK_LIMIT_EXCEEDED\",\n \"ASK_ANSWER_INVALID\",\n \"ASK_WRITE_ATTEMPTED\",\n \"ASK_CANCELLED\",\n \"ASK_RESULT_EXPIRED\",\n \"ASK_PROTOCOL_INCOMPATIBLE\",\n] as const);\n\nexport type ContextualAskErrorCode = (typeof CONTEXTUAL_ASK_ERROR_CODES)[number];\n\nexport type ErrorCode = (typeof ERROR_CODES)[keyof typeof ERROR_CODES];\n\nexport const ERROR_CODE_VALUES = Object.freeze(Object.values(ERROR_CODES));\n\nexport function isErrorCode(value: unknown): value is ErrorCode {\n return (\n typeof value === \"string\" &&\n (ERROR_CODE_VALUES as readonly string[]).includes(value)\n );\n}\n"],"mappings":";AA4BO,IAAM,yBAAyB;AAG/B,IAAM,oCAAoC;AAG1C,IAAM,wCAAwC;AAE9C,IAAM,oBAAoB,OAAO,OAAO,CAAC,SAAS,OAAO,CAAU;AAEnE,IAAM,+BAA+B,OAAO,OAAO;AAAA,EACxD;AAAA,EACA,GAAG;AACL,CAAU;;;ACzCV,SAAS,SAAS;AASlB,IAAM,gBAAgB,CAAC,YAAiC,EAAE,OAAO,EAAE,IAAI,OAAO;AAEvE,IAAM,kBAAkB,EAAE,aAAa;AAAA,EAC5C,QAAQ,cAAc,GAAG,EAAE,SAAS;AAAA,EACpC,cAAc,cAAc,IAAK,EAAE,SAAS;AAAA,EAC5C,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AAAA,EAC3C,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AAAA,EAC7C,QAAQ,EAAE,KAAK,CAAC,YAAY,cAAc,eAAe,gBAAgB,MAAM,CAAC;AAAA,EAChF,YAAY,EAAE,KAAK,CAAC,SAAS,YAAY,eAAe,SAAS,CAAC;AACpE,CAAC;AAEM,IAAM,yBAAyB,EAAE,aAAa;AAAA,EACnD,UAAU,cAAc,IAAK;AAAA,EAC7B,cAAc,cAAc,IAAK;AAAA,EACjC,QAAQ,cAAc,IAAK,EAAE,SAAS;AAAA,EACtC,OAAO,cAAc,IAAK,EAAE,SAAS;AACvC,CAAC;AAEM,IAAM,oBAAoB,EAAE,aAAa;AAAA,EAC9C,cAAc,cAAc,IAAK;AAAA,EACjC,UAAU,EAAE,KAAK,CAAC,OAAO,OAAO,OAAO,CAAC;AAAA,EACxC,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EACrC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EACnC,SAAS,cAAc,IAAM;AAAA,EAC7B,UAAU,EAAE,KAAK,CAAC,aAAa,cAAc,CAAC;AAChD,CAAC;AAEM,IAAM,oBAAoB,EAAE,aAAa;AAAA,EAC9C,KAAK,cAAc,IAAK;AAAA,EACxB,UAAU,cAAc,IAAK;AAAA,EAC7B,OAAO,cAAc,IAAK;AAAA,EAC1B,eAAe,EAAE,OAAO,EAAE,YAAY;AAAA,EACtC,gBAAgB,EAAE,OAAO,EAAE,YAAY;AAAA,EACvC,kBAAkB,EAAE,OAAO,EAAE,SAAS;AACxC,CAAC;AAEM,IAAM,0BAA0B,EAAE,aAAa;AAAA,EACpD,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,iCAAiC;AAAA,EAC3E,MAAM,kBAAkB,SAAS;AAAA,EACjC,QAAQ;AAAA,EACR,OAAO,EAAE,aAAa;AAAA,IACpB,WAAW,EAAE,QAAQ;AAAA,IACrB,SAAS,cAAc,EAAE,EAAE,SAAS;AAAA,IACpC,eAAe,cAAc,GAAG,EAAE,SAAS;AAAA,IAC3C,mBAAmB,cAAc,GAAG,EAAE,SAAS;AAAA,IAC/C,eAAe,cAAc,GAAG,EAAE,SAAS;AAAA,IAC3C,gBAAgB,EAAE,MAAM,cAAc,GAAG,CAAC,EAAE,IAAI,EAAE;AAAA,IAClD,QAAQ,gBAAgB,SAAS;AAAA,EACnC,CAAC;AAAA,EACD,SAAS,EAAE,aAAa;AAAA,IACtB,SAAS,cAAc,GAAG;AAAA,IAC1B,UAAU,cAAc,IAAK;AAAA,IAC7B,eAAe,cAAc,IAAK;AAAA,IAClC,aAAa,cAAc,IAAK,EAAE,SAAS;AAAA,IAC3C,MAAM,cAAc,GAAG,EAAE,SAAS;AAAA,IAClC,MAAM,EAAE,aAAa;AAAA,MACnB,GAAG,EAAE,OAAO;AAAA,MACZ,GAAG,EAAE,OAAO;AAAA,MACZ,OAAO,EAAE,OAAO,EAAE,YAAY;AAAA,MAC9B,QAAQ,EAAE,OAAO,EAAE,YAAY;AAAA,IACjC,CAAC;AAAA,EACH,CAAC;AAAA,EACD,QAAQ,EAAE,aAAa;AAAA,IACrB,YAAY,EAAE,MAAM,cAAc,GAAG,CAAC,EAAE,IAAI,GAAG;AAAA,IAC/C,aAAa,cAAc,IAAK,EAAE,SAAS;AAAA,IAC3C,cAAc,EAAE,MAAM,sBAAsB,EAAE,IAAI,GAAG;AAAA,IACrD,UAAU,EAAE,OAAO,cAAc,GAAG,GAAG,cAAc,IAAK,CAAC;AAAA,IAC3D,UAAU,EAAE,MAAM,cAAc,IAAK,CAAC,EAAE,IAAI,EAAE;AAAA,EAChD,CAAC;AAAA,EACD,MAAM,kBAAkB,SAAS;AAAA,EACjC,UAAU,EAAE,MAAM,cAAc,IAAK,CAAC,EAAE,IAAI,EAAE;AAChD,CAAC;AAEM,IAAM,uBAAuB,EACjC,aAAa;AAAA,EACZ,eAAe,EAAE,QAAQ,CAAC;AAAA,EAC1B,IAAI,cAAc,GAAG;AAAA,EACrB,QAAQ,EAAE,KAAK,iBAAiB;AAAA,EAChC,MAAM;AAAA,EACN,SAAS,EAAE,MAAM,uBAAuB,EAAE,IAAI,CAAC,EAAE,IAAI,sBAAsB;AAAA,EAC3E,WAAW,EAAE,IAAI,SAAS;AAC5B,CAAC,EACA,YAAY,CAAC,YAAY,YAAY;AACpC,QAAM,QAAQ,WAAW,QAAQ;AAAA,IAC/B,CAAC,YAAY,WAAW,aAAa,OAAO,YAAY;AAAA,IACxD;AAAA,EACF;AACA,MAAI,QAAQ,uCAAuC;AACjD,YAAQ,SAAS;AAAA,MACf,MAAM;AAAA,MACN,SAAS;AAAA,MACT,MAAM,CAAC,SAAS;AAAA,IAClB,CAAC;AAAA,EACH;AACF,CAAC;;;ACvGI,IAAM,cAAc;AAAA,EACzB,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,oBAAoB;AAAA,EACpB,kBAAkB;AAAA,EAClB,qBAAqB;AAAA,EACrB,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,wBAAwB;AAAA,EACxB,8BAA8B;AAAA,EAC9B,aAAa;AAAA,EACb,yBAAyB;AAAA,EACzB,sBAAsB;AAAA,EACtB,+BAA+B;AAAA,EAC/B,mBAAmB;AAAA,EACnB,6BAA6B;AAAA,EAC7B,uBAAuB;AAAA,EACvB,YAAY;AAAA,EACZ,sBAAsB;AAAA,EACtB,iBAAiB;AAAA,EACjB,2BAA2B;AAAA,EAC3B,8BAA8B;AAAA,EAC9B,2BAA2B;AAAA,EAC3B,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,wBAAwB;AAAA,EACxB,4BAA4B;AAAA,EAC5B,qBAAqB;AAAA,EACrB,0BAA0B;AAAA,EAC1B,aAAa;AAAA,EACb,qBAAqB;AAAA,EACrB,yBAAyB;AAAA,EACzB,8BAA8B;AAAA,EAC9B,yBAAyB;AAAA,EACzB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,yBAAyB;AAAA,EACzB,gCAAgC;AAAA,EAChC,qBAAqB;AAAA,EACrB,kCAAkC;AAAA,EAClC,gCAAgC;AAAA,EAChC,oCAAoC;AAAA,EACpC,aAAa;AAAA,EACb,oBAAoB;AAAA,EACpB,wBAAwB;AAAA,EACxB,uBAAuB;AAAA,EACvB,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,gBAAgB;AAClB;AAEO,IAAM,6BAA6B,OAAO,OAAO;AAAA,EACtD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAU;AAMH,IAAM,oBAAoB,OAAO,OAAO,OAAO,OAAO,WAAW,CAAC;AAElE,SAAS,YAAY,OAAoC;AAC9D,SACE,OAAO,UAAU,YAChB,kBAAwC,SAAS,KAAK;AAE3D;","names":[]}
|