@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-
|
|
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-
|
|
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
|
-
|
|
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
|
-
|
|
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)
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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)
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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-
|
|
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
|
|
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,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@snowyroad/braid",
|
|
3
|
-
"version": "0.96.
|
|
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",
|
package/service-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@snowyroad/braid",
|
|
3
|
-
"version": "0.96.
|
|
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.
|
|
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.
|
|
819
|
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.
|
|
820
|
-
"integrity": "sha512-
|
|
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.
|
|
833
|
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.
|
|
834
|
-
"integrity": "sha512-
|
|
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.
|
|
847
|
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.
|
|
848
|
-
"integrity": "sha512-
|
|
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.
|
|
861
|
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.
|
|
862
|
-
"integrity": "sha512-
|
|
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.
|
|
875
|
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.
|
|
876
|
-
"integrity": "sha512-
|
|
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.
|
|
889
|
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.
|
|
890
|
-
"integrity": "sha512-
|
|
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.
|
|
903
|
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.
|
|
904
|
-
"integrity": "sha512-
|
|
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.
|
|
920
|
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.
|
|
921
|
-
"integrity": "sha512-
|
|
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.
|
|
937
|
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.
|
|
938
|
-
"integrity": "sha512-
|
|
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.
|
|
954
|
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.
|
|
955
|
-
"integrity": "sha512-
|
|
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.
|
|
971
|
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.
|
|
972
|
-
"integrity": "sha512-
|
|
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.
|
|
988
|
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.
|
|
989
|
-
"integrity": "sha512-
|
|
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.
|
|
1005
|
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.
|
|
1006
|
-
"integrity": "sha512
|
|
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.
|
|
1022
|
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.
|
|
1023
|
-
"integrity": "sha512-
|
|
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.
|
|
1039
|
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.
|
|
1040
|
-
"integrity": "sha512-
|
|
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.
|
|
1056
|
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.
|
|
1057
|
-
"integrity": "sha512-
|
|
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.
|
|
1073
|
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.
|
|
1074
|
-
"integrity": "sha512-
|
|
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.
|
|
1090
|
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.
|
|
1091
|
-
"integrity": "sha512-
|
|
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.
|
|
1107
|
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.
|
|
1108
|
-
"integrity": "sha512-
|
|
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.
|
|
1124
|
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.
|
|
1125
|
-
"integrity": "sha512-
|
|
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.
|
|
1138
|
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.
|
|
1139
|
-
"integrity": "sha512-
|
|
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.
|
|
1152
|
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.
|
|
1153
|
-
"integrity": "sha512-
|
|
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.
|
|
1166
|
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.
|
|
1167
|
-
"integrity": "sha512-
|
|
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.
|
|
1180
|
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.
|
|
1181
|
-
"integrity": "sha512-
|
|
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.
|
|
1194
|
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.
|
|
1195
|
-
"integrity": "sha512-
|
|
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.
|
|
1238
|
-
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.9.
|
|
1239
|
-
"integrity": "sha512-
|
|
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.
|
|
1248
|
-
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.
|
|
1249
|
-
"integrity": "sha512-
|
|
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.
|
|
1459
|
-
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.
|
|
1460
|
-
"integrity": "sha512-
|
|
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.
|
|
2373
|
-
"resolved": "https://registry.npmjs.org/hono/-/hono-4.13.
|
|
2374
|
-
"integrity": "sha512
|
|
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.
|
|
2484
|
-
"resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.7.
|
|
2485
|
-
"integrity": "sha512-
|
|
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.
|
|
3178
|
-
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.
|
|
3179
|
-
"integrity": "sha512-
|
|
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.
|
|
3195
|
-
"@rollup/rollup-android-arm64": "4.
|
|
3196
|
-
"@rollup/rollup-darwin-arm64": "4.
|
|
3197
|
-
"@rollup/rollup-darwin-x64": "4.
|
|
3198
|
-
"@rollup/rollup-freebsd-arm64": "4.
|
|
3199
|
-
"@rollup/rollup-freebsd-x64": "4.
|
|
3200
|
-
"@rollup/rollup-linux-arm-gnueabihf": "4.
|
|
3201
|
-
"@rollup/rollup-linux-arm-musleabihf": "4.
|
|
3202
|
-
"@rollup/rollup-linux-arm64-gnu": "4.
|
|
3203
|
-
"@rollup/rollup-linux-arm64-musl": "4.
|
|
3204
|
-
"@rollup/rollup-linux-loong64-gnu": "4.
|
|
3205
|
-
"@rollup/rollup-linux-loong64-musl": "4.
|
|
3206
|
-
"@rollup/rollup-linux-ppc64-gnu": "4.
|
|
3207
|
-
"@rollup/rollup-linux-ppc64-musl": "4.
|
|
3208
|
-
"@rollup/rollup-linux-riscv64-gnu": "4.
|
|
3209
|
-
"@rollup/rollup-linux-riscv64-musl": "4.
|
|
3210
|
-
"@rollup/rollup-linux-s390x-gnu": "4.
|
|
3211
|
-
"@rollup/rollup-linux-x64-gnu": "4.
|
|
3212
|
-
"@rollup/rollup-linux-x64-musl": "4.
|
|
3213
|
-
"@rollup/rollup-openbsd-x64": "4.
|
|
3214
|
-
"@rollup/rollup-openharmony-arm64": "4.
|
|
3215
|
-
"@rollup/rollup-win32-arm64-msvc": "4.
|
|
3216
|
-
"@rollup/rollup-win32-ia32-msvc": "4.
|
|
3217
|
-
"@rollup/rollup-win32-x64-gnu": "4.
|
|
3218
|
-
"@rollup/rollup-win32-x64-msvc": "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.
|
|
3453
|
-
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.
|
|
3454
|
-
"integrity": "sha512-
|
|
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": {
|