@dxos/plugin-pipeline 0.8.4-main.c85a9c8dae → 0.8.4-main.dfabb4ec29

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-RRPQ3V6I.mjs} +16 -30
  8. package/dist/lib/neutral/PipelineProperties-RRPQ3V6I.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} +65 -34
  89. package/src/components/{PipelineComponent.stories.tsx → PipelineComponent/PipelineComponent.stories.tsx} +20 -18
  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 +35 -34
  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} +20 -20
  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,206 @@
1
+ // src/components/PipelineComponent/PipelineColumn.tsx
2
+ import { useComposedRefs } from "@radix-ui/react-compose-refs";
3
+ import * as Function from "effect/Function";
4
+ import * as Option from "effect/Option";
5
+ import React2, { forwardRef, useMemo, useRef, useState } from "react";
6
+ import { resolveSchemaWithRegistry } from "@dxos/app-toolkit/query";
7
+ import { Annotation, JsonSchema, Obj as Obj2, Query, Type } from "@dxos/echo";
8
+ import { Filter, getSpace, useObject } from "@dxos/react-client/echo";
9
+ import { Panel, Toolbar as Toolbar2, useAsyncEffect, useTranslation as useTranslation2 } from "@dxos/react-ui";
10
+ import { Card } from "@dxos/react-ui";
11
+ import { Menu } from "@dxos/react-ui-menu";
12
+ import { Board as Board2, Focus, Mosaic } from "@dxos/react-ui-mosaic";
13
+ import { ProjectionModel, createEchoChangeCallback } from "@dxos/schema";
14
+ import { meta as meta2 } from "#meta";
15
+
16
+ // src/components/PipelineComponent/PipelineComponent.tsx
17
+ import { useAtomValue } from "@effect-atom/atom-react";
18
+ import { createContext } from "@radix-ui/react-context";
19
+ import { Slot } from "@radix-ui/react-slot";
20
+ import React from "react";
21
+ import { Obj } from "@dxos/echo";
22
+ import { Toolbar, useTranslation } from "@dxos/react-ui";
23
+ import { Board, useBoard, useEventHandlerAdapter } from "@dxos/react-ui-mosaic";
24
+ import { composable, composableProps, slottable } from "@dxos/ui-theme";
25
+ import { meta } from "#meta";
26
+ var itemNoOp = ({ item }) => /* @__PURE__ */ React.createElement("span", null, item.id);
27
+ var PIPELINE_ROOT = "Pipeline.Root";
28
+ var [PipelineRootContext, usePipeline] = createContext(PIPELINE_ROOT, {
29
+ Item: itemNoOp
30
+ });
31
+ var PipelineRoot = ({ children, ...contextValue }) => /* @__PURE__ */ React.createElement(PipelineRootContext, contextValue, children);
32
+ PipelineRoot.displayName = PIPELINE_ROOT;
33
+ var PIPELINE_CONTENT_NAME = "Pipeline.Content";
34
+ var PipelineContent = slottable(({ asChild, model, children, ...props }, forwardedRef) => {
35
+ const Comp = asChild ? Slot : "div";
36
+ return /* @__PURE__ */ React.createElement(Board.Root, {
37
+ model
38
+ }, /* @__PURE__ */ React.createElement(Comp, {
39
+ ...composableProps(props),
40
+ ref: forwardedRef
41
+ }, children));
42
+ });
43
+ PipelineContent.displayName = PIPELINE_CONTENT_NAME;
44
+ var PIPELINE_COLUMNS_NAME = "Pipeline.Columns";
45
+ var PipelineColumns = composable(({ pipeline, ...props }) => {
46
+ const { model } = useBoard(PIPELINE_COLUMNS_NAME);
47
+ const columns = useAtomValue(model.columns);
48
+ const eventHandler = useEventHandlerAdapter({
49
+ id: pipeline.id,
50
+ // TODO(wittjosiah): Cast because columns array is readonly.
51
+ items: columns,
52
+ getId: model.getColumnId,
53
+ get: (data) => data,
54
+ make: (object) => object,
55
+ canDrop: ({ source }) => model.isColumn(source.data),
56
+ onChange: (mutate) => Obj.update(pipeline, (pipeline2) => mutate(pipeline2.columns))
57
+ });
58
+ return /* @__PURE__ */ React.createElement(Board.Content, {
59
+ ...props,
60
+ id: "pipeline",
61
+ eventHandler,
62
+ Tile: PipelineColumn
63
+ });
64
+ });
65
+ PipelineColumns.displayName = PIPELINE_COLUMNS_NAME;
66
+ var PIPELINE_TOOLBAR_NAME = "Pipeline.Toolbar";
67
+ var PipelineToolbar = composable(({ children, ...props }, forwardedRef) => {
68
+ const { t } = useTranslation(meta.id);
69
+ const { onAddColumn } = usePipeline(PIPELINE_TOOLBAR_NAME);
70
+ return /* @__PURE__ */ React.createElement(Toolbar.Root, {
71
+ ...composableProps(props),
72
+ ref: forwardedRef
73
+ }, /* @__PURE__ */ React.createElement(Toolbar.IconButton, {
74
+ icon: "ph--plus--regular",
75
+ iconOnly: true,
76
+ label: t("add-column.label"),
77
+ onClick: onAddColumn
78
+ }));
79
+ });
80
+ PipelineToolbar.displayName = PIPELINE_TOOLBAR_NAME;
81
+ var PipelineComponent = {
82
+ Root: PipelineRoot,
83
+ Content: PipelineContent,
84
+ Columns: PipelineColumns,
85
+ Toolbar: PipelineToolbar
86
+ };
87
+
88
+ // src/components/PipelineComponent/PipelineColumn.tsx
89
+ var PIPELINE_COLUMN_NAME = "PipelineColumn";
90
+ var PipelineColumn = ({ data: column, location, classNames, debug }) => {
91
+ const { t } = useTranslation2(meta2.id);
92
+ const [dragHandle, setDragHandle] = useState(null);
93
+ const [viewSnapshot] = useObject(column.view);
94
+ const view = column.view.target;
95
+ const space = getSpace(view);
96
+ const { Item } = usePipeline(PIPELINE_COLUMN_NAME);
97
+ const [schema, setSchema] = useState();
98
+ const query = useMemo(() => {
99
+ if (!view) {
100
+ return Query.select(Filter.nothing());
101
+ } else {
102
+ return Query.fromAst(JSON.parse(JSON.stringify(viewSnapshot?.query.ast)));
103
+ }
104
+ }, [
105
+ JSON.stringify(viewSnapshot?.query.ast)
106
+ ]);
107
+ useAsyncEffect(async () => {
108
+ if (!query || !space?.db) {
109
+ return;
110
+ }
111
+ const schema2 = await resolveSchemaWithRegistry(space.db.schemaRegistry, query.ast);
112
+ setSchema(() => schema2);
113
+ }, [
114
+ space,
115
+ query
116
+ ]);
117
+ const projectionModel = useMemo(() => {
118
+ if (!schema || !view) {
119
+ return void 0;
120
+ }
121
+ const jsonSchema = Type.isMutable(schema) ? schema.jsonSchema : JsonSchema.toJsonSchema(schema);
122
+ const change = createEchoChangeCallback(view, Type.isMutable(schema) ? schema : void 0);
123
+ return new ProjectionModel({
124
+ view,
125
+ baseSchema: jsonSchema,
126
+ change
127
+ });
128
+ }, [
129
+ schema,
130
+ view
131
+ ]);
132
+ const PipelineTile = useMemo(() => {
133
+ return /* @__PURE__ */ forwardRef((props, ref) => /* @__PURE__ */ React2.createElement(ItemTile, {
134
+ ...props,
135
+ itemProps: {
136
+ item: props.data,
137
+ projectionModel
138
+ },
139
+ ref
140
+ }));
141
+ }, [
142
+ projectionModel
143
+ ]);
144
+ if (!view) {
145
+ return null;
146
+ }
147
+ return /* @__PURE__ */ React2.createElement(Panel.Root, {
148
+ asChild: true
149
+ }, /* @__PURE__ */ React2.createElement(Board2.Column.Root, {
150
+ debug,
151
+ data: column,
152
+ location,
153
+ classNames,
154
+ dragHandle
155
+ }, /* @__PURE__ */ React2.createElement(Panel.Toolbar, {
156
+ asChild: true
157
+ }, /* @__PURE__ */ React2.createElement(Board2.Column.Header, {
158
+ classNames: "_opacity-10",
159
+ label: column.name || t("untitled-view.title"),
160
+ dragHandleRef: setDragHandle
161
+ })), /* @__PURE__ */ React2.createElement(Panel.Content, {
162
+ asChild: true
163
+ }, /* @__PURE__ */ React2.createElement(Board2.Column.Body, {
164
+ data: column,
165
+ Tile: PipelineTile
166
+ }))));
167
+ };
168
+ PipelineColumn.displayName = PIPELINE_COLUMN_NAME;
169
+ var ITEM_TILE_NAME = "ItemTile";
170
+ var ItemTile = /* @__PURE__ */ forwardRef(({ classNames, data, location, debug, itemProps }, forwardedRef) => {
171
+ const rootRef = useRef(null);
172
+ const composedRef = useComposedRefs(rootRef, forwardedRef);
173
+ const { Item } = usePipeline(ITEM_TILE_NAME);
174
+ const icon = Function.pipe(Obj2.getSchema(data), Option.fromNullable, Option.flatMap(Annotation.IconAnnotation.get), Option.map(({ icon: icon2 }) => icon2), Option.getOrElse(() => "ph--placeholder--regular"));
175
+ return /* @__PURE__ */ React2.createElement(Menu.Root, null, /* @__PURE__ */ React2.createElement(Mosaic.Tile, {
176
+ asChild: true,
177
+ id: data.id,
178
+ data,
179
+ location,
180
+ debug
181
+ }, /* @__PURE__ */ React2.createElement(Focus.Item, {
182
+ asChild: true
183
+ }, /* @__PURE__ */ React2.createElement(Card.Root, {
184
+ classNames,
185
+ ref: composedRef
186
+ }, /* @__PURE__ */ React2.createElement(Card.Toolbar, null, /* @__PURE__ */ React2.createElement(Card.Icon, {
187
+ icon
188
+ }), /* @__PURE__ */ React2.createElement(Card.Title, null, Obj2.getLabel(data)), /* @__PURE__ */ React2.createElement(Card.IconBlock, {
189
+ padding: true
190
+ }, /* @__PURE__ */ React2.createElement(Menu.Trigger, {
191
+ asChild: true
192
+ }, /* @__PURE__ */ React2.createElement(Toolbar2.IconButton, {
193
+ iconOnly: true,
194
+ variant: "ghost",
195
+ icon: "ph--dots-three-vertical--regular",
196
+ label: "Actions"
197
+ })), /* @__PURE__ */ React2.createElement(Menu.Content, null))), /* @__PURE__ */ React2.createElement(Card.Content, null, /* @__PURE__ */ React2.createElement(Item, itemProps))))));
198
+ });
199
+ ItemTile.displayName = ITEM_TILE_NAME;
200
+ export {
201
+ PipelineColumn,
202
+ PipelineComponent,
203
+ PipelineToolbar,
204
+ usePipeline
205
+ };
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, JsonSchema, Obj, Query, Type } from '@dxos/echo';\nimport { Filter, getSpace, 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 space = getSpace(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 || !space?.db) {\n return;\n }\n\n const schema = await resolveSchemaWithRegistry(space.db.schemaRegistry, query.ast);\n setSchema(() => schema);\n }, [space, 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": ";AAIA,SAASA,uBAAuB;AAChC,YAAYC,cAAc;AAC1B,YAAYC,YAAY;AAExB,OAAOC,UAASC,YAAYC,SAASC,QAAQC,gBAAgB;AAE7D,SAASC,iCAAiC;AAC1C,SAASC,YAAYC,YAAYC,OAAAA,MAAKC,OAAOC,YAAY;AACzD,SAASC,QAAQC,UAAUC,iBAAiB;AAC5C,SAASC,OAAOC,WAAAA,UAASC,gBAAgBC,kBAAAA,uBAAsB;AAC/D,SAASC,YAAY;AACrB,SAASC,YAAY;AACrB,SAASC,SAAAA,QAAOC,OAAOC,cAAoC;AAC3D,SAASC,iBAAiBC,gCAAgC;AAG1D,SAASC,QAAAA,aAAY;;;AChBrB,SAASC,oBAAoB;AAC7B,SAASC,qBAAqB;AAC9B,SAASC,YAAY;AACrB,OAAOC,WAAgD;AAEvD,SAASC,WAAW;AACpB,SAASC,SAAgCC,sBAAsB;AAC/D,SAASC,OAAwBC,UAAUC,8BAA8B;AAGzE,SAASC,YAAYC,iBAAiBC,iBAAiB;AAEvD,SAASC,YAAY;AASrB,IAAMC,WAAW,CAAC,EAAEC,KAAI,MAAkB,sBAAA,cAACC,QAAAA,MAAMD,KAAKE,EAAE;AAgBxD,IAAMC,gBAAgB;AAEtB,IAAM,CAACC,qBAAqBC,WAAAA,IAAeC,cAAoCH,eAAe;EAC5FI,MAAMR;AACR,CAAA;AAEA,IAAMS,eAAe,CAAC,EAAEC,UAAU,GAAGC,aAAAA,MACnC,sBAAA,cAACN,qBAAwBM,cAAeD,QAAAA;AAG1CD,aAAaG,cAAcR;AAM3B,IAAMS,wBAAwB;AAM9B,IAAMC,kBAAkBC,UACtB,CAAC,EAAEC,SAASC,OAAOP,UAAU,GAAGQ,MAAAA,GAASC,iBAAAA;AACvC,QAAMC,OAAOJ,UAAUK,OAAO;AAC9B,SACE,sBAAA,cAACC,MAAMC,MAAI;IAACN;KACV,sBAAA,cAACG,MAAAA;IAAM,GAAGI,gBAAgBN,KAAAA;IAAQO,KAAKN;KACpCT,QAAAA,CAAAA;AAIT,CAAA;AAGFI,gBAAgBF,cAAcC;AAM9B,IAAMa,wBAAwB;AAM9B,IAAMC,kBAAkBC,WAAiD,CAAC,EAAEC,UAAU,GAAGX,MAAAA,MAAO;AAC9F,QAAM,EAAED,MAAK,IAAKa,SAASJ,qBAAAA;AAC3B,QAAMK,UAAUC,aAAaf,MAAMc,OAAO;AAC1C,QAAME,eAAeC,uBAAqD;IACxE/B,IAAI0B,SAAS1B;;IAEbgC,OAAOJ;IACPK,OAAOnB,MAAMoB;IACbC,KAAK,CAACC,SAASA;IACfC,MAAM,CAACC,WAAWA;IAClBC,SAAS,CAAC,EAAEC,OAAM,MAAO1B,MAAM2B,SAASD,OAAOJ,IAAI;IACnDM,UAAU,CAACC,WAAWC,IAAIC,OAAOnB,UAAU,CAACA,cAAaiB,OAAOjB,UAASE,OAAO,CAAA;EAClF,CAAA;AAEA,SAAO,sBAAA,cAACT,MAAM2B,SAAO;IAAE,GAAG/B;IAAOf,IAAG;IAAW8B;IAA4BiB,MAAMC;;AACnF,CAAA;AAEAxB,gBAAgBf,cAAcc;AAM9B,IAAM0B,wBAAwB;AAEvB,IAAMC,kBAAkBzB,WAA6C,CAAC,EAAElB,UAAU,GAAGQ,MAAAA,GAASC,iBAAAA;AACnG,QAAM,EAAEmC,EAAC,IAAKC,eAAeC,KAAKrD,EAAE;AACpC,QAAM,EAAEsD,YAAW,IAAKnD,YAAY8C,qBAAAA;AAEpC,SACE,sBAAA,cAACM,QAAQnC,MAAI;IAAE,GAAGC,gBAAgBN,KAAAA;IAAQO,KAAKN;KAC7C,sBAAA,cAACuC,QAAQC,YAAU;IAACC,MAAK;IAAoBC,UAAAA;IAASC,OAAOR,EAAE,kBAAA;IAAqBS,SAASN;;AAGnG,CAAA;AAEAJ,gBAAgBzC,cAAcwC;AAMvB,IAAMY,oBAAoB;EAC/BzC,MAAMd;EACNwC,SAASnC;EACTmD,SAAStC;EACT+B,SAASL;AACX;;;AD3GA,IAAMa,uBAAuB;AAKtB,IAAMC,iBAAiB,CAAC,EAAEC,MAAMC,QAAQC,UAAUC,YAAYC,MAAK,MAAuB;AAC/F,QAAM,EAAEC,EAAC,IAAKC,gBAAeC,MAAKC,EAAE;AACpC,QAAM,CAACC,YAAYC,aAAAA,IAAiBC,SAAmC,IAAA;AAEvE,QAAM,CAACC,YAAAA,IAAgBC,UAAUZ,OAAOa,IAAI;AAC5C,QAAMA,OAAOb,OAAOa,KAAKC;AACzB,QAAMC,QAAQC,SAASH,IAAAA;AACvB,QAAM,EAAEI,KAAI,IAAKC,YAAYrB,oBAAAA;AAC7B,QAAM,CAACsB,QAAQC,SAAAA,IAAaV,SAAAA;AAC5B,QAAMW,QAAQC,QAAQ,MAAA;AACpB,QAAI,CAACT,MAAM;AACT,aAAOU,MAAMC,OAAOC,OAAOC,QAAO,CAAA;IACpC,OAAO;AAGL,aAAOH,MAAMI,QAAQC,KAAKC,MAAMD,KAAKE,UAAUnB,cAAcU,MAAMU,GAAAA,CAAAA,CAAAA;IACrE;EACF,GAAG;IAACH,KAAKE,UAAUnB,cAAcU,MAAMU,GAAAA;GAAK;AAE5CC,iBAAe,YAAA;AACb,QAAI,CAACX,SAAS,CAACN,OAAOkB,IAAI;AACxB;IACF;AAEA,UAAMd,UAAS,MAAMe,0BAA0BnB,MAAMkB,GAAGE,gBAAgBd,MAAMU,GAAG;AACjFX,cAAU,MAAMD,OAAAA;EAClB,GAAG;IAACJ;IAAOM;GAAM;AAEjB,QAAMe,kBAAkBd,QAAQ,MAAA;AAC9B,QAAI,CAACH,UAAU,CAACN,MAAM;AACpB,aAAOwB;IACT;AAGA,UAAMC,aAAaC,KAAKC,UAAUrB,MAAAA,IAAUA,OAAOmB,aAAaG,WAAWC,aAAavB,MAAAA;AACxF,UAAMwB,SAASC,yBAAyB/B,MAAM0B,KAAKC,UAAUrB,MAAAA,IAAUA,SAASkB,MAAAA;AAChF,WAAO,IAAIQ,gBAAgB;MAAEhC;MAAMiC,YAAYR;MAAYK;IAAO,CAAA;EACpE,GAAG;IAACxB;IAAQN;GAAK;AAEjB,QAAMkC,eAAezB,QAAQ,MAAA;AAC3B,WAAO0B,2BACL,CAACC,OAAOC,QAAQ,gBAAAC,OAAA,cAACC,UAAAA;MAAU,GAAGH;MAAOI,WAAW;QAAEC,MAAML,MAAMlD;QAAMqC;MAAgB;MAAGc;;EAE3F,GAAG;IAACd;GAAgB;AAEpB,MAAI,CAACvB,MAAM;AACT,WAAO;EACT;AAEA,SACE,gBAAAsC,OAAA,cAACI,MAAMC,MAAI;IAACC,SAAAA;KACV,gBAAAN,OAAA,cAACO,OAAMC,OAAOH,MAAI;IAChBrD;IACAJ,MAAMC;IACNC;IACAC;IACAM;KAEA,gBAAA2C,OAAA,cAACI,MAAMK,SAAO;IAACH,SAAAA;KACb,gBAAAN,OAAA,cAACO,OAAMC,OAAOE,QAAM;IAClB3D,YAAW;IACX4D,OAAO9D,OAAO+D,QAAQ3D,EAAE,qBAAA;IACxB4D,eAAevD;OAGnB,gBAAA0C,OAAA,cAACI,MAAMU,SAAO;IAACR,SAAAA;KACb,gBAAAN,OAAA,cAACO,OAAMC,OAAOO,MAAI;IAACnE,MAAMC;IAAQmE,MAAMpB;;AAKjD;AAEAjD,eAAesE,cAAcvE;AAM7B,IAAMwE,iBAAiB;AAMvB,IAAMjB,WAAWJ,2BACf,CAAC,EAAE9C,YAAYH,MAAME,UAAUE,OAAOkD,UAAS,GAAIiB,iBAAAA;AACjD,QAAMC,UAAUC,OAAuB,IAAA;AACvC,QAAMC,cAAcC,gBAAgCH,SAASD,YAAAA;AAC7D,QAAM,EAAErD,KAAI,IAAKC,YAAYmD,cAAAA;AAC7B,QAAMM,OAAgBC,cACpBC,KAAIC,UAAU/E,IAAAA,GACPgF,qBACAC,eAAQC,WAAWC,eAAeC,GAAG,GACrCC,WAAI,CAAC,EAAET,MAAAA,MAAI,MAAOA,KAAAA,GAClBU,iBAAU,MAAM,0BAAA,CAAA;AAGzB,SACE,gBAAAlC,OAAA,cAACmC,KAAK9B,MAAI,MACR,gBAAAL,OAAA,cAACoC,OAAOpB,MAAI;IAACV,SAAAA;IAAQlD,IAAIR,KAAKQ;IAAIR;IAAYE;IAAoBE;KAChE,gBAAAgD,OAAA,cAACqC,MAAMvE,MAAI;IAACwC,SAAAA;KACV,gBAAAN,OAAA,cAACsC,KAAKjC,MAAI;IAACtD;IAAwBgD,KAAKuB;KACtC,gBAAAtB,OAAA,cAACsC,KAAK7B,SAAO,MACX,gBAAAT,OAAA,cAACsC,KAAKC,MAAI;IAACf;MACX,gBAAAxB,OAAA,cAACsC,KAAKE,OAAK,MAAEd,KAAIe,SAAS7F,IAAAA,CAAAA,GAE1B,gBAAAoD,OAAA,cAACsC,KAAKI,WAAS;IAACC,SAAAA;KACd,gBAAA3C,OAAA,cAACmC,KAAKS,SAAO;IAACtC,SAAAA;KACZ,gBAAAN,OAAA,cAACS,SAAQoC,YAAU;IACjBC,UAAAA;IACAC,SAAQ;IACRvB,MAAK;IACLb,OAAM;OAGV,gBAAAX,OAAA,cAACmC,KAAKrB,SAAO,IAAA,CAAA,CAAA,GAGjB,gBAAAd,OAAA,cAACsC,KAAKxB,SAAO,MACX,gBAAAd,OAAA,cAAClC,MAASoC,SAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAOxB,CAAA;AAGFD,SAASgB,cAAcC;",
6
+ "names": ["useComposedRefs", "Function", "Option", "React", "forwardRef", "useMemo", "useRef", "useState", "resolveSchemaWithRegistry", "Annotation", "JsonSchema", "Obj", "Query", "Type", "Filter", "getSpace", "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", "space", "getSpace", "Item", "usePipeline", "schema", "setSchema", "query", "useMemo", "Query", "select", "Filter", "nothing", "fromAst", "JSON", "parse", "stringify", "ast", "useAsyncEffect", "db", "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", "Obj", "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 PipelineContainer = lazy(() => import("../PipelineContainer-7MK2SS76.mjs"));
4
+ var PipelineProperties = lazy(() => import("../PipelineProperties-RRPQ3V6I.mjs"));
5
+ export {
6
+ PipelineContainer,
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 PipelineContainer: ComponentType<any> = lazy(() => import('./PipelineContainer'));\nexport const PipelineProperties: ComponentType<any> = lazy(() => import('./PipelineProperties'));\n"],
5
+ "mappings": ";AAIA,SAA6BA,YAAY;AAElC,IAAMC,oBAAwCD,KAAK,MAAM,OAAO,mCAAA,CAAA;AAChE,IAAME,qBAAyCF,KAAK,MAAM,OAAO,oCAAA,CAAA;",
6
+ "names": ["lazy", "PipelineContainer", "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-ULB5DKWO.mjs";
4
+ export {
5
+ meta
6
+ };
7
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"inputs":{"src/meta.ts":{"bytes":1832,"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/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":7159,"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":19981,"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/PipelineContainer/PipelineContainer.tsx":{"bytes":9258,"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/PipelineContainer/index.ts":{"bytes":536,"imports":[{"path":"src/containers/PipelineContainer/PipelineContainer.tsx","kind":"import-statement","original":"./PipelineContainer"}],"format":"esm"},"src/containers/PipelineProperties/PipelineProperties.tsx":{"bytes":29329,"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":1040,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/containers/PipelineContainer/index.ts","kind":"dynamic-import","original":"./PipelineContainer"},{"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/plugin.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":445},"dist/lib/neutral/plugin.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-ULB5DKWO.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-TW6TRMO6.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3545},"dist/lib/neutral/react-surface-TW6TRMO6.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":1766}},"bytes":1903},"dist/lib/neutral/PipelineContainer-7MK2SS76.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4876},"dist/lib/neutral/PipelineContainer-7MK2SS76.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/PipelineContainer/index.ts","inputs":{"src/containers/PipelineContainer/PipelineContainer.tsx":{"bytesInOutput":2432},"src/containers/PipelineContainer/index.ts":{"bytesInOutput":0}},"bytes":2589},"dist/lib/neutral/PipelineProperties-RRPQ3V6I.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":15685},"dist/lib/neutral/PipelineProperties-RRPQ3V6I.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":7346},"src/containers/PipelineProperties/index.ts":{"bytesInOutput":0}},"bytes":7507},"dist/lib/neutral/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-ULB5DKWO.mjs","kind":"import-statement"}],"exports":["meta"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0}},"bytes":101},"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/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-TW6TRMO6.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":17950},"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":4806},"src/components/PipelineComponent/PipelineComponent.tsx":{"bytesInOutput":2800},"src/components/PipelineComponent/index.ts":{"bytesInOutput":0},"src/components/index.ts":{"bytesInOutput":0}},"bytes":7895},"dist/lib/neutral/containers/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":578},"dist/lib/neutral/containers/index.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"dist/lib/neutral/PipelineContainer-7MK2SS76.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/PipelineProperties-RRPQ3V6I.mjs","kind":"dynamic-import"}],"exports":["PipelineContainer","PipelineProperties"],"entryPoint":"src/containers/index.ts","inputs":{"src/containers/index.ts":{"bytesInOutput":194}},"bytes":310},"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},"dist/lib/neutral/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/meta.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-ULB5DKWO.mjs","kind":"import-statement"}],"exports":["meta"],"entryPoint":"src/meta.ts","inputs":{},"bytes":100},"dist/lib/neutral/chunk-ULB5DKWO.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":907},"dist/lib/neutral/chunk-ULB5DKWO.mjs":{"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["meta"],"inputs":{"src/meta.ts":{"bytesInOutput":463}},"bytes":542}}}
@@ -0,0 +1,7 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-ULB5DKWO.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-ULB5DKWO.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
+ }
@@ -1,42 +1,32 @@
1
- import {
2
- meta
3
- } from "./chunk-QWNKLHBY.mjs";
4
-
5
- // src/capabilities/react-surface/react-surface.tsx
1
+ // src/capabilities/react-surface.tsx
6
2
  import * as Effect from "effect/Effect";
