@goodbones/browser 0.1.0-beta.1
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/LICENSE +21 -0
- package/build/dts/index.d.ts +12 -0
- package/build/dts/index.d.ts.map +1 -0
- package/build/dts/main.d.ts +3 -0
- package/build/dts/main.d.ts.map +1 -0
- package/build/dts/model/atlas.d.ts +157 -0
- package/build/dts/model/atlas.d.ts.map +1 -0
- package/build/dts/model/campaigns.d.ts +141 -0
- package/build/dts/model/campaigns.d.ts.map +1 -0
- package/build/dts/server/collect.d.ts +16 -0
- package/build/dts/server/collect.d.ts.map +1 -0
- package/build/dts/server/compose.d.ts +13 -0
- package/build/dts/server/compose.d.ts.map +1 -0
- package/build/dts/server/export.d.ts +3 -0
- package/build/dts/server/export.d.ts.map +1 -0
- package/build/dts/server/handler.d.ts +6 -0
- package/build/dts/server/handler.d.ts.map +1 -0
- package/build/dts/server/serve.d.ts +15 -0
- package/build/dts/server/serve.d.ts.map +1 -0
- package/build/dts/server/site.d.ts +2 -0
- package/build/dts/server/site.d.ts.map +1 -0
- package/build/dts/server/source.d.ts +19 -0
- package/build/dts/server/source.d.ts.map +1 -0
- package/build/dts/server/vite-plugin.d.ts +8 -0
- package/build/dts/server/vite-plugin.d.ts.map +1 -0
- package/build/dts/server/watch.d.ts +10 -0
- package/build/dts/server/watch.d.ts.map +1 -0
- package/build/esm/index.js +14 -0
- package/build/esm/index.js.map +1 -0
- package/build/esm/main.js +134 -0
- package/build/esm/main.js.map +1 -0
- package/build/esm/model/atlas.js +431 -0
- package/build/esm/model/atlas.js.map +1 -0
- package/build/esm/model/campaigns.js +181 -0
- package/build/esm/model/campaigns.js.map +1 -0
- package/build/esm/server/collect.js +83 -0
- package/build/esm/server/collect.js.map +1 -0
- package/build/esm/server/compose.js +50 -0
- package/build/esm/server/compose.js.map +1 -0
- package/build/esm/server/export.js +19 -0
- package/build/esm/server/export.js.map +1 -0
- package/build/esm/server/handler.js +67 -0
- package/build/esm/server/handler.js.map +1 -0
- package/build/esm/server/serve.js +80 -0
- package/build/esm/server/serve.js.map +1 -0
- package/build/esm/server/site.js +6 -0
- package/build/esm/server/site.js.map +1 -0
- package/build/esm/server/source.js +67 -0
- package/build/esm/server/source.js.map +1 -0
- package/build/esm/server/vite-plugin.js +21 -0
- package/build/esm/server/vite-plugin.js.map +1 -0
- package/build/esm/server/watch.js +56 -0
- package/build/esm/server/watch.js.map +1 -0
- package/build/site/_astro/Browser.yxldcnQ3.js +3 -0
- package/build/site/_astro/client.Buyw3Q1S.js +9 -0
- package/build/site/_astro/index.DQrWs1cb.css +1 -0
- package/build/site/_astro/react.DJY1zw8Z.js +1 -0
- package/build/site/favicon.svg +1 -0
- package/build/site/index.html +8 -0
- package/package.json +78 -0
- package/src/app/components/Browser.tsx +153 -0
- package/src/app/components/architecture/ArchitectureBrowser.tsx +240 -0
- package/src/app/components/architecture/Detail.tsx +655 -0
- package/src/app/components/architecture/ManifestPane.tsx +178 -0
- package/src/app/components/architecture/Tree.tsx +205 -0
- package/src/app/components/architecture/rows.ts +181 -0
- package/src/app/components/architecture/selection.ts +6 -0
- package/src/app/components/campaigns/CampaignBrowser.tsx +146 -0
- package/src/app/components/campaigns/Detail.tsx +653 -0
- package/src/app/components/campaigns/Ladder.tsx +326 -0
- package/src/app/components/campaigns/pick.ts +7 -0
- package/src/app/components/lib/data.ts +132 -0
- package/src/app/pages/index.astro +34 -0
- package/src/app/public/favicon.svg +1 -0
- package/src/app/styles/theme.css +993 -0
- package/src/index.ts +37 -0
- package/src/main.ts +155 -0
- package/src/model/atlas.ts +751 -0
- package/src/model/campaigns.ts +376 -0
- package/src/server/collect.ts +132 -0
- package/src/server/compose.ts +79 -0
- package/src/server/export.ts +24 -0
- package/src/server/handler.ts +77 -0
- package/src/server/serve.ts +100 -0
- package/src/server/site.ts +6 -0
- package/src/server/source.ts +89 -0
- package/src/server/vite-plugin.ts +32 -0
- package/src/server/watch.ts +65 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Data Quail
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { type Atlas, type AtlasAllowance, type AtlasEdge, type AtlasExternal, type AtlasFile, type AtlasFolder, type AtlasInput, type AtlasNode, type AtlasPosition, type AtlasRule, type AtlasViolation, buildAtlas, type EdgeStatus, } from "./model/atlas.js";
|
|
2
|
+
export { type CampaignCard, type CampaignView, type CampaignViewInput, campaignViewOf, type HitCard, type ObjectiveCard, type ObjectiveSectorCard, type PhaseCard, type SectorCard, } from "./model/campaigns.js";
|
|
3
|
+
export { collect, type Collected, type CollectOptions, collectWith } from "./server/collect.js";
|
|
4
|
+
export { type LoadedManifest, loadPolicyFromFile } from "./server/compose.js";
|
|
5
|
+
export { exportSite } from "./server/export.js";
|
|
6
|
+
export { type Handler, makeHandler, PREFIX } from "./server/handler.js";
|
|
7
|
+
export { serve, type Served, type ServeOptions } from "./server/serve.js";
|
|
8
|
+
export { SITE_DIR } from "./server/site.js";
|
|
9
|
+
export { type Change, makeSource, type Source, type SourceOptions } from "./server/source.js";
|
|
10
|
+
export { type BrowserPluginOptions, goodbonesBrowser } from "./server/vite-plugin.js";
|
|
11
|
+
export { isRelevant, type WatchOptions, watchRepository } from "./server/watch.js";
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,UAAU,EACV,KAAK,UAAU,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,cAAc,EACd,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,SAAS,EACd,KAAK,UAAU,GAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChG,OAAO,EAAE,KAAK,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,KAAK,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,KAAK,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,KAAK,MAAM,EAAE,UAAU,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EAAE,KAAK,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { type LoadedPolicy, type ManifestLocator, type SourceFacts, type ViolationKind } from "@goodbones/core";
|
|
2
|
+
export type AtlasPosition = {
|
|
3
|
+
readonly file: string;
|
|
4
|
+
readonly line: number;
|
|
5
|
+
readonly column: number;
|
|
6
|
+
};
|
|
7
|
+
export type AtlasAllowance = {
|
|
8
|
+
readonly kind: "allow" | "external";
|
|
9
|
+
readonly entry: string;
|
|
10
|
+
readonly expanded: string;
|
|
11
|
+
readonly fragment: string | null;
|
|
12
|
+
readonly used: boolean;
|
|
13
|
+
};
|
|
14
|
+
export type AtlasNode = {
|
|
15
|
+
readonly id: string;
|
|
16
|
+
readonly key: string;
|
|
17
|
+
readonly path: string;
|
|
18
|
+
readonly parent: string | null;
|
|
19
|
+
readonly depth: number;
|
|
20
|
+
readonly folder: boolean;
|
|
21
|
+
readonly message: string | null;
|
|
22
|
+
readonly layout: "open" | "enumerated";
|
|
23
|
+
readonly partial: boolean;
|
|
24
|
+
readonly position: AtlasPosition | null;
|
|
25
|
+
readonly imports: {
|
|
26
|
+
readonly message: string | null;
|
|
27
|
+
readonly reset: boolean;
|
|
28
|
+
readonly unrestricted: boolean;
|
|
29
|
+
readonly allowances: ReadonlyArray<AtlasAllowance>;
|
|
30
|
+
readonly deny: ReadonlyArray<{
|
|
31
|
+
readonly match: ReadonlyArray<string>;
|
|
32
|
+
readonly message: string;
|
|
33
|
+
}>;
|
|
34
|
+
} | null;
|
|
35
|
+
readonly importedBy: {
|
|
36
|
+
readonly message: string;
|
|
37
|
+
readonly allow: ReadonlyArray<string>;
|
|
38
|
+
} | null;
|
|
39
|
+
readonly members: ReadonlyArray<{
|
|
40
|
+
readonly subject: string;
|
|
41
|
+
readonly message: string;
|
|
42
|
+
}>;
|
|
43
|
+
readonly surface: ReadonlyArray<{
|
|
44
|
+
readonly message: string;
|
|
45
|
+
}>;
|
|
46
|
+
readonly requires: ReadonlyArray<string>;
|
|
47
|
+
readonly children: ReadonlyArray<string>;
|
|
48
|
+
readonly rules: ReadonlyArray<string>;
|
|
49
|
+
readonly files: number;
|
|
50
|
+
};
|
|
51
|
+
export type AtlasExternal = {
|
|
52
|
+
readonly package: string;
|
|
53
|
+
readonly specifiers: ReadonlyArray<string>;
|
|
54
|
+
readonly status: EdgeStatus;
|
|
55
|
+
readonly admittedBy: {
|
|
56
|
+
readonly node: string;
|
|
57
|
+
readonly entry: string;
|
|
58
|
+
} | null;
|
|
59
|
+
};
|
|
60
|
+
export type AtlasFile = {
|
|
61
|
+
readonly path: string;
|
|
62
|
+
readonly name: string;
|
|
63
|
+
readonly folder: string;
|
|
64
|
+
readonly walked: boolean;
|
|
65
|
+
readonly node: string | null;
|
|
66
|
+
readonly chain: ReadonlyArray<string>;
|
|
67
|
+
readonly importRules: ReadonlyArray<string>;
|
|
68
|
+
readonly requires: ReadonlyArray<{
|
|
69
|
+
readonly sibling: string;
|
|
70
|
+
readonly present: boolean;
|
|
71
|
+
readonly rule: string;
|
|
72
|
+
}>;
|
|
73
|
+
readonly externals: ReadonlyArray<AtlasExternal>;
|
|
74
|
+
readonly builtins: ReadonlyArray<string>;
|
|
75
|
+
readonly violations: number;
|
|
76
|
+
};
|
|
77
|
+
export type AtlasFolder = {
|
|
78
|
+
readonly path: string;
|
|
79
|
+
readonly name: string;
|
|
80
|
+
readonly parent: string | null;
|
|
81
|
+
readonly depth: number;
|
|
82
|
+
readonly node: string | null;
|
|
83
|
+
readonly declares: ReadonlyArray<string>;
|
|
84
|
+
};
|
|
85
|
+
export type EdgeStatus = "allowed" | "refused" | "ungoverned";
|
|
86
|
+
export type AtlasEdge = {
|
|
87
|
+
readonly from: string;
|
|
88
|
+
readonly to: string;
|
|
89
|
+
readonly specifiers: ReadonlyArray<string>;
|
|
90
|
+
readonly status: EdgeStatus;
|
|
91
|
+
readonly admittedBy: {
|
|
92
|
+
readonly node: string;
|
|
93
|
+
readonly entry: string;
|
|
94
|
+
readonly fragment: string | null;
|
|
95
|
+
} | null;
|
|
96
|
+
readonly refusedBy: ReadonlyArray<{
|
|
97
|
+
readonly rule: string;
|
|
98
|
+
readonly message: string;
|
|
99
|
+
}>;
|
|
100
|
+
};
|
|
101
|
+
export type AtlasViolation = {
|
|
102
|
+
readonly fingerprint: string;
|
|
103
|
+
readonly kind: ViolationKind;
|
|
104
|
+
readonly rule: string;
|
|
105
|
+
readonly file: string;
|
|
106
|
+
readonly subject: string | null;
|
|
107
|
+
readonly message: string;
|
|
108
|
+
readonly baselined: boolean;
|
|
109
|
+
};
|
|
110
|
+
export type AtlasRule = {
|
|
111
|
+
readonly family: "exports" | "cycles" | "orphans" | "reach";
|
|
112
|
+
readonly name: string;
|
|
113
|
+
readonly message: string;
|
|
114
|
+
readonly position: AtlasPosition | null;
|
|
115
|
+
};
|
|
116
|
+
export type Atlas = {
|
|
117
|
+
readonly version: 1;
|
|
118
|
+
readonly name: string;
|
|
119
|
+
readonly generatedAt: string;
|
|
120
|
+
readonly roots: ReadonlyArray<string>;
|
|
121
|
+
readonly manifest: {
|
|
122
|
+
readonly path: string;
|
|
123
|
+
readonly files: ReadonlyArray<{
|
|
124
|
+
readonly path: string;
|
|
125
|
+
readonly text: string;
|
|
126
|
+
}>;
|
|
127
|
+
readonly aliases: Readonly<Record<string, string>>;
|
|
128
|
+
readonly nodes: ReadonlyArray<AtlasNode>;
|
|
129
|
+
readonly rules: ReadonlyArray<AtlasRule>;
|
|
130
|
+
};
|
|
131
|
+
readonly files: ReadonlyArray<AtlasFile>;
|
|
132
|
+
readonly folders: ReadonlyArray<AtlasFolder>;
|
|
133
|
+
readonly edges: ReadonlyArray<AtlasEdge>;
|
|
134
|
+
readonly violations: ReadonlyArray<AtlasViolation>;
|
|
135
|
+
readonly unresolved: ReadonlyArray<{
|
|
136
|
+
readonly file: string;
|
|
137
|
+
readonly specifier: string;
|
|
138
|
+
readonly detail: string;
|
|
139
|
+
}>;
|
|
140
|
+
readonly cycles: number;
|
|
141
|
+
};
|
|
142
|
+
export type AtlasInput = {
|
|
143
|
+
readonly policy: LoadedPolicy;
|
|
144
|
+
readonly name: string;
|
|
145
|
+
readonly roots: ReadonlyArray<string>;
|
|
146
|
+
readonly files: ReadonlyArray<string>;
|
|
147
|
+
readonly factsOf: (file: string) => SourceFacts;
|
|
148
|
+
readonly locate: ManifestLocator | undefined;
|
|
149
|
+
readonly manifestPath: string;
|
|
150
|
+
readonly manifestFiles: ReadonlyArray<{
|
|
151
|
+
readonly path: string;
|
|
152
|
+
readonly text: string;
|
|
153
|
+
}>;
|
|
154
|
+
readonly now: number;
|
|
155
|
+
};
|
|
156
|
+
export declare const buildAtlas: (input: AtlasInput) => Atlas;
|
|
157
|
+
//# sourceMappingURL=atlas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atlas.d.ts","sourceRoot":"","sources":["../../../src/model/atlas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import type { Attestation, CampaignEvaluation, CampaignReport, Note, Nudge } from "@goodbones/campaigns";
|
|
2
|
+
import type { LoadedPolicy, ManifestLocator } from "@goodbones/core";
|
|
3
|
+
import type { AtlasPosition } from "./atlas.js";
|
|
4
|
+
export type ObjectiveSectorCard = {
|
|
5
|
+
readonly sector: string;
|
|
6
|
+
readonly count: number;
|
|
7
|
+
readonly holdouts: ReadonlyArray<string>;
|
|
8
|
+
readonly new: ReadonlyArray<string>;
|
|
9
|
+
readonly stale: ReadonlyArray<string>;
|
|
10
|
+
readonly drifted: number;
|
|
11
|
+
readonly unrecorded: boolean;
|
|
12
|
+
readonly initial: number | null;
|
|
13
|
+
readonly cleared: number | null;
|
|
14
|
+
readonly closed: number | null;
|
|
15
|
+
readonly lastCleared: string | null;
|
|
16
|
+
readonly measure: {
|
|
17
|
+
readonly value: number | null;
|
|
18
|
+
readonly recorded: number | null;
|
|
19
|
+
readonly standing: "within" | "breached" | "surpassed" | "unrecorded" | "unmeasured";
|
|
20
|
+
} | null;
|
|
21
|
+
};
|
|
22
|
+
export type ObjectiveCard = {
|
|
23
|
+
readonly id: string;
|
|
24
|
+
readonly message: string;
|
|
25
|
+
readonly why: string | null;
|
|
26
|
+
readonly holdout: string;
|
|
27
|
+
readonly phase: string | null;
|
|
28
|
+
readonly position: AtlasPosition | null;
|
|
29
|
+
readonly count: number;
|
|
30
|
+
readonly initial: number;
|
|
31
|
+
readonly allowed: number;
|
|
32
|
+
readonly cleared: number;
|
|
33
|
+
readonly closed: number;
|
|
34
|
+
readonly progress: number;
|
|
35
|
+
readonly lastCleared: string | null;
|
|
36
|
+
readonly concessions: number;
|
|
37
|
+
readonly complete: boolean;
|
|
38
|
+
readonly ledgered: boolean;
|
|
39
|
+
readonly measure: {
|
|
40
|
+
readonly direction: "down" | "up";
|
|
41
|
+
readonly value: number | null;
|
|
42
|
+
readonly recorded: number | null;
|
|
43
|
+
readonly target: number | null;
|
|
44
|
+
readonly tolerance: number;
|
|
45
|
+
} | null;
|
|
46
|
+
readonly sectors: ReadonlyArray<ObjectiveSectorCard>;
|
|
47
|
+
};
|
|
48
|
+
export type PhaseCard = {
|
|
49
|
+
readonly id: string;
|
|
50
|
+
readonly index: number;
|
|
51
|
+
readonly defined: boolean;
|
|
52
|
+
readonly intent: string | null;
|
|
53
|
+
readonly attested: boolean;
|
|
54
|
+
readonly objectives: ReadonlyArray<string>;
|
|
55
|
+
readonly sectors: number;
|
|
56
|
+
readonly concessions: number;
|
|
57
|
+
readonly position: AtlasPosition | null;
|
|
58
|
+
};
|
|
59
|
+
export type HitCard = {
|
|
60
|
+
readonly objective: string;
|
|
61
|
+
readonly file: string;
|
|
62
|
+
readonly subject: string | null;
|
|
63
|
+
readonly line: number | null;
|
|
64
|
+
readonly entry: string;
|
|
65
|
+
readonly message: string;
|
|
66
|
+
};
|
|
67
|
+
export type SectorCard = {
|
|
68
|
+
readonly name: string;
|
|
69
|
+
readonly legacy: boolean;
|
|
70
|
+
readonly phase: number;
|
|
71
|
+
readonly phaseId: string | null;
|
|
72
|
+
readonly done: boolean;
|
|
73
|
+
readonly reached: string | null;
|
|
74
|
+
readonly since: string | null;
|
|
75
|
+
readonly roots: ReadonlyArray<string>;
|
|
76
|
+
readonly marker: string | null;
|
|
77
|
+
readonly files: ReadonlyArray<string>;
|
|
78
|
+
readonly residue: Readonly<Record<string, number>>;
|
|
79
|
+
readonly counts: Readonly<Record<string, number>>;
|
|
80
|
+
readonly values: Readonly<Record<string, number>>;
|
|
81
|
+
readonly stalled: boolean;
|
|
82
|
+
readonly attested: ReadonlyArray<Attestation>;
|
|
83
|
+
readonly notes: ReadonlyArray<Note>;
|
|
84
|
+
readonly hits: ReadonlyArray<HitCard>;
|
|
85
|
+
};
|
|
86
|
+
export type CampaignCard = {
|
|
87
|
+
readonly id: string;
|
|
88
|
+
readonly title: string | null;
|
|
89
|
+
readonly why: string | null;
|
|
90
|
+
readonly how: string | null;
|
|
91
|
+
readonly owner: string | null;
|
|
92
|
+
readonly scope: ReadonlyArray<string>;
|
|
93
|
+
readonly perimeter: string | null;
|
|
94
|
+
readonly staleAfterDays: number | null;
|
|
95
|
+
readonly onComplete: "keep" | "remove";
|
|
96
|
+
readonly position: AtlasPosition | null;
|
|
97
|
+
readonly count: number;
|
|
98
|
+
readonly progress: number;
|
|
99
|
+
readonly stalled: boolean;
|
|
100
|
+
readonly complete: boolean;
|
|
101
|
+
readonly ledgered: boolean;
|
|
102
|
+
readonly missingLedger: boolean;
|
|
103
|
+
readonly arithmetic: boolean;
|
|
104
|
+
readonly phases: ReadonlyArray<PhaseCard>;
|
|
105
|
+
readonly objectives: ReadonlyArray<ObjectiveCard>;
|
|
106
|
+
readonly sectors: ReadonlyArray<SectorCard>;
|
|
107
|
+
readonly legacy: {
|
|
108
|
+
readonly files: number;
|
|
109
|
+
readonly holdouts: number;
|
|
110
|
+
};
|
|
111
|
+
readonly drift: ReadonlyArray<{
|
|
112
|
+
readonly file: string;
|
|
113
|
+
readonly sectors: ReadonlyArray<string>;
|
|
114
|
+
}>;
|
|
115
|
+
readonly plan: {
|
|
116
|
+
readonly refined: ReadonlyArray<string>;
|
|
117
|
+
readonly changed: ReadonlyArray<string>;
|
|
118
|
+
readonly unreceipted: ReadonlyArray<string>;
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
export type CampaignView = {
|
|
122
|
+
readonly version: 1;
|
|
123
|
+
readonly name: string;
|
|
124
|
+
readonly generatedAt: string;
|
|
125
|
+
readonly ledgerDir: string;
|
|
126
|
+
readonly campaigns: ReadonlyArray<CampaignCard>;
|
|
127
|
+
readonly nudge: Nudge | null;
|
|
128
|
+
};
|
|
129
|
+
export type CampaignViewInput = {
|
|
130
|
+
readonly policy: LoadedPolicy;
|
|
131
|
+
readonly name: string;
|
|
132
|
+
readonly evaluations: ReadonlyArray<CampaignEvaluation>;
|
|
133
|
+
readonly reports: ReadonlyArray<CampaignReport>;
|
|
134
|
+
readonly manifest: unknown;
|
|
135
|
+
readonly locate: ManifestLocator | undefined;
|
|
136
|
+
readonly manifestPath: string;
|
|
137
|
+
readonly nudge: Nudge | null;
|
|
138
|
+
readonly now: number;
|
|
139
|
+
};
|
|
140
|
+
export declare const campaignViewOf: (input: CampaignViewInput) => CampaignView;
|
|
141
|
+
//# sourceMappingURL=campaigns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"campaigns.d.ts","sourceRoot":"","sources":["../../../src/model/campaigns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,IAAI,EACJ,KAAK,EACN,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAgB,MAAM,iBAAiB,CAAC;AAEnF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAShD,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAEzC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAEpC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,GAAG,WAAW,GAAG,YAAY,GAAG,YAAY,CAAC;KACtF,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;KAC5B,GAAG,IAAI,CAAC;IACT,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;CACtD,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAE3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAEtC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACvE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC,CAAC;IAClG,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QACxC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QACxC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;KAC7C,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAEhD,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACxD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAEhD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,CAAC;AAsCF,eAAO,MAAM,cAAc,UAAW,iBAAiB,KAAG,YAqKzD,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type Atlas } from "../model/atlas.js";
|
|
2
|
+
import { type CampaignView } from "../model/campaigns.js";
|
|
3
|
+
import { type LoadedManifest } from "./compose.js";
|
|
4
|
+
export type Collected = {
|
|
5
|
+
readonly atlas: Atlas;
|
|
6
|
+
readonly campaigns: CampaignView;
|
|
7
|
+
};
|
|
8
|
+
export type CollectOptions = {
|
|
9
|
+
readonly repoRoot: string;
|
|
10
|
+
readonly roots: ReadonlyArray<string>;
|
|
11
|
+
readonly configFilename?: string | undefined;
|
|
12
|
+
readonly nudge?: boolean | undefined;
|
|
13
|
+
};
|
|
14
|
+
export declare const collect: (options: CollectOptions) => Promise<Collected>;
|
|
15
|
+
export declare const collectWith: (loaded: LoadedManifest, options: CollectOptions) => Promise<Collected>;
|
|
16
|
+
//# sourceMappingURL=collect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collect.d.ts","sourceRoot":"","sources":["../../../src/server/collect.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,KAAK,EAAc,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,KAAK,cAAc,EAAsB,MAAM,cAAc,CAAC;AAOvE,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7C,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACtC,CAAC;AAIF,eAAO,MAAM,OAAO,YAAmB,cAAc,KAAG,OAAO,CAAC,SAAS,CAGxE,CAAC;AAEF,eAAO,MAAM,WAAW,WACd,cAAc,WACb,cAAc,KACtB,OAAO,CAAC,SAAS,CAqEnB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type Language, type LoadedPolicy, type ManifestLocator } from "@goodbones/core";
|
|
2
|
+
export declare const hostLanguages: () => ReadonlyArray<Language>;
|
|
3
|
+
export declare const hostNow: () => number;
|
|
4
|
+
export declare const manifestPathOf: (repoRoot: string, configFilename?: string) => string;
|
|
5
|
+
export type LoadedManifest = {
|
|
6
|
+
readonly policy: LoadedPolicy;
|
|
7
|
+
readonly manifest: unknown;
|
|
8
|
+
readonly locate: ManifestLocator | undefined;
|
|
9
|
+
readonly configPath: string;
|
|
10
|
+
readonly files: ReadonlyArray<string>;
|
|
11
|
+
};
|
|
12
|
+
export declare const loadPolicyFromFile: (repoRoot: string, configFilename?: string) => Promise<LoadedManifest>;
|
|
13
|
+
//# sourceMappingURL=compose.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../src/server/compose.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,YAAY,EAGjB,KAAK,eAAe,EAErB,MAAM,iBAAiB,CAAC;AAQzB,eAAO,MAAM,aAAa,QAAO,aAAa,CAAC,QAAQ,CAEtD,CAAC;AAEF,eAAO,MAAM,OAAO,QAAO,MAQ1B,CAAC;AAEF,eAAO,MAAM,cAAc,aAAc,MAAM,mBAAmB,MAAM,KAAG,MAG/B,CAAC;AAE7C,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAE9B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC;IAE7C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACvC,CAAC;AAEF,eAAO,MAAM,kBAAkB,aACnB,MAAM,mBACC,MAAM,KACtB,OAAO,CAAC,cAAc,CAsBxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/server/export.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,eAAO,MAAM,UAAU,YAAa,MAAM,OAAO,MAAM,aAAa,SAAS,KAAG,IAe/E,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
2
|
+
import type { Source } from "./source.js";
|
|
3
|
+
export declare const PREFIX = "/__goodbones/";
|
|
4
|
+
export type Handler = (request: IncomingMessage, response: ServerResponse) => Promise<boolean>;
|
|
5
|
+
export declare const makeHandler: (source: Source) => Handler;
|
|
6
|
+
//# sourceMappingURL=handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/server/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAY1C,eAAO,MAAM,MAAM,kBAAkB,CAAC;AAEtC,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAgB/F,eAAO,MAAM,WAAW,WAAY,MAAM,KAAG,OA4C5C,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type Server } from "node:http";
|
|
2
|
+
import { type Handler } from "./handler.js";
|
|
3
|
+
export type ServeOptions = {
|
|
4
|
+
readonly siteDir: string;
|
|
5
|
+
readonly handler: Handler;
|
|
6
|
+
readonly port: number;
|
|
7
|
+
readonly host: string;
|
|
8
|
+
};
|
|
9
|
+
export type Served = {
|
|
10
|
+
readonly server: Server;
|
|
11
|
+
readonly url: string;
|
|
12
|
+
readonly close: () => Promise<void>;
|
|
13
|
+
};
|
|
14
|
+
export declare const serve: (options: ServeOptions) => Promise<Served>;
|
|
15
|
+
//# sourceMappingURL=serve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../src/server/serve.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAItD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAqB5C,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC,CAAC;AAgBF,eAAO,MAAM,KAAK,YAAa,YAAY,KAAG,OAAO,CAAC,MAAM,CA8CxD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site.d.ts","sourceRoot":"","sources":["../../../src/server/site.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,QAAQ,QAA2E,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type Collected, type CollectOptions } from "./collect.js";
|
|
2
|
+
export type Change = {
|
|
3
|
+
readonly files: ReadonlyArray<string>;
|
|
4
|
+
readonly at: string;
|
|
5
|
+
};
|
|
6
|
+
export type Source = {
|
|
7
|
+
readonly current: () => Promise<Collected>;
|
|
8
|
+
readonly subscribe: (listener: (change: Change) => void) => () => void;
|
|
9
|
+
readonly invalidate: (files: ReadonlyArray<string>) => void;
|
|
10
|
+
readonly live: boolean;
|
|
11
|
+
readonly close: () => void;
|
|
12
|
+
};
|
|
13
|
+
export type SourceOptions = CollectOptions & {
|
|
14
|
+
readonly watch?: boolean | undefined;
|
|
15
|
+
readonly debounceMs?: number | undefined;
|
|
16
|
+
readonly compute?: (() => Promise<Collected>) | undefined;
|
|
17
|
+
};
|
|
18
|
+
export declare const makeSource: (options: SourceOptions) => Source;
|
|
19
|
+
//# sourceMappingURL=source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../src/server/source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAM5E,MAAM,MAAM,MAAM,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpF,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;IACvE,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEzC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;CAC3D,CAAC;AAEF,eAAO,MAAM,UAAU,YAAa,aAAa,KAAG,MAiEnD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Plugin } from "vite";
|
|
2
|
+
export type BrowserPluginOptions = {
|
|
3
|
+
readonly repoRoot: string;
|
|
4
|
+
readonly roots: ReadonlyArray<string>;
|
|
5
|
+
readonly configFilename?: string | undefined;
|
|
6
|
+
};
|
|
7
|
+
export declare const goodbonesBrowser: (options: BrowserPluginOptions) => Plugin;
|
|
8
|
+
//# sourceMappingURL=vite-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../../../src/server/vite-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AASnC,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9C,CAAC;AAEF,eAAO,MAAM,gBAAgB,YAAa,oBAAoB,KAAG,MAgB/D,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type WatchOptions = {
|
|
2
|
+
readonly repoRoot: string;
|
|
3
|
+
readonly extensions: ReadonlyArray<string>;
|
|
4
|
+
readonly ledgerDir: string;
|
|
5
|
+
readonly debounceMs?: number | undefined;
|
|
6
|
+
readonly onChange: (files: ReadonlyArray<string>) => void;
|
|
7
|
+
};
|
|
8
|
+
export declare const isRelevant: (file: string, extensions: ReadonlyArray<string>, ledgerDir: string) => boolean;
|
|
9
|
+
export declare const watchRepository: (options: WatchOptions) => (() => void);
|
|
10
|
+
//# sourceMappingURL=watch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/server/watch.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAE3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;CAC3D,CAAC;AAIF,eAAO,MAAM,UAAU,SACf,MAAM,cACA,aAAa,CAAC,MAAM,CAAC,aACtB,MAAM,KAChB,OAMF,CAAC;AAEF,eAAO,MAAM,eAAe,YAAa,YAAY,KAAG,CAAC,MAAM,IAAI,CA+BlE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// The browsers' data, and the server pieces a host composes them with. The
|
|
2
|
+
// page itself is under `build/site`, served by the `goodbones-browser` bin.
|
|
3
|
+
export { buildAtlas, } from "./model/atlas.js";
|
|
4
|
+
export { campaignViewOf, } from "./model/campaigns.js";
|
|
5
|
+
export { collect, collectWith } from "./server/collect.js";
|
|
6
|
+
export { loadPolicyFromFile } from "./server/compose.js";
|
|
7
|
+
export { exportSite } from "./server/export.js";
|
|
8
|
+
export { makeHandler, PREFIX } from "./server/handler.js";
|
|
9
|
+
export { serve } from "./server/serve.js";
|
|
10
|
+
export { SITE_DIR } from "./server/site.js";
|
|
11
|
+
export { makeSource } from "./server/source.js";
|
|
12
|
+
export { goodbonesBrowser } from "./server/vite-plugin.js";
|
|
13
|
+
export { isRelevant, watchRepository } from "./server/watch.js";
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,4EAA4E;AAC5E,OAAO,EAYL,UAAU,GAEX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAIL,cAAc,GAMf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAuC,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChG,OAAO,EAAuB,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAgB,WAAW,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,KAAK,EAAkC,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAe,UAAU,EAAmC,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EAA6B,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,UAAU,EAAqB,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|