@powerhousedao/builder-tools 5.1.0-dev.39 → 5.1.0-dev.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/document-model-editor/components/code-editors/graphql-editor.js +1 -1
  2. package/dist/document-model-editor/components/code-editors/graphql-editor.js.map +1 -1
  3. package/dist/document-model-editor/components/state-error.d.ts +5 -0
  4. package/dist/document-model-editor/components/state-error.d.ts.map +1 -0
  5. package/dist/document-model-editor/components/state-error.js +21 -0
  6. package/dist/document-model-editor/components/state-error.js.map +1 -0
  7. package/dist/document-model-editor/components/state-schemas.d.ts.map +1 -1
  8. package/dist/document-model-editor/components/state-schemas.js +45 -20
  9. package/dist/document-model-editor/components/state-schemas.js.map +1 -1
  10. package/dist/document-model-editor/constants/documents.d.ts +1 -0
  11. package/dist/document-model-editor/constants/documents.d.ts.map +1 -1
  12. package/dist/document-model-editor/constants/documents.js +2 -1
  13. package/dist/document-model-editor/constants/documents.js.map +1 -1
  14. package/dist/document-model-editor/context/schema-context.d.ts +7 -2
  15. package/dist/document-model-editor/context/schema-context.d.ts.map +1 -1
  16. package/dist/document-model-editor/context/schema-context.js +35 -23
  17. package/dist/document-model-editor/context/schema-context.js.map +1 -1
  18. package/dist/document-model-editor/utils/helpers.d.ts +75 -1
  19. package/dist/document-model-editor/utils/helpers.d.ts.map +1 -1
  20. package/dist/document-model-editor/utils/helpers.js +565 -13
  21. package/dist/document-model-editor/utils/helpers.js.map +1 -1
  22. package/dist/style.css +6 -0
  23. package/dist/test/helpers.test.d.ts +2 -0
  24. package/dist/test/helpers.test.d.ts.map +1 -0
  25. package/dist/test/helpers.test.js +805 -0
  26. package/dist/test/helpers.test.js.map +1 -0
  27. package/dist/test/index.d.ts +2 -0
  28. package/dist/test/index.d.ts.map +1 -0
  29. package/dist/test/index.js +2 -0
  30. package/dist/test/index.js.map +1 -0
  31. package/dist/tsconfig.tsbuildinfo +1 -1
  32. package/package.json +8 -6