7
3
  import React from "react";
8
4
  import { Capabilities, Capability } from "@dxos/app-framework";
9
5
  import { Surface } from "@dxos/app-framework/ui";
6
+ import { AppSurface } from "@dxos/app-toolkit/ui";
10
7
  import { InvocationTraceContainer } from "@dxos/devtools";
11
8
  import { Obj } from "@dxos/echo";
12
9
  import { Panel } from "@dxos/react-ui";
13
10
  import { Pipeline } from "@dxos/types";
14
-
15
- // src/containers/index.ts
16
- import { lazy } from "react";
17
- var PipelineContainer = lazy(() => import("./PipelineContainer-2ZYSZATA.mjs"));
18
- var PipelineObjectSettings = lazy(() => import("./PipelineObjectSettings-D36OYVHW.mjs"));
19
-
20
- // src/capabilities/react-surface/react-surface.tsx
11
+ import { PipelineContainer, PipelineProperties } from "#containers";
21
12
  var react_surface_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(Capabilities.ReactSurface, [
22
13
  Surface.create({
23
- id: meta.id,
24
- role: "article",
25
- filter: (data) => Obj.instanceOf(Pipeline.Pipeline, data.subject),
14
+ id: "root",
15
+ filter: AppSurface.object(AppSurface.Article, Pipeline.Pipeline),
26
16
  component: ({ data, role }) => /* @__PURE__ */ React.createElement(PipelineContainer, {
27
17
  role,
28
- subject: data.subject
18
+ subject: data.subject,
19
+ attendableId: data.attendableId
29
20
  })
30
21
  }),
31
22
  Surface.create({
32
- id: `${meta.id}/companion/invocations`,
33
- role: "article",
34
- filter: (data) => Obj.instanceOf(Pipeline.Pipeline, data.companionTo) && data.subject === "invocations",
23
+ id: "companion.invocations",
24
+ filter: AppSurface.allOf(AppSurface.literal(AppSurface.Article, "invocations"), AppSurface.companion(AppSurface.Article, Pipeline.Pipeline)),
35
25
  component: ({ data, role }) => {
36
26
  const db = Obj.getDatabase(data.companionTo);
37
27
  return /* @__PURE__ */ React.createElement(Panel.Root, {
38
28
  role,
39
- className: "dx-article"
29
+ className: "dx-document"
40
30
  }, /* @__PURE__ */ React.createElement(Panel.Content, {
41
31
  asChild: true
42
32
  }, /* @__PURE__ */ React.createElement(InvocationTraceContainer, {
@@ -46,10 +36,9 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
46
36
  }
47
37
  }),
48
38
  Surface.create({
49
- id: `${meta.id}/object-settings`,
50
- role: "object-settings",
51
- filter: (data) => Obj.instanceOf(Pipeline.Pipeline, data.subject),
52
- component: ({ data }) => /* @__PURE__ */ React.createElement(PipelineObjectSettings, {
39
+ id: "object-properties",
40
+ filter: AppSurface.object(AppSurface.ObjectProperties, Pipeline.Pipeline),
41
+ component: ({ data }) => /* @__PURE__ */ React.createElement(PipelineProperties, {
53
42
  pipeline: data.subject
54
43
  })
55
44
  })
@@ -57,4 +46,4 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
57
46
  export {
58
47
  react_surface_default as default
59
48
  };
60
- //# sourceMappingURL=react-surface-ZGQVH4VX.mjs.map
49
+ //# sourceMappingURL=react-surface-TW6TRMO6.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React from 'react';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Surface } from '@dxos/app-framework/ui';\nimport { AppSurface } from '@dxos/app-toolkit/ui';\nimport { InvocationTraceContainer } from '@dxos/devtools';\nimport { Obj } from '@dxos/echo';\nimport { Panel } from '@dxos/react-ui';\nimport { Pipeline } from '@dxos/types';\n\nimport { PipelineContainer, PipelineProperties } from '#containers';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Capabilities.ReactSurface, [\n Surface.create({\n id: 'root',\n filter: AppSurface.object(AppSurface.Article, Pipeline.Pipeline),\n component: ({ data, role }) => (\n <PipelineContainer role={role} subject={data.subject} attendableId={data.attendableId} />\n ),\n }),\n Surface.create({\n id: 'companion.invocations',\n filter: AppSurface.allOf(\n AppSurface.literal(AppSurface.Article, 'invocations'),\n AppSurface.companion(AppSurface.Article, Pipeline.Pipeline),\n ),\n component: ({ data, role }) => {\n const db = Obj.getDatabase(data.companionTo);\n // TODO(wittjosiah): Filter the invocations to those relevant to the project.\n return (\n <Panel.Root role={role} className='dx-document'>\n <Panel.Content asChild>\n <InvocationTraceContainer db={db} detailAxis='block' />\n </Panel.Content>\n </Panel.Root>\n );\n },\n }),\n Surface.create({\n id: 'object-properties',\n filter: AppSurface.object(AppSurface.ObjectProperties, Pipeline.Pipeline),\n component: ({ data }) => <PipelineProperties pipeline={data.subject} />,\n }),\n ]),\n ),\n);\n"],
5
+ "mappings": ";AAIA,YAAYA,YAAY;AACxB,OAAOC,WAAW;AAElB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,eAAe;AACxB,SAASC,kBAAkB;AAC3B,SAASC,gCAAgC;AACzC,SAASC,WAAW;AACpB,SAASC,aAAa;AACtB,SAASC,gBAAgB;AAEzB,SAASC,mBAAmBC,0BAA0B;AAEtD,IAAA,wBAAeR,WAAWS,WAAW,MAC5BC,eACLV,WAAWW,YAAYZ,aAAaa,cAAc;EAChDX,QAAQY,OAAO;IACbC,IAAI;IACJC,QAAQb,WAAWc,OAAOd,WAAWe,SAASX,SAASA,QAAQ;IAC/DY,WAAW,CAAC,EAAEC,MAAMC,KAAI,MACtB,sBAAA,cAACb,mBAAAA;MAAkBa;MAAYC,SAASF,KAAKE;MAASC,cAAcH,KAAKG;;EAE7E,CAAA;EACArB,QAAQY,OAAO;IACbC,IAAI;IACJC,QAAQb,WAAWqB,MACjBrB,WAAWsB,QAAQtB,WAAWe,SAAS,aAAA,GACvCf,WAAWuB,UAAUvB,WAAWe,SAASX,SAASA,QAAQ,CAAA;IAE5DY,WAAW,CAAC,EAAEC,MAAMC,KAAI,MAAE;AACxB,YAAMM,KAAKtB,IAAIuB,YAAYR,KAAKS,WAAW;AAE3C,aACE,sBAAA,cAACvB,MAAMwB,MAAI;QAACT;QAAYU,WAAU;SAChC,sBAAA,cAACzB,MAAM0B,SAAO;QAACC,SAAAA;SACb,sBAAA,cAAC7B,0BAAAA;QAAyBuB;QAAQO,YAAW;;IAIrD;EACF,CAAA;EACAhC,QAAQY,OAAO;IACbC,IAAI;IACJC,QAAQb,WAAWc,OAAOd,WAAWgC,kBAAkB5B,SAASA,QAAQ;IACxEY,WAAW,CAAC,EAAEC,KAAI,MAAO,sBAAA,cAACX,oBAAAA;MAAmB2B,UAAUhB,KAAKE;;EAC9D,CAAA;CACD,CAAA,CAAA;",
6
+ "names": ["Effect", "React", "Capabilities", "Capability", "Surface", "AppSurface", "InvocationTraceContainer", "Obj", "Panel", "Pipeline", "PipelineContainer", "PipelineProperties", "makeModule", "succeed", "contributes", "ReactSurface", "create", "id", "filter", "object", "Article", "component", "data", "role", "subject", "attendableId", "allOf", "literal", "companion", "db", "getDatabase", "companionTo", "Root", "className", "Content", "asChild", "detailAxis", "ObjectProperties", "pipeline"]
7
+ }