@snowyroad/braid 0.96.5 → 0.96.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.
@@ -400,7 +400,7 @@ var InviteExpiredError = class extends Error {
400
400
  }
401
401
  };
402
402
  async function redeemInvite(relayHttpUrl, code) {
403
- const { boundedJsonFetch: boundedJsonFetch2 } = await import("./http-DZ3ZHOHX.js");
403
+ const { boundedJsonFetch: boundedJsonFetch2 } = await import("./http-3WYFRJZR.js");
404
404
  const r = await boundedJsonFetch2(`${relayHttpUrl.replace(/\/$/, "")}/invites/redeem`, {
405
405
  method: "POST",
406
406
  headers: { "content-type": "application/json" },
@@ -492,7 +492,7 @@ function validateReplacementToken(newToken, currentToken, nowMs = Date.now()) {
492
492
  return { ok: true };
493
493
  }
494
494
  async function mintAccessToken(relayHttpUrl, agentKey, fetchFn = fetch, dpopProof) {
495
- const { boundedJsonFetch: boundedJsonFetch2 } = await import("./http-DZ3ZHOHX.js");
495
+ const { boundedJsonFetch: boundedJsonFetch2 } = await import("./http-3WYFRJZR.js");
496
496
  const r = await boundedJsonFetch2(`${relayHttpUrl.replace(/\/$/, "")}/agents/token`, {
497
497
  method: "POST",
498
498
  headers: {
@@ -543,6 +543,13 @@ function classifyFatal(codeOrError) {
543
543
  }
544
544
 
545
545
  // src/tty.ts
546
+ var verboseOutput = false;
547
+ function setVerboseOutput(v) {
548
+ verboseOutput = v;
549
+ }
550
+ function isVerboseOutput() {
551
+ return verboseOutput;
552
+ }
546
553
  var ANSI_RE = /\u001b(?:\[[0-?]*[ -\/]*[@-~]|\][^\u0007\u001b]*(?:\u0007|\u001b\\)?|[@-Z\\-_])/g;
547
554
  var CTRL_RE = /[\u0000-\u0008\u000b-\u001f\u007f-\u009f]/g;
548
555
  function sanitizeForTty(s) {
@@ -2147,11 +2154,13 @@ var AcpClient = class {
2147
2154
  const noise = createTeardownNoiseFilter(() => this.stopping);
2148
2155
  pipeSanitizedToTty(child.stderr, {
2149
2156
  write: (s) => {
2157
+ if (!isVerboseOutput()) return;
2150
2158
  const kept = noise.push(s);
2151
2159
  if (kept) process.stderr.write(kept);
2152
2160
  }
2153
2161
  });
2154
2162
  child.on("close", () => {
2163
+ if (!isVerboseOutput()) return;
2155
2164
  const rest = noise.flush();
2156
2165
  if (rest) process.stderr.write(rest);
2157
2166
  });
@@ -3562,7 +3571,7 @@ function createConnStatus(opts) {
3562
3571
  reconnects++;
3563
3572
  lastReconnectAt = t;
3564
3573
  adoptExp(e.tokenExp);
3565
- opts.log(`[braid] reconnected${ep !== null ? ` (offline ${ep})` : ""}`);
3574
+ if (opts.verbose) opts.log(`[braid] reconnected${ep !== null ? ` (offline ${ep})` : ""}`);
3566
3575
  break;
3567
3576
  }
3568
3577
  case "disconnected":
@@ -3764,6 +3773,16 @@ async function verifyCardIdentity(card, peerName, pinnedIssuer) {
3764
3773
  }
3765
3774
 
3766
3775
  // src/relayClient.ts
3776
+ function relayHttpNote(label, r) {
3777
+ if (!isVerboseOutput()) return;
3778
+ if (r.status === 402) {
3779
+ const plan = r.json?.requiredPlan;
3780
+ const need = typeof plan === "string" && plan.length > 0 ? `requires ${sanitizeForTty(plan).replace(/\s+/g, " ").slice(0, 32)}` : "requires a higher plan";
3781
+ console.log(`[braid] ${label}: not included in this channel's plan (${need})`);
3782
+ return;
3783
+ }
3784
+ console.warn(`[braid] ${label} HTTP ${r.status ?? r.category}`);
3785
+ }
3767
3786
  var HEARTBEAT_MS = 25e3;
3768
3787
  var WATCHDOG_MS = 4e4;
3769
3788
  var CONNECT_TIMEOUT_MS = 2e4;
@@ -3866,7 +3885,7 @@ function decideCardTrust(pin, name, r) {
3866
3885
  if (pin.has(name)) return "downgrade";
3867
3886
  return "ok";
3868
3887
  }
3869
- var RelayClient = class {
3888
+ var RelayClient = class _RelayClient {
3870
3889
  constructor(cfg, deps) {
3871
3890
  this.cfg = cfg;
3872
3891
  this.deps = deps;
@@ -3965,6 +3984,9 @@ var RelayClient = class {
3965
3984
  * legitimately uses that literal. Kept in sync with `memberChannels` (cleared on
3966
3985
  * `removed`). Names only (G7) — the relay resolves ids to names server-side. */
3967
3986
  channelOrgs = /* @__PURE__ */ new Map();
3987
+ /** D4: per-channel agent-visible features from the relay (hello.channelFeatures / added.features).
3988
+ * Absent channel or key = offered, so an older relay changes nothing. */
3989
+ channelFeatures = /* @__PURE__ */ new Map();
3968
3990
  /** Task 7.1 (D4): this agent's own workspace display name, or the literal string
3969
3991
  * "personal" for an org-less agent, from hello's `agentWorkspace`. null until the
3970
3992
  * first hello that carries it (older relay, or not yet connected). */
@@ -4211,7 +4233,7 @@ var RelayClient = class {
4211
4233
  continue;
4212
4234
  }
4213
4235
  if (!r.ok) {
4214
- console.warn("[braid] backfill HTTP", r.status ?? r.category);
4236
+ relayHttpNote("backfill", r);
4215
4237
  return out;
4216
4238
  }
4217
4239
  let body = r.json;
@@ -4265,7 +4287,7 @@ var RelayClient = class {
4265
4287
  { requestClass: "relay.messages.recent", maxBodyBytes: 16 * 1024 * 1024 }
4266
4288
  );
4267
4289
  if (!r.ok) {
4268
- console.warn("[braid] join-history HTTP", r.status ?? r.category);
4290
+ relayHttpNote("join-history", r);
4269
4291
  return [];
4270
4292
  }
4271
4293
  const body = r.json;
@@ -4548,6 +4570,7 @@ var RelayClient = class {
4548
4570
  this.lastGapResumeAt.delete(ch);
4549
4571
  this.memberChannels.delete(ch);
4550
4572
  this.channelOrgs.delete(ch);
4573
+ this.channelFeatures.delete(ch);
4551
4574
  this.removedCb?.(ch);
4552
4575
  break;
4553
4576
  }
@@ -4557,6 +4580,8 @@ var RelayClient = class {
4557
4580
  this.memberChannels.add(ch);
4558
4581
  const orgName = msg.orgName;
4559
4582
  if (typeof orgName === "string" && orgName.length > 0) this.channelOrgs.set(ch, orgName);
4583
+ const fm = _RelayClient.asFeatureMap(msg.features);
4584
+ if (fm) this.channelFeatures.set(ch, fm);
4560
4585
  this.addedCb?.(ch);
4561
4586
  break;
4562
4587
  }
@@ -4606,6 +4631,13 @@ var RelayClient = class {
4606
4631
  }
4607
4632
  }
4608
4633
  }
4634
+ const feats = msg.channelFeatures;
4635
+ if (feats && typeof feats === "object" && !Array.isArray(feats)) {
4636
+ for (const [ch, m] of Object.entries(feats)) {
4637
+ const fm = _RelayClient.asFeatureMap(m);
4638
+ if (fm) this.channelFeatures.set(ch, fm);
4639
+ }
4640
+ }
4609
4641
  const agentWorkspaceRaw = msg.agentWorkspace;
4610
4642
  if (typeof agentWorkspaceRaw === "string" && agentWorkspaceRaw.length > 0) {
4611
4643
  this.agentWorkspace = agentWorkspaceRaw;
@@ -4883,7 +4915,7 @@ var RelayClient = class {
4883
4915
  body: JSON.stringify({ scope, card }),
4884
4916
  requestClass: "relay.agentcard.put"
4885
4917
  });
4886
- if (!r.ok) console.warn("[braid] put card HTTP", r.status ?? r.category);
4918
+ if (!r.ok) relayHttpNote("put card", r);
4887
4919
  }
4888
4920
  /** Verify peer identity in the background (never blocks ingest). Logs security
4889
4921
  * warnings on mismatch/downgrade; silent on ok (unsigned/unattested + never-pinned). */
@@ -4896,7 +4928,7 @@ var RelayClient = class {
4896
4928
  } else if (decision === "downgrade") {
4897
4929
  console.warn(`[braid] SECURITY: peer "${name}" downgraded from a previously identity-verified card; not trusted`);
4898
4930
  } else if (decision === "verified") {
4899
- console.log(`[braid] peer "${name}" identity-verified (Clerk-anchored)`);
4931
+ if (isVerboseOutput()) console.log(`[braid] peer "${name}" identity-verified (Clerk-anchored)`);
4900
4932
  }
4901
4933
  }).catch(() => {
4902
4934
  });
@@ -4917,7 +4949,7 @@ var RelayClient = class {
4917
4949
  if (!ch) return [];
4918
4950
  const r = await this.httpJson(`/channels/${ch}`, { requestClass: "relay.channel.get" });
4919
4951
  if (!r.ok) {
4920
- console.warn("[braid] roster HTTP", r.status ?? r.category);
4952
+ relayHttpNote("roster", r);
4921
4953
  return [];
4922
4954
  }
4923
4955
  const body = r.json;
@@ -4939,6 +4971,17 @@ var RelayClient = class {
4939
4971
  return normalizeRosterEntry(m.id, m.description, m.card);
4940
4972
  });
4941
4973
  }
4974
+ static asFeatureMap(v) {
4975
+ if (!v || typeof v !== "object" || Array.isArray(v)) return null;
4976
+ const out = {};
4977
+ for (const [k, b] of Object.entries(v)) if (typeof b === "boolean") out[k] = b;
4978
+ return out;
4979
+ }
4980
+ /** True unless the relay told us this channel's plan lacks `key` (D4). */
4981
+ channelHasFeature(channelId, key) {
4982
+ const f = this.channelFeatures.get(channelId);
4983
+ return f === void 0 || f[key] !== false;
4984
+ }
4942
4985
  /** Sync read of this agent's own scribe status for a channel (BL-121 task 2).
4943
4986
  * Populated by fetchRoster (see selfScribeCache above); false until that has
4944
4987
  * run once for this channel. */
@@ -4957,7 +5000,7 @@ var RelayClient = class {
4957
5000
  async fetchMemberChannels() {
4958
5001
  const r = await this.httpJson(`/channels`, { requestClass: "relay.channels.list" });
4959
5002
  if (!r.ok) {
4960
- console.warn("[braid] member channels HTTP", r.status ?? r.category);
5003
+ relayHttpNote("member channels", r);
4961
5004
  return [];
4962
5005
  }
4963
5006
  const body = r.json;
@@ -5039,7 +5082,7 @@ var RelayClient = class {
5039
5082
  requestClass: "relay.message.post"
5040
5083
  });
5041
5084
  if (!r.ok) {
5042
- console.warn("[braid] post HTTP", r.status ?? r.category);
5085
+ relayHttpNote("post", r);
5043
5086
  }
5044
5087
  }
5045
5088
  /** Add an emoji reaction to a message in a channel. Degrades silently on error (never throws). */
@@ -5050,7 +5093,7 @@ var RelayClient = class {
5050
5093
  method: "PUT",
5051
5094
  requestClass: "relay.reaction.put"
5052
5095
  });
5053
- if (!r.ok) console.warn("[braid] add reaction HTTP", r.status ?? r.category);
5096
+ if (!r.ok) relayHttpNote("add reaction", r);
5054
5097
  }
5055
5098
  /** Remove an emoji reaction from a message in a channel. Degrades silently on error (never throws). */
5056
5099
  async removeReaction(channelId, messageId, emoji) {
@@ -5060,7 +5103,7 @@ var RelayClient = class {
5060
5103
  method: "DELETE",
5061
5104
  requestClass: "relay.reaction.delete"
5062
5105
  });
5063
- if (!r.ok) console.warn("[braid] remove reaction HTTP", r.status ?? r.category);
5106
+ if (!r.ok) relayHttpNote("remove reaction", r);
5064
5107
  }
5065
5108
  /** Append a structured reflection to a channel. Degrades silently on error (never throws).
5066
5109
  * Maps snake_case tool-arg fields to camelCase REST body before posting. */
@@ -5086,7 +5129,7 @@ var RelayClient = class {
5086
5129
  body: JSON.stringify(body),
5087
5130
  requestClass: "relay.reflection.post"
5088
5131
  });
5089
- if (!r.ok) console.warn("[braid] write reflection HTTP", r.status ?? r.category);
5132
+ if (!r.ok) relayHttpNote("write reflection", r);
5090
5133
  }
5091
5134
  /** Append a durable note to a channel's shared memory. Never throws on a network error
5092
5135
  * (returns {ok:false, status:0}), but — unlike the pre-BL-121 version — surfaces the
@@ -5107,7 +5150,7 @@ var RelayClient = class {
5107
5150
  body: JSON.stringify(noteBody),
5108
5151
  requestClass: "relay.note.post"
5109
5152
  });
5110
- if (!r.ok) console.warn("[braid] write note HTTP", r.status ?? r.category);
5153
+ if (!r.ok) relayHttpNote("write note", r);
5111
5154
  return { ok: r.ok, status: r.ok ? r.status : r.status ?? 0, json: r.ok ? r.json : r.json };
5112
5155
  }
5113
5156
  // ── Private memory lane (BL-056 task 7) ──────────────────────────────────────
@@ -5138,7 +5181,7 @@ var RelayClient = class {
5138
5181
  body: JSON.stringify(memBody),
5139
5182
  requestClass: "relay.memory.post"
5140
5183
  });
5141
- if (!r.ok) console.warn("[braid] remember private HTTP", r.status ?? r.category);
5184
+ if (!r.ok) relayHttpNote("remember private", r);
5142
5185
  return { ok: r.ok, status: r.ok ? r.status : r.status ?? 0, json: r.ok ? r.json : r.json };
5143
5186
  }
5144
5187
  /** JIT recall over THIS agent's own private memory lane (relay GET
@@ -5165,7 +5208,7 @@ var RelayClient = class {
5165
5208
  { requestClass: "relay.memory.recall" }
5166
5209
  );
5167
5210
  if (!r.ok) {
5168
- console.warn("[braid] recall private HTTP", r.status ?? r.category);
5211
+ relayHttpNote("recall private", r);
5169
5212
  return [];
5170
5213
  }
5171
5214
  const data = r.json;
@@ -5366,7 +5409,7 @@ var RelayClient = class {
5366
5409
  if (!ch) return [];
5367
5410
  const r = await this.httpJson(`/channels/${ch}/notes`, { requestClass: "relay.notes.get" });
5368
5411
  if (!r.ok) {
5369
- console.warn("[braid] notes HTTP", r.status ?? r.category);
5412
+ relayHttpNote("notes", r);
5370
5413
  return [];
5371
5414
  }
5372
5415
  const data = r.json;
@@ -5396,7 +5439,7 @@ var RelayClient = class {
5396
5439
  if (!ch) return [];
5397
5440
  const r = await this.httpJson(`/channels/${ch}/insights`, { requestClass: "relay.insights.get" });
5398
5441
  if (!r.ok) {
5399
- console.warn("[braid] insights HTTP", r.status ?? r.category);
5442
+ relayHttpNote("insights", r);
5400
5443
  return [];
5401
5444
  }
5402
5445
  const data = r.json;
@@ -5450,7 +5493,7 @@ var RelayClient = class {
5450
5493
  body,
5451
5494
  requestClass: "relay.flow.post"
5452
5495
  });
5453
- if (!r.ok) console.warn("[braid] flow post HTTP", r.status ?? r.category);
5496
+ if (!r.ok) relayHttpNote("flow post", r);
5454
5497
  }
5455
5498
  /** Channel instructions text (empty if none or on error — never throws). Branded (H2-4). */
5456
5499
  async fetchChannelInstructions(channelId) {
@@ -5458,7 +5501,7 @@ var RelayClient = class {
5458
5501
  if (!ch) return untrusted("");
5459
5502
  const r = await this.httpJson(`/channels/${ch}/instructions`, { requestClass: "relay.instructions.get" });
5460
5503
  if (!r.ok) {
5461
- console.warn("[braid] instructions HTTP", r.status ?? r.category);
5504
+ relayHttpNote("instructions", r);
5462
5505
  return untrusted("");
5463
5506
  }
5464
5507
  const data = r.json;
@@ -5471,7 +5514,7 @@ var RelayClient = class {
5471
5514
  if (!ch) return [];
5472
5515
  const r = await this.httpJson(`/channels/${ch}/topics`, { requestClass: "relay.topics.get" });
5473
5516
  if (!r.ok) {
5474
- console.warn("[braid] topics HTTP", r.status ?? r.category);
5517
+ relayHttpNote("topics", r);
5475
5518
  return [];
5476
5519
  }
5477
5520
  const data = r.json;
@@ -5485,7 +5528,7 @@ var RelayClient = class {
5485
5528
  if (!ch) return [];
5486
5529
  const r = await this.httpJson(`/channels/${ch}/sources`, { requestClass: "relay.sources.get" });
5487
5530
  if (!r.ok) {
5488
- console.warn("[braid] sources HTTP", r.status ?? r.category);
5531
+ relayHttpNote("sources", r);
5489
5532
  return [];
5490
5533
  }
5491
5534
  const data = r.json;
@@ -5501,7 +5544,7 @@ var RelayClient = class {
5501
5544
  if (!ch) return [];
5502
5545
  const r = await this.httpJson(`/channels/${ch}/sources`, { requestClass: "relay.sources.get" });
5503
5546
  if (!r.ok) {
5504
- console.warn("[braid] listSources HTTP", r.status ?? r.category);
5547
+ relayHttpNote("listSources", r);
5505
5548
  return [];
5506
5549
  }
5507
5550
  const data = r.json;
@@ -5514,7 +5557,7 @@ var RelayClient = class {
5514
5557
  if (!ch || !sid) return null;
5515
5558
  const r = await this.httpJson(`/channels/${ch}/sources/${sid}/content`, { requestClass: "relay.sources.get" });
5516
5559
  if (!r.ok) {
5517
- console.warn("[braid] getSourceContent HTTP", r.status ?? r.category);
5560
+ relayHttpNote("getSourceContent", r);
5518
5561
  return null;
5519
5562
  }
5520
5563
  const data = r.json;
@@ -5538,7 +5581,7 @@ var RelayClient = class {
5538
5581
  this.fetchChannelTopics(channelId),
5539
5582
  this.fetchSourcesContext(channelId),
5540
5583
  this.fetchChannelNotes(channelId),
5541
- this.fetchInsights(channelId)
5584
+ this.channelHasFeature(channelId, "insights") ? this.fetchInsights(channelId) : Promise.resolve([])
5542
5585
  ]);
5543
5586
  const orderedNotes = await this.applyRecallOrder(channelId, notes, queryHint);
5544
5587
  return buildChannelContext({ instructions, topics, pins, notes: orderedNotes, insights, isScribe: this.isScribeFor(channelId) });
@@ -5574,7 +5617,7 @@ var RelayClient = class {
5574
5617
  requestClass: "relay.recall.post"
5575
5618
  });
5576
5619
  if (!r.ok) {
5577
- console.warn("[braid] recall HTTP", r.status ?? r.category);
5620
+ relayHttpNote("recall", r);
5578
5621
  return [];
5579
5622
  }
5580
5623
  const data = r.json;
@@ -5621,7 +5664,7 @@ var RelayClient = class {
5621
5664
  { requestClass: "relay.flow.messages", maxBodyBytes: 16 * 1024 * 1024 }
5622
5665
  );
5623
5666
  if (!r.ok) {
5624
- console.warn("[braid] flow messages HTTP", r.status ?? r.category);
5667
+ relayHttpNote("flow messages", r);
5625
5668
  return [];
5626
5669
  }
5627
5670
  const data = r.json;
@@ -7863,6 +7906,8 @@ export {
7863
7906
  EXIT_CRASH,
7864
7907
  KeystorePermsError,
7865
7908
  classifyFatal,
7909
+ setVerboseOutput,
7910
+ isVerboseOutput,
7866
7911
  sanitizeForTty,
7867
7912
  restoreTerminal,
7868
7913
  isShellSafeName,
package/dist/cli.js CHANGED
@@ -47,6 +47,7 @@ import {
47
47
  isAddressedByReply,
48
48
  isFilesystemRoot,
49
49
  isShellSafeName,
50
+ isVerboseOutput,
50
51
  legacyTwinPath,
51
52
  listAgents,
52
53
  loadAgent,
@@ -74,6 +75,7 @@ import {
74
75
  sanitizeForTty,
75
76
  saveAgent,
76
77
  scopedLaunch,
78
+ setVerboseOutput,
77
79
  snapshotHttpMetrics,
78
80
  startingLines,
79
81
  toolModeLabel,
@@ -81,7 +83,7 @@ import {
81
83
  updateAgentWorkspace,
82
84
  validateRelayWsUrl,
83
85
  wsToHttp
84
- } from "./chunk-DIUVFB7Z.js";
86
+ } from "./chunk-QHWKKDPN.js";
85
87
  import {
86
88
  clampUntrusted,
87
89
  externalSourceLabel,
@@ -2556,7 +2558,7 @@ async function startBridge(cfg, relay, deps) {
2556
2558
  };
2557
2559
  const cached = fingerprint ? cacheLoad(fingerprint) : null;
2558
2560
  if (cached) {
2559
- console.log("[braid] card cache hit \u2014 skipping elicit subprocess");
2561
+ if (isVerboseOutput()) console.log("[braid] card cache hit - skipping elicit subprocess");
2560
2562
  onUnsigned(cached.unsignedCard);
2561
2563
  let card = cached.unsignedCard;
2562
2564
  if (cfg.signCard) card = await cfg.signCard(card);
@@ -2616,7 +2618,7 @@ async function startBridge(cfg, relay, deps) {
2616
2618
  return inFlight;
2617
2619
  }
2618
2620
  const p = (async () => {
2619
- console.log(`[braid] Warming up #${sanitizeForTty(channelId)}\u2026`);
2621
+ if (isVerboseOutput()) console.log(`[braid] Warming up #${sanitizeForTty(channelId)}\u2026`);
2620
2622
  void (async () => {
2621
2623
  const fetchName = relay.fetchChannelName;
2622
2624
  if (!fetchName) return;
@@ -2730,7 +2732,7 @@ async function startBridge(cfg, relay, deps) {
2730
2732
  sessions.set(channelId, session);
2731
2733
  pending.delete(channelId);
2732
2734
  health.noteStartSuccess();
2733
- console.log(`[braid] \u2713 Ready in #${sanitizeForTty(channelId)}`);
2735
+ if (isVerboseOutput()) console.log(`[braid] \u2713 Ready in #${sanitizeForTty(channelId)}`);
2734
2736
  const unsub = learnRoster(relay, channelId, session);
2735
2737
  if (tornDownWhilePending.delete(channelId)) unsub();
2736
2738
  else rosterUnsubs.set(channelId, unsub);
@@ -6377,6 +6379,7 @@ async function main() {
6377
6379
  }
6378
6380
  }
6379
6381
  const runVerbose = invocation.argv.includes("--verbose");
6382
+ setVerboseOutput(runVerbose);
6380
6383
  const sticky = createStickyLine(process.stdout);
6381
6384
  const connStatus = createConnStatus({
6382
6385
  verbose: runVerbose,
@@ -4,7 +4,7 @@ import {
4
4
  boundedJsonFetch,
5
5
  resetHttpMetricsForTest,
6
6
  snapshotHttpMetrics
7
- } from "./chunk-DIUVFB7Z.js";
7
+ } from "./chunk-QHWKKDPN.js";
8
8
  import "./chunk-HQNAAXUM.js";
9
9
  export {
10
10
  assertHttpEndpoint,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@snowyroad/braid",
3
- "version": "0.96.5",
3
+ "version": "0.96.8",
4
4
  "description": "Braid: connect your own coding agent (Claude Code, Codex, Gemini, Grok) to a Braid channel and collaborate with other agents and humans.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "SnowyRoad",
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@snowyroad/braid",
3
- "version": "0.96.5",
3
+ "version": "0.96.8",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@snowyroad/braid",
9
- "version": "0.96.5",
9
+ "version": "0.96.8",
10
10
  "license": "SEE LICENSE IN LICENSE.md",
11
11
  "dependencies": {
12
12
  "@agentclientprotocol/sdk": "0.25.1",
@@ -815,9 +815,9 @@
815
815
  "license": "MIT"
816
816
  },
817
817
  "node_modules/@rollup/rollup-android-arm-eabi": {
818
- "version": "4.63.4",
819
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.63.4.tgz",
820
- "integrity": "sha512-I+BSHzTAhKN2n7ZwGZsegGcZjDpLqFOMAtJz/u6uFGe0pUFbq56dEHjqJV/ZUdRJtNXNxA+hREUatZBvMR3Oiw==",
818
+ "version": "4.64.0",
819
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.64.0.tgz",
820
+ "integrity": "sha512-FLLpX941CD/7aBvX3GqLGBM9OvY5PGXTryPJkG5r5/OuBpZpV5k45Uo3RxAvqd35tsyc3hH1bhtz921IKzoIzg==",
821
821
  "cpu": [
822
822
  "arm"
823
823
  ],
@@ -829,9 +829,9 @@
829
829
  ]
830
830
  },
831
831
  "node_modules/@rollup/rollup-android-arm64": {
832
- "version": "4.63.4",
833
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.63.4.tgz",
834
- "integrity": "sha512-pu3BdjS2LtEzRu2elmGzS3fIeWSZy4BMDIaLNwjorO76+k2d0LMluijhsDx3KQyQBQ/lLUZCQA9/s6csvUfuhw==",
832
+ "version": "4.64.0",
833
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.64.0.tgz",
834
+ "integrity": "sha512-iI32XM/jnDYJsvx5ai/za/7gWO9XoSeFFtU06/ZCaRgyilfJOjaopD3nOpk2WrTCGOyeDt4hleUiGOAnd5tHNg==",
835
835
  "cpu": [
836
836
  "arm64"
837
837
  ],
@@ -843,9 +843,9 @@
843
843
  ]
844
844
  },
845
845
  "node_modules/@rollup/rollup-darwin-arm64": {
846
- "version": "4.63.4",
847
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.63.4.tgz",
848
- "integrity": "sha512-xfSrj9MHnWK9GaSqT9U0ImHtH/N8WZlHLx4cZHiuLcqs640hvZ3hLPd5UR2AZS57FaE8HrRUSpltbZdWRxHiDA==",
846
+ "version": "4.64.0",
847
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.64.0.tgz",
848
+ "integrity": "sha512-dRBZlbt2sEtF8Mn4MODThze9fIPdDoOhVSlXMAKy5dQbOYK9pOOoPY4Fat3OTtr0+8zbJo5TTZwlsfxY/kDNJg==",
849
849
  "cpu": [
850
850
  "arm64"
851
851
  ],
@@ -857,9 +857,9 @@
857
857
  ]
858
858
  },
859
859
  "node_modules/@rollup/rollup-darwin-x64": {
860
- "version": "4.63.4",
861
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.63.4.tgz",
862
- "integrity": "sha512-bqU99PLJb/dqb3S0GIMdeuyAEETSUgZBoqXYd3Sd+WCsV+MmPhnN6JrotWyir31+QgH7EvvE5/mwGJlEoci8Fw==",
860
+ "version": "4.64.0",
861
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.64.0.tgz",
862
+ "integrity": "sha512-Y3whrJOMucfkhgNkvcM93M6j8C53iEAMmPMYD99C6G1kUy4ELigLWk9ar2/4aCBSRgsql0zdlOemLgW2m5GZgQ==",
863
863
  "cpu": [
864
864
  "x64"
865
865
  ],
@@ -871,9 +871,9 @@
871
871
  ]
872
872
  },
873
873
  "node_modules/@rollup/rollup-freebsd-arm64": {
874
- "version": "4.63.4",
875
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.63.4.tgz",
876
- "integrity": "sha512-JinsFZ5G40oXQb+sUuiA5x689vhr6dDYK0H0NL+rwKdL6CqnmYN8PE4ZwfRSoIjrCxqTQG/SLfTtSvHeGxoVlw==",
874
+ "version": "4.64.0",
875
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.64.0.tgz",
876
+ "integrity": "sha512-S6S1GEzPjFF6IONYJX3AKt/799+8RgBgCcwRnUo+Ep1IvBxUbw5M51iU0TDdK2NWWVnSvCQ8yi6Em0fGASMOng==",
877
877
  "cpu": [
878
878
  "arm64"
879
879
  ],
@@ -885,9 +885,9 @@
885
885
  ]
886
886
  },
887
887
  "node_modules/@rollup/rollup-freebsd-x64": {
888
- "version": "4.63.4",
889
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.63.4.tgz",
890
- "integrity": "sha512-GAdA4UxpiNm27cLHr2GqXBpAD0x9FqwYBY7/YSP0Ss0/PNi4k8gbviqpIpYbVSRBaS2ZcegXEzgTQMbRNCwxCw==",
888
+ "version": "4.64.0",
889
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.64.0.tgz",
890
+ "integrity": "sha512-Ed1DPoFENkXj4IGzSB12SesV40iP6LxCCrbTIkSGIQBpOOxpBM+0kj62lmaeIHfMWTDoddqTOtqc7s8LYfn+Pw==",
891
891
  "cpu": [
892
892
  "x64"
893
893
  ],
@@ -899,9 +899,9 @@
899
899
  ]
900
900
  },
901
901
  "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
902
- "version": "4.63.4",
903
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.63.4.tgz",
904
- "integrity": "sha512-qDd6NoA1znaLjp4jR5U/KWCdLAKDJNB8W9ChbbDaKbo0xA+Atln5HK6LFCZ4oJQpemtRZA288DCirFRjrspptw==",
902
+ "version": "4.64.0",
903
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.64.0.tgz",
904
+ "integrity": "sha512-J/6xhutJPtFyIkmHdf4olOdHHKH5kOJNumojdWn+Elv5ICEYTVOa362Vw27TxsK0BLzb1le3EDlO3UbvFK1lnQ==",
905
905
  "cpu": [
906
906
  "arm"
907
907
  ],
@@ -916,9 +916,9 @@
916
916
  ]
917
917
  },
918
918
  "node_modules/@rollup/rollup-linux-arm-musleabihf": {
919
- "version": "4.63.4",
920
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.63.4.tgz",
921
- "integrity": "sha512-WtB5Tz5KTNINb8ZA+8sQ7bmjuS1JrRT7YverYIhUGdWWDlpzVWmIwuZE+jidkEXUn1l0zrEkaIMa8dHF3NGcsA==",
919
+ "version": "4.64.0",
920
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.64.0.tgz",
921
+ "integrity": "sha512-G4L/Nnx59d2LvDoV/P4S5lZ7oVLT6hodOHMacqjiq2LL2gts86KbkEBTYL53+fBt0odhf7XPIbIATGoYiJctxg==",
922
922
  "cpu": [
923
923
  "arm"
924
924
  ],
@@ -933,9 +933,9 @@
933
933
  ]
934
934
  },
935
935
  "node_modules/@rollup/rollup-linux-arm64-gnu": {
936
- "version": "4.63.4",
937
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.63.4.tgz",
938
- "integrity": "sha512-VcQ3L1tjnkKzWjryAVaFhHEWcqOfICX9uxVVoDzm2t0DpgKRHd2zOpVrJc0xsWeBZcBFyYROCIBdyR/fS174pg==",
936
+ "version": "4.64.0",
937
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.64.0.tgz",
938
+ "integrity": "sha512-zF16pvJDEUksGYRbfnXne7pdklAyj2XDmJeYKgP93oq0cUyX9Y8O7lUo1R+IY1GagP/YBvCEDCe7eEcAKpw//g==",
939
939
  "cpu": [
940
940
  "arm64"
941
941
  ],
@@ -950,9 +950,9 @@
950
950
  ]
951
951
  },
952
952
  "node_modules/@rollup/rollup-linux-arm64-musl": {
953
- "version": "4.63.4",
954
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.63.4.tgz",
955
- "integrity": "sha512-6+ZQX6P5s0cMDN2Ypb8Lbm2+/sZYmZjdaYny992ujUU9UKi/4CWoJWsl1pNvjWJHNHGK51m+jKGLlh1ylb2ifQ==",
953
+ "version": "4.64.0",
954
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.64.0.tgz",
955
+ "integrity": "sha512-nIggWn8n+w12+R5lsV+PYYoUY8vuObxPAQqJI7WES+9v0qspYuAHoZMfYM0yLxlipasT5BY9ht5W8t5c/rSCkg==",
956
956
  "cpu": [
957
957
  "arm64"
958
958
  ],
@@ -967,9 +967,9 @@
967
967
  ]
968
968
  },
969
969
  "node_modules/@rollup/rollup-linux-loong64-gnu": {
970
- "version": "4.63.4",
971
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.63.4.tgz",
972
- "integrity": "sha512-D72ZnvkFkBXOfzMMQLcwfPLyGkKb7HZ9/mf97B7v6/P5Lbv4oFOtSY/uHbS8lH6uKUOxoKiuokdb50XZSzzbJw==",
970
+ "version": "4.64.0",
971
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.64.0.tgz",
972
+ "integrity": "sha512-WLOTiHPzszP0dxIMsHpFeDSOSB5I49Mj8K4+yKE3H1X/D0JRG5XZ5jrctJLMjnUc/LUzaKiwq6EHWNJ8pup8PA==",
973
973
  "cpu": [
974
974
  "loong64"
975
975
  ],
@@ -984,9 +984,9 @@
984
984
  ]
985
985
  },
986
986
  "node_modules/@rollup/rollup-linux-loong64-musl": {
987
- "version": "4.63.4",
988
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.63.4.tgz",
989
- "integrity": "sha512-piU6BxeqA3O9KSu3kRCIQQtNqFFaTu21SEV4FwaRZowpnj3bLaWPZHw+xFqCs0XlJ+aOH3PTRWGoglH+mKA/OA==",
987
+ "version": "4.64.0",
988
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.64.0.tgz",
989
+ "integrity": "sha512-35RK9aRhh7g7Pmeu5gQ01aCvrhXzj9LoBE6xtUcEH1ns+nyTaSzxSpADmBQINu4QiTDGvmQYwo1j5hlg1rRXFw==",
990
990
  "cpu": [
991
991
  "loong64"
992
992
  ],
@@ -1001,9 +1001,9 @@
1001
1001
  ]
1002
1002
  },
1003
1003
  "node_modules/@rollup/rollup-linux-ppc64-gnu": {
1004
- "version": "4.63.4",
1005
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.63.4.tgz",
1006
- "integrity": "sha512-/5PGpHwqt2EEEOUs1XwzubE/ucr0dWDQ+to3zqi4Ds7EWpwtQ79wXc4JBoxqj/OwpawTsKWzJxHfSuBOq3DrWA==",
1004
+ "version": "4.64.0",
1005
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.64.0.tgz",
1006
+ "integrity": "sha512-RqTfnpoTjuWfPAmqK5p2edt2AMCDJWm6oTn7sKfmyx+6tRga0ip05SJ977o6udTcIiDeF/CJMUfkaN4gtWt6Aw==",
1007
1007
  "cpu": [
1008
1008
  "ppc64"
1009
1009
  ],
@@ -1018,9 +1018,9 @@
1018
1018
  ]
1019
1019
  },
1020
1020
  "node_modules/@rollup/rollup-linux-ppc64-musl": {
1021
- "version": "4.63.4",
1022
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.63.4.tgz",
1023
- "integrity": "sha512-cX3beZDLWt7G2oJF+nhChiT+qtaihs+S2xi7ziGmVB+2pwPng6D0Ed0HmElQOgv2UsUmSJJLGwpBao/3TDx3VA==",
1021
+ "version": "4.64.0",
1022
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.64.0.tgz",
1023
+ "integrity": "sha512-RQjZPigjxFvFZDijG6rjlSXxhRaTf9zLYVpGK+lVcga64oMqP1GbgVqCb46eHTTceSIgp89Ja0y5aPe3GFBYHg==",
1024
1024
  "cpu": [
1025
1025
  "ppc64"
1026
1026
  ],
@@ -1035,9 +1035,9 @@
1035
1035
  ]
1036
1036
  },
1037
1037
  "node_modules/@rollup/rollup-linux-riscv64-gnu": {
1038
- "version": "4.63.4",
1039
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.63.4.tgz",
1040
- "integrity": "sha512-1uz2mGWHyptR7DgHHrlbdRAjXK7v7elGZ9lMja910/RP+ZYbX6xAmCiU9UZSX4hqmgtHMv6lr5l3kq1HIOpcag==",
1038
+ "version": "4.64.0",
1039
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.64.0.tgz",
1040
+ "integrity": "sha512-tjL58mgQcTRnDRpeky+Sth1MKQeYi2Ct6r3Luq9E5aTSjnM/i/JbozqZkKqp9thM5+oDSZxo+05f9kdQedfTGA==",
1041
1041
  "cpu": [
1042
1042
  "riscv64"
1043
1043
  ],
@@ -1052,9 +1052,9 @@
1052
1052
  ]
1053
1053
  },
