@dxos/plugin-kanban 0.8.1 → 0.8.2-main.2f9c567
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.
- package/dist/lib/browser/{artifact-definition-SVNHDJQT.mjs → artifact-definition-VGRBHXJ6.mjs} +10 -10
- package/dist/lib/browser/artifact-definition-VGRBHXJ6.mjs.map +7 -0
- package/dist/lib/browser/{chunk-K5BYEZ4Z.mjs → chunk-6JAA7YSW.mjs} +23 -35
- package/dist/lib/browser/chunk-6JAA7YSW.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +4 -4
- package/dist/lib/browser/intent-resolver-44SXCRIH.mjs +297 -0
- package/dist/lib/browser/intent-resolver-44SXCRIH.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-5DLU7L63.mjs → react-surface-H5UD7LKX.mjs} +58 -28
- package/dist/lib/browser/react-surface-H5UD7LKX.mjs.map +7 -0
- package/dist/lib/browser/types.mjs +1 -3
- package/dist/lib/node/{artifact-definition-M2XAYUI2.cjs → artifact-definition-KDTULJLX.cjs} +17 -17
- package/dist/lib/node/artifact-definition-KDTULJLX.cjs.map +7 -0
- package/dist/lib/node/{chunk-3EUR6ZR2.cjs → chunk-O4U7ZQ2I.cjs} +25 -38
- package/dist/lib/node/chunk-O4U7ZQ2I.cjs.map +7 -0
- package/dist/lib/node/index.cjs +16 -16
- package/dist/lib/node/intent-resolver-23TVN46D.cjs +308 -0
- package/dist/lib/node/intent-resolver-23TVN46D.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-OWAYP7VQ.cjs → react-surface-LKFQ3TZH.cjs} +62 -32
- package/dist/lib/node/react-surface-LKFQ3TZH.cjs.map +7 -0
- package/dist/lib/node/types.cjs +6 -8
- package/dist/lib/node/types.cjs.map +2 -2
- package/dist/lib/node-esm/{artifact-definition-HQ5I2OO5.mjs → artifact-definition-G2R5LF26.mjs} +10 -10
- package/dist/lib/node-esm/artifact-definition-G2R5LF26.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-2N7CO3DI.mjs → chunk-NOC32MF5.mjs} +23 -35
- package/dist/lib/node-esm/chunk-NOC32MF5.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +4 -4
- package/dist/lib/node-esm/intent-resolver-SUADAOIJ.mjs +298 -0
- package/dist/lib/node-esm/intent-resolver-SUADAOIJ.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-CLEITUUD.mjs → react-surface-TUKDSY4T.mjs} +58 -28
- package/dist/lib/node-esm/react-surface-TUKDSY4T.mjs.map +7 -0
- package/dist/lib/node-esm/types.mjs +1 -3
- package/dist/types/src/capabilities/index.d.ts +1 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +2 -2
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/KanbanContainer.d.ts.map +1 -1
- package/dist/types/src/components/KanbanContainer.stories.d.ts +10 -0
- package/dist/types/src/components/KanbanContainer.stories.d.ts.map +1 -0
- package/dist/types/src/testing/index.d.ts +3 -0
- package/dist/types/src/testing/index.d.ts.map +1 -0
- package/dist/types/src/testing/initialize-kanban.d.ts +17 -0
- package/dist/types/src/testing/initialize-kanban.d.ts.map +1 -0
- package/dist/types/src/testing/kanban-manager.d.ts +7 -0
- package/dist/types/src/testing/kanban-manager.d.ts.map +1 -0
- package/dist/types/src/testing/playwright/smoke.spec.d.ts +2 -0
- package/dist/types/src/testing/playwright/smoke.spec.d.ts.map +1 -0
- package/dist/types/src/types.d.ts +34 -50
- package/dist/types/src/types.d.ts.map +1 -1
- package/package.json +29 -25
- package/src/capabilities/artifact-definition.ts +8 -8
- package/src/capabilities/intent-resolver.ts +10 -6
- package/src/capabilities/react-surface.tsx +46 -12
- package/src/components/KanbanContainer.stories.tsx +186 -0
- package/src/components/KanbanContainer.tsx +23 -10
- package/src/testing/index.ts +6 -0
- package/src/testing/initialize-kanban.ts +139 -0
- package/src/testing/kanban-manager.ts +13 -0
- package/src/testing/playwright/playwright.config.cts +18 -0
- package/src/testing/playwright/smoke.spec.ts +7 -0
- package/src/types.ts +26 -43
- package/dist/lib/browser/artifact-definition-SVNHDJQT.mjs.map +0 -7
- package/dist/lib/browser/chunk-K5BYEZ4Z.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-XCDQ5N3Q.mjs +0 -132
- package/dist/lib/browser/intent-resolver-XCDQ5N3Q.mjs.map +0 -7
- package/dist/lib/browser/react-surface-5DLU7L63.mjs.map +0 -7
- package/dist/lib/node/artifact-definition-M2XAYUI2.cjs.map +0 -7
- package/dist/lib/node/chunk-3EUR6ZR2.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-P3PSZO7H.cjs +0 -146
- package/dist/lib/node/intent-resolver-P3PSZO7H.cjs.map +0 -7
- package/dist/lib/node/react-surface-OWAYP7VQ.cjs.map +0 -7
- package/dist/lib/node-esm/artifact-definition-HQ5I2OO5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-2N7CO3DI.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-4G47V67J.mjs +0 -133
- package/dist/lib/node-esm/intent-resolver-4G47V67J.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-CLEITUUD.mjs.map +0 -7
package/dist/lib/node/meta.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"packages/plugins/plugin-kanban/src/meta.ts":{"bytes":2245,"imports":[],"format":"esm"},"packages/plugins/plugin-kanban/src/types.ts":{"bytes":11430,"imports":[{"path":"effect/SchemaAST","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/testing","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts":{"bytes":19853,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/artifact","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts":{"bytes":10985,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/components/KanbanContainer.tsx":{"bytes":10186,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx":{"bytes":12425,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/components/index.ts":{"bytes":644,"imports":[{"path":"packages/plugins/plugin-kanban/src/components/KanbanContainer.tsx","kind":"import-statement","original":"./KanbanContainer"},{"path":"packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx","kind":"import-statement","original":"./KanbanViewEditor"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx":{"bytes":13173,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/index.ts":{"bytes":1366,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts","kind":"dynamic-import","original":"./artifact-definition"},{"path":"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"packages/plugins/plugin-kanban/src/translations.ts":{"bytes":3122,"imports":[{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-kanban/src/KanbanPlugin.tsx":{"bytes":8396,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-kanban/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/index.ts":{"bytes":594,"imports":[{"path":"packages/plugins/plugin-kanban/src/KanbanPlugin.tsx","kind":"import-statement","original":"./KanbanPlugin"},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-kanban/dist/lib/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-3EUR6ZR2.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-M2XAYUI2.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-kanban/dist/lib/node/intent-resolver-P3PSZO7H.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-kanban/dist/lib/node/react-surface-OWAYP7VQ.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-3EUR6ZR2.cjs","kind":"import-statement"}],"exports":["CreateKanbanSchema","KanbanAction","PivotColumnAnnotationId","TypenameAnnotationId","createKanban","isKanban"],"entryPoint":"packages/plugins/plugin-kanban/src/types.ts","inputs":{},"bytes":319},"packages/plugins/plugin-kanban/dist/lib/node/artifact-definition-M2XAYUI2.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8897},"packages/plugins/plugin-kanban/dist/lib/node/artifact-definition-M2XAYUI2.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-3EUR6ZR2.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-P3PSZO7H.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4474},"packages/plugins/plugin-kanban/dist/lib/node/intent-resolver-P3PSZO7H.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-3EUR6ZR2.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts":{"bytesInOutput":3100}},"bytes":3362},"packages/plugins/plugin-kanban/dist/lib/node/react-surface-OWAYP7VQ.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":18469},"packages/plugins/plugin-kanban/dist/lib/node/react-surface-OWAYP7VQ.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-3EUR6ZR2.cjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx":{"bytesInOutput":3019},"packages/plugins/plugin-kanban/src/components/KanbanContainer.tsx":{"bytesInOutput":2383},"packages/plugins/plugin-kanban/src/components/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx":{"bytesInOutput":3360}},"bytes":9277},"packages/plugins/plugin-kanban/dist/lib/node/chunk-3EUR6ZR2.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6877},"packages/plugins/plugin-kanban/dist/lib/node/chunk-3EUR6ZR2.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/react-ui-kanban/testing","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["CreateKanbanSchema","KANBAN_PLUGIN","KanbanAction","PivotColumnAnnotationId","TypenameAnnotationId","createKanban","isKanban","meta"],"inputs":{"packages/plugins/plugin-kanban/src/types.ts":{"bytesInOutput":2243},"packages/plugins/plugin-kanban/src/meta.ts":{"bytesInOutput":564}},"bytes":3147}}}
|
|
1
|
+
{"inputs":{"packages/plugins/plugin-kanban/src/meta.ts":{"bytes":2245,"imports":[],"format":"esm"},"packages/plugins/plugin-kanban/src/types.ts":{"bytes":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":19961,"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":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":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-KDTULJLX.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-kanban/dist/lib/node/intent-resolver-23TVN46D.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-kanban/dist/lib/node/react-surface-LKFQ3TZH.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-KDTULJLX.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8950},"packages/plugins/plugin-kanban/dist/lib/node/artifact-definition-KDTULJLX.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":6031}},"bytes":6280},"packages/plugins/plugin-kanban/dist/lib/node/intent-resolver-23TVN46D.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":13242},"packages/plugins/plugin-kanban/dist/lib/node/intent-resolver-23TVN46D.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":3356},"packages/plugins/plugin-kanban/src/testing/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-kanban/src/testing/initialize-kanban.ts":{"bytesInOutput":4595}},"bytes":8336},"packages/plugins/plugin-kanban/dist/lib/node/react-surface-LKFQ3TZH.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":22093},"packages/plugins/plugin-kanban/dist/lib/node/react-surface-LKFQ3TZH.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-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-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,42 +26,56 @@ 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
|
|
30
|
-
__export(
|
|
29
|
+
var react_surface_LKFQ3TZH_exports = {};
|
|
30
|
+
__export(react_surface_LKFQ3TZH_exports, {
|
|
31
31
|
default: () => react_surface_default
|
|
32
32
|
});
|
|
33
|
-
module.exports = __toCommonJS(
|
|
34
|
-
var
|
|
33
|
+
module.exports = __toCommonJS(react_surface_LKFQ3TZH_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
|
+
var import_echo_schema = require("@dxos/echo-schema");
|
|
37
38
|
var import_effect = require("@dxos/effect");
|
|
39
|
+
var import_plugin_client = require("@dxos/plugin-client");
|
|
40
|
+
var import_react_client = require("@dxos/react-client");
|
|
38
41
|
var import_echo = require("@dxos/react-client/echo");
|
|
39
42
|
var import_react_ui_form = require("@dxos/react-ui-form");
|
|
40
43
|
var import_react2 = __toESM(require("react"));
|
|
41
44
|
var import_app_framework2 = require("@dxos/app-framework");
|
|
45
|
+
var import_echo_schema2 = require("@dxos/echo-schema");
|
|
42
46
|
var import_plugin_search = require("@dxos/plugin-search");
|
|
47
|
+
var import_react_client2 = require("@dxos/react-client");
|
|
43
48
|
var import_echo2 = require("@dxos/react-client/echo");
|
|
44
49
|
var import_react_ui_kanban = require("@dxos/react-ui-kanban");
|
|
45
50
|
var import_react_ui_stack = require("@dxos/react-ui-stack");
|
|
46
51
|
var import_schema = require("@dxos/schema");
|
|
47
52
|
var import_react3 = __toESM(require("react"));
|
|
48
53
|
var import_app_framework3 = require("@dxos/app-framework");
|
|
49
|
-
var
|
|
54
|
+
var import_echo_schema3 = require("@dxos/echo-schema");
|
|
50
55
|
var import_invariant = require("@dxos/invariant");
|
|
51
|
-
var
|
|
56
|
+
var import_react_client3 = require("@dxos/react-client");
|
|
52
57
|
var import_echo3 = require("@dxos/react-client/echo");
|
|
53
58
|
var import_react_ui_form2 = require("@dxos/react-ui-form");
|
|
54
59
|
var import_react_ui_kanban2 = require("@dxos/react-ui-kanban");
|
|
55
60
|
var import_schema2 = require("@dxos/schema");
|
|
56
61
|
var KanbanContainer = ({ kanban }) => {
|
|
62
|
+
const client = (0, import_react_client2.useClient)();
|
|
57
63
|
const [cardSchema, setCardSchema] = (0, import_react2.useState)();
|
|
58
64
|
const [projection, setProjection] = (0, import_react2.useState)();
|
|
59
65
|
const space = (0, import_echo2.getSpace)(kanban);
|
|
60
66
|
const { dispatchPromise: dispatch } = (0, import_app_framework2.useIntentDispatcher)();
|
|
67
|
+
const jsonSchema = (0, import_react2.useMemo)(() => cardSchema instanceof import_echo_schema2.EchoSchema ? cardSchema.jsonSchema : cardSchema ? (0, import_echo_schema2.toJsonSchema)(cardSchema) : void 0, [
|
|
68
|
+
cardSchema
|
|
69
|
+
]);
|
|
61
70
|
(0, import_react2.useEffect)(() => {
|
|
62
|
-
|
|
71
|
+
const typename = kanban.cardView?.target?.query?.typename;
|
|
72
|
+
const staticSchema = client.graph.schemaRegistry.schemas.find((schema) => (0, import_echo_schema2.getTypenameOrThrow)(schema) === typename);
|
|
73
|
+
if (staticSchema) {
|
|
74
|
+
setCardSchema(() => staticSchema);
|
|
75
|
+
}
|
|
76
|
+
if (!staticSchema && typename && space) {
|
|
63
77
|
const query = space.db.schemaRegistry.query({
|
|
64
|
-
typename
|
|
78
|
+
typename
|
|
65
79
|
});
|
|
66
80
|
const unsubscribe = query.subscribe(() => {
|
|
67
81
|
const [schema] = query.results;
|
|
@@ -78,13 +92,12 @@ var KanbanContainer = ({ kanban }) => {
|
|
|
78
92
|
space
|
|
79
93
|
]);
|
|
80
94
|
(0, import_react2.useEffect)(() => {
|
|
81
|
-
if (kanban.cardView?.target &&
|
|
82
|
-
setProjection(new import_schema.ViewProjection(
|
|
95
|
+
if (kanban.cardView?.target && jsonSchema) {
|
|
96
|
+
setProjection(new import_schema.ViewProjection(jsonSchema, kanban.cardView.target));
|
|
83
97
|
}
|
|
84
98
|
}, [
|
|
85
99
|
kanban.cardView?.target,
|
|
86
|
-
|
|
87
|
-
JSON.stringify(cardSchema?.jsonSchema)
|
|
100
|
+
JSON.stringify(jsonSchema)
|
|
88
101
|
]);
|
|
89
102
|
const objects = (0, import_echo2.useQuery)(space, cardSchema ? import_echo2.Filter.schema(cardSchema) : import_echo2.Filter.nothing());
|
|
90
103
|
const filteredObjects = (0, import_plugin_search.useGlobalFilteredObjects)(objects);
|
|
@@ -97,7 +110,7 @@ var KanbanContainer = ({ kanban }) => {
|
|
|
97
110
|
const handleAddCard = (0, import_react2.useCallback)((columnValue) => {
|
|
98
111
|
const path = model?.columnFieldPath;
|
|
99
112
|
if (space && cardSchema && path) {
|
|
100
|
-
const card = (0, import_echo2.
|
|
113
|
+
const card = (0, import_echo2.live)(cardSchema, {
|
|
101
114
|
[path]: columnValue
|
|
102
115
|
});
|
|
103
116
|
space.db.add(card);
|
|
@@ -109,7 +122,7 @@ var KanbanContainer = ({ kanban }) => {
|
|
|
109
122
|
model
|
|
110
123
|
]);
|
|
111
124
|
const handleRemoveCard = (0, import_react2.useCallback)((card) => {
|
|
112
|
-
void dispatch((0, import_app_framework2.createIntent)(
|
|
125
|
+
void dispatch((0, import_app_framework2.createIntent)(import_chunk_O4U7ZQ2I.KanbanAction.DeleteCard, {
|
|
113
126
|
card
|
|
114
127
|
}));
|
|
115
128
|
}, [
|
|
@@ -124,7 +137,7 @@ var KanbanContainer = ({ kanban }) => {
|
|
|
124
137
|
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx";
|
|
125
138
|
var KanbanViewEditor = ({ kanban }) => {
|
|
126
139
|
const { dispatchPromise: dispatch } = (0, import_app_framework3.useIntentDispatcher)();
|
|
127
|
-
const client = (0,
|
|
140
|
+
const client = (0, import_react_client3.useClient)();
|
|
128
141
|
const space = (0, import_echo3.getSpace)(kanban);
|
|
129
142
|
const currentTypename = (0, import_react3.useMemo)(() => kanban?.cardView?.target?.query?.typename, [
|
|
130
143
|
kanban?.cardView?.target?.query?.typename
|
|
@@ -151,7 +164,7 @@ var KanbanViewEditor = ({ kanban }) => {
|
|
|
151
164
|
schema
|
|
152
165
|
]);
|
|
153
166
|
const handleDelete = (0, import_react3.useCallback)((fieldId) => {
|
|
154
|
-
void dispatch?.((0, import_app_framework3.createIntent)(
|
|
167
|
+
void dispatch?.((0, import_app_framework3.createIntent)(import_chunk_O4U7ZQ2I.KanbanAction.DeleteCardField, {
|
|
155
168
|
kanban,
|
|
156
169
|
fieldId
|
|
157
170
|
}));
|
|
@@ -169,7 +182,7 @@ var KanbanViewEditor = ({ kanban }) => {
|
|
|
169
182
|
JSON.stringify(schema)
|
|
170
183
|
]);
|
|
171
184
|
const fieldProjections = projection?.getFieldProjections() || [];
|
|
172
|
-
const selectFields = fieldProjections.filter((field) => field.props.format ===
|
|
185
|
+
const selectFields = fieldProjections.filter((field) => field.props.format === import_echo_schema3.FormatEnum.SingleSelect).map(({ field }) => ({
|
|
173
186
|
value: field.id,
|
|
174
187
|
label: field.path
|
|
175
188
|
}));
|
|
@@ -210,52 +223,65 @@ var KanbanViewEditor = ({ kanban }) => {
|
|
|
210
223
|
};
|
|
211
224
|
var react_surface_default = () => (0, import_app_framework.contributes)(import_app_framework.Capabilities.ReactSurface, [
|
|
212
225
|
(0, import_app_framework.createSurface)({
|
|
213
|
-
id: `${
|
|
226
|
+
id: `${import_chunk_O4U7ZQ2I.KANBAN_PLUGIN}/kanban`,
|
|
214
227
|
role: [
|
|
215
228
|
"article",
|
|
216
229
|
"section"
|
|
217
230
|
],
|
|
218
|
-
filter: (data) => (0,
|
|
231
|
+
filter: (data) => (0, import_chunk_O4U7ZQ2I.isKanban)(data.subject),
|
|
219
232
|
component: ({ data, role }) => /* @__PURE__ */ import_react.default.createElement(KanbanContainer, {
|
|
220
233
|
kanban: data.subject,
|
|
221
234
|
role
|
|
222
235
|
})
|
|
223
236
|
}),
|
|
224
237
|
(0, import_app_framework.createSurface)({
|
|
225
|
-
id: `${
|
|
238
|
+
id: `${import_chunk_O4U7ZQ2I.KANBAN_PLUGIN}/object-settings`,
|
|
226
239
|
role: "object-settings",
|
|
227
|
-
filter: (data) => (0,
|
|
240
|
+
filter: (data) => (0, import_chunk_O4U7ZQ2I.isKanban)(data.subject),
|
|
228
241
|
component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(KanbanViewEditor, {
|
|
229
242
|
kanban: data.subject
|
|
230
243
|
})
|
|
231
244
|
}),
|
|
232
245
|
(0, import_app_framework.createSurface)({
|
|
233
|
-
id: `${
|
|
246
|
+
id: `${import_chunk_O4U7ZQ2I.KANBAN_PLUGIN}/create-initial-schema-form`,
|
|
234
247
|
role: "form-input",
|
|
235
248
|
filter: (data) => {
|
|
236
|
-
|
|
249
|
+
if (data.prop !== "typename") {
|
|
250
|
+
return false;
|
|
251
|
+
}
|
|
252
|
+
const annotation = (0, import_effect.findAnnotation)(data.schema.ast, import_chunk_O4U7ZQ2I.TypenameAnnotationId);
|
|
237
253
|
return !!annotation;
|
|
238
254
|
},
|
|
239
255
|
component: ({ data: { target }, ...inputProps }) => {
|
|
256
|
+
const client = (0, import_react_client.useClient)();
|
|
240
257
|
const props = inputProps;
|
|
241
258
|
const space = (0, import_echo.isSpace)(target) ? target : (0, import_echo.getSpace)(target);
|
|
242
259
|
if (!space) {
|
|
243
260
|
return null;
|
|
244
261
|
}
|
|
245
|
-
const
|
|
262
|
+
const schemaWhitelists = (0, import_app_framework.useCapabilities)(import_plugin_client.ClientCapabilities.SchemaWhiteList);
|
|
263
|
+
const whitelistedTypenames = (0, import_react.useMemo)(() => new Set(schemaWhitelists.flatMap((typeArray) => typeArray.map((type) => type.typename))), [
|
|
264
|
+
schemaWhitelists
|
|
265
|
+
]);
|
|
266
|
+
const fixed = client.graph.schemaRegistry.schemas.filter((schema) => whitelistedTypenames.has((0, import_echo_schema.getTypenameOrThrow)(schema)));
|
|
267
|
+
const dynamic = space?.db.schemaRegistry.query().runSync();
|
|
268
|
+
const typenames = Array.from(/* @__PURE__ */ new Set([
|
|
269
|
+
...fixed.map((schema) => (0, import_echo_schema.getTypenameOrThrow)(schema)),
|
|
270
|
+
...dynamic.map((schema) => schema.typename)
|
|
271
|
+
])).sort();
|
|
246
272
|
return /* @__PURE__ */ import_react.default.createElement(import_react_ui_form.SelectInput, {
|
|
247
273
|
...props,
|
|
248
|
-
options:
|
|
249
|
-
value:
|
|
274
|
+
options: typenames.map((typename) => ({
|
|
275
|
+
value: typename
|
|
250
276
|
}))
|
|
251
277
|
});
|
|
252
278
|
}
|
|
253
279
|
}),
|
|
254
280
|
(0, import_app_framework.createSurface)({
|
|
255
|
-
id: `${
|
|
281
|
+
id: `${import_chunk_O4U7ZQ2I.KANBAN_PLUGIN}/create-initial-schema-form-[pivot-column]`,
|
|
256
282
|
role: "form-input",
|
|
257
283
|
filter: (data) => {
|
|
258
|
-
const annotation = (0, import_effect.findAnnotation)(data.schema.ast,
|
|
284
|
+
const annotation = (0, import_effect.findAnnotation)(data.schema.ast, import_chunk_O4U7ZQ2I.PivotColumnAnnotationId);
|
|
259
285
|
return !!annotation;
|
|
260
286
|
},
|
|
261
287
|
component: ({ data: { target }, ...inputProps }) => {
|
|
@@ -265,14 +291,17 @@ var react_surface_default = () => (0, import_app_framework.contributes)(import_a
|
|
|
265
291
|
return null;
|
|
266
292
|
}
|
|
267
293
|
const { typename } = (0, import_react_ui_form.useFormValues)();
|
|
294
|
+
const schemaWhitelists = (0, import_app_framework.useCapabilities)(import_plugin_client.ClientCapabilities.SchemaWhiteList);
|
|
295
|
+
const staticSchema = schemaWhitelists.flat().find((schema) => (0, import_echo_schema.getTypenameOrThrow)(schema) === typename);
|
|
268
296
|
const [selectedSchema] = space?.db.schemaRegistry.query({
|
|
269
297
|
typename
|
|
270
298
|
}).runSync();
|
|
271
299
|
const singleSelectColumns = (0, import_react.useMemo)(() => {
|
|
272
|
-
|
|
300
|
+
const properties = staticSchema ? (0, import_echo_schema.toJsonSchema)(staticSchema).properties : selectedSchema?.jsonSchema?.properties;
|
|
301
|
+
if (!properties) {
|
|
273
302
|
return [];
|
|
274
303
|
}
|
|
275
|
-
const columns = Object.entries(
|
|
304
|
+
const columns = Object.entries(properties).reduce((acc, [key, value]) => {
|
|
276
305
|
if (typeof value === "object" && value?.format === "single-select") {
|
|
277
306
|
acc.push(key);
|
|
278
307
|
}
|
|
@@ -280,7 +309,8 @@ var react_surface_default = () => (0, import_app_framework.contributes)(import_a
|
|
|
280
309
|
}, []);
|
|
281
310
|
return columns;
|
|
282
311
|
}, [
|
|
283
|
-
selectedSchema?.jsonSchema
|
|
312
|
+
selectedSchema?.jsonSchema,
|
|
313
|
+
staticSchema
|
|
284
314
|
]);
|
|
285
315
|
if (!typename) {
|
|
286
316
|
return null;
|
|
@@ -294,4 +324,4 @@ var react_surface_default = () => (0, import_app_framework.contributes)(import_a
|
|
|
294
324
|
}
|
|
295
325
|
})
|
|
296
326
|
]);
|
|
297
|
-
//# sourceMappingURL=react-surface-
|
|
327
|
+
//# sourceMappingURL=react-surface-LKFQ3TZH.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.schema(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 { FormatEnum } 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.schema(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 schema.mutable.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 return new ViewProjection(schema.jsonSchema, kanban.cardView.target);\n }\n }, [kanban?.cardView?.target, schema, JSON.stringify(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={schema.readonly ? undefined : handleUpdateTypename}\n onDelete={schema.readonly ? undefined : handleDelete}\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", "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", "mutable", "updateTypename", "handleDelete", "fieldId", "DeleteCardField", "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", "readonly", "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", "type", "fixed", "has", "dynamic", "runSync", "typenames", "Array", "from", "sort", "PivotColumnAnnotationId", "useFormValues", "flat", "selectedSchema", "singleSelectColumns", "properties", "columns", "Object", "entries", "reduce", "acc", "key", "push", "column"]
|
|
7
|
+
}
|
package/dist/lib/node/types.cjs
CHANGED
|
@@ -18,22 +18,20 @@ 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: () =>
|
|
22
|
-
KanbanAction: () =>
|
|
23
|
-
PivotColumnAnnotationId: () =>
|
|
24
|
-
TypenameAnnotationId: () =>
|
|
25
|
-
|
|
26
|
-
isKanban: () => import_chunk_3EUR6ZR2.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
|
|
27
26
|
});
|
|
28
27
|
module.exports = __toCommonJS(types_exports);
|
|
29
|
-
var
|
|
28
|
+
var import_chunk_O4U7ZQ2I = require("./chunk-O4U7ZQ2I.cjs");
|
|
30
29
|
// Annotate the CommonJS export names for ESM import in node:
|
|
31
30
|
0 && (module.exports = {
|
|
32
31
|
CreateKanbanSchema,
|
|
33
32
|
KanbanAction,
|
|
34
33
|
PivotColumnAnnotationId,
|
|
35
34
|
TypenameAnnotationId,
|
|
36
|
-
createKanban,
|
|
37
35
|
isKanban
|
|
38
36
|
});
|
|
39
37
|
//# sourceMappingURL=types.cjs.map
|
|
@@ -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
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA
|
|
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
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAMO;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/lib/node-esm/{artifact-definition-HQ5I2OO5.mjs → artifact-definition-G2R5LF26.mjs}
RENAMED
|
@@ -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-
|
|
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
|
|
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 =
|
|
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:
|
|
39
|
-
typename:
|
|
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:
|
|
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:
|
|
89
|
+
schema: Schema.Struct({}),
|
|
90
90
|
execute: async (_input, { extensions }) => {
|
|
91
91
|
invariant(extensions?.space, "No space", {
|
|
92
92
|
F: __dxlog_file,
|
|
@@ -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:
|
|
116
|
+
schema: Schema.Struct({
|
|
117
117
|
id: QualifiedId
|
|
118
118
|
}),
|
|
119
119
|
execute: async ({ id }, { extensions }) => {
|
|
@@ -175,4 +175,4 @@ var artifact_definition_default = () => {
|
|
|
175
175
|
export {
|
|
176
176
|
artifact_definition_default as default
|
|
177
177
|
};
|
|
178
|
-
//# sourceMappingURL=artifact-definition-
|
|
178
|
+
//# sourceMappingURL=artifact-definition-G2R5LF26.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.schema(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.schema(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": ";;;;;;;AAIA,SAASA,QAAQC,YAAY;AAE7B,SAASC,cAAcC,OAAOC,aAAaC,oBAAkD;AAC7F,SAASC,gBAAgBC,YAAYC,kBAAkB;AACvD,SAASC,6BAA6B;AACtC,SAASC,oBAAoB;AAC7B,SAASC,iBAAiB;AAC1B,SAASC,mBAAmB;AAC5B,SAASC,QAAQC,wBAAoC;AACrD,SAASC,kBAAkB;;AAK3B,IAAMC,cAAcC,OAAOC,OAAOC,YAAY;EAC5CC,aAAa;AACf,CAAA;AASA,IAAA,8BAAe,MAAA;AACb,QAAMC,aAAaC,eAAe;IAChCC,IAAI,YAAYC,KAAKD,EAAE;IACvBE,MAAMD,KAAKC;IACXC,cAAc;;;;;IAKdC,QAAQC;IACRC,OAAO;MACLC,WAAWN,KAAKD,IAAI;QAClBE,MAAM;QACNL,aAAa;;;QAGbW,SAAS;QACTJ,QAAQV,OAAOe,OAAO;UACpBC,UAAUhB,OAAOC,OAAOC,YAAY;YAClCC,aAAa;UACf,CAAA;UACAc,aAAajB,OAAOkB,SAASlB,OAAOC,MAAM,EAAEC,YAAY;YACtDC,aAAa;UACf,CAAA;QACF,CAAA;QACAgB,SAAS,OAAO,EAAEH,UAAUC,YAAW,GAAI,EAAEG,WAAU,MAAE;AACvDC,oBAAUD,YAAYE,OAAO,YAAA;;;;;;;;;AAC7BD,oBAAUD,YAAYG,UAAU,wBAAA;;;;;;;;;AAGhC,gBAAMb,SAAS,MAAMU,WAAWE,MAAME,GAAGC,eAAeC,MAAM;YAAEV;UAAS,CAAA,EAAGW,iBAAgB;AAC5F,cAAI,CAACjB,QAAQ;AACX,mBAAOkB,WAAWC,MAAM,qBAAqBb,QAAAA,EAAU;UACzD;AAEA,gBAAMc,SAASC,KACbC,aAAaC,aAAaC,QAAQ;YAChCZ,OAAOF,WAAWE;YAClBN;YACAmB,oBAAoBlB;UACtB,CAAA,GACAmB,MAAMC,YAAYC,WAAW;YAAEC,QAAQnB,WAAWE;UAAM,CAAA,CAAA;AAG1D,gBAAM,EAAEkB,MAAMC,MAAK,IAAK,MAAMrB,WAAWG,SAASO,MAAAA;AAClD,cAAI,CAACU,QAAQC,OAAO;AAClB,mBAAOb,WAAWC,MAAMY,OAAOC,WAAW,+BAAA;UAC5C;AAEA,iBAAOd,WAAWe,QAAQC,sBAAsBJ,KAAKlC,EAAE,CAAA;QACzD;MACF,CAAA;MACAO,WAAWN,KAAKD,IAAI;QAClBE,MAAM;QACNL,aAAa;QACbW,SAAS;QACTJ,QAAQV,OAAOe,OAAO,CAAC,CAAA;QACvBI,SAAS,OAAO0B,QAAQ,EAAEzB,WAAU,MAAE;AACpCC,oBAAUD,YAAYE,OAAO,YAAA;;;;;;;;;AAC7B,gBAAMA,QAAQF,WAAWE;AACzB,gBAAM,EAAEwB,SAASC,OAAM,IAAK,MAAMzB,MAAME,GAAGE,MAAMsB,OAAOtC,OAAOC,UAAAA,CAAAA,EAAasC,IAAG;AAE/E,gBAAMC,YAAY,MAAMC,QAAQC,IAC9BL,OAAOM,IAAI,OAAOC,UAAAA;AAChB,kBAAMC,OAAO,MAAMD,MAAME,UAAUC,KAAAA;AACnC,mBAAO;cACLnD,IAAIoD,iBAAiBJ,KAAAA;cACrBtC,UAAUuC,MAAM7B,MAAMV;YACxB;UACF,CAAA,CAAA;AAGF,iBAAOY,WAAWe,QAAQO,SAAAA;QAC5B;MACF,CAAA;MACArC,WAAWN,KAAKD,IAAI;QAClBE,MAAM;QACNL,aAAa;QACbW,SAAS;QACTJ,QAAQV,OAAOe,OAAO;UAAET,IAAIP;QAAY,CAAA;QACxCoB,SAAS,OAAO,EAAEb,GAAE,GAAI,EAAEc,WAAU,MAAE;AACpCC,oBAAUD,YAAYE,OAAO,YAAA;;;;;;;;;AAC7B,gBAAMA,QAAQF,WAAWE;AACzB,gBAAM,EAAEwB,SAASC,OAAM,IAAK,MAAMzB,MAAME,GAAGE,MAAMsB,OAAOtC,OAAOC,UAAAA,CAAAA,EAAasC,IAAG;AAC/E,gBAAMK,QAAQP,OAAOY,KAAK,CAACL,WAAsBI,iBAAiBJ,MAAAA,MAAWhD,EAAAA;AAC7Ee,oBAAUuC,aAAajD,YAAY2C,KAAAA,GAAAA,QAAAA;;;;;;;;;AAEnC,gBAAMC,OAAO,MAAMD,MAAME,UAAUC,KAAAA;AACnCpC,oBAAUkC,MAAAA,QAAAA;;;;;;;;;AAEV,gBAAMvC,WAAWuC,KAAK7B,MAAMV;AAC5B,gBAAMN,SAAS,MAAMY,MAAME,GAAGC,eAAeC,MAAM;YAAEV;UAAS,CAAA,EAAGW,iBAAgB;AACjFN,oBAAUX,QAAAA,QAAAA;;;;;;;;;AAEV,iBAAOkB,WAAWe,QAAQ;YACxBjC;YACAmD,aAAaP,MAAMQ;YACnBC,YAAYR,KAAKS;UACnB,CAAA;QACF;MACF,CAAA;;EAEJ,CAAA;AAEA,SAAOC,YAAYC,aAAaC,oBAAoB/D,UAAAA;AACtD;",
|
|
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", "run", "boardInfo", "Promise", "all", "map", "board", "view", "cardView", "load", "fullyQualifiedId", "find", "isInstanceOf", "columnField", "columnFieldId", "viewFields", "fields", "contributes", "Capabilities", "ArtifactDefinition"]
|
|
7
|
+
}
|