@agent-workspace/cli 0.2.1 → 0.5.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 (91) hide show
  1. package/dist/commands/artifact.d.ts +1 -0
  2. package/dist/commands/artifact.d.ts.map +1 -1
  3. package/dist/commands/artifact.js +76 -15
  4. package/dist/commands/artifact.js.map +1 -1
  5. package/dist/commands/contract.d.ts +32 -0
  6. package/dist/commands/contract.d.ts.map +1 -0
  7. package/dist/commands/contract.js +237 -0
  8. package/dist/commands/contract.js.map +1 -0
  9. package/dist/commands/identity.d.ts.map +1 -1
  10. package/dist/commands/identity.js +3 -2
  11. package/dist/commands/identity.js.map +1 -1
  12. package/dist/commands/init.d.ts.map +1 -1
  13. package/dist/commands/init.js +6 -0
  14. package/dist/commands/init.js.map +1 -1
  15. package/dist/commands/inspect.d.ts.map +1 -1
  16. package/dist/commands/inspect.js +30 -0
  17. package/dist/commands/inspect.js.map +1 -1
  18. package/dist/commands/memory.d.ts +12 -1
  19. package/dist/commands/memory.d.ts.map +1 -1
  20. package/dist/commands/memory.js +72 -18
  21. package/dist/commands/memory.js.map +1 -1
  22. package/dist/commands/project.d.ts +23 -0
  23. package/dist/commands/project.d.ts.map +1 -0
  24. package/dist/commands/project.js +181 -0
  25. package/dist/commands/project.js.map +1 -0
  26. package/dist/commands/reputation.d.ts +25 -0
  27. package/dist/commands/reputation.d.ts.map +1 -0
  28. package/dist/commands/reputation.js +227 -0
  29. package/dist/commands/reputation.js.map +1 -0
  30. package/dist/commands/status.d.ts +5 -0
  31. package/dist/commands/status.d.ts.map +1 -0
  32. package/dist/commands/status.js +182 -0
  33. package/dist/commands/status.js.map +1 -0
  34. package/dist/commands/swarm.d.ts +40 -0
  35. package/dist/commands/swarm.d.ts.map +1 -0
  36. package/dist/commands/swarm.js +373 -0
  37. package/dist/commands/swarm.js.map +1 -0
  38. package/dist/commands/task.d.ts +41 -0
  39. package/dist/commands/task.d.ts.map +1 -0
  40. package/dist/commands/task.js +381 -0
  41. package/dist/commands/task.js.map +1 -0
  42. package/dist/commands/validate.d.ts +3 -1
  43. package/dist/commands/validate.d.ts.map +1 -1
  44. package/dist/commands/validate.js +101 -3
  45. package/dist/commands/validate.js.map +1 -1
  46. package/dist/index.js +198 -20
  47. package/dist/index.js.map +1 -1
  48. package/dist/lib/artifact.d.ts +2 -8
  49. package/dist/lib/artifact.d.ts.map +1 -1
  50. package/dist/lib/artifact.js +3 -21
  51. package/dist/lib/artifact.js.map +1 -1
  52. package/dist/lib/artifact.test.d.ts +2 -0
  53. package/dist/lib/artifact.test.d.ts.map +1 -0
  54. package/dist/lib/artifact.test.js +41 -0
  55. package/dist/lib/artifact.test.js.map +1 -0
  56. package/dist/lib/contract.d.ts +27 -0
  57. package/dist/lib/contract.d.ts.map +1 -0
  58. package/dist/lib/contract.js +83 -0
  59. package/dist/lib/contract.js.map +1 -0
  60. package/dist/lib/frontmatter.d.ts +2 -11
  61. package/dist/lib/frontmatter.d.ts.map +1 -1
  62. package/dist/lib/frontmatter.js +2 -25
  63. package/dist/lib/frontmatter.js.map +1 -1
  64. package/dist/lib/project.d.ts +54 -0
  65. package/dist/lib/project.d.ts.map +1 -0
  66. package/dist/lib/project.js +153 -0
  67. package/dist/lib/project.js.map +1 -0
  68. package/dist/lib/reputation.d.ts +20 -0
  69. package/dist/lib/reputation.d.ts.map +1 -0
  70. package/dist/lib/reputation.js +51 -0
  71. package/dist/lib/reputation.js.map +1 -0
  72. package/dist/lib/reputation.test.d.ts +2 -0
  73. package/dist/lib/reputation.test.d.ts.map +1 -0
  74. package/dist/lib/reputation.test.js +112 -0
  75. package/dist/lib/reputation.test.js.map +1 -0
  76. package/dist/lib/schema.d.ts.map +1 -1
  77. package/dist/lib/schema.js +9 -5
  78. package/dist/lib/schema.js.map +1 -1
  79. package/dist/lib/swarm.d.ts +22 -0
  80. package/dist/lib/swarm.d.ts.map +1 -0
  81. package/dist/lib/swarm.js +59 -0
  82. package/dist/lib/swarm.js.map +1 -0
  83. package/dist/lib/workspace.d.ts +3 -9
  84. package/dist/lib/workspace.d.ts.map +1 -1
  85. package/dist/lib/workspace.js +6 -42
  86. package/dist/lib/workspace.js.map +1 -1
  87. package/dist/lib/workspace.test.d.ts +2 -0
  88. package/dist/lib/workspace.test.d.ts.map +1 -0
  89. package/dist/lib/workspace.test.js +36 -0
  90. package/dist/lib/workspace.test.js.map +1 -0
  91. package/package.json +8 -2
