@intutic/gate 2.4.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/gate.js CHANGED
@@ -36,9 +36,20 @@
36
36
  * call through — the hook gates' and the MCP proxy's mechanism, through the
37
37
  * same decisions API. See hold.ts.
38
38
  *
39
+ * Under a chaos run (`intutic chaos run`, which sets `INTUTIC_CHAOS_PLAN` and
40
+ * `INTUTIC_CHAOS_EVENTS`), {@link Gate.guard} reports each call to the run's
41
+ * events file and injects the plan's `tool.error` and
42
+ * `permission.deny_or_delay` faults into a call every tier allowed, exactly
43
+ * as the hook gates do: the same plan decoding and counter files
44
+ * (`chaosGate.ts`, a byte-identical copy of `@intutic/shared-types`'
45
+ * module). A fault refuses with `CHAOS_FAULT`; a held call throws
46
+ * {@link IntuticGateHold} with no `holdId`, until its identical retry is
47
+ * let through or denied.
48
+ *
39
49
  * A1 and A2 are load-bearing and local. Tier B contributes the DLP regexes
40
50
  * and workspace policy from the control plane; whether an unreachable control
41
- * plane blocks is the client's `failClosed` setting (default true).
51
+ * plane, or one whose checks could not run (`GOVERNANCE_UNAVAILABLE`), blocks
52
+ * is the client's `failClosed` setting (default true).
42
53
  *
43
54
  * Tier A3 applies rules written in the SOP register rather than in code. It
44
55
  * runs BEFORE A2 so that a block, when both would fire, is attributed to the
@@ -64,12 +75,16 @@
64
75
  * package's Tier A1 DOES reproduce exactly (the destructive-command and
65
76
  * skill-surface pattern tables, as they would arrive via a real snapshot).
66
77
  */
78
+ import { createHash } from 'node:crypto';
79
+ import * as fs from 'node:fs';
67
80
  import { existsSync, readFileSync } from 'node:fs';
68
81
  import { isDeploy, touchesInfra } from './actions.js';
82
+ import { chaosGateCall, chaosGateDecode } from './chaosGate.js';
69
83
  import { IntuticGateHold, IntuticGateRefusal } from './errors.js';
70
- import { holdMessage, requestHold } from './hold.js';
84
+ import { holdKey, holdMessage, requestHold } from './hold.js';
71
85
  import { tooLargeReason } from './limits.js';
72
86
  import { evaluateMcpAllowlist, evaluateMcpRegistry, mcpSnapshotUnverifiedRefusal } from './mcpRegistryRecord.js';
87
+ import { OPAQUE_REFUSAL_MESSAGE } from './opaqueRefusal.js';
73
88
  import * as imagecheck from './imagecheck.js';
74
89
  import * as snapshot from './snapshot.js';
75
90
  import * as soprules from './soprules.js';
