@dxos/plugin-kanban 0.8.4-main.9be5663bfe → 0.8.4-main.abd8ff62ef

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 (177) hide show
  1. package/dist/lib/browser/blueprints/index.mjs +1 -1
  2. package/dist/lib/browser/blueprints/index.mjs.map +3 -3
  3. package/dist/lib/browser/{chunk-A3PBV3S5.mjs → chunk-T32TEM55.mjs} +2 -2
  4. package/dist/lib/browser/chunk-T32TEM55.mjs.map +7 -0
  5. package/dist/lib/browser/{delete-card-VPNVIWOA.mjs → delete-card-7OSCNCW2.mjs} +4 -12
  6. package/dist/lib/browser/delete-card-7OSCNCW2.mjs.map +7 -0
  7. package/dist/lib/browser/{delete-card-field-4HHF2GYX.mjs → delete-card-field-NSB2RE3Z.mjs} +4 -12
  8. package/dist/lib/browser/delete-card-field-NSB2RE3Z.mjs.map +7 -0
  9. package/dist/lib/browser/index.mjs +5 -97
  10. package/dist/lib/browser/index.mjs.map +4 -4
  11. package/dist/lib/browser/meta.json +1 -1
  12. package/dist/lib/browser/operations/index.mjs +3 -3
  13. package/dist/lib/browser/operations/index.mjs.map +3 -3
  14. package/dist/lib/browser/{restore-card-4GG2RYKR.mjs → restore-card-FO3WERIE.mjs} +4 -12
  15. package/dist/lib/browser/restore-card-FO3WERIE.mjs.map +7 -0
  16. package/dist/lib/browser/{restore-card-field-3T26ACYX.mjs → restore-card-field-U5XYEEOW.mjs} +4 -12
  17. package/dist/lib/browser/restore-card-field-U5XYEEOW.mjs.map +7 -0
  18. package/dist/lib/browser/translations.mjs +44 -0
  19. package/dist/lib/browser/translations.mjs.map +7 -0
  20. package/dist/lib/browser/types/index.mjs +70 -10
  21. package/dist/lib/browser/types/index.mjs.map +3 -3
  22. package/dist/lib/node-esm/blueprints/index.mjs +1 -1
  23. package/dist/lib/node-esm/blueprints/index.mjs.map +3 -3
  24. package/dist/lib/node-esm/{chunk-6LELYA2G.mjs → chunk-W2RNFBMZ.mjs} +2 -2
  25. package/dist/lib/node-esm/chunk-W2RNFBMZ.mjs.map +7 -0
  26. package/dist/lib/node-esm/{delete-card-5PW5OMFN.mjs → delete-card-ZIREL6HN.mjs} +4 -12
  27. package/dist/lib/node-esm/delete-card-ZIREL6HN.mjs.map +7 -0
  28. package/dist/lib/node-esm/{delete-card-field-KPJU2AQ3.mjs → delete-card-field-IPTEGVPP.mjs} +4 -12
  29. package/dist/lib/node-esm/delete-card-field-IPTEGVPP.mjs.map +7 -0
  30. package/dist/lib/node-esm/index.mjs +5 -97
  31. package/dist/lib/node-esm/index.mjs.map +4 -4
  32. package/dist/lib/node-esm/meta.json +1 -1
  33. package/dist/lib/node-esm/operations/index.mjs +3 -3
  34. package/dist/lib/node-esm/operations/index.mjs.map +3 -3
  35. package/dist/lib/node-esm/{restore-card-X2TKMU5A.mjs → restore-card-WJJ4YB7K.mjs} +4 -12
  36. package/dist/lib/node-esm/restore-card-WJJ4YB7K.mjs.map +7 -0
  37. package/dist/lib/node-esm/{restore-card-field-IUTL4RTR.mjs → restore-card-field-L24WJXAW.mjs} +4 -12
  38. package/dist/lib/node-esm/restore-card-field-L24WJXAW.mjs.map +7 -0
  39. package/dist/lib/node-esm/translations.mjs +45 -0
  40. package/dist/lib/node-esm/translations.mjs.map +7 -0
  41. package/dist/lib/node-esm/types/index.mjs +70 -10
  42. package/dist/lib/node-esm/types/index.mjs.map +3 -3
  43. package/dist/types/src/KanbanPlugin.d.ts +1 -0
  44. package/dist/types/src/KanbanPlugin.d.ts.map +1 -1
  45. package/dist/types/src/KanbanPlugin.node.d.ts +4 -0
  46. package/dist/types/src/KanbanPlugin.node.d.ts.map +1 -0
  47. package/dist/types/src/KanbanPlugin.test.d.ts +2 -0
  48. package/dist/types/src/KanbanPlugin.test.d.ts.map +1 -0
  49. package/dist/types/src/blueprints/kanban-blueprint.d.ts +2 -2
  50. package/dist/types/src/blueprints/kanban-blueprint.d.ts.map +1 -1
  51. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  52. package/dist/types/src/capabilities/blueprint-definition.d.ts +2 -2
  53. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  54. package/dist/types/src/capabilities/index.d.ts +3 -2
  55. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  56. package/dist/types/src/capabilities/migrations.d.ts +5 -0
  57. package/dist/types/src/capabilities/migrations.d.ts.map +1 -0
  58. package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
  59. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -1
  60. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  61. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -1
  62. package/dist/types/src/components/KanbanBoard/KanbanBoard.d.ts +6 -6
  63. package/dist/types/src/components/KanbanBoard/KanbanBoard.d.ts.map +1 -1
  64. package/dist/types/src/components/KanbanBoard/KanbanBoard.stories.d.ts +24 -24
  65. package/dist/types/src/components/KanbanBoard/KanbanBoard.stories.d.ts.map +1 -1
  66. package/dist/types/src/components/KanbanBoard/KanbanCard.d.ts.map +1 -1
  67. package/dist/types/src/components/KanbanBoard/KanbanColumn.d.ts.map +1 -1
  68. package/dist/types/src/containers/KanbanContainer/KanbanContainer.d.ts +2 -2
  69. package/dist/types/src/containers/KanbanContainer/KanbanContainer.d.ts.map +1 -1
  70. package/dist/types/src/containers/KanbanContainer/KanbanContainer.stories.d.ts +24 -24
  71. package/dist/types/src/containers/KanbanContainer/KanbanContainer.stories.d.ts.map +1 -1
  72. package/dist/types/src/containers/KanbanSettings/KanbanSettings.d.ts +13 -0
  73. package/dist/types/src/containers/KanbanSettings/KanbanSettings.d.ts.map +1 -0
  74. package/dist/types/src/containers/KanbanSettings/index.d.ts +2 -0
  75. package/dist/types/src/containers/KanbanSettings/index.d.ts.map +1 -0
  76. package/dist/types/src/containers/index.d.ts +1 -1
  77. package/dist/types/src/containers/index.d.ts.map +1 -1
  78. package/dist/types/src/hooks/index.d.ts +1 -0
  79. package/dist/types/src/hooks/index.d.ts.map +1 -1
  80. package/dist/types/src/hooks/useEchoChangeCallback.d.ts.map +1 -1
  81. package/dist/types/src/hooks/useItemsProjection.d.ts +10 -0
  82. package/dist/types/src/hooks/useItemsProjection.d.ts.map +1 -0
  83. package/dist/types/src/hooks/useKanbanBoardModel.browser.test.d.ts +2 -0
  84. package/dist/types/src/hooks/useKanbanBoardModel.browser.test.d.ts.map +1 -0
  85. package/dist/types/src/hooks/useKanbanBoardModel.d.ts.map +1 -1
  86. package/dist/types/src/hooks/useKanbanColumnEventHandler.d.ts +1 -1
  87. package/dist/types/src/hooks/useKanbanColumnEventHandler.d.ts.map +1 -1
  88. package/dist/types/src/hooks/useKanbanItemEventHandler.d.ts +1 -1
  89. package/dist/types/src/hooks/useKanbanItemEventHandler.d.ts.map +1 -1
  90. package/dist/types/src/hooks/useProjectionModel.d.ts.map +1 -1
  91. package/dist/types/src/index.d.ts +2 -1
  92. package/dist/types/src/index.d.ts.map +1 -1
  93. package/dist/types/src/operations/definitions.d.ts +2 -2
  94. package/dist/types/src/operations/definitions.d.ts.map +1 -1
  95. package/dist/types/src/operations/delete-card-field.d.ts +1 -1
  96. package/dist/types/src/operations/delete-card-field.d.ts.map +1 -1
  97. package/dist/types/src/operations/delete-card.d.ts +1 -1
  98. package/dist/types/src/operations/delete-card.d.ts.map +1 -1
  99. package/dist/types/src/operations/index.d.ts +1 -1
  100. package/dist/types/src/operations/index.d.ts.map +1 -1
  101. package/dist/types/src/operations/restore-card-field.d.ts +1 -1
  102. package/dist/types/src/operations/restore-card-field.d.ts.map +1 -1
  103. package/dist/types/src/operations/restore-card.d.ts +1 -1
  104. package/dist/types/src/operations/restore-card.d.ts.map +1 -1
  105. package/dist/types/src/playwright/board-manager.d.ts.map +1 -1
  106. package/dist/types/src/playwright/playwright.config.d.ts.map +1 -1
  107. package/dist/types/src/translations.d.ts +24 -24
  108. package/dist/types/src/translations.d.ts.map +1 -1
  109. package/dist/types/src/types/Kanban.d.ts +78 -6
  110. package/dist/types/src/types/Kanban.d.ts.map +1 -1
  111. package/dist/types/src/types/constants.d.ts +3 -3
  112. package/dist/types/src/types/constants.d.ts.map +1 -1
  113. package/dist/types/src/types/migrations.test.d.ts +2 -0
  114. package/dist/types/src/types/migrations.test.d.ts.map +1 -0
  115. package/dist/types/src/types/schema.d.ts +15 -1
  116. package/dist/types/src/types/schema.d.ts.map +1 -1
  117. package/dist/types/src/types/types.d.ts +2 -2
  118. package/dist/types/src/util/arrangement.d.ts +7 -3
  119. package/dist/types/src/util/arrangement.d.ts.map +1 -1
  120. package/dist/types/tsconfig.tsbuildinfo +1 -1
  121. package/package.json +50 -50
  122. package/src/KanbanPlugin.node.ts +55 -0
  123. package/src/KanbanPlugin.test.ts +31 -0
  124. package/src/KanbanPlugin.tsx +11 -5
  125. package/src/blueprints/kanban-blueprint.ts +2 -3
  126. package/src/capabilities/artifact-definition.ts +1 -1
  127. package/src/capabilities/blueprint-definition.ts +2 -0
  128. package/src/capabilities/index.ts +3 -1
  129. package/src/capabilities/migrations.ts +35 -0
  130. package/src/capabilities/operation-handler.ts +1 -1
  131. package/src/capabilities/react-surface.tsx +16 -8
  132. package/src/components/KanbanBoard/KanbanBoard.stories.tsx +7 -3
  133. package/src/components/KanbanBoard/KanbanBoard.tsx +7 -2
  134. package/src/components/KanbanBoard/KanbanCard.tsx +15 -3
  135. package/src/components/KanbanBoard/KanbanColumn.tsx +7 -5
  136. package/src/containers/KanbanContainer/KanbanContainer.stories.tsx +21 -16
  137. package/src/containers/KanbanContainer/KanbanContainer.tsx +89 -7
  138. package/src/containers/KanbanSettings/KanbanSettings.tsx +94 -0
  139. package/src/containers/KanbanSettings/index.ts +5 -0
  140. package/src/containers/index.ts +1 -1
  141. package/src/hooks/index.ts +1 -0
  142. package/src/hooks/useEchoChangeCallback.ts +2 -2
  143. package/src/hooks/useItemsProjection.ts +44 -0
  144. package/src/hooks/{useKanbanBoardModel.test.ts → useKanbanBoardModel.browser.test.ts} +3 -3
  145. package/src/hooks/useKanbanBoardModel.ts +18 -5
  146. package/src/hooks/useProjectionModel.ts +2 -2
  147. package/src/index.ts +6 -2
  148. package/src/operations/definitions.ts +1 -1
  149. package/src/operations/delete-card-field.ts +1 -1
  150. package/src/operations/delete-card.ts +1 -1
  151. package/src/operations/index.ts +1 -1
  152. package/src/operations/restore-card-field.ts +1 -1
  153. package/src/operations/restore-card.ts +1 -1
  154. package/src/types/Kanban.ts +92 -12
  155. package/src/types/migrations.test.ts +83 -0
  156. package/src/types/schema.ts +19 -1
  157. package/src/types/types.ts +2 -2
  158. package/src/util/arrangement.test.ts +10 -0
  159. package/src/util/arrangement.ts +24 -14
  160. package/dist/lib/browser/chunk-A3PBV3S5.mjs.map +0 -7
  161. package/dist/lib/browser/delete-card-VPNVIWOA.mjs.map +0 -7
  162. package/dist/lib/browser/delete-card-field-4HHF2GYX.mjs.map +0 -7
  163. package/dist/lib/browser/restore-card-4GG2RYKR.mjs.map +0 -7
  164. package/dist/lib/browser/restore-card-field-3T26ACYX.mjs.map +0 -7
  165. package/dist/lib/node-esm/chunk-6LELYA2G.mjs.map +0 -7
  166. package/dist/lib/node-esm/delete-card-5PW5OMFN.mjs.map +0 -7
  167. package/dist/lib/node-esm/delete-card-field-KPJU2AQ3.mjs.map +0 -7
  168. package/dist/lib/node-esm/restore-card-X2TKMU5A.mjs.map +0 -7
  169. package/dist/lib/node-esm/restore-card-field-IUTL4RTR.mjs.map +0 -7
  170. package/dist/types/src/containers/KanbanViewEditor/KanbanViewEditor.d.ts +0 -6
  171. package/dist/types/src/containers/KanbanViewEditor/KanbanViewEditor.d.ts.map +0 -1
  172. package/dist/types/src/containers/KanbanViewEditor/index.d.ts +0 -2
  173. package/dist/types/src/containers/KanbanViewEditor/index.d.ts.map +0 -1
  174. package/dist/types/src/hooks/useKanbanBoardModel.test.d.ts +0 -2
  175. package/dist/types/src/hooks/useKanbanBoardModel.test.d.ts.map +0 -1
  176. package/src/containers/KanbanViewEditor/KanbanViewEditor.tsx +0 -63
  177. package/src/containers/KanbanViewEditor/index.ts +0 -5
