@action-llama/action-llama 0.26.10 → 0.26.11

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 (153) hide show
  1. package/dist/agents/bash-prefix.d.ts +1 -1
  2. package/dist/agents/bash-prefix.js +2 -2
  3. package/dist/agents/container-entry.d.ts.map +1 -1
  4. package/dist/agents/container-entry.js +12 -16
  5. package/dist/agents/container-entry.js.map +1 -1
  6. package/dist/agents/credential-setup.d.ts +1 -0
  7. package/dist/agents/credential-setup.d.ts.map +1 -1
  8. package/dist/agents/credential-setup.js +21 -0
  9. package/dist/agents/credential-setup.js.map +1 -1
  10. package/dist/agents/harness/claude-cli-harness.d.ts +15 -0
  11. package/dist/agents/harness/claude-cli-harness.d.ts.map +1 -0
  12. package/dist/agents/harness/claude-cli-harness.js +229 -0
  13. package/dist/agents/harness/claude-cli-harness.js.map +1 -0
  14. package/dist/agents/harness/consumer.d.ts +15 -0
  15. package/dist/agents/harness/consumer.d.ts.map +1 -0
  16. package/dist/agents/harness/consumer.js +115 -0
  17. package/dist/agents/harness/consumer.js.map +1 -0
  18. package/dist/agents/harness/factory.d.ts +9 -0
  19. package/dist/agents/harness/factory.d.ts.map +1 -0
  20. package/dist/agents/harness/factory.js +25 -0
  21. package/dist/agents/harness/factory.js.map +1 -0
  22. package/dist/agents/harness/index.d.ts +9 -0
  23. package/dist/agents/harness/index.d.ts.map +1 -0
  24. package/dist/agents/harness/index.js +5 -0
  25. package/dist/agents/harness/index.js.map +1 -0
  26. package/dist/agents/harness/pi-harness.d.ts +18 -0
  27. package/dist/agents/harness/pi-harness.d.ts.map +1 -0
  28. package/dist/agents/harness/pi-harness.js +203 -0
  29. package/dist/agents/harness/pi-harness.js.map +1 -0
  30. package/dist/agents/harness/types.d.ts +54 -0
  31. package/dist/agents/harness/types.d.ts.map +1 -0
  32. package/dist/agents/harness/types.js +2 -0
  33. package/dist/{chat → agents/harness}/types.js.map +1 -1
  34. package/dist/build-info.json +1 -1
  35. package/dist/cli/commands/run-agent.d.ts.map +1 -1
  36. package/dist/cli/commands/run-agent.js +12 -9
  37. package/dist/cli/commands/run-agent.js.map +1 -1
  38. package/dist/cli/commands/webhook.js +1 -5
  39. package/dist/cli/commands/webhook.js.map +1 -1
  40. package/dist/cli/main.js +0 -10
  41. package/dist/cli/main.js.map +1 -1
  42. package/dist/control/routes/stats.d.ts.map +1 -1
  43. package/dist/control/routes/stats.js +1 -4
  44. package/dist/control/routes/stats.js.map +1 -1
  45. package/dist/events/webhook-setup.d.ts.map +1 -1
  46. package/dist/events/webhook-setup.js +16 -1
  47. package/dist/events/webhook-setup.js.map +1 -1
  48. package/dist/execution/execution.d.ts.map +1 -1
  49. package/dist/execution/execution.js +10 -0
  50. package/dist/execution/execution.js.map +1 -1
  51. package/dist/execution/lock-store.d.ts +4 -2
  52. package/dist/execution/lock-store.d.ts.map +1 -1
  53. package/dist/execution/lock-store.js +6 -8
  54. package/dist/execution/lock-store.js.map +1 -1
  55. package/dist/frontend/assets/index-CLzpDcLm.css +2 -0
  56. package/dist/frontend/assets/{index-CDp1ALeQ.js → index-Dx2aJ_Db.js} +2 -2
  57. package/dist/frontend/assets/index-Dx2aJ_Db.js.map +1 -0
  58. package/dist/frontend/index.html +2 -2
  59. package/dist/gateway/frontend.d.ts +2 -2
  60. package/dist/gateway/frontend.d.ts.map +1 -1
  61. package/dist/gateway/frontend.js +2 -4
  62. package/dist/gateway/frontend.js.map +1 -1
  63. package/dist/gateway/index.d.ts.map +1 -1
  64. package/dist/gateway/index.js +3 -29
  65. package/dist/gateway/index.js.map +1 -1
  66. package/dist/gateway/middleware/auth.d.ts +1 -1
  67. package/dist/gateway/middleware/auth.d.ts.map +1 -1
  68. package/dist/gateway/middleware/auth.js +2 -3
  69. package/dist/gateway/middleware/auth.js.map +1 -1
  70. package/dist/gateway/types.d.ts +0 -11
  71. package/dist/gateway/types.d.ts.map +1 -1
  72. package/dist/scheduler/gateway-setup.d.ts +0 -3
  73. package/dist/scheduler/gateway-setup.d.ts.map +1 -1
  74. package/dist/scheduler/gateway-setup.js +1 -43
  75. package/dist/scheduler/gateway-setup.js.map +1 -1
  76. package/dist/scheduler/index.js +4 -3
  77. package/dist/scheduler/index.js.map +1 -1
  78. package/dist/shared/config/load-agent.d.ts.map +1 -1
  79. package/dist/shared/config/load-agent.js +10 -0
  80. package/dist/shared/config/load-agent.js.map +1 -1
  81. package/dist/shared/config/load-project.d.ts.map +1 -1
  82. package/dist/shared/config/load-project.js +8 -0
  83. package/dist/shared/config/load-project.js.map +1 -1
  84. package/dist/shared/config/types.d.ts +7 -1
  85. package/dist/shared/config/types.d.ts.map +1 -1
  86. package/dist/tui/App.d.ts.map +1 -1
  87. package/dist/tui/App.js +0 -4
  88. package/dist/tui/App.js.map +1 -1
  89. package/dist/webhooks/types.d.ts +1 -0
  90. package/dist/webhooks/types.d.ts.map +1 -1
  91. package/docker/Dockerfile +2 -1
  92. package/package.json +1 -1
  93. package/dist/agents/chat-entry.d.ts +0 -9
  94. package/dist/agents/chat-entry.d.ts.map +0 -1
  95. package/dist/agents/chat-entry.js +0 -165
  96. package/dist/agents/chat-entry.js.map +0 -1
  97. package/dist/agents/session-factory.d.ts +0 -13
  98. package/dist/agents/session-factory.d.ts.map +0 -1
  99. package/dist/agents/session-factory.js +0 -28
  100. package/dist/agents/session-factory.js.map +0 -1
  101. package/dist/chat/container-launcher.d.ts +0 -38
  102. package/dist/chat/container-launcher.d.ts.map +0 -1
  103. package/dist/chat/container-launcher.js +0 -120
  104. package/dist/chat/container-launcher.js.map +0 -1
  105. package/dist/chat/event-mapper.d.ts +0 -27
  106. package/dist/chat/event-mapper.d.ts.map +0 -1
  107. package/dist/chat/event-mapper.js +0 -56
  108. package/dist/chat/event-mapper.js.map +0 -1
  109. package/dist/chat/ink-adapter.d.ts +0 -9
  110. package/dist/chat/ink-adapter.d.ts.map +0 -1
  111. package/dist/chat/ink-adapter.js +0 -120
  112. package/dist/chat/ink-adapter.js.map +0 -1
  113. package/dist/chat/local-transport.d.ts +0 -28
  114. package/dist/chat/local-transport.d.ts.map +0 -1
  115. package/dist/chat/local-transport.js +0 -68
  116. package/dist/chat/local-transport.js.map +0 -1
  117. package/dist/chat/remote-transport.d.ts +0 -30
  118. package/dist/chat/remote-transport.d.ts.map +0 -1
  119. package/dist/chat/remote-transport.js +0 -110
  120. package/dist/chat/remote-transport.js.map +0 -1
  121. package/dist/chat/routes.d.ts +0 -10
  122. package/dist/chat/routes.d.ts.map +0 -1
  123. package/dist/chat/routes.js +0 -94
  124. package/dist/chat/routes.js.map +0 -1
  125. package/dist/chat/session-manager.d.ts +0 -22
  126. package/dist/chat/session-manager.d.ts.map +0 -1
  127. package/dist/chat/session-manager.js +0 -77
  128. package/dist/chat/session-manager.js.map +0 -1
  129. package/dist/chat/transport.d.ts +0 -15
  130. package/dist/chat/transport.d.ts.map +0 -1
  131. package/dist/chat/transport.js +0 -5
  132. package/dist/chat/transport.js.map +0 -1
  133. package/dist/chat/types.d.ts +0 -51
  134. package/dist/chat/types.d.ts.map +0 -1
  135. package/dist/chat/types.js +0 -7
  136. package/dist/chat/validation.d.ts +0 -30
  137. package/dist/chat/validation.d.ts.map +0 -1
  138. package/dist/chat/validation.js +0 -79
  139. package/dist/chat/validation.js.map +0 -1
  140. package/dist/chat/ws-handler.d.ts +0 -32
  141. package/dist/chat/ws-handler.d.ts.map +0 -1
  142. package/dist/chat/ws-handler.js +0 -234
  143. package/dist/chat/ws-handler.js.map +0 -1
  144. package/dist/cli/commands/chat.d.ts +0 -7
  145. package/dist/cli/commands/chat.d.ts.map +0 -1
  146. package/dist/cli/commands/chat.js +0 -436
  147. package/dist/cli/commands/chat.js.map +0 -1
  148. package/dist/frontend/assets/index-CDp1ALeQ.js.map +0 -1
  149. package/dist/frontend/assets/index-EMdmdqAZ.css +0 -2
  150. package/dist/gateway/routes/chat.d.ts +0 -32
  151. package/dist/gateway/routes/chat.d.ts.map +0 -1
  152. package/dist/gateway/routes/chat.js +0 -24
  153. package/dist/gateway/routes/chat.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"container-launcher.js","sourceRoot":"","sources":["../../src/chat/container-launcher.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAMpC,MAAM,OAAO,qBAAqB;IACxB,OAAO,CAAU;IACjB,YAAY,CAAe;IAC3B,YAAY,CAAgB;IAC5B,UAAU,CAAS;IACnB,MAAM,CAAS;IACf,cAAc,CAAqB;IACnC,MAAM,CAAsB;IAC5B,iBAAiB,CAA8C;IAC/D,mBAAmB,CAAoC;IACvD,kBAAkB,GAAG,IAAI,GAAG,EAA8B,CAAC;IAEnE,YAAY,IAUX;QACC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,SAAiB,EAAE,SAAiB;QAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,aAAa,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,iCAAiC,SAAS,8BAA8B,CAAC,CAAC;QAC5F,CAAC;QAED,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;QACvD,KAAK,MAAM,EAAE,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACpC,IAAI,EAAE,CAAC,QAAQ,KAAK,SAAS;gBAAE,SAAS;YACxC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,QAAQ,MAAM,CAAC;YACzC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC;gBAChF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAEpE,mFAAmF;QACnF,MAAM,cAAc,GAAG,UAAU,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,GAAG,SAAS,SAAS,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAEhE,MAAM,GAAG,GAA2B;YAClC,YAAY,EAAE,GAAG;YACjB,kBAAkB,EAAE,SAAS;YAC7B,WAAW,EAAE,IAAI,CAAC,UAAU;YAC5B,eAAe,EAAE,cAAc;SAChC,CAAC;QAEF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAC9C,KAAK;YACL,SAAS,EAAE,UAAU;YACrB,GAAG;YACH,WAAW;YACX,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM;YACvC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI;SACpC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAE/D,mEAAmE;QACnE,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE;gBAC3C,aAAa;gBACb,SAAS;gBACT,UAAU;aACX,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YACjE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,gDAAgD,CAAC,CAAC;QACtG,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,yBAAyB,CAAC,CAAC;QAErF,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,EAAE,aAAa;YAAE,OAAO;QAEpC,oEAAoE;QACpE,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACzD,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,qCAAqC,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,+BAA+B,CAAC,CAAC;QACrF,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,EAAE,wBAAwB,CAAC,CAAC;IAClG,CAAC;CACF"}
