@intutic/gate 2.9.1 → 3.0.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.
Files changed (95) hide show
  1. package/dist/actions.d.ts +39 -0
  2. package/dist/actions.d.ts.map +1 -1
  3. package/dist/actions.js +139 -0
  4. package/dist/actions.js.map +1 -1
  5. package/dist/client.d.ts +10 -0
  6. package/dist/client.d.ts.map +1 -1
  7. package/dist/client.js +19 -0
  8. package/dist/client.js.map +1 -1
  9. package/dist/decide.d.ts +269 -0
  10. package/dist/decide.d.ts.map +1 -0
  11. package/dist/decide.js +757 -0
  12. package/dist/decide.js.map +1 -0
  13. package/dist/decideApi.d.ts +24 -0
  14. package/dist/decideApi.d.ts.map +1 -0
  15. package/dist/decideApi.js +32 -0
  16. package/dist/decideApi.js.map +1 -0
  17. package/dist/decideEngine.d.ts +195 -0
  18. package/dist/decideEngine.d.ts.map +1 -0
  19. package/dist/decideEngine.js +707 -0
  20. package/dist/decideEngine.js.map +1 -0
  21. package/dist/decideEvaluate.d.ts +250 -0
  22. package/dist/decideEvaluate.d.ts.map +1 -0
  23. package/dist/decideEvaluate.js +504 -0
  24. package/dist/decideEvaluate.js.map +1 -0
  25. package/dist/decideHostGuard.d.ts +56 -0
  26. package/dist/decideHostGuard.d.ts.map +1 -0
  27. package/dist/decideHostGuard.js +194 -0
  28. package/dist/decideHostGuard.js.map +1 -0
  29. package/dist/decideLog.d.ts +287 -0
  30. package/dist/decideLog.d.ts.map +1 -0
  31. package/dist/decideLog.js +521 -0
  32. package/dist/decideLog.js.map +1 -0
  33. package/dist/decideLogRedaction.d.ts +17 -0
  34. package/dist/decideLogRedaction.d.ts.map +1 -0
  35. package/dist/decideLogRedaction.js +33 -0
  36. package/dist/decideLogRedaction.js.map +1 -0
  37. package/dist/decideRecord.d.ts +128 -0
  38. package/dist/decideRecord.d.ts.map +1 -0
  39. package/dist/decideRecord.js +254 -0
  40. package/dist/decideRecord.js.map +1 -0
  41. package/dist/decideSdk.d.ts +86 -0
  42. package/dist/decideSdk.d.ts.map +1 -0
  43. package/dist/decideSdk.js +146 -0
  44. package/dist/decideSdk.js.map +1 -0
  45. package/dist/dsh.d.ts.map +1 -1
  46. package/dist/dsh.js +6 -1
  47. package/dist/dsh.js.map +1 -1
  48. package/dist/errors.d.ts +26 -2
  49. package/dist/errors.d.ts.map +1 -1
  50. package/dist/errors.js +38 -1
  51. package/dist/errors.js.map +1 -1
  52. package/dist/gate.d.ts +85 -1
  53. package/dist/gate.d.ts.map +1 -1
  54. package/dist/gate.js +314 -18
  55. package/dist/gate.js.map +1 -1
  56. package/dist/gateRuleRecord.d.ts +244 -0
  57. package/dist/gateRuleRecord.d.ts.map +1 -0
  58. package/dist/gateRuleRecord.js +459 -0
  59. package/dist/gateRuleRecord.js.map +1 -0
  60. package/dist/harness.d.ts.map +1 -1
  61. package/dist/harness.js +22 -10
  62. package/dist/harness.js.map +1 -1
  63. package/dist/index.d.ts +14 -5
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +5 -3
  66. package/dist/index.js.map +1 -1
  67. package/dist/lanes.d.ts +94 -0
  68. package/dist/lanes.d.ts.map +1 -0
  69. package/dist/lanes.js +150 -0
  70. package/dist/lanes.js.map +1 -0
  71. package/dist/limits.d.ts +6 -0
  72. package/dist/limits.d.ts.map +1 -1
  73. package/dist/limits.js +6 -0
  74. package/dist/limits.js.map +1 -1
  75. package/dist/refusalDetail.d.ts +58 -0
  76. package/dist/refusalDetail.d.ts.map +1 -0
  77. package/dist/refusalDetail.js +121 -0
  78. package/dist/refusalDetail.js.map +1 -0
  79. package/dist/scopeMatch.d.ts +156 -0
  80. package/dist/scopeMatch.d.ts.map +1 -0
  81. package/dist/scopeMatch.js +438 -0
  82. package/dist/scopeMatch.js.map +1 -0
  83. package/dist/snapshot.d.ts +51 -3
  84. package/dist/snapshot.d.ts.map +1 -1
  85. package/dist/snapshot.js +86 -13
  86. package/dist/snapshot.js.map +1 -1
  87. package/dist/testOutcome.d.ts +164 -0
  88. package/dist/testOutcome.d.ts.map +1 -0
  89. package/dist/testOutcome.js +439 -0
  90. package/dist/testOutcome.js.map +1 -0
  91. package/dist/wrapTools.d.ts +7 -1
  92. package/dist/wrapTools.d.ts.map +1 -1
  93. package/dist/wrapTools.js +30 -2
  94. package/dist/wrapTools.js.map +1 -1
  95. package/package.json +2 -2
