@intutic/sync-daemon 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 (90) hide show
  1. package/dist/disconnect/harnesses.d.ts.map +1 -1
  2. package/dist/disconnect/harnesses.js +3 -2
  3. package/dist/disconnect/harnesses.js.map +1 -1
  4. package/dist/harness/antigravityCliHooks.js +3 -3
  5. package/dist/harness/antigravityCliHooks.js.map +1 -1
  6. package/dist/harness/antigravityHooks.d.ts +8 -0
  7. package/dist/harness/antigravityHooks.d.ts.map +1 -1
  8. package/dist/harness/antigravityHooks.js +27 -5
  9. package/dist/harness/antigravityHooks.js.map +1 -1
  10. package/dist/harness/claudeCodeHooks.d.ts.map +1 -1
  11. package/dist/harness/claudeCodeHooks.js +58 -16
  12. package/dist/harness/claudeCodeHooks.js.map +1 -1
  13. package/dist/harness/clineHooks.d.ts.map +1 -1
  14. package/dist/harness/clineHooks.js +4 -2
  15. package/dist/harness/clineHooks.js.map +1 -1
  16. package/dist/harness/codexHooks.d.ts.map +1 -1
  17. package/dist/harness/codexHooks.js +4 -2
  18. package/dist/harness/codexHooks.js.map +1 -1
  19. package/dist/harness/cursorHooks.d.ts.map +1 -1
  20. package/dist/harness/cursorHooks.js +8 -3
  21. package/dist/harness/cursorHooks.js.map +1 -1
  22. package/dist/harness/gateBody.d.ts +177 -4
  23. package/dist/harness/gateBody.d.ts.map +1 -1
  24. package/dist/harness/gateBody.js +1658 -26
  25. package/dist/harness/gateBody.js.map +1 -1
  26. package/dist/harness/githubCopilotHooks.js +3 -3
  27. package/dist/harness/githubCopilotHooks.js.map +1 -1
  28. package/dist/harness/gooseHooks.d.ts.map +1 -1
  29. package/dist/harness/gooseHooks.js +8 -1
  30. package/dist/harness/gooseHooks.js.map +1 -1
  31. package/dist/harness/grokHooks.js +2 -2
  32. package/dist/harness/hermesHooks.js +1 -1
  33. package/dist/harness/hermesHooks.js.map +1 -1
  34. package/dist/harness/museHooks.d.ts.map +1 -1
  35. package/dist/harness/museHooks.js +4 -2
  36. package/dist/harness/museHooks.js.map +1 -1
  37. package/dist/harness/n8nHooks.js +1 -1
  38. package/dist/harness/openCodeHooks.d.ts.map +1 -1
  39. package/dist/harness/openCodeHooks.js +32 -8
  40. package/dist/harness/openCodeHooks.js.map +1 -1
  41. package/dist/harness/openclawHooks.d.ts.map +1 -1
  42. package/dist/harness/openclawHooks.js +19 -8
  43. package/dist/harness/openclawHooks.js.map +1 -1
  44. package/dist/harness/piHooks.js +7 -7
  45. package/dist/harness/windsurfHooks.js +2 -2
  46. package/dist/index.d.ts +9 -3
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +8 -2
  49. package/dist/index.js.map +1 -1
  50. package/dist/lib/approvedBypasses.d.ts +17 -4
  51. package/dist/lib/approvedBypasses.d.ts.map +1 -1
  52. package/dist/lib/approvedBypasses.js +17 -4
  53. package/dist/lib/approvedBypasses.js.map +1 -1
  54. package/dist/lib/approvedPlans.d.ts +73 -0
  55. package/dist/lib/approvedPlans.d.ts.map +1 -0
  56. package/dist/lib/approvedPlans.js +124 -0
  57. package/dist/lib/approvedPlans.js.map +1 -0
  58. package/dist/lib/decideLogs.d.ts +46 -0
  59. package/dist/lib/decideLogs.d.ts.map +1 -0
  60. package/dist/lib/decideLogs.js +160 -0
  61. package/dist/lib/decideLogs.js.map +1 -0
  62. package/dist/lib/policySnapshot.d.ts +143 -3
  63. package/dist/lib/policySnapshot.d.ts.map +1 -1
  64. package/dist/lib/policySnapshot.js +480 -14
  65. package/dist/lib/policySnapshot.js.map +1 -1
  66. package/dist/lib/refusalDetailPy.d.ts +11 -0
  67. package/dist/lib/refusalDetailPy.d.ts.map +1 -0
  68. package/dist/lib/refusalDetailPy.js +109 -0
  69. package/dist/lib/refusalDetailPy.js.map +1 -0
  70. package/dist/lib/ruleRecordPy.d.ts +11 -0
  71. package/dist/lib/ruleRecordPy.d.ts.map +1 -0
  72. package/dist/lib/ruleRecordPy.js +277 -0
  73. package/dist/lib/ruleRecordPy.js.map +1 -0
  74. package/dist/lib/scopeMatchPy.d.ts +11 -0
  75. package/dist/lib/scopeMatchPy.d.ts.map +1 -0
  76. package/dist/lib/scopeMatchPy.js +278 -0
  77. package/dist/lib/scopeMatchPy.js.map +1 -0
  78. package/dist/lib/testOutcomePy.d.ts +11 -0
  79. package/dist/lib/testOutcomePy.d.ts.map +1 -0
  80. package/dist/lib/testOutcomePy.js +371 -0
  81. package/dist/lib/testOutcomePy.js.map +1 -0
  82. package/dist/skillWriter.d.ts +1 -1
  83. package/dist/skillWriter.d.ts.map +1 -1
  84. package/dist/skillWriter.js +7 -0
  85. package/dist/skillWriter.js.map +1 -1
  86. package/dist/syncCycle.d.ts +15 -2
  87. package/dist/syncCycle.d.ts.map +1 -1
  88. package/dist/syncCycle.js +15 -3
  89. package/dist/syncCycle.js.map +1 -1
  90. package/package.json +5 -5
