@lloyal-labs/lloyal-agents 2.0.0 → 3.0.0

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 (79) hide show
  1. package/LICENSE +107 -0
  2. package/LICENSE-FAQ.md +256 -0
  3. package/README.md +31 -15
  4. package/dist/Agent.d.ts +15 -4
  5. package/dist/Agent.d.ts.map +1 -1
  6. package/dist/Agent.js +12 -2
  7. package/dist/Agent.js.map +1 -1
  8. package/dist/AgentPolicy.d.ts +92 -15
  9. package/dist/AgentPolicy.d.ts.map +1 -1
  10. package/dist/AgentPolicy.js +42 -14
  11. package/dist/AgentPolicy.js.map +1 -1
  12. package/dist/Tool.d.ts +45 -1
  13. package/dist/Tool.d.ts.map +1 -1
  14. package/dist/Tool.js +50 -2
  15. package/dist/Tool.js.map +1 -1
  16. package/dist/agent-pool.d.ts +4 -4
  17. package/dist/agent-pool.d.ts.map +1 -1
  18. package/dist/agent-pool.js +224 -53
  19. package/dist/agent-pool.js.map +1 -1
  20. package/dist/app-config.d.ts +50 -0
  21. package/dist/app-config.d.ts.map +1 -0
  22. package/dist/app-config.js +27 -0
  23. package/dist/app-config.js.map +1 -0
  24. package/dist/app-types.d.ts +309 -0
  25. package/dist/app-types.d.ts.map +1 -0
  26. package/dist/app-types.js +28 -0
  27. package/dist/app-types.js.map +1 -0
  28. package/dist/chunk.d.ts +118 -0
  29. package/dist/chunk.d.ts.map +1 -0
  30. package/dist/chunk.js +19 -0
  31. package/dist/chunk.js.map +1 -0
  32. package/dist/context.d.ts +76 -20
  33. package/dist/context.d.ts.map +1 -1
  34. package/dist/context.js +72 -20
  35. package/dist/context.js.map +1 -1
  36. package/dist/create-agent-pool.d.ts +18 -12
  37. package/dist/create-agent-pool.d.ts.map +1 -1
  38. package/dist/create-agent-pool.js +30 -29
  39. package/dist/create-agent-pool.js.map +1 -1
  40. package/dist/grant-store.d.ts +49 -0
  41. package/dist/grant-store.d.ts.map +1 -0
  42. package/dist/grant-store.js +33 -0
  43. package/dist/grant-store.js.map +1 -0
  44. package/dist/index.d.ts +10 -6
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +9 -5
  47. package/dist/index.js.map +1 -1
  48. package/dist/orchestrators.d.ts +15 -8
  49. package/dist/orchestrators.d.ts.map +1 -1
  50. package/dist/orchestrators.js +10 -10
  51. package/dist/orchestrators.js.map +1 -1
  52. package/dist/replay.d.ts +19 -19
  53. package/dist/replay.d.ts.map +1 -1
  54. package/dist/replay.js +29 -29
  55. package/dist/replay.js.map +1 -1
  56. package/dist/source.d.ts +31 -1
  57. package/dist/source.d.ts.map +1 -1
  58. package/dist/source.js +32 -2
  59. package/dist/source.js.map +1 -1
  60. package/dist/spine.d.ts +100 -0
  61. package/dist/spine.d.ts.map +1 -0
  62. package/dist/{shared-root.js → spine.js} +57 -38
  63. package/dist/spine.js.map +1 -0
  64. package/dist/toolkit.d.ts +44 -17
  65. package/dist/toolkit.d.ts.map +1 -1
  66. package/dist/toolkit.js +24 -14
  67. package/dist/toolkit.js.map +1 -1
  68. package/dist/trace-types.d.ts +36 -4
  69. package/dist/trace-types.d.ts.map +1 -1
  70. package/dist/types.d.ts +46 -15
  71. package/dist/types.d.ts.map +1 -1
  72. package/dist/use-agent.d.ts +10 -5
  73. package/dist/use-agent.d.ts.map +1 -1
  74. package/dist/use-agent.js +18 -15
  75. package/dist/use-agent.js.map +1 -1
  76. package/package.json +7 -5
  77. package/dist/shared-root.d.ts +0 -96
  78. package/dist/shared-root.d.ts.map +0 -1
  79. package/dist/shared-root.js.map +0 -1