package/dist/index.js CHANGED
@@ -4,14 +4,17 @@ import { AWP_VERSION } from "@agent-workspace/core";
4
4
  import { initCommand } from "./commands/init.js";
5
5
  import { validateCommand } from "./commands/validate.js";
6
6
  import { inspectCommand } from "./commands/inspect.js";
7
- import { identityGenerateCommand, identityExportCommand, } from "./commands/identity.js";
7
+ import { identityGenerateCommand, identityExportCommand } from "./commands/identity.js";
8
8
  import { memoryLogCommand, memorySearchCommand } from "./commands/memory.js";
9
9
  import { artifactCreateCommand, artifactCommitCommand, artifactLogCommand, artifactListCommand, artifactSearchCommand, artifactMergeCommand, } from "./commands/artifact.js";
10
+ import { reputationQueryCommand, reputationSignalCommand, reputationListCommand, } from "./commands/reputation.js";
11
+ import { contractCreateCommand, contractListCommand, contractShowCommand, contractEvaluateCommand, } from "./commands/contract.js";
12
+ import { projectCreateCommand, projectListCommand, projectShowCommand, projectCloseCommand, } from "./commands/project.js";
13
+ import { taskCreateCommand, taskListCommand, taskUpdateCommand, taskShowCommand, taskGraphCommand, } from "./commands/task.js";
14
+ import { swarmCreateCommand, swarmRoleAddCommand, swarmRecruitCommand, swarmShowCommand, swarmListCommand, swarmUpdateCommand, } from "./commands/swarm.js";
15
+ import { statusCommand } from "./commands/status.js";
10
16
  const program = new Command();
11
- program
12
- .name("awp")
13
- .description("Agent Workspace Protocol — CLI tool")
14
- .version(AWP_VERSION);
17
+ program.name("awp").description("Agent Workspace Protocol — CLI tool").version(AWP_VERSION);
15
18
  // awp init [dir]
16
19
  program
17
20
  .command("init")
@@ -23,16 +26,12 @@ program
23
26
  program
24
27
  .command("validate")
25
28
  .description("Validate the current AWP workspace")
29
+ .option("--quick", "Only validate core files (skip content directories)")
26
30
  .action(validateCommand);
27
31
  // awp inspect
28
- program
29
- .command("inspect")
30
- .description("Show workspace summary")
31
- .action(inspectCommand);
32
+ program.command("inspect").description("Show workspace summary").action(inspectCommand);
32
33
  // awp identity
33
- const identity = program
34
- .command("identity")
35
- .description("Agent identity operations");
34
+ const identity = program.command("identity").description("Agent identity operations");
36
35
  identity
37
36
  .command("generate")
38
37
  .description("Generate a DID for this agent")
@@ -43,9 +42,7 @@ identity
43
42
  .option("-f, --format <format>", "Output format (json)", "json")
44
43
  .action(identityExportCommand);
45
44
  // awp memory