@@ -54,7 +54,9 @@
54
54
  *
55
55
  * @module
56
56
  */
57
+ import type { DecidePin, SyncSopEntry } from '@intutic/shared-types';
57
58
  import { type McpRegistryRecord, type SsoGroupPolicy } from '@intutic/shared-types';
59
+ import { type GateRuleRecord, type ServedGateRecord } from '@intutic/shared-types';
58
60
  import { type GuardPattern } from '../harness/protectedPaths.js';
59
61
  /** Directory every gate looks in. Inside `.intutic/hooks`, which is already
60
62
  * protected — see the module note. */
@@ -225,6 +227,78 @@ export interface ResolvedPolicy {
225
227
  * Absent or null: an older control plane, and no record is written.
226
228
  */
227
229
  mcpRegistry?: McpRegistryRecord | null;
230
+ /**
231
+ * The workspace's decide rules (`decideRules`), or the local SOPs' when no
232
+ * control plane is connected ({@link localDecideRules}). Each is written as
233
+ * an `@decide` record, and one stamped `enforce` also as a fallback line
234
+ * that every older gate enforces. Absent or empty: no decide line is
235
+ * written, and the snapshot is byte-identical to a format 1 one.
236
+ */
237
+ decideRules?: ServedDecideRule[];
238
+ /**
239
+ * The `@rule` records of the workspace's SOPs, as resolve
240
+ * serves them (`gateRecords`, compiled by `compileSopGateRecords`), or the
241
+ * local SOPs' ({@link PolicySnapshotOptions.localSops}). Each is written as
242
+ * an `@rule` line, and one stamped `enforce` also as a `<kind>-fallback:`
243
+ * line that every older gate enforces. Absent or empty: no `@rule` line is
244
+ * written, and the snapshot is byte-identical to one written before them.
245
+ */
246
+ gateRecords?: ServedGateRecord[];
247
+ /**
248
+ * The workspace's lane holds (3.0: `sop.lane.<class>.<token>`,
249
+ * from its SOPs' `closed_lanes:` and its `closedLanes` setting) and revert
250
+ * holds (§7.3: `revert.<token>`), compiled by resolve (`holdRules`,
251
+ * `laneHoldPatterns` in `@intutic/shared-types`) in the snapshot's rule
252
+ * shape: the token's phrases on the `phrase` subject, which every gate
253
+ * since v12 reads, and for force_push and destroy also the `action`
254
+ * subject a v23 classifier matches (the compound, the out-of-tree
255
+ * `rm -rf`). Every rule of one token has the same id, so one approval
256
+ * releases the call whichever of them held it.
257
+ */
258
+ holdRules?: ServedHoldRule[];
259
+ /** What the revert holds were compiled from (`revertHolds`): shown, not compiled again. */
260
+ revertHolds?: ServedRevertHold[];
261
+ }
262
+ /** One hold rule as resolve serves it. */
263
+ export interface ServedHoldRule {
264
+ id: string;
265
+ source: string;
266
+ subject: 'phrase' | 'action';
267
+ ignoreCase?: boolean;
268
+ severity: 'hold' | 'shadow';
269
+ reason: string;
270
+ rationale?: string;
271
+ }
272
+ /** One revert hold's rates as resolve serves them. */
273
+ export interface ServedRevertHold {
274
+ subject: string;
275
+ revertRate: number | null;
276
+ rejectionRate: number | null;
277
+ }
278
+ /**
279
+ * One `decide:` line, as `GET /api/v1/policy/resolve` serves it or as
280
+ * {@link localDecideRules} reads it from a local SOP. The writer validates it
281
+ * itself: a line it cannot read still refuses what it names.
282
+ */
283
+ export interface ServedDecideRule {
284
+ /** The control plane's SOP id, or `local:<file>` / `local:<folder>:<file>`. */
285
+ sopId: string;
286
+ /** The SOP's title, as the record and the fallback line's reason name it. */
287
+ sopTitle: string;
288
+ /** The SOP's body; the record carries its first 4,096 bytes. */
289
+ ruleText: string;
290
+ /** The line's JSON value, or a local line's text after `decide:`. */
291
+ ir: unknown;
292
+ /**
293
+ * The policy source's stamp: `shadow` under the server's kill switch, for a
294
+ * SHADOW guardrail, or for an SOP whose front matter says `mode: shadow`
295
+ * (the server's resolve and {@link localDecideRules} alike). Absent otherwise.
296
+ */
297
+ rollout?: 'shadow' | 'enforce';
298
+ /** The hash the server computed. When it is not this writer's, the pins were earned by another rule and are dropped. */
299
+ ruleHash?: string;
300
+ /** The calibrations the rule may enforce under. */
301
+ pins: DecidePin[];
228
302
  }
