@aotter/mantle 0.1.0-alpha.9 → 0.1.2-alpha.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.
Files changed (109) hide show
  1. package/README.md +38 -38
  2. package/dist/cli/generate.d.ts +10 -1
  3. package/dist/cli/generate.d.ts.map +1 -1
  4. package/dist/cli/generate.js +49 -4
  5. package/dist/cli/generate.js.map +1 -1
  6. package/dist/cli/main.js +0 -8
  7. package/dist/cli/main.js.map +1 -1
  8. package/dist/codegen/emitMantleModule.js +8 -0
  9. package/dist/codegen/emitMantleModule.js.map +1 -1
  10. package/docs/adapter-guide.md +23 -26
  11. package/docs/adr/0008-structured-diagnostic-shape.md +7 -2
  12. package/docs/adr/0010-locale-and-translates.md +14 -16
  13. package/docs/adr/0011-adapter-port-spec.md +2 -1
  14. package/docs/adr/0014-auth-better-auth-and-multi-tenant-mcp.md +100 -0
  15. package/docs/adr/0018-core-starters-repository-boundary.md +3 -0
  16. package/docs/adr/0019-sealed-manifest-runtime-pipeline.md +38 -2
  17. package/docs/adr/0020-builtin-handler-contracts-and-matched-upsert.md +199 -0
  18. package/docs/adr/0021-retire-starter-scaffolding.md +30 -0
  19. package/docs/adr/0022-caller-observed-version-occ.md +212 -0
  20. package/docs/adr/0023-port-failure-contract.md +69 -0
  21. package/docs/adr/0024-manifest-native-schema-tables.md +260 -0
  22. package/docs/adr/README.md +19 -3
  23. package/docs/adr/adr-lite-803-request-diagnostics.md +38 -0
  24. package/docs/adr/adr-lite-808-route-readiness.md +47 -0
  25. package/docs/adr/adr-lite-809-bounded-public-content.md +71 -0
  26. package/docs/adr/adr-lite-812-native-parity.md +150 -0
  27. package/docs/adr/adr-lite-823-home-statistics.md +64 -0
  28. package/docs/adr/adr-lite-842-mcp-authoring.md +30 -0
  29. package/docs/adr/adr-lite-861-admin-webmcp.md +42 -0
  30. package/docs/adr/adr-lite-909-admin-ui-kit.md +37 -0
  31. package/docs/api-mcp-authorization.md +3 -664
  32. package/docs/auth-hosting-model.md +4 -4
  33. package/docs/cloudflare-low-level-composition.md +3 -104
  34. package/docs/deferred-lifecycle-queues.md +2 -243
  35. package/docs/design-atoms.md +16 -796
  36. package/docs/direct-authoring.md +5 -0
  37. package/docs/examples/minimal-worker/README.md +37 -0
  38. package/docs/examples/minimal-worker/manifests/site.yaml +25 -0
  39. package/docs/examples/minimal-worker/package.json +26 -0
  40. package/docs/examples/minimal-worker/smoke.mjs +23 -0
  41. package/docs/examples/minimal-worker/src/index.ts +4 -0
  42. package/docs/examples/minimal-worker/tsconfig.json +17 -0
  43. package/docs/examples/minimal-worker/wrangler.jsonc +22 -0
  44. package/docs/handbook/cloudflare/authentication.md +167 -0
  45. package/docs/handbook/cloudflare/bindings.md +236 -0
  46. package/docs/handbook/cloudflare/conventional-worker.md +162 -0
  47. package/docs/handbook/cloudflare/deferred-hooks-queues.md +171 -0
  48. package/docs/handbook/cloudflare/deploy-and-operate.md +105 -0
  49. package/docs/handbook/cloudflare/low-level-composition.md +169 -0
  50. package/docs/handbook/cloudflare/media-r2.md +216 -0
  51. package/docs/handbook/cloudflare/public-web.md +144 -0
  52. package/docs/handbook/concepts/authorization.md +116 -0
  53. package/docs/handbook/concepts/four-atoms.md +173 -0
  54. package/docs/handbook/concepts/lifecycle-and-locales.md +142 -0
  55. package/docs/handbook/concepts/mcp-and-agents.md +109 -0
  56. package/docs/handbook/concepts/procedures-and-triggers.md +221 -0
  57. package/docs/handbook/concepts/runtime-and-adapters.md +177 -0
  58. package/docs/handbook/concepts/views.md +191 -0
  59. package/docs/handbook/examples/commerce-transaction.md +813 -0
  60. package/docs/handbook/examples/guarded-api.md +427 -0
  61. package/docs/handbook/examples/intake-form.md +319 -0
  62. package/docs/handbook/examples/legal-documents.md +218 -0
  63. package/docs/handbook/examples/procurement-approvals.md +240 -0
  64. package/docs/handbook/examples/publication.md +240 -0
  65. package/docs/handbook/examples/reservation.md +220 -0
  66. package/docs/handbook/navigation.json +63 -0
  67. package/docs/handbook/reference/authorization.md +295 -0
  68. package/docs/handbook/reference/diagnostics.md +183 -0
  69. package/docs/handbook/reference/manifest.md +132 -0
  70. package/docs/handbook/reference/procedure.md +263 -0
  71. package/docs/handbook/reference/schema.md +250 -0
  72. package/docs/handbook/reference/site-config.md +233 -0
  73. package/docs/handbook/reference/surface.md +207 -0
  74. package/docs/handbook/reference/trigger.md +193 -0
  75. package/docs/handbook/reference/view.md +256 -0
  76. package/docs/handbook/start/project-and-cli.md +122 -0
  77. package/docs/handbook/start/quickstart-worker.md +193 -0
  78. package/docs/labels.md +3 -1
  79. package/docs/media-uploads.md +3 -184
  80. package/docs/migration-0.1.2.md +60 -3
  81. package/docs/performance-harness.md +127 -10
  82. package/docs/release-process.md +85 -231
  83. package/docs/schema-indexes.md +3 -180
  84. package/docs/sealed-pipeline-ownership.md +6 -5
  85. package/docs/spec-only-host-adoption.md +158 -0
  86. package/docs/transaction-patterns.md +5 -0
  87. package/package.json +21 -25
  88. package/skills/README.md +4 -4
  89. package/skills/develop/SKILL.md +23 -28
  90. package/skills/install/SKILL.md +55 -147
  91. package/skills/provision/SKILL.md +4 -3
  92. package/skills/theme/SKILL.md +6 -6
  93. package/skills/update/SKILL.md +32 -68
  94. package/dist/cli/create.d.ts +0 -2
  95. package/dist/cli/create.d.ts.map +0 -1
  96. package/dist/cli/create.js +0 -243
  97. package/dist/cli/create.js.map +0 -1
  98. package/dist/cli/update.d.ts +0 -2
  99. package/dist/cli/update.d.ts.map +0 -1
  100. package/dist/cli/update.js +0 -413
  101. package/dist/cli/update.js.map +0 -1
  102. package/dist/provision/renderProvisionBundle.d.ts +0 -70
  103. package/dist/provision/renderProvisionBundle.d.ts.map +0 -1
  104. package/dist/provision/renderProvisionBundle.js +0 -367
  105. package/dist/provision/renderProvisionBundle.js.map +0 -1
  106. package/dist/provision.d.ts +0 -2
  107. package/dist/provision.d.ts.map +0 -1
  108. package/dist/provision.js +0 -2
  109. package/dist/provision.js.map +0 -1
