camelagi 0.5.41 → 0.5.46
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/README.md +116 -25
- package/dashboard/404.html +1 -0
- package/dashboard/__next.__PAGE__.txt +9 -0
- package/dashboard/__next._full.txt +19 -0
- package/dashboard/__next._head.txt +6 -0
- package/dashboard/__next._index.txt +5 -0
- package/dashboard/__next._tree.txt +3 -0
- package/dashboard/_next/_next/static/T-oVqD_b6KFHCZwRKsnRE/_buildManifest.js +11 -0
- package/dashboard/_next/_next/static/T-oVqD_b6KFHCZwRKsnRE/_clientMiddlewareManifest.js +1 -0
- package/dashboard/_next/_next/static/T-oVqD_b6KFHCZwRKsnRE/_ssgManifest.js +1 -0
- package/dashboard/_next/_next/static/chunks/0.9wqq91a2h.e.js +3 -0
- package/dashboard/_next/_next/static/chunks/00-nlsz4ud071.js +11 -0
- package/dashboard/_next/_next/static/chunks/00noe7du3vxk9.js +1 -0
- package/dashboard/_next/_next/static/chunks/04wr2uisy8870.js +5 -0
- package/dashboard/_next/_next/static/chunks/05f.w0h0j~.3g.js +1 -0
- package/dashboard/_next/_next/static/chunks/0geaa8~wrpcj6.js +1 -0
- package/dashboard/_next/_next/static/chunks/0nrlwe_~wde44.js +1 -0
- package/dashboard/_next/_next/static/chunks/12l48lp-434~..js +31 -0
- package/dashboard/_next/_next/static/chunks/14qcm-bqojrb9.js +1 -0
- package/dashboard/_next/_next/static/chunks/15~vsexhgsteo.js +1 -0
- package/dashboard/_next/_next/static/chunks/turbopack-173kubfog5kol.js +1 -0
- package/dashboard/_next/static/8Qf-y5Z4kUHAaWZgy3BFF/_buildManifest.js +11 -0
- package/dashboard/_next/static/8Qf-y5Z4kUHAaWZgy3BFF/_clientMiddlewareManifest.js +1 -0
- package/dashboard/_next/static/8Qf-y5Z4kUHAaWZgy3BFF/_ssgManifest.js +1 -0
- package/dashboard/_next/static/IQ8CU45QQ3REnyUqiqjou/_buildManifest.js +11 -0
- package/dashboard/_next/static/IQ8CU45QQ3REnyUqiqjou/_clientMiddlewareManifest.js +1 -0
- package/dashboard/_next/static/IQ8CU45QQ3REnyUqiqjou/_ssgManifest.js +1 -0
- package/dashboard/_next/static/PXgzS7j3kuwIb14Ph3vgL/_buildManifest.js +11 -0
- package/dashboard/_next/static/PXgzS7j3kuwIb14Ph3vgL/_clientMiddlewareManifest.js +1 -0
- package/dashboard/_next/static/PXgzS7j3kuwIb14Ph3vgL/_ssgManifest.js +1 -0
- package/dashboard/_next/static/S6BdJ1Ro25a6twuts7gHi/_buildManifest.js +11 -0
- package/dashboard/_next/static/S6BdJ1Ro25a6twuts7gHi/_clientMiddlewareManifest.js +1 -0
- package/dashboard/_next/static/S6BdJ1Ro25a6twuts7gHi/_ssgManifest.js +1 -0
- package/dashboard/_next/static/T-oVqD_b6KFHCZwRKsnRE/_buildManifest.js +11 -0
- package/dashboard/_next/static/T-oVqD_b6KFHCZwRKsnRE/_clientMiddlewareManifest.js +1 -0
- package/dashboard/_next/static/T-oVqD_b6KFHCZwRKsnRE/_ssgManifest.js +1 -0
- package/dashboard/_next/static/bvUynE5XeBkbLQynmgHa8/_buildManifest.js +11 -0
- package/dashboard/_next/static/bvUynE5XeBkbLQynmgHa8/_clientMiddlewareManifest.js +1 -0
- package/dashboard/_next/static/bvUynE5XeBkbLQynmgHa8/_ssgManifest.js +1 -0
- package/dashboard/_next/static/chunks/0.9wqq91a2h.e.js +3 -0
- package/dashboard/_next/static/chunks/00-nlsz4ud071.js +11 -0
- package/dashboard/_next/static/chunks/00noe7du3vxk9.js +1 -0
- package/dashboard/_next/static/chunks/03~yq9q893hmn.js +1 -0
- package/dashboard/_next/static/chunks/04wr2uisy8870.js +5 -0
- package/dashboard/_next/static/chunks/05f.w0h0j~.3g.js +1 -0
- package/dashboard/_next/static/chunks/08ug0khjvhl6m.js +11 -0
- package/dashboard/_next/static/chunks/0d1s5w1cd08~7.js +11 -0
- package/dashboard/_next/static/chunks/0geaa8~wrpcj6.js +1 -0
- package/dashboard/_next/static/chunks/0lyajo4_yki3f.js +11 -0
- package/dashboard/_next/static/chunks/0nrlwe_~wde44.js +1 -0
- package/dashboard/_next/static/chunks/0pd15v2_1spxb.js +11 -0
- package/dashboard/_next/static/chunks/0vnhcfh7g1u6i.js +11 -0
- package/dashboard/_next/static/chunks/0ynuwcqa7w3o..css +2 -0
- package/dashboard/_next/static/chunks/11dfqgfbc8fk2.js +11 -0
- package/dashboard/_next/static/chunks/12l48lp-434~..js +31 -0
- package/dashboard/_next/static/chunks/14qcm-bqojrb9.js +1 -0
- package/dashboard/_next/static/chunks/15~vsexhgsteo.js +1 -0
- package/dashboard/_next/static/chunks/turbopack-173kubfog5kol.js +1 -0
- package/dashboard/_next/static/media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2 +0 -0
- package/dashboard/_next/static/media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2 +0 -0
- package/dashboard/_next/static/media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2 +0 -0
- package/dashboard/_next/static/media/5476f68d60460930-s.0wxq9webf.ew4.woff2 +0 -0
- package/dashboard/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2 +0 -0
- package/dashboard/_next/static/media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2 +0 -0
- package/dashboard/_next/static/media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2 +0 -0
- package/dashboard/_next/static/media/favicon.0x3dzn~oxb6tn.ico +0 -0
- package/dashboard/_next/static/uQ6ZB7JlP8tE93mlzKtXM/_buildManifest.js +11 -0
- package/dashboard/_next/static/uQ6ZB7JlP8tE93mlzKtXM/_clientMiddlewareManifest.js +1 -0
- package/dashboard/_next/static/uQ6ZB7JlP8tE93mlzKtXM/_ssgManifest.js +1 -0
- package/dashboard/_not-found/__next._full.txt +16 -0
- package/dashboard/_not-found/__next._head.txt +6 -0
- package/dashboard/_not-found/__next._index.txt +5 -0
- package/dashboard/_not-found/__next._not-found.__PAGE__.txt +5 -0
- package/dashboard/_not-found/__next._not-found.txt +5 -0
- package/dashboard/_not-found/__next._tree.txt +2 -0
- package/dashboard/_not-found.html +1 -0
- package/dashboard/_not-found.txt +16 -0
- package/dashboard/favicon.ico +0 -0
- package/dashboard/file.svg +1 -0
- package/dashboard/globe.svg +1 -0
- package/dashboard/index.html +1 -1
- package/dashboard/index.txt +18 -27
- package/dashboard/next.svg +1 -0
- package/dashboard/vercel.svg +1 -0
- package/dashboard/window.svg +1 -0
- package/dist/agent/agent-cursor.js +138 -0
- package/dist/agent/agent-cursor.js.map +1 -0
- package/dist/agent/agent-sdk.js +6 -2
- package/dist/agent/agent-sdk.js.map +1 -1
- package/dist/agent/types.js +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/agent.js +11 -7
- package/dist/agent.js.map +1 -1
- package/dist/cli/cmd-dashboard.js +63 -0
- package/dist/cli/cmd-dashboard.js.map +1 -0
- package/dist/cli/cmd-projects.js +128 -0
- package/dist/cli/cmd-projects.js.map +1 -0
- package/dist/cli/cmd-team.js +587 -0
- package/dist/cli/cmd-team.js.map +1 -0
- package/dist/cli.js +2 -1
- package/dist/cli.js.map +1 -1
- package/dist/core/config.js +4 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/version.js +1 -1
- package/dist/extensions/team-coordinator.js +63 -0
- package/dist/extensions/team-coordinator.js.map +1 -0
- package/dist/gateway/routes.js +167 -3
- package/dist/gateway/routes.js.map +1 -1
- package/dist/gateway/ws-handler.js +11 -3
- package/dist/gateway/ws-handler.js.map +1 -1
- package/dist/runtime/orchestrate.js +19 -8
- package/dist/runtime/orchestrate.js.map +1 -1
- package/dist/serve.js +15 -17
- package/dist/serve.js.map +1 -1
- package/dist/session.js +14 -2
- package/dist/session.js.map +1 -1
- package/dist/team.js +203 -0
- package/dist/team.js.map +1 -0
- package/dist/telegram/dir-browser.js +9 -0
- package/dist/telegram/dir-browser.js.map +1 -1
- package/dist/telegram/draft-stream.js +4 -2
- package/dist/telegram/draft-stream.js.map +1 -1
- package/dist/telegram/terminal.js +65 -31
- package/dist/telegram/terminal.js.map +1 -1
- package/dist/telegram.js +4 -3
- package/dist/telegram.js.map +1 -1
- package/dist/tools/admin.js +841 -0
- package/dist/tools/admin.js.map +1 -0
- package/dist/tools/team.js +182 -0
- package/dist/tools/team.js.map +1 -0
- package/dist/tui/commands.js +15 -0
- package/dist/tui/commands.js.map +1 -1
- package/dist/tui/components/welcome.js +2 -1
- package/dist/tui/components/welcome.js.map +1 -1
- package/dist/tui/tui.js +13 -1
- package/dist/tui/tui.js.map +1 -1
- package/package.json +3 -1
- package/dashboard/_next/static/chunks/172-a2787ae03f0db2b4.js +0 -12
- package/dashboard/_next/static/chunks/239-49a9ac3789f8c41c.js +0 -1
- package/dashboard/_next/static/chunks/255-102f2e5b2e3dc2ef.js +0 -1
- package/dashboard/_next/static/chunks/413-89d8e4554f461999.js +0 -1
- package/dashboard/_next/static/chunks/4bd1b696-c023c6e3521b1417.js +0 -1
- package/dashboard/_next/static/chunks/619-ba102abea3e3d0e4.js +0 -1
- package/dashboard/_next/static/chunks/909-aed3aa549e59d0fb.js +0 -1
- package/dashboard/_next/static/chunks/app/_not-found/page-121b856ce9a0ddcd.js +0 -1
- package/dashboard/_next/static/chunks/app/dashboard/agents/page-aa6e6fb2a1df7d63.js +0 -1
- package/dashboard/_next/static/chunks/app/dashboard/chat/page-feeb17fdc08b91e5.js +0 -1
- package/dashboard/_next/static/chunks/app/dashboard/config/page-afad9f4da82a343e.js +0 -1
- package/dashboard/_next/static/chunks/app/dashboard/layout-853ce5dfe3461735.js +0 -1
- package/dashboard/_next/static/chunks/app/dashboard/monitor/page-1b3d112c49b3a383.js +0 -1
- package/dashboard/_next/static/chunks/app/dashboard/page-b15605f3b21f7467.js +0 -1
- package/dashboard/_next/static/chunks/app/dashboard/sessions/page-e11d3f3e6ad99067.js +0 -1
- package/dashboard/_next/static/chunks/app/docs/[slug]/page-baf0632d98082d10.js +0 -1
- package/dashboard/_next/static/chunks/app/docs/page-5933496f46ff00ec.js +0 -1
- package/dashboard/_next/static/chunks/app/download/page-da533b5f543dfd66.js +0 -1
- package/dashboard/_next/static/chunks/app/layout-1112267c08c875b5.js +0 -1
- package/dashboard/_next/static/chunks/app/page-d69c17b39431e2c5.js +0 -1
- package/dashboard/_next/static/chunks/framework-de98b93a850cfc71.js +0 -1
- package/dashboard/_next/static/chunks/main-8d9a106db393efcf.js +0 -1
- package/dashboard/_next/static/chunks/main-app-e38cb42677e65e59.js +0 -1
- package/dashboard/_next/static/chunks/pages/_app-7d307437aca18ad4.js +0 -1
- package/dashboard/_next/static/chunks/pages/_error-cb2a52f75f2162e2.js +0 -1
- package/dashboard/_next/static/chunks/webpack-b2507a6fba7be451.js +0 -1
- package/dashboard/_next/static/css/c60b60dc84892a8b.css +0 -5
- package/dashboard/_next/static/css/d4ea3c83e49eb5e1.css +0 -4
- package/dashboard/_next/static/jjqY4ybx1hNTX-bnJfS2f/_buildManifest.js +0 -1
- package/dashboard/_next/static/jjqY4ybx1hNTX-bnJfS2f/_ssgManifest.js +0 -1
- package/dashboard/_next/static/media/4cf2300e9c8272f7-s.p.woff2 +0 -0
- package/dashboard/_next/static/media/4da3161b738b07dd-s.woff2 +0 -0
- package/dashboard/_next/static/media/8d697b304b401681-s.woff2 +0 -0
- package/dashboard/_next/static/media/af4bf8399d1aacdf-s.p.woff2 +0 -0
- package/dashboard/_next/static/media/ba015fad6dcf6784-s.woff2 +0 -0
- package/dashboard/_next/static/media/fb526027db1fc1ae-s.woff2 +0 -0
- package/dashboard/agents/index.html +0 -1
- package/dashboard/agents/index.txt +0 -28
- package/dashboard/chat/index.html +0 -1
- package/dashboard/chat/index.txt +0 -28
- package/dashboard/config/index.html +0 -1
- package/dashboard/config/index.txt +0 -28
- package/dashboard/monitor/index.html +0 -1
- package/dashboard/monitor/index.txt +0 -28
- package/dashboard/sessions/index.html +0 -1
- package/dashboard/sessions/index.txt +0 -28
- package/dist/cli/cmd-install.js +0 -80
- package/dist/cli/cmd-install.js.map +0 -1
- package/dist/telegram/bot-approval.js +0 -63
- package/dist/telegram/bot-approval.js.map +0 -1
- package/dist/telegram/pairing.js +0 -138
- package/dist/telegram/pairing.js.map +0 -1
- /package/dashboard/_next/{static/chunks/polyfills-42372ed130431b0a.js → _next/static/chunks/03~yq9q893hmn.js} +0 -0
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// run-agent-with-retry → save-messages → release sequence that was previously
|
|
5
5
|
// duplicated in routes.ts, ws-handler.ts, and agent-bot.ts.
|
|
6
6
|
import { runAgent } from "../agent.js";
|
|
7
|
-
import { loadMessages, saveMessage } from "../session.js";
|
|
7
|
+
import { loadMessages, saveMessage, getSessionMeta } from "../session.js";
|
|
8
8
|
import { setActiveRun, clearActiveRun, isRunActive, generateRunId } from "./runs.js";
|
|
9
9
|
import { queueOrProcess, drainQueue } from "./queue.js";
|
|
10
10
|
import { compactHistory } from "./compact.js";
|
|
@@ -21,7 +21,12 @@ import { acquireLane, Lane } from "./lanes.js";
|
|
|
21
21
|
*/
|
|
22
22
|
export async function orchestrate(opts) {
|
|
23
23
|
const { sessionId, message, config, systemPrompt, client, signal, onEvent, onRetry, onCompact, agentId, resumeSessionId, label, } = opts;
|
|
24
|
-
|
|
24
|
+
// Resolve SDK: explicit opt > session history > default
|
|
25
|
+
const existingMeta = getSessionMeta(sessionId);
|
|
26
|
+
const sdk = opts.sdk ?? existingMeta?.sdk ?? "claude";
|
|
27
|
+
const model = sdk === "cursor"
|
|
28
|
+
? (opts.model ?? config.cursorModel)
|
|
29
|
+
: (opts.model ?? config.model);
|
|
25
30
|
const agentSystemPrompt = opts.agentSystemPrompt ?? systemPrompt;
|
|
26
31
|
const thinking = opts.thinking ?? config.thinking;
|
|
27
32
|
const effort = opts.effort ?? config.effort;
|
|
@@ -31,7 +36,7 @@ export async function orchestrate(opts) {
|
|
|
31
36
|
const queueResult = await queueOrProcess(sessionId, message);
|
|
32
37
|
if (queueResult.queued) {
|
|
33
38
|
const response = await queueResult.promise;
|
|
34
|
-
return { response, runId: "", sessionId, usage: null, queued: true };
|
|
39
|
+
return { response, runId: "", sessionId, usage: null, queued: true, sdk };
|
|
35
40
|
}
|
|
36
41
|
}
|
|
37
42
|
const release = await acquireLane(Lane.Main);
|
|
@@ -81,11 +86,16 @@ export async function orchestrate(opts) {
|
|
|
81
86
|
...(config.maxBudgetUsd ? { maxBudgetUsd: config.maxBudgetUsd } : {}),
|
|
82
87
|
...(resumeSessionId ? { resumeSessionId } : {}),
|
|
83
88
|
...(agentId ? { agentId } : {}),
|
|
89
|
+
sdk,
|
|
90
|
+
...(config.cursorApiKey ? { cursorApiKey: config.cursorApiKey } : {}),
|
|
91
|
+
...(agentId && config.agents[agentId]?.adminTools ? {
|
|
92
|
+
adminDeps: { getSystemPrompt: () => agentSystemPrompt },
|
|
93
|
+
} : {}),
|
|
84
94
|
};
|
|
85
|
-
|
|
95
|
+
const apiKey = config.apiKey ?? "";
|
|
96
|
+
if (!apiKey) {
|
|
86
97
|
throw new Error("No API key configured. Run: camel setup");
|
|
87
98
|
}
|
|
88
|
-
const apiKey = config.apiKey;
|
|
89
99
|
const result = await withRetry(() => runAgent(apiKey, model, agentSystemPrompt, history, message, agentOpts), {
|
|
90
100
|
maxRetries: config.retry?.maxRetries ?? 3,
|
|
91
101
|
backoffMs: config.retry?.backoffMs ?? 1000,
|
|
@@ -98,10 +108,10 @@ export async function orchestrate(opts) {
|
|
|
98
108
|
},
|
|
99
109
|
});
|
|
100
110
|
streaming = false;
|
|
101
|
-
// Persist messages
|
|
102
|
-
saveMessage(sessionId, { role: "user", content: message }, model, label);
|
|
111
|
+
// Persist messages (sdk tag is written into the session meta on creation)
|
|
112
|
+
saveMessage(sessionId, { role: "user", content: message }, model, label, sdk);
|
|
103
113
|
if (result.response) {
|
|
104
|
-
saveMessage(sessionId, { role: "assistant", content: result.response }, model, label);
|
|
114
|
+
saveMessage(sessionId, { role: "assistant", content: result.response }, model, label, sdk);
|
|
105
115
|
}
|
|
106
116
|
return {
|
|
107
117
|
response: result.response,
|
|
@@ -109,6 +119,7 @@ export async function orchestrate(opts) {
|
|
|
109
119
|
sessionId,
|
|
110
120
|
usage: result.usage,
|
|
111
121
|
sdkSessionId: result.sessionId,
|
|
122
|
+
sdk,
|
|
112
123
|
};
|
|
113
124
|
}
|
|
114
125
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrate.js","sourceRoot":"","sources":["../../src/runtime/orchestrate.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,EAAE;AACF,2EAA2E;AAC3E,8EAA8E;AAC9E,4DAA4D;
|
|
1
|
+
{"version":3,"file":"orchestrate.js","sourceRoot":"","sources":["../../src/runtime/orchestrate.ts"],"names":[],"mappings":"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"}
|
package/dist/serve.js
CHANGED
|
@@ -55,6 +55,16 @@ export async function startServer(opts = {}) {
|
|
|
55
55
|
console.log(` \x1b[33m Set serve.token in config or CAMELAGI_TOKEN env var.\x1b[0m\n`);
|
|
56
56
|
}
|
|
57
57
|
const app = express();
|
|
58
|
+
// Serve dashboard static files BEFORE rate limiter / CSRF
|
|
59
|
+
const dashboardDir = path.join(path.dirname(new URL(import.meta.url).pathname), "..", "dashboard");
|
|
60
|
+
if (fs.existsSync(dashboardDir)) {
|
|
61
|
+
// Static assets (CSS, JS, fonts) — basePath is /dashboard so paths are /dashboard/_next/...
|
|
62
|
+
app.use("/dashboard", express.static(dashboardDir));
|
|
63
|
+
// SPA fallback — all dashboard routes serve index.html
|
|
64
|
+
app.get("/dashboard/*", (_req, res) => {
|
|
65
|
+
res.sendFile(path.join(dashboardDir, "index.html"));
|
|
66
|
+
});
|
|
67
|
+
}
|
|
58
68
|
app.use(express.json({ limit: "1mb" }));
|
|
59
69
|
app.use(csrfProtection(state));
|
|
60
70
|
if (!opts.silent) {
|
|
@@ -81,23 +91,6 @@ export async function startServer(opts = {}) {
|
|
|
81
91
|
alive.set(ws, true);
|
|
82
92
|
ws.on("pong", () => alive.set(ws, true));
|
|
83
93
|
});
|
|
84
|
-
// Serve dashboard static files
|
|
85
|
-
const dashboardDir = path.join(path.dirname(new URL(import.meta.url).pathname), "..", "dashboard");
|
|
86
|
-
if (fs.existsSync(dashboardDir)) {
|
|
87
|
-
app.use("/dashboard", express.static(dashboardDir));
|
|
88
|
-
// SPA fallback — serve index.html for dashboard sub-routes
|
|
89
|
-
app.get("/dashboard/*", (_req, res) => {
|
|
90
|
-
const reqPath = _req.path.replace("/dashboard", "");
|
|
91
|
-
const subDir = path.join(dashboardDir, reqPath);
|
|
92
|
-
const subIndex = path.join(subDir, "index.html");
|
|
93
|
-
if (fs.existsSync(subIndex)) {
|
|
94
|
-
res.sendFile(subIndex);
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
res.sendFile(path.join(dashboardDir, "index.html"));
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
94
|
// Register handlers
|
|
102
95
|
registerRoutes(app, state);
|
|
103
96
|
registerWsHandler(wss, state);
|
|
@@ -144,6 +137,11 @@ export async function startServer(opts = {}) {
|
|
|
144
137
|
const agentStr = agents.join(", ");
|
|
145
138
|
console.log(` \x1b[36m│\x1b[0m Agents ${agentStr}${" ".repeat(Math.max(0, 29 - agentStr.length))} \x1b[36m│\x1b[0m`);
|
|
146
139
|
}
|
|
140
|
+
const dashUrl = `http://${host}:${actualPort}/dashboard`;
|
|
141
|
+
if (fs.existsSync(dashboardDir)) {
|
|
142
|
+
console.log(` \x1b[36m│\x1b[0m \x1b[36m│\x1b[0m`);
|
|
143
|
+
console.log(` \x1b[36m│\x1b[0m \x1b[1m\x1b[33mDashboard\x1b[0m ${dashUrl}${" ".repeat(Math.max(0, 26 - dashUrl.length))} \x1b[36m│\x1b[0m`);
|
|
144
|
+
}
|
|
147
145
|
console.log(` \x1b[36m╰─────────────────────────────────────╯\x1b[0m`);
|
|
148
146
|
console.log("");
|
|
149
147
|
// Boot script
|
package/dist/serve.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,0CAA0C;AAE1C,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,eAAe,EAAa,MAAM,IAAI,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAe,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAgB,MAAM,sBAAsB,CAAC;AACrH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAmB7B,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAkB,EAAE;IACpD,UAAU,EAAE,CAAC;IACb,aAAa,EAAE,CAAC;IAChB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,qDAAqD;IAErD,MAAM,KAAK,GAAiB;QAC1B,MAAM;QACN,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC;QAC5B,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC;QACnE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK;QACzB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM;QACrB,OAAO,EAAE,IAAI,GAAG,EAAa;QAC7B,QAAQ,EAAE,IAAI,GAAG,EAAa;QAC9B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC;IAEF,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEpD,0EAA0E;IAC1E,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE;QACtB,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;QACrB,KAAK,CAAC,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,wDAAwD;IACxD,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAEjD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;IACrD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAa,EAAE,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAEjE,+CAA+C;IAC/C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,4CAA4C,IAAI,6BAA6B,CAAC,CAAC;QAC3F,OAAO,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACxC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;IAC3B,CAAC;IACD,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAE3C,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAE5C,YAAY;IACZ,MAAM,KAAK,GAAG,IAAI,OAAO,EAAsB,CAAC;IAChD,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACnB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACzB,EAAE,CAAC,SAAS,EAAE,CAAC;gBACf,SAAS;YACX,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACrB,EAAE,CAAC,IAAI,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAE1B,sCAAsC;IACtC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE;QAC1B,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACpB,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,+BAA+B;IAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACnG,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACpD,2DAA2D;QAC3D,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YACjD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;IACpB,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3B,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAE9B,kBAAkB;IAClB,MAAM,UAAU,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;QACvD,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE;YACtC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,sCAAsC;IACtC,IAAI,gBAAgB,GAAiC,IAAI,CAAC;IAC1D,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YACxE,MAAM,EAAE,GAAG,MAAM,sBAAsB,CAAC;gBACtC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,SAA+B;gBAClD,IAAI,EAAE,UAAU;gBAChB,GAAG;aACJ,CAAC,CAAC;YACH,gBAAgB,GAAG,EAAE,CAAC,OAAO,CAAC;YAC9B,IAAI,EAAE,CAAC,GAAG;gBAAE,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,GAAG,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,wBAAwB,CAAC;IAExF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,+FAA+F,CAAC,CAAC;IAC7G,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,qCAAqC,IAAI,IAAI,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAChK,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI,IAAI,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAC9J,OAAO,CAAC,GAAG,CAAC,8BAA8B,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACjI,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;QACzE,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,8BAA8B,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAC/I,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,8BAA8B,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACzH,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,cAAc;IACd,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;YACnE,IAAI,UAAU,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAChC,GAAG,CAAC,cAAc,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;YACnE,CAAC;iBAAM,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC1C,GAAG,CAAC,qBAAqB,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/B,CAAC;IAED,4CAA4C;IAC5C,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;YAC/E,MAAM,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACjC,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACrF,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;gBAClC,GAAG,CAAC,KAAK,IAAI,KAAK,GAAG,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,iBAAiB,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG;YACf,KAAK,EAAE,CAAC,EAAU,EAAE,QAAgB,EAAE,EAAE,GAAG,GAAG,CAAC,UAAU,EAAE,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3F,OAAO,EAAE,CAAC,EAAU,EAAE,GAAU,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;SACpH,CAAC;QAEF,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACxE,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,YAAY,CAAC,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACzF,CAAC;QAED,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAClF,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,GAAG,YAAY,CAAC;QACrD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,GAAG,CAAC,KAAK,UAAU,yBAAyB,WAAW,CAAC,MAAM,YAAY,YAAY,WAAW,CAAC,CAAC;QACrG,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,MAAM,aAAa,GAAG;QACpB,KAAK,EAAE,CAAC,QAAgB,EAAE,EAAE,GAAG,GAAG,CAAC,gBAAgB,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9E,MAAM,EAAE,CAAC,OAAe,EAAE,EAAE,GAAgB,CAAC;QAC7C,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;KAClG,CAAC;IACF,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;QACpC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC5C,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAC7B,CAAC;IAED,oBAAoB;IACpB,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC;IAChD,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE;QAC5D,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACnD,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;QACzB,KAAK,CAAC,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvF,sCAAsC;QACtC,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE,6DAA6D,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnJ,CAAC;QACD,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC1D,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAEjD,oCAAoC;QACpC,aAAa,EAAE,CAAC;QAChB,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;YACpC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC9C,CAAC;QAED,wDAAwD;QACxD,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,CAAC,qBAAqB,CAAC;iBAC1B,IAAI,CAAC,CAAC,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;iBACtG,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,eAAe;IACf,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;QACvB,aAAa,CAAC,SAAS,CAAC,CAAC;QACzB,aAAa,EAAE,KAAK,EAAE,CAAC;QACvB,eAAe,EAAE,CAAC;QAClB,aAAa,EAAE,CAAC;QAChB,IAAI,gBAAgB;YAAE,MAAM,gBAAgB,EAAE,CAAC;QAC/C,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,OAAO;YAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;QACvE,IAAI,CAAC;YACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;YAChE,eAAe,EAAE,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;QACrC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YAC1B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,MAAM,KAAK,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;AACnH,CAAC;AAGD,SAAS,WAAW,CAClB,cAAsB,EACtB,QAAkC;IAElC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC;QAClD,6EAA6E;QAC7E,oCAAoC;QACpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,QAAQ,GAA0B,IAAI,CAAC;QAC3C,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;YACvD,IAAI,QAAQ,KAAK,aAAa;gBAAE,OAAO;YACvC,6BAA6B;YAC7B,IAAI,QAAQ;gBAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;YACrC,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE;gBACzB,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;oBAC/B,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACtB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;QACH,0BAA0B;QAC1B,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
|
package/dist/session.js
CHANGED
|
@@ -52,11 +52,11 @@ export function loadMessages(sessionId) {
|
|
|
52
52
|
return { role: typeToRole(msg.type), content: msg.content };
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
|
-
export function saveMessage(sessionId, message, model, label) {
|
|
55
|
+
export function saveMessage(sessionId, message, model, label, sdk) {
|
|
56
56
|
fs.mkdirSync(paths.sessionsDir, { recursive: true });
|
|
57
57
|
const file = sessionPath(sessionId);
|
|
58
58
|
if (!fs.existsSync(file)) {
|
|
59
|
-
const meta = { id: sessionId, createdAt: Date.now(), model, ...(label && { label }) };
|
|
59
|
+
const meta = { id: sessionId, createdAt: Date.now(), model, ...(label && { label }), ...(sdk && { sdk }) };
|
|
60
60
|
fs.writeFileSync(file, JSON.stringify(meta) + "\n");
|
|
61
61
|
}
|
|
62
62
|
// Save with new role names
|
|
@@ -66,6 +66,18 @@ export function saveMessage(sessionId, message, model, label) {
|
|
|
66
66
|
};
|
|
67
67
|
fs.appendFileSync(file, JSON.stringify(serialized) + "\n");
|
|
68
68
|
}
|
|
69
|
+
export function getSessionMeta(sessionId) {
|
|
70
|
+
const file = sessionPath(sessionId);
|
|
71
|
+
if (!fs.existsSync(file))
|
|
72
|
+
return null;
|
|
73
|
+
const firstLine = fs.readFileSync(file, "utf-8").split("\n")[0];
|
|
74
|
+
try {
|
|
75
|
+
return JSON.parse(firstLine);
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
69
81
|
export function deleteSession(sessionId) {
|
|
70
82
|
const file = sessionPath(sessionId);
|
|
71
83
|
if (fs.existsSync(file))
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,mCAAmC;AAEnC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
package/dist/team.js
ADDED
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
// Team workspace: shared scratchpad + inbox + state files for collaborating
|
|
2
|
+
// agents. The shape is deliberately simple — plain markdown files an agent
|
|
3
|
+
// can read with the Read tool. The team MCP tools wrap append/read helpers.
|
|
4
|
+
import fs from "node:fs";
|
|
5
|
+
import path from "node:path";
|
|
6
|
+
import { paths } from "./core/config.js";
|
|
7
|
+
export const teamRoot = path.join(paths.configDir, "team");
|
|
8
|
+
/** Resolve all paths for a team. Does not create them. */
|
|
9
|
+
export function teamPaths(teamId) {
|
|
10
|
+
const safeId = sanitizeId(teamId);
|
|
11
|
+
const root = path.join(teamRoot, safeId);
|
|
12
|
+
return {
|
|
13
|
+
root,
|
|
14
|
+
discussion: path.join(root, "discussion.md"),
|
|
15
|
+
state: path.join(root, "state.md"),
|
|
16
|
+
decisions: path.join(root, "decisions.md"),
|
|
17
|
+
inboxDir: path.join(root, "inbox"),
|
|
18
|
+
topicsDir: path.join(root, "topics"),
|
|
19
|
+
archiveDir: path.join(root, "archive"),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/** Create dirs and seed empty files for a team. Idempotent. */
|
|
23
|
+
export function ensureTeamDir(teamId, members) {
|
|
24
|
+
const p = teamPaths(teamId);
|
|
25
|
+
fs.mkdirSync(p.root, { recursive: true });
|
|
26
|
+
fs.mkdirSync(p.inboxDir, { recursive: true });
|
|
27
|
+
fs.mkdirSync(p.topicsDir, { recursive: true });
|
|
28
|
+
fs.mkdirSync(p.archiveDir, { recursive: true });
|
|
29
|
+
if (!fs.existsSync(p.discussion)) {
|
|
30
|
+
fs.writeFileSync(p.discussion, `# Team discussion — ${teamId}\n\nAppend-only chronological log. Newest entries at the bottom.\nEvery agent reads this at the start of every turn.\n\n---\n`);
|
|
31
|
+
}
|
|
32
|
+
if (!fs.existsSync(p.state)) {
|
|
33
|
+
fs.writeFileSync(p.state, `# Current state — ${teamId}\n\n- **Task:** (none)\n- **Branch:** (none)\n- **Owner:** (none)\n- **Blockers:** (none)\n- **Updated:** ${new Date().toISOString()}\n`);
|
|
34
|
+
}
|
|
35
|
+
if (!fs.existsSync(p.decisions)) {
|
|
36
|
+
fs.writeFileSync(p.decisions, `# Locked decisions — ${teamId}\n\nAppend-only. Once written here it is the team contract — do not contradict.\n\n---\n`);
|
|
37
|
+
}
|
|
38
|
+
for (const a of members) {
|
|
39
|
+
const inboxFile = path.join(p.inboxDir, `${sanitizeId(a)}.md`);
|
|
40
|
+
if (!fs.existsSync(inboxFile)) {
|
|
41
|
+
fs.writeFileSync(inboxFile, `# Inbox — ${a}\n\nUnread messages appear below the cursor line. Move to # Read after handling.\n\n## Cursor\n\n## Read\n`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return p;
|
|
45
|
+
}
|
|
46
|
+
// ─── Discussion ──────────────────────────────────────────────────────
|
|
47
|
+
export function appendDiscussion(teamId, fromAgent, text) {
|
|
48
|
+
const p = teamPaths(teamId);
|
|
49
|
+
fs.mkdirSync(p.root, { recursive: true });
|
|
50
|
+
const block = `\n### ${new Date().toISOString()} — ${fromAgent}\n\n${text.trim()}\n`;
|
|
51
|
+
fs.appendFileSync(p.discussion, block);
|
|
52
|
+
}
|
|
53
|
+
/** Read the last `tail` characters of discussion.md (default 8 KB). */
|
|
54
|
+
export function readDiscussion(teamId, tail = 8192) {
|
|
55
|
+
const p = teamPaths(teamId);
|
|
56
|
+
if (!fs.existsSync(p.discussion))
|
|
57
|
+
return "(no discussion yet)";
|
|
58
|
+
const buf = fs.readFileSync(p.discussion, "utf-8");
|
|
59
|
+
return buf.length <= tail ? buf : `…(truncated)…\n${buf.slice(-tail)}`;
|
|
60
|
+
}
|
|
61
|
+
// ─── Inbox ──────────────────────────────────────────────────────────
|
|
62
|
+
export function appendInbox(teamId, to, from, text) {
|
|
63
|
+
const p = teamPaths(teamId);
|
|
64
|
+
fs.mkdirSync(p.inboxDir, { recursive: true });
|
|
65
|
+
const file = path.join(p.inboxDir, `${sanitizeId(to)}.md`);
|
|
66
|
+
// Insert before the "## Read" section so the message lands in unread.
|
|
67
|
+
let body = fs.existsSync(file)
|
|
68
|
+
? fs.readFileSync(file, "utf-8")
|
|
69
|
+
: `# Inbox — ${to}\n\n## Cursor\n\n## Read\n`;
|
|
70
|
+
const message = `\n### ${new Date().toISOString()} — from ${from}\n\n${text.trim()}\n`;
|
|
71
|
+
if (body.includes("## Read")) {
|
|
72
|
+
body = body.replace(/## Read/, `${message}\n## Read`);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
body += message;
|
|
76
|
+
}
|
|
77
|
+
fs.writeFileSync(file, body);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Read unread messages for `agent`. Returns the markdown between `## Cursor`
|
|
81
|
+
* and `## Read`. If `markRead` is true, those messages are moved into the Read
|
|
82
|
+
* section and the inbox is reset to empty unread.
|
|
83
|
+
*/
|
|
84
|
+
export function readInbox(teamId, agent, markRead = false) {
|
|
85
|
+
const p = teamPaths(teamId);
|
|
86
|
+
const file = path.join(p.inboxDir, `${sanitizeId(agent)}.md`);
|
|
87
|
+
if (!fs.existsSync(file))
|
|
88
|
+
return "";
|
|
89
|
+
const body = fs.readFileSync(file, "utf-8");
|
|
90
|
+
const cursorIdx = body.indexOf("## Cursor");
|
|
91
|
+
const readIdx = body.indexOf("## Read");
|
|
92
|
+
if (cursorIdx < 0 || readIdx < 0 || readIdx < cursorIdx)
|
|
93
|
+
return "";
|
|
94
|
+
const unread = body.slice(cursorIdx + "## Cursor".length, readIdx).trim();
|
|
95
|
+
if (markRead && unread) {
|
|
96
|
+
const head = body.slice(0, cursorIdx + "## Cursor".length);
|
|
97
|
+
const readSection = body.slice(readIdx + "## Read".length);
|
|
98
|
+
const next = `${head}\n\n## Read${readSection}\n${unread}\n`;
|
|
99
|
+
fs.writeFileSync(file, next);
|
|
100
|
+
}
|
|
101
|
+
return unread;
|
|
102
|
+
}
|
|
103
|
+
/** True if the agent has any unread messages. */
|
|
104
|
+
export function hasUnread(teamId, agent) {
|
|
105
|
+
return readInbox(teamId, agent, false).length > 0;
|
|
106
|
+
}
|
|
107
|
+
/** List inboxes that have unread messages. Returns agent ids. */
|
|
108
|
+
export function listInboxesWithUnread(teamId) {
|
|
109
|
+
const p = teamPaths(teamId);
|
|
110
|
+
if (!fs.existsSync(p.inboxDir))
|
|
111
|
+
return [];
|
|
112
|
+
const out = [];
|
|
113
|
+
for (const f of fs.readdirSync(p.inboxDir)) {
|
|
114
|
+
if (!f.endsWith(".md"))
|
|
115
|
+
continue;
|
|
116
|
+
const agentId = f.slice(0, -3);
|
|
117
|
+
if (hasUnread(teamId, agentId))
|
|
118
|
+
out.push(agentId);
|
|
119
|
+
}
|
|
120
|
+
return out;
|
|
121
|
+
}
|
|
122
|
+
// ─── State ──────────────────────────────────────────────────────────
|
|
123
|
+
export function getState(teamId) {
|
|
124
|
+
const p = teamPaths(teamId);
|
|
125
|
+
return fs.existsSync(p.state) ? fs.readFileSync(p.state, "utf-8") : "(no state)";
|
|
126
|
+
}
|
|
127
|
+
export function setState(teamId, content) {
|
|
128
|
+
const p = teamPaths(teamId);
|
|
129
|
+
fs.mkdirSync(p.root, { recursive: true });
|
|
130
|
+
fs.writeFileSync(p.state, content);
|
|
131
|
+
}
|
|
132
|
+
// ─── Decisions ───────────────────────────────────────────────────────
|
|
133
|
+
export function appendDecision(teamId, fromAgent, text) {
|
|
134
|
+
const p = teamPaths(teamId);
|
|
135
|
+
fs.mkdirSync(p.root, { recursive: true });
|
|
136
|
+
const block = `\n### ${new Date().toISOString()} — ${fromAgent}\n\n${text.trim()}\n`;
|
|
137
|
+
fs.appendFileSync(p.decisions, block);
|
|
138
|
+
}
|
|
139
|
+
export function readDecisions(teamId) {
|
|
140
|
+
const p = teamPaths(teamId);
|
|
141
|
+
return fs.existsSync(p.decisions) ? fs.readFileSync(p.decisions, "utf-8") : "(no decisions)";
|
|
142
|
+
}
|
|
143
|
+
// ─── Topics (long-form notes / research / specs) ─────────────────────
|
|
144
|
+
export function writeTopic(teamId, topic, content) {
|
|
145
|
+
const p = teamPaths(teamId);
|
|
146
|
+
fs.mkdirSync(p.topicsDir, { recursive: true });
|
|
147
|
+
const file = path.join(p.topicsDir, `${sanitizeId(topic)}.md`);
|
|
148
|
+
fs.writeFileSync(file, content);
|
|
149
|
+
return file;
|
|
150
|
+
}
|
|
151
|
+
export function readTopic(teamId, topic) {
|
|
152
|
+
const p = teamPaths(teamId);
|
|
153
|
+
const file = path.join(p.topicsDir, `${sanitizeId(topic)}.md`);
|
|
154
|
+
if (!fs.existsSync(file))
|
|
155
|
+
return "(topic not found)";
|
|
156
|
+
return fs.readFileSync(file, "utf-8");
|
|
157
|
+
}
|
|
158
|
+
export function listTopics(teamId) {
|
|
159
|
+
const p = teamPaths(teamId);
|
|
160
|
+
if (!fs.existsSync(p.topicsDir))
|
|
161
|
+
return [];
|
|
162
|
+
return fs.readdirSync(p.topicsDir).filter((f) => f.endsWith(".md")).map((f) => f.slice(0, -3));
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Build a TeamCtx + peers map for a given agent. Returns undefined if the
|
|
166
|
+
* agent is not a member of any team. The peers map is what the Claude Agent
|
|
167
|
+
* SDK uses to register subagent_types — each peer becomes spawnable via
|
|
168
|
+
* Agent({subagent_type: "<peer-id>", prompt: "..."}).
|
|
169
|
+
*/
|
|
170
|
+
export function buildTeamContext(config, agentId) {
|
|
171
|
+
const team = (config.teams ?? []).find((t) => t.members.includes(agentId));
|
|
172
|
+
if (!team)
|
|
173
|
+
return undefined;
|
|
174
|
+
const peers = {};
|
|
175
|
+
for (const peerId of team.members) {
|
|
176
|
+
if (peerId === agentId)
|
|
177
|
+
continue;
|
|
178
|
+
const peer = config.agents[peerId];
|
|
179
|
+
if (!peer)
|
|
180
|
+
continue;
|
|
181
|
+
peers[peerId] = {
|
|
182
|
+
description: peer.name ?? peerId,
|
|
183
|
+
// Spawn-time prompt: this is what the peer subagent sees as its system
|
|
184
|
+
// prompt when invoked via the Agent tool. Keep it short — the parent's
|
|
185
|
+
// task prompt carries the per-call detail.
|
|
186
|
+
prompt: peer.systemPrompt ?? `You are ${peer.name ?? peerId}, part of team ${team.name}.`,
|
|
187
|
+
...(peer.model ? { model: peer.model } : {}),
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
// Ensure the team workspace exists before tools try to write to it.
|
|
191
|
+
ensureTeamDir(team.id, team.members);
|
|
192
|
+
return {
|
|
193
|
+
teamId: team.id,
|
|
194
|
+
selfAgentId: agentId,
|
|
195
|
+
members: team.members,
|
|
196
|
+
peers,
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
// ─── Internals ───────────────────────────────────────────────────────
|
|
200
|
+
function sanitizeId(id) {
|
|
201
|
+
return id.replace(/[^a-zA-Z0-9_-]/g, "-").slice(0, 64) || "default";
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=team.js.map
|
package/dist/team.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"team.js","sourceRoot":"","sources":["../src/team.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,8 @@ function buildKeyboard(dir) {
|
|
|
46
46
|
export async function startBrowse(chatId, api, startDir, onSelect) {
|
|
47
47
|
const dir = startDir.startsWith("~") ? startDir.replace("~", os.homedir()) : startDir;
|
|
48
48
|
const state = { currentDir: dir, onSelect };
|
|
49
|
+
// Auto-cleanup after 1 hour
|
|
50
|
+
state.cleanup = setTimeout(() => { states.delete(chatId); }, 60 * 60 * 1000);
|
|
49
51
|
const kb = buildKeyboard(dir);
|
|
50
52
|
const sent = await api.sendMessage(chatId, `📂 Select working directory:\n${displayPath(dir)}`, {
|
|
51
53
|
reply_markup: kb,
|
|
@@ -59,6 +61,7 @@ export async function handleBrowseCallback(chatId, value, api) {
|
|
|
59
61
|
if (!state)
|
|
60
62
|
return false;
|
|
61
63
|
if (value === "__select__") {
|
|
64
|
+
clearTimeout(state.cleanup);
|
|
62
65
|
states.delete(chatId);
|
|
63
66
|
// Edit the message to show final selection
|
|
64
67
|
if (state.messageId) {
|
|
@@ -75,6 +78,12 @@ export async function handleBrowseCallback(chatId, value, api) {
|
|
|
75
78
|
}
|
|
76
79
|
else {
|
|
77
80
|
const newDir = path.join(state.currentDir, value);
|
|
81
|
+
const normalized = path.normalize(newDir);
|
|
82
|
+
// Prevent escaping user's home directory
|
|
83
|
+
const home = os.homedir();
|
|
84
|
+
if (!normalized.startsWith(home) && normalized !== "/") {
|
|
85
|
+
return true; // Reject silently
|
|
86
|
+
}
|
|
78
87
|
if (fs.existsSync(newDir) && fs.statSync(newDir).isDirectory()) {
|
|
79
88
|
state.currentDir = newDir;
|
|
80
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dir-browser.js","sourceRoot":"","sources":["../../src/telegram/dir-browser.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,EAAE;AACF,kFAAkF;AAElF,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"dir-browser.js","sourceRoot":"","sources":["../../src/telegram/dir-browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,13 +26,15 @@ export function createDraftStream(chatId, api, opts = {}) {
|
|
|
26
26
|
lastSentText = trimmed;
|
|
27
27
|
return true;
|
|
28
28
|
}
|
|
29
|
-
catch {
|
|
29
|
+
catch (err) {
|
|
30
|
+
console.warn("[draft-stream] sendMessageDraft failed, falling back to edit mode");
|
|
30
31
|
try {
|
|
31
32
|
await api.sendMessageDraft(chatId, draftId, text.slice(0, 4096));
|
|
32
33
|
lastSentText = text.slice(0, 4096);
|
|
33
34
|
return true;
|
|
34
35
|
}
|
|
35
|
-
catch {
|
|
36
|
+
catch (err) {
|
|
37
|
+
console.warn("[draft-stream] sendMessageDraft failed, falling back to edit mode");
|
|
36
38
|
return false; // native not supported, fall back
|
|
37
39
|
}
|
|
38
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"draft-stream.js","sourceRoot":"","sources":["../../src/telegram/draft-stream.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,EAAE;AACF,4DAA4D;AAC5D,yEAAyE;AAGzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAQrD,IAAI,YAAY,GAAG,CAAC,CAAC;AAErB,MAAM,UAAU,iBAAiB,CAC/B,MAAc,EACd,GAAe,EACf,OAA0D,EAAE;IAE5D,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;IACnD,MAAM,OAAO,GAAG,EAAE,YAAY,CAAC;IAE/B,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,QAAQ,GAAyB,IAAI,CAAC;IAC1C,IAAI,SAAS,GAAG,IAAI,CAAC,CAAC,6BAA6B;IACnD,IAAI,KAAK,GAA0B,IAAI,CAAC;IAExC,gDAAgD;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;IAC3C,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,MAAM,UAAU,GAAG,KAAK,EAAE,IAAY,EAAoB,EAAE;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,YAAY;YAAE,OAAO,IAAI,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAO,GAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;YACnF,YAAY,GAAG,OAAO,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,
|
|
1
|
+
{"version":3,"file":"draft-stream.js","sourceRoot":"","sources":["../../src/telegram/draft-stream.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,EAAE;AACF,4DAA4D;AAC5D,yEAAyE;AAGzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAQrD,IAAI,YAAY,GAAG,CAAC,CAAC;AAErB,MAAM,UAAU,iBAAiB,CAC/B,MAAc,EACd,GAAe,EACf,OAA0D,EAAE;IAE5D,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;IACnD,MAAM,OAAO,GAAG,EAAE,YAAY,CAAC;IAE/B,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,QAAQ,GAAyB,IAAI,CAAC;IAC1C,IAAI,SAAS,GAAG,IAAI,CAAC,CAAC,6BAA6B;IACnD,IAAI,KAAK,GAA0B,IAAI,CAAC;IAExC,gDAAgD;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;IAC3C,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,MAAM,UAAU,GAAG,KAAK,EAAE,IAAY,EAAoB,EAAE;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,YAAY;YAAE,OAAO,IAAI,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAO,GAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;YACnF,YAAY,GAAG,OAAO,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;YAClF,IAAI,CAAC;gBACH,MAAO,GAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC1E,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBACnC,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;gBAClF,OAAO,KAAK,CAAC,CAAC,kCAAkC;YAClD,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,EAAE,IAAY,EAAE,OAAgB,EAAiB,EAAE;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,IAAI,OAAO,KAAK,YAAY,IAAI,SAAS;YAAE,OAAO;QAClD,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,eAAe;YAAE,OAAO;QAEvE,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;gBACzE,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7E,CAAC;YACD,YAAY,GAAG,OAAO,CAAC;YACvB,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC;gBACH,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBACpD,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;gBACxD,CAAC;gBACD,YAAY,GAAG,OAAO,CAAC;gBACvB,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAY,EAAE,OAAgB,EAAE,EAAE;QACxD,IAAI,QAAQ;YAAE,MAAM,QAAQ,CAAC;QAE7B,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;YACrB,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,SAAS,GAAG,KAAK,CAAC;oBAClB,MAAM,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAC;QAEF,QAAQ,GAAG,GAAG,EAAE,CAAC;QACjB,MAAM,QAAQ,CAAC;QACf,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,SAAS,EAAE,CAAC;YACd,+CAA+C;YAC/C,IAAI,WAAW,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;gBAChD,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO;QACT,CAAC;QACD,2BAA2B;QAC3B,IAAI,KAAK;YAAE,OAAO;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC;QAC/C,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;YAC5B,KAAK,GAAG,IAAI,CAAC;YACb,IAAI,WAAW,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;gBAChD,MAAM,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YACrC,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,OAAO;QACL,MAAM,CAAC,IAAY;YACjB,WAAW,GAAG,IAAI,CAAC;YACnB,aAAa,EAAE,CAAC;QAClB,CAAC;QACD,KAAK,CAAC,KAAK;YACT,IAAI,KAAK,EAAE,CAAC;gBAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAAC,KAAK,GAAG,IAAI,CAAC;YAAC,CAAC;YACjD,IAAI,QAAQ;gBAAE,MAAM,QAAQ,CAAC;YAC7B,IAAI,WAAW,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;gBAChD,MAAM,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC;YACD,wEAAwE;YACxE,IAAI,SAAS,IAAI,YAAY,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;oBAClD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;oBACzE,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;gBAC9B,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,CAAC;wBACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;wBACzD,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;oBAC9B,CAAC;oBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QACD,YAAY,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC;KACrC,CAAC;AACJ,CAAC"}
|