@dharma-ai-labs/agent-fabric 0.2.33 → 0.2.35
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 +13 -3
- package/dist/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +93 -1
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +98 -1
- package/dist/index.test.js.map +1 -1
- package/dist/usage.d.ts +1 -1
- package/dist/usage.d.ts.map +1 -1
- package/dist/usage.js +1 -1
- package/dist/usage.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,9 +10,10 @@ 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
|
|
14
|
-
Fabric → Instructions**.
|
|
15
|
-
|
|
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:
|
|
16
17
|
|
|
17
18
|
```bash
|
|
18
19
|
dharma bootstrap \
|
|
@@ -30,6 +31,15 @@ repository, obtains its signed policy, and installs supported native skills.
|
|
|
30
31
|
The grant is usable only until its displayed expiry and is never stored by HQ
|
|
31
32
|
in plaintext. Device revocation also revokes the linked organization token.
|
|
32
33
|
|
|
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.
|
|
42
|
+
|
|
33
43
|
Use the separate teammate action in the Instructions tab to send a Clerk
|
|
34
44
|
organization invitation and copy a distinct one-time setup for that teammate.
|
|
35
45
|
The agent connection can complete before the teammate accepts portal access.
|
package/dist/index.d.ts
CHANGED
|
@@ -44,6 +44,7 @@ export declare function sourceRepositoryFingerprint(remote: string | null, expli
|
|
|
44
44
|
fingerprint: string;
|
|
45
45
|
source: 'remote' | 'explicit_key';
|
|
46
46
|
};
|
|
47
|
+
export declare function preflightBootstrapWorkspaceIdentity(workspace: string, explicitKey?: string | null): Promise<ReturnType<typeof sourceRepositoryFingerprint>>;
|
|
47
48
|
export declare function responseTextFromEvent(value: unknown): string | null;
|
|
48
49
|
export declare function taskResponsePreview(receipt: TaskReceipt): {
|
|
49
50
|
text: string;
|
|
@@ -56,6 +57,14 @@ export declare function assertTaskSkillPin(pinned: TaskEnvelope['skillBundle'],
|
|
|
56
57
|
bundleHash: string;
|
|
57
58
|
} | null): void;
|
|
58
59
|
export declare function taskSkillPinFailureCode(error: unknown): string;
|
|
60
|
+
type RelayProbeClient = Pick<AgentFabricClient, 'config' | 'openSession'>;
|
|
61
|
+
export declare function probeRelayConnection(openClient?: () => Promise<RelayProbeClient>): Promise<{
|
|
62
|
+
ok: boolean;
|
|
63
|
+
connected: boolean;
|
|
64
|
+
organizationId: string;
|
|
65
|
+
deviceId: string;
|
|
66
|
+
relayVersion: string;
|
|
67
|
+
}>;
|
|
59
68
|
export declare function isTransientBootstrapError(error: unknown): boolean;
|
|
60
69
|
export declare function retryBootstrapOnboarding<T>(operation: () => Promise<T>, options?: {
|
|
61
70
|
delaysMs?: readonly number[];
|
|
@@ -120,6 +129,12 @@ export declare function postTaskOutcome(input: {
|
|
|
120
129
|
postEvent: (taskId: string, eventType: TaskReceipt['status'], payload: Record<string, unknown>) => Promise<unknown>;
|
|
121
130
|
}): Promise<unknown>;
|
|
122
131
|
export declare function nativeSkillDirectory(provider: ProviderId, env?: NodeJS.ProcessEnv, home?: string): string;
|
|
132
|
+
export declare function installClaudeReadOnlyProjectPermissions(workspaceInput: string): Promise<{
|
|
133
|
+
path: string;
|
|
134
|
+
addedRules: number;
|
|
135
|
+
totalRules: number;
|
|
136
|
+
scope: string;
|
|
137
|
+
}>;
|
|
123
138
|
type HermesSkillExecutor = (executable: string, argv: string[], options: {
|
|
124
139
|
timeout: number;
|
|
125
140
|
env: NodeJS.ProcessEnv;
|
|
@@ -150,6 +165,12 @@ export declare function installNativeAgentFabricBootstrap(input: {
|
|
|
150
165
|
skillPath: string;
|
|
151
166
|
activation: string;
|
|
152
167
|
verified: boolean;
|
|
168
|
+
projectPermissions: {
|
|
169
|
+
path: string;
|
|
170
|
+
addedRules: number;
|
|
171
|
+
totalRules: number;
|
|
172
|
+
scope: string;
|
|
173
|
+
} | null;
|
|
153
174
|
}>;
|
|
154
175
|
type NativeBootstrapCapability = {
|
|
155
176
|
provider: string;
|
|
@@ -170,6 +191,12 @@ export declare function installAvailableNativeAgentFabricBootstraps(input: {
|
|
|
170
191
|
skillPath: string;
|
|
171
192
|
activation: string;
|
|
172
193
|
verified: boolean;
|
|
194
|
+
projectPermissions: {
|
|
195
|
+
path: string;
|
|
196
|
+
addedRules: number;
|
|
197
|
+
totalRules: number;
|
|
198
|
+
scope: string;
|
|
199
|
+
} | null;
|
|
173
200
|
}[];
|
|
174
201
|
failures: {
|
|
175
202
|
provider: string;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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
|
@@ -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.
|
|
19
|
+
const VERSION = '0.2.35';
|
|
20
20
|
const USAGE = CLI_USAGE;
|
|
21
21
|
const execFileAsync = promisify(execFile);
|
|
22
22
|
const LOCAL_PROVIDER_IDS = ['codex', 'claude', 'agy', 'hermes'];
|
|
@@ -966,6 +966,13 @@ export function sourceRepositoryFingerprint(remote, explicitKey) {
|
|
|
966
966
|
}
|
|
967
967
|
return { fingerprint: `sha256:${createHash('sha256').update(identity).digest('hex')}`, source };
|
|
968
968
|
}
|
|
969
|
+
export async function preflightBootstrapWorkspaceIdentity(workspace, explicitKey) {
|
|
970
|
+
const gitRoot = await gitValue(workspace, ['rev-parse', '--show-toplevel']);
|
|
971
|
+
if (!gitRoot)
|
|
972
|
+
throw new Error('Bootstrap workspace must be a Git repository.');
|
|
973
|
+
const remote = await gitValue(workspace, ['config', '--get', 'remote.origin.url']);
|
|
974
|
+
return sourceRepositoryFingerprint(remote, explicitKey);
|
|
975
|
+
}
|
|
969
976
|
export function responseTextFromEvent(value) {
|
|
970
977
|
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
971
978
|
return null;
|
|
@@ -1086,6 +1093,22 @@ async function client() {
|
|
|
1086
1093
|
await instance.openSession(VERSION);
|
|
1087
1094
|
return instance;
|
|
1088
1095
|
}
|
|
1096
|
+
export async function probeRelayConnection(openClient = async () => AgentFabricClient.open({
|
|
1097
|
+
configPath: configPath(),
|
|
1098
|
+
statePath: protocolStatePath(),
|
|
1099
|
+
})) {
|
|
1100
|
+
const instance = await openClient();
|
|
1101
|
+
const acknowledgement = await instance.openSession(VERSION);
|
|
1102
|
+
if (acknowledgement.ok !== true)
|
|
1103
|
+
throw new Error('Relay session acknowledgement was not successful.');
|
|
1104
|
+
return {
|
|
1105
|
+
ok: true,
|
|
1106
|
+
connected: true,
|
|
1107
|
+
organizationId: instance.config.organizationId,
|
|
1108
|
+
deviceId: instance.config.deviceId,
|
|
1109
|
+
relayVersion: VERSION,
|
|
1110
|
+
};
|
|
1111
|
+
}
|
|
1089
1112
|
async function organizationApi(flags) {
|
|
1090
1113
|
let enrolled = null;
|
|
1091
1114
|
try {
|
|
@@ -1138,6 +1161,7 @@ async function bootstrap(flags) {
|
|
|
1138
1161
|
const bootstrapToken = required(flags, 'grant');
|
|
1139
1162
|
const workspace = await realpath(String(flags.get('workspace') || '.'));
|
|
1140
1163
|
const policyRevision = required(flags, 'policy-revision');
|
|
1164
|
+
await preflightBootstrapWorkspaceIdentity(workspace, typeof flags.get('repository-key') === 'string' ? String(flags.get('repository-key')) : null);
|
|
1141
1165
|
const existing = await readDeviceConfig();
|
|
1142
1166
|
if (existing && (existing.organizationId !== organizationId || existing.hqUrl !== hqUrl)) {
|
|
1143
1167
|
throw new Error('This DHARMA_HOME is enrolled to another organization or portal. Use a separate DHARMA_HOME.');
|
|
@@ -3070,6 +3094,68 @@ export function nativeSkillDirectory(provider, env = process.env, home = homedir
|
|
|
3070
3094
|
return resolve(env.HERMES_HOME || resolve(home, '.hermes'), 'skills');
|
|
3071
3095
|
return resolve(env.AGY_CONFIG_DIR || resolve(home, '.gemini', 'antigravity-cli'), 'plugins', 'dharma-agent-fabric', 'skills');
|
|
3072
3096
|
}
|
|
3097
|
+
function claudeReadOnlyCommandRules() {
|
|
3098
|
+
const pinned = `npm exec --yes --package=@dharma-ai-labs/agent-fabric@${VERSION} -- dharma`;
|
|
3099
|
+
return [
|
|
3100
|
+
'Bash(git rev-parse --is-inside-work-tree)',
|
|
3101
|
+
'Bash(git remote get-url origin)',
|
|
3102
|
+
'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)`,
|
|
3118
|
+
];
|
|
3119
|
+
}
|
|
3120
|
+
export async function installClaudeReadOnlyProjectPermissions(workspaceInput) {
|
|
3121
|
+
const workspace = await realpath(workspaceInput);
|
|
3122
|
+
const settingsPath = resolve(workspace, '.claude', 'settings.local.json');
|
|
3123
|
+
let settings = {};
|
|
3124
|
+
try {
|
|
3125
|
+
const parsed = JSON.parse(await readFile(settingsPath, 'utf8'));
|
|
3126
|
+
if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
|
|
3127
|
+
throw new Error('Claude project settings must be a JSON object.');
|
|
3128
|
+
}
|
|
3129
|
+
settings = parsed;
|
|
3130
|
+
}
|
|
3131
|
+
catch (error) {
|
|
3132
|
+
if (error.code !== 'ENOENT')
|
|
3133
|
+
throw error;
|
|
3134
|
+
}
|
|
3135
|
+
const existingPermissions = settings.permissions;
|
|
3136
|
+
if (existingPermissions !== undefined
|
|
3137
|
+
&& (!existingPermissions || typeof existingPermissions !== 'object' || Array.isArray(existingPermissions))) {
|
|
3138
|
+
throw new Error('Claude project permissions must be a JSON object.');
|
|
3139
|
+
}
|
|
3140
|
+
const permissions = (existingPermissions || {});
|
|
3141
|
+
if (permissions.allow !== undefined
|
|
3142
|
+
&& (!Array.isArray(permissions.allow) || permissions.allow.some((rule) => typeof rule !== 'string'))) {
|
|
3143
|
+
throw new Error('Claude project permission allow rules must be a string array.');
|
|
3144
|
+
}
|
|
3145
|
+
const existingAllow = (permissions.allow || []);
|
|
3146
|
+
const requiredAllow = claudeReadOnlyCommandRules();
|
|
3147
|
+
const allow = [...new Set([...existingAllow, ...requiredAllow])];
|
|
3148
|
+
await writeJsonAtomic(settingsPath, {
|
|
3149
|
+
...settings,
|
|
3150
|
+
permissions: { ...permissions, allow },
|
|
3151
|
+
});
|
|
3152
|
+
return {
|
|
3153
|
+
path: '.claude/settings.local.json',
|
|
3154
|
+
addedRules: requiredAllow.filter((rule) => !existingAllow.includes(rule)).length,
|
|
3155
|
+
totalRules: allow.length,
|
|
3156
|
+
scope: 'read_only_agent_fabric_completion',
|
|
3157
|
+
};
|
|
3158
|
+
}
|
|
3073
3159
|
export async function trustHermesProject(input) {
|
|
3074
3160
|
const workspace = await realpath(input.workspace);
|
|
3075
3161
|
const execute = input.execute || ((executable, argv, options) => execFileAsync(executable, argv, options));
|
|
@@ -3087,6 +3173,9 @@ export async function installNativeAgentFabricBootstrap(input) {
|
|
|
3087
3173
|
if (await pathExists(skillRoot) && !await pathExists(marker)) {
|
|
3088
3174
|
throw new Error(`Refusing to replace an unmanaged ${input.provider} skill at ${skillRoot}.`);
|
|
3089
3175
|
}
|
|
3176
|
+
const projectPermissions = input.provider === 'claude'
|
|
3177
|
+
? await installClaudeReadOnlyProjectPermissions(input.workspace)
|
|
3178
|
+
: null;
|
|
3090
3179
|
const skill = `---
|
|
3091
3180
|
name: dharma-agent-fabric
|
|
3092
3181
|
description: Connect the current repository to Dharma Agent Fabric for signed tasks, bounded evidence, and verified skill releases.
|
|
@@ -3128,6 +3217,7 @@ The repository-local skill and connection manifest are authoritative for the act
|
|
|
3128
3217
|
skillPath: resolve(skillRoot, 'SKILL.md'),
|
|
3129
3218
|
activation: input.provider === 'agy' ? 'manual_invocation_required' : 'next_session',
|
|
3130
3219
|
verified: await pathExists(resolve(skillRoot, 'SKILL.md')) && await pathExists(marker),
|
|
3220
|
+
projectPermissions,
|
|
3131
3221
|
};
|
|
3132
3222
|
}
|
|
3133
3223
|
export async function installAvailableNativeAgentFabricBootstraps(input) {
|
|
@@ -3867,6 +3957,8 @@ export async function run(argv) {
|
|
|
3867
3957
|
}
|
|
3868
3958
|
if (command === 'tasks' && subcommand === 'run-once')
|
|
3869
3959
|
return runOneTask(flags);
|
|
3960
|
+
if (command === 'relay' && subcommand === 'probe')
|
|
3961
|
+
return probeRelayConnection();
|
|
3870
3962
|
if (command === 'relay' && subcommand === 'start')
|
|
3871
3963
|
return relayStart(flags);
|
|
3872
3964
|
if (command === 'skills' && subcommand === 'sync')
|