wattetheria 0.3.0 → 0.3.2

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/.env.release CHANGED
@@ -1,5 +1,5 @@
1
1
  # Coordinated release image set
2
- RELEASE_TAG=1.0.1
2
+ RELEASE_TAG=1.0.3
3
3
 
4
4
  WATTETHERIA_KERNEL_IMAGE=ghcr.io/wattetheria/wattetheria-kernel:${RELEASE_TAG}
5
5
  WATTSWARM_KERNEL_IMAGE=ghcr.io/wattetheria/wattswarm-kernel:${RELEASE_TAG}
package/README.md CHANGED
@@ -552,7 +552,7 @@ CLI prerequisites:
552
552
 
553
553
  The CLI handles image pull, deployment directory setup, environment generation, container start,
554
554
  and health checks internally.
555
- Agent commands such as `identity`, `wallet`, `servicenet`, and `publish` are forwarded to the
555
+ Agent commands such as `identity`, `wallet`, and `servicenet` are forwarded to the
556
556
  native `wattetheria-client-cli`; installed release packages should not require Rust on the user's
557
557
  machine. The JS wrapper resolves `WATTETHERIA_CLI_BIN` first, then the matching optional native
558
558
  package such as `@wattetheria/cli-win32-x64`, then `bin/native/<platform>-<arch>/`, then `PATH`.
@@ -574,7 +574,27 @@ Wattetheria node image fallback.
574
574
 
575
575
  Standalone native publisher packages are optional and can be released separately with the manual
576
576
  `npm-native-cli-release` workflow. Use that workflow when publishing new `@wattetheria/cli-*`
577
- packages for users who want to run `servicenet` or `publish` before installing the local node.
577
+ packages for users who want to run ServiceNet commands before installing the local node.
578
+
579
+ ServiceNet publishing is a two-step flow. First register the provider context with an A2A
580
+ `AgentCard`; the ServiceNet node returns the provider id, the CLI derives the agent id, and the
581
+ CLI saves the provider/card context locally:
582
+
583
+ ```bash
584
+ npx wattetheria servicenet agent-card init
585
+ # or write the template into a specific directory:
586
+ npx wattetheria servicenet agent-card init --out ./agents/hermes
587
+
588
+ npx wattetheria servicenet provider register --card ./agent-card.json
589
+ ```
590
+
591
+ Then publish through the ServiceNet business command with the returned agent id. The publish
592
+ command reads the saved provider id, ServiceNet URL, endpoint URL, and card path from local
593
+ context instead of asking for repeated flags:
594
+
595
+ ```bash
596
+ npx wattetheria servicenet publish <agent-id>
597
+ ```
578
598
 
579
599
  Version commands:
580
600
 
@@ -665,8 +685,7 @@ pwsh ./scripts/deploy-release.ps1
665
685
  ],
666
686
  "brain_provider": {
667
687
  "kind": "rules"
668
- },
669
- "servicenet_base_url": "http://127.0.0.1:8042"
688
+ }
670
689
  }