46
- const memory = program
47
- .command("memory")
48
- .description("Memory operations");
45
+ const memory = program.command("memory").description("Memory operations");
49
46
  memory
50
47
  .command("log")
51
48
  .description("Append an entry to today's memory log")
@@ -54,13 +51,16 @@ memory
54
51
  .action(memoryLogCommand);
55
52
  memory
56
53
  .command("search")
57
- .description("Search memory entries")
54
+ .description("Search memory entries with optional fuzzy matching and date filters")
58
55
  .argument("<query>", "Search query")
56
+ .option("--from <date>", "Start date (YYYY-MM-DD)")
57
+ .option("--to <date>", "End date (YYYY-MM-DD)")
58
+ .option("--tag <tag>", "Filter by tag")
59
+ .option("--fuzzy", "Enable fuzzy matching")
60
+ .option("--limit <n>", "Limit number of results")
59
61
  .action(memorySearchCommand);
60
62
  // awp artifact
61
- const artifact = program
62
- .command("artifact")
63
- .description("Knowledge artifact operations (SMP)");
63
+ const artifact = program.command("artifact").description("Knowledge artifact operations (SMP)");
64
64
  artifact
65
65
  .command("create")
66
66
  .description("Create a new knowledge artifact")
@@ -93,10 +93,188 @@ artifact
93
93
  .action(artifactSearchCommand);
94
94
  artifact
95
95
  .command("merge")
96
- .description("Merge source artifact into target (additive)")
96
+ .description("Merge source artifact into target")
97
97
  .argument("<target>", "Target artifact slug")
98
98
  .argument("<source>", "Source artifact slug")
99
99
  .option("-m, --message <message>", "Merge message")
100
+ .option("-s, --strategy <strategy>", "Merge strategy (additive, authority)", "additive")
100
101
  .action(artifactMergeCommand);
