@dxos/plugin-pipeline 0.8.3-main.ef1bc66f44 → 0.8.4-main.52d7546f51

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 (39) hide show
  1. package/dist/lib/browser/{PipelineContainer-TRO66W6L.mjs → PipelineContainer-I3TPA7ZN.mjs} +14 -13
  2. package/dist/lib/browser/PipelineContainer-I3TPA7ZN.mjs.map +7 -0
  3. package/dist/lib/browser/{PipelineSettings-EBR3UU5C.mjs → PipelineSettings-YSGSJHBT.mjs} +4 -4
  4. package/dist/lib/browser/PipelineSettings-YSGSJHBT.mjs.map +7 -0
  5. package/dist/lib/browser/{app-graph-builder-NKUZQ6A7.mjs → app-graph-builder-NUJB33F7.mjs} +8 -7
  6. package/dist/lib/browser/app-graph-builder-NUJB33F7.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-XDHJKK7D.mjs → chunk-7GVESVYR.mjs} +2 -2
  8. package/dist/lib/browser/{chunk-J5YNPKHT.mjs → chunk-QWNKLHBY.mjs} +3 -3
  9. package/dist/lib/browser/{chunk-J5YNPKHT.mjs.map → chunk-QWNKLHBY.mjs.map} +1 -1
  10. package/dist/lib/browser/index.mjs +30 -29
  11. package/dist/lib/browser/index.mjs.map +3 -3
  12. package/dist/lib/browser/meta.json +1 -1
  13. package/dist/lib/browser/{react-surface-CH2SUJTQ.mjs → react-surface-JMMCTIL3.mjs} +11 -10
  14. package/dist/lib/browser/react-surface-JMMCTIL3.mjs.map +7 -0
  15. package/dist/lib/browser/types/index.mjs +2 -2
  16. package/dist/types/src/PipelinePlugin.d.ts.map +1 -1
  17. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
  18. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +2 -2
  19. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
  20. package/dist/types/src/capabilities/react-surface/index.d.ts +1 -1
  21. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -1
  22. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +2 -2
  23. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
  24. package/dist/types/src/components/PipelineColumn.d.ts.map +1 -1
  25. package/dist/types/src/components/PipelineComponent.stories.d.ts +11 -11
  26. package/dist/types/src/components/PipelineComponent.stories.d.ts.map +1 -1
  27. package/dist/types/src/components/PipelineContainer.d.ts +1 -1
  28. package/dist/types/src/components/PipelineContainer.d.ts.map +1 -1
  29. package/dist/types/src/components/PipelineContainer.stories.d.ts +11 -11
  30. package/dist/types/src/components/PipelineContainer.stories.d.ts.map +1 -1
  31. package/dist/types/src/translations.d.ts +11 -11
  32. package/dist/types/tsconfig.tsbuildinfo +1 -1
  33. package/package.json +38 -38
  34. package/src/components/PipelineSettings.tsx +2 -2
  35. package/dist/lib/browser/PipelineContainer-TRO66W6L.mjs.map +0 -7
  36. package/dist/lib/browser/PipelineSettings-EBR3UU5C.mjs.map +0 -7
  37. package/dist/lib/browser/app-graph-builder-NKUZQ6A7.mjs.map +0 -7
  38. package/dist/lib/browser/react-surface-CH2SUJTQ.mjs.map +0 -7
  39. /package/dist/lib/browser/{chunk-XDHJKK7D.mjs.map → chunk-7GVESVYR.mjs.map} +0 -0
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  meta
3
- } from "./chunk-J5YNPKHT.mjs";
3
+ } from "./chunk-QWNKLHBY.mjs";
4
4
 
5
5
  // src/components/PipelineContainer.tsx
6
6
  import React3, { useCallback } from "react";
7
- import { useOperationInvoker } from "@dxos/app-framework/react";
8
- import { Surface } from "@dxos/app-framework/react";
7
+ import { useOperationInvoker } from "@dxos/app-framework/ui";
8
+ import { Surface } from "@dxos/app-framework/ui";
9
9
  import { Obj as Obj2 } from "@dxos/echo";
10
10
  import { ATTENDABLE_PATH_SEPARATOR, DeckOperation } from "@dxos/plugin-deck/types";
11
+ import { Layout } from "@dxos/react-ui";
11
12
  import { useAttention } from "@dxos/react-ui-attention";
12
- import { Layout } from "@dxos/react-ui-mosaic";
13
13
 
14
14
  // src/components/PipelineComponent.tsx
15
15
  import { createContext } from "@radix-ui/react-context";
@@ -24,7 +24,7 @@ import React, { forwardRef, useMemo, useRef, useState } from "react";
24
24
  import { Obj, Query, Type } from "@dxos/echo";
25
25
  import { getQueryTarget, resolveSchemaWithRegistry } from "@dxos/plugin-space";
26
26
  import { Filter, getSpace, isSpace, useObject, useQuery } from "@dxos/react-client/echo";
27
- import { useAsyncEffect, useTranslation } from "@dxos/react-ui";
27
+ import { ScrollArea, useAsyncEffect, useTranslation } from "@dxos/react-ui";
28
28
  import { Card, Focus, Mosaic } from "@dxos/react-ui-mosaic";
29
29
  import { ProjectionModel, createEchoChangeCallback } from "@dxos/schema";
30
30
  var PIPELINE_COLUMN_NAME = "PipelineColumn";
@@ -101,17 +101,18 @@ var PipelineColumn = ({ column }) => {
101
101
  className: "grid bs-full card-default-width overflow-hidden grid-rows-[min-content_1fr] density-fine border border-separator rounded-md bg-deckSurface"
102
102
  }, /* @__PURE__ */ React.createElement(Card.Toolbar, null, /* @__PURE__ */ React.createElement(Card.DragHandle, null), /* @__PURE__ */ React.createElement(Card.Title, null, column.name ?? t("untitled view title")), /* @__PURE__ */ React.createElement(Card.Menu, null)), /* @__PURE__ */ React.createElement(Mosaic.Container, {
103
103
  asChild: true,
104
- axis: "vertical",
104
+ orientation: "vertical",
105
105
  withFocus: true
106
- }, /* @__PURE__ */ React.createElement(Mosaic.Viewport, {
107
- axis: "vertical",
108
- padding: true
106
+ }, /* @__PURE__ */ React.createElement(ScrollArea.Root, {
107
+ orientation: "vertical"
108
+ }, /* @__PURE__ */ React.createElement(ScrollArea.Viewport, {
109
+ classNames: "p-2"
109
110
  }, /* @__PURE__ */ React.createElement(Mosaic.Stack, {
110
- axis: "vertical",
111
+ orientation: "vertical",
111
112
  items: sortedItems,
112
113
  getId: (item) => item.id,
113
114
  Tile
114
- })))));
115
+ }))))));
115
116
  };
116
117
  PipelineColumn.displayName = PIPELINE_COLUMN_NAME;
117
118
  var ITEM_TILE_NAME = "ItemTile";
@@ -199,7 +200,7 @@ var PipelineContainer = ({ role, subject: pipeline }) => {
199
200
  })));
200
201
  };
