@polka-codes/core 0.7.14 → 0.7.16
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.
- package/dist/_tsup-dts-rollup.d.ts +21 -4
- package/dist/index.js +21 -11
- package/package.json +1 -1
|
@@ -11,9 +11,11 @@ declare abstract class AgentBase {
|
|
|
11
11
|
start(prompt: string): Promise<ExitReason>;
|
|
12
12
|
step(promp: string, messages?: MessageParam[]): Promise<AssistantMessageContent[]>;
|
|
13
13
|
handleStepResponse(response: AssistantMessageContent[], messages?: MessageParam[]): Promise<{
|
|
14
|
-
|
|
14
|
+
type: "reply";
|
|
15
|
+
message: string;
|
|
15
16
|
} | {
|
|
16
|
-
|
|
17
|
+
type: "exit";
|
|
18
|
+
reason: ExitReason;
|
|
17
19
|
}>;
|
|
18
20
|
continueTask(userMessage: string): Promise<ExitReason>;
|
|
19
21
|
protected abstract onBeforeInvokeTool(name: string, args: Record<string, string>): Promise<ToolResponse | undefined>;
|
|
@@ -22,7 +24,14 @@ declare abstract class AgentBase {
|
|
|
22
24
|
id: string;
|
|
23
25
|
info: ModelInfo;
|
|
24
26
|
};
|
|
25
|
-
get usage():
|
|
27
|
+
get usage(): {
|
|
28
|
+
messageCount: number;
|
|
29
|
+
inputTokens: number;
|
|
30
|
+
outputTokens: number;
|
|
31
|
+
cacheWriteTokens: number;
|
|
32
|
+
cacheReadTokens: number;
|
|
33
|
+
totalCost: number;
|
|
34
|
+
};
|
|
26
35
|
}
|
|
27
36
|
export { AgentBase }
|
|
28
37
|
export { AgentBase as AgentBase_alias_1 }
|
|
@@ -2485,6 +2494,7 @@ declare class UsageMeter {
|
|
|
2485
2494
|
provider: string;
|
|
2486
2495
|
id: string;
|
|
2487
2496
|
}): void;
|
|
2497
|
+
setUsage(usage: Partial<ApiUsage>, messageCount?: number): void;
|
|
2488
2498
|
incrementMessageCount(count?: number): void;
|
|
2489
2499
|
isLimitExceeded(): {
|
|
2490
2500
|
messageCount: boolean;
|
|
@@ -2497,7 +2507,14 @@ declare class UsageMeter {
|
|
|
2497
2507
|
/**
|
|
2498
2508
|
* Get current usage totals
|
|
2499
2509
|
*/
|
|
2500
|
-
get usage():
|
|
2510
|
+
get usage(): {
|
|
2511
|
+
messageCount: number;
|
|
2512
|
+
inputTokens: number;
|
|
2513
|
+
outputTokens: number;
|
|
2514
|
+
cacheWriteTokens: number;
|
|
2515
|
+
cacheReadTokens: number;
|
|
2516
|
+
totalCost: number;
|
|
2517
|
+
};
|
|
2501
2518
|
printUsage(): void;
|
|
2502
2519
|
}
|
|
2503
2520
|
export { UsageMeter }
|
package/dist/index.js
CHANGED
|
@@ -777,6 +777,16 @@ var UsageMeter = class {
|
|
|
777
777
|
}
|
|
778
778
|
this.#usage.totalCost += usage.totalCost ?? 0;
|
|
779
779
|
}
|
|
780
|
+
setUsage(usage, messageCount) {
|
|
781
|
+
this.#usage.inputTokens = usage.inputTokens ?? this.#usage.inputTokens;
|
|
782
|
+
this.#usage.outputTokens = usage.outputTokens ?? this.#usage.outputTokens;
|
|
783
|
+
this.#usage.cacheWriteTokens = usage.cacheWriteTokens ?? this.#usage.cacheWriteTokens;
|
|
784
|
+
this.#usage.cacheReadTokens = usage.cacheReadTokens ?? this.#usage.cacheReadTokens;
|
|
785
|
+
this.#usage.totalCost = usage.totalCost ?? this.#usage.totalCost;
|
|
786
|
+
if (messageCount !== void 0) {
|
|
787
|
+
this.#messageCount = messageCount;
|
|
788
|
+
}
|
|
789
|
+
}
|
|
780
790
|
incrementMessageCount(count = 1) {
|
|
781
791
|
this.#messageCount += count;
|
|
782
792
|
}
|
|
@@ -803,7 +813,7 @@ var UsageMeter = class {
|
|
|
803
813
|
* Get current usage totals
|
|
804
814
|
*/
|
|
805
815
|
get usage() {
|
|
806
|
-
return { ...this.#usage };
|
|
816
|
+
return { ...this.#usage, messageCount: this.#messageCount };
|
|
807
817
|
}
|
|
808
818
|
printUsage() {
|
|
809
819
|
const { inputTokens, outputTokens, cacheReadTokens, cacheWriteTokens } = this.#usage;
|
|
@@ -2247,11 +2257,11 @@ ${agents}`;
|
|
|
2247
2257
|
}
|
|
2248
2258
|
const response = await this.#request(nextRequest);
|
|
2249
2259
|
const resp = await this.#handleResponse(response);
|
|
2250
|
-
if ("exit"
|
|
2251
|
-
this.#callback({ kind: "EndTask" /* EndTask */, agent: this, exitReason: resp.
|
|
2252
|
-
return resp.
|
|
2260
|
+
if (resp.type === "exit") {
|
|
2261
|
+
this.#callback({ kind: "EndTask" /* EndTask */, agent: this, exitReason: resp.reason });
|
|
2262
|
+
return resp.reason;
|
|
2253
2263
|
}
|
|
2254
|
-
nextRequest = resp.
|
|
2264
|
+
nextRequest = resp.message;
|
|
2255
2265
|
}
|
|
2256
2266
|
}
|
|
2257
2267
|
async continueTask(userMessage) {
|
|
@@ -2323,7 +2333,7 @@ ${agents}`;
|
|
|
2323
2333
|
if (toolReponses.length > 0) {
|
|
2324
2334
|
break outer;
|
|
2325
2335
|
}
|
|
2326
|
-
return { exit: toolResp };
|
|
2336
|
+
return { type: "exit", reason: toolResp };
|
|
2327
2337
|
case "Invalid" /* Invalid */:
|
|
2328
2338
|
await this.#callback({ kind: "ToolInvalid" /* ToolInvalid */, agent: this, tool: content.name });
|
|
2329
2339
|
toolReponses.push({ tool: content.name, response: toolResp.message });
|
|
@@ -2334,7 +2344,7 @@ ${agents}`;
|
|
|
2334
2344
|
break outer;
|
|
2335
2345
|
case "Interrupted" /* Interrupted */:
|
|
2336
2346
|
await this.#callback({ kind: "ToolInterrupted" /* ToolInterrupted */, agent: this, tool: content.name });
|
|
2337
|
-
return { exit: toolResp };
|
|
2347
|
+
return { type: "exit", reason: toolResp };
|
|
2338
2348
|
case "HandOver" /* HandOver */:
|
|
2339
2349
|
if (toolReponses.length > 0) {
|
|
2340
2350
|
break outer;
|
|
@@ -2348,7 +2358,7 @@ ${agents}`;
|
|
|
2348
2358
|
context: toolResp.context,
|
|
2349
2359
|
files: toolResp.files
|
|
2350
2360
|
});
|
|
2351
|
-
return { exit: toolResp };
|
|
2361
|
+
return { type: "exit", reason: toolResp };
|
|
2352
2362
|
case "Delegate" /* Delegate */:
|
|
2353
2363
|
if (toolReponses.length > 0) {
|
|
2354
2364
|
continue;
|
|
@@ -2362,17 +2372,17 @@ ${agents}`;
|
|
|
2362
2372
|
context: toolResp.context,
|
|
2363
2373
|
files: toolResp.files
|
|
2364
2374
|
});
|
|
2365
|
-
return { exit: toolResp };
|
|
2375
|
+
return { type: "exit", reason: toolResp };
|
|
2366
2376
|
}
|
|
2367
2377
|
break;
|
|
2368
2378
|
}
|
|
2369
2379
|
}
|
|
2370
2380
|
}
|
|
2371
2381
|
if (toolReponses.length === 0) {
|
|
2372
|
-
return {
|
|
2382
|
+
return { type: "reply", message: responsePrompts.requireUseTool };
|
|
2373
2383
|
}
|
|
2374
2384
|
const finalResp = toolReponses.map(({ tool, response: response2 }) => responsePrompts.toolResults(tool, response2)).join("\n\n");
|
|
2375
|
-
return {
|
|
2385
|
+
return { type: "reply", message: finalResp };
|
|
2376
2386
|
}
|
|
2377
2387
|
async #invokeTool(name, args) {
|
|
2378
2388
|
try {
|