671
690
  ```
672
691
 
@@ -681,7 +700,6 @@ Recommended config for autonomous loop in daemon (`.wattetheria/config.json`):
681
700
  "base_url": "http://127.0.0.1:11434",
682
701
  "model": "qwen2.5:7b-instruct"
683
702
  },
684
- "servicenet_base_url": "http://127.0.0.1:8042",
685
703
  "autonomy_enabled": true,
686
704
  "autonomy_interval_sec": 30
687
705
  }
@@ -710,7 +728,6 @@ Example OpenClaw/OpenAI-compatible config:
710
728
  "api_key_env": "WATTETHERIA_BRAIN_API_KEY"
711
729
  },
712
730
  "wattswarm_ui_base_url": "http://127.0.0.1:7788",
713
- "servicenet_base_url": "http://127.0.0.1:8042",
714
731
  "autonomy_enabled": true,
715
732
  "autonomy_interval_sec": 30
716
733
  }
@@ -744,11 +761,11 @@ The supervision runtime page asks for the concrete API key value. Saving that fo
744
761
 
745
762
  `docker-compose.release.yml` also mounts `${WATTSWARM_HOST_STATE_DIR}/startup_config.json` into the
746
763
  kernel container as read-only. If `WATTETHERIA_GATEWAY_URLS` is unset, the kernel falls back to
747
- `gateway_urls` saved by Wattswarm in that file. For ServiceNet, the kernel uses the first
748
- `servicenet_urls` entry from the same file as the release path; `WATTETHERIA_SERVICENET_BASE_URL`
749
- is only a local override when no startup config URL is available. Wattetheria resolves coarse node
750
- geo location at startup and sends the resulting `latitude` / `longitude` to Wattswarm over the
751
- local sync gRPC bridge, so Wattswarm remains the writer for its own startup config.
764
+ `gateway_urls` saved by Wattswarm in that file. ServiceNet uses the fixed official registry
765
+ endpoint `https://servicenet.wattetheria.com`; it is not read from `.wattetheria/config.json`,
766
+ environment variables, or Wattswarm startup config. Wattetheria resolves coarse node geo location
767
+ at startup and sends the resulting `latitude` / `longitude` to Wattswarm over the local sync gRPC
768
+ bridge, so Wattswarm remains the writer for its own startup config.
752
769
 
753
770
  When Wattetheria registers `core-agent` with Wattswarm, it keeps the brain/runtime
754
771
  `base_url` pointed at the OpenAI-compatible gateway for `/execute` work and exposes a
@@ -757,7 +774,7 @@ for structured agent-event callbacks. This keeps local-mode task execution and
757
774
  topic/consensus flows on the existing runtime path while letting agent events reach
758
775
  OpenClaw/NanoClaw-style runtimes through Wattetheria's adapter.
759
776
 
760
- When `servicenet_base_url` is configured, the control plane exposes local proxy routes for external agent discovery and execution:
777
+ The control plane uses the fixed ServiceNet registry endpoint and exposes local proxy routes for external agent discovery and execution:
761
778
 
762
779
  - `GET /v1/wattetheria/servicenet/agents`
763
780
  - `GET /v1/wattetheria/servicenet/agents/:agent_id`
@@ -37,7 +37,6 @@ services:
37
37
  WATTETHERIA_BRAIN_MODEL: ${WATTETHERIA_BRAIN_MODEL:-}
38
38
  WATTETHERIA_BRAIN_API_KEY_ENV: ${WATTETHERIA_BRAIN_API_KEY_ENV:-}
39
39
  WATTETHERIA_BRAIN_API_KEY: ${WATTETHERIA_BRAIN_API_KEY:-}
40
- WATTETHERIA_SERVICENET_BASE_URL: ${WATTETHERIA_SERVICENET_BASE_URL:-}
41
40
  WATTETHERIA_GATEWAY_URLS: ${WATTETHERIA_GATEWAY_URLS:-}
42
41
  WATTETHERIA_GATEWAY_CONFIG_PATH: ${WATTETHERIA_GATEWAY_CONFIG_PATH:-/var/lib/wattswarm/startup_config.json}
43
42
  WATTETHERIA_AUTONOMY_ENABLED: ${WATTETHERIA_AUTONOMY_ENABLED:-false}
package/lib/cli.js CHANGED
@@ -76,8 +76,7 @@ Commands:
76
76
  Agent subcommands (forwarded to the bundled native CLI when available):
77
77
  identity init | show | export-seed
78
78
  wallet manage wallet payment accounts
79
- servicenet provider register
80
- publish publish an agent card to a watt-servicenet node
79
+ servicenet agent-card init | provider register | publish <agent-id>
81
80
 
82
81
  Options:
83
82
  --version, -v Alias for \`version\`
@@ -1247,7 +1246,6 @@ const FORWARDED_SUBCOMMANDS = new Set([
1247
1246
  "identity",
1248
1247
  "wallet",
1249
1248
  "servicenet",
1250
- "publish",
1251
1249
  ]);
1252
1250
 
1253
1251
  function nativePlatformKey(platform = process.platform, arch = process.arch) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wattetheria",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "Wattetheria deployment CLI",
5
5
  "license": "Apache-2.0",
6
6
  "type": "commonjs",