@dxos/plugin-kanban 0.8.2-main.36232bc → 0.8.2-main.5885341

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 (75) hide show
  1. package/dist/lib/browser/{artifact-definition-SVNHDJQT.mjs → artifact-definition-OSLO5B6P.mjs} +2 -2
  2. package/dist/lib/browser/{chunk-K5BYEZ4Z.mjs → chunk-3MVG4VGQ.mjs} +2 -13
  3. package/dist/lib/browser/chunk-3MVG4VGQ.mjs.map +7 -0
  4. package/dist/lib/browser/index.mjs +4 -4
  5. package/dist/lib/browser/intent-resolver-OFEXRD4O.mjs +296 -0
  6. package/dist/lib/browser/intent-resolver-OFEXRD4O.mjs.map +7 -0
  7. package/dist/lib/browser/meta.json +1 -1
  8. package/dist/lib/browser/{react-surface-R25PYWQV.mjs → react-surface-RJ5WMSWU.mjs} +56 -26
  9. package/dist/lib/browser/react-surface-RJ5WMSWU.mjs.map +7 -0
  10. package/dist/lib/browser/types.mjs +1 -3
  11. package/dist/lib/node/{artifact-definition-M2XAYUI2.cjs → artifact-definition-ZOUZLESK.cjs} +11 -11
  12. package/dist/lib/node/{chunk-3EUR6ZR2.cjs → chunk-ZRCL6XVF.cjs} +4 -16
  13. package/dist/lib/node/chunk-ZRCL6XVF.cjs.map +7 -0
  14. package/dist/lib/node/index.cjs +16 -16
  15. package/dist/lib/node/intent-resolver-BCCCN7LD.cjs +307 -0
  16. package/dist/lib/node/intent-resolver-BCCCN7LD.cjs.map +7 -0
  17. package/dist/lib/node/meta.json +1 -1
  18. package/dist/lib/node/{react-surface-FVM64YAQ.cjs → react-surface-LQ7CQFWF.cjs} +61 -31
  19. package/dist/lib/node/react-surface-LQ7CQFWF.cjs.map +7 -0
  20. package/dist/lib/node/types.cjs +6 -8
  21. package/dist/lib/node/types.cjs.map +2 -2
  22. package/dist/lib/node-esm/{artifact-definition-HQ5I2OO5.mjs → artifact-definition-A7GJP5BI.mjs} +2 -2
  23. package/dist/lib/node-esm/{chunk-2N7CO3DI.mjs → chunk-ZJJYPR6C.mjs} +2 -13
  24. package/dist/lib/node-esm/chunk-ZJJYPR6C.mjs.map +7 -0
  25. package/dist/lib/node-esm/index.mjs +4 -4
  26. package/dist/lib/node-esm/intent-resolver-4LPFRDUP.mjs +297 -0
  27. package/dist/lib/node-esm/intent-resolver-4LPFRDUP.mjs.map +7 -0
  28. package/dist/lib/node-esm/meta.json +1 -1
  29. package/dist/lib/node-esm/{react-surface-LZ7MP3CQ.mjs → react-surface-C7CETLHO.mjs} +56 -26
  30. package/dist/lib/node-esm/react-surface-C7CETLHO.mjs.map +7 -0
  31. package/dist/lib/node-esm/types.mjs +1 -3
  32. package/dist/types/src/capabilities/index.d.ts +1 -1
  33. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  34. package/dist/types/src/capabilities/intent-resolver.d.ts +2 -2
  35. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  36. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  37. package/dist/types/src/components/KanbanContainer.d.ts.map +1 -1
  38. package/dist/types/src/components/KanbanContainer.stories.d.ts +10 -0
  39. package/dist/types/src/components/KanbanContainer.stories.d.ts.map +1 -0
  40. package/dist/types/src/testing/index.d.ts +3 -0
  41. package/dist/types/src/testing/index.d.ts.map +1 -0
  42. package/dist/types/src/testing/initialize-kanban.d.ts +17 -0
  43. package/dist/types/src/testing/initialize-kanban.d.ts.map +1 -0
  44. package/dist/types/src/testing/kanban-manager.d.ts +7 -0
  45. package/dist/types/src/testing/kanban-manager.d.ts.map +1 -0
  46. package/dist/types/src/testing/playwright/smoke.spec.d.ts +2 -0
  47. package/dist/types/src/testing/playwright/smoke.spec.d.ts.map +1 -0
  48. package/dist/types/src/types.d.ts +1 -8
  49. package/dist/types/src/types.d.ts.map +1 -1
  50. package/package.json +27 -24
  51. package/src/capabilities/intent-resolver.ts +10 -6
  52. package/src/capabilities/react-surface.tsx +37 -8
  53. package/src/components/KanbanContainer.stories.tsx +186 -0
  54. package/src/components/KanbanContainer.tsx +21 -8
  55. package/src/testing/index.ts +6 -0
  56. package/src/testing/initialize-kanban.ts +139 -0
  57. package/src/testing/kanban-manager.ts +13 -0
  58. package/src/testing/playwright/playwright.config.cts +18 -0
  59. package/src/testing/playwright/smoke.spec.ts +7 -0
  60. package/src/types.ts +1 -17
  61. package/dist/lib/browser/chunk-K5BYEZ4Z.mjs.map +0 -7
  62. package/dist/lib/browser/intent-resolver-XCDQ5N3Q.mjs +0 -132
  63. package/dist/lib/browser/intent-resolver-XCDQ5N3Q.mjs.map +0 -7
  64. package/dist/lib/browser/react-surface-R25PYWQV.mjs.map +0 -7
  65. package/dist/lib/node/chunk-3EUR6ZR2.cjs.map +0 -7
  66. package/dist/lib/node/intent-resolver-P3PSZO7H.cjs +0 -146
  67. package/dist/lib/node/intent-resolver-P3PSZO7H.cjs.map +0 -7
  68. package/dist/lib/node/react-surface-FVM64YAQ.cjs.map +0 -7
  69. package/dist/lib/node-esm/chunk-2N7CO3DI.mjs.map +0 -7
  70. package/dist/lib/node-esm/intent-resolver-4G47V67J.mjs +0 -133
  71. package/dist/lib/node-esm/intent-resolver-4G47V67J.mjs.map +0 -7
  72. package/dist/lib/node-esm/react-surface-LZ7MP3CQ.mjs.map +0 -7
  73. /package/dist/lib/browser/{artifact-definition-SVNHDJQT.mjs.map → artifact-definition-OSLO5B6P.mjs.map} +0 -0
  74. /package/dist/lib/node/{artifact-definition-M2XAYUI2.cjs.map → artifact-definition-ZOUZLESK.cjs.map} +0 -0
  75. /package/dist/lib/node-esm/{artifact-definition-HQ5I2OO5.mjs.map → artifact-definition-A7GJP5BI.mjs.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  KanbanAction,
3
3
  meta
4
- } from "./chunk-K5BYEZ4Z.mjs";
4
+ } from "./chunk-3MVG4VGQ.mjs";
5
5
 