@@ -14,7 +14,14 @@ var Kanban_exports = {};
14
14
  __export(Kanban_exports, {
15
15
  Arrangement: () => Arrangement,
16
16
  Kanban: () => Kanban,
17
- make: () => make
17
+ KanbanItemsSpec: () => KanbanItemsSpec,
18
+ KanbanSpec: () => KanbanSpec,
19
+ KanbanV1: () => KanbanV1,
20
+ KanbanViewSpec: () => KanbanViewSpec,
21
+ isKanbanItems: () => isKanbanItems,
22
+ isKanbanView: () => isKanbanView,
23
+ make: () => make,
24
+ makeItems: () => makeItems
18
25
  });
19
26
  import * as Schema from "effect/Schema";
20
27
  import { Annotation, Obj, Ref, Type } from "@dxos/echo";
@@ -23,7 +30,7 @@ import { FormInputAnnotation, LabelAnnotation } from "@dxos/echo/internal";
23
30
  import { ViewAnnotation } from "@dxos/schema";
24
31
  var ArrangementColumnEntry = Schema.Struct({
25
32
  ids: Schema.Array(Obj.ID),
26
- hidden: Schema.optional(Schema.Boolean)
33
+ hidden: Schema.Boolean.pipe(Schema.optional)
27
34
  });