229
303
  export interface PolicySnapshotOptions {
230
304
  controlPlaneUrl: string;
@@ -239,6 +313,13 @@ export interface PolicySnapshotOptions {
239
313
  * the Claude Code hook that used to bake them in.
240
314
  */
241
315
  localHoldTokens?: readonly string[];
316
+ /**
317
+ * The workspace's local SOPs (`.intutic/sops`), whose `@rule` records
318
+ * (`compileSopGateRecords`) and lane holds (`closed_lanes:`) the snapshot
319
+ * carries beside what resolve served. A SOP with `roles:` compiles nothing:
320
+ * a gate knows no agent role.
321
+ */
322
+ localSops?: readonly SyncSopEntry[];
242
323
  }
243
324
  /**
244
325
  * Decides whether a control-plane rule is safe to put on a blocking path.
@@ -248,12 +329,67 @@ export interface PolicySnapshotOptions {
248
329
  * other rule.
249
330
  */
250
331
  export declare function validateRule(toolPattern: string, ruleId: string): string | null;
332
+ /**
333
+ * The `gateRecords` of a resolve response, or of a snapshot's JSON, in the
334
+ * served shape (`ServedGateRecord`, `@intutic/shared-types`). A record is
335
+ * kept when it has that shape; one that then does not decode is not written
336
+ * as an `@rule` line, and its fallback line refuses in its place
337
+ * ({@link compileGateRecords}). A record without a `sopId` takes its ref's.
338
+ */
339
+ export declare function parseServedGateRecords(value: unknown): ServedGateRecord[];
340
+ /**
341
+ * The marker `intutic decide disable` leaves in `~/.intutic/decide/`: while
342
+ * it exists, every decide rule this machine writes into a snapshot is
343
+ * stamped `local-disable`, so it runs as shadow and gets no fallback line.
344
+ * A line that does not read still refuses: that refusal is not the engine's.
345
+ */
346
+ export declare const DECIDE_DISABLED_FILE = "disabled";
347
+ /** Whether `intutic decide disable` is in force on this machine. Read at each write, from the home directory then. */
348
+ export declare function decideLocallyDisabled(): boolean;
349
+ /** Where an `intutic decide eval` pass leaves the pins it earned: `evals/<ruleHash>/<digest>.json`, each a pin. */
350
+ export declare const DEFAULT_DECIDE_DIR: string;
351
+ /**
352
+ * The `decide:` lines of the workspace's local SOPs, for a snapshot written
353
+ * with no control plane. Each line's text is kept as written, so the writer
354
+ * reads it exactly as the proxy does, unreadable lines included. A readable
355
+ * rule's pins are the ones `decideDir/evals/<ruleHash>/` holds; a file that is
356
+ * not a pin is ignored. An SOP whose front matter says `mode: shadow` has its
357
+ * rules stamped shadow, as the control plane's resolve stamps them
358
+ * (`listServedDecideRules`): the record says `server-shadow`, and no fallback
359
+ * line is written.
360
+ */
361
+ export declare function localDecideRules(entries: readonly SyncSopEntry[], opts?: {
362
+ decideDir?: string;
363
+ }): Promise<ServedDecideRule[]>;
251
364
  /** Fetches resolved policy for the workspace. Returns null on any failure —
252
365
  * the caller keeps the previous snapshot rather than replacing it with nothing. */
253
366
  export declare function fetchResolvedPolicy(opts: PolicySnapshotOptions): Promise<ResolvedPolicy | null>;
254
367
  /** Builds the rule set a snapshot would carry, without writing it. Exported so
255
368
  * a test can assert the contents rather than re-deriving them. */
256
- export declare function buildSnapshotRules(policy: ResolvedPolicy, localHoldTokens?: readonly string[], localHoldMode?: LocalHoldMode): GuardPattern[];
369
+ export declare function buildSnapshotRules(policy: ResolvedPolicy, localHoldTokens?: readonly string[], localHoldMode?: LocalHoldMode, localSops?: readonly SyncSopEntry[]): GuardPattern[];
370
+ /** What the snapshot carries for its rule records: the records, and the fallback lines of the enforcing ones. */
371
+ export interface CompiledGateRecords {
372
+ records: GateRuleRecord[];
373
+ fallbacks: GuardPattern[];
374
+ }
375
+ /**
376
+ * The policy's `@rule` records, served ones first and then the local SOPs'
377
+ * (`compileSopGateRecords`, `@intutic/shared-types`), and the fallback line
378
+ * of each enforcing one (`gateRuleFallback`). Under SILENT_LOG every record
379
+ * is stamped shadow and has no fallback line, as decide rules are.
380
+ */
381
+ export declare function compileGateRecords(policy: ResolvedPolicy, localSops?: readonly SyncSopEntry[]): CompiledGateRecords;
382
+ /**
383
+ * The hold rules of a local SOP's closed lanes, in the shape
384
+ * resolve serves the workspace's (`laneHoldPatterns`, `@intutic/shared-types`):
385
+ * per token, a `sop.lane.<class>.<token>` rule on the `phrase` subject,
386
+ * which a gate whose classifier predates the token still holds, and for
387
+ * force_push and destroy also one on the `action` subject, under the same
388
+ * id, so one approval releases the call whichever rule held it. Only SOPs
389
+ * with no `roles:` (a gate knows no role). With no control plane (`block`) a
390
+ * lane hold refuses.
391
+ */
392
+ export declare function localLaneHoldRules(localSops: readonly SyncSopEntry[], mode: LocalHoldMode): ServedHoldRule[];
257
393
  /**
258
394
  * What a local `review_before:` token compiles to. `hold`: refused, recorded
259
395
  * for review, and let through once when approved — which needs a control
@@ -272,7 +408,7 @@ export declare function offlineHoldReason(token: string): string;
272
408
  * path. Both carry the same digest, so a test — and the gate — can tell that the
273
409
  * projection really came from the JSON.
274
410
  */
275
- export declare function writePolicySnapshot(policy: ResolvedPolicy, snapshotDir?: string, localHoldTokens?: readonly string[], localHolds?: LocalHoldMode): Promise<{
411
+ export declare function writePolicySnapshot(policy: ResolvedPolicy, snapshotDir?: string, localHoldTokens?: readonly string[], localHolds?: LocalHoldMode, localSops?: readonly SyncSopEntry[]): Promise<{
276
412
  digest: string;
277
413
  ruleCount: number;
278
414
  }>;
@@ -290,13 +426,17 @@ export declare function writePolicySnapshot(policy: ResolvedPolicy, snapshotDir?
290
426
  */
291
427
  export declare function localResolvedPolicy(): ResolvedPolicy;
292
428
  /**
293
- * Writes the snapshot of {@link localResolvedPolicy}, marked `source: local`.
429
+ * Writes the snapshot of {@link localResolvedPolicy}, marked `source: local`,
430
+ * with the local SOPs' decide rules ({@link localDecideRules}) when given.
294
431
  * The local holds refuse (`block`) rather than hold: with no control plane
295
432
  * nothing could approve them. Never fetches.
296
433
  */
297
434
  export declare function writeLocalPolicySnapshot(opts?: {
298
435
  localHoldTokens?: readonly string[];
299
436
  snapshotDir?: string;
437
+ decideRules?: ServedDecideRule[];
438
+ /** See {@link PolicySnapshotOptions.localSops}. */
439
+ localSops?: readonly SyncSopEntry[];
300
440
  }): Promise<{
301
441
  digest: string;
302
442
  ruleCount: number;
@@ -1 +1 @@
1
- {"version":3,"file":"policySnapshot.d.ts","sourceRoot":"","sources":["../../src/lib/policySnapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policySnapshot.d.ts","sourceRoot":"","sources":["../../src/lib/policySnapshot.ts"],"names":[],"mappings":"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"}