poly-weaver 0.15.2 → 1.0.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/agents/implementors/handler.d.ts.map +1 -1
- package/dist/agents/implementors/handler.js +7 -2
- package/dist/agents/implementors/handler.js.map +1 -1
- package/dist/agents/interviewers/handler.d.ts.map +1 -1
- package/dist/agents/interviewers/handler.js +3 -1
- package/dist/agents/interviewers/handler.js.map +1 -1
- package/dist/agents/planners/adapter.d.ts.map +1 -1
- package/dist/agents/planners/adapter.js +30 -11
- package/dist/agents/planners/adapter.js.map +1 -1
- package/dist/agents/planners/handler.d.ts.map +1 -1
- package/dist/agents/planners/handler.js +7 -2
- package/dist/agents/planners/handler.js.map +1 -1
- package/dist/agents/reviewers/adapter.d.ts.map +1 -1
- package/dist/agents/reviewers/adapter.js +1 -0
- package/dist/agents/reviewers/adapter.js.map +1 -1
- package/dist/agents/reviewers/handler.d.ts.map +1 -1
- package/dist/agents/reviewers/handler.js +23 -4
- package/dist/agents/reviewers/handler.js.map +1 -1
- package/dist/agents/reviewers/types.d.ts +2 -0
- package/dist/agents/reviewers/types.d.ts.map +1 -1
- package/dist/agents/runner.d.ts +18 -1
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +136 -20
- package/dist/agents/runner.js.map +1 -1
- package/dist/agents/simplifiers/handler.d.ts.map +1 -1
- package/dist/agents/simplifiers/handler.js +7 -2
- package/dist/agents/simplifiers/handler.js.map +1 -1
- package/dist/auto-update/detect-agents.d.ts +1 -0
- package/dist/auto-update/detect-agents.d.ts.map +1 -1
- package/dist/auto-update/detect-agents.js +8 -7
- package/dist/auto-update/detect-agents.js.map +1 -1
- package/dist/cli.js +16 -4
- package/dist/cli.js.map +1 -1
- package/dist/crosscheck/coordinator.d.ts +5 -0
- package/dist/crosscheck/coordinator.d.ts.map +1 -1
- package/dist/crosscheck/coordinator.js +216 -96
- package/dist/crosscheck/coordinator.js.map +1 -1
- package/dist/crosscheck/live-agent-session.d.ts +10 -1
- package/dist/crosscheck/live-agent-session.d.ts.map +1 -1
- package/dist/crosscheck/live-agent-session.js +68 -7
- package/dist/crosscheck/live-agent-session.js.map +1 -1
- package/dist/crosscheck/state.d.ts +3 -0
- package/dist/crosscheck/state.d.ts.map +1 -1
- package/dist/crosscheck/state.js +17 -2
- package/dist/crosscheck/state.js.map +1 -1
- package/dist/dump/collector.d.ts.map +1 -1
- package/dist/dump/collector.js +3 -0
- package/dist/dump/collector.js.map +1 -1
- package/dist/dump/service.d.ts.map +1 -1
- package/dist/dump/service.js +3 -0
- package/dist/dump/service.js.map +1 -1
- package/dist/dump/types.d.ts +3 -0
- package/dist/dump/types.d.ts.map +1 -1
- package/dist/dump/types.js.map +1 -1
- package/dist/flow/executor.d.ts.map +1 -1
- package/dist/flow/executor.js +5 -0
- package/dist/flow/executor.js.map +1 -1
- package/dist/flow/types.d.ts +5 -0
- package/dist/flow/types.d.ts.map +1 -1
- package/dist/flow/types.js.map +1 -1
- package/dist/offscreen/controller.d.ts +19 -5
- package/dist/offscreen/controller.d.ts.map +1 -1
- package/dist/offscreen/controller.js +336 -159
- package/dist/offscreen/controller.js.map +1 -1
- package/dist/offscreen/fork-launch.d.ts +2 -2
- package/dist/offscreen/fork-launch.d.ts.map +1 -1
- package/dist/offscreen/fork-launch.js +2 -2
- package/dist/offscreen/fork-launch.js.map +1 -1
- package/dist/offscreen/fork.d.ts +16 -2
- package/dist/offscreen/fork.d.ts.map +1 -1
- package/dist/offscreen/fork.js +79 -40
- package/dist/offscreen/fork.js.map +1 -1
- package/dist/offscreen/inquiry-pane.d.ts +2 -1
- package/dist/offscreen/inquiry-pane.d.ts.map +1 -1
- package/dist/offscreen/inquiry-pane.js +8 -2
- package/dist/offscreen/inquiry-pane.js.map +1 -1
- package/dist/offscreen/inquiry-sender.d.ts +1 -0
- package/dist/offscreen/inquiry-sender.d.ts.map +1 -1
- package/dist/offscreen/inquiry-sender.js +1 -0
- package/dist/offscreen/inquiry-sender.js.map +1 -1
- package/dist/offscreen/panes.d.ts +1 -0
- package/dist/offscreen/panes.d.ts.map +1 -1
- package/dist/offscreen/registry.d.ts +2 -2
- package/dist/offscreen/registry.d.ts.map +1 -1
- package/dist/offscreen/registry.js +5 -1
- package/dist/offscreen/registry.js.map +1 -1
- package/dist/offscreen/resolve.d.ts +2 -0
- package/dist/offscreen/resolve.d.ts.map +1 -1
- package/dist/offscreen/resolve.js +5 -1
- package/dist/offscreen/resolve.js.map +1 -1
- package/dist/offscreen/session-turn-monitor.d.ts +34 -33
- package/dist/offscreen/session-turn-monitor.d.ts.map +1 -1
- package/dist/offscreen/session-turn-monitor.js +327 -281
- package/dist/offscreen/session-turn-monitor.js.map +1 -1
- package/dist/offscreen/session-turn-receipt.d.ts +28 -0
- package/dist/offscreen/session-turn-receipt.d.ts.map +1 -0
- package/dist/offscreen/session-turn-receipt.js +53 -0
- package/dist/offscreen/session-turn-receipt.js.map +1 -0
- package/dist/offscreen/split-inquiry.d.ts.map +1 -1
- package/dist/offscreen/split-inquiry.js +5 -0
- package/dist/offscreen/split-inquiry.js.map +1 -1
- package/dist/offscreen/starting-pane.d.ts +13 -0
- package/dist/offscreen/starting-pane.d.ts.map +1 -0
- package/dist/offscreen/starting-pane.js +24 -0
- package/dist/offscreen/starting-pane.js.map +1 -0
- package/dist/offscreen/surface.d.ts +1 -0
- package/dist/offscreen/surface.d.ts.map +1 -1
- package/dist/offscreen/surface.js +5 -3
- package/dist/offscreen/surface.js.map +1 -1
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +7 -1
- package/dist/orchestrator.js.map +1 -1
- package/dist/providers/base-completion.d.ts +1 -0
- package/dist/providers/base-completion.d.ts.map +1 -1
- package/dist/providers/base-completion.js +4 -2
- package/dist/providers/base-completion.js.map +1 -1
- package/dist/providers/codex/completion.d.ts +4 -2
- package/dist/providers/codex/completion.d.ts.map +1 -1
- package/dist/providers/codex/completion.js +99 -14
- package/dist/providers/codex/completion.js.map +1 -1
- package/dist/providers/codex/strategy.d.ts.map +1 -1
- package/dist/providers/codex/strategy.js +3 -2
- package/dist/providers/codex/strategy.js.map +1 -1
- package/dist/providers/copilot/completion.d.ts +32 -21
- package/dist/providers/copilot/completion.d.ts.map +1 -1
- package/dist/providers/copilot/completion.js +110 -166
- package/dist/providers/copilot/completion.js.map +1 -1
- package/dist/providers/copilot/environment.d.ts +2 -0
- package/dist/providers/copilot/environment.d.ts.map +1 -0
- package/dist/providers/copilot/environment.js +8 -0
- package/dist/providers/copilot/environment.js.map +1 -0
- package/dist/providers/copilot/fork-state.d.ts +7 -0
- package/dist/providers/copilot/fork-state.d.ts.map +1 -0
- package/dist/providers/copilot/fork-state.js +150 -0
- package/dist/providers/copilot/fork-state.js.map +1 -0
- package/dist/providers/copilot/observation.d.ts +275 -0
- package/dist/providers/copilot/observation.d.ts.map +1 -0
- package/dist/providers/copilot/observation.js +2072 -0
- package/dist/providers/copilot/observation.js.map +1 -0
- package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/extension.d.mts +2 -0
- package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/extension.d.mts.map +1 -0
- package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/extension.mjs +426 -0
- package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/extension.mjs.map +1 -0
- package/dist/providers/copilot/observer-extension/plugin.json +6 -0
- package/dist/providers/copilot/record-properties.d.ts +4 -0
- package/dist/providers/copilot/record-properties.d.ts.map +1 -0
- package/dist/providers/copilot/record-properties.js +14 -0
- package/dist/providers/copilot/record-properties.js.map +1 -0
- package/dist/providers/copilot/session.d.ts +8 -33
- package/dist/providers/copilot/session.d.ts.map +1 -1
- package/dist/providers/copilot/session.js +10 -176
- package/dist/providers/copilot/session.js.map +1 -1
- package/dist/providers/copilot/strategy.d.ts +4 -5
- package/dist/providers/copilot/strategy.d.ts.map +1 -1
- package/dist/providers/copilot/strategy.js +73 -67
- package/dist/providers/copilot/strategy.js.map +1 -1
- package/dist/providers/fork-cleanup.d.ts +4 -0
- package/dist/providers/fork-cleanup.d.ts.map +1 -0
- package/dist/providers/fork-cleanup.js +21 -0
- package/dist/providers/fork-cleanup.js.map +1 -0
- package/dist/providers/fork.d.ts +24 -3
- package/dist/providers/fork.d.ts.map +1 -1
- package/dist/providers/fork.js.map +1 -1
- package/dist/providers/invoke.d.ts.map +1 -1
- package/dist/providers/invoke.js +85 -34
- package/dist/providers/invoke.js.map +1 -1
- package/dist/providers/live.d.ts.map +1 -1
- package/dist/providers/live.js +62 -17
- package/dist/providers/live.js.map +1 -1
- package/dist/providers/observer-run.d.ts +4 -0
- package/dist/providers/observer-run.d.ts.map +1 -0
- package/dist/providers/observer-run.js +23 -0
- package/dist/providers/observer-run.js.map +1 -0
- package/dist/providers/session-launch.d.ts +5 -1
- package/dist/providers/session-launch.d.ts.map +1 -1
- package/dist/providers/session-launch.js +42 -16
- package/dist/providers/session-launch.js.map +1 -1
- package/dist/providers/types.d.ts +156 -4
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js.map +1 -1
- package/dist/session/resume.d.ts.map +1 -1
- package/dist/session/resume.js +16 -2
- package/dist/session/resume.js.map +1 -1
- package/dist/terminal/paste-submit.d.ts +1 -0
- package/dist/terminal/paste-submit.d.ts.map +1 -1
- package/dist/terminal/paste-submit.js +45 -32
- package/dist/terminal/paste-submit.js.map +1 -1
- package/dist/user/host-curate-prompt.d.ts.map +1 -1
- package/dist/user/host-curate-prompt.js +9 -6
- package/dist/user/host-curate-prompt.js.map +1 -1
- package/dist/user/host-prompt.d.ts.map +1 -1
- package/dist/user/host-prompt.js +9 -6
- package/dist/user/host-prompt.js.map +1 -1
- package/package.json +4 -2
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import { randomUUID } from "node:crypto";
|
|
2
|
-
import { rmSync } from "node:fs";
|
|
3
|
-
import { cp } from "node:fs/promises";
|
|
4
1
|
import { dirname, join } from "node:path";
|
|
5
2
|
import { fileURLToPath } from "node:url";
|
|
6
3
|
import { DefaultLiveSessionHandler } from "../live.js";
|
|
7
|
-
import {
|
|
8
|
-
import { SESSION_FILE_WAIT_MS, pollUntil, waitForFile, } from "../../session/locator.js";
|
|
4
|
+
import { SESSION_FILE_WAIT_MS, waitForFile, } from "../../session/locator.js";
|
|
9
5
|
import { effectiveFastFromCatalog, flagIf } from "../types.js";
|
|
10
6
|
import { versionGte } from "../version.js";
|
|
11
|
-
import { countCopilotResumeSeparators, countCopilotSubmits, isCopilotTurnLivenessSettled, latestCopilotSubmitIndex, nthCopilotResumeSeparatorIndex, CopilotCompletionDetector, compareCopilotSessionHistory, copilotSessionHistorySnapshot, } from "./completion.js";
|
|
12
7
|
import { CopilotSessionHandler, getCopilotSessionDir } from "./session.js";
|
|
13
8
|
import { ensureCopilotTrust } from "./trust.js";
|
|
14
9
|
import { buildSimplifierPrompt } from "../../agents/simplifiers/prompts.js";
|
|
15
10
|
import { CopilotComposerInspector } from "./composer.js";
|
|
11
|
+
import { createCopilotObserverRun, prepareCopilotLaunchObserver, } from "./observation.js";
|
|
12
|
+
import { prepareCopilotForkState } from "./fork-state.js";
|
|
13
|
+
import { cleanupForkResources } from "../fork-cleanup.js";
|
|
16
14
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
17
15
|
const COPILOT_INQUIRY_DIR = join(__dirname, "../../offscreen/copilot-inquiry");
|
|
18
16
|
const DEFAULT_FORK_LOCATE_POLL_MS = 500;
|
|
@@ -23,6 +21,8 @@ const COPILOT_GPT_5_6_MIN_CLI_VERSION = "1.0.70";
|
|
|
23
21
|
const COPILOT_OPUS_5_MIN_CLI_VERSION = "1.0.75";
|
|
24
22
|
const COPILOT_GPT_6_ASTRA_MIN_CLI_VERSION = "1.0.84";
|
|
25
23
|
const COPILOT_GPT_6_ASTRA_MODEL = "gpt-6-astra";
|
|
24
|
+
const COPILOT_GEMINI_3_8_FLASH_MIN_CLI_VERSION = "1.0.84";
|
|
25
|
+
const COPILOT_GEMINI_3_8_FLASH_MODEL = "gemini-3.8-flash";
|
|
26
26
|
const COPILOT_GPT_5_6_MODELS = [
|
|
27
27
|
"gpt-5.6-luna",
|
|
28
28
|
"gpt-5.6-terra",
|
|
@@ -53,6 +53,7 @@ const COPILOT_SUBAGENT_HEAD_MODELS = [
|
|
|
53
53
|
"claude-haiku-4.5",
|
|
54
54
|
];
|
|
55
55
|
const COPILOT_BASE_EFFORTS = ["medium", "high", "xhigh"];
|
|
56
|
+
const COPILOT_GEMINI_3_8_FLASH_EFFORTS = ["medium", "high"];
|
|
56
57
|
const COPILOT_MAX_EFFORTS = [...COPILOT_BASE_EFFORTS, "max"];
|
|
57
58
|
const COPILOT_CONTEXTS = ["default", "long_context"];
|
|
58
59
|
export class CopilotStrategy {
|
|
@@ -70,7 +71,6 @@ export class CopilotStrategy {
|
|
|
70
71
|
live = new DefaultLiveSessionHandler(this);
|
|
71
72
|
fork = new CopilotForkHandler(this);
|
|
72
73
|
composer = new CopilotComposerInspector();
|
|
73
|
-
forkSubmitFloor = { from: "fork-file", offset: 0 };
|
|
74
74
|
simplifierSubagentType = "explore";
|
|
75
75
|
version = undefined;
|
|
76
76
|
planMode = {
|
|
@@ -88,6 +88,9 @@ export class CopilotStrategy {
|
|
|
88
88
|
: (COPILOT_MODELS_LEGACY[0] ?? "");
|
|
89
89
|
},
|
|
90
90
|
efforts: (model) => {
|
|
91
|
+
if (model === COPILOT_GEMINI_3_8_FLASH_MODEL && this.copilotSupportsGemini38Flash()) {
|
|
92
|
+
return COPILOT_GEMINI_3_8_FLASH_EFFORTS;
|
|
93
|
+
}
|
|
91
94
|
const modelAllowsMax = (isClaudeFamilyModel(model) && this.copilotSupportsMaxEffort())
|
|
92
95
|
|| (isGpt56Model(model) && this.copilotSupportsGpt56())
|
|
93
96
|
|| (model === COPILOT_GPT_6_ASTRA_MODEL && this.copilotSupportsGpt6Astra());
|
|
@@ -117,12 +120,15 @@ export class CopilotStrategy {
|
|
|
117
120
|
isKnownModel: (model) => this.copilotSubagentModels().includes(model),
|
|
118
121
|
};
|
|
119
122
|
async buildArgs(prompt, opts) {
|
|
120
|
-
const optionFlags =
|
|
123
|
+
const optionFlags = [
|
|
124
|
+
...copilotConfigurationFlags(opts, this.options, flagIf(opts.yolo, "--allow-all")),
|
|
125
|
+
...(opts.extraArgs ?? []),
|
|
126
|
+
];
|
|
121
127
|
if (opts.resumeSessionId) {
|
|
122
128
|
return [
|
|
123
129
|
"--resume",
|
|
124
130
|
opts.resumeSessionId,
|
|
125
|
-
...(prompt.length > 0 ? ["-i", prompt] : []),
|
|
131
|
+
...(prompt.length > 0 && !opts.deferPrompt ? ["-i", prompt] : []),
|
|
126
132
|
...optionFlags,
|
|
127
133
|
];
|
|
128
134
|
}
|
|
@@ -133,14 +139,19 @@ export class CopilotStrategy {
|
|
|
133
139
|
: `--resume=${opts.sessionId}`;
|
|
134
140
|
return [
|
|
135
141
|
sessionFlag,
|
|
136
|
-
"-i",
|
|
137
|
-
`${prefix}${prompt}`,
|
|
142
|
+
...(!opts.deferPrompt ? ["-i", `${prefix}${prompt}`] : []),
|
|
138
143
|
...optionFlags,
|
|
139
144
|
];
|
|
140
145
|
}
|
|
141
146
|
// Copilot requires `-i` for input (no positional args).
|
|
142
147
|
const prefix = opts.promptPrefix ?? "";
|
|
143
|
-
return [
|
|
148
|
+
return [
|
|
149
|
+
...(!opts.deferPrompt ? ["-i", `${prefix}${prompt}`] : []),
|
|
150
|
+
...optionFlags,
|
|
151
|
+
];
|
|
152
|
+
}
|
|
153
|
+
createObserverRun() {
|
|
154
|
+
return createCopilotObserverRun();
|
|
144
155
|
}
|
|
145
156
|
async ensureTrust(workdir) {
|
|
146
157
|
await ensureCopilotTrust(workdir);
|
|
@@ -151,8 +162,8 @@ export class CopilotStrategy {
|
|
|
151
162
|
subagentType: this.simplifierSubagentType,
|
|
152
163
|
});
|
|
153
164
|
}
|
|
154
|
-
createDetector(
|
|
155
|
-
|
|
165
|
+
createDetector() {
|
|
166
|
+
throw new Error("Copilot completion detection requires the SDK live observer");
|
|
156
167
|
}
|
|
157
168
|
copilotModels() {
|
|
158
169
|
const gptModels = this.copilotGptModels();
|
|
@@ -165,7 +176,10 @@ export class CopilotStrategy {
|
|
|
165
176
|
return [first, ...gptModels, ...rest];
|
|
166
177
|
};
|
|
167
178
|
if (this.copilotSupportsOpus5()) {
|
|
168
|
-
return
|
|
179
|
+
return [
|
|
180
|
+
...withGpt56(COPILOT_MODELS_OPUS_5),
|
|
181
|
+
...(this.copilotSupportsGemini38Flash() ? [COPILOT_GEMINI_3_8_FLASH_MODEL] : []),
|
|
182
|
+
];
|
|
169
183
|
}
|
|
170
184
|
if (versionGte(this.version, COPILOT_SONNET_5_MIN_CLI_VERSION)) {
|
|
171
185
|
return withGpt56(COPILOT_MODELS_SONNET_5);
|
|
@@ -187,6 +201,7 @@ export class CopilotStrategy {
|
|
|
187
201
|
return [
|
|
188
202
|
...headModels,
|
|
189
203
|
...this.copilotModels().filter((model) => model.startsWith("claude-")),
|
|
204
|
+
...(this.copilotSupportsGemini38Flash() ? [COPILOT_GEMINI_3_8_FLASH_MODEL] : []),
|
|
190
205
|
];
|
|
191
206
|
}
|
|
192
207
|
copilotSupportsMaxEffort() {
|
|
@@ -198,6 +213,9 @@ export class CopilotStrategy {
|
|
|
198
213
|
copilotSupportsGpt6Astra() {
|
|
199
214
|
return versionGte(stripPrerelease(this.version), COPILOT_GPT_6_ASTRA_MIN_CLI_VERSION);
|
|
200
215
|
}
|
|
216
|
+
copilotSupportsGemini38Flash() {
|
|
217
|
+
return versionGte(stripPrerelease(this.version), COPILOT_GEMINI_3_8_FLASH_MIN_CLI_VERSION);
|
|
218
|
+
}
|
|
201
219
|
copilotSupportsOpus5() {
|
|
202
220
|
return versionGte(this.version, COPILOT_OPUS_5_MIN_CLI_VERSION);
|
|
203
221
|
}
|
|
@@ -212,41 +230,56 @@ class CopilotForkHandler {
|
|
|
212
230
|
constructor(strategy) {
|
|
213
231
|
this.strategy = strategy;
|
|
214
232
|
}
|
|
215
|
-
async buildLaunch(slot) {
|
|
216
|
-
const
|
|
217
|
-
|
|
218
|
-
const targetDir = join(getCopilotSessionDir(), clonedId);
|
|
219
|
-
const cleanup = () => {
|
|
220
|
-
rmSync(targetDir, { recursive: true, force: true });
|
|
221
|
-
};
|
|
233
|
+
async buildLaunch(slot, workdir, opts = {}) {
|
|
234
|
+
const { sessionId: branchId, sessionDir: targetDir, cleanup } = await prepareCopilotForkState(copilotSourceDir(slot), slot.sourceSessionId, getCopilotSessionDir(), opts.signal);
|
|
235
|
+
let observer;
|
|
222
236
|
try {
|
|
223
|
-
|
|
237
|
+
const observerPrepareOptions = {
|
|
238
|
+
workdir,
|
|
239
|
+
prompt: "",
|
|
240
|
+
resumeSessionId: branchId,
|
|
241
|
+
excludeInheritedHistory: true,
|
|
242
|
+
};
|
|
243
|
+
observer = opts.observerRun
|
|
244
|
+
? await opts.observerRun.prepareLaunchObserver(observerPrepareOptions)
|
|
245
|
+
: await prepareCopilotLaunchObserver(observerPrepareOptions);
|
|
246
|
+
if (!observer) {
|
|
247
|
+
throw new Error("Copilot observer run did not create a launch observer");
|
|
248
|
+
}
|
|
249
|
+
if (observer.sessionId !== branchId) {
|
|
250
|
+
throw new Error("Copilot inquiry observer does not own the prepared branch");
|
|
251
|
+
}
|
|
252
|
+
opts.signal?.throwIfAborted();
|
|
224
253
|
const existing = process.env.COPILOT_CUSTOM_INSTRUCTIONS_DIRS;
|
|
225
254
|
const dirs = existing ? `${existing},${COPILOT_INQUIRY_DIR}` : COPILOT_INQUIRY_DIR;
|
|
226
255
|
return {
|
|
227
|
-
command:
|
|
256
|
+
command: this.strategy.command,
|
|
228
257
|
args: [
|
|
229
258
|
"--resume",
|
|
230
|
-
|
|
259
|
+
branchId,
|
|
231
260
|
...copilotConfigurationFlags(slot, this.strategy.options, slot.yolo ? ["--allow-all"] : []),
|
|
261
|
+
...(observer.args ?? []),
|
|
232
262
|
],
|
|
233
|
-
env: {
|
|
263
|
+
env: {
|
|
264
|
+
COPILOT_CUSTOM_INSTRUCTIONS_DIRS: dirs,
|
|
265
|
+
...(observer.env ?? {}),
|
|
266
|
+
},
|
|
267
|
+
observer,
|
|
234
268
|
forkSessionFile: join(targetDir, "events.jsonl"),
|
|
235
269
|
cleanup,
|
|
236
270
|
};
|
|
237
271
|
}
|
|
238
272
|
catch (err) {
|
|
239
|
-
|
|
273
|
+
await cleanupForkResources([() => observer?.dispose(), cleanup], { error: err });
|
|
240
274
|
throw err;
|
|
241
275
|
}
|
|
242
276
|
}
|
|
243
277
|
async captureLineage(_slot, _workdir, launch) {
|
|
244
278
|
if (!launch.forkSessionFile) {
|
|
245
|
-
throw new Error("Copilot fork launch did not provide a
|
|
279
|
+
throw new Error("Copilot fork launch did not provide a branch diagnostic path");
|
|
246
280
|
}
|
|
247
281
|
const file = launch.forkSessionFile;
|
|
248
|
-
|
|
249
|
-
return { kind: "copilot", file, copiedSeparatorCount };
|
|
282
|
+
return { kind: "copilot", file };
|
|
250
283
|
}
|
|
251
284
|
async locateSessionFile(lineage, opts = {}) {
|
|
252
285
|
if (lineage.kind !== "copilot")
|
|
@@ -254,55 +287,28 @@ class CopilotForkHandler {
|
|
|
254
287
|
const timeoutMs = opts.timeoutMs ?? SESSION_FILE_WAIT_MS;
|
|
255
288
|
const pollMs = opts.pollMs ?? DEFAULT_FORK_LOCATE_POLL_MS;
|
|
256
289
|
try {
|
|
257
|
-
|
|
258
|
-
return await pollUntil(async () => {
|
|
259
|
-
try {
|
|
260
|
-
const lines = await readSessionFile(file);
|
|
261
|
-
return countCopilotResumeSeparators(lines) > lineage.copiedSeparatorCount
|
|
262
|
-
? file
|
|
263
|
-
: undefined;
|
|
264
|
-
}
|
|
265
|
-
catch {
|
|
266
|
-
return undefined;
|
|
267
|
-
}
|
|
268
|
-
}, {
|
|
269
|
-
timeoutMs,
|
|
270
|
-
pollMs,
|
|
271
|
-
signal: opts.signal,
|
|
272
|
-
timeoutMessage: `Timed out waiting for Copilot fork resume separator in ${file}`,
|
|
273
|
-
});
|
|
290
|
+
return await waitForFile(lineage.file, timeoutMs, pollMs, opts.signal);
|
|
274
291
|
}
|
|
275
292
|
catch {
|
|
276
293
|
return undefined;
|
|
277
294
|
}
|
|
278
295
|
}
|
|
279
296
|
turnComplete(lines, latestSubmitIndex = 0) {
|
|
280
|
-
|
|
297
|
+
void lines;
|
|
298
|
+
void latestSubmitIndex;
|
|
299
|
+
throw copilotJsonlRuntimeDisabled();
|
|
281
300
|
}
|
|
282
301
|
latestSubmitIndex(lines) {
|
|
283
|
-
|
|
302
|
+
void lines;
|
|
303
|
+
throw copilotJsonlRuntimeDisabled();
|
|
284
304
|
}
|
|
285
305
|
submitCount(lines) {
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
forkFileSubmitFloor(lineage, lines) {
|
|
289
|
-
if (lineage.kind !== "copilot")
|
|
290
|
-
return undefined;
|
|
291
|
-
const copiedSeparatorCount = lineage.copiedSeparatorCount;
|
|
292
|
-
if (copiedSeparatorCount === 0)
|
|
293
|
-
return 0;
|
|
294
|
-
const boundaryIndex = nthCopilotResumeSeparatorIndex(lines, copiedSeparatorCount);
|
|
295
|
-
if (boundaryIndex < 0)
|
|
296
|
-
return undefined;
|
|
297
|
-
return countCopilotSubmits(lines.slice(0, boundaryIndex + 1));
|
|
298
|
-
}
|
|
299
|
-
sessionHistorySnapshot(lines) {
|
|
300
|
-
return copilotSessionHistorySnapshot(lines);
|
|
306
|
+
void lines;
|
|
307
|
+
throw copilotJsonlRuntimeDisabled();
|
|
301
308
|
}
|
|
302
|
-
compareSessionHistory = compareCopilotSessionHistory;
|
|
303
309
|
}
|
|
304
|
-
|
|
305
|
-
|
|
310
|
+
function copilotJsonlRuntimeDisabled() {
|
|
311
|
+
throw new Error("Copilot fork runtime liveness requires the SDK live observer; JSONL parsing is diagnostics-only");
|
|
306
312
|
}
|
|
307
313
|
function copilotConfigurationFlags(slot, options, permissionFlags) {
|
|
308
314
|
const effectiveModel = effectiveFastFromCatalog(options, slot.fast, slot.model)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../src/providers/copilot/strategy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../src/providers/copilot/strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fork-cleanup.d.ts","sourceRoot":"","sources":["../../src/providers/fork-cleanup.ts"],"names":[],"mappings":"AAAA,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,SAAS,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAChD,OAAO,CAAC,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAC3B,OAAO,CAAC,IAAI,CAAC,CAoBf"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export async function cleanupForkResources(actions, failure) {
|
|
2
|
+
const errors = [];
|
|
3
|
+
for (const action of actions) {
|
|
4
|
+
try {
|
|
5
|
+
const result = action();
|
|
6
|
+
if (result)
|
|
7
|
+
await result;
|
|
8
|
+
}
|
|
9
|
+
catch (error) {
|
|
10
|
+
errors.push(error);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
if (errors.length > 0) {
|
|
14
|
+
const original = failure?.error;
|
|
15
|
+
const reason = original instanceof Error ? original.message : String(original);
|
|
16
|
+
throw new AggregateError(failure ? [original, ...errors] : errors, `${failure ? `${reason}; ` : ""}fork cleanup failed: ${errors.map(String).join("; ")}`, failure ? { cause: original } : undefined);
|
|
17
|
+
}
|
|
18
|
+
if (failure)
|
|
19
|
+
throw failure.error;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=fork-cleanup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fork-cleanup.js","sourceRoot":"","sources":["../../src/providers/fork-cleanup.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAgD,EAChD,OAA4B;IAE5B,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;YACxB,IAAI,MAAM;gBAAE,MAAM,MAAM,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,OAAO,EAAE,KAAK,CAAC;QAChC,MAAM,MAAM,GAAG,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/E,MAAM,IAAI,cAAc,CACtB,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EACxC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,wBAAwB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACtF,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAC1C,CAAC;IACJ,CAAC;IACD,IAAI,OAAO;QAAE,MAAM,OAAO,CAAC,KAAK,CAAC;AACnC,CAAC"}
|
package/dist/providers/fork.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { BuiltinRole, DriverName, ProviderContext } from "../flow/types.js";
|
|
2
2
|
import type { SessionLine } from "../session/reader.js";
|
|
3
|
+
import type { ProviderLaunchObserver, ProviderObserverRun } from "./types.js";
|
|
3
4
|
export type OffscreenBinding = "primary" | "secondary";
|
|
4
5
|
export type ForkSourceKey = "interviewer" | "planner" | "simplifier" | "reviewer-plan";
|
|
5
6
|
export interface ForkSourceConfig {
|
|
@@ -33,13 +34,17 @@ export interface ForkLaunch {
|
|
|
33
34
|
command: string;
|
|
34
35
|
args: string[];
|
|
35
36
|
env?: Record<string, string>;
|
|
37
|
+
observer?: ProviderLaunchObserver;
|
|
36
38
|
forkSessionFile?: string;
|
|
37
|
-
cleanup: () => void
|
|
39
|
+
cleanup: () => void | Promise<void>;
|
|
40
|
+
}
|
|
41
|
+
export interface ForkLaunchOptions {
|
|
42
|
+
observerRun?: ProviderObserverRun;
|
|
43
|
+
signal?: AbortSignal;
|
|
38
44
|
}
|
|
39
45
|
export type ForkLineage = {
|
|
40
46
|
kind: "copilot";
|
|
41
47
|
file: string;
|
|
42
|
-
copiedSeparatorCount: number;
|
|
43
48
|
} | {
|
|
44
49
|
kind: "codex";
|
|
45
50
|
sourceSessionId: string;
|
|
@@ -80,13 +85,29 @@ export interface SessionHistoryRegression {
|
|
|
80
85
|
/** Prior submit identities that no longer exist in durable history. */
|
|
81
86
|
removedSubmitIdentities: readonly string[];
|
|
82
87
|
}
|
|
88
|
+
export type SubmissionSettlement = "completed" | "cancelled";
|
|
89
|
+
export interface SubmissionEvidence {
|
|
90
|
+
/** Provider-issued identity, not a text hash or a durable line number. */
|
|
91
|
+
identity: string;
|
|
92
|
+
/** Run-local position of the first positive submission evidence. */
|
|
93
|
+
index: number;
|
|
94
|
+
/** Cancellation ends activity without proving successful completion. */
|
|
95
|
+
settlement?: SubmissionSettlement;
|
|
96
|
+
}
|
|
97
|
+
export interface SessionSubmissionEvidence {
|
|
98
|
+
submissions: readonly SubmissionEvidence[];
|
|
99
|
+
indeterminate: boolean;
|
|
100
|
+
/** Expected live incompleteness only; never makes indeterminate evidence authoritative. */
|
|
101
|
+
indeterminateReason?: "pending-submission";
|
|
102
|
+
}
|
|
83
103
|
export interface ForkHandler {
|
|
84
|
-
buildLaunch(slot: OffscreenSlot, workdir: string): Promise<ForkLaunch>;
|
|
104
|
+
buildLaunch(slot: OffscreenSlot, workdir: string, opts?: ForkLaunchOptions): Promise<ForkLaunch>;
|
|
85
105
|
captureLineage(slot: OffscreenSlot, workdir: string, launch: ForkLaunch): Promise<ForkLineage>;
|
|
86
106
|
locateSessionFile(lineage: ForkLineage, opts?: ForkSessionLocateOptions): Promise<string | undefined>;
|
|
87
107
|
turnComplete(lines: SessionLine[], latestSubmitIndex?: number): boolean;
|
|
88
108
|
latestSubmitIndex(lines: SessionLine[]): number;
|
|
89
109
|
submitCount(lines: SessionLine[]): number;
|
|
110
|
+
submissionEvidence?(lines: SessionLine[]): SessionSubmissionEvidence;
|
|
90
111
|
forkFileSubmitFloor?(lineage: ForkLineage, lines: SessionLine[]): number | undefined;
|
|
91
112
|
sessionHistorySnapshot?(lines: SessionLine[]): SessionHistorySnapshot | undefined;
|
|
92
113
|
compareSessionHistory?(previous: SessionHistorySnapshot, current: SessionHistorySnapshot): SessionHistoryRegression | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../../src/providers/fork.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../../src/providers/fork.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fork.js","sourceRoot":"","sources":["../../src/providers/fork.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fork.js","sourceRoot":"","sources":["../../src/providers/fork.ts"],"names":[],"mappings":"AA+IA,MAAM,CAAC,MAAM,wBAAwB,GACnC,8EAA8E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke.d.ts","sourceRoot":"","sources":["../../src/providers/invoke.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"invoke.d.ts","sourceRoot":"","sources":["../../src/providers/invoke.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAWnD;;;;;;;;;;GAUG;AACH,wBAAsB,MAAM,CAC1B,QAAQ,EAAE,MAAM,GAAG,gBAAgB,EACnC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAmGjB"}
|
package/dist/providers/invoke.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { resolveProvider } from "./registry.js";
|
|
1
|
+
import { resolveProvider, setProviderVersions } from "./registry.js";
|
|
3
2
|
import { spawnPty } from "../pty/spawn.js";
|
|
4
3
|
import { sendExit } from "../pty/exit.js";
|
|
5
|
-
import {
|
|
4
|
+
import { discoverSessionFile, prepareSessionLaunch, } from "./session-launch.js";
|
|
5
|
+
import { VirtualTerminal } from "../terminal/virtual-terminal.js";
|
|
6
|
+
import { runPreflight } from "../auto-update/detect-agents.js";
|
|
6
7
|
/**
|
|
7
8
|
* One-shot, non-interactive provider invocation.
|
|
8
9
|
*
|
|
@@ -16,40 +17,90 @@ import { waitForFile } from "../session/locator.js";
|
|
|
16
17
|
*/
|
|
17
18
|
export async function invoke(provider, prompt, workdir) {
|
|
18
19
|
const strategy = typeof provider === "string" ? resolveProvider(provider) : provider;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
if (strategy.name === "copilot") {
|
|
21
|
+
const preflight = await runPreflight({
|
|
22
|
+
needClaude: false,
|
|
23
|
+
needCodex: false,
|
|
24
|
+
needCopilot: true,
|
|
25
|
+
});
|
|
26
|
+
if (!preflight.ok) {
|
|
27
|
+
throw new Error(preflight.errors.join("\n"));
|
|
28
|
+
}
|
|
29
|
+
setProviderVersions(preflight.versions);
|
|
25
30
|
}
|
|
26
|
-
const
|
|
27
|
-
strategy.buildArgs(prompt, { sessionId: preAssignedSessionId }),
|
|
28
|
-
predictedFile
|
|
29
|
-
? Promise.resolve({ skipped: true })
|
|
30
|
-
: strategy.session.snapshot(workdir),
|
|
31
|
-
]);
|
|
32
|
-
const handle = spawnPty({
|
|
33
|
-
command: strategy.command,
|
|
34
|
-
args,
|
|
35
|
-
cwd: workdir,
|
|
36
|
-
interactive: false,
|
|
37
|
-
});
|
|
38
|
-
const detector = strategy.createDetector({ planMode: false });
|
|
39
|
-
handle.onData((data) => detector.onPtyData(data));
|
|
31
|
+
const observerRun = await strategy.createObserverRun?.();
|
|
40
32
|
try {
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
33
|
+
const prepared = await prepareSessionLaunch(strategy, {
|
|
34
|
+
workdir,
|
|
35
|
+
prompt,
|
|
36
|
+
buildArgs: {},
|
|
37
|
+
observerRun,
|
|
38
|
+
});
|
|
39
|
+
const handle = spawnPty({
|
|
40
|
+
command: strategy.command,
|
|
41
|
+
args: prepared.args,
|
|
42
|
+
cwd: workdir,
|
|
43
|
+
...(mergeEnv(strategy.childEnv, prepared.observer?.env) && {
|
|
44
|
+
env: mergeEnv(strategy.childEnv, prepared.observer?.env),
|
|
45
|
+
}),
|
|
46
|
+
interactive: false,
|
|
47
|
+
});
|
|
48
|
+
const detector = (prepared.observer ?? strategy).createDetector({ planMode: false });
|
|
49
|
+
handle.onData((data) => detector.onPtyData(data));
|
|
50
|
+
const vt = prepared.observer
|
|
51
|
+
? new VirtualTerminal(process.stdout.columns ?? 120, process.stdout.rows ?? 30)
|
|
52
|
+
: undefined;
|
|
53
|
+
if (vt) {
|
|
54
|
+
handle.onData((data) => {
|
|
55
|
+
vt.write(data);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
try {
|
|
59
|
+
let responseText;
|
|
60
|
+
if (prepared.observer) {
|
|
61
|
+
const observed = await prepared.observer.waitForReady(handle);
|
|
62
|
+
const sessionFile = observed.sessionFilePath ??
|
|
63
|
+
prepared.predictedSessionFile ??
|
|
64
|
+
prepared.resumeSessionFile ??
|
|
65
|
+
"";
|
|
66
|
+
const completionPromise = detector.start(sessionFile, observed.lineOffset ?? 0);
|
|
67
|
+
completionPromise.catch(() => { });
|
|
68
|
+
if (prepared.observer.deferInitialPrompt) {
|
|
69
|
+
if (!vt || !prepared.observer.submitPrompt) {
|
|
70
|
+
throw new Error("Provider deferred prompt delivery but did not provide a PTY submitter");
|
|
71
|
+
}
|
|
72
|
+
await Promise.race([
|
|
73
|
+
prepared.observer.submitPrompt({ pty: handle, vt }, prompt),
|
|
74
|
+
completionPromise.then(() => undefined, (err) => { throw err; }),
|
|
75
|
+
]);
|
|
76
|
+
}
|
|
77
|
+
responseText = await completionPromise;
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
const { sessionFilePath } = await discoverSessionFile(strategy, prepared, workdir);
|
|
81
|
+
responseText = await detector.start(sessionFilePath);
|
|
82
|
+
}
|
|
83
|
+
await sendExit(handle, strategy.exitSignal);
|
|
84
|
+
detector.dispose();
|
|
85
|
+
await prepared.observer?.dispose();
|
|
86
|
+
vt?.dispose();
|
|
87
|
+
return responseText;
|
|
88
|
+
}
|
|
89
|
+
catch (err) {
|
|
90
|
+
detector.dispose();
|
|
91
|
+
await prepared.observer?.dispose();
|
|
92
|
+
vt?.dispose();
|
|
93
|
+
handle.kill();
|
|
94
|
+
throw err;
|
|
95
|
+
}
|
|
48
96
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
handle.kill();
|
|
52
|
-
throw err;
|
|
97
|
+
finally {
|
|
98
|
+
await observerRun?.dispose();
|
|
53
99
|
}
|
|
54
100
|
}
|
|
101
|
+
function mergeEnv(base, extra) {
|
|
102
|
+
if (!base && !extra)
|
|
103
|
+
return undefined;
|
|
104
|
+
return { ...(base ?? {}), ...(extra ?? {}) };
|
|
105
|
+
}
|
|
55
106
|
//# sourceMappingURL=invoke.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke.js","sourceRoot":"","sources":["../../src/providers/invoke.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"invoke.js","sourceRoot":"","sources":["../../src/providers/invoke.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../src/providers/live.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,KAAK,EACV,8BAA8B,EAC9B,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAgBpB,qBAAa,yBAA0B,YAAW,kBAAkB;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,gBAAgB;IAEjD,WAAW,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../src/providers/live.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,KAAK,EACV,8BAA8B,EAC9B,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAgBpB,qBAAa,yBAA0B,YAAW,kBAAkB;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,gBAAgB;IAEjD,WAAW,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAoFvE,iBAAiB,CACrB,MAAM,EAAE,iBAAiB,EACzB,IAAI,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,MAAM,CAAC,EAAE,wBAAwB,CAAC,QAAQ,CAAC,CAAA;KAAO,GACnG,OAAO,CAAC,mBAAmB,CAAC;IAyB/B,SAAS,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAIpD,wBAAwB,CAC5B,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,8BAA8B,CAAC;IAoBpC,0BAA0B,CAC9B,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,8BAA8B,CAAC;IAcpC,qBAAqB,CACzB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,oBAAoB,CAAC;CAqBjC"}
|