@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.
Files changed (45) hide show
  1. package/LICENSE +201 -0
  2. package/LICENSE-BSD-3-Clause +28 -0
  3. package/README.md +23 -1
  4. package/dist/browser.d.ts +4 -0
  5. package/dist/browser.js +11 -0
  6. package/dist/browser.js.map +1 -0
  7. package/dist/compliance-presentation.d.ts +51 -0
  8. package/dist/compliance-presentation.js +140 -0
  9. package/dist/compliance-presentation.js.map +1 -0
  10. package/dist/compliance-styles.d.ts +8 -0
  11. package/dist/compliance-styles.js +66 -0
  12. package/dist/compliance-styles.js.map +1 -0
  13. package/dist/compliance-view.d.ts +6 -0
  14. package/dist/compliance-view.js +394 -0
  15. package/dist/compliance-view.js.map +1 -0
  16. package/dist/compliance.d.ts +92 -0
  17. package/dist/compliance.js +333 -0
  18. package/dist/compliance.js.map +1 -0
  19. package/dist/composed-view.d.ts +24 -0
  20. package/dist/composed-view.js +179 -0
  21. package/dist/composed-view.js.map +1 -0
  22. package/dist/emitter-shell.html +136 -0
  23. package/dist/emitter.d.ts +69 -0
  24. package/dist/emitter.js +266 -0
  25. package/dist/emitter.js.map +1 -0
  26. package/dist/evidence-graph-view.d.ts +96 -0
  27. package/dist/evidence-graph-view.js +1480 -0
  28. package/dist/evidence-graph-view.js.map +1 -0
  29. package/dist/evidence-graph.iife.js +11373 -0
  30. package/dist/index.d.ts +2 -0
  31. package/dist/index.js +7 -0
  32. package/dist/index.js.map +1 -0
  33. package/dist/outcome-report-styles.d.ts +16 -0
  34. package/dist/outcome-report-styles.js +225 -0
  35. package/dist/outcome-report-styles.js.map +1 -0
  36. package/dist/outcome-report-view.d.ts +5 -0
  37. package/dist/outcome-report-view.js +885 -0
  38. package/dist/outcome-report-view.js.map +1 -0
  39. package/dist/presentation-builder.d.ts +247 -0
  40. package/dist/presentation-builder.js +552 -0
  41. package/dist/presentation-builder.js.map +1 -0
  42. package/dist/presentation-mount.d.ts +26 -0
  43. package/dist/presentation-mount.js +45 -0
  44. package/dist/presentation-mount.js.map +1 -0
  45. 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 {};