@@ -1,27 +1,49 @@
1
1
  import type { Agent, ToolHistoryEntry } from './Agent';
2
+ import type { ToolRetryError } from './Tool';
2
3
  import { ContextPressure } from './agent-pool';
3
4
  import type { ParsedToolCall } from '@lloyal-labs/sdk';
4
5
  import type { PressureThresholds } from './types';
5
6
  /**
6
- * A declarative guard that rejects tool calls based on agent lineage.
7
+ * A declarative guard that rejects tool calls based on agent state.
7
8
  * Guards are checked in order before any tool is dispatched.
8
9
  *
10
+ * `tools` selects which tool calls this guard sees: a `string[]` matches
11
+ * by exact name; the literal `'*'` matches every call (used by the
12
+ * framework-injected authGuard — guards that need to
13
+ * inspect *every* call regardless of tool name).
14
+ *
15
+ * `reject` returns `true` to reject the call with `message`. It receives
16
+ * the parsed args, the full agent lineage's tool history, the agent
17
+ * itself, `toolName` (so `tools: '*'` guards know which tool they're
18
+ * gating), and the pool-level `config` (so guards can consult
19
+ * pool-resolved state such as the protected-tool set and the session's
20
+ * grants — see {@link PolicyConfig}). Guards that don't need `config`
21
+ * simply omit the parameter.
22
+ *
23
+ * `name` is the optional guard identifier surfaced via
24
+ * `ProduceAction.nudge.guard` so the pool can emit per-guard trace
25
+ * events (e.g., `tool:authReject` for `name: 'auth_reject'`). Omit it
26
+ * for guards whose only observable footprint is the resulting
27
+ * `pool:agentNudge` event.
28
+ *
9
29
  * @category Agents
10
30
  */
11
31
  export interface ToolGuard {
12
- /** Tool names this guard applies to */
13
- tools: string[];
14
- /** Return true to reject the call. Receives parsed args, full lineage history, and the agent itself. */
15
- reject: (args: Record<string, unknown>, lineageHistory: ToolHistoryEntry[], agent: Agent) => boolean;
16
- /** Error message sent back to the agent as a tool result */
32
+ /** Tool names this guard applies to; `'*'` matches every call. */
33
+ tools: string[] | '*';
34
+ /** Return true to reject the call. */
35
+ reject: (args: Record<string, unknown>, lineageHistory: ToolHistoryEntry[], agent: Agent, toolName: string, config: PolicyConfig) => boolean;
36
+ /** Error message sent back to the agent as a tool result. */
17
37
  message: string;
38
+ /** Optional identifier surfaced via `ProduceAction.nudge.guard`. */
39
+ name?: string;
18
40
  }
19
41
  export declare const defaultToolGuards: ToolGuard[];
20
42
  /**
21
43
  * Why the agent entered idle status.
22
44
  * @category Agents
23
45
  */
24
- export type IdleReason = 'reported' | 'pressure_critical' | 'pressure_softcut' | 'pressure_settle_reject' | 'settle_stall_break' | 'max_turns' | 'free_text_stop' | 'tool_error';
46
+ export type IdleReason = 'returned' | 'pressure_critical' | 'pressure_softcut' | 'pressure_settle_reject' | 'settle_stall_break' | 'max_turns' | 'free_text_stop' | 'tool_error';
25
47
  /**
26
48
  * Action returned by policy.onProduced — tells the pool what to do.
27
49
  * @category Agents
@@ -30,16 +52,21 @@ export type ProduceAction = {
30
52
  type: 'tool_call';
31
53
  tc: ParsedToolCall;
32
54
  } | {
33
- type: 'report';
55
+ type: 'return';
34
56
  result: string;
35
- } | {
57
+ }
58
+ /** `guard` carries the identifier of the rejecting `ToolGuard` — used to
59
+ * route `auth_reject` rejections to the `tool:authReject` trace event.
60
+ * Absent for nudges not produced by a guard. */
61
+ | {
36
62
  type: 'nudge';
37
63
  message: string;
64
+ guard?: string;
38
65
  } | {
39
66
  type: 'idle';
40
67
  reason: IdleReason;
41
68
  } | {
42
- type: 'free_text_report';
69
+ type: 'free_text_return';
43
70
  content: string;
44
71
  };
