@dxos/plugin-kanban 0.8.2-main.f11618f → 0.8.2-main.fbd8ed0

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 (69) hide show
  1. package/dist/lib/browser/{artifact-definition-OSLO5B6P.mjs → artifact-definition-HABFQLG4.mjs} +12 -12
  2. package/dist/lib/browser/artifact-definition-HABFQLG4.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-3MVG4VGQ.mjs → chunk-6JAA7YSW.mjs} +22 -23
  4. package/dist/lib/browser/chunk-6JAA7YSW.mjs.map +7 -0
  5. package/dist/lib/browser/index.mjs +4 -4
  6. package/dist/lib/browser/{intent-resolver-OFEXRD4O.mjs → intent-resolver-G6H6HZRG.mjs} +10 -9
  7. package/dist/lib/browser/intent-resolver-G6H6HZRG.mjs.map +7 -0
  8. package/dist/lib/browser/meta.json +1 -1
  9. package/dist/lib/browser/{react-surface-RJ5WMSWU.mjs → react-surface-BIBGD5OD.mjs} +13 -11
  10. package/dist/lib/browser/react-surface-BIBGD5OD.mjs.map +7 -0
  11. package/dist/lib/browser/types.mjs +1 -1
  12. package/dist/lib/node/{artifact-definition-ZOUZLESK.cjs → artifact-definition-M57SFWWP.cjs} +19 -19
  13. package/dist/lib/node/artifact-definition-M57SFWWP.cjs.map +7 -0
  14. package/dist/lib/node/{chunk-ZRCL6XVF.cjs → chunk-O4U7ZQ2I.cjs} +25 -26
  15. package/dist/lib/node/chunk-O4U7ZQ2I.cjs.map +7 -0
  16. package/dist/lib/node/index.cjs +16 -16
  17. package/dist/lib/node/{intent-resolver-BCCCN7LD.cjs → intent-resolver-IBMSLMHX.cjs} +17 -16
  18. package/dist/lib/node/intent-resolver-IBMSLMHX.cjs.map +7 -0
  19. package/dist/lib/node/meta.json +1 -1
  20. package/dist/lib/node/{react-surface-LQ7CQFWF.cjs → react-surface-ZABOI7UC.cjs} +28 -26
  21. package/dist/lib/node/react-surface-ZABOI7UC.cjs.map +7 -0
  22. package/dist/lib/node/types.cjs +6 -6
  23. package/dist/lib/node/types.cjs.map +1 -1
  24. package/dist/lib/node-esm/{artifact-definition-A7GJP5BI.mjs → artifact-definition-OLVK4DCO.mjs} +12 -12
  25. package/dist/lib/node-esm/artifact-definition-OLVK4DCO.mjs.map +7 -0
  26. package/dist/lib/node-esm/{chunk-ZJJYPR6C.mjs → chunk-NOC32MF5.mjs} +22 -23
  27. package/dist/lib/node-esm/chunk-NOC32MF5.mjs.map +7 -0
  28. package/dist/lib/node-esm/index.mjs +4 -4
  29. package/dist/lib/node-esm/{intent-resolver-4LPFRDUP.mjs → intent-resolver-X66YN6H5.mjs} +10 -9
  30. package/dist/lib/node-esm/intent-resolver-X66YN6H5.mjs.map +7 -0
  31. package/dist/lib/node-esm/meta.json +1 -1
  32. package/dist/lib/node-esm/{react-surface-C7CETLHO.mjs → react-surface-LDR423Y7.mjs} +13 -11
  33. package/dist/lib/node-esm/react-surface-LDR423Y7.mjs.map +7 -0
  34. package/dist/lib/node-esm/types.mjs +1 -1
  35. package/dist/types/src/capabilities/index.d.ts +1 -1
  36. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  37. package/dist/types/src/capabilities/intent-resolver.d.ts +2 -2
  38. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  39. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  40. package/dist/types/src/components/KanbanContainer.d.ts.map +1 -1
  41. package/dist/types/src/components/KanbanContainer.stories.d.ts.map +1 -1
  42. package/dist/types/src/components/KanbanViewEditor.d.ts.map +1 -1
  43. package/dist/types/src/testing/initialize-kanban.d.ts.map +1 -1
  44. package/dist/types/src/translations.d.ts +2 -28
  45. package/dist/types/src/translations.d.ts.map +1 -1
  46. package/dist/types/src/types.d.ts +34 -34
  47. package/dist/types/src/types.d.ts.map +1 -1
  48. package/dist/types/tsconfig.tsbuildinfo +1 -1
  49. package/package.json +30 -28
  50. package/src/capabilities/artifact-definition.ts +10 -10
  51. package/src/capabilities/intent-resolver.ts +3 -3
  52. package/src/capabilities/react-surface.tsx +10 -5
  53. package/src/components/KanbanContainer.stories.tsx +17 -12
  54. package/src/components/KanbanContainer.tsx +1 -1
  55. package/src/components/KanbanViewEditor.tsx +9 -7
  56. package/src/testing/initialize-kanban.ts +7 -7
  57. package/src/types.ts +25 -26
  58. package/dist/lib/browser/artifact-definition-OSLO5B6P.mjs.map +0 -7
  59. package/dist/lib/browser/chunk-3MVG4VGQ.mjs.map +0 -7
  60. package/dist/lib/browser/intent-resolver-OFEXRD4O.mjs.map +0 -7
  61. package/dist/lib/browser/react-surface-RJ5WMSWU.mjs.map +0 -7
  62. package/dist/lib/node/artifact-definition-ZOUZLESK.cjs.map +0 -7
  63. package/dist/lib/node/chunk-ZRCL6XVF.cjs.map +0 -7
  64. package/dist/lib/node/intent-resolver-BCCCN7LD.cjs.map +0 -7
  65. package/dist/lib/node/react-surface-LQ7CQFWF.cjs.map +0 -7
  66. package/dist/lib/node-esm/artifact-definition-A7GJP5BI.mjs.map +0 -7
  67. package/dist/lib/node-esm/chunk-ZJJYPR6C.mjs.map +0 -7
  68. package/dist/lib/node-esm/intent-resolver-4LPFRDUP.mjs.map +0 -7
  69. package/dist/lib/node-esm/react-surface-C7CETLHO.mjs.map +0 -7
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-kanban/src/meta.ts":{"bytes":2245,"imports":[],"format":"esm"},"packages/plugins/plugin-kanban/src/types.ts":{"bytes":10259,"imports":[{"path":"effect/SchemaAST","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts":{"bytes":19853,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/artifact","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/testing/kanban-manager.ts":{"bytes":1119,"imports":[],"format":"esm"},"packages/plugins/plugin-kanban/src/testing/initialize-kanban.ts":{"bytes":16826,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-kanban/src/testing/index.ts":{"bytes":641,"imports":[{"path":"packages/plugins/plugin-kanban/src/testing/kanban-manager.ts","kind":"import-statement","original":"./kanban-manager"},{"path":"packages/plugins/plugin-kanban/src/testing/initialize-kanban.ts","kind":"import-statement","original":"./initialize-kanban"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts":{"bytes":11925,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-kanban/src/testing/index.ts","kind":"import-statement","original":"../testing"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/components/KanbanContainer.tsx":{"bytes":11998,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx":{"bytes":12425,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/components/index.ts":{"bytes":644,"imports":[{"path":"packages/plugins/plugin-kanban/src/components/KanbanContainer.tsx","kind":"import-statement","original":"./KanbanContainer"},{"path":"packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx","kind":"import-statement","original":"./KanbanViewEditor"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx":{"bytes":17772,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/index.ts":{"bytes":1366,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts","kind":"dynamic-import","original":"./artifact-definition"},{"path":"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"packages/plugins/plugin-kanban/src/translations.ts":{"bytes":3122,"imports":[{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-kanban/src/KanbanPlugin.tsx":{"bytes":8396,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-kanban/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/index.ts":{"bytes":594,"imports":[{"path":"packages/plugins/plugin-kanban/src/KanbanPlugin.tsx","kind":"import-statement","original":"./KanbanPlugin"},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-kanban/dist/lib/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-ZRCL6XVF.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-ZOUZLESK.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-kanban/dist/lib/node/intent-resolver-BCCCN7LD.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-kanban/dist/lib/node/react-surface-LQ7CQFWF.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-ZRCL6XVF.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-ZOUZLESK.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8897},"packages/plugins/plugin-kanban/dist/lib/node/artifact-definition-ZOUZLESK.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-ZRCL6XVF.cjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/artifact","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts","inputs":{"packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts":{"bytesInOutput":5991}},"bytes":6240},"packages/plugins/plugin-kanban/dist/lib/node/intent-resolver-BCCCN7LD.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":13143},"packages/plugins/plugin-kanban/dist/lib/node/intent-resolver-BCCCN7LD.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-ZRCL6XVF.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":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts":{"bytesInOutput":3356},"packages/plugins/plugin-kanban/src/testing/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-kanban/src/testing/initialize-kanban.ts":{"bytesInOutput":4517}},"bytes":8258},"packages/plugins/plugin-kanban/dist/lib/node/react-surface-LQ7CQFWF.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":22004},"packages/plugins/plugin-kanban/dist/lib/node/react-surface-LQ7CQFWF.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-ZRCL6XVF.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":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx":{"bytesInOutput":4227},"packages/plugins/plugin-kanban/src/components/KanbanContainer.tsx":{"bytesInOutput":2874},"packages/plugins/plugin-kanban/src/components/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx":{"bytesInOutput":3391}},"bytes":11007},"packages/plugins/plugin-kanban/dist/lib/node/chunk-ZRCL6XVF.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6255},"packages/plugins/plugin-kanban/dist/lib/node/chunk-ZRCL6XVF.cjs":{"imports":[{"path":"effect/SchemaAST","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["CreateKanbanSchema","KANBAN_PLUGIN","KanbanAction","PivotColumnAnnotationId","TypenameAnnotationId","isKanban","meta"],"inputs":{"packages/plugins/plugin-kanban/src/types.ts":{"bytesInOutput":1969},"packages/plugins/plugin-kanban/src/meta.ts":{"bytesInOutput":564}},"bytes":2857}}}
1
+ {"inputs":{"packages/plugins/plugin-kanban/src/meta.ts":{"bytes":2245,"imports":[],"format":"esm"},"packages/plugins/plugin-kanban/src/types.ts":{"bytes":10497,"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":19965,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/artifact","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/testing/kanban-manager.ts":{"bytes":1119,"imports":[],"format":"esm"},"packages/plugins/plugin-kanban/src/testing/initialize-kanban.ts":{"bytes":17040,"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":641,"imports":[{"path":"packages/plugins/plugin-kanban/src/testing/kanban-manager.ts","kind":"import-statement","original":"./kanban-manager"},{"path":"packages/plugins/plugin-kanban/src/testing/initialize-kanban.ts","kind":"import-statement","original":"./initialize-kanban"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts":{"bytes":11905,"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":12004,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx":{"bytes":12989,"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/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/components/index.ts":{"bytes":644,"imports":[{"path":"packages/plugins/plugin-kanban/src/components/KanbanContainer.tsx","kind":"import-statement","original":"./KanbanContainer"},{"path":"packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx","kind":"import-statement","original":"./KanbanViewEditor"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx":{"bytes":17888,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/index.ts":{"bytes":1366,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts","kind":"dynamic-import","original":"./artifact-definition"},{"path":"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"packages/plugins/plugin-kanban/src/translations.ts":{"bytes":3122,"imports":[{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-kanban/src/KanbanPlugin.tsx":{"bytes":8396,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-kanban/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/index.ts":{"bytes":594,"imports":[{"path":"packages/plugins/plugin-kanban/src/KanbanPlugin.tsx","kind":"import-statement","original":"./KanbanPlugin"},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-kanban/dist/lib/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-O4U7ZQ2I.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-M57SFWWP.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-kanban/dist/lib/node/intent-resolver-IBMSLMHX.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-kanban/dist/lib/node/react-surface-ZABOI7UC.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-O4U7ZQ2I.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-M57SFWWP.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8954},"packages/plugins/plugin-kanban/dist/lib/node/artifact-definition-M57SFWWP.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-O4U7ZQ2I.cjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/artifact","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts","inputs":{"packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts":{"bytesInOutput":6027}},"bytes":6276},"packages/plugins/plugin-kanban/dist/lib/node/intent-resolver-IBMSLMHX.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":13230},"packages/plugins/plugin-kanban/dist/lib/node/intent-resolver-IBMSLMHX.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-O4U7ZQ2I.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":4595}},"bytes":8332},"packages/plugins/plugin-kanban/dist/lib/node/react-surface-ZABOI7UC.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":22455},"packages/plugins/plugin-kanban/dist/lib/node/react-surface-ZABOI7UC.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-O4U7ZQ2I.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":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","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":2872},"packages/plugins/plugin-kanban/src/components/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx":{"bytesInOutput":3545}},"bytes":11159},"packages/plugins/plugin-kanban/dist/lib/node/chunk-O4U7ZQ2I.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6370},"packages/plugins/plugin-kanban/dist/lib/node/chunk-O4U7ZQ2I.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":2055},"packages/plugins/plugin-kanban/src/meta.ts":{"bytesInOutput":564}},"bytes":2943}}}
@@ -26,12 +26,12 @@ 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_LQ7CQFWF_exports = {};
30
- __export(react_surface_LQ7CQFWF_exports, {
29
+ var react_surface_ZABOI7UC_exports = {};
30
+ __export(react_surface_ZABOI7UC_exports, {
31
31
  default: () => react_surface_default
32
32
  });
33
- module.exports = __toCommonJS(react_surface_LQ7CQFWF_exports);
34
- var import_chunk_ZRCL6XVF = require("./chunk-ZRCL6XVF.cjs");
33
+ module.exports = __toCommonJS(react_surface_ZABOI7UC_exports);
34
+ var import_chunk_O4U7ZQ2I = require("./chunk-O4U7ZQ2I.cjs");
35
35
  var import_react = __toESM(require("react"));
36
36
  var import_app_framework = require("@dxos/app-framework");
37
37
  var import_echo_schema = require("@dxos/echo-schema");
@@ -51,10 +51,11 @@ var import_react_ui_stack = require("@dxos/react-ui-stack");
51
51
  var import_schema = require("@dxos/schema");
52
52
  var import_react3 = __toESM(require("react"));
53
53
  var import_app_framework3 = require("@dxos/app-framework");
54
+ var import_echo3 = require("@dxos/echo");
54
55
  var import_echo_schema3 = require("@dxos/echo-schema");
55
56
  var import_invariant = require("@dxos/invariant");
56
57
  var import_react_client3 = require("@dxos/react-client");
57
- var import_echo3 = require("@dxos/react-client/echo");
58
+ var import_echo4 = require("@dxos/react-client/echo");
58
59
  var import_react_ui_form2 = require("@dxos/react-ui-form");
59
60
  var import_react_ui_kanban2 = require("@dxos/react-ui-kanban");
60
61
  var import_schema2 = require("@dxos/schema");
@@ -99,7 +100,7 @@ var KanbanContainer = ({ kanban }) => {
99
100
  kanban.cardView?.target,
100
101
  JSON.stringify(jsonSchema)
101
102
  ]);
102
- const objects = (0, import_echo2.useQuery)(space, cardSchema ? import_echo2.Filter.schema(cardSchema) : import_echo2.Filter.nothing());
103
+ const objects = (0, import_echo2.useQuery)(space, cardSchema ? import_echo2.Filter.type(cardSchema) : import_echo2.Filter.nothing());
103
104
  const filteredObjects = (0, import_plugin_search.useGlobalFilteredObjects)(objects);
104
105
  const model = (0, import_react_ui_kanban.useKanbanModel)({
105
106
  kanban,
@@ -122,7 +123,7 @@ var KanbanContainer = ({ kanban }) => {
122
123
  model
123
124
  ]);
124
125
  const handleRemoveCard = (0, import_react2.useCallback)((card) => {
125
- void dispatch((0, import_app_framework2.createIntent)(import_chunk_ZRCL6XVF.KanbanAction.DeleteCard, {
126
+ void dispatch((0, import_app_framework2.createIntent)(import_chunk_O4U7ZQ2I.KanbanAction.DeleteCard, {
126
127
  card
127
128
  }));
128
129
  }, [
@@ -138,16 +139,16 @@ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-kanban/s
138
139
  var KanbanViewEditor = ({ kanban }) => {
139
140
  const { dispatchPromise: dispatch } = (0, import_app_framework3.useIntentDispatcher)();
140
141
  const client = (0, import_react_client3.useClient)();
141
- const space = (0, import_echo3.getSpace)(kanban);
142
+ const space = (0, import_echo4.getSpace)(kanban);
142
143
  const currentTypename = (0, import_react3.useMemo)(() => kanban?.cardView?.target?.query?.typename, [
143
144
  kanban?.cardView?.target?.query?.typename
144
145
  ]);
145
- const schema = (0, import_echo3.useSchema)(client, space, currentTypename);
146
- const views = (0, import_echo3.useQuery)(space, import_echo3.Filter.schema(import_schema2.ViewType));
146
+ const schema = (0, import_echo4.useSchema)(client, space, currentTypename);
147
+ const views = (0, import_echo4.useQuery)(space, import_echo4.Filter.type(import_schema2.ViewType));
147
148
  const handleUpdateTypename = (0, import_react3.useCallback)((newTypename) => {
148
149
  (0, import_invariant.invariant)(schema, void 0, {
149
150
  F: __dxlog_file,
150
- L: 33,
151
+ L: 34,
151
152
  S: void 0,
152
153
  A: [
153
154
  "schema",
@@ -158,13 +159,13 @@ var KanbanViewEditor = ({ kanban }) => {
158
159
  for (const view of matchingViews) {
159
160
  view.query.typename = newTypename;
160
161
  }
161
- schema.mutable.updateTypename(newTypename);
162
+ (0, import_echo_schema3.assertEchoSchema)(schema).updateTypename(newTypename);
162
163
  }, [
163
164
  views,
164
165
  schema
165
166
  ]);
166
167
  const handleDelete = (0, import_react3.useCallback)((fieldId) => {
167
- void dispatch?.((0, import_app_framework3.createIntent)(import_chunk_ZRCL6XVF.KanbanAction.DeleteCardField, {
168
+ void dispatch?.((0, import_app_framework3.createIntent)(import_chunk_O4U7ZQ2I.KanbanAction.DeleteCardField, {
168
169
  kanban,
169
170
  fieldId
170
171
  }));
@@ -174,12 +175,13 @@ var KanbanViewEditor = ({ kanban }) => {
174
175
  ]);
175
176
  const projection = (0, import_react3.useMemo)(() => {
176
177
  if (kanban?.cardView?.target && schema) {
177
- return new import_schema2.ViewProjection(schema.jsonSchema, kanban.cardView.target);
178
+ const jsonSchema = import_echo3.Type.toJsonSchema(schema);
179
+ return new import_schema2.ViewProjection(jsonSchema, kanban.cardView.target);
178
180
  }
179
181
  }, [
180
182
  kanban?.cardView?.target,
181
183
  schema,
182
- JSON.stringify(schema)
184
+ JSON.stringify(schema ? import_echo3.Type.toJsonSchema(schema) : {})
183
185
  ]);
184
186
  const fieldProjections = projection?.getFieldProjections() || [];
185
187
  const selectFields = fieldProjections.filter((field) => field.props.format === import_echo_schema3.FormatEnum.SingleSelect).map(({ field }) => ({
@@ -217,39 +219,39 @@ var KanbanViewEditor = ({ kanban }) => {
217
219
  registry: space.db.schemaRegistry,
218
220
  schema,
219
221
  view: kanban.cardView.target,
220
- onTypenameChanged: schema.readonly ? void 0 : handleUpdateTypename,
221
- onDelete: schema.readonly ? void 0 : handleDelete
222
+ onTypenameChanged: (0, import_echo_schema3.isMutable)(schema) ? handleUpdateTypename : void 0,
223
+ onDelete: (0, import_echo_schema3.isMutable)(schema) ? handleDelete : void 0
222
224
  }));
223
225
  };
224
226
  var react_surface_default = () => (0, import_app_framework.contributes)(import_app_framework.Capabilities.ReactSurface, [
225
227
  (0, import_app_framework.createSurface)({
226
- id: `${import_chunk_ZRCL6XVF.KANBAN_PLUGIN}/kanban`,
228
+ id: `${import_chunk_O4U7ZQ2I.KANBAN_PLUGIN}/kanban`,
227
229
  role: [
228
230
  "article",
229
231
  "section"
230
232
  ],
231
- filter: (data) => (0, import_chunk_ZRCL6XVF.isKanban)(data.subject),
233
+ filter: (data) => (0, import_chunk_O4U7ZQ2I.isKanban)(data.subject),
232
234
  component: ({ data, role }) => /* @__PURE__ */ import_react.default.createElement(KanbanContainer, {
233
235
  kanban: data.subject,
234
236
  role
235
237
  })
236
238
  }),
237
239
  (0, import_app_framework.createSurface)({
238
- id: `${import_chunk_ZRCL6XVF.KANBAN_PLUGIN}/object-settings`,
240
+ id: `${import_chunk_O4U7ZQ2I.KANBAN_PLUGIN}/object-settings`,
239
241
  role: "object-settings",
240
- filter: (data) => (0, import_chunk_ZRCL6XVF.isKanban)(data.subject),
242
+ filter: (data) => (0, import_chunk_O4U7ZQ2I.isKanban)(data.subject),
241
243
  component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(KanbanViewEditor, {
242
244
  kanban: data.subject
243
245
  })
244
246
  }),
245
247
  (0, import_app_framework.createSurface)({
246
- id: `${import_chunk_ZRCL6XVF.KANBAN_PLUGIN}/create-initial-schema-form`,
248
+ id: `${import_chunk_O4U7ZQ2I.KANBAN_PLUGIN}/create-initial-schema-form`,
247
249
  role: "form-input",
248
250
  filter: (data) => {
249
251
  if (data.prop !== "typename") {
250
252
  return false;
251
253
  }
252
- const annotation = (0, import_effect.findAnnotation)(data.schema.ast, import_chunk_ZRCL6XVF.TypenameAnnotationId);
254
+ const annotation = (0, import_effect.findAnnotation)(data.schema.ast, import_chunk_O4U7ZQ2I.TypenameAnnotationId);
253
255
  return !!annotation;
254
256
  },
255
257
  component: ({ data: { target }, ...inputProps }) => {
@@ -278,10 +280,10 @@ var react_surface_default = () => (0, import_app_framework.contributes)(import_a
278
280
  }
279
281
  }),
280
282
  (0, import_app_framework.createSurface)({
281
- id: `${import_chunk_ZRCL6XVF.KANBAN_PLUGIN}/create-initial-schema-form-[pivot-column]`,
283
+ id: `${import_chunk_O4U7ZQ2I.KANBAN_PLUGIN}/create-initial-schema-form-[pivot-column]`,
282
284
  role: "form-input",
283
285
  filter: (data) => {
284
- const annotation = (0, import_effect.findAnnotation)(data.schema.ast, import_chunk_ZRCL6XVF.PivotColumnAnnotationId);
286
+ const annotation = (0, import_effect.findAnnotation)(data.schema.ast, import_chunk_O4U7ZQ2I.PivotColumnAnnotationId);
285
287
  return !!annotation;
286
288
  },
287
289
  component: ({ data: { target }, ...inputProps }) => {
@@ -324,4 +326,4 @@ var react_surface_default = () => (0, import_app_framework.contributes)(import_a
324
326
  }
325
327
  })
326
328
  ]);
327
- //# sourceMappingURL=react-surface-LQ7CQFWF.cjs.map
329
+ //# sourceMappingURL=react-surface-ZABOI7UC.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx", "../../../src/components/KanbanContainer.tsx", "../../../src/components/KanbanViewEditor.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Schema } from 'effect';\nimport React, { useMemo } from 'react';\n\nimport { Capabilities, contributes, createSurface, useCapabilities } from '@dxos/app-framework';\nimport { getTypenameOrThrow, toJsonSchema } from '@dxos/echo-schema';\nimport { findAnnotation } from '@dxos/effect';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { type CollectionType } from '@dxos/plugin-space/types';\nimport { useClient } from '@dxos/react-client';\nimport { getSpace, isSpace, type Space } from '@dxos/react-client/echo';\nimport { type InputProps, SelectInput, useFormValues } from '@dxos/react-ui-form';\nimport { type KanbanType } from '@dxos/react-ui-kanban';\n\nimport { KanbanContainer, KanbanViewEditor } from '../components';\nimport { KANBAN_PLUGIN } from '../meta';\nimport { isKanban, TypenameAnnotationId, PivotColumnAnnotationId } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${KANBAN_PLUGIN}/kanban`,\n role: ['article', 'section'],\n filter: (data): data is { subject: KanbanType } => isKanban(data.subject),\n component: ({ data, role }) => <KanbanContainer kanban={data.subject} role={role} />,\n }),\n createSurface({\n id: `${KANBAN_PLUGIN}/object-settings`,\n role: 'object-settings',\n filter: (data): data is { subject: KanbanType } => isKanban(data.subject),\n component: ({ data }) => <KanbanViewEditor kanban={data.subject} />,\n }),\n createSurface({\n id: `${KANBAN_PLUGIN}/create-initial-schema-form`,\n role: 'form-input',\n filter: (\n data,\n ): data is { prop: string; schema: Schema.Schema<any>; target: Space | CollectionType | undefined } => {\n if (data.prop !== 'typename') {\n return false;\n }\n\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, TypenameAnnotationId);\n return !!annotation;\n },\n component: ({ data: { target }, ...inputProps }) => {\n const client = useClient();\n const props = inputProps as any as InputProps;\n const space = isSpace(target) ? target : getSpace(target);\n if (!space) {\n return null;\n }\n\n const schemaWhitelists = useCapabilities(ClientCapabilities.SchemaWhiteList);\n const whitelistedTypenames = useMemo(\n () => new Set(schemaWhitelists.flatMap((typeArray) => typeArray.map((type) => type.typename))),\n [schemaWhitelists],\n );\n\n const fixed = client.graph.schemaRegistry.schemas.filter((schema) =>\n whitelistedTypenames.has(getTypenameOrThrow(schema)),\n );\n const dynamic = space?.db.schemaRegistry.query().runSync();\n const typenames = Array.from(\n new Set<string>([\n ...fixed.map((schema) => getTypenameOrThrow(schema)),\n ...dynamic.map((schema) => schema.typename),\n ]),\n ).sort();\n\n return <SelectInput {...props} options={typenames.map((typename) => ({ value: typename }))} />;\n },\n }),\n createSurface({\n id: `${KANBAN_PLUGIN}/create-initial-schema-form-[pivot-column]`,\n role: 'form-input',\n filter: (\n data,\n ): data is { prop: string; schema: Schema.Schema<any>; target: Space | CollectionType | undefined } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, PivotColumnAnnotationId);\n return !!annotation;\n },\n component: ({ data: { target }, ...inputProps }) => {\n const props = inputProps as any as InputProps;\n const space = isSpace(target) ? target : getSpace(target);\n if (!space) {\n return null;\n }\n const { typename } = useFormValues();\n // TODO(wittjosiah): Unify this schema lookup.\n const schemaWhitelists = useCapabilities(ClientCapabilities.SchemaWhiteList);\n const staticSchema = schemaWhitelists.flat().find((schema) => getTypenameOrThrow(schema) === typename);\n const [selectedSchema] = space?.db.schemaRegistry.query({ typename }).runSync();\n\n const singleSelectColumns = useMemo(() => {\n const properties = staticSchema\n ? toJsonSchema(staticSchema).properties\n : selectedSchema?.jsonSchema?.properties;\n if (!properties) {\n return [];\n }\n\n const columns = Object.entries(properties).reduce<string[]>((acc, [key, value]) => {\n if (typeof value === 'object' && value?.format === 'single-select') {\n acc.push(key);\n }\n return acc;\n }, []);\n\n return columns;\n }, [selectedSchema?.jsonSchema, staticSchema]);\n\n if (!typename) {\n return null;\n }\n\n return <SelectInput {...props} options={singleSelectColumns.map((column) => ({ value: column }))} />;\n },\n }),\n ]);\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { EchoSchema, getTypenameOrThrow, toJsonSchema, type TypedObject } from '@dxos/echo-schema';\nimport { useGlobalFilteredObjects } from '@dxos/plugin-search';\nimport { useClient } from '@dxos/react-client';\nimport { Filter, useQuery, getSpace, live } from '@dxos/react-client/echo';\nimport { type KanbanType, useKanbanModel, Kanban } from '@dxos/react-ui-kanban';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { ViewProjection } from '@dxos/schema';\n\nimport { KanbanAction } from '../types';\n\nexport const KanbanContainer = ({ kanban }: { kanban: KanbanType; role: string }) => {\n const client = useClient();\n const [cardSchema, setCardSchema] = useState<TypedObject<any, any>>();\n const [projection, setProjection] = useState<ViewProjection>();\n const space = getSpace(kanban);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n\n const jsonSchema = useMemo(\n () =>\n cardSchema instanceof EchoSchema ? cardSchema.jsonSchema : cardSchema ? toJsonSchema(cardSchema) : undefined,\n [cardSchema],\n );\n\n useEffect(() => {\n const typename = kanban.cardView?.target?.query?.typename;\n const staticSchema = client.graph.schemaRegistry.schemas.find((schema) => getTypenameOrThrow(schema) === typename);\n if (staticSchema) {\n setCardSchema(() => staticSchema as TypedObject<any, any>);\n }\n if (!staticSchema && typename && space) {\n const query = space.db.schemaRegistry.query({ typename });\n const unsubscribe = query.subscribe(\n () => {\n const [schema] = query.results;\n if (schema) {\n setCardSchema(schema);\n }\n },\n { fire: true },\n );\n return unsubscribe;\n }\n }, [kanban.cardView?.target?.query, space]);\n\n useEffect(() => {\n if (kanban.cardView?.target && jsonSchema) {\n setProjection(new ViewProjection(jsonSchema, kanban.cardView.target));\n }\n // TODO(ZaymonFC): Is there a better way to get notified about deep changes in the json schema?\n }, [kanban.cardView?.target, JSON.stringify(jsonSchema)]);\n\n const objects = useQuery(space, cardSchema ? Filter.type(cardSchema) : Filter.nothing());\n const filteredObjects = useGlobalFilteredObjects(objects);\n\n const model = useKanbanModel({\n kanban,\n schema: cardSchema,\n projection,\n items: filteredObjects,\n });\n\n const handleAddCard = useCallback(\n (columnValue: string | undefined) => {\n const path = model?.columnFieldPath;\n if (space && cardSchema && path) {\n const card = live(cardSchema, { [path]: columnValue });\n space.db.add(card);\n return card.id;\n }\n },\n [space, cardSchema, model],\n );\n\n const handleRemoveCard = useCallback(\n (card: { id: string }) => {\n void dispatch(createIntent(KanbanAction.DeleteCard, { card }));\n },\n [dispatch],\n );\n\n return (\n <StackItem.Content>\n {model && <Kanban model={model} onAddCard={handleAddCard} onRemoveCard={handleRemoveCard} />}\n </StackItem.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { Type } from '@dxos/echo';\nimport { assertEchoSchema, FormatEnum, isMutable } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { useClient } from '@dxos/react-client';\nimport { Filter, getSpace, useQuery, useSchema } from '@dxos/react-client/echo';\nimport { ViewEditor, Form, SelectInput, type CustomInputMap } from '@dxos/react-ui-form';\nimport { type KanbanType, KanbanSettingsSchema } from '@dxos/react-ui-kanban';\nimport { ViewType, ViewProjection } from '@dxos/schema';\n\nimport { KanbanAction } from '../types';\n\ntype KanbanViewEditorProps = { kanban: KanbanType };\n\nexport const KanbanViewEditor = ({ kanban }: KanbanViewEditorProps) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const client = useClient();\n const space = getSpace(kanban);\n const currentTypename = useMemo(\n () => kanban?.cardView?.target?.query?.typename,\n [kanban?.cardView?.target?.query?.typename],\n );\n const schema = useSchema(client, space, currentTypename);\n const views = useQuery(space, Filter.type(ViewType));\n\n const handleUpdateTypename = useCallback(\n (newTypename: string) => {\n invariant(schema);\n const matchingViews = views.filter((view) => view.query.typename === currentTypename);\n for (const view of matchingViews) {\n view.query.typename = newTypename;\n }\n\n assertEchoSchema(schema).updateTypename(newTypename);\n },\n [views, schema],\n );\n\n const handleDelete = useCallback(\n (fieldId: string) => {\n void dispatch?.(createIntent(KanbanAction.DeleteCardField, { kanban, fieldId }));\n },\n [dispatch, kanban],\n );\n\n const projection = useMemo(() => {\n if (kanban?.cardView?.target && schema) {\n const jsonSchema = Type.toJsonSchema(schema);\n return new ViewProjection(jsonSchema, kanban.cardView.target);\n }\n }, [kanban?.cardView?.target, schema, JSON.stringify(schema ? Type.toJsonSchema(schema) : {})]);\n\n const fieldProjections = projection?.getFieldProjections() || [];\n const selectFields = fieldProjections\n .filter((field) => field.props.format === FormatEnum.SingleSelect)\n .map(({ field }) => ({ value: field.id, label: field.path }));\n\n const onSave = useCallback(\n (values: Partial<{ columnFieldId: string }>) => {\n kanban.columnFieldId = values.columnFieldId;\n },\n [kanban],\n );\n\n const initialValues = useMemo(() => ({ columnFieldId: kanban.columnFieldId }), [kanban.columnFieldId]);\n const custom: CustomInputMap = useMemo(\n () => ({ columnFieldId: (props) => <SelectInput {...props} options={selectFields} /> }),\n [selectFields],\n );\n\n if (!space || !schema || !kanban.cardView?.target) {\n return null;\n }\n\n return (\n <>\n <Form schema={KanbanSettingsSchema} values={initialValues} onSave={onSave} autoSave Custom={custom} />\n <ViewEditor\n registry={space.db.schemaRegistry}\n schema={schema}\n view={kanban.cardView.target}\n onTypenameChanged={isMutable(schema) ? handleUpdateTypename : undefined}\n onDelete={isMutable(schema) ? handleDelete : undefined}\n />\n </>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["import_react", "import_app_framework", "import_echo_schema", "import_react_client", "import_echo", "import_react_ui_form", "import_react_ui_kanban", "import_schema", "KanbanContainer", "kanban", "client", "useClient", "cardSchema", "setCardSchema", "useState", "projection", "setProjection", "space", "getSpace", "dispatchPromise", "dispatch", "useIntentDispatcher", "jsonSchema", "useMemo", "EchoSchema", "toJsonSchema", "undefined", "useEffect", "typename", "cardView", "target", "query", "staticSchema", "graph", "schemaRegistry", "schemas", "find", "schema", "getTypenameOrThrow", "db", "unsubscribe", "subscribe", "results", "fire", "ViewProjection", "JSON", "stringify", "objects", "useQuery", "Filter", "type", "nothing", "filteredObjects", "useGlobalFilteredObjects", "model", "useKanbanModel", "items", "handleAddCard", "useCallback", "columnValue", "path", "columnFieldPath", "card", "live", "add", "id", "handleRemoveCard", "createIntent", "KanbanAction", "DeleteCard", "React", "StackItem", "Content", "Kanban", "onAddCard", "onRemoveCard", "KanbanViewEditor", "currentTypename", "useSchema", "views", "ViewType", "handleUpdateTypename", "newTypename", "invariant", "matchingViews", "filter", "view", "assertEchoSchema", "updateTypename", "handleDelete", "fieldId", "DeleteCardField", "Type", "fieldProjections", "getFieldProjections", "selectFields", "field", "props", "format", "FormatEnum", "SingleSelect", "map", "value", "label", "onSave", "values", "columnFieldId", "initialValues", "custom", "SelectInput", "options", "Form", "KanbanSettingsSchema", "autoSave", "Custom", "ViewEditor", "registry", "onTypenameChanged", "isMutable", "onDelete", "contributes", "Capabilities", "ReactSurface", "createSurface", "KANBAN_PLUGIN", "role", "data", "isKanban", "subject", "component", "prop", "annotation", "findAnnotation", "ast", "TypenameAnnotationId", "inputProps", "isSpace", "schemaWhitelists", "useCapabilities", "ClientCapabilities", "SchemaWhiteList", "whitelistedTypenames", "Set", "flatMap", "typeArray", "fixed", "has", "dynamic", "runSync", "typenames", "Array", "from", "sort", "PivotColumnAnnotationId", "useFormValues", "flat", "selectedSchema", "singleSelectColumns", "properties", "columns", "Object", "entries", "reduce", "acc", "key", "push", "column"]
7
+ }
@@ -18,14 +18,14 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var types_exports = {};
20
20
  __export(types_exports, {
21
- CreateKanbanSchema: () => import_chunk_ZRCL6XVF.CreateKanbanSchema,
22
- KanbanAction: () => import_chunk_ZRCL6XVF.KanbanAction,
23
- PivotColumnAnnotationId: () => import_chunk_ZRCL6XVF.PivotColumnAnnotationId,
24
- TypenameAnnotationId: () => import_chunk_ZRCL6XVF.TypenameAnnotationId,
25
- isKanban: () => import_chunk_ZRCL6XVF.isKanban
21
+ CreateKanbanSchema: () => import_chunk_O4U7ZQ2I.CreateKanbanSchema,
22
+ KanbanAction: () => import_chunk_O4U7ZQ2I.KanbanAction,
23
+ PivotColumnAnnotationId: () => import_chunk_O4U7ZQ2I.PivotColumnAnnotationId,
24
+ TypenameAnnotationId: () => import_chunk_O4U7ZQ2I.TypenameAnnotationId,
25
+ isKanban: () => import_chunk_O4U7ZQ2I.isKanban
26
26
  });
27
27
  module.exports = __toCommonJS(types_exports);
28
- var import_chunk_ZRCL6XVF = require("./chunk-ZRCL6XVF.cjs");
28
+ var import_chunk_O4U7ZQ2I = require("./chunk-O4U7ZQ2I.cjs");
29
29
  // Annotate the CommonJS export names for ESM import in node:
30
30
  0 && (module.exports = {
31
31
  CreateKanbanSchema,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["types.cjs"],
4
- "sourcesContent": ["import {\n CreateKanbanSchema,\n KanbanAction,\n PivotColumnAnnotationId,\n TypenameAnnotationId,\n isKanban\n} from \"./chunk-ZRCL6XVF.cjs\";\nexport {\n CreateKanbanSchema,\n KanbanAction,\n PivotColumnAnnotationId,\n TypenameAnnotationId,\n isKanban\n};\n//# sourceMappingURL=types.cjs.map\n"],
4
+ "sourcesContent": ["import {\n CreateKanbanSchema,\n KanbanAction,\n PivotColumnAnnotationId,\n TypenameAnnotationId,\n isKanban\n} from \"./chunk-O4U7ZQ2I.cjs\";\nexport {\n CreateKanbanSchema,\n KanbanAction,\n PivotColumnAnnotationId,\n TypenameAnnotationId,\n isKanban\n};\n//# sourceMappingURL=types.cjs.map\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAMO;",
6
6
  "names": []
7
7
  }
@@ -2,20 +2,20 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  KanbanAction,
4
4
  meta
5
- } from "./chunk-ZJJYPR6C.mjs";
5
+ } from "./chunk-NOC32MF5.mjs";
6
6
 
7
7
  // packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts
8
- import { pipe } from "effect";
8
+ import { Schema, pipe } from "effect";
9
9
  import { Capabilities, chain, contributes, createIntent } from "@dxos/app-framework";
10
10
  import { defineArtifact, defineTool, ToolResult } from "@dxos/artifact";
11
11
  import { createArtifactElement } from "@dxos/assistant";
12
- import { isInstanceOf, S } from "@dxos/echo-schema";
12
+ import { isInstanceOf } from "@dxos/echo-schema";
13
13
  import { invariant } from "@dxos/invariant";
14
14
  import { SpaceAction } from "@dxos/plugin-space/types";
15
15
  import { Filter, fullyQualifiedId } from "@dxos/react-client/echo";
16
16
  import { KanbanType } from "@dxos/react-ui-kanban";
17
17
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts";
18
- var QualifiedId = S.String.annotations({
18
+ var QualifiedId = Schema.String.annotations({
19
19
  description: "The fully qualified ID of the kanban `spaceID:objectID`"
20
20
  });
21
21
  var artifact_definition_default = () => {
@@ -35,11 +35,11 @@ var artifact_definition_default = () => {
35
35
  Create a new kanban board using an existing schema.
36
36
  Use schema_create first to create a schema, or schema_list to choose an existing one.`,
37
37
  caption: "Creating kanban board...",
38
- schema: S.Struct({
39
- typename: S.String.annotations({
38
+ schema: Schema.Struct({
39
+ typename: Schema.String.annotations({
40
40
  description: "The fully qualified typename of the schema to use for the kanban cards."
41
41
  }),
42
- pivotColumn: S.optional(S.String).annotations({
42
+ pivotColumn: Schema.optional(Schema.String).annotations({
43
43
  description: "Optional field name to use as the column pivot."
44
44
  })
45
45
  }),
@@ -86,7 +86,7 @@ var artifact_definition_default = () => {
86
86
  name: "list",
87
87
  description: "List all kanban boards in the current space.",
88
88
  caption: "Listing kanban boards...",
89
- schema: S.Struct({}),
89
+ schema: Schema.Struct({}),
90
90
  execute: async (_input, { extensions }) => {
91
91
  invariant(extensions?.space, "No space", {
92
92
  F: __dxlog_file,
@@ -98,7 +98,7 @@ var artifact_definition_default = () => {
98
98
  ]
99
99
  });
100
100
  const space = extensions.space;
101
- const { objects: boards } = await space.db.query(Filter.schema(KanbanType)).run();
101
+ const { objects: boards } = await space.db.query(Filter.type(KanbanType)).run();
102
102
  const boardInfo = await Promise.all(boards.map(async (board) => {
103
103
  const view = await board.cardView?.load();
104
104
  return {
@@ -113,7 +113,7 @@ var artifact_definition_default = () => {
113
113
  name: "inspect",
114
114
  description: "Get details about a specific kanban board.",
115
115
  caption: "Inspecting kanban board...",
116
- schema: S.Struct({
116
+ schema: Schema.Struct({
117
117
  id: QualifiedId
118
118
  }),
119
119
  execute: async ({ id }, { extensions }) => {
@@ -127,7 +127,7 @@ var artifact_definition_default = () => {
127
127
  ]
128
128
  });
129
129
  const space = extensions.space;
130
- const { objects: boards } = await space.db.query(Filter.schema(KanbanType)).run();
130
+ const { objects: boards } = await space.db.query(Filter.type(KanbanType)).run();
131
131
  const board = boards.find((board2) => fullyQualifiedId(board2) === id);
132
132
  invariant(isInstanceOf(KanbanType, board), void 0, {
133
133
  F: __dxlog_file,
@@ -175,4 +175,4 @@ var artifact_definition_default = () => {
175
175
  export {
176
176
  artifact_definition_default as default
177
177
  };
178
- //# sourceMappingURL=artifact-definition-A7GJP5BI.mjs.map
178
+ //# sourceMappingURL=artifact-definition-OLVK4DCO.mjs.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 { Capabilities, chain, contributes, createIntent, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { defineArtifact, defineTool, ToolResult } from '@dxos/artifact';\nimport { createArtifactElement } from '@dxos/assistant';\nimport { isInstanceOf } from '@dxos/echo-schema';\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 defineTool(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 defineTool(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 defineTool(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(isInstanceOf(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": ["Schema", "pipe", "Capabilities", "chain", "contributes", "createIntent", "defineArtifact", "defineTool", "ToolResult", "createArtifactElement", "isInstanceOf", "invariant", "SpaceAction", "Filter", "fullyQualifiedId", "KanbanType", "QualifiedId", "Schema", "String", "annotations", "description", "definition", "defineArtifact", "id", "meta", "name", "instructions", "schema", "KanbanType", "tools", "defineTool", "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", "isInstanceOf", "columnField", "columnFieldId", "viewFields", "fields", "contributes", "Capabilities", "ArtifactDefinition"]
7
+ }
@@ -1,8 +1,7 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
 
3
3
  // packages/plugins/plugin-kanban/src/types.ts
4
- import { TitleAnnotationId } from "effect/SchemaAST";
5
- import { S } from "@dxos/echo-schema";
4
+ import { Schema, SchemaAST } from "effect";
6
5
  import { SpaceSchema } from "@dxos/react-client/echo";
7
6
  import { KanbanType } from "@dxos/react-ui-kanban";
8
7
  import { FieldSchema } from "@dxos/schema";
@@ -26,52 +25,52 @@ var meta = {
26
25
  // packages/plugins/plugin-kanban/src/types.ts
27
26
  var TypenameAnnotationId = Symbol.for("@dxos/plugin-kanban/annotation/Typename");
28
27
  var PivotColumnAnnotationId = Symbol.for("@dxos/plugin-kanban/annotation/PivotColumn");
29
- var CreateKanbanSchema = S.Struct({
30
- name: S.optional(S.String),
31
- typename: S.optional(S.String.annotations({
28
+ var CreateKanbanSchema = Schema.Struct({
29
+ name: Schema.optional(Schema.String),
30
+ typename: Schema.optional(Schema.String.annotations({
32
31
  [TypenameAnnotationId]: true,
33
- [TitleAnnotationId]: "Select card schema (leave empty to start fresh)"
32
+ [SchemaAST.TitleAnnotationId]: "Select card schema (leave empty to start fresh)"
34
33
  })),
35
- initialPivotColumn: S.optional(S.String.annotations({
34
+ initialPivotColumn: Schema.optional(Schema.String.annotations({
36
35
  [PivotColumnAnnotationId]: true,
37
- [TitleAnnotationId]: "Pivot column"
36
+ [SchemaAST.TitleAnnotationId]: "Pivot column"
38
37
  }))
39
38
  });
40
39
  var KanbanAction;
41
40
  (function(KanbanAction2) {
42
41
  const KANBAN_ACTION = `${KANBAN_PLUGIN}/action`;
43
- class Create extends S.TaggedClass()(`${KANBAN_ACTION}/create`, {
44
- input: S.extend(S.Struct({
42
+ class Create extends Schema.TaggedClass()(`${KANBAN_ACTION}/create`, {
43
+ input: Schema.extend(Schema.Struct({
45
44
  space: SpaceSchema
46
45
  }), CreateKanbanSchema),
47
- output: S.Struct({
46
+ output: Schema.Struct({
48
47
  object: KanbanType
49
48
  })
50
49
  }) {
51
50
  }
52
51
  KanbanAction2.Create = Create;
53
- class DeleteCardField extends S.TaggedClass()(`${KANBAN_ACTION}/delete-card-field`, {
54
- input: S.Struct({
52
+ class DeleteCardField extends Schema.TaggedClass()(`${KANBAN_ACTION}/delete-card-field`, {
53
+ input: Schema.Struct({
55
54
  kanban: KanbanType,
56
- fieldId: S.String,
55
+ fieldId: Schema.String,
57
56
  // TODO(wittjosiah): Separate fields for undo data?
58
- deletionData: S.optional(S.Struct({
57
+ deletionData: Schema.optional(Schema.Struct({
59
58
  field: FieldSchema,
60
59
  // TODO(wittjosiah): This creates a type error.
61
60
  // props: PropertySchema,
62
- props: S.Any,
63
- index: S.Number
61
+ props: Schema.Any,
62
+ index: Schema.Number
64
63
  }))
65
64
  }),
66
- output: S.Void
65
+ output: Schema.Void
67
66
  }) {
68
67
  }
69
68
  KanbanAction2.DeleteCardField = DeleteCardField;
70
- class DeleteCard extends S.TaggedClass()(`${KANBAN_ACTION}/delete-card`, {
71
- input: S.Struct({
72
- card: S.Any
69
+ class DeleteCard extends Schema.TaggedClass()(`${KANBAN_ACTION}/delete-card`, {
70
+ input: Schema.Struct({
71
+ card: Schema.Any
73
72
  }),
74
- output: S.Void
73
+ output: Schema.Void
75
74
  }) {
76
75
  }
77
76
  KanbanAction2.DeleteCard = DeleteCard;
@@ -87,4 +86,4 @@ export {
87
86
  KanbanAction,
88
87
  isKanban
89
88
  };
90
- //# sourceMappingURL=chunk-ZJJYPR6C.mjs.map
89
+ //# sourceMappingURL=chunk-NOC32MF5.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types.ts", "../../../src/meta.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema, SchemaAST } from 'effect';\n\nimport { SpaceSchema } from '@dxos/react-client/echo';\nimport { KanbanType } from '@dxos/react-ui-kanban';\nimport { FieldSchema } from '@dxos/schema';\n\nimport { KANBAN_PLUGIN } from './meta';\n\n/**\n * Kanban data model.\n * A Kanban board is a collection of columns, each of which contains a collection of items.\n * The layout of columns and items is controlled by models.\n * The underlying data model may be represented by direct object relationships\n * (e.g., a column object containing an array of ordered items) or projections constructed\n * by the model (e.g., a query of items based on metadata within a column object).\n */\n\n// TODO(burdon): Move to FormatEnum or SDK.\nexport const TypenameAnnotationId = Symbol.for('@dxos/plugin-kanban/annotation/Typename');\nexport const PivotColumnAnnotationId = Symbol.for('@dxos/plugin-kanban/annotation/PivotColumn');\n\nexport const CreateKanbanSchema = Schema.Struct({\n name: Schema.optional(Schema.String),\n typename: Schema.optional(\n Schema.String.annotations({\n [TypenameAnnotationId]: true,\n [SchemaAST.TitleAnnotationId]: 'Select card schema (leave empty to start fresh)',\n }),\n ),\n initialPivotColumn: Schema.optional(\n Schema.String.annotations({\n [PivotColumnAnnotationId]: true,\n [SchemaAST.TitleAnnotationId]: 'Pivot column',\n }),\n ),\n});\n\nexport type CreateKanbanType = Schema.Schema.Type<typeof CreateKanbanSchema>;\n\nexport namespace KanbanAction {\n const KANBAN_ACTION = `${KANBAN_PLUGIN}/action`;\n\n export class Create extends Schema.TaggedClass<Create>()(`${KANBAN_ACTION}/create`, {\n input: Schema.extend(Schema.Struct({ space: SpaceSchema }), CreateKanbanSchema),\n output: Schema.Struct({\n object: KanbanType,\n }),\n }) {}\n\n export class DeleteCardField extends Schema.TaggedClass<DeleteCardField>()(`${KANBAN_ACTION}/delete-card-field`, {\n input: Schema.Struct({\n kanban: KanbanType,\n fieldId: Schema.String,\n // TODO(wittjosiah): Separate fields for undo data?\n deletionData: Schema.optional(\n Schema.Struct({\n field: FieldSchema,\n // TODO(wittjosiah): This creates a type error.\n // props: PropertySchema,\n props: Schema.Any,\n index: Schema.Number,\n }),\n ),\n }),\n output: Schema.Void,\n }) {}\n\n export class DeleteCard extends Schema.TaggedClass<DeleteCard>()(`${KANBAN_ACTION}/delete-card`, {\n input: Schema.Struct({\n card: Schema.Any, // The card object to delete\n }),\n output: Schema.Void,\n }) {}\n}\n\n// TODO(burdon): Undo?\n// TODO(burdon): Typescript types (replace proto with annotations?)\n// TODO(burdon): Should pure components depend on ECHO? Relationship between ECHO object/array and Observable.\n// TODO(burdon): Can the plugin configure the object based on the data? E.g., how are the models constructed?\n// TODO(burdon): Create models. Simple first based on actual data.\n// Model is always a projection since the dragging state is tentative.\n\n// TODO(burdon): Extend model for moving items (in and across columns).\nexport interface KanbanModel {\n root: KanbanType;\n}\n\nexport type Location = {\n idx?: number;\n};\n\nexport const isKanban = (object: unknown): object is KanbanType => object != null && object instanceof KanbanType;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const KANBAN_PLUGIN = 'dxos.org/plugin/kanban';\n\nexport const meta: PluginMeta = {\n id: KANBAN_PLUGIN,\n name: 'Kanban',\n description:\n 'Kanban allows you to explore Table data in sorted columns defined by your custom schema. You can use Kanbans to track progress or trigger custom automations when cards are moved from one state to another.',\n icon: 'ph--kanban--regular',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/experimental/plugin-kanban',\n tags: ['experimental'],\n screenshots: ['https://dxos.network/plugin-details-kanban-dark.png'],\n};\n"],
5
+ "mappings": ";;;AAIA,SAASA,QAAQC,iBAAiB;AAElC,SAASC,mBAAmB;AAC5B,SAASC,kBAAkB;AAC3B,SAASC,mBAAmB;;;ACFrB,IAAMC,gBAAgB;AAEtB,IAAMC,OAAmB;EAC9BC,IAAIF;EACJG,MAAM;EACNC,aACE;EACFC,MAAM;EACNC,QAAQ;EACRC,MAAM;IAAC;;EACPC,aAAa;IAAC;;AAChB;;;ADKO,IAAMC,uBAAuBC,OAAOC,IAAI,yCAAA;AACxC,IAAMC,0BAA0BF,OAAOC,IAAI,4CAAA;AAE3C,IAAME,qBAAqBC,OAAOC,OAAO;EAC9CC,MAAMF,OAAOG,SAASH,OAAOI,MAAM;EACnCC,UAAUL,OAAOG,SACfH,OAAOI,OAAOE,YAAY;IACxB,CAACX,oBAAAA,GAAuB;IACxB,CAACY,UAAUC,iBAAiB,GAAG;EACjC,CAAA,CAAA;EAEFC,oBAAoBT,OAAOG,SACzBH,OAAOI,OAAOE,YAAY;IACxB,CAACR,uBAAAA,GAA0B;IAC3B,CAACS,UAAUC,iBAAiB,GAAG;EACjC,CAAA,CAAA;AAEJ,CAAA;;UAIiBE,eAAAA;AACf,QAAMC,gBAAgB,GAAGC,aAAAA;EAElB,MAAMC,eAAeb,OAAOc,YAAW,EAAW,GAAGH,aAAAA,WAAwB;IAClFI,OAAOf,OAAOgB,OAAOhB,OAAOC,OAAO;MAAEgB,OAAOC;IAAY,CAAA,GAAInB,kBAAAA;IAC5DoB,QAAQnB,OAAOC,OAAO;MACpBmB,QAAQC;IACV,CAAA;EACF,CAAA,EAAA;EAAI;gBALSR,SAAAA;EAON,MAAMS,wBAAwBtB,OAAOc,YAAW,EAAoB,GAAGH,aAAAA,sBAAmC;IAC/GI,OAAOf,OAAOC,OAAO;MACnBsB,QAAQF;MACRG,SAASxB,OAAOI;;MAEhBqB,cAAczB,OAAOG,SACnBH,OAAOC,OAAO;QACZyB,OAAOC;;;QAGPC,OAAO5B,OAAO6B;QACdC,OAAO9B,OAAO+B;MAChB,CAAA,CAAA;IAEJ,CAAA;IACAZ,QAAQnB,OAAOgC;EACjB,CAAA,EAAA;EAAI;gBAhBSV,kBAAAA;EAkBN,MAAMW,mBAAmBjC,OAAOc,YAAW,EAAe,GAAGH,aAAAA,gBAA6B;IAC/FI,OAAOf,OAAOC,OAAO;MACnBiC,MAAMlC,OAAO6B;IACf,CAAA;IACAV,QAAQnB,OAAOgC;EACjB,CAAA,EAAA;EAAI;gBALSC,aAAAA;AAMf,GAlCiBvB,iBAAAA,eAAAA,CAAAA,EAAAA;AAoDV,IAAMyB,WAAW,CAACf,WAA0CA,UAAU,QAAQA,kBAAkBC;",
6
+ "names": ["Schema", "SchemaAST", "SpaceSchema", "KanbanType", "FieldSchema", "KANBAN_PLUGIN", "meta", "id", "name", "description", "icon", "source", "tags", "screenshots", "TypenameAnnotationId", "Symbol", "for", "PivotColumnAnnotationId", "CreateKanbanSchema", "Schema", "Struct", "name", "optional", "String", "typename", "annotations", "SchemaAST", "TitleAnnotationId", "initialPivotColumn", "KanbanAction", "KANBAN_ACTION", "KANBAN_PLUGIN", "Create", "TaggedClass", "input", "extend", "space", "SpaceSchema", "output", "object", "KanbanType", "DeleteCardField", "kanban", "fieldId", "deletionData", "field", "FieldSchema", "props", "Any", "index", "Number", "Void", "DeleteCard", "card", "isKanban"]
7
+ }