@@ -1,27 +0,0 @@
1
- /**
2
- * Maps PI agent events to ChatOutbound messages.
3
- *
4
- * Pure function — reused by LocalTransport and chat container entrypoint.
5
- */
6
- import type { ChatOutbound } from "./types.js";
7
- /**
8
- * PI agent event (subset of fields we care about).
9
- * Using a loose type to avoid tight coupling to pi-coding-agent internals.
10
- */
11
- export interface AgentEvent {
12
- type: string;
13
- assistantMessageEvent?: {
14
- type: string;
15
- delta?: string;
16
- };
17
- toolCallId?: string;
18
- toolName?: string;
19
- args?: Record<string, unknown>;
20
- result?: unknown;
21
- isError?: boolean;
22
- }
23
- /**
24
- * Map a single PI AgentEvent to zero or more ChatOutbound messages.
25
- */
26
- export declare function mapAgentEvent(event: AgentEvent): ChatOutbound[];
27
- //# sourceMappingURL=event-mapper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-mapper.d.ts","sourceRoot":"","sources":["../../src/chat/event-mapper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB,CAAC,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,EAAE,CAmD/D"}
@@ -1,56 +0,0 @@
1
- /**
2
- * Maps PI agent events to ChatOutbound messages.
3
- *
4
- * Pure function — reused by LocalTransport and chat container entrypoint.
5
- */
6
- /**
7
- * Map a single PI AgentEvent to zero or more ChatOutbound messages.
8
- */
9
- export function mapAgentEvent(event) {
10
- const out = [];
11
- switch (event.type) {
12
- case "message_update":
13
- if (event.assistantMessageEvent?.type === "text_delta" && event.assistantMessageEvent.delta) {
14
- out.push({
15
- type: "assistant_message",
16
- text: event.assistantMessageEvent.delta,
17
- done: false,
18
- });
19
- }
20
- break;
21
- case "agent_end":
22
- case "turn_end":
23
- out.push({
24
- type: "assistant_message",
25
- text: "",
26
- done: true,
27
- });
28
- break;
29
- case "tool_execution_start":
30
- if (event.toolCallId && event.toolName) {
31
- out.push({
32
- type: "tool_start",
33
- toolCallId: event.toolCallId,
34
- tool: event.toolName,
35
- input: event.args ? JSON.stringify(event.args) : "",
36
- });
37
- }
38
- break;
39
- case "tool_execution_end":
40
- if (event.toolCallId && event.toolName) {
41
- const resultStr = typeof event.result === "string"
42
- ? event.result
43
- : JSON.stringify(event.result ?? "");
44
- out.push({
45
- type: "tool_result",
46
- toolCallId: event.toolCallId,
47
- tool: event.toolName,
48
- output: resultStr,
49
- error: event.isError || undefined,
50
- });
51
- }
52
- break;
53
- }
54
- return out;
55
- }
56
- //# sourceMappingURL=event-mapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-mapper.js","sourceRoot":"","sources":["../../src/chat/event-mapper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAqBH;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,KAAiB;IAC7C,MAAM,GAAG,GAAmB,EAAE,CAAC;IAE/B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,gBAAgB;YACnB,IAAI,KAAK,CAAC,qBAAqB,EAAE,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;gBAC5F,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI,EAAE,mBAAmB;oBACzB,IAAI,EAAE,KAAK,CAAC,qBAAqB,CAAC,KAAK;oBACvC,IAAI,EAAE,KAAK;iBACZ,CAAC,CAAC;YACL,CAAC;YACD,MAAM;QAER,KAAK,WAAW,CAAC;QACjB,KAAK,UAAU;YACb,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;YACH,MAAM;QAER,KAAK,sBAAsB;YACzB,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACvC,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI,EAAE,YAAY;oBAClB,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,IAAI,EAAE,KAAK,CAAC,QAAQ;oBACpB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;iBACpD,CAAC,CAAC;YACL,CAAC;YACD,MAAM;QAER,KAAK,oBAAoB;YACvB,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACvC,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;oBAChD,CAAC,CAAC,KAAK,CAAC,MAAM;oBACd,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;gBACvC,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI,EAAE,aAAa;oBACnB,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,IAAI,EAAE,KAAK,CAAC,QAAQ;oBACpB,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,SAAS;iBAClC,CAAC,CAAC;YACL,CAAC;YACD,MAAM;IACV,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Ink-based terminal UI for ChatTransport.
3
- *
4
- * Used by `al chat <agent> --env <name>` (remote mode) to render
5
- * streaming chat in the terminal.
6
- */
7
- import type { ChatTransport } from "./transport.js";
8
- export declare function runChatTUI(transport: ChatTransport, agentName: string): Promise<void>;
9
- //# sourceMappingURL=ink-adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ink-adapter.d.ts","sourceRoot":"","sources":["../../src/chat/ink-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AA8IpD,wBAAsB,UAAU,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3F"}
@@ -1,120 +0,0 @@
1
- /**
2
- * Ink-based terminal UI for ChatTransport.
3
- *
4
- * Used by `al chat <agent> --env <name>` (remote mode) to render
5
- * streaming chat in the terminal.
6
- */
7
- import React, { useState, useEffect } from "react";
8
- import { render, Box, Text, useInput, useApp } from "ink";
9
- function ChatApp({ transport, agentName }) {
10
- const [messages, setMessages] = useState([]);
11
- const [input, setInput] = useState("");
12
- const [streaming, setStreaming] = useState(false);
13
- const { exit } = useApp();
14
- useEffect(() => {
15
- const unsub = transport.onMessage((msg) => {
16
- switch (msg.type) {
17
- case "assistant_message":
18
- if (msg.done) {
19
- setStreaming(false);
20
- // Finalize the streaming message
21
- setMessages((prev) => {
22
- const last = prev[prev.length - 1];
23
- if (last?.role === "assistant" && !last.done) {
24
- return [...prev.slice(0, -1), { ...last, done: true }];
25
- }
26
- return prev;
27
- });
28
- }
29
- else {
30
- setStreaming(true);
31
- setMessages((prev) => {
32
- const last = prev[prev.length - 1];
33
- if (last?.role === "assistant" && !last.done) {
34
- return [...prev.slice(0, -1), { ...last, text: last.text + msg.text }];
35
- }
36
- return [...prev, { role: "assistant", text: msg.text, done: false }];
37
- });
38
- }
39
- break;
40
- case "tool_start":
41
- setMessages((prev) => [
42
- ...prev,
43
- { role: "tool", text: `[${msg.tool}] ${msg.input.slice(0, 200)}`, toolName: msg.tool },
44
- ]);
45
- break;
46
- case "tool_result":
47
- setMessages((prev) => [
48
- ...prev,
49
- {
50
- role: "tool",
51
- text: `[${msg.tool}] ${msg.error ? "ERROR: " : ""}${msg.output.slice(0, 500)}`,
52
- toolName: msg.tool,
53
- },
54
- ]);
55
- break;
56
- case "error":
57
- setMessages((prev) => [...prev, { role: "error", text: msg.message }]);
58
- setStreaming(false);
59
- break;
60
- case "heartbeat":
61
- // Ignore
62
- break;
63
- }
64
- });
65
- return unsub;
66
- }, [transport]);
67
- useInput((inputChar, key) => {
68
- if (key.ctrl && inputChar === "c") {
69
- if (streaming) {
70
- transport.send({ type: "cancel" });
71
- setStreaming(false);
72
- }
73
- else {
74
- transport.send({ type: "shutdown" });
75
- transport.close().then(() => exit());
76
- }
77
- return;
78
- }
79
- if (key.ctrl && inputChar === "d") {
80
- transport.send({ type: "shutdown" });
81
- transport.close().then(() => exit());
82
- return;
83
- }
84
- if (key.return) {
85
- if (input.trim() && !streaming) {
86
- const text = input.trim();
87
- setMessages((prev) => [...prev, { role: "user", text, done: true }]);
88
- setInput("");
89
- transport.send({ type: "user_message", text });
90
- }
91
- return;
92
- }
93
- if (key.backspace || key.delete) {
94
- setInput((prev) => prev.slice(0, -1));
95
- return;
96
- }
97
- if (inputChar && !key.ctrl && !key.meta) {
98
- setInput((prev) => prev + inputChar);
99
- }
100
- });
101
- // Show last N messages to avoid terminal overflow
102
- const visibleMessages = messages.slice(-30);
103
- return React.createElement(Box, { flexDirection: "column", padding: 1 }, React.createElement(Text, { bold: true, color: "cyan" }, `Chat: ${agentName}`), React.createElement(Text, { dimColor: true }, "Ctrl+C = cancel/exit, Ctrl+D = exit"), React.createElement(Box, { flexDirection: "column", marginTop: 1 }, ...visibleMessages.map((msg, i) => {
104
- switch (msg.role) {
105
- case "user":
106
- return React.createElement(Text, { key: i, color: "green" }, `> ${msg.text}`);
107
- case "assistant":
108
- return React.createElement(Text, { key: i, color: "white" }, msg.text);
109
- case "tool":
110
- return React.createElement(Text, { key: i, dimColor: true }, msg.text);
111
- case "error":
112
- return React.createElement(Text, { key: i, color: "red" }, `Error: ${msg.text}`);
113
- }
114
- })), React.createElement(Box, { marginTop: 1 }, React.createElement(Text, { color: streaming ? "yellow" : "green" }, streaming ? "(streaming...) " : "> "), React.createElement(Text, null, input), React.createElement(Text, { dimColor: true }, "\u2588")));
115
- }
116
- export async function runChatTUI(transport, agentName) {
117
- const app = render(React.createElement(ChatApp, { transport, agentName }));
118
- await app.waitUntilExit();
119
- }
120
- //# sourceMappingURL=ink-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ink-adapter.js","sourceRoot":"","sources":["../../src/chat/ink-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- /**
2
- * LocalTransport — ChatTransport backed by a local PI agent session.
3
- *
4
- * Used for `al chat <agent>` without --env (local mode).
5
- */
6
- import type { ChatTransport } from "./transport.js";
7
- import type { ChatInbound, ChatOutbound } from "./types.js";
8
- export interface LocalTransportOptions {
9
- /** PI agent session (from createAgentSession). */
10
- session: {
11
- prompt(text: string): Promise<any>;
12
- dispose(): void;
13
- subscribe(handler: (event: any) => void): void;
14
- };
15
- }
16
- export declare class LocalTransport implements ChatTransport {
17
- private session;
18
- private handlers;
19
- private _connected;
20
- private agentBusy;
21
- constructor(opts: LocalTransportOptions);
22
- get connected(): boolean;
23
- send(msg: ChatInbound): void;
24
- onMessage(handler: (msg: ChatOutbound) => void): () => void;
25
- close(): Promise<void>;
26
- private emit;
27
- }
28
- //# sourceMappingURL=local-transport.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"local-transport.d.ts","sourceRoot":"","sources":["../../src/chat/local-transport.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG5D,MAAM,WAAW,qBAAqB;IACpC,kDAAkD;IAClD,OAAO,EAAE;QACP,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,IAAI,IAAI,CAAC;QAChB,SAAS,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAC;KAChD,CAAC;CACH;AAED,qBAAa,cAAe,YAAW,aAAa;IAClD,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,QAAQ,CAA+C;IAC/D,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,SAAS,CAAS;gBAEd,IAAI,EAAE,qBAAqB;IAevC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IA4B5B,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,GAAG,MAAM,IAAI;IAKrD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,OAAO,CAAC,IAAI;CAKb"}
@@ -1,68 +0,0 @@
1
- /**
2
- * LocalTransport — ChatTransport backed by a local PI agent session.
3
- *
4
- * Used for `al chat <agent>` without --env (local mode).
5
- */
6
- import { mapAgentEvent } from "./event-mapper.js";
7
- export class LocalTransport {
8
- session;
9
- handlers = new Set();
10
- _connected = true;
11
- agentBusy = false;
12
- constructor(opts) {
13
- this.session = opts.session;
14
- // Subscribe to session events and map to ChatOutbound
15
- this.session.subscribe((event) => {
16
- const outbound = mapAgentEvent(event);
17
- for (const msg of outbound) {
18
- if (msg.type === "assistant_message" && msg.done) {
19
- this.agentBusy = false;
20
- }
21
- this.emit(msg);
22
- }
23
- });
24
- }
25
- get connected() {
26
- return this._connected;
27
- }
28
- send(msg) {
29
- switch (msg.type) {
30
- case "user_message":
31
- if (this.agentBusy) {
32
- this.emit({ type: "error", message: "Agent is busy processing. Please wait." });
33
- return;
34
- }
35
- this.agentBusy = true;
36
- this.session.prompt(msg.text).catch((err) => {
37
- this.emit({ type: "error", message: err.message });
38
- this.agentBusy = false;
39
- });
40
- break;
41
- case "cancel":
42
- if (this.agentBusy) {
43
- this.session.dispose();
44
- this.agentBusy = false;
45
- }
46
- break;
47
- case "shutdown":
48
- this.session.dispose();
49
- this._connected = false;
50
- break;
51
- }
52
- }
53
- onMessage(handler) {
54
- this.handlers.add(handler);
55
- return () => { this.handlers.delete(handler); };
56
- }
57
- async close() {
58
- this._connected = false;
59
- this.session.dispose();
60
- this.handlers.clear();
61
- }
62
- emit(msg) {
63
- for (const handler of this.handlers) {
64
- handler(msg);
65
- }
66
- }
67
- }
68
- //# sourceMappingURL=local-transport.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"local-transport.js","sourceRoot":"","sources":["../../src/chat/local-transport.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAWlD,MAAM,OAAO,cAAc;IACjB,OAAO,CAAmC;IAC1C,QAAQ,GAAqC,IAAI,GAAG,EAAE,CAAC;IACvD,UAAU,GAAG,IAAI,CAAC;IAClB,SAAS,GAAG,KAAK,CAAC;IAE1B,YAAY,IAA2B;QACrC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAE5B,sDAAsD;QACtD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAU,EAAE,EAAE;YACpC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YACtC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC3B,IAAI,GAAG,CAAC,IAAI,KAAK,mBAAmB,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;oBACjD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACzB,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,GAAgB;QACnB,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,cAAc;gBACjB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC,CAAC;oBAChF,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;oBAC/C,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;oBACnD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACzB,CAAC,CAAC,CAAC;gBACH,MAAM;YAER,KAAK,QAAQ;gBACX,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBACvB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACzB,CAAC;gBACD,MAAM;YAER,KAAK,UAAU;gBACb,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACvB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,MAAM;QACV,CAAC;IACH,CAAC;IAED,SAAS,CAAC,OAAoC;QAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAEO,IAAI,CAAC,GAAiB;QAC5B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;IACH,CAAC;CACF"}
@@ -1,30 +0,0 @@
1
- /**
2
- * RemoteTransport — ChatTransport backed by a gateway WebSocket connection.
3
- *
4
- * Used for `al chat <agent> --env <name>` (remote mode) and the web UI.
5
- */
6
- import type { ChatTransport } from "./transport.js";
7
- import type { ChatInbound, ChatOutbound } from "./types.js";
8
- export interface RemoteTransportOptions {
9
- gatewayUrl: string;
10
- agentName: string;
11
- apiKey: string;
12
- }
13
- export declare class RemoteTransport implements ChatTransport {
14
- private ws;
15
- private sessionId;
16
- private handlers;
17
- private _connected;
18
- private opts;
19
- constructor(opts: RemoteTransportOptions);
20
- get connected(): boolean;
21
- /**
22
- * Create a chat session and connect via WebSocket.
23
- */
24
- connect(): Promise<void>;
25
- send(msg: ChatInbound): void;
26
- onMessage(handler: (msg: ChatOutbound) => void): () => void;
27
- close(): Promise<void>;
28
- private emit;
29
- }
30
- //# sourceMappingURL=remote-transport.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remote-transport.d.ts","sourceRoot":"","sources":["../../src/chat/remote-transport.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,eAAgB,YAAW,aAAa;IACnD,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,QAAQ,CAA+C;IAC/D,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,IAAI,CAAyB;gBAEzB,IAAI,EAAE,sBAAsB;IAIxC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA4D9B,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAO5B,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,GAAG,MAAM,IAAI;IAKrD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB5B,OAAO,CAAC,IAAI;CAKb"}
@@ -1,110 +0,0 @@
1
- /**
2
- * RemoteTransport — ChatTransport backed by a gateway WebSocket connection.
3
- *
4
- * Used for `al chat <agent> --env <name>` (remote mode) and the web UI.
5
- */
6
- import WebSocket from "ws";
7
- export class RemoteTransport {
8
- ws = null;
9
- sessionId = null;
10
- handlers = new Set();
11
- _connected = false;
12
- opts;
13
- constructor(opts) {
14
- this.opts = opts;
15
- }
16
- get connected() {
17
- return this._connected;
18
- }
19
- /**
20
- * Create a chat session and connect via WebSocket.
21
- */
22
- async connect() {
23
- const { gatewayUrl, agentName, apiKey } = this.opts;
24
- // Create session via REST API
25
- const res = await fetch(`${gatewayUrl}/api/chat/sessions`, {
26
- method: "POST",
27
- headers: {
28
- "Content-Type": "application/json",
29
- "Authorization": `Bearer ${apiKey}`,
30
- },
31
- body: JSON.stringify({ agentName }),
32
- });
33
- if (!res.ok) {
34
- const text = await res.text();
35
- throw new Error(`Failed to create chat session: ${text}`);
36
- }
37
- const { sessionId } = await res.json();
38
- this.sessionId = sessionId;
39
- // Connect WebSocket
40
- const wsUrl = `${gatewayUrl.replace(/^http/, "ws")}/chat/ws/${sessionId}`;
41
- this.ws = new WebSocket(wsUrl, {
42
- headers: {
43
- "Authorization": `Bearer ${apiKey}`,
44
- },
45
- });
46
- return new Promise((resolve, reject) => {
47
- const ws = this.ws;
48
- ws.on("open", () => {
49
- this._connected = true;
50
- resolve();
51
- });
52
- ws.on("message", (data) => {
53
- const raw = data.toString();
54
- try {
55
- const msg = JSON.parse(raw);
56
- this.emit(msg);
57
- }
58
- catch {
59
- // Ignore malformed messages
60
- }
61
- });
62
- ws.on("close", () => {
63
- this._connected = false;
64
- });
65
- ws.on("error", (err) => {
66
- if (!this._connected) {
67
- reject(err);
68
- }
69
- this._connected = false;
70
- });
71
- });
72
- }
73
- send(msg) {
74
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) {
75
- throw new Error("Not connected");
76
- }
77
- this.ws.send(JSON.stringify(msg));
78
- }
79
- onMessage(handler) {
80
- this.handlers.add(handler);
81
- return () => { this.handlers.delete(handler); };
82
- }
83
- async close() {
84
- if (this.ws && this.ws.readyState === WebSocket.OPEN) {
85
- // Send shutdown before closing
86
- this.ws.send(JSON.stringify({ type: "shutdown" }));
87
- this.ws.close();
88
- }
89
- this._connected = false;
90
- this.handlers.clear();
91
- // Clean up session
92
- if (this.sessionId) {
93
- try {
94
- await fetch(`${this.opts.gatewayUrl}/api/chat/sessions/${this.sessionId}`, {
95
- method: "DELETE",
96
- headers: { "Authorization": `Bearer ${this.opts.apiKey}` },
97
- });
98
- }
99
- catch {
100
- // Best effort
101
- }
102
- }
103
- }
104
- emit(msg) {
105
- for (const handler of this.handlers) {
106
- handler(msg);
107
- }
108
- }
109
- }
110
- //# sourceMappingURL=remote-transport.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remote-transport.js","sourceRoot":"","sources":["../../src/chat/remote-transport.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * REST API routes for chat session management.
3
- */
4
- import type { Hono } from "hono";
5
- import type { ChatSessionManager } from "./session-manager.js";
6
- import type { Logger } from "../shared/logger.js";
7
- export type LaunchChatCallback = (agentName: string, sessionId: string) => Promise<void>;
8
- export type StopChatCallback = (sessionId: string) => Promise<void>;
9
- export declare function registerChatApiRoutes(app: Hono, sessionManager: ChatSessionManager, launchCallback: LaunchChatCallback, stopCallback: StopChatCallback, logger?: Logger): void;
10
- //# sourceMappingURL=routes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/chat/routes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AACzF,MAAM,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpE,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,IAAI,EACT,cAAc,EAAE,kBAAkB,EAClC,cAAc,EAAE,kBAAkB,EAClC,YAAY,EAAE,gBAAgB,EAC9B,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,CAoGN"}
@@ -1,94 +0,0 @@
1
- /**
2
- * REST API routes for chat session management.
3
- */
4
- export function registerChatApiRoutes(app, sessionManager, launchCallback, stopCallback, logger) {
5
- // Create a new chat session and launch a container (idempotent per agent)
6
- app.post("/api/chat/sessions", async (c) => {
7
- const body = await c.req.json().catch(() => ({}));
8
- const agentName = body.agentName;
9
- if (!agentName || typeof agentName !== "string") {
10
- return c.json({ error: "agentName is required" }, 400);
11
- }
12
- // Return existing session for this agent if one exists (idempotent)
13
- const existing = sessionManager.getSessionByAgent(agentName);
14
- if (existing) {
15
- logger?.info({ sessionId: existing.sessionId, agentName }, "returning existing chat session");
16
- return c.json({ sessionId: existing.sessionId, created: false });
17
- }
18
- if (!sessionManager.canCreateSession()) {
19
- return c.json({ error: "Chat session limit reached" }, 429);
20
- }
21
- try {
22
- const session = sessionManager.createSession(agentName);
23
- logger?.info({ sessionId: session.sessionId, agentName }, "chat session created");
24
- // Launch container asynchronously
25
- launchCallback(agentName, session.sessionId).catch((err) => {
26
- logger?.error({ sessionId: session.sessionId, err: err.message }, "failed to launch chat container");
27
- sessionManager.removeSession(session.sessionId);
28
- });
29
- return c.json({ sessionId: session.sessionId, created: true });
30
- }
31
- catch (err) {
32
- return c.json({ error: err.message }, 500);
33
- }
34
- });
35
- // Clear chat context: stop old container (releases locks), create new session and container
36
- app.post("/api/chat/sessions/:sessionId/clear", async (c) => {
37
- const sessionId = c.req.param("sessionId");
38
- const session = sessionManager.getSession(sessionId);
39
- if (!session) {
40
- return c.json({ error: "Session not found" }, 404);
41
- }
42
- const agentName = session.agentName;
43
- // Stop old container (this releases locks via unregisterContainer)
44
- try {
45
- await stopCallback(sessionId);
46
- }
47
- catch (err) {
48
- logger?.warn({ sessionId, err: err.message }, "error stopping chat container during clear");
49
- }
50
- sessionManager.removeSession(sessionId);
51
- // Create new session for the same agent
52
- try {
53
- const newSession = sessionManager.createSession(agentName);
54
- logger?.info({ oldSessionId: sessionId, newSessionId: newSession.sessionId, agentName }, "chat context cleared");
55
- launchCallback(agentName, newSession.sessionId).catch((err) => {
56
- logger?.error({ sessionId: newSession.sessionId, err: err.message }, "failed to launch chat container after clear");
57
- sessionManager.removeSession(newSession.sessionId);
58
- });
59
- return c.json({ sessionId: newSession.sessionId });
60
- }
61
- catch (err) {
62
- return c.json({ error: err.message }, 500);
63
- }
64
- });
65
- // Delete a chat session and stop its container
66
- app.delete("/api/chat/sessions/:sessionId", async (c) => {
67
- const sessionId = c.req.param("sessionId");
68
- const session = sessionManager.getSession(sessionId);
69
- if (!session) {
70
- return c.json({ error: "Session not found" }, 404);
71
- }
72
- try {
73
- await stopCallback(sessionId);
74
- }
75
- catch (err) {
76
- logger?.warn({ sessionId, err: err.message }, "error stopping chat container");
77
- }
78
- sessionManager.removeSession(sessionId);
79
- logger?.info({ sessionId }, "chat session deleted");
80
- return c.json({ success: true });
81
- });
82
- // List active chat sessions
83
- app.get("/api/chat/sessions", (c) => {
84
- const sessions = sessionManager.listSessions().map((s) => ({
85
- sessionId: s.sessionId,
86
- agentName: s.agentName,
87
- containerName: s.containerName,
88
- createdAt: s.createdAt.toISOString(),
89
- lastActivityAt: s.lastActivityAt.toISOString(),
90
- }));
91
- return c.json({ sessions });
92
- });
93
- }
94
- //# sourceMappingURL=routes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/chat/routes.ts"],"names":[],"mappings":"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"}