@intutic/sync-daemon 2.8.1 → 2.9.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.
- package/README.md +2 -2
- package/dist/disconnect/harnesses.d.ts.map +1 -1
- package/dist/disconnect/harnesses.js +7 -6
- package/dist/disconnect/harnesses.js.map +1 -1
- package/dist/disconnect/index.d.ts.map +1 -1
- package/dist/disconnect/index.js +14 -2
- package/dist/disconnect/index.js.map +1 -1
- package/dist/disconnect/plan.d.ts +6 -1
- package/dist/disconnect/plan.d.ts.map +1 -1
- package/dist/disconnect/plan.js +4 -2
- package/dist/disconnect/plan.js.map +1 -1
- package/dist/harness/aiderConfigMerger.d.ts +5 -2
- package/dist/harness/aiderConfigMerger.d.ts.map +1 -1
- package/dist/harness/aiderConfigMerger.js +16 -11
- package/dist/harness/aiderConfigMerger.js.map +1 -1
- package/dist/harness/claudeCodeHooks.d.ts.map +1 -1
- package/dist/harness/claudeCodeHooks.js +3 -1
- package/dist/harness/claudeCodeHooks.js.map +1 -1
- package/dist/harness/dshHooks.d.ts +2 -1
- package/dist/harness/dshHooks.d.ts.map +1 -1
- package/dist/harness/dshHooks.js +4 -2
- package/dist/harness/dshHooks.js.map +1 -1
- package/dist/harness/gooseHooks.d.ts +3 -1
- package/dist/harness/gooseHooks.d.ts.map +1 -1
- package/dist/harness/gooseHooks.js +5 -2
- package/dist/harness/gooseHooks.js.map +1 -1
- package/dist/harness/grokHooks.d.ts +2 -1
- package/dist/harness/grokHooks.d.ts.map +1 -1
- package/dist/harness/grokHooks.js +4 -1
- package/dist/harness/grokHooks.js.map +1 -1
- package/dist/harness/hermesHooks.d.ts +3 -1
- package/dist/harness/hermesHooks.d.ts.map +1 -1
- package/dist/harness/hermesHooks.js +9 -4
- package/dist/harness/hermesHooks.js.map +1 -1
- package/dist/harness/openhandsHooks.d.ts +2 -1
- package/dist/harness/openhandsHooks.d.ts.map +1 -1
- package/dist/harness/openhandsHooks.js +4 -2
- package/dist/harness/openhandsHooks.js.map +1 -1
- package/dist/harness/piHooks.d.ts +2 -1
- package/dist/harness/piHooks.d.ts.map +1 -1
- package/dist/harness/piHooks.js +4 -1
- package/dist/harness/piHooks.js.map +1 -1
- package/dist/harness/windsurfHooks.d.ts +3 -1
- package/dist/harness/windsurfHooks.d.ts.map +1 -1
- package/dist/harness/windsurfHooks.js +5 -1
- package/dist/harness/windsurfHooks.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/policySnapshot.d.ts +37 -2
- package/dist/lib/policySnapshot.d.ts.map +1 -1
- package/dist/lib/policySnapshot.js +54 -10
- package/dist/lib/policySnapshot.js.map +1 -1
- package/dist/lib/sopFiles.d.ts.map +1 -1
- package/dist/lib/sopFiles.js +5 -3
- package/dist/lib/sopFiles.js.map +1 -1
- package/dist/skillWriter.d.ts +1 -1
- package/dist/skillWriter.d.ts.map +1 -1
- package/dist/skillWriter.js +9 -11
- package/dist/skillWriter.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skillWriter.d.ts","sourceRoot":"","sources":["../src/skillWriter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAOH,mEAAmE;AACnE,eAAO,MAAM,sBAAsB,QAKlC,CAAA;AAED,gFAAgF;AAChF,eAAO,MAAM,iBAAiB,ykLA2E7B,CAAA;AAED,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB,QAA+E,CAAA;AAE7G,sFAAsF;AACtF,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"skillWriter.d.ts","sourceRoot":"","sources":["../src/skillWriter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAOH,mEAAmE;AACnE,eAAO,MAAM,sBAAsB,QAKlC,CAAA;AAED,gFAAgF;AAChF,eAAO,MAAM,iBAAiB,ykLA2E7B,CAAA;AAED,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB,QAA+E,CAAA;AAE7G,sFAAsF;AACtF,eAAO,MAAM,YAAY,y7aAuHxB,CAAA;AAED,8DAA8D;AAC9D,eAAO,MAAM,cAAc,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAG3E,CAAA;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBjF"}
|
package/dist/skillWriter.js
CHANGED
|
@@ -123,19 +123,17 @@ Hello! I am **Kitkat**, your friendly agentic control plane assistant for the In
|
|
|
123
123
|
Use the \`intutic\` CLI commands to manage the daemon, inspect execution traces, or manage governed task loops in your workspace:
|
|
124
124
|
|
|
125
125
|
### 1. Connection & Session Setup
|
|
126
|
-
- **
|
|
127
|
-
- **
|
|
128
|
-
- **Start
|
|
129
|
-
- **Stop Governing:** \`intutic disconnect [--harness <id>] [--dry-run] [--keep-login]\` (
|
|
130
|
-
- **Offline Spend Sync:** The sync daemon automatically reconciles offline query consumption logs (\`traces-*.jsonl\`) and local budgets back to the control plane on reconnect.
|
|
126
|
+
- **Initialize Workspace:** \`intutic init\` (detects the developer harnesses in the workspace, like Claude Code or Cursor, and records them in \`~/.intutic/config.json\`).
|
|
127
|
+
- **Install Gates:** \`intutic gates install [--harness <id>] [--route] [--dry-run]\` (writes each recorded harness's blocking hooks, and its rules file from the local SOPs in \`.intutic/sops/\`, with no control plane; \`--route\` also points the harnesses at the local proxy, which must then be running).
|
|
128
|
+
- **Start the Proxy:** \`intutic start\` (boots the local interceptor proxy, and refreshes installed gates at start and whenever \`.intutic/sops/\` changes).
|
|
129
|
+
- **Stop Governing:** \`intutic disconnect [--harness <id>] [--dry-run] [--keep-login]\` (restores every harness config Intutic changed and removes its hooks). Run it only when the user asks; \`--dry-run\` shows what would change.
|
|
131
130
|
|
|
132
131
|
### 2. Traces & Auditing
|
|
133
|
-
- **Check Budget:** \`intutic budget\` (displays
|
|
132
|
+
- **Check Budget:** \`intutic budget\` (displays the local daily spend cap and today's spend; with a control plane, the workspace limits too).
|
|
134
133
|
- **List Sessions:** \`intutic traces list\`
|
|
135
134
|
- **Inspect Session Trace:** \`intutic traces inspect <trace_id>\`
|
|
136
|
-
- **Push SOP Rules:** \`intutic sops push <name>\` (promotes local SOP rules to central repository).
|
|
137
135
|
|
|
138
|
-
### 3. Governed Task Loops
|
|
136
|
+
### 3. Governed Task Loops (control plane only)
|
|
139
137
|
- **Start Task Loop:** \`intutic loop start --name <name> [--budget <USD>] [--sops <indices_or_names>] [--auto-judge]\`
|
|
140
138
|
- **Execute Wrapped Agent:** \`intutic loop exec --name <name> [--budget <USD>] [--sops <indices_or_names>] [--auto-judge] -- <command>\`
|
|
141
139
|
- **Complete/Kill Loop:** \`intutic loop complete <loopRunId>\` / \`intutic loop kill <loopRunId>\`
|
|
@@ -189,7 +187,7 @@ Intutic names every refusal with a code: an SDK raises it (\`ClawdeBlockedError.
|
|
|
189
187
|
### Held: tell the user, then wait
|
|
190
188
|
A hold rule wants a person to see this call before it runs. Codes: \`HELD\` (with a hold id, \`hold_…\`), a hook gate's \`[Intutic Governance] HELD:\` message, \`LOOP_RUN_PENDING_REVIEW\` (the loop run is paused for review), and the proxy's \`policy_held\` (a Rego or WASM rule held the request; the error names the hold id). \`SERVER_HELD\` is the MCP registry's version: the server changed its tools in a risky way and waits for an owner or admin on the MCP Servers page.
|
|
191
189
|
- Tell the user what was held and quote the hold id.
|
|
192
|
-
- Only an **Owner, Admin or Engineering Manager** can decide it: \`intutic decision approve <holdId>\` or \`intutic decision reject <holdId>\`, or the Slack card. A developer cannot approve their own hold.
|
|
190
|
+
- Only an **Owner, Admin or Engineering Manager** can decide it, on a control plane: \`intutic decision approve <holdId>\` or \`intutic decision reject <holdId>\`, the review queue, or the Slack card. A developer cannot approve their own hold. With no control plane a hold cannot be approved: the call stays refused.
|
|
193
191
|
- Do not retry while it is pending. After approval, the identical call (same tool, same arguments) passes only if the workspace's review-hold bypass (\`reviewHoldBypassEnabled\`) is on, and only for a short window (10 minutes by default); otherwise approval records the decision and a retry is held again. The \`intutic_hold_status\` MCP tool says which.
|
|
194
192
|
- A hold with no hold id could not be recorded, so there is nothing to approve: tell the user.
|
|
195
193
|
|
|
@@ -223,11 +221,11 @@ Continue without it, or tell the user what would have to change and who can chan
|
|
|
223
221
|
## 🛡️ Policy & Hook Verification
|
|
224
222
|
|
|
225
223
|
1. **Pre-Tool Interception Hooks:**
|
|
226
|
-
Harness configurations (e.g. \`.claude/settings.json\`, \`.cursor/hooks.json\`) are
|
|
224
|
+
Harness configurations (e.g. \`.claude/settings.json\`, \`.cursor/hooks.json\`) are written by \`intutic gates install\`. They register execution hooks that block unauthorized tools or unsafe commands before execution.
|
|
227
225
|
2. **Local Guidelines & Scoping:**
|
|
228
226
|
Define local, developer-specific rules inside subdirectories of the \`.intutic/sops/\` directory (e.g. \`.intutic/sops/my-rules/rules.md\`). Initialize them using \`@intutic initialize\` and select active local SOPs using \`@intutic start <ticket> --sops=<indices_or_names>\`. These rules are enforced locally in the developer console to protect developer privacy, while global/corporate rules log incidents back to the control plane.
|
|
229
227
|
3. **Offline Sync & Promotion:**
|
|
230
|
-
When offline, prompt telemetry is stored locally in sharded files \`~/.intutic/logs/traces-YYYY-MM-DD.jsonl\` and budgets are enforced against sharded daily files \`~/.intutic/logs/local-spend-YYYY-MM-DD.jsonl\`.
|
|
228
|
+
When offline, prompt telemetry is stored locally in sharded files \`~/.intutic/logs/traces-YYYY-MM-DD.jsonl\` and budgets are enforced against sharded daily files \`~/.intutic/logs/local-spend-YYYY-MM-DD.jsonl\`. With a control plane, the sync daemon uploads them via \`/api/v1/traces/sync-back\` and cleans up the local files, and rules can be promoted workspace-wide.
|
|
231
229
|
`;
|
|
232
230
|
/** Every skill connect writes, by workspace-relative path. */
|
|
233
231
|
export const BUNDLED_SKILLS = [
|
package/dist/skillWriter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skillWriter.js","sourceRoot":"","sources":["../src/skillWriter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,SAAS,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,mEAAmE;AACnE,MAAM,CAAC,MAAM,sBAAsB,GAAG,SAAS,CAAC,IAAI,CAClD,SAAS,EACT,QAAQ,EACR,qBAAqB,EACrB,UAAU,CACX,CAAA;AAED,gFAAgF;AAChF,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2EhC,CAAA;AAED,8DAA8D;AAC9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,2BAA2B,EAAE,UAAU,CAAC,CAAA;AAE7G,sFAAsF;AACtF,MAAM,CAAC,MAAM,YAAY,GAAG
|
|
1
|
+
{"version":3,"file":"skillWriter.js","sourceRoot":"","sources":["../src/skillWriter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,SAAS,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,mEAAmE;AACnE,MAAM,CAAC,MAAM,sBAAsB,GAAG,SAAS,CAAC,IAAI,CAClD,SAAS,EACT,QAAQ,EACR,qBAAqB,EACrB,UAAU,CACX,CAAA;AAED,gFAAgF;AAChF,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2EhC,CAAA;AAED,8DAA8D;AAC9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,2BAA2B,EAAE,UAAU,CAAC,CAAA;AAE7G,sFAAsF;AACtF,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuH3B,CAAA;AAED,8DAA8D;AAC9D,MAAM,CAAC,MAAM,cAAc,GAAqD;IAC9E,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,iBAAiB,EAAE;IAC5D,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,YAAY,EAAE;CACnD,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,aAAqB;IAC5D,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QACtD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC1B,SAAQ,CAAC,uCAAuC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;QACD,kEAAkE;QAClE,0DAA0D;QAC1D,MAAM,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;QACvC,MAAM,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACjE,MAAM,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;QAC1C,MAAM,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;QACrD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACpB,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intutic/sync-daemon",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.9.1",
|
|
4
4
|
"description": "Intutic Sync Daemon — bidirectional state sync between control plane and developer workspaces",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -109,10 +109,10 @@
|
|
|
109
109
|
"ws": "^8.21.0",
|
|
110
110
|
"yaml": "^2.9.0",
|
|
111
111
|
"zod": "^3",
|
|
112
|
-
"@intutic/
|
|
113
|
-
"@intutic/logger": "2.
|
|
114
|
-
"@intutic/
|
|
115
|
-
"@intutic/
|
|
112
|
+
"@intutic/mcp-governance-proxy": "2.9.1",
|
|
113
|
+
"@intutic/logger": "2.9.1",
|
|
114
|
+
"@intutic/id": "2.9.1",
|
|
115
|
+
"@intutic/shared-types": "2.9.1"
|
|
116
116
|
},
|
|
117
117
|
"devDependencies": {
|
|
118
118
|
"@types/node": "^22",
|