@superbee/core 0.2.0-pre.19 → 0.2.0-pre.20
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/README.md +40 -18
- package/dist/connectors.d.ts +7 -0
- package/dist/connectors.d.ts.map +1 -1
- package/dist/connectors.js +17 -10
- package/dist/connectors.js.map +1 -1
- package/dist/recipe-lifecycle/errors.d.ts +17 -0
- package/dist/recipe-lifecycle/errors.d.ts.map +1 -1
- package/dist/recipe-lifecycle/errors.js +26 -0
- package/dist/recipe-lifecycle/errors.js.map +1 -1
- package/dist/recipe-lifecycle/evolution.d.ts +6 -2
- package/dist/recipe-lifecycle/evolution.d.ts.map +1 -1
- package/dist/recipe-lifecycle/evolution.js +132 -2
- package/dist/recipe-lifecycle/evolution.js.map +1 -1
- package/dist/recipe-lifecycle/index.d.ts +10 -9
- package/dist/recipe-lifecycle/index.d.ts.map +1 -1
- package/dist/recipe-lifecycle/index.js +9 -8
- package/dist/recipe-lifecycle/index.js.map +1 -1
- package/dist/recipe-lifecycle/install.d.ts +22 -7
- package/dist/recipe-lifecycle/install.d.ts.map +1 -1
- package/dist/recipe-lifecycle/install.js +102 -3
- package/dist/recipe-lifecycle/install.js.map +1 -1
- package/dist/recipe-lifecycle/stamp.d.ts +46 -19
- package/dist/recipe-lifecycle/stamp.d.ts.map +1 -1
- package/dist/recipe-lifecycle/stamp.js +97 -37
- package/dist/recipe-lifecycle/stamp.js.map +1 -1
- package/dist/recipes.d.ts +24 -1
- package/dist/recipes.d.ts.map +1 -1
- package/dist/recipes.js +132 -1
- package/dist/recipes.js.map +1 -1
- package/dist/search/backend-source.d.ts +6 -0
- package/dist/search/backend-source.d.ts.map +1 -0
- package/dist/search/backend-source.js +33 -0
- package/dist/search/backend-source.js.map +1 -0
- package/dist/search/index.d.ts +1 -0
- package/dist/search/index.d.ts.map +1 -1
- package/dist/search/index.js +1 -0
- package/dist/search/index.js.map +1 -1
- package/dist/search/memory-source.d.ts +11 -0
- package/dist/search/memory-source.d.ts.map +1 -1
- package/dist/search/memory-source.js +7 -2
- package/dist/search/memory-source.js.map +1 -1
- package/dist/search/search.d.ts.map +1 -1
- package/dist/search/search.js +25 -8
- package/dist/search/search.js.map +1 -1
- package/dist/source-harness/conformance.js +1 -1
- package/dist/source-harness/conformance.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,14 +2,17 @@
|
|
|
2
2
|
// mutation boundary, so a built-in and an external recipe install through the same function and
|
|
3
3
|
// an existing document is never overwritten. Storage-neutral: no Node globals or builtins.
|
|
4
4
|
import { query, readBlob, readBundleOkfVersion, readDoc, writeBlob } from "../bundle-ops.js";
|
|
5
|
+
import { checkConnectorAgainstKinds, CONNECTORS_PREFIX } from "../connectors.js";
|
|
5
6
|
import { resolveContentType } from "../content-type.js";
|
|
6
7
|
import { mutateDocument } from "../document-mutation.js";
|
|
7
|
-
import {
|
|
8
|
+
import { InvalidInputError } from "../errors.js";
|
|
9
|
+
import { CONVENTION_TYPE, CONVENTIONS_PREFIX, PROGRESS_STATUS_FIELD, buildKindRegistry, progressStatusStorageField, } from "../kinds.js";
|
|
8
10
|
import { okfValuesEqual } from "../okf-authored-values.js";
|
|
11
|
+
import { assertAuthoredOkfStandardFields } from "../okf-standard-fields.js";
|
|
9
12
|
import { PAGE_REGISTRY_PREFIX, parseRegistration, VIEW_REGISTRY_PREFIX } from "../page.js";
|
|
10
13
|
import { RECIPE_PROGRESS_STATUS_TOKEN } from "../recipes.js";
|
|
11
14
|
import { VersionConflict } from "../versioning.js";
|
|
12
|
-
import { RecipeAssetConflict, RecipeEditionChanged, RecipeInputError } from "./errors.js";
|
|
15
|
+
import { ConnectorTargetUnsatisfied, RecipeAssetConflict, RecipeEditionChanged, RecipeInputError } from "./errors.js";
|
|
13
16
|
import { RECIPE_STAMP_KEY, recipeStampIdentity, recipeStampState, withRecipeStamp, worstRecipeStampState, } from "./stamp.js";
|
|
14
17
|
import { findLegacyViewConvention, governsKind, legacyEntryAlias, legacyRegistryAlias, VIEW_KIND_NAME, } from "./legacy-aliases.js";
|
|
15
18
|
function materializeRecipeBody(body, storageField) {
|
|
@@ -110,6 +113,8 @@ export async function installRecipe(bundle, recipe, options = {}) {
|
|
|
110
113
|
const source = recipe;
|
|
111
114
|
recipe = materializeRecipeForEdition(recipe, okfVersion);
|
|
112
115
|
const identity = recipeStampIdentity(source, recipe);
|
|
116
|
+
assertConnectorsWritable(recipe, identity, okfVersion, now);
|
|
117
|
+
await assertConnectorTargets(bundle, recipe, okfVersion);
|
|
113
118
|
await assertPortableTargetsCompatible(bundle, recipe, now, okfVersion);
|
|
114
119
|
// Legacy-alias probes (see the module comment above the alias helpers): resolved lazily, once.
|
|
115
120
|
const legacyConventionId = recipe.docs.some((d) => governsKind(d, VIEW_KIND_NAME))
|
|
@@ -175,6 +180,39 @@ export async function installRecipe(bundle, recipe, options = {}) {
|
|
|
175
180
|
}
|
|
176
181
|
docs.push({ id: doc.id, changed, ...(sourceDiffers ? { source_differs: true } : {}) });
|
|
177
182
|
}
|
|
183
|
+
// After the conventions, so a Kind the recipe declares exists before the Connector that maps onto it.
|
|
184
|
+
const connectors = [];
|
|
185
|
+
for (const { doc: authored } of recipe.connectors ?? []) {
|
|
186
|
+
const doc = withRecipeStamp(recipeDocumentForApply(authored, okfVersion, now), identity);
|
|
187
|
+
let changed = true;
|
|
188
|
+
let sourceDiffers = false;
|
|
189
|
+
try {
|
|
190
|
+
await createRecipeDocument(bundle, doc, okfVersion, now);
|
|
191
|
+
stamps.push("current");
|
|
192
|
+
}
|
|
193
|
+
catch (err) {
|
|
194
|
+
if (!(err instanceof VersionConflict))
|
|
195
|
+
throw err;
|
|
196
|
+
const existing = await readDoc(bundle, doc.id);
|
|
197
|
+
const existingStamp = recipeStampState(existing, identity);
|
|
198
|
+
stamps.push(existingStamp);
|
|
199
|
+
if (existingStamp === "stale" || existingStamp === "missing")
|
|
200
|
+
restampIds.push(doc.id);
|
|
201
|
+
else if (existingStamp === "foreign")
|
|
202
|
+
foreignIds.push(doc.id);
|
|
203
|
+
if (!sameInstalledDoc(existing, doc, okfVersion)) {
|
|
204
|
+
sourceDiffers = true;
|
|
205
|
+
migrationWarnings.push({
|
|
206
|
+
code: "RECIPE_SOURCE_DIFFERS",
|
|
207
|
+
message: `recipe '${recipe.id}' source for '${doc.id}.md' differs from the existing Connector; ` +
|
|
208
|
+
"the existing bundle content was left untouched; run 'recipe evolve <same-name-or-path>' to inspect the plan, which never replaces a Connector a person changed",
|
|
209
|
+
severity: "warning",
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
changed = false;
|
|
213
|
+
}
|
|
214
|
+
connectors.push({ id: doc.id, changed, ...(sourceDiffers ? { source_differs: true } : {}) });
|
|
215
|
+
}
|
|
178
216
|
const pages = [];
|
|
179
217
|
for (const page of recipe.pages) {
|
|
180
218
|
const registryAlias = legacyRegistryAlias(page.registry.id);
|
|
@@ -276,10 +314,11 @@ export async function installRecipe(bundle, recipe, options = {}) {
|
|
|
276
314
|
}
|
|
277
315
|
const artifacts = [
|
|
278
316
|
...docs,
|
|
317
|
+
...connectors,
|
|
279
318
|
...pages,
|
|
280
319
|
...references,
|
|
281
320
|
];
|
|
282
|
-
const sourceDiffers = docs.filter((doc) => doc.source_differs).length;
|
|
321
|
+
const sourceDiffers = [...docs, ...connectors].filter((doc) => doc.source_differs).length;
|
|
283
322
|
const counts = {
|
|
284
323
|
created: artifacts.filter((a) => a.changed).length,
|
|
285
324
|
existing: artifacts.filter((a) => !a.changed && a.legacy_present === undefined && a.migration_required === undefined &&
|
|
@@ -294,10 +333,12 @@ export async function installRecipe(bundle, recipe, options = {}) {
|
|
|
294
333
|
version: recipe.version,
|
|
295
334
|
source: recipe.source,
|
|
296
335
|
docs,
|
|
336
|
+
connectors,
|
|
297
337
|
pages,
|
|
298
338
|
references,
|
|
299
339
|
counts,
|
|
300
340
|
changed: docs.some((d) => d.changed) ||
|
|
341
|
+
connectors.some((connector) => connector.changed) ||
|
|
301
342
|
pages.some((page) => page.changed) ||
|
|
302
343
|
references.some((reference) => reference.changed),
|
|
303
344
|
stamp: worstRecipeStampState(stamps),
|
|
@@ -306,6 +347,56 @@ export async function installRecipe(bundle, recipe, options = {}) {
|
|
|
306
347
|
warnings: [...recipe.warnings, ...migrationWarnings],
|
|
307
348
|
};
|
|
308
349
|
}
|
|
350
|
+
/**
|
|
351
|
+
* Every Connector as install will write it, against the authoring rules the engine applies on this
|
|
352
|
+
* edition. The parser tolerates unknown top-level keys, so one OKF v0.2 owns (a `tags` that is not
|
|
353
|
+
* a list, say) would otherwise be refused at the Connector's create, after the conventions.
|
|
354
|
+
*/
|
|
355
|
+
function assertConnectorsWritable(recipe, identity, okfVersion, now) {
|
|
356
|
+
if (okfVersion !== "0.2")
|
|
357
|
+
return;
|
|
358
|
+
for (const { doc } of recipe.connectors ?? []) {
|
|
359
|
+
const candidate = withRecipeStamp(recipeDocumentForApply(doc, okfVersion, now), identity);
|
|
360
|
+
try {
|
|
361
|
+
assertAuthoredOkfStandardFields(candidate.frontmatter, undefined, { phase: "input" });
|
|
362
|
+
}
|
|
363
|
+
catch (error) {
|
|
364
|
+
if (!(error instanceof InvalidInputError))
|
|
365
|
+
throw error;
|
|
366
|
+
throw new RecipeInputError(`recipe '${recipe.id}' cannot install Connector '${doc.id}': ${error.message}; nothing was written`);
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* Every Connector's sources against the Kinds the bundle will hold once this install is done: its
|
|
372
|
+
* conventions, plus the recipe's own at ids the bundle does not hold yet (install never rewrites an
|
|
373
|
+
* existing convention). Runs before the first write of any artifact.
|
|
374
|
+
*/
|
|
375
|
+
async function assertConnectorTargets(bundle, recipe, okfVersion) {
|
|
376
|
+
const connectors = recipe.connectors ?? [];
|
|
377
|
+
if (connectors.length === 0)
|
|
378
|
+
return;
|
|
379
|
+
const conventions = new Map((await query(bundle, { prefix: CONVENTIONS_PREFIX, type: CONVENTION_TYPE })).map((doc) => [doc.id, doc]));
|
|
380
|
+
for (const doc of recipe.docs)
|
|
381
|
+
if (!conventions.has(doc.id))
|
|
382
|
+
conventions.set(doc.id, doc);
|
|
383
|
+
const registry = buildKindRegistry([...conventions.values()], [], { okfVersion });
|
|
384
|
+
// Each refusal points at /<sources key>/<index>/target_kind or /<sources key>/<index>/fields/<field>.
|
|
385
|
+
const segments = (pointer) => pointer.split("/").slice(1).map((segment) => segment.replaceAll("~1", "/").replaceAll("~0", "~"));
|
|
386
|
+
for (const { connector } of connectors) {
|
|
387
|
+
const errors = checkConnectorAgainstKinds(connector, registry);
|
|
388
|
+
if (errors.length === 0)
|
|
389
|
+
continue;
|
|
390
|
+
const index = segments(errors[0].path)[1];
|
|
391
|
+
const source = connector.sources[Number(index)];
|
|
392
|
+
const ofSource = errors.filter((error) => segments(error.path)[1] === index);
|
|
393
|
+
const fields = [...new Set(ofSource.flatMap((error) => {
|
|
394
|
+
const [, , block, field] = segments(error.path);
|
|
395
|
+
return block === "fields" && field !== undefined ? [field] : [];
|
|
396
|
+
}))];
|
|
397
|
+
throw new ConnectorTargetUnsatisfied(recipe.id, connector.id, source.name, source.target_kind, errors[0].code, fields, ofSource.map((error) => error.message).join("; "));
|
|
398
|
+
}
|
|
399
|
+
}
|
|
309
400
|
async function assertPortableTargetsCompatible(bundle, recipe, now, okfVersion) {
|
|
310
401
|
const registries = new Map();
|
|
311
402
|
if (recipe.pages.length > 0) {
|
|
@@ -390,6 +481,14 @@ export async function installedConventionDocs(bundle) {
|
|
|
390
481
|
const docs = await query(bundle, { prefix: CONVENTIONS_PREFIX });
|
|
391
482
|
return new Map(docs.map((d) => [d.id, d]));
|
|
392
483
|
}
|
|
484
|
+
/**
|
|
485
|
+
* The documents under `connectors/`, by id: the Connector documents `installedRecipes` reads beside
|
|
486
|
+
* the conventions, in one round-trip.
|
|
487
|
+
*/
|
|
488
|
+
export async function installedConnectorDocs(bundle) {
|
|
489
|
+
const docs = await query(bundle, { prefix: CONNECTORS_PREFIX });
|
|
490
|
+
return new Map(docs.map((d) => [d.id, d]));
|
|
491
|
+
}
|
|
393
492
|
/**
|
|
394
493
|
* True when at least one of `recipe`'s installed docs differs in content from the recipe source
|
|
395
494
|
* (the same `sameInstalledDoc` comparison `installRecipe` makes; timestamp-insensitive). Honest at
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/recipe-lifecycle/install.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/recipe-lifecycle/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,12 +4,17 @@ import type { ConceptId, OkfDocument } from "../types.js";
|
|
|
4
4
|
export declare const RECIPE_STAMP_KEY = "x_recipe";
|
|
5
5
|
/** The version of the digest rules this release writes and reads. */
|
|
6
6
|
export declare const DEFINITION_DIGEST_RULES = 1;
|
|
7
|
-
/** One convention's record of the recipe that last wrote it. */
|
|
7
|
+
/** One convention's (or Connector's) record of the recipe that last wrote it. */
|
|
8
8
|
export interface RecipeStamp {
|
|
9
9
|
id: string;
|
|
10
10
|
version: string;
|
|
11
11
|
/** How many conventions the recipe declares. */
|
|
12
12
|
of: number;
|
|
13
|
+
/**
|
|
14
|
+
* How many Connectors the recipe declares; written only by a recipe that carries connectors, so
|
|
15
|
+
* a reader that predates the key ignores it and every other stamp keeps its bytes.
|
|
16
|
+
*/
|
|
17
|
+
connectors?: number;
|
|
13
18
|
/** {@link recipeSourceDigest} of the recipe that wrote the convention. */
|
|
14
19
|
source_digest: string;
|
|
15
20
|
/** {@link definitionDigest} of the convention as that recipe wrote it. */
|
|
@@ -36,21 +41,29 @@ export interface InstalledRecipeRow {
|
|
|
36
41
|
conventions: number;
|
|
37
42
|
of: number | null;
|
|
38
43
|
convention_ids: ConceptId[];
|
|
44
|
+
/** Present for a recipe that carries connectors: how many Connectors carry its stamp. */
|
|
45
|
+
connectors?: number;
|
|
46
|
+
/** The declared Connector count the stamps record (the stamp's `connectors`). */
|
|
47
|
+
connectors_of?: number | null;
|
|
48
|
+
connector_ids?: ConceptId[];
|
|
39
49
|
records?: Array<{
|
|
40
50
|
version: string;
|
|
41
51
|
source_digest: string;
|
|
42
52
|
conventions: number;
|
|
53
|
+
connectors?: number;
|
|
43
54
|
}>;
|
|
44
55
|
missing?: number;
|
|
45
56
|
missing_ids?: ConceptId[];
|
|
46
57
|
diverged?: ConceptId[];
|
|
47
58
|
unknown_rules?: ConceptId[];
|
|
48
59
|
}
|
|
49
|
-
/** The recipe-level facts every stamp a recipe writes shares; `definition` is per
|
|
60
|
+
/** The recipe-level facts every stamp a recipe writes shares; `definition` is per document. */
|
|
50
61
|
export interface RecipeStampIdentity {
|
|
51
62
|
id: string;
|
|
52
63
|
version: string;
|
|
53
64
|
of: number;
|
|
65
|
+
/** Present exactly when the recipe carries connectors. */
|
|
66
|
+
connectors?: number;
|
|
54
67
|
source_digest: string;
|
|
55
68
|
}
|
|
56
69
|
/**
|
|
@@ -66,8 +79,10 @@ declare function canonicalJson(value: unknown): string;
|
|
|
66
79
|
export { canonicalJson as definitionCanonicalJson };
|
|
67
80
|
/**
|
|
68
81
|
* Digest of a recipe's parsed content, taken before edition materialization: its id, version,
|
|
69
|
-
* conventions, View pairs and
|
|
70
|
-
* across editions, independent of how the recipe was acquired,
|
|
82
|
+
* conventions, View pairs, References and (only when it carries any) Connectors, each sorted by id,
|
|
83
|
+
* bodies with CRLF read as LF. Equal across editions, independent of how the recipe was acquired,
|
|
84
|
+
* and blind to README files. A recipe without connectors digests exactly as it did before
|
|
85
|
+
* connectors existed, so every stamp written earlier stays current.
|
|
71
86
|
*/
|
|
72
87
|
export declare function recipeSourceDigest(recipe: LoadedRecipe): string;
|
|
73
88
|
/**
|
|
@@ -76,33 +91,45 @@ export declare function recipeSourceDigest(recipe: LoadedRecipe): string;
|
|
|
76
91
|
* before the write equals the digest of the document read back from any backend.
|
|
77
92
|
*/
|
|
78
93
|
export declare function definitionDigest(doc: Pick<OkfDocument, "frontmatter" | "body">): string;
|
|
79
|
-
/**
|
|
94
|
+
/**
|
|
95
|
+
* The document's stamp, or null unless it is a mapping whose every required field has its type.
|
|
96
|
+
* The optional `connectors` count is kept when it is a non-negative integer and otherwise read as
|
|
97
|
+
* absent.
|
|
98
|
+
*/
|
|
80
99
|
export declare function readRecipeStamp(doc: Pick<OkfDocument, "frontmatter">): RecipeStamp | null;
|
|
81
100
|
/** The recipe-level stamp facts for `recipe`; `materialized` supplies the declared count. */
|
|
82
101
|
export declare function recipeStampIdentity(recipe: LoadedRecipe, materialized: LoadedRecipe): RecipeStampIdentity;
|
|
83
102
|
/** `doc` with its stamp replaced by this recipe's, whose `definition` is the digest of `doc`. */
|
|
84
103
|
export declare function withRecipeStamp<T extends Pick<OkfDocument, "frontmatter" | "body">>(doc: T, identity: RecipeStampIdentity): T;
|
|
85
|
-
/**
|
|
104
|
+
/**
|
|
105
|
+
* How the stamp on `doc` (null: no document) relates to the recipe `identity` describes. The
|
|
106
|
+
* Connector count must match too: for a recipe that carries connectors a stamp without it is
|
|
107
|
+
* `stale`, and since no release writes the key for a recipe without connectors, every stamp such a
|
|
108
|
+
* recipe wrote reads as it did before the key existed.
|
|
109
|
+
*/
|
|
86
110
|
export declare function recipeStampState(doc: Pick<OkfDocument, "frontmatter"> | null, identity: RecipeStampIdentity): RecipeStampState;
|
|
87
111
|
/** The worst of `states` in the order current, stale, foreign, missing; `current` when empty. */
|
|
88
112
|
export declare function worstRecipeStampState(states: Iterable<RecipeStampState>): RecipeStampState;
|
|
89
|
-
/** One stamped
|
|
113
|
+
/** One stamped document's state: rules this release reads, and whether its digest still matches. */
|
|
90
114
|
export declare function conventionStampState(doc: Pick<OkfDocument, "frontmatter" | "body">): ConventionStampState;
|
|
91
115
|
/**
|
|
92
|
-
* Each recipe's install state, derived from the stamps on `
|
|
93
|
-
* type are ignored), and the
|
|
94
|
-
* are visible to the caller) also report a
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
116
|
+
* Each recipe's install state, derived from the stamps on `docs` (conventions, and Connector
|
|
117
|
+
* documents under `connectors/`; documents of any other type are ignored), and the documents no
|
|
118
|
+
* recipe stamped. `known` recipes (their declared ids are visible to the caller) also report a
|
|
119
|
+
* declared id that does not carry their stamp, and get a row when an unstamped convention that
|
|
120
|
+
* declares something, or an unstamped Connector, sits at one of their ids: a bundle written before
|
|
121
|
+
* stamps. A declined Kind (a declaration-free record) or another recipe's stamp at their ids alone
|
|
122
|
+
* is no evidence they were installed.
|
|
98
123
|
*
|
|
99
|
-
* States, the first match winning: `unknown` when no
|
|
100
|
-
* `partial` when the stamps record more than one version or source digest, disagree on
|
|
101
|
-
*
|
|
102
|
-
* recipe's stamp; `diverged` when a stamped
|
|
103
|
-
* `unknown` when a stamp uses digest rules this release does not read; otherwise
|
|
124
|
+
* States, the first match winning: `unknown` when no document carries the recipe's stamp;
|
|
125
|
+
* `partial` when the stamps record more than one version or source digest, disagree on a declared
|
|
126
|
+
* count, fall short of the convention or Connector count, or (known recipes) a declared id is
|
|
127
|
+
* present without this recipe's stamp; `diverged` when a stamped document changed since the recipe
|
|
128
|
+
* wrote it; `unknown` when a stamp uses digest rules this release does not read; otherwise
|
|
129
|
+
* `installed`. A row carries the Connector keys only for a recipe whose stamps record connectors,
|
|
130
|
+
* so every other row reads as it did before connectors existed.
|
|
104
131
|
*/
|
|
105
|
-
export declare function installedRecipes(
|
|
132
|
+
export declare function installedRecipes(docs: Iterable<OkfDocument>, known?: readonly LoadedRecipe[]): {
|
|
106
133
|
rows: InstalledRecipeRow[];
|
|
107
134
|
unstamped: ConceptId[];
|
|
108
135
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stamp.d.ts","sourceRoot":"","sources":["../../src/recipe-lifecycle/stamp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stamp.d.ts","sourceRoot":"","sources":["../../src/recipe-lifecycle/stamp.ts"],"names":[],"mappings":"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"}
|