pi-amq 0.1.1

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 (264) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/LICENSE +21 -0
  3. package/README.md +92 -0
  4. package/THIRD_PARTY_NOTICES.md +33 -0
  5. package/dist/extension/guidance.d.ts +25 -0
  6. package/dist/extension/guidance.d.ts.map +1 -0
  7. package/dist/extension/guidance.js +121 -0
  8. package/dist/extension/guidance.js.map +1 -0
  9. package/dist/extension/guide.d.ts +30 -0
  10. package/dist/extension/guide.d.ts.map +1 -0
  11. package/dist/extension/guide.js +128 -0
  12. package/dist/extension/guide.js.map +1 -0
  13. package/dist/extension/index.d.ts +4 -0
  14. package/dist/extension/index.d.ts.map +1 -0
  15. package/dist/extension/index.js +6 -0
  16. package/dist/extension/index.js.map +1 -0
  17. package/dist/extension/runtime.d.ts +48 -0
  18. package/dist/extension/runtime.d.ts.map +1 -0
  19. package/dist/extension/runtime.js +1095 -0
  20. package/dist/extension/runtime.js.map +1 -0
  21. package/dist/extension/tools.d.ts +12 -0
  22. package/dist/extension/tools.d.ts.map +1 -0
  23. package/dist/extension/tools.js +198 -0
  24. package/dist/extension/tools.js.map +1 -0
  25. package/dist/extension/worker-runtime.d.ts +34 -0
  26. package/dist/extension/worker-runtime.d.ts.map +1 -0
  27. package/dist/extension/worker-runtime.js +974 -0
  28. package/dist/extension/worker-runtime.js.map +1 -0
  29. package/dist/extension/worker-tools.d.ts +140 -0
  30. package/dist/extension/worker-tools.d.ts.map +1 -0
  31. package/dist/extension/worker-tools.js +217 -0
  32. package/dist/extension/worker-tools.js.map +1 -0
  33. package/dist/integration/confirmed-bind-onboarding.d.ts +44 -0
  34. package/dist/integration/confirmed-bind-onboarding.d.ts.map +1 -0
  35. package/dist/integration/confirmed-bind-onboarding.js +199 -0
  36. package/dist/integration/confirmed-bind-onboarding.js.map +1 -0
  37. package/dist/integration/fleet-view.d.ts +66 -0
  38. package/dist/integration/fleet-view.d.ts.map +1 -0
  39. package/dist/integration/fleet-view.js +238 -0
  40. package/dist/integration/fleet-view.js.map +1 -0
  41. package/dist/integration/fresh-session-dispatcher.d.ts +66 -0
  42. package/dist/integration/fresh-session-dispatcher.d.ts.map +1 -0
  43. package/dist/integration/fresh-session-dispatcher.js +103 -0
  44. package/dist/integration/fresh-session-dispatcher.js.map +1 -0
  45. package/dist/integration/launch-preview.d.ts +31 -0
  46. package/dist/integration/launch-preview.d.ts.map +1 -0
  47. package/dist/integration/launch-preview.js +325 -0
  48. package/dist/integration/launch-preview.js.map +1 -0
  49. package/dist/integration/transport-port.d.ts +39 -0
  50. package/dist/integration/transport-port.d.ts.map +1 -0
  51. package/dist/integration/transport-port.js +2 -0
  52. package/dist/integration/transport-port.js.map +1 -0
  53. package/dist/integration/worker-completion-notifier.d.ts +22 -0
  54. package/dist/integration/worker-completion-notifier.d.ts.map +1 -0
  55. package/dist/integration/worker-completion-notifier.js +81 -0
  56. package/dist/integration/worker-completion-notifier.js.map +1 -0
  57. package/dist/transport/amq-cli-adapter.d.ts +41 -0
  58. package/dist/transport/amq-cli-adapter.d.ts.map +1 -0
  59. package/dist/transport/amq-cli-adapter.js +291 -0
  60. package/dist/transport/amq-cli-adapter.js.map +1 -0
  61. package/dist/transport/amq-message.d.ts +47 -0
  62. package/dist/transport/amq-message.d.ts.map +1 -0
  63. package/dist/transport/amq-message.js +173 -0
  64. package/dist/transport/amq-message.js.map +1 -0
  65. package/dist/transport/amq-operations.d.ts +105 -0
  66. package/dist/transport/amq-operations.d.ts.map +1 -0
  67. package/dist/transport/amq-operations.js +320 -0
  68. package/dist/transport/amq-operations.js.map +1 -0
  69. package/dist/transport/atomic-json.d.ts +18 -0
  70. package/dist/transport/atomic-json.d.ts.map +1 -0
  71. package/dist/transport/atomic-json.js +90 -0
  72. package/dist/transport/atomic-json.js.map +1 -0
  73. package/dist/transport/binding-resolver.d.ts +46 -0
  74. package/dist/transport/binding-resolver.d.ts.map +1 -0
  75. package/dist/transport/binding-resolver.js +389 -0
  76. package/dist/transport/binding-resolver.js.map +1 -0
  77. package/dist/transport/bridge-journal.d.ts +100 -0
  78. package/dist/transport/bridge-journal.d.ts.map +1 -0
  79. package/dist/transport/bridge-journal.js +459 -0
  80. package/dist/transport/bridge-journal.js.map +1 -0
  81. package/dist/transport/dlq-retry-audit.d.ts +28 -0
  82. package/dist/transport/dlq-retry-audit.d.ts.map +1 -0
  83. package/dist/transport/dlq-retry-audit.js +66 -0
  84. package/dist/transport/dlq-retry-audit.js.map +1 -0
  85. package/dist/transport/inbox-pump.d.ts +81 -0
  86. package/dist/transport/inbox-pump.d.ts.map +1 -0
  87. package/dist/transport/inbox-pump.js +558 -0
  88. package/dist/transport/inbox-pump.js.map +1 -0
  89. package/dist/transport/index.d.ts +12 -0
  90. package/dist/transport/index.d.ts.map +1 -0
  91. package/dist/transport/index.js +12 -0
  92. package/dist/transport/index.js.map +1 -0
  93. package/dist/transport/presence-projector.d.ts +29 -0
  94. package/dist/transport/presence-projector.d.ts.map +1 -0
  95. package/dist/transport/presence-projector.js +73 -0
  96. package/dist/transport/presence-projector.js.map +1 -0
  97. package/dist/transport/priority-delivery-scheduler.d.ts +85 -0
  98. package/dist/transport/priority-delivery-scheduler.d.ts.map +1 -0
  99. package/dist/transport/priority-delivery-scheduler.js +210 -0
  100. package/dist/transport/priority-delivery-scheduler.js.map +1 -0
  101. package/dist/transport/receiver-lease.d.ts +102 -0
  102. package/dist/transport/receiver-lease.d.ts.map +1 -0
  103. package/dist/transport/receiver-lease.js +778 -0
  104. package/dist/transport/receiver-lease.js.map +1 -0
  105. package/dist/transport/runtime-status.d.ts +48 -0
  106. package/dist/transport/runtime-status.d.ts.map +1 -0
  107. package/dist/transport/runtime-status.js +71 -0
  108. package/dist/transport/runtime-status.js.map +1 -0
  109. package/dist/workflow/atomic-storage.d.ts +12 -0
  110. package/dist/workflow/atomic-storage.d.ts.map +1 -0
  111. package/dist/workflow/atomic-storage.js +104 -0
  112. package/dist/workflow/atomic-storage.js.map +1 -0
  113. package/dist/workflow/budget.d.ts +18 -0
  114. package/dist/workflow/budget.d.ts.map +1 -0
  115. package/dist/workflow/budget.js +74 -0
  116. package/dist/workflow/budget.js.map +1 -0
  117. package/dist/workflow/index.d.ts +17 -0
  118. package/dist/workflow/index.d.ts.map +1 -0
  119. package/dist/workflow/index.js +17 -0
  120. package/dist/workflow/index.js.map +1 -0
  121. package/dist/workflow/lifecycle-projection.d.ts +18 -0
  122. package/dist/workflow/lifecycle-projection.d.ts.map +1 -0
  123. package/dist/workflow/lifecycle-projection.js +22 -0
  124. package/dist/workflow/lifecycle-projection.js.map +1 -0
  125. package/dist/workflow/model-fallback.d.ts +2 -0
  126. package/dist/workflow/model-fallback.d.ts.map +1 -0
  127. package/dist/workflow/model-fallback.js +17 -0
  128. package/dist/workflow/model-fallback.js.map +1 -0
  129. package/dist/workflow/pi-session-fork.d.ts +18 -0
  130. package/dist/workflow/pi-session-fork.d.ts.map +1 -0
  131. package/dist/workflow/pi-session-fork.js +80 -0
  132. package/dist/workflow/pi-session-fork.js.map +1 -0
  133. package/dist/workflow/run-artifacts.d.ts +5 -0
  134. package/dist/workflow/run-artifacts.d.ts.map +1 -0
  135. package/dist/workflow/run-artifacts.js +25 -0
  136. package/dist/workflow/run-artifacts.js.map +1 -0
  137. package/dist/workflow/run-cleanup.d.ts +70 -0
  138. package/dist/workflow/run-cleanup.d.ts.map +1 -0
  139. package/dist/workflow/run-cleanup.js +222 -0
  140. package/dist/workflow/run-cleanup.js.map +1 -0
  141. package/dist/workflow/run-gate.d.ts +43 -0
  142. package/dist/workflow/run-gate.d.ts.map +1 -0
  143. package/dist/workflow/run-gate.js +70 -0
  144. package/dist/workflow/run-gate.js.map +1 -0
  145. package/dist/workflow/run-store.d.ts +208 -0
  146. package/dist/workflow/run-store.d.ts.map +1 -0
  147. package/dist/workflow/run-store.js +2965 -0
  148. package/dist/workflow/run-store.js.map +1 -0
  149. package/dist/workflow/spawn-confirmation.d.ts +44 -0
  150. package/dist/workflow/spawn-confirmation.d.ts.map +1 -0
  151. package/dist/workflow/spawn-confirmation.js +228 -0
  152. package/dist/workflow/spawn-confirmation.js.map +1 -0
  153. package/dist/workflow/system-process-inspector.d.ts +9 -0
  154. package/dist/workflow/system-process-inspector.d.ts.map +1 -0
  155. package/dist/workflow/system-process-inspector.js +129 -0
  156. package/dist/workflow/system-process-inspector.js.map +1 -0
  157. package/dist/workflow/worker-child-extension.d.ts +3 -0
  158. package/dist/workflow/worker-child-extension.d.ts.map +1 -0
  159. package/dist/workflow/worker-child-extension.js +182 -0
  160. package/dist/workflow/worker-child-extension.js.map +1 -0
  161. package/dist/workflow/worker-gate.d.ts +74 -0
  162. package/dist/workflow/worker-gate.d.ts.map +1 -0
  163. package/dist/workflow/worker-gate.js +165 -0
  164. package/dist/workflow/worker-gate.js.map +1 -0
  165. package/dist/workflow/worker-launch.d.ts +65 -0
  166. package/dist/workflow/worker-launch.d.ts.map +1 -0
  167. package/dist/workflow/worker-launch.js +338 -0
  168. package/dist/workflow/worker-launch.js.map +1 -0
  169. package/dist/workflow/worker-model-catalog.d.ts +36 -0
  170. package/dist/workflow/worker-model-catalog.d.ts.map +1 -0
  171. package/dist/workflow/worker-model-catalog.js +105 -0
  172. package/dist/workflow/worker-model-catalog.js.map +1 -0
  173. package/dist/workflow/worker-process-supervisor.d.ts +110 -0
  174. package/dist/workflow/worker-process-supervisor.d.ts.map +1 -0
  175. package/dist/workflow/worker-process-supervisor.js +1188 -0
  176. package/dist/workflow/worker-process-supervisor.js.map +1 -0
  177. package/dist/workflow/worker-prompt-capsule.d.ts +32 -0
  178. package/dist/workflow/worker-prompt-capsule.d.ts.map +1 -0
  179. package/dist/workflow/worker-prompt-capsule.js +52 -0
  180. package/dist/workflow/worker-prompt-capsule.js.map +1 -0
  181. package/dist/workflow/worker-role-presets.d.ts +38 -0
  182. package/dist/workflow/worker-role-presets.d.ts.map +1 -0
  183. package/dist/workflow/worker-role-presets.js +201 -0
  184. package/dist/workflow/worker-role-presets.js.map +1 -0
  185. package/dist/workflow/workflow-doctor.d.ts +57 -0
  186. package/dist/workflow/workflow-doctor.d.ts.map +1 -0
  187. package/dist/workflow/workflow-doctor.js +289 -0
  188. package/dist/workflow/workflow-doctor.js.map +1 -0
  189. package/dist/workflow/workflow-lease.d.ts +125 -0
  190. package/dist/workflow/workflow-lease.d.ts.map +1 -0
  191. package/dist/workflow/workflow-lease.js +689 -0
  192. package/dist/workflow/workflow-lease.js.map +1 -0
  193. package/dist/workflow/workflow-types.d.ts +335 -0
  194. package/dist/workflow/workflow-types.d.ts.map +1 -0
  195. package/dist/workflow/workflow-types.js +11 -0
  196. package/dist/workflow/workflow-types.js.map +1 -0
  197. package/dist/workflow/workspace-paths.d.ts +4 -0
  198. package/dist/workflow/workspace-paths.d.ts.map +1 -0
  199. package/dist/workflow/workspace-paths.js +22 -0
  200. package/dist/workflow/workspace-paths.js.map +1 -0
  201. package/docs/conformance.md +116 -0
  202. package/docs/demo-transcript.md +34 -0
  203. package/docs/design.md +1481 -0
  204. package/docs/operator-guide.md +100 -0
  205. package/extension/guidance.ts +162 -0
  206. package/extension/guide.ts +155 -0
  207. package/extension/index.ts +8 -0
  208. package/extension/runtime.ts +1224 -0
  209. package/extension/tools.ts +221 -0
  210. package/extension/worker-runtime.ts +1150 -0
  211. package/extension/worker-tools.ts +276 -0
  212. package/integration/confirmed-bind-onboarding.ts +296 -0
  213. package/integration/fleet-view.ts +286 -0
  214. package/integration/fresh-session-dispatcher.ts +166 -0
  215. package/integration/launch-preview.ts +396 -0
  216. package/integration/transport-port.ts +29 -0
  217. package/integration/worker-completion-notifier.ts +98 -0
  218. package/package.json +55 -0
  219. package/roles/oracle.md +9 -0
  220. package/roles/researcher.md +8 -0
  221. package/roles/reviewer.md +9 -0
  222. package/roles/scout.md +8 -0
  223. package/roles/worker.md +10 -0
  224. package/scripts/demo-two-terminal.sh +59 -0
  225. package/skills/coordination-patterns/SKILL.md +41 -0
  226. package/skills/coordination-patterns/references/supervised-worker-fan-out.md +12 -0
  227. package/skills/coordination-patterns/references/today-mail-team.md +36 -0
  228. package/transport/amq-cli-adapter.ts +381 -0
  229. package/transport/amq-message.ts +218 -0
  230. package/transport/amq-operations.ts +482 -0
  231. package/transport/atomic-json.ts +115 -0
  232. package/transport/binding-resolver.ts +565 -0
  233. package/transport/bridge-journal.ts +588 -0
  234. package/transport/dlq-retry-audit.ts +97 -0
  235. package/transport/inbox-pump.ts +729 -0
  236. package/transport/index.ts +11 -0
  237. package/transport/presence-projector.ts +104 -0
  238. package/transport/priority-delivery-scheduler.ts +328 -0
  239. package/transport/receiver-lease.ts +945 -0
  240. package/transport/runtime-status.ts +112 -0
  241. package/workflow/.gitkeep +1 -0
  242. package/workflow/atomic-storage.ts +120 -0
  243. package/workflow/budget.ts +90 -0
  244. package/workflow/index.ts +16 -0
  245. package/workflow/lifecycle-projection.ts +37 -0
  246. package/workflow/model-fallback.ts +17 -0
  247. package/workflow/pi-session-fork.ts +96 -0
  248. package/workflow/run-artifacts.ts +36 -0
  249. package/workflow/run-cleanup.ts +315 -0
  250. package/workflow/run-gate.ts +122 -0
  251. package/workflow/run-store.ts +3890 -0
  252. package/workflow/spawn-confirmation.ts +305 -0
  253. package/workflow/system-process-inspector.ts +142 -0
  254. package/workflow/worker-child-extension.ts +193 -0
  255. package/workflow/worker-gate.ts +238 -0
  256. package/workflow/worker-launch.ts +485 -0
  257. package/workflow/worker-model-catalog.ts +165 -0
  258. package/workflow/worker-process-supervisor.ts +1504 -0
  259. package/workflow/worker-prompt-capsule.ts +81 -0
  260. package/workflow/worker-role-presets.ts +241 -0
  261. package/workflow/workflow-doctor.ts +400 -0
  262. package/workflow/workflow-lease.ts +905 -0
  263. package/workflow/workflow-types.ts +367 -0
  264. package/workflow/workspace-paths.ts +32 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../extension/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
