@toon-protocol/townhouse 0.3.0 → 0.3.1

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.
@@ -34,7 +34,7 @@ import {
34
34
  MILL_HEALTH_PORT,
35
35
  NODE_BTP_PORT,
36
36
  TOWN_HEALTH_PORT
37
- } from "./chunk-GQNBZJ6F.js";
37
+ } from "./chunk-NZR5C3KD.js";
38
38
  import {
39
39
  __commonJS,
40
40
  __require,
@@ -22287,4 +22287,4 @@ export {
22287
22287
  @scure/bip32/index.js:
22288
22288
  (*! scure-bip32 - MIT License (c) 2022 Patricio Palladino, Paul Miller (paulmillr.com) *)
22289
22289
  */
22290
- //# sourceMappingURL=chunk-B4KWPVEK.js.map
22290
+ //# sourceMappingURL=chunk-6T5CXPYD.js.map
@@ -4,19 +4,24 @@ import { createRequire } from 'module'; const require = createRequire(import.met
4
4
  var CONTAINER_PREFIX = "townhouse-";
5
5
  var NODE_BTP_PORT = 3e3;
6
6
  var DEFAULT_CONNECTOR_IMAGE = (
7
- // v3.8.0 — latest published connector (Story 50.4 bump). Migrates local SQLite
8
- // from better-sqlite3 to libsql (toon-protocol/connector#79 removes the
7
+ // v3.8.1 — latest published connector (Mina settlement fix). Wires the
8
+ // dual-party Mina payment-channel claim path (toon-protocol/connector#84
9
+ // the on-chain `claimFromChannel` now passes the real counterparty balance,
10
+ // salt, and both signatures instead of the single-sig/zeroed placeholders
11
+ // that left Mina settlement un-claimable). EVM and Solana settlement are
12
+ // unchanged. Patch over 3.8.0, which migrated local SQLite from
13
+ // better-sqlite3 to libsql (toon-protocol/connector#79 — removed the
9
14
  // native-build failure on Node 24 that left the settlement/claim subsystem
10
15
  // silently un-wired → value-bearing packets auto-fulfilled instead of
11
- // claim-gated) AND makes inbound per-packet claim validation relation-aware
12
- // (toon-protocol/connector#78 — a child node now skips the inline-claim
16
+ // claim-gated) AND made inbound per-packet claim validation relation-aware
17
+ // (toon-protocol/connector#78 — a child node skips the inline-claim
13
18
  // requirement for PREPAREs forwarded from its parent, unblocking Story 50.3's
14
19
  // AC#1 kind:1 F06 "No payment channel claim attached" on the apex→child hop).
15
20
  // No breaking changes to the SDK/admin contract within 3.x (verified >=3.3.2
16
- // through 3.8.0 — see packages/sdk/CONNECTOR_MIGRATION.md). Digest resolved via
17
- // `docker buildx imagetools inspect` for tag 3.8.0. To bump: see
21
+ // through 3.8.1 — see packages/sdk/CONNECTOR_MIGRATION.md). Digest resolved via
22
+ // `docker buildx imagetools inspect` for tag 3.8.1. To bump: see
18
23
  // CONNECTOR_RELEASE_CONTRACT.md.
19
- "ghcr.io/toon-protocol/connector@sha256:3343c19649290043e521c81b467b7c6410b8eaedd76d48804ea9b6fc810cddb0"
24
+ "ghcr.io/toon-protocol/connector@sha256:d22a786f82cc928238b0ef14c6455d1238bd2f42744138cad8af81ca1747ff6e"
20
25
  );
21
26
  var ACCOUNT_INDEX_TOWN = 0;
22
27
  var ACCOUNT_INDEX_MILL = 1;
@@ -36,4 +41,4 @@ export {
36
41
  MILL_HEALTH_PORT,
37
42
  DVM_HEALTH_PORT
38
43
  };
39
- //# sourceMappingURL=chunk-GQNBZJ6F.js.map
44
+ //# sourceMappingURL=chunk-NZR5C3KD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/constants.ts"],"sourcesContent":["/**\n * Shared constants for Townhouse package.\n *\n * Single source of truth for values used across multiple modules\n * (orchestrator, config-generator, CLI).\n */\n\n/** Container name prefix for all Townhouse-managed Docker containers */\nexport const CONTAINER_PREFIX = 'townhouse-';\n\n/** Internal BTP port exposed by node containers (Docker-internal only) */\nexport const NODE_BTP_PORT = 3000;\n\n/**\n * Default connector Docker image — digest-pinned per CONNECTOR_RELEASE_CONTRACT.md.\n *\n * To bump: capture a new digest by running the Story 45.1 publish workflow\n * against the desired connector tag, copy the resulting image-manifest.json\n * connector entry's digest, and update this constant + the contract canary\n * fixture. See packages/sdk/CONNECTOR_RELEASE_CONTRACT.md for the full bump\n * checklist + breaking-changes history.\n *\n * To read the human-readable tag for log output, consult dist/image-manifest.json:\n * manifest.images.connector.tag\n */\nexport const DEFAULT_CONNECTOR_IMAGE =\n // v3.8.1 — latest published connector (Mina settlement fix). Wires the\n // dual-party Mina payment-channel claim path (toon-protocol/connector#84 —\n // the on-chain `claimFromChannel` now passes the real counterparty balance,\n // salt, and both signatures instead of the single-sig/zeroed placeholders\n // that left Mina settlement un-claimable). EVM and Solana settlement are\n // unchanged. Patch over 3.8.0, which migrated local SQLite from\n // better-sqlite3 to libsql (toon-protocol/connector#79 — removed the\n // native-build failure on Node 24 that left the settlement/claim subsystem\n // silently un-wired → value-bearing packets auto-fulfilled instead of\n // claim-gated) AND made inbound per-packet claim validation relation-aware\n // (toon-protocol/connector#78 — a child node skips the inline-claim\n // requirement for PREPAREs forwarded from its parent, unblocking Story 50.3's\n // AC#1 kind:1 F06 \"No payment channel claim attached\" on the apex→child hop).\n // No breaking changes to the SDK/admin contract within 3.x (verified >=3.3.2\n // through 3.8.1 — see packages/sdk/CONNECTOR_MIGRATION.md). Digest resolved via\n // `docker buildx imagetools inspect` for tag 3.8.1. To bump: see\n // CONNECTOR_RELEASE_CONTRACT.md.\n 'ghcr.io/toon-protocol/connector@sha256:d22a786f82cc928238b0ef14c6455d1238bd2f42744138cad8af81ca1747ff6e';\n\n/**\n * HD wallet account indices per node type (Story 21.4, D21-008).\n * BIP-44 paths: m/44'/{coin}'/ACCOUNT'/0/0\n */\nexport const ACCOUNT_INDEX_TOWN = 0;\nexport const ACCOUNT_INDEX_MILL = 1;\nexport const ACCOUNT_INDEX_DVM = 2;\n\n/** BLS health port exposed by each node container type (internal Docker port). */\nexport const TOWN_HEALTH_PORT = 3100;\nexport const MILL_HEALTH_PORT = 3200;\nexport const DVM_HEALTH_PORT = 3400;\n"],"mappings":";;;AAQO,IAAM,mBAAmB;AAGzB,IAAM,gBAAgB;AActB,IAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBX;AAAA;AAMK,IAAM,qBAAqB;AAC3B,IAAM,qBAAqB;AAC3B,IAAM,oBAAoB;AAG1B,IAAM,mBAAmB;AACzB,IAAM,mBAAmB;AACzB,IAAM,kBAAkB;","names":[]}
package/dist/cli.js CHANGED
@@ -28,11 +28,11 @@ import {
28
28
  serviceFromContainerName,
29
29
  tailContainerLogs,
30
30
  writeHsConnectorConfig
31
- } from "./chunk-B4KWPVEK.js";
31
+ } from "./chunk-6T5CXPYD.js";
32
32
  import "./chunk-5O4SBV5O.js";
33
33
  import {
34
34
  CONTAINER_PREFIX
35
- } from "./chunk-GQNBZJ6F.js";
35
+ } from "./chunk-NZR5C3KD.js";
36
36
  import {
37
37
  formatRelativeTime,
38
38
  formatUsdc
@@ -2056,7 +2056,7 @@ async function handleInit(force, configDir, password, preset, yes) {
2056
2056
  mkdirSync(dir, { recursive: true, mode: 448 });
2057
2057
  let configToWrite;
2058
2058
  if (preset === "demo") {
2059
- const { buildDemoConfig, DEMO_DETERMINISTIC_PASSWORD } = await import("./demo-3DWRDMYY.js");
2059
+ const { buildDemoConfig, DEMO_DETERMINISTIC_PASSWORD } = await import("./demo-4ZF3RRNH.js");
2060
2060
  configToWrite = buildDemoConfig({ walletPath: join(dir, "wallet.enc") });
2061
2061
  if (yes && !password) {
2062
2062
  password = DEMO_DETERMINISTIC_PASSWORD;
@@ -48,7 +48,7 @@ services:
48
48
  # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
49
49
  townhouse-dev-connector:
50
50
  # Image tag must match DEFAULT_CONNECTOR_IMAGE in packages/townhouse/src/constants.ts
51
- image: ghcr.io/toon-protocol/connector:3.8.0
51
+ image: ghcr.io/toon-protocol/connector:3.8.1
52
52
  container_name: townhouse-dev-connector
53
53
  networks:
54
54
  - townhouse-dev-net
@@ -22,11 +22,11 @@
22
22
  # Story 45.4 boots only connector + townhouse-api at apex install
23
23
  #
24
24
  # Digest placeholders (substituted at build time from dist/image-manifest.json):
25
- # @sha256:247e38556c5477952ba128eea9d7f2d3217c1d2d38c8d830996cfb4199797912 → @sha256:<hex>
26
- # @sha256:e21109af0331ad8a8b4cb2ec9b953ef4fc5253af9564cbcbc14eba77f8afa3b2 → @sha256:<hex>
27
- # @sha256:0d696eeed5a0f0b831f531f23c90bfcd2a40e5c07de127e9a6bdd8b2a68ea634 → @sha256:<hex>
28
- # @sha256:778668561d71a37483b092950d6ded536b6edc6cde195b7c0e42904e9dfd32b0 → @sha256:<hex>
29
- # @sha256:3343c19649290043e521c81b467b7c6410b8eaedd76d48804ea9b6fc810cddb0 → @sha256:<hex>
25
+ # @sha256:1f262d87d73e8812cf5b78265935bcb64e316dbfe947992508f3b63f8ac2739a → @sha256:<hex>
26
+ # @sha256:ef5f820a9d00089ff5675dc7fa5df85d43f7d51550fb8a36adc18bac43785951 → @sha256:<hex>
27
+ # @sha256:b8759355bf06490fe6c2547580f9163aced5bbc53a4923ec7bc484372c02b12c → @sha256:<hex>
28
+ # @sha256:4ce3d871ec8b8d82559d85427cad278e1f079e569d16d5f4048ffa0ce3ba819a → @sha256:<hex>
29
+ # @sha256:d22a786f82cc928238b0ef14c6455d1238bd2f42744138cad8af81ca1747ff6e → @sha256:<hex>
30
30
  #
31
31
  # Scope guard (Story 45.2 does NOT include):
32
32
  # - ator-sidecar / ator-sidecar-relay (connector v3.5.x does HS publishing in-process)
@@ -101,7 +101,7 @@ services:
101
101
  - townhouse-hs-net
102
102
 
103
103
  connector:
104
- image: ghcr.io/toon-protocol/connector@sha256:3343c19649290043e521c81b467b7c6410b8eaedd76d48804ea9b6fc810cddb0
104
+ image: ghcr.io/toon-protocol/connector@sha256:d22a786f82cc928238b0ef14c6455d1238bd2f42744138cad8af81ca1747ff6e
105
105
  # v3.5.1 has the multi-arch manifest but the default resolves to arm64 on
106
106
  # some Docker versions. Pin to amd64 explicitly until the manifest is fixed.
107
107
  platform: linux/amd64
@@ -152,7 +152,7 @@ services:
152
152
  # Port D21-008: Fastify host API on 127.0.0.1:28090.
153
153
  # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
154
154
  townhouse-api:
155
- image: ghcr.io/toon-protocol/townhouse-api@sha256:247e38556c5477952ba128eea9d7f2d3217c1d2d38c8d830996cfb4199797912
155
+ image: ghcr.io/toon-protocol/townhouse-api@sha256:1f262d87d73e8812cf5b78265935bcb64e316dbfe947992508f3b63f8ac2739a
156
156
  container_name: townhouse-hs-api
157
157
  # Run as the operator's host UID so bind-mounted ~/.townhouse files
158
158
  # (rw------- 600) are readable. TOWNHOUSE_UID is injected by `townhouse hs up`.
@@ -252,7 +252,7 @@ services:
252
252
  # start at first run).
253
253
  # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
254
254
  town:
255
- image: ghcr.io/toon-protocol/town@sha256:e21109af0331ad8a8b4cb2ec9b953ef4fc5253af9564cbcbc14eba77f8afa3b2
255
+ image: ghcr.io/toon-protocol/town@sha256:ef5f820a9d00089ff5675dc7fa5df85d43f7d51550fb8a36adc18bac43785951
256
256
  container_name: townhouse-hs-town
257
257
  profiles: [town]
258
258
  networks:
@@ -303,7 +303,7 @@ services:
303
303
  # Lazy-provisioned via Epic 46: `townhouse node add mill`
304
304
  # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
305
305
  mill:
306
- image: ghcr.io/toon-protocol/mill@sha256:0d696eeed5a0f0b831f531f23c90bfcd2a40e5c07de127e9a6bdd8b2a68ea634
306
+ image: ghcr.io/toon-protocol/mill@sha256:b8759355bf06490fe6c2547580f9163aced5bbc53a4923ec7bc484372c02b12c
307
307
  container_name: townhouse-hs-mill
308
308
  profiles: [mill]
309
309
  networks:
@@ -351,7 +351,7 @@ services:
351
351
  # Lazy-provisioned via Epic 46: `townhouse node add dvm`
352
352
  # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
353
353
  dvm:
354
- image: ghcr.io/toon-protocol/dvm@sha256:778668561d71a37483b092950d6ded536b6edc6cde195b7c0e42904e9dfd32b0
354
+ image: ghcr.io/toon-protocol/dvm@sha256:4ce3d871ec8b8d82559d85427cad278e1f079e569d16d5f4048ffa0ce3ba819a
355
355
  container_name: townhouse-hs-dvm
356
356
  profiles: [dvm]
357
357
  networks:
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
2
  import {
3
3
  DEFAULT_CONNECTOR_IMAGE
4
- } from "./chunk-GQNBZJ6F.js";
4
+ } from "./chunk-NZR5C3KD.js";
5
5
  import "./chunk-I2R4CRUX.js";
6
6
 
7
7
  // src/presets/demo.ts
@@ -115,4 +115,4 @@ export {
115
115
  defaultLeasesPath,
116
116
  resolveChainEndpoints
117
117
  };
118
- //# sourceMappingURL=demo-3DWRDMYY.js.map
118
+ //# sourceMappingURL=demo-4ZF3RRNH.js.map
@@ -1,32 +1,32 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "townhouseVersion": "0.3.0",
4
- "builtAt": "2026-06-02T16:22:21.789Z",
3
+ "townhouseVersion": "0.3.1",
4
+ "builtAt": "2026-06-02T19:57:06.839Z",
5
5
  "images": {
6
6
  "townhouse-api": {
7
7
  "name": "ghcr.io/toon-protocol/townhouse-api",
8
- "tag": "0.3.0",
9
- "digest": "sha256:247e38556c5477952ba128eea9d7f2d3217c1d2d38c8d830996cfb4199797912"
8
+ "tag": "0.3.1",
9
+ "digest": "sha256:1f262d87d73e8812cf5b78265935bcb64e316dbfe947992508f3b63f8ac2739a"
10
10
  },
11
11
  "town": {
12
12
  "name": "ghcr.io/toon-protocol/town",
13
- "tag": "0.3.0",
14
- "digest": "sha256:e21109af0331ad8a8b4cb2ec9b953ef4fc5253af9564cbcbc14eba77f8afa3b2"
13
+ "tag": "0.3.1",
14
+ "digest": "sha256:ef5f820a9d00089ff5675dc7fa5df85d43f7d51550fb8a36adc18bac43785951"
15
15
  },
16
16
  "mill": {
17
17
  "name": "ghcr.io/toon-protocol/mill",
18
- "tag": "0.3.0",
19
- "digest": "sha256:0d696eeed5a0f0b831f531f23c90bfcd2a40e5c07de127e9a6bdd8b2a68ea634"
18
+ "tag": "0.3.1",
19
+ "digest": "sha256:b8759355bf06490fe6c2547580f9163aced5bbc53a4923ec7bc484372c02b12c"
20
20
  },
21
21
  "dvm": {
22
22
  "name": "ghcr.io/toon-protocol/dvm",
23
- "tag": "0.3.0",
24
- "digest": "sha256:778668561d71a37483b092950d6ded536b6edc6cde195b7c0e42904e9dfd32b0"
23
+ "tag": "0.3.1",
24
+ "digest": "sha256:4ce3d871ec8b8d82559d85427cad278e1f079e569d16d5f4048ffa0ce3ba819a"
25
25
  },
26
26
  "connector": {
27
27
  "name": "ghcr.io/toon-protocol/connector",
28
- "tag": "3.8.0",
29
- "digest": "sha256:3343c19649290043e521c81b467b7c6410b8eaedd76d48804ea9b6fc810cddb0"
28
+ "tag": "3.8.1",
29
+ "digest": "sha256:d22a786f82cc928238b0ef14c6455d1238bd2f42744138cad8af81ca1747ff6e"
30
30
  }
31
31
  }
32
32
  }
package/dist/index.js CHANGED
@@ -34,9 +34,9 @@ import {
34
34
  utcYearBoundary,
35
35
  validateConfig,
36
36
  writeNodesYaml
37
- } from "./chunk-B4KWPVEK.js";
37
+ } from "./chunk-6T5CXPYD.js";
38
38
  import "./chunk-5O4SBV5O.js";
39
- import "./chunk-GQNBZJ6F.js";
39
+ import "./chunk-NZR5C3KD.js";
40
40
  import "./chunk-I2R4CRUX.js";
41
41
  export {
42
42
  BootReconciler,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toon-protocol/townhouse",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "TOON Townhouse — host-native orchestrator + dashboard for Docker-containerized TOON nodes",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -74,8 +74,8 @@
74
74
  "@toon-protocol/client": "^0.9.1",
75
75
  "@toon-protocol/mill": "^0.1.0",
76
76
  "@toon-protocol/relay": "^1.3.1",
77
- "@toon-protocol/core": "^1.4.1",
78
- "@toon-protocol/sdk": "^0.5.0"
77
+ "@toon-protocol/sdk": "^0.5.0",
78
+ "@toon-protocol/core": "^1.4.1"
79
79
  },
80
80
  "scripts": {
81
81
  "build": "tsup",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/constants.ts"],"sourcesContent":["/**\n * Shared constants for Townhouse package.\n *\n * Single source of truth for values used across multiple modules\n * (orchestrator, config-generator, CLI).\n */\n\n/** Container name prefix for all Townhouse-managed Docker containers */\nexport const CONTAINER_PREFIX = 'townhouse-';\n\n/** Internal BTP port exposed by node containers (Docker-internal only) */\nexport const NODE_BTP_PORT = 3000;\n\n/**\n * Default connector Docker image — digest-pinned per CONNECTOR_RELEASE_CONTRACT.md.\n *\n * To bump: capture a new digest by running the Story 45.1 publish workflow\n * against the desired connector tag, copy the resulting image-manifest.json\n * connector entry's digest, and update this constant + the contract canary\n * fixture. See packages/sdk/CONNECTOR_RELEASE_CONTRACT.md for the full bump\n * checklist + breaking-changes history.\n *\n * To read the human-readable tag for log output, consult dist/image-manifest.json:\n * manifest.images.connector.tag\n */\nexport const DEFAULT_CONNECTOR_IMAGE =\n // v3.8.0 — latest published connector (Story 50.4 bump). Migrates local SQLite\n // from better-sqlite3 to libsql (toon-protocol/connector#79 — removes the\n // native-build failure on Node 24 that left the settlement/claim subsystem\n // silently un-wired → value-bearing packets auto-fulfilled instead of\n // claim-gated) AND makes inbound per-packet claim validation relation-aware\n // (toon-protocol/connector#78 — a child node now skips the inline-claim\n // requirement for PREPAREs forwarded from its parent, unblocking Story 50.3's\n // AC#1 kind:1 F06 \"No payment channel claim attached\" on the apex→child hop).\n // No breaking changes to the SDK/admin contract within 3.x (verified >=3.3.2\n // through 3.8.0 — see packages/sdk/CONNECTOR_MIGRATION.md). Digest resolved via\n // `docker buildx imagetools inspect` for tag 3.8.0. To bump: see\n // CONNECTOR_RELEASE_CONTRACT.md.\n 'ghcr.io/toon-protocol/connector@sha256:3343c19649290043e521c81b467b7c6410b8eaedd76d48804ea9b6fc810cddb0';\n\n/**\n * HD wallet account indices per node type (Story 21.4, D21-008).\n * BIP-44 paths: m/44'/{coin}'/ACCOUNT'/0/0\n */\nexport const ACCOUNT_INDEX_TOWN = 0;\nexport const ACCOUNT_INDEX_MILL = 1;\nexport const ACCOUNT_INDEX_DVM = 2;\n\n/** BLS health port exposed by each node container type (internal Docker port). */\nexport const TOWN_HEALTH_PORT = 3100;\nexport const MILL_HEALTH_PORT = 3200;\nexport const DVM_HEALTH_PORT = 3400;\n"],"mappings":";;;AAQO,IAAM,mBAAmB;AAGzB,IAAM,gBAAgB;AActB,IAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaX;AAAA;AAMK,IAAM,qBAAqB;AAC3B,IAAM,qBAAqB;AAC3B,IAAM,oBAAoB;AAG1B,IAAM,mBAAmB;AACzB,IAAM,mBAAmB;AACzB,IAAM,kBAAkB;","names":[]}