instar 1.3.1339 → 1.3.1341
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +8 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +323 -15
- package/dist/commands/server.js.map +1 -1
- package/dist/config/ConfigDefaults.d.ts.map +1 -1
- package/dist/config/ConfigDefaults.js +15 -0
- package/dist/config/ConfigDefaults.js.map +1 -1
- package/dist/core/BackupManager.d.ts.map +1 -1
- package/dist/core/BackupManager.js +8 -0
- package/dist/core/BackupManager.js.map +1 -1
- package/dist/core/FileClassifier.d.ts.map +1 -1
- package/dist/core/FileClassifier.js +6 -0
- package/dist/core/FileClassifier.js.map +1 -1
- package/dist/core/MachineIdentity.d.ts.map +1 -1
- package/dist/core/MachineIdentity.js +3 -0
- package/dist/core/MachineIdentity.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +58 -2
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/devGatedFeatures.d.ts.map +1 -1
- package/dist/core/devGatedFeatures.js +6 -0
- package/dist/core/devGatedFeatures.js.map +1 -1
- package/dist/core/keyMaterialPaths.d.ts +73 -0
- package/dist/core/keyMaterialPaths.d.ts.map +1 -0
- package/dist/core/keyMaterialPaths.js +139 -0
- package/dist/core/keyMaterialPaths.js.map +1 -0
- package/dist/core/types.d.ts +20 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/data/standards-guard-index.json +1 -1
- package/dist/data/standards-guard-index.meta.json +2 -2
- package/dist/data/standards-registry.meta.json +1 -1
- package/dist/messaging/TelegramAdapter.d.ts +19 -0
- package/dist/messaging/TelegramAdapter.d.ts.map +1 -1
- package/dist/messaging/TelegramAdapter.js +47 -9
- package/dist/messaging/TelegramAdapter.js.map +1 -1
- package/dist/messaging/telegram-origin/OriginAwareness.d.ts +2 -0
- package/dist/messaging/telegram-origin/OriginAwareness.d.ts.map +1 -1
- package/dist/messaging/telegram-origin/OriginAwareness.js +4 -0
- package/dist/messaging/telegram-origin/OriginAwareness.js.map +1 -1
- package/dist/messaging/telegram-origin/OriginConfig.d.ts +4 -0
- package/dist/messaging/telegram-origin/OriginConfig.d.ts.map +1 -1
- package/dist/messaging/telegram-origin/OriginConfig.js +26 -0
- package/dist/messaging/telegram-origin/OriginConfig.js.map +1 -1
- package/dist/messaging/telegram-origin/OriginForwardToHolder.d.ts +236 -0
- package/dist/messaging/telegram-origin/OriginForwardToHolder.d.ts.map +1 -0
- package/dist/messaging/telegram-origin/OriginForwardToHolder.js +337 -0
- package/dist/messaging/telegram-origin/OriginForwardToHolder.js.map +1 -0
- package/dist/messaging/telegram-origin/OriginMesh.d.ts.map +1 -1
- package/dist/messaging/telegram-origin/OriginMesh.js +17 -2
- package/dist/messaging/telegram-origin/OriginMesh.js.map +1 -1
- package/dist/messaging/telegram-origin/OriginMeshRelay.d.ts +7 -0
- package/dist/messaging/telegram-origin/OriginMeshRelay.d.ts.map +1 -1
- package/dist/messaging/telegram-origin/OriginMeshRelay.js +15 -15
- package/dist/messaging/telegram-origin/OriginMeshRelay.js.map +1 -1
- package/dist/messaging/telegram-origin/OriginStore.d.ts +38 -1
- package/dist/messaging/telegram-origin/OriginStore.d.ts.map +1 -1
- package/dist/messaging/telegram-origin/OriginStore.js +8 -1
- package/dist/messaging/telegram-origin/OriginStore.js.map +1 -1
- package/dist/messaging/telegram-origin/OriginStore.worker.js +1 -1
- package/dist/messaging/telegram-origin/OriginStore.worker.js.map +1 -1
- package/dist/messaging/telegram-origin/OriginStoreBackend.d.ts +58 -1
- package/dist/messaging/telegram-origin/OriginStoreBackend.d.ts.map +1 -1
- package/dist/messaging/telegram-origin/OriginStoreBackend.js +209 -23
- package/dist/messaging/telegram-origin/OriginStoreBackend.js.map +1 -1
- package/dist/messaging/telegram-origin/StoreTypes.d.ts +24 -0
- package/dist/messaging/telegram-origin/StoreTypes.d.ts.map +1 -1
- package/dist/messaging/telegram-origin/TelegramOriginBoot.d.ts.map +1 -1
- package/dist/messaging/telegram-origin/TelegramOriginBoot.js +7 -0
- package/dist/messaging/telegram-origin/TelegramOriginBoot.js.map +1 -1
- package/dist/messaging/telegram-origin/TelegramOriginRuntime.d.ts +49 -7
- package/dist/messaging/telegram-origin/TelegramOriginRuntime.d.ts.map +1 -1
- package/dist/messaging/telegram-origin/TelegramOriginRuntime.js +178 -2
- package/dist/messaging/telegram-origin/TelegramOriginRuntime.js.map +1 -1
- package/dist/messaging/telegram-origin/TelegramOriginService.d.ts +8 -0
- package/dist/messaging/telegram-origin/TelegramOriginService.d.ts.map +1 -1
- package/dist/messaging/telegram-origin/TelegramOriginService.js +19 -3
- package/dist/messaging/telegram-origin/TelegramOriginService.js.map +1 -1
- package/dist/messaging/telegram-origin/types.d.ts +12 -0
- package/dist/messaging/telegram-origin/types.d.ts.map +1 -1
- package/dist/messaging/telegram-origin/types.js +6 -0
- package/dist/messaging/telegram-origin/types.js.map +1 -1
- package/dist/monitoring/A2ARedeliverySentinel.d.ts +145 -6
- package/dist/monitoring/A2ARedeliverySentinel.d.ts.map +1 -1
- package/dist/monitoring/A2ARedeliverySentinel.js +451 -11
- package/dist/monitoring/A2ARedeliverySentinel.js.map +1 -1
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +7 -1
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/server/fileRoutes.d.ts +26 -0
- package/dist/server/fileRoutes.d.ts.map +1 -1
- package/dist/server/fileRoutes.js +204 -56
- package/dist/server/fileRoutes.js.map +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +103 -9
- package/dist/server/routes.js.map +1 -1
- package/dist/testing/selfActionRegistry.d.ts.map +1 -1
- package/dist/testing/selfActionRegistry.js +128 -0
- package/dist/testing/selfActionRegistry.js.map +1 -1
- package/dist/threadline/A2ADeliveryTracker.d.ts +55 -1
- package/dist/threadline/A2ADeliveryTracker.d.ts.map +1 -1
- package/dist/threadline/A2ADeliveryTracker.js +97 -5
- package/dist/threadline/A2ADeliveryTracker.js.map +1 -1
- package/dist/threadline/ThreadlineMCPServer.d.ts +15 -0
- package/dist/threadline/ThreadlineMCPServer.d.ts.map +1 -1
- package/dist/threadline/ThreadlineMCPServer.js +3 -0
- package/dist/threadline/ThreadlineMCPServer.js.map +1 -1
- package/dist/threadline/client/ThreadlineClient.d.ts +47 -0
- package/dist/threadline/client/ThreadlineClient.d.ts.map +1 -1
- package/dist/threadline/client/ThreadlineClient.js +93 -0
- package/dist/threadline/client/ThreadlineClient.js.map +1 -1
- package/dist/threadline/mcp-http-client.d.ts.map +1 -1
- package/dist/threadline/mcp-http-client.js +2 -0
- package/dist/threadline/mcp-http-client.js.map +1 -1
- package/dist/threadline/peerDark.d.ts +165 -0
- package/dist/threadline/peerDark.d.ts.map +1 -0
- package/dist/threadline/peerDark.js +204 -0
- package/dist/threadline/peerDark.js.map +1 -0
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +64 -64
- package/src/data/standards-guard-index.json +1 -1
- package/src/data/standards-guard-index.meta.json +2 -2
- package/src/data/standards-registry.meta.json +1 -1
- package/src/scaffold/templates.ts +7 -1
- package/upgrades/1.3.1340.md +32 -0
- package/upgrades/1.3.1341.md +94 -0
- package/upgrades/side-effects/a2a-peer-dark-reporting.md +149 -0
- package/upgrades/side-effects/files-never-serve-key-material.md +399 -0
- package/upgrades/side-effects/telegram-origin-forward-to-holder.md +151 -0
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* peerDark — honest sender-side reporting of a send that stays queued
|
|
3
|
+
* (docs/specs/a2a-single-agent-identity.md §3).
|
|
4
|
+
*
|
|
5
|
+
* A peer is `dark` when my own delivery ledger shows messages to it queued,
|
|
6
|
+
* unconfirmed or expired for longer than `queuedDarkAfterMs` with nothing back
|
|
7
|
+
* (no ack, no inbound, no `delivered` verdict) since. It is a PROXY read from my
|
|
8
|
+
* ledger: it means "nothing from this peer for N h" and cannot by itself tell
|
|
9
|
+
* offline from wrong-address — so every sentence here is worded to the evidence.
|
|
10
|
+
*
|
|
11
|
+
* This module holds the pure pieces the route, the MCP tool and the reworked
|
|
12
|
+
* A2ARedeliverySentinel share: the config resolver (dev-gated, dry-run first),
|
|
13
|
+
* the peer label (fingerprint prefix + clamped, HTML-escaped display name), the
|
|
14
|
+
* `deliveryOutcome` sentence, and the would-raise / would-sentence audit writer
|
|
15
|
+
* for `logs/a2a-peer-dark.jsonl`. No decision here gates a send.
|
|
16
|
+
*/
|
|
17
|
+
import fs from 'node:fs';
|
|
18
|
+
import path from 'node:path';
|
|
19
|
+
import { resolveDevAgentGate } from '../core/devAgentGate.js';
|
|
20
|
+
/** Default: a peer with nothing back for 2 h is dark (below the 6 h `stale` window so the sender hears first). */
|
|
21
|
+
export const DEFAULT_QUEUED_DARK_AFTER_MS = 2 * 60 * 60 * 1000;
|
|
22
|
+
/** Default per-peer cooldown between two dark items for the same peer. */
|
|
23
|
+
export const DEFAULT_PEER_DARK_COOLDOWN_MS = 12 * 60 * 60 * 1000;
|
|
24
|
+
/** Floors so a mis-set config cannot page on every send or never page. */
|
|
25
|
+
export const MIN_QUEUED_DARK_AFTER_MS = 5 * 60 * 1000;
|
|
26
|
+
export const MIN_PEER_DARK_COOLDOWN_MS = 60 * 1000;
|
|
27
|
+
/** Bound on configured per-peer entries (a config map, not a ledger). */
|
|
28
|
+
export const PEER_DARK_PER_PEER_MAX = 200;
|
|
29
|
+
function resolvePerPeer(raw) {
|
|
30
|
+
// Null-prototype: a fingerprint is peer-chosen text and must never hit an inherited key.
|
|
31
|
+
const out = Object.create(null);
|
|
32
|
+
if (!raw || typeof raw !== 'object' || Array.isArray(raw))
|
|
33
|
+
return out;
|
|
34
|
+
let n = 0;
|
|
35
|
+
for (const [fp, v] of Object.entries(raw)) {
|
|
36
|
+
if (n >= PEER_DARK_PER_PEER_MAX)
|
|
37
|
+
break;
|
|
38
|
+
const ms = v?.queuedDarkAfterMs;
|
|
39
|
+
if (typeof fp !== 'string' || !fp.trim() || typeof ms !== 'number' || !Number.isFinite(ms))
|
|
40
|
+
continue;
|
|
41
|
+
out[fp.trim().toLowerCase()] = { queuedDarkAfterMs: Math.max(MIN_QUEUED_DARK_AFTER_MS, ms) };
|
|
42
|
+
n++;
|
|
43
|
+
}
|
|
44
|
+
return out;
|
|
45
|
+
}
|
|
46
|
+
/** The dark threshold that applies to ONE peer: its per-peer entry, else the default. */
|
|
47
|
+
export function queuedDarkAfterMsFor(cfg, peerFp) {
|
|
48
|
+
const key = String(peerFp ?? '').trim().toLowerCase();
|
|
49
|
+
const entry = cfg.perPeer && Object.prototype.hasOwnProperty.call(cfg.perPeer, key) ? cfg.perPeer[key] : undefined;
|
|
50
|
+
return entry && typeof entry.queuedDarkAfterMs === 'number' ? entry.queuedDarkAfterMs : cfg.queuedDarkAfterMs;
|
|
51
|
+
}
|
|
52
|
+
function finiteOr(v, fallback, floor) {
|
|
53
|
+
const n = typeof v === 'number' && Number.isFinite(v) ? v : fallback;
|
|
54
|
+
return Math.max(floor, n);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Resolve `threadline.peerDarkNotice`. `enabled` omitted ⇒ the developmentAgent
|
|
58
|
+
* gate (live on a dev agent, dark on the fleet); an explicit value always wins.
|
|
59
|
+
* `liveEnabled` lets a caller pass a live-config read ahead of the boot config.
|
|
60
|
+
*/
|
|
61
|
+
export function resolvePeerDarkNoticeConfig(config, liveEnabled) {
|
|
62
|
+
const raw = config?.threadline?.peerDarkNotice ?? {};
|
|
63
|
+
const explicit = liveEnabled ?? raw.enabled;
|
|
64
|
+
return {
|
|
65
|
+
enabled: resolveDevAgentGate(explicit, config),
|
|
66
|
+
dryRun: raw.dryRun ?? true,
|
|
67
|
+
queuedDarkAfterMs: finiteOr(raw.queuedDarkAfterMs, DEFAULT_QUEUED_DARK_AFTER_MS, MIN_QUEUED_DARK_AFTER_MS),
|
|
68
|
+
perPeer: resolvePerPeer(raw.perPeer),
|
|
69
|
+
cooldownMs: finiteOr(raw.cooldownMs, DEFAULT_PEER_DARK_COOLDOWN_MS, MIN_PEER_DARK_COOLDOWN_MS),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/** The read when there is no relay client at all (a standby, or relay off). */
|
|
73
|
+
export const PRESENCE_RELAY_DOWN = { connectedNow: null, connectedNowReason: 'relay-down', connectedAsOf: null };
|
|
74
|
+
function ageMinutes(iso, nowMs) {
|
|
75
|
+
if (!iso)
|
|
76
|
+
return null;
|
|
77
|
+
const t = Date.parse(iso);
|
|
78
|
+
if (Number.isNaN(t))
|
|
79
|
+
return null;
|
|
80
|
+
return Math.max(0, Math.round((nowMs - t) / 60_000));
|
|
81
|
+
}
|
|
82
|
+
export function escapeHtml(text) {
|
|
83
|
+
return text
|
|
84
|
+
.replace(/&/g, '&')
|
|
85
|
+
.replace(/</g, '<')
|
|
86
|
+
.replace(/>/g, '>')
|
|
87
|
+
.replace(/"/g, '"')
|
|
88
|
+
.replace(/'/g, ''');
|
|
89
|
+
}
|
|
90
|
+
export const PEER_LABEL_NAME_MAX = 40;
|
|
91
|
+
/**
|
|
92
|
+
* Render a peer for user-facing text: the fingerprint prefix (the authoritative
|
|
93
|
+
* address) plus the display name, clamped and HTML-escaped (the name is
|
|
94
|
+
* peer-supplied text and the attention hub renders HTML).
|
|
95
|
+
*/
|
|
96
|
+
export function peerLabel(peerFp, peerName) {
|
|
97
|
+
const prefix = (peerFp ?? '').slice(0, 12);
|
|
98
|
+
const name = typeof peerName === 'string' ? peerName.replace(/[\r\n\t]+/g, ' ').trim() : '';
|
|
99
|
+
if (!name || name === peerFp)
|
|
100
|
+
return prefix || 'unknown-peer';
|
|
101
|
+
const clamped = name.length > PEER_LABEL_NAME_MAX ? `${name.slice(0, PEER_LABEL_NAME_MAX - 1)}…` : name;
|
|
102
|
+
return `${escapeHtml(clamped)} (${prefix})`;
|
|
103
|
+
}
|
|
104
|
+
function hoursSince(iso, nowMs) {
|
|
105
|
+
if (!iso)
|
|
106
|
+
return 0;
|
|
107
|
+
const t = Date.parse(iso);
|
|
108
|
+
if (Number.isNaN(t))
|
|
109
|
+
return 0;
|
|
110
|
+
return Math.max(0, Math.round(((nowMs - t) / 3_600_000) * 10) / 10);
|
|
111
|
+
}
|
|
112
|
+
function shortIso(iso) {
|
|
113
|
+
if (!iso)
|
|
114
|
+
return 'unknown';
|
|
115
|
+
const t = Date.parse(iso);
|
|
116
|
+
return Number.isNaN(t) ? 'unknown' : new Date(t).toISOString().replace(/\.\d{3}Z$/, 'Z');
|
|
117
|
+
}
|
|
118
|
+
/** The connectivity clause (§3.2), worded to the evidence — never "nothing will arrive". */
|
|
119
|
+
export function connectedNowClause(label, connectedNow, detail = {}) {
|
|
120
|
+
const mins = ageMinutes(detail.asOf, detail.nowMs ?? Date.now());
|
|
121
|
+
const asOf = mins === null ? '' : ` (as of ${mins} min ago)`;
|
|
122
|
+
if (connectedNow === false) {
|
|
123
|
+
return `${label} is not connected to the relay right now${asOf} — it may be offline, or listening under a different address`;
|
|
124
|
+
}
|
|
125
|
+
if (connectedNow === true) {
|
|
126
|
+
return `${label} IS connected to the relay${asOf} but has not acknowledged anything — it may be listening under a different address, or not reading`;
|
|
127
|
+
}
|
|
128
|
+
const why = detail.reason === 'relay-down'
|
|
129
|
+
? ' (my own relay connection is down)'
|
|
130
|
+
: detail.reason === 'stale'
|
|
131
|
+
? ` (my last presence record for it is ${mins === null ? 'too old' : `${mins} min old`})`
|
|
132
|
+
: detail.reason === 'no-row'
|
|
133
|
+
? ' (the relay has given me no presence record for it)'
|
|
134
|
+
: '';
|
|
135
|
+
return `whether ${label} is connected right now is unknown${why}`;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* The `deliveryOutcome` sentence for a send to a dark peer (spec §3.2):
|
|
139
|
+
* "no acknowledgement from <peer> for N h; this and K other messages are still
|
|
140
|
+
* queued (oldest expires T)" + the connectivity clause.
|
|
141
|
+
*/
|
|
142
|
+
export function buildPeerDarkSentence(report, peer, nowMs = Date.now()) {
|
|
143
|
+
const label = peerLabel(peer.peerFp, peer.peerName);
|
|
144
|
+
const h = hoursSince(report.since, nowMs);
|
|
145
|
+
const others = Math.max(0, report.queuedCount - 1);
|
|
146
|
+
const queuedPart = others === 0
|
|
147
|
+
? 'this message is still queued'
|
|
148
|
+
: `this and ${others} other message${others === 1 ? '' : 's'} are still queued`;
|
|
149
|
+
const expiry = report.expiresAt ? ` (oldest expires ${shortIso(report.expiresAt)})` : '';
|
|
150
|
+
return `no acknowledgement from ${label} for ${h} h; ${queuedPart}${expiry}${handedClause(report.handedUnackedCount)}; ${connectedNowClause(label, report.connectedNow, { reason: report.connectedNowReason, asOf: report.connectedAsOf, nowMs })}.`;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Names the rows a relay queue flush handed to a connection under the peer's
|
|
154
|
+
* address with no acknowledgement after — they are not "queued" any more, and
|
|
155
|
+
* calling them that would be a false statement.
|
|
156
|
+
*/
|
|
157
|
+
function handedClause(handed) {
|
|
158
|
+
const n = typeof handed === 'number' && handed > 0 ? Math.floor(handed) : 0;
|
|
159
|
+
if (n === 0)
|
|
160
|
+
return '';
|
|
161
|
+
return ` — ${n} of these ${n === 1 ? 'was' : 'were'} handed to a connection under its address and never acknowledged`;
|
|
162
|
+
}
|
|
163
|
+
/** Attention-item body for the per-peer dark item (spec §3.2). */
|
|
164
|
+
export function buildPeerDarkItemBody(peer, queuedCount, since, handedUnackedCount) {
|
|
165
|
+
const label = peerLabel(peer.peerFp, peer.peerName);
|
|
166
|
+
return `Messages to ${label} are stuck: ${queuedCount} queued since ${shortIso(since)}, none acknowledged${handedClause(handedUnackedCount)}. ${label} may be offline, or listening under a different address.`;
|
|
167
|
+
}
|
|
168
|
+
/** Resolve line for the per-peer dark item (spec §3.2 iv). */
|
|
169
|
+
export function buildPeerDarkResolveLine(peer, expiredUnacknowledged) {
|
|
170
|
+
const label = peerLabel(peer.peerFp, peer.peerName);
|
|
171
|
+
return `${label} is back; ${expiredUnacknowledged} message${expiredUnacknowledged === 1 ? '' : 's'} from the dark window expired unacknowledged — resend what still matters.`;
|
|
172
|
+
}
|
|
173
|
+
/** Deterministic item ids (spec §3.2 iii — no episode stamp). */
|
|
174
|
+
export function peerDarkItemId(agentId, peerFp) {
|
|
175
|
+
return `a2a-peer-dark:${agentId}:${peerFp}`;
|
|
176
|
+
}
|
|
177
|
+
export function relayUnreachableItemId(agentId) {
|
|
178
|
+
return `a2a-relay-unreachable:${agentId}`;
|
|
179
|
+
}
|
|
180
|
+
export const PEER_DARK_AUDIT_MAX_BYTES = 4 * 1024 * 1024;
|
|
181
|
+
/** Append-only JSONL writer with a one-generation rotation; never throws. */
|
|
182
|
+
export function createPeerDarkAuditWriter(auditPath, log) {
|
|
183
|
+
return (row) => {
|
|
184
|
+
try {
|
|
185
|
+
fs.mkdirSync(path.dirname(auditPath), { recursive: true });
|
|
186
|
+
let size = 0;
|
|
187
|
+
try {
|
|
188
|
+
size = fs.statSync(auditPath).size;
|
|
189
|
+
}
|
|
190
|
+
catch { /* @silent-fallback-ok: no file yet = size 0 */ }
|
|
191
|
+
if (size > PEER_DARK_AUDIT_MAX_BYTES)
|
|
192
|
+
fs.renameSync(auditPath, `${auditPath}.1`);
|
|
193
|
+
fs.appendFileSync(auditPath, JSON.stringify(row) + '\n');
|
|
194
|
+
}
|
|
195
|
+
catch (err) {
|
|
196
|
+
// @silent-fallback-ok: an audit append must never break a send or a sweep; logged.
|
|
197
|
+
log?.(`[a2a-peer-dark] audit append failed (non-fatal): ${err instanceof Error ? err.message : err}`);
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
export function resolvePeerDarkAuditPath(stateDir) {
|
|
202
|
+
return path.join(stateDir, 'logs', 'a2a-peer-dark.jsonl');
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=peerDark.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peerDark.js","sourceRoot":"","sources":["../../src/threadline/peerDark.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED