@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.
Files changed (38) hide show
  1. package/AGENT_FABRIC_ONBOARDING.md +3 -1
  2. package/dist/demoPackage.d.ts +24 -2
  3. package/dist/demoPackage.d.ts.map +1 -1
  4. package/dist/demoPackage.js +56 -5
  5. package/dist/demoPackage.js.map +1 -1
  6. package/dist/demoPackage.test.js +54 -2
  7. package/dist/demoPackage.test.js.map +1 -1
  8. package/dist/demoSourceBaseline.d.ts +3 -1
  9. package/dist/demoSourceBaseline.d.ts.map +1 -1
  10. package/dist/demoSourceBaseline.js +8 -2
  11. package/dist/demoSourceBaseline.js.map +1 -1
  12. package/dist/demoSourceBaseline.test.js +10 -0
  13. package/dist/demoSourceBaseline.test.js.map +1 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +46 -3
  16. package/dist/index.js.map +1 -1
  17. package/dist/index.test.js +20 -3
  18. package/dist/index.test.js.map +1 -1
  19. package/dist/onboardingStage.d.ts +1 -1
  20. package/dist/onboardingStage.d.ts.map +1 -1
  21. package/dist/onboardingStage.js.map +1 -1
  22. package/dist/relayAutostart.d.ts +36 -0
  23. package/dist/relayAutostart.d.ts.map +1 -0
  24. package/dist/relayAutostart.js +167 -0
  25. package/dist/relayAutostart.js.map +1 -0
  26. package/dist/relayAutostart.test.d.ts +2 -0
  27. package/dist/relayAutostart.test.d.ts.map +1 -0
  28. package/dist/relayAutostart.test.js +103 -0
  29. package/dist/relayAutostart.test.js.map +1 -0
  30. package/dist/repositoryOnboardingCaller.test.js +9 -2
  31. package/dist/repositoryOnboardingCaller.test.js.map +1 -1
  32. package/dist/skillPreparationCache.test.js +2 -0
  33. package/dist/skillPreparationCache.test.js.map +1 -1
  34. package/dist/usage.d.ts +1 -1
  35. package/dist/usage.d.ts.map +1 -1
  36. package/dist/usage.js +1 -1
  37. package/dist/usage.js.map +1 -1
  38. 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":"AAWA,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"}
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=relayAutostart.test.d.ts.map
@@ -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 () => { await record('launcher'); return { installed: true }; },
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);