@dxos/plugin-automation 0.8.4-main.c85a9c8dae → 0.8.4-main.d05673bc65

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 (130) hide show
  1. package/dist/lib/browser/AutomationPanel-IGLIQY2N.mjs +11 -0
  2. package/dist/lib/browser/{AutomationSettings-TJYG77L6.mjs → AutomationSettings-EDO3N5WI.mjs} +7 -7
  3. package/dist/lib/browser/{AutomationSettings-TJYG77L6.mjs.map → AutomationSettings-EDO3N5WI.mjs.map} +1 -1
  4. package/dist/lib/browser/{FunctionsContainer-XHEQSNNO.mjs → FunctionsContainer-R4ZMYSFJ.mjs} +4 -4
  5. package/dist/lib/browser/{FunctionsPanel-5WPUZGRB.mjs → FunctionsPanel-NMA4RYJL.mjs} +3 -3
  6. package/dist/lib/browser/{FunctionsRegistry-XRXIZRLL.mjs → FunctionsRegistry-TMKAEG5E.mjs} +3 -3
  7. package/dist/lib/browser/TriggerSettings-56AIMOEC.mjs +11 -0
  8. package/dist/lib/browser/{app-graph-builder-HLARI3VW.mjs → app-graph-builder-74ILZP25.mjs} +16 -18
  9. package/dist/lib/browser/app-graph-builder-74ILZP25.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-U55ZXRYM.mjs → chunk-75XLBFAG.mjs} +4 -5
  11. package/dist/lib/browser/chunk-75XLBFAG.mjs.map +7 -0
  12. package/dist/lib/browser/{chunk-ZNI2CGQP.mjs → chunk-BWEKRPFJ.mjs} +29 -5
  13. package/dist/lib/browser/chunk-BWEKRPFJ.mjs.map +7 -0
  14. package/dist/lib/browser/{chunk-PZNBEKO5.mjs → chunk-EL64ZPPN.mjs} +2 -2
  15. package/dist/lib/browser/{chunk-PZNBEKO5.mjs.map → chunk-EL64ZPPN.mjs.map} +1 -1
  16. package/dist/lib/browser/{chunk-XFXYU645.mjs → chunk-FUVAC5EC.mjs} +2 -2
  17. package/dist/lib/browser/{chunk-WOBCY2FQ.mjs → chunk-GVHAETEQ.mjs} +7 -7
  18. package/dist/lib/browser/{chunk-WOBCY2FQ.mjs.map → chunk-GVHAETEQ.mjs.map} +1 -1
  19. package/dist/lib/browser/{chunk-SEG5OCGB.mjs → chunk-H2MV4XE6.mjs} +3 -3
  20. package/dist/lib/browser/{chunk-4EY2KMCM.mjs → chunk-O23LHDEX.mjs} +4 -7
  21. package/dist/lib/browser/chunk-O23LHDEX.mjs.map +7 -0
  22. package/dist/lib/browser/{chunk-QPG3AKFX.mjs → chunk-OAZ2JYXV.mjs} +2 -2
  23. package/dist/lib/browser/{chunk-3P4R5WNC.mjs → chunk-Z7F7X2C5.mjs} +2 -2
  24. package/dist/lib/browser/cli/index.mjs +21 -14
  25. package/dist/lib/browser/cli/index.mjs.map +3 -3
  26. package/dist/lib/browser/{compute-runtime-L2RVWXY2.mjs → compute-runtime-F3UMRKCL.mjs} +3 -3
  27. package/dist/lib/browser/hooks/index.mjs +3 -3
  28. package/dist/lib/browser/index.mjs +11 -11
  29. package/dist/lib/browser/meta.json +1 -1
  30. package/dist/lib/browser/{operation-resolver-2U6ZQVXR.mjs → operation-resolver-IRC2DZU7.mjs} +8 -7
  31. package/dist/lib/browser/operation-resolver-IRC2DZU7.mjs.map +7 -0
  32. package/dist/lib/browser/{react-surface-U6FAYV42.mjs → react-surface-5MFPVWIN.mjs} +14 -18
  33. package/dist/lib/browser/react-surface-5MFPVWIN.mjs.map +7 -0
  34. package/dist/lib/browser/types/index.mjs +2 -2
  35. package/dist/lib/node-esm/{AutomationPanel-F7MPUR7U.mjs → AutomationPanel-O2BCQA7P.mjs} +4 -4
  36. package/dist/lib/node-esm/{AutomationSettings-5AHJMILI.mjs → AutomationSettings-LJNRQUX7.mjs} +7 -7
  37. package/dist/lib/node-esm/{AutomationSettings-5AHJMILI.mjs.map → AutomationSettings-LJNRQUX7.mjs.map} +1 -1
  38. package/dist/lib/node-esm/{FunctionsContainer-U5UVRKVT.mjs → FunctionsContainer-GYRPQZM7.mjs} +4 -4
  39. package/dist/lib/node-esm/{FunctionsPanel-UFL5LT2R.mjs → FunctionsPanel-DCXXLSVP.mjs} +3 -3
  40. package/dist/lib/node-esm/{FunctionsRegistry-574OBZ5T.mjs → FunctionsRegistry-7WCHC64E.mjs} +3 -3
  41. package/dist/lib/node-esm/FunctionsRegistry-7WCHC64E.mjs.map +7 -0
  42. package/dist/lib/node-esm/TriggerSettings-ONY5ZUKW.mjs +12 -0
  43. package/dist/lib/node-esm/TriggerSettings-ONY5ZUKW.mjs.map +7 -0
  44. package/dist/lib/node-esm/{app-graph-builder-Z2TMQHVX.mjs → app-graph-builder-VDXPOWCH.mjs} +16 -18
  45. package/dist/lib/node-esm/app-graph-builder-VDXPOWCH.mjs.map +7 -0
  46. package/dist/lib/node-esm/{chunk-QNPYY3XZ.mjs → chunk-2UF55HSG.mjs} +2 -2
  47. package/dist/lib/node-esm/{chunk-4DK33JDH.mjs → chunk-6B4WZRVH.mjs} +7 -7
  48. package/dist/lib/node-esm/{chunk-4DK33JDH.mjs.map → chunk-6B4WZRVH.mjs.map} +1 -1
  49. package/dist/lib/node-esm/{chunk-RTEXGGBX.mjs → chunk-6JVB3IHW.mjs} +2 -2
  50. package/dist/lib/node-esm/{chunk-7AIKTEAX.mjs → chunk-FPXVLTEY.mjs} +4 -7
  51. package/dist/lib/node-esm/chunk-FPXVLTEY.mjs.map +7 -0
  52. package/dist/lib/node-esm/{chunk-34HGM46Z.mjs → chunk-JVUE5PMI.mjs} +3 -3
  53. package/dist/lib/node-esm/{chunk-GXFQR3KI.mjs → chunk-K7T2MVB7.mjs} +4 -5
  54. package/dist/lib/node-esm/chunk-K7T2MVB7.mjs.map +7 -0
  55. package/dist/lib/node-esm/{chunk-CMZ4NKSK.mjs → chunk-Q5JSKD6Z.mjs} +29 -5
  56. package/dist/lib/node-esm/chunk-Q5JSKD6Z.mjs.map +7 -0
  57. package/dist/lib/node-esm/{chunk-2X564LII.mjs → chunk-R5YEWJCG.mjs} +2 -2
  58. package/dist/lib/node-esm/{chunk-5FXNN3MV.mjs → chunk-WC5AT7B3.mjs} +2 -2
  59. package/dist/lib/node-esm/{chunk-5FXNN3MV.mjs.map → chunk-WC5AT7B3.mjs.map} +1 -1
  60. package/dist/lib/node-esm/cli/index.mjs +21 -14
  61. package/dist/lib/node-esm/cli/index.mjs.map +3 -3
  62. package/dist/lib/node-esm/{compute-runtime-XD6A5Q7Q.mjs → compute-runtime-AMFVJMF2.mjs} +3 -3
  63. package/dist/lib/node-esm/hooks/index.mjs +3 -3
  64. package/dist/lib/node-esm/index.mjs +11 -11
  65. package/dist/lib/node-esm/meta.json +1 -1
  66. package/dist/lib/node-esm/{operation-resolver-XWJGBHJZ.mjs → operation-resolver-CBLQHL4N.mjs} +8 -7
  67. package/dist/lib/node-esm/operation-resolver-CBLQHL4N.mjs.map +7 -0
  68. package/dist/lib/node-esm/{react-surface-BVNHCWQ7.mjs → react-surface-Z74AHU4T.mjs} +14 -18
  69. package/dist/lib/node-esm/react-surface-Z74AHU4T.mjs.map +7 -0
  70. package/dist/lib/node-esm/types/index.mjs +2 -2
  71. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
  72. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
  73. package/dist/types/src/cli/commands/trigger/util.d.ts +2 -2
  74. package/dist/types/src/cli/commands/trigger/util.d.ts.map +1 -1
  75. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts.map +1 -1
  76. package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts.map +1 -1
  77. package/dist/types/src/containers/TriggerSettings/index.d.ts +2 -2
  78. package/dist/types/src/containers/TriggerSettings/index.d.ts.map +1 -1
  79. package/dist/types/src/types/schema.d.ts +3 -3
  80. package/dist/types/tsconfig.tsbuildinfo +1 -1
  81. package/package.json +39 -39
  82. package/src/capabilities/app-graph-builder/app-graph-builder.ts +14 -13
  83. package/src/capabilities/operation-resolver/operation-resolver.ts +4 -4
  84. package/src/capabilities/react-surface/react-surface.tsx +9 -13
  85. package/src/cli/commands/trigger/util.ts +27 -18
  86. package/src/components/AutomationPanel/AutomationPanel.tsx +1 -2
  87. package/src/components/FunctionsPanel/FunctionsPanel.tsx +2 -2
  88. package/src/components/TriggerEditor/TriggerEditor.stories.tsx +2 -2
  89. package/src/components/TriggerEditor/TriggerEditor.tsx +21 -4
  90. package/src/containers/AutomationSettings/AutomationSettings.tsx +1 -1
  91. package/src/containers/TriggerSettings/index.ts +2 -3
  92. package/src/meta.ts +1 -1
  93. package/src/types/capabilities.ts +1 -1
  94. package/src/types/events.ts +1 -1
  95. package/src/types/schema.ts +3 -3
  96. package/dist/lib/browser/AutomationPanel-EHRSV2DL.mjs +0 -11
  97. package/dist/lib/browser/TriggerSettings-HUQT53SV.mjs +0 -13
  98. package/dist/lib/browser/TriggerSettings-HUQT53SV.mjs.map +0 -7
  99. package/dist/lib/browser/app-graph-builder-HLARI3VW.mjs.map +0 -7
  100. package/dist/lib/browser/chunk-4EY2KMCM.mjs.map +0 -7
  101. package/dist/lib/browser/chunk-U55ZXRYM.mjs.map +0 -7
  102. package/dist/lib/browser/chunk-ZNI2CGQP.mjs.map +0 -7
  103. package/dist/lib/browser/operation-resolver-2U6ZQVXR.mjs.map +0 -7
  104. package/dist/lib/browser/react-surface-U6FAYV42.mjs.map +0 -7
  105. package/dist/lib/node-esm/TriggerSettings-RDIJHUKK.mjs +0 -14
  106. package/dist/lib/node-esm/TriggerSettings-RDIJHUKK.mjs.map +0 -7
  107. package/dist/lib/node-esm/app-graph-builder-Z2TMQHVX.mjs.map +0 -7
  108. package/dist/lib/node-esm/chunk-7AIKTEAX.mjs.map +0 -7
  109. package/dist/lib/node-esm/chunk-CMZ4NKSK.mjs.map +0 -7
  110. package/dist/lib/node-esm/chunk-GXFQR3KI.mjs.map +0 -7
  111. package/dist/lib/node-esm/operation-resolver-XWJGBHJZ.mjs.map +0 -7
  112. package/dist/lib/node-esm/react-surface-BVNHCWQ7.mjs.map +0 -7
  113. /package/dist/lib/browser/{AutomationPanel-EHRSV2DL.mjs.map → AutomationPanel-IGLIQY2N.mjs.map} +0 -0
  114. /package/dist/lib/browser/{FunctionsContainer-XHEQSNNO.mjs.map → FunctionsContainer-R4ZMYSFJ.mjs.map} +0 -0
  115. /package/dist/lib/browser/{FunctionsPanel-5WPUZGRB.mjs.map → FunctionsPanel-NMA4RYJL.mjs.map} +0 -0
  116. /package/dist/lib/browser/{FunctionsRegistry-XRXIZRLL.mjs.map → FunctionsRegistry-TMKAEG5E.mjs.map} +0 -0
  117. /package/dist/lib/{node-esm/AutomationPanel-F7MPUR7U.mjs.map → browser/TriggerSettings-56AIMOEC.mjs.map} +0 -0
  118. /package/dist/lib/browser/{chunk-XFXYU645.mjs.map → chunk-FUVAC5EC.mjs.map} +0 -0
  119. /package/dist/lib/browser/{chunk-SEG5OCGB.mjs.map → chunk-H2MV4XE6.mjs.map} +0 -0
  120. /package/dist/lib/browser/{chunk-QPG3AKFX.mjs.map → chunk-OAZ2JYXV.mjs.map} +0 -0
  121. /package/dist/lib/browser/{chunk-3P4R5WNC.mjs.map → chunk-Z7F7X2C5.mjs.map} +0 -0
  122. /package/dist/lib/browser/{compute-runtime-L2RVWXY2.mjs.map → compute-runtime-F3UMRKCL.mjs.map} +0 -0
  123. /package/dist/lib/node-esm/{FunctionsPanel-UFL5LT2R.mjs.map → AutomationPanel-O2BCQA7P.mjs.map} +0 -0
  124. /package/dist/lib/node-esm/{FunctionsContainer-U5UVRKVT.mjs.map → FunctionsContainer-GYRPQZM7.mjs.map} +0 -0
  125. /package/dist/lib/node-esm/{FunctionsRegistry-574OBZ5T.mjs.map → FunctionsPanel-DCXXLSVP.mjs.map} +0 -0
  126. /package/dist/lib/node-esm/{chunk-QNPYY3XZ.mjs.map → chunk-2UF55HSG.mjs.map} +0 -0
  127. /package/dist/lib/node-esm/{chunk-RTEXGGBX.mjs.map → chunk-6JVB3IHW.mjs.map} +0 -0
  128. /package/dist/lib/node-esm/{chunk-34HGM46Z.mjs.map → chunk-JVUE5PMI.mjs.map} +0 -0
  129. /package/dist/lib/node-esm/{chunk-2X564LII.mjs.map → chunk-R5YEWJCG.mjs.map} +0 -0
  130. /package/dist/lib/node-esm/{compute-runtime-XD6A5Q7Q.mjs.map → compute-runtime-AMFVJMF2.mjs.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/operation-resolver/operation-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { LayoutOperation, getSpacePath } from '@dxos/app-toolkit';\nimport { Obj, Ref } from '@dxos/echo';\nimport { Function, Script, Trigger } from '@dxos/functions';\nimport { type DXN } from '@dxos/keys';\nimport { Operation, OperationResolver } from '@dxos/operation';\nimport { SpaceOperation } from '@dxos/plugin-space/types';\nimport { Filter } from '@dxos/react-client/echo';\n\nimport { meta } from '../../meta';\nimport { AutomationOperation } from '../../types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n return Capability.contributes(Capabilities.OperationResolver, [\n OperationResolver.make({\n operation: AutomationOperation.CreateTriggerFromTemplate,\n handler: Effect.fnUntraced(function* ({ db, template, enabled = false, scriptName, input }) {\n const trigger = Trigger.make({ enabled, input });\n\n // TODO(wittjosiah): Factor out function lookup by script name?\n if (scriptName) {\n const scripts = yield* Effect.promise(() =>\n db.query(Filter.type(Script.Script, { name: scriptName })).run(),\n );\n const [script] = scripts;\n if (script) {\n const functions = yield* Effect.promise(() =>\n db.query(Filter.type(Function.Function, { source: Ref.make(script) })).run(),\n );\n const [fn] = functions;\n if (fn) {\n Obj.change(trigger, (t) => {\n t.function = Ref.make(fn);\n });\n }\n }\n }\n\n switch (template.type) {\n case 'timer': {\n Obj.change(trigger, (t) => {\n t.spec = { kind: 'timer', cron: template.cron };\n });\n break;\n }\n case 'queue': {\n Obj.change(trigger, (t) => {\n t.spec = {\n kind: 'queue',\n queue: (template.queueDXN as DXN).toString(),\n };\n });\n break;\n }\n default: {\n break;\n }\n }\n\n yield* Operation.invoke(SpaceOperation.AddObject, {\n object: trigger,\n target: db,\n hidden: true,\n });\n yield* Operation.invoke(LayoutOperation.Open, {\n subject: [`${getSpacePath(db.spaceId)}/settings/${meta.id}.automations`],\n workspace: getSpacePath(db.spaceId),\n });\n }),\n }),\n ]);\n }),\n);\n"],
5
+ "mappings": ";;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,iBAAiBC,oBAAoB;AAC9C,SAASC,KAAKC,WAAW;AACzB,SAASC,UAAUC,QAAQC,eAAe;AAE1C,SAASC,WAAWC,yBAAyB;AAC7C,SAASC,sBAAsB;AAC/B,SAASC,cAAc;AAKvB,IAAA,6BAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAChB,SAAOF,WAAWG,YAAYC,aAAaC,mBAAmB;IAC5DA,kBAAkBC,KAAK;MACrBC,WAAWC,oBAAoBC;MAC/BC,SAAgBR,kBAAW,WAAW,EAAES,IAAIC,UAAUC,UAAU,OAAOC,YAAYC,MAAK,GAAE;AACxF,cAAMC,UAAUC,QAAQX,KAAK;UAAEO;UAASE;QAAM,CAAA;AAG9C,YAAID,YAAY;AACd,gBAAMI,UAAU,OAAcC,eAAQ,MACpCR,GAAGS,MAAMC,OAAOC,KAAKC,OAAOA,QAAQ;YAAEC,MAAMV;UAAW,CAAA,CAAA,EAAIW,IAAG,CAAA;AAEhE,gBAAM,CAACC,MAAAA,IAAUR;AACjB,cAAIQ,QAAQ;AACV,kBAAMC,YAAY,OAAcR,eAAQ,MACtCR,GAAGS,MAAMC,OAAOC,KAAKM,SAASA,UAAU;cAAEC,QAAQC,IAAIxB,KAAKoB,MAAAA;YAAQ,CAAA,CAAA,EAAID,IAAG,CAAA;AAE5E,kBAAM,CAACM,EAAAA,IAAMJ;AACb,gBAAII,IAAI;AACNC,kBAAIC,OAAOjB,SAAS,CAACkB,MAAAA;AACnBA,kBAAEC,WAAWL,IAAIxB,KAAKyB,EAAAA;cACxB,CAAA;YACF;UACF;QACF;AAEA,gBAAQnB,SAASU,MAAI;UACnB,KAAK,SAAS;AACZU,gBAAIC,OAAOjB,SAAS,CAACkB,MAAAA;AACnBA,gBAAEE,OAAO;gBAAEC,MAAM;gBAASC,MAAM1B,SAAS0B;cAAK;YAChD,CAAA;AACA;UACF;UACA,KAAK,SAAS;AACZN,gBAAIC,OAAOjB,SAAS,CAACkB,MAAAA;AACnBA,gBAAEE,OAAO;gBACPC,MAAM;gBACNE,OAAQ3B,SAAS4B,SAAiBC,SAAQ;cAC5C;YACF,CAAA;AACA;UACF;UACA,SAAS;AACP;UACF;QACF;AAEA,eAAOC,UAAUC,OAAOC,eAAeC,WAAW;UAChDC,QAAQ9B;UACR+B,QAAQpC;UACRqC,QAAQ;QACV,CAAA;AACA,eAAON,UAAUC,OAAOM,gBAAgBC,MAAM;UAC5CC,SAAS;YAAC,GAAGC,aAAazC,GAAG0C,OAAO,CAAA,aAAcC,KAAKC,EAAE;;UACzDC,WAAWJ,aAAazC,GAAG0C,OAAO;QACpC,CAAA;MACF,CAAA;IACF,CAAA;GACD;AACH,CAAA,CAAA;",
6
+ "names": ["Effect", "Capabilities", "Capability", "LayoutOperation", "getSpacePath", "Obj", "Ref", "Function", "Script", "Trigger", "Operation", "OperationResolver", "SpaceOperation", "Filter", "Capability", "makeModule", "fnUntraced", "contributes", "Capabilities", "OperationResolver", "make", "operation", "AutomationOperation", "CreateTriggerFromTemplate", "handler", "db", "template", "enabled", "scriptName", "input", "trigger", "Trigger", "scripts", "promise", "query", "Filter", "type", "Script", "name", "run", "script", "functions", "Function", "source", "Ref", "fn", "Obj", "change", "t", "function", "spec", "kind", "cron", "queue", "queueDXN", "toString", "Operation", "invoke", "SpaceOperation", "AddObject", "object", "target", "hidden", "LayoutOperation", "Open", "subject", "getSpacePath", "spaceId", "meta", "id", "workspace"]
7
+ }
@@ -1,32 +1,30 @@
1
1
  import {
2
2
  meta
3
- } from "./chunk-PZNBEKO5.mjs";
3
+ } from "./chunk-EL64ZPPN.mjs";
4
4
 
