@dxos/plugin-pipeline 0.8.4-main.abd8ff62ef → 0.8.4-main.bc2380dfbc

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 (87) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/neutral/PipelineArticle-6JIVXMYF.mjs +69 -0
  4. package/dist/lib/neutral/PipelineArticle-6JIVXMYF.mjs.map +7 -0
  5. package/dist/lib/neutral/PipelinePlugin.mjs +26 -0
  6. package/dist/lib/neutral/PipelinePlugin.mjs.map +7 -0
  7. package/dist/lib/neutral/PipelinePlugin.node.mjs +21 -0
  8. package/dist/lib/neutral/PipelinePlugin.node.mjs.map +7 -0
  9. package/dist/lib/neutral/PipelinePlugin.workerd.mjs +16 -0
  10. package/dist/lib/neutral/PipelinePlugin.workerd.mjs.map +7 -0
  11. package/dist/lib/neutral/PipelineProperties-GED4FJSS.mjs +211 -0
  12. package/dist/lib/neutral/PipelineProperties-GED4FJSS.mjs.map +7 -0
  13. package/dist/lib/neutral/app-graph-builder-ZLGRWRJU.mjs +44 -0
  14. package/dist/lib/neutral/app-graph-builder-ZLGRWRJU.mjs.map +7 -0
  15. package/dist/lib/neutral/capabilities/index.mjs +11 -0
  16. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  17. package/dist/lib/{browser/index.mjs → neutral/chunk-ULB5DKWO.mjs} +1 -7
  18. package/dist/lib/neutral/chunk-ULB5DKWO.mjs.map +7 -0
  19. package/dist/lib/neutral/components/index.mjs +206 -0
  20. package/dist/lib/neutral/components/index.mjs.map +7 -0
  21. package/dist/lib/neutral/containers/index.mjs +9 -0
  22. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  23. package/dist/lib/neutral/create-object-ZJYFACOI.mjs +25 -0
  24. package/dist/lib/neutral/create-object-ZJYFACOI.mjs.map +7 -0
  25. package/dist/lib/neutral/hooks/index.mjs +70 -0
  26. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  27. package/dist/lib/neutral/index.mjs +7 -0
  28. package/dist/lib/neutral/meta.json +1 -0
  29. package/dist/lib/neutral/meta.mjs +7 -0
  30. package/dist/lib/neutral/meta.mjs.map +7 -0
  31. package/dist/lib/neutral/plugin.mjs +11 -0
  32. package/dist/lib/neutral/plugin.mjs.map +7 -0
  33. package/dist/lib/neutral/react-surface-4W5YLCHT.mjs +49 -0
  34. package/dist/lib/neutral/react-surface-4W5YLCHT.mjs.map +7 -0
  35. package/dist/lib/neutral/types/index.mjs.map +7 -0
  36. package/dist/types/src/PipelinePlugin.d.ts.map +1 -1
  37. package/dist/types/src/PipelinePlugin.node.d.ts.map +1 -1
  38. package/dist/types/src/PipelinePlugin.workerd.d.ts +4 -0
  39. package/dist/types/src/PipelinePlugin.workerd.d.ts.map +1 -0
  40. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  41. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  42. package/dist/types/src/capabilities/index.d.ts +6 -0
  43. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  44. package/dist/types/src/components/PipelineComponent/PipelineComponent.stories.d.ts.map +1 -1
  45. package/dist/types/src/containers/PipelineArticle/PipelineArticle.d.ts +6 -0
  46. package/dist/types/src/containers/PipelineArticle/PipelineArticle.d.ts.map +1 -0
  47. package/dist/types/src/containers/{PipelineContainer/PipelineContainer.stories.d.ts → PipelineArticle/PipelineArticle.stories.d.ts} +1 -1
  48. package/dist/types/src/containers/PipelineArticle/PipelineArticle.stories.d.ts.map +1 -0
  49. package/dist/types/src/containers/PipelineArticle/index.d.ts +2 -0
  50. package/dist/types/src/containers/PipelineArticle/index.d.ts.map +1 -0
  51. package/dist/types/src/containers/index.d.ts +1 -1
  52. package/dist/types/src/containers/index.d.ts.map +1 -1
  53. package/dist/types/src/index.d.ts +0 -2
  54. package/dist/types/src/index.d.ts.map +1 -1
  55. package/dist/types/src/plugin.d.ts +3 -0
  56. package/dist/types/src/plugin.d.ts.map +1 -0
  57. package/dist/types/tsconfig.tsbuildinfo +1 -1
  58. package/package.json +93 -60
  59. package/src/PipelinePlugin.node.ts +2 -27
  60. package/src/PipelinePlugin.test.ts +3 -3
  61. package/src/PipelinePlugin.tsx +2 -28
  62. package/src/PipelinePlugin.workerd.ts +16 -0
  63. package/src/capabilities/create-object.ts +29 -0
  64. package/src/capabilities/index.ts +1 -0
  65. package/src/capabilities/react-surface.tsx +2 -2
  66. package/src/components/PipelineComponent/PipelineColumn.tsx +9 -9
  67. package/src/components/PipelineComponent/PipelineComponent.stories.tsx +1 -3
  68. package/src/containers/{PipelineContainer/PipelineContainer.stories.tsx → PipelineArticle/PipelineArticle.stories.tsx} +15 -17
  69. package/src/containers/{PipelineContainer/PipelineContainer.tsx → PipelineArticle/PipelineArticle.tsx} +2 -2
  70. package/src/containers/PipelineArticle/index.ts +5 -0
  71. package/src/containers/PipelineProperties/PipelineProperties.tsx +23 -23
  72. package/src/containers/index.ts +1 -1
  73. package/src/index.ts +0 -6
  74. package/src/plugin.ts +9 -0
  75. package/src/templates/research.ts +2 -2
  76. package/dist/lib/browser/index.mjs.map +0 -7
  77. package/dist/lib/browser/meta.json +0 -1
  78. package/dist/types/src/containers/PipelineContainer/PipelineContainer.d.ts +0 -6
  79. package/dist/types/src/containers/PipelineContainer/PipelineContainer.d.ts.map +0 -1
  80. package/dist/types/src/containers/PipelineContainer/PipelineContainer.stories.d.ts.map +0 -1
  81. package/dist/types/src/containers/PipelineContainer/index.d.ts +0 -2
  82. package/dist/types/src/containers/PipelineContainer/index.d.ts.map +0 -1
  83. package/src/containers/PipelineContainer/index.ts +0 -5
  84. /package/dist/lib/{browser/types → neutral}/index.mjs.map +0 -0
  85. /package/dist/lib/{browser → neutral}/translations.mjs +0 -0
  86. /package/dist/lib/{browser → neutral}/translations.mjs.map +0 -0
  87. /package/dist/lib/{browser → neutral}/types/index.mjs +0 -0
