@polka-codes/core 0.7.19 → 0.7.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1624,7 +1624,10 @@ declare type ExitReason = {
1624
1624
  type: 'UsageExceeded';
1625
1625
  } | {
1626
1626
  type: 'WaitForUserInput';
1627
- } | ToolResponseExit | ToolResponseInterrupted | ToolResponseHandOver | ToolResponseDelegate;
1627
+ } | ToolResponseExit | ToolResponseInterrupted | ToolResponseHandOver | ToolResponseDelegate | {
1628
+ type: 'Pause';
1629
+ responses: ToolResponseOrToolPause[];
1630
+ };
1628
1631
  export { ExitReason }
1629
1632
  export { ExitReason as ExitReason_alias_1 }
1630
1633
  export { ExitReason as ExitReason_alias_2 }
@@ -2112,7 +2115,7 @@ export { systemInformation as systemInformation_alias_2 }
2112
2115
  /**
2113
2116
  * Union type of all possible task events
2114
2117
  */
2115
- declare type TaskEvent = TaskEventStartTask | TaskEventStartRequest | TaskEventEndRequest | TaskEventUsage | TaskEventText | TaskEventTool | TaskEventToolHandOverDelegate | TaskEventUsageExceeded | TaskEventEndTask;
2118
+ declare type TaskEvent = TaskEventStartTask | TaskEventStartRequest | TaskEventEndRequest | TaskEventUsage | TaskEventText | TaskEventTool | TaskEventToolPause | TaskEventToolHandOverDelegate | TaskEventUsageExceeded | TaskEventEndTask;
2116
2119
  export { TaskEvent }
2117
2120
  export { TaskEvent as TaskEvent_alias_1 }
2118
2121
  export { TaskEvent as TaskEvent_alias_2 }
@@ -2171,6 +2174,7 @@ declare enum TaskEventKind {
2171
2174
  ToolInterrupted = "ToolInterrupted",
2172
2175
  ToolHandOver = "ToolHandOver",
2173
2176
  ToolDelegate = "ToolDelegate",
2177
+ ToolPause = "ToolPause",
2174
2178
  UsageExceeded = "UsageExceeded",
2175
2179
  EndTask = "EndTask"
2176
2180
  }
@@ -2238,6 +2242,15 @@ export { TaskEventToolHandOverDelegate }
2238
2242
  export { TaskEventToolHandOverDelegate as TaskEventToolHandOverDelegate_alias_1 }
2239
2243
  export { TaskEventToolHandOverDelegate as TaskEventToolHandOverDelegate_alias_2 }
2240
2244
 
2245
+ declare interface TaskEventToolPause extends TaskEventBase {
2246
+ kind: TaskEventKind.ToolPause;
2247
+ tool: string;
2248
+ object: any;
2249
+ }
2250
+ export { TaskEventToolPause }
2251
+ export { TaskEventToolPause as TaskEventToolPause_alias_1 }
2252
+ export { TaskEventToolPause as TaskEventToolPause_alias_2 }
2253
+
2241
2254
  /**
2242
2255
  * Event for API usage updates
2243
2256
  */
@@ -2680,7 +2693,7 @@ export { ToolProvider }
2680
2693
  export { ToolProvider as ToolProvider_alias_1 }
2681
2694
  export { ToolProvider as ToolProvider_alias_2 }
2682
2695
 
2683
- declare type ToolResponse = ToolResponseReply | ToolResponseExit | ToolResponseInvalid | ToolResponseError | ToolResponseInterrupted | ToolResponseHandOver | ToolResponseDelegate;
2696
+ declare type ToolResponse = ToolResponseReply | ToolResponseExit | ToolResponseInvalid | ToolResponseError | ToolResponseInterrupted | ToolResponseHandOver | ToolResponseDelegate | ToolResponsePause;
2684
2697
  export { ToolResponse }
2685
2698
  export { ToolResponse as ToolResponse_alias_1 }
2686
2699
 
