@dxos/plugin-script 0.7.5-labs.ff2ff30 → 0.7.5-main.5ae2ba8

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 (147) hide show
  1. package/dist/lib/browser/ScriptContainer-3RFMYKTV.mjs +258 -0
  2. package/dist/lib/browser/ScriptContainer-3RFMYKTV.mjs.map +7 -0
  3. package/dist/lib/browser/{artifact-UOESRBEZ.mjs → artifact-definition-4LWPD3DH.mjs} +27 -19
  4. package/dist/lib/browser/artifact-definition-4LWPD3DH.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-45LXDWNF.mjs → chunk-5SXOHNAK.mjs} +3 -3
  6. package/dist/lib/browser/chunk-5SXOHNAK.mjs.map +7 -0
  7. package/dist/lib/browser/{ScriptContainer-33XAJPQZ.mjs → chunk-G2FYNDU4.mjs} +16 -254
  8. package/dist/lib/browser/chunk-G2FYNDU4.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-PZPYF7M4.mjs +69 -0
  10. package/dist/lib/browser/chunk-PZPYF7M4.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-BTZIBJJN.mjs → chunk-VTWBVFBK.mjs} +2 -4
  12. package/dist/lib/browser/{chunk-BTZIBJJN.mjs.map → chunk-VTWBVFBK.mjs.map} +3 -3
  13. package/dist/lib/browser/index.mjs +60 -29
  14. package/dist/lib/browser/index.mjs.map +4 -4
  15. package/dist/lib/browser/{intent-resolver-CMKQTLBG.mjs → intent-resolver-D6FPY5ZA.mjs} +2 -2
  16. package/dist/lib/browser/meta.json +1 -1
  17. package/dist/lib/browser/{react-surface-S5BSIXGB.mjs → react-surface-G4C2PZ2K.mjs} +23 -7
  18. package/dist/lib/browser/react-surface-G4C2PZ2K.mjs.map +7 -0
  19. package/dist/lib/node/ScriptContainer-G6FZU4AM.cjs +274 -0
  20. package/dist/lib/node/ScriptContainer-G6FZU4AM.cjs.map +7 -0
  21. package/dist/lib/node/{artifact-PDTB4LV4.cjs → artifact-definition-BXQCFPAH.cjs} +26 -21
  22. package/dist/lib/node/artifact-definition-BXQCFPAH.cjs.map +7 -0
  23. package/dist/lib/node/chunk-ITAJ3WRW.cjs +77 -0
  24. package/dist/lib/node/chunk-ITAJ3WRW.cjs.map +7 -0
  25. package/dist/lib/node/{chunk-IID7WUQS.cjs → chunk-K3ZZWVXS.cjs} +5 -5
  26. package/dist/lib/node/chunk-K3ZZWVXS.cjs.map +7 -0
  27. package/dist/lib/node/{chunk-2P7DKHIO.cjs → chunk-TOXBGIEI.cjs} +5 -8
  28. package/dist/lib/node/{chunk-2P7DKHIO.cjs.map → chunk-TOXBGIEI.cjs.map} +3 -3
  29. package/dist/lib/node/{ScriptContainer-YR6TIDY3.cjs → chunk-XKYJYY3T.cjs} +59 -280
  30. package/dist/lib/node/chunk-XKYJYY3T.cjs.map +7 -0
  31. package/dist/lib/node/index.cjs +58 -30
  32. package/dist/lib/node/index.cjs.map +4 -4
  33. package/dist/lib/node/{intent-resolver-V5ASU5DW.cjs → intent-resolver-NYJFPD5B.cjs} +6 -6
  34. package/dist/lib/node/meta.json +1 -1
  35. package/dist/lib/node/{react-surface-YNPH5JPY.cjs → react-surface-EGSE3FMN.cjs} +24 -12
  36. package/dist/lib/node/react-surface-EGSE3FMN.cjs.map +7 -0
  37. package/dist/lib/node-esm/ScriptContainer-7FTCFIF3.mjs +259 -0
  38. package/dist/lib/node-esm/ScriptContainer-7FTCFIF3.mjs.map +7 -0
  39. package/dist/lib/node-esm/{artifact-IX4ZCTUF.mjs → artifact-definition-KT4DK2LQ.mjs} +26 -19
  40. package/dist/lib/node-esm/artifact-definition-KT4DK2LQ.mjs.map +7 -0
  41. package/dist/lib/node-esm/{chunk-CGF7EOGD.mjs → chunk-2AFXX34U.mjs} +3 -3
  42. package/dist/lib/node-esm/chunk-2AFXX34U.mjs.map +7 -0
  43. package/dist/lib/node-esm/{ScriptContainer-ZQRQSVJA.mjs → chunk-NRICF4KE.mjs} +16 -254
  44. package/dist/lib/node-esm/chunk-NRICF4KE.mjs.map +7 -0
  45. package/dist/lib/node-esm/{chunk-YGA2AFHL.mjs → chunk-S64WSJQK.mjs} +2 -4
  46. package/dist/lib/node-esm/{chunk-YGA2AFHL.mjs.map → chunk-S64WSJQK.mjs.map} +3 -3
  47. package/dist/lib/node-esm/chunk-YIWRJ25J.mjs +71 -0
  48. package/dist/lib/node-esm/chunk-YIWRJ25J.mjs.map +7 -0
  49. package/dist/lib/node-esm/index.mjs +60 -29
  50. package/dist/lib/node-esm/index.mjs.map +4 -4
  51. package/dist/lib/node-esm/{intent-resolver-75BHFRUK.mjs → intent-resolver-KLBHSMW4.mjs} +2 -2
  52. package/dist/lib/node-esm/meta.json +1 -1
  53. package/dist/lib/node-esm/{react-surface-BNC2OM5X.mjs → react-surface-7YSGHZQM.mjs} +23 -7
  54. package/dist/lib/node-esm/react-surface-7YSGHZQM.mjs.map +7 -0
  55. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  56. package/dist/types/src/capabilities/{artifact.d.ts → artifact-definition.d.ts} +1 -1
  57. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -0
  58. package/dist/types/src/capabilities/index.d.ts +1 -1
  59. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  60. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  61. package/dist/types/src/components/DebugPanel/DebugPanel.d.ts +1 -2
  62. package/dist/types/src/components/DebugPanel/DebugPanel.d.ts.map +1 -1
  63. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts +1 -2
  64. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +1 -1
  65. package/dist/types/src/components/ScriptContainer.d.ts +1 -2
  66. package/dist/types/src/components/ScriptContainer.d.ts.map +1 -1
  67. package/dist/types/src/components/ScriptSettings/ScriptSettings.d.ts +1 -2
  68. package/dist/types/src/components/ScriptSettings/ScriptSettings.d.ts.map +1 -1
  69. package/dist/types/src/components/ScriptSettingsPanel.d.ts +1 -2
  70. package/dist/types/src/components/ScriptSettingsPanel.d.ts.map +1 -1
  71. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +1 -2
  72. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  73. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +1 -2
  74. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  75. package/dist/types/src/components/index.d.ts +2 -2
  76. package/dist/types/src/components/index.d.ts.map +1 -1
  77. package/dist/types/src/events.d.ts +4 -0
  78. package/dist/types/src/events.d.ts.map +1 -0
  79. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  80. package/dist/types/src/hooks/template.d.ts +1 -1
  81. package/dist/types/src/hooks/view.d.ts +1 -1
  82. package/dist/types/src/hooks/view.d.ts.map +1 -1
  83. package/dist/types/src/templates/chess.d.ts +1 -4
  84. package/dist/types/src/templates/chess.d.ts.map +1 -1
  85. package/dist/types/src/templates/discord.d.ts +3 -0
  86. package/dist/types/src/templates/discord.d.ts.map +1 -0
  87. package/dist/types/src/templates/forex-effect.d.ts +0 -3
  88. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  89. package/dist/types/src/templates/forex.d.ts +0 -3
  90. package/dist/types/src/templates/forex.d.ts.map +1 -1
  91. package/dist/types/src/templates/index.d.ts.map +1 -1
  92. package/dist/types/src/translations.d.ts +3 -0
  93. package/dist/types/src/translations.d.ts.map +1 -1
  94. package/dist/types/src/types.d.ts +1 -1
  95. package/package.json +43 -41
  96. package/src/ScriptPlugin.tsx +38 -18
  97. package/src/capabilities/{artifact.ts → artifact-definition.ts} +15 -10
  98. package/src/capabilities/index.ts +1 -1
  99. package/src/capabilities/react-surface.tsx +9 -3
  100. package/src/components/DebugPanel/DebugPanel.tsx +2 -2
  101. package/src/components/FrameContainer/FrameContainer.tsx +1 -1
  102. package/src/components/TypescriptEditor/TypescriptEditor.tsx +2 -2
  103. package/src/components/index.ts +1 -1
  104. package/src/events.ts +11 -0
  105. package/src/hooks/deploy.ts +1 -1
  106. package/src/hooks/view.ts +4 -1
  107. package/src/templates/chat.ts +4 -4
  108. package/src/templates/chess.ts +42 -35
  109. package/src/templates/discord.ts +103 -0
  110. package/src/templates/forex-effect.ts +16 -17
  111. package/src/templates/forex.ts +2 -3
  112. package/src/templates/index.ts +10 -2
  113. package/src/translations.ts +3 -0
  114. package/dist/lib/browser/AutomationPanel-J3SZ5L3Y.mjs +0 -78
  115. package/dist/lib/browser/AutomationPanel-J3SZ5L3Y.mjs.map +0 -7
  116. package/dist/lib/browser/ScriptContainer-33XAJPQZ.mjs.map +0 -7
  117. package/dist/lib/browser/artifact-UOESRBEZ.mjs.map +0 -7
  118. package/dist/lib/browser/chunk-45LXDWNF.mjs.map +0 -7
  119. package/dist/lib/browser/chunk-VIX22OMB.mjs +0 -60
  120. package/dist/lib/browser/chunk-VIX22OMB.mjs.map +0 -7
  121. package/dist/lib/browser/react-surface-S5BSIXGB.mjs.map +0 -7
  122. package/dist/lib/node/AutomationPanel-4M55FURO.cjs +0 -104
  123. package/dist/lib/node/AutomationPanel-4M55FURO.cjs.map +0 -7
  124. package/dist/lib/node/ScriptContainer-YR6TIDY3.cjs.map +0 -7
  125. package/dist/lib/node/artifact-PDTB4LV4.cjs.map +0 -7
  126. package/dist/lib/node/chunk-IID7WUQS.cjs.map +0 -7
  127. package/dist/lib/node/chunk-PKT5DD3O.cjs +0 -70
  128. package/dist/lib/node/chunk-PKT5DD3O.cjs.map +0 -7
  129. package/dist/lib/node/react-surface-YNPH5JPY.cjs.map +0 -7
  130. package/dist/lib/node-esm/AutomationPanel-W6SKG35R.mjs +0 -79
  131. package/dist/lib/node-esm/AutomationPanel-W6SKG35R.mjs.map +0 -7
  132. package/dist/lib/node-esm/ScriptContainer-ZQRQSVJA.mjs.map +0 -7
  133. package/dist/lib/node-esm/artifact-IX4ZCTUF.mjs.map +0 -7
  134. package/dist/lib/node-esm/chunk-CGF7EOGD.mjs.map +0 -7
  135. package/dist/lib/node-esm/chunk-NBAL5DXN.mjs +0 -62
  136. package/dist/lib/node-esm/chunk-NBAL5DXN.mjs.map +0 -7
  137. package/dist/lib/node-esm/react-surface-BNC2OM5X.mjs.map +0 -7
  138. package/dist/types/src/capabilities/artifact.d.ts.map +0 -1
  139. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts +0 -17
  140. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts.map +0 -1
  141. package/dist/types/src/components/AutomationPanel/index.d.ts +0 -4
  142. package/dist/types/src/components/AutomationPanel/index.d.ts.map +0 -1
  143. package/src/components/AutomationPanel/AutomationPanel.tsx +0 -104
  144. package/src/components/AutomationPanel/index.ts +0 -9
  145. /package/dist/lib/browser/{intent-resolver-CMKQTLBG.mjs.map → intent-resolver-D6FPY5ZA.mjs.map} +0 -0
  146. /package/dist/lib/node/{intent-resolver-V5ASU5DW.cjs.map → intent-resolver-NYJFPD5B.cjs.map} +0 -0
  147. /package/dist/lib/node-esm/{intent-resolver-75BHFRUK.mjs.map → intent-resolver-KLBHSMW4.mjs.map} +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-surface.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface, useCapability } from '@dxos/app-framework';\nimport { ScriptType } from '@dxos/functions';\nimport { SettingsStore } from '@dxos/local-storage';\nimport { Clipboard } from '@dxos/react-ui';\n\nimport { ScriptCapabilities } from './capabilities';\nimport { AutomationPanel, ScriptSettings, ScriptContainer, ScriptSettingsPanel } from '../components';\nimport { SCRIPT_PLUGIN } from '../meta';\nimport { type ScriptSettingsProps } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${SCRIPT_PLUGIN}/settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<ScriptSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === SCRIPT_PLUGIN,\n component: ({ data: { subject } }) => <ScriptSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${SCRIPT_PLUGIN}/article`,\n role: 'article',\n filter: (data): data is { subject: ScriptType } => data.subject instanceof ScriptType,\n component: ({ data, role }) => {\n const compiler = useCapability(ScriptCapabilities.Compiler);\n // TODO(dmaretskyi): Since settings store is not reactive, this would break on the script plugin being enabled without a page reload.\n const settings = useCapability(Capabilities.SettingsStore).getStore<ScriptSettingsProps>(SCRIPT_PLUGIN)?.value;\n return <ScriptContainer role={role} script={data.subject} settings={settings} env={compiler.environment} />;\n },\n }),\n createSurface({\n id: `${SCRIPT_PLUGIN}/automation`,\n role: 'complementary--automation',\n position: 'hoist',\n filter: (data): data is { subject: ScriptType } => data.subject instanceof ScriptType,\n component: ({ data }) => <AutomationPanel subject={data.subject} />,\n }),\n createSurface({\n id: `${SCRIPT_PLUGIN}/settings-panel`,\n role: 'complementary--settings',\n filter: (data): data is { subject: ScriptType } => data.subject instanceof ScriptType,\n component: ({ data }) => (\n <Clipboard.Provider>\n <ScriptSettingsPanel script={data.subject} />\n </Clipboard.Provider>\n ),\n }),\n ]);\n"],
5
- "mappings": ";;;;;;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,aAAaC,eAAeC,qBAAqB;AACxE,SAASC,kBAAkB;AAC3B,SAASC,qBAAqB;AAC9B,SAASC,iBAAiB;AAO1B,IAAA,wBAAe,MACbC,YAAYC,aAAaC,cAAc;EACrCC,cAAc;IACZC,IAAI,GAAGC,aAAAA;IACPC,MAAM;IACNC,QAAQ,CAACC,SACPA,KAAKC,mBAAmBC,iBAAiBF,KAAKC,QAAQE,WAAWN;IACnEO,WAAW,CAAC,EAAEJ,MAAM,EAAEC,QAAO,EAAE,MAAO,sBAAA,cAACI,gBAAAA;MAAeC,UAAUL,QAAQM;;EAC1E,CAAA;EACAZ,cAAc;IACZC,IAAI,GAAGC,aAAAA;IACPC,MAAM;IACNC,QAAQ,CAACC,SAA0CA,KAAKC,mBAAmBO;IAC3EJ,WAAW,CAAC,EAAEJ,MAAMF,KAAI,MAAE;AACxB,YAAMW,WAAWC,cAAcC,mBAAmBC,QAAQ;AAE1D,YAAMN,WAAWI,cAAcjB,aAAaS,aAAa,EAAEW,SAA8BhB,aAAAA,GAAgBU;AACzG,aAAO,sBAAA,cAACO,iBAAAA;QAAgBhB;QAAYiB,QAAQf,KAAKC;QAASK;QAAoBU,KAAKP,SAASQ;;IAC9F;EACF,CAAA;EACAtB,cAAc;IACZC,IAAI,GAAGC,aAAAA;IACPC,MAAM;IACNoB,UAAU;IACVnB,QAAQ,CAACC,SAA0CA,KAAKC,mBAAmBO;IAC3EJ,WAAW,CAAC,EAAEJ,KAAI,MAAO,sBAAA,cAACmB,iBAAAA;MAAgBlB,SAASD,KAAKC;;EAC1D,CAAA;EACAN,cAAc;IACZC,IAAI,GAAGC,aAAAA;IACPC,MAAM;IACNC,QAAQ,CAACC,SAA0CA,KAAKC,mBAAmBO;IAC3EJ,WAAW,CAAC,EAAEJ,KAAI,MAChB,sBAAA,cAACoB,UAAUC,UAAQ,MACjB,sBAAA,cAACC,qBAAAA;MAAoBP,QAAQf,KAAKC;;EAGxC,CAAA;CACD;",
6
- "names": ["React", "Capabilities", "contributes", "createSurface", "useCapability", "ScriptType", "SettingsStore", "Clipboard", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "SCRIPT_PLUGIN", "role", "filter", "data", "subject", "SettingsStore", "prefix", "component", "ScriptSettings", "settings", "value", "ScriptType", "compiler", "useCapability", "ScriptCapabilities", "Compiler", "getStore", "ScriptContainer", "script", "env", "environment", "position", "AutomationPanel", "Clipboard", "Provider", "ScriptSettingsPanel"]
7
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/artifact.ts"],"names":[],"mappings":"AAIA,OAAO,EAA2C,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAM5G,OAAO,EAAmB,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAKtE,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,QAAQ,CAAC,EAAE,uBAAuB,CAAC;KACpC;CACF;;AAED,wBAoME"}
@@ -1,17 +0,0 @@
1
- import React from 'react';
2
- import { FunctionType } from '@dxos/functions';
3
- import { type ReactiveEchoObject } from '@dxos/react-client/echo';
4
- export interface AutomationPanelProps {
5
- subject: ReactiveEchoObject<any>;
6
- }
7
- export declare const AutomationPanel: ({ subject }: AutomationPanelProps) => React.JSX.Element;
8
- export interface ChatPanelProps {
9
- fn: FunctionType;
10
- subject: ReactiveEchoObject<any>;
11
- }
12
- export interface BindingSelectProps {
13
- selectedFunction: FunctionType | null;
14
- setSelectedFunction: (fn: FunctionType) => void;
15
- functions: FunctionType[];
16
- }
17
- //# sourceMappingURL=AutomationPanel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AutomationPanel.d.ts","sourceRoot":"","sources":["../../../../../src/components/AutomationPanel/AutomationPanel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAGjD,OAAO,EAAE,YAAY,EAA8D,MAAM,iBAAiB,CAAC;AAE3G,OAAO,EAA6B,KAAK,kBAAkB,EAAY,MAAM,yBAAyB,CAAC;AAMvG,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;CAClC;AAED,eAAO,MAAM,eAAe,gBAAiB,oBAAoB,sBA8BhE,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,YAAY,CAAC;IACjB,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;CAClC;AAoBD,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,YAAY,GAAG,IAAI,CAAC;IACtC,mBAAmB,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,IAAI,CAAC;IAChD,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B"}
@@ -1,4 +0,0 @@
1
- import { AutomationPanel } from './AutomationPanel';
2
- export * from './AutomationPanel';
3
- export default AutomationPanel;
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/AutomationPanel/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,cAAc,mBAAmB,CAAC;AAElC,eAAe,eAAe,CAAC"}
@@ -1,104 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- import React, { useMemo, useState } from 'react';
6
-
7
- import { failUndefined } from '@dxos/debug';
8
- import { FunctionType, ScriptType, getInvocationUrl, getUserFunctionUrlInMetadata } from '@dxos/functions';
9
- import { useClient } from '@dxos/react-client';
10
- import { Filter, getMeta, getSpace, type ReactiveEchoObject, useQuery } from '@dxos/react-client/echo';
11
- import { Select, useTranslation } from '@dxos/react-ui';
12
-
13
- import { SCRIPT_PLUGIN } from '../../meta';
14
- import { DebugPanel } from '../DebugPanel';
15
-
16
- export interface AutomationPanelProps {
17
- subject: ReactiveEchoObject<any>;
18
- }
19
-
20
- export const AutomationPanel = ({ subject }: AutomationPanelProps) => {
21
- const { t } = useTranslation(SCRIPT_PLUGIN);
22
- const space = getSpace(subject);
23
-
24
- // TODO(dmaretskyi): Parametric query.
25
- const functions = useQuery(
26
- space ?? undefined,
27
- subject instanceof ScriptType
28
- ? Filter.schema(FunctionType, { source: subject })
29
- : Filter.schema(FunctionType, (fn) => fn.binding != null),
30
- {},
31
- [subject],
32
- );
33
-
34
- const [selectedFunction, setSelectedFunction] = useState<FunctionType | null>(null);
35
- const chatFunction = subject instanceof ScriptType ? functions[0] : selectedFunction;
36
-
37
- return (
38
- <div className='h-full flex flex-col'>
39
- {!(subject instanceof ScriptType) && (
40
- <BindingSelect
41
- selectedFunction={selectedFunction}
42
- setSelectedFunction={setSelectedFunction}
43
- functions={functions}
44
- />
45
- )}
46
- {chatFunction && <ChatPanel fn={chatFunction} subject={subject} />}
47
- {subject instanceof ScriptType && functions.length === 0 && <div className='p-1'>{t('not deployed')}</div>}
48
- </div>
49
- );
50
- };
51
-
52
- export interface ChatPanelProps {
53
- fn: FunctionType;
54
- subject: ReactiveEchoObject<any>;
55
- }
56
-
57
- const ChatPanel = ({ fn, subject }: ChatPanelProps) => {
58
- const client = useClient();
59
- const space = getSpace(fn);
60
- const existingFunctionUrl = getUserFunctionUrlInMetadata(getMeta(fn));
61
- const functionUrl = useMemo(() => {
62
- if (!existingFunctionUrl) {
63
- return;
64
- }
65
-
66
- return getInvocationUrl(existingFunctionUrl, client.config.values.runtime?.services?.edge?.url ?? '', {
67
- spaceId: space?.id,
68
- subjectId: subject?.id,
69
- });
70
- }, [existingFunctionUrl, space, subject]);
71
-
72
- return <DebugPanel functionUrl={functionUrl} classNames='flex-1' />;
73
- };
74
-
75
- export interface BindingSelectProps {
76
- selectedFunction: FunctionType | null;
77
- setSelectedFunction: (fn: FunctionType) => void;
78
- functions: FunctionType[];
79
- }
80
-
81
- const BindingSelect = ({ selectedFunction, setSelectedFunction, functions }: BindingSelectProps) => {
82
- return (
83
- <Select.Root
84
- value={selectedFunction?.id}
85
- onValueChange={(id) => setSelectedFunction(functions.find((fn) => fn.id === id) ?? failUndefined())}
86
- >
87
- <Select.TriggerButton placeholder='Select value' />
88
- <Select.Portal>
89
- <Select.Content>
90
- <Select.ScrollUpButton />
91
- <Select.Viewport>
92
- {functions.map(({ id, binding }) => (
93
- <Select.Option key={id} value={id}>
94
- {binding}
95
- </Select.Option>
96
- ))}
97
- </Select.Viewport>
98
- <Select.ScrollDownButton />
99
- <Select.Arrow />
100
- </Select.Content>
101
- </Select.Portal>
102
- </Select.Root>
103
- );
104
- };
@@ -1,9 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- import { AutomationPanel } from './AutomationPanel';
6
-
7
- export * from './AutomationPanel';
8
-
9
- export default AutomationPanel;