@dharma-ai-labs/agent-fabric 0.2.108 → 0.2.110
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 +41 -0
- package/dist/codexBoundSession.d.ts.map +1 -1
- package/dist/codexBoundSession.js +2 -0
- package/dist/codexBoundSession.js.map +1 -1
- package/dist/codexBoundSession.test.js +509 -492
- package/dist/codexBoundSession.test.js.map +1 -1
- package/dist/codexInboxSession.d.ts +1 -1
- package/dist/cooperativeInboxSession.d.ts +1 -1
- package/dist/demoEnrollment.d.ts +2 -1
- package/dist/demoEnrollment.d.ts.map +1 -1
- package/dist/demoEnrollment.js +99 -21
- package/dist/demoEnrollment.js.map +1 -1
- package/dist/demoEnrollment.test.js +288 -2
- package/dist/demoEnrollment.test.js.map +1 -1
- package/dist/demoPackage.js +1 -1
- package/dist/demoPackage.js.map +1 -1
- package/dist/demoSigningTrust.d.ts +24 -0
- package/dist/demoSigningTrust.d.ts.map +1 -0
- package/dist/demoSigningTrust.js +326 -0
- package/dist/demoSigningTrust.js.map +1 -0
- package/dist/demoSigningTrust.test.d.ts +2 -0
- package/dist/demoSigningTrust.test.d.ts.map +1 -0
- package/dist/demoSigningTrust.test.js +445 -0
- package/dist/demoSigningTrust.test.js.map +1 -0
- package/dist/demoSigningUpgradeProof.d.ts +52 -0
- package/dist/demoSigningUpgradeProof.d.ts.map +1 -0
- package/dist/demoSigningUpgradeProof.js +137 -0
- package/dist/demoSigningUpgradeProof.js.map +1 -0
- package/dist/demoSigningUpgradeProof.test.d.ts +2 -0
- package/dist/demoSigningUpgradeProof.test.d.ts.map +1 -0
- package/dist/demoSigningUpgradeProof.test.js +564 -0
- package/dist/demoSigningUpgradeProof.test.js.map +1 -0
- package/dist/demoSigningUpgradeSubmission.d.ts +21 -0
- package/dist/demoSigningUpgradeSubmission.d.ts.map +1 -0
- package/dist/demoSigningUpgradeSubmission.js +178 -0
- package/dist/demoSigningUpgradeSubmission.js.map +1 -0
- package/dist/demoSupervisor.d.ts.map +1 -1
- package/dist/demoSupervisor.js +2 -1
- package/dist/demoSupervisor.js.map +1 -1
- package/dist/demoSupervisor.test.js +35 -0
- package/dist/demoSupervisor.test.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -3
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +3 -2
- package/dist/index.test.js.map +1 -1
- package/dist/providerSessionReplyRecovery.d.ts +1 -1
- package/dist/schemas/demo-enrollment-approval.schema.json +19 -0
- package/dist/schemas/demo-signing-update.schema.json +18 -0
- package/dist/schemas/lifecycle-event.schema.json +178 -0
- package/dist/schemas/signing-upgrade-context.schema.json +28 -0
- package/dist/schemas/signing-upgrade-source.schema.json +32 -0
- 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 +5 -4
package/README.md
CHANGED
|
@@ -31,6 +31,47 @@ is sent. An acknowledged message proves delivery, not that the recipient agent
|
|
|
31
31
|
used or correctly applied the answer. The Demo peer transport is separate from
|
|
32
32
|
the signed package, knowledge, Atlas, and autonomous-update readiness gates.
|
|
33
33
|
|
|
34
|
+
## Signing Upgrade Proof Preparation
|
|
35
|
+
|
|
36
|
+
For a reviewed Demo signing-consumer upgrade, an operator supplies the bounded
|
|
37
|
+
`dharma.signing-upgrade-context/v1` review JSON for the exact organization and
|
|
38
|
+
repository. It identifies the candidate, predecessor, installed preload hash,
|
|
39
|
+
unchanged original-client inventory, current and requested consumer versions,
|
|
40
|
+
and a proof expiry no more than 15 minutes away. This file is a review request,
|
|
41
|
+
not authorization. Never put a grant, credential or private key in it.
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
dharma demo signing-client-proof --organization-id <org> --repository-id <repo> --normalized-repository <normalized-remote> --review-context <review.json>
|
|
45
|
+
dharma demo signing-client-proof --organization-id <org> --repository-id <repo> --normalized-repository <normalized-remote> --review-context <review.json> --submit
|
|
46
|
+
dharma demo signing-owner-proof --organization-id <org> --repository-id <repo> --normalized-repository <normalized-remote> --review-context <review.json>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
`--submit` records only an original enrolled client's signing-upgrade proof. It
|
|
50
|
+
uses the existing device key and still-valid protected preload, verifies the
|
|
51
|
+
exact server receipt, and preserves the same pending proof for a grant-free
|
|
52
|
+
retry after a lost response. Run the same command with the same review context
|
|
53
|
+
to resume; do not delete the pending proof or change trust files. A recorded
|
|
54
|
+
proof is not activation. Owner proofs still require explicit ordinary-session
|
|
55
|
+
browser review; `signing-owner-proof --submit` is rejected. Expired trust requires
|
|
56
|
+
browser-authorized re-enrollment, not a locally extended anchor.
|
|
57
|
+
|
|
58
|
+
Both commands verify the current Git remote, use the existing enrolled device
|
|
59
|
+
and protected, still-valid preload, and read versions from the actual installed
|
|
60
|
+
CLI/contracts packages. `--dry-run` verifies the repository scope and reports
|
|
61
|
+
only a plan; it does not attest installed trust or issue a signature.
|
|
62
|
+
|
|
63
|
+
Without `--submit`, the JSON result has `stage: "proof_prepared"` and
|
|
64
|
+
`submitted: false`. It contains
|
|
65
|
+
the device signature and source hash, not enrollment credentials. Preparing an
|
|
66
|
+
owner proof does not prove owner authority or approve rotation: the current
|
|
67
|
+
owner must separately review and confirm it in the ordinary browser session.
|
|
68
|
+
The server must independently check current access, preload and inventory for
|
|
69
|
+
every submitted source and final registration. Only client `--submit` sends the
|
|
70
|
+
proof. Neither command rotates or activates keys, extends trust, replaces an original client, alters
|
|
71
|
+
financial records, or bypass browser approval. Missing OS credentials or a
|
|
72
|
+
missing protected signing anchor fail without recreating them. Expired trust requires supported
|
|
73
|
+
browser-authorized re-enrollment, never editing local trust files.
|
|
74
|
+
|
|
34
75
|
## Autonomous organization setup
|
|
35
76
|
|
|
36
77
|
Requires Node.js 22.20.0 through 24.x.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codexBoundSession.d.ts","sourceRoot":"","sources":["../src/codexBoundSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACxH,OAAO,KAAK,EAAE,4BAA4B,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AACzG,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,2EAA2E,CAAC;AAC5I,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6EAA6E,CAAC;AAEvH,UAAU,sBAAsB;IAC9B,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,4BAA4B,CAAC;IAEvC,aAAa,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC9C,QAAQ,EAAE,uBAAuB,CAAC;IAClC,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,sBAAsB;;;
|
|
1
|
+
{"version":3,"file":"codexBoundSession.d.ts","sourceRoot":"","sources":["../src/codexBoundSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACxH,OAAO,KAAK,EAAE,4BAA4B,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AACzG,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,2EAA2E,CAAC;AAC5I,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6EAA6E,CAAC;AAEvH,UAAU,sBAAsB;IAC9B,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,4BAA4B,CAAC;IAEvC,aAAa,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC9C,QAAQ,EAAE,uBAAuB,CAAC;IAClC,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,sBAAsB;;;yBAmC1C;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;GA0BnF;AAED,wBAAsB,4BAA4B,CAAC,KAAK,EAAE,sBAAsB,GAAG;IACjF,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;;;;;;;GAmBA"}
|
|
@@ -5,6 +5,8 @@ export async function openCodexBoundSession(input) {
|
|
|
5
5
|
if (!binding || binding.provider !== 'codex' || binding.owner !== 'dharma_bridge') {
|
|
6
6
|
throw new Error('codex_session_binding_unavailable');
|
|
7
7
|
}
|
|
8
|
+
if (process.platform !== 'linux')
|
|
9
|
+
throw new Error('codex_session_sandbox_unqualified');
|
|
8
10
|
const codexBinding = { ...binding, threadId: binding.sessionId };
|
|
9
11
|
const lease = input.vault.tryAcquireProviderSessionLease(input.bindingId, input.identity);
|
|
10
12
|
if (!lease)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codexBoundSession.js","sourceRoot":"","sources":["../src/codexBoundSession.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codexBoundSession.js","sourceRoot":"","sources":["../src/codexBoundSession.ts"],"names":[],"mappings":"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"}
|