@dharma-ai-labs/agent-fabric 0.2.36 → 0.2.38

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/README.md CHANGED
@@ -10,35 +10,39 @@ installs signed Skill releases with receipts and rollback ancestry.
10
10
 
11
11
  Requires Node.js 22.20.0 through 24.x.
12
12
 
13
- An organization administrator creates a two-stage setup from **Portal → Agent
14
- Fabric → Instructions**. Run the downloaded secure bootstrap command yourself
15
- in the intended source repository. Never paste that command or its grant into a
16
- model prompt, chat, ticket, shell history, or source file. The secure stage uses:
13
+ An organization administrator copies the one-shot setup instruction from
14
+ **Portal → Agent Fabric → Instructions** into the coding agent that is already
15
+ open in the intended source repository. The instruction authorizes one pinned
16
+ command. The coding harness may show one native approval for that exact command;
17
+ after approval, no additional terminal steps or provider selection are required.
17
18
 
18
19
  ```bash
19
- dharma bootstrap \
20
+ npm exec --yes --package=@dharma-ai-labs/agent-fabric@<version> -- dharma bootstrap \
20
21
  --portal-url https://www.dharma-ai.io \
21
22
  --organization-id <organization-id> \
22
23
  --grant <single-use-grant> \
23
24
  --workspace . \
24
- --policy-revision <dashboard-policy-revision>
25
+ --policy-revision <dashboard-policy-revision> \
26
+ --provider auto \
27
+ --complete
25
28
  ```
26
29
 
27
30
  `bootstrap` does not open a browser. It redeems the short-lived grant into an
28
31
  Ed25519 device identity and a revocable, device-scoped organization API token,
29
32
  stores both in the operating-system credential store, connects only the current
30
- repository, obtains its signed policy, and installs supported native skills.
33
+ repository, obtains its signed policy, detects the active host, installs and
34
+ verifies its native skill, applies the signed evidence boundary, starts the
35
+ outbound relay, and verifies read-only organization access.
31
36
  The grant is usable only until its displayed expiry and is never stored by HQ
32
37
  in plaintext. Device revocation also revokes the linked organization token.
33
38
 
34
- After the secure command exits successfully, copy the separate secret-free
35
- completion instruction into the coding agent. For Claude Code, bootstrap also
36
- merges a project-local allowlist for the exact read-only verification commands
37
- into `.claude/settings.local.json`. Existing settings and deny rules are
38
- preserved. The allowlist does not permit enrollment, trajectory synchronization,
39
- task dispatch, source writes, paid operations, release, rollout, or rollback.
40
- Use `dharma relay probe` for a bounded authenticated connectivity check; unlike
41
- `relay start --once`, it never polls or leases work.
39
+ Success is one terminal JSON receipt with `ok: true`, `stage: "complete"`, a
40
+ ready provider skill, a running relay, and ready organization API reads. For
41
+ Claude Code, bootstrap also merges a project-local allowlist for later exact
42
+ read-only status commands into `.claude/settings.local.json`. Existing settings
43
+ and deny rules are preserved. The allowlist does not permit enrollment, evidence
44
+ sync, task dispatch, source writes, paid operations, release, rollout, or
45
+ rollback.
42
46
 
43
47
  Use the separate teammate action in the Instructions tab to send a Clerk
44
48
  organization invitation and copy a distinct one-time setup for that teammate.
package/dist/index.d.ts CHANGED
@@ -70,6 +70,22 @@ export declare function retryBootstrapOnboarding<T>(operation: () => Promise<T>,
70
70
  delaysMs?: readonly number[];
71
71
  wait?: (delayMs: number) => Promise<void>;
72
72
  }): Promise<T>;
73
+ type BootstrapEvidenceSynchronization = {
74
+ state: 'synchronized' | 'deferred';
75
+ captured: number;
76
+ synced: number;
77
+ reason?: 'policy_boundary' | 'capture_unavailable';
78
+ errorCode?: string;
79
+ };
80
+ export declare function synchronizeBootstrapEvidence(operation: () => Promise<{
81
+ captured: number;
82
+ synced: number;
83
+ }>): Promise<BootstrapEvidenceSynchronization>;
84
+ export declare function stableRepositoryLauncherContents(version?: string): {
85
+ shell: string;
86
+ windows: string;
87
+ };
88
+ export declare function providerHintFromEnvironment(env?: NodeJS.ProcessEnv): ProviderId | null;
73
89
  export declare function requireExplicitConfirmation(flags: Map<string, string | boolean>, action: string): void;
