@dxos/plugin-kanban 0.8.2 → 0.8.3-main.7f5a14c

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 (44) hide show
  1. package/dist/lib/browser/{artifact-definition-7AVKC5KJ.mjs → artifact-definition-4WDQSM5T.mjs} +4 -4
  2. package/dist/lib/browser/artifact-definition-4WDQSM5T.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +3 -3
  4. package/dist/lib/browser/{intent-resolver-2R6I36UA.mjs → intent-resolver-PFTF7LGK.mjs} +12 -12
  5. package/dist/lib/browser/intent-resolver-PFTF7LGK.mjs.map +7 -0
  6. package/dist/lib/browser/meta.json +1 -1
  7. package/dist/lib/browser/{react-surface-W43CBHJ2.mjs → react-surface-XFOEQ2QC.mjs} +33 -27
  8. package/dist/lib/browser/react-surface-XFOEQ2QC.mjs.map +7 -0
  9. package/dist/lib/node/{artifact-definition-GAKXWPS3.cjs → artifact-definition-6ZUZO4DA.cjs} +12 -12
  10. package/dist/lib/node/artifact-definition-6ZUZO4DA.cjs.map +7 -0
  11. package/dist/lib/node/index.cjs +3 -3
  12. package/dist/lib/node/{intent-resolver-3WEAK7UE.cjs → intent-resolver-4UIAKMVQ.cjs} +14 -14
  13. package/dist/lib/node/intent-resolver-4UIAKMVQ.cjs.map +7 -0
  14. package/dist/lib/node/meta.json +1 -1
  15. package/dist/lib/node/{react-surface-YEBNJKHD.cjs → react-surface-NZ76FH63.cjs} +46 -40
  16. package/dist/lib/node/react-surface-NZ76FH63.cjs.map +7 -0
  17. package/dist/lib/node-esm/{artifact-definition-RH5KY7FP.mjs → artifact-definition-U7CM2ZXF.mjs} +4 -4
  18. package/dist/lib/node-esm/artifact-definition-U7CM2ZXF.mjs.map +7 -0
  19. package/dist/lib/node-esm/index.mjs +3 -3
  20. package/dist/lib/node-esm/{intent-resolver-XHHFK6V7.mjs → intent-resolver-CLQ7H4DK.mjs} +12 -12
  21. package/dist/lib/node-esm/intent-resolver-CLQ7H4DK.mjs.map +7 -0
  22. package/dist/lib/node-esm/meta.json +1 -1
  23. package/dist/lib/node-esm/{react-surface-Q73OORPI.mjs → react-surface-NY5ITVRV.mjs} +33 -27
  24. package/dist/lib/node-esm/react-surface-NY5ITVRV.mjs.map +7 -0
  25. package/dist/types/src/components/KanbanContainer.d.ts.map +1 -1
  26. package/dist/types/src/components/KanbanContainer.stories.d.ts.map +1 -1
  27. package/dist/types/src/testing/initialize-kanban.d.ts +2 -2
  28. package/dist/types/src/testing/initialize-kanban.d.ts.map +1 -1
  29. package/package.json +29 -29
  30. package/src/capabilities/artifact-definition.ts +2 -2
  31. package/src/capabilities/react-surface.tsx +5 -5
  32. package/src/components/KanbanContainer.stories.tsx +7 -6
  33. package/src/components/KanbanContainer.tsx +6 -9
  34. package/src/components/KanbanViewEditor.tsx +8 -8
  35. package/src/testing/initialize-kanban.ts +10 -21
  36. package/dist/lib/browser/artifact-definition-7AVKC5KJ.mjs.map +0 -7
  37. package/dist/lib/browser/intent-resolver-2R6I36UA.mjs.map +0 -7
  38. package/dist/lib/browser/react-surface-W43CBHJ2.mjs.map +0 -7
  39. package/dist/lib/node/artifact-definition-GAKXWPS3.cjs.map +0 -7
  40. package/dist/lib/node/intent-resolver-3WEAK7UE.cjs.map +0 -7
  41. package/dist/lib/node/react-surface-YEBNJKHD.cjs.map +0 -7
  42. package/dist/lib/node-esm/artifact-definition-RH5KY7FP.mjs.map +0 -7
  43. package/dist/lib/node-esm/intent-resolver-XHHFK6V7.mjs.map +0 -7
  44. package/dist/lib/node-esm/react-surface-Q73OORPI.mjs.map +0 -7
