@dxos/plugin-pipeline 0.8.3-main.ef1bc66f44 → 0.8.4-main.1068cf700f

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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-pipeline",
3
- "version": "0.8.3-main.ef1bc66f44",
3
+ "version": "0.8.4-main.1068cf700f",
4
4
  "description": "Pipeline plugin for Composer",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -40,32 +40,32 @@
40
40
  "@radix-ui/react-compose-refs": "1.1.1",
41
41
  "@radix-ui/react-context": "1.1.1",
42
42
  "effect": "3.19.16",
43
- "@dxos/app-toolkit": "0.8.3-main.ef1bc66f44",
44
- "@dxos/devtools": "0.8.3-main.ef1bc66f44",
45
- "@dxos/async": "0.8.3-main.ef1bc66f44",
46
- "@dxos/assistant-toolkit": "0.8.3-main.ef1bc66f44",
47
- "@dxos/echo": "0.8.3-main.ef1bc66f44",
48
- "@dxos/operation": "0.8.3-main.ef1bc66f44",
49
- "@dxos/functions": "0.8.3-main.ef1bc66f44",
50
- "@dxos/plugin-deck": "0.8.3-main.ef1bc66f44",
51
- "@dxos/plugin-client": "0.8.3-main.ef1bc66f44",
52
- "@dxos/app-framework": "0.8.3-main.ef1bc66f44",
53
- "@dxos/plugin-graph": "0.8.3-main.ef1bc66f44",
54
- "@dxos/plugin-inbox": "0.8.3-main.ef1bc66f44",
55
- "@dxos/plugin-markdown": "0.8.3-main.ef1bc66f44",
56
- "@dxos/log": "0.8.3-main.ef1bc66f44",
57
- "@dxos/react-client": "0.8.3-main.ef1bc66f44",
58
- "@dxos/react-ui-list": "0.8.3-main.ef1bc66f44",
59
- "@dxos/react-ui-components": "0.8.3-main.ef1bc66f44",
60
- "@dxos/react-ui-attention": "0.8.3-main.ef1bc66f44",
61
- "@dxos/react-ui-stack": "0.8.3-main.ef1bc66f44",
62
- "@dxos/react-ui-mosaic": "0.8.3-main.ef1bc66f44",
63
- "@dxos/echo-query": "0.8.3-main.ef1bc66f44",
64
- "@dxos/schema": "0.8.3-main.ef1bc66f44",
65
- "@dxos/react-ui-form": "0.8.3-main.ef1bc66f44",
66
- "@dxos/util": "0.8.3-main.ef1bc66f44",
67
- "@dxos/plugin-space": "0.8.3-main.ef1bc66f44",
68
- "@dxos/types": "0.8.3-main.ef1bc66f44"
43
+ "@dxos/app-framework": "0.8.4-main.1068cf700f",
44
+ "@dxos/assistant-toolkit": "0.8.4-main.1068cf700f",
45
+ "@dxos/devtools": "0.8.4-main.1068cf700f",
46
+ "@dxos/async": "0.8.4-main.1068cf700f",
47
+ "@dxos/echo-query": "0.8.4-main.1068cf700f",
48
+ "@dxos/echo": "0.8.4-main.1068cf700f",
49
+ "@dxos/functions": "0.8.4-main.1068cf700f",
50
+ "@dxos/app-toolkit": "0.8.4-main.1068cf700f",
51
+ "@dxos/log": "0.8.4-main.1068cf700f",
52
+ "@dxos/operation": "0.8.4-main.1068cf700f",
53
+ "@dxos/plugin-client": "0.8.4-main.1068cf700f",
54
+ "@dxos/plugin-graph": "0.8.4-main.1068cf700f",
55
+ "@dxos/plugin-deck": "0.8.4-main.1068cf700f",
56
+ "@dxos/plugin-markdown": "0.8.4-main.1068cf700f",
57
+ "@dxos/plugin-inbox": "0.8.4-main.1068cf700f",
58
+ "@dxos/plugin-space": "0.8.4-main.1068cf700f",
59
+ "@dxos/react-client": "0.8.4-main.1068cf700f",
60
+ "@dxos/react-ui-form": "0.8.4-main.1068cf700f",
61
+ "@dxos/react-ui-components": "0.8.4-main.1068cf700f",
62
+ "@dxos/react-ui-attention": "0.8.4-main.1068cf700f",
63
+ "@dxos/react-ui-list": "0.8.4-main.1068cf700f",
64
+ "@dxos/react-ui-mosaic": "0.8.4-main.1068cf700f",
65
+ "@dxos/react-ui-stack": "0.8.4-main.1068cf700f",
66
+ "@dxos/schema": "0.8.4-main.1068cf700f",
67
+ "@dxos/types": "0.8.4-main.1068cf700f",
68
+ "@dxos/util": "0.8.4-main.1068cf700f"
69
69
  },
