@agents-ensemble/core 0.6.5 → 0.8.0

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 (214) hide show
  1. package/dist/conductor/conductor-agent.d.ts +50 -14
  2. package/dist/conductor/conductor-agent.d.ts.map +1 -1
  3. package/dist/conductor/conductor-agent.js +1 -96
  4. package/dist/conductor/conductor-agent.js.map +1 -1
  5. package/dist/conductor/conductor-auth.d.ts +36 -6
  6. package/dist/conductor/conductor-auth.d.ts.map +1 -1
  7. package/dist/conductor/conductor-auth.js +59 -7
  8. package/dist/conductor/conductor-auth.js.map +1 -1
  9. package/dist/conductor/conductor-pi-auth.d.ts +75 -0
  10. package/dist/conductor/conductor-pi-auth.d.ts.map +1 -0
  11. package/dist/conductor/conductor-pi-auth.js +524 -0
  12. package/dist/conductor/conductor-pi-auth.js.map +1 -0
  13. package/dist/conductor/conductor-send-reconnect.d.ts +10 -6
  14. package/dist/conductor/conductor-send-reconnect.d.ts.map +1 -1
  15. package/dist/conductor/conductor-send-reconnect.js +6 -4
  16. package/dist/conductor/conductor-send-reconnect.js.map +1 -1
  17. package/dist/conductor/conductor-session-driver.d.ts +4 -4
  18. package/dist/conductor/conductor-session-driver.d.ts.map +1 -1
  19. package/dist/conductor/conductor-session-driver.js +47 -29
  20. package/dist/conductor/conductor-session-driver.js.map +1 -1
  21. package/dist/conductor/conductor-session.d.ts +5 -1
  22. package/dist/conductor/conductor-session.d.ts.map +1 -1
  23. package/dist/conductor/conductor-session.js +138 -32
  24. package/dist/conductor/conductor-session.js.map +1 -1
  25. package/dist/conductor/conductor-tool-pi-adapter.d.ts +13 -0
  26. package/dist/conductor/conductor-tool-pi-adapter.d.ts.map +1 -0
  27. package/dist/conductor/conductor-tool-pi-adapter.js +30 -0
  28. package/dist/conductor/conductor-tool-pi-adapter.js.map +1 -0
  29. package/dist/conductor/conductor-tool-sdk-adapter.d.ts +6 -0
  30. package/dist/conductor/conductor-tool-sdk-adapter.d.ts.map +1 -0
  31. package/dist/conductor/conductor-tool-sdk-adapter.js +16 -0
  32. package/dist/conductor/conductor-tool-sdk-adapter.js.map +1 -0
  33. package/dist/conductor/conductor-tool.d.ts +35 -0
  34. package/dist/conductor/conductor-tool.d.ts.map +1 -0
  35. package/dist/conductor/conductor-tool.js +41 -0
  36. package/dist/conductor/conductor-tool.js.map +1 -0
  37. package/dist/conductor/cursor-sdk-conductor-agent.d.ts +18 -0
  38. package/dist/conductor/cursor-sdk-conductor-agent.d.ts.map +1 -0
  39. package/dist/conductor/cursor-sdk-conductor-agent.js +134 -0
  40. package/dist/conductor/cursor-sdk-conductor-agent.js.map +1 -0
  41. package/dist/conductor/index.d.ts +21 -7
  42. package/dist/conductor/index.d.ts.map +1 -1
  43. package/dist/conductor/index.js +11 -4
  44. package/dist/conductor/index.js.map +1 -1
  45. package/dist/conductor/list-conductor-models.d.ts +7 -2
  46. package/dist/conductor/list-conductor-models.d.ts.map +1 -1
  47. package/dist/conductor/list-conductor-models.js +9 -1
  48. package/dist/conductor/list-conductor-models.js.map +1 -1
  49. package/dist/conductor/pi-conductor-agent.d.ts +47 -0
  50. package/dist/conductor/pi-conductor-agent.d.ts.map +1 -0
  51. package/dist/conductor/pi-conductor-agent.js +479 -0
  52. package/dist/conductor/pi-conductor-agent.js.map +1 -0
  53. package/dist/conductor/pi-conductor-session.d.ts +20 -0
  54. package/dist/conductor/pi-conductor-session.d.ts.map +1 -0
  55. package/dist/conductor/pi-conductor-session.js +60 -0
  56. package/dist/conductor/pi-conductor-session.js.map +1 -0
  57. package/dist/conductor/pi-mcp-bridge.d.ts +65 -0
  58. package/dist/conductor/pi-mcp-bridge.d.ts.map +1 -0
  59. package/dist/conductor/pi-mcp-bridge.js +259 -0
  60. package/dist/conductor/pi-mcp-bridge.js.map +1 -0
  61. package/dist/conductor/pi-resource-loader.d.ts +148 -0
  62. package/dist/conductor/pi-resource-loader.d.ts.map +1 -0
  63. package/dist/conductor/pi-resource-loader.js +675 -0
  64. package/dist/conductor/pi-resource-loader.js.map +1 -0
  65. package/dist/conductor/session/dispatch-hold.d.ts +14 -0
  66. package/dist/conductor/session/dispatch-hold.d.ts.map +1 -1
  67. package/dist/conductor/session/dispatch-hold.js +30 -0
  68. package/dist/conductor/session/dispatch-hold.js.map +1 -1
  69. package/dist/conductor/session/events/index.d.ts +1 -1
  70. package/dist/conductor/session/events/index.d.ts.map +1 -1
  71. package/dist/conductor/session/events/index.js.map +1 -1
  72. package/dist/conductor/session/events/session-log-event-groups.d.ts +2 -2
  73. package/dist/conductor/session/events/session-log-event-groups.d.ts.map +1 -1
  74. package/dist/conductor/session/events/session-log-event-groups.js +1 -0
  75. package/dist/conductor/session/events/session-log-event-groups.js.map +1 -1
  76. package/dist/conductor/session/events/session-log-event.d.ts +10 -1
  77. package/dist/conductor/session/events/session-log-event.d.ts.map +1 -1
  78. package/dist/conductor/session/format-session-event.js +3 -0
  79. package/dist/conductor/session/format-session-event.js.map +1 -1
  80. package/dist/conductor/session/session-logger.d.ts.map +1 -1
  81. package/dist/conductor/session/session-logger.js +1 -0
  82. package/dist/conductor/session/session-logger.js.map +1 -1
  83. package/dist/config/defaults.d.ts +2 -1
  84. package/dist/config/defaults.d.ts.map +1 -1
  85. package/dist/config/defaults.js +2 -0
  86. package/dist/config/defaults.js.map +1 -1
  87. package/dist/config/index.d.ts +3 -3
  88. package/dist/config/index.d.ts.map +1 -1
  89. package/dist/config/index.js +2 -2
  90. package/dist/config/index.js.map +1 -1
  91. package/dist/config/parse-config.d.ts.map +1 -1
  92. package/dist/config/parse-config.js +29 -1
  93. package/dist/config/parse-config.js.map +1 -1
  94. package/dist/config/resolve-settings.d.ts +25 -1
  95. package/dist/config/resolve-settings.d.ts.map +1 -1
  96. package/dist/config/resolve-settings.js +38 -1
  97. package/dist/config/resolve-settings.js.map +1 -1
  98. package/dist/config/types.d.ts +11 -0
  99. package/dist/config/types.d.ts.map +1 -1
  100. package/dist/dispatch/prompt-worker-tool.d.ts +2 -2
  101. package/dist/dispatch/prompt-worker-tool.d.ts.map +1 -1
  102. package/dist/dispatch/prompt-worker-tool.js +1 -0
  103. package/dist/dispatch/prompt-worker-tool.js.map +1 -1
  104. package/dist/dispatch/session-usage-tool.d.ts +2 -2
  105. package/dist/dispatch/session-usage-tool.d.ts.map +1 -1
  106. package/dist/dispatch/session-usage-tool.js +2 -0
  107. package/dist/dispatch/session-usage-tool.js.map +1 -1
  108. package/dist/dispatch/set-dispatch-hold-tool.d.ts +2 -2
  109. package/dist/dispatch/set-dispatch-hold-tool.d.ts.map +1 -1
  110. package/dist/dispatch/set-dispatch-hold-tool.js +1 -0
  111. package/dist/dispatch/set-dispatch-hold-tool.js.map +1 -1
  112. package/dist/dispatch/worker-status-tool.d.ts +2 -2
  113. package/dist/dispatch/worker-status-tool.d.ts.map +1 -1
  114. package/dist/dispatch/worker-status-tool.js +2 -0
  115. package/dist/dispatch/worker-status-tool.js.map +1 -1
  116. package/dist/dispatch/yaml-tool-result.d.ts +3 -9
  117. package/dist/dispatch/yaml-tool-result.d.ts.map +1 -1
  118. package/dist/dispatch/yaml-tool-result.js.map +1 -1
  119. package/dist/escalation/answer-open-question-tool.d.ts +2 -2
  120. package/dist/escalation/answer-open-question-tool.d.ts.map +1 -1
  121. package/dist/escalation/answer-open-question-tool.js +1 -0
  122. package/dist/escalation/answer-open-question-tool.js.map +1 -1
  123. package/dist/escalation/ask-human-tool.d.ts +2 -2
  124. package/dist/escalation/ask-human-tool.d.ts.map +1 -1
  125. package/dist/escalation/ask-human-tool.js +1 -0
  126. package/dist/escalation/ask-human-tool.js.map +1 -1
  127. package/dist/escalation/open-question-list-tools.d.ts +2 -2
  128. package/dist/escalation/open-question-list-tools.d.ts.map +1 -1
  129. package/dist/escalation/open-question-list-tools.js +2 -0
  130. package/dist/escalation/open-question-list-tools.js.map +1 -1
  131. package/dist/github/fetch-github-updates.d.ts +0 -6
  132. package/dist/github/fetch-github-updates.d.ts.map +1 -1
  133. package/dist/github/fetch-github-updates.js +119 -135
  134. package/dist/github/fetch-github-updates.js.map +1 -1
  135. package/dist/github/github-client.d.ts.map +1 -1
  136. package/dist/github/github-client.js +8 -0
  137. package/dist/github/github-client.js.map +1 -1
  138. package/dist/github/github-monitor-cursor.d.ts +36 -9
  139. package/dist/github/github-monitor-cursor.d.ts.map +1 -1
  140. package/dist/github/github-monitor-cursor.js +9 -19
  141. package/dist/github/github-monitor-cursor.js.map +1 -1
  142. package/dist/github/github-monitor.d.ts +2 -0
  143. package/dist/github/github-monitor.d.ts.map +1 -1
  144. package/dist/github/github-monitor.js +13 -0
  145. package/dist/github/github-monitor.js.map +1 -1
  146. package/dist/github/github-test-fixtures.d.ts +9 -0
  147. package/dist/github/github-test-fixtures.d.ts.map +1 -1
  148. package/dist/github/github-test-fixtures.js +6 -0
  149. package/dist/github/github-test-fixtures.js.map +1 -1
  150. package/dist/github/github-update-types.d.ts +11 -1
  151. package/dist/github/github-update-types.d.ts.map +1 -1
  152. package/dist/github/index.d.ts +4 -2
  153. package/dist/github/index.d.ts.map +1 -1
  154. package/dist/github/index.js +1 -0
  155. package/dist/github/index.js.map +1 -1
  156. package/dist/github/register-github-watch-tool.d.ts +7 -2
  157. package/dist/github/register-github-watch-tool.d.ts.map +1 -1
  158. package/dist/github/register-github-watch-tool.js +31 -24
  159. package/dist/github/register-github-watch-tool.js.map +1 -1
  160. package/dist/github/unregister-github-watch-tool.d.ts +11 -0
  161. package/dist/github/unregister-github-watch-tool.d.ts.map +1 -0
  162. package/dist/github/unregister-github-watch-tool.js +52 -0
  163. package/dist/github/unregister-github-watch-tool.js.map +1 -0
  164. package/dist/mcp/index.d.ts +2 -3
  165. package/dist/mcp/index.d.ts.map +1 -1
  166. package/dist/mcp/index.js +1 -1
  167. package/dist/mcp/index.js.map +1 -1
  168. package/dist/mcp/load-mcp-config.d.ts +29 -5
  169. package/dist/mcp/load-mcp-config.d.ts.map +1 -1
  170. package/dist/mcp/load-mcp-config.js +9 -2
  171. package/dist/mcp/load-mcp-config.js.map +1 -1
  172. package/dist/permission/resolve-permission-tool.d.ts +2 -2
  173. package/dist/permission/resolve-permission-tool.d.ts.map +1 -1
  174. package/dist/permission/resolve-permission-tool.js +1 -0
  175. package/dist/permission/resolve-permission-tool.js.map +1 -1
  176. package/dist/profile/index.d.ts +1 -1
  177. package/dist/profile/index.d.ts.map +1 -1
  178. package/dist/profile/index.js.map +1 -1
  179. package/dist/profile/load-profile.d.ts.map +1 -1
  180. package/dist/profile/load-profile.js +19 -0
  181. package/dist/profile/load-profile.js.map +1 -1
  182. package/dist/profile/types.d.ts +7 -0
  183. package/dist/profile/types.d.ts.map +1 -1
  184. package/dist/profile/types.js.map +1 -1
  185. package/dist/prompt/modules/ensemble/base-module.d.ts.map +1 -1
  186. package/dist/prompt/modules/ensemble/base-module.js +2 -1
  187. package/dist/prompt/modules/ensemble/base-module.js.map +1 -1
  188. package/dist/prompt/modules/ensemble/conductor-base-module.d.ts.map +1 -1
  189. package/dist/prompt/modules/ensemble/conductor-base-module.js +4 -1
  190. package/dist/prompt/modules/ensemble/conductor-base-module.js.map +1 -1
  191. package/dist/runtime/worker-session.d.ts +5 -0
  192. package/dist/runtime/worker-session.d.ts.map +1 -1
  193. package/dist/runtime/worker-session.js +5 -1
  194. package/dist/runtime/worker-session.js.map +1 -1
  195. package/dist/session/session-sidecar.d.ts +4 -0
  196. package/dist/session/session-sidecar.d.ts.map +1 -1
  197. package/dist/session/session-sidecar.js +16 -0
  198. package/dist/session/session-sidecar.js.map +1 -1
  199. package/dist/testing/mock-conductor-get-usage.d.ts +2 -1
  200. package/dist/testing/mock-conductor-get-usage.d.ts.map +1 -1
  201. package/dist/testing/mock-conductor-get-usage.js +1 -10
  202. package/dist/testing/mock-conductor-get-usage.js.map +1 -1
  203. package/dist/usage/enrich-session-usage-cost.d.ts +2 -2
  204. package/dist/usage/enrich-session-usage-cost.d.ts.map +1 -1
  205. package/dist/usage/session-usage-tracker.d.ts +2 -2
  206. package/dist/usage/session-usage-tracker.d.ts.map +1 -1
  207. package/dist/usage/session-usage-tracker.js +2 -2
  208. package/dist/usage/session-usage-tracker.js.map +1 -1
  209. package/dist/usage/types.d.ts +2 -2
  210. package/dist/usage/types.d.ts.map +1 -1
  211. package/dist/worktree/worktree.d.ts.map +1 -1
  212. package/dist/worktree/worktree.js +33 -16
  213. package/dist/worktree/worktree.js.map +1 -1
  214. package/package.json +5 -1