1054
1054
  "node_modules/@rollup/rollup-linux-riscv64-musl": {
1055
- "version": "4.63.4",
1056
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.63.4.tgz",
1057
- "integrity": "sha512-nLS8topojxyz7SRpKR2IODRpQ0XPZ+xaOXvT3+hqK/Uy8Lo5HFgkkIBiIrCu5tL5YqzTvgovGw55PwpahTAGig==",
1055
+ "version": "4.64.0",
1056
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.64.0.tgz",
1057
+ "integrity": "sha512-ictoRyVaoZ8C67myHef+8hhCa6IplXJJ/xUCkVCxziV4zxMZh+jvhkhGsPBLqj1S72fnqD0QH5zL4lcaa4X7DQ==",
1058
1058
  "cpu": [
1059
1059
  "riscv64"
1060
1060
  ],
@@ -1069,9 +1069,9 @@
1069
1069
  ]
1070
1070
  },
1071
1071
  "node_modules/@rollup/rollup-linux-s390x-gnu": {
1072
- "version": "4.63.4",
1073
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.63.4.tgz",
1074
- "integrity": "sha512-gs7DRKotr3l3q+jGPQBjH0ng1FjlEDm5ueQrkw5JtQvtLyEIcLASqAEaor56BhkKRzk+IcQzrcanBdb/bBQn8g==",
1072
+ "version": "4.64.0",
1073
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.64.0.tgz",
1074
+ "integrity": "sha512-8aVvZ2hfr9RLFzBQkQNmYeHLDja8fLeQAmLt757zdKN/B+8L809KlLJKctQjS22wZotptV8G6o7fVPuAs8S1tQ==",
1075
1075
  "cpu": [
1076
1076
  "s390x"
1077
1077
  ],
@@ -1086,9 +1086,9 @@
1086
1086
  ]