@@ -9,13 +9,13 @@ import { resolveSchemaWithRegistry } from '@dxos/app-toolkit/query';
9
9
  import { useTypeOptions } from '@dxos/app-toolkit/ui';
10
10
  import { DXN, Filter, JsonSchema, Obj, Query, type QueryAST, Ref, Tag } from '@dxos/echo';
11
11
  import { type JsonPath, type Mutable } from '@dxos/echo/internal';
12
- import { getSpace, useObject, useQuery } from '@dxos/react-client/echo';
12
+ import { useObject, useQuery } from '@dxos/react-client/echo';
13
13
  import { IconButton, type ThemedClassName, useAsyncEffect, useTranslation } from '@dxos/react-ui';
14
14
  import { Form, ViewEditor } from '@dxos/react-ui-form';
15
15
  import { List } from '@dxos/react-ui-list';
16
16
  import { type ProjectionModel, ViewModel } from '@dxos/schema';
17
17
  import { Pipeline } from '@dxos/types';
18
- import { mx, osTranslations, subtleHover } from '@dxos/ui-theme';
18
+ import { mx, osTranslations } from '@dxos/ui-theme';
19
19
  import { arrayMove } from '@dxos/util';
20
20
 
21
21
  import { meta } from '#meta';
@@ -34,7 +34,7 @@ export type PipelinePropertiesProps = ThemedClassName<{
34
34
  */
35
35
  export const PipelineProperties = ({ classNames, pipeline }: PipelinePropertiesProps) => {
36
36
  const { t } = useTranslation(meta.id);
37
- const space = getSpace(pipeline);
37
+ const db = Obj.getDatabase(pipeline);
38
38
  const [expandedId, setExpandedId] = useState<string>();
39
39
  const [columns, updateColumns] = useObject(pipeline, 'columns');
40
40
  const column = useMemo(
@@ -44,9 +44,9 @@ export const PipelineProperties = ({ classNames, pipeline }: PipelinePropertiesP
44
44
  const [view, updateView] = useObject(column?.view);
45
45
  const [schema, setSchema] = useState<Schema.Schema.AnyNoContext>(() => Schema.Struct({}));
46
46
  const projectionRef = useRef<ProjectionModel>(null);
47
- const tags = useQuery(space?.db, Filter.type(Tag.Tag));
47
+ const tags = useQuery(db, Filter.type(Tag.Tag));
48
48
  const types = useTypeOptions({
49
- space,
49
+ db,
50
50
  annotation: {
51
51
  location: ['database', 'runtime'],
52
52
  kind: ['user'],
@@ -54,15 +54,15 @@ export const PipelineProperties = ({ classNames, pipeline }: PipelinePropertiesP
54
54
  });
55
55
 
56
56
  useAsyncEffect(async () => {
57
- if (!view?.query || !space) {
57
+ if (!view?.query || !db) {
58
58
  return;
59
59
  }
60
60
 
61
- const foundSchema = await resolveSchemaWithRegistry(space.db.schemaRegistry, view.query.ast);
61
+ const foundSchema = await resolveSchemaWithRegistry(db.schemaRegistry, view.query.ast);
62
62
  if (foundSchema && foundSchema !== schema) {
63
63
  setSchema(() => foundSchema);
64
64
  }
65
- }, [space, view, schema]);
65
+ }, [db, view, schema]);
66
66
 
67
67
  const handleMove = useCallback(
68
68
  (fromIndex: number, toIndex: number) =>
@@ -74,16 +74,16 @@ export const PipelineProperties = ({ classNames, pipeline }: PipelinePropertiesP
74
74
 
75
75
  const handleQueryChanged = useCallback(
76
76
  async (newQuery: QueryAST.Query, target?: string) => {
77
- if (!view || !space) {
77
+ if (!view || !db) {
78
78
  return;
79
79
  }
80
80
 
81
81
  const queue = target && DXN.tryParse(target) ? target : undefined;
82
- const query = queue ? Query.fromAst(newQuery).from({ queues: [queue] }) : Query.fromAst(newQuery);
82
+ const query = queue ? Query.fromAst(newQuery).from({ feeds: [queue] }) : Query.fromAst(newQuery);
83
83
  updateView((view) => {
84
84
  view.query.ast = query.ast as Mutable<typeof query.ast>;
85
85
  });
86
- const newSchema = await resolveSchemaWithRegistry(space.db.schemaRegistry, query.ast);
86
+ const newSchema = await resolveSchemaWithRegistry(db.schemaRegistry, query.ast);
87
87
  if (!newSchema) {
88
88
  return;
89
89
  }
@@ -98,7 +98,7 @@ export const PipelineProperties = ({ classNames, pipeline }: PipelinePropertiesP
98
98
 
99
99
  setSchema(() => newSchema);
100
100
  },
101
- [view, updateView, schema],
101
+ [db, view, updateView, schema],
102
102
  );
103
103
 
104
104
  const handleColumnValuesChanged = useCallback(
@@ -134,20 +134,20 @@ export const PipelineProperties = ({ classNames, pipeline }: PipelinePropertiesP
134
134
  updateColumns((columns) => {
135
135
  columns.splice(index, 1);
136
136
  });
137
- space?.db.remove(viewToRemove);
137
+ db?.remove(viewToRemove);
138
138
  },
139
- [expandedId, columns, updateColumns, space],
139
+ [expandedId, columns, updateColumns, db],
140
140
  );
141
141
 
142
142
  const handleAdd = useCallback(() => {
143
- if (!space) {
143
+ if (!db) {
144
144
  return;
145
145
  }
146
146
  const newView = ViewModel.make({
147
147
  query: Query.select(Filter.nothing()),
148
148
  jsonSchema: JsonSchema.toJsonSchema(Schema.Struct({})),
149
149
  });
150
- space.db.add(newView);
150
+ db.add(newView);
151
151
  updateColumns((columns) => {
152
152
  columns.push({
153
153
  name: '',
@@ -157,10 +157,10 @@ export const PipelineProperties = ({ classNames, pipeline }: PipelinePropertiesP
157
157
  });
158
158
  });
159
159
  setExpandedId(newView.id);
160
- }, [space, updateColumns]);
160
+ }, [db, updateColumns]);
161
161
 
162
162
  return (
163
- <div role='none' className={mx('py-form-padding overflow-y-auto', classNames)}>
163
+ <div className={mx('py-form-padding overflow-y-auto', classNames)}>
164
164
  <h2 className='text-sm text-description py-1'>{t('views.label')}</h2>
165
165
 
166
166
  <List.Root<Pipeline.Column>
@@ -179,7 +179,7 @@ export const PipelineProperties = ({ classNames, pipeline }: PipelinePropertiesP
179
179
  classNames={listItemGrid}
180
180
  aria-expanded={expandedId === column.view.dxn.toString()}
181
181
  >
182
- <div role='none' className={mx(subtleHover, listItemGrid, 'rounded-xs cursor-pointer min-h-10')}>
182
+ <div className={mx(listItemGrid, 'dx-hover rounded-xs cursor-pointer min-h-10')}>
183
183
  <List.ItemDragHandle />
184
184
  <List.ItemTitle onClick={() => handleToggleField(column)}>
185
185
  {column.name || t('untitled-view.title')}
@@ -203,7 +203,7 @@ export const PipelineProperties = ({ classNames, pipeline }: PipelinePropertiesP
203
203
  />
204
204
  </div>
205
205
  {expandedId === column.view.dxn.toString() && column?.view.target && (
206
- <div role='none' className='col-span-5 my-2 border border-separator rounded-md'>
206
+ <div className='col-span-5 my-2 border border-separator rounded-md'>
207
207
  <Form.Root
208
208
  schema={ColumnFormSchema}
209
209
  values={column}
@@ -219,8 +219,8 @@ export const PipelineProperties = ({ classNames, pipeline }: PipelinePropertiesP
219
219
  readonly
220
220
  schema={schema}
221
221
  view={column.view.target}
222
- registry={space?.db.schemaRegistry}
223
- db={space?.db}
222
+ registry={db?.schemaRegistry}
223
+ db={db}
224
224
  tags={tags}
225
225
  types={types}
226
226
  onQueryChanged={handleQueryChanged}
@@ -234,7 +234,7 @@ export const PipelineProperties = ({ classNames, pipeline }: PipelinePropertiesP
234
234
  )}
235
235
  </List.Root>
236
236
 
237
- <div role='none' className='my-form-padding'>
237
+ <div className='my-form-padding'>
238
238
  <IconButton icon='ph--plus--regular' label={t('add-view.label')} onClick={handleAdd} classNames='w-full' />
239
239
  </div>
240
240
  </div>
@@ -4,5 +4,5 @@
4
4
 
5
5
  import { type ComponentType, lazy } from 'react';
6
6
 
7
- export const PipelineContainer: ComponentType<any> = lazy(() => import('./PipelineContainer'));
7
+ export const PipelineArticle: ComponentType<any> = lazy(() => import('./PipelineArticle'));
8
8
  export const PipelineProperties: ComponentType<any> = lazy(() => import('./PipelineProperties'));
package/src/index.ts CHANGED
@@ -2,10 +2,4 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { Plugin } from '@dxos/app-framework';
6
-
7
- import { meta } from './meta';
8
-
9
- export const PipelinePlugin = Plugin.lazy(meta, () => import('#plugin'));
10
-
11
5
  export * from './meta';
package/src/plugin.ts ADDED
@@ -0,0 +1,9 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { Plugin } from '@dxos/app-framework';
6
+
7
+ import { meta } from './meta';
8
+
9
+ export const PipelinePlugin = Plugin.lazy(meta, () => import('#plugin'));
@@ -3,8 +3,8 @@
3
3
  //
4
4
 
5
5
  import { type Database, Filter, JsonSchema, Query, Ref } from '@dxos/echo';
6
- import { Mailbox } from '@dxos/plugin-inbox/types';
7
- import { Markdown } from '@dxos/plugin-markdown/types';
6
+ import { Mailbox } from '@dxos/plugin-inbox';
7
+ import { Markdown } from '@dxos/plugin-markdown';
8
8
  import { ViewModel } from '@dxos/schema';
9
9
  import { Message, Organization, Person, Pipeline } from '@dxos/types';
10
10
 
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/index.ts", "../../../src/meta.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport const PipelinePlugin = Plugin.lazy(meta, () => import('#plugin'));\n\nexport * from './meta';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.plugin.pipeline',\n name: 'Pipelines',\n description: trim`\n Pipelines for organizing tasks, milestones, and deliverables.\n Track progress across multiple pipelines and coordinate team activities in a structured environment.\n `,\n icon: 'ph--path--regular',\n iconHue: 'purple',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-pipeline',\n tags: ['labs'],\n};\n"],
5
- "mappings": ";AAIA,SAASA,cAAc;;;ACCvB,SAASC,YAAY;AAEd,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaJ;;;;EAIbK,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,MAAM;IAAC;;AACT;;;ADVO,IAAMC,iBAAiBC,OAAOC,KAAKC,MAAM,MAAM,OAAO,SAAA,CAAA;",
6
- "names": ["Plugin", "trim", "meta", "id", "name", "description", "icon", "iconHue", "source", "tags", "PipelinePlugin", "Plugin", "lazy", "meta"]
7
- }
@@ -1 +0,0 @@
1
- {"inputs":{"src/meta.ts":{"bytes":1832,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":945,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"#plugin","kind":"dynamic-import","external":true}],"format":"esm"},"src/translations.ts":{"bytes":4002,"imports":[{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/types/index.ts":{"bytes":288,"imports":[],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1290},"dist/lib/browser/index.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"#plugin","kind":"dynamic-import","external":true}],"exports":["PipelinePlugin","meta"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":111},"src/meta.ts":{"bytesInOutput":463}},"bytes":695},"dist/lib/browser/translations.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1877},"dist/lib/browser/translations.mjs":{"imports":[{"path":"@dxos/types","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"exports":["translations"],"entryPoint":"src/translations.ts","inputs":{"src/translations.ts":{"bytesInOutput":1117}},"bytes":1209},"dist/lib/browser/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/types/index.mjs":{"imports":[],"exports":[],"entryPoint":"src/types/index.ts","inputs":{"src/types/index.ts":{"bytesInOutput":0}},"bytes":35}}}
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- import { AppSurface } from '@dxos/app-toolkit/ui';
3
- import { type Pipeline } from '@dxos/types';
4
- export type PipelineContainerProps = AppSurface.ObjectArticleProps<Pipeline.Pipeline>;
5
- export declare const PipelineContainer: ({ role, subject: pipeline, attendableId }: PipelineContainerProps) => React.JSX.Element;
6
- //# sourceMappingURL=PipelineContainer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PipelineContainer.d.ts","sourceRoot":"","sources":["../../../../../src/containers/PipelineContainer/PipelineContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAiC,MAAM,OAAO,CAAC;AAKtD,OAAO,EACL,UAAU,EAIX,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAO5C,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAEtF,eAAO,MAAM,iBAAiB,8CAA+C,sBAAsB,sBA4BlG,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PipelineContainer.stories.d.ts","sourceRoot":"","sources":["../../../../../src/containers/PipelineContainer/PipelineContainer.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjE,OAAO,KAAK,MAAM,OAAO,CAAC;AA4C1B,QAAA,MAAM,IAAI;;;;;QAyKN,MAAM;QACN,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAE0B,CAAC;eAE5B,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
@@ -1,2 +0,0 @@
1
- export { PipelineContainer as default } from './PipelineContainer';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/containers/PipelineContainer/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,5 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- export { PipelineContainer as default } from './PipelineContainer';
File without changes
File without changes