@intutic/cli 2.0.0 → 2.2.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 +131 -130
- package/dist/cli.js.map +1 -1
- package/dist/commands/attenuate.d.ts.map +1 -1
- package/dist/commands/attenuate.js +4 -2
- package/dist/commands/attenuate.js.map +1 -1
- package/dist/commands/budget.d.ts.map +1 -1
- package/dist/commands/budget.js +2 -2
- package/dist/commands/budget.js.map +1 -1
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +138 -49
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/disconnect.d.ts +25 -0
- package/dist/commands/disconnect.d.ts.map +1 -0
- package/dist/commands/disconnect.js +252 -0
- package/dist/commands/disconnect.js.map +1 -0
- package/dist/commands/doctor.d.ts +19 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +33 -41
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/enforce.d.ts +10 -0
- package/dist/commands/enforce.d.ts.map +1 -1
- package/dist/commands/enforce.js +36 -0
- package/dist/commands/enforce.js.map +1 -1
- package/dist/commands/env.d.ts +1 -1
- package/dist/commands/env.d.ts.map +1 -1
- package/dist/commands/env.js +2 -7
- package/dist/commands/env.js.map +1 -1
- package/dist/commands/exec.d.ts +7 -8
- package/dist/commands/exec.d.ts.map +1 -1
- package/dist/commands/exec.js +59 -60
- package/dist/commands/exec.js.map +1 -1
- package/dist/commands/gateway.d.ts +2 -0
- package/dist/commands/gateway.d.ts.map +1 -1
- package/dist/commands/gateway.js +16 -3
- package/dist/commands/gateway.js.map +1 -1
- package/dist/commands/guardrails.d.ts.map +1 -1
- package/dist/commands/guardrails.js +18 -1
- package/dist/commands/guardrails.js.map +1 -1
- package/dist/commands/init.d.ts +5 -2
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +38 -22
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/install-daemon.d.ts +1 -1
- package/dist/commands/install-daemon.d.ts.map +1 -1
- package/dist/commands/install-daemon.js +5 -3
- package/dist/commands/install-daemon.js.map +1 -1
- package/dist/commands/integrity.d.ts +31 -2
- package/dist/commands/integrity.d.ts.map +1 -1
- package/dist/commands/integrity.js +116 -3
- package/dist/commands/integrity.js.map +1 -1
- package/dist/commands/judge.d.ts +8 -4
- package/dist/commands/judge.d.ts.map +1 -1
- package/dist/commands/judge.js +41 -21
- package/dist/commands/judge.js.map +1 -1
- package/dist/commands/login.d.ts +1 -0
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +16 -1
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/predict-cost.d.ts +1 -2
- package/dist/commands/predict-cost.d.ts.map +1 -1
- package/dist/commands/predict-cost.js +1 -4
- package/dist/commands/predict-cost.js.map +1 -1
- package/dist/commands/setup.d.ts +1 -2
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +11 -68
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/skill.d.ts +1 -0
- package/dist/commands/skill.d.ts.map +1 -1
- package/dist/commands/skill.js +17 -3
- package/dist/commands/skill.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +5 -1
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/syncContext.d.ts.map +1 -1
- package/dist/commands/syncContext.js +15 -5
- package/dist/commands/syncContext.js.map +1 -1
- package/dist/config/paths.d.ts +25 -3
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +47 -7
- package/dist/config/paths.js.map +1 -1
- package/dist/harness/agentFramework.d.ts +25 -0
- package/dist/harness/agentFramework.d.ts.map +1 -0
- package/dist/harness/agentFramework.js +37 -0
- package/dist/harness/agentFramework.js.map +1 -0
- package/dist/harness/agentcore.d.ts +6 -3
- package/dist/harness/agentcore.d.ts.map +1 -1
- package/dist/harness/agentcore.js +7 -4
- package/dist/harness/agentcore.js.map +1 -1
- package/dist/harness/agenticOrchestrator.d.ts +3 -5
- package/dist/harness/agenticOrchestrator.d.ts.map +1 -1
- package/dist/harness/agenticOrchestrator.js +3 -5
- package/dist/harness/agenticOrchestrator.js.map +1 -1
- package/dist/harness/aiSdkHarness.d.ts +1 -1
- package/dist/harness/aiSdkHarness.js +1 -1
- package/dist/harness/aiSdkWorkflow.d.ts +1 -1
- package/dist/harness/aiSdkWorkflow.d.ts.map +1 -1
- package/dist/harness/aiSdkWorkflow.js +5 -3
- package/dist/harness/aiSdkWorkflow.js.map +1 -1
- package/dist/harness/aider.d.ts +4 -3
- package/dist/harness/aider.d.ts.map +1 -1
- package/dist/harness/aider.js +7 -6
- package/dist/harness/aider.js.map +1 -1
- package/dist/harness/antigravity.d.ts +4 -2
- package/dist/harness/antigravity.d.ts.map +1 -1
- package/dist/harness/antigravity.js +15 -12
- package/dist/harness/antigravity.js.map +1 -1
- package/dist/harness/base.d.ts +5 -1
- package/dist/harness/base.d.ts.map +1 -1
- package/dist/harness/base.js +9 -8
- package/dist/harness/base.js.map +1 -1
- package/dist/harness/cline.d.ts +10 -4
- package/dist/harness/cline.d.ts.map +1 -1
- package/dist/harness/cline.js +40 -32
- package/dist/harness/cline.js.map +1 -1
- package/dist/harness/codex.d.ts +10 -4
- package/dist/harness/codex.d.ts.map +1 -1
- package/dist/harness/codex.js +30 -32
- package/dist/harness/codex.js.map +1 -1
- package/dist/harness/continue.d.ts +8 -5
- package/dist/harness/continue.d.ts.map +1 -1
- package/dist/harness/continue.js +27 -63
- package/dist/harness/continue.js.map +1 -1
- package/dist/harness/cursor.d.ts.map +1 -1
- package/dist/harness/cursor.js +2 -6
- package/dist/harness/cursor.js.map +1 -1
- package/dist/harness/detector.d.ts +1 -1
- package/dist/harness/detector.d.ts.map +1 -1
- package/dist/harness/detector.js +3 -1
- package/dist/harness/detector.js.map +1 -1
- package/dist/harness/dsh.d.ts +2 -2
- package/dist/harness/dsh.js +3 -3
- package/dist/harness/dsh.js.map +1 -1
- package/dist/harness/eve.d.ts +1 -1
- package/dist/harness/eve.js +1 -1
- package/dist/harness/githubCopilot.d.ts +4 -2
- package/dist/harness/githubCopilot.d.ts.map +1 -1
- package/dist/harness/githubCopilot.js +13 -8
- package/dist/harness/githubCopilot.js.map +1 -1
- package/dist/harness/grok.d.ts.map +1 -1
- package/dist/harness/grok.js +4 -6
- package/dist/harness/grok.js.map +1 -1
- package/dist/harness/jsSdkGatedAdapter.d.ts.map +1 -1
- package/dist/harness/jsSdkGatedAdapter.js +8 -9
- package/dist/harness/jsSdkGatedAdapter.js.map +1 -1
- package/dist/harness/langgraph.d.ts.map +1 -1
- package/dist/harness/langgraph.js +8 -10
- package/dist/harness/langgraph.js.map +1 -1
- package/dist/harness/muse.d.ts.map +1 -1
- package/dist/harness/muse.js +4 -6
- package/dist/harness/muse.js.map +1 -1
- package/dist/harness/n8n.d.ts +12 -2
- package/dist/harness/n8n.d.ts.map +1 -1
- package/dist/harness/n8n.js +66 -3
- package/dist/harness/n8n.js.map +1 -1
- package/dist/harness/openWebUI.d.ts +7 -2
- package/dist/harness/openWebUI.d.ts.map +1 -1
- package/dist/harness/openWebUI.js +15 -4
- package/dist/harness/openWebUI.js.map +1 -1
- package/dist/harness/openaiAgents.d.ts.map +1 -1
- package/dist/harness/openaiAgents.js +4 -1
- package/dist/harness/openaiAgents.js.map +1 -1
- package/dist/harness/opencode.d.ts +3 -2
- package/dist/harness/opencode.d.ts.map +1 -1
- package/dist/harness/opencode.js +7 -8
- package/dist/harness/opencode.js.map +1 -1
- package/dist/harness/openhands.d.ts +3 -2
- package/dist/harness/openhands.d.ts.map +1 -1
- package/dist/harness/openhands.js +40 -27
- package/dist/harness/openhands.js.map +1 -1
- package/dist/harness/rooCode.d.ts +6 -5
- package/dist/harness/rooCode.d.ts.map +1 -1
- package/dist/harness/rooCode.js +13 -18
- package/dist/harness/rooCode.js.map +1 -1
- package/dist/harness/sdkGatedAdapter.d.ts.map +1 -1
- package/dist/harness/sdkGatedAdapter.js +8 -9
- package/dist/harness/sdkGatedAdapter.js.map +1 -1
- package/dist/harness/trueforge.js +2 -2
- package/dist/harness/trueforge.js.map +1 -1
- package/dist/harness/types.d.ts.map +1 -1
- package/dist/harness/types.js +4 -1
- package/dist/harness/types.js.map +1 -1
- package/dist/harness/windsurf.d.ts +4 -2
- package/dist/harness/windsurf.d.ts.map +1 -1
- package/dist/harness/windsurf.js +14 -11
- package/dist/harness/windsurf.js.map +1 -1
- package/dist/harness/xirp.d.ts +5 -7
- package/dist/harness/xirp.d.ts.map +1 -1
- package/dist/harness/xirp.js +5 -7
- package/dist/harness/xirp.js.map +1 -1
- package/dist/lib/envInjector.d.ts +16 -6
- package/dist/lib/envInjector.d.ts.map +1 -1
- package/dist/lib/envInjector.js +99 -88
- package/dist/lib/envInjector.js.map +1 -1
- package/dist/lib/localProxy.d.ts +19 -0
- package/dist/lib/localProxy.d.ts.map +1 -0
- package/dist/lib/localProxy.js +33 -0
- package/dist/lib/localProxy.js.map +1 -0
- package/dist/lib/onboarding.d.ts +1 -1
- package/dist/lib/onboarding.d.ts.map +1 -1
- package/dist/lib/onboarding.js +21 -27
- package/dist/lib/onboarding.js.map +1 -1
- package/dist/lib/otelPropagation.d.ts +1 -1
- package/dist/lib/otelPropagation.js +1 -1
- package/dist/lib/policySnapshot.d.ts +2 -1
- package/dist/lib/policySnapshot.d.ts.map +1 -1
- package/dist/lib/policySnapshot.js +11 -4
- package/dist/lib/policySnapshot.js.map +1 -1
- package/dist/lib/sandbox/image.d.ts +27 -0
- package/dist/lib/sandbox/image.d.ts.map +1 -0
- package/dist/lib/sandbox/image.js +54 -0
- package/dist/lib/sandbox/image.js.map +1 -0
- package/dist/lib/sandbox/oci.d.ts +1 -0
- package/dist/lib/sandbox/oci.d.ts.map +1 -1
- package/dist/lib/sandbox/oci.js +4 -0
- package/dist/lib/sandbox/oci.js.map +1 -1
- package/dist/lib/sandbox/types.d.ts +5 -0
- package/dist/lib/sandbox/types.d.ts.map +1 -1
- package/package.json +6 -5
- package/resources/sandbox/Dockerfile +30 -0
- package/resources/sandbox/entrypoint.sh +108 -0
- package/resources/sandbox/firecracker-launch.sh +120 -0
- package/dist/harness/vscodeSettingsWriter.d.ts +0 -40
- package/dist/harness/vscodeSettingsWriter.d.ts.map +0 -1
- package/dist/harness/vscodeSettingsWriter.js +0 -116
- package/dist/harness/vscodeSettingsWriter.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/harness/opencode.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/harness/opencode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* openhands.ts — OpenHands adapter (full implementation with hooks + llm.base_url).
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Merges SOP content ([intutic]) and llm.base_url ([llm]) into config.toml,
|
|
5
|
+
* keeping the rest of the file, and injects PreToolUse hooks via
|
|
6
|
+
* .openhands/hooks.json.
|
|
6
7
|
*
|
|
7
8
|
* HLD §3.14 — Harness Onboarding Matrix
|
|
8
9
|
* @module
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openhands.d.ts","sourceRoot":"","sources":["../../src/harness/openhands.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"openhands.d.ts","sourceRoot":"","sources":["../../src/harness/openhands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAQjD,eAAO,MAAM,gBAAgB,EAAE,eA4D9B,CAAA"}
|
|
@@ -1,59 +1,72 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* openhands.ts — OpenHands adapter (full implementation with hooks + llm.base_url).
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Merges SOP content ([intutic]) and llm.base_url ([llm]) into config.toml,
|
|
5
|
+
* keeping the rest of the file, and injects PreToolUse hooks via
|
|
6
|
+
* .openhands/hooks.json.
|
|
6
7
|
*
|
|
7
8
|
* HLD §3.14 — Harness Onboarding Matrix
|
|
8
9
|
* @module
|
|
9
10
|
*/
|
|
10
11
|
import { join, dirname } from 'node:path';
|
|
11
|
-
import { access, writeFile, rename, mkdir } from 'node:fs/promises';
|
|
12
|
+
import { access, readFile, writeFile, rename, mkdir } from 'node:fs/promises';
|
|
12
13
|
import { HarnessType } from '@intutic/shared-types';
|
|
13
14
|
import { hashFile } from '../lib/hash.js';
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
15
|
+
import { writeOpenHandsHooks, mergeOpenHandsToml, isOpenHandsConfig } from '@intutic/sync-daemon/harness/openhandsHooks';
|
|
16
|
+
import { keepOriginal } from '@intutic/sync-daemon';
|
|
17
|
+
import { log } from '../lib/logger.js';
|
|
16
18
|
const CONFIG_FILE = 'config.toml';
|
|
17
19
|
export const openhandsAdapter = {
|
|
18
20
|
type: HarnessType.OPENHANDS,
|
|
19
21
|
configFileName: CONFIG_FILE,
|
|
22
|
+
// `.openhands/` is OpenHands' own per-repository directory (`setup.sh`,
|
|
23
|
+
// microagents). Without it, a `config.toml` counts only when it is an
|
|
24
|
+
// OpenHands configuration: the file name alone matched every Hugo site and
|
|
25
|
+
// any other project with a config.toml.
|
|
20
26
|
async detect(workspaceRoot) {
|
|
21
27
|
try {
|
|
22
|
-
await access(join(workspaceRoot,
|
|
28
|
+
await access(join(workspaceRoot, '.openhands'));
|
|
23
29
|
return true;
|
|
24
30
|
}
|
|
31
|
+
catch {
|
|
32
|
+
// No per-repository directory: look at config.toml.
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
return isOpenHandsConfig(await readFile(join(workspaceRoot, CONFIG_FILE), 'utf-8'));
|
|
36
|
+
}
|
|
25
37
|
catch {
|
|
26
38
|
return false;
|
|
27
39
|
}
|
|
28
40
|
},
|
|
29
41
|
async writeConfig(workspaceRoot, sops, proxyUrl) {
|
|
30
42
|
const filePath = join(workspaceRoot, CONFIG_FILE);
|
|
31
|
-
const tmpPath = filePath + '.intutic-tmp';
|
|
32
43
|
const instructions = sops.length > 0
|
|
33
44
|
? sops.map((sop) => `## ${sop.title}\n\n${sop.content}`).join('\n\n---\n\n')
|
|
34
45
|
: '# Intutic governance active — no SOP rules configured yet.';
|
|
35
|
-
//
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
''
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
''
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
46
|
+
// Merged into the user's config.toml: [llm] base_url and an [intutic]
|
|
47
|
+
// table for the SOP text; everything else is kept. A file that does not
|
|
48
|
+
// parse is left alone.
|
|
49
|
+
let raw = '';
|
|
50
|
+
try {
|
|
51
|
+
raw = await readFile(filePath, 'utf-8');
|
|
52
|
+
}
|
|
53
|
+
catch { /* no config.toml yet */ }
|
|
54
|
+
const merged = mergeOpenHandsToml(raw, proxyUrl, instructions);
|
|
55
|
+
let written = null;
|
|
56
|
+
if (merged === null) {
|
|
57
|
+
log.warn(`${filePath} is not valid TOML — left untouched`);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
const tmpPath = filePath + '.intutic-tmp';
|
|
61
|
+
await keepOriginal(filePath, workspaceRoot);
|
|
62
|
+
await mkdir(dirname(filePath), { recursive: true });
|
|
63
|
+
await writeFile(tmpPath, merged, 'utf-8');
|
|
64
|
+
await rename(tmpPath, filePath);
|
|
65
|
+
written = filePath;
|
|
66
|
+
}
|
|
54
67
|
// Inject .openhands/hooks.json PreToolUse hook
|
|
55
68
|
await writeOpenHandsHooks(workspaceRoot, proxyUrl);
|
|
56
|
-
return
|
|
69
|
+
return written;
|
|
57
70
|
},
|
|
58
71
|
async readCurrentHash(workspaceRoot) {
|
|
59
72
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openhands.js","sourceRoot":"","sources":["../../src/harness/openhands.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"openhands.js","sourceRoot":"","sources":["../../src/harness/openhands.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rooCode.ts — Roo Code adapter
|
|
2
|
+
* rooCode.ts — Roo Code adapter.
|
|
3
3
|
*
|
|
4
|
-
* Detects the Roo Code VS Code extension
|
|
5
|
-
* as .roorules
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Detects the Roo Code VS Code extension and writes Intutic governance rules
|
|
5
|
+
* as .roorules. Roo Code has no hook system to install a tool-call gate into,
|
|
6
|
+
* and keeps its API provider and base URL in its own settings panel rather
|
|
7
|
+
* than in any file this adapter can write, so routing it through the proxy is
|
|
8
|
+
* a manual step (see the Roo Code integration page).
|
|
8
9
|
*
|
|
9
10
|
* HLD §3.14 — Harness Onboarding Matrix
|
|
10
11
|
* @module
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rooCode.d.ts","sourceRoot":"","sources":["../../src/harness/rooCode.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"rooCode.d.ts","sourceRoot":"","sources":["../../src/harness/rooCode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAOjD,eAAO,MAAM,cAAc,EAAE,eAsD5B,CAAA"}
|
package/dist/harness/rooCode.js
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rooCode.ts — Roo Code adapter
|
|
2
|
+
* rooCode.ts — Roo Code adapter.
|
|
3
3
|
*
|
|
4
|
-
* Detects the Roo Code VS Code extension
|
|
5
|
-
* as .roorules
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Detects the Roo Code VS Code extension and writes Intutic governance rules
|
|
5
|
+
* as .roorules. Roo Code has no hook system to install a tool-call gate into,
|
|
6
|
+
* and keeps its API provider and base URL in its own settings panel rather
|
|
7
|
+
* than in any file this adapter can write, so routing it through the proxy is
|
|
8
|
+
* a manual step (see the Roo Code integration page).
|
|
8
9
|
*
|
|
9
10
|
* HLD §3.14 — Harness Onboarding Matrix
|
|
10
11
|
* @module
|
|
11
12
|
*/
|
|
12
|
-
import { access, readdir
|
|
13
|
-
import { join
|
|
13
|
+
import { access, readdir } from 'node:fs/promises';
|
|
14
|
+
import { join } from 'node:path';
|
|
14
15
|
import { homedir } from 'node:os';
|
|
15
16
|
import { HarnessType } from '@intutic/shared-types';
|
|
16
17
|
import { hashFile } from '../lib/hash.js';
|
|
17
18
|
import { newIso } from '@intutic/id';
|
|
18
|
-
import {
|
|
19
|
+
import { writeOwnedFile } from '@intutic/sync-daemon';
|
|
19
20
|
const CONFIG_FILE = '.roorules';
|
|
20
21
|
export const rooCodeAdapter = {
|
|
21
22
|
type: HarnessType.ROO_CODE,
|
|
@@ -41,8 +42,7 @@ export const rooCodeAdapter = {
|
|
|
41
42
|
return false;
|
|
42
43
|
}
|
|
43
44
|
},
|
|
44
|
-
async writeConfig(workspaceRoot, sops,
|
|
45
|
-
// 1. Write .roorules governance text
|
|
45
|
+
async writeConfig(workspaceRoot, sops, _proxyUrl) {
|
|
46
46
|
const filePath = join(workspaceRoot, CONFIG_FILE);
|
|
47
47
|
const instructions = sops.length > 0
|
|
48
48
|
? sops.map((sop) => `## ${sop.title}\n\n${sop.content}`).join('\n\n---\n\n')
|
|
@@ -51,18 +51,13 @@ export const rooCodeAdapter = {
|
|
|
51
51
|
'# Intutic Governance Rules (auto-generated)',
|
|
52
52
|
'# DO NOT EDIT — managed by intutic sync daemon',
|
|
53
53
|
`# Last sync: ${newIso()}`,
|
|
54
|
-
'# NOTE: Roo Code
|
|
55
|
-
'# Governance is enforced via proxy
|
|
54
|
+
'# NOTE: Roo Code has no hook system, so these rules are advisory.',
|
|
55
|
+
'# Governance is enforced via the proxy and the drift guard.',
|
|
56
56
|
'',
|
|
57
57
|
instructions,
|
|
58
58
|
'',
|
|
59
59
|
].join('\n');
|
|
60
|
-
await
|
|
61
|
-
const tmp = filePath + '.intutic-tmp';
|
|
62
|
-
await writeFile(tmp, content, 'utf-8');
|
|
63
|
-
await rename(tmp, filePath);
|
|
64
|
-
// 2. Inject proxy URL into VS Code settings + .env.intutic sidecar
|
|
65
|
-
await injectRooCodeProxySettings(workspaceRoot, proxyUrl);
|
|
60
|
+
await writeOwnedFile(filePath, workspaceRoot, content);
|
|
66
61
|
return filePath;
|
|
67
62
|
},
|
|
68
63
|
async readCurrentHash(workspaceRoot) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rooCode.js","sourceRoot":"","sources":["../../src/harness/rooCode.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"rooCode.js","sourceRoot":"","sources":["../../src/harness/rooCode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAGnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,MAAM,WAAW,GAAG,WAAW,CAAA;AAE/B,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,cAAc,EAAE,WAAW;IAE3B,KAAK,CAAC,MAAM,CAAC,aAAqB;QAChC,gDAAgD;QAChD,KAAK,MAAM,MAAM,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAA;gBACzC,OAAO,IAAI,CAAA;YACb,CAAC;YAAC,MAAM,CAAC;gBACP,eAAe;YACjB,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,CAAA;YAC9D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,CAAA;YAC5C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC,CAAA;QACjF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,aAAqB,EAAE,IAAoB,EAAE,SAAiB;QAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;QACjD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;YAClC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,KAAK,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YAC5E,CAAC,CAAC,4DAA4D,CAAA;QAEhE,MAAM,OAAO,GAAG;YACd,6CAA6C;YAC7C,gDAAgD;YAChD,gBAAgB,MAAM,EAAE,EAAE;YAC1B,mEAAmE;YACnE,6DAA6D;YAC7D,EAAE;YACF,YAAY;YACZ,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEZ,MAAM,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,CAAA;QAEtD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,aAAqB;QACzC,IAAI,CAAC;YACH,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAA;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;CACF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdkGatedAdapter.d.ts","sourceRoot":"","sources":["../../src/harness/sdkGatedAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"sdkGatedAdapter.d.ts","sourceRoot":"","sources":["../../src/harness/sdkGatedAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,uBAAuB,CAAA;AAEtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAUjD;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,CAAA;AAE7C,MAAM,WAAW,qBAAqB;IACpC,8DAA8D;IAC9D,IAAI,EAAE,WAAW,CAAA;IACjB,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAA;IACb,2DAA2D;IAC3D,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAA;IACpC,kFAAkF;IAClF,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC;;;;;;OAMG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB,+EAA+E;IAC/E,UAAU,EAAE,MAAM,CAAA;IAClB,oFAAoF;IACpF,YAAY,EAAE,MAAM,CAAA;IACpB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAA;CACjB;AAOD,6EAA6E;AAC7E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,qBAAqB,GAAG,eAAe,CAqDhF"}
|
|
@@ -16,10 +16,12 @@
|
|
|
16
16
|
* HLD §3.14 — Harness Onboarding Matrix
|
|
17
17
|
* @module
|
|
18
18
|
*/
|
|
19
|
-
import { join
|
|
20
|
-
import { readFile
|
|
19
|
+
import { join } from 'node:path';
|
|
20
|
+
import { readFile } from 'node:fs/promises';
|
|
21
|
+
import { anthropicBaseUrl, openaiBaseUrl, proxyHost } from '@intutic/shared-types';
|
|
21
22
|
import { hashFile } from '../lib/hash.js';
|
|
22
23
|
import { newIso } from '@intutic/id';
|
|
24
|
+
import { writeOwnedFile } from '@intutic/sync-daemon';
|
|
23
25
|
const CONFIG_FILE = '.env.intutic';
|
|
24
26
|
/** Dependency manifests scanned by default — same three langgraph.ts uses. */
|
|
25
27
|
const DEFAULT_MANIFEST_FILES = ['pyproject.toml', 'requirements.txt', 'uv.lock'];
|
|
@@ -52,9 +54,9 @@ export function makeSdkGatedAdapter(spec) {
|
|
|
52
54
|
`# Last sync: ${newIso()}`,
|
|
53
55
|
'# Source this file: source .env.intutic',
|
|
54
56
|
'',
|
|
55
|
-
`export ANTHROPIC_BASE_URL="${proxyUrl}"`,
|
|
56
|
-
`export OPENAI_BASE_URL="${proxyUrl}"`,
|
|
57
|
-
`export INTUTIC_PROXY_URL="${proxyUrl}"`,
|
|
57
|
+
`export ANTHROPIC_BASE_URL="${anthropicBaseUrl(proxyUrl)}"`,
|
|
58
|
+
`export OPENAI_BASE_URL="${openaiBaseUrl(proxyUrl)}"`,
|
|
59
|
+
`export INTUTIC_PROXY_URL="${proxyHost(proxyUrl)}"`,
|
|
58
60
|
`export INTUTIC_SOP_COUNT=${sops.length}`,
|
|
59
61
|
'',
|
|
60
62
|
`# These env vars govern LLM egress only. ${spec.label} tools run in your own`,
|
|
@@ -66,10 +68,7 @@ export function makeSdkGatedAdapter(spec) {
|
|
|
66
68
|
`# See https://docs.intutic.ai/integrations/${spec.docsSlug}`,
|
|
67
69
|
'',
|
|
68
70
|
].join('\n');
|
|
69
|
-
await
|
|
70
|
-
const tmpEnv = filePath + '.intutic-tmp';
|
|
71
|
-
await writeFile(tmpEnv, envContent, 'utf-8');
|
|
72
|
-
await rename(tmpEnv, filePath);
|
|
71
|
+
await writeOwnedFile(filePath, workspaceRoot, envContent);
|
|
73
72
|
return filePath;
|
|
74
73
|
},
|
|
75
74
|
async readCurrentHash(workspaceRoot) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdkGatedAdapter.js","sourceRoot":"","sources":["../../src/harness/sdkGatedAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"sdkGatedAdapter.js","sourceRoot":"","sources":["../../src/harness/sdkGatedAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,8 +33,8 @@ export const trueforgeAdapter = makeJsSdkGatedAdapter({
|
|
|
33
33
|
'Gate.guard() verdict, producing user.tool_approval items for your next ' +
|
|
34
34
|
"session.createTurn() call. NOTE: TrueForge has no synchronous approval callback to " +
|
|
35
35
|
'hang a function off — this is a batch responder, not a beforeToolCall/toolApproval ' +
|
|
36
|
-
'option. Covers embedded-library mode only;
|
|
37
|
-
'
|
|
36
|
+
'option. Covers embedded-library mode only; TrueForge run as its own server is ' +
|
|
37
|
+
'governed by the TrueForge bridge service instead (see the server-mode docs).',
|
|
38
38
|
docsSlug: 'trueforge',
|
|
39
39
|
});
|
|
40
40
|
//# sourceMappingURL=trueforge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trueforge.js","sourceRoot":"","sources":["../../src/harness/trueforge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,MAAM,CAAC,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;IACpD,IAAI,EAAE,WAAW,CAAC,SAAS;IAC3B,KAAK,EAAE,sBAAsB;IAC7B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC;IACnD,UAAU,EAAE,eAAe;IAC3B,UAAU,EAAE,oEAAoE;IAChF,YAAY,EACV,+EAA+E;QAC/E,yEAAyE;QACzE,qFAAqF;QACrF,qFAAqF;QACrF,
|
|
1
|
+
{"version":3,"file":"trueforge.js","sourceRoot":"","sources":["../../src/harness/trueforge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,MAAM,CAAC,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;IACpD,IAAI,EAAE,WAAW,CAAC,SAAS;IAC3B,KAAK,EAAE,sBAAsB;IAC7B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC;IACnD,UAAU,EAAE,eAAe;IAC3B,UAAU,EAAE,oEAAoE;IAChF,YAAY,EACV,+EAA+E;QAC/E,yEAAyE;QACzE,qFAAqF;QACrF,qFAAqF;QACrF,gFAAgF;QAChF,8EAA8E;IAChF,QAAQ,EAAE,WAAW;CACtB,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/harness/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEtE,oDAAoD;AACpD,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,mDAAmD;IACnD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,+DAA+D;IAC/D,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/C;;;OAGG;IACH,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAClG,4FAA4F;IAC5F,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;CAC/D;AAED,4DAA4D;AAC5D,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/harness/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEtE,oDAAoD;AACpD,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,mDAAmD;IACnD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,+DAA+D;IAC/D,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/C;;;OAGG;IACH,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAClG,4FAA4F;IAC5F,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;CAC/D;AAED,4DAA4D;AAC5D,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CA4F5D,CAAA"}
|
package/dist/harness/types.js
CHANGED
|
@@ -33,7 +33,7 @@ export const HARNESS_CONFIG_FILES = {
|
|
|
33
33
|
'muse-code': 'AGENTS.md',
|
|
34
34
|
// AGENTS.md is Grok Build's native rules file — the same cross-tool
|
|
35
35
|
// convention Codex/Amp read. Delivered via the generic markdown formatter
|
|
36
|
-
// (`buildMarkdownContent
|
|
36
|
+
// (`buildMarkdownContent`) every `---`-separated rules
|
|
37
37
|
// file in this codebase already shares (Cursor, Claude Code, Windsurf,
|
|
38
38
|
// GitHub Copilot) — not a bespoke format.
|
|
39
39
|
'grok': 'AGENTS.md',
|
|
@@ -68,6 +68,9 @@ export const HARNESS_CONFIG_FILES = {
|
|
|
68
68
|
// A4: AWS Strands Agents — same Python SDK-gated rationale as the Wave 1
|
|
69
69
|
// family above (gate ships in intutic_clawde.gate.adapters.strands).
|
|
70
70
|
'strands': '.env.intutic',
|
|
71
|
+
// TD-375: Microsoft Agent Framework — same Python SDK-gated rationale
|
|
72
|
+
// (gate ships in intutic_clawde.gate.adapters.agent_framework).
|
|
73
|
+
'agent-framework': '.env.intutic',
|
|
71
74
|
// T2: JS/TS SDK-gated frameworks — same rationale as the Wave 1 Python
|
|
72
75
|
// family above, but the blocking gate ships in @intutic/gate
|
|
73
76
|
// (packages/gate-js) rather than intutic-clawde.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/harness/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAqBH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,oBAAoB,GAAgC;IAC/D,QAAQ,EAAE,cAAc;IACxB,aAAa,EAAE,WAAW;IAC1B,aAAa,EAAE,uBAAuB;IACtC,UAAU,EAAE,gBAAgB;IAC5B,OAAO,EAAE,iBAAiB;IAC1B,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,cAAc;IACvB,KAAK,EAAE,EAAE,EAAE,6CAA6C;IACxD,UAAU,EAAE,yBAAyB;IACrC,QAAQ,EAAE,qBAAqB;IAC/B,IAAI,EAAE,gBAAgB;IACtB,gBAAgB,EAAE,iCAAiC;IACnD,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,EAAE;IACd,UAAU,EAAE,EAAE;IACd,gBAAgB,EAAE,EAAE;IACpB,OAAO,EAAE,EAAE;IACX,YAAY,EAAE,EAAE;IAChB,WAAW,EAAE,cAAc;IAC3B,uEAAuE;IACvE,WAAW,EAAE,WAAW;IACxB,oEAAoE;IACpE,0EAA0E;IAC1E,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/harness/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAqBH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,oBAAoB,GAAgC;IAC/D,QAAQ,EAAE,cAAc;IACxB,aAAa,EAAE,WAAW;IAC1B,aAAa,EAAE,uBAAuB;IACtC,UAAU,EAAE,gBAAgB;IAC5B,OAAO,EAAE,iBAAiB;IAC1B,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,cAAc;IACvB,KAAK,EAAE,EAAE,EAAE,6CAA6C;IACxD,UAAU,EAAE,yBAAyB;IACrC,QAAQ,EAAE,qBAAqB;IAC/B,IAAI,EAAE,gBAAgB;IACtB,gBAAgB,EAAE,iCAAiC;IACnD,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,EAAE;IACd,UAAU,EAAE,EAAE;IACd,gBAAgB,EAAE,EAAE;IACpB,OAAO,EAAE,EAAE;IACX,YAAY,EAAE,EAAE;IAChB,WAAW,EAAE,cAAc;IAC3B,uEAAuE;IACvE,WAAW,EAAE,WAAW;IACxB,oEAAoE;IACpE,0EAA0E;IAC1E,uDAAuD;IACvD,uEAAuE;IACvE,0CAA0C;IAC1C,MAAM,EAAE,WAAW;IACnB,4EAA4E;IAC5E,6DAA6D;IAC7D,UAAU,EAAE,WAAW;IACvB,4EAA4E;IAC5E,mFAAmF;IACnF,0EAA0E;IAC1E,0EAA0E;IAC1E,0EAA0E;IAC1E,KAAK,EAAE,EAAE;IACT,kEAAkE;IAClE,kEAAkE;IAClE,mEAAmE;IACnE,MAAM,EAAE,EAAE;IACV,yDAAyD;IACzD,0EAA0E;IAC1E,0EAA0E;IAC1E,sBAAsB,EAAE,EAAE;IAC1B,sEAAsE;IACtE,uEAAuE;IACvE,2EAA2E;IAC3E,WAAW,EAAE,cAAc;IAC3B,QAAQ,EAAE,cAAc;IACxB,SAAS,EAAE,cAAc;IACzB,KAAK,EAAE,cAAc;IACrB,YAAY,EAAE,cAAc;IAC5B,eAAe,EAAE,cAAc;IAC/B,aAAa,EAAE,cAAc;IAC7B,YAAY,EAAE,cAAc;IAC5B,yEAAyE;IACzE,qEAAqE;IACrE,SAAS,EAAE,cAAc;IACzB,sEAAsE;IACtE,gEAAgE;IAChE,iBAAiB,EAAE,cAAc;IACjC,uEAAuE;IACvE,6DAA6D;IAC7D,iDAAiD;IACjD,QAAQ,EAAE,cAAc;IACxB,eAAe,EAAE,cAAc;IAC/B,sEAAsE;IACtE,8DAA8D;IAC9D,KAAK,EAAE,cAAc;IACrB,wEAAwE;IACxE,2EAA2E;IAC3E,WAAW,EAAE,cAAc;IAC3B,2EAA2E;IAC3E,kEAAkE;IAClE,2EAA2E;IAC3E,4CAA4C;IAC5C,gBAAgB,EAAE,cAAc;IAChC,iBAAiB,EAAE,cAAc;IACjC,yEAAyE;IACzE,iEAAiE;IACjE,0EAA0E;IAC1E,2DAA2D;IAC3D,6DAA6D;IAC7D,mBAAmB,EAAE,EAAE;IACvB,gFAAgF;IAChF,qEAAqE;IACrE,mEAAmE;IACnE,0EAA0E;IAC1E,qEAAqE;IACrE,0DAA0D;IAC1D,kBAAkB,EAAE,EAAE;CACvB,CAAA"}
|
|
@@ -3,8 +3,10 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Writes .windsurfrules governance text and injects Cascade hook scripts
|
|
5
5
|
* at user-level (~/.codeium/windsurf/hooks.json) and workspace-level
|
|
6
|
-
* (.windsurf/hooks.json)
|
|
7
|
-
*
|
|
6
|
+
* (.windsurf/hooks.json), merged with any hooks already there. Also merges
|
|
7
|
+
* HTTP proxy settings into Windsurf's user settings.json, and switches
|
|
8
|
+
* the IDE HTTP proxy of every JetBrains IDE where the Windsurf plugin is set
|
|
9
|
+
* up, so Windsurf's AI traffic goes through the Intutic TLS MITM proxy.
|
|
8
10
|
*
|
|
9
11
|
* HLD §3.14 — Harness Onboarding Matrix
|
|
10
12
|
* @module
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windsurf.d.ts","sourceRoot":"","sources":["../../src/harness/windsurf.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"windsurf.d.ts","sourceRoot":"","sources":["../../src/harness/windsurf.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAUjD,eAAO,MAAM,eAAe,EAAE,eA+B7B,CAAA"}
|
package/dist/harness/windsurf.js
CHANGED
|
@@ -3,8 +3,10 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Writes .windsurfrules governance text and injects Cascade hook scripts
|
|
5
5
|
* at user-level (~/.codeium/windsurf/hooks.json) and workspace-level
|
|
6
|
-
* (.windsurf/hooks.json)
|
|
7
|
-
*
|
|
6
|
+
* (.windsurf/hooks.json), merged with any hooks already there. Also merges
|
|
7
|
+
* HTTP proxy settings into Windsurf's user settings.json, and switches
|
|
8
|
+
* the IDE HTTP proxy of every JetBrains IDE where the Windsurf plugin is set
|
|
9
|
+
* up, so Windsurf's AI traffic goes through the Intutic TLS MITM proxy.
|
|
8
10
|
*
|
|
9
11
|
* HLD §3.14 — Harness Onboarding Matrix
|
|
10
12
|
* @module
|
|
@@ -15,9 +17,9 @@ import { homedir } from 'node:os';
|
|
|
15
17
|
import { HarnessType } from '@intutic/shared-types';
|
|
16
18
|
import { hashFile } from '../lib/hash.js';
|
|
17
19
|
import { buildMarkdownContent } from './base.js';
|
|
20
|
+
import { loadCredentials } from '../config/store.js';
|
|
18
21
|
import { writeWindsurfHooks } from '@intutic/sync-daemon/harness/windsurfHooks';
|
|
19
|
-
import {
|
|
20
|
-
import { dirname } from 'node:path';
|
|
22
|
+
import { writeOwnedFile } from '@intutic/sync-daemon';
|
|
21
23
|
const CONFIG_FILE = '.windsurfrules';
|
|
22
24
|
const WINDSURF_USER_DIR = join(homedir(), '.codeium', 'windsurf');
|
|
23
25
|
export const windsurfAdapter = {
|
|
@@ -43,13 +45,14 @@ export const windsurfAdapter = {
|
|
|
43
45
|
// 1. Write .windsurfrules markdown governance text
|
|
44
46
|
const filePath = join(workspaceRoot, CONFIG_FILE);
|
|
45
47
|
const content = buildMarkdownContent(sops, proxyUrl);
|
|
46
|
-
await
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
//
|
|
51
|
-
const proxyPort = parseInt(process.env.
|
|
52
|
-
await
|
|
48
|
+
await writeOwnedFile(filePath, workspaceRoot, content);
|
|
49
|
+
// 2. Write Cascade hooks.json at user + workspace level, configure TLS MITM
|
|
50
|
+
// proxy. The proxy serves HTTP CONNECT on the same listener as its API,
|
|
51
|
+
// so the port is the one `intutic connect` runs it on (PORT, 4000 by
|
|
52
|
+
// default).
|
|
53
|
+
const proxyPort = parseInt(process.env.PORT || '4000', 10);
|
|
54
|
+
const creds = await loadCredentials();
|
|
55
|
+
await writeWindsurfHooks(workspaceRoot, proxyUrl, proxyPort, creds?.workspaceId || 'local');
|
|
53
56
|
return filePath;
|
|
54
57
|
},
|
|
55
58
|
async readCurrentHash(workspaceRoot) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windsurf.js","sourceRoot":"","sources":["../../src/harness/windsurf.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"windsurf.js","sourceRoot":"","sources":["../../src/harness/windsurf.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAGnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,MAAM,WAAW,GAAG,gBAAgB,CAAA;AACpC,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;AAEjE,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,cAAc,EAAE,WAAW;IAE3B,KAAK,CAAC,MAAM,CAAC,aAAqB;QAChC,KAAK,MAAM,MAAM,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC;gBAAC,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;gBAAC,OAAO,IAAI,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAC7F,CAAC;QACD,IAAI,CAAC;YAAC,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAAC,OAAO,IAAI,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,KAAK,CAAA;QAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,aAAqB,EAAE,IAAoB,EAAE,QAAgB;QAC7E,mDAAmD;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;QACjD,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACpD,MAAM,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,CAAA;QAEtD,4EAA4E;QAC5E,2EAA2E;QAC3E,wEAAwE;QACxE,eAAe;QACf,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,EAAE,EAAE,CAAC,CAAA;QAC1D,MAAM,KAAK,GAAG,MAAM,eAAe,EAAE,CAAA;QACrC,MAAM,kBAAkB,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,IAAI,OAAO,CAAC,CAAA;QAE3F,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,aAAqB;QACzC,IAAI,CAAC;YAAC,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,IAAI,CAAA;QAAC,CAAC;IACvF,CAAC;CACF,CAAA"}
|
package/dist/harness/xirp.d.ts
CHANGED
|
@@ -13,13 +13,11 @@
|
|
|
13
13
|
* That means this adapter exists for DETECTION/reporting only. `writeConfig`
|
|
14
14
|
* writes nothing: whatever Intutic already writes for the wrapped harness
|
|
15
15
|
* (`claudeCode.ts` / `codex.ts` / `antigravity.ts`'s own adapters) is what
|
|
16
|
-
* governs a tool call made inside a Xirp-managed session
|
|
17
|
-
* files
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* gitWorktrees.ts` + its wiring into `syncLoop.ts`) is what closes that gap;
|
|
22
|
-
* this adapter's only job is recognising that a Xirp-managed workspace is
|
|
16
|
+
* governs a tool call made inside a Xirp-managed session. Project-level
|
|
17
|
+
* files do not reach the git worktree Xirp creates for that session (a
|
|
18
|
+
* worktree has its own working tree, and these files are untracked), so it
|
|
19
|
+
* is the wrapped harness's user-level registration that applies there. This
|
|
20
|
+
* adapter's only job is recognising that a Xirp-managed workspace is
|
|
23
21
|
* present at all, so `intutic status`/`intutic init` can report it.
|
|
24
22
|
*
|
|
25
23
|
* See `services/sync-daemon/__tests__/harness/gateRegistry.ts`'s NO_GATE row
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xirp.d.ts","sourceRoot":"","sources":["../../src/harness/xirp.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"xirp.d.ts","sourceRoot":"","sources":["../../src/harness/xirp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAOH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAOjD,eAAO,MAAM,WAAW,EAAE,eAgDzB,CAAA"}
|
package/dist/harness/xirp.js
CHANGED
|
@@ -13,13 +13,11 @@
|
|
|
13
13
|
* That means this adapter exists for DETECTION/reporting only. `writeConfig`
|
|
14
14
|
* writes nothing: whatever Intutic already writes for the wrapped harness
|
|
15
15
|
* (`claudeCode.ts` / `codex.ts` / `antigravity.ts`'s own adapters) is what
|
|
16
|
-
* governs a tool call made inside a Xirp-managed session
|
|
17
|
-
* files
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* gitWorktrees.ts` + its wiring into `syncLoop.ts`) is what closes that gap;
|
|
22
|
-
* this adapter's only job is recognising that a Xirp-managed workspace is
|
|
16
|
+
* governs a tool call made inside a Xirp-managed session. Project-level
|
|
17
|
+
* files do not reach the git worktree Xirp creates for that session (a
|
|
18
|
+
* worktree has its own working tree, and these files are untracked), so it
|
|
19
|
+
* is the wrapped harness's user-level registration that applies there. This
|
|
20
|
+
* adapter's only job is recognising that a Xirp-managed workspace is
|
|
23
21
|
* present at all, so `intutic status`/`intutic init` can report it.
|
|
24
22
|
*
|
|
25
23
|
* See `services/sync-daemon/__tests__/harness/gateRegistry.ts`'s NO_GATE row
|
package/dist/harness/xirp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xirp.js","sourceRoot":"","sources":["../../src/harness/xirp.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"xirp.js","sourceRoot":"","sources":["../../src/harness/xirp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAInD,0EAA0E;AAC1E,MAAM,kBAAkB,GAAG,OAAO,CAAA;AAClC,0EAA0E;AAC1E,MAAM,aAAa,GAAG,wBAAwB,CAAA;AAE9C,MAAM,CAAC,MAAM,WAAW,GAAoB;IAC1C,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,uEAAuE;IACvE,wEAAwE;IACxE,0EAA0E;IAC1E,sCAAsC;IACtC,cAAc,EAAE,EAAE;IAElB,KAAK,CAAC,MAAM,CAAC,cAAsB;QACjC,mEAAmE;QACnE,kEAAkE;QAClE,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAA;QAE/C,qEAAqE;QACrE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAA;QACrC,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,OAAO,CAAC,CAAA;gBACrB,OAAO,IAAI,CAAA;YACb,CAAC;YAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAChC,CAAC;QAED,0DAA0D;QAC1D,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAA;YACjD,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAE9B,4CAA4C;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;YAC3B,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAE9B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,2EAA2E;IAC3E,0EAA0E;IAC1E,sEAAsE;IACtE,kCAAkC;IAClC,KAAK,CAAC,WAAW,CAAC,cAAsB,EAAE,KAAqB,EAAE,SAAiB;QAChF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,cAAsB;QAC1C,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA"}
|
|
@@ -4,21 +4,31 @@ export interface InjectionResult {
|
|
|
4
4
|
vars: string[];
|
|
5
5
|
method: string;
|
|
6
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* Where the injector reads and writes. Defaults to the real machine; tests
|
|
9
|
+
* pass temporary paths and a recording `exec` so they never touch it.
|
|
10
|
+
*/
|
|
11
|
+
export interface EnvInjectorTarget {
|
|
12
|
+
platform?: NodeJS.Platform;
|
|
13
|
+
/** The user's `~/.bashrc`. */
|
|
14
|
+
bashrc?: string;
|
|
15
|
+
/** The system-wide file used on Linux when it is writable. */
|
|
16
|
+
etcEnvironment?: string;
|
|
17
|
+
exec?: (command: string) => void;
|
|
18
|
+
}
|
|
7
19
|
export declare class PlatformNotSupportedError extends Error {
|
|
8
20
|
constructor(platform: string);
|
|
9
21
|
}
|
|
10
|
-
export declare class ElevationRequiredError extends Error {
|
|
11
|
-
constructor(path: string);
|
|
12
|
-
}
|
|
13
22
|
/**
|
|
14
23
|
* Injects ANTHROPIC_BASE_URL and OPENAI_BASE_URL as persistent env vars.
|
|
15
24
|
*
|
|
16
25
|
* @param proxyUrl - The Intutic proxy URL (e.g. https://proxy.acme.intutic.ai)
|
|
17
26
|
* @returns InjectionResult describing what was done
|
|
18
27
|
*/
|
|
19
|
-
export declare function injectBaseUrlEnvVars(proxyUrl: string): Promise<InjectionResult>;
|
|
28
|
+
export declare function injectBaseUrlEnvVars(proxyUrl: string, target?: EnvInjectorTarget): Promise<InjectionResult>;
|
|
20
29
|
/**
|
|
21
|
-
* Removes the injected base URL env vars
|
|
30
|
+
* Removes the injected base URL env vars: from wherever `injectBaseUrlEnvVars`
|
|
31
|
+
* can have put them, so a removal is idempotent and complete.
|
|
22
32
|
*/
|
|
23
|
-
export declare function removeBaseUrlEnvVars(): Promise<void>;
|
|
33
|
+
export declare function removeBaseUrlEnvVars(target?: EnvInjectorTarget): Promise<void>;
|
|
24
34
|
//# sourceMappingURL=envInjector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envInjector.d.ts","sourceRoot":"","sources":["../../src/lib/envInjector.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAG,MAAM,CAAC,QAAQ,CAAA;IAC1B,KAAK,EAAM,QAAQ,GAAG,MAAM,CAAA;IAC5B,IAAI,EAAO,MAAM,EAAE,CAAA;IACnB,MAAM,EAAK,MAAM,CAAA;CAClB;AAED,
|
|
1
|
+
{"version":3,"file":"envInjector.d.ts","sourceRoot":"","sources":["../../src/lib/envInjector.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAG,MAAM,CAAC,QAAQ,CAAA;IAC1B,KAAK,EAAM,QAAQ,GAAG,MAAM,CAAA;IAC5B,IAAI,EAAO,MAAM,EAAE,CAAA;IACnB,MAAM,EAAK,MAAM,CAAA;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAA;IAC1B,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8DAA8D;IAC9D,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACjC;AAWD,qBAAa,yBAA0B,SAAQ,KAAK;gBACtC,QAAQ,EAAE,MAAM;CAI7B;AAmED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC,CA6BjH;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCpF"}
|