70
70
  "devDependencies": {
71
71
  "@effect-atom/atom-react": "^0.5.0",
@@ -74,23 +74,23 @@
74
74
  "react": "~19.2.3",
75
75
  "react-dom": "~19.2.3",
76
76
  "vite": "7.1.9",
77
- "@dxos/plugin-inbox": "0.8.3-main.ef1bc66f44",
78
- "@dxos/plugin-attention": "0.8.3-main.ef1bc66f44",
79
- "@dxos/plugin-preview": "0.8.3-main.ef1bc66f44",
80
- "@dxos/plugin-testing": "0.8.3-main.ef1bc66f44",
81
- "@dxos/random": "0.8.3-main.ef1bc66f44",
82
- "@dxos/react-ui": "0.8.3-main.ef1bc66f44",
83
- "@dxos/plugin-theme": "0.8.3-main.ef1bc66f44",
84
- "@dxos/ui-theme": "0.8.3-main.ef1bc66f44",
85
- "@dxos/storybook-utils": "0.8.3-main.ef1bc66f44"
77
+ "@dxos/plugin-attention": "0.8.4-main.1068cf700f",
78
+ "@dxos/plugin-inbox": "0.8.4-main.1068cf700f",
79
+ "@dxos/plugin-preview": "0.8.4-main.1068cf700f",
80
+ "@dxos/plugin-theme": "0.8.4-main.1068cf700f",
81
+ "@dxos/plugin-testing": "0.8.4-main.1068cf700f",
82
+ "@dxos/random": "0.8.4-main.1068cf700f",
83
+ "@dxos/react-ui": "0.8.4-main.1068cf700f",
84
+ "@dxos/ui-theme": "0.8.4-main.1068cf700f",
85
+ "@dxos/storybook-utils": "0.8.4-main.1068cf700f"
86
86
  },
87
87
  "peerDependencies": {
88
88
  "@effect-atom/atom-react": "^0.5.0",
89
89
  "effect": "3.19.16",
90
90
  "react": "~19.2.3",
91
91
  "react-dom": "~19.2.3",
92
- "@dxos/react-ui": "0.8.3-main.ef1bc66f44",
93
- "@dxos/ui-theme": "0.8.3-main.ef1bc66f44"
92
+ "@dxos/react-ui": "0.8.4-main.1068cf700f",
93
+ "@dxos/ui-theme": "0.8.4-main.1068cf700f"
94
94
  },
