@dharma-ai-labs/agent-fabric 0.2.198 → 0.2.200

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 (36) hide show
  1. package/AGENT_FABRIC_ONBOARDING.md +2 -0
  2. package/dist/bootstrapRelayOrdering.test.js +28 -2
  3. package/dist/bootstrapRelayOrdering.test.js.map +1 -1
  4. package/dist/bootstrapStartupPreflight.test.js +10 -0
  5. package/dist/bootstrapStartupPreflight.test.js.map +1 -1
  6. package/dist/bootstrapTargetPreflight.test.d.ts +2 -0
  7. package/dist/bootstrapTargetPreflight.test.d.ts.map +1 -0
  8. package/dist/bootstrapTargetPreflight.test.js +70 -0
  9. package/dist/bootstrapTargetPreflight.test.js.map +1 -0
  10. package/dist/codexBootstrapCompletion.test.js +16 -1
  11. package/dist/codexBootstrapCompletion.test.js.map +1 -1
  12. package/dist/codexSetupPortalIngress.test.js +61 -1
  13. package/dist/codexSetupPortalIngress.test.js.map +1 -1
  14. package/dist/codexSetupSessionHandoff.test.js +4 -2
  15. package/dist/codexSetupSessionHandoff.test.js.map +1 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +32 -14
  18. package/dist/index.js.map +1 -1
  19. package/dist/relayAutostart.d.ts +4 -2
  20. package/dist/relayAutostart.d.ts.map +1 -1
  21. package/dist/relayAutostart.js +20 -3
  22. package/dist/relayAutostart.js.map +1 -1
  23. package/dist/repositoryOnboardingCaller.test.js +22 -5
  24. package/dist/repositoryOnboardingCaller.test.js.map +1 -1
  25. package/dist/schemas/wsl-relay-host.v1.schema.json +18 -0
  26. package/dist/startupCommitScope.test.js +6 -0
  27. package/dist/startupCommitScope.test.js.map +1 -1
  28. package/dist/wslRelayHost.d.ts +30 -0
  29. package/dist/wslRelayHost.d.ts.map +1 -0
  30. package/dist/wslRelayHost.js +269 -0
  31. package/dist/wslRelayHost.js.map +1 -0
  32. package/dist/wslRelayHost.test.d.ts +2 -0
  33. package/dist/wslRelayHost.test.d.ts.map +1 -0
  34. package/dist/wslRelayHost.test.js +308 -0
  35. package/dist/wslRelayHost.test.js.map +1 -0
  36. package/package.json +1 -1
@@ -0,0 +1,18 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schemas.dharma-ai.io/wsl-relay-host/v1",
4
+ "title": "Owned WSL Relay Host Registration",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schema", "distribution", "linuxUser", "windowsSid", "executable", "taskName", "arguments", "description"],
8
+ "properties": {
9
+ "schema": {"const": "dharma.wsl-relay-host/v1"},
10
+ "distribution": {"type": "string", "maxLength": 64, "pattern": "^[A-Za-z0-9][A-Za-z0-9 ._-]*[A-Za-z0-9._-]$|^[A-Za-z0-9]$"},
11
+ "linuxUser": {"type": "string", "pattern": "^[a-z_][a-z0-9_-]{0,31}$"},
12
+ "windowsSid": {"type": "string", "pattern": "^S-1-5-21-(?:[0-9]{1,10}-){2}[0-9]{1,10}-[0-9]{1,10}$"},
13
+ "executable": {"type": "string", "maxLength": 260, "pattern": "^[A-Za-z]:\\\\[Ww][Ii][Nn][Dd][Oo][Ww][Ss]\\\\[Ss][Yy][Ss][Tt][Ee][Mm]32\\\\[Ww][Ss][Ll]\\.[Ee][Xx][Ee]$"},
14
+ "taskName": {"type": "string", "pattern": "^DharmaAgentFabric-WSL-[a-f0-9]{24}$"},
15
+ "arguments": {"type": "string", "maxLength": 512, "pattern": "^--distribution \"[A-Za-z0-9][A-Za-z0-9 ._-]{0,63}\" --user \"[a-z_][a-z0-9_-]{0,31}\" --cd / --exec /usr/bin/systemctl --user start --wait dharma-agent-fabric\\.service$"},
16
+ "description": {"type": "string", "pattern": "^Dharma Agent Fabric owned WSL host [a-f0-9]{64}$"}
17
+ }
18
+ }
@@ -58,6 +58,7 @@ async function fixture(phase, failure = 'withdraw') {
58
58
  rm: async (path) => { removals.push(path); stored.delete(path); },
59
59
  readRegistration: async () => { await boundary('registration'); return { ...registration, backend: 'systemd-user' }; },
60
60
  relayAutostartStatus: async () => { await boundary('status'); return { state: 'enabled' }; },
61
+ startWslRelayHost: async () => boundary('host'),
61
62
  defaultRunner: async (file, args) => { commands.push([file, args]); await boundary('os'); return { stdout: '' }; },
62
63
  unavailable: () => new Error('container_startup_unavailable'), UNIT_NAME: 'dharma-agent-fabric.service',
63
64
  };
