woobe-cli 0.7.0 → 0.9.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
@@ -447,3 +447,109 @@ folder, stopping at the Git repository boundary. `--project-config PATH` selects
447
447
  an explicit file; `--no-project-config` disables discovery. API requests,
448
448
  authentication, contexts, runtime calls and standalone packages do not load this
449
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; it uploads and validates the exact server plan and reports every native effect for the registered dependency closure.
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.
506
+
507
+
508
+ ### Explicit local identities and recovery
509
+
510
+ ```sh
511
+ woobe resources create provider primary --file ./provider.yaml
512
+ woobe resources create model chat --file ./model.yaml
513
+ woobe resources create agent support --file ./agent.yaml
514
+ woobe agent '@support' create --yes
515
+
516
+ woobe resources clone agent '@support' --alias support-v2
517
+ # Edit the clone's YAML; its Provider, Model, Tool and Knowledge refs are shared.
518
+ woobe agent '@support-v2' create --yes
519
+ woobe resources move agent '@support-v2' --path agents/new-location
520
+ woobe resources alias agent '@support-v2' --alias support-next
521
+
522
+ woobe resources register tool lookup --path tools/lookup/tool.yaml
523
+ woobe resources unregister agent '@support-next'
524
+ woobe resources diff
525
+ woobe resources validate
526
+ woobe resources push --dry-run
527
+ woobe resources push --yes
528
+ woobe agent '@support' reconcile
529
+ ```
530
+
531
+ `resources create` copies a supplied author descriptor with a new UID. For
532
+ support files, register an existing folder or clone a registered artifact.
533
+ `create` on a managed Agent/Network is the explicit remote creation step and
534
+ rejects an already bound root. `push` updates a bound Draft and never creates
535
+ another root. Names do not determine native identity. Clone retains dependency
536
+ refs, gives the selected root a new UID and uses the new alias as its display
537
+ name; edit metadata.name before creation for a different name. Its native identity
538
+ is unbound.
539
+ A moved artifact retains UID, logical refs and native bindings. Only declared
540
+ files move, through a recoverable transaction; unrelated files stay in place.
541
+ Unregister refuses consumers and retains author files and private native bindings;
542
+ it never deletes an Agent, Network or shared dependency from Woobe.
543
+
544
+ Bulk operations visit only registered Agent/Network roots in dependency order;
545
+ frozen Network constituents are not independent roots. Creation remains explicit.
546
+ Bulk push stops on the first error and reports completed results and remaining
547
+ roots. Each accepted write retains its own content-bound checkpoint.
548
+
549
+ After a timeout or interrupted push, `reconcile` observes the original operation,
550
+ even with broken local YAML. It cannot upload, plan or apply again. Unknown
551
+ acceptance remains pending. Terminal success refreshes native bindings and the
552
+ accepted local base. Terminal failure/cancellation reconciles only components
553
+ with matching approved definition digests and completed owner receipts, then
554
+ allows an explicit new attempt. Local edits made after the original upload remain
555
+ unsynchronized; no author file is overwritten during reconciliation.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "woobe-cli",
3
- "version": "0.7.0",
3
+ "version": "0.9.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