pullfrog 0.1.59 → 0.1.61

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.
@@ -52,6 +52,16 @@ export declare function hasPostRunIssues(issues: PostRunIssues): boolean;
52
52
  * cache hit ratio at a glance. Dashboards that query `WorkflowRun.inputTokens`
53
53
  * directly are seeing the full total, not the log column.
54
54
  */
55
+ /**
56
+ * Which credential actually paid for a run.
57
+ *
58
+ * `subscription` is the one that changes what a cost figure MEANS: a Claude
59
+ * Pro/Max or ChatGPT subscription moves no per-token money, so a dollar figure
60
+ * on such a run is what it WOULD have cost on the API, not spend. Without this
61
+ * recorded, `WorkflowRun.costUsd` silently mixes the two and there is no way
62
+ * after the fact to separate them.
63
+ */
64
+ export type AgentCredential = "subscription" | "api_key" | "gateway" | "bedrock" | "vertex" | "foundry";
55
65
  export interface AgentUsage {
56
66
  agent: string;
57
67
  /** full billable input: non-cached + cache read + cache write */
@@ -120,6 +130,13 @@ export interface AgentRunContext {
120
130
  * server) so lingering SSE reconnects don't keep the outer timer alive.
121
131
  */
122
132
  onActivityTimeout?: (() => void) | undefined;
133
+ /**
134
+ * called when an aborted turn actually comes back and the harness intends to
135
+ * keep going. stands down the safety-net timer `onActivityTimeout` armed, so
136
+ * it only ever guards the window where an abort might have been ignored
137
+ * rather than force-exiting a run mid-salvage. see #1085.
138
+ */
139
+ onTurnRecovered?: (() => void) | undefined;
123
140
  onToolUse?: ((event: AgentToolUseEvent) => void) | undefined;
124
141
  /**
125
142
  * Pullfrog API JWT scoped to this run. agents only need this when they