@pentoshi/clai 3.8.29 → 3.8.32

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.
Files changed (52) hide show
  1. package/dist/agent/compaction-summary.js +1 -1
  2. package/dist/agent/compaction-summary.js.map +1 -1
  3. package/dist/agent/context-manager.d.ts +1 -6
  4. package/dist/agent/context-manager.js +12 -5
  5. package/dist/agent/context-manager.js.map +1 -1
  6. package/dist/agent/runner.js +23 -1
  7. package/dist/agent/runner.js.map +1 -1
  8. package/dist/agent/session-state.d.ts +14 -1
  9. package/dist/agent/session-state.js +17 -3
  10. package/dist/agent/session-state.js.map +1 -1
  11. package/dist/agent/tool-history.js +34 -0
  12. package/dist/agent/tool-history.js.map +1 -1
  13. package/dist/agent/tool-output-formatting.d.ts +12 -1
  14. package/dist/agent/tool-output-formatting.js +107 -91
  15. package/dist/agent/tool-output-formatting.js.map +1 -1
  16. package/dist/app/controllers/session-compact-helper.js +2 -2
  17. package/dist/app/controllers/session-compact-helper.js.map +1 -1
  18. package/dist/app/controllers/session-controller.js +7 -2
  19. package/dist/app/controllers/session-controller.js.map +1 -1
  20. package/dist/prompts/embedded.js +2 -2
  21. package/dist/prompts/embedded.js.map +1 -1
  22. package/dist/prompts/system.agent.md +13 -10
  23. package/dist/prompts/system.ask.md +3 -2
  24. package/dist/tools/command-intent.js +77 -6
  25. package/dist/tools/command-intent.js.map +1 -1
  26. package/dist/tools/definitions.js +3 -3
  27. package/dist/tools/definitions.js.map +1 -1
  28. package/dist/tools/jobs.js +177 -13
  29. package/dist/tools/jobs.js.map +1 -1
  30. package/dist/tools/policies/output-policy.d.ts +17 -3
  31. package/dist/tools/policies/output-policy.js +23 -6
  32. package/dist/tools/policies/output-policy.js.map +1 -1
  33. package/dist/tools/reducers/ffuf.d.ts +3 -2
  34. package/dist/tools/reducers/ffuf.js +32 -10
  35. package/dist/tools/reducers/ffuf.js.map +1 -1
  36. package/dist/tools/reducers/generic.d.ts +12 -0
  37. package/dist/tools/reducers/generic.js +4 -59
  38. package/dist/tools/reducers/generic.js.map +1 -1
  39. package/dist/tools/reducers/gobuster.js +23 -5
  40. package/dist/tools/reducers/gobuster.js.map +1 -1
  41. package/dist/tools/shell.d.ts +9 -0
  42. package/dist/tools/shell.js +76 -4
  43. package/dist/tools/shell.js.map +1 -1
  44. package/dist/tui-v2/app/commands/picker-commands.js +4 -5
  45. package/dist/tui-v2/app/commands/picker-commands.js.map +1 -1
  46. package/dist/tui-v2/components/jobs/jobs-panel.js +17 -5
  47. package/dist/tui-v2/components/jobs/jobs-panel.js.map +1 -1
  48. package/dist/tui-v2/rendering/tool-presenter.js +10 -1
  49. package/dist/tui-v2/rendering/tool-presenter.js.map +1 -1
  50. package/dist/version.generated.d.ts +2 -2
  51. package/dist/version.generated.js +2 -2
  52. package/package.json +1 -1
@@ -32,6 +32,13 @@ export interface SessionStateSnapshot {
32
32
  export declare function buildSessionStateBlock(s: SessionStateSnapshot): string;
33
33
  /** Infer a short next-action hint from flags (no LLM). */
34
34
  export declare function inferNextHint(s: SessionStateSnapshot): string | undefined;
35
+ /**
36
+ * True when a system message is SESSION STATE / WORKING MEMORY.
37
+ * Used so tool-protocol repair never treats these as interrupting an open
38
+ * assistant/tool group (that used to drop live tool bodies and inject
39
+ * "No stored body" placeholders).
40
+ */
41
+ export declare function isSessionStateMessage(content: string): boolean;
35
42
  /**
36
43
  * Upsert SESSION STATE as a **trailing** system message (suffix of history).
37
44
  *
@@ -44,10 +51,16 @@ export declare function inferNextHint(s: SessionStateSnapshot): string | undefin
44
51
  *
45
52
  * Trailing placement keeps system + user + prior turns byte-stable so
46
53
  * only the new suffix (latest tools + this block) is uncached.
54
+ *
55
+ * CRITICAL: call this only after the current assistant tool-call group has
56
+ * all role:tool results recorded. Inserting SESSION STATE between
57
+ * assistant.toolCalls and its results breaks native tool protocol: repair
58
+ * then injects "No stored body" placeholders and drops the real bodies —
59
+ * models thrash re-running tools that already succeeded in the UI.
60
+ *
47
61
  * Mutates the messages array in place.
48
62
  */
49
63
  export declare function upsertSessionStateMessage(messages: Array<{
50
64
  role: string;
51
65
  content: string;
52
66
  }>, block: string): void;
53
- export declare function isSessionStateMessage(content: string): boolean;
@@ -84,6 +84,15 @@ export function inferNextHint(s) {
84
84
  }
85
85
  return undefined;
86
86
  }