@@ -17,7 +17,7 @@ const GraphqlEditor = memo(function GraphqlEditor(props) {
17
17
  // GraphQL-specific refs
18
18
  const graphqlCompartment = useRef(new Compartment());
19
19
  const linterCompartment = useRef(new Compartment());
20
- const sharedSchema = useSchemaContext();
20
+ const { sharedSchema } = useSchemaContext();
21
21
  useEffect(() => {
22
22
  if (!viewRef.current) {
23
23
  const schema = buildSchema(sharedSchema);
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-editor.js","sourceRoot":"","sources":["../../../../document-model-editor/components/code-editors/graphql-editor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql-editor.js","sourceRoot":"","sources":["../../../../document-model-editor/components/code-editors/graphql-editor.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { StateValidationError } from "../utils/helpers.js";
2
+ export declare function StateValidationErrorMessage({ error, }: {
3
+ error: StateValidationError;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ //# sourceMappingURL=state-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-error.d.ts","sourceRoot":"","sources":["../../../document-model-editor/components/state-error.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,wBAAgB,2BAA2B,CAAC,EAC1C,KAAK,GACN,EAAE;IACD,KAAK,EAAE,oBAAoB,CAAC;CAC7B,2CA2DA"}
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ export function StateValidationErrorMessage({ error, }) {
3
+ const { payload } = error;
4
+ switch (payload.kind) {
5
+ case "MISSING":
6
+ return (_jsxs("span", { children: ["Field ", _jsx("strong", { children: payload.field }), " is missing."] }));
7
+ case "MISSING_OPTIONAL":
8
+ return (_jsxs("span", { children: ["Optional field ", _jsx("strong", { children: payload.field }), " is not defined."] }));
9
+ case "UNKNOWN_FIELD":
10
+ return (_jsxs("span", { children: ["Field ", _jsx("strong", { children: payload.field }), " is not a known field."] }));
11
+ case "NON_NULL":
12
+ return (_jsxs("span", { children: ["Field ", _jsx("strong", { children: payload.field }), " cannot be null."] }));
13
+ case "TYPE":
14
+ return (_jsxs("span", { children: ["Field ", _jsx("strong", { children: payload.field }), payload.expectedType ? (_jsxs(_Fragment, { children: [" ", "must be a", " ", _jsx("strong", { children: payload.expectedType.replace(/!/g, "") }), "."] })) : (_jsx(_Fragment, { children: " has an invalid value." }))] }));
15
+ case "RECURSIVE_TYPE":
16
+ return (_jsxs("span", { children: ["Field ", _jsx("strong", { children: payload.typeName }), " has a recursive type. It must be optional."] }));
17
+ default:
18
+ return _jsx("span", { children: "Invalid value." });
19
+ }
20
+ }
21
+ //# sourceMappingURL=state-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-error.js","sourceRoot":"","sources":["../../../document-model-editor/components/state-error.tsx"],"names":[],"mappings":";AAEA,MAAM,UAAU,2BAA2B,CAAC,EAC1C,KAAK,GAGN;IACC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAE1B,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,CACL,qCACQ,2BAAS,OAAO,CAAC,KAAK,GAAU,oBACjC,CACR,CAAC;QAEJ,KAAK,kBAAkB;YACrB,OAAO,CACL,8CACiB,2BAAS,OAAO,CAAC,KAAK,GAAU,wBAC1C,CACR,CAAC;QAEJ,KAAK,eAAe;YAClB,OAAO,CACL,qCACQ,2BAAS,OAAO,CAAC,KAAK,GAAU,8BACjC,CACR,CAAC;QAEJ,KAAK,UAAU;YACb,OAAO,CACL,qCACQ,2BAAS,OAAO,CAAC,KAAK,GAAU,wBACjC,CACR,CAAC;QAEJ,KAAK,MAAM;YACT,OAAO,CACL,qCACQ,2BAAS,OAAO,CAAC,KAAK,GAAU,EACrC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CACtB,8BACG,GAAG,eACM,GAAG,EACb,2BAAS,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAU,SACxD,CACJ,CAAC,CAAC,CAAC,CACF,uDAA2B,CAC5B,IACI,CACR,CAAC;QAEJ,KAAK,gBAAgB;YACnB,OAAO,CACL,qCACQ,2BAAS,OAAO,CAAC,QAAQ,GAAU,mDAEpC,CACR,CAAC;QAEJ;YACE,OAAO,4CAA2B,CAAC;IACvC,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"state-schemas.d.ts","sourceRoot":"","sources":["../../../document-model-editor/components/state-schemas.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAWnD,KAAK,KAAK,GAAG;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACpD,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACrD,YAAY,EAAE,KAAK,CAAC;IACpB,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACvC,CAAC;AAoJF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,aAAa,GACd,EAAE,KAAK,2CAmDP"}
1
+ {"version":3,"file":"state-schemas.d.ts","sourceRoot":"","sources":["../../../document-model-editor/components/state-schemas.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAcnD,KAAK,KAAK,GAAG;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACpD,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACrD,YAAY,EAAE,KAAK,CAAC;IACpB,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACvC,CAAC;AA+LF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,aAAa,GACd,EAAE,KAAK,2CAmDP"}
@@ -1,49 +1,74 @@
1
1
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
2
  import { cn } from "@powerhousedao/design-system";
3
+ import { Checkbox } from "@powerhousedao/design-system/ui/components/checkbox/checkbox.js";
3
4
  import { Kind } from "graphql";
4
- import { lazy, Suspense, useCallback, useMemo, useState } from "react";
5
+ import { lazy, Suspense, useCallback, useEffect, useMemo, useRef, useState, } from "react";
5
6
  import { typeDefsDoc } from "../constants/documents.js";
6
7
  import { safeParseSdl, useSchemaContext } from "../context/schema-context.js";
7
- import { makeInitialSchemaDoc, makeMinimalObjectForStateType, makeStateSchemaNameForScope, } from "../utils/helpers.js";
8
+ import { makeInitialSchemaDoc, makeMinimalObjectForStateType, makeStateSchemaNameForScope, StateValidationError, validateStateObject, } from "../utils/helpers.js";
8
9
  import { ensureValidStateSchemaName } from "../utils/linting.js";
9
10
  import { Button } from "./button.js";
11
+ import { StateValidationErrorMessage } from "./state-error.js";
10
12
  import { Tabs, TabsContent, TabsList, TabsTrigger } from "./tabs.js";
11
13
  const GraphqlEditor = lazy(() => import("./code-editors/graphql-editor.js"));
12
14
  const JSONEditor = lazy(() => import("./code-editors/json-editor.js"));
13
15
  function StateEditor({ modelName, stateSchema, initialValue, setStateSchema, setInitialState, scope, }) {
14
- const sharedSchemaSdl = useSchemaContext();
16
+ const { sharedSchema: sharedSchemaSdl, error: sharedSchemaError } = useSchemaContext();
15
17
  const [showStandardLib, setShowStandardLib] = useState(false);
18
+ const [syncWithSchema, setSyncWithSchema] = useState(true);
16
19
  const customLinter = useCallback((doc) => ensureValidStateSchemaName(doc, modelName, scope), [modelName, scope]);
17
- const schemaErrors = useMemo(() => ensureValidStateSchemaName(stateSchema, modelName, scope), [stateSchema, modelName, scope]);
20
+ const schemaErrors = useMemo(() => {
21
+ const errors = ensureValidStateSchemaName(stateSchema, modelName, scope);
22
+ if (sharedSchemaError) {
23
+ return [...errors, sharedSchemaError];
24
+ }
25
+ return errors;
26
+ }, [stateSchema, modelName, scope, sharedSchemaError]);
18
27
  const handleToggleStandardLib = useCallback(() => {
19
28
  setShowStandardLib((prev) => !prev);
20
29
  }, []);
21
30
  const handleSchemaUpdate = useCallback((newDoc) => setStateSchema(newDoc, scope), [setStateSchema, scope]);
22
31
  const handleInitialStateUpdate = useCallback((newDoc) => setInitialState(newDoc, scope), [setInitialState, scope]);
23
- const handleSyncWithSchema = useCallback(() => {
32
+ // Track if we've already synced to prevent double-calls in StrictMode
33
+ const hasSyncedRef = useRef(false);
34
+ const { initialValueErrors, fixedState } = useMemo(() => {
24
35
  const existingValue = initialValue || "{}";
25
36
  const sharedSchemaDocumentNode = safeParseSdl(sharedSchemaSdl);
26
37
  if (!sharedSchemaDocumentNode)
27
- return;
28
- const stateEditorDocumentNode = safeParseSdl(stateSchema);
29
- if (!stateEditorDocumentNode)
30
- return;
38
+ return { initialValueErrors: [], fixedState: null };
31
39
  const stateTypeName = makeStateSchemaNameForScope(modelName, scope);
32
40
  if (!stateTypeName)
33
- return;
34
- const stateTypeDefinitionNode = stateEditorDocumentNode.definitions.find((def) => def.kind === Kind.OBJECT_TYPE_DEFINITION &&
41
+ return { initialValueErrors: [], fixedState: null };
42
+ const stateTypeDefinitionNode = sharedSchemaDocumentNode.definitions.find((def) => def.kind === Kind.OBJECT_TYPE_DEFINITION &&
35
43
  def.name.value === stateTypeName);
36
44
  if (!stateTypeDefinitionNode ||
37
45
  stateTypeDefinitionNode.kind !== Kind.OBJECT_TYPE_DEFINITION)
38
- return;
39
- const updatedStateDoc = makeMinimalObjectForStateType({
40
- sharedSchemaDocumentNode,
41
- stateTypeDefinitionNode,
42
- existingValue,
43
- });
44
- setInitialState(updatedStateDoc, scope);
45
- }, [sharedSchemaSdl, initialValue, setInitialState, scope]);
46
- return (_jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { children: [_jsxs("h3", { className: "mb-2 text-lg capitalize", children: [scope, " state schema *"] }), _jsxs(Button, { onClick: handleToggleStandardLib, className: "mb-2 flex w-fit items-center gap-2", children: [showStandardLib ? "Hide" : "Show", " standard library", _jsx("svg", { className: cn("inline-block transition-transform", showStandardLib ? "rotate-180" : "rotate-0"), xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", children: _jsx("path", { d: "M11.9883 6.01172C11.4363 6.01172 10.9883 6.45972 10.9883 7.01172V13.0117H6.98828L11.9883 18.0117L16.9883 13.0117H12.9883V7.01172C12.9883 6.45972 12.5403 6.01172 11.9883 6.01172Z", fill: "black" }) })] }), _jsxs(Suspense, { children: [showStandardLib && _jsx(GraphqlEditor, { doc: typeDefsDoc, readonly: true }), _jsx(GraphqlEditor, { doc: stateSchema, updateDocumentInModel: handleSchemaUpdate, customLinter: customLinter }), schemaErrors.length > 0 && (_jsx("p", { className: "mt-2 text-sm text-red-600", children: schemaErrors[0].message }))] })] }), _jsxs("div", { children: [_jsxs("div", { className: "flex flex-col items-end", children: [_jsxs("h3", { className: "mb-2 text-right text-lg capitalize", children: [scope, " state initial value *"] }), _jsxs(Button, { onClick: handleSyncWithSchema, className: "mb-2 flex w-fit items-center gap-2", children: ["Sync with schema", " ", _jsx("svg", { className: "inline-block", xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", children: _jsx("path", { d: "M8.00521 1.99219C6.63588 1.99219 5.32788 2.45152 4.27588 3.28419C3.98721 3.51219 3.94321 3.93285 4.17188 4.22151C4.40054 4.51018 4.82055 4.55418 5.10921 4.32552C5.92721 3.67819 6.93921 3.32552 8.00521 3.32552C10.5825 3.32552 12.6719 5.41485 12.6719 7.99218H11.3385L13.3385 10.6588L15.3385 7.99218H14.0052C14.0052 4.67818 11.3192 1.99219 8.00521 1.99219ZM2.67188 5.32552L0.671875 7.99218H2.00521C2.00521 11.3062 4.69121 13.9922 8.00521 13.9922C9.37521 13.9922 10.6825 13.5335 11.7345 12.7002C12.0232 12.4722 12.0672 12.0515 11.8385 11.7628C11.6099 11.4742 11.1899 11.4302 10.9012 11.6588C10.0825 12.3068 9.07188 12.6588 8.00521 12.6588C5.42788 12.6588 3.33854 10.5695 3.33854 7.99218H4.67188L2.67188 5.32552Z", fill: "#343839" }) })] })] }), _jsx(Suspense, { children: _jsx(JSONEditor, { doc: initialValue, updateDocumentInModel: handleInitialStateUpdate }) })] })] }));
46
+ return { initialValueErrors: [], fixedState: null };
47
+ const errors = validateStateObject(sharedSchemaDocumentNode, stateTypeDefinitionNode, existingValue);
48
+ if (errors.length && syncWithSchema) {
49
+ const computedFixedState = makeMinimalObjectForStateType({
50
+ sharedSchemaDocumentNode,
51
+ stateTypeDefinitionNode,
52
+ existingValue,
53
+ });
54
+ if (initialValue !== computedFixedState) {
55
+ return { initialValueErrors: [], fixedState: computedFixedState };
56
+ }
57
+ }
58
+ return { initialValueErrors: errors, fixedState: null };
59
+ }, [sharedSchemaSdl, initialValue, syncWithSchema, scope, modelName]);
60
+ // Handle the side effect of syncing initial state separately
61
+ useEffect(() => {
62
+ if (fixedState && !hasSyncedRef.current) {
63
+ hasSyncedRef.current = true;
64
+ setInitialState(fixedState, scope);
65
+ }
66
+ else if (!fixedState) {
67
+ // Reset the ref when there's no fix needed
68
+ hasSyncedRef.current = false;
69
+ }
70
+ }, [fixedState, setInitialState, scope]);
71
+ return (_jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { children: [_jsxs("h3", { className: "mb-2 text-lg capitalize", children: [scope, " state schema *"] }), _jsxs(Button, { onClick: handleToggleStandardLib, className: "mb-2 flex w-fit items-center gap-2", children: [showStandardLib ? "Hide" : "Show", " standard library", _jsx("svg", { className: cn("inline-block transition-transform", showStandardLib ? "rotate-180" : "rotate-0"), xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", children: _jsx("path", { d: "M11.9883 6.01172C11.4363 6.01172 10.9883 6.45972 10.9883 7.01172V13.0117H6.98828L11.9883 18.0117L16.9883 13.0117H12.9883V7.01172C12.9883 6.45972 12.5403 6.01172 11.9883 6.01172Z", fill: "black" }) })] }), _jsxs(Suspense, { children: [showStandardLib && _jsx(GraphqlEditor, { doc: typeDefsDoc, readonly: true }), _jsx(GraphqlEditor, { doc: stateSchema, updateDocumentInModel: handleSchemaUpdate, customLinter: customLinter }), schemaErrors.length > 0 && (_jsx("p", { className: "mt-2 text-sm text-red-600", children: schemaErrors[0].message }))] })] }), _jsxs("div", { children: [_jsxs("div", { className: "flex flex-col items-end", children: [_jsxs("h3", { className: "mb-2 text-right text-lg capitalize", children: [scope, " state initial value *"] }), _jsx(Checkbox, { value: syncWithSchema, onChange: setSyncWithSchema, className: "mb-2 w-fit whitespace-nowrap rounded-md border border-gray-200 bg-gray-50 pl-2 text-sm font-medium text-gray-800 transition-colors hover:bg-gray-100 hover:text-gray-900 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2", label: _jsxs("div", { className: "flex items-center gap-2 py-2 pr-2", children: ["Sync with schema", " ", _jsx("svg", { className: "inline-block", xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", children: _jsx("path", { d: "M8.00521 1.99219C6.63588 1.99219 5.32788 2.45152 4.27588 3.28419C3.98721 3.51219 3.94321 3.93285 4.17188 4.22151C4.40054 4.51018 4.82055 4.55418 5.10921 4.32552C5.92721 3.67819 6.93921 3.32552 8.00521 3.32552C10.5825 3.32552 12.6719 5.41485 12.6719 7.99218H11.3385L13.3385 10.6588L15.3385 7.99218H14.0052C14.0052 4.67818 11.3192 1.99219 8.00521 1.99219ZM2.67188 5.32552L0.671875 7.99218H2.00521C2.00521 11.3062 4.69121 13.9922 8.00521 13.9922C9.37521 13.9922 10.6825 13.5335 11.7345 12.7002C12.0232 12.4722 12.0672 12.0515 11.8385 11.7628C11.6099 11.4742 11.1899 11.4302 10.9012 11.6588C10.0825 12.3068 9.07188 12.6588 8.00521 12.6588C5.42788 12.6588 3.33854 10.5695 3.33854 7.99218H4.67188L2.67188 5.32552Z", fill: "#343839" }) })] }) })] }), _jsxs(Suspense, { children: [_jsx(JSONEditor, { doc: initialValue, updateDocumentInModel: handleInitialStateUpdate }), initialValueErrors.map((error, index) => (_jsx("p", { className: "mt-2 text-sm text-red-600", children: error instanceof StateValidationError ? (_jsx(StateValidationErrorMessage, { error: error })) : (error.message) }, index)))] })] })] }));
47
72
  }
48
73
  export default function StateSchemas({ modelName, globalStateSchema, localStateSchema, globalStateInitialValue, localStateInitialValue, setStateSchema, setInitialState, currentScope, onScopeChange, }) {
49
74
  const handleAddLocalState = useCallback(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"state-schemas.js","sourceRoot":"","sources":["../../../document-model-editor/components/state-schemas.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state-schemas.js","sourceRoot":"","sources":["../../../document-model-editor/components/state-schemas.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,8BAA8B,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,iEAAiE,CAAC;AAC3F,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAE9E,OAAO,EACL,oBAAoB,EACpB,6BAA6B,EAC7B,2BAA2B,EAC3B,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACrE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC;AAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC;AAsBvE,SAAS,WAAW,CAAC,EACnB,SAAS,EACT,WAAW,EACX,YAAY,EACZ,cAAc,EACd,eAAe,EACf,KAAK,GACY;IACjB,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAC/D,gBAAgB,EAAE,CAAC;IACrB,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE3D,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,GAAW,EAAE,EAAE,CAAC,0BAA0B,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,EAClE,CAAC,SAAS,EAAE,KAAK,CAAC,CACnB,CAAC;IAEF,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,MAAM,MAAM,GAAG,0BAA0B,CAAC,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACzE,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEvD,MAAM,uBAAuB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/C,kBAAkB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,MAAc,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,EACjD,CAAC,cAAc,EAAE,KAAK,CAAC,CACxB,CAAC;IAEF,MAAM,wBAAwB,GAAG,WAAW,CAC1C,CAAC,MAAc,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,EAClD,CAAC,eAAe,EAAE,KAAK,CAAC,CACzB,CAAC;IAEF,sEAAsE;IACtE,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEnC,MAAM,EAAE,kBAAkB,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;QACtD,MAAM,aAAa,GAAG,YAAY,IAAI,IAAI,CAAC;QAC3C,MAAM,wBAAwB,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;QAC/D,IAAI,CAAC,wBAAwB;YAC3B,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACtD,MAAM,aAAa,GAAG,2BAA2B,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,aAAa;YAAE,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACxE,MAAM,uBAAuB,GAAG,wBAAwB,CAAC,WAAW,CAAC,IAAI,CACvE,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,sBAAsB;YACxC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,aAAa,CACnC,CAAC;QACF,IACE,CAAC,uBAAuB;YACxB,uBAAuB,CAAC,IAAI,KAAK,IAAI,CAAC,sBAAsB;YAE5D,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAEtD,MAAM,MAAM,GAAG,mBAAmB,CAChC,wBAAwB,EACxB,uBAAuB,EACvB,aAAa,CACd,CAAC;QAEF,IAAI,MAAM,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;YACpC,MAAM,kBAAkB,GAAG,6BAA6B,CAAC;gBACvD,wBAAwB;gBACxB,uBAAuB;gBACvB,aAAa;aACd,CAAC,CAAC;YACH,IAAI,YAAY,KAAK,kBAAkB,EAAE,CAAC;gBACxC,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC;YACpE,CAAC;QACH,CAAC;QACD,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC1D,CAAC,EAAE,CAAC,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAEtE,6DAA6D;IAC7D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YACxC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;YAC5B,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACvB,2CAA2C;YAC3C,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;QAC/B,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;IAEzC,OAAO,CACL,eAAK,SAAS,EAAC,wBAAwB,aACrC,0BACE,cAAI,SAAS,EAAC,yBAAyB,aAAE,KAAK,uBAAqB,EACnE,MAAC,MAAM,IACL,OAAO,EAAE,uBAAuB,EAChC,SAAS,EAAC,oCAAoC,aAE7C,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,uBAClC,cACE,SAAS,EAAE,EAAE,CACX,mCAAmC,EACnC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAC5C,EACD,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,YAEX,eACE,CAAC,EAAC,mLAAmL,EACrL,IAAI,EAAC,OAAO,GACZ,GACE,IACC,EACT,MAAC,QAAQ,eACN,eAAe,IAAI,KAAC,aAAa,IAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,SAAG,EAChE,KAAC,aAAa,IACZ,GAAG,EAAE,WAAW,EAChB,qBAAqB,EAAE,kBAAkB,EACzC,YAAY,EAAE,YAAY,GAC1B,EACD,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAC1B,YAAG,SAAS,EAAC,2BAA2B,YACrC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,GACtB,CACL,IACQ,IACP,EACN,0BACE,eAAK,SAAS,EAAC,yBAAyB,aACtC,cAAI,SAAS,EAAC,oCAAoC,aAC/C,KAAK,8BACH,EACL,KAAC,QAAQ,IACP,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,EAAC,sPAAsP,EAChQ,KAAK,EACH,eAAK,SAAS,EAAC,mCAAmC,iCAC/B,GAAG,EACpB,cACE,SAAS,EAAC,cAAc,EACxB,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,YAEX,eACE,CAAC,EAAC,qsBAAqsB,EACvsB,IAAI,EAAC,SAAS,GACd,GACE,IACF,GAER,IACE,EACN,MAAC,QAAQ,eACP,KAAC,UAAU,IACT,GAAG,EAAE,YAAY,EACjB,qBAAqB,EAAE,wBAAwB,GAC/C,EACD,kBAAkB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CACxC,YAAe,SAAS,EAAC,2BAA2B,YACjD,KAAK,YAAY,oBAAoB,CAAC,CAAC,CAAC,CACvC,KAAC,2BAA2B,IAAC,KAAK,EAAE,KAAK,GAAI,CAC9C,CAAC,CAAC,CAAC,CACF,KAAK,CAAC,OAAO,CACd,IALK,KAAK,CAMT,CACL,CAAC,IACO,IACP,IACF,CACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,aAAa,GACP;IACN,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3C,MAAM,UAAU,GAAG,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5D,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACpC,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC;IAEjD,OAAO,CACL,MAAC,IAAI,IACH,SAAS,EAAC,MAAM,EAChB,cAAc,EAAC,QAAQ,EACvB,KAAK,EAAE,YAAY,EACnB,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAc,CAAC,aAEvD,cAAK,SAAS,EAAC,MAAM,YACnB,MAAC,QAAQ,IAAC,SAAS,EAAC,uBAAuB,aACzC,KAAC,WAAW,IAAC,KAAK,EAAC,QAAQ,uBAAqB,EAChD,KAAC,WAAW,IAAC,KAAK,EAAC,OAAO,sBAAoB,IACrC,GACP,EAEN,KAAC,WAAW,IAAC,KAAK,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,CAAC,YACtC,KAAC,WAAW,IACV,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,iBAAiB,EAC9B,YAAY,EAAE,uBAAuB,EACrC,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,KAAK,EAAC,QAAQ,GACd,GACU,EAEd,KAAC,WAAW,IAAC,KAAK,EAAC,OAAO,EAAC,QAAQ,EAAE,CAAC,CAAC,YACpC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CACnB,eAAK,SAAS,EAAC,EAAE,aACf,aAAI,SAAS,EAAC,yBAAyB,qCAA0B,EACjE,KAAC,MAAM,IAAC,OAAO,EAAE,mBAAmB,gCAA0B,IAC1D,CACP,CAAC,CAAC,CAAC,CACF,KAAC,WAAW,IACV,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,gBAAgB,EAC7B,YAAY,EAAE,sBAAsB,EACpC,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,KAAK,EAAC,OAAO,GACb,CACH,GACW,IACT,CACR,CAAC;AACJ,CAAC"}
@@ -2,6 +2,7 @@ export declare const hiddenQueryTypeDefDoc = "type Query {\n _hidden: String\n}
2
2
  export declare const typeDefsDoc: string;
3
3
  export declare const initialSchemaDoc: string;
4
4
  export declare const initialSchema: import("graphql").GraphQLSchema;
5
+ export declare const initialSchemaStr: string;
5
6
  export declare const specialDocIds: {
6
7
  readonly hiddenQueryTypeDef: "hidden-query-type-defs";
7
8
  readonly standardLib: "standard-lib";
@@ -1 +1 @@
1
- {"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../../document-model-editor/constants/documents.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,qBAAqB,yCAGjC,CAAC;AAEF,eAAO,MAAM,WAAW,QAAsB,CAAC;AAE/C,eAAO,MAAM,gBAAgB,QAA6C,CAAC;AAE3E,eAAO,MAAM,aAAa,iCAAgC,CAAC;AAE3D,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC;AAEX,eAAO,MAAM,aAAa,OAAO,CAAC"}
1
+ {"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../../document-model-editor/constants/documents.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,qBAAqB,yCAGjC,CAAC;AAEF,eAAO,MAAM,WAAW,QAAsB,CAAC;AAE/C,eAAO,MAAM,gBAAgB,QAA6C,CAAC;AAE3E,eAAO,MAAM,aAAa,iCAAgC,CAAC;AAC3D,eAAO,MAAM,gBAAgB,QAA6B,CAAC;AAE3D,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC;AAEX,eAAO,MAAM,aAAa,OAAO,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { typeDefs } from "@powerhousedao/document-engineering/graphql";
2
- import { buildSchema } from "graphql";
2
+ import { buildSchema, printSchema } from "graphql";
3
3
  export const hiddenQueryTypeDefDoc = `type Query {
4
4
  _hidden: String
5
5
  }
@@ -7,6 +7,7 @@ export const hiddenQueryTypeDefDoc = `type Query {
7
7
  export const typeDefsDoc = typeDefs.join("\n");
8
8
  export const initialSchemaDoc = `${hiddenQueryTypeDefDoc}\n${typeDefsDoc}`;
9
9
  export const initialSchema = buildSchema(initialSchemaDoc);
10
+ export const initialSchemaStr = printSchema(initialSchema);
10
11
  export const specialDocIds = {
11
12
  hiddenQueryTypeDef: "hidden-query-type-defs",
12
13
  standardLib: "standard-lib",
@@ -1 +1 @@
1
- {"version":3,"file":"documents.js","sourceRoot":"","sources":["../../../document-model-editor/constants/documents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;CAGpC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE/C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,qBAAqB,KAAK,WAAW,EAAE,CAAC;AAE3E,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,kBAAkB,EAAE,wBAAwB;IAC5C,WAAW,EAAE,cAAc;IAC3B,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACN,CAAC;AAEX,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"documents.js","sourceRoot":"","sources":["../../../document-model-editor/constants/documents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;CAGpC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE/C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,qBAAqB,KAAK,WAAW,EAAE,CAAC;AAE3E,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,kBAAkB,EAAE,wBAAwB;IAC5C,WAAW,EAAE,cAAc;IAC3B,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACN,CAAC;AAEX,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC"}
@@ -1,4 +1,8 @@
1
1
  import type { DocumentNode } from "graphql";
2
+ type TSchemaContext = {
3
+ sharedSchema: string;
4
+ error: Error | undefined;
5
+ };
2
6
  type TSchemaContextProps = {
3
7
  globalStateSchemaSdl: string;
4
8
  localStateSchemaSdl: string;
@@ -6,8 +10,9 @@ type TSchemaContextProps = {
6
10
  children: React.ReactNode;
7
11
  };
8
12
  export declare function safeParseSdl(sdl: string): DocumentNode | null;
9
- export declare const SchemaContext: import("react").Context<string>;
13
+ export declare const SchemaContext: import("react").Context<TSchemaContext>;
14
+ export declare function parseSharedSchemaSdl(initialSchema: string, globalStateSchemaSdl?: string, localStateSchemaSdl?: string, operationSchemasSdl?: string): TSchemaContext;
10
15
  export declare function SchemaContextProvider(props: TSchemaContextProps): import("react/jsx-runtime").JSX.Element;
11
- export declare function useSchemaContext(): string;
16
+ export declare function useSchemaContext(): TSchemaContext;
12
17
  export {};
13
18
  //# sourceMappingURL=schema-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-context.d.ts","sourceRoot":"","sources":["../../../document-model-editor/context/schema-context.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,YAAY,EAAiB,MAAM,SAAS,CAAC;AAmC3E,KAAK,mBAAmB,GAAG;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAiFF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,uBAOvC;AAED,eAAO,MAAM,aAAa,iCAEzB,CAAC;AAMF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,mBAAmB,2CAgC/D;AAED,wBAAgB,gBAAgB,WAE/B"}
1
+ {"version":3,"file":"schema-context.d.ts","sourceRoot":"","sources":["../../../document-model-editor/context/schema-context.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,YAAY,EAAiB,MAAM,SAAS,CAAC;AAkC3E,KAAK,cAAc,GAAG;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;CAC1B,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AA2EF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,uBAOvC;AAED,eAAO,MAAM,aAAa,yCAGxB,CAAC;AAEH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,MAAM,EACrB,oBAAoB,CAAC,EAAE,MAAM,EAC7B,mBAAmB,CAAC,EAAE,MAAM,EAC5B,mBAAmB,CAAC,EAAE,MAAM,GAC3B,cAAc,CAuBhB;AAMD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,mBAAmB,2CAiC/D;AAED,wBAAgB,gBAAgB,mBAE/B"}
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { createDefaultRules } from "@graphql-tools/utils";
3
3
  import { buildASTSchema, buildSchema, Kind, parse, printSchema, validate, } from "graphql";
4
4
  import { createContext, useContext, useEffect, useState } from "react";
5
- import { hiddenQueryTypeDefDoc, initialSchema, typeDefsDoc, } from "../constants/documents.js";
5
+ import { hiddenQueryTypeDefDoc, initialSchema, initialSchemaStr, typeDefsDoc, } from "../constants/documents.js";
6
6
  /* Required to make the schema "count" as an actual schema */
7
7
  const hiddenQueryTypeDefinitions = safeParseSdl(hiddenQueryTypeDefDoc)?.definitions ?? [];
8
8
  /* Scalar definitions from the Powerhouse standard library */
@@ -16,27 +16,20 @@ const alwaysIncludedDefinitions = [
16
16
  const rules = createDefaultRules().filter((rule) => rule.name !== "ExecutableDefinitionsRule");
17
17
  /*
18
18
  Makes one SDL string from all of the definitions in the state and operation schemas
19
- Uses try catch to prevent errors from breaking the editor
20
19
  */
21
20
  function makeSharedSchemaSdl(existingSchemaSdl, globalStateSchemaSdl, localStateSchemaSdl, operationSchemasSdl) {
22
- try {
23
- const existingSchema = buildSchema(existingSchemaSdl);
24
- const sdls = [
25
- globalStateSchemaSdl,
26
- localStateSchemaSdl,
27
- operationSchemasSdl,
28
- ].filter(Boolean);
29
- const asts = sdls
30
- .map((sdl) => (sdl ? safeParseSdl(sdl) : null))
31
- .filter((ast) => ast !== null);
32
- const documentNode = makeSafeDocumentNode(existingSchema, asts);
33
- const schemaSdl = printSchema(buildASTSchema(documentNode));
34
- return schemaSdl;
35
- }
36
- catch (error) {
37
- console.debug("in make shared schema", error);
38
- return existingSchemaSdl;
39
- }
21
+ const existingSchema = buildSchema(existingSchemaSdl);
22
+ const sdls = [
23
+ globalStateSchemaSdl,
24
+ localStateSchemaSdl,
25
+ operationSchemasSdl,
26
+ ].filter(Boolean);
27
+ const asts = sdls
28
+ .map((sdl) => (sdl ? safeParseSdl(sdl) : null))
29
+ .filter((ast) => ast !== null);
30
+ const documentNode = makeSafeDocumentNode(existingSchema, asts);
31
+ const schemaSdl = printSchema(buildASTSchema(documentNode));
32
+ return schemaSdl;
40
33
  }
41
34
  /*
42
35
  Combines all of the definitions in the state and operation schemas into one document node
@@ -98,16 +91,35 @@ export function safeParseSdl(sdl) {
98
91
  return null;
99
92
  }
100
93
  }
101
- export const SchemaContext = createContext(printSchema(initialSchema));
94
+ export const SchemaContext = createContext({
95
+ sharedSchema: initialSchemaStr,
96
+ error: undefined,
97
+ });
98
+ export function parseSharedSchemaSdl(initialSchema, globalStateSchemaSdl, localStateSchemaSdl, operationSchemasSdl) {
99
+ try {
100
+ return {
101
+ sharedSchema: makeSharedSchemaSdl(initialSchema, globalStateSchemaSdl, localStateSchemaSdl, operationSchemasSdl),
102
+ error: undefined,
103
+ };
104
+ }
105
+ catch (error) {
106
+ return {
107
+ sharedSchema: initialSchema,
108
+ error: error instanceof Error
109
+ ? error
110
+ : new Error(typeof error === "string" ? error : JSON.stringify(error), { cause: error }),
111
+ };
112
+ }
113
+ }
102
114
  /*
103
115
  Provides the shared schema to the editor
104
116
  We use the sdl string form to make memoization easier
105
117
  */
106
118
  export function SchemaContextProvider(props) {
107
119
  const { children, globalStateSchemaSdl, localStateSchemaSdl, operationSchemasSdl, } = props;
108
- const [sharedSchemaSdl, setSharedSchemaSdl] = useState(() => makeSharedSchemaSdl(printSchema(initialSchema), globalStateSchemaSdl, localStateSchemaSdl, operationSchemasSdl));
120
+ const [sharedSchemaSdl, setSharedSchemaSdl] = useState(() => parseSharedSchemaSdl(printSchema(initialSchema), globalStateSchemaSdl, localStateSchemaSdl, operationSchemasSdl));
109
121
  useEffect(() => {
110
- setSharedSchemaSdl((prev) => makeSharedSchemaSdl(prev, globalStateSchemaSdl, localStateSchemaSdl, operationSchemasSdl));
122
+ setSharedSchemaSdl((prev) => parseSharedSchemaSdl(prev.sharedSchema, globalStateSchemaSdl, localStateSchemaSdl, operationSchemasSdl));
111
123
  }, [globalStateSchemaSdl, localStateSchemaSdl, operationSchemasSdl]);
112
124
  return (_jsx(SchemaContext.Provider, { value: sharedSchemaSdl, children: children }));
113
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schema-context.js","sourceRoot":"","sources":["../../../document-model-editor/context/schema-context.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EACL,cAAc,EACd,WAAW,EACX,IAAI,EACJ,KAAK,EACL,WAAW,EACX,QAAQ,GACT,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvE,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,WAAW,GACZ,MAAM,2BAA2B,CAAC;AAEnC,6DAA6D;AAC7D,MAAM,0BAA0B,GAC9B,YAAY,CAAC,qBAAqB,CAAC,EAAE,WAAW,IAAI,EAAE,CAAC;AACzD,6DAA6D;AAC7D,MAAM,kCAAkC,GACtC,YAAY,CAAC,WAAW,CAAC,EAAE,WAAW,IAAI,EAAE,CAAC;AAC/C,2FAA2F;AAC3F,MAAM,yBAAyB,GAAG;IAChC,GAAG,0BAA0B;IAC7B,GAAG,kCAAkC;CACtC,CAAC;AACF,gJAAgJ;AAChJ,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC,MAAM,CACvC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,2BAA2B,CACpD,CAAC;AAYF;;;EAGE;AACF,SAAS,mBAAmB,CAC1B,iBAAyB,EACzB,oBAA6B,EAC7B,mBAA4B,EAC5B,mBAA4B;IAE5B,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG;YACX,oBAAoB;YACpB,mBAAmB;YACnB,mBAAmB;SACpB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClB,MAAM,IAAI,GAAG,IAAI;aACd,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAC9C,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;QACjC,MAAM,YAAY,GAAG,oBAAoB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,WAAW,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5D,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO,iBAAiB,CAAC;IAC3B,CAAC;AACH,CAAC;AAED;;;EAGE;AACF,SAAS,oBAAoB,CAAC,MAAqB,EAAE,IAAoB;IACvE,IAAI,CAAC;QACH,MAAM,WAAW,GAAqB,CAAC,GAAG,yBAAyB,CAAC,CAAC;QACrE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,KAAK,MAAM,UAAU,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBACzC,MAAM,sBAAsB,GAAiB;oBAC3C,IAAI,EAAE,IAAI,CAAC,QAAQ;oBACnB,WAAW,EAAE,CAAC,UAAU,CAAC;iBAC1B,CAAC;gBACF,IAAI,eAAe,CAAC,MAAM,EAAE,sBAAsB,CAAC,EAAE,CAAC;oBACpD,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,YAAY,GAAiB;YACjC,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,WAAW;SACZ,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QACnD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,WAAW,EAAE,yBAAyB;SACvB,CAAC;IACpB,CAAC;AACH,CAAC;AAED;;;EAGE;AACF,SAAS,eAAe,CAAC,MAAqB,EAAE,GAAiB;IAC/D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;EAGE;AACF,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,IAAI,CAAC;QACH,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CACxC,WAAW,CAAC,aAAa,CAAC,CAC3B,CAAC;AAEF;;;EAGE;AACF,MAAM,UAAU,qBAAqB,CAAC,KAA0B;IAC9D,MAAM,EACJ,QAAQ,EACR,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,GACpB,GAAG,KAAK,CAAC;IACV,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAC1D,mBAAmB,CACjB,WAAW,CAAC,aAAa,CAAC,EAC1B,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,CACpB,CACF,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,kBAAkB,CAAC,CAAC,IAAI,EAAE,EAAE,CAC1B,mBAAmB,CACjB,IAAI,EACJ,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,CACpB,CACF,CAAC;IACJ,CAAC,EAAE,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAErE,OAAO,CACL,KAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,eAAe,YAC3C,QAAQ,GACc,CAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,UAAU,CAAC,aAAa,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"schema-context.js","sourceRoot":"","sources":["../../../document-model-editor/context/schema-context.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { Serializable } from "@powerhousedao/document-engineering/graphql";
2
- import type { ASTNode, DocumentNode, FieldDefinitionNode, NamedTypeNode, ObjectTypeDefinitionNode } from "graphql";
2
+ import type { ASTNode, DocumentNode, FieldDefinitionNode, GraphQLObjectType, GraphQLSchema, NamedTypeNode, ObjectTypeDefinitionNode, TypeNode } from "graphql";
3
+ import { GraphQLInputObjectType } from "graphql";
3
4
  import type { Scope } from "../types/documents.js";
4
5
  export declare function makeStateSchemaNameForScope(modelName: string, scope: string): string;
5
6
  export declare function makeInitialSchemaDoc(modelName: string, scope: string): string;
@@ -16,6 +17,7 @@ export declare function makeMinimalValuesForObjectFields(args: {
16
17
  schemaDocumentNode: DocumentNode;
17
18
  existingValueObject: Record<string, Serializable> | null;
18
19
  fieldDefinitionNodes: readonly FieldDefinitionNode[];
20
+ visitedTypes?: Set<string>;
19
21
  }): Record<string, Serializable>;
20
22
  export declare function isGqlPrimitiveNode(astNodeTypeNode: ASTNode | null): astNodeTypeNode is NamedTypeNode;
21
23
  export declare function compareStringsWithoutWhitespace(str1: string | null | undefined, str2: string | null | undefined): boolean;
@@ -35,4 +37,76 @@ export declare function handleModelNameChange(params: {
35
37
  localStateSchema: string;
36
38
  setStateSchema: (schema: string, scope: Scope) => void;
37
39
  }): void;
40
+ /**
41
+ * Converts an output object type into an equivalent input object type.
42
+ * Intended for structural validation of state objects.
43
+ */
44
+ export declare function objectTypeToInputType(schema: GraphQLSchema, objectType: GraphQLObjectType, options?: {
45
+ nameSuffix?: string;
46
+ cache?: Map<string, GraphQLInputObjectType>;
47
+ }): GraphQLInputObjectType;
48
+ export declare function validateStateObject(sharedSchemaDocumentNode: DocumentNode, stateTypeDefinitionNode: ObjectTypeDefinitionNode, stateValue: string): Error[];
49
+ export type StateValidationErrorKind = "MISSING" | "MISSING_OPTIONAL" | "UNKNOWN_FIELD" | "NON_NULL" | "TYPE" | "RECURSIVE_TYPE";
50
+ export type StateValidationErrorPayload = {
51
+ kind: "MISSING";
52
+ path: (string | number)[];
53
+ field: string;
54
+ expectedType?: string;
55
+ } | {
56
+ kind: "MISSING_OPTIONAL";
57
+ path: (string | number)[];
58
+ field: string;
59
+ expectedType?: string;
60
+ } | {
61
+ kind: "UNKNOWN_FIELD";
62
+ path: (string | number)[];
63
+ field: string;
64
+ didYouMean?: string;
65
+ typeName?: string;
66
+ } | {
67
+ kind: "NON_NULL";
68
+ path: (string | number)[];
69
+ field: string;
70
+ expectedType?: string;
71
+ } | {
72
+ kind: "TYPE";
73
+ path: (string | number)[];
74
+ field: string;
75
+ expectedType?: string;
76
+ details?: string;
77
+ } | {
78
+ kind: "RECURSIVE_TYPE";
79
+ path: (string | number)[];
80
+ field: string;
81
+ typeName: string;
82
+ };
83
+ export declare class StateValidationError extends Error {
84
+ readonly payload: StateValidationErrorPayload;
85
+ readonly originalMessage?: string;
86
+ constructor(payload: StateValidationErrorPayload, originalMessage?: string);
87
+ get kind(): StateValidationErrorKind;
88
+ get path(): (string | number)[];
89
+ get field(): string;
90
+ }
91
+ export declare function graphQLErrorsToStateValidationErrors(errors: readonly Error[]): StateValidationError[];
92
+ /**
93
+ * Information about a missing field in the state object.
94
+ */
95
+ export type MissingFieldInfo = {
96
+ fieldName: string;
97
+ path: (string | number)[];
98
+ isRequired: boolean;
99
+ /** The underlying type (unwrapped from NonNull if applicable) */
100
+ type: TypeNode;
101
+ };
102
+ /**
103
+ * Finds all fields defined in the schema that are missing from the state object.
104
+ * Returns information about each missing field including whether it's required.
105
+ */
106
+ export declare function findMissingFields(sharedSchemaDocumentNode: DocumentNode, rootTypeNode: ObjectTypeDefinitionNode, value: string | Record<string, unknown>, basePath?: (string | number)[]): MissingFieldInfo[];
107
+ /**
108
+ * Detects optional fields defined in the schema that are missing from the state object.
109
+ * Returns StateValidationError[] for each missing optional field.
110
+ */
111
+ export declare function detectMissingOptionalFields(sharedSchemaDocumentNode: DocumentNode, rootTypeNode: ObjectTypeDefinitionNode, value: string | Record<string, unknown>): StateValidationError[];
38
112
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../document-model-editor/utils/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAGhF,OAAO,KAAK,EACV,OAAO,EAEP,YAAY,EAEZ,mBAAmB,EAEnB,aAAa,EAEb,wBAAwB,EAGzB,MAAM,SAAS,CAAC;AAajB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAQ3E;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAOpE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,UAMnD;AAED,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAGtE;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAChC,OAAO,CAOT;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,uCAM/C;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE;IAClD,wBAAwB,EAAE,YAAY,CAAC;IACvC,uBAAuB,EAAE,wBAAwB,CAAC;IAClD,aAAa,EAAE,MAAM,CAAC;CACvB,UAiBA;AAED,wBAAgB,gCAAgC,CAAC,IAAI,EAAE;IACrD,kBAAkB,EAAE,YAAY,CAAC;IACjC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC;IACzD,oBAAoB,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACtD,gCAoBA;AAoFD,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,OAAO,GAAG,IAAI,GAC9B,eAAe,IAAI,aAAa,CAIlC;AAgQD,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC/B,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,WAUhC;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,KAAK,GACX,MAAM,CAuBR;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,UAGtD;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACxD,QA0BA;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACxD,QAYA"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../document-model-editor/utils/helpers.ts"],"names":[],"mappings":"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"}