201
202
  var PipelineItem = ({ item, projectionModel }) => {
202
- return /* @__PURE__ */ React3.createElement(Surface, {
203
+ return /* @__PURE__ */ React3.createElement(Surface.Surface, {
203
204
  role: "card--content",
204
205
  data: {
205
206
  subject: item,
@@ -213,4 +214,4 @@ export {
213
214
  PipelineContainer,
214
215
  PipelineContainer_default as default
215
216
  };
216
- //# sourceMappingURL=PipelineContainer-TRO66W6L.mjs.map
217
+ //# sourceMappingURL=PipelineContainer-I3TPA7ZN.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/PipelineContainer.tsx", "../../../src/components/PipelineComponent.tsx", "../../../src/components/PipelineColumn.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { useOperationInvoker } from '@dxos/app-framework/ui';\nimport { Surface } from '@dxos/app-framework/ui';\nimport { type SurfaceComponentProps } from '@dxos/app-toolkit/ui';\nimport { Obj } from '@dxos/echo';\nimport { ATTENDABLE_PATH_SEPARATOR, DeckOperation } from '@dxos/plugin-deck/types';\nimport { Layout } from '@dxos/react-ui';\nimport { useAttention } from '@dxos/react-ui-attention';\nimport { type Pipeline as PipelineType } from '@dxos/types';\n\nimport { type ItemProps, PipelineComponent } from './PipelineComponent';\n\nexport type PipelineContainerProps = SurfaceComponentProps<PipelineType.Pipeline>;\n\nexport const PipelineContainer = ({ role, subject: pipeline }: PipelineContainerProps) => {\n const { invokePromise } = useOperationInvoker();\n const attendableId = Obj.getDXN(pipeline).toString();\n const { hasAttention } = useAttention(attendableId);\n\n const handleColumnAdd = useCallback(\n () =>\n invokePromise(DeckOperation.ChangeCompanion, {\n primary: attendableId,\n companion: `${attendableId}${ATTENDABLE_PATH_SEPARATOR}settings`,\n }),\n [invokePromise, attendableId],\n );\n\n return (\n <Layout.Main role={role} toolbar>\n <PipelineComponent.Root Item={PipelineItem} onAddColumn={handleColumnAdd}>\n <PipelineComponent.Toolbar disabled={!hasAttention} />\n <PipelineComponent.Content pipeline={pipeline} />\n </PipelineComponent.Root>\n </Layout.Main>\n );\n};\n\nconst PipelineItem = ({ item, projectionModel }: ItemProps) => {\n return (\n <Surface.Surface\n role='card--content'\n data={{\n subject: item,\n projection: projectionModel,\n }}\n limit={1}\n />\n );\n};\n\nexport default PipelineContainer;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { createContext } from '@radix-ui/react-context';\nimport React, { type FC } from 'react';\n\nimport { type Obj } from '@dxos/echo';\nimport { useObject } from '@dxos/react-client/echo';\nimport { Toolbar, type ToolbarRootProps, useTranslation } from '@dxos/react-ui';\nimport { Stack } from '@dxos/react-ui-stack';\nimport { type ProjectionModel } from '@dxos/schema';\nimport { type Pipeline as PipelineType } from '@dxos/types';\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\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 // onAddItem?: (schema: Schema.Schema.AnyNoContext) => void;\n onAddColumn?: () => void;\n};\n\n//\n// Root\n//\n\ntype PipelineRootProps = PipelineContextValue;\n\nconst PIPELINE_ROOT = 'Pipeline.Root';\n\nconst [PipelineRoot, usePipeline] = createContext<PipelineContextValue>(PIPELINE_ROOT, {\n Item: itemNoOp,\n});\n\nPipelineRoot.displayName = PIPELINE_ROOT;\n\n//\n// Content\n//\n\nconst PIPELINE_CONTENT_NAME = 'Pipeline.Content';\n\ntype PipelineContentProps = {\n pipeline: PipelineType.Pipeline;\n};\n\nconst PipelineContent = ({ pipeline }: PipelineContentProps) => {\n const [columns] = useObject(pipeline, 'columns');\n\n return (\n <Stack orientation='horizontal' size='contain' rail={false}>\n {columns.map((column) => {\n return <PipelineColumn key={column.view.dxn.toString()} column={column} />;\n })}\n </Stack>\n );\n};\n\nPipelineContent.displayName = PIPELINE_CONTENT_NAME;\n\n//\n// Toolbar\n//\n\nconst PIPELINE_TOOLBAR_NAME = 'Pipeline.Toolbar';\n\nexport const PipelineToolbar = (props: ToolbarRootProps) => {\n const { t } = useTranslation(meta.id);\n const { onAddColumn } = usePipeline(PIPELINE_TOOLBAR_NAME);\n\n return (\n <Toolbar.Root {...props}>\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 Toolbar: PipelineToolbar,\n};\n\nexport { usePipeline };\n\nexport type { ItemProps, PipelineContextValue, PipelineRootProps };\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport type * as Schema from 'effect/Schema';\nimport React, { forwardRef, useMemo, useRef, useState } from 'react';\n\nimport { Obj, Query, Type } from '@dxos/echo';\nimport { getQueryTarget, resolveSchemaWithRegistry } from '@dxos/plugin-space';\nimport { Filter, getSpace, isSpace, useObject, useQuery } from '@dxos/react-client/echo';\nimport { ScrollArea, useAsyncEffect, useTranslation } from '@dxos/react-ui';\nimport { Card, 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 = {\n column: Pipeline.Column;\n};\n\n// TODO(thure): Duplicates a lot of the same boilerplate as Kanban columns; is there an opportunity to DRY these out?\n// TODO(wittjosiah): Support column DnD reordering.\n// TODO(wittjosiah): Support item DnD reordering (ordering needs to be stored on the view presentation collection).\nexport const PipelineColumn = ({ column }: PipelineColumnProps) => {\n const { t } = useTranslation(meta.id);\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) {\n return;\n }\n\n const schema = await resolveSchemaWithRegistry(space.db.schemaRegistry, query.ast);\n setSchema(() => schema);\n }, [space, query]);\n\n const queryTarget = getQueryTarget(query.ast, space);\n const items = useQuery(queryTarget, query);\n const sortedItems = useMemo(() => {\n // TODO(burdon): Hack to reverse queue.\n return isSpace(queryTarget) ? items : [...items.reverse()];\n }, [queryTarget, items]);\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 : Type.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 Tile = useMemo(() => {\n return forwardRef<HTMLDivElement, Pick<MosaicTileProps<Obj.Unknown>, 'classNames' | 'location' | 'data' | 'debug'>>(\n (props, ref) => <ItemTile {...props} ref={ref} itemProps={{ item: props.data, projectionModel }} />,\n );\n }, [Item, projectionModel]);\n\n if (!view) {\n return null;\n }\n\n return (\n <Focus.Group asChild>\n <div className='grid bs-full card-default-width overflow-hidden grid-rows-[min-content_1fr] density-fine border border-separator rounded-md bg-deckSurface'>\n <Card.Toolbar>\n <Card.DragHandle />\n <Card.Title>{column.name ?? t('untitled view title')}</Card.Title>\n <Card.Menu />\n </Card.Toolbar>\n <Mosaic.Container asChild orientation='vertical' withFocus>\n <ScrollArea.Root orientation='vertical'>\n <ScrollArea.Viewport classNames='p-2'>\n <Mosaic.Stack orientation='vertical' items={sortedItems} getId={(item) => item.id} Tile={Tile} />\n </ScrollArea.Viewport>\n </ScrollArea.Root>\n </Mosaic.Container>\n </div>\n </Focus.Group>\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\n return (\n <Mosaic.Tile asChild id={data.id} data={data} location={location} debug={debug}>\n <Focus.Group asChild>\n <Card.Root classNames={classNames} ref={composedRef}>\n <Card.Toolbar>\n <Card.DragHandle />\n <Card.Title>{Obj.getLabel(data)}</Card.Title>\n <Card.Menu />\n </Card.Toolbar>\n <Card.Content>\n <Item {...itemProps} />\n </Card.Content>\n </Card.Root>\n </Focus.Group>\n </Mosaic.Tile>\n );\n },\n);\n\nItemTile.displayName = ITEM_TILE_NAME;\n"],
5
+ "mappings": ";;;;;AAIA,OAAOA,UAASC,mBAAmB;AAEnC,SAASC,2BAA2B;AACpC,SAASC,eAAe;AAExB,SAASC,OAAAA,YAAW;AACpB,SAASC,2BAA2BC,qBAAqB;AACzD,SAASC,cAAc;AACvB,SAASC,oBAAoB;;;ACR7B,SAASC,qBAAqB;AAC9B,OAAOC,YAAwB;AAG/B,SAASC,aAAAA,kBAAiB;AAC1B,SAASC,SAAgCC,kBAAAA,uBAAsB;AAC/D,SAASC,aAAa;;;ACNtB,SAASC,uBAAuB;AAEhC,OAAOC,SAASC,YAAYC,SAASC,QAAQC,gBAAgB;AAE7D,SAASC,KAAKC,OAAOC,YAAY;AACjC,SAASC,gBAAgBC,iCAAiC;AAC1D,SAASC,QAAQC,UAAUC,SAASC,WAAWC,gBAAgB;AAC/D,SAASC,YAAYC,gBAAgBC,sBAAsB;AAC3D,SAASC,MAAMC,OAAOC,cAAoC;AAC1D,SAASC,iBAAiBC,gCAAgC;AAW1D,IAAMC,uBAAuB;AAStB,IAAMC,iBAAiB,CAAC,EAAEC,OAAM,MAAuB;AAC5D,QAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AAEpC,QAAM,CAACC,YAAAA,IAAgBC,UAAUN,OAAOO,IAAI;AAC5C,QAAMA,OAAOP,OAAOO,KAAKC;AACzB,QAAMC,QAAQC,SAASH,IAAAA;AACvB,QAAM,EAAEI,KAAI,IAAKC,YAAYd,oBAAAA;AAC7B,QAAM,CAACe,QAAQC,SAAAA,IAAaC,SAAAA;AAC5B,QAAMC,QAAQC,QAAQ,MAAA;AACpB,QAAI,CAACV,MAAM;AACT,aAAOW,MAAMC,OAAOC,OAAOC,QAAO,CAAA;IACpC,OAAO;AAGL,aAAOH,MAAMI,QAAQC,KAAKC,MAAMD,KAAKE,UAAUpB,cAAcW,MAAMU,GAAAA,CAAAA,CAAAA;IACrE;EACF,GAAG;IAACH,KAAKE,UAAUpB,cAAcW,MAAMU,GAAAA;GAAK;AAE5CC,iBAAe,YAAA;AACb,QAAI,CAACX,SAAS,CAACP,OAAO;AACpB;IACF;AAEA,UAAMI,UAAS,MAAMe,0BAA0BnB,MAAMoB,GAAGC,gBAAgBd,MAAMU,GAAG;AACjFZ,cAAU,MAAMD,OAAAA;EAClB,GAAG;IAACJ;IAAOO;GAAM;AAEjB,QAAMe,cAAcC,eAAehB,MAAMU,KAAKjB,KAAAA;AAC9C,QAAMwB,QAAQC,SAASH,aAAaf,KAAAA;AACpC,QAAMmB,cAAclB,QAAQ,MAAA;AAE1B,WAAOmB,QAAQL,WAAAA,IAAeE,QAAQ;SAAIA,MAAMI,QAAO;;EACzD,GAAG;IAACN;IAAaE;GAAM;AACvB,QAAMK,kBAAkBrB,QAAQ,MAAA;AAC9B,QAAI,CAACJ,UAAU,CAACN,MAAM;AACpB,aAAOgC;IACT;AAGA,UAAMC,aAAaC,KAAKC,UAAU7B,MAAAA,IAAUA,OAAO2B,aAAaC,KAAKE,aAAa9B,MAAAA;AAClF,UAAM+B,SAASC,yBAAyBtC,MAAMkC,KAAKC,UAAU7B,MAAAA,IAAUA,SAAS0B,MAAAA;AAChF,WAAO,IAAIO,gBAAgB;MAAEvC;MAAMwC,YAAYP;MAAYI;IAAO,CAAA;EACpE,GAAG;IAAC/B;IAAQN;GAAK;AAEjB,QAAMyC,OAAO/B,QAAQ,MAAA;AACnB,WAAOgC,2BACL,CAACC,OAAOC,QAAQ,sBAAA,cAACC,UAAAA;MAAU,GAAGF;MAAOC;MAAUE,WAAW;QAAEC,MAAMJ,MAAMK;QAAMjB;MAAgB;;EAElG,GAAG;IAAC3B;IAAM2B;GAAgB;AAE1B,MAAI,CAAC/B,MAAM;AACT,WAAO;EACT;AAEA,SACE,sBAAA,cAACiD,MAAMC,OAAK;IAACC,SAAAA;KACX,sBAAA,cAACC,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACC,KAAKC,SAAO,MACX,sBAAA,cAACD,KAAKE,YAAU,IAAA,GAChB,sBAAA,cAACF,KAAKG,OAAK,MAAEhE,OAAOiE,QAAQhE,EAAE,qBAAA,CAAA,GAC9B,sBAAA,cAAC4D,KAAKK,MAAI,IAAA,CAAA,GAEZ,sBAAA,cAACC,OAAOC,WAAS;IAACV,SAAAA;IAAQW,aAAY;IAAWC,WAAAA;KAC/C,sBAAA,cAACC,WAAWC,MAAI;IAACH,aAAY;KAC3B,sBAAA,cAACE,WAAWE,UAAQ;IAACC,YAAW;KAC9B,sBAAA,cAACP,OAAOQ,OAAK;IAACN,aAAY;IAAWpC,OAAOE;IAAayC,OAAO,CAACtB,SAASA,KAAKlD;IAAI4C;;AAOjG;AAEAjD,eAAe8E,cAAc/E;AAM7B,IAAMgF,iBAAiB;AAMvB,IAAM1B,WAAWH,2BACf,CAAC,EAAEyB,YAAYnB,MAAMwB,UAAUC,OAAO3B,UAAS,GAAI4B,iBAAAA;AACjD,QAAMC,UAAUC,OAAuB,IAAA;AACvC,QAAMC,cAAcC,gBAAgCH,SAASD,YAAAA;AAC7D,QAAM,EAAEtE,KAAI,IAAKC,YAAYkE,cAAAA;AAE7B,SACE,sBAAA,cAACX,OAAOnB,MAAI;IAACU,SAAAA;IAAQtD,IAAImD,KAAKnD;IAAImD;IAAYwB;IAAoBC;KAChE,sBAAA,cAACxB,MAAMC,OAAK;IAACC,SAAAA;KACX,sBAAA,cAACG,KAAKW,MAAI;IAACE;IAAwBvB,KAAKiC;KACtC,sBAAA,cAACvB,KAAKC,SAAO,MACX,sBAAA,cAACD,KAAKE,YAAU,IAAA,GAChB,sBAAA,cAACF,KAAKG,OAAK,MAAEsB,IAAIC,SAAShC,IAAAA,CAAAA,GAC1B,sBAAA,cAACM,KAAKK,MAAI,IAAA,CAAA,GAEZ,sBAAA,cAACL,KAAK2B,SAAO,MACX,sBAAA,cAAC7E,MAAS0C,SAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAMtB,CAAA;AAGFD,SAASyB,cAAcC;;;ADzHvB,IAAMW,WAAW,CAAC,EAAEC,KAAI,MAAkB,gBAAAC,OAAA,cAACC,QAAAA,MAAMF,KAAKG,EAAE;AAgBxD,IAAMC,gBAAgB;AAEtB,IAAM,CAACC,cAAcC,WAAAA,IAAeC,cAAoCH,eAAe;EACrFI,MAAMT;AACR,CAAA;AAEAM,aAAaI,cAAcL;AAM3B,IAAMM,wBAAwB;AAM9B,IAAMC,kBAAkB,CAAC,EAAEC,SAAQ,MAAwB;AACzD,QAAM,CAACC,OAAAA,IAAWC,WAAUF,UAAU,SAAA;AAEtC,SACE,gBAAAX,OAAA,cAACc,OAAAA;IAAMC,aAAY;IAAaC,MAAK;IAAUC,MAAM;KAClDL,QAAQM,IAAI,CAACC,WAAAA;AACZ,WAAO,gBAAAnB,OAAA,cAACoB,gBAAAA;MAAeC,KAAKF,OAAOG,KAAKC,IAAIC,SAAQ;MAAIL;;EAC1D,CAAA,CAAA;AAGN;AAEAT,gBAAgBF,cAAcC;AAM9B,IAAMgB,wBAAwB;AAEvB,IAAMC,kBAAkB,CAACC,UAAAA;AAC9B,QAAM,EAAEC,EAAC,IAAKC,gBAAeC,KAAK5B,EAAE;AACpC,QAAM,EAAE6B,YAAW,IAAK1B,YAAYoB,qBAAAA;AAEpC,SACE,gBAAAzB,OAAA,cAACgC,QAAQC,MAASN,OAChB,gBAAA3B,OAAA,cAACgC,QAAQE,YAAU;IAACC,MAAK;IAAoBC,UAAAA;IAASC,OAAOT,EAAE,kBAAA;IAAqBU,SAASP;;AAGnG;AAEAL,gBAAgBlB,cAAciB;AAMvB,IAAMc,oBAAoB;EAC/BN,MAAM7B;EACNoC,SAAS9B;EACTsB,SAASN;AACX;;;AD/EO,IAAMe,oBAAoB,CAAC,EAAEC,MAAMC,SAASC,SAAQ,MAA0B;AACnF,QAAM,EAAEC,cAAa,IAAKC,oBAAAA;AAC1B,QAAMC,eAAeC,KAAIC,OAAOL,QAAAA,EAAUM,SAAQ;AAClD,QAAM,EAAEC,aAAY,IAAKC,aAAaL,YAAAA;AAEtC,QAAMM,kBAAkBC,YACtB,MACET,cAAcU,cAAcC,iBAAiB;IAC3CC,SAASV;IACTW,WAAW,GAAGX,YAAAA,GAAeY,yBAAAA;EAC/B,CAAA,GACF;IAACd;IAAeE;GAAa;AAG/B,SACE,gBAAAa,OAAA,cAACC,OAAOC,MAAI;IAACpB;IAAYqB,SAAAA;KACvB,gBAAAH,OAAA,cAACI,kBAAkBC,MAAI;IAACC,MAAMC;IAAcC,aAAaf;KACvD,gBAAAO,OAAA,cAACI,kBAAkBK,SAAO;IAACC,UAAU,CAACnB;MACtC,gBAAAS,OAAA,cAACI,kBAAkBO,SAAO;IAAC3B;;AAInC;AAEA,IAAMuB,eAAe,CAAC,EAAEK,MAAMC,gBAAe,MAAa;AACxD,SACE,gBAAAb,OAAA,cAACc,QAAQA,SAAO;IACdhC,MAAK;IACLiC,MAAM;MACJhC,SAAS6B;MACTI,YAAYH;IACd;IACAI,OAAO;;AAGb;AAEA,IAAA,4BAAepC;",
6
+ "names": ["React", "useCallback", "useOperationInvoker", "Surface", "Obj", "ATTENDABLE_PATH_SEPARATOR", "DeckOperation", "Layout", "useAttention", "createContext", "React", "useObject", "Toolbar", "useTranslation", "Stack", "useComposedRefs", "React", "forwardRef", "useMemo", "useRef", "useState", "Obj", "Query", "Type", "getQueryTarget", "resolveSchemaWithRegistry", "Filter", "getSpace", "isSpace", "useObject", "useQuery", "ScrollArea", "useAsyncEffect", "useTranslation", "Card", "Focus", "Mosaic", "ProjectionModel", "createEchoChangeCallback", "PIPELINE_COLUMN_NAME", "PipelineColumn", "column", "t", "useTranslation", "meta", "id", "viewSnapshot", "useObject", "view", "target", "space", "getSpace", "Item", "usePipeline", "schema", "setSchema", "useState", "query", "useMemo", "Query", "select", "Filter", "nothing", "fromAst", "JSON", "parse", "stringify", "ast", "useAsyncEffect", "resolveSchemaWithRegistry", "db", "schemaRegistry", "queryTarget", "getQueryTarget", "items", "useQuery", "sortedItems", "isSpace", "reverse", "projectionModel", "undefined", "jsonSchema", "Type", "isMutable", "toJsonSchema", "change", "createEchoChangeCallback", "ProjectionModel", "baseSchema", "Tile", "forwardRef", "props", "ref", "ItemTile", "itemProps", "item", "data", "Focus", "Group", "asChild", "div", "className", "Card", "Toolbar", "DragHandle", "Title", "name", "Menu", "Mosaic", "Container", "orientation", "withFocus", "ScrollArea", "Root", "Viewport", "classNames", "Stack", "getId", "displayName", "ITEM_TILE_NAME", "location", "debug", "forwardedRef", "rootRef", "useRef", "composedRef", "useComposedRefs", "Obj", "getLabel", "Content", "itemNoOp", "item", "React", "span", "id", "PIPELINE_ROOT", "PipelineRoot", "usePipeline", "createContext", "Item", "displayName", "PIPELINE_CONTENT_NAME", "PipelineContent", "pipeline", "columns", "useObject", "Stack", "orientation", "size", "rail", "map", "column", "PipelineColumn", "key", "view", "dxn", "toString", "PIPELINE_TOOLBAR_NAME", "PipelineToolbar", "props", "t", "useTranslation", "meta", "onAddColumn", "Toolbar", "Root", "IconButton", "icon", "iconOnly", "label", "onClick", "PipelineComponent", "Content", "PipelineContainer", "role", "subject", "pipeline", "invokePromise", "useOperationInvoker", "attendableId", "Obj", "getDXN", "toString", "hasAttention", "useAttention", "handleColumnAdd", "useCallback", "DeckOperation", "ChangeCompanion", "primary", "companion", "ATTENDABLE_PATH_SEPARATOR", "React", "Layout", "Main", "toolbar", "PipelineComponent", "Root", "Item", "PipelineItem", "onAddColumn", "Toolbar", "disabled", "Content", "item", "projectionModel", "Surface", "data", "projection", "limit"]
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  meta
3
- } from "./chunk-J5YNPKHT.mjs";
3
+ } from "./chunk-QWNKLHBY.mjs";
4
4
 
5
5
  // src/components/PipelineSettings.tsx
6
6
  import * as Schema from "effect/Schema";
@@ -14,7 +14,7 @@ import { Form, ViewEditor } from "@dxos/react-ui-form";
14
14
  import { List } from "@dxos/react-ui-list";
15
15
  import { View } from "@dxos/schema";
16
16
  import { Pipeline, Task } from "@dxos/types";
17
- import { inputTextLabel, mx, osTranslations, subtleHover } from "@dxos/ui-theme";
17
+ import { mx, osTranslations, subtleHover } from "@dxos/ui-theme";
18
18
  import { arrayMove } from "@dxos/util";
19
19
  var listGrid = "grid grid-cols-[min-content_1fr_min-content_min-content_min-content]";
20
20
  var listItemGrid = "grid grid-cols-subgrid col-span-5";
@@ -144,7 +144,7 @@ var PipelineObjectSettings = ({ classNames, pipeline }) => {
144
144
  role: "none",
145
145
  className: mx("plb-cardSpacingBlock overflow-y-auto", classNames)
146
146
  }, /* @__PURE__ */ React.createElement("h2", {
147
- className: mx(inputTextLabel)
147
+ className: "text-sm text-description plb-1"
148
148
  }, t("views label")), /* @__PURE__ */ React.createElement(List.Root, {
149
149
  items: pipeline.columns,
150
150
  isItem: Schema.is(Pipeline.Column),
@@ -209,4 +209,4 @@ export {
209
209
  PipelineObjectSettings,
210
210
  PipelineSettings_default as default
211
211
  };
212
- //# sourceMappingURL=PipelineSettings-EBR3UU5C.mjs.map
212
+ //# sourceMappingURL=PipelineSettings-YSGSJHBT.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/PipelineSettings.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\nimport React, { useCallback, useMemo, useRef, useState } from 'react';\n\nimport { DXN, Filter, Obj, Query, type QueryAST, Ref, Tag, Type } from '@dxos/echo';\nimport { type Mutable } from '@dxos/echo/internal';\nimport { useTypeOptions } from '@dxos/plugin-space';\nimport { resolveSchemaWithRegistry } from '@dxos/plugin-space';\nimport { getSpace, useQuery } from '@dxos/react-client/echo';\nimport { IconButton, type ThemedClassName, useAsyncEffect, useTranslation } from '@dxos/react-ui';\nimport { Form, ViewEditor } from '@dxos/react-ui-form';\nimport { List } from '@dxos/react-ui-list';\nimport { type ProjectionModel, View } from '@dxos/schema';\nimport { Pipeline, Task } from '@dxos/types';\nimport { mx, osTranslations, subtleHover } from '@dxos/ui-theme';\nimport { arrayMove } from '@dxos/util';\n\nimport { meta } from '../meta';\n\nconst listGrid = 'grid grid-cols-[min-content_1fr_min-content_min-content_min-content]';\nconst listItemGrid = 'grid grid-cols-subgrid col-span-5';\n\nconst ColumnFormSchema = Pipeline.Column.pipe(Schema.mutable, Schema.pick('name'));\n\n// TODO(burdon): Standardize Object/Plugin settings.\nexport type PipelineObjectSettingsProps = ThemedClassName<{\n pipeline: Pipeline.Pipeline;\n}>;\n\n/**\n * Supports editing the pipeline view.\n */\nexport const PipelineObjectSettings = ({ classNames, pipeline }: PipelineObjectSettingsProps) => {\n const { t } = useTranslation(meta.id);\n const space = getSpace(pipeline);\n const [expandedId, setExpandedId] = useState<string>();\n const column = useMemo(\n () => pipeline.columns.find((column) => column.view.dxn.toString() === expandedId),\n [pipeline.columns, expandedId],\n );\n const view = column?.view.target;\n const [schema, setSchema] = useState<Schema.Schema.AnyNoContext>(() => Schema.Struct({}));\n const projectionRef = useRef<ProjectionModel>(null);\n const tags = useQuery(space?.db, Filter.type(Tag.Tag));\n const types = useTypeOptions({\n space,\n annotation: {\n location: ['database', 'runtime'],\n kind: ['user'],\n registered: ['registered', 'unregistered'],\n },\n });\n\n useAsyncEffect(async () => {\n if (!view?.query || !space) {\n return;\n }\n\n const foundSchema = await resolveSchemaWithRegistry(space.db.schemaRegistry, view.query.ast);\n if (foundSchema && foundSchema !== schema) {\n setSchema(() => foundSchema);\n }\n }, [space, view, schema]);\n\n const handleMove = useCallback(\n (fromIndex: number, toIndex: number) =>\n Obj.change(pipeline, (p) => {\n arrayMove(p.columns, fromIndex, toIndex);\n }),\n [pipeline],\n );\n\n const handleQueryChanged = useCallback(\n async (newQuery: QueryAST.Query, target?: string) => {\n if (!view || !space) {\n return;\n }\n\n const queue = target && DXN.tryParse(target) ? target : undefined;\n const query = queue ? Query.fromAst(newQuery).options({ queues: [queue] }) : Query.fromAst(newQuery);\n Obj.change(view, (v) => {\n v.query.ast = query.ast as Mutable<typeof query.ast>;\n });\n const newSchema = await resolveSchemaWithRegistry(space.db.schemaRegistry, query.ast);\n if (!newSchema) {\n return;\n }\n\n const newView = View.make({\n query,\n jsonSchema: Type.toJsonSchema(newSchema),\n });\n Obj.change(view, (v) => {\n v.projection = Obj.getSnapshot(newView).projection as Mutable<typeof v.projection>;\n });\n\n setSchema(() => newSchema);\n },\n [view, schema],\n );\n\n const handleToggleField = useCallback((column: Pipeline.Column) => {\n setExpandedId((prevExpandedId) =>\n prevExpandedId === column.view.dxn.toString() ? undefined : column.view.dxn.toString(),\n );\n }, []);\n\n const handleDelete = useCallback(\n async (column: Pipeline.Column) => {\n if (column.view.dxn.toString() === expandedId) {\n setExpandedId(undefined);\n }\n\n const index = pipeline.columns.findIndex((l) => l === column);\n const viewToRemove = await column.view.load();\n Obj.change(pipeline, (p) => {\n p.columns.splice(index, 1);\n });\n space?.db.remove(viewToRemove);\n },\n [expandedId, pipeline.columns, space],\n );\n\n const handleAdd = useCallback(() => {\n const newView = View.make({\n query: Query.select(Filter.type(Task.Task)),\n jsonSchema: Type.toJsonSchema(Task.Task),\n });\n Obj.change(pipeline, (p) => {\n p.columns.push({\n name: 'Tasks',\n // Type assertion needed due to QueryAST type variance.\n view: Ref.make(newView) as (typeof p.columns)[number]['view'],\n order: [],\n });\n });\n setExpandedId(newView.id);\n }, [pipeline]);\n\n const handleColumnSave = useCallback(\n (values: Schema.Schema.Type<typeof ColumnFormSchema>) => {\n if (column) {\n const columnIndex = pipeline.columns.findIndex((c) => c === column);\n Obj.change(pipeline, (p) => {\n p.columns[columnIndex].name = values.name;\n });\n }\n },\n [column, pipeline],\n );\n\n return (\n <div role='none' className={mx('plb-cardSpacingBlock overflow-y-auto', classNames)}>\n <h2 className='text-sm text-description plb-1'>{t('views label')}</h2>\n\n <List.Root<Pipeline.Column>\n items={pipeline.columns}\n isItem={Schema.is(Pipeline.Column)}\n getId={(column) => column.view.dxn.toString()}\n onMove={handleMove}\n >\n {({ items: columns }) => (\n <>\n <div role='list' className={mx(listGrid)}>\n {columns.map((column) => (\n <List.Item<Pipeline.Column>\n key={column.view.dxn.toString()}\n item={column}\n classNames={listItemGrid}\n aria-expanded={expandedId === column.view.dxn.toString()}\n >\n <div role='none' className={mx(subtleHover, listItemGrid, 'rounded-sm cursor-pointer min-bs-10')}>\n <List.ItemDragHandle />\n <List.ItemTitle onClick={() => handleToggleField(column)}>{column.name}</List.ItemTitle>\n <List.ItemDeleteButton\n label={t('delete view label')}\n autoHide={false}\n onClick={() => handleDelete(column)}\n data-testid='view.delete'\n />\n <IconButton\n iconOnly\n variant='ghost'\n label={t('toggle expand label', { ns: osTranslations })}\n icon={\n expandedId === column.view.dxn.toString()\n ? 'ph--caret-down--regular'\n : 'ph--caret-right--regular'\n }\n onClick={() => handleToggleField(column)}\n />\n </div>\n {expandedId === column.view.dxn.toString() && view && (\n <div role='none' className='col-span-5 mlb-2 border border-separator rounded-md'>\n <Form.Root schema={ColumnFormSchema} values={column} autoSave onSave={handleColumnSave}>\n <Form.Content>\n <Form.FieldSet />\n </Form.Content>\n </Form.Root>\n <ViewEditor\n ref={projectionRef}\n mode='tag'\n readonly\n schema={schema}\n view={view}\n registry={space?.db.schemaRegistry}\n tags={tags}\n types={types}\n onQueryChanged={handleQueryChanged}\n />\n </div>\n )}\n </List.Item>\n ))}\n </div>\n </>\n )}\n </List.Root>\n\n <div role='none' className='mlb-cardSpacingBlock'>\n <IconButton icon='ph--plus--regular' label={t('add view label')} onClick={handleAdd} classNames='is-full' />\n </div>\n </div>\n );\n};\n\nexport default PipelineObjectSettings;\n"],
5
+ "mappings": "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",
6
+ "names": ["Schema", "React", "useCallback", "useMemo", "useRef", "useState", "DXN", "Filter", "Obj", "Query", "Ref", "Tag", "Type", "useTypeOptions", "resolveSchemaWithRegistry", "getSpace", "useQuery", "IconButton", "useAsyncEffect", "useTranslation", "Form", "ViewEditor", "List", "View", "Pipeline", "Task", "mx", "osTranslations", "subtleHover", "arrayMove", "listGrid", "listItemGrid", "ColumnFormSchema", "Pipeline", "Column", "pipe", "mutable", "pick", "PipelineObjectSettings", "classNames", "pipeline", "t", "useTranslation", "meta", "id", "space", "getSpace", "expandedId", "setExpandedId", "useState", "column", "useMemo", "columns", "find", "view", "dxn", "toString", "target", "schema", "setSchema", "Struct", "projectionRef", "useRef", "tags", "useQuery", "db", "Filter", "type", "Tag", "types", "useTypeOptions", "annotation", "location", "kind", "registered", "useAsyncEffect", "query", "foundSchema", "resolveSchemaWithRegistry", "schemaRegistry", "ast", "handleMove", "useCallback", "fromIndex", "toIndex", "Obj", "change", "p", "arrayMove", "handleQueryChanged", "newQuery", "queue", "DXN", "tryParse", "undefined", "Query", "fromAst", "options", "queues", "v", "newSchema", "newView", "View", "make", "jsonSchema", "Type", "toJsonSchema", "projection", "getSnapshot", "handleToggleField", "prevExpandedId", "handleDelete", "index", "findIndex", "l", "viewToRemove", "load", "splice", "remove", "handleAdd", "select", "Task", "push", "name", "Ref", "order", "handleColumnSave", "values", "columnIndex", "c", "div", "role", "className", "mx", "h2", "List", "Root", "items", "isItem", "is", "getId", "onMove", "map", "Item", "key", "item", "aria-expanded", "subtleHover", "ItemDragHandle", "ItemTitle", "onClick", "ItemDeleteButton", "label", "autoHide", "data-testid", "IconButton", "iconOnly", "variant", "ns", "osTranslations", "icon", "Form", "autoSave", "onSave", "Content", "FieldSet", "ViewEditor", "ref", "mode", "readonly", "registry", "onQueryChanged"]
7
+ }
@@ -1,10 +1,11 @@
1
1
  import {
2
2
  meta
3
- } from "./chunk-J5YNPKHT.mjs";
3
+ } from "./chunk-QWNKLHBY.mjs";
4
4
 
5
5
  // src/capabilities/app-graph-builder/app-graph-builder.ts
6
6
  import * as Effect from "effect/Effect";
7
- import { Capability, Common } from "@dxos/app-framework";
7
+ import { Capability } from "@dxos/app-framework";
8
+ import { AppCapabilities } from "@dxos/app-toolkit";
8
9
  import { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
9
10
  import { GraphBuilder } from "@dxos/plugin-graph";
10
11
  import { Pipeline } from "@dxos/types";
@@ -13,7 +14,7 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
13
14
  GraphBuilder.createTypeExtension({
14
15
  id: `${meta.id}/triggers`,
15
16
  type: Pipeline.Pipeline,
16
- connector: (pipeline, get) => {
17
+ connector: (pipeline) => {
17
18
  const nodeId = pipeline.id;
18
19
  return Effect.succeed([
19
20
  {
@@ -25,7 +26,7 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
25
26
  data: "invocations",
26
27
  properties: {
27
28
  label: [
28
- "project invocations label",
29
+ "pipeline invocations label",
29
30
  {
30
31
  ns: meta.id
31
32
  }
@@ -43,7 +44,7 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
43
44
  data: "automation",
44
45
  properties: {
45
46
  label: [
46
- "project automation label",
47
+ "pipeline automation label",
47
48
  {
48
49
  ns: meta.id
49
50
  }
@@ -56,9 +57,9 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
56
57
  }
57
58
  })
58
59
  ]);
59
- return Capability.contributes(Common.Capability.AppGraphBuilder, extensions);
60
+ return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
60
61
  }));
61
62
  export {
62
63
  app_graph_builder_default as default
63
64
  };
64
- //# sourceMappingURL=app-graph-builder-NKUZQ6A7.mjs.map
65
+ //# sourceMappingURL=app-graph-builder-NUJB33F7.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-builder/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from '@dxos/plugin-deck/types';\nimport { GraphBuilder } from '@dxos/plugin-graph';\nimport { Pipeline } from '@dxos/types';\n\nimport { meta } from '../../meta';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const extensions = yield* Effect.all([\n GraphBuilder.createTypeExtension({\n id: `${meta.id}/triggers`,\n type: Pipeline.Pipeline,\n connector: (pipeline) => {\n const nodeId = pipeline.id;\n return Effect.succeed([\n {\n id: [nodeId, 'invocations'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'invocations',\n properties: {\n label: ['pipeline invocations label', { ns: meta.id }],\n icon: 'ph--clock-countdown--regular',\n disposition: 'hidden',\n },\n },\n {\n id: [nodeId, 'automation'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'automation',\n properties: {\n label: ['pipeline automation label', { ns: meta.id }],\n icon: 'ph--lightning--regular',\n disposition: 'hidden',\n },\n },\n ]);\n },\n }),\n ]);\n\n return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);\n }),\n);\n"],
5
+ "mappings": ";;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,2BAA2BC,4BAA4B;AAChE,SAASC,oBAAoB;AAC7B,SAASC,gBAAgB;AAIzB,IAAA,4BAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAChB,QAAMC,aAAa,OAAcC,WAAI;IACnCC,aAAaC,oBAAoB;MAC/BC,IAAI,GAAGC,KAAKD,EAAE;MACdE,MAAMC,SAASA;MACfC,WAAW,CAACC,aAAAA;AACV,cAAMC,SAASD,SAASL;AACxB,eAAcO,eAAQ;UACpB;YACEP,IAAI;cAACM;cAAQ;cAAeE,KAAKC,yBAAAA;YACjCP,MAAMQ;YACNC,MAAM;YACNC,YAAY;cACVC,OAAO;gBAAC;gBAA8B;kBAAEC,IAAIb,KAAKD;gBAAG;;cACpDe,MAAM;cACNC,aAAa;YACf;UACF;UACA;YACEhB,IAAI;cAACM;cAAQ;cAAcE,KAAKC,yBAAAA;YAChCP,MAAMQ;YACNC,MAAM;YACNC,YAAY;cACVC,OAAO;gBAAC;gBAA6B;kBAAEC,IAAIb,KAAKD;gBAAG;;cACnDe,MAAM;cACNC,aAAa;YACf;UACF;SACD;MACH;IACF,CAAA;GACD;AAED,SAAOvB,WAAWwB,YAAYC,gBAAgBC,iBAAiBvB,UAAAA;AACjE,CAAA,CAAA;",
6
+ "names": ["Effect", "Capability", "AppCapabilities", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE", "GraphBuilder", "Pipeline", "Capability", "makeModule", "fnUntraced", "extensions", "all", "GraphBuilder", "createTypeExtension", "id", "meta", "type", "Pipeline", "connector", "pipeline", "nodeId", "succeed", "join", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE", "data", "properties", "label", "ns", "icon", "disposition", "contributes", "AppCapabilities", "AppGraphBuilder"]
7
+ }
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  __export,
3
3
  meta
4
- } from "./chunk-J5YNPKHT.mjs";
4
+ } from "./chunk-QWNKLHBY.mjs";
5
5
 
6
6
  // src/types/PipelineAction.ts
7
7
  var PipelineAction_exports = {};
@@ -39,4 +39,4 @@ export {
39
39
  PipelineOperation,
40
40
  PipelineAction_exports
41
41
  };
42
- //# sourceMappingURL=chunk-XDHJKK7D.mjs.map
42
+ //# sourceMappingURL=chunk-7GVESVYR.mjs.map
@@ -10,10 +10,10 @@ var meta = {
10
10
  id: "dxos.org/plugin/pipeline",
11
11
  name: "Pipelines",
12
12
  description: trim`
13
- Pipeline management workspace for organizing tasks, milestones, and deliverables.
13
+ Pipelines for organizing tasks, milestones, and deliverables.
14
14
  Track progress across multiple pipelines and coordinate team activities in a structured environment.
15
15
  `,
16
- icon: "ph--check-square-offset--regular",
16
+ icon: "ph--path--regular",
17
17
  iconHue: "purple",
18
18
  source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-pipeline",
19
19
  tags: [
@@ -25,4 +25,4 @@ export {
25
25
  __export,
26
26
  meta
27
27
  };
28
- //# sourceMappingURL=chunk-J5YNPKHT.mjs.map
28
+ //# sourceMappingURL=chunk-QWNKLHBY.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/meta.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'dxos.org/plugin/pipeline',\n name: 'Pipelines',\n description: trim`\n Pipeline management workspace for organizing tasks, milestones, and deliverables.\n Track progress across multiple pipelines and coordinate team activities in a structured environment.\n `,\n icon: 'ph--check-square-offset--regular',\n iconHue: 'purple',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-pipeline',\n tags: ['labs'],\n};\n"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'dxos.org/plugin/pipeline',\n name: 'Pipelines',\n description: trim`\n Pipelines for organizing tasks, milestones, and deliverables.\n Track progress across multiple pipelines and coordinate team activities in a structured environment.\n `,\n icon: 'ph--path--regular',\n iconHue: 'purple',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-pipeline',\n tags: ['labs'],\n};\n"],
5
5
  "mappings": ";;;;;;;AAKA,SAASA,YAAY;AAEd,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;EAIbC,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,MAAM;IAAC;;AACT;",
6
6
  "names": ["trim", "meta", "id", "name", "description", "trim", "icon", "iconHue", "source", "tags"]
7
7
  }
@@ -1,29 +1,30 @@
1
1
  import {
2
2
  PipelineOperation
3
- } from "./chunk-XDHJKK7D.mjs";
3
+ } from "./chunk-7GVESVYR.mjs";
4
4
  import {
5
5
  meta
6
- } from "./chunk-J5YNPKHT.mjs";
6
+ } from "./chunk-QWNKLHBY.mjs";
7
7
 
8
8
  // src/PipelinePlugin.tsx
9
9
  import * as Effect2 from "effect/Effect";
10
- import { Capability as Capability4, Common as Common2, Plugin } from "@dxos/app-framework";
10
+ import { Capability as Capability4, Plugin } from "@dxos/app-framework";
11
+ import { AppPlugin } from "@dxos/app-toolkit";
11
12
  import { Operation } from "@dxos/operation";
12
13
  import { SpaceCapabilities, SpaceEvents } from "@dxos/plugin-space";
13
14
  import { Pipeline as Pipeline3 } from "@dxos/types";
14
15
 
15
16
  // src/capabilities/app-graph-builder/index.ts
16
17
  import { Capability } from "@dxos/app-framework";
17
- var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("./app-graph-builder-NKUZQ6A7.mjs"));
18
+ var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("./app-graph-builder-NUJB33F7.mjs"));
18
19
 
19
20
  // src/capabilities/operation-resolver/operation-resolver.ts
20
21
  import * as Effect from "effect/Effect";
21
- import { Capability as Capability2, Common } from "@dxos/app-framework";
22
+ import { Capabilities, Capability as Capability2 } from "@dxos/app-framework";
22
23
  import { Obj, Ref, Type } from "@dxos/echo";
23
24
  import { OperationResolver } from "@dxos/operation";
24
25
  import { Collection } from "@dxos/schema";
25
26
  import { Pipeline } from "@dxos/types";
26
- var operation_resolver_default = Capability2.makeModule(() => Effect.succeed(Capability2.contributes(Common.Capability.OperationResolver, [
27
+ var operation_resolver_default = Capability2.makeModule(() => Effect.succeed(Capability2.contributes(Capabilities.OperationResolver, [
27
28
  OperationResolver.make({
28
29
  operation: PipelineOperation.OnCreateSpace,
29
30
  handler: Effect.fnUntraced(function* ({ rootCollection }) {
@@ -39,7 +40,7 @@ var operation_resolver_default = Capability2.makeModule(() => Effect.succeed(Cap
39
40
 
40
41
  // src/capabilities/react-surface/index.ts
41
42
  import { Capability as Capability3 } from "@dxos/app-framework";
42
- var ReactSurface = Capability3.lazy("ReactSurface", () => import("./react-surface-CH2SUJTQ.mjs"));
43
+ var ReactSurface = Capability3.lazy("ReactSurface", () => import("./react-surface-JMMCTIL3.mjs"));
43
44
 
44
45
  // src/translations.ts
45
46
  import { Pipeline as Pipeline2 } from "@dxos/types";
@@ -47,25 +48,25 @@ var translations = [
47
48
  {
48
49
  "en-US": {
49
50
  [Pipeline2.Pipeline.typename]: {
50
- "typename label": "Project",
51
- "typename label_zero": "Projects",
52
- "typename label_one": "Project",
53
- "typename label_other": "Projects",
54
- "object name placeholder": "New project",
55
- "rename object label": "Rename project",
56
- "delete object label": "Delete project",
57
- "object deleted label": "Project deleted"
51
+ "typename label": "Pipeline",
52
+ "typename label_zero": "Pipelines",
53
+ "typename label_one": "Pipeline",
54
+ "typename label_other": "Pipelines",
55
+ "object name placeholder": "New pipeline",
56
+ "rename object label": "Rename pipeline",
57
+ "delete object label": "Delete pipeline",
58
+ "object deleted label": "Pipeline deleted"
58
59
  },
59
60
  [meta.id]: {
60
- "plugin name": "Projects",
61
+ "plugin name": "Pipelines",
61
62
  "add column label": "Add column",
62
63
  "add card label": "Add object",
63
64
  "untitled view title": "New view",
64
65
  "enumerating tab label": "List",
65
66
  "editing tab label": "Edit",
66
67
  "views label": "Views",
67
- "project invocations label": "Invocations",
68
- "project automation label": "Automations",
68
+ "pipeline invocations label": "Invocations",
69
+ "pipeline automation label": "Automations",
69
70
  "toggle expand label": "Toggle expand",
70
71
  "delete view label": "Delete view",
71
72
  "add view label": "Add view"
@@ -75,31 +76,31 @@ var translations = [
75
76
  ];
76
77
 
77
78
  // src/PipelinePlugin.tsx
78
- var PipelinePlugin = Plugin.define(meta).pipe(Common2.Plugin.addTranslationsModule({
79
- translations
80
- }), Common2.Plugin.addMetadataModule({
79
+ var PipelinePlugin = Plugin.define(meta).pipe(AppPlugin.addAppGraphModule({
80
+ activate: AppGraphBuilder
81
+ }), AppPlugin.addMetadataModule({
81
82
  metadata: {
82
83
  id: Pipeline3.Pipeline.typename,
83
84
  metadata: {
84
- icon: "ph--check-square-offset--regular",
85
+ icon: "ph--path--regular",
85
86
  iconHue: "purple",
86
87
  createObject: (props) => Effect2.sync(() => Pipeline3.make(props))
87
88
  }
88
89
  }
89
- }), Common2.Plugin.addSchemaModule({
90
+ }), AppPlugin.addOperationResolverModule({
91
+ activate: operation_resolver_default
92
+ }), AppPlugin.addSchemaModule({
90
93
  schema: [
91
94
  Pipeline3.Pipeline
92
95
  ]
96
+ }), AppPlugin.addSurfaceModule({
97
+ activate: ReactSurface
98
+ }), AppPlugin.addTranslationsModule({
99
+ translations
93
100
  }), Plugin.addModule({
94
101
  id: "on-space-created",
95
102
  activatesOn: SpaceEvents.SpaceCreated,
96
103
  activate: () => Effect2.succeed(Capability4.contributes(SpaceCapabilities.OnCreateSpace, (params) => Operation.invoke(PipelineOperation.OnCreateSpace, params)))
97
- }), Common2.Plugin.addSurfaceModule({
98
- activate: ReactSurface
99
- }), Common2.Plugin.addOperationResolverModule({
100
- activate: operation_resolver_default
101
- }), Common2.Plugin.addAppGraphModule({
102
- activate: AppGraphBuilder
103
104
  }), Plugin.make);
104
105
  export {
105
106
  PipelinePlugin,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/PipelinePlugin.tsx", "../../../src/capabilities/app-graph-builder/index.ts", "../../../src/capabilities/operation-resolver/operation-resolver.ts", "../../../src/capabilities/react-surface/index.ts", "../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability, Common, Plugin } from '@dxos/app-framework';\nimport { Operation } from '@dxos/operation';\nimport { SpaceCapabilities, SpaceEvents } from '@dxos/plugin-space';\nimport { type CreateObject } from '@dxos/plugin-space/types';\nimport { Pipeline } from '@dxos/types';\n\nimport { AppGraphBuilder, OperationResolver, ReactSurface } from './capabilities';\nimport { meta } from './meta';\nimport { translations } from './translations';\nimport { PipelineOperation } from './types';\n\nexport const PipelinePlugin = Plugin.define(meta).pipe(\n Common.Plugin.addTranslationsModule({ translations }),\n Common.Plugin.addMetadataModule({\n metadata: {\n id: Pipeline.Pipeline.typename,\n metadata: {\n icon: 'ph--check-square-offset--regular',\n iconHue: 'purple',\n createObject: ((props) => Effect.sync(() => Pipeline.make(props))) satisfies CreateObject,\n },\n },\n }),\n Common.Plugin.addSchemaModule({ schema: [Pipeline.Pipeline] }),\n Plugin.addModule({\n id: 'on-space-created',\n activatesOn: SpaceEvents.SpaceCreated,\n activate: () =>\n Effect.succeed(\n Capability.contributes(SpaceCapabilities.OnCreateSpace, (params) =>\n Operation.invoke(PipelineOperation.OnCreateSpace, params),\n ),\n ),\n }),\n Common.Plugin.addSurfaceModule({ activate: ReactSurface }),\n Common.Plugin.addOperationResolverModule({ activate: OperationResolver }),\n Common.Plugin.addAppGraphModule({ activate: AppGraphBuilder }),\n Plugin.make,\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability, Common } from '@dxos/app-framework';\nimport { Obj, Ref, Type } from '@dxos/echo';\nimport { OperationResolver } from '@dxos/operation';\nimport { Collection } from '@dxos/schema';\nimport { Pipeline } from '@dxos/types';\n\nimport { PipelineOperation } from '../../types';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Common.Capability.OperationResolver, [\n OperationResolver.make({\n operation: PipelineOperation.OnCreateSpace,\n handler: Effect.fnUntraced(function* ({ rootCollection }) {\n const collection = Collection.makeManaged({ key: Type.getTypename(Pipeline.Pipeline) });\n Obj.change(rootCollection, (c) => {\n c.objects.push(Ref.make(collection));\n });\n }),\n }),\n ]),\n ),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\n", "import { type Resource } from '@dxos/react-ui';\nimport { Pipeline } from '@dxos/types';\n//\n// Copyright 2023 DXOS.org\n//\n\nimport { meta } from './meta';\n\nexport const translations = [\n {\n 'en-US': {\n [Pipeline.Pipeline.typename]: {\n 'typename label': 'Project',\n 'typename label_zero': 'Projects',\n 'typename label_one': 'Project',\n 'typename label_other': 'Projects',\n 'object name placeholder': 'New project',\n 'rename object label': 'Rename project',\n 'delete object label': 'Delete project',\n 'object deleted label': 'Project deleted',\n },\n [meta.id]: {\n 'plugin name': 'Projects',\n 'add column label': 'Add column',\n 'add card label': 'Add object',\n 'untitled view title': 'New view',\n 'enumerating tab label': 'List',\n 'editing tab label': 'Edit',\n 'views label': 'Views',\n 'project invocations label': 'Invocations',\n 'project automation label': 'Automations',\n 'toggle expand label': 'Toggle expand',\n 'delete view label': 'Delete view',\n 'add view label': 'Add view',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
- "mappings": ";;;;;;;;AAIA,YAAYA,aAAY;AAExB,SAASC,cAAAA,aAAYC,UAAAA,SAAQC,cAAc;AAC3C,SAASC,iBAAiB;AAC1B,SAASC,mBAAmBC,mBAAmB;AAE/C,SAASC,YAAAA,iBAAgB;;;ACNzB,SAASC,kBAAkB;AAEpB,IAAMC,kBAAkBC,WAAWC,KAAK,mBAAmB,MAAM,OAAO,kCAAA,CAAA;;;ACF/E,YAAYC,YAAY;AAExB,SAASC,cAAAA,aAAYC,cAAc;AACnC,SAASC,KAAKC,KAAKC,YAAY;AAC/B,SAASC,yBAAyB;AAClC,SAASC,kBAAkB;AAC3B,SAASC,gBAAgB;AAIzB,IAAA,6BAAeC,YAAWC,WAAW,MAC5BC,eACLF,YAAWG,YAAYC,OAAOJ,WAAWK,mBAAmB;EAC1DA,kBAAkBC,KAAK;IACrBC,WAAWC,kBAAkBC;IAC7BC,SAAgBC,kBAAW,WAAW,EAAEC,eAAc,GAAE;AACtD,YAAMC,aAAaC,WAAWC,YAAY;QAAEC,KAAKC,KAAKC,YAAYC,SAASA,QAAQ;MAAE,CAAA;AACrFC,UAAIC,OAAOT,gBAAgB,CAACU,MAAAA;AAC1BA,UAAEC,QAAQC,KAAKC,IAAInB,KAAKO,UAAAA,CAAAA;MAC1B,CAAA;IACF,CAAA;EACF,CAAA;CACD,CAAA,CAAA;;;ACtBL,SAASa,cAAAA,mBAAkB;AAEpB,IAAMC,eAAeC,YAAWC,KAAK,gBAAgB,MAAM,OAAO,8BAAA,CAAA;;;ACLzE,SAASC,YAAAA,iBAAgB;AAOlB,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACC,UAASA,SAASC,QAAQ,GAAG;QAC5B,kBAAkB;QAClB,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;QACxB,2BAA2B;QAC3B,uBAAuB;QACvB,uBAAuB;QACvB,wBAAwB;MAC1B;MACA,CAACC,KAAKC,EAAE,GAAG;QACT,eAAe;QACf,oBAAoB;QACpB,kBAAkB;QAClB,uBAAuB;QACvB,yBAAyB;QACzB,qBAAqB;QACrB,eAAe;QACf,6BAA6B;QAC7B,4BAA4B;QAC5B,uBAAuB;QACvB,qBAAqB;QACrB,kBAAkB;MACpB;IACF;EACF;;;;AJnBK,IAAMC,iBAAiBC,OAAOC,OAAOC,IAAAA,EAAMC,KAChDC,QAAOJ,OAAOK,sBAAsB;EAAEC;AAAa,CAAA,GACnDF,QAAOJ,OAAOO,kBAAkB;EAC9BC,UAAU;IACRC,IAAIC,UAASA,SAASC;IACtBH,UAAU;MACRI,MAAM;MACNC,SAAS;MACTC,cAAe,CAACC,UAAiBC,aAAK,MAAMN,UAASO,KAAKF,KAAAA,CAAAA;IAC5D;EACF;AACF,CAAA,GACAX,QAAOJ,OAAOkB,gBAAgB;EAAEC,QAAQ;IAACT,UAASA;;AAAU,CAAA,GAC5DV,OAAOoB,UAAU;EACfX,IAAI;EACJY,aAAaC,YAAYC;EACzBC,UAAU,MACDC,gBACLC,YAAWC,YAAYC,kBAAkBC,eAAe,CAACC,WACvDC,UAAUC,OAAOC,kBAAkBJ,eAAeC,MAAAA,CAAAA,CAAAA;AAG1D,CAAA,GACA1B,QAAOJ,OAAOkC,iBAAiB;EAAEV,UAAUW;AAAa,CAAA,GACxD/B,QAAOJ,OAAOoC,2BAA2B;EAAEZ,UAAUa;AAAkB,CAAA,GACvEjC,QAAOJ,OAAOsC,kBAAkB;EAAEd,UAAUe;AAAgB,CAAA,GAC5DvC,OAAOiB,IAAI;",
6
- "names": ["Effect", "Capability", "Common", "Plugin", "Operation", "SpaceCapabilities", "SpaceEvents", "Pipeline", "Capability", "AppGraphBuilder", "Capability", "lazy", "Effect", "Capability", "Common", "Obj", "Ref", "Type", "OperationResolver", "Collection", "Pipeline", "Capability", "makeModule", "succeed", "contributes", "Common", "OperationResolver", "make", "operation", "PipelineOperation", "OnCreateSpace", "handler", "fnUntraced", "rootCollection", "collection", "Collection", "makeManaged", "key", "Type", "getTypename", "Pipeline", "Obj", "change", "c", "objects", "push", "Ref", "Capability", "ReactSurface", "Capability", "lazy", "Pipeline", "translations", "Pipeline", "typename", "meta", "id", "PipelinePlugin", "Plugin", "define", "meta", "pipe", "Common", "addTranslationsModule", "translations", "addMetadataModule", "metadata", "id", "Pipeline", "typename", "icon", "iconHue", "createObject", "props", "sync", "make", "addSchemaModule", "schema", "addModule", "activatesOn", "SpaceEvents", "SpaceCreated", "activate", "succeed", "Capability", "contributes", "SpaceCapabilities", "OnCreateSpace", "params", "Operation", "invoke", "PipelineOperation", "addSurfaceModule", "ReactSurface", "addOperationResolverModule", "OperationResolver", "addAppGraphModule", "AppGraphBuilder"]
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability, Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { Operation } from '@dxos/operation';\nimport { SpaceCapabilities, SpaceEvents } from '@dxos/plugin-space';\nimport { type CreateObject } from '@dxos/plugin-space/types';\nimport { Pipeline } from '@dxos/types';\n\nimport { AppGraphBuilder, OperationResolver, ReactSurface } from './capabilities';\nimport { meta } from './meta';\nimport { translations } from './translations';\nimport { PipelineOperation } from './types';\n\nexport const PipelinePlugin = Plugin.define(meta).pipe(\n AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),\n AppPlugin.addMetadataModule({\n metadata: {\n id: Pipeline.Pipeline.typename,\n metadata: {\n icon: 'ph--path--regular',\n iconHue: 'purple',\n createObject: ((props) => Effect.sync(() => Pipeline.make(props))) satisfies CreateObject,\n },\n },\n }),\n AppPlugin.addOperationResolverModule({ activate: OperationResolver }),\n AppPlugin.addSchemaModule({ schema: [Pipeline.Pipeline] }),\n AppPlugin.addSurfaceModule({ activate: ReactSurface }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.addModule({\n id: 'on-space-created',\n activatesOn: SpaceEvents.SpaceCreated,\n activate: () =>\n Effect.succeed(\n Capability.contributes(SpaceCapabilities.OnCreateSpace, (params) =>\n Operation.invoke(PipelineOperation.OnCreateSpace, params),\n ),\n ),\n }),\n Plugin.make,\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Obj, Ref, Type } from '@dxos/echo';\nimport { OperationResolver } from '@dxos/operation';\nimport { Collection } from '@dxos/schema';\nimport { Pipeline } from '@dxos/types';\n\nimport { PipelineOperation } from '../../types';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Capabilities.OperationResolver, [\n OperationResolver.make({\n operation: PipelineOperation.OnCreateSpace,\n handler: Effect.fnUntraced(function* ({ rootCollection }) {\n const collection = Collection.makeManaged({ key: Type.getTypename(Pipeline.Pipeline) });\n Obj.change(rootCollection, (c) => {\n c.objects.push(Ref.make(collection));\n });\n }),\n }),\n ]),\n ),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\n", "import { type Resource } from '@dxos/react-ui';\nimport { Pipeline } from '@dxos/types';\n//\n// Copyright 2023 DXOS.org\n//\n\nimport { meta } from './meta';\n\nexport const translations = [\n {\n 'en-US': {\n [Pipeline.Pipeline.typename]: {\n 'typename label': 'Pipeline',\n 'typename label_zero': 'Pipelines',\n 'typename label_one': 'Pipeline',\n 'typename label_other': 'Pipelines',\n 'object name placeholder': 'New pipeline',\n 'rename object label': 'Rename pipeline',\n 'delete object label': 'Delete pipeline',\n 'object deleted label': 'Pipeline deleted',\n },\n [meta.id]: {\n 'plugin name': 'Pipelines',\n 'add column label': 'Add column',\n 'add card label': 'Add object',\n 'untitled view title': 'New view',\n 'enumerating tab label': 'List',\n 'editing tab label': 'Edit',\n 'views label': 'Views',\n 'pipeline invocations label': 'Invocations',\n 'pipeline automation label': 'Automations',\n 'toggle expand label': 'Toggle expand',\n 'delete view label': 'Delete view',\n 'add view label': 'Add view',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
+ "mappings": ";;;;;;;;AAIA,YAAYA,aAAY;AAExB,SAASC,cAAAA,aAAYC,cAAc;AACnC,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;AAC1B,SAASC,mBAAmBC,mBAAmB;AAE/C,SAASC,YAAAA,iBAAgB;;;ACPzB,SAASC,kBAAkB;AAEpB,IAAMC,kBAAkBC,WAAWC,KAAK,mBAAmB,MAAM,OAAO,kCAAA,CAAA;;;ACF/E,YAAYC,YAAY;AAExB,SAASC,cAAcC,cAAAA,mBAAkB;AACzC,SAASC,KAAKC,KAAKC,YAAY;AAC/B,SAASC,yBAAyB;AAClC,SAASC,kBAAkB;AAC3B,SAASC,gBAAgB;AAIzB,IAAA,6BAAeC,YAAWC,WAAW,MAC5BC,eACLF,YAAWG,YAAYC,aAAaC,mBAAmB;EACrDA,kBAAkBC,KAAK;IACrBC,WAAWC,kBAAkBC;IAC7BC,SAAgBC,kBAAW,WAAW,EAAEC,eAAc,GAAE;AACtD,YAAMC,aAAaC,WAAWC,YAAY;QAAEC,KAAKC,KAAKC,YAAYC,SAASA,QAAQ;MAAE,CAAA;AACrFC,UAAIC,OAAOT,gBAAgB,CAACU,MAAAA;AAC1BA,UAAEC,QAAQC,KAAKC,IAAInB,KAAKO,UAAAA,CAAAA;MAC1B,CAAA;IACF,CAAA;EACF,CAAA;CACD,CAAA,CAAA;;;ACtBL,SAASa,cAAAA,mBAAkB;AAEpB,IAAMC,eAAeC,YAAWC,KAAK,gBAAgB,MAAM,OAAO,8BAAA,CAAA;;;ACLzE,SAASC,YAAAA,iBAAgB;AAOlB,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACC,UAASA,SAASC,QAAQ,GAAG;QAC5B,kBAAkB;QAClB,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;QACxB,2BAA2B;QAC3B,uBAAuB;QACvB,uBAAuB;QACvB,wBAAwB;MAC1B;MACA,CAACC,KAAKC,EAAE,GAAG;QACT,eAAe;QACf,oBAAoB;QACpB,kBAAkB;QAClB,uBAAuB;QACvB,yBAAyB;QACzB,qBAAqB;QACrB,eAAe;QACf,8BAA8B;QAC9B,6BAA6B;QAC7B,uBAAuB;QACvB,qBAAqB;QACrB,kBAAkB;MACpB;IACF;EACF;;;;AJlBK,IAAMC,iBAAiBC,OAAOC,OAAOC,IAAAA,EAAMC,KAChDC,UAAUC,kBAAkB;EAAEC,UAAUC;AAAgB,CAAA,GACxDH,UAAUI,kBAAkB;EAC1BC,UAAU;IACRC,IAAIC,UAASA,SAASC;IACtBH,UAAU;MACRI,MAAM;MACNC,SAAS;MACTC,cAAe,CAACC,UAAiBC,aAAK,MAAMN,UAASO,KAAKF,KAAAA,CAAAA;IAC5D;EACF;AACF,CAAA,GACAZ,UAAUe,2BAA2B;EAAEb,UAAUc;AAAkB,CAAA,GACnEhB,UAAUiB,gBAAgB;EAAEC,QAAQ;IAACX,UAASA;;AAAU,CAAA,GACxDP,UAAUmB,iBAAiB;EAAEjB,UAAUkB;AAAa,CAAA,GACpDpB,UAAUqB,sBAAsB;EAAEC;AAAa,CAAA,GAC/C1B,OAAO2B,UAAU;EACfjB,IAAI;EACJkB,aAAaC,YAAYC;EACzBxB,UAAU,MACDyB,gBACLC,YAAWC,YAAYC,kBAAkBC,eAAe,CAACC,WACvDC,UAAUC,OAAOC,kBAAkBJ,eAAeC,MAAAA,CAAAA,CAAAA;AAG1D,CAAA,GACApC,OAAOkB,IAAI;",
6
+ "names": ["Effect", "Capability", "Plugin", "AppPlugin", "Operation", "SpaceCapabilities", "SpaceEvents", "Pipeline", "Capability", "AppGraphBuilder", "Capability", "lazy", "Effect", "Capabilities", "Capability", "Obj", "Ref", "Type", "OperationResolver", "Collection", "Pipeline", "Capability", "makeModule", "succeed", "contributes", "Capabilities", "OperationResolver", "make", "operation", "PipelineOperation", "OnCreateSpace", "handler", "fnUntraced", "rootCollection", "collection", "Collection", "makeManaged", "key", "Type", "getTypename", "Pipeline", "Obj", "change", "c", "objects", "push", "Ref", "Capability", "ReactSurface", "Capability", "lazy", "Pipeline", "translations", "Pipeline", "typename", "meta", "id", "PipelinePlugin", "Plugin", "define", "meta", "pipe", "AppPlugin", "addAppGraphModule", "activate", "AppGraphBuilder", "addMetadataModule", "metadata", "id", "Pipeline", "typename", "icon", "iconHue", "createObject", "props", "sync", "make", "addOperationResolverModule", "OperationResolver", "addSchemaModule", "schema", "addSurfaceModule", "ReactSurface", "addTranslationsModule", "translations", "addModule", "activatesOn", "SpaceEvents", "SpaceCreated", "succeed", "Capability", "contributes", "SpaceCapabilities", "OnCreateSpace", "params", "Operation", "invoke", "PipelineOperation"]
7
7
  }