5
5
  // src/capabilities/react-surface/react-surface.tsx
6
6
  import * as Effect from "effect/Effect";
7
7
  import React from "react";
8
8
  import { Capabilities, Capability } from "@dxos/app-framework";
9
9
  import { Surface } from "@dxos/app-framework/ui";
10
- import { useLayout } from "@dxos/app-toolkit/ui";
11
10
  import { Obj } from "@dxos/echo";
12
- import { getSpace, parseId, useSpace } from "@dxos/react-client/echo";
11
+ import { useActiveSpace } from "@dxos/plugin-space";
12
+ import { getSpace } from "@dxos/react-client/echo";
13
13
 
14
14
  // src/containers/index.ts
15
15
  import { lazy } from "react";
16
- var AutomationSettings = lazy(() => import("./AutomationSettings-TJYG77L6.mjs"));
17
- var FunctionsContainer = lazy(() => import("./FunctionsContainer-XHEQSNNO.mjs"));
18
- var TriggerSettings = lazy(() => import("./TriggerSettings-HUQT53SV.mjs"));
16
+ var AutomationSettings = lazy(() => import("./AutomationSettings-EDO3N5WI.mjs"));
17
+ var FunctionsContainer = lazy(() => import("./FunctionsContainer-R4ZMYSFJ.mjs"));
18
+ var TriggerSettings = lazy(() => import("./TriggerSettings-56AIMOEC.mjs"));
19
19
 