@@ -1,367 +0,0 @@
1
- /**
2
- * Shared provision-bundle renderer.
3
- *
4
- * validated provision bundle + explicit launch values
5
- * -> deterministic text files + validated base64 binary files
6
- *
7
- * Its three callers are `mantle create` (writes a local directory),
8
- * `mantle-starters` (contributor preview and smoke tests), and
9
- * `mantle-landing` (commits a GitHub tree). It takes values and returns
10
- * values, reporting failures as stable neutral codes the hosts map to their
11
- * own error shapes, and holds no filesystem, process, git, GitHub, auth, or
12
- * deploy code.
13
- */
14
- import { canonicalizeLocaleList, ManifestLocaleTrimError, trimManifestLocales as trimLocales, } from "@aotter/mantle-spec";
15
- export const PROVISION_BUNDLE_KIND = "mantle-provision-bundle";
16
- export const PROVISION_BUNDLE_FORMAT_VERSION = 1;
17
- export class ProvisionRenderError extends Error {
18
- code;
19
- constructor(code, message) {
20
- super(message);
21
- this.code = code;
22
- this.name = "ProvisionRenderError";
23
- }
24
- }
25
- export const DEFAULT_PROVISION_LIMITS = {
26
- maxFiles: 2_000,
27
- maxTextBytes: 2 * 1024 * 1024,
28
- maxDecodedBinaryBytes: 8 * 1024 * 1024,
29
- maxTotalBytes: 64 * 1024 * 1024,
30
- };
31
- /**
32
- * Every placeholder a bundle may reference. A bundle placeholder outside this
33
- * set fails as `placeholder_unknown`. Hosts that do not own a value yet (a
34
- * local `create` has no GitHub owner) pass an empty string on purpose.
35
- */
36
- export const PROVISION_PLACEHOLDERS = [
37
- "ADMIN_GITHUB_LOGIN",
38
- "AFTER_LAUNCH_SKILL_URL",
39
- "ARCHETYPE",
40
- "AUTH_MODE",
41
- "BRAND",
42
- "CANONICAL_LOCALE",
43
- "DESCRIPTION",
44
- "GITHUB_OWNER",
45
- "INSTALL_SUMMARY",
46
- "INSTALL_TIMESTAMP",
47
- "LOCALES",
48
- "PROJECT_NAME",
49
- "SITE_URL",
50
- "STARTER_REF",
51
- "TURNSTILE_SITE_KEY",
52
- ];
53
- const TEXT_SUBSTITUTION_EXTENSIONS = new Set([
54
- "", ".css", ".html", ".json", ".md", ".mjs", ".sql", ".toml", ".ts", ".tsx", ".txt", ".yaml", ".yml",
55
- ]);
56
- /**
57
- * In JSON and TS sources a placeholder sits inside a string literal, so its
58
- * value is escaped by default. Only the placeholders a bundle substitutes as
59
- * raw JSON are exempt — an allowlist, so a new placeholder is escaped unless
60
- * someone deliberately says otherwise.
61
- */
62
- const RAW_JSON_PLACEHOLDERS = new Set(["LOCALES"]);
63
- const MANIFEST_PATH = "manifests/site.yaml";
64
- const PROJECT_NAME_PATTERN = /^[a-z0-9][a-z0-9-]{0,62}$/;
65
- const CONTROL_CHARACTERS = /[\u0000-\u001f\u007f]/;
66
- const PLACEHOLDER_PATTERN = /\{\{([A-Z0-9_]+)\}\}/g;
67
- const fail = (code, message) => {
68
- throw new ProvisionRenderError(code, message);
69
- };
70
- export function renderProvisionBundle(input) {
71
- const limits = input.limits ?? DEFAULT_PROVISION_LIMITS;
72
- const launch = validateLaunchValues(input.launch);
73
- const bundle = validateBundle(input.bundle, launch.archetype, limits);
74
- const files = new Map();
75
- const binaryFiles = new Map();
76
- const claimed = new Map();
77
- const claim = (rawPath) => {
78
- const target = safeTarget(rawPath);
79
- const folded = target.toLowerCase();
80
- const previous = claimed.get(folded);
81
- if (previous !== undefined) {
82
- fail("path_collision", `${rawPath} collides with ${previous} after path normalization.`);
83
- }
84
- claimed.set(folded, rawPath);
85
- return target;
86
- };
87
- for (const [path, content] of Object.entries(bundle.files))
88
- files.set(claim(path), content);
89
- for (const [path, content] of Object.entries(bundle.binaryFiles))
90
- binaryFiles.set(claim(path), content);
91
- substitute(files, launch);
92
- assertLocalesSupported(bundle, launch);
93
- selectLocaleCatalogs(files, bundle.localizedFiles, launch);
94
- trimManifestLocales(files, launch.locales);
95
- // Limits are declared over what gets written. Measure the finished tree:
96
- // substitution expands, and locale and manifest transforms both run after
97
- // the input measurement in validateBundle.
98
- assertProjectSize(files, binaryFiles, limits);
99
- return { files, binaryFiles };
100
- }
101
- function assertProjectSize(files, binaryFiles, limits) {
102
- let total = 0;
103
- for (const [path, content] of files) {
104
- const bytes = utf8Length(content);
105
- if (bytes > limits.maxTextBytes) {
106
- fail("bundle_too_large", `${path} exceeds ${limits.maxTextBytes} bytes.`);
107
- }
108
- total += bytes;
109
- }
110
- for (const [path, content] of binaryFiles) {
111
- const bytes = decodedBase64Length(content);
112
- if (bytes > limits.maxDecodedBinaryBytes) {
113
- fail("bundle_too_large", `${path} decodes to more than ${limits.maxDecodedBinaryBytes} bytes.`);
114
- }
115
- total += bytes;
116
- }
117
- if (total > limits.maxTotalBytes) {
118
- fail("bundle_too_large", `the project is ${total} bytes; the limit is ${limits.maxTotalBytes}.`);
119
- }
120
- }
121
- // --- validation ------------------------------------------------------------
122
- function validateLaunchValues(launch) {
123
- if (!PROJECT_NAME_PATTERN.test(launch.projectName)) {
124
- fail("launch_value_invalid", "projectName must be lowercase letters, digits, and dashes (max 63 characters).");
125
- }
126
- if (!/^[a-z][a-z0-9-]*$/.test(launch.archetype))
127
- fail("launch_value_invalid", "archetype must be a lowercase slug.");
128
- if (!/^[a-z][a-z0-9-]*$/.test(launch.authMode))
129
- fail("launch_value_invalid", "authMode must be a lowercase slug.");
130
- if (launch.locales.length === 0)
131
- fail("launch_value_invalid", "at least one locale is required.");
132
- // Spec owns the locale grammar; do not grow a second one here.
133
- const { valid: locales, invalid } = canonicalizeLocaleList(launch.locales);
134
- if (invalid.length > 0)
135
- fail("launch_value_invalid", `unsupported locale: ${invalid.join(", ")}`);
136
- if (locales.length !== launch.locales.length)
137
- fail("launch_value_invalid", "locales contain a duplicate.");
138
- const canonical = canonicalizeLocaleList([launch.canonicalLocale]);
139
- if (canonical.invalid.length > 0)
140
- fail("launch_value_invalid", `unsupported locale: ${launch.canonicalLocale}`);
141
- const canonicalLocale = canonical.valid[0] ?? fail("launch_value_invalid", `unsupported locale: ${launch.canonicalLocale}`);
142
- if (!locales.includes(canonicalLocale))
143
- fail("launch_value_invalid", "canonicalLocale is absent from locales.");
144
- if (!Number.isFinite(Date.parse(launch.installTimestamp))) {
145
- fail("launch_value_invalid", "installTimestamp must be an ISO-8601 timestamp.");
146
- }
147
- // Every value below is substituted into project files verbatim, so all of
148
- // them are checked — not only the ones with an obvious grammar. A newline
149
- // here becomes a new line of agent instructions or of wrangler config.
150
- for (const [name, value] of Object.entries(placeholderValues(launch))) {
151
- if (value.length > 500)
152
- fail("launch_value_invalid", `${name} must be at most 500 characters.`);
153
- if (CONTROL_CHARACTERS.test(value))
154
- fail("launch_value_invalid", `${name} contains control characters.`);
155
- }
156
- for (const [name, value] of [["brand", launch.brand], ["description", launch.description]]) {
157
- if (value.length === 0)
158
- fail("launch_value_invalid", `${name} must not be empty.`);
159
- }
160
- return { ...launch, locales, canonicalLocale };
161
- }
162
- function validateBundle(bundle, archetype, limits) {
163
- if (bundle.kind !== PROVISION_BUNDLE_KIND) {
164
- fail("bundle_kind_mismatch", `bundle kind must be ${PROVISION_BUNDLE_KIND}; got ${String(bundle.kind)}.`);
165
- }
166
- if (typeof bundle.version !== "string" || bundle.version.length === 0) {
167
- fail("bundle_invalid", "bundle version is missing.");
168
- }
169
- if (bundle.formatVersion !== undefined && bundle.formatVersion !== PROVISION_BUNDLE_FORMAT_VERSION) {
170
- fail("bundle_invalid", `unsupported bundle format version: ${String(bundle.formatVersion)}.`);
171
- }
172
- if (bundle.archetype !== archetype) {
173
- fail("bundle_archetype_mismatch", `bundle is ${String(bundle.archetype)}, expected ${archetype}.`);
174
- }
175
- if (!isPlainRecord(bundle.files))
176
- fail("bundle_invalid", "bundle files are missing.");
177
- if (bundle.binaryFiles !== undefined && !isPlainRecord(bundle.binaryFiles)) {
178
- fail("bundle_invalid", "bundle binaryFiles must be an object.");
179
- }
180
- const files = bundle.files;
181
- const binaryFiles = (bundle.binaryFiles ?? {});
182
- const count = Object.keys(files).length + Object.keys(binaryFiles).length;
183
- if (count > limits.maxFiles)
184
- fail("bundle_too_large", `bundle has ${count} files; the limit is ${limits.maxFiles}.`);
185
- const fileEntries = Object.entries(files);
186
- const binaryEntries = Object.entries(binaryFiles);
187
- for (const [path, content] of fileEntries) {
188
- if (typeof content !== "string")
189
- fail("bundle_invalid", `bundle file ${path} is not text.`);
190
- }
191
- for (const [path, content] of binaryEntries) {
192
- if (typeof content !== "string" || !isCanonicalBase64(content)) {
193
- fail("binary_invalid", `bundle binary file ${path} is not canonical base64.`);
194
- }
195
- }
196
- assertProjectSize(fileEntries, binaryEntries, limits);
197
- if (bundle.localizedFiles !== undefined) {
198
- if (!Array.isArray(bundle.localizedFiles))
199
- fail("bundle_invalid", "localizedFiles must be an array.");
200
- for (const path of bundle.localizedFiles) {
201
- if (typeof path !== "string" || files[path] === undefined) {
202
- fail("bundle_invalid", `localizedFiles references a missing text file: ${String(path)}`);
203
- }
204
- }
205
- }
206
- return { ...bundle, files, binaryFiles };
207
- }
208
- /**
209
- * Normalizes both slash styles and rejects anything that could escape the
210
- * target. Returns the path a host will join onto its destination, so every
211
- * rule below runs on that final string — never on the raw bundle key.
212
- */
213
- export function safeTarget(rawPath) {
214
- if (typeof rawPath !== "string" || rawPath.length === 0)
215
- fail("path_unsafe", "bundle path is empty.");
216
- if (CONTROL_CHARACTERS.test(rawPath))
217
- fail("path_unsafe", `bundle path contains control characters: ${JSON.stringify(rawPath)}`);
218
- if (/^[a-zA-Z]:/.test(rawPath))
219
- fail("path_unsafe", `bundle path is a drive path: ${rawPath}`);
220
- if (rawPath.startsWith("\\\\"))
221
- fail("path_unsafe", `bundle path is a UNC path: ${rawPath}`);
222
- const normalized = rawPath.replace(/\\/g, "/");
223
- // `.template` marks a file the bundle renders through substitution. Strip it
224
- // BEFORE validating: `...template` would pass a segment check run on the raw
225
- // key and only then become `..`.
226
- const target = normalized.endsWith(".template") ? normalized.slice(0, -".template".length) : normalized;
227
- if (target.length === 0)
228
- fail("path_unsafe", `bundle path resolves to no file: ${rawPath}`);
229
- if (target.startsWith("/"))
230
- fail("path_unsafe", `bundle path is absolute: ${rawPath}`);
231
- const segments = target.split("/");
232
- if (segments.some((segment) => segment === "" || segment === "." || segment === "..")) {
233
- fail("path_unsafe", `bundle path has an empty, dot, or parent segment: ${rawPath}`);
234
- }
235
- return target;
236
- }
237
- // --- substitution ----------------------------------------------------------
238
- function substitute(files, launch) {
239
- const values = placeholderValues(launch);
240
- for (const [path, content] of [...files]) {
241
- if (!shouldSubstitute(path)) {
242
- // A non-substituted file keeping a placeholder would ship a literal
243
- // `{{TOKEN}}` into the project; refuse rather than emit it.
244
- const leftover = new RegExp(PLACEHOLDER_PATTERN.source).exec(content);
245
- if (leftover) {
246
- fail("placeholder_unresolved", `${path} is not a substituted file type but contains ${leftover[0]}.`);
247
- }
248
- continue;
249
- }
250
- const jsonLike = /\.(?:json|[cm]?[jt]sx?)$/.test(path);
251
- const next = content.replace(new RegExp(PLACEHOLDER_PATTERN.source, "g"), (_match, key) => {
252
- if (!Object.hasOwn(values, key))
253
- fail("placeholder_unknown", `${path} references unknown placeholder {{${key}}}.`);
254
- const value = values[key];
255
- return jsonLike && !RAW_JSON_PLACEHOLDERS.has(key)
256
- ? JSON.stringify(value).slice(1, -1)
257
- : value;
258
- });
259
- // No post-check here: every bundle-side token already went through the
260
- // callback above, so anything left can only have come from a launch value
261
- // (a brand may legitimately contain "{{...}}").
262
- files.set(path, next);
263
- }
264
- }
265
- function placeholderValues(launch) {
266
- return {
267
- ADMIN_GITHUB_LOGIN: launch.adminGithubLogin ?? "",
268
- AFTER_LAUNCH_SKILL_URL: launch.afterLaunchSkillUrl ?? "",
269
- ARCHETYPE: launch.archetype,
270
- AUTH_MODE: launch.authMode,
271
- BRAND: launch.brand,
272
- CANONICAL_LOCALE: launch.canonicalLocale,
273
- DESCRIPTION: launch.description,
274
- GITHUB_OWNER: launch.githubOwner ?? "",
275
- INSTALL_SUMMARY: launch.installSummary ?? launch.description,
276
- INSTALL_TIMESTAMP: launch.installTimestamp,
277
- LOCALES: JSON.stringify(launch.locales),
278
- PROJECT_NAME: launch.projectName,
279
- SITE_URL: launch.siteUrl ?? "",
280
- STARTER_REF: launch.starterRef,
281
- TURNSTILE_SITE_KEY: launch.turnstileSiteKey ?? "",
282
- };
283
- }
284
- function shouldSubstitute(path) {
285
- let basename = path.split("/").pop() ?? path;
286
- // A sample file is text by definition (`.dev.vars.example`, `.env.example`).
287
- if (basename.endsWith(".example"))
288
- return true;
289
- // A leading dot names the file, it does not start an extension: `.gitignore`
290
- // and `.npmrc` are extensionless text, not files of type `.gitignore`.
291
- if (basename.startsWith("."))
292
- basename = basename.slice(1);
293
- const dot = basename.lastIndexOf(".");
294
- return TEXT_SUBSTITUTION_EXTENSIONS.has(dot === -1 ? "" : basename.slice(dot));
295
- }
296
- // --- locales ---------------------------------------------------------------
297
- function assertLocalesSupported(bundle, launch) {
298
- const seed = `.mantle/overlays/${launch.archetype}/seed.json`;
299
- const localizable = launch.archetype === "blank" || (bundle.localizedFiles ?? []).includes(seed);
300
- if (localizable)
301
- return;
302
- const unsupported = launch.locales.filter((locale) => locale !== "en");
303
- if (unsupported.length > 0) {
304
- fail("locale_unsupported", `${launch.archetype} does not support locales: ${unsupported.join(", ")}`);
305
- }
306
- }
307
- function selectLocaleCatalogs(files, localizedFiles, launch) {
308
- for (const rawPath of localizedFiles ?? []) {
309
- const path = safeTarget(rawPath);
310
- const text = files.get(path);
311
- if (text === undefined)
312
- fail("locale_catalog_invalid", `localized file is absent: ${path}`);
313
- let parsed;
314
- try {
315
- parsed = JSON.parse(text);
316
- }
317
- catch {
318
- return fail("locale_catalog_invalid", `localized file is not valid JSON: ${path}`);
319
- }
320
- if (!isPlainRecord(parsed))
321
- fail("locale_catalog_invalid", `localized file is not a JSON object: ${path}`);
322
- const value = parsed;
323
- if (!isPlainRecord(value.locales))
324
- fail("locale_catalog_invalid", `localized file has no locale catalog: ${path}`);
325
- const available = value.locales;
326
- const missing = launch.locales.filter((locale) => !(locale in available));
327
- if (missing.length > 0)
328
- fail("locale_unsupported", `${path} does not support locales: ${missing.join(", ")}`);
329
- value.locales = Object.fromEntries(launch.locales.map((locale) => [locale, available[locale]]));
330
- files.set(path, `${JSON.stringify(value, null, 2)}\n`);
331
- }
332
- }
333
- function trimManifestLocales(files, locales) {
334
- const text = files.get(MANIFEST_PATH);
335
- if (text === undefined)
336
- return;
337
- try {
338
- files.set(MANIFEST_PATH, trimLocales(text, locales));
339
- }
340
- catch (error) {
341
- if (!(error instanceof ManifestLocaleTrimError))
342
- throw error;
343
- fail(error.reason === "invalid_yaml" ? "manifest_invalid" : "locale_unsupported", `${MANIFEST_PATH}: ${error.message}`);
344
- }
345
- }
346
- // --- small helpers ---------------------------------------------------------
347
- function isPlainRecord(value) {
348
- return typeof value === "object" && value !== null && !Array.isArray(value);
349
- }
350
- function utf8Length(value) {
351
- return new TextEncoder().encode(value).byteLength;
352
- }
353
- export function isCanonicalBase64(value) {
354
- if (value.length === 0 || value.length % 4 !== 0 || !/^[A-Za-z0-9+/]+={0,2}$/.test(value))
355
- return false;
356
- try {
357
- return btoa(atob(value)) === value;
358
- }
359
- catch {
360
- return false;
361
- }
362
- }
363
- function decodedBase64Length(value) {
364
- const padding = value.endsWith("==") ? 2 : value.endsWith("=") ? 1 : 0;
365
- return (value.length / 4) * 3 - padding;
366
- }
367
- //# sourceMappingURL=renderProvisionBundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderProvisionBundle.js","sourceRoot":"","sources":["../../src/provision/renderProvisionBundle.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export * from "./provision/renderProvisionBundle.js";
2
- //# sourceMappingURL=provision.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../src/provision.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC"}
package/dist/provision.js DELETED
@@ -1,2 +0,0 @@
1
- export * from "./provision/renderProvisionBundle.js";
2
- //# sourceMappingURL=provision.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provision.js","sourceRoot":"","sources":["../src/provision.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC"}