1087
1087
  },
1088
1088
  "node_modules/@rollup/rollup-linux-x64-gnu": {
1089
- "version": "4.63.4",
1090
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.63.4.tgz",
1091
- "integrity": "sha512-791ET7W17NnScOZM7h4dX5hYspxE28htPFsb1awY/NRR8+PRNkS53e475rDdxXXDrP+kwnCcNWg9CX5ztn/Aqw==",
1089
+ "version": "4.64.0",
1090
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.64.0.tgz",
1091
+ "integrity": "sha512-2dEF8GAcDKwshUfydD+GhosppNyBzhVUHkdFF3CXd3FpOkzj/RZzF5aoEtzklujklT5qFVRU2GK/cFeLaTNKVg==",
1092
1092
  "cpu": [
1093
1093
  "x64"
1094
1094
  ],
@@ -1103,9 +1103,9 @@
1103
1103
  ]
1104
1104
  },
1105
1105
  "node_modules/@rollup/rollup-linux-x64-musl": {
1106
- "version": "4.63.4",
1107
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.63.4.tgz",
1108
- "integrity": "sha512-iwZQRcmj7g88g3tzefIrQY7qvmuA/cfYwhrDtTBhsmukO4U2huVO5W+86XacUMRvdSFVAc6kZUZy21JaRwiB9w==",
1106
+ "version": "4.64.0",
1107
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.64.0.tgz",
1108
+ "integrity": "sha512-3XHTvoo2hKkh0MiOfS7SkhHjMaaWF7P4F3drocZZaho/Z8w7h/jpnuBHm91BOQLfvrKHs1yR+zir4E8RI3XzTQ==",
1109
1109
  "cpu": [
1110
1110
  "x64"
1111
1111
  ],
@@ -1120,9 +1120,9 @@
1120
1120
  ]
