@dxos/plugin-pipeline 0.8.4-main.4a85c3132b → 0.8.4-main.4f23b4e393

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 (148) hide show
  1. package/dist/lib/neutral/PipelineContainer-7MK2SS76.mjs +69 -0
  2. package/dist/lib/neutral/PipelineContainer-7MK2SS76.mjs.map +7 -0
  3. package/dist/lib/neutral/PipelinePlugin.mjs +26 -0
  4. package/dist/lib/neutral/PipelinePlugin.mjs.map +7 -0
  5. package/dist/lib/neutral/PipelinePlugin.node.mjs +21 -0
  6. package/dist/lib/neutral/PipelinePlugin.node.mjs.map +7 -0
  7. package/dist/lib/{browser/PipelineObjectSettings-D36OYVHW.mjs → neutral/PipelineProperties-GED4FJSS.mjs} +36 -49
  8. package/dist/lib/neutral/PipelineProperties-GED4FJSS.mjs.map +7 -0
  9. package/dist/lib/neutral/app-graph-builder-ZLGRWRJU.mjs +44 -0
  10. package/dist/lib/neutral/app-graph-builder-ZLGRWRJU.mjs.map +7 -0
  11. package/dist/lib/neutral/capabilities/index.mjs +11 -0
  12. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  13. package/dist/lib/{browser/chunk-QWNKLHBY.mjs → neutral/chunk-ULB5DKWO.mjs} +2 -9
  14. package/dist/lib/{browser/chunk-QWNKLHBY.mjs.map → neutral/chunk-ULB5DKWO.mjs.map} +3 -3
  15. package/dist/lib/neutral/components/index.mjs +206 -0
  16. package/dist/lib/neutral/components/index.mjs.map +7 -0
  17. package/dist/lib/neutral/containers/index.mjs +9 -0
  18. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  19. package/dist/lib/neutral/create-object-ZJYFACOI.mjs +25 -0
  20. package/dist/lib/neutral/create-object-ZJYFACOI.mjs.map +7 -0
  21. package/dist/lib/neutral/hooks/index.mjs +70 -0
  22. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  23. package/dist/lib/neutral/index.mjs +7 -0
  24. package/dist/lib/neutral/meta.json +1 -0
  25. package/dist/lib/neutral/meta.mjs +7 -0
  26. package/dist/lib/neutral/meta.mjs.map +7 -0
  27. package/dist/lib/neutral/plugin.mjs +11 -0
  28. package/dist/lib/neutral/plugin.mjs.map +7 -0
  29. package/dist/lib/{browser/react-surface-ZGQVH4VX.mjs → neutral/react-surface-TW6TRMO6.mjs} +14 -25
  30. package/dist/lib/neutral/react-surface-TW6TRMO6.mjs.map +7 -0
  31. package/dist/lib/neutral/translations.mjs +38 -0
  32. package/dist/lib/neutral/translations.mjs.map +7 -0
  33. package/dist/lib/neutral/types/index.mjs +1 -0
  34. package/dist/lib/neutral/types/index.mjs.map +7 -0
  35. package/dist/types/src/PipelinePlugin.d.ts +1 -0
  36. package/dist/types/src/PipelinePlugin.d.ts.map +1 -1
  37. package/dist/types/src/PipelinePlugin.node.d.ts +4 -0
  38. package/dist/types/src/PipelinePlugin.node.d.ts.map +1 -0
  39. package/dist/types/src/PipelinePlugin.test.d.ts +2 -0
  40. package/dist/types/src/PipelinePlugin.test.d.ts.map +1 -0
  41. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  42. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  43. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  44. package/dist/types/src/capabilities/index.d.ts +9 -3
  45. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  46. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  47. package/dist/types/src/components/{PipelineColumn.d.ts → PipelineComponent/PipelineColumn.d.ts} +4 -4
  48. package/dist/types/src/components/PipelineComponent/PipelineColumn.d.ts.map +1 -0
  49. package/dist/types/src/components/PipelineComponent/PipelineComponent.d.ts +53 -0
  50. package/dist/types/src/components/PipelineComponent/PipelineComponent.d.ts.map +1 -0
  51. package/dist/types/src/components/PipelineComponent/PipelineComponent.stories.d.ts +62 -0
  52. package/dist/types/src/components/PipelineComponent/PipelineComponent.stories.d.ts.map +1 -0
  53. package/dist/types/src/components/PipelineComponent/index.d.ts +3 -0
  54. package/dist/types/src/components/PipelineComponent/index.d.ts.map +1 -0
  55. package/dist/types/src/components/index.d.ts +0 -1
  56. package/dist/types/src/components/index.d.ts.map +1 -1
  57. package/dist/types/src/containers/PipelineContainer/PipelineContainer.d.ts +3 -3
  58. package/dist/types/src/containers/PipelineContainer/PipelineContainer.d.ts.map +1 -1
  59. package/dist/types/src/containers/PipelineContainer/PipelineContainer.stories.d.ts +52 -32
  60. package/dist/types/src/containers/PipelineContainer/PipelineContainer.stories.d.ts.map +1 -1
  61. package/dist/types/src/containers/PipelineContainer/index.d.ts +1 -2
  62. package/dist/types/src/containers/PipelineContainer/index.d.ts.map +1 -1
  63. package/dist/types/src/containers/PipelineProperties/PipelineProperties.d.ts +11 -0
  64. package/dist/types/src/containers/PipelineProperties/PipelineProperties.d.ts.map +1 -0
  65. package/dist/types/src/containers/PipelineProperties/index.d.ts +2 -0
  66. package/dist/types/src/containers/PipelineProperties/index.d.ts.map +1 -0
  67. package/dist/types/src/containers/index.d.ts +1 -1
  68. package/dist/types/src/containers/index.d.ts.map +1 -1
  69. package/dist/types/src/hooks/usePipelineBoardModel.d.ts.map +1 -1
  70. package/dist/types/src/index.d.ts +0 -1
  71. package/dist/types/src/index.d.ts.map +1 -1
  72. package/dist/types/src/plugin.d.ts +3 -0
  73. package/dist/types/src/plugin.d.ts.map +1 -0
  74. package/dist/types/src/templates/research.d.ts.map +1 -1
  75. package/dist/types/src/translations.d.ts +44 -25
  76. package/dist/types/src/translations.d.ts.map +1 -1
  77. package/dist/types/src/types/index.d.ts +0 -2
  78. package/dist/types/src/types/index.d.ts.map +1 -1
  79. package/dist/types/tsconfig.tsbuildinfo +1 -1
  80. package/package.json +100 -56
  81. package/src/PipelinePlugin.node.ts +19 -0
  82. package/src/PipelinePlugin.test.ts +27 -0
  83. package/src/PipelinePlugin.tsx +7 -31
  84. package/src/capabilities/app-graph-builder.ts +40 -0
  85. package/src/capabilities/create-object.ts +29 -0
  86. package/src/capabilities/index.ts +5 -3
  87. package/src/capabilities/{react-surface/react-surface.tsx → react-surface.tsx} +16 -15
  88. package/src/components/{PipelineColumn.tsx → PipelineComponent/PipelineColumn.tsx} +70 -39
  89. package/src/components/{PipelineComponent.stories.tsx → PipelineComponent/PipelineComponent.stories.tsx} +21 -21
  90. package/src/components/{PipelineComponent.tsx → PipelineComponent/PipelineComponent.tsx} +22 -13
  91. package/src/components/PipelineComponent/index.ts +6 -0
  92. package/src/components/index.ts +0 -1
  93. package/src/containers/PipelineContainer/PipelineContainer.stories.tsx +41 -42
  94. package/src/containers/PipelineContainer/PipelineContainer.tsx +14 -17
  95. package/src/containers/PipelineContainer/index.ts +1 -3
  96. package/src/containers/{PipelineObjectSettings/PipelineObjectSettings.tsx → PipelineProperties/PipelineProperties.tsx} +39 -39
  97. package/src/containers/PipelineProperties/index.ts +5 -0
  98. package/src/containers/index.ts +1 -1
  99. package/src/hooks/usePipelineBoardModel.ts +1 -1
  100. package/src/index.ts +0 -1
  101. package/src/meta.ts +1 -1
  102. package/src/plugin.ts +9 -0
  103. package/src/templates/research.ts +8 -7
  104. package/src/translations.ts +22 -21
  105. package/src/types/index.ts +0 -3
  106. package/dist/lib/browser/PipelineContainer-2ZYSZATA.mjs +0 -320
  107. package/dist/lib/browser/PipelineContainer-2ZYSZATA.mjs.map +0 -7
  108. package/dist/lib/browser/PipelineObjectSettings-D36OYVHW.mjs.map +0 -7
  109. package/dist/lib/browser/app-graph-builder-NUJB33F7.mjs +0 -65
  110. package/dist/lib/browser/app-graph-builder-NUJB33F7.mjs.map +0 -7
  111. package/dist/lib/browser/chunk-N6FZHYWT.mjs +0 -42
  112. package/dist/lib/browser/chunk-N6FZHYWT.mjs.map +0 -7
  113. package/dist/lib/browser/index.mjs +0 -109
  114. package/dist/lib/browser/index.mjs.map +0 -7
  115. package/dist/lib/browser/meta.json +0 -1
  116. package/dist/lib/browser/react-surface-ZGQVH4VX.mjs.map +0 -7
  117. package/dist/lib/browser/types/index.mjs +0 -10
  118. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +0 -1
  119. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +0 -3
  120. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +0 -1
  121. package/dist/types/src/capabilities/operation-resolver/index.d.ts +0 -2
  122. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +0 -1
  123. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +0 -5
  124. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +0 -1
  125. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
  126. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  127. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  128. package/dist/types/src/components/PipelineColumn.d.ts.map +0 -1
  129. package/dist/types/src/components/PipelineComponent.d.ts +0 -47
  130. package/dist/types/src/components/PipelineComponent.d.ts.map +0 -1
  131. package/dist/types/src/components/PipelineComponent.stories.d.ts +0 -42
  132. package/dist/types/src/components/PipelineComponent.stories.d.ts.map +0 -1
  133. package/dist/types/src/containers/PipelineObjectSettings/PipelineObjectSettings.d.ts +0 -11
  134. package/dist/types/src/containers/PipelineObjectSettings/PipelineObjectSettings.d.ts.map +0 -1
  135. package/dist/types/src/containers/PipelineObjectSettings/index.d.ts +0 -3
  136. package/dist/types/src/containers/PipelineObjectSettings/index.d.ts.map +0 -1
  137. package/dist/types/src/types/PipelineAction.d.ts +0 -25
  138. package/dist/types/src/types/PipelineAction.d.ts.map +0 -1
  139. package/src/capabilities/app-graph-builder/app-graph-builder.ts +0 -51
  140. package/src/capabilities/app-graph-builder/index.ts +0 -7
  141. package/src/capabilities/operation-resolver/index.ts +0 -5
  142. package/src/capabilities/operation-resolver/operation-resolver.ts +0 -29
  143. package/src/capabilities/react-surface/index.ts +0 -7
  144. package/src/containers/PipelineObjectSettings/index.ts +0 -7
  145. package/src/types/PipelineAction.ts +0 -29
  146. /package/dist/lib/{browser/types → neutral}/index.mjs.map +0 -0
  147. /package/dist/types/src/capabilities/{app-graph-builder/app-graph-builder.d.ts → app-graph-builder.d.ts} +0 -0
  148. /package/dist/types/src/capabilities/{react-surface/react-surface.d.ts → react-surface.d.ts} +0 -0
@@ -0,0 +1,69 @@
1
+ // src/containers/PipelineContainer/PipelineContainer.tsx
2
+ import React, { useCallback, useEffect } from "react";
3
+ import { Capabilities } from "@dxos/app-framework";
4
+ import { Surface, useCapability, useOperationInvoker } from "@dxos/app-framework/ui";
5
+ import { LayoutOperation } from "@dxos/app-toolkit";
6
+ import { AppSurface, OBJECT_ACTIONS_CONTRIBUTION_ID, OBJECT_ACTIONS_CONTRIBUTION_PRIORITY, useObjectMenuItems } from "@dxos/app-toolkit/ui";
7
+ import { Panel } from "@dxos/react-ui";
8
+ import { linkedSegment } from "@dxos/react-ui-attention";
9
+ import { useAttention } from "@dxos/react-ui-attention";
10
+ import { useMenu } from "@dxos/react-ui-menu";
11
+ import { PipelineComponent } from "#components";
12
+ import { usePipelineBoardModel } from "#hooks";
13
+ var PIPELINE_ITEM = "PipelineItem";
14
+ var PipelineContainer = ({ role, subject: pipeline, attendableId }) => {
15
+ const registry = useCapability(Capabilities.AtomRegistry);
16
+ const model = usePipelineBoardModel(pipeline, registry);
17
+ const { invokePromise } = useOperationInvoker();
18
+ const { hasAttention } = useAttention(attendableId);
19
+ const handleColumnAdd = useCallback(() => invokePromise(LayoutOperation.UpdateCompanion, {
20
+ subject: linkedSegment("settings")
21
+ }), [
22
+ invokePromise
23
+ ]);
24
+ return /* @__PURE__ */ React.createElement(PipelineComponent.Root, {
25
+ Item: PipelineItem,
26
+ onAddColumn: handleColumnAdd
27
+ }, /* @__PURE__ */ React.createElement(Panel.Root, {
28
+ role
29
+ }, /* @__PURE__ */ React.createElement(Panel.Toolbar, {
30
+ asChild: true
31
+ }, /* @__PURE__ */ React.createElement(PipelineComponent.Toolbar, {
32
+ disabled: !hasAttention
33
+ })), /* @__PURE__ */ React.createElement(Panel.Content, {
34
+ asChild: true
35
+ }, /* @__PURE__ */ React.createElement(PipelineComponent.Content, {
36
+ asChild: true,
37
+ model
38
+ }, /* @__PURE__ */ React.createElement(PipelineComponent.Columns, {
39
+ pipeline
40
+ })))));
41
+ };
42
+ var PipelineItem = ({ item, projectionModel }) => {
43
+ const menu = useMenu(PIPELINE_ITEM);
44
+ const items = useObjectMenuItems(item);
45
+ useEffect(() => {
46
+ menu.addMenuItems({
47
+ id: OBJECT_ACTIONS_CONTRIBUTION_ID,
48
+ mode: "additive",
49
+ priority: OBJECT_ACTIONS_CONTRIBUTION_PRIORITY,
50
+ items
51
+ });
52
+ return () => menu.removeMenuItems(OBJECT_ACTIONS_CONTRIBUTION_ID);
53
+ }, [
54
+ menu,
55
+ items
56
+ ]);
57
+ return /* @__PURE__ */ React.createElement(Surface.Surface, {
58
+ type: AppSurface.Card,
59
+ data: {
60
+ subject: item,
61
+ projection: projectionModel
62
+ },
63
+ limit: 1
64
+ });
65
+ };
66
+ export {
67
+ PipelineContainer as default
68
+ };
69
+ //# sourceMappingURL=PipelineContainer-7MK2SS76.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/PipelineContainer/PipelineContainer.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useCallback, useEffect } from 'react';\n\nimport { Capabilities } from '@dxos/app-framework';\nimport { Surface, useCapability, useOperationInvoker } from '@dxos/app-framework/ui';\nimport { LayoutOperation } from '@dxos/app-toolkit';\nimport {\n AppSurface,\n OBJECT_ACTIONS_CONTRIBUTION_ID,\n OBJECT_ACTIONS_CONTRIBUTION_PRIORITY,\n useObjectMenuItems,\n} from '@dxos/app-toolkit/ui';\nimport { Panel } from '@dxos/react-ui';\nimport { linkedSegment } from '@dxos/react-ui-attention';\nimport { useAttention } from '@dxos/react-ui-attention';\nimport { useMenu } from '@dxos/react-ui-menu';\nimport { type Pipeline } from '@dxos/types';\n\nimport { type ItemProps, PipelineComponent } from '#components';\nimport { usePipelineBoardModel } from '#hooks';\n\nconst PIPELINE_ITEM = 'PipelineItem';\n\nexport type PipelineContainerProps = AppSurface.ObjectArticleProps<Pipeline.Pipeline>;\n\nexport const PipelineContainer = ({ role, subject: pipeline, attendableId }: PipelineContainerProps) => {\n const registry = useCapability(Capabilities.AtomRegistry);\n const model = usePipelineBoardModel(pipeline, registry);\n const { invokePromise } = useOperationInvoker();\n const { hasAttention } = useAttention(attendableId);\n\n const handleColumnAdd = useCallback(\n () =>\n invokePromise(LayoutOperation.UpdateCompanion, {\n subject: linkedSegment('settings'),\n }),\n [invokePromise],\n );\n\n return (\n <PipelineComponent.Root Item={PipelineItem} onAddColumn={handleColumnAdd}>\n <Panel.Root role={role}>\n <Panel.Toolbar asChild>\n <PipelineComponent.Toolbar disabled={!hasAttention} />\n </Panel.Toolbar>\n <Panel.Content asChild>\n <PipelineComponent.Content asChild model={model}>\n <PipelineComponent.Columns pipeline={pipeline} />\n </PipelineComponent.Content>\n </Panel.Content>\n </Panel.Root>\n </PipelineComponent.Root>\n );\n};\n\nconst PipelineItem = ({ item, projectionModel }: ItemProps) => {\n const menu = useMenu(PIPELINE_ITEM);\n const items = useObjectMenuItems(item);\n\n useEffect(() => {\n menu.addMenuItems({\n id: OBJECT_ACTIONS_CONTRIBUTION_ID,\n mode: 'additive',\n priority: OBJECT_ACTIONS_CONTRIBUTION_PRIORITY,\n items,\n });\n\n return () => menu.removeMenuItems(OBJECT_ACTIONS_CONTRIBUTION_ID);\n }, [menu, items]);\n\n return (\n <Surface.Surface\n type={AppSurface.Card}\n data={{\n subject: item,\n projection: projectionModel,\n }}\n limit={1}\n />\n );\n};\n"],
5
+ "mappings": ";AAIA,OAAOA,SAASC,aAAaC,iBAAiB;AAE9C,SAASC,oBAAoB;AAC7B,SAASC,SAASC,eAAeC,2BAA2B;AAC5D,SAASC,uBAAuB;AAChC,SACEC,YACAC,gCACAC,sCACAC,0BACK;AACP,SAASC,aAAa;AACtB,SAASC,qBAAqB;AAC9B,SAASC,oBAAoB;AAC7B,SAASC,eAAe;AAGxB,SAAyBC,yBAAyB;AAClD,SAASC,6BAA6B;AAEtC,IAAMC,gBAAgB;AAIf,IAAMC,oBAAoB,CAAC,EAAEC,MAAMC,SAASC,UAAUC,aAAY,MAA0B;AACjG,QAAMC,WAAWnB,cAAcF,aAAasB,YAAY;AACxD,QAAMC,QAAQT,sBAAsBK,UAAUE,QAAAA;AAC9C,QAAM,EAAEG,cAAa,IAAKrB,oBAAAA;AAC1B,QAAM,EAAEsB,aAAY,IAAKd,aAAaS,YAAAA;AAEtC,QAAMM,kBAAkB5B,YACtB,MACE0B,cAAcpB,gBAAgBuB,iBAAiB;IAC7CT,SAASR,cAAc,UAAA;EACzB,CAAA,GACF;IAACc;GAAc;AAGjB,SACE,sBAAA,cAACX,kBAAkBe,MAAI;IAACC,MAAMC;IAAcC,aAAaL;KACvD,sBAAA,cAACjB,MAAMmB,MAAI;IAACX;KACV,sBAAA,cAACR,MAAMuB,SAAO;IAACC,SAAAA;KACb,sBAAA,cAACpB,kBAAkBmB,SAAO;IAACE,UAAU,CAACT;OAExC,sBAAA,cAAChB,MAAM0B,SAAO;IAACF,SAAAA;KACb,sBAAA,cAACpB,kBAAkBsB,SAAO;IAACF,SAAAA;IAAQV;KACjC,sBAAA,cAACV,kBAAkBuB,SAAO;IAACjB;;AAMvC;AAEA,IAAMW,eAAe,CAAC,EAAEO,MAAMC,gBAAe,MAAa;AACxD,QAAMC,OAAO3B,QAAQG,aAAAA;AACrB,QAAMyB,QAAQhC,mBAAmB6B,IAAAA;AAEjCtC,YAAU,MAAA;AACRwC,SAAKE,aAAa;MAChBC,IAAIpC;MACJqC,MAAM;MACNC,UAAUrC;MACViC;IACF,CAAA;AAEA,WAAO,MAAMD,KAAKM,gBAAgBvC,8BAAAA;EACpC,GAAG;IAACiC;IAAMC;GAAM;AAEhB,SACE,sBAAA,cAACvC,QAAQA,SAAO;IACd6C,MAAMzC,WAAW0C;IACjBC,MAAM;MACJ9B,SAASmB;MACTY,YAAYX;IACd;IACAY,OAAO;;AAGb;",
6
+ "names": ["React", "useCallback", "useEffect", "Capabilities", "Surface", "useCapability", "useOperationInvoker", "LayoutOperation", "AppSurface", "OBJECT_ACTIONS_CONTRIBUTION_ID", "OBJECT_ACTIONS_CONTRIBUTION_PRIORITY", "useObjectMenuItems", "Panel", "linkedSegment", "useAttention", "useMenu", "PipelineComponent", "usePipelineBoardModel", "PIPELINE_ITEM", "PipelineContainer", "role", "subject", "pipeline", "attendableId", "registry", "AtomRegistry", "model", "invokePromise", "hasAttention", "handleColumnAdd", "UpdateCompanion", "Root", "Item", "PipelineItem", "onAddColumn", "Toolbar", "asChild", "disabled", "Content", "Columns", "item", "projectionModel", "menu", "items", "addMenuItems", "id", "mode", "priority", "removeMenuItems", "type", "Card", "data", "projection", "limit"]
7
+ }
@@ -0,0 +1,26 @@
1
+ // src/PipelinePlugin.tsx
2
+ import { Plugin } from "@dxos/app-framework";
3
+ import { AppPlugin } from "@dxos/app-toolkit";
4
+ import { Pipeline } from "@dxos/types";
5
+ import { AppGraphBuilder, CreateObject, ReactSurface } from "#capabilities";
6
+ import { meta } from "#meta";
7
+ import { translations } from "#translations";
8
+ var PipelinePlugin = Plugin.define(meta).pipe(AppPlugin.addAppGraphModule({
9
+ activate: AppGraphBuilder
10
+ }), AppPlugin.addCreateObjectModule({
11
+ activate: CreateObject
12
+ }), AppPlugin.addSchemaModule({
13
+ schema: [
14
+ Pipeline.Pipeline
15
+ ]
16
+ }), AppPlugin.addSurfaceModule({
17
+ activate: ReactSurface
18
+ }), AppPlugin.addTranslationsModule({
19
+ translations
20
+ }), Plugin.make);
21
+ var PipelinePlugin_default = PipelinePlugin;
22
+ export {
23
+ PipelinePlugin,
24
+ PipelinePlugin_default as default
25
+ };
26
+ //# sourceMappingURL=PipelinePlugin.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/PipelinePlugin.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { Pipeline } from '@dxos/types';\n\nimport { AppGraphBuilder, CreateObject, ReactSurface } from '#capabilities';\nimport { meta } from '#meta';\nimport { translations } from '#translations';\n\nexport const PipelinePlugin = Plugin.define(meta).pipe(\n AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),\n AppPlugin.addCreateObjectModule({ activate: CreateObject }),\n AppPlugin.addSchemaModule({ schema: [Pipeline.Pipeline] }),\n AppPlugin.addSurfaceModule({ activate: ReactSurface }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.make,\n);\n\nexport default PipelinePlugin;\n"],
5
+ "mappings": ";AAIA,SAASA,cAAc;AACvB,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AAEzB,SAASC,iBAAiBC,cAAcC,oBAAoB;AAC5D,SAASC,YAAY;AACrB,SAASC,oBAAoB;AAEtB,IAAMC,iBAAiBR,OAAOS,OAAOH,IAAAA,EAAMI,KAChDT,UAAUU,kBAAkB;EAAEC,UAAUT;AAAgB,CAAA,GACxDF,UAAUY,sBAAsB;EAAED,UAAUR;AAAa,CAAA,GACzDH,UAAUa,gBAAgB;EAAEC,QAAQ;IAACb,SAASA;;AAAU,CAAA,GACxDD,UAAUe,iBAAiB;EAAEJ,UAAUP;AAAa,CAAA,GACpDJ,UAAUgB,sBAAsB;EAAEV;AAAa,CAAA,GAC/CP,OAAOkB,IAAI;AAGb,IAAA,yBAAeV;",
6
+ "names": ["Plugin", "AppPlugin", "Pipeline", "AppGraphBuilder", "CreateObject", "ReactSurface", "meta", "translations", "PipelinePlugin", "define", "pipe", "addAppGraphModule", "activate", "addCreateObjectModule", "addSchemaModule", "schema", "addSurfaceModule", "addTranslationsModule", "make"]
7
+ }
@@ -0,0 +1,21 @@
1
+ // src/PipelinePlugin.node.ts
2
+ import { Plugin } from "@dxos/app-framework";
3
+ import { AppPlugin } from "@dxos/app-toolkit";
4
+ import { Pipeline } from "@dxos/types";
5
+ import { AppGraphBuilder, CreateObject } from "#capabilities";
6
+ import { meta } from "#meta";
7
+ var PipelinePlugin = Plugin.define(meta).pipe(AppPlugin.addAppGraphModule({
8
+ activate: AppGraphBuilder
9
+ }), AppPlugin.addCreateObjectModule({
10
+ activate: CreateObject
11
+ }), AppPlugin.addSchemaModule({
12
+ schema: [
13
+ Pipeline.Pipeline
14
+ ]
15
+ }), Plugin.make);
16
+ var PipelinePlugin_node_default = PipelinePlugin;
17
+ export {
18
+ PipelinePlugin,
19
+ PipelinePlugin_node_default as default
20
+ };
21
+ //# sourceMappingURL=PipelinePlugin.node.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/PipelinePlugin.node.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { Pipeline } from '@dxos/types';\n\nimport { AppGraphBuilder, CreateObject } from '#capabilities';\nimport { meta } from '#meta';\n\nexport const PipelinePlugin = Plugin.define(meta).pipe(\n AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),\n AppPlugin.addCreateObjectModule({ activate: CreateObject }),\n AppPlugin.addSchemaModule({ schema: [Pipeline.Pipeline] }),\n Plugin.make,\n);\n\nexport default PipelinePlugin;\n"],
5
+ "mappings": ";AAIA,SAASA,cAAc;AACvB,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AAEzB,SAASC,iBAAiBC,oBAAoB;AAC9C,SAASC,YAAY;AAEd,IAAMC,iBAAiBN,OAAOO,OAAOF,IAAAA,EAAMG,KAChDP,UAAUQ,kBAAkB;EAAEC,UAAUP;AAAgB,CAAA,GACxDF,UAAUU,sBAAsB;EAAED,UAAUN;AAAa,CAAA,GACzDH,UAAUW,gBAAgB;EAAEC,QAAQ;IAACX,SAASA;;AAAU,CAAA,GACxDF,OAAOc,IAAI;AAGb,IAAA,8BAAeR;",
6
+ "names": ["Plugin", "AppPlugin", "Pipeline", "AppGraphBuilder", "CreateObject", "meta", "PipelinePlugin", "define", "pipe", "addAppGraphModule", "activate", "addCreateObjectModule", "addSchemaModule", "schema", "make"]
7
+ }
@@ -1,27 +1,24 @@
1
- import {
2
- meta
3
- } from "./chunk-QWNKLHBY.mjs";
4
-
5
- // src/containers/PipelineObjectSettings/PipelineObjectSettings.tsx
1
+ // src/containers/PipelineProperties/PipelineProperties.tsx
6
2
  import * as Schema from "effect/Schema";
