@dharma-ai-labs/agent-fabric 0.2.134 → 0.2.136

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 (34) hide show
  1. package/README.md +49 -0
  2. package/dist/containerDockerInit.test.d.ts +2 -0
  3. package/dist/containerDockerInit.test.d.ts.map +1 -0
  4. package/dist/containerDockerInit.test.js +187 -0
  5. package/dist/containerDockerInit.test.js.map +1 -0
  6. package/dist/containerRelayLifecycle.d.ts +68 -0
  7. package/dist/containerRelayLifecycle.d.ts.map +1 -0
  8. package/dist/containerRelayLifecycle.js +534 -0
  9. package/dist/containerRelayLifecycle.js.map +1 -0
  10. package/dist/containerRelayLifecycle.test.d.ts +2 -0
  11. package/dist/containerRelayLifecycle.test.d.ts.map +1 -0
  12. package/dist/containerRelayLifecycle.test.js +502 -0
  13. package/dist/containerRelayLifecycle.test.js.map +1 -0
  14. package/dist/containerRelayPublicCommand.test.d.ts +2 -0
  15. package/dist/containerRelayPublicCommand.test.d.ts.map +1 -0
  16. package/dist/containerRelayPublicCommand.test.js +28 -0
  17. package/dist/containerRelayPublicCommand.test.js.map +1 -0
  18. package/dist/containerRelaySchema.test.d.ts +2 -0
  19. package/dist/containerRelaySchema.test.d.ts.map +1 -0
  20. package/dist/containerRelaySchema.test.js +44 -0
  21. package/dist/containerRelaySchema.test.js.map +1 -0
  22. package/dist/demoWatchControl.d.ts +3 -3
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +43 -10
  25. package/dist/index.js.map +1 -1
  26. package/dist/relayAutostart.d.ts +10 -3
  27. package/dist/relayAutostart.d.ts.map +1 -1
  28. package/dist/relayAutostart.js +57 -16
  29. package/dist/relayAutostart.js.map +1 -1
  30. package/dist/schemas/container-relay-lifecycle.v1.schema.json +226 -0
  31. package/dist/schemas/relay-autostart.v3.schema.json +52 -0
  32. package/dist/usage.js +1 -1
  33. package/dist/usage.js.map +1 -1
  34. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
+ import { type ContainerRuntime } from './containerRelayLifecycle.js';
1
2
  type Runner = (file: string, args: string[]) => Promise<{
2
3
  stdout: string;
3
4
  }>;
@@ -7,9 +8,10 @@ export interface RelayAutostartOptions {
7
8
  platform?: NodeJS.Platform;
8
9
  uid?: number;
9
10
  run?: Runner;
11
+ containerRuntime?: ContainerRuntime;
10
12
  }
