@cleocode/cleo 2026.9.13 → 2026.9.15
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 +132 -30
- package/package.json +13 -13
- package/scripts/generate-command-manifest.mjs +7 -2
- package/studio-dist/client/_app/immutable/chunks/COEVVgGn.js +3 -0
- package/studio-dist/client/_app/immutable/chunks/D2NG8h_r.js +1 -0
- package/studio-dist/client/_app/immutable/chunks/{ZShyRiw-.js → DPdtI3wM.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/{EXVSuGIN.js → NUtQpztF.js} +1 -1
- package/studio-dist/client/_app/immutable/entry/{app.CithObRE.js → app.CRQDghR6.js} +2 -2
- package/studio-dist/client/_app/immutable/entry/start.6hSGg1uY.js +1 -0
- package/studio-dist/client/_app/immutable/nodes/{0.QwD7HAUM.js → 0.DhjCtLlb.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{1.DR-KFL_B.js → 1.CGvtVpZ4.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{15.B32RH9D5.js → 15.C0AVEmN4.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{16.BwHoBQIb.js → 16.idTr0Sy-.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{17.GXXVOmh-.js → 17.D9U6A-tT.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{18.C32VrsDv.js → 18.BnNnIAxc.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{20.Bbwh-Mz2.js → 20.DtrFty0x.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{24.qDEAIPAN.js → 24.BNfALjyT.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{25.DwtMruIv.js → 25.Be5vwHso.js} +2 -2
- package/studio-dist/client/_app/immutable/nodes/{26.CxxASHwH.js → 26.DT-XPIqy.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{3.rGo8dzwI.js → 3.BKRmuaPu.js} +1 -1
- package/studio-dist/client/_app/version.json +1 -1
- package/studio-dist/server/chunks/{0-vvUpof3-.js → 0-cy_QkDzp.js} +3 -3
- package/studio-dist/server/chunks/1-DfbAl5as.js +9 -0
- package/studio-dist/server/chunks/{15-CxWzHaCf.js → 15-U6I43v-2.js} +3 -3
- package/studio-dist/server/chunks/{16-CLKF0KeG.js → 16-DZakt8NC.js} +3 -3
- package/studio-dist/server/chunks/{17-C1Vvmmj3.js → 17-gxnXiGqH.js} +3 -3
- package/studio-dist/server/chunks/{18-CCxttViq.js → 18-9L7Ryi3g.js} +3 -3
- package/studio-dist/server/chunks/{20-DKGBjMvK.js → 20-DkxvN_jW.js} +3 -3
- package/studio-dist/server/chunks/{24-DWY1pfOZ.js → 24-CaBX4lxL.js} +3 -3
- package/studio-dist/server/chunks/{25-BdOqJ1J-.js → 25-Dt9ulRzg.js} +3 -3
- package/studio-dist/server/chunks/{26-C5zFKPBe.js → 26-BqUum1sI.js} +3 -3
- package/studio-dist/server/chunks/{3-B-y8X07C.js → 3-BRakm5hS.js} +3 -3
- package/studio-dist/server/chunks/{_layout.svelte-Bj7HRaDt.js → _layout.svelte-uEMRkhN8.js} +4 -4
- package/studio-dist/server/chunks/{_page.svelte-cz8ZtevC.js → _page.svelte-Blgw2ltS.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-BGjRk9Vh.js → _page.svelte-BoLHzEsv.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-DcUTbF5N.js → _page.svelte-Cis5CNOq.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-CBtMTud8.js → _page.svelte-CsVeNF46.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-BfVLJT9G.js → _page.svelte-DSrhUYWP.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-C6hWMjIN.js → _page.svelte-QIby5izo.js} +4 -4
- package/studio-dist/server/chunks/{_page.svelte-Dzv-kdWB.js → _page.svelte-ZeXhdWGu.js} +4 -4
- package/studio-dist/server/chunks/{_page.svelte-CFp4a8iI.js → _page.svelte-qgxzJx8X.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-CJrQB72Y.js → _page.svelte-wRQJ7LRt.js} +3 -3
- package/studio-dist/server/chunks/{_server.ts-DrZxODbw.js → _server.ts-CXy1HT5W.js} +2 -2
- package/studio-dist/server/chunks/{client-uq2_AZNQ.js → client-BzjeEh5T.js} +2 -2
- package/studio-dist/server/chunks/{error.svelte-DNa6i6QM.js → error.svelte-CQk9TrYg.js} +3 -3
- package/studio-dist/server/chunks/{internal-IWVt3UfN.js → internal-BjLvSp53.js} +2 -2
- package/studio-dist/server/chunks/{stores-BDSG4ZFT.js → stores-Bpyg4-QN.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/C1oPl4BI.js +0 -1
- package/studio-dist/client/_app/immutable/chunks/DQ6OyPq4.js +0 -3
- package/studio-dist/client/_app/immutable/entry/start.BNZg9MV9.js +0 -1
- package/studio-dist/server/chunks/1-pHSJDP6F.js +0 -9
package/dist/cli/index.js
CHANGED
|
@@ -2873,6 +2873,17 @@ var init_cli_category = __esm({
|
|
|
2873
2873
|
}
|
|
2874
2874
|
});
|
|
2875
2875
|
|
|
2876
|
+
// packages/contracts/src/code-symbol.ts
|
|
2877
|
+
var PARSER_WORKER_HEAP_MIN_MB, PARSER_WORKER_HEAP_MAX_MB, PARSER_WORKER_HEAP_DEFAULT_MB;
|
|
2878
|
+
var init_code_symbol = __esm({
|
|
2879
|
+
"packages/contracts/src/code-symbol.ts"() {
|
|
2880
|
+
"use strict";
|
|
2881
|
+
PARSER_WORKER_HEAP_MIN_MB = 8;
|
|
2882
|
+
PARSER_WORKER_HEAP_MAX_MB = 4096;
|
|
2883
|
+
PARSER_WORKER_HEAP_DEFAULT_MB = 128;
|
|
2884
|
+
}
|
|
2885
|
+
});
|
|
2886
|
+
|
|
2876
2887
|
// packages/contracts/src/config/manifest.ts
|
|
2877
2888
|
import { z as z4 } from "zod";
|
|
2878
2889
|
var PROJECT_INFO_MANIFEST, PROJECT_CONTEXT_MANIFEST, CLEO_CONFIG_MANIFEST, GLOBAL_CLEO_CONFIG_MANIFEST, CONFIG_MANIFEST_ENTRIES, configManifestEntrySchema;
|
|
@@ -17398,6 +17409,40 @@ var init_invariants = __esm({
|
|
|
17398
17409
|
}
|
|
17399
17410
|
});
|
|
17400
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
|
+
|
|
17401
17446
|
// packages/contracts/src/lafs.ts
|
|
17402
17447
|
function isLafsSuccess(envelope) {
|
|
17403
17448
|
return envelope.success === true;
|
|
@@ -22094,6 +22139,7 @@ __export(src_exports, {
|
|
|
22094
22139
|
INVARIANTS_REGISTRY: () => INVARIANTS_REGISTRY,
|
|
22095
22140
|
ISOLATION_ENV_KEYS: () => ISOLATION_ENV_KEYS,
|
|
22096
22141
|
ImpactSchema: () => ImpactSchema,
|
|
22142
|
+
KIND_LIFECYCLE_REQUIREMENTS: () => KIND_LIFECYCLE_REQUIREMENTS,
|
|
22097
22143
|
LEASE_IPC_MESSAGE_KINDS: () => LEASE_IPC_MESSAGE_KINDS,
|
|
22098
22144
|
LEASE_IPC_PROTOCOL_VERSION: () => LEASE_IPC_PROTOCOL_VERSION,
|
|
22099
22145
|
LEASE_IPC_REQUEST_KINDS: () => LEASE_IPC_REQUEST_KINDS,
|
|
@@ -22130,6 +22176,9 @@ __export(src_exports, {
|
|
|
22130
22176
|
OPERATION_RESULT_SCHEMAS: () => OPERATION_RESULT_SCHEMAS,
|
|
22131
22177
|
ORCHESTRATION_TIER_IDS: () => ORCHESTRATION_TIER_IDS,
|
|
22132
22178
|
OUTPUT_CONTRACTS: () => OUTPUT_CONTRACTS,
|
|
22179
|
+
PARSER_WORKER_HEAP_DEFAULT_MB: () => PARSER_WORKER_HEAP_DEFAULT_MB,
|
|
22180
|
+
PARSER_WORKER_HEAP_MAX_MB: () => PARSER_WORKER_HEAP_MAX_MB,
|
|
22181
|
+
PARSER_WORKER_HEAP_MIN_MB: () => PARSER_WORKER_HEAP_MIN_MB,
|
|
22133
22182
|
PIPELINE_STATUS_ICONS: () => PIPELINE_STATUS_ICONS,
|
|
22134
22183
|
PLACEHOLDER_SOURCES: () => PLACEHOLDER_SOURCES,
|
|
22135
22184
|
PLATFORM_TUPLE: () => PLATFORM_TUPLE,
|
|
@@ -22492,6 +22541,7 @@ var init_src2 = __esm({
|
|
|
22492
22541
|
init_branch_lock();
|
|
22493
22542
|
init_changesets();
|
|
22494
22543
|
init_cli_category();
|
|
22544
|
+
init_code_symbol();
|
|
22495
22545
|
init_manifest();
|
|
22496
22546
|
init_credentials();
|
|
22497
22547
|
init_daemon();
|
|
@@ -22512,6 +22562,7 @@ var init_src2 = __esm({
|
|
|
22512
22562
|
init_goal();
|
|
22513
22563
|
init_graph();
|
|
22514
22564
|
init_invariants();
|
|
22565
|
+
init_kind_lifecycle();
|
|
22515
22566
|
init_lafs();
|
|
22516
22567
|
init_lease_ipc();
|
|
22517
22568
|
init_catalog_schema();
|
|
@@ -65999,6 +66050,7 @@ __export(graph_exports, {
|
|
|
65999
66050
|
graphCommand: () => graphCommand2
|
|
66000
66051
|
});
|
|
66001
66052
|
import path3 from "node:path";
|
|
66053
|
+
import { pushWarning as pushWarning6 } from "@cleocode/core";
|
|
66002
66054
|
function applyJsonFlag(jsonFlag) {
|
|
66003
66055
|
if (jsonFlag) {
|
|
66004
66056
|
setFormatContext({ format: "json", source: "flag", quiet: false });
|
|
@@ -66137,12 +66189,12 @@ var init_graph3 = __esm({
|
|
|
66137
66189
|
discoverCommand = defineCommand({
|
|
66138
66190
|
meta: {
|
|
66139
66191
|
name: "discover",
|
|
66140
|
-
description: "
|
|
66192
|
+
description: "Find code relevant to a task query (searches labels, descriptions, and file paths)"
|
|
66141
66193
|
},
|
|
66142
66194
|
args: {
|
|
66143
66195
|
taskQuery: {
|
|
66144
66196
|
type: "positional",
|
|
66145
|
-
description: "
|
|
66197
|
+
description: "Task query to find relevant code for (required)",
|
|
66146
66198
|
required: true
|
|
66147
66199
|
},
|
|
66148
66200
|
method: {
|
|
@@ -66575,7 +66627,10 @@ var init_graph3 = __esm({
|
|
|
66575
66627
|
}
|
|
66576
66628
|
});
|
|
66577
66629
|
syncCommand4 = defineCommand({
|
|
66578
|
-
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
|
+
},
|
|
66579
66634
|
args: {
|
|
66580
66635
|
path: { type: "positional", description: "Project path (default: cwd)", required: false },
|
|
66581
66636
|
json: { type: "boolean", description: "Output as JSON" }
|
|
@@ -66583,6 +66638,11 @@ var init_graph3 = __esm({
|
|
|
66583
66638
|
async run({ args }) {
|
|
66584
66639
|
applyJsonFlag(args.json);
|
|
66585
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
|
+
});
|
|
66586
66646
|
await dispatchFromCli("mutate", "nexus", "sync", { path: repoPath }, { command: "graph" });
|
|
66587
66647
|
}
|
|
66588
66648
|
});
|
|
@@ -67118,7 +67178,7 @@ import {
|
|
|
67118
67178
|
CleoError as CleoError7,
|
|
67119
67179
|
getWorkflowTemplatesDir as getCoreWorkflowTemplatesDir,
|
|
67120
67180
|
initProject as initProject2,
|
|
67121
|
-
pushWarning as
|
|
67181
|
+
pushWarning as pushWarning7,
|
|
67122
67182
|
scaffoldWorkflows
|
|
67123
67183
|
} from "@cleocode/core";
|
|
67124
67184
|
import { getCredentialPool } from "@cleocode/core/llm/credential-pool.js";
|
|
@@ -67241,7 +67301,7 @@ var init_init = __esm({
|
|
|
67241
67301
|
async run({ args }) {
|
|
67242
67302
|
try {
|
|
67243
67303
|
if (args.workflows) {
|
|
67244
|
-
|
|
67304
|
+
pushWarning7({
|
|
67245
67305
|
code: "W_INIT_WORKFLOWS_DEPRECATED",
|
|
67246
67306
|
message: "[deprecated] cleo init --workflows: use `cleo templates install --kind workflow` instead. This alias will be removed in v2026.7.0.",
|
|
67247
67307
|
severity: "warn",
|
|
@@ -68611,7 +68671,7 @@ var llm_exports = {};
|
|
|
68611
68671
|
__export(llm_exports, {
|
|
68612
68672
|
llmCommand: () => llmCommand
|
|
68613
68673
|
});
|
|
68614
|
-
import { pushWarning as
|
|
68674
|
+
import { pushWarning as pushWarning8 } from "@cleocode/core";
|
|
68615
68675
|
async function getListProviders() {
|
|
68616
68676
|
const { listProviders: listProviders2 } = await import(
|
|
68617
68677
|
/* webpackIgnore: true */
|
|
@@ -68742,7 +68802,7 @@ var init_llm3 = __esm({
|
|
|
68742
68802
|
apiKey = envValue;
|
|
68743
68803
|
source = "env";
|
|
68744
68804
|
} else if (typeof a["api-key"] === "string" && a["api-key"]) {
|
|
68745
|
-
|
|
68805
|
+
pushWarning8({
|
|
68746
68806
|
code: "W_DEPRECATED_FLAG",
|
|
68747
68807
|
message: API_KEY_FLAG_DEPRECATION,
|
|
68748
68808
|
deprecated: "--api-key=<value>",
|
|
@@ -82242,6 +82302,19 @@ var show_exports = {};
|
|
|
82242
82302
|
__export(show_exports, {
|
|
82243
82303
|
showCommand: () => showCommand14
|
|
82244
82304
|
});
|
|
82305
|
+
function collectTaskIds(args) {
|
|
82306
|
+
const out = [];
|
|
82307
|
+
const push2 = (v) => {
|
|
82308
|
+
if (typeof v !== "string") return;
|
|
82309
|
+
const id = v.trim();
|
|
82310
|
+
if (id.length === 0 || id.startsWith("-")) return;
|
|
82311
|
+
if (!out.includes(id)) out.push(id);
|
|
82312
|
+
};
|
|
82313
|
+
push2(args["taskId"]);
|
|
82314
|
+
const rest = args["_"];
|
|
82315
|
+
if (Array.isArray(rest)) for (const v of rest) push2(v);
|
|
82316
|
+
return out;
|
|
82317
|
+
}
|
|
82245
82318
|
var showCommand14;
|
|
82246
82319
|
var init_show2 = __esm({
|
|
82247
82320
|
"packages/cleo/src/cli/commands/show.ts"() {
|
|
@@ -82249,10 +82322,11 @@ var init_show2 = __esm({
|
|
|
82249
82322
|
init_dist();
|
|
82250
82323
|
init_cli();
|
|
82251
82324
|
init_registry_args();
|
|
82325
|
+
init_renderers();
|
|
82252
82326
|
showCommand14 = defineCommand({
|
|
82253
82327
|
meta: {
|
|
82254
82328
|
name: "show",
|
|
82255
|
-
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)"
|
|
82329
|
+
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)"
|
|
82256
82330
|
},
|
|
82257
82331
|
args: {
|
|
82258
82332
|
...paramsToCittyArgs(getOperationParams("query", "tasks", "show")),
|
|
@@ -82274,18 +82348,42 @@ var init_show2 = __esm({
|
|
|
82274
82348
|
}
|
|
82275
82349
|
},
|
|
82276
82350
|
async run({ args }) {
|
|
82277
|
-
|
|
82278
|
-
"
|
|
82279
|
-
"
|
|
82280
|
-
"
|
|
82281
|
-
|
|
82282
|
-
|
|
82283
|
-
|
|
82284
|
-
|
|
82285
|
-
|
|
82286
|
-
|
|
82287
|
-
|
|
82351
|
+
const shared = {
|
|
82352
|
+
history: args["history"] === true,
|
|
82353
|
+
ivtrHistory: args["ivtr-history"] === true,
|
|
82354
|
+
relations: args["relations"] === true
|
|
82355
|
+
};
|
|
82356
|
+
const ids = collectTaskIds(args);
|
|
82357
|
+
if (ids.length <= 1) {
|
|
82358
|
+
await dispatchFromCli(
|
|
82359
|
+
"query",
|
|
82360
|
+
"tasks",
|
|
82361
|
+
"show",
|
|
82362
|
+
{ taskId: args["taskId"], ...shared },
|
|
82363
|
+
{ command: "show" }
|
|
82364
|
+
);
|
|
82365
|
+
return;
|
|
82366
|
+
}
|
|
82367
|
+
const tasks = [];
|
|
82368
|
+
const notFound = [];
|
|
82369
|
+
for (const taskId of ids) {
|
|
82370
|
+
const res = await dispatchRaw("query", "tasks", "show", { taskId, ...shared });
|
|
82371
|
+
if (res.success) {
|
|
82372
|
+
tasks.push(res.data);
|
|
82373
|
+
} else {
|
|
82374
|
+
notFound.push({
|
|
82375
|
+
taskId,
|
|
82376
|
+
reason: res.error?.message ?? "not found"
|
|
82377
|
+
});
|
|
82378
|
+
}
|
|
82379
|
+
}
|
|
82380
|
+
cliOutput(
|
|
82381
|
+
{ tasks, count: tasks.length, requested: ids.length, notFound },
|
|
82382
|
+
{ command: "show", operation: "tasks.show.batch" }
|
|
82288
82383
|
);
|
|
82384
|
+
if (notFound.length > 0 && (process.exitCode ?? 0) === 0) {
|
|
82385
|
+
process.exitCode = 1;
|
|
82386
|
+
}
|
|
82289
82387
|
}
|
|
82290
82388
|
});
|
|
82291
82389
|
}
|
|
@@ -85360,13 +85458,17 @@ var init_transcript = __esm({
|
|
|
85360
85458
|
const { extractTranscript } = await import("@cleocode/core/memory/transcript-extractor.js");
|
|
85361
85459
|
const { findSessionTranscriptPath, listAllTranscripts } = await import("@cleocode/core/memory/transcript-scanner.js");
|
|
85362
85460
|
const sessions2 = [];
|
|
85461
|
+
const projectsDirOverride = typeof args["projects-dir"] === "string" && args["projects-dir"].length > 0 ? args["projects-dir"] : void 0;
|
|
85363
85462
|
if (args["all-warm"]) {
|
|
85364
|
-
const allTranscripts = await listAllTranscripts({
|
|
85463
|
+
const allTranscripts = await listAllTranscripts({
|
|
85464
|
+
olderThanHours: 1,
|
|
85465
|
+
projectsDir: projectsDirOverride
|
|
85466
|
+
});
|
|
85365
85467
|
for (const t of allTranscripts) {
|
|
85366
85468
|
sessions2.push({ sessionId: t.sessionId, path: t.path });
|
|
85367
85469
|
}
|
|
85368
85470
|
} else if (args["session-id"]) {
|
|
85369
|
-
const path6 = await findSessionTranscriptPath(args["session-id"]);
|
|
85471
|
+
const path6 = await findSessionTranscriptPath(args["session-id"], projectsDirOverride);
|
|
85370
85472
|
if (!path6) {
|
|
85371
85473
|
cliError(
|
|
85372
85474
|
`Session JSONL not found for: ${args["session-id"]}`,
|
|
@@ -88451,7 +88553,7 @@ var COMMAND_MANIFEST = [
|
|
|
88451
88553
|
{
|
|
88452
88554
|
exportName: "consensusCommand",
|
|
88453
88555
|
name: "consensus",
|
|
88454
|
-
description: "Validate consensus protocol compliance (alias for ",
|
|
88556
|
+
description: "Validate consensus protocol compliance (alias for `cleo check protocol consensus`)",
|
|
88455
88557
|
load: async () => (await Promise.resolve().then(() => (init_consensus(), consensus_exports))).consensusCommand
|
|
88456
88558
|
},
|
|
88457
88559
|
{
|
|
@@ -88463,7 +88565,7 @@ var COMMAND_MANIFEST = [
|
|
|
88463
88565
|
{
|
|
88464
88566
|
exportName: "contributionCommand",
|
|
88465
88567
|
name: "contribution",
|
|
88466
|
-
description: "Validate contribution protocol compliance (alias for ",
|
|
88568
|
+
description: "Validate contribution protocol compliance (alias for `cleo check protocol contribution`)",
|
|
88467
88569
|
load: async () => (await Promise.resolve().then(() => (init_contribution(), contribution_exports))).contributionCommand
|
|
88468
88570
|
},
|
|
88469
88571
|
{
|
|
@@ -88493,13 +88595,13 @@ var COMMAND_MANIFEST = [
|
|
|
88493
88595
|
{
|
|
88494
88596
|
exportName: "decomposeCommand",
|
|
88495
88597
|
name: "decompose",
|
|
88496
|
-
description: "Move a task",
|
|
88598
|
+
description: "Move a task's text acceptance criteria onto a new child so it can hold subtasks",
|
|
88497
88599
|
load: async () => (await Promise.resolve().then(() => (init_decompose(), decompose_exports))).decomposeCommand
|
|
88498
88600
|
},
|
|
88499
88601
|
{
|
|
88500
88602
|
exportName: "decompositionCommand",
|
|
88501
88603
|
name: "decomposition",
|
|
88502
|
-
description: "Validate decomposition protocol compliance (alias for ",
|
|
88604
|
+
description: "Validate decomposition protocol compliance (alias for `cleo check protocol decomposition`)",
|
|
88503
88605
|
load: async () => (await Promise.resolve().then(() => (init_decomposition(), decomposition_exports))).decompositionCommand
|
|
88504
88606
|
},
|
|
88505
88607
|
{
|
|
@@ -88589,13 +88691,13 @@ var COMMAND_MANIFEST = [
|
|
|
88589
88691
|
{
|
|
88590
88692
|
exportName: "doctorLegacyReaperCommand",
|
|
88591
88693
|
name: "legacy-reaper",
|
|
88592
|
-
description: "Detect the legacy cleo-mcp-reaper user timer that kills processes by generic ",
|
|
88694
|
+
description: "Detect the legacy cleo-mcp-reaper user timer that kills processes by generic `MainThread` ",
|
|
88593
88695
|
load: async () => (await Promise.resolve().then(() => (init_doctor_legacy_reaper(), doctor_legacy_reaper_exports))).doctorLegacyReaperCommand
|
|
88594
88696
|
},
|
|
88595
88697
|
{
|
|
88596
88698
|
exportName: "doctorMalformedIdsCommand",
|
|
88597
88699
|
name: "malformed-ids",
|
|
88598
|
-
description: "Report task rows whose id is not a valid task identifier \u2014 rows that ",
|
|
88700
|
+
description: "Report task rows whose id is not a valid task identifier \u2014 rows that `cleo list` returns ",
|
|
88599
88701
|
load: async () => (await Promise.resolve().then(() => (init_doctor_malformed_ids(), doctor_malformed_ids_exports))).doctorMalformedIdsCommand
|
|
88600
88702
|
},
|
|
88601
88703
|
{
|
|
@@ -89027,7 +89129,7 @@ var COMMAND_MANIFEST = [
|
|
|
89027
89129
|
{
|
|
89028
89130
|
exportName: "reqCommand",
|
|
89029
89131
|
name: "req",
|
|
89030
|
-
description: "Manage REQ-ID-addressable acceptance gates on tasks (in-task gates only). For cross-task dependency edges, use ",
|
|
89132
|
+
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).",
|
|
89031
89133
|
load: async () => (await Promise.resolve().then(() => (init_req(), req_exports))).reqCommand
|
|
89032
89134
|
},
|
|
89033
89135
|
{
|
|
@@ -89117,7 +89219,7 @@ var COMMAND_MANIFEST = [
|
|
|
89117
89219
|
{
|
|
89118
89220
|
exportName: "showCommand",
|
|
89119
89221
|
name: "show",
|
|
89120
|
-
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)",
|
|
89222
|
+
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)",
|
|
89121
89223
|
load: async () => (await Promise.resolve().then(() => (init_show2(), show_exports))).showCommand
|
|
89122
89224
|
},
|
|
89123
89225
|
{
|
|
@@ -89256,7 +89358,7 @@ var COMMAND_MANIFEST = [
|
|
|
89256
89358
|
|
|
89257
89359
|
// packages/cleo/src/cli/help-renderer.ts
|
|
89258
89360
|
init_dist();
|
|
89259
|
-
import { buildCommandGroups } from "@cleocode/core/
|
|
89361
|
+
import { buildCommandGroups } from "@cleocode/core/routing/build-command-groups.js";
|
|
89260
89362
|
var noColor2 = (() => {
|
|
89261
89363
|
const env = globalThis.process?.env ?? {};
|
|
89262
89364
|
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.15",
|
|
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/
|
|
37
|
-
"@cleocode/contracts": "2026.9.
|
|
38
|
-
"@cleocode/core": "2026.9.
|
|
39
|
-
"@cleocode/
|
|
40
|
-
"@cleocode/nexus": "2026.9.
|
|
41
|
-
"@cleocode/paths": "2026.9.
|
|
42
|
-
"@cleocode/playbooks": "2026.9.
|
|
43
|
-
"@cleocode/
|
|
44
|
-
"@cleocode/
|
|
34
|
+
"@cleocode/animations": "2026.9.15",
|
|
35
|
+
"@cleocode/caamp": "2026.9.15",
|
|
36
|
+
"@cleocode/lafs": "2026.9.15",
|
|
37
|
+
"@cleocode/contracts": "2026.9.15",
|
|
38
|
+
"@cleocode/core": "2026.9.15",
|
|
39
|
+
"@cleocode/cant": "2026.9.15",
|
|
40
|
+
"@cleocode/nexus": "2026.9.15",
|
|
41
|
+
"@cleocode/paths": "2026.9.15",
|
|
42
|
+
"@cleocode/playbooks": "2026.9.15",
|
|
43
|
+
"@cleocode/worktree": "2026.9.15",
|
|
44
|
+
"@cleocode/runtime": "2026.9.15"
|
|
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.15"
|
|
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;
|
|
@@ -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_1kpmmqg?.base??``,fe=globalThis.__sveltekit_1kpmmqg?.assets??x??``,pe=`1790170255152`,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_1kpmmqg&&(globalThis.__sveltekit_1kpmmqg.query,globalThis.__sveltekit_1kpmmqg.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./COEVVgGn.js";
|
|
@@ -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"./COEVVgGn.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};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./DGftG5oL.js";import{o as e}from"./
|
|
1
|
+
import"./DGftG5oL.js";import{o as e}from"./COEVVgGn.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.DhjCtLlb.js","../chunks/DGftG5oL.js","../chunks/NUtQpztF.js","../chunks/COEVVgGn.js","../chunks/B8WnZMYa.js","../assets/0.BAKYIbXL.css","../nodes/1.CGvtVpZ4.js","../chunks/DPdtI3wM.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.BKRmuaPu.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.C0AVEmN4.js","../chunks/D2NG8h_r.js","../chunks/BOnrCZaR.js","../assets/nexus-adapter.DuSZKvuH.css","../assets/15.CdtiwMjj.css","../nodes/16.idTr0Sy-.js","../assets/16.BzOs0cg_.css","../nodes/17.D9U6A-tT.js","../assets/17.C-9c74gE.css","../nodes/18.BnNnIAxc.js","../assets/18.d18ttKnU.css","../nodes/19.su55K8y_.js","../assets/19.DQwwpjAV.css","../nodes/20.DtrFty0x.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.BNfALjyT.js","../chunks/EZwHPWle.js","../assets/tasks.BZWJL4jq.css","../chunks/C87Q3uxm.js","../assets/saga-board.XH0XIkul.css","../assets/24.BWCeO61w.css","../nodes/25.Be5vwHso.js","../assets/25.BtvG5YXz.css","../nodes/26.DT-XPIqy.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.DhjCtLlb.js`),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url),()=>T(()=>import(`../nodes/1.CGvtVpZ4.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.BKRmuaPu.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.C0AVEmN4.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.idTr0Sy-.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.D9U6A-tT.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.BnNnIAxc.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.DtrFty0x.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.BNfALjyT.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.Be5vwHso.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.DT-XPIqy.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/COEVVgGn.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/NUtQpztF.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};
|