@dxos/plugin-pipeline 0.8.4-main.7996785055 → 0.8.4-main.8baae0fced

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 (137) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/neutral/PipelineArticle-6JIVXMYF.mjs +69 -0
  4. package/dist/lib/neutral/PipelineArticle-6JIVXMYF.mjs.map +7 -0
  5. package/dist/lib/neutral/PipelinePlugin.mjs +26 -0
  6. package/dist/lib/neutral/PipelinePlugin.mjs.map +7 -0
  7. package/dist/lib/neutral/PipelinePlugin.node.mjs +21 -0
  8. package/dist/lib/neutral/PipelinePlugin.node.mjs.map +7 -0
  9. package/dist/lib/neutral/PipelinePlugin.workerd.mjs +16 -0
  10. package/dist/lib/neutral/PipelinePlugin.workerd.mjs.map +7 -0
  11. package/dist/lib/{browser/PipelineObjectSettings-QFMIKJH5.mjs → neutral/PipelineProperties-GED4FJSS.mjs} +32 -41
  12. package/dist/lib/neutral/PipelineProperties-GED4FJSS.mjs.map +7 -0
  13. package/dist/lib/neutral/app-graph-builder-ZLGRWRJU.mjs +44 -0
  14. package/dist/lib/neutral/app-graph-builder-ZLGRWRJU.mjs.map +7 -0
  15. package/dist/lib/neutral/capabilities/index.mjs +11 -0
  16. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  17. package/dist/lib/{browser/chunk-3A235GUD.mjs → neutral/chunk-CNUFCMUC.mjs} +2 -1
  18. package/dist/lib/neutral/chunk-CNUFCMUC.mjs.map +7 -0
  19. package/dist/lib/{browser/PipelineContainer-LY2P4JPA.mjs → neutral/components/index.mjs} +23 -162
  20. package/dist/lib/neutral/components/index.mjs.map +7 -0
  21. package/dist/lib/neutral/containers/index.mjs +9 -0
  22. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  23. package/dist/lib/neutral/create-object-ZJYFACOI.mjs +25 -0
  24. package/dist/lib/neutral/create-object-ZJYFACOI.mjs.map +7 -0
  25. package/dist/lib/neutral/hooks/index.mjs +70 -0
  26. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  27. package/dist/lib/neutral/index.mjs +7 -0
  28. package/dist/lib/neutral/meta.json +1 -0
  29. package/dist/lib/neutral/meta.mjs +7 -0
  30. package/dist/lib/neutral/meta.mjs.map +7 -0
  31. package/dist/lib/neutral/plugin.mjs +11 -0
  32. package/dist/lib/neutral/plugin.mjs.map +7 -0
  33. package/dist/lib/{browser/react-surface-QVPKOGEI.mjs → neutral/react-surface-4W5YLCHT.mjs} +12 -24
  34. package/dist/lib/neutral/react-surface-4W5YLCHT.mjs.map +7 -0
  35. package/dist/lib/neutral/translations.mjs +38 -0
  36. package/dist/lib/neutral/translations.mjs.map +7 -0
  37. package/dist/lib/neutral/types/index.mjs.map +7 -0
  38. package/dist/types/src/PipelinePlugin.d.ts +1 -0
  39. package/dist/types/src/PipelinePlugin.d.ts.map +1 -1
  40. package/dist/types/src/PipelinePlugin.node.d.ts +4 -0
  41. package/dist/types/src/PipelinePlugin.node.d.ts.map +1 -0
  42. package/dist/types/src/PipelinePlugin.test.d.ts +2 -0
  43. package/dist/types/src/PipelinePlugin.test.d.ts.map +1 -0
  44. package/dist/types/src/PipelinePlugin.workerd.d.ts +4 -0
  45. package/dist/types/src/PipelinePlugin.workerd.d.ts.map +1 -0
  46. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  47. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  48. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  49. package/dist/types/src/capabilities/index.d.ts +9 -2
  50. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  51. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  52. package/dist/types/src/components/PipelineComponent/PipelineColumn.d.ts +4 -4
  53. package/dist/types/src/components/PipelineComponent/PipelineColumn.d.ts.map +1 -1
  54. package/dist/types/src/components/PipelineComponent/PipelineComponent.d.ts +8 -20
  55. package/dist/types/src/components/PipelineComponent/PipelineComponent.d.ts.map +1 -1
  56. package/dist/types/src/components/PipelineComponent/PipelineComponent.stories.d.ts +44 -25
  57. package/dist/types/src/components/PipelineComponent/PipelineComponent.stories.d.ts.map +1 -1
  58. package/dist/types/src/containers/PipelineArticle/PipelineArticle.d.ts +6 -0
  59. package/dist/types/src/containers/PipelineArticle/PipelineArticle.d.ts.map +1 -0
  60. package/dist/types/src/containers/PipelineArticle/PipelineArticle.stories.d.ts +76 -0
  61. package/dist/types/src/containers/PipelineArticle/PipelineArticle.stories.d.ts.map +1 -0
  62. package/dist/types/src/containers/PipelineArticle/index.d.ts +2 -0
  63. package/dist/types/src/containers/PipelineArticle/index.d.ts.map +1 -0
  64. package/dist/types/src/containers/PipelineProperties/PipelineProperties.d.ts +11 -0
  65. package/dist/types/src/containers/PipelineProperties/PipelineProperties.d.ts.map +1 -0
  66. package/dist/types/src/containers/PipelineProperties/index.d.ts +2 -0
  67. package/dist/types/src/containers/PipelineProperties/index.d.ts.map +1 -0
  68. package/dist/types/src/containers/index.d.ts +2 -2
  69. package/dist/types/src/containers/index.d.ts.map +1 -1
  70. package/dist/types/src/hooks/usePipelineBoardModel.d.ts.map +1 -1
  71. package/dist/types/src/index.d.ts +0 -1
  72. package/dist/types/src/index.d.ts.map +1 -1
  73. package/dist/types/src/meta.d.ts.map +1 -1
  74. package/dist/types/src/plugin.d.ts +3 -0
  75. package/dist/types/src/plugin.d.ts.map +1 -0
  76. package/dist/types/src/templates/research.d.ts.map +1 -1
  77. package/dist/types/src/translations.d.ts +44 -26
  78. package/dist/types/src/translations.d.ts.map +1 -1
  79. package/dist/types/tsconfig.tsbuildinfo +1 -1
  80. package/package.json +100 -55
  81. package/src/PipelinePlugin.node.ts +19 -0
  82. package/src/PipelinePlugin.test.ts +27 -0
  83. package/src/PipelinePlugin.tsx +6 -30
  84. package/src/PipelinePlugin.workerd.ts +16 -0
  85. package/src/capabilities/app-graph-builder.ts +40 -0
  86. package/src/capabilities/create-object.ts +29 -0
  87. package/src/capabilities/index.ts +5 -2
  88. package/src/capabilities/{react-surface/react-surface.tsx → react-surface.tsx} +13 -15
  89. package/src/components/PipelineComponent/PipelineColumn.tsx +13 -13
  90. package/src/components/PipelineComponent/PipelineComponent.stories.tsx +17 -19
  91. package/src/components/PipelineComponent/PipelineComponent.tsx +4 -4
  92. package/src/containers/{PipelineContainer/PipelineContainer.stories.tsx → PipelineArticle/PipelineArticle.stories.tsx} +36 -38
  93. package/src/containers/{PipelineContainer/PipelineContainer.tsx → PipelineArticle/PipelineArticle.tsx} +11 -13
  94. package/src/containers/PipelineArticle/index.ts +5 -0
  95. package/src/containers/{PipelineObjectSettings/PipelineObjectSettings.tsx → PipelineProperties/PipelineProperties.tsx} +33 -34
  96. package/src/containers/PipelineProperties/index.ts +5 -0
  97. package/src/containers/index.ts +2 -2
  98. package/src/hooks/usePipelineBoardModel.ts +1 -1
  99. package/src/index.ts +0 -1
  100. package/src/meta.ts +1 -0
  101. package/src/plugin.ts +9 -0
  102. package/src/templates/research.ts +2 -2
  103. package/src/translations.ts +22 -22
  104. package/dist/lib/browser/PipelineContainer-LY2P4JPA.mjs.map +0 -7
  105. package/dist/lib/browser/PipelineObjectSettings-QFMIKJH5.mjs.map +0 -7
  106. package/dist/lib/browser/app-graph-builder-QQKBLYFD.mjs +0 -56
  107. package/dist/lib/browser/app-graph-builder-QQKBLYFD.mjs.map +0 -7
  108. package/dist/lib/browser/chunk-3A235GUD.mjs.map +0 -7
  109. package/dist/lib/browser/index.mjs +0 -90
  110. package/dist/lib/browser/index.mjs.map +0 -7
  111. package/dist/lib/browser/meta.json +0 -1
  112. package/dist/lib/browser/react-surface-QVPKOGEI.mjs.map +0 -7
  113. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +0 -1
  114. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +0 -3
  115. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +0 -1
  116. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
  117. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  118. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  119. package/dist/types/src/containers/PipelineContainer/PipelineContainer.d.ts +0 -6
  120. package/dist/types/src/containers/PipelineContainer/PipelineContainer.d.ts.map +0 -1
  121. package/dist/types/src/containers/PipelineContainer/PipelineContainer.stories.d.ts +0 -57
  122. package/dist/types/src/containers/PipelineContainer/PipelineContainer.stories.d.ts.map +0 -1
  123. package/dist/types/src/containers/PipelineContainer/index.d.ts +0 -3
  124. package/dist/types/src/containers/PipelineContainer/index.d.ts.map +0 -1
  125. package/dist/types/src/containers/PipelineObjectSettings/PipelineObjectSettings.d.ts +0 -11
  126. package/dist/types/src/containers/PipelineObjectSettings/PipelineObjectSettings.d.ts.map +0 -1
  127. package/dist/types/src/containers/PipelineObjectSettings/index.d.ts +0 -3
  128. package/dist/types/src/containers/PipelineObjectSettings/index.d.ts.map +0 -1
  129. package/src/capabilities/app-graph-builder/app-graph-builder.ts +0 -49
  130. package/src/capabilities/app-graph-builder/index.ts +0 -7
  131. package/src/capabilities/react-surface/index.ts +0 -7
  132. package/src/containers/PipelineContainer/index.ts +0 -7
  133. package/src/containers/PipelineObjectSettings/index.ts +0 -7
  134. /package/dist/lib/{browser/types → neutral}/index.mjs.map +0 -0
  135. /package/dist/lib/{browser → neutral}/types/index.mjs +0 -0
  136. /package/dist/types/src/capabilities/{app-graph-builder/app-graph-builder.d.ts → app-graph-builder.d.ts} +0 -0
  137. /package/dist/types/src/capabilities/{react-surface/react-surface.d.ts → react-surface.d.ts} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 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: 'org.dxos.plugin.pipeline',\n name: 'Pipelines',\n author: 'DXOS',\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,QAAQ;EACRC,aAAaL;;;;EAIbM,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,MAAM;IAAC;;AACT;",
