studiograph 1.3.44-next.1 → 1.3.44-next.2
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/server/index.js +36 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/routes/insights-api.d.ts +7 -3
- package/dist/server/routes/insights-api.js +46 -21
- package/dist/server/routes/insights-api.js.map +1 -1
- package/dist/server/ws-hub.d.ts +6 -1
- package/dist/server/ws-hub.js.map +1 -1
- package/dist/services/auth-service.d.ts +11 -0
- package/dist/services/auth-service.js +38 -0
- package/dist/services/auth-service.js.map +1 -1
- package/dist/services/insights.d.ts +18 -11
- package/dist/services/insights.js +121 -77
- package/dist/services/insights.js.map +1 -1
- package/dist/web/_app/immutable/assets/3.zsEg_MDN.css +1 -0
- package/dist/web/_app/immutable/assets/{7.CObh-s2-.css → 7.5LBMlZdT.css} +1 -1
- package/dist/web/_app/immutable/chunks/{Dv65pOU4.js → 0rsp5-Up.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DTDfEpZd.js → 0wBGAod7.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Be5VhuaI.js → APIqItee.js} +1 -1
- package/dist/web/_app/immutable/chunks/{JDb8RpWX.js → B3NI-DOv.js} +1 -1
- package/dist/web/_app/immutable/chunks/BAAbylyg.js +1 -0
- package/dist/web/_app/immutable/chunks/{SJusBvJH.js → BHue2Ock.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DRJ9YW_E.js → BPXdu_FX.js} +1 -1
- package/dist/web/_app/immutable/chunks/BU2bHQbQ.js +4 -0
- package/dist/web/_app/immutable/chunks/{DYVSnKKh.js → BUcIsKRk.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BJimep0Q.js → BgBJ0u3M.js} +1 -1
- package/dist/web/_app/immutable/chunks/{P7PfXw_H.js → Bnl5ADsW.js} +1 -1
- package/dist/web/_app/immutable/chunks/Bs4ovbtO.js +2 -0
- package/dist/web/_app/immutable/chunks/{7lzM-85A.js → Bt5_mycY.js} +1 -1
- package/dist/web/_app/immutable/chunks/{D0zbd2ZV.js → By_Wtb5J.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DEyrdHQB.js → CFtRXHDP.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BA_Wro7X.js → CRnhIQbv.js} +1 -1
- package/dist/web/_app/immutable/chunks/CSzKZPD4.js +1 -0
- package/dist/web/_app/immutable/chunks/{RGHlrGBn.js → D-yNNNdf.js} +1 -1
- package/dist/web/_app/immutable/chunks/DC9z5DEo.js +1 -0
- package/dist/web/_app/immutable/chunks/{BtJ5VKKi.js → DCVmM0L5.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CdvQjHNy.js → DHtLlmE0.js} +1 -1
- package/dist/web/_app/immutable/chunks/{9QAsBMIK.js → DQ5NTKSo.js} +1 -1
- package/dist/web/_app/immutable/chunks/{B-eIKuyV.js → DQJwHeKh.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CNVuHNwC.js → DQYNi3YK.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CfuRx7rA.js → DSh-OF2y.js} +1 -1
- package/dist/web/_app/immutable/chunks/DSkxw4Ss.js +1 -0
- package/dist/web/_app/immutable/chunks/{Cwkp_c4R.js → DT3KtxWU.js} +1 -1
- package/dist/web/_app/immutable/chunks/DVx_0hnZ.js +1 -0
- package/dist/web/_app/immutable/chunks/{mkNdSDMf.js → DiWKchgv.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Dg_GUhrt.js → Diui_MO0.js} +1 -1
- package/dist/web/_app/immutable/chunks/DodWDTE5.js +1 -0
- package/dist/web/_app/immutable/chunks/{fKdE_Jx_.js → KHKAD2Ng.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BH82yShn.js → Sk0ODu4Y.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Bypyvp-Q.js → azUmHUDT.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CajNsaOw.js → b0XUoOIH.js} +2 -2
- package/dist/web/_app/immutable/chunks/{DP6MOIr2.js → lsAKkphT.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BLi1Oegj.js → vZ2iBqLE.js} +1 -1
- package/dist/web/_app/immutable/entry/app.DA5OyPOi.js +2 -0
- package/dist/web/_app/immutable/entry/start.DTjSVtws.js +1 -0
- package/dist/web/_app/immutable/nodes/0.BIvpQ3Qk.js +2 -0
- package/dist/web/_app/immutable/nodes/1.y3j9wcQE.js +1 -0
- package/dist/web/_app/immutable/nodes/{10.BqjRpXN6.js → 10.D03BZcr1.js} +1 -1
- package/dist/web/_app/immutable/nodes/2.Du0xZVQg.js +84 -0
- package/dist/web/_app/immutable/nodes/3.weQEi2lI.js +1 -0
- package/dist/web/_app/immutable/nodes/4.DJyhWznw.js +11 -0
- package/dist/web/_app/immutable/nodes/{5.pB3H4l7g.js → 5.CipwuwB3.js} +1 -1
- package/dist/web/_app/immutable/nodes/6.Daxwm3Lw.js +2 -0
- package/dist/web/_app/immutable/nodes/7.TxeJDMtw.js +2 -0
- package/dist/web/_app/immutable/nodes/{8.B5sO5Rkn.js → 8.DWNdmB4l.js} +1 -1
- package/dist/web/_app/immutable/nodes/{9.DOysjWYm.js → 9.BuTZk7Le.js} +1 -1
- package/dist/web/_app/version.json +1 -1
- package/dist/web/index.html +11 -12
- package/package.json +1 -1
- package/dist/web/_app/immutable/assets/3.CHSDCrUY.css +0 -1
- package/dist/web/_app/immutable/chunks/BZd_7gpI.js +0 -1
- package/dist/web/_app/immutable/chunks/CAEA_aBe.js +0 -1
- package/dist/web/_app/immutable/chunks/CHDa87Lu.js +0 -1
- package/dist/web/_app/immutable/chunks/D18-Aspv.js +0 -1
- package/dist/web/_app/immutable/chunks/DQ_O96iG.js +0 -1
- package/dist/web/_app/immutable/chunks/DUsnWwWN.js +0 -1
- package/dist/web/_app/immutable/chunks/DgMUDNqD.js +0 -4
- package/dist/web/_app/immutable/entry/app.FJ-QaQhu.js +0 -2
- package/dist/web/_app/immutable/entry/start.Cae6DI7N.js +0 -1
- package/dist/web/_app/immutable/nodes/0.tyq0tjYR.js +0 -2
- package/dist/web/_app/immutable/nodes/1.D-QPCIcu.js +0 -1
- package/dist/web/_app/immutable/nodes/2.CogYiW3g.js +0 -84
- package/dist/web/_app/immutable/nodes/3.CQ8SfijF.js +0 -1
- package/dist/web/_app/immutable/nodes/4.BS-4PSr6.js +0 -11
- package/dist/web/_app/immutable/nodes/6.CKD5i0Ve.js +0 -2
- package/dist/web/_app/immutable/nodes/7.au7lCUbq.js +0 -2
|
@@ -1,44 +1,45 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Insights Service
|
|
3
3
|
*
|
|
4
|
-
* Generates AI-driven insights by analyzing entities across collections
|
|
5
|
-
*
|
|
4
|
+
* Generates AI-driven insights by analyzing entities across collections,
|
|
5
|
+
* personalized by the user's home brief. Insights surface actionable
|
|
6
|
+
* patterns: risks, relationship health, opportunities, and graph quality.
|
|
7
|
+
*
|
|
8
|
+
* Adapted from feat/insights-home reference implementation.
|
|
6
9
|
*/
|
|
7
|
-
import { join } from 'path';
|
|
8
|
-
import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
|
|
9
10
|
import Anthropic from '@anthropic-ai/sdk';
|
|
10
|
-
import { resolveApiKey, resolveProvider, loadUserConfig } from '../core/user-config.js';
|
|
11
|
-
const INSIGHTS_FILE = 'insights.json';
|
|
12
|
-
/**
|
|
13
|
-
* Read cached insights from disk.
|
|
14
|
-
*/
|
|
15
|
-
export function readInsights(workspacePath) {
|
|
16
|
-
const filePath = join(workspacePath, '.studiograph', INSIGHTS_FILE);
|
|
17
|
-
if (!existsSync(filePath))
|
|
18
|
-
return null;
|
|
19
|
-
try {
|
|
20
|
-
return JSON.parse(readFileSync(filePath, 'utf-8'));
|
|
21
|
-
}
|
|
22
|
-
catch {
|
|
23
|
-
return null;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Save insights to disk.
|
|
28
|
-
*/
|
|
29
|
-
function saveInsights(workspacePath, data) {
|
|
30
|
-
const dir = join(workspacePath, '.studiograph');
|
|
31
|
-
if (!existsSync(dir))
|
|
32
|
-
mkdirSync(dir, { recursive: true });
|
|
33
|
-
writeFileSync(join(dir, INSIGHTS_FILE), JSON.stringify(data, null, 2), 'utf-8');
|
|
34
|
-
}
|
|
11
|
+
import { resolveApiKey, resolveProvider, resolveModelId, loadUserConfig } from '../core/user-config.js';
|
|
35
12
|
/**
|
|
36
13
|
* Gather entity summaries for insight generation.
|
|
37
|
-
*
|
|
14
|
+
* Includes temporal signals (due dates, staleness) for actionable analysis.
|
|
38
15
|
*/
|
|
39
16
|
function gatherEntityContext(wm, repoNames, maxEntities = 200) {
|
|
40
17
|
const lines = [];
|
|
41
18
|
let total = 0;
|
|
19
|
+
const now = new Date();
|
|
20
|
+
// Collection summaries first — gives the AI an accurate overview before entity details
|
|
21
|
+
lines.push('=== COLLECTION SUMMARIES ===');
|
|
22
|
+
for (const repoName of repoNames) {
|
|
23
|
+
try {
|
|
24
|
+
const graph = wm.getGraph(repoName);
|
|
25
|
+
const allEntities = graph.search({});
|
|
26
|
+
const typeCounts = {};
|
|
27
|
+
for (const e of allEntities) {
|
|
28
|
+
const t = e.data?.entity_type ?? e.entityType ?? 'unknown';
|
|
29
|
+
typeCounts[t] = (typeCounts[t] ?? 0) + 1;
|
|
30
|
+
}
|
|
31
|
+
const repoConfig = wm.getRepoConfig(repoName);
|
|
32
|
+
const syncSources = repoConfig?.sync ?? [];
|
|
33
|
+
const summary = Object.entries(typeCounts).map(([t, c]) => `${c} ${t}s`).join(', ');
|
|
34
|
+
lines.push(`[${repoName}] ${allEntities.length} entities: ${summary}`);
|
|
35
|
+
if (syncSources.length > 0) {
|
|
36
|
+
lines.push(` sync sources: ${syncSources.map((s) => s.source ?? 'unknown').join(', ')}`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
catch { /* skip */ }
|
|
40
|
+
}
|
|
41
|
+
lines.push('');
|
|
42
|
+
lines.push('=== ENTITY DETAILS ===');
|
|
42
43
|
for (const repoName of repoNames) {
|
|
43
44
|
try {
|
|
44
45
|
const graph = wm.getGraph(repoName);
|
|
@@ -48,31 +49,47 @@ function gatherEntityContext(wm, repoNames, maxEntities = 200) {
|
|
|
48
49
|
break;
|
|
49
50
|
const fm = entity.data;
|
|
50
51
|
const type = fm.entity_type ?? entity.entityType ?? 'unknown';
|
|
51
|
-
const title = fm.
|
|
52
|
+
const title = fm.name ?? entity.id;
|
|
52
53
|
const wikilinks = entity.document?.wikilinks ?? [];
|
|
53
54
|
const content = entity.document?.content ?? '';
|
|
54
|
-
|
|
55
|
-
const snippet = content.length > 500 ? content.slice(0, 500) + '...' : content;
|
|
55
|
+
const snippet = content.length > 300 ? content.slice(0, 300) + '...' : content;
|
|
56
56
|
lines.push(`[${repoName}/${type}/${entity.id}] ${title}`);
|
|
57
|
-
|
|
58
|
-
lines.push(` links: ${wikilinks.join(', ')}`);
|
|
59
|
-
}
|
|
60
|
-
// Include select frontmatter fields
|
|
57
|
+
// Temporal and status metadata
|
|
61
58
|
const meta = [];
|
|
62
|
-
if (fm.created_at)
|
|
63
|
-
meta.push(`created: ${fm.created_at}`);
|
|
64
|
-
if (fm.updated_at)
|
|
65
|
-
meta.push(`updated: ${fm.updated_at}`);
|
|
66
59
|
if (fm.status)
|
|
67
60
|
meta.push(`status: ${fm.status}`);
|
|
68
|
-
if (fm.
|
|
69
|
-
meta.push(`
|
|
61
|
+
if (fm.priority)
|
|
62
|
+
meta.push(`priority: ${fm.priority}`);
|
|
63
|
+
if (fm.stage)
|
|
64
|
+
meta.push(`stage: ${fm.stage}`);
|
|
65
|
+
if (fm.assignee)
|
|
66
|
+
meta.push(`assignee: ${fm.assignee}`);
|
|
67
|
+
if (fm.due_date) {
|
|
68
|
+
const dueDate = new Date(fm.due_date);
|
|
69
|
+
const daysUntil = Math.round((dueDate.getTime() - now.getTime()) / 86400000);
|
|
70
|
+
meta.push(`due: ${fm.due_date} (${daysUntil < 0 ? Math.abs(daysUntil) + 'd overdue' : daysUntil + 'd away'})`);
|
|
71
|
+
}
|
|
72
|
+
if (fm.expected_close)
|
|
73
|
+
meta.push(`expected_close: ${fm.expected_close}`);
|
|
70
74
|
if (fm.client)
|
|
71
75
|
meta.push(`client: ${fm.client}`);
|
|
72
76
|
if (fm.project)
|
|
73
77
|
meta.push(`project: ${fm.project}`);
|
|
78
|
+
if (fm.deal_value)
|
|
79
|
+
meta.push(`deal_value: ${fm.deal_value}`);
|
|
80
|
+
if (fm.attendees)
|
|
81
|
+
meta.push(`attendees: ${JSON.stringify(fm.attendees)}`);
|
|
82
|
+
if (fm.updated_at) {
|
|
83
|
+
const updated = new Date(fm.updated_at);
|
|
84
|
+
const daysSince = Math.round((now.getTime() - updated.getTime()) / 86400000);
|
|
85
|
+
if (daysSince > 14)
|
|
86
|
+
meta.push(`stale: ${daysSince}d since update`);
|
|
87
|
+
}
|
|
74
88
|
if (meta.length > 0)
|
|
75
89
|
lines.push(` ${meta.join(' | ')}`);
|
|
90
|
+
if (wikilinks.length > 0) {
|
|
91
|
+
lines.push(` links: ${wikilinks.join(', ')}`);
|
|
92
|
+
}
|
|
76
93
|
if (snippet)
|
|
77
94
|
lines.push(` content: ${snippet}`);
|
|
78
95
|
lines.push('');
|
|
@@ -85,60 +102,86 @@ function gatherEntityContext(wm, repoNames, maxEntities = 200) {
|
|
|
85
102
|
}
|
|
86
103
|
return { context: lines.join('\n'), entityCount: total };
|
|
87
104
|
}
|
|
88
|
-
|
|
105
|
+
function buildSystemPrompt(userBrief, tools) {
|
|
106
|
+
const briefSection = userBrief
|
|
107
|
+
? `\n\nThe user has described what they care about most:\n"${userBrief}"\n\nPrioritize insights that align with their focus. But also surface critical issues they might not have asked about (like overdue tasks or stalled projects).`
|
|
108
|
+
: '';
|
|
109
|
+
return `You are an insight engine for a knowledge management workspace used by creative services teams. Analyze entities (meetings, people, projects, decisions, tasks, deals, documents, etc.) and surface actionable insights.
|
|
110
|
+
|
|
111
|
+
ACCURACY IS CRITICAL. The data provided includes:
|
|
112
|
+
- Collection summaries with exact entity type counts — trust these numbers, do not guess or speculate about what exists
|
|
113
|
+
- Sync source configurations — if a collection lists a sync source, data IS flowing from it
|
|
114
|
+
- Entity details with metadata — only make claims you can back up with the data shown
|
|
89
115
|
|
|
90
|
-
Generate
|
|
91
|
-
-
|
|
92
|
-
-
|
|
93
|
-
-
|
|
94
|
-
-
|
|
116
|
+
Generate 3-7 insights. Each insight should be:
|
|
117
|
+
- ACCURATE — only state facts supported by the data provided. Never say "no X entities exist" unless the collection summaries confirm zero
|
|
118
|
+
- ACTIONABLE — the action must be something the AI agent can actually execute (see capabilities below)
|
|
119
|
+
- SPECIFIC — name the entities involved
|
|
120
|
+
- IMPORTANT — focus on things that need attention now
|
|
121
|
+
${briefSection}
|
|
95
122
|
|
|
96
123
|
Insight patterns to look for:
|
|
97
|
-
-
|
|
98
|
-
-
|
|
99
|
-
-
|
|
100
|
-
-
|
|
101
|
-
-
|
|
124
|
+
- risk: Overdue tasks, stalled projects, deadlines approaching without progress, deals aging without next steps
|
|
125
|
+
- relationship: Client engagement gaps, key people appearing across contexts, uncontacted stakeholders
|
|
126
|
+
- opportunity: Patterns across deals/projects, uncaptured practice areas, reusable knowledge
|
|
127
|
+
- quality: Isolated entities with no connections, missing data, entities that should be linked but aren't
|
|
128
|
+
- trend: Activity patterns, increasing/decreasing engagement, velocity changes
|
|
129
|
+
|
|
130
|
+
IMPORTANT — The "action" field will be sent to an AI assistant as a prompt. Think of yourself as a concierge offering to do things for the user. The action should be something you'd naturally say: "Shall I create a meeting entity for a check-in with Cooper Hewitt?" or "I can update the status of these overdue tasks — want me to?"
|
|
131
|
+
|
|
132
|
+
The assistant has access to ONLY these tools — no others:
|
|
133
|
+
${tools.length > 0 ? tools.map(t => `- ${t.name}: ${t.description}`).join('\n') : '(core workspace tools only — create/update/search/delete entities, create views, lint, find orphans)'}
|
|
134
|
+
|
|
135
|
+
CRITICAL: Only suggest actions that use the tools listed above. If a connector (like Pipedrive, Linear, Slack, etc.) is NOT in the tool list, do NOT reference it in any action. Even if entities in the workspace mention an external system, only suggest actions the assistant can actually perform with its available tools. For example, if there is no pipedrive_connector tool, never suggest "Search Pipedrive" — instead suggest workspace-level actions like "Create a deal entity" or "Search for existing deal entities."
|
|
102
136
|
|
|
103
137
|
Respond with valid JSON matching this schema:
|
|
104
138
|
{
|
|
105
139
|
"insights": [
|
|
106
140
|
{
|
|
107
|
-
"headline": "
|
|
108
|
-
"detail": "2
|
|
109
|
-
"
|
|
110
|
-
"
|
|
141
|
+
"headline": "Short, punchy headline (under 12 words)",
|
|
142
|
+
"detail": "1-2 sentence explanation — be concise, not exhaustive",
|
|
143
|
+
"urgency": "high|medium|low",
|
|
144
|
+
"actions": ["Imperative action 1", "Imperative action 2"],
|
|
145
|
+
"entities": [{"id": "entity-id", "type": "entity-type", "repo": "collection-name", "name": "display name"}],
|
|
146
|
+
"pattern": "risk|relationship|opportunity|quality|trend"
|
|
111
147
|
}
|
|
112
148
|
]
|
|
113
|
-
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
Each insight should have exactly 1 action — the single most impactful next step. The action is a short imperative sentence sent directly to the AI assistant as a prompt. Write as an instruction, not a question:
|
|
152
|
+
- Good: "Run a lint check on all Cooper Hewitt entities"
|
|
153
|
+
- Good: "Create a deal entity for the Existence next phase"
|
|
154
|
+
- Bad: "Shall I run a lint check?" (not imperative)
|
|
155
|
+
- Bad: "You should consider updating..." (not an instruction)`;
|
|
156
|
+
}
|
|
114
157
|
/**
|
|
115
|
-
* Generate insights from workspace entities.
|
|
158
|
+
* Generate insights from workspace entities, personalized by user brief.
|
|
116
159
|
*/
|
|
117
|
-
export async function generateInsights(wm,
|
|
160
|
+
export async function generateInsights(wm, repoNames, userBrief, authService, userId, workspaceConfig, tools) {
|
|
118
161
|
const { context, entityCount } = gatherEntityContext(wm, repoNames);
|
|
119
162
|
if (entityCount === 0) {
|
|
120
|
-
const empty = { insights: [],
|
|
121
|
-
|
|
163
|
+
const empty = { insights: [], generatedAt: new Date().toISOString(), entityCount: 0 };
|
|
164
|
+
authService.setCachedInsights(userId, []);
|
|
122
165
|
return empty;
|
|
123
166
|
}
|
|
124
167
|
const userConfig = loadUserConfig();
|
|
125
168
|
const apiKey = resolveApiKey(userConfig, workspaceConfig);
|
|
126
169
|
const provider = resolveProvider(userConfig, workspaceConfig);
|
|
127
170
|
if (!apiKey || provider !== 'anthropic') {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
saveInsights(workspacePath, empty);
|
|
171
|
+
const empty = { insights: [], generatedAt: new Date().toISOString(), entityCount };
|
|
172
|
+
authService.setCachedInsights(userId, []);
|
|
131
173
|
return empty;
|
|
132
174
|
}
|
|
175
|
+
const modelId = resolveModelId(userConfig, workspaceConfig);
|
|
133
176
|
const client = new Anthropic({ apiKey });
|
|
134
177
|
const response = await client.messages.create({
|
|
135
|
-
model:
|
|
136
|
-
max_tokens:
|
|
137
|
-
system:
|
|
178
|
+
model: modelId,
|
|
179
|
+
max_tokens: 3000,
|
|
180
|
+
system: buildSystemPrompt(userBrief, tools ?? []),
|
|
138
181
|
messages: [
|
|
139
182
|
{
|
|
140
183
|
role: 'user',
|
|
141
|
-
content: `Here are the entities in my workspace:\n\n${context}\n\nGenerate insights
|
|
184
|
+
content: `Here are the entities in my workspace (today is ${new Date().toISOString().split('T')[0]}):\n\n${context}\n\nGenerate actionable insights.`,
|
|
142
185
|
},
|
|
143
186
|
],
|
|
144
187
|
});
|
|
@@ -148,27 +191,28 @@ export async function generateInsights(wm, workspacePath, repoNames, workspaceCo
|
|
|
148
191
|
.join('');
|
|
149
192
|
let insights = [];
|
|
150
193
|
try {
|
|
151
|
-
// Extract JSON from response (may be wrapped in markdown code block)
|
|
152
194
|
const jsonMatch = text.match(/\{[\s\S]*\}/);
|
|
153
195
|
if (jsonMatch) {
|
|
154
196
|
const parsed = JSON.parse(jsonMatch[0]);
|
|
155
197
|
insights = (parsed.insights ?? []).map((i) => ({
|
|
156
198
|
headline: i.headline ?? '',
|
|
157
199
|
detail: i.detail ?? '',
|
|
200
|
+
urgency: (['high', 'medium', 'low'].includes(i.urgency) ? i.urgency : 'medium'),
|
|
201
|
+
actions: Array.isArray(i.actions) ? i.actions.filter((a) => typeof a === 'string') : (i.action ? [i.action] : []),
|
|
158
202
|
entities: Array.isArray(i.entities) ? i.entities : [],
|
|
159
|
-
pattern: i.pattern
|
|
203
|
+
pattern: (['risk', 'relationship', 'opportunity', 'quality', 'trend'].includes(i.pattern) ? i.pattern : 'trend'),
|
|
160
204
|
}));
|
|
161
205
|
}
|
|
162
206
|
}
|
|
163
207
|
catch {
|
|
164
208
|
console.error('[insights] Failed to parse LLM response:', text.slice(0, 200));
|
|
165
209
|
}
|
|
166
|
-
|
|
210
|
+
// Cache per-user
|
|
211
|
+
authService.setCachedInsights(userId, insights);
|
|
212
|
+
return {
|
|
167
213
|
insights,
|
|
168
|
-
|
|
169
|
-
|
|
214
|
+
generatedAt: new Date().toISOString(),
|
|
215
|
+
entityCount,
|
|
170
216
|
};
|
|
171
|
-
saveInsights(workspacePath, data);
|
|
172
|
-
return data;
|
|
173
217
|
}
|
|
174
218
|
//# sourceMappingURL=insights.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insights.js","sourceRoot":"","sources":["../../src/services/insights.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"insights.js","sourceRoot":"","sources":["../../src/services/insights.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.home.svelte-h7bcrl{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto}.home-center.svelte-h7bcrl{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;margin:0 auto;color:var(--color-text-tertiary);padding:24px;box-sizing:border-box}.home-center.svelte-h7bcrl h2:where(.svelte-h7bcrl){font-size:17px;font-weight:500;color:var(--color-text-secondary)}.onboarding.svelte-h7bcrl{gap:20px;max-width:560px;width:100%;text-align:center}.onboarding.svelte-h7bcrl h2:where(.svelte-h7bcrl){font-size:22px;font-weight:600;color:var(--color-text-primary)}.onboarding-subtitle.svelte-h7bcrl{font-size:14px;color:var(--color-text-secondary);line-height:1.5}.suggestions.svelte-h7bcrl{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.suggestion-chip.svelte-h7bcrl{padding:8px 16px;border:1px solid var(--color-border);border-radius:9999px;background:transparent;color:var(--color-text-secondary);font-family:inherit;font-size:13px;cursor:pointer;transition:border-color .15s,color .15s}.suggestion-chip.svelte-h7bcrl:hover{border-color:var(--color-accent);color:var(--color-text-primary)}.custom-brief.svelte-h7bcrl{display:flex;gap:8px;width:100%;max-width:480px}.brief-input.svelte-h7bcrl{flex:1;height:36px;padding:0 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text-primary);font-family:inherit;font-size:14px;outline:none}.brief-input.svelte-h7bcrl:focus{border-color:var(--color-accent)}.brief-input.svelte-h7bcrl::placeholder{color:var(--color-text-tertiary)}.generating.svelte-h7bcrl{display:flex;align-items:center;gap:10px;color:var(--color-text-secondary);font-size:14px}.animate-spin{animation:svelte-h7bcrl-spin 1s linear infinite}@keyframes svelte-h7bcrl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.home-insights.svelte-h7bcrl{padding:24px;max-width:1080px;margin:0 auto;width:100%}.insights-header.svelte-h7bcrl{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.insights-title.svelte-h7bcrl{display:flex;align-items:baseline;gap:10px}.insights-title.svelte-h7bcrl h2:where(.svelte-h7bcrl){font-size:17px;font-weight:600;color:var(--color-text-primary)}.insights-meta.svelte-h7bcrl{font-size:12px;color:var(--color-text-tertiary)}.insights-actions.svelte-h7bcrl{display:flex;align-items:center;gap:8px}.edit-focus-link.svelte-h7bcrl{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-family:inherit;color:var(--color-text-tertiary);background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:4px}.edit-focus-link.svelte-h7bcrl:hover{color:var(--color-text-secondary);background:var(--color-bg-hover)}.insights-grid.svelte-h7bcrl{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,320px));gap:12px}.insight-card.svelte-h7bcrl{padding:16px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg)}.insight-top.svelte-h7bcrl{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.pattern-tag.svelte-h7bcrl{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary)}.insight-headline.svelte-h7bcrl{font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:6px;line-height:1.3}.insight-detail.svelte-h7bcrl{font-size:13px;color:var(--color-text-secondary);line-height:1.5;margin-bottom:8px}.action-btn.svelte-h7bcrl{display:flex;align-items:flex-start;padding:6px 8px;margin-bottom:8px;font-family:inherit;font-size:13px;font-weight:500;color:var(--color-accent);background:transparent;border:1px solid var(--color-border);border-radius:6px;cursor:pointer;text-align:left;line-height:1.3;transition:border-color .15s,background .15s}.action-btn.svelte-h7bcrl:hover{border-color:var(--color-accent)}.insight-entities.svelte-h7bcrl{display:flex;flex-wrap:wrap;gap:4px}.entity-chip.svelte-h7bcrl{padding:2px 8px;font-size:12px;font-family:inherit;color:var(--color-text-secondary);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:4px;cursor:pointer}.entity-chip.svelte-h7bcrl:hover{border-color:var(--color-accent);color:var(--color-text-primary)}.no-insights.svelte-h7bcrl{text-align:center;padding:40px;color:var(--color-text-tertiary);font-size:14px}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.json-editor-wrap.svelte-1grruw9{width:100%;max-height:50vh;overflow-y:auto;border-radius:6px}.json-editor-wrap.svelte-1grruw9 .cm-editor{outline:none}.json-editor-wrap.svelte-1grruw9 .cm-scroller{overflow:visible!important}.settings-page.svelte-zymv0t{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.settings-header.svelte-zymv0t{height:40px;flex-shrink:0;border-bottom:1px solid var(--color-border)}.content-toolbar.svelte-zymv0t{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.content-count.svelte-zymv0t{font-size:13px;color:var(--color-text-tertiary)}.settings-content.svelte-zymv0t{flex:1;overflow-y:auto;padding:20px 40px 32px}.tab-header.svelte-zymv0t{margin-bottom:20px}.tab-title.svelte-zymv0t{font-size:17px;font-weight:600;color:var(--color-text-primary);margin:0 0 4px}.tab-description.svelte-zymv0t{font-size:14px;color:var(--color-text-tertiary);margin:0}.accordion-item{border-bottom:1px solid var(--color-border)}.accordion-item:last-child{border-bottom:none}.accordion-trigger{display:flex;align-items:center;gap:0;width:100%;padding:10px 4px;border:none;background:transparent;cursor:pointer;font-family:inherit;text-align:left}.accordion-trigger:hover{background:var(--color-bg-hover);border-radius:6px}.accordion-chevron.svelte-zymv0t{display:flex;align-items:center;justify-content:center;width:16px;height:22px;margin-right:14px;color:var(--color-text-tertiary);flex-shrink:0;transition:transform .15s ease}[data-state=open]>.accordion-trigger .accordion-chevron,.accordion-trigger[data-state=open] .accordion-chevron{transform:rotate(90deg)}.accordion-label.svelte-zymv0t{font-size:14px;font-weight:500;color:var(--color-text-primary);flex:1}.accordion-count{margin-left:auto}.accordion-content{overflow:hidden;padding:0 0 8px 34px}.accordion-content[data-state=closed]{display:none}.section-header.svelte-zymv0t{display:flex;align-items:center;height:32px;gap:0;margin-top:8px}.section-label.svelte-zymv0t{font-size:12px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;flex:1}.member-row.svelte-zymv0t{display:grid;grid-template-columns:22px 1fr 2fr 80px;align-items:center;height:44px;gap:0 14px;font-size:14px}.member-name-cell.svelte-zymv0t{display:flex;align-items:baseline;gap:0;min-width:0}.member-name.svelte-zymv0t{font-size:15px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pill-key{color:var(--color-text-tertiary)}.pill-val{color:var(--color-text-secondary)}.member-pills.svelte-zymv0t{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.member-email.svelte-zymv0t{font-size:13px;color:var(--color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-list.svelte-zymv0t>.member-row:where(.svelte-zymv0t),.accordion-content .member-row.svelte-zymv0t{border-bottom:1px solid var(--color-border)}.member-list.svelte-zymv0t>.member-row:where(.svelte-zymv0t):last-child,.accordion-content .member-row.svelte-zymv0t:last-child{border-bottom:none}.member-actions.svelte-zymv0t{display:flex;justify-content:flex-end;gap:4px}.icon-danger:hover{color:var(--color-error, #e55)!important}.confirm-row.svelte-zymv0t{display:flex;grid-column:1 / -1;background:#e5555514;border-radius:6px;padding:0 10px 0 12px}.confirm-text.svelte-zymv0t{flex:1;font-size:14px;color:var(--color-text-primary)}.dialog-fields.svelte-zymv0t{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.dialog-field.svelte-zymv0t{display:flex;flex-direction:column;gap:4px}.checkbox-list.svelte-zymv0t{display:flex;flex-direction:column;gap:2px}.checkbox-item.svelte-zymv0t{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:14px;color:var(--color-text-primary);cursor:pointer}.checkbox-item.svelte-zymv0t:hover{background:var(--color-bg-hover)}.modal-member-list.svelte-zymv0t{display:flex;flex-direction:column;gap:2px;margin:8px 0;max-height:300px;overflow-y:auto}.modal-member-row.svelte-zymv0t{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:6px;cursor:pointer}.modal-member-row.svelte-zymv0t:hover{background:var(--color-bg-hover)}.modal-member-info.svelte-zymv0t{display:flex;flex-direction:column;min-width:0}.connector-list.svelte-zymv0t{display:flex;flex-direction:column}.connector-row.svelte-zymv0t{display:flex;align-items:center;gap:14px;height:44px;border-bottom:1px solid var(--color-border);font-size:14px}.connector-row.svelte-zymv0t:last-child{border-bottom:none}.connector-section-label.svelte-zymv0t{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);margin-top:20px;margin-bottom:4px}.connector-description{font-size:14px;color:var(--color-text-secondary);margin:0 0 12px}.connector-row-actions.svelte-zymv0t{display:flex;align-items:center;gap:2px;margin-left:auto}.connector-action{margin-left:auto!important;font-size:13px!important;gap:4px!important}.connector-action.connected{color:var(--color-success, #4ade80)!important}.setup-instructions.svelte-zymv0t{display:flex;flex-direction:column;gap:16px}.setup-instructions.svelte-zymv0t p:where(.svelte-zymv0t){margin:0;font-size:14px;line-height:22px;color:var(--color-text-secondary)}.setup-instructions.svelte-zymv0t a:where(.svelte-zymv0t){color:var(--color-accent)}.setup-steps.svelte-zymv0t{display:flex;flex-direction:column;gap:16px}.setup-step.svelte-zymv0t{display:flex;gap:12px}.step-number.svelte-zymv0t{width:24px;height:24px;border-radius:50%;background:var(--color-bg-surface);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0}.env-var.svelte-zymv0t{display:block;margin-top:8px;padding:8px 12px;background:var(--color-bg-surface);border-radius:6px;font-family:var(--font-mono);font-size:13px;color:var(--color-accent)}.connector-row-actions.svelte-zymv0t .connector-action{margin-left:0!important}.connector-hint{font-size:13px;color:var(--color-text-tertiary);margin:0}.connector-form{display:flex;flex-direction:column;gap:16px;margin-top:16px}.connector-field{display:flex;flex-direction:column;gap:6px}.connector-field-hint{font-size:13px;color:var(--color-text-tertiary);margin-top:2px}.connector-docs-link{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--color-text-tertiary);text-decoration:none}.connector-docs-link:hover{color:var(--color-text-secondary)}.status-msg.svelte-zymv0t{font-size:14px;color:var(--color-error, #e55);padding:0;background:none}.loading-text.svelte-zymv0t{font-size:14px;color:var(--color-text-tertiary);padding:20px 0;text-align:center}.spinning{animation:svelte-zymv0t-spin 1s linear infinite}@keyframes svelte-zymv0t-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.about-section.svelte-zymv0t{display:flex;flex-direction:column;gap:16px}.ws-field.svelte-zymv0t{display:flex;flex-direction:column;gap:6px}.about-actions.svelte-zymv0t{display:flex;justify-content:flex-end;gap:8px}.accent-palette.svelte-zymv0t{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.accent-palette.saving.svelte-zymv0t{opacity:.5;pointer-events:none}.accent-swatch.svelte-zymv0t{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:border-color .15s,transform .15s}.accent-swatch.svelte-zymv0t:hover{transform:scale(1.15)}.accent-swatch.active.svelte-zymv0t{border-color:var(--color-text-primary)}.mcp-section.svelte-zymv0t{margin-top:32px;padding-top:24px;border-top:1px solid var(--color-border)}.mcp-header.svelte-zymv0t{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.mcp-actions.svelte-zymv0t{display:flex;gap:4px}.mcp-hint.svelte-zymv0t{font-size:14px;color:var(--color-text-tertiary);margin:0 0 8px}.mcp-config-textarea{font-family:var(--font-mono, ui-monospace, monospace)!important;font-size:13px!important}
|
|
1
|
+
.json-editor-wrap.svelte-1grruw9{width:100%;max-height:50vh;overflow-y:auto;border-radius:6px}.json-editor-wrap.svelte-1grruw9 .cm-editor{outline:none}.json-editor-wrap.svelte-1grruw9 .cm-scroller{overflow:visible!important}.settings-page.svelte-zymv0t{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.settings-header.svelte-zymv0t{height:40px;flex-shrink:0;border-bottom:1px solid var(--color-border)}.content-toolbar.svelte-zymv0t{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.content-count.svelte-zymv0t{font-size:13px;color:var(--color-text-tertiary)}.settings-content.svelte-zymv0t{flex:1;overflow-y:auto;padding:20px 40px 32px}.tab-header.svelte-zymv0t{margin-bottom:20px}.tab-title.svelte-zymv0t{font-size:17px;font-weight:600;color:var(--color-text-primary);margin:0 0 4px}.tab-description.svelte-zymv0t{font-size:14px;color:var(--color-text-tertiary);margin:0}.accordion-item{border-bottom:1px solid var(--color-border)}.accordion-item:last-child{border-bottom:none}.accordion-trigger{display:flex;align-items:center;gap:0;width:100%;padding:10px 4px;border:none;background:transparent;cursor:pointer;font-family:inherit;text-align:left}.accordion-trigger:hover{background:var(--color-bg-hover);border-radius:6px}.accordion-chevron.svelte-zymv0t{display:flex;align-items:center;justify-content:center;width:16px;height:22px;margin-right:14px;color:var(--color-text-tertiary);flex-shrink:0;transition:transform .15s ease}[data-state=open]>.accordion-trigger .accordion-chevron,.accordion-trigger[data-state=open] .accordion-chevron{transform:rotate(90deg)}.accordion-label.svelte-zymv0t{font-size:14px;font-weight:500;color:var(--color-text-primary);flex:1}.accordion-count{margin-left:auto}.accordion-content{overflow:hidden;padding:0 0 8px 34px}.accordion-content[data-state=closed]{display:none}.section-header.svelte-zymv0t{display:flex;align-items:center;height:32px;gap:0;margin-top:8px}.section-label.svelte-zymv0t{font-size:12px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;flex:1}.member-row.svelte-zymv0t{display:grid;grid-template-columns:22px 1fr 2fr 80px;align-items:center;height:44px;gap:0 14px;font-size:14px}.member-name-cell.svelte-zymv0t{display:flex;align-items:baseline;gap:0;min-width:0}.member-name.svelte-zymv0t{font-size:15px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pill-key{color:var(--color-text-tertiary)}.pill-val{color:var(--color-text-secondary)}.member-pills.svelte-zymv0t{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.member-email.svelte-zymv0t{font-size:13px;color:var(--color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-list.svelte-zymv0t>.member-row:where(.svelte-zymv0t),.accordion-content .member-row.svelte-zymv0t{border-bottom:1px solid var(--color-border)}.member-list.svelte-zymv0t>.member-row:where(.svelte-zymv0t):last-child,.accordion-content .member-row.svelte-zymv0t:last-child{border-bottom:none}.member-actions.svelte-zymv0t{display:flex;justify-content:flex-end;gap:4px}.icon-danger:hover{color:var(--color-error, #e55)!important}.confirm-row.svelte-zymv0t{display:flex;grid-column:1 / -1;background:#e5555514;border-radius:6px;padding:0 10px 0 12px}.confirm-text.svelte-zymv0t{flex:1;font-size:14px;color:var(--color-text-primary)}.dialog-fields.svelte-zymv0t{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.dialog-field.svelte-zymv0t{display:flex;flex-direction:column;gap:4px}.checkbox-list.svelte-zymv0t{display:flex;flex-direction:column;gap:2px}.checkbox-item.svelte-zymv0t{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:14px;color:var(--color-text-primary);cursor:pointer}.checkbox-item.svelte-zymv0t:hover{background:var(--color-bg-hover)}.modal-member-list.svelte-zymv0t{display:flex;flex-direction:column;gap:2px;margin:8px 0;max-height:300px;overflow-y:auto}.modal-member-row.svelte-zymv0t{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:6px;cursor:pointer}.modal-member-row.svelte-zymv0t:hover{background:var(--color-bg-hover)}.modal-member-info.svelte-zymv0t{display:flex;flex-direction:column;min-width:0}.connector-list.svelte-zymv0t{display:flex;flex-direction:column}.connector-row.svelte-zymv0t{display:flex;align-items:center;gap:14px;height:44px;border-bottom:1px solid var(--color-border);font-size:14px}.connector-row.svelte-zymv0t:last-child{border-bottom:none}.connector-section-label.svelte-zymv0t{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);margin-top:20px;margin-bottom:4px}.connector-description{font-size:14px;color:var(--color-text-secondary);margin:0 0 12px}.connector-row-actions.svelte-zymv0t{display:flex;align-items:center;gap:2px;margin-left:auto}.connector-action{margin-left:auto!important;font-size:13px!important;gap:4px!important}.connector-action.connected{color:var(--color-success, #4ade80)!important}.setup-instructions.svelte-zymv0t{display:flex;flex-direction:column;gap:16px}.setup-instructions.svelte-zymv0t p:where(.svelte-zymv0t){margin:0;font-size:14px;line-height:22px;color:var(--color-text-secondary)}.setup-instructions.svelte-zymv0t a:where(.svelte-zymv0t){color:var(--color-accent)}.setup-steps.svelte-zymv0t{display:flex;flex-direction:column;gap:16px}.setup-step.svelte-zymv0t{display:flex;gap:12px}.step-number.svelte-zymv0t{width:24px;height:24px;border-radius:50%;background:var(--color-bg-surface);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0}.env-var.svelte-zymv0t{display:block;margin-top:8px;padding:8px 12px;background:var(--color-bg-surface);border-radius:6px;font-family:var(--font-mono);font-size:13px;color:var(--color-accent)}.connector-row-actions.svelte-zymv0t .connector-action{margin-left:0!important}.connector-hint{font-size:13px;color:var(--color-text-tertiary);margin:0}.connector-form{display:flex;flex-direction:column;gap:16px;margin-top:16px}.connector-field{display:flex;flex-direction:column;gap:6px}.connector-field-hint{font-size:13px;color:var(--color-text-tertiary);margin-top:2px}.connector-docs-link{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--color-text-tertiary);text-decoration:none}.connector-docs-link:hover{color:var(--color-text-secondary)}.status-msg.svelte-zymv0t{font-size:14px;color:var(--color-error, #e55);padding:0;background:none}.loading-text.svelte-zymv0t{font-size:14px;color:var(--color-text-tertiary);padding:20px 0;text-align:center}.spinning{animation:svelte-zymv0t-spin 1s linear infinite}@keyframes svelte-zymv0t-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.about-section.svelte-zymv0t{display:flex;flex-direction:column;gap:16px}.ws-field.svelte-zymv0t{display:flex;flex-direction:column;gap:6px}.field-help.svelte-zymv0t{font-size:13px;color:var(--color-text-tertiary);line-height:1.4}.about-actions.svelte-zymv0t{display:flex;justify-content:flex-end;gap:8px}.accent-palette.svelte-zymv0t{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.accent-palette.saving.svelte-zymv0t{opacity:.5;pointer-events:none}.accent-swatch.svelte-zymv0t{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:border-color .15s,transform .15s}.accent-swatch.svelte-zymv0t:hover{transform:scale(1.15)}.accent-swatch.active.svelte-zymv0t{border-color:var(--color-text-primary)}.mcp-section.svelte-zymv0t{margin-top:32px;padding-top:24px;border-top:1px solid var(--color-border)}.mcp-header.svelte-zymv0t{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.mcp-actions.svelte-zymv0t{display:flex;gap:4px}.mcp-hint.svelte-zymv0t{font-size:14px;color:var(--color-text-tertiary);margin:0 0 8px}.mcp-config-textarea{font-family:var(--font-mono, ui-monospace, monospace)!important;font-size:13px!important}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as K,a as u,p as oe,b as q,s as ue,f as Ae,t as ve}from"./CajNsaOw.js";import{p as $,a0 as w,ae as X,b as ee,g as l,c as k,r as T,ac as E,e as Re,f as De,s as be,l as Oe,d as ye,a as ke,n as ce,m as Ce,t as fe,a1 as Pe}from"./CfuRx7rA.js";import{s as I,a as N}from"./BA_Wro7X.js";import{i as Y}from"./Cwkp_c4R.js";import{p as r,r as ae,s as pe,l as Se}from"./RGHlrGBn.js";import{n as D,M as Te,b as h,F as Ke,c as se,a as Le,m as Q,d as Ue,e as Ee,P as Ie,f as xe,i as He,g as Ne,S as je,h as ge,j as ze,k as Be,l as Ve,o as Ze,D as We,p as Ye}from"./CNVuHNwC.js";import{r as Me}from"./D18-Aspv.js";import{i as qe}from"./BLi1Oegj.js";import{c as re}from"./BtJ5VKKi.js";import{A as Ge,a as Je,b as Qe,c as Xe,d as $e,e as et,f as tt,g as rt}from"./SJusBvJH.js";import{a as Fe}from"./9QAsBMIK.js";function nt(v,e){$(e,!0);let c=r(e,"open",15,!1),y=r(e,"onOpenChange",3,D),m=r(e,"onOpenChangeComplete",3,D);Te.create({open:h(()=>c(),f=>{c(f),y()?.(f)}),onOpenChangeComplete:h(()=>m())}),Ke(v,{children:(f,F)=>{var P=K(),g=w(P);I(g,()=>e.children??X),u(f,P)},$$slots:{default:!0}}),ee()}var ot=q("<div><!></div>");function at(v,e){const c=oe();$(e,!0);let y=r(e,"ref",15,null),m=r(e,"id",19,()=>se(c)),f=r(e,"disabled",3,!1),F=r(e,"onSelect",3,D),P=r(e,"closeOnSelect",3,!0),g=ae(e,["$$slots","$$events","$$legacy","child","children","ref","id","disabled","onSelect","closeOnSelect"]);const C=Le.create({id:h(()=>m()),disabled:h(()=>f()),onSelect:h(()=>F()),ref:h(()=>y(),n=>y(n)),closeOnSelect:h(()=>P())}),p=E(()=>Q(g,C.props));var A=K(),i=w(A);{var t=n=>{var d=K(),o=w(d);I(o,()=>e.child,()=>({props:l(p)})),u(n,d)},a=n=>{var d=ot();N(d,()=>({...l(p)}));var o=k(d);I(o,()=>e.children??X),T(d),u(n,d)};Y(i,n=>{e.child?n(t):n(a,!1)})}u(v,A),ee()}var st=q("<div><!></div>");function lt(v,e){const c=oe();$(e,!0);let y=r(e,"ref",15,null),m=r(e,"id",19,()=>se(c)),f=ae(e,["$$slots","$$events","$$legacy","ref","id","child","children"]);const F=Ue.create({id:h(()=>m()),ref:h(()=>y(),i=>y(i))}),P=E(()=>Q(f,F.props));var g=K(),C=w(g);{var p=i=>{var t=K(),a=w(t);I(a,()=>e.child,()=>({props:l(P)})),u(i,t)},A=i=>{var t=st();N(t,()=>({...l(P)}));var a=k(t);I(a,()=>e.children??X),T(t),u(i,t)};Y(C,i=>{e.child?i(p):i(A,!1)})}u(v,g),ee()}var it=q("<div><div><!></div></div>"),dt=q("<div><div><!></div></div>");function ut(v,e){const c=oe();$(e,!0);let y=r(e,"id",19,()=>se(c)),m=r(e,"ref",15,null),f=r(e,"loop",3,!0),F=r(e,"onInteractOutside",3,D),P=r(e,"forceMount",3,!1),g=r(e,"onEscapeKeydown",3,D),C=r(e,"interactOutsideBehavior",3,"defer-otherwise-close"),p=r(e,"escapeKeydownBehavior",3,"defer-otherwise-close"),A=r(e,"onOpenAutoFocus",3,D),i=r(e,"onCloseAutoFocus",3,D),t=r(e,"onFocusOutside",3,D),a=r(e,"side",3,"right"),n=r(e,"trapFocus",3,!1),d=ae(e,["$$slots","$$events","$$legacy","id","ref","children","child","loop","onInteractOutside","forceMount","onEscapeKeydown","interactOutsideBehavior","escapeKeydownBehavior","onOpenAutoFocus","onCloseAutoFocus","onFocusOutside","side","trapFocus","style"]);const o=Ee.create({id:h(()=>y()),loop:h(()=>f()),ref:h(()=>m(),s=>m(s)),isSub:!0,onCloseAutoFocus:h(()=>J)});function M(s){const S=s.currentTarget.contains(s.target),_=je[o.parentMenu.root.opts.dir.current].includes(s.key);S&&_&&(o.parentMenu.onClose(),o.parentMenu.triggerNode?.focus(),s.preventDefault())}const j=E(()=>o.parentMenu.root.getBitsAttr("sub-content")),b=E(()=>Q(d,o.props,{side:a(),onkeydown:M,[l(j)]:""}));function G(s){A()(s),!s.defaultPrevented&&(s.preventDefault(),o.parentMenu.root.isUsingKeyboard&&o.parentMenu.contentNode&&Ne.dispatch(o.parentMenu.contentNode))}function J(s){i()(s),!s.defaultPrevented&&s.preventDefault()}function z(s){F()(s),!s.defaultPrevented&&o.parentMenu.onClose()}function te(s){g()(s),!s.defaultPrevented&&o.parentMenu.onClose()}function B(s){t()(s),!s.defaultPrevented&&He(s.target)&&s.target.id!==o.parentMenu.triggerNode?.id&&o.parentMenu.onClose()}var R=K(),V=w(R);{var L=s=>{Ie(s,pe(()=>l(b),{get ref(){return o.opts.ref},get interactOutsideBehavior(){return C()},get escapeKeydownBehavior(){return p()},onOpenAutoFocus:G,get enabled(){return o.parentMenu.opts.open.current},onInteractOutside:z,onEscapeKeydown:te,onFocusOutside:B,preventScroll:!1,get loop(){return f()},get trapFocus(){return n()},get shouldRender(){return o.shouldRender},popper:(_,O)=>{let Z=()=>O?.().props,le=()=>O?.().wrapperProps;const ie=E(()=>Q(Z(),l(b),{style:ge("menu")},{style:e.style}));var de=K(),_e=w(de);{var he=H=>{var x=K(),W=w(x);{let ne=E(()=>({props:l(ie),wrapperProps:le(),...o.snippetProps}));I(W,()=>e.child,()=>l(ne))}u(H,x)},me=H=>{var x=it();N(x,()=>({...le()}));var W=k(x);N(W,()=>({...l(ie)}));var ne=k(W);I(ne,()=>e.children??X),T(W),T(x),u(H,x)};Y(_e,H=>{e.child?H(he):H(me,!1)})}u(_,de)},$$slots:{popper:!0}}))},U=s=>{xe(s,pe(()=>l(b),{get ref(){return o.opts.ref},get interactOutsideBehavior(){return C()},get escapeKeydownBehavior(){return p()},onCloseAutoFocus:J,onOpenAutoFocus:G,get open(){return o.parentMenu.opts.open.current},onInteractOutside:z,onEscapeKeydown:te,onFocusOutside:B,preventScroll:!1,get loop(){return f()},get trapFocus(){return n()},get shouldRender(){return o.shouldRender},popper:(_,O)=>{let Z=()=>O?.().props,le=()=>O?.().wrapperProps;const ie=E(()=>Q(Z(),l(b),{style:ge("menu")},{style:e.style}));var de=K(),_e=w(de);{var he=H=>{var x=K(),W=w(x);{let ne=E(()=>({props:l(ie),wrapperProps:le(),...o.snippetProps}));I(W,()=>e.child,()=>l(ne))}u(H,x)},me=H=>{var x=dt();N(x,()=>({...le()}));var W=k(x);N(W,()=>({...l(ie)}));var ne=k(W);I(ne,()=>e.children??X),T(W),T(x),u(H,x)};Y(_e,H=>{e.child?H(he):H(me,!1)})}u(_,de)},$$slots:{popper:!0}}))};Y(V,s=>{P()?s(L):P()||s(U,1)})}u(v,R),ee()}var ct=q("<div><!></div>");function ft(v,e){const c=oe();$(e,!0);let y=r(e,"id",19,()=>se(c)),m=r(e,"disabled",3,!1),f=r(e,"ref",15,null),F=r(e,"onSelect",3,D),P=r(e,"openDelay",3,100),g=ae(e,["$$slots","$$events","$$legacy","id","disabled","ref","children","child","onSelect","openDelay"]);const C=ze.create({disabled:h(()=>m()),onSelect:h(()=>F()),id:h(()=>y()),ref:h(()=>f(),A=>f(A)),openDelay:h(()=>P())}),p=E(()=>Q(g,C.props));Be(v,{get id(){return y()},get ref(){return C.opts.ref},children:(A,i)=>{var t=K(),a=w(t);{var n=o=>{var M=K(),j=w(M);I(j,()=>e.child,()=>({props:l(p)})),u(o,M)},d=o=>{var M=ct();N(M,()=>({...l(p)}));var j=k(M);I(j,()=>e.children??X),T(M),u(o,M)};Y(a,o=>{e.child?o(n):o(d,!1)})}u(A,t)},$$slots:{default:!0}}),ee()}function vt(v,e){$(e,!0);let c=r(e,"open",15,!1),y=r(e,"dir",3,"ltr"),m=r(e,"onOpenChange",3,D),f=r(e,"onOpenChangeComplete",3,D),F=r(e,"_internal_variant",3,"dropdown-menu");const P=Ve.create({variant:h(()=>F()),dir:h(()=>y()),onClose:()=>{c(!1),m()(!1)}});Ze.create({open:h(()=>c(),g=>{c(g),m()(g)}),onOpenChangeComplete:h(()=>f())},P),Ke(v,{children:(g,C)=>{var p=K(),A=w(p);I(A,()=>e.children??X),u(g,p)},$$slots:{default:!0}}),ee()}var pt=q("<div><div><!></div></div>"),gt=q("<div><div><!></div></div>");function _t(v,e){const c=oe();$(e,!0);let y=r(e,"id",19,()=>se(c)),m=r(e,"ref",15,null),f=r(e,"loop",3,!0),F=r(e,"onInteractOutside",3,D),P=r(e,"onEscapeKeydown",3,D),g=r(e,"onCloseAutoFocus",3,D),C=r(e,"forceMount",3,!1),p=r(e,"trapFocus",3,!1),A=ae(e,["$$slots","$$events","$$legacy","id","child","children","ref","loop","onInteractOutside","onEscapeKeydown","onCloseAutoFocus","forceMount","trapFocus","style"]);const i=Ee.create({id:h(()=>y()),loop:h(()=>f()),ref:h(()=>m(),b=>m(b)),onCloseAutoFocus:h(()=>g())}),t=E(()=>Q(A,i.props));function a(b){if(i.handleInteractOutside(b),!b.defaultPrevented&&(F()(b),!b.defaultPrevented)){if(b.target&&b.target instanceof Element){const G=`[${i.parentMenu.root.getBitsAttr("sub-content")}]`;if(b.target.closest(G))return}i.parentMenu.onClose()}}function n(b){P()(b),!b.defaultPrevented&&i.parentMenu.onClose()}var d=K(),o=w(d);{var M=b=>{Ie(b,pe(()=>l(t),()=>i.popperProps,{get ref(){return i.opts.ref},get enabled(){return i.parentMenu.opts.open.current},onInteractOutside:a,onEscapeKeydown:n,get trapFocus(){return p()},get loop(){return f()},forceMount:!0,get id(){return y()},get shouldRender(){return i.shouldRender},popper:(J,z)=>{let te=()=>z?.().props,B=()=>z?.().wrapperProps;const R=E(()=>Q(te(),{style:ge("dropdown-menu")},{style:e.style}));var V=K(),L=w(V);{var U=S=>{var _=K(),O=w(_);{let Z=E(()=>({props:l(R),wrapperProps:B(),...i.snippetProps}));I(O,()=>e.child,()=>l(Z))}u(S,_)},s=S=>{var _=pt();N(_,()=>({...B()}));var O=k(_);N(O,()=>({...l(R)}));var Z=k(O);I(Z,()=>e.children??X),T(O),T(_),u(S,_)};Y(L,S=>{e.child?S(U):S(s,!1)})}u(J,V)},$$slots:{popper:!0}}))},j=b=>{xe(b,pe(()=>l(t),()=>i.popperProps,{get ref(){return i.opts.ref},get open(){return i.parentMenu.opts.open.current},onInteractOutside:a,onEscapeKeydown:n,get trapFocus(){return p()},get loop(){return f()},forceMount:!1,get id(){return y()},get shouldRender(){return i.shouldRender},popper:(J,z)=>{let te=()=>z?.().props,B=()=>z?.().wrapperProps;const R=E(()=>Q(te(),{style:ge("dropdown-menu")},{style:e.style}));var V=K(),L=w(V);{var U=S=>{var _=K(),O=w(_);{let Z=E(()=>({props:l(R),wrapperProps:B(),...i.snippetProps}));I(O,()=>e.child,()=>l(Z))}u(S,_)},s=S=>{var _=gt();N(_,()=>({...B()}));var O=k(_);N(O,()=>({...l(R)}));var Z=k(O);I(Z,()=>e.children??X),T(O),T(_),u(S,_)};Y(L,S=>{e.child?S(U):S(s,!1)})}u(J,V)},$$slots:{popper:!0}}))};Y(o,b=>{C()?b(M):C()||b(j,1)})}u(v,d),ee()}var ht=q("<button><!></button>");function mt(v,e){const c=oe();$(e,!0);let y=r(e,"id",19,()=>se(c)),m=r(e,"ref",15,null),f=r(e,"disabled",3,!1),F=r(e,"type",3,"button"),P=ae(e,["$$slots","$$events","$$legacy","id","ref","child","children","disabled","type"]);const g=We.create({id:h(()=>y()),disabled:h(()=>f()??!1),ref:h(()=>m(),p=>m(p))}),C=E(()=>Q(P,g.props,{type:F()}));Be(v,{get id(){return y()},get ref(){return g.opts.ref},children:(p,A)=>{var i=K(),t=w(i);{var a=d=>{var o=K(),M=w(o);I(M,()=>e.child,()=>({props:l(C)})),u(d,o)},n=d=>{var o=ht();N(o,()=>({...l(C)}));var M=k(o);I(M,()=>e.children??X),T(o),u(d,o)};Y(t,d=>{e.child?d(a):d(n,!1)})}u(p,i)},$$slots:{default:!0}}),ee()}const kt=vt,Tt=mt,Lt=Ye,Ut=_t,Ht=at,Nt=lt,jt=nt,zt=ft,Vt=ut;function yt(){let v=Re(De({})),e=null,c=null;function y(t,a,n){c&&(clearInterval(c),c=null),e=`${t}/${a}/${n}`,f("enter",t,a,n),c=setInterval(()=>{e&&f("heartbeat",t,a,n)},3e4)}function m(){if(c&&(clearInterval(c),c=null),e){const[t,a,n]=e.split("/");t&&a&&n&&f("leave",t,a,n),e=null}}function f(t,a,n,d){Me.send({type:"presence",action:t,repo:a,entityType:n,entityId:d})}function F(t){const a=`${t.repo}/${t.entityType}/${t.entityId}`,n=l(v)[a]??[];if(t.action==="leave")l(v)[a]=n.filter(d=>d.id!==t.user.id);else{const d=n.findIndex(o=>o.id===t.user.id);d>=0?(n[d]=t.user,l(v)[a]=[...n]):l(v)[a]=[...n,t.user]}}function P(){if(be(v,{},!0),!e)return;const[t,a,n]=e.split("/");t&&a&&n&&f("enter",t,a,n)}function g(t,a,n,d){const o=`${t}/${a}/${n}`,M=l(v)[o]??[];return d?M.filter(j=>j.id!==d):M}function C(t,a){const n=new Map;for(const[d,o]of Object.entries(l(v)))if(d.startsWith(t))for(const M of o)(!a||M.id!==a)&&n.set(M.id,M);return[...n.values()]}function p(t,a){return C(`${t}/`,a)}function A(t){const a=new Map;for(const n of Object.values(l(v)))for(const d of n)(!t||d.id!==t)&&a.set(d.id,d);return[...a.values()]}const i=E(()=>{const t=new Map;for(const a of Object.values(l(v)))for(const n of a)t.set(n.id,n);return[...t.values()]});return{enter:y,leave:m,handlePresenceEvent:F,resetAndResend:P,getPresence:g,getPresenceByPrefix:C,getRepoPresence:p,getAllUsers:A,get allUsers(){return l(i)}}}const we=yt();Me.setPresenceHandler(v=>we.handlePresenceEvent(v));Me.addConnectHandler(()=>we.resetAndResend());typeof window<"u"&&window.addEventListener("beforeunload",()=>we.leave());var Pt=Ae("<title> </title>"),bt=Ae('<svg><!><path d="M25,12H20v2h5a1.0008,1.0008,0,0,1,1,1v2H22a3.0033,3.0033,0,0,0-3,3v1a3.0033,3.0033,0,0,0,3,3h6V15A3.0033,3.0033,0,0,0,25,12ZM22,22a1.0008,1.0008,0,0,1-1-1V20a1.0008,1.0008,0,0,1,1-1h4v3Z"></path><path d="M16,24h2L12,7H10L4,24H6l1.6936-5h6.6135ZM8.3711,17l2.4966-7.3711.2668.0005L13.63,17Z"></path></svg>');function Zt(v,e){const c=Se(e,["children","$$slots","$$events","$$legacy"]),y=Se(c,["size","title"]);$(e,!1);const m=Ce(),f=Ce();let F=r(e,"size",8,16),P=r(e,"title",8,void 0);Oe(()=>(ye(c),ye(P())),()=>{be(m,c["aria-label"]||c["aria-labelledby"]||P())}),Oe(()=>(l(m),ye(c)),()=>{be(f,{"aria-hidden":l(m)?void 0:!0,role:l(m)?"img":void 0,focusable:Number(c.tabindex)===0?!0:void 0})}),ke(),qe();var g=bt();N(g,()=>({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",preserveAspectRatio:"xMidYMid meet",width:F(),height:F(),...l(f),...y}));var C=k(g);{var p=A=>{var i=Pt(),t=k(i,!0);T(i),fe(()=>ue(t,P())),u(A,i)};Y(C,A=>{P()&&A(p)})}ce(2),T(g),u(v,g),ee()}var Mt=q("<!> <!>",1),wt=q("<!> <!>",1),Ot=q("<!> <!>",1);function Wt(v,e){$(e,!0);let c=r(e,"open",15),y=r(e,"confirmLabel",3,"Confirm"),m=r(e,"cancelLabel",3,"Cancel"),f=r(e,"destructive",3,!1);var F=K(),P=w(F);re(P,()=>rt,(g,C)=>{C(g,{onOpenChange:p=>{p||e.oncancel()},get open(){return c()},set open(p){c(p)},children:(p,A)=>{var i=K(),t=w(i);re(t,()=>Ge,(a,n)=>{n(a,{children:(d,o)=>{var M=Ot(),j=w(M);re(j,()=>Je,(G,J)=>{J(G,{children:(z,te)=>{var B=Mt(),R=w(B);re(R,()=>Qe,(L,U)=>{U(L,{children:(s,S)=>{ce();var _=ve();fe(()=>ue(_,e.title)),u(s,_)},$$slots:{default:!0}})});var V=Pe(R,2);re(V,()=>Xe,(L,U)=>{U(L,{children:(s,S)=>{ce();var _=ve();fe(()=>ue(_,e.message)),u(s,_)},$$slots:{default:!0}})}),u(z,B)},$$slots:{default:!0}})});var b=Pe(j,2);re(b,()=>$e,(G,J)=>{J(G,{children:(z,te)=>{var B=wt(),R=w(B);{let L=E(()=>Fe({variant:"ghost"}));re(R,()=>et,(U,s)=>{s(U,{get class(){return l(L)},get onclick(){return e.oncancel},children:(S,_)=>{ce();var O=ve();fe(()=>ue(O,m())),u(S,O)},$$slots:{default:!0}})})}var V=Pe(R,2);{let L=E(()=>Fe({variant:f()?"destructive":"accent"}));re(V,()=>tt,(U,s)=>{s(U,{get class(){return l(L)},get onclick(){return e.onconfirm},children:(S,_)=>{ce();var O=ve();fe(()=>ue(O,y())),u(S,O)},$$slots:{default:!0}})})}u(z,B)},$$slots:{default:!0}})}),u(d,M)},$$slots:{default:!0}})}),u(p,i)},$$slots:{default:!0}})}),u(v,F),ee()}export{Ut as C,Ht as I,Lt as P,kt as R,Nt as S,Tt as T,Zt as a,Wt as b,jt as c,zt as d,Vt as e,we as p};
|
|
1
|
+
import{c as K,a as u,p as oe,b as q,s as ue,f as Ae,t as ve}from"./b0XUoOIH.js";import{p as $,a0 as w,ae as X,b as ee,g as l,c as k,r as T,a4 as E,e as Re,f as De,s as be,l as Oe,d as ye,a as ke,n as ce,m as Ce,t as fe,a3 as Pe}from"./DSh-OF2y.js";import{s as I,a as N}from"./CRnhIQbv.js";import{i as Y}from"./DT3KtxWU.js";import{p as r,r as ae,s as pe,l as Se}from"./D-yNNNdf.js";import{n as D,M as Te,b as h,F as Ke,c as se,a as Le,m as Q,d as Ue,e as Ee,P as Ie,f as xe,i as He,g as Ne,S as je,h as ge,j as ze,k as Be,l as Ve,o as Ze,D as We,p as Ye}from"./DQYNi3YK.js";import{r as Me}from"./Bs4ovbtO.js";import{i as qe}from"./vZ2iBqLE.js";import{c as re}from"./DCVmM0L5.js";import{A as Ge,a as Je,b as Qe,c as Xe,d as $e,e as et,f as tt,g as rt}from"./BHue2Ock.js";import{a as Fe}from"./DQ5NTKSo.js";function nt(v,e){$(e,!0);let c=r(e,"open",15,!1),y=r(e,"onOpenChange",3,D),m=r(e,"onOpenChangeComplete",3,D);Te.create({open:h(()=>c(),f=>{c(f),y()?.(f)}),onOpenChangeComplete:h(()=>m())}),Ke(v,{children:(f,F)=>{var P=K(),g=w(P);I(g,()=>e.children??X),u(f,P)},$$slots:{default:!0}}),ee()}var ot=q("<div><!></div>");function at(v,e){const c=oe();$(e,!0);let y=r(e,"ref",15,null),m=r(e,"id",19,()=>se(c)),f=r(e,"disabled",3,!1),F=r(e,"onSelect",3,D),P=r(e,"closeOnSelect",3,!0),g=ae(e,["$$slots","$$events","$$legacy","child","children","ref","id","disabled","onSelect","closeOnSelect"]);const C=Le.create({id:h(()=>m()),disabled:h(()=>f()),onSelect:h(()=>F()),ref:h(()=>y(),n=>y(n)),closeOnSelect:h(()=>P())}),p=E(()=>Q(g,C.props));var A=K(),i=w(A);{var t=n=>{var d=K(),o=w(d);I(o,()=>e.child,()=>({props:l(p)})),u(n,d)},a=n=>{var d=ot();N(d,()=>({...l(p)}));var o=k(d);I(o,()=>e.children??X),T(d),u(n,d)};Y(i,n=>{e.child?n(t):n(a,!1)})}u(v,A),ee()}var st=q("<div><!></div>");function lt(v,e){const c=oe();$(e,!0);let y=r(e,"ref",15,null),m=r(e,"id",19,()=>se(c)),f=ae(e,["$$slots","$$events","$$legacy","ref","id","child","children"]);const F=Ue.create({id:h(()=>m()),ref:h(()=>y(),i=>y(i))}),P=E(()=>Q(f,F.props));var g=K(),C=w(g);{var p=i=>{var t=K(),a=w(t);I(a,()=>e.child,()=>({props:l(P)})),u(i,t)},A=i=>{var t=st();N(t,()=>({...l(P)}));var a=k(t);I(a,()=>e.children??X),T(t),u(i,t)};Y(C,i=>{e.child?i(p):i(A,!1)})}u(v,g),ee()}var it=q("<div><div><!></div></div>"),dt=q("<div><div><!></div></div>");function ut(v,e){const c=oe();$(e,!0);let y=r(e,"id",19,()=>se(c)),m=r(e,"ref",15,null),f=r(e,"loop",3,!0),F=r(e,"onInteractOutside",3,D),P=r(e,"forceMount",3,!1),g=r(e,"onEscapeKeydown",3,D),C=r(e,"interactOutsideBehavior",3,"defer-otherwise-close"),p=r(e,"escapeKeydownBehavior",3,"defer-otherwise-close"),A=r(e,"onOpenAutoFocus",3,D),i=r(e,"onCloseAutoFocus",3,D),t=r(e,"onFocusOutside",3,D),a=r(e,"side",3,"right"),n=r(e,"trapFocus",3,!1),d=ae(e,["$$slots","$$events","$$legacy","id","ref","children","child","loop","onInteractOutside","forceMount","onEscapeKeydown","interactOutsideBehavior","escapeKeydownBehavior","onOpenAutoFocus","onCloseAutoFocus","onFocusOutside","side","trapFocus","style"]);const o=Ee.create({id:h(()=>y()),loop:h(()=>f()),ref:h(()=>m(),s=>m(s)),isSub:!0,onCloseAutoFocus:h(()=>J)});function M(s){const S=s.currentTarget.contains(s.target),_=je[o.parentMenu.root.opts.dir.current].includes(s.key);S&&_&&(o.parentMenu.onClose(),o.parentMenu.triggerNode?.focus(),s.preventDefault())}const j=E(()=>o.parentMenu.root.getBitsAttr("sub-content")),b=E(()=>Q(d,o.props,{side:a(),onkeydown:M,[l(j)]:""}));function G(s){A()(s),!s.defaultPrevented&&(s.preventDefault(),o.parentMenu.root.isUsingKeyboard&&o.parentMenu.contentNode&&Ne.dispatch(o.parentMenu.contentNode))}function J(s){i()(s),!s.defaultPrevented&&s.preventDefault()}function z(s){F()(s),!s.defaultPrevented&&o.parentMenu.onClose()}function te(s){g()(s),!s.defaultPrevented&&o.parentMenu.onClose()}function B(s){t()(s),!s.defaultPrevented&&He(s.target)&&s.target.id!==o.parentMenu.triggerNode?.id&&o.parentMenu.onClose()}var R=K(),V=w(R);{var L=s=>{Ie(s,pe(()=>l(b),{get ref(){return o.opts.ref},get interactOutsideBehavior(){return C()},get escapeKeydownBehavior(){return p()},onOpenAutoFocus:G,get enabled(){return o.parentMenu.opts.open.current},onInteractOutside:z,onEscapeKeydown:te,onFocusOutside:B,preventScroll:!1,get loop(){return f()},get trapFocus(){return n()},get shouldRender(){return o.shouldRender},popper:(_,O)=>{let Z=()=>O?.().props,le=()=>O?.().wrapperProps;const ie=E(()=>Q(Z(),l(b),{style:ge("menu")},{style:e.style}));var de=K(),_e=w(de);{var he=H=>{var x=K(),W=w(x);{let ne=E(()=>({props:l(ie),wrapperProps:le(),...o.snippetProps}));I(W,()=>e.child,()=>l(ne))}u(H,x)},me=H=>{var x=it();N(x,()=>({...le()}));var W=k(x);N(W,()=>({...l(ie)}));var ne=k(W);I(ne,()=>e.children??X),T(W),T(x),u(H,x)};Y(_e,H=>{e.child?H(he):H(me,!1)})}u(_,de)},$$slots:{popper:!0}}))},U=s=>{xe(s,pe(()=>l(b),{get ref(){return o.opts.ref},get interactOutsideBehavior(){return C()},get escapeKeydownBehavior(){return p()},onCloseAutoFocus:J,onOpenAutoFocus:G,get open(){return o.parentMenu.opts.open.current},onInteractOutside:z,onEscapeKeydown:te,onFocusOutside:B,preventScroll:!1,get loop(){return f()},get trapFocus(){return n()},get shouldRender(){return o.shouldRender},popper:(_,O)=>{let Z=()=>O?.().props,le=()=>O?.().wrapperProps;const ie=E(()=>Q(Z(),l(b),{style:ge("menu")},{style:e.style}));var de=K(),_e=w(de);{var he=H=>{var x=K(),W=w(x);{let ne=E(()=>({props:l(ie),wrapperProps:le(),...o.snippetProps}));I(W,()=>e.child,()=>l(ne))}u(H,x)},me=H=>{var x=dt();N(x,()=>({...le()}));var W=k(x);N(W,()=>({...l(ie)}));var ne=k(W);I(ne,()=>e.children??X),T(W),T(x),u(H,x)};Y(_e,H=>{e.child?H(he):H(me,!1)})}u(_,de)},$$slots:{popper:!0}}))};Y(V,s=>{P()?s(L):P()||s(U,1)})}u(v,R),ee()}var ct=q("<div><!></div>");function ft(v,e){const c=oe();$(e,!0);let y=r(e,"id",19,()=>se(c)),m=r(e,"disabled",3,!1),f=r(e,"ref",15,null),F=r(e,"onSelect",3,D),P=r(e,"openDelay",3,100),g=ae(e,["$$slots","$$events","$$legacy","id","disabled","ref","children","child","onSelect","openDelay"]);const C=ze.create({disabled:h(()=>m()),onSelect:h(()=>F()),id:h(()=>y()),ref:h(()=>f(),A=>f(A)),openDelay:h(()=>P())}),p=E(()=>Q(g,C.props));Be(v,{get id(){return y()},get ref(){return C.opts.ref},children:(A,i)=>{var t=K(),a=w(t);{var n=o=>{var M=K(),j=w(M);I(j,()=>e.child,()=>({props:l(p)})),u(o,M)},d=o=>{var M=ct();N(M,()=>({...l(p)}));var j=k(M);I(j,()=>e.children??X),T(M),u(o,M)};Y(a,o=>{e.child?o(n):o(d,!1)})}u(A,t)},$$slots:{default:!0}}),ee()}function vt(v,e){$(e,!0);let c=r(e,"open",15,!1),y=r(e,"dir",3,"ltr"),m=r(e,"onOpenChange",3,D),f=r(e,"onOpenChangeComplete",3,D),F=r(e,"_internal_variant",3,"dropdown-menu");const P=Ve.create({variant:h(()=>F()),dir:h(()=>y()),onClose:()=>{c(!1),m()(!1)}});Ze.create({open:h(()=>c(),g=>{c(g),m()(g)}),onOpenChangeComplete:h(()=>f())},P),Ke(v,{children:(g,C)=>{var p=K(),A=w(p);I(A,()=>e.children??X),u(g,p)},$$slots:{default:!0}}),ee()}var pt=q("<div><div><!></div></div>"),gt=q("<div><div><!></div></div>");function _t(v,e){const c=oe();$(e,!0);let y=r(e,"id",19,()=>se(c)),m=r(e,"ref",15,null),f=r(e,"loop",3,!0),F=r(e,"onInteractOutside",3,D),P=r(e,"onEscapeKeydown",3,D),g=r(e,"onCloseAutoFocus",3,D),C=r(e,"forceMount",3,!1),p=r(e,"trapFocus",3,!1),A=ae(e,["$$slots","$$events","$$legacy","id","child","children","ref","loop","onInteractOutside","onEscapeKeydown","onCloseAutoFocus","forceMount","trapFocus","style"]);const i=Ee.create({id:h(()=>y()),loop:h(()=>f()),ref:h(()=>m(),b=>m(b)),onCloseAutoFocus:h(()=>g())}),t=E(()=>Q(A,i.props));function a(b){if(i.handleInteractOutside(b),!b.defaultPrevented&&(F()(b),!b.defaultPrevented)){if(b.target&&b.target instanceof Element){const G=`[${i.parentMenu.root.getBitsAttr("sub-content")}]`;if(b.target.closest(G))return}i.parentMenu.onClose()}}function n(b){P()(b),!b.defaultPrevented&&i.parentMenu.onClose()}var d=K(),o=w(d);{var M=b=>{Ie(b,pe(()=>l(t),()=>i.popperProps,{get ref(){return i.opts.ref},get enabled(){return i.parentMenu.opts.open.current},onInteractOutside:a,onEscapeKeydown:n,get trapFocus(){return p()},get loop(){return f()},forceMount:!0,get id(){return y()},get shouldRender(){return i.shouldRender},popper:(J,z)=>{let te=()=>z?.().props,B=()=>z?.().wrapperProps;const R=E(()=>Q(te(),{style:ge("dropdown-menu")},{style:e.style}));var V=K(),L=w(V);{var U=S=>{var _=K(),O=w(_);{let Z=E(()=>({props:l(R),wrapperProps:B(),...i.snippetProps}));I(O,()=>e.child,()=>l(Z))}u(S,_)},s=S=>{var _=pt();N(_,()=>({...B()}));var O=k(_);N(O,()=>({...l(R)}));var Z=k(O);I(Z,()=>e.children??X),T(O),T(_),u(S,_)};Y(L,S=>{e.child?S(U):S(s,!1)})}u(J,V)},$$slots:{popper:!0}}))},j=b=>{xe(b,pe(()=>l(t),()=>i.popperProps,{get ref(){return i.opts.ref},get open(){return i.parentMenu.opts.open.current},onInteractOutside:a,onEscapeKeydown:n,get trapFocus(){return p()},get loop(){return f()},forceMount:!1,get id(){return y()},get shouldRender(){return i.shouldRender},popper:(J,z)=>{let te=()=>z?.().props,B=()=>z?.().wrapperProps;const R=E(()=>Q(te(),{style:ge("dropdown-menu")},{style:e.style}));var V=K(),L=w(V);{var U=S=>{var _=K(),O=w(_);{let Z=E(()=>({props:l(R),wrapperProps:B(),...i.snippetProps}));I(O,()=>e.child,()=>l(Z))}u(S,_)},s=S=>{var _=gt();N(_,()=>({...B()}));var O=k(_);N(O,()=>({...l(R)}));var Z=k(O);I(Z,()=>e.children??X),T(O),T(_),u(S,_)};Y(L,S=>{e.child?S(U):S(s,!1)})}u(J,V)},$$slots:{popper:!0}}))};Y(o,b=>{C()?b(M):C()||b(j,1)})}u(v,d),ee()}var ht=q("<button><!></button>");function mt(v,e){const c=oe();$(e,!0);let y=r(e,"id",19,()=>se(c)),m=r(e,"ref",15,null),f=r(e,"disabled",3,!1),F=r(e,"type",3,"button"),P=ae(e,["$$slots","$$events","$$legacy","id","ref","child","children","disabled","type"]);const g=We.create({id:h(()=>y()),disabled:h(()=>f()??!1),ref:h(()=>m(),p=>m(p))}),C=E(()=>Q(P,g.props,{type:F()}));Be(v,{get id(){return y()},get ref(){return g.opts.ref},children:(p,A)=>{var i=K(),t=w(i);{var a=d=>{var o=K(),M=w(o);I(M,()=>e.child,()=>({props:l(C)})),u(d,o)},n=d=>{var o=ht();N(o,()=>({...l(C)}));var M=k(o);I(M,()=>e.children??X),T(o),u(d,o)};Y(t,d=>{e.child?d(a):d(n,!1)})}u(p,i)},$$slots:{default:!0}}),ee()}const kt=vt,Tt=mt,Lt=Ye,Ut=_t,Ht=at,Nt=lt,jt=nt,zt=ft,Vt=ut;function yt(){let v=Re(De({})),e=null,c=null;function y(t,a,n){c&&(clearInterval(c),c=null),e=`${t}/${a}/${n}`,f("enter",t,a,n),c=setInterval(()=>{e&&f("heartbeat",t,a,n)},3e4)}function m(){if(c&&(clearInterval(c),c=null),e){const[t,a,n]=e.split("/");t&&a&&n&&f("leave",t,a,n),e=null}}function f(t,a,n,d){Me.send({type:"presence",action:t,repo:a,entityType:n,entityId:d})}function F(t){const a=`${t.repo}/${t.entityType}/${t.entityId}`,n=l(v)[a]??[];if(t.action==="leave")l(v)[a]=n.filter(d=>d.id!==t.user.id);else{const d=n.findIndex(o=>o.id===t.user.id);d>=0?(n[d]=t.user,l(v)[a]=[...n]):l(v)[a]=[...n,t.user]}}function P(){if(be(v,{},!0),!e)return;const[t,a,n]=e.split("/");t&&a&&n&&f("enter",t,a,n)}function g(t,a,n,d){const o=`${t}/${a}/${n}`,M=l(v)[o]??[];return d?M.filter(j=>j.id!==d):M}function C(t,a){const n=new Map;for(const[d,o]of Object.entries(l(v)))if(d.startsWith(t))for(const M of o)(!a||M.id!==a)&&n.set(M.id,M);return[...n.values()]}function p(t,a){return C(`${t}/`,a)}function A(t){const a=new Map;for(const n of Object.values(l(v)))for(const d of n)(!t||d.id!==t)&&a.set(d.id,d);return[...a.values()]}const i=E(()=>{const t=new Map;for(const a of Object.values(l(v)))for(const n of a)t.set(n.id,n);return[...t.values()]});return{enter:y,leave:m,handlePresenceEvent:F,resetAndResend:P,getPresence:g,getPresenceByPrefix:C,getRepoPresence:p,getAllUsers:A,get allUsers(){return l(i)}}}const we=yt();Me.setPresenceHandler(v=>we.handlePresenceEvent(v));Me.addConnectHandler(()=>we.resetAndResend());typeof window<"u"&&window.addEventListener("beforeunload",()=>we.leave());var Pt=Ae("<title> </title>"),bt=Ae('<svg><!><path d="M25,12H20v2h5a1.0008,1.0008,0,0,1,1,1v2H22a3.0033,3.0033,0,0,0-3,3v1a3.0033,3.0033,0,0,0,3,3h6V15A3.0033,3.0033,0,0,0,25,12ZM22,22a1.0008,1.0008,0,0,1-1-1V20a1.0008,1.0008,0,0,1,1-1h4v3Z"></path><path d="M16,24h2L12,7H10L4,24H6l1.6936-5h6.6135ZM8.3711,17l2.4966-7.3711.2668.0005L13.63,17Z"></path></svg>');function Zt(v,e){const c=Se(e,["children","$$slots","$$events","$$legacy"]),y=Se(c,["size","title"]);$(e,!1);const m=Ce(),f=Ce();let F=r(e,"size",8,16),P=r(e,"title",8,void 0);Oe(()=>(ye(c),ye(P())),()=>{be(m,c["aria-label"]||c["aria-labelledby"]||P())}),Oe(()=>(l(m),ye(c)),()=>{be(f,{"aria-hidden":l(m)?void 0:!0,role:l(m)?"img":void 0,focusable:Number(c.tabindex)===0?!0:void 0})}),ke(),qe();var g=bt();N(g,()=>({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",preserveAspectRatio:"xMidYMid meet",width:F(),height:F(),...l(f),...y}));var C=k(g);{var p=A=>{var i=Pt(),t=k(i,!0);T(i),fe(()=>ue(t,P())),u(A,i)};Y(C,A=>{P()&&A(p)})}ce(2),T(g),u(v,g),ee()}var Mt=q("<!> <!>",1),wt=q("<!> <!>",1),Ot=q("<!> <!>",1);function Wt(v,e){$(e,!0);let c=r(e,"open",15),y=r(e,"confirmLabel",3,"Confirm"),m=r(e,"cancelLabel",3,"Cancel"),f=r(e,"destructive",3,!1);var F=K(),P=w(F);re(P,()=>rt,(g,C)=>{C(g,{onOpenChange:p=>{p||e.oncancel()},get open(){return c()},set open(p){c(p)},children:(p,A)=>{var i=K(),t=w(i);re(t,()=>Ge,(a,n)=>{n(a,{children:(d,o)=>{var M=Ot(),j=w(M);re(j,()=>Je,(G,J)=>{J(G,{children:(z,te)=>{var B=Mt(),R=w(B);re(R,()=>Qe,(L,U)=>{U(L,{children:(s,S)=>{ce();var _=ve();fe(()=>ue(_,e.title)),u(s,_)},$$slots:{default:!0}})});var V=Pe(R,2);re(V,()=>Xe,(L,U)=>{U(L,{children:(s,S)=>{ce();var _=ve();fe(()=>ue(_,e.message)),u(s,_)},$$slots:{default:!0}})}),u(z,B)},$$slots:{default:!0}})});var b=Pe(j,2);re(b,()=>$e,(G,J)=>{J(G,{children:(z,te)=>{var B=wt(),R=w(B);{let L=E(()=>Fe({variant:"ghost"}));re(R,()=>et,(U,s)=>{s(U,{get class(){return l(L)},get onclick(){return e.oncancel},children:(S,_)=>{ce();var O=ve();fe(()=>ue(O,m())),u(S,O)},$$slots:{default:!0}})})}var V=Pe(R,2);{let L=E(()=>Fe({variant:f()?"destructive":"accent"}));re(V,()=>tt,(U,s)=>{s(U,{get class(){return l(L)},get onclick(){return e.onconfirm},children:(S,_)=>{ce();var O=ve();fe(()=>ue(O,y())),u(S,O)},$$slots:{default:!0}})})}u(z,B)},$$slots:{default:!0}})}),u(d,M)},$$slots:{default:!0}})}),u(p,i)},$$slots:{default:!0}})}),u(v,F),ee()}export{Ut as C,Ht as I,Lt as P,kt as R,Nt as S,Tt as T,Zt as a,Wt as b,jt as c,zt as d,Vt as e,we as p};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as n,f as m,g as a,s}from"./
|
|
1
|
+
import{e as n,f as m,g as a,s}from"./DSh-OF2y.js";import{g as c}from"./BAAbylyg.js";import{d as v,u as y,c as g,f as V}from"./DSkxw4Ss.js";const x={selectedType:null,groupBy:null,sortKey:"name",sortAsc:!0,filters:{text:{},enum:{},date:{}}};function I(){let r=n(m([])),i=n(null),u=n(!1);async function l(){try{s(r,await V(),!0),s(u,!0)}catch(e){console.error("Failed to load views:",e)}}async function w(e){const t=await g(e,x);return s(r,[...a(r),t],!0),t}async function f(e,t){await y(e,t),s(r,a(r).map(o=>o.id===e?{...o,...t}:o),!0)}async function d(e){if(await v(e),s(r,a(r).filter(t=>t.id!==e),!0),a(i)===e){const t=a(r)[0];t?(s(i,t.id,!0),c(`/views/${t.id}`,{replaceState:!0})):(s(i,null),c("/",{replaceState:!0}))}}function p(e){s(i,e,!0)}return{get views(){return a(r)},get activeViewId(){return a(i)},get loaded(){return a(u)},load:l,create:w,update:f,remove:d,setActive:p}}const h=I();export{h as v};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as n,b as c}from"./
|
|
1
|
+
import{a as n,b as c}from"./b0XUoOIH.js";import{b as d,c as p}from"./DQ5NTKSo.js";import{p as u,b as f}from"./DSh-OF2y.js";import{a as m}from"./CRnhIQbv.js";import{b}from"./DT3KtxWU.js";import{p as a,r as v}from"./D-yNNNdf.js";var x=c("<input/>");function P(l,r){u(r,!0);let e=a(r,"ref",15,null),s=a(r,"value",15),i=v(r,["$$slots","$$events","$$legacy","class","ref","value"]);var o=x();m(o,t=>({class:t,...i}),[()=>p("h-8 w-full rounded-md border border-[var(--color-border)] bg-[var(--color-bg)] px-2.5 text-[14px] text-[var(--color-text-primary)] font-[inherit] outline-none transition-colors placeholder:text-[var(--color-text-tertiary)] focus:border-[var(--color-accent,#e05050)] disabled:cursor-not-allowed disabled:opacity-50",r.class)],void 0,void 0,void 0,!0),b(o,t=>e(t),()=>e()),d(o,s),n(l,o),f()}export{P as I};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{w as f,h as u,_,$ as o,i as t,C as g,Z as i,u as l,q as d,v as p,y as v}from"./
|
|
1
|
+
import{w as f,h as u,_,$ as o,i as t,C as g,Z as i,u as l,q as d,v as p,y as v}from"./DSh-OF2y.js";function C(n,r){let s=null,y=t;var a;if(t){s=p;for(var e=v(document.head);e!==null&&(e.nodeType!==g||e.data!==n);)e=i(e);if(e===null)l(!1);else{var E=i(e);e.remove(),d(E)}}t||(a=document.head.appendChild(f()));try{u(()=>r(a),_|o)}finally{y&&(l(!0),d(s))}}export{C as h};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{bB as Le,aD as Ge,e as A,g as U,s as P,aE as ne,bC as vt}from"./DSh-OF2y.js";class Ae{constructor(t,n){this.status=t,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class Ue{constructor(t,n){this.status=t,this.location=n}}class Pe extends Error{constructor(t,n,r){super(r),this.status=t,this.text=n}}new URL("sveltekit-internal://");function wt(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function yt(e){return e.split("%25").map(decodeURI).join("%25")}function bt(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function me({href:e}){return e.split("#")[0]}function kt(e,t,n,r=!1){const a=new URL(e);Object.defineProperty(a,"searchParams",{value:new Proxy(a.searchParams,{get(s,o){if(o==="get"||o==="getAll"||o==="has")return(c,...d)=>(n(c),s[o](c,...d));t();const l=Reflect.get(s,o);return typeof l=="function"?l.bind(s):l}}),enumerable:!0,configurable:!0});const i=["href","pathname","search","toString","toJSON"];r&&i.push("hash");for(const s of i)Object.defineProperty(a,s,{get(){return t(),e[s]},enumerable:!0,configurable:!0});return a}function Et(...e){let t=5381;for(const n of e)if(typeof n=="string"){let r=n.length;for(;r;)t=t*33^n.charCodeAt(--r)}else if(ArrayBuffer.isView(n)){const r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let a=r.length;for(;a;)t=t*33^r[--a]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}new TextEncoder;new TextDecoder;function St(e){const t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}const Rt=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||"GET")!=="GET"&&G.delete(Te(e)),Rt(e,t));const G=new Map;function xt(e,t){const n=Te(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:a,...i}=JSON.parse(r.textContent);const s=r.getAttribute("data-ttl");return s&&G.set(n,{body:a,init:i,ttl:1e3*Number(s)}),r.getAttribute("data-b64")!==null&&(a=St(a)),Promise.resolve(new Response(a,i))}return window.fetch(e,t)}function Lt(e,t,n){if(G.size>0){const r=Te(e,n),a=G.get(r);if(a){if(performance.now()<a.ttl&&["default","force-cache","only-if-cached",void 0].includes(n?.cache))return new Response(a.body,a.init);G.delete(r)}}return window.fetch(t,n)}function Te(e,t){let r=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){const a=[];t.headers&&a.push([...new Headers(t.headers)].join(",")),t.body&&(typeof t.body=="string"||ArrayBuffer.isView(t.body))&&a.push(t.body),r+=`[data-hash="${Et(...a)}"]`}return r}const At=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function Ut(e){const t=[];return{pattern:e==="/"?/^\/$/:new RegExp(`^${Tt(e).map(r=>{const a=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(r);if(a)return t.push({name:a[1],matcher:a[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const i=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(r);if(i)return t.push({name:i[1],matcher:i[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!r)return;const s=r.split(/\[(.+?)\](?!\])/);return"/"+s.map((l,c)=>{if(c%2){if(l.startsWith("x+"))return _e(String.fromCharCode(parseInt(l.slice(2),16)));if(l.startsWith("u+"))return _e(String.fromCharCode(...l.slice(2).split("-").map(v=>parseInt(v,16))));const d=At.exec(l),[,p,f,u,h]=d;return t.push({name:u,matcher:h,optional:!!p,rest:!!f,chained:f?c===1&&s[0]==="":!1}),f?"([^]*?)":p?"([^/]*)?":"([^/]+?)"}return _e(l)}).join("")}).join("")}/?$`),params:t}}function Pt(e){return e!==""&&!/^\([^)]+\)$/.test(e)}function Tt(e){return e.slice(1).split("/").filter(Pt)}function It(e,t,n){const r={},a=e.slice(1),i=a.filter(o=>o!==void 0);let s=0;for(let o=0;o<t.length;o+=1){const l=t[o];let c=a[o-s];if(l.chained&&l.rest&&s&&(c=a.slice(o-s,o+1).filter(d=>d).join("/"),s=0),c===void 0)if(l.rest)c="";else continue;if(!l.matcher||n[l.matcher](c)){r[l.name]=c;const d=t[o+1],p=a[o+1];d&&!d.rest&&d.optional&&p&&l.chained&&(s=0),!d&&!p&&Object.keys(r).length===i.length&&(s=0);continue}if(l.optional&&l.chained){s++;continue}return}if(!s)return r}function _e(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Ot({nodes:e,server_loads:t,dictionary:n,matchers:r}){const a=new Set(t);return Object.entries(n).map(([o,[l,c,d]])=>{const{pattern:p,params:f}=Ut(o),u={id:o,exec:h=>{const v=p.exec(h);if(v)return It(v,f,r)},errors:[1,...d||[]].map(h=>e[h]),layouts:[0,...c||[]].map(s),leaf:i(l)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function i(o){const l=o<0;return l&&(o=~o),[l,e[o]]}function s(o){return o===void 0?o:[a.has(o),e[o]]}}function Xe(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function Me(e,t,n=JSON.stringify){const r=n(t);try{sessionStorage[e]=r}catch{}}const x=globalThis.__sveltekit_uvehpy?.base??"",Ct=globalThis.__sveltekit_uvehpy?.assets??x??"",$t="1774804755940",Qe="sveltekit:snapshot",Ze="sveltekit:scroll",et="sveltekit:states",jt="sveltekit:pageurl",B="sveltekit:history",H="sveltekit:navigation",N={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},he=location.origin;function Ie(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const n=document.getElementsByTagName("base");t=n.length?n[0].href:document.URL}return new URL(e,t)}function D(){return{x:pageXOffset,y:pageYOffset}}function V(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const He={...N,"":N.hover};function tt(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function nt(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=tt(e)}}function be(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){const o=location.hash.split("#")[1]||"/";r.hash=`#${o}${r.hash}`}}catch{}const a=e instanceof SVGAElement?e.target.baseVal:e.target,i=!r||!!a||pe(r,t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),s=r?.origin===he&&e.hasAttribute("download");return{url:r,external:i,target:a,download:s}}function re(e){let t=null,n=null,r=null,a=null,i=null,s=null,o=e;for(;o&&o!==document.documentElement;)r===null&&(r=V(o,"preload-code")),a===null&&(a=V(o,"preload-data")),t===null&&(t=V(o,"keepfocus")),n===null&&(n=V(o,"noscroll")),i===null&&(i=V(o,"reload")),s===null&&(s=V(o,"replacestate")),o=tt(o);function l(c){switch(c){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:He[r??"off"],preload_data:He[a??"off"],keepfocus:l(t),noscroll:l(n),reload:l(i),replace_state:l(s)}}function We(e){const t=Le(e);let n=!0;function r(){n=!0,t.update(s=>s)}function a(s){n=!1,t.set(s)}function i(s){let o;return t.subscribe(l=>{(o===void 0||n&&l!==o)&&s(o=l)})}return{notify:r,set:a,subscribe:i}}const rt={v:()=>{}};function Nt(){const{set:e,subscribe:t}=Le(!1);let n;async function r(){clearTimeout(n);try{const a=await fetch(`${Ct}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const s=(await a.json()).version!==$t;return s&&(e(!0),rt.v(),clearTimeout(n)),s}catch{return!1}}return{subscribe:t,check:r}}function pe(e,t,n){return e.origin!==he||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function cn(e){}const at=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...at];const Dt=new Set([...at]);[...Dt];function qt(e){return e.filter(t=>t!=null)}function Oe(e){return e instanceof Ae||e instanceof Pe?e.status:500}function Vt(e){return e instanceof Pe?e.text:"Internal Error"}let b,W,ve;const Bt=Ge.toString().includes("$$")||/function \w+\(\) \{\}/.test(Ge.toString());Bt?(b={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},W={current:null},ve={current:!1}):(b=new class{#e=A({});get data(){return U(this.#e)}set data(t){P(this.#e,t)}#t=A(null);get form(){return U(this.#t)}set form(t){P(this.#t,t)}#n=A(null);get error(){return U(this.#n)}set error(t){P(this.#n,t)}#r=A({});get params(){return U(this.#r)}set params(t){P(this.#r,t)}#a=A({id:null});get route(){return U(this.#a)}set route(t){P(this.#a,t)}#o=A({});get state(){return U(this.#o)}set state(t){P(this.#o,t)}#s=A(-1);get status(){return U(this.#s)}set status(t){P(this.#s,t)}#i=A(new URL("https://example.com"));get url(){return U(this.#i)}set url(t){P(this.#i,t)}},W=new class{#e=A(null);get current(){return U(this.#e)}set current(t){P(this.#e,t)}},ve=new class{#e=A(!1);get current(){return U(this.#e)}set current(t){P(this.#e,t)}},rt.v=()=>ve.current=!0);function ot(e){Object.assign(b,e)}const Je={spanContext(){return Kt},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this},addLink(){return this},addLinks(){return this}},Kt={traceId:"",spanId:"",traceFlags:0},Ft=new Set(["icon","shortcut icon","apple-touch-icon"]),j=Xe(Ze)??{},J=Xe(Qe)??{},$={url:We({}),page:We({}),navigating:Le(null),updated:Nt()};function Ce(e){j[e]=D()}function Gt(e,t){let n=e+1;for(;j[n];)delete j[n],n+=1;for(n=t+1;J[n];)delete J[n],n+=1}function Y(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(()=>{})}async function st(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(x||"/");e&&await e.update()}}function ke(){}let $e,Ee,ae,T,Se,w;const oe=[],se=[];let L=null;function ie(){L?.fork?.then(e=>e?.discard()),L=null}const te=new Map,it=new Set,Mt=new Set,M=new Set;let _={branch:[],error:null,url:null},lt=!1,le=!1,Ye=!0,z=!1,F=!1,ct=!1,Q=!1,je,y,R,I;const ce=new Set;let we;const ue=new Map;async function hn(e,t,n){globalThis.__sveltekit_uvehpy?.data&&globalThis.__sveltekit_uvehpy.data,document.URL!==location.href&&(location.href=location.href),w=e,await e.hooks.init?.(),$e=Ot(e),T=document.documentElement,Se=t,Ee=e.nodes[0],ae=e.nodes[1],Ee(),ae(),y=history.state?.[B],R=history.state?.[H],y||(y=R=Date.now(),history.replaceState({...history.state,[B]:y,[H]:R},""));const r=j[y];function a(){r&&(history.scrollRestoration="manual",scrollTo(r.x,r.y))}n?(a(),await rn(Se,n)):(await K({type:"enter",url:Ie(w.hash?sn(new URL(location.href)):location.href),replace_state:!0}),a()),nn()}async function Ht(e=!0,t=!0){if(await(we||=Promise.resolve()),!we)return;we=null;const n=I={},r=await Z(_.url,!0);if(ie(),Q&&ue.forEach(({resource:a})=>{a.refresh?.()}),e){const a=b.state,i=r&&await Ve(r);if(!i||n!==I)return;if(i.type==="redirect")return Ne(new URL(i.location,_.url).href,{replaceState:!0},1,n);t||(i.props.page.state=a),ot(i.props.page),_=i.state,Re(),je.$set(i.props)}else Re();await Promise.all([...ue.values()].map(({resource:a})=>a)).catch(ke)}function Re(){oe.length=0,Q=!1}function ut(e){se.some(t=>t?.snapshot)&&(J[e]=se.map(t=>t?.snapshot?.capture()))}function ft(e){J[e]?.forEach((t,n)=>{se[n]?.snapshot?.restore(t)})}function ze(){Ce(y),Me(Ze,j),ut(R),Me(Qe,J)}async function Ne(e,t,n,r){let a;t.invalidateAll&&ie(),await K({type:"goto",url:Ie(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:r,accept:()=>{t.invalidateAll&&(Q=!0,a=[...ue.keys()]),t.invalidate&&t.invalidate.forEach(tn)}}),t.invalidateAll&&ne().then(ne).then(()=>{ue.forEach(({resource:i},s)=>{a?.includes(s)&&i.refresh?.()})})}async function Wt(e){if(e.id!==L?.id){ie();const t={};ce.add(t),L={id:e.id,token:t,promise:Ve({...e,preload:t}).then(n=>(ce.delete(t),n.type==="loaded"&&n.state.error&&ie(),n)),fork:null}}return L.promise}async function ye(e){const t=(await Z(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(n=>n[1]()))}async function dt(e,t,n){_=e.state;const r=document.querySelector("style[data-sveltekit]");if(r&&r.remove(),Object.assign(b,e.props.page),je=new w.root({target:t,props:{...e.props,stores:$,components:se},hydrate:n,sync:!1}),await Promise.resolve(),ft(R),n){const a={from:null,to:{params:_.params,route:{id:_.route?.id??null},url:new URL(location.href),scroll:j[y]??D()},willUnload:!1,type:"enter",complete:Promise.resolve()};M.forEach(i=>i(a))}le=!0}function fe({url:e,params:t,branch:n,status:r,error:a,route:i,form:s}){let o="never";if(x&&(e.pathname===x||e.pathname===x+"/"))o="always";else for(const u of n)u?.slash!==void 0&&(o=u.slash);e.pathname=wt(e.pathname,o),e.search=e.search;const l={type:"loaded",state:{url:e,params:t,branch:n,error:a,route:i},props:{constructors:qt(n).map(u=>u.node.component),page:Fe(b)}};s!==void 0&&(l.props.form=s);let c={},d=!b,p=0;for(let u=0;u<Math.max(n.length,_.branch.length);u+=1){const h=n[u],v=_.branch[u];h?.data!==v?.data&&(d=!0),h&&(c={...c,...h.data},d&&(l.props[`data_${p}`]=c),p+=1)}return(!_.url||e.href!==_.url.href||_.error!==a||s!==void 0&&s!==b.form||d)&&(l.props.page={error:a,params:t,route:{id:i?.id??null},state:{},status:r,url:new URL(e),form:s??null,data:d?c:b.data}),l}async function De({loader:e,parent:t,url:n,params:r,route:a,server_data_node:i}){let s=null,o=!0;const l={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},c=await e();if(c.universal?.load){let d=function(...f){for(const u of f){const{href:h}=new URL(u,n);l.dependencies.add(h)}};const p={tracing:{enabled:!1,root:Je,current:Je},route:new Proxy(a,{get:(f,u)=>(o&&(l.route=!0),f[u])}),params:new Proxy(r,{get:(f,u)=>(o&&l.params.add(u),f[u])}),data:i?.data??null,url:kt(n,()=>{o&&(l.url=!0)},f=>{o&&l.search_params.add(f)},w.hash),async fetch(f,u){f instanceof Request&&(u={body:f.method==="GET"||f.method==="HEAD"?void 0:await f.blob(),cache:f.cache,credentials:f.credentials,headers:[...f.headers].length>0?f?.headers:void 0,integrity:f.integrity,keepalive:f.keepalive,method:f.method,mode:f.mode,redirect:f.redirect,referrer:f.referrer,referrerPolicy:f.referrerPolicy,signal:f.signal,...u});const{resolved:h,promise:v}=ht(f,u,n);return o&&d(h.href),v},setHeaders:()=>{},depends:d,parent(){return o&&(l.parent=!0),t()},untrack(f){o=!1;try{return f()}finally{o=!0}}};s=await c.universal.load.call(null,p)??null}return{node:c,loader:e,server:i,universal:c.universal?.load?{type:"data",data:s,uses:l}:null,data:s??i?.data??null,slash:c.universal?.trailingSlash??i?.slash}}function ht(e,t,n){let r=e instanceof Request?e.url:e;const a=new URL(r,n);a.origin===n.origin&&(r=a.href.slice(n.origin.length));const i=le?Lt(r,a.href,t):xt(r,t);return{resolved:a,promise:i}}function Jt(e,t,n,r,a,i){if(Q)return!0;if(!a)return!1;if(a.parent&&e||a.route&&t||a.url&&n)return!0;for(const s of a.search_params)if(r.has(s))return!0;for(const s of a.params)if(i[s]!==_.params[s])return!0;for(const s of a.dependencies)if(oe.some(o=>o(new URL(s))))return!0;return!1}function qe(e,t){return e?.type==="data"?e:e?.type==="skip"?t??null:null}function Yt(e,t){if(!e)return new Set(t.searchParams.keys());const n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const r of n){const a=e.searchParams.getAll(r),i=t.searchParams.getAll(r);a.every(s=>i.includes(s))&&i.every(s=>a.includes(s))&&n.delete(r)}return n}function zt({error:e,url:t,route:n,params:r}){return{type:"loaded",state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:Fe(b),constructors:[]}}}async function Ve({id:e,invalidating:t,url:n,params:r,route:a,preload:i}){if(L?.id===e)return ce.delete(L.token),L.promise;const{errors:s,layouts:o,leaf:l}=a,c=[...o,l];s.forEach(m=>m?.().catch(()=>{})),c.forEach(m=>m?.[1]().catch(()=>{}));const d=_.url?e!==de(_.url):!1,p=_.route?a.id!==_.route.id:!1,f=Yt(_.url,n);let u=!1;const h=c.map(async(m,g)=>{if(!m)return;const E=_.branch[g];return m[1]===E?.loader&&!Jt(u,p,d,f,E.universal?.uses,r)?E:(u=!0,De({loader:m[1],url:n,params:r,route:a,parent:async()=>{const O={};for(let C=0;C<g;C+=1)Object.assign(O,(await h[C])?.data);return O},server_data_node:qe(m[0]?{type:"skip"}:null,m[0]?E?.server:void 0)}))});for(const m of h)m.catch(()=>{});const v=[];for(let m=0;m<c.length;m+=1)if(c[m])try{v.push(await h[m])}catch(g){if(g instanceof Ue)return{type:"redirect",location:g.location};if(ce.has(i))return zt({error:await X(g,{params:r,url:n,route:{id:a.id}}),url:n,params:r,route:a});let E=Oe(g),S;if(g instanceof Ae)S=g.body;else{if(await $.updated.check())return await st(),await Y(n);S=await X(g,{params:r,url:n,route:{id:a.id}})}const O=await Xt(m,v,s);return O?fe({url:n,params:r,branch:v.slice(0,O.idx).concat(O.node),status:E,error:S,route:a}):await gt(n,{id:a.id},S,E)}else v.push(void 0);return fe({url:n,params:r,branch:v,status:200,error:null,route:a,form:t?void 0:null})}async function Xt(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)r-=1;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function Be({status:e,error:t,url:n,route:r}){const a={};let i=null;try{const s=await De({loader:Ee,url:n,params:a,route:r,parent:()=>Promise.resolve({}),server_data_node:qe(i)}),o={node:await ae(),loader:ae,universal:null,server:null,data:null};return fe({url:n,params:a,branch:[s,o],status:e,error:t,route:null})}catch(s){if(s instanceof Ue)return Ne(new URL(s.location,location.href),{},0);throw s}}async function Qt(e){const t=e.href;if(te.has(t))return te.get(t);let n;try{const r=(async()=>{let a=await w.hooks.reroute({url:new URL(e),fetch:async(i,s)=>ht(i,s,e).promise})??e;if(typeof a=="string"){const i=new URL(e);w.hash?i.hash=a:i.pathname=a,a=i}return a})();te.set(t,r),n=await r}catch{te.delete(t);return}return n}async function Z(e,t){if(e&&!pe(e,x,w.hash)){const n=await Qt(e);if(!n)return;const r=Zt(n);for(const a of $e){const i=a.exec(r);if(i)return{id:de(e),invalidating:t,route:a,params:bt(i),url:e}}}}function Zt(e){return yt(w.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(x.length))||"/"}function de(e){return(w.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function pt({url:e,type:t,intent:n,delta:r,event:a,scroll:i}){let s=!1;const o=Ke(_,n,e,t,i??null);r!==void 0&&(o.navigation.delta=r),a!==void 0&&(o.navigation.event=a);const l={...o.navigation,cancel:()=>{s=!0,o.reject(new Error("navigation cancelled"))}};return z||it.forEach(c=>c(l)),s?null:o}async function K({type:e,url:t,popped:n,keepfocus:r,noscroll:a,replace_state:i,state:s={},redirect_count:o=0,nav_token:l={},accept:c=ke,block:d=ke,event:p}){const f=I;I=l;const u=await Z(t,!1),h=e==="enter"?Ke(_,u,t,e):pt({url:t,type:e,delta:n?.delta,intent:u,scroll:n?.scroll,event:p});if(!h){d(),I===l&&(I=f);return}const v=y,m=R;c(),z=!0,le&&h.navigation.type!=="enter"&&$.navigating.set(W.current=h.navigation);let g=u&&await Ve(u);if(!g){if(pe(t,x,w.hash))return await Y(t,i);g=await gt(t,{id:null},await X(new Pe(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,i)}if(t=u?.url||t,I!==l)return h.reject(new Error("navigation aborted")),!1;if(g.type==="redirect"){if(o<20){await K({type:e,url:new URL(g.location,t),popped:n,keepfocus:r,noscroll:a,replace_state:i,state:s,redirect_count:o+1,nav_token:l}),h.fulfil(void 0);return}g=await Be({status:500,error:await X(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}})}else g.props.page.status>=400&&await $.updated.check()&&(await st(),await Y(t,i));if(Re(),Ce(v),ut(m),g.props.page.url.pathname!==t.pathname&&(t.pathname=g.props.page.url.pathname),s=n?n.state:s,!n){const k=i?0:1,ee={[B]:y+=k,[H]:R+=k,[et]:s};(i?history.replaceState:history.pushState).call(history,ee,"",t),i||Gt(y,R)}const E=u&&L?.id===u.id?L.fork:null;L=null,g.props.page.state=s;let S;if(le){const k=(await Promise.all(Array.from(Mt,q=>q(h.navigation)))).filter(q=>typeof q=="function");if(k.length>0){let q=function(){k.forEach(ge=>{M.delete(ge)})};k.push(q),k.forEach(ge=>{M.add(ge)})}_=g.state,g.props.page&&(g.props.page.url=t);const ee=E&&await E;ee?S=ee.commit():(je.$set(g.props),ot(g.props.page),S=vt?.()),ct=!0}else await dt(g,Se,!1);const{activeElement:O}=document;await S,await ne(),await ne();let C=null;if(Ye){const k=n?n.scroll:a?D():null;k?scrollTo(k.x,k.y):(C=t.hash&&document.getElementById(mt(t)))?C.scrollIntoView():scrollTo(0,0)}const _t=document.activeElement!==O&&document.activeElement!==document.body;!r&&!_t&&on(t,!C),Ye=!0,g.props.page&&Object.assign(b,g.props.page),z=!1,e==="popstate"&&ft(R),h.fulfil(void 0),h.navigation.to&&(h.navigation.to.scroll=D()),M.forEach(k=>k(h.navigation)),$.navigating.set(W.current=null)}async function gt(e,t,n,r,a){return e.origin===he&&e.pathname===location.pathname&&!lt?await Be({status:r,error:n,url:e,route:t}):await Y(e,a)}function en(){let e,t={element:void 0,href:void 0},n;T.addEventListener("mousemove",o=>{const l=o.target;clearTimeout(e),e=setTimeout(()=>{i(l,N.hover)},20)});function r(o){o.defaultPrevented||i(o.composedPath()[0],N.tap)}T.addEventListener("mousedown",r),T.addEventListener("touchstart",r,{passive:!0});const a=new IntersectionObserver(o=>{for(const l of o)l.isIntersecting&&(ye(new URL(l.target.href)),a.unobserve(l.target))},{threshold:0});async function i(o,l){const c=nt(o,T),d=c===t.element&&c?.href===t.href&&l>=n;if(!c||d)return;const{url:p,external:f,download:u}=be(c,x,w.hash);if(f||u)return;const h=re(c),v=p&&de(_.url)===de(p);if(!(h.reload||v))if(l<=h.preload_data){t={element:c,href:c.href},n=N.tap;const m=await Z(p,!1);if(!m)return;Wt(m)}else l<=h.preload_code&&(t={element:c,href:c.href},n=l,ye(p))}function s(){a.disconnect();for(const o of T.querySelectorAll("a")){const{url:l,external:c,download:d}=be(o,x,w.hash);if(c||d)continue;const p=re(o);p.reload||(p.preload_code===N.viewport&&a.observe(o),p.preload_code===N.eager&&ye(l))}}M.add(s),s()}function X(e,t){if(e instanceof Ae)return e.body;const n=Oe(e),r=Vt(e);return w.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function pn(e,t={}){return e=new URL(Ie(e)),e.origin!==he?Promise.reject(new Error("goto: invalid URL")):Ne(e,t,0)}function tn(e){if(typeof e=="function")oe.push(e);else{const{href:t}=new URL(e,location.href);oe.push(n=>n.href===t)}}function gn(){return Q=!0,Ht()}function nn(){history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let n=!1;if(ze(),!z){const r=Ke(_,void 0,null,"leave"),a={...r.navigation,cancel:()=>{n=!0,r.reject(new Error("navigation cancelled"))}};it.forEach(i=>i(a))}n?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&ze()}),navigator.connection?.saveData||en(),T.addEventListener("click",async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const n=nt(t.composedPath()[0],T);if(!n)return;const{url:r,external:a,target:i,download:s}=be(n,x,w.hash);if(!r)return;if(i==="_parent"||i==="_top"){if(window.parent!==window)return}else if(i&&i!=="_self")return;const o=re(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||s)return;const[c,d]=(w.hash?r.hash.replace(/^#/,""):r.href).split("#"),p=c===me(location);if(a||o.reload&&(!p||!d)){pt({url:r,type:"link",event:t})?z=!0:t.preventDefault();return}if(d!==void 0&&p){const[,f]=_.url.href.split("#");if(f===d){if(t.preventDefault(),d===""||d==="top"&&n.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const u=n.ownerDocument.getElementById(decodeURIComponent(d));u&&(u.scrollIntoView(),u.focus())}return}if(F=!0,Ce(y),e(r),!o.replace_state)return;F=!1}t.preventDefault(),await new Promise(f=>{requestAnimationFrame(()=>{setTimeout(f,0)}),setTimeout(f,100)}),await K({type:"link",url:r,keepfocus:o.keepfocus,noscroll:o.noscroll,replace_state:o.replace_state??r.href===location.href,event:t})}),T.addEventListener("submit",t=>{if(t.defaultPrevented)return;const n=HTMLFormElement.prototype.cloneNode.call(t.target),r=t.submitter;if((r?.formTarget||n.target)==="_blank"||(r?.formMethod||n.method)!=="get")return;const s=new URL(r?.hasAttribute("formaction")&&r?.formAction||n.action);if(pe(s,x,!1))return;const o=t.target,l=re(o);if(l.reload)return;t.preventDefault(),t.stopPropagation();const c=new FormData(o,r);s.search=new URLSearchParams(c).toString(),K({type:"form",url:s,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??s.href===location.href,event:t})}),addEventListener("popstate",async t=>{if(!xe){if(t.state?.[B]){const n=t.state[B];if(I={},n===y)return;const r=j[n],a=t.state[et]??{},i=new URL(t.state[jt]??location.href),s=t.state[H],o=_.url?me(location)===me(_.url):!1;if(s===R&&(ct||o)){a!==b.state&&(b.state=a),e(i),j[y]=D(),r&&scrollTo(r.x,r.y),y=n;return}const c=n-y;await K({type:"popstate",url:i,popped:{state:a,scroll:r,delta:c},accept:()=>{y=n,R=s},block:()=>{history.go(-c)},nav_token:I,event:t})}else if(!F){const n=new URL(location.href);e(n),w.hash&&location.reload()}}}),addEventListener("hashchange",()=>{F&&(F=!1,history.replaceState({...history.state,[B]:++y,[H]:R},"",location.href))});for(const t of document.querySelectorAll("link"))Ft.has(t.rel)&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&$.navigating.set(W.current=null)});function e(t){_.url=b.url=t,$.page.set(Fe(b)),$.page.notify()}}async function rn(e,{status:t=200,error:n,node_ids:r,params:a,route:i,server_route:s,data:o,form:l}){lt=!0;const c=new URL(location.href);let d;({params:a={},route:i={id:null}}=await Z(c,!1)||{}),d=$e.find(({id:u})=>u===i.id);let p,f=!0;try{const u=r.map(async(v,m)=>{const g=o[m];return g?.uses&&(g.uses=an(g.uses)),De({loader:w.nodes[v],url:c,params:a,route:i,parent:async()=>{const E={};for(let S=0;S<m;S+=1)Object.assign(E,(await u[S]).data);return E},server_data_node:qe(g)})}),h=await Promise.all(u);if(d){const v=d.layouts;for(let m=0;m<v.length;m++)v[m]||h.splice(m,0,void 0)}p=fe({url:c,params:a,branch:h,status:t,error:n,form:l,route:d??null})}catch(u){if(u instanceof Ue){await Y(new URL(u.location,location.href));return}p=await Be({status:Oe(u),error:await X(u,{url:c,params:a,route:i}),url:c,route:i}),e.textContent="",f=!1}p.props.page&&(p.props.page.state={}),await dt(p,e,f)}function an(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??[])}}let xe=!1;function on(e,t=!0){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const r=mt(e);if(r&&document.getElementById(r)){const{x:i,y:s}=D();setTimeout(()=>{const o=history.state;xe=!0,location.replace(new URL(`#${r}`,location.href)),history.replaceState(o,"",e),t&&scrollTo(i,s),xe=!1})}else{const i=document.body,s=i.getAttribute("tabindex");i.tabIndex=-1,i.focus({preventScroll:!0,focusVisible:!1}),s!==null?i.setAttribute("tabindex",s):i.removeAttribute("tabindex")}const a=getSelection();if(a&&a.type!=="None"){const i=[];for(let s=0;s<a.rangeCount;s+=1)i.push(a.getRangeAt(s));setTimeout(()=>{if(a.rangeCount===i.length){for(let s=0;s<a.rangeCount;s+=1){const o=i[s],l=a.getRangeAt(s);if(o.commonAncestorContainer!==l.commonAncestorContainer||o.startContainer!==l.startContainer||o.endContainer!==l.endContainer||o.startOffset!==l.startOffset||o.endOffset!==l.endOffset)return}a.removeAllRanges()}})}}}function Ke(e,t,n,r,a=null){let i,s;const o=new Promise((c,d)=>{i=c,s=d});return o.catch(()=>{}),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:D()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:a},willUnload:!t,type:r,complete:o},fulfil:i,reject:s}}function Fe(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 sn(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function mt(e){let t;if(w.hash){const[,,n]=e.hash.split("#",3);t=n??""}else t=e.hash.slice(1);return decodeURIComponent(t)}export{hn as a,pn as g,gn as i,cn as l,b as p,$ as s};
|