@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.
Files changed (119) hide show
  1. package/dist/decide.d.ts +269 -0
  2. package/dist/decide.d.ts.map +1 -0
  3. package/dist/decide.js +781 -0
  4. package/dist/decide.js.map +1 -0
  5. package/dist/decideEngine.d.ts +195 -0
  6. package/dist/decideEngine.d.ts.map +1 -0
  7. package/dist/decideEngine.js +720 -0
  8. package/dist/decideEngine.js.map +1 -0
  9. package/dist/decideEvaluate.d.ts +250 -0
  10. package/dist/decideEvaluate.d.ts.map +1 -0
  11. package/dist/decideEvaluate.js +518 -0
  12. package/dist/decideEvaluate.js.map +1 -0
  13. package/dist/decideHostGuard.d.ts +56 -0
  14. package/dist/decideHostGuard.d.ts.map +1 -0
  15. package/dist/decideHostGuard.js +200 -0
  16. package/dist/decideHostGuard.js.map +1 -0
  17. package/dist/decideLog.d.ts +287 -0
  18. package/dist/decideLog.d.ts.map +1 -0
  19. package/dist/decideLog.js +543 -0
  20. package/dist/decideLog.js.map +1 -0
  21. package/dist/decideLogRedaction.d.ts +12 -0
  22. package/dist/decideLogRedaction.d.ts.map +1 -0
  23. package/dist/decideLogRedaction.js +19 -0
  24. package/dist/decideLogRedaction.js.map +1 -0
  25. package/dist/decideRecord.d.ts +128 -0
  26. package/dist/decideRecord.d.ts.map +1 -0
  27. package/dist/decideRecord.js +266 -0
  28. package/dist/decideRecord.js.map +1 -0
  29. package/dist/decideSdk.d.ts +86 -0
  30. package/dist/decideSdk.d.ts.map +1 -0
  31. package/dist/decideSdk.js +151 -0
  32. package/dist/decideSdk.js.map +1 -0
  33. package/dist/errors.d.ts +11 -1
  34. package/dist/errors.d.ts.map +1 -1
  35. package/dist/errors.js +12 -1
  36. package/dist/errors.js.map +1 -1
  37. package/dist/gateLimits.d.ts +27 -0
  38. package/dist/gateLimits.d.ts.map +1 -1
  39. package/dist/gateLimits.js +29 -1
  40. package/dist/gateLimits.js.map +1 -1
  41. package/dist/gateRuleRecord.d.ts +244 -0
  42. package/dist/gateRuleRecord.d.ts.map +1 -0
  43. package/dist/gateRuleRecord.js +474 -0
  44. package/dist/gateRuleRecord.js.map +1 -0
  45. package/dist/guardrailIr.d.ts +301 -10
  46. package/dist/guardrailIr.d.ts.map +1 -1
  47. package/dist/guardrailIr.js +86 -7
  48. package/dist/guardrailIr.js.map +1 -1
  49. package/dist/guardrailRender.d.ts +35 -2
  50. package/dist/guardrailRender.d.ts.map +1 -1
  51. package/dist/guardrailRender.js +133 -7
  52. package/dist/guardrailRender.js.map +1 -1
  53. package/dist/index.d.ts +28 -6
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +162 -8
  56. package/dist/index.js.map +1 -1
  57. package/dist/lanes.d.ts +94 -0
  58. package/dist/lanes.d.ts.map +1 -0
  59. package/dist/lanes.js +160 -0
  60. package/dist/lanes.js.map +1 -0
  61. package/dist/loopVerify.d.ts +49 -0
  62. package/dist/loopVerify.d.ts.map +1 -0
  63. package/dist/loopVerify.js +77 -0
  64. package/dist/loopVerify.js.map +1 -0
  65. package/dist/mcpBudgets.d.ts +8 -8
  66. package/dist/notifications.d.ts +1 -1
  67. package/dist/notifications.d.ts.map +1 -1
  68. package/dist/notifications.js +14 -0
  69. package/dist/notifications.js.map +1 -1
  70. package/dist/providers.d.ts +13 -0
  71. package/dist/providers.d.ts.map +1 -1
  72. package/dist/providers.js +31 -0
  73. package/dist/providers.js.map +1 -1
  74. package/dist/refusalDetail.d.ts +58 -0
  75. package/dist/refusalDetail.d.ts.map +1 -0
  76. package/dist/refusalDetail.js +128 -0
  77. package/dist/refusalDetail.js.map +1 -0
  78. package/dist/responses/decide.d.ts +1858 -0
  79. package/dist/responses/decide.d.ts.map +1 -0
  80. package/dist/responses/decide.js +166 -0
  81. package/dist/responses/decide.js.map +1 -0
  82. package/dist/responses/gateways.d.ts +745 -101
  83. package/dist/responses/gateways.d.ts.map +1 -1
  84. package/dist/responses/gateways.js +34 -2
  85. package/dist/responses/gateways.js.map +1 -1
  86. package/dist/responses/guardrails.d.ts +1434 -144
  87. package/dist/responses/guardrails.d.ts.map +1 -1
  88. package/dist/responses/identity.d.ts +6 -6
  89. package/dist/responses/index.d.ts +1 -0
  90. package/dist/responses/index.d.ts.map +1 -1
  91. package/dist/responses/index.js +1 -0
  92. package/dist/responses/index.js.map +1 -1
  93. package/dist/responses/integrations.d.ts +84 -84
  94. package/dist/responses/observability.d.ts +272 -92
  95. package/dist/responses/observability.d.ts.map +1 -1
  96. package/dist/responses/observability.js +31 -1
  97. package/dist/responses/observability.js.map +1 -1
  98. package/dist/responses/rules.d.ts +1026 -187
  99. package/dist/responses/rules.d.ts.map +1 -1
  100. package/dist/responses/rules.js +47 -1
  101. package/dist/responses/rules.js.map +1 -1
  102. package/dist/scopeMatch.d.ts +156 -0
  103. package/dist/scopeMatch.d.ts.map +1 -0
  104. package/dist/scopeMatch.js +451 -0
  105. package/dist/scopeMatch.js.map +1 -0
  106. package/dist/sopKeySince.d.ts +41 -0
  107. package/dist/sopKeySince.d.ts.map +1 -0
  108. package/dist/sopKeySince.js +81 -0
  109. package/dist/sopKeySince.js.map +1 -0
  110. package/dist/testOutcome.d.ts +164 -0
  111. package/dist/testOutcome.d.ts.map +1 -0
  112. package/dist/testOutcome.js +454 -0
  113. package/dist/testOutcome.js.map +1 -0
  114. package/dist/upstreamRetry.d.ts +2 -2
  115. package/dist/workspaceSettings.d.ts +91 -0
  116. package/dist/workspaceSettings.d.ts.map +1 -1
  117. package/dist/workspaceSettings.js +48 -2
  118. package/dist/workspaceSettings.js.map +1 -1
  119. 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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"}