87
+ /**
88
+ * True when a system message is SESSION STATE / WORKING MEMORY.
89
+ * Used so tool-protocol repair never treats these as interrupting an open
90
+ * assistant/tool group (that used to drop live tool bodies and inject
91
+ * "No stored body" placeholders).
92
+ */
93
+ export function isSessionStateMessage(content) {
94
+ return content.startsWith(SESSION_STATE_PREFIX);
95
+ }
87
96
  /**
88
97
  * Upsert SESSION STATE as a **trailing** system message (suffix of history).
89
98
  *
@@ -96,6 +105,13 @@ export function inferNextHint(s) {
96
105
  *
97
106
  * Trailing placement keeps system + user + prior turns byte-stable so
98
107
  * only the new suffix (latest tools + this block) is uncached.
108
+ *
109
+ * CRITICAL: call this only after the current assistant tool-call group has
110
+ * all role:tool results recorded. Inserting SESSION STATE between
111
+ * assistant.toolCalls and its results breaks native tool protocol: repair
112
+ * then injects "No stored body" placeholders and drops the real bodies —
113
+ * models thrash re-running tools that already succeeded in the UI.
114
+ *
99
115
  * Mutates the messages array in place.
100
116
  */
101
117
  export function upsertSessionStateMessage(messages, block) {
@@ -112,9 +128,7 @@ export function upsertSessionStateMessage(messages, block) {
112
128
  }
113
129
  }
114
130
  // Always append: updates change only the request suffix.
131
+ // Never splice into the middle of an open assistant→tool group.
115
132
  messages.push({ role: "system", content });
116
133
  }