6
+ "names": ["trim", "meta", "id", "name", "author", "description", "icon", "iconHue", "source", "tags"]
7
+ }
@@ -1,32 +1,17 @@
1
- import {
2
- meta
3
- } from "./chunk-3A235GUD.mjs";
4
-
5
- // src/containers/PipelineContainer/PipelineContainer.tsx
6
- import React3, { useCallback, useEffect } from "react";
7
- import { Capabilities } from "@dxos/app-framework";
8
- import { useCapability } from "@dxos/app-framework/ui";
9
- import { useOperationInvoker } from "@dxos/app-framework/ui";
10
- import { Surface } from "@dxos/app-framework/ui";
11
- import { OBJECT_ACTIONS_CONTRIBUTION_ID, OBJECT_ACTIONS_CONTRIBUTION_PRIORITY, useObjectMenuItems } from "@dxos/app-toolkit/ui";
12
- import { companionSegment } from "@dxos/app-toolkit";
13
- import { DeckOperation } from "@dxos/plugin-deck/operations";
14
- import { Panel as Panel2 } from "@dxos/react-ui";
15
- import { useAttention } from "@dxos/react-ui-attention";
16
- import { useMenu } from "@dxos/react-ui-menu";
17
-
18
1
  // src/components/PipelineComponent/PipelineColumn.tsx
19
2
  import { useComposedRefs } from "@radix-ui/react-compose-refs";
20
3
  import * as Function from "effect/Function";
21
4
  import * as Option from "effect/Option";
22
5
  import React2, { forwardRef, useMemo, useRef, useState } from "react";
23
- import { Annotation, JsonSchema, Obj as Obj2, Query, Type } from "@dxos/echo";
24
- import { resolveSchemaWithRegistry } from "@dxos/plugin-space";
25
- import { Filter, getSpace, useObject } from "@dxos/react-client/echo";
6
+ import { resolveSchemaWithRegistry } from "@dxos/app-toolkit/query";
7
+ import { Annotation, Filter, JsonSchema, Obj as Obj2, Query, Type } from "@dxos/echo";
8
+ import { useObject } from "@dxos/react-client/echo";
26
9
  import { Panel, Toolbar as Toolbar2, useAsyncEffect, useTranslation as useTranslation2 } from "@dxos/react-ui";
27
10
  import { Card } from "@dxos/react-ui";
11
+ import { Menu } from "@dxos/react-ui-menu";
28
12
  import { Board as Board2, Focus, Mosaic } from "@dxos/react-ui-mosaic";
29
13
  import { ProjectionModel, createEchoChangeCallback } from "@dxos/schema";
14
+ import { meta as meta2 } from "#meta";
30
15
 
31
16
  // src/components/PipelineComponent/PipelineComponent.tsx
32
17
  import { useAtomValue } from "@effect-atom/atom-react";
@@ -37,6 +22,7 @@ import { Obj } from "@dxos/echo";
37
22
  import { Toolbar, useTranslation } from "@dxos/react-ui";
38
23
  import { Board, useBoard, useEventHandlerAdapter } from "@dxos/react-ui-mosaic";
39
24
  import { composable, composableProps, slottable } from "@dxos/ui-theme";
25
+ import { meta } from "#meta";
40
26
  var itemNoOp = ({ item }) => /* @__PURE__ */ React.createElement("span", null, item.id);
41
27
  var PIPELINE_ROOT = "Pipeline.Root";