6
6
  // packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts
7
7
  import { pipe } from "effect";
@@ -174,4 +174,4 @@ var artifact_definition_default = () => {
174
174
  export {
175
175
  artifact_definition_default as default
176
176
  };
177
- //# sourceMappingURL=artifact-definition-SVNHDJQT.mjs.map
177
+ //# sourceMappingURL=artifact-definition-OSLO5B6P.mjs.map
@@ -3,7 +3,6 @@ import { TitleAnnotationId } from "effect/SchemaAST";
3
3
  import { S } from "@dxos/echo-schema";
4
4
  import { SpaceSchema } from "@dxos/react-client/echo";
5
5
  import { KanbanType } from "@dxos/react-ui-kanban";
6
- import { initializeKanban } from "@dxos/react-ui-kanban/testing";
7
6
  import { FieldSchema } from "@dxos/schema";
8
7
 
9
8
  // packages/plugins/plugin-kanban/src/meta.ts
@@ -76,15 +75,6 @@ var KanbanAction;
76
75
  KanbanAction2.DeleteCard = DeleteCard;
77
76
  })(KanbanAction || (KanbanAction = {}));
78
77
  var isKanban = (object) => object != null && object instanceof KanbanType;
79
- var createKanban = async ({ space, name, typename, initialPivotColumn }) => {
80
- const { kanban } = await initializeKanban({
81
- space,
82
- name,
83
- typename,
84
- initialPivotColumn
85
- });
86
- return kanban;
87
- };
88
78
 
