@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.
Files changed (168) hide show
  1. package/dist/lib/browser/DeploymentDialog-FIHD4UVK.mjs +15 -0
  2. package/dist/lib/browser/{NotebookContainer-RTESC4OV.mjs → NotebookContainer-GL2Z5I5Q.mjs} +26 -26
  3. package/dist/lib/browser/NotebookContainer-GL2Z5I5Q.mjs.map +7 -0
  4. package/dist/lib/browser/{ScriptContainer-T2BAZDJ4.mjs → ScriptContainer-F4OK3OG6.mjs} +9 -7
  5. package/dist/lib/browser/ScriptContainer-F4OK3OG6.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-4M7U2WVT.mjs → chunk-2SXDKBM7.mjs} +7 -7
  7. package/dist/lib/browser/chunk-2SXDKBM7.mjs.map +7 -0
  8. package/dist/lib/browser/{chunk-M6KJPUJK.mjs → chunk-6X7QVTRB.mjs} +4 -3
  9. package/dist/lib/browser/{chunk-M6KJPUJK.mjs.map → chunk-6X7QVTRB.mjs.map} +2 -2
  10. package/dist/lib/browser/{chunk-3IJASGG5.mjs → chunk-75RTLLH4.mjs} +2 -2
  11. package/dist/lib/browser/{chunk-GAFCKEII.mjs → chunk-7WFISUBY.mjs} +11 -10
  12. package/dist/lib/browser/chunk-7WFISUBY.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-LNNCD2H4.mjs → chunk-MQHBMJLH.mjs} +7 -6
  14. package/dist/lib/browser/chunk-MQHBMJLH.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-2G2NA6DQ.mjs → chunk-S22N3BUR.mjs} +5 -5
  16. package/dist/lib/browser/chunk-S22N3BUR.mjs.map +7 -0
  17. package/dist/lib/browser/{chunk-5JSNQYZZ.mjs → chunk-UGDRMROB.mjs} +147 -122
  18. package/dist/lib/browser/chunk-UGDRMROB.mjs.map +7 -0
  19. package/dist/lib/browser/compiler-2HV5KXV4.mjs +143 -0
  20. package/dist/lib/browser/compiler-2HV5KXV4.mjs.map +7 -0
  21. package/dist/lib/browser/index.mjs +40 -58
  22. package/dist/lib/browser/index.mjs.map +4 -4
  23. package/dist/lib/browser/{intent-resolver-AFJ575VK.mjs → intent-resolver-3B4ESSCU.mjs} +9 -8
  24. package/dist/lib/browser/meta.json +1 -1
  25. package/dist/lib/browser/{react-surface-QEQ3QUQA.mjs → react-surface-ASV2KBRA.mjs} +15 -15
  26. package/dist/lib/browser/react-surface-ASV2KBRA.mjs.map +7 -0
  27. package/dist/lib/browser/{settings-LNLSTZM4.mjs → settings-4NKLTJTT.mjs} +3 -3
  28. package/dist/lib/browser/templates/index.mjs +1 -1
  29. package/dist/lib/browser/types/index.mjs +2 -2
  30. package/dist/lib/node-esm/{DeploymentDialog-GL5AUWMR.mjs → DeploymentDialog-5EN2KZE5.mjs} +6 -5
  31. package/dist/lib/node-esm/{NotebookContainer-SVD3A3D6.mjs → NotebookContainer-7RCEXND7.mjs} +26 -26
  32. package/dist/lib/node-esm/NotebookContainer-7RCEXND7.mjs.map +7 -0
  33. package/dist/lib/node-esm/{ScriptContainer-2CE3H3JJ.mjs → ScriptContainer-763IAKOD.mjs} +9 -7
  34. package/dist/lib/node-esm/ScriptContainer-763IAKOD.mjs.map +7 -0
  35. package/dist/lib/node-esm/{chunk-57JA6XL5.mjs → chunk-2S43VHAM.mjs} +5 -5
  36. package/dist/lib/node-esm/chunk-2S43VHAM.mjs.map +7 -0
  37. package/dist/lib/node-esm/{chunk-NNHWLRHT.mjs → chunk-32AMTGGN.mjs} +7 -6
  38. package/dist/lib/node-esm/chunk-32AMTGGN.mjs.map +7 -0
  39. package/dist/lib/node-esm/{chunk-IQTBVH4L.mjs → chunk-4VVV5L5A.mjs} +147 -122
  40. package/dist/lib/node-esm/chunk-4VVV5L5A.mjs.map +7 -0
  41. package/dist/lib/node-esm/{chunk-RIE676OW.mjs → chunk-535YDI5V.mjs} +2 -2
  42. package/dist/lib/node-esm/{chunk-HDKR5WCD.mjs → chunk-6H4FYMCX.mjs} +4 -3
  43. package/dist/lib/node-esm/{chunk-HDKR5WCD.mjs.map → chunk-6H4FYMCX.mjs.map} +2 -2
  44. package/dist/lib/node-esm/{chunk-KJKZ4KNO.mjs → chunk-DKS2EQW6.mjs} +11 -10
  45. package/dist/lib/node-esm/chunk-DKS2EQW6.mjs.map +7 -0
  46. package/dist/lib/node-esm/{chunk-YRTA4EHU.mjs → chunk-NQN3JE2R.mjs} +7 -7
  47. package/dist/lib/node-esm/chunk-NQN3JE2R.mjs.map +7 -0
  48. package/dist/lib/node-esm/compiler-KPEZKEHC.mjs +144 -0
  49. package/dist/lib/node-esm/compiler-KPEZKEHC.mjs.map +7 -0
  50. package/dist/lib/node-esm/index.mjs +40 -58
  51. package/dist/lib/node-esm/index.mjs.map +4 -4
  52. package/dist/lib/node-esm/{intent-resolver-A5VVK746.mjs → intent-resolver-GIACMXI4.mjs} +9 -8
  53. package/dist/lib/{browser/intent-resolver-AFJ575VK.mjs.map → node-esm/intent-resolver-GIACMXI4.mjs.map} +1 -1
  54. package/dist/lib/node-esm/meta.json +1 -1
  55. package/dist/lib/node-esm/{react-surface-U77YT7VF.mjs → react-surface-NXBO7VYB.mjs} +15 -15
  56. package/dist/lib/node-esm/react-surface-NXBO7VYB.mjs.map +7 -0
  57. package/dist/lib/node-esm/{settings-IUFMOCXY.mjs → settings-PW5NXWLW.mjs} +3 -3
  58. package/dist/lib/node-esm/templates/index.mjs +1 -1
  59. package/dist/lib/node-esm/types/index.mjs +2 -2
  60. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  61. package/dist/types/src/capabilities/compiler.d.ts.map +1 -1
  62. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  63. package/dist/types/src/compiler/compiler.d.ts +1 -1
  64. package/dist/types/src/compiler/compiler.d.ts.map +1 -1
  65. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts +3 -0
  66. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -1
  67. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +1 -1
  68. package/dist/types/src/components/NotebookContainer.d.ts.map +1 -1
  69. package/dist/types/src/components/NotebookContainer.stories.d.ts +3 -0
  70. package/dist/types/src/components/NotebookContainer.stories.d.ts.map +1 -1
  71. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts.map +1 -1
  72. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +3 -0
  73. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -1
  74. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts +5 -0
  75. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts.map +1 -0
  76. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts +13 -0
  77. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts.map +1 -0
  78. package/dist/types/src/components/QueryEditor/index.d.ts +2 -0
  79. package/dist/types/src/components/QueryEditor/index.d.ts.map +1 -0
  80. package/dist/types/src/components/ScriptContainer.d.ts.map +1 -1
  81. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +3 -0
  82. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
  83. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +1 -1
  84. package/dist/types/src/e2e/deploy.test.d.ts +2 -0
  85. package/dist/types/src/e2e/deploy.test.d.ts.map +1 -0
  86. package/dist/types/src/hooks/deploy.d.ts +3 -21
  87. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  88. package/dist/types/src/hooks/index.d.ts +1 -0
  89. package/dist/types/src/hooks/index.d.ts.map +1 -1
  90. package/dist/types/src/hooks/useCompiler.d.ts +7 -0
  91. package/dist/types/src/hooks/useCompiler.d.ts.map +1 -0
  92. package/dist/types/src/templates/chess.d.ts +6 -1
  93. package/dist/types/src/templates/chess.d.ts.map +1 -1
  94. package/dist/types/src/templates/forex-effect.d.ts +4 -1
  95. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  96. package/dist/types/src/templates/forex.d.ts +4 -1
  97. package/dist/types/src/templates/forex.d.ts.map +1 -1
  98. package/dist/types/src/testing/deploy.test.d.ts +2 -0
  99. package/dist/types/src/testing/deploy.test.d.ts.map +1 -0
  100. package/dist/types/src/testing/simulator.test.d.ts +2 -0
  101. package/dist/types/src/testing/simulator.test.d.ts.map +1 -0
  102. package/dist/types/src/translations.d.ts +2 -0
  103. package/dist/types/src/translations.d.ts.map +1 -1
  104. package/dist/types/src/types/Notebook.d.ts +7 -7
  105. package/dist/types/src/types/Notebook.d.ts.map +1 -1
  106. package/dist/types/src/types/actions.d.ts +3 -3
  107. package/dist/types/src/util/deploy.d.ts.map +1 -1
  108. package/dist/types/src/util/functions.d.ts.map +1 -1
  109. package/dist/types/tsconfig.tsbuildinfo +1 -1
  110. package/package.json +63 -59
  111. package/src/ScriptPlugin.tsx +13 -28
  112. package/src/capabilities/artifact-definition.ts +11 -11
  113. package/src/capabilities/compiler.ts +66 -16
  114. package/src/capabilities/react-surface.tsx +5 -6
  115. package/src/compiler/compiler.ts +10 -3
  116. package/src/components/FrameContainer/FrameContainer.tsx +3 -1
  117. package/src/components/NotebookContainer.tsx +14 -17
  118. package/src/components/NotebookStack/NotebookCell.tsx +6 -4
  119. package/src/components/QueryEditor/QueryEditor.stories.tsx +89 -0
  120. package/src/components/QueryEditor/QueryEditor.tsx +47 -0
  121. package/src/components/QueryEditor/index.ts +5 -0
  122. package/src/components/ScriptContainer.tsx +3 -2
  123. package/src/components/Settings/ScriptObjectSettings.tsx +5 -4
  124. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +1 -1
  125. package/src/components/TypescriptEditor/TypescriptEditor.tsx +2 -2
  126. package/src/e2e/deploy.test.ts +64 -0
  127. package/src/hooks/deploy.ts +3 -2
  128. package/src/hooks/index.ts +1 -0
  129. package/src/hooks/useCompiler.ts +23 -0
  130. package/src/templates/chess.ts +9 -8
  131. package/src/templates/data-generator.ts +1 -1
  132. package/src/templates/forex-effect.ts +22 -27
  133. package/src/templates/forex.ts +7 -6
  134. package/src/testing/deploy.test.ts +63 -0
  135. package/src/testing/simulator.test.ts +40 -0
  136. package/src/translations.ts +2 -0
  137. package/src/types/Notebook.ts +5 -4
  138. package/src/util/deploy.ts +18 -28
  139. package/src/util/functions.ts +3 -2
  140. package/src/vite-env.d.ts +2 -0
  141. package/dist/lib/browser/DeploymentDialog-MZX4T77L.mjs +0 -14
  142. package/dist/lib/browser/NotebookContainer-RTESC4OV.mjs.map +0 -7
  143. package/dist/lib/browser/ScriptContainer-T2BAZDJ4.mjs.map +0 -7
  144. package/dist/lib/browser/chunk-2G2NA6DQ.mjs.map +0 -7
  145. package/dist/lib/browser/chunk-4M7U2WVT.mjs.map +0 -7
  146. package/dist/lib/browser/chunk-5JSNQYZZ.mjs.map +0 -7
  147. package/dist/lib/browser/chunk-GAFCKEII.mjs.map +0 -7
  148. package/dist/lib/browser/chunk-LNNCD2H4.mjs.map +0 -7
  149. package/dist/lib/browser/compiler-4KHRSX7J.mjs +0 -86
  150. package/dist/lib/browser/compiler-4KHRSX7J.mjs.map +0 -7
  151. package/dist/lib/browser/react-surface-QEQ3QUQA.mjs.map +0 -7
  152. package/dist/lib/node-esm/NotebookContainer-SVD3A3D6.mjs.map +0 -7
  153. package/dist/lib/node-esm/ScriptContainer-2CE3H3JJ.mjs.map +0 -7
  154. package/dist/lib/node-esm/chunk-57JA6XL5.mjs.map +0 -7
  155. package/dist/lib/node-esm/chunk-IQTBVH4L.mjs.map +0 -7
  156. package/dist/lib/node-esm/chunk-KJKZ4KNO.mjs.map +0 -7
  157. package/dist/lib/node-esm/chunk-NNHWLRHT.mjs.map +0 -7
  158. package/dist/lib/node-esm/chunk-YRTA4EHU.mjs.map +0 -7
  159. package/dist/lib/node-esm/compiler-DU5NQISX.mjs +0 -87
  160. package/dist/lib/node-esm/compiler-DU5NQISX.mjs.map +0 -7
  161. package/dist/lib/node-esm/react-surface-U77YT7VF.mjs.map +0 -7
  162. /package/dist/lib/browser/{DeploymentDialog-MZX4T77L.mjs.map → DeploymentDialog-FIHD4UVK.mjs.map} +0 -0
  163. /package/dist/lib/browser/{chunk-3IJASGG5.mjs.map → chunk-75RTLLH4.mjs.map} +0 -0
  164. /package/dist/lib/{node-esm/intent-resolver-A5VVK746.mjs.map → browser/intent-resolver-3B4ESSCU.mjs.map} +0 -0
  165. /package/dist/lib/browser/{settings-LNLSTZM4.mjs.map → settings-4NKLTJTT.mjs.map} +0 -0
  166. /package/dist/lib/node-esm/{DeploymentDialog-GL5AUWMR.mjs.map → DeploymentDialog-5EN2KZE5.mjs.map} +0 -0
  167. /package/dist/lib/node-esm/{chunk-RIE676OW.mjs.map → chunk-535YDI5V.mjs.map} +0 -0
  168. /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-NNHWLRHT.mjs";