74
90
  export type ControlAgentCliClient = Pick<AgentFabricClient, 'listControlAgentSessions' | 'createControlAgentSession' | 'submitControlAgentMessage' | 'listControlAgentEvents'>;
75
91
  type ControlAgentCliClientFactory = () => Promise<ControlAgentCliClient>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
- import { execFile } from 'node:child_process';
2
+ import { execFile, spawn } from 'node:child_process';
3
3
  import { createHash, createPrivateKey, createPublicKey, randomUUID } from 'node:crypto';
4
4
  import { realpathSync } from 'node:fs';
5
- import { access, link, mkdir, open, readFile, readdir, realpath, rename, rm, unlink, writeFile } from 'node:fs/promises';
5
+ import { access, chmod, link, mkdir, open, readFile, readdir, realpath, rename, rm, unlink, writeFile } from 'node:fs/promises';
6
6
  import { homedir } from 'node:os';
7
7
  import { basename, dirname, isAbsolute, relative, resolve } from 'node:path';
8
8
  import { fileURLToPath } from 'node:url';
@@ -16,7 +16,7 @@ import { AgentFabricClient as AgentFabricApiClient } from '@dharma-ai-labs/agent
16
16
  import { getActiveSkillBundleAuthorization, getExpiredSkillBundleAuthorizationForReplacement, getLegacySkillBundleIdForUpgrade, installSkillBundle, rollbackUnconfirmedSkillBundle, verifySkillBundle } from '@dharma-ai-labs/agent-fabric-skill-manager';
17
17
  import { executeTask, FileActionExecutionJournal, FileTaskReceiptStore, providerInstructionsForTask, } from '@dharma-ai-labs/agent-fabric-task-runner';
18
18
  import { CLI_USAGE } from './usage.js';
19
- const VERSION = '0.2.36';
19
+ const VERSION = '0.2.38';
20
20
  const USAGE = CLI_USAGE;
21
21
  const execFileAsync = promisify(execFile);
22
22
  const LOCAL_PROVIDER_IDS = ['codex', 'claude', 'agy', 'hermes'];
@@ -1155,6 +1155,155 @@ export async function retryBootstrapOnboarding(operation, options = {}) {
1155
1155
  }
1156
1156
  }
1157
1157
  }
