@grantex/sdk 0.6.0 → 0.7.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.
- package/LICENSE +185 -185
- package/NOTICE +16 -16
- package/README.md +974 -947
- package/dist/authorization-details.d.ts +86 -0
- package/dist/authorization-details.d.ts.map +1 -0
- package/dist/authorization-details.js +209 -0
- package/dist/authorization-details.js.map +1 -0
- package/dist/canonical.d.ts +47 -0
- package/dist/canonical.d.ts.map +1 -0
- package/dist/canonical.js +163 -0
- package/dist/canonical.js.map +1 -0
- package/dist/caps/index.d.ts +19 -0
- package/dist/caps/index.d.ts.map +1 -0
- package/dist/caps/index.js +19 -0
- package/dist/caps/index.js.map +1 -0
- package/dist/caps/limits.d.ts +40 -0
- package/dist/caps/limits.d.ts.map +1 -0
- package/dist/caps/limits.js +109 -0
- package/dist/caps/limits.js.map +1 -0
- package/dist/caps/memory.d.ts +15 -0
- package/dist/caps/memory.d.ts.map +1 -0
- package/dist/caps/memory.js +57 -0
- package/dist/caps/memory.js.map +1 -0
- package/dist/caps/meter.d.ts +107 -0
- package/dist/caps/meter.d.ts.map +1 -0
- package/dist/caps/meter.js +200 -0
- package/dist/caps/meter.js.map +1 -0
- package/dist/caps/postgres.d.ts +64 -0
- package/dist/caps/postgres.d.ts.map +1 -0
- package/dist/caps/postgres.js +221 -0
- package/dist/caps/postgres.js.map +1 -0
- package/dist/caps/redis.d.ts +45 -0
- package/dist/caps/redis.d.ts.map +1 -0
- package/dist/caps/redis.js +173 -0
- package/dist/caps/redis.js.map +1 -0
- package/dist/client.d.ts +12 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +517 -57
- package/dist/client.js.map +1 -1
- package/dist/decisions/action.d.ts +51 -0
- package/dist/decisions/action.d.ts.map +1 -0
- package/dist/decisions/action.js +237 -0
- package/dist/decisions/action.js.map +1 -0
- package/dist/decisions/index.d.ts +11 -0
- package/dist/decisions/index.d.ts.map +1 -0
- package/dist/decisions/index.js +8 -0
- package/dist/decisions/index.js.map +1 -0
- package/dist/decisions/verify.d.ts +103 -0
- package/dist/decisions/verify.d.ts.map +1 -0
- package/dist/decisions/verify.js +277 -0
- package/dist/decisions/verify.js.map +1 -0
- package/dist/denials.d.ts +132 -0
- package/dist/denials.d.ts.map +1 -0
- package/dist/denials.js +129 -0
- package/dist/denials.js.map +1 -0
- package/dist/evidence/build.d.ts +63 -0
- package/dist/evidence/build.d.ts.map +1 -0
- package/dist/evidence/build.js +201 -0
- package/dist/evidence/build.js.map +1 -0
- package/dist/evidence/canonical.d.ts +3 -0
- package/dist/evidence/canonical.d.ts.map +1 -0
- package/dist/evidence/canonical.js +3 -0
- package/dist/evidence/canonical.js.map +1 -0
- package/dist/evidence/checks.d.ts +13 -0
- package/dist/evidence/checks.d.ts.map +1 -0
- package/dist/evidence/checks.js +406 -0
- package/dist/evidence/checks.js.map +1 -0
- package/dist/evidence/document.d.ts +8 -0
- package/dist/evidence/document.d.ts.map +1 -0
- package/dist/evidence/document.js +298 -0
- package/dist/evidence/document.js.map +1 -0
- package/dist/evidence/hashing.d.ts +37 -0
- package/dist/evidence/hashing.d.ts.map +1 -0
- package/dist/evidence/hashing.js +106 -0
- package/dist/evidence/hashing.js.map +1 -0
- package/dist/evidence/index.d.ts +24 -0
- package/dist/evidence/index.d.ts.map +1 -0
- package/dist/evidence/index.js +24 -0
- package/dist/evidence/index.js.map +1 -0
- package/dist/evidence/result.d.ts +88 -0
- package/dist/evidence/result.d.ts.map +1 -0
- package/dist/evidence/result.js +88 -0
- package/dist/evidence/result.js.map +1 -0
- package/dist/evidence/schema-1.0.d.ts +2 -0
- package/dist/evidence/schema-1.0.d.ts.map +1 -0
- package/dist/evidence/schema-1.0.js +1398 -0
- package/dist/evidence/schema-1.0.js.map +1 -0
- package/dist/evidence/schema.d.ts +13 -0
- package/dist/evidence/schema.d.ts.map +1 -0
- package/dist/evidence/schema.js +264 -0
- package/dist/evidence/schema.js.map +1 -0
- package/dist/evidence/signature.d.ts +23 -0
- package/dist/evidence/signature.d.ts.map +1 -0
- package/dist/evidence/signature.js +136 -0
- package/dist/evidence/signature.js.map +1 -0
- package/dist/evidence/trace.d.ts +23 -0
- package/dist/evidence/trace.d.ts.map +1 -0
- package/dist/evidence/trace.js +69 -0
- package/dist/evidence/trace.js.map +1 -0
- package/dist/evidence/verify.d.ts +29 -0
- package/dist/evidence/verify.d.ts.map +1 -0
- package/dist/evidence/verify.js +163 -0
- package/dist/evidence/verify.js.map +1 -0
- package/dist/http.d.ts +12 -1
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +11 -5
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +16 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -2
- package/dist/index.js.map +1 -1
- package/dist/manifest.d.ts +178 -9
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +379 -16
- package/dist/manifest.js.map +1 -1
- package/dist/purpose.d.ts +29 -0
- package/dist/purpose.d.ts.map +1 -0
- package/dist/purpose.js +60 -0
- package/dist/purpose.js.map +1 -0
- package/dist/resources/agents.js +3 -3
- package/dist/resources/agents.js.map +1 -1
- package/dist/resources/anomalies.d.ts +3 -1
- package/dist/resources/anomalies.d.ts.map +1 -1
- package/dist/resources/anomalies.js +7 -1
- package/dist/resources/anomalies.js.map +1 -1
- package/dist/resources/audit.js +1 -1
- package/dist/resources/audit.js.map +1 -1
- package/dist/resources/budgets.js +2 -2
- package/dist/resources/budgets.js.map +1 -1
- package/dist/resources/credentials.js +1 -1
- package/dist/resources/credentials.js.map +1 -1
- package/dist/resources/decisions.d.ts +69 -0
- package/dist/resources/decisions.d.ts.map +1 -0
- package/dist/resources/decisions.js +115 -0
- package/dist/resources/decisions.js.map +1 -0
- package/dist/resources/domains.js +2 -2
- package/dist/resources/domains.js.map +1 -1
- package/dist/resources/dpdp.js +4 -4
- package/dist/resources/dpdp.js.map +1 -1
- package/dist/resources/grants.js +2 -2
- package/dist/resources/grants.js.map +1 -1
- package/dist/resources/policies.js +3 -3
- package/dist/resources/policies.js.map +1 -1
- package/dist/resources/scim.js +5 -5
- package/dist/resources/scim.js.map +1 -1
- package/dist/resources/tokens.d.ts.map +1 -1
- package/dist/resources/tokens.js +5 -1
- package/dist/resources/tokens.js.map +1 -1
- package/dist/resources/vault.js +2 -2
- package/dist/resources/vault.js.map +1 -1
- package/dist/resources/webauthn.d.ts +6 -1
- package/dist/resources/webauthn.d.ts.map +1 -1
- package/dist/resources/webauthn.js +5 -1
- package/dist/resources/webauthn.js.map +1 -1
- package/dist/resources/webhooks.js +1 -1
- package/dist/resources/webhooks.js.map +1 -1
- package/dist/revocations/feed.d.ts +61 -0
- package/dist/revocations/feed.d.ts.map +1 -0
- package/dist/revocations/feed.js +282 -0
- package/dist/revocations/feed.js.map +1 -0
- package/dist/revocations/index.d.ts +20 -0
- package/dist/revocations/index.d.ts.map +1 -0
- package/dist/revocations/index.js +19 -0
- package/dist/revocations/index.js.map +1 -0
- package/dist/revocations/set.d.ts +59 -0
- package/dist/revocations/set.d.ts.map +1 -0
- package/dist/revocations/set.js +87 -0
- package/dist/revocations/set.js.map +1 -0
- package/dist/scopes.d.ts +26 -0
- package/dist/scopes.d.ts.map +1 -0
- package/dist/scopes.js +37 -0
- package/dist/scopes.js.map +1 -0
- package/dist/types.d.ts +121 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -1
- package/dist/types.js.map +1 -1
- package/dist/verify.d.ts +31 -2
- package/dist/verify.d.ts.map +1 -1
- package/dist/verify.js +236 -29
- package/dist/verify.js.map +1 -1
- package/package.json +92 -84
package/dist/manifest.d.ts
CHANGED
|
@@ -20,6 +20,10 @@
|
|
|
20
20
|
* });
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
|
+
import type { DenialReason } from './denials.js';
|
|
24
|
+
import type { CapLimit, CapsMode, Reservation } from './caps/meter.js';
|
|
25
|
+
import type { DecisionAction } from './decisions/action.js';
|
|
26
|
+
import type { ConsumedDecision } from './resources/decisions.js';
|
|
23
27
|
/** Permission levels for tool operations. */
|
|
24
28
|
export declare enum Permission {
|
|
25
29
|
READ = "read",
|
|
@@ -37,11 +41,79 @@ export declare enum Permission {
|
|
|
37
41
|
* - An `admin` scope covers everything.
|
|
38
42
|
*/
|
|
39
43
|
export declare function permissionCovers(granted: string, required: string): boolean;
|
|
44
|
+
/** `$id` of the manifest 0.6 JSON Schema. */
|
|
45
|
+
export declare const MANIFEST_SCHEMA_ID = "https://grantex.dev/spec/manifest-0.6.schema.json";
|
|
46
|
+
/** Largest cap or cost-unit value a manifest may declare. */
|
|
47
|
+
export declare const MAX_COUNT = 2147483647;
|
|
48
|
+
/** Not allowed as a tool name: grant `caps` use it for the cost-unit budget. */
|
|
49
|
+
export declare const RESERVED_TOOL_NAME = "cost_units";
|
|
50
|
+
/** Most extra semantic fields a tool may declare for decision grants. */
|
|
51
|
+
export declare const MAX_DECISION_FIELDS = 16;
|
|
52
|
+
/** Syntax of an `allowed_purposes` entry (a purpose or a `prefix.*` wildcard). */
|
|
53
|
+
export declare const PURPOSE_PATTERN_RE: RegExp;
|
|
54
|
+
/** A manifest does not conform to manifest schema 0.6. The message names the offending path. */
|
|
55
|
+
export declare class ManifestValidationError extends Error {
|
|
56
|
+
constructor(message: string);
|
|
57
|
+
}
|
|
58
|
+
/** Call caps as written in a manifest. */
|
|
59
|
+
export interface ManifestToolCaps {
|
|
60
|
+
per_hour?: number;
|
|
61
|
+
per_day?: number;
|
|
62
|
+
per_case?: number;
|
|
63
|
+
}
|
|
64
|
+
/** The object form of a tool declaration, exactly as written in a manifest file. */
|
|
65
|
+
export interface ManifestToolObject {
|
|
66
|
+
permission: Permission | `${Permission}`;
|
|
67
|
+
allowed_purposes?: string[];
|
|
68
|
+
caps?: ManifestToolCaps;
|
|
69
|
+
cost_units?: Record<string, number>;
|
|
70
|
+
requires_decision?: boolean;
|
|
71
|
+
four_eyes_on?: string[];
|
|
72
|
+
decision_fields?: string[];
|
|
73
|
+
}
|
|
74
|
+
/** A tool value: a permission string or a manifest 0.6 object. */
|
|
75
|
+
export type ToolDeclaration = Permission | `${Permission}` | ManifestToolObject;
|
|
76
|
+
/** Call caps declared for a tool. Absent means no cap of that kind; `0` disables the tool. */
|
|
77
|
+
export interface ToolCaps {
|
|
78
|
+
/** Rolling one-hour window. */
|
|
79
|
+
perHour?: number;
|
|
80
|
+
/** Rolling one-day window. */
|
|
81
|
+
perDay?: number;
|
|
82
|
+
/** Calls within one case. */
|
|
83
|
+
perCase?: number;
|
|
84
|
+
}
|
|
85
|
+
/** A tool's full, validated declaration. */
|
|
86
|
+
export interface ToolSpec {
|
|
87
|
+
permission: Permission;
|
|
88
|
+
/** Purpose patterns; absent means no purpose restriction. */
|
|
89
|
+
allowedPurposes?: readonly string[];
|
|
90
|
+
caps?: ToolCaps;
|
|
91
|
+
costUnits?: Readonly<Record<string, number>>;
|
|
92
|
+
requiresDecision: boolean;
|
|
93
|
+
fourEyesOn: readonly string[];
|
|
94
|
+
/** Call arguments, beyond the core semantic action, that a decision grant binds (e.g. `currency`). */
|
|
95
|
+
decisionFields?: readonly string[];
|
|
96
|
+
}
|
|
97
|
+
/** Whether `value` is a syntactically valid `allowed_purposes` entry. */
|
|
98
|
+
export declare function isValidPurposePattern(value: unknown): value is string;
|
|
99
|
+
/**
|
|
100
|
+
* Validate one tool value (string or object form) and return its ToolSpec.
|
|
101
|
+
*
|
|
102
|
+
* @throws {ManifestValidationError} the value does not conform to manifest 0.6.
|
|
103
|
+
*/
|
|
104
|
+
export declare function parseToolDeclaration(tool: string, value: unknown): ToolSpec;
|
|
105
|
+
/**
|
|
106
|
+
* Parse manifest JSON text, rejecting a key repeated in any object. `JSON.parse`
|
|
107
|
+
* alone keeps the last value, so a tool declared twice would load silently.
|
|
108
|
+
*/
|
|
109
|
+
export declare function parseManifestJson(text: string): unknown;
|
|
110
|
+
/** Render a ToolSpec in manifest 0.6 object form (omitting unset fields). */
|
|
111
|
+
export declare function toolSpecToObject(spec: ToolSpec): ManifestToolObject;
|
|
40
112
|
export interface ToolManifestOptions {
|
|
41
|
-
/** Connector name (e.g., "
|
|
113
|
+
/** Connector name (e.g., "acme_kyb"). */
|
|
42
114
|
connector: string;
|
|
43
|
-
/** Tool name →
|
|
44
|
-
tools: Record<string,
|
|
115
|
+
/** Tool name → permission string or manifest 0.6 tool object. */
|
|
116
|
+
tools: Record<string, ToolDeclaration>;
|
|
45
117
|
/** Manifest version (default "1.0.0"). */
|
|
46
118
|
version?: string;
|
|
47
119
|
/** Human-readable description. */
|
|
@@ -52,8 +124,12 @@ export interface ToolManifestOptions {
|
|
|
52
124
|
*
|
|
53
125
|
* Load manifests via `grantex.loadManifest()` and they will be used
|
|
54
126
|
* automatically by `grantex.enforce()`.
|
|
127
|
+
*
|
|
128
|
+
* `tools` maps each tool to its permission (as before 0.6); `getToolSpec()`
|
|
129
|
+
* returns the full declaration including constraints.
|
|
55
130
|
*/
|
|
56
131
|
export declare class ToolManifest {
|
|
132
|
+
#private;
|
|
57
133
|
readonly connector: string;
|
|
58
134
|
readonly tools: Record<string, Permission>;
|
|
59
135
|
readonly version: string;
|
|
@@ -61,10 +137,30 @@ export declare class ToolManifest {
|
|
|
61
137
|
constructor(options: ToolManifestOptions);
|
|
62
138
|
/** Get the declared permission for a tool. Returns undefined if not found. */
|
|
63
139
|
getPermission(toolName: string): Permission | undefined;
|
|
64
|
-
/**
|
|
65
|
-
|
|
140
|
+
/**
|
|
141
|
+
* Get a tool's full declaration. Returns undefined if the tool is not declared.
|
|
142
|
+
*
|
|
143
|
+
* The permission always reflects `tools`; constraints declared for the tool
|
|
144
|
+
* are kept even if `tools` was edited directly.
|
|
145
|
+
*
|
|
146
|
+
* @throws {ManifestValidationError} `tools` was edited into a combination the
|
|
147
|
+
* schema forbids (for example `read` on a decision tool).
|
|
148
|
+
*/
|
|
149
|
+
getToolSpec(toolName: string): ToolSpec | undefined;
|
|
150
|
+
/**
|
|
151
|
+
* Add or update a tool. `permission` is a permission string or a manifest
|
|
152
|
+
* 0.6 tool object; replacing a tool replaces its whole declaration.
|
|
153
|
+
*/
|
|
154
|
+
addTool(toolName: string, permission: ToolDeclaration): void;
|
|
66
155
|
/** Number of tools in this manifest. */
|
|
67
156
|
get toolCount(): number;
|
|
157
|
+
/** Render this manifest as a manifest 0.6 document. */
|
|
158
|
+
toJSON(): {
|
|
159
|
+
connector: string;
|
|
160
|
+
version: string;
|
|
161
|
+
description?: string;
|
|
162
|
+
tools: Record<string, ToolDeclaration>;
|
|
163
|
+
};
|
|
68
164
|
/**
|
|
69
165
|
* Load a ToolManifest from a JSON or YAML file.
|
|
70
166
|
* YAML requires the `yaml` package to be installed.
|
|
@@ -73,10 +169,11 @@ export declare class ToolManifest {
|
|
|
73
169
|
/**
|
|
74
170
|
* Create a ToolManifest from a JSON object (e.g., loaded from file).
|
|
75
171
|
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
172
|
+
* A manifest that declares `$schema` or uses the object form for any tool
|
|
173
|
+
* is validated against manifest schema 0.6, and an unknown key anywhere is
|
|
174
|
+
* rejected. A manifest made only of permission strings keeps its pre-0.6
|
|
175
|
+
* behaviour: unknown top-level keys are ignored with a deprecation warning
|
|
176
|
+
* (a future minor release will reject them).
|
|
80
177
|
*/
|
|
81
178
|
static fromJSON(data: Record<string, unknown>): ToolManifest;
|
|
82
179
|
}
|
|
@@ -98,6 +195,31 @@ export interface EnforceResult {
|
|
|
98
195
|
connector: string;
|
|
99
196
|
/** Tool name. */
|
|
100
197
|
tool: string;
|
|
198
|
+
/** Denial code from `DenialReason`; absent when allowed. */
|
|
199
|
+
reasonCode?: DenialReason;
|
|
200
|
+
/** Finer-grained denial code, where one applies. */
|
|
201
|
+
subReason?: string;
|
|
202
|
+
/** Structured denial context. Keys are snake_case (`allowed_purposes`, `limit`, `window`), identical to the Python SDK. */
|
|
203
|
+
details?: Record<string, unknown>;
|
|
204
|
+
/** The grant's purpose for this connector, when it carries one. */
|
|
205
|
+
purpose?: string;
|
|
206
|
+
/** Caps reserved for this call, when the tool or grant declares caps. */
|
|
207
|
+
reservation?: Reservation;
|
|
208
|
+
/** Counters this call is metered against (also set when `reserve: false`). */
|
|
209
|
+
capLimits?: readonly CapLimit[];
|
|
210
|
+
/** Tenant of `capLimits`; pass both to `CapsMeter.reserve`. */
|
|
211
|
+
capsTenantId?: string;
|
|
212
|
+
/** In caps warn mode, the cap denial that was not applied. */
|
|
213
|
+
wouldDeny?: WouldDeny;
|
|
214
|
+
/** For a tool that requires a decision: the decision grants consumed for this call. */
|
|
215
|
+
decision?: ConsumedDecision;
|
|
216
|
+
}
|
|
217
|
+
/** A cap denial reported, not applied, in caps warn mode. Keys match the Python SDK. */
|
|
218
|
+
export interface WouldDeny {
|
|
219
|
+
reason_code: string;
|
|
220
|
+
sub_reason: string;
|
|
221
|
+
reason: string;
|
|
222
|
+
details: Record<string, unknown>;
|
|
101
223
|
}
|
|
102
224
|
/** Options for `grantex.enforce()`. */
|
|
103
225
|
export interface EnforceOptions {
|
|
@@ -109,6 +231,35 @@ export interface EnforceOptions {
|
|
|
109
231
|
tool: string;
|
|
110
232
|
/** Amount for capped scope enforcement (optional). */
|
|
111
233
|
amount?: number;
|
|
234
|
+
/** Case the call belongs to; required when a per-case cap applies. Set by the gateway, never the agent. */
|
|
235
|
+
caseId?: string;
|
|
236
|
+
/** Manifest cost units the call incurs (default: all the tool declares). Set by the gateway, never the agent. */
|
|
237
|
+
costComponents?: readonly string[];
|
|
238
|
+
/**
|
|
239
|
+
* `false` checks caps against current usage without consuming anything; reserve
|
|
240
|
+
* later with `CapsMeter.reserve(result.capsTenantId, result.capLimits)` or call
|
|
241
|
+
* `enforce()` again at the call that incurs cost. Default `true`.
|
|
242
|
+
*/
|
|
243
|
+
reserve?: boolean;
|
|
244
|
+
/** Overrides the client's caps mode for this call. */
|
|
245
|
+
capsMode?: CapsMode;
|
|
246
|
+
/** Tenant of every counter of this call instead of the grant's developer. */
|
|
247
|
+
capsTenantId?: string;
|
|
248
|
+
/** Overrides the client's revocation check for this call. */
|
|
249
|
+
revocationCheck?: 'offline' | 'online' | 'feed';
|
|
250
|
+
/**
|
|
251
|
+
* Decision grant tokens for a tool with `requires_decision` (one, or two for a decision in
|
|
252
|
+
* `four_eyes_on`). Without them the call is denied with `decision_required`.
|
|
253
|
+
*/
|
|
254
|
+
decisionGrants?: readonly string[];
|
|
255
|
+
/** The action the grants must approve. Defaults to the action derived from `arguments`. */
|
|
256
|
+
decisionAction?: DecisionAction;
|
|
257
|
+
/** The call's arguments: `case_id`, `decision`, `subject` and `amount` are read from them. */
|
|
258
|
+
arguments?: Record<string, unknown>;
|
|
259
|
+
/** The case's current version, from the application's own case state. */
|
|
260
|
+
caseVersion?: string;
|
|
261
|
+
/** Overrides the client's decisions mode for this call. */
|
|
262
|
+
decisionsMode?: 'enforce' | 'warn';
|
|
112
263
|
}
|
|
113
264
|
/** Options for `grantex.wrapTool()`. */
|
|
114
265
|
export interface WrapToolOptions {
|
|
@@ -118,6 +269,14 @@ export interface WrapToolOptions {
|
|
|
118
269
|
tool: string;
|
|
119
270
|
/** Grant token — static string or getter function for dynamic tokens. */
|
|
120
271
|
grantToken: string | (() => string);
|
|
272
|
+
/** Case for per-case caps, or a getter evaluated per call. Never taken from the tool's (model-supplied) input. */
|
|
273
|
+
caseId?: string | (() => string | undefined);
|
|
274
|
+
/** For a tool that requires a decision: the decision grants, or a getter evaluated per call. The action is derived from the tool's input. */
|
|
275
|
+
decisionGrants?: readonly string[] | (() => readonly string[] | undefined);
|
|
276
|
+
/** The case's current version, or a getter, from the application's case state. */
|
|
277
|
+
caseVersion?: string | (() => string | undefined);
|
|
278
|
+
/** Cost units the call incurs, or a getter evaluated per call. Never taken from the tool's input. */
|
|
279
|
+
costComponents?: readonly string[] | (() => readonly string[] | undefined);
|
|
121
280
|
}
|
|
122
281
|
/** Options for `grantex.enforceMiddleware()`. */
|
|
123
282
|
export interface EnforceMiddlewareOptions {
|
|
@@ -127,5 +286,15 @@ export interface EnforceMiddlewareOptions {
|
|
|
127
286
|
extractConnector: (req: Record<string, unknown>) => string;
|
|
128
287
|
/** Extract the tool name from the request. */
|
|
129
288
|
extractTool: (req: Record<string, unknown>) => string;
|
|
289
|
+
/** Case for per-case caps, from trusted request context (not the agent's payload). */
|
|
290
|
+
extractCaseId?: (req: Record<string, unknown>) => string | undefined;
|
|
291
|
+
/** Cost units the call incurs, from trusted request context (not the agent's payload). */
|
|
292
|
+
extractCostComponents?: (req: Record<string, unknown>) => readonly string[] | undefined;
|
|
293
|
+
/** Decision grants presented with the request (for example from a header). */
|
|
294
|
+
extractDecisionGrants?: (req: Record<string, unknown>) => readonly string[] | undefined;
|
|
295
|
+
/** The tool call's arguments, from which the decision action is derived. */
|
|
296
|
+
extractArguments?: (req: Record<string, unknown>) => Record<string, unknown> | undefined;
|
|
297
|
+
/** The case's current version, from trusted server-side case state. */
|
|
298
|
+
extractCaseVersion?: (req: Record<string, unknown>) => string | undefined;
|
|
130
299
|
}
|
|
131
300
|
//# sourceMappingURL=manifest.d.ts.map
|
package/dist/manifest.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
|