@dharma-ai-labs/agent-fabric 0.2.192 → 0.2.193
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.
|
@@ -6,7 +6,7 @@ The portal supplies a public setup reference with the organization, intended rec
|
|
|
6
6
|
|
|
7
7
|
Use an already registered matching `dharma_setup_reference` tool when present. From CLI 0.2.192, the portal may instead supply the official `dharma setup codex` entry with `--portal-context-sha256` and `--portal-prompt-sha256`. The actual coding agent executes its exact public command once; the client fetches the canonical public portal instructions, verifies both independent copied pins and revalidates the current source policy. It does not read private conversation history or ask the agent to transcribe the full message. The public checksum masks only its own single argument value to avoid a self-referential digest; all other prompt bytes remain bound, with CRLF normalized to LF. The receipt identifies `verified_portal_prompt` and `nativeOriginalUserPromptAttested:false`: canonical portal input is not attestation of the enclosing human message. Legacy `--stdin` remains supported for an entire original public prompt and cannot combine with either portal pin. Follow only the selected issued route; legacy input is not a failure fallback.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
From CLI 0.2.193, the generated prompt explicitly prepares and selects both npm prefix and cache in a fresh private temporary directory outside the source checkout and private device/provider/runtime roots; `--prefix` alone does not select npm's cache. Preparation and entry execute in the same tool call, connected by `&&`, so the command-local public path cannot be lost between calls or used after preparation fails. Existing files and permissions are preserved. The native containment guard is unchanged: trusted runtime files inside a mutable source checkout remain forbidden. Do not manually rewrite or replay an older issued prompt to change its cache; obtain a fresh version-qualified portal instruction. The entry still requires the intended qualified private `DHARMA_HOME` and existing `CODEX_HOME`, genuine Codex context and supported protected storage. It opens an owned named setup session with the matching tool, not attachment to an arbitrary existing desktop chat. The current authenticated provider account is checked through the official owned connection; its identity is distinct from the intended Dharma recipient. No human terminal command, nested login check, invented provider marker or copied authentication is permitted. Keep the originating command and same native turn pending through recipient approval and final JSON; never retry a refused, expired or interrupted setup through another route. Source or parser tests do not prove a live customer journey.
|
|
10
10
|
|
|
11
11
|
The controller entry `openCodexBootstrapFromPortalCommand` requires `initialUserPrompt` containing the exact verified public text alongside independently validated command arguments and the host intent. In CLI192 portal mode this is fetched server-canonical text; in legacy stdin mode it is the provided original public text. The internal field name does not attest native transcript provenance. Also supply `initialUserPromptBinding` containing the recipient email and repository remote URL from the independently verified portal selection; neither field comes from parsing the prompt or from the provider account email. Missing text is refused, never replaced with a controller message. Separately qualified legacy callers of `openCodexBootstrapNativeHost` retain their omitted-prompt behavior; they do not qualify this portal journey. The controller snapshots these public fields, checks the remote fingerprint and requires exact displayed headers before connecting. Credential-shaped text is rejected rather than redacted and forwarded. The authenticated portal copy supplies independent immutable context/checksum pins, CLI and expiry; same-origin HTTPS authenticates fresh policy and timestamps. This is context integrity, not an application-level server signature, independently signed freshness or native-message attestation. Public preparation and a settled provider turn are not readiness: success requires the original host's journal/readiness-verified operation receipt and exact installed configuration. An unavailable prerequisite or `codex_setup_owned_start_unqualified` is a blocked stage, not permission to weaken protection or request terminal input. This implementation contract is not itself a live qualification receipt.
|
|
12
12
|
|
package/dist/index.js
CHANGED
|
@@ -104,7 +104,7 @@ import { assertCodexSetupExecutionLease } from './codexSetupAdmission.js';
|
|
|
104
104
|
import { parseLocalCodexSetupReadiness } from '@dharma-ai-labs/agent-fabric-local-vault/setup-readiness';
|
|
105
105
|
import { writeBootstrapHostJson, writeBootstrapHostText } from './bootstrapHostFiles.js';
|
|
106
106
|
export { openCooperativeInboxSession } from './cooperativeInboxSession.js';
|
|
107
|
-
const VERSION = '0.2.
|
|
107
|
+
const VERSION = '0.2.193';
|
|
108
108
|
const USAGE = CLI_USAGE;
|
|
109
109
|
const execFileAsync = promisify(execFile);
|
|
110
110
|
const LOCAL_PROVIDER_IDS = ['codex', 'claude', 'agy', 'hermes'];
|
|
@@ -52,7 +52,10 @@ test('the installed guide distinguishes canonical portal input from legacy stdin
|
|
|
52
52
|
assert.match(contract, /Legacy `--stdin` remains supported for an entire original public prompt and cannot combine with either portal pin/i);
|
|
53
53
|
assert.match(contract, /`nativeOriginalUserPromptAttested:false`/);
|
|
54
54
|
assert.match(contract, /legacy input is not a failure fallback/i);
|
|
55
|
-
assert.match(contract, /
|
|
55
|
+
assert.match(contract, /From CLI 0\.2\.193/);
|
|
56
|
+
assert.match(contract, /both npm prefix and cache in a fresh private temporary directory outside the source checkout/);
|
|
57
|
+
assert.match(contract, /trusted runtime files inside a mutable source checkout remain forbidden/);
|
|
58
|
+
assert.doesNotMatch(contract, /both npm prefix and cache beneath the approved checkout/);
|
|
56
59
|
assert.match(contract, /qualified private `DHARMA_HOME` and existing `CODEX_HOME`/);
|
|
57
60
|
assert.match(contract, /not attachment to an arbitrary existing desktop chat/i);
|
|
58
61
|
assert.match(contract, /never retry a refused, expired or interrupted setup/i);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboardingContract.test.js","sourceRoot":"","sources":["../src/onboardingContract.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"onboardingContract.test.js","sourceRoot":"","sources":["../src/onboardingContract.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.193",
|
|
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",
|