@coreplane/switchboard 1.19.3 → 1.201.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/config/config.example.yaml +9 -0
- package/dist/assets/deploy/cloudflare/package.json +1 -1
- package/dist/assets/deploy/cloudflare-resident/package.json +1 -1
- package/dist/assets/deploy/cloudflare-resident/worker.ts +1663 -456
- package/dist/assets/deploy/cloudflare-resident/wrangler.template.jsonc +12 -0
- package/dist/assets/deploy/cloudflare-sandbox/package.json +1 -1
- package/dist/assets/package-lock.json +13 -22
- package/dist/assets/package.json +1 -1
- package/dist/assets/project.json +1 -1
- package/dist/assets/source.json +3 -3
- package/dist/assets/src/core/schedules.ts +7 -2
- package/dist/assets/src/core/trace/attrs.ts +7 -0
- package/dist/assets/src/execution/residentDepsStore.ts +16 -0
- package/dist/assets/src/execution/residentIncarnation.ts +134 -0
- package/dist/assets/src/execution/residentInstanceId.ts +177 -0
- package/dist/assets/src/execution/residentStepPlan.ts +128 -0
- package/dist/assets/web/dist/.vite/manifest.json +104 -67
- package/dist/assets/web/dist/assets/{AppShell-Bk2gbvet.js → AppShell-CjDyTiip.js} +1 -1
- package/dist/assets/web/dist/assets/CostsPage-CMAh3G74.js +1 -0
- package/dist/assets/web/dist/assets/NotFoundPage-CbEKm0tY.js +1 -0
- package/dist/assets/web/dist/assets/ResidentDetailPage-CcfmOAIP.js +1 -0
- package/dist/assets/web/dist/assets/ResidentsIndexPage-9Z5jcteM.js +1 -0
- package/dist/assets/web/dist/assets/{RunRoutePage-XVFj0XDc.css → RunRoutePage-CdbrbqU2.css} +1 -1
- package/dist/assets/web/dist/assets/{RunRoutePage-ty94olNM.js → RunRoutePage-Cdimh4e0.js} +4 -4
- package/dist/assets/web/dist/assets/RunsIndexPage-CvgDXrO4.js +1 -0
- package/dist/assets/web/dist/assets/{RunsTabs-C4krAL9o.js → RunsTabs-rEjVQG6H.js} +1 -1
- package/dist/assets/web/dist/assets/ScheduledPage-C5bG9qvd.js +1 -0
- package/dist/assets/web/dist/assets/StatusDot-D_IPK3WP.js +1 -0
- package/dist/assets/web/dist/assets/{Tooltip-BfLPyxQy.js → Tooltip-JlZp3OVC.js} +1 -1
- package/dist/assets/web/dist/assets/{favicon-DL1rdWJt.js → favicon-DZDjc8ab.js} +1 -1
- package/dist/assets/web/dist/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2 +0 -0
- package/dist/assets/web/dist/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2 +0 -0
- package/dist/assets/web/dist/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2 +0 -0
- package/dist/assets/web/dist/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2 +0 -0
- package/dist/assets/web/dist/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2 +0 -0
- package/dist/assets/web/dist/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
- package/dist/assets/web/dist/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2 +0 -0
- package/dist/assets/web/dist/assets/{main-Bnbk_Rsg.js → main-BKKzFAnK.js} +3 -3
- package/dist/assets/web/dist/assets/main-DoTjwE-G.css +1 -0
- package/dist/assets/web/dist/assets/{seed-BglCRKLA.js → seed-B8mQEhhw.js} +1 -1
- package/dist/assets/web/dist/assets/{wallClock-Ckv3sKoR.js → wallClock-DI4HIEN5.js} +1 -1
- package/dist/cli.js +66 -9
- package/package.json +1 -1
- package/dist/assets/web/dist/assets/CostsPage-CTZcMYYx.js +0 -1
- package/dist/assets/web/dist/assets/NotFoundPage-C-BuaSm8.js +0 -1
- package/dist/assets/web/dist/assets/ResidentDetailPage-DvQ05AGa.js +0 -1
- package/dist/assets/web/dist/assets/ResidentsIndexPage-B3uxKUne.js +0 -1
- package/dist/assets/web/dist/assets/RunsIndexPage-CM-qxyQm.js +0 -1
- package/dist/assets/web/dist/assets/ScheduledPage-C1psvLD4.js +0 -1
- package/dist/assets/web/dist/assets/StatusDot-DuoQnQeU.js +0 -1
- package/dist/assets/web/dist/assets/main-BsBGUyMH.css +0 -2
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/** The read-then-act plan for each engine step the resident Worker runs
|
|
2
|
+
* (docs/reference/specs/resident-repos.md item 22), kept pure and
|
|
3
|
+
* dependency-free so it is unit-testable from src/ and imported by the
|
|
4
|
+
* resident Worker like residentRefresh — the tested code IS the shipped code.
|
|
5
|
+
*
|
|
6
|
+
* Every step method on the resident (`fetchMirror`, `installDeps`, `runBuild`,
|
|
7
|
+
* `snapshot`, `restoreCheckout`, and the wake path's dependency view) begins
|
|
8
|
+
* by reading the facts it is about to change — a stored record, the disk
|
|
9
|
+
* markers, the store — and asks one of these functions whether the work is
|
|
10
|
+
* already done. A step that is done issues no command, so a second call with
|
|
11
|
+
* the same inputs has no effect; that is what lets a caller retry a step it
|
|
12
|
+
* cannot tell apart from one that was killed mid-way. The snapshot step adds
|
|
13
|
+
* the compare-and-swap rule: its record is committed only over the record it
|
|
14
|
+
* read at the start, and a stamp that moved meanwhile makes the step
|
|
15
|
+
* `superseded`, never a throw. */
|
|
16
|
+
|
|
17
|
+
import { planRefresh, type CleanScope, type RefreshDisk } from "./residentRefresh.js";
|
|
18
|
+
|
|
19
|
+
/** Where `fetchMirror` records the fetch a cycle made. */
|
|
20
|
+
export const LAST_FETCH_KEY = "resident:lastFetch";
|
|
21
|
+
|
|
22
|
+
export interface FetchRecord {
|
|
23
|
+
/** The cycle that fetched (the alarm firing or the instance driving it). */
|
|
24
|
+
cycle: string;
|
|
25
|
+
ref: string;
|
|
26
|
+
/** The ref's tip in the mirror after that fetch. */
|
|
27
|
+
sha: string;
|
|
28
|
+
at: number;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export type FetchPlan = { action: "done"; why: string; sha: string } | { action: "run"; why: string };
|
|
32
|
+
|
|
33
|
+
export function planFetchMirror(input: { ref: string; cycle: string; last: FetchRecord | undefined }): FetchPlan {
|
|
34
|
+
const { last } = input;
|
|
35
|
+
if (last && last.cycle === input.cycle && last.ref === input.ref) {
|
|
36
|
+
return { action: "done", why: `cycle ${input.cycle} already fetched ${input.ref}`, sha: last.sha };
|
|
37
|
+
}
|
|
38
|
+
return { action: "run", why: "no fetch recorded for this cycle" };
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export type StepPlan = { action: "done"; why: string } | { action: "run"; why: string };
|
|
42
|
+
|
|
43
|
+
export function planInstallDeps(input: { key: string; entryComplete: boolean }): StepPlan {
|
|
44
|
+
const short = input.key.slice(0, 8);
|
|
45
|
+
return input.entryComplete
|
|
46
|
+
? { action: "done", why: `store entry ${short} is complete` }
|
|
47
|
+
: { action: "run", why: `no complete store entry for ${short}` };
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export type BuildDisk = RefreshDisk;
|
|
51
|
+
|
|
52
|
+
export type BuildPlan =
|
|
53
|
+
{ action: "done"; why: string } | { action: "run"; why: string; install: boolean; clean: CleanScope };
|
|
54
|
+
|
|
55
|
+
/** The build step over the refresh planner: the recorded facts already at the
|
|
56
|
+
* target, or a checkout whose HEAD, deps and build markers all name it, is
|
|
57
|
+
* done; anything else is the planner's rebuild, with its install gate and
|
|
58
|
+
* clean scope. */
|
|
59
|
+
export function planBuild(input: { sha: string; factsSha: string; lockfileKey: string; disk: BuildDisk }): BuildPlan {
|
|
60
|
+
const plan = planRefresh(input);
|
|
61
|
+
if (plan.action === "unchanged") return { action: "done", why: `facts already at ${input.sha.slice(0, 8)}` };
|
|
62
|
+
if (plan.action === "reuse") return { action: "done", why: plan.why };
|
|
63
|
+
return { action: "run", why: plan.why, install: plan.install, clean: plan.clean };
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export interface SnapshotStamp {
|
|
67
|
+
ref: string;
|
|
68
|
+
sha: string;
|
|
69
|
+
lockfileHash: string;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/** What the stored snapshot record shows of itself: its stamp and when it was
|
|
73
|
+
* written. Two records with equal fields are the same record. */
|
|
74
|
+
export type StampedRecord = SnapshotStamp & { createdAt: string };
|
|
75
|
+
|
|
76
|
+
const stampText = (s: SnapshotStamp) => `{${s.ref}, ${s.sha.slice(0, 8)}, ${s.lockfileHash.slice(0, 8)}}`;
|
|
77
|
+
|
|
78
|
+
const sameStamp = (a: SnapshotStamp, b: SnapshotStamp) =>
|
|
79
|
+
a.ref === b.ref && a.sha === b.sha && a.lockfileHash === b.lockfileHash;
|
|
80
|
+
|
|
81
|
+
export function planSnapshot(input: { stamp: SnapshotStamp; current: StampedRecord | undefined }): StepPlan {
|
|
82
|
+
if (!input.current) return { action: "run", why: "no snapshot recorded" };
|
|
83
|
+
return sameStamp(input.current, input.stamp)
|
|
84
|
+
? { action: "done", why: `snapshot already at ${stampText(input.stamp)}` }
|
|
85
|
+
: { action: "run", why: `snapshot at ${stampText(input.current)}, the target is ${stampText(input.stamp)}` };
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export type SnapshotCommit = { action: "commit" } | { action: "superseded"; by: StampedRecord | undefined };
|
|
89
|
+
|
|
90
|
+
/** Commit only over the record read at the start; a record that appeared,
|
|
91
|
+
* vanished or changed meanwhile was written by someone else and wins. */
|
|
92
|
+
export function snapshotCommitDecision(input: {
|
|
93
|
+
readAtStart: StampedRecord | undefined;
|
|
94
|
+
current: StampedRecord | undefined;
|
|
95
|
+
}): SnapshotCommit {
|
|
96
|
+
const { readAtStart, current } = input;
|
|
97
|
+
if (!readAtStart && !current) return { action: "commit" };
|
|
98
|
+
if (readAtStart && current && sameStamp(readAtStart, current) && readAtStart.createdAt === current.createdAt) {
|
|
99
|
+
return { action: "commit" };
|
|
100
|
+
}
|
|
101
|
+
return { action: "superseded", by: current };
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/** The restore step: the ready marker (the sha the last materialized disk
|
|
105
|
+
* was left at, present only when both trees exist) proves the disk. */
|
|
106
|
+
export function planRestore(input: { sha: string; readyStamp: string | null }): StepPlan {
|
|
107
|
+
const target = input.sha.slice(0, 8);
|
|
108
|
+
if (input.readyStamp === input.sha) return { action: "done", why: `disk already holds ${target}` };
|
|
109
|
+
const holds = input.readyStamp === null ? "nothing" : input.readyStamp.slice(0, 8);
|
|
110
|
+
return { action: "run", why: `disk holds ${holds}, the stamp says ${target}` };
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export type MaterializeDepsPlan = { action: "done"; why: string } | { action: "run"; why: string; needsEntry: boolean };
|
|
114
|
+
|
|
115
|
+
/** The wake path's dependency view: the checkout holding its `node_modules`
|
|
116
|
+
* is done; otherwise link the key's entry, producing it first when the store
|
|
117
|
+
* has none. */
|
|
118
|
+
export function planMaterializeDeps(input: {
|
|
119
|
+
key: string;
|
|
120
|
+
viewPresent: boolean;
|
|
121
|
+
entryComplete: boolean;
|
|
122
|
+
}): MaterializeDepsPlan {
|
|
123
|
+
if (input.viewPresent) return { action: "done", why: "the checkout holds its dependency view" };
|
|
124
|
+
const short = input.key.slice(0, 8);
|
|
125
|
+
return input.entryComplete
|
|
126
|
+
? { action: "run", why: `link the complete entry ${short}`, needsEntry: false }
|
|
127
|
+
: { action: "run", why: `materialize ${short} into the store, then link it`, needsEntry: true };
|
|
128
|
+
}
|
|
@@ -1,51 +1,79 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"file": "assets/
|
|
2
|
+
"../node_modules/@fontsource-variable/instrument-sans/files/instrument-sans-latin-ext-wght-normal.woff2": {
|
|
3
|
+
"file": "assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2",
|
|
4
|
+
"src": "../node_modules/@fontsource-variable/instrument-sans/files/instrument-sans-latin-ext-wght-normal.woff2"
|
|
5
|
+
},
|
|
6
|
+
"../node_modules/@fontsource-variable/instrument-sans/files/instrument-sans-latin-wght-normal.woff2": {
|
|
7
|
+
"file": "assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2",
|
|
8
|
+
"src": "../node_modules/@fontsource-variable/instrument-sans/files/instrument-sans-latin-wght-normal.woff2"
|
|
9
|
+
},
|
|
10
|
+
"../node_modules/@fontsource-variable/jetbrains-mono/files/jetbrains-mono-cyrillic-wght-normal.woff2": {
|
|
11
|
+
"file": "assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2",
|
|
12
|
+
"src": "../node_modules/@fontsource-variable/jetbrains-mono/files/jetbrains-mono-cyrillic-wght-normal.woff2"
|
|
13
|
+
},
|
|
14
|
+
"../node_modules/@fontsource-variable/jetbrains-mono/files/jetbrains-mono-greek-wght-normal.woff2": {
|
|
15
|
+
"file": "assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2",
|
|
16
|
+
"src": "../node_modules/@fontsource-variable/jetbrains-mono/files/jetbrains-mono-greek-wght-normal.woff2"
|
|
17
|
+
},
|
|
18
|
+
"../node_modules/@fontsource-variable/jetbrains-mono/files/jetbrains-mono-latin-ext-wght-normal.woff2": {
|
|
19
|
+
"file": "assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2",
|
|
20
|
+
"src": "../node_modules/@fontsource-variable/jetbrains-mono/files/jetbrains-mono-latin-ext-wght-normal.woff2"
|
|
21
|
+
},
|
|
22
|
+
"../node_modules/@fontsource-variable/jetbrains-mono/files/jetbrains-mono-latin-wght-normal.woff2": {
|
|
23
|
+
"file": "assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2",
|
|
24
|
+
"src": "../node_modules/@fontsource-variable/jetbrains-mono/files/jetbrains-mono-latin-wght-normal.woff2"
|
|
25
|
+
},
|
|
26
|
+
"../node_modules/@fontsource-variable/jetbrains-mono/files/jetbrains-mono-vietnamese-wght-normal.woff2": {
|
|
27
|
+
"file": "assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2",
|
|
28
|
+
"src": "../node_modules/@fontsource-variable/jetbrains-mono/files/jetbrains-mono-vietnamese-wght-normal.woff2"
|
|
29
|
+
},
|
|
30
|
+
"_AppShell-CjDyTiip.js": {
|
|
31
|
+
"file": "assets/AppShell-CjDyTiip.js",
|
|
4
32
|
"name": "AppShell",
|
|
5
33
|
"imports": [
|
|
6
|
-
"_seed-
|
|
34
|
+
"_seed-B8mQEhhw.js"
|
|
7
35
|
]
|
|
8
36
|
},
|
|
9
|
-
"_NotFoundPage-
|
|
10
|
-
"file": "assets/NotFoundPage-
|
|
37
|
+
"_NotFoundPage-CbEKm0tY.js": {
|
|
38
|
+
"file": "assets/NotFoundPage-CbEKm0tY.js",
|
|
11
39
|
"name": "NotFoundPage",
|
|
12
40
|
"imports": [
|
|
13
|
-
"_AppShell-
|
|
14
|
-
"_seed-
|
|
15
|
-
"_RunsTabs-
|
|
41
|
+
"_AppShell-CjDyTiip.js",
|
|
42
|
+
"_seed-B8mQEhhw.js",
|
|
43
|
+
"_RunsTabs-rEjVQG6H.js"
|
|
16
44
|
]
|
|
17
45
|
},
|
|
18
|
-
"_RunsTabs-
|
|
19
|
-
"file": "assets/RunsTabs-
|
|
46
|
+
"_RunsTabs-rEjVQG6H.js": {
|
|
47
|
+
"file": "assets/RunsTabs-rEjVQG6H.js",
|
|
20
48
|
"name": "RunsTabs",
|
|
21
49
|
"imports": [
|
|
22
|
-
"_AppShell-
|
|
23
|
-
"_seed-
|
|
50
|
+
"_AppShell-CjDyTiip.js",
|
|
51
|
+
"_seed-B8mQEhhw.js"
|
|
24
52
|
]
|
|
25
53
|
},
|
|
26
|
-
"_StatusDot-
|
|
27
|
-
"file": "assets/StatusDot-
|
|
54
|
+
"_StatusDot-D_IPK3WP.js": {
|
|
55
|
+
"file": "assets/StatusDot-D_IPK3WP.js",
|
|
28
56
|
"name": "StatusDot",
|
|
29
57
|
"imports": [
|
|
30
|
-
"_seed-
|
|
31
|
-
"_Tooltip-
|
|
58
|
+
"_seed-B8mQEhhw.js",
|
|
59
|
+
"_Tooltip-JlZp3OVC.js"
|
|
32
60
|
]
|
|
33
61
|
},
|
|
34
|
-
"_Tooltip-
|
|
35
|
-
"file": "assets/Tooltip-
|
|
62
|
+
"_Tooltip-JlZp3OVC.js": {
|
|
63
|
+
"file": "assets/Tooltip-JlZp3OVC.js",
|
|
36
64
|
"name": "Tooltip",
|
|
37
65
|
"imports": [
|
|
38
|
-
"_AppShell-
|
|
39
|
-
"_seed-
|
|
66
|
+
"_AppShell-CjDyTiip.js",
|
|
67
|
+
"_seed-B8mQEhhw.js",
|
|
40
68
|
"src/main.ts"
|
|
41
69
|
]
|
|
42
70
|
},
|
|
43
|
-
"_favicon-
|
|
44
|
-
"file": "assets/favicon-
|
|
71
|
+
"_favicon-DZDjc8ab.js": {
|
|
72
|
+
"file": "assets/favicon-DZDjc8ab.js",
|
|
45
73
|
"name": "favicon",
|
|
46
74
|
"imports": [
|
|
47
|
-
"_AppShell-
|
|
48
|
-
"_seed-
|
|
75
|
+
"_AppShell-CjDyTiip.js",
|
|
76
|
+
"_seed-B8mQEhhw.js",
|
|
49
77
|
"_localIso-L06jV29p.js"
|
|
50
78
|
]
|
|
51
79
|
},
|
|
@@ -57,24 +85,24 @@
|
|
|
57
85
|
"file": "assets/residentDiskBudget-BMBKlYRH.js",
|
|
58
86
|
"name": "residentDiskBudget"
|
|
59
87
|
},
|
|
60
|
-
"_seed-
|
|
61
|
-
"file": "assets/seed-
|
|
88
|
+
"_seed-B8mQEhhw.js": {
|
|
89
|
+
"file": "assets/seed-B8mQEhhw.js",
|
|
62
90
|
"name": "seed"
|
|
63
91
|
},
|
|
64
|
-
"_wallClock-
|
|
65
|
-
"file": "assets/wallClock-
|
|
92
|
+
"_wallClock-DI4HIEN5.js": {
|
|
93
|
+
"file": "assets/wallClock-DI4HIEN5.js",
|
|
66
94
|
"name": "wallClock",
|
|
67
95
|
"imports": [
|
|
68
|
-
"_seed-
|
|
96
|
+
"_seed-B8mQEhhw.js"
|
|
69
97
|
]
|
|
70
98
|
},
|
|
71
99
|
"src/main.ts": {
|
|
72
|
-
"file": "assets/main-
|
|
100
|
+
"file": "assets/main-BKKzFAnK.js",
|
|
73
101
|
"name": "main",
|
|
74
102
|
"src": "src/main.ts",
|
|
75
103
|
"isEntry": true,
|
|
76
104
|
"imports": [
|
|
77
|
-
"_seed-
|
|
105
|
+
"_seed-B8mQEhhw.js"
|
|
78
106
|
],
|
|
79
107
|
"dynamicImports": [
|
|
80
108
|
"src/pages/RunsIndexPage.vue",
|
|
@@ -83,93 +111,102 @@
|
|
|
83
111
|
"src/pages/ResidentsIndexPage.vue",
|
|
84
112
|
"src/pages/ResidentDetailPage.vue",
|
|
85
113
|
"src/pages/CostsPage.vue",
|
|
86
|
-
"_NotFoundPage-
|
|
114
|
+
"_NotFoundPage-CbEKm0tY.js"
|
|
87
115
|
],
|
|
88
116
|
"css": [
|
|
89
|
-
"assets/main-
|
|
117
|
+
"assets/main-DoTjwE-G.css"
|
|
118
|
+
],
|
|
119
|
+
"assets": [
|
|
120
|
+
"assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2",
|
|
121
|
+
"assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2",
|
|
122
|
+
"assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2",
|
|
123
|
+
"assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2",
|
|
124
|
+
"assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2",
|
|
125
|
+
"assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2",
|
|
126
|
+
"assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2"
|
|
90
127
|
]
|
|
91
128
|
},
|
|
92
129
|
"src/pages/CostsPage.vue": {
|
|
93
|
-
"file": "assets/CostsPage-
|
|
130
|
+
"file": "assets/CostsPage-CMAh3G74.js",
|
|
94
131
|
"name": "CostsPage",
|
|
95
132
|
"src": "src/pages/CostsPage.vue",
|
|
96
133
|
"isDynamicEntry": true,
|
|
97
134
|
"imports": [
|
|
98
|
-
"_AppShell-
|
|
99
|
-
"_seed-
|
|
135
|
+
"_AppShell-CjDyTiip.js",
|
|
136
|
+
"_seed-B8mQEhhw.js"
|
|
100
137
|
]
|
|
101
138
|
},
|
|
102
139
|
"src/pages/ResidentDetailPage.vue": {
|
|
103
|
-
"file": "assets/ResidentDetailPage-
|
|
140
|
+
"file": "assets/ResidentDetailPage-CcfmOAIP.js",
|
|
104
141
|
"name": "ResidentDetailPage",
|
|
105
142
|
"src": "src/pages/ResidentDetailPage.vue",
|
|
106
143
|
"isDynamicEntry": true,
|
|
107
144
|
"imports": [
|
|
108
|
-
"_AppShell-
|
|
109
|
-
"_seed-
|
|
110
|
-
"_StatusDot-
|
|
145
|
+
"_AppShell-CjDyTiip.js",
|
|
146
|
+
"_seed-B8mQEhhw.js",
|
|
147
|
+
"_StatusDot-D_IPK3WP.js",
|
|
111
148
|
"_residentDiskBudget-BMBKlYRH.js"
|
|
112
149
|
]
|
|
113
150
|
},
|
|
114
151
|
"src/pages/ResidentsIndexPage.vue": {
|
|
115
|
-
"file": "assets/ResidentsIndexPage-
|
|
152
|
+
"file": "assets/ResidentsIndexPage-9Z5jcteM.js",
|
|
116
153
|
"name": "ResidentsIndexPage",
|
|
117
154
|
"src": "src/pages/ResidentsIndexPage.vue",
|
|
118
155
|
"isDynamicEntry": true,
|
|
119
156
|
"imports": [
|
|
120
|
-
"_AppShell-
|
|
121
|
-
"_seed-
|
|
122
|
-
"_StatusDot-
|
|
157
|
+
"_AppShell-CjDyTiip.js",
|
|
158
|
+
"_seed-B8mQEhhw.js",
|
|
159
|
+
"_StatusDot-D_IPK3WP.js",
|
|
123
160
|
"_residentDiskBudget-BMBKlYRH.js",
|
|
124
|
-
"_wallClock-
|
|
161
|
+
"_wallClock-DI4HIEN5.js"
|
|
125
162
|
]
|
|
126
163
|
},
|
|
127
164
|
"src/pages/RunRoutePage.vue": {
|
|
128
|
-
"file": "assets/RunRoutePage-
|
|
165
|
+
"file": "assets/RunRoutePage-Cdimh4e0.js",
|
|
129
166
|
"name": "RunRoutePage",
|
|
130
167
|
"src": "src/pages/RunRoutePage.vue",
|
|
131
168
|
"isDynamicEntry": true,
|
|
132
169
|
"imports": [
|
|
133
|
-
"_AppShell-
|
|
134
|
-
"_seed-
|
|
135
|
-
"_Tooltip-
|
|
170
|
+
"_AppShell-CjDyTiip.js",
|
|
171
|
+
"_seed-B8mQEhhw.js",
|
|
172
|
+
"_Tooltip-JlZp3OVC.js",
|
|
136
173
|
"src/main.ts",
|
|
137
|
-
"_NotFoundPage-
|
|
138
|
-
"_wallClock-
|
|
139
|
-
"_favicon-
|
|
174
|
+
"_NotFoundPage-CbEKm0tY.js",
|
|
175
|
+
"_wallClock-DI4HIEN5.js",
|
|
176
|
+
"_favicon-DZDjc8ab.js",
|
|
140
177
|
"_localIso-L06jV29p.js"
|
|
141
178
|
],
|
|
142
179
|
"css": [
|
|
143
|
-
"assets/RunRoutePage-
|
|
180
|
+
"assets/RunRoutePage-CdbrbqU2.css"
|
|
144
181
|
]
|
|
145
182
|
},
|
|
146
183
|
"src/pages/RunsIndexPage.vue": {
|
|
147
|
-
"file": "assets/RunsIndexPage-
|
|
184
|
+
"file": "assets/RunsIndexPage-CvgDXrO4.js",
|
|
148
185
|
"name": "RunsIndexPage",
|
|
149
186
|
"src": "src/pages/RunsIndexPage.vue",
|
|
150
187
|
"isDynamicEntry": true,
|
|
151
188
|
"imports": [
|
|
152
|
-
"_AppShell-
|
|
153
|
-
"_seed-
|
|
154
|
-
"_Tooltip-
|
|
155
|
-
"_RunsTabs-
|
|
156
|
-
"_StatusDot-
|
|
157
|
-
"_wallClock-
|
|
158
|
-
"_favicon-
|
|
189
|
+
"_AppShell-CjDyTiip.js",
|
|
190
|
+
"_seed-B8mQEhhw.js",
|
|
191
|
+
"_Tooltip-JlZp3OVC.js",
|
|
192
|
+
"_RunsTabs-rEjVQG6H.js",
|
|
193
|
+
"_StatusDot-D_IPK3WP.js",
|
|
194
|
+
"_wallClock-DI4HIEN5.js",
|
|
195
|
+
"_favicon-DZDjc8ab.js",
|
|
159
196
|
"_localIso-L06jV29p.js"
|
|
160
197
|
]
|
|
161
198
|
},
|
|
162
199
|
"src/pages/ScheduledPage.vue": {
|
|
163
|
-
"file": "assets/ScheduledPage-
|
|
200
|
+
"file": "assets/ScheduledPage-C5bG9qvd.js",
|
|
164
201
|
"name": "ScheduledPage",
|
|
165
202
|
"src": "src/pages/ScheduledPage.vue",
|
|
166
203
|
"isDynamicEntry": true,
|
|
167
204
|
"imports": [
|
|
168
|
-
"_AppShell-
|
|
169
|
-
"_seed-
|
|
170
|
-
"_Tooltip-
|
|
171
|
-
"_RunsTabs-
|
|
172
|
-
"_wallClock-
|
|
205
|
+
"_AppShell-CjDyTiip.js",
|
|
206
|
+
"_seed-B8mQEhhw.js",
|
|
207
|
+
"_Tooltip-JlZp3OVC.js",
|
|
208
|
+
"_RunsTabs-rEjVQG6H.js",
|
|
209
|
+
"_wallClock-DI4HIEN5.js",
|
|
173
210
|
"_localIso-L06jV29p.js"
|
|
174
211
|
]
|
|
175
212
|
}
|