@dharma-ai-labs/agent-fabric 0.2.100 → 0.2.102
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/AGENT_FABRIC_ONBOARDING.md +3 -1
- package/dist/demoPackage.d.ts +24 -2
- package/dist/demoPackage.d.ts.map +1 -1
- package/dist/demoPackage.js +56 -5
- package/dist/demoPackage.js.map +1 -1
- package/dist/demoPackage.test.js +54 -2
- package/dist/demoPackage.test.js.map +1 -1
- package/dist/demoSourceBaseline.d.ts +3 -1
- package/dist/demoSourceBaseline.d.ts.map +1 -1
- package/dist/demoSourceBaseline.js +8 -2
- package/dist/demoSourceBaseline.js.map +1 -1
- package/dist/demoSourceBaseline.test.js +10 -0
- package/dist/demoSourceBaseline.test.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +46 -3
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +20 -3
- package/dist/index.test.js.map +1 -1
- package/dist/onboardingStage.d.ts +1 -1
- package/dist/onboardingStage.d.ts.map +1 -1
- package/dist/onboardingStage.js.map +1 -1
- package/dist/relayAutostart.d.ts +36 -0
- package/dist/relayAutostart.d.ts.map +1 -0
- package/dist/relayAutostart.js +167 -0
- package/dist/relayAutostart.js.map +1 -0
- package/dist/relayAutostart.test.d.ts +2 -0
- package/dist/relayAutostart.test.d.ts.map +1 -0
- package/dist/relayAutostart.test.js +103 -0
- package/dist/relayAutostart.test.js.map +1 -0
- package/dist/repositoryOnboardingCaller.test.js +9 -2
- package/dist/repositoryOnboardingCaller.test.js.map +1 -1
- package/dist/skillPreparationCache.test.js +2 -0
- package/dist/skillPreparationCache.test.js.map +1 -1
- package/dist/usage.d.ts +1 -1
- package/dist/usage.d.ts.map +1 -1
- package/dist/usage.js +1 -1
- package/dist/usage.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export type OnboardingStage = 'local_skill_inventory' | 'first_learning_preview' | 'first_learning_sync' | 'package_snapshot' | 'package_publication' | 'role_registration' | 'native_skill_install' | 'relay_start' | 'readiness';
|
|
1
|
+
export type OnboardingStage = 'local_skill_inventory' | 'first_learning_preview' | 'first_learning_sync' | 'package_snapshot' | 'package_publication' | 'role_registration' | 'native_skill_install' | 'relay_start' | 'autostart' | 'readiness';
|
|
2
2
|
export declare function withOnboardingStage<T>(stage: OnboardingStage, workspaceId: string, resumeCommand: string, operation: () => Promise<T>): Promise<T>;
|
|
3
3
|
//# sourceMappingURL=onboardingStage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboardingStage.d.ts","sourceRoot":"","sources":["../src/onboardingStage.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GACvB,uBAAuB,GACvB,wBAAwB,GACxB,qBAAqB,GACrB,kBAAkB,GAClB,qBAAqB,GACrB,mBAAmB,GACnB,sBAAsB,GACtB,aAAa,GACb,WAAW,CAAC;AAEhB,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,KAAK,EAAE,eAAe,EACtB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAC1B,OAAO,CAAC,CAAC,CAAC,CAUZ"}
|
|
1
|
+
{"version":3,"file":"onboardingStage.d.ts","sourceRoot":"","sources":["../src/onboardingStage.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GACvB,uBAAuB,GACvB,wBAAwB,GACxB,qBAAqB,GACrB,kBAAkB,GAClB,qBAAqB,GACrB,mBAAmB,GACnB,sBAAsB,GACtB,aAAa,GACb,WAAW,GACX,WAAW,CAAC;AAEhB,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,KAAK,EAAE,eAAe,EACtB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAC1B,OAAO,CAAC,CAAC,CAAC,CAUZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboardingStage.js","sourceRoot":"","sources":["../src/onboardingStage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"onboardingStage.js","sourceRoot":"","sources":["../src/onboardingStage.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAsB,EACtB,WAAmB,EACnB,aAAqB,EACrB,SAA2B;IAE3B,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,IAAI,KAAK,CACb,2BAA2B,KAAK,KAAK,MAAM,mBAAmB,WAAW,qBAAqB,aAAa,EAAE,EAC7G,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
type Runner = (file: string, args: string[]) => Promise<{
|
|
2
|
+
stdout: string;
|
|
3
|
+
}>;
|
|
4
|
+
export interface RelayAutostartOptions {
|
|
5
|
+
home: string;
|
|
6
|
+
userHome?: string;
|
|
7
|
+
platform?: NodeJS.Platform;
|
|
8
|
+
run?: Runner;
|
|
9
|
+
}
|
|
10
|
+
interface Registration {
|
|
11
|
+
schema: 'dharma.relay-autostart/v1';
|
|
12
|
+
backend: 'systemd-user' | 'windows-task';
|
|
13
|
+
launcher: string;
|
|
14
|
+
policy: string;
|
|
15
|
+
workspace: string;
|
|
16
|
+
version: string;
|
|
17
|
+
taskName: string | null;
|
|
18
|
+
}
|
|
19
|
+
export type RelayAutostartState = {
|
|
20
|
+
state: 'enabled' | 'disabled' | 'unavailable' | 'unsupported';
|
|
21
|
+
backend: Registration['backend'] | null;
|
|
22
|
+
version?: string;
|
|
23
|
+
reason?: string;
|
|
24
|
+
};
|
|
25
|
+
export declare function linuxRelayUnit(launcher: string, policy: string, workspace: string, home?: string): string;
|
|
26
|
+
export declare function windowsRelayStartupScript(launcher: string, policy: string, home?: string): string;
|
|
27
|
+
export declare function relayAutostartStatus(options: RelayAutostartOptions): Promise<RelayAutostartState>;
|
|
28
|
+
export declare function enableRelayAutostart(options: RelayAutostartOptions & {
|
|
29
|
+
workspace: string;
|
|
30
|
+
launcher: string;
|
|
31
|
+
policy: string;
|
|
32
|
+
version: string;
|
|
33
|
+
}): Promise<RelayAutostartState>;
|
|
34
|
+
export declare function disableRelayAutostart(options: RelayAutostartOptions): Promise<RelayAutostartState>;
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=relayAutostart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relayAutostart.d.ts","sourceRoot":"","sources":["../src/relayAutostart.ts"],"names":[],"mappings":"AAUA,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE5E,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,YAAY;IACpB,MAAM,EAAE,2BAA2B,CAAC;IACpC,OAAO,EAAE,cAAc,GAAG,cAAc,CAAC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,aAAa,GAAG,aAAa,CAAC;IAC9D,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAoBF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,UAOhG;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,UAKxF;AAsBD,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAsBvG;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG;IAC1E,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;CACtE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAgE/B;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAiBxG"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { execFile } from 'node:child_process';
|
|
2
|
+
import { createHash } from 'node:crypto';
|
|
3
|
+
import { mkdir, readFile, rm, writeFile } from 'node:fs/promises';
|
|
4
|
+
import { homedir } from 'node:os';
|
|
5
|
+
import { dirname, join } from 'node:path';
|
|
6
|
+
import { promisify } from 'node:util';
|
|
7
|
+
const execFileAsync = promisify(execFile);
|
|
8
|
+
const UNIT_NAME = 'dharma-agent-fabric.service';
|
|
9
|
+
const defaultRunner = async (file, args) => {
|
|
10
|
+
const { stdout } = await execFileAsync(file, args, { timeout: 15_000, maxBuffer: 64 * 1024 });
|
|
11
|
+
return { stdout };
|
|
12
|
+
};
|
|
13
|
+
function safeLine(value) {
|
|
14
|
+
if (!value || /[\r\n\0]/.test(value))
|
|
15
|
+
throw new Error('Autostart paths must be nonempty single lines.');
|
|
16
|
+
return value;
|
|
17
|
+
}
|
|
18
|
+
function systemdValue(value) {
|
|
19
|
+
return `"${safeLine(value).replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/%/g, '%%')}"`;
|
|
20
|
+
}
|
|
21
|
+
function psLiteral(value) {
|
|
22
|
+
return `'${safeLine(value).replace(/'/g, "''")}'`;
|
|
23
|
+
}
|
|
24
|
+
export function linuxRelayUnit(launcher, policy, workspace, home) {
|
|
25
|
+
return `[Unit]\nDescription=Dharma Agent Fabric relay\nAfter=network-online.target\nWants=network-online.target\n\n`
|
|
26
|
+
+ `[Service]\nType=simple\nWorkingDirectory=${systemdValue(workspace)}\n`
|
|
27
|
+
+ (home ? `Environment=${systemdValue(`DHARMA_HOME=${home}`)}\n` : '')
|
|
28
|
+
+ `ExecStart=${systemdValue(launcher)} relay supervise --policy ${systemdValue(policy)}\n`
|
|
29
|
+
+ `Restart=on-failure\nRestartSec=10s\nTimeoutStopSec=30s\n\n`
|
|
30
|
+
+ `[Install]\nWantedBy=default.target\n`;
|
|
31
|
+
}
|
|
32
|
+
export function windowsRelayStartupScript(launcher, policy, home) {
|
|
33
|
+
return `$ErrorActionPreference = 'Stop'\r\n`
|
|
34
|
+
+ (home ? `$env:DHARMA_HOME = ${psLiteral(home)}\r\n` : '')
|
|
35
|
+
+ `& ${psLiteral(launcher)} relay supervise --policy ${psLiteral(policy)}\r\n`
|
|
36
|
+
+ `exit $LASTEXITCODE\r\n`;
|
|
37
|
+
}
|
|
38
|
+
function encodedPowerShell(command) {
|
|
39
|
+
return ['-NoProfile', '-NonInteractive', '-EncodedCommand', Buffer.from(command, 'utf16le').toString('base64')];
|
|
40
|
+
}
|
|
41
|
+
function registrationPath(home) { return join(home, 'relay', 'autostart.json'); }
|
|
42
|
+
function unitPath(userHome) { return join(userHome, '.config', 'systemd', 'user', UNIT_NAME); }
|
|
43
|
+
function scriptPath(home) { return join(home, 'relay', 'autostart.ps1'); }
|
|
44
|
+
function taskName(home) {
|
|
45
|
+
return `DharmaAgentFabric-${createHash('sha256').update(home.toLowerCase()).digest('hex').slice(0, 12)}`;
|
|
46
|
+
}
|
|
47
|
+
async function readRegistration(home) {
|
|
48
|
+
try {
|
|
49
|
+
const value = JSON.parse(await readFile(registrationPath(home), 'utf8'));
|
|
50
|
+
if (value.schema !== 'dharma.relay-autostart/v1'
|
|
51
|
+
|| !['systemd-user', 'windows-task'].includes(value.backend))
|
|
52
|
+
return null;
|
|
53
|
+
return value;
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export async function relayAutostartStatus(options) {
|
|
60
|
+
const registration = await readRegistration(options.home);
|
|
61
|
+
if (!registration)
|
|
62
|
+
return { state: 'disabled', backend: null };
|
|
63
|
+
const platform = options.platform || process.platform;
|
|
64
|
+
const run = options.run || defaultRunner;
|
|
65
|
+
if ((platform === 'linux' && registration.backend !== 'systemd-user')
|
|
66
|
+
|| (platform === 'win32' && registration.backend !== 'windows-task')) {
|
|
67
|
+
return { state: 'unavailable', backend: registration.backend, version: registration.version, reason: 'platform_mismatch' };
|
|
68
|
+
}
|
|
69
|
+
try {
|
|
70
|
+
const result = registration.backend === 'systemd-user'
|
|
71
|
+
? await run('systemctl', ['--user', 'is-enabled', UNIT_NAME])
|
|
72
|
+
: await run('powershell.exe', encodedPowerShell(`$task = Get-ScheduledTask -TaskName ${psLiteral(registration.taskName || '')} -ErrorAction SilentlyContinue; `
|
|
73
|
+
+ `if ($task -and $task.State -ne 'Disabled') { 'enabled' } else { 'disabled' }`));
|
|
74
|
+
return { state: result.stdout.trim() === 'enabled' ? 'enabled' : 'disabled',
|
|
75
|
+
backend: registration.backend, version: registration.version };
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
return { state: 'unavailable', backend: registration.backend, version: registration.version,
|
|
79
|
+
reason: registration.backend === 'systemd-user' ? 'systemd_user_unavailable' : 'task_scheduler_unavailable' };
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
export async function enableRelayAutostart(options) {
|
|
83
|
+
const platform = options.platform || process.platform;
|
|
84
|
+
if (platform !== 'linux' && platform !== 'win32') {
|
|
85
|
+
throw new Error(`Relay autostart is unsupported on ${platform}.`);
|
|
86
|
+
}
|
|
87
|
+
const userHome = options.userHome || homedir();
|
|
88
|
+
const run = options.run || defaultRunner;
|
|
89
|
+
const previous = await readRegistration(options.home);
|
|
90
|
+
if (previous && previous.backend !== (platform === 'linux' ? 'systemd-user' : 'windows-task')) {
|
|
91
|
+
throw new Error('Existing relay autostart belongs to a different operating system.');
|
|
92
|
+
}
|
|
93
|
+
const registration = {
|
|
94
|
+
schema: 'dharma.relay-autostart/v1',
|
|
95
|
+
backend: platform === 'linux' ? 'systemd-user' : 'windows-task',
|
|
96
|
+
launcher: safeLine(options.launcher), policy: safeLine(options.policy),
|
|
97
|
+
workspace: safeLine(options.workspace), version: options.version,
|
|
98
|
+
taskName: platform === 'win32' ? taskName(options.home) : null,
|
|
99
|
+
};
|
|
100
|
+
if (platform === 'win32' && !previous) {
|
|
101
|
+
const probe = await run('powershell.exe', encodedPowerShell(`$task = Get-ScheduledTask -TaskName ${psLiteral(registration.taskName)} -ErrorAction SilentlyContinue; `
|
|
102
|
+
+ `if ($null -ne $task) { 'exists' } else { 'absent' }`));
|
|
103
|
+
if (probe.stdout.trim() !== 'absent') {
|
|
104
|
+
throw new Error('autostart_conflict: a Windows startup task exists without this enrollment receipt.');
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
const destination = platform === 'linux' ? unitPath(userHome) : scriptPath(options.home);
|
|
108
|
+
const existingContents = await readFile(destination, 'utf8').catch((error) => {
|
|
109
|
+
if (error.code === 'ENOENT')
|
|
110
|
+
return null;
|
|
111
|
+
throw error;
|
|
112
|
+
});
|
|
113
|
+
const ownedContents = previous && (platform === 'linux'
|
|
114
|
+
? linuxRelayUnit(previous.launcher, previous.policy, previous.workspace, options.home)
|
|
115
|
+
: windowsRelayStartupScript(previous.launcher, previous.policy, options.home));
|
|
116
|
+
if (existingContents !== null && existingContents !== ownedContents) {
|
|
117
|
+
throw new Error('autostart_conflict: the user startup entry is not owned by this enrollment.');
|
|
118
|
+
}
|
|
119
|
+
await mkdir(dirname(destination), { recursive: true, mode: 0o700 });
|
|
120
|
+
await mkdir(dirname(registrationPath(options.home)), { recursive: true, mode: 0o700 });
|
|
121
|
+
await writeFile(destination, platform === 'linux'
|
|
122
|
+
? linuxRelayUnit(options.launcher, options.policy, options.workspace, options.home)
|
|
123
|
+
: windowsRelayStartupScript(options.launcher, options.policy, options.home), { mode: 0o600 });
|
|
124
|
+
await writeFile(registrationPath(options.home), `${JSON.stringify(registration, null, 2)}\n`, { mode: 0o600 });
|
|
125
|
+
if (platform === 'linux') {
|
|
126
|
+
await run('systemctl', ['--user', 'daemon-reload']);
|
|
127
|
+
await run('systemctl', ['--user', 'enable', UNIT_NAME]);
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
const script = scriptPath(options.home);
|
|
131
|
+
const command = `$identity = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name; `
|
|
132
|
+
+ `$action = New-ScheduledTaskAction -Execute 'powershell.exe' `
|
|
133
|
+
+ `-Argument ${psLiteral(`-NoProfile -NonInteractive -File "${script}"`)} `
|
|
134
|
+
+ `-WorkingDirectory ${psLiteral(options.workspace)}; `
|
|
135
|
+
+ `$trigger = New-ScheduledTaskTrigger -AtLogOn -User $identity; `
|
|
136
|
+
+ `$principal = New-ScheduledTaskPrincipal -UserId $identity -LogonType Interactive -RunLevel Limited; `
|
|
137
|
+
+ `$settings = New-ScheduledTaskSettingsSet -MultipleInstances IgnoreNew -ExecutionTimeLimit ([TimeSpan]::Zero) `
|
|
138
|
+
+ `-RestartCount 10 -RestartInterval (New-TimeSpan -Minutes 1); `
|
|
139
|
+
+ `Register-ScheduledTask -TaskName ${psLiteral(registration.taskName)} -Action $action `
|
|
140
|
+
+ `-Trigger $trigger -Principal $principal -Settings $settings -Force | Out-Null`;
|
|
141
|
+
await run('powershell.exe', encodedPowerShell(command));
|
|
142
|
+
}
|
|
143
|
+
const status = await relayAutostartStatus(options);
|
|
144
|
+
if (status.state !== 'enabled')
|
|
145
|
+
throw new Error(`Relay autostart registration was not verified (${status.state}).`);
|
|
146
|
+
return status;
|
|
147
|
+
}
|
|
148
|
+
export async function disableRelayAutostart(options) {
|
|
149
|
+
const registration = await readRegistration(options.home);
|
|
150
|
+
if (!registration)
|
|
151
|
+
return { state: 'disabled', backend: null };
|
|
152
|
+
const run = options.run || defaultRunner;
|
|
153
|
+
if (registration.backend === 'systemd-user') {
|
|
154
|
+
await run('systemctl', ['--user', 'disable', UNIT_NAME]);
|
|
155
|
+
await rm(unitPath(options.userHome || homedir()), { force: true });
|
|
156
|
+
await run('systemctl', ['--user', 'daemon-reload']);
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
if (registration.taskName !== taskName(options.home))
|
|
160
|
+
throw new Error('Relay autostart task identity is invalid.');
|
|
161
|
+
await run('powershell.exe', encodedPowerShell(`Unregister-ScheduledTask -TaskName ${psLiteral(registration.taskName)} -Confirm:$false -ErrorAction SilentlyContinue`));
|
|
162
|
+
await rm(scriptPath(options.home), { force: true });
|
|
163
|
+
}
|
|
164
|
+
await rm(registrationPath(options.home), { force: true });
|
|
165
|
+
return { state: 'disabled', backend: registration.backend, version: registration.version };
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=relayAutostart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relayAutostart.js","sourceRoot":"","sources":["../src/relayAutostart.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relayAutostart.test.d.ts","sourceRoot":"","sources":["../src/relayAutostart.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import assert from 'node:assert/strict';
|
|
2
|
+
import { mkdir, mkdtemp, readFile, writeFile } from 'node:fs/promises';
|
|
3
|
+
import { tmpdir } from 'node:os';
|
|
4
|
+
import { join } from 'node:path';
|
|
5
|
+
import test from 'node:test';
|
|
6
|
+
import { disableRelayAutostart, enableRelayAutostart, linuxRelayUnit, relayAutostartStatus, windowsRelayStartupScript, } from './relayAutostart.js';
|
|
7
|
+
test('Linux startup invokes only the pinned launcher and canonical policy', () => {
|
|
8
|
+
const unit = linuxRelayUnit('/home/a b/repo/.dharma/bin/dharma', '/home/a b/repo/.dharma/approved-policy.json', '/home/a b/repo');
|
|
9
|
+
assert.match(unit, /ExecStart="\/home\/a b\/repo\/\.dharma\/bin\/dharma" relay supervise --policy/);
|
|
10
|
+
assert.match(unit, /Restart=on-failure/);
|
|
11
|
+
assert.doesNotMatch(unit, /grant|token|password/i);
|
|
12
|
+
});
|
|
13
|
+
test('Windows startup escapes paths as PowerShell literals without embedding credentials', () => {
|
|
14
|
+
const script = windowsRelayStartupScript("C:\\A's Repo\\.dharma\\bin\\dharma.cmd", "C:\\A's Repo\\.dharma\\approved-policy.json");
|
|
15
|
+
assert.match(script, /A''s Repo/);
|
|
16
|
+
assert.match(script, /relay supervise --policy/);
|
|
17
|
+
assert.doesNotMatch(script, /grant|token|password/i);
|
|
18
|
+
});
|
|
19
|
+
test('Linux enable, status and disable preserve an explicit OS registration receipt', async () => {
|
|
20
|
+
const root = await mkdtemp(join(tmpdir(), 'dharma-autostart-'));
|
|
21
|
+
const calls = [];
|
|
22
|
+
const run = async (file, args) => {
|
|
23
|
+
calls.push(`${file} ${args.join(' ')}`);
|
|
24
|
+
return { stdout: args.includes('is-enabled') ? 'enabled\n' : '' };
|
|
25
|
+
};
|
|
26
|
+
const options = {
|
|
27
|
+
platform: 'linux', home: join(root, 'dharma'), userHome: root,
|
|
28
|
+
workspace: join(root, 'repo'), launcher: join(root, 'repo', '.dharma', 'bin', 'dharma'),
|
|
29
|
+
policy: join(root, 'repo', '.dharma', 'approved-policy.json'), version: '0.2.102', run,
|
|
30
|
+
};
|
|
31
|
+
const installed = await enableRelayAutostart(options);
|
|
32
|
+
assert.equal(installed.state, 'enabled');
|
|
33
|
+
assert.match(await readFile(join(root, '.config', 'systemd', 'user', 'dharma-agent-fabric.service'), 'utf8'), /relay supervise/);
|
|
34
|
+
assert.match(calls.join('\n'), /systemctl --user enable dharma-agent-fabric.service/);
|
|
35
|
+
assert.equal((await relayAutostartStatus(options)).state, 'enabled');
|
|
36
|
+
assert.equal((await disableRelayAutostart(options)).state, 'disabled');
|
|
37
|
+
assert.match(calls.join('\n'), /systemctl --user disable dharma-agent-fabric.service/);
|
|
38
|
+
});
|
|
39
|
+
test('startup status never calls a missing OS registration healthy', async () => {
|
|
40
|
+
const root = await mkdtemp(join(tmpdir(), 'dharma-autostart-missing-'));
|
|
41
|
+
const result = await relayAutostartStatus({
|
|
42
|
+
platform: 'linux', home: join(root, 'dharma'), userHome: root,
|
|
43
|
+
run: async () => { throw new Error('No systemd user bus'); },
|
|
44
|
+
});
|
|
45
|
+
assert.equal(result.state, 'disabled');
|
|
46
|
+
});
|
|
47
|
+
test('Windows task registration uses the enrolled user without an embedded password', async () => {
|
|
48
|
+
const root = await mkdtemp(join(tmpdir(), 'dharma-windows-autostart-'));
|
|
49
|
+
const calls = [];
|
|
50
|
+
const run = async (_file, args) => {
|
|
51
|
+
const decoded = Buffer.from(args.at(-1) || '', 'base64').toString('utf16le');
|
|
52
|
+
calls.push(decoded);
|
|
53
|
+
return { stdout: decoded.includes("'exists'") ? 'absent\n'
|
|
54
|
+
: decoded.includes('Get-ScheduledTask') ? 'enabled\n' : '' };
|
|
55
|
+
};
|
|
56
|
+
const options = {
|
|
57
|
+
platform: 'win32', home: join(root, 'dharma'), userHome: root,
|
|
58
|
+
workspace: 'C:\\Work Space\\repo', launcher: 'C:\\Work Space\\repo\\.dharma\\bin\\dharma.cmd',
|
|
59
|
+
policy: 'C:\\Work Space\\repo\\.dharma\\approved-policy.json', version: '0.2.102', run,
|
|
60
|
+
};
|
|
61
|
+
assert.equal((await enableRelayAutostart(options)).state, 'enabled');
|
|
62
|
+
const script = await readFile(join(root, 'dharma', 'relay', 'autostart.ps1'), 'utf8');
|
|
63
|
+
assert.match(script, /DHARMA_HOME/);
|
|
64
|
+
assert.match(calls.join('\n'), /-LogonType Interactive\b/);
|
|
65
|
+
assert.doesNotMatch(calls.join('\n'), /-Password|bootstrapGrant|--grant/);
|
|
66
|
+
assert.equal((await disableRelayAutostart(options)).state, 'disabled');
|
|
67
|
+
assert.match(calls.at(-1) || '', /Unregister-ScheduledTask/);
|
|
68
|
+
});
|
|
69
|
+
test('failed OS registration remains unavailable instead of reporting completion', async () => {
|
|
70
|
+
const root = await mkdtemp(join(tmpdir(), 'dharma-failed-autostart-'));
|
|
71
|
+
const options = {
|
|
72
|
+
platform: 'linux', home: join(root, 'dharma'), userHome: root,
|
|
73
|
+
workspace: join(root, 'repo'), launcher: join(root, 'repo', '.dharma', 'bin', 'dharma'),
|
|
74
|
+
policy: join(root, 'repo', '.dharma', 'approved-policy.json'), version: '0.2.102',
|
|
75
|
+
run: async () => { throw new Error('No systemd user bus'); },
|
|
76
|
+
};
|
|
77
|
+
await assert.rejects(enableRelayAutostart(options), /No systemd user bus/);
|
|
78
|
+
assert.equal((await relayAutostartStatus(options)).state, 'unavailable');
|
|
79
|
+
});
|
|
80
|
+
test('registration refuses to replace an unmanaged user startup entry', async () => {
|
|
81
|
+
const root = await mkdtemp(join(tmpdir(), 'dharma-autostart-conflict-'));
|
|
82
|
+
const unit = join(root, '.config', 'systemd', 'user', 'dharma-agent-fabric.service');
|
|
83
|
+
await mkdir(join(root, '.config', 'systemd', 'user'), { recursive: true });
|
|
84
|
+
await writeFile(unit, '[Service]\nExecStart=/custom/relay\n');
|
|
85
|
+
await assert.rejects(enableRelayAutostart({
|
|
86
|
+
platform: 'linux', home: join(root, 'dharma'), userHome: root,
|
|
87
|
+
workspace: join(root, 'repo'), launcher: join(root, 'repo', 'dharma'),
|
|
88
|
+
policy: join(root, 'repo', 'policy.json'), version: '0.2.102',
|
|
89
|
+
run: async () => ({ stdout: '' }),
|
|
90
|
+
}), /autostart_conflict/);
|
|
91
|
+
assert.equal(await readFile(unit, 'utf8'), '[Service]\nExecStart=/custom/relay\n');
|
|
92
|
+
});
|
|
93
|
+
test('Windows registration refuses an existing task without an ownership receipt', async () => {
|
|
94
|
+
const root = await mkdtemp(join(tmpdir(), 'dharma-task-conflict-'));
|
|
95
|
+
await assert.rejects(enableRelayAutostart({
|
|
96
|
+
platform: 'win32', home: join(root, 'dharma'), userHome: root,
|
|
97
|
+
workspace: 'C:\\Work', launcher: 'C:\\Work\\dharma.cmd',
|
|
98
|
+
policy: 'C:\\Work\\policy.json', version: '0.2.102',
|
|
99
|
+
run: async (_file, args) => ({ stdout: Buffer.from(args.at(-1) || '', 'base64').toString('utf16le')
|
|
100
|
+
.includes('Get-ScheduledTask') ? 'exists\n' : '' }),
|
|
101
|
+
}), /autostart_conflict/);
|
|
102
|
+
});
|
|
103
|
+
//# sourceMappingURL=relayAutostart.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relayAutostart.test.js","sourceRoot":"","sources":["../src/relayAutostart.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,7 +42,7 @@ function bootstrapDependencies(onboarding) {
|
|
|
42
42
|
isLocalProviderId: (provider) => provider === 'codex',
|
|
43
43
|
readDeviceConfig: async () => null,
|
|
44
44
|
configPath: () => '/fixture-config/device.json',
|
|
45
|
-
process: { env: { USER: 'fixture' }, stderr: { write: () => true } },
|
|
45
|
+
process: { platform: 'linux', env: { USER: 'fixture' }, stderr: { write: () => true } },
|
|
46
46
|
platform: async () => 'linux',
|
|
47
47
|
loadOrCreateInstallationId: async () => '11111111-1111-4111-8111-111111111111',
|
|
48
48
|
loadOrCreateDeviceIdentity: async () => ({ publicKeyEd25519: 'fixture_public_key' }),
|
|
@@ -54,7 +54,13 @@ function bootstrapDependencies(onboarding) {
|
|
|
54
54
|
saveOrganizationApiToken: async () => record('save_token'),
|
|
55
55
|
retryBootstrapOnboarding: async (operation) => operation(),
|
|
56
56
|
onboard: async () => onboarding,
|
|
57
|
-
installStableRepositoryLauncher: async () => {
|
|
57
|
+
installStableRepositoryLauncher: async () => {
|
|
58
|
+
await record('launcher');
|
|
59
|
+
return { shell: '.dharma/bin/dharma', windows: '.dharma/bin/dharma.cmd' };
|
|
60
|
+
},
|
|
61
|
+
dharmaHome: () => '/fixture-home',
|
|
62
|
+
VERSION: '0.2.102',
|
|
63
|
+
enableRelayAutostart: async () => { await record('autostart'); return { state: 'enabled', backend: 'systemd-user' }; },
|
|
58
64
|
verifyAgentFabricSkillInstallation: async () => ({ ready: true }),
|
|
59
65
|
resolve, dirname,
|
|
60
66
|
evidencePreview: async () => ({ trajectoryCount: 0, automaticDisclosure: { ready: false } }),
|
|
@@ -88,6 +94,7 @@ test('bootstrap passes recipient approval to the verified browser opener before
|
|
|
88
94
|
assert.equal(approval.browserOpened, true);
|
|
89
95
|
assert.equal(f.calls.filter(item => item === 'open_approval').length, 1);
|
|
90
96
|
assert.ok(f.calls.indexOf('open_approval') < f.calls.indexOf('save_token'));
|
|
97
|
+
assert.ok(f.calls.indexOf('launcher') < f.calls.indexOf('autostart'));
|
|
91
98
|
});
|
|
92
99
|
function bootstrapFlags(complete = false) {
|
|
93
100
|
const flags = new Map([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repositoryOnboardingCaller.test.js","sourceRoot":"","sources":["../src/repositoryOnboardingCaller.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"repositoryOnboardingCaller.test.js","sourceRoot":"","sources":["../src/repositoryOnboardingCaller.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -181,6 +181,7 @@ async function runActualRelay(f, cycles, diagnostic, holdSourceScan = false) {
|
|
|
181
181
|
};
|
|
182
182
|
const result = await new Script(`${declaration}\nrelayStart(flags);`, { filename: 'synthetic-relay-staging-fixture.js' }).runInNewContext({
|
|
183
183
|
flags, process: processFixture, performance: { now: () => elapsedMs }, Date, Map, Promise, Number, Error,
|
|
184
|
+
VERSION: '0.2.102',
|
|
184
185
|
resolve, mkdir: (path, options) => mkdir(checkedPath(path), options),
|
|
185
186
|
writeFile: (path, bytes, options) => writeFile(checkedPath(path), bytes, options),
|
|
186
187
|
rm: (path, options) => rm(checkedPath(path), options),
|
|
@@ -250,6 +251,7 @@ async function runActualRelay(f, cycles, diagnostic, holdSourceScan = false) {
|
|
|
250
251
|
}
|
|
251
252
|
return {};
|
|
252
253
|
},
|
|
254
|
+
writeJsonAtomic: async () => { },
|
|
253
255
|
});
|
|
254
256
|
assert.equal(vaultCloses, 1);
|
|
255
257
|
assert.equal(transportCalls, holdSourceScan ? 2 : 1);
|