@duetso/agent 0.1.80 → 0.1.82

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 (96) hide show
  1. package/dist/package.json +1 -1
  2. package/dist/src/memory/observational.d.ts +8 -1
  3. package/dist/src/memory/observational.d.ts.map +1 -1
  4. package/dist/src/memory/observational.js +9 -3
  5. package/dist/src/memory/observational.js.map +1 -1
  6. package/dist/src/session/session.d.ts +31 -13
  7. package/dist/src/session/session.d.ts.map +1 -1
  8. package/dist/src/session/session.js +63 -23
  9. package/dist/src/session/session.js.map +1 -1
  10. package/dist/src/tui/app.d.ts +25 -35
  11. package/dist/src/tui/app.d.ts.map +1 -1
  12. package/dist/src/tui/app.js +195 -2308
  13. package/dist/src/tui/app.js.map +1 -1
  14. package/dist/src/tui/autocomplete-controller.d.ts +83 -0
  15. package/dist/src/tui/autocomplete-controller.d.ts.map +1 -0
  16. package/dist/src/tui/autocomplete-controller.js +308 -0
  17. package/dist/src/tui/autocomplete-controller.js.map +1 -0
  18. package/dist/src/tui/boot-screen.d.ts +64 -0
  19. package/dist/src/tui/boot-screen.d.ts.map +1 -0
  20. package/dist/src/tui/boot-screen.js +137 -0
  21. package/dist/src/tui/boot-screen.js.map +1 -0
  22. package/dist/src/tui/controllers.d.ts +39 -0
  23. package/dist/src/tui/controllers.d.ts.map +1 -0
  24. package/dist/src/tui/controllers.js +53 -0
  25. package/dist/src/tui/controllers.js.map +1 -0
  26. package/dist/src/tui/copy-controller.d.ts +75 -0
  27. package/dist/src/tui/copy-controller.d.ts.map +1 -0
  28. package/dist/src/tui/copy-controller.js +140 -0
  29. package/dist/src/tui/copy-controller.js.map +1 -0
  30. package/dist/src/tui/history-replay.d.ts +33 -0
  31. package/dist/src/tui/history-replay.d.ts.map +1 -0
  32. package/dist/src/tui/history-replay.js +47 -0
  33. package/dist/src/tui/history-replay.js.map +1 -0
  34. package/dist/src/tui/initial-prompt.d.ts +24 -0
  35. package/dist/src/tui/initial-prompt.d.ts.map +1 -0
  36. package/dist/src/tui/initial-prompt.js +29 -0
  37. package/dist/src/tui/initial-prompt.js.map +1 -0
  38. package/dist/src/tui/key-handlers.d.ts +49 -0
  39. package/dist/src/tui/key-handlers.d.ts.map +1 -0
  40. package/dist/src/tui/key-handlers.js +192 -0
  41. package/dist/src/tui/key-handlers.js.map +1 -0
  42. package/dist/src/tui/layout.d.ts +71 -0
  43. package/dist/src/tui/layout.d.ts.map +1 -0
  44. package/dist/src/tui/layout.js +245 -0
  45. package/dist/src/tui/layout.js.map +1 -0
  46. package/dist/src/tui/paste-controller.d.ts +90 -0
  47. package/dist/src/tui/paste-controller.d.ts.map +1 -0
  48. package/dist/src/tui/paste-controller.js +234 -0
  49. package/dist/src/tui/paste-controller.js.map +1 -0
  50. package/dist/src/tui/question-picker.d.ts +111 -0
  51. package/dist/src/tui/question-picker.d.ts.map +1 -0
  52. package/dist/src/tui/question-picker.js +308 -0
  53. package/dist/src/tui/question-picker.js.map +1 -0
  54. package/dist/src/tui/renderer-lifecycle.d.ts +20 -0
  55. package/dist/src/tui/renderer-lifecycle.d.ts.map +1 -0
  56. package/dist/src/tui/renderer-lifecycle.js +50 -0
  57. package/dist/src/tui/renderer-lifecycle.js.map +1 -0
  58. package/dist/src/tui/session-subscription.d.ts +30 -0
  59. package/dist/src/tui/session-subscription.d.ts.map +1 -0
  60. package/dist/src/tui/session-subscription.js +78 -0
  61. package/dist/src/tui/session-subscription.js.map +1 -0
  62. package/dist/src/tui/sidebar.d.ts +2 -2
  63. package/dist/src/tui/sidebar.d.ts.map +1 -1
  64. package/dist/src/tui/sidebar.js +1 -1
  65. package/dist/src/tui/sidebar.js.map +1 -1
  66. package/dist/src/tui/slash-commands.d.ts +23 -0
  67. package/dist/src/tui/slash-commands.d.ts.map +1 -0
  68. package/dist/src/tui/slash-commands.js +79 -0
  69. package/dist/src/tui/slash-commands.js.map +1 -0
  70. package/dist/src/tui/starter-section.d.ts +99 -0
  71. package/dist/src/tui/starter-section.d.ts.map +1 -0
  72. package/dist/src/tui/starter-section.js +254 -0
  73. package/dist/src/tui/starter-section.js.map +1 -0
  74. package/dist/src/tui/status-controller.d.ts +94 -0
  75. package/dist/src/tui/status-controller.d.ts.map +1 -0
  76. package/dist/src/tui/status-controller.js +186 -0
  77. package/dist/src/tui/status-controller.js.map +1 -0
  78. package/dist/src/tui/step-renderer.d.ts +55 -0
  79. package/dist/src/tui/step-renderer.d.ts.map +1 -0
  80. package/dist/src/tui/step-renderer.js +246 -0
  81. package/dist/src/tui/step-renderer.js.map +1 -0
  82. package/dist/src/tui/transcript-writer.d.ts +63 -0
  83. package/dist/src/tui/transcript-writer.d.ts.map +1 -0
  84. package/dist/src/tui/transcript-writer.js +130 -0
  85. package/dist/src/tui/transcript-writer.js.map +1 -0
  86. package/dist/src/turn-runner/turn-runner.d.ts +77 -1
  87. package/dist/src/turn-runner/turn-runner.d.ts.map +1 -1
  88. package/dist/src/turn-runner/turn-runner.js +150 -12
  89. package/dist/src/turn-runner/turn-runner.js.map +1 -1
  90. package/dist/src/turn-runner/usage-accounting.d.ts +18 -1
  91. package/dist/src/turn-runner/usage-accounting.d.ts.map +1 -1
  92. package/dist/src/turn-runner/usage-accounting.js +48 -27
  93. package/dist/src/turn-runner/usage-accounting.js.map +1 -1
  94. package/dist/src/types/protocol.d.ts +48 -17
  95. package/dist/src/types/protocol.d.ts.map +1 -1
  96. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import type { AgentMessage } from "@earendil-works/pi-agent-core";