4
+ } from "./chunk-32AMTGGN.mjs";
5
5
  import {
6
6
  templates
7
- } from "./chunk-57JA6XL5.mjs";
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 { getUserFunctionIdInMetadata } from "@dxos/functions";
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 { getMeta, getSpace } from "@dxos/react-client/echo";
17
- var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/util/functions.ts";
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 && getUserFunctionIdInMetadata(getMeta(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
- log.verbose("no description in function metadata", {
110
+ log2.verbose("no description in function metadata", {
35
111
  functionId
36
112
  }, {
37
- F: __dxlog_file,
38
- L: 46,
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
- log.verbose("no input schema in function metadata", {
122
+ log2.verbose("no input schema in function metadata", {
47
123
  functionId
48
124
  }, {
49
- F: __dxlog_file,
50
- L: 52,
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
- log.verbose("no output schema in function metadata", {
134
+ log2.verbose("no output schema in function metadata", {
59
135
  functionId
60
136
  }, {
61
- F: __dxlog_file,
62
- L: 58,
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
- log.verbose("no key in function metadata", {
146
+ log2.verbose("no key in function metadata", {
71
147
  functionId
72
148
  }, {
73
- F: __dxlog_file,
74
- L: 64,
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 { Query, Ref as Ref2, getMeta as getMeta2, getSpace as getSpace2, useQuery } from "@dxos/react-client/echo";
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: 59,
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(getMeta2(fn)), [
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 Obj2 } from "@dxos/echo";
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 = Obj2.getMeta(script).keys;
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 Obj3 } from "@dxos/echo";
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(Obj3.instanceOf(Script.Script, result.data?.object), void 0, {
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-IQTBVH4L.mjs.map
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-IQTBVH4L.mjs";
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-RIE676OW.mjs.map
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: `/src/${id}.ts`
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-HDKR5WCD.mjs.map
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: `/src/${id}.ts` }),\n tsSync(),\n tsLinter(),\n tsHover({ renderTooltip: createTooltipRenderer(themeMode) }),\n ],\n ].filter(isNonNullable),\n }),\n [id, extensions, themeMode, inputMode, selection, scrollTo],\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,QAAQvC,EAAAA;UAAQ,CAAA;UACxCwC,OAAAA;UACAC,SAAAA;UACAC,QAAQ;YAAEC,eAAeC,sBAAsBnC,SAAAA;UAAW,CAAA;;QAE5DoC,OAAOC,aAAAA;IACX,IACA;MAAC9C;MAAIM;MAAYG;MAAWP;MAAWM;MAAWD;KAAS;AAI7D,WAAO,sBAAA,cAACwC,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;",
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
  }