@intutic/shared-types 2.2.0 → 2.4.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 (202) hide show
  1. package/dist/anomaly.d.ts +6 -10
  2. package/dist/anomaly.d.ts.map +1 -1
  3. package/dist/anomaly.js +0 -2
  4. package/dist/anomaly.js.map +1 -1
  5. package/dist/api-contracts.d.ts +1 -1
  6. package/dist/api-contracts.js +1 -1
  7. package/dist/attenuation.d.ts +1 -1
  8. package/dist/attenuation.js +1 -1
  9. package/dist/auth.d.ts +116 -9
  10. package/dist/auth.d.ts.map +1 -1
  11. package/dist/auth.js +20 -5
  12. package/dist/auth.js.map +1 -1
  13. package/dist/billing.d.ts +1 -1
  14. package/dist/billing.js +1 -1
  15. package/dist/cloudProbe.d.ts +54 -0
  16. package/dist/cloudProbe.d.ts.map +1 -0
  17. package/dist/cloudProbe.js +254 -0
  18. package/dist/cloudProbe.js.map +1 -0
  19. package/dist/destructiveSql.d.ts +48 -0
  20. package/dist/destructiveSql.d.ts.map +1 -0
  21. package/dist/destructiveSql.js +43 -0
  22. package/dist/destructiveSql.js.map +1 -0
  23. package/dist/devInventory.d.ts +120 -0
  24. package/dist/devInventory.d.ts.map +1 -0
  25. package/dist/devInventory.js +80 -0
  26. package/dist/devInventory.js.map +1 -0
  27. package/dist/enums.d.ts +66 -21
  28. package/dist/enums.d.ts.map +1 -1
  29. package/dist/enums.js +55 -31
  30. package/dist/enums.js.map +1 -1
  31. package/dist/errors.js +3 -3
  32. package/dist/errors.js.map +1 -1
  33. package/dist/finops.d.ts +52 -2
  34. package/dist/finops.d.ts.map +1 -1
  35. package/dist/finops.js +15 -1
  36. package/dist/finops.js.map +1 -1
  37. package/dist/gateDecisions.d.ts +18 -0
  38. package/dist/gateDecisions.d.ts.map +1 -0
  39. package/dist/gateDecisions.js +20 -0
  40. package/dist/gateDecisions.js.map +1 -0
  41. package/dist/gateIdentity.d.ts +23 -0
  42. package/dist/gateIdentity.d.ts.map +1 -0
  43. package/dist/gateIdentity.js +32 -0
  44. package/dist/gateIdentity.js.map +1 -0
  45. package/dist/gateKind.d.ts +172 -0
  46. package/dist/gateKind.d.ts.map +1 -0
  47. package/dist/gateKind.js +160 -0
  48. package/dist/gateKind.js.map +1 -0
  49. package/dist/gateLimits.d.ts +170 -0
  50. package/dist/gateLimits.d.ts.map +1 -0
  51. package/dist/gateLimits.js +96 -0
  52. package/dist/gateLimits.js.map +1 -0
  53. package/dist/gitRemote.d.ts +17 -0
  54. package/dist/gitRemote.d.ts.map +1 -0
  55. package/dist/gitRemote.js +71 -0
  56. package/dist/gitRemote.js.map +1 -0
  57. package/dist/governanceCoverage.d.ts +1 -1
  58. package/dist/governanceCoverage.js +1 -1
  59. package/dist/guardrailIr.d.ts +9 -9
  60. package/dist/guardrailIr.d.ts.map +1 -1
  61. package/dist/guardrailIr.js +3 -3
  62. package/dist/guardrailIr.js.map +1 -1
  63. package/dist/guardrailRender.d.ts +1 -1
  64. package/dist/guardrailRender.js +1 -1
  65. package/dist/harnessRules.d.ts +74 -0
  66. package/dist/harnessRules.d.ts.map +1 -0
  67. package/dist/harnessRules.js +142 -0
  68. package/dist/harnessRules.js.map +1 -0
  69. package/dist/holdMessages.d.ts +25 -0
  70. package/dist/holdMessages.d.ts.map +1 -0
  71. package/dist/holdMessages.js +34 -0
  72. package/dist/holdMessages.js.map +1 -0
  73. package/dist/identity.d.ts +1 -1
  74. package/dist/identity.js +2 -2
  75. package/dist/identity.js.map +1 -1
  76. package/dist/index.d.ts +42 -9
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.js +161 -10
  79. package/dist/index.js.map +1 -1
  80. package/dist/intelligence.d.ts +1 -1
  81. package/dist/mcpBudgets.d.ts +191 -0
  82. package/dist/mcpBudgets.d.ts.map +1 -0
  83. package/dist/mcpBudgets.js +144 -0
  84. package/dist/mcpBudgets.js.map +1 -0
  85. package/dist/mcpRegistryRecord.d.ts +143 -0
  86. package/dist/mcpRegistryRecord.d.ts.map +1 -0
  87. package/dist/mcpRegistryRecord.js +229 -0
  88. package/dist/mcpRegistryRecord.js.map +1 -0
  89. package/dist/mcpToolRisk.d.ts +82 -0
  90. package/dist/mcpToolRisk.d.ts.map +1 -0
  91. package/dist/mcpToolRisk.js +334 -0
  92. package/dist/mcpToolRisk.js.map +1 -0
  93. package/dist/modelCatalog.d.ts +2 -2
  94. package/dist/modelCatalog.generated.js +1 -1
  95. package/dist/modelCatalog.generated.js.map +1 -1
  96. package/dist/modelCatalog.js +2 -2
  97. package/dist/notifications.d.ts +24 -151
  98. package/dist/notifications.d.ts.map +1 -1
  99. package/dist/notifications.js +266 -1
  100. package/dist/notifications.js.map +1 -1
  101. package/dist/phrases.d.ts +87 -0
  102. package/dist/phrases.d.ts.map +1 -0
  103. package/dist/phrases.js +241 -0
  104. package/dist/phrases.js.map +1 -0
  105. package/dist/piiDetectors.d.ts +97 -0
  106. package/dist/piiDetectors.d.ts.map +1 -0
  107. package/dist/piiDetectors.js +96 -0
  108. package/dist/piiDetectors.js.map +1 -0
  109. package/dist/piiDetectors.json +71 -0
  110. package/dist/policy.d.ts +1 -1
  111. package/dist/policy.js +1 -1
  112. package/dist/policyGuardrails.d.ts +127 -10
  113. package/dist/policyGuardrails.d.ts.map +1 -1
  114. package/dist/policyGuardrails.js +59 -6
  115. package/dist/policyGuardrails.js.map +1 -1
  116. package/dist/posturePresets.js +1 -1
  117. package/dist/posturePresets.js.map +1 -1
  118. package/dist/providerVerification.d.ts +36 -10
  119. package/dist/providerVerification.d.ts.map +1 -1
  120. package/dist/providerVerification.js +80 -20
  121. package/dist/providerVerification.js.map +1 -1
  122. package/dist/providers.d.ts +54 -17
  123. package/dist/providers.d.ts.map +1 -1
  124. package/dist/providers.js +135 -26
  125. package/dist/providers.js.map +1 -1
  126. package/dist/regoBuiltins.d.ts +42 -0
  127. package/dist/regoBuiltins.d.ts.map +1 -0
  128. package/dist/regoBuiltins.js +732 -0
  129. package/dist/regoBuiltins.js.map +1 -0
  130. package/dist/regoRules.d.ts +105 -0
  131. package/dist/regoRules.d.ts.map +1 -0
  132. package/dist/regoRules.js +407 -0
  133. package/dist/regoRules.js.map +1 -0
  134. package/dist/ruleLoadFailures.d.ts +15 -0
  135. package/dist/ruleLoadFailures.d.ts.map +1 -0
  136. package/dist/ruleLoadFailures.js +26 -0
  137. package/dist/ruleLoadFailures.js.map +1 -0
  138. package/dist/scriptScan.d.ts +5 -5
  139. package/dist/scriptScan.js +3 -3
  140. package/dist/sequence.d.ts +52 -0
  141. package/dist/sequence.d.ts.map +1 -0
  142. package/dist/sequence.js +127 -0
  143. package/dist/sequence.js.map +1 -0
  144. package/dist/session.d.ts +1 -1
  145. package/dist/session.js +1 -1
  146. package/dist/skillScan.d.ts +3 -3
  147. package/dist/skillScan.d.ts.map +1 -1
  148. package/dist/skillScan.js +26 -4
  149. package/dist/skillScan.js.map +1 -1
  150. package/dist/sop.d.ts +5 -5
  151. package/dist/sop.js +2 -2
  152. package/dist/sourceProviders.d.ts +1 -8
  153. package/dist/sourceProviders.d.ts.map +1 -1
  154. package/dist/sourceProviders.js +2 -9
  155. package/dist/sourceProviders.js.map +1 -1
  156. package/dist/spendBudgets.d.ts +122 -0
  157. package/dist/spendBudgets.d.ts.map +1 -0
  158. package/dist/spendBudgets.js +92 -0
  159. package/dist/spendBudgets.js.map +1 -0
  160. package/dist/ssoGroupClearance.d.ts +18 -2
  161. package/dist/ssoGroupClearance.d.ts.map +1 -1
  162. package/dist/ssoGroupClearance.js +43 -4
  163. package/dist/ssoGroupClearance.js.map +1 -1
  164. package/dist/sync.d.ts +0 -1
  165. package/dist/sync.d.ts.map +1 -1
  166. package/dist/sync.js +0 -1
  167. package/dist/sync.js.map +1 -1
  168. package/dist/taskManagement.d.ts +0 -2
  169. package/dist/taskManagement.d.ts.map +1 -1
  170. package/dist/taskManagement.js +0 -2
  171. package/dist/taskManagement.js.map +1 -1
  172. package/dist/toolPoison.d.ts +33 -0
  173. package/dist/toolPoison.d.ts.map +1 -0
  174. package/dist/toolPoison.js +85 -0
  175. package/dist/toolPoison.js.map +1 -0
  176. package/dist/upstreamRetry.d.ts +121 -0
  177. package/dist/upstreamRetry.d.ts.map +1 -0
  178. package/dist/upstreamRetry.js +90 -0
  179. package/dist/upstreamRetry.js.map +1 -0
  180. package/dist/usage.d.ts +186 -0
  181. package/dist/usage.d.ts.map +1 -1
  182. package/dist/wasmBinary.d.ts +25 -0
  183. package/dist/wasmBinary.d.ts.map +1 -0
  184. package/dist/wasmBinary.js +111 -0
  185. package/dist/wasmBinary.js.map +1 -0
  186. package/dist/wasmFuel.d.ts +52 -0
  187. package/dist/wasmFuel.d.ts.map +1 -0
  188. package/dist/wasmFuel.js +320 -0
  189. package/dist/wasmFuel.js.map +1 -0
  190. package/dist/wasmMemoryCap.d.ts +21 -0
  191. package/dist/wasmMemoryCap.d.ts.map +1 -0
  192. package/dist/wasmMemoryCap.js +58 -0
  193. package/dist/wasmMemoryCap.js.map +1 -0
  194. package/dist/wasmRuleDescriptor.d.ts +43 -0
  195. package/dist/wasmRuleDescriptor.d.ts.map +1 -0
  196. package/dist/wasmRuleDescriptor.js +65 -0
  197. package/dist/wasmRuleDescriptor.js.map +1 -0
  198. package/dist/workspaceSettings.d.ts +95 -17
  199. package/dist/workspaceSettings.d.ts.map +1 -1
  200. package/dist/workspaceSettings.js +2 -1
  201. package/dist/workspaceSettings.js.map +1 -1
  202. package/package.json +2 -2