45
72
  /**
@@ -67,6 +94,25 @@ export type RecoveryAction = {
67
94
  } | {
68
95
  type: 'skip';
69
96
  };
97
+ /**
98
+ * Action returned by policy.onToolRetry — what to do when a tool throws
99
+ * {@link ToolRetryError} (transient failure, e.g. provider rate-limited).
100
+ *
101
+ * `retry` parks the agent (`awaiting_tool`, skipped by PRODUCE at zero
102
+ * cost — no turns, no tokens, no KV) and re-executes the same call after
103
+ * `afterMs` (defaults to the error's own `retryAfterMs` estimate).
104
+ * `fail` settles `message` (or the pool's directive default) as the tool
105
+ * result so the model can pivot.
106
+ *
107
+ * @category Agents
108
+ */
109
+ export type ToolRetryAction = {
110
+ type: 'retry';
111
+ afterMs?: number;
112
+ } | {
113
+ type: 'fail';
114
+ message?: string;
115
+ };
70
116
  /**
71
117
  * Agent lifecycle policy — injected strategy for pressure, nudge,
72
118
  * recursion, report timing, and result quality decisions.
@@ -154,6 +200,18 @@ export interface AgentPolicy {
154
200
  * Optional — defaults to skip when absent.
155
201
  */
156
202
  onRecovery?(agent: Agent, pressure: ContextPressure): RecoveryAction;
203
+ /**
204
+ * Transient tool failure (the tool threw {@link ToolRetryError}).
205
+ * Decide whether to park-and-retry or settle a failure result. The tool
206
+ * supplies a `retryAfterMs` estimate on the error; the policy may override
207
+ * it (`afterMs`) or refuse to wait at all — e.g. when the time budget
208
+ * can't afford a park.
209
+ *
210
+ * Absent → pool default: one retry at the error's own delay, then fail.
211
+ *
212
+ * @param attempt - 1 on the first failure of a call, 2 after one retry, …
213
+ */
214
+ onToolRetry?(agent: Agent, tool: string, error: ToolRetryError, attempt: number): ToolRetryAction;
157
215
  }
158
216
  /**
159
217
  * Pool-level configuration passed to policy methods.
@@ -161,8 +219,22 @@ export interface AgentPolicy {
161
219
  */
162
220
  export interface PolicyConfig {
163
221
  maxTurns: number;
164
- terminalTool?: string;
222
+ terminalToolName?: string;
165
223
  hasNonTerminalTools: boolean;
224
+ /**
225
+ * Tool names this pool declares `protected` (gathered from each
226
+ * {@link Tool.protected} flag). The authGuard gates only these; every
227
+ * other tool is open. Resolved once at pool setup. Undefined/empty when
228
+ * no tool in the pool is protected (the common case).
229
+ */
230
+ protectedTools?: ReadonlySet<string>;
231
+ /**
232
+ * Protected tool names the session currently holds a grant for — read
233
+ * from {@link GrantStoreCtx} at pool setup. The authGuard allows a
234
+ * protected tool iff its name is in this set. Undefined/empty = no
235
+ * grants (fail-closed: every protected tool denied).
236
+ */
237
+ grants?: ReadonlySet<string>;
166
238
  }
167
239
  /**
168
240
  * Default policy replicating the current inline if-logic from agent-pool.ts.
@@ -178,8 +250,8 @@ export interface PolicyConfig {
178
250
  * @category Agents
179
251
  */
