@cotal-ai/core 0.85.0 → 0.87.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/dist/agent-file.d.ts.map +1 -1
- package/dist/agent-file.js +10 -3
- package/dist/agent-file.js.map +1 -1
- package/dist/base64url.d.ts +5 -0
- package/dist/base64url.d.ts.map +1 -0
- package/dist/base64url.js +14 -0
- package/dist/base64url.js.map +1 -0
- package/dist/browser-control.d.ts +149 -0
- package/dist/browser-control.d.ts.map +1 -0
- package/dist/browser-control.js +167 -0
- package/dist/browser-control.js.map +1 -0
- package/dist/browser-validators-build.d.ts +23 -0
- package/dist/browser-validators-build.d.ts.map +1 -0
- package/dist/browser-validators-build.js +149 -0
- package/dist/browser-validators-build.js.map +1 -0
- package/dist/canonical-json.d.ts +14 -0
- package/dist/canonical-json.d.ts.map +1 -0
- package/dist/canonical-json.js +121 -0
- package/dist/canonical-json.js.map +1 -0
- package/dist/canonical.d.ts +2 -10
- package/dist/canonical.d.ts.map +1 -1
- package/dist/canonical.js +2 -108
- package/dist/canonical.js.map +1 -1
- package/dist/channels.d.ts +4 -0
- package/dist/channels.d.ts.map +1 -1
- package/dist/channels.js +6 -2
- package/dist/channels.js.map +1 -1
- package/dist/checkpoint-answer.d.ts.map +1 -1
- package/dist/checkpoint-answer.js +3 -4
- package/dist/checkpoint-answer.js.map +1 -1
- package/dist/connector-setup.d.ts +10 -1
- package/dist/connector-setup.d.ts.map +1 -1
- package/dist/digest-id.d.ts +4 -0
- package/dist/digest-id.d.ts.map +1 -0
- package/dist/digest-id.js +7 -0
- package/dist/digest-id.js.map +1 -0
- package/dist/endpoint-action.d.ts +2 -2
- package/dist/endpoint-action.d.ts.map +1 -1
- package/dist/endpoint-action.js +6 -44
- package/dist/endpoint-action.js.map +1 -1
- package/dist/endpoint-auth-digest.d.ts +7 -0
- package/dist/endpoint-auth-digest.d.ts.map +1 -0
- package/dist/endpoint-auth-digest.js +13 -0
- package/dist/endpoint-auth-digest.js.map +1 -0
- package/dist/endpoint-call.d.ts +176 -0
- package/dist/endpoint-call.d.ts.map +1 -0
- package/dist/endpoint-call.js +490 -0
- package/dist/endpoint-call.js.map +1 -0
- package/dist/endpoint-caller.d.ts +113 -0
- package/dist/endpoint-caller.d.ts.map +1 -0
- package/dist/endpoint-caller.js +260 -0
- package/dist/endpoint-caller.js.map +1 -0
- package/dist/endpoint-checkpoint.d.ts.map +1 -1
- package/dist/endpoint-checkpoint.js +5 -14
- package/dist/endpoint-checkpoint.js.map +1 -1
- package/dist/endpoint-envelope.d.ts +0 -6
- package/dist/endpoint-envelope.d.ts.map +1 -1
- package/dist/endpoint-envelope.js +17 -18
- package/dist/endpoint-envelope.js.map +1 -1
- package/dist/endpoint-goal-follow.d.ts +37 -0
- package/dist/endpoint-goal-follow.d.ts.map +1 -0
- package/dist/endpoint-goal-follow.js +328 -0
- package/dist/endpoint-goal-follow.js.map +1 -0
- package/dist/endpoint-grants.d.ts +0 -4
- package/dist/endpoint-grants.d.ts.map +1 -1
- package/dist/endpoint-grants.js +1 -7
- package/dist/endpoint-grants.js.map +1 -1
- package/dist/endpoint-guard.d.ts.map +1 -1
- package/dist/endpoint-guard.js +2 -10
- package/dist/endpoint-guard.js.map +1 -1
- package/dist/endpoint-invoke.d.ts +37 -143
- package/dist/endpoint-invoke.d.ts.map +1 -1
- package/dist/endpoint-invoke.js +60 -605
- package/dist/endpoint-invoke.js.map +1 -1
- package/dist/endpoint-publish-denial.d.ts +1 -1
- package/dist/endpoint-publish-denial.d.ts.map +1 -1
- package/dist/endpoint-publish-denial.js +1 -1
- package/dist/endpoint-publish-denial.js.map +1 -1
- package/dist/endpoint-receipt.d.ts.map +1 -1
- package/dist/endpoint-receipt.js +2 -16
- package/dist/endpoint-receipt.js.map +1 -1
- package/dist/endpoint-signing.d.ts +1 -1
- package/dist/endpoint-signing.d.ts.map +1 -1
- package/dist/endpoint-signing.js +1 -1
- package/dist/endpoint-signing.js.map +1 -1
- package/dist/endpoint-subjects.d.ts +4 -0
- package/dist/endpoint-subjects.d.ts.map +1 -1
- package/dist/endpoint-subjects.js +6 -0
- package/dist/endpoint-subjects.js.map +1 -1
- package/dist/endpoint-traits.d.ts.map +1 -1
- package/dist/endpoint-traits.js +3 -20
- package/dist/endpoint-traits.js.map +1 -1
- package/dist/endpoint-verbs.d.ts +18 -151
- package/dist/endpoint-verbs.d.ts.map +1 -1
- package/dist/endpoint-verbs.js +4 -500
- package/dist/endpoint-verbs.js.map +1 -1
- package/dist/endpoint-work.d.ts.map +1 -1
- package/dist/endpoint-work.js +2 -17
- package/dist/endpoint-work.js.map +1 -1
- package/dist/endpoint.d.ts +113 -24
- package/dist/endpoint.d.ts.map +1 -1
- package/dist/endpoint.js +330 -78
- package/dist/endpoint.js.map +1 -1
- package/dist/goal-result-fact.d.ts +13 -0
- package/dist/goal-result-fact.d.ts.map +1 -0
- package/dist/goal-result-fact.js +40 -0
- package/dist/goal-result-fact.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/issued-accepted.d.ts +27 -0
- package/dist/issued-accepted.d.ts.map +1 -0
- package/dist/issued-accepted.js +62 -0
- package/dist/issued-accepted.js.map +1 -0
- package/dist/issued-authority.d.ts +3 -18
- package/dist/issued-authority.d.ts.map +1 -1
- package/dist/issued-authority.js +4 -55
- package/dist/issued-authority.js.map +1 -1
- package/dist/jetstream-missing.d.ts +4 -0
- package/dist/jetstream-missing.d.ts.map +1 -1
- package/dist/jetstream-missing.js +6 -0
- package/dist/jetstream-missing.js.map +1 -1
- package/dist/kv-scan.d.ts +15 -0
- package/dist/kv-scan.d.ts.map +1 -1
- package/dist/kv-scan.js +32 -0
- package/dist/kv-scan.js.map +1 -1
- package/dist/launch-material.d.ts.map +1 -1
- package/dist/launch-material.js +6 -2
- package/dist/launch-material.js.map +1 -1
- package/dist/lease.d.ts +50 -0
- package/dist/lease.d.ts.map +1 -1
- package/dist/lease.js +71 -0
- package/dist/lease.js.map +1 -1
- package/dist/lifecycle-state.d.ts +3 -0
- package/dist/lifecycle-state.d.ts.map +1 -1
- package/dist/lifecycle-state.js +7 -0
- package/dist/lifecycle-state.js.map +1 -1
- package/dist/manager-caller.d.ts.map +1 -1
- package/dist/manager-caller.js +2 -1
- package/dist/manager-caller.js.map +1 -1
- package/dist/one-line.d.ts +6 -0
- package/dist/one-line.d.ts.map +1 -0
- package/dist/one-line.js +8 -0
- package/dist/one-line.js.map +1 -0
- package/dist/peer-label.d.ts +16 -0
- package/dist/peer-label.d.ts.map +1 -0
- package/dist/peer-label.js +15 -0
- package/dist/peer-label.js.map +1 -0
- package/dist/permission-denied.d.ts +8 -0
- package/dist/permission-denied.d.ts.map +1 -0
- package/dist/permission-denied.js +15 -0
- package/dist/permission-denied.js.map +1 -0
- package/dist/presence-text.d.ts +6 -0
- package/dist/presence-text.d.ts.map +1 -0
- package/dist/presence-text.js +25 -0
- package/dist/presence-text.js.map +1 -0
- package/dist/private-tool-results.d.ts +253 -0
- package/dist/private-tool-results.d.ts.map +1 -0
- package/dist/private-tool-results.js +141 -0
- package/dist/private-tool-results.js.map +1 -0
- package/dist/provision.d.ts +5 -0
- package/dist/provision.d.ts.map +1 -1
- package/dist/provision.js +40 -16
- package/dist/provision.js.map +1 -1
- package/dist/remote-manager-authority.d.ts +17 -0
- package/dist/remote-manager-authority.d.ts.map +1 -1
- package/dist/remote-manager-authority.js +40 -1
- package/dist/remote-manager-authority.js.map +1 -1
- package/dist/resolve.d.ts +2 -13
- package/dist/resolve.d.ts.map +1 -1
- package/dist/resolve.js +2 -12
- package/dist/resolve.js.map +1 -1
- package/dist/run-driver-grants.d.ts +5 -0
- package/dist/run-driver-grants.d.ts.map +1 -1
- package/dist/run-driver-grants.js +16 -4
- package/dist/run-driver-grants.js.map +1 -1
- package/dist/run-journal.d.ts.map +1 -1
- package/dist/run-journal.js +1 -6
- package/dist/run-journal.js.map +1 -1
- package/dist/run-migration.d.ts +21 -0
- package/dist/run-migration.d.ts.map +1 -1
- package/dist/run-migration.js +2 -27
- package/dist/run-migration.js.map +1 -1
- package/dist/run-notice.d.ts +20 -0
- package/dist/run-notice.d.ts.map +1 -1
- package/dist/run-notice.js +3 -28
- package/dist/run-notice.js.map +1 -1
- package/dist/schema-bounds.d.ts +24 -0
- package/dist/schema-bounds.d.ts.map +1 -0
- package/dist/schema-bounds.js +74 -0
- package/dist/schema-bounds.js.map +1 -0
- package/dist/schema-profile.d.ts +11 -24
- package/dist/schema-profile.d.ts.map +1 -1
- package/dist/schema-profile.js +16 -73
- package/dist/schema-profile.js.map +1 -1
- package/dist/subjects.d.ts +17 -0
- package/dist/subjects.d.ts.map +1 -1
- package/dist/subjects.js +30 -2
- package/dist/subjects.js.map +1 -1
- package/dist/turn-contract.d.ts.map +1 -1
- package/dist/turn-contract.js +14 -4
- package/dist/turn-contract.js.map +1 -1
- package/package.json +14 -1
package/dist/agent-file.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-file.d.ts","sourceRoot":"","sources":["../src/agent-file.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;;gGAG4F;IAC5F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;sGAGkG;IAClG,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB;;;yCAGqC;IACrC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;qFAEiF;IACjF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;oFAEgF;IAChF,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;0EACsE;IACtE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+FAA+F;IAC/F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;oGAGgG;IAChG,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC;;;;;;;;uDAQmD;IACnD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;oGAIgG;IAChG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;qDACiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAsBD,wGAAwG;AACxG,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-file.d.ts","sourceRoot":"","sources":["../src/agent-file.ts"],"names":[],"mappings":"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"}
|
package/dist/agent-file.js
CHANGED
|
@@ -52,6 +52,11 @@ function parseFrontmatter(src, path) {
|
|
|
52
52
|
const AGENT_FILE_FENCE = /^---\n([\s\S]*?)\n---\n?([\s\S]*)$/;
|
|
53
53
|
/** Named error prefix when a persona prompt starts with `---` but is not a closed, valid agent file. */
|
|
54
54
|
export const PROMPT_FRONTMATTER = "prompt-frontmatter";
|
|
55
|
+
/** Frontmatter keys {@link AgentDef} models. The parser keeps them out of `meta`, and the writer
|
|
56
|
+
* refuses a `meta` entry that names one, so a hint can never overwrite a field the file models. */
|
|
57
|
+
const MODELED_KEYS = new Set(["name", "role", "kind", "description", "tags", "subscribe", "allowSubscribe", "allowPublish", "quiet", "muted", "agent", "model", "variant", "launchOptions", "capabilities", "owner"]);
|
|
58
|
+
/** Pre-ACL field names the parser refuses outright, so the writer must never emit them from `meta`. */
|
|
59
|
+
const RENAMED_KEYS = ["channels", "publish"];
|
|
55
60
|
/** Refuse a whitespace-only `model` or `variant`. Launchers and connectors read these as set or
|
|
56
61
|
* absent, and a blank value is neither, so letting one through leaves each of them to drop, render
|
|
57
62
|
* or refuse it on its own. */
|
|
@@ -104,7 +109,7 @@ export function parseAgentFileSource(src, path) {
|
|
|
104
109
|
// The pre-ACL field names were renamed (channels→subscribe, publish→allowPublish, +allowSubscribe).
|
|
105
110
|
// Fail loud on the old names rather than silently sweeping them into meta and ignoring them —
|
|
106
111
|
// an unmigrated file would otherwise lose its read/post scope without warning (no silent degrade).
|
|
107
|
-
for (const old of
|
|
112
|
+
for (const old of RENAMED_KEYS)
|
|
108
113
|
if (old in fm)
|
|
109
114
|
throw new Error(`agent file ${path}: "${old}" was renamed - use "subscribe"/"allowSubscribe" (read) and "allowPublish" (post)`);
|
|
110
115
|
const subscribe = list("subscribe");
|
|
@@ -164,10 +169,9 @@ export function parseAgentFileSource(src, path) {
|
|
|
164
169
|
}
|
|
165
170
|
// Sweep every scalar frontmatter key we don't model into meta, verbatim — connector launcher
|
|
166
171
|
// hints ride here so core stays ignorant of surface-specific keys.
|
|
167
|
-
const known = new Set(["name", "role", "kind", "description", "tags", "subscribe", "allowSubscribe", "allowPublish", "quiet", "muted", "agent", "model", "variant", "launchOptions", "capabilities", "owner"]);
|
|
168
172
|
const meta = {};
|
|
169
173
|
for (const [k, v] of Object.entries(fm))
|
|
170
|
-
if (!
|
|
174
|
+
if (!MODELED_KEYS.has(k) && v !== null && typeof v !== "object")
|
|
171
175
|
meta[k] = String(v);
|
|
172
176
|
return {
|
|
173
177
|
name,
|
|
@@ -199,6 +203,9 @@ export function saveAgentFile(path, def) {
|
|
|
199
203
|
throw new Error('saveAgentFile: "name" is required');
|
|
200
204
|
assertValidName(def.name);
|
|
201
205
|
assertLaunchSelectors(def, "saveAgentFile");
|
|
206
|
+
for (const k of Object.keys(def.meta ?? {}))
|
|
207
|
+
if (MODELED_KEYS.has(k) || RENAMED_KEYS.includes(k))
|
|
208
|
+
throw new Error(`saveAgentFile: meta key "${k}" collides with a modeled frontmatter field`);
|
|
202
209
|
// The read set must be SAID, not inferred. A persona saved without one used to inherit a channel
|
|
203
210
|
// nobody chose, and the file gave a later reader no way to tell a deliberate silence from a
|
|
204
211
|
// forgotten field. Refusing here rather than filling in an empty list keeps that distinction:
|
package/dist/agent-file.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-file.js","sourceRoot":"","sources":["../src/agent-file.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-file.js","sourceRoot":"","sources":["../src/agent-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** RFC 4648 base64url without padding, the form `Buffer#toString("base64url")` produces, on any host. */
|
|
2
|
+
export declare function base64url(bytes: Uint8Array): string;
|
|
3
|
+
/** Decode base64url (padding optional) to bytes, on any host. */
|
|
4
|
+
export declare function fromBase64url(text: string): Uint8Array;
|
|
5
|
+
//# sourceMappingURL=base64url.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base64url.d.ts","sourceRoot":"","sources":["../src/base64url.ts"],"names":[],"mappings":"AAAA,yGAAyG;AACzG,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAInD;AAED,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAItD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** RFC 4648 base64url without padding, the form `Buffer#toString("base64url")` produces, on any host. */
|
|
2
|
+
export function base64url(bytes) {
|
|
3
|
+
let binary = "";
|
|
4
|
+
for (const b of bytes)
|
|
5
|
+
binary += String.fromCharCode(b);
|
|
6
|
+
return btoa(binary).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
7
|
+
}
|
|
8
|
+
/** Decode base64url (padding optional) to bytes, on any host. */
|
|
9
|
+
export function fromBase64url(text) {
|
|
10
|
+
const b64 = text.replace(/-/g, "+").replace(/_/g, "/");
|
|
11
|
+
const binary = atob(b64 + "=".repeat((4 - (b64.length % 4)) % 4));
|
|
12
|
+
return Uint8Array.from(binary, (ch) => ch.charCodeAt(0));
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=base64url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base64url.js","sourceRoot":"","sources":["../src/base64url.ts"],"names":[],"mappings":"AAAA,yGAAyG;AACzG,MAAM,UAAU,SAAS,CAAC,KAAiB;IACzC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACxD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The browser control entry (`@cotal-ai/core/browser-control`): describe and invoke ANY endpoint from
|
|
3
|
+
* a strict-CSP page, with no Node built-in and no runtime code generation.
|
|
4
|
+
*
|
|
5
|
+
* The package root compiles a described service's §13.7 schema closures with Ajv at runtime, which a
|
|
6
|
+
* `script-src 'self'` page forbids. Here the HOST supplies the validators instead, generated at its
|
|
7
|
+
* own build time by `@cotal-ai/core/browser-validators-build` for the endpoint contracts it calls.
|
|
8
|
+
* A closure digest is the closure's identity, so the generated validator for a digest IS that
|
|
9
|
+
* closure's validator. A cluster or closure the host did not generate refuses as
|
|
10
|
+
* `unsupported-version` before any command is sent: never compiled, guessed or skipped. The read-only
|
|
11
|
+
* `describe` that names those digests has already run; no command, and so no mutation, follows it.
|
|
12
|
+
*
|
|
13
|
+
* Authority stays the host's: it passes its own connection (`wsconnect`, its current credentials)
|
|
14
|
+
* and the caller it was issued. This entry mints, persists and selects nothing, and never retries.
|
|
15
|
+
*
|
|
16
|
+
* `openBrowserManagerCaller` builds that connection for one selected Manager instance from the
|
|
17
|
+
* signed-in person's `manager-caller` bearer, and adds the stock goal follow and the `goal-result`
|
|
18
|
+
* read back, so an accepted goal is followed and reconciled and never submitted again.
|
|
19
|
+
*/
|
|
20
|
+
import { type NatsConnection } from "@nats-io/nats-core";
|
|
21
|
+
import { type ResolvedCommand, type ResolvedService } from "./endpoint-caller.js";
|
|
22
|
+
import type { EpAttributedReply, EpVerbTarget } from "./endpoint-call.js";
|
|
23
|
+
import type { EpCaller } from "./endpoint-subjects.js";
|
|
24
|
+
import type { GoalRef, GoalResultFact } from "./endpoint-action.js";
|
|
25
|
+
export { EpEnvelopeError, unansweredRequest, replyRefusedBeforeEffect } from "./endpoint-error.js";
|
|
26
|
+
/** One validator emitted by the build-time generator (Ajv standalone, the §13.7 profile options). */
|
|
27
|
+
export type BrowserValidator = ((data: unknown) => boolean) & {
|
|
28
|
+
errors?: Array<{
|
|
29
|
+
instancePath?: string;
|
|
30
|
+
message?: string;
|
|
31
|
+
}> | null;
|
|
32
|
+
};
|
|
33
|
+
/** One cluster document the generator verified against its recorded digest. */
|
|
34
|
+
export interface BrowserCluster {
|
|
35
|
+
readonly urn: string;
|
|
36
|
+
readonly revision: number;
|
|
37
|
+
readonly commands: ReadonlyArray<{
|
|
38
|
+
name: string;
|
|
39
|
+
class: string;
|
|
40
|
+
targeted: boolean;
|
|
41
|
+
modes?: readonly string[];
|
|
42
|
+
capability: string;
|
|
43
|
+
inputDigest: string;
|
|
44
|
+
outputDigest: string;
|
|
45
|
+
}>;
|
|
46
|
+
}
|
|
47
|
+
/** The generated module's export: validators by closure digest, cluster documents by cluster digest. */
|
|
48
|
+
export interface BrowserContractSet {
|
|
49
|
+
readonly validators: Readonly<Record<string, BrowserValidator>>;
|
|
50
|
+
readonly clusters: Readonly<Record<string, BrowserCluster>>;
|
|
51
|
+
}
|
|
52
|
+
export interface BrowserEndpointCallerOptions {
|
|
53
|
+
/** The host's own connection, opened with its current credentials. */
|
|
54
|
+
nc: NatsConnection;
|
|
55
|
+
space: string;
|
|
56
|
+
endpoint: string;
|
|
57
|
+
/** The caller the host was issued for this connection. */
|
|
58
|
+
caller: EpCaller;
|
|
59
|
+
/** The instance the host selected. Required: there is no implicit selection. */
|
|
60
|
+
instanceId: string;
|
|
61
|
+
contracts: BrowserContractSet;
|
|
62
|
+
deadlineMs?: number;
|
|
63
|
+
signal?: AbortSignal;
|
|
64
|
+
}
|
|
65
|
+
export interface BrowserInvokeOptions {
|
|
66
|
+
target?: EpVerbTarget;
|
|
67
|
+
deadlineMs?: number;
|
|
68
|
+
signal?: AbortSignal;
|
|
69
|
+
/** Caller-pinned envelope id; persist it before sending so a reload can reconcile, not resend. */
|
|
70
|
+
id?: string;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* What one invoke established. `replied` means the pinned responder answered ok; it is not a
|
|
74
|
+
* completed domain goal. `refused-before-effect` is a refusal the stock envelope proves ran nothing.
|
|
75
|
+
* `error-reply` is any other error reply. A request that got no answer throws the stock unanswered
|
|
76
|
+
* error (`unansweredRequest`): its effect is unknown and this entry never repeats it.
|
|
77
|
+
*/
|
|
78
|
+
export type BrowserInvokeOutcome = "replied" | "refused-before-effect" | "error-reply";
|
|
79
|
+
export interface BrowserEndpointCaller {
|
|
80
|
+
readonly instanceId: string;
|
|
81
|
+
readonly caller: EpCaller;
|
|
82
|
+
/** The described surface with host contracts, pinned to `instanceId` and its describe epoch. */
|
|
83
|
+
readonly service: ResolvedService;
|
|
84
|
+
invoke(command: string, args?: Record<string, unknown>, opts?: BrowserInvokeOptions): Promise<EpAttributedReply & {
|
|
85
|
+
outcome: BrowserInvokeOutcome;
|
|
86
|
+
}>;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* The invocable surface of a described service from host contracts only, assembled as the root's
|
|
90
|
+
* `resolveService` assembles it from the store: clusters in descriptor order, commands narrowed to
|
|
91
|
+
* those the describe view lists, a later cluster's command replacing an earlier one of the same
|
|
92
|
+
* name. Any cluster or closure the host did not generate refuses the WHOLE surface.
|
|
93
|
+
*/
|
|
94
|
+
export declare function browserServiceSurface(descriptor: {
|
|
95
|
+
clusters: ReadonlyArray<{
|
|
96
|
+
digest: string;
|
|
97
|
+
commands: readonly string[];
|
|
98
|
+
}>;
|
|
99
|
+
}, set: BrowserContractSet): Map<string, ResolvedCommand>;
|
|
100
|
+
/** Describe the endpoint on the selected instance and return a caller bound to that answer. */
|
|
101
|
+
export declare function openBrowserEndpointCaller(opts: BrowserEndpointCallerOptions): Promise<BrowserEndpointCaller>;
|
|
102
|
+
/** The signed-in person's authority for one connection. */
|
|
103
|
+
export interface BrowserManagerAuthority {
|
|
104
|
+
/** Their `manager-caller` bearer, issued for the selected instance (SPEC 10). */
|
|
105
|
+
bearer: string;
|
|
106
|
+
/** The space's sentinel credential, which lands the connection in the callout account. */
|
|
107
|
+
sentinelCreds: string;
|
|
108
|
+
}
|
|
109
|
+
export interface BrowserManagerCallerOptions {
|
|
110
|
+
/** WebSocket URL(s) of the space's broker. */
|
|
111
|
+
servers: string | string[];
|
|
112
|
+
space: string;
|
|
113
|
+
/** The principal and interactive lifecycle the issuer bound the bearer to. */
|
|
114
|
+
owner: string;
|
|
115
|
+
actor: string;
|
|
116
|
+
lifecycleUid: string;
|
|
117
|
+
/** The Manager instance the person selected. Required: there is no implicit selection. */
|
|
118
|
+
instanceId: string;
|
|
119
|
+
/** Returns fresh authority. Called on open and on every `reopen`. */
|
|
120
|
+
acquire: (signal?: AbortSignal) => Promise<BrowserManagerAuthority>;
|
|
121
|
+
/** The Manager's contracts, generated at the host's build from `managerBrowserContractSource()`. */
|
|
122
|
+
contracts: BrowserContractSet;
|
|
123
|
+
deadlineMs?: number;
|
|
124
|
+
signal?: AbortSignal;
|
|
125
|
+
}
|
|
126
|
+
export interface BrowserManagerCaller extends BrowserEndpointCaller {
|
|
127
|
+
/** Submit once under the caller's persisted envelope id and follow the goal to its terminal (the
|
|
128
|
+
* stock goal follow). A goal still open at the deadline answers `deadline-exceeded` with outcome
|
|
129
|
+
* `unknown`, and is read back with `reconcileGoal`, never submitted again. Refuses before sending when the
|
|
130
|
+
* Manager serves no `goal-result`, because an accepted goal could never be read back. */
|
|
131
|
+
followGoal(command: string, args: Record<string, unknown> | undefined, opts: BrowserInvokeOptions & {
|
|
132
|
+
id: string;
|
|
133
|
+
}): Promise<EpAttributedReply>;
|
|
134
|
+
/** Read an accepted goal's recorded terminal through the stock `goal-result` command. */
|
|
135
|
+
reconcileGoal(goalId: string, opts?: {
|
|
136
|
+
deadlineMs?: number;
|
|
137
|
+
signal?: AbortSignal;
|
|
138
|
+
}): Promise<EpAttributedReply & {
|
|
139
|
+
outcome: BrowserInvokeOutcome;
|
|
140
|
+
}>;
|
|
141
|
+
/** Close this connection and open a new one through `acquire`, re-checking every pin. */
|
|
142
|
+
reopen(signal?: AbortSignal): Promise<BrowserManagerCaller>;
|
|
143
|
+
close(): Promise<void>;
|
|
144
|
+
}
|
|
145
|
+
/** `parseGoalResultFact` with Web Crypto: the same shape checks and the same outcome digest. */
|
|
146
|
+
export declare function verifyGoalResultFact(raw: unknown, subject: string, ref: GoalRef): Promise<GoalResultFact>;
|
|
147
|
+
/** Open a caller for one explicitly selected Manager instance. */
|
|
148
|
+
export declare function openBrowserManagerCaller(opts: BrowserManagerCallerOptions): Promise<BrowserManagerCaller>;
|
|
149
|
+
//# sourceMappingURL=browser-control.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-control.d.ts","sourceRoot":"","sources":["../src/browser-control.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The browser control entry (`@cotal-ai/core/browser-control`): describe and invoke ANY endpoint from
|
|
3
|
+
* a strict-CSP page, with no Node built-in and no runtime code generation.
|
|
4
|
+
*
|
|
5
|
+
* The package root compiles a described service's §13.7 schema closures with Ajv at runtime, which a
|
|
6
|
+
* `script-src 'self'` page forbids. Here the HOST supplies the validators instead, generated at its
|
|
7
|
+
* own build time by `@cotal-ai/core/browser-validators-build` for the endpoint contracts it calls.
|
|
8
|
+
* A closure digest is the closure's identity, so the generated validator for a digest IS that
|
|
9
|
+
* closure's validator. A cluster or closure the host did not generate refuses as
|
|
10
|
+
* `unsupported-version` before any command is sent: never compiled, guessed or skipped. The read-only
|
|
11
|
+
* `describe` that names those digests has already run; no command, and so no mutation, follows it.
|
|
12
|
+
*
|
|
13
|
+
* Authority stays the host's: it passes its own connection (`wsconnect`, its current credentials)
|
|
14
|
+
* and the caller it was issued. This entry mints, persists and selects nothing, and never retries.
|
|
15
|
+
*
|
|
16
|
+
* `openBrowserManagerCaller` builds that connection for one selected Manager instance from the
|
|
17
|
+
* signed-in person's `manager-caller` bearer, and adds the stock goal follow and the `goal-result`
|
|
18
|
+
* read back, so an accepted goal is followed and reconciled and never submitted again.
|
|
19
|
+
*/
|
|
20
|
+
import { credsAuthenticator, tokenAuthenticator, wsconnect } from "@nats-io/nats-core";
|
|
21
|
+
import { describeEndpoint, goalFollowRefusal, invokeCommand } from "./endpoint-caller.js";
|
|
22
|
+
import { EpEnvelopeError, replyRefusedBeforeEffect } from "./endpoint-error.js";
|
|
23
|
+
import { submitAndFollowGoalWith } from "./endpoint-goal-follow.js";
|
|
24
|
+
import { assertGoalResultFactShape, goalOutcomeDigestMismatch } from "./goal-result-fact.js";
|
|
25
|
+
import { DIGEST_PREFIX, canonicalJson } from "./canonical-json.js";
|
|
26
|
+
import { issuedCallerOfToken } from "./issued-accepted.js";
|
|
27
|
+
import { managerCallerBinding } from "./manager-caller.js";
|
|
28
|
+
// The stock classifiers, from THIS entry's own module instance: a host that imported them from the
|
|
29
|
+
// package root would hold a second EpEnvelopeError class, and `instanceof` would miss every error.
|
|
30
|
+
export { EpEnvelopeError, unansweredRequest, replyRefusedBeforeEffect } from "./endpoint-error.js";
|
|
31
|
+
/** The host validator for one closure digest, or `unsupported-version` when the host has none. */
|
|
32
|
+
function contractOf(set, closureDigest) {
|
|
33
|
+
const validate = Object.hasOwn(set.validators, closureDigest) ? set.validators[closureDigest] : undefined;
|
|
34
|
+
if (typeof validate !== "function")
|
|
35
|
+
throw new EpEnvelopeError("unsupported-version", `schema closure ${closureDigest} has no host-generated validator; regenerate the host's contracts for this endpoint (SPEC 13.7)`);
|
|
36
|
+
return { validate, closureDigest };
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The invocable surface of a described service from host contracts only, assembled as the root's
|
|
40
|
+
* `resolveService` assembles it from the store: clusters in descriptor order, commands narrowed to
|
|
41
|
+
* those the describe view lists, a later cluster's command replacing an earlier one of the same
|
|
42
|
+
* name. Any cluster or closure the host did not generate refuses the WHOLE surface.
|
|
43
|
+
*/
|
|
44
|
+
export function browserServiceSurface(descriptor, set) {
|
|
45
|
+
const visible = new Set(descriptor.clusters.flatMap((cl) => cl.commands));
|
|
46
|
+
const surface = new Map();
|
|
47
|
+
for (const cl of descriptor.clusters) {
|
|
48
|
+
const doc = Object.hasOwn(set.clusters, cl.digest) ? set.clusters[cl.digest] : undefined;
|
|
49
|
+
if (!doc)
|
|
50
|
+
throw new EpEnvelopeError("unsupported-version", `cluster document ${cl.digest} has no host-generated contracts; regenerate the host's contracts for this endpoint (SPEC 13.7)`);
|
|
51
|
+
for (const cmd of doc.commands) {
|
|
52
|
+
if (!visible.has(cmd.name))
|
|
53
|
+
continue;
|
|
54
|
+
surface.set(cmd.name, {
|
|
55
|
+
command: cmd.name,
|
|
56
|
+
contract: { input: contractOf(set, cmd.inputDigest), output: contractOf(set, cmd.outputDigest) },
|
|
57
|
+
class: cmd.class, targeted: cmd.targeted, modes: [...(cmd.modes ?? [])], capability: cmd.capability,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return surface;
|
|
62
|
+
}
|
|
63
|
+
/** Describe the endpoint on the selected instance and return a caller bound to that answer. */
|
|
64
|
+
export async function openBrowserEndpointCaller(opts) {
|
|
65
|
+
opts.signal?.throwIfAborted();
|
|
66
|
+
const deadlineMs = opts.deadlineMs ?? 10_000;
|
|
67
|
+
const { answer, responder } = await describeEndpoint(opts.nc, opts.space, opts.endpoint, opts.caller, {
|
|
68
|
+
instanceId: opts.instanceId, deadlineMs, ...(opts.signal ? { signal: opts.signal } : {}),
|
|
69
|
+
});
|
|
70
|
+
if (responder.instanceId !== opts.instanceId)
|
|
71
|
+
throw new EpEnvelopeError("failed-precondition", `instance ${responder.instanceId} answered a describe pinned to ${opts.instanceId}; refused`);
|
|
72
|
+
const service = {
|
|
73
|
+
endpoint: answer.descriptor.endpoint, owner: answer.descriptor.owner, caller: opts.caller, responder,
|
|
74
|
+
commands: browserServiceSurface(answer.descriptor, opts.contracts), pinnedInstanceId: opts.instanceId,
|
|
75
|
+
};
|
|
76
|
+
return {
|
|
77
|
+
instanceId: opts.instanceId,
|
|
78
|
+
caller: opts.caller,
|
|
79
|
+
service,
|
|
80
|
+
async invoke(command, args, o = {}) {
|
|
81
|
+
const result = await invokeCommand(opts.nc, opts.space, service, command, args, {
|
|
82
|
+
...(o.target ? { target: o.target } : {}), deadlineMs: o.deadlineMs ?? deadlineMs,
|
|
83
|
+
...(o.signal ? { signal: o.signal } : {}), ...(o.id !== undefined ? { id: o.id } : {}),
|
|
84
|
+
});
|
|
85
|
+
const outcome = result.reply.ok !== false ? "replied"
|
|
86
|
+
: replyRefusedBeforeEffect(result.reply.error) ? "refused-before-effect" : "error-reply";
|
|
87
|
+
return { ...result, outcome };
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/** The stock Manager endpoint (`BASELINE_LIFECYCLE_ENDPOINT`). */
|
|
92
|
+
const MANAGER_ENDPOINT = "manager";
|
|
93
|
+
const hex = (bytes) => Array.from(new Uint8Array(bytes), (b) => b.toString(16).padStart(2, "0")).join("");
|
|
94
|
+
const sha256Hex = async (text) => hex(await globalThis.crypto.subtle.digest("SHA-256", new TextEncoder().encode(text)));
|
|
95
|
+
/** `parseGoalResultFact` with Web Crypto: the same shape checks and the same outcome digest. */
|
|
96
|
+
export async function verifyGoalResultFact(raw, subject, ref) {
|
|
97
|
+
const o = assertGoalResultFactShape(raw, subject, ref);
|
|
98
|
+
if (DIGEST_PREFIX + await sha256Hex(canonicalJson(o.data === undefined ? null : o.data)) !== o.outcomeDigest)
|
|
99
|
+
throw goalOutcomeDigestMismatch(subject);
|
|
100
|
+
return o;
|
|
101
|
+
}
|
|
102
|
+
/** Open a caller for one explicitly selected Manager instance. */
|
|
103
|
+
export async function openBrowserManagerCaller(opts) {
|
|
104
|
+
opts.signal?.throwIfAborted();
|
|
105
|
+
const deadlineMs = opts.deadlineMs ?? 10_000;
|
|
106
|
+
const authority = await opts.acquire(opts.signal);
|
|
107
|
+
// The bearer must name this space, principal, lifecycle and instance before anything is dialled.
|
|
108
|
+
const bound = managerCallerBinding(authority.bearer, {
|
|
109
|
+
space: opts.space, owner: opts.owner, actor: opts.actor, lifecycleUid: opts.lifecycleUid, instanceId: opts.instanceId,
|
|
110
|
+
});
|
|
111
|
+
// The user-mode connect of `standaloneConnectOpts`: a fresh nonce names the connection and its inbox.
|
|
112
|
+
const connId = `ibx${globalThis.crypto.randomUUID().replace(/-/g, "")}`;
|
|
113
|
+
const nc = await wsconnect({
|
|
114
|
+
servers: opts.servers,
|
|
115
|
+
name: connId,
|
|
116
|
+
inboxPrefix: `_INBOX_${connId}`,
|
|
117
|
+
authenticator: [credsAuthenticator(new TextEncoder().encode(authority.sentinelCreds)), tokenAuthenticator(authority.bearer)],
|
|
118
|
+
maxReconnectAttempts: 0,
|
|
119
|
+
timeout: Math.min(deadlineMs, 5_000),
|
|
120
|
+
});
|
|
121
|
+
try {
|
|
122
|
+
opts.signal?.throwIfAborted();
|
|
123
|
+
// The person's manager view is issued at the callout (SPEC 13.15): read its generation back from
|
|
124
|
+
// this connection's accepted row. A missing row refuses; there is no legacy-rail retry.
|
|
125
|
+
const caller = await issuedCallerOfToken(nc, opts.space, (await sha256Hex(`cotal.accepted.v1\0${connId}`)).slice(0, 32), bound.caller);
|
|
126
|
+
const endpointCaller = await openBrowserEndpointCaller({
|
|
127
|
+
nc, space: opts.space, endpoint: MANAGER_ENDPOINT, caller, instanceId: bound.instanceId, contracts: opts.contracts, deadlineMs,
|
|
128
|
+
...(opts.signal ? { signal: opts.signal } : {}),
|
|
129
|
+
});
|
|
130
|
+
const reconcileGoal = (goalId, o = {}) => endpointCaller.invoke("goal-result", { goalId }, { deadlineMs: o.deadlineMs ?? deadlineMs, ...(o.signal ? { signal: o.signal } : {}) });
|
|
131
|
+
const handle = {
|
|
132
|
+
...endpointCaller,
|
|
133
|
+
async followGoal(command, args, o) {
|
|
134
|
+
if (typeof o?.id !== "string" || o.id.length === 0)
|
|
135
|
+
throw new EpEnvelopeError("bad-request", "followGoal needs the caller's persisted envelope id; a goal is never submitted under an id the caller cannot reconcile", undefined, "not-executed");
|
|
136
|
+
const unfollowable = goalFollowRefusal(endpointCaller.service);
|
|
137
|
+
if (unfollowable)
|
|
138
|
+
return unfollowable;
|
|
139
|
+
const followMs = o.deadlineMs ?? deadlineMs;
|
|
140
|
+
return submitAndFollowGoalWith(verifyGoalResultFact, nc, opts.space, MANAGER_ENDPOINT, caller, followMs, (signal) => endpointCaller.invoke(command, args, { ...o, ...(signal ? { signal } : {}) }), {
|
|
141
|
+
reconcile: async (goalId, _attributed, context) => {
|
|
142
|
+
const q = await reconcileGoal(goalId, { deadlineMs: Math.min(followMs, context.deadlineMs), signal: context.signal });
|
|
143
|
+
if (q.reply.ok !== true)
|
|
144
|
+
throw new Error(q.reply.error?.message ?? "goal-result query refused");
|
|
145
|
+
return q.reply.data;
|
|
146
|
+
},
|
|
147
|
+
...(o.signal ? { signal: o.signal } : {}),
|
|
148
|
+
});
|
|
149
|
+
},
|
|
150
|
+
reconcileGoal,
|
|
151
|
+
async reopen(signal) {
|
|
152
|
+
await handle.close();
|
|
153
|
+
return openBrowserManagerCaller({ ...opts, ...(signal ? { signal } : {}) });
|
|
154
|
+
},
|
|
155
|
+
async close() {
|
|
156
|
+
if (!nc.isClosed())
|
|
157
|
+
await nc.close();
|
|
158
|
+
},
|
|
159
|
+
};
|
|
160
|
+
return handle;
|
|
161
|
+
}
|
|
162
|
+
catch (e) {
|
|
163
|
+
await nc.close();
|
|
164
|
+
throw e;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=browser-control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-control.js","sourceRoot":"","sources":["../src/browser-control.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface BrowserContractSource {
|
|
2
|
+
/** Free label recorded beside the cluster (e.g. the endpoint release it came from). */
|
|
3
|
+
label: string;
|
|
4
|
+
/** The digest the endpoint publishes for this cluster document. */
|
|
5
|
+
clusterDigest: string;
|
|
6
|
+
document: {
|
|
7
|
+
urn: string;
|
|
8
|
+
revision: number;
|
|
9
|
+
commands: Array<{
|
|
10
|
+
name: string;
|
|
11
|
+
inputDigest: string;
|
|
12
|
+
outputDigest: string;
|
|
13
|
+
}>;
|
|
14
|
+
};
|
|
15
|
+
roots: unknown[];
|
|
16
|
+
}
|
|
17
|
+
/** The generated module text, and how many clusters and closures it carries. */
|
|
18
|
+
export declare function generateBrowserContracts(sources: readonly BrowserContractSource[]): {
|
|
19
|
+
text: string;
|
|
20
|
+
clusters: number;
|
|
21
|
+
closures: number;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=browser-validators-build.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-validators-build.d.ts","sourceRoot":"","sources":["../src/browser-validators-build.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,qBAAqB;IACpC,uFAAuF;IACvF,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAC1H,KAAK,EAAE,OAAO,EAAE,CAAC;CAClB;AAqFD,gFAAgF;AAChF,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CA6CxI"}
|