@intutic/shared-types 2.9.1 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/decide.d.ts +269 -0
- package/dist/decide.d.ts.map +1 -0
- package/dist/decide.js +781 -0
- package/dist/decide.js.map +1 -0
- package/dist/decideEngine.d.ts +195 -0
- package/dist/decideEngine.d.ts.map +1 -0
- package/dist/decideEngine.js +720 -0
- package/dist/decideEngine.js.map +1 -0
- package/dist/decideEvaluate.d.ts +250 -0
- package/dist/decideEvaluate.d.ts.map +1 -0
- package/dist/decideEvaluate.js +518 -0
- package/dist/decideEvaluate.js.map +1 -0
- package/dist/decideHostGuard.d.ts +56 -0
- package/dist/decideHostGuard.d.ts.map +1 -0
- package/dist/decideHostGuard.js +200 -0
- package/dist/decideHostGuard.js.map +1 -0
- package/dist/decideLog.d.ts +287 -0
- package/dist/decideLog.d.ts.map +1 -0
- package/dist/decideLog.js +543 -0
- package/dist/decideLog.js.map +1 -0
- package/dist/decideLogRedaction.d.ts +12 -0
- package/dist/decideLogRedaction.d.ts.map +1 -0
- package/dist/decideLogRedaction.js +19 -0
- package/dist/decideLogRedaction.js.map +1 -0
- package/dist/decideRecord.d.ts +128 -0
- package/dist/decideRecord.d.ts.map +1 -0
- package/dist/decideRecord.js +266 -0
- package/dist/decideRecord.js.map +1 -0
- package/dist/decideSdk.d.ts +86 -0
- package/dist/decideSdk.d.ts.map +1 -0
- package/dist/decideSdk.js +151 -0
- package/dist/decideSdk.js.map +1 -0
- package/dist/errors.d.ts +11 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +12 -1
- package/dist/errors.js.map +1 -1
- package/dist/gateLimits.d.ts +27 -0
- package/dist/gateLimits.d.ts.map +1 -1
- package/dist/gateLimits.js +29 -1
- package/dist/gateLimits.js.map +1 -1
- package/dist/gateRuleRecord.d.ts +244 -0
- package/dist/gateRuleRecord.d.ts.map +1 -0
- package/dist/gateRuleRecord.js +474 -0
- package/dist/gateRuleRecord.js.map +1 -0
- package/dist/guardrailIr.d.ts +301 -10
- package/dist/guardrailIr.d.ts.map +1 -1
- package/dist/guardrailIr.js +86 -7
- package/dist/guardrailIr.js.map +1 -1
- package/dist/guardrailRender.d.ts +35 -2
- package/dist/guardrailRender.d.ts.map +1 -1
- package/dist/guardrailRender.js +133 -7
- package/dist/guardrailRender.js.map +1 -1
- package/dist/index.d.ts +28 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +162 -8
- package/dist/index.js.map +1 -1
- package/dist/lanes.d.ts +94 -0
- package/dist/lanes.d.ts.map +1 -0
- package/dist/lanes.js +160 -0
- package/dist/lanes.js.map +1 -0
- package/dist/loopVerify.d.ts +49 -0
- package/dist/loopVerify.d.ts.map +1 -0
- package/dist/loopVerify.js +77 -0
- package/dist/loopVerify.js.map +1 -0
- package/dist/mcpBudgets.d.ts +8 -8
- package/dist/notifications.d.ts +1 -1
- package/dist/notifications.d.ts.map +1 -1
- package/dist/notifications.js +14 -0
- package/dist/notifications.js.map +1 -1
- package/dist/providers.d.ts +13 -0
- package/dist/providers.d.ts.map +1 -1
- package/dist/providers.js +31 -0
- package/dist/providers.js.map +1 -1
- package/dist/refusalDetail.d.ts +58 -0
- package/dist/refusalDetail.d.ts.map +1 -0
- package/dist/refusalDetail.js +128 -0
- package/dist/refusalDetail.js.map +1 -0
- package/dist/responses/decide.d.ts +1858 -0
- package/dist/responses/decide.d.ts.map +1 -0
- package/dist/responses/decide.js +166 -0
- package/dist/responses/decide.js.map +1 -0
- package/dist/responses/gateways.d.ts +745 -101
- package/dist/responses/gateways.d.ts.map +1 -1
- package/dist/responses/gateways.js +34 -2
- package/dist/responses/gateways.js.map +1 -1
- package/dist/responses/guardrails.d.ts +1434 -144
- package/dist/responses/guardrails.d.ts.map +1 -1
- package/dist/responses/identity.d.ts +6 -6
- package/dist/responses/index.d.ts +1 -0
- package/dist/responses/index.d.ts.map +1 -1
- package/dist/responses/index.js +1 -0
- package/dist/responses/index.js.map +1 -1
- package/dist/responses/integrations.d.ts +84 -84
- package/dist/responses/observability.d.ts +272 -92
- package/dist/responses/observability.d.ts.map +1 -1
- package/dist/responses/observability.js +31 -1
- package/dist/responses/observability.js.map +1 -1
- package/dist/responses/rules.d.ts +1026 -187
- package/dist/responses/rules.d.ts.map +1 -1
- package/dist/responses/rules.js +47 -1
- package/dist/responses/rules.js.map +1 -1
- package/dist/scopeMatch.d.ts +156 -0
- package/dist/scopeMatch.d.ts.map +1 -0
- package/dist/scopeMatch.js +451 -0
- package/dist/scopeMatch.js.map +1 -0
- package/dist/sopKeySince.d.ts +41 -0
- package/dist/sopKeySince.d.ts.map +1 -0
- package/dist/sopKeySince.js +81 -0
- package/dist/sopKeySince.js.map +1 -0
- package/dist/testOutcome.d.ts +164 -0
- package/dist/testOutcome.d.ts.map +1 -0
- package/dist/testOutcome.js +454 -0
- package/dist/testOutcome.js.map +1 -0
- package/dist/upstreamRetry.d.ts +2 -2
- package/dist/workspaceSettings.d.ts +91 -0
- package/dist/workspaceSettings.d.ts.map +1 -1
- package/dist/workspaceSettings.js +48 -2
- package/dist/workspaceSettings.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* What a refusal says about where to retry: its `scope` (the
|
|
4
|
+
* paths, tools, step, detector or rule it concerns) and its `evidence` (what
|
|
5
|
+
* the refuser saw), bounded the same way on every surface.
|
|
6
|
+
*
|
|
7
|
+
* - Each list holds at most {@link REFUSAL_DETAIL_MAX_ITEMS} items, and each
|
|
8
|
+
* string at most {@link REFUSAL_DETAIL_MAX_CHARS} characters (code points),
|
|
9
|
+
* with C0 control characters (U+0000 to U+001F) removed first. A string
|
|
10
|
+
* that is empty after that is dropped; an empty list is left out; a scope
|
|
11
|
+
* with nothing left is null.
|
|
12
|
+
* - In an OPAQUE workspace both are dropped, and so is the stderr retry line:
|
|
13
|
+
* only the refusal code survives, as with the reason
|
|
14
|
+
* (`OPAQUE_REFUSAL_MESSAGE`). SILENT_LOG behaves as TRANSPARENT.
|
|
15
|
+
*
|
|
16
|
+
* Self-contained, so `@intutic/gate` keeps a byte-identical copy. The Python
|
|
17
|
+
* port is `intutic_clawde/gate/refusal_detail.py`, the Rust one is in the
|
|
18
|
+
* proxy's `refusal.rs`; all run `fixtures/refusal-detail-vectors.json`.
|
|
19
|
+
*
|
|
20
|
+
* @module
|
|
21
|
+
*/
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.REFUSAL_DETAIL_JS_SOURCE = exports.RETRY_SCOPE_PREFIX = exports.REFUSAL_DETAIL_MAX_CHARS = exports.REFUSAL_DETAIL_MAX_ITEMS = void 0;
|
|
24
|
+
exports.boundRefusalScope = boundRefusalScope;
|
|
25
|
+
exports.boundRefusalEvidence = boundRefusalEvidence;
|
|
26
|
+
exports.refusalDetailForMode = refusalDetailForMode;
|
|
27
|
+
exports.retryScopeLine = retryScopeLine;
|
|
28
|
+
exports.REFUSAL_DETAIL_MAX_ITEMS = 8;
|
|
29
|
+
exports.REFUSAL_DETAIL_MAX_CHARS = 256;
|
|
30
|
+
/** The stderr line an exit-code harness prints after the reason. */
|
|
31
|
+
exports.RETRY_SCOPE_PREFIX = '[Intutic] Retry scope: ';
|
|
32
|
+
/** `s` without C0 control characters, cut to 256 code points; null when nothing is left or it is not a string. */
|
|
33
|
+
function refusalDetailText(s) {
|
|
34
|
+
if (typeof s !== 'string')
|
|
35
|
+
return null;
|
|
36
|
+
// eslint-disable-next-line no-control-regex -- removing control characters is the point
|
|
37
|
+
const clean = Array.from(s.replace(/[\u0000-\u001f]/g, ''));
|
|
38
|
+
if (clean.length === 0)
|
|
39
|
+
return null;
|
|
40
|
+
return clean.slice(0, 256).join('');
|
|
41
|
+
}
|
|
42
|
+
/** A list of strings, bounded: the first 8 that survive {@link refusalDetailText}. */
|
|
43
|
+
function refusalDetailList(v) {
|
|
44
|
+
if (!Array.isArray(v))
|
|
45
|
+
return null;
|
|
46
|
+
const out = [];
|
|
47
|
+
for (const item of v) {
|
|
48
|
+
if (out.length >= 8)
|
|
49
|
+
break;
|
|
50
|
+
const t = refusalDetailText(item);
|
|
51
|
+
if (t !== null)
|
|
52
|
+
out.push(t);
|
|
53
|
+
}
|
|
54
|
+
return out.length > 0 ? out : null;
|
|
55
|
+
}
|
|
56
|
+
/** A scope bounded as the module doc says, keys in a fixed order; null when nothing is left. */
|
|
57
|
+
function boundRefusalScope(scope) {
|
|
58
|
+
if (scope === null || typeof scope !== 'object' || Array.isArray(scope))
|
|
59
|
+
return null;
|
|
60
|
+
const s = scope;
|
|
61
|
+
const out = {};
|
|
62
|
+
const paths = refusalDetailList(s.paths);
|
|
63
|
+
if (paths)
|
|
64
|
+
out.paths = paths;
|
|
65
|
+
const tools = refusalDetailList(s.tools);
|
|
66
|
+
if (tools)
|
|
67
|
+
out.tools = tools;
|
|
68
|
+
const step = refusalDetailText(s.step);
|
|
69
|
+
if (step !== null)
|
|
70
|
+
out.step = step;
|
|
71
|
+
const detector = refusalDetailText(s.detector);
|
|
72
|
+
if (detector !== null)
|
|
73
|
+
out.detector = detector;
|
|
74
|
+
const rule = refusalDetailText(s.rule);
|
|
75
|
+
if (rule !== null)
|
|
76
|
+
out.rule = rule;
|
|
77
|
+
return Object.keys(out).length > 0 ? out : null;
|
|
78
|
+
}
|
|
79
|
+
/** Evidence bounded: at most 8 items, each with a `kind` and a `detail` that survive bounding. */
|
|
80
|
+
function boundRefusalEvidence(evidence) {
|
|
81
|
+
const out = [];
|
|
82
|
+
if (!Array.isArray(evidence))
|
|
83
|
+
return out;
|
|
84
|
+
for (const item of evidence) {
|
|
85
|
+
if (out.length >= 8)
|
|
86
|
+
break;
|
|
87
|
+
if (item === null || typeof item !== 'object' || Array.isArray(item))
|
|
88
|
+
continue;
|
|
89
|
+
const kind = refusalDetailText(item.kind);
|
|
90
|
+
const detail = refusalDetailText(item.detail);
|
|
91
|
+
if (kind !== null && detail !== null)
|
|
92
|
+
out.push({ kind, detail });
|
|
93
|
+
}
|
|
94
|
+
return out;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* The detail a refusal carries in `mode` (an intervention mode): nothing in
|
|
98
|
+
* OPAQUE; otherwise the bounded scope and evidence, each left out when empty.
|
|
99
|
+
*/
|
|
100
|
+
function refusalDetailForMode(mode, scope, evidence) {
|
|
101
|
+
if (mode === 'OPAQUE')
|
|
102
|
+
return {};
|
|
103
|
+
const out = {};
|
|
104
|
+
const s = boundRefusalScope(scope);
|
|
105
|
+
if (s)
|
|
106
|
+
out.scope = s;
|
|
107
|
+
const e = boundRefusalEvidence(evidence);
|
|
108
|
+
if (e.length > 0)
|
|
109
|
+
out.evidence = e;
|
|
110
|
+
return out;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* The stderr line an exit-code harness gets after the reason:
|
|
114
|
+
* `[Intutic] Retry scope: <paths, else tools, comma-separated>`, or null when
|
|
115
|
+
* the scope names neither, or in OPAQUE.
|
|
116
|
+
*/
|
|
117
|
+
function retryScopeLine(mode, scope) {
|
|
118
|
+
if (mode === 'OPAQUE')
|
|
119
|
+
return null;
|
|
120
|
+
const s = boundRefusalScope(scope);
|
|
121
|
+
const items = s?.paths ?? s?.tools;
|
|
122
|
+
return items ? '[Intutic] Retry scope: ' + items.join(', ') : null;
|
|
123
|
+
}
|
|
124
|
+
/** The functions above as JavaScript source, for the hook gates to embed. */
|
|
125
|
+
exports.REFUSAL_DETAIL_JS_SOURCE = [refusalDetailText, refusalDetailList, boundRefusalScope, boundRefusalEvidence, refusalDetailForMode, retryScopeLine]
|
|
126
|
+
.map((fn) => fn.toString().replace(/\bexports\./g, ''))
|
|
127
|
+
.join('\n');
|
|
128
|
+
//# sourceMappingURL=refusalDetail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refusalDetail.js","sourceRoot":"","sources":["../src/refusalDetail.ts"],"names":[],"mappings":"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"}
|