117
- export function isSessionStateMessage(content) {
118
- return content.startsWith(SESSION_STATE_PREFIX);
119
- }
120
134
  //# sourceMappingURL=session-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-state.js","sourceRoot":"","sources":["../../src/agent/session-state.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,gCAAgC,CAAC;AA4BrE,iEAAiE;AACjE,MAAM,UAAU,sBAAsB,CAAC,CAAuB;IAC5D,MAAM,KAAK,GAAa,CAAC,oBAAoB,CAAC,CAAC;IAC/C,IAAI,CAAC,CAAC,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAChE,IAAI,CAAC,CAAC,cAAc;QAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;IACzE,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CACR,SAAS,CAAC,CAAC,QAAQ,IAAI,GAAG,WAAW,CAAC,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAClE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACrE,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC,CAAC,kBAAkB,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,CAAC,CAAC,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACjD,IAAI,CAAC,CAAC,aAAa;QAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACvD,IAAI,CAAC,CAAC,cAAc;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAClD,IAAI,CAAC,CAAC,eAAe;QAAE,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC5D,IAAI,KAAK,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1D,IAAI,CAAC,CAAC,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;IAC9D,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,CAAC,CAAC,cAAc;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5E,IAAI,CAAC,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAChE,KAAK,CAAC,IAAI,CACR,6FAA6F,CAC9F,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,OAAO,CAAC,CAAS,EAAE,GAAW;IACrC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,OAAO,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AACzD,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,aAAa,CAAC,CAAuB;IACnD,IAAI,CAAC,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,OAAO,2FAA2F,CAAC;IACrG,CAAC;IACD,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;QACtB,OAAO,6FAA6F,CAAC;IACvG,CAAC;IACD,oFAAoF;IACpF,IACE,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,QAAQ;QACV,8DAA8D,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAC/E,CAAC;QACD,OAAO,uHAAuH,CAAC;IACjI,CAAC;IACD,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;QAC/D,OAAO,6HAA6H,CAAC;IACvI,CAAC;IACD,IAAI,CAAC,CAAC,cAAc,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC;QAC9D,OAAO,iIAAiI,CAAC;IAC3I,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,IAAI,2CAA2C,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/E,OAAO,8GAA8G,CAAC;IACxH,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,yGAAyG,CAAC;IACnH,CAAC;IACD,IAAI,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;QAC3B,OAAO,uEAAuE,CAAC;IACjF,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,yBAAyB,CACvC,QAAkD,EAClD,KAAa;IAEb,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC;QACpD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,GAAG,oBAAoB,KAAK,KAAK,EAAE,CAAC;IAExC,uEAAuE;IACvE,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;QACvB,IACE,CAAC,CAAC,IAAI,KAAK,QAAQ;YACnB,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;YAC7B,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAC1C,CAAC;YACD,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,OAAO,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"session-state.js","sourceRoot":"","sources":["../../src/agent/session-state.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,gCAAgC,CAAC;AA4BrE,iEAAiE;AACjE,MAAM,UAAU,sBAAsB,CAAC,CAAuB;IAC5D,MAAM,KAAK,GAAa,CAAC,oBAAoB,CAAC,CAAC;IAC/C,IAAI,CAAC,CAAC,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAChE,IAAI,CAAC,CAAC,cAAc;QAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;IACzE,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CACR,SAAS,CAAC,CAAC,QAAQ,IAAI,GAAG,WAAW,CAAC,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAClE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACrE,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC,CAAC,kBAAkB,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,CAAC,CAAC,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACjD,IAAI,CAAC,CAAC,aAAa;QAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACvD,IAAI,CAAC,CAAC,cAAc;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAClD,IAAI,CAAC,CAAC,eAAe;QAAE,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC5D,IAAI,KAAK,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1D,IAAI,CAAC,CAAC,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;IAC9D,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,CAAC,CAAC,cAAc;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5E,IAAI,CAAC,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAChE,KAAK,CAAC,IAAI,CACR,6FAA6F,CAC9F,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,OAAO,CAAC,CAAS,EAAE,GAAW;IACrC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,OAAO,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AACzD,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,aAAa,CAAC,CAAuB;IACnD,IAAI,CAAC,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,OAAO,2FAA2F,CAAC;IACrG,CAAC;IACD,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;QACtB,OAAO,6FAA6F,CAAC;IACvG,CAAC;IACD,oFAAoF;IACpF,IACE,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,QAAQ;QACV,8DAA8D,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAC/E,CAAC;QACD,OAAO,uHAAuH,CAAC;IACjI,CAAC;IACD,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;QAC/D,OAAO,6HAA6H,CAAC;IACvI,CAAC;IACD,IAAI,CAAC,CAAC,cAAc,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC;QAC9D,OAAO,iIAAiI,CAAC;IAC3I,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,IAAI,2CAA2C,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/E,OAAO,8GAA8G,CAAC;IACxH,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,yGAAyG,CAAC;IACnH,CAAC;IACD,IAAI,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;QAC3B,OAAO,uEAAuE,CAAC;IACjF,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,OAAO,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,yBAAyB,CACvC,QAAkD,EAClD,KAAa;IAEb,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC;QACpD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,GAAG,oBAAoB,KAAK,KAAK,EAAE,CAAC;IAExC,uEAAuE;IACvE,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;QACvB,IACE,CAAC,CAAC,IAAI,KAAK,QAAQ;YACnB,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;YAC7B,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAC1C,CAAC;YACD,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,gEAAgE;IAChE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7C,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { syntheticToolCallId } from "../llm/tool-protocol.js";
2
2
  import { slimToolArgs } from "./message-slim.js";
3
+ import { isSessionStateMessage } from "./session-state.js";
3
4
  /**
4
5
  * Ensure every tool call has a unique non-empty id before history append.
5
6
  * Empty/duplicate ids make results look orphaned, then repair injects
@@ -268,6 +269,17 @@ export function repairToolProtocol(messages) {
268
269
  let repairs = 0;
269
270
  /** Open tool call ids → name (best-effort). */
270
271
  let pending = new Map();
