@duetso/agent 0.1.57 → 0.1.59

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 (56) hide show
  1. package/README.md +41 -2
  2. package/dist/package.json +1 -1
  3. package/dist/src/cli/memory-db.d.ts +1 -1
  4. package/dist/src/cli/memory-db.js +3 -2
  5. package/dist/src/cli/memory-db.js.map +1 -1
  6. package/dist/src/memory/context-pack.d.ts +3 -3
  7. package/dist/src/memory/context-pack.d.ts.map +1 -1
  8. package/dist/src/memory/context-pack.js +2 -2
  9. package/dist/src/memory/loader.d.ts +12 -45
  10. package/dist/src/memory/loader.d.ts.map +1 -1
  11. package/dist/src/memory/loader.js +61 -77
  12. package/dist/src/memory/loader.js.map +1 -1
  13. package/dist/src/memory/migrations.d.ts.map +1 -1
  14. package/dist/src/memory/migrations.js +28 -0
  15. package/dist/src/memory/migrations.js.map +1 -1
  16. package/dist/src/memory/observational-prompts.d.ts.map +1 -1
  17. package/dist/src/memory/observational-prompts.js +3 -0
  18. package/dist/src/memory/observational-prompts.js.map +1 -1
  19. package/dist/src/memory/observational.d.ts +15 -3
  20. package/dist/src/memory/observational.d.ts.map +1 -1
  21. package/dist/src/memory/observational.js +117 -40
  22. package/dist/src/memory/observational.js.map +1 -1
  23. package/dist/src/memory/recall.js +2 -1
  24. package/dist/src/memory/recall.js.map +1 -1
  25. package/dist/src/memory/storage.d.ts +48 -27
  26. package/dist/src/memory/storage.d.ts.map +1 -1
  27. package/dist/src/memory/storage.js +65 -42
  28. package/dist/src/memory/storage.js.map +1 -1
  29. package/dist/src/memory/store.d.ts +20 -21
  30. package/dist/src/memory/store.d.ts.map +1 -1
  31. package/dist/src/memory/store.js +15 -99
  32. package/dist/src/memory/store.js.map +1 -1
  33. package/dist/src/tui/app.d.ts.map +1 -1
  34. package/dist/src/tui/app.js +224 -54
  35. package/dist/src/tui/app.js.map +1 -1
  36. package/dist/src/tui/autocomplete.d.ts.map +1 -1
  37. package/dist/src/tui/autocomplete.js +5 -0
  38. package/dist/src/tui/autocomplete.js.map +1 -1
  39. package/dist/src/tui/clipboard.d.ts +30 -14
  40. package/dist/src/tui/clipboard.d.ts.map +1 -1
  41. package/dist/src/tui/clipboard.js +88 -11
  42. package/dist/src/tui/clipboard.js.map +1 -1
  43. package/dist/src/tui/theme.d.ts +18 -1
  44. package/dist/src/tui/theme.d.ts.map +1 -1
  45. package/dist/src/tui/theme.js +30 -1
  46. package/dist/src/tui/theme.js.map +1 -1
  47. package/dist/src/tui/transcript-log.d.ts +1 -1
  48. package/dist/src/tui/transcript-log.js +1 -1
  49. package/dist/src/turn-runner/tools.d.ts +1 -1
  50. package/dist/src/turn-runner/turn-runner.d.ts +2 -2
  51. package/dist/src/turn-runner/turn-runner.d.ts.map +1 -1
  52. package/dist/src/turn-runner/turn-runner.js +9 -5
  53. package/dist/src/turn-runner/turn-runner.js.map +1 -1
  54. package/dist/src/types/memory.d.ts +20 -36
  55. package/dist/src/types/memory.d.ts.map +1 -1
  56. package/package.json +1 -1
@@ -13,6 +13,35 @@ export const COLORS = {
13
13
  status: "#34D399",
14
14
  border: "#374151",
15
15
  };
16
- export const HINT_IDLE = "Enter: send · Shift+Enter: newline · PgUp/PgDn: scroll · Esc: quit";
16
+ // Esc is intentionally absent from the idle hint: when no turn is running
17
+ // it is a no-op (it only closes open pickers, which is self-evident). Use
18
+ // Ctrl+C to quit the TUI — the universal terminal convention.
19
+ export const HINT_IDLE = "Enter: send · Shift+Enter: newline · PgUp/PgDn: scroll · Ctrl+C: quit";
17
20
  export const HINT_RUNNING = "Enter: queue follow-up · PgUp/PgDn: scroll · Esc: interrupt";