28
35
  var ArrangementColumns = Schema.Record({
29
36
  key: Schema.String,
@@ -33,30 +40,75 @@ var Arrangement = Schema.Struct({
33
40
  order: Schema.Array(Schema.String).pipe(FormInputAnnotation.set(false)),
34
41
  columns: ArrangementColumns
35
42
  }).pipe(FormInputAnnotation.set(false));
36
- var Kanban = Schema.Struct({
37
- name: Schema.optional(Schema.String),
43
+ var KanbanV1 = Schema.Struct({
44
+ name: Schema.String.pipe(Schema.optional),
38
45
  view: Ref.Ref(View.View).pipe(FormInputAnnotation.set(false)),
39
- /** Column display order and per-column card ids. */
40
46
  arrangement: Arrangement
41
47
  }).pipe(Type.object({
42
48
  typename: "org.dxos.type.kanban",
43
49
  version: "0.1.0"
50
+ }));
51
+ var KanbanViewSpec = Schema.Struct({
52
+ kind: Schema.Literal("view").pipe(FormInputAnnotation.set(false)),
53
+ view: Ref.Ref(View.View).pipe(FormInputAnnotation.set(false))
54
+ });
55
+ var KanbanItemsSpec = Schema.Struct({
56
+ kind: Schema.Literal("items").pipe(FormInputAnnotation.set(false)),
57
+ /** Property path on each item that drives column membership (e.g. `'listName'`). */
58
+ pivotField: Schema.String,
59
+ /** Items owned directly by the kanban. */
60
+ items: Schema.Array(Ref.Ref(Obj.Unknown)).pipe(FormInputAnnotation.set(false))
61
+ });
62
+ var KanbanSpec = Schema.Union(KanbanViewSpec, KanbanItemsSpec);
63
+ var Kanban = Schema.Struct({
64
+ name: Schema.String.pipe(Schema.optional),
65
+ arrangement: Arrangement,
66
+ /** How this kanban sources its items. Discriminated by `spec.kind`. */
67
+ spec: KanbanSpec
68
+ }).pipe(Type.object({
69
+ typename: "org.dxos.type.kanban",
70
+ version: "0.2.0"
44
71
  }), LabelAnnotation.set([
45
72
  "name"
46
- ]), ViewAnnotation.set(true), Annotation.IconAnnotation.set({
73
+ ]), ViewAnnotation.set([
74
+ "spec",
75
+ "view"
76
+ ]), Annotation.IconAnnotation.set({
47
77
  icon: "ph--kanban--regular",
48
78
  hue: "green"
49
79
  }));
80
+ var isKanbanView = (kanban) => kanban.spec.kind === "view";
81
+ var isKanbanItems = (kanban) => kanban.spec.kind === "items";
50
82
  var make = (props) => {
51
83
  const { name, view, arrangement } = props;
52
84
  const order = arrangement?.order ?? [];
53
85
  const columns = arrangement?.columns ?? {};
54
86
  return Obj.make(Kanban, {
55
87
  name,
56
- view: Ref.make(view),
57
88
  arrangement: {
58
89
  order,
59
90
  columns
91
+ },
92
+ spec: {
93
+ kind: "view",
94
+ view: Ref.make(view)
95
+ }
96
+ });
97
+ };
98
+ var makeItems = (props) => {
99
+ const { name, arrangement, pivotField, items = [] } = props;
100
+ const order = arrangement?.order ?? [];
101
+ const columns = arrangement?.columns ?? {};
102
+ return Obj.make(Kanban, {
103
+ name,
104
+ arrangement: {
105
+ order,
106
+ columns
107
+ },
108
+ spec: {
109
+ kind: "items",
110
+ pivotField,
111
+ items
60
112
  }
61
113
  });
62
114
  };
@@ -65,10 +117,17 @@ var make = (props) => {
65
117
  import * as Schema2 from "effect/Schema";
66
118
  import { TypeInputOptionsAnnotation } from "@dxos/plugin-space/types";
67
119
  var PivotColumnAnnotationId = /* @__PURE__ */ Symbol.for("@dxos/plugin-kanban/annotation/PivotColumn");
68
- var SettingsSchema = Schema2.Struct({
120
+ var KanbanSettingsSchema = Schema2.Struct({
121
+ hideUncategorized: Schema2.Boolean.annotations({
122
+ title: "Hide uncategorized column",
123
+ description: "When enabled, items without a pivot value won\u2019t be shown as a column."
124
+ }).pipe(Schema2.optional)
125
+ });
126
+ var KanbanViewSettingsSchema = Schema2.Struct({
69
127
  columnFieldId: Schema2.String.annotations({
70
128
  title: "Column field"
71
- })
129
+ }),
130
+ ...KanbanSettingsSchema.fields
72
131
  });
73
132
  var CreateKanbanSchema = Schema2.Struct({
74
133
  name: Schema2.optional(Schema2.String),
@@ -92,8 +151,9 @@ var CreateKanbanSchema = Schema2.Struct({
92
151
  export {
93
152
  CreateKanbanSchema,
94
153
  Kanban_exports as Kanban,
154
+ KanbanSettingsSchema,
155
+ KanbanViewSettingsSchema,
95
156
  PivotColumnAnnotationId,
96
- SettingsSchema,
97
157
  UNCATEGORIZED_ATTRIBUTES,
98
158
  UNCATEGORIZED_VALUE
99
159
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/types/constants.ts", "../../../../src/types/Kanban.ts", "../../../../src/types/schema.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nexport const UNCATEGORIZED_VALUE = '__uncategorized__' as const;\nexport const UNCATEGORIZED_ATTRIBUTES = {\n title: 'Uncategorized',\n color: 'neutral',\n} as const;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Annotation, Obj, Ref, Type } from '@dxos/echo';\nimport { View } from '@dxos/echo';\nimport { FormInputAnnotation, LabelAnnotation } from '@dxos/echo/internal';\nimport { ViewAnnotation } from '@dxos/schema';\n\n/** Per-column entry (ids order, optional hidden). */\nconst ArrangementColumnEntry = Schema.Struct({\n ids: Schema.Array(Obj.ID),\n hidden: Schema.optional(Schema.Boolean),\n});\n\n/** Keyed by columnValue. */\nconst ArrangementColumns = Schema.Record({\n key: Schema.String,\n value: ArrangementColumnEntry,\n}).pipe(FormInputAnnotation.set(false));\n\n/** Column order and per-column card ids. */\nexport const Arrangement = Schema.Struct({\n order: Schema.Array(Schema.String).pipe(FormInputAnnotation.set(false)),\n columns: ArrangementColumns,\n}).pipe(FormInputAnnotation.set(false));\n\nexport type Arrangement = Schema.Schema.Type<typeof Arrangement>;\n\nexport const Kanban = Schema.Struct({\n name: Schema.optional(Schema.String),\n\n view: Ref.Ref(View.View).pipe(FormInputAnnotation.set(false)),\n\n /** Column display order and per-column card ids. */\n arrangement: Arrangement,\n}).pipe(\n Type.object({\n typename: 'org.dxos.type.kanban',\n version: '0.1.0',\n }),\n LabelAnnotation.set(['name']),\n ViewAnnotation.set(true),\n Annotation.IconAnnotation.set({\n icon: 'ph--kanban--regular',\n hue: 'green',\n }),\n);\n\n/** Instance type; use Kanban.Kanban in type position so namespace has .Kanban as type and .KanbanSchema as schema. */\nexport interface Kanban extends Schema.Schema.Type<typeof Kanban> {}\n\ntype MakeProps = Omit<Partial<Obj.MakeProps<typeof Kanban>>, 'view'> & {\n view: View.View;\n};\n\n/**\n * Make a kanban as a view of a data set.\n */\nexport const make = (props: MakeProps): Kanban => {\n const { name, view, arrangement } = props;\n const order = arrangement?.order ?? [];\n const columns = arrangement?.columns ?? {};\n return Obj.make(Kanban, {\n name,\n view: Ref.make(view),\n arrangement: { order, columns },\n });\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { TypeInputOptionsAnnotation } from '@dxos/plugin-space/types';\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(wittjosiah): Factor out?\nexport const PivotColumnAnnotationId = Symbol.for('@dxos/plugin-kanban/annotation/PivotColumn');\n\nexport const SettingsSchema = Schema.Struct({\n columnFieldId: Schema.String.annotations({\n title: 'Column field',\n }),\n});\n\nexport const CreateKanbanSchema = Schema.Struct({\n name: Schema.optional(Schema.String),\n // TODO(wittjosiah): This should be a query input instead.\n typename: Schema.String.pipe(\n Schema.annotations({ title: 'Select card type' }),\n TypeInputOptionsAnnotation.set({\n location: ['database', 'runtime'],\n kind: ['user'],\n }),\n Schema.optional,\n ),\n initialPivotColumn: Schema.optional(\n Schema.String.annotations({\n [PivotColumnAnnotationId]: true,\n title: 'Pivot column',\n }),\n ),\n});\n"],
5
- "mappings": ";;;;;AAIO,IAAMA,sBAAsB;AAC5B,IAAMC,2BAA2B;EACtCC,OAAO;EACPC,OAAO;AACT;;;ACRA;;;;;;AAIA,YAAYC,YAAY;AAExB,SAASC,YAAYC,KAAKC,KAAKC,YAAY;AAC3C,SAASC,YAAY;AACrB,SAASC,qBAAqBC,uBAAuB;AACrD,SAASC,sBAAsB;AAG/B,IAAMC,yBAAgCC,cAAO;EAC3CC,KAAYC,aAAMC,IAAIC,EAAE;EACxBC,QAAeC,gBAAgBC,cAAO;AACxC,CAAA;AAGA,IAAMC,qBAA4BC,cAAO;EACvCC,KAAYC;EACZC,OAAOb;AACT,CAAA,EAAGc,KAAKC,oBAAoBC,IAAI,KAAA,CAAA;AAGzB,IAAMC,cAAqBhB,cAAO;EACvCiB,OAAcf,aAAaS,aAAM,EAAEE,KAAKC,oBAAoBC,IAAI,KAAA,CAAA;EAChEG,SAASV;AACX,CAAA,EAAGK,KAAKC,oBAAoBC,IAAI,KAAA,CAAA;AAIzB,IAAMI,SAAgBnB,cAAO;EAClCoB,MAAad,gBAAgBK,aAAM;EAEnCU,MAAMC,IAAIA,IAAIC,KAAKA,IAAI,EAAEV,KAAKC,oBAAoBC,IAAI,KAAA,CAAA;;EAGtDS,aAAaR;AACf,CAAA,EAAGH,KACDY,KAAKC,OAAO;EACVC,UAAU;EACVC,SAAS;AACX,CAAA,GACAC,gBAAgBd,IAAI;EAAC;CAAO,GAC5Be,eAAef,IAAI,IAAA,GACnBgB,WAAWC,eAAejB,IAAI;EAC5BkB,MAAM;EACNC,KAAK;AACP,CAAA,CAAA;AAaK,IAAMC,OAAO,CAACC,UAAAA;AACnB,QAAM,EAAEhB,MAAMC,MAAMG,YAAW,IAAKY;AACpC,QAAMnB,QAAQO,aAAaP,SAAS,CAAA;AACpC,QAAMC,UAAUM,aAAaN,WAAW,CAAC;AACzC,SAAOf,IAAIgC,KAAKhB,QAAQ;IACtBC;IACAC,MAAMC,IAAIa,KAAKd,IAAAA;IACfG,aAAa;MAAEP;MAAOC;IAAQ;EAChC,CAAA;AACF;;;AClEA,YAAYmB,aAAY;AAExB,SAASC,kCAAkC;AAYpC,IAAMC,0BAA0BC,uBAAOC,IAAI,4CAAA;AAE3C,IAAMC,iBAAwBC,eAAO;EAC1CC,eAAsBC,eAAOC,YAAY;IACvCC,OAAO;EACT,CAAA;AACF,CAAA;AAEO,IAAMC,qBAA4BL,eAAO;EAC9CM,MAAaC,iBAAgBL,cAAM;;EAEnCM,UAAiBN,eAAOO,KACfN,oBAAY;IAAEC,OAAO;EAAmB,CAAA,GAC/CM,2BAA2BC,IAAI;IAC7BC,UAAU;MAAC;MAAY;;IACvBC,MAAM;MAAC;;EACT,CAAA,GACON,gBAAQ;EAEjBO,oBAA2BP,iBAClBL,eAAOC,YAAY;IACxB,CAACP,uBAAAA,GAA0B;IAC3BQ,OAAO;EACT,CAAA,CAAA;AAEJ,CAAA;",
6
- "names": ["UNCATEGORIZED_VALUE", "UNCATEGORIZED_ATTRIBUTES", "title", "color", "Schema", "Annotation", "Obj", "Ref", "Type", "View", "FormInputAnnotation", "LabelAnnotation", "ViewAnnotation", "ArrangementColumnEntry", "Struct", "ids", "Array", "Obj", "ID", "hidden", "optional", "Boolean", "ArrangementColumns", "Record", "key", "String", "value", "pipe", "FormInputAnnotation", "set", "Arrangement", "order", "columns", "Kanban", "name", "view", "Ref", "View", "arrangement", "Type", "object", "typename", "version", "LabelAnnotation", "ViewAnnotation", "Annotation", "IconAnnotation", "icon", "hue", "make", "props", "Schema", "TypeInputOptionsAnnotation", "PivotColumnAnnotationId", "Symbol", "for", "SettingsSchema", "Struct", "columnFieldId", "String", "annotations", "title", "CreateKanbanSchema", "name", "optional", "typename", "pipe", "TypeInputOptionsAnnotation", "set", "location", "kind", "initialPivotColumn"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nexport const UNCATEGORIZED_VALUE = '__uncategorized__' as const;\nexport const UNCATEGORIZED_ATTRIBUTES = {\n title: 'Uncategorized',\n color: 'neutral',\n} as const;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Annotation, Obj, Ref, Type } from '@dxos/echo';\nimport { View } from '@dxos/echo';\nimport { FormInputAnnotation, LabelAnnotation } from '@dxos/echo/internal';\nimport { ViewAnnotation } from '@dxos/schema';\n\n/**\n * Per-column entry: ordered card ids plus an optional `hidden` flag that\n * removes the column from the rendered board (and from the model's column\n * list). Today only the uncategorized column is exposed in settings, but\n * the data structure supports per-column hiding generally.\n */\nconst ArrangementColumnEntry = Schema.Struct({\n ids: Schema.Array(Obj.ID),\n hidden: Schema.Boolean.pipe(Schema.optional),\n});\n\n/** Keyed by columnValue. */\nconst ArrangementColumns = Schema.Record({\n key: Schema.String,\n value: ArrangementColumnEntry,\n}).pipe(FormInputAnnotation.set(false));\n\n/** Column order and per-column card ids. */\nexport const Arrangement = Schema.Struct({\n order: Schema.Array(Schema.String).pipe(FormInputAnnotation.set(false)),\n columns: ArrangementColumns,\n}).pipe(FormInputAnnotation.set(false));\n\nexport type Arrangement = Schema.Schema.Type<typeof Arrangement>;\n\n/**\n * v1: pre-existing Kanban shape. Retained as the source for the v1→v2 migration.\n */\nexport const KanbanV1 = Schema.Struct({\n name: Schema.String.pipe(Schema.optional),\n view: Ref.Ref(View.View).pipe(FormInputAnnotation.set(false)),\n arrangement: Arrangement,\n}).pipe(\n Type.object({\n typename: 'org.dxos.type.kanban',\n version: '0.1.0',\n }),\n);\n\n//\n// v2 — `spec` is a discriminated union of how items are sourced.\n//\n// Mirrors the canonical DXOS pattern (see `Trigger.Spec` in\n// `@dxos/functions/src/types/Trigger.ts` and `Sequence.Source` in\n// `@dxos/plugin-zen`): the `Type.object` schema is a flat `Schema.Struct`,\n// and the discriminated union lives one level down as a single field whose\n// variants are tagged with a `kind` literal.\n//\n\n/** View-variant: items come from running the View's query (the original behaviour). */\nexport const KanbanViewSpec = Schema.Struct({\n kind: Schema.Literal('view').pipe(FormInputAnnotation.set(false)),\n view: Ref.Ref(View.View).pipe(FormInputAnnotation.set(false)),\n});\nexport type KanbanViewSpec = Schema.Schema.Type<typeof KanbanViewSpec>;\n\n/** Items-variant: kanban owns its items as an explicit ref array (used by externally-synced kanbans). */\nexport const KanbanItemsSpec = Schema.Struct({\n kind: Schema.Literal('items').pipe(FormInputAnnotation.set(false)),\n /** Property path on each item that drives column membership (e.g. `'listName'`). */\n pivotField: Schema.String,\n /** Items owned directly by the kanban. */\n items: Schema.Array(Ref.Ref(Obj.Unknown)).pipe(FormInputAnnotation.set(false)),\n});\nexport type KanbanItemsSpec = Schema.Schema.Type<typeof KanbanItemsSpec>;\n\n/** Discriminated union of source specs. Distinguished by `kind`. */\nexport const KanbanSpec = Schema.Union(KanbanViewSpec, KanbanItemsSpec);\nexport type KanbanSpec = Schema.Schema.Type<typeof KanbanSpec>;\n\nexport const Kanban = Schema.Struct({\n name: Schema.String.pipe(Schema.optional),\n arrangement: Arrangement,\n /** How this kanban sources its items. Discriminated by `spec.kind`. */\n spec: KanbanSpec,\n}).pipe(\n Type.object({\n typename: 'org.dxos.type.kanban',\n version: '0.2.0',\n }),\n LabelAnnotation.set(['name']),\n ViewAnnotation.set(['spec', 'view']),\n Annotation.IconAnnotation.set({\n icon: 'ph--kanban--regular',\n hue: 'green',\n }),\n);\n\n/** Instance type; narrow on `kanban.spec.kind` (or use the guards below). */\nexport interface Kanban extends Schema.Schema.Type<typeof Kanban> {}\n\n/** Narrowed view-variant kanban. */\nexport type KanbanView = Kanban & { spec: KanbanViewSpec };\n\n/** Narrowed items-variant kanban. */\nexport type KanbanItems = Kanban & { spec: KanbanItemsSpec };\n\nexport const isKanbanView = (kanban: Kanban): kanban is KanbanView => kanban.spec.kind === 'view';\nexport const isKanbanItems = (kanban: Kanban): kanban is KanbanItems => kanban.spec.kind === 'items';\n\ntype MakeViewProps = {\n name?: string;\n view: View.View;\n arrangement?: Arrangement;\n};\n\n/**\n * Make a view-variant kanban (items sourced via the View's query).\n */\nexport const make = (props: MakeViewProps): Kanban => {\n const { name, view, arrangement } = props;\n const order = arrangement?.order ?? [];\n const columns = arrangement?.columns ?? {};\n return Obj.make(Kanban, {\n name,\n arrangement: { order, columns },\n spec: { kind: 'view' as const, view: Ref.make(view) },\n });\n};\n\ntype MakeItemsProps = {\n name?: string;\n arrangement?: Arrangement;\n pivotField: string;\n items?: ReadonlyArray<Ref.Ref<Obj.Unknown>>;\n};\n\n/**\n * Make an items-variant kanban (items list owned by the kanban itself, e.g. populated by a sync integration).\n */\nexport const makeItems = (props: MakeItemsProps): Kanban => {\n const { name, arrangement, pivotField, items = [] } = props;\n const order = arrangement?.order ?? [];\n const columns = arrangement?.columns ?? {};\n return Obj.make(Kanban, {\n name,\n arrangement: { order, columns },\n spec: { kind: 'items' as const, pivotField, items },\n });\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { TypeInputOptionsAnnotation } from '@dxos/plugin-space/types';\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(wittjosiah): Factor out?\nexport const PivotColumnAnnotationId = Symbol.for('@dxos/plugin-kanban/annotation/PivotColumn');\n\n/**\n * Settings common to every Kanban (view or items). Rendered as form fields\n * by `KanbanSettings`.\n */\nexport const KanbanSettingsSchema = Schema.Struct({\n hideUncategorized: Schema.Boolean.annotations({\n title: 'Hide uncategorized column',\n description: 'When enabled, items without a pivot value won’t be shown as a column.',\n }).pipe(Schema.optional),\n});\n\n/**\n * Settings for view-variant Kanbans only. Spreads {@link KanbanSettingsSchema}'s\n * fields and adds a column-field picker that binds the View’s pivot field.\n * Items-variant kanbans use a hardcoded `spec.pivotField` and don’t expose\n * this control.\n */\nexport const KanbanViewSettingsSchema = Schema.Struct({\n columnFieldId: Schema.String.annotations({\n title: 'Column field',\n }),\n ...KanbanSettingsSchema.fields,\n});\n\nexport const CreateKanbanSchema = Schema.Struct({\n name: Schema.optional(Schema.String),\n // TODO(wittjosiah): This should be a query input instead.\n typename: Schema.String.pipe(\n Schema.annotations({ title: 'Select card type' }),\n TypeInputOptionsAnnotation.set({\n location: ['database', 'runtime'],\n kind: ['user'],\n }),\n Schema.optional,\n ),\n initialPivotColumn: Schema.optional(\n Schema.String.annotations({\n [PivotColumnAnnotationId]: true,\n title: 'Pivot column',\n }),\n ),\n});\n"],
5
+ "mappings": ";;;;;AAIO,IAAMA,sBAAsB;AAC5B,IAAMC,2BAA2B;EACtCC,OAAO;EACPC,OAAO;AACT;;;ACRA;;;;;;;;;;;;;AAIA,YAAYC,YAAY;AAExB,SAASC,YAAYC,KAAKC,KAAKC,YAAY;AAC3C,SAASC,YAAY;AACrB,SAASC,qBAAqBC,uBAAuB;AACrD,SAASC,sBAAsB;AAQ/B,IAAMC,yBAAgCC,cAAO;EAC3CC,KAAYC,aAAMV,IAAIW,EAAE;EACxBC,QAAeC,eAAQC,KAAYC,eAAQ;AAC7C,CAAA;AAGA,IAAMC,qBAA4BC,cAAO;EACvCC,KAAYC;EACZC,OAAOb;AACT,CAAA,EAAGO,KAAKV,oBAAoBiB,IAAI,KAAA,CAAA;AAGzB,IAAMC,cAAqBd,cAAO;EACvCe,OAAcb,aAAaS,aAAM,EAAEL,KAAKV,oBAAoBiB,IAAI,KAAA,CAAA;EAChEG,SAASR;AACX,CAAA,EAAGF,KAAKV,oBAAoBiB,IAAI,KAAA,CAAA;AAOzB,IAAMI,WAAkBjB,cAAO;EACpCkB,MAAaP,cAAOL,KAAYC,eAAQ;EACxCY,MAAM1B,IAAIA,IAAIE,KAAKA,IAAI,EAAEW,KAAKV,oBAAoBiB,IAAI,KAAA,CAAA;EACtDO,aAAaN;AACf,CAAA,EAAGR,KACDZ,KAAK2B,OAAO;EACVC,UAAU;EACVC,SAAS;AACX,CAAA,CAAA;AAcK,IAAMC,iBAAwBxB,cAAO;EAC1CyB,MAAaC,eAAQ,MAAA,EAAQpB,KAAKV,oBAAoBiB,IAAI,KAAA,CAAA;EAC1DM,MAAM1B,IAAIA,IAAIE,KAAKA,IAAI,EAAEW,KAAKV,oBAAoBiB,IAAI,KAAA,CAAA;AACxD,CAAA;AAIO,IAAMc,kBAAyB3B,cAAO;EAC3CyB,MAAaC,eAAQ,OAAA,EAASpB,KAAKV,oBAAoBiB,IAAI,KAAA,CAAA;;EAE3De,YAAmBjB;;EAEnBkB,OAAc3B,aAAMT,IAAIA,IAAID,IAAIsC,OAAO,CAAA,EAAGxB,KAAKV,oBAAoBiB,IAAI,KAAA,CAAA;AACzE,CAAA;AAIO,IAAMkB,aAAoBC,aAAMR,gBAAgBG,eAAAA;AAGhD,IAAMM,SAAgBjC,cAAO;EAClCkB,MAAaP,cAAOL,KAAYC,eAAQ;EACxCa,aAAaN;;EAEboB,MAAMH;AACR,CAAA,EAAGzB,KACDZ,KAAK2B,OAAO;EACVC,UAAU;EACVC,SAAS;AACX,CAAA,GACA1B,gBAAgBgB,IAAI;EAAC;CAAO,GAC5Bf,eAAee,IAAI;EAAC;EAAQ;CAAO,GACnCtB,WAAW4C,eAAetB,IAAI;EAC5BuB,MAAM;EACNC,KAAK;AACP,CAAA,CAAA;AAYK,IAAMC,eAAe,CAACC,WAAyCA,OAAOL,KAAKT,SAAS;AACpF,IAAMe,gBAAgB,CAACD,WAA0CA,OAAOL,KAAKT,SAAS;AAWtF,IAAMgB,OAAO,CAACC,UAAAA;AACnB,QAAM,EAAExB,MAAMC,MAAMC,YAAW,IAAKsB;AACpC,QAAM3B,QAAQK,aAAaL,SAAS,CAAA;AACpC,QAAMC,UAAUI,aAAaJ,WAAW,CAAC;AACzC,SAAOxB,IAAIiD,KAAKR,QAAQ;IACtBf;IACAE,aAAa;MAAEL;MAAOC;IAAQ;IAC9BkB,MAAM;MAAET,MAAM;MAAiBN,MAAM1B,IAAIgD,KAAKtB,IAAAA;IAAM;EACtD,CAAA;AACF;AAYO,IAAMwB,YAAY,CAACD,UAAAA;AACxB,QAAM,EAAExB,MAAME,aAAaQ,YAAYC,QAAQ,CAAA,EAAE,IAAKa;AACtD,QAAM3B,QAAQK,aAAaL,SAAS,CAAA;AACpC,QAAMC,UAAUI,aAAaJ,WAAW,CAAC;AACzC,SAAOxB,IAAIiD,KAAKR,QAAQ;IACtBf;IACAE,aAAa;MAAEL;MAAOC;IAAQ;IAC9BkB,MAAM;MAAET,MAAM;MAAkBG;MAAYC;IAAM;EACpD,CAAA;AACF;;;AClJA,YAAYe,aAAY;AAExB,SAASC,kCAAkC;AAYpC,IAAMC,0BAA0BC,uBAAOC,IAAI,4CAAA;AAM3C,IAAMC,uBAA8BC,eAAO;EAChDC,mBAA0BC,gBAAQC,YAAY;IAC5CC,OAAO;IACPC,aAAa;EACf,CAAA,EAAGC,KAAYC,gBAAQ;AACzB,CAAA;AAQO,IAAMC,2BAAkCR,eAAO;EACpDS,eAAsBC,eAAOP,YAAY;IACvCC,OAAO;EACT,CAAA;EACA,GAAGL,qBAAqBY;AAC1B,CAAA;AAEO,IAAMC,qBAA4BZ,eAAO;EAC9Ca,MAAaN,iBAAgBG,cAAM;;EAEnCI,UAAiBJ,eAAOJ,KACfH,oBAAY;IAAEC,OAAO;EAAmB,CAAA,GAC/CT,2BAA2BoB,IAAI;IAC7BC,UAAU;MAAC;MAAY;;IACvBC,MAAM;MAAC;;EACT,CAAA,GACOV,gBAAQ;EAEjBW,oBAA2BX,iBAClBG,eAAOP,YAAY;IACxB,CAACP,uBAAAA,GAA0B;IAC3BQ,OAAO;EACT,CAAA,CAAA;AAEJ,CAAA;",
6
+ "names": ["UNCATEGORIZED_VALUE", "UNCATEGORIZED_ATTRIBUTES", "title", "color", "Schema", "Annotation", "Obj", "Ref", "Type", "View", "FormInputAnnotation", "LabelAnnotation", "ViewAnnotation", "ArrangementColumnEntry", "Struct", "ids", "Array", "ID", "hidden", "Boolean", "pipe", "optional", "ArrangementColumns", "Record", "key", "String", "value", "set", "Arrangement", "order", "columns", "KanbanV1", "name", "view", "arrangement", "object", "typename", "version", "KanbanViewSpec", "kind", "Literal", "KanbanItemsSpec", "pivotField", "items", "Unknown", "KanbanSpec", "Union", "Kanban", "spec", "IconAnnotation", "icon", "hue", "isKanbanView", "kanban", "isKanbanItems", "make", "props", "makeItems", "Schema", "TypeInputOptionsAnnotation", "PivotColumnAnnotationId", "Symbol", "for", "KanbanSettingsSchema", "Struct", "hideUncategorized", "Boolean", "annotations", "title", "description", "pipe", "optional", "KanbanViewSettingsSchema", "columnFieldId", "String", "fields", "CreateKanbanSchema", "name", "typename", "set", "location", "kind", "initialPivotColumn"]
7
7
  }
@@ -2,7 +2,7 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import "../chunk-HSLMI22Q.mjs";
3
3
 
4
4
  // src/blueprints/kanban-blueprint.ts
5
- import { Blueprint, Template } from "@dxos/blueprints";
5
+ import { Blueprint, Template } from "@dxos/compute";
6
6
  import { trim } from "@dxos/util";
7
7
  var BLUEPRINT_KEY = "org.dxos.blueprint.kanban";
8
8
  var make = () => Blueprint.make({
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/blueprints/kanban-blueprint.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type AppCapabilities } from '@dxos/app-toolkit';\nimport { Blueprint, Template } from '@dxos/blueprints';\nimport { trim } from '@dxos/util';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.kanban';\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Kanban',\n tools: Blueprint.toolDefinitions({ tools: [] }),\n instructions: Template.make({\n source: trim`\n You can create and update kanban boards to show data in sorted columns defined by schema.\n `,\n }),\n });\n\nconst blueprint: AppCapabilities.BlueprintDefinition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n"],
5
- "mappings": ";;;;AAKA,SAASA,WAAWC,gBAAgB;AACpC,SAASC,YAAY;AAErB,IAAMC,gBAAgB;AAEtB,IAAMC,OAAO,MACXC,UAAUD,KAAK;EACbE,KAAKH;EACLI,MAAM;EACNC,OAAOH,UAAUI,gBAAgB;IAAED,OAAO,CAAA;EAAG,CAAA;EAC7CE,cAAcC,SAASP,KAAK;IAC1BQ,QAAQC;;;EAGV,CAAA;AACF,CAAA;AAEF,IAAMC,YAAiD;EACrDR,KAAKH;EACLC;AACF;AAEA,IAAA,2BAAeU;",
6
- "names": ["Blueprint", "Template", "trim", "BLUEPRINT_KEY", "make", "Blueprint", "key", "name", "tools", "toolDefinitions", "instructions", "Template", "source", "trim", "blueprint"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Blueprint, Template } from '@dxos/compute';\nimport { trim } from '@dxos/util';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.kanban';\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Kanban',\n tools: Blueprint.toolDefinitions({ tools: [] }),\n instructions: Template.make({\n source: trim`\n You can create and update kanban boards to show data in sorted columns defined by schema.\n `,\n }),\n });\n\nconst blueprint: Blueprint.Definition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n"],
5
+ "mappings": ";;;;AAIA,SAASA,WAAWC,gBAAgB;AACpC,SAASC,YAAY;AAErB,IAAMC,gBAAgB;AAEtB,IAAMC,OAAO,MACXJ,UAAUI,KAAK;EACbC,KAAKF;EACLG,MAAM;EACNC,OAAOP,UAAUQ,gBAAgB;IAAED,OAAO,CAAA;EAAG,CAAA;EAC7CE,cAAcR,SAASG,KAAK;IAC1BM,QAAQR;;;EAGV,CAAA;AACF,CAAA;AAEF,IAAMS,YAAkC;EACtCN,KAAKF;EACLC;AACF;AAEA,IAAA,2BAAeO;",
6
+ "names": ["Blueprint", "Template", "trim", "BLUEPRINT_KEY", "make", "key", "name", "tools", "toolDefinitions", "instructions", "source", "blueprint"]
7
7
  }
@@ -15,8 +15,8 @@ __export(definitions_exports, {
15
15
  });
16
16
  import * as Schema from "effect/Schema";
17
17
  import { Capability } from "@dxos/app-framework";
18
+ import { Operation } from "@dxos/compute";
18
19
  import { View } from "@dxos/echo";
19
- import { Operation } from "@dxos/operation";
20
20
  import { meta } from "#meta";
21
21
  var KANBAN_OPERATION = `${meta.id}.operation`;
22
22
  var DeleteCardFieldOutput = Schema.Struct({
@@ -103,4 +103,4 @@ export {
103
103
  RestoreCard,
104
104
  definitions_exports
105
105
  };
106
- //# sourceMappingURL=chunk-6LELYA2G.mjs.map
106
+ //# sourceMappingURL=chunk-W2RNFBMZ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/definitions.ts"],
4
+ "sourcesContent": ["// Copyright 2025 DXOS.org\n\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/compute';\nimport { View } from '@dxos/echo';\n\nimport { meta } from '#meta';\n\nconst KANBAN_OPERATION = `${meta.id}.operation`;\n\nexport const DeleteCardFieldOutput = Schema.Struct({\n field: View.FieldSchema.annotations({ description: 'The deleted field schema.' }),\n props: Schema.Any.annotations({ description: 'The deleted field properties.' }),\n index: Schema.Number.annotations({ description: 'The index the field was at.' }),\n});\n\nexport type DeleteCardFieldOutput = Schema.Schema.Type<typeof DeleteCardFieldOutput>;\n\nexport const DeleteCardField = Operation.make({\n meta: { key: `${KANBAN_OPERATION}.delete-card-field`, name: 'Delete Card Field' },\n services: [Capability.Service],\n input: Schema.Struct({\n view: View.View,\n fieldId: Schema.String,\n }),\n output: DeleteCardFieldOutput,\n});\n\nexport const DeleteCardOutput = Schema.Struct({\n card: Schema.Any.annotations({ description: 'The deleted card.' }),\n});\n\nexport type DeleteCardOutput = Schema.Schema.Type<typeof DeleteCardOutput>;\n\nexport const DeleteCard = Operation.make({\n meta: { key: `${KANBAN_OPERATION}.delete-card`, name: 'Delete Card' },\n input: Schema.Struct({\n card: Schema.Any,\n }),\n output: DeleteCardOutput,\n});\n\nexport const RestoreCardField = Operation.make({\n meta: { key: `${KANBAN_OPERATION}.restore-card-field`, name: 'Restore Card Field' },\n services: [Capability.Service],\n input: Schema.Struct({\n view: View.View.annotations({ description: 'The view to restore the field to.' }),\n field: View.FieldSchema.annotations({ description: 'The field schema to restore.' }),\n props: Schema.Any.annotations({ description: 'The field properties to restore.' }),\n index: Schema.Number.annotations({ description: 'The index to restore the field at.' }),\n }),\n output: Schema.Void,\n});\n\nexport const RestoreCard = Operation.make({\n meta: { key: `${KANBAN_OPERATION}.restore-card`, name: 'Restore Card' },\n input: Schema.Struct({\n card: Schema.Any.annotations({ description: 'The card to restore.' }),\n }),\n output: Schema.Void,\n});\n"],
5
+ "mappings": ";;;;;;AAAA;;;;;;;;;AAEA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAC1B,SAASC,YAAY;AAErB,SAASC,YAAY;AAErB,IAAMC,mBAAmB,GAAGD,KAAKE,EAAE;AAE5B,IAAMC,wBAA+BC,cAAO;EACjDC,OAAON,KAAKO,YAAYC,YAAY;IAAEC,aAAa;EAA4B,CAAA;EAC/EC,OAAcC,WAAIH,YAAY;IAAEC,aAAa;EAAgC,CAAA;EAC7EG,OAAcC,cAAOL,YAAY;IAAEC,aAAa;EAA8B,CAAA;AAChF,CAAA;AAIO,IAAMK,kBAAkBf,UAAUgB,KAAK;EAC5Cd,MAAM;IAAEe,KAAK,GAAGd,gBAAAA;IAAsCe,MAAM;EAAoB;EAChFC,UAAU;IAACpB,WAAWqB;;EACtBC,OAAcf,cAAO;IACnBgB,MAAMrB,KAAKA;IACXsB,SAAgBC;EAClB,CAAA;EACAC,QAAQpB;AACV,CAAA;AAEO,IAAMqB,mBAA0BpB,cAAO;EAC5CqB,MAAaf,WAAIH,YAAY;IAAEC,aAAa;EAAoB,CAAA;AAClE,CAAA;AAIO,IAAMkB,aAAa5B,UAAUgB,KAAK;EACvCd,MAAM;IAAEe,KAAK,GAAGd,gBAAAA;IAAgCe,MAAM;EAAc;EACpEG,OAAcf,cAAO;IACnBqB,MAAaf;EACf,CAAA;EACAa,QAAQC;AACV,CAAA;AAEO,IAAMG,mBAAmB7B,UAAUgB,KAAK;EAC7Cd,MAAM;IAAEe,KAAK,GAAGd,gBAAAA;IAAuCe,MAAM;EAAqB;EAClFC,UAAU;IAACpB,WAAWqB;;EACtBC,OAAcf,cAAO;IACnBgB,MAAMrB,KAAKA,KAAKQ,YAAY;MAAEC,aAAa;IAAoC,CAAA;IAC/EH,OAAON,KAAKO,YAAYC,YAAY;MAAEC,aAAa;IAA+B,CAAA;IAClFC,OAAcC,WAAIH,YAAY;MAAEC,aAAa;IAAmC,CAAA;IAChFG,OAAcC,cAAOL,YAAY;MAAEC,aAAa;IAAqC,CAAA;EACvF,CAAA;EACAe,QAAeK;AACjB,CAAA;AAEO,IAAMC,cAAc/B,UAAUgB,KAAK;EACxCd,MAAM;IAAEe,KAAK,GAAGd,gBAAAA;IAAiCe,MAAM;EAAe;EACtEG,OAAcf,cAAO;IACnBqB,MAAaf,WAAIH,YAAY;MAAEC,aAAa;IAAuB,CAAA;EACrE,CAAA;EACAe,QAAeK;AACjB,CAAA;",
6
+ "names": ["Schema", "Capability", "Operation", "View", "meta", "KANBAN_OPERATION", "id", "DeleteCardFieldOutput", "Struct", "field", "FieldSchema", "annotations", "description", "props", "Any", "index", "Number", "DeleteCardField", "make", "key", "name", "services", "Service", "input", "view", "fieldId", "String", "output", "DeleteCardOutput", "card", "DeleteCard", "RestoreCardField", "Void", "RestoreCard"]
7
+ }
@@ -1,26 +1,18 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  DeleteCard
4
- } from "./chunk-6LELYA2G.mjs";
4
+ } from "./chunk-W2RNFBMZ.mjs";
5
5
  import "./chunk-HSLMI22Q.mjs";
6
6
 
7
7
  // src/operations/delete-card.ts
8
8
  import * as Effect from "effect/Effect";
9
+ import { Operation } from "@dxos/compute";
9
10
  import { Obj } from "@dxos/echo";
10
11
  import { invariant } from "@dxos/invariant";
11
- import { Operation } from "@dxos/operation";
12
12
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-kanban/src/operations/delete-card.ts";
13
13
  var handler = DeleteCard.pipe(Operation.withHandler(({ card }) => Effect.sync(() => {
14
14
  const db = Obj.getDatabase(card);
15
- invariant(db, void 0, {
16
- F: __dxlog_file,
17
- L: 15,
18
- S: void 0,
19
- A: [
20
- "db",
21
- ""
22
- ]
23
- });
15
+ invariant(db, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 9, S: void 0, A: ["db", ""] });
24
16
  db.remove(card);
25
17
  return {
26
18
  card
@@ -30,4 +22,4 @@ var delete_card_default = handler;
30
22
  export {
31
23
  delete_card_default as default
32
24
  };
33
- //# sourceMappingURL=delete-card-5PW5OMFN.mjs.map
25
+ //# sourceMappingURL=delete-card-ZIREL6HN.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/delete-card.ts"],
4
+ "sourcesContent": ["// Copyright 2025 DXOS.org\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Obj } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\n\nimport { DeleteCard } from './definitions';\n\nconst handler: Operation.WithHandler<typeof DeleteCard> = DeleteCard.pipe(\n Operation.withHandler(({ card }) =>\n Effect.sync(() => {\n const db = Obj.getDatabase(card);\n invariant(db);\n db.remove(card);\n\n return { card };\n }),\n ),\n);\n\nexport default handler;\n"],
5
+ "mappings": ";;;;;;;AAEA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,WAAW;AACpB,SAASC,iBAAiB;AAI1B,IAAA,eAA0DC;cAIpDC,WAAUC,KAAAA,UAAAA,YAAAA,CAAAA,EAAAA,KAAAA,MAAAA,YAAAA,MAAAA;AACVA,QAAGC,KAAOC,IAAAA,YAAAA,IAAAA;AAEV,YAAO,IAAA,QAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,GAAA,GAAA,QAAA,GAAA,CAAA,MAAA,EAAA,EAAA,CAAA;YAAEA,IAAAA;AAAK,SAAA;IAChB;EAIJ;;;",
6
+ "names": ["Effect", "Operation", "Obj", "invariant", "DeleteCard", "invariant", "db", "remove", "card"]
7
+ }
@@ -1,29 +1,21 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  DeleteCardField
4
- } from "./chunk-6LELYA2G.mjs";
4
+ } from "./chunk-W2RNFBMZ.mjs";
5
5
  import "./chunk-HSLMI22Q.mjs";
6
6
 
7
7
  // src/operations/delete-card-field.ts
8
8
  import * as Effect from "effect/Effect";
9
9
  import { Capabilities, Capability } from "@dxos/app-framework";
10
+ import { Operation } from "@dxos/compute";
10
11
  import { JsonSchema, Obj } from "@dxos/echo";
11
12
  import { invariant } from "@dxos/invariant";
12
- import { Operation } from "@dxos/operation";
13
13
  import { ProjectionModel, createEchoChangeCallback, getTypenameFromQuery } from "@dxos/schema";
14
14
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-kanban/src/operations/delete-card-field.ts";
15
15
  var handler = DeleteCardField.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ view, fieldId }) {
16
16
  const registry = yield* Capability.get(Capabilities.AtomRegistry);
17
17
  const db = Obj.getDatabase(view);
18
- invariant(db, "Database not found", {
19
- F: __dxlog_file,
20
- L: 19,
21
- S: this,
22
- A: [
23
- "db",
24
- "'Database not found'"
25
- ]
26
- });
18
+ invariant(db, "Database not found", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 12, S: this, A: ["db", "'Database not found'"] });
27
19
  const schema = yield* Effect.promise(() => db.schemaRegistry.query({
28
20
  typename: getTypenameFromQuery(view.query.ast),
29
21
  location: [
@@ -48,4 +40,4 @@ var delete_card_field_default = handler;
48
40
  export {
49
41
  delete_card_field_default as default
50
42
  };
51
- //# sourceMappingURL=delete-card-field-KPJU2AQ3.mjs.map
43
+ //# sourceMappingURL=delete-card-field-IPTEGVPP.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/delete-card-field.ts"],
4
+ "sourcesContent": ["// Copyright 2025 DXOS.org\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/compute';\nimport { JsonSchema, Obj } from '@dxos/echo';\nimport { type EchoSchema } from '@dxos/echo/internal';\nimport { invariant } from '@dxos/invariant';\nimport { ProjectionModel, createEchoChangeCallback, getTypenameFromQuery } from '@dxos/schema';\n\nimport { DeleteCardField } from './definitions';\n\nconst handler: Operation.WithHandler<typeof DeleteCardField> = DeleteCardField.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* ({ view, fieldId }) {\n const registry = yield* Capability.get(Capabilities.AtomRegistry);\n const db = Obj.getDatabase(view);\n invariant(db, 'Database not found');\n const schema = yield* Effect.promise(() =>\n db.schemaRegistry\n .query({\n typename: getTypenameFromQuery(view.query.ast)!,\n location: ['database', 'runtime'],\n })\n .first(),\n );\n\n const projection = new ProjectionModel({\n registry,\n view,\n baseSchema: JsonSchema.toJsonSchema(schema),\n change: createEchoChangeCallback(view, schema as EchoSchema),\n });\n\n const result = projection.deleteFieldProjection(fieldId);\n\n return {\n field: result.deleted.field,\n props: result.deleted.props,\n index: result.index,\n };\n }),\n ),\n);\n\nexport default handler;\n"],
5
+ "mappings": ";;;;;;;AAEA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,iBAAiB;AAC1B,SAASC,YAAYC,WAAW;AAEhC,SAASC,iBAAiB;AAC1B,SAASC,iBAAiBC,0BAA0BC,4BAA4B;AAIhF,IAAA,eAA+DC;IAIzD,UAAWC,gBAAgBC,KAAAA,UAAAA,YAAAA,kBAAAA,WAAAA,EAAAA,MAAAA,QAAAA,GAAAA;AAC3BC,QAAAA,WAAc,OAAA,WAAA,IAAA,aAAA,YAAA;AACd,QAAMC,KAAAA,IAAS,YAAOC,IAAOC;YAGvBC,IAAAA,sBAAUC,EAAAA,YAA0BC,YAAS,GAAA,cAAA,GAAA,IAAA,GAAA,MAAA,GAAA,CAAA,MAAA,sBAAA,EAAA,CAAA;iBAC7CC,OAAU,eAAA,MAAA,GAAA,eAAA,MAAA;cAAC,qBAAA,KAAA,MAAA,GAAA;cAAY;MAAU;MAE7B;IAGJC;EACJC,CAAAA,EAAAA,MAAAA,CAAAA;QACAV,aAAAA,IAAAA,gBAAAA;IACAW;IACAC;IACF,YAAA,WAAA,aAAA,MAAA;IAEA,QAAMC,yBAAoBC,MAAAA,MAAsBC;EAEhD,CAAA;QACEC,SAAOH,WAAeG,sBAAK,OAAA;SAC3BC;IACAC,OAAOL,OAAOK,QAAK;IACrB,OAAA,OAAA,QAAA;IACF,OAAA,OAAA;EAIJ;;;",
6
+ "names": ["Effect", "Capabilities", "Capability", "Operation", "JsonSchema", "Obj", "invariant", "ProjectionModel", "createEchoChangeCallback", "getTypenameFromQuery", "DeleteCardField", "Obj", "view", "invariant", "schema", "Effect", "promise", "typename", "getTypenameFromQuery", "query", "location", "projection", "registry", "baseSchema", "change", "result", "deleteFieldProjection", "fieldId", "field", "props", "index"]
7
+ }
@@ -1,6 +1,9 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import "./chunk-HSLMI22Q.mjs";
3
3
 
4
+ // src/index.ts
5
+ import { Plugin } from "@dxos/app-framework";
6
+
4
7
  // src/meta.ts
5
8
  import { trim } from "@dxos/util";
6
9
  var meta = {
@@ -18,103 +21,8 @@ var meta = {
18
21
  ]
19
22
  };
20
23
 
21
- // src/KanbanPlugin.tsx
22
- import * as Effect from "effect/Effect";
23
- import * as Option from "effect/Option";
24
- import { Plugin } from "@dxos/app-framework";
25
- import { AppPlugin } from "@dxos/app-toolkit";
26
- import { Annotation, Type as Type2 } from "@dxos/echo";
27
- import { Operation } from "@dxos/operation";
28
- import { SpaceOperation } from "@dxos/plugin-space/operations";
29
- import { ViewModel } from "@dxos/schema";
30
- import { BlueprintDefinition, OperationHandler, UndoMappings, ReactSurface } from "#capabilities";
31
- import { meta as meta3 } from "#meta";
32
- import { CreateKanbanSchema, Kanban as Kanban2 } from "#types";
33
-
34
- // src/translations.ts
35
- import { Type } from "@dxos/echo";
36
- import { meta as meta2 } from "#meta";
37
- import { Kanban } from "#types";
38
- var translations = [
39
- {
40
- "en-US": {
41
- [Type.getTypename(Kanban.Kanban)]: {
42
- "typename.label": "Kanban",
43
- "typename.label_zero": "Kanbans",
44
- "typename.label_one": "Kanban",
45
- "typename.label_other": "Kanbans",
46
- "object-name.placeholder": "New kanban",
47
- "add-object.label": "Add kanban",
48
- "rename-object.label": "Rename kanban",
49
- "delete-object.label": "Delete kanban",
50
- "object-deleted.label": "Kanban deleted"
51
- },
52
- [meta2.id]: {
53
- "action-menu.label": "Actions",
54
- "plugin.name": "Kanban",
55
- "kanban-title.label": "Title",
56
- "column-title.label": "Column title",
57
- "column-title.placeholder": "New column",
58
- "add-column.label": "Add column",
59
- "add-card.label": "Add card",
60
- "new-column-name.label": "New column name",
61
- "remove-card.label": "Remove card",
62
- "remove-empty-column.label": "Remove empty column",
63
- "column-drag-handle.label": "Drag to rearrange",
64
- "delete-column.label": "Delete column",
65
- "card-field-deleted.label": "Card field deleted",
66
- "card-deleted.label": "Card deleted",
67
- "select-pivot.placeholder": "Select a pivot column in board settings to display columns."
68
- }
69
- }
70
- }
71
- ];
72
-
73
- // src/KanbanPlugin.tsx
74
- var KanbanPlugin = Plugin.define(meta3).pipe(AppPlugin.addBlueprintDefinitionModule({
75
- activate: BlueprintDefinition
76
- }), AppPlugin.addMetadataModule({
77
- metadata: {
78
- id: Type2.getTypename(Kanban2.Kanban),
79
- metadata: {
80
- icon: Annotation.IconAnnotation.get(Kanban2.Kanban).pipe(Option.getOrThrow).icon,
81
- iconHue: Annotation.IconAnnotation.get(Kanban2.Kanban).pipe(Option.getOrThrow).hue ?? "white",
82
- inputSchema: CreateKanbanSchema,
83
- createObject: (props, options) => Effect.gen(function* () {
84
- const object = yield* Effect.promise(async () => {
85
- const { view } = await ViewModel.makeFromDatabase({
86
- db: options.db,
87
- typename: props.typename,
88
- pivotFieldName: props.initialPivotColumn
89
- });
90
- return Kanban2.make({
91
- name: props.name,
92
- view
93
- });
94
- });
95
- return yield* Operation.invoke(SpaceOperation.AddObject, {
96
- object,
97
- target: options.target,
98
- hidden: true,
99
- targetNodeId: options.targetNodeId
100
- });
101
- })
102
- }
103
- }
104
- }), AppPlugin.addOperationHandlerModule({
105
- activate: OperationHandler
106
- }), AppPlugin.addOperationHandlerModule({
107
- id: "undo-mappings",
108
- activate: UndoMappings
109
- }), AppPlugin.addSchemaModule({
110
- schema: [
111
- Kanban2.Kanban
112
- ]
113
- }), AppPlugin.addSurfaceModule({
114
- activate: ReactSurface
115
- }), AppPlugin.addTranslationsModule({
116
- translations
117
- }), Plugin.make);
24
+ // src/index.ts
25
+ var KanbanPlugin = Plugin.lazy(meta, () => import("#plugin"));
118
26
  export {
119
27
  KanbanPlugin,
120
28
  meta
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/meta.ts", "../../../src/KanbanPlugin.tsx", "../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.plugin.kanban',\n name: 'Kanban',\n description: trim`\n Visual project management using customizable kanban boards to track workflow progress.\n Organize table data into columns, drag and drop items between stages, and trigger automations based on status changes.\n `,\n icon: 'ph--kanban--regular',\n iconHue: 'green',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-kanban',\n screenshots: ['https://dxos.network/plugin-details-kanban-dark.png'],\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { Annotation, Type } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\nimport { SpaceOperation } from '@dxos/plugin-space/operations';\nimport { type CreateObject } from '@dxos/plugin-space/types';\nimport { ViewModel } from '@dxos/schema';\n\nimport { BlueprintDefinition, OperationHandler, UndoMappings, ReactSurface } from '#capabilities';\nimport { meta } from '#meta';\nimport { CreateKanbanSchema, Kanban } from '#types';\n\nimport { translations } from './translations';\n\nexport const KanbanPlugin = Plugin.define(meta).pipe(\n AppPlugin.addBlueprintDefinitionModule({ activate: BlueprintDefinition }),\n AppPlugin.addMetadataModule({\n metadata: {\n id: Type.getTypename(Kanban.Kanban),\n metadata: {\n icon: Annotation.IconAnnotation.get(Kanban.Kanban).pipe(Option.getOrThrow).icon,\n iconHue: Annotation.IconAnnotation.get(Kanban.Kanban).pipe(Option.getOrThrow).hue ?? 'white',\n inputSchema: CreateKanbanSchema,\n createObject: ((props, options) =>\n Effect.gen(function* () {\n const object = yield* Effect.promise(async () => {\n const { view } = await ViewModel.makeFromDatabase({\n db: options.db,\n typename: props.typename,\n pivotFieldName: props.initialPivotColumn,\n });\n return Kanban.make({ name: props.name, view });\n });\n return yield* Operation.invoke(SpaceOperation.AddObject, {\n object,\n target: options.target,\n hidden: true,\n targetNodeId: options.targetNodeId,\n });\n })) satisfies CreateObject,\n },\n },\n }),\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addOperationHandlerModule({ id: 'undo-mappings', activate: UndoMappings }),\n AppPlugin.addSchemaModule({ schema: [Kanban.Kanban] }),\n AppPlugin.addSurfaceModule({ activate: ReactSurface }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.make,\n);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Type } from '@dxos/echo';\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from '#meta';\nimport { Kanban } from '#types';\n\nexport const translations = [\n {\n 'en-US': {\n [Type.getTypename(Kanban.Kanban)]: {\n 'typename.label': 'Kanban',\n 'typename.label_zero': 'Kanbans',\n 'typename.label_one': 'Kanban',\n 'typename.label_other': 'Kanbans',\n 'object-name.placeholder': 'New kanban',\n 'add-object.label': 'Add kanban',\n 'rename-object.label': 'Rename kanban',\n 'delete-object.label': 'Delete kanban',\n 'object-deleted.label': 'Kanban deleted',\n },\n [meta.id]: {\n 'action-menu.label': 'Actions',\n 'plugin.name': 'Kanban',\n 'kanban-title.label': 'Title',\n 'column-title.label': 'Column title',\n 'column-title.placeholder': 'New column',\n 'add-column.label': 'Add column',\n 'add-card.label': 'Add card',\n 'new-column-name.label': 'New column name',\n 'remove-card.label': 'Remove card',\n 'remove-empty-column.label': 'Remove empty column',\n 'column-drag-handle.label': 'Drag to rearrange',\n 'delete-column.label': 'Delete column',\n 'card-field-deleted.label': 'Card field deleted',\n 'card-deleted.label': 'Card deleted',\n 'select-pivot.placeholder': 'Select a pivot column in board settings to display columns.',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
- "mappings": ";;;;AAKA,SAASA,YAAY;AAEd,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;EAIbC,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,aAAa;IAAC;;AAChB;;;ACdA,YAAYC,YAAY;AACxB,YAAYC,YAAY;AAExB,SAASC,cAAc;AACvB,SAASC,iBAAiB;AAC1B,SAASC,YAAYC,QAAAA,aAAY;AACjC,SAASC,iBAAiB;AAC1B,SAASC,sBAAsB;AAE/B,SAASC,iBAAiB;AAE1B,SAASC,qBAAqBC,kBAAkBC,cAAcC,oBAAoB;AAClF,SAASC,QAAAA,aAAY;AACrB,SAASC,oBAAoBC,UAAAA,eAAc;;;ACb3C,SAASC,YAAY;AAGrB,SAASC,QAAAA,aAAY;AACrB,SAASC,cAAc;AAEhB,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACC,KAAKC,YAAYC,OAAOA,MAAM,CAAA,GAAI;QACjC,kBAAkB;QAClB,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;QACxB,2BAA2B;QAC3B,oBAAoB;QACpB,uBAAuB;QACvB,uBAAuB;QACvB,wBAAwB;MAC1B;MACA,CAACC,MAAKC,EAAE,GAAG;QACT,qBAAqB;QACrB,eAAe;QACf,sBAAsB;QACtB,sBAAsB;QACtB,4BAA4B;QAC5B,oBAAoB;QACpB,kBAAkB;QAClB,yBAAyB;QACzB,qBAAqB;QACrB,6BAA6B;QAC7B,4BAA4B;QAC5B,uBAAuB;QACvB,4BAA4B;QAC5B,sBAAsB;QACtB,4BAA4B;MAC9B;IACF;EACF;;;;ADrBK,IAAMC,eAAeC,OAAOC,OAAOC,KAAAA,EAAMC,KAC9CC,UAAUC,6BAA6B;EAAEC,UAAUC;AAAoB,CAAA,GACvEH,UAAUI,kBAAkB;EAC1BC,UAAU;IACRC,IAAIC,MAAKC,YAAYC,QAAOA,MAAM;IAClCJ,UAAU;MACRK,MAAMC,WAAWC,eAAeC,IAAIJ,QAAOA,MAAM,EAAEV,KAAYe,iBAAU,EAAEJ;MAC3EK,SAASJ,WAAWC,eAAeC,IAAIJ,QAAOA,MAAM,EAAEV,KAAYe,iBAAU,EAAEE,OAAO;MACrFC,aAAaC;MACbC,cAAe,CAACC,OAAOC,YACdC,WAAI,aAAA;AACT,cAAMC,SAAS,OAAcC,eAAQ,YAAA;AACnC,gBAAM,EAAEC,KAAI,IAAK,MAAMC,UAAUC,iBAAiB;YAChDC,IAAIP,QAAQO;YACZC,UAAUT,MAAMS;YAChBC,gBAAgBV,MAAMW;UACxB,CAAA;AACA,iBAAOtB,QAAOuB,KAAK;YAAEC,MAAMb,MAAMa;YAAMR;UAAK,CAAA;QAC9C,CAAA;AACA,eAAO,OAAOS,UAAUC,OAAOC,eAAeC,WAAW;UACvDd;UACAe,QAAQjB,QAAQiB;UAChBC,QAAQ;UACRC,cAAcnB,QAAQmB;QACxB,CAAA;MACF,CAAA;IACJ;EACF;AACF,CAAA,GACAxC,UAAUyC,0BAA0B;EAAEvC,UAAUwC;AAAiB,CAAA,GACjE1C,UAAUyC,0BAA0B;EAAEnC,IAAI;EAAiBJ,UAAUyC;AAAa,CAAA,GAClF3C,UAAU4C,gBAAgB;EAAEC,QAAQ;IAACpC,QAAOA;;AAAQ,CAAA,GACpDT,UAAU8C,iBAAiB;EAAE5C,UAAU6C;AAAa,CAAA,GACpD/C,UAAUgD,sBAAsB;EAAEC;AAAa,CAAA,GAC/CrD,OAAOoC,IAAI;",
6
- "names": ["trim", "meta", "id", "name", "description", "trim", "icon", "iconHue", "source", "screenshots", "Effect", "Option", "Plugin", "AppPlugin", "Annotation", "Type", "Operation", "SpaceOperation", "ViewModel", "BlueprintDefinition", "OperationHandler", "UndoMappings", "ReactSurface", "meta", "CreateKanbanSchema", "Kanban", "Type", "meta", "Kanban", "translations", "Type", "getTypename", "Kanban", "meta", "id", "KanbanPlugin", "Plugin", "define", "meta", "pipe", "AppPlugin", "addBlueprintDefinitionModule", "activate", "BlueprintDefinition", "addMetadataModule", "metadata", "id", "Type", "getTypename", "Kanban", "icon", "Annotation", "IconAnnotation", "get", "getOrThrow", "iconHue", "hue", "inputSchema", "CreateKanbanSchema", "createObject", "props", "options", "gen", "object", "promise", "view", "ViewModel", "makeFromDatabase", "db", "typename", "pivotFieldName", "initialPivotColumn", "make", "name", "Operation", "invoke", "SpaceOperation", "AddObject", "target", "hidden", "targetNodeId", "addOperationHandlerModule", "OperationHandler", "UndoMappings", "addSchemaModule", "schema", "addSurfaceModule", "ReactSurface", "addTranslationsModule", "translations"]
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 KanbanPlugin = 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.kanban',\n name: 'Kanban',\n description: trim`\n Visual project management using customizable kanban boards to track workflow progress.\n Organize table data into columns, drag and drop items between stages, and trigger automations based on status changes.\n `,\n icon: 'ph--kanban--regular',\n iconHue: 'green',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-kanban',\n screenshots: ['https://dxos.network/plugin-details-kanban-dark.png'],\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,aAAa;IAAC;;AAChB;;;ADVO,IAAMC,eAAeC,OAAOC,KAAKC,MAAM,MAAM,OAAO,SAAA,CAAA;",
6
+ "names": ["Plugin", "trim", "meta", "id", "name", "description", "icon", "iconHue", "source", "screenshots", "KanbanPlugin", "Plugin", "lazy", "meta"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"src/meta.ts":{"bytes":2135,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/translations.ts":{"bytes":4847,"imports":[{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/KanbanPlugin.tsx":{"bytes":8752,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/operations","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true},{"path":"src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"src/index.ts":{"bytes":553,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/KanbanPlugin.tsx","kind":"import-statement","original":"./KanbanPlugin"}],"format":"esm"},"src/blueprints/kanban-blueprint.ts":{"bytes":2459,"imports":[{"path":"@dxos/blueprints","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/blueprints/index.ts":{"bytes":617,"imports":[{"path":"src/blueprints/kanban-blueprint.ts","kind":"import-statement","original":"./kanban-blueprint"}],"format":"esm"},"src/operations/definitions.ts":{"bytes":8334,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/operations/delete-card.ts":{"bytes":2308,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"}],"format":"esm"},"src/operations/delete-card-field.ts":{"bytes":5643,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"}],"format":"esm"},"src/operations/restore-card.ts":{"bytes":2199,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"}],"format":"esm"},"src/operations/restore-card-field.ts":{"bytes":5254,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"}],"format":"esm"},"src/operations/index.ts":{"bytes":1440,"imports":[{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"},{"path":"src/operations/delete-card.ts","kind":"dynamic-import","original":"./delete-card"},{"path":"src/operations/delete-card-field.ts","kind":"dynamic-import","original":"./delete-card-field"},{"path":"src/operations/restore-card.ts","kind":"dynamic-import","original":"./restore-card"},{"path":"src/operations/restore-card-field.ts","kind":"dynamic-import","original":"./restore-card-field"}],"format":"esm"},"src/types/constants.ts":{"bytes":965,"imports":[],"format":"esm"},"src/types/Kanban.ts":{"bytes":7110,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"src/types/schema.ts":{"bytes":4774,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true}],"format":"esm"},"src/types/index.ts":{"bytes":730,"imports":[{"path":"src/types/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/types/Kanban.ts","kind":"import-statement","original":"./Kanban"},{"path":"src/types/schema.ts","kind":"import-statement","original":"./schema"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7732},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/operations","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["KanbanPlugin","meta"],"entryPoint":"src/index.ts","inputs":{"src/meta.ts":{"bytesInOutput":554},"src/index.ts":{"bytesInOutput":0},"src/KanbanPlugin.tsx":{"bytesInOutput":2038},"src/translations.ts":{"bytesInOutput":1388}},"bytes":4263},"dist/lib/node-esm/blueprints/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1295},"dist/lib/node-esm/blueprints/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"@dxos/blueprints","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["KanbanBlueprint"],"entryPoint":"src/blueprints/index.ts","inputs":{"src/blueprints/kanban-blueprint.ts":{"bytesInOutput":528},"src/blueprints/index.ts":{"bytesInOutput":0}},"bytes":784},"dist/lib/node-esm/operations/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":719},"dist/lib/node-esm/operations/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-6LELYA2G.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"dist/lib/node-esm/delete-card-5PW5OMFN.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/delete-card-field-KPJU2AQ3.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/restore-card-X2TKMU5A.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/restore-card-field-IUTL4RTR.mjs","kind":"dynamic-import"}],"exports":["KanbanOperation","KanbanOperationHandlerSet"],"entryPoint":"src/operations/index.ts","inputs":{"src/operations/index.ts":{"bytesInOutput":307}},"bytes":639},"dist/lib/node-esm/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6401},"dist/lib/node-esm/types/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true}],"exports":["CreateKanbanSchema","Kanban","PivotColumnAnnotationId","SettingsSchema","UNCATEGORIZED_ATTRIBUTES","UNCATEGORIZED_VALUE"],"entryPoint":"src/types/index.ts","inputs":{"src/types/constants.ts":{"bytesInOutput":128},"src/types/index.ts":{"bytesInOutput":0},"src/types/Kanban.ts":{"bytesInOutput":1548},"src/types/schema.ts":{"bytesInOutput":858}},"bytes":2945},"dist/lib/node-esm/delete-card-5PW5OMFN.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1159},"dist/lib/node-esm/delete-card-5PW5OMFN.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-6LELYA2G.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/operations/delete-card.ts","inputs":{"src/operations/delete-card.ts":{"bytesInOutput":585}},"bytes":890},"dist/lib/node-esm/delete-card-field-KPJU2AQ3.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3091},"dist/lib/node-esm/delete-card-field-KPJU2AQ3.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-6LELYA2G.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/operations/delete-card-field.ts","inputs":{"src/operations/delete-card-field.ts":{"bytesInOutput":1380}},"bytes":1708},"dist/lib/node-esm/restore-card-X2TKMU5A.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1110},"dist/lib/node-esm/restore-card-X2TKMU5A.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-6LELYA2G.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/operations/restore-card.ts","inputs":{"src/operations/restore-card.ts":{"bytesInOutput":560}},"bytes":869},"dist/lib/node-esm/restore-card-field-IUTL4RTR.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2874},"dist/lib/node-esm/restore-card-field-IUTL4RTR.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-6LELYA2G.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/operations/restore-card-field.ts","inputs":{"src/operations/restore-card-field.ts":{"bytesInOutput":1297}},"bytes":1629},"dist/lib/node-esm/chunk-6LELYA2G.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4155},"dist/lib/node-esm/chunk-6LELYA2G.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"exports":["DeleteCard","DeleteCardField","RestoreCard","RestoreCardField","definitions_exports"],"inputs":{"src/operations/definitions.ts":{"bytesInOutput":2383}},"bytes":2707},"dist/lib/node-esm/chunk-HSLMI22Q.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/node-esm/chunk-HSLMI22Q.mjs":{"imports":[],"exports":["__export"],"inputs":{},"bytes":327}}}
1
+ {"inputs":{"src/meta.ts":{"bytes":2055,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":935,"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/blueprints/kanban-blueprint.ts":{"bytes":2249,"imports":[{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/blueprints/index.ts":{"bytes":525,"imports":[{"path":"src/blueprints/kanban-blueprint.ts","kind":"import-statement","original":"./kanban-blueprint"}],"format":"esm"},"src/operations/definitions.ts":{"bytes":8234,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/operations/delete-card.ts":{"bytes":2196,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"}],"format":"esm"},"src/operations/delete-card-field.ts":{"bytes":5565,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"}],"format":"esm"},"src/operations/restore-card.ts":{"bytes":2087,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"}],"format":"esm"},"src/operations/restore-card-field.ts":{"bytes":5176,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"}],"format":"esm"},"src/operations/index.ts":{"bytes":1342,"imports":[{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"},{"path":"src/operations/delete-card.ts","kind":"dynamic-import","original":"./delete-card"},{"path":"src/operations/delete-card-field.ts","kind":"dynamic-import","original":"./delete-card-field"},{"path":"src/operations/restore-card.ts","kind":"dynamic-import","original":"./restore-card"},{"path":"src/operations/restore-card-field.ts","kind":"dynamic-import","original":"./restore-card-field"}],"format":"esm"},"src/translations.ts":{"bytes":4755,"imports":[{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/types/constants.ts":{"bytes":874,"imports":[],"format":"esm"},"src/types/Kanban.ts":{"bytes":16046,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"src/types/schema.ts":{"bytes":6703,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true}],"format":"esm"},"src/types/index.ts":{"bytes":643,"imports":[{"path":"src/types/constants.ts","kind":"import-statement","original":"./constants"},{"path":"src/types/Kanban.ts","kind":"import-statement","original":"./Kanban"},{"path":"src/types/schema.ts","kind":"import-statement","original":"./schema"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/restore-card-field-L24WJXAW.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2606},"dist/lib/node-esm/restore-card-field-L24WJXAW.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-W2RNFBMZ.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/operations/restore-card-field.ts","inputs":{"src/operations/restore-card-field.ts":{"bytesInOutput":1283}},"bytes":1615},"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1386},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"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":["KanbanPlugin","meta"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":109},"src/meta.ts":{"bytesInOutput":554}},"bytes":906},"dist/lib/node-esm/blueprints/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1185},"dist/lib/node-esm/blueprints/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["KanbanBlueprint"],"entryPoint":"src/blueprints/index.ts","inputs":{"src/blueprints/kanban-blueprint.ts":{"bytesInOutput":525},"src/blueprints/index.ts":{"bytesInOutput":0}},"bytes":781},"dist/lib/node-esm/operations/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":694},"dist/lib/node-esm/operations/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-W2RNFBMZ.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"dist/lib/node-esm/delete-card-ZIREL6HN.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/delete-card-field-IPTEGVPP.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/restore-card-WJJ4YB7K.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/restore-card-field-L24WJXAW.mjs","kind":"dynamic-import"}],"exports":["KanbanOperation","KanbanOperationHandlerSet"],"entryPoint":"src/operations/index.ts","inputs":{"src/operations/index.ts":{"bytesInOutput":305}},"bytes":637},"dist/lib/node-esm/translations.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2225},"dist/lib/node-esm/translations.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["translations"],"entryPoint":"src/translations.ts","inputs":{"src/translations.ts":{"bytesInOutput":1378}},"bytes":1594},"dist/lib/node-esm/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":11599},"dist/lib/node-esm/types/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true}],"exports":["CreateKanbanSchema","Kanban","KanbanSettingsSchema","KanbanViewSettingsSchema","PivotColumnAnnotationId","UNCATEGORIZED_ATTRIBUTES","UNCATEGORIZED_VALUE"],"entryPoint":"src/types/index.ts","inputs":{"src/types/constants.ts":{"bytesInOutput":128},"src/types/index.ts":{"bytesInOutput":0},"src/types/Kanban.ts":{"bytesInOutput":3149},"src/types/schema.ts":{"bytesInOutput":1163}},"bytes":4885},"dist/lib/node-esm/delete-card-ZIREL6HN.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1103},"dist/lib/node-esm/delete-card-ZIREL6HN.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-W2RNFBMZ.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/operations/delete-card.ts","inputs":{"src/operations/delete-card.ts":{"bytesInOutput":570}},"bytes":875},"dist/lib/node-esm/delete-card-field-IPTEGVPP.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2819},"dist/lib/node-esm/delete-card-field-IPTEGVPP.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-W2RNFBMZ.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/operations/delete-card-field.ts","inputs":{"src/operations/delete-card-field.ts":{"bytesInOutput":1366}},"bytes":1694},"dist/lib/node-esm/restore-card-WJJ4YB7K.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1068},"dist/lib/node-esm/restore-card-WJJ4YB7K.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-W2RNFBMZ.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/operations/restore-card.ts","inputs":{"src/operations/restore-card.ts":{"bytesInOutput":545}},"bytes":854},"dist/lib/node-esm/chunk-W2RNFBMZ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4099},"dist/lib/node-esm/chunk-W2RNFBMZ.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-HSLMI22Q.mjs","kind":"import-statement"},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"exports":["DeleteCard","DeleteCardField","RestoreCard","RestoreCardField","definitions_exports"],"inputs":{"src/operations/definitions.ts":{"bytesInOutput":2381}},"bytes":2705},"dist/lib/node-esm/chunk-HSLMI22Q.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/node-esm/chunk-HSLMI22Q.mjs":{"imports":[],"exports":["__export"],"inputs":{},"bytes":327}}}