@lucascouts/claude-agent-acp-plus 0.30.0 → 0.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/acp-agent.d.ts +23 -1
- package/dist/acp-agent.d.ts.map +1 -1
- package/dist/acp-agent.js +116 -13
- package/dist/plan-updates.d.ts +63 -0
- package/dist/plan-updates.d.ts.map +1 -0
- package/dist/plan-updates.js +104 -0
- package/dist/session-config-ids.d.ts +1 -0
- package/dist/session-config-ids.d.ts.map +1 -1
- package/dist/session-config-ids.js +1 -0
- package/dist/session-delete.d.ts +17 -0
- package/dist/session-delete.d.ts.map +1 -0
- package/dist/session-delete.js +33 -0
- package/dist/session-titles.d.ts +42 -12
- package/dist/session-titles.d.ts.map +1 -1
- package/dist/session-titles.js +97 -25
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +7 -2
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -34,6 +34,7 @@ On top of upstream, aimed at parity with the Claude Code VS Code extension:
|
|
|
34
34
|
- **Background tasks** — the live set of background tasks is published to the client
|
|
35
35
|
- **Task feed** — every task the agent runs, with status, usage and timing, plus stop and send-to-background actions (see [Task feed](#task-feed))
|
|
36
36
|
- **Session notices** — live advisories sent as ACP session notices, and context compaction reported rather than inferred
|
|
37
|
+
- **Plan updates** — a session option, on by default, that fills the client's plan view with the agent's todo list on current models
|
|
37
38
|
- **Ultracode** in the effort picker, and a model picker that offers only the newest model of each family
|
|
38
39
|
- **Per-session account selection**, and an agent name taken from the installed package
|
|
39
40
|
- Permission prompts that honour the CLI's `defaultToNo` and `suppressAlwaysAllowRule`
|
package/dist/acp-agent.d.ts
CHANGED
|
@@ -472,6 +472,15 @@ export type Session = {
|
|
|
472
472
|
/** Whether the Ultracode option is shown — the CLI's
|
|
473
473
|
* `applied.ultracodeAvailable` once read back, the heuristic until then. */
|
|
474
474
|
ultracodeAvailable: boolean;
|
|
475
|
+
/** The Plan updates intent (`plan-updates.ts`): whether the CLI runs with
|
|
476
|
+
* its todo tools. Fixed at spawn, so a toggle recreates the query lazily
|
|
477
|
+
* through `pendingQueryRecreate`. Optional only because tests hand-build
|
|
478
|
+
* Session objects; absent reads as "never offered". */
|
|
479
|
+
planUpdatesEnabled?: boolean;
|
|
480
|
+
/** The settings tier's own value for `CLAUDE_CODE_ENABLE_TODO_TOOLS`, when
|
|
481
|
+
* it defines one: that tier outranks the spawn env, so a recreate must
|
|
482
|
+
* override it there too. */
|
|
483
|
+
planUpdatesSettingsValue?: boolean;
|
|
475
484
|
/** Whether this session's resolved settings disable workflows — the half of
|
|
476
485
|
* the Ultracode gate that is not a model capability. Read once at
|
|
477
486
|
* initialize and held, rather than re-read per model switch: settings are
|
|
@@ -1395,6 +1404,11 @@ export declare class ClaudeAcpAgent {
|
|
|
1395
1404
|
* once the option exists (i.e. the current model supports fast mode), so the
|
|
1396
1405
|
* option is guaranteed to be present in `configOptions`. */
|
|
1397
1406
|
private applyFastMode;
|
|
1407
|
+
/** Show the CLI's overage refusal and turn Fast mode off through the same
|
|
1408
|
+
* setter a user toggle uses, so the resend loop stops. A setter failure is
|
|
1409
|
+
* logged and the notice still goes out: the user must learn why fast
|
|
1410
|
+
* requests are slow either way. */
|
|
1411
|
+
private onFastModeOverageRejected;
|
|
1398
1412
|
/** The Ultracode display state for `buildConfigOptions`. */
|
|
1399
1413
|
private ultracodeState;
|
|
1400
1414
|
/**
|
|
@@ -1498,6 +1512,8 @@ export { MODE_CONFIG_ID };
|
|
|
1498
1512
|
export declare const MODEL_CONFIG_ID = "model";
|
|
1499
1513
|
export declare const AGENT_CONFIG_ID = "agent";
|
|
1500
1514
|
export declare const FAST_MODE_CONFIG_ID = "fast";
|
|
1515
|
+
/** The CLI's `system/notification` key for a refused fast-mode overage. */
|
|
1516
|
+
export declare const FAST_MODE_OVERAGE_REJECTED_KEY = "fast-mode-overage-rejected";
|
|
1501
1517
|
/** Select-fallback values used when the client has not opted into boolean
|
|
1502
1518
|
* config options (see {@link createFastModeConfigOption}). */
|
|
1503
1519
|
export declare const FAST_MODE_ON = "on";
|
|
@@ -1556,7 +1572,13 @@ thinkingEnabled?: boolean,
|
|
|
1556
1572
|
ultracode?: UltracodeOptionState,
|
|
1557
1573
|
/** The declared accounts plus the one in force, which decide whether an
|
|
1558
1574
|
* account selector is advertised at all (R6.1/R6.2). */
|
|
1559
|
-
settings?: AccountOptionState
|
|
1575
|
+
settings?: AccountOptionState,
|
|
1576
|
+
/** Display state for Plan updates; omitted by direct callers/tests, in
|
|
1577
|
+
* which case the option is not shown. */
|
|
1578
|
+
planUpdates?: {
|
|
1579
|
+
enabled: boolean;
|
|
1580
|
+
useBooleanOption: boolean;
|
|
1581
|
+
}): SessionConfigOption[];
|
|
1560
1582
|
export declare function resolveModelPreference(models: ModelInfo[], preference: string): ModelInfo | null;
|
|
1561
1583
|
/** Map the live model reported by a resumed session onto the picker's model
|
|
1562
1584
|
* list. The CLI restores a resumed session's model from the transcript's
|
package/dist/acp-agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acp-agent.d.ts","sourceRoot":"","sources":["../src/acp-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,mBAAmB,EAGnB,kBAAkB,EAClB,kBAAkB,EAClB,+BAA+B,EAC/B,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EAGb,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,cAAc,EAEd,mBAAmB,EACnB,oBAAoB,EAEpB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,6BAA6B,EAC7B,8BAA8B,EAC9B,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EAEtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,SAAS,EACT,UAAU,EAEV,sBAAsB,EACtB,aAAa,EAIb,SAAS,EAIT,OAAO,EACP,cAAc,EAEd,KAAK,EAKL,gBAAgB,EAChB,0BAA0B,EAC1B,cAAc,EAEf,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAKL,WAAW,EACX,mBAAmB,EACnB,YAAY,EAIb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAiB,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAyBlG,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAWzE,OAAO,EAWL,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,EAUL,KAAK,mBAAmB,EAGzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAQL,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAK9B,MAAM,wBAAwB,CAAC;AAShC,OAAO,EAaL,SAAS,EAKV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAwC,QAAQ,EAAe,MAAM,YAAY,CAAC;AAYzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAIL,KAAK,kBAAkB,EAEvB,KAAK,eAAe,EAGrB,MAAM,eAAe,CAAC;AAOvB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAsB,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAEL,cAAc,EAEd,UAAU,EACV,QAAQ,EACR,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,kBAAkB,EAClB,UAAU,EAIX,MAAM,4BAA4B,CAAC;AAEpC,eAAO,MAAM,iBAAiB,QACuC,CAAC;AAItE;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC9B,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CACjC;AAED,KAAK,gBAAgB,GAAG;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAsEF;mDACmD;AACnD,KAAK,SAAS,GAAG;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE;QACT,YAAY,CAAC,EAAE,gBAAgB,CAAC;KACjC,CAAC;CACH,CAAC;AAEF;;;+EAG+E;AAC/E;;;yEAGyE;AACzE,eAAO,MAAM,yBAAyB,4BAA4B,CAAC;AACnE;;yCAEyC;AACzC,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF;;4EAE4E;AAC5E,MAAM,MAAM,aAAa,GACrB;IAAE,OAAO,EAAE,UAAU,CAAA;CAAE,GACvB;IAAE,OAAO,EAAE,gBAAgB,CAAA;CAAE,GAC7B;IAAE,OAAO,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,CAAC;AAgC3D;6CAC6C;AAC7C,eAAO,MAAM,iBAAiB,uBAAuB,CAAC;AACtD;qFACqF;AACrF,eAAO,MAAM,uBAAuB,6BAA6B,CAAC;AAClE;iFACiF;AACjF,eAAO,MAAM,mBAAmB,yBAAyB,CAAC;AAC1D;;gFAEgF;AAChF,eAAO,MAAM,oBAAoB,kBAAiB,CAAC;AACnD,iFAAiF;AACjF,eAAO,MAAM,wBAAwB,IAAyB,CAAC;AAE/D,MAAM,MAAM,gBAAgB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AACrE,MAAM,MAAM,kBAAkB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AACzF,MAAM,MAAM,mBAAmB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC;AAC9F,MAAM,MAAM,sBAAsB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAC/E,MAAM,MAAM,uBAAuB,GAAG;IAAE,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhE;;;wEAGwE;AACxE,eAAO,MAAM,oBAAoB,0BAA0B,CAAC;AAC5D;;qCAEqC;AACrC,eAAO,MAAM,oBAAoB,kBAAkB,CAAC;AACpD,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C;;;;;;;;;;mBAUmB;AACnB,eAAO,MAAM,+BAA+B,OAAQ,CAAC;AAErD;;;;;;6CAM6C;AAC7C,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAE9C,MAAM,MAAM,mBAAmB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AACxD,MAAM,MAAM,oBAAoB,GAAG;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC;AAuB1D,oEAAoE;AACpE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,gBAAgB,CAKvE;AAED;;cAEc;AACd,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,GAAG,kBAAkB,CAY3E;AAED,0EAA0E;AAC1E,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,OAAO,GAAG,sBAAsB,CAKnF;AAED,uEAAuE;AACvE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,OAAO,GAAG,mBAAmB,CAE7E;AAED;;;yDAGyD;AACzD,KAAK,iBAAiB,GAAG;IACvB,eAAe,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChF,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;iFAIiF;AACjF,KAAK,IAAI,GAAG;IACV;qEACiE;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB;;4DAEwD;IACxD,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;;;;;wEAMoE;IACpE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;;gDAG4C;IAC5C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;4BAGwB;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACvC;;gDAE4C;IAC5C,kBAAkB,CAAC,EAAE,eAAe,CAAC;IACrC;gEAC4D;IAC5D,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;uEAEmE;IACnE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,6EAA6E;IAC7E,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;uEACmE;IACnE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;8CAE0C;IAC1C,eAAe,CAAC,EAAE,wBAAwB,CAAC;IAC3C;2EACuE;IACvE,OAAO,EAAE,OAAO,CAAC;IACjB;;;+EAG2E;IAC3E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;qDAOiD;IACjD,eAAe,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,CAAC;IACtE;;;;;;;;iCAQ6B;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;;;;6EAQyE;IACzE,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCA2CgC;IAChC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;;;;;;;;;;;;;;;;gEAkB4D;IAC5D,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B;8EAC0E;IAC1E,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,OAAO,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5C,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B,CAAC;AAwBF;;;8BAG8B;AAC9B,wBAAgB,wBAAwB,CACtC,GAAG,GAAE,MAAM,GAAG,SAAqD,GAClE,OAAO,CAGT;AAED;;;gFAGgF;AAChF,wBAAgB,mBAAmB,CACjC,GAAG,GAAE,MAAM,GAAG,SAAgD,GAC7D,MAAM,CAYR;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB;4EACwE;IACxE,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;IACnB;2EACuE;IACvE,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB;;6DAEyD;IACzD,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxC;;yEAEqE;IACrE,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD;;;;+EAI2E;IAC3E,iBAAiB,CAAC,EAAE;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;QAC9B,QAAQ,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC;QAC1C,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF;mEAC+D;IAC/D,iBAAiB,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACxC;;;yBAGqB;IACrB,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC;;;;;;;;;;;;;+EAa2E;IAC3E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;;;;;;;;;;;;;;;;;gDAuB4C;IAC5C,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC;IAC/D;;uEAEmE;IACnE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;0EAGsE;IACtE,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC;wEACoE;IACpE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;iCAE6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB;;;;4CAIwC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ;+EAC2E;IAC3E,kBAAkB,EAAE,MAAM,CAAC;IAC3B,+EAA+E;IAC/E,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,eAAe,EAAE,eAAe,CAAC;IACjC,2EAA2E;IAC3E,MAAM,EAAE,aAAa,CAAC;IACtB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,KAAK,EAAE,gBAAgB,CAAC;IACxB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,8EAA8E;IAC9E,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,gFAAgF;IAChF,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC;;;qDAGiD;IACjD,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB;gEAC4D;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB;;wEAEoE;IACpE,eAAe,EAAE,OAAO,CAAC;IACzB;;6CAEyC;IACzC,kBAAkB,EAAE,OAAO,CAAC;IAC5B;iFAC6E;IAC7E,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;;;gDAI4C;IAC5C,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;;;gEAK4D;IAC5D,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC;;wEAEoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;0CAMsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC;;;;;gFAK4E;IAC5E,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD;;;;;qCAKiC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;2EAEuE;IACvE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;;oBAOgB;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;8CAE0C;IAC1C,qBAAqB,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC;;;;;mEAK+D;IAC/D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,eAAe,CAAC;IACjC;;;;;uEAKmE;IACnE,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACnC;;kBAEc;IACd,gBAAgB,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IACjD;;;;;;qDAMiD;IACjD,iBAAiB,CAAC,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;IACnD;;;mBAGe;IACf,oBAAoB,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,kBAAkB,EAAE,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACjD;+EAC2E;IAC3E,mBAAmB,EAAE,OAAO,CAAC;IAC7B;;;;yBAIqB;IACrB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;;;;;2CASuC;IACvC,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;;;;;;;;;;;;;;;8CAiB0C;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;;;;;iEAY6D;IAC7D,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC;;;;;8CAK0C;IAC1C,0BAA0B,EAAE,OAAO,CAAC;IACpC;;;;;;;;+EAQ2E;IAC3E,gBAAgB,EAAE,MAAM,CAAC;IACzB;yEACqE;IACrE,SAAS,EAAE,SAAS,CAAC;IACrB;;;;4CAIwC;IACxC,YAAY,EAAE,YAAY,CAAC;IAC3B;;;;;;wEAMoE;IACpE,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B;;;yDAGqD;IACrD,WAAW,EAAE,kBAAkB,CAAC;IAChC;;;gCAG4B;IAC5B,gBAAgB,EAAE,UAAU,CAAC;IAC7B;8EAC0E;IAC1E,+BAA+B,CAAC,EAAE;QAChC,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,2BAA2B,CAAC,EAAE;QAC5B,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,cAAc,CAAC;KACtB,CAAC;IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAsC6B;IAC7B,mBAAmB,EAAE,GAAG,CACtB,MAAM,EACN;QACE,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,UAAU,EAAE,OAAO,CAAC;QACpB;;;;;;;;;;;;iDAYyC;QACzC,aAAa,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;KACzC,CACF,CAAC;IACF;;;;;+DAK2D;IAC3D,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpF;;;4CAGwC;IACxC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;gEAI4D;IAC5D,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;uDAEmD;IACnD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;;;;;;;;;;;;;;;;;;;;;sEAwBkE;IAClE,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;;sEAGkE;IAClE,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB;;;;;uCAKmC;IACnC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,iBAAiB,CAAC;IAC1D;;;;;;;;;;;;;;;iCAe6B;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;;;;;;;;;;;;;;uBAgBmB;IACnB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC;;2EAEuE;IACvE,mBAAmB,EAAE,mBAAmB,CAAC;CAC1C,CAAC;AAqFF;;;;;;;;;;6EAU6E;AAC7E,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC7C,qBAAqB,CAAC,EAAE,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;IACnE,KAAK,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;CACpC,GAAG,MAAM,CAUT;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,CAAC,EAAE;QACX;;;;;;;;;;;;;;WAcG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB;;;;;;WAMG;QACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,gBAAgB,EAAE,CAAC;KACnD,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,KAAK,eAAe,GAAG;IACrB;;;;;OAKG;IACH,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,KAAK,kBAAkB,GAAG,mBAAmB,GAAG;IAAE,KAAK,CAAC,EAAE,eAAe,CAAA;CAAE,CAAC;AAoB5E;;;;;GAKG;AACH,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,+CAA+C;IAC/C,MAAM,CAAC,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAI3B,iBAAiB,CAAC,EAAE,yBAAyB,CAAC;IAC9C,UAAU,CAAC,EAAE;QAIX,QAAQ,EAAE,MAAM,CAAC;QAEjB,KAAK,CAAC,EAAE,MAAM,CAAC;QAEf,YAAY,CAAC,EAAE,OAAO,CAAC;QAIvB,eAAe,CAAC,EAAE,MAAM,CAAC;QAMzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAG1B,YAAY,CAAC,EAAE,MAAM,CAAC;QAKtB,QAAQ,CAAC,EAAE,IAAI,CAAC;QAGhB,KAAK,CAAC,EAAE,MAAM,CAAC;QAGf,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF,aAAa,CAAC,EAAE;QACd,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,eAAe,CAAC,EAAE;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,aAAa,CAAC,EAAE;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,oEAAoE;QACpE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,CAAC;CACH,CAAC;AAwBF,MAAM,MAAM,YAAY,GAAG;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,IAAI,EAAE,UAAU,GAAG,iBAAiB,GAAG,cAAc,CAAC;QACtD,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;CACH,CAAC;AASF,KAAK,iBAAiB,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB;wEACoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB;2EACuE;IACvE,iBAAiB,EAAE,MAAM,CAAC;IAC1B;0EACsE;IACtE,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;AA0DjF,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAsCrD;AA8HD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAyB1E;AAYD;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAanE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEhE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAepE;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D;;kFAE8E;IAC9E,iBAAiB,CACf,MAAM,EAAE,wBAAwB,EAChC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtC,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACzE,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC5E;iFAC6E;IAC7E,0BAA0B,CACxB,MAAM,EAAE,wBAAwB,EAChC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtC,4BAA4B,CAAC,MAAM,EAAE,+BAA+B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrF,yEAAyE;IACzE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjF;AA0ED,qBAAa,cAAc;IACzB,QAAQ,EAAE;QACR,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,MAAM,EAAE,SAAS,CAAC;IAClB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA8B;IAC3D,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,yEAAyE;IACzE,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,qFAAqF;IACrF,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D;;+BAE2B;IAC3B,kBAAkB,EAAE,MAAM,CAAiC;IAC3D;;;;;;8EAM0E;IAC1E,OAAO,CAAC,eAAe,CAAC,CAAS;gBAErB,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM;IAiDxC,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA2KnE,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAalE,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAqB9E,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAW3E,WAAW,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAcrE,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAkBxE,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzD,sBAAsB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAc3F;;;;;OAKG;IACG,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAoDpF;;;OAGG;IACG,wBAAwB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAShG,qBAAqB,IAAI,cAAc,GAAG,IAAI;IAI9C,OAAO,CAAC,qBAAqB;IA0BvB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC7C,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IA6LtD,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC;YAc/C,WAAW;YAcX,eAAe;IAU7B;yEACqE;IACrE,OAAO,CAAC,mBAAmB;IAI3B;;;;;;;;;;;;;;;;;OAiBG;IACH;;;;;;;;;;;;;2EAauE;YACzD,mBAAmB;IAsEjC;;;;;;;;;qCASiC;IACjC,OAAO,CAAC,sBAAsB;IAoC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;YAuChE,qBAAqB;YAoBrB,kBAAkB;IAgBhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mEA8B+D;IAC/D,gFAAgF;IAC1E,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAoBxE;;;;;OAKG;IACG,UAAU,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA6C1E;iFAC6E;IACvE,cAAc,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAiBtF;;4CAEwC;YAC1B,UAAU;IA4BlB,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAkEzD;;;gDAG4C;IAC5C,OAAO,CAAC,YAAY;IASpB;;;iFAG6E;IAC7E,OAAO,CAAC,qBAAqB;IAS7B;qFACiF;IACjF,OAAO,CAAC,cAAc;IActB;;;;qEAIiE;YACnD,WAAW;IA0uGzB;;;;;;;;;;;;;;yDAcqD;IACrD,OAAO,CAAC,kBAAkB;IAapB,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD;;;;iEAI6D;YAC/C,WAAW;IAgQzB;;;;;;;;;;;;;;;;;;gBAkBY;IACZ,OAAO,CAAC,gBAAgB;IA0BxB;;;;;wBAKoB;IACpB,OAAO,CAAC,cAAc;IAUtB;;;+EAG2E;IAC3E,OAAO,CAAC,cAAc;IAsCtB;yDACqD;YACvC,eAAe;IA+B7B,4EAA4E;IACtE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAQxE,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAU3E,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAgB9E,sBAAsB,CAC1B,MAAM,EAAE,6BAA6B,GACpC,OAAO,CAAC,8BAA8B,CAAC;YA6I5B,oBAAoB;IAqL5B,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAKxE,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAKjF;;;;;;+DAM2D;YAC7C,oBAAoB;IAelC;;;;;;;;sDAQkD;IAC5C,2BAA2B,CAC/B,MAAM,EAAE,wBAAwB,EAChC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,EACnB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,yBAAyB,CAAC;IAiCrC;;;;;;;;;;;iEAW6D;YAC/C,qBAAqB;IA4CnC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU;IAiNzC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAgC5B;;;;OAIG;YACW,qBAAqB;IAqCnC;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;YAqCV,2BAA2B;YAa3B,kBAAkB;IAmBhC;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,gCAAgC;YAwB1B,sBAAsB;IA6JpC;;;;;oEAKgE;YAClD,6BAA6B;IA+B3C;;;oBAGgB;IAChB,OAAO,CAAC,qBAAqB;IAW7B;;;iEAG6D;YAC/C,aAAa;IAQ3B,4DAA4D;IAC5D,OAAO,CAAC,cAAc;IAWtB;;;;;;OAMG;IACH,OAAO,CAAC,4BAA4B;IAiCpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sEAqCkE;YACpD,oBAAoB;IAuRlC;;;;;;;;;;;;;;;;;;;;;;yEAsBqE;YACvD,iBAAiB;YAsDjB,kBAAkB;IA2ChC;;;;;OAKG;YACW,WAAW;YAuBX,aAAa;IAmxB3B;;;;OAIG;YACW,qBAAqB;CAuCpC;AAuLD,eAAO,MAAM,mBAAmB,aAM9B,CAAC;AAOH;;;gBAGgB;AAChB,wBAAsB,oBAAoB,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAOzE;AAED;;;8CAG8C;AAC9C,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,eAAO,MAAM,eAAe,UAAU,CAAC;AACvC,eAAO,MAAM,eAAe,UAAU,CAAC;AACvC,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAE1C;+DAC+D;AAC/D,eAAO,MAAM,YAAY,OAAO,CAAC;AACjC,eAAO,MAAM,aAAa,QAAQ,CAAC;AAGnC;;;gCAGgC;AAChC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAElE;AAqBD;;;;2DAI2D;AAC3D,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,sBAAsB,GAAG,SAAS,GACzC,sBAAsB,GAAG,SAAS,CAEpC;AAED;;;sEAGsE;AACtE,wBAAgB,kCAAkC,CAChD,kBAAkB,CAAC,EAAE,kBAAkB,GAAG,IAAI,GAC7C,OAAO,CAET;AAED;;;;;;;;;+CAS+C;AAC/C,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,OAAO,EACzB,cAAc,CAAC,EAAE,sBAAsB,GACtC,mBAAmB,CAwBrB;AAED;;0CAE0C;AAC1C,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAYrF;AAED;6EAC6E;AAC7E,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,4DAA4D;IAC5D,gBAAgB,EAAE,OAAO,CAAC;IAC1B;kDAC8C;IAC9C,cAAc,CAAC,EAAE,sBAAsB,CAAC;CACzC,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,SAAS,EAAE,EACvB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,MAAM,GAAE,SAAS,EAAO,EACxB,YAAY,GAAE,MAAyB,EACvC,QAAQ,CAAC,EAAE,mBAAmB;AAC9B;;;;oCAIoC;AACpC,eAAe,CAAC,EAAE,OAAO;AACzB;mEACmE;AACnE,SAAS,CAAC,EAAE,oBAAoB;AAChC;yDACyD;AACzD,QAAQ,CAAC,EAAE,kBAAkB,GAC5B,mBAAmB,EAAE,CA6HvB;AAoFD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CA+DhG;AAED;;;;;;;;;;;;;;;;;;;gFAmBgF;AAChF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,CAiCnF;AAqKD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,EAAE,EACtB,SAAS,EAAE,MAAM,EAAE,EACnB,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/C,MAAM,CAAC,EAAE,MAAM,GACd,SAAS,EAAE,CAKb;AA2SD,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,cAAc,CAmFpE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,MAAM,GAAG,SAAS,CAYrB;AA0LD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE,GAAG,gBAAgB,EAAE,GAAG,wBAAwB,EAAE,EACvF,IAAI,EAAE,WAAW,GAAG,MAAM,EAC1B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,SAAS,CAAC;IAOtB,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAM/B,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,aAAa,CAAC,EAAE,OAAO,CAAC;IAIxB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GACA,mBAAmB,EAAE,CAkavB;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,0BAA0B,EACnC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IACR,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;CAC7C,GACA,mBAAmB,EAAE,CAgIvB;AAED;;;;;;;;;;;oEAWoE;AACpE,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC,EAC3D,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,cAAc,CAAC,CAczB;AAED,wBAAgB,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM;;;EAoErC;AA2ND;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,mBAAmB,EACjC,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,mBAAmB,CAgBrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,MAAM,GAAG,IAAI,CAUf"}
|
|
1
|
+
{"version":3,"file":"acp-agent.d.ts","sourceRoot":"","sources":["../src/acp-agent.ts"],"names":[],"mappings":"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"}
|
package/dist/acp-agent.js
CHANGED
|
@@ -20,6 +20,8 @@ import { SettingsManager } from "./settings.js";
|
|
|
20
20
|
import { ContextCompactionLifecycle, contextCompactionMetadataFromBoundary, } from "./context-compaction.js";
|
|
21
21
|
import { createThinkingConfigOption, effectiveThinkingConfig, resolveThinkingSelection, THINKING_CONFIG_ID, } from "./thinking-option.js";
|
|
22
22
|
import { applyLegacyUltracodeEffort, applyUltracodeReadback, applyUltracodeToggle, effortFlagSettings, isLegacyUltracodeEffort, isUltracodeAvailable, readUltracodeState, resolveUltracodeRequested, ULTRACODE_CONFIG_ID, ultracodeConfigOption, } from "./ultracode.js";
|
|
23
|
+
import { deleteSessionIfStored } from "./session-delete.js";
|
|
24
|
+
import { applyPlanUpdatesToOptions, createPlanUpdatesConfigOption, resolvePlanUpdatesAtSpawn, resolvePlanUpdatesRequested, TODO_TOOLS_ENV, } from "./plan-updates.js";
|
|
23
25
|
import { handleRewindCommand, parseRewindInvocation } from "./rewind-command.js";
|
|
24
26
|
import { resolvePermissionMode, sessionAllowsBypass } from "./permissions/modes.js";
|
|
25
27
|
import { normalizeDurablePermissionChangeSet } from "./permissions/normalization.js";
|
|
@@ -32,7 +34,7 @@ import { clientSupportsNotices, MAX_NOTICE_TITLE_LENGTH, normalizeNoticeText, no
|
|
|
32
34
|
import { applyTaskCreate, applyTaskList, applyTaskUpdate, createPostToolUseHook, createTaskHook, parseTaskCreateOutput, parseTaskListOutput, parseTaskUpdateOutput, planEntries, registerHookCallback, shellDescription, taskStateToPlanEntries, toolInfoFromToolUse, toolUpdateFromDiffToolResponse, toolUpdateFromToolResult, } from "./tools.js";
|
|
33
35
|
import { nodeToWebReadable, nodeToWebWritable, Pushable, unreachable } from "./utils.js";
|
|
34
36
|
import { acceptedPlanToolResult, ExitPlanCoordinator, exitPlanModeRawOutput, isExitPlanInterruptionResult, observeExitPlanToolResults, } from "./exit-plan.js";
|
|
35
|
-
import { DEFAULT_AGENT_ID, EFFORT_CONFIG_ID } from "./session-config-ids.js";
|
|
37
|
+
import { DEFAULT_AGENT_ID, EFFORT_CONFIG_ID, PLAN_UPDATES_CONFIG_ID, } from "./session-config-ids.js";
|
|
36
38
|
import { withPrecompactHistory } from "./compacted-history.js";
|
|
37
39
|
import { findTranscript } from "./transcript-path.js";
|
|
38
40
|
import { parseToolResultMeta } from "./tool-result-meta.js";
|
|
@@ -1360,6 +1362,7 @@ export class ClaudeAcpAgent {
|
|
|
1360
1362
|
session.turnQueue.push(turn);
|
|
1361
1363
|
session.input.push(userMessage);
|
|
1362
1364
|
this.ensureConsumer(session, params.sessionId);
|
|
1365
|
+
session.titles.onPromptQueued(session, params.prompt);
|
|
1363
1366
|
await this.publishGoalFromPrompt(params.sessionId, firstText, promptUuid);
|
|
1364
1367
|
return response;
|
|
1365
1368
|
}
|
|
@@ -3483,8 +3486,15 @@ export class ClaudeAcpAgent {
|
|
|
3483
3486
|
}
|
|
3484
3487
|
break;
|
|
3485
3488
|
}
|
|
3486
|
-
case "plugin_install":
|
|
3487
3489
|
case "notification":
|
|
3490
|
+
// Fast-mode overage refused (PARITY-REPORT §23 item 114): every
|
|
3491
|
+
// fast request is refused and resent at standard speed, and this
|
|
3492
|
+
// is the CLI's only word on it. Exact key, this session only.
|
|
3493
|
+
if (message.key === FAST_MODE_OVERAGE_REJECTED_KEY) {
|
|
3494
|
+
await this.onFastModeOverageRejected(params.sessionId, session, message.text, supportsNotices);
|
|
3495
|
+
}
|
|
3496
|
+
break;
|
|
3497
|
+
case "plugin_install":
|
|
3488
3498
|
case "thinking_tokens":
|
|
3489
3499
|
// Todo: process via status api: https://docs.claude.com/en/docs/claude-code/hooks#hook-output
|
|
3490
3500
|
break;
|
|
@@ -5191,7 +5201,9 @@ export class ClaudeAcpAgent {
|
|
|
5191
5201
|
if (this.sessions[params.sessionId]) {
|
|
5192
5202
|
await this.teardownSession(params.sessionId);
|
|
5193
5203
|
}
|
|
5194
|
-
|
|
5204
|
+
// A never-prompted, unknown or non-UUID session has no transcript, and
|
|
5205
|
+
// deleting it succeeds (upstream #1351); any other SDK failure still fails.
|
|
5206
|
+
await deleteSessionIfStored(params.sessionId, deleteSession);
|
|
5195
5207
|
return {};
|
|
5196
5208
|
}
|
|
5197
5209
|
async setSessionMode(params) {
|
|
@@ -5249,6 +5261,18 @@ export class ClaudeAcpAgent {
|
|
|
5249
5261
|
await applyUltracodeToggle(session, resolveUltracodeRequested(params), useBoolean);
|
|
5250
5262
|
return { configOptions: session.configOptions };
|
|
5251
5263
|
}
|
|
5264
|
+
// Plan updates is fixed at CLI spawn: record the intent and recreate the
|
|
5265
|
+
// query lazily at the next prompt, the path Thinking takes below. An
|
|
5266
|
+
// invalid value throws before the session is touched.
|
|
5267
|
+
if (params.configId === PLAN_UPDATES_CONFIG_ID) {
|
|
5268
|
+
const enabled = resolvePlanUpdatesRequested(params);
|
|
5269
|
+
if (enabled !== session.planUpdatesEnabled) {
|
|
5270
|
+
session.planUpdatesEnabled = enabled;
|
|
5271
|
+
session.pendingQueryRecreate = true;
|
|
5272
|
+
session.configOptions = session.configOptions.map((o) => o.id === PLAN_UPDATES_CONFIG_ID ? createPlanUpdatesConfigOption(enabled, useBoolean) : o);
|
|
5273
|
+
}
|
|
5274
|
+
return { configOptions: session.configOptions };
|
|
5275
|
+
}
|
|
5252
5276
|
if (params.configId === EFFORT_CONFIG_ID &&
|
|
5253
5277
|
isLegacyUltracodeEffort(params.value) &&
|
|
5254
5278
|
(await applyLegacyUltracodeEffort(session, useBoolean))) {
|
|
@@ -5975,7 +5999,14 @@ export class ClaudeAcpAgent {
|
|
|
5975
5999
|
// and its selection survive unchanged.
|
|
5976
6000
|
accounts: session.declaredAccounts,
|
|
5977
6001
|
currentAccount: session.currentAccount,
|
|
5978
|
-
}
|
|
6002
|
+
},
|
|
6003
|
+
// Model-independent, threaded for the same reason as the account.
|
|
6004
|
+
session.planUpdatesEnabled === undefined
|
|
6005
|
+
? undefined
|
|
6006
|
+
: {
|
|
6007
|
+
enabled: session.planUpdatesEnabled,
|
|
6008
|
+
useBooleanOption: clientSupportsBooleanConfigOptions(this.clientCapabilities),
|
|
6009
|
+
});
|
|
5979
6010
|
// Sync effort with the SDK if it changed after the model switch
|
|
5980
6011
|
const newEffortOpt = session.configOptions.find((o) => o.id === EFFORT_CONFIG_ID);
|
|
5981
6012
|
const newEffort = typeof newEffortOpt?.currentValue === "string" ? newEffortOpt.currentValue : undefined;
|
|
@@ -6087,6 +6118,29 @@ export class ClaudeAcpAgent {
|
|
|
6087
6118
|
session.fastModeEnabled = enabled;
|
|
6088
6119
|
this.refreshFastModeOption(session, enabled);
|
|
6089
6120
|
}
|
|
6121
|
+
/** Show the CLI's overage refusal and turn Fast mode off through the same
|
|
6122
|
+
* setter a user toggle uses, so the resend loop stops. A setter failure is
|
|
6123
|
+
* logged and the notice still goes out: the user must learn why fast
|
|
6124
|
+
* requests are slow either way. */
|
|
6125
|
+
async onFastModeOverageRejected(sessionId, session, text, supportsNotices) {
|
|
6126
|
+
await this.client.sessionUpdate({
|
|
6127
|
+
sessionId,
|
|
6128
|
+
update: noticeOrTranscriptUpdate({ severity: "warning", ...splitNoticeText(text, "Fast mode overage refused") }, supportsNotices),
|
|
6129
|
+
});
|
|
6130
|
+
if (!session.fastModeEnabled)
|
|
6131
|
+
return;
|
|
6132
|
+
try {
|
|
6133
|
+
await this.applyFastMode(session, false);
|
|
6134
|
+
}
|
|
6135
|
+
catch (error) {
|
|
6136
|
+
this.logger.error(`[fast-mode] session=${sessionId} could not turn fast mode off after an overage refusal:`, error);
|
|
6137
|
+
return;
|
|
6138
|
+
}
|
|
6139
|
+
await this.client.sessionUpdate({
|
|
6140
|
+
sessionId,
|
|
6141
|
+
update: { sessionUpdate: "config_option_update", configOptions: session.configOptions },
|
|
6142
|
+
});
|
|
6143
|
+
}
|
|
6090
6144
|
/** The Ultracode display state for `buildConfigOptions`. */
|
|
6091
6145
|
ultracodeState(session, available) {
|
|
6092
6146
|
return {
|
|
@@ -6217,6 +6271,13 @@ export class ClaudeAcpAgent {
|
|
|
6217
6271
|
if (thinking !== undefined) {
|
|
6218
6272
|
options.thinking = thinking;
|
|
6219
6273
|
}
|
|
6274
|
+
// The Plan updates intent rides into the replacement's env (and the
|
|
6275
|
+
// settings tier, when that tier pins the variable).
|
|
6276
|
+
if (session.planUpdatesEnabled !== undefined &&
|
|
6277
|
+
!applyPlanUpdatesToOptions(options, session.planUpdatesEnabled, session.planUpdatesSettingsValue)) {
|
|
6278
|
+
this.logger.error(`Session ${sessionId}: Plan updates set only in the spawn env: the settings ` +
|
|
6279
|
+
`are a file path, and its env value for ${TODO_TOOLS_ENV} still applies.`);
|
|
6280
|
+
}
|
|
6220
6281
|
// A session that has not finished a turn yet has no transcript, and
|
|
6221
6282
|
// resuming it fails ("No conversation found with session ID"): that is why
|
|
6222
6283
|
// every fresh thread's first turn used to carry the "could not be applied"
|
|
@@ -6328,7 +6389,7 @@ export class ClaudeAcpAgent {
|
|
|
6328
6389
|
const reason = this.sessions[sessionId] !== session
|
|
6329
6390
|
? "the session was evicted while the replacement query initialized"
|
|
6330
6391
|
: "the session's query stream ended while the replacement query initialized";
|
|
6331
|
-
this.logger.error(`Session ${sessionId}: abandoning
|
|
6392
|
+
this.logger.error(`Session ${sessionId}: abandoning a config-change query recreate: ${reason}.`);
|
|
6332
6393
|
newInput.end();
|
|
6333
6394
|
try {
|
|
6334
6395
|
newQuery.close();
|
|
@@ -6345,7 +6406,7 @@ export class ClaudeAcpAgent {
|
|
|
6345
6406
|
// flag is retained, so the next prompt rebuilds from fresh state.
|
|
6346
6407
|
if (session.models.currentModelId !== appliedModelId ||
|
|
6347
6408
|
session.modes.currentModeId !== appliedModeId) {
|
|
6348
|
-
this.logger.error(`Session ${sessionId}: abandoning
|
|
6409
|
+
this.logger.error(`Session ${sessionId}: abandoning a config-change query recreate: the session's model ` +
|
|
6349
6410
|
`or permission mode changed while the replacement initialized; retrying on ` +
|
|
6350
6411
|
`the next prompt.`);
|
|
6351
6412
|
newInput.end();
|
|
@@ -6386,7 +6447,7 @@ export class ClaudeAcpAgent {
|
|
|
6386
6447
|
// Keep the OLD query fully usable and the pending flag set (the next
|
|
6387
6448
|
// prompt retries); the current turn proceeds with the previous thinking
|
|
6388
6449
|
// config. Everything is contained here — never an unhandled rejection.
|
|
6389
|
-
this.logger.error(`Session ${sessionId}: failed to recreate query for Thinking
|
|
6450
|
+
this.logger.error(`Session ${sessionId}: failed to recreate query for a config change (Thinking or Plan updates):`, error);
|
|
6390
6451
|
newInput.end();
|
|
6391
6452
|
try {
|
|
6392
6453
|
newQuery?.close();
|
|
@@ -6401,7 +6462,7 @@ export class ClaudeAcpAgent {
|
|
|
6401
6462
|
sessionUpdate: "agent_message_chunk",
|
|
6402
6463
|
content: {
|
|
6403
6464
|
type: "text",
|
|
6404
|
-
text: "Note: the updated Thinking setting could not be applied to this turn " +
|
|
6465
|
+
text: "Note: the updated Thinking or Plan updates setting could not be applied to this turn " +
|
|
6405
6466
|
"(recreating the session's query failed), so it continues with the previous " +
|
|
6406
6467
|
"setting. The change will be retried on the next prompt.",
|
|
6407
6468
|
},
|
|
@@ -6495,14 +6556,32 @@ export class ClaudeAcpAgent {
|
|
|
6495
6556
|
// recreate it so the underlying Query process picks up the new values.
|
|
6496
6557
|
await this.teardownSession(params.sessionId);
|
|
6497
6558
|
}
|
|
6498
|
-
const
|
|
6559
|
+
const sessionParams = {
|
|
6499
6560
|
cwd: params.cwd,
|
|
6500
6561
|
mcpServers: params.mcpServers ?? [],
|
|
6501
6562
|
additionalDirectories: params.additionalDirectories,
|
|
6502
6563
|
_meta: params._meta,
|
|
6503
|
-
}
|
|
6504
|
-
|
|
6505
|
-
|
|
6564
|
+
};
|
|
6565
|
+
let response;
|
|
6566
|
+
try {
|
|
6567
|
+
response = await this.createSession(sessionParams, { resume: params.sessionId });
|
|
6568
|
+
}
|
|
6569
|
+
catch (error) {
|
|
6570
|
+
// Claude Code writes the conversation at the first prompt, so a live
|
|
6571
|
+
// session never prompted has nothing to resume (upstream #1353). It had
|
|
6572
|
+
// no history to lose: start a fresh query under the same public id, in
|
|
6573
|
+
// the mode it had. A session not live here is really unknown, and any
|
|
6574
|
+
// other failure is returned as before.
|
|
6575
|
+
if (!existingSession ||
|
|
6576
|
+
!(error instanceof RequestError && error.code === RequestError.resourceNotFound().code)) {
|
|
6577
|
+
throw error;
|
|
6578
|
+
}
|
|
6579
|
+
this.logger.log(`[session/resume] session=${params.sessionId} was never persisted; starting a fresh query under the same id`);
|
|
6580
|
+
response = await this.createSession(sessionParams, {
|
|
6581
|
+
reuseSessionId: params.sessionId,
|
|
6582
|
+
permissionMode: existingSession.modes.currentModeId,
|
|
6583
|
+
});
|
|
6584
|
+
}
|
|
6506
6585
|
return {
|
|
6507
6586
|
sessionId: response.sessionId,
|
|
6508
6587
|
modes: response.modes,
|
|
@@ -6549,6 +6628,9 @@ export class ClaudeAcpAgent {
|
|
|
6549
6628
|
else if (creationOpts.resume) {
|
|
6550
6629
|
sessionId = creationOpts.resume;
|
|
6551
6630
|
}
|
|
6631
|
+
else if (creationOpts.reuseSessionId) {
|
|
6632
|
+
sessionId = creationOpts.reuseSessionId;
|
|
6633
|
+
}
|
|
6552
6634
|
else {
|
|
6553
6635
|
sessionId = randomUUID();
|
|
6554
6636
|
}
|
|
@@ -6744,6 +6826,13 @@ export class ClaudeAcpAgent {
|
|
|
6744
6826
|
// Opt-in to session state events like when the agent is idle
|
|
6745
6827
|
CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS: "1",
|
|
6746
6828
|
};
|
|
6829
|
+
// Plan updates (story 062): the todo tools are on unless an env the user
|
|
6830
|
+
// wrote -- this spawn env or the settings tier the CLI applies after it --
|
|
6831
|
+
// already decided; that value is kept and becomes the option's.
|
|
6832
|
+
const planUpdatesSpawn = resolvePlanUpdatesAtSpawn(env, settingsManager.getSettings().env, typeof settings === "object" ? settings.env : undefined);
|
|
6833
|
+
if (planUpdatesSpawn.inject) {
|
|
6834
|
+
env[TODO_TOOLS_ENV] = "1";
|
|
6835
|
+
}
|
|
6747
6836
|
// A resume or load continues in the mode of the transcript's last prompt
|
|
6748
6837
|
// (upstream #1218), read from the configuration home this query runs with
|
|
6749
6838
|
// -- an account overlay keeps its transcripts there. An explicit mode still
|
|
@@ -7069,6 +7158,9 @@ export class ClaudeAcpAgent {
|
|
|
7069
7158
|
// directory the query was actually started with cannot disagree.
|
|
7070
7159
|
accounts: declaredAccounts,
|
|
7071
7160
|
currentAccount: accountEntry?.value,
|
|
7161
|
+
}, {
|
|
7162
|
+
enabled: planUpdatesSpawn.enabled,
|
|
7163
|
+
useBooleanOption: clientSupportsBooleanConfigOptions(this.clientCapabilities),
|
|
7072
7164
|
});
|
|
7073
7165
|
// Apply the initial effort level to the SDK so it matches the UI default.
|
|
7074
7166
|
// It carries the Ultracode intent: an effort change without the key would
|
|
@@ -7144,6 +7236,8 @@ export class ClaudeAcpAgent {
|
|
|
7144
7236
|
currentAgent,
|
|
7145
7237
|
ultracodeRequested,
|
|
7146
7238
|
ultracodeAvailable: configOptions.some((o) => o.id === ULTRACODE_CONFIG_ID),
|
|
7239
|
+
planUpdatesEnabled: planUpdatesSpawn.enabled,
|
|
7240
|
+
planUpdatesSettingsValue: planUpdatesSpawn.settingsValue,
|
|
7147
7241
|
workflowsDisabled,
|
|
7148
7242
|
declaredAccounts,
|
|
7149
7243
|
currentAccount: accountEntry?.value,
|
|
@@ -7424,6 +7518,8 @@ export { MODE_CONFIG_ID };
|
|
|
7424
7518
|
export const MODEL_CONFIG_ID = "model";
|
|
7425
7519
|
export const AGENT_CONFIG_ID = "agent";
|
|
7426
7520
|
export const FAST_MODE_CONFIG_ID = "fast";
|
|
7521
|
+
/** The CLI's `system/notification` key for a refused fast-mode overage. */
|
|
7522
|
+
export const FAST_MODE_OVERAGE_REJECTED_KEY = "fast-mode-overage-rejected";
|
|
7427
7523
|
/** Select-fallback values used when the client has not opted into boolean
|
|
7428
7524
|
* config options (see {@link createFastModeConfigOption}). */
|
|
7429
7525
|
export const FAST_MODE_ON = "on";
|
|
@@ -7530,7 +7626,10 @@ thinkingEnabled,
|
|
|
7530
7626
|
ultracode,
|
|
7531
7627
|
/** The declared accounts plus the one in force, which decide whether an
|
|
7532
7628
|
* account selector is advertised at all (R6.1/R6.2). */
|
|
7533
|
-
settings
|
|
7629
|
+
settings,
|
|
7630
|
+
/** Display state for Plan updates; omitted by direct callers/tests, in
|
|
7631
|
+
* which case the option is not shown. */
|
|
7632
|
+
planUpdates) {
|
|
7534
7633
|
const options = [
|
|
7535
7634
|
SessionModeManager.configOption(modes),
|
|
7536
7635
|
{
|
|
@@ -7602,6 +7701,10 @@ settings) {
|
|
|
7602
7701
|
if (thinkingEnabled !== undefined) {
|
|
7603
7702
|
options.push(createThinkingConfigOption(thinkingEnabled));
|
|
7604
7703
|
}
|
|
7704
|
+
// Plan updates: model-independent, like Thinking (`plan-updates.ts`).
|
|
7705
|
+
if (planUpdates) {
|
|
7706
|
+
options.push(createPlanUpdatesConfigOption(planUpdates.enabled, planUpdates.useBooleanOption));
|
|
7707
|
+
}
|
|
7605
7708
|
// Only surface the Agent picker when there's a real choice — i.e. the user
|
|
7606
7709
|
// has configured at least one custom agent (built-ins are filtered out in
|
|
7607
7710
|
// discoverCustomAgents). With none configured, "Default" would be the only
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plan updates — a session-scoped boolean option that turns on the CLI's todo
|
|
3
|
+
* tools, so Zed's plan view fills on current models.
|
|
4
|
+
*
|
|
5
|
+
* **Why it exists.** The CLI enables `TodoWrite` only on legacy models unless
|
|
6
|
+
* `CLAUDE_CODE_ENABLE_TODO_TOOLS` is set (upstream #1380); on Opus 5.x the
|
|
7
|
+
* adapter never sees a todo call and never emits a `plan` session update. The
|
|
8
|
+
* variable is read once, at CLI spawn, so the option drives the query env and
|
|
9
|
+
* a live toggle recreates the query (the lazy path Thinking uses).
|
|
10
|
+
*
|
|
11
|
+
* **An env the user already wrote wins** (story 062, R1.3): a value in the
|
|
12
|
+
* client-supplied or process env, or in the settings env the CLI applies
|
|
13
|
+
* after the spawn env, is kept and decides the option's starting value. Only
|
|
14
|
+
* a toggle overrides it, and only for that session.
|
|
15
|
+
*
|
|
16
|
+
* **Off does not reach every model.** The CLI keeps the todo tools on for
|
|
17
|
+
* legacy models whatever the variable says, so "Off" removes them only where
|
|
18
|
+
* the option is what turned them on. Managed settings, and settings edited
|
|
19
|
+
* after spawn, are not read here.
|
|
20
|
+
*
|
|
21
|
+
* Kept self-contained — no import from `acp-agent.ts` — for the reason
|
|
22
|
+
* `ultracode.ts` states: that file moves upstream almost daily.
|
|
23
|
+
*/
|
|
24
|
+
import type { Options } from "@anthropic-ai/claude-agent-sdk";
|
|
25
|
+
import type { SessionConfigOption, SetSessionConfigOptionRequest } from "@agentclientprotocol/sdk";
|
|
26
|
+
export declare const TODO_TOOLS_ENV = "CLAUDE_CODE_ENABLE_TODO_TOOLS";
|
|
27
|
+
export declare const PLAN_UPDATES_OPTION_NAME = "Plan updates";
|
|
28
|
+
/** The select-fallback spelling Fast mode and Ultracode use. */
|
|
29
|
+
export declare const PLAN_UPDATES_ON = "on";
|
|
30
|
+
export declare const PLAN_UPDATES_OFF = "off";
|
|
31
|
+
/** `1`/`true`/`yes`/`on` read as on — the bundled CLI 2.1.296's own truthy
|
|
32
|
+
* env spelling — and any other value present as off; `undefined` when the
|
|
33
|
+
* variable is absent. */
|
|
34
|
+
export declare function readTodoToolsEnv(value: string | undefined): boolean | undefined;
|
|
35
|
+
/** The spawn-time state. `settingsValue` is set when a settings tier defines
|
|
36
|
+
* the variable: both outrank the spawn env, so a toggle must override it in
|
|
37
|
+
* the programmatic tier, which outranks the settings files too. */
|
|
38
|
+
export interface PlanUpdatesSpawnState {
|
|
39
|
+
enabled: boolean;
|
|
40
|
+
/** Whether the adapter must add `"1"` to the spawn env. */
|
|
41
|
+
inject: boolean;
|
|
42
|
+
settingsValue?: boolean;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* @param settingsEnv the merged user/project/local settings files' env.
|
|
46
|
+
* @param programmaticEnv the env of the settings the adapter passes on the
|
|
47
|
+
* command line (`options.settings`), which the CLI ranks above the files.
|
|
48
|
+
*/
|
|
49
|
+
export declare function resolvePlanUpdatesAtSpawn(spawnEnv: Record<string, string | undefined>, settingsEnv: Record<string, string> | undefined, programmaticEnv?: Record<string, string>): PlanUpdatesSpawnState;
|
|
50
|
+
export declare function createPlanUpdatesConfigOption(enabled: boolean, useBooleanOption: boolean): SessionConfigOption;
|
|
51
|
+
/** A native boolean, or the on/off select-fallback strings; anything else
|
|
52
|
+
* throws before the session is touched. */
|
|
53
|
+
export declare function resolvePlanUpdatesRequested(params: SetSessionConfigOptionRequest): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Write the session's intent into a replacement query's options. The spawn
|
|
56
|
+
* env always carries it; the settings tier too whenever it defines the
|
|
57
|
+
* variable, because there it would otherwise win — every time, so a toggle
|
|
58
|
+
* back to the settings value undoes an earlier override in the recorded
|
|
59
|
+
* options. A settings path (string) cannot be overridden here, and is
|
|
60
|
+
* reported back as `false`.
|
|
61
|
+
*/
|
|
62
|
+
export declare function applyPlanUpdatesToOptions(options: Options, enabled: boolean, settingsValue: boolean | undefined): boolean;
|
|
63
|
+
//# sourceMappingURL=plan-updates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-updates.d.ts","sourceRoot":"","sources":["../src/plan-updates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAGnG,eAAO,MAAM,cAAc,kCAAkC,CAAC;AAC9D,eAAO,MAAM,wBAAwB,iBAAiB,CAAC;AAEvD,gEAAgE;AAChE,eAAO,MAAM,eAAe,OAAO,CAAC;AACpC,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAEtC;;0BAE0B;AAC1B,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAG/E;AAED;;oEAEoE;AACpE,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,2DAA2D;IAC3D,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC5C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC/C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvC,qBAAqB,CAUvB;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,OAAO,GACxB,mBAAmB,CAkBrB;AAED;4CAC4C;AAC5C,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAM1F;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,OAAO,GAAG,SAAS,GACjC,OAAO,CAQT"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plan updates — a session-scoped boolean option that turns on the CLI's todo
|
|
3
|
+
* tools, so Zed's plan view fills on current models.
|
|
4
|
+
*
|
|
5
|
+
* **Why it exists.** The CLI enables `TodoWrite` only on legacy models unless
|
|
6
|
+
* `CLAUDE_CODE_ENABLE_TODO_TOOLS` is set (upstream #1380); on Opus 5.x the
|
|
7
|
+
* adapter never sees a todo call and never emits a `plan` session update. The
|
|
8
|
+
* variable is read once, at CLI spawn, so the option drives the query env and
|
|
9
|
+
* a live toggle recreates the query (the lazy path Thinking uses).
|
|
10
|
+
*
|
|
11
|
+
* **An env the user already wrote wins** (story 062, R1.3): a value in the
|
|
12
|
+
* client-supplied or process env, or in the settings env the CLI applies
|
|
13
|
+
* after the spawn env, is kept and decides the option's starting value. Only
|
|
14
|
+
* a toggle overrides it, and only for that session.
|
|
15
|
+
*
|
|
16
|
+
* **Off does not reach every model.** The CLI keeps the todo tools on for
|
|
17
|
+
* legacy models whatever the variable says, so "Off" removes them only where
|
|
18
|
+
* the option is what turned them on. Managed settings, and settings edited
|
|
19
|
+
* after spawn, are not read here.
|
|
20
|
+
*
|
|
21
|
+
* Kept self-contained — no import from `acp-agent.ts` — for the reason
|
|
22
|
+
* `ultracode.ts` states: that file moves upstream almost daily.
|
|
23
|
+
*/
|
|
24
|
+
import { PLAN_UPDATES_CONFIG_ID } from "./session-config-ids.js";
|
|
25
|
+
export const TODO_TOOLS_ENV = "CLAUDE_CODE_ENABLE_TODO_TOOLS";
|
|
26
|
+
export const PLAN_UPDATES_OPTION_NAME = "Plan updates";
|
|
27
|
+
const PLAN_UPDATES_DESCRIPTION = "Show the agent's todo list in the plan view";
|
|
28
|
+
/** The select-fallback spelling Fast mode and Ultracode use. */
|
|
29
|
+
export const PLAN_UPDATES_ON = "on";
|
|
30
|
+
export const PLAN_UPDATES_OFF = "off";
|
|
31
|
+
/** `1`/`true`/`yes`/`on` read as on — the bundled CLI 2.1.296's own truthy
|
|
32
|
+
* env spelling — and any other value present as off; `undefined` when the
|
|
33
|
+
* variable is absent. */
|
|
34
|
+
export function readTodoToolsEnv(value) {
|
|
35
|
+
if (value === undefined)
|
|
36
|
+
return undefined;
|
|
37
|
+
return ["1", "true", "yes", "on"].includes(value.trim().toLowerCase());
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* @param settingsEnv the merged user/project/local settings files' env.
|
|
41
|
+
* @param programmaticEnv the env of the settings the adapter passes on the
|
|
42
|
+
* command line (`options.settings`), which the CLI ranks above the files.
|
|
43
|
+
*/
|
|
44
|
+
export function resolvePlanUpdatesAtSpawn(spawnEnv, settingsEnv, programmaticEnv) {
|
|
45
|
+
const settingsValue = readTodoToolsEnv(programmaticEnv?.[TODO_TOOLS_ENV]) ??
|
|
46
|
+
readTodoToolsEnv(settingsEnv?.[TODO_TOOLS_ENV]);
|
|
47
|
+
const envValue = readTodoToolsEnv(spawnEnv[TODO_TOOLS_ENV]);
|
|
48
|
+
// The CLI applies settings env after the spawn env, so that is what it
|
|
49
|
+
// would actually run with.
|
|
50
|
+
const pinned = settingsValue ?? envValue;
|
|
51
|
+
if (pinned !== undefined)
|
|
52
|
+
return { enabled: pinned, inject: false, settingsValue };
|
|
53
|
+
return { enabled: true, inject: true };
|
|
54
|
+
}
|
|
55
|
+
export function createPlanUpdatesConfigOption(enabled, useBooleanOption) {
|
|
56
|
+
const base = {
|
|
57
|
+
id: PLAN_UPDATES_CONFIG_ID,
|
|
58
|
+
name: PLAN_UPDATES_OPTION_NAME,
|
|
59
|
+
description: PLAN_UPDATES_DESCRIPTION,
|
|
60
|
+
};
|
|
61
|
+
if (useBooleanOption) {
|
|
62
|
+
return { ...base, type: "boolean", currentValue: enabled };
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
...base,
|
|
66
|
+
type: "select",
|
|
67
|
+
currentValue: enabled ? PLAN_UPDATES_ON : PLAN_UPDATES_OFF,
|
|
68
|
+
options: [
|
|
69
|
+
{ value: PLAN_UPDATES_ON, name: "On" },
|
|
70
|
+
{ value: PLAN_UPDATES_OFF, name: "Off" },
|
|
71
|
+
],
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/** A native boolean, or the on/off select-fallback strings; anything else
|
|
75
|
+
* throws before the session is touched. */
|
|
76
|
+
export function resolvePlanUpdatesRequested(params) {
|
|
77
|
+
const value = params.value;
|
|
78
|
+
if (typeof value === "boolean")
|
|
79
|
+
return value;
|
|
80
|
+
if (value === PLAN_UPDATES_ON)
|
|
81
|
+
return true;
|
|
82
|
+
if (value === PLAN_UPDATES_OFF)
|
|
83
|
+
return false;
|
|
84
|
+
throw new Error(`Invalid value for config option ${PLAN_UPDATES_CONFIG_ID}: ${String(value)}`);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Write the session's intent into a replacement query's options. The spawn
|
|
88
|
+
* env always carries it; the settings tier too whenever it defines the
|
|
89
|
+
* variable, because there it would otherwise win — every time, so a toggle
|
|
90
|
+
* back to the settings value undoes an earlier override in the recorded
|
|
91
|
+
* options. A settings path (string) cannot be overridden here, and is
|
|
92
|
+
* reported back as `false`.
|
|
93
|
+
*/
|
|
94
|
+
export function applyPlanUpdatesToOptions(options, enabled, settingsValue) {
|
|
95
|
+
const value = enabled ? "1" : "0";
|
|
96
|
+
options.env = { ...options.env, [TODO_TOOLS_ENV]: value };
|
|
97
|
+
if (settingsValue === undefined)
|
|
98
|
+
return true;
|
|
99
|
+
const settings = options.settings;
|
|
100
|
+
if (typeof settings === "string")
|
|
101
|
+
return false;
|
|
102
|
+
options.settings = { ...settings, env: { ...settings?.env, [TODO_TOOLS_ENV]: value } };
|
|
103
|
+
return true;
|
|
104
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-config-ids.d.ts","sourceRoot":"","sources":["../src/session-config-ids.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAC1C,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAC1C,eAAO,MAAM,gBAAgB,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"session-config-ids.d.ts","sourceRoot":"","sources":["../src/session-config-ids.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAC1C,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAC1C,eAAO,MAAM,gBAAgB,WAAW,CAAC;AACzC,eAAO,MAAM,sBAAsB,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `session/delete` without a transcript succeeds (upstream fadbe18, #1351).
|
|
3
|
+
*
|
|
4
|
+
* ACP: "Deleting an already-deleted session, or a session that never existed,
|
|
5
|
+
* SHOULD succeed silently." The SDK delete instead throws for an id that is
|
|
6
|
+
* not a UUID ("Invalid sessionId") and for a session with nothing on disk —
|
|
7
|
+
* which includes a live session never prompted, since Claude Code writes the
|
|
8
|
+
* transcript at the first prompt. Every other SDK failure still fails.
|
|
9
|
+
*/
|
|
10
|
+
/** Whether `value` is a Claude session id (a UUID): only such ids name a
|
|
11
|
+
* transcript. */
|
|
12
|
+
export declare function isSessionId(value: unknown): value is string;
|
|
13
|
+
/** The SDK's own "nothing on disk" error, matched on its message as upstream
|
|
14
|
+
* does — the SDK throws a plain `Error` with no code. */
|
|
15
|
+
export declare function isSdkSessionNotFound(error: unknown): boolean;
|
|
16
|
+
export declare function deleteSessionIfStored(sessionId: string, deleteSession?: (sessionId: string) => Promise<void>): Promise<void>;
|
|
17
|
+
//# sourceMappingURL=session-delete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-delete.d.ts","sourceRoot":"","sources":["../src/session-delete.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;kBACkB;AAClB,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE3D;AAED;0DAC0D;AAC1D,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE5D;AAED,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,aAAa,GAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAoB,GACrE,OAAO,CAAC,IAAI,CAAC,CAQf"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `session/delete` without a transcript succeeds (upstream fadbe18, #1351).
|
|
3
|
+
*
|
|
4
|
+
* ACP: "Deleting an already-deleted session, or a session that never existed,
|
|
5
|
+
* SHOULD succeed silently." The SDK delete instead throws for an id that is
|
|
6
|
+
* not a UUID ("Invalid sessionId") and for a session with nothing on disk —
|
|
7
|
+
* which includes a live session never prompted, since Claude Code writes the
|
|
8
|
+
* transcript at the first prompt. Every other SDK failure still fails.
|
|
9
|
+
*/
|
|
10
|
+
import { deleteSession as sdkDeleteSession } from "@anthropic-ai/claude-agent-sdk";
|
|
11
|
+
const SESSION_ID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
12
|
+
/** Whether `value` is a Claude session id (a UUID): only such ids name a
|
|
13
|
+
* transcript. */
|
|
14
|
+
export function isSessionId(value) {
|
|
15
|
+
return typeof value === "string" && SESSION_ID_PATTERN.test(value);
|
|
16
|
+
}
|
|
17
|
+
/** The SDK's own "nothing on disk" error, matched on its message as upstream
|
|
18
|
+
* does — the SDK throws a plain `Error` with no code. */
|
|
19
|
+
export function isSdkSessionNotFound(error) {
|
|
20
|
+
return error instanceof Error && /^Session \S+ not found in /.test(error.message);
|
|
21
|
+
}
|
|
22
|
+
export async function deleteSessionIfStored(sessionId, deleteSession = sdkDeleteSession) {
|
|
23
|
+
if (!isSessionId(sessionId))
|
|
24
|
+
return;
|
|
25
|
+
try {
|
|
26
|
+
await deleteSession(sessionId);
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
if (isSdkSessionNotFound(error))
|
|
30
|
+
return;
|
|
31
|
+
throw error;
|
|
32
|
+
}
|
|
33
|
+
}
|
package/dist/session-titles.d.ts
CHANGED
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* AI-generated session titles.
|
|
3
3
|
*
|
|
4
|
-
* Claude Code
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* Claude Code titles a new SDK session itself: when it reads the first prompt,
|
|
5
|
+
* it asks a small model for a title and stores it in the transcript as an
|
|
6
|
+
* `ai-title` entry, a few seconds in, and sends no message when it does
|
|
7
|
+
* (upstream #1406 corrected the older claim that it never does). This module
|
|
8
|
+
* asks for the title with the `generate_session_title` control request, which
|
|
9
|
+
* returns the stored title or waits for the one being generated, and publishes
|
|
10
|
+
* it over ACP as a `session_info_update`. Where the CLI does not title the
|
|
11
|
+
* session itself (a resumed session, or nonessential traffic disabled), the
|
|
12
|
+
* same request generates it.
|
|
9
13
|
*
|
|
10
14
|
* {@link SessionTitles} holds the per-session state and is owned by `Session`.
|
|
11
|
-
* `acp-agent.ts` drives it from
|
|
15
|
+
* `acp-agent.ts` drives it from five places: {@link SessionTitles.onPrompt} and
|
|
12
16
|
* {@link SessionTitles.onAssistantText} to collect text,
|
|
17
|
+
* {@link SessionTitles.onPromptQueued} once a prompt is sent to the CLI,
|
|
13
18
|
* {@link SessionTitles.onTurnEnd} at `session_state_changed: idle`, and
|
|
14
19
|
* {@link SessionTitles.reset} on `conversation_reset`.
|
|
15
20
|
*/
|
|
@@ -36,10 +41,26 @@ export declare class SessionTitles {
|
|
|
36
41
|
* the same field as a user `/rename`, so re-titling could silently overwrite
|
|
37
42
|
* one. Released by {@link reset}, and when generation yields nothing. */
|
|
38
43
|
private settled;
|
|
44
|
+
/** Whether {@link onPromptQueued} asked for a title from the latest prompt
|
|
45
|
+
* and did not fail. A turn end then does not ask again: like the CLI, a
|
|
46
|
+
* prompt that yields no title gets one try, and the next prompt tries
|
|
47
|
+
* again. A request that throws clears it, so the turn end asks as before
|
|
48
|
+
* (story 062, R4.2). */
|
|
49
|
+
private askedAtPrompt;
|
|
50
|
+
/** Set once a real title — stored or generated — has been published, so a
|
|
51
|
+
* generation still in flight never replaces it with a late result. */
|
|
52
|
+
private titled;
|
|
39
53
|
constructor(agent: ClaudeAcpAgent, sessionId: string);
|
|
40
54
|
/** Collect a prompt's own text for the title, skipping openers not worth
|
|
41
55
|
* titling after. No-op once the title is settled. */
|
|
42
56
|
onPrompt(prompt: PromptRequest["prompt"]): void;
|
|
57
|
+
/** Ask for the title as soon as a prompt is sent to the CLI, instead of
|
|
58
|
+
* waiting for `idle`, which comes only after the whole turn and its
|
|
59
|
+
* background tasks. The CLI answers `generate_session_title` while the turn
|
|
60
|
+
* runs, with the title it stored or is generating, so this makes no second
|
|
61
|
+
* model call. The prompt alone is the description, because the CLI titles
|
|
62
|
+
* from the prompt alone. */
|
|
63
|
+
onPromptQueued(session: Session, prompt: PromptRequest["prompt"]): void;
|
|
43
64
|
/** Collect the assistant's own answer for the title. Chunks are appended
|
|
44
65
|
* verbatim so streamed text reassembles. No-op once the title is settled. */
|
|
45
66
|
onAssistantText(content: ContentBlock): void;
|
|
@@ -66,12 +87,21 @@ export declare class SessionTitles {
|
|
|
66
87
|
/** Whether to ask the SDK for a generated title now: once per session, on a
|
|
67
88
|
* live query, with enough collected text for the generator to work with. */
|
|
68
89
|
private canRequest;
|
|
69
|
-
/**
|
|
70
|
-
*
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
*
|
|
74
|
-
*
|
|
90
|
+
/** Latch the title and run `generation` in the background, so neither the
|
|
91
|
+
* prompt nor turn-end waits on a model call. */
|
|
92
|
+
private startGeneration;
|
|
93
|
+
/** The prompt-time title: the one the session file already holds (a resumed
|
|
94
|
+
* session's title, or a `/rename`), else one generated from `description`.
|
|
95
|
+
* The file is read first because the CLI checks only the titles it holds in
|
|
96
|
+
* memory before generating one. */
|
|
97
|
+
private titleFromPrompt;
|
|
98
|
+
/** Generate a title from `description` and publish it. `persist` writes it
|
|
99
|
+
* to the session file, which is what carries it into `session/list` and
|
|
100
|
+
* `session/load`. A null or failed generation releases the latch so a later
|
|
101
|
+
* prompt or turn end retries, and publishes `fallback` (the stored summary)
|
|
102
|
+
* so a backend that can't generate titles is no worse off than before. A
|
|
103
|
+
* prompt-time request that throws publishes nothing and lets the turn end
|
|
104
|
+
* ask again. */
|
|
75
105
|
private requestGenerateTitle;
|
|
76
106
|
}
|
|
77
107
|
//# sourceMappingURL=session-titles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-titles.d.ts","sourceRoot":"","sources":["../src/session-titles.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"session-titles.d.ts","sourceRoot":"","sources":["../src/session-titles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE5E,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AA0B9D,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAUlD;AAED;gEACgE;AAChE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGrF;AAYD;;iDAEiD;AACjD,qBAAa,aAAa;IA2BtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS;IA3B5B;sEACkE;IAClE,OAAO,CAAC,SAAS,CAAC,CAAS;IAE3B;yEACqE;IACrE,OAAO,CAAC,OAAO,CAAC,CAAS;IAEzB;;;8EAG0E;IAC1E,OAAO,CAAC,OAAO,CAAS;IAExB;;;;6BAIyB;IACzB,OAAO,CAAC,aAAa,CAAS;IAE9B;2EACuE;IACvE,OAAO,CAAC,MAAM,CAAS;gBAGJ,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM;IAGpC;0DACsD;IACtD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,IAAI;IAO/C;;;;;iCAK6B;IAC7B,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,IAAI;IAevE;kFAC8E;IAC9E,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAO5C;iEAC6D;IAC7D,KAAK,IAAI,IAAI;IAQb;;;;;;;;;;wCAUoC;IAC9B,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BhD;oFACgF;YAClE,eAAe;IAS7B,uEAAuE;YACzD,OAAO;IAgBrB;iFAC6E;IAC7E,OAAO,CAAC,UAAU;IAUlB;qDACiD;IACjD,OAAO,CAAC,eAAe;IAOvB;;;wCAGoC;YACtB,eAAe;IAiB7B;;;;;;qBAMiB;YACH,oBAAoB;CA6CnC"}
|
package/dist/session-titles.js
CHANGED
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* AI-generated session titles.
|
|
3
3
|
*
|
|
4
|
-
* Claude Code
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* Claude Code titles a new SDK session itself: when it reads the first prompt,
|
|
5
|
+
* it asks a small model for a title and stores it in the transcript as an
|
|
6
|
+
* `ai-title` entry, a few seconds in, and sends no message when it does
|
|
7
|
+
* (upstream #1406 corrected the older claim that it never does). This module
|
|
8
|
+
* asks for the title with the `generate_session_title` control request, which
|
|
9
|
+
* returns the stored title or waits for the one being generated, and publishes
|
|
10
|
+
* it over ACP as a `session_info_update`. Where the CLI does not title the
|
|
11
|
+
* session itself (a resumed session, or nonessential traffic disabled), the
|
|
12
|
+
* same request generates it.
|
|
9
13
|
*
|
|
10
14
|
* {@link SessionTitles} holds the per-session state and is owned by `Session`.
|
|
11
|
-
* `acp-agent.ts` drives it from
|
|
15
|
+
* `acp-agent.ts` drives it from five places: {@link SessionTitles.onPrompt} and
|
|
12
16
|
* {@link SessionTitles.onAssistantText} to collect text,
|
|
17
|
+
* {@link SessionTitles.onPromptQueued} once a prompt is sent to the CLI,
|
|
13
18
|
* {@link SessionTitles.onTurnEnd} at `session_state_changed: idle`, and
|
|
14
19
|
* {@link SessionTitles.reset} on `conversation_reset`.
|
|
15
20
|
*/
|
|
@@ -38,6 +43,10 @@ export function appendTitleContext(previous, text) {
|
|
|
38
43
|
const next = (previous ?? "") + text;
|
|
39
44
|
return next.length > MAX_TITLE_CONTEXT_LENGTH ? next.slice(-MAX_TITLE_CONTEXT_LENGTH) : next;
|
|
40
45
|
}
|
|
46
|
+
/** The text chunks of a prompt, one per line. */
|
|
47
|
+
function promptText(prompt) {
|
|
48
|
+
return prompt.flatMap((chunk) => (chunk.type === "text" ? [chunk.text] : [])).join("\n");
|
|
49
|
+
}
|
|
41
50
|
/** Whether this SDK still offers on-demand title generation. */
|
|
42
51
|
function supportsTitleGeneration(query) {
|
|
43
52
|
return typeof query.generateSessionTitle === "function";
|
|
@@ -59,6 +68,15 @@ export class SessionTitles {
|
|
|
59
68
|
* the same field as a user `/rename`, so re-titling could silently overwrite
|
|
60
69
|
* one. Released by {@link reset}, and when generation yields nothing. */
|
|
61
70
|
settled = false;
|
|
71
|
+
/** Whether {@link onPromptQueued} asked for a title from the latest prompt
|
|
72
|
+
* and did not fail. A turn end then does not ask again: like the CLI, a
|
|
73
|
+
* prompt that yields no title gets one try, and the next prompt tries
|
|
74
|
+
* again. A request that throws clears it, so the turn end asks as before
|
|
75
|
+
* (story 062, R4.2). */
|
|
76
|
+
askedAtPrompt = false;
|
|
77
|
+
/** Set once a real title — stored or generated — has been published, so a
|
|
78
|
+
* generation still in flight never replaces it with a late result. */
|
|
79
|
+
titled = false;
|
|
62
80
|
constructor(agent, sessionId) {
|
|
63
81
|
this.agent = agent;
|
|
64
82
|
this.sessionId = sessionId;
|
|
@@ -69,10 +87,27 @@ export class SessionTitles {
|
|
|
69
87
|
if (this.settled) {
|
|
70
88
|
return;
|
|
71
89
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
90
|
+
this.context = appendTitleContext(this.context, `\n${promptText(prompt)}\n`);
|
|
91
|
+
}
|
|
92
|
+
/** Ask for the title as soon as a prompt is sent to the CLI, instead of
|
|
93
|
+
* waiting for `idle`, which comes only after the whole turn and its
|
|
94
|
+
* background tasks. The CLI answers `generate_session_title` while the turn
|
|
95
|
+
* runs, with the title it stored or is generating, so this makes no second
|
|
96
|
+
* model call. The prompt alone is the description, because the CLI titles
|
|
97
|
+
* from the prompt alone. */
|
|
98
|
+
onPromptQueued(session, prompt) {
|
|
99
|
+
this.askedAtPrompt = false;
|
|
100
|
+
// `session.cancelled` is not checked: after a cancelled turn it stays set
|
|
101
|
+
// until the next turn starts, which is after this prompt is queued.
|
|
102
|
+
if (this.settled || session.queryClosed || !supportsTitleGeneration(session.query)) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
const description = promptText(prompt).trim();
|
|
106
|
+
if (description.length < MIN_TITLE_CONTEXT_LENGTH) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
this.askedAtPrompt = true;
|
|
110
|
+
this.startGeneration(() => this.titleFromPrompt(session, description));
|
|
76
111
|
}
|
|
77
112
|
/** Collect the assistant's own answer for the title. Chunks are appended
|
|
78
113
|
* verbatim so streamed text reassembles. No-op once the title is settled. */
|
|
@@ -86,6 +121,8 @@ export class SessionTitles {
|
|
|
86
121
|
* `conversation_reset`, which mounts a fresh transcript. */
|
|
87
122
|
reset() {
|
|
88
123
|
this.settled = false;
|
|
124
|
+
this.askedAtPrompt = false;
|
|
125
|
+
this.titled = false;
|
|
89
126
|
this.context = undefined;
|
|
90
127
|
this.lastTitle = undefined;
|
|
91
128
|
}
|
|
@@ -104,6 +141,7 @@ export class SessionTitles {
|
|
|
104
141
|
const info = await this.readSessionInfo(session);
|
|
105
142
|
if (info?.customTitle) {
|
|
106
143
|
this.settled = true;
|
|
144
|
+
this.titled = true;
|
|
107
145
|
this.context = undefined;
|
|
108
146
|
await this.publish(info.customTitle, info.lastModified);
|
|
109
147
|
return;
|
|
@@ -111,11 +149,9 @@ export class SessionTitles {
|
|
|
111
149
|
const fallback = info?.summary
|
|
112
150
|
? { title: info.summary, lastModified: info.lastModified }
|
|
113
151
|
: undefined;
|
|
114
|
-
if (this.canRequest(session)) {
|
|
115
|
-
this.
|
|
116
|
-
|
|
117
|
-
this.agent.logger.error(`Session ${this.sessionId}: session title update failed: ${error}`);
|
|
118
|
-
});
|
|
152
|
+
if (!this.askedAtPrompt && this.canRequest(session)) {
|
|
153
|
+
const description = this.context?.trim() ?? "";
|
|
154
|
+
this.startGeneration(() => this.requestGenerateTitle(session, description, fallback));
|
|
119
155
|
return;
|
|
120
156
|
}
|
|
121
157
|
// Only while this session has no title of its own: `summary` degrades to the
|
|
@@ -163,14 +199,42 @@ export class SessionTitles {
|
|
|
163
199
|
}
|
|
164
200
|
return (this.context?.trim().length ?? 0) >= MIN_TITLE_CONTEXT_LENGTH;
|
|
165
201
|
}
|
|
166
|
-
/**
|
|
167
|
-
*
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
202
|
+
/** Latch the title and run `generation` in the background, so neither the
|
|
203
|
+
* prompt nor turn-end waits on a model call. */
|
|
204
|
+
startGeneration(generation) {
|
|
205
|
+
this.settled = true;
|
|
206
|
+
void generation().catch((error) => {
|
|
207
|
+
this.agent.logger.error(`Session ${this.sessionId}: session title update failed: ${error}`);
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
/** The prompt-time title: the one the session file already holds (a resumed
|
|
211
|
+
* session's title, or a `/rename`), else one generated from `description`.
|
|
212
|
+
* The file is read first because the CLI checks only the titles it holds in
|
|
213
|
+
* memory before generating one. */
|
|
214
|
+
async titleFromPrompt(session, description) {
|
|
215
|
+
const info = await this.readSessionInfo(session);
|
|
216
|
+
if (this.agent.sessions[this.sessionId] !== session || this.titled) {
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
if (info?.customTitle) {
|
|
220
|
+
this.titled = true;
|
|
221
|
+
this.context = undefined;
|
|
222
|
+
await this.publish(info.customTitle, info.lastModified);
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
const fallback = info?.summary
|
|
226
|
+
? { title: info.summary, lastModified: info.lastModified }
|
|
227
|
+
: undefined;
|
|
228
|
+
await this.requestGenerateTitle(session, description, fallback, true);
|
|
229
|
+
}
|
|
230
|
+
/** Generate a title from `description` and publish it. `persist` writes it
|
|
231
|
+
* to the session file, which is what carries it into `session/list` and
|
|
232
|
+
* `session/load`. A null or failed generation releases the latch so a later
|
|
233
|
+
* prompt or turn end retries, and publishes `fallback` (the stored summary)
|
|
234
|
+
* so a backend that can't generate titles is no worse off than before. A
|
|
235
|
+
* prompt-time request that throws publishes nothing and lets the turn end
|
|
236
|
+
* ask again. */
|
|
237
|
+
async requestGenerateTitle(session, description, fallback, atPrompt = false) {
|
|
174
238
|
let title = null;
|
|
175
239
|
try {
|
|
176
240
|
title =
|
|
@@ -180,10 +244,17 @@ export class SessionTitles {
|
|
|
180
244
|
}
|
|
181
245
|
catch (error) {
|
|
182
246
|
this.agent.logger.error(`Session ${this.sessionId}: failed to generate a session title: ${error}`);
|
|
247
|
+
if (atPrompt) {
|
|
248
|
+
// The turn end titles it instead, from the prompt and the reply; the
|
|
249
|
+
// raw-prompt summary is not published in between.
|
|
250
|
+
this.askedAtPrompt = false;
|
|
251
|
+
this.settled = false;
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
183
254
|
}
|
|
184
255
|
// A session torn down or replaced while the title was in flight must not
|
|
185
|
-
// adopt it.
|
|
186
|
-
if (this.agent.sessions[this.sessionId] !== session) {
|
|
256
|
+
// adopt it, and neither may one that got its title meanwhile.
|
|
257
|
+
if (this.agent.sessions[this.sessionId] !== session || this.titled) {
|
|
187
258
|
return;
|
|
188
259
|
}
|
|
189
260
|
if (!title) {
|
|
@@ -193,6 +264,7 @@ export class SessionTitles {
|
|
|
193
264
|
}
|
|
194
265
|
return;
|
|
195
266
|
}
|
|
267
|
+
this.titled = true;
|
|
196
268
|
this.context = undefined;
|
|
197
269
|
await this.publish(title, Date.now());
|
|
198
270
|
}
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,QAAQ,EACT,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAaL,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,gBAAgB,EAKjB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAGL,oBAAoB,EAEpB,6BAA6B,EAE9B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEL,yCAAyC,EAGzC,qCAAqC,EAGrC,kCAAkC,EAGlC,+CAA+C,EAI/C,wBAAwB,EACxB,kCAAkC,EAIlC,gCAAgC,EAEhC,iCAAiC,EAClC,MAAM,sCAAsC,CAAC;AA2B9C,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAED,UAAU,UAAU;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,KAAK,CAAC,EAAE;QACN,aAAa,CAAC,EAAE;YACd,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,eAAe,CAAC,EAAE;YAChB,WAAW,EAAE,MAAM,CAAC;YACpB,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;QACF,aAAa,CAAC,EAAE;YACd,WAAW,EAAE,MAAM,CAAC;YACpB,oEAAoE;YACpE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;YACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;SACvB,CAAC;KACH,CAAC;CACH;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAWpE;AAyCD;;;kEAGkE;AAClE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAKnE;AAED;;iCAEiC;AACjC,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAK3D;AAeD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,GAAG,EACZ,sBAAsB,GAAE,OAAe,EACvC,GAAG,CAAC,EAAE,MAAM,GACX,QAAQ,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.js
CHANGED
|
@@ -99,8 +99,13 @@ export function toolInfoFromToolUse(toolUse, supportsTerminalOutput = false, cwd
|
|
|
99
99
|
case "Agent":
|
|
100
100
|
case "Task": {
|
|
101
101
|
const input = toolUse.input;
|
|
102
|
-
// `effort` is set only when the user asked for one (CLI 2.1.292+).
|
|
103
|
-
|
|
102
|
+
// `effort` is set only when the user asked for one (CLI 2.1.292+). A
|
|
103
|
+
// `subagent_type: "fork"` child ignores it and runs at the parent's
|
|
104
|
+
// effort (upstream #1384).
|
|
105
|
+
const effort = input &&
|
|
106
|
+
"effort" in input &&
|
|
107
|
+
typeof input.effort === "string" &&
|
|
108
|
+
!("subagent_type" in input && input.subagent_type === "fork")
|
|
104
109
|
? ` (${input.effort} effort)`
|
|
105
110
|
: "";
|
|
106
111
|
return {
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "0.
|
|
6
|
+
"version": "0.31.0",
|
|
7
7
|
"description": "Claude Code in Zed and other ACP clients with the VS Code extension's UX — multi-select questions, refusal consent, live quota windows, background tasks, Ultracode effort and session notices. Fork of claude-agent-acp.",
|
|
8
8
|
"main": "dist/lib.js",
|
|
9
9
|
"types": "dist/lib.d.ts",
|
|
@@ -74,18 +74,18 @@
|
|
|
74
74
|
"zod": "^4.0.0"
|
|
75
75
|
},
|
|
76
76
|
"devDependencies": {
|
|
77
|
-
"@anthropic-ai/sdk": "0.
|
|
77
|
+
"@anthropic-ai/sdk": "0.134.0",
|
|
78
78
|
"@eslint/js": "10.0.1",
|
|
79
79
|
"@tsconfig/node24": "24.0.5",
|
|
80
|
-
"@types/node": "26.6.
|
|
81
|
-
"@typescript-eslint/eslint-plugin": "8.71.
|
|
82
|
-
"@typescript-eslint/parser": "8.71.
|
|
80
|
+
"@types/node": "26.6.5",
|
|
81
|
+
"@typescript-eslint/eslint-plugin": "8.71.2",
|
|
82
|
+
"@typescript-eslint/parser": "8.71.2",
|
|
83
83
|
"eslint": "10.12.0",
|
|
84
84
|
"eslint-config-prettier": "10.1.8",
|
|
85
85
|
"globals": "17.13.0",
|
|
86
|
-
"prettier": "3.9.
|
|
86
|
+
"prettier": "3.9.10",
|
|
87
87
|
"ts-node": "10.9.2",
|
|
88
88
|
"typescript": "6.0.3",
|
|
89
|
-
"vitest": "5.0.
|
|
89
|
+
"vitest": "5.0.4"
|
|
90
90
|
}
|
|
91
91
|
}
|