@united-workforce/cli 0.7.0 → 0.8.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/README.md +32 -5
- package/dist/.build-fingerprint +1 -0
- package/dist/__tests__/broker-step-active-turns.test.d.ts +20 -0
- package/dist/__tests__/broker-step-active-turns.test.d.ts.map +1 -0
- package/dist/__tests__/broker-step-active-turns.test.js +428 -0
- package/dist/__tests__/broker-step-active-turns.test.js.map +1 -0
- package/dist/__tests__/broker-step-turn-chain-phase2.test.d.ts +13 -0
- package/dist/__tests__/broker-step-turn-chain-phase2.test.d.ts.map +1 -0
- package/dist/__tests__/broker-step-turn-chain-phase2.test.js +429 -0
- package/dist/__tests__/broker-step-turn-chain-phase2.test.js.map +1 -0
- package/dist/__tests__/e2e-broker-step-suspend.test.d.ts +18 -0
- package/dist/__tests__/e2e-broker-step-suspend.test.d.ts.map +1 -0
- package/dist/__tests__/e2e-broker-step-suspend.test.js +313 -0
- package/dist/__tests__/e2e-broker-step-suspend.test.js.map +1 -0
- package/dist/__tests__/e2e-thread-resume-timeout-suspend.test.d.ts +28 -0
- package/dist/__tests__/e2e-thread-resume-timeout-suspend.test.d.ts.map +1 -0
- package/dist/__tests__/e2e-thread-resume-timeout-suspend.test.js +322 -0
- package/dist/__tests__/e2e-thread-resume-timeout-suspend.test.js.map +1 -0
- package/dist/__tests__/log-tag-validity.test.d.ts +2 -0
- package/dist/__tests__/log-tag-validity.test.d.ts.map +1 -0
- package/dist/__tests__/log-tag-validity.test.js +110 -0
- package/dist/__tests__/log-tag-validity.test.js.map +1 -0
- package/dist/__tests__/setup-agent-discovery.test.js +23 -23
- package/dist/__tests__/setup-agent-discovery.test.js.map +1 -1
- package/dist/__tests__/step-show-json.test.js +5 -5
- package/dist/__tests__/step-show-json.test.js.map +1 -1
- package/dist/__tests__/step-show-text.test.d.ts +2 -0
- package/dist/__tests__/step-show-text.test.d.ts.map +1 -0
- package/dist/__tests__/step-show-text.test.js +192 -0
- package/dist/__tests__/step-show-text.test.js.map +1 -0
- package/dist/__tests__/step-turns-cli-subprocess.test.d.ts +21 -0
- package/dist/__tests__/step-turns-cli-subprocess.test.d.ts.map +1 -0
- package/dist/__tests__/step-turns-cli-subprocess.test.js +356 -0
- package/dist/__tests__/step-turns-cli-subprocess.test.js.map +1 -0
- package/dist/__tests__/step-turns-panorama-phase3.test.d.ts +21 -0
- package/dist/__tests__/step-turns-panorama-phase3.test.d.ts.map +1 -0
- package/dist/__tests__/step-turns-panorama-phase3.test.js +476 -0
- package/dist/__tests__/step-turns-panorama-phase3.test.js.map +1 -0
- package/dist/__tests__/step-turns.test.d.ts +24 -0
- package/dist/__tests__/step-turns.test.d.ts.map +1 -0
- package/dist/__tests__/step-turns.test.js +646 -0
- package/dist/__tests__/step-turns.test.js.map +1 -0
- package/dist/__tests__/store-turn-chain.test.d.ts +2 -0
- package/dist/__tests__/store-turn-chain.test.d.ts.map +1 -0
- package/dist/__tests__/store-turn-chain.test.js +341 -0
- package/dist/__tests__/store-turn-chain.test.js.map +1 -0
- package/dist/__tests__/thread-list-limit-offset.test.d.ts +24 -0
- package/dist/__tests__/thread-list-limit-offset.test.d.ts.map +1 -0
- package/dist/__tests__/thread-list-limit-offset.test.js +254 -0
- package/dist/__tests__/thread-list-limit-offset.test.js.map +1 -0
- package/dist/__tests__/thread-list-template-ms-date.test.js +7 -2
- package/dist/__tests__/thread-list-template-ms-date.test.js.map +1 -1
- package/dist/__tests__/thread.test.js +28 -14
- package/dist/__tests__/thread.test.js.map +1 -1
- package/dist/cli.js +910 -344
- package/dist/cli.js.map +1 -1
- package/dist/commands/broker-step.d.ts +10 -3
- package/dist/commands/broker-step.d.ts.map +1 -1
- package/dist/commands/broker-step.js +231 -27
- package/dist/commands/broker-step.js.map +1 -1
- package/dist/commands/prompt.d.ts.map +1 -1
- package/dist/commands/prompt.js +42 -50
- package/dist/commands/prompt.js.map +1 -1
- package/dist/commands/setup.d.ts +6 -4
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +16 -26
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/step.d.ts +48 -1
- package/dist/commands/step.d.ts.map +1 -1
- package/dist/commands/step.js +496 -3
- package/dist/commands/step.js.map +1 -1
- package/dist/output-mappers.d.ts +8 -0
- package/dist/output-mappers.d.ts.map +1 -1
- package/dist/output-mappers.js +72 -18
- package/dist/output-mappers.js.map +1 -1
- package/dist/schemas.d.ts +3 -0
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +17 -3
- package/dist/schemas.js.map +1 -1
- package/dist/store.d.ts +147 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +254 -1
- package/dist/store.js.map +1 -1
- package/dist/text-renderers.d.ts.map +1 -1
- package/dist/text-renderers.js +27 -2
- package/dist/text-renderers.js.map +1 -1
- package/package.json +7 -6
- package/src/__tests__/broker-step-active-turns.test.ts +509 -0
- package/src/__tests__/broker-step-turn-chain-phase2.test.ts +525 -0
- package/src/__tests__/e2e-broker-step-suspend.test.ts +351 -0
- package/src/__tests__/e2e-thread-resume-timeout-suspend.test.ts +360 -0
- package/src/__tests__/log-tag-validity.test.ts +124 -0
- package/src/__tests__/setup-agent-discovery.test.ts +23 -23
- package/src/__tests__/step-show-json.test.ts +5 -5
- package/src/__tests__/step-show-text.test.ts +236 -0
- package/src/__tests__/step-turns-cli-subprocess.test.ts +411 -0
- package/src/__tests__/step-turns-panorama-phase3.test.ts +579 -0
- package/src/__tests__/step-turns.test.ts +734 -0
- package/src/__tests__/store-turn-chain.test.ts +386 -0
- package/src/__tests__/thread-list-limit-offset.test.ts +305 -0
- package/src/__tests__/thread-list-template-ms-date.test.ts +7 -2
- package/src/__tests__/thread.test.ts +29 -15
- package/src/cli.ts +1056 -483
- package/src/commands/broker-step.ts +315 -38
- package/src/commands/prompt.ts +42 -50
- package/src/commands/setup.ts +16 -28
- package/src/commands/step.ts +655 -3
- package/src/output-mappers.ts +99 -21
- package/src/schemas.ts +32 -2
- package/src/store.ts +297 -2
- package/src/text-renderers.ts +35 -2
package/dist/commands/step.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createLogger, generateUlid } from "@united-workforce/util";
|
|
2
|
-
import {
|
|
2
|
+
import { isThreadRunning } from "../background/index.js";
|
|
3
|
+
import { createUwfStore, getActiveStep, getActiveTurnHead, getThread, readActiveTurnRoles, readActiveTurns, setThread, turnsOfStep, } from "../store.js";
|
|
3
4
|
import { collectOrderedSteps, expandDeep, expandOutput, fail, resolveHeadHash, walkChain, } from "./shared.js";
|
|
4
5
|
const log = createLogger({ sink: { kind: "stderr" } });
|
|
5
6
|
/**
|
|
@@ -126,7 +127,14 @@ export async function cmdStepList(storageRoot, threadId) {
|
|
|
126
127
|
};
|
|
127
128
|
}
|
|
128
129
|
/**
|
|
129
|
-
* Show details of a specific step (previously: thread step-details)
|
|
130
|
+
* Show details of a specific step (previously: thread step-details).
|
|
131
|
+
*
|
|
132
|
+
* Returns a merged object that combines StepNode metadata (role / agent /
|
|
133
|
+
* timing / usage) with the expanded broker-detail payload so callers can
|
|
134
|
+
* read both layers in one envelope. The detail node by itself only carries
|
|
135
|
+
* `{ sessionId, duration, turnCount, turns }` — without merging in the
|
|
136
|
+
* StepNode metadata, `step show` would render empty `Role` / `Agent` /
|
|
137
|
+
* `Status` / `-` `Duration` (issue #392).
|
|
130
138
|
*/
|
|
131
139
|
export async function cmdStepShow(storageRoot, stepHash) {
|
|
132
140
|
const uwf = await createUwfStore(storageRoot);
|
|
@@ -141,7 +149,34 @@ export async function cmdStepShow(storageRoot, stepHash) {
|
|
|
141
149
|
if (!payload.detail) {
|
|
142
150
|
fail(`step ${stepHash} has no detail`);
|
|
143
151
|
}
|
|
144
|
-
|
|
152
|
+
const detail = expandDeep(uwf.store, payload.detail);
|
|
153
|
+
const output = expandOutput(uwf, payload.output);
|
|
154
|
+
const status = output !== null &&
|
|
155
|
+
typeof output === "object" &&
|
|
156
|
+
!Array.isArray(output) &&
|
|
157
|
+
typeof output.$status === "string"
|
|
158
|
+
? output.$status
|
|
159
|
+
: "";
|
|
160
|
+
const startedAtMs = typeof payload.startedAtMs === "number" && Number.isFinite(payload.startedAtMs)
|
|
161
|
+
? payload.startedAtMs
|
|
162
|
+
: null;
|
|
163
|
+
const completedAtMs = typeof payload.completedAtMs === "number" && Number.isFinite(payload.completedAtMs)
|
|
164
|
+
? payload.completedAtMs
|
|
165
|
+
: null;
|
|
166
|
+
const durationMs = startedAtMs !== null && completedAtMs !== null && completedAtMs >= startedAtMs
|
|
167
|
+
? completedAtMs - startedAtMs
|
|
168
|
+
: null;
|
|
169
|
+
return {
|
|
170
|
+
hash: stepHash,
|
|
171
|
+
role: payload.role,
|
|
172
|
+
agent: payload.agent,
|
|
173
|
+
status,
|
|
174
|
+
startedAtMs,
|
|
175
|
+
completedAtMs,
|
|
176
|
+
durationMs,
|
|
177
|
+
usage: payload.usage ?? null,
|
|
178
|
+
detail,
|
|
179
|
+
};
|
|
145
180
|
}
|
|
146
181
|
/**
|
|
147
182
|
* Fork a thread from a specific step (previously: thread fork)
|
|
@@ -341,6 +376,464 @@ export async function cmdStepRead(storageRoot, stepHash, quota, showPrompt) {
|
|
|
341
376
|
const selectedTurns = selectTurnsForQuota(turnData, availableQuota);
|
|
342
377
|
return formatStepMarkdown(stepHash, payload.role, payload.agent, turnData, selectedTurns);
|
|
343
378
|
}
|
|
379
|
+
// ── step turns ────────────────────────────────────────────────────────────────
|
|
380
|
+
//
|
|
381
|
+
// Phase 4 (#400) / #409 — the consumer side of the realtime-turns RFC. `step
|
|
382
|
+
// turns <thread-id>` renders the **whole-thread turn panorama**: it walks the
|
|
383
|
+
// entire thread chain (reusing the SAME `walkChain` + `collectOrderedSteps`
|
|
384
|
+
// infrastructure as `cmdStepList`) and shows every step's turns in chronological
|
|
385
|
+
// order, each turn attributed to its owning role/step.
|
|
386
|
+
//
|
|
387
|
+
// Per-step turn sourcing (active-var precedence, scoped to each step's role):
|
|
388
|
+
// - the in-flight step (its `@uwf/active-turns/<tid>/<role>` var still present)
|
|
389
|
+
// → read the live active var and mark the step `🔄 进行中`;
|
|
390
|
+
// - every completed step → read its own immutable `detail.turns` and mark `✓`.
|
|
391
|
+
// Both sources are a `CasRef[]` of pure `{role, content}` turn nodes, so per-turn
|
|
392
|
+
// rendering reuses the SAME `loadTurnData` → `formatTurnBody` pipeline as
|
|
393
|
+
// `step read` — a turn block here is byte-identical to `step read` for that step.
|
|
394
|
+
//
|
|
395
|
+
// `--role X` filters the panorama to that role's steps (across the whole chain);
|
|
396
|
+
// `--limit`/`--offset` paginate the flattened cross-step turn sequence (filter
|
|
397
|
+
// first, then paginate). Default is full, untruncated output. Because turns are
|
|
398
|
+
// always sourced per-step, role isolation (#408) falls out structurally — the
|
|
399
|
+
// head-only `readHeadDetailTurns` role-guard hack is obsolete.
|
|
400
|
+
/** Default poll interval for `--live` (ms). Small + fixed; injectable for tests. */
|
|
401
|
+
export const STEP_TURNS_POLL_INTERVAL_MS = 400;
|
|
402
|
+
/** Fill optional CmdStepTurnsOptions fields with their runtime defaults. */
|
|
403
|
+
function resolveStepTurnsOptions(storageRoot, threadId, options) {
|
|
404
|
+
return {
|
|
405
|
+
role: options.role ?? null,
|
|
406
|
+
live: options.live,
|
|
407
|
+
limit: options.limit ?? null,
|
|
408
|
+
offset: options.offset ?? 0,
|
|
409
|
+
pollIntervalMs: options.pollIntervalMs ?? null,
|
|
410
|
+
onChunk: options.onChunk ?? null,
|
|
411
|
+
sleep: options.sleep ?? null,
|
|
412
|
+
isRunning: options.isRunning ?? (async () => (await isThreadRunning(storageRoot, threadId)) !== null),
|
|
413
|
+
};
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* Walk the thread chain from `headHash` and return the **newest** step whose
|
|
417
|
+
* `role === role`'s immutable `detail.turns`, or `[]` when no step on the chain
|
|
418
|
+
* has that role. Used by the `--live` exit reconcile to flush the followed role's
|
|
419
|
+
* own solidified turns without ever surfacing a *different* role's turns: in a
|
|
420
|
+
* multi-step run the head may have advanced past the followed step to another
|
|
421
|
+
* role, so reconciling against `head` blindly (the pre-#409 `readHeadDetailTurns`)
|
|
422
|
+
* could leak the next role's turns. Scoping to the followed role's own step on
|
|
423
|
+
* the chain is the live counterpart of the non-live per-step sourcing.
|
|
424
|
+
*/
|
|
425
|
+
function readRoleDetailTurnsFromChain(uwf, headHash, role) {
|
|
426
|
+
let hash = headHash;
|
|
427
|
+
while (hash !== null) {
|
|
428
|
+
const node = uwf.store.cas.get(hash);
|
|
429
|
+
if (node === null || node.type !== uwf.schemas.stepNode) {
|
|
430
|
+
break;
|
|
431
|
+
}
|
|
432
|
+
const payload = node.payload;
|
|
433
|
+
if (payload.role === role) {
|
|
434
|
+
return readStepDetailTurns(uwf, hash);
|
|
435
|
+
}
|
|
436
|
+
hash = payload.prev;
|
|
437
|
+
}
|
|
438
|
+
return [];
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* Read a specific step's immutable `detail.turns` (the ordered `CasRef[]` of its
|
|
442
|
+
* turn nodes). Returns `[]` for a non-StepNode, a step with no detail, or a
|
|
443
|
+
* detail whose `turns` is absent/malformed. Unlike `readHeadDetailTurns` this is
|
|
444
|
+
* role-agnostic — the caller already knows which step it is reading (the chain
|
|
445
|
+
* walk attributes each step to its own role), so no head-role guard is needed.
|
|
446
|
+
*/
|
|
447
|
+
function readStepDetailTurns(uwf, stepHash) {
|
|
448
|
+
const node = uwf.store.cas.get(stepHash);
|
|
449
|
+
if (node === null || node.type !== uwf.schemas.stepNode) {
|
|
450
|
+
return [];
|
|
451
|
+
}
|
|
452
|
+
const payload = node.payload;
|
|
453
|
+
if (payload.detail === null) {
|
|
454
|
+
return [];
|
|
455
|
+
}
|
|
456
|
+
const detailNode = uwf.store.cas.get(payload.detail);
|
|
457
|
+
if (detailNode === null) {
|
|
458
|
+
return [];
|
|
459
|
+
}
|
|
460
|
+
const detail = detailNode.payload;
|
|
461
|
+
return Array.isArray(detail.turns) ? detail.turns : [];
|
|
462
|
+
}
|
|
463
|
+
/**
|
|
464
|
+
* Walk the step-start chain from a turn's owner backward via `prev` pointers.
|
|
465
|
+
* Returns step-starts in chronological order (oldest first).
|
|
466
|
+
*/
|
|
467
|
+
function walkStepStartChain(uwf, turnHead) {
|
|
468
|
+
// First, find a step-start hash from any turn's owner
|
|
469
|
+
const turnChain = [];
|
|
470
|
+
let currentTurn = turnHead;
|
|
471
|
+
// Walk the turn chain to find all unique owners
|
|
472
|
+
const seenOwners = new Set();
|
|
473
|
+
const owners = [];
|
|
474
|
+
while (currentTurn !== null) {
|
|
475
|
+
turnChain.push(currentTurn);
|
|
476
|
+
const node = uwf.store.cas.get(currentTurn);
|
|
477
|
+
if (node === null)
|
|
478
|
+
break;
|
|
479
|
+
const payload = node.payload;
|
|
480
|
+
const owner = payload.owner ?? null;
|
|
481
|
+
if (owner !== null && !seenOwners.has(owner)) {
|
|
482
|
+
seenOwners.add(owner);
|
|
483
|
+
owners.push(owner);
|
|
484
|
+
}
|
|
485
|
+
currentTurn = payload.prev ?? null;
|
|
486
|
+
}
|
|
487
|
+
// Now walk the step-start chain to get them in order
|
|
488
|
+
// Find the newest step-start and walk backward via prev
|
|
489
|
+
if (owners.length === 0) {
|
|
490
|
+
return [];
|
|
491
|
+
}
|
|
492
|
+
// Use the owners we found and order by stepIndex
|
|
493
|
+
const stepStartsWithIndex = [];
|
|
494
|
+
for (const owner of owners) {
|
|
495
|
+
const node = uwf.store.cas.get(owner);
|
|
496
|
+
if (node === null || node.type !== uwf.schemas.stepStart)
|
|
497
|
+
continue;
|
|
498
|
+
const payload = node.payload;
|
|
499
|
+
stepStartsWithIndex.push({ hash: owner, index: payload.stepIndex });
|
|
500
|
+
}
|
|
501
|
+
// Sort by stepIndex to get chronological order
|
|
502
|
+
stepStartsWithIndex.sort((a, b) => a.index - b.index);
|
|
503
|
+
return stepStartsWithIndex.map((s) => s.hash);
|
|
504
|
+
}
|
|
505
|
+
/**
|
|
506
|
+
* Build the whole-thread turn panorama (#421 Phase 3): walk the step-start chain
|
|
507
|
+
* (via turn owner → step-start → prev) and produce one group per step in
|
|
508
|
+
* chronological order. Each turn is attributed to its owning step-start via the
|
|
509
|
+
* `owner` field.
|
|
510
|
+
*
|
|
511
|
+
* Phase 3 changes (root-causing #412):
|
|
512
|
+
* - Walks step-start chain instead of role-keyed active vars
|
|
513
|
+
* - Each segment's turns sourced via `turnsOfStep(turnHead, stepStartHash)`
|
|
514
|
+
* - In-flight detection: active-step matches step-start AND no step-complete
|
|
515
|
+
* - edgePrompt readable directly from step-start
|
|
516
|
+
*
|
|
517
|
+
* In-flight step detection:
|
|
518
|
+
* 1. Check if `@uwf/active-step/<threadId>` points to this step-start hash
|
|
519
|
+
* 2. If match, this step is in-flight (no step-complete written yet)
|
|
520
|
+
*
|
|
521
|
+
* Fails with the standard `thread not found` message for an unknown thread.
|
|
522
|
+
*/
|
|
523
|
+
function buildTurnsPanorama(uwf, threadId) {
|
|
524
|
+
const entry = getThread(uwf.varStore, threadId);
|
|
525
|
+
if (entry === null) {
|
|
526
|
+
fail(`thread not found: ${threadId}`);
|
|
527
|
+
}
|
|
528
|
+
// Get the turn chain head and active-step (if any)
|
|
529
|
+
const turnHead = getActiveTurnHead(uwf.store, threadId);
|
|
530
|
+
const activeStepHash = getActiveStep(uwf.store, threadId);
|
|
531
|
+
// If no turns yet, try the legacy path via StepNode chain
|
|
532
|
+
if (turnHead === null) {
|
|
533
|
+
return buildTurnsPanoramaLegacy(uwf, threadId, entry.head);
|
|
534
|
+
}
|
|
535
|
+
// Walk the step-start chain from turn owners
|
|
536
|
+
const stepStarts = walkStepStartChain(uwf, turnHead);
|
|
537
|
+
const groups = [];
|
|
538
|
+
for (const stepStartHash of stepStarts) {
|
|
539
|
+
const node = uwf.store.cas.get(stepStartHash);
|
|
540
|
+
if (node === null || node.type !== uwf.schemas.stepStart)
|
|
541
|
+
continue;
|
|
542
|
+
const payload = node.payload;
|
|
543
|
+
const role = payload.role;
|
|
544
|
+
// Detect in-flight: active-step points to this step-start
|
|
545
|
+
const isInFlight = activeStepHash === stepStartHash;
|
|
546
|
+
// Get turns for this step using owner-based filtering
|
|
547
|
+
const turnHashes = turnsOfStep(uwf, turnHead, stepStartHash);
|
|
548
|
+
const turns = loadTurnData(uwf.store.cas, turnHashes);
|
|
549
|
+
groups.push({
|
|
550
|
+
role,
|
|
551
|
+
running: isInFlight,
|
|
552
|
+
turns,
|
|
553
|
+
stepStartHash,
|
|
554
|
+
});
|
|
555
|
+
}
|
|
556
|
+
return groups;
|
|
557
|
+
}
|
|
558
|
+
/**
|
|
559
|
+
* Legacy fallback for threads without new turn chain structure.
|
|
560
|
+
* Uses the old role-keyed active vars and StepNode detail.turns.
|
|
561
|
+
*/
|
|
562
|
+
function buildTurnsPanoramaLegacy(uwf, threadId, headHash) {
|
|
563
|
+
const chain = walkChain(uwf, headHash);
|
|
564
|
+
const ordered = collectOrderedSteps(uwf, headHash, chain);
|
|
565
|
+
const activeRoles = readActiveTurnRoles(uwf.store, threadId);
|
|
566
|
+
const activeByRole = new Map(activeRoles.map((a) => [a.role, a.turns]));
|
|
567
|
+
const consumed = new Set();
|
|
568
|
+
const groups = [];
|
|
569
|
+
for (const item of ordered) {
|
|
570
|
+
const role = item.payload.role;
|
|
571
|
+
const active = activeByRole.get(role);
|
|
572
|
+
if (active !== undefined && active.length > 0 && !consumed.has(role)) {
|
|
573
|
+
groups.push({
|
|
574
|
+
role,
|
|
575
|
+
running: true,
|
|
576
|
+
turns: loadTurnData(uwf.store.cas, active),
|
|
577
|
+
stepStartHash: null,
|
|
578
|
+
});
|
|
579
|
+
consumed.add(role);
|
|
580
|
+
}
|
|
581
|
+
else {
|
|
582
|
+
groups.push({
|
|
583
|
+
role,
|
|
584
|
+
running: false,
|
|
585
|
+
turns: loadTurnData(uwf.store.cas, readStepDetailTurns(uwf, item.hash)),
|
|
586
|
+
stepStartHash: null,
|
|
587
|
+
});
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
for (const { role, turns } of activeRoles) {
|
|
591
|
+
if (consumed.has(role)) {
|
|
592
|
+
continue;
|
|
593
|
+
}
|
|
594
|
+
groups.push({
|
|
595
|
+
role,
|
|
596
|
+
running: true,
|
|
597
|
+
turns: loadTurnData(uwf.store.cas, turns),
|
|
598
|
+
stepStartHash: null,
|
|
599
|
+
});
|
|
600
|
+
consumed.add(role);
|
|
601
|
+
}
|
|
602
|
+
return groups;
|
|
603
|
+
}
|
|
604
|
+
/**
|
|
605
|
+
* Filter the panorama to a single role (exact-match), or pass it through
|
|
606
|
+
* unchanged when `role === null` (show every role's steps). `--role` is a filter
|
|
607
|
+
* over the whole-chain panorama, so it keeps **all** steps of that role across
|
|
608
|
+
* the thread (e.g. a role that ran in two rounds), not just the latest.
|
|
609
|
+
*/
|
|
610
|
+
function filterPanoramaByRole(groups, role) {
|
|
611
|
+
if (role === null) {
|
|
612
|
+
return groups;
|
|
613
|
+
}
|
|
614
|
+
return groups.filter((g) => g.role === role);
|
|
615
|
+
}
|
|
616
|
+
/** Render a single turn's `## Turn N` block (1-based) via the reused pipeline. */
|
|
617
|
+
function formatTurnBlock(turn, displayIndex) {
|
|
618
|
+
return `## Turn ${displayIndex}\n\n${formatTurnBody(turn)}`;
|
|
619
|
+
}
|
|
620
|
+
/**
|
|
621
|
+
* Slice the panorama's flattened cross-step turn sequence to `[offset, offset+limit)`
|
|
622
|
+
* (`limit === null` → no upper bound, the OCAS `ListOptions` "no limit" convention),
|
|
623
|
+
* keeping each surviving turn's **global** index so numbering is consistent across
|
|
624
|
+
* the whole panorama. Returns per-group survivors paired with their group, so
|
|
625
|
+
* grouping/markers are preserved while pagination removes turns (not steps).
|
|
626
|
+
*/
|
|
627
|
+
function paginatePanorama(groups, offset, limit) {
|
|
628
|
+
const start = offset > 0 ? offset : 0;
|
|
629
|
+
const end = limit === null ? Number.POSITIVE_INFINITY : start + Math.max(0, limit);
|
|
630
|
+
let globalIndex = 0;
|
|
631
|
+
const result = [];
|
|
632
|
+
for (const group of groups) {
|
|
633
|
+
const survivors = [];
|
|
634
|
+
for (const turn of group.turns) {
|
|
635
|
+
const idx = globalIndex;
|
|
636
|
+
globalIndex += 1;
|
|
637
|
+
if (idx >= start && idx < end) {
|
|
638
|
+
survivors.push({ turn, globalIndex: idx });
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
result.push({ group, turns: survivors });
|
|
642
|
+
}
|
|
643
|
+
return result;
|
|
644
|
+
}
|
|
645
|
+
/** Step group header, e.g. `## developer ✓ (47 turns)` / `## reviewer 🔄 进行中 (12 turns so far)`. */
|
|
646
|
+
function formatGroupHeader(group) {
|
|
647
|
+
const count = group.turns.length;
|
|
648
|
+
if (group.running) {
|
|
649
|
+
return `## ${group.role} 🔄 进行中 (${count} turns so far)`;
|
|
650
|
+
}
|
|
651
|
+
return `## ${group.role} ✓ (${count} turns)`;
|
|
652
|
+
}
|
|
653
|
+
/**
|
|
654
|
+
* Assemble the whole-thread turn panorama markdown (#409): a thread header, then
|
|
655
|
+
* one group per step (role + `✓`/`🔄 进行中` marker + turn count), and under each
|
|
656
|
+
* the surviving turns rendered via the reused `formatTurnBlock` pipeline with
|
|
657
|
+
* their global (cross-step) turn numbers. A group whose turns are entirely sliced
|
|
658
|
+
* out by pagination still shows its header (zero turns beneath).
|
|
659
|
+
*/
|
|
660
|
+
function formatPanoramaMarkdown(threadId, groups, offset, limit) {
|
|
661
|
+
const parts = [`# Thread ${threadId}`];
|
|
662
|
+
const paged = paginatePanorama(groups, offset, limit);
|
|
663
|
+
for (const { group, turns } of paged) {
|
|
664
|
+
parts.push("");
|
|
665
|
+
parts.push(formatGroupHeader(group));
|
|
666
|
+
for (const { turn, globalIndex } of turns) {
|
|
667
|
+
parts.push("");
|
|
668
|
+
parts.push(formatTurnBlock(turn, globalIndex + 1));
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
return parts.join("\n");
|
|
672
|
+
}
|
|
673
|
+
/**
|
|
674
|
+
* Resolve the turn hashes to flush when the followed step finishes (active var
|
|
675
|
+
* gone AND thread no longer running). Phase 3: uses active-turn-head and owner
|
|
676
|
+
* filtering via turnsOfStep. Falls back to legacy role-keyed vars if no turn
|
|
677
|
+
* chain exists.
|
|
678
|
+
*/
|
|
679
|
+
function resolveFinalTurnHashesPhase3(uwf, threadId, activeStepStart) {
|
|
680
|
+
const turnHead = getActiveTurnHead(uwf.store, threadId);
|
|
681
|
+
if (turnHead !== null && activeStepStart !== null) {
|
|
682
|
+
return turnsOfStep(uwf, turnHead, activeStepStart);
|
|
683
|
+
}
|
|
684
|
+
// Fallback: no new turn chain, return empty
|
|
685
|
+
return [];
|
|
686
|
+
}
|
|
687
|
+
/**
|
|
688
|
+
* Legacy fallback for resolveFinalTurnHashes when thread uses role-keyed vars.
|
|
689
|
+
*/
|
|
690
|
+
function resolveFinalTurnHashesLegacy(uwf, threadId, followRole) {
|
|
691
|
+
const remaining = readActiveTurns(uwf.store, threadId, followRole);
|
|
692
|
+
if (remaining.length > 0) {
|
|
693
|
+
return remaining;
|
|
694
|
+
}
|
|
695
|
+
const entry = getThread(uwf.varStore, threadId);
|
|
696
|
+
if (entry === null) {
|
|
697
|
+
return [];
|
|
698
|
+
}
|
|
699
|
+
return readRoleDetailTurnsFromChain(uwf, entry.head, followRole);
|
|
700
|
+
}
|
|
701
|
+
/**
|
|
702
|
+
* Get turns for the in-flight step using Phase 3 owner-based filtering.
|
|
703
|
+
* Returns turn hashes owned by the active step-start.
|
|
704
|
+
*/
|
|
705
|
+
function getInFlightTurns(uwf, threadId) {
|
|
706
|
+
const turnHead = getActiveTurnHead(uwf.store, threadId);
|
|
707
|
+
const activeStepStart = getActiveStep(uwf.store, threadId);
|
|
708
|
+
if (turnHead === null || activeStepStart === null) {
|
|
709
|
+
return [];
|
|
710
|
+
}
|
|
711
|
+
return turnsOfStep(uwf, turnHead, activeStepStart);
|
|
712
|
+
}
|
|
713
|
+
/**
|
|
714
|
+
* Check if thread uses Phase 3 turn chain (has active-turn-head var).
|
|
715
|
+
*/
|
|
716
|
+
function hasPhase3TurnChain(uwf, threadId) {
|
|
717
|
+
return (getActiveTurnHead(uwf.store, threadId) !== null || getActiveStep(uwf.store, threadId) !== null);
|
|
718
|
+
}
|
|
719
|
+
/** Get active turns based on Phase 3 vs legacy mode. */
|
|
720
|
+
function getActiveTurnsForLive(uwf, threadId, state, followRole) {
|
|
721
|
+
if (state.usePhase3) {
|
|
722
|
+
const activeStepStart = getActiveStep(uwf.store, threadId);
|
|
723
|
+
if (activeStepStart !== null) {
|
|
724
|
+
state.lastActiveStepStart = activeStepStart;
|
|
725
|
+
}
|
|
726
|
+
return getInFlightTurns(uwf, threadId);
|
|
727
|
+
}
|
|
728
|
+
return readActiveTurns(uwf.store, threadId, followRole);
|
|
729
|
+
}
|
|
730
|
+
/** Get final turns for reconciliation based on Phase 3 vs legacy mode. */
|
|
731
|
+
function getFinalTurnsForLive(uwf, threadId, state, followRole) {
|
|
732
|
+
if (state.usePhase3) {
|
|
733
|
+
return resolveFinalTurnHashesPhase3(uwf, threadId, state.lastActiveStepStart);
|
|
734
|
+
}
|
|
735
|
+
return resolveFinalTurnHashesLegacy(uwf, threadId, followRole);
|
|
736
|
+
}
|
|
737
|
+
/**
|
|
738
|
+
* `--live` follower: poll the in-flight step's turns via the Phase 3 turn chain,
|
|
739
|
+
* printing each new turn block exactly once (tracking how many blocks were emitted
|
|
740
|
+
* and rendering only the new tail).
|
|
741
|
+
*
|
|
742
|
+
* Phase 3 changes (#421):
|
|
743
|
+
* - Uses `getActiveTurnHead` and `getActiveStep` instead of role-keyed vars
|
|
744
|
+
* - Filters turns via `turnsOfStep(turnHead, activeStepStart)`
|
|
745
|
+
* - Exits when the thread is no longer running
|
|
746
|
+
*
|
|
747
|
+
* Backward compatible: Falls back to legacy role-keyed vars for threads without
|
|
748
|
+
* Phase 3 turn chain.
|
|
749
|
+
*/
|
|
750
|
+
async function followStepTurnsLive(storageRoot, threadId, opts) {
|
|
751
|
+
const emit = opts.onChunk ?? ((chunk) => process.stdout.write(chunk));
|
|
752
|
+
const sleep = opts.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
|
|
753
|
+
const isRunning = opts.isRunning ?? (async () => (await isThreadRunning(storageRoot, threadId)) !== null);
|
|
754
|
+
const intervalMs = opts.pollIntervalMs ?? STEP_TURNS_POLL_INTERVAL_MS;
|
|
755
|
+
const followRole = opts.role ?? (await resolveLiveFollowRole(storageRoot, threadId));
|
|
756
|
+
const state = {
|
|
757
|
+
printedCount: 0,
|
|
758
|
+
lastActiveStepStart: null,
|
|
759
|
+
usePhase3: null,
|
|
760
|
+
};
|
|
761
|
+
const flush = (uwf, hashes) => {
|
|
762
|
+
if (hashes.length <= state.printedCount) {
|
|
763
|
+
return;
|
|
764
|
+
}
|
|
765
|
+
const tail = loadTurnData(uwf.store.cas, hashes.slice(state.printedCount));
|
|
766
|
+
for (let i = 0; i < tail.length; i++) {
|
|
767
|
+
const turn = tail[i];
|
|
768
|
+
if (turn === undefined)
|
|
769
|
+
continue;
|
|
770
|
+
emit(`${formatTurnBlock(turn, state.printedCount + i + 1)}\n`);
|
|
771
|
+
}
|
|
772
|
+
state.printedCount = hashes.length;
|
|
773
|
+
};
|
|
774
|
+
while (true) {
|
|
775
|
+
const uwf = await createUwfStore(storageRoot);
|
|
776
|
+
if (state.usePhase3 === null) {
|
|
777
|
+
state.usePhase3 = hasPhase3TurnChain(uwf, threadId);
|
|
778
|
+
}
|
|
779
|
+
const active = getActiveTurnsForLive(uwf, threadId, state, followRole);
|
|
780
|
+
flush(uwf, active);
|
|
781
|
+
const running = await isRunning();
|
|
782
|
+
if (!running) {
|
|
783
|
+
flush(uwf, getFinalTurnsForLive(uwf, threadId, state, followRole));
|
|
784
|
+
return;
|
|
785
|
+
}
|
|
786
|
+
await sleep(intervalMs);
|
|
787
|
+
}
|
|
788
|
+
}
|
|
789
|
+
/**
|
|
790
|
+
* Resolve the role for `--live` to follow when `--role` is omitted: the thread's
|
|
791
|
+
* current in-flight role. Prefers a role with a live `@uwf/active-turns` var
|
|
792
|
+
* (the genuinely in-flight step); falls back to the head StepNode's role, then to
|
|
793
|
+
* `"agent"` for a StartNode head. Fails with the standard `thread not found`
|
|
794
|
+
* message for an unknown thread.
|
|
795
|
+
*/
|
|
796
|
+
async function resolveLiveFollowRole(storageRoot, threadId) {
|
|
797
|
+
const uwf = await createUwfStore(storageRoot);
|
|
798
|
+
const entry = getThread(uwf.varStore, threadId);
|
|
799
|
+
if (entry === null) {
|
|
800
|
+
fail(`thread not found: ${threadId}`);
|
|
801
|
+
}
|
|
802
|
+
const activeRoles = readActiveTurnRoles(uwf.store, threadId);
|
|
803
|
+
const lastActive = activeRoles[activeRoles.length - 1];
|
|
804
|
+
if (lastActive !== undefined) {
|
|
805
|
+
return lastActive.role;
|
|
806
|
+
}
|
|
807
|
+
const node = uwf.store.cas.get(entry.head);
|
|
808
|
+
if (node !== null && node.type === uwf.schemas.stepNode) {
|
|
809
|
+
return node.payload.role;
|
|
810
|
+
}
|
|
811
|
+
return "agent";
|
|
812
|
+
}
|
|
813
|
+
/**
|
|
814
|
+
* `uwf step turns <thread-id> [--role <r>] [--live] [--limit <n>] [--offset <m>]`
|
|
815
|
+
* — render the whole-thread turn panorama (#409): walk the entire chain and show
|
|
816
|
+
* every step's turns (each completed step from its immutable `detail.turns`, the
|
|
817
|
+
* in-flight step from its active var, marked `🔄 进行中`), through the same
|
|
818
|
+
* per-turn pipeline as `step read`. `--role` filters the panorama to one role;
|
|
819
|
+
* `--limit`/`--offset` paginate the flattened cross-step turn sequence (after the
|
|
820
|
+
* role filter). With `--live`, follow the in-flight step's active var, printing
|
|
821
|
+
* new turns incrementally.
|
|
822
|
+
*
|
|
823
|
+
* Returns the assembled markdown (non-live); for `--live` the output is streamed
|
|
824
|
+
* to `onChunk`/stdout and the resolved string is returned empty.
|
|
825
|
+
*/
|
|
826
|
+
export async function cmdStepTurns(storageRoot, threadId, options) {
|
|
827
|
+
const opts = resolveStepTurnsOptions(storageRoot, threadId, options);
|
|
828
|
+
if (opts.live) {
|
|
829
|
+
await followStepTurnsLive(storageRoot, threadId, opts);
|
|
830
|
+
return "";
|
|
831
|
+
}
|
|
832
|
+
const uwf = await createUwfStore(storageRoot);
|
|
833
|
+
const panorama = buildTurnsPanorama(uwf, threadId);
|
|
834
|
+
const filtered = filterPanoramaByRole(panorama, opts.role);
|
|
835
|
+
return formatPanoramaMarkdown(threadId, filtered, opts.offset, opts.limit);
|
|
836
|
+
}
|
|
344
837
|
/**
|
|
345
838
|
* `uwf step ask` is unavailable in 0.x while broker integration (#381) is in
|
|
346
839
|
* progress. The legacy spawn-agent code path was removed alongside the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step.js","sourceRoot":"","sources":["../../src/commands/step.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"step.js","sourceRoot":"","sources":["../../src/commands/step.ts"],"names":[],"mappings":"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"}
|
package/dist/output-mappers.d.ts
CHANGED
|
@@ -51,6 +51,12 @@ export type ThreadExecPayload = {
|
|
|
51
51
|
}>;
|
|
52
52
|
};
|
|
53
53
|
export declare function toThreadExecPayload(results: StepOutput[]): ThreadExecPayload;
|
|
54
|
+
export type StepDetailUsagePayload = {
|
|
55
|
+
turns: number;
|
|
56
|
+
inputTokens: number;
|
|
57
|
+
outputTokens: number;
|
|
58
|
+
duration: number;
|
|
59
|
+
};
|
|
54
60
|
export type StepDetailPayload = {
|
|
55
61
|
hash: string;
|
|
56
62
|
role: string;
|
|
@@ -59,12 +65,14 @@ export type StepDetailPayload = {
|
|
|
59
65
|
startedAtMs: number | null;
|
|
60
66
|
completedAtMs: number | null;
|
|
61
67
|
durationMs: number | null;
|
|
68
|
+
usage: StepDetailUsagePayload | null;
|
|
62
69
|
frontmatter: Record<string, unknown>;
|
|
63
70
|
turns: Array<{
|
|
64
71
|
role: string;
|
|
65
72
|
content: string;
|
|
66
73
|
timestamp: number | null;
|
|
67
74
|
}>;
|
|
75
|
+
detail: Record<string, unknown> | null;
|
|
68
76
|
};
|
|
69
77
|
export declare function toStepDetailPayload(stepHash: CasRef, raw: unknown): StepDetailPayload;
|
|
70
78
|
export type StepListPayload = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output-mappers.d.ts","sourceRoot":"","sources":["../src/output-mappers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAElF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;GAOG;AAEH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,kBAAkB,CAEzE;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,UAAU,GAAG,mBAAmB,CAW1E;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,KAAK,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B,CAAC,CAAC;CACJ,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,EAAE,GAAG,iBAAiB,CAYxF;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,IAAI,EAAE,OAAO,CAAC;QACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,CAAC,CAAC;CACJ,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,iBAAiB,CAe5E;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"output-mappers.d.ts","sourceRoot":"","sources":["../src/output-mappers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAElF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;GAOG;AAEH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,kBAAkB,CAEzE;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,UAAU,GAAG,mBAAmB,CAW1E;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,KAAK,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B,CAAC,CAAC;CACJ,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,EAAE,GAAG,iBAAiB,CAYxF;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,IAAI,EAAE,OAAO,CAAC;QACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,CAAC,CAAC;CACJ,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,iBAAiB,CAe5E;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAC1E,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACxC,CAAC;AA2EF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,iBAAiB,CAiCrF;AAMD,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CACzE,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,eAAe,GAAG,eAAe,CAWvE;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CACzE,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,kBAAkB,GAAG,qBAAqB,CAqBtF;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnF,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,mBAAmB,CAUvF;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,iBAAiB,GAAG,kBAAkB,CAE/E;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,qBAAqB,CAE/E"}
|