+ import type { AmqOperations } from "../transport/amq-operations.js";
3
+ export declare const MUTATING_AMQ_TOOLS: readonly ["amq_send", "amq_reply", "amq_get_message", "amq_set_status"];
4
+ export declare const NON_CONSUMING_AMQ_TOOLS: readonly ["amq_inbox", "amq_thread", "amq_receipts", "amq_presence_list", "amq_dlq_list", "amq_dlq_read"];
5
+ export declare const ALL_AMQ_TOOLS: readonly ["amq_send", "amq_reply", "amq_get_message", "amq_set_status", "amq_inbox", "amq_thread", "amq_receipts", "amq_presence_list", "amq_dlq_list", "amq_dlq_read"];
6
+ export interface AmqToolProvider {
7
+ operations(): AmqOperations | undefined;
8
+ canConsume(): boolean;
9
+ canSetPresence(): boolean;
10
+ }
11
+ export declare function registerAmqTools(pi: ExtensionAPI, provider: AmqToolProvider): void;
12
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../extension/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAGrF,OAAO,KAAK,EAAE,aAAa,EAAsB,MAAM,gCAAgC,CAAC;AAExF,eAAO,MAAM,kBAAkB,yEAA0E,CAAC;AAC1G,eAAO,MAAM,uBAAuB,2GAO1B,CAAC;AACX,eAAO,MAAM,aAAa,yKAA+D,CAAC;AAE1F,MAAM,WAAW,eAAe;IAC9B,UAAU,IAAI,aAAa,GAAG,SAAS,CAAC;IACxC,UAAU,IAAI,OAAO,CAAC;IACtB,cAAc,IAAI,OAAO,CAAC;CAC3B;AAiBD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CA0JlF"}
@@ -0,0 +1,198 @@
1
+ import { Type } from "typebox";
2
+ export const MUTATING_AMQ_TOOLS = ["amq_send", "amq_reply", "amq_get_message", "amq_set_status"];
3
+ export const NON_CONSUMING_AMQ_TOOLS = [
4
+ "amq_inbox",
5
+ "amq_thread",
6
+ "amq_receipts",
7
+ "amq_presence_list",
8
+ "amq_dlq_list",
9
+ "amq_dlq_read",
10
+ ];
11
+ export const ALL_AMQ_TOOLS = [...MUTATING_AMQ_TOOLS, ...NON_CONSUMING_AMQ_TOOLS];
12
+ const Priority = Type.Union([
13
+ Type.Literal("urgent"),
14
+ Type.Literal("normal"),
15
+ Type.Literal("low"),
16
+ ]);
17
+ const Kind = Type.Union([
18
+ Type.Literal("brainstorm"), Type.Literal("review_request"), Type.Literal("review_response"),
19
+ Type.Literal("question"), Type.Literal("answer"), Type.Literal("decision"),
20
+ Type.Literal("status"), Type.Literal("todo"),
21
+ ]);
22
+ const PresenceStatus = Type.Union([
23
+ Type.Literal("idle"), Type.Literal("busy"), Type.Literal("paused"), Type.Literal("offline"),
24
+ ]);
25
+ const Context = Type.Record(Type.String(), Type.Unknown());
26
+ export function registerAmqTools(pi, provider) {
27
+ pi.registerTool({
28
+ name: "amq_send",
29
+ label: "AMQ Send",
30
+ description: "Send one AMQ message to explicit recipients. Never retries an uncertain send.",
31
+ promptSnippet: "Send AMQ mail to explicit recipients",
32
+ parameters: Type.Object({
33
+ to: Type.Array(Type.String(), { minItems: 1, maxItems: 32 }),
34
+ body: Type.String(),
35
+ subject: Type.Optional(Type.String()),
36
+ kind: Type.Optional(Kind),
37
+ priority: Type.Optional(Priority),
38
+ labels: Type.Optional(Type.Array(Type.String(), { maxItems: 32 })),
39
+ context: Type.Optional(Context),
40
+ thread: Type.Optional(Type.String()),
41
+ project: Type.Optional(Type.String()),
42
+ session: Type.Optional(Type.String()),
43
+ wait_for_drained: Type.Optional(Type.Boolean()),
44
+ wait_timeout: Type.Optional(Type.String()),
45
+ }),
46
+ async execute(_id, params, signal) {
47
+ return execute(provider, (operations) => operations.send({
48
+ to: params.to,
49
+ body: params.body,
50
+ ...(params.subject ? { subject: params.subject } : {}),
51
+ ...(params.kind ? { kind: params.kind } : {}),
52
+ ...(params.priority ? { priority: params.priority } : {}),
53
+ ...(params.labels ? { labels: params.labels } : {}),
54
+ ...(params.context ? { context: params.context } : {}),
55
+ ...(params.thread ? { thread: params.thread } : {}),
56
+ ...(params.project ? { project: params.project } : {}),
57
+ ...(params.session ? { session: params.session } : {}),
58
+ ...(params.wait_for_drained !== undefined ? { waitForDrained: params.wait_for_drained } : {}),
59
+ ...(params.wait_timeout ? { waitTimeout: params.wait_timeout } : {}),
60
+ }, signal));
61
+ },
62
+ });
63
+ pi.registerTool({
64
+ name: "amq_reply",
65
+ label: "AMQ Reply",
66
+ description: "Reply using the immutable original AMQ message ID; AMQ owns recipients and thread routing.",
67
+ promptSnippet: "Reply through an exact AMQ message ID",
68
+ parameters: Type.Object({
69
+ id: Type.String(), body: Type.String(), subject: Type.Optional(Type.String()),
70
+ kind: Type.Optional(Kind), priority: Type.Optional(Priority),
71
+ labels: Type.Optional(Type.Array(Type.String(), { maxItems: 32 })),
72
+ context: Type.Optional(Context), wait_for_drained: Type.Optional(Type.Boolean()),
73
+ wait_timeout: Type.Optional(Type.String()),
74
+ }),
75
+ async execute(_id, params, signal) {
76
+ return execute(provider, (operations) => operations.reply({
77
+ id: params.id, body: params.body,
78
+ ...(params.subject ? { subject: params.subject } : {}),
79
+ ...(params.kind ? { kind: params.kind } : {}),
80
+ ...(params.priority ? { priority: params.priority } : {}),
81
+ ...(params.labels ? { labels: params.labels } : {}),
82
+ ...(params.context ? { context: params.context } : {}),
83
+ ...(params.wait_for_drained !== undefined ? { waitForDrained: params.wait_for_drained } : {}),
84
+ ...(params.wait_timeout ? { waitTimeout: params.wait_timeout } : {}),
85
+ }, signal));
86
+ },
87
+ });
88
+ pi.registerTool({
89
+ name: "amq_inbox", label: "AMQ Inbox",
90
+ description: "List bounded AMQ new or cur message headers without exposing queue paths.",
91
+ parameters: Type.Object({
92
+ box: Type.Optional(Type.Union([Type.Literal("new"), Type.Literal("cur")])),
93
+ from: Type.Optional(Type.String()), kind: Type.Optional(Kind), priority: Type.Optional(Priority),
94
+ labels: Type.Optional(Type.Array(Type.String(), { maxItems: 32 })),
95
+ limit: Type.Optional(Type.Integer({ minimum: 1, maximum: 100 })),
96
+ offset: Type.Optional(Type.Integer({ minimum: 0 })),
97
+ }),
98
+ async execute(_id, params, signal) {
99
+ return execute(provider, (operations) => operations.inbox(params, signal));
100
+ },
101
+ });
102
+ pi.registerTool({
103
+ name: "amq_get_message", label: "AMQ Get Message",
104
+ description: "Retrieve a bounded UTF-8 body slice by exact ID; new mail is claimed only through the receiver.",
105
+ parameters: Type.Object({
106
+ id: Type.String(), offset_bytes: Type.Optional(Type.Integer({ minimum: 0 })),
107
+ maximum_bytes: Type.Optional(Type.Integer({ minimum: 1, maximum: 24576 })),
108
+ }),
109
+ async execute(_id, params, signal) {
110
+ if (!provider.canConsume())
111
+ return unavailable("amq_get_message requires the active receiver lease");
112
+ return execute(provider, (operations) => operations.getMessage({
113
+ id: params.id,
114
+ ...(params.offset_bytes !== undefined ? { offsetBytes: params.offset_bytes } : {}),
115
+ ...(params.maximum_bytes !== undefined ? { maximumBytes: params.maximum_bytes } : {}),
116
+ }, signal));
117
+ },
118
+ });
119
+ pi.registerTool({
120
+ name: "amq_thread", label: "AMQ Thread",
121
+ description: "Read a bounded AMQ thread projection.",
122
+ parameters: Type.Object({ id: Type.String(), limit: Type.Optional(Type.Integer({ minimum: 1, maximum: 100 })) }),
123
+ async execute(_id, params, signal) {
124
+ return execute(provider, (operations) => operations.thread(params.id, params.limit, signal));
125
+ },
126
+ });
127
+ pi.registerTool({
128
+ name: "amq_receipts", label: "AMQ Receipts",
129
+ description: "List or wait for drained/DLQ receipt evidence without resending.",
130
+ parameters: Type.Object({
131
+ message_id: Type.String(), wait: Type.Optional(Type.Boolean()),
132
+ stage: Type.Optional(Type.Union([Type.Literal("drained"), Type.Literal("dlq")])),
133
+ timeout: Type.Optional(Type.String()),
134
+ }),
135
+ async execute(_id, params, signal) {
136
+ return execute(provider, (operations) => operations.receipts(params.message_id, params, signal));
137
+ },
138
+ });
139
+ pi.registerTool({
140
+ name: "amq_presence_list", label: "AMQ Presence",
141
+ description: "Inspect advisory AMQ roster presence.",
142
+ parameters: Type.Object({}),
143
+ async execute(_id, _params, signal) {
144
+ return execute(provider, (operations) => operations.presenceList(signal));
145
+ },
146
+ });
147
+ pi.registerTool({
148
+ name: "amq_set_status", label: "AMQ Set Status",
149
+ description: "Set this receiving handle's advisory presence status and note.",
150
+ parameters: Type.Object({ status: PresenceStatus, note: Type.Optional(Type.String()) }),
151
+ async execute(_id, params, signal) {
152
+ if (!provider.canSetPresence())
153
+ return unavailable("amq_set_status is disabled outside the owning receiver");
154
+ return execute(provider, (operations) => operations.setStatus(params.status, params.note, signal));
155
+ },
156
+ });
157
+ pi.registerTool({
158
+ name: "amq_dlq_list", label: "AMQ DLQ",
159
+ description: "List bounded AMQ dead-letter diagnostics; does not purge or retry.",
160
+ parameters: Type.Object({ limit: Type.Optional(Type.Integer({ minimum: 1, maximum: 100 })) }),
161
+ async execute(_id, params, signal) {
162
+ return execute(provider, (operations) => operations.dlqList(params.limit, signal));
163
+ },
164
+ });
165
+ pi.registerTool({
166
+ name: "amq_dlq_read", label: "AMQ DLQ Read",
167
+ description: "Read one bounded AMQ dead-letter diagnostic; does not purge or retry.",
168
+ parameters: Type.Object({ id: Type.String() }),
169
+ async execute(_id, params, signal) {
170
+ return execute(provider, (operations) => operations.dlqRead(params.id, signal));
171
+ },
172
+ });
173
+ }
174
+ async function execute(provider, operation) {
175
+ const operations = provider.operations();
176
+ if (!operations)
177
+ return unavailable("pi-amq is dormant; use /amq bind");
178
+ try {
179
+ const result = await operation(operations);
180
+ return result.ok ? rendered(result.value) : rendered({ error: result.error });
181
+ }
182
+ catch (error) {
183
+ return rendered({ error: { category: "extension", message: toError(error).message } });
184
+ }
185
+ }
186
+ function unavailable(message) {
187
+ return rendered({ error: { category: "unavailable", message } });
188
+ }
189
+ function rendered(details) {
190
+ return {
191
+ content: [{ type: "text", text: JSON.stringify(details, null, 2) }],
192
+ details,
193
+ };
194
+ }
195
+ function toError(error) {
196
+ return error instanceof Error ? error : new Error(String(error));
197
+ }
198
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../extension/tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import type { ExtensionContext } from "@earendil-works/pi-coding-agent";
2
+ import type { FleetAgentRecord } from "../integration/fleet-view.js";
3
+ import { type WorkerNotice } from "../integration/worker-completion-notifier.js";
4
+ import { type WorkerLifecycleProjectionV1 } from "../workflow/lifecycle-projection.js";
5
+ import type { RunProjectionV2, WorkerProjection } from "../workflow/workflow-types.js";
6
+ import type { CancelWorkerToolParameters, CollectWorkerToolParameters, CleanupRunsToolParameters, ListWorkersToolParameters, ReviseContractToolParameters, SpawnWorkerToolParameters, SteerWorkerToolParameters, WorkerToolProvider } from "./worker-tools.js";
7
+ export declare class PiWorkerRuntime implements WorkerToolProvider {
8
+ #private;
9
+ constructor(publishFleet?: (records: readonly FleetAgentRecord[]) => void, unlimitedDeclaration?: () => unknown, publishLifecycle?: (projection: WorkerLifecycleProjectionV1) => Promise<void>, publishNotice?: (notice: WorkerNotice) => void);
10
+ start(ctx: ExtensionContext): Promise<void>;
11
+ shutdown(): Promise<void>;
12
+ refreshGuidance(ctx: ExtensionContext): Promise<void>;
13
+ appendGuidance(systemPrompt: string): string;
14
+ spawn(params: SpawnWorkerToolParameters, signal: AbortSignal | undefined, ctx: ExtensionContext): Promise<unknown>;
15
+ list(params: ListWorkersToolParameters, _ctx: ExtensionContext): Promise<unknown>;
16
+ collect(params: CollectWorkerToolParameters, signal: AbortSignal | undefined, ctx: ExtensionContext): Promise<unknown>;
17
+ cancel(params: CancelWorkerToolParameters, _signal: AbortSignal | undefined, _ctx: ExtensionContext): Promise<unknown>;
18
+ steer(params: SteerWorkerToolParameters, _signal: AbortSignal | undefined, _ctx: ExtensionContext): Promise<unknown>;
19
+ reviseContract(params: ReviseContractToolParameters, _signal: AbortSignal | undefined, _ctx: ExtensionContext): Promise<unknown>;
20
+ cleanupRuns(params: CleanupRunsToolParameters, _signal: AbortSignal | undefined, ctx: Pick<ExtensionContext, "mode" | "hasUI" | "ui">): Promise<unknown>;
21
+ doctorWorkflow(_signal: AbortSignal | undefined, _ctx: Pick<ExtensionContext, "mode">): Promise<unknown>;
22
+ canReplaceSession(): Promise<boolean>;
23
+ steerFromFleet(workerId: string, generation: string, message: string): Promise<void>;
24
+ cancelFromFleet(workerId: string, generation: string): Promise<void>;
25
+ }
26
+ export declare function projectFleetRecords(run: RunProjectionV2): readonly FleetAgentRecord[];
27
+ export declare function canReplaceWorkerRun(run: RunProjectionV2): boolean;
28
+ declare const RUN_BUDGET_DIMENSIONS: readonly ["workers", "concurrency", "depth", "attempts", "wall-clock", "tokens", "cost", "output"];
29
+ type RunBudgetDimension = (typeof RUN_BUDGET_DIMENSIONS)[number];
30
+ export declare function parseUnlimitedBudgetDimensions(value: unknown): readonly RunBudgetDimension[];
31
+ export declare function confirmedRunBudget(ctx: ExtensionContext, declaration: unknown): Promise<import("../workflow/workflow-types.js").RunBudget>;
32
+ export declare function projectWorkerForTools(worker: WorkerProjection): unknown;
33
+ export {};
34
+ //# sourceMappingURL=worker-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-runtime.d.ts","sourceRoot":"","sources":["../../extension/worker-runtime.ts"],"names":[],"mappings":"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"}