package/dist/actions.d.ts CHANGED
@@ -17,6 +17,7 @@
17
17
  * Note the trailing spaces in `'update '`, `'truncate '` and `'curl -d '` —
18
18
  * they are load-bearing and must survive editing.
19
19
  */
20
+ import { type PhraseText } from './phrases.js';
20
21
  export declare const ACTION_PREFIX = "action:";
21
22
  /** Commands that put code or artefacts somewhere real. */
22
23
  export declare const DEPLOY_PATTERNS: readonly string[];
@@ -30,6 +31,29 @@ export declare const TEST_PATTERNS: readonly string[];
30
31
  export declare const HTTP_POST_PATTERNS: readonly string[];
31
32
  /** Commands that write to a database. */
32
33
  export declare const DB_WRITE_PATTERNS: readonly string[];
34
+ /** Commands that change a database schema (`action:migrate`, reversible_wide). */
35
+ export declare const MIGRATE_PATTERNS: readonly string[];
36
+ /**
37
+ * Flags and settings that point a command at production (`action:prod_write`,
38
+ * reversible_wide). A one-word needle is a substring, so `--prod` also
39
+ * matches `--production`.
40
+ */
41
+ export declare const PROD_WRITE_PATTERNS: readonly string[];
42
+ /**
43
+ * Commands that destroy infrastructure or data (`action:destroy`,
44
+ * irreversible). `DROP` and `TRUNCATE` are also `db_write`. A recursive,
45
+ * forced `rm` whose target is outside the working tree is `destroy` too
46
+ * ({@link removesOutsideTree}).
47
+ */
48
+ export declare const DESTROY_PATTERNS: readonly string[];
49
+ /** Calls that move money (`action:payment`, irreversible). */
50
+ export declare const PAYMENT_PATTERNS: readonly string[];
51
+ /**
52
+ * The whole-word flags that make a `git push` a force push
53
+ * (`action:force_push`, irreversible), looked for in the space-padded,
54
+ * whitespace-collapsed command. `--force-with-lease` is not one.
55
+ */
56
+ export declare const FORCE_PUSH_FLAGS: readonly string[];
33
57
  /**
34
58
  * Path fragments that indicate credential material.
35
59
  *
@@ -70,6 +94,21 @@ export declare function matchesAny(haystack: string, patterns: readonly string[]
70
94
  * `endsWith` is what lets namespaced names like `mcp__sh__bash` classify.
71
95
  */
72
96
  export declare function toolIs(name: string, group: readonly string[]): boolean;