@@ -0,0 +1,170 @@
1
+ /**
2
+ * How much a gate will evaluate, and for how long, before it refuses.
3
+ *
4
+ * Most harnesses treat a hook that runs past its timeout as having allowed
5
+ * the call (see {@link HOOK_GATE_TIMEOUTS}), so a gate that is slow on a
6
+ * crafted call is no gate. Two bounds keep every gate inside its harness's
7
+ * timeout:
8
+ *
9
+ * - **Size.** A command over {@link COMMAND_SIZE_LIMIT} bytes, or tool
10
+ * arguments over {@link ARGUMENTS_SIZE_LIMIT} bytes (serialized as compact
11
+ * JSON), are refused as `COMMAND_TOO_LARGE` before any rule runs. The limits
12
+ * come from 85,314 tool calls in real coding-agent transcripts: the largest
13
+ * shell command was 38.5 KB (99.9th percentile 13 KB), the largest file
14
+ * write 120 KB, the largest arguments of any tool 418 KB (a plan). So the
15
+ * command limit is six times the largest seen and the arguments limit more
16
+ * than twice.
17
+ * - **Time.** Each hook gate stops at {@link gateDeadlineMs} for its harness
18
+ * after it starts and refuses with a `GATE_DEADLINE` reason. Every built-in
19
+ * rule is linear in the text (sequence.ts, the phrase matcher,
20
+ * regexLinearity.ts in the sync daemon), so only a workspace's own WHERE
21
+ * patterns can get there.
22
+ *
23
+ * Sizes are UTF-8 bytes, which every gate can count the same way.
24
+ *
25
+ * @module
26
+ */
27
+ /** The largest shell command, in UTF-8 bytes, a gate evaluates. */
28
+ export declare const COMMAND_SIZE_LIMIT: number;
29
+ /** The largest tool arguments, in UTF-8 bytes of compact JSON, a gate evaluates. */
30
+ export declare const ARGUMENTS_SIZE_LIMIT: number;
31
+ /**
32
+ * The timeout `intutic connect` sets on a gate's hook entry, in seconds,
33
+ * wherever the harness has a key for one. Harness defaults run from 30 s to
34
+ * 600 s; 10 s keeps a stalled gate from holding the agent for minutes, and is
35
+ * also the longest any gate runs where the harness sets no limit at all.
36
+ */
37
+ export declare const HOOK_TIMEOUT_SECONDS = 10;
38
+ /**
39
+ * How far below its harness's hook timeout a gate refuses.
40
+ *
41
+ * The harness starts its clock when it spawns the hook; the gate starts its
42
+ * own once its interpreter is running (Node's `process.uptime()`, the bash
43
+ * gate's watchdog), and once its deadline fires it still has to stop its
44
+ * children, write the refusal and the audit line, and exit, and the harness
45
+ * has to read the exit. On a 14-core machine running every package's test
46
+ * suite beside 100 busy threads (load average near 190), a gate's refusal
47
+ * reached the harness at most 260 ms after its deadline, Node and bash alike.
48
+ * One second is nearly four times that.
49
+ */
50
+ export declare const GATE_DEADLINE_MARGIN_MS = 1000;
51
+ /** Who decides the timeout a harness applies to its gate. */
52
+ export type HookTimeoutSetBy =
53
+ /** `intutic connect` writes it into the hook entry. */
54
+ 'connect'
55
+ /** The harness's own value, which no setting changes. */
56
+ | 'harness'
57
+ /** The harness documents none, so the gate assumes the shortest default of any documented harness that runs a call whose hook timed out: Grok Build's 5 s. */
58
+ | 'undocumented'
59
+ /** The gate runs in the harness's process, which waits for it without a limit. */
60
+ | 'none';
61
+ /** The timeout a harness applies to its hook gate. */
62
+ export interface HookGateTimeout {
63
+ /** In milliseconds; null when the harness waits without a limit. */
64
+ readonly timeoutMs: number | null;
65
+ readonly setBy: HookTimeoutSetBy;
66
+ /** Where the value comes from. */
67
+ readonly source: string;
68
+ }
69
+ /**
70
+ * The hook timeout each harness applies to its gate, keyed by the harness id
71
+ * the gate is emitted for. The one source every gate's deadline is derived
72
+ * from: the writers set the timeouts marked `connect` from here, and a test
73
+ * reads each written hook entry back against it.
74
+ */
75
+ export declare const HOOK_GATE_TIMEOUTS: {
76
+ readonly 'claude-code': {
77
+ readonly timeoutMs: number;
78
+ readonly setBy: "connect";
79
+ readonly source: "`timeout` (seconds) on the hook entry in .claude/settings.json; default 600 s, a call whose hook times out runs (code.claude.com/docs/en/hooks)";
80
+ };
81
+ readonly cursor: {
82
+ readonly timeoutMs: number;
83
+ readonly setBy: "connect";
84
+ readonly source: "`timeout` (seconds) on the hooks.json entry, beside `failClosed: true`; default not stated (cursor.com/docs/agent/hooks)";
85
+ };
86
+ readonly windsurf: {
87
+ readonly timeoutMs: 5000;
88
+ readonly setBy: "undocumented";
89
+ readonly source: "hooks.json entries have no timeout key and Windsurf documents no timeout; any exit but 2 runs the call (docs.devin.ai/desktop/cascade/hooks)";
90
+ };
91
+ readonly codex: {
92
+ readonly timeoutMs: number;
93
+ readonly setBy: "connect";
94
+ readonly source: "`timeout` (seconds) on the hooks.json entry; default 600 s (Codex hooks documentation)";
95
+ };
96
+ readonly 'muse-code': {
97
+ readonly timeoutMs: 5000;
98
+ readonly setBy: "undocumented";
99
+ readonly source: "Muse Code documents no hook timeout and no key for one (dev.meta.ai/docs/muse-code)";
100
+ };
101
+ readonly 'github-copilot': {
102
+ readonly timeoutMs: number;
103
+ readonly setBy: "connect";
104
+ readonly source: "`timeout` (seconds) on the hook entry, the Copilot CLI's alias for `timeoutSec` and VS Code's key; default 30 s, a call whose hook times out runs (docs.github.com/en/copilot/reference/hooks-configuration)";
105
+ };
106
+ readonly cline: {
107
+ readonly timeoutMs: 30000;
108
+ readonly setBy: "harness";
109
+ readonly source: "HOOK_EXECUTION_TIMEOUT_MS = 30000 in Cline's hook-factory.ts, not configurable; a call whose hook times out runs";
110
+ };
111
+ readonly grok: {
112
+ readonly timeoutMs: number;
113
+ readonly setBy: "connect";
114
+ readonly source: "`timeout` (seconds) on the hook entry; default 5 s, no stated maximum, a call whose hook times out runs (docs.x.ai/build/features/hooks)";
115
+ };
116
+ readonly antigravity: {
117
+ readonly timeoutMs: number;
118
+ readonly setBy: "connect";
119
+ readonly source: "`timeout` (seconds) on the PreToolUse handler in ~/.gemini/config/hooks.json; default 30 s (antigravity.google/docs/hooks)";
120
+ };
121
+ readonly 'gemini-cli': {
122
+ readonly timeoutMs: number;
123
+ readonly setBy: "connect";
124
+ readonly source: "`timeout` (milliseconds) on the BeforeTool hook in ~/.gemini/settings.json; default 60 000 (geminicli.com/docs/hooks/reference)";
125
+ };
126
+ readonly goose: {
127
+ readonly timeoutMs: number;
128
+ readonly setBy: "connect";
129
+ readonly source: "`timeout` (seconds) beside `on_failure: \"block\"` in the plugin's hooks.json; default 30 s (goose hooks guide)";
130
+ };
131
+ readonly openhands: {
132
+ readonly timeoutMs: number;
133
+ readonly setBy: "connect";
134
+ readonly source: "`timeout` (seconds) in .openhands/hooks.json; default 60 s, a call whose hook times out runs (openhands-sdk hooks/config.py)";
135
+ };
136
+ readonly hermes: {
137
+ readonly timeoutMs: number;
138
+ readonly setBy: "connect";
139
+ readonly source: "`timeout` (seconds) beside `fail_closed: true` in ~/.hermes/config.yaml; default 60 s, at most 300 s (hermes-agent shell_hooks.py)";
140
+ };
141
+ readonly openclaw: {
142
+ readonly timeoutMs: number;
143
+ readonly setBy: "connect";
144
+ readonly source: "`timeoutMs` on the before_tool_call registration; default 15 s, a timeout blocks the call but cannot interrupt the handler (OpenClaw docs/plugins/hooks/reference.md)";
145
+ };
146
+ readonly pi: {
147
+ readonly timeoutMs: null;
148
+ readonly setBy: "none";
149
+ readonly source: "Pi awaits an extension's tool_call handler without a limit (core/extensions/runner.ts)";
150
+ };
151
+ readonly opencode: {
152
+ readonly timeoutMs: null;
153
+ readonly setBy: "none";
154
+ readonly source: "OpenCode awaits a plugin's tool.execute.before without a limit (packages/opencode/src/plugin/index.ts)";
155
+ };
156
+ };
157
+ /** A harness that runs a hook gate. */
158
+ export type HookGateHarness = keyof typeof HOOK_GATE_TIMEOUTS;
159
+ /**
160
+ * How long a harness's hook gate may decide, from its start, before it
161
+ * refuses with `GATE_DEADLINE`: {@link GATE_DEADLINE_MARGIN_MS} under the
162
+ * harness's timeout, and never longer than {@link HOOK_TIMEOUT_SECONDS} minus
163
+ * that margin, so a gate the harness waits on for 30 s or without limit still
164
+ * answers as promptly as one connect set a timeout for. On the loaded machine
165
+ * above, a call at the size limits took the bash gates at most 4.6 s and the
166
+ * JavaScript gates at most 1.2 s; every 4 s deadline is a JavaScript gate's.
167
+ * Only a workspace's own pathological WHERE pattern runs this long.
168
+ */
169
+ export declare function gateDeadlineMs(harness: HookGateHarness): number;
170
+ //# sourceMappingURL=gateLimits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateLimits.d.ts","sourceRoot":"","sources":["../src/gateLimits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,mEAAmE;AACnE,eAAO,MAAM,kBAAkB,QAAa,CAAA;AAE5C,oFAAoF;AACpF,eAAO,MAAM,oBAAoB,QAAc,CAAA;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAA;AAEtC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,OAAO,CAAA;AAE3C,6DAA6D;AAC7D,MAAM,MAAM,gBAAgB;AAC1B,uDAAuD;AACrD,SAAS;AACX,yDAAyD;GACvD,SAAS;AACX,8JAA8J;GAC5J,cAAc;AAChB,kFAAkF;GAChF,MAAM,CAAA;AAEV,sDAAsD;AACtD,MAAM,WAAW,eAAe;IAC9B,oEAAoE;IACpE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAA;IAChC,kCAAkC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAMD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBqB,CAAA;AAEpD,uCAAuC;AACvC,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,kBAAkB,CAAA;AAE7D;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAG/D"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ /**
3
+ * How much a gate will evaluate, and for how long, before it refuses.
4
+ *
5
+ * Most harnesses treat a hook that runs past its timeout as having allowed
6
+ * the call (see {@link HOOK_GATE_TIMEOUTS}), so a gate that is slow on a
7
+ * crafted call is no gate. Two bounds keep every gate inside its harness's
8
+ * timeout:
9
+ *
10
+ * - **Size.** A command over {@link COMMAND_SIZE_LIMIT} bytes, or tool
11
+ * arguments over {@link ARGUMENTS_SIZE_LIMIT} bytes (serialized as compact
12
+ * JSON), are refused as `COMMAND_TOO_LARGE` before any rule runs. The limits
13
+ * come from 85,314 tool calls in real coding-agent transcripts: the largest
14
+ * shell command was 38.5 KB (99.9th percentile 13 KB), the largest file
15
+ * write 120 KB, the largest arguments of any tool 418 KB (a plan). So the
16
+ * command limit is six times the largest seen and the arguments limit more
17
+ * than twice.
18
+ * - **Time.** Each hook gate stops at {@link gateDeadlineMs} for its harness
19
+ * after it starts and refuses with a `GATE_DEADLINE` reason. Every built-in
20
+ * rule is linear in the text (sequence.ts, the phrase matcher,
21
+ * regexLinearity.ts in the sync daemon), so only a workspace's own WHERE
22
+ * patterns can get there.
23
+ *
24
+ * Sizes are UTF-8 bytes, which every gate can count the same way.
25
+ *
26
+ * @module
27
+ */
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.HOOK_GATE_TIMEOUTS = exports.GATE_DEADLINE_MARGIN_MS = exports.HOOK_TIMEOUT_SECONDS = exports.ARGUMENTS_SIZE_LIMIT = exports.COMMAND_SIZE_LIMIT = void 0;
30
+ exports.gateDeadlineMs = gateDeadlineMs;
31
+ /** The largest shell command, in UTF-8 bytes, a gate evaluates. */
32
+ exports.COMMAND_SIZE_LIMIT = 256 * 1024;
33
+ /** The largest tool arguments, in UTF-8 bytes of compact JSON, a gate evaluates. */
34
+ exports.ARGUMENTS_SIZE_LIMIT = 1024 * 1024;
35
+ /**
36
+ * The timeout `intutic connect` sets on a gate's hook entry, in seconds,
37
+ * wherever the harness has a key for one. Harness defaults run from 30 s to
38
+ * 600 s; 10 s keeps a stalled gate from holding the agent for minutes, and is
39
+ * also the longest any gate runs where the harness sets no limit at all.
40
+ */
41
+ exports.HOOK_TIMEOUT_SECONDS = 10;
42
+ /**
43
+ * How far below its harness's hook timeout a gate refuses.
44
+ *
45
+ * The harness starts its clock when it spawns the hook; the gate starts its
46
+ * own once its interpreter is running (Node's `process.uptime()`, the bash
47
+ * gate's watchdog), and once its deadline fires it still has to stop its
48
+ * children, write the refusal and the audit line, and exit, and the harness
49
+ * has to read the exit. On a 14-core machine running every package's test
50
+ * suite beside 100 busy threads (load average near 190), a gate's refusal
51
+ * reached the harness at most 260 ms after its deadline, Node and bash alike.
52
+ * One second is nearly four times that.
53
+ */
54
+ exports.GATE_DEADLINE_MARGIN_MS = 1000;
55
+ const CONNECT_MS = exports.HOOK_TIMEOUT_SECONDS * 1000;
56
+ /** Grok Build's default hook timeout, the shortest any documented harness uses; assumed where a harness documents none. */
57
+ const UNDOCUMENTED_ASSUMED_MS = 5000;
58
+ /**
59
+ * The hook timeout each harness applies to its gate, keyed by the harness id
60
+ * the gate is emitted for. The one source every gate's deadline is derived
61
+ * from: the writers set the timeouts marked `connect` from here, and a test
62
+ * reads each written hook entry back against it.
63
+ */
64
+ exports.HOOK_GATE_TIMEOUTS = {
65
+ 'claude-code': { timeoutMs: CONNECT_MS, setBy: 'connect', source: '`timeout` (seconds) on the hook entry in .claude/settings.json; default 600 s, a call whose hook times out runs (code.claude.com/docs/en/hooks)' },
66
+ cursor: { timeoutMs: CONNECT_MS, setBy: 'connect', source: '`timeout` (seconds) on the hooks.json entry, beside `failClosed: true`; default not stated (cursor.com/docs/agent/hooks)' },
67
+ windsurf: { timeoutMs: UNDOCUMENTED_ASSUMED_MS, setBy: 'undocumented', source: 'hooks.json entries have no timeout key and Windsurf documents no timeout; any exit but 2 runs the call (docs.devin.ai/desktop/cascade/hooks)' },
68
+ codex: { timeoutMs: CONNECT_MS, setBy: 'connect', source: '`timeout` (seconds) on the hooks.json entry; default 600 s (Codex hooks documentation)' },
69
+ 'muse-code': { timeoutMs: UNDOCUMENTED_ASSUMED_MS, setBy: 'undocumented', source: 'Muse Code documents no hook timeout and no key for one (dev.meta.ai/docs/muse-code)' },
70
+ 'github-copilot': { timeoutMs: CONNECT_MS, setBy: 'connect', source: '`timeout` (seconds) on the hook entry, the Copilot CLI\'s alias for `timeoutSec` and VS Code\'s key; default 30 s, a call whose hook times out runs (docs.github.com/en/copilot/reference/hooks-configuration)' },
71
+ cline: { timeoutMs: 30_000, setBy: 'harness', source: 'HOOK_EXECUTION_TIMEOUT_MS = 30000 in Cline\'s hook-factory.ts, not configurable; a call whose hook times out runs' },
72
+ grok: { timeoutMs: CONNECT_MS, setBy: 'connect', source: '`timeout` (seconds) on the hook entry; default 5 s, no stated maximum, a call whose hook times out runs (docs.x.ai/build/features/hooks)' },
73
+ antigravity: { timeoutMs: CONNECT_MS, setBy: 'connect', source: '`timeout` (seconds) on the PreToolUse handler in ~/.gemini/config/hooks.json; default 30 s (antigravity.google/docs/hooks)' },
74
+ 'gemini-cli': { timeoutMs: CONNECT_MS, setBy: 'connect', source: '`timeout` (milliseconds) on the BeforeTool hook in ~/.gemini/settings.json; default 60 000 (geminicli.com/docs/hooks/reference)' },
75
+ goose: { timeoutMs: CONNECT_MS, setBy: 'connect', source: '`timeout` (seconds) beside `on_failure: "block"` in the plugin\'s hooks.json; default 30 s (goose hooks guide)' },
76
+ openhands: { timeoutMs: CONNECT_MS, setBy: 'connect', source: '`timeout` (seconds) in .openhands/hooks.json; default 60 s, a call whose hook times out runs (openhands-sdk hooks/config.py)' },
77
+ hermes: { timeoutMs: CONNECT_MS, setBy: 'connect', source: '`timeout` (seconds) beside `fail_closed: true` in ~/.hermes/config.yaml; default 60 s, at most 300 s (hermes-agent shell_hooks.py)' },
78
+ openclaw: { timeoutMs: CONNECT_MS, setBy: 'connect', source: '`timeoutMs` on the before_tool_call registration; default 15 s, a timeout blocks the call but cannot interrupt the handler (OpenClaw docs/plugins/hooks/reference.md)' },
79
+ pi: { timeoutMs: null, setBy: 'none', source: 'Pi awaits an extension\'s tool_call handler without a limit (core/extensions/runner.ts)' },
80
+ opencode: { timeoutMs: null, setBy: 'none', source: 'OpenCode awaits a plugin\'s tool.execute.before without a limit (packages/opencode/src/plugin/index.ts)' },
81
+ };
82
+ /**
83
+ * How long a harness's hook gate may decide, from its start, before it
84
+ * refuses with `GATE_DEADLINE`: {@link GATE_DEADLINE_MARGIN_MS} under the
85
+ * harness's timeout, and never longer than {@link HOOK_TIMEOUT_SECONDS} minus
86
+ * that margin, so a gate the harness waits on for 30 s or without limit still
87
+ * answers as promptly as one connect set a timeout for. On the loaded machine
88
+ * above, a call at the size limits took the bash gates at most 4.6 s and the
89
+ * JavaScript gates at most 1.2 s; every 4 s deadline is a JavaScript gate's.
90
+ * Only a workspace's own pathological WHERE pattern runs this long.
91
+ */
92
+ function gateDeadlineMs(harness) {
93
+ const timeoutMs = exports.HOOK_GATE_TIMEOUTS[harness].timeoutMs;
94
+ return Math.min(timeoutMs ?? CONNECT_MS, CONNECT_MS) - exports.GATE_DEADLINE_MARGIN_MS;
95
+ }
96
+ //# sourceMappingURL=gateLimits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateLimits.js","sourceRoot":"","sources":["../src/gateLimits.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;;;AA4FH,wCAGC;AA7FD,mEAAmE;AACtD,QAAA,kBAAkB,GAAG,GAAG,GAAG,IAAI,CAAA;AAE5C,oFAAoF;AACvE,QAAA,oBAAoB,GAAG,IAAI,GAAG,IAAI,CAAA;AAE/C;;;;;GAKG;AACU,QAAA,oBAAoB,GAAG,EAAE,CAAA;AAEtC;;;;;;;;;;;GAWG;AACU,QAAA,uBAAuB,GAAG,IAAI,CAAA;AAsB3C,MAAM,UAAU,GAAG,4BAAoB,GAAG,IAAI,CAAA;AAC9C,2HAA2H;AAC3H,MAAM,uBAAuB,GAAG,IAAI,CAAA;AAEpC;;;;;GAKG;AACU,QAAA,kBAAkB,GAAG;IAChC,aAAa,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,iJAAiJ,EAAE;IACrN,MAAM,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,0HAA0H,EAAE;IACvL,QAAQ,EAAE,EAAE,SAAS,EAAE,uBAAuB,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,8IAA8I,EAAE;IAC/N,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,wFAAwF,EAAE;IACpJ,WAAW,EAAE,EAAE,SAAS,EAAE,uBAAuB,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,qFAAqF,EAAE;IACzK,gBAAgB,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,gNAAgN,EAAE;IACvR,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,mHAAmH,EAAE;IAC3K,IAAI,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,0IAA0I,EAAE;IACrM,WAAW,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,4HAA4H,EAAE;IAC9L,YAAY,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,iIAAiI,EAAE;IACpM,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,gHAAgH,EAAE;IAC5K,SAAS,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,8HAA8H,EAAE;IAC9L,MAAM,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,oIAAoI,EAAE;IACjM,QAAQ,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,uKAAuK,EAAE;IACtO,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,yFAAyF,EAAE;IACzI,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,yGAAyG,EAAE;CAC7G,CAAA;AAKpD;;;;;;;;;GASG;AACH,SAAgB,cAAc,CAAC,OAAwB;IACrD,MAAM,SAAS,GAAkB,0BAAkB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAA;IACtE,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,UAAU,EAAE,UAAU,CAAC,GAAG,+BAAuB,CAAA;AAChF,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Git remote normalisation, shared by the sync daemon (before it reports a
3
+ * repository) and the control plane (on receipt, so a client that skipped it
4
+ * still cannot store credentials).
5
+ */
6
+ /**
7
+ * A remote URL reduced to `host/path`: lower-cased host, no scheme, no user or
8
+ * password, no port, no query or fragment, no `.git` suffix. The ssh and https
9
+ * spellings of one repository therefore compare equal, and a remote that
10
+ * embeds a token (`https://x-access-token:…@github.com/…`, as CI checkouts
11
+ * write it) never leaves the machine with the token in it.
12
+ *
13
+ * Null for anything that is not a network remote: an empty string, a local
14
+ * path (POSIX or Windows), a `file:` URL, or a host with no repository path.
15
+ */
16
+ export declare function normalizeGitRemote(remote: string): string | null;
17
+ //# sourceMappingURL=gitRemote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitRemote.d.ts","sourceRoot":"","sources":["../src/gitRemote.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA4BhE"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ /**
3
+ * Git remote normalisation, shared by the sync daemon (before it reports a
4
+ * repository) and the control plane (on receipt, so a client that skipped it
5
+ * still cannot store credentials).
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.normalizeGitRemote = normalizeGitRemote;
9
+ /** Schemes git can fetch over the network. `file:` and local paths are not repositories anyone else can name. */
10
+ const NETWORK_SCHEMES = new Set(['http:', 'https:', 'ssh:', 'git:', 'git+ssh:', 'ssh+git:']);
11
+ /**
12
+ * A remote URL reduced to `host/path`: lower-cased host, no scheme, no user or
13
+ * password, no port, no query or fragment, no `.git` suffix. The ssh and https
14
+ * spellings of one repository therefore compare equal, and a remote that
15
+ * embeds a token (`https://x-access-token:…@github.com/…`, as CI checkouts
16
+ * write it) never leaves the machine with the token in it.
17
+ *
18
+ * Null for anything that is not a network remote: an empty string, a local
19
+ * path (POSIX or Windows), a `file:` URL, or a host with no repository path.
20
+ */
21
+ function normalizeGitRemote(remote) {
22
+ const raw = remote.trim();
23
+ if (!raw || raw.includes('\\') || /^[a-zA-Z]:\//.test(raw))
24
+ return null;
25
+ let host;
26
+ let path;
27
+ if (/^[a-z][a-z0-9+.-]*:\/\//i.test(raw)) {
28
+ let url;
29
+ try {
30
+ url = new URL(raw);
31
+ }
32
+ catch {
33
+ return null;
34
+ }
35
+ if (!NETWORK_SCHEMES.has(url.protocol))
36
+ return null;
37
+ host = url.hostname;
38
+ path = url.pathname;
39
+ }
40
+ else {
41
+ // scp-like: [user[:password]@]host:path. A colon after the first slash
42
+ // makes it a local path, which is how git itself tells them apart.
43
+ const scp = /^(?:[^@/]+@)?([^:/\s]+):([^\s]+)$/.exec(raw);
44
+ if (!scp)
45
+ return null;
46
+ host = scp[1];
47
+ path = cutAtQueryOrFragment(scp[2]);
48
+ }
49
+ path = trimSlashes(trimSlashes(path).replace(/\.git$/, ''));
50
+ if (!host || !path)
51
+ return null;
52
+ return `${host.toLowerCase()}/${path}`;
53
+ }
54
+ // String scans rather than regexes: a remote URL is input the developer
55
+ // controls, and `[?#].*$` / `\/+$` backtrack quadratically on long runs.
56
+ function cutAtQueryOrFragment(s) {
57
+ for (let i = 0; i < s.length; i++)
58
+ if (s[i] === '?' || s[i] === '#')
59
+ return s.slice(0, i);
60
+ return s;
61
+ }
62
+ function trimSlashes(s) {
63
+ let start = 0;
64
+ let end = s.length;
65
+ while (start < end && s[start] === '/')
66
+ start++;
67
+ while (end > start && s[end - 1] === '/')
68
+ end--;
69
+ return s.slice(start, end);
70
+ }
71
+ //# sourceMappingURL=gitRemote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitRemote.js","sourceRoot":"","sources":["../src/gitRemote.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAeH,gDA4BC;AAzCD,iHAAiH;AACjH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAA;AAE5F;;;;;;;;;GASG;AACH,SAAgB,kBAAkB,CAAC,MAAc;IAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;IACzB,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAEvE,IAAI,IAAY,CAAA;IAChB,IAAI,IAAY,CAAA;IAChB,IAAI,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,IAAI,GAAQ,CAAA;QACZ,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;QACpB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAA;QACnD,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAA;QACnB,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAA;IACrB,CAAC;SAAM,CAAC;QACN,uEAAuE;QACvE,mEAAmE;QACnE,MAAM,GAAG,GAAG,mCAAmC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACzD,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAA;QACrB,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;QACb,IAAI,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACrC,CAAC;IAED,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAA;IAC3D,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IAC/B,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAA;AACxC,CAAC;AAED,wEAAwE;AACxE,yEAAyE;AACzE,SAAS,oBAAoB,CAAC,CAAS;IACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACzF,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAS,WAAW,CAAC,CAAS;IAC5B,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,GAAG,GAAG,CAAC,CAAC,MAAM,CAAA;IAClB,OAAO,KAAK,GAAG,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG;QAAE,KAAK,EAAE,CAAA;IAC/C,OAAO,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG;QAAE,GAAG,EAAE,CAAA;IAC/C,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AAC5B,CAAC"}
@@ -15,7 +15,7 @@
15
15
  * just built in memory for the same cycle's `POST /api/v1/agents/report`
16
16
  * call.
17
17
  *
18
- * Hand-copying this mapping between the two is how it drifted (TD-443):
18
+ * Hand-copying this mapping between the two is how it drifted:
19
19
  * the sync daemon's copy read `report.facets.mcp_tools.length > 0` with no
20
20
  * `Array.isArray` guard, while `harnessGradeSweep.ts`'s copy guarded it —
21
21
  * the exact two-hand-kept-copies failure `secretPatterns.ts`'s module doc
@@ -16,7 +16,7 @@
16
16
  * just built in memory for the same cycle's `POST /api/v1/agents/report`
17
17
  * call.
18
18
  *
19
- * Hand-copying this mapping between the two is how it drifted (TD-443):
19
+ * Hand-copying this mapping between the two is how it drifted:
20
20
  * the sync daemon's copy read `report.facets.mcp_tools.length > 0` with no
21
21
  * `Array.isArray` guard, while `harnessGradeSweep.ts`'s copy guarded it —
22
22
  * the exact two-hand-kept-copies failure `secretPatterns.ts`'s module doc
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Guardrail IR — the only thing a policy compiler may say (LLD #71).
2
+ * Guardrail IR — the only thing a policy compiler may say.
3
3
  *
4
4
  * An LLM reading corporate policy prose is allowed to propose exactly two
5
5
  * things: a verbatim quote anchored to a passage it was shown, and a clause in
@@ -23,7 +23,7 @@
23
23
  * `max_calls`, `forbid_with`). `~>` adjacency is not offered; `->` only.
24
24
  * - `wasm_predicate` — the existing closed predicate DSL, verdict 3 (reask)
25
25
  * only. A generated rule can never originate a block.
26
- * - the two settings-class kinds (TD-474 item 2): `allowed_models` and
26
+ * - the two settings-class kinds: `allowed_models` and
27
27
  * `egress_allow`, each a list of values for one workspace setting
28
28
  * (`SETTING_KIND_KEYS`). Neither carries roles — a workspace setting has no
29
29
  * per-role form — and neither is projected into a rule endpoint: a promoted
@@ -192,14 +192,14 @@ export declare const GuardrailIrSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodOb
192
192
  roles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
193
193
  kind: z.ZodLiteral<"requires_before">;
194
194
  }, "strict", z.ZodTypeAny, {
195
+ then: string;
195
196
  kind: "requires_before";
196
197
  first: string;
197
- then: string;
198
198
  roles?: string[] | undefined;
199
199
  }, {
200
+ then: string;
200
201
  kind: "requires_before";
201
202
  first: string;
202
- then: string;
203
203
  roles?: string[] | undefined;
204
204
  }>, z.ZodObject<{
205
205
  first: z.ZodEffects<z.ZodString, string, string>;
@@ -207,14 +207,14 @@ export declare const GuardrailIrSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodOb
207
207
  roles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
208
208
  kind: z.ZodLiteral<"forbid_after">;
209
209
  }, "strict", z.ZodTypeAny, {
210
+ then: string;
210
211
  kind: "forbid_after";
211
212
  first: string;
212
- then: string;
213
213
  roles?: string[] | undefined;
214
214
  }, {
215
+ then: string;
215
216
  kind: "forbid_after";
216
217
  first: string;
217
- then: string;
218
218
  roles?: string[] | undefined;
219
219
  }>, z.ZodObject<{
220
220
  kind: z.ZodLiteral<"max_calls">;
@@ -271,11 +271,11 @@ export declare const GuardrailIrSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodOb
271
271
  kind: z.ZodLiteral<"allowed_models">;
272
272
  models: z.ZodArray<z.ZodString, "many">;
273
273
  }, "strict", z.ZodTypeAny, {
274
- kind: "allowed_models";
275
274
  models: string[];
276
- }, {
277
275
  kind: "allowed_models";
276
+ }, {
278
277
  models: string[];
278
+ kind: "allowed_models";
279
279
  }>, z.ZodObject<{
280
280
  kind: z.ZodLiteral<"egress_allow">;
281
281
  hosts: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
@@ -310,7 +310,7 @@ export declare const IR_KINDS: readonly ["hook_rule", "deny_tools", "review_befo
310
310
  /** The kinds that render to a SOP front-matter key the Rust proxy reads. */
311
311
  export declare const FRONT_MATTER_KINDS: readonly ["deny_tools", "review_before", "requires_before", "forbid_after", "max_calls", "forbid_with"];
312
312
  export declare function isFrontMatterIr(ir: GuardrailIr): ir is FrontMatterIr;
313
- /** The settings-class kinds: each is a list of values for one workspace setting (TD-474 item 2). */
313
+ /** The settings-class kinds: each is a list of values for one workspace setting. */
314
314
  export declare const SETTING_KINDS: readonly ["allowed_models", "egress_allow"];
315
315
  /**
316
316
  * The `WorkspaceSettings` key each settings-class kind writes on promotion.
@@ -1 +1 @@
1
- {"version":3,"file":"guardrailIr.d.ts","sourceRoot":"","sources":["../src/guardrailIr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guardrailIr.d.ts","sourceRoot":"","sources":["../src/guardrailIr.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Guardrail IR — the only thing a policy compiler may say (LLD #71).
3
+ * Guardrail IR — the only thing a policy compiler may say.
4
4
  *
5
5
  * An LLM reading corporate policy prose is allowed to propose exactly two
6
6
  * things: a verbatim quote anchored to a passage it was shown, and a clause in
@@ -24,7 +24,7 @@
24
24
  * `max_calls`, `forbid_with`). `~>` adjacency is not offered; `->` only.
25
25
  * - `wasm_predicate` — the existing closed predicate DSL, verdict 3 (reask)
26
26
  * only. A generated rule can never originate a block.
27
- * - the two settings-class kinds (TD-474 item 2): `allowed_models` and
27
+ * - the two settings-class kinds: `allowed_models` and
28
28
  * `egress_allow`, each a list of values for one workspace setting
29
29
  * (`SETTING_KIND_KEYS`). Neither carries roles — a workspace setting has no
30
30
  * per-role form — and neither is projected into a rule endpoint: a promoted
@@ -278,7 +278,7 @@ exports.FRONT_MATTER_KINDS = [
278
278
  function isFrontMatterIr(ir) {
279
279
  return exports.FRONT_MATTER_KINDS.includes(ir.kind);
280
280
  }
281
- /** The settings-class kinds: each is a list of values for one workspace setting (TD-474 item 2). */
281
+ /** The settings-class kinds: each is a list of values for one workspace setting. */
282
282
  exports.SETTING_KINDS = ['allowed_models', 'egress_allow'];
283
283
  /**
284
284
  * The `WorkspaceSettings` key each settings-class kind writes on promotion.
@@ -1 +1 @@
1
- {"version":3,"file":"guardrailIr.js","sourceRoot":"","sources":["../src/guardrailIr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guardrailIr.js","sourceRoot":"","sources":["../src/guardrailIr.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Guardrail renderers and their parsers (LLD #71).
2
+ * Guardrail renderers and their parsers.
3
3
  *
4
4
  * Two artifacts come out of the IR, and both are read by code this package
5
5
  * does not own:
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Guardrail renderers and their parsers (LLD #71).
3
+ * Guardrail renderers and their parsers.
4
4
  *
5
5
  * Two artifacts come out of the IR, and both are read by code this package
6
6
  * does not own: