@superbee/core 0.2.0-pre.21 → 0.2.0-pre.22
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 +50 -0
- package/dist/connector-request.d.ts +87 -0
- package/dist/connector-request.d.ts.map +1 -0
- package/dist/connector-request.js +370 -0
- package/dist/connector-request.js.map +1 -0
- package/dist/connectors.d.ts +32 -0
- package/dist/connectors.d.ts.map +1 -1
- package/dist/connectors.js +30 -1
- package/dist/connectors.js.map +1 -1
- package/dist/recipe-lifecycle/evolution.d.ts.map +1 -1
- package/dist/recipe-lifecycle/evolution.js +49 -13
- package/dist/recipe-lifecycle/evolution.js.map +1 -1
- package/dist/recipe-lifecycle/install.d.ts.map +1 -1
- package/dist/recipe-lifecycle/install.js +2 -2
- package/dist/recipe-lifecycle/install.js.map +1 -1
- package/dist/recipe-lifecycle/stamp.d.ts +2 -0
- package/dist/recipe-lifecycle/stamp.d.ts.map +1 -1
- package/dist/recipe-lifecycle/stamp.js +5 -1
- package/dist/recipe-lifecycle/stamp.js.map +1 -1
- package/dist/source-engine/guard.d.ts +4 -8
- package/dist/source-engine/guard.d.ts.map +1 -1
- package/dist/source-engine/guard.js +32 -5
- package/dist/source-engine/guard.js.map +1 -1
- package/dist/source-engine/index.d.ts +2 -0
- package/dist/source-engine/index.d.ts.map +1 -1
- package/dist/source-engine/index.js +1 -0
- package/dist/source-engine/index.js.map +1 -1
- package/dist/source-engine/observe.d.ts.map +1 -1
- package/dist/source-engine/observe.js +29 -7
- package/dist/source-engine/observe.js.map +1 -1
- package/dist/source-engine/overlay.d.ts +49 -0
- package/dist/source-engine/overlay.d.ts.map +1 -0
- package/dist/source-engine/overlay.js +114 -0
- package/dist/source-engine/overlay.js.map +1 -0
- package/dist/source-engine/types.d.ts +2 -0
- package/dist/source-engine/types.d.ts.map +1 -1
- package/dist/source-harness/conformance.d.ts.map +1 -1
- package/dist/source-harness/conformance.js +13 -12
- package/dist/source-harness/conformance.js.map +1 -1
- package/dist/source-harness/fixture.d.ts.map +1 -1
- package/dist/source-harness/fixture.js +30 -18
- package/dist/source-harness/fixture.js.map +1 -1
- package/dist/source-profiles/index.d.ts +32 -0
- package/dist/source-profiles/index.d.ts.map +1 -0
- package/dist/source-profiles/index.js +326 -0
- package/dist/source-profiles/index.js.map +1 -0
- package/dist/source-profiles/link-header.d.ts +6 -0
- package/dist/source-profiles/link-header.d.ts.map +1 -0
- package/dist/source-profiles/link-header.js +131 -0
- package/dist/source-profiles/link-header.js.map +1 -0
- package/package.json +6 -1
package/dist/connectors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../src/connectors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../src/connectors.ts"],"names":[],"mappings":"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"}
|
package/dist/connectors.js
CHANGED
|
@@ -15,6 +15,8 @@
|
|
|
15
15
|
* change; {@link findingsFor} turns diagnostics into findings for `planFindings`.
|
|
16
16
|
* Storage-neutral: no Node globals or builtins.
|
|
17
17
|
*/
|
|
18
|
+
import { validateConnectorRequest } from "./connector-request.js";
|
|
19
|
+
export { AUTH_PROVIDER_REQUEST_RULES, validateConnectorRequest, readPath as readSourcePath, renderRequestValue } from "./connector-request.js";
|
|
18
20
|
import { compareCodePoints } from "./code-point-order.js";
|
|
19
21
|
import { isStandardDocumentSetField } from "./document-field-actions.js";
|
|
20
22
|
import { PROGRESS_STATUS_FIELD, isKindListField, isPresent } from "./kinds.js";
|
|
@@ -42,7 +44,16 @@ const GITHUB_APP_HOSTS = Object.freeze(["api.github.com"]);
|
|
|
42
44
|
/** The accepted keys of every closed block. The shape check and the pin digest read only this table. */
|
|
43
45
|
export const CONNECTOR_KEYS = Object.freeze({
|
|
44
46
|
auth: Object.freeze(["kind", "provider", "permissions", "scheme"]),
|
|
45
|
-
source: Object.freeze(["name", "profile", "target_kind", "mode", "identity", "fields", "completeness"]),
|
|
47
|
+
source: Object.freeze(["name", "profile", "target_kind", "mode", "identity", "fields", "completeness", "request"]),
|
|
48
|
+
request: Object.freeze(["host", "method", "path", "query", "body", "headers", "items", "skip", "fields", "paging", "watermark", "complete", "errors", "rate", "graphql"]),
|
|
49
|
+
paging: Object.freeze(["kind", "cursor_path", "next_path", "size_param", "size", "page_param", "offset_param"]),
|
|
50
|
+
watermark: Object.freeze(["field", "param", "overlap_seconds"]),
|
|
51
|
+
errors: Object.freeze(["deferred", "credential_refused", "not_found"]),
|
|
52
|
+
rate: Object.freeze(["requests"]),
|
|
53
|
+
graphql: Object.freeze(["query", "variables", "items", "page_info"]),
|
|
54
|
+
transform: Object.freeze(["from", "type", "const"]),
|
|
55
|
+
skip: Object.freeze(["path", "present"]),
|
|
56
|
+
complete: Object.freeze(["when_path", "equals"]),
|
|
46
57
|
identity: Object.freeze(["resource", "id"]),
|
|
47
58
|
mapping: Object.freeze(["from", "values", "unmapped"]),
|
|
48
59
|
action: Object.freeze(["name", "method", "host", "input", "confirm"]),
|
|
@@ -563,6 +574,7 @@ function parseSource(raw, index, errors) {
|
|
|
563
574
|
return {
|
|
564
575
|
name: raw.name, profile: raw.profile, target_kind: raw.target_kind, mode: "overlay",
|
|
565
576
|
identity, fields, completeness: raw.completeness,
|
|
577
|
+
...(raw.request !== undefined ? { request: raw.request } : {}),
|
|
566
578
|
};
|
|
567
579
|
}
|
|
568
580
|
function parseAction(raw, index, reach, errors) {
|
|
@@ -739,6 +751,14 @@ export function parseConnectorDoc(doc, ctx = {}) {
|
|
|
739
751
|
duplicates(rawActions ?? [], "actions", "action", errors);
|
|
740
752
|
duplicates(rawEvents ?? [], "events", "event", errors);
|
|
741
753
|
const sources = (rawSources ?? []).map((raw, index) => parseSource(raw, index, errors));
|
|
754
|
+
if (auth)
|
|
755
|
+
sources.forEach((source, index) => {
|
|
756
|
+
if (!source || source.request === undefined)
|
|
757
|
+
return;
|
|
758
|
+
for (const error of validateConnectorRequest(source, { auth, domains })) {
|
|
759
|
+
errors.list.push({ code: "CONNECTOR_MALFORMED", path: `/record_sources/${index}${error.path}`, message: error.message });
|
|
760
|
+
}
|
|
761
|
+
});
|
|
742
762
|
const reach = new Set([...(auth ? credentialHosts(auth) : []), ...domains]);
|
|
743
763
|
const actions = (rawActions ?? []).map((raw, index) => parseAction(raw, index, reach, errors));
|
|
744
764
|
const names = new Set((rawSources ?? []).flatMap((raw) => (record(raw) && typeof raw.name === "string" ? [raw.name] : [])));
|
|
@@ -779,6 +799,8 @@ export function checkConnectorAgainstKinds(connector, kinds) {
|
|
|
779
799
|
return sourceKindErrors(source, index, kind);
|
|
780
800
|
});
|
|
781
801
|
}
|
|
802
|
+
/** Detect credential-shaped text without returning or echoing its value. */
|
|
803
|
+
export function containsCredentialText(text) { return bodyHoldsSecret(text); }
|
|
782
804
|
// --------------------------------------------------------------------------------------------- pin
|
|
783
805
|
function pinBlock(block, value, nested = {}) {
|
|
784
806
|
const source = value;
|
|
@@ -818,6 +840,13 @@ export function connectorPinDigest(connector) {
|
|
|
818
840
|
domains: [...connector.domains].sort(),
|
|
819
841
|
// The parsed sources, under the same label whichever document key they were read from.
|
|
820
842
|
sources: byName(connector.sources).map((source) => pinBlock("source", PIN_DEFAULTS.source(source), {
|
|
843
|
+
request: (v) => pinBlock("request", v, {
|
|
844
|
+
paging: (x) => pinBlock("paging", x), watermark: (x) => pinBlock("watermark", x),
|
|
845
|
+
errors: (x) => pinBlock("errors", x), rate: (x) => pinBlock("rate", x),
|
|
846
|
+
graphql: (x) => pinBlock("graphql", x), fields: mapOf("transform"),
|
|
847
|
+
skip: (x) => x.map((y) => pinBlock("skip", y)),
|
|
848
|
+
complete: (x) => typeof x === "string" ? x : pinBlock("complete", x),
|
|
849
|
+
}),
|
|
821
850
|
identity: (v) => pinBlock("identity", v),
|
|
822
851
|
fields: mapOf("mapping", PIN_DEFAULTS.mapping),
|
|
823
852
|
})),
|
package/dist/connectors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectors.js","sourceRoot":"","sources":["../src/connectors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connectors.js","sourceRoot":"","sources":["../src/connectors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evolution.d.ts","sourceRoot":"","sources":["../../src/recipe-lifecycle/evolution.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAe,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3E,OAAO,EAML,KAAK,kCAAkC,EACxC,MAAM,aAAa,CAAC;AAMrB,OAAO,
|
|
1
|
+
{"version":3,"file":"evolution.d.ts","sourceRoot":"","sources":["../../src/recipe-lifecycle/evolution.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ import { okfValuesEqual } from "../okf-authored-values.js";
|
|
|
21
21
|
import { VersionConflict, blobVersion, contentVersion, sha256Hex } from "../versioning.js";
|
|
22
22
|
import { RecipeEditionChanged, RecipeEvolutionBlocked, RecipeEvolutionInterrupted, RecipeEvolutionPlanChanged, RecipeEvolutionPostcondition, } from "./errors.js";
|
|
23
23
|
import { materializeRecipeForEdition, recipeDocumentForApply, sameInstalledDoc, } from "./install.js";
|
|
24
|
-
import { RECIPE_STAMP_KEY, conventionStampState, definitionDigest, recipeStampIdentity, recipeStampState, withRecipeStamp, } from "./stamp.js";
|
|
24
|
+
import { RECIPE_STAMP_KEY, conventionStampState, definitionDigest, normalizeDefinitionBody, recipeStampIdentity, recipeStampState, withRecipeStamp, } from "./stamp.js";
|
|
25
25
|
const RECIPE_EVOLUTION_WRITE_REGISTRY = { kinds: new Map(), warnings: [] };
|
|
26
26
|
function plainRecord(value) {
|
|
27
27
|
return value !== null && typeof value === "object" && !Array.isArray(value)
|
|
@@ -60,13 +60,30 @@ function setOwn(record, key, value) {
|
|
|
60
60
|
writable: true,
|
|
61
61
|
});
|
|
62
62
|
}
|
|
63
|
+
/** The ordered declaration lists the Kind parser consumes; extension arrays keep their policy. */
|
|
64
|
+
function isOrderedDeclarationList(pointer) {
|
|
65
|
+
return pointer === "/frontmatter/sections"
|
|
66
|
+
|| /^\/frontmatter\/fields\/(?:required|optional)$/.test(pointer)
|
|
67
|
+
|| /^\/frontmatter\/fields\/(?:values|terminal)\/[^/]+$/.test(pointer);
|
|
68
|
+
}
|
|
69
|
+
/** Each installed occurrence must survive in the same relative order, including duplicates. */
|
|
70
|
+
function isOccurrenceSubsequence(current, next) {
|
|
71
|
+
let index = 0;
|
|
72
|
+
for (const value of next) {
|
|
73
|
+
if (index < current.length && okfValuesEqual(current[index], value))
|
|
74
|
+
index += 1;
|
|
75
|
+
}
|
|
76
|
+
return index === current.length;
|
|
77
|
+
}
|
|
63
78
|
/**
|
|
64
79
|
* Merge recipe declarations into a user-owned convention without deleting or replacing any
|
|
65
80
|
* existing semantic value, except field guidance whose whole-definition stamp proves recipe
|
|
66
|
-
* ownership.
|
|
67
|
-
*
|
|
81
|
+
* ownership. Kind declaration lists follow recipe order when existing occurrences can be
|
|
82
|
+
* preserved or the stamp proves an unchanged recipe baseline; omitted values remain blockers.
|
|
83
|
+
* Extension arrays retain their append-only merge. Root mutation/provenance metadata is preserved
|
|
84
|
+
* by the shared write policy instead of being treated as recipe-owned schema.
|
|
68
85
|
*/
|
|
69
|
-
function additiveConventionCandidate(existing, desired, blockers,
|
|
86
|
+
function additiveConventionCandidate(existing, desired, blockers, hasUnchangedRecipeBaseline) {
|
|
70
87
|
const addedPaths = [];
|
|
71
88
|
const descriptionReplacements = [];
|
|
72
89
|
const merge = (current, next, pointer) => {
|
|
@@ -80,7 +97,7 @@ function additiveConventionCandidate(existing, desired, blockers, canReplaceDesc
|
|
|
80
97
|
}
|
|
81
98
|
if (okfValuesEqual(current, next))
|
|
82
99
|
return current;
|
|
83
|
-
if (
|
|
100
|
+
if (hasUnchangedRecipeBaseline
|
|
84
101
|
&& /^\/frontmatter\/fields\/descriptions\/[^/]+$/.test(pointer)
|
|
85
102
|
&& typeof current === "string"
|
|
86
103
|
&& typeof next === "string") {
|
|
@@ -89,11 +106,25 @@ function additiveConventionCandidate(existing, desired, blockers, canReplaceDesc
|
|
|
89
106
|
}
|
|
90
107
|
if (Array.isArray(current) && Array.isArray(next)) {
|
|
91
108
|
const merged = [...current];
|
|
109
|
+
let removesValue = false;
|
|
92
110
|
for (const value of current) {
|
|
93
111
|
if (!next.some((candidate) => okfValuesEqual(candidate, value))) {
|
|
112
|
+
removesValue = true;
|
|
94
113
|
evolutionBlocker(blockers, "RECIPE_EVOLUTION_REMOVAL_UNSUPPORTED", desired.id, `automatic evolution preserves the existing declaration value at '${pointer}'`, pointer);
|
|
95
114
|
}
|
|
96
115
|
}
|
|
116
|
+
if (isOrderedDeclarationList(pointer) && !removesValue) {
|
|
117
|
+
if (!hasUnchangedRecipeBaseline && !isOccurrenceSubsequence(current, next)) {
|
|
118
|
+
evolutionBlocker(blockers, "RECIPE_EVOLUTION_LIST_ORDER_UNPROVEN", desired.id, `automatic evolution cannot reorder or remove installed occurrences at '${pointer}' without an unchanged recipe baseline; existing order and duplicates are preserved`, pointer);
|
|
119
|
+
return current;
|
|
120
|
+
}
|
|
121
|
+
for (const value of next) {
|
|
122
|
+
if (!current.some((candidate) => okfValuesEqual(candidate, value))) {
|
|
123
|
+
addedPaths.push(`${pointer}/${pointerSegment(String(value))}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return next;
|
|
127
|
+
}
|
|
97
128
|
for (const value of next) {
|
|
98
129
|
if (merged.some((candidate) => okfValuesEqual(candidate, value)))
|
|
99
130
|
continue;
|
|
@@ -127,11 +158,13 @@ function additiveConventionCandidate(existing, desired, blockers, canReplaceDesc
|
|
|
127
158
|
setOwn(candidateFrontmatter, key, merge(currentFrontmatter[key], desiredFrontmatter[key], `/frontmatter/${pointerSegment(key)}`));
|
|
128
159
|
}
|
|
129
160
|
let body = existing.body;
|
|
130
|
-
|
|
161
|
+
const existingBody = normalizeDefinitionBody(existing.body);
|
|
162
|
+
const desiredBody = normalizeDefinitionBody(desired.body);
|
|
163
|
+
if (existingBody === "\n" && desiredBody !== "\n") {
|
|
131
164
|
body = desired.body;
|
|
132
165
|
addedPaths.push("/body");
|
|
133
166
|
}
|
|
134
|
-
else if (
|
|
167
|
+
else if (existingBody !== desiredBody) {
|
|
135
168
|
evolutionBlocker(blockers, "RECIPE_EVOLUTION_BODY_REPLACEMENT_UNSUPPORTED", desired.id, "automatic evolution will not replace an existing convention body; update it manually after review", "/body");
|
|
136
169
|
}
|
|
137
170
|
return {
|
|
@@ -258,7 +291,10 @@ function monotonicEvolutionBlockers(current, desired, blockers) {
|
|
|
258
291
|
if (!okfValuesEqual(current.expectsInbound ?? {}, desired.expectsInbound ?? {})) {
|
|
259
292
|
evolutionBlocker(blockers, "RECIPE_EVOLUTION_RELATIONSHIP_CHANGE", desired.id, `automatic evolution does not change inbound relationship expectations for '${desired.governs}'`, "expects_inbound");
|
|
260
293
|
}
|
|
261
|
-
|
|
294
|
+
const sameTerminalOccurrences = Object.keys(current.fields.terminal).length === Object.keys(desired.fields.terminal).length
|
|
295
|
+
&& Object.entries(current.fields.terminal).every(([field, values]) => Object.hasOwn(desired.fields.terminal, field)
|
|
296
|
+
&& okfValuesEqual([...values].sort(), [...desired.fields.terminal[field]].sort()));
|
|
297
|
+
if (!sameTerminalOccurrences) {
|
|
262
298
|
evolutionBlocker(blockers, "RECIPE_EVOLUTION_TERMINAL_CHANGE", desired.id, `automatic evolution does not change terminal workflow values for '${desired.governs}' because open-work visibility can change`, "fields.terminal");
|
|
263
299
|
}
|
|
264
300
|
}
|
|
@@ -412,9 +448,9 @@ async function prepareRecipeEvolution(bundle, sourceRecipe) {
|
|
|
412
448
|
}
|
|
413
449
|
const identityState = recipeStampState(existing.doc, identity);
|
|
414
450
|
// A whole-definition stamp proves an unchanged baseline, not individual field history.
|
|
415
|
-
const
|
|
451
|
+
const hasUnchangedRecipeBaseline = (identityState === "current" || identityState === "stale")
|
|
416
452
|
&& conventionStampState(existing.doc) === "current";
|
|
417
|
-
const merged = additiveConventionCandidate(existing.doc, target, blockers,
|
|
453
|
+
const merged = additiveConventionCandidate(existing.doc, target, blockers, hasUnchangedRecipeBaseline);
|
|
418
454
|
let candidate = merged.candidate;
|
|
419
455
|
if (okfVersion === "0.2") {
|
|
420
456
|
try {
|
|
@@ -439,7 +475,7 @@ async function prepareRecipeEvolution(bundle, sourceRecipe) {
|
|
|
439
475
|
}
|
|
440
476
|
else {
|
|
441
477
|
desiredKinds.set(parsedCandidate.kind.governs, parsedCandidate.kind);
|
|
442
|
-
//
|
|
478
|
+
// Omitted declarations remain in the candidate even when they block applying the plan.
|
|
443
479
|
for (const warning of parsedCandidate.warnings) {
|
|
444
480
|
if (warning.code !== "OKF_WORKFLOW_STATUS_COLLISION" || blockers.some(blocker => blocker.id === target.id && blocker.code === warning.code))
|
|
445
481
|
continue;
|
|
@@ -450,8 +486,8 @@ async function prepareRecipeEvolution(bundle, sourceRecipe) {
|
|
|
450
486
|
const unchanged = sameInstalledDoc(existing.doc, candidate, okfVersion);
|
|
451
487
|
// A current identity whose definition disagrees with the stored content is re-stamped only when
|
|
452
488
|
// that content's definition digest equals the digest of the recipe's own convention: a fresh
|
|
453
|
-
// stamp is then the honest record.
|
|
454
|
-
//
|
|
489
|
+
// stamp is then the honest record. `unchanged` alone must not re-baseline preserved local
|
|
490
|
+
// content that differs from the selected recipe.
|
|
455
491
|
const stamp = unchanged &&
|
|
456
492
|
identityState === "current" &&
|
|
457
493
|
conventionStampState(existing.doc) === "diverged" &&
|