@dxos/plugin-script 0.8.4-main.2c6827d → 0.8.4-main.3c1ae3b
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/lib/browser/DeploymentDialog-FIHD4UVK.mjs +15 -0
- package/dist/lib/browser/{NotebookContainer-RTESC4OV.mjs → NotebookContainer-GL2Z5I5Q.mjs} +26 -26
- package/dist/lib/browser/NotebookContainer-GL2Z5I5Q.mjs.map +7 -0
- package/dist/lib/browser/{ScriptContainer-T2BAZDJ4.mjs → ScriptContainer-F4OK3OG6.mjs} +9 -7
- package/dist/lib/browser/ScriptContainer-F4OK3OG6.mjs.map +7 -0
- package/dist/lib/browser/{chunk-4M7U2WVT.mjs → chunk-2SXDKBM7.mjs} +7 -7
- package/dist/lib/browser/chunk-2SXDKBM7.mjs.map +7 -0
- package/dist/lib/browser/{chunk-M6KJPUJK.mjs → chunk-6X7QVTRB.mjs} +4 -3
- package/dist/lib/browser/{chunk-M6KJPUJK.mjs.map → chunk-6X7QVTRB.mjs.map} +2 -2
- package/dist/lib/browser/{chunk-3IJASGG5.mjs → chunk-75RTLLH4.mjs} +2 -2
- package/dist/lib/browser/{chunk-GAFCKEII.mjs → chunk-7WFISUBY.mjs} +11 -10
- package/dist/lib/browser/chunk-7WFISUBY.mjs.map +7 -0
- package/dist/lib/browser/{chunk-LNNCD2H4.mjs → chunk-MQHBMJLH.mjs} +7 -6
- package/dist/lib/browser/chunk-MQHBMJLH.mjs.map +7 -0
- package/dist/lib/browser/{chunk-2G2NA6DQ.mjs → chunk-S22N3BUR.mjs} +5 -5
- package/dist/lib/browser/chunk-S22N3BUR.mjs.map +7 -0
- package/dist/lib/browser/{chunk-5JSNQYZZ.mjs → chunk-UGDRMROB.mjs} +147 -122
- package/dist/lib/browser/chunk-UGDRMROB.mjs.map +7 -0
- package/dist/lib/browser/compiler-2HV5KXV4.mjs +143 -0
- package/dist/lib/browser/compiler-2HV5KXV4.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +40 -58
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/{intent-resolver-AFJ575VK.mjs → intent-resolver-3B4ESSCU.mjs} +9 -8
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-QEQ3QUQA.mjs → react-surface-ASV2KBRA.mjs} +15 -15
- package/dist/lib/browser/react-surface-ASV2KBRA.mjs.map +7 -0
- package/dist/lib/browser/{settings-LNLSTZM4.mjs → settings-4NKLTJTT.mjs} +3 -3
- package/dist/lib/browser/templates/index.mjs +1 -1
- package/dist/lib/browser/types/index.mjs +2 -2
- package/dist/lib/node-esm/{DeploymentDialog-GL5AUWMR.mjs → DeploymentDialog-5EN2KZE5.mjs} +6 -5
- package/dist/lib/node-esm/{NotebookContainer-SVD3A3D6.mjs → NotebookContainer-7RCEXND7.mjs} +26 -26
- package/dist/lib/node-esm/NotebookContainer-7RCEXND7.mjs.map +7 -0
- package/dist/lib/node-esm/{ScriptContainer-2CE3H3JJ.mjs → ScriptContainer-763IAKOD.mjs} +9 -7
- package/dist/lib/node-esm/ScriptContainer-763IAKOD.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-57JA6XL5.mjs → chunk-2S43VHAM.mjs} +5 -5
- package/dist/lib/node-esm/chunk-2S43VHAM.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-NNHWLRHT.mjs → chunk-32AMTGGN.mjs} +7 -6
- package/dist/lib/node-esm/chunk-32AMTGGN.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-IQTBVH4L.mjs → chunk-4VVV5L5A.mjs} +147 -122
- package/dist/lib/node-esm/chunk-4VVV5L5A.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-RIE676OW.mjs → chunk-535YDI5V.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-HDKR5WCD.mjs → chunk-6H4FYMCX.mjs} +4 -3
- package/dist/lib/node-esm/{chunk-HDKR5WCD.mjs.map → chunk-6H4FYMCX.mjs.map} +2 -2
- package/dist/lib/node-esm/{chunk-KJKZ4KNO.mjs → chunk-DKS2EQW6.mjs} +11 -10
- package/dist/lib/node-esm/chunk-DKS2EQW6.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-YRTA4EHU.mjs → chunk-NQN3JE2R.mjs} +7 -7
- package/dist/lib/node-esm/chunk-NQN3JE2R.mjs.map +7 -0
- package/dist/lib/node-esm/compiler-KPEZKEHC.mjs +144 -0
- package/dist/lib/node-esm/compiler-KPEZKEHC.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +40 -58
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/{intent-resolver-A5VVK746.mjs → intent-resolver-GIACMXI4.mjs} +9 -8
- package/dist/lib/{browser/intent-resolver-AFJ575VK.mjs.map → node-esm/intent-resolver-GIACMXI4.mjs.map} +1 -1
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-U77YT7VF.mjs → react-surface-NXBO7VYB.mjs} +15 -15
- package/dist/lib/node-esm/react-surface-NXBO7VYB.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-IUFMOCXY.mjs → settings-PW5NXWLW.mjs} +3 -3
- package/dist/lib/node-esm/templates/index.mjs +1 -1
- package/dist/lib/node-esm/types/index.mjs +2 -2
- package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/compiler.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/compiler/compiler.d.ts +1 -1
- package/dist/types/src/compiler/compiler.d.ts.map +1 -1
- package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts +3 -0
- package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +1 -1
- package/dist/types/src/components/NotebookContainer.d.ts.map +1 -1
- package/dist/types/src/components/NotebookContainer.stories.d.ts +3 -0
- package/dist/types/src/components/NotebookContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/NotebookStack/NotebookCell.d.ts.map +1 -1
- package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +3 -0
- package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -1
- package/dist/types/src/components/QueryEditor/QueryEditor.d.ts +5 -0
- package/dist/types/src/components/QueryEditor/QueryEditor.d.ts.map +1 -0
- package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts +13 -0
- package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts.map +1 -0
- package/dist/types/src/components/QueryEditor/index.d.ts +2 -0
- package/dist/types/src/components/QueryEditor/index.d.ts.map +1 -0
- package/dist/types/src/components/ScriptContainer.d.ts.map +1 -1
- package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +3 -0
- package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
- package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +1 -1
- package/dist/types/src/e2e/deploy.test.d.ts +2 -0
- package/dist/types/src/e2e/deploy.test.d.ts.map +1 -0
- package/dist/types/src/hooks/deploy.d.ts +3 -21
- package/dist/types/src/hooks/deploy.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +1 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useCompiler.d.ts +7 -0
- package/dist/types/src/hooks/useCompiler.d.ts.map +1 -0
- package/dist/types/src/templates/chess.d.ts +6 -1
- package/dist/types/src/templates/chess.d.ts.map +1 -1
- package/dist/types/src/templates/forex-effect.d.ts +4 -1
- package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
- package/dist/types/src/templates/forex.d.ts +4 -1
- package/dist/types/src/templates/forex.d.ts.map +1 -1
- package/dist/types/src/testing/deploy.test.d.ts +2 -0
- package/dist/types/src/testing/deploy.test.d.ts.map +1 -0
- package/dist/types/src/testing/simulator.test.d.ts +2 -0
- package/dist/types/src/testing/simulator.test.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +2 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Notebook.d.ts +7 -7
- package/dist/types/src/types/Notebook.d.ts.map +1 -1
- package/dist/types/src/types/actions.d.ts +3 -3
- package/dist/types/src/util/deploy.d.ts.map +1 -1
- package/dist/types/src/util/functions.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +63 -59
- package/src/ScriptPlugin.tsx +13 -28
- package/src/capabilities/artifact-definition.ts +11 -11
- package/src/capabilities/compiler.ts +66 -16
- package/src/capabilities/react-surface.tsx +5 -6
- package/src/compiler/compiler.ts +10 -3
- package/src/components/FrameContainer/FrameContainer.tsx +3 -1
- package/src/components/NotebookContainer.tsx +14 -17
- package/src/components/NotebookStack/NotebookCell.tsx +6 -4
- package/src/components/QueryEditor/QueryEditor.stories.tsx +89 -0
- package/src/components/QueryEditor/QueryEditor.tsx +47 -0
- package/src/components/QueryEditor/index.ts +5 -0
- package/src/components/ScriptContainer.tsx +3 -2
- package/src/components/Settings/ScriptObjectSettings.tsx +5 -4
- package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +1 -1
- package/src/components/TypescriptEditor/TypescriptEditor.tsx +2 -2
- package/src/e2e/deploy.test.ts +64 -0
- package/src/hooks/deploy.ts +3 -2
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useCompiler.ts +23 -0
- package/src/templates/chess.ts +9 -8
- package/src/templates/data-generator.ts +1 -1
- package/src/templates/forex-effect.ts +22 -27
- package/src/templates/forex.ts +7 -6
- package/src/testing/deploy.test.ts +63 -0
- package/src/testing/simulator.test.ts +40 -0
- package/src/translations.ts +2 -0
- package/src/types/Notebook.ts +5 -4
- package/src/util/deploy.ts +18 -28
- package/src/util/functions.ts +3 -2
- package/src/vite-env.d.ts +2 -0
- package/dist/lib/browser/DeploymentDialog-MZX4T77L.mjs +0 -14
- package/dist/lib/browser/NotebookContainer-RTESC4OV.mjs.map +0 -7
- package/dist/lib/browser/ScriptContainer-T2BAZDJ4.mjs.map +0 -7
- package/dist/lib/browser/chunk-2G2NA6DQ.mjs.map +0 -7
- package/dist/lib/browser/chunk-4M7U2WVT.mjs.map +0 -7
- package/dist/lib/browser/chunk-5JSNQYZZ.mjs.map +0 -7
- package/dist/lib/browser/chunk-GAFCKEII.mjs.map +0 -7
- package/dist/lib/browser/chunk-LNNCD2H4.mjs.map +0 -7
- package/dist/lib/browser/compiler-4KHRSX7J.mjs +0 -86
- package/dist/lib/browser/compiler-4KHRSX7J.mjs.map +0 -7
- package/dist/lib/browser/react-surface-QEQ3QUQA.mjs.map +0 -7
- package/dist/lib/node-esm/NotebookContainer-SVD3A3D6.mjs.map +0 -7
- package/dist/lib/node-esm/ScriptContainer-2CE3H3JJ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-57JA6XL5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-IQTBVH4L.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-KJKZ4KNO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-NNHWLRHT.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-YRTA4EHU.mjs.map +0 -7
- package/dist/lib/node-esm/compiler-DU5NQISX.mjs +0 -87
- package/dist/lib/node-esm/compiler-DU5NQISX.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-U77YT7VF.mjs.map +0 -7
- /package/dist/lib/browser/{DeploymentDialog-MZX4T77L.mjs.map → DeploymentDialog-FIHD4UVK.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-3IJASGG5.mjs.map → chunk-75RTLLH4.mjs.map} +0 -0
- /package/dist/lib/{node-esm/intent-resolver-A5VVK746.mjs.map → browser/intent-resolver-3B4ESSCU.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-LNLSTZM4.mjs.map → settings-4NKLTJTT.mjs.map} +0 -0
- /package/dist/lib/node-esm/{DeploymentDialog-GL5AUWMR.mjs.map → DeploymentDialog-5EN2KZE5.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-RIE676OW.mjs.map → chunk-535YDI5V.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-IUFMOCXY.mjs.map → settings-PW5NXWLW.mjs.map} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/actions.ts", "../../../src/types/Notebook.ts", "../../../src/types/types.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { SpaceSchema } from '@dxos/client/echo';\nimport { Script } from '@dxos/functions';\n\nimport { meta } from '../meta';\nimport { templates } from '../templates';\n\nimport * as Notebook from './Notebook';\n\nexport namespace ScriptAction {\n export const ScriptProps = Schema.Struct({\n name: Schema.optional(Schema.String),\n // TODO(wittjosiah): Placeholder annotation?\n gistUrl: Schema.optional(Schema.String.annotations({ title: 'Import from Gist (url)' })),\n initialTemplateId: Schema.Literal(...templates.map(({ id }) => id)).pipe(\n Schema.annotations({ title: 'Template' }),\n Schema.optional,\n ),\n });\n\n export class CreateScript extends Schema.TaggedClass<CreateScript>()(`${meta.id}/action/create-script`, {\n input: Schema.extend(\n ScriptProps,\n Schema.Struct({\n space: SpaceSchema,\n }),\n ),\n output: Schema.Struct({\n object: Script.Script,\n }),\n }) {}\n\n export const NotebookProps = Schema.Struct({\n name: Schema.optional(Schema.String),\n });\n\n export class CreateNotebook extends Schema.TaggedClass<CreateNotebook>()(`${meta.id}/action/create-notebook`, {\n input: Schema.extend(\n NotebookProps,\n Schema.Struct({\n space: SpaceSchema,\n }),\n ),\n output: Schema.Struct({\n object: Notebook.Notebook,\n }),\n }) {}\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Prompt } from '@dxos/blueprints';\nimport { Obj, Type } from '@dxos/echo';\nimport { FormInputAnnotation } from '@dxos/echo/internal';\nimport { LabelAnnotation } from '@dxos/echo/internal';\nimport { Graph } from '@dxos/plugin-explorer/types';\nimport { Text } from '@dxos/schema';\n\nexport type CellType = 'markdown' | 'script' | 'query' | 'prompt' | 'view';\n\nconst Cell_ = Schema.Struct({\n id: Schema.String,\n type: Schema.String,\n name: Schema.optional(Schema.String),\n // TODO(burdon): Union type.\n source: Schema.optional(Type.Ref(Text.Text)),\n prompt: Schema.optional(Type.Ref(Prompt.Prompt)),\n graph: Schema.optional(Type.Ref(Graph.Graph)),\n}).pipe(Schema.mutable);\nexport interface Cell extends Schema.Schema.Type<typeof Cell_> {}\nexport interface Cell_Encoded extends Schema.Schema.Encoded<typeof Cell_> {}\nexport const Cell: Schema.Schema<Cell, Cell_Encoded> = Cell_;\n\nexport const Notebook = Schema.Struct({\n name: Schema.String.pipe(Schema.optional),\n cells: Cell.pipe(Schema.Array, Schema.mutable, FormInputAnnotation.set(false)),\n}).pipe(\n Type.Obj({\n typename: 'dxos.org/type/Notebook',\n version: '0.1.0',\n }),\n LabelAnnotation.set(['name']),\n);\n\nexport type Notebook = Schema.Schema.Type<typeof Notebook>;\n\nexport const make = (props: Obj.MakeProps<typeof Notebook> = { cells: [] }) => Obj.make(Notebook, props);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { EditorInputMode } from '@dxos/react-ui-editor';\n\nexport const ScriptSettings = Schema.mutable(\n Schema.Struct({\n editorInputMode: EditorInputMode,\n }),\n);\n\nexport type ScriptSettings = Schema.Schema.Type<typeof ScriptSettings>;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;AAIA,YAAYA,aAAY;AAExB,SAASC,mBAAmB;AAC5B,SAASC,cAAc;;;ACPvB;;;;;;AAIA,YAAYC,YAAY;AAExB,SAASC,cAAc;AACvB,SAASC,KAAKC,YAAY;AAC1B,SAASC,2BAA2B;AACpC,SAASC,uBAAuB;AAChC,SAASC,aAAa;AACtB,SAASC,YAAY;AAIrB,IAAMC,QAAeC,cAAO;EAC1BC,IAAWC;EACXC,MAAaD;EACbE,MAAaC,gBAAgBH,aAAM;;EAEnCI,QAAeD,gBAASE,KAAKC,IAAIC,KAAKA,IAAI,CAAA;EAC1CC,QAAeL,gBAASE,KAAKC,IAAIG,OAAOA,MAAM,CAAA;EAC9CC,OAAcP,gBAASE,KAAKC,IAAIK,MAAMA,KAAK,CAAA;AAC7C,CAAA,EAAGC,KAAYC,cAAO;AAGf,IAAMC,OAA0CjB;AAEhD,IAAMkB,WAAkBjB,cAAO;EACpCI,MAAaF,cAAOY,KAAYT,eAAQ;EACxCa,OAAOF,KAAKF,KAAYK,cAAcJ,gBAASK,oBAAoBC,IAAI,KAAA,CAAA;AACzE,CAAA,EAAGP,KACDP,KAAKe,IAAI;EACPC,UAAU;EACVC,SAAS;AACX,CAAA,GACAC,gBAAgBJ,IAAI;EAAC;CAAO,CAAA;AAKvB,IAAMK,OAAO,CAACC,QAAwC;EAAET,OAAO,CAAA;AAAG,MAAMI,IAAII,KAAKT,UAAUU,KAAAA;;;UD3BjFC,eAAAA;gBACFC,cAAqBC,eAAO;IACvCC,MAAaC,iBAAgBC,cAAM;;IAEnCC,SAAgBF,iBAAgBC,eAAOE,YAAY;MAAEC,OAAO;IAAyB,CAAA,CAAA;IACrFC,mBAA0BC,gBAAO,GAAIC,UAAUC,IAAI,CAAC,EAAEC,GAAE,MAAOA,EAAAA,CAAAA,EAAKC,KAC3DP,oBAAY;MAAEC,OAAO;IAAW,CAAA,GAChCJ,gBAAQ;EAEnB,CAAA;EAEO,MAAMW,qBAA4BC,oBAAW,EAAiB,GAAGC,KAAKJ,EAAE,yBAAyB;IACtGK,OAAcC,eAAMnB,cAClBC,aACOC,eAAO;MACZkB,OAAOC;IACT,CAAA,CAAA;IAEFC,QAAepB,eAAO;MACpBqB,QAAQC,OAAOA;IACjB,CAAA;EACF,CAAA,EAAA;EAAI;gBAVST,eAAAA;gBAYAU,gBAAuBvB,eAAO;IACzCC,MAAaC,iBAAgBC,cAAM;EACrC,CAAA;EAEO,MAAMqB,uBAA8BV,oBAAW,EAAmB,GAAGC,KAAKJ,EAAE,2BAA2B;IAC5GK,OAAcC,eAAMnB,cAClByB,eACOvB,eAAO;MACZkB,OAAOC;IACT,CAAA,CAAA;IAEFC,QAAepB,eAAO;MACpBqB,QAAiBI;IACnB,CAAA;EACF,CAAA,EAAA;EAAI;gBAVSD,iBAAAA;AAWf,GAtCiB1B,iBAAAA,eAAAA,CAAAA,EAAAA;;;;AEVjB,YAAY4B,aAAY;AAExB,SAASC,uBAAuB;AAEzB,IAAMC,iBAAwBC,gBAC5BC,eAAO;EACZC,iBAAiBC;AACnB,CAAA,CAAA;",
|
|
6
|
+
"names": ["Schema", "SpaceSchema", "Script", "Schema", "Prompt", "Obj", "Type", "FormInputAnnotation", "LabelAnnotation", "Graph", "Text", "Cell_", "Struct", "id", "String", "type", "name", "optional", "source", "Type", "Ref", "Text", "prompt", "Prompt", "graph", "Graph", "pipe", "mutable", "Cell", "Notebook", "cells", "Array", "FormInputAnnotation", "set", "Obj", "typename", "version", "LabelAnnotation", "make", "props", "ScriptAction", "ScriptProps", "Struct", "name", "optional", "String", "gistUrl", "annotations", "title", "initialTemplateId", "Literal", "templates", "map", "id", "pipe", "CreateScript", "TaggedClass", "meta", "input", "extend", "space", "SpaceSchema", "output", "object", "Script", "NotebookProps", "CreateNotebook", "Notebook", "Schema", "EditorInputMode", "ScriptSettings", "mutable", "Struct", "editorInputMode", "EditorInputMode"]
|
|
7
|
+
}
|
|
@@ -1,23 +1,99 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
ScriptAction
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-32AMTGGN.mjs";
|
|
5
5
|
import {
|
|
6
6
|
templates
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-2S43VHAM.mjs";
|
|
8
|
+
import {
|
|
9
|
+
ScriptCapabilities
|
|
10
|
+
} from "./chunk-55JZVM6K.mjs";
|
|
8
11
|
import {
|
|
9
12
|
meta
|
|
10
13
|
} from "./chunk-IBV2DR36.mjs";
|
|
11
14
|
|
|
15
|
+
// src/util/deploy.ts
|
|
16
|
+
import { Obj, Ref } from "@dxos/echo";
|
|
17
|
+
import { Function, getUserFunctionIdInMetadata } from "@dxos/functions";
|
|
18
|
+
import { bundleFunction } from "@dxos/functions-runtime/bundler";
|
|
19
|
+
import { FunctionsServiceClient, incrementSemverPatch } from "@dxos/functions-runtime/edge";
|
|
20
|
+
import { log } from "@dxos/log";
|
|
21
|
+
import { FunctionRuntimeKind } from "@dxos/protocols";
|
|
22
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/util/deploy.ts";
|
|
23
|
+
var isScriptDeployed = ({ script, fn }) => {
|
|
24
|
+
const existingFunctionId = fn && getUserFunctionIdInMetadata(Obj.getMeta(fn));
|
|
25
|
+
return Boolean(existingFunctionId) && !script.changed;
|
|
26
|
+
};
|
|
27
|
+
var deployScript = async ({ script, client, space, fn, existingFunctionId }) => {
|
|
28
|
+
const validationError = validateDeployInputs(script, space);
|
|
29
|
+
if (validationError) {
|
|
30
|
+
return {
|
|
31
|
+
success: false,
|
|
32
|
+
error: validationError
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
try {
|
|
36
|
+
const buildResult = await bundleFunction({
|
|
37
|
+
source: script.source.target.content
|
|
38
|
+
});
|
|
39
|
+
if ("error" in buildResult) {
|
|
40
|
+
throw buildResult.error || new Error("Bundle creation failed");
|
|
41
|
+
}
|
|
42
|
+
const functionsServiceClient = FunctionsServiceClient.fromClient(client);
|
|
43
|
+
const newFunction = await functionsServiceClient.deploy({
|
|
44
|
+
// TODO(dmaretskyi): Space key or identity key.
|
|
45
|
+
ownerPublicKey: space.key,
|
|
46
|
+
version: fn ? incrementSemverPatch(fn.version) : "0.0.1",
|
|
47
|
+
functionId: existingFunctionId,
|
|
48
|
+
entryPoint: buildResult.entryPoint,
|
|
49
|
+
assets: buildResult.assets,
|
|
50
|
+
runtime: FunctionRuntimeKind.enums.WORKER_LOADER
|
|
51
|
+
});
|
|
52
|
+
const storedFunction = createOrUpdateFunctionInSpace(space, fn, script, newFunction);
|
|
53
|
+
script.changed = false;
|
|
54
|
+
return {
|
|
55
|
+
success: true,
|
|
56
|
+
functionId: getUserFunctionIdInMetadata(Obj.getMeta(storedFunction))
|
|
57
|
+
};
|
|
58
|
+
} catch (err) {
|
|
59
|
+
log.catch(err, void 0, {
|
|
60
|
+
F: __dxlog_file,
|
|
61
|
+
L: 68,
|
|
62
|
+
S: void 0,
|
|
63
|
+
C: (f, a) => f(...a)
|
|
64
|
+
});
|
|
65
|
+
return {
|
|
66
|
+
success: false,
|
|
67
|
+
error: err
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
var validateDeployInputs = (script, space) => {
|
|
72
|
+
if (!script.source || !space) {
|
|
73
|
+
return new Error("Script source or space not available");
|
|
74
|
+
}
|
|
75
|
+
return null;
|
|
76
|
+
};
|
|
77
|
+
var createOrUpdateFunctionInSpace = (space, fn, script, newFunction) => {
|
|
78
|
+
if (fn) {
|
|
79
|
+
Function.setFrom(fn, newFunction);
|
|
80
|
+
return fn;
|
|
81
|
+
} else {
|
|
82
|
+
newFunction.source = Ref.make(script);
|
|
83
|
+
return space.db.add(newFunction);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
|
|
12
87
|
// src/util/functions.ts
|
|
13
|
-
import {
|
|
88
|
+
import { Obj as Obj2 } from "@dxos/echo";
|
|
89
|
+
import { getUserFunctionIdInMetadata as getUserFunctionIdInMetadata2 } from "@dxos/functions";
|
|
14
90
|
import { getInvocationUrl } from "@dxos/functions-runtime";
|
|
15
|
-
import { log } from "@dxos/log";
|
|
16
|
-
import {
|
|
17
|
-
var
|
|
91
|
+
import { log as log2 } from "@dxos/log";
|
|
92
|
+
import { getSpace } from "@dxos/react-client/echo";
|
|
93
|
+
var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/util/functions.ts";
|
|
18
94
|
var getFunctionUrl = ({ script, fn, edgeUrl }) => {
|
|
19
95
|
const space = getSpace(script);
|
|
20
|
-
const existingFunctionId = fn &&
|
|
96
|
+
const existingFunctionId = fn && getUserFunctionIdInMetadata2(Obj2.getMeta(fn));
|
|
21
97
|
if (!existingFunctionId) {
|
|
22
98
|
return void 0;
|
|
23
99
|
}
|
|
@@ -31,11 +107,11 @@ var updateFunctionMetadata = (script, storedFunction, meta2, functionId) => {
|
|
|
31
107
|
} else if (meta2.description) {
|
|
32
108
|
storedFunction.description = meta2.description;
|
|
33
109
|
} else {
|
|
34
|
-
|
|
110
|
+
log2.verbose("no description in function metadata", {
|
|
35
111
|
functionId
|
|
36
112
|
}, {
|
|
37
|
-
F:
|
|
38
|
-
L:
|
|
113
|
+
F: __dxlog_file2,
|
|
114
|
+
L: 47,
|
|
39
115
|
S: void 0,
|
|
40
116
|
C: (f, a) => f(...a)
|
|
41
117
|
});
|
|
@@ -43,11 +119,11 @@ var updateFunctionMetadata = (script, storedFunction, meta2, functionId) => {
|
|
|
43
119
|
if (meta2.inputSchema) {
|
|
44
120
|
storedFunction.inputSchema = meta2.inputSchema;
|
|
45
121
|
} else {
|
|
46
|
-
|
|
122
|
+
log2.verbose("no input schema in function metadata", {
|
|
47
123
|
functionId
|
|
48
124
|
}, {
|
|
49
|
-
F:
|
|
50
|
-
L:
|
|
125
|
+
F: __dxlog_file2,
|
|
126
|
+
L: 53,
|
|
51
127
|
S: void 0,
|
|
52
128
|
C: (f, a) => f(...a)
|
|
53
129
|
});
|
|
@@ -55,11 +131,11 @@ var updateFunctionMetadata = (script, storedFunction, meta2, functionId) => {
|
|
|
55
131
|
if (meta2.outputSchema) {
|
|
56
132
|
storedFunction.outputSchema = meta2.outputSchema;
|
|
57
133
|
} else {
|
|
58
|
-
|
|
134
|
+
log2.verbose("no output schema in function metadata", {
|
|
59
135
|
functionId
|
|
60
136
|
}, {
|
|
61
|
-
F:
|
|
62
|
-
L:
|
|
137
|
+
F: __dxlog_file2,
|
|
138
|
+
L: 59,
|
|
63
139
|
S: void 0,
|
|
64
140
|
C: (f, a) => f(...a)
|
|
65
141
|
});
|
|
@@ -67,11 +143,11 @@ var updateFunctionMetadata = (script, storedFunction, meta2, functionId) => {
|
|
|
67
143
|
if (meta2.key) {
|
|
68
144
|
storedFunction.key = meta2.key;
|
|
69
145
|
} else {
|
|
70
|
-
|
|
146
|
+
log2.verbose("no key in function metadata", {
|
|
71
147
|
functionId
|
|
72
148
|
}, {
|
|
73
|
-
F:
|
|
74
|
-
L:
|
|
149
|
+
F: __dxlog_file2,
|
|
150
|
+
L: 65,
|
|
75
151
|
S: void 0,
|
|
76
152
|
C: (f, a) => f(...a)
|
|
77
153
|
});
|
|
@@ -96,104 +172,13 @@ var getAccessCredential = (identityKey) => {
|
|
|
96
172
|
};
|
|
97
173
|
};
|
|
98
174
|
|
|
99
|
-
// src/util/deploy.ts
|
|
100
|
-
import { Obj, Ref } from "@dxos/echo";
|
|
101
|
-
import { Function, getUserFunctionIdInMetadata as getUserFunctionIdInMetadata2, setUserFunctionIdInMetadata } from "@dxos/functions";
|
|
102
|
-
import { Bundler } from "@dxos/functions-runtime/bundler";
|
|
103
|
-
import { incrementSemverPatch, uploadWorkerFunction } from "@dxos/functions-runtime/edge";
|
|
104
|
-
import { log as log2 } from "@dxos/log";
|
|
105
|
-
import { isNode } from "@dxos/util";
|
|
106
|
-
var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/util/deploy.ts";
|
|
107
|
-
var isScriptDeployed = ({ script, fn }) => {
|
|
108
|
-
const existingFunctionId = fn && getUserFunctionIdInMetadata2(Obj.getMeta(fn));
|
|
109
|
-
return Boolean(existingFunctionId) && !script.changed;
|
|
110
|
-
};
|
|
111
|
-
var deployScript = async ({ script, client, space, fn, existingFunctionId }) => {
|
|
112
|
-
const validationError = validateDeployInputs(script, space);
|
|
113
|
-
if (validationError) {
|
|
114
|
-
return {
|
|
115
|
-
success: false,
|
|
116
|
-
error: validationError
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
try {
|
|
120
|
-
const bundler = new Bundler({
|
|
121
|
-
platform: isNode() ? "node" : "browser",
|
|
122
|
-
sandboxedModules: [],
|
|
123
|
-
remoteModules: {}
|
|
124
|
-
});
|
|
125
|
-
const buildResult = await bundler.bundle({
|
|
126
|
-
source: script.source.target.content
|
|
127
|
-
});
|
|
128
|
-
if ("error" in buildResult) {
|
|
129
|
-
throw buildResult.error || new Error("Bundle creation failed");
|
|
130
|
-
}
|
|
131
|
-
const { functionId, version, meta: meta2 } = await uploadWorkerFunction({
|
|
132
|
-
client,
|
|
133
|
-
ownerPublicKey: space.key,
|
|
134
|
-
version: fn ? incrementSemverPatch(fn.version) : "0.0.1",
|
|
135
|
-
functionId: existingFunctionId,
|
|
136
|
-
entryPoint: buildResult.entryPoint,
|
|
137
|
-
assets: {
|
|
138
|
-
[buildResult.entryPoint]: buildResult.asset
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
if (functionId === void 0 || version === void 0) {
|
|
142
|
-
throw new Error(`Upload didn't return expected data: ${JSON.stringify({
|
|
143
|
-
functionId,
|
|
144
|
-
version
|
|
145
|
-
})}`);
|
|
146
|
-
}
|
|
147
|
-
const storedFunction = createOrUpdateFunctionInSpace(space, fn, script, functionId, version);
|
|
148
|
-
script.changed = false;
|
|
149
|
-
updateFunctionMetadata(script, storedFunction, meta2, functionId);
|
|
150
|
-
setUserFunctionIdInMetadata(Obj.getMeta(storedFunction), functionId);
|
|
151
|
-
return {
|
|
152
|
-
success: true,
|
|
153
|
-
functionId
|
|
154
|
-
};
|
|
155
|
-
} catch (err) {
|
|
156
|
-
log2.catch(err, void 0, {
|
|
157
|
-
F: __dxlog_file2,
|
|
158
|
-
L: 74,
|
|
159
|
-
S: void 0,
|
|
160
|
-
C: (f, a) => f(...a)
|
|
161
|
-
});
|
|
162
|
-
return {
|
|
163
|
-
success: false,
|
|
164
|
-
error: err
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
};
|
|
168
|
-
var validateDeployInputs = (script, space) => {
|
|
169
|
-
if (!script.source || !space) {
|
|
170
|
-
return new Error("Script source or space not available");
|
|
171
|
-
}
|
|
172
|
-
return null;
|
|
173
|
-
};
|
|
174
|
-
var createOrUpdateFunctionInSpace = (space, fn, script, functionId, version) => {
|
|
175
|
-
if (fn) {
|
|
176
|
-
fn.name = script.name ?? "New Function";
|
|
177
|
-
fn.version = version;
|
|
178
|
-
return fn;
|
|
179
|
-
} else {
|
|
180
|
-
const fn2 = Function.make({
|
|
181
|
-
name: script.name ?? "New Function",
|
|
182
|
-
version,
|
|
183
|
-
source: Ref.make(script)
|
|
184
|
-
});
|
|
185
|
-
space.db.add(fn2);
|
|
186
|
-
setUserFunctionIdInMetadata(Obj.getMeta(fn2), functionId);
|
|
187
|
-
return fn2;
|
|
188
|
-
}
|
|
189
|
-
};
|
|
190
|
-
|
|
191
175
|
// src/hooks/deploy.ts
|
|
192
176
|
import { useEffect, useMemo } from "react";
|
|
177
|
+
import { Obj as Obj3, Query, Ref as Ref2 } from "@dxos/echo";
|
|
193
178
|
import { Function as Function2, getUserFunctionIdInMetadata as getUserFunctionIdInMetadata3 } from "@dxos/functions";
|
|
194
179
|
import { log as log3 } from "@dxos/log";
|
|
195
180
|
import { useClient } from "@dxos/react-client";
|
|
196
|
-
import {
|
|
181
|
+
import { getSpace as getSpace2, useQuery } from "@dxos/react-client/echo";
|
|
197
182
|
import { createMenuAction } from "@dxos/react-ui-menu";
|
|
198
183
|
import { errorMessageColors } from "@dxos/react-ui-theme";
|
|
199
184
|
var __dxlog_file3 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/hooks/deploy.ts";
|
|
@@ -226,7 +211,7 @@ var createDeploy = ({ state, script, space, fn, client, existingFunctionId, t })
|
|
|
226
211
|
if (!result.success) {
|
|
227
212
|
log3.catch(result.error, void 0, {
|
|
228
213
|
F: __dxlog_file3,
|
|
229
|
-
L:
|
|
214
|
+
L: 60,
|
|
230
215
|
S: void 0,
|
|
231
216
|
C: (f, a) => f(...a)
|
|
232
217
|
});
|
|
@@ -320,7 +305,7 @@ var useDeployDeps = ({ script }) => {
|
|
|
320
305
|
const [fn] = useQuery(space, Query.type(Function2.Function, {
|
|
321
306
|
source: Ref2.make(script)
|
|
322
307
|
}));
|
|
323
|
-
const existingFunctionId = useMemo(() => fn && getUserFunctionIdInMetadata3(
|
|
308
|
+
const existingFunctionId = useMemo(() => fn && getUserFunctionIdInMetadata3(Obj3.getMeta(fn)), [
|
|
324
309
|
fn
|
|
325
310
|
]);
|
|
326
311
|
return {
|
|
@@ -338,6 +323,38 @@ var useToolbarState = (initialState = {}) => {
|
|
|
338
323
|
return useMemo2(() => live(initialState), []);
|
|
339
324
|
};
|
|
340
325
|
|
|
326
|
+
// src/hooks/useCompiler.ts
|
|
327
|
+
import { useCapabilities, usePluginManager } from "@dxos/app-framework/react";
|
|
328
|
+
import { useAsyncEffect } from "@dxos/react-ui";
|
|
329
|
+
|
|
330
|
+
// src/capabilities/index.ts
|
|
331
|
+
import { lazy } from "@dxos/app-framework";
|
|
332
|
+
var AppGraphBuilder = lazy(() => import("./app-graph-builder-NCVLUL5R.mjs"));
|
|
333
|
+
var BlueprintDefinition = lazy(() => import("./blueprint-definition-5R6YCSZZ.mjs"));
|
|
334
|
+
var Compiler = lazy(() => import("./compiler-KPEZKEHC.mjs"));
|
|
335
|
+
var IntentResolver = lazy(() => import("./intent-resolver-GIACMXI4.mjs"));
|
|
336
|
+
var ReactSurface = lazy(() => import("./react-surface-NXBO7VYB.mjs"));
|
|
337
|
+
var ScriptSettings = lazy(() => import("./settings-PW5NXWLW.mjs"));
|
|
338
|
+
|
|
339
|
+
// src/events.ts
|
|
340
|
+
import { defineEvent } from "@dxos/app-framework";
|
|
341
|
+
(function(ScriptEvents2) {
|
|
342
|
+
ScriptEvents2.SetupCompiler = defineEvent(`${meta.id}/event/setup-compiler`);
|
|
343
|
+
})(ScriptEvents || (ScriptEvents = {}));
|
|
344
|
+
var ScriptEvents;
|
|
345
|
+
|
|
346
|
+
// src/hooks/useCompiler.ts
|
|
347
|
+
var useCompiler = () => {
|
|
348
|
+
const manager = usePluginManager();
|
|
349
|
+
useAsyncEffect(async () => {
|
|
350
|
+
await manager.activate(ScriptEvents.SetupCompiler);
|
|
351
|
+
}, [
|
|
352
|
+
manager
|
|
353
|
+
]);
|
|
354
|
+
const [compiler] = useCapabilities(ScriptCapabilities.Compiler);
|
|
355
|
+
return compiler;
|
|
356
|
+
};
|
|
357
|
+
|
|
341
358
|
// src/hooks/format.ts
|
|
342
359
|
import { format } from "prettier";
|
|
343
360
|
import prettierPluginEstree from "prettier/plugins/estree";
|
|
@@ -391,7 +408,7 @@ var createFormat = (script) => {
|
|
|
391
408
|
};
|
|
392
409
|
|
|
393
410
|
// src/hooks/template.ts
|
|
394
|
-
import { Obj as
|
|
411
|
+
import { Obj as Obj4 } from "@dxos/echo";
|
|
395
412
|
import { FUNCTIONS_PRESET_META_KEY } from "@dxos/functions";
|
|
396
413
|
import { createMenuAction as createMenuAction3 } from "@dxos/react-ui-menu";
|
|
397
414
|
var createTemplateSelectActions = (script) => {
|
|
@@ -399,7 +416,7 @@ var createTemplateSelectActions = (script) => {
|
|
|
399
416
|
return createMenuAction3(`template--${template.id}`, () => {
|
|
400
417
|
script.name = template.name;
|
|
401
418
|
script.source.target.content = template.source;
|
|
402
|
-
const metaKeys =
|
|
419
|
+
const metaKeys = Obj4.getMeta(script).keys;
|
|
403
420
|
const oldPresetIndex = metaKeys.findIndex((key) => key.source === FUNCTIONS_PRESET_META_KEY);
|
|
404
421
|
if (oldPresetIndex >= 0) {
|
|
405
422
|
metaKeys.splice(oldPresetIndex, 1);
|
|
@@ -441,7 +458,7 @@ import * as Function3 from "effect/Function";
|
|
|
441
458
|
import { useCallback, useState } from "react";
|
|
442
459
|
import { chain, createIntent } from "@dxos/app-framework";
|
|
443
460
|
import { useIntentDispatcher } from "@dxos/app-framework/react";
|
|
444
|
-
import { Obj as
|
|
461
|
+
import { Obj as Obj5 } from "@dxos/echo";
|
|
445
462
|
import { Script } from "@dxos/functions";
|
|
446
463
|
import { invariant } from "@dxos/invariant";
|
|
447
464
|
import { SpaceAction } from "@dxos/plugin-space/types";
|
|
@@ -471,7 +488,7 @@ var useCreateAndDeployScriptTemplates = (space, scriptTemplates) => {
|
|
|
471
488
|
}), chain(SpaceAction.AddObject, {
|
|
472
489
|
target: space
|
|
473
490
|
})));
|
|
474
|
-
invariant(
|
|
491
|
+
invariant(Obj5.instanceOf(Script.Script, result.data?.object), void 0, {
|
|
475
492
|
F: __dxlog_file5,
|
|
476
493
|
L: 52,
|
|
477
494
|
S: void 0,
|
|
@@ -502,17 +519,25 @@ var useCreateAndDeployScriptTemplates = (space, scriptTemplates) => {
|
|
|
502
519
|
};
|
|
503
520
|
|
|
504
521
|
export {
|
|
522
|
+
isScriptDeployed,
|
|
523
|
+
deployScript,
|
|
505
524
|
getFunctionUrl,
|
|
506
525
|
updateFunctionMetadata,
|
|
507
526
|
getAccessCredential,
|
|
508
|
-
isScriptDeployed,
|
|
509
|
-
deployScript,
|
|
510
527
|
createDeploy,
|
|
511
528
|
useDeployState,
|
|
512
529
|
useDeployDeps,
|
|
513
530
|
createFormat,
|
|
514
531
|
createTemplateSelect,
|
|
515
532
|
useCreateAndDeployScriptTemplates,
|
|
516
|
-
useToolbarState
|
|
533
|
+
useToolbarState,
|
|
534
|
+
ScriptEvents,
|
|
535
|
+
useCompiler,
|
|
536
|
+
AppGraphBuilder,
|
|
537
|
+
BlueprintDefinition,
|
|
538
|
+
Compiler,
|
|
539
|
+
IntentResolver,
|
|
540
|
+
ReactSurface,
|
|
541
|
+
ScriptSettings
|
|
517
542
|
};
|
|
518
|
-
//# sourceMappingURL=chunk-
|
|
543
|
+
//# sourceMappingURL=chunk-4VVV5L5A.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/deploy.ts", "../../../src/util/functions.ts", "../../../src/hooks/deploy.ts", "../../../src/hooks/useToolbarState.ts", "../../../src/hooks/useCompiler.ts", "../../../src/capabilities/index.ts", "../../../src/events.ts", "../../../src/hooks/format.ts", "../../../src/hooks/template.ts", "../../../src/hooks/useCreateAndDeployScriptTemplates.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Client } from '@dxos/client';\nimport { Obj, Ref } from '@dxos/echo';\nimport { Function, type Script, getUserFunctionIdInMetadata } from '@dxos/functions';\nimport { bundleFunction } from '@dxos/functions-runtime/bundler';\nimport { FunctionsServiceClient, incrementSemverPatch } from '@dxos/functions-runtime/edge';\nimport { log } from '@dxos/log';\nimport { FunctionRuntimeKind } from '@dxos/protocols';\nimport { type Space } from '@dxos/react-client/echo';\n\nexport const isScriptDeployed = ({ script, fn }: { script: Script.Script; fn: any }): boolean => {\n const existingFunctionId = fn && getUserFunctionIdInMetadata(Obj.getMeta(fn));\n return Boolean(existingFunctionId) && !script.changed;\n};\n\ntype DeployScriptProps = {\n script: Script.Script;\n client: Client;\n space: Space;\n fn?: Function.Function;\n existingFunctionId?: string;\n};\n\ntype DeployScriptResult = { success: boolean; error?: Error; functionId?: string };\n\n/**\n * Deploy a script to a space, handling bundling and uploading to the FaaS infrastructure.\n */\nexport const deployScript = async ({\n script,\n client,\n space,\n fn,\n existingFunctionId,\n}: DeployScriptProps): Promise<DeployScriptResult> => {\n const validationError = validateDeployInputs(script, space);\n if (validationError) {\n return { success: false, error: validationError };\n }\n\n try {\n const buildResult = await bundleFunction({\n source: script.source!.target!.content,\n });\n if ('error' in buildResult) {\n throw buildResult.error || new Error('Bundle creation failed');\n }\n\n const functionsServiceClient = FunctionsServiceClient.fromClient(client);\n const newFunction = await functionsServiceClient.deploy({\n // TODO(dmaretskyi): Space key or identity key.\n ownerPublicKey: space.key,\n version: fn ? incrementSemverPatch(fn.version) : '0.0.1',\n functionId: existingFunctionId,\n entryPoint: buildResult.entryPoint,\n assets: buildResult.assets,\n runtime: FunctionRuntimeKind.enums.WORKER_LOADER,\n });\n\n const storedFunction = createOrUpdateFunctionInSpace(space, fn, script, newFunction);\n script.changed = false;\n\n return { success: true, functionId: getUserFunctionIdInMetadata(Obj.getMeta(storedFunction)) };\n } catch (err: any) {\n log.catch(err);\n return { success: false, error: err };\n }\n};\n\n/**\n * Validate inputs for script deployment.\n */\nconst validateDeployInputs = (script: Script.Script, space: Space): Error | null => {\n if (!script.source || !space) {\n return new Error('Script source or space not available');\n }\n return null;\n};\n\nconst createOrUpdateFunctionInSpace = (\n space: Space,\n fn: Function.Function | undefined,\n script: Script.Script,\n newFunction: Function.Function,\n): Function.Function => {\n if (fn) {\n Function.setFrom(fn, newFunction);\n return fn;\n } else {\n newFunction.source = Ref.make(script);\n return space.db.add(newFunction);\n }\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Obj } from '@dxos/echo';\nimport { type Function, type Script, getUserFunctionIdInMetadata } from '@dxos/functions';\nimport { getInvocationUrl } from '@dxos/functions-runtime';\nimport { type PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { type Credential } from '@dxos/protocols/proto/dxos/halo/credentials';\nimport { getSpace } from '@dxos/react-client/echo';\n/**\n * Get the function URL for a given script and client configuration\n */\nexport const getFunctionUrl = ({\n script,\n fn,\n edgeUrl,\n}: {\n script: Script.Script;\n fn: any;\n edgeUrl: string;\n}): string | undefined => {\n const space = getSpace(script);\n const existingFunctionId = fn && getUserFunctionIdInMetadata(Obj.getMeta(fn));\n\n if (!existingFunctionId) {\n return undefined;\n }\n\n return getInvocationUrl(existingFunctionId, edgeUrl, {\n spaceId: space?.id,\n });\n};\n\nexport const updateFunctionMetadata = (\n script: Script.Script,\n storedFunction: Function.Function,\n meta: any,\n functionId: string,\n) => {\n if (script.description !== undefined && script.description.trim() !== '') {\n storedFunction.description = script.description;\n } else if (meta.description) {\n storedFunction.description = meta.description;\n } else {\n log.verbose('no description in function metadata', { functionId });\n }\n\n if (meta.inputSchema) {\n storedFunction.inputSchema = meta.inputSchema;\n } else {\n log.verbose('no input schema in function metadata', { functionId });\n }\n\n if (meta.outputSchema) {\n storedFunction.outputSchema = meta.outputSchema;\n } else {\n log.verbose('no output schema in function metadata', { functionId });\n }\n\n if (meta.key) {\n storedFunction.key = meta.key;\n } else {\n log.verbose('no key in function metadata', { functionId });\n }\n};\n\nexport const getAccessCredential = (identityKey: PublicKey): Credential => {\n return {\n issuer: identityKey,\n issuanceDate: new Date(),\n subject: {\n id: identityKey,\n assertion: {\n '@type': 'dxos.halo.credentials.ServiceAccess',\n serverName: 'hub.dxos.network',\n serverKey: identityKey,\n identityKey,\n capabilities: ['composer:beta'],\n },\n },\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useEffect, useMemo } from 'react';\n\nimport { Obj, Query, Ref } from '@dxos/echo';\nimport { Function, type Script, getUserFunctionIdInMetadata } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { type Client, useClient } from '@dxos/react-client';\nimport { type Space, getSpace, useQuery } from '@dxos/react-client/echo';\nimport { type TFunction } from '@dxos/react-ui';\nimport { createMenuAction } from '@dxos/react-ui-menu';\nimport { errorMessageColors } from '@dxos/react-ui-theme';\n\nimport { meta } from '../meta';\nimport { deployScript, getFunctionUrl, isScriptDeployed } from '../util';\n\nexport type DeployActionProperties = { type: 'deploy' } | { type: 'copy' };\n\nexport type DeployState = {\n deploying: boolean;\n deployed: boolean;\n functionUrl: string;\n error: string;\n};\n\nexport type CreateDeployOptions = {\n state: Partial<DeployState>;\n script: Script.Script;\n fn: Function.Function;\n space?: Space;\n existingFunctionId?: string;\n client: Client;\n t: TFunction;\n};\n\nexport const createDeploy = ({ state, script, space, fn, client, existingFunctionId, t }: CreateDeployOptions) => {\n // TODO(wittjosiah): Should this be an action?\n const errorItem = createMenuAction('error', () => {}, {\n label: state.error ?? ['no error label', { ns: meta.id }],\n icon: 'ph--warning-circle--regular',\n hidden: !state.error,\n classNames: state.error && errorMessageColors,\n });\n\n const deployAction = createMenuAction<DeployActionProperties>(\n 'deploy',\n async () => {\n if (!script.source || !space) {\n return;\n }\n\n state.error = undefined;\n state.deploying = true;\n\n const result = await deployScript({ script, client, space, fn, existingFunctionId });\n\n if (!result.success) {\n log.catch(result.error);\n state.error = t('upload failed label');\n }\n\n state.deploying = false;\n },\n {\n type: 'deploy',\n label: [state.deploying ? 'publishing label' : 'deploy label', { ns: meta.id }],\n icon: state.deploying ? 'ph--spinner-gap--regular' : 'ph--cloud-arrow-up--regular',\n disabled: state.deploying,\n classNames: state.deploying ? '[&_svg]:animate-spin' : '',\n },\n );\n\n const copyAction = createMenuAction<DeployActionProperties>(\n 'copy',\n async () => {\n if (state.functionUrl) {\n await navigator.clipboard.writeText(state.functionUrl);\n }\n },\n {\n type: 'copy',\n label: ['copy link label', { ns: meta.id }],\n icon: 'ph--link--regular',\n disabled: !state.functionUrl,\n },\n );\n\n return {\n nodes: [errorItem, deployAction, copyAction],\n edges: [\n { source: 'root', target: 'error' },\n { source: 'root', target: 'deploy' },\n { source: 'root', target: 'copy' },\n ],\n };\n};\n\nexport const useDeployState = ({ state, script }: { state: Partial<DeployState>; script: Script.Script }) => {\n const { space, client, fn, existingFunctionId } = useDeployDeps({ script });\n useEffect(() => {\n if (!existingFunctionId) {\n return;\n }\n\n state.functionUrl = getFunctionUrl({\n script,\n fn,\n edgeUrl: client.config.values.runtime?.services?.edge?.url ?? '',\n });\n }, [existingFunctionId, space, fn, script, client.config.values.runtime?.services?.edge?.url]);\n\n useEffect(() => {\n state.deployed = isScriptDeployed({ script, fn });\n }, [script.changed, existingFunctionId, fn, script]);\n};\n\nexport const useDeployDeps = ({ script }: { script: Script.Script }) => {\n const client = useClient();\n const space = getSpace(script);\n const [fn] = useQuery(space, Query.type(Function.Function, { source: Ref.make(script) }));\n const existingFunctionId = useMemo(() => fn && getUserFunctionIdInMetadata(Obj.getMeta(fn)), [fn]);\n return { client, space, fn, existingFunctionId };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { live } from '@dxos/live-object';\n\nimport { type DeployState } from './deploy';\n\nexport type ScriptToolbarState = Partial<DeployState>;\n\n// TODO(burdon): Replace with context provider?\nexport const useToolbarState = (initialState: ScriptToolbarState = {}) => {\n return useMemo(() => live<ScriptToolbarState>(initialState), []);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCapabilities, usePluginManager } from '@dxos/app-framework/react';\nimport { useAsyncEffect } from '@dxos/react-ui';\n\nimport { ScriptCapabilities } from '../capabilities';\nimport type { Compiler } from '../compiler';\nimport { ScriptEvents } from '../events';\n\n/**\n * Asynchronously sets up the compiler and returns it.\n * @returns The compiler instance or undefined if it is not ready.\n */\nexport const useCompiler = (): Compiler | undefined => {\n const manager = usePluginManager();\n useAsyncEffect(async () => {\n await manager.activate(ScriptEvents.SetupCompiler);\n }, [manager]);\n const [compiler] = useCapabilities(ScriptCapabilities.Compiler);\n return compiler;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const BlueprintDefinition = lazy(() => import('./blueprint-definition'));\nexport const Compiler = lazy(() => import('./compiler'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\nexport const ScriptSettings = lazy(() => import('./settings'));\n\nexport * from './capabilities';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport namespace ScriptEvents {\n export const SetupCompiler = defineEvent(`${meta.id}/event/setup-compiler`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { format } from 'prettier';\nimport prettierPluginEstree from 'prettier/plugins/estree';\nimport prettierPluginTypescript from 'prettier/plugins/typescript';\n\nimport { type Script } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { createMenuAction } from '@dxos/react-ui-menu';\n\nimport { meta } from '../meta';\n\nexport type FormatActionProperties = { type: 'format' };\n\nexport const createFormat = (script: Script.Script) => {\n const formatAction = createMenuAction(\n 'format',\n async () => {\n if (!script.source) {\n return;\n }\n\n try {\n script.source.target!.content = await format(script.source.target!.content, {\n parser: 'typescript',\n plugins: [prettierPluginEstree, prettierPluginTypescript],\n semi: true,\n singleQuote: true,\n });\n } catch (err: any) {\n // TODO(wittjosiah): Show error in UI.\n log.catch(err);\n }\n },\n {\n label: ['format label', { ns: meta.id }],\n icon: 'ph--magic-wand--regular',\n },\n );\n\n return {\n nodes: [formatAction],\n edges: [\n {\n source: 'root',\n target: 'format',\n },\n ],\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Obj } from '@dxos/echo';\nimport { FUNCTIONS_PRESET_META_KEY, type Script } from '@dxos/functions';\nimport { createMenuAction } from '@dxos/react-ui-menu';\n\nimport { templates } from '../templates';\n\nexport type TemplateActionProperties = { type: 'template'; value: string };\n\nconst createTemplateSelectActions = (script: Script.Script) => {\n return templates.map((template) => {\n return createMenuAction<TemplateActionProperties>(\n `template--${template.id}`,\n () => {\n script.name = template.name;\n script.source!.target!.content = template.source;\n const metaKeys = Obj.getMeta(script).keys;\n const oldPresetIndex = metaKeys.findIndex((key) => key.source === FUNCTIONS_PRESET_META_KEY);\n if (oldPresetIndex >= 0) {\n metaKeys.splice(oldPresetIndex, 1);\n }\n if ('presetId' in template) {\n metaKeys.push({ source: FUNCTIONS_PRESET_META_KEY, id: template.presetId });\n }\n },\n {\n label: template.name,\n value: template.id,\n type: 'template',\n },\n );\n });\n};\n\nexport const createTemplateSelect = (script: Script.Script) => {\n const templateSelectActions = createTemplateSelectActions(script);\n return {\n nodes: [...templateSelectActions],\n edges: [\n { source: 'root', target: 'template-select' },\n ...templateSelectActions.map((action) => ({ source: 'template-select', target: action.id })),\n ],\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Function from 'effect/Function';\nimport { useCallback, useState } from 'react';\n\nimport { chain, createIntent } from '@dxos/app-framework';\nimport { useIntentDispatcher } from '@dxos/app-framework/react';\nimport { Obj } from '@dxos/echo';\nimport { Script } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { useClient } from '@dxos/react-client';\nimport { type Space } from '@dxos/react-client/echo';\n\nimport { type Template } from '../templates';\nimport { ScriptAction } from '../types';\nimport { deployScript } from '../util';\n\ntype DeploymentStatus = 'idle' | 'pending' | 'success' | 'error';\n\n/**\n * Hook for creating and deploying multiple script templates concurrently.\n *\n * Takes a space and an array of script template IDs, then provides a callback\n * function that creates each script from its template and deploys it to the space.\n * All creation / deployment operations run concurrently for improved performance.\n */\nexport const useCreateAndDeployScriptTemplates = (space: Space | undefined, scriptTemplates: Template[]) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const client = useClient();\n const [status, setStatus] = useState<DeploymentStatus>('idle');\n const [error, setError] = useState<Error | undefined>(undefined);\n\n const handleCreateAndDeployScripts = useCallback(async () => {\n invariant(space);\n setStatus('pending');\n setError(undefined);\n\n const deploymentResults = await Promise.all(\n scriptTemplates.map(async (template) => {\n const result = await dispatch(\n Function.pipe(\n createIntent(ScriptAction.CreateScript, {\n space,\n initialTemplateId: template.id as any,\n }),\n chain(SpaceAction.AddObject, { target: space }),\n ),\n );\n invariant(Obj.instanceOf(Script.Script, result.data?.object));\n\n return deployScript({ space, client, script: result.data.object });\n }),\n );\n\n const hasErrors = deploymentResults.some((result) => !result.success);\n setStatus(hasErrors ? 'error' : 'success');\n }, [space, dispatch, client, scriptTemplates]);\n\n // TODO(burdon): Return onCreateAndDeployScripts.\n return { handleCreateAndDeployScripts, status, error };\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Obj", "Ref", "Function", "getUserFunctionIdInMetadata", "bundleFunction", "FunctionsServiceClient", "incrementSemverPatch", "log", "FunctionRuntimeKind", "isScriptDeployed", "script", "fn", "existingFunctionId", "getMeta", "Boolean", "changed", "deployScript", "client", "space", "validationError", "validateDeployInputs", "success", "error", "buildResult", "source", "target", "content", "Error", "functionsServiceClient", "fromClient", "newFunction", "deploy", "ownerPublicKey", "key", "version", "functionId", "entryPoint", "assets", "runtime", "enums", "WORKER_LOADER", "storedFunction", "createOrUpdateFunctionInSpace", "err", "catch", "setFrom", "make", "db", "add", "Obj", "getUserFunctionIdInMetadata", "getInvocationUrl", "log", "getSpace", "getFunctionUrl", "script", "fn", "edgeUrl", "space", "existingFunctionId", "getMeta", "undefined", "spaceId", "id", "updateFunctionMetadata", "storedFunction", "meta", "functionId", "description", "trim", "verbose", "inputSchema", "outputSchema", "key", "getAccessCredential", "identityKey", "issuer", "issuanceDate", "Date", "subject", "assertion", "serverName", "serverKey", "capabilities", "useEffect", "useMemo", "Obj", "Query", "Ref", "Function", "getUserFunctionIdInMetadata", "log", "useClient", "getSpace", "useQuery", "createMenuAction", "errorMessageColors", "createDeploy", "state", "script", "space", "fn", "client", "existingFunctionId", "t", "errorItem", "createMenuAction", "label", "error", "ns", "meta", "id", "icon", "hidden", "classNames", "errorMessageColors", "deployAction", "source", "undefined", "deploying", "result", "deployScript", "success", "log", "catch", "type", "disabled", "copyAction", "functionUrl", "navigator", "clipboard", "writeText", "nodes", "edges", "target", "useDeployState", "useDeployDeps", "useEffect", "getFunctionUrl", "edgeUrl", "config", "values", "runtime", "services", "edge", "url", "deployed", "isScriptDeployed", "changed", "useClient", "getSpace", "useQuery", "Query", "Function", "Ref", "make", "useMemo", "getUserFunctionIdInMetadata", "Obj", "getMeta", "useMemo", "live", "useToolbarState", "initialState", "useMemo", "live", "useCapabilities", "usePluginManager", "useAsyncEffect", "lazy", "AppGraphBuilder", "lazy", "BlueprintDefinition", "Compiler", "IntentResolver", "ReactSurface", "ScriptSettings", "defineEvent", "ScriptEvents", "SetupCompiler", "defineEvent", "meta", "id", "useCompiler", "manager", "usePluginManager", "useAsyncEffect", "activate", "ScriptEvents", "SetupCompiler", "compiler", "useCapabilities", "ScriptCapabilities", "Compiler", "format", "prettierPluginEstree", "prettierPluginTypescript", "log", "createMenuAction", "createFormat", "script", "formatAction", "createMenuAction", "source", "target", "content", "format", "parser", "plugins", "prettierPluginEstree", "prettierPluginTypescript", "semi", "singleQuote", "err", "log", "catch", "label", "ns", "meta", "id", "icon", "nodes", "edges", "Obj", "FUNCTIONS_PRESET_META_KEY", "createMenuAction", "createTemplateSelectActions", "script", "templates", "map", "template", "createMenuAction", "id", "name", "source", "target", "content", "metaKeys", "Obj", "getMeta", "keys", "oldPresetIndex", "findIndex", "key", "FUNCTIONS_PRESET_META_KEY", "splice", "push", "presetId", "label", "value", "type", "createTemplateSelect", "templateSelectActions", "nodes", "edges", "action", "Function", "useCallback", "useState", "chain", "createIntent", "useIntentDispatcher", "Obj", "Script", "invariant", "SpaceAction", "useClient", "useCreateAndDeployScriptTemplates", "space", "scriptTemplates", "dispatchPromise", "dispatch", "useIntentDispatcher", "client", "useClient", "status", "setStatus", "useState", "error", "setError", "undefined", "handleCreateAndDeployScripts", "useCallback", "invariant", "deploymentResults", "Promise", "all", "map", "template", "result", "pipe", "createIntent", "ScriptAction", "CreateScript", "initialTemplateId", "id", "chain", "SpaceAction", "AddObject", "target", "Obj", "instanceOf", "Script", "data", "object", "deployScript", "script", "hasErrors", "some", "success"]
|
|
7
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
useCreateAndDeployScriptTemplates
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-4VVV5L5A.mjs";
|
|
5
5
|
import {
|
|
6
6
|
meta
|
|
7
7
|
} from "./chunk-IBV2DR36.mjs";
|
|
@@ -153,4 +153,4 @@ export {
|
|
|
153
153
|
DEPLOYMENT_DIALOG,
|
|
154
154
|
DeploymentDialog_default
|
|
155
155
|
};
|
|
156
|
-
//# sourceMappingURL=chunk-
|
|
156
|
+
//# sourceMappingURL=chunk-535YDI5V.mjs.map
|
|
@@ -58,7 +58,7 @@ var TypescriptEditor = ({ classNames, id, role = "article", inputMode = "vscode"
|
|
|
58
58
|
env && [
|
|
59
59
|
tsFacet.of({
|
|
60
60
|
env,
|
|
61
|
-
path:
|
|
61
|
+
path: `./src/${id}.ts`
|
|
62
62
|
}),
|
|
63
63
|
tsSync(),
|
|
64
64
|
tsLinter(),
|
|
@@ -73,7 +73,8 @@ var TypescriptEditor = ({ classNames, id, role = "article", inputMode = "vscode"
|
|
|
73
73
|
themeMode,
|
|
74
74
|
inputMode,
|
|
75
75
|
selection,
|
|
76
|
-
scrollTo
|
|
76
|
+
scrollTo,
|
|
77
|
+
env
|
|
77
78
|
]);
|
|
78
79
|
return /* @__PURE__ */ React.createElement("div", {
|
|
79
80
|
ref: parentRef,
|
|
@@ -110,4 +111,4 @@ var createTooltipRenderer = (themeMode) => {
|
|
|
110
111
|
export {
|
|
111
112
|
TypescriptEditor
|
|
112
113
|
};
|
|
113
|
-
//# sourceMappingURL=chunk-
|
|
114
|
+
//# sourceMappingURL=chunk-6H4FYMCX.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/TypescriptEditor/TypescriptEditor.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { autocompletion, completionKeymap } from '@codemirror/autocomplete';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { HighlightStyle } from '@codemirror/language';\nimport { lintKeymap } from '@codemirror/lint';\nimport { Prec } from '@codemirror/state';\nimport { keymap } from '@codemirror/view';\nimport { tags } from '@lezer/highlight';\nimport { type VirtualTypeScriptEnvironment } from '@typescript/vfs';\nimport { continueKeymap } from '@valtown/codemirror-continue';\nimport { type HoverInfo, tsAutocomplete, tsFacet, tsHover, tsLinter, tsSync } from '@valtown/codemirror-ts';\nimport React from 'react';\n\nimport { Domino, type ThemeMode, type ThemedClassName, useThemeContext } from '@dxos/react-ui';\nimport {\n type BasicExtensionsOptions,\n type EditorInputMode,\n InputModeExtensions,\n type UseTextEditorProps,\n createBasicExtensions,\n createThemeExtensions,\n defaultStyles,\n useTextEditor,\n} from '@dxos/react-ui-editor';\nimport { mx } from '@dxos/react-ui-theme';\nimport { isNonNullable } from '@dxos/util';\n\nexport type TypescriptEditorProps = ThemedClassName<\n {\n id: string;\n role?: string;\n inputMode?: EditorInputMode;\n toolbar?: boolean;\n env?: VirtualTypeScriptEnvironment;\n options?: BasicExtensionsOptions;\n } & Pick<UseTextEditorProps, 'initialValue' | 'extensions' | 'scrollTo' | 'selection'>\n>;\n\nexport const TypescriptEditor = ({\n classNames,\n id,\n role = 'article',\n inputMode = 'vscode',\n env,\n options,\n initialValue,\n extensions,\n scrollTo,\n selection,\n}: TypescriptEditorProps) => {\n const { themeMode } = useThemeContext();\n const { parentRef, focusAttributes } = useTextEditor(\n () => ({\n id,\n initialValue,\n selection,\n scrollTo,\n extensions: [\n extensions,\n createBasicExtensions({\n highlightActiveLine: true,\n indentWithTab: true,\n lineNumbers: true,\n lineWrapping: false,\n scrollPastEnd: role !== 'section',\n search: true,\n ...options,\n }),\n createThemeExtensions({\n monospace: true,\n themeMode,\n syntaxHighlighting: true,\n }),\n InputModeExtensions[inputMode],\n\n javascript({ typescript: true }),\n autocompletion({ override: env ? [tsAutocomplete()] : undefined }),\n\n // Continues block comments when pressing Enter.\n Prec.high(keymap.of(continueKeymap)),\n keymap.of(completionKeymap),\n keymap.of(lintKeymap),\n\n // https://github.com/val-town/codemirror-ts\n env && [\n tsFacet.of({ env, path:
|
|
5
|
-
"mappings": ";;;;AAIA,SAASA,gBAAgBC,wBAAwB;AACjD,SAASC,kBAAkB;AAC3B,SAASC,sBAAsB;AAC/B,SAASC,kBAAkB;AAC3B,SAASC,YAAY;AACrB,SAASC,cAAc;AACvB,SAASC,YAAY;AAErB,SAASC,sBAAsB;AAC/B,SAAyBC,gBAAgBC,SAASC,SAASC,UAAUC,cAAc;AACnF,OAAOC,WAAW;AAElB,SAASC,QAA8CC,uBAAuB;AAC9E,SAGEC,qBAEAC,uBACAC,uBACAC,eACAC,qBACK;AACP,SAASC,UAAU;AACnB,SAASC,qBAAqB;AAavB,IAAMC,mBAAmB,CAAC,EAC/BC,YACAC,IACAC,OAAO,WACPC,YAAY,UACZC,KACAC,SACAC,cACAC,YACAC,UACAC,UAAS,MACa;;;AACtB,UAAM,EAAEC,UAAS,IAAKC,gBAAAA;AACtB,UAAM,EAAEC,WAAWC,gBAAe,IAAKC,cACrC,OAAO;MACLb;MACAK;MACAG;MACAD;MACAD,YAAY;QACVA;QACAQ,sBAAsB;UACpBC,qBAAqB;UACrBC,eAAe;UACfC,aAAa;UACbC,cAAc;UACdC,eAAelB,SAAS;UACxBmB,QAAQ;UACR,GAAGhB;QACL,CAAA;QACAiB,sBAAsB;UACpBC,WAAW;UACXb;UACAc,oBAAoB;QACtB,CAAA;QACAC,oBAAoBtB,SAAAA;QAEpBuB,WAAW;UAAEC,YAAY;QAAK,CAAA;QAC9BC,eAAe;UAAEC,UAAUzB,MAAM;YAAC0B,eAAAA;cAAoBC;QAAU,CAAA;;QAGhEC,KAAKC,KAAKC,OAAOC,GAAGC,cAAAA,CAAAA;QACpBF,OAAOC,GAAGE,gBAAAA;QACVH,OAAOC,GAAGG,UAAAA;;QAGVlC,OAAO;UACLmC,QAAQJ,GAAG;YAAE/B;YAAKoC,MAAM,
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { autocompletion, completionKeymap } from '@codemirror/autocomplete';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { HighlightStyle } from '@codemirror/language';\nimport { lintKeymap } from '@codemirror/lint';\nimport { Prec } from '@codemirror/state';\nimport { keymap } from '@codemirror/view';\nimport { tags } from '@lezer/highlight';\nimport { type VirtualTypeScriptEnvironment } from '@typescript/vfs';\nimport { continueKeymap } from '@valtown/codemirror-continue';\nimport { type HoverInfo, tsAutocomplete, tsFacet, tsHover, tsLinter, tsSync } from '@valtown/codemirror-ts';\nimport React from 'react';\n\nimport { Domino, type ThemeMode, type ThemedClassName, useThemeContext } from '@dxos/react-ui';\nimport {\n type BasicExtensionsOptions,\n type EditorInputMode,\n InputModeExtensions,\n type UseTextEditorProps,\n createBasicExtensions,\n createThemeExtensions,\n defaultStyles,\n useTextEditor,\n} from '@dxos/react-ui-editor';\nimport { mx } from '@dxos/react-ui-theme';\nimport { isNonNullable } from '@dxos/util';\n\nexport type TypescriptEditorProps = ThemedClassName<\n {\n id: string;\n role?: string;\n inputMode?: EditorInputMode;\n toolbar?: boolean;\n env?: VirtualTypeScriptEnvironment;\n options?: BasicExtensionsOptions;\n } & Pick<UseTextEditorProps, 'initialValue' | 'extensions' | 'scrollTo' | 'selection'>\n>;\n\nexport const TypescriptEditor = ({\n classNames,\n id,\n role = 'article',\n inputMode = 'vscode',\n env,\n options,\n initialValue,\n extensions,\n scrollTo,\n selection,\n}: TypescriptEditorProps) => {\n const { themeMode } = useThemeContext();\n const { parentRef, focusAttributes } = useTextEditor(\n () => ({\n id,\n initialValue,\n selection,\n scrollTo,\n extensions: [\n extensions,\n createBasicExtensions({\n highlightActiveLine: true,\n indentWithTab: true,\n lineNumbers: true,\n lineWrapping: false,\n scrollPastEnd: role !== 'section',\n search: true,\n ...options,\n }),\n createThemeExtensions({\n monospace: true,\n themeMode,\n syntaxHighlighting: true,\n }),\n InputModeExtensions[inputMode],\n\n javascript({ typescript: true }),\n autocompletion({ override: env ? [tsAutocomplete()] : undefined }),\n\n // Continues block comments when pressing Enter.\n Prec.high(keymap.of(continueKeymap)),\n keymap.of(completionKeymap),\n keymap.of(lintKeymap),\n\n // https://github.com/val-town/codemirror-ts\n env && [\n tsFacet.of({ env, path: `./src/${id}.ts` }),\n tsSync(),\n tsLinter(),\n tsHover({ renderTooltip: createTooltipRenderer(themeMode) }),\n ],\n ].filter(isNonNullable),\n }),\n [id, extensions, themeMode, inputMode, selection, scrollTo, env],\n );\n\n // TODO(brudon): Use react-ui-editor's Editor component.\n return <div ref={parentRef} className={mx(classNames)} {...focusAttributes} />;\n};\n\n// TODO(burdon): Factor out (react-ui-editor).\nconst createTooltipRenderer = (themeMode: ThemeMode) => {\n const theme = HighlightStyle.define(themeMode === 'dark' ? defaultStyles.dark : defaultStyles.light);\n\n const classFromKind = (_kind: string) => {\n // E.g., localName, methodName, parameterName, etc.\n const kind = _kind.endsWith('Name') ? 'name' : _kind;\n const validTag = kind in tags;\n if (!validTag) {\n return '';\n }\n\n const tag = tags[kind as keyof typeof tags];\n if (typeof tag === 'function') {\n return '';\n }\n\n return theme.style([tag]) ?? '';\n };\n\n return (info: HoverInfo) => {\n return {\n dom: Domino.of('div')\n .classNames('xs:max-is-80 max-is-lg p-1 bg-baseSurface rounded border border-separator')\n .children(\n ...(info.quickInfo?.displayParts?.map(({ kind, text }) =>\n Domino.of('span').classNames(classFromKind(kind)).text(text),\n ) ?? []),\n )\n .build(),\n };\n };\n};\n\nexport default TypescriptEditor;\n"],
|
|
5
|
+
"mappings": ";;;;AAIA,SAASA,gBAAgBC,wBAAwB;AACjD,SAASC,kBAAkB;AAC3B,SAASC,sBAAsB;AAC/B,SAASC,kBAAkB;AAC3B,SAASC,YAAY;AACrB,SAASC,cAAc;AACvB,SAASC,YAAY;AAErB,SAASC,sBAAsB;AAC/B,SAAyBC,gBAAgBC,SAASC,SAASC,UAAUC,cAAc;AACnF,OAAOC,WAAW;AAElB,SAASC,QAA8CC,uBAAuB;AAC9E,SAGEC,qBAEAC,uBACAC,uBACAC,eACAC,qBACK;AACP,SAASC,UAAU;AACnB,SAASC,qBAAqB;AAavB,IAAMC,mBAAmB,CAAC,EAC/BC,YACAC,IACAC,OAAO,WACPC,YAAY,UACZC,KACAC,SACAC,cACAC,YACAC,UACAC,UAAS,MACa;;;AACtB,UAAM,EAAEC,UAAS,IAAKC,gBAAAA;AACtB,UAAM,EAAEC,WAAWC,gBAAe,IAAKC,cACrC,OAAO;MACLb;MACAK;MACAG;MACAD;MACAD,YAAY;QACVA;QACAQ,sBAAsB;UACpBC,qBAAqB;UACrBC,eAAe;UACfC,aAAa;UACbC,cAAc;UACdC,eAAelB,SAAS;UACxBmB,QAAQ;UACR,GAAGhB;QACL,CAAA;QACAiB,sBAAsB;UACpBC,WAAW;UACXb;UACAc,oBAAoB;QACtB,CAAA;QACAC,oBAAoBtB,SAAAA;QAEpBuB,WAAW;UAAEC,YAAY;QAAK,CAAA;QAC9BC,eAAe;UAAEC,UAAUzB,MAAM;YAAC0B,eAAAA;cAAoBC;QAAU,CAAA;;QAGhEC,KAAKC,KAAKC,OAAOC,GAAGC,cAAAA,CAAAA;QACpBF,OAAOC,GAAGE,gBAAAA;QACVH,OAAOC,GAAGG,UAAAA;;QAGVlC,OAAO;UACLmC,QAAQJ,GAAG;YAAE/B;YAAKoC,MAAM,SAASvC,EAAAA;UAAQ,CAAA;UACzCwC,OAAAA;UACAC,SAAAA;UACAC,QAAQ;YAAEC,eAAeC,sBAAsBnC,SAAAA;UAAW,CAAA;;QAE5DoC,OAAOC,aAAAA;IACX,IACA;MAAC9C;MAAIM;MAAYG;MAAWP;MAAWM;MAAWD;MAAUJ;KAAI;AAIlE,WAAO,sBAAA,cAAC4C,OAAAA;MAAIC,KAAKrC;MAAWsC,WAAWC,GAAGnD,UAAAA;MAAc,GAAGa;;;;;AAC7D;AAGA,IAAMgC,wBAAwB,CAACnC,cAAAA;AAC7B,QAAM0C,QAAQC,eAAeC,OAAO5C,cAAc,SAAS6C,cAAcC,OAAOD,cAAcE,KAAK;AAEnG,QAAMC,gBAAgB,CAACC,UAAAA;AAErB,UAAMC,OAAOD,MAAME,SAAS,MAAA,IAAU,SAASF;AAC/C,UAAMG,WAAWF,QAAQG;AACzB,QAAI,CAACD,UAAU;AACb,aAAO;IACT;AAEA,UAAME,MAAMD,KAAKH,IAAAA;AACjB,QAAI,OAAOI,QAAQ,YAAY;AAC7B,aAAO;IACT;AAEA,WAAOZ,MAAMa,MAAM;MAACD;KAAI,KAAK;EAC/B;AAEA,SAAO,CAACE,SAAAA;AACN,WAAO;MACLC,KAAKC,OAAOjC,GAAG,KAAA,EACZnC,WAAW,2EAAA,EACXqE,SAAQ,GACHH,KAAKI,WAAWC,cAAcC,IAAI,CAAC,EAAEZ,MAAMa,KAAI,MACjDL,OAAOjC,GAAG,MAAA,EAAQnC,WAAW0D,cAAcE,IAAAA,CAAAA,EAAOa,KAAKA,IAAAA,CAAAA,KACpD,CAAA,CAAE,EAERC,MAAK;IACV;EACF;AACF;",
|
|
6
6
|
"names": ["autocompletion", "completionKeymap", "javascript", "HighlightStyle", "lintKeymap", "Prec", "keymap", "tags", "continueKeymap", "tsAutocomplete", "tsFacet", "tsHover", "tsLinter", "tsSync", "React", "Domino", "useThemeContext", "InputModeExtensions", "createBasicExtensions", "createThemeExtensions", "defaultStyles", "useTextEditor", "mx", "isNonNullable", "TypescriptEditor", "classNames", "id", "role", "inputMode", "env", "options", "initialValue", "extensions", "scrollTo", "selection", "themeMode", "useThemeContext", "parentRef", "focusAttributes", "useTextEditor", "createBasicExtensions", "highlightActiveLine", "indentWithTab", "lineNumbers", "lineWrapping", "scrollPastEnd", "search", "createThemeExtensions", "monospace", "syntaxHighlighting", "InputModeExtensions", "javascript", "typescript", "autocompletion", "override", "tsAutocomplete", "undefined", "Prec", "high", "keymap", "of", "continueKeymap", "completionKeymap", "lintKeymap", "tsFacet", "path", "tsSync", "tsLinter", "tsHover", "renderTooltip", "createTooltipRenderer", "filter", "isNonNullable", "div", "ref", "className", "mx", "theme", "HighlightStyle", "define", "defaultStyles", "dark", "light", "classFromKind", "_kind", "kind", "endsWith", "validTag", "tags", "tag", "style", "info", "dom", "Domino", "children", "quickInfo", "displayParts", "map", "text", "build"]
|
|
7
7
|
}
|