97
+ /**
98
+ * A force push: the `git push` phrase, and `--force` or `-f` as a whole word
99
+ * anywhere in the command, whitespace collapsed and padded with a space at
100
+ * each end.
101
+ */
102
+ export declare function isForcePush(words: PhraseText, args: string): boolean;
103
+ /**
104
+ * A recursive, forced `rm` (`-rf`, `-fr`, `-r -f`, `--recursive --force`, in
105
+ * any case) with a target outside the working tree: absolute, under `~`, or
106
+ * containing `..`. `rm -rf build/` is not one. The command is cut into
107
+ * segments at `;`, `&`, `|`, `(`, `)` and newlines; in each, the first word
108
+ * that is `rm` (or ends `/rm`) starts it, and every later word is a flag
109
+ * (before `--`) or a target, quotes stripped. Linear in the command.
110
+ */
111
+ export declare function removesOutsideTree(args: string): boolean;
73
112
  /**
74
113
  * Classify one tool call into the abstract actions it performs.
75
114
  *
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,eAAO,MAAM,aAAa,YAAY,CAAA;AAEtC,0DAA0D;AAC1D,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAe5C,CAAA;AAED,yEAAyE;AACzE,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAS7C,CAAA;AAED,mCAAmC;AACnC,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAO7C,CAAA;AAED,sCAAsC;AACtC,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAqB1C,CAAA;AAED,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAO/C,CAAA;AAED,yCAAyC;AACzC,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAS9C,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAclD,CAAA;AAED,qEAAqE;AACrE,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAO/C,CAAA;AAED,0DAA0D;AAC1D,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAYxC,CAAA;AAED,kDAAkD;AAClD,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAAqD,CAAA;AAE7F,kDAAkD;AAClD,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAAmE,CAAA;AAE5G;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EASjD,CAAA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAUnD;AAUD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAEjF;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAGtE;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,EAAE,CAsBvE;AAED,0EAA0E;AAC1E,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAEtE;AAED,6CAA6C;AAC7C,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAEpE;AAED,0DAA0D;AAC1D,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAErE"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAyB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAA;AAErE,eAAO,MAAM,aAAa,YAAY,CAAA;AAEtC,0DAA0D;AAC1D,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAe5C,CAAA;AAED,yEAAyE;AACzE,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAS7C,CAAA;AAED,mCAAmC;AACnC,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAO7C,CAAA;AAED,sCAAsC;AACtC,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAqB1C,CAAA;AAED,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAO/C,CAAA;AAED,yCAAyC;AACzC,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAS9C,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAY7C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAShD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAW7C,CAAA;AAED,8DAA8D;AAC9D,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAY7C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAA0B,CAAA;AAExE;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAclD,CAAA;AAED,qEAAqE;AACrE,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAO/C,CAAA;AAED,0DAA0D;AAC1D,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAYxC,CAAA;AAED,kDAAkD;AAClD,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAAqD,CAAA;AAE7F,kDAAkD;AAClD,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAAmE,CAAA;AAE5G;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EASjD,CAAA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAUnD;AAUD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAEjF;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAGtE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAIpE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CA6BxD;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,EAAE,CA6BvE;AAED,0EAA0E;AAC1E,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAEtE;AAED,6CAA6C;AAC7C,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAEpE;AAED,0DAA0D;AAC1D,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAErE"}
package/dist/actions.js CHANGED
@@ -99,6 +99,73 @@ export const DB_WRITE_PATTERNS = [
99
99
  'truncate ',
100
100
  'alter table',
101
101
  ];
102
+ /** Commands that change a database schema (`action:migrate`, reversible_wide). */
103
+ export const MIGRATE_PATTERNS = [
104
+ 'prisma migrate deploy',
105
+ 'prisma db push',
106
+ 'alembic upgrade',
107
+ 'alembic downgrade',
108
+ 'rails db:migrate',
109
+ 'rake db:migrate',
110
+ 'manage.py migrate',
111
+ 'flyway migrate',
112
+ 'liquibase update',
113
+ 'knex migrate:latest',
114
+ 'sequelize db:migrate',
115
+ ];
116
+ /**
117
+ * Flags and settings that point a command at production (`action:prod_write`,
118
+ * reversible_wide). A one-word needle is a substring, so `--prod` also
119
+ * matches `--production`.
120
+ */
121
+ export const PROD_WRITE_PATTERNS = [
122
+ '--prod',
123
+ 'rails_env=production',
124
+ 'node_env=production',
125
+ '--context prod',
126
+ '--namespace production',
127
+ '-n production',
128
+ '--environment production',
129
+ '--stage prod',
130
+ ];
131
+ /**
132
+ * Commands that destroy infrastructure or data (`action:destroy`,
133
+ * irreversible). `DROP` and `TRUNCATE` are also `db_write`. A recursive,
134
+ * forced `rm` whose target is outside the working tree is `destroy` too
135
+ * ({@link removesOutsideTree}).
136
+ */
137
+ export const DESTROY_PATTERNS = [
138
+ 'terraform destroy',
139
+ 'kubectl delete',
140
+ 'helm uninstall',
141
+ 'helm delete',
142
+ 'drop table',
143
+ 'drop database',
144
+ 'drop schema',
145
+ 'truncate ',
146
+ 'aws s3 rb',
147
+ 'aws s3 rm',
148
+ ];
149
+ /** Calls that move money (`action:payment`, irreversible). */
150
+ export const PAYMENT_PATTERNS = [
151
+ 'api.stripe.com/v1/charges',
152
+ 'api.stripe.com/v1/payment_intents',
153
+ 'api.stripe.com/v1/transfers',
154
+ 'api.stripe.com/v1/payouts',
155
+ 'api.stripe.com/v1/refunds',
156
+ 'stripe charges create',
157
+ 'stripe payment_intents create',
158
+ 'stripe transfers create',
159
+ 'stripe payouts create',
160
+ 'api-m.paypal.com/v2/payments',
161
+ 'api.paypal.com/v1/payments',
162
+ ];
163
+ /**
164
+ * The whole-word flags that make a `git push` a force push
165
+ * (`action:force_push`, irreversible), looked for in the space-padded,
166
+ * whitespace-collapsed command. `--force-with-lease` is not one.
167
+ */
168
+ export const FORCE_PUSH_FLAGS = [' --force ', ' -f '];
102
169
  /**
103
170
  * Path fragments that indicate credential material.
104
171
  *
@@ -205,6 +272,66 @@ export function toolIs(name, group) {
205
272
  const lower = name.toLowerCase();
206
273
  return group.some((t) => lower === t || lower.endsWith(t));
207
274
  }
275
+ /**
276
+ * A force push: the `git push` phrase, and `--force` or `-f` as a whole word
277
+ * anywhere in the command, whitespace collapsed and padded with a space at
278
+ * each end.
279
+ */
280
+ export function isForcePush(words, args) {
281
+ if (!hasPhrase(words, 'git push'))
282
+ return false;
283
+ const padded = ' ' + args.replace(/[ \t\n\r\f\v]+/g, ' ') + ' ';
284
+ return FORCE_PUSH_FLAGS.some((f) => padded.includes(f));
285
+ }
286
+ /**
287
+ * A recursive, forced `rm` (`-rf`, `-fr`, `-r -f`, `--recursive --force`, in
288
+ * any case) with a target outside the working tree: absolute, under `~`, or
289
+ * containing `..`. `rm -rf build/` is not one. The command is cut into
290
+ * segments at `;`, `&`, `|`, `(`, `)` and newlines; in each, the first word
291
+ * that is `rm` (or ends `/rm`) starts it, and every later word is a flag
292
+ * (before `--`) or a target, quotes stripped. Linear in the command.
293
+ */
294
+ export function removesOutsideTree(args) {
295
+ for (const segment of args.split(/[;&|()\n]/)) {
296
+ const words = segment.split(/[ \t\r\f\v]+/).filter((w) => w !== '');
297
+ const at = words.findIndex((w) => w === 'rm' || w.endsWith('/rm'));
298
+ if (at === -1)
299
+ continue;
300
+ let recursive = false;
301
+ let force = false;
302
+ let flags = true;
303
+ const targets = [];
304
+ for (const w of words.slice(at + 1)) {
305
+ if (flags && w === '--')
306
+ flags = false;
307
+ else if (flags && w.startsWith('--')) {
308
+ if (w === '--recursive')
309
+ recursive = true;
310
+ if (w === '--force')
311
+ force = true;
312
+ }
313
+ else if (flags && w.startsWith('-') && w.length > 1) {
314
+ const lower = w.toLowerCase();
315
+ if (lower.includes('r'))
316
+ recursive = true;
317
+ if (lower.includes('f'))
318
+ force = true;
319
+ }
320
+ else {
321
+ let a = 0;
322
+ let b = w.length;
323
+ while (a < b && (w[a] === '"' || w[a] === "'"))
324
+ a++;
325
+ while (b > a && (w[b - 1] === '"' || w[b - 1] === "'"))
326
+ b--;
327
+ targets.push(w.slice(a, b));
328
+ }
329
+ }
330
+ if (recursive && force && targets.some((t) => t.startsWith('/') || t.startsWith('~') || t.includes('..')))
331
+ return true;
332
+ }
333
+ return false;
334
+ }
208
335
  /**
209
336
  * Classify one tool call into the abstract actions it performs.
210
337
  *
@@ -238,6 +365,18 @@ export function classify(toolName, toolInput) {
238
365
  actions.push('http_post');
239
366
  if (matchesPhrase(words, DB_WRITE_PATTERNS))
240
367
  actions.push('db_write');
368
+ // The newer tokens, after the eight, in this order in every
369
+ // classifier: each is a lane (lanes.ts), not an ordering step.
370
+ if (matchesPhrase(words, MIGRATE_PATTERNS))
371
+ actions.push('migrate');
372
+ if (matchesPhrase(words, PROD_WRITE_PATTERNS))
373
+ actions.push('prod_write');
374
+ if (matchesPhrase(words, DESTROY_PATTERNS) || removesOutsideTree(args))
375
+ actions.push('destroy');
376
+ if (isForcePush(words, args))
377
+ actions.push('force_push');
378
+ if (matchesPhrase(words, PAYMENT_PATTERNS))
379
+ actions.push('payment');
241
380
  }
242
381
  return actions.map((a) => ACTION_PREFIX + a);
243
382
  }
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -185,6 +185,16 @@ export declare class GateClient {
185
185
  * checked for an approval stays held.
186
186
  */
