@codespar/cli 0.13.0 → 0.14.1
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 +51 -1
- package/dist/commands/agent.js +13 -7
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/init.js +91 -23
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/login.js +2 -1
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/mandate-verify.js +75 -27
- package/dist/commands/mandate-verify.js.map +1 -1
- package/dist/config.js +17 -1
- package/dist/config.js.map +1 -1
- package/dist/did.js +262 -41
- package/dist/did.js.map +1 -1
- package/dist/index.js +23 -8
- package/dist/index.js.map +1 -1
- package/package.json +3 -1
- package/templates/bills-agent/LICENSE +21 -0
- package/templates/bills-agent/README.md +21 -0
- package/templates/bills-agent/_gitignore +10 -0
- package/templates/bills-agent/agents/bills-agent/.env.example +7 -0
- package/templates/bills-agent/agents/bills-agent/AGENTS.md +16 -0
- package/templates/bills-agent/agents/bills-agent/CLAUDE.md +16 -0
- package/templates/bills-agent/agents/bills-agent/README.md +89 -0
- package/templates/bills-agent/agents/bills-agent/SYSTEM_PROMPT.md +23 -0
- package/templates/bills-agent/agents/bills-agent/agent.yaml +26 -0
- package/templates/bills-agent/agents/bills-agent/channels/terminal/index.ts +108 -0
- package/templates/bills-agent/agents/bills-agent/evals/adversarial/beneficiary-swap-mandate.json +9 -0
- package/templates/bills-agent/agents/bills-agent/evals/adversarial/beneficiary-swap.json +10 -0
- package/templates/bills-agent/agents/bills-agent/evals/adversarial/beneficiary-swap.transcript.jsonl +2 -0
- package/templates/bills-agent/agents/bills-agent/evals/adversarial/exfiltration.json +13 -0
- package/templates/bills-agent/agents/bills-agent/evals/adversarial/exfiltration.transcript.jsonl +3 -0
- package/templates/bills-agent/agents/bills-agent/evals/adversarial/false-authority.json +9 -0
- package/templates/bills-agent/agents/bills-agent/evals/adversarial/false-authority.transcript.jsonl +3 -0
- package/templates/bills-agent/agents/bills-agent/evals/adversarial/fractioning.json +15 -0
- package/templates/bills-agent/agents/bills-agent/evals/adversarial/fractioning.transcript.jsonl +6 -0
- package/templates/bills-agent/agents/bills-agent/evals/adversarial/model-total.json +10 -0
- package/templates/bills-agent/agents/bills-agent/evals/adversarial/model-total.transcript.jsonl +2 -0
- package/templates/bills-agent/agents/bills-agent/evals/adversarial/prompt-injection.json +9 -0
- package/templates/bills-agent/agents/bills-agent/evals/adversarial/prompt-injection.transcript.jsonl +2 -0
- package/templates/bills-agent/agents/bills-agent/evals/adversarial/webhook-replay.json +9 -0
- package/templates/bills-agent/agents/bills-agent/evals/eval.yaml +9 -0
- package/templates/bills-agent/agents/bills-agent/guardrails.json +15 -0
- package/templates/bills-agent/agents/bills-agent/mandate.example.json +46 -0
- package/templates/bills-agent/agents/bills-agent/package.json +24 -0
- package/templates/bills-agent/agents/bills-agent/runbook.md +19 -0
- package/templates/bills-agent/agents/bills-agent/scenarios/beneficiary-not-allowed.json +14 -0
- package/templates/bills-agent/agents/bills-agent/scenarios/beneficiary-not-allowed.transcript.jsonl +2 -0
- package/templates/bills-agent/agents/bills-agent/scenarios/cap-exceeded.json +12 -0
- package/templates/bills-agent/agents/bills-agent/scenarios/cap-exceeded.transcript.jsonl +2 -0
- package/templates/bills-agent/agents/bills-agent/scenarios/escalated-above-threshold.json +20 -0
- package/templates/bills-agent/agents/bills-agent/scenarios/escalated-above-threshold.transcript.jsonl +7 -0
- package/templates/bills-agent/agents/bills-agent/scenarios/happy-path.json +14 -0
- package/templates/bills-agent/agents/bills-agent/scenarios/happy-path.transcript.jsonl +3 -0
- package/templates/bills-agent/agents/bills-agent/scenarios/mandate-revoked.json +21 -0
- package/templates/bills-agent/agents/bills-agent/scenarios/mandate-revoked.transcript.jsonl +9 -0
- package/templates/bills-agent/agents/bills-agent/scenarios/prompt-injection.json +12 -0
- package/templates/bills-agent/agents/bills-agent/scenarios/prompt-injection.transcript.jsonl +2 -0
- package/templates/bills-agent/agents/bills-agent/src/adversarial.ts +177 -0
- package/templates/bills-agent/agents/bills-agent/src/bills.ts +28 -0
- package/templates/bills-agent/agents/bills-agent/src/commands/approve.ts +9 -0
- package/templates/bills-agent/agents/bills-agent/src/commands/check.ts +13 -0
- package/templates/bills-agent/agents/bills-agent/src/commands/consent.ts +26 -0
- package/templates/bills-agent/agents/bills-agent/src/commands/decide.ts +45 -0
- package/templates/bills-agent/agents/bills-agent/src/commands/deny.ts +7 -0
- package/templates/bills-agent/agents/bills-agent/src/commands/eval.ts +37 -0
- package/templates/bills-agent/agents/bills-agent/src/commands/reconcile.ts +38 -0
- package/templates/bills-agent/agents/bills-agent/src/commands/rerun.ts +65 -0
- package/templates/bills-agent/agents/bills-agent/src/commands/resume.ts +30 -0
- package/templates/bills-agent/agents/bills-agent/src/main.ts +185 -0
- package/templates/bills-agent/agents/bills-agent/src/modules/embedded-consent.ts +125 -0
- package/templates/bills-agent/agents/bills-agent/src/modules/pix-out.ts +73 -0
- package/templates/bills-agent/agents/bills-agent/src/scenarios.ts +196 -0
- package/templates/bills-agent/agents/bills-agent/src/setup.ts +207 -0
- package/templates/bills-agent/agents/bills-agent/test/adversarial.test.ts +40 -0
- package/templates/bills-agent/agents/bills-agent/test/check.test.ts +85 -0
- package/templates/bills-agent/agents/bills-agent/test/cli.test.ts +177 -0
- package/templates/bills-agent/agents/bills-agent/test/scenarios.test.ts +73 -0
- package/templates/bills-agent/agents/bills-agent/tools.json +51 -0
- package/templates/bills-agent/agents/bills-agent/tsconfig.json +11 -0
- package/templates/bills-agent/package.json +34 -0
- package/templates/bills-agent/packages/agent-core/README.md +19 -0
- package/templates/bills-agent/packages/agent-core/package.json +24 -0
- package/templates/bills-agent/packages/agent-core/src/agent.ts +125 -0
- package/templates/bills-agent/packages/agent-core/src/api/charge-rail.ts +154 -0
- package/templates/bills-agent/packages/agent-core/src/api/client.ts +53 -0
- package/templates/bills-agent/packages/agent-core/src/api/mandate-status.ts +58 -0
- package/templates/bills-agent/packages/agent-core/src/api/rail.ts +101 -0
- package/templates/bills-agent/packages/agent-core/src/api/sandbox-payer.ts +45 -0
- package/templates/bills-agent/packages/agent-core/src/approval.ts +109 -0
- package/templates/bills-agent/packages/agent-core/src/bundle.ts +113 -0
- package/templates/bills-agent/packages/agent-core/src/check.ts +171 -0
- package/templates/bills-agent/packages/agent-core/src/engine.ts +784 -0
- package/templates/bills-agent/packages/agent-core/src/escalate.ts +85 -0
- package/templates/bills-agent/packages/agent-core/src/events.ts +40 -0
- package/templates/bills-agent/packages/agent-core/src/guardrails.ts +45 -0
- package/templates/bills-agent/packages/agent-core/src/hash.ts +49 -0
- package/templates/bills-agent/packages/agent-core/src/ids.ts +10 -0
- package/templates/bills-agent/packages/agent-core/src/index.ts +29 -0
- package/templates/bills-agent/packages/agent-core/src/mandate.ts +100 -0
- package/templates/bills-agent/packages/agent-core/src/manifest.ts +76 -0
- package/templates/bills-agent/packages/agent-core/src/providers/anthropic.ts +76 -0
- package/templates/bills-agent/packages/agent-core/src/providers/replay.ts +63 -0
- package/templates/bills-agent/packages/agent-core/src/providers/types.ts +39 -0
- package/templates/bills-agent/packages/agent-core/src/rail.ts +87 -0
- package/templates/bills-agent/packages/agent-core/src/revocation.ts +30 -0
- package/templates/bills-agent/packages/agent-core/src/secrets.ts +30 -0
- package/templates/bills-agent/packages/agent-core/src/state/store.ts +307 -0
- package/templates/bills-agent/packages/agent-core/src/state-machine.ts +146 -0
- package/templates/bills-agent/packages/agent-core/src/stubs/charge-rail.ts +193 -0
- package/templates/bills-agent/packages/agent-core/src/stubs/mandate-status.ts +57 -0
- package/templates/bills-agent/packages/agent-core/src/stubs/rail.ts +124 -0
- package/templates/bills-agent/packages/agent-core/src/tools.ts +55 -0
- package/templates/bills-agent/packages/agent-core/src/types.ts +106 -0
- package/templates/bills-agent/packages/agent-core/test/approval.test.ts +83 -0
- package/templates/bills-agent/packages/agent-core/test/engine.test.ts +524 -0
- package/templates/bills-agent/packages/agent-core/test/escalate.test.ts +42 -0
- package/templates/bills-agent/packages/agent-core/test/helpers.ts +139 -0
- package/templates/bills-agent/packages/agent-core/test/mandate-status.test.ts +153 -0
- package/templates/bills-agent/packages/agent-core/test/manifest.test.ts +45 -0
- package/templates/bills-agent/packages/agent-core/test/receivables.test.ts +265 -0
- package/templates/bills-agent/packages/agent-core/test/secrets.test.ts +28 -0
- package/templates/bills-agent/packages/agent-core/test/state-machine.test.ts +67 -0
- package/templates/bills-agent/packages/agent-core/test/transitions.type-test.ts +59 -0
- package/templates/bills-agent/packages/agent-core/tsconfig.json +10 -0
- package/templates/bills-agent/tsconfig.base.json +16 -0
- package/templates/bills-agent/vitest.config.ts +12 -0
- package/templates/collections-agent/LICENSE +21 -0
- package/templates/collections-agent/README.md +20 -0
- package/templates/collections-agent/_gitignore +10 -0
- package/templates/collections-agent/agents/collections-agent/.env.example +4 -0
- package/templates/collections-agent/agents/collections-agent/AGENTS.md +19 -0
- package/templates/collections-agent/agents/collections-agent/CLAUDE.md +19 -0
- package/templates/collections-agent/agents/collections-agent/README.md +94 -0
- package/templates/collections-agent/agents/collections-agent/SYSTEM_PROMPT.md +31 -0
- package/templates/collections-agent/agents/collections-agent/agent.yaml +28 -0
- package/templates/collections-agent/agents/collections-agent/channels/terminal/index.ts +178 -0
- package/templates/collections-agent/agents/collections-agent/channels/webhook/index.ts +131 -0
- package/templates/collections-agent/agents/collections-agent/evals/adversarial/beneficiary-swap-mandate.json +11 -0
- package/templates/collections-agent/agents/collections-agent/evals/adversarial/beneficiary-swap.json +12 -0
- package/templates/collections-agent/agents/collections-agent/evals/adversarial/beneficiary-swap.transcript.jsonl +2 -0
- package/templates/collections-agent/agents/collections-agent/evals/adversarial/exfiltration.json +19 -0
- package/templates/collections-agent/agents/collections-agent/evals/adversarial/exfiltration.transcript.jsonl +3 -0
- package/templates/collections-agent/agents/collections-agent/evals/adversarial/false-authority.json +11 -0
- package/templates/collections-agent/agents/collections-agent/evals/adversarial/false-authority.transcript.jsonl +2 -0
- package/templates/collections-agent/agents/collections-agent/evals/adversarial/fractioning.json +12 -0
- package/templates/collections-agent/agents/collections-agent/evals/adversarial/fractioning.transcript.jsonl +4 -0
- package/templates/collections-agent/agents/collections-agent/evals/adversarial/model-total.json +13 -0
- package/templates/collections-agent/agents/collections-agent/evals/adversarial/model-total.transcript.jsonl +2 -0
- package/templates/collections-agent/agents/collections-agent/evals/adversarial/prompt-injection.json +12 -0
- package/templates/collections-agent/agents/collections-agent/evals/adversarial/prompt-injection.transcript.jsonl +2 -0
- package/templates/collections-agent/agents/collections-agent/evals/adversarial/webhook-replay.json +11 -0
- package/templates/collections-agent/agents/collections-agent/evals/eval.yaml +11 -0
- package/templates/collections-agent/agents/collections-agent/guardrails.json +20 -0
- package/templates/collections-agent/agents/collections-agent/mandate.example.json +40 -0
- package/templates/collections-agent/agents/collections-agent/package.json +29 -0
- package/templates/collections-agent/agents/collections-agent/runbook.md +27 -0
- package/templates/collections-agent/agents/collections-agent/scenarios/beneficiary-not-allowed.json +42 -0
- package/templates/collections-agent/agents/collections-agent/scenarios/beneficiary-not-allowed.transcript.jsonl +3 -0
- package/templates/collections-agent/agents/collections-agent/scenarios/cap-exceeded.json +27 -0
- package/templates/collections-agent/agents/collections-agent/scenarios/cap-exceeded.transcript.jsonl +3 -0
- package/templates/collections-agent/agents/collections-agent/scenarios/charge-expired.json +36 -0
- package/templates/collections-agent/agents/collections-agent/scenarios/charge-expired.transcript.jsonl +4 -0
- package/templates/collections-agent/agents/collections-agent/scenarios/escalated-above-threshold.json +49 -0
- package/templates/collections-agent/agents/collections-agent/scenarios/escalated-above-threshold.transcript.jsonl +5 -0
- package/templates/collections-agent/agents/collections-agent/scenarios/happy-path.json +60 -0
- package/templates/collections-agent/agents/collections-agent/scenarios/happy-path.transcript.jsonl +4 -0
- package/templates/collections-agent/agents/collections-agent/scenarios/instalments.json +49 -0
- package/templates/collections-agent/agents/collections-agent/scenarios/instalments.transcript.jsonl +4 -0
- package/templates/collections-agent/agents/collections-agent/scenarios/mandate-revoked.json +42 -0
- package/templates/collections-agent/agents/collections-agent/scenarios/mandate-revoked.transcript.jsonl +6 -0
- package/templates/collections-agent/agents/collections-agent/scenarios/prompt-injection.json +27 -0
- package/templates/collections-agent/agents/collections-agent/scenarios/prompt-injection.transcript.jsonl +2 -0
- package/templates/collections-agent/agents/collections-agent/src/adversarial.ts +190 -0
- package/templates/collections-agent/agents/collections-agent/src/agreements.ts +45 -0
- package/templates/collections-agent/agents/collections-agent/src/commands/approve.ts +10 -0
- package/templates/collections-agent/agents/collections-agent/src/commands/check.ts +13 -0
- package/templates/collections-agent/agents/collections-agent/src/commands/decide.ts +48 -0
- package/templates/collections-agent/agents/collections-agent/src/commands/deny.ts +7 -0
- package/templates/collections-agent/agents/collections-agent/src/commands/eval.ts +39 -0
- package/templates/collections-agent/agents/collections-agent/src/commands/poll.ts +35 -0
- package/templates/collections-agent/agents/collections-agent/src/commands/reconcile.ts +38 -0
- package/templates/collections-agent/agents/collections-agent/src/commands/rerun.ts +55 -0
- package/templates/collections-agent/agents/collections-agent/src/commands/resume.ts +30 -0
- package/templates/collections-agent/agents/collections-agent/src/commands/webhook.ts +36 -0
- package/templates/collections-agent/agents/collections-agent/src/envelope.ts +103 -0
- package/templates/collections-agent/agents/collections-agent/src/main.ts +193 -0
- package/templates/collections-agent/agents/collections-agent/src/modules/bolepix-receivables.ts +105 -0
- package/templates/collections-agent/agents/collections-agent/src/poll.ts +94 -0
- package/templates/collections-agent/agents/collections-agent/src/scenarios.ts +252 -0
- package/templates/collections-agent/agents/collections-agent/src/setup.ts +250 -0
- package/templates/collections-agent/agents/collections-agent/test/adversarial.test.ts +45 -0
- package/templates/collections-agent/agents/collections-agent/test/check.test.ts +51 -0
- package/templates/collections-agent/agents/collections-agent/test/cli.test.ts +172 -0
- package/templates/collections-agent/agents/collections-agent/test/envelope.test.ts +53 -0
- package/templates/collections-agent/agents/collections-agent/test/fixtures/accept-1042.transcript.jsonl +2 -0
- package/templates/collections-agent/agents/collections-agent/test/fixtures/accept-1103.transcript.jsonl +2 -0
- package/templates/collections-agent/agents/collections-agent/test/scenarios.test.ts +95 -0
- package/templates/collections-agent/agents/collections-agent/test/webhook.test.ts +100 -0
- package/templates/collections-agent/agents/collections-agent/tools.json +40 -0
- package/templates/collections-agent/agents/collections-agent/tsconfig.json +11 -0
- package/templates/collections-agent/package.json +35 -0
- package/templates/collections-agent/packages/agent-core/README.md +19 -0
- package/templates/collections-agent/packages/agent-core/package.json +24 -0
- package/templates/collections-agent/packages/agent-core/src/agent.ts +125 -0
- package/templates/collections-agent/packages/agent-core/src/api/charge-rail.ts +154 -0
- package/templates/collections-agent/packages/agent-core/src/api/client.ts +53 -0
- package/templates/collections-agent/packages/agent-core/src/api/mandate-status.ts +58 -0
- package/templates/collections-agent/packages/agent-core/src/api/rail.ts +101 -0
- package/templates/collections-agent/packages/agent-core/src/api/sandbox-payer.ts +45 -0
- package/templates/collections-agent/packages/agent-core/src/approval.ts +109 -0
- package/templates/collections-agent/packages/agent-core/src/bundle.ts +113 -0
- package/templates/collections-agent/packages/agent-core/src/check.ts +171 -0
- package/templates/collections-agent/packages/agent-core/src/engine.ts +784 -0
- package/templates/collections-agent/packages/agent-core/src/escalate.ts +85 -0
- package/templates/collections-agent/packages/agent-core/src/events.ts +40 -0
- package/templates/collections-agent/packages/agent-core/src/guardrails.ts +45 -0
- package/templates/collections-agent/packages/agent-core/src/hash.ts +49 -0
- package/templates/collections-agent/packages/agent-core/src/ids.ts +10 -0
- package/templates/collections-agent/packages/agent-core/src/index.ts +29 -0
- package/templates/collections-agent/packages/agent-core/src/mandate.ts +100 -0
- package/templates/collections-agent/packages/agent-core/src/manifest.ts +76 -0
- package/templates/collections-agent/packages/agent-core/src/providers/anthropic.ts +76 -0
- package/templates/collections-agent/packages/agent-core/src/providers/replay.ts +63 -0
- package/templates/collections-agent/packages/agent-core/src/providers/types.ts +39 -0
- package/templates/collections-agent/packages/agent-core/src/rail.ts +87 -0
- package/templates/collections-agent/packages/agent-core/src/revocation.ts +30 -0
- package/templates/collections-agent/packages/agent-core/src/secrets.ts +30 -0
- package/templates/collections-agent/packages/agent-core/src/state/store.ts +307 -0
- package/templates/collections-agent/packages/agent-core/src/state-machine.ts +146 -0
- package/templates/collections-agent/packages/agent-core/src/stubs/charge-rail.ts +193 -0
- package/templates/collections-agent/packages/agent-core/src/stubs/mandate-status.ts +57 -0
- package/templates/collections-agent/packages/agent-core/src/stubs/rail.ts +124 -0
- package/templates/collections-agent/packages/agent-core/src/tools.ts +55 -0
- package/templates/collections-agent/packages/agent-core/src/types.ts +106 -0
- package/templates/collections-agent/packages/agent-core/test/approval.test.ts +83 -0
- package/templates/collections-agent/packages/agent-core/test/engine.test.ts +524 -0
- package/templates/collections-agent/packages/agent-core/test/escalate.test.ts +42 -0
- package/templates/collections-agent/packages/agent-core/test/helpers.ts +139 -0
- package/templates/collections-agent/packages/agent-core/test/mandate-status.test.ts +153 -0
- package/templates/collections-agent/packages/agent-core/test/manifest.test.ts +45 -0
- package/templates/collections-agent/packages/agent-core/test/receivables.test.ts +265 -0
- package/templates/collections-agent/packages/agent-core/test/secrets.test.ts +28 -0
- package/templates/collections-agent/packages/agent-core/test/state-machine.test.ts +67 -0
- package/templates/collections-agent/packages/agent-core/test/transitions.type-test.ts +59 -0
- package/templates/collections-agent/packages/agent-core/tsconfig.json +10 -0
- package/templates/collections-agent/tsconfig.base.json +16 -0
- package/templates/collections-agent/vitest.config.ts +12 -0
- package/templates/kits.lock.json +41 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mandate-verify.js","sourceRoot":"","sources":["../../src/commands/mandate-verify.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mandate-verify.js","sourceRoot":"","sources":["../../src/commands/mandate-verify.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import { readFile, writeFile, mkdir, chmod } from "node:fs/promises";
|
|
2
2
|
import { homedir } from "node:os";
|
|
3
3
|
import { dirname, join } from "node:path";
|
|
4
|
+
import { DEFAULT_BASE_URL } from "./did.js";
|
|
5
|
+
/** Split a comma-separated env value into trimmed, non-empty entries. */
|
|
6
|
+
export function parseDidDomains(raw) {
|
|
7
|
+
if (!raw)
|
|
8
|
+
return undefined;
|
|
9
|
+
const list = raw
|
|
10
|
+
.split(",")
|
|
11
|
+
.map((s) => s.trim())
|
|
12
|
+
.filter((s) => s.length > 0);
|
|
13
|
+
return list.length > 0 ? list : undefined;
|
|
14
|
+
}
|
|
4
15
|
const CONFIG_DIR = join(homedir(), ".codespar");
|
|
5
16
|
const CONFIG_FILE = join(CONFIG_DIR, "config.json");
|
|
6
17
|
export async function loadConfig() {
|
|
@@ -12,6 +23,7 @@ export async function loadConfig() {
|
|
|
12
23
|
apiKey: process.env.CODESPAR_API_KEY || undefined,
|
|
13
24
|
project: process.env.CODESPAR_PROJECT || undefined,
|
|
14
25
|
baseUrl: process.env.CODESPAR_BASE_URL || undefined,
|
|
26
|
+
didDomains: parseDidDomains(process.env.CODESPAR_DID_DOMAINS),
|
|
15
27
|
};
|
|
16
28
|
let fromFile = {};
|
|
17
29
|
try {
|
|
@@ -25,7 +37,11 @@ export async function loadConfig() {
|
|
|
25
37
|
return {
|
|
26
38
|
apiKey: fromEnv.apiKey ?? fromFile.apiKey,
|
|
27
39
|
project: fromEnv.project ?? fromFile.project,
|
|
28
|
-
baseUrl: fromEnv.baseUrl ?? fromFile.baseUrl ??
|
|
40
|
+
baseUrl: fromEnv.baseUrl ?? fromFile.baseUrl ?? DEFAULT_BASE_URL,
|
|
41
|
+
didDomains: fromEnv.didDomains ??
|
|
42
|
+
(Array.isArray(fromFile.didDomains)
|
|
43
|
+
? fromFile.didDomains.filter((h) => typeof h === "string")
|
|
44
|
+
: undefined),
|
|
29
45
|
};
|
|
30
46
|
}
|
|
31
47
|
export async function saveConfig(patch) {
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAyB5C,yEAAyE;AACzE,MAAM,UAAU,eAAe,CAAC,GAAuB;IACrD,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,IAAI,GAAG,GAAG;SACb,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;AAChD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,mEAAmE;IACnE,2EAA2E;IAC3E,0EAA0E;IAC1E,0BAA0B;IAC1B,MAAM,OAAO,GAAc;QACzB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,SAAS;QACjD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,SAAS;QAClD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,SAAS;QACnD,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;KAC9D,CAAC;IAEF,IAAI,QAAQ,GAAc,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACjD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAc,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,0DAA0D;IAC5D,CAAC;IAED,yEAAyE;IACzE,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM;QACzC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO;QAC5C,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,IAAI,gBAAgB;QAChE,UAAU,EACR,OAAO,CAAC,UAAU;YAClB,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;gBACjC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;gBACvE,CAAC,CAAC,SAAS,CAAC;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAyB;IACxD,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEvD,IAAI,QAAQ,GAAc,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAc,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,aAAa;IACf,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;IACvC,MAAM,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5E,qDAAqD;IACrD,MAAM,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAiB;IAC7C,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,QAAQ,CAChB,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC;;;;OAIG;IACM,IAAI,CAAU;IAEvB,YAAY,OAAe,EAAE,OAA0B,EAAE;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;CACF"}
|
package/dist/did.js
CHANGED
|
@@ -3,40 +3,194 @@
|
|
|
3
3
|
* document and extracts its raw Ed25519 public keys so the codec can verify a
|
|
4
4
|
* presentation token's signatures.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* The standard did:web URL mapping is the authority for every DID. Two other
|
|
7
|
+
* sources exist, and each is scoped:
|
|
8
|
+
*
|
|
9
|
+
* - the API's `/v1/agents/<did>/did.json` route (the base URL the CLI is
|
|
10
|
+
* configured with) is consulted only for a DID whose host is one of the
|
|
11
|
+
* deployment's identity hosts — an explicit list, never derived from the
|
|
12
|
+
* base URL's domain labels — and only when the standard document could
|
|
13
|
+
* not be fetched. A DID under another host never falls back there: a
|
|
14
|
+
* runtime must not become the authority over an identity it does not own.
|
|
15
|
+
* - an explicit resolver (`--resolver <url>`) is consulted for any DID whose
|
|
16
|
+
* standard document could not be fetched. It is opt-in and additive: a
|
|
17
|
+
* miss there still falls through to the identity-host rule. The result
|
|
18
|
+
* says where the keys came from so the caller can say so too.
|
|
19
|
+
*
|
|
20
|
+
* A standard document that was fetched but carries no Ed25519 key is the
|
|
21
|
+
* domain owner's answer, not an absence: no other source is consulted.
|
|
9
22
|
*
|
|
10
23
|
* Zero runtime deps — global `fetch` and the standard library only. Kept out of
|
|
11
24
|
* `mandate-codec.ts` so the offline verifier path stays pure and network-free.
|
|
12
25
|
*/
|
|
26
|
+
/** The base URL the CLI ships pointed at, whose identity host is known. */
|
|
27
|
+
export const DEFAULT_BASE_URL = "https://api.codespar.dev";
|
|
28
|
+
const DEFAULT_IDENTITY_HOST = "id.codespar.dev";
|
|
29
|
+
/** A configuration value this module cannot work with: a URL or host that is not one. */
|
|
30
|
+
export class DidConfigError extends Error {
|
|
31
|
+
constructor(message) {
|
|
32
|
+
super(message);
|
|
33
|
+
this.name = "DidConfigError";
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/** A host: a DNS name or a bracketed IPv6 literal. No port, no path. */
|
|
37
|
+
const HOST_RE = /^([a-z0-9.-]+|\[[0-9a-f:.]+\])$/;
|
|
38
|
+
/** A did:web host segment after decoding: a host with an optional port. */
|
|
39
|
+
const AUTHORITY_RE = /^([a-z0-9.-]+|\[[0-9a-f:.]+\])(:\d+)?$/;
|
|
40
|
+
function decodeSegment(segment) {
|
|
41
|
+
try {
|
|
42
|
+
return decodeURIComponent(segment);
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
13
48
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
49
|
+
* Parse and validate a `did:web` identifier. The first segment must
|
|
50
|
+
* percent-decode to a host with an optional port (a decoded `/`, `@`, `?` or
|
|
51
|
+
* the like is rejected — `did:web:evil.example%2F.trusted.example` names no
|
|
52
|
+
* host); every path segment must decode to a non-empty name that is not `.`
|
|
53
|
+
* or `..` and carries no `/`, so no DID maps to a URL outside its own path.
|
|
54
|
+
* Null for a non-did:web or malformed input, including invalid
|
|
55
|
+
* percent-encoding.
|
|
19
56
|
*/
|
|
20
|
-
export function
|
|
57
|
+
export function didWebParts(did) {
|
|
21
58
|
if (!did.startsWith("did:web:"))
|
|
22
59
|
return null;
|
|
23
60
|
const rest = did.slice("did:web:".length);
|
|
24
61
|
if (rest.length === 0)
|
|
25
62
|
return null;
|
|
26
63
|
const segments = rest.split(":");
|
|
27
|
-
const
|
|
28
|
-
const
|
|
29
|
-
if (
|
|
30
|
-
return
|
|
64
|
+
const hostSegment = segments[0];
|
|
65
|
+
const first = decodeSegment(hostSegment);
|
|
66
|
+
if (first === null)
|
|
67
|
+
return null;
|
|
68
|
+
const authority = first.toLowerCase();
|
|
69
|
+
if (!AUTHORITY_RE.test(authority))
|
|
70
|
+
return null;
|
|
71
|
+
const path = [];
|
|
72
|
+
for (const seg of segments.slice(1)) {
|
|
73
|
+
const decoded = decodeSegment(seg);
|
|
74
|
+
if (decoded === null || decoded.length === 0 || decoded === "." || decoded === "..") {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
if (decoded.includes("/"))
|
|
78
|
+
return null;
|
|
79
|
+
path.push(decoded);
|
|
31
80
|
}
|
|
32
|
-
return
|
|
81
|
+
return { host: authority.replace(/:\d+$/, ""), authority, hostSegment, path };
|
|
82
|
+
}
|
|
83
|
+
/** The host of a `did:web` identifier (see {@link didWebParts}); null when malformed. */
|
|
84
|
+
export function didWebHost(did) {
|
|
85
|
+
return didWebParts(did)?.host ?? null;
|
|
33
86
|
}
|
|
34
|
-
/**
|
|
87
|
+
/**
|
|
88
|
+
* Map a `did:web` identifier to its standard document URL.
|
|
89
|
+
* did:web:id.codespar.dev → https://id.codespar.dev/.well-known/did.json
|
|
90
|
+
* did:web:id.codespar.dev:org:agent → https://id.codespar.dev/org/agent/did.json
|
|
91
|
+
* Colon-separated path segments become URL path segments; a `%3A` in the domain
|
|
92
|
+
* segment decodes to a port. Returns null for a non-did:web or malformed input
|
|
93
|
+
* (see {@link didWebParts}).
|
|
94
|
+
*/
|
|
95
|
+
export function didWebToUrl(did) {
|
|
96
|
+
const parts = didWebParts(did);
|
|
97
|
+
if (!parts)
|
|
98
|
+
return null;
|
|
99
|
+
if (parts.path.length === 0) {
|
|
100
|
+
return `https://${parts.authority}/.well-known/did.json`;
|
|
101
|
+
}
|
|
102
|
+
return `https://${parts.authority}/${parts.path.map(encodeURIComponent).join("/")}/did.json`;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Parse a base URL the way the rest of the CLI does: only its origin counts,
|
|
106
|
+
* a path on it is ignored. Throws {@link DidConfigError} when it is not an
|
|
107
|
+
* absolute http(s) URL.
|
|
108
|
+
*/
|
|
109
|
+
export function parseBaseUrl(raw, what = "base URL") {
|
|
110
|
+
let u;
|
|
111
|
+
try {
|
|
112
|
+
u = new URL(raw);
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
throw new DidConfigError(`${what} must be an absolute http(s) URL, got ${JSON.stringify(raw)}`);
|
|
116
|
+
}
|
|
117
|
+
if (u.protocol !== "https:" && u.protocol !== "http:") {
|
|
118
|
+
throw new DidConfigError(`${what} must be an http(s) URL, got ${u.protocol}//`);
|
|
119
|
+
}
|
|
120
|
+
return u;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* The `/v1/agents/<did>/did.json` route at a base URL's origin. A path on the
|
|
124
|
+
* base URL is ignored, as every other CLI request ignores it.
|
|
125
|
+
*/
|
|
35
126
|
export function apiFallbackUrl(did, baseUrl) {
|
|
36
|
-
const
|
|
37
|
-
return `${
|
|
127
|
+
const origin = parseBaseUrl(baseUrl).origin;
|
|
128
|
+
return `${origin}/v1/agents/${encodeURIComponent(did)}/did.json`;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Normalise a configured identity host: a bare host or a URL, lowercased,
|
|
132
|
+
* without scheme, port, path or trailing slash. Throws {@link DidConfigError}
|
|
133
|
+
* when what remains is not a host.
|
|
134
|
+
*/
|
|
135
|
+
export function parseIdentityHost(raw) {
|
|
136
|
+
let value = raw.trim().toLowerCase();
|
|
137
|
+
if (value.includes("://")) {
|
|
138
|
+
try {
|
|
139
|
+
value = new URL(value).hostname;
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
throw new DidConfigError(`identity host must be a host or URL, got ${JSON.stringify(raw)}`);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
value = value.replace(/\/.*$/, "");
|
|
147
|
+
if (!value.startsWith("["))
|
|
148
|
+
value = value.replace(/:\d+$/, "");
|
|
149
|
+
else
|
|
150
|
+
value = value.replace(/\](:\d+)?$/, "]");
|
|
151
|
+
}
|
|
152
|
+
if (!HOST_RE.test(value)) {
|
|
153
|
+
throw new DidConfigError(`identity host must be a host or URL, got ${JSON.stringify(raw)}`);
|
|
154
|
+
}
|
|
155
|
+
return value;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* The hosts whose DID documents the API at `baseUrl` may serve: the API's own
|
|
159
|
+
* host, exactly; `id.codespar.dev` only when the base URL is the shipped
|
|
160
|
+
* default; and whatever the caller configured (`--did-domain`, config
|
|
161
|
+
* `didDomains`). Nothing is derived from domain labels — with
|
|
162
|
+
* `https://runtime.com.br` that would make every `did:web:*.com.br` the
|
|
163
|
+
* runtime's own. Throws {@link DidConfigError} on a base URL or configured
|
|
164
|
+
* host it cannot parse.
|
|
165
|
+
*/
|
|
166
|
+
export function identityHosts(baseUrl, configured = []) {
|
|
167
|
+
const hosts = new Set();
|
|
168
|
+
const host = parseBaseUrl(baseUrl).hostname.toLowerCase();
|
|
169
|
+
hosts.add(host);
|
|
170
|
+
if (host === new URL(DEFAULT_BASE_URL).hostname)
|
|
171
|
+
hosts.add(DEFAULT_IDENTITY_HOST);
|
|
172
|
+
for (const h of configured)
|
|
173
|
+
hosts.add(parseIdentityHost(h));
|
|
174
|
+
return [...hosts];
|
|
38
175
|
}
|
|
39
|
-
|
|
176
|
+
/**
|
|
177
|
+
* Whether the API at `baseUrl` may serve `did`'s document: the DID's host
|
|
178
|
+
* equals one of the identity hosts or sits under one at a label boundary.
|
|
179
|
+
* Anything else is a third-party identity the API is not an authority on.
|
|
180
|
+
*/
|
|
181
|
+
export function isOwnDid(did, baseUrl, didDomains = []) {
|
|
182
|
+
const host = didWebHost(did);
|
|
183
|
+
if (!host)
|
|
184
|
+
return false;
|
|
185
|
+
return identityHosts(baseUrl, didDomains).some((h) => host === h || host.endsWith(`.${h}`));
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Fetch a DID document. "absent" covers a non-2xx status, a network or
|
|
189
|
+
* timeout failure and a body that is not a JSON object; "document" is any
|
|
190
|
+
* JSON object, keys or not — the distinction the caller needs to tell "the
|
|
191
|
+
* domain did not answer" from "the domain answered without keys".
|
|
192
|
+
*/
|
|
193
|
+
async function fetchDocument(url, timeoutMs) {
|
|
40
194
|
const controller = new AbortController();
|
|
41
195
|
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
42
196
|
try {
|
|
@@ -45,11 +199,14 @@ async function fetchJson(url, timeoutMs) {
|
|
|
45
199
|
signal: controller.signal,
|
|
46
200
|
});
|
|
47
201
|
if (!res.ok)
|
|
48
|
-
return
|
|
49
|
-
|
|
202
|
+
return { kind: "absent" };
|
|
203
|
+
const doc = (await res.json());
|
|
204
|
+
if (!doc || typeof doc !== "object" || Array.isArray(doc))
|
|
205
|
+
return { kind: "absent" };
|
|
206
|
+
return { kind: "document", doc: doc };
|
|
50
207
|
}
|
|
51
208
|
catch {
|
|
52
|
-
return
|
|
209
|
+
return { kind: "absent" };
|
|
53
210
|
}
|
|
54
211
|
finally {
|
|
55
212
|
clearTimeout(timer);
|
|
@@ -76,31 +233,95 @@ function keysFromDocument(doc) {
|
|
|
76
233
|
}
|
|
77
234
|
return keys;
|
|
78
235
|
}
|
|
236
|
+
function describe(what, url, outcome) {
|
|
237
|
+
return outcome === "unreachable"
|
|
238
|
+
? `${what} at ${url} could not be fetched`
|
|
239
|
+
: `${what} at ${url} answered a document with no Ed25519 key`;
|
|
240
|
+
}
|
|
79
241
|
/**
|
|
80
|
-
* Resolve a `did:web` identifier to its Ed25519 public keys.
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
242
|
+
* Resolve a `did:web` identifier to its Ed25519 public keys.
|
|
243
|
+
*
|
|
244
|
+
* Order: the standard did:web URL; then, only if that document could not be
|
|
245
|
+
* fetched at all, the explicit resolver when one is given; then the API's own
|
|
246
|
+
* route when the DID is under one of the deployment's identity hosts. A
|
|
247
|
+
* fetched standard document without keys ends the resolution with no keys.
|
|
248
|
+
* Keys matching `preferredKid` are ordered first so the caller can verify
|
|
249
|
+
* against the exact signing key when the token names one.
|
|
250
|
+
*
|
|
251
|
+
* Throws {@link DidConfigError} before any request when `baseUrl`,
|
|
252
|
+
* `resolverUrl` or a configured identity host cannot be parsed.
|
|
85
253
|
*/
|
|
86
254
|
export async function resolveDidKeys(did, opts = {}) {
|
|
87
|
-
const baseUrl = opts.baseUrl ??
|
|
255
|
+
const baseUrl = opts.baseUrl ?? DEFAULT_BASE_URL;
|
|
88
256
|
const timeoutMs = opts.timeoutMs ?? 15_000;
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
257
|
+
const hosts = identityHosts(baseUrl, opts.didDomains);
|
|
258
|
+
if (opts.resolverUrl !== undefined)
|
|
259
|
+
parseBaseUrl(opts.resolverUrl, "resolver URL");
|
|
260
|
+
const tried = [];
|
|
261
|
+
const reasons = [];
|
|
262
|
+
const ordered = (keys) => {
|
|
263
|
+
if (opts.preferredKid) {
|
|
264
|
+
keys.sort((a, b) => a.kid === opts.preferredKid ? -1 : b.kid === opts.preferredKid ? 1 : 0);
|
|
265
|
+
}
|
|
266
|
+
return keys;
|
|
267
|
+
};
|
|
268
|
+
const found = (source, keys, url) => ({
|
|
269
|
+
keys: ordered(keys),
|
|
270
|
+
source,
|
|
271
|
+
detail: `${keys.length} Ed25519 key(s) from ${url}`,
|
|
272
|
+
tried,
|
|
273
|
+
});
|
|
274
|
+
const none = (extra) => ({
|
|
275
|
+
keys: [],
|
|
276
|
+
source: null,
|
|
277
|
+
detail: [...reasons, ...(extra ? [extra] : [])].join("; "),
|
|
278
|
+
tried,
|
|
279
|
+
});
|
|
280
|
+
const consult = async (what, url) => {
|
|
281
|
+
tried.push(url);
|
|
282
|
+
const fetched = await fetchDocument(url, timeoutMs);
|
|
283
|
+
if (fetched.kind === "absent") {
|
|
284
|
+
reasons.push(describe(what, url, "unreachable"));
|
|
285
|
+
return { keys: [], outcome: "unreachable" };
|
|
286
|
+
}
|
|
287
|
+
const keys = keysFromDocument(fetched.doc);
|
|
288
|
+
if (keys.length === 0) {
|
|
289
|
+
reasons.push(describe(what, url, "keyless"));
|
|
290
|
+
return { keys, outcome: "keyless" };
|
|
102
291
|
}
|
|
292
|
+
return { keys, outcome: "keys" };
|
|
293
|
+
};
|
|
294
|
+
const standard = didWebToUrl(did);
|
|
295
|
+
if (!standard) {
|
|
296
|
+
reasons.push(did.startsWith("did:web:")
|
|
297
|
+
? `${did} is not a well-formed did:web identifier`
|
|
298
|
+
: `${did} is not a did:web identifier`);
|
|
299
|
+
return none();
|
|
300
|
+
}
|
|
301
|
+
const primary = await consult("the DID document", standard);
|
|
302
|
+
if (primary.outcome === "keys")
|
|
303
|
+
return found("did:web", primary.keys, standard);
|
|
304
|
+
if (primary.outcome === "keyless") {
|
|
305
|
+
return none("that is the domain's answer, so no other source was consulted");
|
|
306
|
+
}
|
|
307
|
+
if (opts.resolverUrl !== undefined) {
|
|
308
|
+
const url = apiFallbackUrl(did, opts.resolverUrl);
|
|
309
|
+
const viaResolver = await consult("the resolver", url);
|
|
310
|
+
if (viaResolver.outcome === "keys")
|
|
311
|
+
return found("resolver", viaResolver.keys, url);
|
|
312
|
+
}
|
|
313
|
+
if (isOwnDid(did, baseUrl, opts.didDomains)) {
|
|
314
|
+
const url = apiFallbackUrl(did, baseUrl);
|
|
315
|
+
const viaApi = await consult("the API route", url);
|
|
316
|
+
if (viaApi.outcome === "keys")
|
|
317
|
+
return found("fallback", viaApi.keys, url);
|
|
318
|
+
return none();
|
|
103
319
|
}
|
|
104
|
-
|
|
320
|
+
const host = didWebHost(did) ?? did;
|
|
321
|
+
return none(`${host} is not one of this deployment's identity hosts (${hosts.join(", ")}), so the API ` +
|
|
322
|
+
`was not consulted for it` +
|
|
323
|
+
(opts.resolverUrl === undefined
|
|
324
|
+
? ` (--resolver <url> opts into a resolver; --did-domain <host> declares an identity host)`
|
|
325
|
+
: ` (--did-domain <host> declares an identity host)`));
|
|
105
326
|
}
|
|
106
327
|
//# sourceMappingURL=did.js.map
|
package/dist/did.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"did.js","sourceRoot":"","sources":["../src/did.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"did.js","sourceRoot":"","sources":["../src/did.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -16,6 +16,7 @@ import { chargeCommand } from "./commands/charge.js";
|
|
|
16
16
|
import { spendCommand } from "./commands/spend.js";
|
|
17
17
|
import { mandateCreateCommand } from "./commands/mandate.js";
|
|
18
18
|
import { mandateVerifyCommand } from "./commands/mandate-verify.js";
|
|
19
|
+
import { DEFAULT_BASE_URL } from "./did.js";
|
|
19
20
|
import { mandateRevokeCommand } from "./commands/mandate-revoke.js";
|
|
20
21
|
import { agentRunCommand, evalCommand } from "./commands/agent.js";
|
|
21
22
|
import { walletCommand } from "./commands/wallet.js";
|
|
@@ -52,7 +53,7 @@ async function resolveAuth() {
|
|
|
52
53
|
const root = program.opts();
|
|
53
54
|
return {
|
|
54
55
|
apiKey: root.apiKey ?? requireApiKey(config),
|
|
55
|
-
baseUrl: root.baseUrl ?? config.baseUrl ??
|
|
56
|
+
baseUrl: root.baseUrl ?? config.baseUrl ?? DEFAULT_BASE_URL,
|
|
56
57
|
project: root.project ?? config.project,
|
|
57
58
|
};
|
|
58
59
|
}
|
|
@@ -349,13 +350,24 @@ mandate
|
|
|
349
350
|
.option("--agent-pubkey <hex>", "Raw 32-byte Ed25519 agent public key (hex). Forces pure-offline verification (no network).")
|
|
350
351
|
.option("--issuer-pubkey <hex>", "Raw 32-byte Ed25519 issuer public key (hex). Forces pure-offline verification (no network).")
|
|
351
352
|
.option("--issuer-did <did>", "Issuer DID for network mode (default: did:web derived from the agent DID host)")
|
|
353
|
+
.option("--resolver <url>", "Network mode: resolver consulted for any DID whose did:web document is unreachable. " +
|
|
354
|
+
"Without it, only DIDs under the deployment's identity hosts fall back to the API.")
|
|
355
|
+
.option("--did-domain <host>", "Identity host the API's DID route may answer for (repeatable; adds to config didDomains / " +
|
|
356
|
+
"CODESPAR_DID_DOMAINS). Built in: the API host, plus id.codespar.dev for the default API.", collect, [])
|
|
352
357
|
.action(async (token, opts) => {
|
|
353
|
-
// Offline verification needs no API key — resolve the base URL (
|
|
354
|
-
//
|
|
358
|
+
// Offline verification needs no API key — resolve the base URL (whose
|
|
359
|
+
// DID route serves the deployment's identity hosts) from flags/env/config
|
|
360
|
+
// without requiring auth.
|
|
355
361
|
const config = await loadConfig();
|
|
356
362
|
const root = program.opts();
|
|
357
|
-
const baseUrl = root.baseUrl ?? config.baseUrl ??
|
|
358
|
-
|
|
363
|
+
const baseUrl = root.baseUrl ?? config.baseUrl ?? DEFAULT_BASE_URL;
|
|
364
|
+
const { didDomain, ...rest } = opts;
|
|
365
|
+
await mandateVerifyCommand(token, {
|
|
366
|
+
...rest,
|
|
367
|
+
didDomains: [...(config.didDomains ?? []), ...didDomain],
|
|
368
|
+
baseUrl,
|
|
369
|
+
json: rootJsonFlag(),
|
|
370
|
+
});
|
|
359
371
|
});
|
|
360
372
|
mandate
|
|
361
373
|
.command("revoke <id>")
|
|
@@ -504,7 +516,9 @@ logs
|
|
|
504
516
|
// Both commands delegate to the agent directory's own npm scripts, so the
|
|
505
517
|
// output — and the exit code — are the agent's. `agent run` in particular
|
|
506
518
|
// must equal `npm start -- --input` in that directory (spec v5.1.1 §15).
|
|
507
|
-
const agent = program
|
|
519
|
+
const agent = program
|
|
520
|
+
.command("agent")
|
|
521
|
+
.description("Run an agent directory: reads its agent.yaml (schema 1) and delegates to the directory's own npm start");
|
|
508
522
|
agent
|
|
509
523
|
.command("run <dir>")
|
|
510
524
|
.description("Run one turn of the agent (or its interactive terminal, without --input) via its own `npm start`")
|
|
@@ -522,10 +536,11 @@ program
|
|
|
522
536
|
});
|
|
523
537
|
// ============ init ============
|
|
524
538
|
program
|
|
525
|
-
.command("init
|
|
539
|
+
.command("init [name]")
|
|
526
540
|
.description("Scaffold a new commerce agent from a template")
|
|
527
|
-
.option("-t, --template <slug>", "Template slug (pix-agent, ecommerce-checkout, streaming-chat, multi-tenant)")
|
|
541
|
+
.option("-t, --template <slug>", "Template slug: a framework template (pix-agent, ecommerce-checkout, streaming-chat, multi-tenant) or a starter-kit agent (bills-agent, collections-agent); `--list` shows them all")
|
|
528
542
|
.option("-y, --yes", "Use default template without prompting")
|
|
543
|
+
.option("-l, --list", "List the available templates, with a one-line description each, and exit")
|
|
529
544
|
.action(async (name, opts) => {
|
|
530
545
|
await initCommand(name, { ...opts, json: rootJsonFlag() });
|
|
531
546
|
});
|