visionclaw 0.1.185-beta.7 → 0.1.185-beta.8

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.
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-credentials.d.ts","sourceRoot":"","sources":["../../src/agent/runtime-credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAUH,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,4CAA4C,CAAC;AAEpD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAuJD,MAAM,WAAW,6BAA6B;IAC5C,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,4BAA4B,GAAG,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,8BAA8B;IAC7C;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,kBAAkB,GAAG,SAAS,EACtC,OAAO,GAAE,8BAAmC,GAC3C,6BAA6B,CAoB/B;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,IAAI,4BAA4B,GAAG,IAAI,CAEhF;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,IAAI,6BAA6B,GAAG,IAAI,CAwDjF;AAED;;GAEG;AACH,wBAAgB,qCAAqC,IAAI,IAAI,CAG5D"}
1
+ {"version":3,"file":"runtime-credentials.d.ts","sourceRoot":"","sources":["../../src/agent/runtime-credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAUH,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,4CAA4C,CAAC;AAEpD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AA4JD,MAAM,WAAW,6BAA6B;IAC5C,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,4BAA4B,GAAG,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,8BAA8B;IAC7C;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,kBAAkB,GAAG,SAAS,EACtC,OAAO,GAAE,8BAAmC,GAC3C,6BAA6B,CAoB/B;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,IAAI,4BAA4B,GAAG,IAAI,CAEhF;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,IAAI,6BAA6B,GAAG,IAAI,CAwDjF;AAED;;GAEG;AACH,wBAAgB,qCAAqC,IAAI,IAAI,CAG5D"}
@@ -55,14 +55,18 @@ function buildTunnelHostname(cred) {
55
55
  return name;
56
56
  return `${name}.${base}`;
57
57
  }
58
- /**
59
- * Canonical form for comparing an agent name to a tunnel name. Mirrors
60
- * `normalizeAgentName()` in `services/onboarding/src/lib/db.ts` so both
61
- * sides agree on what "same name" means without needing a shared module.
62
- */
58
+ /** Canonical DB slug form. */
63
59
  function normalizeAgentName(name) {
64
60
  return name.trim().toLowerCase().replace(/\s+/g, "-");
65
61
  }
62
+ /**
63
+ * Canonical OBS tunnel-name form. Mirrors onboarding's
64
+ * `normalizeAgentName(...).replace(/-/g, "")`, so agent `holling-pugh`
65
+ * expects tunnel `hollingpugh`.
66
+ */
67
+ function canonicalObsTunnelName(name) {
68
+ return normalizeAgentName(name).replace(/-/g, "");
69
+ }
66
70
  /**
67
71
  * Best-effort directory creation with restrictive permissions. Chmod is not
68
72
  * supported on Windows for directories in the same way as POSIX, so we
@@ -111,8 +115,8 @@ function applyTunnelCredential(cred, agentName) {
111
115
  throw new Error("Runtime tunnel credential has empty credentialsJson");
112
116
  }
113
117
  if (agentName !== undefined && agentName.trim() !== "") {
114
- const expected = normalizeAgentName(agentName);
115
- const actual = normalizeAgentName(tunnelName);
118
+ const expected = canonicalObsTunnelName(agentName);
119
+ const actual = canonicalObsTunnelName(tunnelName);
116
120
  if (expected !== actual) {
117
121
  throw new Error(`Runtime tunnel credential tunnelName "${tunnelName}" does not match ` +
118
122
  `agent name "${agentName}"; refusing to materialize`);
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-credentials.js","sourceRoot":"","sources":["../../src/agent/runtime-credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,+BAA+B,GAChC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAetC;;;;GAIG;AACH,IAAI,aAAa,GAAwC,IAAI,CAAC;AAE9D;;;;GAIG;AACH,IAAI,4BAA4B,GAAkB,IAAI,CAAC;AAEvD,SAAS,sBAAsB,CAAC,IAA6B;IAC3D,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3D,OAAO,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,QAAQ,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;IACtF,CAAC;IACD,sEAAsE;IACtE,sEAAsE;IACtE,wEAAwE;IACxE,OAAO,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,OAAO,IAAI,CAAC,QAAQ,SAAS,IAAI,CAAC,UAAU,SAAS,IAAI,CAAC,YAAY,EAAE,CAAC;AACpH,CAAC;AAED,SAAS,mBAAmB,CAAC,IAA6B;IACxD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAChE,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,GAAW;IAClC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;QACrE,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAgB,EAAE,QAAgB;IAC9D,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9C,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,sEAAsE;QACxE,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,qBAAqB,CAC5B,IAA6B,EAC7B,SAA6B;IAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAC1C,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,IAAI,IAAI,CAAC,eAAe,KAAK,EAAE,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,yCAAyC,UAAU,mBAAmB;gBACpE,eAAe,SAAS,4BAA4B,CACvD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IACxC,eAAe,CAAC,SAAS,CAAC,CAAC;IAC3B,MAAM,eAAe,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,0BAA0B,EAAE,CAAC;IAChD,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAEjD,MAAM,WAAW,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,aAAa,GACjB,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC;QAC9B,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;QACzB,4BAA4B,KAAK,WAAW,CAAC;IAE/C,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,oBAAoB,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5D,wBAAwB,CAAC;YACvB,UAAU,EAAE,UAAU;YACtB,QAAQ;YACR,eAAe;YACf,kEAAkE;YAClE,kEAAkE;YAClE,mEAAmE;YACnE,mCAAmC;YACnC,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;SAClE,CAAC,CAAC;QACH,4BAA4B,GAAG,WAAW,CAAC;QAC3C,MAAM,CAAC,MAAM,CACX,4CAA4C,UAAU,MAAM,QAAQ,QAAQ,SAAS,EAAE,CACxF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAiC;QAC5C,QAAQ;QACR,UAAU;QACV,cAAc;QACd,eAAe;QACf,UAAU;QACV,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE;YACxD,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE;YAC9C,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,aAAa,GAAG,OAAO,CAAC;IACxB,OAAO,OAAO,CAAC;AACjB,CAAC;AAkBD;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAsC,EACtC,UAA0C,EAAE;IAE5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACzD,CAAC;IAED,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YACxD,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CACT,gEACE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,EAAE,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;AAClD,CAAC;AASD;;;;GAIG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B;IACxC,MAAM,UAAU,GAAG,0BAA0B,EAAE,CAAC;IAChD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,IAAI,UAAkB,CAAC;IACvB,IAAI,CAAC;QACH,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,gCAAgC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,mDAAmD,CAAC,IAAI,CACzE,UAAU,CACX,CAAC;IACF,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAC1C,MAAM,eAAe,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAChD,IAAI,CAAC,QAAQ,IAAI,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC;QAAE,OAAO,IAAI,CAAC;IAEjD,sEAAsE;IACtE,qEAAqE;IACrE,oCAAoC;IACpC,EAAE;IACF,iEAAiE;IACjE,kEAAkE;IAClE,kEAAkE;IAClE,oEAAoE;IACpE,oEAAoE;IACpE,sEAAsE;IACtE,oEAAoE;IACpE,qCAAqC;IACrC,IAAI,UAAU,GAAG,QAAQ,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAGhE,CAAC;QACF,MAAM,GAAG,GACP,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ;YACjC,CAAC,CAAC,IAAI,CAAC,UAAU;YACjB,CAAC,CAAC,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ;gBACnC,CAAC,CAAC,IAAI,CAAC,UAAU;gBACjB,CAAC,CAAC,SAAS,CAAC;QAClB,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC7B,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;IACpD,CAAC;IAED,OAAO;QACL,QAAQ;QACR,UAAU;QACV,eAAe;QACf,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qCAAqC;IACnD,aAAa,GAAG,IAAI,CAAC;IACrB,4BAA4B,GAAG,IAAI,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"runtime-credentials.js","sourceRoot":"","sources":["../../src/agent/runtime-credentials.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ ---
2
+ description: Use this skill when the user asks you to expose a local service (web app, API, dashboard, port) to the internet on a public URL, add or change a tunnel hostname, or edit the Cloudflare Tunnel ingress.
3
+ ---
4
+
5
+ # Cloudflare Tunnel (pre-provisioned)
6
+
7
+ A Cloudflare Tunnel is already set up for you. You do NOT run `cloudflared tunnel login`, `create`, `delete`, or `route dns`, and you do NOT touch the credentials JSON.
8
+
9
+ ## What you own
10
+
11
+ - **Config file**: `~/.visionclaw/profiles/default/tunnel/config.yml` (replace `default` if needed).
12
+ - **Your wildcard**: `*.<tunnelname>.visionclawobs.com` — any label is already DNS-routed to your tunnel.
13
+ - **Your tunnel name**: the first label of the existing `*.visionclawobs.com` hostname inside `config.yml`.
14
+
15
+ The apex `<tunnelname>.visionclawobs.com` is reserved for the obs console — leave that ingress rule alone.
16
+
17
+ ## Expose a new local service
18
+
19
+ 1. Append an ingress rule for your new subdomain **above** the catch-all `http_status:404` (must stay last):
20
+ ```yaml
21
+ ingress:
22
+ - hostname: jessica.visionclawobs.com # existing — do not touch
23
+ service: http://localhost:3101
24
+ - hostname: app.jessica.visionclawobs.com # new
25
+ service: http://localhost:8080
26
+ - service: http_status:404 # keep LAST
27
+ ```
28
+ 2. Make sure the local service is actually running on the port you referenced. If it relies on `pm2`, confirm via `pm2 list` before moving on.
29
+ 3. Notify the user of the new URL and tell them you are about to restart to apply it (a restart blips every channel for ~10–15 seconds, so don't do this in the middle of a critical task — finish or pause first).
30
+ 4. Call the `upgrade` tool with `restart_only=true`. This ends the current turn: VisionClaw shuts down gracefully, the process manager brings it back up, and the new cloudflared process reads the updated ingress at startup. **Do not attempt to `curl` the new hostname in the same turn** — the old cloudflared is still running until shutdown fires, so the check would be meaningless, and the turn will be terminated mid-flight anyway.
31
+ 5. If you want to confirm the hostname is serving after you wake up again (e.g. because the user asks, or on the next heartbeat), run `curl -sI https://app.jessica.visionclawobs.com` then.
32
+
33
+ ## Rules
34
+
35
+ - Only edit the `config.yml` above; `~/.cloudflared/` is legacy, leave it.
36
+ - Stay inside `*.<tunnelname>.visionclawobs.com`.
37
+ - Never `pkill cloudflared`, spawn cloudflared yourself, or touch pm2 — `upgrade(restart_only=true)` is the only supported reload path.
38
+ - If something looks fundamentally broken (tunnel down, apex not resolving, need a brand new tunnel), report it via `notify_user` instead of trying to re-provision.
@@ -156,7 +156,7 @@ These logs contain everything printed during execution: system startup, channel
156
156
  The following tools are pre-installed on the system and available for the agent to use:
157
157
 
158
158
  - **pm2** — Process manager for Node.js. Beyond managing VisionClaw itself, the agent can use pm2 to start, stop, and monitor any long-running processes (e.g., web servers, background scripts, automation daemons).
159
- - **cloudflared** — Cloudflare Tunnel client. The agent can use cloudflared to expose local services (web apps, APIs, dashboards) to the internet via secure Cloudflare tunnels without opening firewall ports or configuring port forwarding.
159
+ - **cloudflared** — Cloudflare Tunnel client. A tunnel is already pre-provisioned for the agent by the onboarding service, and the agent owns the wildcard `*.<tunnelname>.visionclawobs.com`. The agent can expose any local service (web app, API, dashboard) on a subdomain under that wildcard by editing its profile-scoped `config.yml`. See the `cloudflare-tunnel` skill for the exact layout, edit rules, and restart workflow — do NOT run `cloudflared tunnel login`, `cloudflared tunnel create`, or replace the credentials file.
160
160
 
161
161
  ## Memory System
162
162
 
@@ -20414,7 +20414,7 @@ var require_prompts3 = __commonJS({
20414
20414
 
20415
20415
  // dist/utils/version-check.js
20416
20416
  function isBundled() {
20417
- const v15 = "0.1.185-beta.7";
20417
+ const v15 = "0.1.185-beta.8";
20418
20418
  return typeof v15 === "string" && v15 !== "undefined";
20419
20419
  }
20420
20420
  function getPackageRoot() {
@@ -20431,7 +20431,7 @@ function getInstallationInfo() {
20431
20431
  };
20432
20432
  }
20433
20433
  function getCurrentVersion() {
20434
- const bundledVersion = "0.1.185-beta.7";
20434
+ const bundledVersion = "0.1.185-beta.8";
20435
20435
  if (bundledVersion && bundledVersion !== "undefined") {
20436
20436
  return bundledVersion;
20437
20437
  }
@@ -1031137,6 +1031137,9 @@ function buildTunnelHostname(cred) {
1031137
1031137
  function normalizeAgentName(name) {
1031138
1031138
  return name.trim().toLowerCase().replace(/\s+/g, "-");
1031139
1031139
  }
1031140
+ function canonicalObsTunnelName(name) {
1031141
+ return normalizeAgentName(name).replace(/-/g, "");
1031142
+ }
1031140
1031143
  function ensureTunnelDir(dir) {
1031141
1031144
  import_node_fs51.default.mkdirSync(dir, { recursive: true });
1031142
1031145
  if (process.platform !== "win32") {
@@ -1031165,8 +1031168,8 @@ function applyTunnelCredential(cred, agentName) {
1031165
1031168
  throw new Error("Runtime tunnel credential has empty credentialsJson");
1031166
1031169
  }
1031167
1031170
  if (agentName !== void 0 && agentName.trim() !== "") {
1031168
- const expected = normalizeAgentName(agentName);
1031169
- const actual = normalizeAgentName(tunnelName);
1031171
+ const expected = canonicalObsTunnelName(agentName);
1031172
+ const actual = canonicalObsTunnelName(tunnelName);
1031170
1031173
  if (expected !== actual) {
1031171
1031174
  throw new Error(`Runtime tunnel credential tunnelName "${tunnelName}" does not match agent name "${agentName}"; refusing to materialize`);
1031172
1031175
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "visionclaw",
3
- "version": "0.1.185-beta.7",
3
+ "version": "0.1.185-beta.8",
4
4
  "description": "A personal assistant agent that runs on your desktop, receives commands from messaging channels, and executes tasks autonomously.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",