@dharma-ai-labs/agent-fabric 0.2.84 → 0.2.86
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.test.js
CHANGED
|
@@ -1614,13 +1614,13 @@ test('relay probe opens an authenticated session without polling or leasing work
|
|
|
1614
1614
|
},
|
|
1615
1615
|
openSession: async (version) => {
|
|
1616
1616
|
sessions += 1;
|
|
1617
|
-
assert.equal(version, '0.2.
|
|
1617
|
+
assert.equal(version, '0.2.86');
|
|
1618
1618
|
return { ok: true };
|
|
1619
1619
|
},
|
|
1620
1620
|
}));
|
|
1621
1621
|
assert.equal(sessions, 1);
|
|
1622
1622
|
assert.deepEqual(result, {
|
|
1623
|
-
ok: true, connected: true, organizationId: 'org_test', deviceId: 'device_test', relayVersion: '0.2.
|
|
1623
|
+
ok: true, connected: true, organizationId: 'org_test', deviceId: 'device_test', relayVersion: '0.2.86',
|
|
1624
1624
|
});
|
|
1625
1625
|
});
|
|
1626
1626
|
test('relay probe fails closed when the server does not acknowledge the session', async () => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import assert from 'node:assert/strict';
|
|
2
2
|
import { readFile } from 'node:fs/promises';
|
|
3
3
|
import test from 'node:test';
|
|
4
|
-
import { canonicalEndpointRole, canonicalRepositoryPackage } from './index.js';
|
|
4
|
+
import { canonicalEndpointRole, canonicalRepositoryPackage, canonicalRepositoryPackagePolicyGeneration, repositoryPackageNeedsPolicyRefresh } from './index.js';
|
|
5
5
|
const ids = {
|
|
6
6
|
candidateId: '77f61652-a5eb-46e4-930c-9478cd4a9c31',
|
|
7
7
|
releaseId: '87f61652-a5eb-46e4-930c-9478cd4a9c31',
|
|
@@ -17,6 +17,22 @@ test('repository connect package state distinguishes unseen and published canoni
|
|
|
17
17
|
releaseId: ids.releaseId, generation: 4, consolidationMode: 'initial_repository' };
|
|
18
18
|
assert.deepEqual(canonicalRepositoryPackage(published), published);
|
|
19
19
|
assert.throws(() => canonicalRepositoryPackage({ ...published, releaseId: null }), /inconsistent/);
|
|
20
|
+
assert.throws(() => canonicalRepositoryPackage({ ...published, sourcePolicyGenerationId: ids.candidateId }), /invalid/);
|
|
21
|
+
});
|
|
22
|
+
test('onboarding refreshes a published package only after its source policy generation changes', () => {
|
|
23
|
+
const published = { ...canonicalRepositoryPackage({ state: 'published', candidateId: ids.candidateId,
|
|
24
|
+
operationId: `sha256:${'a'.repeat(64)}`, snapshotHash: `sha256:${'b'.repeat(64)}`,
|
|
25
|
+
sourceManifestHash: `sha256:${'c'.repeat(64)}`, releaseId: ids.releaseId,
|
|
26
|
+
generation: 4, consolidationMode: 'repository_update' }), sourcePolicyGenerationId: ids.candidateId };
|
|
27
|
+
assert.equal(repositoryPackageNeedsPolicyRefresh(published, ids.candidateId), false);
|
|
28
|
+
assert.equal(repositoryPackageNeedsPolicyRefresh(published, ids.releaseId), true);
|
|
29
|
+
assert.equal(repositoryPackageNeedsPolicyRefresh({ ...published, sourcePolicyGenerationId: undefined }, ids.releaseId), false);
|
|
30
|
+
});
|
|
31
|
+
test('package policy generation is a separately validated backward-compatible connect hint', () => {
|
|
32
|
+
assert.equal(canonicalRepositoryPackagePolicyGeneration(ids.candidateId), ids.candidateId);
|
|
33
|
+
assert.equal(canonicalRepositoryPackagePolicyGeneration(null), null);
|
|
34
|
+
assert.equal(canonicalRepositoryPackagePolicyGeneration(undefined), undefined);
|
|
35
|
+
assert.throws(() => canonicalRepositoryPackagePolicyGeneration('wrong'), /invalid/);
|
|
20
36
|
});
|
|
21
37
|
test('repository connect endpoint role state is exact and revisioned', () => {
|
|
22
38
|
assert.equal(canonicalEndpointRole(null), null);
|
|
@@ -27,7 +43,8 @@ test('one prompt submits initial knowledge only for an absent package and derive
|
|
|
27
43
|
const source = await readFile(new URL('../src/index.ts', import.meta.url), 'utf8');
|
|
28
44
|
const onboard = source.slice(source.indexOf('async function onboard('), source.indexOf('async function evidenceSync('));
|
|
29
45
|
assert.match(onboard, /canonicalPackage\.state === 'absent'/);
|
|
30
|
-
assert.match(onboard, /
|
|
46
|
+
assert.match(onboard, /canonicalPackage\.state === 'absent' \|\| refreshPolicy/);
|
|
47
|
+
assert.match(onboard, /snapshot: initialSnapshot, initialRepository: canonicalPackage\.state === 'absent'/);
|
|
31
48
|
assert.match(onboard, /: await adoptRepositoryCandidate\(/);
|
|
32
49
|
assert.match(onboard, /const derivedRole = deriveRepositoryRole\(/);
|
|
33
50
|
assert.match(onboard, /const roleInput = roleRequested \?/);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repositoryOnboardingFlow.test.js","sourceRoot":"","sources":["../src/repositoryOnboardingFlow.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"repositoryOnboardingFlow.test.js","sourceRoot":"","sources":["../src/repositoryOnboardingFlow.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dharma-ai-labs/agent-fabric",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.86",
|
|
4
4
|
"description": "Local-first CLI for connecting coding agents to Dharma evaluation, orchestration, and signed Skill delivery",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/dharma-ai-labs/dharma-agent-fabric/tree/main/packages/cli#readme",
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@dharma-ai-labs/agent-fabric-contracts": "0.1.10",
|
|
38
|
-
"@dharma-ai-labs/agent-fabric-evidence-reduction": "0.2.
|
|
39
|
-
"@dharma-ai-labs/agent-fabric-local-vault": "0.1.
|
|
38
|
+
"@dharma-ai-labs/agent-fabric-evidence-reduction": "0.2.15",
|
|
39
|
+
"@dharma-ai-labs/agent-fabric-local-vault": "0.1.19",
|
|
40
40
|
"@dharma-ai-labs/agent-fabric-policy": "0.1.4",
|
|
41
41
|
"@dharma-ai-labs/agent-fabric-provider-adapters": "0.1.19",
|
|
42
42
|
"@dharma-ai-labs/agent-fabric-relay-client": "0.2.22",
|