@markusylisiurunen/tau 0.2.24 → 0.2.26
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 +24 -24
- package/dist/core/commands/registry.js +2 -2
- package/dist/core/commands/registry.js.map +1 -1
- package/dist/core/prompts.js +1 -1
- package/dist/core/session/checkpoint.js +0 -2
- package/dist/core/session/checkpoint.js.map +1 -1
- package/dist/core/session/compaction.js +135 -0
- package/dist/core/session/compaction.js.map +1 -0
- package/dist/core/session/core_session.js +4 -1
- package/dist/core/session/core_session.js.map +1 -1
- package/dist/core/session/session_engine.js +57 -13
- package/dist/core/session/session_engine.js.map +1 -1
- package/dist/core/tools/edit.js +1 -100
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/utils/compact.js +185 -31
- package/dist/core/utils/compact.js.map +1 -1
- package/dist/core/utils/context_builder.js +4 -14
- package/dist/core/utils/context_builder.js.map +1 -1
- package/dist/core/utils/line_diff.js +152 -0
- package/dist/core/utils/line_diff.js.map +1 -0
- package/dist/core/version.js +1 -1
- package/dist/main.js +0 -3
- package/dist/main.js.map +1 -1
- package/dist/tui/app.js.map +1 -1
- package/dist/tui/chat_controller.js +264 -208
- package/dist/tui/chat_controller.js.map +1 -1
- package/dist/tui/tool_ui_router.js +8 -7
- package/dist/tui/tool_ui_router.js.map +1 -1
- package/dist/tui/ui/chat_message_model.js +0 -14
- package/dist/tui/ui/chat_message_model.js.map +1 -1
- package/package.json +3 -3
- package/dist/tui/ui/session_summary.js +0 -35
- package/dist/tui/ui/session_summary.js.map +0 -1
package/README.md
CHANGED
|
@@ -273,33 +273,33 @@ tau will create or update AGENTS.md at your project root, integrating the new in
|
|
|
273
273
|
|
|
274
274
|
tau supports slash commands for common actions:
|
|
275
275
|
|
|
276
|
-
| command | description
|
|
277
|
-
| ------------------------- |
|
|
278
|
-
| `/help` | show available commands
|
|
279
|
-
| `/new` | clear the session and start fresh
|
|
280
|
-
| `/copy` | copy the last assistant message
|
|
281
|
-
| `/copy:code` | copy just the code blocks
|
|
282
|
-
| `/export:html` | export chat history to html
|
|
283
|
-
| `/checkpoint` | save a checkpoint file for loading later
|
|
284
|
-
| `/reload` | reload personas, prompts, skills, and themes from disk
|
|
285
|
-
| `/cd` | change the working directory
|
|
286
|
-
| `/compact:only-summary` | compress history
|
|
287
|
-
| `/compact:with-last-turn` | compress history
|
|
288
|
-
| `/prune:earliest-first` | prune tool results from the start
|
|
289
|
-
| `/prune:largest-first` | prune largest tool results first
|
|
290
|
-
| `/prune:least-important` | prune tool results
|
|
291
|
-
| `/persona:<id>` | switch to a different persona
|
|
292
|
-
| `/prompt:<id>` | insert a saved prompt template
|
|
293
|
-
| `/theme:<id>` | switch to a loaded theme
|
|
294
|
-
| `/bash:<id>` | run a saved shell command
|
|
295
|
-
| `/risk:read-only` | allow read-only tool calls
|
|
296
|
-
| `/risk:read-write` | allow all tools
|
|
297
|
-
| `!<cmd>` | run a shell command directly (bypasses risk checks; uses sandbox if enabled)
|
|
298
|
-
| `!!<cmd>` | run a shell command without adding output to the model context
|
|
276
|
+
| command | description |
|
|
277
|
+
| ------------------------- | ----------------------------------------------------------------------------- |
|
|
278
|
+
| `/help` | show available commands |
|
|
279
|
+
| `/new` | clear the session and start fresh |
|
|
280
|
+
| `/copy` | copy the last assistant message |
|
|
281
|
+
| `/copy:code` | copy just the code blocks |
|
|
282
|
+
| `/export:html` | export chat history to html |
|
|
283
|
+
| `/checkpoint` | save a checkpoint file for loading later |
|
|
284
|
+
| `/reload` | reload personas, prompts, skills, and themes from disk |
|
|
285
|
+
| `/cd` | change the working directory |
|
|
286
|
+
| `/compact:only-summary` | compress history into one synthetic user summary message |
|
|
287
|
+
| `/compact:with-last-turn` | compress history and include the last assistant message verbatim when present |
|
|
288
|
+
| `/prune:earliest-first` | prune tool results from the start and compact edit payloads/results |
|
|
289
|
+
| `/prune:largest-first` | prune largest tool results first and compact edit payloads/results |
|
|
290
|
+
| `/prune:least-important` | prune tool results via model selection and compact edit payloads/results |
|
|
291
|
+
| `/persona:<id>` | switch to a different persona |
|
|
292
|
+
| `/prompt:<id>` | insert a saved prompt template |
|
|
293
|
+
| `/theme:<id>` | switch to a loaded theme |
|
|
294
|
+
| `/bash:<id>` | run a saved shell command |
|
|
295
|
+
| `/risk:read-only` | allow read-only tool calls |
|
|
296
|
+
| `/risk:read-write` | allow all tools |
|
|
297
|
+
| `!<cmd>` | run a shell command directly (bypasses risk checks; uses sandbox if enabled) |
|
|
298
|
+
| `!!<cmd>` | run a shell command without adding output to the model context |
|
|
299
299
|
|
|
300
300
|
use `tau -l <file>` to resume from a checkpoint created by `/checkpoint`.
|
|
301
301
|
|
|
302
|
-
the compact commands are useful when conversations get long. they
|
|
302
|
+
the compact commands are manual and useful when conversations get long. they replace prior context with a single synthetic user message that contains the compacted summary (and, for `/compact:with-last-turn`, the last assistant message verbatim when present), so the model keeps continuity without carrying full history. the prune commands drop tool results from the active context without summarizing and compact edit call payloads/results, and default to pruning 25% if you omit the fraction.
|
|
303
303
|
|
|
304
304
|
## keyboard shortcuts
|
|
305
305
|
|
|
@@ -203,8 +203,8 @@ export function createCommandRegistry() {
|
|
|
203
203
|
registry.register({
|
|
204
204
|
id: "compactSummaryAndLastTurn",
|
|
205
205
|
usage: "/compact:with-last-turn",
|
|
206
|
-
description: "summarize and include previous last
|
|
207
|
-
autocompleteDescription: "compact history, keep last
|
|
206
|
+
description: "summarize and include previous last assistant message",
|
|
207
|
+
autocompleteDescription: "compact history, keep last assistant message",
|
|
208
208
|
argument: "none",
|
|
209
209
|
section: "base",
|
|
210
210
|
parse: (raw) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/core/commands/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAkB,eAAe,EAAc,MAAM,aAAa,CAAC;AAyE1E,MAAM,mBAAmB,GAAgB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AACrE,MAAM,4BAA4B,GAA8B;IAC9D,WAAW,EAAE,4BAA4B;IACzC,YAAY,EAAE,iBAAiB;CAChC,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,KAAgB;IACtD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,WAAW;YACd,OAAO,iBAAiB,CAAC;QAC3B,KAAK,YAAY;YACf,OAAO,WAAW,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,OAAoB;IAEpB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7B,EAAE,EAAE,KAAK;QACT,WAAW,EAAE,4BAA4B,CAAC,KAAK,CAAC;KACjD,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB;IACvC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC;QACvD,OAAO,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACzD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACzC,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACxC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW;IACpC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;IACtC,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IACjC,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,OAAO,eAAe;IACT,QAAQ,GAA2C,EAAE,CAAC;IACtD,IAAI,GAAG,IAAI,GAAG,EAA8C,CAAC;IAE9E,QAAQ,CAAoB,UAAqC;QAC/D,MAAM,GAAG,GAAG,UAAwD,CAAC;QACrE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,GAAW;QACf,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,OAAO,CAAC,MAAM;gBAAE,SAAS;YAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;QAC1B,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAgB,EAAE,GAAQ;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAkB,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,QAAQ;aACjB,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;aACpC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,qBAAqB,CAAC,OAAgB;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5C,OAAO,OAAO,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;IAChD,CAAC;IAED,aAAa,CAAC,UAA2B,EAAE;QACzC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAE5D,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvB,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;gBACjC,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACvB,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,SAAS,CAAC,CAAC;QAC5F,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;QAC9E,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC;QACtF,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;QAE3E,MAAM,cAAc,GAA4B,EAAE,CAAC;QACnD,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC/B,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,UAAU,IAAI,mBAAmB,CAAC;YAClD,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACxB,MAAM,WAAW,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;gBACxD,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;QACL,CAAC;QAED,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACnC,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,MAAM,UAAU,GAA4B;YAC1C,CAAC,WAAW,EAAE,wBAAwB,CAAC;YACvC,CAAC,QAAQ,EAAE,kBAAkB,CAAC;YAC9B,CAAC,QAAQ,EAAE,mBAAmB,CAAC;YAC/B,CAAC,QAAQ,EAAE,4BAA4B,CAAC;YACxC,CAAC,QAAQ,EAAE,wBAAwB,CAAC;YACpC,CAAC,QAAQ,EAAE,oCAAoC,CAAC;YAChD,CAAC,QAAQ,EAAE,0BAA0B,CAAC;YACtC,CAAC,UAAU,EAAE,qBAAqB,CAAC;YACnC,CAAC,QAAQ,EAAE,sBAAsB,CAAC;YAClC,CAAC,KAAK,EAAE,qBAAqB,CAAC;SAC/B,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAElE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,cAAc,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,UAAU,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,UAAU,qBAAqB;IACnC,MAAM,QAAQ,GAAG,IAAI,eAAe,EAA0B,CAAC;IAE/D,QAAQ,CAAC,QAAQ,CAAC;QAChB,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,gBAAgB;QAC7B,uBAAuB,EAAE,WAAW;QACpC,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,OAAO,KAAK,OAAO;gBAAE,OAAO,IAAI,CAAC;YACrC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACjC,CAAC;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE;KACzB,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,aAAa;QAC1B,uBAAuB,EAAE,aAAa;QACtC,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,OAAO,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC;YACpC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAChC,CAAC;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE;KAC/B,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,0BAA0B;QACvC,uBAAuB,EAAE,0BAA0B;QACnD,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,OAAO,KAAK,KAAK;gBAAE,OAAO,IAAI,CAAC;YACnC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;QAClD,CAAC;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;KAC5C,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,iCAAiC;QAC9C,uBAAuB,EAAE,8BAA8B;QACvD,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,OAAO,KAAK,uBAAuB;gBAAE,OAAO,IAAI,CAAC;YACrD,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;QAC/C,CAAC;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC;KAC7D,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,EAAE,EAAE,2BAA2B;QAC/B,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE,0CAA0C;QACvD,uBAAuB,EAAE,iCAAiC;QAC1D,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,OAAO,KAAK,yBAAyB;gBAAE,OAAO,IAAI,CAAC;YACvD,OAAO,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,CAAC;QACtD,CAAC;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,OAAO,CAAC,KAAK,CAAC;KACpE,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,0CAA0C;QACvD,uBAAuB,EAAE,6BAA6B;QACtD,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,OAAO,KAAK,uBAAuB;gBAAE,OAAO,IAAI,CAAC;YACrD,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;QAC/C,CAAC;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC;KAC7D,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,yCAAyC;QACtD,uBAAuB,EAAE,4BAA4B;QACrD,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,OAAO,KAAK,sBAAsB;gBAAE,OAAO,IAAI,CAAC;YACpD,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC;QAC9C,CAAC;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC;KAC5D,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,EAAE,EAAE,qBAAqB;QACzB,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,0CAA0C;QACvD,uBAAuB,EAAE,oCAAoC;QAC7D,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,OAAO,KAAK,wBAAwB;gBAAE,OAAO,IAAI,CAAC;YACtD,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC;QAChD,CAAC;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC;KAC9D,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,8DAA8D;QAC3E,uBAAuB,EAAE,8DAA8D;QACvF,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACnC,CAAC;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE;KAC3B,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,6BAA6B;QAC1C,uBAAuB,EAAE,6BAA6B;QACtD,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,OAAO,KAAK,OAAO;gBAAE,OAAO,IAAI,CAAC;YACrC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACjC,CAAC;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE;KACzB,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,8CAA8C;QAC3D,uBAAuB,EAAE,8CAA8C;QACvE,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,OAAO,KAAK,YAAY;gBAAE,OAAO,IAAI,CAAC;YAC1C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QACrC,CAAC;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE;KAC7B,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,6BAA6B;QAC1C,uBAAuB,EAAE,6BAA6B;QACtD,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,OAAO,KAAK,cAAc;gBAAE,OAAO,IAAI,CAAC;YAC5C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACnC,CAAC;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE;KAC3B,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,wBAAwB;QACrC,uBAAuB,EAAE,wBAAwB;QACjD,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,OAAO,KAAK,aAAa;gBAAE,OAAO,IAAI,CAAC;YAC3C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;QACvC,CAAC;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE;KAC/B,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,gBAAgB;QAC7B,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAChE,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YACxB,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;YACjC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QACrD,CAAC;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;KAC/C,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,wBAAwB;QACrC,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,UAAU;QACnB,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACpC,IAAI,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC;YACrB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACrC,CAAC;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;KAC5C,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,gBAAgB;QAC7B,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,UAAU;QACnB,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACjD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACpC,IAAI,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC;YACrB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACxC,CAAC;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;KAC/C,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,wBAAwB;QACrC,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,UAAU;QACnB,oBAAoB,EAAE,IAAI;QAC1B,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAChD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACpC,IAAI,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC;YACrB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACvC,CAAC;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;KAC9C,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,cAAc;QAC3B,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,UAAU;QACnB,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC/C,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACpC,IAAI,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC;YACrB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACtC,CAAC;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;KAC7C,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAmC;QAClD,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,EAAE;QACT,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI;QACjB,GAAG,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;KAChD,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/core/commands/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/core/prompts.js
CHANGED
|
@@ -199,7 +199,7 @@ Structure your review as follows:
|
|
|
199
199
|
|
|
200
200
|
2. **Findings**: List each finding with:
|
|
201
201
|
- **Title**: \`[P#] <Imperative title>\`
|
|
202
|
-
- **Location**: \`<
|
|
202
|
+
- **Location**: \`<file-path>:<line-range>\`
|
|
203
203
|
- **Description**: One paragraph explaining the issue.
|
|
204
204
|
- **Suggestion**: (Optional) A code block with replacement code.
|
|
205
205
|
|
|
@@ -14,7 +14,6 @@ const CheckpointSchema = z.object({
|
|
|
14
14
|
personaId: z.string(),
|
|
15
15
|
reasoning: ReasoningEffortSchema.optional(),
|
|
16
16
|
riskLevel: RiskLevelSchema,
|
|
17
|
-
previousSessionSummary: z.string().optional(),
|
|
18
17
|
history: z.array(MessageSchema),
|
|
19
18
|
});
|
|
20
19
|
export function createCheckpoint(args) {
|
|
@@ -25,7 +24,6 @@ export function createCheckpoint(args) {
|
|
|
25
24
|
personaId: args.personaId,
|
|
26
25
|
reasoning: args.reasoning,
|
|
27
26
|
riskLevel: args.riskLevel,
|
|
28
|
-
previousSessionSummary: args.previousSessionSummary,
|
|
29
27
|
history: args.history,
|
|
30
28
|
};
|
|
31
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../../src/core/session/checkpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAwB,qBAAqB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,aAAa,GAAuB,CAAC,CAAC,MAAM,CAAU,CAAC,KAAK,EAAE,EAAE;IACpE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,IAAI,GAAI,KAA4B,CAAC,IAAI,CAAC;IAChD,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IAC3C,SAAS,EAAE,eAAe;IAC1B,
|
|
1
|
+
{"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../../src/core/session/checkpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAwB,qBAAqB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,aAAa,GAAuB,CAAC,CAAC,MAAM,CAAU,CAAC,KAAK,EAAE,EAAE;IACpE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,IAAI,GAAI,KAA4B,CAAC,IAAI,CAAC;IAChD,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IAC3C,SAAS,EAAE,eAAe;IAC1B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC;CAChC,CAAC,CAAC;AAIH,MAAM,UAAU,gBAAgB,CAAC,IAOhC;IACC,OAAO;QACL,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrD,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,WAAW;QAC1C,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;IAC1C,OAAO,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { buildCompactionUserMessage, formatHistoryForCompaction, partitionHistoryForCompaction, } from "../utils/compact.js";
|
|
2
|
+
import { extractAssistantText } from "../utils/messages.js";
|
|
3
|
+
export const COMPACTION_SUMMARIZATION_SYSTEM_PROMPT = "You are a context summarization assistant. Do not continue the conversation. Do not answer any conversation questions. Only output the structured summary in the exact format requested.";
|
|
4
|
+
const COMPACTION_SUMMARIZATION_PROMPT = `The messages above are a conversation to summarize. Create a structured context checkpoint summary that another assistant will use to continue the work.
|
|
5
|
+
|
|
6
|
+
Use this exact format:
|
|
7
|
+
|
|
8
|
+
## Goal
|
|
9
|
+
[What the user is currently trying to accomplish. If the goal changed, briefly note the shift.]
|
|
10
|
+
|
|
11
|
+
## Constraints & Preferences
|
|
12
|
+
- [Constraints, preferences, or requirements from the user]
|
|
13
|
+
- [Use "(none)" when nothing explicit exists]
|
|
14
|
+
|
|
15
|
+
## Progress
|
|
16
|
+
### Done
|
|
17
|
+
- [x] [Completed tasks and confirmed outcomes]
|
|
18
|
+
|
|
19
|
+
### In Progress
|
|
20
|
+
- [ ] [Current work in progress]
|
|
21
|
+
|
|
22
|
+
### Blocked
|
|
23
|
+
- [Open blockers, or "(none)"]
|
|
24
|
+
|
|
25
|
+
## Key Decisions
|
|
26
|
+
- **[Decision]**: [Brief rationale]
|
|
27
|
+
|
|
28
|
+
## Next Steps
|
|
29
|
+
1. [Ordered next action]
|
|
30
|
+
|
|
31
|
+
## Critical Context
|
|
32
|
+
- [Concrete details needed to resume: file paths, function names, commands, errors]
|
|
33
|
+
|
|
34
|
+
Rules:
|
|
35
|
+
- Preserve enough detail for seamless continuation from this summary alone.
|
|
36
|
+
- Keep each section concise and focused on continuity-critical information.
|
|
37
|
+
- Distinguish attempted work from confirmed outcomes.
|
|
38
|
+
- If goals evolved over time, capture the current goal and briefly note the change.
|
|
39
|
+
- Collapse tangents, retries, and pleasantries unless they materially affect decisions, blockers, or next steps.
|
|
40
|
+
- Preserve exact file paths, function names, commands, and error messages.`;
|
|
41
|
+
const COMPACTION_UPDATE_SUMMARIZATION_PROMPT = `The messages above are new conversation messages to incorporate into the existing summary in <previous-summary> tags.
|
|
42
|
+
|
|
43
|
+
Update the existing structured summary with these rules:
|
|
44
|
+
- Preserve all still-relevant information from the previous summary.
|
|
45
|
+
- Add new progress, decisions, and context from the new messages.
|
|
46
|
+
- Move items from In Progress to Done when completed.
|
|
47
|
+
- Update Next Steps based on the current state.
|
|
48
|
+
- Remove information that is no longer relevant.
|
|
49
|
+
|
|
50
|
+
Use the exact same format as before:
|
|
51
|
+
|
|
52
|
+
## Goal
|
|
53
|
+
[Preserve and extend goals as needed. If the goal shifted, reflect the latest goal and note the change briefly.]
|
|
54
|
+
|
|
55
|
+
## Constraints & Preferences
|
|
56
|
+
- [Preserve and extend constraints]
|
|
57
|
+
|
|
58
|
+
## Progress
|
|
59
|
+
### Done
|
|
60
|
+
- [x] [Previously done and newly completed]
|
|
61
|
+
|
|
62
|
+
### In Progress
|
|
63
|
+
- [ ] [Current work]
|
|
64
|
+
|
|
65
|
+
### Blocked
|
|
66
|
+
- [Current blockers, or "(none)"]
|
|
67
|
+
|
|
68
|
+
## Key Decisions
|
|
69
|
+
- **[Decision]**: [Brief rationale]
|
|
70
|
+
|
|
71
|
+
## Next Steps
|
|
72
|
+
1. [Updated ordered actions]
|
|
73
|
+
|
|
74
|
+
## Critical Context
|
|
75
|
+
- [Concrete details needed to resume: file paths, function names, commands, errors]
|
|
76
|
+
|
|
77
|
+
Rules:
|
|
78
|
+
- Preserve enough detail for seamless continuation from this summary alone.
|
|
79
|
+
- Keep each section concise and focused on continuity-critical information.
|
|
80
|
+
- Distinguish attempted work from confirmed outcomes.
|
|
81
|
+
- If goals evolved over time, capture the current goal and briefly note the change.
|
|
82
|
+
- Collapse tangents, retries, and pleasantries unless they materially affect decisions, blockers, or next steps.
|
|
83
|
+
- Preserve exact file paths, function names, commands, and error messages.`;
|
|
84
|
+
export function prepareSessionCompaction(history) {
|
|
85
|
+
const { previousSummary, messagesToSummarize } = partitionHistoryForCompaction(history);
|
|
86
|
+
const formattedHistory = formatHistoryForCompaction(messagesToSummarize);
|
|
87
|
+
if (!formattedHistory) {
|
|
88
|
+
return undefined;
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
previousSummary,
|
|
92
|
+
messagesToSummarize,
|
|
93
|
+
formattedHistory,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
export function buildSessionCompactionPrompt(args) {
|
|
97
|
+
const { preparation, guidance } = args;
|
|
98
|
+
let summaryPrompt = `<conversation>\n${preparation.formattedHistory}\n</conversation>\n\n`;
|
|
99
|
+
if (preparation.previousSummary?.trim()) {
|
|
100
|
+
summaryPrompt += `<previous-summary>\n${preparation.previousSummary.trim()}\n</previous-summary>\n\n`;
|
|
101
|
+
}
|
|
102
|
+
summaryPrompt += preparation.previousSummary
|
|
103
|
+
? COMPACTION_UPDATE_SUMMARIZATION_PROMPT
|
|
104
|
+
: COMPACTION_SUMMARIZATION_PROMPT;
|
|
105
|
+
const guidanceBlock = guidance?.trim();
|
|
106
|
+
if (guidanceBlock) {
|
|
107
|
+
summaryPrompt += `\n\nAdditional focus: ${guidanceBlock}`;
|
|
108
|
+
}
|
|
109
|
+
return summaryPrompt;
|
|
110
|
+
}
|
|
111
|
+
export function buildSessionCompactionMessage(args) {
|
|
112
|
+
const lastAssistantMessage = args.mode === "with-last-assistant"
|
|
113
|
+
? extractLastAssistantMessage(args.messagesToSummarize)
|
|
114
|
+
: undefined;
|
|
115
|
+
return {
|
|
116
|
+
compactionMessage: buildCompactionUserMessage({
|
|
117
|
+
summary: args.summary,
|
|
118
|
+
lastAssistantMessage,
|
|
119
|
+
}),
|
|
120
|
+
includedLastAssistant: Boolean(lastAssistantMessage),
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
function extractLastAssistantMessage(history) {
|
|
124
|
+
for (let i = history.length - 1; i >= 0; i--) {
|
|
125
|
+
if (history[i].role !== "assistant") {
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
const text = extractAssistantText(history[i]).trim();
|
|
129
|
+
if (text) {
|
|
130
|
+
return text;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return undefined;
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=compaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compaction.js","sourceRoot":"","sources":["../../../src/core/session/compaction.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAe5D,MAAM,CAAC,MAAM,sCAAsC,GACjD,0LAA0L,CAAC;AAE7L,MAAM,+BAA+B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2EAoCmC,CAAC;AAE5E,MAAM,sCAAsC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2EA0C4B,CAAC;AAE5E,MAAM,UAAU,wBAAwB,CACtC,OAA2B;IAE3B,MAAM,EAAE,eAAe,EAAE,mBAAmB,EAAE,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;IACxF,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,mBAAmB,CAAC,CAAC;IACzE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,eAAe;QACf,mBAAmB;QACnB,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAG5C;IACC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACvC,IAAI,aAAa,GAAG,mBAAmB,WAAW,CAAC,gBAAgB,uBAAuB,CAAC;IAC3F,IAAI,WAAW,CAAC,eAAe,EAAE,IAAI,EAAE,EAAE,CAAC;QACxC,aAAa,IAAI,uBAAuB,WAAW,CAAC,eAAe,CAAC,IAAI,EAAE,2BAA2B,CAAC;IACxG,CAAC;IAED,aAAa,IAAI,WAAW,CAAC,eAAe;QAC1C,CAAC,CAAC,sCAAsC;QACxC,CAAC,CAAC,+BAA+B,CAAC;IAEpC,MAAM,aAAa,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvC,IAAI,aAAa,EAAE,CAAC;QAClB,aAAa,IAAI,yBAAyB,aAAa,EAAE,CAAC;IAC5D,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAI7C;IACC,MAAM,oBAAoB,GACxB,IAAI,CAAC,IAAI,KAAK,qBAAqB;QACjC,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,mBAAmB,CAAC;QACvD,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO;QACL,iBAAiB,EAAE,0BAA0B,CAAC;YAC5C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,oBAAoB;SACrB,CAAC;QACF,qBAAqB,EAAE,OAAO,CAAC,oBAAoB,CAAC;KACrD,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,OAA2B;IAC9D,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,IAAI,OAAO,CAAC,CAAC,CAAE,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACrC,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAsB,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1E,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SessionEngine } from "./session_engine.js";
|
|
1
|
+
import { SessionEngine, } from "./session_engine.js";
|
|
2
2
|
export class CoreSession {
|
|
3
3
|
engine;
|
|
4
4
|
constructor(options) {
|
|
@@ -37,6 +37,9 @@ export class CoreSession {
|
|
|
37
37
|
get sessionId() {
|
|
38
38
|
return this.engine.sessionIdValue;
|
|
39
39
|
}
|
|
40
|
+
async compact(options) {
|
|
41
|
+
return await this.engine.compact(options);
|
|
42
|
+
}
|
|
40
43
|
async *events(signal) {
|
|
41
44
|
yield* this.engine.processTurn(signal);
|
|
42
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core_session.js","sourceRoot":"","sources":["../../../src/core/session/core_session.ts"],"names":[],"mappings":"AAMA,OAAO,
|
|
1
|
+
{"version":3,"file":"core_session.js","sourceRoot":"","sources":["../../../src/core/session/core_session.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,aAAa,GACd,MAAM,qBAAqB,CAAC;AAc7B,MAAM,OAAO,WAAW;IACL,MAAM,CAAgB;IAEvC,YAAY,OAA2B;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,UAAU,CACR,OAAgB,EAChB,YAAoB,EACpB,eAAuC;QAEvC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;IACjE,CAAC;IAED,YAAY,CAAC,KAAgB;QAC3B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,eAAe,CAAC,OAA6C;QAC3D,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,EAAU;QAChC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,WAAW,CAAC,YAAoB;QAC9B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IAED,UAAU,CAAC,OAAgB;QACzB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,cAAc,CAAC,KAAa,EAAE,OAAgB;QAC5C,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAiC;QAC7C,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,MAAmB;QAC/B,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;CACF"}
|
|
@@ -8,7 +8,10 @@ import { SubagentControlPlane } from "../subagents/control_plane.js";
|
|
|
8
8
|
import { appendUsageLogEntry, getUsageCostTotal, getUsageTotals } from "../usage/logs.js";
|
|
9
9
|
import { shouldAutoRetry } from "../utils/auto_retry.js";
|
|
10
10
|
import { CODEX_ORIGINATOR, CODEX_USER_AGENT } from "../utils/codex.js";
|
|
11
|
+
import { extractAssistantText } from "../utils/messages.js";
|
|
12
|
+
import { streamModel } from "../utils/model_stream.js";
|
|
11
13
|
import { parseStreamingSettings } from "../utils/streaming_settings.js";
|
|
14
|
+
import { buildSessionCompactionMessage, buildSessionCompactionPrompt, COMPACTION_SUMMARIZATION_SYSTEM_PROMPT, prepareSessionCompaction, } from "./compaction.js";
|
|
12
15
|
import { runModelSubturn, runToolCalls } from "./runner.js";
|
|
13
16
|
const MAX_ASSISTANT_SUBTURNS = 200;
|
|
14
17
|
export class SessionEngine {
|
|
@@ -90,6 +93,43 @@ export class SessionEngine {
|
|
|
90
93
|
get sessionIdValue() {
|
|
91
94
|
return this.sessionId;
|
|
92
95
|
}
|
|
96
|
+
async compact(options) {
|
|
97
|
+
const preparation = prepareSessionCompaction(this.messages);
|
|
98
|
+
if (!preparation) {
|
|
99
|
+
throw new Error("no conversation to compact.");
|
|
100
|
+
}
|
|
101
|
+
const summaryPrompt = buildSessionCompactionPrompt({
|
|
102
|
+
preparation,
|
|
103
|
+
guidance: options.guidance,
|
|
104
|
+
});
|
|
105
|
+
const apiKey = await this.resolveApiKeyForCurrentPersona();
|
|
106
|
+
const stream = streamModel(this.persona.model, {
|
|
107
|
+
systemPrompt: COMPACTION_SUMMARIZATION_SYSTEM_PROMPT,
|
|
108
|
+
messages: [
|
|
109
|
+
{
|
|
110
|
+
role: "user",
|
|
111
|
+
content: [{ type: "text", text: summaryPrompt }],
|
|
112
|
+
timestamp: this.deps.clock.now(),
|
|
113
|
+
},
|
|
114
|
+
],
|
|
115
|
+
}, { reasoning: "high", sessionId: `tau-summary-${randomUUID()}`, ...(apiKey && { apiKey }) });
|
|
116
|
+
const final = await stream.result();
|
|
117
|
+
const summary = extractAssistantText(final).trim();
|
|
118
|
+
if (!summary) {
|
|
119
|
+
throw new Error("summarization returned an empty response.");
|
|
120
|
+
}
|
|
121
|
+
const { compactionMessage, includedLastAssistant } = buildSessionCompactionMessage({
|
|
122
|
+
summary,
|
|
123
|
+
mode: options.mode,
|
|
124
|
+
messagesToSummarize: preparation.messagesToSummarize,
|
|
125
|
+
});
|
|
126
|
+
this.reset();
|
|
127
|
+
this.addUserText(compactionMessage);
|
|
128
|
+
return {
|
|
129
|
+
compactionMessage,
|
|
130
|
+
includedLastAssistant,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
93
133
|
emitSubagentEvent(event) {
|
|
94
134
|
const coreEvent = { type: "subagent_ui", event };
|
|
95
135
|
for (const listener of this.subagentListeners) {
|
|
@@ -103,6 +143,22 @@ export class SessionEngine {
|
|
|
103
143
|
getEnabledToolSchemas() {
|
|
104
144
|
return this.toolRegistry.getEnabledToolSchemas(this.persona.tools);
|
|
105
145
|
}
|
|
146
|
+
async resolveApiKeyForCurrentPersona() {
|
|
147
|
+
let apiKey;
|
|
148
|
+
try {
|
|
149
|
+
apiKey = await this.credentialResolver.getApiKey(this.persona.model.provider, { sessionId: this.sessionId });
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
if (this.persona.model.provider === "openai-codex") {
|
|
153
|
+
throw new Error(formatCodexAuthError(this.authPath, error?.message));
|
|
154
|
+
}
|
|
155
|
+
throw error;
|
|
156
|
+
}
|
|
157
|
+
if (!apiKey && this.persona.model.provider === "openai-codex") {
|
|
158
|
+
throw new Error(formatCodexAuthError(this.authPath));
|
|
159
|
+
}
|
|
160
|
+
return apiKey;
|
|
161
|
+
}
|
|
106
162
|
async *processTurn(signal) {
|
|
107
163
|
let subturns = 0;
|
|
108
164
|
while (subturns < MAX_ASSISTANT_SUBTURNS && !signal.aborted) {
|
|
@@ -160,19 +216,7 @@ export class SessionEngine {
|
|
|
160
216
|
messages: this.messages,
|
|
161
217
|
tools,
|
|
162
218
|
};
|
|
163
|
-
|
|
164
|
-
try {
|
|
165
|
-
apiKey = await this.credentialResolver.getApiKey(this.persona.model.provider, { sessionId: this.sessionId });
|
|
166
|
-
}
|
|
167
|
-
catch (error) {
|
|
168
|
-
if (this.persona.model.provider === "openai-codex") {
|
|
169
|
-
throw new Error(formatCodexAuthError(this.authPath, error?.message));
|
|
170
|
-
}
|
|
171
|
-
throw error;
|
|
172
|
-
}
|
|
173
|
-
if (!apiKey && this.persona.model.provider === "openai-codex") {
|
|
174
|
-
throw new Error(formatCodexAuthError(this.authPath));
|
|
175
|
-
}
|
|
219
|
+
const apiKey = await this.resolveApiKeyForCurrentPersona();
|
|
176
220
|
const baseOptions = {
|
|
177
221
|
...this.getStreamingSettings(this.persona),
|
|
178
222
|
signal,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_engine.js","sourceRoot":"","sources":["../../../src/core/session/session_engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAA2B,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAInG,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAIrE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"session_engine.js","sourceRoot":"","sources":["../../../src/core/session/session_engine.ts"],"names":[],"mappings":"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"}
|
package/dist/core/tools/edit.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Type } from "@sinclair/typebox";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
+
import { buildLineDiff } from "../utils/line_diff.js";
|
|
3
4
|
import { createToolError, createToolSuccess } from "../utils/messages.js";
|
|
4
5
|
import { TOOL_NAME_EDIT } from "./tool_names.js";
|
|
5
6
|
const EDIT_DESCRIPTION = [
|
|
@@ -14,7 +15,6 @@ const EDIT_OLD_TEXT_DESCRIPTION = [
|
|
|
14
15
|
"If multiple matches are found, you should re-attempt with a more specific oldText.",
|
|
15
16
|
].join(" ");
|
|
16
17
|
const EDIT_NEW_TEXT_DESCRIPTION = "The text to replace oldText with.";
|
|
17
|
-
const EDIT_DIFF_LCS_MAX_LINES = 1024;
|
|
18
18
|
export const EDIT_TOOL = {
|
|
19
19
|
name: TOOL_NAME_EDIT,
|
|
20
20
|
description: EDIT_DESCRIPTION,
|
|
@@ -57,105 +57,6 @@ function findMatchContext(content, search, contextLines = 2) {
|
|
|
57
57
|
const contextSnippet = lines.slice(startLine, endLine + 1).join("\n");
|
|
58
58
|
return `Lines ${startLine + 1}-${endLine + 1}:\n${contextSnippet}`;
|
|
59
59
|
}
|
|
60
|
-
function* iterateTextLinesForDiff(text) {
|
|
61
|
-
if (text.length === 0)
|
|
62
|
-
return;
|
|
63
|
-
let start = 0;
|
|
64
|
-
while (true) {
|
|
65
|
-
const idx = text.indexOf("\n", start);
|
|
66
|
-
if (idx === -1) {
|
|
67
|
-
yield text.slice(start);
|
|
68
|
-
break;
|
|
69
|
-
}
|
|
70
|
-
yield text.slice(start, idx);
|
|
71
|
-
start = idx + 1;
|
|
72
|
-
if (start === text.length) {
|
|
73
|
-
yield "";
|
|
74
|
-
break;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
function buildLineDiff(oldText, newText) {
|
|
79
|
-
const oldLines = [...iterateTextLinesForDiff(oldText)];
|
|
80
|
-
const newLines = [...iterateTextLinesForDiff(newText)];
|
|
81
|
-
const oldLen = oldLines.length;
|
|
82
|
-
const newLen = newLines.length;
|
|
83
|
-
const lines = [];
|
|
84
|
-
let added = 0;
|
|
85
|
-
let removed = 0;
|
|
86
|
-
if (oldLen === 0 && newLen === 0) {
|
|
87
|
-
return { lines, added, removed };
|
|
88
|
-
}
|
|
89
|
-
if (oldLen === 0) {
|
|
90
|
-
for (const line of newLines) {
|
|
91
|
-
lines.push(`+ ${line}`);
|
|
92
|
-
added++;
|
|
93
|
-
}
|
|
94
|
-
return { lines, added, removed };
|
|
95
|
-
}
|
|
96
|
-
if (newLen === 0) {
|
|
97
|
-
for (const line of oldLines) {
|
|
98
|
-
lines.push(`- ${line}`);
|
|
99
|
-
removed++;
|
|
100
|
-
}
|
|
101
|
-
return { lines, added, removed };
|
|
102
|
-
}
|
|
103
|
-
if (oldLen + newLen > EDIT_DIFF_LCS_MAX_LINES) {
|
|
104
|
-
for (const line of oldLines) {
|
|
105
|
-
lines.push(`- ${line}`);
|
|
106
|
-
removed++;
|
|
107
|
-
}
|
|
108
|
-
for (const line of newLines) {
|
|
109
|
-
lines.push(`+ ${line}`);
|
|
110
|
-
added++;
|
|
111
|
-
}
|
|
112
|
-
return { lines, added, removed };
|
|
113
|
-
}
|
|
114
|
-
const dp = Array.from({ length: oldLen + 1 }, () => new Array(newLen + 1).fill(0));
|
|
115
|
-
for (let i = oldLen - 1; i >= 0; i--) {
|
|
116
|
-
const row = dp[i];
|
|
117
|
-
const nextRow = dp[i + 1];
|
|
118
|
-
for (let j = newLen - 1; j >= 0; j--) {
|
|
119
|
-
if (oldLines[i] === newLines[j]) {
|
|
120
|
-
row[j] = (nextRow[j + 1] ?? 0) + 1;
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
row[j] = Math.max(nextRow[j] ?? 0, row[j + 1] ?? 0);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
let i = 0;
|
|
128
|
-
let j = 0;
|
|
129
|
-
while (i < oldLen && j < newLen) {
|
|
130
|
-
if (oldLines[i] === newLines[j]) {
|
|
131
|
-
lines.push(` ${oldLines[i]}`);
|
|
132
|
-
i++;
|
|
133
|
-
j++;
|
|
134
|
-
continue;
|
|
135
|
-
}
|
|
136
|
-
const down = dp[i + 1]?.[j] ?? 0;
|
|
137
|
-
const right = dp[i]?.[j + 1] ?? 0;
|
|
138
|
-
if (down >= right) {
|
|
139
|
-
lines.push(`- ${oldLines[i]}`);
|
|
140
|
-
removed++;
|
|
141
|
-
i++;
|
|
142
|
-
}
|
|
143
|
-
else {
|
|
144
|
-
lines.push(`+ ${newLines[j]}`);
|
|
145
|
-
added++;
|
|
146
|
-
j++;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
for (; i < oldLen; i++) {
|
|
150
|
-
lines.push(`- ${oldLines[i]}`);
|
|
151
|
-
removed++;
|
|
152
|
-
}
|
|
153
|
-
for (; j < newLen; j++) {
|
|
154
|
-
lines.push(`+ ${newLines[j]}`);
|
|
155
|
-
added++;
|
|
156
|
-
}
|
|
157
|
-
return { lines, added, removed };
|
|
158
|
-
}
|
|
159
60
|
function formatEditToolResultText(args) {
|
|
160
61
|
return args.summaryLine;
|
|
161
62
|
}
|