89
79
  export {
90
80
  KANBAN_PLUGIN,
@@ -93,7 +83,6 @@ export {
93
83
  PivotColumnAnnotationId,
94
84
  CreateKanbanSchema,
95
85
  KanbanAction,
96
- isKanban,
97
- createKanban
86
+ isKanban
98
87
  };
99
- //# sourceMappingURL=chunk-K5BYEZ4Z.mjs.map
88
+ //# sourceMappingURL=chunk-3MVG4VGQ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types.ts", "../../../src/meta.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { TitleAnnotationId } from 'effect/SchemaAST';\n\nimport { S } from '@dxos/echo-schema';\nimport { SpaceSchema } from '@dxos/react-client/echo';\nimport { KanbanType } from '@dxos/react-ui-kanban';\nimport { FieldSchema } from '@dxos/schema';\n\nimport { KANBAN_PLUGIN } from './meta';\n\n/**\n * Kanban data model.\n * A Kanban board is a collection of columns, each of which contains a collection of items.\n * The layout of columns and items is controlled by models.\n * The underlying data model may be represented by direct object relationships\n * (e.g., a column object containing an array of ordered items) or projections constructed\n * by the model (e.g., a query of items based on metadata within a column object).\n */\n\n// TODO(burdon): Move to FormatEnum or SDK.\nexport const TypenameAnnotationId = Symbol.for('@dxos/plugin-kanban/annotation/Typename');\nexport const PivotColumnAnnotationId = Symbol.for('@dxos/plugin-kanban/annotation/PivotColumn');\n\nexport const CreateKanbanSchema = S.Struct({\n name: S.optional(S.String),\n typename: S.optional(\n S.String.annotations({\n [TypenameAnnotationId]: true,\n [TitleAnnotationId]: 'Select card schema (leave empty to start fresh)',\n }),\n ),\n initialPivotColumn: S.optional(\n S.String.annotations({\n [PivotColumnAnnotationId]: true,\n [TitleAnnotationId]: 'Pivot column',\n }),\n ),\n});\n\nexport type CreateKanbanType = S.Schema.Type<typeof CreateKanbanSchema>;\n\nexport namespace KanbanAction {\n const KANBAN_ACTION = `${KANBAN_PLUGIN}/action`;\n\n export class Create extends S.TaggedClass<Create>()(`${KANBAN_ACTION}/create`, {\n input: S.extend(S.Struct({ space: SpaceSchema }), CreateKanbanSchema),\n output: S.Struct({\n object: KanbanType,\n }),\n }) {}\n\n export class DeleteCardField extends S.TaggedClass<DeleteCardField>()(`${KANBAN_ACTION}/delete-card-field`, {\n input: S.Struct({\n kanban: KanbanType,\n fieldId: S.String,\n // TODO(wittjosiah): Separate fields for undo data?\n deletionData: S.optional(\n S.Struct({\n field: FieldSchema,\n // TODO(wittjosiah): This creates a type error.\n // props: PropertySchema,\n props: S.Any,\n index: S.Number,\n }),\n ),\n }),\n output: S.Void,\n }) {}\n\n export class DeleteCard extends S.TaggedClass<DeleteCard>()(`${KANBAN_ACTION}/delete-card`, {\n input: S.Struct({\n card: S.Any, // The card object to delete\n }),\n output: S.Void,\n }) {}\n}\n\n// TODO(burdon): Undo?\n// TODO(burdon): Typescript types (replace proto with annotations?)\n// TODO(burdon): Should pure components depend on ECHO? Relationship between ECHO object/array and Observable.\n// TODO(burdon): Can the plugin configure the object based on the data? E.g., how are the models constructed?\n// TODO(burdon): Create models. Simple first based on actual data.\n// Model is always a projection since the dragging state is tentative.\n\n// TODO(burdon): Extend model for moving items (in and across columns).\nexport interface KanbanModel {\n root: KanbanType;\n}\n\nexport type Location = {\n idx?: number;\n};\n\nexport const isKanban = (object: unknown): object is KanbanType => object != null && object instanceof KanbanType;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const KANBAN_PLUGIN = 'dxos.org/plugin/kanban';\n\nexport const meta: PluginMeta = {\n id: KANBAN_PLUGIN,\n name: 'Kanban',\n description:\n 'Kanban allows you to explore Table data in sorted columns defined by your custom schema. You can use Kanbans to track progress or trigger custom automations when cards are moved from one state to another.',\n icon: 'ph--kanban--regular',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/experimental/plugin-kanban',\n tags: ['experimental'],\n screenshots: ['https://dxos.network/plugin-details-kanban-dark.png'],\n};\n"],
5
+ "mappings": ";AAIA,SAASA,yBAAyB;AAElC,SAASC,SAAS;AAClB,SAASC,mBAAmB;AAC5B,SAASC,kBAAkB;AAC3B,SAASC,mBAAmB;;;ACHrB,IAAMC,gBAAgB;AAEtB,IAAMC,OAAmB;EAC9BC,IAAIF;EACJG,MAAM;EACNC,aACE;EACFC,MAAM;EACNC,QAAQ;EACRC,MAAM;IAAC;;EACPC,aAAa;IAAC;;AAChB;;;ADMO,IAAMC,uBAAuBC,OAAOC,IAAI,yCAAA;AACxC,IAAMC,0BAA0BF,OAAOC,IAAI,4CAAA;AAE3C,IAAME,qBAAqBC,EAAEC,OAAO;EACzCC,MAAMF,EAAEG,SAASH,EAAEI,MAAM;EACzBC,UAAUL,EAAEG,SACVH,EAAEI,OAAOE,YAAY;IACnB,CAACX,oBAAAA,GAAuB;IACxB,CAACY,iBAAAA,GAAoB;EACvB,CAAA,CAAA;EAEFC,oBAAoBR,EAAEG,SACpBH,EAAEI,OAAOE,YAAY;IACnB,CAACR,uBAAAA,GAA0B;IAC3B,CAACS,iBAAAA,GAAoB;EACvB,CAAA,CAAA;AAEJ,CAAA;;UAIiBE,eAAAA;AACf,QAAMC,gBAAgB,GAAGC,aAAAA;EAElB,MAAMC,eAAeZ,EAAEa,YAAW,EAAW,GAAGH,aAAAA,WAAwB;IAC7EI,OAAOd,EAAEe,OAAOf,EAAEC,OAAO;MAAEe,OAAOC;IAAY,CAAA,GAAIlB,kBAAAA;IAClDmB,QAAQlB,EAAEC,OAAO;MACfkB,QAAQC;IACV,CAAA;EACF,CAAA,EAAA;EAAI;gBALSR,SAAAA;EAON,MAAMS,wBAAwBrB,EAAEa,YAAW,EAAoB,GAAGH,aAAAA,sBAAmC;IAC1GI,OAAOd,EAAEC,OAAO;MACdqB,QAAQF;MACRG,SAASvB,EAAEI;;MAEXoB,cAAcxB,EAAEG,SACdH,EAAEC,OAAO;QACPwB,OAAOC;;;QAGPC,OAAO3B,EAAE4B;QACTC,OAAO7B,EAAE8B;MACX,CAAA,CAAA;IAEJ,CAAA;IACAZ,QAAQlB,EAAE+B;EACZ,CAAA,EAAA;EAAI;gBAhBSV,kBAAAA;EAkBN,MAAMW,mBAAmBhC,EAAEa,YAAW,EAAe,GAAGH,aAAAA,gBAA6B;IAC1FI,OAAOd,EAAEC,OAAO;MACdgC,MAAMjC,EAAE4B;IACV,CAAA;IACAV,QAAQlB,EAAE+B;EACZ,CAAA,EAAA;EAAI;gBALSC,aAAAA;AAMf,GAlCiBvB,iBAAAA,eAAAA,CAAAA,EAAAA;AAoDV,IAAMyB,WAAW,CAACf,WAA0CA,UAAU,QAAQA,kBAAkBC;",
6
+ "names": ["TitleAnnotationId", "S", "SpaceSchema", "KanbanType", "FieldSchema", "KANBAN_PLUGIN", "meta", "id", "name", "description", "icon", "source", "tags", "screenshots", "TypenameAnnotationId", "Symbol", "for", "PivotColumnAnnotationId", "CreateKanbanSchema", "S", "Struct", "name", "optional", "String", "typename", "annotations", "TitleAnnotationId", "initialPivotColumn", "KanbanAction", "KANBAN_ACTION", "KANBAN_PLUGIN", "Create", "TaggedClass", "input", "extend", "space", "SpaceSchema", "output", "object", "KanbanType", "DeleteCardField", "kanban", "fieldId", "deletionData", "field", "FieldSchema", "props", "Any", "index", "Number", "Void", "DeleteCard", "card", "isKanban"]
7
+ }
@@ -3,7 +3,7 @@ import {
3
3
  KANBAN_PLUGIN,
4
4
  KanbanAction,
5
5
  meta
6
- } from "./chunk-K5BYEZ4Z.mjs";
6
+ } from "./chunk-3MVG4VGQ.mjs";
7
7
 
8
8
  // packages/plugins/plugin-kanban/src/KanbanPlugin.tsx