20
20
  // src/capabilities/react-surface/react-surface.tsx
21
21
  var react_surface_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(Capabilities.ReactSurface, [
22
22
  Surface.create({
23
- id: `${meta.id}/space-settings-functions`,
23
+ id: `${meta.id}.space-settings-functions`,
24
24
  role: "article",
25
- filter: (data) => data.subject === `${meta.id}/space-settings-functions`,
25
+ filter: (data) => data.subject === `${meta.id}.space-settings-functions`,
26
26
  component: () => {
27
- const layout = useLayout();
28
- const { spaceId } = parseId(layout.workspace);
29
- const space = useSpace(spaceId);
27
+ const space = useActiveSpace();
30
28
  if (!space) {
31
29
  return null;
32
30
  }
@@ -36,13 +34,11 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
36
34
  }
37
35
  }),
38
36
  Surface.create({
39
- id: `${meta.id}/space-settings-automation`,
37
+ id: `${meta.id}.space-settings-automation`,
40
38
  role: "article",
41
- filter: (data) => data.subject === `${meta.id}/space-settings-automation`,
39
+ filter: (data) => data.subject === `${meta.id}.space-settings-automation`,
42
40
  component: () => {
43
- const layout = useLayout();
44
- const { spaceId } = parseId(layout.workspace);
45
- const space = useSpace(spaceId);
41
+ const space = useActiveSpace();
46
42
  if (!space) {
47
43
  return null;
48
44
  }
@@ -52,7 +48,7 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
52
48
  }
53
49
  }),
54
50
  Surface.create({
55
- id: `${meta.id}/companion/automation`,
51
+ id: `${meta.id}.companion.automation`,
56
52
  role: "article",
57
53
  filter: (data) => Obj.isObject(data.companionTo) && data.subject === "automation",
58
54
  component: ({ data }) => {
@@ -66,4 +62,4 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
66
62
  export {
67
63
  react_surface_default as default
68
64
  };
69
- //# sourceMappingURL=react-surface-U6FAYV42.mjs.map
65
+ //# sourceMappingURL=react-surface-5MFPVWIN.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface/react-surface.tsx", "../../../src/containers/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React from 'react';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Surface } from '@dxos/app-framework/ui';\nimport { Obj } from '@dxos/echo';\nimport { useActiveSpace } from '@dxos/plugin-space';\nimport { getSpace } from '@dxos/react-client/echo';\n\nimport { AutomationSettings, FunctionsContainer } from '../../containers';\nimport { meta } from '../../meta';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Capabilities.ReactSurface, [\n Surface.create({\n id: `${meta.id}.space-settings-functions`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${meta.id}.space-settings-functions`,\n component: () => {\n const space = useActiveSpace();\n if (!space) {\n return null;\n }\n\n return <FunctionsContainer space={space} />;\n },\n }),\n Surface.create({\n id: `${meta.id}.space-settings-automation`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${meta.id}.space-settings-automation`,\n component: () => {\n const space = useActiveSpace();\n if (!space) {\n return null;\n }\n\n return <AutomationSettings space={space} />;\n },\n }),\n Surface.create({\n id: `${meta.id}.companion.automation`,\n role: 'article',\n filter: (data): data is { companionTo: Obj.Unknown; subject: 'automation' } =>\n Obj.isObject(data.companionTo) && data.subject === 'automation',\n component: ({ data }) => {\n return <AutomationSettings space={getSpace(data.companionTo)!} object={data.companionTo} />;\n },\n }),\n ]),\n ),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type ComponentType, lazy } from 'react';\n\nexport const AutomationSettings: ComponentType<any> = lazy(() => import('./AutomationSettings'));\nexport const FunctionsContainer: ComponentType<any> = lazy(() => import('./FunctionsContainer'));\nexport const TriggerSettings: ComponentType<any> = lazy(() => import('./TriggerSettings'));\n"],
5
+ "mappings": ";;;;;AAIA,YAAYA,YAAY;AACxB,OAAOC,WAAW;AAElB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,eAAe;AACxB,SAASC,WAAW;AACpB,SAASC,sBAAsB;AAC/B,SAASC,gBAAgB;;;ACPzB,SAA6BC,YAAY;AAElC,IAAMC,qBAAyCC,KAAK,MAAM,OAAO,mCAAA,CAAA;AACjE,IAAMC,qBAAyCD,KAAK,MAAM,OAAO,mCAAA,CAAA;AACjE,IAAME,kBAAsCF,KAAK,MAAM,OAAO,gCAAA,CAAA;;;ADQrE,IAAA,wBAAeG,WAAWC,WAAW,MAC5BC,eACLF,WAAWG,YAAYC,aAAaC,cAAc;EAChDC,QAAQC,OAAO;IACbC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SAAsCA,KAAKC,YAAY,GAAGJ,KAAKD,EAAE;IAC1EM,WAAW,MAAA;AACT,YAAMC,QAAQC,eAAAA;AACd,UAAI,CAACD,OAAO;AACV,eAAO;MACT;AAEA,aAAO,sBAAA,cAACE,oBAAAA;QAAmBF;;IAC7B;EACF,CAAA;EACAT,QAAQC,OAAO;IACbC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SAAsCA,KAAKC,YAAY,GAAGJ,KAAKD,EAAE;IAC1EM,WAAW,MAAA;AACT,YAAMC,QAAQC,eAAAA;AACd,UAAI,CAACD,OAAO;AACV,eAAO;MACT;AAEA,aAAO,sBAAA,cAACG,oBAAAA;QAAmBH;;IAC7B;EACF,CAAA;EACAT,QAAQC,OAAO;IACbC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SACPO,IAAIC,SAASR,KAAKS,WAAW,KAAKT,KAAKC,YAAY;IACrDC,WAAW,CAAC,EAAEF,KAAI,MAAE;AAClB,aAAO,sBAAA,cAACM,oBAAAA;QAAmBH,OAAOO,SAASV,KAAKS,WAAW;QAAIE,QAAQX,KAAKS;;IAC9E;EACF,CAAA;CACD,CAAA,CAAA;",
6
+ "names": ["Effect", "React", "Capabilities", "Capability", "Surface", "Obj", "useActiveSpace", "getSpace", "lazy", "AutomationSettings", "lazy", "FunctionsContainer", "TriggerSettings", "Capability", "makeModule", "succeed", "contributes", "Capabilities", "ReactSurface", "Surface", "create", "id", "meta", "role", "filter", "data", "subject", "component", "space", "useActiveSpace", "FunctionsContainer", "AutomationSettings", "Obj", "isObject", "companionTo", "getSpace", "object"]
7
+ }
@@ -3,8 +3,8 @@ import {
3
3
  AutomationCapabilities,
4
4
  AutomationEvents,
5
5
  AutomationOperation
6
- } from "../chunk-WOBCY2FQ.mjs";
7
- import "../chunk-PZNBEKO5.mjs";
6
+ } from "../chunk-GVHAETEQ.mjs";
7
+ import "../chunk-EL64ZPPN.mjs";
8
8
  export {
9
9
  AutomationAction,
10
10
  AutomationCapabilities,
@@ -2,11 +2,11 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  AutomationPanel,
4
4
  AutomationPanel_default
5
- } from "./chunk-7AIKTEAX.mjs";
6
- import "./chunk-CMZ4NKSK.mjs";
7
- import "./chunk-5FXNN3MV.mjs";
5
+ } from "./chunk-FPXVLTEY.mjs";
6
+ import "./chunk-Q5JSKD6Z.mjs";
7
+ import "./chunk-WC5AT7B3.mjs";
8
8
  export {
9
9
  AutomationPanel,
10
10
  AutomationPanel_default as default
11
11
  };
12
- //# sourceMappingURL=AutomationPanel-F7MPUR7U.mjs.map
12
+ //# sourceMappingURL=AutomationPanel-O2BCQA7P.mjs.map
@@ -1,16 +1,16 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  TriggersSettings
4
- } from "./chunk-34HGM46Z.mjs";
5
- import "./chunk-QNPYY3XZ.mjs";
6
- import "./chunk-4DK33JDH.mjs";
4
+ } from "./chunk-JVUE5PMI.mjs";
5
+ import "./chunk-2UF55HSG.mjs";
6
+ import "./chunk-6B4WZRVH.mjs";
7
7
  import {
8
8
  AutomationPanel
9
- } from "./chunk-7AIKTEAX.mjs";
10
- import "./chunk-CMZ4NKSK.mjs";
9
+ } from "./chunk-FPXVLTEY.mjs";
10
+ import "./chunk-Q5JSKD6Z.mjs";
11
11
  import {
12
12
  meta
13
- } from "./chunk-5FXNN3MV.mjs";
13
+ } from "./chunk-WC5AT7B3.mjs";
14
14
 