102
+ // awp reputation
103
+ const reputation = program
104
+ .command("reputation")
105
+ .description("Reputation tracking operations (RDP)");
106
+ reputation
107
+ .command("query")
108
+ .description("Query an agent's reputation profile")
109
+ .argument("[slug]", "Agent reputation slug (omit to list all)")
110
+ .option("-d, --dimension <dim>", "Filter by dimension")
111
+ .option("--domain <domain>", "Filter by domain competence")
112
+ .option("--raw", "Show raw scores without decay")
113
+ .action(reputationQueryCommand);
114
+ reputation
115
+ .command("signal")
116
+ .description("Log a reputation signal for an agent")
117
+ .argument("<slug>", "Agent reputation slug")
118
+ .requiredOption("--dimension <dim>", "Dimension (reliability, epistemic-hygiene, coordination, domain-competence)")
119
+ .requiredOption("--score <n>", "Score (0.0-1.0)")
120
+ .option("--domain <domain>", "Domain (required for domain-competence)")
121
+ .option("--evidence <ref>", "Evidence reference (e.g., contract:slug, artifact:slug)")
122
+ .option("--message <msg>", "Human-readable note")
123
+ .option("--agent-did <did>", "Agent DID (required for first signal)")
124
+ .option("--agent-name <name>", "Agent name (required for first signal)")
125
+ .action(reputationSignalCommand);
126
+ reputation.command("list").description("List all tracked agents").action(reputationListCommand);
127
+ // awp contract
128
+ const contract = program.command("contract").description("Delegation contract operations (RDP)");
129
+ contract
130
+ .command("create")
131
+ .description("Create a new delegation contract")
132
+ .argument("<slug>", "Contract slug")
133
+ .requiredOption("--delegate <did>", "Delegate agent DID")
134
+ .requiredOption("--delegate-slug <slug>", "Delegate reputation profile slug")
135
+ .requiredOption("--description <text>", "Task description")
136
+ .option("--delegator <did>", "Delegator DID (defaults to workspace agent)")
137
+ .option("--deadline <date>", "Deadline (ISO 8601)")
138
+ .option("--output-format <type>", "Expected output type")
139
+ .option("--output-slug <slug>", "Expected output artifact slug")
140
+ .action(contractCreateCommand);
141
+ contract
142
+ .command("list")
143
+ .description("List all contracts")
144
+ .option("--status <state>", "Filter by status (draft, active, completed, evaluated)")
145
+ .action(contractListCommand);
146
+ contract
147
+ .command("show")
148
+ .description("Show contract details")
149
+ .argument("<slug>", "Contract slug")
150
+ .action(contractShowCommand);
151
+ contract
152
+ .command("evaluate")
153
+ .description("Evaluate a contract and generate reputation signals")
154
+ .argument("<slug>", "Contract slug")
155
+ .option("--completeness <n>", "Completeness score (0.0-1.0)")
156
+ .option("--accuracy <n>", "Accuracy score (0.0-1.0)")
157
+ .option("--clarity <n>", "Clarity score (0.0-1.0)")
158
+ .option("--timeliness <n>", "Timeliness score (0.0-1.0)")
159
+ .action(contractEvaluateCommand);
160
+ // awp project
161
+ const project = program.command("project").description("Project coordination operations (CDP)");
162
+ project
163
+ .command("create")
164
+ .description("Create a new project")
165
+ .argument("<slug>", "Project slug (e.g., q3-product-launch)")
166
+ .option("-t, --title <title>", "Project title")
167
+ .option("--deadline <date>", "Deadline (ISO 8601 date or YYYY-MM-DD)")
168
+ .option("--tags <tags>", "Comma-separated tags")
169
+ .action(projectCreateCommand);
170
+ project
171
+ .command("list")
172
+ .description("List all projects")
173
+ .option("--status <state>", "Filter by status (draft, active, paused, completed, archived)")
174
+ .action(projectListCommand);
175
+ project
176
+ .command("show")
177
+ .description("Show project details with task summary")
178
+ .argument("<slug>", "Project slug")
179
+ .action(projectShowCommand);
180
+ project
181
+ .command("close")
182
+ .description("Mark a project as completed")
183
+ .argument("<slug>", "Project slug")
184
+ .action(projectCloseCommand);
185
+ // awp task
186
+ const task = program.command("task").description("Task management operations (CDP)");
187
+ task
188
+ .command("create")
189
+ .description("Create a task within a project")
190
+ .argument("<project>", "Project slug")
191
+ .argument("<slug>", "Task slug")
192
+ .option("-t, --title <title>", "Task title")
193
+ .option("--assignee <did>", "Assignee agent DID")
194
+ .option("--assignee-slug <slug>", "Assignee reputation profile slug")
195
+ .option("--priority <level>", "Priority (low, medium, high, critical)", "medium")
196
+ .option("--deadline <date>", "Deadline (ISO 8601 date or YYYY-MM-DD)")
197
+ .option("--blocked-by <ids>", "Comma-separated task IDs that block this task")
198
+ .option("--output-artifact <slug>", "Output artifact slug")
199
+ .option("--contract <slug>", "Associated contract slug")
200
+ .action(taskCreateCommand);
201
+ task
202
+ .command("list")
203
+ .description("List tasks for a project")
204
+ .argument("<project>", "Project slug")
205
+ .option("--status <state>", "Filter by status")
206
+ .option("--assignee <slug>", "Filter by assignee slug")
207
+ .action(taskListCommand);
208
+ task
209
+ .command("update")
210
+ .description("Update a task's status or assignee")
211
+ .argument("<project>", "Project slug")
212
+ .argument("<slug>", "Task slug")
213
+ .option("--status <state>", "New status (pending, in-progress, blocked, review, completed, cancelled)")
214
+ .option("--assignee <did>", "New assignee DID")
215
+ .option("--assignee-slug <slug>", "New assignee reputation profile slug")
216
+ .action(taskUpdateCommand);
217
+ task
218
+ .command("show")
219
+ .description("Show task details")
220
+ .argument("<project>", "Project slug")
221
+ .argument("<slug>", "Task slug")
222
+ .action(taskShowCommand);
223
+ task
224
+ .command("graph")
225
+ .description("Analyze task dependencies: topological order, cycles, critical path")
226
+ .argument("<project>", "Project slug")
227
+ .option("--check", "Check for cycles only (exit with error if found)")
228
+ .option("--json", "Output as JSON")
229
+ .action(taskGraphCommand);
230
+ // awp swarm
231
+ const swarm = program.command("swarm").description("Multi-agent swarm operations (CDP)");
232
+ swarm
233
+ .command("create")
234
+ .description("Create a new swarm for multi-agent coordination")
235
+ .argument("<slug>", "Swarm slug (e.g., q3-launch-team)")
236
+ .option("-n, --name <name>", "Swarm name")
237
+ .option("-g, --goal <goal>", "Swarm goal/objective")
238
+ .option("-p, --project <slug>", "Link to a project")
239
+ .option("--human-lead <id>", "Human lead user ID (e.g., user:marc)")
240
+ .option("--veto-power", "Grant human lead veto power")
241
+ .action(swarmCreateCommand);
242
+ swarm
243
+ .command("role")
244
+ .description("Manage swarm roles")
245
+ .command("add")
246
+ .description("Add a role to a swarm")
247
+ .argument("<swarm>", "Swarm slug")
248
+ .argument("<role>", "Role name (e.g., researcher, writer)")
249
+ .option("-c, --count <n>", "Number of agents needed for this role", "1")
250
+ .option("-r, --min-reputation <spec...>", "Minimum reputation (dimension:score or domain-competence:domain:score)")
251
+ .action(swarmRoleAddCommand);
252
+ swarm
253
+ .command("recruit")
254
+ .description("Find and assign qualified agents to swarm roles")
255
+ .argument("<swarm>", "Swarm slug")
256
+ .option("--auto", "Automatically assign best qualified candidates")
257
+ .action(swarmRecruitCommand);
258
+ swarm
259
+ .command("show")
260
+ .description("Show swarm details and staffing")
261
+ .argument("<slug>", "Swarm slug")
262
+ .action(swarmShowCommand);
263
+ swarm
264
+ .command("list")
265
+ .description("List all swarms")
266
+ .option("--status <state>", "Filter by status (recruiting, active, completed, disbanded)")
267
+ .action(swarmListCommand);
268
+ swarm
269
+ .command("update")
270
+ .description("Update swarm status")
271
+ .argument("<slug>", "Swarm slug")
272
+ .option("--status <state>", "New status (recruiting, active, completed, disbanded)")
273
+ .action(swarmUpdateCommand);
274
+ // awp status
275
+ program
276
+ .command("status")
277
+ .description("Rich workspace overview — projects, tasks, reputation, health")
278
+ .action(statusCommand);
101
279
  program.parse();
