@dharma-ai-labs/agent-fabric 0.2.14 → 0.2.15
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/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +57 -17
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +46 -1
- package/dist/index.test.js.map +1 -1
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -161,11 +161,23 @@ export declare function verifyAgentFabricSkillInstallation(input: {
|
|
|
161
161
|
workspace: string;
|
|
162
162
|
env?: NodeJS.ProcessEnv;
|
|
163
163
|
home?: string;
|
|
164
|
+
listAgyPlugins?: (executable: string, argv: string[], options: {
|
|
165
|
+
timeout: number;
|
|
166
|
+
env: NodeJS.ProcessEnv;
|
|
167
|
+
}) => Promise<{
|
|
168
|
+
stdout: string | Buffer;
|
|
169
|
+
}>;
|
|
164
170
|
}): Promise<{
|
|
165
171
|
provider: ProviderId;
|
|
166
172
|
ready: boolean;
|
|
173
|
+
verificationScope: string;
|
|
174
|
+
bootstrapReady: boolean;
|
|
175
|
+
signedLifecycleReady: boolean;
|
|
167
176
|
repositoryInstalled: boolean;
|
|
168
177
|
nativeInstalled: boolean;
|
|
178
|
+
nativeManaged: boolean;
|
|
179
|
+
nativeDiscovered: boolean;
|
|
180
|
+
activationAttested: boolean;
|
|
169
181
|
repositorySkillPath: string;
|
|
170
182
|
connectionPath: string;
|
|
171
183
|
nativeSkillPath: string;
|
|
@@ -176,6 +188,7 @@ export declare function verifyAgentFabricSkillInstallation(input: {
|
|
|
176
188
|
}>;
|
|
177
189
|
type AgyPluginExecutor = (executable: string, argv: string[], options: {
|
|
178
190
|
timeout: number;
|
|
191
|
+
env: NodeJS.ProcessEnv;
|
|
179
192
|
}) => Promise<unknown>;
|
|
180
193
|
export declare function activateAgyPlugin(input?: {
|
|
181
194
|
env?: NodeJS.ProcessEnv;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AASA,OAAO,EAGL,KAAK,kBAAkB,EAAE,KAAK,UAAU,EAAE,KAAK,0BAA0B,EAC1E,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAA2G,KAAK,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AAClM,OAAO,EAAsE,KAAK,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAClJ,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -10,13 +10,13 @@ import { promisify } from 'node:util';
|
|
|
10
10
|
import { canonicalize, createActionDecisionPublicKeyResolver, sha256, validateContract, validateTrustedServerSigningKeysetContract, verifyCanonicalObject, verifyInitialServerSigningKeyset, } from '@dharma-ai-labs/agent-fabric-contracts';
|
|
11
11
|
import { buildTrajectoryCapsule, redactValue, referencesExcludedPath, trajectoryCapsuleHash } from '@dharma-ai-labs/agent-fabric-evidence-reduction';
|
|
12
12
|
import { assertPolicy, loadOrganizationPolicy, verifyServerAuthorizedPolicy } from '@dharma-ai-labs/agent-fabric-policy';
|
|
13
|
-
import { agyAdapter, claudeAdapter, codexAdapter, providerAdapters, providerExecutionRecords } from '@dharma-ai-labs/agent-fabric-provider-adapters';
|
|
13
|
+
import { agyAdapter, claudeAdapter, codexAdapter, providerAdapters, providerExecutionRecords, providerProcessEnvironment } from '@dharma-ai-labs/agent-fabric-provider-adapters';
|
|
14
14
|
import { AgentFabricClient, beginEnrollment, loadOrCreateDeviceIdentity, normalizeHqUrl, pollEnrollment, deleteActiveSkillAuthorizationAnchor, loadActiveSkillAuthorizationAnchor, loadDeviceEnrollmentAnchor, saveActiveSkillAuthorizationAnchor, isDefinitiveAgentFabricRejection, recoverDeviceEnrollmentConsistency, saveDeviceConfig, saveDeviceEnrollmentAnchor, } from '@dharma-ai-labs/agent-fabric-relay-client';
|
|
15
15
|
import { AgentFabricClient as AgentFabricApiClient } from '@dharma-ai-labs/agent-fabric-sdk';
|
|
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.15';
|
|
20
20
|
const USAGE = CLI_USAGE;
|
|
21
21
|
const execFileAsync = promisify(execFile);
|
|
22
22
|
export function parseCliOptions(args) {
|
|
@@ -2932,12 +2932,9 @@ The repository-local skill and connection manifest are authoritative for the act
|
|
|
2932
2932
|
await mkdir(skillRoot, { recursive: true, mode: 0o700 });
|
|
2933
2933
|
await writeFile(resolve(skillRoot, 'SKILL.md'), skill, { mode: 0o600 });
|
|
2934
2934
|
await writeFile(marker, `${JSON.stringify({
|
|
2935
|
-
schema: 'dharma.native-skill-bootstrap/
|
|
2935
|
+
schema: 'dharma.native-skill-bootstrap/v2',
|
|
2936
2936
|
managedBy: 'dharma-agent-fabric',
|
|
2937
2937
|
provider: input.provider,
|
|
2938
|
-
organizationId: input.organizationId,
|
|
2939
|
-
workspaceId: input.workspaceId,
|
|
2940
|
-
workspaceRouteHash: sha256(resolve(input.workspace)),
|
|
2941
2938
|
hqUrl: input.hqUrl,
|
|
2942
2939
|
installedAt: new Date().toISOString(),
|
|
2943
2940
|
}, null, 2)}\n`, { mode: 0o600 });
|
|
@@ -2947,7 +2944,7 @@ The repository-local skill and connection manifest are authoritative for the act
|
|
|
2947
2944
|
provider: input.provider,
|
|
2948
2945
|
nativeSkillDirectory: root,
|
|
2949
2946
|
skillPath: resolve(skillRoot, 'SKILL.md'),
|
|
2950
|
-
activation: 'next_session',
|
|
2947
|
+
activation: input.provider === 'agy' ? 'manual_invocation_required' : 'next_session',
|
|
2951
2948
|
verified: await pathExists(resolve(skillRoot, 'SKILL.md')) && await pathExists(marker),
|
|
2952
2949
|
};
|
|
2953
2950
|
}
|
|
@@ -2956,7 +2953,7 @@ export async function installAvailableNativeAgentFabricBootstraps(input) {
|
|
|
2956
2953
|
const installed = [];
|
|
2957
2954
|
const failures = [];
|
|
2958
2955
|
for (const capability of input.providers) {
|
|
2959
|
-
if (capability.skillInstall
|
|
2956
|
+
if (capability.skillInstall === 'unavailable')
|
|
2960
2957
|
continue;
|
|
2961
2958
|
try {
|
|
2962
2959
|
installed.push(await install({
|
|
@@ -2985,7 +2982,41 @@ export async function verifyAgentFabricSkillInstallation(input) {
|
|
|
2985
2982
|
const nativeSkillPath = resolve(nativeRoot, 'dharma-agent-fabric', 'SKILL.md');
|
|
2986
2983
|
const nativeMarkerPath = resolve(nativeRoot, 'dharma-agent-fabric', '.dharma-agent-fabric-bootstrap.json');
|
|
2987
2984
|
const repositoryInstalled = await pathExists(repositorySkillPath) && await pathExists(connectionPath);
|
|
2988
|
-
|
|
2985
|
+
let nativeManaged = false;
|
|
2986
|
+
if (await pathExists(nativeSkillPath) && await pathExists(nativeMarkerPath)) {
|
|
2987
|
+
try {
|
|
2988
|
+
const marker = JSON.parse(await readFile(nativeMarkerPath, 'utf8'));
|
|
2989
|
+
nativeManaged = marker.managedBy === 'dharma-agent-fabric'
|
|
2990
|
+
&& marker.provider === input.provider
|
|
2991
|
+
&& ['dharma.native-skill-bootstrap/v1', 'dharma.native-skill-bootstrap/v2'].includes(String(marker.schema));
|
|
2992
|
+
}
|
|
2993
|
+
catch { }
|
|
2994
|
+
}
|
|
2995
|
+
const nativeInstalled = nativeManaged;
|
|
2996
|
+
let nativeDiscovered = input.provider === 'agy' ? false : nativeInstalled;
|
|
2997
|
+
if (input.provider === 'agy' && nativeInstalled) {
|
|
2998
|
+
try {
|
|
2999
|
+
const listAgyPlugins = input.listAgyPlugins
|
|
3000
|
+
|| ((executable, argv, options) => (execFileAsync(executable, argv, options)));
|
|
3001
|
+
const { stdout } = await listAgyPlugins('agy', ['plugin', 'list'], {
|
|
3002
|
+
timeout: 30_000,
|
|
3003
|
+
env: providerProcessEnvironment(input.env),
|
|
3004
|
+
});
|
|
3005
|
+
const list = JSON.parse(String(stdout));
|
|
3006
|
+
nativeDiscovered = Array.isArray(list.imports) && list.imports.some((item) => {
|
|
3007
|
+
if (!item || typeof item !== 'object')
|
|
3008
|
+
return false;
|
|
3009
|
+
const plugin = item;
|
|
3010
|
+
return plugin.name === 'dharma-agent-fabric'
|
|
3011
|
+
&& Array.isArray(plugin.components)
|
|
3012
|
+
&& plugin.components.includes('skills');
|
|
3013
|
+
});
|
|
3014
|
+
}
|
|
3015
|
+
catch { }
|
|
3016
|
+
}
|
|
3017
|
+
const activationAttested = input.provider === 'agy' ? false : nativeInstalled;
|
|
3018
|
+
const bootstrapReady = repositoryInstalled && nativeInstalled && nativeDiscovered;
|
|
3019
|
+
const signedLifecycleReady = bootstrapReady && activationAttested;
|
|
2989
3020
|
let workspaceId;
|
|
2990
3021
|
let organizationAgentId;
|
|
2991
3022
|
try {
|
|
@@ -3002,23 +3033,32 @@ export async function verifyAgentFabricSkillInstallation(input) {
|
|
|
3002
3033
|
: null;
|
|
3003
3034
|
return {
|
|
3004
3035
|
provider: input.provider,
|
|
3005
|
-
ready:
|
|
3036
|
+
ready: bootstrapReady,
|
|
3037
|
+
verificationScope: 'generic_bootstrap',
|
|
3038
|
+
bootstrapReady,
|
|
3039
|
+
signedLifecycleReady,
|
|
3006
3040
|
repositoryInstalled,
|
|
3007
3041
|
nativeInstalled,
|
|
3042
|
+
nativeManaged,
|
|
3043
|
+
nativeDiscovered,
|
|
3044
|
+
activationAttested,
|
|
3008
3045
|
repositorySkillPath,
|
|
3009
3046
|
connectionPath,
|
|
3010
3047
|
nativeSkillPath,
|
|
3011
3048
|
workspaceId: workspaceId || null,
|
|
3012
3049
|
activeBundleId,
|
|
3013
|
-
activation: 'next_session',
|
|
3014
|
-
nextAction:
|
|
3015
|
-
?
|
|
3016
|
-
:
|
|
3050
|
+
activation: input.provider === 'agy' ? 'unavailable' : 'next_session',
|
|
3051
|
+
nextAction: input.provider === 'agy' && bootstrapReady
|
|
3052
|
+
? 'The Agy bootstrap is installed and discoverable. Invoke /dharma-agent-fabric in a new Agy session; signed activation and rollback remain unavailable.'
|
|
3053
|
+
: bootstrapReady
|
|
3054
|
+
? `Start a new ${input.provider} session from ${workspace} and invoke the dharma-agent-fabric skill.`
|
|
3055
|
+
: 'Run dharma onboard again from the repository root.',
|
|
3017
3056
|
};
|
|
3018
3057
|
}
|
|
3019
3058
|
export async function activateAgyPlugin(input = {}) {
|
|
3020
3059
|
const root = resolve(nativeSkillDirectory('agy', input.env, input.home), '..');
|
|
3021
3060
|
const execute = input.execute || ((executable, argv, options) => execFileAsync(executable, argv, options));
|
|
3061
|
+
const options = { timeout: 30_000, env: providerProcessEnvironment(input.env) };
|
|
3022
3062
|
await mkdir(root, { recursive: true, mode: 0o700 });
|
|
3023
3063
|
const manifest = resolve(root, 'plugin.json');
|
|
3024
3064
|
try {
|
|
@@ -3027,9 +3067,9 @@ export async function activateAgyPlugin(input = {}) {
|
|
|
3027
3067
|
catch {
|
|
3028
3068
|
await writeFile(manifest, `${JSON.stringify({ name: 'dharma-agent-fabric' }, null, 2)}\n`, { mode: 0o600 });
|
|
3029
3069
|
}
|
|
3030
|
-
await execute('agy', ['plugin', 'validate', root],
|
|
3031
|
-
await execute('agy', ['plugin', 'install', root],
|
|
3032
|
-
await execute('agy', ['plugin', 'enable', 'dharma-agent-fabric'],
|
|
3070
|
+
await execute('agy', ['plugin', 'validate', root], options);
|
|
3071
|
+
await execute('agy', ['plugin', 'install', root], options);
|
|
3072
|
+
await execute('agy', ['plugin', 'enable', 'dharma-agent-fabric'], options);
|
|
3033
3073
|
}
|
|
3034
3074
|
function containedInlinePath(root, value) {
|
|
3035
3075
|
if (!value || value.includes('\\') || isAbsolute(value))
|