@@ -169,4 +170,9 @@ test('user startup withholds a late OS acknowledgement without claiming reversal
169
170
  await assert.rejects(f.start(), /codex_setup_host_scope_unavailable/);
170
171
  assert.equal(f.commands.length, 1);
171
172
  });
173
+ test('user startup withholds a late WSL host acknowledgement without replaying the Linux start', async () => {
174
+ const f = await fixture('host');
175
+ await assert.rejects(f.start(), /codex_setup_host_scope_unavailable/);
176
+ assert.equal(f.commands.length, 1);
177
+ });
172
178
  //# sourceMappingURL=startupCommitScope.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"startupCommitScope.test.js","sourceRoot":"","sources":["../src/startupCommitScope.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startupCommitScope.test.js","sourceRoot":"","sources":["../src/startupCommitScope.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ type Context = {
2
+ distribution: string;
3
+ linuxUser: string;
4
+ };
5
+ type Runner = (script: string) => Promise<{
6
+ stdout: string;
7
+ }>;
8
+ export interface WslHostOptions {
9
+ home: string;
10
+ wslHost?: {
11
+ context(): Promise<Context | null>;
12
+ run?: Runner;
13
+ };
14
+ run?: (file: string, args: string[]) => Promise<{
15
+ stdout: string;
16
+ }>;
17
+ }
18
+ type State = {
19
+ exists: boolean;
20
+ enabled: boolean;
21
+ running: boolean;
22
+ };
23
+ export declare function resolveWslRelayContext(distribution: string | undefined, linuxUser: string, installed?: unknown): Context;
24
+ export declare function assertWslHostPreflight(options: WslHostOptions): Promise<void>;
25
+ export declare function enableWslRelayHost(options: WslHostOptions): Promise<void>;
26
+ export declare function wslRelayHostStatus(options: WslHostOptions): Promise<State | null>;
27
+ export declare function startWslRelayHost(options: WslHostOptions): Promise<void>;
28
+ export declare function disableWslRelayHost(options: WslHostOptions): Promise<void>;
29
+ export {};
30
+ //# sourceMappingURL=wslRelayHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wslRelayHost.d.ts","sourceRoot":"","sources":["../src/wslRelayHost.ts"],"names":[],"mappings":"AAOA,KAAK,OAAO,GAAG;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC,CAAC;AACzD,KAAK,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAAC,CAAC;AAC5D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE;QAAC,OAAO,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;IAC7D,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;CACnE;AAGD,KAAK,KAAK,GAAG;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,CAAC;AAUnE,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAE,OAAc,GAAG,OAAO,CAS9H;AA0ID,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAMnF;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAuB/E;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,cAAc,yBAK/D;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAW9E;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhF"}
@@ -0,0 +1,269 @@
1
+ import { execFile } from 'node:child_process';
2
+ import { createHash } from 'node:crypto';
3
+ import { lstat, readFile, realpath, rm, writeFile } from 'node:fs/promises';
4
+ import { userInfo } from 'node:os';
5
+ import { join, resolve } from 'node:path';
6
+ import { captureBootstrapHostChild, currentBootstrapHostScope } from './bootstrapHostScope.js';
7
+ const fail = (conflict = false) => {
8
+ throw new Error(conflict
9
+ ? 'autostart_conflict: the WSL host task is not owned by this installation.' : 'wsl_host_startup_unavailable');
10
+ };
11
+ const receiptPath = (home) => join(home, 'relay', 'wsl-host.json');
12
+ const literal = (value) => `'${value.replace(/'/g, "''")}'`;
13
+ const object = (value) => Boolean(value && typeof value === 'object' && !Array.isArray(value));
14
+ const digest = (home, context) => createHash('sha256').update(JSON.stringify([home, context.distribution, context.linuxUser])).digest('hex');
15
+ const windowsArgs = (script) => ['/mnt/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe',
16
+ '-NoLogo', '-NoProfile', '-NonInteractive', '-EncodedCommand', Buffer.from(script, 'utf16le').toString('base64')];
17
+ export function resolveWslRelayContext(distribution, linuxUser, installed = null) {
18
+ if (!distribution) {
19
+ if (!object(installed) || installed.schema !== 'dharma.wsl-relay-host/v1'
20
+ || installed.linuxUser !== linuxUser || typeof installed.distribution !== 'string')
21
+ return fail();
22
+ distribution = installed.distribution;
23
+ }
24
+ if (!/^[A-Za-z0-9][A-Za-z0-9 ._-]{0,63}$/.test(distribution) || distribution.trim() !== distribution
25
+ || !/^[a-z_][a-z0-9_-]{0,31}$/.test(linuxUser))
26
+ return fail();
27
+ return { distribution, linuxUser };
28
+ }
29
+ async function privateParent(options) {
30
+ for (const path of [options.home, join(options.home, 'relay')]) {
31
+ const stat = await lstat(path);
32
+ if (!stat.isDirectory() || stat.isSymbolicLink() || await realpath(path) !== resolve(path)
33
+ || process.platform !== 'win32' && ((stat.mode & 0o077) !== 0 || stat.uid !== process.getuid()))
34
+ return fail(true);
35
+ }
36
+ }
37
+ async function windows(script) {
38
+ const scope = currentBootstrapHostScope();
39
+ const operation = () => new Promise((accept, reject) => {
40
+ const child = execFile('/init', windowsArgs(script), { cwd: '/mnt/c/Windows/System32', timeout: 15000, maxBuffer: 16384, signal: scope?.signal }, (error, stdout) => error ? reject(error) : accept({ stdout }));
41
+ if (scope)
42
+ captureBootstrapHostChild(scope, child);
43
+ });
44
+ return operation();
45
+ }
46
+ async function context(options) {
47
+ let value;
48
+ if (options.wslHost)
49
+ value = await options.wslHost.context();
50
+ else {
51
+ if (process.platform !== 'linux')
52
+ return null;
53
+ for (const marker of ['/.dockerenv', '/run/.containerenv']) {
54
+ try {
55
+ await lstat(marker);
56
+ return null;
57
+ }
58
+ catch (error) {
59
+ if (error.code !== 'ENOENT')
60
+ return fail();
61
+ }
62
+ }
63
+ const kernel = await readFile('/proc/sys/kernel/osrelease', 'utf8');
64
+ if (!/microsoft/i.test(kernel))
65
+ return null;
66
+ if (!process.getuid?.())
67
+ return fail();
68
+ value = resolveWslRelayContext(process.env.WSL_DISTRO_NAME, userInfo().username, process.env.WSL_DISTRO_NAME ? null : await saved(options));
69
+ }
70
+ if (value === null)
71
+ return null;
72
+ if (!object(value) || Object.keys(value).sort().join(',') !== 'distribution,linuxUser'
73
+ || typeof value.distribution !== 'string' || !/^[A-Za-z0-9][A-Za-z0-9 ._-]{0,63}$/.test(value.distribution)
74
+ || value.distribution.trim() !== value.distribution || typeof value.linuxUser !== 'string'
75
+ || !/^[a-z_][a-z0-9_-]{0,31}$/.test(value.linuxUser))
76
+ return fail();
77
+ return value;
78
+ }
79
+ async function invoke(options, script) {
80
+ const scope = currentBootstrapHostScope();
81
+ try {
82
+ if (windowsArgs(script).at(-1).length > 28000)
83
+ return fail();
84
+ const run = options.wslHost?.run || (options.run
85
+ ? value => options.run('/init', windowsArgs(value)) : windows);
86
+ const result = await (scope ? scope.step(() => run(script)) : run(script));
87
+ if (Buffer.byteLength(result.stdout) > 16384)
88
+ return fail();
89
+ return JSON.parse(result.stdout.replace(/^\uFEFF/, '').trim());
90
+ }
91
+ catch {
92
+ await scope?.assert();
93
+ return fail();
94
+ }
95
+ }
96
+ async function expected(options, current) {
97
+ const identity = await invoke(options, '# dharma-wsl-host:identity\n$ErrorActionPreference="Stop"; '
98
+ + '$sid=[System.Security.Principal.WindowsIdentity]::GetCurrent().User.Value; '
99
+ + '$exe=Join-Path $env:SystemRoot "System32\\wsl.exe"; '
100
+ + '@{sid=$sid;executable=$exe}|ConvertTo-Json -Compress');
101
+ if (!object(identity) || Object.keys(identity).sort().join(',') !== 'executable,sid'
102
+ || typeof identity.sid !== 'string' || !/^S-1-5-21-(?:\d{1,10}-){2}\d{1,10}-\d{1,10}$/.test(identity.sid)
103
+ || typeof identity.executable !== 'string' || !/^[A-Za-z]:\\Windows\\System32\\wsl\.exe$/i.test(identity.executable))
104
+ return fail();
105
+ const hash = digest(options.home, current);
106
+ return { ...current, schema: 'dharma.wsl-relay-host/v1', windowsSid: identity.sid,
107
+ executable: identity.executable, taskName: `DharmaAgentFabric-WSL-${hash.slice(0, 24)}`,
108
+ arguments: `--distribution "${current.distribution}" --user "${current.linuxUser}" --cd / --exec /usr/bin/systemctl --user start --wait dharma-agent-fabric.service`,
109
+ description: `Dharma Agent Fabric owned WSL host ${hash}` };
110
+ }
111
+ async function saved(options) {
112
+ try {
113
+ const path = receiptPath(options.home), stat = await lstat(path);
114
+ if (!stat.isFile() || stat.isSymbolicLink() || stat.size > 8192
115
+ || process.platform !== 'win32' && ((stat.mode & 0o077) !== 0 || stat.uid !== process.getuid()))
116
+ return fail(true);
117
+ await privateParent(options);
118
+ const value = JSON.parse(await readFile(path, 'utf8'));
119
+ if (!object(value))
120
+ return fail(true);
121
+ return value;
122
+ }
123
+ catch (error) {
124
+ if (error.code === 'ENOENT')
125
+ return null;
126
+ return fail(true);
127
+ }
128
+ }
129
+ function sameReceipt(value, target) {
130
+ const keys = Object.keys(target);
131
+ return Object.keys(value).length === keys.length && keys.every(key => Reflect.get(value, key) === Reflect.get(target, key));
132
+ }
133
+ function lookup(receipt, required = false) {
134
+ const query = `$task=Get-ScheduledTask -TaskPath '\\' -TaskName ${literal(receipt.taskName)} -ErrorAction Stop; `;
135
+ return required ? query : `$task=$null; try { ${query} } catch { `
136
+ + `if ($_.FullyQualifiedErrorId -cne 'CmdletizationQuery_NotFound,Get-ScheduledTask' `
137
+ + `-or [string]$_.CategoryInfo.Category -ne 'ObjectNotFound') {throw} }; `;
138
+ }
139
+ function taskAction(receipt) {
140
+ // Direct WSL scheduled actions can exit before Linux starts. Preserve the
141
+ // same limited identity while hosting the fixed native command in PowerShell.
142
+ const script = `$ErrorActionPreference='Stop'; & ${literal(receipt.executable)} `
143
+ + `--distribution ${literal(receipt.distribution)} --user ${literal(receipt.linuxUser)} `
144
+ + `--cd / --exec /usr/bin/systemctl --user start --wait dharma-agent-fabric.service; exit $LASTEXITCODE`;
145
+ return { executable: receipt.executable.replace(/wsl\.exe$/i, 'WindowsPowerShell\\v1.0\\powershell.exe'),
146
+ arguments: `-NoLogo -NoProfile -NonInteractive -WindowStyle Hidden -EncodedCommand ${Buffer.from(script, 'utf16le').toString('base64')}` };
147
+ }
148
+ function taskPreamble(receipt, operation) {
149
+ const action = taskAction(receipt);
150
+ return `# dharma-wsl-host:${operation}\n$ErrorActionPreference="Stop"; `
151
+ + `$current=[System.Security.Principal.WindowsIdentity]::GetCurrent(); `
152
+ + `if ($current.User.Value -cne ${literal(receipt.windowsSid)}) {throw 'wsl_host_identity_conflict'}; `
153
+ + lookup(receipt)
154
+ + `function Assert-OwnedTask($value) { $actions=@($value.Actions); $triggers=@($value.Triggers); `
155
+ + `$definition=[xml](Export-ScheduledTask -TaskPath '\\' -TaskName ${literal(receipt.taskName)} -ErrorAction Stop); `
156
+ + `$principals=@($definition.Task.Principals.Principal); `
157
+ + `if ($value.Description -cne ${literal(receipt.description)} -or $actions.Count -ne 1 `
158
+ + `-or $actions[0].Execute -cne ${literal(action.executable)} -or $actions[0].Arguments -cne ${literal(action.arguments)} `
159
+ + `-or $principals.Count -ne 1 -or $principals[0].UserId -cne $current.User.Value `
160
+ + `-or [string]$value.Principal.LogonType -ne 'Interactive' -or [string]$value.Principal.RunLevel -ne 'Limited' `
161
+ + `-or $triggers.Count -ne 1 -or $triggers[0].CimClass.CimClassName -ne 'MSFT_TaskLogonTrigger' -or !$triggers[0].Enabled `
162
+ + `-or ($triggers[0].UserId -cne $current.User.Value -and $triggers[0].UserId -cne $current.Name) `
163
+ + `-or [string]$value.Settings.MultipleInstances -ne 'IgnoreNew' `
164
+ + `-or $value.Settings.ExecutionTimeLimit -ne 'PT0S' -or $value.Settings.RestartCount -ne 0 `
165
+ + `-or $value.Settings.DisallowStartIfOnBatteries -or $value.Settings.StopIfGoingOnBatteries) {throw 'wsl_host_task_conflict'} }; `;
166
+ }
167
+ const renderState = `if ($null -eq $task) { @{exists=$false;enabled=$false;running=$false}|ConvertTo-Json -Compress } `
168
+ + `else { Assert-OwnedTask $task; @{exists=$true;enabled=($task.State -ne 'Disabled');running=($task.State -eq 'Running')}|ConvertTo-Json -Compress }`;
169
+ async function query(options, receipt) {
170
+ const value = await invoke(options, taskPreamble(receipt, 'status') + renderState);
171
+ if (!object(value) || Object.keys(value).sort().join(',') !== 'enabled,exists,running'
172
+ || Object.values(value).some(field => typeof field !== 'boolean'))
173
+ return fail();
174
+ if (!value.exists && (value.enabled || value.running) || value.running && !value.enabled)
175
+ return fail();
176
+ return value;
177
+ }
178
+ export async function assertWslHostPreflight(options) {
179
+ const current = await context(options);
180
+ if (!current)
181
+ return;
182
+ const target = await expected(options, current), previous = await saved(options);
183
+ if (previous && !sameReceipt(previous, target))
184
+ return fail(true);
185
+ const state = await query(options, target);
186
+ if (state.exists && !previous)
187
+ return fail(true);
188
+ }
189
+ export async function enableWslRelayHost(options) {
190
+ const current = await context(options);
191
+ if (!current)
192
+ return;
193
+ const target = await expected(options, current), previous = await saved(options);
194
+ if (previous && !sameReceipt(previous, target))
195
+ return fail(true);
196
+ const before = await query(options, target);
197
+ if (before.exists && !previous)
198
+ return fail(true);
199
+ await privateParent(options);
200
+ if (!previous)
201
+ await writeFile(receiptPath(options.home), `${JSON.stringify(target, null, 2)}\n`, { flag: 'wx', mode: 0o600 });
202
+ if (before.exists && before.enabled)
203
+ return;
204
+ // Preserve ownership before external mutation. Lost responses require readback,
205
+ // not replacement of a possibly foreign task.
206
+ const action = taskAction(target);
207
+ await invoke(options, taskPreamble(target, 'register')
208
+ + `if ($null -ne $task) { Assert-OwnedTask $task; Enable-ScheduledTask -TaskPath '\\' -TaskName ${literal(target.taskName)}|Out-Null } else { `
209
+ + `$action=New-ScheduledTaskAction -Execute ${literal(action.executable)} -Argument ${literal(action.arguments)}; `
210
+ + `$trigger=New-ScheduledTaskTrigger -AtLogOn -User $current.Name; `
211
+ + `$principal=New-ScheduledTaskPrincipal -UserId $current.Name -LogonType Interactive -RunLevel Limited; `
212
+ + `$settings=New-ScheduledTaskSettingsSet -MultipleInstances IgnoreNew -ExecutionTimeLimit ([TimeSpan]::Zero) -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries; `
213
+ + `Register-ScheduledTask -TaskPath '\\' -TaskName ${literal(target.taskName)} -Description ${literal(target.description)} `
214
+ + `-Action $action -Trigger $trigger -Principal $principal -Settings $settings|Out-Null }; `
215
+ + lookup(target, true) + renderState);
216
+ const after = await query(options, target);
217
+ if (!after.exists || !after.enabled)
218
+ return fail();
219
+ }
220
+ export async function wslRelayHostStatus(options) {
221
+ const current = await context(options);
222
+ if (!current)
223
+ return null;
224
+ const previous = await saved(options);
225
+ if (!previous)
226
+ return fail();
227
+ const target = await expected(options, current);
228
+ if (!sameReceipt(previous, target))
229
+ return fail(true);
230
+ return query(options, target);
231
+ }
232
+ export async function startWslRelayHost(options) {
233
+ const current = await context(options);
234
+ if (!current)
235
+ return;
236
+ const target = await expected(options, current), previous = await saved(options);
237
+ if (!previous || !sameReceipt(previous, target))
238
+ return fail(true);
239
+ const before = await query(options, target);
240
+ if (!before.exists || !before.enabled)
241
+ return fail();
242
+ if (before.running)
243
+ return;
244
+ await invoke(options, taskPreamble(target, 'start') + `if ($null -eq $task) {throw 'wsl_host_missing'}; Assert-OwnedTask $task; `
245
+ + `Start-ScheduledTask -TaskPath '\\' -TaskName ${literal(target.taskName)}; `
246
+ + `for ($attempt=0; $attempt -lt 40; $attempt++) { ` + lookup(target, true)
247
+ + `Assert-OwnedTask $task; if ($task.State -eq 'Running') {break}; Start-Sleep -Milliseconds 100 }; ` + renderState);
248
+ if (!(await query(options, target)).running)
249
+ return fail();
250
+ }
251
+ export async function disableWslRelayHost(options) {
252
+ const previous = await saved(options);
253
+ if (!previous)
254
+ return;
255
+ const current = await context(options);
256
+ if (!current)
257
+ return fail(true);
258
+ const target = await expected(options, current);
259
+ if (!sameReceipt(previous, target))
260
+ return fail(true);
261
+ await query(options, target);
262
+ await invoke(options, taskPreamble(target, 'disable') + `if ($null -ne $task) { Assert-OwnedTask $task; `
263
+ + `Unregister-ScheduledTask -TaskPath '\\' -TaskName ${literal(target.taskName)} -Confirm:$false }; `
264
+ + lookup(target) + renderState);
265
+ if ((await query(options, target)).exists)
266
+ return fail();
267
+ await rm(receiptPath(options.home));
268
+ }
269
+ //# sourceMappingURL=wslRelayHost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wslRelayHost.js","sourceRoot":"","sources":["../src/wslRelayHost.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=wslRelayHost.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wslRelayHost.test.d.ts","sourceRoot":"","sources":["../src/wslRelayHost.test.ts"],"names":[],"mappings":""}