102
280
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,7 @@
1
1
  import type { ArtifactFrontmatter } from "@agent-workspace/core";
2
2
  import type { WorkspaceFile } from "@agent-workspace/core";
3
- /**
4
- * Validate an artifact slug
5
- */
6
- export declare function validateSlug(slug: string): boolean;
3
+ import { validateSlug, getAgentDid } from "@agent-workspace/utils";
4
+ export { validateSlug, getAgentDid };
7
5
  /**
8
6
  * Convert a slug to an artifact ID
9
7
  */
@@ -24,8 +22,4 @@ export declare function loadArtifact(workspaceRoot: string, slug: string): Promi
24
22
  * List all artifacts in the workspace
25
23
  */
26
24
  export declare function listArtifacts(workspaceRoot: string): Promise<WorkspaceFile<ArtifactFrontmatter>[]>;
27
- /**
28
- * Get the agent DID from the workspace manifest, or "anonymous" if not set
29
- */
30
- export declare function getAgentDid(workspaceRoot: string): Promise<string>;
31
25
  //# sourceMappingURL=artifact.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../../src/lib/artifact.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAK3D;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAG7C;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE,CAAC,CA0B/C;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOxE"}
1
+ {"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../../src/lib/artifact.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAsB,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGvF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AAErC;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAG7C;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAwB/C"}
@@ -1,15 +1,9 @@
1
1
  import { readdir } from "node:fs/promises";
2
2
  import { join } from "node:path";
3
3
  import { ARTIFACTS_DIR } from "@agent-workspace/core";
4
- import { parseWorkspaceFile } from "./frontmatter.js";
5
- import { loadManifest } from "./workspace.js";
6
- const SLUG_PATTERN = /^[a-z0-9][a-z0-9-]*$/;
7
- /**
8
- * Validate an artifact slug
9
- */
10
- export function validateSlug(slug) {
11
- return SLUG_PATTERN.test(slug);
12
- }
4
+ import { validateSlug, parseWorkspaceFile, getAgentDid } from "@agent-workspace/utils";
5
+ // Re-export from @agent-workspace/utils for backwards compatibility
6
+ export { validateSlug, getAgentDid };
13
7
  /**
14
8
  * Convert a slug to an artifact ID
15
9
  */
