woobe-cli 0.6.0 → 0.8.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.
package/USAGE.md CHANGED
@@ -407,3 +407,99 @@ fields and exact numeric values retain their meanings. A YAML API payload is
407
407
  not a portable Package: use `package import` for dependency-aware bundles.
408
408
  Manifests can also be written in YAML with the existing manifest schema.
409
409
  No project configuration file is required for request input or command help.
410
+
411
+ ## Optional local development registry
412
+
413
+ `woobe init --root .woobe --context local` creates `.woobe-config` in the
414
+ current directory. This YAML file identifies the registry and records resource
415
+ UIDs, kinds, logical keys, aliases and paths relative to the artifact root.
416
+ Keep it in Git. `.woobe/.state/` is private and ignored by Git.
417
+
418
+ ```yaml
419
+ schema_version: 1
420
+ registry_id: 71e7c0ee-ea31-48b9-a566-ad713b4b8407
421
+ context: local
422
+ root: .woobe
423
+ defaults:
424
+ pull_environment: draft
425
+ resources:
426
+ - uid: fae665bb-0817-4834-903e-3352815e9367
427
+ kind: Provider
428
+ key: openai-main
429
+ alias: openai-main
430
+ path: providers/openai-main
431
+ ```
432
+
433
+ `woobe config show` displays this configuration. `woobe config check` validates
434
+ registered descriptors and their dependency graph offline; it does not evaluate
435
+ server permissions or execute mutations. `woobe resources list` lists the
436
+ registry, while `woobe resources used-by provider "@openai-main"` shows direct
437
+ and indirect local consumers, including embedding Models and Knowledge.
438
+
439
+ Provider descriptors use `provider`, `credential_ref` and optional public
440
+ `base_url`, `compatibility` and `provider_family` fields. Credential material
441
+ belongs in the existing provider/auth workflow. Managed Model descriptors may
442
+ use `provider_ref` to identify a registered Provider. Multiple Models can share
443
+ a connection; two connections remain distinct registry resources.
444
+
445
+ Development commands discover the nearest `.woobe-config` from the current
446
+ folder, stopping at the Git repository boundary. `--project-config PATH` selects
447
+ an explicit file; `--no-project-config` disables discovery. API requests,
448
+ authentication, contexts, runtime calls and standalone packages do not load this
449
+ file. Their operation is unaffected by a missing or malformed project config.
450
+
451
+ ## Pull, edit YAML, push Draft
452
+
453
+ Managed development requires a Woobe server advertising `sync` and `registry`
454
+ capabilities. The server validates the complete dependency graph and authorizes
455
+ both the root and each reused artifact. Native UUIDs are retained for Agents and
456
+ Networks; changed shared dependencies use explicit copy-on-write effects.
457
+
458
+ ```sh
459
+ woobe init --context local
460
+ woobe agent UUID pull --alias support
461
+ woobe agent "@support" diff
462
+ woobe agent "@support" validate
463
+ woobe agent "@support" push
464
+ woobe network UUID pull --alias helpdesk
465
+ woobe network "@helpdesk" push
466
+ ```
467
+
468
+ Edit the registered `agent.yaml`, `network.yaml` and dependency descriptors in
469
+ between pull and push. Reference-first `sync` aliases `pull`, and `update` aliases
470
+ `push`: `woobe agent UUID update --path ./.woobe/agents/support`. Canonical API
471
+ `woobe agent update UUID --file patch.yaml` still accepts a raw request payload.
472
+ Quote aliases in PowerShell (`"@support"`). UUID, exact remote name on the first
473
+ pull, typed alias and registered folder are supported. Inside a linked folder,
474
+ `woobe agent pull`/`push` can omit the reference.
475
+
476
+ Pull defaults to Draft. `--env staging` and `--env production` select the current
477
+ native snapshots; `--env release --version 1.2.0` selects an immutable release.
478
+ Regardless of the pulled environment, push writes Draft. Publishing and
479
+ activation remain explicit lifecycle operations. `--path` is an optional folder
480
+ inside the configured artifact root; local resource identities stay in
481
+ `.woobe-config`, destination UUIDs and base revisions stay in `.state/`.
482
+
483
+ `diff` and `status` are offline and include dependency and declared support-file
484
+ changes. `validate` checks the compiled portable schema offline; server semantic
485
+ validation, credentials and authorization are checked during push. `--dry-run`
486
+ never applies a push; its summary identifies local changes and dependencies.
487
+
488
+ Pull performs a three-way merge against the last remote base. Independent edits
489
+ merge; conflicting fields or support files leave all author files and state
490
+ untouched. Push includes native revision evidence, so stale edits receive a
491
+ conflict instead of overwriting another client. Pull again, resolve the listed
492
+ paths, inspect diff and retry. Resetting or deleting local state is unnecessary.
493
+
494
+ Networks preserve repeated nodes separately. An Agent Draft is editable, while
495
+ fixed constituent snapshots remain under `snapshots/` with separate UIDs. Editing
496
+ a frozen constituent is rejected; pull its standalone Draft to edit the Agent.
497
+ A Network push does not activate constituent Agents as standalone Production.
498
+
499
+ Local writes use a registry process lock and a durable transaction journal.
500
+ Interrupted transactions recover on the next development command, and recovery
501
+ refuses to overwrite a conflicting external edit. Push checkpoints pin the
502
+ content, destination and principal. If acceptance is unknown, the next push
503
+ looks up the same operation rather than sending another mutation. Keep `.state/`
504
+ until the operation has been reconciled; it is intentionally excluded from Git
505
+ and from compiled packages.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "woobe-cli",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "description": "Woobe CLI for the public control plane and runtime",
5
5
  "license": "UNLICENSED",
6
6
  "repository": {
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file