187
187
  approvedBypasses(): Promise<unknown[] | null>;
188
+ /**
189
+ * The session's plan (`GET /api/v1/plans/session/:sessionId`) as Tier R
190
+ * reads it: the HTTP status and body, or a null status when the control
191
+ * plane could not be reached. A local-only client has no plans to read:
192
+ * 404. Never throws.
193
+ */
194
+ sessionPlan(sessionId: string): Promise<{
195
+ status: number | null;
196
+ body: unknown;
197
+ }>;
188
198
  /**
189
199
  * Build a client from the environment, falling back to CLI credentials.
190
200
  *
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AA6BH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,4EAA4E;IAC5E,OAAO,EAAE,OAAO,CAAA;IAChB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,0GAA0G;AAC1G,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AA4CD,iEAAiE;AACjE,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;GAOG;AACH,qBAAa,UAAU;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;gBAEd,IAAI,GAAE,iBAAsB;IAiBxC;;;;OAIG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;YAEa,IAAI;YAIJ,OAAO;IAoCrB;;;;;;;;;;;;;;;;;;;OAmBG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IA0D3E;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IASjB;;;;;;;;OAQG;IACG,IAAI,CACR,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,MAAM,SAAK,EACX,SAAS,CAAC,EAAE,OAAO,EACnB,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,OAAO,CAAC;IA6BnB;;;;;OAKG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IASjE;;;;OAIG;IACG,gBAAgB,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IASnD;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,UAAU;CAqCtG"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAgCH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,4EAA4E;IAC5E,OAAO,EAAE,OAAO,CAAA;IAChB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,0GAA0G;AAC1G,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AA4CD,iEAAiE;AACjE,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;GAOG;AACH,qBAAa,UAAU;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;gBAEd,IAAI,GAAE,iBAAsB;IAiBxC;;;;OAIG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;YAEa,IAAI;YAIJ,OAAO;IAoCrB;;;;;;;;;;;;;;;;;;;OAmBG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IA0D3E;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IASjB;;;;;;;;OAQG;IACG,IAAI,CACR,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,MAAM,SAAK,EACX,SAAS,CAAC,EAAE,OAAO,EACnB,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,OAAO,CAAC;IA6BnB;;;;;OAKG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IASjE;;;;OAIG;IACG,gBAAgB,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IASnD;;;;;OAKG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;IASvF;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,UAAU;CAqCtG"}
package/dist/client.js CHANGED
@@ -56,8 +56,11 @@ const VALID_EVENTS = new Set([
56
56
  'snapshot_stale',
57
57
  'snapshot_invalid',
58
58
  'snapshot_empty',
59
+ 'snapshot_format_newer',
59
60
  'tool_held',
60
61
  'hold_approved_bypass_used',
62
+ // `intutic rollback` writes it; listed so a caller reporting a restore of its own is not dropped.
63
+ 'tool_reverted',
61
64
  ]);
62
65
  /** The hook gate's code for a call whose checks could not run. */