@@ -62,16 +56,4 @@ export async function listArtifacts(workspaceRoot) {
62
56
  }
63
57
  return artifacts;
64
58
  }
65
- /**
66
- * Get the agent DID from the workspace manifest, or "anonymous" if not set
67
- */
68
- export async function getAgentDid(workspaceRoot) {
69
- try {
70
- const manifest = await loadManifest(workspaceRoot);
71
- return manifest.agent.did || "anonymous";
72
- }
73
- catch {
74
- return "anonymous";
75
- }
76
- }
77
59
  //# sourceMappingURL=artifact.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../src/lib/artifact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,YAAY,GAAG,sBAAsB,CAAC;AAE5C;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,YAAY,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,EAAU;IACnC,OAAO,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,aAAqB,EAAE,IAAY;IAC5D,OAAO,IAAI,CAAC,aAAa,EAAE,aAAa,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,aAAqB,EACrB,IAAY;IAEZ,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACjD,OAAO,kBAAkB,CAAsB,QAAQ,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,aAAqB;IAErB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACxD,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9D,MAAM,SAAS,GAAyC,EAAE,CAAC;IAE3D,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CACrC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CACtB,CAAC;YACF,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBACrD,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,aAAqB;IACrD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,CAAC;QACnD,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,WAAW,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,WAAW,CAAC;IACrB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../src/lib/artifact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAEvF,oEAAoE;AACpE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AAErC;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,YAAY,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,EAAU;IACnC,OAAO,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,aAAqB,EAAE,IAAY;IAC5D,OAAO,IAAI,CAAC,aAAa,EAAE,aAAa,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,aAAqB,EACrB,IAAY;IAEZ,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACjD,OAAO,kBAAkB,CAAsB,QAAQ,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,aAAqB;IAErB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACxD,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9D,MAAM,SAAS,GAAyC,EAAE,CAAC;IAE3D,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAsB,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YACpF,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBACrD,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=artifact.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact.test.d.ts","sourceRoot":"","sources":["../../src/lib/artifact.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { validateSlug, idFromSlug, slugFromId, slugToPath } from "./artifact.js";
