@cotal-ai/connector-core 0.23.0 → 0.25.0
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/agent.d.ts +92 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +109 -0
- package/dist/agent.js.map +1 -1
- package/dist/config.d.ts +36 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +126 -11
- package/dist/config.js.map +1 -1
- package/dist/control.d.ts +4 -0
- package/dist/control.d.ts.map +1 -1
- package/dist/control.js +12 -1
- package/dist/control.js.map +1 -1
- package/dist/docs-bundle.generated.d.ts.map +1 -1
- package/dist/docs-bundle.generated.js +28 -24
- package/dist/docs-bundle.generated.js.map +1 -1
- package/dist/docs.d.ts +5 -0
- package/dist/docs.d.ts.map +1 -1
- package/dist/docs.js +8 -2
- package/dist/docs.js.map +1 -1
- package/dist/launch.d.ts +89 -36
- package/dist/launch.d.ts.map +1 -1
- package/dist/launch.js +156 -65
- package/dist/launch.js.map +1 -1
- package/dist/relay.d.ts.map +1 -1
- package/dist/relay.js +52 -7
- package/dist/relay.js.map +1 -1
- package/dist/tool-specs.d.ts +61 -1
- package/dist/tool-specs.d.ts.map +1 -1
- package/dist/tool-specs.js +374 -27
- package/dist/tool-specs.js.map +1 -1
- package/package.json +3 -3
package/dist/config.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { userInfo } from "node:os";
|
|
2
1
|
import { readFileSync } from "node:fs";
|
|
3
|
-
import {
|
|
2
|
+
import { userInfo } from "node:os";
|
|
3
|
+
import { DEFAULT_SERVER, LAUNCH_MATERIAL_ENV, discardLaunchMaterial, assertValidChannel, channelInAllow, isConcreteChannel, loadAgentFile, parseJoinLink, readLaunchMaterial } from "@cotal-ai/core";
|
|
4
4
|
/** Keyed beta intake — used when a `COTAL_FEEDBACK_KEY` is configured. */
|
|
5
5
|
export const FEEDBACK_URL = "https://broker.cotal.ai/v1/feedback";
|
|
6
6
|
/** Public hosted intake — used without a key; requires a contact email. */
|
|
@@ -13,6 +13,108 @@ function splitList(v) {
|
|
|
13
13
|
.map((s) => s.trim())
|
|
14
14
|
.filter(Boolean);
|
|
15
15
|
}
|
|
16
|
+
/** The env vars that carry connection material DIRECTLY, for a hand-driven session. A
|
|
17
|
+
* launcher-spawned seat gets the same material as a file instead, so that a build script, a linter
|
|
18
|
+
* or a test suite the seat shells out to does not inherit a live credential nobody handed it. */
|
|
19
|
+
const DIRECT_MATERIAL_VARS = [
|
|
20
|
+
"COTAL_CREDS",
|
|
21
|
+
"COTAL_SERVERS",
|
|
22
|
+
"COTAL_TOKEN",
|
|
23
|
+
"COTAL_OWNER",
|
|
24
|
+
"COTAL_ACTOR",
|
|
25
|
+
"COTAL_SENTINEL_CREDS",
|
|
26
|
+
"COTAL_BEARER_CMD",
|
|
27
|
+
// The control token belongs here for a reason that is not symmetry. Once a launcher-spawned seat
|
|
28
|
+
// carries a material pointer in its environment, anything that INHERITS that environment and then
|
|
29
|
+
// sets COTAL_CONTROL_TOKEN by hand has two answers for one question, and controlFromEnv would
|
|
30
|
+
// silently prefer the inherited one - handing a process the OUTER seat's control endpoint while
|
|
31
|
+
// its own explicit token sat unused. That is not hypothetical: it is what a test harness spreading
|
|
32
|
+
// `...process.env` does, and this whole change exists because that spread used to be invisible.
|
|
33
|
+
"COTAL_CONTROL_TOKEN",
|
|
34
|
+
// A join link is connection material in one string: it carries the server, the auth and the space.
|
|
35
|
+
// Left off this list, a launch with both a material file and a link resolved the conflict by
|
|
36
|
+
// precedence and said nothing, which is the same silent answer to "who is this session" that the
|
|
37
|
+
// credential pair is refused for.
|
|
38
|
+
"COTAL_LINK",
|
|
39
|
+
];
|
|
40
|
+
/** Resolve the launch-material file, if this launch uses one. Refuses the two-carrier case: a
|
|
41
|
+
* material file AND direct material vars means two answers to "who is this session", and picking
|
|
42
|
+
* one silently is how a seat ends up connected as something nobody chose. An unreadable or
|
|
43
|
+
* permissive file throws from {@link readLaunchMaterial} - never a fall back to the env, which
|
|
44
|
+
* would turn a broken launch into a quietly different one. */
|
|
45
|
+
function readMaterial(env) {
|
|
46
|
+
const path = env[LAUNCH_MATERIAL_ENV]?.trim();
|
|
47
|
+
if (!path)
|
|
48
|
+
return undefined;
|
|
49
|
+
const direct = DIRECT_MATERIAL_VARS.filter((k) => env[k]?.trim());
|
|
50
|
+
if (direct.length)
|
|
51
|
+
throw new Error(`COTAL config: this launch carries connection material BOTH as ${LAUNCH_MATERIAL_ENV} and as ${direct.join(", ")}. ` +
|
|
52
|
+
"One launch carries one identity plane - drop the direct variables, or drop the material file.");
|
|
53
|
+
return readLaunchMaterial(path);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* This session's local control endpoint: the socket PATH from the env (not a secret, and the
|
|
57
|
+
* short-lived hook processes need it too) and the first-frame token out of the launch material,
|
|
58
|
+
* which is where the token now rides instead of `COTAL_CONTROL_TOKEN`.
|
|
59
|
+
*
|
|
60
|
+
* NOTHING means nothing: neither half present, so this is a session with no control plane, which is
|
|
61
|
+
* a normal launch. HALF A PAIR THROWS HERE, centrally, and that is the change worth explaining.
|
|
62
|
+
*
|
|
63
|
+
* Returning `undefined` for a half pair made every caller's own check the real contract, and the
|
|
64
|
+
* callers do not agree: the in-agent server would refuse to serve, a hook would fall silent, and one
|
|
65
|
+
* caller could simply forget, leaving a session that runs with a control plane it believes it
|
|
66
|
+
* configured and does not have. That is a silent degradation wearing the shape of an optional
|
|
67
|
+
* feature. Half a pair is not an absent control endpoint, it is a BROKEN one, and the difference
|
|
68
|
+
* belongs where the pair is resolved rather than in five copies downstream.
|
|
69
|
+
*
|
|
70
|
+
* Callers that must survive anything still can, and do so visibly: the lifecycle hook relay wraps
|
|
71
|
+
* this call in a try/catch because a hook that throws is a hook that blocked the session, and fail
|
|
72
|
+
* open is that relay's whole documented contract. Every other caller wants exactly this throw.
|
|
73
|
+
*/
|
|
74
|
+
export function controlFromEnv(env = process.env) {
|
|
75
|
+
const path = env.COTAL_CONTROL_SOCKET?.trim();
|
|
76
|
+
const token = readMaterial(env)?.controlToken ?? env.COTAL_CONTROL_TOKEN?.trim();
|
|
77
|
+
if (path && token)
|
|
78
|
+
return { path, token };
|
|
79
|
+
if (!path && !token)
|
|
80
|
+
return undefined;
|
|
81
|
+
if (path)
|
|
82
|
+
throw new Error("COTAL config: COTAL_CONTROL_SOCKET is set but no control token could be resolved - neither the launch material nor COTAL_CONTROL_TOKEN carries one. " +
|
|
83
|
+
"Half a pair is not a control endpoint, so this launch is refused rather than started without the control plane it was configured to have.");
|
|
84
|
+
throw new Error("COTAL config: a control token was supplied but COTAL_CONTROL_SOCKET is unset, so there is no socket to authenticate against. " +
|
|
85
|
+
"Half a pair is not a control endpoint, so this launch is refused rather than started without the control plane it was configured to have.");
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Drop the reference to the launch material once this process has read it.
|
|
89
|
+
*
|
|
90
|
+
* Only correct where the caller is the process that RUNS THE SESSION'S TOOL CALLS and nothing starts
|
|
91
|
+
* later that has to read the material again. That is pi and the codex host, whose sessions run in the
|
|
92
|
+
* seat process, and the OpenCode plugin, which runs inside the `opencode serve` process the seat shim
|
|
93
|
+
* starts (the server is also what executes the tool calls, so the shim keeping the reference costs
|
|
94
|
+
* nothing). There the descendants that would otherwise inherit the reference are the session's own
|
|
95
|
+
* tool calls, and after this they inherit nothing at all. It is NOT correct for the Claude connector, whose readers are short-lived child processes
|
|
96
|
+
* (the MCP server, each lifecycle hook) that start after the session is already running and would
|
|
97
|
+
* find the reference gone.
|
|
98
|
+
*/
|
|
99
|
+
export function scrubLaunchMaterial(env = process.env) {
|
|
100
|
+
const path = env[LAUNCH_MATERIAL_ENV]?.trim();
|
|
101
|
+
delete env[LAUNCH_MATERIAL_ENV];
|
|
102
|
+
// UNLINK IT TOO, where there is provably no later reader. Dropping the pointer stops the reference
|
|
103
|
+
// being inherited; deleting the file stops a same-uid process finding it by any other means, which
|
|
104
|
+
// is the one part of the residual boundary that CAN be closed here. It is the only place in this
|
|
105
|
+
// change where the honest limit gets smaller rather than better documented.
|
|
106
|
+
//
|
|
107
|
+
// Best-effort on purpose, and this is the one swallowed error in the file. The scrub has already
|
|
108
|
+
// succeeded by the time this runs: throwing here would turn a tidy-up failure (a read-only tmpdir,
|
|
109
|
+
// a file already reaped) into a failed session, and the state it would fail into is exactly the
|
|
110
|
+
// state every launch had before this line existed.
|
|
111
|
+
// The removal itself lives beside the writer, in core, because deciding what is safe to delete
|
|
112
|
+
// needs the rules the writer used, and a second copy of those rules here is how a cleanup ends up
|
|
113
|
+
// deleting something it did not create. See discardLaunchMaterial: the file always goes, the
|
|
114
|
+
// private directory only when it is provably this module's own, and never recursively.
|
|
115
|
+
if (path)
|
|
116
|
+
discardLaunchMaterial(path);
|
|
117
|
+
}
|
|
16
118
|
/** True iff the env carries a Cotal identity — i.e. this is a launcher-spawned
|
|
17
119
|
* session, not an operator's plain `claude`. `COTAL_LINK` / `COTAL_AGENT_FILE`
|
|
18
120
|
* count: setting either is itself the explicit opt-in. The connector stays
|
|
@@ -65,15 +167,28 @@ export function configFromEnv(env = process.env) {
|
|
|
65
167
|
if (!channelInAllow(resolvedAllowSub, ch))
|
|
66
168
|
throw new Error(`COTAL config: ${field} channel "${ch}" is not within allowSubscribe [${resolvedAllowSub.join(", ")}]`);
|
|
67
169
|
}
|
|
68
|
-
|
|
170
|
+
// CONNECTION MATERIAL. A launcher-spawned seat gets it as a private file it is pointed at; a
|
|
171
|
+
// hand-driven session (an operator's own `claude` with the plugin, a custom launcher) still sets
|
|
172
|
+
// the documented COTAL_CREDS/COTAL_SERVERS/... variables itself. Both carriers together is a
|
|
173
|
+
// BROKEN LAUNCH, not a precedence question: two sources of identity for one session is exactly
|
|
174
|
+
// the ambiguity that ends with a seat connected as something nobody chose, so it throws.
|
|
175
|
+
const material = readMaterial(env);
|
|
176
|
+
const credsPath = material?.creds ?? env.COTAL_CREDS?.trim();
|
|
69
177
|
// USER-MODE identity: all-or-nothing — a partial set means a broken launcher, and connecting
|
|
70
178
|
// with half an identity (or silently falling back to open) is exactly the U10 hazard.
|
|
71
|
-
const userVars =
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
179
|
+
const userVars = material?.userAuth
|
|
180
|
+
? {
|
|
181
|
+
owner: material.userAuth.owner,
|
|
182
|
+
actor: material.userAuth.actor,
|
|
183
|
+
sentinel: material.userAuth.sentinelCredsPath,
|
|
184
|
+
bearerCmd: JSON.stringify(material.userAuth.bearerCmd),
|
|
185
|
+
}
|
|
186
|
+
: {
|
|
187
|
+
owner: env.COTAL_OWNER?.trim(),
|
|
188
|
+
actor: env.COTAL_ACTOR?.trim(),
|
|
189
|
+
sentinel: env.COTAL_SENTINEL_CREDS?.trim(),
|
|
190
|
+
bearerCmd: env.COTAL_BEARER_CMD?.trim(),
|
|
191
|
+
};
|
|
77
192
|
const userSet = Object.values(userVars).filter(Boolean).length;
|
|
78
193
|
if (userSet > 0 && userSet < 4)
|
|
79
194
|
throw new Error("COTAL config: user-mode launch needs ALL of COTAL_OWNER, COTAL_ACTOR, COTAL_SENTINEL_CREDS, COTAL_BEARER_CMD — a partial set is a broken launcher, not a mode");
|
|
@@ -119,7 +234,7 @@ export function configFromEnv(env = process.env) {
|
|
|
119
234
|
capabilities: splitList(env.COTAL_CAPABILITIES).length ? splitList(env.COTAL_CAPABILITIES) : def?.capabilities,
|
|
120
235
|
model: env.COTAL_MODEL?.trim() || def?.model || undefined,
|
|
121
236
|
variant: env.COTAL_VARIANT?.trim() || def?.variant || undefined,
|
|
122
|
-
servers: env.COTAL_SERVERS?.trim() || link?.servers || DEFAULT_SERVER,
|
|
237
|
+
servers: material?.servers || env.COTAL_SERVERS?.trim() || link?.servers || DEFAULT_SERVER,
|
|
123
238
|
subscribe: resolvedSubscribe,
|
|
124
239
|
allowSubscribe: resolvedAllowSub,
|
|
125
240
|
// Post ACL is default-DENY: only what's explicitly declared (env > agent-file). The broker
|
|
@@ -128,7 +243,7 @@ export function configFromEnv(env = process.env) {
|
|
|
128
243
|
quiet: resolvedQuiet,
|
|
129
244
|
muted: resolvedMuted,
|
|
130
245
|
kind: env.COTAL_KIND?.trim() || def?.kind || "agent",
|
|
131
|
-
token: env.COTAL_TOKEN?.trim() || link?.token,
|
|
246
|
+
token: material?.token || env.COTAL_TOKEN?.trim() || link?.token,
|
|
132
247
|
user: link?.user,
|
|
133
248
|
pass: link?.pass,
|
|
134
249
|
tls: env.COTAL_TLS?.trim() === "1" || link?.tls || false,
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/control.d.ts
CHANGED
|
@@ -31,6 +31,10 @@ export interface ControlServerOpts {
|
|
|
31
31
|
* its own clean teardown (close the server, `agent.stop()` to leave the mesh, then exit) — the
|
|
32
32
|
* server never owns `process.exit`. Absent → shutdown frames are accepted + acked but inert. */
|
|
33
33
|
onShutdown?: () => void;
|
|
34
|
+
/** Read-only host-session identity. A manager uses this after Pi joins to bind supervised crash
|
|
35
|
+
* recovery to the exact Pi JSONL session, never to a newest-session heuristic. Undefined means
|
|
36
|
+
* the connector has not reached session_start yet. */
|
|
37
|
+
onSession?: () => string | undefined;
|
|
34
38
|
/** Called once per handled hook frame, after the reply has been written, with whether it reached a
|
|
35
39
|
* LIVE client. A hook reply is the only vehicle for the peer messages a handler injects, and it is
|
|
36
40
|
* not guaranteed to arrive: the relay abandons the exchange after its own timeout, and the runtime
|
package/dist/control.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../src/control.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAgB,KAAK,MAAM,EAAe,MAAM,UAAU,CAAC;AAGlE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvD,sEAAsE;AACtE,MAAM,WAAW,SAAS;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED,iEAAiE;AACjE,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAU/F;sGACsG;AACtG,eAAO,MAAM,eAAe,2BAAuB,CAAC;AASpD,MAAM,WAAW,iBAAiB;IAChC;;;;qCAIiC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;qGAEiG;IACjG,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB;;;;;;;;;;;;;;;;;;;6EAmByE;IACzE,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CACvD;AA+BD,8FAA8F;AAC9F,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,GAAG,SAAS,CAKtE;AA4ED;;;;oDAIoD;AACpD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EACzC,MAAM,EAAE,UAAU,EAClB,IAAI,GAAE,iBAAsB,GAC3B,MAAM,
|
|
1
|
+
{"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../src/control.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAgB,KAAK,MAAM,EAAe,MAAM,UAAU,CAAC;AAGlE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvD,sEAAsE;AACtE,MAAM,WAAW,SAAS;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED,iEAAiE;AACjE,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAU/F;sGACsG;AACtG,eAAO,MAAM,eAAe,2BAAuB,CAAC;AASpD,MAAM,WAAW,iBAAiB;IAChC;;;;qCAIiC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;qGAEiG;IACjG,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB;;2DAEuD;IACvD,SAAS,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACrC;;;;;;;;;;;;;;;;;;;6EAmByE;IACzE,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CACvD;AA+BD,8FAA8F;AAC9F,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,GAAG,SAAS,CAKtE;AA4ED;;;;oDAIoD;AACpD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EACzC,MAAM,EAAE,UAAU,EAClB,IAAI,GAAE,iBAAsB,GAC3B,MAAM,CA8FR"}
|
package/dist/control.js
CHANGED
|
@@ -193,7 +193,8 @@ export function startControlServer(agent, endpoint, handle, opts = {}) {
|
|
|
193
193
|
sock.destroy(); // unauthenticated — drop hard before handle/onShutdown (no half-open)
|
|
194
194
|
return;
|
|
195
195
|
}
|
|
196
|
-
|
|
196
|
+
const op = frame.op;
|
|
197
|
+
if (op === "shutdown") {
|
|
197
198
|
try {
|
|
198
199
|
sock.end(JSON.stringify({ ok: true }) + "\n");
|
|
199
200
|
}
|
|
@@ -203,6 +204,16 @@ export function startControlServer(agent, endpoint, handle, opts = {}) {
|
|
|
203
204
|
opts.onShutdown?.();
|
|
204
205
|
return;
|
|
205
206
|
}
|
|
207
|
+
if (op === "session") {
|
|
208
|
+
const sessionId = opts.onSession?.();
|
|
209
|
+
try {
|
|
210
|
+
sock.end(JSON.stringify(sessionId ? { ok: true, sessionId } : { ok: false, error: "session not ready" }) + "\n");
|
|
211
|
+
}
|
|
212
|
+
catch {
|
|
213
|
+
/* client gone */
|
|
214
|
+
}
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
206
217
|
const ev = (frame.event ?? {});
|
|
207
218
|
const awaitHandoff = frame.handoff === true;
|
|
208
219
|
const reply = await handle(agent, ev);
|
package/dist/control.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control.js","sourceRoot":"","sources":["../src/control.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,YAAY,EAA4B,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAoB1D;sGACsG;AACtG,MAAM,CAAC,MAAM,eAAe,GAAG,oBAAoB,CAAC;AACpD;;sGAEsG;AACtG,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAClC;sGACsG;AACtG,MAAM,wBAAwB,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"control.js","sourceRoot":"","sources":["../src/control.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs-bundle.generated.d.ts","sourceRoot":"","sources":["../src/docs-bundle.generated.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,eAAO,MAAM,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"docs-bundle.generated.d.ts","sourceRoot":"","sources":["../src/docs-bundle.generated.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,eAAO,MAAM,WAAW,EAAE,UAoRzB,CAAC"}
|