@intutic/cli 2.9.1 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/cli.js +103 -1
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/connect.d.ts.map +1 -1
  4. package/dist/commands/connect.js +15 -2
  5. package/dist/commands/connect.js.map +1 -1
  6. package/dist/commands/decide.d.ts +220 -0
  7. package/dist/commands/decide.d.ts.map +1 -0
  8. package/dist/commands/decide.js +1297 -0
  9. package/dist/commands/decide.js.map +1 -0
  10. package/dist/commands/doctor.d.ts +10 -0
  11. package/dist/commands/doctor.d.ts.map +1 -1
  12. package/dist/commands/doctor.js +56 -2
  13. package/dist/commands/doctor.js.map +1 -1
  14. package/dist/commands/gates.d.ts +5 -0
  15. package/dist/commands/gates.d.ts.map +1 -1
  16. package/dist/commands/gates.js +42 -1
  17. package/dist/commands/gates.js.map +1 -1
  18. package/dist/commands/judge.d.ts +21 -1
  19. package/dist/commands/judge.d.ts.map +1 -1
  20. package/dist/commands/judge.js +71 -5
  21. package/dist/commands/judge.js.map +1 -1
  22. package/dist/commands/rollback.d.ts.map +1 -1
  23. package/dist/commands/rollback.js +11 -0
  24. package/dist/commands/rollback.js.map +1 -1
  25. package/dist/commands/skill.d.ts +17 -0
  26. package/dist/commands/skill.d.ts.map +1 -1
  27. package/dist/commands/skill.js +172 -7
  28. package/dist/commands/skill.js.map +1 -1
  29. package/dist/commands/start.d.ts +6 -0
  30. package/dist/commands/start.d.ts.map +1 -1
  31. package/dist/commands/start.js +31 -1
  32. package/dist/commands/start.js.map +1 -1
  33. package/dist/lib/decideBudget.d.ts +40 -0
  34. package/dist/lib/decideBudget.d.ts.map +1 -0
  35. package/dist/lib/decideBudget.js +46 -0
  36. package/dist/lib/decideBudget.js.map +1 -0
  37. package/dist/lib/decideEval.d.ts +126 -0
  38. package/dist/lib/decideEval.d.ts.map +1 -0
  39. package/dist/lib/decideEval.js +412 -0
  40. package/dist/lib/decideEval.js.map +1 -0
  41. package/dist/lib/decideLocal.d.ts +84 -0
  42. package/dist/lib/decideLocal.d.ts.map +1 -0
  43. package/dist/lib/decideLocal.js +178 -0
  44. package/dist/lib/decideLocal.js.map +1 -0
  45. package/dist/lib/decideRules.d.ts +43 -0
  46. package/dist/lib/decideRules.d.ts.map +1 -0
  47. package/dist/lib/decideRules.js +104 -0
  48. package/dist/lib/decideRules.js.map +1 -0
  49. package/dist/lib/localGates.d.ts +7 -7
  50. package/dist/lib/localGates.d.ts.map +1 -1
  51. package/dist/lib/localGates.js +94 -11
  52. package/dist/lib/localGates.js.map +1 -1
  53. package/dist/lib/policySnapshot.d.ts +27 -0
  54. package/dist/lib/policySnapshot.d.ts.map +1 -1
  55. package/dist/lib/policySnapshot.js +64 -2
  56. package/dist/lib/policySnapshot.js.map +1 -1
  57. package/package.json +5 -5
@@ -32,6 +32,7 @@ import { readFileSync } from 'node:fs';
32
32
  import { homedir } from 'node:os';
33
33
  import { join } from 'node:path';
34
34
  import { createHash } from 'node:crypto';
