@coalex-ai/sdk 1.18.0 → 1.24.0-beta.543
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/README.md +2 -2
- package/dist/auto-instrument.d.ts +10 -0
- package/dist/auto-instrument.d.ts.map +1 -1
- package/dist/auto-instrument.js +144 -57
- package/dist/auto-instrument.js.map +1 -1
- package/dist/decision-request.d.ts +22 -3
- package/dist/decision-request.d.ts.map +1 -1
- package/dist/decision-request.js +56 -5
- package/dist/decision-request.js.map +1 -1
- package/dist/evaluate.d.ts +7 -1
- package/dist/evaluate.d.ts.map +1 -1
- package/dist/evaluate.js +3 -1
- package/dist/evaluate.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/prompts.d.ts +17 -2
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +25 -1
- package/dist/prompts.js.map +1 -1
- package/dist/resolve.d.ts +20 -0
- package/dist/resolve.d.ts.map +1 -1
- package/dist/resolve.js +32 -1
- package/dist/resolve.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -125,12 +125,12 @@ const decision = await evaluate({
|
|
|
125
125
|
traceId: "abc-123",
|
|
126
126
|
input: { question: "What is the policy?" },
|
|
127
127
|
output: { answer: "The policy states..." },
|
|
128
|
-
metrics: { answer: ["f1", "
|
|
128
|
+
metrics: { answer: ["f1", "rouge_l"] },
|
|
129
129
|
});
|
|
130
130
|
// { status: "auto_approved" | "escalated" | "rejected", riskScore: 0.12, escalationId?: "..." }
|
|
131
131
|
```
|
|
132
132
|
|
|
133
|
-
Available metrics: `f1`, `word_overlap`, `bleu`, `rouge_l`, `
|
|
133
|
+
Available metrics: `f1`, `word_overlap`, `bleu`, `rouge_l`, `exact_match`, `levenshtein`, `contains`.
|
|
134
134
|
|
|
135
135
|
### `resolve(options)`
|
|
136
136
|
|
|
@@ -5,6 +5,16 @@ export interface AutoInstrumentOptions {
|
|
|
5
5
|
suppressErrors?: boolean;
|
|
6
6
|
includeLibraries?: string[];
|
|
7
7
|
excludeLibraries?: string[];
|
|
8
|
+
/**
|
|
9
|
+
* Where to look for the instrumentation packages. Defaults to this module's own location and then
|
|
10
|
+
* the process's working directory.
|
|
11
|
+
*
|
|
12
|
+
* The default covers the ordinary install: the SDK sits in the app's `node_modules`, and Node's
|
|
13
|
+
* upward resolution finds the app's `@arizeai/…` packages from there. It does not cover every
|
|
14
|
+
* layout — a strict pnpm store isolates the SDK's own `node_modules` from the app's — so the
|
|
15
|
+
* working directory is tried as well, and an app that knows better can say where to look.
|
|
16
|
+
*/
|
|
17
|
+
resolveFrom?: string;
|
|
8
18
|
}
|
|
9
19
|
export declare function autoInstrument(options?: AutoInstrumentOptions): Record<string, InstrumentationStatus>;
|
|
10
20
|
export declare function autoInstrumentAsync(options?: AutoInstrumentOptions): Promise<Record<string, InstrumentationStatus>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-instrument.d.ts","sourceRoot":"","sources":["../src/auto-instrument.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"auto-instrument.d.ts","sourceRoot":"","sources":["../src/auto-instrument.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAMzD,MAAM,MAAM,qBAAqB,GAC7B,SAAS,GACT,eAAe,GACf,sBAAsB,GACtB,OAAO,GACP,UAAU,CAAC;AAEf,MAAM,WAAW,qBAAqB;IACpC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAyJD,wBAAgB,cAAc,CAC5B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CA6BvC;AAED,wBAAsB,mBAAmB,CACvC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CA6BhD;AAED,wBAAgB,gBAAgB,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAMzE;AAED,wBAAgB,mBAAmB,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAM5E;AAED,wBAAgB,mBAAmB,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAM5E"}
|
package/dist/auto-instrument.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
1
4
|
import { log } from "./logger.js";
|
|
2
5
|
const INSTRUMENTORS = [
|
|
3
6
|
{
|
|
@@ -19,74 +22,144 @@ const INSTRUMENTORS = [
|
|
|
19
22
|
description: "Anthropic Claude",
|
|
20
23
|
},
|
|
21
24
|
];
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
/**
|
|
26
|
+
* How an instrumentation package is found and loaded (COA-2362).
|
|
27
|
+
*
|
|
28
|
+
* This file used to call a bare `require(config.package)`. The package is `"type": "module"`, so in
|
|
29
|
+
* the built `dist` that identifier does not exist and the line threw `ReferenceError: require is not
|
|
30
|
+
* defined` — every time, for every library. The `catch` below it then reported `"not_installed"`, so
|
|
31
|
+
* the SDK told every TypeScript customer that the LLM library sitting in their own `node_modules`
|
|
32
|
+
* was absent, and their agent ran with no LLM spans at all: no model, no tokens, no cost, nothing
|
|
33
|
+
* for the judge to score, and traces that looked otherwise healthy.
|
|
34
|
+
*
|
|
35
|
+
* `createRequire(import.meta.url)` is the ESM way to do exactly what that line meant.
|
|
36
|
+
*/
|
|
37
|
+
/** The files whose directories a lookup starts from, most specific first. */
|
|
38
|
+
function resolutionRoots(resolveFrom) {
|
|
39
|
+
const roots = [];
|
|
40
|
+
// A directory, not a file: `createRequire` resolves from the DIRNAME of what it is given, so
|
|
41
|
+
// `/app` would search `/` — the filename is what makes `/app` itself the starting point.
|
|
42
|
+
if (resolveFrom)
|
|
43
|
+
roots.push(join(resolveFrom, "noop.js"));
|
|
44
|
+
roots.push(fileURLToPath(import.meta.url));
|
|
45
|
+
roots.push(join(process.cwd(), "noop.js"));
|
|
46
|
+
return roots;
|
|
47
|
+
}
|
|
48
|
+
/** Node's code for "there is no such module", across the require and the import paths. */
|
|
49
|
+
function isMissingModule(e) {
|
|
50
|
+
const code = e?.code;
|
|
51
|
+
return code === "MODULE_NOT_FOUND" || code === "ERR_MODULE_NOT_FOUND";
|
|
52
|
+
}
|
|
53
|
+
/** Resolve the package to a file path from any of the roots, or say it is not installed. */
|
|
54
|
+
function resolvePackage(pkg, resolveFrom) {
|
|
55
|
+
for (const root of resolutionRoots(resolveFrom)) {
|
|
25
56
|
try {
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
catch {
|
|
29
|
-
return "not_installed";
|
|
30
|
-
}
|
|
31
|
-
const InstrumentorClass = mod[config.class];
|
|
32
|
-
if (!InstrumentorClass) {
|
|
33
|
-
log.warn(`Found ${config.package} but missing ${config.class} export`);
|
|
34
|
-
return "error";
|
|
35
|
-
}
|
|
36
|
-
const instrumentor = new InstrumentorClass();
|
|
37
|
-
if (instrumentor._isInstrumentedByOpenTelemetry || instrumentor.isEnabled?.()) {
|
|
38
|
-
return "already_instrumented";
|
|
57
|
+
return createRequire(root).resolve(pkg);
|
|
39
58
|
}
|
|
40
|
-
|
|
41
|
-
|
|
59
|
+
catch (e) {
|
|
60
|
+
if (!isMissingModule(e))
|
|
61
|
+
throw e;
|
|
42
62
|
}
|
|
43
|
-
instrumentor.enable();
|
|
44
|
-
console.info(`[coalex] Successfully instrumented ${config.description} (${config.name})`);
|
|
45
|
-
return "success";
|
|
46
63
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
function loadSync(pkg, resolveFrom) {
|
|
67
|
+
let resolved;
|
|
68
|
+
try {
|
|
69
|
+
resolved = resolvePackage(pkg, resolveFrom);
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
return { kind: "failed", error };
|
|
73
|
+
}
|
|
74
|
+
if (!resolved)
|
|
75
|
+
return { kind: "missing" };
|
|
76
|
+
try {
|
|
77
|
+
return { kind: "module", mod: createRequire(resolved)(resolved) };
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
// A package that is present but cannot be required — ESM-only on an older Node, a broken
|
|
81
|
+
// install, a throwing module — is NOT the same as one the user never installed, and saying so
|
|
82
|
+
// sent people to audit dependencies that were exactly where they should be.
|
|
83
|
+
return { kind: "failed", error };
|
|
54
84
|
}
|
|
55
85
|
}
|
|
86
|
+
async function loadAsync(pkg, resolveFrom) {
|
|
87
|
+
let resolved;
|
|
88
|
+
try {
|
|
89
|
+
resolved = resolvePackage(pkg, resolveFrom);
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
return { kind: "failed", error };
|
|
93
|
+
}
|
|
94
|
+
if (!resolved)
|
|
95
|
+
return { kind: "missing" };
|
|
96
|
+
try {
|
|
97
|
+
return { kind: "module", mod: (await import(pathToFileURL(resolved).href)) };
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
return { kind: "failed", error };
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/** Enable one loaded instrumentor. Throws whatever the instrumentor throws. */
|
|
104
|
+
function enableInstrumentor(mod, config, tracerProvider) {
|
|
105
|
+
// An ESM namespace wraps a CommonJS package's exports in `default`; a CommonJS require does not.
|
|
106
|
+
const candidates = [mod, mod["default"]];
|
|
107
|
+
const InstrumentorClass = candidates.find((c) => c && c[config.class])?.[config.class];
|
|
108
|
+
if (!InstrumentorClass) {
|
|
109
|
+
log.warn(`Found ${config.package} but it has no ${config.class} export`);
|
|
110
|
+
return "error";
|
|
111
|
+
}
|
|
112
|
+
const instrumentor = new InstrumentorClass();
|
|
113
|
+
if (instrumentor["_isInstrumentedByOpenTelemetry"] || instrumentor["isEnabled"]?.()) {
|
|
114
|
+
return "already_instrumented";
|
|
115
|
+
}
|
|
116
|
+
if (tracerProvider) {
|
|
117
|
+
instrumentor["setTracerProvider"].call(instrumentor, tracerProvider);
|
|
118
|
+
}
|
|
119
|
+
instrumentor["enable"].call(instrumentor);
|
|
120
|
+
log.debug(`Instrumented ${config.description} (${config.name})`);
|
|
121
|
+
return "success";
|
|
122
|
+
}
|
|
123
|
+
/** What a failure that is not a missing module becomes: logged, and `error` — never `not_installed`. */
|
|
124
|
+
function reportFailure(config, error, suppressErrors) {
|
|
125
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
126
|
+
if (!suppressErrors)
|
|
127
|
+
throw error;
|
|
128
|
+
log.warn(`Failed to instrument ${config.name} (${config.package}): ${msg}`);
|
|
129
|
+
return "error";
|
|
130
|
+
}
|
|
131
|
+
function selected(config, options) {
|
|
132
|
+
if (options?.includeLibraries && !options.includeLibraries.includes(config.name))
|
|
133
|
+
return "skip";
|
|
134
|
+
if (options?.excludeLibraries?.includes(config.name))
|
|
135
|
+
return "excluded";
|
|
136
|
+
return "run";
|
|
137
|
+
}
|
|
56
138
|
export function autoInstrument(options) {
|
|
139
|
+
const suppressErrors = options?.suppressErrors ?? true;
|
|
57
140
|
const results = {};
|
|
58
141
|
for (const config of INSTRUMENTORS) {
|
|
59
|
-
|
|
142
|
+
const choice = selected(config, options);
|
|
143
|
+
if (choice === "skip")
|
|
60
144
|
continue;
|
|
61
|
-
|
|
62
|
-
if (options?.excludeLibraries?.includes(config.name)) {
|
|
145
|
+
if (choice === "excluded") {
|
|
63
146
|
results[config.name] = "excluded";
|
|
64
147
|
continue;
|
|
65
148
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
149
|
+
const loaded = loadSync(config.package, options?.resolveFrom);
|
|
150
|
+
if (loaded.kind === "missing") {
|
|
151
|
+
results[config.name] = "not_installed";
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
if (loaded.kind === "failed") {
|
|
155
|
+
results[config.name] = reportFailure(config, loaded.error, suppressErrors);
|
|
156
|
+
continue;
|
|
157
|
+
}
|
|
69
158
|
try {
|
|
70
|
-
|
|
71
|
-
const mod = require(config.package);
|
|
72
|
-
const InstrumentorClass = mod[config.class];
|
|
73
|
-
if (!InstrumentorClass) {
|
|
74
|
-
results[config.name] = "error";
|
|
75
|
-
continue;
|
|
76
|
-
}
|
|
77
|
-
const instrumentor = new InstrumentorClass();
|
|
78
|
-
if (instrumentor._isInstrumentedByOpenTelemetry || instrumentor.isEnabled?.()) {
|
|
79
|
-
results[config.name] = "already_instrumented";
|
|
80
|
-
continue;
|
|
81
|
-
}
|
|
82
|
-
if (options?.tracerProvider) {
|
|
83
|
-
instrumentor.setTracerProvider(options.tracerProvider);
|
|
84
|
-
}
|
|
85
|
-
instrumentor.enable();
|
|
86
|
-
results[config.name] = "success";
|
|
159
|
+
results[config.name] = enableInstrumentor(loaded.mod, config, options?.tracerProvider);
|
|
87
160
|
}
|
|
88
|
-
catch {
|
|
89
|
-
results[config.name] =
|
|
161
|
+
catch (error) {
|
|
162
|
+
results[config.name] = reportFailure(config, error, suppressErrors);
|
|
90
163
|
}
|
|
91
164
|
}
|
|
92
165
|
return results;
|
|
@@ -95,14 +168,28 @@ export async function autoInstrumentAsync(options) {
|
|
|
95
168
|
const suppressErrors = options?.suppressErrors ?? true;
|
|
96
169
|
const results = {};
|
|
97
170
|
for (const config of INSTRUMENTORS) {
|
|
98
|
-
|
|
171
|
+
const choice = selected(config, options);
|
|
172
|
+
if (choice === "skip")
|
|
99
173
|
continue;
|
|
100
|
-
|
|
101
|
-
if (options?.excludeLibraries?.includes(config.name)) {
|
|
174
|
+
if (choice === "excluded") {
|
|
102
175
|
results[config.name] = "excluded";
|
|
103
176
|
continue;
|
|
104
177
|
}
|
|
105
|
-
|
|
178
|
+
const loaded = await loadAsync(config.package, options?.resolveFrom);
|
|
179
|
+
if (loaded.kind === "missing") {
|
|
180
|
+
results[config.name] = "not_installed";
|
|
181
|
+
continue;
|
|
182
|
+
}
|
|
183
|
+
if (loaded.kind === "failed") {
|
|
184
|
+
results[config.name] = reportFailure(config, loaded.error, suppressErrors);
|
|
185
|
+
continue;
|
|
186
|
+
}
|
|
187
|
+
try {
|
|
188
|
+
results[config.name] = enableInstrumentor(loaded.mod, config, options?.tracerProvider);
|
|
189
|
+
}
|
|
190
|
+
catch (error) {
|
|
191
|
+
results[config.name] = reportFailure(config, error, suppressErrors);
|
|
192
|
+
}
|
|
106
193
|
}
|
|
107
194
|
return results;
|
|
108
195
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-instrument.js","sourceRoot":"","sources":["../src/auto-instrument.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"auto-instrument.js","sourceRoot":"","sources":["../src/auto-instrument.ts"],"names":[],"mappings":"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"}
|
|
@@ -102,11 +102,30 @@ export interface QuestionComposer {
|
|
|
102
102
|
compose(escalation: EscalationLike): ComposedQuestion;
|
|
103
103
|
}
|
|
104
104
|
/**
|
|
105
|
-
*
|
|
105
|
+
* Whether a payload key is one §6 keeps off the card.
|
|
106
106
|
*
|
|
107
|
-
*
|
|
108
|
-
* `
|
|
107
|
+
* Case AND separators are normalised, so `riskScore`, `risk-score` and `Risk_Score` are the same key
|
|
108
|
+
* as `risk_score`. The comparison used to be an exact lowercase match, which meant the very same
|
|
109
|
+
* word in the very next casing convention walked straight through (COA-2319) — the rule the Console
|
|
110
|
+
* has applied since COA-2223, finally applied where the card's content is decided.
|
|
111
|
+
*
|
|
112
|
+
* Deliberately NOT a substring match. `reason` is on the list, so `reason_code` would be dropped —
|
|
113
|
+
* and a value hidden from the approver is its own §6 failure: COA-1951 exists because an operator
|
|
114
|
+
* was asked to approve a wire without seeing the amount. Dropping a legitimate field is not the safe
|
|
115
|
+
* side of this trade, it is a different way to fail.
|
|
116
|
+
*/
|
|
117
|
+
export declare function isForbiddenFieldKey(key: string): boolean;
|
|
118
|
+
/**
|
|
119
|
+
* A copy of `value` with every §6-forbidden key removed, at EVERY depth (COA-2319).
|
|
120
|
+
*
|
|
121
|
+
* Top level was the whole of the filter, and the deployed agent nests everything under `arguments` —
|
|
122
|
+
* which the card's own test fixture documents. So a payload carrying `arguments.confidence` and
|
|
123
|
+
* `arguments.reasoning` put the agent's confidence and its rationale on the wire, to be rendered
|
|
124
|
+
* above an Accept button by any client without the Console's render-time guard.
|
|
125
|
+
*
|
|
126
|
+
* Fails closed at depth: what cannot be checked is not shown.
|
|
109
127
|
*/
|
|
128
|
+
export declare function scrubForbidden(value: unknown, depth?: number): unknown;
|
|
110
129
|
export declare const identityComposer: QuestionComposer;
|
|
111
130
|
/**
|
|
112
131
|
* What the human needs to judge (spec §4.1, §6 de-biasing). `output` is shown as an editable
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decision-request.d.ts","sourceRoot":"","sources":["../src/decision-request.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,+DAA+D;AAC/D,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,gBAAgB,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE5F,yDAAyD;AACzD,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,SAAS,CAM7C,CAAC;AAEH,+DAA+D;AAC/D,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEhE,+CAA+C;AAC/C,eAAO,MAAM,gBAAgB,uBAAuB,CAAC;AAErD,yEAAyE;AACzE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,oEAAoE;AACpE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAQ1D;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAQ5E;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,CAAC;IACzC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,oFAAoF;AACpF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAcnD,CAAC;AAEH,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,yGAAyG;AACzG,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,UAAU,EAAE,cAAc,GAAG,gBAAgB,CAAC;CACvD;
|
|
1
|
+
{"version":3,"file":"decision-request.d.ts","sourceRoot":"","sources":["../src/decision-request.ts"],"names":[],"mappings":"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"}
|
package/dist/decision-request.js
CHANGED
|
@@ -113,14 +113,65 @@ function reasonFromMetadata(metadata) {
|
|
|
113
113
|
* Deliberately does nothing interesting. Its whole value is that it is a seam — the Python SDK's
|
|
114
114
|
* `IdentityComposer`, in TypeScript.
|
|
115
115
|
*/
|
|
116
|
+
/** How deep to walk a payload before giving up. An approval payload nested past this is not
|
|
117
|
+
* something a human is reading anyway, and continuing would mean putting bytes on the wire that
|
|
118
|
+
* nothing checked. */
|
|
119
|
+
const MAX_SCRUB_DEPTH = 12;
|
|
120
|
+
const TOO_DEEP = "[omitted: nested too deeply to check]";
|
|
121
|
+
/**
|
|
122
|
+
* Whether a payload key is one §6 keeps off the card.
|
|
123
|
+
*
|
|
124
|
+
* Case AND separators are normalised, so `riskScore`, `risk-score` and `Risk_Score` are the same key
|
|
125
|
+
* as `risk_score`. The comparison used to be an exact lowercase match, which meant the very same
|
|
126
|
+
* word in the very next casing convention walked straight through (COA-2319) — the rule the Console
|
|
127
|
+
* has applied since COA-2223, finally applied where the card's content is decided.
|
|
128
|
+
*
|
|
129
|
+
* Deliberately NOT a substring match. `reason` is on the list, so `reason_code` would be dropped —
|
|
130
|
+
* and a value hidden from the approver is its own §6 failure: COA-1951 exists because an operator
|
|
131
|
+
* was asked to approve a wire without seeing the amount. Dropping a legitimate field is not the safe
|
|
132
|
+
* side of this trade, it is a different way to fail.
|
|
133
|
+
*/
|
|
134
|
+
export function isForbiddenFieldKey(key) {
|
|
135
|
+
const normalised = key.toLowerCase().replace(/[\s_-]/g, "");
|
|
136
|
+
for (const forbidden of FORBIDDEN_FIELD_KEYS) {
|
|
137
|
+
if (forbidden.replace(/[\s_-]/g, "") === normalised)
|
|
138
|
+
return true;
|
|
139
|
+
}
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* A copy of `value` with every §6-forbidden key removed, at EVERY depth (COA-2319).
|
|
144
|
+
*
|
|
145
|
+
* Top level was the whole of the filter, and the deployed agent nests everything under `arguments` —
|
|
146
|
+
* which the card's own test fixture documents. So a payload carrying `arguments.confidence` and
|
|
147
|
+
* `arguments.reasoning` put the agent's confidence and its rationale on the wire, to be rendered
|
|
148
|
+
* above an Accept button by any client without the Console's render-time guard.
|
|
149
|
+
*
|
|
150
|
+
* Fails closed at depth: what cannot be checked is not shown.
|
|
151
|
+
*/
|
|
152
|
+
export function scrubForbidden(value, depth = 0) {
|
|
153
|
+
if (depth > MAX_SCRUB_DEPTH)
|
|
154
|
+
return TOO_DEEP;
|
|
155
|
+
if (Array.isArray(value))
|
|
156
|
+
return value.map((v) => scrubForbidden(v, depth + 1));
|
|
157
|
+
if (value !== null && typeof value === "object") {
|
|
158
|
+
const out = {};
|
|
159
|
+
for (const [k, v] of Object.entries(value)) {
|
|
160
|
+
if (isForbiddenFieldKey(k))
|
|
161
|
+
continue;
|
|
162
|
+
out[k] = scrubForbidden(v, depth + 1);
|
|
163
|
+
}
|
|
164
|
+
return out;
|
|
165
|
+
}
|
|
166
|
+
return value;
|
|
167
|
+
}
|
|
116
168
|
export const identityComposer = {
|
|
117
169
|
compose(escalation) {
|
|
118
170
|
const raw = escalation.output ?? {};
|
|
119
|
-
const
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
}
|
|
171
|
+
const scrubbed = scrubForbidden(raw);
|
|
172
|
+
const output = scrubbed !== null && typeof scrubbed === "object" && !Array.isArray(scrubbed)
|
|
173
|
+
? scrubbed
|
|
174
|
+
: {};
|
|
124
175
|
return {
|
|
125
176
|
question: DEFAULT_QUESTION,
|
|
126
177
|
summary: reasonFromMetadata(escalation.metadata),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decision-request.js","sourceRoot":"","sources":["../src/decision-request.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAKH,yDAAyD;AACzD,MAAM,CAAC,MAAM,WAAW,GAA2B,IAAI,GAAG,CAAC;IACzD,SAAS;IACT,gBAAgB;IAChB,WAAW;IACX,QAAQ;IACR,WAAW;CACZ,CAAC,CAAC;AAKH,+CAA+C;AAC/C,MAAM,CAAC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAQrD,oEAAoE;AACpE,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7C,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACjF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAChC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,kDAAkD,IAAI,GAAG,CAAC,CAAC;AAC7E,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,cAAc,CAAC,MAAsB;IACnD,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAA6B;IAC9D,MAAM,IAAI,GAAuB,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;IACtF,OAAO;QACL,IAAI;QACJ,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtE,CAAC;AACJ,CAAC;AAkCD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC;IAC/D,WAAW;IACX,QAAQ,EAAE,sEAAsE;IAChF,WAAW;IACX,kBAAkB;IAClB,KAAK;IACL,UAAU;IACV,YAAY;IACZ,kBAAkB;IAClB,WAAW;IACX,MAAM;IACN,YAAY;IACZ,WAAW;IACX,OAAO;CACR,CAAC,CAAC;AAeH;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,QAAiB;IAC3C,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAI,QAAoC,CAAC,MAAM,CAAC;QAC5D,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE;YAAE,OAAO,MAAM,CAAC;IACjE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAqB;IAChD,OAAO,CAAC,UAA0B;QAChC,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;QACpC,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACxE,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,gBAAgB;YAC1B,OAAO,EAAE,kBAAkB,CAAE,UAAqC,CAAC,QAAQ,CAAC;YAC5E,MAAM;YACN,oFAAoF;YACpF,MAAM,EAAE,wBAAwB,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC;SAC7D,CAAC;IACJ,CAAC;CACF,CAAC;AAsEF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAwC;IACvE,OAAO,EAAE,gBAAgB;IACzB,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,WAAW;IACrB,OAAO,EAAE,WAAW;IACpB,iGAAiG;IACjG,qFAAqF;IACrF,iGAAiG;IACjG,wBAAwB;IACxB,aAAa,EAAE,WAAW;CAC3B,CAAC;AAEF,qFAAqF;AACrF,qEAAqE;AACrE,MAAM,gBAAgB,GAAgD;IACpE,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,QAAQ;IACnB,QAAQ,EAAE,SAAS;IACnB,OAAO,EAAE,QAAQ;CAClB,CAAC;AAEF,gEAAgE;AAChE,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,MAAM,KAAK,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,sBAAsB,KAAK,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,MAA0B;IAC/D,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,IAAI,aAAa,EAAE,CAAC;IACvE,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,IAAI,aAAa,EAAE,CAAC;IACtE,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,eAAe,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC;IACvF,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,IAAI,aAAa,EAAE,CAAC;IACtE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,IAAI,cAAc,EAAE,CAAC;AACvE,CAAC;AAED,SAAS,wBAAwB,CAC/B,MAA+B,EAC/B,OAAmD;IAEnD,MAAM,UAAU,GAAkC,EAAE,CAAC;IACrD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,IAAI,QAA4B,CAAC;QACjC,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzD,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,QAAQ,GAAG,CAAC,CAAC;QAC7C,UAAU,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAClD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AAClD,CAAC;AAaD;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,UAA0B,EAC1B,UAAiC,EAAE;IAEnC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,SAAS,CAAC;IAC9C,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,sBAAsB,KAAK,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAExC,wFAAwF;IACxF,iFAAiF;IACjF,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,gBAAgB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5E,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC;IAEvC,MAAM,OAAO,GAAmB;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ;QAC/C,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC;IACF,IAAI,QAAQ,CAAC,OAAO;QAAE,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IACzD,IAAI,UAAU,CAAC,KAAK;QAAE,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;IAEvD,IAAI,QAAwB,CAAC;IAC7B,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAAE,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;;QAChF,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAErD,IAAI,MAAqC,CAAC;IAC1C,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,GAAG,EAAE,MAAM,EAAE,CAAC;QACpB,IAAI,UAAU,CAAC,WAAW;YAAE,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC;QACpE,IAAI,UAAU,CAAC,iBAAiB;YAAE,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,iBAAiB,CAAC;QAC/E,IAAI,UAAU,CAAC,WAAW;YAAE,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC;QACrE,IAAI,UAAU,CAAC,aAAa;YAAE,MAAM,CAAC,YAAY,GAAG,UAAU,CAAC,aAAa,CAAC;QAC7E,IAAI,UAAU,CAAC,cAAc;YAAE,MAAM,CAAC,aAAa,GAAG,UAAU,CAAC,cAAc,CAAC;QAChF,IAAI,UAAU,CAAC,WAAW;YAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC;IACzE,CAAC;IAED,MAAM,EAAE,GAAoB;QAC1B,EAAE,EAAE,UAAU,CAAC,aAAa,IAAI,EAAE;QAClC,SAAS;QACT,OAAO;QACP,cAAc;QACd,QAAQ;KACT,CAAC;IACF,IAAI,UAAU,CAAC,UAAU;QAAE,EAAE,CAAC,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC;IAChE,IAAI,UAAU,CAAC,QAAQ;QAAE,EAAE,CAAC,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC;IAC1D,IAAI,UAAU,CAAC,UAAU;QAAE,EAAE,CAAC,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC;IAChE,IAAI,UAAU,CAAC,UAAU;QAAE,EAAE,CAAC,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC;IAChE,sFAAsF;IACtF,wFAAwF;IACxF,IAAI,OAAO,CAAC,UAAU;QAAE,EAAE,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;SACtD,IAAI,UAAU,CAAC,WAAW;QAAE,EAAE,CAAC,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC5F,IAAI,MAAM;QAAE,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC;IAC/B,IAAI,UAAU,CAAC,UAAU;QAAE,EAAE,CAAC,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC;IAChE,IAAI,UAAU,CAAC,UAAU;QAAE,EAAE,CAAC,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC;IAChE,IAAI,UAAU,CAAC,UAAU;QAAE,EAAE,CAAC,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC;IAChE,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAgB;IAClD,MAAM,GAAG,GAA4B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACzD,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS;QAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IAC/C,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;QAAE,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;IAC3E,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;IACzD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAuB;IAC/C,MAAM,GAAG,GAA4B,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IAC5F,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;QAAE,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC3D,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;QAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACjE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CAAC,MAAyB;IAChD,MAAM,GAAG,GAA4B,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAC/D,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;QAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/D,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;QAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5D,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;QAAE,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAClE,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS;QAAE,GAAG,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;IAC/E,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS;QAAE,GAAG,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC;IAClF,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;QAAE,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;IACzE,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,EAAmB;IAC1D,MAAM,GAAG,GAA4B;QACnC,EAAE,EAAE,EAAE,CAAC,EAAE;QACT,UAAU,EAAE,EAAE,CAAC,SAAS;QACxB,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC,OAAO,CAAC;QACrC,eAAe,EAAE,EAAE,CAAC,cAAc;QAClC,QAAQ,EAAE,cAAc,CAAC,EAAE,CAAC,QAAQ,CAAC;KACtC,CAAC;IACF,IAAI,EAAE,CAAC,SAAS,KAAK,SAAS;QAAE,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,SAAS,CAAC;IAC9D,IAAI,EAAE,CAAC,OAAO,KAAK,SAAS;QAAE,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC;IACxD,IAAI,EAAE,CAAC,SAAS,KAAK,SAAS;QAAE,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,SAAS,CAAC;IAC9D,IAAI,EAAE,CAAC,SAAS,KAAK,SAAS;QAAE,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,SAAS,CAAC;IAC9D,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS;QAAE,GAAG,CAAC,WAAW,GAAG,mBAAmB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IACtF,IAAI,EAAE,CAAC,MAAM,KAAK,SAAS;QAAE,GAAG,CAAC,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACrE,IAAI,EAAE,CAAC,SAAS,KAAK,SAAS;QAAE,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,SAAS,CAAC;IAC9D,IAAI,EAAE,CAAC,SAAS,KAAK,SAAS;QAAE,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,SAAS,CAAC;IAC9D,IAAI,EAAE,CAAC,SAAS,KAAK,SAAS;QAAE,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,SAAS,CAAC;IAC9D,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"decision-request.js","sourceRoot":"","sources":["../src/decision-request.ts"],"names":[],"mappings":"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"}
|
package/dist/evaluate.d.ts
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { type ResumeHook } from "./decision-request.js";
|
|
2
|
+
/** `semantic_similarity` was removed in COA-2352: its server-side implementation returned a
|
|
3
|
+
* constant 0.0, so every field scored with it dragged the agent's health down for a reason
|
|
4
|
+
* that was not real. The server rejects the name too. */
|
|
2
5
|
export declare const KNOWN_METRICS: Set<string>;
|
|
3
6
|
export interface EvaluationDecision {
|
|
4
|
-
|
|
7
|
+
/** `rejected` was in this union and the server has never returned it (COA-2327):
|
|
8
|
+
* /evaluate chooses between these two and nothing else. A human rejecting an escalation is
|
|
9
|
+
* a different event, recorded on the escalation rather than on this response. */
|
|
10
|
+
readonly status: "auto_approved" | "escalated";
|
|
5
11
|
/**
|
|
6
12
|
* The same outcome in MCP vocabulary (COA-1790): "escalated" is "input_required". Undefined
|
|
7
13
|
* against an older platform that does not send it yet.
|
package/dist/evaluate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAK7E,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAK7E;;0DAE0D;AAC1D,eAAO,MAAM,aAAa,aAQxB,CAAC;AAEH,MAAM,WAAW,kBAAkB;IACjC;;sFAEkF;IAClF,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,CAAC;IAC/C;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AA2BD,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA4EpF"}
|
package/dist/evaluate.js
CHANGED
|
@@ -5,12 +5,14 @@ import { serializeResumeHook } from "./decision-request.js";
|
|
|
5
5
|
import { VERSION } from "./version.js";
|
|
6
6
|
import { coalexFetch, httpError } from "./http.js";
|
|
7
7
|
import { log } from "./logger.js";
|
|
8
|
+
/** `semantic_similarity` was removed in COA-2352: its server-side implementation returned a
|
|
9
|
+
* constant 0.0, so every field scored with it dragged the agent's health down for a reason
|
|
10
|
+
* that was not real. The server rejects the name too. */
|
|
8
11
|
export const KNOWN_METRICS = new Set([
|
|
9
12
|
"f1",
|
|
10
13
|
"word_overlap",
|
|
11
14
|
"bleu",
|
|
12
15
|
"rouge_l",
|
|
13
|
-
"semantic_similarity",
|
|
14
16
|
"exact_match",
|
|
15
17
|
"levenshtein",
|
|
16
18
|
"contains",
|
package/dist/evaluate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAmB,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IACnC,IAAI;IACJ,cAAc;IACd,MAAM;IACN,SAAS;IACT,
|
|
1
|
+
{"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export { resolve, VALID_DECISIONS } from "./resolve.js";
|
|
|
10
10
|
export { recordUngoverned, flushUngoverned } from "./ungoverned.js";
|
|
11
11
|
export type { UngovernedRecord } from "./ungoverned.js";
|
|
12
12
|
export type { ResolveOptions, ResolutionResult, MetricResult } from "./resolve.js";
|
|
13
|
-
export { fromEscalation, serializeDecisionRequest, parseResolver, resolverToSpec, resumeHookFromDict, serializeResumeHook, taskStateForStatus, TASK_STATES, TASK_STATE_BY_STATUS, DEFAULT_QUESTION, } from "./decision-request.js";
|
|
13
|
+
export { fromEscalation, serializeDecisionRequest, parseResolver, resolverToSpec, resumeHookFromDict, serializeResumeHook, taskStateForStatus, TASK_STATES, TASK_STATE_BY_STATUS, DEFAULT_QUESTION, isForbiddenFieldKey, scrubForbidden, } from "./decision-request.js";
|
|
14
14
|
export type { DecisionRequest, TaskState, ElicitationAction, ElicitationResult, ContextPayload, QuestionSchema, QuestionField, ResolverPolicy, ResumeHook, EscalationLike, FromEscalationOptions, } from "./decision-request.js";
|
|
15
15
|
export { getPrompt } from "./prompts.js";
|
|
16
16
|
export type { GetPromptOptions, PromptVersion } from "./prompts.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3D,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAChF,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAIxD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACpE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3D,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAChF,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAIxD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACpE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAGhB,mBAAmB,EACnB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,EACd,UAAU,EACV,cAAc,EACd,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACvI,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACzF,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKhD,wBAAgB,SAAS,IAAI,YAAY,CAKxC;AAED,wBAAgB,SAAS,IAAI,MAAM,CAKlC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAmCxD;AAED,0CAA0C;AAC1C,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC"}
|
package/dist/index.js
CHANGED
|
@@ -15,7 +15,10 @@ export { resolve, VALID_DECISIONS } from "./resolve.js";
|
|
|
15
15
|
// this SDK had no equivalent at all, so a TypeScript agent's outage left nothing in the record —
|
|
16
16
|
// and an omission in a compliance report cannot be investigated the way a wrong label can.
|
|
17
17
|
export { recordUngoverned, flushUngoverned } from "./ungoverned.js";
|
|
18
|
-
export { fromEscalation, serializeDecisionRequest, parseResolver, resolverToSpec, resumeHookFromDict, serializeResumeHook, taskStateForStatus, TASK_STATES, TASK_STATE_BY_STATUS, DEFAULT_QUESTION,
|
|
18
|
+
export { fromEscalation, serializeDecisionRequest, parseResolver, resolverToSpec, resumeHookFromDict, serializeResumeHook, taskStateForStatus, TASK_STATES, TASK_STATE_BY_STATUS, DEFAULT_QUESTION,
|
|
19
|
+
// The §6 rule itself, so a custom `QuestionComposer` applies the same one rather than a weaker
|
|
20
|
+
// copy — which is exactly how the SDKs and the Console drifted apart (COA-2319).
|
|
21
|
+
isForbiddenFieldKey, scrubForbidden, } from "./decision-request.js";
|
|
19
22
|
export { getPrompt } from "./prompts.js";
|
|
20
23
|
export { declareAgent } from "./agents.js";
|
|
21
24
|
export { declareInventory } from "./inventory.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAGxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAqB,MAAM,aAAa,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACxD,iGAAiG;AACjG,iGAAiG;AACjG,2FAA2F;AAC3F,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGpE,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAGxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAqB,MAAM,aAAa,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACxD,iGAAiG;AACjG,iGAAiG;AACjG,2FAA2F;AAC3F,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGpE,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,gBAAgB;AAChB,+FAA+F;AAC/F,iFAAiF;AACjF,mBAAmB,EACnB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAc/B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAIvI,IAAI,OAAO,GAAwB,IAAI,CAAC;AACxC,IAAI,OAAO,GAAkB,IAAI,CAAC;AAElC,MAAM,UAAU,SAAS;IACvB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAwBD,MAAM,UAAU,QAAQ,CAAC,OAAyB;IAChD,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,gCAAgC,CAAC;IACvE,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC;IACxC,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,uBAAuB,CAAC;IACpE,MAAM,gBAAgB,GAAG,OAAO,EAAE,gBAAgB,IAAI,KAAK,CAAC;IAC5D,MAAM,oBAAoB,GAAG,OAAO,EAAE,oBAAoB,IAAI,IAAI,CAAC;IACnE,yFAAyF;IACzF,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAE3B,OAAO,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IACpC,OAAO,GAAG,MAAM,CAAC;IAEjB,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,iBAAiB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAEpE,MAAM,YAAY,GAAG,IAAI,iBAAiB,CAAC;QACzC,GAAG,EAAE,GAAG,QAAQ,YAAY;QAC5B,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE;KAC/C,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,IAAI,oBAAoB,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;IAClF,MAAM,aAAa,GAAG,gBAAgB;QACpC,CAAC,CAAC,IAAI,qBAAqB,CAAC,YAAY,CAAC;QACzC,CAAC,CAAC,YAAY,CAAC;IAEjB,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtD,QAAQ,CAAC,gBAAgB,CAAC,IAAI,yBAAyB,EAAE,CAAC,CAAC;IAC3D,QAAQ,CAAC,gBAAgB,CAAC,IAAI,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC;IACjE,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAEpB,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,2FAA2F;QAC3F,2FAA2F;QAC3F,4DAA4D;QAC5D,KAAK,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,gBAAgB;IAC9B,OAAO,GAAG,IAAI,CAAC;IACf,OAAO,GAAG,IAAI,CAAC;AACjB,CAAC"}
|
package/dist/prompts.d.ts
CHANGED
|
@@ -9,13 +9,28 @@ export interface PromptVersion {
|
|
|
9
9
|
readonly status: string;
|
|
10
10
|
readonly metadata: Record<string, unknown>;
|
|
11
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* The version keywords the Prompt Vault actually implements, and nothing else (COA-2363).
|
|
14
|
+
*
|
|
15
|
+
* `routes/prompts.py` branches on exactly these three and sends anything else to `int()`. This type
|
|
16
|
+
* used to include `"staging"`, which the platform has never had: its promotion map is
|
|
17
|
+
* `{"draft": "production"}` and there is no staging state anywhere. It was not a broken feature but
|
|
18
|
+
* one that was never built, documented — in this type, in the Python docstring and in a
|
|
19
|
+
* documentation page about promoting staging to production — as though it had been.
|
|
20
|
+
*
|
|
21
|
+
* A type that accepts what the server refuses is worse than a permissive one: it makes the claim
|
|
22
|
+
* with the compiler behind it, so the caller who gets the 422 concludes they are using the API
|
|
23
|
+
* wrongly. Held to the route by a contract test in the Python SDK that reads the route's own source.
|
|
24
|
+
*/
|
|
25
|
+
export declare const KEYWORD_VERSIONS: readonly ["production", "draft", "latest"];
|
|
26
|
+
export type PromptVersionSelector = (typeof KEYWORD_VERSIONS)[number] | number;
|
|
12
27
|
export interface GetPromptOptions {
|
|
13
28
|
/** Agent ID (e.g. "sales-copilot"). */
|
|
14
29
|
agent: string;
|
|
15
30
|
/** Prompt name (e.g. "system"). */
|
|
16
31
|
name: string;
|
|
17
|
-
/** "production" (default), "
|
|
18
|
-
version?:
|
|
32
|
+
/** "production" (default), "draft", "latest", or a version number. There is no "staging". */
|
|
33
|
+
version?: PromptVersionSelector;
|
|
19
34
|
}
|
|
20
35
|
/**
|
|
21
36
|
* Fetch a prompt template from the Prompt Vault — the TypeScript counterpart of the Python
|
package/dist/prompts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAKA,4DAA4D;AAC5D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAKA,4DAA4D;AAC5D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,4CAA6C,CAAC;AAE3E,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAE/E,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,6FAA6F;IAC7F,OAAO,CAAC,EAAE,qBAAqB,CAAC;CACjC;AAcD;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CAgDjF"}
|
package/dist/prompts.js
CHANGED
|
@@ -2,6 +2,30 @@ import { trace } from "@opentelemetry/api";
|
|
|
2
2
|
import { getConfig, getApiKey } from "./index.js";
|
|
3
3
|
import { setLastPrompt } from "./context.js";
|
|
4
4
|
import { coalexFetch, httpError } from "./http.js";
|
|
5
|
+
/**
|
|
6
|
+
* The version keywords the Prompt Vault actually implements, and nothing else (COA-2363).
|
|
7
|
+
*
|
|
8
|
+
* `routes/prompts.py` branches on exactly these three and sends anything else to `int()`. This type
|
|
9
|
+
* used to include `"staging"`, which the platform has never had: its promotion map is
|
|
10
|
+
* `{"draft": "production"}` and there is no staging state anywhere. It was not a broken feature but
|
|
11
|
+
* one that was never built, documented — in this type, in the Python docstring and in a
|
|
12
|
+
* documentation page about promoting staging to production — as though it had been.
|
|
13
|
+
*
|
|
14
|
+
* A type that accepts what the server refuses is worse than a permissive one: it makes the claim
|
|
15
|
+
* with the compiler behind it, so the caller who gets the 422 concludes they are using the API
|
|
16
|
+
* wrongly. Held to the route by a contract test in the Python SDK that reads the route's own source.
|
|
17
|
+
*/
|
|
18
|
+
export const KEYWORD_VERSIONS = ["production", "draft", "latest"];
|
|
19
|
+
/** Refuse a version the platform cannot serve here, with the reason, rather than relaying its 422. */
|
|
20
|
+
function checkedVersion(version) {
|
|
21
|
+
if (typeof version === "number" && Number.isInteger(version))
|
|
22
|
+
return String(version);
|
|
23
|
+
if (typeof version === "string" && (KEYWORD_VERSIONS.includes(version) || /^\d+$/.test(version))) {
|
|
24
|
+
return version;
|
|
25
|
+
}
|
|
26
|
+
throw new Error(`getPrompt(): version must be one of ${KEYWORD_VERSIONS.join(", ")} or a version number, ` +
|
|
27
|
+
`not ${JSON.stringify(version)}. There is no "staging" state in the Prompt Vault (COA-2363).`);
|
|
28
|
+
}
|
|
5
29
|
/**
|
|
6
30
|
* Fetch a prompt template from the Prompt Vault — the TypeScript counterpart of the Python
|
|
7
31
|
* SDK's `coalex.get_prompt()` (COA-355 / COA-264).
|
|
@@ -11,7 +35,7 @@ import { coalexFetch, httpError } from "./http.js";
|
|
|
11
35
|
export async function getPrompt(options) {
|
|
12
36
|
const config = getConfig();
|
|
13
37
|
const apiKey = getApiKey();
|
|
14
|
-
const version = options.version ?? "production";
|
|
38
|
+
const version = checkedVersion(options.version ?? "production");
|
|
15
39
|
const url = `${config.endpoint}/api/v2/prompts/${encodeURIComponent(options.agent)}/${encodeURIComponent(options.name)}` +
|
|
16
40
|
`?version=${encodeURIComponent(String(version))}`;
|
|
17
41
|
const resp = await coalexFetch("getPrompt()", url, {
|
package/dist/prompts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAcnD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AAa3E,sGAAsG;AACtG,SAAS,cAAc,CAAC,OAA8B;IACpD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;IACrF,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAE,gBAAsC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACxH,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,KAAK,CACb,uCAAuC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB;QACxF,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,+DAA+D,CAChG,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAyB;IACvD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,IAAI,YAAY,CAAC,CAAC;IAChE,MAAM,GAAG,GACP,GAAG,MAAM,CAAC,QAAQ,mBAAmB,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC5G,YAAY,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;IAEpD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,aAAa,EAAE,GAAG,EAAE;QACjD,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE;KAC/C,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,MAAM,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,IAAI,GAQN,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IAEtB,0FAA0F;IAC1F,2FAA2F;IAC3F,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;IACrC,IAAI,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC;QAC1B,MAAM,CAAC,YAAY,CAAC,uBAAuB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,CAAC,YAAY,CAAC,oBAAoB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,OAAO,EAAE,IAAI,CAAC,QAAQ;QACtB,yFAAyF;QACzF,yFAAyF;QACzF,IAAI,EAAE,IAAI,CAAC,WAAW;QACtB,UAAU,EAAE,IAAI,CAAC,WAAW;QAC5B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;KAC9B,CAAC;AACJ,CAAC"}
|
package/dist/resolve.d.ts
CHANGED
|
@@ -5,6 +5,18 @@ export declare const VALID_DECISIONS: Set<"approved" | "corrected" | "rejected"
|
|
|
5
5
|
* translating behind its back and hiding which words it actually sent.
|
|
6
6
|
*/
|
|
7
7
|
export declare const MCP_DECISIONS: Set<"cancelled" | "accept" | "decline" | "cancel" | "accept-with-content">;
|
|
8
|
+
/**
|
|
9
|
+
* The one refusal a caller of `resolve()` cannot fix from code (COA-2367).
|
|
10
|
+
*
|
|
11
|
+
* Since COA-1965 a decision whose `resolver` names a role is closed only with a **reviewer
|
|
12
|
+
* assertion**: a signed proof that the person resolving it holds that role, issued by the Console.
|
|
13
|
+
* An SDK cannot mint one and should not be able to — an API key says which workload is calling,
|
|
14
|
+
* and the role gate exists to record which *person* approved.
|
|
15
|
+
*
|
|
16
|
+
* Without this text the caller sees `403 Forbidden`, reads an authentication failure, and rotates
|
|
17
|
+
* a key that was never the problem.
|
|
18
|
+
*/
|
|
19
|
+
export declare const ROLE_GATE_GUIDANCE: string;
|
|
8
20
|
export interface MetricResult {
|
|
9
21
|
readonly field: string;
|
|
10
22
|
readonly metrics: Record<string, number>;
|
|
@@ -37,5 +49,13 @@ export interface ResolveOptions {
|
|
|
37
49
|
};
|
|
38
50
|
reason?: string;
|
|
39
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Submit human review for an escalation.
|
|
54
|
+
*
|
|
55
|
+
* **A role-gated decision is not resolvable from an SDK.** If the escalation was created with
|
|
56
|
+
* `resolver: "role:manager"`, closing it requires a reviewer assertion that only the Coalex Console
|
|
57
|
+
* can issue — see {@link ROLE_GATE_GUIDANCE}. Such a call fails with a 403 carrying that
|
|
58
|
+
* explanation. `resolver: "self"` decisions resolve here normally.
|
|
59
|
+
*/
|
|
40
60
|
export declare function resolve(options: ResolveOptions): Promise<ResolutionResult>;
|
|
41
61
|
//# sourceMappingURL=resolve.d.ts.map
|
package/dist/resolve.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,wDAAqE,CAAC;AAClG;;;;GAIG;AACH,eAAO,MAAM,aAAa,4EAMf,CAAC;AAIZ,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,+DAA+D;AAC/D,MAAM,MAAM,QAAQ,GAChB,UAAU,GACV,UAAU,GACV,WAAW,GACX,SAAS,GACT,QAAQ,GACR,qBAAqB,GACrB,SAAS,GACT,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,wDAAqE,CAAC;AAClG;;;;GAIG;AACH,eAAO,MAAM,aAAa,4EAMf,CAAC;AAIZ;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,QAMiC,CAAC;AAEjE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,+DAA+D;AAC/D,MAAM,MAAM,QAAQ,GAChB,UAAU,GACV,UAAU,GACV,WAAW,GACX,SAAS,GACT,QAAQ,GACR,qBAAqB,GACrB,SAAS,GACT,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA+EhF"}
|
package/dist/resolve.js
CHANGED
|
@@ -14,6 +14,31 @@ export const MCP_DECISIONS = new Set([
|
|
|
14
14
|
"cancelled",
|
|
15
15
|
]);
|
|
16
16
|
const ALL_DECISIONS = new Set([...VALID_DECISIONS, ...MCP_DECISIONS]);
|
|
17
|
+
/**
|
|
18
|
+
* The one refusal a caller of `resolve()` cannot fix from code (COA-2367).
|
|
19
|
+
*
|
|
20
|
+
* Since COA-1965 a decision whose `resolver` names a role is closed only with a **reviewer
|
|
21
|
+
* assertion**: a signed proof that the person resolving it holds that role, issued by the Console.
|
|
22
|
+
* An SDK cannot mint one and should not be able to — an API key says which workload is calling,
|
|
23
|
+
* and the role gate exists to record which *person* approved.
|
|
24
|
+
*
|
|
25
|
+
* Without this text the caller sees `403 Forbidden`, reads an authentication failure, and rotates
|
|
26
|
+
* a key that was never the problem.
|
|
27
|
+
*/
|
|
28
|
+
export const ROLE_GATE_GUIDANCE = 'A decision whose resolver names a role (resolver: "role:...") can only be closed with a ' +
|
|
29
|
+
"reviewer assertion: a signed proof that the person resolving it holds that role. The Coalex " +
|
|
30
|
+
"Console issues it; an SDK cannot, because an API key proves which workload is calling, not " +
|
|
31
|
+
"which person approved. Resolve this decision in the Console, or let the agent's resume hook " +
|
|
32
|
+
"carry the Console's decision back to it. " +
|
|
33
|
+
"See https://docs.coalex.ai/sdk/resolve/#role-gated-decisions";
|
|
34
|
+
/**
|
|
35
|
+
* Submit human review for an escalation.
|
|
36
|
+
*
|
|
37
|
+
* **A role-gated decision is not resolvable from an SDK.** If the escalation was created with
|
|
38
|
+
* `resolver: "role:manager"`, closing it requires a reviewer assertion that only the Coalex Console
|
|
39
|
+
* can issue — see {@link ROLE_GATE_GUIDANCE}. Such a call fails with a 403 carrying that
|
|
40
|
+
* explanation. `resolver: "self"` decisions resolve here normally.
|
|
41
|
+
*/
|
|
17
42
|
export async function resolve(options) {
|
|
18
43
|
const config = getConfig();
|
|
19
44
|
const apiKey = getApiKey();
|
|
@@ -47,7 +72,13 @@ export async function resolve(options) {
|
|
|
47
72
|
body: JSON.stringify(payload),
|
|
48
73
|
});
|
|
49
74
|
if (!resp.ok) {
|
|
50
|
-
|
|
75
|
+
const err = await httpError("resolve()", resp);
|
|
76
|
+
// 403 is the role gate (or a resolver policy the server cannot parse). Either way this call
|
|
77
|
+
// will never succeed, and saying only "Forbidden" sends the caller after the wrong cause.
|
|
78
|
+
if (resp.status === 403) {
|
|
79
|
+
err.message = `${err.message} — ${ROLE_GATE_GUIDANCE}`;
|
|
80
|
+
}
|
|
81
|
+
throw err;
|
|
51
82
|
}
|
|
52
83
|
const data = await resp.json();
|
|
53
84
|
return {
|
package/dist/resolve.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEnD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,CAAU,CAAC,CAAC;AAClG;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IACnC,QAAQ;IACR,qBAAqB;IACrB,SAAS;IACT,QAAQ;IACR,WAAW;CACH,CAAC,CAAC;AAEZ,MAAM,aAAa,GAAG,IAAI,GAAG,CAAS,CAAC,GAAG,eAAe,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "1.
|
|
1
|
+
export declare const VERSION = "1.24.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// SDK version, sent in the X-SDK-Version header so the platform can see which
|
|
2
2
|
// SDK releases customers run before removing a deprecated field (COA-261).
|
|
3
3
|
// Keep in sync with package.json "version".
|
|
4
|
-
export const VERSION = "1.
|
|
4
|
+
export const VERSION = "1.24.0";
|
|
5
5
|
//# sourceMappingURL=version.js.map
|