@intutic/cli 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.
- package/dist/cli.js +103 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +15 -2
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/decide.d.ts +220 -0
- package/dist/commands/decide.d.ts.map +1 -0
- package/dist/commands/decide.js +1297 -0
- package/dist/commands/decide.js.map +1 -0
- package/dist/commands/doctor.d.ts +10 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +56 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/gates.d.ts +5 -0
- package/dist/commands/gates.d.ts.map +1 -1
- package/dist/commands/gates.js +42 -1
- package/dist/commands/gates.js.map +1 -1
- package/dist/commands/judge.d.ts +21 -1
- package/dist/commands/judge.d.ts.map +1 -1
- package/dist/commands/judge.js +71 -5
- package/dist/commands/judge.js.map +1 -1
- package/dist/commands/rollback.d.ts.map +1 -1
- package/dist/commands/rollback.js +11 -0
- package/dist/commands/rollback.js.map +1 -1
- package/dist/commands/skill.d.ts +17 -0
- package/dist/commands/skill.d.ts.map +1 -1
- package/dist/commands/skill.js +172 -7
- package/dist/commands/skill.js.map +1 -1
- package/dist/commands/start.d.ts +6 -0
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +31 -1
- package/dist/commands/start.js.map +1 -1
- package/dist/lib/decideBudget.d.ts +40 -0
- package/dist/lib/decideBudget.d.ts.map +1 -0
- package/dist/lib/decideBudget.js +46 -0
- package/dist/lib/decideBudget.js.map +1 -0
- package/dist/lib/decideEval.d.ts +126 -0
- package/dist/lib/decideEval.d.ts.map +1 -0
- package/dist/lib/decideEval.js +412 -0
- package/dist/lib/decideEval.js.map +1 -0
- package/dist/lib/decideLocal.d.ts +84 -0
- package/dist/lib/decideLocal.d.ts.map +1 -0
- package/dist/lib/decideLocal.js +178 -0
- package/dist/lib/decideLocal.js.map +1 -0
- package/dist/lib/decideRules.d.ts +43 -0
- package/dist/lib/decideRules.d.ts.map +1 -0
- package/dist/lib/decideRules.js +104 -0
- package/dist/lib/decideRules.js.map +1 -0
- package/dist/lib/localGates.d.ts +7 -7
- package/dist/lib/localGates.d.ts.map +1 -1
- package/dist/lib/localGates.js +94 -11
- package/dist/lib/localGates.js.map +1 -1
- package/dist/lib/policySnapshot.d.ts +27 -0
- package/dist/lib/policySnapshot.d.ts.map +1 -1
- package/dist/lib/policySnapshot.js +64 -2
- package/dist/lib/policySnapshot.js.map +1 -1
- 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
|
-
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;
|
|
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": "
|
|
3
|
+
"version": "3.0.0",
|
|
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": "
|
|
44
|
-
"@intutic/
|
|
45
|
-
"@intutic/
|
|
46
|
-
"@intutic/
|
|
43
|
+
"@intutic/shared-types": "3.0.0",
|
|
44
|
+
"@intutic/id": "3.0.0",
|
|
45
|
+
"@intutic/sync-daemon": "3.0.0",
|
|
46
|
+
"@intutic/logger": "3.0.0"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"typescript": "^5.5",
|