@@ -16,21 +16,21 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var artifact_definition_GAKXWPS3_exports = {};
20
- __export(artifact_definition_GAKXWPS3_exports, {
19
+ var artifact_definition_6ZUZO4DA_exports = {};
20
+ __export(artifact_definition_6ZUZO4DA_exports, {
21
21
  default: () => artifact_definition_default
22
22
  });
23
- module.exports = __toCommonJS(artifact_definition_GAKXWPS3_exports);
23
+ module.exports = __toCommonJS(artifact_definition_6ZUZO4DA_exports);
24
24
  var import_chunk_3BKBOGOH = require("./chunk-3BKBOGOH.cjs");
25
25
  var import_effect = require("effect");
26
26
  var import_ai = require("@dxos/ai");
27
27
  var import_app_framework = require("@dxos/app-framework");
28
28
  var import_artifact = require("@dxos/artifact");
29
29
  var import_assistant = require("@dxos/assistant");
30
- var import_echo_schema = require("@dxos/echo-schema");
30
+ var import_echo = require("@dxos/echo");
31
31
  var import_invariant = require("@dxos/invariant");
32
32
  var import_types = require("@dxos/plugin-space/types");
33
- var import_echo = require("@dxos/react-client/echo");
33
+ var import_echo2 = require("@dxos/react-client/echo");
34
34
  var import_react_ui_kanban = require("@dxos/react-ui-kanban");
35
35
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts";
36
36
  var QualifiedId = import_effect.Schema.String.annotations({
@@ -116,11 +116,11 @@ var artifact_definition_default = () => {
116
116
  ]
117
117
  });
118
118
  const space = extensions.space;
119
- const { objects: boards } = await space.db.query(import_echo.Filter.type(import_react_ui_kanban.KanbanType)).run();
119
+ const { objects: boards } = await space.db.query(import_echo2.Filter.type(import_react_ui_kanban.KanbanType)).run();
120
120
  const boardInfo = await Promise.all(boards.map(async (board) => {
121
121
  const view = await board.cardView?.load();
122
122
  return {
123
- id: (0, import_echo.fullyQualifiedId)(board),
123
+ id: (0, import_echo2.fullyQualifiedId)(board),
124
124
  typename: view?.query.typename
125
125
  };
126
126
  }));
@@ -145,14 +145,14 @@ var artifact_definition_default = () => {
145
145
  ]
146
146
  });
147
147
  const space = extensions.space;
148
- const { objects: boards } = await space.db.query(import_echo.Filter.type(import_react_ui_kanban.KanbanType)).run();
149
- const board = boards.find((board2) => (0, import_echo.fullyQualifiedId)(board2) === id);
150
- (0, import_invariant.invariant)((0, import_echo_schema.isInstanceOf)(import_react_ui_kanban.KanbanType, board), void 0, {
148
+ const { objects: boards } = await space.db.query(import_echo2.Filter.type(import_react_ui_kanban.KanbanType)).run();
149
+ const board = boards.find((board2) => (0, import_echo2.fullyQualifiedId)(board2) === id);
150
+ (0, import_invariant.invariant)(import_echo.Obj.instanceOf(import_react_ui_kanban.KanbanType, board), void 0, {
151
151
  F: __dxlog_file,
152
152
  L: 116,
153
153
  S: void 0,
154
154
  A: [
155
- "isInstanceOf(KanbanType, board)",
155
+ "Obj.instanceOf(KanbanType, board)",
156
156
  ""
157
157
  ]
158
158
  });
@@ -190,4 +190,4 @@ var artifact_definition_default = () => {
190
190
  });
191
191
  return (0, import_app_framework.contributes)(import_app_framework.Capabilities.ArtifactDefinition, definition);
192
192
  };
