@action-state-group/capsule-viewer 0.0.0 → 0.1.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/LICENSE +201 -0
- package/LICENSE-BSD-3-Clause +28 -0
- package/README.md +23 -1
- package/dist/browser.d.ts +4 -0
- package/dist/browser.js +11 -0
- package/dist/browser.js.map +1 -0
- package/dist/compliance-presentation.d.ts +51 -0
- package/dist/compliance-presentation.js +140 -0
- package/dist/compliance-presentation.js.map +1 -0
- package/dist/compliance-styles.d.ts +8 -0
- package/dist/compliance-styles.js +66 -0
- package/dist/compliance-styles.js.map +1 -0
- package/dist/compliance-view.d.ts +6 -0
- package/dist/compliance-view.js +394 -0
- package/dist/compliance-view.js.map +1 -0
- package/dist/compliance.d.ts +92 -0
- package/dist/compliance.js +333 -0
- package/dist/compliance.js.map +1 -0
- package/dist/composed-view.d.ts +24 -0
- package/dist/composed-view.js +179 -0
- package/dist/composed-view.js.map +1 -0
- package/dist/emitter-shell.html +136 -0
- package/dist/emitter.d.ts +69 -0
- package/dist/emitter.js +266 -0
- package/dist/emitter.js.map +1 -0
- package/dist/evidence-graph-view.d.ts +96 -0
- package/dist/evidence-graph-view.js +1480 -0
- package/dist/evidence-graph-view.js.map +1 -0
- package/dist/evidence-graph.iife.js +11373 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/outcome-report-styles.d.ts +16 -0
- package/dist/outcome-report-styles.js +225 -0
- package/dist/outcome-report-styles.js.map +1 -0
- package/dist/outcome-report-view.d.ts +5 -0
- package/dist/outcome-report-view.js +885 -0
- package/dist/outcome-report-view.js.map +1 -0
- package/dist/presentation-builder.d.ts +247 -0
- package/dist/presentation-builder.js +552 -0
- package/dist/presentation-builder.js.map +1 -0
- package/dist/presentation-mount.d.ts +26 -0
- package/dist/presentation-mount.js +45 -0
- package/dist/presentation-mount.js.map +1 -0
- package/package.json +47 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outcome-report-view.js","sourceRoot":"","sources":["../src/outcome-report-view.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import { type VerifiedBundleContext } from "@action-state-group/agent-action-capsule";
|
|
2
|
+
import { type EmitterModule } from "./emitter.js";
|
|
3
|
+
import { type PresentationFormat, type PresentationManifest, type PresentationRefusalReason, type PresentationResolver, type PresentationRuntime } from "@action-state-group/agent-action-capsule";
|
|
4
|
+
import { type DisclosureScope, type PresentationDepth, type PresentationFragment, type WordingPackInput } from "@action-state-group/agent-action-capsule";
|
|
5
|
+
/**
|
|
6
|
+
* One builder, four packagings (spec/presentation-builder-v0.md):
|
|
7
|
+
* `buildPresentation(context, {presentation, audience, format})` scopes the
|
|
8
|
+
* bundle for the audience, resolves the one module the registry selects,
|
|
9
|
+
* and packages the same scoped bundle and settings as
|
|
10
|
+
*
|
|
11
|
+
* - `html`: one self-contained offline file with its per-page CSP;
|
|
12
|
+
* - `fragment`: a permalink token for the URL fragment, which a browser
|
|
13
|
+
* never sends; the offline file is rebuilt from it byte for byte by
|
|
14
|
+
* {@link offlineHtmlFromFragment};
|
|
15
|
+
* - `embedded`: a mount function for a host element;
|
|
16
|
+
* - `static`: the page rendered at build time into HTML that runs no
|
|
17
|
+
* script at all, and says it is not self-verifying.
|
|
18
|
+
*
|
|
19
|
+
* A packaging can be unavailable for a bundle (a fragment over the link
|
|
20
|
+
* budget, for one); {@link availablePackagings} reports which, and why,
|
|
21
|
+
* without packaging anything. For one (bundle, audience) every SUPPORTED
|
|
22
|
+
* packaging shows the same module, the same verified content and the same
|
|
23
|
+
* verification state (contract I4).
|
|
24
|
+
*/
|
|
25
|
+
export declare class PresentationBuildError extends Error {
|
|
26
|
+
constructor(message: string);
|
|
27
|
+
}
|
|
28
|
+
/** A packaging target: the three contract formats, and the static page. */
|
|
29
|
+
export type PackagingTarget = PresentationFormat | "static";
|
|
30
|
+
export declare const PACKAGING_TARGETS: readonly PackagingTarget[];
|
|
31
|
+
/** Why a packaging target is unavailable for one (bundle, audience). */
|
|
32
|
+
export type PackagingUnavailableReason = {
|
|
33
|
+
/** The token, or the whole URL, is over the link budget. */
|
|
34
|
+
readonly code: "fragment-too-large";
|
|
35
|
+
readonly subject: string;
|
|
36
|
+
readonly length: number;
|
|
37
|
+
readonly limit: number;
|
|
38
|
+
readonly message: string;
|
|
39
|
+
} | {
|
|
40
|
+
/** `html` and `fragment` need the core runtime, and none was given. */
|
|
41
|
+
readonly code: "runtime-missing";
|
|
42
|
+
readonly message: string;
|
|
43
|
+
} | {
|
|
44
|
+
/** `static` renders at build time and needs a DOM `document`. */
|
|
45
|
+
readonly code: "no-document";
|
|
46
|
+
readonly message: string;
|
|
47
|
+
} | {
|
|
48
|
+
/** The rendered page carries a script, so it cannot be static. */
|
|
49
|
+
readonly code: "static-carries-script";
|
|
50
|
+
readonly message: string;
|
|
51
|
+
};
|
|
52
|
+
/** One target's availability: available, or unavailable with its reason. */
|
|
53
|
+
export type PackagingAvailability = {
|
|
54
|
+
readonly target: PackagingTarget;
|
|
55
|
+
readonly available: true;
|
|
56
|
+
} | {
|
|
57
|
+
readonly target: PackagingTarget;
|
|
58
|
+
readonly available: false;
|
|
59
|
+
readonly reason: PackagingUnavailableReason;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* A direct build of a packaging that is unavailable. (A fragment over the
|
|
63
|
+
* budget keeps throwing {@link FragmentTooLargeError}, as it always has.)
|
|
64
|
+
*/
|
|
65
|
+
export declare class PackagingUnavailableError extends PresentationBuildError {
|
|
66
|
+
readonly reason: PackagingUnavailableReason;
|
|
67
|
+
constructor(reason: PackagingUnavailableReason);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* What the static page says, word for word. It runs no code, so it shows
|
|
71
|
+
* the verification result the builder computed and cannot re-verify.
|
|
72
|
+
*/
|
|
73
|
+
export declare const STATIC_NOT_SELF_VERIFYING = "Not self-verifying; verify the bundle separately.";
|
|
74
|
+
/** The static page's second statement, before the build-time result. */
|
|
75
|
+
export declare const STATIC_BUILD_TIME_STATEMENT = "This page runs no code. It shows the verification result computed when it was built and cannot re-verify anything in your browser.";
|
|
76
|
+
/**
|
|
77
|
+
* The core runtime script (the browser IIFE) and, optionally, its pin. Not
|
|
78
|
+
* the presentation runtime's ABI declaration (`PresentationRuntime`, contract
|
|
79
|
+
* section 3.2): this is the code the page carries.
|
|
80
|
+
*/
|
|
81
|
+
export interface CoreRuntimeScript {
|
|
82
|
+
readonly code: string;
|
|
83
|
+
/** Lowercase hex SHA-256 of `code`; checked when given. */
|
|
84
|
+
readonly sha256?: string;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* A module-slot script the page inlines. Its `styleSha256` pins reach the
|
|
88
|
+
* page's `style-src` (contract section 5.1). With its `manifest`, the
|
|
89
|
+
* builder checks the module against the page's runtime before writing
|
|
90
|
+
* anything (contract section 3.2); the manifest must pin this script
|
|
91
|
+
* (`executable.carrier` `module-slot`, `script_sha256` equal to `sha256`)
|
|
92
|
+
* and its stylesheets (`executable.style_sha256` equal to `styleSha256` as
|
|
93
|
+
* a set, an absent list being empty).
|
|
94
|
+
*/
|
|
95
|
+
export interface PresentationModuleScript extends EmitterModule {
|
|
96
|
+
readonly manifest?: PresentationManifest;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* A module's manifest pins other stylesheets than the module carries
|
|
100
|
+
* (contract section 5.1). No page is written; the error names both lists.
|
|
101
|
+
*/
|
|
102
|
+
export declare class PresentationStylePinsError extends PresentationBuildError {
|
|
103
|
+
readonly module: string;
|
|
104
|
+
/** The manifest's `executable.style_sha256`, as given (absent: empty). */
|
|
105
|
+
readonly manifestStyleSha256: readonly string[];
|
|
106
|
+
/** The module's `styleSha256`, as given (absent: empty). */
|
|
107
|
+
readonly moduleStyleSha256: readonly string[];
|
|
108
|
+
constructor(module: string, manifestStyleSha256: readonly string[], moduleStyleSha256: readonly string[]);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* The builder was asked to put into a page a module the page's runtime
|
|
112
|
+
* would refuse (contract section 3.2). No page is written; the error names
|
|
113
|
+
* both sides: the module (id, `presentation_api`, `runtime_min`) and the
|
|
114
|
+
* runtime's declaration.
|
|
115
|
+
*/
|
|
116
|
+
export declare class PresentationModuleRefusedError extends PresentationBuildError {
|
|
117
|
+
readonly module: {
|
|
118
|
+
readonly id: string;
|
|
119
|
+
readonly presentation_api: string;
|
|
120
|
+
readonly runtime_min: string;
|
|
121
|
+
};
|
|
122
|
+
readonly reason: PresentationRefusalReason;
|
|
123
|
+
readonly runtime: PresentationRuntime;
|
|
124
|
+
constructor(module: {
|
|
125
|
+
readonly id: string;
|
|
126
|
+
readonly presentation_api: string;
|
|
127
|
+
readonly runtime_min: string;
|
|
128
|
+
}, reason: PresentationRefusalReason, runtime: PresentationRuntime);
|
|
129
|
+
}
|
|
130
|
+
export interface BuildPresentationOptions {
|
|
131
|
+
/** `"auto"`, or the module id the caller expects; a mismatch is an error. */
|
|
132
|
+
readonly presentation: string;
|
|
133
|
+
/** The audience token; `"*"` is no particular audience. */
|
|
134
|
+
readonly audience: string;
|
|
135
|
+
readonly format: PackagingTarget;
|
|
136
|
+
/** The core runtime; required for `html` and `fragment`. */
|
|
137
|
+
readonly runtime?: CoreRuntimeScript;
|
|
138
|
+
/**
|
|
139
|
+
* Digest-pinned module-slot scripts the page runs after the runtime. A
|
|
140
|
+
* script given with its manifest is refused at build time when the page's
|
|
141
|
+
* runtime would refuse the module.
|
|
142
|
+
*/
|
|
143
|
+
readonly modules?: readonly PresentationModuleScript[];
|
|
144
|
+
/**
|
|
145
|
+
* The registry the builder resolves with; the built-ins when omitted.
|
|
146
|
+
* It must hold the modules whose code `modules` carries.
|
|
147
|
+
*/
|
|
148
|
+
readonly registry?: PresentationResolver;
|
|
149
|
+
/**
|
|
150
|
+
* What this audience may see (an allow-list of disclosures). Omitted, the
|
|
151
|
+
* bundle's disclosures are packaged as they are.
|
|
152
|
+
*/
|
|
153
|
+
readonly disclose?: DisclosureScope;
|
|
154
|
+
readonly depth?: PresentationDepth;
|
|
155
|
+
/** Page title; otherwise the wording pack's `page.title`; otherwise the default. */
|
|
156
|
+
readonly title?: string;
|
|
157
|
+
/** Theme CSS for the THEME_SLOT (presentation only). */
|
|
158
|
+
readonly themeCss?: string;
|
|
159
|
+
readonly wording?: WordingPackInput;
|
|
160
|
+
/**
|
|
161
|
+
* `fragment` only: the token budget. Omitted, it is
|
|
162
|
+
* FRAGMENT_TOKEN_DEFAULT_BUDGET; it may be lowered, or raised up to
|
|
163
|
+
* FRAGMENT_TOKEN_MAX_LENGTH, never above.
|
|
164
|
+
*/
|
|
165
|
+
readonly maxFragmentLength?: number;
|
|
166
|
+
/** `fragment` only: the viewer address the token is appended to. */
|
|
167
|
+
readonly viewerUrl?: string;
|
|
168
|
+
}
|
|
169
|
+
interface BuiltCommon {
|
|
170
|
+
readonly audience: string;
|
|
171
|
+
/** The module the registry selected, or null for a refusal or no presentation. */
|
|
172
|
+
readonly module: string | null;
|
|
173
|
+
readonly resolution: "module" | "refusal" | "no-presentation";
|
|
174
|
+
/** The bundle as scoped for the audience: what every packaging carries. */
|
|
175
|
+
readonly bundle: unknown;
|
|
176
|
+
}
|
|
177
|
+
export type BuiltPresentation = (BuiltCommon & {
|
|
178
|
+
readonly format: "html";
|
|
179
|
+
readonly html: string;
|
|
180
|
+
}) | (BuiltCommon & {
|
|
181
|
+
readonly format: "fragment";
|
|
182
|
+
readonly fragment: string;
|
|
183
|
+
readonly url?: string;
|
|
184
|
+
readonly payload: PresentationFragment;
|
|
185
|
+
}) | (BuiltCommon & {
|
|
186
|
+
readonly format: "embedded";
|
|
187
|
+
mount(element: HTMLElement): Promise<void>;
|
|
188
|
+
}) | (BuiltCommon & {
|
|
189
|
+
readonly format: "static";
|
|
190
|
+
readonly html: string;
|
|
191
|
+
/** The verification result the builder computed and the page states. */
|
|
192
|
+
readonly verification: "verified" | "failed";
|
|
193
|
+
});
|
|
194
|
+
/** The wording key the builder reads for the page title. */
|
|
195
|
+
export declare const WORDING_TITLE_KEY = "page.title";
|
|
196
|
+
/**
|
|
197
|
+
* Check a wording pack against its digest and its shape (contract 7.4) and
|
|
198
|
+
* return its entries. The bytes are hashed exactly as given.
|
|
199
|
+
*/
|
|
200
|
+
export declare function checkWordingPack(wording: WordingPackInput): Promise<Readonly<Record<string, string>>>;
|
|
201
|
+
/**
|
|
202
|
+
* Build one presentation of a bundle for one audience in one packaging.
|
|
203
|
+
* `input` is a verified context or a bundle (verified here).
|
|
204
|
+
*
|
|
205
|
+
* Steps, in order: scope the bundle for the audience (only when `disclose`
|
|
206
|
+
* is given, and never for a bundle that did not verify, since removing a
|
|
207
|
+
* disclosure could hide the failure); verify the scoped bundle; resolve the
|
|
208
|
+
* module through the registry (an ambiguity is an error; an explicit
|
|
209
|
+
* `presentation` that the registry does not select is an error); package.
|
|
210
|
+
*
|
|
211
|
+
* A packaging that is unavailable throws: {@link FragmentTooLargeError} for
|
|
212
|
+
* a fragment over its budget, {@link PackagingUnavailableError} otherwise.
|
|
213
|
+
* Ask {@link availablePackagings} first to learn which are available.
|
|
214
|
+
*/
|
|
215
|
+
export declare function buildPresentation(input: VerifiedBundleContext | unknown, options: BuildPresentationOptions): Promise<BuiltPresentation>;
|
|
216
|
+
/**
|
|
217
|
+
* Report, for one (bundle, audience) and these settings, which packaging
|
|
218
|
+
* targets are available and why each other one is not, without returning
|
|
219
|
+
* any packaging: an unusable link is never handed out. Errors of the
|
|
220
|
+
* request itself (no audience, a bad wording pack, an ambiguous registry,
|
|
221
|
+
* scoping a bundle that did not verify) are thrown as buildPresentation
|
|
222
|
+
* throws them, since no packaging of it exists.
|
|
223
|
+
*
|
|
224
|
+
* Available here means buildPresentation succeeds for that target with the
|
|
225
|
+
* same settings: every target is packaged and the result discarded.
|
|
226
|
+
*/
|
|
227
|
+
export declare function availablePackagings(input: VerifiedBundleContext | unknown, options: Omit<BuildPresentationOptions, "format">): Promise<readonly PackagingAvailability[]>;
|
|
228
|
+
/**
|
|
229
|
+
* The hand-back: rebuild the exact offline .html a fragment was made from.
|
|
230
|
+
* The fragment carries pins, not code; the runtime and modules given here
|
|
231
|
+
* must match them, or this refuses rather than build a different file.
|
|
232
|
+
* A module given with its manifest has its stylesheet pins checked against
|
|
233
|
+
* it, as {@link buildPresentation} checks them.
|
|
234
|
+
* It never scopes: the fragment's bundle was scoped before encoding.
|
|
235
|
+
*/
|
|
236
|
+
export declare function offlineHtmlFromFragment(token: string, runtime: CoreRuntimeScript, modules?: readonly PresentationModuleScript[], maxLength?: number): Promise<string>;
|
|
237
|
+
/** The fragment viewer's bootstrap. */
|
|
238
|
+
export declare const FRAGMENT_VIEWER_BOOTSTRAP = "EvidenceGraph.mountPresentationFragment(location.hash, document.getElementById(\"app\"));";
|
|
239
|
+
/**
|
|
240
|
+
* A serverless fragment viewer: an offline page, with the same shell and
|
|
241
|
+
* CSP, whose data is the URL fragment it is opened with. Open it as
|
|
242
|
+
* `viewer.html#<token>`; nothing is fetched. It applies no theme CSS from
|
|
243
|
+
* the fragment (its CSP admits only the styles hashed into it); the theme
|
|
244
|
+
* comes back in the offline file {@link offlineHtmlFromFragment} rebuilds.
|
|
245
|
+
*/
|
|
246
|
+
export declare function buildFragmentViewerHtml(runtime: CoreRuntimeScript, modules?: readonly EmitterModule[]): string;
|
|
247
|
+
export {};
|