@happyvertical/smrt-agents 0.38.21 → 0.38.23
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/AGENTS.md +28 -0
- package/dist/delegation.d.ts +189 -0
- package/dist/delegation.d.ts.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +272 -2
- package/dist/index.js.map +1 -1
- package/dist/invoke-agent.d.ts +276 -0
- package/dist/invoke-agent.d.ts.map +1 -0
- package/dist/manifest.json +2 -2
- package/dist/smrt-knowledge.json +6 -6
- package/package.json +9 -9
package/AGENTS.md
CHANGED
|
@@ -130,11 +130,39 @@ The framework provides only the per-instance **identity**; a package scopes its
|
|
|
130
130
|
|
|
131
131
|
The **`default` persona reuses the singleton identity** (a `null` key), which is what makes the singleton→multi upgrade non-destructive — see `@happyvertical/smrt-personas` (`personaInstanceKey`, `upgradeSingletonToDefaultPersona`).
|
|
132
132
|
|
|
133
|
+
## Principal Execution (issue #1888)
|
|
134
|
+
|
|
135
|
+
`executeAsPrincipal(options, fn)` runs agent work **AS a persona's bound user**, reusing the existing RBAC cascade with no snapshotting. It publishes `(user_id, tenant_id, permissions[])` onto the DB session (Postgres RLS then bounds every query per-`(table, action)` and per-tenant) and hands `fn` a `PrincipalRun` whose `assertToolAllowed()` / `assertOperation()` enforce the persona tool ceiling and the RLS-off catalog gate. Effective authority = **bound-user RBAC ∩ agent-class ceiling ∩ persona `allowedTools`**. Actions audit as on-behalf-of the originating user via a `PrincipalAuditSink`.
|
|
136
|
+
|
|
137
|
+
## Agent Orchestration (issue #1892) — invoke-agent + principal delegation
|
|
138
|
+
|
|
139
|
+
A conversational (orchestrator) agent can invoke worker agents with **principal delegation**. This is *not* a new engine — it is a standard `invoke-agent` tool plus a completion-dispatch convention on top of `executeAsPrincipal` + the DispatchBus.
|
|
140
|
+
|
|
141
|
+
```typescript
|
|
142
|
+
import { createInvokeAgentTool, rootDelegationEnvelope } from '@happyvertical/smrt-agents';
|
|
143
|
+
|
|
144
|
+
const tool = createInvokeAgentTool({
|
|
145
|
+
db,
|
|
146
|
+
parentEnvelope: rootDelegationEnvelope({ runAsUserId, tenantId, onBehalfOfUserId }),
|
|
147
|
+
worker: async ({ run, agentClass, task }) => runWorker(run, agentClass, task),
|
|
148
|
+
});
|
|
149
|
+
// Offered through the chat tool loop as an `extraTools` entry, gated by the
|
|
150
|
+
// persona's allowedTools like any other tool (slug: 'agents.invoke').
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
- **`DelegationEnvelope`** carries the **immutable principal** (`runAsUserId` + `tenantId` + originating `onBehalfOfUserId`) and a bounded `depth`. `deriveDelegationEnvelope()` copies the principal verbatim and asserts `depth <= MAX_DELEGATION_DEPTH` (3) — a worker cannot invoke a further worker under a broader principal (`PrincipalWideningError` / `DelegationDepthExceededError`).
|
|
154
|
+
- **`createInvokeAgentTool()`** → a `PrincipalTool` whose handler derives the child envelope with the principal taken **from the live run context, never the tool args**, so the invoke-agent tool is structurally immune to principal widening.
|
|
155
|
+
- **`executeDelegatedInvocation()`** runs the worker via `executeAsPrincipal` under that same principal and emits a correlated `agent.completed` dispatch; **`surfaceAgentCompletions(bus, correlationId)`** reads it back into the conversation.
|
|
156
|
+
- **Transports** (pluggable): the default `inlineInvokeAgentTransport` runs the worker in-process (completion surfaces in the same turn); `createDispatchInvokeTransport(bus)` emits an `agent.invoke` signal a worker processes via `processAgentInvocations()` (async). A job-queue transport (enqueue on the `agents` queue) is a consumer-supplied `InvokeAgentTransport` — orchestration never hard-depends on `@happyvertical/smrt-jobs`, which sits *below* agents in the dependency graph.
|
|
157
|
+
|
|
133
158
|
## Key Files
|
|
134
159
|
|
|
135
160
|
| File | Purpose |
|
|
136
161
|
|------|---------|
|
|
137
162
|
| `src/agent.ts` | Base Agent class — lifecycle, dispatch, interests, config, opt-in learning trait, multi-instance identity |
|
|
163
|
+
| `src/execute-as-principal.ts` | `executeAsPrincipal` / `PrincipalRun` — run agent work as a persona's bound user (#1888) |
|
|
164
|
+
| `src/delegation.ts` | `DelegationEnvelope` — immutable principal + bounded delegation depth (#1892) |
|
|
165
|
+
| `src/invoke-agent.ts` | `invoke-agent` tool, worker executor, completion-dispatch convention, transports (#1892) |
|
|
138
166
|
| `src/learning.ts` | `AgentLearningConfig` + `resolveAgentLearning()` declaration normalisation |
|
|
139
167
|
| `src/schedule.ts` | AgentSchedule model — cron, execution tracking |
|
|
140
168
|
| `src/tenant-agent.ts` | TenantAgent — junction table, hierarchical resolution |
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Delegation envelope — the immutable principal + bounded depth carried along an
|
|
3
|
+
* agent-orchestration chain (L3 of the learning-agents epic, #1892).
|
|
4
|
+
*
|
|
5
|
+
* When a conversational (orchestrator) agent invokes a worker agent, and that
|
|
6
|
+
* worker in turn invokes a further worker, the whole chain must run as **one**
|
|
7
|
+
* principal — the originating user — and can never widen it. This module is the
|
|
8
|
+
* pure value object that encodes that invariant:
|
|
9
|
+
*
|
|
10
|
+
* - **Principal immutability.** `runAsUserId`, `tenantId`, and the originating
|
|
11
|
+
* `onBehalfOfUserId` are copied verbatim from parent to child by
|
|
12
|
+
* {@link deriveDelegationEnvelope}; there is no parameter to change them. A
|
|
13
|
+
* caller that *requests* a different principal (e.g. a compromised worker
|
|
14
|
+
* passing `runAsUserId` through the invoke-agent tool) is rejected by
|
|
15
|
+
* {@link assertPrincipalNotWidened} — the request is honoured only when it
|
|
16
|
+
* exactly equals the parent principal.
|
|
17
|
+
* - **Bounded depth.** Every derivation increments `depth` and asserts it stays
|
|
18
|
+
* within {@link MAX_DELEGATION_DEPTH}, so an orchestration chain (or an
|
|
19
|
+
* accidental invoke-yourself loop) can never recurse without limit.
|
|
20
|
+
*
|
|
21
|
+
* The envelope carries no authority of its own: the actual permission bound is
|
|
22
|
+
* still the originating user's live RBAC, enforced when the worker runs via
|
|
23
|
+
* `executeAsPrincipal` (Postgres RLS, or the catalog assert on RLS-off
|
|
24
|
+
* adapters). The envelope only guarantees *which* principal that is and *how
|
|
25
|
+
* deep* the chain may go.
|
|
26
|
+
*
|
|
27
|
+
* @module
|
|
28
|
+
*/
|
|
29
|
+
/**
|
|
30
|
+
* Maximum delegation depth for an orchestration chain. The orchestrator's own
|
|
31
|
+
* conversation is depth `0`; the first worker it invokes is depth `1`. A worker
|
|
32
|
+
* may invoke a further worker only while the resulting child depth stays within
|
|
33
|
+
* this ceiling, so a chain is at most `MAX_DELEGATION_DEPTH` workers long.
|
|
34
|
+
*/
|
|
35
|
+
export declare const MAX_DELEGATION_DEPTH = 3;
|
|
36
|
+
/**
|
|
37
|
+
* The immutable principal + bounded depth carried from an orchestrator to a
|
|
38
|
+
* worker (and along any further delegation). Serializable, so it can travel in a
|
|
39
|
+
* job's args or a DispatchBus payload to a worker running out of process.
|
|
40
|
+
*/
|
|
41
|
+
export interface DelegationEnvelope {
|
|
42
|
+
/**
|
|
43
|
+
* The user whose live permissions bound the worker's execution. Immutable
|
|
44
|
+
* along the chain — copied verbatim from parent to child.
|
|
45
|
+
*/
|
|
46
|
+
runAsUserId: string;
|
|
47
|
+
/** Tenant the principal acts within. Immutable along the chain. */
|
|
48
|
+
tenantId: string | null;
|
|
49
|
+
/**
|
|
50
|
+
* The originating user the whole chain acts **on behalf of** (audited). This
|
|
51
|
+
* is the human who started the conversation; it never changes as delegation
|
|
52
|
+
* deepens, so every action along the chain audits back to the same person.
|
|
53
|
+
*/
|
|
54
|
+
onBehalfOfUserId: string;
|
|
55
|
+
/**
|
|
56
|
+
* Current delegation depth. `0` for the orchestrator, `1` for its first
|
|
57
|
+
* worker, and so on — bounded by {@link MAX_DELEGATION_DEPTH}.
|
|
58
|
+
*/
|
|
59
|
+
depth: number;
|
|
60
|
+
/**
|
|
61
|
+
* Correlation id linking a worker invocation to the completion dispatch it
|
|
62
|
+
* emits, so the orchestrator can surface the result back into the
|
|
63
|
+
* conversation.
|
|
64
|
+
*/
|
|
65
|
+
correlationId: string;
|
|
66
|
+
/**
|
|
67
|
+
* The worker's tool ceiling (its persona's `allowedTools`), carried so a
|
|
68
|
+
* worker that itself runs a tool loop is bounded fail-closed. `undefined`
|
|
69
|
+
* normalizes to "no tools" at `executeAsPrincipal` — it never widens.
|
|
70
|
+
*/
|
|
71
|
+
allowedTools?: string[];
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* The principal fields a caller may *request* when deriving a child envelope.
|
|
75
|
+
* Any field that is provided must equal the parent's, or
|
|
76
|
+
* {@link assertPrincipalNotWidened} throws — the principal can only ever be
|
|
77
|
+
* inherited, never changed.
|
|
78
|
+
*/
|
|
79
|
+
export interface RequestedPrincipal {
|
|
80
|
+
runAsUserId?: string;
|
|
81
|
+
tenantId?: string | null;
|
|
82
|
+
onBehalfOfUserId?: string;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Thrown when a delegation would exceed {@link MAX_DELEGATION_DEPTH}.
|
|
86
|
+
*/
|
|
87
|
+
export declare class DelegationDepthExceededError extends Error {
|
|
88
|
+
readonly depth: number;
|
|
89
|
+
readonly maxDepth: number;
|
|
90
|
+
readonly status = 400;
|
|
91
|
+
constructor(depth: number, maxDepth: number);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Thrown when a delegation would *widen* the principal — i.e. a caller requests
|
|
95
|
+
* a `runAsUserId` / `tenantId` / `onBehalfOfUserId` that differs from the
|
|
96
|
+
* parent's. The principal is immutable along an orchestration chain.
|
|
97
|
+
*/
|
|
98
|
+
export declare class PrincipalWideningError extends Error {
|
|
99
|
+
readonly field: keyof RequestedPrincipal;
|
|
100
|
+
readonly status = 403;
|
|
101
|
+
constructor(field: keyof RequestedPrincipal, expected: unknown, got: unknown);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Assert a delegation depth is a valid, in-bounds depth.
|
|
105
|
+
*
|
|
106
|
+
* Rejects a non-integer, negative, or non-finite depth as well as one past the
|
|
107
|
+
* ceiling. This matters for the untrusted-payload path: an envelope
|
|
108
|
+
* reconstructed from a persisted dispatch/job could carry `NaN`, a negative, or
|
|
109
|
+
* a string-coerced value, and `NaN > maxDepth` is `false` — so a bare
|
|
110
|
+
* upper-bound check would let it silently bypass the bound and make delegation
|
|
111
|
+
* effectively unbounded.
|
|
112
|
+
*
|
|
113
|
+
* @throws {@link DelegationDepthExceededError} when `depth` is not an integer in `[0, maxDepth]`.
|
|
114
|
+
*/
|
|
115
|
+
export declare function assertWithinDelegationDepth(depth: number, maxDepth?: number): void;
|
|
116
|
+
/**
|
|
117
|
+
* Assert a *requested* principal does not widen the parent's.
|
|
118
|
+
*
|
|
119
|
+
* Each provided field must exactly equal the parent's; a mismatch throws
|
|
120
|
+
* {@link PrincipalWideningError}. Omitted fields are fine — they inherit. This
|
|
121
|
+
* is the defence-in-depth guard for the case where an envelope is reconstructed
|
|
122
|
+
* from an untrusted source (a worker's invoke-agent arguments, a job payload):
|
|
123
|
+
* the principal is only ever accepted when it matches, so it can never expand.
|
|
124
|
+
*/
|
|
125
|
+
export declare function assertPrincipalNotWidened(parent: Pick<DelegationEnvelope, 'runAsUserId' | 'tenantId' | 'onBehalfOfUserId'>, requested: RequestedPrincipal): void;
|
|
126
|
+
/**
|
|
127
|
+
* Options for {@link rootDelegationEnvelope}.
|
|
128
|
+
*/
|
|
129
|
+
export interface RootDelegationEnvelopeOptions {
|
|
130
|
+
/** The principal the orchestrator (and thus the whole chain) runs as. */
|
|
131
|
+
runAsUserId: string;
|
|
132
|
+
/** Tenant the principal acts within. */
|
|
133
|
+
tenantId: string | null;
|
|
134
|
+
/**
|
|
135
|
+
* The originating user the chain acts on behalf of. Defaults to
|
|
136
|
+
* `runAsUserId` when the orchestrator is itself operating directly.
|
|
137
|
+
*/
|
|
138
|
+
onBehalfOfUserId?: string;
|
|
139
|
+
/** Correlation id. A fresh UUID is generated when omitted. */
|
|
140
|
+
correlationId?: string;
|
|
141
|
+
/**
|
|
142
|
+
* The orchestrator's own tool ceiling. Carried for completeness; workers do
|
|
143
|
+
* **not** inherit it — a worker's ceiling comes from trusted per-worker policy
|
|
144
|
+
* (`resolveWorkerAllowedTools`) and is fail-closed (no tools) when absent.
|
|
145
|
+
*/
|
|
146
|
+
allowedTools?: string[];
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Build the depth-`0` (orchestrator) envelope that seeds an orchestration chain.
|
|
150
|
+
*
|
|
151
|
+
* The orchestrator's conversation is depth `0`; {@link deriveDelegationEnvelope}
|
|
152
|
+
* produces the depth-`1` envelope for the first worker it invokes.
|
|
153
|
+
*/
|
|
154
|
+
export declare function rootDelegationEnvelope(options: RootDelegationEnvelopeOptions): DelegationEnvelope;
|
|
155
|
+
/**
|
|
156
|
+
* Options for {@link deriveDelegationEnvelope}.
|
|
157
|
+
*/
|
|
158
|
+
export interface DeriveDelegationEnvelopeOptions {
|
|
159
|
+
/** Correlation id for the child invocation. A fresh UUID when omitted. */
|
|
160
|
+
correlationId?: string;
|
|
161
|
+
/**
|
|
162
|
+
* The invoked worker's tool ceiling. When omitted the child carries no tools
|
|
163
|
+
* (fail-closed); it is **not** inherited from the parent so a worker never
|
|
164
|
+
* silently gains the orchestrator's tools.
|
|
165
|
+
*/
|
|
166
|
+
allowedTools?: string[];
|
|
167
|
+
/**
|
|
168
|
+
* A principal a caller is *requesting* the child run as. Accepted only when it
|
|
169
|
+
* matches the parent principal exactly (see {@link assertPrincipalNotWidened});
|
|
170
|
+
* otherwise {@link PrincipalWideningError} is thrown. Omit to inherit.
|
|
171
|
+
*/
|
|
172
|
+
requestedPrincipal?: RequestedPrincipal;
|
|
173
|
+
/** Depth ceiling override (mainly for tests). */
|
|
174
|
+
maxDepth?: number;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Derive the child envelope for a worker invoked by the holder of `parent`.
|
|
178
|
+
*
|
|
179
|
+
* The child **inherits the parent's principal verbatim** (`runAsUserId`,
|
|
180
|
+
* `tenantId`, `onBehalfOfUserId`) — there is no way to change it — increments
|
|
181
|
+
* the depth (asserting the ceiling), and carries the invoked worker's own tool
|
|
182
|
+
* ceiling. A `requestedPrincipal` that differs from the parent's is rejected, so
|
|
183
|
+
* a worker can never invoke a further worker under a broader principal.
|
|
184
|
+
*
|
|
185
|
+
* @throws {@link DelegationDepthExceededError} when the child would exceed the depth ceiling.
|
|
186
|
+
* @throws {@link PrincipalWideningError} when a requested principal widens the parent's.
|
|
187
|
+
*/
|
|
188
|
+
export declare function deriveDelegationEnvelope(parent: DelegationEnvelope, options?: DeriveDelegationEnvelopeOptions): DelegationEnvelope;
|
|
189
|
+
//# sourceMappingURL=delegation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegation.d.ts","sourceRoot":"","sources":["../src/delegation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,OAAO;gBAEV,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAS5C;AAED;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,KAAK,EAAE,MAAM,kBAAkB,CAAC;IACzC,QAAQ,CAAC,MAAM,OAAO;gBAGpB,KAAK,EAAE,MAAM,kBAAkB,EAC/B,QAAQ,EAAE,OAAO,EACjB,GAAG,EAAE,OAAO;CAUf;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,MAA6B,GACtC,IAAI,CAIN;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,IAAI,CACV,kBAAkB,EAClB,aAAa,GAAG,UAAU,GAAG,kBAAkB,CAChD,EACD,SAAS,EAAE,kBAAkB,GAC5B,IAAI,CA+BN;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,yEAAyE;IACzE,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,6BAA6B,GACrC,kBAAkB,CASpB;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,GAAE,+BAAoC,GAC5C,kBAAkB,CAepB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,10 +3,12 @@ export { getClassConfigResolvers, getConfigResolver, isLazyConfigSentinel, listC
|
|
|
3
3
|
export { Agent, type AgentOptions } from './agent.js';
|
|
4
4
|
export { type AgentAIOptions, type AgentAISecretFallback, resolveAgentAIOptions, } from './ai-config.js';
|
|
5
5
|
export { AgentConfig, AgentConfigCollection } from './config.js';
|
|
6
|
+
export { assertPrincipalNotWidened, assertWithinDelegationDepth, DelegationDepthExceededError, type DelegationEnvelope, type DeriveDelegationEnvelopeOptions, deriveDelegationEnvelope, MAX_DELEGATION_DEPTH, PrincipalWideningError, type RequestedPrincipal, type RootDelegationEnvelopeOptions, rootDelegationEnvelope, } from './delegation.js';
|
|
6
7
|
export { type ExecuteAsPrincipalOptions, executeAsPrincipal, type PrincipalAuditEntry, type PrincipalAuditSink, type PrincipalBinding, type PrincipalRun, PrincipalToolNotAllowedError, } from './execute-as-principal.js';
|
|
7
8
|
export { instanceScopedSubscriber } from './identity.js';
|
|
8
9
|
export type { AgentWithInterestsOptions, AsyncQualifierFn, InterestFilter, InterestHandlerFn, InterestOptions, InterestResult, ObjectFilter, ObjectInterestConfig, QueryFn, } from './interests.js';
|
|
9
10
|
export { mergeFilters, normalizeSort } from './interests.js';
|
|
11
|
+
export { AGENT_COMPLETED_SIGNAL, AGENT_INVOKE_SIGNAL, type AgentCompletion, agentInvokeSignalType, type CreateInvokeAgentToolOptions, createDispatchInvokeTransport, createInvokeAgentTool, emitAgentCompletion, executeDelegatedInvocation, INVOKE_AGENT_FUNCTION_NAME, INVOKE_AGENT_TOOL_SLUG, type InvokeAgentDelivery, type InvokeAgentResult, type InvokeAgentTransport, inlineInvokeAgentTransport, type PrincipalTool, type PrincipalToolContext, processAgentInvocations, surfaceAgentCompletions, type WorkerInvocation, type WorkerRunner, } from './invoke-agent.js';
|
|
10
12
|
export { type AgentLearningConfig, type AgentLearningDeclaration, type ResolvedAgentLearning, resolveAgentLearning, } from './learning.js';
|
|
11
13
|
export { AgentSchedule, AgentScheduleCollection, type ScheduleStatus, } from './schedule.js';
|
|
12
14
|
export type { SummaryArticleImage, SummaryArticleOptions, SummaryArticleResult, } from './summary-article.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AAKH,OAAO,wBAAwB,CAAC;AAIhC,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|