@@ -102,6 +117,9 @@ export class Gate {
102
117
  /** `null` = not fetched yet. A failed fetch caches `[]` so one unreachable
103
118
  * control plane does not add a timeout to every subsequent tool call. */
104
119
  _sopRules = null;
120
+ /** The SOP register said the workspace is OPAQUE (read with its rules). */
121
+ _registerOpaque = false;
122
+ _chaos = null;
105
123
  constructor(cfg = {}, client = null) {
106
124
  this.cfg = resolveConfig(cfg);
107
125
  this.client = client;
@@ -154,7 +172,11 @@ export class Gate {
154
172
  if (this._sopRules === null) {
155
173
  let fetched = null;
156
174
  if (this.client !== null) {
157
- fetched = await soprules.fetchRules(this.client.baseUrl, this.client.apiKey, this.cfg.workspaceId);
175
+ const register = await soprules.fetchRegister(this.client.baseUrl, this.client.apiKey, this.cfg.workspaceId);
176
+ if (register !== null) {
177
+ fetched = register.rules;
178
+ this._registerOpaque = register.opaque;
179
+ }
158
180
  }
159
181
  if (fetched === null) {
160
182
  // Could not read the register. Say so once, then stay quiet — Tier
@@ -167,6 +189,26 @@ export class Gate {
167
189
  }
168
190
  return this._sopRules;
169
191
  }
192
+ /**
193
+ * What the agent is told of a refusal on workspace policy: the reason, or in
194
+ * an OPAQUE workspace (the snapshot's `@intervention_mode` record) the
195
+ * generic sentence, so it cannot learn the rule to route around it. The
196
+ * code is unchanged, and the event is always emitted with the full reason.
197
+ */
198
+ shown(reason) {
199
+ return this.opaque() ? OPAQUE_REFUSAL_MESSAGE : reason;
200
+ }
201
+ /**
202
+ * Whether the workspace is OPAQUE: the policy snapshot's record when there
203
+ * is a snapshot, and the SOP register's `interventionMode` when there is
204
+ * none. Without a snapshot the only tiers that refuse on workspace policy
205
+ * are the register's (A3, which reads the mode with its rules) and the hook
206
+ * gate, which applies the mode itself.
207
+ */
208
+ opaque() {
209
+ const snap = this.getSnapshot();
210
+ return snap.opaque || (snap.state === 'absent' && this._registerOpaque);
211
+ }
170
212
  // ------------------------------------------------------------ emitting
171
213
  async emit(event, tool, reason = '', toolInput, incidentId, filePath) {
172
214
  if (this.client !== null) {
@@ -187,11 +229,73 @@ export class Gate {
187
229
  await this.emit(`snapshot_${snap.state}`, tool, snap.healthMessage);
188
230
  }
189
231
  }
232
+ /** A chaos run's plan, from `INTUTIC_CHAOS_PLAN` and `INTUTIC_CHAOS_EVENTS`, read once. */
233
+ chaos() {
234
+ if (this._chaos === null) {
235
+ const raw = process.env.INTUTIC_CHAOS_PLAN ?? '';
236
+ const events = process.env.INTUTIC_CHAOS_EVENTS ?? '';
237
+ const state = { plan: null, events, error: null };
238
+ if (raw) {
239
+ const decoded = chaosGateDecode(raw);
240
+ if (decoded.error !== null)
241
+ state.error = decoded.error;
242
+ else if (!events)
243
+ state.error = 'INTUTIC_CHAOS_PLAN is set but INTUTIC_CHAOS_EVENTS is not, so nothing the run does could be reported';
244
+ else
245
+ state.plan = decoded.plan;
246
+ }
247
+ this._chaos = state;
248
+ }
249
+ return this._chaos;
250
+ }
251
+ /** Reports one call to a chaos run's events file; returns the fault due on an allowed call. */
252
+ chaosReport(plan, events, toolName, decision, note, policyHit, key) {
253
+ return chaosGateCall(fs, plan, events, { tool: toolName, decision, ruleId: note.ruleId, destructive: note.destructive, policyHit: policyHit || note.policyHit, key }, new Date().toISOString());
254
+ }
190
255
  // --------------------------------------------------------------- guard
191
- /** Throws {@link IntuticGateRefusal} if this call must not run. Resolves to allow. */
256
+ /**
257
+ * Throws {@link IntuticGateRefusal} if this call must not run. Resolves to allow.
258
+ *
259
+ * Under a chaos run's plan, the call is reported to the run's events file
260
+ * whatever the tiers decide, and a call they allowed can still be refused
261
+ * by the fault that is due (`CHAOS_FAULT`, or {@link IntuticGateHold} for
262
+ * a held one). A plan that is set but unreadable refuses every call: an
263
+ * experiment run without the faults it asked for reports a resilience it
264
+ * never measured.
265
+ */
192
266
  async guard(toolName, toolInput) {
193
267
  if (!this.cfg.enforce)
194
268
  return;
269
+ const chaos = this.chaos();
270
+ if (chaos.error !== null) {
271
+ const reason = `${chaos.error} — refusing the call rather than running the experiment without the faults it asked for`;
272
+ await this.emit('tool_blocked', toolName, reason);
273
+ throw new IntuticGateRefusal(reason, 'CHAOS_FAULT');
274
+ }
275
+ if (chaos.plan === null)
276
+ return this.decide(toolName, toolInput, null);
277
+ const note = { ruleId: null, destructive: false, policyHit: false };
278
+ try {
279
+ await this.decide(toolName, toolInput, note);
280
+ }
281
+ catch (err) {
282
+ // A refusal a tier decided is a policy hit; a call too large to read, or
283
+ // a failure that is not a refusal, is not.
284
+ const refusal = err instanceof IntuticGateRefusal;
285
+ this.chaosReport(chaos.plan, chaos.events, toolName, err instanceof IntuticGateHold ? 'hold' : 'deny', note, refusal && err.code !== 'COMMAND_TOO_LARGE', '');
286
+ throw err;
287
+ }
288
+ const { toolNameNormalized, targetHash } = holdKey(toolName, toolInput);
289
+ const key = createHash('sha256').update(`${toolNameNormalized}\0${targetHash}`).digest('hex');
290
+ const fault = this.chaosReport(chaos.plan, chaos.events, toolName, 'allow', note, false, key);
291
+ if (fault === null)
292
+ return;
293
+ if (fault.kind === 'hold')
294
+ throw new IntuticGateHold(fault.reason, undefined);
295
+ throw new IntuticGateRefusal(fault.reason, 'CHAOS_FAULT');
296
+ }
297
+ /** The tiers: throws to refuse, resolves to allow. `note` collects a chaos run's record of the call. */
298
+ async decide(toolName, toolInput, note) {
195
299
  const target = String(toolInput.path ?? toolInput.file_path ?? '');
196
300
  const command = String(toolInput.command ?? '');
197
301
  // ---- Size: refused before any tier reads the call ------------------
@@ -215,9 +319,11 @@ export class Gate {
215
319
  if (sso) {
216
320
  const d = evaluateSsoGroupClearance(sso.policy, toolName, sso.member ? sso.member.ssoGroups : null);
217
321
  if (d.clearance !== 'GRANTED') {
322
+ if (note)
323
+ note.ruleId = d.ruleId;
218
324
  const reason = `${d.reason} [${d.ruleId}]`;
219
325
  await this.emit('tool_blocked', toolName, reason, toolInput);
220
- throw new IntuticGateRefusal(reason, 'SSO_GROUP');
326
+ throw new IntuticGateRefusal(this.shown(reason), 'SSO_GROUP');
221
327
  }
222
328
  }
223
329
  // ---- Tier A1: policy snapshot -------------------------------------
@@ -229,13 +335,24 @@ export class Gate {
229
335
  // copy of the same rule in Tier A3 does not hold it a second time.
230
336
  const approved = new Set();
231
337
  const d = snapshot.evaluate(toolName, target, command, this.getSnapshot(), disabled);
338
+ if (note) {
339
+ if (d.ruleId)
340
+ note.ruleId = d.ruleId;
341
+ // Destructive whether or not a rule decided the call, the escape hatch
342
+ // included: what a chaos run's no_destructive_attempt probe reads.
343
+ const destructive = new snapshot.Snapshot();
344
+ destructive.rules = this.getSnapshot().rules.filter((r) => r.id.startsWith('destructive.'));
345
+ note.destructive = snapshot.evaluate(toolName, target, command, destructive, false).severity !== null;
346
+ }
232
347
  if (d.severity === snapshot.SEV_HOLD) {
233
348
  await this.hold({ id: d.ruleId, reason: d.reason }, toolName, toolInput);
234
349
  approved.add(d.ruleId);
350
+ if (note)
351
+ note.policyHit = true;
235
352
  }
236
353
  else if (d.severity === snapshot.SEV_BLOCK) {
237
354
  await this.emit('tool_blocked', toolName, d.reason, toolInput);
238
- throw new IntuticGateRefusal(d.reason, 'SNAPSHOT');
355
+ throw new IntuticGateRefusal(this.shown(d.reason), 'SNAPSHOT');
239
356
  }
240
357
  if (d.severity === snapshot.SEV_WARN) {
241
358
  await this.emit('tool_flagged', toolName, d.reason, toolInput);
@@ -244,7 +361,7 @@ export class Gate {
244
361
  await this.emit('tool_would_block', toolName, d.reason, toolInput);
245
362
  }
246
363
  // ---- Tier M: the MCP server registry and allowlist ----------------
247
- await this.guardMcp(toolName, toolInput);
364
+ await this.guardMcp(toolName, toolInput, note);
248
365
  // ---- Tier A3: SOP rules authored in the product --------------------
249
366
  //
250
367
  // Runs before A2 on purpose. When both would fire, the block should be
@@ -253,10 +370,13 @@ export class Gate {
253
370
  if (this.cfg.useSopRules && !READ_ONLY_TOOLS.has(toolName)) {
254
371
  const rule = soprules.firstMatch(await this.getSopRules(), toolName, toolInput);
255
372
  if (rule !== null) {
373
+ // The deciding rule's id, or the first that fired when none decides.
374
+ if (note && (rule.action !== soprules.ACTION_WARN || !note.ruleId))
375
+ note.ruleId = `sop.${rule.id}`;
256
376
  const reason = `[sop:${rule.id}] ${rule.reason}`;
257
377
  if (rule.action === soprules.ACTION_BLOCK) {
258
378
  await this.emit('tool_blocked', toolName, reason, toolInput);
259
- throw new IntuticGateRefusal(reason, 'SOP_RULE');
379
+ throw new IntuticGateRefusal(this.shown(reason), 'SOP_RULE');
260
380
  }
261
381
  if (rule.action === soprules.ACTION_APPROVAL) {
262
382
  // Held for a person, under the id the snapshot gives the same rule
@@ -264,6 +384,8 @@ export class Gate {
264
384
  const id = `sop.${rule.id}`;
265
385
  if (!approved.has(id))
266
386
  await this.hold({ id, reason: rule.reason }, toolName, toolInput);
387
+ if (note)
388
+ note.policyHit = true;
267
389
  }
268
390
  else {
269
391
  await this.emit('tool_flagged', toolName, reason, toolInput);
@@ -300,7 +422,7 @@ export class Gate {
300
422
  // The hook gate names the MCP registry's own code when the registry
301
423
  // refused; anything else it refuses is HOOK_GATE.
302
424
  const code = MCP_CODES.has(resp.code ?? '') ? resp.code : 'HOOK_GATE';
303
- throw new IntuticGateRefusal(resp.reason, code, resp.incidentId);
425
+ throw new IntuticGateRefusal(this.shown(resp.reason), code, resp.incidentId);
304
426
  }
305
427
  }
306
428
  if (!READ_ONLY_TOOLS.has(toolName)) {
@@ -313,7 +435,7 @@ export class Gate {
313
435
  * them. An allowlist in `shadow` records the refusal and lets the call on.
314
436
  * A snapshot that failed its integrity check admits no MCP server.
315
437
  */
316
- async guardMcp(toolName, toolInput) {
438
+ async guardMcp(toolName, toolInput, note) {
317
439
  if (!toolName.startsWith('mcp__'))
318
440
  return;
319
441
  const rest = toolName.slice('mcp__'.length);
@@ -324,25 +446,31 @@ export class Gate {
324
446
  const server = rest.slice(0, sep);
325
447
  if (snap.state === 'invalid') {
326
448
  const refusal = mcpSnapshotUnverifiedRefusal(server);
449
+ if (note)
450
+ note.ruleId = refusal.ruleId;
327
451
  const reason = `${refusal.reason} [${refusal.ruleId}]`;
328
452
  await this.emit('tool_blocked', toolName, reason, toolInput);
329
453
  throw new IntuticGateRefusal(reason, refusal.code);
330
454
  }
331
455
  const registry = snap.mcpRegistry ? evaluateMcpRegistry(snap.mcpRegistry, server, rest.slice(sep + 2)) : null;
332
456
  if (registry) {
457
+ if (note)
458
+ note.ruleId = registry.ruleId;
333
459
  const reason = `${registry.reason} [${registry.ruleId}]`;
334
460
  await this.emit('tool_blocked', toolName, reason, toolInput);
335
- throw new IntuticGateRefusal(reason, registry.code);
461
+ throw new IntuticGateRefusal(this.shown(reason), registry.code);
336
462
  }
337
463
  const allowlist = snap.mcpAllowlist ? evaluateMcpAllowlist(snap.mcpAllowlist, server) : null;
338
464
  if (allowlist) {
465
+ if (note && (snap.mcpAllowlist.severity !== 'shadow' || !note.ruleId))
466
+ note.ruleId = allowlist.ruleId;
339
467
  const reason = `${allowlist.reason} [${allowlist.ruleId}]`;
340
468
  if (snap.mcpAllowlist.severity === 'shadow') {
341
469
  await this.emit('tool_would_block', toolName, reason, toolInput);
342
470
  return;
343
471
  }
344
472
  await this.emit('tool_blocked', toolName, reason, toolInput);
345
- throw new IntuticGateRefusal(reason, allowlist.code);
473
+ throw new IntuticGateRefusal(this.shown(reason), allowlist.code);
346
474
  }
347
475
  }
348
476
  /**
@@ -359,7 +487,9 @@ export class Gate {
359
487
  return;
360
488
  }
361
489
  await this.emit('tool_held', toolName, `${rule.reason} [${rule.id}]`, toolInput);
362
- throw new IntuticGateHold(holdMessage(rule.reason, rule.id, outcome), outcome.recorded ? outcome.holdId : undefined);
490
+ // An OPAQUE workspace's hold names the hold, not the rule.
491
+ const opaque = this.opaque();
492
+ throw new IntuticGateHold(holdMessage(opaque ? OPAQUE_REFUSAL_MESSAGE : rule.reason, opaque ? '' : rule.id, outcome), outcome.recorded ? outcome.holdId : undefined);
363
493
  }
364
494
  }
365
495
  /** The refusal codes of the MCP registry and allowlist, which the hook gate may also return. */
package/dist/gate.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"gate.js","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gate.js","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../src/harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;AAGH,OAAO,EAAwB,KAAK,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAA;AAO3E;;;+EAG+E;AAC/E,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,wBAAwB,CAAA;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED;sEACsE;AACtE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CACpC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,+BAAgC,SAAQ,2BAA2B;IAClF,QAAQ,CAAC,gBAAgB,EAAE,2BAA2B,CAAA;IACtD,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAA;CACvC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CACpC;AAED,wEAAwE;AACxE,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG,aAAa,GAAG,WAAW,CAAA;AAE/E;;;;4CAI4C;AAC5C,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAChC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAChC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAChC,CAAA;AAEL;;;oBAGoB;AACpB,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,CAAC,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;CAC1G;AAED,MAAM,WAAW,+BAA+B;IAC9C,4EAA4E;IAC5E,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAahE;AAcD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,GAAE,+BAAoC,GACzC,CAAC,QAAQ,EAAE,SAAS,sBAAsB,EAAE,KAAK,OAAO,CAAC,+BAA+B,EAAE,CAAC,CAgD7F;AAED,MAAM,WAAW,4BAA4B;IAC3C;yEACqE;IACrE,aAAa,EAAE,+BAA+B,EAAE,CAAA;IAChD;;qCAEiC;IACjC,SAAS,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,SAAS,sBAAsB,EAAE,EAC3C,IAAI,GAAE,+BAAoC,GACzC,OAAO,CAAC,4BAA4B,CAAC,CAcvC;AAED,MAAM,WAAW,6BAA6B;IAC5C;;uEAEmE;IACnE,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClD,IAAI,GAAE,6BAAkC,GACvC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,QAAQ,CAAC,CAAC,CAQtD;AAED,MAAM,WAAW,iCAAiC;IAChD;;;;;+BAK2B;IAC3B,cAAc,CAAC,EAAE,aAAa,GAAG,aAAa,CAAA;IAC9C;;2EAEuE;IACvE,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAChC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED;;;;8CAI8C;AAC9C,MAAM,MAAM,wBAAwB,GAChC;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAA;AAEvF,MAAM,WAAW,0BAA0B;IACzC,0CAA0C;IAC1C,cAAc,EAAE,aAAa,GAAG,aAAa,CAAA;IAC7C;;;;;;;OAOG;IACH,aAAa,EAAE,wBAAwB,CAAA;IACvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;CAClC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,GAAE,iCAAsC,GAC3C,0BAA0B,CAgB5B;AA8HD;;;;;2BAK2B;AAC3B,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;IAC/F,YAAY,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAC9F,GAAG,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,WAAW,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAChI;AAED;;2EAE2E;AAC3E,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAA;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;CACnC;AAED,MAAM,WAAW,uBAAuB;IACtC;;;;;;0DAMsD;IACtD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,kFAAkF;IAClF,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,+BAA+B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/E;AAED,MAAM,WAAW,8BAA8B;IAC7C;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B;;;sCAGkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;6DAEyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,iBAAS,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG9D;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,iBAAS,uBAAuB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,SAAK,GAAG,MAAM,CA8NhF;AAED;;;;;GAKG;AACH,iBAAS,2BAA2B,CAAC,qBAAqB,EAAE,MAAM,GAAG,MAAM,CAE1E;AA6ED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,GAAE,8BAAmC,GAAG,uBAAuB,CAkC1G;AAGD,eAAO,MAAM,SAAS;;;;CAAwE,CAAA"}
1
+ {"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../src/harness.ts"],"names":[],"mappings":"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"}
package/dist/harness.js CHANGED
@@ -85,6 +85,7 @@ import { createHash } from 'node:crypto';
85
85
  import { active as activeGate } from './gate.js';
86
86
  import { IntuticGateRefusal } from './errors.js';
87
87
  import { MCP_ALLOWLIST_JS_SOURCE, MCP_REGISTRY_JS_SOURCE, MCP_SNAPSHOT_UNVERIFIED_JS_SOURCE } from './mcpRegistryRecord.js';
88
+ import { INTERVENTION_MODE_RECORD_TAG, OPAQUE_REFUSAL_MESSAGE } from './opaqueRefusal.js';
88
89
  import { PHRASES_JS_SOURCE } from './phrases.js';
89
90
  import { SEQUENCE_JS_SOURCE } from './sequence.js';
90
91
  import { ARGUMENTS_SIZE_LIMIT, COMMAND_SIZE_LIMIT, GATE_DEADLINE_MS, HOOK_TIMEOUT_SECONDS } from './limits.js';
@@ -373,6 +374,9 @@ const crypto = require('crypto');
373
374
 
374
375
  const RULES_PATH = path.join(__dirname, ${JSON.stringify(rulesFileName)});
375
376
  const WORKSPACE_ID = ${JSON.stringify(workspaceId)};
377
+ // What an OPAQUE workspace's agent is told of a refusal on its policy, in place
378
+ // of the rule (opaqueRefusal.ts).
379
+ const OPAQUE_MESSAGE = ${JSON.stringify(OPAQUE_REFUSAL_MESSAGE)};
376
380
 
377
381
  function normalise(v) {
378
382
  const s = v === null || v === undefined ? '' : String(v);
@@ -385,7 +389,9 @@ function stringList(v) {
385
389
 
386
390
  /** The snapshot: its rules, MCP records and whether it verified. */
387
391
  function loadSnapshot() {
388
- const out = { rules: [], state: 'absent', mcpRegistry: null, mcpAllowlist: null };
392
+ // opaque: the @intervention_mode record of an OPAQUE workspace. Kept on a
393
+ // snapshot that fails its check: it only ever hides text.
394
+ const out = { rules: [], state: 'absent', mcpRegistry: null, mcpAllowlist: null, opaque: false };
389
395
  let text;
390
396
  try {
391
397
  text = fs.readFileSync(RULES_PATH, 'utf-8');
@@ -417,6 +423,10 @@ function loadSnapshot() {
417
423
  } catch (e) { /* a damaged record is no registry */ }
418
424
  continue;
419
425
  }
426
+ if (f[0] === '${INTERVENTION_MODE_RECORD_TAG}' && f.length === 2) {
427
+ out.opaque = f[1] === 'OPAQUE';
428
+ continue;
429
+ }
420
430
  if (f[0] === '@mcp_allowlist' && f.length === 3) {
421
431
  out.mcpAllowlist = { severity: f[1] === 'shadow' ? 'shadow' : 'block', servers: f[2].split(',').filter(Boolean) };
422
432
  continue;
@@ -505,7 +515,8 @@ function evaluateMcp(toolName, snap) {
505
515
  const server = rest.slice(0, sep);
506
516
  if (snap.state === 'invalid') {
507
517
  const u = mcpSnapshotUnverifiedRefusal(server);
508
- return { severity: 'block', reason: u.reason + ' [' + u.ruleId + ']', code: u.code };
518
+ // Says nothing about the workspace's policy, so an OPAQUE workspace sees it too.
519
+ return { severity: 'block', reason: u.reason + ' [' + u.ruleId + ']', code: u.code, operational: true };
509
520
  }
510
521
  const r = snap.mcpRegistry ? evaluateMcpRegistry(snap.mcpRegistry, server, rest.slice(sep + 2)) : null;
511
522
  if (r) return { severity: 'block', reason: r.reason + ' [' + r.ruleId + ']', code: r.code };
@@ -553,18 +564,20 @@ process.stdin.on('end', () => {
553
564
  ${GATE_DEADLINE_MS} + ' ms, so the call is refused rather than left to the hook timeout');
554
565
  process.exit(2);
555
566
  }
567
+ // An OPAQUE workspace's agent reads the generic sentence, not the rule.
568
+ const shown = decision && snap.opaque && !decision.operational ? OPAQUE_MESSAGE : decision && decision.reason;
556
569
  if (decision && (decision.severity === 'warn' || decision.severity === 'shadow')) {
557
570
  console.error('[Intutic Guardrail] FLAGGED (' + decision.severity + '): ' + decision.reason);
558
571
  } else if (decision && decision.severity === 'hold') {
559
572
  // A hold asks a person first, and this script cannot reach the control
560
573
  // plane to ask: it refuses, as every gate does with a hold it cannot record.
561
- console.error('[Intutic Guardrail] HELD for approval: ' + decision.reason +
574
+ console.error('[Intutic Guardrail] HELD for approval: ' + shown +
562
575
  ' — approval cannot be requested from inside this sandbox, so the call is refused.');
563
576
  process.exit(2);
564
577
  } else if (decision) {
565
578
  // block, or a severity this script does not know: never an allow. An
566
579
  // MCP refusal names its code, as the other gates' refusals do.
567
- console.error('[Intutic Guardrail] BLOCKED: ' + (decision.code ? decision.code + ': ' : '') + decision.reason);
580
+ console.error('[Intutic Guardrail] BLOCKED: ' + (decision.code ? decision.code + ': ' : '') + shown);
568
581
  process.exit(2);
569
582
  }
570
583
  process.exit(0);
@@ -1 +1 @@
1
- {"version":3,"file":"harness.js","sourceRoot":"","sources":["../src/harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,MAAM,IAAI,UAAU,EAA6B,MAAM,WAAW,CAAA;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,iCAAiC,EAAE,MAAM,wBAAwB,CAAA;AAC3H,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAmG9G;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,IAAI,KAAK,GAAG,KAAK,CAAA;IACjB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAA;QAC1B,CAAC;IACH,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzE,OAAO,KAAkB,CAAA;IAC3B,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAA;AAC1B,CAAC;AAED;;0EAE0E;AAC1E,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAwC,EAAE;IAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,EAAE;QACxB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE,CAAA;QACnC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,8EAA8E;gBAC5E,sFAAsF,CACzF,CAAA;QACH,CAAC;QAED,MAAM,aAAa,GAAsC,EAAE,CAAA;QAC3D,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,QAAQ,GAAG,IAAI,CAAA;YACnB,IAAI,MAA0B,CAAA;YAC9B,IAAI,CAAC;gBACH,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;YAChE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,GAAG,KAAK,CAAA;gBAChB,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;oBACtC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAA;gBACtB,CAAC;qBAAM,CAAC;oBACN,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;oBAC/D,MAAM;wBACJ,+CAA+C,MAAM,4BAA4B;4BACjF,qCAAqC,CAAA;gBACzC,CAAC;YACH,CAAC;YACD,MAAM,gBAAgB,GAAgC;gBACpD,IAAI,EAAE,wBAAwB;gBAC9B,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,QAAQ;gBACR,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,GAAG,CAAC,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1F,CAAA;YACD,aAAa,CAAC,IAAI,CAAC;gBACjB,GAAG,gBAAgB,EAAE,qCAAqC;gBAC1D,gBAAgB,EAAE,qCAAqC;gBACvD,QAAQ,EAAE;oBACR,IAAI,EAAE,WAAW;oBACjB,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;oBAC7B,GAAG,CAAC,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC1F;aACF,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,aAAa,CAAA;IACtB,CAAC,CAAA;AACH,CAAC;AAYD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAA2B,EAC3B,QAA2C,EAC3C,OAAwC,EAAE;IAE1C,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;IACpE,MAAM,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IACxD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;IAC5C,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,MAAM,MAAM,CAAC;YACX,UAAU,EAAE,CAAC,CAAC,gBAAgB,CAAC,UAAU;YACzC,QAAQ,EAAE,CAAC,CAAC,gBAAgB,CAAC,QAAQ;YACrC,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1F,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;AAC3C,CAAC;AASD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAkD,EAClD,OAAsC,EAAE;IAExC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IACvC,MAAM,MAAM,GAA+C,EAAE,CAAA;IAC7D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAA;IAC9D,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAwFD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAA0C,EAAE;IAE5C,MAAM,aAAa,GACjB,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;QAC7D,CAAC,CAAC;YACE,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,iEAAiE;YACjE,kEAAkE;YAClE,WAAW,EAAE,CAAC,oBAAoB,CAAC;SACpC;QACH,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;IAC1B,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,aAAa;QACpD,aAAa;QACb,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,MAAM,CAAU,EAAE,CAAC;KAC3E,CAAA;AACH,CAAC;AAsLD,SAAS,WAAW,CAAC,OAAe,EAAE,QAAgB;IACpD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IACnE,OAAO,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAA;AAC9B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAS,uBAAuB,CAAC,aAAqB,EAAE,WAAW,GAAG,EAAE;IACtE,OAAO;;;;;;;;;;;;;;;;0CAgBiC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;uBAChD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiFhD,iBAAiB;;;;EAIjB,kBAAkB;;;;EAIlB,sBAAsB;;EAEtB,uBAAuB;;EAEvB,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA+DV,kBAAkB,uBAAuB,oBAAoB;;0BAE5D,kBAAkB;gDACI,kBAAkB,MAAM,kBAAkB,MAAM,oBAAoB;;;;;;;;;;;;;;+BAcrF,gBAAgB;;;;;UAKrC,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;CAyBzB,CAAA;AACD,CAAC;AAED;;;;;GAKG;AACH,SAAS,2BAA2B,CAAC,qBAA6B;IAChE,OAAO,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAA;AACrF,CAAC;AAED,SAAS,qBAAqB,CAAC,qBAA6B;IAI1D,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC;QACtC,OAAO;QACP,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,QAAQ,qBAAqB,EAAE;gBACxC,OAAO,EAAE,oBAAoB;gBAC7B,aAAa,EAAE,wDAAwD;aACxE;SACF;KACF,CAAC,CAAA;IACF,OAAO;QACL,WAAW,EAAE,EAAE,IAAI,EAAE,EAAc,EAAE;QACrC,KAAK,EAAE;YACL,UAAU,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;SACrH;KACF,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,KAAK,UAAU,wBAAwB,CACrC,OAA4B,EAC5B,qBAA6B,EAC7B,WAAyB;IAEzB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IAC3G,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IAClC,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACb,kEAAkE,IAAI,CAAC,QAAQ,uBAAuB;YACpG,mCAAmC,CACtC,CAAA;IACH,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAA;IAC1D,MAAM,IAAI,GAAG,qBAAqB,CAAC,qBAAqB,CAAC,CAAA;IACzD,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IAClG,IAAI,MAAM,GAA4B,IAAI,CAAA;IAC1C,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACxD,IAAI,QAAiB,CAAA;QACrB,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,0DAA0D,CAAC,CAAA;QAC7G,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,QAAoC,CAAC,CAAC,CAAC,EAAE,CAAA;QACvI,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAA4B,CAAA;QAC3D,MAAM,UAAU,GAAG,QAAQ,qBAAqB,EAAE,CAAA;QAClD,MAAM,MAAM,GAAG,CAAC,KAAc,EAAW,EAAE,CACzC,KAAK,CAAC,OAAO,CAAE,KAAoC,EAAE,KAAK,CAAC;YAC3D,CAAE,KAA8B,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAkC,EAAE,OAAO,KAAK,UAAU,CAAC,CAAA;QAClH,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QACxG,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,EAAE,CAAA;IAC3F,CAAC;IACD,MAAM,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;AACxF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAuC,EAAE;IAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,gBAAgB,CAAA;IAC1D,MAAM,YAAY,GAAG,GAAG,YAAY,wBAAwB,CAAA;IAC5D,MAAM,aAAa,GAAG,GAAG,YAAY,uBAAuB,CAAA;IAE5D,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAA;IACnD,MAAM,aAAa,GAAG,uBAAuB,CAAC,uBAAuB,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAA;IAE9F,oEAAoE;IACpE,0EAA0E;IAC1E,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,CAAC;SACvC,MAAM,CAAC,aAAa,IAAI,CAAC,WAAW,IAAI,EAAE,GAAG,CAAC;SAC9C,MAAM,CAAC,GAAG,YAAY,OAAO,YAAY,OAAO,aAAa,OAAO,aAAa,EAAE,CAAC;SACpF,MAAM,CAAC,KAAK,CAAC,CAAA;IAEhB,OAAO;QACL,aAAa;QACb,WAAW,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE;YACvD,8DAA8D;YAC9D,+DAA+D;YAC/D,sEAAsE;YACtE,oEAAoE;YACpE,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;YACzD,MAAM,KAAK,GAAqD;gBAC9D,EAAE,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE;gBACnE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE;gBAC/C,EAAE,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE,uBAAuB,CAAC,EAAE,OAAO,EAAE,2BAA2B,CAAC,aAAa,CAAC,EAAE;aAC7G,CAAA;YACD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,MAAM,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;YACnE,CAAC;YACD,MAAM,wBAAwB,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC,CAAA;QACrE,CAAC;KACF,CAAA;AACH,CAAC;AAED,6EAA6E;AAC7E,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"harness.js","sourceRoot":"","sources":["../src/harness.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hold.d.ts","sourceRoot":"","sources":["../src/hold.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAK7C,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAA;AAEvD,sFAAsF;AACtF,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CASpD;AAED,wEAAwE;AACxE,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG;IAAE,kBAAkB,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAKhH;AAMD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAetH;AAYD;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACpC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,WAAW,CAAC,CAoBtB"}
1
+ {"version":3,"file":"hold.d.ts","sourceRoot":"","sources":["../src/hold.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAK7C,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAA;AAEvD,sFAAsF;AACtF,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CASpD;AAED,wEAAwE;AACxE,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG;IAAE,kBAAkB,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAKhH;AAMD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAkBtH;AAYD;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACpC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,WAAW,CAAC,CAoBtB"}
package/dist/hold.js CHANGED
@@ -63,12 +63,15 @@ function newHoldId() {
63
63
  * default settings.
64
64
  */
65
65
  export function holdMessage(ruleReason, ruleId, outcome) {
66
+ // An empty rule id names no rule: an OPAQUE workspace's hold, whose reason
67
+ // is the generic sentence (opaqueRefusal.ts).
68
+ const named = ruleId ? `${ruleReason} [${ruleId}]` : ruleReason;
66
69
  if (!outcome.recorded) {
67
- return (`HELD for approval: ${ruleReason} [${ruleId}], but the hold could not be recorded ` +
70
+ return (`HELD for approval: ${named}, but the hold could not be recorded ` +
68
71
  `(Intutic control plane unreachable), so there is nothing to approve yet. Do not retry ` +
69
72
  `until the control plane is reachable; the retry then asks for approval.`);
70
73
  }
71
- return (`HELD for approval: ${ruleReason} [${ruleId}]. Hold id: ${outcome.holdId}. ` +
74
+ return (`HELD for approval: ${named}. Hold id: ${outcome.holdId}. ` +
72
75
  `An owner, admin or engineering manager can approve it with: intutic decision approve ` +
73
76
  `${outcome.holdId} (or reject it), or from the Slack card. Retry this exact call after ` +
74
77
  `approval only if the workspace's review-hold bypass (reviewHoldBypassEnabled) is on; ` +
package/dist/hold.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hold.js","sourceRoot":"","sources":["../src/hold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hold.js","sourceRoot":"","sources":["../src/hold.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -24,8 +24,8 @@ export { Snapshot, evaluate, guardDisabledFromEnv, loadSnapshot, snapshotPath, S
24
24
  export type { Decision, Rule, RuleSubject, Severity, SnapshotState } from './snapshot.js';
25
25
  export type { SsoGroupClearance, SsoGroupPolicy, SsoGroupRecord } from './ssoGroups.js';
26
26
  export type { McpAllowlistRecord, McpRegistryRecord } from './mcpRegistryRecord.js';
27
- export { firstMatch, parseRules, ruleMatches, serialiseToolInput, supportsArgPatterns, fetchRules, ACTION_BLOCK, ACTION_WARN, ACTION_APPROVAL, } from './soprules.js';
28
- export type { SopRule } from './soprules.js';
27
+ export { firstMatch, parseRules, ruleMatches, serialiseToolInput, supportsArgPatterns, fetchRules, fetchRegister, parseRegister, ACTION_BLOCK, ACTION_WARN, ACTION_APPROVAL, } from './soprules.js';
28
+ export type { SopRegister, SopRule } from './soprules.js';
29
29
  export { wrapTool, wrapTools } from './wrapTools.js';
30
30
  export type { AnyFn, ExecutableTool, WrapToolOptions } from './wrapTools.js';
31
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEvE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAElE,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACrH,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE/D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAExF,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,YAAY,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAEzD,OAAO,EACL,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,QAAQ,EACR,wBAAwB,EACxB,aAAa,EACb,aAAa,GACd,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAEvG,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,UAAU,EACV,QAAQ,GACT,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAEzF,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEvF,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAEnF,OAAO,EACL,UAAU,EACV,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,eAAe,GAChB,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAE5C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACpD,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEvE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAElE,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACrH,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE/D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAExF,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,YAAY,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAEzD,OAAO,EACL,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,QAAQ,EACR,wBAAwB,EACxB,aAAa,EACb,aAAa,GACd,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAEvG,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,UAAU,EACV,QAAQ,GACT,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAEzF,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEvF,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAEnF,OAAO,EACL,UAAU,EACV,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACZ,WAAW,EACX,eAAe,GAChB,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEzD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACpD,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA"}
package/dist/index.js CHANGED
@@ -16,6 +16,6 @@ export { Gate, READ_ONLY_TOOLS, install, active } from './gate.js';
16
16
  export { intuticHeaders } from './headers.js';
17
17
  export { checkCommand, checkImages, checkWrittenManifest, isDeployCommand, isPinned, manifestPathsFromCommand, parseImageRef, verdictReason, } from './imagecheck.js';
18
18
  export { Snapshot, evaluate, guardDisabledFromEnv, loadSnapshot, snapshotPath, SEV_BLOCK, SEV_HOLD, SEV_SHADOW, SEV_WARN, } from './snapshot.js';
19
- export { firstMatch, parseRules, ruleMatches, serialiseToolInput, supportsArgPatterns, fetchRules, ACTION_BLOCK, ACTION_WARN, ACTION_APPROVAL, } from './soprules.js';
19
+ export { firstMatch, parseRules, ruleMatches, serialiseToolInput, supportsArgPatterns, fetchRules, fetchRegister, parseRegister, ACTION_BLOCK, ACTION_WARN, ACTION_APPROVAL, } from './soprules.js';
20
20
  export { wrapTool, wrapTools } from './wrapTools.js';
21
21
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEvE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAGrH,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE/D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAExF,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAGlE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAG7C,OAAO,EACL,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,QAAQ,EACR,wBAAwB,EACxB,aAAa,EACb,aAAa,GACd,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,UAAU,EACV,QAAQ,GACT,MAAM,eAAe,CAAA;AAOtB,OAAO,EACL,UAAU,EACV,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,eAAe,GAChB,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEvE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAGrH,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE/D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAExF,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAGlE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAG7C,OAAO,EACL,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,QAAQ,EACR,wBAAwB,EACxB,aAAa,EACb,aAAa,GACd,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,UAAU,EACV,QAAQ,GACT,MAAM,eAAe,CAAA;AAOtB,OAAO,EACL,UAAU,EACV,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACZ,WAAW,EACX,eAAe,GAChB,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA"}