193
- //# sourceMappingURL=artifact-definition-GAKXWPS3.cjs.map
193
+ //# sourceMappingURL=artifact-definition-6ZUZO4DA.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/artifact-definition.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema, pipe } from 'effect';\n\nimport { createTool, ToolResult } from '@dxos/ai';\nimport { Capabilities, chain, contributes, createIntent, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { defineArtifact } from '@dxos/artifact';\nimport { createArtifactElement } from '@dxos/assistant';\nimport { Obj } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { Filter, fullyQualifiedId, type Space } from '@dxos/react-client/echo';\nimport { KanbanType } from '@dxos/react-ui-kanban';\n\nimport { meta } from '../meta';\nimport { KanbanAction } from '../types';\n\nconst QualifiedId = Schema.String.annotations({\n description: 'The fully qualified ID of the kanban `spaceID:objectID`',\n});\n\ndeclare global {\n interface ToolContextExtensions {\n space?: Space;\n dispatch?: PromiseIntentDispatcher;\n }\n}\n\nexport default () => {\n const definition = defineArtifact({\n id: `artifact:${meta.id}`,\n name: meta.name,\n instructions: `\n - Before adding items to a kanban board, inspect the board to see its schema\n - When adding items, you must not include the 'id' field -- it is automatically generated\n - BEFORE adding items, always make sure the board has been shown to the user!\n `,\n schema: KanbanType,\n tools: [\n createTool(meta.id, {\n name: 'create',\n description: `\n Create a new kanban board using an existing schema.\n Use schema_create first to create a schema, or schema_list to choose an existing one.`,\n caption: 'Creating kanban board...',\n schema: Schema.Struct({\n typename: Schema.String.annotations({\n description: 'The fully qualified typename of the schema to use for the kanban cards.',\n }),\n pivotColumn: Schema.optional(Schema.String).annotations({\n description: 'Optional field name to use as the column pivot.',\n }),\n }),\n execute: async ({ typename, pivotColumn }, { extensions }) => {\n invariant(extensions?.space, 'No space');\n invariant(extensions?.dispatch, 'No intent dispatcher');\n\n // Validate schema exists first\n const schema = await extensions.space.db.schemaRegistry.query({ typename }).firstOrUndefined();\n if (!schema) {\n return ToolResult.Error(`Schema not found: ${typename}`);\n }\n\n const intent = pipe(\n createIntent(KanbanAction.Create, {\n space: extensions.space,\n typename,\n initialPivotColumn: pivotColumn,\n }),\n chain(SpaceAction.AddObject, { target: extensions.space }),\n );\n\n const { data, error } = await extensions.dispatch(intent);\n if (!data || error) {\n return ToolResult.Error(error?.message ?? 'Failed to create kanban board');\n }\n\n return ToolResult.Success(createArtifactElement(data.id));\n },\n }),\n createTool(meta.id, {\n name: 'list',\n description: 'List all kanban boards in the current space.',\n caption: 'Listing kanban boards...',\n schema: Schema.Struct({}),\n execute: async (_input, { extensions }) => {\n invariant(extensions?.space, 'No space');\n const space = extensions.space;\n const { objects: boards } = await space.db.query(Filter.type(KanbanType)).run();\n\n const boardInfo = await Promise.all(\n boards.map(async (board: KanbanType) => {\n const view = await board.cardView?.load();\n return {\n id: fullyQualifiedId(board),\n typename: view?.query.typename,\n };\n }),\n );\n\n return ToolResult.Success(boardInfo);\n },\n }),\n createTool(meta.id, {\n name: 'inspect',\n description: 'Get details about a specific kanban board.',\n caption: 'Inspecting kanban board...',\n schema: Schema.Struct({ id: QualifiedId }),\n execute: async ({ id }, { extensions }) => {\n invariant(extensions?.space, 'No space');\n const space = extensions.space;\n const { objects: boards } = await space.db.query(Filter.type(KanbanType)).run();\n const board = boards.find((board: KanbanType) => fullyQualifiedId(board) === id);\n invariant(Obj.instanceOf(KanbanType, board));\n\n const view = await board.cardView?.load();\n invariant(view);\n\n const typename = view.query.typename;\n const schema = await space.db.schemaRegistry.query({ typename }).firstOrUndefined();\n invariant(schema);\n\n return ToolResult.Success({\n schema,\n columnField: board.columnFieldId,\n viewFields: view.fields,\n });\n },\n }),\n ],\n });\n\n return contributes(Capabilities.ArtifactDefinition, definition);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["import_echo", "QualifiedId", "Schema", "String", "annotations", "description", "definition", "defineArtifact", "id", "meta", "name", "instructions", "schema", "KanbanType", "tools", "createTool", "caption", "Struct", "typename", "pivotColumn", "optional", "execute", "extensions", "invariant", "space", "dispatch", "db", "schemaRegistry", "query", "firstOrUndefined", "ToolResult", "Error", "intent", "pipe", "createIntent", "KanbanAction", "Create", "initialPivotColumn", "chain", "SpaceAction", "AddObject", "target", "data", "error", "message", "Success", "createArtifactElement", "_input", "objects", "boards", "Filter", "type", "run", "boardInfo", "Promise", "all", "map", "board", "view", "cardView", "load", "fullyQualifiedId", "find", "Obj", "instanceOf", "columnField", "columnFieldId", "viewFields", "fields", "contributes", "Capabilities", "ArtifactDefinition"]
7
+ }
@@ -41,9 +41,9 @@ var import_types = require("@dxos/plugin-space/types");
41
41
  var import_react_ui_kanban = require("@dxos/react-ui-kanban");
42
42
  var import_app_framework2 = require("@dxos/app-framework");
43
43
  var import_react_ui_kanban2 = require("@dxos/react-ui-kanban");
