@spotpatch/shared 1.15.0 → 1.16.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 → annotation-eo_ltNRm.d.cts} +24 -1
- package/dist/{annotation-Cz-NNgR4.d.ts → annotation-eo_ltNRm.d.ts} +24 -1
- package/dist/{chunk-JTZFOTPT.js → chunk-7777QFBJ.js} +2 -2
- package/dist/{chunk-R3BQKCCY.js → chunk-D7R32NFF.js} +2 -2
- package/dist/{chunk-R6QJFNT2.js → chunk-FCY5V76A.js} +31 -1
- package/dist/chunk-FCY5V76A.js.map +1 -0
- package/dist/{contextual-ask-BbmHG3Z8.d.cts → contextual-ask-Dz3Mh9LR.d.cts} +105 -0
- package/dist/{contextual-ask-BbmHG3Z8.d.ts → contextual-ask-Dz3Mh9LR.d.ts} +105 -0
- package/dist/contextual-ask-browser.d.cts +1 -1
- package/dist/contextual-ask-browser.d.ts +1 -1
- package/dist/contextual-ask-node.cjs +24 -0
- package/dist/contextual-ask-node.cjs.map +1 -1
- package/dist/contextual-ask-node.d.cts +3 -3
- package/dist/contextual-ask-node.d.ts +3 -3
- package/dist/contextual-ask-node.js +2 -2
- package/dist/data-flow-runtime.d.cts +1 -1
- package/dist/data-flow-runtime.d.ts +1 -1
- package/dist/external-agent-node.cjs +26 -0
- package/dist/external-agent-node.cjs.map +1 -1
- package/dist/external-agent-node.d.cts +66 -36
- package/dist/external-agent-node.d.ts +66 -36
- package/dist/external-agent-node.js +2 -2
- package/dist/{external-handoff-BpoxbpPk.d.ts → external-handoff-BaPiKnYG.d.ts} +68 -38
- package/dist/{external-handoff-D1Ua2jIA.d.cts → external-handoff-ByHmcwWv.d.cts} +68 -38
- package/dist/external-handoff-browser.d.cts +3 -3
- package/dist/external-handoff-browser.d.ts +3 -3
- package/dist/index.cjs +34 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +76 -31
- package/dist/index.d.ts +76 -31
- package/dist/index.js +11 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-R6QJFNT2.js.map +0 -1
- package/dist/{chunk-JTZFOTPT.js.map → chunk-7777QFBJ.js.map} +0 -0
- package/dist/{chunk-R3BQKCCY.js.map → chunk-D7R32NFF.js.map} +0 -0
- package/dist/{data-flow-runtime-tyqGH1OS.d.ts → data-flow-runtime-DhWpQoik.d.ts} +8 -8
- package/dist/{data-flow-runtime-Bfm5LbHE.d.cts → data-flow-runtime-w43iwvGA.d.cts} +8 -8
- package/dist/{external-agent-control-yC4ToQXg.d.cts → external-agent-control-DKxQACUv.d.cts} +28 -28
- package/dist/{external-agent-control-yC4ToQXg.d.ts → external-agent-control-DKxQACUv.d.ts} +28 -28
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/security/redaction.ts","../src/model/data-flow-adapters.ts","../src/model/data-flow.ts","../src/model/data-flow-budget.ts","../src/model/runtime-config.ts","../src/model/editor.ts","../src/model/source-marker.ts","../src/protocol/external-agent-control.ts","../src/protocol/agent-schemas.ts","../src/product.ts"],"sourcesContent":["const INLINE_DATA_PATTERN = /data:[^\\s\"'<>]*;base64,[a-z0-9+/_=-]+/giu;\nconst BLOB_URL_PATTERN = /blob:[^\\s\"'<>]+/giu;\nconst BEARER_PATTERN = /\\bbearer\\s+[a-z0-9._~+/-]+=*/giu;\nconst URL_CREDENTIAL_PATTERN = /\\b(https?:\\/\\/)[^/\\s:@]+:[^/\\s@]+@/giu;\nconst SECRET_ASSIGNMENT_PATTERN =\n /\\b(authorization|cookie|set-cookie|api[-_]?key|(?:access[-_]?|refresh[-_]?|auth[-_]?)?token|secret|password|default[-_]?value|value)\\b(\\s*[:=]\\s*)(\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|'(?:\\\\.|[^'\\\\\\r\\n])*'|`(?:\\\\.|[^`\\\\\\r\\n])*`|[^\\s,;\"'<>]+)/giu;\nconst SENSITIVE_EXACT_NAMES = new Set([\n \"authorization\",\n \"cookie\",\n \"defaultvalue\",\n \"password\",\n \"setcookie\",\n \"value\",\n]);\nconst MAX_URL_CHARACTERS = 500;\n\nfunction compactName(name: string): string {\n return name.toLowerCase().replaceAll(/[-_:]/gu, \"\");\n}\n\nfunction truncate(value: string, maxCharacters: number): string {\n return value.length <= maxCharacters\n ? value\n : `${value.slice(0, Math.max(0, maxCharacters - 1))}…`;\n}\n\nexport function isSensitiveName(name: string): boolean {\n const compact = compactName(name);\n\n return (\n SENSITIVE_EXACT_NAMES.has(compact) ||\n compact.includes(\"apikey\") ||\n compact.includes(\"authorization\") ||\n compact.includes(\"secret\") ||\n compact.includes(\"token\")\n );\n}\n\nexport function redactSensitiveText(value: string): string {\n return value\n .replace(INLINE_DATA_PATTERN, \"[redacted inline data]\")\n .replace(BLOB_URL_PATTERN, \"[redacted blob URL]\")\n .replace(BEARER_PATTERN, \"Bearer [redacted]\")\n .replace(URL_CREDENTIAL_PATTERN, \"$1[redacted]@\")\n .replace(\n SECRET_ASSIGNMENT_PATTERN,\n (_match, name: string, separator: string, assignedValue: string) => {\n const quote = assignedValue.at(0);\n const quoted = quote === '\"' || quote === \"'\" || quote === \"`\";\n return `${name}${separator}${quoted ? quote : \"\"}[redacted]${quoted ? quote : \"\"}`;\n },\n );\n}\n\nfunction sanitizeParsedUrl(url: URL): string {\n url.username = \"\";\n url.password = \"\";\n\n for (const [name, value] of url.searchParams) {\n if (isSensitiveName(name)) {\n url.searchParams.set(name, \"[redacted]\");\n } else {\n url.searchParams.set(name, redactSensitiveText(value));\n }\n }\n\n if (/token|secret|authorization|api[-_]?key/iu.test(url.hash)) {\n url.hash = \"#[redacted]\";\n }\n\n return url.toString();\n}\n\nexport function sanitizeUrl(value: string, baseUrl: string): string {\n const trimmed = value.trim();\n\n if (/^(?:blob|data|javascript):/iu.test(trimmed)) {\n return \"[redacted URL]\";\n }\n\n const normalized = redactSensitiveText(trimmed);\n\n try {\n const parsed = new URL(normalized, baseUrl);\n const sanitized = sanitizeParsedUrl(parsed);\n const base = new URL(baseUrl);\n\n if (!/^[a-z][a-z\\d+.-]*:/iu.test(normalized) && parsed.origin === base.origin) {\n return `${parsed.pathname}${parsed.search}${parsed.hash}`;\n }\n\n return sanitized;\n } catch {\n return truncate(normalized, MAX_URL_CHARACTERS);\n }\n}\n","/**\n * Syntax names shared by the compiler and Node analyzer.\n *\n * These are recognition inputs, not support claims. An adapter still has to prove\n * the imported package/symbol before it can attribute a request.\n */\nexport const DATA_FLOW_QUERY_ADAPTER_MODULES = Object.freeze([\n \"@tanstack/react-query\",\n \"react-query\",\n] as const);\n\nexport const DATA_FLOW_QUERY_HOOK_NAMES = Object.freeze([\n \"useInfiniteQuery\",\n \"useMutation\",\n \"useQuery\",\n] as const);\n\nexport const DATA_FLOW_TRPC_CLIENT_FACTORY_NAMES = Object.freeze([\n \"createTRPCClient\",\n \"createTRPCProxyClient\",\n] as const);\n\nexport const DATA_FLOW_TRPC_PROXY_FACTORY_NAMES = Object.freeze([\n \"createTRPCNext\",\n \"createTRPCReact\",\n] as const);\n\nexport const DATA_FLOW_TRPC_ROOT_FACTORY_NAMES = Object.freeze([\n ...DATA_FLOW_TRPC_CLIENT_FACTORY_NAMES,\n ...DATA_FLOW_TRPC_PROXY_FACTORY_NAMES,\n \"createTRPCContext\",\n \"createTRPCOptionsProxy\",\n] as const);\n\nexport const DATA_FLOW_TRPC_REQUEST_METHODS = Object.freeze([\n \"infiniteQueryOptions\",\n \"mutate\",\n \"mutateAsync\",\n \"mutationOptions\",\n \"query\",\n \"queryOptions\",\n \"refetch\",\n \"subscribe\",\n \"subscriptionOptions\",\n \"useInfiniteQuery\",\n \"useMutation\",\n \"useQuery\",\n \"useSubscription\",\n \"useSuspenseInfiniteQuery\",\n \"useSuspenseQuery\",\n] as const);\n","import { z } from \"zod\";\n\nimport {\n DEFAULT_DATA_FLOW_LIMITS,\n type RuntimeDataFlowLimits,\n} from \"./data-flow-limits.js\";\nimport { DATA_FLOW_SCHEMA_VERSION } from \"./data-flow-version.js\";\n\nexport {\n DATA_FLOW_URL_QUERY_KEY_LIMIT,\n DEFAULT_DATA_FLOW_LIMITS,\n DEFAULT_RUNTIME_DATA_FLOW_LIMITS,\n type DataFlowLimits,\n type RuntimeDataFlowLimits,\n} from \"./data-flow-limits.js\";\nexport { DATA_FLOW_SCHEMA_VERSION } from \"./data-flow-version.js\";\n\nexport const DATA_FLOW_EXECUTION_STATES = Object.freeze([\n \"observed\",\n \"declared-not-observed\",\n \"not-applicable\",\n \"unknown\",\n] as const);\nexport const DATA_FLOW_PROOF_STATES = Object.freeze([\n \"proven\",\n \"candidate\",\n \"unavailable\",\n \"conflict\",\n] as const);\nexport const DATA_FLOW_ASSOCIATION_KINDS = Object.freeze([\n \"direct\",\n \"transitive\",\n \"upstream\",\n \"possible\",\n \"unassigned\",\n \"unknown\",\n] as const);\nexport const DATA_FLOW_FRESHNESS_STATES = Object.freeze([\n \"current\",\n \"stale-source\",\n \"stale-route\",\n \"expired\",\n] as const);\nexport const DATA_FLOW_DIAGNOSTIC_CODES = Object.freeze([\n \"DATA_FLOW_CAPABILITY_DISABLED\",\n \"DATA_FLOW_CAPABILITY_PRELUDE_UNAVAILABLE\",\n \"DATA_FLOW_CAPABILITY_UNSUPPORTED_FRAMEWORK\",\n \"DATA_FLOW_SOURCE_UNAVAILABLE\",\n \"DATA_FLOW_SOURCE_STALE\",\n \"DATA_FLOW_ANALYSIS_TIMEOUT\",\n \"DATA_FLOW_ANALYSIS_TRUNCATED\",\n \"DATA_FLOW_ANALYSIS_UNRESOLVED_CALL\",\n \"DATA_FLOW_OBSERVATION_UNASSIGNED\",\n \"DATA_FLOW_OBSERVATION_DROPPED\",\n \"DATA_FLOW_REDACTION_APPLIED\",\n \"DATA_FLOW_AI_DISABLED\",\n] as const);\n\nexport type ExecutionState = (typeof DATA_FLOW_EXECUTION_STATES)[number];\nexport type ProofState = (typeof DATA_FLOW_PROOF_STATES)[number];\nexport type AssociationKind = (typeof DATA_FLOW_ASSOCIATION_KINDS)[number];\nexport type FreshnessState = (typeof DATA_FLOW_FRESHNESS_STATES)[number];\nexport type DataFlowDiagnosticCode = (typeof DATA_FLOW_DIAGNOSTIC_CODES)[number];\n\nexport interface RuntimeDataFlowConfig {\n readonly enabled: boolean;\n readonly runtime: \"dispatch\";\n readonly limits: RuntimeDataFlowLimits;\n}\n\nexport interface DataFlowCapabilityReason {\n readonly code: DataFlowDiagnosticCode;\n readonly retryable: boolean;\n}\n\nexport interface DataFlowCapability {\n readonly enabled: boolean;\n readonly staticAnalysis: \"available\" | \"partial\" | \"unavailable\";\n readonly runtimeObservation: \"dispatch-only\";\n readonly responseShape: \"consumed-fields-only\";\n readonly aiAssistance: \"disabled\";\n readonly reasons: readonly DataFlowCapabilityReason[];\n}\n\nexport interface EvidenceSourceRef {\n readonly fileId: string;\n readonly displayPath: string;\n readonly line: number;\n readonly column: number;\n readonly sourceVersion: string;\n}\n\nexport interface EvidenceRef {\n readonly id: string;\n readonly kind:\n | \"source-anchor\"\n | \"import-resolution\"\n | \"symbol-edge\"\n | \"trigger-edge\"\n | \"call-edge\"\n | \"data-binding\"\n | \"adapter-rule\"\n | \"runtime-observation\"\n | \"runtime-reference\"\n | \"diagnostic\";\n readonly source?: EvidenceSourceRef;\n readonly adapter?: Readonly<{ id: string; version: string }>;\n readonly summaryKey: string;\n}\n\nexport interface DataFlowDiagnostic {\n readonly id: string;\n readonly code: DataFlowDiagnosticCode;\n readonly severity: \"info\" | \"warning\" | \"error\";\n readonly retryable: boolean;\n readonly evidenceIds: readonly string[];\n}\n\nexport interface SanitizedObservedUrl {\n readonly origin?: string;\n readonly pathname: string;\n readonly queryKeys: readonly string[];\n}\n\nexport interface DataParameter {\n readonly path: string;\n readonly position:\n \"path\" | \"query\" | \"body\" | \"header\" | \"cookie\" | \"variable\" | \"form\" | \"unknown\";\n readonly type?: string;\n readonly source?: string;\n readonly condition?: string;\n readonly sensitive: boolean;\n readonly valueState: \"not-collected\";\n readonly evidenceIds: readonly string[];\n}\n\nexport interface DataResponseDescriptor {\n readonly consumedFields: readonly string[];\n}\n\nexport interface RequestOrigin {\n readonly componentSourceId?: string;\n readonly triggerCallsiteId?: string;\n readonly requestCallsiteId: string;\n readonly sourceVersion: string;\n}\n\nexport interface DataDependency {\n readonly id: string;\n readonly kind: \"http\" | \"graphql\" | \"rpc\" | \"server-action\" | \"unknown\";\n readonly direction: \"read\" | \"write\" | \"read-write\" | \"unknown\";\n readonly execution: ExecutionState;\n readonly environment?: \"server\" | \"client\";\n readonly proof: ProofState;\n readonly association: AssociationKind;\n readonly method?: string;\n readonly operation?: string;\n readonly url?: SanitizedObservedUrl;\n readonly parameters: readonly DataParameter[];\n readonly response: DataResponseDescriptor;\n readonly origin?: RequestOrigin;\n readonly suppliedBindings: readonly string[];\n readonly locationIds: readonly string[];\n readonly evidenceIds: readonly string[];\n readonly observationIds: readonly string[];\n}\n\nexport interface NetworkObservation {\n readonly schemaVersion: typeof DATA_FLOW_SCHEMA_VERSION;\n readonly id: string;\n readonly pageEpoch: string;\n readonly routeEpoch: string;\n readonly requestCallsiteId?: string;\n readonly invocationId?: string;\n readonly componentSourceId?: string;\n readonly triggerCallsiteId?: string;\n readonly sourceVersion?: string;\n readonly transport: \"fetch\" | \"trpc\" | \"xhr\";\n readonly method: string;\n readonly operation?: string;\n readonly url: SanitizedObservedUrl;\n readonly outcome: \"dispatched\";\n readonly freshness: FreshnessState;\n readonly diagnosticIds: readonly string[];\n}\n\nexport interface AnalysisBaseline {\n readonly registryEpoch: string;\n readonly analyzerVersion: string;\n readonly adapterSetHash: string;\n readonly analyzedSourceVersions: readonly string[];\n}\n\nexport interface ReportCompleteness {\n readonly complete: boolean;\n readonly visitedModules: number;\n readonly visitedCallsites: number;\n readonly frontierCount: number;\n readonly truncatedBy?: \"depth\" | \"modules\" | \"callsites\" | \"bytes\" | \"timeout\";\n}\n\nexport interface ComponentIdentity {\n readonly componentSourceId?: string;\n readonly displayName?: string;\n readonly source: EvidenceSourceRef;\n}\n\nexport interface ComponentDataFlowReport {\n readonly schemaVersion: typeof DATA_FLOW_SCHEMA_VERSION;\n readonly reportId: string;\n readonly baseline: AnalysisBaseline;\n readonly capability: DataFlowCapability;\n readonly component: ComponentIdentity;\n readonly dependencies: readonly DataDependency[];\n readonly evidence: readonly EvidenceRef[];\n readonly diagnostics: readonly DataFlowDiagnostic[];\n readonly completeness: ReportCompleteness;\n}\n\nexport interface PageDataFlowReport {\n readonly schemaVersion: typeof DATA_FLOW_SCHEMA_VERSION;\n readonly reportId: string;\n readonly baseline: AnalysisBaseline;\n readonly capability: DataFlowCapability;\n readonly dependencies: readonly DataDependency[];\n readonly evidence: readonly EvidenceRef[];\n readonly diagnostics: readonly DataFlowDiagnostic[];\n readonly completeness: ReportCompleteness;\n}\n\nconst boundedText = (maximum: number): z.ZodString =>\n z.string().trim().min(1).max(maximum);\nconst opaqueIdSchema = boundedText(128).regex(/^[A-Za-z0-9_-]+$/u);\nconst diagnosticCodeSchema = z.enum(DATA_FLOW_DIAGNOSTIC_CODES);\nconst evidenceSourceSchema = z.strictObject({\n fileId: opaqueIdSchema,\n displayPath: boundedText(1_024),\n line: z.number().int().positive(),\n column: z.number().int().positive(),\n sourceVersion: opaqueIdSchema,\n});\n\nconst sanitizedObservedUrlSchema = z.strictObject({\n origin: boundedText(512).optional(),\n pathname: boundedText(2_048),\n queryKeys: z.array(boundedText(256)).max(DEFAULT_DATA_FLOW_LIMITS.reportMaxFields),\n});\nconst dataParameterSchema = z.strictObject({\n path: boundedText(1_024),\n position: z.enum([\n \"path\",\n \"query\",\n \"body\",\n \"header\",\n \"cookie\",\n \"variable\",\n \"form\",\n \"unknown\",\n ]),\n type: boundedText(512).optional(),\n source: boundedText(1_024).optional(),\n condition: boundedText(1_024).optional(),\n sensitive: z.boolean(),\n valueState: z.literal(\"not-collected\"),\n evidenceIds: z.array(opaqueIdSchema).max(DEFAULT_DATA_FLOW_LIMITS.reportMaxEvidence),\n});\nconst dataResponseSchema = z.strictObject({\n consumedFields: z\n .array(boundedText(1_024))\n .max(DEFAULT_DATA_FLOW_LIMITS.reportMaxFields),\n});\nconst requestOriginSchema = z.strictObject({\n componentSourceId: opaqueIdSchema.optional(),\n triggerCallsiteId: opaqueIdSchema.optional(),\n requestCallsiteId: opaqueIdSchema,\n sourceVersion: opaqueIdSchema,\n});\nconst capabilityReasonSchema = z.strictObject({\n code: diagnosticCodeSchema,\n retryable: z.boolean(),\n});\nconst capabilitySchema = z.strictObject({\n enabled: z.boolean(),\n staticAnalysis: z.enum([\"available\", \"partial\", \"unavailable\"]),\n runtimeObservation: z.literal(\"dispatch-only\"),\n responseShape: z.literal(\"consumed-fields-only\"),\n aiAssistance: z.literal(\"disabled\"),\n reasons: z\n .array(capabilityReasonSchema)\n .max(DEFAULT_DATA_FLOW_LIMITS.capabilityMaxReasons),\n});\nconst evidenceSchema = z.strictObject({\n id: opaqueIdSchema,\n kind: z.enum([\n \"source-anchor\",\n \"import-resolution\",\n \"symbol-edge\",\n \"trigger-edge\",\n \"call-edge\",\n \"data-binding\",\n \"adapter-rule\",\n \"runtime-observation\",\n \"runtime-reference\",\n \"diagnostic\",\n ]),\n source: evidenceSourceSchema.optional(),\n adapter: z\n .strictObject({ id: boundedText(128), version: boundedText(64) })\n .optional(),\n summaryKey: boundedText(256),\n});\nconst diagnosticSchema = z.strictObject({\n id: opaqueIdSchema,\n code: diagnosticCodeSchema,\n severity: z.enum([\"info\", \"warning\", \"error\"]),\n retryable: z.boolean(),\n evidenceIds: z.array(opaqueIdSchema).max(DEFAULT_DATA_FLOW_LIMITS.reportMaxEvidence),\n});\nconst baselineSchema = z.strictObject({\n registryEpoch: opaqueIdSchema,\n analyzerVersion: boundedText(64),\n adapterSetHash: boundedText(128),\n analyzedSourceVersions: z\n .array(opaqueIdSchema)\n .max(DEFAULT_DATA_FLOW_LIMITS.graphMaxModules),\n});\nconst completenessSchema = z.strictObject({\n complete: z.boolean(),\n visitedModules: z.number().int().nonnegative(),\n visitedCallsites: z.number().int().nonnegative(),\n frontierCount: z.number().int().nonnegative(),\n truncatedBy: z.enum([\"depth\", \"modules\", \"callsites\", \"bytes\", \"timeout\"]).optional(),\n});\n\nexport const dataDependencySchema = z.strictObject({\n id: opaqueIdSchema,\n kind: z.enum([\"http\", \"graphql\", \"rpc\", \"server-action\", \"unknown\"]),\n direction: z.enum([\"read\", \"write\", \"read-write\", \"unknown\"]),\n execution: z.enum(DATA_FLOW_EXECUTION_STATES),\n environment: z.enum([\"server\", \"client\"]).optional(),\n proof: z.enum(DATA_FLOW_PROOF_STATES),\n association: z.enum(DATA_FLOW_ASSOCIATION_KINDS),\n method: boundedText(32).optional(),\n operation: boundedText(512).optional(),\n url: sanitizedObservedUrlSchema.optional(),\n parameters: z\n .array(dataParameterSchema)\n .max(DEFAULT_DATA_FLOW_LIMITS.reportMaxFields),\n response: dataResponseSchema,\n origin: requestOriginSchema.optional(),\n suppliedBindings: z\n .array(boundedText(1_024))\n .max(DEFAULT_DATA_FLOW_LIMITS.graphMaxCallsites),\n locationIds: z.array(opaqueIdSchema).max(DEFAULT_DATA_FLOW_LIMITS.graphMaxCallsites),\n evidenceIds: z.array(opaqueIdSchema).max(DEFAULT_DATA_FLOW_LIMITS.reportMaxEvidence),\n observationIds: z\n .array(opaqueIdSchema)\n .max(DEFAULT_DATA_FLOW_LIMITS.observationMaxEntries),\n});\n\nexport const networkObservationSchema = z.strictObject({\n schemaVersion: z.literal(DATA_FLOW_SCHEMA_VERSION),\n id: opaqueIdSchema,\n pageEpoch: opaqueIdSchema,\n routeEpoch: opaqueIdSchema,\n requestCallsiteId: opaqueIdSchema.optional(),\n invocationId: opaqueIdSchema.optional(),\n componentSourceId: opaqueIdSchema.optional(),\n triggerCallsiteId: opaqueIdSchema.optional(),\n sourceVersion: opaqueIdSchema.optional(),\n transport: z.enum([\"fetch\", \"trpc\", \"xhr\"]),\n method: boundedText(32),\n operation: boundedText(512).optional(),\n url: sanitizedObservedUrlSchema,\n outcome: z.literal(\"dispatched\"),\n freshness: z.enum(DATA_FLOW_FRESHNESS_STATES),\n diagnosticIds: z\n .array(opaqueIdSchema)\n .max(DEFAULT_DATA_FLOW_LIMITS.reportMaxEvidence),\n});\n\nconst componentIdentitySchema = z.strictObject({\n componentSourceId: opaqueIdSchema.optional(),\n displayName: boundedText(256).optional(),\n source: evidenceSourceSchema,\n});\n\nexport const componentDataFlowReportSchema = z.strictObject({\n schemaVersion: z.literal(DATA_FLOW_SCHEMA_VERSION),\n reportId: opaqueIdSchema,\n baseline: baselineSchema,\n capability: capabilitySchema,\n component: componentIdentitySchema,\n dependencies: z\n .array(dataDependencySchema)\n .max(DEFAULT_DATA_FLOW_LIMITS.graphMaxCallsites),\n evidence: z.array(evidenceSchema).max(DEFAULT_DATA_FLOW_LIMITS.reportMaxEvidence),\n diagnostics: z\n .array(diagnosticSchema)\n .max(DEFAULT_DATA_FLOW_LIMITS.reportMaxDiagnostics),\n completeness: completenessSchema,\n});\n\nexport const pageDataFlowReportSchema = z.strictObject({\n schemaVersion: z.literal(DATA_FLOW_SCHEMA_VERSION),\n reportId: opaqueIdSchema,\n baseline: baselineSchema,\n capability: capabilitySchema,\n dependencies: z\n .array(dataDependencySchema)\n .max(DEFAULT_DATA_FLOW_LIMITS.graphMaxCallsites),\n evidence: z.array(evidenceSchema).max(DEFAULT_DATA_FLOW_LIMITS.reportMaxEvidence),\n diagnostics: z\n .array(diagnosticSchema)\n .max(DEFAULT_DATA_FLOW_LIMITS.reportMaxDiagnostics),\n completeness: completenessSchema,\n});\n\nexport const runtimeDataFlowConfigSchema: z.ZodType<RuntimeDataFlowConfig> =\n z.strictObject({\n enabled: z.boolean(),\n runtime: z.literal(\"dispatch\"),\n limits: z.strictObject({\n observationMaxEntries: z.number().int().positive(),\n observationMaxBytes: z.number().int().positive(),\n observationTtlMs: z.number().int().positive(),\n reportMaxBytes: z.number().int().positive(),\n }),\n });\n","import {\n type ComponentDataFlowReport,\n type DataDependency,\n type DataFlowDiagnostic,\n type DataFlowDiagnosticCode,\n type EvidenceRef,\n type PageDataFlowReport,\n type ReportCompleteness,\n} from \"./data-flow.js\";\nimport { DEFAULT_DATA_FLOW_LIMITS } from \"./data-flow-limits.js\";\n\ntype DataFlowReport = ComponentDataFlowReport | PageDataFlowReport;\n\nexport interface DataFlowCollectionLimitOptions {\n readonly forceTruncation?: boolean;\n readonly maximumDependencies?: number;\n readonly mode?: \"analysis\" | \"observation\";\n readonly truncatedBy?: ReportCompleteness[\"truncatedBy\"];\n}\n\ninterface LimitedDependency {\n readonly dependency: DataDependency;\n readonly trimmed: boolean;\n}\n\nfunction prefix<T>(values: readonly T[], maximum: number): readonly T[] {\n return Object.freeze(values.slice(0, Math.max(0, maximum)));\n}\n\nfunction limitDependency(dependency: DataDependency): LimitedDependency {\n const queryKeys =\n dependency.url === undefined\n ? undefined\n : prefix(dependency.url.queryKeys, DEFAULT_DATA_FLOW_LIMITS.reportMaxFields);\n const parameters = prefix(\n dependency.parameters,\n DEFAULT_DATA_FLOW_LIMITS.reportMaxFields,\n ).map((parameter) =>\n Object.freeze({\n ...parameter,\n evidenceIds: prefix(\n parameter.evidenceIds,\n DEFAULT_DATA_FLOW_LIMITS.reportMaxEvidence,\n ),\n }),\n );\n const consumedFields = prefix(\n dependency.response.consumedFields,\n DEFAULT_DATA_FLOW_LIMITS.reportMaxFields,\n );\n const suppliedBindings = prefix(\n dependency.suppliedBindings,\n DEFAULT_DATA_FLOW_LIMITS.graphMaxCallsites,\n );\n const locationIds = prefix(\n dependency.locationIds,\n DEFAULT_DATA_FLOW_LIMITS.graphMaxCallsites,\n );\n const evidenceIds = prefix(\n dependency.evidenceIds,\n DEFAULT_DATA_FLOW_LIMITS.reportMaxEvidence,\n );\n const observationIds = prefix(\n dependency.observationIds,\n DEFAULT_DATA_FLOW_LIMITS.observationMaxEntries,\n );\n const trimmed =\n queryKeys?.length !== dependency.url?.queryKeys.length ||\n parameters.length !== dependency.parameters.length ||\n parameters.some(\n (parameter, index) =>\n parameter.evidenceIds.length !==\n dependency.parameters[index]?.evidenceIds.length,\n ) ||\n consumedFields.length !== dependency.response.consumedFields.length ||\n suppliedBindings.length !== dependency.suppliedBindings.length ||\n locationIds.length !== dependency.locationIds.length ||\n evidenceIds.length !== dependency.evidenceIds.length ||\n observationIds.length !== dependency.observationIds.length;\n\n if (!trimmed) return Object.freeze({ dependency, trimmed: false });\n\n return Object.freeze({\n dependency: Object.freeze({\n ...dependency,\n ...(dependency.url === undefined\n ? {}\n : {\n url: Object.freeze({\n ...dependency.url,\n queryKeys: queryKeys ?? Object.freeze([]),\n }),\n }),\n parameters: Object.freeze(parameters),\n response: Object.freeze({ consumedFields }),\n suppliedBindings,\n locationIds,\n evidenceIds,\n observationIds,\n }),\n trimmed: true,\n });\n}\n\nfunction referencedEvidenceIds(\n dependencies: readonly DataDependency[],\n diagnostics: readonly DataFlowDiagnostic[],\n): readonly string[] {\n return Object.freeze([\n ...new Set([\n ...dependencies.flatMap((dependency) => [\n ...dependency.evidenceIds,\n ...dependency.parameters.flatMap((parameter) => parameter.evidenceIds),\n ]),\n ...diagnostics.flatMap((diagnostic) => diagnostic.evidenceIds),\n ]),\n ]);\n}\n\nfunction prioritizeEvidence(\n evidence: readonly EvidenceRef[],\n referencedIds: readonly string[],\n retainUnreferenced: boolean,\n): readonly EvidenceRef[] {\n const byId = new Map(evidence.map((entry) => [entry.id, entry] as const));\n const ordered: EvidenceRef[] = [];\n const retained = new Set<string>();\n\n for (const id of referencedIds) {\n const entry = byId.get(id);\n if (entry !== undefined && !retained.has(id)) {\n ordered.push(entry);\n retained.add(id);\n }\n }\n if (retainUnreferenced) {\n for (const entry of evidence) {\n if (!retained.has(entry.id)) ordered.push(entry);\n }\n }\n\n return prefix(ordered, DEFAULT_DATA_FLOW_LIMITS.reportMaxEvidence);\n}\n\nfunction pruneEvidenceReferences(\n dependency: DataDependency,\n retainedIds: ReadonlySet<string>,\n): DataDependency {\n return Object.freeze({\n ...dependency,\n parameters: Object.freeze(\n dependency.parameters.map((parameter) =>\n Object.freeze({\n ...parameter,\n evidenceIds: Object.freeze(\n parameter.evidenceIds.filter((id) => retainedIds.has(id)),\n ),\n }),\n ),\n ),\n evidenceIds: Object.freeze(\n dependency.evidenceIds.filter((id) => retainedIds.has(id)),\n ),\n });\n}\n\nfunction truncationCode(mode: \"analysis\" | \"observation\"): DataFlowDiagnosticCode {\n return mode === \"analysis\"\n ? \"DATA_FLOW_ANALYSIS_TRUNCATED\"\n : \"DATA_FLOW_OBSERVATION_DROPPED\";\n}\n\nexport function limitDataFlowReportCollections(\n report: ComponentDataFlowReport,\n options?: DataFlowCollectionLimitOptions,\n): ComponentDataFlowReport;\nexport function limitDataFlowReportCollections(\n report: PageDataFlowReport,\n options?: DataFlowCollectionLimitOptions,\n): PageDataFlowReport;\nexport function limitDataFlowReportCollections(\n report: DataFlowReport,\n options: DataFlowCollectionLimitOptions = {},\n): DataFlowReport {\n const maximumDependencies = Math.min(\n Math.max(\n 0,\n options.maximumDependencies ?? DEFAULT_DATA_FLOW_LIMITS.graphMaxCallsites,\n ),\n DEFAULT_DATA_FLOW_LIMITS.graphMaxCallsites,\n );\n const dependencyResults = prefix(report.dependencies, maximumDependencies).map(\n limitDependency,\n );\n const dependencies = dependencyResults.map(({ dependency }) => dependency);\n const analyzedSourceVersions = prefix(\n report.baseline.analyzedSourceVersions,\n DEFAULT_DATA_FLOW_LIMITS.graphMaxModules,\n );\n const collectionTrimmed =\n report.dependencies.length > dependencies.length ||\n dependencyResults.some(({ trimmed }) => trimmed) ||\n report.baseline.analyzedSourceVersions.length > analyzedSourceVersions.length ||\n report.capability.reasons.length > DEFAULT_DATA_FLOW_LIMITS.capabilityMaxReasons ||\n report.evidence.length > DEFAULT_DATA_FLOW_LIMITS.reportMaxEvidence ||\n report.diagnostics.length > DEFAULT_DATA_FLOW_LIMITS.reportMaxDiagnostics;\n const truncated = options.forceTruncation === true || collectionTrimmed;\n if (!truncated) return report;\n\n const mode = options.mode ?? \"analysis\";\n const code = truncationCode(mode);\n const diagnosticId = `${report.reportId}_collection_${mode}`;\n const reasons = Object.freeze([\n ...report.capability.reasons\n .filter((reason) => reason.code !== code)\n .slice(0, DEFAULT_DATA_FLOW_LIMITS.capabilityMaxReasons - 1),\n Object.freeze({ code, retryable: false }),\n ]);\n const diagnostics = Object.freeze([\n ...report.diagnostics\n .filter((diagnostic) => diagnostic.id !== diagnosticId)\n .slice(0, DEFAULT_DATA_FLOW_LIMITS.reportMaxDiagnostics - 1),\n Object.freeze({\n id: diagnosticId,\n code,\n severity: \"warning\" as const,\n retryable: false,\n evidenceIds: Object.freeze([]),\n }),\n ]);\n const referencedIds = referencedEvidenceIds(dependencies, diagnostics);\n const evidence = prioritizeEvidence(\n report.evidence,\n referencedIds,\n report.dependencies.length === dependencies.length,\n );\n const retainedEvidenceIds = new Set(evidence.map(({ id }) => id));\n const prunedDependencies = Object.freeze(\n dependencies.map((dependency) =>\n pruneEvidenceReferences(dependency, retainedEvidenceIds),\n ),\n );\n const prunedDiagnostics = Object.freeze(\n diagnostics.map((diagnostic) =>\n Object.freeze({\n ...diagnostic,\n evidenceIds: Object.freeze(\n diagnostic.evidenceIds.filter((id) => retainedEvidenceIds.has(id)),\n ),\n }),\n ),\n );\n const removedDependencies = report.dependencies.length - dependencies.length;\n const removedModules =\n report.baseline.analyzedSourceVersions.length - analyzedSourceVersions.length;\n const derivedTruncation: ReportCompleteness[\"truncatedBy\"] =\n removedModules > 0 && removedDependencies === 0 ? \"modules\" : \"callsites\";\n\n return Object.freeze({\n ...report,\n baseline: Object.freeze({\n ...report.baseline,\n analyzedSourceVersions,\n }),\n capability: Object.freeze({\n ...report.capability,\n ...(mode === \"analysis\" && report.capability.staticAnalysis === \"available\"\n ? { staticAnalysis: \"partial\" as const }\n : {}),\n reasons,\n }),\n dependencies: prunedDependencies,\n evidence,\n diagnostics: prunedDiagnostics,\n ...(mode === \"analysis\"\n ? {\n completeness: Object.freeze({\n ...report.completeness,\n complete: false,\n frontierCount:\n report.completeness.frontierCount +\n removedDependencies +\n removedModules +\n (collectionTrimmed && removedDependencies === 0 && removedModules === 0\n ? 1\n : 0),\n truncatedBy:\n options.truncatedBy ??\n report.completeness.truncatedBy ??\n derivedTruncation,\n }),\n }\n : {}),\n });\n}\n","import { z } from \"zod\";\n\nimport { SPOTPATCH_API_BASE } from \"../protocol/endpoints.js\";\nimport { MAX_ANNOTATION_TARGETS, SPOTPATCH_LOCALE_PREFERENCES } from \"./annotation.js\";\nimport { SPOTPATCH_EDITOR_PREFERENCES } from \"./editor.js\";\nimport type { ContextBudget } from \"./code-context.js\";\nimport { AGENT_APPLY_MODES, type RuntimeAiConfig } from \"./agent.js\";\nimport {\n runtimeDataFlowConfigSchema,\n type RuntimeDataFlowConfig,\n} from \"./data-flow.js\";\n\nexport const SPOTPATCH_NEXT_BUNDLERS = Object.freeze([\"turbopack\", \"webpack\"] as const);\nexport const SPOTPATCH_NEXT_ROUTER_KINDS = Object.freeze([\n \"app\",\n \"pages\",\n \"hybrid\",\n] as const);\n\nexport type SpotPatchNextBundler = (typeof SPOTPATCH_NEXT_BUNDLERS)[number];\nexport type SpotPatchNextRouterKind = (typeof SPOTPATCH_NEXT_ROUTER_KINDS)[number];\n\ninterface RuntimeConfigBase {\n readonly apiBase: typeof SPOTPATCH_API_BASE;\n readonly ai: RuntimeAiConfig;\n readonly budget: Readonly<ContextBudget>;\n readonly contextualAsk: Readonly<{ enabled: boolean }>;\n readonly dataFlow: RuntimeDataFlowConfig;\n readonly debug: boolean;\n readonly editor: (typeof SPOTPATCH_EDITOR_PREFERENCES)[number];\n readonly externalAgent: Readonly<{ enabled: boolean }>;\n readonly frameworkVersion: string;\n readonly locale: (typeof SPOTPATCH_LOCALE_PREFERENCES)[number];\n readonly maxTargets: number;\n readonly redact: boolean;\n readonly sessionId: string;\n readonly sessionToken: string;\n readonly shortcut: string;\n readonly spotPatchVersion: string;\n}\n\nexport type SpotPatchRuntimeConfig = RuntimeConfigBase &\n (\n | Readonly<{\n framework: \"vite\";\n }>\n | Readonly<{\n framework: \"astro\";\n }>\n | Readonly<{\n bundler: SpotPatchNextBundler;\n framework: \"next\";\n routerKind: SpotPatchNextRouterKind;\n }>\n );\n\nconst boundedText = (maximum: number): z.ZodString =>\n z.string().trim().min(1).max(maximum);\nconst profileIdSchema = z\n .string()\n .min(1)\n .max(64)\n .regex(/^[A-Za-z0-9][A-Za-z0-9._-]*$/u);\nconst runtimeAiModelSchema = z.strictObject({\n id: profileIdSchema,\n label: boundedText(100),\n});\nconst runtimeAiProviderSchema = z\n .strictObject({\n id: profileIdSchema,\n label: boundedText(100),\n protocol: z.enum([\"responses\", \"chat-completions\"]),\n models: z.array(runtimeAiModelSchema).min(1).max(64),\n defaultModel: profileIdSchema,\n })\n .refine(\n ({ defaultModel, models }) =>\n models.some(({ id }) => id === defaultModel) &&\n new Set(models.map(({ id }) => id)).size === models.length,\n { message: \"Runtime AI model profiles are inconsistent.\" },\n );\nconst runtimeAiConfigSchema = z.discriminatedUnion(\"enabled\", [\n z.strictObject({ enabled: z.literal(false) }),\n z\n .strictObject({\n enabled: z.literal(true),\n providers: z.array(runtimeAiProviderSchema).min(1).max(32),\n defaultProvider: profileIdSchema,\n applyMode: z.enum(AGENT_APPLY_MODES),\n })\n .refine(\n ({ defaultProvider, providers }) =>\n providers.some(({ id }) => id === defaultProvider) &&\n new Set(providers.map(({ id }) => id)).size === providers.length,\n { message: \"Runtime AI provider profiles are inconsistent.\" },\n ),\n]);\nconst positiveInteger = z.number().int().positive();\nconst runtimeConfigBaseShape = {\n apiBase: z.literal(SPOTPATCH_API_BASE),\n ai: runtimeAiConfigSchema,\n budget: z.strictObject({\n totalCharacters: positiveInteger,\n domCharacters: positiveInteger,\n cssCharacters: positiveInteger,\n codeCharacters: positiveInteger,\n maxCodeLines: positiveInteger,\n maxComponentDepth: positiveInteger,\n }),\n contextualAsk: z.strictObject({ enabled: z.boolean() }),\n debug: z.boolean(),\n dataFlow: runtimeDataFlowConfigSchema,\n editor: z.enum(SPOTPATCH_EDITOR_PREFERENCES),\n externalAgent: z.strictObject({ enabled: z.boolean() }),\n frameworkVersion: boundedText(64),\n locale: z.enum(SPOTPATCH_LOCALE_PREFERENCES),\n maxTargets: z.number().int().min(1).max(MAX_ANNOTATION_TARGETS),\n redact: z.boolean(),\n sessionId: z\n .string()\n .min(22)\n .max(128)\n .regex(/^[A-Za-z0-9_-]+$/u),\n sessionToken: z\n .string()\n .min(22)\n .max(128)\n .regex(/^[A-Za-z0-9_-]+$/u),\n shortcut: boundedText(128),\n spotPatchVersion: boundedText(64),\n} as const;\n\nexport const runtimeConfigSchema: z.ZodType<SpotPatchRuntimeConfig> =\n z.discriminatedUnion(\"framework\", [\n z.strictObject({\n ...runtimeConfigBaseShape,\n framework: z.literal(\"astro\"),\n }),\n z.strictObject({\n ...runtimeConfigBaseShape,\n framework: z.literal(\"vite\"),\n }),\n z.strictObject({\n ...runtimeConfigBaseShape,\n bundler: z.enum(SPOTPATCH_NEXT_BUNDLERS),\n framework: z.literal(\"next\"),\n routerKind: z.enum(SPOTPATCH_NEXT_ROUTER_KINDS),\n }),\n ]);\n","export const SPOTPATCH_EDITOR_PREFERENCES = [\"auto\", \"vscode\", \"cursor\"] as const;\n\nexport type SpotPatchEditorPreference = (typeof SPOTPATCH_EDITOR_PREFERENCES)[number];\n\nexport interface EditorOpenResult {\n readonly editor: SpotPatchEditorPreference;\n}\n","export const SOURCE_MARKER_ATTRIBUTE = \"data-spotpatch-source\" as const;\n\nconst SOURCE_MARKER_PATTERN = /^([A-Za-z0-9_-]+):([1-9]\\d*):([1-9]\\d*)(:astro)?$/;\n\nexport interface SourceMarker {\n readonly fileId: string;\n readonly line: number;\n readonly column: number;\n readonly kind?: \"astro\";\n}\n\nexport function formatSourceMarker(marker: SourceMarker): string {\n return [\n marker.fileId,\n String(marker.line),\n String(marker.column),\n ...(marker.kind === undefined ? [] : [marker.kind]),\n ].join(\":\");\n}\n\nexport function parseSourceMarker(value: string | null): SourceMarker | undefined {\n if (value === null) {\n return undefined;\n }\n\n const match = SOURCE_MARKER_PATTERN.exec(value);\n\n if (match === null) {\n return undefined;\n }\n\n const fileId = match[1];\n const line = Number(match[2]);\n const column = Number(match[3]);\n\n if (\n fileId === undefined ||\n !Number.isSafeInteger(line) ||\n !Number.isSafeInteger(column)\n ) {\n return undefined;\n }\n\n return Object.freeze({\n fileId,\n line,\n column,\n ...(match[4] === undefined ? {} : { kind: \"astro\" as const }),\n });\n}\n","import { z } from \"zod\";\n\nimport { DEFAULT_AGENT_LIMITS } from \"../model/agent.js\";\n\nexport const EXTERNAL_AGENT_CONTROL_SCHEMA_VERSION = 1 as const;\nexport const EXTERNAL_AGENT_MANAGED_ADAPTER_KINDS = Object.freeze([\"codex\"] as const);\nexport const EXTERNAL_AGENT_MODES = Object.freeze([\"inbox\", \"managed\"] as const);\nexport const EXTERNAL_AGENT_CONNECTION_STATES = Object.freeze([\n \"disconnected\",\n \"diagnosing\",\n \"awaiting-consent\",\n \"connecting\",\n \"ready\",\n \"busy\",\n \"degraded\",\n \"error\",\n \"disconnecting\",\n] as const);\nexport const EXTERNAL_AGENT_AUTH_READINESS = Object.freeze([\n \"authenticated\",\n \"auth-not-required\",\n \"signed-out\",\n \"unknown\",\n] as const);\nexport const EXTERNAL_AGENT_GRANT_STATES = Object.freeze([\n \"missing\",\n \"valid\",\n \"invalid\",\n] as const);\nexport const EXTERNAL_AGENT_DELIVERY_STATUSES = Object.freeze([\n \"queued\",\n \"dispatching\",\n \"accepted\",\n \"unknown\",\n] as const);\nexport const EXTERNAL_AGENT_EXECUTION_STATUSES = Object.freeze([\n \"not-observable\",\n \"started\",\n \"terminal-succeeded\",\n \"terminal-failed\",\n \"interrupted\",\n \"unknown\",\n] as const);\nexport const EXTERNAL_AGENT_MANAGED_PHASES = Object.freeze([\n \"preparing\",\n \"running\",\n \"auditing\",\n \"validating\",\n \"applying\",\n \"completed\",\n \"review-required\",\n \"failed\",\n \"cancelled\",\n \"cleanup-warning\",\n] as const);\nexport const EXTERNAL_AGENT_VALIDATION_OUTCOMES = Object.freeze([\n \"passed\",\n \"failed\",\n \"not-configured\",\n \"unavailable\",\n] as const);\nexport const EXTERNAL_AGENT_CHECK_OUTCOMES = Object.freeze([\n \"passed\",\n \"failed\",\n \"unavailable\",\n] as const);\nexport const EXTERNAL_AGENT_ERROR_STAGES = Object.freeze([\n \"integration\",\n \"binary\",\n \"handshake\",\n \"auth\",\n \"model\",\n \"protocol\",\n \"snapshot\",\n \"audit\",\n \"validation\",\n \"apply\",\n \"cleanup\",\n] as const);\nexport const EXTERNAL_AGENT_ERROR_RECOVERABILITY = Object.freeze([\n \"retry\",\n \"user-action\",\n \"reconfigure\",\n \"none\",\n] as const);\nexport const EXTERNAL_AGENT_ERROR_CODES = Object.freeze([\n \"AGENT_BINARY_NOT_FOUND\",\n \"AGENT_BINARY_UNTRUSTED\",\n \"AGENT_VERSION_UNSUPPORTED\",\n \"APP_SERVER_HANDSHAKE_FAILED\",\n \"AGENT_AUTH_REQUIRED\",\n \"AGENT_MODEL_UNAVAILABLE\",\n \"AGENT_PROTOCOL_INCOMPATIBLE\",\n \"CODEX_CONFIG_ISOLATION_UNSUPPORTED\",\n \"MANAGED_GRANT_INVALID\",\n \"MANAGED_PLATFORM_UNSUPPORTED\",\n \"MANAGED_GIT_REQUIRED\",\n \"MANAGED_SNAPSHOT_FAILED\",\n \"MANAGED_SCOPE_VIOLATION\",\n \"MANAGED_CHANGE_LIMIT_EXCEEDED\",\n \"MANAGED_VALIDATION_FAILED\",\n \"MANAGED_WORKSPACE_CONFLICT\",\n \"MANAGED_APPLY_FAILED\",\n \"MANAGED_CLEANUP_INCOMPLETE\",\n] as const);\nexport const EXTERNAL_AGENT_ACTIONS = Object.freeze([\n \"install-agent\",\n \"use-supported-version\",\n \"sign-in\",\n \"choose-available-model\",\n \"use-inbox\",\n \"confirm-managed-access\",\n \"review-candidate-diff\",\n \"review-workspace-conflict\",\n \"retry\",\n \"inspect-cleanup-warning\",\n] as const);\nexport const EXTERNAL_AGENT_MANAGED_PROFILE = \"managed-apply-v1\" as const;\nexport const EXTERNAL_AGENT_CONTROL_LIMITS = Object.freeze({\n maximumModels: 128,\n maximumModelCharacters: 128,\n maximumEventSubscribers: 4,\n eventHeartbeatMs: 15_000,\n eventReconnectMinimumMs: 500,\n eventReconnectMaximumMs: 10_000,\n maximumChangedFiles: DEFAULT_AGENT_LIMITS.maxChangedFiles,\n maximumChecks: 64,\n maximumEventLineBytes: 64 * 1_024,\n maximumResultDiffBytes: DEFAULT_AGENT_LIMITS.maxDiffBytes,\n} as const);\n\nconst isoTimestampSchema = z.iso.datetime();\nconst modelSchema = z\n .string()\n .min(1)\n .max(EXTERNAL_AGENT_CONTROL_LIMITS.maximumModelCharacters)\n .refine((value) => value.trim() === value);\nconst requestIdSchema = z\n .string()\n .min(22)\n .max(128)\n .regex(/^[A-Za-z0-9_-]+$/u);\nconst safeRelativePathSchema = z\n .string()\n .min(1)\n .max(4_096)\n .superRefine((value, context) => {\n const segments = value.split(\"/\");\n if (\n value.startsWith(\"/\") ||\n value.includes(\"\\\\\") ||\n segments.some(\n (segment) => segment.length === 0 || segment === \".\" || segment === \"..\",\n )\n ) {\n context.addIssue({ code: \"custom\", message: \"Expected a safe relative path.\" });\n }\n });\n\nexport const externalAgentErrorSchema = z.strictObject({\n code: z.enum(EXTERNAL_AGENT_ERROR_CODES),\n stage: z.enum(EXTERNAL_AGENT_ERROR_STAGES),\n recoverability: z.enum(EXTERNAL_AGENT_ERROR_RECOVERABILITY),\n action: z.enum(EXTERNAL_AGENT_ACTIONS),\n});\nexport const managedFileSummarySchema = z.strictObject({\n path: safeRelativePathSchema,\n additions: z.number().int().nonnegative(),\n deletions: z.number().int().nonnegative(),\n});\nexport const managedCheckSummarySchema = z.strictObject({\n id: z\n .string()\n .min(1)\n .max(128)\n .regex(/^[A-Za-z0-9._-]+$/u),\n outcome: z.enum(EXTERNAL_AGENT_CHECK_OUTCOMES),\n durationMs: z.number().int().nonnegative(),\n exitCode: z.number().int().optional(),\n});\nexport const managedTimingSummarySchema = z.strictObject({\n preparing: z.number().int().nonnegative().optional(),\n agent: z.number().int().nonnegative().optional(),\n auditing: z.number().int().nonnegative().optional(),\n validating: z.number().int().nonnegative().optional(),\n applying: z.number().int().nonnegative().optional(),\n total: z.number().int().nonnegative().optional(),\n});\nexport const managedTaskStatusSchema = z.strictObject({\n revision: z.number().int().positive(),\n deliveryStatus: z.enum(EXTERNAL_AGENT_DELIVERY_STATUSES),\n executionStatus: z.enum(EXTERNAL_AGENT_EXECUTION_STATUSES),\n managedPhase: z.enum(EXTERNAL_AGENT_MANAGED_PHASES),\n validationOutcome: z.enum(EXTERNAL_AGENT_VALIDATION_OUTCOMES).optional(),\n files: z\n .array(managedFileSummarySchema)\n .max(EXTERNAL_AGENT_CONTROL_LIMITS.maximumChangedFiles),\n checks: z\n .array(managedCheckSummarySchema)\n .max(EXTERNAL_AGENT_CONTROL_LIMITS.maximumChecks),\n timings: managedTimingSummarySchema,\n resultExpiresAt: isoTimestampSchema.optional(),\n});\nexport const externalAgentControlStatusSchema = z.strictObject({\n schemaVersion: z.literal(EXTERNAL_AGENT_CONTROL_SCHEMA_VERSION),\n sequence: z.number().int().nonnegative(),\n mode: z.enum(EXTERNAL_AGENT_MODES),\n adapter: z.strictObject({\n kind: z.enum(EXTERNAL_AGENT_MANAGED_ADAPTER_KINDS),\n maturity: z.literal(\"experimental\"),\n availability: z.enum([\"available\", \"unavailable\"]),\n }),\n connectionState: z.enum(EXTERNAL_AGENT_CONNECTION_STATES),\n authReadiness: z.enum(EXTERNAL_AGENT_AUTH_READINESS),\n grantState: z.enum(EXTERNAL_AGENT_GRANT_STATES),\n requestedModel: modelSchema.optional(),\n effectiveModel: modelSchema.optional(),\n models: z\n .array(modelSchema)\n .min(1)\n .max(EXTERNAL_AGENT_CONTROL_LIMITS.maximumModels)\n .refine((values) => new Set(values).size === values.length)\n .readonly()\n .optional(),\n task: managedTaskStatusSchema.optional(),\n error: externalAgentErrorSchema.optional(),\n updatedAt: isoTimestampSchema,\n});\n\nexport const externalAgentControlStatusRequestSchema = z.strictObject({});\nexport const externalAgentControlConnectRequestSchema = z.strictObject({\n requestId: requestIdSchema,\n adapterKind: z.literal(\"codex\"),\n profile: z.literal(EXTERNAL_AGENT_MANAGED_PROFILE),\n model: modelSchema.optional(),\n});\nexport const externalAgentControlDisconnectRequestSchema = z.strictObject({\n requestId: requestIdSchema,\n adapterKind: z.literal(\"codex\"),\n revokeGrant: z.boolean(),\n});\nexport const externalAgentControlCancelRequestSchema = z.strictObject({\n requestId: requestIdSchema,\n revision: z.number().int().positive(),\n});\nexport const externalAgentEventsRequestSchema = z.strictObject({\n afterSequence: z.number().int().nonnegative().optional(),\n});\nexport const externalAgentEventSchema = z.discriminatedUnion(\"type\", [\n z.strictObject({\n type: z.literal(\"status\"),\n data: externalAgentControlStatusSchema,\n }),\n z.strictObject({\n type: z.literal(\"heartbeat\"),\n sequence: z.number().int().nonnegative(),\n emittedAt: isoTimestampSchema,\n }),\n]);\nexport const externalAgentResultRequestSchema = z.strictObject({\n revision: z.number().int().positive(),\n});\nexport const externalAgentManagedResultSchema = z.strictObject({\n revision: z.number().int().positive(),\n diff: z.string().max(EXTERNAL_AGENT_CONTROL_LIMITS.maximumResultDiffBytes),\n files: z\n .array(managedFileSummarySchema)\n .max(EXTERNAL_AGENT_CONTROL_LIMITS.maximumChangedFiles),\n checks: z\n .array(managedCheckSummarySchema)\n .max(EXTERNAL_AGENT_CONTROL_LIMITS.maximumChecks),\n timings: managedTimingSummarySchema,\n validationOutcome: z.enum(EXTERNAL_AGENT_VALIDATION_OUTCOMES),\n expiresAt: isoTimestampSchema,\n});\n\nexport type ExternalAgentErrorCode = (typeof EXTERNAL_AGENT_ERROR_CODES)[number];\nexport type ExternalAgentAction = (typeof EXTERNAL_AGENT_ACTIONS)[number];\nexport type ExternalAgentConnectionState =\n (typeof EXTERNAL_AGENT_CONNECTION_STATES)[number];\nexport type ExternalAgentControlStatus = Readonly<\n z.infer<typeof externalAgentControlStatusSchema>\n>;\nexport type ExternalAgentControlConnectRequest = Readonly<\n z.infer<typeof externalAgentControlConnectRequestSchema>\n>;\nexport type ExternalAgentControlDisconnectRequest = Readonly<\n z.infer<typeof externalAgentControlDisconnectRequestSchema>\n>;\nexport type ExternalAgentControlCancelRequest = Readonly<\n z.infer<typeof externalAgentControlCancelRequestSchema>\n>;\nexport type ExternalAgentEventsRequest = Readonly<\n z.infer<typeof externalAgentEventsRequestSchema>\n>;\nexport type ExternalAgentEvent = Readonly<z.infer<typeof externalAgentEventSchema>>;\nexport type ExternalAgentResultRequest = Readonly<\n z.infer<typeof externalAgentResultRequestSchema>\n>;\nexport type ExternalAgentManagedResult = Readonly<\n z.infer<typeof externalAgentManagedResultSchema>\n>;\n","import { z } from \"zod\";\n\nimport { ERROR_CODES } from \"../errors/error-code.js\";\nimport {\n AGENT_CAPABILITY_STATES,\n AGENT_CHECK_STATUSES,\n AGENT_FILE_CHANGE_KINDS,\n AGENT_JOB_STATUSES,\n AGENT_WORKSPACE_STATES,\n} from \"../model/agent.js\";\n\nconst profileIdSchema = z\n .string()\n .min(1)\n .max(64)\n .regex(/^[A-Za-z0-9][A-Za-z0-9._-]*$/);\nconst boundedString = (maximum: number): z.ZodString => z.string().max(maximum);\nconst errorCodeSchema = z.enum(ERROR_CODES);\n\nexport const agentCapabilitySnapshotSchema = z.strictObject({\n providerProfileId: profileIdSchema,\n providerLabel: boundedString(100),\n modelProfileId: profileIdSchema,\n modelLabel: boundedString(100),\n protocol: z.enum([\"responses\", \"chat-completions\"]),\n state: z.enum(AGENT_CAPABILITY_STATES),\n authenticated: z.boolean(),\n modelAvailable: z.boolean(),\n toolCalling: z.boolean(),\n toolResultContinuation: z.boolean(),\n streaming: z.boolean(),\n checkedAt: z.iso.datetime().optional(),\n errorCode: errorCodeSchema.optional(),\n});\n\nexport const agentWorkspaceHealthSnapshotSchema = z\n .strictObject({\n state: z.enum(AGENT_WORKSPACE_STATES),\n checkedAt: z.iso.datetime(),\n changes: z.strictObject({\n staged: z.number().int().nonnegative(),\n unstaged: z.number().int().nonnegative(),\n untracked: z.number().int().nonnegative(),\n conflicted: z.number().int().nonnegative(),\n total: z.number().int().nonnegative(),\n }),\n canIncludeLocalChanges: z.boolean(),\n errorCode: errorCodeSchema.optional(),\n })\n .refine(\n ({ state, changes, canIncludeLocalChanges, errorCode }) => {\n const countsAreConsistent =\n changes.total >= changes.staged &&\n changes.total >= changes.unstaged &&\n changes.total >= changes.untracked &&\n changes.total >= changes.conflicted &&\n changes.total <= changes.staged + changes.unstaged + changes.untracked;\n\n if (!countsAreConsistent) {\n return false;\n }\n\n if (state === \"ready\") {\n return (\n changes.total === 0 && !canIncludeLocalChanges && errorCode === undefined\n );\n }\n\n if (state === \"consent-required\") {\n return (\n changes.total > 0 &&\n changes.conflicted === 0 &&\n canIncludeLocalChanges &&\n errorCode === undefined\n );\n }\n\n return !canIncludeLocalChanges && errorCode !== undefined;\n },\n { message: \"Agent workspace health fields are inconsistent.\" },\n );\n\nexport const agentChangedFileSchema = z.strictObject({\n relativePath: boundedString(1_024),\n kind: z.enum(AGENT_FILE_CHANGE_KINDS),\n additions: z.number().int().nonnegative(),\n deletions: z.number().int().nonnegative(),\n});\n\nexport const agentCheckResultSchema = z.strictObject({\n checkId: profileIdSchema,\n label: boundedString(100),\n status: z.enum(AGENT_CHECK_STATUSES),\n durationMs: z.number().int().nonnegative(),\n output: boundedString(80_000),\n});\n\nexport const agentJobSnapshotSchema = z.strictObject({\n jobId: z\n .string()\n .min(22)\n .max(128)\n .regex(/^[A-Za-z0-9_-]+$/),\n status: z.enum(AGENT_JOB_STATUSES),\n providerProfileId: profileIdSchema,\n providerLabel: boundedString(100),\n modelProfileId: profileIdSchema,\n modelLabel: boundedString(100),\n phaseMessage: boundedString(1_024),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n canCancel: z.boolean(),\n canApply: z.boolean(),\n canRevert: z.boolean(),\n errorCode: errorCodeSchema.optional(),\n});\n\nexport const agentJobResultSchema = z.strictObject({\n jobId: z\n .string()\n .min(22)\n .max(128)\n .regex(/^[A-Za-z0-9_-]+$/),\n summary: boundedString(80_000),\n diff: boundedString(1_000_000),\n files: z.array(agentChangedFileSchema).max(100),\n checks: z.array(agentCheckResultSchema).max(100),\n});\n\nexport const agentJobResultResponseSchema = z\n .strictObject({\n snapshot: agentJobSnapshotSchema,\n result: agentJobResultSchema.optional(),\n })\n .superRefine((value, context) => {\n if (value.result !== undefined && value.result.jobId !== value.snapshot.jobId) {\n context.addIssue({\n code: \"custom\",\n message: \"Agent result and snapshot job IDs must match.\",\n path: [\"result\", \"jobId\"],\n });\n }\n });\n\nconst agentJobEventBaseSchema = z.strictObject({\n schemaVersion: z.literal(2),\n sequence: z.number().int().positive(),\n jobId: z\n .string()\n .min(22)\n .max(128)\n .regex(/^[A-Za-z0-9_-]+$/),\n status: z.enum(AGENT_JOB_STATUSES),\n timestamp: z.iso.datetime(),\n});\n\nexport const agentJobEventSchema = z\n .discriminatedUnion(\"type\", [\n agentJobEventBaseSchema.extend({\n type: z.literal(\"snapshot\"),\n data: z.strictObject({ snapshot: agentJobSnapshotSchema }),\n }),\n agentJobEventBaseSchema.extend({\n type: z.literal(\"phase\"),\n data: z.strictObject({ message: boundedString(1_024) }),\n }),\n agentJobEventBaseSchema.extend({\n type: z.literal(\"tool\"),\n data: z.strictObject({\n turn: z.number().int().positive(),\n toolCallId: boundedString(256),\n toolName: boundedString(100),\n state: z.enum([\"started\", \"succeeded\", \"failed\"]),\n relativePath: boundedString(1_024).optional(),\n checkLabel: boundedString(100).optional(),\n }),\n }),\n agentJobEventBaseSchema.extend({\n type: z.literal(\"check\"),\n data: z.strictObject({ result: agentCheckResultSchema }),\n }),\n agentJobEventBaseSchema.extend({\n type: z.literal(\"result-ready\"),\n data: z.strictObject({ hasResult: z.literal(true) }),\n }),\n agentJobEventBaseSchema.extend({\n type: z.literal(\"error\"),\n data: z.strictObject({\n code: errorCodeSchema,\n message: boundedString(1_024),\n }),\n }),\n ])\n .superRefine((event, context) => {\n if (event.type !== \"snapshot\") {\n return;\n }\n\n if (event.data.snapshot.jobId !== event.jobId) {\n context.addIssue({\n code: \"custom\",\n message: \"Agent event and snapshot job IDs must match.\",\n path: [\"data\", \"snapshot\", \"jobId\"],\n });\n }\n\n if (event.data.snapshot.status !== event.status) {\n context.addIssue({\n code: \"custom\",\n message: \"Agent event and snapshot statuses must match.\",\n path: [\"data\", \"snapshot\", \"status\"],\n });\n }\n });\n","export const SPOTPATCH_REPOSITORY_URL =\n \"https://github.com/huanglvjing/spotpatch\" as const;\n"],"mappings":"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","names":["z","boundedText","z","z","z","z","profileIdSchema","z"]}
|
|
1
|
+
{"version":3,"sources":["../src/security/redaction.ts","../src/model/data-flow-adapters.ts","../src/model/data-flow.ts","../src/model/data-flow-budget.ts","../src/model/runtime-config.ts","../src/model/editor.ts","../src/model/source-marker.ts","../src/protocol/external-agent-control.ts","../src/protocol/agent-schemas.ts","../src/product.ts"],"sourcesContent":["const INLINE_DATA_PATTERN = /data:[^\\s\"'<>]*;base64,[a-z0-9+/_=-]+/giu;\nconst BLOB_URL_PATTERN = /blob:[^\\s\"'<>]+/giu;\nconst BEARER_PATTERN = /\\bbearer\\s+[a-z0-9._~+/-]+=*/giu;\nconst URL_CREDENTIAL_PATTERN = /\\b(https?:\\/\\/)[^/\\s:@]+:[^/\\s@]+@/giu;\nconst SECRET_ASSIGNMENT_PATTERN =\n /\\b(authorization|cookie|set-cookie|api[-_]?key|(?:access[-_]?|refresh[-_]?|auth[-_]?)?token|secret|password|default[-_]?value|value)\\b(\\s*[:=]\\s*)(\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|'(?:\\\\.|[^'\\\\\\r\\n])*'|`(?:\\\\.|[^`\\\\\\r\\n])*`|[^\\s,;\"'<>]+)/giu;\nconst SENSITIVE_EXACT_NAMES = new Set([\n \"authorization\",\n \"cookie\",\n \"defaultvalue\",\n \"password\",\n \"setcookie\",\n \"value\",\n]);\nconst MAX_URL_CHARACTERS = 500;\n\nfunction compactName(name: string): string {\n return name.toLowerCase().replaceAll(/[-_:]/gu, \"\");\n}\n\nfunction truncate(value: string, maxCharacters: number): string {\n return value.length <= maxCharacters\n ? value\n : `${value.slice(0, Math.max(0, maxCharacters - 1))}…`;\n}\n\nexport function isSensitiveName(name: string): boolean {\n const compact = compactName(name);\n\n return (\n SENSITIVE_EXACT_NAMES.has(compact) ||\n compact.includes(\"apikey\") ||\n compact.includes(\"authorization\") ||\n compact.includes(\"secret\") ||\n compact.includes(\"token\")\n );\n}\n\nexport function redactSensitiveText(value: string): string {\n return value\n .replace(INLINE_DATA_PATTERN, \"[redacted inline data]\")\n .replace(BLOB_URL_PATTERN, \"[redacted blob URL]\")\n .replace(BEARER_PATTERN, \"Bearer [redacted]\")\n .replace(URL_CREDENTIAL_PATTERN, \"$1[redacted]@\")\n .replace(\n SECRET_ASSIGNMENT_PATTERN,\n (_match, name: string, separator: string, assignedValue: string) => {\n const quote = assignedValue.at(0);\n const quoted = quote === '\"' || quote === \"'\" || quote === \"`\";\n return `${name}${separator}${quoted ? quote : \"\"}[redacted]${quoted ? quote : \"\"}`;\n },\n );\n}\n\nfunction sanitizeParsedUrl(url: URL): string {\n url.username = \"\";\n url.password = \"\";\n\n for (const [name, value] of url.searchParams) {\n if (isSensitiveName(name)) {\n url.searchParams.set(name, \"[redacted]\");\n } else {\n url.searchParams.set(name, redactSensitiveText(value));\n }\n }\n\n if (/token|secret|authorization|api[-_]?key/iu.test(url.hash)) {\n url.hash = \"#[redacted]\";\n }\n\n return url.toString();\n}\n\nexport function sanitizeUrl(value: string, baseUrl: string): string {\n const trimmed = value.trim();\n\n if (/^(?:blob|data|javascript):/iu.test(trimmed)) {\n return \"[redacted URL]\";\n }\n\n const normalized = redactSensitiveText(trimmed);\n\n try {\n const parsed = new URL(normalized, baseUrl);\n const sanitized = sanitizeParsedUrl(parsed);\n const base = new URL(baseUrl);\n\n if (!/^[a-z][a-z\\d+.-]*:/iu.test(normalized) && parsed.origin === base.origin) {\n return `${parsed.pathname}${parsed.search}${parsed.hash}`;\n }\n\n return sanitized;\n } catch {\n return truncate(normalized, MAX_URL_CHARACTERS);\n }\n}\n","/**\n * Syntax names shared by the compiler and Node analyzer.\n *\n * These are recognition inputs, not support claims. An adapter still has to prove\n * the imported package/symbol before it can attribute a request.\n */\nexport const DATA_FLOW_QUERY_ADAPTER_MODULES = Object.freeze([\n \"@tanstack/react-query\",\n \"react-query\",\n] as const);\n\nexport const DATA_FLOW_QUERY_HOOK_NAMES = Object.freeze([\n \"useInfiniteQuery\",\n \"useMutation\",\n \"useQuery\",\n] as const);\n\nexport const DATA_FLOW_TRPC_CLIENT_FACTORY_NAMES = Object.freeze([\n \"createTRPCClient\",\n \"createTRPCProxyClient\",\n] as const);\n\nexport const DATA_FLOW_TRPC_PROXY_FACTORY_NAMES = Object.freeze([\n \"createTRPCNext\",\n \"createTRPCReact\",\n] as const);\n\nexport const DATA_FLOW_TRPC_ROOT_FACTORY_NAMES = Object.freeze([\n ...DATA_FLOW_TRPC_CLIENT_FACTORY_NAMES,\n ...DATA_FLOW_TRPC_PROXY_FACTORY_NAMES,\n \"createTRPCContext\",\n \"createTRPCOptionsProxy\",\n] as const);\n\nexport const DATA_FLOW_TRPC_REQUEST_METHODS = Object.freeze([\n \"infiniteQueryOptions\",\n \"mutate\",\n \"mutateAsync\",\n \"mutationOptions\",\n \"query\",\n \"queryOptions\",\n \"refetch\",\n \"subscribe\",\n \"subscriptionOptions\",\n \"useInfiniteQuery\",\n \"useMutation\",\n \"useQuery\",\n \"useSubscription\",\n \"useSuspenseInfiniteQuery\",\n \"useSuspenseQuery\",\n] as const);\n","import { z } from \"zod\";\n\nimport {\n DEFAULT_DATA_FLOW_LIMITS,\n type RuntimeDataFlowLimits,\n} from \"./data-flow-limits.js\";\nimport { DATA_FLOW_SCHEMA_VERSION } from \"./data-flow-version.js\";\n\nexport {\n DATA_FLOW_URL_QUERY_KEY_LIMIT,\n DEFAULT_DATA_FLOW_LIMITS,\n DEFAULT_RUNTIME_DATA_FLOW_LIMITS,\n type DataFlowLimits,\n type RuntimeDataFlowLimits,\n} from \"./data-flow-limits.js\";\nexport { DATA_FLOW_SCHEMA_VERSION } from \"./data-flow-version.js\";\n\nexport const DATA_FLOW_EXECUTION_STATES = Object.freeze([\n \"observed\",\n \"declared-not-observed\",\n \"not-applicable\",\n \"unknown\",\n] as const);\nexport const DATA_FLOW_PROOF_STATES = Object.freeze([\n \"proven\",\n \"candidate\",\n \"unavailable\",\n \"conflict\",\n] as const);\nexport const DATA_FLOW_ASSOCIATION_KINDS = Object.freeze([\n \"direct\",\n \"transitive\",\n \"upstream\",\n \"possible\",\n \"unassigned\",\n \"unknown\",\n] as const);\nexport const DATA_FLOW_FRESHNESS_STATES = Object.freeze([\n \"current\",\n \"stale-source\",\n \"stale-route\",\n \"expired\",\n] as const);\nexport const DATA_FLOW_DIAGNOSTIC_CODES = Object.freeze([\n \"DATA_FLOW_CAPABILITY_DISABLED\",\n \"DATA_FLOW_CAPABILITY_PRELUDE_UNAVAILABLE\",\n \"DATA_FLOW_CAPABILITY_UNSUPPORTED_FRAMEWORK\",\n \"DATA_FLOW_SOURCE_UNAVAILABLE\",\n \"DATA_FLOW_SOURCE_STALE\",\n \"DATA_FLOW_ANALYSIS_TIMEOUT\",\n \"DATA_FLOW_ANALYSIS_TRUNCATED\",\n \"DATA_FLOW_ANALYSIS_UNRESOLVED_CALL\",\n \"DATA_FLOW_OBSERVATION_UNASSIGNED\",\n \"DATA_FLOW_OBSERVATION_DROPPED\",\n \"DATA_FLOW_REDACTION_APPLIED\",\n \"DATA_FLOW_AI_DISABLED\",\n] as const);\n\nexport type ExecutionState = (typeof DATA_FLOW_EXECUTION_STATES)[number];\nexport type ProofState = (typeof DATA_FLOW_PROOF_STATES)[number];\nexport type AssociationKind = (typeof DATA_FLOW_ASSOCIATION_KINDS)[number];\nexport type FreshnessState = (typeof DATA_FLOW_FRESHNESS_STATES)[number];\nexport type DataFlowDiagnosticCode = (typeof DATA_FLOW_DIAGNOSTIC_CODES)[number];\n\nexport interface RuntimeDataFlowConfig {\n readonly enabled: boolean;\n readonly runtime: \"dispatch\";\n readonly limits: RuntimeDataFlowLimits;\n}\n\nexport interface DataFlowCapabilityReason {\n readonly code: DataFlowDiagnosticCode;\n readonly retryable: boolean;\n}\n\nexport interface DataFlowCapability {\n readonly enabled: boolean;\n readonly staticAnalysis: \"available\" | \"partial\" | \"unavailable\";\n readonly runtimeObservation: \"dispatch-only\";\n readonly responseShape: \"consumed-fields-only\";\n readonly aiAssistance: \"disabled\";\n readonly reasons: readonly DataFlowCapabilityReason[];\n}\n\nexport interface EvidenceSourceRef {\n readonly fileId: string;\n readonly displayPath: string;\n readonly line: number;\n readonly column: number;\n readonly sourceVersion: string;\n}\n\nexport interface EvidenceRef {\n readonly id: string;\n readonly kind:\n | \"source-anchor\"\n | \"import-resolution\"\n | \"symbol-edge\"\n | \"trigger-edge\"\n | \"call-edge\"\n | \"data-binding\"\n | \"adapter-rule\"\n | \"runtime-observation\"\n | \"runtime-reference\"\n | \"diagnostic\";\n readonly source?: EvidenceSourceRef;\n readonly adapter?: Readonly<{ id: string; version: string }>;\n readonly summaryKey: string;\n}\n\nexport interface DataFlowDiagnostic {\n readonly id: string;\n readonly code: DataFlowDiagnosticCode;\n readonly severity: \"info\" | \"warning\" | \"error\";\n readonly retryable: boolean;\n readonly evidenceIds: readonly string[];\n}\n\nexport interface SanitizedObservedUrl {\n readonly origin?: string;\n readonly pathname: string;\n readonly queryKeys: readonly string[];\n}\n\nexport interface DataParameter {\n readonly path: string;\n readonly position:\n \"path\" | \"query\" | \"body\" | \"header\" | \"cookie\" | \"variable\" | \"form\" | \"unknown\";\n readonly type?: string;\n readonly source?: string;\n readonly condition?: string;\n readonly sensitive: boolean;\n readonly valueState: \"not-collected\";\n readonly evidenceIds: readonly string[];\n}\n\nexport interface DataResponseDescriptor {\n readonly consumedFields: readonly string[];\n}\n\nexport interface RequestOrigin {\n readonly componentSourceId?: string;\n readonly triggerCallsiteId?: string;\n readonly requestCallsiteId: string;\n readonly sourceVersion: string;\n}\n\nexport interface DataDependency {\n readonly id: string;\n readonly kind: \"http\" | \"graphql\" | \"rpc\" | \"server-action\" | \"unknown\";\n readonly direction: \"read\" | \"write\" | \"read-write\" | \"unknown\";\n readonly execution: ExecutionState;\n readonly environment?: \"server\" | \"client\";\n readonly proof: ProofState;\n readonly association: AssociationKind;\n readonly method?: string;\n readonly operation?: string;\n readonly url?: SanitizedObservedUrl;\n readonly parameters: readonly DataParameter[];\n readonly response: DataResponseDescriptor;\n readonly origin?: RequestOrigin;\n readonly suppliedBindings: readonly string[];\n readonly locationIds: readonly string[];\n readonly evidenceIds: readonly string[];\n readonly observationIds: readonly string[];\n}\n\nexport interface NetworkObservation {\n readonly schemaVersion: typeof DATA_FLOW_SCHEMA_VERSION;\n readonly id: string;\n readonly pageEpoch: string;\n readonly routeEpoch: string;\n readonly requestCallsiteId?: string;\n readonly invocationId?: string;\n readonly componentSourceId?: string;\n readonly triggerCallsiteId?: string;\n readonly sourceVersion?: string;\n readonly transport: \"fetch\" | \"trpc\" | \"xhr\";\n readonly method: string;\n readonly operation?: string;\n readonly url: SanitizedObservedUrl;\n readonly outcome: \"dispatched\";\n readonly freshness: FreshnessState;\n readonly diagnosticIds: readonly string[];\n}\n\nexport interface AnalysisBaseline {\n readonly registryEpoch: string;\n readonly analyzerVersion: string;\n readonly adapterSetHash: string;\n readonly analyzedSourceVersions: readonly string[];\n}\n\nexport interface ReportCompleteness {\n readonly complete: boolean;\n readonly visitedModules: number;\n readonly visitedCallsites: number;\n readonly frontierCount: number;\n readonly truncatedBy?: \"depth\" | \"modules\" | \"callsites\" | \"bytes\" | \"timeout\";\n}\n\nexport interface ComponentIdentity {\n readonly componentSourceId?: string;\n readonly displayName?: string;\n readonly source: EvidenceSourceRef;\n}\n\nexport interface ComponentDataFlowReport {\n readonly schemaVersion: typeof DATA_FLOW_SCHEMA_VERSION;\n readonly reportId: string;\n readonly baseline: AnalysisBaseline;\n readonly capability: DataFlowCapability;\n readonly component: ComponentIdentity;\n readonly dependencies: readonly DataDependency[];\n readonly evidence: readonly EvidenceRef[];\n readonly diagnostics: readonly DataFlowDiagnostic[];\n readonly completeness: ReportCompleteness;\n}\n\nexport interface PageDataFlowReport {\n readonly schemaVersion: typeof DATA_FLOW_SCHEMA_VERSION;\n readonly reportId: string;\n readonly baseline: AnalysisBaseline;\n readonly capability: DataFlowCapability;\n readonly dependencies: readonly DataDependency[];\n readonly evidence: readonly EvidenceRef[];\n readonly diagnostics: readonly DataFlowDiagnostic[];\n readonly completeness: ReportCompleteness;\n}\n\nconst boundedText = (maximum: number): z.ZodString =>\n z.string().trim().min(1).max(maximum);\nconst opaqueIdSchema = boundedText(128).regex(/^[A-Za-z0-9_-]+$/u);\nconst diagnosticCodeSchema = z.enum(DATA_FLOW_DIAGNOSTIC_CODES);\nconst evidenceSourceSchema = z.strictObject({\n fileId: opaqueIdSchema,\n displayPath: boundedText(1_024),\n line: z.number().int().positive(),\n column: z.number().int().positive(),\n sourceVersion: opaqueIdSchema,\n});\n\nconst sanitizedObservedUrlSchema = z.strictObject({\n origin: boundedText(512).optional(),\n pathname: boundedText(2_048),\n queryKeys: z.array(boundedText(256)).max(DEFAULT_DATA_FLOW_LIMITS.reportMaxFields),\n});\nconst dataParameterSchema = z.strictObject({\n path: boundedText(1_024),\n position: z.enum([\n \"path\",\n \"query\",\n \"body\",\n \"header\",\n \"cookie\",\n \"variable\",\n \"form\",\n \"unknown\",\n ]),\n type: boundedText(512).optional(),\n source: boundedText(1_024).optional(),\n condition: boundedText(1_024).optional(),\n sensitive: z.boolean(),\n valueState: z.literal(\"not-collected\"),\n evidenceIds: z.array(opaqueIdSchema).max(DEFAULT_DATA_FLOW_LIMITS.reportMaxEvidence),\n});\nconst dataResponseSchema = z.strictObject({\n consumedFields: z\n .array(boundedText(1_024))\n .max(DEFAULT_DATA_FLOW_LIMITS.reportMaxFields),\n});\nconst requestOriginSchema = z.strictObject({\n componentSourceId: opaqueIdSchema.optional(),\n triggerCallsiteId: opaqueIdSchema.optional(),\n requestCallsiteId: opaqueIdSchema,\n sourceVersion: opaqueIdSchema,\n});\nconst capabilityReasonSchema = z.strictObject({\n code: diagnosticCodeSchema,\n retryable: z.boolean(),\n});\nconst capabilitySchema = z.strictObject({\n enabled: z.boolean(),\n staticAnalysis: z.enum([\"available\", \"partial\", \"unavailable\"]),\n runtimeObservation: z.literal(\"dispatch-only\"),\n responseShape: z.literal(\"consumed-fields-only\"),\n aiAssistance: z.literal(\"disabled\"),\n reasons: z\n .array(capabilityReasonSchema)\n .max(DEFAULT_DATA_FLOW_LIMITS.capabilityMaxReasons),\n});\nconst evidenceSchema = z.strictObject({\n id: opaqueIdSchema,\n kind: z.enum([\n \"source-anchor\",\n \"import-resolution\",\n \"symbol-edge\",\n \"trigger-edge\",\n \"call-edge\",\n \"data-binding\",\n \"adapter-rule\",\n \"runtime-observation\",\n \"runtime-reference\",\n \"diagnostic\",\n ]),\n source: evidenceSourceSchema.optional(),\n adapter: z\n .strictObject({ id: boundedText(128), version: boundedText(64) })\n .optional(),\n summaryKey: boundedText(256),\n});\nconst diagnosticSchema = z.strictObject({\n id: opaqueIdSchema,\n code: diagnosticCodeSchema,\n severity: z.enum([\"info\", \"warning\", \"error\"]),\n retryable: z.boolean(),\n evidenceIds: z.array(opaqueIdSchema).max(DEFAULT_DATA_FLOW_LIMITS.reportMaxEvidence),\n});\nconst baselineSchema = z.strictObject({\n registryEpoch: opaqueIdSchema,\n analyzerVersion: boundedText(64),\n adapterSetHash: boundedText(128),\n analyzedSourceVersions: z\n .array(opaqueIdSchema)\n .max(DEFAULT_DATA_FLOW_LIMITS.graphMaxModules),\n});\nconst completenessSchema = z.strictObject({\n complete: z.boolean(),\n visitedModules: z.number().int().nonnegative(),\n visitedCallsites: z.number().int().nonnegative(),\n frontierCount: z.number().int().nonnegative(),\n truncatedBy: z.enum([\"depth\", \"modules\", \"callsites\", \"bytes\", \"timeout\"]).optional(),\n});\n\nexport const dataDependencySchema = z.strictObject({\n id: opaqueIdSchema,\n kind: z.enum([\"http\", \"graphql\", \"rpc\", \"server-action\", \"unknown\"]),\n direction: z.enum([\"read\", \"write\", \"read-write\", \"unknown\"]),\n execution: z.enum(DATA_FLOW_EXECUTION_STATES),\n environment: z.enum([\"server\", \"client\"]).optional(),\n proof: z.enum(DATA_FLOW_PROOF_STATES),\n association: z.enum(DATA_FLOW_ASSOCIATION_KINDS),\n method: boundedText(32).optional(),\n operation: boundedText(512).optional(),\n url: sanitizedObservedUrlSchema.optional(),\n parameters: z\n .array(dataParameterSchema)\n .max(DEFAULT_DATA_FLOW_LIMITS.reportMaxFields),\n response: dataResponseSchema,\n origin: requestOriginSchema.optional(),\n suppliedBindings: z\n .array(boundedText(1_024))\n .max(DEFAULT_DATA_FLOW_LIMITS.graphMaxCallsites),\n locationIds: z.array(opaqueIdSchema).max(DEFAULT_DATA_FLOW_LIMITS.graphMaxCallsites),\n evidenceIds: z.array(opaqueIdSchema).max(DEFAULT_DATA_FLOW_LIMITS.reportMaxEvidence),\n observationIds: z\n .array(opaqueIdSchema)\n .max(DEFAULT_DATA_FLOW_LIMITS.observationMaxEntries),\n});\n\nexport const networkObservationSchema = z.strictObject({\n schemaVersion: z.literal(DATA_FLOW_SCHEMA_VERSION),\n id: opaqueIdSchema,\n pageEpoch: opaqueIdSchema,\n routeEpoch: opaqueIdSchema,\n requestCallsiteId: opaqueIdSchema.optional(),\n invocationId: opaqueIdSchema.optional(),\n componentSourceId: opaqueIdSchema.optional(),\n triggerCallsiteId: opaqueIdSchema.optional(),\n sourceVersion: opaqueIdSchema.optional(),\n transport: z.enum([\"fetch\", \"trpc\", \"xhr\"]),\n method: boundedText(32),\n operation: boundedText(512).optional(),\n url: sanitizedObservedUrlSchema,\n outcome: z.literal(\"dispatched\"),\n freshness: z.enum(DATA_FLOW_FRESHNESS_STATES),\n diagnosticIds: z\n .array(opaqueIdSchema)\n .max(DEFAULT_DATA_FLOW_LIMITS.reportMaxEvidence),\n});\n\nconst componentIdentitySchema = z.strictObject({\n componentSourceId: opaqueIdSchema.optional(),\n displayName: boundedText(256).optional(),\n source: evidenceSourceSchema,\n});\n\nexport const componentDataFlowReportSchema = z.strictObject({\n schemaVersion: z.literal(DATA_FLOW_SCHEMA_VERSION),\n reportId: opaqueIdSchema,\n baseline: baselineSchema,\n capability: capabilitySchema,\n component: componentIdentitySchema,\n dependencies: z\n .array(dataDependencySchema)\n .max(DEFAULT_DATA_FLOW_LIMITS.graphMaxCallsites),\n evidence: z.array(evidenceSchema).max(DEFAULT_DATA_FLOW_LIMITS.reportMaxEvidence),\n diagnostics: z\n .array(diagnosticSchema)\n .max(DEFAULT_DATA_FLOW_LIMITS.reportMaxDiagnostics),\n completeness: completenessSchema,\n});\n\nexport const pageDataFlowReportSchema = z.strictObject({\n schemaVersion: z.literal(DATA_FLOW_SCHEMA_VERSION),\n reportId: opaqueIdSchema,\n baseline: baselineSchema,\n capability: capabilitySchema,\n dependencies: z\n .array(dataDependencySchema)\n .max(DEFAULT_DATA_FLOW_LIMITS.graphMaxCallsites),\n evidence: z.array(evidenceSchema).max(DEFAULT_DATA_FLOW_LIMITS.reportMaxEvidence),\n diagnostics: z\n .array(diagnosticSchema)\n .max(DEFAULT_DATA_FLOW_LIMITS.reportMaxDiagnostics),\n completeness: completenessSchema,\n});\n\nexport const runtimeDataFlowConfigSchema: z.ZodType<RuntimeDataFlowConfig> =\n z.strictObject({\n enabled: z.boolean(),\n runtime: z.literal(\"dispatch\"),\n limits: z.strictObject({\n observationMaxEntries: z.number().int().positive(),\n observationMaxBytes: z.number().int().positive(),\n observationTtlMs: z.number().int().positive(),\n reportMaxBytes: z.number().int().positive(),\n }),\n });\n","import {\n type ComponentDataFlowReport,\n type DataDependency,\n type DataFlowDiagnostic,\n type DataFlowDiagnosticCode,\n type EvidenceRef,\n type PageDataFlowReport,\n type ReportCompleteness,\n} from \"./data-flow.js\";\nimport { DEFAULT_DATA_FLOW_LIMITS } from \"./data-flow-limits.js\";\n\ntype DataFlowReport = ComponentDataFlowReport | PageDataFlowReport;\n\nexport interface DataFlowCollectionLimitOptions {\n readonly forceTruncation?: boolean;\n readonly maximumDependencies?: number;\n readonly mode?: \"analysis\" | \"observation\";\n readonly truncatedBy?: ReportCompleteness[\"truncatedBy\"];\n}\n\ninterface LimitedDependency {\n readonly dependency: DataDependency;\n readonly trimmed: boolean;\n}\n\nfunction prefix<T>(values: readonly T[], maximum: number): readonly T[] {\n return Object.freeze(values.slice(0, Math.max(0, maximum)));\n}\n\nfunction limitDependency(dependency: DataDependency): LimitedDependency {\n const queryKeys =\n dependency.url === undefined\n ? undefined\n : prefix(dependency.url.queryKeys, DEFAULT_DATA_FLOW_LIMITS.reportMaxFields);\n const parameters = prefix(\n dependency.parameters,\n DEFAULT_DATA_FLOW_LIMITS.reportMaxFields,\n ).map((parameter) =>\n Object.freeze({\n ...parameter,\n evidenceIds: prefix(\n parameter.evidenceIds,\n DEFAULT_DATA_FLOW_LIMITS.reportMaxEvidence,\n ),\n }),\n );\n const consumedFields = prefix(\n dependency.response.consumedFields,\n DEFAULT_DATA_FLOW_LIMITS.reportMaxFields,\n );\n const suppliedBindings = prefix(\n dependency.suppliedBindings,\n DEFAULT_DATA_FLOW_LIMITS.graphMaxCallsites,\n );\n const locationIds = prefix(\n dependency.locationIds,\n DEFAULT_DATA_FLOW_LIMITS.graphMaxCallsites,\n );\n const evidenceIds = prefix(\n dependency.evidenceIds,\n DEFAULT_DATA_FLOW_LIMITS.reportMaxEvidence,\n );\n const observationIds = prefix(\n dependency.observationIds,\n DEFAULT_DATA_FLOW_LIMITS.observationMaxEntries,\n );\n const trimmed =\n queryKeys?.length !== dependency.url?.queryKeys.length ||\n parameters.length !== dependency.parameters.length ||\n parameters.some(\n (parameter, index) =>\n parameter.evidenceIds.length !==\n dependency.parameters[index]?.evidenceIds.length,\n ) ||\n consumedFields.length !== dependency.response.consumedFields.length ||\n suppliedBindings.length !== dependency.suppliedBindings.length ||\n locationIds.length !== dependency.locationIds.length ||\n evidenceIds.length !== dependency.evidenceIds.length ||\n observationIds.length !== dependency.observationIds.length;\n\n if (!trimmed) return Object.freeze({ dependency, trimmed: false });\n\n return Object.freeze({\n dependency: Object.freeze({\n ...dependency,\n ...(dependency.url === undefined\n ? {}\n : {\n url: Object.freeze({\n ...dependency.url,\n queryKeys: queryKeys ?? Object.freeze([]),\n }),\n }),\n parameters: Object.freeze(parameters),\n response: Object.freeze({ consumedFields }),\n suppliedBindings,\n locationIds,\n evidenceIds,\n observationIds,\n }),\n trimmed: true,\n });\n}\n\nfunction referencedEvidenceIds(\n dependencies: readonly DataDependency[],\n diagnostics: readonly DataFlowDiagnostic[],\n): readonly string[] {\n return Object.freeze([\n ...new Set([\n ...dependencies.flatMap((dependency) => [\n ...dependency.evidenceIds,\n ...dependency.parameters.flatMap((parameter) => parameter.evidenceIds),\n ]),\n ...diagnostics.flatMap((diagnostic) => diagnostic.evidenceIds),\n ]),\n ]);\n}\n\nfunction prioritizeEvidence(\n evidence: readonly EvidenceRef[],\n referencedIds: readonly string[],\n retainUnreferenced: boolean,\n): readonly EvidenceRef[] {\n const byId = new Map(evidence.map((entry) => [entry.id, entry] as const));\n const ordered: EvidenceRef[] = [];\n const retained = new Set<string>();\n\n for (const id of referencedIds) {\n const entry = byId.get(id);\n if (entry !== undefined && !retained.has(id)) {\n ordered.push(entry);\n retained.add(id);\n }\n }\n if (retainUnreferenced) {\n for (const entry of evidence) {\n if (!retained.has(entry.id)) ordered.push(entry);\n }\n }\n\n return prefix(ordered, DEFAULT_DATA_FLOW_LIMITS.reportMaxEvidence);\n}\n\nfunction pruneEvidenceReferences(\n dependency: DataDependency,\n retainedIds: ReadonlySet<string>,\n): DataDependency {\n return Object.freeze({\n ...dependency,\n parameters: Object.freeze(\n dependency.parameters.map((parameter) =>\n Object.freeze({\n ...parameter,\n evidenceIds: Object.freeze(\n parameter.evidenceIds.filter((id) => retainedIds.has(id)),\n ),\n }),\n ),\n ),\n evidenceIds: Object.freeze(\n dependency.evidenceIds.filter((id) => retainedIds.has(id)),\n ),\n });\n}\n\nfunction truncationCode(mode: \"analysis\" | \"observation\"): DataFlowDiagnosticCode {\n return mode === \"analysis\"\n ? \"DATA_FLOW_ANALYSIS_TRUNCATED\"\n : \"DATA_FLOW_OBSERVATION_DROPPED\";\n}\n\nexport function limitDataFlowReportCollections(\n report: ComponentDataFlowReport,\n options?: DataFlowCollectionLimitOptions,\n): ComponentDataFlowReport;\nexport function limitDataFlowReportCollections(\n report: PageDataFlowReport,\n options?: DataFlowCollectionLimitOptions,\n): PageDataFlowReport;\nexport function limitDataFlowReportCollections(\n report: DataFlowReport,\n options: DataFlowCollectionLimitOptions = {},\n): DataFlowReport {\n const maximumDependencies = Math.min(\n Math.max(\n 0,\n options.maximumDependencies ?? DEFAULT_DATA_FLOW_LIMITS.graphMaxCallsites,\n ),\n DEFAULT_DATA_FLOW_LIMITS.graphMaxCallsites,\n );\n const dependencyResults = prefix(report.dependencies, maximumDependencies).map(\n limitDependency,\n );\n const dependencies = dependencyResults.map(({ dependency }) => dependency);\n const analyzedSourceVersions = prefix(\n report.baseline.analyzedSourceVersions,\n DEFAULT_DATA_FLOW_LIMITS.graphMaxModules,\n );\n const collectionTrimmed =\n report.dependencies.length > dependencies.length ||\n dependencyResults.some(({ trimmed }) => trimmed) ||\n report.baseline.analyzedSourceVersions.length > analyzedSourceVersions.length ||\n report.capability.reasons.length > DEFAULT_DATA_FLOW_LIMITS.capabilityMaxReasons ||\n report.evidence.length > DEFAULT_DATA_FLOW_LIMITS.reportMaxEvidence ||\n report.diagnostics.length > DEFAULT_DATA_FLOW_LIMITS.reportMaxDiagnostics;\n const truncated = options.forceTruncation === true || collectionTrimmed;\n if (!truncated) return report;\n\n const mode = options.mode ?? \"analysis\";\n const code = truncationCode(mode);\n const diagnosticId = `${report.reportId}_collection_${mode}`;\n const reasons = Object.freeze([\n ...report.capability.reasons\n .filter((reason) => reason.code !== code)\n .slice(0, DEFAULT_DATA_FLOW_LIMITS.capabilityMaxReasons - 1),\n Object.freeze({ code, retryable: false }),\n ]);\n const diagnostics = Object.freeze([\n ...report.diagnostics\n .filter((diagnostic) => diagnostic.id !== diagnosticId)\n .slice(0, DEFAULT_DATA_FLOW_LIMITS.reportMaxDiagnostics - 1),\n Object.freeze({\n id: diagnosticId,\n code,\n severity: \"warning\" as const,\n retryable: false,\n evidenceIds: Object.freeze([]),\n }),\n ]);\n const referencedIds = referencedEvidenceIds(dependencies, diagnostics);\n const evidence = prioritizeEvidence(\n report.evidence,\n referencedIds,\n report.dependencies.length === dependencies.length,\n );\n const retainedEvidenceIds = new Set(evidence.map(({ id }) => id));\n const prunedDependencies = Object.freeze(\n dependencies.map((dependency) =>\n pruneEvidenceReferences(dependency, retainedEvidenceIds),\n ),\n );\n const prunedDiagnostics = Object.freeze(\n diagnostics.map((diagnostic) =>\n Object.freeze({\n ...diagnostic,\n evidenceIds: Object.freeze(\n diagnostic.evidenceIds.filter((id) => retainedEvidenceIds.has(id)),\n ),\n }),\n ),\n );\n const removedDependencies = report.dependencies.length - dependencies.length;\n const removedModules =\n report.baseline.analyzedSourceVersions.length - analyzedSourceVersions.length;\n const derivedTruncation: ReportCompleteness[\"truncatedBy\"] =\n removedModules > 0 && removedDependencies === 0 ? \"modules\" : \"callsites\";\n\n return Object.freeze({\n ...report,\n baseline: Object.freeze({\n ...report.baseline,\n analyzedSourceVersions,\n }),\n capability: Object.freeze({\n ...report.capability,\n ...(mode === \"analysis\" && report.capability.staticAnalysis === \"available\"\n ? { staticAnalysis: \"partial\" as const }\n : {}),\n reasons,\n }),\n dependencies: prunedDependencies,\n evidence,\n diagnostics: prunedDiagnostics,\n ...(mode === \"analysis\"\n ? {\n completeness: Object.freeze({\n ...report.completeness,\n complete: false,\n frontierCount:\n report.completeness.frontierCount +\n removedDependencies +\n removedModules +\n (collectionTrimmed && removedDependencies === 0 && removedModules === 0\n ? 1\n : 0),\n truncatedBy:\n options.truncatedBy ??\n report.completeness.truncatedBy ??\n derivedTruncation,\n }),\n }\n : {}),\n });\n}\n","import { z } from \"zod\";\n\nimport { SPOTPATCH_API_BASE } from \"../protocol/endpoints.js\";\nimport { MAX_ANNOTATION_TARGETS, SPOTPATCH_LOCALE_PREFERENCES } from \"./annotation.js\";\nimport { SPOTPATCH_EDITOR_PREFERENCES } from \"./editor.js\";\nimport type { ContextBudget } from \"./code-context.js\";\nimport { AGENT_APPLY_MODES, type RuntimeAiConfig } from \"./agent.js\";\nimport {\n runtimeDataFlowConfigSchema,\n type RuntimeDataFlowConfig,\n} from \"./data-flow.js\";\n\nexport const SPOTPATCH_NEXT_BUNDLERS = Object.freeze([\"turbopack\", \"webpack\"] as const);\nexport const SPOTPATCH_NEXT_ROUTER_KINDS = Object.freeze([\n \"app\",\n \"pages\",\n \"hybrid\",\n] as const);\n\nexport type SpotPatchNextBundler = (typeof SPOTPATCH_NEXT_BUNDLERS)[number];\nexport type SpotPatchNextRouterKind = (typeof SPOTPATCH_NEXT_ROUTER_KINDS)[number];\n\ninterface RuntimeConfigBase {\n readonly apiBase: typeof SPOTPATCH_API_BASE;\n readonly ai: RuntimeAiConfig;\n readonly budget: Readonly<ContextBudget>;\n readonly contextualAsk: Readonly<{ enabled: boolean }>;\n readonly dataFlow: RuntimeDataFlowConfig;\n readonly debug: boolean;\n readonly editor: (typeof SPOTPATCH_EDITOR_PREFERENCES)[number];\n readonly externalAgent: Readonly<{ enabled: boolean }>;\n readonly frameworkVersion: string;\n readonly locale: (typeof SPOTPATCH_LOCALE_PREFERENCES)[number];\n readonly maxTargets: number;\n readonly redact: boolean;\n readonly sessionId: string;\n readonly sessionToken: string;\n readonly shortcut: string;\n readonly spotPatchVersion: string;\n}\n\nexport type SpotPatchRuntimeConfig = RuntimeConfigBase &\n (\n | Readonly<{\n framework: \"vite\";\n }>\n | Readonly<{\n framework: \"astro\";\n }>\n | Readonly<{\n bundler: SpotPatchNextBundler;\n framework: \"next\";\n routerKind: SpotPatchNextRouterKind;\n }>\n );\n\nconst boundedText = (maximum: number): z.ZodString =>\n z.string().trim().min(1).max(maximum);\nconst profileIdSchema = z\n .string()\n .min(1)\n .max(64)\n .regex(/^[A-Za-z0-9][A-Za-z0-9._-]*$/u);\nconst runtimeAiModelSchema = z.strictObject({\n id: profileIdSchema,\n label: boundedText(100),\n});\nconst runtimeAiProviderSchema = z\n .strictObject({\n id: profileIdSchema,\n label: boundedText(100),\n protocol: z.enum([\"responses\", \"chat-completions\"]),\n models: z.array(runtimeAiModelSchema).min(1).max(64),\n defaultModel: profileIdSchema,\n })\n .refine(\n ({ defaultModel, models }) =>\n models.some(({ id }) => id === defaultModel) &&\n new Set(models.map(({ id }) => id)).size === models.length,\n { message: \"Runtime AI model profiles are inconsistent.\" },\n );\nconst runtimeAiConfigSchema = z.discriminatedUnion(\"enabled\", [\n z.strictObject({ enabled: z.literal(false) }),\n z\n .strictObject({\n enabled: z.literal(true),\n providers: z.array(runtimeAiProviderSchema).min(1).max(32),\n defaultProvider: profileIdSchema,\n applyMode: z.enum(AGENT_APPLY_MODES),\n })\n .refine(\n ({ defaultProvider, providers }) =>\n providers.some(({ id }) => id === defaultProvider) &&\n new Set(providers.map(({ id }) => id)).size === providers.length,\n { message: \"Runtime AI provider profiles are inconsistent.\" },\n ),\n]);\nconst positiveInteger = z.number().int().positive();\nconst runtimeConfigBaseShape = {\n apiBase: z.literal(SPOTPATCH_API_BASE),\n ai: runtimeAiConfigSchema,\n budget: z.strictObject({\n totalCharacters: positiveInteger,\n domCharacters: positiveInteger,\n cssCharacters: positiveInteger,\n codeCharacters: positiveInteger,\n maxCodeLines: positiveInteger,\n maxComponentDepth: positiveInteger,\n }),\n contextualAsk: z.strictObject({ enabled: z.boolean() }),\n debug: z.boolean(),\n dataFlow: runtimeDataFlowConfigSchema,\n editor: z.enum(SPOTPATCH_EDITOR_PREFERENCES),\n externalAgent: z.strictObject({ enabled: z.boolean() }),\n frameworkVersion: boundedText(64),\n locale: z.enum(SPOTPATCH_LOCALE_PREFERENCES),\n maxTargets: z.number().int().min(1).max(MAX_ANNOTATION_TARGETS),\n redact: z.boolean(),\n sessionId: z\n .string()\n .min(22)\n .max(128)\n .regex(/^[A-Za-z0-9_-]+$/u),\n sessionToken: z\n .string()\n .min(22)\n .max(128)\n .regex(/^[A-Za-z0-9_-]+$/u),\n shortcut: boundedText(128),\n spotPatchVersion: boundedText(64),\n} as const;\n\nexport const runtimeConfigSchema: z.ZodType<SpotPatchRuntimeConfig> =\n z.discriminatedUnion(\"framework\", [\n z.strictObject({\n ...runtimeConfigBaseShape,\n framework: z.literal(\"astro\"),\n }),\n z.strictObject({\n ...runtimeConfigBaseShape,\n framework: z.literal(\"vite\"),\n }),\n z.strictObject({\n ...runtimeConfigBaseShape,\n bundler: z.enum(SPOTPATCH_NEXT_BUNDLERS),\n framework: z.literal(\"next\"),\n routerKind: z.enum(SPOTPATCH_NEXT_ROUTER_KINDS),\n }),\n ]);\n","export const SPOTPATCH_EDITOR_PREFERENCES = [\"auto\", \"vscode\", \"cursor\"] as const;\n\nexport type SpotPatchEditorPreference = (typeof SPOTPATCH_EDITOR_PREFERENCES)[number];\n\nexport interface EditorOpenResult {\n readonly editor: SpotPatchEditorPreference;\n}\n","export const SOURCE_MARKER_ATTRIBUTE = \"data-spotpatch-source\" as const;\n\nconst SOURCE_MARKER_PATTERN = /^([A-Za-z0-9_-]+):([1-9]\\d*):([1-9]\\d*)(:astro)?$/;\n\nexport interface SourceMarker {\n readonly fileId: string;\n readonly line: number;\n readonly column: number;\n readonly kind?: \"astro\";\n}\n\nexport function formatSourceMarker(marker: SourceMarker): string {\n return [\n marker.fileId,\n String(marker.line),\n String(marker.column),\n ...(marker.kind === undefined ? [] : [marker.kind]),\n ].join(\":\");\n}\n\nexport function parseSourceMarker(value: string | null): SourceMarker | undefined {\n if (value === null) {\n return undefined;\n }\n\n const match = SOURCE_MARKER_PATTERN.exec(value);\n\n if (match === null) {\n return undefined;\n }\n\n const fileId = match[1];\n const line = Number(match[2]);\n const column = Number(match[3]);\n\n if (\n fileId === undefined ||\n !Number.isSafeInteger(line) ||\n !Number.isSafeInteger(column)\n ) {\n return undefined;\n }\n\n return Object.freeze({\n fileId,\n line,\n column,\n ...(match[4] === undefined ? {} : { kind: \"astro\" as const }),\n });\n}\n","import { z } from \"zod\";\n\nimport { DEFAULT_AGENT_LIMITS } from \"../model/agent.js\";\n\nexport const EXTERNAL_AGENT_CONTROL_SCHEMA_VERSION = 1 as const;\nexport const EXTERNAL_AGENT_MANAGED_ADAPTER_KINDS = Object.freeze([\"codex\"] as const);\nexport const EXTERNAL_AGENT_MODES = Object.freeze([\"inbox\", \"managed\"] as const);\nexport const EXTERNAL_AGENT_CONNECTION_STATES = Object.freeze([\n \"disconnected\",\n \"diagnosing\",\n \"awaiting-consent\",\n \"connecting\",\n \"ready\",\n \"busy\",\n \"degraded\",\n \"error\",\n \"disconnecting\",\n] as const);\nexport const EXTERNAL_AGENT_AUTH_READINESS = Object.freeze([\n \"authenticated\",\n \"auth-not-required\",\n \"signed-out\",\n \"unknown\",\n] as const);\nexport const EXTERNAL_AGENT_GRANT_STATES = Object.freeze([\n \"missing\",\n \"valid\",\n \"invalid\",\n] as const);\nexport const EXTERNAL_AGENT_DELIVERY_STATUSES = Object.freeze([\n \"queued\",\n \"dispatching\",\n \"accepted\",\n \"unknown\",\n] as const);\nexport const EXTERNAL_AGENT_EXECUTION_STATUSES = Object.freeze([\n \"not-observable\",\n \"started\",\n \"terminal-succeeded\",\n \"terminal-failed\",\n \"interrupted\",\n \"unknown\",\n] as const);\nexport const EXTERNAL_AGENT_MANAGED_PHASES = Object.freeze([\n \"preparing\",\n \"running\",\n \"auditing\",\n \"validating\",\n \"applying\",\n \"completed\",\n \"review-required\",\n \"failed\",\n \"cancelled\",\n \"cleanup-warning\",\n] as const);\nexport const EXTERNAL_AGENT_VALIDATION_OUTCOMES = Object.freeze([\n \"passed\",\n \"failed\",\n \"not-configured\",\n \"unavailable\",\n] as const);\nexport const EXTERNAL_AGENT_CHECK_OUTCOMES = Object.freeze([\n \"passed\",\n \"failed\",\n \"unavailable\",\n] as const);\nexport const EXTERNAL_AGENT_ERROR_STAGES = Object.freeze([\n \"integration\",\n \"binary\",\n \"handshake\",\n \"auth\",\n \"model\",\n \"protocol\",\n \"snapshot\",\n \"audit\",\n \"validation\",\n \"apply\",\n \"cleanup\",\n] as const);\nexport const EXTERNAL_AGENT_ERROR_RECOVERABILITY = Object.freeze([\n \"retry\",\n \"user-action\",\n \"reconfigure\",\n \"none\",\n] as const);\nexport const EXTERNAL_AGENT_ERROR_CODES = Object.freeze([\n \"AGENT_BINARY_NOT_FOUND\",\n \"AGENT_BINARY_UNTRUSTED\",\n \"AGENT_VERSION_UNSUPPORTED\",\n \"APP_SERVER_HANDSHAKE_FAILED\",\n \"AGENT_AUTH_REQUIRED\",\n \"AGENT_MODEL_UNAVAILABLE\",\n \"AGENT_PROTOCOL_INCOMPATIBLE\",\n \"CODEX_CONFIG_ISOLATION_UNSUPPORTED\",\n \"MANAGED_GRANT_INVALID\",\n \"MANAGED_PLATFORM_UNSUPPORTED\",\n \"MANAGED_GIT_REQUIRED\",\n \"MANAGED_SNAPSHOT_FAILED\",\n \"MANAGED_SCOPE_VIOLATION\",\n \"MANAGED_CHANGE_LIMIT_EXCEEDED\",\n \"MANAGED_VALIDATION_FAILED\",\n \"MANAGED_WORKSPACE_CONFLICT\",\n \"MANAGED_APPLY_FAILED\",\n \"MANAGED_CLEANUP_INCOMPLETE\",\n] as const);\nexport const EXTERNAL_AGENT_ACTIONS = Object.freeze([\n \"install-agent\",\n \"use-supported-version\",\n \"sign-in\",\n \"choose-available-model\",\n \"use-inbox\",\n \"confirm-managed-access\",\n \"review-candidate-diff\",\n \"review-workspace-conflict\",\n \"retry\",\n \"inspect-cleanup-warning\",\n] as const);\nexport const EXTERNAL_AGENT_MANAGED_PROFILE = \"managed-apply-v1\" as const;\nexport const EXTERNAL_AGENT_CONTROL_LIMITS = Object.freeze({\n maximumModels: 128,\n maximumModelCharacters: 128,\n maximumEventSubscribers: 4,\n eventHeartbeatMs: 15_000,\n eventReconnectMinimumMs: 500,\n eventReconnectMaximumMs: 10_000,\n maximumChangedFiles: DEFAULT_AGENT_LIMITS.maxChangedFiles,\n maximumChecks: 64,\n maximumEventLineBytes: 64 * 1_024,\n maximumResultDiffBytes: DEFAULT_AGENT_LIMITS.maxDiffBytes,\n} as const);\n\nconst isoTimestampSchema = z.iso.datetime();\nconst modelSchema = z\n .string()\n .min(1)\n .max(EXTERNAL_AGENT_CONTROL_LIMITS.maximumModelCharacters)\n .refine((value) => value.trim() === value);\nconst requestIdSchema = z\n .string()\n .min(22)\n .max(128)\n .regex(/^[A-Za-z0-9_-]+$/u);\nconst safeRelativePathSchema = z\n .string()\n .min(1)\n .max(4_096)\n .superRefine((value, context) => {\n const segments = value.split(\"/\");\n if (\n value.startsWith(\"/\") ||\n value.includes(\"\\\\\") ||\n segments.some(\n (segment) => segment.length === 0 || segment === \".\" || segment === \"..\",\n )\n ) {\n context.addIssue({ code: \"custom\", message: \"Expected a safe relative path.\" });\n }\n });\n\nexport const externalAgentErrorSchema = z.strictObject({\n code: z.enum(EXTERNAL_AGENT_ERROR_CODES),\n stage: z.enum(EXTERNAL_AGENT_ERROR_STAGES),\n recoverability: z.enum(EXTERNAL_AGENT_ERROR_RECOVERABILITY),\n action: z.enum(EXTERNAL_AGENT_ACTIONS),\n});\nexport const managedFileSummarySchema = z.strictObject({\n path: safeRelativePathSchema,\n additions: z.number().int().nonnegative(),\n deletions: z.number().int().nonnegative(),\n});\nexport const managedCheckSummarySchema = z.strictObject({\n id: z\n .string()\n .min(1)\n .max(128)\n .regex(/^[A-Za-z0-9._-]+$/u),\n outcome: z.enum(EXTERNAL_AGENT_CHECK_OUTCOMES),\n durationMs: z.number().int().nonnegative(),\n exitCode: z.number().int().optional(),\n});\nexport const managedTimingSummarySchema = z.strictObject({\n preparing: z.number().int().nonnegative().optional(),\n agent: z.number().int().nonnegative().optional(),\n auditing: z.number().int().nonnegative().optional(),\n validating: z.number().int().nonnegative().optional(),\n applying: z.number().int().nonnegative().optional(),\n total: z.number().int().nonnegative().optional(),\n});\nexport const managedTaskStatusSchema = z.strictObject({\n revision: z.number().int().positive(),\n deliveryStatus: z.enum(EXTERNAL_AGENT_DELIVERY_STATUSES),\n executionStatus: z.enum(EXTERNAL_AGENT_EXECUTION_STATUSES),\n managedPhase: z.enum(EXTERNAL_AGENT_MANAGED_PHASES),\n validationOutcome: z.enum(EXTERNAL_AGENT_VALIDATION_OUTCOMES).optional(),\n files: z\n .array(managedFileSummarySchema)\n .max(EXTERNAL_AGENT_CONTROL_LIMITS.maximumChangedFiles),\n checks: z\n .array(managedCheckSummarySchema)\n .max(EXTERNAL_AGENT_CONTROL_LIMITS.maximumChecks),\n timings: managedTimingSummarySchema,\n resultExpiresAt: isoTimestampSchema.optional(),\n});\nexport const externalAgentControlStatusSchema = z.strictObject({\n schemaVersion: z.literal(EXTERNAL_AGENT_CONTROL_SCHEMA_VERSION),\n sequence: z.number().int().nonnegative(),\n mode: z.enum(EXTERNAL_AGENT_MODES),\n adapter: z.strictObject({\n kind: z.enum(EXTERNAL_AGENT_MANAGED_ADAPTER_KINDS),\n maturity: z.literal(\"experimental\"),\n availability: z.enum([\"available\", \"unavailable\"]),\n }),\n connectionState: z.enum(EXTERNAL_AGENT_CONNECTION_STATES),\n authReadiness: z.enum(EXTERNAL_AGENT_AUTH_READINESS),\n grantState: z.enum(EXTERNAL_AGENT_GRANT_STATES),\n requestedModel: modelSchema.optional(),\n effectiveModel: modelSchema.optional(),\n models: z\n .array(modelSchema)\n .min(1)\n .max(EXTERNAL_AGENT_CONTROL_LIMITS.maximumModels)\n .refine((values) => new Set(values).size === values.length)\n .readonly()\n .optional(),\n task: managedTaskStatusSchema.optional(),\n error: externalAgentErrorSchema.optional(),\n updatedAt: isoTimestampSchema,\n});\n\nexport const externalAgentControlStatusRequestSchema = z.strictObject({});\nexport const externalAgentControlConnectRequestSchema = z.strictObject({\n requestId: requestIdSchema,\n adapterKind: z.literal(\"codex\"),\n profile: z.literal(EXTERNAL_AGENT_MANAGED_PROFILE),\n model: modelSchema.optional(),\n});\nexport const externalAgentControlDisconnectRequestSchema = z.strictObject({\n requestId: requestIdSchema,\n adapterKind: z.literal(\"codex\"),\n revokeGrant: z.boolean(),\n});\nexport const externalAgentControlCancelRequestSchema = z.strictObject({\n requestId: requestIdSchema,\n revision: z.number().int().positive(),\n});\nexport const externalAgentEventsRequestSchema = z.strictObject({\n afterSequence: z.number().int().nonnegative().optional(),\n});\nexport const externalAgentEventSchema = z.discriminatedUnion(\"type\", [\n z.strictObject({\n type: z.literal(\"status\"),\n data: externalAgentControlStatusSchema,\n }),\n z.strictObject({\n type: z.literal(\"heartbeat\"),\n sequence: z.number().int().nonnegative(),\n emittedAt: isoTimestampSchema,\n }),\n]);\nexport const externalAgentResultRequestSchema = z.strictObject({\n revision: z.number().int().positive(),\n});\nexport const externalAgentManagedResultSchema = z.strictObject({\n revision: z.number().int().positive(),\n diff: z.string().max(EXTERNAL_AGENT_CONTROL_LIMITS.maximumResultDiffBytes),\n files: z\n .array(managedFileSummarySchema)\n .max(EXTERNAL_AGENT_CONTROL_LIMITS.maximumChangedFiles),\n checks: z\n .array(managedCheckSummarySchema)\n .max(EXTERNAL_AGENT_CONTROL_LIMITS.maximumChecks),\n timings: managedTimingSummarySchema,\n validationOutcome: z.enum(EXTERNAL_AGENT_VALIDATION_OUTCOMES),\n expiresAt: isoTimestampSchema,\n});\n\nexport type ExternalAgentErrorCode = (typeof EXTERNAL_AGENT_ERROR_CODES)[number];\nexport type ExternalAgentAction = (typeof EXTERNAL_AGENT_ACTIONS)[number];\nexport type ExternalAgentConnectionState =\n (typeof EXTERNAL_AGENT_CONNECTION_STATES)[number];\nexport type ExternalAgentControlStatus = Readonly<\n z.infer<typeof externalAgentControlStatusSchema>\n>;\nexport type ExternalAgentControlConnectRequest = Readonly<\n z.infer<typeof externalAgentControlConnectRequestSchema>\n>;\nexport type ExternalAgentControlDisconnectRequest = Readonly<\n z.infer<typeof externalAgentControlDisconnectRequestSchema>\n>;\nexport type ExternalAgentControlCancelRequest = Readonly<\n z.infer<typeof externalAgentControlCancelRequestSchema>\n>;\nexport type ExternalAgentEventsRequest = Readonly<\n z.infer<typeof externalAgentEventsRequestSchema>\n>;\nexport type ExternalAgentEvent = Readonly<z.infer<typeof externalAgentEventSchema>>;\nexport type ExternalAgentResultRequest = Readonly<\n z.infer<typeof externalAgentResultRequestSchema>\n>;\nexport type ExternalAgentManagedResult = Readonly<\n z.infer<typeof externalAgentManagedResultSchema>\n>;\n","import { z } from \"zod\";\n\nimport { ERROR_CODES } from \"../errors/error-code.js\";\nimport {\n AGENT_CAPABILITY_STATES,\n AGENT_CHECK_STATUSES,\n AGENT_FILE_CHANGE_KINDS,\n AGENT_JOB_STATUSES,\n AGENT_WORKSPACE_STATES,\n} from \"../model/agent.js\";\n\nconst profileIdSchema = z\n .string()\n .min(1)\n .max(64)\n .regex(/^[A-Za-z0-9][A-Za-z0-9._-]*$/);\nconst boundedString = (maximum: number): z.ZodString => z.string().max(maximum);\nconst errorCodeSchema = z.enum(ERROR_CODES);\n\nexport const agentCapabilitySnapshotSchema = z.strictObject({\n providerProfileId: profileIdSchema,\n providerLabel: boundedString(100),\n modelProfileId: profileIdSchema,\n modelLabel: boundedString(100),\n protocol: z.enum([\"responses\", \"chat-completions\"]),\n state: z.enum(AGENT_CAPABILITY_STATES),\n authenticated: z.boolean(),\n modelAvailable: z.boolean(),\n toolCalling: z.boolean(),\n toolResultContinuation: z.boolean(),\n streaming: z.boolean(),\n checkedAt: z.iso.datetime().optional(),\n errorCode: errorCodeSchema.optional(),\n});\n\nexport const agentWorkspaceHealthSnapshotSchema = z\n .strictObject({\n state: z.enum(AGENT_WORKSPACE_STATES),\n checkedAt: z.iso.datetime(),\n changes: z.strictObject({\n staged: z.number().int().nonnegative(),\n unstaged: z.number().int().nonnegative(),\n untracked: z.number().int().nonnegative(),\n conflicted: z.number().int().nonnegative(),\n total: z.number().int().nonnegative(),\n }),\n canIncludeLocalChanges: z.boolean(),\n errorCode: errorCodeSchema.optional(),\n })\n .refine(\n ({ state, changes, canIncludeLocalChanges, errorCode }) => {\n const countsAreConsistent =\n changes.total >= changes.staged &&\n changes.total >= changes.unstaged &&\n changes.total >= changes.untracked &&\n changes.total >= changes.conflicted &&\n changes.total <= changes.staged + changes.unstaged + changes.untracked;\n\n if (!countsAreConsistent) {\n return false;\n }\n\n if (state === \"ready\") {\n return (\n changes.total === 0 && !canIncludeLocalChanges && errorCode === undefined\n );\n }\n\n if (state === \"consent-required\") {\n return (\n changes.total > 0 &&\n changes.conflicted === 0 &&\n canIncludeLocalChanges &&\n errorCode === undefined\n );\n }\n\n return !canIncludeLocalChanges && errorCode !== undefined;\n },\n { message: \"Agent workspace health fields are inconsistent.\" },\n );\n\nexport const agentChangedFileSchema = z.strictObject({\n relativePath: boundedString(1_024),\n kind: z.enum(AGENT_FILE_CHANGE_KINDS),\n additions: z.number().int().nonnegative(),\n deletions: z.number().int().nonnegative(),\n});\n\nexport const agentCheckResultSchema = z.strictObject({\n checkId: profileIdSchema,\n label: boundedString(100),\n status: z.enum(AGENT_CHECK_STATUSES),\n durationMs: z.number().int().nonnegative(),\n output: boundedString(80_000),\n});\n\nexport const agentJobSnapshotSchema = z.strictObject({\n jobId: z\n .string()\n .min(22)\n .max(128)\n .regex(/^[A-Za-z0-9_-]+$/),\n status: z.enum(AGENT_JOB_STATUSES),\n providerProfileId: profileIdSchema,\n providerLabel: boundedString(100),\n modelProfileId: profileIdSchema,\n modelLabel: boundedString(100),\n phaseMessage: boundedString(1_024),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n canCancel: z.boolean(),\n canApply: z.boolean(),\n canRevert: z.boolean(),\n errorCode: errorCodeSchema.optional(),\n});\n\nexport const agentJobResultSchema = z.strictObject({\n jobId: z\n .string()\n .min(22)\n .max(128)\n .regex(/^[A-Za-z0-9_-]+$/),\n summary: boundedString(80_000),\n diff: boundedString(1_000_000),\n files: z.array(agentChangedFileSchema).max(100),\n checks: z.array(agentCheckResultSchema).max(100),\n});\n\nexport const agentJobResultResponseSchema = z\n .strictObject({\n snapshot: agentJobSnapshotSchema,\n result: agentJobResultSchema.optional(),\n })\n .superRefine((value, context) => {\n if (value.result !== undefined && value.result.jobId !== value.snapshot.jobId) {\n context.addIssue({\n code: \"custom\",\n message: \"Agent result and snapshot job IDs must match.\",\n path: [\"result\", \"jobId\"],\n });\n }\n });\n\nconst agentJobEventBaseSchema = z.strictObject({\n schemaVersion: z.literal(2),\n sequence: z.number().int().positive(),\n jobId: z\n .string()\n .min(22)\n .max(128)\n .regex(/^[A-Za-z0-9_-]+$/),\n status: z.enum(AGENT_JOB_STATUSES),\n timestamp: z.iso.datetime(),\n});\n\nexport const agentJobEventSchema = z\n .discriminatedUnion(\"type\", [\n agentJobEventBaseSchema.extend({\n type: z.literal(\"snapshot\"),\n data: z.strictObject({ snapshot: agentJobSnapshotSchema }),\n }),\n agentJobEventBaseSchema.extend({\n type: z.literal(\"phase\"),\n data: z.strictObject({ message: boundedString(1_024) }),\n }),\n agentJobEventBaseSchema.extend({\n type: z.literal(\"tool\"),\n data: z.strictObject({\n turn: z.number().int().positive(),\n toolCallId: boundedString(256),\n toolName: boundedString(100),\n state: z.enum([\"started\", \"succeeded\", \"failed\"]),\n relativePath: boundedString(1_024).optional(),\n checkLabel: boundedString(100).optional(),\n }),\n }),\n agentJobEventBaseSchema.extend({\n type: z.literal(\"check\"),\n data: z.strictObject({ result: agentCheckResultSchema }),\n }),\n agentJobEventBaseSchema.extend({\n type: z.literal(\"result-ready\"),\n data: z.strictObject({ hasResult: z.literal(true) }),\n }),\n agentJobEventBaseSchema.extend({\n type: z.literal(\"error\"),\n data: z.strictObject({\n code: errorCodeSchema,\n message: boundedString(1_024),\n }),\n }),\n ])\n .superRefine((event, context) => {\n if (event.type !== \"snapshot\") {\n return;\n }\n\n if (event.data.snapshot.jobId !== event.jobId) {\n context.addIssue({\n code: \"custom\",\n message: \"Agent event and snapshot job IDs must match.\",\n path: [\"data\", \"snapshot\", \"jobId\"],\n });\n }\n\n if (event.data.snapshot.status !== event.status) {\n context.addIssue({\n code: \"custom\",\n message: \"Agent event and snapshot statuses must match.\",\n path: [\"data\", \"snapshot\", \"status\"],\n });\n }\n });\n","export const SPOTPATCH_REPOSITORY_URL =\n \"https://github.com/huanglvjing/spotpatch\" as const;\n"],"mappings":"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","names":["z","boundedText","z","z","z","z","profileIdSchema","z"]}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
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":[]}
|
|
File without changes
|
|
File without changes
|
|
@@ -233,8 +233,8 @@ declare const dataDependencySchema: z.ZodObject<{
|
|
|
233
233
|
parameters: z.ZodArray<z.ZodObject<{
|
|
234
234
|
path: z.ZodString;
|
|
235
235
|
position: z.ZodEnum<{
|
|
236
|
-
path: "path";
|
|
237
236
|
unknown: "unknown";
|
|
237
|
+
path: "path";
|
|
238
238
|
query: "query";
|
|
239
239
|
body: "body";
|
|
240
240
|
header: "header";
|
|
@@ -288,9 +288,9 @@ declare const networkObservationSchema: z.ZodObject<{
|
|
|
288
288
|
outcome: z.ZodLiteral<"dispatched">;
|
|
289
289
|
freshness: z.ZodEnum<{
|
|
290
290
|
current: "current";
|
|
291
|
-
expired: "expired";
|
|
292
291
|
"stale-source": "stale-source";
|
|
293
292
|
"stale-route": "stale-route";
|
|
293
|
+
expired: "expired";
|
|
294
294
|
}>;
|
|
295
295
|
diagnosticIds: z.ZodArray<z.ZodString>;
|
|
296
296
|
}, z.core.$strict>;
|
|
@@ -306,8 +306,8 @@ declare const componentDataFlowReportSchema: z.ZodObject<{
|
|
|
306
306
|
capability: z.ZodObject<{
|
|
307
307
|
enabled: z.ZodBoolean;
|
|
308
308
|
staticAnalysis: z.ZodEnum<{
|
|
309
|
-
available: "available";
|
|
310
309
|
unavailable: "unavailable";
|
|
310
|
+
available: "available";
|
|
311
311
|
partial: "partial";
|
|
312
312
|
}>;
|
|
313
313
|
runtimeObservation: z.ZodLiteral<"dispatch-only">;
|
|
@@ -391,8 +391,8 @@ declare const componentDataFlowReportSchema: z.ZodObject<{
|
|
|
391
391
|
parameters: z.ZodArray<z.ZodObject<{
|
|
392
392
|
path: z.ZodString;
|
|
393
393
|
position: z.ZodEnum<{
|
|
394
|
-
path: "path";
|
|
395
394
|
unknown: "unknown";
|
|
395
|
+
path: "path";
|
|
396
396
|
query: "query";
|
|
397
397
|
body: "body";
|
|
398
398
|
header: "header";
|
|
@@ -478,11 +478,11 @@ declare const componentDataFlowReportSchema: z.ZodObject<{
|
|
|
478
478
|
visitedCallsites: z.ZodNumber;
|
|
479
479
|
frontierCount: z.ZodNumber;
|
|
480
480
|
truncatedBy: z.ZodOptional<z.ZodEnum<{
|
|
481
|
-
timeout: "timeout";
|
|
482
481
|
depth: "depth";
|
|
483
482
|
modules: "modules";
|
|
484
483
|
callsites: "callsites";
|
|
485
484
|
bytes: "bytes";
|
|
485
|
+
timeout: "timeout";
|
|
486
486
|
}>>;
|
|
487
487
|
}, z.core.$strict>;
|
|
488
488
|
}, z.core.$strict>;
|
|
@@ -498,8 +498,8 @@ declare const pageDataFlowReportSchema: z.ZodObject<{
|
|
|
498
498
|
capability: z.ZodObject<{
|
|
499
499
|
enabled: z.ZodBoolean;
|
|
500
500
|
staticAnalysis: z.ZodEnum<{
|
|
501
|
-
available: "available";
|
|
502
501
|
unavailable: "unavailable";
|
|
502
|
+
available: "available";
|
|
503
503
|
partial: "partial";
|
|
504
504
|
}>;
|
|
505
505
|
runtimeObservation: z.ZodLiteral<"dispatch-only">;
|
|
@@ -572,8 +572,8 @@ declare const pageDataFlowReportSchema: z.ZodObject<{
|
|
|
572
572
|
parameters: z.ZodArray<z.ZodObject<{
|
|
573
573
|
path: z.ZodString;
|
|
574
574
|
position: z.ZodEnum<{
|
|
575
|
-
path: "path";
|
|
576
575
|
unknown: "unknown";
|
|
576
|
+
path: "path";
|
|
577
577
|
query: "query";
|
|
578
578
|
body: "body";
|
|
579
579
|
header: "header";
|
|
@@ -659,11 +659,11 @@ declare const pageDataFlowReportSchema: z.ZodObject<{
|
|
|
659
659
|
visitedCallsites: z.ZodNumber;
|
|
660
660
|
frontierCount: z.ZodNumber;
|
|
661
661
|
truncatedBy: z.ZodOptional<z.ZodEnum<{
|
|
662
|
-
timeout: "timeout";
|
|
663
662
|
depth: "depth";
|
|
664
663
|
modules: "modules";
|
|
665
664
|
callsites: "callsites";
|
|
666
665
|
bytes: "bytes";
|
|
666
|
+
timeout: "timeout";
|
|
667
667
|
}>>;
|
|
668
668
|
}, z.core.$strict>;
|
|
669
669
|
}, z.core.$strict>;
|
|
@@ -233,8 +233,8 @@ declare const dataDependencySchema: z.ZodObject<{
|
|
|
233
233
|
parameters: z.ZodArray<z.ZodObject<{
|
|
234
234
|
path: z.ZodString;
|
|
235
235
|
position: z.ZodEnum<{
|
|
236
|
-
path: "path";
|
|
237
236
|
unknown: "unknown";
|
|
237
|
+
path: "path";
|
|
238
238
|
query: "query";
|
|
239
239
|
body: "body";
|
|
240
240
|
header: "header";
|
|
@@ -288,9 +288,9 @@ declare const networkObservationSchema: z.ZodObject<{
|
|
|
288
288
|
outcome: z.ZodLiteral<"dispatched">;
|
|
289
289
|
freshness: z.ZodEnum<{
|
|
290
290
|
current: "current";
|
|
291
|
-
expired: "expired";
|
|
292
291
|
"stale-source": "stale-source";
|
|
293
292
|
"stale-route": "stale-route";
|
|
293
|
+
expired: "expired";
|
|
294
294
|
}>;
|
|
295
295
|
diagnosticIds: z.ZodArray<z.ZodString>;
|
|
296
296
|
}, z.core.$strict>;
|
|
@@ -306,8 +306,8 @@ declare const componentDataFlowReportSchema: z.ZodObject<{
|
|
|
306
306
|
capability: z.ZodObject<{
|
|
307
307
|
enabled: z.ZodBoolean;
|
|
308
308
|
staticAnalysis: z.ZodEnum<{
|
|
309
|
-
available: "available";
|
|
310
309
|
unavailable: "unavailable";
|
|
310
|
+
available: "available";
|
|
311
311
|
partial: "partial";
|
|
312
312
|
}>;
|
|
313
313
|
runtimeObservation: z.ZodLiteral<"dispatch-only">;
|
|
@@ -391,8 +391,8 @@ declare const componentDataFlowReportSchema: z.ZodObject<{
|
|
|
391
391
|
parameters: z.ZodArray<z.ZodObject<{
|
|
392
392
|
path: z.ZodString;
|
|
393
393
|
position: z.ZodEnum<{
|
|
394
|
-
path: "path";
|
|
395
394
|
unknown: "unknown";
|
|
395
|
+
path: "path";
|
|
396
396
|
query: "query";
|
|
397
397
|
body: "body";
|
|
398
398
|
header: "header";
|
|
@@ -478,11 +478,11 @@ declare const componentDataFlowReportSchema: z.ZodObject<{
|
|
|
478
478
|
visitedCallsites: z.ZodNumber;
|
|
479
479
|
frontierCount: z.ZodNumber;
|
|
480
480
|
truncatedBy: z.ZodOptional<z.ZodEnum<{
|
|
481
|
-
timeout: "timeout";
|
|
482
481
|
depth: "depth";
|
|
483
482
|
modules: "modules";
|
|
484
483
|
callsites: "callsites";
|
|
485
484
|
bytes: "bytes";
|
|
485
|
+
timeout: "timeout";
|
|
486
486
|
}>>;
|
|
487
487
|
}, z.core.$strict>;
|
|
488
488
|
}, z.core.$strict>;
|
|
@@ -498,8 +498,8 @@ declare const pageDataFlowReportSchema: z.ZodObject<{
|
|
|
498
498
|
capability: z.ZodObject<{
|
|
499
499
|
enabled: z.ZodBoolean;
|
|
500
500
|
staticAnalysis: z.ZodEnum<{
|
|
501
|
-
available: "available";
|
|
502
501
|
unavailable: "unavailable";
|
|
502
|
+
available: "available";
|
|
503
503
|
partial: "partial";
|
|
504
504
|
}>;
|
|
505
505
|
runtimeObservation: z.ZodLiteral<"dispatch-only">;
|
|
@@ -572,8 +572,8 @@ declare const pageDataFlowReportSchema: z.ZodObject<{
|
|
|
572
572
|
parameters: z.ZodArray<z.ZodObject<{
|
|
573
573
|
path: z.ZodString;
|
|
574
574
|
position: z.ZodEnum<{
|
|
575
|
-
path: "path";
|
|
576
575
|
unknown: "unknown";
|
|
576
|
+
path: "path";
|
|
577
577
|
query: "query";
|
|
578
578
|
body: "body";
|
|
579
579
|
header: "header";
|
|
@@ -659,11 +659,11 @@ declare const pageDataFlowReportSchema: z.ZodObject<{
|
|
|
659
659
|
visitedCallsites: z.ZodNumber;
|
|
660
660
|
frontierCount: z.ZodNumber;
|
|
661
661
|
truncatedBy: z.ZodOptional<z.ZodEnum<{
|
|
662
|
-
timeout: "timeout";
|
|
663
662
|
depth: "depth";
|
|
664
663
|
modules: "modules";
|
|
665
664
|
callsites: "callsites";
|
|
666
665
|
bytes: "bytes";
|
|
666
|
+
timeout: "timeout";
|
|
667
667
|
}>>;
|
|
668
668
|
}, z.core.$strict>;
|
|
669
669
|
}, z.core.$strict>;
|