1158
+ function bootstrapEvidenceErrorCode(error) {
1159
+ const message = String(error?.message || error || '');
1160
+ const candidate = message.match(/(?:^|\n)([a-z][a-z0-9_]{2,80})(?=:)/)?.[1];
1161
+ return candidate || 'evidence_capture_failed';
1162
+ }
1163
+ export async function synchronizeBootstrapEvidence(operation) {
1164
+ try {
1165
+ const result = await operation();
1166
+ return { state: 'synchronized', ...result };
1167
+ }
1168
+ catch (error) {
1169
+ const errorCode = bootstrapEvidenceErrorCode(error);
1170
+ const policyBoundary = /(?:forbidden|redaction|disclosure|policy)/.test(errorCode);
1171
+ return {
1172
+ state: 'deferred',
1173
+ captured: 0,
1174
+ synced: 0,
1175
+ reason: policyBoundary ? 'policy_boundary' : 'capture_unavailable',
1176
+ errorCode,
1177
+ };
1178
+ }
1179
+ }
1180
+ async function archiveEnrollmentForAuthorizedRebind(existing) {
1181
+ const pidPath = resolve(dharmaHome(), 'relay', 'relay.pid');
1182
+ let relayPid = 0;
1183
+ try {
1184
+ relayPid = Number((await readFile(pidPath, 'utf8')).trim());
1185
+ }
1186
+ catch { }
1187
+ if (Number.isSafeInteger(relayPid) && relayPid > 0) {
1188
+ try {
1189
+ process.kill(relayPid, 'SIGTERM');
1190
+ }
1191
+ catch (error) {
1192
+ if (error.code !== 'ESRCH')
1193
+ throw error;
1194
+ }
1195
+ for (let attempt = 0; attempt < 20; attempt += 1) {
1196
+ try {
1197
+ process.kill(relayPid, 0);
1198
+ }
1199
+ catch (error) {
1200
+ if (error.code === 'ESRCH')
1201
+ break;
1202
+ }
1203
+ await new Promise((resolveWait) => setTimeout(resolveWait, 100));
1204
+ }
1205
+ try {
1206
+ process.kill(relayPid, 0);
1207
+ throw new Error('The previous organization relay did not stop; enrollment was not changed.');
1208
+ }
1209
+ catch (error) {
1210
+ if (error.code !== 'ESRCH')
1211
+ throw error;
1212
+ }
1213
+ }
1214
+ const backupId = `${new Date().toISOString().replace(/[:.]/g, '-')}-${createHash('sha256')
1215
+ .update(`${existing.hqUrl}\0${existing.organizationId}`)
1216
+ .digest('hex').slice(0, 12)}`;
1217
+ const backupRoot = resolve(dirname(dharmaHome()), '.dharma-rebind-backups', backupId);
1218
+ await mkdir(backupRoot, { recursive: true, mode: 0o700 });
1219
+ for (const relativePath of ['device.json', 'pending-enrollment.json', 'registry', 'relay', 'vault']) {
1220
+ const source = resolve(dharmaHome(), relativePath);
1221
+ if (!await pathExists(source))
1222
+ continue;
1223
+ await rename(source, resolve(backupRoot, relativePath));
1224
+ }
1225
+ await writeJsonAtomic(resolve(backupRoot, 'RECEIPT.json'), {
1226
+ schema: 'dharma.local-enrollment-rebind-backup/v1',
1227
+ previousOrganizationId: existing.organizationId,
1228
+ previousPortalOrigin: existing.hqUrl,
1229
+ createdAt: new Date().toISOString(),
1230
+ });
1231
+ return { changed: true, backupId, previousOrganizationId: existing.organizationId };
1232
+ }
1233
+ export function stableRepositoryLauncherContents(version = VERSION) {
1234
+ const invocation = `npm exec --yes --package=@dharma-ai-labs/agent-fabric@${version} -- dharma`;
1235
+ return {
1236
+ shell: `#!/bin/sh\nexec ${invocation} "$@"\n`,
1237
+ windows: `@echo off\r\nnpm exec --yes --package=@dharma-ai-labs/agent-fabric@${version} -- dharma %*\r\n`,
1238
+ };
1239
+ }
1240
+ async function installStableRepositoryLauncher(workspace) {
1241
+ const launcherRoot = resolve(workspace, '.dharma', 'bin');
1242
+ await mkdir(launcherRoot, { recursive: true, mode: 0o700 });
1243
+ const shellPath = resolve(launcherRoot, 'dharma');
1244
+ const cmdPath = resolve(launcherRoot, 'dharma.cmd');
1245
+ const contents = stableRepositoryLauncherContents();
1246
+ await writeFile(shellPath, contents.shell, { mode: 0o700 });
1247
+ await chmod(shellPath, 0o700);
1248
+ await writeFile(cmdPath, contents.windows, { mode: 0o600 });
1249
+ return { shell: '.dharma/bin/dharma', windows: '.dharma/bin/dharma.cmd' };
1250
+ }
1251
+ async function startRelayDaemon(policyPath) {
1252
+ if (await relayProcessState() === 'running')
1253
+ return { started: false, state: 'running' };
1254
+ const child = spawn(process.execPath, [fileURLToPath(import.meta.url), 'relay', 'start', '--policy', policyPath], {
1255
+ cwd: dirname(dirname(policyPath)),
1256
+ detached: true,
1257
+ stdio: 'ignore',
1258
+ env: process.env,
1259
+ });
1260
+ child.unref();
1261
+ for (let attempt = 0; attempt < 30; attempt += 1) {
1262
+ await new Promise((resolveWait) => setTimeout(resolveWait, 100));
1263
+ if (await relayProcessState() === 'running')
1264
+ return { started: true, state: 'running' };
1265
+ }
1266
+ throw new Error('The outbound relay did not reach running state after bootstrap.');
1267
+ }
1268
+ export function providerHintFromEnvironment(env = process.env) {
1269
+ if (env.CLAUDECODE === '1' || env.CLAUDE_CODE === '1')
1270
+ return 'claude';
1271
+ if (env.CODEX_THREAD_ID || env.CODEX_SESSION_ID || env.CODEX_SANDBOX)
1272
+ return 'codex';
1273
+ if (env.AGY_CONFIG_DIR || env.ANTIGRAVITY_CLI === '1')
1274
+ return 'agy';
1275
+ if (env.HERMES_HOME || env.HERMES_AGENT === '1')
1276
+ return 'hermes';
1277
+ return null;
1278
+ }
1279
+ async function detectBootstrapProvider(workspace) {
1280
+ const hinted = providerHintFromEnvironment();
1281
+ if (hinted)
1282
+ return hinted;
1283
+ const candidates = (await Promise.all(providerAdapters.map(async (adapter) => {
1284
+ try {
1285
+ const sessions = await adapter.discover({
1286
+ workspace,
1287
+ maximumSessions: 1,
1288
+ maximumBytesPerSession: 1_000_000,
1289
+ maximumRecordBytes: 250_000,
1290
+ });
1291
+ const latest = sessions
1292
+ .map((session) => Date.parse(session.endedAt))
1293
+ .filter(Number.isFinite)
1294
+ .sort((left, right) => right - left)[0];
1295
+ return latest === undefined ? null : { provider: adapter.providerId, latest };
1296
+ }
1297
+ catch {
1298
+ return null;
1299
+ }
1300
+ }))).filter((candidate) => candidate !== null)
1301
+ .sort((left, right) => right.latest - left.latest);
1302
+ if (!candidates[0]) {
1303
+ throw new Error('Could not detect the active coding harness from this process or a workspace-qualified native session. Run the same command from inside the coding agent.');
1304
+ }
1305
+ return candidates[0].provider;
1306
+ }
1158
1307
  async function bootstrap(flags) {
1159
1308
  const hqUrl = normalizeHqUrl(portalUrl(flags));
1160
1309
  const organizationId = required(flags, 'organization-id');
@@ -1162,8 +1311,17 @@ async function bootstrap(flags) {
1162
1311
  const workspace = await realpath(String(flags.get('workspace') || '.'));
1163
1312
  const policyRevision = required(flags, 'policy-revision');
1164
1313
  await preflightBootstrapWorkspaceIdentity(workspace, typeof flags.get('repository-key') === 'string' ? String(flags.get('repository-key')) : null);
1165
- const existing = await readDeviceConfig();
1166
- if (existing && (existing.organizationId !== organizationId || existing.hqUrl !== hqUrl)) {
1314
+ const requestedProvider = String(flags.get('provider') || 'auto').trim().toLowerCase();
1315
+ const provider = requestedProvider === 'auto'
1316
+ ? await detectBootstrapProvider(workspace)
1317
+ : requestedProvider;
1318
+ if (!isLocalProviderId(provider)) {
1319
+ throw new Error('Bootstrap provider must be auto, codex, claude, agy, or hermes.');
1320
+ }
1321
+ let existing = await readDeviceConfig();
1322
+ const enrollmentMismatch = Boolean(existing
1323
+ && (existing.organizationId !== organizationId || normalizeHqUrl(existing.hqUrl) !== hqUrl));
1324
+ if (enrollmentMismatch && !flags.has('replace-existing-enrollment')) {
1167
1325
  throw new Error('This DHARMA_HOME is enrolled to another organization or portal. Use a separate DHARMA_HOME.');
1168
1326
  }
1169
1327
  const name = String(flags.get('device-name') || `${process.env.USER || process.env.USERNAME || 'developer'} device`);
@@ -1177,6 +1335,11 @@ async function bootstrap(flags) {
1177
1335
  platform: devicePlatform,
1178
1336
  publicKeyEd25519: identity.publicKeyEd25519,
1179
1337
  });
1338
+ const rebind = enrollmentMismatch && existing
1339
+ ? await archiveEnrollmentForAuthorizedRebind(existing)
1340
+ : { changed: false, backupId: null, previousOrganizationId: null };
1341
+ if (rebind.changed)
1342
+ existing = null;
1180
1343
  const config = existing || {
1181
1344
  schema: 'dharma.device-config/v1',
1182
1345
  hqUrl,
@@ -1209,18 +1372,90 @@ async function bootstrap(flags) {
1209
1372
  onboardFlags.set('organization-id', organizationId);
1210
1373
  onboardFlags.set('workspace', workspace);
1211
1374
  onboardFlags.set('policy-revision', policyRevision);
1375
+ onboardFlags.set('provider', provider);
1212
1376
  const onboarded = await retryBootstrapOnboarding(async () => await onboard(onboardFlags));
1377
+ const launcher = await installStableRepositoryLauncher(workspace);
1378
+ const completionRequested = flags.has('complete');
1379
+ if (!completionRequested) {
1380
+ return {
1381
+ ok: true,
1382
+ stage: onboarded.stage,
1383
+ enrollment: {
1384
+ organizationId,
1385
+ deviceId: config.deviceId,
1386
+ status: 'approved',
1387
+ organizationApiTokenStored: true,
1388
+ scopes: redeemed.organizationApiTokenScopes,
1389
+ rebind,
1390
+ },
1391
+ repository: onboarded,
1392
+ launcher,
1393
+ };
1394
+ }
1395
+ const skill = await verifyAgentFabricSkillInstallation({ provider, workspace });
1396
+ if (!skill.ready)
1397
+ throw new Error(`Provider skill did not become ready: ${JSON.stringify(skill)}`);
1398
+ const policyPath = resolve(workspace, '.dharma', 'approved-policy.json');
1399
+ const evidenceFlags = new Map([
1400
+ ['workspace', workspace], ['provider', provider], ['policy', policyPath], ['maximum-sessions', '20'],
1401
+ ]);
1402
+ const preview = await evidencePreview(evidenceFlags);
1403
+ let synchronized = { state: 'synchronized', captured: 0, synced: 0 };
1404
+ if (Number(preview.trajectoryCount || 0) > 0
1405
+ && preview.automaticDisclosure?.ready === true) {
1406
+ evidenceFlags.set('sync', true);
1407
+ synchronized = await synchronizeBootstrapEvidence(async () => await capture(evidenceFlags, true));
1408
+ }
1409
+ const relayProbe = await probeRelayConnection();
1410
+ const relay = flags.has('no-relay-daemon')
1411
+ ? { started: false, state: await relayProcessState() }
1412
+ : await startRelayDaemon(policyPath);
1413
+ const apiFlags = new Map([
1414
+ ['organization-id', organizationId], ['portal-url', hqUrl],
1415
+ ]);
1416
+ const [organization, agents, experiments, failures, remediations, skills, usage] = await Promise.all([
1417
+ runOrganizationCommand('organization', 'status', apiFlags),
1418
+ runOrganizationCommand('agents', 'list', apiFlags),
1419
+ runOrganizationCommand('experiments', 'list', apiFlags),
1420
+ runOrganizationCommand('failures', 'list', apiFlags),
1421
+ runOrganizationCommand('remediations', 'list', apiFlags),
1422
+ runOrganizationCommand('skills', 'list', apiFlags),
1423
+ runOrganizationCommand('usage', 'list', apiFlags),
1424
+ ]);
1213
1425
  return {
1214
1426
  ok: true,
1215
- stage: onboarded.stage,
1427
+ stage: 'complete',
1216
1428
  enrollment: {
1217
1429
  organizationId,
1218
1430
  deviceId: config.deviceId,
1219
1431
  status: 'approved',
1220
1432
  organizationApiTokenStored: true,
1221
1433
  scopes: redeemed.organizationApiTokenScopes,
1434
+ rebind,
1222
1435
  },
1223
1436
  repository: onboarded,
1437
+ launcher,
1438
+ provider,
1439
+ skill,
1440
+ evidence: {
1441
+ discovered: Number(preview.trajectoryCount || 0),
1442
+ synchronized,
1443
+ automaticDisclosure: preview.automaticDisclosure,
1444
+ },
1445
+ relayProbe,
1446
+ relay,
1447
+ organizationApi: {
1448
+ ready: true,
1449
+ organization,
1450
+ counts: {
1451
+ agents: Array.isArray(agents?.agents) ? agents.agents.length : null,
1452
+ experiments: Array.isArray(experiments?.windows) ? experiments.windows.length : null,
1453
+ failures: Array.isArray(failures?.failures) ? failures.failures.length : null,
1454
+ remediations: Array.isArray(remediations?.remediations) ? remediations.remediations.length : null,
1455
+ skills: Array.isArray(skills?.skills) ? skills.skills.length : null,
1456
+ usage: Array.isArray(usage?.events) ? usage.events.length : null,
1457
+ },
1458
+ },
1224
1459
  };
1225
1460
  }
1226
1461
  async function commandJsonBody(flags) {
@@ -3095,26 +3330,26 @@ export function nativeSkillDirectory(provider, env = process.env, home = homedir
3095
3330
  return resolve(env.AGY_CONFIG_DIR || resolve(home, '.gemini', 'antigravity-cli'), 'plugins', 'dharma-agent-fabric', 'skills');
3096
3331
  }
3097
3332
  function claudeReadOnlyCommandRules() {
3098
- const pinned = `npm exec --yes --package=@dharma-ai-labs/agent-fabric@${VERSION} -- dharma`;
3333
+ const launcher = './.dharma/bin/dharma';
3099
3334
  return [
3100
3335
  'Bash(git rev-parse --is-inside-work-tree)',
3101
3336
  'Bash(git remote get-url origin)',
3102
3337
  'Bash(node --version)',
3103
- `Bash(${pinned} --version)`,
3104
- `Bash(${pinned} --help)`,
3105
- `Bash(${pinned} status --diagnostic)`,
3106
- `Bash(${pinned} repositories status --repo . --json)`,
3107
- `Bash(${pinned} providers list)`,
3108
- `Bash(${pinned} skills verify --provider claude --workspace .)`,
3109
- `Bash(${pinned} evidence preview --workspace . --provider claude --policy .dharma/approved-policy.json --maximum-sessions 20)`,
3110
- `Bash(${pinned} relay probe)`,
3111
- `Bash(${pinned} organization status --json)`,
3112
- `Bash(${pinned} agents list --json)`,
3113
- `Bash(${pinned} experiments list --json)`,
3114
- `Bash(${pinned} failures list --json)`,
3115
- `Bash(${pinned} remediations list --json)`,
3116
- `Bash(${pinned} skills list --json)`,
3117
- `Bash(${pinned} usage list --json)`,
3338
+ `Bash(${launcher} --version)`,
3339
+ `Bash(${launcher} --help)`,
3340
+ `Bash(${launcher} status --diagnostic)`,
3341
+ `Bash(${launcher} repositories status --repo . --json)`,
3342
+ `Bash(${launcher} providers list)`,
3343
+ `Bash(${launcher} skills verify --provider claude --workspace .)`,
3344
+ `Bash(${launcher} evidence preview --workspace . --provider claude --policy .dharma/approved-policy.json --maximum-sessions 20)`,
3345
+ `Bash(${launcher} relay probe)`,
3346
+ `Bash(${launcher} organization status --json)`,
3347
+ `Bash(${launcher} agents list --json)`,
3348
+ `Bash(${launcher} experiments list --json)`,
3349
+ `Bash(${launcher} failures list --json)`,
3350
+ `Bash(${launcher} remediations list --json)`,
3351
+ `Bash(${launcher} skills list --json)`,
3352
+ `Bash(${launcher} usage list --json)`,
3118
3353
  ];
3119
3354
  }
3120
3355
  export async function installClaudeReadOnlyProjectPermissions(workspaceInput) {