@stigmer/runner 3.11.1-dev.20260812192248 → 3.12.1
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/.build-fingerprint +1 -1
- package/dist/activities/execute-cursor/attachment-resolver.d.ts +11 -0
- package/dist/activities/execute-cursor/attachment-resolver.js +8 -0
- package/dist/activities/execute-cursor/attachment-resolver.js.map +1 -1
- package/dist/activities/execute-cursor/blueprint-resolver.d.ts +1 -9
- package/dist/activities/execute-cursor/blueprint-resolver.js +0 -1
- package/dist/activities/execute-cursor/blueprint-resolver.js.map +1 -1
- package/dist/activities/execute-cursor/index.d.ts +6 -2
- package/dist/activities/execute-cursor/index.js +16 -32
- package/dist/activities/execute-cursor/index.js.map +1 -1
- package/dist/activities/execute-cursor/prompt-builder.d.ts +15 -11
- package/dist/activities/execute-cursor/prompt-builder.js +20 -10
- package/dist/activities/execute-cursor/prompt-builder.js.map +1 -1
- package/dist/activities/execute-deep-agent/attachment-injector.d.ts +34 -8
- package/dist/activities/execute-deep-agent/attachment-injector.js +111 -106
- package/dist/activities/execute-deep-agent/attachment-injector.js.map +1 -1
- package/dist/activities/execute-deep-agent/index.js +0 -15
- package/dist/activities/execute-deep-agent/index.js.map +1 -1
- package/dist/activities/execute-deep-agent/mcp-gate.d.ts +0 -2
- package/dist/activities/execute-deep-agent/mcp-gate.js +0 -1
- package/dist/activities/execute-deep-agent/mcp-gate.js.map +1 -1
- package/dist/activities/execute-deep-agent/prompt-builder.d.ts +7 -8
- package/dist/activities/execute-deep-agent/prompt-builder.js +25 -8
- package/dist/activities/execute-deep-agent/prompt-builder.js.map +1 -1
- package/dist/activities/execute-deep-agent/setup.d.ts +0 -10
- package/dist/activities/execute-deep-agent/setup.js +13 -45
- package/dist/activities/execute-deep-agent/setup.js.map +1 -1
- package/dist/config.d.ts +6 -5
- package/dist/config.js.map +1 -1
- package/dist/middleware/path-normalization.d.ts +15 -2
- package/dist/middleware/path-normalization.js +39 -5
- package/dist/middleware/path-normalization.js.map +1 -1
- package/dist/shared/artifact-storage.d.ts +11 -0
- package/dist/shared/artifact-storage.js +2 -0
- package/dist/shared/artifact-storage.js.map +1 -1
- package/dist/shared/attachment-download-urls.d.ts +62 -0
- package/dist/shared/attachment-download-urls.js +79 -0
- package/dist/shared/attachment-download-urls.js.map +1 -0
- package/dist/shared/channel-attachment.d.ts +1 -1
- package/dist/shared/channel-attachment.js +1 -1
- package/dist/shared/conversation-attachment.d.ts +2 -3
- package/dist/shared/conversation-attachment.js +2 -3
- package/dist/shared/conversation-attachment.js.map +1 -1
- package/dist/shared/mcp-enabled-tools.d.ts +6 -2
- package/dist/shared/mcp-enabled-tools.js +6 -2
- package/dist/shared/mcp-enabled-tools.js.map +1 -1
- package/dist/shared/mcp-transport-guard.d.ts +2 -2
- package/dist/shared/mcp-transport-guard.js +2 -2
- package/dist/shared/plan-mode-permissions.d.ts +46 -10
- package/dist/shared/plan-mode-permissions.js +56 -12
- package/dist/shared/plan-mode-permissions.js.map +1 -1
- package/dist/shared/synthesized-attachment.d.ts +4 -4
- package/dist/shared/synthesized-attachment.js +4 -4
- package/dist/shared/zip-extract.d.ts +24 -6
- package/dist/shared/zip-extract.js +31 -90
- package/dist/shared/zip-extract.js.map +1 -1
- package/dist/shared/zip-structure.d.ts +61 -0
- package/dist/shared/zip-structure.js +128 -0
- package/dist/shared/zip-structure.js.map +1 -0
- package/package.json +2 -2
- package/src/__test-utils__/fake-artifact-storage.ts +10 -1
- package/src/__test-utils__/zip-fixtures.ts +206 -0
- package/src/activities/execute-cursor/__tests__/attachment-resolver.test.ts +63 -3
- package/src/activities/execute-cursor/__tests__/build-prompt.test.ts +62 -29
- package/src/activities/execute-cursor/__tests__/skill-resolver.test.ts +3 -42
- package/src/activities/execute-cursor/attachment-resolver.ts +24 -0
- package/src/activities/execute-cursor/blueprint-resolver.ts +1 -10
- package/src/activities/execute-cursor/index.ts +22 -37
- package/src/activities/execute-cursor/prompt-builder.ts +38 -22
- package/src/activities/execute-deep-agent/__tests__/attachment-injector.test.ts +270 -126
- package/src/activities/execute-deep-agent/__tests__/hitl-reject.test.ts +0 -2
- package/src/activities/execute-deep-agent/__tests__/hitl-resume-approve-all.test.ts +0 -1
- package/src/activities/execute-deep-agent/__tests__/hitl-resume-history.test.ts +0 -1
- package/src/activities/execute-deep-agent/__tests__/mcp-gate.test.ts +2 -7
- package/src/activities/execute-deep-agent/__tests__/plan-mode-path-normalization.test.ts +246 -37
- package/src/activities/execute-deep-agent/__tests__/prompt-builder.test.ts +78 -2
- package/src/activities/execute-deep-agent/__tests__/sequential-gate-resume.test.ts +0 -1
- package/src/activities/execute-deep-agent/__tests__/subagent-plan-mode-permissions.test.ts +35 -4
- package/src/activities/execute-deep-agent/attachment-injector.ts +166 -143
- package/src/activities/execute-deep-agent/index.ts +0 -19
- package/src/activities/execute-deep-agent/mcp-gate.ts +0 -3
- package/src/activities/execute-deep-agent/prompt-builder.ts +38 -16
- package/src/activities/execute-deep-agent/setup.ts +13 -68
- package/src/config.ts +6 -5
- package/src/middleware/__tests__/path-normalization.test.ts +29 -3
- package/src/middleware/path-normalization.ts +42 -5
- package/src/shared/__tests__/artifact-storage.test.ts +9 -0
- package/src/shared/__tests__/attachment-download-urls.test.ts +70 -0
- package/src/shared/__tests__/channel-attachment.test.ts +2 -2
- package/src/shared/__tests__/plan-mode-permissions.test.ts +58 -0
- package/src/shared/__tests__/synthesized-attachment.test.ts +19 -41
- package/src/shared/__tests__/zip-extract.test.ts +106 -89
- package/src/shared/artifact-storage.ts +11 -0
- package/src/shared/attachment-download-urls.ts +98 -0
- package/src/shared/channel-attachment.ts +1 -1
- package/src/shared/conversation-attachment.ts +2 -3
- package/src/shared/mcp-enabled-tools.ts +6 -2
- package/src/shared/mcp-transport-guard.ts +2 -2
- package/src/shared/plan-mode-permissions.ts +59 -12
- package/src/shared/synthesized-attachment.ts +4 -4
- package/src/shared/zip-extract.ts +35 -117
- package/src/shared/zip-structure.ts +181 -0
- package/dist/shared/datastore-attachment.d.ts +0 -99
- package/dist/shared/datastore-attachment.js +0 -184
- package/dist/shared/datastore-attachment.js.map +0 -1
- package/src/activities/execute-deep-agent/__tests__/datastore-degradation.test.ts +0 -104
- package/src/shared/__tests__/datastore-attachment.test.ts +0 -293
- package/src/shared/datastore-attachment.ts +0 -209
|
@@ -15,12 +15,13 @@
|
|
|
15
15
|
* 7. Response rules (only when agent has no custom instructions)
|
|
16
16
|
* 8. User's actual message
|
|
17
17
|
*/
|
|
18
|
-
import type {
|
|
18
|
+
import type { SubAgent } from "@stigmer/protos/ai/stigmer/agentic/agent/v1/spec_pb";
|
|
19
19
|
import type { PendingApproval } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/approval_pb";
|
|
20
20
|
import { ApprovalAction, InteractionMode } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
|
|
21
21
|
import { type ChannelMessagingInfo } from "../../shared/channel-attachment.js";
|
|
22
22
|
import { type SenderIdentity } from "../../shared/sender-identity.js";
|
|
23
23
|
import { type NotViewableEntry } from "../../shared/attachment-vision.js";
|
|
24
|
+
import { type DownloadUrlKind } from "../../shared/attachment-download-urls.js";
|
|
24
25
|
export interface SkillMetadata {
|
|
25
26
|
name: string;
|
|
26
27
|
description: string;
|
|
@@ -46,20 +47,17 @@ export interface AttachmentPromptEntry {
|
|
|
46
47
|
path: string;
|
|
47
48
|
/** Original filename, present only when a duplicate name was renamed. */
|
|
48
49
|
renamedFrom?: string;
|
|
50
|
+
/**
|
|
51
|
+
* Download URL for the attachment's stored object, when one was minted
|
|
52
|
+
* (shared/attachment-download-urls.ts) — rendered beside the path so the
|
|
53
|
+
* agent can hand the file to tools that cannot read this filesystem.
|
|
54
|
+
*/
|
|
55
|
+
downloadUrl?: string;
|
|
49
56
|
}
|
|
50
57
|
export interface EnhancedPromptOptions {
|
|
51
58
|
instructions: string;
|
|
52
59
|
userMessage: string;
|
|
53
60
|
skills: SkillMetadata[];
|
|
54
|
-
/**
|
|
55
|
-
* Datastores attached via `datastore_usages` — rendered as the
|
|
56
|
-
* `<available_datastores>` section (DD-005 SD-5, skills precedent)
|
|
57
|
-
* pointing the model at the synthesized record tools. Always the healthy
|
|
58
|
-
* rendering here: the Cursor SDK connects MCP itself, so this harness can
|
|
59
|
-
* never observe the live roster — the section's standing
|
|
60
|
-
* failure-disclosure instruction is its whole coverage (issue #325).
|
|
61
|
-
*/
|
|
62
|
-
datastoreUsages?: DatastoreUsage[];
|
|
63
61
|
/**
|
|
64
62
|
* Serving proactive channels + their approved templates — rendered as
|
|
65
63
|
* the `<available_channel_templates>` section (proactive-messaging
|
|
@@ -72,6 +70,12 @@ export interface EnhancedPromptOptions {
|
|
|
72
70
|
attachments: AttachmentPromptEntry[];
|
|
73
71
|
/** Inline/degraded image facts for the input-files section (T04 vision). */
|
|
74
72
|
vision?: VisionPromptInfo;
|
|
73
|
+
/**
|
|
74
|
+
* What kind of URL the turn's storage backend mints — keys the input-files
|
|
75
|
+
* section's hand-off wording (attachment-download-urls.ts). One turn-level
|
|
76
|
+
* fact: all attachments ride the one configured storage.
|
|
77
|
+
*/
|
|
78
|
+
downloadUrlKind?: DownloadUrlKind;
|
|
75
79
|
interactionMode?: InteractionMode;
|
|
76
80
|
/**
|
|
77
81
|
* The execution is a Build-from-plan turn (spec.execution_config
|
|
@@ -197,7 +201,7 @@ export declare function formatSubAgentsSection(subAgents: SubAgent[]): string;
|
|
|
197
201
|
*/
|
|
198
202
|
export declare function formatExplorationGuidance(): string;
|
|
199
203
|
export declare function formatWorkspaceContext(dirs: string[]): string;
|
|
200
|
-
export declare function formatInputFiles(attachments: readonly AttachmentPromptEntry[], vision?: VisionPromptInfo): string;
|
|
204
|
+
export declare function formatInputFiles(attachments: readonly AttachmentPromptEntry[], vision?: VisionPromptInfo, downloadUrlKind?: DownloadUrlKind): string;
|
|
201
205
|
export declare function formatReferencedFiles(refs: string[]): string;
|
|
202
206
|
/**
|
|
203
207
|
* Returns a system-level directive when the execution is in Plan mode.
|
|
@@ -19,11 +19,11 @@ import { resolve } from "node:path";
|
|
|
19
19
|
import { ApprovalAction, InteractionMode } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
|
|
20
20
|
import { formatContextBridgeText } from "../../shared/context-bridge.js";
|
|
21
21
|
import { formatConversationCatchupText } from "../../shared/conversation-catchup.js";
|
|
22
|
-
import { formatDatastoresSection } from "../../shared/datastore-attachment.js";
|
|
23
22
|
import { formatChannelTemplatesSection, } from "../../shared/channel-attachment.js";
|
|
24
23
|
import { formatSenderIdentityText, } from "../../shared/sender-identity.js";
|
|
25
24
|
import { formatSessionContextText } from "../../shared/session-context.js";
|
|
26
25
|
import { visionDisclosureLines, } from "../../shared/attachment-vision.js";
|
|
26
|
+
import { downloadUrlDisclosureLine, } from "../../shared/attachment-download-urls.js";
|
|
27
27
|
import { formatTurnRecoveryText } from "./turn-recovery.js";
|
|
28
28
|
import { PLAN_MODE_DIRECTIVE } from "../../shared/plan-mode-prompt.js";
|
|
29
29
|
import { buildImplementPlanDirective, findApprovedPlanPath, } from "../../shared/implement-plan-prompt.js";
|
|
@@ -60,9 +60,6 @@ export function buildEnhancedPrompt(options) {
|
|
|
60
60
|
if (options.skills.length > 0) {
|
|
61
61
|
sections.push(formatSkillsSection(options.skills));
|
|
62
62
|
}
|
|
63
|
-
if (options.datastoreUsages !== undefined && options.datastoreUsages.length > 0) {
|
|
64
|
-
sections.push(formatDatastoresSection(options.datastoreUsages));
|
|
65
|
-
}
|
|
66
63
|
if (options.channelMessaging !== undefined && options.channelMessaging.length > 0) {
|
|
67
64
|
// "" when nothing is sendable — the tool alone still serves text
|
|
68
65
|
// sends inside a 24-hour window (DD-006 D6).
|
|
@@ -85,7 +82,7 @@ export function buildEnhancedPrompt(options) {
|
|
|
85
82
|
sections.push(formatWorkspaceContext(safeDirs));
|
|
86
83
|
}
|
|
87
84
|
if (options.attachments.length > 0) {
|
|
88
|
-
sections.push(formatInputFiles(options.attachments, options.vision));
|
|
85
|
+
sections.push(formatInputFiles(options.attachments, options.vision, options.downloadUrlKind));
|
|
89
86
|
}
|
|
90
87
|
if (options.workspaceFileRefs.length > 0) {
|
|
91
88
|
sections.push(formatReferencedFiles(options.workspaceFileRefs));
|
|
@@ -356,13 +353,25 @@ export function formatWorkspaceContext(dirs) {
|
|
|
356
353
|
"</workspace>",
|
|
357
354
|
].join("\n");
|
|
358
355
|
}
|
|
359
|
-
export function formatInputFiles(attachments, vision) {
|
|
356
|
+
export function formatInputFiles(attachments, vision, downloadUrlKind) {
|
|
360
357
|
// A duplicate-renamed file (attachment-naming.ts) discloses its original
|
|
361
358
|
// name so the agent can connect "the two report.pdfs" in the user's
|
|
362
|
-
// message to distinct files on disk.
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
359
|
+
// message to distinct files on disk. A file with a minted download URL
|
|
360
|
+
// (attachment-download-urls.ts) lists it beside the path for the remote
|
|
361
|
+
// hand-off story.
|
|
362
|
+
const entries = attachments.map((a) => {
|
|
363
|
+
const rename = a.renamedFrom !== undefined
|
|
364
|
+
? ` (renamed from duplicate '${a.renamedFrom}')`
|
|
365
|
+
: "";
|
|
366
|
+
const url = a.downloadUrl !== undefined ? ` — download URL: ${a.downloadUrl}` : "";
|
|
367
|
+
return `- \`${a.path}\`${rename}${url}`;
|
|
368
|
+
});
|
|
369
|
+
// The URL hand-off line (shared wording, attachment-download-urls.ts)
|
|
370
|
+
// renders only when some listed file actually carries a URL — its wording
|
|
371
|
+
// keys on what kind of URL the storage backend mints.
|
|
372
|
+
const urlDisclosure = downloadUrlKind !== undefined && attachments.some((a) => a.downloadUrl !== undefined)
|
|
373
|
+
? [downloadUrlDisclosureLine(downloadUrlKind)]
|
|
374
|
+
: [];
|
|
366
375
|
// The vision lines (shared wording, attachment-vision.ts) tell the model
|
|
367
376
|
// which of these files it can already SEE inline versus which degraded to
|
|
368
377
|
// path-only — without them an agent silently ignores a photo the user
|
|
@@ -374,6 +383,7 @@ export function formatInputFiles(attachments, vision) {
|
|
|
374
383
|
"<input_files>",
|
|
375
384
|
"The following files have been provided as inputs. Read them when relevant to the task:",
|
|
376
385
|
...entries,
|
|
386
|
+
...urlDisclosure,
|
|
377
387
|
...disclosure,
|
|
378
388
|
"</input_files>",
|
|
379
389
|
].join("\n");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/prompt-builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/prompt-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,8DAA8D,CAAC;AAC/G,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,EACL,6BAA6B,GAE9B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,wBAAwB,GAEzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EACL,qBAAqB,GAEtB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,yBAAyB,GAE1B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,GACrB,MAAM,uCAAuC,CAAC;AAE/C;;;;GAIG;AACH,MAAM,mBAAmB,GAAG;IAC1B,0BAA0B;IAC1B,yBAAyB;IACzB,gBAAgB;IAChB,eAAe;CACP,CAAC;AAuGX;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAA8B;IAChE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,MAAM,UAAU,GAAG,2BAA2B,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACxE,IAAI,UAAU,EAAE,CAAC;QACf,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,aAAa,GAAG,0BAA0B,CAC9C,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,WAAW,CACpB,CAAC;IACF,IAAI,aAAa,EAAE,CAAC;QAClB,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClF,iEAAiE;QACjE,6CAA6C;QAC7C,MAAM,cAAc,GAAG,6BAA6B,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC/E,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9D,6EAA6E;IAC7E,wEAAwE;IACxE,qDAAqD;IACrD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;IAChG,CAAC;IAED,IAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,wEAAwE;IACxE,yEAAyE;IACzE,WAAW;IACX,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,kEAAkE;IAClE,oEAAoE;IACpE,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,0EAA0E;IAC1E,qEAAqE;IACrE,yEAAyE;IACzE,0EAA0E;IAC1E,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,wEAAwE;IACxE,0EAA0E;IAC1E,yEAAyE;IACzE,QAAQ;IACR,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC,gCAAgC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,6EAA6E;IAC7E,4EAA4E;IAC5E,yEAAyE;IACzE,QAAQ,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC;IAE5C,QAAQ,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,WAAW,mBAAmB,CAAC,CAAC;IAEzE,OAAO,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,uBAAuB,CACrC,gBAAmC,EACnC,iBAA8C,EAC9C,qBAA0C,IAAI,GAAG,EAAE;IAEnD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,EAAE,IAAI,gBAAgB,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,UAAU,GACd,MAAM,KAAK,cAAc,CAAC,OAAO,IAAI,MAAM,KAAK,cAAc,CAAC,WAAW,CAAC;QAC7E,IAAI,UAAU,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;YACxD,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,UAAU,EAAE,CAAC;YACtB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;QACtC,CAAC;aAAM,IAAI,MAAM,KAAK,cAAc,CAAC,IAAI,EAAE,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CACR,2EAA2E;YACzE,0EAA0E;YAC1E,yEAAyE;YACzE,SAAS;YACT,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACjD,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CACR,4EAA4E;YAC1E,uBAAuB;YACvB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC3C,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CACR,0EAA0E;YACxE,2CAA2C;YAC3C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC1C,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,6EAA6E;IAC7E,8EAA8E;IAC9E,uEAAuE;IACvE,KAAK,CAAC,IAAI,CACR,4EAA4E;QAC1E,yEAAyE;QACzE,uEAAuE,CAC1E,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAA8B,EAC9B,QAKC;IAED,OAAO;QACL,mBAAmB,CAAC,OAAO,CAAC;QAC5B,yBAAyB,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC9C,uBAAuB,CACrB,QAAQ,CAAC,gBAAgB,EACzB,QAAQ,CAAC,iBAAiB,EAC1B,QAAQ,CAAC,kBAAkB,CAC5B;KACF,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAA0B;IAClE,OAAO,oBAAoB,sBAAsB,CAAC,MAAM,CAAC,oBAAoB,CAAC;AAChF,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,EAAmB;IAC3C,IAAI,EAAE,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC,OAAO,CAAC;IAClC,MAAM,IAAI,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,aAAa,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC;IACnF,IAAI,CAAC,EAAE,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IACjC,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,GAAG,GAAG;QACzC,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG;QACpC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC;IACnB,OAAO,GAAG,IAAI,KAAK,OAAO,GAAG,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAc;IAClD,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CACV,kBAAkB,GAAG,2CAA2C;gBAChE,gEAAgE,CACjE,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,YAAoB;IAChD,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,YAAoB;IACrD,OAAO,yBAAyB,YAAY,yBAAyB,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAAc;IACvD,OAAO,oCAAoC,uBAAuB,CAAC,MAAM,CAAC,oCAAoC,CAAC;AACjH,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,QAAwB;IAClE,OAAO,0BAA0B,wBAAwB,CAAC,QAAQ,CAAC,0BAA0B,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAAe;IACzD,OAAO,sBAAsB,wBAAwB,CAAC,OAAO,CAAC,sBAAsB,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,MAAc;IAC7D,OAAO,2BAA2B,6BAA6B,CAAC,MAAM,CAAC,2BAA2B,CAAC;AACrG,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAuB;IACzD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CACxB,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,WAAW,eAAe,CAAC,CAAC,IAAI,IAAI,CAClE,CAAC;IACF,OAAO;QACL,oBAAoB;QACpB,mJAAmJ;QACnJ,EAAE;QACF,GAAG,OAAO;QACV,qBAAqB;KACtB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,SAAqB;IAC1D,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACtD,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,cAAc,GAAG,IAAI,CAAC;YACtB,MAAM,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChE,KAAK,CAAC,IAAI,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG;QACZ,wBAAwB;QACxB,4EAA4E;QAC5E,2EAA2E;QAC3E,qDAAqD;QACrD,EAAE;QACF,uBAAuB;QACvB,EAAE;QACF,GAAG,OAAO;QACV,EAAE;QACF,mBAAmB;QACnB,qEAAqE;QACrE,sGAAsG;QACtG,oEAAoE;KACrE,CAAC;IAEF,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CACR,8EAA8E;YAC5E,yFAAyF,CAC5F,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACtC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB;IACvC,OAAO;QACL,wBAAwB;QACxB,0EAA0E;QAC1E,wEAAwE;QACxE,uEAAuE;QACvE,2EAA2E;QAC3E,qBAAqB;QACrB,EAAE;QACF,4EAA4E;QAC5E,4EAA4E;QAC5E,uDAAuD;QACvD,yBAAyB;KAC1B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAc;IACnD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,mCAAmC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC;IACpE,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrD,OAAO;QACL,aAAa;QACb,sDAAsD;QACtD,GAAG,OAAO;QACV,cAAc;KACf,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,WAA6C,EAC7C,MAAyB,EACzB,eAAiC;IAEjC,yEAAyE;IACzE,oEAAoE;IACpE,uEAAuE;IACvE,wEAAwE;IACxE,kBAAkB;IAClB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACpC,MAAM,MAAM,GACV,CAAC,CAAC,WAAW,KAAK,SAAS;YACzB,CAAC,CAAC,6BAA6B,CAAC,CAAC,WAAW,IAAI;YAChD,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,GAAG,GAAG,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,OAAO,OAAO,CAAC,CAAC,IAAI,KAAK,MAAM,GAAG,GAAG,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IACH,sEAAsE;IACtE,0EAA0E;IAC1E,sDAAsD;IACtD,MAAM,aAAa,GACjB,eAAe,KAAK,SAAS,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC;QACnF,CAAC,CAAC,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC;QAC9C,CAAC,CAAC,EAAE,CAAC;IACT,yEAAyE;IACzE,0EAA0E;IAC1E,sEAAsE;IACtE,uBAAuB;IACvB,MAAM,UAAU,GAAG,MAAM;QACvB,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC;QACnE,CAAC,CAAC,EAAE,CAAC;IACP,OAAO;QACL,eAAe;QACf,wFAAwF;QACxF,GAAG,OAAO;QACV,GAAG,aAAa;QAChB,GAAG,UAAU;QACb,gBAAgB;KACjB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAc;IAClD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,OAAO;QACL,oBAAoB;QACpB,iFAAiF;QACjF,GAAG,OAAO;QACV,qBAAqB;KACtB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B,CACzC,IAAiC;IAEjC,IAAI,IAAI,KAAK,eAAe,CAAC,IAAI,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,IAAI,CAC5E,IAAI,CACL,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,0BAA0B,CACxC,aAAkC,EAClC,WAA6C;IAE7C,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,2BAA2B,CAC3C,oBAAoB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CACrD,CAAC;IACF,OAAO,CAAC,kBAAkB,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,kBAAkB;QAClB,2CAA2C;QAC3C,8DAA8D;QAC9D,iEAAiE;QACjE,wDAAwD;QACxD,mBAAmB;KACpB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,4BAA4B,GAChC,0FAA0F,CAAC;AAE7F;;;;;;;;;;;;;GAaG;AACH,MAAM,4BAA4B,GAAsB;IACtD,6KAA6K;IAC7K,wMAAwM;IACxM,+NAA+N;IAC/N,sYAAsY;IACtY,+GAA+G;CAChH,CAAC;AAEF,MAAM,UAAU,0BAA0B;IACxC,OAAO;QACL,0BAA0B;QAC1B,4BAA4B;QAC5B,uCAAuC;QACvC,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QAC1D,2BAA2B;KAC5B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,yBAAyB;IACvC,OAAO;QACL,KAAK;QACL,2IAA2I;QAC3I,mBAAmB;QACnB,KAAK;QACL,EAAE;QACF,0BAA0B;QAC1B,EAAE;QACF,4BAA4B;QAC5B,EAAE;QACF,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QAC1D,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -5,13 +5,23 @@
|
|
|
5
5
|
* validates ZIP archives with security guards, and writes files into the
|
|
6
6
|
* workspace via the platform mount namespace (.stigmer/inputs/).
|
|
7
7
|
*
|
|
8
|
-
* Security model: attachments are untrusted user uploads.
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* Security model: attachments are untrusted user uploads. ZIP archives are
|
|
9
|
+
* parsed from the central directory — the format's authoritative index —
|
|
10
|
+
* via the shared structural layer (shared/zip-structure.ts; issue #567,
|
|
11
|
+
* which killed this module's local-header walk: it silently truncated
|
|
12
|
+
* stored streaming entries and rejected Go-default archives outright).
|
|
13
|
+
* Every entry is validated for path traversal, zip bombs, and format
|
|
14
|
+
* integrity BEFORE any extraction occurs, and because the central
|
|
15
|
+
* directory's sizes are declarations an attacker controls, decompression
|
|
16
|
+
* re-enforces them: an entry whose actual output disagrees with its
|
|
17
|
+
* declared size aborts the injection.
|
|
11
18
|
*
|
|
12
19
|
* Error model: fail-hard. Any attachment failure aborts the entire injection
|
|
13
20
|
* and propagates a descriptive error. Attachments are explicit user inputs —
|
|
14
|
-
* running with partial inputs produces silently incorrect results.
|
|
21
|
+
* running with partial inputs produces silently incorrect results. This is
|
|
22
|
+
* deliberately the OPPOSITE policy from the skill-artifact reader
|
|
23
|
+
* (shared/zip-extract.ts, non-fatal empty return): skill artifacts were
|
|
24
|
+
* structurally vouched for by the push gates, attachments never are.
|
|
15
25
|
*
|
|
16
26
|
* Duplicate names are NOT a failure (issue #364): a default-derived mount
|
|
17
27
|
* path that collides is renamed with the platform's `stem-2.ext` semantics
|
|
@@ -48,6 +58,17 @@ export interface InjectedFile {
|
|
|
48
58
|
* Attachments that were never image-shaped carry neither field.
|
|
49
59
|
*/
|
|
50
60
|
readonly visionDegraded?: VisionDegradedReason;
|
|
61
|
+
/**
|
|
62
|
+
* A download URL for the attachment's stored object, listed in the system
|
|
63
|
+
* prompt's Input Files section so the agent can hand the file to a tool
|
|
64
|
+
* whose backend cannot read the sandbox filesystem (issue #532). Minted
|
|
65
|
+
* whenever the attachment has a `storageKey` and a usable storage; never
|
|
66
|
+
* present on extracted ZIP entries (no attachment-level object). Absent
|
|
67
|
+
* when there is nothing to mint or the mint failed (non-fatal — policy,
|
|
68
|
+
* degrade log, and prompt wording live in
|
|
69
|
+
* shared/attachment-download-urls.ts).
|
|
70
|
+
*/
|
|
71
|
+
readonly downloadUrl?: string;
|
|
51
72
|
}
|
|
52
73
|
export interface InjectAttachmentsOptions {
|
|
53
74
|
readonly backend: WorkspaceBackend;
|
|
@@ -88,13 +109,18 @@ export declare class AttachmentValidationError extends Error {
|
|
|
88
109
|
* file entries (directories excluded) if the archive passes all checks.
|
|
89
110
|
*
|
|
90
111
|
* Security checks enforced:
|
|
91
|
-
* 1. Valid ZIP format (
|
|
112
|
+
* 1. Valid ZIP format (readable central directory; fail-hard, see module doc)
|
|
92
113
|
* 2. No absolute paths (entries starting with / or \)
|
|
93
114
|
* 3. No path traversal (.. components)
|
|
94
115
|
* 4. No null bytes in filenames
|
|
95
|
-
* 5.
|
|
96
|
-
* 6.
|
|
97
|
-
*
|
|
116
|
+
* 5. No duplicate entry paths (a contradictory manifest)
|
|
117
|
+
* 6. Only supported compression methods (stored, deflate) — checked here
|
|
118
|
+
* so an unsupported entry can never abort extraction after earlier
|
|
119
|
+
* entries were already written
|
|
120
|
+
* 7. Non-empty archive (at least one file entry)
|
|
121
|
+
* 8. File count within limits (max 1000)
|
|
122
|
+
* 9. Total declared uncompressed size within limits (max 100 MB) —
|
|
123
|
+
* declarations are re-enforced against actual output at decompression
|
|
98
124
|
*/
|
|
99
125
|
export declare function validateZipForExtraction(zipData: Buffer, sourceFilename: string): ZipEntryInfo[];
|
|
100
126
|
/**
|
|
@@ -5,13 +5,23 @@
|
|
|
5
5
|
* validates ZIP archives with security guards, and writes files into the
|
|
6
6
|
* workspace via the platform mount namespace (.stigmer/inputs/).
|
|
7
7
|
*
|
|
8
|
-
* Security model: attachments are untrusted user uploads.
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* Security model: attachments are untrusted user uploads. ZIP archives are
|
|
9
|
+
* parsed from the central directory — the format's authoritative index —
|
|
10
|
+
* via the shared structural layer (shared/zip-structure.ts; issue #567,
|
|
11
|
+
* which killed this module's local-header walk: it silently truncated
|
|
12
|
+
* stored streaming entries and rejected Go-default archives outright).
|
|
13
|
+
* Every entry is validated for path traversal, zip bombs, and format
|
|
14
|
+
* integrity BEFORE any extraction occurs, and because the central
|
|
15
|
+
* directory's sizes are declarations an attacker controls, decompression
|
|
16
|
+
* re-enforces them: an entry whose actual output disagrees with its
|
|
17
|
+
* declared size aborts the injection.
|
|
11
18
|
*
|
|
12
19
|
* Error model: fail-hard. Any attachment failure aborts the entire injection
|
|
13
20
|
* and propagates a descriptive error. Attachments are explicit user inputs —
|
|
14
|
-
* running with partial inputs produces silently incorrect results.
|
|
21
|
+
* running with partial inputs produces silently incorrect results. This is
|
|
22
|
+
* deliberately the OPPOSITE policy from the skill-artifact reader
|
|
23
|
+
* (shared/zip-extract.ts, non-fatal empty return): skill artifacts were
|
|
24
|
+
* structurally vouched for by the push gates, attachments never are.
|
|
15
25
|
*
|
|
16
26
|
* Duplicate names are NOT a failure (issue #364): a default-derived mount
|
|
17
27
|
* path that collides is renamed with the platform's `stem-2.ext` semantics
|
|
@@ -23,12 +33,13 @@
|
|
|
23
33
|
import { readFile } from "node:fs/promises";
|
|
24
34
|
import { createInflateRaw } from "node:zlib";
|
|
25
35
|
import { posix } from "node:path";
|
|
36
|
+
import { mintAttachmentDownloadUrl } from "../../shared/attachment-download-urls.js";
|
|
26
37
|
import { allocateUniqueName } from "../../shared/attachment-naming.js";
|
|
38
|
+
import { EOCD_MIN_SIZE, parseZipStructure, } from "../../shared/zip-structure.js";
|
|
27
39
|
// ── Constants ────────────────────────────────────────────────────────
|
|
28
40
|
const MAX_ZIP_FILES = 1000;
|
|
29
41
|
const MAX_ZIP_EXTRACTED_SIZE = 100 * 1024 * 1024; // 100 MB
|
|
30
42
|
const DEFAULT_INPUTS_PREFIX = ".stigmer/inputs";
|
|
31
|
-
const ZIP_LOCAL_FILE_HEADER_SIGNATURE = 0x04034b50;
|
|
32
43
|
export { MAX_ZIP_FILES, MAX_ZIP_EXTRACTED_SIZE };
|
|
33
44
|
// ── Errors ───────────────────────────────────────────────────────────
|
|
34
45
|
export class AttachmentInjectionError extends Error {
|
|
@@ -51,80 +62,68 @@ export class AttachmentValidationError extends Error {
|
|
|
51
62
|
this.reason = reason;
|
|
52
63
|
}
|
|
53
64
|
}
|
|
54
|
-
// ── ZIP Validation (pure
|
|
65
|
+
// ── ZIP Validation (pure functions) ──────────────────────────────────
|
|
55
66
|
/**
|
|
56
67
|
* Validate a ZIP archive for safe extraction. Returns the manifest of
|
|
57
68
|
* file entries (directories excluded) if the archive passes all checks.
|
|
58
69
|
*
|
|
59
70
|
* Security checks enforced:
|
|
60
|
-
* 1. Valid ZIP format (
|
|
71
|
+
* 1. Valid ZIP format (readable central directory; fail-hard, see module doc)
|
|
61
72
|
* 2. No absolute paths (entries starting with / or \)
|
|
62
73
|
* 3. No path traversal (.. components)
|
|
63
74
|
* 4. No null bytes in filenames
|
|
64
|
-
* 5.
|
|
65
|
-
* 6.
|
|
66
|
-
*
|
|
75
|
+
* 5. No duplicate entry paths (a contradictory manifest)
|
|
76
|
+
* 6. Only supported compression methods (stored, deflate) — checked here
|
|
77
|
+
* so an unsupported entry can never abort extraction after earlier
|
|
78
|
+
* entries were already written
|
|
79
|
+
* 7. Non-empty archive (at least one file entry)
|
|
80
|
+
* 8. File count within limits (max 1000)
|
|
81
|
+
* 9. Total declared uncompressed size within limits (max 100 MB) —
|
|
82
|
+
* declarations are re-enforced against actual output at decompression
|
|
67
83
|
*/
|
|
68
84
|
export function validateZipForExtraction(zipData, sourceFilename) {
|
|
69
|
-
|
|
85
|
+
return parseAndValidateZip(zipData, sourceFilename).map(({ relativePath, uncompressedSize }) => ({ relativePath, uncompressedSize }));
|
|
86
|
+
}
|
|
87
|
+
function parseAndValidateZip(zipData, sourceFilename) {
|
|
88
|
+
if (zipData.length < EOCD_MIN_SIZE) {
|
|
70
89
|
throw new AttachmentValidationError(sourceFilename, "not a valid ZIP archive (file too small)");
|
|
71
90
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
91
|
+
let structural;
|
|
92
|
+
try {
|
|
93
|
+
structural = parseZipStructure(zipData);
|
|
94
|
+
}
|
|
95
|
+
catch (err) {
|
|
96
|
+
throw new AttachmentValidationError(sourceFilename, `not a valid ZIP archive (${err instanceof Error ? err.message : String(err)})`);
|
|
76
97
|
}
|
|
77
98
|
const entries = [];
|
|
99
|
+
const seenPaths = new Set();
|
|
78
100
|
let totalUncompressed = 0;
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
if (signature !== ZIP_LOCAL_FILE_HEADER_SIGNATURE)
|
|
83
|
-
break;
|
|
84
|
-
if (offset + 30 > zipData.length) {
|
|
85
|
-
throw new AttachmentValidationError(sourceFilename, "not a valid ZIP archive (truncated local file header)");
|
|
101
|
+
for (const entry of structural) {
|
|
102
|
+
if (entry.name.includes("\u0000")) {
|
|
103
|
+
throw new AttachmentValidationError(sourceFilename, "contains a filename with null bytes and cannot be safely extracted");
|
|
86
104
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
const extraFieldLength = view.getUint16(offset + 28, true);
|
|
92
|
-
const fileNameStart = offset + 30;
|
|
93
|
-
const fileNameEnd = fileNameStart + fileNameLength;
|
|
94
|
-
if (fileNameEnd > zipData.length) {
|
|
95
|
-
throw new AttachmentValidationError(sourceFilename, "not a valid ZIP archive (truncated filename)");
|
|
105
|
+
if (entry.isDirectory)
|
|
106
|
+
continue;
|
|
107
|
+
if (entry.name.startsWith("/") || entry.name.startsWith("\\")) {
|
|
108
|
+
throw new AttachmentValidationError(sourceFilename, `contains an absolute path entry and cannot be safely extracted: ${entry.name}`);
|
|
96
109
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
if (fileNameBytes[i] === 0x00) {
|
|
100
|
-
throw new AttachmentValidationError(sourceFilename, "contains a filename with null bytes and cannot be safely extracted");
|
|
101
|
-
}
|
|
110
|
+
if (hasPathTraversal(entry.name)) {
|
|
111
|
+
throw new AttachmentValidationError(sourceFilename, `contains a path traversal entry and cannot be safely extracted: ${entry.name}`);
|
|
102
112
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
if (!isDirectory) {
|
|
106
|
-
if (fileName.startsWith("/") || fileName.startsWith("\\")) {
|
|
107
|
-
throw new AttachmentValidationError(sourceFilename, `contains an absolute path entry and cannot be safely extracted: ${fileName}`);
|
|
108
|
-
}
|
|
109
|
-
if (hasPathTraversal(fileName)) {
|
|
110
|
-
throw new AttachmentValidationError(sourceFilename, `contains a path traversal entry and cannot be safely extracted: ${fileName}`);
|
|
111
|
-
}
|
|
112
|
-
entries.push({ relativePath: fileName, uncompressedSize });
|
|
113
|
-
totalUncompressed += uncompressedSize;
|
|
113
|
+
if (seenPaths.has(entry.name)) {
|
|
114
|
+
throw new AttachmentValidationError(sourceFilename, `contains duplicate entry '${entry.name}' and cannot be safely extracted`);
|
|
114
115
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
let dataSize = compressedSize;
|
|
119
|
-
if ((generalFlags & 0x08) !== 0 && compressedSize === 0) {
|
|
120
|
-
// Data descriptor follows compressed data — scan for next header
|
|
121
|
-
// This is a simplified approach; for untrusted inputs we require
|
|
122
|
-
// sizes in the local header. Reject archives that use streaming.
|
|
123
|
-
if (!isDirectory && compressionMethod !== 0) {
|
|
124
|
-
throw new AttachmentValidationError(sourceFilename, "uses streaming (data descriptors without sizes) which is not supported for security validation");
|
|
125
|
-
}
|
|
116
|
+
seenPaths.add(entry.name);
|
|
117
|
+
if (entry.compressionMethod !== 0 && entry.compressionMethod !== 8) {
|
|
118
|
+
throw new AttachmentValidationError(sourceFilename, `entry '${entry.name}' uses unsupported compression method ${entry.compressionMethod}`);
|
|
126
119
|
}
|
|
127
|
-
|
|
120
|
+
entries.push({
|
|
121
|
+
relativePath: entry.name,
|
|
122
|
+
uncompressedSize: entry.uncompressedSize,
|
|
123
|
+
compressionMethod: entry.compressionMethod,
|
|
124
|
+
compressedData: entry.compressedData,
|
|
125
|
+
});
|
|
126
|
+
totalUncompressed += entry.uncompressedSize;
|
|
128
127
|
}
|
|
129
128
|
if (entries.length === 0) {
|
|
130
129
|
throw new AttachmentValidationError(sourceFilename, "is an empty ZIP archive (no file entries)");
|
|
@@ -160,11 +159,14 @@ export async function injectAttachments(opts) {
|
|
|
160
159
|
const content = await downloadAttachment(attachment, storage, isLocalMode);
|
|
161
160
|
const { path: mountPath, renamedFrom } = mountPaths.get(attachment);
|
|
162
161
|
if (attachment.extract) {
|
|
163
|
-
const entries =
|
|
164
|
-
const extracted = await extractZipToWorkspace(
|
|
162
|
+
const entries = parseAndValidateZip(content, attachment.filename);
|
|
163
|
+
const extracted = await extractZipToWorkspace(entries, mountPath, backend, attachment.filename);
|
|
165
164
|
// A renamed mount DIR is visible through every extracted path; the
|
|
166
165
|
// entries themselves were not renamed, so they carry no renamedFrom
|
|
167
|
-
// (per-file disclosure would misattribute the rename).
|
|
166
|
+
// (per-file disclosure would misattribute the rename). Extracted
|
|
167
|
+
// entries also carry no downloadUrl: the stored object is the ZIP, not
|
|
168
|
+
// any listed file, and a URL to bytes that differ from the listing
|
|
169
|
+
// would be a false promise.
|
|
168
170
|
injectedFiles.push(...extracted);
|
|
169
171
|
}
|
|
170
172
|
else {
|
|
@@ -178,6 +180,7 @@ export async function injectAttachments(opts) {
|
|
|
178
180
|
// the vision budget before they go out of scope (the sniff decides
|
|
179
181
|
// eligibility; the budget owns every size/count rule).
|
|
180
182
|
const vision = visionBudget?.offer(filename, attachment.contentType, content);
|
|
183
|
+
const downloadUrl = await mintAttachmentDownloadUrl(storage, attachment.storageKey, filename);
|
|
181
184
|
injectedFiles.push({
|
|
182
185
|
filename,
|
|
183
186
|
path: mountPath,
|
|
@@ -185,6 +188,7 @@ export async function injectAttachments(opts) {
|
|
|
185
188
|
...(renamedFrom !== undefined ? { renamedFrom } : {}),
|
|
186
189
|
...(vision?.kind === "accepted" ? { vision: vision.image } : {}),
|
|
187
190
|
...(vision?.kind === "degraded" ? { visionDegraded: vision.reason } : {}),
|
|
191
|
+
...(downloadUrl !== undefined ? { downloadUrl } : {}),
|
|
188
192
|
});
|
|
189
193
|
}
|
|
190
194
|
}
|
|
@@ -306,15 +310,11 @@ async function downloadAttachment(attachment, storage, isLocalMode) {
|
|
|
306
310
|
throw new AttachmentInjectionError(attachment.filename, `failed to download from storage (key: ${attachment.storageKey}): ${err instanceof Error ? err.message : String(err)}`);
|
|
307
311
|
}
|
|
308
312
|
}
|
|
309
|
-
async function extractZipToWorkspace(
|
|
313
|
+
async function extractZipToWorkspace(entries, mountDir, backend, sourceFilename) {
|
|
310
314
|
const cleanMountDir = mountDir.replace(/\/+$/, "");
|
|
311
315
|
const injected = [];
|
|
312
|
-
const parsedEntries = parseZipFileData(zipData);
|
|
313
316
|
for (const entry of entries) {
|
|
314
|
-
const
|
|
315
|
-
if (!fileData)
|
|
316
|
-
continue;
|
|
317
|
-
const content = await decompressEntry(fileData);
|
|
317
|
+
const content = await decompressEntry(entry, sourceFilename);
|
|
318
318
|
const targetPath = `${cleanMountDir}/${entry.relativePath}`;
|
|
319
319
|
await backend.writeFileBuffer(targetPath, content);
|
|
320
320
|
injected.push({
|
|
@@ -325,47 +325,52 @@ async function extractZipToWorkspace(zipData, entries, mountDir, backend) {
|
|
|
325
325
|
}
|
|
326
326
|
return injected;
|
|
327
327
|
}
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
const fileName = new TextDecoder().decode(zipData.subarray(fileNameStart, fileNameStart + fileNameLength));
|
|
342
|
-
const dataStart = fileNameStart + fileNameLength + extraFieldLength;
|
|
343
|
-
const compressedData = zipData.subarray(dataStart, dataStart + compressedSize);
|
|
344
|
-
if (!fileName.endsWith("/")) {
|
|
345
|
-
result.set(fileName, {
|
|
346
|
-
compressedData: Buffer.from(compressedData),
|
|
347
|
-
compressionMethod,
|
|
348
|
-
});
|
|
349
|
-
}
|
|
350
|
-
offset = dataStart + compressedSize;
|
|
351
|
-
}
|
|
352
|
-
return result;
|
|
353
|
-
}
|
|
354
|
-
async function decompressEntry(entry) {
|
|
328
|
+
/**
|
|
329
|
+
* Decompress a validated entry, enforcing its declared uncompressed size.
|
|
330
|
+
*
|
|
331
|
+
* The size cap in parseAndValidateZip budgets *declared* sizes, which the
|
|
332
|
+
* archive author controls — a crafted archive can declare 1 KB and inflate
|
|
333
|
+
* to gigabytes. Enforcement is therefore two-sided and fail-hard: inflation
|
|
334
|
+
* aborts the moment output exceeds the declaration, and an undershoot (or a
|
|
335
|
+
* stored payload whose length disagrees) fails too, because a manifest that
|
|
336
|
+
* misdescribes its own contents is exactly the corrupt-input class this
|
|
337
|
+
* module must never extract from.
|
|
338
|
+
*/
|
|
339
|
+
async function decompressEntry(entry, sourceFilename) {
|
|
340
|
+
const declared = entry.uncompressedSize;
|
|
355
341
|
if (entry.compressionMethod === 0) {
|
|
356
|
-
|
|
342
|
+
if (entry.compressedData.length !== declared) {
|
|
343
|
+
throw new AttachmentValidationError(sourceFilename, `entry '${entry.relativePath}' payload is ${entry.compressedData.length} bytes ` +
|
|
344
|
+
`but the archive declares ${declared} — corrupt or crafted archive`);
|
|
345
|
+
}
|
|
346
|
+
return Buffer.from(entry.compressedData);
|
|
357
347
|
}
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
348
|
+
// Deflate — the only other method parseAndValidateZip admits.
|
|
349
|
+
return new Promise((resolve, reject) => {
|
|
350
|
+
const inflate = createInflateRaw();
|
|
351
|
+
const chunks = [];
|
|
352
|
+
let produced = 0;
|
|
353
|
+
inflate.on("data", (chunk) => {
|
|
354
|
+
produced += chunk.length;
|
|
355
|
+
if (produced > declared) {
|
|
356
|
+
inflate.destroy();
|
|
357
|
+
reject(new AttachmentValidationError(sourceFilename, `entry '${entry.relativePath}' decompresses past its declared size of ` +
|
|
358
|
+
`${declared} bytes — corrupt or crafted archive`));
|
|
359
|
+
return;
|
|
360
|
+
}
|
|
361
|
+
chunks.push(chunk);
|
|
366
362
|
});
|
|
367
|
-
|
|
368
|
-
|
|
363
|
+
inflate.on("end", () => {
|
|
364
|
+
if (produced !== declared) {
|
|
365
|
+
reject(new AttachmentValidationError(sourceFilename, `entry '${entry.relativePath}' decompressed to ${produced} bytes ` +
|
|
366
|
+
`but the archive declares ${declared} — corrupt or crafted archive`));
|
|
367
|
+
return;
|
|
368
|
+
}
|
|
369
|
+
resolve(Buffer.concat(chunks));
|
|
370
|
+
});
|
|
371
|
+
inflate.on("error", reject);
|
|
372
|
+
inflate.end(Buffer.from(entry.compressedData));
|
|
373
|
+
});
|
|
369
374
|
}
|
|
370
375
|
function hasPathTraversal(filePath) {
|
|
371
376
|
const normalized = posix.normalize(filePath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment-injector.js","sourceRoot":"","sources":["../../../src/activities/execute-deep-agent/attachment-injector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"attachment-injector.js","sourceRoot":"","sources":["../../../src/activities/execute-deep-agent/attachment-injector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAIlC,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAMvE,OAAO,EACL,aAAa,EACb,iBAAiB,GAElB,MAAM,+BAA+B,CAAC;AAEvC,wEAAwE;AAExE,MAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,MAAM,sBAAsB,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,SAAS;AAC3D,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,CAAC;AAgEjD,wEAAwE;AAExE,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACxC,kBAAkB,CAAS;IAC3B,MAAM,CAAS;IAExB,YAAY,kBAA0B,EAAE,MAAc;QACpD,KAAK,CAAC,eAAe,kBAAkB,MAAM,MAAM,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;QACvC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IACzC,kBAAkB,CAAS;IAC3B,MAAM,CAAS;IAExB,YAAY,kBAA0B,EAAE,MAAc;QACpD,KAAK,CAAC,eAAe,kBAAkB,MAAM,MAAM,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACxC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,wEAAwE;AAExE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAe,EACf,cAAsB;IAEtB,OAAO,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,GAAG,CACrD,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAC7E,CAAC;AACJ,CAAC;AAaD,SAAS,mBAAmB,CAC1B,OAAe,EACf,cAAsB;IAEtB,IAAI,OAAO,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;QACnC,MAAM,IAAI,yBAAyB,CACjC,cAAc,EACd,0CAA0C,CAC3C,CAAC;IACJ,CAAC;IAED,IAAI,UAAgC,CAAC;IACrC,IAAI,CAAC;QACH,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,yBAAyB,CACjC,cAAc,EACd,4BAA4B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAChF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAE1B,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,yBAAyB,CACjC,cAAc,EACd,oEAAoE,CACrE,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,CAAC,WAAW;YAAE,SAAS;QAEhC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,yBAAyB,CACjC,cAAc,EACd,mEAAmE,KAAK,CAAC,IAAI,EAAE,CAChF,CAAC;QACJ,CAAC;QAED,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,yBAAyB,CACjC,cAAc,EACd,mEAAmE,KAAK,CAAC,IAAI,EAAE,CAChF,CAAC;QACJ,CAAC;QAED,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,yBAAyB,CACjC,cAAc,EACd,6BAA6B,KAAK,CAAC,IAAI,kCAAkC,CAC1E,CAAC;QACJ,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE1B,IAAI,KAAK,CAAC,iBAAiB,KAAK,CAAC,IAAI,KAAK,CAAC,iBAAiB,KAAK,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,yBAAyB,CACjC,cAAc,EACd,UAAU,KAAK,CAAC,IAAI,yCAAyC,KAAK,CAAC,iBAAiB,EAAE,CACvF,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,IAAI,CAAC;YACX,YAAY,EAAE,KAAK,CAAC,IAAI;YACxB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,cAAc,EAAE,KAAK,CAAC,cAAc;SACrC,CAAC,CAAC;QACH,iBAAiB,IAAI,KAAK,CAAC,gBAAgB,CAAC;IAC9C,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,yBAAyB,CACjC,cAAc,EACd,2CAA2C,CAC5C,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;QACnC,MAAM,IAAI,yBAAyB,CACjC,cAAc,EACd,YAAY,OAAO,CAAC,MAAM,kBAAkB,aAAa,GAAG,CAC7D,CAAC;IACJ,CAAC;IAED,IAAI,iBAAiB,GAAG,sBAAsB,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,CAAC,iBAAiB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,CAAC,sBAAsB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACpE,MAAM,IAAI,yBAAyB,CACjC,cAAc,EACd,oBAAoB,MAAM,eAAe,OAAO,MAAM,CACvD,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,wEAAwE;AAExE;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAA8B;IACpE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAE1E,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAExC,yDAAyD;IACzD,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAElD,yDAAyD;IACzD,MAAM,aAAa,GAAmB,EAAE,CAAC;IAEzC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAC3E,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;QAErE,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClE,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAC3C,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,QAAQ,CACjD,CAAC;YACF,mEAAmE;YACnE,oEAAoE;YACpE,iEAAiE;YACjE,uEAAuE;YACvE,mEAAmE;YACnE,4BAA4B;YAC5B,aAAa,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAClD,kEAAkE;YAClE,sEAAsE;YACtE,qEAAqE;YACrE,yDAAyD;YACzD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC3C,wEAAwE;YACxE,mEAAmE;YACnE,uDAAuD;YACvD,MAAM,MAAM,GAAG,YAAY,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAC9E,MAAM,WAAW,GAAG,MAAM,yBAAyB,CACjD,OAAO,EAAE,UAAU,CAAC,UAAU,EAAE,QAAQ,CACzC,CAAC;YACF,aAAa,CAAC,IAAI,CAAC;gBACjB,QAAQ;gBACR,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE,OAAO,CAAC,MAAM;gBACzB,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,GAAG,CAAC,MAAM,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,GAAG,CAAC,MAAM,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CACT,kCAAkC,aAAa,CAAC,MAAM,yBAAyB,CAChF,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC;AAUD,SAAS,iBAAiB,CACxB,WAAkC;IAElC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAiC,CAAC;IACxD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAsB,CAAC;IAEvD,oEAAoE;IACpE,0EAA0E;IAC1E,4EAA4E;IAC5E,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,SAAS;YAAE,SAAS;QACpC,MAAM,SAAS,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEjD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,wBAAwB,CAChC,UAAU,CAAC,QAAQ,EACnB,eAAe,SAAS,+BAA+B,QAAQ,CAAC,QAAQ,KAAK;gBAC7E,4EAA4E,CAC7E,CAAC;QACJ,CAAC;QAED,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,wEAAwE;IACxE,2EAA2E;IAC3E,qEAAqE;IACrE,wEAAwE;IACxE,0CAA0C;IAC1C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,qBAAqB,GAAG,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC1D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IACD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,IAAI,UAAU,CAAC,SAAS;YAAE,SAAS;QACnC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,kBAAkB,CAC9C,qBAAqB,CAAC,UAAU,CAAC,EACjC,UAAU,CACX,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,qBAAqB,IAAI,IAAI,EAAE,CAAC;QAChD,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACvC,MAAM,CAAC,GAAG,CACR,UAAU,EACV,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAC7D,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,wBAAwB,CAAC,UAAsB;IACtD,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,wBAAwB,CAChC,UAAU,CAAC,QAAQ,EACnB,oEAAoE,CACrE,CAAC;IACJ,CAAC;IACD,4EAA4E;IAC5E,wEAAwE;IACxE,2EAA2E;IAC3E,4EAA4E;IAC5E,iDAAiD;IACjD,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,wBAAwB,CAChC,UAAU,CAAC,QAAQ,EACnB,eAAe,UAAU,CAAC,SAAS,8BAA8B,CAClE,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,0EAA0E;AAC1E,kEAAkE;AAClE,SAAS,qBAAqB,CAAC,UAAsB;IACnD,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,IAAI,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC7E,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,wBAAwB,CAChC,WAAW,EACX,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,QAAQ,KAAK,EAAE,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC7D,MAAM,IAAI,wBAAwB,CAChC,OAAO,EACP,aAAa,OAAO,oDAAoD,CACzE,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,8EAA8E;AAC9E,wEAAwE;AACxE,+EAA+E;AAC/E,SAAS,WAAW,CAAC,OAAe;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC5C,OAAO,CACL,UAAU,KAAK,IAAI;QACnB,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC;QAC5B,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAC7B,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,UAAkB;IACxC,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,UAAsB,EACtB,OAAoC,EACpC,WAAoB;IAEpB,sDAAsD;IACtD,IAAI,WAAW,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,OAAO,MAAM,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,wBAAwB,CAChC,UAAU,CAAC,QAAQ,EACnB,8BAA8B,UAAU,CAAC,SAAS,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC3G,CAAC;QACJ,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAC3B,MAAM,IAAI,wBAAwB,CAChC,UAAU,CAAC,QAAQ,EACnB,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,+EAA+E;IAC/E,yEAAyE;IACzE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,wBAAwB,CAChC,UAAU,CAAC,QAAQ,EACnB,6DAA6D,UAAU,CAAC,UAAU,wBAAwB,CAC3G,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,wBAAwB;YAAE,MAAM,GAAG,CAAC;QACvD,MAAM,IAAI,wBAAwB,CAChC,UAAU,CAAC,QAAQ,EACnB,yCAAyC,UAAU,CAAC,UAAU,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACvH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,OAAqC,EACrC,QAAgB,EAChB,OAAyB,EACzB,cAAsB;IAEtB,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAmB,EAAE,CAAC;IAEpC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,GAAG,aAAa,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QAE5D,MAAM,OAAO,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACnD,QAAQ,CAAC,IAAI,CAAC;YACZ,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;YAC5C,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,OAAO,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,eAAe,CAC5B,KAAwB,EACxB,cAAsB;IAEtB,MAAM,QAAQ,GAAG,KAAK,CAAC,gBAAgB,CAAC;IAExC,IAAI,KAAK,CAAC,iBAAiB,KAAK,CAAC,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7C,MAAM,IAAI,yBAAyB,CACjC,cAAc,EACd,UAAU,KAAK,CAAC,YAAY,gBAAgB,KAAK,CAAC,cAAc,CAAC,MAAM,SAAS;gBAChF,4BAA4B,QAAQ,+BAA+B,CACpE,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC;IAED,8DAA8D;IAC9D,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACnC,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC;YACzB,IAAI,QAAQ,GAAG,QAAQ,EAAE,CAAC;gBACxB,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,yBAAyB,CAClC,cAAc,EACd,UAAU,KAAK,CAAC,YAAY,2CAA2C;oBACvE,GAAG,QAAQ,qCAAqC,CACjD,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACrB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,yBAAyB,CAClC,cAAc,EACd,UAAU,KAAK,CAAC,YAAY,qBAAqB,QAAQ,SAAS;oBAClE,4BAA4B,QAAQ,+BAA+B,CACpE,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACxC,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAErE,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACzC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;IAChC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|