@jini-ai/agent-plugins 0.6.12 → 0.6.15-rc.2
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/CHANGELOG.md +14 -0
- package/dist/admin-surfaces/action-schema.d.ts +2 -55
- package/dist/admin-surfaces/action-schema.d.ts.map +1 -1
- package/dist/admin-surfaces/action-schema.js +2 -166
- package/dist/admin-surfaces/action-schema.js.map +1 -1
- package/dist/admin-surfaces/action-tools.d.ts +6 -0
- package/dist/admin-surfaces/action-tools.d.ts.map +1 -1
- package/dist/admin-surfaces/action-tools.js +4 -2
- package/dist/admin-surfaces/action-tools.js.map +1 -1
- package/dist/admin-surfaces/surface-capabilities.d.ts +8 -4
- package/dist/admin-surfaces/surface-capabilities.d.ts.map +1 -1
- package/dist/admin-surfaces/surface-capabilities.js +14 -7
- package/dist/admin-surfaces/surface-capabilities.js.map +1 -1
- package/dist/admin-surfaces/surface-handlers.d.ts +6 -2
- package/dist/admin-surfaces/surface-handlers.d.ts.map +1 -1
- package/dist/admin-surfaces/surface-handlers.js +8 -16
- package/dist/admin-surfaces/surface-handlers.js.map +1 -1
- package/dist/contracts/admin-surface-action-schema.d.ts +56 -0
- package/dist/contracts/admin-surface-action-schema.d.ts.map +1 -0
- package/dist/contracts/admin-surface-action-schema.js +167 -0
- package/dist/contracts/admin-surface-action-schema.js.map +1 -0
- package/dist/lifecycle/activation.d.ts +7 -0
- package/dist/lifecycle/activation.d.ts.map +1 -1
- package/dist/lifecycle/activation.js +29 -1
- package/dist/lifecycle/activation.js.map +1 -1
- package/dist/lifecycle/automatic-use.d.ts +8 -4
- package/dist/lifecycle/automatic-use.d.ts.map +1 -1
- package/dist/lifecycle/automatic-use.js +46 -16
- package/dist/lifecycle/automatic-use.js.map +1 -1
- package/dist/lifecycle/bundled-source-archive.d.ts +25 -2
- package/dist/lifecycle/bundled-source-archive.d.ts.map +1 -1
- package/dist/lifecycle/bundled-source-archive.js +180 -19
- package/dist/lifecycle/bundled-source-archive.js.map +1 -1
- package/dist/lifecycle/exports.d.ts +51 -0
- package/dist/lifecycle/exports.d.ts.map +1 -0
- package/dist/lifecycle/exports.js +96 -0
- package/dist/lifecycle/exports.js.map +1 -0
- package/dist/lifecycle/index.d.ts +18 -11
- package/dist/lifecycle/index.d.ts.map +1 -1
- package/dist/lifecycle/index.js +4 -2
- package/dist/lifecycle/index.js.map +1 -1
- package/dist/lifecycle/installed-package-index.d.ts.map +1 -1
- package/dist/lifecycle/installed-package-index.js +6 -2
- package/dist/lifecycle/installed-package-index.js.map +1 -1
- package/dist/lifecycle/manifest.d.ts +3 -1
- package/dist/lifecycle/manifest.d.ts.map +1 -1
- package/dist/lifecycle/manifest.js +7 -0
- package/dist/lifecycle/manifest.js.map +1 -1
- package/dist/lifecycle/ports.d.ts +13 -3
- package/dist/lifecycle/ports.d.ts.map +1 -1
- package/dist/lifecycle/resolve-agent-plugin-refs.d.ts +11 -0
- package/dist/lifecycle/resolve-agent-plugin-refs.d.ts.map +1 -1
- package/dist/lifecycle/resolve-agent-plugin-refs.js +38 -16
- package/dist/lifecycle/resolve-agent-plugin-refs.js.map +1 -1
- package/dist/lifecycle/search-projection.d.ts +34 -0
- package/dist/lifecycle/search-projection.d.ts.map +1 -0
- package/dist/lifecycle/search-projection.js +53 -0
- package/dist/lifecycle/search-projection.js.map +1 -0
- package/dist/lifecycle/search.js.map +1 -1
- package/dist/lifecycle/seed-bundled.d.ts +10 -1
- package/dist/lifecycle/seed-bundled.d.ts.map +1 -1
- package/dist/lifecycle/seed-bundled.js +7 -5
- package/dist/lifecycle/seed-bundled.js.map +1 -1
- package/dist/lifecycle/set-enabled.d.ts +3 -1
- package/dist/lifecycle/set-enabled.d.ts.map +1 -1
- package/dist/lifecycle/set-enabled.js +34 -13
- package/dist/lifecycle/set-enabled.js.map +1 -1
- package/dist/lifecycle/tools/capabilities.d.ts +51 -11
- package/dist/lifecycle/tools/capabilities.d.ts.map +1 -1
- package/dist/lifecycle/tools/capabilities.js +67 -15
- package/dist/lifecycle/tools/capabilities.js.map +1 -1
- package/dist/lifecycle/tools/projection.d.ts +5 -1
- package/dist/lifecycle/tools/projection.d.ts.map +1 -1
- package/dist/lifecycle/tools/projection.js +33 -20
- package/dist/lifecycle/tools/projection.js.map +1 -1
- package/dist/lifecycle/types.d.ts +2 -1
- package/dist/lifecycle/types.d.ts.map +1 -1
- package/dist/lifecycle/uninstall.d.ts.map +1 -1
- package/dist/lifecycle/uninstall.js +4 -0
- package/dist/lifecycle/uninstall.js.map +1 -1
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.6.13
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 2dd5b11: Exclude `__tests__` directories and `.test.`/`.spec.` files from bundled plugin archives so installed runtime contents and their digest are unaffected by test-only changes.
|
|
8
|
+
- 7479159: Tighten diagnostic identifier exemptions and ignore ordinary header values shorter than eight characters during exact-secret masking (credential headers are masked at any length; exact secrets still match inside other text but never inside a credential label, URL scheme, secret-named query parameter or existing redaction marker, so they cannot split another credential's label). Keep null tool schemas informational. Preserve safe reader refusals for explicit plugin skill/file requests and use host-formatted plugin tool pointers for relevance, deferred instructions, and supporting files (optional for automatic use; omitted when the host supplies none).
|
|
9
|
+
- 0728914: Engine guard clean-up (`pnpm guard` 106 -> 0): layer, subpath-isolation and module-state findings fixed by moving
|
|
10
|
+
shared contracts to their owners instead of reaching across domains. Additive public API: `@jini-ai/core/filesystem`
|
|
11
|
+
(guarded-reader contracts), `useFetchQueryScope` from `@jini-ai/ui` fetch-query (per-provider query scope),
|
|
12
|
+
`@jini-ai/chat/react` re-exports of the accepted-input, run-state and agent-plugin chat-state helpers. The Claude
|
|
13
|
+
filesystem probe cache in `@jini-ai/agent-runtime` is instance-owned. No behaviour change intended; host-facing
|
|
14
|
+
breaks are listed in `owner-store-to-server` and `guard-host-ports`.
|
|
15
|
+
- 6ecbdb2: Add optional bundled plugin selection, packing limits, link policies, and canonical file digest snapshots, with shared or per-source seeding options. Existing packing and seeding defaults are unchanged.
|
|
16
|
+
|
|
3
17
|
## 0.6.12
|
|
4
18
|
|
|
5
19
|
## 0.6.11
|
|
@@ -1,56 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
* results: checked once when the descriptor is parsed, then used to validate every payload.
|
|
4
|
-
*
|
|
5
|
-
* Why not full JSON Schema: a surface's payload crosses a trust boundary (plugin UI -> host
|
|
6
|
-
* handler), so the schema language is fail-closed. An unknown keyword refuses the descriptor
|
|
7
|
-
* instead of being ignored (a plugin cannot rely on `pattern` or `format` that would silently pass),
|
|
8
|
-
* objects are closed (no undeclared keys reach a handler), and every node must name its `type`.
|
|
9
|
-
* Violation messages name the path only, never the value, so a rejected payload cannot echo a secret.
|
|
10
|
-
*/
|
|
11
|
-
export type AdminSurfaceActionSchema = {
|
|
12
|
-
readonly type: 'object';
|
|
13
|
-
readonly properties?: Readonly<Record<string, AdminSurfaceActionSchema>>;
|
|
14
|
-
readonly required?: readonly string[];
|
|
15
|
-
readonly additionalProperties?: false;
|
|
16
|
-
} | {
|
|
17
|
-
readonly type: 'array';
|
|
18
|
-
readonly items: AdminSurfaceActionSchema;
|
|
19
|
-
readonly maxItems?: number;
|
|
20
|
-
} | {
|
|
21
|
-
readonly type: 'string';
|
|
22
|
-
readonly minLength?: number;
|
|
23
|
-
readonly maxLength?: number;
|
|
24
|
-
readonly enum?: readonly string[];
|
|
25
|
-
} | {
|
|
26
|
-
readonly type: 'number' | 'integer';
|
|
27
|
-
readonly minimum?: number;
|
|
28
|
-
readonly maximum?: number;
|
|
29
|
-
} | {
|
|
30
|
-
readonly type: 'boolean' | 'null';
|
|
31
|
-
};
|
|
32
|
-
/**
|
|
33
|
-
* Why a declared schema is unusable, or `null` when it is a valid member of the subset.
|
|
34
|
-
* @complexity O(n) schema nodes; recursion bounded by {@link MAX_DEPTH}.
|
|
35
|
-
*/
|
|
36
|
-
export declare function checkAdminSurfaceActionSchema(required: {
|
|
37
|
-
readonly schema: unknown;
|
|
38
|
-
}, optional?: {
|
|
39
|
-
readonly depth?: number;
|
|
40
|
-
}): string | null;
|
|
41
|
-
/**
|
|
42
|
-
* The first place `value` violates a schema that passed {@link checkAdminSurfaceActionSchema}, or
|
|
43
|
-
* `null` when it conforms. The message names a path such as `$.rows[2]`, never the offending value.
|
|
44
|
-
* @complexity O(v) values visited.
|
|
45
|
-
*/
|
|
46
|
-
export declare function validateAdminSurfaceActionValue(required: {
|
|
47
|
-
readonly schema: AdminSurfaceActionSchema;
|
|
48
|
-
readonly value: unknown;
|
|
49
|
-
}, optional?: {
|
|
50
|
-
readonly path?: string;
|
|
51
|
-
}): string | null;
|
|
52
|
-
/** True when `payload` serializes to more than 64 KiB of JSON text, or cannot be serialized. @complexity O(payload size). */
|
|
53
|
-
export declare function exceedsAdminSurfacePayloadLimit(required: {
|
|
54
|
-
readonly payload: unknown;
|
|
55
|
-
}, _optional?: Record<string, never>): boolean;
|
|
1
|
+
/** Compatibility path; descriptor parsing and manifest exports share one schema validator. */
|
|
2
|
+
export * from '../contracts/admin-surface-action-schema.js';
|
|
56
3
|
//# sourceMappingURL=action-schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-schema.d.ts","sourceRoot":"","sources":["../../src/admin-surfaces/action-schema.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"action-schema.d.ts","sourceRoot":"","sources":["../../src/admin-surfaces/action-schema.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,cAAc,6CAA6C,CAAC"}
|
|
@@ -1,167 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
* results: checked once when the descriptor is parsed, then used to validate every payload.
|
|
4
|
-
*
|
|
5
|
-
* Why not full JSON Schema: a surface's payload crosses a trust boundary (plugin UI -> host
|
|
6
|
-
* handler), so the schema language is fail-closed. An unknown keyword refuses the descriptor
|
|
7
|
-
* instead of being ignored (a plugin cannot rely on `pattern` or `format` that would silently pass),
|
|
8
|
-
* objects are closed (no undeclared keys reach a handler), and every node must name its `type`.
|
|
9
|
-
* Violation messages name the path only, never the value, so a rejected payload cannot echo a secret.
|
|
10
|
-
*/
|
|
11
|
-
const MAX_DEPTH = 8;
|
|
12
|
-
/** Applies when an array schema declares no `maxItems`, so no payload is unbounded. */
|
|
13
|
-
const DEFAULT_MAX_ITEMS = 1000;
|
|
14
|
-
const ANNOTATIONS = ['type', 'title', 'description'];
|
|
15
|
-
const KEYWORDS = {
|
|
16
|
-
object: ['properties', 'required', 'additionalProperties'],
|
|
17
|
-
array: ['items', 'maxItems'],
|
|
18
|
-
string: ['minLength', 'maxLength', 'enum'],
|
|
19
|
-
number: ['minimum', 'maximum'],
|
|
20
|
-
integer: ['minimum', 'maximum'],
|
|
21
|
-
boolean: [],
|
|
22
|
-
null: [],
|
|
23
|
-
};
|
|
24
|
-
function isPlainObject(value) {
|
|
25
|
-
if (typeof value !== 'object' || value === null || Array.isArray(value))
|
|
26
|
-
return false;
|
|
27
|
-
const proto = Object.getPrototypeOf(value);
|
|
28
|
-
return proto === Object.prototype || proto === null;
|
|
29
|
-
}
|
|
30
|
-
const isCount = (value) => value === undefined || (Number.isInteger(value) && value >= 0);
|
|
31
|
-
const isBound = (value) => value === undefined || (typeof value === 'number' && Number.isFinite(value));
|
|
32
|
-
/**
|
|
33
|
-
* Why a declared schema is unusable, or `null` when it is a valid member of the subset.
|
|
34
|
-
* @complexity O(n) schema nodes; recursion bounded by {@link MAX_DEPTH}.
|
|
35
|
-
*/
|
|
36
|
-
export function checkAdminSurfaceActionSchema(required, optional = {}) {
|
|
37
|
-
const { schema } = required;
|
|
38
|
-
const depth = optional.depth ?? 0;
|
|
39
|
-
if (!isPlainObject(schema))
|
|
40
|
-
return 'must be an object';
|
|
41
|
-
if (depth > MAX_DEPTH)
|
|
42
|
-
return `nests deeper than ${MAX_DEPTH} levels`;
|
|
43
|
-
const type = schema.type;
|
|
44
|
-
if (typeof type !== 'string' || !Object.hasOwn(KEYWORDS, type))
|
|
45
|
-
return 'must declare a supported type';
|
|
46
|
-
const unknown = Object.keys(schema).find((key) => !ANNOTATIONS.includes(key) && !KEYWORDS[type].includes(key));
|
|
47
|
-
if (unknown !== undefined)
|
|
48
|
-
return `uses unsupported keyword '${unknown}'`;
|
|
49
|
-
return checkKeywords(schema, type, depth);
|
|
50
|
-
}
|
|
51
|
-
/** @complexity O(n) child schema nodes. */
|
|
52
|
-
function checkKeywords(schema, type, depth) {
|
|
53
|
-
if (type === 'object')
|
|
54
|
-
return checkObject(schema, depth);
|
|
55
|
-
if (type === 'array')
|
|
56
|
-
return checkArray(schema, depth);
|
|
57
|
-
if (type === 'string')
|
|
58
|
-
return checkString(schema);
|
|
59
|
-
if (type === 'number' || type === 'integer')
|
|
60
|
-
return isBound(schema.minimum) && isBound(schema.maximum) ? null : 'minimum/maximum must be finite numbers';
|
|
61
|
-
return null;
|
|
62
|
-
}
|
|
63
|
-
function checkObject(schema, depth) {
|
|
64
|
-
const properties = schema.properties ?? {};
|
|
65
|
-
if (!isPlainObject(properties))
|
|
66
|
-
return 'properties must be an object';
|
|
67
|
-
if (schema.additionalProperties !== undefined && schema.additionalProperties !== false)
|
|
68
|
-
return 'additionalProperties may only be false (objects are closed)';
|
|
69
|
-
if (!listsDeclaredKeys(schema.required ?? [], properties))
|
|
70
|
-
return 'required must list declared properties';
|
|
71
|
-
for (const [key, child] of Object.entries(properties)) {
|
|
72
|
-
const reason = checkAdminSurfaceActionSchema({ schema: child }, { depth: depth + 1 });
|
|
73
|
-
if (reason !== null)
|
|
74
|
-
return `property '${key}' ${reason}`;
|
|
75
|
-
}
|
|
76
|
-
return null;
|
|
77
|
-
}
|
|
78
|
-
const listsDeclaredKeys = (required, properties) => Array.isArray(required) && required.every((key) => typeof key === 'string' && Object.hasOwn(properties, key));
|
|
79
|
-
function checkArray(schema, depth) {
|
|
80
|
-
if (!isCount(schema.maxItems))
|
|
81
|
-
return 'maxItems must be a non-negative integer';
|
|
82
|
-
const reason = checkAdminSurfaceActionSchema({ schema: schema.items }, { depth: depth + 1 });
|
|
83
|
-
return reason === null ? null : `items ${reason}`;
|
|
84
|
-
}
|
|
85
|
-
function checkString(schema) {
|
|
86
|
-
if (!isCount(schema.minLength) || !isCount(schema.maxLength))
|
|
87
|
-
return 'minLength/maxLength must be non-negative integers';
|
|
88
|
-
const values = schema.enum;
|
|
89
|
-
if (values === undefined)
|
|
90
|
-
return null;
|
|
91
|
-
return Array.isArray(values) && values.length > 0 && values.every((value) => typeof value === 'string') ? null : 'enum must be a non-empty list of strings';
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* The first place `value` violates a schema that passed {@link checkAdminSurfaceActionSchema}, or
|
|
95
|
-
* `null` when it conforms. The message names a path such as `$.rows[2]`, never the offending value.
|
|
96
|
-
* @complexity O(v) values visited.
|
|
97
|
-
*/
|
|
98
|
-
export function validateAdminSurfaceActionValue(required, optional = {}) {
|
|
99
|
-
const validate = VALIDATORS[required.schema.type];
|
|
100
|
-
return validate(required.schema, required.value, optional.path ?? '$');
|
|
101
|
-
}
|
|
102
|
-
function validateObject(schema, value, path) {
|
|
103
|
-
if (!isPlainObject(value))
|
|
104
|
-
return `${path} must be an object`;
|
|
105
|
-
const properties = schema.properties ?? {};
|
|
106
|
-
const extra = Object.keys(value).find((key) => !Object.hasOwn(properties, key));
|
|
107
|
-
if (extra !== undefined)
|
|
108
|
-
return `${path} has an undeclared property ${JSON.stringify(extra.slice(0, 64))}`;
|
|
109
|
-
const missing = (schema.required ?? []).find((key) => !Object.hasOwn(value, key));
|
|
110
|
-
if (missing !== undefined)
|
|
111
|
-
return `${path}.${missing} is required`;
|
|
112
|
-
for (const [key, child] of Object.entries(value)) {
|
|
113
|
-
const reason = validateAdminSurfaceActionValue({ schema: properties[key], value: child }, { path: `${path}.${key}` });
|
|
114
|
-
if (reason !== null)
|
|
115
|
-
return reason;
|
|
116
|
-
}
|
|
117
|
-
return null;
|
|
118
|
-
}
|
|
119
|
-
function validateArray(schema, value, path) {
|
|
120
|
-
if (!Array.isArray(value))
|
|
121
|
-
return `${path} must be an array`;
|
|
122
|
-
if (value.length > (schema.maxItems ?? DEFAULT_MAX_ITEMS))
|
|
123
|
-
return `${path} has too many items`;
|
|
124
|
-
for (const [index, item] of value.entries()) {
|
|
125
|
-
const reason = validateAdminSurfaceActionValue({ schema: schema.items, value: item }, { path: `${path}[${index}]` });
|
|
126
|
-
if (reason !== null)
|
|
127
|
-
return reason;
|
|
128
|
-
}
|
|
129
|
-
return null;
|
|
130
|
-
}
|
|
131
|
-
function validateString(schema, value, path) {
|
|
132
|
-
if (typeof value !== 'string')
|
|
133
|
-
return `${path} must be a string`;
|
|
134
|
-
if (value.length < (schema.minLength ?? 0) || value.length > (schema.maxLength ?? Infinity))
|
|
135
|
-
return `${path} has the wrong length`;
|
|
136
|
-
return schema.enum === undefined || schema.enum.includes(value) ? null : `${path} is not one of the allowed values`;
|
|
137
|
-
}
|
|
138
|
-
function validateNumber(schema, value, path) {
|
|
139
|
-
const ok = typeof value === 'number' && Number.isFinite(value) && (schema.type === 'number' || Number.isInteger(value));
|
|
140
|
-
if (!ok)
|
|
141
|
-
return `${path} must be ${schema.type === 'integer' ? 'an integer' : 'a number'}`;
|
|
142
|
-
return inRange(value, schema.minimum, schema.maximum) ? null : `${path} is out of range`;
|
|
143
|
-
}
|
|
144
|
-
const inRange = (value, minimum, maximum) => value >= (minimum ?? -Infinity) && value <= (maximum ?? Infinity);
|
|
145
|
-
/** One validator per declared `type`; the schema was checked at parse time, so the lookup always hits. */
|
|
146
|
-
const VALIDATORS = {
|
|
147
|
-
object: validateObject,
|
|
148
|
-
array: validateArray,
|
|
149
|
-
string: validateString,
|
|
150
|
-
number: validateNumber,
|
|
151
|
-
integer: validateNumber,
|
|
152
|
-
boolean: (_schema, value, path) => (typeof value === 'boolean' ? null : `${path} must be a boolean`),
|
|
153
|
-
null: (_schema, value, path) => (value === null ? null : `${path} must be null`),
|
|
154
|
-
};
|
|
155
|
-
/** One request-size cap for the browser-side host check and the server-side dispatcher (the
|
|
156
|
-
* authoritative one: string schemas carry no default maxLength). */
|
|
157
|
-
const MAX_PAYLOAD_CHARS = 64 * 1024;
|
|
158
|
-
/** True when `payload` serializes to more than 64 KiB of JSON text, or cannot be serialized. @complexity O(payload size). */
|
|
159
|
-
export function exceedsAdminSurfacePayloadLimit(required, _optional = {}) {
|
|
160
|
-
try {
|
|
161
|
-
return (JSON.stringify(required.payload)?.length ?? Infinity) > MAX_PAYLOAD_CHARS;
|
|
162
|
-
}
|
|
163
|
-
catch {
|
|
164
|
-
return true;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
1
|
+
/** Compatibility path; descriptor parsing and manifest exports share one schema validator. */
|
|
2
|
+
export * from '../contracts/admin-surface-action-schema.js';
|
|
167
3
|
//# sourceMappingURL=action-schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-schema.js","sourceRoot":"","sources":["../../src/admin-surfaces/action-schema.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"action-schema.js","sourceRoot":"","sources":["../../src/admin-surfaces/action-schema.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,cAAc,6CAA6C,CAAC"}
|
|
@@ -36,5 +36,11 @@ export declare function buildAdminSurfaceActionTools(required: {
|
|
|
36
36
|
readonly run?: (input: {
|
|
37
37
|
readonly dispatch: () => Promise<AdminSurfaceActionOutcome>;
|
|
38
38
|
}) => Promise<unknown>;
|
|
39
|
+
/** The host's opaque ref for a declared connection id. Given, every action discloses its surface's
|
|
40
|
+
* declared connections, so the host can show and freeze their accounts before confirming. */
|
|
41
|
+
readonly connectionRefFor?: (input: {
|
|
42
|
+
readonly pluginId: string;
|
|
43
|
+
readonly connectionId: string;
|
|
44
|
+
}) => string;
|
|
39
45
|
}): readonly AgentPluginAdditionalTool[];
|
|
40
46
|
//# sourceMappingURL=action-tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-tools.d.ts","sourceRoot":"","sources":["../../src/admin-surfaces/action-tools.ts"],"names":[],"mappings":"AAAA,4GAA4G;AAC5G,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,KAAK,EAAE,yBAAyB,EAA6B,MAAM,kCAAkC,CAAC;AAC7G,OAAO,EAAsC,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAE5G,OAAO,KAAK,EAAsB,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAExE,uFAAuF;AACvF,MAAM,WAAW,uBAAwB,SAAQ,0BAA0B;IACzE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,oGAAoG;AACpG,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;CAC7C;AAcD;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE;IACrD,QAAQ,CAAC,QAAQ,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACrD,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;IACzK,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7F,EAAE,QAAQ,GAAE;
|
|
1
|
+
{"version":3,"file":"action-tools.d.ts","sourceRoot":"","sources":["../../src/admin-surfaces/action-tools.ts"],"names":[],"mappings":"AAAA,4GAA4G;AAC5G,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,KAAK,EAAE,yBAAyB,EAA6B,MAAM,kCAAkC,CAAC;AAC7G,OAAO,EAAsC,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAE5G,OAAO,KAAK,EAAsB,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAExE,uFAAuF;AACvF,MAAM,WAAW,uBAAwB,SAAQ,0BAA0B;IACzE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,oGAAoG;AACpG,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;CAC7C;AAcD;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE;IACrD,QAAQ,CAAC,QAAQ,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACrD,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;IACzK,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7F,EAAE,QAAQ,GAAE;IACX,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,yBAAyB,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5G;kGAC8F;IAC9F,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;CACxG,GAAG,SAAS,yBAAyB,EAAE,CA2B5C"}
|
|
@@ -25,16 +25,18 @@ function checkedPayload(required, _optional = {}) {
|
|
|
25
25
|
export function buildAdminSurfaceActionTools(required, optional = {}) {
|
|
26
26
|
return required.surfaces.flatMap(({ pluginId, descriptor }) => descriptor.actions.map((action) => {
|
|
27
27
|
const name = `${descriptor.id.replace(/-/g, '_')}_${action.name.replace(/-/g, '_')}`;
|
|
28
|
+
const refFor = optional.connectionRefFor;
|
|
28
29
|
return {
|
|
29
30
|
pluginId,
|
|
31
|
+
...(refFor && { connections: Object.freeze((descriptor.connections ?? []).map(({ id }) => refFor({ pluginId, connectionId: id }))) }),
|
|
30
32
|
tool: {
|
|
31
33
|
name, description: `${descriptor.title}: ${action.name}. Browser sign-in actions return a URL to show the user.`,
|
|
32
34
|
effect: action.effect ?? 'write',
|
|
33
35
|
inputSchema: { type: 'object', properties: { payload: action.input }, required: ['payload'], additionalProperties: false },
|
|
34
|
-
async handler({ auth, input }) {
|
|
36
|
+
async handler({ auth, input, signal }) {
|
|
35
37
|
if (!auth.principalId)
|
|
36
38
|
throw new ToolInputError({ message: 'Admin actions require an authenticated principal.' });
|
|
37
|
-
const context = { ...auth, principalId: auth.principalId, pluginId, surfaceId: descriptor.id };
|
|
39
|
+
const context = { ...auth, principalId: auth.principalId, pluginId, surfaceId: descriptor.id, ...(signal === undefined ? {} : { signal }) };
|
|
38
40
|
await required.authorize({ context });
|
|
39
41
|
const payload = checkedPayload({ input, action });
|
|
40
42
|
const dispatcher = createAdminSurfaceActionDispatcher({ descriptor, handlers: required.handlersFor({ pluginId, surfaceId: descriptor.id }) });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-tools.js","sourceRoot":"","sources":["../../src/admin-surfaces/action-tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnE,OAAO,EAAE,kCAAkC,EAAkC,MAAM,wBAAwB,CAAC;AAC5G,OAAO,EAAE,+BAA+B,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AAetG;yFACyF;AACzF,SAAS,cAAc,CAAC,QAA0E,EAAE,YAAmC,EAAE;IACvI,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IACnC,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,+BAA+B,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;WACpI,+BAA+B,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/F,MAAM,IAAI,cAAc,CAAC,EAAE,OAAO,EAAE,2DAA2D,EAAE,CAAC,CAAC;IACrG,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,4BAA4B,CAAC,QAI5C,EAAE,
|
|
1
|
+
{"version":3,"file":"action-tools.js","sourceRoot":"","sources":["../../src/admin-surfaces/action-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
* surface did not declare (a connection, a start parameter, a callback field, a config name) before
|
|
12
12
|
* the host sees it, and a host that answers with more than the port promises (a connection ref, raw
|
|
13
13
|
* scopes, undeclared callback fields) is cut back to the declared shape. Like the tool session it
|
|
14
|
-
* revokes everything once the plugin is disabled
|
|
15
|
-
* token the plugin obtained (in this call, an
|
|
16
|
-
* such a token in plugin state.
|
|
14
|
+
* revokes everything once the plugin is disabled, retires everything once the call ends (the shared
|
|
15
|
+
* gate), and withholds results and errors that mention a token the plugin obtained (in this call, an
|
|
16
|
+
* earlier one, or one of its tools); it also refuses to persist such a token in plugin state.
|
|
17
17
|
*/
|
|
18
18
|
import { type AgentPluginStateReader, type AgentPluginStateValue, type AgentPluginToolCapabilities, type AgentPluginToolCapabilityScope, type IssuedTokenMemory } from '../lifecycle/tools/capabilities.js';
|
|
19
19
|
import type { AdminSurfaceCapabilityDeclarations } from './capability-declarations.js';
|
|
@@ -145,7 +145,9 @@ export type AdminSurfaceCapabilitiesPort = (required: AgentPluginToolCapabilityS
|
|
|
145
145
|
* @param required.declared - The surface's own capability declarations (the allowlists).
|
|
146
146
|
* @param required.issued - The plugin's token memory, shared by all its calls (tools included).
|
|
147
147
|
* @param optional.actorId - The signed-in admin; account actions are refused without one.
|
|
148
|
-
* @
|
|
148
|
+
* @param optional.signal - The assistant call's abort signal when the action runs as a tool; see `openCapabilityGate`.
|
|
149
|
+
* @returns Wrapped capabilities plus the shared `release` (result) and `sanitize` (error) gates and
|
|
150
|
+
* `end`; run the call with `runInCapabilitySession` so `end` always runs when it finishes.
|
|
149
151
|
* @complexity O(1) to open; each check is bounded by the declared lists and the value caps.
|
|
150
152
|
*/
|
|
151
153
|
export declare function openAdminSurfaceCapabilitySession(required: {
|
|
@@ -155,6 +157,7 @@ export declare function openAdminSurfaceCapabilitySession(required: {
|
|
|
155
157
|
readonly issued: IssuedTokenMemory;
|
|
156
158
|
}, optional?: {
|
|
157
159
|
readonly actorId?: string;
|
|
160
|
+
readonly signal?: AbortSignal;
|
|
158
161
|
}): {
|
|
159
162
|
capabilities: AdminSurfaceCapabilities;
|
|
160
163
|
release: <T>({ value }: {
|
|
@@ -163,5 +166,6 @@ export declare function openAdminSurfaceCapabilitySession(required: {
|
|
|
163
166
|
sanitize: ({ error }: {
|
|
164
167
|
readonly error: unknown;
|
|
165
168
|
}) => unknown;
|
|
169
|
+
end: () => void;
|
|
166
170
|
};
|
|
167
171
|
//# sourceMappingURL=surface-capabilities.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface-capabilities.d.ts","sourceRoot":"","sources":["../../src/admin-surfaces/surface-capabilities.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"surface-capabilities.d.ts","sourceRoot":"","sources":["../../src/admin-surfaces/surface-capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
* surface did not declare (a connection, a start parameter, a callback field, a config name) before
|
|
12
12
|
* the host sees it, and a host that answers with more than the port promises (a connection ref, raw
|
|
13
13
|
* scopes, undeclared callback fields) is cut back to the declared shape. Like the tool session it
|
|
14
|
-
* revokes everything once the plugin is disabled
|
|
15
|
-
* token the plugin obtained (in this call, an
|
|
16
|
-
* such a token in plugin state.
|
|
14
|
+
* revokes everything once the plugin is disabled, retires everything once the call ends (the shared
|
|
15
|
+
* gate), and withholds results and errors that mention a token the plugin obtained (in this call, an
|
|
16
|
+
* earlier one, or one of its tools); it also refuses to persist such a token in plugin state.
|
|
17
17
|
*/
|
|
18
18
|
import { checkedStateKey, guardSharedCapabilities, guardStateReader, openCapabilityGate, } from '../lifecycle/tools/capabilities.js';
|
|
19
19
|
import { guardDeliveryBindings } from './delivery-bindings.js';
|
|
@@ -192,12 +192,14 @@ function guardForms(required, optional = {}) {
|
|
|
192
192
|
* @param required.declared - The surface's own capability declarations (the allowlists).
|
|
193
193
|
* @param required.issued - The plugin's token memory, shared by all its calls (tools included).
|
|
194
194
|
* @param optional.actorId - The signed-in admin; account actions are refused without one.
|
|
195
|
-
* @
|
|
195
|
+
* @param optional.signal - The assistant call's abort signal when the action runs as a tool; see `openCapabilityGate`.
|
|
196
|
+
* @returns Wrapped capabilities plus the shared `release` (result) and `sanitize` (error) gates and
|
|
197
|
+
* `end`; run the call with `runInCapabilitySession` so `end` always runs when it finishes.
|
|
196
198
|
* @complexity O(1) to open; each check is bounded by the declared lists and the value caps.
|
|
197
199
|
*/
|
|
198
200
|
export function openAdminSurfaceCapabilitySession(required, optional = {}) {
|
|
199
201
|
const { capabilities: host, isLive, declared, issued } = required;
|
|
200
|
-
const gate = openCapabilityGate({ isLive, issued });
|
|
202
|
+
const gate = openCapabilityGate({ isLive, issued }, optional.signal === undefined ? {} : { signal: optional.signal });
|
|
201
203
|
const input = { gate, host: host.connections, declared: declared.connections ?? [], actorId: optional.actorId };
|
|
202
204
|
const { deliveryAdapters } = declared;
|
|
203
205
|
const deliveryBindings = deliveryAdapters === undefined || host.deliveryBindings === undefined ? undefined
|
|
@@ -208,8 +210,13 @@ export function openAdminSurfaceCapabilitySession(required, optional = {}) {
|
|
|
208
210
|
state: guardState(gate, host.state),
|
|
209
211
|
publicConfig: guardPublicConfig(gate, host.publicConfig, declared.publicConfig ?? []),
|
|
210
212
|
...(deliveryBindings && { deliveryBindings }),
|
|
211
|
-
...(
|
|
213
|
+
...declaredForms({ declared, host, gate }, optional),
|
|
212
214
|
});
|
|
213
|
-
return { capabilities, release: gate.release, sanitize: gate.sanitize };
|
|
215
|
+
return { capabilities, release: gate.release, sanitize: gate.sanitize, end: gate.end };
|
|
216
|
+
}
|
|
217
|
+
function declaredForms({ declared, host, gate }, optional = {}) {
|
|
218
|
+
if (!declared.forms?.includes('list') || host.forms === undefined)
|
|
219
|
+
return {};
|
|
220
|
+
return { forms: guardForms({ gate, host: host.forms }, optional) };
|
|
214
221
|
}
|
|
215
222
|
//# sourceMappingURL=surface-capabilities.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface-capabilities.js","sourceRoot":"","sources":["../../src/admin-surfaces/surface-capabilities.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"surface-capabilities.js","sourceRoot":"","sources":["../../src/admin-surfaces/surface-capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,13 +8,14 @@
|
|
|
8
8
|
* (`defineExecutablePluginContribution`: active plugin, shipped digest, on-disk containment), it
|
|
9
9
|
* receives host capability ports (never a raw secret) through the admin-surface capability session
|
|
10
10
|
* (`./surface-capabilities.ts`: only the surface's declared connections and config, revoked on disable,
|
|
11
|
-
*
|
|
11
|
+
* retired when the action or bootstrap call ends, results and errors scanned for tokens the call
|
|
12
|
+
* obtained, the same gate as executable tools), and the
|
|
12
13
|
* dispatcher still checks the declared input and result schemas around it.
|
|
13
14
|
* Bootstrap data is the one answer allowed to carry an access token (a surface may need a short-lived
|
|
14
15
|
* one); it must match the surface's declared `bootstrap` schema and is never cached by the host.
|
|
15
16
|
*/
|
|
16
17
|
import { type LoadedPluginContribution, type PluginContributionDefinition } from '../lifecycle/contribution-loader.js';
|
|
17
|
-
import type
|
|
18
|
+
import { type IssuedTokenMemories } from '../lifecycle/tools/capabilities.js';
|
|
18
19
|
import { type AdminSurfaceCapabilities, type AdminSurfaceCapabilitiesPort } from './surface-capabilities.js';
|
|
19
20
|
import { type AdminSurfaceActionHandler } from './action-dispatcher.js';
|
|
20
21
|
import { type AdminSurfaceDescriptor } from './descriptor.js';
|
|
@@ -25,6 +26,9 @@ export interface AdminSurfaceHandlerContext {
|
|
|
25
26
|
readonly principalId?: string;
|
|
26
27
|
readonly pluginId: string;
|
|
27
28
|
readonly surfaceId: string;
|
|
29
|
+
/** The assistant call's signal when an admin action runs as a tool: the host keys that call's
|
|
30
|
+
* confirmed accounts by it. Passed to the host's capabilities only, never to the plugin. */
|
|
31
|
+
readonly signal?: AbortSignal;
|
|
28
32
|
}
|
|
29
33
|
/** Which kind of host is running the surface, so a plugin picks its flow (for example a sign-in in
|
|
30
34
|
* the system browser on desktop) without inferring it from config. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface-handlers.d.ts","sourceRoot":"","sources":["../../src/admin-surfaces/surface-handlers.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"surface-handlers.d.ts","sourceRoot":"","sources":["../../src/admin-surfaces/surface-handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,12 +8,14 @@
|
|
|
8
8
|
* (`defineExecutablePluginContribution`: active plugin, shipped digest, on-disk containment), it
|
|
9
9
|
* receives host capability ports (never a raw secret) through the admin-surface capability session
|
|
10
10
|
* (`./surface-capabilities.ts`: only the surface's declared connections and config, revoked on disable,
|
|
11
|
-
*
|
|
11
|
+
* retired when the action or bootstrap call ends, results and errors scanned for tokens the call
|
|
12
|
+
* obtained, the same gate as executable tools), and the
|
|
12
13
|
* dispatcher still checks the declared input and result schemas around it.
|
|
13
14
|
* Bootstrap data is the one answer allowed to carry an access token (a surface may need a short-lived
|
|
14
15
|
* one); it must match the surface's declared `bootstrap` schema and is never cached by the host.
|
|
15
16
|
*/
|
|
16
17
|
import { defineExecutablePluginContribution } from '../lifecycle/contribution-loader.js';
|
|
18
|
+
import { runInCapabilitySession } from '../lifecycle/tools/capabilities.js';
|
|
17
19
|
import { openAdminSurfaceCapabilitySession } from './surface-capabilities.js';
|
|
18
20
|
import { AdminSurfaceActionError } from './action-dispatcher.js';
|
|
19
21
|
import { validateAdminSurfaceActionValue } from './action-schema.js';
|
|
@@ -89,8 +91,8 @@ export function createAdminSurfaceHandlerHost(required, _optional = {}) {
|
|
|
89
91
|
function sessionFor(self, context) {
|
|
90
92
|
const { pluginId, descriptor } = self.loaded;
|
|
91
93
|
const principal = context.principalId === undefined ? {} : { principalId: context.principalId };
|
|
92
|
-
const capabilities = required.capabilities({ pluginId, workspaceId: context.workspaceId, ...principal });
|
|
93
|
-
const session = openAdminSurfaceCapabilitySession({ capabilities, isLive: self.isLive, declared: descriptor, issued: self.issued }, { ...(principal.principalId !== undefined && { actorId: principal.principalId }) });
|
|
94
|
+
const capabilities = required.capabilities({ pluginId, workspaceId: context.workspaceId, ...principal, ...(context.signal === undefined ? {} : { signal: context.signal }) });
|
|
95
|
+
const session = openAdminSurfaceCapabilitySession({ capabilities, isLive: self.isLive, declared: descriptor, issued: self.issued }, { ...(principal.principalId !== undefined && { actorId: principal.principalId }), ...(context.signal !== undefined && { signal: context.signal }) });
|
|
94
96
|
const connectionIds = (descriptor.connections ?? []).map((connection) => connection.id);
|
|
95
97
|
return { session, context: { workspaceId: context.workspaceId, ...principal, pluginId, surfaceId: descriptor.id, connectionIds, hostKind } };
|
|
96
98
|
}
|
|
@@ -99,12 +101,7 @@ export function createAdminSurfaceHandlerHost(required, _optional = {}) {
|
|
|
99
101
|
if (!self.isLive())
|
|
100
102
|
throw new AdminSurfaceActionError({ code: 'plugin-disabled', message: ADMIN_SURFACE_PLUGIN_DISABLED_MESSAGE });
|
|
101
103
|
const { session, context } = sessionFor(self, caller);
|
|
102
|
-
|
|
103
|
-
return session.release({ value: await run({ input: payload, capabilities: session.capabilities, context, fail }) });
|
|
104
|
-
}
|
|
105
|
-
catch (error) {
|
|
106
|
-
throw session.sanitize({ error });
|
|
107
|
-
}
|
|
104
|
+
return runInCapabilitySession({ session, run: async () => session.release({ value: await run({ input: payload, capabilities: session.capabilities, context, fail }) }) });
|
|
108
105
|
};
|
|
109
106
|
}
|
|
110
107
|
/** A generation for one surface; live only while `admitted` holds this exact object. */
|
|
@@ -154,13 +151,8 @@ export function createAdminSurfaceHandlerHost(required, _optional = {}) {
|
|
|
154
151
|
if (self === undefined || provide === undefined)
|
|
155
152
|
return null;
|
|
156
153
|
const { session, context } = sessionFor(self, input.context);
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
data = await provide({ capabilities: session.capabilities, context });
|
|
160
|
-
}
|
|
161
|
-
catch (error) {
|
|
162
|
-
throw session.sanitize({ error });
|
|
163
|
-
}
|
|
154
|
+
// Not released: bootstrap data may carry a short-lived token by design (its schema bounds it).
|
|
155
|
+
const data = await runInCapabilitySession({ session, run: async () => provide({ capabilities: session.capabilities, context }) });
|
|
164
156
|
// Admission guarantees a schema whenever the module provides bootstrap data.
|
|
165
157
|
const violation = validateAdminSurfaceActionValue({ schema: self.loaded.descriptor.bootstrap, value: data });
|
|
166
158
|
if (violation !== null)
|