15
15
  // src/containers/AutomationSettings/AutomationSettings.tsx
16
16
  import React from "react";
@@ -35,4 +35,4 @@ var AutomationSettings_default = AutomationSettings;
35
35
  export {
36
36
  AutomationSettings_default as default
37
37
  };
38
- //# sourceMappingURL=AutomationSettings-5AHJMILI.mjs.map
38
+ //# sourceMappingURL=AutomationSettings-LJNRQUX7.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/containers/AutomationSettings/AutomationSettings.tsx", "../../../src/containers/AutomationSettings/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { useTranslation } from '@dxos/react-ui';\nimport { Settings } from '@dxos/react-ui-form';\n\nimport { AutomationPanel, type AutomationPanelProps } from '../../components/AutomationPanel';\nimport { meta } from '../../meta';\nimport { TriggersSettings } from '../TriggerSettings/TriggerSettings';\n\nexport const AutomationSettings = (props: AutomationPanelProps) => {\n const { t } = useTranslation(meta.id);\n return (\n <Settings.Root>\n <Settings.Section\n title={t('automation verbose label', { ns: meta.id })}\n description={t('automation description', { ns: meta.id })}\n >\n <AutomationPanel {...props} />\n <TriggersSettings db={props.space.db} />\n </Settings.Section>\n </Settings.Root>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { AutomationSettings } from './AutomationSettings';\n\nexport default AutomationSettings;\n"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { useTranslation } from '@dxos/react-ui';\nimport { Settings } from '@dxos/react-ui-form';\n\nimport { AutomationPanel, type AutomationPanelProps } from '../../components/AutomationPanel';\nimport { meta } from '../../meta';\nimport { TriggersSettings } from '../TriggerSettings';\n\nexport const AutomationSettings = (props: AutomationPanelProps) => {\n const { t } = useTranslation(meta.id);\n return (\n <Settings.Root>\n <Settings.Section\n title={t('automation verbose label', { ns: meta.id })}\n description={t('automation description', { ns: meta.id })}\n >\n <AutomationPanel {...props} />\n <TriggersSettings db={props.space.db} />\n </Settings.Section>\n </Settings.Root>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { AutomationSettings } from './AutomationSettings';\n\nexport default AutomationSettings;\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,sBAAsB;AAC/B,SAASC,gBAAgB;AAMlB,IAAMC,qBAAqB,CAACC,UAAAA;AACjC,QAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AACpC,SACE,sBAAA,cAACC,SAASC,MAAI,MACZ,sBAAA,cAACD,SAASE,SAAO;IACfC,OAAOP,EAAE,4BAA4B;MAAEQ,IAAIN,KAAKC;IAAG,CAAA;IACnDM,aAAaT,EAAE,0BAA0B;MAAEQ,IAAIN,KAAKC;IAAG,CAAA;KAEvD,sBAAA,cAACO,iBAAoBX,KAAAA,GACrB,sBAAA,cAACY,kBAAAA;IAAiBC,IAAIb,MAAMc,MAAMD;;AAI1C;;;ACpBA,IAAA,6BAAeE;",
6
6
  "names": ["React", "useTranslation", "Settings", "AutomationSettings", "props", "t", "useTranslation", "meta", "id", "Settings", "Root", "Section", "title", "ns", "description", "AutomationPanel", "TriggersSettings", "db", "space", "AutomationSettings"]
7
7
  }
@@ -1,13 +1,13 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  FunctionsPanel
4
- } from "./chunk-GXFQR3KI.mjs";
4
+ } from "./chunk-K7T2MVB7.mjs";
5
5
  import {
6
6
  FunctionsRegistry
7
- } from "./chunk-RTEXGGBX.mjs";
7
+ } from "./chunk-6JVB3IHW.mjs";
8
8
  import {
9
9
  meta
10
- } from "./chunk-5FXNN3MV.mjs";
10
+ } from "./chunk-WC5AT7B3.mjs";
11
11
 
12
12
  // src/containers/FunctionsContainer/FunctionsContainer.tsx
13
13
  import React from "react";
@@ -41,4 +41,4 @@ var FunctionsContainer_default = FunctionsContainer;
41
41
  export {
42
42
  FunctionsContainer_default as default
43
43
  };
44
- //# sourceMappingURL=FunctionsContainer-U5UVRKVT.mjs.map
44
+ //# sourceMappingURL=FunctionsContainer-GYRPQZM7.mjs.map
@@ -2,10 +2,10 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  FunctionsPanel,
4
4
  FunctionsPanel_default
5
- } from "./chunk-GXFQR3KI.mjs";
6
- import "./chunk-5FXNN3MV.mjs";
5
+ } from "./chunk-K7T2MVB7.mjs";
6
+ import "./chunk-WC5AT7B3.mjs";
7
7
  export {
8
8
  FunctionsPanel,
9
9
  FunctionsPanel_default as default
10
10
  };
11
- //# sourceMappingURL=FunctionsPanel-UFL5LT2R.mjs.map
11
+ //# sourceMappingURL=FunctionsPanel-DCXXLSVP.mjs.map
@@ -2,10 +2,10 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  FunctionsRegistry,
4
4
  FunctionsRegistry_default
5
- } from "./chunk-RTEXGGBX.mjs";
6
- import "./chunk-5FXNN3MV.mjs";
5
+ } from "./chunk-6JVB3IHW.mjs";
6
+ import "./chunk-WC5AT7B3.mjs";
7
7
  export {
8
8
  FunctionsRegistry,
9
9
  FunctionsRegistry_default as default
10
10
  };
11
- //# sourceMappingURL=FunctionsRegistry-574OBZ5T.mjs.map
11
+ //# sourceMappingURL=FunctionsRegistry-7WCHC64E.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,12 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ TriggersSettings
4
+ } from "./chunk-JVUE5PMI.mjs";
5
+ import "./chunk-2UF55HSG.mjs";
6
+ import "./chunk-6B4WZRVH.mjs";
7
+ import "./chunk-WC5AT7B3.mjs";
8
+ export {
9
+ TriggersSettings,
10
+ TriggersSettings as default
11
+ };
12
+ //# sourceMappingURL=TriggerSettings-ONY5ZUKW.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -1,26 +1,27 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  meta
4
- } from "./chunk-5FXNN3MV.mjs";
4
+ } from "./chunk-WC5AT7B3.mjs";
5
5
 
6
6
  // src/capabilities/app-graph-builder/app-graph-builder.ts
7
7
  import * as Effect from "effect/Effect";
8
8
  import { Capability } from "@dxos/app-framework";
9
9
  import { AppCapabilities } from "@dxos/app-toolkit";
10
10
  import { Script } from "@dxos/functions";
