@dharma-ai-labs/agent-fabric 0.2.75 → 0.2.77

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.
@@ -1570,13 +1570,13 @@ test('relay probe opens an authenticated session without polling or leasing work
1570
1570
  },
1571
1571
  openSession: async (version) => {
1572
1572
  sessions += 1;
1573
- assert.equal(version, '0.2.75');
1573
+ assert.equal(version, '0.2.77');
1574
1574
  return { ok: true };
1575
1575
  },
1576
1576
  }));
1577
1577
  assert.equal(sessions, 1);
1578
1578
  assert.deepEqual(result, {
1579
- ok: true, connected: true, organizationId: 'org_test', deviceId: 'device_test', relayVersion: '0.2.75',
1579
+ ok: true, connected: true, organizationId: 'org_test', deviceId: 'device_test', relayVersion: '0.2.77',
1580
1580
  });
1581
1581
  });
1582
1582
  test('relay probe fails closed when the server does not acknowledge the session', async () => {
@@ -11,4 +11,15 @@ test('the installed onboarding contract forbids product-code workarounds', async
11
11
  assert.match(contract, /exact failed stage, non-sensitive error, and correlation ID/i);
12
12
  assert.match(contract, /supported retry, reconciliation, rollback, or browser-authorized re-enrollment/i);
13
13
  });
14
+ test('the installed guide names the supported knowledge and peer workflow', async () => {
15
+ const contract = await readFile(contractUrl, 'utf8');
16
+ assert.match(contract, /repositories snapshot --workspace \. --organization-id <organization-id> --workspace-id <workspace-id> --dry-run/);
17
+ assert.match(contract, /repositories role-discover --workspace-id <workspace-id> --category <category>/);
18
+ assert.match(contract, /repositories ask --workspace-id <workspace-id> --category <category> --question/);
19
+ assert.match(contract, /repositories reply --workspace-id <workspace-id> --question-id <question-id>/);
20
+ assert.match(contract, /reads the response rather than manually sending one/);
21
+ assert.match(contract, /active signed release and its source references/);
22
+ assert.match(contract, /source edit, successful upload, or local snapshot alone is not publication/);
23
+ assert.doesNotMatch(contract, /dhab_[A-Za-z0-9_-]+/);
24
+ });
14
25
  //# sourceMappingURL=onboardingContract.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"onboardingContract.test.js","sourceRoot":"","sources":["../src/onboardingContract.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,+BAA+B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE9E,IAAI,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;IACpF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAErD,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,gDAAgD,CAAC,CAAC;IACzE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,0CAA0C,CAAC,CAAC;IACnE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;IACrD,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,2BAA2B,CAAC,CAAC;IACpD,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,8DAA8D,CAAC,CAAC;IACvF,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,iFAAiF,CAAC,CAAC;AAC5G,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"onboardingContract.test.js","sourceRoot":"","sources":["../src/onboardingContract.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,+BAA+B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE9E,IAAI,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;IACpF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAErD,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,gDAAgD,CAAC,CAAC;IACzE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,0CAA0C,CAAC,CAAC;IACnE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;IACrD,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,2BAA2B,CAAC,CAAC;IACpD,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,8DAA8D,CAAC,CAAC;IACvF,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,iFAAiF,CAAC,CAAC;AAC5G,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;IACrF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAErD,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,kHAAkH,CAAC,CAAC;IAC3I,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,gFAAgF,CAAC,CAAC;IACzG,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,iFAAiF,CAAC,CAAC;IAC1G,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,8EAA8E,CAAC,CAAC;IACvG,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,qDAAqD,CAAC,CAAC;IAC9E,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,iDAAiD,CAAC,CAAC;IAC1E,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,4EAA4E,CAAC,CAAC;IACrG,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=repositorySnapshotCaller.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repositorySnapshotCaller.test.d.ts","sourceRoot":"","sources":["../src/repositorySnapshotCaller.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import assert from 'node:assert/strict';
2
+ import { readFile } from 'node:fs/promises';
3
+ import test from 'node:test';
4
+ test('bound repository snapshot forwards its complete registered identity', async () => {
5
+ const source = await readFile(new URL('../src/index.ts', import.meta.url), 'utf8');
6
+ const command = source.slice(source.indexOf('async function repositorySnapshotCommand('), source.indexOf('async function onboard('));
7
+ assert.match(command, /const registeredWorkspace = \(await registry\(\)\)\.find\(/);
8
+ assert.match(command, /record\.organizationId === flags\.get\('organization-id'\)/);
9
+ assert.match(command, /record\.workspaceId === flags\.get\('workspace-id'\)/);
10
+ assert.match(command, /repositoryAgentId: registeredWorkspace\?\.repositoryAgentId/);
11
+ assert.match(command, /repositoryBindingId: registeredWorkspace\?\.repositoryBindingId/);
12
+ assert.match(command, /fetchRepositorySourceAuthorization\(await client\(\), \{/);
13
+ assert.match(command, /sourceAuthorization,/);
14
+ });
15
+ //# sourceMappingURL=repositorySnapshotCaller.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repositorySnapshotCaller.test.js","sourceRoot":"","sources":["../src/repositorySnapshotCaller.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,IAAI,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;IACrF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,2CAA2C,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACrI,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,4DAA4D,CAAC,CAAC;IACpF,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,4DAA4D,CAAC,CAAC;IACpF,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,sDAAsD,CAAC,CAAC;IAC9E,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,6DAA6D,CAAC,CAAC;IACrF,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,iEAAiE,CAAC,CAAC;IACzF,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,0DAA0D,CAAC,CAAC;IAClF,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC"}
@@ -29,4 +29,11 @@ test('actual relay consumes a verified cache only after an idle task boundary an
29
29
  assert.match(relay, /const prepared = cached \|\| await prepareSkillUpdate\(/);
30
30
  assert.ok(relay.indexOf('await takeCachedSkillUpdate(') < relay.indexOf('await activatePreparedSkillUpdate('));
31
31
  });
32
+ test('relay receipt attributes activation failures to a provider without raw error text', async () => {
33
+ const source = await readFile(new URL('../src/index.ts', import.meta.url), 'utf8');
34
+ const relay = source.slice(source.indexOf('async function relayStart('), source.indexOf('export async function run('));
35
+ assert.match(relay, /skillActivationFailuresByProvider\[adapter\.providerId\]/);
36
+ assert.match(relay, /skillActivationFailuresByProvider,/);
37
+ assert.doesNotMatch(relay, /skillActivationFailureMessage/);
38
+ });
32
39
  //# sourceMappingURL=skillPreparationCaller.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skillPreparationCaller.test.js","sourceRoot":"","sources":["../src/skillPreparationCaller.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skillPreparationCaller.test.js","sourceRoot":"","sources":["../src/skillPreparationCaller.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.75",
3
+ "version": "0.2.77",
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",