3
+ describe("artifact utilities", () => {
4
+ describe("validateSlug", () => {
5
+ it("accepts valid lowercase alphanumeric slugs", () => {
6
+ expect(validateSlug("my-artifact")).toBe(true);
7
+ expect(validateSlug("artifact123")).toBe(true);
8
+ expect(validateSlug("a")).toBe(true);
9
+ expect(validateSlug("test-slug-name")).toBe(true);
10
+ });
11
+ it("rejects invalid slugs", () => {
12
+ expect(validateSlug("")).toBe(false);
13
+ expect(validateSlug("MyArtifact")).toBe(false);
14
+ expect(validateSlug("my_artifact")).toBe(false);
15
+ expect(validateSlug("-starts-with-hyphen")).toBe(false);
16
+ expect(validateSlug("has spaces")).toBe(false);
17
+ expect(validateSlug("special!chars")).toBe(false);
18
+ });
19
+ });
20
+ describe("idFromSlug", () => {
21
+ it("converts slug to artifact ID", () => {
22
+ expect(idFromSlug("my-artifact")).toBe("artifact:my-artifact");
23
+ expect(idFromSlug("test")).toBe("artifact:test");
24
+ });
25
+ });
26
+ describe("slugFromId", () => {
27
+ it("extracts slug from artifact ID", () => {
28
+ expect(slugFromId("artifact:my-artifact")).toBe("my-artifact");
29
+ expect(slugFromId("artifact:test")).toBe("test");
30
+ });
31
+ it("handles IDs without prefix", () => {
32
+ expect(slugFromId("plain-slug")).toBe("plain-slug");
33
+ });
34
+ });
35
+ describe("slugToPath", () => {
36
+ it("generates correct file path", () => {
37
+ expect(slugToPath("/workspace", "my-artifact")).toBe("/workspace/artifacts/my-artifact.md");
38
+ });
39
+ });
40
+ });
41
+ //# sourceMappingURL=artifact.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact.test.js","sourceRoot":"","sources":["../../src/lib/artifact.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEjF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;YAC/B,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxD,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAC/D,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC/D,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QAC9F,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { DelegationContractFrontmatter, ReputationSignal } from "@agent-workspace/core";
2
+ import type { WorkspaceFile } from "@agent-workspace/core";
3
+ /**
4
+ * Validate a contract slug
5
+ */
6
+ export declare function validateSlug(slug: string): boolean;
7
+ /**
8
+ * Get the file path for a contract slug
9
+ */
10
+ export declare function slugToContractPath(workspaceRoot: string, slug: string): string;
11
+ /**
12
+ * Load a contract by slug
13
+ */
14
+ export declare function loadContract(workspaceRoot: string, slug: string): Promise<WorkspaceFile<DelegationContractFrontmatter>>;
15
+ /**
16
+ * List all contracts in the workspace
17
+ */
18
+ export declare function listContracts(workspaceRoot: string): Promise<WorkspaceFile<DelegationContractFrontmatter>[]>;
19
+ /**
20
+ * Evaluate a contract: compute weighted score and generate reputation signals.
21
+ * Returns the weighted score and the generated signals.
22
+ */
23
+ export declare function evaluateContract(contract: DelegationContractFrontmatter, scores: Record<string, number>, evaluatorDid: string, now?: Date): {
24
+ weightedScore: number;
25
+ signals: ReputationSignal[];
26
+ };
27
+ //# sourceMappingURL=contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/lib/contract.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,6BAA6B,EAC7B,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI3D;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,GACX,MAAM,CAER;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC,CAGvD;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,CAAC,6BAA6B,CAAC,EAAE,CAAC,CA2BzD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,6BAA6B,EACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,YAAY,EAAE,MAAM,EACpB,GAAG,GAAE,IAAiB,GACrB;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,gBAAgB,EAAE,CAAA;CAAE,CA8BxD"}
@@ -0,0 +1,83 @@
1
+ import { readdir } from "node:fs/promises";
2
+ import { join } from "node:path";
3
+ import { CONTRACTS_DIR } from "@agent-workspace/core";
4
+ import { parseWorkspaceFile } from "./frontmatter.js";
5
+ const SLUG_PATTERN = /^[a-z0-9][a-z0-9-]*$/;
6
+ /**
7
+ * Validate a contract slug
8
+ */
9
+ export function validateSlug(slug) {
10
+ return SLUG_PATTERN.test(slug);
11
+ }
12
+ /**
13
+ * Get the file path for a contract slug
14
+ */
15
+ export function slugToContractPath(workspaceRoot, slug) {
16
+ return join(workspaceRoot, CONTRACTS_DIR, `${slug}.md`);
17
+ }
18
+ /**
19
+ * Load a contract by slug
20
+ */
21
+ export async function loadContract(workspaceRoot, slug) {
22
+ const filePath = slugToContractPath(workspaceRoot, slug);
23
+ return parseWorkspaceFile(filePath);
24
+ }
25
+ /**
26
+ * List all contracts in the workspace
27
+ */
28
+ export async function listContracts(workspaceRoot) {
29
+ const contractsDir = join(workspaceRoot, CONTRACTS_DIR);
30
+ let files;
31
+ try {
32
+ files = await readdir(contractsDir);
33
+ }
34
+ catch {
35
+ return [];
36
+ }
37
+ const mdFiles = files.filter((f) => f.endsWith(".md")).sort();
38
+ const contracts = [];
39
+ for (const f of mdFiles) {
40
+ try {
41
+ const parsed = await parseWorkspaceFile(join(contractsDir, f));
42
+ if (parsed.frontmatter.type === "delegation-contract") {
43
+ contracts.push(parsed);
44
+ }
45
+ }
46
+ catch {
47
+ // Skip unparseable files
48
+ }
49
+ }
50
+ return contracts;
51
+ }
52
+ /**
53
+ * Evaluate a contract: compute weighted score and generate reputation signals.
54
+ * Returns the weighted score and the generated signals.
55
+ */
56
+ export function evaluateContract(contract, scores, evaluatorDid, now = new Date()) {
57
+ const { criteria } = contract.evaluation;
58
+ // Compute weighted score
59
+ let weightedScore = 0;
60
+ for (const [criterion, weight] of Object.entries(criteria)) {
61
+ const score = scores[criterion];
62
+ if (score === undefined) {
63
+ throw new Error(`Missing score for criterion: ${criterion}`);
64
+ }
65
+ weightedScore += weight * score;
66
+ }
67
+ weightedScore = Math.round(weightedScore * 1000) / 1000;
68
+ const timestamp = now.toISOString();
69
+ const evidence = contract.id;
70
+ // Generate reputation signals
71
+ const signals = [
72
+ {
73
+ source: evaluatorDid,
74
+ dimension: "reliability",
75
+ score: weightedScore,
76
+ timestamp,
77
+ evidence,
78
+ message: `Contract evaluation: ${contract.task.description}`,
79
+ },
80
+ ];
81
+ return { weightedScore, signals };
82
+ }
83
+ //# sourceMappingURL=contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/lib/contract.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,7 @@
1
- import type { BaseFrontmatter, WorkspaceFile } from "@agent-workspace/core";
2
1
  /**
3
- * Parse a dual-format workspace file (YAML frontmatter + Markdown body)
2
+ * Re-export frontmatter utilities from @agent-workspace/utils
4
3
  */