272
+ /**
273
+ * Benign system rows (SESSION STATE) that landed mid tool-group. Park them
274
+ * and re-append after the group closes so real tool bodies are not dropped.
275
+ */
276
+ let parkedBenignSystem = [];
277
+ const flushParkedBenign = () => {
278
+ if (parkedBenignSystem.length === 0)
279
+ return;
280
+ out.push(...parkedBenignSystem);
281
+ parkedBenignSystem = [];
282
+ };
271
283
  const flushPending = (_reason) => {
272
284
  for (const [id, name] of pending) {
273
285
  out.push({
@@ -280,12 +292,16 @@ export function repairToolProtocol(messages) {
280
292
  repairs += 1;
281
293
  }
282
294
  pending = new Map();
295
+ flushParkedBenign();
283
296
  };
284
297
  for (const message of messages) {
285
298
  if (message.role === "assistant" && message.toolCalls?.length) {
286
299
  if (pending.size > 0) {
287
300
  flushPending("Interrupted — later assistant tool group started without results.");
288
301
  }
302
+ else {
303
+ flushParkedBenign();
304
+ }
289
305
  out.push(message);
290
306
  pending = new Map();
291
307
  for (const call of message.toolCalls) {
@@ -306,17 +322,35 @@ export function repairToolProtocol(messages) {
306
322
  }
307
323
  pending.delete(id);
308
324
  out.push(message);
325
+ if (pending.size === 0)
326
+ flushParkedBenign();
327
+ continue;
328
+ }
329
+ // SESSION STATE (and similar) must never close an open tool group —
330
+ // that path replaced live tool bodies with "No stored body" placeholders.
331
+ if (pending.size > 0 &&
332
+ message.role === "system" &&
333
+ typeof message.content === "string" &&
334
+ isSessionStateMessage(message.content)) {
335
+ parkedBenignSystem.push(message);
336
+ repairs += 1; // reordered relative to the broken history
309
337
  continue;
310
338
  }
311
339
  // user / system / plain assistant — must not interrupt an open tool group.
312
340
  if (pending.size > 0) {
313
341
  flushPending("Interrupted — conversation continued before tool results arrived (repaired).");
314
342
  }
343
+ else {
344
+ flushParkedBenign();
345
+ }
315
346
  out.push(message);
316
347
  }
317
348
  if (pending.size > 0) {
318
349
  flushPending("Missing tool result at end of history (repaired).");
319
350
  }
351
+ else {
352
+ flushParkedBenign();
353
+ }
320
354
  if (repairs === 0 && out.length === messages.length) {
321
355
  // Structure same length but still invalid (e.g. duplicate ids) — fall through rebuild.
322
356
  if (validateToolProtocol(out).length === 0)
@@ -1 +1 @@
1
- {"version":3,"file":"tool-history.js","sourceRoot":"","sources":["../../src/agent/tool-history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-history.js","sourceRoot":"","sources":["../../src/agent/tool-history.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,19 @@
1
+ /**
2
+ * Format tool results for the model context (not the UI spool).
3
+ *
4
+ * Philosophy:
5
+ * - Full bodies stay on disk (artifact / job logs). Never invent "empty".
6
+ * - Default: honest head+tail size cap — no keyword-rank "generic reduce".
7
+ * - Optional structured polish only for known scanners (nmap/ffuf/…) that
8
+ * extract findings; noise should already be filtered at the command.
9
+ * - Long work → background job + live file; point at path, use shell.tail.
10
+ */
1
11
  import type { ToolCall, ToolResult } from "../types.js";
2
12
  export declare function saveToolOutput(call: ToolCall, output: string): Promise<string | undefined>;
3
13
  /**
4
14
  * Truncate long tool output for the model. When `preferErrors` is set (failed
5
15
  * commands), keep error-bearing lines and a heavy tail so stack traces survive.
16
+ * Never ranks by CVE/port keywords (that was genericReducer — removed).
6
17
  */
7
18
  export declare function summarizeOutput(output: string, maxChars?: number, opts?: {
8
19
  preferErrors?: boolean;
@@ -18,6 +29,6 @@ export declare function failureSummaryLine(result: {
18
29
  }): string | undefined;
19
30
  /** Legacy hard ceiling; effective cap comes from reliability policy (E2). */
20
31
  export declare const PASSTHROUGH_CAP_CHARS_LEGACY = 400000;
21
- /** Effective fs passthrough cap (E2 tiered policy, config/env overridable). */
32
+ /** Effective default model-context cap for tool bodies (E2). */
22
33
  export declare function fsPassthroughCapChars(): number;
23
34
  export declare function formatToolContext(call: ToolCall, result: ToolResult): string;
@@ -1,8 +1,18 @@
1
+ /**
2
+ * Format tool results for the model context (not the UI spool).
3
+ *
4
+ * Philosophy:
5
+ * - Full bodies stay on disk (artifact / job logs). Never invent "empty".
6
+ * - Default: honest head+tail size cap — no keyword-rank "generic reduce".
7
+ * - Optional structured polish only for known scanners (nmap/ffuf/…) that
8
+ * extract findings; noise should already be filtered at the command.
9
+ * - Long work → background job + live file; point at path, use shell.tail.
10
+ */
1
11
  import { mkdir, writeFile } from "node:fs/promises";
2
- import { homedir } from "node:os";
3
12
  import { join } from "node:path";
4
- import { fixOwner, handlePermissionError } from "../os/permissions.js";
5
- import { reduceToolOutput } from "../tools/policies/output-policy.js";
13
+ import { fixOwner } from "../os/permissions.js";
14
+ import { getArtifactDir } from "../store/paths.js";
15
+ import { hasStructuredReducer, reduceToolOutput, } from "../tools/policies/output-policy.js";
6
16
  import { getReliabilityPolicy } from "./reliability-policy.js";
7
17
  function safeArtifactName(name) {
8
18
  return (name.replace(/[^a-z0-9_.-]+/gi, "-").replace(/^-+|-+$/g, "") ||
@@ -11,7 +21,7 @@ function safeArtifactName(name) {
11
21
  export async function saveToolOutput(call, output) {
12
22
  if (!output.trim())
13
23
  return undefined;
14
- const dir = join(homedir(), ".clai", "outputs");
24
+ const dir = getArtifactDir();
15
25
  try {
16
26
  await mkdir(dir, { recursive: true });
17
27
  await fixOwner(dir);
@@ -21,14 +31,15 @@ export async function saveToolOutput(call, output) {
21
31
  await fixOwner(path);
22
32
  return path;
23
33
  }
24
- catch (err) {
25
- handlePermissionError(err);
34
+ catch {
35
+ return undefined;
26
36
  }
27
37
  }
28
38
  const ERROR_LINE_RE = /\b(?:error|exception|failed|failure|fatal|traceback|panic|ECONNREFUSED|ENOENT|TypeError|SyntaxError|ReferenceError|Cannot find|not found|exit code)\b/i;
29
39
  /**
30
40
  * Truncate long tool output for the model. When `preferErrors` is set (failed
31
41
  * commands), keep error-bearing lines and a heavy tail so stack traces survive.
42
+ * Never ranks by CVE/port keywords (that was genericReducer — removed).
32
43
  */
33
44
  export function summarizeOutput(output, maxChars = 8_000, opts) {
34
45
  if (output.length <= maxChars)
@@ -95,65 +106,66 @@ export function summarizeOutput(output, maxChars = 8_000, opts) {
95
106
  truncated: true,
96
107
  };
97
108
  }
109
+ /** Prefer real error lines over banner/echo headers when summarizing failures. */
110
+ function failureSnippetFromOutput(output) {
111
+ const lines = (output ?? "")
112
+ .split(/\r?\n/)
113
+ .map((l) => l.replace(/\s+/g, " ").trim())
114
+ .filter(Boolean);
115
+ if (lines.length === 0)
116
+ return "";
117
+ const errorLike = /command not found|not found|No such file|permission denied|EACCES|ENOENT|error:|fatal:|Traceback|Exception|FAILED|exit code|cannot|can't |couldn't |denied|refused|timed out|timeout|killed|segmentation fault|usage:/i;
118
+ // Scan from the end — probe chains (`a && b && c`) print success noise first
119
+ // and the actual failure last (e.g. `yarn: command not found`).
120
+ for (let i = lines.length - 1; i >= 0; i -= 1) {
121
+ const line = lines[i];
122
+ if (errorLike.test(line))
123
+ return line.slice(0, 120);
124
+ }
125
+ // No explicit error pattern: last non-empty line is usually the failing step.
126
+ return lines[lines.length - 1].slice(0, 120);
127
+ }
98
128
  /** One-line failure cue prepended when a tool returns ok=false. */
99
129
  export function failureSummaryLine(result) {
100
130
  if (result.ok)
101
131
  return undefined;
102
132
  const exit = typeof result.exitCode === "number" ? `exit=${result.exitCode}` : "failed";
103
- const head = (result.output ?? "").split(/\r?\n/).find((l) => l.trim()) ?? "";
104
- const snippet = head.replace(/\s+/g, " ").trim().slice(0, 120);
105
- return snippet
106
- ? `FAILURE SUMMARY: ${exit}; ${snippet}`
107
- : `FAILURE SUMMARY: ${exit}`;
133
+ // Exit 127 is almost always "command not found" in POSIX shells.
134
+ const hint = result.exitCode === 127
135
+ ? "command not found"
136
+ : result.exitCode === 126
137
+ ? "not executable"
138
+ : undefined;
139
+ const snippet = failureSnippetFromOutput(result.output);
140
+ const parts = [exit, hint, snippet && snippet !== hint ? snippet : undefined].filter(Boolean);
141
+ return `FAILURE SUMMARY: ${parts.join("; ")}`;
108
142
  }
109
- // Tools whose output is the actual content the model needs verbatim (file
110
- // bodies, listings, search hits). Running these through the security-signal
111
- // `genericReducer` was wrong: it ranks lines by pentest keywords and drops
112
- // the rest, so source code came back as a fragmentary head+tail — the model
113
- // saw a "truncated" file and kept re-reading it in wasted retries. For these
114
- // we pass the raw content through (up to a generous cap) and point the model
115
- // at the saved artifact when it exceeds the cap.
116
- const PASSTHROUGH_TOOLS = new Set([
117
- "fs.read",
118
- "fs.list",
119
- "fs.search",
120
- "fs.edit",
121
- "fs.append",
122
- "pdf.read",
123
- // Structured / short tools — genericReducer was dropping shell.jobs lines
124
- // (no CVE keywords → "N lines omitted") so models invented "empty tool" stories.
125
- "shell.jobs",
126
- "shell.tail",
127
- "shell.stop",
128
- "sysinfo",
129
- "tool.check",
130
- "wordlist.find",
131
- ]);
132
143
  /** Legacy hard ceiling; effective cap comes from reliability policy (E2). */
133
144
  export const PASSTHROUGH_CAP_CHARS_LEGACY = 400_000;
134
- /** Effective fs passthrough cap (E2 tiered policy, config/env overridable). */
145
+ /** Effective default model-context cap for tool bodies (E2). */
135
146
  export function fsPassthroughCapChars() {
136
147
  return getReliabilityPolicy().fsPassthroughCapChars;
137
148
  }
138
- // web.fetch/http.fetch pull in arbitrary third-party pages/API responses that
139
- // can be hundreds of KB (e.g. a large OpenAPI spec). Unlike local files the
140
- // model asked to read, this content is never bounded by the user's own
141
- // project, so it must be capped like every other tool's context output —
142
- // otherwise a single fetch can single-handedly blow the context budget and
143
- // starve the model of room to actually respond (observed as empty/garbled
144
- // completions on smaller-context-window models after a big fetch).
145
- // http.fetch is evidence-dense and often batched in recon — tighter cap.
146
- // web.fetch is for reading pages — slightly larger.
147
149
  const HTTP_FETCH_CAP_CHARS = 8_000;
148
150
  const WEB_FETCH_CAP_CHARS = 14_000;
149
- /** web.search listings are already bounded by maxResults; generous passthrough. */
150
151
  const WEB_SEARCH_CAP_CHARS = 24_000;
152
+ /** Default for shell and other tools after optional structured polish. */
153
+ const DEFAULT_CONTEXT_CAP_CHARS = 12_000;
154
+ function artifactFooter(path, truncated, cap, kind) {
155
+ if (!truncated) {
156
+ return path ? `\nFull output saved to: ${path}` : "";
157
+ }
158
+ if (path) {
159
+ return (`\n\n[${kind} exceeds ${cap.toLocaleString()} chars; head/tail shown. ` +
160
+ `Full artifact: ${path}. ` +
161
+ `Use shell.tail / fs.read on the path if you need more — do not re-run the same tool solely because this view is capped.]`);
162
+ }
163
+ return `\n\n[${kind} exceeds ${cap.toLocaleString()} chars; head/tail shown. Full body was not persisted.]`;
164
+ }
151
165
  export function formatToolContext(call, result) {
152
166
  const output = result.output.trim();
153
167
  if (!output) {
154
168
  const fail = failureSummaryLine(result);
155
- // Never return a bare empty body — models invent "tools returned nothing /
156
- // platform issue" when they only see "Tool X result (ok=true):\n".
157
169
  return (fail ??
158
170
  (result.ok
159
171
  ? "(no output — command succeeded with an empty body)"
@@ -161,63 +173,67 @@ export function formatToolContext(call, result) {
161
173
  }
162
174
  const preferErrors = !result.ok;
163
175
  const failLine = failureSummaryLine(result);
164
- // web.search must NEVER go through the pentest genericReducer: that ranks
165
- // lines by CVE/port keywords and drops mid-list hits, so models see
166
- // "N lines omitted" and re-run the same search as if it were interrupted.
167
176
  if (call.name === "web.search") {
168
177
  const { text, truncated } = summarizeOutput(output, WEB_SEARCH_CAP_CHARS, {
169
178
  preferErrors,
170
179
  });
171
- const body = truncated
172
- ? `${text}${result.outputPath
173
- ? `\n\n[Listing exceeds ${WEB_SEARCH_CAP_CHARS.toLocaleString()} chars; head/tail shown. Full: ${result.outputPath}. Search completed successfully — do not re-run the same query solely because this view is capped.]`
174
- : `\n\n[Listing exceeds ${WEB_SEARCH_CAP_CHARS.toLocaleString()} chars; head/tail shown. Search completed successfully — do not re-run the same query solely because this view is capped.]`}`
175
- : text;
180
+ const body = text +
181
+ artifactFooter(result.outputPath, truncated, WEB_SEARCH_CAP_CHARS, "Listing");
176
182
  return [failLine, body].filter(Boolean).join("\n").trim();
177
183
  }
178
184
  if (call.name === "web.fetch" || call.name === "http.fetch") {
179
185
  const cap = call.name === "http.fetch" ? HTTP_FETCH_CAP_CHARS : WEB_FETCH_CAP_CHARS;
180
- const { text, truncated } = summarizeOutput(output, cap, {
181
- preferErrors,
182
- });
183
- const body = truncated
184
- ? `${text}${result.outputPath
185
- ? `\n\n[Response exceeds ${cap.toLocaleString()} chars; head/tail shown. Full: ${result.outputPath}]`
186
- : `\n\n[Response exceeds ${cap.toLocaleString()} chars; only head and tail shown.]`}`
187
- : text;
186
+ const { text, truncated } = summarizeOutput(output, cap, { preferErrors });
187
+ const body = text + artifactFooter(result.outputPath, truncated, cap, "Response");
188
188
  return [failLine, body].filter(Boolean).join("\n").trim();
189
189
  }
190
- if (PASSTHROUGH_TOOLS.has(call.name)) {
191
- // E2: tiered cap (default 64k). Full content remains on disk when truncated;
192
- // model is instructed to continue with offset/limit or open the artifact.
190
+ // Large file / listing tools: generous passthrough cap.
191
+ if (call.name === "fs.read" ||
192
+ call.name === "fs.list" ||
193
+ call.name === "fs.search" ||
194
+ call.name === "fs.edit" ||
195
+ call.name === "fs.append" ||
196
+ call.name === "pdf.read") {
193
197
  const cap = fsPassthroughCapChars();
194
- const { text, truncated } = summarizeOutput(output, cap, {
195
- preferErrors,
196
- });
197
- const body = truncated
198
- ? `${text}${result.outputPath
199
- ? `\n\n[File content exceeds ${cap.toLocaleString()} chars; head/tail shown. Full artifact: ${result.outputPath}. Continue with fs.read offset/limit or pattern do not re-issue path-only hoping for more.]`
200
- : `\n\n[File content exceeds ${cap.toLocaleString()} chars; only head and tail shown. Re-read with offset/limit or pattern for the rest.]`}`
201
- : text;
198
+ const { text, truncated } = summarizeOutput(output, cap, { preferErrors });
199
+ const body = text +
200
+ (truncated
201
+ ? result.outputPath
202
+ ? `\n\n[File content exceeds ${cap.toLocaleString()} chars; head/tail shown. Full artifact: ${result.outputPath}. Continue with fs.read offset/limit or pattern — do not re-issue path-only hoping for more.]`
203
+ : `\n\n[File content exceeds ${cap.toLocaleString()} chars; only head and tail shown. Re-read with offset/limit or pattern for the rest.]`
204
+ : "");
202
205
  return [failLine, body].filter(Boolean).join("\n").trim();
203
206
  }
204
- let reduced;
205
- try {
206
- const command = call.name === "shell.exec" ? String(call.args.command ?? "") : call.name;
207
- const policy = reduceToolOutput(output, {
208
- toolName: call.name,
209
- command,
210
- });
211
- reduced = policy.summary.trim();
212
- }
213
- catch {
214
- reduced = undefined;
207
+ // Optional structured polish (nmap/ffuf/…) — never keyword-rank arbitrary shell.
208
+ const command = call.name === "shell.exec" || call.name === "shell.start"
209
+ ? String(call.args.command ?? "")
210
+ : call.name;
211
+ let bodySource = output;
212
+ if (hasStructuredReducer({
213
+ toolName: call.name,
214
+ command,
215
+ })) {
216
+ try {
217
+ const polished = reduceToolOutput(output, {
218
+ toolName: call.name,
219
+ command,
220
+ }).summary.trim();
221
+ if (polished.length > 0)
222
+ bodySource = polished;
223
+ }
224
+ catch {
225
+ // keep raw
226
+ }
215
227
  }
216
- const base = reduced && reduced.length > 0 ? reduced : output;
217
- const summary = summarizeOutput(base, 8_000, { preferErrors });
218
- const saved = result.outputPath
219
- ? `\nFull output saved to: ${result.outputPath}`
220
- : "";
221
- return [failLine, `${summary.text}${saved}`].filter(Boolean).join("\n").trim();
228
+ const { text, truncated } = summarizeOutput(bodySource, DEFAULT_CONTEXT_CAP_CHARS, { preferErrors });
229
+ const body = text +
230
+ artifactFooter(result.outputPath, truncated || bodySource !== output, DEFAULT_CONTEXT_CAP_CHARS, "Output");
231
+ // If we polished scanners, still remind that full log may be longer.
232
+ const polishNote = bodySource !== output && result.outputPath
233
+ ? `\n(Structured hit summary above; complete log: ${result.outputPath})`
234
+ : bodySource !== output
235
+ ? "\n(Structured hit summary above; filter more at the command next time to shrink the raw log.)"
236
+ : "";
237
+ return [failLine, body + polishNote].filter(Boolean).join("\n").trim();
222
238
  }
223
239
  //# sourceMappingURL=tool-output-formatting.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-output-formatting.js","sourceRoot":"","sources":["../../src/agent/tool-output-formatting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-output-formatting.js","sourceRoot":"","sources":["../../src/agent/tool-output-formatting.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,9 @@
3
3
  */
4
4
  import { completeWithProvider } from "../../llm/router.js";
5
5
  export async function summarizeForSessionCompact(prompt, opts) {
6
- const maxTokens = opts.purpose === "plan-implement" ? 4_096 : 2_048;
6
+ const maxTokens = 2_048;
7
7
  const systemContent = opts.purpose === "plan-implement"
8
- ? "You write dense, complete handoff memory for an agent that will execute an approved plan. State clearly that this context is from plan-mode research used to build the comprehensive plan and tasks the agent is seeing. Preserve findings, coverage, negatives, artifacts, and open work. Never invent. Never cut a fact mid-token."
8
+ ? "Write concise, non-redundant research memory for an agent executing an approved plan. Do not add framing: the PLAN MODE HANDOFF wrapper and active plan are injected separately. For coding target 600–1000 tokens; preserve only verified state, reusable research/artifacts, decisions, blockers, and risks. Security handoffs may be longer to preserve findings and coverage. Never invent or cut a fact mid-token."
9
9
  : "You compress conversation history into accurate continuation memory.";
10
10
  const completeSummary = async (p) => {
11
11
  const response = await completeWithProvider({
@@ -1 +1 @@
1
- {"version":3,"file":"session-compact-helper.js","sourceRoot":"","sources":["../../../src/app/controllers/session-compact-helper.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAc,EACd,IAMC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,KAAK,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IACpE,MAAM,aAAa,GACjB,IAAI,CAAC,OAAO,KAAK,gBAAgB;QAC/B,CAAC,CAAC,sUAAsU;QACxU,CAAC,CAAC,sEAAsE,CAAC;IAE7E,MAAM,eAAe,GAAG,KAAK,EAAE,CAAS,EAAmB,EAAE;QAC3D,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC;YAC1C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,aAAa;iBACvB;gBACD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;aAC7B;YACD,WAAW,EAAE,GAAG;YAChB,SAAS;YACT,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,CAAC;IACzB,IAAI,MAAM,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACvB,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,EAChD,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CACvE,CAAC;IACF,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CACX,MAAM,eAAe,CACnB,IAAI,CAAC,OAAO,KAAK,gBAAgB;YAC/B,CAAC,CAAC,kBAAkB,KAAK,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,8KAA8K,MAAM,CAAC,KAAK,CAAC,EAAE;YAC9O,CAAC,CAAC,kBAAkB,KAAK,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,sHAAsH,MAAM,CAAC,KAAK,CAAC,EAAE,CACzL,CACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;IAC9B,OAAO,eAAe,CACpB,IAAI,CAAC,OAAO,KAAK,gBAAgB;QAC/B,CAAC,CAAC,iXAAiX;YAC/W,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,KAAK,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC7E,CAAC,CAAC,+QAA+Q;YAC7Q,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,KAAK,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAChF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"session-compact-helper.js","sourceRoot":"","sources":["../../../src/app/controllers/session-compact-helper.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAc,EACd,IAMC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC;IACxB,MAAM,aAAa,GACjB,IAAI,CAAC,OAAO,KAAK,gBAAgB;QAC/B,CAAC,CAAC,yZAAyZ;QAC3Z,CAAC,CAAC,sEAAsE,CAAC;IAE7E,MAAM,eAAe,GAAG,KAAK,EAAE,CAAS,EAAmB,EAAE;QAC3D,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC;YAC1C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,aAAa;iBACvB;gBACD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;aAC7B;YACD,WAAW,EAAE,GAAG;YAChB,SAAS;YACT,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,CAAC;IACzB,IAAI,MAAM,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACvB,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,EAChD,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CACvE,CAAC;IACF,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CACX,MAAM,eAAe,CACnB,IAAI,CAAC,OAAO,KAAK,gBAAgB;YAC/B,CAAC,CAAC,kBAAkB,KAAK,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,8KAA8K,MAAM,CAAC,KAAK,CAAC,EAAE;YAC9O,CAAC,CAAC,kBAAkB,KAAK,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,sHAAsH,MAAM,CAAC,KAAK,CAAC,EAAE,CACzL,CACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;IAC9B,OAAO,eAAe,CACpB,IAAI,CAAC,OAAO,KAAK,gBAAgB;QAC/B,CAAC,CAAC,iXAAiX;YAC/W,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,KAAK,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC7E,CAAC,CAAC,+QAA+Q;YAC7Q,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,KAAK,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAChF,CAAC;AACJ,CAAC"}