@agent-workspace/cli 0.2.0 → 0.4.0

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.
Files changed (78) hide show
  1. package/README.md +100 -0
  2. package/dist/commands/artifact.d.ts +1 -0
  3. package/dist/commands/artifact.d.ts.map +1 -1
  4. package/dist/commands/artifact.js +76 -15
  5. package/dist/commands/artifact.js.map +1 -1
  6. package/dist/commands/contract.d.ts +32 -0
  7. package/dist/commands/contract.d.ts.map +1 -0
  8. package/dist/commands/contract.js +237 -0
  9. package/dist/commands/contract.js.map +1 -0
  10. package/dist/commands/identity.d.ts.map +1 -1
  11. package/dist/commands/identity.js +3 -2
  12. package/dist/commands/identity.js.map +1 -1
  13. package/dist/commands/init.d.ts.map +1 -1
  14. package/dist/commands/init.js +6 -0
  15. package/dist/commands/init.js.map +1 -1
  16. package/dist/commands/inspect.d.ts.map +1 -1
  17. package/dist/commands/inspect.js +30 -0
  18. package/dist/commands/inspect.js.map +1 -1
  19. package/dist/commands/memory.d.ts +12 -1
  20. package/dist/commands/memory.d.ts.map +1 -1
  21. package/dist/commands/memory.js +72 -18
  22. package/dist/commands/memory.js.map +1 -1
  23. package/dist/commands/project.d.ts +23 -0
  24. package/dist/commands/project.d.ts.map +1 -0
  25. package/dist/commands/project.js +181 -0
  26. package/dist/commands/project.js.map +1 -0
  27. package/dist/commands/reputation.d.ts +25 -0
  28. package/dist/commands/reputation.d.ts.map +1 -0
  29. package/dist/commands/reputation.js +227 -0
  30. package/dist/commands/reputation.js.map +1 -0
  31. package/dist/commands/status.d.ts +5 -0
  32. package/dist/commands/status.d.ts.map +1 -0
  33. package/dist/commands/status.js +182 -0
  34. package/dist/commands/status.js.map +1 -0
  35. package/dist/commands/task.d.ts +33 -0
  36. package/dist/commands/task.d.ts.map +1 -0
  37. package/dist/commands/task.js +282 -0
  38. package/dist/commands/task.js.map +1 -0
  39. package/dist/commands/validate.d.ts +3 -1
  40. package/dist/commands/validate.d.ts.map +1 -1
  41. package/dist/commands/validate.js +101 -3
  42. package/dist/commands/validate.js.map +1 -1
  43. package/dist/index.js +146 -20
  44. package/dist/index.js.map +1 -1
  45. package/dist/lib/artifact.d.ts.map +1 -1
  46. package/dist/lib/artifact.js.map +1 -1
  47. package/dist/lib/artifact.test.d.ts +2 -0
  48. package/dist/lib/artifact.test.d.ts.map +1 -0
  49. package/dist/lib/artifact.test.js +41 -0
  50. package/dist/lib/artifact.test.js.map +1 -0
  51. package/dist/lib/contract.d.ts +27 -0
  52. package/dist/lib/contract.d.ts.map +1 -0
  53. package/dist/lib/contract.js +83 -0
  54. package/dist/lib/contract.js.map +1 -0
  55. package/dist/lib/project.d.ts +54 -0
  56. package/dist/lib/project.d.ts.map +1 -0
  57. package/dist/lib/project.js +153 -0
  58. package/dist/lib/project.js.map +1 -0
  59. package/dist/lib/reputation.d.ts +36 -0
  60. package/dist/lib/reputation.d.ts.map +1 -0
  61. package/dist/lib/reputation.js +101 -0
  62. package/dist/lib/reputation.js.map +1 -0
  63. package/dist/lib/reputation.test.d.ts +2 -0
  64. package/dist/lib/reputation.test.d.ts.map +1 -0
  65. package/dist/lib/reputation.test.js +112 -0
  66. package/dist/lib/reputation.test.js.map +1 -0
  67. package/dist/lib/schema.d.ts.map +1 -1
  68. package/dist/lib/schema.js +9 -5
  69. package/dist/lib/schema.js.map +1 -1
  70. package/dist/lib/workspace.d.ts +1 -1
  71. package/dist/lib/workspace.d.ts.map +1 -1
  72. package/dist/lib/workspace.js +1 -1
  73. package/dist/lib/workspace.js.map +1 -1
  74. package/dist/lib/workspace.test.d.ts +2 -0
  75. package/dist/lib/workspace.test.d.ts.map +1 -0
  76. package/dist/lib/workspace.test.js +36 -0
  77. package/dist/lib/workspace.test.js.map +1 -0
  78. package/package.json +7 -2