11
- import { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
11
+ import { COMPANION_PREFIX } from "@dxos/app-toolkit";
12
+ import { PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
12
13
  import { GraphBuilder, NodeMatcher } from "@dxos/plugin-graph";
13
14
  import { meta as spaceMeta } from "@dxos/plugin-space";
14
15
  var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function* () {
15
16
  const extensions = yield* Effect.all([
16
17
  GraphBuilder.createExtension({
17
- id: `${meta.id}/space-settings-automation`,
18
- match: NodeMatcher.whenNodeType(`${spaceMeta.id}/settings`),
18
+ id: `${meta.id}.space-settings-automation`,
19
+ match: NodeMatcher.whenNodeType(`${spaceMeta.id}.settings`),
19
20
  connector: (node) => Effect.succeed([
20
21
  {
21
- id: `automation-${node.id}`,
22
- type: `${meta.id}/space-settings-automation`,
23
- data: `${meta.id}/space-settings-automation`,
22
+ id: `${meta.id}.automations`,
23
+ type: `${meta.id}.space-settings-automation`,
24
+ data: `${meta.id}.space-settings-automation`,
24
25
  properties: {
25
26
  label: [
26
27
  "automation panel label",
@@ -34,13 +35,13 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
34
35
  ])
35
36
  }),
36
37
  GraphBuilder.createExtension({
37
- id: `${meta.id}/space-settings-functions`,
38
- match: NodeMatcher.whenNodeType(`${spaceMeta.id}/settings`),
38
+ id: `${meta.id}.space-settings-functions`,
39
+ match: NodeMatcher.whenNodeType(`${spaceMeta.id}.settings`),
39
40
  connector: (node) => Effect.succeed([
40
41
  {
41
- id: `functions-${node.id}`,
42
- type: `${meta.id}/space-settings-functions`,
43
- data: `${meta.id}/space-settings-functions`,
42
+ id: `${meta.id}.functions`,
43
+ type: `${meta.id}.space-settings-functions`,
44
+ data: `${meta.id}.space-settings-functions`,
44
45
  properties: {
45
46
  label: [
46
47
  "functions panel label",
@@ -54,14 +55,11 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
54
55
  ])
55
56
  }),
56
57
  GraphBuilder.createTypeExtension({
57
- id: `${meta.id}/script-companion`,
58
+ id: `${meta.id}.script-companion`,
58
59
  type: Script.Script,
59
60
  connector: (script) => Effect.succeed([
60
61
  {
61
- id: [
62
- script.id,
63
- "automation"
64
- ].join(ATTENDABLE_PATH_SEPARATOR),
62
+ id: `${COMPANION_PREFIX}automation`,
65
63
  type: PLANK_COMPANION_TYPE,
66
64
  data: "automation",
67
65
  properties: {
@@ -83,4 +81,4 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
83
81
  export {
84
82
  app_graph_builder_default as default
85
83
  };
86
- //# sourceMappingURL=app-graph-builder-Z2TMQHVX.mjs.map
84
+ //# sourceMappingURL=app-graph-builder-VDXPOWCH.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-builder/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { Script } from '@dxos/functions';\nimport { COMPANION_PREFIX } from '@dxos/app-toolkit';\nimport { PLANK_COMPANION_TYPE } from '@dxos/plugin-deck/types';\nimport { GraphBuilder, NodeMatcher } from '@dxos/plugin-graph';\nimport { meta as spaceMeta } from '@dxos/plugin-space';\n\nimport { meta } from '../../meta';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const extensions = yield* Effect.all([\n GraphBuilder.createExtension({\n id: `${meta.id}.space-settings-automation`,\n match: NodeMatcher.whenNodeType(`${spaceMeta.id}.settings`),\n connector: (node) =>\n Effect.succeed([\n {\n id: `${meta.id}.automations`,\n type: `${meta.id}.space-settings-automation`,\n data: `${meta.id}.space-settings-automation`,\n properties: {\n label: ['automation panel label', { ns: meta.id }],\n icon: 'ph--lightning--regular',\n },\n },\n ]),\n }),\n GraphBuilder.createExtension({\n id: `${meta.id}.space-settings-functions`,\n match: NodeMatcher.whenNodeType(`${spaceMeta.id}.settings`),\n connector: (node) =>\n Effect.succeed([\n {\n id: `${meta.id}.functions`,\n type: `${meta.id}.space-settings-functions`,\n data: `${meta.id}.space-settings-functions`,\n properties: {\n label: ['functions panel label', { ns: meta.id }],\n icon: 'ph--function--regular',\n },\n },\n ]),\n }),\n GraphBuilder.createTypeExtension({\n id: `${meta.id}.script-companion`,\n type: Script.Script,\n connector: (script) =>\n Effect.succeed([\n {\n id: `${COMPANION_PREFIX}automation`,\n type: PLANK_COMPANION_TYPE,\n data: 'automation',\n properties: {\n label: ['script automation label', { ns: meta.id }],\n icon: 'ph--lightning--regular',\n disposition: 'hidden',\n },\n },\n ]),\n }),\n ]);\n\n return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);\n }),\n);\n"],
5
+ "mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,cAAc;AACvB,SAASC,wBAAwB;AACjC,SAASC,4BAA4B;AACrC,SAASC,cAAcC,mBAAmB;AAC1C,SAASC,QAAQC,iBAAiB;AAIlC,IAAA,4BAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAChB,QAAMC,aAAa,OAAcC,WAAI;IACnCC,aAAaC,gBAAgB;MAC3BC,IAAI,GAAGC,KAAKD,EAAE;MACdE,OAAOC,YAAYC,aAAa,GAAGC,UAAUL,EAAE,WAAW;MAC1DM,WAAW,CAACC,SACHC,eAAQ;QACb;UACER,IAAI,GAAGC,KAAKD,EAAE;UACdS,MAAM,GAAGR,KAAKD,EAAE;UAChBU,MAAM,GAAGT,KAAKD,EAAE;UAChBW,YAAY;YACVC,OAAO;cAAC;cAA0B;gBAAEC,IAAIZ,KAAKD;cAAG;;YAChDc,MAAM;UACR;QACF;OACD;IACL,CAAA;IACAhB,aAAaC,gBAAgB;MAC3BC,IAAI,GAAGC,KAAKD,EAAE;MACdE,OAAOC,YAAYC,aAAa,GAAGC,UAAUL,EAAE,WAAW;MAC1DM,WAAW,CAACC,SACHC,eAAQ;QACb;UACER,IAAI,GAAGC,KAAKD,EAAE;UACdS,MAAM,GAAGR,KAAKD,EAAE;UAChBU,MAAM,GAAGT,KAAKD,EAAE;UAChBW,YAAY;YACVC,OAAO;cAAC;cAAyB;gBAAEC,IAAIZ,KAAKD;cAAG;;YAC/Cc,MAAM;UACR;QACF;OACD;IACL,CAAA;IACAhB,aAAaiB,oBAAoB;MAC/Bf,IAAI,GAAGC,KAAKD,EAAE;MACdS,MAAMO,OAAOA;MACbV,WAAW,CAACW,WACHT,eAAQ;QACb;UACER,IAAI,GAAGkB,gBAAAA;UACPT,MAAMU;UACNT,MAAM;UACNC,YAAY;YACVC,OAAO;cAAC;cAA2B;gBAAEC,IAAIZ,KAAKD;cAAG;;YACjDc,MAAM;YACNM,aAAa;UACf;QACF;OACD;IACL,CAAA;GACD;AAED,SAAO3B,WAAW4B,YAAYC,gBAAgBC,iBAAiB3B,UAAAA;AACjE,CAAA,CAAA;",
6
+ "names": ["Effect", "Capability", "AppCapabilities", "Script", "COMPANION_PREFIX", "PLANK_COMPANION_TYPE", "GraphBuilder", "NodeMatcher", "meta", "spaceMeta", "Capability", "makeModule", "fnUntraced", "extensions", "all", "GraphBuilder", "createExtension", "id", "meta", "match", "NodeMatcher", "whenNodeType", "spaceMeta", "connector", "node", "succeed", "type", "data", "properties", "label", "ns", "icon", "createTypeExtension", "Script", "script", "COMPANION_PREFIX", "PLANK_COMPANION_TYPE", "disposition", "contributes", "AppCapabilities", "AppGraphBuilder"]
7
+ }
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  AutomationCapabilities
4
- } from "./chunk-4DK33JDH.mjs";
4
+ } from "./chunk-6B4WZRVH.mjs";
5
5
 
6
6
  // src/hooks/useComputeRuntimeCallback.ts
7
7
  import * as Cause from "effect/Cause";
@@ -91,4 +91,4 @@ export {
91
91
  invokeFunctionWithTracing,
92
92
  useTriggerRuntimeControls
93
93
  };
94
- //# sourceMappingURL=chunk-QNPYY3XZ.mjs.map
94
+ //# sourceMappingURL=chunk-2UF55HSG.mjs.map
@@ -1,19 +1,19 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  meta
4
- } from "./chunk-5FXNN3MV.mjs";
4
+ } from "./chunk-WC5AT7B3.mjs";
5
5
 
6
6
  // src/types/capabilities.ts
7
7
  import { Capability } from "@dxos/app-framework";
8
8
  (function(AutomationCapabilities2) {
9
- AutomationCapabilities2.ComputeRuntime = Capability.make(`${meta.id}/capability/compute-runtime`);
9
+ AutomationCapabilities2.ComputeRuntime = Capability.make(`${meta.id}.capability.compute-runtime`);
10
10
  })(AutomationCapabilities || (AutomationCapabilities = {}));
11
11
  var AutomationCapabilities;
12
12
 
13
13
  // src/types/events.ts
14
14
  import { ActivationEvent } from "@dxos/app-framework";
15
15
  (function(AutomationEvents2) {
16
- AutomationEvents2.ComputeRuntimeReady = ActivationEvent.make(`${meta.id}/event/compute-runtime-ready`);
16
+ AutomationEvents2.ComputeRuntimeReady = ActivationEvent.make(`${meta.id}.event.compute-runtime-ready`);
17
17
  })(AutomationEvents || (AutomationEvents = {}));
18
18
  var AutomationEvents;
19
19
 
@@ -30,7 +30,7 @@ var TriggerTemplate = Schema.Union(Schema.Struct({
30
30
  queueDXN: Schema.Any
31
31
  }));
32
32
  (function(AutomationAction2) {
33
- class CreateTriggerFromTemplate extends Schema.TaggedClass()(`${meta.id}/action/create-trigger-from-template`, {
33
+ class CreateTriggerFromTemplate extends Schema.TaggedClass()(`${meta.id}.action.create-trigger-from-template`, {
34
34
  input: Schema.Struct({
35
35
  db: Database.Database,
36
36
  template: TriggerTemplate,
@@ -47,11 +47,11 @@ var TriggerTemplate = Schema.Union(Schema.Struct({
47
47
  }
48
48
  AutomationAction2.CreateTriggerFromTemplate = CreateTriggerFromTemplate;
49
49
  })(AutomationAction || (AutomationAction = {}));
50
- var AUTOMATION_OPERATION = `${meta.id}/operation`;
50
+ var AUTOMATION_OPERATION = `${meta.id}.operation`;
51
51
  (function(AutomationOperation2) {
52
52
  AutomationOperation2.CreateTriggerFromTemplate = Operation.make({
53
53
  meta: {
54
- key: `${AUTOMATION_OPERATION}/create-trigger-from-template`,
54
+ key: `${AUTOMATION_OPERATION}.create-trigger-from-template`,
55
55
  name: "Create Trigger From Template"
56
56
  },
57
57
  services: [
@@ -81,4 +81,4 @@ export {
81
81
  AutomationAction,
82
82
  AutomationOperation
83
83
  };
84
- //# sourceMappingURL=chunk-4DK33JDH.mjs.map
84
+ //# sourceMappingURL=chunk-6B4WZRVH.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/types/capabilities.ts", "../../../src/types/events.ts", "../../../src/types/schema.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport type * as ManagedRuntime from 'effect/ManagedRuntime';\n\nimport { type AiService, type ToolExecutionService, type ToolResolverService } from '@dxos/ai';\nimport { Capability } from '@dxos/app-framework';\nimport { type Database, type Feed } from '@dxos/echo';\nimport type { CredentialsService, FunctionInvocationService, QueueService, TracingService } from '@dxos/functions';\nimport type { TriggerDispatcher, TriggerStateStore } from '@dxos/functions-runtime';\nimport type { SpaceId } from '@dxos/keys';\n\nimport { meta } from '../meta';\n\nexport namespace AutomationCapabilities {\n /**\n * Service stack for executing agents, functions, and triggers.\n */\n export type ComputeServices =\n | TriggerDispatcher\n | TriggerStateStore\n | AiService.AiService\n | Database.Service\n | Feed.Service\n | QueueService\n | CredentialsService\n | FunctionInvocationService\n | TracingService\n // TODO(dmaretskyi): Those should be provided at AI-chat call site.\n | ToolResolverService\n | ToolExecutionService;\n\n export type ComputeRuntime = ManagedRuntime.ManagedRuntime<AutomationCapabilities.ComputeServices, never>;\n export interface ComputeRuntimeProvider {\n getRuntime(spaceId: SpaceId): ComputeRuntime;\n }\n\n /**\n * Runtime for executing agents, functions, and triggers.\n */\n export const ComputeRuntime = Capability.make<ComputeRuntimeProvider>(`${meta.id}/capability/compute-runtime`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { ActivationEvent } from '@dxos/app-framework';\n\nimport { meta } from '../meta';\n\nexport namespace AutomationEvents {\n export const ComputeRuntimeReady = ActivationEvent.make(`${meta.id}/event/compute-runtime-ready`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Database } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\n\nimport { meta } from '../meta';\n\nconst TriggerTemplate = Schema.Union(\n Schema.Struct({ type: Schema.Literal('timer'), cron: Schema.String }),\n Schema.Struct({ type: Schema.Literal('queue'), queueDXN: Schema.Any }),\n);\n\nexport namespace AutomationAction {\n export class CreateTriggerFromTemplate extends Schema.TaggedClass<CreateTriggerFromTemplate>()(\n `${meta.id}/action/create-trigger-from-template`,\n {\n input: Schema.Struct({\n db: Database.Database,\n template: TriggerTemplate,\n enabled: Schema.optional(Schema.Boolean),\n // TODO(wittjosiah): Improve how this lookup is done.\n scriptName: Schema.optional(Schema.String),\n input: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),\n }),\n output: Schema.Void,\n },\n ) {}\n}\n\nconst AUTOMATION_OPERATION = `${meta.id}/operation`;\n\nexport namespace AutomationOperation {\n export const CreateTriggerFromTemplate = Operation.make({\n meta: { key: `${AUTOMATION_OPERATION}/create-trigger-from-template`, name: 'Create Trigger From Template' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n db: Database.Database,\n template: TriggerTemplate,\n enabled: Schema.optional(Schema.Boolean),\n scriptName: Schema.optional(Schema.String),\n input: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),\n }),\n output: Schema.Void,\n },\n });\n}\n"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport type * as ManagedRuntime from 'effect/ManagedRuntime';\n\nimport { type AiService, type ToolExecutionService, type ToolResolverService } from '@dxos/ai';\nimport { Capability } from '@dxos/app-framework';\nimport { type Database, type Feed } from '@dxos/echo';\nimport type { CredentialsService, FunctionInvocationService, QueueService, TracingService } from '@dxos/functions';\nimport type { TriggerDispatcher, TriggerStateStore } from '@dxos/functions-runtime';\nimport type { SpaceId } from '@dxos/keys';\n\nimport { meta } from '../meta';\n\nexport namespace AutomationCapabilities {\n /**\n * Service stack for executing agents, functions, and triggers.\n */\n export type ComputeServices =\n | TriggerDispatcher\n | TriggerStateStore\n | AiService.AiService\n | Database.Service\n | Feed.Service\n | QueueService\n | CredentialsService\n | FunctionInvocationService\n | TracingService\n // TODO(dmaretskyi): Those should be provided at AI-chat call site.\n | ToolResolverService\n | ToolExecutionService;\n\n export type ComputeRuntime = ManagedRuntime.ManagedRuntime<AutomationCapabilities.ComputeServices, never>;\n export interface ComputeRuntimeProvider {\n getRuntime(spaceId: SpaceId): ComputeRuntime;\n }\n\n /**\n * Runtime for executing agents, functions, and triggers.\n */\n export const ComputeRuntime = Capability.make<ComputeRuntimeProvider>(`${meta.id}.capability.compute-runtime`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { ActivationEvent } from '@dxos/app-framework';\n\nimport { meta } from '../meta';\n\nexport namespace AutomationEvents {\n export const ComputeRuntimeReady = ActivationEvent.make(`${meta.id}.event.compute-runtime-ready`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Database } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\n\nimport { meta } from '../meta';\n\nconst TriggerTemplate = Schema.Union(\n Schema.Struct({ type: Schema.Literal('timer'), cron: Schema.String }),\n Schema.Struct({ type: Schema.Literal('queue'), queueDXN: Schema.Any }),\n);\n\nexport namespace AutomationAction {\n export class CreateTriggerFromTemplate extends Schema.TaggedClass<CreateTriggerFromTemplate>()(\n `${meta.id}.action.create-trigger-from-template`,\n {\n input: Schema.Struct({\n db: Database.Database,\n template: TriggerTemplate,\n enabled: Schema.optional(Schema.Boolean),\n // TODO(wittjosiah): Improve how this lookup is done.\n scriptName: Schema.optional(Schema.String),\n input: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),\n }),\n output: Schema.Void,\n },\n ) {}\n}\n\nconst AUTOMATION_OPERATION = `${meta.id}.operation`;\n\nexport namespace AutomationOperation {\n export const CreateTriggerFromTemplate = Operation.make({\n meta: { key: `${AUTOMATION_OPERATION}.create-trigger-from-template`, name: 'Create Trigger From Template' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n db: Database.Database,\n template: TriggerTemplate,\n enabled: Schema.optional(Schema.Boolean),\n scriptName: Schema.optional(Schema.String),\n input: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),\n }),\n output: Schema.Void,\n },\n });\n}\n"],
5
5
  "mappings": ";;;;;;AAOA,SAASA,kBAAkB;UAQVC,yBAAAA;0BA0BFC,iBAAiBC,WAAWC,KAA6B,GAAGC,KAAKC,EAAE,6BAA6B;AAC/G,GA3BiBL,2BAAAA,yBAAAA,CAAAA,EAAAA;;;;ACXjB,SAASM,uBAAuB;UAIfC,mBAAAA;oBACFC,sBAAsBC,gBAAgBC,KAAK,GAAGC,KAAKC,EAAE,8BAA8B;AAClG,GAFiBL,qBAAAA,mBAAAA,CAAAA,EAAAA;;;;ACJjB,YAAYM,YAAY;AAExB,SAASC,cAAAA,mBAAkB;AAC3B,SAASC,gBAAgB;AACzB,SAASC,iBAAiB;AAI1B,IAAMC,kBAAyBC,aACtBC,cAAO;EAAEC,MAAaC,eAAQ,OAAA;EAAUC,MAAaC;AAAO,CAAA,GAC5DJ,cAAO;EAAEC,MAAaC,eAAQ,OAAA;EAAUG,UAAiBC;AAAI,CAAA,CAAA;UAGrDC,mBAAAA;EACR,MAAMC,kCAAyCC,mBAAW,EAC/D,GAAGC,KAAKC,EAAE,wCACV;IACEC,OAAcZ,cAAO;MACnBa,IAAIC,SAASA;MACbC,UAAUjB;MACVkB,SAAgBC,gBAAgBC,cAAO;;MAEvCC,YAAmBF,gBAAgBb,aAAM;MACzCQ,OAAcK,gBAAgBG,cAAO;QAAEC,KAAYjB;QAAQkB,OAAchB;MAAI,CAAA,CAAA;IAC/E,CAAA;IACAiB,QAAeC;EACjB,CAAA,EAAA;EACC;oBAbUhB,4BAAAA;AAcf,GAfiBD,qBAAAA,mBAAAA,CAAAA,EAAAA;AAiBjB,IAAMkB,uBAAuB,GAAGf,KAAKC,EAAE;UAEtBe,sBAAAA;uBACFlB,4BAA4BmB,UAAUC,KAAK;IACtDlB,MAAM;MAAEW,KAAK,GAAGI,oBAAAA;MAAqDI,MAAM;IAA+B;IAC1GC,UAAU;MAACC,YAAWC;;IACtBC,QAAQ;MACNrB,OAAcZ,cAAO;QACnBa,IAAIC,SAASA;QACbC,UAAUjB;QACVkB,SAAgBC,gBAAgBC,cAAO;QACvCC,YAAmBF,gBAAgBb,aAAM;QACzCQ,OAAcK,gBAAgBG,cAAO;UAAEC,KAAYjB;UAAQkB,OAAchB;QAAI,CAAA,CAAA;MAC/E,CAAA;MACAiB,QAAeC;IACjB;EACF,CAAA;AACF,GAfiBE,wBAAAA,sBAAAA,CAAAA,EAAAA;;;",
6
6
  "names": ["Capability", "AutomationCapabilities", "ComputeRuntime", "Capability", "make", "meta", "id", "ActivationEvent", "AutomationEvents", "ComputeRuntimeReady", "ActivationEvent", "make", "meta", "id", "Schema", "Capability", "Database", "Operation", "TriggerTemplate", "Union", "Struct", "type", "Literal", "cron", "String", "queueDXN", "Any", "AutomationAction", "CreateTriggerFromTemplate", "TaggedClass", "meta", "id", "input", "db", "Database", "template", "enabled", "optional", "Boolean", "scriptName", "Record", "key", "value", "output", "Void", "AUTOMATION_OPERATION", "AutomationOperation", "Operation", "make", "name", "services", "Capability", "Service", "schema"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  meta
4
- } from "./chunk-5FXNN3MV.mjs";
4
+ } from "./chunk-WC5AT7B3.mjs";
5
5
 
6
6
  // src/components/FunctionsRegistry/FunctionsRegistry.tsx
7
7
  import * as Schema from "effect/Schema";
@@ -94,4 +94,4 @@ export {
94
94
  FunctionsRegistry,
95
95
  FunctionsRegistry_default
96
96
  };
97
- //# sourceMappingURL=chunk-RTEXGGBX.mjs.map
97
+ //# sourceMappingURL=chunk-6JVB3IHW.mjs.map
@@ -1,10 +1,10 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  TriggerEditor
4
- } from "./chunk-CMZ4NKSK.mjs";
4
+ } from "./chunk-Q5JSKD6Z.mjs";
5
5
  import {
6
6
  meta
7
- } from "./chunk-5FXNN3MV.mjs";
7
+ } from "./chunk-WC5AT7B3.mjs";
8
8
 
9
9
  // src/components/AutomationPanel/AutomationPanel.tsx
10
10
  import * as Array from "effect/Array";
@@ -50,9 +50,6 @@ var AutomationPanel = ({ space, object, initialTrigger, onDone }) => {
50
50
  ],
51
51
  kind: [
52
52
  "user"
53
- ],
54
- registered: [
55
- "registered"
56
53
  ]
57
54
  }
58
55
  });
@@ -210,7 +207,7 @@ var TriggerListItem = ({ trigger, functions, onSelect, onDelete, onResetCursor,
210
207
  }, "Position: ", cursor)), copyAction && /* @__PURE__ */ React.createElement(Clipboard.IconButton, {
211
208
  label: t(copyAction.translationKey),
212
209
  value: copyAction.contentProvider()
213
- })), actionProps ? /* @__PURE__ */ React.createElement(List.ItemButton, {
210
+ })), actionProps ? /* @__PURE__ */ React.createElement(List.ItemIconButton, {
214
211
  ...actionProps,
215
212
  autoHide: false
216
213
  }) : /* @__PURE__ */ React.createElement("div", null), onDelete && /* @__PURE__ */ React.createElement(List.ItemDeleteButton, {
@@ -270,4 +267,4 @@ export {
270
267
  AutomationPanel,
271
268
  AutomationPanel_default
272
269
  };
273
- //# sourceMappingURL=chunk-7AIKTEAX.mjs.map
270
+ //# sourceMappingURL=chunk-FPXVLTEY.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/AutomationPanel/AutomationPanel.tsx", "../../../src/components/AutomationPanel/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Array from 'effect/Array';\nimport * as EFn from 'effect/Function';\nimport * as Match from 'effect/Match';\nimport * as Schema from 'effect/Schema';\nimport React, { useCallback, useMemo, useState } from 'react';\n\nimport { Filter, Obj, Tag } from '@dxos/echo';\nimport { Function, Script, Trigger } from '@dxos/functions';\nimport { KEY_QUEUE_CURSOR } from '@dxos/functions-runtime';\nimport { FunctionsServiceClient } from '@dxos/functions-runtime/edge';\nimport { useTypeOptions } from '@dxos/plugin-space';\nimport { type Client, useClient } from '@dxos/react-client';\nimport { type Space, useObject, useQuery } from '@dxos/react-client/echo';\nimport { Clipboard, IconButton, type IconButtonProps, Input, Separator, useTranslation } from '@dxos/react-ui';\nimport { Settings } from '@dxos/react-ui-form';\nimport { List } from '@dxos/react-ui-list';\nimport { Pipeline } from '@dxos/types';\nimport { ghostHover, mx } from '@dxos/ui-theme';\nimport { isNonNullable } from '@dxos/util';\n\nimport { meta } from '../../meta';\nimport { TriggerEditor, type TriggerEditorProps } from '../TriggerEditor';\n\nconst grid = 'grid grid-cols-[40px_1fr_32px_32px] min-h-[2.5rem]';\n\nexport type AutomationPanelProps = {\n space: Space;\n object?: Obj.Unknown;\n initialTrigger?: Trigger.Trigger;\n onDone?: () => void;\n};\n\n// TODO(burdon): Factor out common layout with ViewEditor.\nexport const AutomationPanel = ({ space, object, initialTrigger, onDone }: AutomationPanelProps) => {\n const { t } = useTranslation(meta.id);\n const client = useClient();\n const functionsServiceClient = useMemo(() => FunctionsServiceClient.fromClient(client), [client]);\n const functions = useQuery(space.db, Filter.type(Function.Function));\n const triggers = useQuery(space.db, Filter.type(Trigger.Trigger));\n const filteredTriggers = useMemo(() => {\n return object ? triggers.filter(triggerMatch(object)) : triggers;\n }, [object, triggers]);\n const tags = useQuery(space.db, Filter.type(Tag.Tag));\n const types = useTypeOptions({\n space,\n annotation: {\n location: ['database', 'runtime'],\n kind: ['user'],\n },\n });\n\n const [trigger, setTrigger] = useState<Trigger.Trigger | undefined>(initialTrigger);\n const [selected, setSelected] = useState<Trigger.Trigger>();\n\n const handleSelect = (trigger: Trigger.Trigger) => {\n setTrigger(trigger);\n setSelected(trigger);\n };\n\n const handleAdd = () => {\n setTrigger(Trigger.make({}));\n setSelected(undefined);\n };\n\n const handleDelete = (trigger: Trigger.Trigger) => {\n space.db.remove(trigger);\n setTrigger(undefined);\n setSelected(undefined);\n };\n\n const handleSave: TriggerEditorProps['onSave'] = (trigger) => {\n if (selected) {\n Obj.change(selected, (mutable) => {\n Object.assign(mutable, trigger);\n });\n } else {\n space.db.add(Trigger.make(trigger));\n }\n\n setTrigger(undefined);\n setSelected(undefined);\n onDone?.();\n };\n\n const handleCancel: TriggerEditorProps['onCancel'] = () => {\n setTrigger(undefined);\n onDone?.();\n };\n\n const handleForceRunTrigger = async (trigger: Trigger.Trigger) => {\n await functionsServiceClient.forceRunCronTrigger(space.id, trigger.id);\n };\n\n const handleResetCursor = async (trigger: Trigger.Trigger) => {\n Obj.change(trigger, (t) => {\n Obj.deleteKeys(t, KEY_QUEUE_CURSOR);\n });\n await space.db.flush({ indexes: true });\n };\n\n if (trigger) {\n return (\n <Settings.Item title={t('trigger editor title')} description={t('trigger editor description')}>\n <TriggerEditor\n db={space.db}\n trigger={trigger}\n readonlySpec={Boolean(object)}\n tags={tags}\n types={types}\n onSave={handleSave}\n onCancel={handleCancel}\n />\n </Settings.Item>\n );\n }\n\n return (\n <Settings.Container>\n {filteredTriggers.length > 0 && (\n <List.Root<Trigger.Trigger>\n items={filteredTriggers}\n isItem={Schema.is(Trigger.Trigger)}\n getId={(field) => field.id}\n >\n {({ items: filteredTriggers }) => (\n <div role='list' className='flex flex-col w-full'>\n {filteredTriggers?.map((trigger) => (\n <TriggerListItem\n key={trigger.id}\n trigger={trigger}\n functions={functions}\n onSelect={handleSelect}\n onDelete={handleDelete}\n onResetCursor={handleResetCursor}\n onForceRun={handleForceRunTrigger}\n />\n ))}\n </div>\n )}\n </List.Root>\n )}\n\n {filteredTriggers.length > 0 && <Separator classNames='my-4' />}\n <IconButton icon='ph--plus--regular' label={t('new trigger label')} onClick={handleAdd} />\n </Settings.Container>\n );\n};\n\nconst TriggerListItem = ({\n trigger,\n functions,\n onSelect,\n onDelete,\n onResetCursor,\n onForceRun,\n}: {\n trigger: Trigger.Trigger;\n functions: Function.Function[];\n onSelect?: (trigger: Trigger.Trigger) => void;\n onDelete?: (trigger: Trigger.Trigger) => void;\n onResetCursor?: (trigger: Trigger.Trigger) => void;\n onForceRun?: (trigger: Trigger.Trigger) => void;\n}) => {\n const client = useClient();\n const copyAction = getCopyAction(client, trigger);\n const { t } = useTranslation(meta.id);\n const cursor = Obj.getKeys(trigger, KEY_QUEUE_CURSOR).at(0)?.id;\n const [snapshot, updateTrigger] = useObject(trigger);\n\n const enabled = snapshot.enabled ?? false;\n const onEnabledChange = (checked: boolean) => {\n updateTrigger((trigger) => {\n trigger.enabled = checked;\n });\n };\n\n const handleSelect = useCallback(() => {\n onSelect?.(trigger);\n }, [onSelect, trigger]);\n\n const handleDelete = useCallback(() => {\n onDelete?.(trigger);\n }, [onDelete, trigger]);\n\n const handleResetCursor = useCallback(() => {\n onResetCursor?.(trigger);\n }, [onResetCursor, trigger]);\n\n const handleForceRun = useCallback(() => {\n onForceRun?.(trigger);\n }, [onForceRun, trigger]);\n\n const actionProps = useMemo<IconButtonProps | undefined>(() => {\n if (trigger.spec?.kind === 'timer' && onForceRun) {\n return {\n disabled: !enabled || trigger.spec?.kind !== 'timer',\n icon: 'ph--play--regular',\n label: 'Force run',\n onClick: handleForceRun,\n };\n }\n\n if (trigger.spec?.kind === 'queue' && onResetCursor) {\n return {\n disabled: !cursor,\n icon: 'ph--arrow-clockwise--regular',\n label: 'Reset cursor',\n onClick: handleResetCursor,\n };\n }\n }, [enabled, trigger.spec?.kind, handleForceRun]);\n\n return (\n <List.Item<Obj.Snapshot<Trigger.Trigger>>\n key={trigger.id}\n item={snapshot}\n classNames={mx(grid, ghostHover, 'items-center', 'px-2')}\n >\n <Input.Root>\n <Input.Switch checked={enabled} onCheckedChange={onEnabledChange} />\n </Input.Root>\n\n <div className={'flex'}>\n <List.ItemTitle classNames='px-1 cursor-pointer w-0 shrink truncate' onClick={handleSelect}>\n {getFunctionName(functions, trigger) ?? '∅'}\n {cursor && <div className='text-xs text-description truncate ml-4'>Position: {cursor}</div>}\n </List.ItemTitle>\n\n {copyAction && (\n <Clipboard.IconButton label={t(copyAction.translationKey)} value={copyAction.contentProvider()} />\n )}\n </div>\n\n {actionProps ? <List.ItemIconButton {...actionProps} autoHide={false} /> : <div />}\n\n {onDelete && <List.ItemDeleteButton onClick={handleDelete} />}\n </List.Item>\n );\n};\n\nconst getCopyAction = (client: Client, trigger: Trigger.Trigger | undefined) => {\n if (trigger?.spec?.kind === 'email') {\n return {\n translationKey: 'trigger copy email' as const,\n contentProvider: () => `${Obj.getDatabase(trigger)!.spaceId}@dxos.network`,\n };\n }\n\n if (trigger?.spec?.kind === 'webhook') {\n return {\n translationKey: 'trigger copy url' as const,\n contentProvider: () => getWebhookUrl(client, trigger!),\n };\n }\n\n return undefined;\n};\n\nconst getWebhookUrl = (client: Client, trigger: Trigger.Trigger) => {\n const spaceId = Obj.getDatabase(trigger)!.spaceId;\n const edgeUrl = new URL(client.config.values.runtime!.services!.edge!.url!);\n const isSecure = edgeUrl.protocol.startsWith('https') || edgeUrl.protocol.startsWith('wss');\n edgeUrl.protocol = isSecure ? 'https' : 'http';\n return new URL(`/webhook/${spaceId}:${trigger.id}`, edgeUrl).toString();\n};\n\nconst getFunctionName = (functions: Function.Function[], trigger: Trigger.Trigger) => {\n // TODO(wittjosiah): Truncation should be done in the UI.\n // Warning that the List component is currently a can of worms.\n const shortId = trigger.function && `${trigger.function.dxn.toString().slice(0, 16)}…`;\n const functionObject = functions.find((fn) => fn === trigger.function?.target);\n return functionObject?.name ?? shortId;\n};\n\nconst scriptMatch = (script: Script.Script) => (trigger: Trigger.Trigger) => {\n const fn = trigger.function?.target;\n if (!Obj.instanceOf(Function.Function, fn)) {\n return false;\n }\n\n return fn.source?.target === script;\n};\n\nconst projectMatch = (project: Pipeline.Pipeline) => {\n const viewQueries = EFn.pipe(\n project.columns,\n Array.map((column) => column.view.target),\n Array.filter(isNonNullable),\n Array.map((view) => Obj.getSnapshot(view).query.ast),\n Array.map((ast) => JSON.stringify(ast)),\n );\n\n return (trigger: Trigger.Trigger) => {\n const spec = Obj.getSnapshot(trigger).spec;\n if (spec?.kind !== 'subscription') {\n return false;\n }\n\n // TODO(wittjosiah): Implement better way of comparing query ASTs.\n return viewQueries.some((query) => JSON.stringify(spec.query) === query);\n };\n};\n\nconst triggerMatch = Match.type<Obj.Unknown>().pipe(\n Match.withReturnType<(trigger: Trigger.Trigger) => boolean>(),\n Match.when(\n (obj) => Obj.instanceOf(Script.Script, obj),\n (obj) => scriptMatch(obj),\n ),\n Match.when(\n (obj) => Obj.instanceOf(Pipeline.Pipeline, obj),\n (obj) => projectMatch(obj),\n ),\n Match.orElse((_obj) => () => true),\n);\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { AutomationPanel } from './AutomationPanel';\n\nexport * from './AutomationPanel';\n\nexport default AutomationPanel;\n"],
5
+ "mappings": "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",
6
+ "names": ["Array", "EFn", "Match", "Schema", "React", "useCallback", "useMemo", "useState", "Filter", "Obj", "Tag", "Function", "Script", "Trigger", "KEY_QUEUE_CURSOR", "FunctionsServiceClient", "useTypeOptions", "useClient", "useObject", "useQuery", "Clipboard", "IconButton", "Input", "Separator", "useTranslation", "Settings", "List", "Pipeline", "ghostHover", "mx", "isNonNullable", "grid", "AutomationPanel", "space", "object", "initialTrigger", "onDone", "t", "useTranslation", "meta", "id", "client", "useClient", "functionsServiceClient", "useMemo", "FunctionsServiceClient", "fromClient", "functions", "useQuery", "db", "Filter", "type", "Function", "triggers", "Trigger", "filteredTriggers", "filter", "triggerMatch", "tags", "Tag", "types", "useTypeOptions", "annotation", "location", "kind", "trigger", "setTrigger", "useState", "selected", "setSelected", "handleSelect", "handleAdd", "make", "undefined", "handleDelete", "remove", "handleSave", "Obj", "change", "mutable", "Object", "assign", "add", "handleCancel", "handleForceRunTrigger", "forceRunCronTrigger", "handleResetCursor", "deleteKeys", "KEY_QUEUE_CURSOR", "flush", "indexes", "Settings", "Item", "title", "description", "TriggerEditor", "readonlySpec", "Boolean", "onSave", "onCancel", "Container", "length", "List", "Root", "items", "isItem", "is", "getId", "field", "div", "role", "className", "map", "TriggerListItem", "key", "onSelect", "onDelete", "onResetCursor", "onForceRun", "Separator", "classNames", "IconButton", "icon", "label", "onClick", "copyAction", "getCopyAction", "cursor", "getKeys", "at", "snapshot", "updateTrigger", "useObject", "enabled", "onEnabledChange", "checked", "useCallback", "handleForceRun", "actionProps", "spec", "disabled", "item", "mx", "ghostHover", "Input", "Switch", "onCheckedChange", "ItemTitle", "getFunctionName", "Clipboard", "translationKey", "value", "contentProvider", "ItemIconButton", "autoHide", "ItemDeleteButton", "getDatabase", "spaceId", "getWebhookUrl", "edgeUrl", "URL", "config", "values", "runtime", "services", "edge", "url", "isSecure", "protocol", "startsWith", "toString", "shortId", "function", "dxn", "slice", "functionObject", "find", "fn", "target", "name", "scriptMatch", "script", "instanceOf", "source", "projectMatch", "project", "viewQueries", "pipe", "columns", "column", "view", "isNonNullable", "getSnapshot", "query", "ast", "JSON", "stringify", "some", "withReturnType", "when", "obj", "Script", "Pipeline", "orElse", "_obj", "AutomationPanel"]
7
+ }
@@ -1,10 +1,10 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  useTriggerRuntimeControls
4
- } from "./chunk-QNPYY3XZ.mjs";
4
+ } from "./chunk-2UF55HSG.mjs";
5
5
  import {
6
6
  meta
7
- } from "./chunk-5FXNN3MV.mjs";
7
+ } from "./chunk-WC5AT7B3.mjs";
8
8
 
9
9
  // src/containers/TriggerSettings/TriggerSettings.tsx
10
10
  import React from "react";
@@ -29,4 +29,4 @@ var TriggersSettings = ({ db }) => {
29
29
  export {
30
30
  TriggersSettings
31
31
  };
32
- //# sourceMappingURL=chunk-34HGM46Z.mjs.map
32
+ //# sourceMappingURL=chunk-JVUE5PMI.mjs.map