1121
1121
  },
1122
1122
  "node_modules/@rollup/rollup-openbsd-x64": {
1123
- "version": "4.63.4",
1124
- "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.63.4.tgz",
1125
- "integrity": "sha512-dVHFp9gRWrdTpnqQuGfCwd7hOQDatK1VCP2iWhLY/cGrOQs/ucFzJ6A5SRqbXX12ZDI8EUuejSM5kwg+ja7Png==",
1123
+ "version": "4.64.0",
1124
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.64.0.tgz",
1125
+ "integrity": "sha512-HKtkzodL4a3KFWDXDoO61cRynAWTR3LnAE0oGtfG9lcNFpNuVYUFOByxDgNqEvic9rvaQbAj+SFwTEWDptRaIw==",
1126
1126
  "cpu": [
1127
1127
  "x64"
1128
1128
  ],
@@ -1134,9 +1134,9 @@
1134
1134
  ]
1135
1135
  },
1136
1136
  "node_modules/@rollup/rollup-openharmony-arm64": {
1137
- "version": "4.63.4",
1138
- "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.63.4.tgz",
1139
- "integrity": "sha512-t3NlauOW6gxZVVFcBEnO62Cb4wbyDFL416gTg1uFI/2tgqYQlf69FbSE115Ajre9I+c26Lk4mcmdFUsS/DGifQ==",
1137
+ "version": "4.64.0",
1138
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.64.0.tgz",
1139
+ "integrity": "sha512-JBsxqiY16uyyCujtoC3s7zL+SrYyNElptD7K4V+KUoJ2V8/XG3hPWpheK+SuPwNh1cikJvIZmIdsrYXvD6PLJw==",
1140
1140
  "cpu": [
1141
1141
  "arm64"
1142
1142
  ],
@@ -1148,9 +1148,9 @@
1148
1148
  ]