42
28
  var [PipelineRootContext, usePipeline] = createContext(PIPELINE_ROOT, {
@@ -50,9 +36,7 @@ var PipelineContent = slottable(({ asChild, model, children, ...props }, forward
50
36
  return /* @__PURE__ */ React.createElement(Board.Root, {
51
37
  model
52
38
  }, /* @__PURE__ */ React.createElement(Comp, {
53
- ...composableProps(props, {
54
- role: "none"
55
- }),
39
+ ...composableProps(props),
56
40
  ref: forwardedRef
57
41
  }, children));
58
42
  });
@@ -69,7 +53,7 @@ var PipelineColumns = composable(({ pipeline, ...props }) => {
69
53
  get: (data) => data,
70
54
  make: (object) => object,
71
55
  canDrop: ({ source }) => model.isColumn(source.data),
72
- onChange: (mutate) => Obj.change(pipeline, (obj) => mutate(obj.columns))
56
+ onChange: (mutate) => Obj.update(pipeline, (pipeline2) => mutate(pipeline2.columns))
73
57
  });
74
58
  return /* @__PURE__ */ React.createElement(Board.Content, {
75
59
  ...props,
@@ -89,7 +73,7 @@ var PipelineToolbar = composable(({ children, ...props }, forwardedRef) => {
89
73
  }, /* @__PURE__ */ React.createElement(Toolbar.IconButton, {
90
74
  icon: "ph--plus--regular",
91
75
  iconOnly: true,
92
- label: t("add column label"),
76
+ label: t("add-column.label"),
93
77
  onClick: onAddColumn
94
78
  }));
95
79
  });
@@ -102,14 +86,13 @@ var PipelineComponent = {
102
86
  };
103
87
 
104
88
  // src/components/PipelineComponent/PipelineColumn.tsx
105
- import { Menu } from "@dxos/react-ui-menu";
106
89
  var PIPELINE_COLUMN_NAME = "PipelineColumn";
107
90
  var PipelineColumn = ({ data: column, location, classNames, debug }) => {
108
- const { t } = useTranslation2(meta.id);
109
- const dragHandleRef = useRef(null);
91
+ const { t } = useTranslation2(meta2.id);
92
+ const [dragHandle, setDragHandle] = useState(null);
110
93
  const [viewSnapshot] = useObject(column.view);
111
94
  const view = column.view.target;
112
- const space = getSpace(view);
95
+ const db = view && Obj2.getDatabase(view);
113
96
  const { Item } = usePipeline(PIPELINE_COLUMN_NAME);
114
97
  const [schema, setSchema] = useState();
115
98
  const query = useMemo(() => {
@@ -122,13 +105,13 @@ var PipelineColumn = ({ data: column, location, classNames, debug }) => {
122
105
  JSON.stringify(viewSnapshot?.query.ast)
123
106
  ]);
124
107
  useAsyncEffect(async () => {
125
- if (!query || !space?.db) {
108
+ if (!query || !db) {
126
109
  return;
127
110
  }
128
- const schema2 = await resolveSchemaWithRegistry(space.db.schemaRegistry, query.ast);
111
+ const schema2 = await resolveSchemaWithRegistry(db.schemaRegistry, query.ast);
129
112
  setSchema(() => schema2);
130
113
  }, [
131
- space,
114
+ db,
132
115
  query
133
116
  ]);
134
117
  const projectionModel = useMemo(() => {
@@ -168,13 +151,13 @@ var PipelineColumn = ({ data: column, location, classNames, debug }) => {
168
151
  data: column,
169
152
  location,
170
153
  classNames,
171
- dragHandleRef
154
+ dragHandle
172
155
  }, /* @__PURE__ */ React2.createElement(Panel.Toolbar, {
173
156
  asChild: true
174
157
  }, /* @__PURE__ */ React2.createElement(Board2.Column.Header, {
175
158
  classNames: "_opacity-10",
176
- label: column.name || t("untitled view title"),
177
- dragHandleRef
159
+ label: column.name || t("untitled-view.title"),
160
+ dragHandleRef: setDragHandle
178
161
  })), /* @__PURE__ */ React2.createElement(Panel.Content, {
179
162
  asChild: true
180
163
  }, /* @__PURE__ */ React2.createElement(Board2.Column.Body, {
@@ -214,132 +197,10 @@ var ItemTile = /* @__PURE__ */ forwardRef(({ classNames, data, location, debug,
214
197
  })), /* @__PURE__ */ React2.createElement(Menu.Content, null))), /* @__PURE__ */ React2.createElement(Card.Content, null, /* @__PURE__ */ React2.createElement(Item, itemProps))))));
215
198
  });
216
199
  ItemTile.displayName = ITEM_TILE_NAME;
217
-
218
- // src/hooks/usePipelineBoardModel.ts
219
- import { Atom } from "@effect-atom/atom-react";
220
- import * as Schema from "effect/Schema";
221
- import { useMemo as useMemo2 } from "react";
222
- import { Obj as Obj3, Query as Query2 } from "@dxos/echo";
223
- import { AtomObj, AtomQuery } from "@dxos/echo-atom";
224
- import { getQueryTarget } from "@dxos/plugin-space";
225
- import { getSpace as getSpace2, isSpace } from "@dxos/react-client/echo";
226
- import { Pipeline } from "@dxos/types";
227
- var usePipelineBoardModel = (pipeline, registry) => useMemo2(() => {
228
- if (pipeline == null) {
229
- return emptyPipelineModel;
230
- }
231
- const space = getSpace2(pipeline);
232
- const columnsAtom = AtomObj.makeProperty(pipeline, "columns");
233
- const columnAtomFamily = Atom.family((viewKey) => Atom.make((get) => {
234
- const columns = get(columnsAtom);
235
- return columns.find((c) => c.view.dxn.toString() === viewKey);
236
- }));
237
- const itemsAtomFamily = Atom.family((viewKey) => Atom.make((get) => {
238
- const column = get(columnAtomFamily(viewKey));
239
- if (column == null) {
240
- return [];
241
- }
242
- const viewSnapshot = get(AtomObj.make(column.view));
243
- if (!viewSnapshot?.query?.ast) {
244
- return [];
245
- }
246
- const query = Query2.fromAst(JSON.parse(JSON.stringify(viewSnapshot.query.ast)));
247
- const queryTarget = space ? getQueryTarget(query.ast, space) : void 0;
248
- if (!queryTarget) {
249
- return [];
250
- }
251
- const raw = get(AtomQuery.make(queryTarget, query));
252
- return isSpace(queryTarget) ? raw : [
253
- ...raw
254
- ].reverse();
255
- }));
256
- return {
257
- getColumnId: (data) => data.view.dxn.toString(),
258
- getItemId: (data) => data.id,
259
- isColumn: (obj) => Schema.is(Pipeline.Column)(obj),
260
- isItem: (obj) => Obj3.isObject(obj),
261
- columns: columnsAtom,
262
- items: (column) => itemsAtomFamily(column.view.dxn.toString()),
263
- getColumns: () => [
264
- ...registry.get(columnsAtom)
265
- ],
266
- getItems: (column) => registry.get(itemsAtomFamily(column.view.dxn.toString())) ?? []
267
- };
268
- }, [
269
- pipeline,
270
- registry
271
- ]);
272
- var emptyColumnsAtom = Atom.make(() => []);
273
- var emptyItemsAtom = Atom.make(() => []);
274
- var emptyPipelineModel = {
275
- getColumnId: (data) => data.view.dxn.toString(),
276
- getItemId: (data) => data.id,
277
- isColumn: (obj) => Schema.is(Pipeline.Column)(obj),
278
- isItem: (obj) => Obj3.isObject(obj),
279
- columns: emptyColumnsAtom,
280
- items: () => emptyItemsAtom,
281
- getColumns: () => [],
282
- getItems: () => []
283
- };
284
-
285
- // src/containers/PipelineContainer/PipelineContainer.tsx
286
- var PIPELINE_ITEM = "PipelineItem";
287
- var PipelineContainer = ({ role, subject: pipeline, attendableId }) => {
288
- const registry = useCapability(Capabilities.AtomRegistry);
289
- const model = usePipelineBoardModel(pipeline, registry);
290
- const { invokePromise } = useOperationInvoker();
291
- const { hasAttention } = useAttention(attendableId);
292
- const handleColumnAdd = useCallback(() => invokePromise(DeckOperation.ChangeCompanion, {
293
- companion: companionSegment("settings")
294
- }), [
295
- invokePromise
296
- ]);
297
- return /* @__PURE__ */ React3.createElement(PipelineComponent.Root, {
298
- Item: PipelineItem,
299
- onAddColumn: handleColumnAdd
300
- }, /* @__PURE__ */ React3.createElement(Panel2.Root, {
301
- role
302
- }, /* @__PURE__ */ React3.createElement(Panel2.Toolbar, {
303
- asChild: true
304
- }, /* @__PURE__ */ React3.createElement(PipelineComponent.Toolbar, {
305
- disabled: !hasAttention
306
- })), /* @__PURE__ */ React3.createElement(Panel2.Content, {
307
- asChild: true
308
- }, /* @__PURE__ */ React3.createElement(PipelineComponent.Content, {
309
- asChild: true,
310
- model
311
- }, /* @__PURE__ */ React3.createElement(PipelineComponent.Columns, {
312
- pipeline
313
- })))));
314
- };
315
- var PipelineItem = ({ item, projectionModel }) => {
316
- const menu = useMenu(PIPELINE_ITEM);
317
- const items = useObjectMenuItems(item);
318
- useEffect(() => {
319
- menu.addMenuItems({
320
- id: OBJECT_ACTIONS_CONTRIBUTION_ID,
321
- mode: "additive",
322
- priority: OBJECT_ACTIONS_CONTRIBUTION_PRIORITY,
323
- items
324
- });
325
- return () => menu.removeMenuItems(OBJECT_ACTIONS_CONTRIBUTION_ID);
326
- }, [
327
- menu,
328
- items
329
- ]);
330
- return /* @__PURE__ */ React3.createElement(Surface.Surface, {
331
- role: "card--content",
332
- data: {
333
- subject: item,
334
- projection: projectionModel
335
- },
336
- limit: 1
337
- });
338
- };
339
-
340
- // src/containers/PipelineContainer/index.ts
341
- var PipelineContainer_default = PipelineContainer;
342
200
  export {
343
- PipelineContainer_default as default
201
+ PipelineColumn,
202
+ PipelineComponent,
203
+ PipelineToolbar,
204
+ usePipeline
344
205
  };
345
- //# sourceMappingURL=PipelineContainer-LY2P4JPA.mjs.map
206
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/PipelineComponent/PipelineColumn.tsx", "../../../../src/components/PipelineComponent/PipelineComponent.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport * as Function from 'effect/Function';\nimport * as Option from 'effect/Option';\nimport type * as Schema from 'effect/Schema';\nimport React, { forwardRef, useMemo, useRef, useState } from 'react';\n\nimport { resolveSchemaWithRegistry } from '@dxos/app-toolkit/query';\nimport { Annotation, Filter, JsonSchema, Obj, Query, Type } from '@dxos/echo';\nimport { useObject } from '@dxos/react-client/echo';\nimport { Panel, Toolbar, useAsyncEffect, useTranslation } from '@dxos/react-ui';\nimport { Card } from '@dxos/react-ui';\nimport { Menu } from '@dxos/react-ui-menu';\nimport { Board, Focus, Mosaic, type MosaicTileProps } from '@dxos/react-ui-mosaic';\nimport { ProjectionModel, createEchoChangeCallback } from '@dxos/schema';\nimport { type Pipeline } from '@dxos/types';\n\nimport { meta } from '#meta';\n\nimport { type ItemProps, usePipeline } from './PipelineComponent';\n\n//\n// PipelineColumn\n//\n\nconst PIPELINE_COLUMN_NAME = 'PipelineColumn';\n\nexport type PipelineColumnProps = Pick<MosaicTileProps<Pipeline.Column>, 'classNames' | 'location' | 'data' | 'debug'>;\n\n// TODO(wittjosiah): Support item DnD reordering (ordering needs to be stored on the view presentation collection).\nexport const PipelineColumn = ({ data: column, location, classNames, debug }: PipelineColumnProps) => {\n const { t } = useTranslation(meta.id);\n const [dragHandle, setDragHandle] = useState<HTMLButtonElement | null>(null);\n // Subscribe to the view target for reactivity.\n const [viewSnapshot] = useObject(column.view);\n const view = column.view.target;\n const db = view && Obj.getDatabase(view);\n const { Item } = usePipeline(PIPELINE_COLUMN_NAME);\n const [schema, setSchema] = useState<Schema.Schema.AnyNoContext>();\n const query = useMemo(() => {\n if (!view) {\n return Query.select(Filter.nothing());\n } else {\n // NOTE: Snapshot is required to prevent signal read in prohibited scope.\n // TODO(wittjosiah): Without stringify, filter.filters remains a proxied array.\n return Query.fromAst(JSON.parse(JSON.stringify(viewSnapshot?.query.ast)));\n }\n }, [JSON.stringify(viewSnapshot?.query.ast)]);\n\n useAsyncEffect(async () => {\n if (!query || !db) {\n return;\n }\n\n const schema = await resolveSchemaWithRegistry(db.schemaRegistry, query.ast);\n setSchema(() => schema);\n }, [db, query]);\n\n const projectionModel = useMemo(() => {\n if (!schema || !view) {\n return undefined;\n }\n\n // For mutable schemas (EchoSchema), use the live jsonSchema reference for reactivity.\n const jsonSchema = Type.isMutable(schema) ? schema.jsonSchema : JsonSchema.toJsonSchema(schema);\n const change = createEchoChangeCallback(view, Type.isMutable(schema) ? schema : undefined);\n return new ProjectionModel({ view, baseSchema: jsonSchema, change });\n }, [schema, view]);\n\n const PipelineTile = useMemo(() => {\n return forwardRef<HTMLDivElement, Pick<MosaicTileProps<Obj.Unknown>, 'classNames' | 'location' | 'data' | 'debug'>>(\n (props, ref) => <ItemTile {...props} itemProps={{ item: props.data, projectionModel }} ref={ref} />,\n );\n }, [projectionModel]);\n\n if (!view) {\n return null;\n }\n\n return (\n <Panel.Root asChild>\n <Board.Column.Root\n debug={debug}\n data={column}\n location={location}\n classNames={classNames}\n dragHandle={dragHandle}\n >\n <Panel.Toolbar asChild>\n <Board.Column.Header\n classNames='_opacity-10'\n label={column.name || t('untitled-view.title')}\n dragHandleRef={setDragHandle}\n />\n </Panel.Toolbar>\n <Panel.Content asChild>\n <Board.Column.Body data={column} Tile={PipelineTile} />\n </Panel.Content>\n </Board.Column.Root>\n </Panel.Root>\n );\n};\n\nPipelineColumn.displayName = PIPELINE_COLUMN_NAME;\n\n//\n// ItemTile\n//\n\nconst ITEM_TILE_NAME = 'ItemTile';\n\ntype ItemTileProps = Pick<MosaicTileProps<Obj.Unknown>, 'classNames' | 'location' | 'data' | 'debug'> & {\n itemProps: ItemProps;\n};\n\nconst ItemTile = forwardRef<HTMLDivElement, ItemTileProps>(\n ({ classNames, data, location, debug, itemProps }, forwardedRef) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const composedRef = useComposedRefs<HTMLDivElement>(rootRef, forwardedRef);\n const { Item } = usePipeline(ITEM_TILE_NAME);\n const icon = Function.pipe(\n Obj.getSchema(data),\n Option.fromNullable,\n Option.flatMap(Annotation.IconAnnotation.get),\n Option.map(({ icon }) => icon),\n Option.getOrElse(() => 'ph--placeholder--regular'),\n );\n\n return (\n <Menu.Root>\n <Mosaic.Tile asChild id={data.id} data={data} location={location} debug={debug}>\n <Focus.Item asChild>\n <Card.Root classNames={classNames} ref={composedRef}>\n <Card.Toolbar>\n <Card.Icon icon={icon} />\n <Card.Title>{Obj.getLabel(data)}</Card.Title>\n {/* TODO(wittjosiah): Reconcile with Card.Menu. */}\n <Card.IconBlock padding>\n <Menu.Trigger asChild>\n <Toolbar.IconButton\n iconOnly\n variant='ghost'\n icon='ph--dots-three-vertical--regular'\n label='Actions'\n />\n </Menu.Trigger>\n <Menu.Content />\n </Card.IconBlock>\n </Card.Toolbar>\n <Card.Content>\n <Item {...itemProps} />\n </Card.Content>\n </Card.Root>\n </Focus.Item>\n </Mosaic.Tile>\n </Menu.Root>\n );\n },\n);\n\nItemTile.displayName = ITEM_TILE_NAME;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useAtomValue } from '@effect-atom/atom-react';\nimport { createContext } from '@radix-ui/react-context';\nimport { Slot } from '@radix-ui/react-slot';\nimport React, { type FC, type PropsWithChildren } from 'react';\n\nimport { Obj } from '@dxos/echo';\nimport { Toolbar, type ToolbarRootProps, useTranslation } from '@dxos/react-ui';\nimport { Board, type BoardModel, useBoard, useEventHandlerAdapter } from '@dxos/react-ui-mosaic';\nimport { type ProjectionModel } from '@dxos/schema';\nimport { type Pipeline } from '@dxos/types';\nimport { composable, composableProps, slottable } from '@dxos/ui-theme';\n\nimport { meta } from '#meta';\n\nimport { PipelineColumn } from './PipelineColumn';\n\ntype ItemProps = {\n item: Obj.Unknown;\n projectionModel?: ProjectionModel;\n};\n\nconst itemNoOp = ({ item }: ItemProps) => <span>{item.id}</span>;\n\n//\n// Root\n//\n\ntype PipelineContextValue = {\n Item: FC<ItemProps>;\n // TODO(wittjosiah): Support adding items.\n // If the created item doesn't match the current query, it will not be visible.\n // TODO(wittjosiah): onAddItem?: (schema: Schema.Schema.AnyNoContext) => void;\n onAddColumn?: () => void;\n};\n\ntype PipelineRootProps = PropsWithChildren<PipelineContextValue>;\n\nconst PIPELINE_ROOT = 'Pipeline.Root';\n\nconst [PipelineRootContext, usePipeline] = createContext<PipelineContextValue>(PIPELINE_ROOT, {\n Item: itemNoOp,\n});\n\nconst PipelineRoot = ({ children, ...contextValue }: PipelineRootProps) => (\n <PipelineRootContext {...contextValue}>{children}</PipelineRootContext>\n);\n\nPipelineRoot.displayName = PIPELINE_ROOT;\n\n//\n// Content\n//\n\nconst PIPELINE_CONTENT_NAME = 'Pipeline.Content';\n\ntype PipelineContentProps = PropsWithChildren<{\n model: BoardModel<Pipeline.Column, Obj.Unknown>;\n}>;\n\nconst PipelineContent = slottable<HTMLDivElement, PipelineContentProps>(\n ({ asChild, model, children, ...props }, forwardedRef) => {\n const Comp = asChild ? Slot : 'div';\n return (\n <Board.Root model={model}>\n <Comp {...composableProps(props)} ref={forwardedRef}>\n {children}\n </Comp>\n </Board.Root>\n );\n },\n);\n\nPipelineContent.displayName = PIPELINE_CONTENT_NAME;\n\n//\n// Columns\n//\n\nconst PIPELINE_COLUMNS_NAME = 'Pipeline.Columns';\n\ntype PipelineColumnsProps = {\n pipeline: Pipeline.Pipeline;\n};\n\nconst PipelineColumns = composable<HTMLDivElement, PipelineColumnsProps>(({ pipeline, ...props }) => {\n const { model } = useBoard(PIPELINE_COLUMNS_NAME);\n const columns = useAtomValue(model.columns);\n const eventHandler = useEventHandlerAdapter<Pipeline.Column, Obj.Unknown>({\n id: pipeline.id,\n // TODO(wittjosiah): Cast because columns array is readonly.\n items: columns as any,\n getId: model.getColumnId,\n get: (data) => data as unknown as Obj.Unknown,\n make: (object) => object as unknown as Pipeline.Column,\n canDrop: ({ source }) => model.isColumn(source.data),\n onChange: (mutate) => Obj.update(pipeline, (pipeline) => mutate(pipeline.columns)),\n });\n\n return <Board.Content {...props} id='pipeline' eventHandler={eventHandler} Tile={PipelineColumn} />;\n});\n\nPipelineColumns.displayName = PIPELINE_COLUMNS_NAME;\n\n//\n// Toolbar\n//\n\nconst PIPELINE_TOOLBAR_NAME = 'Pipeline.Toolbar';\n\nexport const PipelineToolbar = composable<HTMLDivElement, ToolbarRootProps>(({ children, ...props }, forwardedRef) => {\n const { t } = useTranslation(meta.id);\n const { onAddColumn } = usePipeline(PIPELINE_TOOLBAR_NAME);\n\n return (\n <Toolbar.Root {...composableProps(props)} ref={forwardedRef}>\n <Toolbar.IconButton icon='ph--plus--regular' iconOnly label={t('add-column.label')} onClick={onAddColumn} />\n </Toolbar.Root>\n );\n});\n\nPipelineToolbar.displayName = PIPELINE_TOOLBAR_NAME;\n\n//\n// Project\n//\n\nexport const PipelineComponent = {\n Root: PipelineRoot,\n Content: PipelineContent,\n Columns: PipelineColumns,\n Toolbar: PipelineToolbar,\n};\n\nexport { usePipeline };\n\nexport type { ItemProps, PipelineContextValue, PipelineRootProps, PipelineContentProps, PipelineColumnsProps };\n"],
5
+ "mappings": "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",
6
+ "names": ["useComposedRefs", "Function", "Option", "React", "forwardRef", "useMemo", "useRef", "useState", "resolveSchemaWithRegistry", "Annotation", "Filter", "JsonSchema", "Obj", "Query", "Type", "useObject", "Panel", "Toolbar", "useAsyncEffect", "useTranslation", "Card", "Menu", "Board", "Focus", "Mosaic", "ProjectionModel", "createEchoChangeCallback", "meta", "useAtomValue", "createContext", "Slot", "React", "Obj", "Toolbar", "useTranslation", "Board", "useBoard", "useEventHandlerAdapter", "composable", "composableProps", "slottable", "meta", "itemNoOp", "item", "span", "id", "PIPELINE_ROOT", "PipelineRootContext", "usePipeline", "createContext", "Item", "PipelineRoot", "children", "contextValue", "displayName", "PIPELINE_CONTENT_NAME", "PipelineContent", "slottable", "asChild", "model", "props", "forwardedRef", "Comp", "Slot", "Board", "Root", "composableProps", "ref", "PIPELINE_COLUMNS_NAME", "PipelineColumns", "composable", "pipeline", "useBoard", "columns", "useAtomValue", "eventHandler", "useEventHandlerAdapter", "items", "getId", "getColumnId", "get", "data", "make", "object", "canDrop", "source", "isColumn", "onChange", "mutate", "Obj", "update", "Content", "Tile", "PipelineColumn", "PIPELINE_TOOLBAR_NAME", "PipelineToolbar", "t", "useTranslation", "meta", "onAddColumn", "Toolbar", "IconButton", "icon", "iconOnly", "label", "onClick", "PipelineComponent", "Columns", "PIPELINE_COLUMN_NAME", "PipelineColumn", "data", "column", "location", "classNames", "debug", "t", "useTranslation", "meta", "id", "dragHandle", "setDragHandle", "useState", "viewSnapshot", "useObject", "view", "target", "db", "Obj", "getDatabase", "Item", "usePipeline", "schema", "setSchema", "query", "useMemo", "Query", "select", "Filter", "nothing", "fromAst", "JSON", "parse", "stringify", "ast", "useAsyncEffect", "resolveSchemaWithRegistry", "schemaRegistry", "projectionModel", "undefined", "jsonSchema", "Type", "isMutable", "JsonSchema", "toJsonSchema", "change", "createEchoChangeCallback", "ProjectionModel", "baseSchema", "PipelineTile", "forwardRef", "props", "ref", "React", "ItemTile", "itemProps", "item", "Panel", "Root", "asChild", "Board", "Column", "Toolbar", "Header", "label", "name", "dragHandleRef", "Content", "Body", "Tile", "displayName", "ITEM_TILE_NAME", "forwardedRef", "rootRef", "useRef", "composedRef", "useComposedRefs", "icon", "pipe", "getSchema", "fromNullable", "flatMap", "Annotation", "IconAnnotation", "get", "map", "getOrElse", "Menu", "Mosaic", "Focus", "Card", "Icon", "Title", "getLabel", "IconBlock", "padding", "Trigger", "IconButton", "iconOnly", "variant"]
7
+ }
@@ -0,0 +1,9 @@
1
+ // src/containers/index.ts
2
+ import { lazy } from "react";
3
+ var PipelineArticle = lazy(() => import("../PipelineArticle-6JIVXMYF.mjs"));
4
+ var PipelineProperties = lazy(() => import("../PipelineProperties-GED4FJSS.mjs"));
5
+ export {
6
+ PipelineArticle,
7
+ PipelineProperties
8
+ };
9
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/containers/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type ComponentType, lazy } from 'react';\n\nexport const PipelineArticle: ComponentType<any> = lazy(() => import('./PipelineArticle'));\nexport const PipelineProperties: ComponentType<any> = lazy(() => import('./PipelineProperties'));\n"],
5
+ "mappings": ";AAIA,SAA6BA,YAAY;AAElC,IAAMC,kBAAsCD,KAAK,MAAM,OAAO,iCAAA,CAAA;AAC9D,IAAME,qBAAyCF,KAAK,MAAM,OAAO,oCAAA,CAAA;",
6
+ "names": ["lazy", "PipelineArticle", "PipelineProperties"]
7
+ }
@@ -0,0 +1,25 @@
1
+ // src/capabilities/create-object.ts
2
+ import * as Effect from "effect/Effect";
3
+ import { Capability } from "@dxos/app-framework";
4
+ import { Operation } from "@dxos/compute";
5
+ import { SpaceOperation } from "@dxos/plugin-space";
6
+ import { SpaceCapabilities } from "@dxos/plugin-space";
7
+ import { Pipeline } from "@dxos/types";
8
+ var create_object_default = Capability.makeModule(Effect.fnUntraced(function* () {
9
+ return Capability.contributes(SpaceCapabilities.CreateObjectEntry, {
10
+ id: Pipeline.Pipeline.typename,
11
+ createObject: (props, options) => Effect.gen(function* () {
12
+ const object = Pipeline.make(props);
13
+ return yield* Operation.invoke(SpaceOperation.AddObject, {
14
+ object,
15
+ target: options.target,
16
+ hidden: true,
17
+ targetNodeId: options.targetNodeId
18
+ });
19
+ })
20
+ });
21
+ }));
22
+ export {
23
+ create_object_default as default
24
+ };
25
+ //# sourceMappingURL=create-object-ZJYFACOI.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/create-object.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/compute';\nimport { SpaceOperation } from '@dxos/plugin-space';\nimport { SpaceCapabilities } from '@dxos/plugin-space';\nimport { Pipeline } from '@dxos/types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n return Capability.contributes(SpaceCapabilities.CreateObjectEntry, {\n id: Pipeline.Pipeline.typename,\n createObject: (props, options) =>\n Effect.gen(function* () {\n const object = Pipeline.make(props);\n return yield* Operation.invoke(SpaceOperation.AddObject, {\n object,\n target: options.target,\n hidden: true,\n targetNodeId: options.targetNodeId,\n });\n }),\n });\n }),\n);\n"],
5
+ "mappings": ";AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAC1B,SAASC,sBAAsB;AAC/B,SAASC,yBAAyB;AAClC,SAASC,gBAAgB;AAEzB,IAAA,wBAAeJ,WAAWK,WACjBC,kBAAW,aAAA;AAChB,SAAON,WAAWO,YAAYJ,kBAAkBK,mBAAmB;IACjEC,IAAIL,SAASA,SAASM;IACtBC,cAAc,CAACC,OAAOC,YACbC,WAAI,aAAA;AACT,YAAMC,SAASX,SAASY,KAAKJ,KAAAA;AAC7B,aAAO,OAAOX,UAAUgB,OAAOf,eAAegB,WAAW;QACvDH;QACAI,QAAQN,QAAQM;QAChBC,QAAQ;QACRC,cAAcR,QAAQQ;MACxB,CAAA;IACF,CAAA;EACJ,CAAA;AACF,CAAA,CAAA;",
6
+ "names": ["Effect", "Capability", "Operation", "SpaceOperation", "SpaceCapabilities", "Pipeline", "makeModule", "fnUntraced", "contributes", "CreateObjectEntry", "id", "typename", "createObject", "props", "options", "gen", "object", "make", "invoke", "AddObject", "target", "hidden", "targetNodeId"]
7
+ }
@@ -0,0 +1,70 @@
1
+ // src/hooks/usePipelineBoardModel.ts
2
+ import { Atom } from "@effect-atom/atom-react";
3
+ import * as Schema from "effect/Schema";
4
+ import { useMemo } from "react";
5
+ import { getQueryTarget } from "@dxos/app-toolkit/query";
6
+ import { Obj, Query } from "@dxos/echo";
7
+ import { AtomObj, AtomQuery } from "@dxos/echo-atom";
8
+ import { getSpace, isSpace } from "@dxos/react-client/echo";
9
+ import { Pipeline } from "@dxos/types";
10
+ var usePipelineBoardModel = (pipeline, registry) => useMemo(() => {
11
+ if (pipeline == null) {
12
+ return emptyPipelineModel;
13
+ }
14
+ const space = getSpace(pipeline);
15
+ const columnsAtom = AtomObj.makeProperty(pipeline, "columns");
16
+ const columnAtomFamily = Atom.family((viewKey) => Atom.make((get) => {
17
+ const columns = get(columnsAtom);
18
+ return columns.find((c) => c.view.dxn.toString() === viewKey);
19
+ }));
20
+ const itemsAtomFamily = Atom.family((viewKey) => Atom.make((get) => {
21
+ const column = get(columnAtomFamily(viewKey));
22
+ if (column == null) {
23
+ return [];
24
+ }
25
+ const viewSnapshot = get(AtomObj.make(column.view));
26
+ if (!viewSnapshot?.query?.ast) {
27
+ return [];
28
+ }
29
+ const query = Query.fromAst(JSON.parse(JSON.stringify(viewSnapshot.query.ast)));
30
+ const queryTarget = space ? getQueryTarget(query.ast, space) : void 0;
31
+ if (!queryTarget) {
32
+ return [];
33
+ }
34
+ const raw = get(AtomQuery.make(queryTarget, query));
35
+ return isSpace(queryTarget) ? raw : [
36
+ ...raw
37
+ ].reverse();
38
+ }));
39
+ return {
40
+ getColumnId: (data) => data.view.dxn.toString(),
41
+ getItemId: (data) => data.id,
42
+ isColumn: (obj) => Schema.is(Pipeline.Column)(obj),
43
+ isItem: (obj) => Obj.isObject(obj),
44
+ columns: columnsAtom,
45
+ items: (column) => itemsAtomFamily(column.view.dxn.toString()),
46
+ getColumns: () => [
47
+ ...registry.get(columnsAtom)
48
+ ],
49
+ getItems: (column) => registry.get(itemsAtomFamily(column.view.dxn.toString())) ?? []
50
+ };
51
+ }, [
52
+ pipeline,
53
+ registry
54
+ ]);
55
+ var emptyColumnsAtom = Atom.make(() => []);
56
+ var emptyItemsAtom = Atom.make(() => []);
57
+ var emptyPipelineModel = {
58
+ getColumnId: (data) => data.view.dxn.toString(),
59
+ getItemId: (data) => data.id,
60
+ isColumn: (obj) => Schema.is(Pipeline.Column)(obj),
61
+ isItem: (obj) => Obj.isObject(obj),
62
+ columns: emptyColumnsAtom,
63
+ items: () => emptyItemsAtom,
64
+ getColumns: () => [],
65
+ getItems: () => []
66
+ };
67
+ export {
68
+ usePipelineBoardModel
69
+ };
70
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/hooks/usePipelineBoardModel.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom, type Registry } from '@effect-atom/atom-react';\nimport * as Schema from 'effect/Schema';\nimport { useMemo } from 'react';\n\nimport { getQueryTarget } from '@dxos/app-toolkit/query';\nimport { Obj, Query } from '@dxos/echo';\nimport { AtomObj, AtomQuery } from '@dxos/echo-atom';\nimport { getSpace, isSpace } from '@dxos/react-client/echo';\nimport { type BoardModel } from '@dxos/react-ui-mosaic';\nimport { Pipeline } from '@dxos/types';\n\nexport const usePipelineBoardModel = (\n pipeline: Pipeline.Pipeline | undefined,\n registry: Registry.Registry,\n): BoardModel<Pipeline.Column, Obj.Unknown> =>\n useMemo<BoardModel<Pipeline.Column, Obj.Unknown>>(() => {\n if (pipeline == null) {\n return emptyPipelineModel;\n }\n\n const space = getSpace(pipeline);\n const columnsAtom = AtomObj.makeProperty(pipeline, 'columns');\n const columnAtomFamily = Atom.family<string, Atom.Atom<Pipeline.Column | undefined>>((viewKey: string) =>\n Atom.make((get) => {\n const columns = get(columnsAtom);\n return columns.find((c) => c.view.dxn.toString() === viewKey);\n }),\n );\n\n const itemsAtomFamily = Atom.family<string, Atom.Atom<Obj.Unknown[]>>((viewKey: string) =>\n Atom.make((get) => {\n const column = get(columnAtomFamily(viewKey));\n if (column == null) {\n return [];\n }\n const viewSnapshot = get(AtomObj.make(column.view));\n if (!viewSnapshot?.query?.ast) {\n return [];\n }\n const query = Query.fromAst(JSON.parse(JSON.stringify(viewSnapshot.query.ast)));\n const queryTarget = space ? getQueryTarget(query.ast, space) : undefined;\n if (!queryTarget) {\n return [];\n }\n const raw = get(AtomQuery.make(queryTarget, query));\n return isSpace(queryTarget) ? raw : [...raw].reverse();\n }),\n );\n\n return {\n getColumnId: (data) => (data as Pipeline.Column).view.dxn.toString(),\n getItemId: (data) => (data as Obj.Unknown).id,\n isColumn: (obj: unknown): obj is Pipeline.Column => Schema.is(Pipeline.Column)(obj),\n isItem: (obj: unknown): obj is Obj.Unknown => Obj.isObject(obj),\n columns: columnsAtom,\n items: (column) => itemsAtomFamily(column.view.dxn.toString()),\n getColumns: () => [...registry.get(columnsAtom)],\n getItems: (column) => registry.get(itemsAtomFamily(column.view.dxn.toString())) ?? [],\n };\n }, [pipeline, registry]);\n\nconst emptyColumnsAtom = Atom.make(() => [] as Pipeline.Column[]);\n\nconst emptyItemsAtom = Atom.make(() => [] as Obj.Unknown[]);\n\nconst emptyPipelineModel: BoardModel<Pipeline.Column, Obj.Unknown> = {\n getColumnId: (data) => (data as Pipeline.Column).view.dxn.toString(),\n getItemId: (data) => (data as Obj.Unknown).id,\n isColumn: (obj: unknown): obj is Pipeline.Column => Schema.is(Pipeline.Column)(obj),\n isItem: (obj): obj is Obj.Unknown => Obj.isObject(obj),\n columns: emptyColumnsAtom,\n items: () => emptyItemsAtom,\n getColumns: () => [],\n getItems: () => [],\n};\n"],
5
+ "mappings": ";AAIA,SAASA,YAA2B;AACpC,YAAYC,YAAY;AACxB,SAASC,eAAe;AAExB,SAASC,sBAAsB;AAC/B,SAASC,KAAKC,aAAa;AAC3B,SAASC,SAASC,iBAAiB;AACnC,SAASC,UAAUC,eAAe;AAElC,SAASC,gBAAgB;AAElB,IAAMC,wBAAwB,CACnCC,UACAC,aAEAX,QAAkD,MAAA;AAChD,MAAIU,YAAY,MAAM;AACpB,WAAOE;EACT;AAEA,QAAMC,QAAQP,SAASI,QAAAA;AACvB,QAAMI,cAAcV,QAAQW,aAAaL,UAAU,SAAA;AACnD,QAAMM,mBAAmBlB,KAAKmB,OAAuD,CAACC,YACpFpB,KAAKqB,KAAK,CAACC,QAAAA;AACT,UAAMC,UAAUD,IAAIN,WAAAA;AACpB,WAAOO,QAAQC,KAAK,CAACC,MAAMA,EAAEC,KAAKC,IAAIC,SAAQ,MAAOR,OAAAA;EACvD,CAAA,CAAA;AAGF,QAAMS,kBAAkB7B,KAAKmB,OAAyC,CAACC,YACrEpB,KAAKqB,KAAK,CAACC,QAAAA;AACT,UAAMQ,SAASR,IAAIJ,iBAAiBE,OAAAA,CAAAA;AACpC,QAAIU,UAAU,MAAM;AAClB,aAAO,CAAA;IACT;AACA,UAAMC,eAAeT,IAAIhB,QAAQe,KAAKS,OAAOJ,IAAI,CAAA;AACjD,QAAI,CAACK,cAAcC,OAAOC,KAAK;AAC7B,aAAO,CAAA;IACT;AACA,UAAMD,QAAQ3B,MAAM6B,QAAQC,KAAKC,MAAMD,KAAKE,UAAUN,aAAaC,MAAMC,GAAG,CAAA,CAAA;AAC5E,UAAMK,cAAcvB,QAAQZ,eAAe6B,MAAMC,KAAKlB,KAAAA,IAASwB;AAC/D,QAAI,CAACD,aAAa;AAChB,aAAO,CAAA;IACT;AACA,UAAME,MAAMlB,IAAIf,UAAUc,KAAKiB,aAAaN,KAAAA,CAAAA;AAC5C,WAAOvB,QAAQ6B,WAAAA,IAAeE,MAAM;SAAIA;MAAKC,QAAO;EACtD,CAAA,CAAA;AAGF,SAAO;IACLC,aAAa,CAACC,SAAUA,KAAyBjB,KAAKC,IAAIC,SAAQ;IAClEgB,WAAW,CAACD,SAAUA,KAAqBE;IAC3CC,UAAU,CAACC,QAAgDC,UAAGtC,SAASuC,MAAM,EAAEF,GAAAA;IAC/EG,QAAQ,CAACH,QAAqC3C,IAAI+C,SAASJ,GAAAA;IAC3DxB,SAASP;IACToC,OAAO,CAACtB,WAAWD,gBAAgBC,OAAOJ,KAAKC,IAAIC,SAAQ,CAAA;IAC3DyB,YAAY,MAAM;SAAIxC,SAASS,IAAIN,WAAAA;;IACnCsC,UAAU,CAACxB,WAAWjB,SAASS,IAAIO,gBAAgBC,OAAOJ,KAAKC,IAAIC,SAAQ,CAAA,CAAA,KAAQ,CAAA;EACrF;AACF,GAAG;EAAChB;EAAUC;CAAS;AAEzB,IAAM0C,mBAAmBvD,KAAKqB,KAAK,MAAM,CAAA,CAAE;AAE3C,IAAMmC,iBAAiBxD,KAAKqB,KAAK,MAAM,CAAA,CAAE;AAEzC,IAAMP,qBAA+D;EACnE4B,aAAa,CAACC,SAAUA,KAAyBjB,KAAKC,IAAIC,SAAQ;EAClEgB,WAAW,CAACD,SAAUA,KAAqBE;EAC3CC,UAAU,CAACC,QAAgDC,UAAGtC,SAASuC,MAAM,EAAEF,GAAAA;EAC/EG,QAAQ,CAACH,QAA4B3C,IAAI+C,SAASJ,GAAAA;EAClDxB,SAASgC;EACTH,OAAO,MAAMI;EACbH,YAAY,MAAM,CAAA;EAClBC,UAAU,MAAM,CAAA;AAClB;",
6
+ "names": ["Atom", "Schema", "useMemo", "getQueryTarget", "Obj", "Query", "AtomObj", "AtomQuery", "getSpace", "isSpace", "Pipeline", "usePipelineBoardModel", "pipeline", "registry", "emptyPipelineModel", "space", "columnsAtom", "makeProperty", "columnAtomFamily", "family", "viewKey", "make", "get", "columns", "find", "c", "view", "dxn", "toString", "itemsAtomFamily", "column", "viewSnapshot", "query", "ast", "fromAst", "JSON", "parse", "stringify", "queryTarget", "undefined", "raw", "reverse", "getColumnId", "data", "getItemId", "id", "isColumn", "obj", "is", "Column", "isItem", "isObject", "items", "getColumns", "getItems", "emptyColumnsAtom", "emptyItemsAtom"]
7
+ }
@@ -0,0 +1,7 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-CNUFCMUC.mjs";
4
+ export {
5
+ meta
6
+ };
7
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"inputs":{"src/meta.ts":{"bytes":1904,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":368,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/PipelinePlugin.tsx":{"bytes":2992,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true}],"format":"esm"},"src/PipelinePlugin.node.ts":{"bytes":2333,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/PipelinePlugin.workerd.ts":{"bytes":1605,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/app-graph-builder.ts":{"bytes":4665,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/create-object.ts":{"bytes":3371,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/react-surface.tsx":{"bytes":7143,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit/ui","kind":"import-statement","external":true},{"path":"@dxos/devtools","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#containers","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/index.ts":{"bytes":1492,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"src/capabilities/create-object.ts","kind":"dynamic-import","original":"./create-object"},{"path":"src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"src/components/PipelineComponent/PipelineComponent.tsx":{"bytes":12700,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"@radix-ui/react-context","kind":"import-statement","external":true},{"path":"@radix-ui/react-slot","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-mosaic","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"src/components/PipelineComponent/PipelineColumn.tsx","kind":"import-statement","original":"./PipelineColumn"}],"format":"esm"},"src/components/PipelineComponent/PipelineColumn.tsx":{"bytes":19927,"imports":[{"path":"@radix-ui/react-compose-refs","kind":"import-statement","external":true},{"path":"effect/Function","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit/query","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"@dxos/react-ui-mosaic","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"src/components/PipelineComponent/PipelineComponent.tsx","kind":"import-statement","original":"./PipelineComponent"}],"format":"esm"},"src/components/PipelineComponent/index.ts":{"bytes":503,"imports":[{"path":"src/components/PipelineComponent/PipelineColumn.tsx","kind":"import-statement","original":"./PipelineColumn"},{"path":"src/components/PipelineComponent/PipelineComponent.tsx","kind":"import-statement","original":"./PipelineComponent"}],"format":"esm"},"src/components/index.ts":{"bytes":401,"imports":[{"path":"src/components/PipelineComponent/index.ts","kind":"import-statement","original":"./PipelineComponent"}],"format":"esm"},"src/containers/PipelineArticle/PipelineArticle.tsx":{"bytes":9244,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit/ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"#components","kind":"import-statement","external":true},{"path":"#hooks","kind":"import-statement","external":true}],"format":"esm"},"src/containers/PipelineArticle/index.ts":{"bytes":524,"imports":[{"path":"src/containers/PipelineArticle/PipelineArticle.tsx","kind":"import-statement","original":"./PipelineArticle"}],"format":"esm"},"src/containers/PipelineProperties/PipelineProperties.tsx":{"bytes":29016,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit/query","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit/ui","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/containers/PipelineProperties/index.ts":{"bytes":542,"imports":[{"path":"src/containers/PipelineProperties/PipelineProperties.tsx","kind":"import-statement","original":"./PipelineProperties"}],"format":"esm"},"src/containers/index.ts":{"bytes":1028,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/containers/PipelineArticle/index.ts","kind":"dynamic-import","original":"./PipelineArticle"},{"path":"src/containers/PipelineProperties/index.ts","kind":"dynamic-import","original":"./PipelineProperties"}],"format":"esm"},"src/hooks/usePipelineBoardModel.ts":{"bytes":10694,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit/query","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-atom","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true}],"format":"esm"},"src/hooks/index.ts":{"bytes":409,"imports":[{"path":"src/hooks/usePipelineBoardModel.ts","kind":"import-statement","original":"./usePipelineBoardModel"}],"format":"esm"},"src/plugin.ts":{"bytes":865,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"#plugin","kind":"dynamic-import","external":true}],"format":"esm"},"src/translations.ts":{"bytes":4002,"imports":[{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/types/index.ts":{"bytes":288,"imports":[],"format":"esm"}},"outputs":{"dist/lib/neutral/PipelineProperties-GED4FJSS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":15518},"dist/lib/neutral/PipelineProperties-GED4FJSS.mjs":{"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit/query","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit/ui","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/containers/PipelineProperties/index.ts","inputs":{"src/containers/PipelineProperties/PipelineProperties.tsx":{"bytesInOutput":7261},"src/containers/PipelineProperties/index.ts":{"bytesInOutput":0}},"bytes":7422},"dist/lib/neutral/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/meta.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-CNUFCMUC.mjs","kind":"import-statement"}],"exports":["meta"],"entryPoint":"src/meta.ts","inputs":{},"bytes":100},"dist/lib/neutral/plugin.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":445},"dist/lib/neutral/plugin.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-CNUFCMUC.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#plugin","kind":"dynamic-import","external":true}],"exports":["PipelinePlugin"],"entryPoint":"src/plugin.ts","inputs":{"src/plugin.ts":{"bytesInOutput":111}},"bytes":241},"dist/lib/neutral/translations.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1877},"dist/lib/neutral/translations.mjs":{"imports":[{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"exports":["translations"],"entryPoint":"src/translations.ts","inputs":{"src/translations.ts":{"bytesInOutput":1117}},"bytes":1209},"dist/lib/neutral/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/types/index.mjs":{"imports":[],"exports":[],"entryPoint":"src/types/index.ts","inputs":{"src/types/index.ts":{"bytesInOutput":0}},"bytes":35},"dist/lib/neutral/app-graph-builder-ZLGRWRJU.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2197},"dist/lib/neutral/app-graph-builder-ZLGRWRJU.mjs":{"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/app-graph-builder.ts","inputs":{"src/capabilities/app-graph-builder.ts":{"bytesInOutput":1187}},"bytes":1335},"dist/lib/neutral/create-object-ZJYFACOI.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1758},"dist/lib/neutral/create-object-ZJYFACOI.mjs":{"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/create-object.ts","inputs":{"src/capabilities/create-object.ts":{"bytesInOutput":786}},"bytes":922},"dist/lib/neutral/react-surface-4W5YLCHT.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3539},"dist/lib/neutral/react-surface-4W5YLCHT.mjs":{"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit/ui","kind":"import-statement","external":true},{"path":"@dxos/devtools","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#containers","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-surface.tsx","inputs":{"src/capabilities/react-surface.tsx":{"bytesInOutput":1762}},"bytes":1899},"dist/lib/neutral/PipelineArticle-6JIVXMYF.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4864},"dist/lib/neutral/PipelineArticle-6JIVXMYF.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit/ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"#components","kind":"import-statement","external":true},{"path":"#hooks","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/containers/PipelineArticle/index.ts","inputs":{"src/containers/PipelineArticle/PipelineArticle.tsx":{"bytesInOutput":2430},"src/containers/PipelineArticle/index.ts":{"bytesInOutput":0}},"bytes":2579},"dist/lib/neutral/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-CNUFCMUC.mjs","kind":"import-statement"}],"exports":["meta"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0}},"bytes":101},"dist/lib/neutral/chunk-CNUFCMUC.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":947},"dist/lib/neutral/chunk-CNUFCMUC.mjs":{"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["meta"],"inputs":{"src/meta.ts":{"bytesInOutput":481}},"bytes":560},"dist/lib/neutral/PipelinePlugin.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1582},"dist/lib/neutral/PipelinePlugin.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true}],"exports":["PipelinePlugin","default"],"entryPoint":"src/PipelinePlugin.tsx","inputs":{"src/PipelinePlugin.tsx":{"bytesInOutput":697}},"bytes":833},"dist/lib/neutral/PipelinePlugin.node.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1229},"dist/lib/neutral/PipelinePlugin.node.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"exports":["PipelinePlugin","default"],"entryPoint":"src/PipelinePlugin.node.ts","inputs":{"src/PipelinePlugin.node.ts":{"bytesInOutput":531}},"bytes":681},"dist/lib/neutral/PipelinePlugin.workerd.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":836},"dist/lib/neutral/PipelinePlugin.workerd.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"exports":["PipelinePlugin","default"],"entryPoint":"src/PipelinePlugin.workerd.ts","inputs":{"src/PipelinePlugin.workerd.ts":{"bytesInOutput":346}},"bytes":505},"dist/lib/neutral/capabilities/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":783},"dist/lib/neutral/capabilities/index.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/neutral/app-graph-builder-ZLGRWRJU.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/create-object-ZJYFACOI.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/react-surface-4W5YLCHT.mjs","kind":"dynamic-import"}],"exports":["AppGraphBuilder","CreateObject","ReactSurface"],"entryPoint":"src/capabilities/index.ts","inputs":{"src/capabilities/index.ts":{"bytesInOutput":357}},"bytes":483},"dist/lib/neutral/components/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":17914},"dist/lib/neutral/components/index.mjs":{"imports":[{"path":"@radix-ui/react-compose-refs","kind":"import-statement","external":true},{"path":"effect/Function","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit/query","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"@dxos/react-ui-mosaic","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"@radix-ui/react-context","kind":"import-statement","external":true},{"path":"@radix-ui/react-slot","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-mosaic","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"exports":["PipelineColumn","PipelineComponent","PipelineToolbar","usePipeline"],"entryPoint":"src/components/index.ts","inputs":{"src/components/PipelineComponent/PipelineColumn.tsx":{"bytesInOutput":4793},"src/components/PipelineComponent/PipelineComponent.tsx":{"bytesInOutput":2800},"src/components/PipelineComponent/index.ts":{"bytesInOutput":0},"src/components/index.ts":{"bytesInOutput":0}},"bytes":7882},"dist/lib/neutral/containers/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":572},"dist/lib/neutral/containers/index.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"dist/lib/neutral/PipelineArticle-6JIVXMYF.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/PipelineProperties-GED4FJSS.mjs","kind":"dynamic-import"}],"exports":["PipelineArticle","PipelineProperties"],"entryPoint":"src/containers/index.ts","inputs":{"src/containers/index.ts":{"bytesInOutput":190}},"bytes":304},"dist/lib/neutral/hooks/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5824},"dist/lib/neutral/hooks/index.mjs":{"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit/query","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-atom","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/types","kind":"import-statement","external":true}],"exports":["usePipelineBoardModel"],"entryPoint":"src/hooks/index.ts","inputs":{"src/hooks/usePipelineBoardModel.ts":{"bytesInOutput":2300},"src/hooks/index.ts":{"bytesInOutput":0}},"bytes":2409}}}
@@ -0,0 +1,7 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-CNUFCMUC.mjs";
4
+ export {
5
+ meta
6
+ };
7
+ //# sourceMappingURL=meta.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,11 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-CNUFCMUC.mjs";
4
+
5
+ // src/plugin.ts
6
+ import { Plugin } from "@dxos/app-framework";
7
+ var PipelinePlugin = Plugin.lazy(meta, () => import("#plugin"));
8
+ export {
9
+ PipelinePlugin
10
+ };
11
+ //# sourceMappingURL=plugin.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/plugin.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport const PipelinePlugin = Plugin.lazy(meta, () => import('#plugin'));\n"],
5
+ "mappings": ";;;;;AAIA,SAASA,cAAc;AAIhB,IAAMC,iBAAiBC,OAAOC,KAAKC,MAAM,MAAM,OAAO,SAAA,CAAA;",
6
+ "names": ["Plugin", "PipelinePlugin", "Plugin", "lazy", "meta"]
7
+ }