@@ -2736,6 +2749,26 @@ declare type ToolResponseInvalid = {
2736
2749
  export { ToolResponseInvalid }
2737
2750
  export { ToolResponseInvalid as ToolResponseInvalid_alias_1 }
2738
2751
 
2752
+ declare type ToolResponseOrToolPause = {
2753
+ type: 'response';
2754
+ tool: string;
2755
+ response: string;
2756
+ } | {
2757
+ type: 'pause';
2758
+ tool: string;
2759
+ object: any;
2760
+ };
2761
+ export { ToolResponseOrToolPause }
2762
+ export { ToolResponseOrToolPause as ToolResponseOrToolPause_alias_1 }
2763
+ export { ToolResponseOrToolPause as ToolResponseOrToolPause_alias_2 }
2764
+
2765
+ declare type ToolResponsePause = {
2766
+ type: ToolResponseType.Pause;
2767
+ object: any;
2768
+ };
2769
+ export { ToolResponsePause }
2770
+ export { ToolResponsePause as ToolResponsePause_alias_1 }
2771
+
2739
2772
  declare type ToolResponseReply = {
2740
2773
  type: ToolResponseType.Reply;
2741
2774
  message: string;
@@ -2750,7 +2783,8 @@ declare enum ToolResponseType {
2750
2783
  Error = "Error",
2751
2784
  Interrupted = "Interrupted",
2752
2785
  HandOver = "HandOver",
2753
- Delegate = "Delegate"
2786
+ Delegate = "Delegate",
2787
+ Pause = "Pause"
2754
2788
  }
2755
2789
  export { ToolResponseType }
2756
2790
  export { ToolResponseType as ToolResponseType_alias_1 }
package/dist/index.d.ts CHANGED
@@ -20,6 +20,7 @@ export { TaskEventEndRequest } from './_tsup-dts-rollup.js';
20
20
  export { TaskEventUsage } from './_tsup-dts-rollup.js';
21
21
  export { TaskEventText } from './_tsup-dts-rollup.js';
22
22
  export { TaskEventTool } from './_tsup-dts-rollup.js';
23
+ export { TaskEventToolPause } from './_tsup-dts-rollup.js';
23
24
  export { TaskEventToolHandOverDelegate } from './_tsup-dts-rollup.js';
24
25
  export { TaskEventUsageExceeded } from './_tsup-dts-rollup.js';
25
26
  export { TaskEventEndTask } from './_tsup-dts-rollup.js';
@@ -28,6 +29,7 @@ export { TaskEventCallback } from './_tsup-dts-rollup.js';
28
29
  export { SharedAgentOptions } from './_tsup-dts-rollup.js';
29
30
  export { AgentBaseConfig } from './_tsup-dts-rollup.js';
30
31
  export { AgentInfo } from './_tsup-dts-rollup.js';
32
+ export { ToolResponseOrToolPause } from './_tsup-dts-rollup.js';
31
33
  export { ExitReason } from './_tsup-dts-rollup.js';
32
34
  export { AgentBase } from './_tsup-dts-rollup.js';
33
35
  export { CoderAgentOptions } from './_tsup-dts-rollup.js';
@@ -106,6 +108,7 @@ export { ToolResponseError } from './_tsup-dts-rollup.js';
106
108
  export { ToolResponseInterrupted } from './_tsup-dts-rollup.js';
107
109
  export { ToolResponseHandOver } from './_tsup-dts-rollup.js';
108
110
  export { ToolResponseDelegate } from './_tsup-dts-rollup.js';
111
+ export { ToolResponsePause } from './_tsup-dts-rollup.js';
109
112
  export { ToolResponse } from './_tsup-dts-rollup.js';
110
113
  export { ToolHandler } from './_tsup-dts-rollup.js';
111
114
  export { getAvailableTools_alias_1 as getAvailableTools } from './_tsup-dts-rollup.js';
package/dist/index.js CHANGED
@@ -924,6 +924,7 @@ var ToolResponseType = /* @__PURE__ */ ((ToolResponseType2) => {
924
924
  ToolResponseType2["Interrupted"] = "Interrupted";
925
925
  ToolResponseType2["HandOver"] = "HandOver";
926
926
  ToolResponseType2["Delegate"] = "Delegate";
927
+ ToolResponseType2["Pause"] = "Pause";
927
928
  return ToolResponseType2;
928
929
  })(ToolResponseType || {});
929
930
 
@@ -2201,6 +2202,7 @@ var TaskEventKind = /* @__PURE__ */ ((TaskEventKind2) => {
2201
2202
  TaskEventKind2["ToolInterrupted"] = "ToolInterrupted";
2202
2203
  TaskEventKind2["ToolHandOver"] = "ToolHandOver";
2203
2204
  TaskEventKind2["ToolDelegate"] = "ToolDelegate";
2205
+ TaskEventKind2["ToolPause"] = "ToolPause";
2204
2206
  TaskEventKind2["UsageExceeded"] = "UsageExceeded";
2205
2207
  TaskEventKind2["EndTask"] = "EndTask";
2206
2208
  return TaskEventKind2;
@@ -2321,6 +2323,7 @@ ${agents}`;
2321
2323
  }
2322
2324
  async #handleResponse(response) {
2323
2325
  const toolReponses = [];
2326
+ let hasPause = false;
2324
2327
  outer: for (const content of response) {
2325
2328
  switch (content.type) {
2326
2329
  case "text":
@@ -2331,7 +2334,7 @@ ${agents}`;
2331
2334
  switch (toolResp.type) {
2332
2335
  case "Reply" /* Reply */:
2333
2336
  await this.#callback({ kind: "ToolReply" /* ToolReply */, agent: this, tool: content.name });
2334
- toolReponses.push({ tool: content.name, response: toolResp.message });
2337
+ toolReponses.push({ type: "response", tool: content.name, response: toolResp.message });
2335
2338
  break;
2336
2339
  case "Exit" /* Exit */:
2337
2340
  if (toolReponses.length > 0) {
@@ -2340,11 +2343,11 @@ ${agents}`;
2340
2343
  return { type: "exit", reason: toolResp };
2341
2344
  case "Invalid" /* Invalid */:
2342
2345
  await this.#callback({ kind: "ToolInvalid" /* ToolInvalid */, agent: this, tool: content.name });
2343
- toolReponses.push({ tool: content.name, response: toolResp.message });
2346
+ toolReponses.push({ type: "response", tool: content.name, response: toolResp.message });
2344
2347
  break outer;
2345
2348
  case "Error" /* Error */:
2346
2349
  await this.#callback({ kind: "ToolError" /* ToolError */, agent: this, tool: content.name });
2347
- toolReponses.push({ tool: content.name, response: toolResp.message });
2350
+ toolReponses.push({ type: "response", tool: content.name, response: toolResp.message });
2348
2351
  break outer;
2349
2352
  case "Interrupted" /* Interrupted */:
2350
2353
  await this.#callback({ kind: "ToolInterrupted" /* ToolInterrupted */, agent: this, tool: content.name });
@@ -2389,15 +2392,23 @@ ${agents}`;
2389
2392
  });
2390
2393
  return { type: "exit", reason: delegateResp };
2391
2394
  }
2395
+ case "Pause" /* Pause */: {
2396
+ await this.#callback({ kind: "ToolPause" /* ToolPause */, agent: this, tool: content.name, object: toolResp.object });
2397
+ toolReponses.push({ type: "pause", tool: content.name, object: toolResp.object });
2398
+ hasPause = true;
2399
+ }
2392
2400
  }
2393
2401
  break;
2394
2402
  }
2395
2403
  }
2396
2404
  }
2405
+ if (hasPause) {
2406
+ return { type: "exit", reason: { type: "Pause", responses: toolReponses } };
2407
+ }
2397
2408
  if (toolReponses.length === 0) {
2398
2409
  return { type: "reply", message: responsePrompts.requireUseTool };
2399
2410
  }
2400
- const finalResp = toolReponses.map(({ tool, response: response2 }) => responsePrompts.toolResults(tool, response2)).join("\n\n");
2411
+ const finalResp = toolReponses.filter((resp) => resp.type === "response").map(({ tool, response: response2 }) => responsePrompts.toolResults(tool, response2)).join("\n\n");
2401
2412
  return { type: "reply", message: finalResp };
2402
2413
  }
2403
2414
  async #invokeTool(name, args) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polka-codes/core",
3
- "version": "0.7.19",
3
+ "version": "0.7.20",
4
4
  "license": "AGPL-3.0",
5
5
  "author": "github@polka.codes",
6
6
  "type": "module",