180
252
  export interface DefaultAgentPolicyOpts {
181
- /** Min non-terminal tool calls before report is accepted without nudge. @default 2 */
182
- minToolCallsBeforeReport?: number;
253
+ /** Min non-terminal tool calls before a return is accepted without nudge. @default 2 */
254
+ minToolCallsBeforeReturn?: number;
183
255
  /** Replace default tool guards entirely. */
184
256
  guards?: ToolGuard[];
185
257
  /** Append additional guards to the defaults. */
@@ -231,7 +303,10 @@ export interface DefaultAgentPolicyOpts {
231
303
  /** Terminal tool name. When set, agents mid-generation of this tool are
232
304
  * protected from shouldExit — the hard limit is deferred until the tool
233
305
  * call completes naturally or KV pressure forces a kill. */
234
- terminalTool?: string;
306
+ terminalToolName?: string;
307
+ /** Max park-and-retry attempts per tool call on {@link ToolRetryError}
308
+ * before failing the call with a directive result. @default 1 */
309
+ maxToolRetries?: number;
235
310
  }
236
311
  export declare class DefaultAgentPolicy implements AgentPolicy {
237
312
  private _minToolCalls;
@@ -241,9 +316,11 @@ export declare class DefaultAgentPolicy implements AgentPolicy {
241
316
  private _forceExploit;
242
317
  private _recovery;
243
318
  private _budget;
244
- private _terminalTool;
319
+ private _terminalToolName;
320
+ private _maxToolRetries;
245
321
  private _startTime;
246
322
  constructor(opts?: DefaultAgentPolicyOpts);
323
+ onToolRetry(_agent: Agent, _tool: string, _error: ToolRetryError, attempt: number): ToolRetryAction;
247
324
  /**
248
325
  * Elapsed wall time for *this agent* (since its first idle→active transition),
249
326
  * falling back to the policy's own construction time when the agent hasn't
@@ -1 +1 @@
1
- {"version":3,"file":"AgentPolicy.d.ts","sourceRoot":"","sources":["../src/AgentPolicy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentPolicy.d.ts","sourceRoot":"","sources":["../src/AgentPolicy.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,26 @@ function parseHistoryArgs(argsStr) {
29
29
  }
30
30
  }
31
31
  exports.defaultToolGuards = [
32
+ // Framework-injected authGuard. Runs FIRST so a
33
+ // protected-tool rejection fires before any dedup guard — the pool
34
+ // emits a structured `tool:authReject` event keyed off
35
+ // `ProduceAction.nudge.guard === 'auth_reject'` for security
36
+ // observability. Reads/gather tools are OPEN: the guard only fires for
37
+ // a `protected` tool (in `config.protectedTools`) the session has not
38
+ // been granted (`config.grants`). When no tools are protected — the
39
+ // common case — this is a no-op.
40
+ {
41
+ name: 'auth_reject',
42
+ tools: '*',
43
+ reject: (_args, _history, _agent, toolName, config) => {
44
+ if (!config.protectedTools?.has(toolName))
45
+ return false; // open by default
46
+ return !config.grants?.has(toolName); // protected → deny unless granted
47
+ },
48
+ message: 'This action is protected and requires authorization that has not been ' +
49
+ 'granted for this session. Use the available read tools to gather what ' +
50
+ 'you can, and report what blocks completion.',
51
+ },
32
52
  {
33
53
  tools: ['fetch_page'],
34
54
  reject: (args, history) => {
@@ -57,10 +77,11 @@ class DefaultAgentPolicy {
57
77
  _forceExploit = false;
58
78
  _recovery;
59
79
  _budget;
60
- _terminalTool;
80
+ _terminalToolName;
81
+ _maxToolRetries;
61
82
  _startTime;
62
83
  constructor(opts) {
63
- this._minToolCalls = opts?.minToolCallsBeforeReport ?? 2;
84
+ this._minToolCalls = opts?.minToolCallsBeforeReturn ?? 2;
64
85
  this._exploreContext = opts?.shouldExplore?.context ?? 0.4;
65
86
  this._exploreTime = opts?.shouldExplore?.time ?? 0.5;
66
87
  this._guards = opts?.guards ?? [
@@ -69,9 +90,13 @@ class DefaultAgentPolicy {
69
90
  ];
70
91
  this._recovery = opts?.recovery ?? null;
71
92
  this._budget = opts?.budget ?? null;
72
- this._terminalTool = opts?.terminalTool ?? null;
93
+ this._terminalToolName = opts?.terminalToolName ?? null;
94
+ this._maxToolRetries = opts?.maxToolRetries ?? 1;
73
95
  this._startTime = performance.now();
74
96
  }
97
+ onToolRetry(_agent, _tool, _error, attempt) {
98
+ return attempt <= this._maxToolRetries ? { type: 'retry' } : { type: 'fail' };
99
+ }
75
100
  /**
76
101
  * Elapsed wall time for *this agent* (since its first idle→active transition),
77
102
  * falling back to the policy's own construction time when the agent hasn't
@@ -109,7 +134,7 @@ class DefaultAgentPolicy {
109
134
  // guard — stuck agents (same query repeated past maxTurns) saw only
110
135
  // turn-limit nudges instead of the dedup message that named the
111
136
  // actual problem (see trace-1776819196054 agent 65539).
112
- const guardRejection = this._checkGuards(tc, agent);
137
+ const guardRejection = this._checkGuards(tc, agent, config);
113
138
  if (guardRejection)
114
139
  return guardRejection;
115
140
  if (this._isOverBudget(agent, tc, pressure, config))
@@ -120,12 +145,12 @@ class DefaultAgentPolicy {
120
145
  // ── onProduced decision predicates ─────────────────────
121
146
  _handleNoToolCall(agent, parsed) {
122
147
  if (!agent.result && agent.toolCallCount > 0 && parsed.content) {
123
- return { type: 'free_text_report', content: parsed.content };
148
+ return { type: 'free_text_return', content: parsed.content };
124
149
  }
125
150
  return { type: 'idle', reason: 'free_text_stop' };
126
151
  }
127
152
  _isTerminalTool(tc, config) {
128
- return !!(config.terminalTool && tc.name === config.terminalTool);
153
+ return !!(config.terminalToolName && tc.name === config.terminalToolName);
129
154
  }
130
155
  _handleTerminalTool(tc, agent, config, pressure) {
131
156
  const underPressure = this._isUnderPressure(agent, pressure, config);
@@ -139,7 +164,7 @@ class DefaultAgentPolicy {
139
164
  catch {
140
165
  result = tc.arguments;
141
166
  }
142
- return { type: 'report', result };
167
+ return { type: 'return', result };
143
168
  }
144
169
  _isUnderPressure(agent, pressure, config) {
145
170
  const timeSoft = this._budget?.time?.softLimit;
@@ -148,12 +173,12 @@ class DefaultAgentPolicy {
148
173
  }
149
174
  _isOverBudget(agent, tc, pressure, config) {
150
175
  const underPressure = this._isUnderPressure(agent, pressure, config);
151
- return underPressure && (!config.terminalTool || tc.name !== config.terminalTool);
176
+ return underPressure && (!config.terminalToolName || tc.name !== config.terminalToolName);
152
177
  }
153
178
  _handleOverBudget(agent, tc, pressure, config) {
154
179
  const timeSoft = this._budget?.time?.softLimit;
155
180
  const timeNudge = timeSoft != null && this._elapsed(agent) >= timeSoft;
156
- if (config.terminalTool && agent.toolCallCount > 0 && !pressure.critical) {
181
+ if (config.terminalToolName && agent.toolCallCount > 0 && !pressure.critical) {
157
182
  if (!this._nudgedThisTick) {
158
183
  this._nudgedThisTick = true;
159
184
  // Budget the model can emit before `pressure.critical` kills it.
@@ -173,7 +198,7 @@ class DefaultAgentPolicy {
173
198
  }
174
199
  return { type: 'idle', reason: agent.turns >= config.maxTurns ? 'max_turns' : 'pressure_softcut' };
175
200
  }
176
- _checkGuards(tc, agent) {
201
+ _checkGuards(tc, agent, config) {
177
202
  const lineageHistory = agent.walkAncestors(a => a.toolHistory);
178
203
  let toolArgs;
179
204
  try {
@@ -183,15 +208,18 @@ class DefaultAgentPolicy {
183
208
  toolArgs = {};
184
209
  }
185
210
  for (const guard of this._guards) {
186
- if (guard.tools.includes(tc.name) && guard.reject(toolArgs, lineageHistory, agent)) {
187
- return { type: 'nudge', message: guard.message };
211
+ const applies = guard.tools === '*' || guard.tools.includes(tc.name);
212
+ if (!applies)
213
+ continue;
214
+ if (guard.reject(toolArgs, lineageHistory, agent, tc.name, config)) {
215
+ return { type: 'nudge', message: guard.message, guard: guard.name };
188
216
  }
189
217
  }
190
218
  return null;
191
219
  }
192
220
  onSettleReject(agent, _resultTokens, pressure, config) {
193
221
  // Nudge if possible — stateless, no escalation tracking
194
- if (config.terminalTool && agent.toolCallCount > 0) {
222
+ if (config.terminalToolName && agent.toolCallCount > 0) {
195
223
  const words = tokenBudgetAsWords(pressure.remaining - pressure.hardLimit);
196
224
  return { type: 'nudge', message: `Tool result too large for remaining KV. Report your findings now within ${words} words.` };
197
225
  }
@@ -208,7 +236,7 @@ class DefaultAgentPolicy {
208
236
  // `pressure.critical` fires, the agent must yield so the pool can
209
237
  // kill+recover before native OOM. Holding this protection through
210
238
  // critical territory was the DOJ runaway cause (trace-1776782401659).
211
- if (this._terminalTool && agent.currentTool === this._terminalTool && !pressure.critical)
239
+ if (this._terminalToolName && agent.currentTool === this._terminalToolName && !pressure.critical)
212
240
  return false;
213
241
  if (!pressure.critical) {
214
242
  const timeHard = this._budget?.time?.hardLimit;
@@ -1 +1 @@
1
- {"version":3,"file":"AgentPolicy.js","sourceRoot":"","sources":["../src/AgentPolicy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentPolicy.js","sourceRoot":"","sources":["../src/AgentPolicy.ts"],"names":[],"mappings":"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"}
package/dist/Tool.d.ts CHANGED
@@ -13,7 +13,7 @@ import type { JsonSchema, ToolSchema, ToolContext } from './types';
13
13
  * {@link runAgents}.
14
14
  *
15
15
  * `execute()` returns an Effection `Operation`, enabling tools to
16
- * spawn sub-agents via {@link runAgents} or {@link withSharedRoot}.
16
+ * spawn sub-agents via {@link agentPool} or {@link withSpine}.
17
17
  * For async work, wrap in `call()`. For synchronous tools, return
18
18
  * directly from the generator body.
19
19
  *
@@ -47,6 +47,28 @@ export declare abstract class Tool<TArgs = Record<string, unknown>> {
47
47
  abstract readonly description: string;
48
48
  /** JSON Schema describing the tool's expected arguments */
49
49
  abstract readonly parameters: JsonSchema;
50
+ /**
51
+ * Whether invoking this tool requires authorization.
52
+ *
53
+ * **Open by default** (`false`/unset): any agent may call the tool. This
54
+ * is the right setting for read/gather tools — search, fetch, grep — where
55
+ * agents discover an app's coverage by *trying*, the frontier-agentic
56
+ * pattern. The spine loads every app's tools for KV amortization; an open
57
+ * tool is callable regardless of which app a spawn nominally belongs to.
58
+ *
59
+ * **Protected** (`true`): the tool mutates state or takes a consequential
60
+ * action (transfer funds, file a ticket, send a message). The framework's
61
+ * authGuard denies the call unless the session holds a **grant** for it
62
+ * (held in {@link GrantStoreCtx}, acquired via consent — the model never
63
+ * sees the credential). A denied attempt rejects at dispatch time and
64
+ * emits `tool:authReject`.
65
+ *
66
+ * Trust changes *which grants a session holds*, never tool behaviour:
67
+ * execution is identical for trusted and untrusted apps. An app MAY mark
68
+ * an exfiltration-capable "read" (one that fetches arbitrary URLs) as
69
+ * protected — the binary flag delegates that judgment to the app.
70
+ */
71
+ readonly protected?: boolean;
50
72
  /**
51
73
  * Execute the tool with parsed arguments
52
74
  *
@@ -86,4 +108,26 @@ export declare abstract class Tool<TArgs = Record<string, unknown>> {
86
108
  */
87
109
  get schema(): ToolSchema;
88
110
  }
111
+ /**
112
+ * Thrown by a tool (or its backend provider) when the operation failed
113
+ * transiently and should be retried after a delay — rate limiting being the
114
+ * canonical case.
115
+ *
116
+ * The pool's DISPATCH phase catches this BEFORE the generic tool-error
117
+ * handler: instead of settling an error into the agent's KV, it parks the
118
+ * agent (`awaiting_tool` — skipped by PRODUCE at zero cost) and re-executes
119
+ * the same call after `retryAfterMs`. The model never sees transient
120
+ * infrastructure weather in its context; from its side the tool call just
121
+ * took longer. One retry is budgeted — a second ToolRetryError settles an
122
+ * honest "unavailable, use other sources" result, because at that point the
123
+ * outage is a fact the model needs in order to pivot.
124
+ *
125
+ * Observability: the pool emits `agent:tool_retry` (TUI) and `tool:retry`
126
+ * (trace) when parking, so a waiting agent is never mistaken for a hung one.
127
+ */
128
+ export declare class ToolRetryError extends Error {
129
+ readonly retryAfterMs: number;
130
+ readonly name = "ToolRetryError";
131
+ constructor(message: string, retryAfterMs: number);
132
+ }
89
133
  //# sourceMappingURL=Tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tool.d.ts","sourceRoot":"","sources":["../src/Tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,8BAAsB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACxD,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACtC,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEzC;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC;IAExE;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAEtC;;;;;;OAMG;IACH,IAAI,MAAM,IAAI,UAAU,CASvB;CACF"}
1
+ {"version":3,"file":"Tool.d.ts","sourceRoot":"","sources":["../src/Tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,8BAAsB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACxD,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACtC,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEzC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC;IAExE;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAEtC;;;;;;OAMG;IACH,IAAI,MAAM,IAAI,UAAU,CASvB;CACF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,cAAe,SAAQ,KAAK;IAEV,QAAQ,CAAC,YAAY,EAAE,MAAM;IAD1D,SAAkB,IAAI,oBAAoB;gBAC9B,OAAO,EAAE,MAAM,EAAW,YAAY,EAAE,MAAM;CAG3D"}
package/dist/Tool.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Tool = void 0;
3
+ exports.ToolRetryError = exports.Tool = void 0;
4
4
  /**
5
5
  * Abstract base class for tools usable by agents in the runtime
6
6
  *
@@ -14,7 +14,7 @@ exports.Tool = void 0;
14
14
  * {@link runAgents}.
15
15
  *
16
16
  * `execute()` returns an Effection `Operation`, enabling tools to
17
- * spawn sub-agents via {@link runAgents} or {@link withSharedRoot}.
17
+ * spawn sub-agents via {@link agentPool} or {@link withSpine}.
18
18
  * For async work, wrap in `call()`. For synchronous tools, return
19
19
  * directly from the generator body.
20
20
  *
@@ -42,6 +42,28 @@ exports.Tool = void 0;
42
42
  * @category Agents
43
43
  */
44
44
  class Tool {
45
+ /**
46
+ * Whether invoking this tool requires authorization.
47
+ *
48
+ * **Open by default** (`false`/unset): any agent may call the tool. This
49
+ * is the right setting for read/gather tools — search, fetch, grep — where
50
+ * agents discover an app's coverage by *trying*, the frontier-agentic
51
+ * pattern. The spine loads every app's tools for KV amortization; an open
52
+ * tool is callable regardless of which app a spawn nominally belongs to.
53
+ *
54
+ * **Protected** (`true`): the tool mutates state or takes a consequential
55
+ * action (transfer funds, file a ticket, send a message). The framework's
56
+ * authGuard denies the call unless the session holds a **grant** for it
57
+ * (held in {@link GrantStoreCtx}, acquired via consent — the model never
58
+ * sees the credential). A denied attempt rejects at dispatch time and
59
+ * emits `tool:authReject`.
60
+ *
61
+ * Trust changes *which grants a session holds*, never tool behaviour:
62
+ * execution is identical for trusted and untrusted apps. An app MAY mark
63
+ * an exfiltration-capable "read" (one that fetches arbitrary URLs) as
64
+ * protected — the binary flag delegates that judgment to the app.
65
+ */
66
+ protected;
45
67
  /**
46
68
  * Optional reasoning probe prefilled after this tool's result settles.
47
69
  *
@@ -75,4 +97,30 @@ class Tool {
75
97
  }
76
98
  }
77
99
  exports.Tool = Tool;
100
+ /**
101
+ * Thrown by a tool (or its backend provider) when the operation failed
102
+ * transiently and should be retried after a delay — rate limiting being the
103
+ * canonical case.
104
+ *
105
+ * The pool's DISPATCH phase catches this BEFORE the generic tool-error
106
+ * handler: instead of settling an error into the agent's KV, it parks the
107
+ * agent (`awaiting_tool` — skipped by PRODUCE at zero cost) and re-executes
108
+ * the same call after `retryAfterMs`. The model never sees transient
109
+ * infrastructure weather in its context; from its side the tool call just
110
+ * took longer. One retry is budgeted — a second ToolRetryError settles an
111
+ * honest "unavailable, use other sources" result, because at that point the
112
+ * outage is a fact the model needs in order to pivot.
113
+ *
114
+ * Observability: the pool emits `agent:tool_retry` (TUI) and `tool:retry`
115
+ * (trace) when parking, so a waiting agent is never mistaken for a hung one.
116
+ */
117
+ class ToolRetryError extends Error {
118
+ retryAfterMs;
119
+ name = 'ToolRetryError';
120
+ constructor(message, retryAfterMs) {
121
+ super(message);
122
+ this.retryAfterMs = retryAfterMs;
123
+ }
124
+ }
125
+ exports.ToolRetryError = ToolRetryError;
78
126
  //# sourceMappingURL=Tool.js.map
package/dist/Tool.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Tool.js","sourceRoot":"","sources":["../src/Tool.ts"],"names":[],"mappings":";;;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAsB,IAAI;IAyBxB;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,OAAgB,IAAmB,OAAO,IAAI,CAAC,CAAC,CAAC;IAEvD;;;;;;OAMG;IACH,IAAI,MAAM;QACR,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B;SACF,CAAC;IACJ,CAAC;CACF;AAzDD,oBAyDC"}
1
+ {"version":3,"file":"Tool.js","sourceRoot":"","sources":["../src/Tool.ts"],"names":[],"mappings":";;;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAsB,IAAI;IAQxB;;;;;;;;;;;;;;;;;;;;OAoBG;IACM,SAAS,CAAW;IAmB7B;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,OAAgB,IAAmB,OAAO,IAAI,CAAC,CAAC,CAAC;IAEvD;;;;;;OAMG;IACH,IAAI,MAAM;QACR,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B;SACF,CAAC;IACJ,CAAC;CACF;AAhFD,oBAgFC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAa,cAAe,SAAQ,KAAK;IAED;IADpB,IAAI,GAAG,gBAAgB,CAAC;IAC1C,YAAY,OAAe,EAAW,YAAoB;QACxD,KAAK,CAAC,OAAO,CAAC,CAAC;QADqB,iBAAY,GAAZ,YAAY,CAAQ;IAE1D,CAAC;CACF;AALD,wCAKC"}
@@ -116,17 +116,17 @@ export declare class ContextPressure {
116
116
  * @param opts - Pool configuration: tasks, tools, sampling params, max turns
117
117
  * @returns Agent pool result with per-agent findings and aggregate statistics
118
118
  *
119
- * @example Shared root with agent pool
119
+ * @example Spine with agent pool
120
120
  * ```typescript
121
- * const pool = yield* withSharedRoot(
121
+ * const pool = yield* withSpine(
122
122
  * { systemPrompt: RESEARCH_PROMPT, tools: toolsJson },
123
- * function*(root) {
123
+ * function*(spine) {
124
124
  * return yield* useAgentPool({
125
125
  * tasks: questions.map(q => ({
126
126
  * systemPrompt: RESEARCH_PROMPT,
127
127
  * content: q,
128
128
  * tools: toolsJson,
129
- * parent: root,
129
+ * parent: spine,
130
130
  * })),
131
131
  * tools: toolMap,
132
132
  * maxTurns: 6,
@@ -1 +1 @@
1
- {"version":3,"file":"agent-pool.d.ts","sourceRoot":"","sources":["../src/agent-pool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,EAA+G,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAYpK,OAAO,KAAK,EACV,kBAAkB,EAElB,gBAAgB,EAChB,eAAe,EACf,UAAU,EAEX,MAAM,SAAS,CAAC;AAsBjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,qBAAa,eAAe;IAC1B,kEAAkE;IAClE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,QAAQ;IAC1C;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,kBAAkB,OAAO;IACzC;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,eAAe,OAAO;IAEtC,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,kBAAkB;IAS1D;;;;OAIG;IACH,IAAI,QAAQ,IAAI,MAAM,CAA4C;IAElE,qEAAqE;IACrE,IAAI,QAAQ,IAAI,OAAO,CAA4C;IAEnE,iEAAiE;IACjE,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAEnC;;;;;OAKG;IACH,IAAI,gBAAgB,IAAI,MAAM,CAI7B;CACF;AAoRD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CA2uBzG"}
1
+ {"version":3,"file":"agent-pool.d.ts","sourceRoot":"","sources":["../src/agent-pool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,EAA0F,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAY/I,OAAO,KAAK,EACV,kBAAkB,EAElB,gBAAgB,EAChB,eAAe,EACf,UAAU,EAEX,MAAM,SAAS,CAAC;AAsBjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,qBAAa,eAAe;IAC1B,kEAAkE;IAClE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,QAAQ;IAC1C;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,kBAAkB,OAAO;IACzC;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,eAAe,OAAO;IAEtC,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,kBAAkB;IAS1D;;;;OAIG;IACH,IAAI,QAAQ,IAAI,MAAM,CAA4C;IAElE,qEAAqE;IACrE,IAAI,QAAQ,IAAI,OAAO,CAA4C;IAEnE,iEAAiE;IACjE,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAEnC;;;;;OAKG;IACH,IAAI,gBAAgB,IAAI,MAAM,CAI7B;CACF;AA6SD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAs4BzG"}