2
2
  import { type CliRenderer } from "@opentui/core";
3
3
  import type { Session } from "../session/session.js";
4
- import { type UpgradeStatusStream } from "../cli/auto-upgrade.js";
4
+ import type { UpgradeStatusStream } from "../cli/auto-upgrade.js";
5
5
  import type { TurnTerminalEvent } from "../types/protocol.js";
6
6
  export type { HistoryBlockKind, HistoryDisplayBlock, LimitedHistory } from "./history.js";
7
7
  export type { StartupHeaderInput } from "./history.js";
@@ -15,70 +15,60 @@ export interface RunTuiInput {
15
15
  workDir: string;
16
16
  /** Session id shown in the startup header and resume context. */
17
17
  sessionId: string;
18
- /** npm package name; used to label the auto-upgrade status line. */
18
+ /** npm package name; labels the auto-upgrade status line. */
19
19
  packageName: string;
20
20
  /** Installed package version shown in the startup header. */
21
21
  packageVersion: string;
22
- /** User-facing model name used for this CLI session. */
22
+ /** User-facing model name for this CLI session. */
23
23
  modelName: string;
24
- /** Human-readable provenance for modelName, e.g. "inferred from ANTHROPIC_API_KEY in .env". */
24
+ /** Provenance for modelName (e.g. "inferred from ANTHROPIC_API_KEY in .env"). */
25
25
  modelSource?: string;
26
26
  /** User-facing model name used for observational memory work. */
27
27
  memoryModelName: string;
28
- /** Human-readable provenance for memoryModelName. */
28
+ /** Provenance for memoryModelName. */
29
29
  memoryModelSource?: string;
30
30
  /**
31
31
  * Live status stream from the in-process auto-upgrade flow. The TUI
32
- * subscribes on mount and renders one line in the intro that mutates in
33
- * place through "Checking for updates…", "Updating to vX…", and
34
- * "Updated. Restart duet to use it." Undefined statuses (current, locked,
35
- * skipped) hide the line entirely so the header stays clean.
32
+ * renders one mutating intro line through "Checking…", "Updating…",
33
+ * "Updated. Restart duet to use it." Undefined statuses (current,
34
+ * locked, skipped) hide the line entirely.
36
35
  */
37
36
  upgradeStatus$?: UpgradeStatusStream;
38
37
  /** Past messages to replay into the transcript on resume. */
39
38
  history?: AgentMessage[];
40
39
  /**
41
40
  * True when this TUI mount is a `--resume <id>` invocation. Suppresses
42
- * the boot starter menu so the user lands straight back in the
43
- * conversation instead of seeing "what should we work on today?" again.
41
+ * the boot starter menu so the user lands straight back in the prior
42
+ * conversation instead of seeing the starter prompts again.
44
43
  */
45
44
  isResume?: boolean;
46
45
  /**
47
- * Called when the user picks a "pick up the thread" recent-session
48
- * row. The outer dispatcher (`run.ts`) should dispose the current
49
- * session, `manager.resume(sessionId)` + `hydrate()` + `start()`, and
50
- * re-enter `runTui` with the hydrated session and its replayed history.
51
- *
52
- * When this callback is not provided (tests, playground, any caller
53
- * that does not own a SessionManager), picker rows fall back to the
54
- * legacy behavior of re-submitting the prior prompt as a fresh turn
55
- * in the current session.
46
+ * Called when the user picks a "pick up the thread" recent-session row.
47
+ * The outer dispatcher should dispose the current session,
48
+ * `manager.resume(sessionId)` + `hydrate()` + `start()`, and re-enter
49
+ * `runTui` with the hydrated session and its replayed history. When
50
+ * absent (tests, playground), picker rows fall back to re-submitting
51
+ * the prior prompt as a fresh turn in the current session.
56
52
  */
57
53
  onResumeRequest?: (sessionId: string) => void;
58
54
  /**
59
- * Number of trailing user-turn exchanges to replay from prior history.
60
- * Each exchange is the user prompt plus the assistant blocks (text,
61
- * reasoning, tools, errors) that followed it. `0` disables replay; when
62
- * unset, every block is replayed. The CLI passes the configured default
63
- * so resumes do not flood the transcript.
55
+ * Trailing user-turn exchanges to replay from prior history. Each
56
+ * exchange is the user prompt plus the assistant blocks that followed
57
+ * it. `0` disables replay; when unset, every block is replayed.
64
58
  */
65
59
  resumeHistoryMessages?: number;
66
60
  /**
67
61
  * Pre-built renderer for tests. When provided, `runTui` skips
68
- * `createCliRenderer` and the `globalThis.window` shimming that wraps it.
69
- * Production callers leave this unset; the test harness in
70
- * `test/helpers/tui-harness.ts` passes a `createTestRenderer` instance so
71
- * mock keys can drive the picker without a real TTY.
62
+ * `createCliRenderer` and the `globalThis.window` shimming that wraps
63
+ * it. The test harness in `test/helpers/tui-harness.ts` passes a
64
+ * `createTestRenderer` instance so mock keys can drive the picker
65
+ * without a real TTY.
72
66
  */
73
67
  renderer?: CliRenderer;
74
68
  }