7
3
  import React, { useCallback, useMemo, useRef, useState } from "react";
4
+ import { resolveSchemaWithRegistry } from "@dxos/app-toolkit/query";
5
+ import { useTypeOptions } from "@dxos/app-toolkit/ui";
8
6
  import { DXN, Filter, JsonSchema, Obj, Query, Ref, Tag } from "@dxos/echo";
9
- import { useTypeOptions } from "@dxos/plugin-space";
10
- import { resolveSchemaWithRegistry } from "@dxos/plugin-space";
11
- import { getSpace, useObject, useQuery } from "@dxos/react-client/echo";
7
+ import { useObject, useQuery } from "@dxos/react-client/echo";
12
8
  import { IconButton, useAsyncEffect, useTranslation } from "@dxos/react-ui";
13
9
  import { Form, ViewEditor } from "@dxos/react-ui-form";
14
10
  import { List } from "@dxos/react-ui-list";
15
11
  import { ViewModel } from "@dxos/schema";
16
- import { Pipeline, Task } from "@dxos/types";
17
- import { mx, osTranslations, subtleHover } from "@dxos/ui-theme";
12
+ import { Pipeline } from "@dxos/types";
13
+ import { mx, osTranslations } from "@dxos/ui-theme";
18
14
  import { arrayMove } from "@dxos/util";
