@ted-galago/wave-cli 0.1.16 → 0.1.17
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 +32 -13
- package/dist/index.cjs +203 -71
- package/dist/index.js +203 -71
- package/package.json +1 -1
- package/scripts/verify-dev-api.mjs +88 -25
package/README.md
CHANGED
|
@@ -128,8 +128,10 @@ wave osmd agent status "projects/Wave Tools" notes.md
|
|
|
128
128
|
wave osmd agent read "projects/Wave Tools" notes.md
|
|
129
129
|
wave osmd agent create "projects/Wave Tools" notes.md --content "Working notes"
|
|
130
130
|
wave osmd wiki read index.md
|
|
131
|
+
wave osmd wiki read log.md
|
|
131
132
|
wave osmd wiki create index.md --content "# Agent Wiki"
|
|
132
133
|
wave osmd wiki update "Agent Wiki/index.md" --file ./agent-wiki-index.md
|
|
134
|
+
wave osmd wiki append-log --content "Observed durable event"
|
|
133
135
|
wave find "Ted"
|
|
134
136
|
wave open "Ted Martinez"
|
|
135
137
|
wave ls --path "directory/Members/Ted Martinez"
|
|
@@ -299,7 +301,7 @@ Backend error codes are surfaced explicitly from GraphQL `errors[].extensions.co
|
|
|
299
301
|
|
|
300
302
|
## OSMD Agent Markdown
|
|
301
303
|
|
|
302
|
-
The `osmd` command group is the write-capable agent interface for
|
|
304
|
+
The `osmd` command group is the write-capable agent interface for canonical OSMD, `.agent` overlays, and Agent Wiki files. Canonical OSMD files are read-only. Agents must write either entity-specific `.agent` overlay memory attached to a canonical OSMD parent, or broad Agent Wiki knowledge.
|
|
303
305
|
|
|
304
306
|
Commands:
|
|
305
307
|
|
|
@@ -307,16 +309,17 @@ Commands:
|
|
|
307
309
|
- `wave osmd read <path> [--parent-ref <canonicalPath>]`
|
|
308
310
|
- `wave osmd children [path] [--parent-ref <canonicalPath>] [--source canonical_osmd|agent_overlay|agent_wiki]`
|
|
309
311
|
- `wave osmd status <path> [--parent-ref <canonicalPath>]`
|
|
310
|
-
- `wave osmd agent status <parent-ref>
|
|
312
|
+
- `wave osmd agent status <parent-ref> notes.md`
|
|
311
313
|
- `wave osmd agent init <parent-ref>`
|
|
312
|
-
- `wave osmd agent read <parent-ref>
|
|
313
|
-
- `wave osmd agent create <parent-ref>
|
|
314
|
-
- `wave osmd agent update <parent-ref>
|
|
314
|
+
- `wave osmd agent read <parent-ref> notes.md`
|
|
315
|
+
- `wave osmd agent create <parent-ref> notes.md (--content <markdown> | --file <path> | stdin)`
|
|
316
|
+
- `wave osmd agent update <parent-ref> notes.md (--content <markdown> | --file <path> | stdin)`
|
|
315
317
|
- `wave osmd wiki status <path>`
|
|
316
318
|
- `wave osmd wiki read <path>`
|
|
317
319
|
- `wave osmd wiki children [path]`
|
|
318
320
|
- `wave osmd wiki create <path> (--content <markdown> | --file <path> | stdin)`
|
|
319
321
|
- `wave osmd wiki update <path> (--content <markdown> | --file <path> | stdin)`
|
|
322
|
+
- `wave osmd wiki append-log [log.md] (--content <markdown> | --file <path> | stdin)`
|
|
320
323
|
|
|
321
324
|
GraphQL mapping:
|
|
322
325
|
|
|
@@ -326,20 +329,28 @@ GraphQL mapping:
|
|
|
326
329
|
- `osmd agent init` -> `initAgentMarkdown`
|
|
327
330
|
- `osmd agent create` / `osmd wiki create` -> `createAgentMarkdownFile`
|
|
328
331
|
- `osmd agent update` / `osmd wiki update` -> `updateAgentMarkdownFile`
|
|
332
|
+
- `osmd wiki append-log` -> `recordAgentMarkdownLog`
|
|
329
333
|
|
|
330
334
|
Path and permission rules:
|
|
331
335
|
|
|
332
336
|
- Canonical OSMD reads use backend `path` values from tree/status/file responses.
|
|
333
337
|
- Canonical OSMD writes are blocked before mutation when status reports `source: "canonical_osmd"` or `access: "read_only"`.
|
|
334
338
|
- `.agent` commands require a canonical `parent-ref`; the CLI passes it as `parentRef` and never derives storage paths.
|
|
335
|
-
- `.agent` first slice supports only `notes.md
|
|
339
|
+
- `.agent` first slice supports only `notes.md`.
|
|
336
340
|
- `osmd agent init <parent-ref>` is idempotent for default `.agent` files.
|
|
337
|
-
- Agent Wiki
|
|
338
|
-
- Agent Wiki
|
|
341
|
+
- Agent Wiki index paths may be `index.md` or `Agent Wiki/index.md`; the CLI normalizes these to `Agent Wiki/index.md`.
|
|
342
|
+
- Agent Wiki log paths may be `log.md` or `Agent Wiki/log.md`; the CLI normalizes these to `Agent Wiki/log.md`.
|
|
343
|
+
- Agent Wiki first-slice agents should use `index.md` for broad writable wiki memory and `log.md` for append-only event memory.
|
|
344
|
+
- Agent Wiki `create` and `update` support only `index.md`; `log.md` cannot be overwritten.
|
|
345
|
+
- Agent Wiki `append-log` supports only `log.md` and calls status first before appending.
|
|
346
|
+
- The CLI uses backend GraphQL metadata directly and does not derive S3 paths, SHA paths, or backend storage conventions.
|
|
347
|
+
- Atlas should inspect `path`, `source`, `access`, `owner`, `parentRef`, `exists`, `canCreate`, `canUpdate`, `canAppend`, `suggestedAction`, and `errorCode`.
|
|
339
348
|
- Reads never create files.
|
|
340
|
-
- Create/update flows call status first and inspect `exists`, `canCreate`, `canUpdate`, `canAppend`, `suggestedAction`, and `errorCode`.
|
|
349
|
+
- Create/update/append-log flows call status first and inspect `exists`, `canCreate`, `canUpdate`, `canAppend`, `suggestedAction`, and `errorCode`.
|
|
341
350
|
- `create` fails when `exists` is true.
|
|
342
351
|
- `update` fails when `exists` is false.
|
|
352
|
+
- `append-log` fails unless status reports `exists: true`, `access: "append_only"`, and `canAppend: true`.
|
|
353
|
+
- Missing `Agent Wiki/index.md` is create-ready when status returns `exists: false`, `canCreate: true`, `canUpdate: false`, and `suggestedAction: "create"`.
|
|
343
354
|
|
|
344
355
|
OSMD command envelopes keep the global CLI envelope and put the file metadata directly in `data`:
|
|
345
356
|
|
|
@@ -354,6 +365,9 @@ OSMD command envelopes keep the global CLI envelope and put the file metadata di
|
|
|
354
365
|
"access": "read_write",
|
|
355
366
|
"owner": "atlas",
|
|
356
367
|
"exists": true,
|
|
368
|
+
"canCreate": false,
|
|
369
|
+
"canUpdate": true,
|
|
370
|
+
"canAppend": false,
|
|
357
371
|
"parentRef": "projects/Wave Tools",
|
|
358
372
|
"content": "..."
|
|
359
373
|
},
|
|
@@ -367,19 +381,24 @@ On write preflight errors, `data` contains the status metadata and `error.sugges
|
|
|
367
381
|
```json
|
|
368
382
|
{
|
|
369
383
|
"ok": false,
|
|
370
|
-
"command": "osmd.
|
|
384
|
+
"command": "osmd.wiki.update",
|
|
371
385
|
"status": 404,
|
|
372
386
|
"data": {
|
|
373
|
-
"path": "
|
|
387
|
+
"path": "Agent Wiki/index.md",
|
|
388
|
+
"source": "agent_wiki",
|
|
389
|
+
"access": "read_write",
|
|
390
|
+
"owner": "atlas",
|
|
374
391
|
"exists": false,
|
|
375
392
|
"canCreate": true,
|
|
376
393
|
"canUpdate": false,
|
|
377
394
|
"canAppend": false,
|
|
378
|
-
"
|
|
395
|
+
"parentRef": null,
|
|
396
|
+
"suggestedAction": "create",
|
|
397
|
+
"errorCode": null
|
|
379
398
|
},
|
|
380
399
|
"error": {
|
|
381
400
|
"code": "agent_file_not_found",
|
|
382
|
-
"message": "Agent markdown file does not exist:
|
|
401
|
+
"message": "Agent markdown file does not exist: Agent Wiki/index.md",
|
|
383
402
|
"suggestedAction": "create",
|
|
384
403
|
"details": {}
|
|
385
404
|
},
|