@wjarka/cezarion 0.11.2 → 0.11.3
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/contract/index.js +2 -1
- package/dist/contract/workspace.d.ts +14 -0
- package/dist/core/opencode-model-catalog.d.ts +5 -5
- package/dist/core/opencode-model-catalog.js +96 -34
- package/dist/core/opencode-model-catalog.js.map +1 -1
- package/dist/core/opencode-server-runner.js +37 -2
- package/dist/core/opencode-server-runner.js.map +1 -1
- package/dist/core/pi-model-catalog.d.ts +7 -0
- package/dist/core/pi-model-catalog.js +123 -26
- package/dist/core/pi-model-catalog.js.map +1 -1
- package/dist/core/pi-runner.js +12 -10
- package/dist/core/pi-runner.js.map +1 -1
- package/dist/core/pi-ui-mapper.d.ts +1 -0
- package/dist/core/pi-ui-mapper.js +68 -11
- package/dist/core/pi-ui-mapper.js.map +1 -1
- package/dist/core/runner-model-catalog.d.ts +2 -0
- package/dist/core/runner-model-catalog.js.map +1 -1
- package/dist/server/server.d.ts +1 -0
- package/dist/workflows/run.d.ts +3 -0
- package/dist/workflows/run.js +48 -21
- package/dist/workflows/run.js.map +1 -1
- package/package.json +3 -3
- package/scripts/mock-pi-rpc.mjs +49 -2
- package/web/dist/assets/{alert-dialog-g-GVThSw.js → alert-dialog-Bib2-aHJ.js} +1 -1
- package/web/dist/assets/arrow-down-DF9UfPoy.js +1 -0
- package/web/dist/assets/arrow-left-BVgebuvi.js +1 -0
- package/web/dist/assets/{centered-state-DdbE_pNl.js → centered-state-TyZe3tga.js} +1 -1
- package/web/dist/assets/chevron-right-W2B4c3Bn.js +1 -0
- package/web/dist/assets/{collapsible-R1r7zUOB.js → collapsible-DTRw1YnV.js} +1 -1
- package/web/dist/assets/{commit-list-Bgb1DHBX.js → commit-list-BKtzO28W.js} +1 -1
- package/web/dist/assets/{compare-variants-UA_0n_5a.js → compare-variants--E1SPJzi.js} +1 -1
- package/web/dist/assets/{diff-Cv3z9esx.js → diff-DtXK3tZy.js} +2 -2
- package/web/dist/assets/{diff-stat-ydfu0_5T.js → diff-stat-CJSJmLcb.js} +1 -1
- package/web/dist/assets/{diff-view-DnPdkmk2.js → diff-view-wZScCPoa.js} +1 -1
- package/web/dist/assets/{dropdown-menu-CPP9gEmn.js → dropdown-menu-CQp168wo.js} +1 -1
- package/web/dist/assets/editable-title-BWosq6YG.js +1 -0
- package/web/dist/assets/{ellipsis-vertical-WNkaehnw.js → ellipsis-vertical-BXllsyll.js} +1 -1
- package/web/dist/assets/{file-RvhJlchx.js → file-BgcgwEU-.js} +1 -1
- package/web/dist/assets/{folder-Dz-weqBo.js → folder-DGrkgLg9.js} +1 -1
- package/web/dist/assets/{git-toolbar-BEKuAjHk.js → git-toolbar-D9Wu2J60.js} +1 -1
- package/web/dist/assets/{github-CmFHDNje.js → github-xAF2VFFK.js} +1 -1
- package/web/dist/assets/{image-preview-DYiOSYoY.js → image-preview-Cd7b7Evu.js} +1 -1
- package/web/dist/assets/index-CKWqcYjr.js +7 -0
- package/web/dist/assets/{markdown-DQHRRO9e.js → markdown-Cvzv-jvo.js} +1 -1
- package/web/dist/assets/new-task-form-CZAdHx_5.js +1 -0
- package/web/dist/assets/{pill-FAFXjmY6.js → pill-B9vrSbT6.js} +1 -1
- package/web/dist/assets/{project-router-Dzc0JK2j.js → project-router-CF-1GU39.js} +1 -1
- package/web/dist/assets/{prompt-templates-DmqtzSPL.js → prompt-templates-CSmaXZ5G.js} +1 -1
- package/web/dist/assets/{refresh-cw-BP4TkA4M.js → refresh-cw-D5a-hkgq.js} +1 -1
- package/web/dist/assets/{repo-git-C20pc5tT.js → repo-git-BicCjDSy.js} +1 -1
- package/web/dist/assets/{run-diff-CvcsWwew.js → run-diff-DWzdGMTg.js} +1 -1
- package/web/dist/assets/run-header-Cc7KFOMX.js +1 -0
- package/web/dist/assets/{search-x-Drnmsmd0.js → search-x-DJIOs-nB.js} +1 -1
- package/web/dist/assets/{skill-empty-hint-D2l_OqZ5.js → skill-empty-hint-BcecPZ6K.js} +1 -1
- package/web/dist/assets/skills-BKYATWFF.js +1 -0
- package/web/dist/assets/{sparkles-B9ja4FHw.js → sparkles-C-1JzGqe.js} +1 -1
- package/web/dist/assets/{square-terminal-CB2du-YG.js → square-terminal-CnrkOecA.js} +1 -1
- package/web/dist/assets/{tab-link-C5FWJ66Y.js → tab-link-CQgzNUwP.js} +1 -1
- package/web/dist/assets/{task-changes-CuUmQArS.js → task-changes--AyxNXvn.js} +1 -1
- package/web/dist/assets/{task-commits-DgIWIhW9.js → task-commits-DlBBODPF.js} +1 -1
- package/web/dist/assets/{task-files-BeDXPyz5.js → task-files-DZ49FGVz.js} +1 -1
- package/web/dist/assets/task-thread-D10akRi2.js +9 -0
- package/web/dist/assets/{textarea-Sm6doUPO.js → textarea-BPMIukW0.js} +1 -1
- package/web/dist/assets/{thread-loading-DojNeADh.js → thread-loading-C9cWYGbd.js} +1 -1
- package/web/dist/assets/{trash-2-C_lGBXG2.js → trash-2-CwmIdbv2.js} +1 -1
- package/web/dist/assets/{triangle-alert-Brk_ldFl.js → triangle-alert-BU7Fnc0D.js} +1 -1
- package/web/dist/assets/{upload-Cxs1UROt.js → upload-B54t9i6X.js} +1 -1
- package/web/dist/assets/{use-desktop-Cmrz3npD.js → use-desktop-Co7z3Xov.js} +1 -1
- package/web/dist/assets/{use-submit-shortcut-DzeqN3GK.js → use-submit-shortcut-DfJM2Y1U.js} +1 -1
- package/web/dist/assets/{utils-Unt0mZvU.js → utils-BLZyueuK.js} +1 -1
- package/web/dist/assets/{workflows-D_GyBbup.js → workflows-CfC6b8y4.js} +1 -1
- package/web/dist/assets/{zoomable-image-ByySCppM.js → zoomable-image-BQMum6hd.js} +1 -1
- package/web/dist/index.html +22 -22
- package/web/dist/assets/arrow-down-BzmL0uj0.js +0 -1
- package/web/dist/assets/arrow-left-DtUM7GFU.js +0 -1
- package/web/dist/assets/chevron-right-DnLh0uM2.js +0 -1
- package/web/dist/assets/editable-title-D_bWdmY0.js +0 -1
- package/web/dist/assets/index-BQTfjxFm.js +0 -7
- package/web/dist/assets/new-task-form-D2KlpqYC.js +0 -1
- package/web/dist/assets/run-header-xFlbebSJ.js +0 -1
- package/web/dist/assets/skills-Cn2ppPow.js +0 -1
- package/web/dist/assets/task-thread-2nmi0vcz.js +0 -9
package/dist/workflows/run.js
CHANGED
|
@@ -62,6 +62,23 @@ const MONITORING_MARKER_RE = /CEZ:MONITORING\s*$/;
|
|
|
62
62
|
function isClaudeScheduleWakeup(event, backend) {
|
|
63
63
|
return backend === 'claude' && event.type === 'tool-call' && event.tool === 'ScheduleWakeup';
|
|
64
64
|
}
|
|
65
|
+
/** Events that prove a parked backend has resumed work on its own. Session
|
|
66
|
+
* diagnostics and completed-turn metadata are passive and must not disarm the
|
|
67
|
+
* only wake source for a truly parked monitor. */
|
|
68
|
+
function isRunnerActivity(event) {
|
|
69
|
+
switch (event.type) {
|
|
70
|
+
case 'turn.started':
|
|
71
|
+
case 'item.started':
|
|
72
|
+
case 'item.delta':
|
|
73
|
+
case 'item.updated':
|
|
74
|
+
case 'item.completed':
|
|
75
|
+
case 'plan.updated':
|
|
76
|
+
case 'image':
|
|
77
|
+
return true;
|
|
78
|
+
default:
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
65
82
|
/**
|
|
66
83
|
* Preserve boundaries between complete assistant text blocks while a turn is
|
|
67
84
|
* accumulated for marker parsing. The runners join these same v1 blocks with
|
|
@@ -1699,6 +1716,18 @@ export class RunManager {
|
|
|
1699
1716
|
}
|
|
1700
1717
|
return delivered;
|
|
1701
1718
|
}
|
|
1719
|
+
/** Restore active lifecycle/accounting when either Cezar or the backend
|
|
1720
|
+
* resumes work in a parked session. */
|
|
1721
|
+
resumeParkedRun(runId, state) {
|
|
1722
|
+
this.clearIdleTimer(state);
|
|
1723
|
+
this.clearMonitoringWakeTimer(state, runId);
|
|
1724
|
+
this.waiting.delete(runId);
|
|
1725
|
+
this.monitoring.delete(runId);
|
|
1726
|
+
this.store.updateRun(runId, { status: 'running', activity: undefined });
|
|
1727
|
+
if (state.currentStepId) {
|
|
1728
|
+
this.store.updateStep(runId, state.currentStepId, { status: 'running' });
|
|
1729
|
+
}
|
|
1730
|
+
}
|
|
1702
1731
|
/** Shared live-session delivery. Synthetic scheduler prompts reuse lifecycle
|
|
1703
1732
|
* bookkeeping without masquerading as user-authored transcript messages. */
|
|
1704
1733
|
deliverMessage(runId, content, userAuthored) {
|
|
@@ -1733,18 +1762,8 @@ export class RunManager {
|
|
|
1733
1762
|
const expanded = userAuthored ? expandRegistrySlashSkill(content, state.skills ?? []) : content;
|
|
1734
1763
|
const deliverable = persisted.length ? [...expanded, pastedAttachmentsNote(persisted)] : expanded;
|
|
1735
1764
|
const delivered = state.session.sendMessage(deliverable);
|
|
1736
|
-
if (delivered)
|
|
1737
|
-
this.
|
|
1738
|
-
this.clearMonitoringWakeTimer(state, runId);
|
|
1739
|
-
this.waiting.delete(runId); // resumed — the run counts against slots again
|
|
1740
|
-
this.monitoring.delete(runId);
|
|
1741
|
-
// Clear any `monitoring` activity — the agent is actively working again
|
|
1742
|
-
// (spec 2026-07-18-subagent-monitoring-status, #490).
|
|
1743
|
-
this.store.updateRun(runId, { status: 'running', activity: undefined });
|
|
1744
|
-
if (state.currentStepId) {
|
|
1745
|
-
this.store.updateStep(runId, state.currentStepId, { status: 'running' });
|
|
1746
|
-
}
|
|
1747
|
-
}
|
|
1765
|
+
if (delivered)
|
|
1766
|
+
this.resumeParkedRun(runId, state);
|
|
1748
1767
|
return delivered;
|
|
1749
1768
|
}
|
|
1750
1769
|
/** Close the open session gracefully — the run then completes as `done`
|
|
@@ -2843,16 +2862,24 @@ export class RunManager {
|
|
|
2843
2862
|
handleRunnerUiEvent(runId, state, sink, event) {
|
|
2844
2863
|
this.recordUsageUiEvent(runId, state, event);
|
|
2845
2864
|
sink.handle(event);
|
|
2846
|
-
if (
|
|
2865
|
+
if (state.cancelled)
|
|
2847
2866
|
return;
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
|
|
2867
|
+
if (event.type === 'ask.requested') {
|
|
2868
|
+
this.clearIdleTimer(state);
|
|
2869
|
+
this.monitoring.delete(runId);
|
|
2870
|
+
this.clearMonitoringWakeTimer(state, runId);
|
|
2871
|
+
this.waiting.add(runId);
|
|
2872
|
+
this.store.updateRun(runId, { status: 'waiting', activity: undefined });
|
|
2873
|
+
if (state.currentStepId)
|
|
2874
|
+
this.store.updateStep(runId, state.currentStepId, { status: 'waiting' });
|
|
2875
|
+
this.releaseSlot();
|
|
2876
|
+
return;
|
|
2877
|
+
}
|
|
2878
|
+
// Pi can resume autonomously when an async subagent completes. Work-producing
|
|
2879
|
+
// events prove the backend owns an active turn again, so cancel its stale
|
|
2880
|
+
// scheduler wake and restore active slot accounting.
|
|
2881
|
+
if (this.monitoring.has(runId) && isRunnerActivity(event))
|
|
2882
|
+
this.resumeParkedRun(runId, state);
|
|
2856
2883
|
}
|
|
2857
2884
|
/** Persist the invocation checkpoint before launching a runner. A throw or
|
|
2858
2885
|
* process exit before `turn.started` therefore leaves a durable mismatch. */
|