21
+ /**
22
+ * Terminal-aware copy keystroke shown in the hint only while a non-empty
23
+ * drag selection exists. The keystroke handler accepts Cmd+C, Cmd+Shift+C,
24
+ * and Ctrl+Shift+C on every platform; the label here picks whichever one
25
+ * actually reaches the TUI on the current terminal so users do not chase
26
+ * a keystroke their terminal silently swallows.
27
+ *
28
+ * Warp on macOS reserves both Cmd+C (block-copy) and Cmd+Shift+C
29
+ * (command-palette search) for its own UI and never forwards either to
30
+ * TUI applications, so on Warp we surface Ctrl+Shift+C — the only combo
31
+ * Warp passes through. Other macOS terminals (Ghostty, kitty, recent
32
+ * iTerm2 with the right keybindings) forward Cmd+C, which matches Mac
33
+ * muscle memory. Linux and Windows terminals universally use
34
+ * Ctrl+Shift+C so bare Ctrl+C can stay reserved for "exit."
35
+ */
36
+ export const COPY_KEYSTROKE_LABEL = chooseCopyKeystrokeLabel();
37
+ export const HINT_SELECTION_COPY = `${COPY_KEYSTROKE_LABEL}: copy`;
38
+ function chooseCopyKeystrokeLabel() {
39
+ if (process.platform !== "darwin")
40
+ return "Ctrl+Shift+C";
41
+ // TERM_PROGRAM=WarpTerminal is set by Warp itself; it is the most
42
+ // reliable signal we have without a runtime keypress probe.
43
+ if (process.env.TERM_PROGRAM === "WarpTerminal")
44
+ return "Ctrl+Shift+C";
45
+ return "Cmd+C";
46
+ }
18
47
  //# sourceMappingURL=theme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/tui/theme.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,wEAAwE;AACxE,2DAA2D;AAC3D,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;CACT,CAAC;AAEX,MAAM,CAAC,MAAM,SAAS,GAAG,oEAAoE,CAAC;AAC9F,MAAM,CAAC,MAAM,YAAY,GAAG,6DAA6D,CAAC"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/tui/theme.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,wEAAwE;AACxE,2DAA2D;AAC3D,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;CACT,CAAC;AAEX,0EAA0E;AAC1E,0EAA0E;AAC1E,8DAA8D;AAC9D,MAAM,CAAC,MAAM,SAAS,GAAG,uEAAuE,CAAC;AACjG,MAAM,CAAC,MAAM,YAAY,GAAG,6DAA6D,CAAC;AAE1F;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAwB,EAAE,CAAC;AAC/D,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,oBAAoB,QAAQ,CAAC;AAEnE,SAAS,wBAAwB;IAC/B,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,cAAc,CAAC;IACzD,kEAAkE;IAClE,4DAA4D;IAC5D,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,cAAc;QAAE,OAAO,cAAc,CAAC;IACvE,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Tiny in-memory log of user / agent messages used by the `/copy` slash
3
- * command and the Ctrl+Y keystroke. The TUI's transcript itself is rendered
3
+ * command and the platform copy keystroke. The TUI's transcript itself is rendered
4
4
  * line-by-line into a ScrollBoxRenderable, so there is no straightforward
5
5
  * way to retrieve "the last assistant message" as a clean string. This log
6
6
  * is the parallel structure that makes copy-out possible.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Tiny in-memory log of user / agent messages used by the `/copy` slash
3
- * command and the Ctrl+Y keystroke. The TUI's transcript itself is rendered
3
+ * command and the platform copy keystroke. The TUI's transcript itself is rendered
4
4
  * line-by-line into a ScrollBoxRenderable, so there is no straightforward
5
5
  * way to retrieve "the last assistant message" as a clean string. This log
6
6
  * is the parallel structure that makes copy-out possible.
@@ -204,7 +204,7 @@ interface TurnRunnerToolsInput {
204
204
  }