44
- var ArtifactDefinition = (0, import_app_framework2.lazy)(() => import("./artifact-definition-GAKXWPS3.cjs"));
45
- var IntentResolver = (0, import_app_framework2.lazy)(() => import("./intent-resolver-3WEAK7UE.cjs"));
46
- var ReactSurface = (0, import_app_framework2.lazy)(() => import("./react-surface-YEBNJKHD.cjs"));
44
+ var ArtifactDefinition = (0, import_app_framework2.lazy)(() => import("./artifact-definition-6ZUZO4DA.cjs"));
45
+ var IntentResolver = (0, import_app_framework2.lazy)(() => import("./intent-resolver-4UIAKMVQ.cjs"));
46
+ var ReactSurface = (0, import_app_framework2.lazy)(() => import("./react-surface-NZ76FH63.cjs"));
47
47
  var translations_default = [
48
48
  {
49
49
  "en-US": {
@@ -16,11 +16,11 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var intent_resolver_3WEAK7UE_exports = {};
20
- __export(intent_resolver_3WEAK7UE_exports, {
19
+ var intent_resolver_4UIAKMVQ_exports = {};
20
+ __export(intent_resolver_4UIAKMVQ_exports, {
21
21
  default: () => intent_resolver_default
22
22
  });
23
- module.exports = __toCommonJS(intent_resolver_3WEAK7UE_exports);
23
+ module.exports = __toCommonJS(intent_resolver_4UIAKMVQ_exports);
24
24
  var import_chunk_3BKBOGOH = require("./chunk-3BKBOGOH.cjs");
25
25
  var import_app_framework = require("@dxos/app-framework");
26
26
  var import_invariant = require("@dxos/invariant");
@@ -28,10 +28,10 @@ var import_plugin_client = require("@dxos/plugin-client");
28
28
  var import_echo = require("@dxos/react-client/echo");
29
29
  var import_schema = require("@dxos/schema");
30
30
  var import_effect = require("effect");
31
+ var import_echo2 = require("@dxos/echo");
31
32
  var import_echo_schema = require("@dxos/echo-schema");
32
33
  var import_invariant2 = require("@dxos/invariant");
33
34
  var import_react_client = require("@dxos/react-client");
34
- var import_echo2 = require("@dxos/react-client/echo");
35
35
  var import_react_ui_kanban = require("@dxos/react-ui-kanban");
36
36
  var import_schema2 = require("@dxos/schema");
37
37
  var import_util = require("@dxos/util");
@@ -73,15 +73,15 @@ var createDefaultTaskSchema = () => {
73
73
  };
74
74
  var initializeKanban = async ({ client, space, name, typename, initialPivotColumn }) => {
75
75
  if (typename) {
76
- const staticSchema = client.graph.schemaRegistry.schemas.find((schema2) => (0, import_echo_schema.getTypenameOrThrow)(schema2) === typename);
76
+ const staticSchema = client.graph.schemaRegistry.schemas.find((schema2) => import_echo2.Type.getTypename(schema2) === typename);
77
77
  const schema = await space.db.schemaRegistry.query({
78
78
  typename
79
79
  }).firstOrUndefined();
80
80
  const ast = staticSchema?.ast ?? schema?.ast;
81
- const jsonSchema = staticSchema ? (0, import_echo_schema.toJsonSchema)(staticSchema) : schema?.jsonSchema;
81
+ const jsonSchema = staticSchema ? import_echo2.Type.toJsonSchema(staticSchema) : schema?.jsonSchema;
82
82
  (0, import_invariant2.invariant)(ast, `Schema not found: ${typename}`, {
83
83
  F: __dxlog_file,
84
- L: 69,
84
+ L: 58,
85
85
  S: void 0,
86
86
  A: [
87
87
  "ast",
@@ -90,7 +90,7 @@ var initializeKanban = async ({ client, space, name, typename, initialPivotColum
90
90
  });
91
91
  (0, import_invariant2.invariant)(jsonSchema, `Schema not found: ${typename}`, {
92
92
  F: __dxlog_file,
93
- L: 70,
93
+ L: 59,
94
94
  S: void 0,
95
95
  A: [
96
96
  "jsonSchema",
@@ -104,8 +104,8 @@ var initializeKanban = async ({ client, space, name, typename, initialPivotColum
104
104
  jsonSchema,
105
105
  fields
106
106
  });
107
- const kanban = (0, import_echo2.live)(import_react_ui_kanban.KanbanType, {
108
- cardView: (0, import_echo2.makeRef)(view),
107
+ const kanban = import_echo2.Obj.make(import_react_ui_kanban.KanbanType, {
108
+ cardView: import_echo2.Ref.make(view),
109
109
  columnFieldId: void 0,
110
110
  name
111
111
  });
@@ -166,15 +166,15 @@ var initializeKanban = async ({ client, space, name, typename, initialPivotColum
166
166
  const fieldId = viewProjection.getFieldId(initialPivotField);
167
167
  (0, import_invariant2.invariant)(fieldId, void 0, {
168
168
  F: __dxlog_file,
169
- L: 134,
169
+ L: 123,
170
170
  S: void 0,
171
171
  A: [
172
172
  "fieldId",
173
173
  ""
174
174
  ]
175
175
  });
176
- const kanban = (0, import_echo2.live)(import_react_ui_kanban.KanbanType, {
177
- cardView: (0, import_echo2.makeRef)(view),
176
+ const kanban = import_echo2.Obj.make(import_react_ui_kanban.KanbanType, {
177
+ cardView: import_echo2.Ref.make(view),
178
178
  columnFieldId: fieldId
179
179
  });
180
180
  return {
@@ -305,4 +305,4 @@ var intent_resolver_default = (context) => (0, import_app_framework.contributes)
305
305
  }
306
306
  })
307
307
  ]);
308
- //# sourceMappingURL=intent-resolver-3WEAK7UE.cjs.map
308
+ //# sourceMappingURL=intent-resolver-4UIAKMVQ.cjs.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 PluginContext } 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: PluginContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: KanbanAction.Create,\n resolve: async ({ space, name, typename, initialPivotColumn }) => {\n const client = context.getCapability(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 { Schema } from 'effect';\n\nimport { Obj, Ref, Type } from '@dxos/echo';\nimport { TypedObject, FormatEnum, TypeEnum, type JsonProp } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { type Client, PublicKey } from '@dxos/react-client';\nimport { type Space } 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: Schema.optional(Schema.String).annotations({ title: 'Title' }),\n description: Schema.optional(Schema.String).annotations({ title: 'Description' }),\n state: Schema.optional(Schema.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?: Type.Schema }> => {\n if (typename) {\n const staticSchema = client.graph.schemaRegistry.schemas.find((schema) => Type.getTypename(schema) === typename);\n const schema = await space.db.schemaRegistry.query({ typename }).firstOrUndefined();\n\n const ast = staticSchema?.ast ?? schema?.ast;\n const jsonSchema = staticSchema ? Type.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 = Obj.make(KanbanType, { cardView: Ref.make(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 = Obj.make(KanbanType, { cardView: Ref.make(view), columnFieldId: fieldId });\n return { kanban, schema };\n }\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["import_echo", "import_invariant", "import_schema", "createDefaultTaskSchema", "stateOptions", "id", "PublicKey", "random", "truncate", "title", "color", "schema", "TypedObject", "typename", "version", "Schema", "optional", "String", "annotations", "description", "state", "initializeKanban", "client", "space", "name", "initialPivotColumn", "staticSchema", "graph", "schemaRegistry", "schemas", "find", "Type", "getTypename", "db", "query", "firstOrUndefined", "ast", "jsonSchema", "toJsonSchema", "invariant", "fields", "getSchemaProperties", "filter", "prop", "type", "format", "FormatEnum", "Ref", "map", "view", "createView", "kanban", "Obj", "make", "KanbanType", "cardView", "columnFieldId", "undefined", "viewProjection", "ViewProjection", "fieldId", "getFieldId", "taskSchema", "register", "descriptionFieldId", "fieldProjection", "getFieldProjection", "setFieldProjection", "props", "Markdown", "initialPivotField", "field", "createFieldId", "path", "size", "property", "TypeEnum", "SingleSelect", "capitalize", "options", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "KanbanAction", "Create", "resolve", "getCapability", "ClientCapabilities", "Client", "data", "object", "DeleteCardField", "deletionData", "undo", "target", "getSpace", "getSchema", "projection", "deleted", "index", "deleteFieldProjection", "undoable", "message", "ns", "KANBAN_PLUGIN", "DeleteCard", "card", "remove", "add"]
7
+ }
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-kanban/src/meta.ts":{"bytes":2050,"imports":[],"format":"esm"},"packages/plugins/plugin-kanban/src/types.ts":{"bytes":10102,"imports":[{"path":"effect","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":19780,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/ai","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":1059,"imports":[],"format":"esm"},"packages/plugins/plugin-kanban/src/testing/initialize-kanban.ts":{"bytes":16517,"imports":[{"path":"effect","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}],"format":"esm"},"packages/plugins/plugin-kanban/src/testing/index.ts":{"bytes":609,"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":11701,"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":12350,"imports":[{"path":"@preact-signals/safe-react/tracking","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":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx":{"bytes":13625,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","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":612,"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":17680,"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":1330,"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":3058,"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":8252,"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":562,"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/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5969},"packages/plugins/plugin-kanban/dist/lib/node/index.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-3BKBOGOH.cjs","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/node/artifact-definition-GAKXWPS3.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-kanban/dist/lib/node/intent-resolver-3WEAK7UE.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-kanban/dist/lib/node/react-surface-YEBNJKHD.cjs","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/node/types.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-kanban/dist/lib/node/types.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-3BKBOGOH.cjs","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/node/artifact-definition-GAKXWPS3.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8993},"packages/plugins/plugin-kanban/dist/lib/node/artifact-definition-GAKXWPS3.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-3BKBOGOH.cjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/ai","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":6054}},"bytes":6303},"packages/plugins/plugin-kanban/dist/lib/node/intent-resolver-3WEAK7UE.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":13087},"packages/plugins/plugin-kanban/dist/lib/node/intent-resolver-3WEAK7UE.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-3BKBOGOH.cjs","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":"effect","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":3352},"packages/plugins/plugin-kanban/src/testing/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-kanban/src/testing/initialize-kanban.ts":{"bytesInOutput":4536}},"bytes":8273},"packages/plugins/plugin-kanban/dist/lib/node/react-surface-YEBNJKHD.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":22607},"packages/plugins/plugin-kanban/dist/lib/node/react-surface-YEBNJKHD.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-3BKBOGOH.cjs","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":"@preact-signals/safe-react/tracking","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":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","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":3175},"packages/plugins/plugin-kanban/src/components/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx":{"bytesInOutput":3969}},"bytes":11886},"packages/plugins/plugin-kanban/dist/lib/node/chunk-3BKBOGOH.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6159},"packages/plugins/plugin-kanban/dist/lib/node/chunk-3BKBOGOH.cjs":{"imports":[{"path":"effect","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":1996},"packages/plugins/plugin-kanban/src/meta.ts":{"bytesInOutput":517}},"bytes":2837}}}
1
+ {"inputs":{"packages/plugins/plugin-kanban/src/meta.ts":{"bytes":2050,"imports":[],"format":"esm"},"packages/plugins/plugin-kanban/src/types.ts":{"bytes":10102,"imports":[{"path":"effect","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":19768,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/ai","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","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":1059,"imports":[],"format":"esm"},"packages/plugins/plugin-kanban/src/testing/initialize-kanban.ts":{"bytes":16476,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo","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-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":609,"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":11701,"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":12098,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","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":13639,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","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":612,"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":17636,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","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":1330,"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":3058,"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":8252,"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":562,"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/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5969},"packages/plugins/plugin-kanban/dist/lib/node/index.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-3BKBOGOH.cjs","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/node/artifact-definition-6ZUZO4DA.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-kanban/dist/lib/node/intent-resolver-4UIAKMVQ.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-kanban/dist/lib/node/react-surface-NZ76FH63.cjs","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/node/types.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-kanban/dist/lib/node/types.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-3BKBOGOH.cjs","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/node/artifact-definition-6ZUZO4DA.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8979},"packages/plugins/plugin-kanban/dist/lib/node/artifact-definition-6ZUZO4DA.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-3BKBOGOH.cjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/ai","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","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":6042}},"bytes":6291},"packages/plugins/plugin-kanban/dist/lib/node/intent-resolver-4UIAKMVQ.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":13062},"packages/plugins/plugin-kanban/dist/lib/node/intent-resolver-4UIAKMVQ.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-3BKBOGOH.cjs","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":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo","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-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":3352},"packages/plugins/plugin-kanban/src/testing/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-kanban/src/testing/initialize-kanban.ts":{"bytesInOutput":4503}},"bytes":8240},"packages/plugins/plugin-kanban/dist/lib/node/react-surface-NZ76FH63.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":22271},"packages/plugins/plugin-kanban/dist/lib/node/react-surface-NZ76FH63.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-3BKBOGOH.cjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","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":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","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":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","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":4160},"packages/plugins/plugin-kanban/src/components/KanbanContainer.tsx":{"bytesInOutput":3075},"packages/plugins/plugin-kanban/src/components/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx":{"bytesInOutput":4056}},"bytes":11806},"packages/plugins/plugin-kanban/dist/lib/node/chunk-3BKBOGOH.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6159},"packages/plugins/plugin-kanban/dist/lib/node/chunk-3BKBOGOH.cjs":{"imports":[{"path":"effect","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":1996},"packages/plugins/plugin-kanban/src/meta.ts":{"bytesInOutput":517}},"bytes":2837}}}
@@ -26,38 +26,38 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var react_surface_YEBNJKHD_exports = {};
30
- __export(react_surface_YEBNJKHD_exports, {
29
+ var react_surface_NZ76FH63_exports = {};
30
+ __export(react_surface_NZ76FH63_exports, {
31
31
  default: () => react_surface_default
32
32
  });
33
- module.exports = __toCommonJS(react_surface_YEBNJKHD_exports);
33
+ module.exports = __toCommonJS(react_surface_NZ76FH63_exports);
34
34
  var import_chunk_3BKBOGOH = require("./chunk-3BKBOGOH.cjs");
35
35
  var import_react = __toESM(require("react"));
36
36
  var import_app_framework = require("@dxos/app-framework");
37
- var import_echo_schema = require("@dxos/echo-schema");
37
+ var import_echo = require("@dxos/echo");
38
38
  var import_effect = require("@dxos/effect");
39
39
  var import_plugin_client = require("@dxos/plugin-client");
40
40
  var import_react_client = require("@dxos/react-client");
41
- var import_echo = require("@dxos/react-client/echo");
41
+ var import_echo2 = require("@dxos/react-client/echo");
42
42
  var import_react_ui_form = require("@dxos/react-ui-form");
43
43
  var import_tracking = require("@preact-signals/safe-react/tracking");
44
44
  var import_react2 = __toESM(require("react"));
45
45
  var import_app_framework2 = require("@dxos/app-framework");
46
- var import_echo_schema2 = require("@dxos/echo-schema");
46
+ var import_echo3 = require("@dxos/echo");
47
47
  var import_plugin_search = require("@dxos/plugin-search");
48
48
  var import_react_client2 = require("@dxos/react-client");
49
- var import_echo2 = require("@dxos/react-client/echo");
49
+ var import_echo4 = require("@dxos/react-client/echo");
50
50
  var import_react_ui_kanban = require("@dxos/react-ui-kanban");
51
51
  var import_react_ui_stack = require("@dxos/react-ui-stack");
52
52
  var import_schema = require("@dxos/schema");
53
53
  var import_tracking2 = require("@preact-signals/safe-react/tracking");
54
54
  var import_react3 = __toESM(require("react"));
55
55
  var import_app_framework3 = require("@dxos/app-framework");
56
- var import_echo3 = require("@dxos/echo");
57
- var import_echo_schema3 = require("@dxos/echo-schema");
56
+ var import_echo5 = require("@dxos/echo");
57
+ var import_echo_schema = require("@dxos/echo-schema");
58
58
  var import_invariant = require("@dxos/invariant");
59
59
  var import_react_client3 = require("@dxos/react-client");
60
- var import_echo4 = require("@dxos/react-client/echo");
60
+ var import_echo6 = require("@dxos/react-client/echo");
61
61
  var import_react_ui_form2 = require("@dxos/react-ui-form");
62
62
  var import_react_ui_kanban2 = require("@dxos/react-ui-kanban");
63
63
  var import_schema2 = require("@dxos/schema");
@@ -67,14 +67,14 @@ var KanbanContainer = ({ kanban }) => {
67
67
  const client = (0, import_react_client2.useClient)();
68
68
  const [cardSchema, setCardSchema] = (0, import_react2.useState)();
69
69
  const [projection, setProjection] = (0, import_react2.useState)();
70
- const space = (0, import_echo2.getSpace)(kanban);
70
+ const space = (0, import_echo4.getSpace)(kanban);
71
71
  const { dispatchPromise: dispatch } = (0, import_app_framework2.useIntentDispatcher)();
72
- const jsonSchema = (0, import_react2.useMemo)(() => cardSchema instanceof import_echo_schema2.EchoSchema ? cardSchema.jsonSchema : cardSchema ? (0, import_echo_schema2.toJsonSchema)(cardSchema) : void 0, [
72
+ const jsonSchema = (0, import_react2.useMemo)(() => cardSchema ? import_echo3.Type.toJsonSchema(cardSchema) : void 0, [
73
73
  cardSchema
74
74
  ]);
75
75
  (0, import_react2.useEffect)(() => {
76
76
  const typename = kanban.cardView?.target?.query?.typename;
77
- const staticSchema = client.graph.schemaRegistry.schemas.find((schema) => (0, import_echo_schema2.getTypenameOrThrow)(schema) === typename);
77
+ const staticSchema = client.graph.schemaRegistry.schemas.find((schema) => import_echo3.Type.getTypename(schema) === typename);
78
78
  if (staticSchema) {
79
79
  setCardSchema(() => staticSchema);
80
80
  }
@@ -104,7 +104,7 @@ var KanbanContainer = ({ kanban }) => {
104
104
  kanban.cardView?.target,
105
105
  JSON.stringify(jsonSchema)
106
106
  ]);
107
- const objects = (0, import_echo2.useQuery)(space, cardSchema ? import_echo2.Filter.type(cardSchema) : import_echo2.Filter.nothing());
107
+ const objects = (0, import_echo4.useQuery)(space, cardSchema ? import_echo3.Filter.type(cardSchema) : import_echo3.Filter.nothing());
108
108
  const filteredObjects = (0, import_plugin_search.useGlobalFilteredObjects)(objects);
109
109
  const model = (0, import_react_ui_kanban.useKanbanModel)({
110
110
  kanban,
@@ -115,7 +115,7 @@ var KanbanContainer = ({ kanban }) => {
115
115
  const handleAddCard = (0, import_react2.useCallback)((columnValue) => {
116
116
  const path = model?.columnFieldPath;
117
117
  if (space && cardSchema && path) {
118
- const card = (0, import_echo2.live)(cardSchema, {
118
+ const card = import_echo3.Obj.make(cardSchema, {
119
119
  [path]: columnValue
120
120
  });
121
121
  space.db.add(card);
@@ -148,12 +148,12 @@ var KanbanViewEditor = ({ kanban }) => {
148
148
  try {
149
149
  const { dispatchPromise: dispatch } = (0, import_app_framework3.useIntentDispatcher)();
150
150
  const client = (0, import_react_client3.useClient)();
151
- const space = (0, import_echo4.getSpace)(kanban);
151
+ const space = (0, import_echo6.getSpace)(kanban);
152
152
  const currentTypename = (0, import_react3.useMemo)(() => kanban?.cardView?.target?.query?.typename, [
153
153
  kanban?.cardView?.target?.query?.typename
154
154
  ]);
155
- const schema = (0, import_echo4.useSchema)(client, space, currentTypename);
156
- const views = (0, import_echo4.useQuery)(space, import_echo4.Filter.type(import_schema2.ViewType));
155
+ const schema = (0, import_echo6.useSchema)(client, space, currentTypename);
156
+ const views = (0, import_echo6.useQuery)(space, import_echo6.Filter.type(import_schema2.ViewType));
157
157
  const handleUpdateTypename = (0, import_react3.useCallback)((newTypename) => {
158
158
  (0, import_invariant.invariant)(schema, void 0, {
159
159
  F: __dxlog_file,
@@ -164,11 +164,20 @@ var KanbanViewEditor = ({ kanban }) => {
164
164
  ""
165
165
  ]
166
166
  });
167
+ (0, import_invariant.invariant)(import_echo5.Type.isMutable(schema), void 0, {
168
+ F: __dxlog_file,
169
+ L: 35,
170
+ S: void 0,
171
+ A: [
172
+ "Type.isMutable(schema)",
173
+ ""
174
+ ]
175
+ });
167
176
  const matchingViews = views.filter((view) => view.query.typename === currentTypename);
168
177
  for (const view of matchingViews) {
169
178
  view.query.typename = newTypename;
170
179
  }
171
- (0, import_echo_schema3.assertEchoSchema)(schema).updateTypename(newTypename);
180
+ schema.updateTypename(newTypename);
172
181
  }, [
173
182
  views,
174
183
  schema
@@ -184,20 +193,20 @@ var KanbanViewEditor = ({ kanban }) => {
184
193
  ]);
185
194
  const projection = (0, import_react3.useMemo)(() => {
186
195
  if (kanban?.cardView?.target && schema) {
187
- const jsonSchema = import_echo3.Type.toJsonSchema(schema);
196
+ const jsonSchema = import_echo5.Type.toJsonSchema(schema);
188
197
  return new import_schema2.ViewProjection(jsonSchema, kanban.cardView.target);
189
198
  }
190
199
  }, [
191
200
  kanban?.cardView?.target,
192
201
  schema,
193
- JSON.stringify(schema ? import_echo3.Type.toJsonSchema(schema) : {})
202
+ JSON.stringify(schema ? import_echo5.Type.toJsonSchema(schema) : {})
194
203
  ]);
195
204
  const fieldProjections = projection?.getFieldProjections() || [];
196
- const selectFields = fieldProjections.filter((field) => field.props.format === import_echo_schema3.FormatEnum.SingleSelect).map(({ field }) => ({
205
+ const selectFields = fieldProjections.filter((field) => field.props.format === import_echo_schema.FormatEnum.SingleSelect).map(({ field }) => ({
197
206
  value: field.id,
198
207
  label: field.path
199
208
  }));
200
- const onSave = (0, import_react3.useCallback)((values) => {
209
+ const handleSave = (0, import_react3.useCallback)((values) => {
201
210
  kanban.columnFieldId = values.columnFieldId;
202
211
  }, [
203
212
  kanban
@@ -218,21 +227,18 @@ var KanbanViewEditor = ({ kanban }) => {
218
227
  if (!space || !schema || !kanban.cardView?.target) {
219
228
  return null;
220
229
  }
221
- return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement("div", {
222
- role: "none",
223
- className: "p-2"
224
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui_form2.Form, {
230
+ return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui_form2.Form, {
231
+ Custom: custom,
225
232
  schema: import_react_ui_kanban2.KanbanSettingsSchema,
226
233
  values: initialValues,
227
- onSave,
228
- autoSave: true,
229
- Custom: custom
230
- })), /* @__PURE__ */ import_react3.default.createElement(import_react_ui_form2.ViewEditor, {
234
+ onSave: handleSave,
235
+ autoSave: true
236
+ }), /* @__PURE__ */ import_react3.default.createElement(import_react_ui_form2.ViewEditor, {
231
237
  registry: space.db.schemaRegistry,
232
238
  schema,
233
239
  view: kanban.cardView.target,
234
- onTypenameChanged: (0, import_echo_schema3.isMutable)(schema) ? handleUpdateTypename : void 0,
235
- onDelete: (0, import_echo_schema3.isMutable)(schema) ? handleDelete : void 0
240
+ onTypenameChanged: import_echo5.Type.isMutable(schema) ? handleUpdateTypename : void 0,
241
+ onDelete: import_echo5.Type.isMutable(schema) ? handleDelete : void 0
236
242
  }));
237
243
  } finally {
238
244
  _effect.f();
@@ -272,7 +278,7 @@ var react_surface_default = () => (0, import_app_framework.contributes)(import_a
272
278
  component: ({ data: { target }, ...inputProps }) => {
273
279
  const client = (0, import_react_client.useClient)();
274
280
  const props = inputProps;
275
- const space = (0, import_echo.isSpace)(target) ? target : (0, import_echo.getSpace)(target);
281
+ const space = (0, import_echo2.isSpace)(target) ? target : (0, import_echo2.getSpace)(target);
276
282
  if (!space) {
277
283
  return null;
278
284
  }
@@ -280,10 +286,10 @@ var react_surface_default = () => (0, import_app_framework.contributes)(import_a
280
286
  const whitelistedTypenames = (0, import_react.useMemo)(() => new Set(schemaWhitelists.flatMap((typeArray) => typeArray.map((type) => type.typename))), [
281
287
  schemaWhitelists
282
288
  ]);
283
- const fixed = client.graph.schemaRegistry.schemas.filter((schema) => whitelistedTypenames.has((0, import_echo_schema.getTypenameOrThrow)(schema)));
289
+ const fixed = client.graph.schemaRegistry.schemas.filter((schema) => whitelistedTypenames.has(import_echo.Type.getTypename(schema)));
284
290
  const dynamic = space?.db.schemaRegistry.query().runSync();
285
291
  const typenames = Array.from(/* @__PURE__ */ new Set([
286
- ...fixed.map((schema) => (0, import_echo_schema.getTypenameOrThrow)(schema)),
292
+ ...fixed.map((schema) => import_echo.Type.getTypename(schema)),
287
293
  ...dynamic.map((schema) => schema.typename)
288
294
  ])).sort();
289
295
  return /* @__PURE__ */ import_react.default.createElement(import_react_ui_form.SelectInput, {
@@ -303,18 +309,18 @@ var react_surface_default = () => (0, import_app_framework.contributes)(import_a
303
309
  },
304
310
  component: ({ data: { target }, ...inputProps }) => {
305
311
  const props = inputProps;
306
- const space = (0, import_echo.isSpace)(target) ? target : (0, import_echo.getSpace)(target);
312
+ const space = (0, import_echo2.isSpace)(target) ? target : (0, import_echo2.getSpace)(target);
307
313
  if (!space) {
308
314
  return null;
309
315
  }
310
316
  const { typename } = (0, import_react_ui_form.useFormValues)();
311
317
  const schemaWhitelists = (0, import_app_framework.useCapabilities)(import_plugin_client.ClientCapabilities.SchemaWhiteList);
312
- const staticSchema = schemaWhitelists.flat().find((schema) => (0, import_echo_schema.getTypenameOrThrow)(schema) === typename);
318
+ const staticSchema = schemaWhitelists.flat().find((schema) => import_echo.Type.getTypename(schema) === typename);
313
319
  const [selectedSchema] = space?.db.schemaRegistry.query({
314
320
  typename
315
321
  }).runSync();
316
322
  const singleSelectColumns = (0, import_react.useMemo)(() => {
317
- const properties = staticSchema ? (0, import_echo_schema.toJsonSchema)(staticSchema).properties : selectedSchema?.jsonSchema?.properties;
323
+ const properties = staticSchema ? import_echo.Type.toJsonSchema(staticSchema).properties : selectedSchema?.jsonSchema?.properties;
318
324
  if (!properties) {
319
325
  return [];
320
326
  }
@@ -341,4 +347,4 @@ var react_surface_default = () => (0, import_app_framework.contributes)(import_a
341
347
  }
342
348
  })
343
349
  ]);
344
- //# sourceMappingURL=react-surface-YEBNJKHD.cjs.map
350
+ //# sourceMappingURL=react-surface-NZ76FH63.cjs.map