package/README.md ADDED
@@ -0,0 +1,100 @@
1
+ # @agent-workspace/cli
2
+
3
+ CLI for the [Agent Workspace Protocol](https://github.com/marcoloco23/awp) — create, validate, and manage agent workspaces from the terminal.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ npm install -g @agent-workspace/cli
9
+ ```
10
+
11
+ ## Commands
12
+
13
+ ### Workspace
14
+
15
+ ```bash
16
+ # Scaffold a new agent workspace
17
+ awp init
18
+
19
+ # Validate workspace structure and schemas
20
+ awp validate
21
+
22
+ # Inspect workspace summary
23
+ awp inspect
24
+ ```
25
+
26
+ ### Identity
27
+
28
+ ```bash
29
+ # Generate a did:key identity
30
+ awp identity generate
31
+
32
+ # Export as A2A-compatible Agent Card (JSON)
33
+ awp identity export
34
+ ```
35
+
36
+ ### Memory
37
+
38
+ ```bash
39
+ # Log a memory entry
40
+ awp memory log --tag learning --tag architecture \
41
+ "Discovered that the auth service uses JWT with RS256"
42
+
43
+ # Search memory
44
+ awp memory search "auth"
45
+ ```
46
+
47
+ ### Artifacts (SMP)
48
+
49
+ Versioned knowledge documents with provenance tracking and confidence scores.
50
+
51
+ ```bash
52
+ # Create a new artifact
53
+ awp artifact create llm-research --title "LLM Context Research" --tags ai,research
54
+
55
+ # Edit the markdown body, then commit the change
56
+ awp artifact commit llm-research -m "Added benchmark comparison"
57
+
58
+ # List all artifacts
59
+ awp artifact list
60
+
61
+ # Filter by tag
62
+ awp artifact list --tag ai
63
+
64
+ # Search content, titles, and tags
65
+ awp artifact search "context window"
66
+
67
+ # View provenance history
68
+ awp artifact log llm-research
69
+
70
+ # Merge one artifact into another (additive)
71
+ awp artifact merge target-slug source-slug
72
+ ```
73
+
74
+ ## What It Creates
75
+
76
+ ```
77
+ your-agent/
78
+ .awp/workspace.json # Workspace manifest
79
+ IDENTITY.md # Who the agent is
80
+ SOUL.md # How the agent behaves
81
+ USER.md # Human profile
82
+ memory/ # Structured daily logs
83
+ artifacts/ # Knowledge artifacts
84
+ ```
85
+
86
+ Every file is valid Markdown with structured YAML frontmatter — human-readable and machine-parseable.
87
+
88
+ ## Part of AWP
89
+
90
+ This package is part of the [Agent Workspace Protocol](https://github.com/marcoloco23/awp) monorepo:
91
+
92
+ | Package | Description |
93
+ |---------|-------------|
94
+ | [@agent-workspace/core](https://www.npmjs.com/package/@agent-workspace/core) | Types, constants, JSON schemas |
95
+ | **@agent-workspace/cli** | CLI tool |
96
+ | [@agent-workspace/mcp-server](https://www.npmjs.com/package/@agent-workspace/mcp-server) | MCP server |
97
+
98
+ ## License
99
+
100
+ Apache-2.0
@@ -14,5 +14,6 @@ export declare function artifactListCommand(options: {
14
14
  export declare function artifactSearchCommand(query: string): Promise<void>;
15
15
  export declare function artifactMergeCommand(targetSlug: string, sourceSlug: string, options: {
16
16
  message?: string;
17
+ strategy?: string;
17
18
  }): Promise<void>;
18
19
  //# sourceMappingURL=artifact.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../../src/commands/artifact.ts"],"names":[],"mappings":"AAsBA,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9D,OAAO,CAAC,IAAI,CAAC,CAoEf;AAID,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD,OAAO,CAAC,IAAI,CAAC,CA4Cf;AAID,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCpE;AAID,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,IAAI,CAAC,CA0ChB;AAID,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2CxE;AAID,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5B,OAAO,CAAC,IAAI,CAAC,CA+Ef"}
1
+ {"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../../src/commands/artifact.ts"],"names":[],"mappings":"AAmBA,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9D,OAAO,CAAC,IAAI,CAAC,CAgEf;AAID,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD,OAAO,CAAC,IAAI,CAAC,CA4Cf;AAID,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BpE;AAID,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoClF;AAID,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCxE;AA2CD,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,OAAO,CAAC,IAAI,CAAC,CAyHf"}
@@ -1,9 +1,10 @@
1
1
  import { mkdir } from "node:fs/promises";
2
2
  import { join } from "node:path";
3
- import { AWP_VERSION, SMP_VERSION, ARTIFACTS_DIR, } from "@agent-workspace/core";
3
+ import { AWP_VERSION, SMP_VERSION, ARTIFACTS_DIR } from "@agent-workspace/core";
4
4
  import { findWorkspaceRoot } from "../lib/workspace.js";
5
5
  import { writeWorkspaceFile } from "../lib/frontmatter.js";
6
6
  import { validateSlug, idFromSlug, slugFromId, slugToPath, loadArtifact, listArtifacts, getAgentDid, } from "../lib/artifact.js";
7
+ import { listProfiles, computeDecayedScore } from "../lib/reputation.js";
7
8
  // --- awp artifact create ---
8
9
  export async function artifactCreateCommand(slug, options) {
9
10
  const root = await findWorkspaceRoot();
@@ -33,9 +34,7 @@ export async function artifactCreateCommand(slug, options) {
33
34
  .split("-")
34
35
  .map((w) => w.charAt(0).toUpperCase() + w.slice(1))
35
36
  .join(" ");
36
- const tags = options.tags
37
- ? options.tags.split(",").map((t) => t.trim())
38
- : undefined;
37
+ const tags = options.tags ? options.tags.split(",").map((t) => t.trim()) : undefined;
39
38
  const frontmatter = {
40
39
  awp: AWP_VERSION,
41
40
  smp: SMP_VERSION,
@@ -157,9 +156,7 @@ export async function artifactListCommand(options) {
157
156
  for (const a of artifacts) {
158
157
  const fm = a.frontmatter;
159
158
  const slug = slugFromId(fm.id);
160
- const title = fm.title.length > titleW - 2
161
- ? fm.title.slice(0, titleW - 4) + ".."
162
- : fm.title;
159
+ const title = fm.title.length > titleW - 2 ? fm.title.slice(0, titleW - 4) + ".." : fm.title;
163
160
  const conf = fm.confidence !== undefined ? fm.confidence.toFixed(2) : "-";
164
161
  const tags = fm.tags?.join(", ") || "";
165
162
  console.log(`${slug.padEnd(slugW)}${title.padEnd(titleW)}${String(fm.version).padEnd(4)}${conf.padEnd(6)}${tags}`);
@@ -203,12 +200,47 @@ export async function artifactSearchCommand(query) {
203
200
  }
204
201
  }
205
202
  // --- awp artifact merge ---
203
+ /**
204
+ * Look up the domain reputation score for an agent DID.
205
+ * Scans all reputation profiles to find one matching the DID,
206
+ * then returns the highest decayed domainCompetence score for
207
+ * any of the given tags.
208
+ */
209
+ async function getAuthorityScore(root, authorDid, sharedTags, now) {
210
+ const profiles = await listProfiles(root);
211
+ // Find a profile matching this DID
212
+ const profile = profiles.find((p) => p.frontmatter.agentDid === authorDid);
213
+ if (!profile)
214
+ return { score: 0, slug: null };
215
+ const fm = profile.frontmatter;
216
+ const slug = fm.id.replace("reputation:", "");
217
+ let bestScore = 0;
218
+ // Check domainCompetence for any shared tag
219
+ for (const tag of sharedTags) {
220
+ const dim = fm.domainCompetence?.[tag];
221
+ if (dim) {
222
+ const decayed = computeDecayedScore(dim, now);
223
+ if (decayed > bestScore)
224
+ bestScore = decayed;
225
+ }
226
+ }
227
+ // If no domain match, fall back to general reliability
228
+ if (bestScore === 0 && fm.dimensions?.reliability) {
229
+ bestScore = computeDecayedScore(fm.dimensions.reliability, now);
230
+ }
231
+ return { score: bestScore, slug };
232
+ }
206
233
  export async function artifactMergeCommand(targetSlug, sourceSlug, options) {
207
234
  const root = await findWorkspaceRoot();
208
235
  if (!root) {
209
236
  console.error("Error: Not in an AWP workspace.");
210
237
  process.exit(1);
211
238
  }
239
+ const strategy = options.strategy || "additive";
240
+ if (strategy !== "additive" && strategy !== "authority") {
241
+ console.error(`Error: Unknown merge strategy "${strategy}". Use "additive" or "authority".`);
242
+ process.exit(1);
243
+ }
212
244
  let target, source;
213
245
  try {
214
246
  target = await loadArtifact(root, targetSlug);
@@ -227,12 +259,41 @@ export async function artifactMergeCommand(targetSlug, sourceSlug, options) {
227
259
  return;
228
260
  }
229
261
  const did = await getAgentDid(root);
230
- const now = new Date().toISOString();
262
+ const now = new Date();
263
+ const nowIso = now.toISOString();
231
264
  const tfm = target.frontmatter;
232
265
  const sfm = source.frontmatter;
233
- // Append source body with attribution
234
- const separator = `\n---\n*Merged from ${sfm.id} (version ${sfm.version}) on ${now}*\n\n`;
235
- target.body += separator + source.body.trim() + "\n";
266
+ if (strategy === "authority") {
267
+ // Authority merge: use reputation to determine ordering
268
+ const sharedTags = (tfm.tags ?? []).filter((t) => (sfm.tags ?? []).includes(t));
269
+ if (sharedTags.length === 0) {
270
+ console.log("Warning: No shared tags between artifacts. Using reliability dimension as fallback.");
271
+ }
272
+ const targetAuthor = tfm.authors[0] || "anonymous";
273
+ const sourceAuthor = sfm.authors[0] || "anonymous";
274
+ const targetAuth = await getAuthorityScore(root, targetAuthor, sharedTags, now);
275
+ const sourceAuth = await getAuthorityScore(root, sourceAuthor, sharedTags, now);
276
+ // Determine who is higher-authority
277
+ const targetIsHigher = targetAuth.score >= sourceAuth.score;
278
+ const higherBody = targetIsHigher ? target.body.trim() : source.body.trim();
279
+ const lowerBody = targetIsHigher ? source.body.trim() : target.body.trim();
280
+ const lowerAuthor = targetIsHigher ? sourceAuthor : targetAuthor;
281
+ const lowerScore = targetIsHigher ? sourceAuth.score : targetAuth.score;
282
+ const higherScore = targetIsHigher ? targetAuth.score : sourceAuth.score;
283
+ target.body =
284
+ higherBody +
285
+ `\n\n---\n*Authority merge: content below from ${lowerAuthor}` +
286
+ ` (authority score: ${lowerScore.toFixed(2)} vs ${higherScore.toFixed(2)})*\n\n` +
287
+ lowerBody +
288
+ "\n";
289
+ console.log(`Authority merge: ${targetIsHigher ? "target" : "source"} has higher authority` +
290
+ ` (${higherScore.toFixed(2)} vs ${lowerScore.toFixed(2)})`);
291
+ }
292
+ else {
293
+ // Additive merge (original behavior)
294
+ const separator = `\n---\n*Merged from ${sfm.id} (version ${sfm.version}) on ${nowIso}*\n\n`;
295
+ target.body += separator + source.body.trim() + "\n";
296
+ }
236
297
  // Union authors
237
298
  for (const author of sfm.authors) {
238
299
  if (!tfm.authors.includes(author)) {
@@ -261,17 +322,17 @@ export async function artifactMergeCommand(targetSlug, sourceSlug, options) {
261
322
  }
262
323
  // Bump version and provenance
263
324
  tfm.version += 1;
264
- tfm.lastModified = now;
325
+ tfm.lastModified = nowIso;
265
326
  tfm.modifiedBy = did;
266
- const msg = options.message || `Merged from ${sfm.id} (version ${sfm.version})`;
327
+ const msg = options.message || `Merged from ${sfm.id} (version ${sfm.version}, strategy: ${strategy})`;
267
328
  tfm.provenance.push({
268
329
  agent: did,
269
330
  action: "merged",
270
- timestamp: now,
331
+ timestamp: nowIso,
271
332
  message: msg,
272
333
  confidence: tfm.confidence,
273
334
  });
274
335
  await writeWorkspaceFile(target);
275
- console.log(`Merged ${sfm.id} into ${tfm.id} (now version ${tfm.version})`);
336
+ console.log(`Merged ${sfm.id} into ${tfm.id} (now version ${tfm.version}, strategy: ${strategy})`);
276
337
  }
277
338
  //# sourceMappingURL=artifact.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../src/commands/artifact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../src/commands/artifact.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * awp contract create <slug>
3
+ */
4
+ export declare function contractCreateCommand(slug: string, options: {
5
+ delegate: string;
6
+ delegateSlug: string;
7
+ description: string;
8
+ delegator?: string;
9
+ deadline?: string;
10
+ outputFormat?: string;
11
+ outputSlug?: string;
12
+ }): Promise<void>;
13
+ /**
14
+ * awp contract list
15
+ */
16
+ export declare function contractListCommand(options: {
17
+ status?: string;
18
+ }): Promise<void>;
19
+ /**
20
+ * awp contract show <slug>
21
+ */
22
+ export declare function contractShowCommand(slug: string): Promise<void>;
23
+ /**
24
+ * awp contract evaluate <slug>
25
+ */
26
+ export declare function contractEvaluateCommand(slug: string, options: {
27
+ completeness?: string;
28
+ accuracy?: string;
29
+ clarity?: string;
30
+ timeliness?: string;
31
+ }): Promise<void>;
32
+ //# sourceMappingURL=contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/commands/contract.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IACP,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACA,OAAO,CAAC,IAAI,CAAC,CAyDf;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BrF;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DrE;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IACP,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACA,OAAO,CAAC,IAAI,CAAC,CA4Ff"}
@@ -0,0 +1,237 @@
1
+ import { writeFile, mkdir } from "node:fs/promises";
2
+ import { join } from "node:path";
3
+ import { AWP_VERSION, RDP_VERSION, CONTRACTS_DIR } from "@agent-workspace/core";
4
+ import { findWorkspaceRoot } from "../lib/workspace.js";
5
+ import { serializeWorkspaceFile } from "../lib/frontmatter.js";
6
+ import { validateSlug, slugToContractPath, loadContract, listContracts, evaluateContract, } from "../lib/contract.js";
7
+ import { getAgentDid } from "../lib/artifact.js";
8
+ import { loadProfile, updateDimension } from "../lib/reputation.js";
9
+ /**
10
+ * awp contract create <slug>
11
+ */
12
+ export async function contractCreateCommand(slug, options) {
13
+ const root = await findWorkspaceRoot();
14
+ if (!root) {
15
+ console.error("Not in an AWP workspace.");
16
+ process.exit(1);
17
+ }
18
+ if (!validateSlug(slug)) {
19
+ console.error(`Invalid slug: ${slug} (must be lowercase alphanumeric + hyphens)`);
20
+ process.exit(1);
21
+ }
22
+ const delegatorDid = options.delegator || (await getAgentDid(root));
23
+ const now = new Date().toISOString();
24
+ const fm = {
25
+ awp: AWP_VERSION,
26
+ rdp: RDP_VERSION,
27
+ type: "delegation-contract",
28
+ id: `contract:${slug}`,
29
+ status: "active",
30
+ delegator: delegatorDid,
31
+ delegate: options.delegate,
32
+ delegateSlug: options.delegateSlug,
33
+ created: now,
34
+ task: {
35
+ description: options.description,
36
+ },
37
+ evaluation: {
38
+ criteria: {
39
+ completeness: 0.3,
40
+ accuracy: 0.4,
41
+ clarity: 0.2,
42
+ timeliness: 0.1,
43
+ },
44
+ result: null,
45
+ },
46
+ };
47
+ if (options.deadline)
48
+ fm.deadline = options.deadline;
49
+ if (options.outputFormat)
50
+ fm.task.outputFormat = options.outputFormat;
51
+ if (options.outputSlug)
52
+ fm.task.outputSlug = options.outputSlug;
53
+ const body = `# ${slug} — Delegation Contract\n\n` +
54
+ `Delegated to ${options.delegateSlug}: ${options.description}\n\n` +
55
+ `## Status\nActive — awaiting completion.`;
56
+ await mkdir(join(root, CONTRACTS_DIR), { recursive: true });
57
+ const filePath = slugToContractPath(root, slug);
58
+ const content = serializeWorkspaceFile({
59
+ frontmatter: fm,
60
+ body,
61
+ filePath,
62
+ });
63
+ await writeFile(filePath, content, "utf-8");
64
+ console.log(`Created contracts/${slug}.md (status: active)`);
65
+ }
66
+ /**
67
+ * awp contract list
68
+ */
69
+ export async function contractListCommand(options) {
70
+ const root = await findWorkspaceRoot();
71
+ if (!root) {
72
+ console.error("Not in an AWP workspace.");
73
+ process.exit(1);
74
+ }
75
+ let contracts = await listContracts(root);
76
+ if (options.status) {
77
+ contracts = contracts.filter((c) => c.frontmatter.status === options.status);
78
+ }
79
+ if (contracts.length === 0) {
80
+ console.log(options.status ? `No contracts with status: ${options.status}` : "No contracts found.");
81
+ return;
82
+ }
83
+ const header = "SLUG DELEGATE STATUS CREATED";
84
+ console.log(header);
85
+ console.log("-".repeat(header.length));
86
+ for (const c of contracts) {
87
+ const fm = c.frontmatter;
88
+ const slug = fm.id.replace("contract:", "");
89
+ const date = fm.created.split("T")[0];
90
+ console.log(`${slug.padEnd(20)} ${fm.delegateSlug.padEnd(20)} ${fm.status.padEnd(11)} ${date}`);
91
+ }
92
+ }
93
+ /**
94
+ * awp contract show <slug>
95
+ */
96
+ export async function contractShowCommand(slug) {
97
+ const root = await findWorkspaceRoot();
98
+ if (!root) {
99
+ console.error("Not in an AWP workspace.");
100
+ process.exit(1);
101
+ }
102
+ let contract;
103
+ try {
104
+ contract = await loadContract(root, slug);
105
+ }
106
+ catch {
107
+ console.error(`Contract not found: ${slug}`);
108
+ process.exit(1);
109
+ }
110
+ const fm = contract.frontmatter;
111
+ console.log(`Contract: ${fm.id}`);
112
+ console.log(`Status: ${fm.status}`);
113
+ console.log(`Created: ${fm.created}`);
114
+ if (fm.deadline)
115
+ console.log(`Deadline: ${fm.deadline}`);
116
+ console.log("");
117
+ console.log(`Delegator: ${fm.delegator}`);
118
+ console.log(`Delegate: ${fm.delegate} (${fm.delegateSlug})`);
119
+ console.log("");
120
+ console.log("Task");
121
+ console.log("----");
122
+ console.log(` ${fm.task.description}`);
123
+ if (fm.task.outputFormat)
124
+ console.log(` Output: ${fm.task.outputFormat}`);
125
+ if (fm.task.outputSlug)
126
+ console.log(` Artifact: ${fm.task.outputSlug}`);
127
+ if (fm.scope) {
128
+ console.log("");
129
+ console.log("Scope");
130
+ console.log("-----");
131
+ if (fm.scope.include?.length) {
132
+ console.log(" Include:");
133
+ fm.scope.include.forEach((s) => console.log(` - ${s}`));
134
+ }
135
+ if (fm.scope.exclude?.length) {
136
+ console.log(" Exclude:");
137
+ fm.scope.exclude.forEach((s) => console.log(` - ${s}`));
138
+ }
139
+ }
140
+ console.log("");
141
+ console.log("Evaluation Criteria");
142
+ console.log("-------------------");
143
+ for (const [name, weight] of Object.entries(fm.evaluation.criteria)) {
144
+ const result = fm.evaluation.result?.[name];
145
+ const resultStr = result !== undefined ? ` → ${result.toFixed(2)}` : "";
146
+ console.log(` ${name}: ${(weight * 100).toFixed(0)}%${resultStr}`);
147
+ }
148
+ if (fm.evaluation.result) {
149
+ let weighted = 0;
150
+ for (const [name, weight] of Object.entries(fm.evaluation.criteria)) {
151
+ weighted += weight * (fm.evaluation.result[name] || 0);
152
+ }
153
+ console.log("");
154
+ console.log(`Weighted Score: ${weighted.toFixed(3)}`);
155
+ }
156
+ }
157
+ /**
158
+ * awp contract evaluate <slug>
159
+ */
160
+ export async function contractEvaluateCommand(slug, options) {
161
+ const root = await findWorkspaceRoot();
162
+ if (!root) {
163
+ console.error("Not in an AWP workspace.");
164
+ process.exit(1);
165
+ }
166
+ let contract;
167
+ try {
168
+ contract = await loadContract(root, slug);
169
+ }
170
+ catch {
171
+ console.error(`Contract not found: ${slug}`);
172
+ process.exit(1);
173
+ }
174
+ const fm = contract.frontmatter;
175
+ if (fm.status === "evaluated") {
176
+ console.error("Contract has already been evaluated.");
177
+ process.exit(1);
178
+ }
179
+ // Build scores from options and criteria
180
+ const scores = {};
181
+ const criteriaNames = Object.keys(fm.evaluation.criteria);
182
+ // Map known CLI options
183
+ const optionMap = {
184
+ completeness: options.completeness,
185
+ accuracy: options.accuracy,
186
+ clarity: options.clarity,
187
+ timeliness: options.timeliness,
188
+ };
189
+ for (const name of criteriaNames) {
190
+ const val = optionMap[name];
191
+ if (val === undefined) {
192
+ console.error(`Missing score for criterion: ${name}. Use --${name} <0-1>`);
193
+ process.exit(1);
194
+ }
195
+ const num = parseFloat(val);
196
+ if (isNaN(num) || num < 0 || num > 1) {
197
+ console.error(`Invalid score for ${name}: must be 0.0-1.0`);
198
+ process.exit(1);
199
+ }
200
+ scores[name] = num;
201
+ }
202
+ const evaluatorDid = await getAgentDid(root);
203
+ const now = new Date();
204
+ const { weightedScore, signals } = evaluateContract(fm, scores, evaluatorDid, now);
205
+ // Update contract
206
+ fm.status = "evaluated";
207
+ fm.evaluation.result = scores;
208
+ const content = serializeWorkspaceFile(contract);
209
+ await writeFile(contract.filePath, content, "utf-8");
210
+ console.log(`Evaluated contracts/${slug}.md — weighted score: ${weightedScore}`);
211
+ console.log("");
212
+ // Apply signals to delegate's reputation profile
213
+ const delegateSlug = fm.delegateSlug;
214
+ try {
215
+ const profile = await loadProfile(root, delegateSlug);
216
+ const pfm = profile.frontmatter;
217
+ pfm.lastUpdated = now.toISOString();
218
+ if (!pfm.dimensions)
219
+ pfm.dimensions = {};
220
+ for (const signal of signals) {
221
+ pfm.signals.push(signal);
222
+ pfm.dimensions[signal.dimension] = updateDimension(pfm.dimensions[signal.dimension], signal.score, now);
223
+ }
224
+ const profileContent = serializeWorkspaceFile(profile);
225
+ await writeFile(profile.filePath, profileContent, "utf-8");
226
+ console.log(`Updated reputation/${delegateSlug}.md — reliability: ${weightedScore}`);
227
+ }
228
+ catch {
229
+ // No existing profile — warn but still complete
230
+ console.log(`Note: No reputation profile for ${delegateSlug}. Create one with 'awp reputation signal ${delegateSlug} --agent-did ${fm.delegate} --agent-name <name> ...' to track signals.`);
231
+ console.log("Generated signals:");
232
+ for (const s of signals) {
233
+ console.log(` ${s.dimension}: ${s.score} (${s.message})`);
234
+ }
235
+ }
236
+ }
237
+ //# sourceMappingURL=contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/commands/contract.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/commands/identity.ts"],"names":[],"mappings":"AAkCA,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAiD7D;AAED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3B,OAAO,CAAC,IAAI,CAAC,CAwDf"}
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/commands/identity.ts"],"names":[],"mappings":"AAmCA,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CA6C7D;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwDvF"}
@@ -1,6 +1,7 @@
1
1
  import { writeFile } from "node:fs/promises";
2
2
  import { join } from "node:path";
3
3
  import { generateKeyPairSync } from "node:crypto";
4
+ import bs58 from "bs58";
4
5
  import { MANIFEST_PATH } from "@agent-workspace/core";
5
6
  import { findWorkspaceRoot, loadManifest } from "../lib/workspace.js";
6
7
  import { parseWorkspaceFile, writeWorkspaceFile } from "../lib/frontmatter.js";
@@ -17,8 +18,8 @@ function generateDidKey() {
17
18
  // Multicodec: 0xed01 = Ed25519 public key
18
19
  const multicodecPrefix = Buffer.from([0xed, 0x01]);
19
20
  const fullKey = Buffer.concat([multicodecPrefix, rawPubKey]);
20
- // Simple base58btc encoding (using base64url as a practical substitute)
21
- const encoded = fullKey.toString("base64url");
21
+ // Proper base58btc encoding per did:key specification
22
+ const encoded = bs58.encode(fullKey);
22
23
  const did = `did:key:z${encoded}`;
23
24
  const publicKeyMultibase = `z${encoded}`;
24
25
  const privateKeyPem = privateKey.export({ type: "pkcs8", format: "pem" });