1149
1149
  },
1150
1150
  "node_modules/@rollup/rollup-win32-arm64-msvc": {
1151
- "version": "4.63.4",
1152
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.63.4.tgz",
1153
- "integrity": "sha512-xWuIaSye5FWZF8+UYtVEcHtRJDN5kN9Kfgxx3Kq8XIov9KSKbc1fiqQCm90SKrgQbUXZelbnUhnlUJmfSE7P9A==",
1151
+ "version": "4.64.0",
1152
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.64.0.tgz",
1153
+ "integrity": "sha512-S5Qrijh37qhnUYQ0ay8WN3LuWeKjow7wTUyCOPMZtnXiBXYXdsZETI6ZLfYnQAKovltckPLBFdNeD61P2rJc7g==",
1154
1154
  "cpu": [
1155
1155
  "arm64"
1156
1156
  ],
@@ -1162,9 +1162,9 @@
1162
1162
  ]
1163
1163
  },
1164
1164
  "node_modules/@rollup/rollup-win32-ia32-msvc": {
1165
- "version": "4.63.4",
1166
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.63.4.tgz",
1167
- "integrity": "sha512-9ALJJUOg/ZflMJepVo2PlgsGxSaxN7SQ4Z8GoZfVlarWr6r3rkHUNsd/zAio7p4YMtChSMXPionxej4Hkf6CXQ==",
1165
+ "version": "4.64.0",
1166
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.64.0.tgz",
1167
+ "integrity": "sha512-zbZ6iMmLFEsCtTdc2/y1F/cDFVNNCPF7Ae8PCT/wdPE//hGwYp6r+MyCLMFX+kOeIe09Pz6ASfnnfpSTN1FJQQ==",
1168
1168
  "cpu": [
1169
1169
  "ia32"
1170
1170
  ],
@@ -1176,9 +1176,9 @@
1176
1176
  ]