11
13
  interface RegistrationFields {
12
- backend: 'systemd-user' | 'windows-task' | 'launchd-user';
14
+ backend: 'systemd-user' | 'windows-task' | 'launchd-user' | 'container-entrypoint';
13
15
  launcher: string;
14
16
  workspace: string;
15
17
  version: string;
@@ -22,6 +24,9 @@ export type RelayAutostartRegistration = RegistrationFields & ({
22
24
  schema: 'dharma.relay-autostart/v2';
23
25
  mode: 'demo-only';
24
26
  policy: null;
27
+ } | {
28
+ schema: 'dharma.relay-autostart/v3';
29
+ policy: string;
25
30
  });
26
31
  type Registration = RelayAutostartRegistration;
27
32
  export type RelayAutostartState = {
@@ -29,6 +34,8 @@ export type RelayAutostartState = {
29
34
  backend: Registration['backend'] | null;
30
35
  version?: string;
31
36
  reason?: string;
37
+ lifecycle?: 'configured' | 'unconfigured' | 'paused' | 'blocked' | 'starting' | 'running';
38
+ restartCoverage?: 'container-entrypoint-only';
32
39
  };
33
40
  export declare function macRelayLaunchAgent(launcher: string, policy: string | null, workspace: string, home: string): string;
34
41
  export declare function linuxRelayUnit(launcher: string, policy: string | null, workspace: string, home?: string): string;
@@ -44,13 +51,13 @@ export declare function enableRelayAutostart(options: RelayAutostartOptions & {
44
51
  export declare function disableRelayAutostart(options: RelayAutostartOptions): Promise<RelayAutostartState>;
45
52
  export declare function startRelayAutostart(options: RelayAutostartOptions): Promise<{
46
53
  state: "start_requested";
47
- backend: "systemd-user" | "windows-task" | "launchd-user";
54
+ backend: "container-entrypoint" | "systemd-user" | "windows-task" | "launchd-user";
48
55
  version: string;
49
56
  }>;
50
57
  export declare function inspectOwnedRelayAutostart(options: RelayAutostartOptions): Promise<RelayAutostartRegistration>;
51
58
  export declare function stopRelayAutostart(options: RelayAutostartOptions): Promise<{
52
59
  state: "stop_requested";
53
- backend: "systemd-user" | "windows-task" | "launchd-user";
60
+ backend: "container-entrypoint" | "systemd-user" | "windows-task" | "launchd-user";
54
61
  version: string;
55
62
  }>;
56
63
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"relayAutostart.d.ts","sourceRoot":"","sources":["../src/relayAutostart.ts"],"names":[],"mappings":"AAYA,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;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,kBAAkB;IAC1B,OAAO,EAAE,cAAc,GAAG,cAAc,GAAG,cAAc,CAAC;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,MAAM,0BAA0B,GAAG,kBAAkB,GAAG,CAAC;IAAE,MAAM,EAAE,2BAA2B,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClH;IAAE,MAAM,EAAE,2BAA2B,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC;AAC9E,KAAK,YAAY,GAAG,0BAA0B,CAAC;AAE/C,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;AA6BF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAkB3G;AAwDD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,UAEvG;AAkBD,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,UAM/F;AA6ED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAwCvG;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG;IAC1E,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAC5E,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAoG/B;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA6BxG;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,qBAAqB;;;;GAoBvE;AAED,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,qBAAqB,uCAe9E;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,qBAAqB;;;;GAatE"}
1
+ {"version":3,"file":"relayAutostart.d.ts","sourceRoot":"","sources":["../src/relayAutostart.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { lstat, mkdir, readFile, rm, writeFile } from 'node:fs/promises';
4
4
  import { homedir } from 'node:os';
5
5
  import { dirname, isAbsolute, join } from 'node:path';
6
6
  import { promisify } from 'node:util';
7
+ import { containerEntrypointAvailable, containerStartupControl, containerStartupState, ownsContainerStartup, writeContainerRegistration, readContainerRegistration } from './containerRelayLifecycle.js';
7
8
  const execFileAsync = promisify(execFile);
8
9
  const UNIT_NAME = 'dharma-agent-fabric.service';
9
10
  const MAC_LABEL = 'io.dharma.agent-fabric.relay';
@@ -51,7 +52,7 @@ export function macRelayLaunchAgent(launcher, policy, workspace, home) {
51
52
  + '</dict></plist>\n';
52
53
  }
53
54
  function backendPlatform(backend) {
54
- return backend === 'systemd-user' ? 'linux' : backend === 'launchd-user' ? 'darwin' : 'win32';
55
+ return backend === 'systemd-user' || backend === 'container-entrypoint' ? 'linux' : backend === 'launchd-user' ? 'darwin' : 'win32';
55
56
  }
56
57
  function macDomain(options) {
57
58
  const uid = options.uid ?? process.getuid?.();
@@ -134,18 +135,22 @@ function scriptPath(home) { return join(home, 'relay', 'autostart.ps1'); }
134
135
  function taskName(home) {
135
136
  return `DharmaAgentFabric-${createHash('sha256').update(home.toLowerCase()).digest('hex').slice(0, 12)}`;
136
137
  }
137
- async function readRegistration(home) {
138
+ async function readRegistration(options) {
139
+ const home = options.home;
138
140
  try {
141
+ if ((options.platform || process.platform) === 'linux' && await containerEntrypointAvailable(options)) {
142
+ return await readContainerRegistration(options);
143
+ }
139
144
  const value = JSON.parse(await readFile(registrationPath(home), 'utf8'));
140
145
  if (!value || typeof value !== 'object' || Array.isArray(value)
141
- || !['systemd-user', 'windows-task', 'launchd-user'].includes(value.backend)
146
+ || !['systemd-user', 'windows-task', 'launchd-user', 'container-entrypoint'].includes(value.backend)
142
147
  || typeof value.version !== 'string' || !VERSION.test(value.version)
143
148
  || typeof value.launcher !== 'string' || typeof value.workspace !== 'string'
144
149
  || (value.backend === 'windows-task' ? value.taskName !== taskName(home) : value.taskName !== null)) {
145
150
  throw new Error('Invalid startup receipt.');
146
151
  }
147
152
  const keys = ['schema', 'backend', 'launcher', 'policy', 'workspace', 'version', 'taskName'];
148
- if (value.schema === 'dharma.relay-autostart/v1') {
153
+ if (value.schema === 'dharma.relay-autostart/v1' || value.schema === 'dharma.relay-autostart/v3') {
149
154
  if (typeof value.policy !== 'string')
150
155
  throw new Error('Invalid startup receipt.');
151
156
  safeLine(value.policy);
@@ -162,15 +167,24 @@ async function readRegistration(home) {
162
167
  }
163
168
  safeLine(value.launcher);
164
169
  safeLine(value.workspace);
170
+ if ((value.schema === 'dharma.relay-autostart/v3' && value.backend !== 'container-entrypoint')
171
+ || value.backend === 'container-entrypoint' && (value.schema !== 'dharma.relay-autostart/v3'
172
+ || !isAbsolute(value.launcher) || !isAbsolute(value.workspace) || value.policy !== join(value.workspace, '.dharma', 'approved-policy.json'))) {
173
+ throw new Error('Invalid container startup receipt.');
174
+ }
165
175
  return value;
166
176
  }
167
177
  catch (error) {
168
178
  if (error.code === 'ENOENT')
169
179
  return null;
180
+ if (error instanceof Error && error.message.startsWith('container_startup_unavailable:'))
181
+ throw error;
170
182
  throw new Error('autostart_receipt_invalid: startup ownership could not be verified.');
171
183
  }
172
184
  }
173
185
  async function ownsStartupFile(options, registration, allowLegacy = false) {
186
+ if (registration.backend === 'container-entrypoint')
187
+ return ownsContainerStartup(options, registration);
174
188
  const path = startupPath(options, registration.backend);
175
189
  if (registration.backend === 'launchd-user') {
176
190
  const stat = await lstat(path).catch(() => null);
@@ -204,7 +218,7 @@ function windowsTaskLookup(registration) {
204
218
  export async function relayAutostartStatus(options) {
205
219
  let registration;
206
220
  try {
207
- registration = await readRegistration(options.home);
221
+ registration = await readRegistration(options);
208
222
  }
209
223
  catch {
210
224
  return { state: 'unavailable', backend: null, reason: 'autostart_receipt_invalid' };
@@ -221,6 +235,8 @@ export async function relayAutostartStatus(options) {
221
235
  reason: 'autostart_conflict' };
222
236
  }
223
237
  try {
238
+ if (registration.backend === 'container-entrypoint')
239
+ return await containerStartupState(options, registration);
224
240
  if (registration.backend === 'launchd-user') {
225
241
  await macLoaded(options, registration);
226
242
  const disabled = (await run('/bin/launchctl', ['print-disabled', macDomain(options)])).stdout;
@@ -243,8 +259,9 @@ export async function relayAutostartStatus(options) {
243
259
  catch (error) {
244
260
  return { state: 'unavailable', backend: registration.backend, version: registration.version,
245
261
  reason: error instanceof Error && error.message.startsWith('autostart_conflict:') ? 'autostart_conflict'
246
- : registration.backend === 'systemd-user' ? 'systemd_user_unavailable'
247
- : registration.backend === 'launchd-user' ? 'launchd_user_unavailable' : 'task_scheduler_unavailable' };
262
+ : registration.backend === 'container-entrypoint' ? 'container_startup_unavailable'
263
+ : registration.backend === 'systemd-user' ? 'systemd_user_unavailable'
264
+ : registration.backend === 'launchd-user' ? 'launchd_user_unavailable' : 'task_scheduler_unavailable' };
248
265
  }
249
266
  }
250
267
  export async function enableRelayAutostart(options) {
@@ -256,8 +273,10 @@ export async function enableRelayAutostart(options) {
256
273
  throw new Error('Autostart version must be a bounded release version.');
257
274
  const userHome = options.userHome || homedir();
258
275
  const run = options.run || defaultRunner;
259
- const previous = await readRegistration(options.home);
260
- const backend = platform === 'linux' ? 'systemd-user' : platform === 'darwin' ? 'launchd-user' : 'windows-task';
276
+ const previous = await readRegistration(options);
277
+ const backend = platform === 'linux'
278
+ ? await containerEntrypointAvailable(options) ? 'container-entrypoint' : 'systemd-user'
279
+ : platform === 'darwin' ? 'launchd-user' : 'windows-task';
261
280
  if (previous && previous.backend !== backend) {
262
281
  throw new Error('Existing relay autostart belongs to a different operating system.');
263
282
  }
@@ -270,12 +289,24 @@ export async function enableRelayAutostart(options) {
270
289
  const workspace = preserve || (options.policy === null && previous?.policy) ? previous.workspace : options.workspace;
271
290
  const registration = {
272
291
  ...(policy === null ? { schema: 'dharma.relay-autostart/v2', mode: 'demo-only', policy: null }
273
- : { schema: 'dharma.relay-autostart/v1', policy: safeLine(policy) }),
292
+ : { schema: backend === 'container-entrypoint' ? 'dharma.relay-autostart/v3' : 'dharma.relay-autostart/v1',
293
+ policy: safeLine(policy) }),
274
294
  backend,
275
295
  launcher: safeLine(preserve ? previous.launcher : options.launcher),
276
296
  workspace: safeLine(workspace), version: options.version,
277
297
  taskName: platform === 'win32' ? taskName(options.home) : null,
278
298
  };
299
+ if (backend === 'container-entrypoint') {
300
+ if (registration.schema !== 'dharma.relay-autostart/v3' || !isAbsolute(registration.launcher)
301
+ || !isAbsolute(registration.workspace) || registration.policy !== join(registration.workspace, '.dharma', 'approved-policy.json')) {
302
+ throw new Error('container_startup_unavailable: a canonical enrolled repository policy is required.');
303
+ }
304
+ if (previous && !await ownsStartupFile(options, previous))
305
+ throw new Error('autostart_conflict: container startup is not owned.');
306
+ await writeContainerRegistration(options, registration);
307
+ await containerStartupControl(options, registration, true);
308
+ return containerStartupState(options, registration);
309
+ }
279
310
  if (platform === 'win32' && !previous) {
280
311
  const probe = await run('powershell.exe', encodedPowerShell(`$task = Get-ScheduledTask -TaskName ${psLiteral(registration.taskName)} -ErrorAction SilentlyContinue; `
281
312
  + `if ($null -ne $task) { 'exists' } else { 'absent' }`));
@@ -356,7 +387,7 @@ export async function enableRelayAutostart(options) {
356
387
  return status;
357
388
  }
358
389
  export async function disableRelayAutostart(options) {
359
- const registration = await readRegistration(options.home);
390
+ const registration = await readRegistration(options);
360
391
  if (!registration)
361
392
  return { state: 'disabled', backend: null };
362
393
  const platform = options.platform || process.platform;
@@ -367,7 +398,11 @@ export async function disableRelayAutostart(options) {
367
398
  throw new Error('autostart_conflict: the startup file no longer matches its ownership receipt.');
368
399
  }
369
400
  const run = options.run || defaultRunner;
370
- if (registration.backend === 'systemd-user') {
401
+ if (registration.backend === 'container-entrypoint') {
402
+ await containerStartupControl(options, registration, false);
403
+ await rm(join(options.home, 'relay', 'container-control.json'), { force: true });
404
+ }
405
+ else if (registration.backend === 'systemd-user') {
371
406
  await run('systemctl', ['--user', 'disable', UNIT_NAME]);
372
407
  await rm(unitPath(options.userHome || homedir()), { force: true });
373
408
  await run('systemctl', ['--user', 'daemon-reload']);
@@ -389,13 +424,16 @@ export async function disableRelayAutostart(options) {
389
424
  return { state: 'disabled', backend: registration.backend, version: registration.version };
390
425
  }
391
426
  export async function startRelayAutostart(options) {
392
- const registration = await readRegistration(options.home);
427
+ const registration = await readRegistration(options);
393
428
  const status = await relayAutostartStatus(options);
394
429
  if (!registration || status.state !== 'enabled') {
395
430
  throw new Error(`autostart_conflict: an enabled owned startup entry is required (${status.reason ?? status.state}).`);
396
431
  }
397
432
  const run = options.run || defaultRunner;
398
- if (registration.backend === 'systemd-user') {
433
+ if (registration.backend === 'container-entrypoint') {
434
+ await containerStartupControl(options, registration, true);
435
+ }
436
+ else if (registration.backend === 'systemd-user') {
399
437
  await run('systemctl', ['--user', 'start', UNIT_NAME]);
400
438
  }
401
439
  else if (registration.backend === 'launchd-user') {
@@ -412,7 +450,7 @@ export async function startRelayAutostart(options) {
412
450
  return { state: 'start_requested', backend: registration.backend, version: registration.version };
413
451
  }
414
452
  export async function inspectOwnedRelayAutostart(options) {
415
- const registration = await readRegistration(options.home);
453
+ const registration = await readRegistration(options);
416
454
  if (!registration || !await ownsStartupFile(options, registration)) {
417
455
  throw new Error('autostart_conflict: a verified owned startup entry is required.');
418
456
  }
@@ -430,7 +468,10 @@ export async function inspectOwnedRelayAutostart(options) {
430
468
  export async function stopRelayAutostart(options) {
431
469
  const registration = await inspectOwnedRelayAutostart(options);
432
470
  const run = options.run || defaultRunner;
433
- if (registration.backend === 'systemd-user') {
471
+ if (registration.backend === 'container-entrypoint') {
472
+ await containerStartupControl(options, registration, false);
473
+ }
474
+ else if (registration.backend === 'systemd-user') {
434
475
  await run('systemctl', ['--user', 'stop', UNIT_NAME]);
435
476
  }
436
477
  else if (registration.backend === 'launchd-user') {
@@ -1 +1 @@
1
- {"version":3,"file":"relayAutostart.js","sourceRoot":"","sources":["../src/relayAutostart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relayAutostart.js","sourceRoot":"","sources":["../src/relayAutostart.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,226 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schemas.dharma-ai.io/container-relay-lifecycle/v1",
4
+ "title": "Private container lifecycle metadata",
5
+ "description": "Local process receipts; PID/UID/start-tick checks and freshness are enforced at read time. No credentials or policy contents.",
6
+ "oneOf": [
7
+ {
8
+ "type": "object",
9
+ "additionalProperties": false,
10
+ "required": [
11
+ "schema",
12
+ "home",
13
+ "pid",
14
+ "uid",
15
+ "startTicks"
16
+ ],
17
+ "properties": {
18
+ "schema": {
19
+ "const": "dharma.container-entrypoint/v1"
20
+ },
21
+ "home": {
22
+ "type": "string",
23
+ "minLength": 1,
24
+ "maxLength": 4096,
25
+ "pattern": "^/[^\\r\\n\\u0000]+$"
26
+ },
27
+ "pid": {
28
+ "const": 1
29
+ },
30
+ "uid": {
31
+ "type": "integer",
32
+ "minimum": 1
33
+ },
34
+ "startTicks": {
35
+ "type": "string",
36
+ "pattern": "^\\d{1,20}$"
37
+ }
38
+ }
39
+ },
40
+ {
41
+ "type": "object",
42
+ "additionalProperties": false,
43
+ "required": [
44
+ "schema",
45
+ "home",
46
+ "registrationHash",
47
+ "running"
48
+ ],
49
+ "properties": {
50
+ "schema": {
51
+ "const": "dharma.container-relay-control/v1"
52
+ },
53
+ "home": {
54
+ "type": "string",
55
+ "minLength": 1,
56
+ "maxLength": 4096,
57
+ "pattern": "^/[^\\r\\n\\u0000]+$"
58
+ },
59
+ "registrationHash": {
60
+ "type": "string",
61
+ "pattern": "^[a-f0-9]{64}$"
62
+ },
63
+ "running": {
64
+ "type": "boolean"
65
+ }
66
+ }
67
+ },
68
+ {
69
+ "type": "object",
70
+ "additionalProperties": false,
71
+ "required": [
72
+ "schema",
73
+ "home",
74
+ "startTicks",
75
+ "polledAt",
76
+ "lifecycle",
77
+ "reason",
78
+ "registrationHash",
79
+ "childPid",
80
+ "childStartTicks"
81
+ ],
82
+ "properties": {
83
+ "schema": {
84
+ "const": "dharma.container-relay-heartbeat/v1"
85
+ },
86
+ "home": {
87
+ "type": "string",
88
+ "minLength": 1,
89
+ "maxLength": 4096,
90
+ "pattern": "^/[^\\r\\n\\u0000]+$"
91
+ },
92
+ "startTicks": {
93
+ "type": "string",
94
+ "pattern": "^\\d{1,20}$"
95
+ },
96
+ "polledAt": {
97
+ "type": "integer",
98
+ "minimum": 0
99
+ },
100
+ "lifecycle": {
101
+ "enum": [
102
+ "unconfigured",
103
+ "paused",
104
+ "blocked",
105
+ "starting",
106
+ "running"
107
+ ]
108
+ },
109
+ "reason": {
110
+ "enum": [
111
+ null,
112
+ "consumer_store_locked_or_unavailable",
113
+ "relay_runtime_upgrade_required"
114
+ ]
115
+ },
116
+ "registrationHash": {
117
+ "anyOf": [
118
+ {
119
+ "type": "string",
120
+ "pattern": "^[a-f0-9]{64}$"
121
+ },
122
+ {
123
+ "type": "null"
124
+ }
125
+ ]
126
+ },
127
+ "childPid": {
128
+ "type": [
129
+ "integer",
130
+ "null"
131
+ ],
132
+ "minimum": 2
133
+ },
134
+ "childStartTicks": {
135
+ "anyOf": [
136
+ {
137
+ "type": "string",
138
+ "pattern": "^\\d{1,20}$"
139
+ },
140
+ {
141
+ "type": "null"
142
+ }
143
+ ]
144
+ }
145
+ },
146
+ "allOf": [
147
+ {
148
+ "if": {
149
+ "properties": {
150
+ "lifecycle": {
151
+ "const": "running"
152
+ }
153
+ }
154
+ },
155
+ "then": {
156
+ "properties": {
157
+ "childPid": {
158
+ "type": "integer"
159
+ },
160
+ "childStartTicks": {
161
+ "type": "string",
162
+ "pattern": "^\\d{1,20}$"
163
+ },
164
+ "registrationHash": {
165
+ "type": "string",
166
+ "pattern": "^[a-f0-9]{64}$"
167
+ },
168
+ "reason": {
169
+ "type": "null"
170
+ }
171
+ }
172
+ },
173
+ "else": {
174
+ "properties": {
175
+ "childPid": {
176
+ "type": "null"
177
+ },
178
+ "childStartTicks": {
179
+ "type": "null"
180
+ }
181
+ }
182
+ }
183
+ }
184
+ ]
185
+ },
186
+ {
187
+ "type": "object",
188
+ "additionalProperties": false,
189
+ "required": [
190
+ "schema",
191
+ "home",
192
+ "pid",
193
+ "uid",
194
+ "startTicks",
195
+ "initStartTicks"
196
+ ],
197
+ "properties": {
198
+ "schema": {
199
+ "const": "dharma.container-entrypoint/v2"
200
+ },
201
+ "home": {
202
+ "type": "string",
203
+ "minLength": 1,
204
+ "maxLength": 4096,
205
+ "pattern": "^/[^\\r\\n\\u0000]+$"
206
+ },
207
+ "pid": {
208
+ "minimum": 2,
209
+ "type": "integer"
210
+ },
211
+ "uid": {
212
+ "type": "integer",
213
+ "minimum": 1
214
+ },
215
+ "startTicks": {
216
+ "type": "string",
217
+ "pattern": "^\\d{1,20}$"
218
+ },
219
+ "initStartTicks": {
220
+ "pattern": "^\\d{1,20}$",
221
+ "type": "string"
222
+ }
223
+ }
224
+ }
225
+ ]
226
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schemas.dharma-ai.io/relay-autostart/v3",
4
+ "title": "Owned container relay startup registration",
5
+ "description": "Local credential-free configuration. Runtime separately verifies private ownership, canonical signed-policy path and live PID1. It does not assert host restart policy or authorization.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "schema",
10
+ "backend",
11
+ "launcher",
12
+ "workspace",
13
+ "policy",
14
+ "version",
15
+ "taskName"
16
+ ],
17
+ "properties": {
18
+ "schema": {
19
+ "const": "dharma.relay-autostart/v3"
20
+ },
21
+ "backend": {
22
+ "const": "container-entrypoint"
23
+ },
24
+ "launcher": {
25
+ "type": "string",
26
+ "minLength": 1,
27
+ "maxLength": 4096,
28
+ "pattern": "^/[^\\r\\n\\u0000]+$"
29
+ },
30
+ "workspace": {
31
+ "type": "string",
32
+ "minLength": 1,
33
+ "maxLength": 4096,
34
+ "pattern": "^/[^\\r\\n\\u0000]+$"
35
+ },
36
+ "policy": {
37
+ "type": "string",
38
+ "minLength": 1,
39
+ "maxLength": 4096,
40
+ "pattern": "^/[^\\r\\n\\u0000]+$"
41
+ },
42
+ "version": {
43
+ "type": "string",
44
+ "minLength": 1,
45
+ "maxLength": 64,
46
+ "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+(?:-[a-zA-Z0-9.-]+)?$"
47
+ },
48
+ "taskName": {
49
+ "type": "null"
50
+ }
51
+ }
52
+ }