@graview/core 0.1.47 → 0.1.49
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/dist/blocks.d.ts +1 -1
- package/dist/blocks.d.ts.map +1 -1
- package/dist/blocks.js +1 -1
- package/dist/blocks.js.map +1 -1
- package/dist/capital.d.ts +7 -0
- package/dist/capital.d.ts.map +1 -1
- package/dist/capital.js +7 -0
- package/dist/capital.js.map +1 -1
- package/dist/cli/check/forms.js +2 -2
- package/dist/cli/check/forms.js.map +1 -1
- package/dist/cli/check/policy.d.ts.map +1 -1
- package/dist/cli/check/policy.js +9 -1
- package/dist/cli/check/policy.js.map +1 -1
- package/dist/cli/check/relations.d.ts.map +1 -1
- package/dist/cli/check/relations.js +4 -1
- package/dist/cli/check/relations.js.map +1 -1
- package/dist/cli/describe.js +1 -1
- package/dist/cli/describe.js.map +1 -1
- package/dist/cli/docs.d.ts.map +1 -1
- package/dist/cli/docs.js +2 -1
- package/dist/cli/docs.js.map +1 -1
- package/dist/describe.d.ts +1 -1
- package/dist/describe.d.ts.map +1 -1
- package/dist/document/act-spellings.d.ts +12 -0
- package/dist/document/act-spellings.d.ts.map +1 -0
- package/dist/document/act-spellings.js +56 -0
- package/dist/document/act-spellings.js.map +1 -0
- package/dist/document/blocks.d.ts +9 -0
- package/dist/document/blocks.d.ts.map +1 -1
- package/dist/document/blocks.js +34 -4
- package/dist/document/blocks.js.map +1 -1
- package/dist/document/compile.d.ts.map +1 -1
- package/dist/document/compile.js +16 -4
- package/dist/document/compile.js.map +1 -1
- package/dist/document/describe-forms.d.ts +15 -0
- package/dist/document/describe-forms.d.ts.map +1 -0
- package/dist/document/describe-forms.js +79 -0
- package/dist/document/describe-forms.js.map +1 -0
- package/dist/document/describe-place.d.ts.map +1 -1
- package/dist/document/describe-place.js +40 -5
- package/dist/document/describe-place.js.map +1 -1
- package/dist/document/described.d.ts +39 -1
- package/dist/document/described.d.ts.map +1 -1
- package/dist/document/diff.js +2 -2
- package/dist/document/diff.js.map +1 -1
- package/dist/document/edit.d.ts.map +1 -1
- package/dist/document/edit.js +21 -2
- package/dist/document/edit.js.map +1 -1
- package/dist/document/page-fields.d.ts +10 -0
- package/dist/document/page-fields.d.ts.map +1 -1
- package/dist/document/page-fields.js +19 -0
- package/dist/document/page-fields.js.map +1 -1
- package/dist/document/policy-words.d.ts.map +1 -1
- package/dist/document/policy-words.js +10 -4
- package/dist/document/policy-words.js.map +1 -1
- package/dist/document/rule-line.d.ts.map +1 -1
- package/dist/document/rule-line.js +2 -1
- package/dist/document/rule-line.js.map +1 -1
- package/dist/document/template.d.ts +11 -0
- package/dist/document/template.d.ts.map +1 -1
- package/dist/document/template.js +18 -0
- package/dist/document/template.js.map +1 -1
- package/dist/document.schema.json +2 -2
- package/dist/forms.d.ts +1 -1
- package/dist/forms.d.ts.map +1 -1
- package/dist/forms.js +1 -1
- package/dist/forms.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/intelligence-bridge.d.ts +11 -2
- package/dist/intelligence-bridge.d.ts.map +1 -1
- package/dist/mutations/act-spelling.d.ts +23 -0
- package/dist/mutations/act-spelling.d.ts.map +1 -0
- package/dist/mutations/act-spelling.js +68 -0
- package/dist/mutations/act-spelling.js.map +1 -0
- package/dist/mutations/asked-order.d.ts +54 -0
- package/dist/mutations/asked-order.d.ts.map +1 -0
- package/dist/mutations/asked-order.js +78 -0
- package/dist/mutations/asked-order.js.map +1 -0
- package/dist/mutations/define-mutation.d.ts +9 -0
- package/dist/mutations/define-mutation.d.ts.map +1 -1
- package/dist/mutations/define-mutation.js +51 -5
- package/dist/mutations/define-mutation.js.map +1 -1
- package/dist/mutations/derive-edits.d.ts.map +1 -1
- package/dist/mutations/derive-edits.js +9 -2
- package/dist/mutations/derive-edits.js.map +1 -1
- package/dist/mutations/derive-relations.d.ts.map +1 -1
- package/dist/mutations/derive-relations.js +10 -2
- package/dist/mutations/derive-relations.js.map +1 -1
- package/dist/mutations/derived-names.d.ts +17 -0
- package/dist/mutations/derived-names.d.ts.map +1 -1
- package/dist/mutations/derived-names.js +17 -0
- package/dist/mutations/derived-names.js.map +1 -1
- package/dist/mutations/form.d.ts +7 -0
- package/dist/mutations/form.d.ts.map +1 -1
- package/dist/mutations/form.js +9 -0
- package/dist/mutations/form.js.map +1 -1
- package/dist/mutations/types.d.ts +7 -0
- package/dist/mutations/types.d.ts.map +1 -1
- package/dist/mutations/visitor-form.d.ts.map +1 -1
- package/dist/mutations/visitor-form.js +3 -3
- package/dist/mutations/visitor-form.js.map +1 -1
- package/dist/mutations/words.d.ts.map +1 -1
- package/dist/mutations/words.js +2 -1
- package/dist/mutations/words.js.map +1 -1
- package/dist/ops/lineage.d.ts +37 -5
- package/dist/ops/lineage.d.ts.map +1 -1
- package/dist/ops/lineage.js +47 -16
- package/dist/ops/lineage.js.map +1 -1
- package/dist/ops/suggestions.d.ts +36 -4
- package/dist/ops/suggestions.d.ts.map +1 -1
- package/dist/ops/suggestions.js +13 -7
- package/dist/ops/suggestions.js.map +1 -1
- package/dist/ops/tidying.d.ts +33 -4
- package/dist/ops/tidying.d.ts.map +1 -1
- package/dist/ops/tidying.js +50 -9
- package/dist/ops/tidying.js.map +1 -1
- package/dist/ops/types.d.ts +8 -0
- package/dist/ops/types.d.ts.map +1 -1
- package/dist/schema/define-node.d.ts.map +1 -1
- package/dist/schema/define-node.js +8 -1
- package/dist/schema/define-node.js.map +1 -1
- package/dist/schema/json-schema.d.ts +1 -1
- package/dist/schema/json-schema.d.ts.map +1 -1
- package/dist/schema/json-schema.js +11 -1
- package/dist/schema/json-schema.js.map +1 -1
- package/dist/store.d.ts +11 -0
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +31 -4
- package/dist/store.js.map +1 -1
- package/dist/tidying.d.ts +25 -7
- package/dist/tidying.d.ts.map +1 -1
- package/dist/tidying.js +26 -11
- package/dist/tidying.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/words.d.ts +1 -0
- package/dist/words.d.ts.map +1 -1
- package/dist/words.js +1 -0
- package/dist/words.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -59,7 +59,7 @@ export { REFUSAL_REASONS, refusalOf } from "./refusal.js";
|
|
|
59
59
|
export { ActRefusal } from "./refused.js";
|
|
60
60
|
export { assertReadable, FORMATS, formatStamp, NewerFormatError, upgradeOp, upgradeSnapshot } from "./formats.js";
|
|
61
61
|
// Mutations — the only writes.
|
|
62
|
-
export { argumentsTaken, compileMutation, defineMutation, seatMark, takesAnId } from "./mutations/define-mutation.js";
|
|
62
|
+
export { argumentsTaken, compileMutation, defineMutation, numbersSpelled, seatMark, takesAnId } from "./mutations/define-mutation.js";
|
|
63
63
|
export { deriveArchiveMutations, deriveEditMutations, deriveMutations, deriveRemoveMutations, derivedVia, editMutationName, editVia, removeMutationName, removeVia, fieldWriters, fieldsWrittenBy, settableFields, subjectKindsOf, unwrittenFields, } from "./mutations/derive-edits.js";
|
|
64
64
|
export { nodeRef, nodeRefArgs, nodeRefKinds } from "./mutations/node-ref.js";
|
|
65
65
|
// Records named the way people name them: a node argument takes a label (FR-33).
|
|
@@ -72,7 +72,7 @@ export { bareOp, inverseOf, inverted, withInverse } from "./ops/inverse.js";
|
|
|
72
72
|
export { isWithheld, namesUnseen, redact, touchedBy, touchesUnseen, withhold, WITHHELD_AUTHOR, WITHHELD_INTENT } from "./ops/withheld.js";
|
|
73
73
|
export { FieldRevisions, fieldsWritten, NEVER_WRITTEN, writtenBy } from "./ops/revisions.js";
|
|
74
74
|
export { checkUndo, undoPrimitives, UndoBlockedError } from "./ops/undo.js";
|
|
75
|
-
export { LINEAGE_BASIS_LIMIT, LINEAGE_MODEL_LIMIT, lineageOf } from "./ops/lineage.js";
|
|
75
|
+
export { LINEAGE_BASIS_LIMIT, LINEAGE_EVIDENCE_LIMIT, LINEAGE_LIMIT, LINEAGE_MODEL_LIMIT, lineageOf } from "./ops/lineage.js";
|
|
76
76
|
export { KEEP_LINK } from "./mutations/keep-link.js";
|
|
77
77
|
// Whether a record is left alone and an author is the app's own actor, which a page draws with; the rest is `@graview/core/tidying`'s.
|
|
78
78
|
export { isAutomated, isLeftAlone } from "./ops/tidying.js";
|
|
@@ -112,6 +112,9 @@ export { sha256Hex, snapshotHash } from "./integrity.js";
|
|
|
112
112
|
export { GRAPH_FINDING_CODES, repairPlan, validateGraph } from "./validate-graph.js";
|
|
113
113
|
// Store — graph + log + mutations + invariants, one object.
|
|
114
114
|
export { MODULES_AUTHOR, PastError, PREVIEW_BATCH, problemsMoved, ReceiveError, shapedRules, Store, UnknownMutationError, violationKey } from "./store.js";
|
|
115
|
+
export { actSpelledAs, nearestAct, spellingOf } from "./mutations/act-spelling.js";
|
|
116
|
+
// One order every form asks in, whatever declared the act: what names the record, what it must be given, the rest (Roadmap f-forms-same-order-everywhere).
|
|
117
|
+
export { askedArguments, askedFieldsOf, inAskedOrder } from "./mutations/asked-order.js";
|
|
115
118
|
// The day turning (FR-176): a store ticked at each midnight. What reads the clock is `@graview/core/check`'s (`clockReaders`).
|
|
116
119
|
export { dayOf, tickEachDay, untilTheDayTurns } from "./clock.js";
|
|
117
120
|
// Views — the cardinality x fidelity matrix.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -88,13 +88,22 @@ export type AiBridgeStatus = {
|
|
|
88
88
|
readonly configured: false;
|
|
89
89
|
readonly howTo: string;
|
|
90
90
|
};
|
|
91
|
-
/** POST — a
|
|
91
|
+
/** POST — a completion's request, as `Completion` takes it (`@graview/tools`): the words, the framing, the pictures as base64. */
|
|
92
92
|
export interface AiBridgeAsk {
|
|
93
93
|
readonly prompt: string;
|
|
94
|
+
readonly system?: string;
|
|
95
|
+
readonly images?: readonly {
|
|
96
|
+
readonly mediaType: string;
|
|
97
|
+
readonly data: string;
|
|
98
|
+
}[];
|
|
94
99
|
}
|
|
95
|
-
/** What comes back: the model's text, or why there is none. Never the key. */
|
|
100
|
+
/** What comes back: the model's text and what the call used, or why there is none. Never the key. */
|
|
96
101
|
export type AiBridgeAnswer = {
|
|
97
102
|
readonly text: string;
|
|
103
|
+
readonly usage?: {
|
|
104
|
+
readonly inputTokens: number;
|
|
105
|
+
readonly outputTokens: number;
|
|
106
|
+
};
|
|
98
107
|
} | {
|
|
99
108
|
readonly error: string;
|
|
100
109
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intelligence-bridge.d.ts","sourceRoot":"","sources":["../src/intelligence-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,6DAA6D;AAC7D,eAAO,MAAM,iBAAiB,qBAAqB,CAAC;AAEpD,qEAAqE;AACrE,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACtD;IAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,yDAAyD;AACzD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,8DAA8D;AAC9D,MAAM,MAAM,iBAAiB,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAIvF;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AAExD,6EAA6E;AAC7E,MAAM,MAAM,oBAAoB,GAC5B;IAAE,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,iFAAiF;AACjF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvD;AAED,+EAA+E;AAC/E,MAAM,MAAM,oBAAoB,GAC5B;IACE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACtF,GACD;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAIzD;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,kBAAkB,CAAC;AAE9C,qFAAqF;AACrF,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC5E;IAAE,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,
|
|
1
|
+
{"version":3,"file":"intelligence-bridge.d.ts","sourceRoot":"","sources":["../src/intelligence-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AN ACT ASKED FOR IN ANOTHER SPELLING IS THE SAME ACT.
|
|
3
|
+
*
|
|
4
|
+
* A relation's act spells the relation in kebab-case (`partOf` →
|
|
5
|
+
* `connect-threat-part-of`), and a tool name spells an act with
|
|
6
|
+
* underscores; an agent that read the relation's name writes
|
|
7
|
+
* `connect-threat-partOf` and met "no such act". A name that says the same
|
|
8
|
+
* words as exactly one act — case, hyphens and underscores aside — is that
|
|
9
|
+
* act. A name that says none is answered with the nearest act, so a
|
|
10
|
+
* refusal can ask "did you mean …?" rather than only refuse. No imports, so
|
|
11
|
+
* the store, the agent's tools and the server read it alike.
|
|
12
|
+
*/
|
|
13
|
+
/** A name's words, however it is spelled: `connect-threat-partOf`, `connect_threat_part_of` → `connect-threat-part-of`. */
|
|
14
|
+
export declare const spellingOf: (name: string) => string;
|
|
15
|
+
/** The one act among `acts` a name spells another way, or undefined: an exact name is itself, and a spelling two acts share is neither. */
|
|
16
|
+
export declare function actSpelledAs(name: string, acts: Iterable<string>): string | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* The act a name most nearly says, for "did you mean …?": within a few
|
|
19
|
+
* letters of its words (a third of them at most), the nearest, and none
|
|
20
|
+
* when two are equally near — a guess between two is no help.
|
|
21
|
+
*/
|
|
22
|
+
export declare function nearestAct(name: string, acts: Iterable<string>): string | undefined;
|
|
23
|
+
//# sourceMappingURL=act-spelling.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"act-spelling.d.ts","sourceRoot":"","sources":["../../src/mutations/act-spelling.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,2HAA2H;AAC3H,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAMxB,CAAC;AAEnB,2IAA2I;AAC3I,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAMrF;AAaD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAiBnF"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AN ACT ASKED FOR IN ANOTHER SPELLING IS THE SAME ACT.
|
|
3
|
+
*
|
|
4
|
+
* A relation's act spells the relation in kebab-case (`partOf` →
|
|
5
|
+
* `connect-threat-part-of`), and a tool name spells an act with
|
|
6
|
+
* underscores; an agent that read the relation's name writes
|
|
7
|
+
* `connect-threat-partOf` and met "no such act". A name that says the same
|
|
8
|
+
* words as exactly one act — case, hyphens and underscores aside — is that
|
|
9
|
+
* act. A name that says none is answered with the nearest act, so a
|
|
10
|
+
* refusal can ask "did you mean …?" rather than only refuse. No imports, so
|
|
11
|
+
* the store, the agent's tools and the server read it alike.
|
|
12
|
+
*/
|
|
13
|
+
/** A name's words, however it is spelled: `connect-threat-partOf`, `connect_threat_part_of` → `connect-threat-part-of`. */
|
|
14
|
+
export const spellingOf = (name) => name
|
|
15
|
+
.trim()
|
|
16
|
+
.replace(/([a-z0-9])([A-Z])/g, "$1-$2")
|
|
17
|
+
.replace(/[_\s]+/g, "-")
|
|
18
|
+
.replace(/-+/g, "-")
|
|
19
|
+
.toLowerCase();
|
|
20
|
+
/** The one act among `acts` a name spells another way, or undefined: an exact name is itself, and a spelling two acts share is neither. */
|
|
21
|
+
export function actSpelledAs(name, acts) {
|
|
22
|
+
const words = spellingOf(name);
|
|
23
|
+
const every = [...acts];
|
|
24
|
+
if (every.includes(name))
|
|
25
|
+
return name;
|
|
26
|
+
const said = every.filter((act) => spellingOf(act) === words);
|
|
27
|
+
return said.length === 1 ? said[0] : undefined;
|
|
28
|
+
}
|
|
29
|
+
/** How many single-letter edits turn one into the other. */
|
|
30
|
+
function distance(a, b) {
|
|
31
|
+
let row = Array.from({ length: b.length + 1 }, (_, j) => j);
|
|
32
|
+
for (let i = 1; i <= a.length; i += 1) {
|
|
33
|
+
const next = [i];
|
|
34
|
+
for (let j = 1; j <= b.length; j += 1)
|
|
35
|
+
next[j] = Math.min(row[j] + 1, next[j - 1] + 1, row[j - 1] + (a[i - 1] === b[j - 1] ? 0 : 1));
|
|
36
|
+
row = next;
|
|
37
|
+
}
|
|
38
|
+
return row[b.length];
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The act a name most nearly says, for "did you mean …?": within a few
|
|
42
|
+
* letters of its words (a third of them at most), the nearest, and none
|
|
43
|
+
* when two are equally near — a guess between two is no help.
|
|
44
|
+
*/
|
|
45
|
+
export function nearestAct(name, acts) {
|
|
46
|
+
const every = [...acts];
|
|
47
|
+
const spelled = actSpelledAs(name, every);
|
|
48
|
+
if (spelled)
|
|
49
|
+
return spelled;
|
|
50
|
+
const words = spellingOf(name);
|
|
51
|
+
if (words === "")
|
|
52
|
+
return undefined;
|
|
53
|
+
let best;
|
|
54
|
+
let tied = false;
|
|
55
|
+
for (const act of every) {
|
|
56
|
+
const far = distance(words, spellingOf(act));
|
|
57
|
+
if (far > Math.max(2, Math.floor(Math.max(words.length, act.length) / 3)))
|
|
58
|
+
continue;
|
|
59
|
+
if (!best || far < best.far) {
|
|
60
|
+
best = { act, far };
|
|
61
|
+
tied = false;
|
|
62
|
+
}
|
|
63
|
+
else if (far === best.far)
|
|
64
|
+
tied = true;
|
|
65
|
+
}
|
|
66
|
+
return best && !tied ? best.act : undefined;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=act-spelling.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"act-spelling.js","sourceRoot":"","sources":["../../src/mutations/act-spelling.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ONE ORDER EVERY FORM ASKS IN, WHATEVER DECLARED IT.
|
|
3
|
+
*
|
|
4
|
+
* A document's creating act asked for what names the record first (0.1.48),
|
|
5
|
+
* and nothing else did: "Change the threat" asked in the kind's field order,
|
|
6
|
+
* and an app declared in TypeScript asked in its `z.object`'s key order, so
|
|
7
|
+
* a code app's "Add a threat" could bury the name it must be given under
|
|
8
|
+
* Affected versions and Aliases. Every form, the strip's questions, a seat's
|
|
9
|
+
* described form and an agent's tool now read one order:
|
|
10
|
+
*
|
|
11
|
+
* 1. what names the record — the fields its label reads, in the order it
|
|
12
|
+
* reads them;
|
|
13
|
+
* 2. every other field it cannot be made without (required, no default);
|
|
14
|
+
* 3. the rest;
|
|
15
|
+
*
|
|
16
|
+
* each run in the order the kind's page names them (`page.fields`, then its
|
|
17
|
+
* groups'), then as declared. An edit asks in the same order as the form
|
|
18
|
+
* that made the record: it is that form again, filled with what the record
|
|
19
|
+
* holds, so a field is where the person found it the first time — and what
|
|
20
|
+
* a record cannot be without still matters most when changing it.
|
|
21
|
+
*
|
|
22
|
+
* Only arguments that ARE a field of the kind move, and only among their own
|
|
23
|
+
* places: a record picked to link to, the subject, an argument the act names
|
|
24
|
+
* for itself stay where the act put them. Type imports only, so a page that
|
|
25
|
+
* draws one form carries nothing else.
|
|
26
|
+
*/
|
|
27
|
+
import type { AnySchema } from "../schema/schema.js";
|
|
28
|
+
import type { AnyNodeDefinition } from "../schema/types.js";
|
|
29
|
+
/** The rule, over names: what names the record, then what must be answered, then the rest — each in page order, then declared order. */
|
|
30
|
+
export declare function askedRule(rule: {
|
|
31
|
+
readonly declared: readonly string[];
|
|
32
|
+
readonly paged?: readonly string[];
|
|
33
|
+
readonly must: (field: string) => boolean;
|
|
34
|
+
readonly naming?: readonly string[];
|
|
35
|
+
}): readonly string[];
|
|
36
|
+
/** A kind's fields in the order a form asks for them (`askedRule`). */
|
|
37
|
+
export declare function askedFieldsOf(definition: AnyNodeDefinition): readonly string[];
|
|
38
|
+
type Asked = {
|
|
39
|
+
readonly input: unknown;
|
|
40
|
+
readonly creates?: readonly string[] | undefined;
|
|
41
|
+
readonly subject?: {
|
|
42
|
+
readonly kinds: readonly string[] | "*";
|
|
43
|
+
readonly arg: string;
|
|
44
|
+
} | undefined;
|
|
45
|
+
readonly derived?: {
|
|
46
|
+
readonly kind: string;
|
|
47
|
+
} | undefined;
|
|
48
|
+
};
|
|
49
|
+
/** An act's arguments in the order a form asks for them: those that are a field of its kind in that kind's asked order, among their own places. */
|
|
50
|
+
export declare function askedArguments(schema: Pick<AnySchema, "tryDefinition"> | undefined, mutation: Asked): readonly string[];
|
|
51
|
+
/** Things named by argument — a form's fields, the strip's open questions, a tool's properties — in an act's asked order; anything it does not name keeps its place after. */
|
|
52
|
+
export declare function inAskedOrder<T>(items: readonly T[], order: readonly string[], nameOf?: (item: T) => string): T[];
|
|
53
|
+
export {};
|
|
54
|
+
//# sourceMappingURL=asked-order.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asked-order.d.ts","sourceRoot":"","sources":["../../src/mutations/asked-order.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,wIAAwI;AACxI,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAAG,SAAS,MAAM,EAAE,CAK/M;AA+BD,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,UAAU,EAAE,iBAAiB,GAAG,SAAS,MAAM,EAAE,CAe9E;AAED,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,GAAG,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACjG,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CAC1D,CAAC;AASF,mJAAmJ;AACnJ,wBAAgB,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG,SAAS,EAAE,QAAQ,EAAE,KAAK,GAAG,SAAS,MAAM,EAAE,CASvH;AAED,8KAA8K;AAC9K,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,GAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAkD,GAAG,CAAC,EAAE,CAM3J"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/** The rule, over names: what names the record, then what must be answered, then the rest — each in page order, then declared order. */
|
|
2
|
+
export function askedRule(rule) {
|
|
3
|
+
const known = new Set(rule.declared);
|
|
4
|
+
const ordered = [...new Set([...(rule.paged ?? []).filter((field) => known.has(field)), ...rule.declared])];
|
|
5
|
+
const naming = (rule.naming ?? []).filter((field) => known.has(field));
|
|
6
|
+
return [...new Set([...naming, ...ordered.filter(rule.must), ...ordered])];
|
|
7
|
+
}
|
|
8
|
+
/** A mark no label would write on its own, one per field, that says which field a label read. */
|
|
9
|
+
const mark = (n) => `§${n}§`;
|
|
10
|
+
/**
|
|
11
|
+
* The fields a kind's label reads, in the order it reads them: asked of the
|
|
12
|
+
* label itself, handed a record whose every field says its own name. A
|
|
13
|
+
* label that cannot be read that way (it counts, or joins a list) falls
|
|
14
|
+
* back to the field a record is named by unsaid: `name`, `title`, `label`.
|
|
15
|
+
*/
|
|
16
|
+
function namingFields(definition, declared) {
|
|
17
|
+
if (definition.label) {
|
|
18
|
+
try {
|
|
19
|
+
const node = { id: mark(declared.length), kind: definition.kind };
|
|
20
|
+
declared.forEach((field, n) => (node[field] = mark(n)));
|
|
21
|
+
const said = String(definition.label(node));
|
|
22
|
+
const read = declared.map((field, n) => [field, said.indexOf(mark(n))]).filter(([, at]) => at >= 0);
|
|
23
|
+
if (read.length > 0)
|
|
24
|
+
return read.sort((a, b) => a[1] - b[1]).map(([field]) => field);
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
// A label that does more than say its fields: named the way a record is named unsaid.
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
const word = ["name", "title", "label"].find((one) => declared.includes(one));
|
|
31
|
+
return word ? [word] : [];
|
|
32
|
+
}
|
|
33
|
+
const byKind = new WeakMap();
|
|
34
|
+
/** A kind's fields in the order a form asks for them (`askedRule`). */
|
|
35
|
+
export function askedFieldsOf(definition) {
|
|
36
|
+
const known = byKind.get(definition);
|
|
37
|
+
if (known)
|
|
38
|
+
return known;
|
|
39
|
+
const shape = (definition.fields.shape ?? {});
|
|
40
|
+
const declared = Object.keys(shape);
|
|
41
|
+
const page = definition.display?.page;
|
|
42
|
+
const order = askedRule({
|
|
43
|
+
declared,
|
|
44
|
+
paged: [...(page?.fields ?? []), ...(page?.groups ?? []).flatMap((group) => group.fields)],
|
|
45
|
+
// Required with no default — in the schema, or beside it (`defaults`, a compiled document's): what a record cannot be made without.
|
|
46
|
+
must: (field) => shape[field]?.safeParse?.(undefined).success === false && !Object.hasOwn(definition.defaults ?? {}, field),
|
|
47
|
+
naming: namingFields(definition, declared),
|
|
48
|
+
});
|
|
49
|
+
byKind.set(definition, order);
|
|
50
|
+
return order;
|
|
51
|
+
}
|
|
52
|
+
/** The kind whose fields an act's arguments fill: what it makes, else the one kind it changes. */
|
|
53
|
+
function kindAskedOf(schema, mutation) {
|
|
54
|
+
const kinds = mutation.subject?.kinds;
|
|
55
|
+
const kind = mutation.creates?.[0] ?? mutation.derived?.kind ?? (kinds !== undefined && kinds !== "*" && kinds.length === 1 ? kinds[0] : undefined);
|
|
56
|
+
return kind === undefined ? undefined : schema.tryDefinition(kind);
|
|
57
|
+
}
|
|
58
|
+
/** An act's arguments in the order a form asks for them: those that are a field of its kind in that kind's asked order, among their own places. */
|
|
59
|
+
export function askedArguments(schema, mutation) {
|
|
60
|
+
const names = Object.keys(mutation.input?.shape ?? {});
|
|
61
|
+
const definition = schema ? kindAskedOf(schema, mutation) : undefined;
|
|
62
|
+
if (!definition)
|
|
63
|
+
return names;
|
|
64
|
+
const fields = askedFieldsOf(definition);
|
|
65
|
+
const moves = (name) => name !== mutation.subject?.arg && fields.includes(name);
|
|
66
|
+
const asked = names.filter(moves).sort((a, b) => fields.indexOf(a) - fields.indexOf(b));
|
|
67
|
+
let next = 0;
|
|
68
|
+
return names.map((name) => (moves(name) ? asked[next++] : name));
|
|
69
|
+
}
|
|
70
|
+
/** Things named by argument — a form's fields, the strip's open questions, a tool's properties — in an act's asked order; anything it does not name keeps its place after. */
|
|
71
|
+
export function inAskedOrder(items, order, nameOf = (item) => item.name) {
|
|
72
|
+
const rank = (item) => {
|
|
73
|
+
const at = order.indexOf(nameOf(item));
|
|
74
|
+
return at < 0 ? order.length : at;
|
|
75
|
+
};
|
|
76
|
+
return [...items].sort((a, b) => rank(a) - rank(b));
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=asked-order.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asked-order.js","sourceRoot":"","sources":["../../src/mutations/asked-order.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,15 @@ export declare function argumentsTaken(definition: {
|
|
|
33
33
|
readonly creates?: readonly string[] | undefined;
|
|
34
34
|
readonly input: unknown;
|
|
35
35
|
}): readonly string[] | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* A NUMBER GIVEN AS ITS DIGITS IS THAT NUMBER. An agent writing JSON, a
|
|
38
|
+
* form read as text, a CSV — each hands a number field "8.6", and the act
|
|
39
|
+
* refused it as "expected number". At the one boundary every act's
|
|
40
|
+
* arguments cross, a string that is exactly a number, given for an
|
|
41
|
+
* argument whose schema is a number, is read as that number and nothing is
|
|
42
|
+
* said; anything else is left for the schema to refuse as before.
|
|
43
|
+
*/
|
|
44
|
+
export declare function numbersSpelled(input: unknown, given: unknown): unknown;
|
|
36
45
|
/**
|
|
37
46
|
* An id from a name: the name's own letters, folded and hyphenated.
|
|
38
47
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-mutation.d.ts","sourceRoot":"","sources":["../../src/mutations/define-mutation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,EAA0B,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EACV,qBAAqB,EAErB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,cAAc,CAC5B,CAAC,SAAS,SAAS,EACnB,KAAK,CAAC,IAAI,SAAS,MAAM,EACzB,CAAC,SAAS,CAAC,CAAC,OAAO,EAEnB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,GACjC,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAEhC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAC1C,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,kFAAkF;IAClF,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yFAAyF;IACzF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,kGAAkG;AAClG,wBAAgB,SAAS,CAAC,UAAU,EAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAI5H;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAMvJ;
|
|
1
|
+
{"version":3,"file":"define-mutation.d.ts","sourceRoot":"","sources":["../../src/mutations/define-mutation.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,8 +30,54 @@ export function argumentsTaken(definition) {
|
|
|
30
30
|
const keys = Object.keys(input.shape);
|
|
31
31
|
return takesAnId(definition) ? [...keys, "id"] : keys;
|
|
32
32
|
}
|
|
33
|
-
/**
|
|
34
|
-
|
|
33
|
+
/**
|
|
34
|
+
* "does not take "color"; it takes "id", "quote"" — the one sentence for an
|
|
35
|
+
* argument an act does not take. A field another act writes is said with
|
|
36
|
+
* that act (`writtenBy`): "whatToDo is set by set-verdict", so the caller
|
|
37
|
+
* learns where it goes rather than only where it does not.
|
|
38
|
+
*/
|
|
39
|
+
const doesNotTake = (stray, takes, writtenBy = {}) => {
|
|
40
|
+
const elsewhere = stray.filter((key) => writtenBy[key]?.length);
|
|
41
|
+
const other = stray.filter((key) => !writtenBy[key]?.length);
|
|
42
|
+
const said = [
|
|
43
|
+
...(other.length > 0 ? [`does not take ${other.map((key) => `"${key}"`).join(", ")}`] : []),
|
|
44
|
+
...elsewhere.map((key) => `${key} is set by ${writtenBy[key].join(" or ")}`),
|
|
45
|
+
];
|
|
46
|
+
return `${said.join("; ")}; it takes ${takes.length > 0 ? takes.map((key) => `"${key}"`).join(", ") : "nothing"}`;
|
|
47
|
+
};
|
|
48
|
+
/** The schema under its optional, nullable and default wrappers. */
|
|
49
|
+
function bareSchema(schema) {
|
|
50
|
+
let def = schema?._zod?.def;
|
|
51
|
+
for (let depth = 0; def?.innerType && depth < 8; depth++)
|
|
52
|
+
def = def.innerType._zod?.def;
|
|
53
|
+
return def;
|
|
54
|
+
}
|
|
55
|
+
/** A string that is exactly a number, as JSON writes one: "8.6", "-3", "1e3"; never " 8", "8 kg" or "". */
|
|
56
|
+
const NUMBER_SPELLED = /^-?(?:\d+(?:\.\d+)?|\.\d+)(?:[eE][+-]?\d+)?$/;
|
|
57
|
+
/**
|
|
58
|
+
* A NUMBER GIVEN AS ITS DIGITS IS THAT NUMBER. An agent writing JSON, a
|
|
59
|
+
* form read as text, a CSV — each hands a number field "8.6", and the act
|
|
60
|
+
* refused it as "expected number". At the one boundary every act's
|
|
61
|
+
* arguments cross, a string that is exactly a number, given for an
|
|
62
|
+
* argument whose schema is a number, is read as that number and nothing is
|
|
63
|
+
* said; anything else is left for the schema to refuse as before.
|
|
64
|
+
*/
|
|
65
|
+
export function numbersSpelled(input, given) {
|
|
66
|
+
const shape = input?.shape;
|
|
67
|
+
if (!shape || typeof given !== "object" || given === null || Array.isArray(given))
|
|
68
|
+
return given;
|
|
69
|
+
let read;
|
|
70
|
+
for (const [key, value] of Object.entries(given)) {
|
|
71
|
+
if (typeof value !== "string" || !NUMBER_SPELLED.test(value) || bareSchema(shape[key])?.type !== "number")
|
|
72
|
+
continue;
|
|
73
|
+
const number = Number(value);
|
|
74
|
+
if (!Number.isFinite(number))
|
|
75
|
+
continue;
|
|
76
|
+
read ??= { ...given };
|
|
77
|
+
read[key] = number;
|
|
78
|
+
}
|
|
79
|
+
return read ?? given;
|
|
80
|
+
}
|
|
35
81
|
function requestedId(rawArgs) {
|
|
36
82
|
if (typeof rawArgs !== "object" || rawArgs === null)
|
|
37
83
|
return undefined;
|
|
@@ -118,7 +164,7 @@ export function compileMutation(graph, definition, rawArgs, options = {}) {
|
|
|
118
164
|
* its next call, needs exactly the id it asked for or an honest no.
|
|
119
165
|
*/
|
|
120
166
|
const requested = takesAnId(definition) ? requestedId(rawArgs) : undefined;
|
|
121
|
-
const given = requested === undefined ? rawArgs : withoutId(rawArgs);
|
|
167
|
+
const given = numbersSpelled(definition.input, requested === undefined ? rawArgs : withoutId(rawArgs));
|
|
122
168
|
/*
|
|
123
169
|
* AN ARGUMENT THE ACT DOES NOT TAKE IS REFUSED, by every act (FR-121; a
|
|
124
170
|
* derived edit since FR-110). A plain `z.object` strips what it does not
|
|
@@ -132,13 +178,13 @@ export function compileMutation(graph, definition, rawArgs, options = {}) {
|
|
|
132
178
|
if (taken && typeof given === "object" && given !== null && !Array.isArray(given)) {
|
|
133
179
|
const stray = Object.keys(given).filter((key) => !taken.includes(key) && given[key] !== undefined);
|
|
134
180
|
if (stray.length > 0)
|
|
135
|
-
throw new InvalidArguments(definition.name, [{ path: [], message: doesNotTake(stray, taken) }]);
|
|
181
|
+
throw new InvalidArguments(definition.name, [{ path: [], message: doesNotTake(stray, taken, definition.writtenBy) }]);
|
|
136
182
|
}
|
|
137
183
|
const parsed = definition.input.safeParse(given);
|
|
138
184
|
if (!parsed.success) {
|
|
139
185
|
// A strict input's own refusal of an argument (a derived edit's), said the same way.
|
|
140
186
|
const takes = Object.keys(definition.input.shape ?? {});
|
|
141
|
-
throw new InvalidArguments(definition.name, parsed.error.issues.map((issue) => issue.code === "unrecognized_keys" && takes.length > 0 ? { ...issue, message: doesNotTake(issue.keys, takes) } : issue));
|
|
187
|
+
throw new InvalidArguments(definition.name, parsed.error.issues.map((issue) => issue.code === "unrecognized_keys" && takes.length > 0 ? { ...issue, message: doesNotTake(issue.keys, takes, definition.writtenBy) } : issue));
|
|
142
188
|
}
|
|
143
189
|
const args = parsed.data;
|
|
144
190
|
const reader = new TrackedReader(options.seen ?? graph);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-mutation.js","sourceRoot":"","sources":["../../src/mutations/define-mutation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"define-mutation.js","sourceRoot":"","sources":["../../src/mutations/define-mutation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAkB,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAoC,MAAM,mBAAmB,CAAC;AAS7E,MAAM,UAAU,cAAc,CAK5B,IAAU,EACV,IAAkC;IAElC,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAcD,kGAAkG;AAClG,MAAM,UAAU,SAAS,CAAC,UAAyF;IACjH,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,KAAK,GAAI,UAAU,CAAC,KAA6C,CAAC,KAAK,CAAC;IAC9E,OAAO,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,UAAyF;IACtH,MAAM,KAAK,GAAG,UAAU,CAAC,KAAiJ,CAAC;IAC3K,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC;IAC5B,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC3F,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,MAAM,WAAW,GAAG,CAAC,KAAwB,EAAE,KAAwB,EAAE,YAAyD,EAAE,EAAU,EAAE;IAC9I,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG;QACX,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,cAAc,SAAS,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;KAC9E,CAAC;IACF,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AACpH,CAAC,CAAC;AAEF,oEAAoE;AACpE,SAAS,UAAU,CAAC,MAAe;IACjC,IAAI,GAAG,GAAI,MAAkF,EAAE,IAAI,EAAE,GAAG,CAAC;IACzG,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,GAAG,EAAE,SAAS,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE;QAAE,GAAG,GAAI,GAAG,CAAC,SAAyE,CAAC,IAAI,EAAE,GAAG,CAAC;IACzJ,OAAO,GAAG,CAAC;AACb,CAAC;AAED,2GAA2G;AAC3G,MAAM,cAAc,GAAG,8CAA8C,CAAC;AAEtE;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc,EAAE,KAAc;IAC3D,MAAM,KAAK,GAAI,KAAyD,EAAE,KAAK,CAAC;IAChF,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAChG,IAAI,IAAyC,CAAC;IAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;QAC5E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ;YAAE,SAAS;QACpH,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,SAAS;QACvC,IAAI,KAAK,EAAE,GAAI,KAAiC,EAAE,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;IACrB,CAAC;IACD,OAAO,IAAI,IAAI,KAAK,CAAC;AACvB,CAAC;AAED,SAAS,WAAW,CAAC,OAAgB;IACnC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACtE,MAAM,EAAE,GAAI,OAAmC,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACvC,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,UAAU,CAAC,kCAAkC,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,SAAS,CAAC,IAA6B;IAC9C,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAClC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,IAAI,CAAC,KAAa;IAChC,OAAO,CACL,KAAK;SACF,SAAS,CAAC,MAAM,CAAC;SACjB,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;SACtB,WAAW,EAAE;SACb,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC;SAChC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,MAAM,CACrC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAU;IACjC,IAAI,IAAI,GAAG,UAAU,CAAC;IACtB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE;QAAE,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC9F,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,EAAmJ;IACtL,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACzE,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,QAAQ,CAAC,EAAE,CAAC,EAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,IAAI,EAAE,GAAG,GAAG,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAAE,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;IACrD,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtD,CAAC;AAED,yHAAyH;AACzH,SAAS,WAAW,CAAC,IAAY,EAAE,IAA6B;IAC9D,IAAI,EAAE,CAAC;IACP;QAAG,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;WAChF,IAAI,CAAC,EAAE,CAAC,EAAE;IACjB,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAe,EACf,UAAoC,EACpC,OAAgB,EAChB,UAuCI,EAAE;IAEN;;;;;;;;OAQG;IACH,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAkC,CAAC,CAAC,CAAC;IAClI;;;;;;;;OAQG;IACH,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAClF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAK,KAAiC,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC;QAChI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,gBAAgB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9I,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,qFAAqF;QACrF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAE,UAAU,CAAC,KAA6C,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACjG,MAAM,IAAI,gBAAgB,CACxB,UAAU,CAAC,IAAI,EACf,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAChC,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAC7I,CACF,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAA+B,CAAC;IAEpD,MAAM,MAAM,GAAG,IAAI,aAAa,CAAkB,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;IACzE,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,uEAAuE;IACvE,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/E,IAAI,UAA8B,CAAC;IACnC,mFAAmF;IACnF,MAAM,MAAM,GAAG,CAAC,EAAU,EAAkB,EAAE;QAC5C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxE,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxB,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,OAAO,GAAuB;QAClC,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,IAAI,CAAC,SAAS;YACZ,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,CAAC,IAAI;YACV,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,UAAU,CAAC,EAAE;YACX,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,kBAAkB,CAAC,EAAE,EAAE,+BAA+B,EAAE,GAAG,CAAC,CAAC;YAClF,MAAM,CAAC,EAAE,CAAC,CAAC;YACX,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,SAAS,CAAC,EAAE,EAAE,MAAM;YAClB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,kBAAkB,CAAC,EAAE,EAAE,8BAA8B,EAAE,GAAG,CAAC,CAAC;YACjF,MAAM,MAAM,GAA4B,EAAE,CAAC;YAC3C,MAAM,KAAK,GAA4B,EAAE,CAAC;YAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,MAAM,OAAO,GAAI,IAAgC,CAAC,GAAG,CAAC,CAAC;gBACvD,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC;oBAAE,SAAS;gBAC9G,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;gBACtB,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACrB,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAC5C,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,uFAAuF;QACvF,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;QAChE,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;QACvE,SAAS,CAAC,IAAI,EAAE,IAAI;YAClB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACzD,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,kBAAkB,CAAC,IAAI,EAAE,mCAAmC,IAAI,GAAG,CAAC,CAAC;YAC1F,IAAI,IAAI,KAAK,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC;YAC1J,0GAA0G;YAC1G,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YACnF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACrH,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9H,CAAC;YACD,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC1B,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,OAAO,CAAC,IAAI;YACV,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,UAAU,CAAC,IAAI;YACb,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,eAAe,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI;YAC5B;;;;;eAKG;YACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBAC1D,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAChE,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC3C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;oBAAE,SAAS;gBACjC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QACD,OAAO,CAAC,KAAK,EAAE,MAAM;YACnB,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtD,yFAAyF;gBACzF,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;oBAChD,MAAM,IAAI,UAAU,CAAC,IAAI,UAAU,CAAC,IAAI,yBAAyB,EAAE,+CAA+C,CAAC,CAAC;gBACtH,CAAC;gBACD,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBACpB,MAAM,IAAI,UAAU,CAClB,OAAO,SAAS,oBAAoB,EACpC,IAAI,UAAU,CAAC,IAAI,yHAAyH,CAC7I,CAAC;gBACJ,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACtB,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/D;;;;;;;;;;eAUG;YACH,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzG,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAClI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC;KACF,CAAC;IAEF,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAErD,2FAA2F;IAC3F,MAAM,OAAO,GAAG,IAAI,aAAa,CAAkB,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;IAC1E,MAAM,MAAM,GACV,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC;QACpC,GAAG,UAAU,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;aACvC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IAEnB,OAAO;QACL,UAAU;QACV,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5D,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC;QACnB,MAAM;QACN,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derive-edits.d.ts","sourceRoot":"","sources":["../../src/mutations/derive-edits.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"derive-edits.d.ts","sourceRoot":"","sources":["../../src/mutations/derive-edits.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { lowerFirst } from "../capital.js";
|
|
1
2
|
import * as z from "../schema/zod.js";
|
|
2
3
|
import { filesOf } from "../schema/files.js";
|
|
3
4
|
import { amountOf } from "../schema/amount-mark.js";
|
|
@@ -14,6 +15,7 @@ import { ActRefusal } from "../refused.js";
|
|
|
14
15
|
import { excerpt } from "../excerpt.js";
|
|
15
16
|
import { deriveRepeatMutations } from "./derive-repeats.js";
|
|
16
17
|
import { deriveRelationMutations } from "./derive-relations.js";
|
|
18
|
+
import { askedFieldsOf, inAskedOrder } from "./asked-order.js";
|
|
17
19
|
/**
|
|
18
20
|
* A FIELD YOU COULD SET AT CREATION, YOU CAN CHANGE.
|
|
19
21
|
*
|
|
@@ -150,9 +152,13 @@ export function deriveEditMutations(schema, mutations) {
|
|
|
150
152
|
const name = editMutationName(kind);
|
|
151
153
|
if (taken.has(name))
|
|
152
154
|
continue;
|
|
153
|
-
|
|
155
|
+
// Asked in the order the form that made one asks (`askedFieldsOf`): an edit is that form again, filled.
|
|
156
|
+
const fields = inAskedOrder(unwrittenFields(schema, mutations, kind), askedFieldsOf(definition), (field) => field);
|
|
154
157
|
if (fields.length === 0)
|
|
155
158
|
continue;
|
|
159
|
+
// The fields it leaves to another act, and which: what a refusal of one names (`writtenBy`).
|
|
160
|
+
const writers = fieldWriters(schema, mutations).get(kind);
|
|
161
|
+
const writtenBy = Object.fromEntries(settableFields(definition).flatMap((field) => (writers?.get(field)?.length ? [[field, writers.get(field)]] : [])));
|
|
156
162
|
const shape = definition.fields.shape;
|
|
157
163
|
const noun = nounOf(definition, kind);
|
|
158
164
|
const said = fields.map((field) => fieldWords(definition, field).toLowerCase());
|
|
@@ -164,6 +170,7 @@ export function deriveEditMutations(schema, mutations) {
|
|
|
164
170
|
description: `Change what was set when this ${noun} was made: ${said.join(", ")}.`,
|
|
165
171
|
subject: { kinds: [kind], arg: "id" },
|
|
166
172
|
writes: fields,
|
|
173
|
+
...(Object.keys(writtenBy).length > 0 ? { writtenBy } : {}),
|
|
167
174
|
// Strict (FR-110): an argument it does not take is refused, naming those it does — never dropped, leaving nothing to change.
|
|
168
175
|
input: z.strictObject({
|
|
169
176
|
id: refTo([kind]),
|
|
@@ -211,7 +218,7 @@ function editSaid(definition, shape, fields, args, graph) {
|
|
|
211
218
|
const date = repeatedBy(field);
|
|
212
219
|
const repeat = date !== undefined && date in shape;
|
|
213
220
|
const word = fieldWords(definition, repeat ? date : field);
|
|
214
|
-
const named = word === word.toUpperCase() ? word :
|
|
221
|
+
const named = word === word.toUpperCase() ? word : lowerFirst(word);
|
|
215
222
|
return `the ${named}${at === 0 ? ` of ${label}` : ""} to ${repeat ? (value ? `repeat ${everySaid(value)}` : "stop repeating") : valueSaid(definition, shape[field], field, value)}`;
|
|
216
223
|
});
|
|
217
224
|
return said.length === 0 ? `Changed nothing on ${label}` : `Changed ${said.length > 1 ? `${said.slice(0, -1).join(", ")} and ${said.at(-1)}` : said[0]}`;
|