1177
1177
  },
1178
1178
  "node_modules/@rollup/rollup-win32-x64-gnu": {
1179
- "version": "4.63.4",
1180
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.63.4.tgz",
1181
- "integrity": "sha512-blj9z5qx/Pv4WU0W1NMFDB97e0JH5ed+aZGywW8WCvp/NhWX/4PFAq5uu6Q0AebNn+Vo6KzUYDT++JzTT5ojlQ==",
1179
+ "version": "4.64.0",
1180
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.64.0.tgz",
1181
+ "integrity": "sha512-L6Hw69oNpuYaOr1zCG30v0/DqKYCSRwodPGwIcVZ/6f8SOzq9rxtL/xNVI5MO4wjli+Ko0ErK9uHJL3mNPt8wQ==",
1182
1182
  "cpu": [
1183
1183
  "x64"
1184
1184
  ],
@@ -1190,9 +1190,9 @@
1190
1190
  ]
1191
1191
  },
1192
1192
  "node_modules/@rollup/rollup-win32-x64-msvc": {
1193
- "version": "4.63.4",
1194
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.63.4.tgz",
1195
- "integrity": "sha512-Erx822VRBwLa124shbj+wNXe//BOgMEctDV0m1aqTQdNO1S69DgNUCFKC1RCeZfixs1J31l6igk1ziyXErbigQ==",
1193
+ "version": "4.64.0",
1194
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.64.0.tgz",
1195
+ "integrity": "sha512-nl+CTWIgOGszQmUz/kanfgrfFZ4qiwxKIfT/ryl3N3Ewk5tqizmYtNXiqb7Bu/fDtNgu1kyxdFiAUJNur3iysg==",
1196
1196
  "cpu": [
1197
1197
  "x64"
1198
1198
  ],
@@ -1234,9 +1234,9 @@
1234
1234
  "license": "MIT"
1235
1235
  },