35
+ import { DECIDE_FALLBACK_PREFIX, DECIDE_RECORD_TAG, SNAPSHOT_FORMAT_RECORD_TAG, decideRuleHash, decodeDecideRecord, decodeSnapshotFormatRecord, validateDecideRule, RULE_RECORD_TAG, decodeGateRuleRecord, } from '@intutic/shared-types';
35
36
  /**
36
37
  * Staleness window, in days.
37
38
  *
@@ -59,6 +60,19 @@ export function resolveSnapshotRulesPath() {
59
60
  return override;
60
61
  return join(homedir(), '.intutic', 'hooks', SNAPSHOT_RULES_FILE);
61
62
  }
63
+ /**
64
+ * Whether the gates this reports on, and this CLI, evaluate the decide rules
65
+ * a snapshot carries. They do: every gate family evaluates them (the shell
66
+ * and n8n gates through `intutic decide check`), so a fallback line a decoded
67
+ * record names is skipped by the gates and not counted as a rule here. A
68
+ * fallback line no decoded record names still refuses, and is counted.
69
+ */
70
+ export const CAN_EVALUATE_DECIDE = true;
71
+ /** A decide record's rule: its hash when it is valid. */
72
+ function checkDecideRule(ir) {
73
+ const v = validateDecideRule(ir);
74
+ return v.ok ? decideRuleHash(v.rule, (t) => createHash('sha256').update(t, 'utf8').digest('hex')) : null;
75
+ }
62
76
  /**
63
77
  * Classify snapshot text exactly as `intuticLoadSnapshot` does.
64
78
  *
@@ -75,11 +89,20 @@ export function parsePolicySnapshot(text, opts = {}) {
75
89
  ageDays: 0,
76
90
  ruleCount: 0,
77
91
  droppedRules: 0,
92
+ formatVersion: 1,
93
+ decideRules: 0,
94
+ gateRules: 0,
95
+ planApproval: false,
78
96
  path: opts.path ?? resolveSnapshotRulesPath(),
79
97
  };
80
98
  // The SSO-group refusals the gates keep when they drop the rest of an
81
99
  // invalid snapshot's dynamic tier.
82
100
  let ssoGroupRefusals = 0;
101
+ // The rules a gate loads, by id, and the fallback lines decoded records
102
+ // name: a gate that evaluates decide rules skips those, so they are
103
+ // subtracted below.
104
+ const ruleIds = [];
105
+ const fallbacks = new Set();
83
106
  const lines = text.split('\n');
84
107
  for (const line of lines) {
85
108
  if (line.startsWith('#digest ')) {
@@ -96,6 +119,30 @@ export function parsePolicySnapshot(text, opts = {}) {
96
119
  }
97
120
  if (!line || line.startsWith('#'))
98
121
  continue;
122
+ if (line.startsWith(`${SNAPSHOT_FORMAT_RECORD_TAG}\t`)) {
123
+ out.formatVersion = decodeSnapshotFormatRecord(line) ?? out.formatVersion;
124
+ continue;
125
+ }
126
+ if (line.startsWith(`${RULE_RECORD_TAG}\t`)) {
127
+ const record = decodeGateRuleRecord(line);
128
+ if (record) {
129
+ out.gateRules += 1;
130
+ if (record.fallbackId)
131
+ fallbacks.add(record.fallbackId);
132
+ if (record.kind === 'plan_approval' && record.rollout === 'enforce')
133
+ out.planApproval = true;
134
+ }
135
+ continue;
136
+ }
137
+ if (line.startsWith(`${DECIDE_RECORD_TAG}\t`)) {
138
+ const record = decodeDecideRecord(line, checkDecideRule);
139
+ if (record) {
140
+ out.decideRules += 1;
141
+ if (record.fallbackId)
142
+ fallbacks.add(record.fallbackId);
143
+ }
144
+ continue;
145
+ }
99
146
  // Column order is `RULES_COLUMNS`: id, severity, flags, subject, reason,
100
147
  // source. A short record or a record with no pattern is skipped silently by
101
148
  // the gates, so it is skipped here — counting it would report rules that
@@ -113,10 +160,17 @@ export function parsePolicySnapshot(text, opts = {}) {
113
160
  out.droppedRules += 1;
114
161
  continue;
115
162
  }
116
- out.ruleCount += 1;
163
+ ruleIds.push(f[0]);
117
164
  if (f[0].startsWith('sso_group.') && f[1] === 'block')
118
165
  ssoGroupRefusals += 1;
119
166
  }
167
+ out.ruleCount = ruleIds.filter((id) => {
168
+ if (id.endsWith('.legacy'))
169
+ return false;
170
+ if (id.startsWith(DECIDE_FALLBACK_PREFIX))
171
+ return !CAN_EVALUATE_DECIDE || !fallbacks.has(id);
172
+ return !fallbacks.has(id);
173
+ }).length;
120
174
  // Integrity, cheapest failure first. A digest nobody recomputes is a comment;
121
175
  // a workspace id nobody compares means workspace A's rules get enforced on B's
122
176
  // machine, with B's audit events attributing A's policy to B.
@@ -138,8 +192,12 @@ export function parsePolicySnapshot(text, opts = {}) {
138
192
  // behaviour rather than opening a hole — except the SSO-group refusals,
139
193
  // which the gates keep because they only ever refuse. Reported as what the
140
194
  // gates will have.
141
- if (out.state === 'invalid')
195
+ if (out.state === 'invalid') {
142
196
  out.ruleCount = ssoGroupRefusals;
197
+ out.decideRules = 0;
198
+ out.gateRules = 0;
199
+ out.planApproval = false;
200
+ }
143
201
  if (out.state === 'ok' && out.generatedAt) {
144
202
  const t = Date.parse(out.generatedAt);
145
203
  if (!Number.isNaN(t)) {
@@ -175,6 +233,10 @@ export function readPolicySnapshot(opts = {}) {
175
233
  ageDays: 0,
176
234
  ruleCount: 0,
177
235
  droppedRules: 0,
236
+ formatVersion: 1,
237
+ decideRules: 0,
238
+ gateRules: 0,
239
+ planApproval: false,
178
240
  path,
179
241
  };
180
242
  }
@@ -1 +1 @@
1
- {"version":3,"file":"policySnapshot.js","sourceRoot":"","sources":["../../src/lib/policySnapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policySnapshot.js","sourceRoot":"","sources":["../../src/lib/policySnapshot.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intutic/cli",
3
- "version": "2.9.1",
3
+ "version": "3.0.1",
4
4
  "description": "Intutic CLI — sync daemon, harness detection, and workspace management",
5
5
  "type": "module",
6
6
  "bin": {
@@ -40,10 +40,10 @@
40
40
  "ioredis": "^5.11.1",
41
41
  "picocolors": "^1",
42
42
  "yaml": "^2.9.0",
43
- "@intutic/shared-types": "2.9.1",
44
- "@intutic/logger": "2.9.1",
45
- "@intutic/id": "2.9.1",
46
- "@intutic/sync-daemon": "2.9.1"
43
+ "@intutic/shared-types": "3.0.1",
44
+ "@intutic/logger": "3.0.1",
45
+ "@intutic/sync-daemon": "3.0.1",
46
+ "@intutic/id": "3.0.1"
47
47
  },
48
48
  "devDependencies": {
49
49
  "typescript": "^5.5",