63
66
  const GOVERNANCE_UNAVAILABLE = 'GOVERNANCE_UNAVAILABLE';
@@ -328,6 +331,22 @@ export class GateClient {
328
331
  return null;
329
332
  }
330
333
  }
334
+ /**
335
+ * The session's plan (`GET /api/v1/plans/session/:sessionId`) as Tier R
336
+ * reads it: the HTTP status and body, or a null status when the control
337
+ * plane could not be reached. A local-only client has no plans to read:
338
+ * 404. Never throws.
339
+ */
340
+ async sessionPlan(sessionId) {
341
+ if (this.localOnly)
342
+ return { status: 404, body: null };
343
+ try {
344
+ return { status: 200, body: await this.request('GET', `/api/v1/plans/session/${encodeURIComponent(sessionId)}`, undefined, this.timeoutMs) };
345
+ }
346
+ catch (err) {
347
+ return err instanceof HttpStatusError ? { status: err.status, body: err.body } : { status: null, body: null };
348
+ }
349
+ }
331
350
  /**
332
351
  * Build a client from the environment, falling back to CLI credentials.
333
352
  *
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,269 @@
1
+ /**
2
+ * Decide rules: the grammar, the validator and the semantics.
3
+ *
4
+ * A decide rule asks a self-hosted model a few narrow `yes_no` or `choice`
5
+ * questions about a tool call or a model response, turns each answer's
6
+ * probability into yes, no or unknown through a band, and combines the
7
+ * answers with the rule's `when` expression in Kleene three-valued logic:
8
+ * true refuses, false allows, unknown escalates. It is written as one SOP
9
+ * front-matter line, `decide: {json}`, one rule per line, the way a
10
+ * `hook_rule:` line is.
11
+ *
12
+ * This module is the pure part every layer shares:
13
+ *
14
+ * - {@link parseDecideLine} and {@link validateDecideRule}: the shape and the
15
+ * eight ordered checks, each failure with one fixed reason;
16
+ * - {@link parseWhen} and {@link canonicalWhen}: the `when` grammar and its
17
+ * fully parenthesised form, `!=` and `IN` rewritten;
18
+ * - {@link decideHashInput}: the canonical JSON the rule hash is taken over,
19
+ * which leaves out `id`, `title`, `escalate` and `rollout`;
20
+ * - {@link bandValue}, {@link choiceOrders}, {@link choiceAtoms}, the Kleene
21
+ * connectives, {@link decideRuleOutcome} and {@link decideCallOutcome}.
22
+ *
23
+ * Self-contained (no imports, no module state) so `@intutic/gate` can carry
24
+ * a byte-identical copy (`packages/gate-js/src/decide.ts`). The proxy's port
25
+ * is `packages/proxy/src/decide/mod.rs` and the Python gate's is
26
+ * `intutic_clawde/gate/decide.py`; all of them run
27
+ * `fixtures/decide-vectors.json` and must give the same answer, reason text
28
+ * included. The SHA-256 is passed in ({@link decideRuleHash}), because this
29
+ * file also runs where `node:crypto` does not.
30
+ *
31
+ * @module
32
+ */
33
+ export declare const DECIDE_MAX_QUESTIONS = 8;
34
+ export declare const DECIDE_MAX_OPTIONS = 8;
35
+ export declare const DECIDE_MAX_RULES_PER_CALL = 4;
36
+ export declare const DECIDE_MAX_WHEN_CHARS = 256;
37
+ export declare const DECIDE_MIN_ASK_CHARS = 8;
38
+ export declare const DECIDE_MAX_ASK_CHARS = 300;
39
+ export declare const DECIDE_DEFAULT_BAND: DecideBand;
40
+ /** Appended to every `choice` question's options when absent, and always asked last. */
41
+ export declare const NONE_OF_THESE = "none_of_these";
42
+ /**
43
+ * A question that asks about approval. Approval comes from the harness's ask
44
+ * or the review queue, never from a model reading text, so the validator
45
+ * refuses such a question (check 8). ASCII word boundaries and case folding,
46
+ * as JavaScript, Python's `re.ASCII` and Rust's `(?-u)` all read it.
47
+ */
48
+ export declare const DECIDE_APPROVAL_RE: RegExp;
49
+ export interface DecideBand {
50
+ yes_at: number;
51
+ no_below: number;
52
+ }
53
+ export interface DecideQuestion {
54
+ type: 'yes_no' | 'choice';
55
+ ask: string;
56
+ /** `choice` only, as written; {@link decideOptions} places `none_of_these`. */
57
+ options?: string[];
58
+ band?: DecideBand;
59
+ }
60
+ /** A rule as its front-matter line carries it: the IR without `kind`. */
61
+ export interface DecideRule {
62
+ id: string;
63
+ title?: string;
64
+ on: 'tool_call' | 'response';
65
+ tools?: string[];
66
+ questions: Record<string, DecideQuestion>;
67
+ when: string;
68
+ band?: DecideBand;
69
+ escalate?: 'ask' | 'review' | 'refuse';
70
+ rollout?: 'shadow' | 'enforce';
71
+ context?: Array<'last_user_turn'>;
72
+ }
73
+ /** A parsed `when`, with `!=` and `IN` already rewritten. */
74
+ export type DecideExpr = {
75
+ op: 'yes';
76
+ q: string;
77
+ } | {
78
+ op: 'eq';
79
+ q: string;
80
+ o: string;
81
+ } | {
82
+ op: 'not';
83
+ a: DecideExpr;
84
+ } | {
85
+ op: 'and' | 'or';
86
+ a: DecideExpr;
87
+ b: DecideExpr;
88
+ };
89
+ export type DecideValidation = {
90
+ ok: true;
91
+ rule: DecideRule;
92
+ expr: DecideExpr;
93
+ } | {
94
+ ok: false;
95
+ reason: string;
96
+ };
97
+ /** A `decide:` line, read or not. An unreadable line is kept, never dropped: it refuses what it would have judged. */
98
+ export type DecideDecl = {
99
+ kind: 'rule';
100
+ rule: DecideRule;
101
+ expr: DecideExpr;
102
+ } | {
103
+ kind: 'unreadable';
104
+ id: string | null;
105
+ error: string;
106
+ };
107
+ /** Parse a `when` expression (§3.3 of the decide LLD). Never throws. Names are not checked here; {@link validateDecideRule} does that. */
108
+ export declare function parseWhen(src: string): {
109
+ ok: true;
110
+ expr: DecideExpr;
111
+ } | {
112
+ ok: false;
113
+ message: string;
114
+ column: number;
115
+ };
116
+ /** The canonical form: fully parenthesised, `!=` and `IN` rewritten. `a AND b != o` → `(a AND (NOT (b == o)))`. */
117
+ export declare function canonicalWhen(e: DecideExpr): string;
118
+ /** A `choice` question's options as asked: `none_of_these` appended when absent and moved last when present. */
119
+ export declare function decideOptions(q: DecideQuestion): string[];
120
+ /** The band a question is judged on: its own, else the rule's, else the default. */
121
+ export declare function decideQuestionBand(rule: DecideRule, name: string): DecideBand;
122
+ /**
123
+ * Validate an untrusted value as a decide rule (the line's JSON, without
124
+ * `kind`). Never throws. The shape comes first, then the eight checks in
125
+ * their fixed order; the first failure is the reason. Questions are visited
126
+ * in sorted name order and `when` atoms left to right, so every port reports
127
+ * the same first failure.
128
+ */
129
+ export declare function validateDecideRule(value: unknown): DecideValidation;
130
+ /** The value of one `decide:` line (the text after the key). */
131
+ export declare function parseDecideLine(raw: string): DecideDecl;
132
+ /** Every `decide:` line of one SOP, in order. A line reusing an earlier line's id is unreadable: ids are unique within a SOP. */
133
+ export declare function parseDecideLines(values: readonly string[]): DecideDecl[];
134
+ /**
135
+ * What the rule hash covers: `on`, `tools` (sorted), the questions with
136
+ * their bands made explicit and `none_of_these` placed, `when` in canonical
137
+ * form and `context` (sorted), as canonical JSON. `id`, `title`, `escalate`
138
+ * and `rollout` are left out, so flipping shadow to enforce keeps the rule's
139
+ * evidence, while a changed word, option or band starts it over.
140
+ * `tools` and `context` are `[]` when absent.
141
+ */
142
+ export declare function decideHashInput(rule: DecideRule): string;
143
+ /** `ruleHash`: lower-case hex SHA-256 of {@link decideHashInput}. `sha256Hex` hashes a string's UTF-8 bytes. */
144
+ export declare function decideRuleHash(rule: DecideRule, sha256Hex: (text: string) => string): string;
145
+ /** Kleene's three values: true, false, unknown. */
146
+ export type Tri = 'T' | 'F' | 'U';
147
+ export declare function kAnd(a: Tri, b: Tri): Tri;
148
+ export declare function kOr(a: Tri, b: Tri): Tri;
149
+ export declare function kNot(a: Tri): Tri;
150
+ /** A probability through a band: T at or above `yes_at`, F below `no_below`, U between. */
151
+ export declare function bandValue(p: number, band: DecideBand): Tri;
152
+ /**
153
+ * The orders a `choice` question is asked in, as index lists over its n
154
+ * options: as written and reversed, plus, past three options, the list
155
+ * rotated by half, because reversing leaves the middle in the middle. The
156
+ * order rule of `attributeSops` in the judge cascade.
157
+ */
158
+ export declare function choiceOrders(n: number): number[][];
159
+ export interface ChoiceAtom {
160
+ /** The probability averaged over the orders. */
161
+ p: number;
162
+ /** The largest probability any order gave minus the smallest. */
163
+ spread: number;
164
+ value: Tri;
165
+ }
166
+ /**
167
+ * Each option's atom `q == o` from the per-order probabilities (option name
168
+ * to probability, one map per order; an option a map leaves out is 0). The
169
+ * mean goes through the band; when the orders disagree by more than the
170
+ * band's width the atom is U whatever the mean. No orders at all is U.
171
+ */
172
+ export declare function choiceAtoms(options: readonly string[], perOrder: ReadonlyArray<Readonly<Record<string, number>>>, band: DecideBand): Record<string, ChoiceAtom>;
173
+ /** The atoms a `when` is evaluated over. A missing atom is U. */
174
+ export interface DecideAtoms {
175
+ yes: Record<string, Tri>;
176
+ eq: Record<string, Record<string, Tri>>;
177
+ }
178
+ export declare function evalWhen(e: DecideExpr, atoms: DecideAtoms): Tri;
179
+ /** An engine's answer: `p` = p(yes) for `yes_no`; `perOrder` for `choice`, one option map per order of {@link choiceOrders}. */
180
+ export interface DecideAnswerInput {
181
+ p?: number;
182
+ perOrder?: Array<Record<string, number>>;
183
+ }
184
+ /** A fitted combiner: it replaces `when`, and is judged on its own band. */
185
+ export interface DecideCombiner {
186
+ bias: number;
187
+ weights: Record<string, number>;
188
+ band: DecideBand;
189
+ }
190
+ /**
191
+ * s = σ(bias + Σ w_q · logit(p_q)), summed in sorted question order. A
192
+ * `choice` question enters through the averaged probability of its top
193
+ * option. Null when a weighted
194
+ * question has no answer, which the caller reads as U.
195
+ */
196
+ export declare function combinerScore(rule: DecideRule, answers: Readonly<Record<string, DecideAnswerInput>>, combiner: DecideCombiner): number | null;
197
+ export interface DecideRuleOutcome {
198
+ /** `when`, or the combiner's band value when one is pinned. */
199
+ value: Tri;
200
+ outcome: 'allow' | 'refuse' | 'escalate';
201
+ code: 'DECIDE_REFUSED' | 'DECIDE_ESCALATED' | null;
202
+ /** How an escalation reaches a person: the rule's `escalate`, when it is `ask` or `review`. */
203
+ via: 'ask' | 'review' | null;
204
+ /** The combiner's score, when one decided. */
205
+ score: number | null;
206
+ atoms: DecideAtoms;
207
+ }
208
+ /** The atoms of a validated rule's answers, each question through its own band. */
209
+ export declare function decideAtoms(rule: DecideRule, answers: Readonly<Record<string, DecideAnswerInput>>): DecideAtoms;
210
+ /**
211
+ * One rule's outcome: T refuses (`DECIDE_REFUSED`), F allows, U escalates
212
+ * through `escalate` (default `ask`); `escalate: refuse` refuses with
213
+ * `DECIDE_ESCALATED`. `expr` is the rule's parsed `when`
214
+ * ({@link validateDecideRule} returns it).
215
+ */
216
+ export declare function decideRuleOutcome(rule: DecideRule, expr: DecideExpr, answers: Readonly<Record<string, DecideAnswerInput>>, combiner?: DecideCombiner | null): DecideRuleOutcome;
217
+ export interface DecideCandidate {
218
+ ref: string;
219
+ on: 'tool_call' | 'response';
220
+ tools?: readonly string[];
221
+ /** The effective rollout: `enforce` only when every condition for it holds. */
222
+ effective: 'enforce' | 'shadow';
223
+ }
224
+ export interface DecideSelection<C extends DecideCandidate = DecideCandidate> {
225
+ /** At most {@link DECIDE_MAX_RULES_PER_CALL}, enforce first, then in snapshot order. */
226
+ evaluate: C[];
227
+ /** Shadow rules past the limit: not evaluated, logged. */
228
+ skipped: C[];
229
+ /** Set when an enforce rule is past the limit: the call refuses `GOVERNANCE_UNAVAILABLE` before any engine call. */
230
+ unavailable: string | null;
231
+ }
232
+ /**
233
+ * The rules a tool call asks. `candidates` are in snapshot order (SOP order,
234
+ * then line order). A rule matches when it is `on: tool_call` and names the
235
+ * tool exactly.
236
+ */
237
+ export declare function selectDecideRules<C extends DecideCandidate>(candidates: readonly C[], tool: string): DecideSelection<C>;
238
+ /** One evaluated rule's result. `unavailable`: the engine could not answer (an error, a timeout, a failed canary). */
239
+ export interface DecideRuleResult {
240
+ ref: string;
241
+ effective: 'enforce' | 'shadow';
242
+ outcome: 'allow' | 'refuse' | 'escalate' | 'unavailable';
243
+ code?: 'DECIDE_REFUSED' | 'DECIDE_ESCALATED' | null;
244
+ via?: 'ask' | 'review' | null;
245
+ }
246
+ export interface DecideCallOutcome {
247
+ outcome: 'allow' | 'refuse' | 'escalate';
248
+ code: 'DECIDE_REFUSED' | 'DECIDE_ESCALATED' | 'GOVERNANCE_UNAVAILABLE' | null;
249
+ ruleRef: string | null;
250
+ via: 'ask' | 'review' | null;
251
+ reason: string | null;
252
+ }
253
+ /**
254
+ * The call's outcome from its rules' results, in evaluation order. Only
255
+ * enforce rules count: the first that refuses (or whose engine was
256
+ * unavailable, `GOVERNANCE_UNAVAILABLE`) refuses the call; otherwise the
257
+ * first that escalates escalates it; otherwise the call is allowed. Shadow
258
+ * results never change the call.
259
+ */
260
+ export declare function decideCallOutcome(selection: Pick<DecideSelection, 'unavailable'>, results: readonly DecideRuleResult[]): DecideCallOutcome;
261
+ /**
262
+ * This module as JavaScript source, for the hook gates to embed: every
263
+ * constant, the parser's error class and every function above, in a scope of
264
+ * the gate's choosing. A test holds the list to the functions this file
265
+ * declares. A CommonJS build names an exported constant `exports.X` inside a
266
+ * function; the source defines each as a plain `X`, so that prefix is dropped.
267
+ */
268
+ export declare const DECIDE_JS_SOURCE: string;
269
+ //# sourceMappingURL=decide.d.ts.map