@cleocode/cleo 2026.9.14 → 2026.9.16
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/cli/index.js +125 -32
- package/package.json +13 -13
- package/scripts/generate-command-manifest.mjs +7 -2
- package/studio-dist/client/_app/immutable/chunks/{BtywxRhM.js → 1fCYH2a_.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/DXc5naiV.js +1 -0
- package/studio-dist/client/_app/immutable/chunks/Df85SMwa.js +3 -0
- package/studio-dist/client/_app/immutable/chunks/{D5Xqss9F.js → VKKkkMOi.js} +1 -1
- package/studio-dist/client/_app/immutable/entry/{app.Bkyb9RRj.js → app.DbhESOoe.js} +2 -2
- package/studio-dist/client/_app/immutable/entry/start.7vsH8DZ0.js +1 -0
- package/studio-dist/client/_app/immutable/nodes/{0.COhWnRZG.js → 0.DBuv3zxt.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{1.DilOp_T3.js → 1.BOT1FWSE.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{15.Xj_SnhIh.js → 15.CUpJlGs8.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{16.-k1fZVc8.js → 16.DaWaP5Nf.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{17.C3uJChOm.js → 17.pbxraJ9_.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{18.CaBcMqg6.js → 18.-IINezS5.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{20.PfLdXu4K.js → 20.qlA7fV1e.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{24.D6HMIXZo.js → 24.Cl_79R4f.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{25.PWd_97Ic.js → 25.D41oJ8Oj.js} +2 -2
- package/studio-dist/client/_app/immutable/nodes/{26.CpRQOhTF.js → 26.BJQqW7_R.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{3.BUtKuhCE.js → 3.C719XWWs.js} +1 -1
- package/studio-dist/client/_app/version.json +1 -1
- package/studio-dist/server/chunks/{0-BQKYj7sI.js → 0-CjsTPYb4.js} +3 -3
- package/studio-dist/server/chunks/1-CWoxWSMd.js +9 -0
- package/studio-dist/server/chunks/{15-eAvnWcqP.js → 15-D68G_5g9.js} +3 -3
- package/studio-dist/server/chunks/{16-BrkcPqWj.js → 16-BY7vuqXM.js} +3 -3
- package/studio-dist/server/chunks/{17-DZOSccBm.js → 17-CFJofXoq.js} +3 -3
- package/studio-dist/server/chunks/{18-CIM4TtZO.js → 18-Ce_tTMTL.js} +3 -3
- package/studio-dist/server/chunks/{20-BV2oDNxs.js → 20-C86mBBSO.js} +3 -3
- package/studio-dist/server/chunks/{24-DiJrLGnm.js → 24-DQyZxDmF.js} +3 -3
- package/studio-dist/server/chunks/{25-KnPx5--u.js → 25-DdY9WKSi.js} +3 -3
- package/studio-dist/server/chunks/{26-MjFmJWRl.js → 26-BKXgHFYi.js} +3 -3
- package/studio-dist/server/chunks/{3-D0yOn-2j.js → 3-BfZFQmBt.js} +3 -3
- package/studio-dist/server/chunks/{_layout.svelte-7fJASih5.js → _layout.svelte-BvaQph6n.js} +4 -4
- package/studio-dist/server/chunks/{_page.svelte-ByU0xsC0.js → _page.svelte-BdnAGpfK.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-BBNuaLYp.js → _page.svelte-Bf5AeFvk.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-pt9J_PyJ.js → _page.svelte-BmyHCbvx.js} +4 -4
- package/studio-dist/server/chunks/{_page.svelte-BUR9tARI.js → _page.svelte-CXHH6QhA.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-DmTQemvS.js → _page.svelte-CilqoOTE.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-DbavHIiA.js → _page.svelte-D4HZCZ4i.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-vKlMIP50.js → _page.svelte-DY9RMYJz.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-Bsp6KMM1.js → _page.svelte-L6NQQsuJ.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-CkuJV8ec.js → _page.svelte-aid14STT.js} +4 -4
- package/studio-dist/server/chunks/{_server.ts-DOTTU6mC.js → _server.ts-BcryvqpX.js} +2 -2
- package/studio-dist/server/chunks/{client-DBHR0SaZ.js → client-TY12rxMH.js} +2 -2
- package/studio-dist/server/chunks/{error.svelte-BiddeLMF.js → error.svelte-BXKn0_t4.js} +3 -3
- package/studio-dist/server/chunks/{internal-DMFWVQX-.js → internal-BgzgX_Kf.js} +2 -2
- package/studio-dist/server/chunks/{stores-CdM00jz_.js → stores-C3eRvkOH.js} +2 -2
- package/studio-dist/server/index.js +1 -1
- package/studio-dist/server/manifest.js +13 -13
- package/studio-dist/client/_app/immutable/chunks/B7XMzKvO.js +0 -3
- package/studio-dist/client/_app/immutable/chunks/Dif6upEP.js +0 -1
- package/studio-dist/client/_app/immutable/entry/start.ChxXPWq_.js +0 -1
- package/studio-dist/server/chunks/1-Dhv54ORD.js +0 -9
package/dist/cli/index.js
CHANGED
|
@@ -2880,7 +2880,7 @@ var init_code_symbol = __esm({
|
|
|
2880
2880
|
"use strict";
|
|
2881
2881
|
PARSER_WORKER_HEAP_MIN_MB = 8;
|
|
2882
2882
|
PARSER_WORKER_HEAP_MAX_MB = 4096;
|
|
2883
|
-
PARSER_WORKER_HEAP_DEFAULT_MB =
|
|
2883
|
+
PARSER_WORKER_HEAP_DEFAULT_MB = 512;
|
|
2884
2884
|
}
|
|
2885
2885
|
});
|
|
2886
2886
|
|
|
@@ -17409,6 +17409,40 @@ var init_invariants = __esm({
|
|
|
17409
17409
|
}
|
|
17410
17410
|
});
|
|
17411
17411
|
|
|
17412
|
+
// packages/contracts/src/kind-lifecycle.ts
|
|
17413
|
+
var KIND_LIFECYCLE_REQUIREMENTS;
|
|
17414
|
+
var init_kind_lifecycle = __esm({
|
|
17415
|
+
"packages/contracts/src/kind-lifecycle.ts"() {
|
|
17416
|
+
"use strict";
|
|
17417
|
+
KIND_LIFECYCLE_REQUIREMENTS = Object.freeze({
|
|
17418
|
+
work: {
|
|
17419
|
+
requiresStagedPipeline: true,
|
|
17420
|
+
rationale: "Default delivery work. The staged pipeline exists for exactly this: decide the design before completing the code that implements it."
|
|
17421
|
+
},
|
|
17422
|
+
bug: {
|
|
17423
|
+
requiresStagedPipeline: false,
|
|
17424
|
+
rationale: "A fix operates inside an existing design. Demanding consensus and architecture_decision before a fix can complete describes work that is not happening."
|
|
17425
|
+
},
|
|
17426
|
+
research: {
|
|
17427
|
+
requiresStagedPipeline: false,
|
|
17428
|
+
rationale: "The research IS the work. Requiring the epic to pass the research stage before its own research children can complete is circular."
|
|
17429
|
+
},
|
|
17430
|
+
spike: {
|
|
17431
|
+
requiresStagedPipeline: false,
|
|
17432
|
+
rationale: "A time-boxed exploration whose purpose is to produce the information the design stages would consume. It cannot be gated on having already done so."
|
|
17433
|
+
},
|
|
17434
|
+
experiment: {
|
|
17435
|
+
requiresStagedPipeline: false,
|
|
17436
|
+
rationale: "An experiment is run to learn whether an approach holds. Specifying and decomposing it first presumes the answer."
|
|
17437
|
+
},
|
|
17438
|
+
release: {
|
|
17439
|
+
requiresStagedPipeline: false,
|
|
17440
|
+
rationale: "Release epics are procedural \u2014 the design work they ship was decided in the epics being released."
|
|
17441
|
+
}
|
|
17442
|
+
});
|
|
17443
|
+
}
|
|
17444
|
+
});
|
|
17445
|
+
|
|
17412
17446
|
// packages/contracts/src/lafs.ts
|
|
17413
17447
|
function isLafsSuccess(envelope) {
|
|
17414
17448
|
return envelope.success === true;
|
|
@@ -22105,6 +22139,7 @@ __export(src_exports, {
|
|
|
22105
22139
|
INVARIANTS_REGISTRY: () => INVARIANTS_REGISTRY,
|
|
22106
22140
|
ISOLATION_ENV_KEYS: () => ISOLATION_ENV_KEYS,
|
|
22107
22141
|
ImpactSchema: () => ImpactSchema,
|
|
22142
|
+
KIND_LIFECYCLE_REQUIREMENTS: () => KIND_LIFECYCLE_REQUIREMENTS,
|
|
22108
22143
|
LEASE_IPC_MESSAGE_KINDS: () => LEASE_IPC_MESSAGE_KINDS,
|
|
22109
22144
|
LEASE_IPC_PROTOCOL_VERSION: () => LEASE_IPC_PROTOCOL_VERSION,
|
|
22110
22145
|
LEASE_IPC_REQUEST_KINDS: () => LEASE_IPC_REQUEST_KINDS,
|
|
@@ -22527,6 +22562,7 @@ var init_src2 = __esm({
|
|
|
22527
22562
|
init_goal();
|
|
22528
22563
|
init_graph();
|
|
22529
22564
|
init_invariants();
|
|
22565
|
+
init_kind_lifecycle();
|
|
22530
22566
|
init_lafs();
|
|
22531
22567
|
init_lease_ipc();
|
|
22532
22568
|
init_catalog_schema();
|
|
@@ -66014,6 +66050,7 @@ __export(graph_exports, {
|
|
|
66014
66050
|
graphCommand: () => graphCommand2
|
|
66015
66051
|
});
|
|
66016
66052
|
import path3 from "node:path";
|
|
66053
|
+
import { pushWarning as pushWarning6 } from "@cleocode/core";
|
|
66017
66054
|
function applyJsonFlag(jsonFlag) {
|
|
66018
66055
|
if (jsonFlag) {
|
|
66019
66056
|
setFormatContext({ format: "json", source: "flag", quiet: false });
|
|
@@ -66152,12 +66189,12 @@ var init_graph3 = __esm({
|
|
|
66152
66189
|
discoverCommand = defineCommand({
|
|
66153
66190
|
meta: {
|
|
66154
66191
|
name: "discover",
|
|
66155
|
-
description: "
|
|
66192
|
+
description: "Find code relevant to a task query (searches labels, descriptions, and file paths)"
|
|
66156
66193
|
},
|
|
66157
66194
|
args: {
|
|
66158
66195
|
taskQuery: {
|
|
66159
66196
|
type: "positional",
|
|
66160
|
-
description: "
|
|
66197
|
+
description: "Task query to find relevant code for (required)",
|
|
66161
66198
|
required: true
|
|
66162
66199
|
},
|
|
66163
66200
|
method: {
|
|
@@ -66590,7 +66627,10 @@ var init_graph3 = __esm({
|
|
|
66590
66627
|
}
|
|
66591
66628
|
});
|
|
66592
66629
|
syncCommand4 = defineCommand({
|
|
66593
|
-
meta: {
|
|
66630
|
+
meta: {
|
|
66631
|
+
name: "sync",
|
|
66632
|
+
description: "Refresh registry metadata (task counts, labels, last-seen) for registered projects. Does NOT index source code \u2014 use `cleo nexus analyze` for the code graph."
|
|
66633
|
+
},
|
|
66594
66634
|
args: {
|
|
66595
66635
|
path: { type: "positional", description: "Project path (default: cwd)", required: false },
|
|
66596
66636
|
json: { type: "boolean", description: "Output as JSON" }
|
|
@@ -66598,6 +66638,11 @@ var init_graph3 = __esm({
|
|
|
66598
66638
|
async run({ args }) {
|
|
66599
66639
|
applyJsonFlag(args.json);
|
|
66600
66640
|
const repoPath = args.path ? path3.resolve(args.path) : process.cwd();
|
|
66641
|
+
pushWarning6({
|
|
66642
|
+
code: "W_GRAPH_SYNC_IS_METADATA_ONLY",
|
|
66643
|
+
severity: "info",
|
|
66644
|
+
message: "graph sync refreshes project REGISTRY metadata only \u2014 the `synced` count is registered projects, not source files. To build or refresh the code graph, run `cleo nexus analyze` and check `cleo nexus status`."
|
|
66645
|
+
});
|
|
66601
66646
|
await dispatchFromCli("mutate", "nexus", "sync", { path: repoPath }, { command: "graph" });
|
|
66602
66647
|
}
|
|
66603
66648
|
});
|
|
@@ -67133,7 +67178,7 @@ import {
|
|
|
67133
67178
|
CleoError as CleoError7,
|
|
67134
67179
|
getWorkflowTemplatesDir as getCoreWorkflowTemplatesDir,
|
|
67135
67180
|
initProject as initProject2,
|
|
67136
|
-
pushWarning as
|
|
67181
|
+
pushWarning as pushWarning7,
|
|
67137
67182
|
scaffoldWorkflows
|
|
67138
67183
|
} from "@cleocode/core";
|
|
67139
67184
|
import { getCredentialPool } from "@cleocode/core/llm/credential-pool.js";
|
|
@@ -67256,7 +67301,7 @@ var init_init = __esm({
|
|
|
67256
67301
|
async run({ args }) {
|
|
67257
67302
|
try {
|
|
67258
67303
|
if (args.workflows) {
|
|
67259
|
-
|
|
67304
|
+
pushWarning7({
|
|
67260
67305
|
code: "W_INIT_WORKFLOWS_DEPRECATED",
|
|
67261
67306
|
message: "[deprecated] cleo init --workflows: use `cleo templates install --kind workflow` instead. This alias will be removed in v2026.7.0.",
|
|
67262
67307
|
severity: "warn",
|
|
@@ -68626,7 +68671,7 @@ var llm_exports = {};
|
|
|
68626
68671
|
__export(llm_exports, {
|
|
68627
68672
|
llmCommand: () => llmCommand
|
|
68628
68673
|
});
|
|
68629
|
-
import { pushWarning as
|
|
68674
|
+
import { pushWarning as pushWarning8 } from "@cleocode/core";
|
|
68630
68675
|
async function getListProviders() {
|
|
68631
68676
|
const { listProviders: listProviders2 } = await import(
|
|
68632
68677
|
/* webpackIgnore: true */
|
|
@@ -68757,7 +68802,7 @@ var init_llm3 = __esm({
|
|
|
68757
68802
|
apiKey = envValue;
|
|
68758
68803
|
source = "env";
|
|
68759
68804
|
} else if (typeof a["api-key"] === "string" && a["api-key"]) {
|
|
68760
|
-
|
|
68805
|
+
pushWarning8({
|
|
68761
68806
|
code: "W_DEPRECATED_FLAG",
|
|
68762
68807
|
message: API_KEY_FLAG_DEPRECATION,
|
|
68763
68808
|
deprecated: "--api-key=<value>",
|
|
@@ -82255,8 +82300,27 @@ var init_setup = __esm({
|
|
|
82255
82300
|
// packages/cleo/src/cli/commands/show.ts
|
|
82256
82301
|
var show_exports = {};
|
|
82257
82302
|
__export(show_exports, {
|
|
82258
|
-
showCommand: () => showCommand14
|
|
82303
|
+
showCommand: () => showCommand14,
|
|
82304
|
+
unwrapShowRecord: () => unwrapShowRecord
|
|
82259
82305
|
});
|
|
82306
|
+
function unwrapShowRecord(data) {
|
|
82307
|
+
if (typeof data !== "object" || data === null || !("task" in data)) return data;
|
|
82308
|
+
const wrapped = data;
|
|
82309
|
+
return typeof wrapped.task === "object" && wrapped.task !== null ? wrapped.task : data;
|
|
82310
|
+
}
|
|
82311
|
+
function collectTaskIds(args) {
|
|
82312
|
+
const out = [];
|
|
82313
|
+
const push2 = (v) => {
|
|
82314
|
+
if (typeof v !== "string") return;
|
|
82315
|
+
const id = v.trim();
|
|
82316
|
+
if (id.length === 0 || id.startsWith("-")) return;
|
|
82317
|
+
if (!out.includes(id)) out.push(id);
|
|
82318
|
+
};
|
|
82319
|
+
push2(args["taskId"]);
|
|
82320
|
+
const rest = args["_"];
|
|
82321
|
+
if (Array.isArray(rest)) for (const v of rest) push2(v);
|
|
82322
|
+
return out;
|
|
82323
|
+
}
|
|
82260
82324
|
var showCommand14;
|
|
82261
82325
|
var init_show2 = __esm({
|
|
82262
82326
|
"packages/cleo/src/cli/commands/show.ts"() {
|
|
@@ -82264,10 +82328,11 @@ var init_show2 = __esm({
|
|
|
82264
82328
|
init_dist();
|
|
82265
82329
|
init_cli();
|
|
82266
82330
|
init_registry_args();
|
|
82331
|
+
init_renderers();
|
|
82267
82332
|
showCommand14 = defineCommand({
|
|
82268
82333
|
meta: {
|
|
82269
82334
|
name: "show",
|
|
82270
|
-
description: "Show task details by ID. MVI-projected (id + title + status + key metadata) by default; pass --verbose / --full to receive the complete record with description, acceptance, verification, evidence, etc. (T9922)"
|
|
82335
|
+
description: "Show task details by ID. Accepts SEVERAL ids \u2014 `cleo show T1 T2 T3` returns them in one envelope and pays CLI startup once instead of per task (gh#1207). MVI-projected (id + title + status + key metadata) by default; pass --verbose / --full to receive the complete record with description, acceptance, verification, evidence, etc. (T9922)"
|
|
82271
82336
|
},
|
|
82272
82337
|
args: {
|
|
82273
82338
|
...paramsToCittyArgs(getOperationParams("query", "tasks", "show")),
|
|
@@ -82289,18 +82354,42 @@ var init_show2 = __esm({
|
|
|
82289
82354
|
}
|
|
82290
82355
|
},
|
|
82291
82356
|
async run({ args }) {
|
|
82292
|
-
|
|
82293
|
-
"
|
|
82294
|
-
"
|
|
82295
|
-
"
|
|
82296
|
-
|
|
82297
|
-
|
|
82298
|
-
|
|
82299
|
-
|
|
82300
|
-
|
|
82301
|
-
|
|
82302
|
-
|
|
82357
|
+
const shared = {
|
|
82358
|
+
history: args["history"] === true,
|
|
82359
|
+
ivtrHistory: args["ivtr-history"] === true,
|
|
82360
|
+
relations: args["relations"] === true
|
|
82361
|
+
};
|
|
82362
|
+
const ids = collectTaskIds(args);
|
|
82363
|
+
if (ids.length <= 1) {
|
|
82364
|
+
await dispatchFromCli(
|
|
82365
|
+
"query",
|
|
82366
|
+
"tasks",
|
|
82367
|
+
"show",
|
|
82368
|
+
{ taskId: args["taskId"], ...shared },
|
|
82369
|
+
{ command: "show" }
|
|
82370
|
+
);
|
|
82371
|
+
return;
|
|
82372
|
+
}
|
|
82373
|
+
const tasks = [];
|
|
82374
|
+
const notFound = [];
|
|
82375
|
+
for (const taskId of ids) {
|
|
82376
|
+
const res = await dispatchRaw("query", "tasks", "show", { taskId, ...shared });
|
|
82377
|
+
if (res.success) {
|
|
82378
|
+
tasks.push(unwrapShowRecord(res.data));
|
|
82379
|
+
} else {
|
|
82380
|
+
notFound.push({
|
|
82381
|
+
taskId,
|
|
82382
|
+
reason: res.error?.message ?? "not found"
|
|
82383
|
+
});
|
|
82384
|
+
}
|
|
82385
|
+
}
|
|
82386
|
+
cliOutput(
|
|
82387
|
+
{ tasks, count: tasks.length, requested: ids.length, notFound },
|
|
82388
|
+
{ command: "show", operation: "tasks.show.batch" }
|
|
82303
82389
|
);
|
|
82390
|
+
if (notFound.length > 0 && (process.exitCode ?? 0) === 0) {
|
|
82391
|
+
process.exitCode = 1;
|
|
82392
|
+
}
|
|
82304
82393
|
}
|
|
82305
82394
|
});
|
|
82306
82395
|
}
|
|
@@ -85375,13 +85464,17 @@ var init_transcript = __esm({
|
|
|
85375
85464
|
const { extractTranscript } = await import("@cleocode/core/memory/transcript-extractor.js");
|
|
85376
85465
|
const { findSessionTranscriptPath, listAllTranscripts } = await import("@cleocode/core/memory/transcript-scanner.js");
|
|
85377
85466
|
const sessions2 = [];
|
|
85467
|
+
const projectsDirOverride = typeof args["projects-dir"] === "string" && args["projects-dir"].length > 0 ? args["projects-dir"] : void 0;
|
|
85378
85468
|
if (args["all-warm"]) {
|
|
85379
|
-
const allTranscripts = await listAllTranscripts({
|
|
85469
|
+
const allTranscripts = await listAllTranscripts({
|
|
85470
|
+
olderThanHours: 1,
|
|
85471
|
+
projectsDir: projectsDirOverride
|
|
85472
|
+
});
|
|
85380
85473
|
for (const t of allTranscripts) {
|
|
85381
85474
|
sessions2.push({ sessionId: t.sessionId, path: t.path });
|
|
85382
85475
|
}
|
|
85383
85476
|
} else if (args["session-id"]) {
|
|
85384
|
-
const path6 = await findSessionTranscriptPath(args["session-id"]);
|
|
85477
|
+
const path6 = await findSessionTranscriptPath(args["session-id"], projectsDirOverride);
|
|
85385
85478
|
if (!path6) {
|
|
85386
85479
|
cliError(
|
|
85387
85480
|
`Session JSONL not found for: ${args["session-id"]}`,
|
|
@@ -88466,7 +88559,7 @@ var COMMAND_MANIFEST = [
|
|
|
88466
88559
|
{
|
|
88467
88560
|
exportName: "consensusCommand",
|
|
88468
88561
|
name: "consensus",
|
|
88469
|
-
description: "Validate consensus protocol compliance (alias for ",
|
|
88562
|
+
description: "Validate consensus protocol compliance (alias for `cleo check protocol consensus`)",
|
|
88470
88563
|
load: async () => (await Promise.resolve().then(() => (init_consensus(), consensus_exports))).consensusCommand
|
|
88471
88564
|
},
|
|
88472
88565
|
{
|
|
@@ -88478,7 +88571,7 @@ var COMMAND_MANIFEST = [
|
|
|
88478
88571
|
{
|
|
88479
88572
|
exportName: "contributionCommand",
|
|
88480
88573
|
name: "contribution",
|
|
88481
|
-
description: "Validate contribution protocol compliance (alias for ",
|
|
88574
|
+
description: "Validate contribution protocol compliance (alias for `cleo check protocol contribution`)",
|
|
88482
88575
|
load: async () => (await Promise.resolve().then(() => (init_contribution(), contribution_exports))).contributionCommand
|
|
88483
88576
|
},
|
|
88484
88577
|
{
|
|
@@ -88508,13 +88601,13 @@ var COMMAND_MANIFEST = [
|
|
|
88508
88601
|
{
|
|
88509
88602
|
exportName: "decomposeCommand",
|
|
88510
88603
|
name: "decompose",
|
|
88511
|
-
description: "Move a task",
|
|
88604
|
+
description: "Move a task's text acceptance criteria onto a new child so it can hold subtasks",
|
|
88512
88605
|
load: async () => (await Promise.resolve().then(() => (init_decompose(), decompose_exports))).decomposeCommand
|
|
88513
88606
|
},
|
|
88514
88607
|
{
|
|
88515
88608
|
exportName: "decompositionCommand",
|
|
88516
88609
|
name: "decomposition",
|
|
88517
|
-
description: "Validate decomposition protocol compliance (alias for ",
|
|
88610
|
+
description: "Validate decomposition protocol compliance (alias for `cleo check protocol decomposition`)",
|
|
88518
88611
|
load: async () => (await Promise.resolve().then(() => (init_decomposition(), decomposition_exports))).decompositionCommand
|
|
88519
88612
|
},
|
|
88520
88613
|
{
|
|
@@ -88604,13 +88697,13 @@ var COMMAND_MANIFEST = [
|
|
|
88604
88697
|
{
|
|
88605
88698
|
exportName: "doctorLegacyReaperCommand",
|
|
88606
88699
|
name: "legacy-reaper",
|
|
88607
|
-
description: "Detect the legacy cleo-mcp-reaper user timer that kills processes by generic ",
|
|
88700
|
+
description: "Detect the legacy cleo-mcp-reaper user timer that kills processes by generic `MainThread` ",
|
|
88608
88701
|
load: async () => (await Promise.resolve().then(() => (init_doctor_legacy_reaper(), doctor_legacy_reaper_exports))).doctorLegacyReaperCommand
|
|
88609
88702
|
},
|
|
88610
88703
|
{
|
|
88611
88704
|
exportName: "doctorMalformedIdsCommand",
|
|
88612
88705
|
name: "malformed-ids",
|
|
88613
|
-
description: "Report task rows whose id is not a valid task identifier \u2014 rows that ",
|
|
88706
|
+
description: "Report task rows whose id is not a valid task identifier \u2014 rows that `cleo list` returns ",
|
|
88614
88707
|
load: async () => (await Promise.resolve().then(() => (init_doctor_malformed_ids(), doctor_malformed_ids_exports))).doctorMalformedIdsCommand
|
|
88615
88708
|
},
|
|
88616
88709
|
{
|
|
@@ -89042,7 +89135,7 @@ var COMMAND_MANIFEST = [
|
|
|
89042
89135
|
{
|
|
89043
89136
|
exportName: "reqCommand",
|
|
89044
89137
|
name: "req",
|
|
89045
|
-
description: "Manage REQ-ID-addressable acceptance gates on tasks (in-task gates only). For cross-task dependency edges, use ",
|
|
89138
|
+
description: "Manage REQ-ID-addressable acceptance gates on tasks (in-task gates only). For cross-task dependency edges, use `cleo update <id> --add-depends <ids>` or `cleo update <id> --add-relates <id>:blocks` (gh-394).",
|
|
89046
89139
|
load: async () => (await Promise.resolve().then(() => (init_req(), req_exports))).reqCommand
|
|
89047
89140
|
},
|
|
89048
89141
|
{
|
|
@@ -89132,7 +89225,7 @@ var COMMAND_MANIFEST = [
|
|
|
89132
89225
|
{
|
|
89133
89226
|
exportName: "showCommand",
|
|
89134
89227
|
name: "show",
|
|
89135
|
-
description: "Show task details by ID. MVI-projected (id + title + status + key metadata) by default; pass --verbose / --full to receive the complete record with description, acceptance, verification, evidence, etc. (T9922)",
|
|
89228
|
+
description: "Show task details by ID. Accepts SEVERAL ids \u2014 `cleo show T1 T2 T3` returns them in one envelope and pays CLI startup once instead of per task (gh#1207). MVI-projected (id + title + status + key metadata) by default; pass --verbose / --full to receive the complete record with description, acceptance, verification, evidence, etc. (T9922)",
|
|
89136
89229
|
load: async () => (await Promise.resolve().then(() => (init_show2(), show_exports))).showCommand
|
|
89137
89230
|
},
|
|
89138
89231
|
{
|
|
@@ -89271,7 +89364,7 @@ var COMMAND_MANIFEST = [
|
|
|
89271
89364
|
|
|
89272
89365
|
// packages/cleo/src/cli/help-renderer.ts
|
|
89273
89366
|
init_dist();
|
|
89274
|
-
import { buildCommandGroups } from "@cleocode/core/
|
|
89367
|
+
import { buildCommandGroups } from "@cleocode/core/routing/build-command-groups.js";
|
|
89275
89368
|
var noColor2 = (() => {
|
|
89276
89369
|
const env = globalThis.process?.env ?? {};
|
|
89277
89370
|
return env.NO_COLOR === "1" || env.TERM === "dumb" || env.TEST || env.CI;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cleocode/cleo",
|
|
3
|
-
"version": "2026.9.
|
|
3
|
+
"version": "2026.9.16",
|
|
4
4
|
"description": "CLEO CLI — the assembled product consuming @cleocode/core",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/cli/index.js",
|
|
@@ -31,17 +31,17 @@
|
|
|
31
31
|
"tree-sitter-rust": "0.23.1",
|
|
32
32
|
"tree-sitter-typescript": "^0.23.2",
|
|
33
33
|
"yaml": "^2.8.3",
|
|
34
|
-
"@cleocode/animations": "2026.9.
|
|
35
|
-
"@cleocode/caamp": "2026.9.
|
|
36
|
-
"@cleocode/cant": "2026.9.
|
|
37
|
-
"@cleocode/contracts": "2026.9.
|
|
38
|
-
"@cleocode/core": "2026.9.
|
|
39
|
-
"@cleocode/
|
|
40
|
-
"@cleocode/
|
|
41
|
-
"@cleocode/playbooks": "2026.9.
|
|
42
|
-
"@cleocode/worktree": "2026.9.
|
|
43
|
-
"@cleocode/runtime": "2026.9.
|
|
44
|
-
"@cleocode/
|
|
34
|
+
"@cleocode/animations": "2026.9.16",
|
|
35
|
+
"@cleocode/caamp": "2026.9.16",
|
|
36
|
+
"@cleocode/cant": "2026.9.16",
|
|
37
|
+
"@cleocode/contracts": "2026.9.16",
|
|
38
|
+
"@cleocode/core": "2026.9.16",
|
|
39
|
+
"@cleocode/nexus": "2026.9.16",
|
|
40
|
+
"@cleocode/paths": "2026.9.16",
|
|
41
|
+
"@cleocode/playbooks": "2026.9.16",
|
|
42
|
+
"@cleocode/worktree": "2026.9.16",
|
|
43
|
+
"@cleocode/runtime": "2026.9.16",
|
|
44
|
+
"@cleocode/lafs": "2026.9.16"
|
|
45
45
|
},
|
|
46
46
|
"engines": {
|
|
47
47
|
"node": ">=24.16.0"
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"devDependencies": {
|
|
64
64
|
"@types/node-cron": "^3.0.11",
|
|
65
65
|
"vitest": "^4.1.4",
|
|
66
|
-
"@cleocode/utils": "2026.9.
|
|
66
|
+
"@cleocode/utils": "2026.9.16"
|
|
67
67
|
},
|
|
68
68
|
"repository": {
|
|
69
69
|
"type": "git",
|
|
@@ -45,7 +45,12 @@ const COMMAND_BLOCK_RE =
|
|
|
45
45
|
/export\s+const\s+(\w+Command)\s*(?::\s*\w+)?\s*=\s*defineCommand\s*\(\s*\{[\s\S]*?meta\s*:\s*\{([\s\S]*?)\}/g;
|
|
46
46
|
|
|
47
47
|
const NAME_RE = /name\s*:\s*['"`]([^'"`]+)['"`]/;
|
|
48
|
-
|
|
48
|
+
// The delimiter is CAPTURED and the body runs lazily to the matching one.
|
|
49
|
+
// The previous class excluded every quote character, so a description
|
|
50
|
+
// delimited by ' that CONTAINED a ` terminated at the backtick and the
|
|
51
|
+
// rest was silently dropped — `cleo show`'s help lost everything after
|
|
52
|
+
// 'Accepts SEVERAL ids — '. These strings are what agents read in --help.
|
|
53
|
+
const DESC_RE = /description\s*:\s*(['"`])((?:\\.|[^\\])*?)\1/;
|
|
49
54
|
|
|
50
55
|
function extractFromFile(file) {
|
|
51
56
|
const text = readFileSync(file, 'utf8');
|
|
@@ -60,7 +65,7 @@ function extractFromFile(file) {
|
|
|
60
65
|
results.push({
|
|
61
66
|
exportName,
|
|
62
67
|
name: nameMatch[1],
|
|
63
|
-
description: descMatch ? descMatch[
|
|
68
|
+
description: descMatch ? descMatch[2] : '',
|
|
64
69
|
});
|
|
65
70
|
}
|
|
66
71
|
return results;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./DGftG5oL.js";import{c as e,o as t,s as n}from"./
|
|
1
|
+
import"./DGftG5oL.js";import{c as e,o as t,s as n}from"./Df85SMwa.js";var r={get data(){return e.data},get error(){return e.error},get form(){return e.form},get params(){return e.params},get route(){return e.route},get state(){return e.state},get status(){return e.status},get url(){return e.url}};Object.defineProperty({get from(){return n.current?n.current.from:null},get to(){return n.current?n.current.to:null},get type(){return n.current?n.current.type:null},get willUnload(){return n.current?n.current.willUnload:null},get delta(){return n.current?n.current.delta:null},get complete(){return n.current?n.current.complete:null}},`current`,{get(){throw Error(`Replace navigating.current.<prop> with navigating.<prop>`)}}),t.updated.check;var i=r;export{i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./Df85SMwa.js";
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{$ as e,I as t,L as n,Q as r,R as i,r as a,rt as o,t as s}from"./DGftG5oL.js";var c=class{constructor(e,t){this.status=e,typeof t==`string`?this.body={message:t}:t?this.body=t:this.body={message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}},l=class{constructor(e,t){try{new Headers({location:t})}catch{throw Error(`Invalid redirect location ${JSON.stringify(t)}: this string contains characters that cannot be used in HTTP headers`)}this.status=e,this.location=t}},u=class extends Error{constructor(e,t,n){super(n),this.status=e,this.text=t}};new URL(`sveltekit-internal://`);function d(e,t){return e===`/`||t===`ignore`?e:t===`never`?e.endsWith(`/`)?e.slice(0,-1):e:t===`always`&&!e.endsWith(`/`)?e+`/`:e}function f(e){return e.split(`%25`).map(decodeURI).join(`%25`)}function p(e){for(let t in e)e[t]=decodeURIComponent(e[t]);return e}function m({href:e}){return e.split(`#`)[0]}function h(){}function ee(...e){let t=5381;for(let n of e)if(typeof n==`string`){let e=n.length;for(;e;)t=t*33^n.charCodeAt(--e)}else if(ArrayBuffer.isView(n)){let e=new Uint8Array(n.buffer,n.byteOffset,n.byteLength),r=e.length;for(;r;)t=t*33^e[--r]}else throw TypeError(`value must be a string or TypedArray`);return(t>>>0).toString(36)}new TextEncoder;var g=new TextDecoder;function _(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}var te=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||`GET`)!==`GET`&&v.delete(b(e)),te(e,t));var v=new Map;function y(e,t){let n=b(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:e,...t}=JSON.parse(r.textContent),i=r.getAttribute(`data-ttl`);return i&&v.set(n,{body:e,init:t,ttl:1e3*Number(i)}),r.getAttribute(`data-b64`)!==null&&(e=_(e)),Promise.resolve(new Response(e,t))}return window.fetch(e,t)}function ne(e,t,n){if(v.size>0){let t=b(e,n),r=v.get(t);if(r){if(performance.now()<r.ttl&&[`default`,`force-cache`,`only-if-cached`,void 0].includes(n?.cache))return new Response(r.body,r.init);v.delete(t)}}return window.fetch(t,n)}function b(e,t){let n=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){let e=[];t.headers&&e.push([...new Headers(t.headers)].join(`,`)),t.body&&(typeof t.body==`string`||ArrayBuffer.isView(t.body))&&e.push(t.body),n+=`[data-hash="${ee(...e)}"]`}return n}var re=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function ie(e){let t=[];return{pattern:e===`/`?/^\/$/:RegExp(`^${oe(e).map(e=>{let n=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(e);if(n)return t.push({name:n[1],matcher:n[2],optional:!1,rest:!0,chained:!0}),`(?:/([^]*))?`;let r=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(e);if(r)return t.push({name:r[1],matcher:r[2],optional:!0,rest:!1,chained:!0}),`(?:/([^/]+))?`;if(!e)return;let i=e.split(/\[(.+?)\](?!\])/);return`/`+i.map((e,n)=>{if(n%2){if(e.startsWith(`x+`))return ce(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith(`u+`))return ce(String.fromCharCode(...e.slice(2).split(`-`).map(e=>parseInt(e,16))));let[,r,a,o,s]=re.exec(e);return t.push({name:o,matcher:s,optional:!!r,rest:!!a,chained:a?n===1&&i[0]===``:!1}),a?`([^]*?)`:r?`([^/]*)?`:`([^/]+?)`}return ce(e)}).join(``)}).join(``)}/?$`),params:t}}function ae(e){return e!==``&&!/^\([^)]+\)$/.test(e)}function oe(e){return e.slice(1).split(`/`).filter(ae)}function se(e,t,n){let r={},i=e.slice(1),a=i.filter(e=>e!==void 0),o=0;for(let e=0;e<t.length;e+=1){let s=t[e],c=i[e-o];if(s.chained&&s.rest&&o&&(c=i.slice(e-o,e+1).filter(e=>e).join(`/`),o=0),c===void 0)if(s.rest)c=``;else continue;if(!s.matcher||n[s.matcher](c)){r[s.name]=c;let n=t[e+1],l=i[e+1];n&&!n.rest&&n.optional&&l&&s.chained&&(o=0),!n&&!l&&Object.keys(r).length===a.length&&(o=0);continue}if(s.optional&&s.chained){o++;continue}return}if(!o)return r}function ce(e){return e.normalize().replace(/[[\]]/g,`\\$&`).replace(/%/g,`%25`).replace(/\//g,`%2[Ff]`).replace(/\?/g,`%3[Ff]`).replace(/#/g,`%23`).replace(/[.*+?^${}()|\\]/g,`\\$&`)}function le({nodes:e,server_loads:t,dictionary:n,matchers:r}){let i=new Set(t);return Object.entries(n).map(([t,[n,i,s]])=>{let{pattern:c,params:l}=ie(t),u={id:t,exec:e=>{let t=c.exec(e);if(t)return se(t,l,r)},errors:[1,...s||[]].map(t=>e[t]),layouts:[0,...i||[]].map(o),leaf:a(n)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function a(t){let n=t<0;return n&&(t=~t),[n,e[t]]}function o(t){return t===void 0?t:[i.has(t),e[t]]}}function ue(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function de(e,t,n=JSON.stringify){let r=n(t);try{sessionStorage[e]=r}catch{}}var x=globalThis.__sveltekit_12ghu3i?.base??``,fe=globalThis.__sveltekit_12ghu3i?.assets??x??``,pe=`1790275878223`,me=`sveltekit:snapshot`,he=`sveltekit:scroll`,ge=`sveltekit:states`,S=`sveltekit:history`,C=`sveltekit:navigation`,w={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},T=location.origin;function _e(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){let e=document.getElementsByTagName(`base`);t=e.length?e[0].href:document.URL}return new URL(e,t)}function E(){return{x:pageXOffset,y:pageYOffset}}function D(e,t){return e.getAttribute(`data-sveltekit-${t}`)}var ve={...w,"":w.hover};function ye(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function be(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()===`A`&&e.hasAttribute(`href`))return e;e=ye(e)}}function xe(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){let e=location.hash.split(`#`)[1]||`/`;r.hash=`#${e}${r.hash}`}}catch{}let i=e instanceof SVGAElement?e.target.baseVal:e.target,a=!r||!!i||Ee(r,t,n)||(e.getAttribute(`rel`)||``).split(/\s+/).includes(`external`),o=r?.origin===T&&e.hasAttribute(`download`);return{url:r,external:a,target:i,download:o}}function Se(e){let t=null,n=null,r=null,i=null,a=null,o=null,s=e;for(;s&&s!==document.documentElement;)r===null&&(r=D(s,`preload-code`)),i===null&&(i=D(s,`preload-data`)),t===null&&(t=D(s,`keepfocus`)),n===null&&(n=D(s,`noscroll`)),a===null&&(a=D(s,`reload`)),o===null&&(o=D(s,`replacestate`)),s=ye(s);function c(e){switch(e){case``:case`true`:return!0;case`off`:case`false`:return!1;default:return}}return{preload_code:ve[r??`off`],preload_data:ve[i??`off`],keepfocus:c(t),noscroll:c(n),reload:c(a),replace_state:c(o)}}function Ce(e){let t=o(e),n=!0;function r(){n=!0,t.update(e=>e)}function i(e){n=!1,t.set(e)}function a(e){let r;return t.subscribe(t=>{(r===void 0||n&&t!==r)&&e(r=t)})}return{notify:r,set:i,subscribe:a}}var we={v:h};function Te(){let{set:e,subscribe:t}=o(!1);async function n(){clearTimeout(void 0);try{let t=await fetch(`${fe}/_app/version.json`,{headers:{pragma:`no-cache`,"cache-control":`no-cache`}});if(!t.ok)return!1;let n=(await t.json()).version!==pe;return n&&(e(!0),we.v(),clearTimeout(void 0)),n}catch{return!1}}return{subscribe:t,check:n}}function Ee(e,t,n){return e.origin!==T||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function De(e){}function Oe(e){return Uint8Array.fromBase64(e).buffer}function ke(e){return Uint8Array.from(Buffer.from(e,`base64`)).buffer}function Ae(e){let t=atob(e),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.charCodeAt(e);return r.buffer}var je=typeof Uint8Array.fromBase64==`function`,Me=typeof process==`object`&&process.versions?.node!==void 0,Ne=je?Oe:Me?ke:Ae;function Pe(e,t){return Fe(JSON.parse(e),t)}function Fe(e,t){if(typeof e==`number`)return a(e,!0);if(!Array.isArray(e)||e.length===0)throw Error(`Invalid input`);let n=e,r=Array(n.length),i=null;function a(e,o=!1){if(e===-1)return;if(e===-3)return NaN;if(e===-4)return 1/0;if(e===-5)return-1/0;if(e===-6)return-0;if(o||typeof e!=`number`)throw Error(`Invalid input`);if(e in r)return r[e];let s=n[e];if(!s||typeof s!=`object`)r[e]=s;else if(Array.isArray(s))if(typeof s[0]==`string`){let o=s[0],c=t&&Object.hasOwn(t,o)?t[o]:void 0;if(c){let t=s[1];if(typeof t!=`number`&&(t=n.push(s[1])-1),i??=new Set,i.has(t))throw Error(`Invalid circular reference`);return i.add(t),r[e]=c(a(t)),i.delete(t),r[e]}switch(o){case`Date`:r[e]=new Date(s[1]);break;case`Set`:let t=new Set;r[e]=t;for(let e=1;e<s.length;e+=1)t.add(a(s[e]));break;case`Map`:let i=new Map;r[e]=i;for(let e=1;e<s.length;e+=2)i.set(a(s[e]),a(s[e+1]));break;case`RegExp`:r[e]=new RegExp(s[1],s[2]);break;case`Object`:{let t=s[1];if(typeof n[t]==`object`&&n[t][0]!==`BigInt`)throw Error(`Invalid input`);r[e]=Object(a(t));break}case`BigInt`:r[e]=BigInt(s[1]);break;case`null`:let c=Object.create(null);r[e]=c;for(let e=1;e<s.length;e+=2){if(s[e]===`__proto__`)throw Error("Cannot parse an object with a `__proto__` property");c[s[e]]=a(s[e+1])}break;case`Int8Array`:case`Uint8Array`:case`Uint8ClampedArray`:case`Int16Array`:case`Uint16Array`:case`Float16Array`:case`Int32Array`:case`Uint32Array`:case`Float32Array`:case`Float64Array`:case`BigInt64Array`:case`BigUint64Array`:case`DataView`:{if(n[s[1]][0]!==`ArrayBuffer`)throw Error(`Invalid data`);let t=globalThis[o],i=a(s[1]);r[e]=s[2]===void 0?new t(i):new t(i,s[2],s[3]);break}case`ArrayBuffer`:{let t=s[1];if(typeof t!=`string`)throw Error(`Invalid ArrayBuffer encoding`);r[e]=Ne(t);break}case`Temporal.Duration`:case`Temporal.Instant`:case`Temporal.PlainDate`:case`Temporal.PlainTime`:case`Temporal.PlainDateTime`:case`Temporal.PlainMonthDay`:case`Temporal.PlainYearMonth`:case`Temporal.ZonedDateTime`:{let t=o.slice(9);r[e]=Temporal[t].from(s[1]);break}case`URL`:r[e]=new URL(s[1]);break;case`URLSearchParams`:r[e]=new URLSearchParams(s[1]);break;default:throw Error(`Unknown type ${o}`)}}else if(s[0]===-7){let t=s[1];if(!Number.isInteger(t)||t<0)throw Error(`Invalid input`);let n=Array(t);r[e]=n;for(let e=2;e<s.length;e+=2){let r=s[e];if(!Number.isInteger(r)||r<0||r>=t)throw Error(`Invalid input`);n[r]=a(s[e+1])}}else{let t=Array(s.length);r[e]=t;for(let e=0;e<s.length;e+=1){let n=s[e];n!==-2&&(t[e]=a(n))}}else{let t={};r[e]=t;for(let e of Object.keys(s)){if(e===`__proto__`)throw Error("Cannot parse an object with a `__proto__` property");let n=s[e];t[e]=a(n)}}return r[e]}return a(0)}var Ie=new Set([`load`,`prerender`,`csr`,`ssr`,`trailingSlash`,`config`]);new Set([...Ie,`entries`]);var Le=new Set([...Ie]);new Set([...Le,`actions`,`entries`]);function Re(e){return e.filter(e=>e!=null)}var ze=`x-sveltekit-invalidated`,Be=`x-sveltekit-trailing-slash`;function Ve(e){return e instanceof c||e instanceof u?e.status:500}function He(e){return e instanceof u?e.text:`Internal Error`}var O,k,Ue,We=a.toString().includes(`$$`)||/function \w+\(\) \{\}/.test(a.toString()),Ge=`a:`;We?(O={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(Ge)},k={current:null},Ue={current:!1}):(O=new class{#e=e({});get data(){return t(this.#e)}set data(e){r(this.#e,e)}#t=e(null);get form(){return t(this.#t)}set form(e){r(this.#t,e)}#n=e(null);get error(){return t(this.#n)}set error(e){r(this.#n,e)}#r=e({});get params(){return t(this.#r)}set params(e){r(this.#r,e)}#i=e({id:null});get route(){return t(this.#i)}set route(e){r(this.#i,e)}#a=e({});get state(){return t(this.#a)}set state(e){r(this.#a,e)}#o=e(-1);get status(){return t(this.#o)}set status(e){r(this.#o,e)}#s=e(new URL(Ge));get url(){return t(this.#s)}set url(e){r(this.#s,e)}},k=new class{#e=e(null);get current(){return t(this.#e)}set current(e){r(this.#e,e)}},Ue=new class{#e=e(!1);get current(){return t(this.#e)}set current(e){r(this.#e,e)}},we.v=()=>Ue.current=!0);function Ke(e){Object.assign(O,e)}var qe=`/__data.json`,Je=`.html__data.json`;function Ye(e){return e.endsWith(`.html`)?e.replace(/\.html$/,Je):e.replace(/\/$/,``)+qe}var{onMount:Xe,tick:Ze}=s,Qe=new Set([`icon`,`shortcut icon`,`apple-touch-icon`]),A=null,j=ue(`sveltekit:scroll`)??{},M=ue(`sveltekit:snapshot`)??{},N={url:Ce({}),page:Ce({}),navigating:o(null),updated:Te()};function $e(e){j[e]=E()}function et(e,t){let n=e+1;for(;j[n];)delete j[n],n+=1;for(n=t+1;M[n];)delete M[n],n+=1}function P(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(h)}async function tt(){if(`serviceWorker`in navigator){let e=await navigator.serviceWorker.getRegistration(x||`/`);e&&await e.update()}}var nt,rt,F,I,it,L,at=[],ot=[],R=null;function z(){R?.fork?.then(e=>e?.discard()),R=null}var st=new Map,ct=new Set,lt=new Set,B=new Set,V={branch:[],error:null,url:null,nav:null},ut=!1,dt=!1,ft=!0,H=!1,U=!1,pt=!1,W=!1,G,K,q,J,Y=new Set,mt,ht=new Map;async function gt(e,t,n){globalThis.__sveltekit_12ghu3i&&(globalThis.__sveltekit_12ghu3i.query,globalThis.__sveltekit_12ghu3i.prerender),document.URL!==location.href&&(location.href=location.href),L=e,await e.hooks.init?.(),nt=le(e),I=document.documentElement,it=t,rt=e.nodes[0],F=e.nodes[1],rt(),F(),K=history.state?.[S],q=history.state?.[C],K||(K=q=Date.now(),history.replaceState({...history.state,[S]:K,[C]:q},``));let r=j[K];function i(){r&&(history.scrollRestoration=`manual`,scrollTo(r.x,r.y))}n?(i(),await qt(it,n)):(await Q({type:`enter`,url:_e(L.hash?en(new URL(location.href)):location.href),replace_state:!0}),i()),Kt()}async function _t(e=!0,t=!0){if(await(mt||=Promise.resolve()),!mt)return;mt=null;let n=J={},r=await Z(V.url,!0);if(z(),W&&ht.forEach(e=>{e.forEach(({resource:e})=>{e.refresh?.()})}),e){let e=O.state,i=r&&await Mt(r);if(!i||n!==J)return;if(i.type===`redirect`)return St(new URL(i.location,V.url).href,{replaceState:!0},1,n);t||(i.props.page.state=e),Ke(i.props.page),V={...i.state,nav:V.nav},vt(),G.$set(i.props)}else vt();await Promise.all([...ht.values()].flatMap(e=>[...e.values()].map(({resource:e})=>e))).catch(h)}function vt(){at.length=0,W=!1}function yt(e){ot.some(e=>e?.snapshot)&&(M[e]=ot.map(e=>e?.snapshot?.capture()))}function bt(e){M[e]?.forEach((e,t)=>{ot[t]?.snapshot?.restore(e)})}function xt(){$e(K),de(he,j),yt(q),de(me,M)}async function St(e,t,n,r){let a;t.invalidateAll&&z(),await Q({type:`goto`,url:_e(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:r,accept:()=>{t.invalidateAll&&(W=!0,a=[],ht.forEach((e,t)=>{for(let n of e.keys())a.push(t+`/`+n)})),t.invalidate&&t.invalidate.forEach(Ht)}}),t.invalidateAll&&i().then(i).then(()=>{ht.forEach((e,t)=>{e.forEach(({resource:e},n)=>{a?.includes(t+`/`+n)&&e.refresh?.()})})})}async function Ct(e){if(e.id!==R?.id){z();let t={};Y.add(t),R={id:e.id,token:t,promise:Mt({...e,preload:t}).then(e=>(Y.delete(t),e.type===`loaded`&&e.state.error&&z(),e)),fork:null}}return R.promise}async function wt(e){let t=(await Z(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(e=>e[1]()))}async function Tt(e,t,n){let r={params:V.params,route:{id:V.route?.id??null},url:new URL(location.href)};V={...e.state,nav:r};let i=document.querySelector(`style[data-sveltekit]`);if(i&&i.remove(),Object.assign(O,e.props.page),G=new L.root({target:t,props:{...e.props,stores:N,components:ot},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),bt(q),n){let e={from:null,to:{...r,scroll:j[K]??E()},willUnload:!1,type:`enter`,complete:Promise.resolve()};B.forEach(t=>t(e))}dt=!0}async function X({url:e,params:t,branch:n,errors:r,status:i,error:a,route:o,form:s}){let c=`never`;if(x&&(e.pathname===x||e.pathname===x+`/`))c=`always`;else for(let e of n)e?.slash!==void 0&&(c=e.slash);e.pathname=d(e.pathname,c),e.search=e.search;let l={type:`loaded`,state:{url:e,params:t,branch:n,error:a,route:o},props:{constructors:Re(n).map(e=>e.node.component),page:$t(O)}};s!==void 0&&(l.props.form=s);let u={},f=!O,p=0;for(let e=0;e<Math.max(n.length,V.branch.length);e+=1){let t=n[e],r=V.branch[e];t?.data!==r?.data&&(f=!0),t&&(u={...u,...t.data},f&&(l.props[`data_${p}`]=u),p+=1)}return(!V.url||e.href!==V.url.href||V.error!==a||s!==void 0&&s!==O.form||f)&&(l.props.page={error:a,params:t,route:{id:o?.id??null},state:{},status:i,url:new URL(e),form:s??null,data:f?u:O.data}),l}async function Et({loader:e,parent:t,url:n,params:r,route:i,server_data_node:a}){let o={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},s=await e();return{node:s,loader:e,server:a,universal:s.universal?.load?{type:`data`,data:null,uses:o}:null,data:a?.data??null,slash:s.universal?.trailingSlash??a?.slash}}function Dt(e,t,n){let r=e instanceof Request?e.url:e,i=new URL(r,n);return i.origin===n.origin&&(r=i.href.slice(n.origin.length)),{resolved:i,promise:dt?ne(r,i.href,t):y(r,t)}}function Ot(e,t,n,r,i,a){if(W)return!0;if(!i)return!1;if(i.parent&&e||i.route&&t||i.url&&n)return!0;for(let e of i.search_params)if(r.has(e))return!0;for(let e of i.params)if(a[e]!==V.params[e])return!0;for(let e of i.dependencies)if(at.some(t=>t(new URL(e))))return!0;return!1}function kt(e,t){return e?.type===`data`?e:e?.type===`skip`?t??null:null}function At(e,t){if(!e)return new Set(t.searchParams.keys());let n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(let r of n){let i=e.searchParams.getAll(r),a=t.searchParams.getAll(r);i.every(e=>a.includes(e))&&a.every(e=>i.includes(e))&&n.delete(r)}return n}function jt({error:e,url:t,route:n,params:r}){return{type:`loaded`,state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:$t(O),constructors:[]}}}async function Mt({id:e,invalidating:t,url:n,params:r,route:i,preload:a}){if(R?.id===e)return Y.delete(R.token),R.promise;let{errors:o,layouts:s,leaf:u}=i,d=[...s,u];o.forEach(e=>e?.().catch(h)),d.forEach(e=>e?.[1]().catch(h));let f=null,p=V.url?e!==Lt(V.url):!1,m=V.route?i.id!==V.route.id:!1,ee=At(V.url,n),g=!1;{let t=d.map((e,t)=>{let n=V.branch[t],i=!!e?.[0]&&(n?.loader!==e[1]||Ot(g,m,p,ee,n.server?.uses,r));return i&&(g=!0),i});if(t.some(Boolean)){try{f=await Jt(n,t)}catch(t){let o=await $(t,{url:n,params:r,route:{id:e}});return Y.has(a)?jt({error:o,url:n,params:r,route:i}):Pt({status:Ve(t),error:o,url:n,route:i})}if(f.type===`redirect`)return f}}let _=f?.nodes,te=!1,v=d.map(async(e,t)=>{if(!e)return;let a=V.branch[t],o=_?.[t];if((!o||o.type===`skip`)&&e[1]===a?.loader&&!Ot(te,m,p,ee,a.universal?.uses,r))return a;if(te=!0,o?.type===`error`)throw o;return Et({loader:e[1],url:n,params:r,route:i,parent:async()=>{let e={};for(let n=0;n<t;n+=1)Object.assign(e,(await v[n])?.data);return e},server_data_node:kt(o===void 0&&e[0]?{type:`skip`}:o??null,e[0]?a?.server:void 0)})});for(let e of v)e.catch(h);let y=[];for(let e=0;e<d.length;e+=1)if(d[e])try{y.push(await v[e])}catch(t){if(t instanceof l)return{type:`redirect`,location:t.location};if(Y.has(a))return jt({error:await $(t,{params:r,url:n,route:{id:i.id}}),url:n,params:r,route:i});let s=Ve(t),u;if(_?.includes(t))s=t.status??s,u=t.error;else if(t instanceof c)u=t.body;else{if(await N.updated.check())return await tt(),await P(n);u=await $(t,{params:r,url:n,route:{id:i.id}})}let d=await Nt(e,y,o);return d?X({url:n,params:r,branch:y.slice(0,d.idx).concat(d.node),errors:o,status:s,error:u,route:i}):await zt(n,{id:i.id},u,s)}else y.push(void 0);return X({url:n,params:r,branch:y,errors:o,status:200,error:null,route:i,form:t?void 0:null})}async function Nt(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)--r;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function Pt({status:e,error:t,url:n,route:r}){let i={},a=null;if(L.server_loads[0]===0)try{let e=await Jt(n,[!0]);if(e.type!==`data`||e.nodes[0]&&e.nodes[0].type!==`data`)throw 0;a=e.nodes[0]??null}catch{(n.origin!==T||n.pathname!==location.pathname||ut)&&await P(n)}try{return X({url:n,params:i,branch:[await Et({loader:rt,url:n,params:i,route:r,parent:()=>Promise.resolve({}),server_data_node:kt(a)}),{node:await F(),loader:F,universal:null,server:null,data:null}],status:e,error:t,errors:[],route:null})}catch(e){if(e instanceof l)return St(new URL(e.location,location.href),{},0);throw e}}async function Ft(e){let t=e.href;if(st.has(t))return st.get(t);let n;try{let r=(async()=>{let t=await L.hooks.reroute({url:new URL(e),fetch:async(t,n)=>Dt(t,n,e).promise})??e;if(typeof t==`string`){let n=new URL(e);L.hash?n.hash=t:n.pathname=t,t=n}return t})();st.set(t,r),n=await r}catch{st.delete(t);return}return n}async function Z(e,t){if(e&&!Ee(e,x,L.hash)){let n=await Ft(e);if(!n)return;let r=It(n);for(let n of nt){let i=n.exec(r);if(i)return{id:Lt(e),invalidating:t,route:n,params:p(i),url:e}}}}function It(e){return f(L.hash?e.hash.replace(/^#/,``).replace(/[?#].+/,``):e.pathname.slice(x.length))||`/`}function Lt(e){return(L.hash?e.hash.replace(/^#/,``):e.pathname)+e.search}function Rt({url:e,type:t,intent:n,delta:r,event:i,scroll:a}){let o=!1,s=Qt(V,n,e,t,a??null);r!==void 0&&(s.navigation.delta=r),i!==void 0&&(s.navigation.event=i);let c={...s.navigation,cancel:()=>{o=!0,s.reject(Error(`navigation cancelled`))}};return H||ct.forEach(e=>e(c)),o?null:s}async function Q({type:e,url:t,popped:r,keepfocus:a,noscroll:o,replace_state:s,state:c={},redirect_count:l=0,nav_token:d={},accept:f=h,block:p=h,event:m}){let ee=J;J=d;let g=await Z(t,!1),_=e===`enter`?Qt(V,g,t,e):Rt({url:t,type:e,delta:r?.delta,intent:g,scroll:r?.scroll,event:m});if(!_){p(),J===d&&(J=ee);return}let te=K,v=q;f(),H=!0,dt&&_.navigation.type!==`enter`&&N.navigating.set(k.current=_.navigation);let y=g&&await Mt(g);if(!y){if(Ee(t,x,L.hash))return await P(t,s);y=await zt(t,{id:null},await $(new u(404,`Not Found`,`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,s)}if(t=g?.url||t,J!==d)return _.reject(Error(`navigation aborted`)),!1;if(y.type===`redirect`){if(l<20){await Q({type:e,url:new URL(y.location,t),popped:r,keepfocus:a,noscroll:o,replace_state:s,state:c,redirect_count:l+1,nav_token:d}),_.fulfil(void 0);return}y=await Pt({status:500,error:await $(Error(`Redirect loop`),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}})}else y.props.page.status>=400&&await N.updated.check()&&(await tt(),await P(t,s));if(vt(),$e(te),yt(v),y.props.page.url.pathname!==t.pathname&&(t.pathname=y.props.page.url.pathname),c=r?r.state:c,!r){let e=+!s,n={[S]:K+=e,[C]:q+=e,[ge]:c};(s?history.replaceState:history.pushState).call(history,n,``,t),s||et(K,q)}let ne=g&&R?.id===g.id?R.fork:null;R?.fork&&!ne&&z(),R=null,y.props.page.state=c;let b;if(dt){let e=(await Promise.all(Array.from(lt,e=>e(_.navigation)))).filter(e=>typeof e==`function`);if(e.length>0){function t(){e.forEach(e=>{B.delete(e)})}e.push(t),e.forEach(e=>{B.add(e)})}let r=_.navigation.to;V={...y.state,nav:{params:r.params,route:r.route,url:r.url}},y.props.page&&(y.props.page.url=t);let i=ne&&await ne;i?b=i.commit():(A=null,G.$set(y.props),A&&Object.assign(y.props.page,A),Ke(y.props.page),b=n?.()),pt=!0}else await Tt(y,it,!1);let{activeElement:re}=document;await b,await i(),await i();let ie=null;if(ft){let e=r?r.scroll:o?E():null;e?scrollTo(e.x,e.y):(ie=t.hash&&document.getElementById(tn(t)))?ie.scrollIntoView():scrollTo(0,0)}let ae=document.activeElement!==re&&document.activeElement!==document.body;!a&&!ae&&Zt(t,!ie),ft=!0,y.props.page&&(A&&Object.assign(y.props.page,A),Object.assign(O,y.props.page)),H=!1,e===`popstate`&&bt(q),_.fulfil(void 0),_.navigation.to&&(_.navigation.to.scroll=E()),B.forEach(e=>e(_.navigation)),N.navigating.set(k.current=null)}async function zt(e,t,n,r,i){return e.origin===T&&e.pathname===location.pathname&&!ut?await Pt({status:r,error:n,url:e,route:t}):await P(e,i)}function Bt(){let e,t={element:void 0,href:void 0},n;I.addEventListener(`mousemove`,t=>{let n=t.target;clearTimeout(e),e=setTimeout(()=>{a(n,w.hover)},20)});function r(e){e.defaultPrevented||a(e.composedPath()[0],w.tap)}I.addEventListener(`mousedown`,r),I.addEventListener(`touchstart`,r,{passive:!0});let i=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&(wt(new URL(t.target.href)),i.unobserve(t.target))},{threshold:0});async function a(e,r){let i=be(e,I),a=i===t.element&&i?.href===t.href&&r>=n;if(!i||a)return;let{url:o,external:s,download:c}=xe(i,x,L.hash);if(s||c)return;let l=Se(i),u=o&&Lt(V.url)===Lt(o);if(!(l.reload||u))if(r<=l.preload_data){t={element:i,href:i.href},n=w.tap;let e=await Z(o,!1);if(!e)return;Ct(e)}else r<=l.preload_code&&(t={element:i,href:i.href},n=r,wt(o))}function o(){i.disconnect();for(let e of I.querySelectorAll(`a`)){let{url:t,external:n,download:r}=xe(e,x,L.hash);if(n||r)continue;let a=Se(e);a.reload||(a.preload_code===w.viewport&&i.observe(e),a.preload_code===w.eager&&wt(t))}}B.add(o),o()}function $(e,t){if(e instanceof c)return e.body;let n=Ve(e),r=He(e);return L.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function Vt(e,t={}){return e=new URL(_e(e)),e.origin===T?St(e,t,0):Promise.reject(Error(`goto: invalid URL`))}function Ht(e){if(typeof e==`function`)at.push(e);else{let{href:t}=new URL(e,location.href);at.push(e=>e.href===t)}}function Ut(){return W=!0,_t()}async function Wt(e){e.type===`error`?await Gt(e.error,e.status):e.type===`redirect`?await St(e.location,{invalidateAll:!0},0):(O.form=e.data,O.status=e.status,G.$set({form:null,page:$t(O)}),await Ze(),G.$set({form:e.data}),e.type===`success`&&Zt(O.url))}async function Gt(e,t=500){let n=new URL(location.href),{branch:r,route:i}=V;if(!i)return;let a=await Nt(V.branch.length,r,i.errors);if(a){let o=await X({url:n,params:V.params,branch:r.slice(0,a.idx).concat(a.node),status:t,error:e,route:i});V={...o.state,nav:V.nav},G.$set(o.props),Ke(o.props.page),Ze().then(()=>Zt(V.url))}}function Kt(){history.scrollRestoration=`manual`,addEventListener(`beforeunload`,e=>{let t=!1;if(xt(),!H){let e=Qt(V,void 0,null,`leave`),n={...e.navigation,cancel:()=>{t=!0,e.reject(Error(`navigation cancelled`))}};ct.forEach(e=>e(n))}t?(e.preventDefault(),e.returnValue=``):history.scrollRestoration=`auto`}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&xt()}),navigator.connection?.saveData||Bt(),I.addEventListener(`click`,async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;let n=be(t.composedPath()[0],I);if(!n)return;let{url:r,external:i,target:a,download:o}=xe(n,x,L.hash);if(!r)return;if(a===`_parent`||a===`_top`){if(window.parent!==window)return}else if(a&&a!==`_self`)return;let s=Se(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol===`https:`||r.protocol===`http:`)||o)return;let[c,l]=(L.hash?r.hash.replace(/^#/,``):r.href).split(`#`),u=c===m(location);if(i||s.reload&&(!u||!l)){Rt({url:r,type:`link`,event:t})?H=!0:t.preventDefault();return}if(l!==void 0&&u){let[,i]=V.url.href.split(`#`);if(i===l){if(t.preventDefault(),l===``||l===`top`&&n.ownerDocument.getElementById(`top`)===null)scrollTo({top:0});else{let e=n.ownerDocument.getElementById(decodeURIComponent(l));e&&(e.scrollIntoView(),e.focus())}return}if(U=!0,$e(K),e(r),!s.replace_state)return;U=!1}t.preventDefault(),await new Promise(e=>{requestAnimationFrame(()=>{setTimeout(e,0)}),setTimeout(e,100)}),await Q({type:`link`,url:r,keepfocus:s.keepfocus,noscroll:s.noscroll,replace_state:s.replace_state??r.href===location.href,event:t})}),I.addEventListener(`submit`,e=>{if(e.defaultPrevented)return;let t=HTMLFormElement.prototype.cloneNode.call(e.target),n=e.submitter;if((n?.formTarget||t.target)===`_blank`||(n?.formMethod||t.method)!==`get`)return;let r=new URL(n?.hasAttribute(`formaction`)&&n?.formAction||t.action);if(Ee(r,x,!1))return;let i=e.target,a=Se(i);if(a.reload)return;e.preventDefault(),e.stopPropagation();let o=new FormData(i,n);r.search=new URLSearchParams(o).toString(),Q({type:`form`,url:r,keepfocus:a.keepfocus,noscroll:a.noscroll,replace_state:a.replace_state??r.href===location.href,event:e})}),addEventListener(`popstate`,async t=>{if(!Xt)if(t.state?.[`sveltekit:history`]){let n=t.state[S];if(J={},n===K)return;let r=j[n],i=t.state[`sveltekit:states`]??{},a=new URL(t.state[`sveltekit:pageurl`]??location.href),o=t.state[C],s=V.url?m(location)===m(V.url):!1;if(o===q&&(pt||s)){i!==O.state&&(O.state=i),e(a),j[K]=E(),r&&scrollTo(r.x,r.y),K=n;return}let c=n-K;await Q({type:`popstate`,url:a,popped:{state:i,scroll:r,delta:c},accept:()=>{K=n,q=o},block:()=>{history.go(-c)},nav_token:J,event:t})}else U||(e(new URL(location.href)),L.hash&&location.reload())}),addEventListener(`hashchange`,()=>{U&&(U=!1,history.replaceState({...history.state,[S]:++K,[C]:q},``,location.href))});for(let e of document.querySelectorAll(`link`))Qe.has(e.rel)&&(e.href=e.href);addEventListener(`pageshow`,e=>{e.persisted&&N.navigating.set(k.current=null)});function e(e){V.url=O.url=e,N.page.set($t(O)),N.page.notify()}}async function qt(e,{status:t=200,error:n,node_ids:r,params:i,route:a,server_route:o,data:s,form:c}){ut=!0;let u=new URL(location.href),d;({params:i={},route:a={id:null}}=await Z(u,!1)||{}),d=nt.find(({id:e})=>e===a.id);let f,p=!0;try{let e=r.map(async(t,n)=>{let r=s[n];return r?.uses&&(r.uses=Yt(r.uses)),Et({loader:L.nodes[t],url:u,params:i,route:a,parent:async()=>{let t={};for(let r=0;r<n;r+=1)Object.assign(t,(await e[r]).data);return t},server_data_node:kt(r)})}),o=await Promise.all(e);if(d){let e=d.layouts;for(let t=0;t<e.length;t++)e[t]||o.splice(t,0,void 0)}f=await X({url:u,params:i,branch:o,status:t,error:n,errors:d?.errors,form:c,route:d??null})}catch(t){if(t instanceof l){await P(new URL(t.location,location.href));return}f=await Pt({status:Ve(t),error:await $(t,{url:u,params:i,route:a}),url:u,route:a}),e.textContent=``,p=!1}f.props.page&&(f.props.page.state={}),await Tt(f,e,p)}async function Jt(e,t){let n=new URL(e);n.pathname=Ye(e.pathname),e.pathname.endsWith(`/`)&&n.searchParams.append(Be,`1`),n.searchParams.append(ze,t.map(e=>e?`1`:`0`).join(``));let r=await(0,window.fetch)(n.href,{});if(!r.ok){let e;throw r.headers.get(`content-type`)?.includes(`application/json`)?e=await r.json():r.status===404?e=`Not Found`:r.status===500&&(e=`Internal Error`),new c(r.status,e)}return new Promise(async e=>{let t=new Map,n=r.body.getReader();function i(e){return Fe(e,{...L.decoders,Promise:e=>new Promise((n,r)=>{t.set(e,{fulfil:n,reject:r})})})}let a=``;for(;;){let{done:r,value:o}=await n.read();if(r&&!a)break;for(a+=!o&&a?`
|
|
2
|
+
`:g.decode(o,{stream:!0});;){let n=a.indexOf(`
|
|
3
|
+
`);if(n===-1)break;let r=JSON.parse(a.slice(0,n));if(a=a.slice(n+1),r.type===`redirect`)return e(r);if(r.type===`data`)r.nodes?.forEach(e=>{e?.type===`data`&&(e.uses=Yt(e.uses),e.data=i(e.data))}),e(r);else if(r.type===`chunk`){let{id:e,data:n,error:a}=r,o=t.get(e);t.delete(e),a?o.reject(i(a)):o.fulfil(i(n))}}}})}function Yt(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}var Xt=!1;function Zt(e,t=!0){let n=document.querySelector(`[autofocus]`);if(n)n.focus();else{let n=tn(e);if(n&&document.getElementById(n)){let{x:r,y:i}=E();setTimeout(()=>{let a=history.state;Xt=!0,location.replace(new URL(`#${n}`,location.href)),history.replaceState(a,``,e),t&&scrollTo(r,i),Xt=!1})}else{let e=document.body,t=e.getAttribute(`tabindex`);e.tabIndex=-1,e.focus({preventScroll:!0,focusVisible:!1}),t===null?e.removeAttribute(`tabindex`):e.setAttribute(`tabindex`,t)}let r=getSelection();if(r&&r.type!==`None`){let e=[];for(let t=0;t<r.rangeCount;t+=1)e.push(r.getRangeAt(t));setTimeout(()=>{if(r.rangeCount===e.length){for(let t=0;t<r.rangeCount;t+=1){let n=e[t],i=r.getRangeAt(t);if(n.commonAncestorContainer!==i.commonAncestorContainer||n.startContainer!==i.startContainer||n.endContainer!==i.endContainer||n.startOffset!==i.startOffset||n.endOffset!==i.endOffset)return}r.removeAllRanges()}})}}}function Qt(e,t,n,r,i=null){let a,o,s=new Promise((e,t)=>{a=e,o=t});return s.catch(h),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:E()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:i},willUnload:!t,type:r,complete:s},fulfil:a,reject:o}}function $t(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function en(e){let t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function tn(e){let t;if(L.hash){let[,,n]=e.hash.split(`#`,3);t=n??``}else t=e.hash.slice(1);return decodeURIComponent(t)}export{gt as a,O as c,De as d,h as f,Ut as i,Ue as l,Wt as n,N as o,Vt as r,k as s,L as t,Pe as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./DGftG5oL.js";import{o as e}from"./
|
|
1
|
+
import"./DGftG5oL.js";import{o as e}from"./Df85SMwa.js";var t=()=>{let t=e;return{page:{subscribe:t.page.subscribe},navigating:{subscribe:t.navigating.subscribe},updated:t.updated}},n={subscribe(e){return t().page.subscribe(e)}};export{n as t};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.
|
|
2
|
-
import{$ as e,A as t,D as n,E as r,H as i,I as a,J as o,M as s,O as c,Q as l,R as u,S as d,U as f,W as p,X as m,Y as h,a as g,at as _,et as v,i as y,k as b,o as x,ot as S,r as C,ut as w}from"../chunks/DGftG5oL.js";import{t as T}from"../chunks/C6jhAnil.js";import"../chunks/B8WnZMYa.js";var E={},D=t(`<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>`),O=t(`<!> <!>`,1);function k(t,y){S(y,!0);let T=g(y,`components`,23,()=>[]),E=g(y,`data_0`,3,null),k=g(y,`data_1`,3,null);p(()=>y.stores.page.set(y.page)),f(()=>{y.stores,y.page,y.constructors,T(),y.form,E(),k(),y.stores.page.notify()});let A=e(!1),j=e(!1),M=e(null);C(()=>{let e=y.stores.page.subscribe(()=>{a(A)&&(l(j,!0),u().then(()=>{l(M,document.title||`untitled page`,!0)}))});return l(A,!0),e});let N=v(()=>y.constructors[1]);var P=O(),F=h(P),I=e=>{let t=v(()=>y.constructors[0]);var n=b();d(h(n),()=>a(t),(e,t)=>{x(t(e,{get data(){return E()},get form(){return y.form},get params(){return y.page.params},children:(e,t)=>{var n=b();d(h(n),()=>a(N),(e,t)=>{x(t(e,{get data(){return k()},get form(){return y.form},get params(){return y.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),c(e,n)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),c(e,n)},L=e=>{let t=v(()=>y.constructors[0]);var n=b();d(h(n),()=>a(t),(e,t)=>{x(t(e,{get data(){return E()},get form(){return y.form},get params(){return y.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),c(e,n)};r(F,e=>{y.constructors[1]?e(I):e(L,-1)});var R=m(F,2),z=e=>{var t=D(),l=o(t),u=e=>{var t=s();i(()=>n(t,a(M))),c(e,t)};r(l,e=>{a(j)&&e(u)}),w(t),c(e,t)};r(R,e=>{a(A)&&e(z)}),c(t,P),_()}var A=y(k),j=[()=>T(()=>import(`../nodes/0.
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.DBuv3zxt.js","../chunks/DGftG5oL.js","../chunks/VKKkkMOi.js","../chunks/Df85SMwa.js","../chunks/B8WnZMYa.js","../assets/0.BAKYIbXL.css","../nodes/1.BOT1FWSE.js","../chunks/1fCYH2a_.js","../nodes/2.mqgFVWFQ.js","../chunks/BB7zPpV2.js","../assets/HeroHeader.ByXNeezk.css","../chunks/rB_71s8h.js","../assets/Sparkline.DVOptay1.css","../chunks/rUtW7Hx6.js","../assets/StatBlock.DX6OXz7z.css","../chunks/DZrdToAH.js","../assets/Tabs.CU9_rsWl.css","../chunks/CTLGzgdN.js","../assets/ui.CH-9N9-0.css","../assets/2.Cnug3B4a.css","../nodes/3.C719XWWs.js","../chunks/CY3heNub.js","../assets/cluster-label-layer.aRgASjnn.css","../chunks/DEH43YwF.js","../chunks/CqgtdAx_.js","../chunks/Cge6qiwc.js","../assets/no-face-up.BlswZ73M.css","../assets/ThreeBrainRenderer.BSwu9fuL.css","../assets/3.DqDkvXKx.css","../nodes/4.D6vXYBoQ.js","../nodes/5.hjw2O-4e.js","../assets/5.B_uRJ0Jj.css","../nodes/6.CAoDfDt6.js","../chunks/CnwXLaZJ.js","../assets/memory.BscouZPQ.css","../assets/6.CmoCAENN.css","../nodes/7.CLgPSQ8Z.js","../assets/7.CK1_ePLd.css","../nodes/8.zuaO1Hik.js","../assets/8.Cx548gay.css","../nodes/9.Cdsd85m2.js","../assets/9.CxLgHkUJ.css","../nodes/10.3rxHNnSx.js","../assets/10.BxJazN1A.css","../nodes/11.B6jWv3Kz.js","../assets/11.kOP0rMCQ.css","../nodes/12.BrDHeTEq.js","../assets/12.D7ygxlsh.css","../nodes/13.CE5bd4JV.js","../assets/13.p6rC_qJV.css","../nodes/14.DgXD2LRx.js","../assets/14.Cl-Ch082.css","../nodes/15.CUpJlGs8.js","../chunks/DXc5naiV.js","../chunks/BOnrCZaR.js","../assets/nexus-adapter.DuSZKvuH.css","../assets/15.CdtiwMjj.css","../nodes/16.DaWaP5Nf.js","../assets/16.BzOs0cg_.css","../nodes/17.pbxraJ9_.js","../assets/17.C-9c74gE.css","../nodes/18.-IINezS5.js","../assets/18.d18ttKnU.css","../nodes/19.su55K8y_.js","../assets/19.DQwwpjAV.css","../nodes/20.qlA7fV1e.js","../assets/20.CYAn9-TU.css","../nodes/21.BhwhdQCq.js","../assets/21.nneFKQjw.css","../nodes/22.BmJEWwER.js","../assets/22.nNcqMuWE.css","../nodes/23.CAVIJEH-.js","../assets/23.hkLGkf1W.css","../nodes/24.Cl_79R4f.js","../chunks/EZwHPWle.js","../assets/tasks.BZWJL4jq.css","../chunks/C87Q3uxm.js","../assets/saga-board.XH0XIkul.css","../assets/24.BWCeO61w.css","../nodes/25.D41oJ8Oj.js","../assets/25.BtvG5YXz.css","../nodes/26.BJQqW7_R.js","../assets/26.Bc1bH1ab.css","../nodes/28.D64RBcfs.js","../assets/28.B2KOVxyP.css","../nodes/29.yfuBeH1x.js","../assets/29.DRNLnKHe.css","../nodes/30.1WUv5bh9.js","../assets/30.hXrXZpmS.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{$ as e,A as t,D as n,E as r,H as i,I as a,J as o,M as s,O as c,Q as l,R as u,S as d,U as f,W as p,X as m,Y as h,a as g,at as _,et as v,i as y,k as b,o as x,ot as S,r as C,ut as w}from"../chunks/DGftG5oL.js";import{t as T}from"../chunks/C6jhAnil.js";import"../chunks/B8WnZMYa.js";var E={},D=t(`<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>`),O=t(`<!> <!>`,1);function k(t,y){S(y,!0);let T=g(y,`components`,23,()=>[]),E=g(y,`data_0`,3,null),k=g(y,`data_1`,3,null);p(()=>y.stores.page.set(y.page)),f(()=>{y.stores,y.page,y.constructors,T(),y.form,E(),k(),y.stores.page.notify()});let A=e(!1),j=e(!1),M=e(null);C(()=>{let e=y.stores.page.subscribe(()=>{a(A)&&(l(j,!0),u().then(()=>{l(M,document.title||`untitled page`,!0)}))});return l(A,!0),e});let N=v(()=>y.constructors[1]);var P=O(),F=h(P),I=e=>{let t=v(()=>y.constructors[0]);var n=b();d(h(n),()=>a(t),(e,t)=>{x(t(e,{get data(){return E()},get form(){return y.form},get params(){return y.page.params},children:(e,t)=>{var n=b();d(h(n),()=>a(N),(e,t)=>{x(t(e,{get data(){return k()},get form(){return y.form},get params(){return y.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),c(e,n)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),c(e,n)},L=e=>{let t=v(()=>y.constructors[0]);var n=b();d(h(n),()=>a(t),(e,t)=>{x(t(e,{get data(){return E()},get form(){return y.form},get params(){return y.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),c(e,n)};r(F,e=>{y.constructors[1]?e(I):e(L,-1)});var R=m(F,2),z=e=>{var t=D(),l=o(t),u=e=>{var t=s();i(()=>n(t,a(M))),c(e,t)};r(l,e=>{a(j)&&e(u)}),w(t),c(e,t)};r(R,e=>{a(A)&&e(z)}),c(t,P),_()}var A=y(k),j=[()=>T(()=>import(`../nodes/0.DBuv3zxt.js`),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url),()=>T(()=>import(`../nodes/1.BOT1FWSE.js`),__vite__mapDeps([6,1,7,3,4]),import.meta.url),()=>T(()=>import(`../nodes/2.mqgFVWFQ.js`),__vite__mapDeps([8,1,4,9,10,11,12,13,14,15,16,17,18,19]),import.meta.url),()=>T(()=>import(`../nodes/3.C719XWWs.js`),__vite__mapDeps([20,1,21,4,22,7,3,23,24,25,26,27,15,16,28]),import.meta.url),()=>T(()=>import(`../nodes/4.D6vXYBoQ.js`),__vite__mapDeps([29,1,4]),import.meta.url),()=>T(()=>import(`../nodes/5.hjw2O-4e.js`),__vite__mapDeps([30,1,4,15,16,17,18,31]),import.meta.url),()=>T(()=>import(`../nodes/6.CAoDfDt6.js`),__vite__mapDeps([32,1,4,33,15,16,17,18,34,35]),import.meta.url),()=>T(()=>import(`../nodes/7.CLgPSQ8Z.js`),__vite__mapDeps([36,1,23,24,4,25,26,27,17,15,16,18,37]),import.meta.url),()=>T(()=>import(`../nodes/8.zuaO1Hik.js`),__vite__mapDeps([38,1,4,33,15,16,17,18,34,39]),import.meta.url),()=>T(()=>import(`../nodes/9.Cdsd85m2.js`),__vite__mapDeps([40,1,4,33,15,16,17,18,34,41]),import.meta.url),()=>T(()=>import(`../nodes/10.3rxHNnSx.js`),__vite__mapDeps([42,1,4,33,15,16,17,18,34,43]),import.meta.url),()=>T(()=>import(`../nodes/11.B6jWv3Kz.js`),__vite__mapDeps([44,1,4,33,15,16,17,18,34,45]),import.meta.url),()=>T(()=>import(`../nodes/12.BrDHeTEq.js`),__vite__mapDeps([46,1,4,33,15,16,17,18,34,47]),import.meta.url),()=>T(()=>import(`../nodes/13.CE5bd4JV.js`),__vite__mapDeps([48,1,4,33,15,16,17,18,34,49]),import.meta.url),()=>T(()=>import(`../nodes/14.DgXD2LRx.js`),__vite__mapDeps([50,1,4,33,15,16,17,18,34,51]),import.meta.url),()=>T(()=>import(`../nodes/15.CUpJlGs8.js`),__vite__mapDeps([52,1,3,53,4,54,21,22,25,26,55,15,16,17,18,56]),import.meta.url),()=>T(()=>import(`../nodes/16.DaWaP5Nf.js`),__vite__mapDeps([57,1,3,53,4,54,21,22,25,26,55,15,16,17,18,58]),import.meta.url),()=>T(()=>import(`../nodes/17.pbxraJ9_.js`),__vite__mapDeps([59,1,3,53,4,54,21,22,25,26,55,15,16,17,18,60]),import.meta.url),()=>T(()=>import(`../nodes/18.-IINezS5.js`),__vite__mapDeps([61,1,3,53,4,54,21,22,25,26,55,15,16,17,18,62]),import.meta.url),()=>T(()=>import(`../nodes/19.su55K8y_.js`),__vite__mapDeps([63,1,4,15,16,17,18,64]),import.meta.url),()=>T(()=>import(`../nodes/20.qlA7fV1e.js`),__vite__mapDeps([65,1,3,53,4,9,10,15,16,17,18,66]),import.meta.url),()=>T(()=>import(`../nodes/21.BhwhdQCq.js`),__vite__mapDeps([67,1,4,15,16,17,18,68]),import.meta.url),()=>T(()=>import(`../nodes/22.BmJEWwER.js`),__vite__mapDeps([69,1,4,15,16,17,18,70]),import.meta.url),()=>T(()=>import(`../nodes/23.CAVIJEH-.js`),__vite__mapDeps([71,1,4,15,16,17,18,72]),import.meta.url),()=>T(()=>import(`../nodes/24.Cl_79R4f.js`),__vite__mapDeps([73,1,3,53,2,74,24,4,13,14,25,26,15,16,17,18,75,76,77,78]),import.meta.url),()=>T(()=>import(`../nodes/25.D41oJ8Oj.js`),__vite__mapDeps([79,1,3,53,2,74,24,4,13,14,25,26,15,16,17,18,75,80]),import.meta.url),()=>T(()=>import(`../nodes/26.BJQqW7_R.js`),__vite__mapDeps([81,1,3,53,74,24,4,13,14,25,26,15,16,17,18,75,9,10,82]),import.meta.url),()=>T(()=>import(`../chunks/B_0_YCYG.js`),[],import.meta.url),()=>T(()=>import(`../nodes/28.D64RBcfs.js`),__vite__mapDeps([83,1,74,24,4,13,14,25,26,15,16,17,18,75,76,77,9,10,84]),import.meta.url),()=>T(()=>import(`../nodes/29.yfuBeH1x.js`),__vite__mapDeps([85,1,74,24,4,13,14,25,26,15,16,17,18,75,9,10,86]),import.meta.url),()=>T(()=>import(`../nodes/30.1WUv5bh9.js`),__vite__mapDeps([87,1,4,9,10,11,12,13,14,15,16,17,18,88]),import.meta.url),()=>T(()=>import(`../chunks/KrUPZzXZ.js`),[],import.meta.url)],M=[0],N={"/":[-3],"/brain":[-4],"/brain/3d":[-5],"/brain/causal":[-6],"/brain/decisions":[6],"/brain/graph":[7],"/brain/learnings":[-9],"/brain/observations":[9],"/brain/overview":[-11],"/brain/patterns":[-12],"/brain/quality":[12],"/brain/search":[-14],"/brain/tier-stats":[-15],"/code":[-16],"/code/community/[id]":[-17],"/code/flows":[-18],"/code/symbol/[name]":[-19],"/keys":[19],"/projects":[-21],"/settings/vault":[-22],"/setup":[22],"/studio/[projectId]":[-24],"/studio/[projectId]/[sagaId]":[-25],"/tasks":[-26],"/tasks/graph":[-28],"/tasks/kanban":[-29],"/tasks/pipeline":[-30],"/tasks/sessions":[-31],"/tasks/tree/[epicId]":[-32],"/tasks/[id]":[-27]},P={handleError:(({error:e})=>{console.error(e)}),reroute:(()=>{}),transport:{}},F=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.decode])),I=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.encode])),L=!1,R=(e,t)=>F[e](t);export{R as decode,F as decoders,N as dictionary,I as encoders,L as hash,P as hooks,E as matchers,j as nodes,A as root,M as server_loads};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,d as t}from"../chunks/Df85SMwa.js";export{t as load_css,e as start};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,A as t,C as n,D as r,E as i,F as a,H as o,I as s,J as c,N as l,O as u,P as d,Q as f,T as p,U as m,X as h,Y as g,_,at as v,c as y,d as b,et as x,k as S,lt as C,nt as w,o as T,ot as E,r as D,s as O,tt as k,u as A,ut as j,v as M,w as N}from"../chunks/DGftG5oL.js";import"../chunks/B8WnZMYa.js";import{t as P}from"../chunks/
|
|
1
|
+
import{$ as e,A as t,C as n,D as r,E as i,F as a,H as o,I as s,J as c,N as l,O as u,P as d,Q as f,T as p,U as m,X as h,Y as g,_,at as v,c as y,d as b,et as x,k as S,lt as C,nt as w,o as T,ot as E,r as D,s as O,tt as k,u as A,ut as j,v as M,w as N}from"../chunks/DGftG5oL.js";import"../chunks/B8WnZMYa.js";import{t as P}from"../chunks/VKKkkMOi.js";var F=t(`<span class="chip svelte-t4k058" aria-hidden="true"> </span> <span class="trigger-name svelte-t4k058"> </span>`,1),I=t(`<span class="chip placeholder svelte-t4k058" aria-hidden="true">?</span> <span class="trigger-name muted svelte-t4k058">Select project</span>`,1),L=t(`<div class="empty-msg svelte-t4k058"> </div>`),ee=t(`<span class="active-dot svelte-t4k058" aria-label="active" title="active"></span>`),te=t(`<span class="unhealthy-dot svelte-t4k058" aria-label="unhealthy" title="unhealthy"></span>`),ne=t(`<button type="button" role="option"><span class="row-chip svelte-t4k058" aria-hidden="true"> </span> <div class="row-info svelte-t4k058"><div class="row-name-row svelte-t4k058"><span class="row-name svelte-t4k058"> </span> <!> <!></div> <span class="row-path svelte-t4k058"> </span></div> <div class="row-stats svelte-t4k058" aria-hidden="true"><span class="stat-pill svelte-t4k058"> </span> <span class="stat-pill svelte-t4k058"> </span></div></button>`),R=t(`<div class="dropdown svelte-t4k058" role="listbox" aria-label="Projects"><div class="dropdown-header svelte-t4k058"><div class="search-wrap svelte-t4k058"><svg class="search-icon svelte-t4k058" width="13" height="13" viewBox="0 0 13 13" fill="none" aria-hidden="true"><circle cx="5.5" cy="5.5" r="4" stroke="currentColor" stroke-width="1.3"></circle><path d="M8.5 8.5L11 11" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"></path></svg> <input type="text" class="search-input svelte-t4k058" placeholder="Filter projects..." autocomplete="off"/></div> <label class="toggle-label svelte-t4k058" title="Show test / scratch projects"><input type="checkbox" class="toggle-checkbox svelte-t4k058"/> <span class="toggle-text svelte-t4k058">Show test</span></label></div> <div class="project-list svelte-t4k058"><!></div></div>`),z=t(`<div class="project-selector svelte-t4k058"><button type="button" aria-haspopup="listbox"><!> <svg width="10" height="10" viewBox="0 0 10 10" fill="none" aria-hidden="true"><path d="M2 3.5L5 6.5L8 3.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></button> <!></div>`);function B(t,n){E(n,!0);let l=e(!1),p=e(``),w=e(!1),k=e(0),P=e(!1),B=e(void 0),V=e(void 0),H=/\/(tmp|test|fixture|scratch|sandbox)\b/i,U=x(()=>n.projects.find(e=>e.projectId===n.activeProjectId)??null),W=[`var(--info)`,`var(--success)`,`var(--warning)`,`var(--accent)`,`var(--priority-critical)`,`var(--edge-definition)`,`var(--edge-structural)`,`var(--edge-extends)`];function G(e){return W[(e.charCodeAt(0)||0)%W.length]??`var(--accent)`}function K(e){return(e[0]??`?`).toUpperCase()}let q=x(()=>{let e=n.projects;if(s(w)||(e=e.filter(e=>!H.test(e.projectPath))),s(p).trim()){let t=s(p).toLowerCase();e=e.filter(e=>e.name.toLowerCase().includes(t)||e.projectPath.toLowerCase().includes(t))}return e}),J=x(()=>s(q)[s(k)]??null);function Y(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function re(){f(l,!0),f(k,0),setTimeout(()=>s(V)?.focus(),0)}function X(){f(l,!1),f(p,``)}function ie(){s(l)?X():re()}async function Z(e){if(!(e===n.activeProjectId||s(P))){f(P,!0);try{(await fetch(`/api/project/switch`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({projectId:e})})).ok&&(X(),window.location.reload())}finally{f(P,!1)}}}function ae(e){if(e.key===`Escape`){X();return}e.key===`ArrowDown`?(e.preventDefault(),f(k,Math.min(s(k)+1,s(q).length-1),!0)):e.key===`ArrowUp`?(e.preventDefault(),f(k,Math.max(s(k)-1,0),!0)):e.key===`Enter`&&(e.preventDefault(),s(J)&&Z(s(J).projectId))}m(()=>{s(q),f(k,0)}),D(()=>{function e(e){s(B)&&!s(B).contains(e.target)&&X()}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)});var Q=z(),$=c(Q);let oe;var se=c($),ce=e=>{var t=F(),n=g(t),i=c(n,!0);j(n);var a=h(n,2),l=c(a,!0);j(a),o((e,t)=>{_(n,`background: ${e??``}`),r(i,t),r(l,s(U).name)},[()=>G(s(U).name),()=>K(s(U).name)]),u(e,t)},le=e=>{var t=I();C(2),u(e,t)};i(se,e=>{s(U)?e(ce):e(le,-1)});var ue=h(se,2);let de;j($);var fe=h($,2),pe=e=>{var t=R(),l=c(t),m=c(l),v=h(c(m),2);A(v),b(v,`spellcheck`,!1),T(v,e=>f(V,e),()=>s(V)),j(m);var E=h(m,2),D=c(E);A(D),C(2),j(E),j(l);var F=h(l,2),I=c(F),z=e=>{var t=L(),n=c(t,!0);j(t),o(()=>r(n,s(p)?`No projects match "${s(p)}"`:`No projects`)),u(e,t)},B=e=>{var t=S();N(g(t),19,()=>s(q),e=>e.projectId,(e,t,l)=>{let p=x(()=>s(t).projectId===n.activeProjectId),m=x(()=>s(t).healthStatus===`unhealthy`),g=x(()=>s(l)===s(k));var v=ne();let y;var S=c(v),C=c(S,!0);j(S);var w=h(S,2),T=c(w),E=c(T),D=c(E,!0);j(E);var O=h(E,2),A=e=>{u(e,ee())};i(O,e=>{s(p)&&e(A)});var N=h(O,2),F=e=>{u(e,te())};i(N,e=>{s(m)&&e(F)}),j(T);var I=h(T,2),L=c(I,!0);j(I),j(w);var R=h(w,2),z=c(R),B=c(z);j(z);var V=h(z,2),H=c(V);j(V),j(R),j(v),o((e,n,i,a)=>{y=M(v,1,`project-row svelte-t4k058`,null,y,{active:s(p),unhealthy:s(m),highlighted:s(g)}),b(v,`aria-selected`,s(p)),v.disabled=s(P),_(S,`background: ${e??``}`),r(C,n),r(D,s(t).name),r(L,s(t).projectPath),r(B,`${i??``}t`),r(H,`${a??``}s`)},[()=>G(s(t).name),()=>K(s(t).name),()=>Y(s(t).taskCount),()=>Y(s(t).nodeCount)]),d(`click`,v,()=>Z(s(t).projectId)),a(`mouseenter`,v,()=>{f(k,s(l),!0)}),u(e,v)}),u(e,t)};i(I,e=>{s(q).length===0?e(z):e(B,-1)}),j(F),j(t),d(`keydown`,v,ae),y(v,()=>s(p),e=>f(p,e)),O(D,()=>s(w),e=>f(w,e)),u(e,t)};i(fe,e=>{s(l)&&e(pe)}),j(Q),T(Q,e=>f(B,e),()=>s(B)),o(()=>{oe=M($,1,`trigger svelte-t4k058`,null,oe,{open:s(l)}),b($,`aria-expanded`,s(l)),b($,`title`,s(U)?s(U).projectPath:`Select project`),de=M(ue,0,`chevron svelte-t4k058`,null,de,{rotated:s(l)})}),d(`click`,$,ie),u(t,Q),v()}l([`click`,`keydown`]);var V=t(`<a> </a>`),H=t(`<a class="skip-link" href="#main">Skip to content</a> <div class="studio-shell svelte-12qhfyh"><header class="studio-header svelte-12qhfyh"><a href="/" class="studio-logo svelte-12qhfyh"><span class="logo-mark svelte-12qhfyh">C</span> <span class="logo-text svelte-12qhfyh">CLEO Studio</span></a> <!> <nav class="studio-nav svelte-12qhfyh" aria-label="Primary"></nav></header> <main id="main" class="studio-main svelte-12qhfyh" tabindex="-1"><!></main></div>`,1);function U(e,t){E(t,!0);let i=()=>w(P,`$page`,a),[a,l]=k(),d=x(()=>t.data.activeProjectId?`/studio/${t.data.activeProjectId}`:`/projects`),f=x(()=>[{href:`/brain`,label:`Brain`,description:`5-substrate living canvas`,exact:!0},{href:`/brain/overview`,label:`Memory`,description:`BRAIN dashboard (decisions, observations, quality)`,exact:!1},{href:`/code`,label:`Code`,description:`Code intelligence`,exact:!1},{href:`/tasks`,label:`Tasks`,description:`Task management`,exact:!1},{href:`/tasks/kanban`,label:`Board`,description:`Agent-lifecycle dispatcher board (read-only)`,exact:!1},{href:s(d),label:`Console`,description:`Saga operator console — workgraph + live dispatcher board`,exact:!1},{href:`/settings/vault`,label:`Vault`,description:`Service vault — connected services + agent grants (read-only)`,exact:!1},{href:`/projects`,label:`Admin`,description:`Project registry — scan, index, and manage projects`,exact:!1}]);var m=H(),_=h(g(m),2),y=c(_),S=h(c(y),2);B(S,{get projects(){return t.data.projects},get activeProjectId(){return t.data.activeProjectId}});var C=h(S,2);N(C,21,()=>s(f),p,(e,t)=>{var n=V();let a;var l=c(n,!0);j(n),o((e,i)=>{b(n,`href`,s(t).href),a=M(n,1,`nav-link svelte-12qhfyh`,null,a,e),b(n,`title`,s(t).description),b(n,`aria-current`,i),r(l,s(t).label)},[()=>({active:s(t).exact?i().url.pathname===s(t).href:i().url.pathname.startsWith(s(t).href)}),()=>s(t).exact?i().url.pathname===s(t).href?`page`:void 0:i().url.pathname.startsWith(s(t).href)?`page`:void 0]),u(e,n)}),j(C),j(y);var T=h(y,2);n(c(T),()=>t.children),j(T),j(_),u(e,m),v(),l()}export{U as component};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as e,D as t,H as n,J as r,O as i,X as a,Y as o,at as s,ot as c,ut as l}from"../chunks/DGftG5oL.js";import"../chunks/B8WnZMYa.js";import{t as u}from"../chunks/
|
|
1
|
+
import{A as e,D as t,H as n,J as r,O as i,X as a,Y as o,at as s,ot as c,ut as l}from"../chunks/DGftG5oL.js";import"../chunks/B8WnZMYa.js";import{t as u}from"../chunks/1fCYH2a_.js";var d=e(`<h1> </h1> <p> </p>`,1);function f(e,f){c(f,!0);var p=d(),m=o(p),h=r(m,!0);l(m);var g=a(m,2),_=r(g,!0);l(g),n(()=>{t(h,u.status),t(_,u.error?.message)}),i(e,p),s()}export{f as component};
|