@@ -1 +1 @@
1
- {"version":3,"file":"list-conductor-models.d.ts","sourceRoot":"","sources":["../../src/conductor/list-conductor-models.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAG9E,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,yDAAyD;AACzD,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,aAAa,EAAE,CAAC,CAU1B"}
1
+ {"version":3,"file":"list-conductor-models.d.ts","sourceRoot":"","sources":["../../src/conductor/list-conductor-models.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,yDAAyD;AACzD,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAkB3F"}
@@ -1,7 +1,15 @@
1
1
  import { AuthenticationError, Cursor } from '@cursor/sdk';
2
- import { CONDUCTOR_AUTH_HINT, resolveConductorApiKey } from './conductor-auth.js';
2
+ import { CONDUCTOR_AUTH_HINT, resolveConductorApiKey, resolveConductorAuthBackend, } from './conductor-auth.js';
3
+ import { listPiConductorModels } from './conductor-pi-auth.js';
3
4
  /** `Cursor.models.list()` のラッパー。conductor と同じ認証解決を使う。 */
4
5
  export async function listConductorModels(options = {}) {
6
+ if (resolveConductorAuthBackend(options) === 'pi') {
7
+ return listPiConductorModels({
8
+ ...(options.pi ?? { cwd: process.cwd() }),
9
+ ...(options.provider ? { provider: options.provider } : {}),
10
+ ...(options.modelId ? { modelId: options.modelId } : {}),
11
+ });
12
+ }
5
13
  const apiKey = resolveConductorApiKey(options.apiKey);
6
14
  try {
7
15
  return await Cursor.models.list(apiKey !== undefined ? { apiKey } : {});
@@ -1 +1 @@
1
- {"version":3,"file":"list-conductor-models.js","sourceRoot":"","sources":["../../src/conductor/list-conductor-models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAsB,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAMlF,yDAAyD;AACzD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAAsC,EAAE;IAExC,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,OAAO,mBAAmB,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"list-conductor-models.js","sourceRoot":"","sources":["../../src/conductor/list-conductor-models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAsB,MAAM,aAAa,CAAC;AAC9E,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,GAE5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAM/D,yDAAyD;AACzD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAAsC,EAAE;IAExC,IAAI,2BAA2B,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAClD,OAAO,qBAAqB,CAAC;YAC3B,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;YACzC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,OAAO,mBAAmB,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { type Model } from '@earendil-works/pi-ai/compat';
2
+ import type { ConductorAgent, ConductorAgentCreateOptions, ConductorAgentFactory, ConductorAgentUsage, ConductorSendCallbacks, ConductorSendResult } from './conductor-agent.js';
3
+ import { type PiResourceLoaderOptions } from './pi-resource-loader.js';
4
+ export interface PiResolvedModel {
5
+ provider: string;
6
+ modelId: string;
7
+ model: Model<any>;
8
+ usesModelRegistry?: boolean;
9
+ apiKey?: string;
10
+ }
11
+ /** Resolve the Pi model/auth selection from the standard resource roots. */
12
+ export declare function resolvePiModelConfig(options: PiResourceLoaderOptions & {
13
+ modelId?: string;
14
+ apiKey?: string;
15
+ }): Promise<PiResolvedModel>;
16
+ /** Pi implementation of the backend-neutral conductor interface. */
17
+ export declare class PiConductorAgent implements ConductorAgent {
18
+ private readonly agent;
19
+ private readonly session;
20
+ private readonly mcpBridge;
21
+ private readonly resources;
22
+ readonly agentId: string;
23
+ private readonly modelId;
24
+ private readonly onStreamText?;
25
+ private readonly unsubscribe;
26
+ private activeSend?;
27
+ private closed;
28
+ private closePromise?;
29
+ private hasUsage;
30
+ private rawCostCents;
31
+ private chargedCents;
32
+ private constructor();
33
+ static create(options: ConductorAgentCreateOptions): Promise<PiConductorAgent>;
34
+ static resume(agentId: string, options: ConductorAgentCreateOptions): Promise<PiConductorAgent>;
35
+ send(prompt: string, callbacks?: ConductorSendCallbacks): Promise<ConductorSendResult>;
36
+ /** Pi's core agent has no reload operation; settings are loaded at create. */
37
+ reload(): Promise<void>;
38
+ getUsage(): Promise<ConductorAgentUsage>;
39
+ /** Resume recompiles and reinstalls the native system prompt on each run. */
40
+ setSystemPrompt(systemPrompt: string): Promise<void>;
41
+ close(): Promise<void>;
42
+ private handleEvent;
43
+ private recordUsage;
44
+ }
45
+ /** Create the Pi conductor backend factory. */
46
+ export declare function createPiConductorAgentFactory(): ConductorAgentFactory;
47
+ //# sourceMappingURL=pi-conductor-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi-conductor-agent.d.ts","sourceRoot":"","sources":["../../src/conductor/pi-conductor-agent.ts"],"names":[],"mappings":"AAOA,OAAO,EAKL,KAAK,KAAK,EACX,MAAM,8BAA8B,CAAC;AAKtC,OAAO,KAAK,EACV,cAAc,EACd,2BAA2B,EAC3B,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EAEpB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EASL,KAAK,uBAAuB,EAG7B,MAAM,yBAAyB,CAAC;AAYjC,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,4EAA4E;AAC5E,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,uBAAuB,GAAG;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACA,OAAO,CAAC,eAAe,CAAC,CAI1B;AAyDD,oEAAoE;AACpE,qBAAa,gBAAiB,YAAW,cAAc;IAUnD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS;aACV,OAAO,EAAE,MAAM;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAfhC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,UAAU,CAAC,CAAc;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAC,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,YAAY,CAAK;IAEzB,OAAO;WAYM,MAAM,CACjB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,gBAAgB,CAAC;WAkCf,MAAM,CACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,gBAAgB,CAAC;IAiCtB,IAAI,CACR,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,sBAAsB,GACjC,OAAO,CAAC,mBAAmB,CAAC;IAwD/B,8EAA8E;IACxE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAEvB,QAAQ,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAW9C,6EAA6E;IACvE,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAqBd,WAAW;IA+BzB,OAAO,CAAC,WAAW;CAKpB;AAED,+CAA+C;AAC/C,wBAAgB,6BAA6B,IAAI,qBAAqB,CAKrE"}
@@ -0,0 +1,479 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { Agent, } from '@earendil-works/pi-agent-core';
3
+ import { getModel, getModels, getProviders, } from '@earendil-works/pi-ai/compat';
4
+ import { createPiConductorAuthContext, resolvePiConductorApiKey, } from './conductor-pi-auth.js';
5
+ import { toPiAgentTools } from './conductor-tool-pi-adapter.js';
6
+ import { PiConductorSession } from './pi-conductor-session.js';
7
+ import { expandPiResourcePrompt, formatPiSkillsForPrompt, loadPiResources, } from './pi-resource-loader.js';
8
+ import { createPiMcpBridge, } from './pi-mcp-bridge.js';
9
+ /** Resolve the Pi model/auth selection from the standard resource roots. */
10
+ export async function resolvePiModelConfig(options) {
11
+ const resources = await loadPiResources(options);
12
+ const authContext = createPiConductorAuthContext(options);
13
+ return resolvePiModelConfigFromResources(options, resources, authContext);
14
+ }
15
+ async function resolvePiModelConfigFromResources(options, resources, authContext) {
16
+ const env = options.env ?? process.env;
17
+ const settings = resources.settings;
18
+ const selection = resolvePiModelSelection(options.modelId, settings, resources.models);
19
+ const providerConfig = resources.models.providers[selection.provider];
20
+ const projectProviderConfig = resources.modelsLayers.at(-1)?.providers[selection.provider];
21
+ const projectDefinesModel = projectProviderConfig?.models?.some((candidate) => candidate.id === selection.modelId);
22
+ const registryModel = projectDefinesModel
23
+ ? undefined
24
+ : authContext.modelRegistry.find(selection.provider, selection.modelId);
25
+ const apiKey = await resolvePiConductorApiKey({
26
+ authStorage: authContext.authStorage,
27
+ resources,
28
+ provider: selection.provider,
29
+ explicitApiKey: options.apiKey,
30
+ env,
31
+ });
32
+ const builtInModel = getModel(selection.provider, selection.modelId);
33
+ const model = resolvePiModel(selection.provider, selection.modelId, providerConfig, registryModel ?? builtInModel, registryModel);
34
+ if (!model) {
35
+ throw new Error(`Pi conductor model "${selection.provider}/${selection.modelId}" was not found in pi-ai or models.json. ` +
36
+ 'Set defaultProvider/defaultModel in Pi settings.json or pass a built-in provider/model id.');
37
+ }
38
+ return {
39
+ provider: selection.provider,
40
+ modelId: selection.modelId,
41
+ model: applyPiProviderRequestConfig(model, providerConfig, apiKey),
42
+ ...(registryModel ? { usesModelRegistry: true } : {}),
43
+ ...(apiKey !== undefined ? { apiKey } : {}),
44
+ };
45
+ }
46
+ /** Pi implementation of the backend-neutral conductor interface. */
47
+ export class PiConductorAgent {
48
+ agent;
49
+ session;
50
+ mcpBridge;
51
+ resources;
52
+ agentId;
53
+ modelId;
54
+ onStreamText;
55
+ unsubscribe;
56
+ activeSend;
57
+ closed = false;
58
+ closePromise;
59
+ hasUsage = false;
60
+ rawCostCents = 0;
61
+ chargedCents = 0;
62
+ constructor(agent, session, mcpBridge, resources, agentId, modelId, onStreamText) {
63
+ this.agent = agent;
64
+ this.session = session;
65
+ this.mcpBridge = mcpBridge;
66
+ this.resources = resources;
67
+ this.agentId = agentId;
68
+ this.modelId = modelId;
69
+ this.onStreamText = onStreamText;
70
+ this.unsubscribe = this.agent.subscribe((event) => this.handleEvent(event));
71
+ }
72
+ static async create(options) {
73
+ const agentId = randomUUID();
74
+ const resources = await loadPiResources(options);
75
+ const authContext = createPiConductorAuthContext(options);
76
+ const resolved = await resolvePiModelConfigFromResources(options, resources, authContext);
77
+ const session = await PiConductorSession.create(options.cwd, agentId);
78
+ const mcpBridge = await createPiMcpBridge(options.mcpServers, {
79
+ cwd: options.cwd,
80
+ });
81
+ try {
82
+ return new PiConductorAgent(createPiAgent(agentId, options, resolved, session.messages, mcpBridge, resources, authContext.authStorage, authContext.modelRegistry), session, mcpBridge, resources, agentId, resolved.modelId, options.onStreamText);
83
+ }
84
+ catch (error) {
85
+ await mcpBridge?.close();
86
+ throw error;
87
+ }
88
+ }
89
+ static async resume(agentId, options) {
90
+ const resources = await loadPiResources(options);
91
+ const authContext = createPiConductorAuthContext(options);
92
+ const resolved = await resolvePiModelConfigFromResources(options, resources, authContext);
93
+ const session = await PiConductorSession.resume(options.cwd, agentId);
94
+ const mcpBridge = await createPiMcpBridge(options.mcpServers, {
95
+ cwd: options.cwd,
96
+ });
97
+ try {
98
+ return new PiConductorAgent(createPiAgent(agentId, options, resolved, session.messages, mcpBridge, resources, authContext.authStorage, authContext.modelRegistry), session, mcpBridge, resources, agentId, resolved.modelId, options.onStreamText);
99
+ }
100
+ catch (error) {
101
+ await mcpBridge?.close();
102
+ throw error;
103
+ }
104
+ }
105
+ async send(prompt, callbacks) {
106
+ const runId = randomUUID();
107
+ if (this.closed) {
108
+ return {
109
+ runId,
110
+ status: 'error',
111
+ error: { message: 'Pi conductor agent is closed.' },
112
+ };
113
+ }
114
+ if (this.activeSend) {
115
+ return {
116
+ runId,
117
+ status: 'error',
118
+ error: { message: 'Pi conductor agent already has a send in progress.' },
119
+ };
120
+ }
121
+ const state = { runId, callbacks };
122
+ this.activeSend = state;
123
+ try {
124
+ await this.agent.prompt(expandPiResourcePrompt(prompt, this.resources));
125
+ }
126
+ catch (error) {
127
+ return {
128
+ runId,
129
+ status: 'error',
130
+ error: { message: errorMessage(error) },
131
+ modelId: this.modelId,
132
+ };
133
+ }
134
+ finally {
135
+ this.activeSend = undefined;
136
+ }
137
+ const finalMessage = state.finalMessage ?? lastAssistantMessage(this.agent.state.messages);
138
+ if (!finalMessage) {
139
+ return {
140
+ runId,
141
+ status: 'finished',
142
+ modelId: this.modelId,
143
+ };
144
+ }
145
+ this.recordUsage(finalMessage);
146
+ const status = statusFromStopReason(finalMessage.stopReason);
147
+ return {
148
+ runId,
149
+ status,
150
+ result: assistantText(finalMessage) || undefined,
151
+ ...(finalMessage.errorMessage
152
+ ? { error: { message: finalMessage.errorMessage } }
153
+ : {}),
154
+ usage: toConductorTokenUsage(finalMessage.usage),
155
+ modelId: finalMessage.model || this.modelId,
156
+ };
157
+ }
158
+ /** Pi's core agent has no reload operation; settings are loaded at create. */
159
+ async reload() { }
160
+ async getUsage() {
161
+ return this.hasUsage
162
+ ? {
163
+ cost: {
164
+ rawCostCents: this.rawCostCents,
165
+ chargedCents: this.chargedCents,
166
+ },
167
+ }
168
+ : {};
169
+ }
170
+ /** Resume recompiles and reinstalls the native system prompt on each run. */
171
+ async setSystemPrompt(systemPrompt) {
172
+ this.agent.state.systemPrompt = withPiSkills(systemPrompt, this.resources);
173
+ }
174
+ async close() {
175
+ if (this.closePromise) {
176
+ return this.closePromise;
177
+ }
178
+ this.closed = true;
179
+ this.closePromise = (async () => {
180
+ try {
181
+ this.agent.abort();
182
+ await this.agent.waitForIdle();
183
+ await this.session.appendNewMessages(this.agent.state.messages);
184
+ }
185
+ finally {
186
+ try {
187
+ this.unsubscribe();
188
+ }
189
+ finally {
190
+ await this.mcpBridge?.close();
191
+ }
192
+ }
193
+ })();
194
+ return this.closePromise;
195
+ }
196
+ async handleEvent(event) {
197
+ const activeSend = this.activeSend;
198
+ if (event.type === 'tool_execution_start') {
199
+ activeSend?.callbacks?.onToolCallStarted?.({
200
+ runId: activeSend.runId,
201
+ tool: event.toolName,
202
+ callId: event.toolCallId,
203
+ });
204
+ return;
205
+ }
206
+ if (event.type === 'message_update') {
207
+ if (event.assistantMessageEvent.type === 'text_delta') {
208
+ this.onStreamText?.(event.assistantMessageEvent.delta);
209
+ }
210
+ return;
211
+ }
212
+ if (event.type === 'agent_end' && activeSend) {
213
+ activeSend.finalMessage = lastAssistantMessage(event.messages);
214
+ }
215
+ if (event.type === 'agent_end') {
216
+ // Pi's failure/abort event can contain only the failure assistant while
217
+ // agent.state.messages already contains the user prompt and failure.
218
+ // Persist the full in-memory suffix so every run is written once in
219
+ // transcript order; close() uses the same serialized operation.
220
+ await this.session.appendNewMessages(this.agent.state.messages);
221
+ }
222
+ }
223
+ recordUsage(message) {
224
+ this.hasUsage = true;
225
+ this.rawCostCents += message.usage.cost.total * 100;
226
+ this.chargedCents += message.usage.cost.total * 100;
227
+ }
228
+ }
229
+ /** Create the Pi conductor backend factory. */
230
+ export function createPiConductorAgentFactory() {
231
+ return {
232
+ create: (options) => PiConductorAgent.create(options),
233
+ resume: (agentId, options) => PiConductorAgent.resume(agentId, options),
234
+ };
235
+ }
236
+ function createPiAgent(agentId, options, resolved, messages, mcpBridge, resources, authStorage, modelRegistry) {
237
+ const tools = uniquePiTools(options.customTools ? toPiAgentTools(options.customTools) : [], mcpBridge?.tools ?? [], resources.extensionTools);
238
+ return new Agent({
239
+ initialState: {
240
+ systemPrompt: withPiSkills(options.systemPrompt, resources),
241
+ model: resolved.model,
242
+ // Do not add Pi's built-in coding tools. Harness tools are the complete
243
+ // loadout; repository work is delegated to worker ACP sessions.
244
+ tools,
245
+ messages: [...messages],
246
+ },
247
+ sessionId: agentId,
248
+ getApiKey: async (provider) => {
249
+ const apiKey = await resolvePiConductorApiKey({
250
+ authStorage,
251
+ resources,
252
+ provider,
253
+ explicitApiKey: provider === resolved.provider ? options.apiKey : undefined,
254
+ });
255
+ if (!resolved.usesModelRegistry || provider !== resolved.provider) {
256
+ return apiKey;
257
+ }
258
+ let registryModel = modelRegistry.find(provider, resolved.modelId);
259
+ if (!registryModel)
260
+ return apiKey;
261
+ const requestAuth = await modelRegistry.getApiKeyAndHeaders(registryModel);
262
+ const projectProviderConfig = resources.modelsLayers.at(-1)?.providers[provider];
263
+ const headers = mergePiHeaders(resolved.model.headers, registryModel.headers, requestAuth.ok ? requestAuth.headers : undefined, projectProviderConfig?.headers);
264
+ const requestModel = {
265
+ ...resolved.model,
266
+ ...(projectProviderConfig?.baseUrl
267
+ ? { baseUrl: projectProviderConfig.baseUrl }
268
+ : registryModel.baseUrl
269
+ ? { baseUrl: registryModel.baseUrl }
270
+ : {}),
271
+ ...(registryModel.api ? { api: registryModel.api } : {}),
272
+ ...(Object.keys(headers).length > 0 ? { headers } : {}),
273
+ };
274
+ Object.assign(resolved.model, requestModel);
275
+ const registryApiKey = requestAuth.ok ? requestAuth.apiKey : undefined;
276
+ return apiKey ?? registryApiKey;
277
+ },
278
+ });
279
+ }
280
+ function uniquePiTools(...groups) {
281
+ const tools = new Map();
282
+ for (const group of groups) {
283
+ for (const tool of group) {
284
+ if (!tools.has(tool.name)) {
285
+ tools.set(tool.name, tool);
286
+ }
287
+ }
288
+ }
289
+ return [...tools.values()];
290
+ }
291
+ function withPiSkills(systemPrompt, resources) {
292
+ return `${systemPrompt}${formatPiSkillsForPrompt(resources.skills)}`;
293
+ }
294
+ function resolvePiModel(provider, modelId, providerConfig, builtInModel, registryModel) {
295
+ const definition = providerConfig?.models?.find((candidate) => candidate.id === modelId);
296
+ let model = registryModel ?? (definition && providerConfig
297
+ ? createPiModel(provider, providerConfig, definition)
298
+ : builtInModel);
299
+ if (!model)
300
+ return undefined;
301
+ const override = providerConfig?.modelOverrides?.[modelId];
302
+ if (providerConfig?.baseUrl || providerConfig?.compat) {
303
+ model = {
304
+ ...model,
305
+ ...(providerConfig.baseUrl ? { baseUrl: providerConfig.baseUrl } : {}),
306
+ ...(providerConfig.compat
307
+ ? { compat: mergePiObjects(model.compat, providerConfig.compat) }
308
+ : {}),
309
+ };
310
+ }
311
+ return override ? applyPiModelOverride(model, override) : model;
312
+ }
313
+ function createPiModel(provider, providerConfig, definition) {
314
+ const api = definition.api ?? providerConfig.api;
315
+ const baseUrl = definition.baseUrl ?? providerConfig.baseUrl;
316
+ if (!api || !baseUrl) {
317
+ throw new Error(`Pi models.json provider "${provider}" model "${definition.id}" requires api and baseUrl.`);
318
+ }
319
+ return {
320
+ id: definition.id,
321
+ name: definition.name ?? definition.id,
322
+ api,
323
+ provider,
324
+ baseUrl,
325
+ reasoning: definition.reasoning ?? false,
326
+ thinkingLevelMap: definition.thinkingLevelMap,
327
+ input: definition.input ?? ['text'],
328
+ cost: normalizePiModelCost(definition.cost),
329
+ contextWindow: definition.contextWindow ?? 128000,
330
+ maxTokens: definition.maxTokens ?? 16384,
331
+ headers: mergePiHeaders(providerConfig.headers, definition.headers),
332
+ compat: mergePiObjects(providerConfig.compat, definition.compat),
333
+ };
334
+ }
335
+ function applyPiModelOverride(model, override) {
336
+ return {
337
+ ...model,
338
+ ...(override.name !== undefined ? { name: override.name } : {}),
339
+ ...(override.reasoning !== undefined ? { reasoning: override.reasoning } : {}),
340
+ ...(override.thinkingLevelMap !== undefined
341
+ ? { thinkingLevelMap: { ...model.thinkingLevelMap, ...override.thinkingLevelMap } }
342
+ : {}),
343
+ ...(override.input !== undefined ? { input: override.input } : {}),
344
+ ...(override.cost !== undefined
345
+ ? { cost: normalizePiModelCost({ ...model.cost, ...override.cost }) }
346
+ : {}),
347
+ ...(override.contextWindow !== undefined ? { contextWindow: override.contextWindow } : {}),
348
+ ...(override.maxTokens !== undefined ? { maxTokens: override.maxTokens } : {}),
349
+ ...(override.headers !== undefined
350
+ ? { headers: mergePiHeaders(model.headers, override.headers) }
351
+ : {}),
352
+ ...(override.compat !== undefined
353
+ ? { compat: mergePiObjects(model.compat, override.compat) }
354
+ : {}),
355
+ };
356
+ }
357
+ function applyPiProviderRequestConfig(model, providerConfig, apiKey) {
358
+ if (!providerConfig)
359
+ return model;
360
+ const headers = mergePiHeaders(model.headers, providerConfig.headers);
361
+ if (providerConfig.authHeader && apiKey) {
362
+ headers.Authorization = `Bearer ${apiKey}`;
363
+ }
364
+ return Object.keys(headers).length > 0 ? { ...model, headers } : model;
365
+ }
366
+ function normalizePiModelCost(cost) {
367
+ const defaults = emptyPiModelCost();
368
+ return {
369
+ input: numberValue(cost?.input, defaults.input),
370
+ output: numberValue(cost?.output, defaults.output),
371
+ cacheRead: numberValue(cost?.cacheRead, defaults.cacheRead),
372
+ cacheWrite: numberValue(cost?.cacheWrite, defaults.cacheWrite),
373
+ ...(cost?.tiers ? { tiers: cost.tiers } : {}),
374
+ };
375
+ }
376
+ function emptyPiModelCost() {
377
+ return { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 };
378
+ }
379
+ function numberValue(value, fallback) {
380
+ return typeof value === 'number' && Number.isFinite(value) ? value : fallback;
381
+ }
382
+ function mergePiHeaders(...headers) {
383
+ return Object.assign({}, ...headers.filter((value) => Boolean(value)));
384
+ }
385
+ function mergePiObjects(...values) {
386
+ const merged = {};
387
+ for (const value of values) {
388
+ if (isRecord(value))
389
+ Object.assign(merged, value);
390
+ }
391
+ return merged;
392
+ }
393
+ function resolvePiModelSelection(requestedModelId, settings, models) {
394
+ const requested = normalizeConfiguredString(requestedModelId);
395
+ const configured = firstString(settings.defaultModel, settings.model, settings.modelId);
396
+ const selected = requested ?? configured;
397
+ let provider = normalizeConfiguredString(settings.defaultProvider);
398
+ let modelId = selected;
399
+ if (selected?.includes('/')) {
400
+ const slash = selected.indexOf('/');
401
+ provider = selected.slice(0, slash);
402
+ modelId = selected.slice(slash + 1);
403
+ }
404
+ if (!modelId) {
405
+ throw new Error('Pi conductor model is not configured. Set defaultProvider/defaultModel in Pi settings.json or pass modelId as provider/model.');
406
+ }
407
+ if (!provider) {
408
+ const candidates = new Set([...getProviders(), ...Object.keys(models.providers)]);
409
+ const matches = [...candidates].flatMap((candidate) => {
410
+ const builtInModels = getModels(candidate) ?? [];
411
+ const customModels = models.providers[candidate]?.models ?? [];
412
+ return builtInModels.some((model) => model.id === modelId) ||
413
+ customModels.some((model) => model.id === modelId)
414
+ ? [candidate]
415
+ : [];
416
+ });
417
+ if (matches.length === 1)
418
+ provider = matches[0];
419
+ }
420
+ if (!provider) {
421
+ throw new Error(`Pi conductor provider is not configured for model "${modelId}". Set defaultProvider in Pi settings.json or use provider/model.`);
422
+ }
423
+ return { provider, modelId };
424
+ }
425
+ function normalizeConfiguredString(value) {
426
+ if (typeof value !== 'string')
427
+ return undefined;
428
+ const normalized = value.trim();
429
+ if (!normalized || normalized === 'default' || normalized === 'auto') {
430
+ return undefined;
431
+ }
432
+ return normalized;
433
+ }
434
+ function firstString(...values) {
435
+ for (const value of values) {
436
+ const normalized = normalizeConfiguredString(value);
437
+ if (normalized)
438
+ return normalized;
439
+ }
440
+ return undefined;
441
+ }
442
+ function lastAssistantMessage(messages) {
443
+ for (let index = messages.length - 1; index >= 0; index -= 1) {
444
+ const message = messages[index];
445
+ if (message?.role === 'assistant') {
446
+ return message;
447
+ }
448
+ }
449
+ return undefined;
450
+ }
451
+ function assistantText(message) {
452
+ return message.content
453
+ .filter((content) => content.type === 'text')
454
+ .map((content) => content.text)
455
+ .join('');
456
+ }
457
+ function statusFromStopReason(stopReason) {
458
+ if (stopReason === 'error')
459
+ return 'error';
460
+ if (stopReason === 'aborted')
461
+ return 'cancelled';
462
+ return 'finished';
463
+ }
464
+ function toConductorTokenUsage(usage) {
465
+ return {
466
+ inputTokens: usage.input,
467
+ outputTokens: usage.output,
468
+ totalTokens: usage.totalTokens,
469
+ cacheReadTokens: usage.cacheRead,
470
+ cacheWriteTokens: usage.cacheWrite,
471
+ };
472
+ }
473
+ function isRecord(value) {
474
+ return Boolean(value) && typeof value === 'object' && !Array.isArray(value);
475
+ }
476
+ function errorMessage(error) {
477
+ return error instanceof Error ? error.message : String(error);
478
+ }
479
+ //# sourceMappingURL=pi-conductor-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi-conductor-agent.js","sourceRoot":"","sources":["../../src/conductor/pi-conductor-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { AgentMessage } from '@earendil-works/pi-agent-core/node';
2
+ /** Project-local Pi transcript storage used by the conductor backend. */
3
+ export declare const PI_SESSION_ROOT = ".ensemble/pi/sessions";
4
+ /**
5
+ * The Pi Agent Core `Agent` keeps its transcript in memory. This small adapter
6
+ * persists the same messages through Pi's JSONL session API so a new process
7
+ * can rebuild `Agent.state.messages` for `--resume`.
8
+ */
9
+ export declare class PiConductorSession {
10
+ private readonly session;
11
+ private persistedMessages;
12
+ private writeQueue;
13
+ private constructor();
14
+ static create(cwd: string, sessionId: string): Promise<PiConductorSession>;
15
+ static resume(cwd: string, sessionId: string): Promise<PiConductorSession>;
16
+ get messages(): readonly AgentMessage[];
17
+ /** Append only the suffix not already written to the JSONL transcript. */
18
+ appendNewMessages(messages: readonly AgentMessage[]): Promise<void>;
19
+ }
20
+ //# sourceMappingURL=pi-conductor-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi-conductor-session.d.ts","sourceRoot":"","sources":["../../src/conductor/pi-conductor-session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAW,MAAM,oCAAoC,CAAC;AAEhF,yEAAyE;AACzE,eAAO,MAAM,eAAe,0BAA0B,CAAC;AAEvD;;;;GAIG;AACH,qBAAa,kBAAkB;IAK3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,OAAO,CAAC,iBAAiB,CAAiB;IAC1C,OAAO,CAAC,UAAU,CAAoC;IAEtD,OAAO;WAOM,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;WAMnE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAiBhF,IAAI,QAAQ,IAAI,SAAS,YAAY,EAAE,CAEtC;IAED,0EAA0E;IACpE,iBAAiB,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAgB1E"}