95
95
  "publishConfig": {
96
96
  "access": "public"
@@ -15,7 +15,7 @@ import { Form, ViewEditor } from '@dxos/react-ui-form';
15
15
  import { List } from '@dxos/react-ui-list';
16
16
  import { type ProjectionModel, View } from '@dxos/schema';
17
17
  import { Pipeline, Task } from '@dxos/types';
18
- import { inputTextLabel, mx, osTranslations, subtleHover } from '@dxos/ui-theme';
18
+ import { mx, osTranslations, subtleHover } from '@dxos/ui-theme';
19
19
  import { arrayMove } from '@dxos/util';
20
20
 
21
21
  import { meta } from '../meta';
@@ -154,7 +154,7 @@ export const PipelineObjectSettings = ({ classNames, pipeline }: PipelineObjectS
154
154
 
155
155
  return (
156
156
  <div role='none' className={mx('plb-cardSpacingBlock overflow-y-auto', classNames)}>
157
- <h2 className={mx(inputTextLabel)}>{t('views label')}</h2>
157
+ <h2 className='text-sm text-description plb-1'>{t('views label')}</h2>
158
158
 
159
159
  <List.Root<Pipeline.Column>
160
160
  items={pipeline.columns}
@@ -1,7 +0,0 @@
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 { type SurfaceComponentProps, useOperationInvoker } from '@dxos/app-framework/react';\nimport { Surface } from '@dxos/app-framework/react';\nimport { Obj } from '@dxos/echo';\nimport { ATTENDABLE_PATH_SEPARATOR, DeckOperation } from '@dxos/plugin-deck/types';\nimport { useAttention } from '@dxos/react-ui-attention';\nimport { Layout } from '@dxos/react-ui-mosaic';\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\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 { 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 axis='vertical' withFocus>\n <Mosaic.Viewport axis='vertical' padding>\n <Mosaic.Stack axis='vertical' items={sortedItems} getId={(item) => item.id} Tile={Tile} />\n </Mosaic.Viewport>\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": "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",
6
- "names": ["React", "useCallback", "useOperationInvoker", "Surface", "Obj", "ATTENDABLE_PATH_SEPARATOR", "DeckOperation", "useAttention", "Layout", "createContext", "React", "useObject", "Toolbar", "useTranslation", "Stack", "useComposedRefs", "React", "forwardRef", "useMemo", "useRef", "useState", "Obj", "Query", "Type", "getQueryTarget", "resolveSchemaWithRegistry", "Filter", "getSpace", "isSpace", "useObject", "useQuery", "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", "axis", "withFocus", "Viewport", "padding", "Stack", "getId", "displayName", "ITEM_TILE_NAME", "classNames", "location", "debug", "forwardedRef", "rootRef", "useRef", "composedRef", "useComposedRefs", "Root", "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,7 +0,0 @@
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 { inputTextLabel, 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={mx(inputTextLabel)}>{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": ";;;;;AAIA,YAAYA,YAAY;AACxB,OAAOC,SAASC,aAAaC,SAASC,QAAQC,gBAAgB;AAE9D,SAASC,KAAKC,QAAQC,KAAKC,OAAsBC,KAAKC,KAAKC,YAAY;AAEvE,SAASC,sBAAsB;AAC/B,SAASC,iCAAiC;AAC1C,SAASC,UAAUC,gBAAgB;AACnC,SAASC,YAAkCC,gBAAgBC,sBAAsB;AACjF,SAASC,MAAMC,kBAAkB;AACjC,SAASC,YAAY;AACrB,SAA+BC,YAAY;AAC3C,SAASC,UAAUC,YAAY;AAC/B,SAASC,gBAAgBC,IAAIC,gBAAgBC,mBAAmB;AAChE,SAASC,iBAAiB;AAI1B,IAAMC,WAAW;AACjB,IAAMC,eAAe;AAErB,IAAMC,mBAAmBC,SAASC,OAAOC,KAAYC,gBAAgBC,YAAK,MAAA,CAAA;AAUnE,IAAMC,yBAAyB,CAAC,EAAEC,YAAYC,SAAQ,MAA+B;AAC1F,QAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AACpC,QAAMC,QAAQC,SAASN,QAAAA;AACvB,QAAM,CAACO,YAAYC,aAAAA,IAAiBC,SAAAA;AACpC,QAAMC,SAASC,QACb,MAAMX,SAASY,QAAQC,KAAK,CAACH,YAAWA,QAAOI,KAAKC,IAAIC,SAAQ,MAAOT,UAAAA,GACvE;IAACP,SAASY;IAASL;GAAW;AAEhC,QAAMO,OAAOJ,QAAQI,KAAKG;AAC1B,QAAM,CAACC,QAAQC,SAAAA,IAAaV,SAAqC,MAAaW,cAAO,CAAC,CAAA,CAAA;AACtF,QAAMC,gBAAgBC,OAAwB,IAAA;AAC9C,QAAMC,OAAOC,SAASnB,OAAOoB,IAAIC,OAAOC,KAAKC,IAAIA,GAAG,CAAA;AACpD,QAAMC,QAAQC,eAAe;IAC3BzB;IACA0B,YAAY;MACVC,UAAU;QAAC;QAAY;;MACvBC,MAAM;QAAC;;MACPC,YAAY;QAAC;QAAc;;IAC7B;EACF,CAAA;AAEAC,iBAAe,YAAA;AACb,QAAI,CAACrB,MAAMsB,SAAS,CAAC/B,OAAO;AAC1B;IACF;AAEA,UAAMgC,cAAc,MAAMC,0BAA0BjC,MAAMoB,GAAGc,gBAAgBzB,KAAKsB,MAAMI,GAAG;AAC3F,QAAIH,eAAeA,gBAAgBnB,QAAQ;AACzCC,gBAAU,MAAMkB,WAAAA;IAClB;EACF,GAAG;IAAChC;IAAOS;IAAMI;GAAO;AAExB,QAAMuB,aAAaC,YACjB,CAACC,WAAmBC,YAClBC,IAAIC,OAAO9C,UAAU,CAAC+C,MAAAA;AACpBC,cAAUD,EAAEnC,SAAS+B,WAAWC,OAAAA;EAClC,CAAA,GACF;IAAC5C;GAAS;AAGZ,QAAMiD,qBAAqBP,YACzB,OAAOQ,UAA0BjC,WAAAA;AAC/B,QAAI,CAACH,QAAQ,CAACT,OAAO;AACnB;IACF;AAEA,UAAM8C,QAAQlC,UAAUmC,IAAIC,SAASpC,MAAAA,IAAUA,SAASqC;AACxD,UAAMlB,QAAQe,QAAQI,MAAMC,QAAQN,QAAAA,EAAUO,QAAQ;MAAEC,QAAQ;QAACP;;IAAO,CAAA,IAAKI,MAAMC,QAAQN,QAAAA;AAC3FL,QAAIC,OAAOhC,MAAM,CAAC6C,MAAAA;AAChBA,QAAEvB,MAAMI,MAAMJ,MAAMI;IACtB,CAAA;AACA,UAAMoB,YAAY,MAAMtB,0BAA0BjC,MAAMoB,GAAGc,gBAAgBH,MAAMI,GAAG;AACpF,QAAI,CAACoB,WAAW;AACd;IACF;AAEA,UAAMC,UAAUC,KAAKC,KAAK;MACxB3B;MACA4B,YAAYC,KAAKC,aAAaN,SAAAA;IAChC,CAAA;AACAf,QAAIC,OAAOhC,MAAM,CAAC6C,MAAAA;AAChBA,QAAEQ,aAAatB,IAAIuB,YAAYP,OAAAA,EAASM;IAC1C,CAAA;AAEAhD,cAAU,MAAMyC,SAAAA;EAClB,GACA;IAAC9C;IAAMI;GAAO;AAGhB,QAAMmD,oBAAoB3B,YAAY,CAAChC,YAAAA;AACrCF,kBAAc,CAAC8D,mBACbA,mBAAmB5D,QAAOI,KAAKC,IAAIC,SAAQ,IAAKsC,SAAY5C,QAAOI,KAAKC,IAAIC,SAAQ,CAAA;EAExF,GAAG,CAAA,CAAE;AAEL,QAAMuD,eAAe7B,YACnB,OAAOhC,YAAAA;AACL,QAAIA,QAAOI,KAAKC,IAAIC,SAAQ,MAAOT,YAAY;AAC7CC,oBAAc8C,MAAAA;IAChB;AAEA,UAAMkB,QAAQxE,SAASY,QAAQ6D,UAAU,CAACC,MAAMA,MAAMhE,OAAAA;AACtD,UAAMiE,eAAe,MAAMjE,QAAOI,KAAK8D,KAAI;AAC3C/B,QAAIC,OAAO9C,UAAU,CAAC+C,MAAAA;AACpBA,QAAEnC,QAAQiE,OAAOL,OAAO,CAAA;IAC1B,CAAA;AACAnE,WAAOoB,GAAGqD,OAAOH,YAAAA;EACnB,GACA;IAACpE;IAAYP,SAASY;IAASP;GAAM;AAGvC,QAAM0E,YAAYrC,YAAY,MAAA;AAC5B,UAAMmB,UAAUC,KAAKC,KAAK;MACxB3B,OAAOmB,MAAMyB,OAAOtD,OAAOC,KAAKsD,KAAKA,IAAI,CAAA;MACzCjB,YAAYC,KAAKC,aAAae,KAAKA,IAAI;IACzC,CAAA;AACApC,QAAIC,OAAO9C,UAAU,CAAC+C,MAAAA;AACpBA,QAAEnC,QAAQsE,KAAK;QACbC,MAAM;;QAENrE,MAAMsE,IAAIrB,KAAKF,OAAAA;QACfwB,OAAO,CAAA;MACT,CAAA;IACF,CAAA;AACA7E,kBAAcqD,QAAQzD,EAAE;EAC1B,GAAG;IAACJ;GAAS;AAEb,QAAMsF,mBAAmB5C,YACvB,CAAC6C,WAAAA;AACC,QAAI7E,QAAQ;AACV,YAAM8E,cAAcxF,SAASY,QAAQ6D,UAAU,CAACgB,MAAMA,MAAM/E,MAAAA;AAC5DmC,UAAIC,OAAO9C,UAAU,CAAC+C,MAAAA;AACpBA,UAAEnC,QAAQ4E,WAAAA,EAAaL,OAAOI,OAAOJ;MACvC,CAAA;IACF;EACF,GACA;IAACzE;IAAQV;GAAS;AAGpB,SACE,sBAAA,cAAC0F,OAAAA;IAAIC,MAAK;IAAOC,WAAWC,GAAG,wCAAwC9F,UAAAA;KACrE,sBAAA,cAAC+F,MAAAA;IAAGF,WAAWC,GAAGE,cAAAA;KAAkB9F,EAAE,aAAA,CAAA,GAEtC,sBAAA,cAAC+F,KAAKC,MAAI;IACRC,OAAOlG,SAASY;IAChBuF,QAAeC,UAAG3G,SAASC,MAAM;IACjC2G,OAAO,CAAC3F,YAAWA,QAAOI,KAAKC,IAAIC,SAAQ;IAC3CsF,QAAQ7D;KAEP,CAAC,EAAEyD,OAAOtF,QAAO,MAChB,sBAAA,cAAA,MAAA,UAAA,MACE,sBAAA,cAAC8E,OAAAA;IAAIC,MAAK;IAAOC,WAAWC,GAAGvG,QAAAA;KAC5BsB,QAAQ2F,IAAI,CAAC7F,YACZ,sBAAA,cAACsF,KAAKQ,MAAI;IACRC,KAAK/F,QAAOI,KAAKC,IAAIC,SAAQ;IAC7B0F,MAAMhG;IACNX,YAAYR;IACZoH,iBAAepG,eAAeG,QAAOI,KAAKC,IAAIC,SAAQ;KAEtD,sBAAA,cAAC0E,OAAAA;IAAIC,MAAK;IAAOC,WAAWC,GAAGe,aAAarH,cAAc,qCAAA;KACxD,sBAAA,cAACyG,KAAKa,gBAAc,IAAA,GACpB,sBAAA,cAACb,KAAKc,WAAS;IAACC,SAAS,MAAM1C,kBAAkB3D,OAAAA;KAAUA,QAAOyE,IAAI,GACtE,sBAAA,cAACa,KAAKgB,kBAAgB;IACpBC,OAAOhH,EAAE,mBAAA;IACTiH,UAAU;IACVH,SAAS,MAAMxC,aAAa7D,OAAAA;IAC5ByG,eAAY;MAEd,sBAAA,cAACC,YAAAA;IACCC,UAAAA;IACAC,SAAQ;IACRL,OAAOhH,EAAE,uBAAuB;MAAEsH,IAAIC;IAAe,CAAA;IACrDC,MACElH,eAAeG,QAAOI,KAAKC,IAAIC,SAAQ,IACnC,4BACA;IAEN+F,SAAS,MAAM1C,kBAAkB3D,OAAAA;OAGpCH,eAAeG,QAAOI,KAAKC,IAAIC,SAAQ,KAAMF,QAC5C,sBAAA,cAAC4E,OAAAA;IAAIC,MAAK;IAAOC,WAAU;KACzB,sBAAA,cAAC8B,KAAKzB,MAAI;IAAC/E,QAAQ1B;IAAkB+F,QAAQ7E;IAAQiH,UAAAA;IAASC,QAAQtC;KACpE,sBAAA,cAACoC,KAAKG,SAAO,MACX,sBAAA,cAACH,KAAKI,UAAQ,IAAA,CAAA,CAAA,GAGlB,sBAAA,cAACC,YAAAA;IACCC,KAAK3G;IACL4G,MAAK;IACLC,UAAAA;IACAhH;IACAJ;IACAqH,UAAU9H,OAAOoB,GAAGc;IACpBhB;IACAM;IACAuG,gBAAgBnF;YAWlC,sBAAA,cAACyC,OAAAA;IAAIC,MAAK;IAAOC,WAAU;KACzB,sBAAA,cAACwB,YAAAA;IAAWK,MAAK;IAAoBR,OAAOhH,EAAE,gBAAA;IAAmB8G,SAAShC;IAAWhF,YAAW;;AAIxG;AAEA,IAAA,2BAAeD;",
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", "inputTextLabel", "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", "inputTextLabel", "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,7 +0,0 @@
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, Common } from '@dxos/app-framework';\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, get) => {\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: ['project 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: ['project automation label', { ns: meta.id }],\n icon: 'ph--lightning--regular',\n disposition: 'hidden',\n },\n },\n ]);\n },\n }),\n ]);\n\n return Capability.contributes(Common.Capability.AppGraphBuilder, extensions);\n }),\n);\n"],
5
- "mappings": ";;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,YAAYC,cAAc;AACnC,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,UAAUC,QAAAA;AACpB,cAAMC,SAASF,SAASL;AACxB,eAAcQ,eAAQ;UACpB;YACER,IAAI;cAACO;cAAQ;cAAeE,KAAKC,yBAAAA;YACjCR,MAAMS;YACNC,MAAM;YACNC,YAAY;cACVC,OAAO;gBAAC;gBAA6B;kBAAEC,IAAId,KAAKD;gBAAG;;cACnDgB,MAAM;cACNC,aAAa;YACf;UACF;UACA;YACEjB,IAAI;cAACO;cAAQ;cAAcE,KAAKC,yBAAAA;YAChCR,MAAMS;YACNC,MAAM;YACNC,YAAY;cACVC,OAAO;gBAAC;gBAA4B;kBAAEC,IAAId,KAAKD;gBAAG;;cAClDgB,MAAM;cACNC,aAAa;YACf;UACF;SACD;MACH;IACF,CAAA;GACD;AAED,SAAOxB,WAAWyB,YAAYC,OAAO1B,WAAW2B,iBAAiBxB,UAAAA;AACnE,CAAA,CAAA;",
6
- "names": ["Effect", "Capability", "Common", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE", "GraphBuilder", "Pipeline", "Capability", "makeModule", "fnUntraced", "extensions", "all", "GraphBuilder", "createTypeExtension", "id", "meta", "type", "Pipeline", "connector", "pipeline", "get", "nodeId", "succeed", "join", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE", "data", "properties", "label", "ns", "icon", "disposition", "contributes", "Common", "AppGraphBuilder"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-surface/react-surface.tsx", "../../../src/components/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React from 'react';\n\nimport { Capability, Common } from '@dxos/app-framework';\nimport { InvocationTraceContainer } from '@dxos/devtools';\nimport { Obj } from '@dxos/echo';\nimport { Layout } from '@dxos/react-ui-mosaic';\nimport { Pipeline } from '@dxos/types';\n\nimport { PipelineContainer, PipelineObjectSettings } from '../../components';\nimport { meta } from '../../meta';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Common.Capability.ReactSurface, [\n Common.createSurface({\n id: meta.id,\n role: 'article',\n filter: (data): data is { subject: Pipeline.Pipeline } => Obj.instanceOf(Pipeline.Pipeline, data.subject),\n component: ({ data, role }) => <PipelineContainer role={role} subject={data.subject} />,\n }),\n Common.createSurface({\n id: `${meta.id}/companion/invocations`,\n role: 'article',\n filter: (data): data is { companionTo: Pipeline.Pipeline } =>\n Obj.instanceOf(Pipeline.Pipeline, data.companionTo) && data.subject === 'invocations',\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 <Layout.Main role={role}>\n <InvocationTraceContainer db={db} detailAxis='block' />\n </Layout.Main>\n );\n },\n }),\n Common.createSurface({\n id: `${meta.id}/object-settings`,\n role: 'object-settings',\n filter: (data): data is { subject: Pipeline.Pipeline } => Obj.instanceOf(Pipeline.Pipeline, data.subject),\n component: ({ data }) => <PipelineObjectSettings pipeline={data.subject} />,\n }),\n ]),\n ),\n);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport type { PipelineContainerProps } from './PipelineContainer';\nexport type { PipelineObjectSettingsProps } from './PipelineSettings';\n\nexport const PipelineContainer = lazy(() => import('./PipelineContainer'));\nexport const PipelineObjectSettings = lazy(() => import('./PipelineSettings'));\n"],
5
- "mappings": ";;;;;AAIA,YAAYA,YAAY;AACxB,OAAOC,WAAW;AAElB,SAASC,YAAYC,cAAc;AACnC,SAASC,gCAAgC;AACzC,SAASC,WAAW;AACpB,SAASC,cAAc;AACvB,SAASC,gBAAgB;;;ACPzB,SAASC,YAAY;AAKd,IAAMC,oBAAoBC,KAAK,MAAM,OAAO,kCAAA,CAAA;AAC5C,IAAMC,yBAAyBD,KAAK,MAAM,OAAO,iCAAA,CAAA;;;ADMxD,IAAA,wBAAeE,WAAWC,WAAW,MAC5BC,eACLF,WAAWG,YAAYC,OAAOJ,WAAWK,cAAc;EACrDD,OAAOE,cAAc;IACnBC,IAAIC,KAAKD;IACTE,MAAM;IACNC,QAAQ,CAACC,SAAiDC,IAAIC,WAAWC,SAASA,UAAUH,KAAKI,OAAO;IACxGC,WAAW,CAAC,EAAEL,MAAMF,KAAI,MAAO,sBAAA,cAACQ,mBAAAA;MAAkBR;MAAYM,SAASJ,KAAKI;;EAC9E,CAAA;EACAX,OAAOE,cAAc;IACnBC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SACPC,IAAIC,WAAWC,SAASA,UAAUH,KAAKO,WAAW,KAAKP,KAAKI,YAAY;IAC1EC,WAAW,CAAC,EAAEL,MAAMF,KAAI,MAAE;AACxB,YAAMU,KAAKP,IAAIQ,YAAYT,KAAKO,WAAW;AAE3C,aACE,sBAAA,cAACG,OAAOC,MAAI;QAACb;SACX,sBAAA,cAACc,0BAAAA;QAAyBJ;QAAQK,YAAW;;IAGnD;EACF,CAAA;EACApB,OAAOE,cAAc;IACnBC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SAAiDC,IAAIC,WAAWC,SAASA,UAAUH,KAAKI,OAAO;IACxGC,WAAW,CAAC,EAAEL,KAAI,MAAO,sBAAA,cAACc,wBAAAA;MAAuBC,UAAUf,KAAKI;;EAClE,CAAA;CACD,CAAA,CAAA;",
6
- "names": ["Effect", "React", "Capability", "Common", "InvocationTraceContainer", "Obj", "Layout", "Pipeline", "lazy", "PipelineContainer", "lazy", "PipelineObjectSettings", "Capability", "makeModule", "succeed", "contributes", "Common", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "Obj", "instanceOf", "Pipeline", "subject", "component", "PipelineContainer", "companionTo", "db", "getDatabase", "Layout", "Main", "InvocationTraceContainer", "detailAxis", "PipelineObjectSettings", "pipeline"]
7
- }