1236
1236
  "node_modules/@types/node": {
1237
- "version": "25.9.8",
1238
- "resolved": "https://registry.npmjs.org/@types/node/-/node-25.9.8.tgz",
1239
- "integrity": "sha512-VfMrScDmMhUJQmd5hArdQnFvK0OIeD36uN2Va1FcpYaLB/BgkgM8Ulc50XtYISPMz7APJ30+N0T5EM0jlcdfRw==",
1237
+ "version": "25.9.9",
1238
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-25.9.9.tgz",
1239
+ "integrity": "sha512-b4e2xxj/yMeT2hNlD6x7zNFiQK2Dlmkb9CQ6v3/1G2RezKN4YS2lcEv8lzGm1mhs4f2lM4yNAMI/zUDBZBBt7w==",
1240
1240
  "dev": true,
1241
1241
  "license": "MIT",
1242
1242
  "dependencies": {
@@ -1244,9 +1244,9 @@
1244
1244
  }
1245
1245
  },
1246
1246
  "node_modules/@types/ws": {
1247
- "version": "8.18.1",
1248
- "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz",
1249
- "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==",
1247
+ "version": "8.18.2",
1248
+ "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.2.tgz",
1249
+ "integrity": "sha512-67MQl+fpWKVTT1NYdnmo3U4sc/xPo/zQBncVnI74qmQa0z/b+1g6iYqNmGCPbxO+zz2aklb08a0oHfegiVd0/w==",
1250
1250
  "dev": true,
1251
1251
  "license": "MIT",
1252
1252
  "dependencies": {
@@ -1455,9 +1455,9 @@
1455
1455
  }
1456
1456
  },
1457
1457
  "node_modules/ansi-regex": {
1458
- "version": "6.3.0",
1459
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.3.0.tgz",
1460
- "integrity": "sha512-WpDfL7NO6j7tH88IDBNVdUJxDh9nmCteAVW9dsep846XdwF4naCBK+/tGLX3KJgcpgMRXCFlTM2hKGoK9FsdrQ==",
1458
+ "version": "6.4.0",
1459
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.4.0.tgz",
1460
+ "integrity": "sha512-KzTVk2tCWAHtYrvvvaP8bJKJq2pVinhLcGEQdtLIYPbmNGNyYe8QwNaTUYQp2J7/vIsUKt5QCqAfUkYyG9DkOw==",
1461
1461
  "license": "MIT",
1462
1462
  "engines": {
1463
1463
  "node": ">=12"
@@ -2369,9 +2369,9 @@
2369
2369
  }
2370
2370
  },
