@duetso/agent 0.1.20

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 (148) hide show
  1. package/LICENSE +189 -0
  2. package/README.md +315 -0
  3. package/dist/package.json +84 -0
  4. package/dist/src/cli.d.ts +23 -0
  5. package/dist/src/cli.d.ts.map +1 -0
  6. package/dist/src/cli.js +754 -0
  7. package/dist/src/cli.js.map +1 -0
  8. package/dist/src/core/serializer.d.ts +3 -0
  9. package/dist/src/core/serializer.d.ts.map +1 -0
  10. package/dist/src/core/serializer.js +22 -0
  11. package/dist/src/core/serializer.js.map +1 -0
  12. package/dist/src/core/structured-output.d.ts +13 -0
  13. package/dist/src/core/structured-output.d.ts.map +1 -0
  14. package/dist/src/core/structured-output.js +41 -0
  15. package/dist/src/core/structured-output.js.map +1 -0
  16. package/dist/src/guardrails/firewall.d.ts +7 -0
  17. package/dist/src/guardrails/firewall.d.ts.map +1 -0
  18. package/dist/src/guardrails/firewall.js +31 -0
  19. package/dist/src/guardrails/firewall.js.map +1 -0
  20. package/dist/src/guardrails/pattern.d.ts +13 -0
  21. package/dist/src/guardrails/pattern.d.ts.map +1 -0
  22. package/dist/src/guardrails/pattern.js +70 -0
  23. package/dist/src/guardrails/pattern.js.map +1 -0
  24. package/dist/src/guardrails/semantic.d.ts +14 -0
  25. package/dist/src/guardrails/semantic.d.ts.map +1 -0
  26. package/dist/src/guardrails/semantic.js +47 -0
  27. package/dist/src/guardrails/semantic.js.map +1 -0
  28. package/dist/src/index.d.ts +20 -0
  29. package/dist/src/index.d.ts.map +1 -0
  30. package/dist/src/index.js +20 -0
  31. package/dist/src/index.js.map +1 -0
  32. package/dist/src/lib/compact-json.d.ts +11 -0
  33. package/dist/src/lib/compact-json.d.ts.map +1 -0
  34. package/dist/src/lib/compact-json.js +36 -0
  35. package/dist/src/lib/compact-json.js.map +1 -0
  36. package/dist/src/lib/xml.d.ts +3 -0
  37. package/dist/src/lib/xml.d.ts.map +1 -0
  38. package/dist/src/lib/xml.js +9 -0
  39. package/dist/src/lib/xml.js.map +1 -0
  40. package/dist/src/memory/observation-groups.d.ts +15 -0
  41. package/dist/src/memory/observation-groups.d.ts.map +1 -0
  42. package/dist/src/memory/observation-groups.js +159 -0
  43. package/dist/src/memory/observation-groups.js.map +1 -0
  44. package/dist/src/memory/observational-prompts.d.ts +27 -0
  45. package/dist/src/memory/observational-prompts.d.ts.map +1 -0
  46. package/dist/src/memory/observational-prompts.js +237 -0
  47. package/dist/src/memory/observational-prompts.js.map +1 -0
  48. package/dist/src/memory/observational.d.ts +63 -0
  49. package/dist/src/memory/observational.d.ts.map +1 -0
  50. package/dist/src/memory/observational.js +605 -0
  51. package/dist/src/memory/observational.js.map +1 -0
  52. package/dist/src/memory/storage.d.ts +3 -0
  53. package/dist/src/memory/storage.d.ts.map +1 -0
  54. package/dist/src/memory/storage.js +127 -0
  55. package/dist/src/memory/storage.js.map +1 -0
  56. package/dist/src/memory/store.d.ts +13 -0
  57. package/dist/src/memory/store.d.ts.map +1 -0
  58. package/dist/src/memory/store.js +106 -0
  59. package/dist/src/memory/store.js.map +1 -0
  60. package/dist/src/model-resolution/duet-gateway.d.ts +35 -0
  61. package/dist/src/model-resolution/duet-gateway.d.ts.map +1 -0
  62. package/dist/src/model-resolution/duet-gateway.js +56 -0
  63. package/dist/src/model-resolution/duet-gateway.js.map +1 -0
  64. package/dist/src/model-resolution/index.d.ts +31 -0
  65. package/dist/src/model-resolution/index.d.ts.map +1 -0
  66. package/dist/src/model-resolution/index.js +129 -0
  67. package/dist/src/model-resolution/index.js.map +1 -0
  68. package/dist/src/session/session-manager.d.ts +45 -0
  69. package/dist/src/session/session-manager.d.ts.map +1 -0
  70. package/dist/src/session/session-manager.js +94 -0
  71. package/dist/src/session/session-manager.js.map +1 -0
  72. package/dist/src/session/session.d.ts +113 -0
  73. package/dist/src/session/session.d.ts.map +1 -0
  74. package/dist/src/session/session.js +308 -0
  75. package/dist/src/session/session.js.map +1 -0
  76. package/dist/src/tui/app.d.ts +60 -0
  77. package/dist/src/tui/app.d.ts.map +1 -0
  78. package/dist/src/tui/app.js +742 -0
  79. package/dist/src/tui/app.js.map +1 -0
  80. package/dist/src/turn-runner/agent-events.d.ts +5 -0
  81. package/dist/src/turn-runner/agent-events.d.ts.map +1 -0
  82. package/dist/src/turn-runner/agent-events.js +59 -0
  83. package/dist/src/turn-runner/agent-events.js.map +1 -0
  84. package/dist/src/turn-runner/prompts.d.ts +13 -0
  85. package/dist/src/turn-runner/prompts.d.ts.map +1 -0
  86. package/dist/src/turn-runner/prompts.js +79 -0
  87. package/dist/src/turn-runner/prompts.js.map +1 -0
  88. package/dist/src/turn-runner/shell-state-handle.d.ts +32 -0
  89. package/dist/src/turn-runner/shell-state-handle.d.ts.map +1 -0
  90. package/dist/src/turn-runner/shell-state-handle.js +168 -0
  91. package/dist/src/turn-runner/shell-state-handle.js.map +1 -0
  92. package/dist/src/turn-runner/skill-context.d.ts +26 -0
  93. package/dist/src/turn-runner/skill-context.d.ts.map +1 -0
  94. package/dist/src/turn-runner/skill-context.js +110 -0
  95. package/dist/src/turn-runner/skill-context.js.map +1 -0
  96. package/dist/src/turn-runner/skills.d.ts +35 -0
  97. package/dist/src/turn-runner/skills.d.ts.map +1 -0
  98. package/dist/src/turn-runner/skills.js +130 -0
  99. package/dist/src/turn-runner/skills.js.map +1 -0
  100. package/dist/src/turn-runner/state-machine-controller.d.ts +90 -0
  101. package/dist/src/turn-runner/state-machine-controller.d.ts.map +1 -0
  102. package/dist/src/turn-runner/state-machine-controller.js +289 -0
  103. package/dist/src/turn-runner/state-machine-controller.js.map +1 -0
  104. package/dist/src/turn-runner/state-machine-session.d.ts +27 -0
  105. package/dist/src/turn-runner/state-machine-session.d.ts.map +1 -0
  106. package/dist/src/turn-runner/state-machine-session.js +189 -0
  107. package/dist/src/turn-runner/state-machine-session.js.map +1 -0
  108. package/dist/src/turn-runner/tools.d.ts +193 -0
  109. package/dist/src/turn-runner/tools.d.ts.map +1 -0
  110. package/dist/src/turn-runner/tools.js +509 -0
  111. package/dist/src/turn-runner/tools.js.map +1 -0
  112. package/dist/src/turn-runner/turn-runner.d.ts +160 -0
  113. package/dist/src/turn-runner/turn-runner.d.ts.map +1 -0
  114. package/dist/src/turn-runner/turn-runner.js +907 -0
  115. package/dist/src/turn-runner/turn-runner.js.map +1 -0
  116. package/dist/src/turn-runner/turn-state.d.ts +6 -0
  117. package/dist/src/turn-runner/turn-state.d.ts.map +1 -0
  118. package/dist/src/turn-runner/turn-state.js +32 -0
  119. package/dist/src/turn-runner/turn-state.js.map +1 -0
  120. package/dist/src/turn-runner/usage-accounting.d.ts +7 -0
  121. package/dist/src/turn-runner/usage-accounting.d.ts.map +1 -0
  122. package/dist/src/turn-runner/usage-accounting.js +49 -0
  123. package/dist/src/turn-runner/usage-accounting.js.map +1 -0
  124. package/dist/src/types/agent.d.ts +15 -0
  125. package/dist/src/types/agent.d.ts.map +1 -0
  126. package/dist/src/types/agent.js +2 -0
  127. package/dist/src/types/agent.js.map +1 -0
  128. package/dist/src/types/config.d.ts +37 -0
  129. package/dist/src/types/config.d.ts.map +1 -0
  130. package/dist/src/types/config.js +2 -0
  131. package/dist/src/types/config.js.map +1 -0
  132. package/dist/src/types/guardrails.d.ts +34 -0
  133. package/dist/src/types/guardrails.d.ts.map +1 -0
  134. package/dist/src/types/guardrails.js +2 -0
  135. package/dist/src/types/guardrails.js.map +1 -0
  136. package/dist/src/types/memory.d.ts +151 -0
  137. package/dist/src/types/memory.d.ts.map +1 -0
  138. package/dist/src/types/memory.js +2 -0
  139. package/dist/src/types/memory.js.map +1 -0
  140. package/dist/src/types/protocol.d.ts +426 -0
  141. package/dist/src/types/protocol.d.ts.map +1 -0
  142. package/dist/src/types/protocol.js +2 -0
  143. package/dist/src/types/protocol.js.map +1 -0
  144. package/dist/src/types/state-machine.d.ts +344 -0
  145. package/dist/src/types/state-machine.d.ts.map +1 -0
  146. package/dist/src/types/state-machine.js +2 -0
  147. package/dist/src/types/state-machine.js.map +1 -0
  148. package/package.json +84 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-runner.js","sourceRoot":"","sources":["../../../src/turn-runner/turn-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { TurnMode, TurnOptions, TurnRunnerTerminalStatus, TurnState, TurnTerminalEvent } from "../types/protocol.js";