75
69
  /**
76
- * Runs the interactive TUI for a session. Resolves with the most recent
77
- * terminal event (if any) when the user exits the UI.
78
- *
79
- * Differentiating Enter vs Shift+Enter requires the terminal to report
80
- * modifier keys with Enter, which most terminals only do when the Kitty
81
- * keyboard protocol is enabled. We opt into it via `useKittyKeyboard`.
70
+ * Runs the interactive TUI for a session and resolves with the terminal
71
+ * event that was active when the user exited.
82
72
  */
83
73
  export declare function runTui(input: RunTuiInput): Promise<TurnTerminalEvent | undefined>;
84
74
  //# sourceMappingURL=app.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/tui/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAEL,KAAK,WAAW,EAWjB,MAAM,eAAe,CAAC;AAavB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAKV,iBAAiB,EAElB,MAAM,sBAAsB,CAAC;AAoC9B,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1F,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,YAAY,EACV,iBAAiB,EACjB,iBAAiB,IAAI,sBAAsB,EAC3C,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,kBAAkB,EAClB,uBAAuB,EACvB,+BAA+B,EAC/B,kCAAkC,EAClC,qBAAqB,EACrB,8BAA8B,EAC9B,YAAY,EACZ,oBAAoB,EACpB,4BAA4B,EAC5B,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,cAAc,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,+FAA+F;IAC/F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,eAAe,EAAE,MAAM,CAAC;IACxB,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,6DAA6D;IAC7D,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB;AAUD;;;;;;;GAOG;AACH,wBAAsB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAm/EvF"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/tui/app.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,KAAK,WAAW,EAAmC,MAAM,eAAe,CAAC;AAgBlF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1F,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,YAAY,EACV,iBAAiB,EACjB,iBAAiB,IAAI,sBAAsB,EAC3C,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,kBAAkB,EAClB,uBAAuB,EACvB,+BAA+B,EAC/B,kCAAkC,EAClC,qBAAqB,EACrB,8BAA8B,EAC9B,YAAY,EACZ,oBAAoB,EACpB,4BAA4B,EAC5B,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,cAAc,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,eAAe,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,6DAA6D;IAC7D,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAsB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAmOvF"}