@cuna_labs/cli 0.1.0 → 0.1.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/bin/cuna.js +15 -2
- package/dist/bin/cuna.js.map +1 -1
- package/dist/cli/command-help.js +2 -2
- package/dist/cli/command-help.js.map +1 -1
- package/dist/cli/first-line.d.ts +80 -0
- package/dist/cli/first-line.d.ts.map +1 -0
- package/dist/cli/first-line.js +119 -0
- package/dist/cli/first-line.js.map +1 -0
- package/dist/cli/help.js +1 -1
- package/dist/cli/process-entrypoint.d.ts +3 -0
- package/dist/cli/process-entrypoint.d.ts.map +1 -1
- package/dist/cli/process-entrypoint.js +3 -1
- package/dist/cli/process-entrypoint.js.map +1 -1
- package/dist/cli/progress-line.d.ts +78 -0
- package/dist/cli/progress-line.d.ts.map +1 -0
- package/dist/cli/progress-line.js +94 -0
- package/dist/cli/progress-line.js.map +1 -0
- package/dist/cli/recorded-launch-prompt.d.ts +83 -0
- package/dist/cli/recorded-launch-prompt.d.ts.map +1 -0
- package/dist/cli/recorded-launch-prompt.js +80 -0
- package/dist/cli/recorded-launch-prompt.js.map +1 -0
- package/dist/cli/run.d.ts +19 -0
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +233 -75
- package/dist/cli/run.js.map +1 -1
- package/dist/commands/commands.js +6 -4
- package/dist/commands/commands.js.map +1 -1
- package/dist/journey/account-identity.d.ts +55 -0
- package/dist/journey/account-identity.d.ts.map +1 -0
- package/dist/journey/account-identity.js +69 -0
- package/dist/journey/account-identity.js.map +1 -0
- package/dist/journey/api-effects.d.ts +9 -0
- package/dist/journey/api-effects.d.ts.map +1 -1
- package/dist/journey/api-effects.js +172 -19
- package/dist/journey/api-effects.js.map +1 -1
- package/dist/journey/index.d.ts +3 -1
- package/dist/journey/index.d.ts.map +1 -1
- package/dist/journey/index.js +2 -0
- package/dist/journey/index.js.map +1 -1
- package/dist/journey/orchestrator.d.ts +24 -0
- package/dist/journey/orchestrator.d.ts.map +1 -1
- package/dist/journey/orchestrator.js +21 -3
- package/dist/journey/orchestrator.js.map +1 -1
- package/dist/journey/provider-launch-intent.d.ts +11 -0
- package/dist/journey/provider-launch-intent.d.ts.map +1 -1
- package/dist/journey/provider-launch-intent.js +50 -15
- package/dist/journey/provider-launch-intent.js.map +1 -1
- package/dist/journey/remote-workspace.d.ts +11 -0
- package/dist/journey/remote-workspace.d.ts.map +1 -1
- package/dist/journey/remote-workspace.js +94 -14
- package/dist/journey/remote-workspace.js.map +1 -1
- package/dist/journey/root-entry.d.ts +15 -0
- package/dist/journey/root-entry.d.ts.map +1 -1
- package/dist/journey/root-entry.js +18 -6
- package/dist/journey/root-entry.js.map +1 -1
- package/dist/journey/selection.d.ts +9 -0
- package/dist/journey/selection.d.ts.map +1 -1
- package/dist/journey/selection.js +14 -2
- package/dist/journey/selection.js.map +1 -1
- package/dist/journey/session-disposition.d.ts +45 -0
- package/dist/journey/session-disposition.d.ts.map +1 -0
- package/dist/journey/session-disposition.js +7 -0
- package/dist/journey/session-disposition.js.map +1 -0
- package/dist/journey/wait-policy.d.ts +218 -0
- package/dist/journey/wait-policy.d.ts.map +1 -0
- package/dist/journey/wait-policy.js +233 -0
- package/dist/journey/wait-policy.js.map +1 -0
- package/dist/journey/workspace-effects.d.ts +7 -1
- package/dist/journey/workspace-effects.d.ts.map +1 -1
- package/dist/journey/workspace-effects.js +131 -14
- package/dist/journey/workspace-effects.js.map +1 -1
- package/dist/machines/explorer.js +2 -2
- package/dist/machines/explorer.js.map +1 -1
- package/dist/machines/machine-first.d.ts.map +1 -1
- package/dist/machines/machine-first.js +2 -0
- package/dist/machines/machine-first.js.map +1 -1
- package/dist/machines/session-actionability.js +10 -0
- package/dist/machines/session-actionability.js.map +1 -1
- package/dist/machines/session-visibility.d.ts +2 -0
- package/dist/machines/session-visibility.d.ts.map +1 -1
- package/dist/machines/session-visibility.js +5 -0
- package/dist/machines/session-visibility.js.map +1 -1
- package/dist/platform/process-lock.d.ts +21 -0
- package/dist/platform/process-lock.d.ts.map +1 -0
- package/dist/platform/process-lock.js +114 -0
- package/dist/platform/process-lock.js.map +1 -0
- package/dist/runtime/boundary.d.ts +2 -0
- package/dist/runtime/boundary.d.ts.map +1 -1
- package/dist/runtime/boundary.js +155 -8
- package/dist/runtime/boundary.js.map +1 -1
- package/dist/runtime/node-foreground-session.d.ts +10 -0
- package/dist/runtime/node-foreground-session.d.ts.map +1 -1
- package/dist/runtime/node-foreground-session.js +112 -4
- package/dist/runtime/node-foreground-session.js.map +1 -1
- package/dist/runtime/terminal-client-identity.d.ts +66 -0
- package/dist/runtime/terminal-client-identity.d.ts.map +1 -0
- package/dist/runtime/terminal-client-identity.js +184 -0
- package/dist/runtime/terminal-client-identity.js.map +1 -0
- package/dist/runtime/terminal-transport.js +2 -2
- package/dist/runtime/terminal-transport.js.map +1 -1
- package/dist/sync/continuous-sync-supervisor.d.ts +64 -1
- package/dist/sync/continuous-sync-supervisor.d.ts.map +1 -1
- package/dist/sync/continuous-sync-supervisor.js +247 -28
- package/dist/sync/continuous-sync-supervisor.js.map +1 -1
- package/dist/sync/journal.js +9 -39
- package/dist/sync/journal.js.map +1 -1
- package/dist/sync/workspace-sync-product-service.d.ts +83 -1
- package/dist/sync/workspace-sync-product-service.d.ts.map +1 -1
- package/dist/sync/workspace-sync-product-service.js +324 -12
- package/dist/sync/workspace-sync-product-service.js.map +1 -1
- package/dist/terminal/foreground.d.ts.map +1 -1
- package/dist/terminal/foreground.js +82 -15
- package/dist/terminal/foreground.js.map +1 -1
- package/dist/terminal/workbench.d.ts +7 -0
- package/dist/terminal/workbench.d.ts.map +1 -1
- package/dist/terminal/workbench.js +24 -6
- package/dist/terminal/workbench.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selection.js","sourceRoot":"","sources":["../../src/journey/selection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"selection.js","sourceRoot":"","sources":["../../src/journey/selection.ts"],"names":[],"mappings":"AAwOA,MAAM,cAAc,GAAG,IAAI,GAAG,CAAwB;IACpD,UAAU;IACV,SAAS;IACT,QAAQ;IACR,WAAW;IACX,SAAS;IACT,SAAS;IACT,OAAO;IACP,SAAS;CACV,CAAC,CAAC;AACH,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAwB;IAC7D,UAAU;IACV,SAAS;IACT,QAAQ;IACR,WAAW;IACX,SAAS;CACV,CAAC,CAAC;AACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAY,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AACpF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAgB,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC,CAAC;AACvF,MAAM,cAAc,GAAG,IAAI,GAAG,CAA2B;IACvD,SAAS;IACT,UAAU;IACV,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,aAAa;IACb,YAAY;CACb,CAAC,CAAC;AACH,MAAM,cAAc,GAAG,gCAAgC,CAAC;AAExD,SAAS,UAAU,CAAyB,IAAO;IACjD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,WAAW,CAClB,MAAmC,EACnC,MAAiC,EACjC,QAAiB,EACjB,MAAe;IAEf,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,aAAa;QACnB,MAAM;QACN,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC/C,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3C,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC3C,IACE,SAAS,KAAK,SAAS;YACvB,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,CAAC,EAC/D,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,MAAM,GAAG,CAAC;QAChB,KAAK,CAAC,MAAM,IAAI,GAAG;QACnB,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAC5B,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3F,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/C,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,eAAe,CAAC,KAAyC;IAChE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QAClC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,SAAmD;IACzE,OAAO,CACL,OAAO,SAAS,KAAK,QAAQ;QAC7B,SAAS,KAAK,IAAI;QAClB,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS;YAC5B,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACjE,CAAC,SAAS,CAAC,SAAS,KAAK,SAAS;YAChC,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,OAAoC;IACxD,OAAO,CACL,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;QAC3B,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1D,CAAC,OAAO,CAAC,qBAAqB,KAAK,WAAW;YAC5C,OAAO,CAAC,qBAAqB,KAAK,aAAa;YAC/C,OAAO,CAAC,qBAAqB,KAAK,SAAS,CAAC;QAC9C,CAAC,OAAO,CAAC,qBAAqB,KAAK,SAAS;YAC1C,OAAO,CAAC,qBAAqB,KAAK,qCAAqC,CAAC;QAC1E,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;QACjC,CAAC,OAAO,CAAC,SAAS,KAAK,OAAO,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC;QACrG,CAAC,OAAO,CAAC,SAAS,KAAK,OAAO,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC;QACnG,CAAC,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,KAAK,YAAY,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC;QACnG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC;QACjC,CAAC,OAAO,CAAC,UAAU,KAAK,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,KAAK,aAAa,CAAC,CAC7G,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,sBAAsB,CAAC,OAAoC;IAClE,OAAO,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC;AACpE,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAoC;IAChE,OAAO,OAAO,CAAC,qBAAqB,KAAK,WAAW;QAClD,CAAC,OAAO,CAAC,qBAAqB,KAAK,SAAS,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,WAAW,CAAC,OAAoC;IACvD,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAClE,MAAM,IAAI,SAAS,CAAC,2EAA2E,CAAC,CAAC;IACnG,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;QAC9B,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACpF,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;KACjG,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS;QACT,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,QAAgD;IACpE,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,GAAG,QAAQ,CAAC;SACV,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SACtD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAC1C,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAAoC;IAEpC,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5F,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC,SAAS,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACvG,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QAClC,OAAO,WAAW,CAAC,SAAS,EAAE,6BAA6B,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,OAAO,CAAC,qBAAqB,KAAK,qCAAqC,EAAE,CAAC;QAC5E,OAAO,WAAW,CAAC,SAAS,EAAE,qCAAqC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,yEAAyE;IACzE,uEAAuE;IACvE,uEAAuE;IACvE,yEAAyE;IACzE,0EAA0E;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,wEAAwE;IACxE,0CAA0C;IAC1C,IAAI,OAAO,CAAC,qBAAqB,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/E,OAAO,WAAW,CAAC,SAAS,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,OAAO,CAAC,qBAAqB,KAAK,aAAa,EAAE,CAAC;QACpD,OAAO,UAAU,CAAC;YAChB,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,OAAO,CAAC,EAAE;YACpB,MAAM,EAAE,gBAAgB;SACzB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC,SAAS,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5F,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,WAAW,CAAC,SAAS,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CACtB,OAAoC,EACpC,MAAmC;IAEnC,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,SAAS;QACjB,MAAM;QACN,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;KAC9B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAA4B;IAC/D,IACE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC;QACjC,CAAC,KAAK,CAAC,mBAAmB,KAAK,OAAO;YACpC,KAAK,CAAC,mBAAmB,KAAK,OAAO;YACrC,KAAK,CAAC,mBAAmB,KAAK,SAAS,CAAC;QAC1C,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC9B,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS;YAC3B,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI;YAC5B,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC;QACjC,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS;YACjC,KAAK,CAAC,cAAc,CAAC,SAAS,KAAK,OAAO;YAC1C,KAAK,CAAC,cAAc,CAAC,SAAS,KAAK,OAAO;YAC1C,KAAK,CAAC,cAAc,CAAC,SAAS,KAAK,SAAS,CAAC,EAC/C,CAAC;QACD,OAAO,WAAW,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACvE,OAAO,WAAW,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,UAAU,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,KAAK,CAAC,mBAAmB,KAAK,OAAO,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,SAAS;gBACzC,MAAM,EAAE,2BAA2B;aACpC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,WAAW,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC7D,OAAO,WAAW,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,OAAO,WAAW,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAEnF,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,WAAW,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;QAClG,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAChD,KAAK,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI;YAC3B,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,QAAQ,CAAC,KAAK;YACrC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,EAAE,KAAK,CAC3C,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,OAAO,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,EAAE,CAAC;gBAC9F,OAAO,WAAW,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;YACxD,CAAC;YACD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAC/B,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,qBAAqB,KAAK,WAAW;gBAC7C,OAAO,CAAC,KAAK,KAAK,SAAS;gBAC3B,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAC7C,CAAC;YACF,wEAAwE;YACxE,kEAAkE;YAClE,wEAAwE;YACxE,sEAAsE;YACtE,uEAAuE;YACvE,4BAA4B;YAC5B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,MAAM,SAAS,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;oBAChD,OAAO,SAAS,IAAI,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;YACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,WAAW,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;YACjF,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,gBAAgB;gBACxB,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC;aACrC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1F,MAAM,SAAS,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,SAAS,IAAI,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,OAAO,WAAW,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;QAChG,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;YAClC,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE,2BAA2B;aACpC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;QACvF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE,iBAAiB;aAC1B,CAAC,CAAC;QACL,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;YAClC,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE,mBAAmB;aAC5B,CAAC,CAAC;QACL,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;YAClC,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE,2BAA2B;aACpC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACnD,OAAO,SAAS,IAAI,eAAe,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,mBAAmB,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAC/C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAC9E,CAAC;IACF,IACE,KAAK,CAAC,QAAQ,CAAC,IAAI,CACjB,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,SAAS,KAAK,SAAS;QAC/B,OAAO,CAAC,qBAAqB,KAAK,SAAS;QAC3C,sBAAsB,CAAC,OAAO,CAAC;QAC/B,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAC9E;QACD,mBAAmB,CAAC,IAAI,CACtB,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,SAAS,KAAK,SAAS;YAC/B,OAAO,CAAC,SAAS,KAAK,OAAO;YAC7B,OAAO,CAAC,KAAK,KAAK,SAAS;YAC3B,CAAC,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAChF,EACD,CAAC;QACD,OAAO,WAAW,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CACzC,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,SAAS,KAAK,OAAO;QAC7B,OAAO,CAAC,SAAS,KAAK,OAAO;QAC7B,OAAO,CAAC,KAAK,KAAK,SAAS;QAC3B,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1C,OAAO,CAAC,OAAO,KAAK,QAAQ,CAC/B,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACvD,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,UAAU,CAAC;YAChB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,gCAAgC;YACxC,UAAU,EAAE,YAAY,CAAC,QAAQ,CAAC;SACnC,CAAC,CAAC;IACL,CAAC;IACD,uEAAuE;IACvE,2EAA2E;IAC3E,uDAAuD;IACvD,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CACvC,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,SAAS,KAAK,OAAO;QAC7B,OAAO,CAAC,SAAS,KAAK,OAAO;QAC7B,OAAO,CAAC,qBAAqB,KAAK,qCAAqC;QACvE,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAC7C,CAAC;IACF,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,WAAW,CAAC,SAAS,EAAE,qCAAqC,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,yBAAyB;KAClC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAyC;IAClE,OAAO,CACL,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC;QACjC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;QACzB,cAAc,CAAC,OAAO,CAAC,iBAAiB,CAAC;QACzC,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,CAAC,aAAa,KAAK,WAAW,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC;QACrH,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACjD,OAAO,CAAC,mBAAmB,IAAI,CAAC;QAChC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC;QAC9B,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;QAChC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC;QACxC,CAAC,OAAO,CAAC,UAAU,KAAK,UAAU;YAChC,OAAO,CAAC,UAAU,KAAK,UAAU;YACjC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC;QACnC,kEAAkE;QAClE,sEAAsE;QACtE,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS;YACrC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,UAAU,IAAI,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACjF,CAAC,OAAO,CAAC,SAAS,KAAK,OAAO,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC;QACnG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAC/C,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAyC,EACzC,KAAiC;IAEjC,OAAO,CACL,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;QACrC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,cAAc;QACtC,OAAO,CAAC,iBAAiB,KAAK,KAAK,CAAC,iBAAiB;QACrD,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC;QACjC,OAAO,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;QACzB,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CACpC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,iBAAiB,CACxB,OAAyC,EACzC,KAAiC;IAEjC,OAAO,OAAO,CAAC,aAAa,KAAK,WAAW,IAAI,OAAO,CAAC,mBAAmB,KAAK,KAAK,CAAC,mBAAmB,CAAC;AAC5G,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAyC;IACjE,IAAI,OAAO,CAAC,YAAY,KAAK,OAAO,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC3E,MAAM,IAAI,SAAS,CAAC,oEAAoE,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,OAAO,CAAC,YAAY;QAC3B,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAqD;IAErD,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,GAAG,QAAQ,CAAC;SACV,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SACtD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAC/C,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAAyC,EACzC,MAAwC;IAExC,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,eAAe;QACvB,MAAM;QACN,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,cAAc,EAAE,OAAO,CAAC,EAAE;QAC1B,YAAY,EAAE,gBAAgB,CAAC,OAAO,CAAC;KACxC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAC1B,OAAyC,EACzC,KAAiC;IAEjC,IAAI,MAA8C,CAAC;IACnD,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;QAAE,MAAM,GAAG,kBAAkB,CAAC;SAClE,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,cAAc;QAAE,MAAM,GAAG,gBAAgB,CAAC;SACtE,IAAI,OAAO,CAAC,iBAAiB,KAAK,KAAK,CAAC,iBAAiB;QAAE,MAAM,GAAG,6BAA6B,CAAC;SAClG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,MAAM,GAAG,+BAA+B,CAAC;SACjF,IAAI,OAAO,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;QAAE,MAAM,GAAG,cAAc,CAAC;SACvD,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;QAAE,MAAM,GAAG,oBAAoB,CAAC;IAC5E,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,OAAO,CAAC,EAAE;QACpB,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AAED,SAAS,4BAA4B,CACnC,OAAyC;IAEzC,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QAClC,OAAO,WAAW,CAAC,eAAe,EAAE,6BAA6B,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC,eAAe,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACzG,IAAI,OAAO,CAAC,YAAY,KAAK,OAAO,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC3E,OAAO,WAAW,CAAC,eAAe,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC,eAAe,EAAE,yBAAyB,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACjH,IAAI,OAAO,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QACtC,OAAO,WAAW,CAAC,eAAe,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,KAAiC;IAEjC,IACE,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC;QAChC,CAAC,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAAC;QACxC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,mBAAmB,CAAC;QAChD,KAAK,CAAC,mBAAmB,GAAG,CAAC;QAC7B,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC;QAC7B,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC;QACjC,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC/B,CAAC,KAAK,CAAC,mBAAmB,KAAK,OAAO;YACpC,KAAK,CAAC,mBAAmB,KAAK,OAAO;YACrC,KAAK,CAAC,mBAAmB,KAAK,SAAS,CAAC;QAC1C,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,EACnC,CAAC;QACD,OAAO,WAAW,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,WAAW,CAAC,eAAe,EAAE,yBAAyB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,UAAU,CAAC;YAChB,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,eAAe;YACvB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,mBAAmB,KAAK,OAAO,EAAE,CAAC;QAC1C,OAAO,WAAW,CAAC,eAAe,EAAE,6BAA6B,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACvE,OAAO,WAAW,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC;QAAE,OAAO,WAAW,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IAE9F,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1C,OAAO,WAAW,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,KAAK,CAAC,cAAc,CAAC,CAAC;QAC/F,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,WAAW,CAAC,eAAe,EAAE,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;QAClG,MAAM,eAAe,GAAG,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5D,IAAI,eAAe,KAAK,SAAS;YAAE,OAAO,eAAe,CAAC;QAC1D,MAAM,SAAS,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAC;QACxD,OAAO,SAAS,IAAI,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACzF;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CACvB,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,SAAS,KAAK,OAAO;QAC7B,CAAC,OAAO,CAAC,YAAY,KAAK,OAAO,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAC3E,CAAC;IACF,IACE,KAAK,CAAC,IAAI,CACR,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,SAAS,KAAK,OAAO;QAC7B,OAAO,CAAC,YAAY,KAAK,SAAS;QAClC,OAAO,CAAC,YAAY,KAAK,UAAU;QACnC,OAAO,CAAC,YAAY,KAAK,aAAa,CACzC,EACD,CAAC;QACD,OAAO,WAAW,CAAC,eAAe,EAAE,6BAA6B,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;IAC7E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACvD,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,UAAU,CAAC;YAChB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,eAAe;YACvB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,gCAAgC;YACxC,UAAU,EAAE,iBAAiB,CAAC,QAAQ,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;IACD,4EAA4E;IAC5E,6EAA6E;IAC7E,2EAA2E;IAC3E,6BAA6B;IAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC;IAC9E,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,WAAW,CAAC,eAAe,EAAE,yBAAyB,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;IACvE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,WAAW,CAAC,eAAe,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,eAAe;QACvB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,MAAM,EAAE,yBAAyB;KAClC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAA4B;IAC/D,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxD,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC;IAC1F,OAAO,yBAAyB,CAAC;QAC/B,GAAG,KAAK,CAAC,YAAY;QACrB,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WHETHER THE ROW THIS JOURNEY LANDED ON IS NEW, AS ONE RULE.
|
|
3
|
+
*
|
|
4
|
+
* WHY THIS FILE EXISTS. The journey's plan and the person's answer disagree on
|
|
5
|
+
* one branch, and only one of them is right.
|
|
6
|
+
*
|
|
7
|
+
* `orchestrator.ts` derives its disposition from the selection plan: a plan of
|
|
8
|
+
* `create-required` is announced as `created`. That is true of every branch but
|
|
9
|
+
* one. When a recorded launch exists, `withProviderLaunchIntent`
|
|
10
|
+
* (`provider-launch-intent.ts`) asks "A previous launch is recorded. Create
|
|
11
|
+
* another session?" and, on No, dispatches the create carrying the RECORDED
|
|
12
|
+
* operation id rather than a fresh one — which returns the session that launch
|
|
13
|
+
* already produced. The plan still reads `create-required`, so the screen would
|
|
14
|
+
* say `Resuming the recorded launch` and then, two lines later, `AgentSession
|
|
15
|
+
* 00b6d65a · created`. One of those sentences is false, and it is the one that
|
|
16
|
+
* names the row.
|
|
17
|
+
*
|
|
18
|
+
* THE DISCRIMINATOR IS THE ANSWER, and nothing else on the path has it: the
|
|
19
|
+
* remote returns the same shape either way, and the local journal does not
|
|
20
|
+
* record which id a previous launch produced. So the rule is stated here once
|
|
21
|
+
* and both launch paths read it — `journey/remote-workspace.ts` for the
|
|
22
|
+
* remote-only menu launch, `cli/run.ts` for the local-path journey, which owns
|
|
23
|
+
* the prompt and is therefore the only caller that knows the answer.
|
|
24
|
+
*
|
|
25
|
+
* WHAT `reused` CLAIMS, EXACTLY. That this journey did not mint a new launch
|
|
26
|
+
* identity: it either selected a row that was already there, or re-dispatched
|
|
27
|
+
* the identity of a launch that had already been applied. It does NOT claim the
|
|
28
|
+
* remote performed no work. That is the distinction a person needs — am I being
|
|
29
|
+
* returned to something, or is something new starting — and it is the one the
|
|
30
|
+
* CLI can actually establish.
|
|
31
|
+
*/
|
|
32
|
+
export type AgentSessionDisposition = "created" | "reused";
|
|
33
|
+
/** Which AgentSession a launch settled on, and whether it is new. */
|
|
34
|
+
export interface SettledAgentSession {
|
|
35
|
+
readonly agentSessionId: string;
|
|
36
|
+
readonly machineId: string;
|
|
37
|
+
readonly disposition: AgentSessionDisposition;
|
|
38
|
+
}
|
|
39
|
+
export declare function settledAgentSessionDisposition(input: {
|
|
40
|
+
/** What the selection plan decided before the question was asked. */
|
|
41
|
+
readonly planned: AgentSessionDisposition;
|
|
42
|
+
/** True once the recorded-launch question has been answered No. */
|
|
43
|
+
readonly resumedRecordedLaunch: boolean;
|
|
44
|
+
}): AgentSessionDisposition;
|
|
45
|
+
//# sourceMappingURL=session-disposition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-disposition.d.ts","sourceRoot":"","sources":["../../src/journey/session-disposition.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE3D,qEAAqE;AACrE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAAC;CAC/C;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE;IACpD,qEAAqE;IACrE,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;IAC1C,mEAAmE;IACnE,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;CACzC,GAAG,uBAAuB,CAK1B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export function settledAgentSessionDisposition(input) {
|
|
2
|
+
// One-directional on purpose. A recorded launch can turn a planned create
|
|
3
|
+
// into a reuse; nothing can turn a plan that selected an existing row into a
|
|
4
|
+
// create, so `reused` is never overwritten.
|
|
5
|
+
return input.planned === "created" && input.resumedRecordedLaunch ? "reused" : input.planned;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=session-disposition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-disposition.js","sourceRoot":"","sources":["../../src/journey/session-disposition.ts"],"names":[],"mappings":"AAwCA,MAAM,UAAU,8BAA8B,CAAC,KAK9C;IACC,0EAA0E;IAC1E,6EAA6E;IAC7E,4CAA4C;IAC5C,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;AAC/F,CAAC"}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import { CunaError } from "../core/errors.js";
|
|
2
|
+
/**
|
|
3
|
+
* THE ONE PLACE THAT DECIDES HOW LONG A JOURNEY PHASE WAITS, AND WHAT THE
|
|
4
|
+
* SCREEN SAYS WHILE IT DOES.
|
|
5
|
+
*
|
|
6
|
+
* WHY THIS FILE EXISTS. Measured 2026-09-22 against `@cuna_labs/cli` 0.1.1
|
|
7
|
+
* (build bb18869345927ad8…) and edge contract b25188d361c55558… on Machine
|
|
8
|
+
* `rexbit-claude-qa4`, recorded in `prds/cuna-cli-latency-before-20260922.md`:
|
|
9
|
+
*
|
|
10
|
+
* 1. § 2 / § 4, run `cold1`. One `GET /v1/agent-sessions/<id>` exceeded the
|
|
11
|
+
* CLI's own 15 000 ms per-request budget and the WHOLE journey aborted at
|
|
12
|
+
* t=83 043 ms with `cuna.client.response_budget_elapsed` and
|
|
13
|
+
* `remote_outcome: unobserved` — against a route whose warm floor is 106 ms
|
|
14
|
+
* (§ 1), for an AgentSession that was healthy and still `process_state
|
|
15
|
+
* running` fifteen minutes later. One slow read of an IDEMPOTENT resource
|
|
16
|
+
* ended a journey that had plenty of its own time left.
|
|
17
|
+
* 2. § 3, finding 2. The longest stall was 61 259 ms on one unchanging
|
|
18
|
+
* sentence, `Starting Claude Code · still working — Ctrl-C cancels`, while
|
|
19
|
+
* this exact poll loop ran. Bytes kept flowing (the spinner repaints every
|
|
20
|
+
* 90 ms) and information did not, so a byte-level liveness test passes and
|
|
21
|
+
* misses the entire defect.
|
|
22
|
+
* 3. § 3, finding 3. The only escalation the CLI had was appending
|
|
23
|
+
* `· still working`. It never named WHAT it waited for, never showed
|
|
24
|
+
* elapsed time, and never named the deadline it was about to enforce — so
|
|
25
|
+
* the budget expiry arrived with no warning at all.
|
|
26
|
+
*
|
|
27
|
+
* SO THIS MODULE SEPARATES TWO BOUNDS THAT WERE ONE. The per-request budget in
|
|
28
|
+
* `core/observation-budget.ts` answers "how long do I wait for ONE response
|
|
29
|
+
* before I stop believing this connection". The deadline here answers "how long
|
|
30
|
+
* is this PHASE of the journey worth". Collapsing them made the first the
|
|
31
|
+
* second, which is why a single slow read could end everything.
|
|
32
|
+
*
|
|
33
|
+
* WHAT IT DOES NOT CHANGE. A non-idempotent step keeps today's behaviour
|
|
34
|
+
* exactly: a create, a transition or a reconcile whose response was not
|
|
35
|
+
* observed is still an unknown outcome, and this module never re-issues one.
|
|
36
|
+
* `reissueIdempotentRead` is named for the only thing it is correct for.
|
|
37
|
+
*/
|
|
38
|
+
/**
|
|
39
|
+
* The backoff both readiness loops sleep on, kept exactly as measured.
|
|
40
|
+
*
|
|
41
|
+
* `min(2000, 100 * 2 ** min(attempt, 4))` looks like it climbs to 2 000 ms and
|
|
42
|
+
* does not: the exponent is capped at 4, so the value is 100, 200, 400, 800 and
|
|
43
|
+
* then 1 600 ms forever. The 2 000 ceiling is unreachable. Stated here because
|
|
44
|
+
* every deadline below is derived from this curve, and deriving one from the
|
|
45
|
+
* ceiling the expression appears to have overstates the old reach by 25%.
|
|
46
|
+
*/
|
|
47
|
+
export declare function readinessBackoffMs(attempt: number): number;
|
|
48
|
+
/**
|
|
49
|
+
* The wall time a loop of `attempts` iterations spends sleeping on that curve.
|
|
50
|
+
* Exported so the deadlines below can be checked rather than believed.
|
|
51
|
+
*/
|
|
52
|
+
export declare function readinessBackoffTotalMs(attempts: number): number;
|
|
53
|
+
/**
|
|
54
|
+
* How long `ready-agent-session` is worth before the CLI stops waiting.
|
|
55
|
+
*
|
|
56
|
+
* DERIVATION, from what the code already spent rather than from a new opinion.
|
|
57
|
+
* The loop this replaces was bounded by 90 attempts on the curve above, which
|
|
58
|
+
* is `readinessBackoffTotalMs(90)` = 139 100 ms of sleeping PLUS every read's
|
|
59
|
+
* own time — measured median 2 744 ms for this route's command and up to
|
|
60
|
+
* 15 000 ms when a read burns its whole budget
|
|
61
|
+
* (`prds/cuna-cli-latency-before-20260922.md` § 1b), so the old wall reach was
|
|
62
|
+
* already well above 139 s and was never a number anyone could state.
|
|
63
|
+
*
|
|
64
|
+
* 180 000 ms is that sleeping budget rounded up to three minutes. It is
|
|
65
|
+
* deliberately a WALL bound rather than a count of attempts: an attempt count
|
|
66
|
+
* cannot be rendered on a screen or promised to a person, which is exactly how
|
|
67
|
+
* the measured 61 s dwell and the 83 s abort both happened inside it without
|
|
68
|
+
* ever being named. The extra ~41 s over the old sleeping budget is the room
|
|
69
|
+
* the re-issue policy needs to absorb a budget refusal or two inside the same
|
|
70
|
+
* phase instead of ending the journey.
|
|
71
|
+
*/
|
|
72
|
+
export declare const AGENT_SESSION_READY_DEADLINE_MS = 180000;
|
|
73
|
+
/**
|
|
74
|
+
* How long `ready-machine` is worth. Same derivation from the loop it replaces:
|
|
75
|
+
* 60 attempts on the same curve is `readinessBackoffTotalMs(60)` = 91 100 ms of
|
|
76
|
+
* sleeping. 120 000 ms is that rounded up to two minutes. Deliberately lower
|
|
77
|
+
* than the AgentSession deadline: starting an existing VM is not provisioning
|
|
78
|
+
* one, and the machine-create budget that DOES provision one is declared
|
|
79
|
+
* separately in `core/observation-budget.ts`.
|
|
80
|
+
*/
|
|
81
|
+
export declare const MACHINE_READY_DEADLINE_MS = 120000;
|
|
82
|
+
/**
|
|
83
|
+
* How long the account read at the head of every journey is worth.
|
|
84
|
+
*
|
|
85
|
+
* WHY THIS ONE EXISTS SEPARATELY. `GET /v1/me` is the first read the journey
|
|
86
|
+
* of `cuna claude` makes, and it ran with no phase deadline at all: the
|
|
87
|
+
* per-request budget WAS the bound, so one elapsed budget ended the command.
|
|
88
|
+
* Measured 2026-09-22 after the first three deadlines were built
|
|
89
|
+
* (`prds/cuna-cli-latency-before-20260922.md` § 8.3): run `a5` exited 5 at
|
|
90
|
+
* 21 454 ms and the deliberate control `slow1` (`--timeout-ms 800`) exited 5 at
|
|
91
|
+
* 5 147 ms, both `cuna.client.response_budget_elapsed` on `GET /v1/me`, while
|
|
92
|
+
* the journey behind them had 180 000 ms of its own it never got to spend.
|
|
93
|
+
*
|
|
94
|
+
* DERIVATION, from the budget that was killing the command rather than from a
|
|
95
|
+
* new opinion. The read is bounded by `DEFAULT_REQUEST_BUDGET_MS`, and three of
|
|
96
|
+
* those is the smallest bound under which the read can burn its whole budget
|
|
97
|
+
* TWICE and still be dispatched a third time — one refusal absorbed is a
|
|
98
|
+
* coincidence, two is the shape `a5` and `slow1` produced. It is deliberately
|
|
99
|
+
* far below the 180 s the AgentSession phase is worth: nothing has started yet
|
|
100
|
+
* here, so a person waiting on it is waiting on nothing, and the honest thing
|
|
101
|
+
* at 45 s is to stop and say which read did not answer.
|
|
102
|
+
*
|
|
103
|
+
* NOT scaled by `--timeout-ms`. A caller who lowers the per-request budget is
|
|
104
|
+
* saying how long to believe ONE connection, not how long the account read is
|
|
105
|
+
* worth — that is the whole separation this module exists for — so a lower
|
|
106
|
+
* budget buys more re-issues inside the same wall bound, which is what
|
|
107
|
+
* `slow1` needed and did not have.
|
|
108
|
+
*/
|
|
109
|
+
export declare const ACCOUNT_IDENTITY_DEADLINE_MS: number;
|
|
110
|
+
/**
|
|
111
|
+
* How long the CLI pauses before re-issuing a read whose response budget
|
|
112
|
+
* elapsed.
|
|
113
|
+
*
|
|
114
|
+
* DERIVATION. The read that just failed already spent its whole request budget
|
|
115
|
+
* — `DEFAULT_REQUEST_BUDGET_MS`, 15 000 ms, unless `--timeout-ms` lowered it —
|
|
116
|
+
* so a long pause on top of that would be waiting twice for the same answer.
|
|
117
|
+
* The measured warm floor for a complete HTTPS exchange on this exact route is
|
|
118
|
+
* 106 ms (`prds/cuna-cli-latency-before-20260922.md` § 1), so 250 ms is roughly
|
|
119
|
+
* two floors — enough that a re-issue is a new attempt rather than a hot loop,
|
|
120
|
+
* and under 2% of the default budget the failed attempt spent.
|
|
121
|
+
*/
|
|
122
|
+
export declare const REISSUE_PAUSE_MS = 250;
|
|
123
|
+
export interface JourneyDeadline {
|
|
124
|
+
/** The declared bound, in milliseconds, for rendering and for diagnostics. */
|
|
125
|
+
readonly deadlineMs: number;
|
|
126
|
+
elapsedMs(): number;
|
|
127
|
+
remainingMs(): number;
|
|
128
|
+
/** True once no further read may be DISPATCHED. */
|
|
129
|
+
elapsed(): boolean;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Start the clock for one journey phase.
|
|
133
|
+
*
|
|
134
|
+
* THE BOUND THIS GIVES, STATED EXACTLY. `elapsed()` gates DISPATCH: a read
|
|
135
|
+
* already in flight when the deadline passes is awaited rather than discarded,
|
|
136
|
+
* because throwing away an answer that arrived is strictly worse than being
|
|
137
|
+
* late, and the caller reports the real `elapsed_ms` either way. So a phase
|
|
138
|
+
* overshoots `deadlineMs` by one request budget (`DEFAULT_REQUEST_BUDGET_MS`)
|
|
139
|
+
* for every read it dispatches between two checks, and is never unbounded.
|
|
140
|
+
* That is one read for `ensureMachineReady` and for both loops in
|
|
141
|
+
* `remote-workspace.ts`, and TWO for `ensureAgentSessionReady`, which reads the
|
|
142
|
+
* session and then the terminal authority without re-checking in between.
|
|
143
|
+
*/
|
|
144
|
+
export declare function startJourneyDeadline(deadlineMs: number, now: () => number): JourneyDeadline;
|
|
145
|
+
export interface JourneyWait {
|
|
146
|
+
/**
|
|
147
|
+
* A noun phrase naming what has not answered yet, e.g. `the machine's
|
|
148
|
+
* terminal supervisor to register`. It completes the sentence "Still waiting
|
|
149
|
+
* for ___", so it never repeats the verb and never names a transport path.
|
|
150
|
+
*/
|
|
151
|
+
readonly waitingFor: string;
|
|
152
|
+
readonly elapsedMs: number;
|
|
153
|
+
readonly deadlineMs: number;
|
|
154
|
+
}
|
|
155
|
+
export type JourneyWaitReporter = (wait: JourneyWait) => void;
|
|
156
|
+
/**
|
|
157
|
+
* The wait, as one line. Elapsed is NOT clamped to the deadline: a read still
|
|
158
|
+
* in flight past it truthfully reads `181s of 180s`, and hiding that would hide
|
|
159
|
+
* exactly the overshoot `startJourneyDeadline` documents.
|
|
160
|
+
*/
|
|
161
|
+
export declare function journeyWaitLine(wait: JourneyWait): string;
|
|
162
|
+
/**
|
|
163
|
+
* Did the CLI's own per-request budget elapse, as opposed to anything the
|
|
164
|
+
* remote actually answered?
|
|
165
|
+
*
|
|
166
|
+
* Deliberately narrower than `isObservationBudgetCode`, which also covers
|
|
167
|
+
* `convergence`. A convergence budget elapses AFTER an accepted mutation, and
|
|
168
|
+
* re-issuing there would be a blind retry of an effect — the exact thing this
|
|
169
|
+
* repository refuses. Only the `response` kind of a read is re-issuable.
|
|
170
|
+
*/
|
|
171
|
+
export declare function isResponseBudgetElapsed(error: unknown): error is CunaError;
|
|
172
|
+
export interface JourneyDeadlineElapsed {
|
|
173
|
+
readonly waitingFor: string;
|
|
174
|
+
readonly elapsedMs: number;
|
|
175
|
+
readonly deadlineMs: number;
|
|
176
|
+
/**
|
|
177
|
+
* How many times THIS read's response-budget refusal was absorbed and
|
|
178
|
+
* re-issued before the deadline elapsed. It is per-read, not per-phase: a
|
|
179
|
+
* phase that simply ran out of time while polling reports 0, which is what
|
|
180
|
+
* happened — the read that ended it was not re-issued at all.
|
|
181
|
+
*/
|
|
182
|
+
readonly readReissues: number;
|
|
183
|
+
/** The last refusal, so the phase's typed failure can carry it as its cause. */
|
|
184
|
+
readonly cause: unknown;
|
|
185
|
+
}
|
|
186
|
+
export interface IdempotentReadInput<T> {
|
|
187
|
+
readonly waitingFor: string;
|
|
188
|
+
/**
|
|
189
|
+
* MUST be idempotent. This function may dispatch it more than once, and a
|
|
190
|
+
* second dispatch of anything that commits is a blind retry.
|
|
191
|
+
*/
|
|
192
|
+
readonly read: () => Promise<T>;
|
|
193
|
+
readonly deadline: JourneyDeadline;
|
|
194
|
+
/**
|
|
195
|
+
* Declared required, read defensively. The journey effects are reachable
|
|
196
|
+
* without a cancellation authority, and the poll loops around this one
|
|
197
|
+
* already spell `signal?.aborted` for the same reason, so the abort check
|
|
198
|
+
* below does too rather than being the one place a missing signal throws.
|
|
199
|
+
*/
|
|
200
|
+
readonly signal: AbortSignal;
|
|
201
|
+
readonly sleep: (milliseconds: number, signal: AbortSignal) => Promise<void>;
|
|
202
|
+
readonly onWait?: JourneyWaitReporter;
|
|
203
|
+
/** The phase's own typed failure, minted only when the deadline has elapsed. */
|
|
204
|
+
readonly deadlineFailure: (elapsed: JourneyDeadlineElapsed) => Error;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Run one idempotent read, absorbing a response-budget refusal for as long as
|
|
208
|
+
* the phase's deadline has not elapsed.
|
|
209
|
+
*
|
|
210
|
+
* WHAT IS AND IS NOT ABSORBED, because that discriminator is the whole
|
|
211
|
+
* mechanism. A `cuna.client.response_budget_elapsed` says THIS PROCESS stopped
|
|
212
|
+
* listening; the request may well have been answered. For a GET that is a
|
|
213
|
+
* reason to ask again. Everything else — a refusal the remote actually sent, a
|
|
214
|
+
* transport failure, a cancellation by the person at the keyboard — is an
|
|
215
|
+
* answer, and propagates unchanged on the first occurrence.
|
|
216
|
+
*/
|
|
217
|
+
export declare function reissueIdempotentRead<T>(input: IdempotentReadInput<T>): Promise<T>;
|
|
218
|
+
//# sourceMappingURL=wait-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait-policy.d.ts","sourceRoot":"","sources":["../../src/journey/wait-policy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAMH;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIhE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,+BAA+B,SAAU,CAAC;AAEvD;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,SAAU,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,4BAA4B,QAAgC,CAAC;AAE1E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,MAAM,WAAW,eAAe;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,SAAS,IAAI,MAAM,CAAC;IACpB,WAAW,IAAI,MAAM,CAAC;IACtB,mDAAmD;IACnD,OAAO,IAAI,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,MAAM,GAAG,eAAe,CAY3F;AAMD,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;AAQ9D;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAEzD;AAMD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE1E;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,gFAAgF;IAChF,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IACtC,gFAAgF;IAChF,QAAQ,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,KAAK,CAAC;CACtE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CAAC,CAAC,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CA8BxF"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import { DEFAULT_REQUEST_BUDGET_MS, OBSERVATION_BUDGET_CODES } from "../core/observation-budget.js";
|
|
2
|
+
import { CunaError } from "../core/errors.js";
|
|
3
|
+
/**
|
|
4
|
+
* THE ONE PLACE THAT DECIDES HOW LONG A JOURNEY PHASE WAITS, AND WHAT THE
|
|
5
|
+
* SCREEN SAYS WHILE IT DOES.
|
|
6
|
+
*
|
|
7
|
+
* WHY THIS FILE EXISTS. Measured 2026-09-22 against `@cuna_labs/cli` 0.1.1
|
|
8
|
+
* (build bb18869345927ad8…) and edge contract b25188d361c55558… on Machine
|
|
9
|
+
* `rexbit-claude-qa4`, recorded in `prds/cuna-cli-latency-before-20260922.md`:
|
|
10
|
+
*
|
|
11
|
+
* 1. § 2 / § 4, run `cold1`. One `GET /v1/agent-sessions/<id>` exceeded the
|
|
12
|
+
* CLI's own 15 000 ms per-request budget and the WHOLE journey aborted at
|
|
13
|
+
* t=83 043 ms with `cuna.client.response_budget_elapsed` and
|
|
14
|
+
* `remote_outcome: unobserved` — against a route whose warm floor is 106 ms
|
|
15
|
+
* (§ 1), for an AgentSession that was healthy and still `process_state
|
|
16
|
+
* running` fifteen minutes later. One slow read of an IDEMPOTENT resource
|
|
17
|
+
* ended a journey that had plenty of its own time left.
|
|
18
|
+
* 2. § 3, finding 2. The longest stall was 61 259 ms on one unchanging
|
|
19
|
+
* sentence, `Starting Claude Code · still working — Ctrl-C cancels`, while
|
|
20
|
+
* this exact poll loop ran. Bytes kept flowing (the spinner repaints every
|
|
21
|
+
* 90 ms) and information did not, so a byte-level liveness test passes and
|
|
22
|
+
* misses the entire defect.
|
|
23
|
+
* 3. § 3, finding 3. The only escalation the CLI had was appending
|
|
24
|
+
* `· still working`. It never named WHAT it waited for, never showed
|
|
25
|
+
* elapsed time, and never named the deadline it was about to enforce — so
|
|
26
|
+
* the budget expiry arrived with no warning at all.
|
|
27
|
+
*
|
|
28
|
+
* SO THIS MODULE SEPARATES TWO BOUNDS THAT WERE ONE. The per-request budget in
|
|
29
|
+
* `core/observation-budget.ts` answers "how long do I wait for ONE response
|
|
30
|
+
* before I stop believing this connection". The deadline here answers "how long
|
|
31
|
+
* is this PHASE of the journey worth". Collapsing them made the first the
|
|
32
|
+
* second, which is why a single slow read could end everything.
|
|
33
|
+
*
|
|
34
|
+
* WHAT IT DOES NOT CHANGE. A non-idempotent step keeps today's behaviour
|
|
35
|
+
* exactly: a create, a transition or a reconcile whose response was not
|
|
36
|
+
* observed is still an unknown outcome, and this module never re-issues one.
|
|
37
|
+
* `reissueIdempotentRead` is named for the only thing it is correct for.
|
|
38
|
+
*/
|
|
39
|
+
/* -------------------------------------------------------------------------- */
|
|
40
|
+
/* Deadlines */
|
|
41
|
+
/* -------------------------------------------------------------------------- */
|
|
42
|
+
/**
|
|
43
|
+
* The backoff both readiness loops sleep on, kept exactly as measured.
|
|
44
|
+
*
|
|
45
|
+
* `min(2000, 100 * 2 ** min(attempt, 4))` looks like it climbs to 2 000 ms and
|
|
46
|
+
* does not: the exponent is capped at 4, so the value is 100, 200, 400, 800 and
|
|
47
|
+
* then 1 600 ms forever. The 2 000 ceiling is unreachable. Stated here because
|
|
48
|
+
* every deadline below is derived from this curve, and deriving one from the
|
|
49
|
+
* ceiling the expression appears to have overstates the old reach by 25%.
|
|
50
|
+
*/
|
|
51
|
+
export function readinessBackoffMs(attempt) {
|
|
52
|
+
return Math.min(2_000, 100 * 2 ** Math.min(attempt, 4));
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* The wall time a loop of `attempts` iterations spends sleeping on that curve.
|
|
56
|
+
* Exported so the deadlines below can be checked rather than believed.
|
|
57
|
+
*/
|
|
58
|
+
export function readinessBackoffTotalMs(attempts) {
|
|
59
|
+
let total = 0;
|
|
60
|
+
for (let attempt = 0; attempt < attempts; attempt += 1)
|
|
61
|
+
total += readinessBackoffMs(attempt);
|
|
62
|
+
return total;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* How long `ready-agent-session` is worth before the CLI stops waiting.
|
|
66
|
+
*
|
|
67
|
+
* DERIVATION, from what the code already spent rather than from a new opinion.
|
|
68
|
+
* The loop this replaces was bounded by 90 attempts on the curve above, which
|
|
69
|
+
* is `readinessBackoffTotalMs(90)` = 139 100 ms of sleeping PLUS every read's
|
|
70
|
+
* own time — measured median 2 744 ms for this route's command and up to
|
|
71
|
+
* 15 000 ms when a read burns its whole budget
|
|
72
|
+
* (`prds/cuna-cli-latency-before-20260922.md` § 1b), so the old wall reach was
|
|
73
|
+
* already well above 139 s and was never a number anyone could state.
|
|
74
|
+
*
|
|
75
|
+
* 180 000 ms is that sleeping budget rounded up to three minutes. It is
|
|
76
|
+
* deliberately a WALL bound rather than a count of attempts: an attempt count
|
|
77
|
+
* cannot be rendered on a screen or promised to a person, which is exactly how
|
|
78
|
+
* the measured 61 s dwell and the 83 s abort both happened inside it without
|
|
79
|
+
* ever being named. The extra ~41 s over the old sleeping budget is the room
|
|
80
|
+
* the re-issue policy needs to absorb a budget refusal or two inside the same
|
|
81
|
+
* phase instead of ending the journey.
|
|
82
|
+
*/
|
|
83
|
+
export const AGENT_SESSION_READY_DEADLINE_MS = 180_000;
|
|
84
|
+
/**
|
|
85
|
+
* How long `ready-machine` is worth. Same derivation from the loop it replaces:
|
|
86
|
+
* 60 attempts on the same curve is `readinessBackoffTotalMs(60)` = 91 100 ms of
|
|
87
|
+
* sleeping. 120 000 ms is that rounded up to two minutes. Deliberately lower
|
|
88
|
+
* than the AgentSession deadline: starting an existing VM is not provisioning
|
|
89
|
+
* one, and the machine-create budget that DOES provision one is declared
|
|
90
|
+
* separately in `core/observation-budget.ts`.
|
|
91
|
+
*/
|
|
92
|
+
export const MACHINE_READY_DEADLINE_MS = 120_000;
|
|
93
|
+
/**
|
|
94
|
+
* How long the account read at the head of every journey is worth.
|
|
95
|
+
*
|
|
96
|
+
* WHY THIS ONE EXISTS SEPARATELY. `GET /v1/me` is the first read the journey
|
|
97
|
+
* of `cuna claude` makes, and it ran with no phase deadline at all: the
|
|
98
|
+
* per-request budget WAS the bound, so one elapsed budget ended the command.
|
|
99
|
+
* Measured 2026-09-22 after the first three deadlines were built
|
|
100
|
+
* (`prds/cuna-cli-latency-before-20260922.md` § 8.3): run `a5` exited 5 at
|
|
101
|
+
* 21 454 ms and the deliberate control `slow1` (`--timeout-ms 800`) exited 5 at
|
|
102
|
+
* 5 147 ms, both `cuna.client.response_budget_elapsed` on `GET /v1/me`, while
|
|
103
|
+
* the journey behind them had 180 000 ms of its own it never got to spend.
|
|
104
|
+
*
|
|
105
|
+
* DERIVATION, from the budget that was killing the command rather than from a
|
|
106
|
+
* new opinion. The read is bounded by `DEFAULT_REQUEST_BUDGET_MS`, and three of
|
|
107
|
+
* those is the smallest bound under which the read can burn its whole budget
|
|
108
|
+
* TWICE and still be dispatched a third time — one refusal absorbed is a
|
|
109
|
+
* coincidence, two is the shape `a5` and `slow1` produced. It is deliberately
|
|
110
|
+
* far below the 180 s the AgentSession phase is worth: nothing has started yet
|
|
111
|
+
* here, so a person waiting on it is waiting on nothing, and the honest thing
|
|
112
|
+
* at 45 s is to stop and say which read did not answer.
|
|
113
|
+
*
|
|
114
|
+
* NOT scaled by `--timeout-ms`. A caller who lowers the per-request budget is
|
|
115
|
+
* saying how long to believe ONE connection, not how long the account read is
|
|
116
|
+
* worth — that is the whole separation this module exists for — so a lower
|
|
117
|
+
* budget buys more re-issues inside the same wall bound, which is what
|
|
118
|
+
* `slow1` needed and did not have.
|
|
119
|
+
*/
|
|
120
|
+
export const ACCOUNT_IDENTITY_DEADLINE_MS = 3 * DEFAULT_REQUEST_BUDGET_MS;
|
|
121
|
+
/**
|
|
122
|
+
* How long the CLI pauses before re-issuing a read whose response budget
|
|
123
|
+
* elapsed.
|
|
124
|
+
*
|
|
125
|
+
* DERIVATION. The read that just failed already spent its whole request budget
|
|
126
|
+
* — `DEFAULT_REQUEST_BUDGET_MS`, 15 000 ms, unless `--timeout-ms` lowered it —
|
|
127
|
+
* so a long pause on top of that would be waiting twice for the same answer.
|
|
128
|
+
* The measured warm floor for a complete HTTPS exchange on this exact route is
|
|
129
|
+
* 106 ms (`prds/cuna-cli-latency-before-20260922.md` § 1), so 250 ms is roughly
|
|
130
|
+
* two floors — enough that a re-issue is a new attempt rather than a hot loop,
|
|
131
|
+
* and under 2% of the default budget the failed attempt spent.
|
|
132
|
+
*/
|
|
133
|
+
export const REISSUE_PAUSE_MS = 250;
|
|
134
|
+
/**
|
|
135
|
+
* Start the clock for one journey phase.
|
|
136
|
+
*
|
|
137
|
+
* THE BOUND THIS GIVES, STATED EXACTLY. `elapsed()` gates DISPATCH: a read
|
|
138
|
+
* already in flight when the deadline passes is awaited rather than discarded,
|
|
139
|
+
* because throwing away an answer that arrived is strictly worse than being
|
|
140
|
+
* late, and the caller reports the real `elapsed_ms` either way. So a phase
|
|
141
|
+
* overshoots `deadlineMs` by one request budget (`DEFAULT_REQUEST_BUDGET_MS`)
|
|
142
|
+
* for every read it dispatches between two checks, and is never unbounded.
|
|
143
|
+
* That is one read for `ensureMachineReady` and for both loops in
|
|
144
|
+
* `remote-workspace.ts`, and TWO for `ensureAgentSessionReady`, which reads the
|
|
145
|
+
* session and then the terminal authority without re-checking in between.
|
|
146
|
+
*/
|
|
147
|
+
export function startJourneyDeadline(deadlineMs, now) {
|
|
148
|
+
if (!Number.isFinite(deadlineMs) || deadlineMs < 0) {
|
|
149
|
+
throw new TypeError("A journey deadline must be a non-negative number of milliseconds.");
|
|
150
|
+
}
|
|
151
|
+
const startedAt = now();
|
|
152
|
+
const elapsedMs = () => Math.max(0, now() - startedAt);
|
|
153
|
+
return Object.freeze({
|
|
154
|
+
deadlineMs,
|
|
155
|
+
elapsedMs,
|
|
156
|
+
remainingMs: () => Math.max(0, deadlineMs - elapsedMs()),
|
|
157
|
+
elapsed: () => elapsedMs() >= deadlineMs,
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
function wholeSeconds(milliseconds) {
|
|
161
|
+
// Floor, not round: a line that says 24s when 23.6s have passed claims time
|
|
162
|
+
// that has not elapsed, on the one number a person uses to judge a stall.
|
|
163
|
+
return Math.max(0, Math.floor(milliseconds / 1_000));
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* The wait, as one line. Elapsed is NOT clamped to the deadline: a read still
|
|
167
|
+
* in flight past it truthfully reads `181s of 180s`, and hiding that would hide
|
|
168
|
+
* exactly the overshoot `startJourneyDeadline` documents.
|
|
169
|
+
*/
|
|
170
|
+
export function journeyWaitLine(wait) {
|
|
171
|
+
return `Still waiting for ${wait.waitingFor} · ${wholeSeconds(wait.elapsedMs)}s of ${wholeSeconds(wait.deadlineMs)}s`;
|
|
172
|
+
}
|
|
173
|
+
/* -------------------------------------------------------------------------- */
|
|
174
|
+
/* The re-issue rule */
|
|
175
|
+
/* -------------------------------------------------------------------------- */
|
|
176
|
+
/**
|
|
177
|
+
* Did the CLI's own per-request budget elapse, as opposed to anything the
|
|
178
|
+
* remote actually answered?
|
|
179
|
+
*
|
|
180
|
+
* Deliberately narrower than `isObservationBudgetCode`, which also covers
|
|
181
|
+
* `convergence`. A convergence budget elapses AFTER an accepted mutation, and
|
|
182
|
+
* re-issuing there would be a blind retry of an effect — the exact thing this
|
|
183
|
+
* repository refuses. Only the `response` kind of a read is re-issuable.
|
|
184
|
+
*/
|
|
185
|
+
export function isResponseBudgetElapsed(error) {
|
|
186
|
+
return error instanceof CunaError && error.code === OBSERVATION_BUDGET_CODES.response;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Run one idempotent read, absorbing a response-budget refusal for as long as
|
|
190
|
+
* the phase's deadline has not elapsed.
|
|
191
|
+
*
|
|
192
|
+
* WHAT IS AND IS NOT ABSORBED, because that discriminator is the whole
|
|
193
|
+
* mechanism. A `cuna.client.response_budget_elapsed` says THIS PROCESS stopped
|
|
194
|
+
* listening; the request may well have been answered. For a GET that is a
|
|
195
|
+
* reason to ask again. Everything else — a refusal the remote actually sent, a
|
|
196
|
+
* transport failure, a cancellation by the person at the keyboard — is an
|
|
197
|
+
* answer, and propagates unchanged on the first occurrence.
|
|
198
|
+
*/
|
|
199
|
+
export async function reissueIdempotentRead(input) {
|
|
200
|
+
let readReissues = 0;
|
|
201
|
+
for (;;) {
|
|
202
|
+
try {
|
|
203
|
+
return await input.read();
|
|
204
|
+
}
|
|
205
|
+
catch (error) {
|
|
206
|
+
// A person pressing Ctrl-C outranks every budget: their decision is an
|
|
207
|
+
// answer, and re-issuing against it would ignore it.
|
|
208
|
+
if (input.signal?.aborted === true)
|
|
209
|
+
throw error;
|
|
210
|
+
if (!isResponseBudgetElapsed(error))
|
|
211
|
+
throw error;
|
|
212
|
+
if (input.deadline.elapsed()) {
|
|
213
|
+
throw input.deadlineFailure(Object.freeze({
|
|
214
|
+
waitingFor: input.waitingFor,
|
|
215
|
+
elapsedMs: input.deadline.elapsedMs(),
|
|
216
|
+
deadlineMs: input.deadline.deadlineMs,
|
|
217
|
+
readReissues,
|
|
218
|
+
cause: error,
|
|
219
|
+
}));
|
|
220
|
+
}
|
|
221
|
+
readReissues += 1;
|
|
222
|
+
// Say it before sleeping, not after: the screen is the only place a
|
|
223
|
+
// person can see that the CLI decided to keep waiting rather than stop.
|
|
224
|
+
input.onWait?.(Object.freeze({
|
|
225
|
+
waitingFor: input.waitingFor,
|
|
226
|
+
elapsedMs: input.deadline.elapsedMs(),
|
|
227
|
+
deadlineMs: input.deadline.deadlineMs,
|
|
228
|
+
}));
|
|
229
|
+
await input.sleep(REISSUE_PAUSE_MS, input.signal);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=wait-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait-policy.js","sourceRoot":"","sources":["../../src/journey/wait-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CunaApiClient } from "../api/client.js";
|
|
2
|
-
import type { ContinuousSyncSnapshot } from "../sync/continuous-sync-supervisor.js";
|
|
2
|
+
import type { ContinuousSyncConflict, ContinuousSyncSnapshot } from "../sync/continuous-sync-supervisor.js";
|
|
3
3
|
import { type AuthenticatedWorkspaceSyncTransport } from "../sync/workspace-sync-product-service.js";
|
|
4
4
|
import type { FilesystemCapabilities } from "../workspace/paths.js";
|
|
5
5
|
import type { AgentJourneyEffects } from "./orchestrator.js";
|
|
@@ -18,6 +18,12 @@ export interface WorkspaceJourneyEffectsInput {
|
|
|
18
18
|
*/
|
|
19
19
|
readonly onNotice?: (line: string) => void;
|
|
20
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* One line per retained conflict, naming the path, where each version now is,
|
|
23
|
+
* and the typed code. Before this the folder's copy of a conflicted path was
|
|
24
|
+
* replaced with no copy and no word (qa6 witness 2026-09-22, step 4).
|
|
25
|
+
*/
|
|
26
|
+
export declare function conflictNotice(conflict: ContinuousSyncConflict): string;
|
|
21
27
|
/** Local binding facts are only hints until the complete tuple is re-read from the API. */
|
|
22
28
|
export interface WorkspaceJourneyEffects extends Pick<AgentJourneyEffects, "inspectWorkspace" | "synchronizeWorkspace"> {
|
|
23
29
|
readonly continuousSyncSnapshot: () => ContinuousSyncSnapshot | undefined;
|