9
9
  import { createIntent, defineModule, contributes, Capabilities, Events, definePlugin } from "@dxos/app-framework";
@@ -14,9 +14,9 @@ import { KanbanType as KanbanType2, translations as kanbanTranslations } from "@
14
14
 
15
15
  // packages/plugins/plugin-kanban/src/capabilities/index.ts
16
16
  import { lazy } from "@dxos/app-framework";
17
- var ArtifactDefinition = lazy(() => import("./artifact-definition-SVNHDJQT.mjs"));
18
- var IntentResolver = lazy(() => import("./intent-resolver-XCDQ5N3Q.mjs"));
19
- var ReactSurface = lazy(() => import("./react-surface-R25PYWQV.mjs"));
17
+ var ArtifactDefinition = lazy(() => import("./artifact-definition-OSLO5B6P.mjs"));
18
+ var IntentResolver = lazy(() => import("./intent-resolver-OFEXRD4O.mjs"));
19
+ var ReactSurface = lazy(() => import("./react-surface-RJ5WMSWU.mjs"));
20
20
 
21
21
  // packages/plugins/plugin-kanban/src/translations.ts
22
22
  import { KanbanType } from "@dxos/react-ui-kanban";
@@ -0,0 +1,296 @@
1
+ import {
2
+ KANBAN_PLUGIN,
3
+ KanbanAction
4
+ } from "./chunk-3MVG4VGQ.mjs";
5
+
6
+ // packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts
7
+ import { contributes, Capabilities, createResolver } from "@dxos/app-framework";
8
+ import { invariant as invariant2 } from "@dxos/invariant";
9
+ import { ClientCapabilities } from "@dxos/plugin-client";
10
+ import { getSpace } from "@dxos/react-client/echo";
11
+ import { ViewProjection as ViewProjection2 } from "@dxos/schema";
12
+
13
+ // packages/plugins/plugin-kanban/src/testing/initialize-kanban.ts
14
+ import { AST, S, TypedObject, FormatEnum, TypeEnum, getTypenameOrThrow, toJsonSchema } from "@dxos/echo-schema";
15
+ import { invariant } from "@dxos/invariant";
16
+ import { PublicKey } from "@dxos/react-client";
17
+ import { live, makeRef } from "@dxos/react-client/echo";
18
+ import { KanbanType } from "@dxos/react-ui-kanban";
19
+ import { createView, ViewProjection, createFieldId, getSchemaProperties } from "@dxos/schema";
20
+ import { capitalize } from "@dxos/util";
21
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-kanban/src/testing/initialize-kanban.ts";
22
+ var createDefaultTaskSchema = () => {
23
+ const stateOptions = [
24
+ {
25
+ id: PublicKey.random().truncate(),
26
+ title: "Draft",
27
+ color: "indigo"
28
+ },
29
+ {
30
+ id: PublicKey.random().truncate(),
31
+ title: "Active",
32
+ color: "cyan"
33
+ },
34
+ {
35
+ id: PublicKey.random().truncate(),
36
+ title: "Completed",
37
+ color: "emerald"
38
+ }
39
+ ];
40
+ const schema = TypedObject({
41
+ typename: `example.com/type/${PublicKey.random().truncate()}`,
42
+ version: "0.1.0"
43
+ })({
44
+ title: S.optional(S.String).annotations({
45
+ [AST.TitleAnnotationId]: "Title"
46
+ }),
47
+ description: S.optional(S.String).annotations({
48
+ [AST.TitleAnnotationId]: "Description"
49
+ }),
50
+ state: S.optional(S.String)
51
+ });
52
+ return {
53
+ schema,
54
+ stateOptions
55
+ };
56
+ };
57
+ var initializeKanban = async ({ client, space, name, typename, initialPivotColumn }) => {
58
+ if (typename) {
59
+ const staticSchema = client.graph.schemaRegistry.schemas.find((schema2) => getTypenameOrThrow(schema2) === typename);
60
+ const schema = await space.db.schemaRegistry.query({
61
+ typename
62
+ }).firstOrUndefined();
63
+ const ast = staticSchema?.ast ?? schema?.ast;
64
+ const jsonSchema = staticSchema ? toJsonSchema(staticSchema) : schema?.jsonSchema;
65
+ invariant(ast, `Schema not found: ${typename}`, {
66
+ F: __dxlog_file,
67
+ L: 69,
68
+ S: void 0,
69
+ A: [
70
+ "ast",
71
+ "`Schema not found: ${typename}`"
72
+ ]
73
+ });
74
+ invariant(jsonSchema, `Schema not found: ${typename}`, {
75
+ F: __dxlog_file,
76
+ L: 70,
77
+ S: void 0,
78
+ A: [
79
+ "jsonSchema",
80
+ "`Schema not found: ${typename}`"
81
+ ]
82
+ });
83
+ const fields = getSchemaProperties(ast).filter((prop) => prop.type !== "object" || prop.format === FormatEnum.Ref).map((prop) => prop.name);
84
+ const view = createView({
85
+ name: "Kanban's card view",
86
+ typename,
87
+ jsonSchema,
88
+ fields
89
+ });
90
+ const kanban = live(KanbanType, {
91
+ cardView: makeRef(view),
92
+ columnFieldId: void 0,
93
+ name
94
+ });
95
+ if (initialPivotColumn) {
96
+ const viewProjection = new ViewProjection(jsonSchema, view);
97
+ const fieldId = viewProjection.getFieldId(initialPivotColumn);
98
+ if (fieldId) {
99
+ kanban.columnFieldId = fieldId;
100
+ }
101
+ }
102
+ return {
103
+ kanban,
104
+ schema
105
+ };
106
+ } else {
107
+ const { schema: taskSchema, stateOptions } = createDefaultTaskSchema();
108
+ const [schema] = await space.db.schemaRegistry.register([
109
+ taskSchema
110
+ ]);
111
+ const view = createView({
112
+ name: "Kanban's card view",
113
+ typename: schema.typename,
114
+ jsonSchema: schema.jsonSchema,
115
+ fields: [
116
+ "title",
117
+ "description"
118
+ ]
119
+ });
120
+ const viewProjection = new ViewProjection(schema.jsonSchema, view);
121
+ const descriptionFieldId = viewProjection.getFieldId("description");
122
+ if (descriptionFieldId) {
123
+ const fieldProjection = viewProjection.getFieldProjection(descriptionFieldId);
124
+ if (fieldProjection) {
125
+ viewProjection.setFieldProjection({
126
+ ...fieldProjection,
127
+ props: {
128
+ ...fieldProjection.props,
129
+ format: FormatEnum.Markdown
130
+ }
131
+ });
132
+ }
133
+ }
134
+ const initialPivotField = "state";
135
+ viewProjection.setFieldProjection({
136
+ field: {
137
+ id: createFieldId(),
138
+ path: initialPivotField,
139
+ size: 150
140
+ },
141
+ props: {
142
+ property: initialPivotField,
143
+ type: TypeEnum.String,
144
+ format: FormatEnum.SingleSelect,
145
+ title: capitalize(initialPivotField),
146
+ options: stateOptions
147
+ }
148
+ });
149
+ const fieldId = viewProjection.getFieldId(initialPivotField);
150
+ invariant(fieldId, void 0, {
151
+ F: __dxlog_file,
152
+ L: 134,
153
+ S: void 0,
154
+ A: [
155
+ "fieldId",
156
+ ""
157
+ ]
158
+ });
159
+ const kanban = live(KanbanType, {
160
+ cardView: makeRef(view),
161
+ columnFieldId: fieldId
162
+ });
163
+ return {
164
+ kanban,
165
+ schema
166
+ };
167
+ }
168
+ };
169
+
170
+ // packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts
171
+ var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts";
172
+ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolver, [
173
+ createResolver({
174
+ intent: KanbanAction.Create,
175
+ resolve: async ({ space, name, typename, initialPivotColumn }) => {
176
+ const client = context.requestCapability(ClientCapabilities.Client);
177
+ const { kanban } = await initializeKanban({
178
+ client,
179
+ space,
180
+ name,
181
+ typename,
182
+ initialPivotColumn
183
+ });
184
+ return {
185
+ data: {
186
+ object: kanban
187
+ }
188
+ };
189
+ }
190
+ }),
191
+ createResolver({
192
+ intent: KanbanAction.DeleteCardField,
193
+ resolve: ({ kanban, fieldId, deletionData }, undo) => {
194
+ invariant2(kanban.cardView, void 0, {
195
+ F: __dxlog_file2,
196
+ L: 28,
197
+ S: void 0,
198
+ A: [
199
+ "kanban.cardView",
200
+ ""
201
+ ]
202
+ });
203
+ invariant2(kanban.cardView.target?.query.typename, void 0, {
204
+ F: __dxlog_file2,
205
+ L: 29,
206
+ S: void 0,
207
+ A: [
208
+ "kanban.cardView.target?.query.typename",
209
+ ""
210
+ ]
211
+ });
212
+ const schema = kanban.cardView.target && getSpace(kanban)?.db.schemaRegistry.getSchema(kanban.cardView.target.query.typename);
213
+ invariant2(schema, void 0, {
214
+ F: __dxlog_file2,
215
+ L: 34,
216
+ S: void 0,
217
+ A: [
218
+ "schema",
219
+ ""
220
+ ]
221
+ });
222
+ invariant2(kanban.cardView.target, void 0, {
223
+ F: __dxlog_file2,
224
+ L: 35,
225
+ S: void 0,
226
+ A: [
227
+ "kanban.cardView.target",
228
+ ""
229
+ ]
230
+ });
231
+ const projection = new ViewProjection2(schema.jsonSchema, kanban.cardView.target);
232
+ if (!undo) {
233
+ const { deleted, index } = projection.deleteFieldProjection(fieldId);
234
+ return {
235
+ undoable: {
236
+ message: [
237
+ "card field deleted label",
238
+ {
239
+ ns: KANBAN_PLUGIN
240
+ }
241
+ ],
242
+ data: {
243
+ deletionData: {
244
+ ...deleted,
245
+ index
246
+ }
247
+ }
248
+ }
249
+ };
250
+ } else if (undo && deletionData) {
251
+ const { field, props, index } = deletionData;
252
+ projection.setFieldProjection({
253
+ field,
254
+ props
255
+ }, index);
256
+ }
257
+ }
258
+ }),
259
+ createResolver({
260
+ intent: KanbanAction.DeleteCard,
261
+ resolve: ({ card }, undo) => {
262
+ const space = getSpace(card);
263
+ invariant2(space, void 0, {
264
+ F: __dxlog_file2,
265
+ L: 56,
266
+ S: void 0,
267
+ A: [
268
+ "space",
269
+ ""
270
+ ]
271
+ });
272
+ if (!undo) {
273
+ space.db.remove(card);
274
+ return {
275
+ undoable: {
276
+ message: [
277
+ "card deleted label",
278
+ {
279
+ ns: KANBAN_PLUGIN
280
+ }
281
+ ],
282
+ data: {
283
+ card
284
+ }
285
+ }
286
+ };
287
+ } else {
288
+ space.db.add(card);
289
+ }
290
+ }
291
+ })
292
+ ]);
293
+ export {
294
+ intent_resolver_default as default
295
+ };
296
+ //# sourceMappingURL=intent-resolver-OFEXRD4O.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/intent-resolver.ts", "../../../src/testing/initialize-kanban.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes, Capabilities, createResolver, type PluginsContext } from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { ViewProjection } from '@dxos/schema';\n\nimport { KANBAN_PLUGIN } from '../meta';\nimport { initializeKanban } from '../testing';\nimport { KanbanAction } from '../types';\n\nexport default (context: PluginsContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: KanbanAction.Create,\n resolve: async ({ space, name, typename, initialPivotColumn }) => {\n const client = context.requestCapability(ClientCapabilities.Client);\n const { kanban } = await initializeKanban({ client, space, name, typename, initialPivotColumn });\n return { data: { object: kanban } };\n },\n }),\n createResolver({\n intent: KanbanAction.DeleteCardField,\n resolve: ({ kanban, fieldId, deletionData }, undo) => {\n invariant(kanban.cardView);\n invariant(kanban.cardView.target?.query.typename);\n\n const schema =\n kanban.cardView.target &&\n getSpace(kanban)?.db.schemaRegistry.getSchema(kanban.cardView.target.query.typename);\n invariant(schema);\n invariant(kanban.cardView.target);\n const projection = new ViewProjection(schema.jsonSchema, kanban.cardView.target);\n\n if (!undo) {\n const { deleted, index } = projection.deleteFieldProjection(fieldId);\n return {\n undoable: {\n message: ['card field deleted label', { ns: KANBAN_PLUGIN }],\n data: { deletionData: { ...deleted, index } },\n },\n };\n } else if (undo && deletionData) {\n const { field, props, index } = deletionData;\n projection.setFieldProjection({ field, props }, index);\n }\n },\n }),\n createResolver({\n intent: KanbanAction.DeleteCard,\n resolve: ({ card }, undo) => {\n const space = getSpace(card);\n invariant(space);\n\n if (!undo) {\n space.db.remove(card);\n return {\n undoable: {\n message: ['card deleted label', { ns: KANBAN_PLUGIN }],\n data: { card },\n },\n };\n } else {\n space.db.add(card);\n }\n },\n }),\n ]);\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport {\n AST,\n S,\n TypedObject,\n FormatEnum,\n TypeEnum,\n type JsonProp,\n type EchoSchema,\n getTypenameOrThrow,\n toJsonSchema,\n} from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { type Client, PublicKey } from '@dxos/react-client';\nimport { type Space, live, makeRef } from '@dxos/react-client/echo';\nimport { KanbanType } from '@dxos/react-ui-kanban';\nimport { createView, ViewProjection, createFieldId, getSchemaProperties } from '@dxos/schema';\nimport { capitalize } from '@dxos/util';\n\n// TODO(wittjosiah): UI package shouldn't depend on client.\n\ntype InitializeKanbanProps = {\n client: Client;\n space: Space;\n name?: string;\n typename?: string;\n initialPivotColumn?: string;\n};\n\nconst createDefaultTaskSchema = () => {\n const stateOptions = [\n { id: PublicKey.random().truncate(), title: 'Draft', color: 'indigo' },\n { id: PublicKey.random().truncate(), title: 'Active', color: 'cyan' },\n { id: PublicKey.random().truncate(), title: 'Completed', color: 'emerald' },\n ];\n\n const schema = TypedObject({\n typename: `example.com/type/${PublicKey.random().truncate()}`,\n version: '0.1.0',\n })({\n title: S.optional(S.String).annotations({\n [AST.TitleAnnotationId]: 'Title',\n }),\n description: S.optional(S.String).annotations({\n [AST.TitleAnnotationId]: 'Description',\n }),\n state: S.optional(S.String),\n });\n\n return { schema, stateOptions };\n};\n\nexport const initializeKanban = async ({\n client,\n space,\n name,\n typename,\n initialPivotColumn,\n}: InitializeKanbanProps): Promise<{ kanban: KanbanType; schema?: EchoSchema }> => {\n if (typename) {\n const staticSchema = client.graph.schemaRegistry.schemas.find((schema) => getTypenameOrThrow(schema) === typename);\n const schema = await space.db.schemaRegistry.query({ typename }).firstOrUndefined();\n\n const ast = staticSchema?.ast ?? schema?.ast;\n const jsonSchema = staticSchema ? toJsonSchema(staticSchema) : schema?.jsonSchema;\n invariant(ast, `Schema not found: ${typename}`);\n invariant(jsonSchema, `Schema not found: ${typename}`);\n\n const fields = getSchemaProperties(ast)\n .filter((prop) => prop.type !== 'object' || prop.format === FormatEnum.Ref)\n .map((prop) => prop.name);\n\n const view = createView({\n name: \"Kanban's card view\",\n typename,\n jsonSchema,\n fields,\n });\n\n const kanban = live(KanbanType, { cardView: makeRef(view), columnFieldId: undefined, name });\n if (initialPivotColumn) {\n const viewProjection = new ViewProjection(jsonSchema, view);\n const fieldId = viewProjection.getFieldId(initialPivotColumn);\n if (fieldId) {\n kanban.columnFieldId = fieldId;\n }\n }\n return { kanban, schema };\n } else {\n const { schema: taskSchema, stateOptions } = createDefaultTaskSchema();\n const [schema] = await space.db.schemaRegistry.register([taskSchema]);\n\n const view = createView({\n name: \"Kanban's card view\",\n typename: schema.typename,\n jsonSchema: schema.jsonSchema,\n fields: ['title', 'description'],\n });\n\n const viewProjection = new ViewProjection(schema.jsonSchema, view);\n\n // Set description field to Markdown format.\n const descriptionFieldId = viewProjection.getFieldId('description');\n if (descriptionFieldId) {\n const fieldProjection = viewProjection.getFieldProjection(descriptionFieldId);\n if (fieldProjection) {\n viewProjection.setFieldProjection({\n ...fieldProjection,\n props: { ...fieldProjection.props, format: FormatEnum.Markdown },\n });\n }\n }\n\n const initialPivotField = 'state';\n viewProjection.setFieldProjection({\n field: {\n id: createFieldId(),\n path: initialPivotField as JsonProp,\n size: 150,\n },\n props: {\n property: initialPivotField as JsonProp,\n type: TypeEnum.String,\n format: FormatEnum.SingleSelect,\n title: capitalize(initialPivotField),\n options: stateOptions,\n },\n });\n\n const fieldId = viewProjection.getFieldId(initialPivotField);\n invariant(fieldId);\n\n const kanban = live(KanbanType, { cardView: makeRef(view), columnFieldId: fieldId });\n return { kanban, schema };\n }\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["contributes", "Capabilities", "createResolver", "invariant", "ClientCapabilities", "getSpace", "ViewProjection", "AST", "S", "TypedObject", "FormatEnum", "TypeEnum", "getTypenameOrThrow", "toJsonSchema", "invariant", "PublicKey", "live", "makeRef", "KanbanType", "createView", "ViewProjection", "createFieldId", "getSchemaProperties", "capitalize", "createDefaultTaskSchema", "stateOptions", "id", "random", "truncate", "title", "color", "schema", "typename", "version", "optional", "String", "annotations", "TitleAnnotationId", "description", "state", "initializeKanban", "client", "space", "name", "initialPivotColumn", "staticSchema", "graph", "schemaRegistry", "schemas", "find", "db", "query", "firstOrUndefined", "ast", "jsonSchema", "fields", "filter", "prop", "type", "format", "Ref", "map", "view", "kanban", "cardView", "columnFieldId", "undefined", "viewProjection", "fieldId", "getFieldId", "taskSchema", "register", "descriptionFieldId", "fieldProjection", "getFieldProjection", "setFieldProjection", "props", "Markdown", "initialPivotField", "field", "path", "size", "property", "SingleSelect", "options", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "KanbanAction", "Create", "resolve", "space", "name", "typename", "initialPivotColumn", "client", "requestCapability", "ClientCapabilities", "Client", "kanban", "initializeKanban", "data", "object", "DeleteCardField", "fieldId", "deletionData", "undo", "invariant", "cardView", "target", "query", "schema", "getSpace", "db", "schemaRegistry", "getSchema", "projection", "ViewProjection", "jsonSchema", "deleted", "index", "deleteFieldProjection", "undoable", "message", "ns", "KANBAN_PLUGIN", "field", "props", "setFieldProjection", "DeleteCard", "card", "remove", "add"]
7
+ }
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-kanban/src/meta.ts":{"bytes":2245,"imports":[],"format":"esm"},"packages/plugins/plugin-kanban/src/types.ts":{"bytes":11430,"imports":[{"path":"effect/SchemaAST","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/testing","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts":{"bytes":19853,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/artifact","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts":{"bytes":10985,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/components/KanbanContainer.tsx":{"bytes":10174,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx":{"bytes":12425,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/components/index.ts":{"bytes":644,"imports":[{"path":"packages/plugins/plugin-kanban/src/components/KanbanContainer.tsx","kind":"import-statement","original":"./KanbanContainer"},{"path":"packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx","kind":"import-statement","original":"./KanbanViewEditor"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx":{"bytes":13173,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/index.ts":{"bytes":1366,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts","kind":"dynamic-import","original":"./artifact-definition"},{"path":"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"packages/plugins/plugin-kanban/src/translations.ts":{"bytes":3122,"imports":[{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-kanban/src/KanbanPlugin.tsx":{"bytes":8396,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-kanban/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/index.ts":{"bytes":594,"imports":[{"path":"packages/plugins/plugin-kanban/src/KanbanPlugin.tsx","kind":"import-statement","original":"./KanbanPlugin"},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-kanban/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5969},"packages/plugins/plugin-kanban/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/browser/chunk-K5BYEZ4Z.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/dist/lib/browser/artifact-definition-SVNHDJQT.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-kanban/dist/lib/browser/intent-resolver-XCDQ5N3Q.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-kanban/dist/lib/browser/react-surface-R25PYWQV.mjs","kind":"dynamic-import"},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true}],"exports":["KANBAN_PLUGIN","KanbanPlugin","meta"],"entryPoint":"packages/plugins/plugin-kanban/src/index.ts","inputs":{"packages/plugins/plugin-kanban/src/KanbanPlugin.tsx":{"bytesInOutput":1757},"packages/plugins/plugin-kanban/src/capabilities/index.ts":{"bytesInOutput":273},"packages/plugins/plugin-kanban/src/translations.ts":{"bytesInOutput":801},"packages/plugins/plugin-kanban/src/index.ts":{"bytesInOutput":0}},"bytes":3248},"packages/plugins/plugin-kanban/dist/lib/browser/types.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-kanban/dist/lib/browser/types.mjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/browser/chunk-K5BYEZ4Z.mjs","kind":"import-statement"}],"exports":["CreateKanbanSchema","KanbanAction","PivotColumnAnnotationId","TypenameAnnotationId","createKanban","isKanban"],"entryPoint":"packages/plugins/plugin-kanban/src/types.ts","inputs":{},"bytes":319},"packages/plugins/plugin-kanban/dist/lib/browser/artifact-definition-SVNHDJQT.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8897},"packages/plugins/plugin-kanban/dist/lib/browser/artifact-definition-SVNHDJQT.mjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/browser/chunk-K5BYEZ4Z.mjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/artifact","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts","inputs":{"packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts":{"bytesInOutput":5991}},"bytes":6240},"packages/plugins/plugin-kanban/dist/lib/browser/intent-resolver-XCDQ5N3Q.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4474},"packages/plugins/plugin-kanban/dist/lib/browser/intent-resolver-XCDQ5N3Q.mjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/browser/chunk-K5BYEZ4Z.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts":{"bytesInOutput":3100}},"bytes":3362},"packages/plugins/plugin-kanban/dist/lib/browser/react-surface-R25PYWQV.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":18461},"packages/plugins/plugin-kanban/dist/lib/browser/react-surface-R25PYWQV.mjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/browser/chunk-K5BYEZ4Z.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx":{"bytesInOutput":3019},"packages/plugins/plugin-kanban/src/components/KanbanContainer.tsx":{"bytesInOutput":2379},"packages/plugins/plugin-kanban/src/components/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx":{"bytesInOutput":3360}},"bytes":9273},"packages/plugins/plugin-kanban/dist/lib/browser/chunk-K5BYEZ4Z.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6877},"packages/plugins/plugin-kanban/dist/lib/browser/chunk-K5BYEZ4Z.mjs":{"imports":[{"path":"effect/SchemaAST","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/testing","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["CreateKanbanSchema","KANBAN_PLUGIN","KanbanAction","PivotColumnAnnotationId","TypenameAnnotationId","createKanban","isKanban","meta"],"inputs":{"packages/plugins/plugin-kanban/src/types.ts":{"bytesInOutput":2243},"packages/plugins/plugin-kanban/src/meta.ts":{"bytesInOutput":564}},"bytes":3147}}}
1
+ {"inputs":{"packages/plugins/plugin-kanban/src/meta.ts":{"bytes":2245,"imports":[],"format":"esm"},"packages/plugins/plugin-kanban/src/types.ts":{"bytes":10259,"imports":[{"path":"effect/SchemaAST","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts":{"bytes":19853,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/artifact","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/testing/kanban-manager.ts":{"bytes":1119,"imports":[],"format":"esm"},"packages/plugins/plugin-kanban/src/testing/initialize-kanban.ts":{"bytes":16826,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-kanban/src/testing/index.ts":{"bytes":641,"imports":[{"path":"packages/plugins/plugin-kanban/src/testing/kanban-manager.ts","kind":"import-statement","original":"./kanban-manager"},{"path":"packages/plugins/plugin-kanban/src/testing/initialize-kanban.ts","kind":"import-statement","original":"./initialize-kanban"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts":{"bytes":11925,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-kanban/src/testing/index.ts","kind":"import-statement","original":"../testing"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/components/KanbanContainer.tsx":{"bytes":11998,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx":{"bytes":12425,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/components/index.ts":{"bytes":644,"imports":[{"path":"packages/plugins/plugin-kanban/src/components/KanbanContainer.tsx","kind":"import-statement","original":"./KanbanContainer"},{"path":"packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx","kind":"import-statement","original":"./KanbanViewEditor"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx":{"bytes":17772,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/index.ts":{"bytes":1366,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts","kind":"dynamic-import","original":"./artifact-definition"},{"path":"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"packages/plugins/plugin-kanban/src/translations.ts":{"bytes":3122,"imports":[{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-kanban/src/KanbanPlugin.tsx":{"bytes":8396,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-kanban/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/index.ts":{"bytes":594,"imports":[{"path":"packages/plugins/plugin-kanban/src/KanbanPlugin.tsx","kind":"import-statement","original":"./KanbanPlugin"},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-kanban/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5969},"packages/plugins/plugin-kanban/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/browser/chunk-3MVG4VGQ.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/dist/lib/browser/artifact-definition-OSLO5B6P.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-kanban/dist/lib/browser/intent-resolver-OFEXRD4O.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-kanban/dist/lib/browser/react-surface-RJ5WMSWU.mjs","kind":"dynamic-import"},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true}],"exports":["KANBAN_PLUGIN","KanbanPlugin","meta"],"entryPoint":"packages/plugins/plugin-kanban/src/index.ts","inputs":{"packages/plugins/plugin-kanban/src/KanbanPlugin.tsx":{"bytesInOutput":1757},"packages/plugins/plugin-kanban/src/capabilities/index.ts":{"bytesInOutput":273},"packages/plugins/plugin-kanban/src/translations.ts":{"bytesInOutput":801},"packages/plugins/plugin-kanban/src/index.ts":{"bytesInOutput":0}},"bytes":3248},"packages/plugins/plugin-kanban/dist/lib/browser/types.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-kanban/dist/lib/browser/types.mjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/browser/chunk-3MVG4VGQ.mjs","kind":"import-statement"}],"exports":["CreateKanbanSchema","KanbanAction","PivotColumnAnnotationId","TypenameAnnotationId","isKanban"],"entryPoint":"packages/plugins/plugin-kanban/src/types.ts","inputs":{},"bytes":287},"packages/plugins/plugin-kanban/dist/lib/browser/artifact-definition-OSLO5B6P.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8897},"packages/plugins/plugin-kanban/dist/lib/browser/artifact-definition-OSLO5B6P.mjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/browser/chunk-3MVG4VGQ.mjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/artifact","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts","inputs":{"packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts":{"bytesInOutput":5991}},"bytes":6240},"packages/plugins/plugin-kanban/dist/lib/browser/intent-resolver-OFEXRD4O.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":13143},"packages/plugins/plugin-kanban/dist/lib/browser/intent-resolver-OFEXRD4O.mjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/browser/chunk-3MVG4VGQ.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts":{"bytesInOutput":3356},"packages/plugins/plugin-kanban/src/testing/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-kanban/src/testing/initialize-kanban.ts":{"bytesInOutput":4517}},"bytes":8258},"packages/plugins/plugin-kanban/dist/lib/browser/react-surface-RJ5WMSWU.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":22004},"packages/plugins/plugin-kanban/dist/lib/browser/react-surface-RJ5WMSWU.mjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/browser/chunk-3MVG4VGQ.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx":{"bytesInOutput":4227},"packages/plugins/plugin-kanban/src/components/KanbanContainer.tsx":{"bytesInOutput":2874},"packages/plugins/plugin-kanban/src/components/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx":{"bytesInOutput":3391}},"bytes":11007},"packages/plugins/plugin-kanban/dist/lib/browser/chunk-3MVG4VGQ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6255},"packages/plugins/plugin-kanban/dist/lib/browser/chunk-3MVG4VGQ.mjs":{"imports":[{"path":"effect/SchemaAST","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["CreateKanbanSchema","KANBAN_PLUGIN","KanbanAction","PivotColumnAnnotationId","TypenameAnnotationId","isKanban","meta"],"inputs":{"packages/plugins/plugin-kanban/src/types.ts":{"bytesInOutput":1969},"packages/plugins/plugin-kanban/src/meta.ts":{"bytesInOutput":564}},"bytes":2857}}}