2371
2371
  "node_modules/hono": {
2372
- "version": "4.13.8",
2373
- "resolved": "https://registry.npmjs.org/hono/-/hono-4.13.8.tgz",
2374
- "integrity": "sha512-/Gng7NfoykZl2pjukW5Z6+8Yxm3BPRf86GTbQnt0SbySkvax4fyL4H3HhY1cCpBGmiW9XDRFzRV+CXK2W8QudQ==",
2372
+ "version": "4.13.12",
2373
+ "resolved": "https://registry.npmjs.org/hono/-/hono-4.13.12.tgz",
2374
+ "integrity": "sha512-6E2QDAc9Ick9Sq77ZrGS/dk2WUYni91aufTw6LJKpV7w8kW5/GxVUc650FOADOmlwg3K+f7Pun6XlV+pYmW6gw==",
2375
2375
  "license": "MIT",
2376
2376
  "engines": {
2377
2377
  "node": ">=16.9.0"
@@ -2480,9 +2480,9 @@
2480
2480
  }
2481
2481
  },
2482
2482
  "node_modules/ip-address": {
2483
- "version": "10.7.2",
2484
- "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.7.2.tgz",
2485
- "integrity": "sha512-7H/2gFSIitxc0hG3nOI1glS8QLo/EHBFFLk8vEUjXY/xu0AdL8jZ9U1IzO2PUm0d2D/ofQcAifb0g6OBkt8U7w==",
2483
+ "version": "10.7.3",
2484
+ "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.7.3.tgz",
2485
+ "integrity": "sha512-A1kdq/tSb5QjvKvAMgIoEvDBIgL7qaqVP/jkvSwYYRZ9iEzvPpopxp2wQfu3SuZRHtpHNxMn8Fs0bS+gf5Xmwg==",
2486
2486
  "license": "MIT",
2487
2487
  "engines": {
2488
2488
  "node": ">= 12"
@@ -3174,9 +3174,9 @@
3174
3174
  }
3175
3175
  },
3176
3176
  "node_modules/rollup": {
3177
- "version": "4.63.4",
3178
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.63.4.tgz",
3179
- "integrity": "sha512-4U0liVayNIoLp3GFl1FcI8561WepLnZ1rqfraGh7S9B3Ur5F9S283y8Futii7RUU2C/97tOBmBy7nYvhoiOpbQ==",
3177
+ "version": "4.64.0",
3178
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.64.0.tgz",
3179
+ "integrity": "sha512-gjA/kFeDfffII8COoPsvLPvE16hWDTEc1+0QKQNKUkuV8iJjqsC4xXs8/FzuL0v9EV39kuxTbAgcFoTRyy2TGQ==",
3180
3180
  "dev": true,
3181
3181
  "license": "MIT",
3182
3182
  "dependencies": {
@@ -3191,31 +3191,31 @@
3191
3191
  },
3192
3192
  "optionalDependencies": {
3193
3193
  "@napi-rs/lzma-linux-x64-gnu": "1.5.1",
3194
- "@rollup/rollup-android-arm-eabi": "4.63.4",
3195
- "@rollup/rollup-android-arm64": "4.63.4",
3196
- "@rollup/rollup-darwin-arm64": "4.63.4",
3197
- "@rollup/rollup-darwin-x64": "4.63.4",
3198
- "@rollup/rollup-freebsd-arm64": "4.63.4",
3199
- "@rollup/rollup-freebsd-x64": "4.63.4",
3200
- "@rollup/rollup-linux-arm-gnueabihf": "4.63.4",
3201
- "@rollup/rollup-linux-arm-musleabihf": "4.63.4",
3202
- "@rollup/rollup-linux-arm64-gnu": "4.63.4",
3203
- "@rollup/rollup-linux-arm64-musl": "4.63.4",
3204
- "@rollup/rollup-linux-loong64-gnu": "4.63.4",
3205
- "@rollup/rollup-linux-loong64-musl": "4.63.4",
3206
- "@rollup/rollup-linux-ppc64-gnu": "4.63.4",
3207
- "@rollup/rollup-linux-ppc64-musl": "4.63.4",
3208
- "@rollup/rollup-linux-riscv64-gnu": "4.63.4",
3209
- "@rollup/rollup-linux-riscv64-musl": "4.63.4",
3210
- "@rollup/rollup-linux-s390x-gnu": "4.63.4",
3211
- "@rollup/rollup-linux-x64-gnu": "4.63.4",
3212
- "@rollup/rollup-linux-x64-musl": "4.63.4",
3213
- "@rollup/rollup-openbsd-x64": "4.63.4",
3214
- "@rollup/rollup-openharmony-arm64": "4.63.4",
3215
- "@rollup/rollup-win32-arm64-msvc": "4.63.4",
3216
- "@rollup/rollup-win32-ia32-msvc": "4.63.4",
3217
- "@rollup/rollup-win32-x64-gnu": "4.63.4",
3218
- "@rollup/rollup-win32-x64-msvc": "4.63.4",
3194
+ "@rollup/rollup-android-arm-eabi": "4.64.0",
3195
+ "@rollup/rollup-android-arm64": "4.64.0",
3196
+ "@rollup/rollup-darwin-arm64": "4.64.0",
3197
+ "@rollup/rollup-darwin-x64": "4.64.0",
3198
+ "@rollup/rollup-freebsd-arm64": "4.64.0",
3199
+ "@rollup/rollup-freebsd-x64": "4.64.0",
3200
+ "@rollup/rollup-linux-arm-gnueabihf": "4.64.0",
3201
+ "@rollup/rollup-linux-arm-musleabihf": "4.64.0",
3202
+ "@rollup/rollup-linux-arm64-gnu": "4.64.0",
3203
+ "@rollup/rollup-linux-arm64-musl": "4.64.0",
3204
+ "@rollup/rollup-linux-loong64-gnu": "4.64.0",
3205
+ "@rollup/rollup-linux-loong64-musl": "4.64.0",
3206
+ "@rollup/rollup-linux-ppc64-gnu": "4.64.0",
3207
+ "@rollup/rollup-linux-ppc64-musl": "4.64.0",
3208
+ "@rollup/rollup-linux-riscv64-gnu": "4.64.0",
3209
+ "@rollup/rollup-linux-riscv64-musl": "4.64.0",
3210
+ "@rollup/rollup-linux-s390x-gnu": "4.64.0",
3211
+ "@rollup/rollup-linux-x64-gnu": "4.64.0",
3212
+ "@rollup/rollup-linux-x64-musl": "4.64.0",
3213
+ "@rollup/rollup-openbsd-x64": "4.64.0",
3214
+ "@rollup/rollup-openharmony-arm64": "4.64.0",
3215
+ "@rollup/rollup-win32-arm64-msvc": "4.64.0",
3216
+ "@rollup/rollup-win32-ia32-msvc": "4.64.0",
3217
+ "@rollup/rollup-win32-x64-gnu": "4.64.0",
3218
+ "@rollup/rollup-win32-x64-msvc": "4.64.0",
3219
3219
  "fsevents": "~2.3.2"
3220
3220
  }
3221
3221
  },
@@ -3449,9 +3449,9 @@
3449
3449
  }
3450
3450
  },
3451
3451
  "node_modules/source-map-js": {
3452
- "version": "1.2.1",
3453
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
3454
- "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
3452
+ "version": "1.2.2",
3453
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.2.tgz",
3454
+ "integrity": "sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==",
3455
3455
  "dev": true,
3456
3456
  "license": "BSD-3-Clause",
3457
3457
  "engines": {