15
+ import { meta } from "#meta";
19
16
  var listGrid = "grid grid-cols-[min-content_1fr_min-content_min-content_min-content]";
20
17
  var listItemGrid = "grid grid-cols-subgrid col-span-5";
21
18
  var ColumnFormSchema = Pipeline.Column.pipe(Schema.mutable, Schema.pick("name"));
22
- var PipelineObjectSettings = ({ classNames, pipeline }) => {
19
+ var PipelineProperties = ({ classNames, pipeline }) => {
23
20
  const { t } = useTranslation(meta.id);
24
- const space = getSpace(pipeline);
21
+ const db = Obj.getDatabase(pipeline);
25
22
  const [expandedId, setExpandedId] = useState();
26
23
  const [columns, updateColumns] = useObject(pipeline, "columns");
27
24
  const column = useMemo(() => columns.find((column2) => column2.view.dxn.toString() === expandedId), [
@@ -31,9 +28,9 @@ var PipelineObjectSettings = ({ classNames, pipeline }) => {
31
28
  const [view, updateView] = useObject(column?.view);
32
29
  const [schema, setSchema] = useState(() => Schema.Struct({}));
33
30
  const projectionRef = useRef(null);
34
- const tags = useQuery(space?.db, Filter.type(Tag.Tag));
31
+ const tags = useQuery(db, Filter.type(Tag.Tag));
35
32
  const types = useTypeOptions({
36
- space,
33
+ db,
37
34
  annotation: {
38
35
  location: [
39
36
  "database",
@@ -41,23 +38,19 @@ var PipelineObjectSettings = ({ classNames, pipeline }) => {
41
38
  ],
42
39
  kind: [
43
40
  "user"
44
- ],
45
- registered: [
46
- "registered",
47
- "unregistered"
48
41
  ]
49
42
  }
50
43
  });
51
44
  useAsyncEffect(async () => {
52
- if (!view?.query || !space) {
45
+ if (!view?.query || !db) {
53
46
  return;
54
47
  }
55
- const foundSchema = await resolveSchemaWithRegistry(space.db.schemaRegistry, view.query.ast);
48
+ const foundSchema = await resolveSchemaWithRegistry(db.schemaRegistry, view.query.ast);
56
49
  if (foundSchema && foundSchema !== schema) {
57
50
  setSchema(() => foundSchema);
58
51
  }
59
52
  }, [
60
- space,
53
+ db,
61
54
  view,
62
55
  schema
63
56
  ]);
@@ -67,19 +60,19 @@ var PipelineObjectSettings = ({ classNames, pipeline }) => {
67
60
  updateColumns
68
61
  ]);
69
62
  const handleQueryChanged = useCallback(async (newQuery, target) => {
70
- if (!view || !space) {
63
+ if (!view || !db) {
71
64
  return;
72
65
  }
73
66
  const queue = target && DXN.tryParse(target) ? target : void 0;
74
67
  const query = queue ? Query.fromAst(newQuery).from({
75
- queues: [
68
+ feeds: [
76
69
  queue
77
70
  ]
78
71
  }) : Query.fromAst(newQuery);
79
72
  updateView((view2) => {
80
73
  view2.query.ast = query.ast;
81
74
  });
82
- const newSchema = await resolveSchemaWithRegistry(space.db.schemaRegistry, query.ast);
75
+ const newSchema = await resolveSchemaWithRegistry(db.schemaRegistry, query.ast);
83
76
  if (!newSchema) {
84
77
  return;
85
78
  }
@@ -92,6 +85,7 @@ var PipelineObjectSettings = ({ classNames, pipeline }) => {
92
85
  });
93
86
  setSchema(() => newSchema);
94
87
  }, [
88
+ db,
95
89
  view,
96
90
  updateView,
97
91
  schema
@@ -122,25 +116,25 @@ var PipelineObjectSettings = ({ classNames, pipeline }) => {
122
116
  updateColumns((columns2) => {
123
117
  columns2.splice(index, 1);
124
118
  });
125
- space?.db.remove(viewToRemove);
119
+ db?.remove(viewToRemove);
126
120
  }, [
127
121
  expandedId,
128
122
  columns,
129
123
  updateColumns,
130
- space
124
+ db
131
125
  ]);
132
126
  const handleAdd = useCallback(() => {
133
- if (!space) {
127
+ if (!db) {
134
128
  return;
135
129
  }
136
130
  const newView = ViewModel.make({
137
- query: Query.select(Filter.type(Task.Task)),
138
- jsonSchema: JsonSchema.toJsonSchema(Task.Task)
131
+ query: Query.select(Filter.nothing()),
132
+ jsonSchema: JsonSchema.toJsonSchema(Schema.Struct({}))
139
133
  });
140
- space.db.add(newView);
134
+ db.add(newView);
141
135
  updateColumns((columns2) => {
142
136
  columns2.push({
143
- name: "Tasks",
137
+ name: "",
144
138
  // Type assertion needed due to QueryAST type variance.
145
139
  view: Ref.make(newView),
146
140
  order: []
@@ -148,15 +142,14 @@ var PipelineObjectSettings = ({ classNames, pipeline }) => {
148
142
  });
149
143
  setExpandedId(newView.id);
150
144
  }, [
151
- space,
145
+ db,
152
146
  updateColumns
153
147
  ]);
154
148
  return /* @__PURE__ */ React.createElement("div", {
155
- role: "none",
156
149
  className: mx("py-form-padding overflow-y-auto", classNames)
157
150
  }, /* @__PURE__ */ React.createElement("h2", {
158
151
  className: "text-sm text-description py-1"
159
- }, t("views label")), /* @__PURE__ */ React.createElement(List.Root, {
152
+ }, t("views.label")), /* @__PURE__ */ React.createElement(List.Root, {
160
153
  items: columns,
161
154
  isItem: Schema.is(Pipeline.Column),
162
155
  getId: (column2) => column2.view.dxn.toString(),
@@ -170,25 +163,23 @@ var PipelineObjectSettings = ({ classNames, pipeline }) => {
170
163
  classNames: listItemGrid,
171
164
  "aria-expanded": expandedId === column2.view.dxn.toString()
172
165
  }, /* @__PURE__ */ React.createElement("div", {
173
- role: "none",
174
- className: mx(subtleHover, listItemGrid, "rounded-xs cursor-pointer min-h-10")
166
+ className: mx(listItemGrid, "dx-hover rounded-xs cursor-pointer min-h-10")
175
167
  }, /* @__PURE__ */ React.createElement(List.ItemDragHandle, null), /* @__PURE__ */ React.createElement(List.ItemTitle, {
176
168
  onClick: () => handleToggleField(column2)
177
- }, column2.name), /* @__PURE__ */ React.createElement(List.ItemDeleteButton, {
178
- label: t("delete view label"),
169
+ }, column2.name || t("untitled-view.title")), /* @__PURE__ */ React.createElement(List.ItemDeleteButton, {
170
+ label: t("delete-view.label"),
179
171
  autoHide: false,
180
172
  onClick: () => handleDelete(column2),
181
173
  "data-testid": "view.delete"
182
174
  }), /* @__PURE__ */ React.createElement(IconButton, {
183
175
  iconOnly: true,
184
176
  variant: "ghost",
185
- label: t("toggle expand label", {
177
+ label: t("toggle-expand.label", {
186
178
  ns: osTranslations
187
179
  }),
188
180
  icon: expandedId === column2.view.dxn.toString() ? "ph--caret-down--regular" : "ph--caret-right--regular",
189
181
  onClick: () => handleToggleField(column2)
190
182
  })), expandedId === column2.view.dxn.toString() && column2?.view.target && /* @__PURE__ */ React.createElement("div", {
191
- role: "none",
192
183
  className: "col-span-5 my-2 border border-separator rounded-md"
193
184
  }, /* @__PURE__ */ React.createElement(Form.Root, {
194
185
  schema: ColumnFormSchema,
@@ -200,25 +191,21 @@ var PipelineObjectSettings = ({ classNames, pipeline }) => {
200
191
  readonly: true,
201
192
  schema,
202
193
  view: column2.view.target,
203
- registry: space?.db.schemaRegistry,
204
- db: space?.db,
194
+ registry: db?.schemaRegistry,
195
+ db,
205
196
  tags,
206
197
  types,
207
198
  onQueryChanged: handleQueryChanged
208
199
  }))))))), /* @__PURE__ */ React.createElement("div", {
209
- role: "none",
210
200
  className: "my-form-padding"
211
201
  }, /* @__PURE__ */ React.createElement(IconButton, {
212
202
  icon: "ph--plus--regular",
213
- label: t("add view label"),
203
+ label: t("add-view.label"),
214
204
  onClick: handleAdd,
215
205
  classNames: "w-full"
216
206
  })));
217
207
  };
218
-
219
- // src/containers/PipelineObjectSettings/index.ts
220
- var PipelineObjectSettings_default = PipelineObjectSettings;
221
208
  export {
222
- PipelineObjectSettings_default as default
209
+ PipelineProperties as default
223
210
  };
224
- //# sourceMappingURL=PipelineObjectSettings-D36OYVHW.mjs.map
211
+ //# sourceMappingURL=PipelineProperties-GED4FJSS.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/PipelineProperties/PipelineProperties.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\nimport React, { useCallback, useMemo, useRef, useState } from 'react';\n\nimport { resolveSchemaWithRegistry } from '@dxos/app-toolkit/query';\nimport { useTypeOptions } from '@dxos/app-toolkit/ui';\nimport { DXN, Filter, JsonSchema, Obj, Query, type QueryAST, Ref, Tag } from '@dxos/echo';\nimport { type JsonPath, type Mutable } from '@dxos/echo/internal';\nimport { useObject, useQuery } from '@dxos/react-client/echo';\nimport { IconButton, type ThemedClassName, useAsyncEffect, useTranslation } from '@dxos/react-ui';\nimport { Form, ViewEditor } from '@dxos/react-ui-form';\nimport { List } from '@dxos/react-ui-list';\nimport { type ProjectionModel, ViewModel } from '@dxos/schema';\nimport { Pipeline } from '@dxos/types';\nimport { mx, osTranslations } from '@dxos/ui-theme';\nimport { arrayMove } from '@dxos/util';\n\nimport { meta } from '#meta';\n\nconst listGrid = 'grid grid-cols-[min-content_1fr_min-content_min-content_min-content]';\nconst listItemGrid = 'grid grid-cols-subgrid col-span-5';\n\nconst ColumnFormSchema = Pipeline.Column.pipe(Schema.mutable, Schema.pick('name'));\n\nexport type PipelinePropertiesProps = ThemedClassName<{\n pipeline: Pipeline.Pipeline;\n}>;\n\n/**\n * Supports editing the pipeline view.\n */\nexport const PipelineProperties = ({ classNames, pipeline }: PipelinePropertiesProps) => {\n const { t } = useTranslation(meta.id);\n const db = Obj.getDatabase(pipeline);\n const [expandedId, setExpandedId] = useState<string>();\n const [columns, updateColumns] = useObject(pipeline, 'columns');\n const column = useMemo(\n () => columns.find((column) => column.view.dxn.toString() === expandedId),\n [columns, expandedId],\n );\n const [view, updateView] = useObject(column?.view);\n const [schema, setSchema] = useState<Schema.Schema.AnyNoContext>(() => Schema.Struct({}));\n const projectionRef = useRef<ProjectionModel>(null);\n const tags = useQuery(db, Filter.type(Tag.Tag));\n const types = useTypeOptions({\n db,\n annotation: {\n location: ['database', 'runtime'],\n kind: ['user'],\n },\n });\n\n useAsyncEffect(async () => {\n if (!view?.query || !db) {\n return;\n }\n\n const foundSchema = await resolveSchemaWithRegistry(db.schemaRegistry, view.query.ast);\n if (foundSchema && foundSchema !== schema) {\n setSchema(() => foundSchema);\n }\n }, [db, view, schema]);\n\n const handleMove = useCallback(\n (fromIndex: number, toIndex: number) =>\n updateColumns((columns) => {\n arrayMove(columns, fromIndex, toIndex);\n }),\n [updateColumns],\n );\n\n const handleQueryChanged = useCallback(\n async (newQuery: QueryAST.Query, target?: string) => {\n if (!view || !db) {\n return;\n }\n\n const queue = target && DXN.tryParse(target) ? target : undefined;\n const query = queue ? Query.fromAst(newQuery).from({ feeds: [queue] }) : Query.fromAst(newQuery);\n updateView((view) => {\n view.query.ast = query.ast as Mutable<typeof query.ast>;\n });\n const newSchema = await resolveSchemaWithRegistry(db.schemaRegistry, query.ast);\n if (!newSchema) {\n return;\n }\n\n const newView = ViewModel.make({\n query,\n jsonSchema: JsonSchema.toJsonSchema(newSchema),\n });\n updateView((view) => {\n view.projection = Obj.getSnapshot(newView).projection as Mutable<typeof view.projection>;\n });\n\n setSchema(() => newSchema);\n },\n [db, view, updateView, schema],\n );\n\n const handleColumnValuesChanged = useCallback(\n (column: Pipeline.Column) =>\n (newValues: { name?: string }, { changed }: { changed: Record<JsonPath, boolean> }) => {\n if (changed['name' as JsonPath]) {\n const columnIndex = columns.findIndex((c) => c === column);\n if (columnIndex === -1) {\n return;\n }\n updateColumns((cols) => {\n cols[columnIndex].name = newValues.name ?? '';\n });\n }\n },\n [columns, updateColumns],\n );\n\n const handleToggleField = useCallback((column: Pipeline.Column) => {\n setExpandedId((prevExpandedId) =>\n prevExpandedId === column.view.dxn.toString() ? undefined : column.view.dxn.toString(),\n );\n }, []);\n\n const handleDelete = useCallback(\n async (column: Pipeline.Column) => {\n if (column.view.dxn.toString() === expandedId) {\n setExpandedId(undefined);\n }\n\n const index = columns.findIndex((l) => l === column);\n const viewToRemove = await column.view.load();\n updateColumns((columns) => {\n columns.splice(index, 1);\n });\n db?.remove(viewToRemove);\n },\n [expandedId, columns, updateColumns, db],\n );\n\n const handleAdd = useCallback(() => {\n if (!db) {\n return;\n }\n const newView = ViewModel.make({\n query: Query.select(Filter.nothing()),\n jsonSchema: JsonSchema.toJsonSchema(Schema.Struct({})),\n });\n db.add(newView);\n updateColumns((columns) => {\n columns.push({\n name: '',\n // Type assertion needed due to QueryAST type variance.\n view: Ref.make(newView) as (typeof columns)[number]['view'],\n order: [],\n });\n });\n setExpandedId(newView.id);\n }, [db, updateColumns]);\n\n return (\n <div className={mx('py-form-padding overflow-y-auto', classNames)}>\n <h2 className='text-sm text-description py-1'>{t('views.label')}</h2>\n\n <List.Root<Pipeline.Column>\n items={columns}\n isItem={Schema.is(Pipeline.Column)}\n getId={(column) => column.view.dxn.toString()}\n onMove={handleMove}\n >\n {({ items: columns }) => (\n <>\n <div role='list' className={mx(listGrid)}>\n {columns.map((column) => (\n <List.Item<Pipeline.Column>\n key={column.view.dxn.toString()}\n item={column}\n classNames={listItemGrid}\n aria-expanded={expandedId === column.view.dxn.toString()}\n >\n <div className={mx(listItemGrid, 'dx-hover rounded-xs cursor-pointer min-h-10')}>\n <List.ItemDragHandle />\n <List.ItemTitle onClick={() => handleToggleField(column)}>\n {column.name || t('untitled-view.title')}\n </List.ItemTitle>\n <List.ItemDeleteButton\n label={t('delete-view.label')}\n autoHide={false}\n onClick={() => handleDelete(column)}\n data-testid='view.delete'\n />\n <IconButton\n iconOnly\n variant='ghost'\n label={t('toggle-expand.label', { ns: osTranslations })}\n icon={\n expandedId === column.view.dxn.toString()\n ? 'ph--caret-down--regular'\n : 'ph--caret-right--regular'\n }\n onClick={() => handleToggleField(column)}\n />\n </div>\n {expandedId === column.view.dxn.toString() && column?.view.target && (\n <div className='col-span-5 my-2 border border-separator rounded-md'>\n <Form.Root\n schema={ColumnFormSchema}\n values={column}\n onValuesChanged={handleColumnValuesChanged(column)}\n >\n <Form.Content>\n <Form.FieldSet />\n </Form.Content>\n </Form.Root>\n <ViewEditor\n ref={projectionRef}\n mode='tag'\n readonly\n schema={schema}\n view={column.view.target}\n registry={db?.schemaRegistry}\n db={db}\n tags={tags}\n types={types}\n onQueryChanged={handleQueryChanged}\n />\n </div>\n )}\n </List.Item>\n ))}\n </div>\n </>\n )}\n </List.Root>\n\n <div className='my-form-padding'>\n <IconButton icon='ph--plus--regular' label={t('add-view.label')} onClick={handleAdd} classNames='w-full' />\n </div>\n </div>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Schema", "React", "useCallback", "useMemo", "useRef", "useState", "resolveSchemaWithRegistry", "useTypeOptions", "DXN", "Filter", "JsonSchema", "Obj", "Query", "Ref", "Tag", "useObject", "useQuery", "IconButton", "useAsyncEffect", "useTranslation", "Form", "ViewEditor", "List", "ViewModel", "Pipeline", "mx", "osTranslations", "arrayMove", "meta", "listGrid", "listItemGrid", "ColumnFormSchema", "Column", "pipe", "mutable", "pick", "PipelineProperties", "classNames", "pipeline", "t", "id", "db", "getDatabase", "expandedId", "setExpandedId", "columns", "updateColumns", "column", "find", "view", "dxn", "toString", "updateView", "schema", "setSchema", "Struct", "projectionRef", "tags", "type", "types", "annotation", "location", "kind", "query", "foundSchema", "schemaRegistry", "ast", "handleMove", "fromIndex", "toIndex", "handleQueryChanged", "newQuery", "target", "queue", "tryParse", "undefined", "fromAst", "from", "feeds", "newSchema", "newView", "make", "jsonSchema", "toJsonSchema", "projection", "getSnapshot", "handleColumnValuesChanged", "newValues", "changed", "columnIndex", "findIndex", "c", "cols", "name", "handleToggleField", "prevExpandedId", "handleDelete", "index", "l", "viewToRemove", "load", "splice", "remove", "handleAdd", "select", "nothing", "add", "push", "order", "div", "className", "h2", "Root", "items", "isItem", "is", "getId", "onMove", "role", "map", "Item", "key", "item", "aria-expanded", "ItemDragHandle", "ItemTitle", "onClick", "ItemDeleteButton", "label", "autoHide", "data-testid", "iconOnly", "variant", "ns", "icon", "values", "onValuesChanged", "Content", "FieldSet", "ref", "mode", "readonly", "registry", "onQueryChanged"]
7
+ }
@@ -0,0 +1,44 @@
1
+ // src/capabilities/app-graph-builder.ts
2
+ import * as Effect from "effect/Effect";
3
+ import { Capability } from "@dxos/app-framework";
4
+ import { AppCapabilities, AppNode } from "@dxos/app-toolkit";
5
+ import { GraphBuilder } from "@dxos/plugin-graph";
6
+ import { Pipeline } from "@dxos/types";
7
+ import { meta } from "#meta";
8
+ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function* () {
9
+ const extensions = yield* Effect.all([
10
+ GraphBuilder.createTypeExtension({
11
+ id: "triggers",
12
+ type: Pipeline.Pipeline,
13
+ connector: () => Effect.succeed([
14
+ AppNode.makeCompanion({
15
+ id: "invocations",
16
+ label: [
17
+ "pipeline-invocations.label",
18
+ {
19
+ ns: meta.id
20
+ }
21
+ ],
22
+ icon: "ph--clock-countdown--regular",
23
+ data: "invocations"
24
+ }),
25
+ AppNode.makeCompanion({
26
+ id: "automation",
27
+ label: [
28
+ "pipeline-automation.label",
29
+ {
30
+ ns: meta.id
31
+ }
32
+ ],
33
+ icon: "ph--lightning--regular",
34
+ data: "automation"
35
+ })
36
+ ])
37
+ })
38
+ ]);
39
+ return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
40
+ }));
41
+ export {
42
+ app_graph_builder_default as default
43
+ };
44
+ //# sourceMappingURL=app-graph-builder-ZLGRWRJU.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/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, AppNode } from '@dxos/app-toolkit';\nimport { GraphBuilder } from '@dxos/plugin-graph';\nimport { Pipeline } from '@dxos/types';\n\nimport { meta } from '#meta';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const extensions = yield* Effect.all([\n GraphBuilder.createTypeExtension({\n id: 'triggers',\n type: Pipeline.Pipeline,\n connector: () =>\n Effect.succeed([\n AppNode.makeCompanion({\n id: 'invocations',\n label: ['pipeline-invocations.label', { ns: meta.id }],\n icon: 'ph--clock-countdown--regular',\n data: 'invocations',\n }),\n AppNode.makeCompanion({\n id: 'automation',\n label: ['pipeline-automation.label', { ns: meta.id }],\n icon: 'ph--lightning--regular',\n data: 'automation',\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,iBAAiBC,eAAe;AACzC,SAASC,oBAAoB;AAC7B,SAASC,gBAAgB;AAEzB,SAASC,YAAY;AAErB,IAAA,4BAAeL,WAAWM,WACjBC,kBAAW,aAAA;AAChB,QAAMC,aAAa,OAAcC,WAAI;IACnCN,aAAaO,oBAAoB;MAC/BC,IAAI;MACJC,MAAMR,SAASA;MACfS,WAAW,MACFC,eAAQ;QACbZ,QAAQa,cAAc;UACpBJ,IAAI;UACJK,OAAO;YAAC;YAA8B;cAAEC,IAAIZ,KAAKM;YAAG;;UACpDO,MAAM;UACNC,MAAM;QACR,CAAA;QACAjB,QAAQa,cAAc;UACpBJ,IAAI;UACJK,OAAO;YAAC;YAA6B;cAAEC,IAAIZ,KAAKM;YAAG;;UACnDO,MAAM;UACNC,MAAM;QACR,CAAA;OACD;IACL,CAAA;GACD;AAED,SAAOnB,WAAWoB,YAAYnB,gBAAgBoB,iBAAiBb,UAAAA;AACjE,CAAA,CAAA;",
6
+ "names": ["Effect", "Capability", "AppCapabilities", "AppNode", "GraphBuilder", "Pipeline", "meta", "makeModule", "fnUntraced", "extensions", "all", "createTypeExtension", "id", "type", "connector", "succeed", "makeCompanion", "label", "ns", "icon", "data", "contributes", "AppGraphBuilder"]
7
+ }
@@ -0,0 +1,11 @@
1
+ // src/capabilities/index.ts
2
+ import { Capability } from "@dxos/app-framework";
3
+ var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("../app-graph-builder-ZLGRWRJU.mjs"));
4
+ var CreateObject = Capability.lazy("CreateObject", () => import("../create-object-ZJYFACOI.mjs"));
5
+ var ReactSurface = Capability.lazy("ReactSurface", () => import("../react-surface-TW6TRMO6.mjs"));
6
+ export {
7
+ AppGraphBuilder,
8
+ CreateObject,
9
+ ReactSurface
10
+ };
11
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/capabilities/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));\nexport const CreateObject = Capability.lazy('CreateObject', () => import('./create-object'));\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\n"],
5
+ "mappings": ";AAIA,SAASA,kBAAkB;AAEpB,IAAMC,kBAAkBD,WAAWE,KAAK,mBAAmB,MAAM,OAAO,mCAAA,CAAA;AACxE,IAAMC,eAAeH,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAME,eAAeJ,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;",
6
+ "names": ["Capability", "AppGraphBuilder", "lazy", "CreateObject", "ReactSurface"]
7
+ }
@@ -1,13 +1,7 @@
1
- var __defProp = Object.defineProperty;
2
- var __export = (target, all) => {
3
- for (var name in all)
4
- __defProp(target, name, { get: all[name], enumerable: true });
5
- };
6
-
7
1
  // src/meta.ts
8
2
  import { trim } from "@dxos/util";
9
3
  var meta = {
10
- id: "dxos.org/plugin/pipeline",
4
+ id: "org.dxos.plugin.pipeline",
11
5
  name: "Pipelines",
12
6
  description: trim`
13
7
  Pipelines for organizing tasks, milestones, and deliverables.
@@ -22,7 +16,6 @@ var meta = {
22
16
  };
23
17
 
24
18
  export {
25
- __export,
26
19
  meta
27
20
  };
28
- //# sourceMappingURL=chunk-QWNKLHBY.mjs.map
21
+ //# sourceMappingURL=chunk-ULB5DKWO.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/meta.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'dxos.org/plugin/pipeline',\n name: 'Pipelines',\n description: trim`\n Pipelines for organizing tasks, milestones, and deliverables.\n Track progress across multiple pipelines and coordinate team activities in a structured environment.\n `,\n icon: 'ph--path--regular',\n iconHue: 'purple',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-pipeline',\n tags: ['labs'],\n};\n"],
5
- "mappings": ";;;;;;;AAKA,SAASA,YAAY;AAEd,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;EAIbC,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,MAAM;IAAC;;AACT;",
6
- "names": ["trim", "meta", "id", "name", "description", "trim", "icon", "iconHue", "source", "tags"]
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.plugin.pipeline',\n name: 'Pipelines',\n description: trim`\n Pipelines for organizing tasks, milestones, and deliverables.\n Track progress across multiple pipelines and coordinate team activities in a structured environment.\n `,\n icon: 'ph--path--regular',\n iconHue: 'purple',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-pipeline',\n tags: ['labs'],\n};\n"],
5
+ "mappings": ";AAKA,SAASA,YAAY;AAEd,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaJ;;;;EAIbK,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,MAAM;IAAC;;AACT;",
6
+ "names": ["trim", "meta", "id", "name", "description", "icon", "iconHue", "source", "tags"]
7
7
  }