205
205
  export interface RecallMemoryToolStorage {
206
206
  /**
207
- * Returns the database used by the runner's MemoryStore, or undefined
207
+ * Returns the database backing the runner's durable memory, or undefined
208
208
  * when memory persistence is disabled (one-shot tools, tests). The
209
209
  * recall_memory tool no-ops when undefined so the model never sees a
210
210
  * tool whose backing store is missing.
@@ -2,7 +2,7 @@ import { Agent, type AgentEvent, type AgentMessage, type AgentTool } from "@eare
2
2
  import { type ImageContent, type Usage } from "@earendil-works/pi-ai";
3
3
  import type { Skill } from "@earendil-works/pi-coding-agent";
4
4
  import type { SkillCollision } from "./skills.js";
5
- import { MemoryStore } from "../memory/store.js";
5
+ import { MemoryContextCache } from "../memory/store.js";
6
6
  import type { TurnRunnerConfig } from "../types/config.js";
7
7
  import type { TurnAgentFile, TurnAnswerCommand, TurnEditFollowUpQueueCommand, TurnEvent, TurnInterruptCommand, TurnMode, TurnPromptCommand, TurnState, TurnTokenUsage, TurnStartCommand, TurnTerminalEvent, TurnCommand, TurnOptions } from "../types/protocol.js";
8
8
  import type { StateMachineAgentState } from "../types/state-machine.js";
@@ -34,7 +34,7 @@ export declare class TurnRunner {
34
34
  readonly config: TurnRunnerConfig;
35
35
  private readonly eventHandlers;
36
36
  /** In-memory observation store used by context transforms during agent turns. */
37
- protected readonly memory: MemoryStore;
37
+ protected readonly memory: MemoryContextCache;
38
38
  /** Hydrates, flushes, and disposes durable observation storage. */
39
39
  private memoryPersistence?;
40
40
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"turn-runner.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/turn-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn-runner.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/turn-runner.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import { rebuildMemoryContextPack } from "../memory/context-pack.js";
8
8
  import { createEmbeddingClient } from "../memory/embedding.js";
9
9
  import { resolveObservationalMemorySettings } from "../memory/observational.js";
10
10
  import { loadStoredMemory } from "../memory/storage.js";
11
- import { MemoryStore } from "../memory/store.js";
11
+ import { MemoryContextCache } from "../memory/store.js";
12
12
  import { DEFAULT_CLI_MEMORY_MODEL, DEFAULT_CLI_MODEL, resolveModelName, } from "../model-resolution/resolver.js";
13
13
  import { agentEventToTurnEvents, agentMessageText } from "./agent-events.js";
14
14
  import { createStateMachineSystemPromptLayer } from "./prompts.js";
@@ -24,7 +24,7 @@ export class TurnRunner {
24
24
  config;
25
25
  eventHandlers = new Set();
26
26
  /** In-memory observation store used by context transforms during agent turns. */
27
- memory = new MemoryStore();
27
+ memory = new MemoryContextCache();
28
28
  /** Hydrates, flushes, and disposes durable observation storage. */
29
29
  memoryPersistence;
30
30
  /**
@@ -853,7 +853,11 @@ export class TurnRunner {
853
853
  if (this.config.memoryDbPath === undefined) {
854
854
  return;
855
855
  }
856
+ const db = this.memoryPersistence?.db;
857
+ if (!db)
858
+ return;
856
859
  const result = await updateObservationalMemory({
860
+ db,
857
861
  memory: this.memory,
858
862
  sessionId: this.config.sessionId,
859
863
  actorModel: this.resolveMemoryActorModel(options),
@@ -862,7 +866,6 @@ export class TurnRunner {
862
866
  onUsage: (usage) => this.recordUsage(usage),
863
867
  onActivity: (event) => this.emit({ type: "memory", ...event }),
864
868
  });
865
- await this.memoryPersistence?.flush();
866
869
  // Compaction trigger: a reflection just replaced the durable
867
870
  // observation set, so rebuild the frozen context pack to pick up
868
871
  // the new condensed view. Observer-only updates intentionally do
@@ -878,7 +881,7 @@ export class TurnRunner {
878
881
  try {
879
882
  await rebuildMemoryContextPack({
880
883
  db: this.memoryPersistence.db,
881
- store: this.memory,
884
+ cache: this.memory,
882
885
  settings: resolveObservationalMemorySettings(this.config.memory),
883
886
  ...(this.config.sessionId !== undefined ? { sessionId: this.config.sessionId } : {}),
884
887
  });
@@ -992,9 +995,10 @@ export class TurnRunner {
992
995
  // loadStoredMemory so the very first dispatched turn already sees
993
996
  // a frozen memory prefix. Subsequent compaction triggers (reflector
994
997
  // completion, wire-shaping eviction) refresh it.
995
- this.memoryPersistence = await loadStoredMemory(this.config.memoryDbPath, this.config.cwd ?? process.cwd(), this.memory, {
998
+ this.memoryPersistence = await loadStoredMemory(this.config.memoryDbPath, this.config.cwd ?? process.cwd(), {
996
999
  embed: createEmbeddingClient(),
997
1000
  contextPack: {
1001
+ cache: this.memory,
998
1002
  settings: resolveObservationalMemorySettings(this.config.memory),
999
1003
  ...(this.config.sessionId !== undefined ? { sessionId: this.config.sessionId } : {}),
1000
1004
  },
@@ -1 +1 @@
1
- {"version":3,"file":"turn-runner.js","sourceRoot":"","sources":["../../../src/turn-runner/turn-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn-runner.js","sourceRoot":"","sources":["../../../src/turn-runner/turn-runner.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,15 @@ export interface Observation {
29
29
  id: string;
30
30
  /** Unix timestamp in milliseconds when this observation was stored. */
31
31
  createdAt: number;
32
+ /**
33
+ * Unix timestamp in milliseconds for the most recent turn that
34
+ * actually used this observation. Initialized to `createdAt` and
35
+ * advanced when the observer reports the row as having informed an
36
+ * assistant response (`usedObservationIds`). Drives the global-layer
37
+ * ranking decay so memories that keep getting used keep surfacing,
38
+ * regardless of how old they originally are.
39
+ */
40
+ lastUsedAt: number;
32
41
  /**
33
42
  * Session that produced this observation. Optional only for rows that
34
43
  * predate sessionId tracking — new writes always set it. Loaders use
@@ -117,19 +126,23 @@ export interface ObservationalMemorySettings {
117
126
  /**
118
127
  * Token budget for the global memory layer rendered ahead of the local
119
128
  * session's compacted view. Cross-session reflections and observations
120
- * are scored by `priority * recencyDecay * kindBias` and packed greedily
129
+ * are ranked by `priority * usageDecay * kindBias` and packed greedily
121
130
  * until this budget is exhausted. Local memory has no separate budget —
122
131
  * it reuses the existing `observation` and `reflection` thresholds since
123
132
  * the local layer is just the current session's compaction output.
124
133
  */
125
134
  globalContextTokenBudget: number;
126
135
  /**
127
- * Half-life for the recency decay term in the global-layer ranking.
128
- * `recencyDecay = 0.5 ^ (ageMs / halfLifeMs)` — at one half-life a row
129
- * is worth half what a brand-new row of the same priority is worth.
130
- * Default 7 days: short enough that month-old chatter stops crowding
131
- * out current week's decisions, long enough that yesterday's
132
- * conclusions still surface tomorrow.
136
+ * Half-life applied to time since `lastUsedAt` in the global-layer
137
+ * ranking. `usageDecay = 0.5 ^ ((now - lastUsedAt) / halfLifeMs)` —
138
+ * at one half-life since last use a row is worth half what a
139
+ * just-used row of the same priority is worth. Default 7 days:
140
+ * short enough that month-old unused chatter stops crowding out
141
+ * current week's decisions, long enough that yesterday's
142
+ * conclusions still surface tomorrow. Ranking is a monotone
143
+ * function of `lastUsedAt`, so the ordering between any two rows
144
+ * is invariant to `now` within a single ranking pass — the loader
145
+ * exploits this to push the entire ORDER BY into SQL.
133
146
  */
134
147
  recencyHalfLifeMs: number;
135
148
  /**
@@ -159,33 +172,4 @@ export type ObservationalMemorySettingsInput = Partial<Omit<ObservationalMemoryS
159
172
  observation?: Partial<ObservationalMemorySettings["observation"]>;
160
173
  reflection?: Partial<ObservationalMemorySettings["reflection"]>;
161
174
  };
162
- /** Query used by MemoryStore.recall to filter and rank observations. */
163
- export interface ObservationQuery {
164
- /** Text query for simple lexical ranking. */
165
- query?: string;
166
- /** Return observations matching at least one of these tags. */
167
- tags?: string[];
168
- /** Restrict recall to a specific session id; omit for all-session search. */
169
- sessionId?: string;
170
- /** Restrict recall to one observation kind. */
171
- kind?: ObservationKind;
172
- /** Maximum number of observations to return. */
173
- limit?: number;
174
- /** Minimum priority to include. */
175
- minPriority?: ObservationPriority;
176
- }
177
- /** Events emitted by MemoryStore for external persistence. */
178
- export type MemoryStoreEvent =
179
- /** A new observation was added without replacing the full memory set. */
180
- {
181
- type: "observation_appended";
182
- observation: Observation;
183
- }
184
- /** The complete observation set was replaced, usually after reflection. */
185
- | {
186
- type: "observations_replaced";
187
- observations: Observation[];
188
- };
189
- /** Subscription callback for MemoryStore changes. */
190
- export type MemoryStoreEventHandler = (event: MemoryStoreEvent) => void;
191
175
  //# sourceMappingURL=memory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/types/memory.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,YAAY,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;AAClB,2FAA2F;GACzF;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEvB,kFAAkF;AAClF,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,EAAE,EAAE,MAAM,CAAC;IACX,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,IAAI,EAAE,eAAe,CAAC;IACtB,qFAAqF;IACrF,YAAY,EAAE,MAAM,CAAC;IACrB,2FAA2F;IAC3F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,qFAAqF;IACrF,MAAM,EAAE,iBAAiB,CAAC;IAC1B,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,uEAAuE;AACvE,MAAM,WAAW,2BAA2B;IAC1C,2EAA2E;IAC3E,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,0FAA0F;IAC1F,eAAe,EAAE;QACf,sDAAsD;QACtD,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,yFAAyF;AACzF,MAAM,WAAW,gCAAgC;IAC/C,qFAAqF;IACrF,KAAK,EAAE,aAAa,GAAG,YAAY,CAAC;IACpC,8DAA8D;IAC9D,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;IAChC,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CAC9B;AAED,0FAA0F;AAC1F,MAAM,WAAW,2BAA2B;IAC1C,wEAAwE;IACxE,WAAW,EAAE;QACX,kFAAkF;QAClF,aAAa,EAAE,MAAM,CAAC;QACtB,+DAA+D;QAC/D,iBAAiB,EAAE,MAAM,CAAC;QAC1B,4EAA4E;QAC5E,gBAAgB,EAAE,MAAM,CAAC;QACzB,gFAAgF;QAChF,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,+EAA+E;QAC/E,sBAAsB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QACxC,sEAAsE;QACtE,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,qEAAqE;QACrE,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;IACF,2DAA2D;IAC3D,UAAU,EAAE;QACV,4DAA4D;QAC5D,iBAAiB,EAAE,MAAM,CAAC;QAC1B,6EAA6E;QAC7E,gBAAgB,EAAE,MAAM,CAAC;QACzB,+EAA+E;QAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,uEAAuE;QACvE,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF;;;;;;;OAOG;IACH,wBAAwB,EAAE,MAAM,CAAC;IACjC;;;;;;;OAOG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,SAAS,EAAE,OAAO,CAAC;IACnB,gGAAgG;IAChG,gBAAgB,EAAE,OAAO,CAAC;IAC1B,wFAAwF;IACxF,eAAe,EAAE,OAAO,CAAC;IACzB,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,wBAAwB,EAAE,OAAO,CAAC;CACnC;AAED;;;;GAIG;AACH,MAAM,MAAM,gCAAgC,GAAG,OAAO,CACpD,IAAI,CAAC,2BAA2B,EAAE,aAAa,GAAG,YAAY,CAAC,CAChE,GAAG;IACF,WAAW,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC,CAAC;IAClE,UAAU,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAC,CAAC;CACjE,CAAC;AAEF,wEAAwE;AACxE,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACnC;AAED,8DAA8D;AAC9D,MAAM,MAAM,gBAAgB;AAC1B,yEAAyE;AACvE;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,WAAW,EAAE,WAAW,CAAA;CAAE;AAC5D,2EAA2E;GACzE;IAAE,IAAI,EAAE,uBAAuB,CAAC;IAAC,YAAY,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC;AAEnE,qDAAqD;AACrD,MAAM,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/types/memory.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duetso/agent",
3
- "version": "0.1.57",
3
+ "version": "0.1.59",
4
4
  "description": "An opinionated full-stack agent turn runner with native memories, interrupts, and multi-agent orchestration",
5
5
  "keywords": [
6
6
  "agent",