2
+ export declare function createInitialTurnState(mode: TurnMode, options?: TurnOptions): TurnState;
3
+ export declare function withStateMachine(turnState: TurnState, update: (stateMachine: NonNullable<TurnState["stateMachine"]>) => TurnState["stateMachine"]): TurnState;
4
+ export declare function completeTurn(state: TurnState, status: TurnRunnerTerminalStatus, result?: string, error?: string): TurnTerminalEvent;
5
+ export declare function copyOptionalArray<T>(values: T[] | undefined): T[] | undefined;
6
+ //# sourceMappingURL=turn-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-state.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/turn-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,WAAW,EACX,wBAAwB,EACxB,SAAS,EACT,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAE9B,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAUvF;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,KAAK,SAAS,CAAC,cAAc,CAAC,GAC1F,SAAS,CAGX;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,wBAAwB,EAChC,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GACb,iBAAiB,CAWnB;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,SAAS,GAAG,CAAC,EAAE,GAAG,SAAS,CAE7E"}
@@ -0,0 +1,32 @@
1
+ export function createInitialTurnState(mode, options) {
2
+ return {
3
+ status: "running",
4
+ mode,
5
+ options,
6
+ agent: {
7
+ status: "running",
8
+ messages: [],
9
+ },
10
+ };
11
+ }
12
+ export function withStateMachine(turnState, update) {
13
+ if (!turnState.stateMachine)
14
+ return turnState;
15
+ return { ...turnState, stateMachine: update(turnState.stateMachine) };
16
+ }
17
+ export function completeTurn(state, status, result, error) {
18
+ return {
19
+ type: "complete",
20
+ status,
21
+ result,
22
+ error,
23
+ state: {
24
+ ...state,
25
+ status,
26
+ },
27
+ };
28
+ }
29
+ export function copyOptionalArray(values) {
30
+ return values ? [...values] : undefined;
31
+ }
32
+ //# sourceMappingURL=turn-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-state.js","sourceRoot":"","sources":["../../../src/turn-runner/turn-state.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,sBAAsB,CAAC,IAAc,EAAE,OAAqB;IAC1E,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,IAAI;QACJ,OAAO;QACP,KAAK,EAAE;YACL,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,EAAE;SACb;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,SAAoB,EACpB,MAA2F;IAE3F,IAAI,CAAC,SAAS,CAAC,YAAY;QAAE,OAAO,SAAS,CAAC;IAC9C,OAAO,EAAE,GAAG,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,KAAgB,EAChB,MAAgC,EAChC,MAAe,EACf,KAAc;IAEd,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,MAAM;QACN,MAAM;QACN,KAAK;QACL,KAAK,EAAE;YACL,GAAG,KAAK;YACR,MAAM;SACP;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAI,MAAuB;IAC1D,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { AgentMessage } from "@earendil-works/pi-agent-core";
2
+ import type { Usage } from "@earendil-works/pi-ai";
3
+ import type { TurnTokenUsage } from "../types/protocol.js";
4
+ export declare function addUsage(current: TurnTokenUsage | undefined, usage: TurnTokenUsage | Usage | undefined): TurnTokenUsage | undefined;
5
+ export declare function normalizeUsage(usage: TurnTokenUsage | Usage): TurnTokenUsage;
6
+ export declare function usageFromMessages(messages: readonly AgentMessage[]): TurnTokenUsage | undefined;
7
+ //# sourceMappingURL=usage-accounting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-accounting.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/usage-accounting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,wBAAgB,QAAQ,CACtB,OAAO,EAAE,cAAc,GAAG,SAAS,EACnC,KAAK,EAAE,cAAc,GAAG,KAAK,GAAG,SAAS,GACxC,cAAc,GAAG,SAAS,CAa5B;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,KAAK,GAAG,cAAc,CAQ5E;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,GAAG,cAAc,GAAG,SAAS,CAc/F"}
@@ -0,0 +1,49 @@
1
+ export function addUsage(current, usage) {
2
+ if (!usage)
3
+ return current;
4
+ const normalized = normalizeUsage(usage);
5
+ const next = current ?? { inputTokens: 0, outputTokens: 0 };
6
+ next.inputTokens += normalized.inputTokens;
7
+ next.outputTokens += normalized.outputTokens;
8
+ if (normalized.cachedInputTokens !== undefined) {
9
+ next.cachedInputTokens = (next.cachedInputTokens ?? 0) + normalized.cachedInputTokens;
10
+ }
11
+ if (normalized.costUsd !== undefined) {
12
+ next.costUsd = (next.costUsd ?? 0) + normalized.costUsd;
13
+ }
14
+ return next;
15
+ }
16
+ export function normalizeUsage(usage) {
17
+ if ("inputTokens" in usage)
18
+ return usage;
19
+ return {
20
+ inputTokens: usage.input,
21
+ outputTokens: usage.output,
22
+ cachedInputTokens: usage.cacheRead,
23
+ costUsd: usage.cost.total,
24
+ };
25
+ }
26
+ export function usageFromMessages(messages) {
27
+ const usage = { inputTokens: 0, outputTokens: 0 };
28
+ let hasUsage = false;
29
+ for (const message of messages) {
30
+ if (!isAssistantMessageWithUsage(message))
31
+ continue;
32
+ hasUsage = true;
33
+ usage.inputTokens += message.usage.input;
34
+ usage.outputTokens += message.usage.output;
35
+ usage.cachedInputTokens = (usage.cachedInputTokens ?? 0) + message.usage.cacheRead;
36
+ usage.costUsd = (usage.costUsd ?? 0) + message.usage.cost.total;
37
+ }
38
+ return hasUsage ? usage : undefined;
39
+ }
40
+ function isAssistantMessageWithUsage(message) {
41
+ return (typeof message === "object" &&
42
+ message !== null &&
43
+ "role" in message &&
44
+ message.role === "assistant" &&
45
+ "usage" in message &&
46
+ typeof message.usage === "object" &&
47
+ message.usage !== null);
48
+ }
49
+ //# sourceMappingURL=usage-accounting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-accounting.js","sourceRoot":"","sources":["../../../src/turn-runner/usage-accounting.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,QAAQ,CACtB,OAAmC,EACnC,KAAyC;IAEzC,IAAI,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC;IAC3B,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,OAAO,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IAC5D,IAAI,CAAC,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC;IAC3C,IAAI,CAAC,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC;IAC7C,IAAI,UAAU,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC/C,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,iBAAiB,CAAC;IACxF,CAAC;IACD,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;IAC1D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAA6B;IAC1D,IAAI,aAAa,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACzC,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,KAAK;QACxB,YAAY,EAAE,KAAK,CAAC,MAAM;QAC1B,iBAAiB,EAAE,KAAK,CAAC,SAAS;QAClC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAiC;IACjE,MAAM,KAAK,GAAmB,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IAClE,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC;YAAE,SAAS;QACpD,QAAQ,GAAG,IAAI,CAAC;QAChB,KAAK,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QACzC,KAAK,CAAC,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3C,KAAK,CAAC,iBAAiB,GAAG,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;QACnF,KAAK,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IAClE,CAAC;IAED,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACtC,CAAC;AAED,SAAS,2BAA2B,CAClC,OAAqB;IAErB,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,KAAK,IAAI;QAChB,MAAM,IAAI,OAAO;QACjB,OAAO,CAAC,IAAI,KAAK,WAAW;QAC5B,OAAO,IAAI,OAAO;QAClB,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;QACjC,OAAO,CAAC,KAAK,KAAK,IAAI,CACvB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { AgentMessage } from "@earendil-works/pi-agent-core";
2
+ export type AgentSessionStatus = "running" | "waiting" | "completed" | "failed" | "cancelled";
3
+ /**
4
+ * Serializable state for agent mode.
5
+ *
6
+ * pi-agent-core owns the live in-process Agent instance while a turn is
7
+ * running. This type is the turn runner-level snapshot that terminal events can
8
+ * return so the layer above the runner can persist enough state to continue a
9
+ * later turn.
10
+ */
11
+ export interface AgentSession {
12
+ status: AgentSessionStatus;
13
+ messages: AgentMessage[];
14
+ }
15
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/types/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE9F;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/types/agent.ts"],"names":[],"mappings":""}
@@ -0,0 +1,37 @@
1
+ import type { Skill, loadSkills } from "@earendil-works/pi-coding-agent";
2
+ import type { GuardrailConfig } from "./guardrails.js";
3
+ import type { ObservationalMemorySettingsInput } from "./memory.js";
4
+ import type { TurnMode, TurnOptions } from "./protocol.js";
5
+ /** Directly mirrors pi-coding-agent's loadSkills options. */
6
+ export type SkillDiscoveryOptions = Partial<Parameters<typeof loadSkills>[0]>;
7
+ export interface TurnRunnerConfig extends TurnOptions {
8
+ memory?: ObservationalMemorySettingsInput;
9
+ /**
10
+ * PGlite database directory for durable observational memories.
11
+ * SessionManager defaults this to
12
+ * `~/.duet/memory.db`; pass `false` to keep memories in process only.
13
+ */
14
+ memoryDbPath?: string | false;
15
+ cwd?: string;
16
+ /** Default mode for TurnRunner.turn. "auto" lets the runner classify each prompt. */
17
+ mode?: TurnMode;
18
+ guardrails?: GuardrailConfig[];
19
+ systemInstructions?: string;
20
+ /**
21
+ * Files loaded from `cwd` and appended to the base system prompt.
22
+ *
23
+ * Defaults to `["AGENTS.md"]` so repository-local agent guidance is included
24
+ * automatically. Set to `[]` to disable file loading, or provide an explicit
25
+ * ordered list to replace the default.
26
+ */
27
+ systemPromptFiles?: string[];
28
+ skills?: Skill[];
29
+ /**
30
+ * Controls filesystem skill discovery. Defaults search both Duet-specific
31
+ * `.duet/skills` and standard `.agents/skills` directories in `cwd` and the
32
+ * user's home directory; set `includeDefaults: false` to rely only on
33
+ * explicit `skills` or `skillPaths`.
34
+ */
35
+ skillDiscovery?: SkillDiscoveryOptions;
36
+ }
37
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE3D,6DAA6D;AAC7D,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9E,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,MAAM,CAAC,EAAE,gCAAgC,CAAC;IAC1C;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ import type { Model } from "@earendil-works/pi-ai";
2
+ import type { Observation } from "./memory.js";
3
+ import type { TurnState } from "./protocol.js";
4
+ export interface GuardrailResult {
5
+ allowed: boolean;
6
+ reason?: string;
7
+ suggestion?: string;
8
+ }
9
+ export interface Guardrail {
10
+ name: string;
11
+ description: string;
12
+ evaluate(context: GuardrailContext): Promise<GuardrailResult>;
13
+ }
14
+ export interface PatternGuardrailRuleConfig {
15
+ pattern: RegExp;
16
+ action: "block" | "warn";
17
+ reason: string;
18
+ }
19
+ /** Extra guardrail policies layered on top of the runner defaults. */
20
+ export type GuardrailConfig = {
21
+ kind: "pattern";
22
+ rules: PatternGuardrailRuleConfig[];
23
+ } | {
24
+ kind: "semantic";
25
+ model: Model<any>;
26
+ policy: string;
27
+ };
28
+ export interface GuardrailContext {
29
+ action: string;
30
+ content: string;
31
+ memories: Observation[];
32
+ session: TurnState;
33
+ }
34
+ //# sourceMappingURL=guardrails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guardrails.d.ts","sourceRoot":"","sources":["../../../src/types/guardrails.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,sEAAsE;AACtE,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,0BAA0B,EAAE,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,OAAO,EAAE,SAAS,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=guardrails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guardrails.js","sourceRoot":"","sources":["../../../src/types/guardrails.ts"],"names":[],"mappings":""}
@@ -0,0 +1,151 @@
1
+ /** Relative importance used for recall ordering and prompt rendering. */
2
+ export type ObservationPriority = "high" | "medium" | "low";
3
+ /** Whether an observation belongs to current turn-runner memory or a reusable resource. */
4
+ export type ObservationScope = "session" | "resource";
5
+ /** Reflection policy for condensing accumulated observations. */
6
+ export type ReflectionMode = "none" | "threshold" | "forced";
7
+ /** Where an observation came from, used for auditability and future filtering. */
8
+ export type ObservationSource = {
9
+ kind: "user";
10
+ }
11
+ /** Produced by an agent; name is optional because the runner does not assign agent ids. */
12
+ | {
13
+ kind: "agent";
14
+ name?: string;
15
+ } | {
16
+ kind: "system";
17
+ }
18
+ /** Produced from a specific tool call or tool result. */
19
+ | {
20
+ kind: "tool";
21
+ toolName: string;
22
+ };
23
+ /** Durable memory rendered back into model context after raw messages compact. */
24
+ export interface Observation {
25
+ /** Stable persistence key for the observation row. */
26
+ id: string;
27
+ /** Unix timestamp in milliseconds when this observation was stored. */
28
+ createdAt: number;
29
+ /** Calendar date the observation is anchored to, usually the day it was observed. */
30
+ observedDate: string;
31
+ /** Concrete date mentioned by the user or tool output when different from observedDate. */
32
+ referencedDate?: string;
33
+ /** Original relative date phrase, such as "tomorrow" or "last week", when useful. */
34
+ relativeDate?: string;
35
+ /** 24-hour local time attached to the observation, when available. */
36
+ timeOfDay?: string;
37
+ /** Importance signal used by recall and context rendering. */
38
+ priority: ObservationPriority;
39
+ /** Scope controls whether this memory is session-local or reusable across resources. */
40
+ scope: ObservationScope;
41
+ /** Origin of the observation for debugging, filtering, and future trust policies. */
42
+ source: ObservationSource;
43
+ /** The actual memory text that can be rendered back into model context. */
44
+ content: string;
45
+ /** Lightweight labels for filtering, grouping, and persistence queries. */
46
+ tags: string[];
47
+ }
48
+ /** Complete durable memory view persisted outside the runner state. */
49
+ export interface ObservationalMemorySnapshot {
50
+ /** All durable observations currently owned by the runner memory store. */
51
+ observations: Observation[];
52
+ /** Approximate token counts used to decide when observation/reflection should execute. */
53
+ estimatedTokens: {
54
+ /** Approximate tokens for all observation content. */
55
+ observations: number;
56
+ };
57
+ /** Unix timestamp in milliseconds for when this snapshot was produced. */
58
+ updatedAt: number;
59
+ }
60
+ /** Progress update emitted while observational memory is compacting context. */
61
+ export interface ObservationalMemoryActivityEvent {
62
+ /** Memory operation currently affecting the model context. */
63
+ phase: "observation" | "reflection";
64
+ /** Whether the operation is still running or has finished. */
65
+ status: "running" | "completed";
66
+ /** Human-readable status suitable for CLI/TUI surfaces. */
67
+ message: string;
68
+ }
69
+ /** Runtime settings for converting turn-runner conversation context into observations. */
70
+ export interface ObservationalMemorySettings {
71
+ /** Scope assigned to newly generated observations. */
72
+ scope: ObservationScope;
73
+ /** Settings for extracting new observations from raw agent messages. */
74
+ observation: {
75
+ /** Raw message token threshold that triggers observation extraction. */
76
+ messageTokens: number;
77
+ /** Maximum raw-message tokens to send to one observer call. */
78
+ maxTokensPerBatch: number;
79
+ /** Raw-message token budget to retain after observation compacts older context. */
80
+ bufferActivation: number;
81
+ /** Optional hard stop for observation work after a caller-defined threshold. */
82
+ blockAfter?: number;
83
+ /** Optional budget for including previous observations in observer prompts. */
84
+ previousObserverTokens?: number | false;
85
+ /** Additional instructions appended to the observer system prompt. */
86
+ instruction?: string;
87
+ /** Whether the observer should also produce a short thread title. */
88
+ threadTitle?: boolean;
89
+ };
90
+ /** Settings for condensing the durable observation log. */
91
+ reflection: {
92
+ /** Observation token threshold that triggers reflection. */
93
+ observationTokens: number;
94
+ /** Observation token budget to target after reflection condenses the log. */
95
+ bufferActivation: number;
96
+ /** Optional hard stop for reflection work after a caller-defined threshold. */
97
+ blockAfter?: number;
98
+ /** Additional instructions appended to the reflector system prompt. */
99
+ instruction?: string;
100
+ };
101
+ /** Future retrieval behavior; vector search becomes useful once embeddings are stored. */
102
+ retrieval?: boolean | {
103
+ vector?: boolean;
104
+ scope?: ObservationScope;
105
+ };
106
+ /** Whether memory should share the actor context budget instead of using its own thresholds. */
107
+ shareTokenBudget: boolean;
108
+ /** Whether prompts should include explicit date/time markers for temporal reasoning. */
109
+ temporalMarkers: boolean;
110
+ /** Optional idle duration before activating observation work. */
111
+ activateAfterIdle?: number;
112
+ /** Whether provider/model changes should force observation activation. */
113
+ activateOnProviderChange: boolean;
114
+ }
115
+ /**
116
+ * Caller-provided memory settings. Nested observation and reflection settings
117
+ * are partial because callers commonly override only thresholds or instructions
118
+ * while leaving the rest of the runtime defaults intact.
119
+ */
120
+ export type ObservationalMemorySettingsInput = Partial<Omit<ObservationalMemorySettings, "observation" | "reflection">> & {
121
+ observation?: Partial<ObservationalMemorySettings["observation"]>;
122
+ reflection?: Partial<ObservationalMemorySettings["reflection"]>;
123
+ };
124
+ /** Query used by MemoryStore.recall to filter and rank observations. */
125
+ export interface ObservationQuery {
126
+ /** Text query for simple lexical ranking. */
127
+ query?: string;
128
+ /** Return observations matching at least one of these tags. */
129
+ tags?: string[];
130
+ /** Restrict recall to session or resource-scoped observations. */
131
+ scope?: ObservationScope;
132
+ /** Maximum number of observations to return. */
133
+ limit?: number;
134
+ /** Minimum priority to include. */
135
+ minPriority?: ObservationPriority;
136
+ }
137
+ /** Events emitted by MemoryStore for external persistence. */
138
+ export type MemoryStoreEvent =
139
+ /** A new observation was added without replacing the full memory set. */
140
+ {
141
+ type: "observation_appended";
142
+ observation: Observation;
143
+ }
144
+ /** The complete observation set was replaced, usually after reflection. */
145
+ | {
146
+ type: "observations_replaced";
147
+ observations: Observation[];
148
+ };
149
+ /** Subscription callback for MemoryStore changes. */
150
+ export type MemoryStoreEventHandler = (event: MemoryStoreEvent) => void;
151
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/types/memory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/types/memory.ts"],"names":[],"mappings":""}