5
- export declare function parseWorkspaceFile<T extends BaseFrontmatter>(filePath: string): Promise<WorkspaceFile<T>>;
6
- /**
7
- * Serialize a workspace file back to dual-format (YAML frontmatter + Markdown body)
8
- */
9
- export declare function serializeWorkspaceFile<T extends BaseFrontmatter>(file: WorkspaceFile<T>): string;
10
- /**
11
- * Write a workspace file to disk
12
- */
13
- export declare function writeWorkspaceFile<T extends BaseFrontmatter>(file: WorkspaceFile<T>): Promise<void>;
4
+ export { parseWorkspaceFile, serializeWorkspaceFile, writeWorkspaceFile, getFrontmatterType, } from "@agent-workspace/utils";
14
5
  /**
15
6
  * Check if a file has valid AWP frontmatter (has awp + type fields)
16
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"frontmatter.d.ts","sourceRoot":"","sources":["../../src/lib/frontmatter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE5E;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,SAAS,eAAe,EAChE,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAQ3B;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,eAAe,EAC9D,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GACrB,MAAM,CAER;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,SAAS,eAAe,EAChE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GACrB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAExE"}
1
+ {"version":3,"file":"frontmatter.d.ts","sourceRoot":"","sources":["../../src/lib/frontmatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAExE"}
@@ -1,30 +1,7 @@
1
- import matter from "gray-matter";
2
- import { readFile, writeFile } from "node:fs/promises";
3
1
  /**
4
- * Parse a dual-format workspace file (YAML frontmatter + Markdown body)
2
+ * Re-export frontmatter utilities from @agent-workspace/utils
5
3
  */
6
- export async function parseWorkspaceFile(filePath) {
7
- const raw = await readFile(filePath, "utf-8");
8
- const { data, content } = matter(raw);
9
- return {
10
- frontmatter: data,
11
- body: content,
12
- filePath,
13
- };
14
- }
15
- /**
16
- * Serialize a workspace file back to dual-format (YAML frontmatter + Markdown body)
17
- */
18
- export function serializeWorkspaceFile(file) {
19
- return matter.stringify(file.body, file.frontmatter);
20
- }
21
- /**
22
- * Write a workspace file to disk
23
- */
24
- export async function writeWorkspaceFile(file) {
25
- const content = serializeWorkspaceFile(file);
26
- await writeFile(file.filePath, content, "utf-8");
27
- }
4
+ export { parseWorkspaceFile, serializeWorkspaceFile, writeWorkspaceFile, getFrontmatterType, } from "@agent-workspace/utils";
28
5
  /**
29
6
  * Check if a file has valid AWP frontmatter (has awp + type fields)
30
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"frontmatter.js","sourceRoot":"","sources":["../../src/lib/frontmatter.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGvD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO;QACL,WAAW,EAAE,IAAS;QACtB,IAAI,EAAE,OAAO;QACb,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAsB;IAEtB,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAsB;IAEtB,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAA6B;IAC7D,OAAO,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"frontmatter.js","sourceRoot":"","sources":["../../src/lib/frontmatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAA6B;IAC7D,OAAO,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;AACvE,CAAC"}