@stratusagent/core 0.10.0 → 0.11.1
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/index.d.ts +236 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +277 -11
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -175,7 +175,19 @@ export type ProviderDelta = {
|
|
|
175
175
|
* - `gated` — a human should decide when nobody is watching: anything that
|
|
176
176
|
* acts on the world outside Stratus — the filesystem, the network,
|
|
177
177
|
* another service — or writes where other people read.
|
|
178
|
-
* - `dangerous` — destructive or hard to undo
|
|
178
|
+
* - `dangerous` — destructive or hard to undo, and **outside the scope
|
|
179
|
+
* engine entirely**: no `commandFor`, `destinationFor`, or `originFor`
|
|
180
|
+
* narrows it, and no answer is remembered, so a human decides every time
|
|
181
|
+
* or it is refused.
|
|
182
|
+
*
|
|
183
|
+
* No first-party tool declares `dangerous` any more. `browser.act` was its
|
|
184
|
+
* only member, and it was there because no scope model existed for a click
|
|
185
|
+
* rather than because a click is worse than a shell — per-origin scopes
|
|
186
|
+
* gave it one, and it is `gated` now. The tier stays because its real
|
|
187
|
+
* constituency was never the tools in this repository: a plugin manifest
|
|
188
|
+
* may declare it, and an operator's `toolRisks` may raise a bridged MCP
|
|
189
|
+
* tool to it, which is the only way to say "never unattended, whatever
|
|
190
|
+
* scopes exist" about somebody else's code.
|
|
179
191
|
*
|
|
180
192
|
* Provider spend is deliberately not the line. Every turn spends: a message
|
|
181
193
|
* arriving in Slack causes a provider call nobody approved, so a policy
|
|
@@ -202,6 +214,30 @@ export declare const resolveToolRisk: (tool: Pick<Tool, "risk"> | undefined) =>
|
|
|
202
214
|
export declare const atLeastAsRisky: (risk: ToolRisk, floor: ToolRisk) => boolean;
|
|
203
215
|
/** `risk`, raised to `floor` when it sits below it. Never lowers anything. */
|
|
204
216
|
export declare const raiseRiskTo: (risk: ToolRisk, floor: ToolRisk) => ToolRisk;
|
|
217
|
+
/**
|
|
218
|
+
* The origin of a URL — scheme, host, and port, and nothing else — or
|
|
219
|
+
* nothing when it does not have one this codebase is willing to name.
|
|
220
|
+
*
|
|
221
|
+
* The canonical form of what `Tool.originFor` returns, and therefore the
|
|
222
|
+
* canonical form of what an origin scope is compared against: the browser
|
|
223
|
+
* pack derives one from the page a conversation is on, the permission
|
|
224
|
+
* engine parses one out of a hand-edited grant file, and a second reading
|
|
225
|
+
* of "same site" between those two would be a grant that matches on one
|
|
226
|
+
* side and not the other. It lives here for the same reason
|
|
227
|
+
* `matchesToolAllowlist` does — with the seam whose contract it defines.
|
|
228
|
+
*
|
|
229
|
+
* Only `http:` and `https:` produce one. `about:blank`, `file:`, and
|
|
230
|
+
* `data:` have no meaningful origin (the URL parser answers the string
|
|
231
|
+
* `"null"` for them), and a grant that could be spelled `null` would cover
|
|
232
|
+
* every one of them at once.
|
|
233
|
+
*
|
|
234
|
+
* Note what is dropped, because it is what makes an origin nameable: no
|
|
235
|
+
* path, no query, no fragment, no credentials. A host is normalized the
|
|
236
|
+
* way the URL parser normalizes it — lowercased, and IDN hosts in their
|
|
237
|
+
* punycode form — so a homograph spelling of an approved host cannot be a
|
|
238
|
+
* second way to write the same grant.
|
|
239
|
+
*/
|
|
240
|
+
export declare const originOf: (rawUrl: string) => string | undefined;
|
|
205
241
|
/**
|
|
206
242
|
* Whether an agent's `tools:` allowlist permits a tool name.
|
|
207
243
|
*
|
|
@@ -269,6 +305,96 @@ export interface SkillRequirementFinding {
|
|
|
269
305
|
* test exists to prevent. Advisory by design — a skill is prose and can
|
|
270
306
|
* degrade, so callers warn and continue, never refuse.
|
|
271
307
|
*/
|
|
308
|
+
/**
|
|
309
|
+
* What an agent's `tools:` allowlist asks for that nothing registered
|
|
310
|
+
* provides.
|
|
311
|
+
*
|
|
312
|
+
* `unmatched` are the entries selecting no tool at all — a `fs.*` whose
|
|
313
|
+
* plugin was never installed, a name with a typo in it. `none` says every
|
|
314
|
+
* entry was such an entry, which is the case worth shouting about: the
|
|
315
|
+
* agent's allowlist grants it nothing, so none of the tools its persona
|
|
316
|
+
* talks about are there to call, and a model told to use a tool it has not
|
|
317
|
+
* been given tends to write the call out as prose instead — with a
|
|
318
|
+
* plausible result attached, which reads to everyone as the thing having
|
|
319
|
+
* happened.
|
|
320
|
+
*
|
|
321
|
+
* `none` is a statement about the ALLOWLIST, not about everything the
|
|
322
|
+
* provider will be shown. `skill.read` rides on the `skills:` gate rather
|
|
323
|
+
* than this one, so an agent with a skill enabled still has that much; it
|
|
324
|
+
* is not one of the tools the soul was written around, which is why the
|
|
325
|
+
* finding is still worth reporting in full.
|
|
326
|
+
*
|
|
327
|
+
* That exemption is also why the reader gets its own bucket. It is
|
|
328
|
+
* registered, so an entry naming it *looks* live while granting nothing —
|
|
329
|
+
* and `tools: [skill.read]` is then an allowlist that grants nothing while
|
|
330
|
+
* reporting clean, which is the one case this check exists for.
|
|
331
|
+
*
|
|
332
|
+
* Advisory rather than fatal, like `missingSkillRequirements`: an
|
|
333
|
+
* allowlist naming a tool the operator has not installed yet is a normal
|
|
334
|
+
* intermediate state, and refusing to serve the agent would be a worse
|
|
335
|
+
* answer than telling them.
|
|
336
|
+
*/
|
|
337
|
+
export interface ToolAllowlistFinding {
|
|
338
|
+
/** Allowlist entries that select no registered tool. */
|
|
339
|
+
unmatched: string[];
|
|
340
|
+
/**
|
|
341
|
+
* Entries whose only match is `skill.read` — registered, but granted by
|
|
342
|
+
* the `skills:` key rather than this one, so the entry grants nothing.
|
|
343
|
+
* Separate from `unmatched` because the fix is different: there is no
|
|
344
|
+
* plugin to install and no name to correct.
|
|
345
|
+
*/
|
|
346
|
+
inert: string[];
|
|
347
|
+
/**
|
|
348
|
+
* Entries selecting only tools another host registers — real names that
|
|
349
|
+
* this process does not have. Left to the caller to word, since only the
|
|
350
|
+
* caller knows which host it is not.
|
|
351
|
+
*/
|
|
352
|
+
elsewhere: string[];
|
|
353
|
+
/** Every entry is one of those, so the allowlist grants nothing here. */
|
|
354
|
+
none: boolean;
|
|
355
|
+
}
|
|
356
|
+
/** What excuses an entry from being read as a name that does not exist. */
|
|
357
|
+
export interface ToolAllowlistOptions {
|
|
358
|
+
/**
|
|
359
|
+
* Namespaces a loaded plugin is allowed to fill later — an MCP bridge
|
|
360
|
+
* still connecting registers nothing yet, so an entry aimed at one names
|
|
361
|
+
* a tool that has not arrived rather than one that will never exist.
|
|
362
|
+
*/
|
|
363
|
+
mayRegister?: readonly string[];
|
|
364
|
+
/**
|
|
365
|
+
* Tools a different host registers. `stratus run` has no dispatcher,
|
|
366
|
+
* store, or channels, so the daemon's `schedule.*`, `message.send`, and
|
|
367
|
+
* `agent.delegate` are absent from it while the soul naming them is
|
|
368
|
+
* correct — a distinction the caller states, because "elsewhere" has no
|
|
369
|
+
* meaning the kernel can name.
|
|
370
|
+
*/
|
|
371
|
+
elsewhere?: readonly string[];
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* Undefined when there is nothing to say: an agent with no `tools:` key is
|
|
375
|
+
* allowed every registered tool and cannot name one that does not exist.
|
|
376
|
+
*
|
|
377
|
+
* An *empty* list is not that agent. Omitting the key grants everything
|
|
378
|
+
* while `tools: []` grants nothing, and the parser keeps them apart — a
|
|
379
|
+
* bare `tools:` with nothing under it lands here too, which is the shape
|
|
380
|
+
* someone gets by writing the key and not filling it, or by deleting the
|
|
381
|
+
* last entry. There are no entries to name, so the finding carries none.
|
|
382
|
+
*/
|
|
383
|
+
export declare const unmatchedToolAllowlist: (agent: Pick<AgentDefinition, "tools">, registered: readonly string[], options?: ToolAllowlistOptions) => ToolAllowlistFinding | undefined;
|
|
384
|
+
/**
|
|
385
|
+
* The advisory lines for a finding — one per kind, because the fixes
|
|
386
|
+
* differ, plus the summary when the allowlist grants nothing at all.
|
|
387
|
+
*
|
|
388
|
+
* Shared so the daemon and a local `stratus run` say the same thing about
|
|
389
|
+
* one configuration rather than each writing its own reading of it; the
|
|
390
|
+
* hosts differ only in where the lines go and what they prefix.
|
|
391
|
+
*
|
|
392
|
+
* `elsewhere` gets no line here on purpose: naming the host that does have
|
|
393
|
+
* those tools is the caller's to do, and the kernel cannot. The summary
|
|
394
|
+
* still counts it, because an entry answered by another process is still
|
|
395
|
+
* an entry this one grants nothing for.
|
|
396
|
+
*/
|
|
397
|
+
export declare const describeToolAllowlistFinding: (agentId: string, finding: ToolAllowlistFinding) => string[];
|
|
272
398
|
export declare const missingSkillRequirements: (agent: Pick<AgentDefinition, "skills" | "tools">, skills: SkillRegistry) => SkillRequirementFinding[];
|
|
273
399
|
export interface ToolDescriptor {
|
|
274
400
|
name: string;
|
|
@@ -427,6 +553,16 @@ export interface CredentialResolver {
|
|
|
427
553
|
export interface ScopedCredentials {
|
|
428
554
|
get(name: string): Promise<string>;
|
|
429
555
|
}
|
|
556
|
+
/**
|
|
557
|
+
* The allowlist half of every `CredentialResolver`, so a second
|
|
558
|
+
* implementation cannot quietly become a second policy.
|
|
559
|
+
*
|
|
560
|
+
* This is the check that makes an agent's `credentials:` list mean
|
|
561
|
+
* something, and it belongs to the contract rather than to whichever
|
|
562
|
+
* resolver a host happens to install — a file-backed resolver that forgot
|
|
563
|
+
* it would hand every agent every key while still satisfying the interface.
|
|
564
|
+
*/
|
|
565
|
+
export declare const assertCredentialAllowed: (agent: AgentDefinition, name: string) => void;
|
|
430
566
|
export declare class EnvCredentialResolver implements CredentialResolver {
|
|
431
567
|
private readonly env;
|
|
432
568
|
constructor(env: Record<string, string | undefined>);
|
|
@@ -654,6 +790,33 @@ export interface Tool {
|
|
|
654
790
|
* not asked) is judged by `risk` alone.
|
|
655
791
|
*/
|
|
656
792
|
destinationFor?(input: JsonObject): string | undefined;
|
|
793
|
+
/**
|
|
794
|
+
* The origin this invocation would act on, for a tool whose blast radius
|
|
795
|
+
* is a site rather than a command or a recipient — `browser.act`, whose
|
|
796
|
+
* effect lives in the page it is pointed at. In the form `originOf`
|
|
797
|
+
* returns: `https://app.example.com`, scheme and host and port only.
|
|
798
|
+
*
|
|
799
|
+
* **Deliberately not given the call's input**, which is the difference
|
|
800
|
+
* between this and its two siblings. A CSS selector describes nothing —
|
|
801
|
+
* `click("#submit")` is equally "load more results" and "confirm
|
|
802
|
+
* purchase" — so the only thing about a browser action that an operator
|
|
803
|
+
* can read and mean is *where* it happens, and that has to come from the
|
|
804
|
+
* page the conversation is already on. An input parameter would be the
|
|
805
|
+
* agent's claim about where it is, which is exactly the thing a scope
|
|
806
|
+
* must not take on trust.
|
|
807
|
+
*
|
|
808
|
+
* Exposing this is a request to be judged by the origin, and it is also
|
|
809
|
+
* a statement that the tool must never receive a tool-wide grant: the
|
|
810
|
+
* permission engine refuses one for any tool that offers this hook, even
|
|
811
|
+
* on a call where it answers nothing, so one yes to a page can never
|
|
812
|
+
* become a standing yes to every page.
|
|
813
|
+
*
|
|
814
|
+
* Offer **one** scope hook or none. A tool exposing two — this and
|
|
815
|
+
* `commandFor`, say — is judged by neither and asks every time: each
|
|
816
|
+
* grant answers only its own question, and how two of them compose on
|
|
817
|
+
* one call is a decision nobody has made.
|
|
818
|
+
*/
|
|
819
|
+
originFor?(session: Session): string | undefined;
|
|
657
820
|
execute(input: JsonObject, session: Session, context?: ExecutionContext): Promise<JsonValue>;
|
|
658
821
|
}
|
|
659
822
|
export interface Executor {
|
|
@@ -747,6 +910,18 @@ export interface PendingApprovalRecord {
|
|
|
747
910
|
*/
|
|
748
911
|
parkedAt: string;
|
|
749
912
|
}
|
|
913
|
+
/**
|
|
914
|
+
* The text a session's latest turn produced, or undefined when the turn
|
|
915
|
+
* produced none.
|
|
916
|
+
*
|
|
917
|
+
* Walks back from the end and stops at the latest user message: an earlier
|
|
918
|
+
* turn's answer must never be replayed as this turn's reply when the
|
|
919
|
+
* provider returned no text (or only whitespace). Every surface that posts
|
|
920
|
+
* a reply from a stored session — a channel finishing a turn it did not
|
|
921
|
+
* start, a channel finalizing its own — reads it through this, so the two
|
|
922
|
+
* cannot disagree on which message is "the reply".
|
|
923
|
+
*/
|
|
924
|
+
export declare const latestTurnReply: (session: Pick<Session, "messages">) => string | undefined;
|
|
750
925
|
/** Reads the checkpoint off a session, if it is parked. */
|
|
751
926
|
export declare const readPendingApproval: (session: Session) => PendingApprovalRecord | undefined;
|
|
752
927
|
/**
|
|
@@ -818,6 +993,21 @@ export type StratusEvent = {
|
|
|
818
993
|
requestId: string;
|
|
819
994
|
call: ToolCall;
|
|
820
995
|
risk: ToolRisk;
|
|
996
|
+
/**
|
|
997
|
+
* The origin this call would act on, for a tool judged by one
|
|
998
|
+
* (`Tool.originFor`). Carried because the call's own arguments do not
|
|
999
|
+
* say: a renderer showing `browser.act` with `{"selector":"#submit"}`
|
|
1000
|
+
* and an **Always allow** button would be asking somebody to widen a
|
|
1001
|
+
* site they were never shown.
|
|
1002
|
+
*/
|
|
1003
|
+
origin?: string;
|
|
1004
|
+
/**
|
|
1005
|
+
* True when answering `always` runs this call once and remembers
|
|
1006
|
+
* nothing. A renderer must not offer an unconditional "always" for
|
|
1007
|
+
* one of these — the button would promise a standing grant the engine
|
|
1008
|
+
* will not create. See `Tool.originFor` and `ToolRisk`.
|
|
1009
|
+
*/
|
|
1010
|
+
oneShot?: boolean;
|
|
821
1011
|
metadata?: JsonObject;
|
|
822
1012
|
/**
|
|
823
1013
|
* When the request gives up and denies itself, ISO-8601. Absent when
|
|
@@ -898,6 +1088,30 @@ export declare class InMemorySessionStore implements SessionStore {
|
|
|
898
1088
|
export interface PluginContext {
|
|
899
1089
|
bus: EventBus;
|
|
900
1090
|
tools: ToolRegistry;
|
|
1091
|
+
/**
|
|
1092
|
+
* How a plugin resolves a credential for the agent whose call it is
|
|
1093
|
+
* serving, so it never needs `process.env`. It declares what it needs by
|
|
1094
|
+
* name in its manifest and receives exactly that, per call — which is
|
|
1095
|
+
* what a search backend needs to reach the *calling* agent's key rather
|
|
1096
|
+
* than one captured at setup.
|
|
1097
|
+
*
|
|
1098
|
+
* A host that omits it leaves every plugin that wants a credential with
|
|
1099
|
+
* no way to get one: such a plugin must fail the call naming what is
|
|
1100
|
+
* missing, never fall back to ambient environment. Read
|
|
1101
|
+
* `docs/architecture/plugins.md` on what this does and does not buy — a
|
|
1102
|
+
* plugin is code, so scoping it is an interface rather than a boundary.
|
|
1103
|
+
*/
|
|
1104
|
+
credentials?: CredentialResolver;
|
|
1105
|
+
/**
|
|
1106
|
+
* The host's log, for what a plugin has to say after `setup` returns —
|
|
1107
|
+
* a server that dropped, a reconnect that failed. The daemon's is the
|
|
1108
|
+
* structured log `stratus logs` reads. A host that omits these leaves
|
|
1109
|
+
* the plugin to its own stderr, which under a service manager is a line
|
|
1110
|
+
* nobody sees: plugin-mcp's disconnect warnings went there for as long
|
|
1111
|
+
* as this seam did not exist.
|
|
1112
|
+
*/
|
|
1113
|
+
log?: (message: string) => void;
|
|
1114
|
+
warn?: (message: string) => void;
|
|
901
1115
|
}
|
|
902
1116
|
export interface Plugin {
|
|
903
1117
|
name: string;
|
|
@@ -1031,6 +1245,27 @@ export declare class SkillRegistry {
|
|
|
1031
1245
|
*/
|
|
1032
1246
|
idsFor(canonicalId: string): string[];
|
|
1033
1247
|
list(): Skill[];
|
|
1248
|
+
/**
|
|
1249
|
+
* Become `next`, in one synchronous step — the swap behind a live reload.
|
|
1250
|
+
*
|
|
1251
|
+
* A reload cannot re-register into a serving registry: `register` throws
|
|
1252
|
+
* on every id already loaded, and unregistering one at a time would have
|
|
1253
|
+
* to re-derive which aliases a departed skill was blocking. So the loader
|
|
1254
|
+
* builds the whole next set into a fresh registry, and this adopts it —
|
|
1255
|
+
* skills, aliases, and the contested set together, so the alias rules
|
|
1256
|
+
* the build applied are exactly the ones that serve. Synchronous, so a
|
|
1257
|
+
* `read` in flight sees either the old set or the new one, never a
|
|
1258
|
+
* half-swapped map. A cached body survives only for a `Skill` object the
|
|
1259
|
+
* next set registers unchanged — a plugin's, re-registered by a host that
|
|
1260
|
+
* did not reload the plugin — and is dropped for one built afresh, since
|
|
1261
|
+
* that is a file that may have been replaced. Dropping a plugin's too
|
|
1262
|
+
* would serve a package's edited prose under a name and description
|
|
1263
|
+
* staged before the edit, without the restart a plugin change requires.
|
|
1264
|
+
* A read already underway keeps the promise it holds either way. `next`
|
|
1265
|
+
* is consumed — emptied, not shared — so nothing can go on mutating this
|
|
1266
|
+
* registry through it.
|
|
1267
|
+
*/
|
|
1268
|
+
replaceWith(next: SkillRegistry): void;
|
|
1034
1269
|
describe(): SkillDescriptor[];
|
|
1035
1270
|
/**
|
|
1036
1271
|
* The body behind an id, loaded lazily and cached per skill — keyed by
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,UAAU,GAAG,SAAS,EAAE,CAAC;AACpF,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,kBAAkB,GAAG,WAAW,GAAG,QAAQ,CAAC;AAC7F,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;AAEnE,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAsC;IAEpD,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe;IAKjD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAI5C;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAUpD;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI/B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe;IAQpC,IAAI,IAAI,eAAe,EAAE;CAG1B;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX;;;;;;OAMG;IACH,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAE1C;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE;AACjE;;;;GAIG;GACD;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IACE,IAAI,EAAE,OAAO,CAAC;IACd;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;CAC/B,CAAC;AAEN;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;AAEtD,eAAO,MAAM,iBAAiB,EAAE,QAAkB,CAAC;AAEnD,8EAA8E;AAC9E,eAAO,MAAM,eAAe,GAAI,MAAM,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,SAAS,KAAG,QACtC,CAAC;AAIlC;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,QAAQ,EAAE,OAAO,QAAQ,KAAG,OAC1B,CAAC;AAExC,8EAA8E;AAC9E,eAAO,MAAM,WAAW,GAAI,MAAM,QAAQ,EAAE,OAAO,QAAQ,KAAG,QAClB,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,oBAAoB,GAAI,UAAU,MAAM,EAAE,WAAW,SAAS,MAAM,EAAE,KAAG,OAClC,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,GAAI,SAAS,MAAM,EAAE,WAAW,SAAS,MAAM,EAAE,KAAG,OACnC,CAAC;AAEpD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,GAC9B,aAAa,MAAM,EACnB,WAAW,SAAS,MAAM,EAAE,GAAG,SAAS,KACvC,OAUF,CAAC;AAEF,0GAA0G;AAC1G,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,KAAK,CAAC;IACb,0EAA0E;IAC1E,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,GACnC,OAAO,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,OAAO,CAAC,EAChD,QAAQ,aAAa,KACpB,uBAAuB,EAwBzB,CAAC;AAcF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,kEAAkE;IAClE,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qFAAqF;AACrF,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAC3C;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAC3C,iEAAiE;AACjE,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,6EAA6E;AAC7E,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,yEAAyE;AACzE,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAIzC,kFAAkF;AAClF,eAAO,MAAM,uBAAuB,GAAI,SAAS,MAAM,KAAG,MAA4C,CAAC;AAEvG,gHAAgH;AAChH,eAAO,MAAM,4BAA4B,GAAI,SAAS,MAAM,KAAG,IAO9D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,MAAM,EACY,CAAC;AAErE;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,EAAE,aAAa,SAAS,MAAM,EAAE,KAAG,OAMpF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,GAAI,GAAG,WAAW,EAAE,GAAG,WAAW,KAAG,MAKzE,CAAC;AAEF,oGAAoG;AACpG,eAAO,MAAM,uBAAuB,GAAI,GAAG,WAAW,EAAE,GAAG,WAAW,KAAG,MAKxE,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,mHAAmH;IACnH,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,sEAAsE;AACtE,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,KAAG,MAOvD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAC1B,YAAY,SAAS,WAAW,EAAE,EAClC,OAAO,MAAM,EACb,WAAU,MAA8B,KACvC,gBA2BF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,YAAY,SAAS,WAAW,EAAE,EAAE,OAAO,MAAM,KAAG,gBAInF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACtF,gFAAgF;IAChF,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9E,sEAAsE;IACtE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAClF,mFAAmF;IACnF,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,iFAAiF;IACjF,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;CACrD;AAED,qBAAa,wBAAyB,YAAW,gBAAgB;IAC/D,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;gBAIrB,OAAO,GAAE;QAAE,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;KAAO;IAIxC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAgB3F,OAAO,CAAC,IAAI;IAMN,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQjF,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IASjF,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAW1D,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAG1D;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACpC;AAED,qBAAa,qBAAsB,YAAW,kBAAkB;IAC9D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqC;gBAG7C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAI7C,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAMjF;AAED,eAAO,MAAM,gBAAgB,GAC3B,OAAO,eAAe,EACtB,UAAU,kBAAkB,KAC3B,iBAQD,CAAC;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,UAAU;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C;;;;;;;;;;OAUG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,EAAE,GAAG,QAAQ,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,KAAG,MACP,CAAC;AAsBpF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,SAAS,UAAU,EAAE,KAAG,UAAU,GAAG,SAiB7E,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,kDAAkD;IAClD,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB;;;;OAIG;IACH,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC7C;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,iBAAiB,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC/D;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAA6C,CAAC;AAEvG;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,yDAAyD;IACzD,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,CAAC,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;IACnD;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;IACvD,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CAC9F;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACxG;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf;;;;;OAKG;IACH,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACrD;AAED,oEAAoE;AACpE,eAAO,MAAM,6BAA6B,oBAAoB,CAAC;AAE/D;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;;;OAWG;IACH,IAAI,EAAE,QAAQ,CAAC;IACf;;;;OAIG;IACH,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB;;;;;;;;OAQG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;;;OASG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB,GAAI,SAAS,OAAO,KAAG,qBAAqB,GAAG,SAsB9E,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExD;;;;;;;;GAQG;AACH,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,eAAe,CAAC;AAE7F,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,GACrE;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,EAAE,CAAA;CAAE,GACvE;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE;AAC5D;;;;;;;;;GASG;GACD;IACE,IAAI,EAAE,yBAAyB,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACD;IACE,IAAI,EAAE,wBAAwB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,wBAAwB,CAAC;IACjC,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;CACvB,GACD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjE,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzE,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CACzD;AAED,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;gBAEzC,OAAO,GAAE,eAAoB;IAIzC,SAAS,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM,IAAI;IActE,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAS/C;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1E,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC;;;;;;;OAOG;IACH,eAAe,CAAC,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC5D;AAED,qBAAa,oBAAqB,YAAW,YAAY;IACvD,OAAO,CAAC,QAAQ,CAA8B;IAExC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAOzE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAI7C,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAMhE;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACpD;;;;;;;;;;OAUG;IACH,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAClC;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAgB;IAE/B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIxB,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpD;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAKlC;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAA2B;IAExC,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAI1B;;;;;;;;;OASG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAInC,IAAI,IAAI,IAAI,EAAE;IAId,QAAQ,IAAI,cAAc,EAAE;CAQ7B;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,WAAW,KAAM,SAAQ,eAAe;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,iFAAiF;IACjF,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACzB;AAED;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,EAAE,EAAE,MAAM;CAIvB;AAED;;;;;;;;;GASG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,OAAO,CAA6B;IAC5C;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,MAAM,CAAsC;IAEpD,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAO5B;;;;;;OAMG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAmBvD,kDAAkD;IAClD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAItC;;;;;OAKG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIxB;;;;;OAKG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE;IAUrC,IAAI,IAAI,KAAK,EAAE;IAIf,QAAQ,IAAI,eAAe,EAAE;IAQ7B;;;;OAIG;IACG,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAoBxC;AAED,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAEjD,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CACpE;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,aAAa,EACrB,UAAS,oBAAyB,KACjC,IAmCD,CAAC;AAUH;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,cAAc,CAAC,EACrD,UAAS;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,KACnC,MAAM,GAAG,SAKX,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,QAAQ,SAAS,WAAW,EAAE,GAAG,SAAS,KAAG,MAAM,GAAG,SAMzF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,QAAQ,SAAS,eAAe,EAAE,GAAG,SAAS,KAAG,MAAM,GAAG,SAS7F,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,uBAAuB,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEnF,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,uBAAuB,GAClC,SAAS,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC,EAC/D,UAAS,mBAAwB,KAChC,mBAAmB,EAUrB,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,0BAA0B,GACrC,SAAS,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC,EAC/D,UAAS,mBAAwB,KAChC,MAAM,EAA8E,CAAC;AAExF,qEAAqE;AACrE,eAAO,MAAM,kBAAkB,GAC7B,SAAS,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC,EAC/D,UAAS,mBAAwB,KAChC,MAAM,GAAG,SAGX,CAAC;AAEF,qBAAa,eAAgB,YAAW,QAAQ;IACxC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;CAc7G;AAED,qBAAa,sBAAuB,YAAW,cAAc;IACrD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;CAGlC;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,KAAK,EAAE,eAAe,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,SAAgB;CAIpC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ,WAAW,GAAG,SAAS,KAAG,eACmB,CAAC;AAQpF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,kEAAkE;IAClE,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAID,qBAAa,WAAW;IACtB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;gBAEjC,OAAO,EAAE,kBAAkB;IAyBjC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IA2BtC,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IA+ClD;;;;;;OAMG;IACH,OAAO,CAAC,6BAA6B;IA+CrC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,UAAU;IAKlB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAcnB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAMvB,kGAAkG;IAClG,OAAO,CAAC,iBAAiB;IAIzB;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB;YAoBV,YAAY;IAqM1B;;;;;;;;;;;;OAYG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QACP;;;;WAIG;QACH,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,MAAM,CAAC,EAAE,WAAW,CAAC;KACjB,GACL,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IA8C/B;;;;;;;;OAQG;YACW,gBAAgB;IAoB9B;;;;OAIG;YACW,YAAY;IA4B1B;;;;;OAKG;IACG,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAsC9G;;;;;;OAMG;YACW,yBAAyB;YAqBzB,eAAe;CAoI9B"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -56,6 +56,49 @@ const RISK_ORDER = { safe: 0, gated: 1, dangerous: 2 };
|
|
|
56
56
|
export const atLeastAsRisky = (risk, floor) => RISK_ORDER[risk] >= RISK_ORDER[floor];
|
|
57
57
|
/** `risk`, raised to `floor` when it sits below it. Never lowers anything. */
|
|
58
58
|
export const raiseRiskTo = (risk, floor) => atLeastAsRisky(risk, floor) ? risk : floor;
|
|
59
|
+
/**
|
|
60
|
+
* The origin of a URL — scheme, host, and port, and nothing else — or
|
|
61
|
+
* nothing when it does not have one this codebase is willing to name.
|
|
62
|
+
*
|
|
63
|
+
* The canonical form of what `Tool.originFor` returns, and therefore the
|
|
64
|
+
* canonical form of what an origin scope is compared against: the browser
|
|
65
|
+
* pack derives one from the page a conversation is on, the permission
|
|
66
|
+
* engine parses one out of a hand-edited grant file, and a second reading
|
|
67
|
+
* of "same site" between those two would be a grant that matches on one
|
|
68
|
+
* side and not the other. It lives here for the same reason
|
|
69
|
+
* `matchesToolAllowlist` does — with the seam whose contract it defines.
|
|
70
|
+
*
|
|
71
|
+
* Only `http:` and `https:` produce one. `about:blank`, `file:`, and
|
|
72
|
+
* `data:` have no meaningful origin (the URL parser answers the string
|
|
73
|
+
* `"null"` for them), and a grant that could be spelled `null` would cover
|
|
74
|
+
* every one of them at once.
|
|
75
|
+
*
|
|
76
|
+
* Note what is dropped, because it is what makes an origin nameable: no
|
|
77
|
+
* path, no query, no fragment, no credentials. A host is normalized the
|
|
78
|
+
* way the URL parser normalizes it — lowercased, and IDN hosts in their
|
|
79
|
+
* punycode form — so a homograph spelling of an approved host cannot be a
|
|
80
|
+
* second way to write the same grant.
|
|
81
|
+
*/
|
|
82
|
+
export const originOf = (rawUrl) => {
|
|
83
|
+
let url;
|
|
84
|
+
try {
|
|
85
|
+
url = new URL(rawUrl);
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
return undefined;
|
|
89
|
+
}
|
|
90
|
+
return url.protocol === 'http:' || url.protocol === 'https:' ? url.origin : undefined;
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Where a tool's call would act for this session, in `originOf` form, or
|
|
94
|
+
* nothing when the tool does not answer that. Normalized rather than taken
|
|
95
|
+
* as written, so every comparison of an origin in this codebase is of the
|
|
96
|
+
* same thing.
|
|
97
|
+
*/
|
|
98
|
+
const originForSession = (tool, session) => {
|
|
99
|
+
const reported = tool.originFor?.(session);
|
|
100
|
+
return reported === undefined ? undefined : originOf(reported);
|
|
101
|
+
};
|
|
59
102
|
/**
|
|
60
103
|
* Whether an agent's `tools:` allowlist permits a tool name.
|
|
61
104
|
*
|
|
@@ -115,16 +158,118 @@ export const toolAllowlistCovers = (requirement, allowlist) => {
|
|
|
115
158
|
return matchesToolAllowlist(requirement, allowlist);
|
|
116
159
|
};
|
|
117
160
|
/**
|
|
118
|
-
*
|
|
119
|
-
*
|
|
161
|
+
* Undefined when there is nothing to say: an agent with no `tools:` key is
|
|
162
|
+
* allowed every registered tool and cannot name one that does not exist.
|
|
163
|
+
*
|
|
164
|
+
* An *empty* list is not that agent. Omitting the key grants everything
|
|
165
|
+
* while `tools: []` grants nothing, and the parser keeps them apart — a
|
|
166
|
+
* bare `tools:` with nothing under it lands here too, which is the shape
|
|
167
|
+
* someone gets by writing the key and not filling it, or by deleting the
|
|
168
|
+
* last entry. There are no entries to name, so the finding carries none.
|
|
169
|
+
*/
|
|
170
|
+
export const unmatchedToolAllowlist = (agent, registered, options = {}) => {
|
|
171
|
+
const mayRegister = options.mayRegister ?? [];
|
|
172
|
+
const elsewhere = options.elsewhere ?? [];
|
|
173
|
+
const allowlist = agent.tools;
|
|
174
|
+
if (!allowlist) {
|
|
175
|
+
return undefined;
|
|
176
|
+
}
|
|
177
|
+
if (allowlist.length === 0) {
|
|
178
|
+
return { unmatched: [], inert: [], elsewhere: [], none: true };
|
|
179
|
+
}
|
|
180
|
+
// Each entry judged on its own, because the question is which entry is
|
|
181
|
+
// dead rather than whether the list as a whole selects anything: an
|
|
182
|
+
// allowlist of four toolsets with one uninstalled should name that one.
|
|
183
|
+
//
|
|
184
|
+
// `mayRegister` is what keeps this from crying wolf at a bridge. A
|
|
185
|
+
// plugin declaring a discovered namespace registers nothing until it
|
|
186
|
+
// connects, and an unreachable server at startup is a reconnect rather
|
|
187
|
+
// than a failure — so an entry aimed at one is a tool that has not
|
|
188
|
+
// arrived yet, not a typo.
|
|
189
|
+
//
|
|
190
|
+
// Overlap either way excuses the entry, because either way the entry
|
|
191
|
+
// selects tools that namespace will bring: `mcp.linear.*` sits under a
|
|
192
|
+
// declared `mcp.*`, and a granted `mcp.*` covers everything a narrower
|
|
193
|
+
// declared `mcp.linear.*` will register — namespaces nest, so both
|
|
194
|
+
// shapes are real. Entry and namespace are passed where a tool name
|
|
195
|
+
// goes on purpose: both are the same dotted-prefix glob, so this is the
|
|
196
|
+
// reading the allowlists already use rather than a second one.
|
|
197
|
+
const overlaps = (entry, namespace) => matchesToolAllowlist(entry, [namespace]) || matchesToolAllowlist(namespace, [entry]);
|
|
198
|
+
// The reader is registered but this key never grants it: both of the
|
|
199
|
+
// runner's gates key on the agent having a skill enabled, and neither
|
|
200
|
+
// consults `tools:`. Matching against it would let it stand in for a
|
|
201
|
+
// grant it does not make — `tools: [skill.read]` reporting clean while
|
|
202
|
+
// granting nothing at all.
|
|
203
|
+
const readerRegistered = registered.includes(SKILL_READ_TOOL_NAME);
|
|
204
|
+
const grantable = readerRegistered
|
|
205
|
+
? registered.filter((name) => name !== SKILL_READ_TOOL_NAME)
|
|
206
|
+
: registered;
|
|
207
|
+
const dead = allowlist.filter((entry) => !grantable.some((name) => matchesToolAllowlist(name, [entry]))
|
|
208
|
+
&& !mayRegister.some((namespace) => overlaps(entry, namespace)));
|
|
209
|
+
if (dead.length === 0) {
|
|
210
|
+
return undefined;
|
|
211
|
+
}
|
|
212
|
+
// Split by what the operator should do about it. An entry that reached
|
|
213
|
+
// only the reader is a soul listing a tool this key does not control;
|
|
214
|
+
// sending them to install a plugin for it would send them after one that
|
|
215
|
+
// does not exist. The reader has to be registered for an entry to have
|
|
216
|
+
// reached it — with an empty registry `*` names nothing, reader included.
|
|
217
|
+
const reachesReader = (entry) => readerRegistered && matchesToolAllowlist(SKILL_READ_TOOL_NAME, [entry]);
|
|
218
|
+
// A name another host registers is correct, so it is neither a typo nor
|
|
219
|
+
// a plugin to install — the soul is right and the process is the wrong
|
|
220
|
+
// one to have loaded it. Matched as ordinary names, because an entry
|
|
221
|
+
// reads them exactly as it reads the registry's.
|
|
222
|
+
const isElsewhere = (entry) => !reachesReader(entry) && elsewhere.some((name) => matchesToolAllowlist(name, [entry]));
|
|
223
|
+
return {
|
|
224
|
+
unmatched: dead.filter((entry) => !reachesReader(entry) && !isElsewhere(entry)),
|
|
225
|
+
inert: dead.filter(reachesReader),
|
|
226
|
+
elsewhere: dead.filter(isElsewhere),
|
|
227
|
+
none: dead.length === allowlist.length,
|
|
228
|
+
};
|
|
229
|
+
};
|
|
230
|
+
/**
|
|
231
|
+
* The advisory lines for a finding — one per kind, because the fixes
|
|
232
|
+
* differ, plus the summary when the allowlist grants nothing at all.
|
|
233
|
+
*
|
|
234
|
+
* Shared so the daemon and a local `stratus run` say the same thing about
|
|
235
|
+
* one configuration rather than each writing its own reading of it; the
|
|
236
|
+
* hosts differ only in where the lines go and what they prefix.
|
|
120
237
|
*
|
|
121
|
-
*
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
*
|
|
125
|
-
* test exists to prevent. Advisory by design — a skill is prose and can
|
|
126
|
-
* degrade, so callers warn and continue, never refuse.
|
|
238
|
+
* `elsewhere` gets no line here on purpose: naming the host that does have
|
|
239
|
+
* those tools is the caller's to do, and the kernel cannot. The summary
|
|
240
|
+
* still counts it, because an entry answered by another process is still
|
|
241
|
+
* an entry this one grants nothing for.
|
|
127
242
|
*/
|
|
243
|
+
export const describeToolAllowlistFinding = (agentId, finding) => {
|
|
244
|
+
const lines = [];
|
|
245
|
+
// An allowlist that grants nothing with no entry to blame can only be the
|
|
246
|
+
// empty one, so the shape identifies itself and needs no field of its own.
|
|
247
|
+
// Its fix is its own: there is no name to correct and no plugin to
|
|
248
|
+
// install, and the two spellings of "everything" and "nothing" are one
|
|
249
|
+
// line apart in the file.
|
|
250
|
+
if (finding.none
|
|
251
|
+
&& finding.unmatched.length === 0
|
|
252
|
+
&& finding.inert.length === 0
|
|
253
|
+
&& finding.elsewhere.length === 0) {
|
|
254
|
+
return [
|
|
255
|
+
`agent ${agentId} has an empty tools: list, which grants nothing`
|
|
256
|
+
+ ' — remove the key to allow every registered tool, or list the ones it should have',
|
|
257
|
+
];
|
|
258
|
+
}
|
|
259
|
+
if (finding.unmatched.length > 0) {
|
|
260
|
+
lines.push(`agent ${agentId} lists tools nothing registered provides: ${finding.unmatched.join(', ')}`
|
|
261
|
+
+ ' — check the names, or install the plugin that provides them');
|
|
262
|
+
}
|
|
263
|
+
if (finding.inert.length > 0) {
|
|
264
|
+
lines.push(`agent ${agentId} lists ${finding.inert.join(', ')} under tools:, which grants nothing`
|
|
265
|
+
+ ` — ${SKILL_READ_TOOL_NAME} is granted by the skills: key instead`);
|
|
266
|
+
}
|
|
267
|
+
if (finding.none) {
|
|
268
|
+
lines.push(`agent ${agentId} has an allowlist that grants nothing, so none of the tools its persona`
|
|
269
|
+
+ ' talks about are there to call');
|
|
270
|
+
}
|
|
271
|
+
return lines;
|
|
272
|
+
};
|
|
128
273
|
export const missingSkillRequirements = (agent, skills) => {
|
|
129
274
|
const allowlist = agent.skills;
|
|
130
275
|
if (!allowlist || allowlist.length === 0) {
|
|
@@ -330,6 +475,20 @@ export class InMemoryAgentMemoryStore {
|
|
|
330
475
|
return (this.entries.get(agentId) ?? []).map((entry) => ({ ...entry })).sort(compareMemoryChronology);
|
|
331
476
|
}
|
|
332
477
|
}
|
|
478
|
+
/**
|
|
479
|
+
* The allowlist half of every `CredentialResolver`, so a second
|
|
480
|
+
* implementation cannot quietly become a second policy.
|
|
481
|
+
*
|
|
482
|
+
* This is the check that makes an agent's `credentials:` list mean
|
|
483
|
+
* something, and it belongs to the contract rather than to whichever
|
|
484
|
+
* resolver a host happens to install — a file-backed resolver that forgot
|
|
485
|
+
* it would hand every agent every key while still satisfying the interface.
|
|
486
|
+
*/
|
|
487
|
+
export const assertCredentialAllowed = (agent, name) => {
|
|
488
|
+
if (!agent.credentials?.includes(name)) {
|
|
489
|
+
throw new Error(`Agent ${agent.id} is not allowed to access credential: ${name}`);
|
|
490
|
+
}
|
|
491
|
+
};
|
|
333
492
|
export class EnvCredentialResolver {
|
|
334
493
|
env;
|
|
335
494
|
// Pass process.env (or any map) explicitly — core stays platform-agnostic.
|
|
@@ -337,9 +496,7 @@ export class EnvCredentialResolver {
|
|
|
337
496
|
this.env = env;
|
|
338
497
|
}
|
|
339
498
|
async resolve(agent, name) {
|
|
340
|
-
|
|
341
|
-
throw new Error(`Agent ${agent.id} is not allowed to access credential: ${name}`);
|
|
342
|
-
}
|
|
499
|
+
assertCredentialAllowed(agent, name);
|
|
343
500
|
return this.env[name];
|
|
344
501
|
}
|
|
345
502
|
}
|
|
@@ -421,6 +578,32 @@ export const totalTokenUsage = (records) => {
|
|
|
421
578
|
export const DEFAULT_SUBPROCESS_PASS_ENV = ['PATH', 'HOME', 'LANG', 'LC_ALL', 'TZ'];
|
|
422
579
|
/** Where a parked turn's checkpoint lives in `session.metadata`. */
|
|
423
580
|
export const PENDING_APPROVAL_METADATA_KEY = 'pendingApproval';
|
|
581
|
+
/**
|
|
582
|
+
* The text a session's latest turn produced, or undefined when the turn
|
|
583
|
+
* produced none.
|
|
584
|
+
*
|
|
585
|
+
* Walks back from the end and stops at the latest user message: an earlier
|
|
586
|
+
* turn's answer must never be replayed as this turn's reply when the
|
|
587
|
+
* provider returned no text (or only whitespace). Every surface that posts
|
|
588
|
+
* a reply from a stored session — a channel finishing a turn it did not
|
|
589
|
+
* start, a channel finalizing its own — reads it through this, so the two
|
|
590
|
+
* cannot disagree on which message is "the reply".
|
|
591
|
+
*/
|
|
592
|
+
export const latestTurnReply = (session) => {
|
|
593
|
+
for (let index = session.messages.length - 1; index >= 0; index -= 1) {
|
|
594
|
+
const message = session.messages[index];
|
|
595
|
+
if (!message) {
|
|
596
|
+
continue;
|
|
597
|
+
}
|
|
598
|
+
if (message.role === 'user') {
|
|
599
|
+
return undefined;
|
|
600
|
+
}
|
|
601
|
+
if (message.role === 'assistant' && message.content.trim().length > 0) {
|
|
602
|
+
return message.content;
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
return undefined;
|
|
606
|
+
};
|
|
424
607
|
/** Reads the checkpoint off a session, if it is parked. */
|
|
425
608
|
export const readPendingApproval = (session) => {
|
|
426
609
|
const raw = session.metadata?.[PENDING_APPROVAL_METADATA_KEY];
|
|
@@ -642,6 +825,42 @@ export class SkillRegistry {
|
|
|
642
825
|
list() {
|
|
643
826
|
return [...this.skills.values()];
|
|
644
827
|
}
|
|
828
|
+
/**
|
|
829
|
+
* Become `next`, in one synchronous step — the swap behind a live reload.
|
|
830
|
+
*
|
|
831
|
+
* A reload cannot re-register into a serving registry: `register` throws
|
|
832
|
+
* on every id already loaded, and unregistering one at a time would have
|
|
833
|
+
* to re-derive which aliases a departed skill was blocking. So the loader
|
|
834
|
+
* builds the whole next set into a fresh registry, and this adopts it —
|
|
835
|
+
* skills, aliases, and the contested set together, so the alias rules
|
|
836
|
+
* the build applied are exactly the ones that serve. Synchronous, so a
|
|
837
|
+
* `read` in flight sees either the old set or the new one, never a
|
|
838
|
+
* half-swapped map. A cached body survives only for a `Skill` object the
|
|
839
|
+
* next set registers unchanged — a plugin's, re-registered by a host that
|
|
840
|
+
* did not reload the plugin — and is dropped for one built afresh, since
|
|
841
|
+
* that is a file that may have been replaced. Dropping a plugin's too
|
|
842
|
+
* would serve a package's edited prose under a name and description
|
|
843
|
+
* staged before the edit, without the restart a plugin change requires.
|
|
844
|
+
* A read already underway keeps the promise it holds either way. `next`
|
|
845
|
+
* is consumed — emptied, not shared — so nothing can go on mutating this
|
|
846
|
+
* registry through it.
|
|
847
|
+
*/
|
|
848
|
+
replaceWith(next) {
|
|
849
|
+
const kept = new Map();
|
|
850
|
+
for (const [id, body] of this.bodies) {
|
|
851
|
+
if (next.skills.get(id) === this.skills.get(id)) {
|
|
852
|
+
kept.set(id, body);
|
|
853
|
+
}
|
|
854
|
+
}
|
|
855
|
+
this.skills = next.skills;
|
|
856
|
+
this.aliases = next.aliases;
|
|
857
|
+
this.contestedAliases = next.contestedAliases;
|
|
858
|
+
this.bodies = kept;
|
|
859
|
+
next.skills = new Map();
|
|
860
|
+
next.aliases = new Map();
|
|
861
|
+
next.contestedAliases = new Set();
|
|
862
|
+
next.bodies = new Map();
|
|
863
|
+
}
|
|
645
864
|
describe() {
|
|
646
865
|
return this.list().map((skill) => ({
|
|
647
866
|
id: skill.id,
|
|
@@ -1494,6 +1713,31 @@ export class AgentRunner {
|
|
|
1494
1713
|
parkedAt: options.parkedAt ?? new Date().toISOString(),
|
|
1495
1714
|
});
|
|
1496
1715
|
}
|
|
1716
|
+
/**
|
|
1717
|
+
* Where this call was judged, captured the instant the policy answered.
|
|
1718
|
+
*
|
|
1719
|
+
* `Tool.originFor` says a call is judged by the page its conversation
|
|
1720
|
+
* is on, and the approval is not the last thing between that judgement
|
|
1721
|
+
* and the act: clearing the checkpoint is a store write, and
|
|
1722
|
+
* `tool.called` is delivered to every subscriber, awaited, before the
|
|
1723
|
+
* executor is reached. A page that navigates inside all that would be
|
|
1724
|
+
* clicked on having been judged somewhere else, and the policy's own
|
|
1725
|
+
* re-read cannot see past its own return. So the seam's contract is
|
|
1726
|
+
* enforced where the dispatch happens, which is the only place that
|
|
1727
|
+
* can — read again below, immediately before the executor.
|
|
1728
|
+
*
|
|
1729
|
+
* Read *after* the policy rather than before it, and that is not a
|
|
1730
|
+
* detail: a policy judges the page as it stands when it decides, which
|
|
1731
|
+
* is deliberately after it has loaded whatever grants it consults. A
|
|
1732
|
+
* snapshot taken before the call would disagree with the answer for
|
|
1733
|
+
* every page that moved during that load, and would refuse an action
|
|
1734
|
+
* the policy had just correctly allowed. Nothing awaits between the
|
|
1735
|
+
* policy's return and this line, so the two agree by construction.
|
|
1736
|
+
*
|
|
1737
|
+
* A tool that does not answer this reads `undefined` both times and is
|
|
1738
|
+
* unaffected.
|
|
1739
|
+
*/
|
|
1740
|
+
let originWhenJudged;
|
|
1497
1741
|
let approved;
|
|
1498
1742
|
try {
|
|
1499
1743
|
approved = await this.approvals.approve({
|
|
@@ -1504,6 +1748,7 @@ export class AgentRunner {
|
|
|
1504
1748
|
...(signal ? { signal } : {}),
|
|
1505
1749
|
...(options.parkedAt ? { parkedAt: options.parkedAt } : {}),
|
|
1506
1750
|
});
|
|
1751
|
+
originWhenJudged = originForSession(tool, session);
|
|
1507
1752
|
}
|
|
1508
1753
|
finally {
|
|
1509
1754
|
// Cleared before anything executes and on every exit — an abort that
|
|
@@ -1525,6 +1770,27 @@ export class AgentRunner {
|
|
|
1525
1770
|
}
|
|
1526
1771
|
throwIfAborted(signal);
|
|
1527
1772
|
await this.bus.emit({ type: 'tool.called', sessionId: session.id, call });
|
|
1773
|
+
// The last thing before the executor, and after the emission above
|
|
1774
|
+
// rather than before it, because that emission is itself a wait on
|
|
1775
|
+
// whatever the host subscribed. A refusal here is a failed result, not
|
|
1776
|
+
// a denial: `tool.called` has been announced, and settling it with
|
|
1777
|
+
// `tool.completed` keeps the pairing every consumer reads — the
|
|
1778
|
+
// watchdog's phase, the channel's live line. The agent is told plainly,
|
|
1779
|
+
// because this is a page that moved rather than a permission it lacks.
|
|
1780
|
+
const originNow = originForSession(tool, session);
|
|
1781
|
+
if (originNow !== originWhenJudged) {
|
|
1782
|
+
const result = {
|
|
1783
|
+
callId: call.id,
|
|
1784
|
+
toolName: call.toolName,
|
|
1785
|
+
ok: false,
|
|
1786
|
+
output: null,
|
|
1787
|
+
error: `${call.toolName} was judged on ${originWhenJudged ?? 'a page with no origin'} and this `
|
|
1788
|
+
+ `conversation is now on ${originNow ?? 'no page'}, so it did not run. `
|
|
1789
|
+
+ 'Check where the page is and call again.',
|
|
1790
|
+
};
|
|
1791
|
+
await this.bus.emit({ type: 'tool.completed', sessionId: session.id, result });
|
|
1792
|
+
return result;
|
|
1793
|
+
}
|
|
1528
1794
|
const result = await this.executor.execute(call, tool, session, signal ? { signal } : undefined);
|
|
1529
1795
|
await this.bus.emit({ type: 'tool.completed', sessionId: session.id, result });
|
|
1530
1796
|
return result;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|