@nocobase/app-plugin-projects 0.0.0-stage → 0.1.0-beta.2
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/CHANGELOG.md +144 -0
- package/README.md +309 -2
- package/dist/client/api/client.d.ts +116 -0
- package/dist/client/api/client.d.ts.map +1 -0
- package/dist/client/api/client.js +285 -0
- package/dist/client/api/client.js.map +1 -0
- package/dist/client/api/keys.d.ts +38 -0
- package/dist/client/api/keys.d.ts.map +1 -0
- package/dist/client/api/keys.js +68 -0
- package/dist/client/api/keys.js.map +1 -0
- package/dist/client/components/data-table-column-header.d.ts +14 -0
- package/dist/client/components/data-table-column-header.d.ts.map +1 -0
- package/dist/client/components/data-table-column-header.js +39 -0
- package/dist/client/components/data-table-column-header.js.map +1 -0
- package/dist/client/components/data-table-pagination.d.ts +15 -0
- package/dist/client/components/data-table-pagination.d.ts.map +1 -0
- package/dist/client/components/data-table-pagination.js +41 -0
- package/dist/client/components/data-table-pagination.js.map +1 -0
- package/dist/client/components/data-table-view-options.d.ts +14 -0
- package/dist/client/components/data-table-view-options.d.ts.map +1 -0
- package/dist/client/components/data-table-view-options.js +18 -0
- package/dist/client/components/data-table-view-options.js.map +1 -0
- package/dist/client/components/data-table-virtual.d.ts +12 -0
- package/dist/client/components/data-table-virtual.d.ts.map +1 -0
- package/dist/client/components/data-table-virtual.js +38 -0
- package/dist/client/components/data-table-virtual.js.map +1 -0
- package/dist/client/components/data-table.d.ts +49 -0
- package/dist/client/components/data-table.d.ts.map +1 -0
- package/dist/client/components/data-table.js +56 -0
- package/dist/client/components/data-table.js.map +1 -0
- package/dist/client/components/date-picker.d.ts +44 -0
- package/dist/client/components/date-picker.d.ts.map +1 -0
- package/dist/client/components/date-picker.js +54 -0
- package/dist/client/components/date-picker.js.map +1 -0
- package/dist/client/components/page-container.d.ts +11 -0
- package/dist/client/components/page-container.d.ts.map +1 -0
- package/dist/client/components/page-container.js +13 -0
- package/dist/client/components/page-container.js.map +1 -0
- package/dist/client/components/page-header.d.ts +16 -0
- package/dist/client/components/page-header.d.ts.map +1 -0
- package/dist/client/components/page-header.js +10 -0
- package/dist/client/components/page-header.js.map +1 -0
- package/dist/client/components/pm-api-key-tag.d.ts +6 -0
- package/dist/client/components/pm-api-key-tag.d.ts.map +1 -0
- package/dist/client/components/pm-api-key-tag.js +10 -0
- package/dist/client/components/pm-api-key-tag.js.map +1 -0
- package/dist/client/components/pm-badges.d.ts +34 -0
- package/dist/client/components/pm-badges.d.ts.map +1 -0
- package/dist/client/components/pm-badges.js +46 -0
- package/dist/client/components/pm-badges.js.map +1 -0
- package/dist/client/components/pm-executor-select.d.ts +32 -0
- package/dist/client/components/pm-executor-select.d.ts.map +1 -0
- package/dist/client/components/pm-executor-select.js +66 -0
- package/dist/client/components/pm-executor-select.js.map +1 -0
- package/dist/client/components/pm-expandable-textarea.d.ts +7 -0
- package/dist/client/components/pm-expandable-textarea.d.ts.map +1 -0
- package/dist/client/components/pm-expandable-textarea.js +18 -0
- package/dist/client/components/pm-expandable-textarea.js.map +1 -0
- package/dist/client/components/pm-kind-icon.d.ts +7 -0
- package/dist/client/components/pm-kind-icon.d.ts.map +1 -0
- package/dist/client/components/pm-kind-icon.js +12 -0
- package/dist/client/components/pm-kind-icon.js.map +1 -0
- package/dist/client/components/pm-labels.d.ts +28 -0
- package/dist/client/components/pm-labels.d.ts.map +1 -0
- package/dist/client/components/pm-labels.js +32 -0
- package/dist/client/components/pm-labels.js.map +1 -0
- package/dist/client/components/pm-live.d.ts +14 -0
- package/dist/client/components/pm-live.d.ts.map +1 -0
- package/dist/client/components/pm-live.js +19 -0
- package/dist/client/components/pm-live.js.map +1 -0
- package/dist/client/components/pm-markdown-toc.d.ts +12 -0
- package/dist/client/components/pm-markdown-toc.d.ts.map +1 -0
- package/dist/client/components/pm-markdown-toc.js +47 -0
- package/dist/client/components/pm-markdown-toc.js.map +1 -0
- package/dist/client/components/pm-markdown.d.ts +15 -0
- package/dist/client/components/pm-markdown.d.ts.map +1 -0
- package/dist/client/components/pm-markdown.js +62 -0
- package/dist/client/components/pm-markdown.js.map +1 -0
- package/dist/client/components/pm-multi-select.d.ts +26 -0
- package/dist/client/components/pm-multi-select.d.ts.map +1 -0
- package/dist/client/components/pm-multi-select.js +48 -0
- package/dist/client/components/pm-multi-select.js.map +1 -0
- package/dist/client/components/pm-property-fields.d.ts +47 -0
- package/dist/client/components/pm-property-fields.d.ts.map +1 -0
- package/dist/client/components/pm-property-fields.js +74 -0
- package/dist/client/components/pm-property-fields.js.map +1 -0
- package/dist/client/components/pm-rich-text-editor.d.ts +50 -0
- package/dist/client/components/pm-rich-text-editor.d.ts.map +1 -0
- package/dist/client/components/pm-rich-text-editor.js +269 -0
- package/dist/client/components/pm-rich-text-editor.js.map +1 -0
- package/dist/client/components/pm-rich-text-extensions.d.ts +39 -0
- package/dist/client/components/pm-rich-text-extensions.d.ts.map +1 -0
- package/dist/client/components/pm-rich-text-extensions.js +176 -0
- package/dist/client/components/pm-rich-text-extensions.js.map +1 -0
- package/dist/client/components/pm-scroll-parent.d.ts +10 -0
- package/dist/client/components/pm-scroll-parent.d.ts.map +1 -0
- package/dist/client/components/pm-scroll-parent.js +19 -0
- package/dist/client/components/pm-scroll-parent.js.map +1 -0
- package/dist/client/components/pm-shortcut-keys.d.ts +16 -0
- package/dist/client/components/pm-shortcut-keys.d.ts.map +1 -0
- package/dist/client/components/pm-shortcut-keys.js +46 -0
- package/dist/client/components/pm-shortcut-keys.js.map +1 -0
- package/dist/client/components/pm-shortcuts.d.ts +21 -0
- package/dist/client/components/pm-shortcuts.d.ts.map +1 -0
- package/dist/client/components/pm-shortcuts.js +71 -0
- package/dist/client/components/pm-shortcuts.js.map +1 -0
- package/dist/client/components/pm-states.d.ts +31 -0
- package/dist/client/components/pm-states.d.ts.map +1 -0
- package/dist/client/components/pm-states.js +46 -0
- package/dist/client/components/pm-states.js.map +1 -0
- package/dist/client/components/pm-tag.d.ts +18 -0
- package/dist/client/components/pm-tag.d.ts.map +1 -0
- package/dist/client/components/pm-tag.js +14 -0
- package/dist/client/components/pm-tag.js.map +1 -0
- package/dist/client/components/pm-tones.d.ts +16 -0
- package/dist/client/components/pm-tones.d.ts.map +1 -0
- package/dist/client/components/pm-tones.js +26 -0
- package/dist/client/components/pm-tones.js.map +1 -0
- package/dist/client/components/route-child-page.d.ts +24 -0
- package/dist/client/components/route-child-page.d.ts.map +1 -0
- package/dist/client/components/route-child-page.js +46 -0
- package/dist/client/components/route-child-page.js.map +1 -0
- package/dist/client/components/route-dialog.d.ts +6 -0
- package/dist/client/components/route-dialog.d.ts.map +1 -0
- package/dist/client/components/route-dialog.js +7 -0
- package/dist/client/components/route-dialog.js.map +1 -0
- package/dist/client/components/route-drawer.d.ts +6 -0
- package/dist/client/components/route-drawer.d.ts.map +1 -0
- package/dist/client/components/route-drawer.js +7 -0
- package/dist/client/components/route-drawer.js.map +1 -0
- package/dist/client/components/route-overlay.d.ts +21 -0
- package/dist/client/components/route-overlay.d.ts.map +1 -0
- package/dist/client/components/route-overlay.js +87 -0
- package/dist/client/components/route-overlay.js.map +1 -0
- package/dist/client/components/ui/alert-dialog.d.ts +19 -0
- package/dist/client/components/ui/alert-dialog.d.ts.map +1 -0
- package/dist/client/components/ui/alert-dialog.js +42 -0
- package/dist/client/components/ui/alert-dialog.js.map +1 -0
- package/dist/client/components/ui/alert.d.ts +13 -0
- package/dist/client/components/ui/alert.d.ts.map +1 -0
- package/dist/client/components/ui/alert.js +31 -0
- package/dist/client/components/ui/alert.js.map +1 -0
- package/dist/client/components/ui/avatar.d.ts +12 -0
- package/dist/client/components/ui/avatar.d.ts.map +1 -0
- package/dist/client/components/ui/avatar.js +23 -0
- package/dist/client/components/ui/avatar.js.map +1 -0
- package/dist/client/components/ui/badge.d.ts +11 -0
- package/dist/client/components/ui/badge.d.ts.map +1 -0
- package/dist/client/components/ui/badge.js +37 -0
- package/dist/client/components/ui/badge.js.map +1 -0
- package/dist/client/components/ui/button-group.d.ts +8 -0
- package/dist/client/components/ui/button-group.d.ts.map +1 -0
- package/dist/client/components/ui/button-group.js +23 -0
- package/dist/client/components/ui/button-group.js.map +1 -0
- package/dist/client/components/ui/button.d.ts +12 -0
- package/dist/client/components/ui/button.d.ts.map +1 -0
- package/dist/client/components/ui/button.js +38 -0
- package/dist/client/components/ui/button.js.map +1 -0
- package/dist/client/components/ui/calendar.d.ts +11 -0
- package/dist/client/components/ui/calendar.d.ts.map +1 -0
- package/dist/client/components/ui/calendar.js +76 -0
- package/dist/client/components/ui/calendar.js.map +1 -0
- package/dist/client/components/ui/card.d.ts +12 -0
- package/dist/client/components/ui/card.d.ts.map +1 -0
- package/dist/client/components/ui/card.js +25 -0
- package/dist/client/components/ui/card.js.map +1 -0
- package/dist/client/components/ui/checkbox.d.ts +5 -0
- package/dist/client/components/ui/checkbox.d.ts.map +1 -0
- package/dist/client/components/ui/checkbox.js +9 -0
- package/dist/client/components/ui/checkbox.js.map +1 -0
- package/dist/client/components/ui/collapsible.d.ts +7 -0
- package/dist/client/components/ui/collapsible.d.ts.map +1 -0
- package/dist/client/components/ui/collapsible.js +13 -0
- package/dist/client/components/ui/collapsible.js.map +1 -0
- package/dist/client/components/ui/combobox.d.ts +25 -0
- package/dist/client/components/ui/combobox.d.ts.map +1 -0
- package/dist/client/components/ui/combobox.js +58 -0
- package/dist/client/components/ui/combobox.js.map +1 -0
- package/dist/client/components/ui/command.d.ts +20 -0
- package/dist/client/components/ui/command.d.ts.map +1 -0
- package/dist/client/components/ui/command.js +35 -0
- package/dist/client/components/ui/command.js.map +1 -0
- package/dist/client/components/ui/dialog.d.ts +18 -0
- package/dist/client/components/ui/dialog.d.ts.map +1 -0
- package/dist/client/components/ui/dialog.js +40 -0
- package/dist/client/components/ui/dialog.js.map +1 -0
- package/dist/client/components/ui/dropdown-menu.d.ts +30 -0
- package/dist/client/components/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/client/components/ui/dropdown-menu.js +51 -0
- package/dist/client/components/ui/dropdown-menu.js.map +1 -0
- package/dist/client/components/ui/empty.d.ts +15 -0
- package/dist/client/components/ui/empty.d.ts.map +1 -0
- package/dist/client/components/ui/empty.js +37 -0
- package/dist/client/components/ui/empty.js.map +1 -0
- package/dist/client/components/ui/field.d.ts +28 -0
- package/dist/client/components/ui/field.d.ts.map +1 -0
- package/dist/client/components/ui/field.js +71 -0
- package/dist/client/components/ui/field.js.map +1 -0
- package/dist/client/components/ui/input-group.d.ts +22 -0
- package/dist/client/components/ui/input-group.d.ts.map +1 -0
- package/dist/client/components/ui/input-group.js +63 -0
- package/dist/client/components/ui/input-group.js.map +1 -0
- package/dist/client/components/ui/input.d.ts +4 -0
- package/dist/client/components/ui/input.d.ts.map +1 -0
- package/dist/client/components/ui/input.js +8 -0
- package/dist/client/components/ui/input.js.map +1 -0
- package/dist/client/components/ui/kbd.d.ts +5 -0
- package/dist/client/components/ui/kbd.d.ts.map +1 -0
- package/dist/client/components/ui/kbd.js +10 -0
- package/dist/client/components/ui/kbd.js.map +1 -0
- package/dist/client/components/ui/label.d.ts +4 -0
- package/dist/client/components/ui/label.d.ts.map +1 -0
- package/dist/client/components/ui/label.js +7 -0
- package/dist/client/components/ui/label.js.map +1 -0
- package/dist/client/components/ui/popover.d.ts +10 -0
- package/dist/client/components/ui/popover.d.ts.map +1 -0
- package/dist/client/components/ui/popover.js +23 -0
- package/dist/client/components/ui/popover.js.map +1 -0
- package/dist/client/components/ui/progress.d.ts +9 -0
- package/dist/client/components/ui/progress.d.ts.map +1 -0
- package/dist/client/components/ui/progress.js +20 -0
- package/dist/client/components/ui/progress.js.map +1 -0
- package/dist/client/components/ui/select.d.ts +16 -0
- package/dist/client/components/ui/select.d.ts.map +1 -0
- package/dist/client/components/ui/select.js +34 -0
- package/dist/client/components/ui/select.js.map +1 -0
- package/dist/client/components/ui/separator.d.ts +5 -0
- package/dist/client/components/ui/separator.d.ts.map +1 -0
- package/dist/client/components/ui/separator.js +8 -0
- package/dist/client/components/ui/separator.js.map +1 -0
- package/dist/client/components/ui/skeleton.d.ts +4 -0
- package/dist/client/components/ui/skeleton.d.ts.map +1 -0
- package/dist/client/components/ui/skeleton.js +7 -0
- package/dist/client/components/ui/skeleton.js.map +1 -0
- package/dist/client/components/ui/spinner.d.ts +4 -0
- package/dist/client/components/ui/spinner.d.ts.map +1 -0
- package/dist/client/components/ui/spinner.js +11 -0
- package/dist/client/components/ui/spinner.js.map +1 -0
- package/dist/client/components/ui/switch.d.ts +7 -0
- package/dist/client/components/ui/switch.d.ts.map +1 -0
- package/dist/client/components/ui/switch.js +8 -0
- package/dist/client/components/ui/switch.js.map +1 -0
- package/dist/client/components/ui/table.d.ts +11 -0
- package/dist/client/components/ui/table.d.ts.map +1 -0
- package/dist/client/components/ui/table.js +28 -0
- package/dist/client/components/ui/table.js.map +1 -0
- package/dist/client/components/ui/tabs.d.ts +14 -0
- package/dist/client/components/ui/tabs.d.ts.map +1 -0
- package/dist/client/components/ui/tabs.js +32 -0
- package/dist/client/components/ui/tabs.js.map +1 -0
- package/dist/client/components/ui/textarea.d.ts +4 -0
- package/dist/client/components/ui/textarea.d.ts.map +1 -0
- package/dist/client/components/ui/textarea.js +7 -0
- package/dist/client/components/ui/textarea.js.map +1 -0
- package/dist/client/components/ui/toggle-group.d.ts +12 -0
- package/dist/client/components/ui/toggle-group.d.ts.map +1 -0
- package/dist/client/components/ui/toggle-group.js +24 -0
- package/dist/client/components/ui/toggle-group.js.map +1 -0
- package/dist/client/components/ui/toggle.d.ts +12 -0
- package/dist/client/components/ui/toggle.d.ts.map +1 -0
- package/dist/client/components/ui/toggle.js +29 -0
- package/dist/client/components/ui/toggle.js.map +1 -0
- package/dist/client/components/ui/tooltip.d.ts +8 -0
- package/dist/client/components/ui/tooltip.d.ts.map +1 -0
- package/dist/client/components/ui/tooltip.js +17 -0
- package/dist/client/components/ui/tooltip.js.map +1 -0
- package/dist/client/components/unsaved-changes.d.ts +8 -0
- package/dist/client/components/unsaved-changes.d.ts.map +1 -0
- package/dist/client/components/unsaved-changes.js +19 -0
- package/dist/client/components/unsaved-changes.js.map +1 -0
- package/dist/client/components/use-default-tab.d.ts +7 -0
- package/dist/client/components/use-default-tab.d.ts.map +1 -0
- package/dist/client/components/use-default-tab.js +13 -0
- package/dist/client/components/use-default-tab.js.map +1 -0
- package/dist/client/components/use-new-issue-shortcut.d.ts +12 -0
- package/dist/client/components/use-new-issue-shortcut.d.ts.map +1 -0
- package/dist/client/components/use-new-issue-shortcut.js +43 -0
- package/dist/client/components/use-new-issue-shortcut.js.map +1 -0
- package/dist/client/components/use-route-overlay.d.ts +15 -0
- package/dist/client/components/use-route-overlay.d.ts.map +1 -0
- package/dist/client/components/use-route-overlay.js +15 -0
- package/dist/client/components/use-route-overlay.js.map +1 -0
- package/dist/client/config.d.ts +6 -0
- package/dist/client/config.d.ts.map +1 -0
- package/dist/client/config.js +16 -0
- package/dist/client/config.js.map +1 -0
- package/dist/client/hooks/use-api-key-actors.d.ts +7 -0
- package/dist/client/hooks/use-api-key-actors.d.ts.map +1 -0
- package/dist/client/hooks/use-api-key-actors.js +18 -0
- package/dist/client/hooks/use-api-key-actors.js.map +1 -0
- package/dist/client/hooks/use-attachment-uploads.d.ts +33 -0
- package/dist/client/hooks/use-attachment-uploads.d.ts.map +1 -0
- package/dist/client/hooks/use-attachment-uploads.js +103 -0
- package/dist/client/hooks/use-attachment-uploads.js.map +1 -0
- package/dist/client/hooks/use-notify.d.ts +17 -0
- package/dist/client/hooks/use-notify.d.ts.map +1 -0
- package/dist/client/hooks/use-notify.js +44 -0
- package/dist/client/hooks/use-notify.js.map +1 -0
- package/dist/client/hooks/use-pm-api.d.ts +4 -0
- package/dist/client/hooks/use-pm-api.d.ts.map +1 -0
- package/dist/client/hooks/use-pm-api.js +9 -0
- package/dist/client/hooks/use-pm-api.js.map +1 -0
- package/dist/client/hooks/use-viewer.d.ts +7 -0
- package/dist/client/hooks/use-viewer.d.ts.map +1 -0
- package/dist/client/hooks/use-viewer.js +18 -0
- package/dist/client/hooks/use-viewer.js.map +1 -0
- package/dist/client/index.d.ts +2 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +4 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/issues.d.ts +37 -0
- package/dist/client/issues.d.ts.map +1 -0
- package/dist/client/issues.js +49 -0
- package/dist/client/issues.js.map +1 -0
- package/dist/client/kit/page-context.d.ts +75 -0
- package/dist/client/kit/page-context.d.ts.map +1 -0
- package/dist/client/kit/page-context.js +92 -0
- package/dist/client/kit/page-context.js.map +1 -0
- package/dist/client/kit/page-slots.d.ts +13 -0
- package/dist/client/kit/page-slots.d.ts.map +1 -0
- package/dist/client/kit/page-slots.js +19 -0
- package/dist/client/kit/page-slots.js.map +1 -0
- package/dist/client/kit/plans/api.d.ts +46 -0
- package/dist/client/kit/plans/api.d.ts.map +1 -0
- package/dist/client/kit/plans/api.js +137 -0
- package/dist/client/kit/plans/api.js.map +1 -0
- package/dist/client/kit/plans/lookup.d.ts +27 -0
- package/dist/client/kit/plans/lookup.d.ts.map +1 -0
- package/dist/client/kit/plans/lookup.js +136 -0
- package/dist/client/kit/plans/lookup.js.map +1 -0
- package/dist/client/kit/plans/model.d.ts +94 -0
- package/dist/client/kit/plans/model.d.ts.map +1 -0
- package/dist/client/kit/plans/model.js +307 -0
- package/dist/client/kit/plans/model.js.map +1 -0
- package/dist/client/kit/plans/plan-card.d.ts +29 -0
- package/dist/client/kit/plans/plan-card.d.ts.map +1 -0
- package/dist/client/kit/plans/plan-card.js +105 -0
- package/dist/client/kit/plans/plan-card.js.map +1 -0
- package/dist/client/kit/plans/plan-confirm.d.ts +15 -0
- package/dist/client/kit/plans/plan-confirm.d.ts.map +1 -0
- package/dist/client/kit/plans/plan-confirm.js +39 -0
- package/dist/client/kit/plans/plan-confirm.js.map +1 -0
- package/dist/client/kit/plans/plan-editor.d.ts +42 -0
- package/dist/client/kit/plans/plan-editor.d.ts.map +1 -0
- package/dist/client/kit/plans/plan-editor.js +270 -0
- package/dist/client/kit/plans/plan-editor.js.map +1 -0
- package/dist/client/kit/plans/plan-list-item.d.ts +18 -0
- package/dist/client/kit/plans/plan-list-item.d.ts.map +1 -0
- package/dist/client/kit/plans/plan-list-item.js +23 -0
- package/dist/client/kit/plans/plan-list-item.js.map +1 -0
- package/dist/client/kit/plans/plan-row.d.ts +21 -0
- package/dist/client/kit/plans/plan-row.d.ts.map +1 -0
- package/dist/client/kit/plans/plan-row.js +109 -0
- package/dist/client/kit/plans/plan-row.js.map +1 -0
- package/dist/client/kit/plans/plan-text.d.ts +52 -0
- package/dist/client/kit/plans/plan-text.d.ts.map +1 -0
- package/dist/client/kit/plans/plan-text.js +96 -0
- package/dist/client/kit/plans/plan-text.js.map +1 -0
- package/dist/client/kit/plans/plan-undo.d.ts +9 -0
- package/dist/client/kit/plans/plan-undo.d.ts.map +1 -0
- package/dist/client/kit/plans/plan-undo.js +67 -0
- package/dist/client/kit/plans/plan-undo.js.map +1 -0
- package/dist/client/kit/plans/tones.d.ts +8 -0
- package/dist/client/kit/plans/tones.d.ts.map +1 -0
- package/dist/client/kit/plans/tones.js +18 -0
- package/dist/client/kit/plans/tones.js.map +1 -0
- package/dist/client/kit/plans/use-plan.d.ts +24 -0
- package/dist/client/kit/plans/use-plan.d.ts.map +1 -0
- package/dist/client/kit/plans/use-plan.js +102 -0
- package/dist/client/kit/plans/use-plan.js.map +1 -0
- package/dist/client/kit.d.ts +72 -0
- package/dist/client/kit.d.ts.map +1 -0
- package/dist/client/kit.js +78 -0
- package/dist/client/kit.js.map +1 -0
- package/dist/client/lib/built-in-rule-editors.d.ts +13 -0
- package/dist/client/lib/built-in-rule-editors.d.ts.map +1 -0
- package/dist/client/lib/built-in-rule-editors.js +86 -0
- package/dist/client/lib/built-in-rule-editors.js.map +1 -0
- package/dist/client/lib/built-in-rule-types.d.ts +3 -0
- package/dist/client/lib/built-in-rule-types.d.ts.map +1 -0
- package/dist/client/lib/built-in-rule-types.js +63 -0
- package/dist/client/lib/built-in-rule-types.js.map +1 -0
- package/dist/client/lib/format.d.ts +22 -0
- package/dist/client/lib/format.d.ts.map +1 -0
- package/dist/client/lib/format.js +103 -0
- package/dist/client/lib/format.js.map +1 -0
- package/dist/client/lib/intake-wait.d.ts +16 -0
- package/dist/client/lib/intake-wait.d.ts.map +1 -0
- package/dist/client/lib/intake-wait.js +12 -0
- package/dist/client/lib/intake-wait.js.map +1 -0
- package/dist/client/lib/kind-order.d.ts +4 -0
- package/dist/client/lib/kind-order.d.ts.map +1 -0
- package/dist/client/lib/kind-order.js +11 -0
- package/dist/client/lib/kind-order.js.map +1 -0
- package/dist/client/lib/kinds.d.ts +39 -0
- package/dist/client/lib/kinds.d.ts.map +1 -0
- package/dist/client/lib/kinds.js +108 -0
- package/dist/client/lib/kinds.js.map +1 -0
- package/dist/client/lib/mentions.d.ts +25 -0
- package/dist/client/lib/mentions.d.ts.map +1 -0
- package/dist/client/lib/mentions.js +33 -0
- package/dist/client/lib/mentions.js.map +1 -0
- package/dist/client/lib/permissions.d.ts +39 -0
- package/dist/client/lib/permissions.d.ts.map +1 -0
- package/dist/client/lib/permissions.js +73 -0
- package/dist/client/lib/permissions.js.map +1 -0
- package/dist/client/lib/principal-name.d.ts +7 -0
- package/dist/client/lib/principal-name.d.ts.map +1 -0
- package/dist/client/lib/principal-name.js +10 -0
- package/dist/client/lib/principal-name.js.map +1 -0
- package/dist/client/lib/remark-cjk-autolink.d.ts +24 -0
- package/dist/client/lib/remark-cjk-autolink.d.ts.map +1 -0
- package/dist/client/lib/remark-cjk-autolink.js +118 -0
- package/dist/client/lib/remark-cjk-autolink.js.map +1 -0
- package/dist/client/lib/status-rule-types.d.ts +60 -0
- package/dist/client/lib/status-rule-types.d.ts.map +1 -0
- package/dist/client/lib/status-rule-types.js +38 -0
- package/dist/client/lib/status-rule-types.js.map +1 -0
- package/dist/client/lib/status.d.ts +24 -0
- package/dist/client/lib/status.d.ts.map +1 -0
- package/dist/client/lib/status.js +55 -0
- package/dist/client/lib/status.js.map +1 -0
- package/dist/client/lib/workflow-events.d.ts +25 -0
- package/dist/client/lib/workflow-events.d.ts.map +1 -0
- package/dist/client/lib/workflow-events.js +30 -0
- package/dist/client/lib/workflow-events.js.map +1 -0
- package/dist/client/locales/en-US.d.ts +1133 -0
- package/dist/client/locales/en-US.d.ts.map +1 -0
- package/dist/client/locales/en-US.js +1124 -0
- package/dist/client/locales/en-US.js.map +1 -0
- package/dist/client/locales/index.d.ts +4 -0
- package/dist/client/locales/index.d.ts.map +1 -0
- package/dist/client/locales/index.js +7 -0
- package/dist/client/locales/index.js.map +1 -0
- package/dist/client/locales/plans.en-US.d.ts +270 -0
- package/dist/client/locales/plans.en-US.d.ts.map +1 -0
- package/dist/client/locales/plans.en-US.js +267 -0
- package/dist/client/locales/plans.en-US.js.map +1 -0
- package/dist/client/locales/plans.zh-CN.d.ts +5 -0
- package/dist/client/locales/plans.zh-CN.d.ts.map +1 -0
- package/dist/client/locales/plans.zh-CN.js +267 -0
- package/dist/client/locales/plans.zh-CN.js.map +1 -0
- package/dist/client/locales/zh-CN.d.ts +4 -0
- package/dist/client/locales/zh-CN.d.ts.map +1 -0
- package/dist/client/locales/zh-CN.js +1083 -0
- package/dist/client/locales/zh-CN.js.map +1 -0
- package/dist/client/pages/config/general.d.ts +8 -0
- package/dist/client/pages/config/general.d.ts.map +1 -0
- package/dist/client/pages/config/general.js +65 -0
- package/dist/client/pages/config/general.js.map +1 -0
- package/dist/client/pages/config/labels/create-label-form.d.ts +11 -0
- package/dist/client/pages/config/labels/create-label-form.d.ts.map +1 -0
- package/dist/client/pages/config/labels/create-label-form.js +25 -0
- package/dist/client/pages/config/labels/create-label-form.js.map +1 -0
- package/dist/client/pages/config/labels/label-row.d.ts +13 -0
- package/dist/client/pages/config/labels/label-row.d.ts.map +1 -0
- package/dist/client/pages/config/labels/label-row.js +42 -0
- package/dist/client/pages/config/labels/label-row.js.map +1 -0
- package/dist/client/pages/config/labels.d.ts +7 -0
- package/dist/client/pages/config/labels.d.ts.map +1 -0
- package/dist/client/pages/config/labels.js +70 -0
- package/dist/client/pages/config/labels.js.map +1 -0
- package/dist/client/pages/config/members/emails.d.ts +4 -0
- package/dist/client/pages/config/members/emails.d.ts.map +1 -0
- package/dist/client/pages/config/members/emails.js +15 -0
- package/dist/client/pages/config/members/emails.js.map +1 -0
- package/dist/client/pages/config/members/invitations-section.d.ts +7 -0
- package/dist/client/pages/config/members/invitations-section.d.ts.map +1 -0
- package/dist/client/pages/config/members/invitations-section.js +118 -0
- package/dist/client/pages/config/members/invitations-section.js.map +1 -0
- package/dist/client/pages/config/members/invite-dialog.d.ts +23 -0
- package/dist/client/pages/config/members/invite-dialog.d.ts.map +1 -0
- package/dist/client/pages/config/members/invite-dialog.js +126 -0
- package/dist/client/pages/config/members/invite-dialog.js.map +1 -0
- package/dist/client/pages/config/section-heading.d.ts +9 -0
- package/dist/client/pages/config/section-heading.d.ts.map +1 -0
- package/dist/client/pages/config/section-heading.js +6 -0
- package/dist/client/pages/config/section-heading.js.map +1 -0
- package/dist/client/pages/config/settings-page-header.d.ts +13 -0
- package/dist/client/pages/config/settings-page-header.d.ts.map +1 -0
- package/dist/client/pages/config/settings-page-header.js +14 -0
- package/dist/client/pages/config/settings-page-header.js.map +1 -0
- package/dist/client/pages/config/workflow-detail.d.ts +10 -0
- package/dist/client/pages/config/workflow-detail.d.ts.map +1 -0
- package/dist/client/pages/config/workflow-detail.js +182 -0
- package/dist/client/pages/config/workflow-detail.js.map +1 -0
- package/dist/client/pages/config/workflows/flow-editor.d.ts +15 -0
- package/dist/client/pages/config/workflows/flow-editor.d.ts.map +1 -0
- package/dist/client/pages/config/workflows/flow-editor.js +76 -0
- package/dist/client/pages/config/workflows/flow-editor.js.map +1 -0
- package/dist/client/pages/config/workflows/status-rules.d.ts +21 -0
- package/dist/client/pages/config/workflows/status-rules.d.ts.map +1 -0
- package/dist/client/pages/config/workflows/status-rules.js +203 -0
- package/dist/client/pages/config/workflows/status-rules.js.map +1 -0
- package/dist/client/pages/config/workflows/transitions-matrix.d.ts +20 -0
- package/dist/client/pages/config/workflows/transitions-matrix.d.ts.map +1 -0
- package/dist/client/pages/config/workflows/transitions-matrix.js +114 -0
- package/dist/client/pages/config/workflows/transitions-matrix.js.map +1 -0
- package/dist/client/pages/config/workflows/use-status-name.d.ts +4 -0
- package/dist/client/pages/config/workflows/use-status-name.d.ts.map +1 -0
- package/dist/client/pages/config/workflows/use-status-name.js +17 -0
- package/dist/client/pages/config/workflows/use-status-name.js.map +1 -0
- package/dist/client/pages/config/workflows/workflow-diagram.d.ts +17 -0
- package/dist/client/pages/config/workflows/workflow-diagram.d.ts.map +1 -0
- package/dist/client/pages/config/workflows/workflow-diagram.js +298 -0
- package/dist/client/pages/config/workflows/workflow-diagram.js.map +1 -0
- package/dist/client/pages/config/workflows/workflow-model.d.ts +157 -0
- package/dist/client/pages/config/workflows/workflow-model.d.ts.map +1 -0
- package/dist/client/pages/config/workflows/workflow-model.js +403 -0
- package/dist/client/pages/config/workflows/workflow-model.js.map +1 -0
- package/dist/client/pages/config/workflows/workflow-views.d.ts +31 -0
- package/dist/client/pages/config/workflows/workflow-views.d.ts.map +1 -0
- package/dist/client/pages/config/workflows/workflow-views.js +76 -0
- package/dist/client/pages/config/workflows/workflow-views.js.map +1 -0
- package/dist/client/pages/config/workflows.d.ts +8 -0
- package/dist/client/pages/config/workflows.d.ts.map +1 -0
- package/dist/client/pages/config/workflows.js +139 -0
- package/dist/client/pages/config/workflows.js.map +1 -0
- package/dist/client/pages/intake/intake-ai-progress.d.ts +12 -0
- package/dist/client/pages/intake/intake-ai-progress.d.ts.map +1 -0
- package/dist/client/pages/intake/intake-ai-progress.js +47 -0
- package/dist/client/pages/intake/intake-ai-progress.js.map +1 -0
- package/dist/client/pages/intake/intake-files.d.ts +9 -0
- package/dist/client/pages/intake/intake-files.d.ts.map +1 -0
- package/dist/client/pages/intake/intake-files.js +32 -0
- package/dist/client/pages/intake/intake-files.js.map +1 -0
- package/dist/client/pages/intake/intake-panel.d.ts +27 -0
- package/dist/client/pages/intake/intake-panel.d.ts.map +1 -0
- package/dist/client/pages/intake/intake-panel.js +328 -0
- package/dist/client/pages/intake/intake-panel.js.map +1 -0
- package/dist/client/pages/intake/intake-revise.d.ts +25 -0
- package/dist/client/pages/intake/intake-revise.d.ts.map +1 -0
- package/dist/client/pages/intake/intake-revise.js +44 -0
- package/dist/client/pages/intake/intake-revise.js.map +1 -0
- package/dist/client/pages/intake/invalid-draft.d.ts +10 -0
- package/dist/client/pages/intake/invalid-draft.d.ts.map +1 -0
- package/dist/client/pages/intake/invalid-draft.js +28 -0
- package/dist/client/pages/intake/invalid-draft.js.map +1 -0
- package/dist/client/pages/intake/use-intake-ai.d.ts +13 -0
- package/dist/client/pages/intake/use-intake-ai.d.ts.map +1 -0
- package/dist/client/pages/intake/use-intake-ai.js +37 -0
- package/dist/client/pages/intake/use-intake-ai.js.map +1 -0
- package/dist/client/pages/intake/use-intake-breakdown.d.ts +15 -0
- package/dist/client/pages/intake/use-intake-breakdown.d.ts.map +1 -0
- package/dist/client/pages/intake/use-intake-breakdown.js +48 -0
- package/dist/client/pages/intake/use-intake-breakdown.js.map +1 -0
- package/dist/client/pages/intake/use-intake-uploads.d.ts +25 -0
- package/dist/client/pages/intake/use-intake-uploads.d.ts.map +1 -0
- package/dist/client/pages/intake/use-intake-uploads.js +65 -0
- package/dist/client/pages/intake/use-intake-uploads.js.map +1 -0
- package/dist/client/pages/issues/board/board-model.d.ts +39 -0
- package/dist/client/pages/issues/board/board-model.d.ts.map +1 -0
- package/dist/client/pages/issues/board/board-model.js +59 -0
- package/dist/client/pages/issues/board/board-model.js.map +1 -0
- package/dist/client/pages/issues/board/use-board-move.d.ts +20 -0
- package/dist/client/pages/issues/board/use-board-move.d.ts.map +1 -0
- package/dist/client/pages/issues/board/use-board-move.js +108 -0
- package/dist/client/pages/issues/board/use-board-move.js.map +1 -0
- package/dist/client/pages/issues/detail/comment-cache.d.ts +10 -0
- package/dist/client/pages/issues/detail/comment-cache.d.ts.map +1 -0
- package/dist/client/pages/issues/detail/comment-cache.js +67 -0
- package/dist/client/pages/issues/detail/comment-cache.js.map +1 -0
- package/dist/client/pages/issues/detail/new-subtask.d.ts +13 -0
- package/dist/client/pages/issues/detail/new-subtask.d.ts.map +1 -0
- package/dist/client/pages/issues/detail/new-subtask.js +205 -0
- package/dist/client/pages/issues/detail/new-subtask.js.map +1 -0
- package/dist/client/pages/issues/detail/reaction-model.d.ts +11 -0
- package/dist/client/pages/issues/detail/reaction-model.d.ts.map +1 -0
- package/dist/client/pages/issues/detail/reaction-model.js +41 -0
- package/dist/client/pages/issues/detail/reaction-model.js.map +1 -0
- package/dist/client/pages/issues/detail/start-dialog.d.ts +20 -0
- package/dist/client/pages/issues/detail/start-dialog.d.ts.map +1 -0
- package/dist/client/pages/issues/detail/start-dialog.js +31 -0
- package/dist/client/pages/issues/detail/start-dialog.js.map +1 -0
- package/dist/client/pages/issues/detail/subtask-model.d.ts +14 -0
- package/dist/client/pages/issues/detail/subtask-model.d.ts.map +1 -0
- package/dist/client/pages/issues/detail/subtask-model.js +25 -0
- package/dist/client/pages/issues/detail/subtask-model.js.map +1 -0
- package/dist/client/pages/issues/detail/timeline.d.ts +45 -0
- package/dist/client/pages/issues/detail/timeline.d.ts.map +1 -0
- package/dist/client/pages/issues/detail/timeline.js +71 -0
- package/dist/client/pages/issues/detail/timeline.js.map +1 -0
- package/dist/client/pages/issues/detail/use-author-label.d.ts +4 -0
- package/dist/client/pages/issues/detail/use-author-label.d.ts.map +1 -0
- package/dist/client/pages/issues/detail/use-author-label.js +14 -0
- package/dist/client/pages/issues/detail/use-author-label.js.map +1 -0
- package/dist/client/pages/issues/detail/use-confirmed-update.d.ts +23 -0
- package/dist/client/pages/issues/detail/use-confirmed-update.d.ts.map +1 -0
- package/dist/client/pages/issues/detail/use-confirmed-update.js +49 -0
- package/dist/client/pages/issues/detail/use-confirmed-update.js.map +1 -0
- package/dist/client/pages/issues/detail/use-issue-activity.d.ts +50 -0
- package/dist/client/pages/issues/detail/use-issue-activity.d.ts.map +1 -0
- package/dist/client/pages/issues/detail/use-issue-activity.js +156 -0
- package/dist/client/pages/issues/detail/use-issue-activity.js.map +1 -0
- package/dist/client/pages/issues/detail/use-issue-page.d.ts +33 -0
- package/dist/client/pages/issues/detail/use-issue-page.d.ts.map +1 -0
- package/dist/client/pages/issues/detail/use-issue-page.js +132 -0
- package/dist/client/pages/issues/detail/use-issue-page.js.map +1 -0
- package/dist/client/pages/issues/detail/use-issue-update.d.ts +12 -0
- package/dist/client/pages/issues/detail/use-issue-update.d.ts.map +1 -0
- package/dist/client/pages/issues/detail/use-issue-update.js +53 -0
- package/dist/client/pages/issues/detail/use-issue-update.js.map +1 -0
- package/dist/client/pages/issues/detail/use-older-activities.d.ts +14 -0
- package/dist/client/pages/issues/detail/use-older-activities.d.ts.map +1 -0
- package/dist/client/pages/issues/detail/use-older-activities.js +35 -0
- package/dist/client/pages/issues/detail/use-older-activities.js.map +1 -0
- package/dist/client/pages/issues/detail/use-older-threads.d.ts +13 -0
- package/dist/client/pages/issues/detail/use-older-threads.d.ts.map +1 -0
- package/dist/client/pages/issues/detail/use-older-threads.js +33 -0
- package/dist/client/pages/issues/detail/use-older-threads.js.map +1 -0
- package/dist/client/pages/issues/filters.d.ts +39 -0
- package/dist/client/pages/issues/filters.d.ts.map +1 -0
- package/dist/client/pages/issues/filters.js +119 -0
- package/dist/client/pages/issues/filters.js.map +1 -0
- package/dist/client/pages/issues/new-issue-button.d.ts +14 -0
- package/dist/client/pages/issues/new-issue-button.d.ts.map +1 -0
- package/dist/client/pages/issues/new-issue-button.js +23 -0
- package/dist/client/pages/issues/new-issue-button.js.map +1 -0
- package/dist/client/pages/issues/new-issue-form.d.ts +20 -0
- package/dist/client/pages/issues/new-issue-form.d.ts.map +1 -0
- package/dist/client/pages/issues/new-issue-form.js +189 -0
- package/dist/client/pages/issues/new-issue-form.js.map +1 -0
- package/dist/client/pages/issues/new.d.ts +13 -0
- package/dist/client/pages/issues/new.d.ts.map +1 -0
- package/dist/client/pages/issues/new.js +94 -0
- package/dist/client/pages/issues/new.js.map +1 -0
- package/dist/client/pages/issues/use-executor-options.d.ts +9 -0
- package/dist/client/pages/issues/use-executor-options.d.ts.map +1 -0
- package/dist/client/pages/issues/use-executor-options.js +41 -0
- package/dist/client/pages/issues/use-executor-options.js.map +1 -0
- package/dist/client/pages/issues/use-issue-pages.d.ts +32 -0
- package/dist/client/pages/issues/use-issue-pages.d.ts.map +1 -0
- package/dist/client/pages/issues/use-issue-pages.js +107 -0
- package/dist/client/pages/issues/use-issue-pages.js.map +1 -0
- package/dist/client/pages/issues/use-mention-candidates.d.ts +9 -0
- package/dist/client/pages/issues/use-mention-candidates.d.ts.map +1 -0
- package/dist/client/pages/issues/use-mention-candidates.js +48 -0
- package/dist/client/pages/issues/use-mention-candidates.js.map +1 -0
- package/dist/client/pages/issues/use-preset-project.d.ts +6 -0
- package/dist/client/pages/issues/use-preset-project.d.ts.map +1 -0
- package/dist/client/pages/issues/use-preset-project.js +11 -0
- package/dist/client/pages/issues/use-preset-project.js.map +1 -0
- package/dist/client/pages/issues/use-url-search.d.ts +22 -0
- package/dist/client/pages/issues/use-url-search.d.ts.map +1 -0
- package/dist/client/pages/issues/use-url-search.js +70 -0
- package/dist/client/pages/issues/use-url-search.js.map +1 -0
- package/dist/client/pages/my-issues/my-issues-model.d.ts +10 -0
- package/dist/client/pages/my-issues/my-issues-model.d.ts.map +1 -0
- package/dist/client/pages/my-issues/my-issues-model.js +9 -0
- package/dist/client/pages/my-issues/my-issues-model.js.map +1 -0
- package/dist/client/pages/plans/detail.d.ts +7 -0
- package/dist/client/pages/plans/detail.d.ts.map +1 -0
- package/dist/client/pages/plans/detail.js +43 -0
- package/dist/client/pages/plans/detail.js.map +1 -0
- package/dist/client/pages/projects/columns.d.ts +8 -0
- package/dist/client/pages/projects/columns.d.ts.map +1 -0
- package/dist/client/pages/projects/columns.js +75 -0
- package/dist/client/pages/projects/columns.js.map +1 -0
- package/dist/client/pages/projects/detail/resource-rules.d.ts +13 -0
- package/dist/client/pages/projects/detail/resource-rules.d.ts.map +1 -0
- package/dist/client/pages/projects/detail/resource-rules.js +24 -0
- package/dist/client/pages/projects/detail/resource-rules.js.map +1 -0
- package/dist/client/pages/projects/detail/use-project-page.d.ts +86 -0
- package/dist/client/pages/projects/detail/use-project-page.d.ts.map +1 -0
- package/dist/client/pages/projects/detail/use-project-page.js +243 -0
- package/dist/client/pages/projects/detail/use-project-page.js.map +1 -0
- package/dist/client/pages/projects/index.d.ts +8 -0
- package/dist/client/pages/projects/index.d.ts.map +1 -0
- package/dist/client/pages/projects/index.js +50 -0
- package/dist/client/pages/projects/index.js.map +1 -0
- package/dist/client/pages/projects/new.d.ts +4 -0
- package/dist/client/pages/projects/new.d.ts.map +1 -0
- package/dist/client/pages/projects/new.js +122 -0
- package/dist/client/pages/projects/new.js.map +1 -0
- package/dist/client/pages/projects/progress.d.ts +25 -0
- package/dist/client/pages/projects/progress.d.ts.map +1 -0
- package/dist/client/pages/projects/progress.js +50 -0
- package/dist/client/pages/projects/progress.js.map +1 -0
- package/dist/client/pages/projects/project-badges.d.ts +14 -0
- package/dist/client/pages/projects/project-badges.d.ts.map +1 -0
- package/dist/client/pages/projects/project-badges.js +15 -0
- package/dist/client/pages/projects/project-badges.js.map +1 -0
- package/dist/client/pages/projects/workflow-select.d.ts +14 -0
- package/dist/client/pages/projects/workflow-select.d.ts.map +1 -0
- package/dist/client/pages/projects/workflow-select.js +34 -0
- package/dist/client/pages/projects/workflow-select.js.map +1 -0
- package/dist/client/pages.d.ts +24 -0
- package/dist/client/pages.d.ts.map +1 -0
- package/dist/client/pages.js +34 -0
- package/dist/client/pages.js.map +1 -0
- package/dist/client/plan-model.d.ts +9 -0
- package/dist/client/plan-model.d.ts.map +1 -0
- package/dist/client/plan-model.js +9 -0
- package/dist/client/plan-model.js.map +1 -0
- package/dist/client/plugin.d.ts +11 -0
- package/dist/client/plugin.d.ts.map +1 -0
- package/dist/client/plugin.js +12 -0
- package/dist/client/plugin.js.map +1 -0
- package/dist/client/projects.d.ts +12 -0
- package/dist/client/projects.d.ts.map +1 -0
- package/dist/client/projects.js +12 -0
- package/dist/client/projects.js.map +1 -0
- package/dist/client/providers/query-provider.d.ts +4 -0
- package/dist/client/providers/query-provider.d.ts.map +1 -0
- package/dist/client/providers/query-provider.js +70 -0
- package/dist/client/providers/query-provider.js.map +1 -0
- package/dist/client/routes.d.ts +25 -0
- package/dist/client/routes.d.ts.map +1 -0
- package/dist/client/routes.js +61 -0
- package/dist/client/routes.js.map +1 -0
- package/dist/database/migrations/.manifest.json +57 -0
- package/dist/database/migrations/202609300001_pm_create_members_settings.d.ts +4 -0
- package/dist/database/migrations/202609300001_pm_create_members_settings.d.ts.map +1 -0
- package/dist/database/migrations/202609300001_pm_create_members_settings.js +40 -0
- package/dist/database/migrations/202609300001_pm_create_members_settings.js.map +1 -0
- package/dist/database/migrations/202609300002_pm_create_projects.d.ts +4 -0
- package/dist/database/migrations/202609300002_pm_create_projects.d.ts.map +1 -0
- package/dist/database/migrations/202609300002_pm_create_projects.js +125 -0
- package/dist/database/migrations/202609300002_pm_create_projects.js.map +1 -0
- package/dist/database/migrations/202609300003_pm_create_labels.d.ts +4 -0
- package/dist/database/migrations/202609300003_pm_create_labels.d.ts.map +1 -0
- package/dist/database/migrations/202609300003_pm_create_labels.js +33 -0
- package/dist/database/migrations/202609300003_pm_create_labels.js.map +1 -0
- package/dist/database/migrations/202609300004_pm_create_issues.d.ts +4 -0
- package/dist/database/migrations/202609300004_pm_create_issues.d.ts.map +1 -0
- package/dist/database/migrations/202609300004_pm_create_issues.js +123 -0
- package/dist/database/migrations/202609300004_pm_create_issues.js.map +1 -0
- package/dist/database/migrations/202609300007_pm_create_workflows.d.ts +4 -0
- package/dist/database/migrations/202609300007_pm_create_workflows.d.ts.map +1 -0
- package/dist/database/migrations/202609300007_pm_create_workflows.js +39 -0
- package/dist/database/migrations/202609300007_pm_create_workflows.js.map +1 -0
- package/dist/database/migrations/202610010011_pm_create_checklist_items.d.ts +4 -0
- package/dist/database/migrations/202610010011_pm_create_checklist_items.d.ts.map +1 -0
- package/dist/database/migrations/202610010011_pm_create_checklist_items.js +40 -0
- package/dist/database/migrations/202610010011_pm_create_checklist_items.js.map +1 -0
- package/dist/database/migrations/202610010012_pm_create_approval_requests.d.ts +4 -0
- package/dist/database/migrations/202610010012_pm_create_approval_requests.d.ts.map +1 -0
- package/dist/database/migrations/202610010012_pm_create_approval_requests.js +48 -0
- package/dist/database/migrations/202610010012_pm_create_approval_requests.js.map +1 -0
- package/dist/database/migrations/202610010013_pm_create_issue_dependencies.d.ts +4 -0
- package/dist/database/migrations/202610010013_pm_create_issue_dependencies.d.ts.map +1 -0
- package/dist/database/migrations/202610010013_pm_create_issue_dependencies.js +45 -0
- package/dist/database/migrations/202610010013_pm_create_issue_dependencies.js.map +1 -0
- package/dist/database/migrations/202610010015_pm_create_comments.d.ts +4 -0
- package/dist/database/migrations/202610010015_pm_create_comments.d.ts.map +1 -0
- package/dist/database/migrations/202610010015_pm_create_comments.js +81 -0
- package/dist/database/migrations/202610010015_pm_create_comments.js.map +1 -0
- package/dist/database/migrations/202610010016_pm_create_issue_subscriptions.d.ts +4 -0
- package/dist/database/migrations/202610010016_pm_create_issue_subscriptions.d.ts.map +1 -0
- package/dist/database/migrations/202610010016_pm_create_issue_subscriptions.js +41 -0
- package/dist/database/migrations/202610010016_pm_create_issue_subscriptions.js.map +1 -0
- package/dist/database/migrations/202610010021_pm_create_plans.d.ts +4 -0
- package/dist/database/migrations/202610010021_pm_create_plans.d.ts.map +1 -0
- package/dist/database/migrations/202610010021_pm_create_plans.js +126 -0
- package/dist/database/migrations/202610010021_pm_create_plans.js.map +1 -0
- package/dist/database/migrations/202610010022_pm_create_attachments.d.ts +4 -0
- package/dist/database/migrations/202610010022_pm_create_attachments.d.ts.map +1 -0
- package/dist/database/migrations/202610010022_pm_create_attachments.js +45 -0
- package/dist/database/migrations/202610010022_pm_create_attachments.js.map +1 -0
- package/dist/database/migrations/202610060001_pm_create_plan_issues.d.ts +4 -0
- package/dist/database/migrations/202610060001_pm_create_plan_issues.d.ts.map +1 -0
- package/dist/database/migrations/202610060001_pm_create_plan_issues.js +41 -0
- package/dist/database/migrations/202610060001_pm_create_plan_issues.js.map +1 -0
- package/dist/database/seeds/.manifest.json +9 -0
- package/dist/database/seeds/202609300005_pm_default_settings.d.ts +4 -0
- package/dist/database/seeds/202609300005_pm_default_settings.d.ts.map +1 -0
- package/dist/database/seeds/202609300005_pm_default_settings.js +29 -0
- package/dist/database/seeds/202609300005_pm_default_settings.js.map +1 -0
- package/dist/package.d.ts +2 -0
- package/dist/package.d.ts.map +1 -0
- package/dist/package.js +2 -0
- package/dist/package.js.map +1 -0
- package/dist/server/access/request.d.ts +37 -0
- package/dist/server/access/request.d.ts.map +1 -0
- package/dist/server/access/request.js +62 -0
- package/dist/server/access/request.js.map +1 -0
- package/dist/server/access/viewer.d.ts +27 -0
- package/dist/server/access/viewer.d.ts.map +1 -0
- package/dist/server/access/viewer.js +30 -0
- package/dist/server/access/viewer.js.map +1 -0
- package/dist/server/composition.d.ts +104 -0
- package/dist/server/composition.d.ts.map +1 -0
- package/dist/server/composition.js +266 -0
- package/dist/server/composition.js.map +1 -0
- package/dist/server/domains/approvals/approval.events.d.ts +47 -0
- package/dist/server/domains/approvals/approval.events.d.ts.map +1 -0
- package/dist/server/domains/approvals/approval.events.js +2 -0
- package/dist/server/domains/approvals/approval.events.js.map +1 -0
- package/dist/server/domains/approvals/approval.lifecycle.d.ts +8 -0
- package/dist/server/domains/approvals/approval.lifecycle.d.ts.map +1 -0
- package/dist/server/domains/approvals/approval.lifecycle.js +54 -0
- package/dist/server/domains/approvals/approval.lifecycle.js.map +1 -0
- package/dist/server/domains/approvals/approval.routes.d.ts +10 -0
- package/dist/server/domains/approvals/approval.routes.d.ts.map +1 -0
- package/dist/server/domains/approvals/approval.routes.js +86 -0
- package/dist/server/domains/approvals/approval.routes.js.map +1 -0
- package/dist/server/domains/approvals/approval.service.d.ts +72 -0
- package/dist/server/domains/approvals/approval.service.d.ts.map +1 -0
- package/dist/server/domains/approvals/approval.service.js +261 -0
- package/dist/server/domains/approvals/approval.service.js.map +1 -0
- package/dist/server/domains/approvals/approval.store.d.ts +42 -0
- package/dist/server/domains/approvals/approval.store.d.ts.map +1 -0
- package/dist/server/domains/approvals/approval.store.js +66 -0
- package/dist/server/domains/approvals/approval.store.js.map +1 -0
- package/dist/server/domains/approvals/index.d.ts +4 -0
- package/dist/server/domains/approvals/index.d.ts.map +1 -0
- package/dist/server/domains/approvals/index.js +3 -0
- package/dist/server/domains/approvals/index.js.map +1 -0
- package/dist/server/domains/attachments/attachment.routes.d.ts +13 -0
- package/dist/server/domains/attachments/attachment.routes.d.ts.map +1 -0
- package/dist/server/domains/attachments/attachment.routes.js +209 -0
- package/dist/server/domains/attachments/attachment.routes.js.map +1 -0
- package/dist/server/domains/attachments/attachment.service.d.ts +85 -0
- package/dist/server/domains/attachments/attachment.service.d.ts.map +1 -0
- package/dist/server/domains/attachments/attachment.service.js +253 -0
- package/dist/server/domains/attachments/attachment.service.js.map +1 -0
- package/dist/server/domains/attachments/attachment.storage.d.ts +69 -0
- package/dist/server/domains/attachments/attachment.storage.d.ts.map +1 -0
- package/dist/server/domains/attachments/attachment.storage.js +64 -0
- package/dist/server/domains/attachments/attachment.storage.js.map +1 -0
- package/dist/server/domains/attachments/attachment.store.d.ts +49 -0
- package/dist/server/domains/attachments/attachment.store.d.ts.map +1 -0
- package/dist/server/domains/attachments/attachment.store.js +95 -0
- package/dist/server/domains/attachments/attachment.store.js.map +1 -0
- package/dist/server/domains/attachments/index.d.ts +5 -0
- package/dist/server/domains/attachments/index.d.ts.map +1 -0
- package/dist/server/domains/attachments/index.js +5 -0
- package/dist/server/domains/attachments/index.js.map +1 -0
- package/dist/server/domains/checklists/checklist.routes.d.ts +9 -0
- package/dist/server/domains/checklists/checklist.routes.d.ts.map +1 -0
- package/dist/server/domains/checklists/checklist.routes.js +62 -0
- package/dist/server/domains/checklists/checklist.routes.js.map +1 -0
- package/dist/server/domains/checklists/checklist.service.d.ts +26 -0
- package/dist/server/domains/checklists/checklist.service.d.ts.map +1 -0
- package/dist/server/domains/checklists/checklist.service.js +80 -0
- package/dist/server/domains/checklists/checklist.service.js.map +1 -0
- package/dist/server/domains/checklists/checklist.store.d.ts +32 -0
- package/dist/server/domains/checklists/checklist.store.d.ts.map +1 -0
- package/dist/server/domains/checklists/checklist.store.js +66 -0
- package/dist/server/domains/checklists/checklist.store.js.map +1 -0
- package/dist/server/domains/checklists/index.d.ts +4 -0
- package/dist/server/domains/checklists/index.d.ts.map +1 -0
- package/dist/server/domains/checklists/index.js +4 -0
- package/dist/server/domains/checklists/index.js.map +1 -0
- package/dist/server/domains/comments/comment.access.d.ts +10 -0
- package/dist/server/domains/comments/comment.access.d.ts.map +1 -0
- package/dist/server/domains/comments/comment.access.js +35 -0
- package/dist/server/domains/comments/comment.access.js.map +1 -0
- package/dist/server/domains/comments/comment.events.d.ts +42 -0
- package/dist/server/domains/comments/comment.events.d.ts.map +1 -0
- package/dist/server/domains/comments/comment.events.js +2 -0
- package/dist/server/domains/comments/comment.events.js.map +1 -0
- package/dist/server/domains/comments/comment.queries.d.ts +37 -0
- package/dist/server/domains/comments/comment.queries.d.ts.map +1 -0
- package/dist/server/domains/comments/comment.queries.js +103 -0
- package/dist/server/domains/comments/comment.queries.js.map +1 -0
- package/dist/server/domains/comments/comment.routes.d.ts +23 -0
- package/dist/server/domains/comments/comment.routes.d.ts.map +1 -0
- package/dist/server/domains/comments/comment.routes.js +218 -0
- package/dist/server/domains/comments/comment.routes.js.map +1 -0
- package/dist/server/domains/comments/comment.service.d.ts +37 -0
- package/dist/server/domains/comments/comment.service.d.ts.map +1 -0
- package/dist/server/domains/comments/comment.service.js +288 -0
- package/dist/server/domains/comments/comment.service.js.map +1 -0
- package/dist/server/domains/comments/comment.store.d.ts +56 -0
- package/dist/server/domains/comments/comment.store.d.ts.map +1 -0
- package/dist/server/domains/comments/comment.store.js +89 -0
- package/dist/server/domains/comments/comment.store.js.map +1 -0
- package/dist/server/domains/comments/index.d.ts +6 -0
- package/dist/server/domains/comments/index.d.ts.map +1 -0
- package/dist/server/domains/comments/index.js +5 -0
- package/dist/server/domains/comments/index.js.map +1 -0
- package/dist/server/domains/comments/ports.d.ts +57 -0
- package/dist/server/domains/comments/ports.d.ts.map +1 -0
- package/dist/server/domains/comments/ports.js +2 -0
- package/dist/server/domains/comments/ports.js.map +1 -0
- package/dist/server/domains/invitations/index.d.ts +3 -0
- package/dist/server/domains/invitations/index.d.ts.map +1 -0
- package/dist/server/domains/invitations/index.js +3 -0
- package/dist/server/domains/invitations/index.js.map +1 -0
- package/dist/server/domains/invitations/invitation.routes.d.ts +6 -0
- package/dist/server/domains/invitations/invitation.routes.d.ts.map +1 -0
- package/dist/server/domains/invitations/invitation.routes.js +86 -0
- package/dist/server/domains/invitations/invitation.routes.js.map +1 -0
- package/dist/server/domains/invitations/invitation.service.d.ts +38 -0
- package/dist/server/domains/invitations/invitation.service.d.ts.map +1 -0
- package/dist/server/domains/invitations/invitation.service.js +162 -0
- package/dist/server/domains/invitations/invitation.service.js.map +1 -0
- package/dist/server/domains/issues/index.d.ts +10 -0
- package/dist/server/domains/issues/index.d.ts.map +1 -0
- package/dist/server/domains/issues/index.js +9 -0
- package/dist/server/domains/issues/index.js.map +1 -0
- package/dist/server/domains/issues/issue.access.d.ts +42 -0
- package/dist/server/domains/issues/issue.access.d.ts.map +1 -0
- package/dist/server/domains/issues/issue.access.js +109 -0
- package/dist/server/domains/issues/issue.access.js.map +1 -0
- package/dist/server/domains/issues/issue.context.d.ts +136 -0
- package/dist/server/domains/issues/issue.context.d.ts.map +1 -0
- package/dist/server/domains/issues/issue.context.js +133 -0
- package/dist/server/domains/issues/issue.context.js.map +1 -0
- package/dist/server/domains/issues/issue.events.d.ts +54 -0
- package/dist/server/domains/issues/issue.events.d.ts.map +1 -0
- package/dist/server/domains/issues/issue.events.js +2 -0
- package/dist/server/domains/issues/issue.events.js.map +1 -0
- package/dist/server/domains/issues/issue.fields.d.ts +63 -0
- package/dist/server/domains/issues/issue.fields.d.ts.map +1 -0
- package/dist/server/domains/issues/issue.fields.js +262 -0
- package/dist/server/domains/issues/issue.fields.js.map +1 -0
- package/dist/server/domains/issues/issue.projects.d.ts +8 -0
- package/dist/server/domains/issues/issue.projects.d.ts.map +1 -0
- package/dist/server/domains/issues/issue.projects.js +42 -0
- package/dist/server/domains/issues/issue.projects.js.map +1 -0
- package/dist/server/domains/issues/issue.queries.d.ts +51 -0
- package/dist/server/domains/issues/issue.queries.d.ts.map +1 -0
- package/dist/server/domains/issues/issue.queries.js +281 -0
- package/dist/server/domains/issues/issue.queries.js.map +1 -0
- package/dist/server/domains/issues/issue.routes.d.ts +13 -0
- package/dist/server/domains/issues/issue.routes.d.ts.map +1 -0
- package/dist/server/domains/issues/issue.routes.js +283 -0
- package/dist/server/domains/issues/issue.routes.js.map +1 -0
- package/dist/server/domains/issues/issue.service.d.ts +130 -0
- package/dist/server/domains/issues/issue.service.d.ts.map +1 -0
- package/dist/server/domains/issues/issue.service.js +374 -0
- package/dist/server/domains/issues/issue.service.js.map +1 -0
- package/dist/server/domains/issues/issue.status.d.ts +32 -0
- package/dist/server/domains/issues/issue.status.d.ts.map +1 -0
- package/dist/server/domains/issues/issue.status.js +77 -0
- package/dist/server/domains/issues/issue.status.js.map +1 -0
- package/dist/server/domains/issues/issue.store.d.ts +101 -0
- package/dist/server/domains/issues/issue.store.d.ts.map +1 -0
- package/dist/server/domains/issues/issue.store.js +252 -0
- package/dist/server/domains/issues/issue.store.js.map +1 -0
- package/dist/server/domains/issues/ports.d.ts +141 -0
- package/dist/server/domains/issues/ports.d.ts.map +1 -0
- package/dist/server/domains/issues/ports.js +19 -0
- package/dist/server/domains/issues/ports.js.map +1 -0
- package/dist/server/domains/labels/index.d.ts +3 -0
- package/dist/server/domains/labels/index.d.ts.map +1 -0
- package/dist/server/domains/labels/index.js +3 -0
- package/dist/server/domains/labels/index.js.map +1 -0
- package/dist/server/domains/labels/label.events.d.ts +10 -0
- package/dist/server/domains/labels/label.events.d.ts.map +1 -0
- package/dist/server/domains/labels/label.events.js +2 -0
- package/dist/server/domains/labels/label.events.js.map +1 -0
- package/dist/server/domains/labels/label.routes.d.ts +6 -0
- package/dist/server/domains/labels/label.routes.d.ts.map +1 -0
- package/dist/server/domains/labels/label.routes.js +79 -0
- package/dist/server/domains/labels/label.routes.js.map +1 -0
- package/dist/server/domains/labels/label.service.d.ts +23 -0
- package/dist/server/domains/labels/label.service.d.ts.map +1 -0
- package/dist/server/domains/labels/label.service.js +70 -0
- package/dist/server/domains/labels/label.service.js.map +1 -0
- package/dist/server/domains/labels/label.store.d.ts +16 -0
- package/dist/server/domains/labels/label.store.d.ts.map +1 -0
- package/dist/server/domains/labels/label.store.js +44 -0
- package/dist/server/domains/labels/label.store.js.map +1 -0
- package/dist/server/domains/members/index.d.ts +3 -0
- package/dist/server/domains/members/index.d.ts.map +1 -0
- package/dist/server/domains/members/index.js +3 -0
- package/dist/server/domains/members/index.js.map +1 -0
- package/dist/server/domains/members/member.routes.d.ts +11 -0
- package/dist/server/domains/members/member.routes.d.ts.map +1 -0
- package/dist/server/domains/members/member.routes.js +73 -0
- package/dist/server/domains/members/member.routes.js.map +1 -0
- package/dist/server/domains/members/member.service.d.ts +43 -0
- package/dist/server/domains/members/member.service.d.ts.map +1 -0
- package/dist/server/domains/members/member.service.js +64 -0
- package/dist/server/domains/members/member.service.js.map +1 -0
- package/dist/server/domains/members/member.store.d.ts +5 -0
- package/dist/server/domains/members/member.store.d.ts.map +1 -0
- package/dist/server/domains/members/member.store.js +19 -0
- package/dist/server/domains/members/member.store.js.map +1 -0
- package/dist/server/domains/notices/index.d.ts +4 -0
- package/dist/server/domains/notices/index.d.ts.map +1 -0
- package/dist/server/domains/notices/index.js +3 -0
- package/dist/server/domains/notices/index.js.map +1 -0
- package/dist/server/domains/notices/notice.events.d.ts +11 -0
- package/dist/server/domains/notices/notice.events.d.ts.map +1 -0
- package/dist/server/domains/notices/notice.events.js +2 -0
- package/dist/server/domains/notices/notice.events.js.map +1 -0
- package/dist/server/domains/notices/notice.planner.d.ts +27 -0
- package/dist/server/domains/notices/notice.planner.d.ts.map +1 -0
- package/dist/server/domains/notices/notice.planner.js +114 -0
- package/dist/server/domains/notices/notice.planner.js.map +1 -0
- package/dist/server/domains/notices/notice.rules.d.ts +8 -0
- package/dist/server/domains/notices/notice.rules.d.ts.map +1 -0
- package/dist/server/domains/notices/notice.rules.js +223 -0
- package/dist/server/domains/notices/notice.rules.js.map +1 -0
- package/dist/server/domains/notices/ports.d.ts +52 -0
- package/dist/server/domains/notices/ports.d.ts.map +1 -0
- package/dist/server/domains/notices/ports.js +2 -0
- package/dist/server/domains/notices/ports.js.map +1 -0
- package/dist/server/domains/plans/index.d.ts +7 -0
- package/dist/server/domains/plans/index.d.ts.map +1 -0
- package/dist/server/domains/plans/index.js +5 -0
- package/dist/server/domains/plans/index.js.map +1 -0
- package/dist/server/domains/plans/intake/index.d.ts +7 -0
- package/dist/server/domains/plans/intake/index.d.ts.map +1 -0
- package/dist/server/domains/plans/intake/index.js +6 -0
- package/dist/server/domains/plans/intake/index.js.map +1 -0
- package/dist/server/domains/plans/intake/intake.ai.drafts.d.ts +69 -0
- package/dist/server/domains/plans/intake/intake.ai.drafts.d.ts.map +1 -0
- package/dist/server/domains/plans/intake/intake.ai.drafts.js +273 -0
- package/dist/server/domains/plans/intake/intake.ai.drafts.js.map +1 -0
- package/dist/server/domains/plans/intake/intake.ai.events.d.ts +10 -0
- package/dist/server/domains/plans/intake/intake.ai.events.d.ts.map +1 -0
- package/dist/server/domains/plans/intake/intake.ai.events.js +2 -0
- package/dist/server/domains/plans/intake/intake.ai.events.js.map +1 -0
- package/dist/server/domains/plans/intake/intake.ai.organizer.d.ts +45 -0
- package/dist/server/domains/plans/intake/intake.ai.organizer.d.ts.map +1 -0
- package/dist/server/domains/plans/intake/intake.ai.organizer.js +2 -0
- package/dist/server/domains/plans/intake/intake.ai.organizer.js.map +1 -0
- package/dist/server/domains/plans/intake/intake.ai.service.d.ts +68 -0
- package/dist/server/domains/plans/intake/intake.ai.service.d.ts.map +1 -0
- package/dist/server/domains/plans/intake/intake.ai.service.js +432 -0
- package/dist/server/domains/plans/intake/intake.ai.service.js.map +1 -0
- package/dist/server/domains/plans/intake/intake.ai.store.d.ts +37 -0
- package/dist/server/domains/plans/intake/intake.ai.store.d.ts.map +1 -0
- package/dist/server/domains/plans/intake/intake.ai.store.js +32 -0
- package/dist/server/domains/plans/intake/intake.ai.store.js.map +1 -0
- package/dist/server/domains/plans/intake/intake.attach.d.ts +18 -0
- package/dist/server/domains/plans/intake/intake.attach.d.ts.map +1 -0
- package/dist/server/domains/plans/intake/intake.attach.js +72 -0
- package/dist/server/domains/plans/intake/intake.attach.js.map +1 -0
- package/dist/server/domains/plans/intake/intake.files.d.ts +29 -0
- package/dist/server/domains/plans/intake/intake.files.d.ts.map +1 -0
- package/dist/server/domains/plans/intake/intake.files.js +78 -0
- package/dist/server/domains/plans/intake/intake.files.js.map +1 -0
- package/dist/server/domains/plans/intake/intake.parser.d.ts +35 -0
- package/dist/server/domains/plans/intake/intake.parser.d.ts.map +1 -0
- package/dist/server/domains/plans/intake/intake.parser.js +260 -0
- package/dist/server/domains/plans/intake/intake.parser.js.map +1 -0
- package/dist/server/domains/plans/intake/intake.routes.d.ts +6 -0
- package/dist/server/domains/plans/intake/intake.routes.d.ts.map +1 -0
- package/dist/server/domains/plans/intake/intake.routes.js +194 -0
- package/dist/server/domains/plans/intake/intake.routes.js.map +1 -0
- package/dist/server/domains/plans/intake/intake.service.d.ts +47 -0
- package/dist/server/domains/plans/intake/intake.service.d.ts.map +1 -0
- package/dist/server/domains/plans/intake/intake.service.js +184 -0
- package/dist/server/domains/plans/intake/intake.service.js.map +1 -0
- package/dist/server/domains/plans/intake/intake.text.d.ts +65 -0
- package/dist/server/domains/plans/intake/intake.text.d.ts.map +1 -0
- package/dist/server/domains/plans/intake/intake.text.js +206 -0
- package/dist/server/domains/plans/intake/intake.text.js.map +1 -0
- package/dist/server/domains/plans/plan.access.d.ts +9 -0
- package/dist/server/domains/plans/plan.access.d.ts.map +1 -0
- package/dist/server/domains/plans/plan.access.js +14 -0
- package/dist/server/domains/plans/plan.access.js.map +1 -0
- package/dist/server/domains/plans/plan.engine.d.ts +50 -0
- package/dist/server/domains/plans/plan.engine.d.ts.map +1 -0
- package/dist/server/domains/plans/plan.engine.js +218 -0
- package/dist/server/domains/plans/plan.engine.js.map +1 -0
- package/dist/server/domains/plans/plan.events.d.ts +10 -0
- package/dist/server/domains/plans/plan.events.d.ts.map +1 -0
- package/dist/server/domains/plans/plan.events.js +2 -0
- package/dist/server/domains/plans/plan.events.js.map +1 -0
- package/dist/server/domains/plans/plan.ops.d.ts +72 -0
- package/dist/server/domains/plans/plan.ops.d.ts.map +1 -0
- package/dist/server/domains/plans/plan.ops.js +499 -0
- package/dist/server/domains/plans/plan.ops.js.map +1 -0
- package/dist/server/domains/plans/plan.routes.d.ts +14 -0
- package/dist/server/domains/plans/plan.routes.d.ts.map +1 -0
- package/dist/server/domains/plans/plan.routes.js +248 -0
- package/dist/server/domains/plans/plan.routes.js.map +1 -0
- package/dist/server/domains/plans/plan.schemas.d.ts +17 -0
- package/dist/server/domains/plans/plan.schemas.d.ts.map +1 -0
- package/dist/server/domains/plans/plan.schemas.js +65 -0
- package/dist/server/domains/plans/plan.schemas.js.map +1 -0
- package/dist/server/domains/plans/plan.service.d.ts +28 -0
- package/dist/server/domains/plans/plan.service.d.ts.map +1 -0
- package/dist/server/domains/plans/plan.service.js +837 -0
- package/dist/server/domains/plans/plan.service.js.map +1 -0
- package/dist/server/domains/plans/plan.store.d.ts +76 -0
- package/dist/server/domains/plans/plan.store.d.ts.map +1 -0
- package/dist/server/domains/plans/plan.store.js +145 -0
- package/dist/server/domains/plans/plan.store.js.map +1 -0
- package/dist/server/domains/plans/plan.touched.d.ts +15 -0
- package/dist/server/domains/plans/plan.touched.d.ts.map +1 -0
- package/dist/server/domains/plans/plan.touched.js +43 -0
- package/dist/server/domains/plans/plan.touched.js.map +1 -0
- package/dist/server/domains/plans/plan.undo.d.ts +29 -0
- package/dist/server/domains/plans/plan.undo.d.ts.map +1 -0
- package/dist/server/domains/plans/plan.undo.js +119 -0
- package/dist/server/domains/plans/plan.undo.js.map +1 -0
- package/dist/server/domains/plans/ports.d.ts +91 -0
- package/dist/server/domains/plans/ports.d.ts.map +1 -0
- package/dist/server/domains/plans/ports.js +2 -0
- package/dist/server/domains/plans/ports.js.map +1 -0
- package/dist/server/domains/projects/index.d.ts +6 -0
- package/dist/server/domains/projects/index.d.ts.map +1 -0
- package/dist/server/domains/projects/index.js +5 -0
- package/dist/server/domains/projects/index.js.map +1 -0
- package/dist/server/domains/projects/project-members.d.ts +17 -0
- package/dist/server/domains/projects/project-members.d.ts.map +1 -0
- package/dist/server/domains/projects/project-members.js +21 -0
- package/dist/server/domains/projects/project-members.js.map +1 -0
- package/dist/server/domains/projects/project-resources.d.ts +33 -0
- package/dist/server/domains/projects/project-resources.d.ts.map +1 -0
- package/dist/server/domains/projects/project-resources.js +153 -0
- package/dist/server/domains/projects/project-resources.js.map +1 -0
- package/dist/server/domains/projects/project.access.d.ts +39 -0
- package/dist/server/domains/projects/project.access.d.ts.map +1 -0
- package/dist/server/domains/projects/project.access.js +83 -0
- package/dist/server/domains/projects/project.access.js.map +1 -0
- package/dist/server/domains/projects/project.routes.d.ts +9 -0
- package/dist/server/domains/projects/project.routes.d.ts.map +1 -0
- package/dist/server/domains/projects/project.routes.js +246 -0
- package/dist/server/domains/projects/project.routes.js.map +1 -0
- package/dist/server/domains/projects/project.service.d.ts +47 -0
- package/dist/server/domains/projects/project.service.d.ts.map +1 -0
- package/dist/server/domains/projects/project.service.js +150 -0
- package/dist/server/domains/projects/project.service.js.map +1 -0
- package/dist/server/domains/projects/project.store.d.ts +53 -0
- package/dist/server/domains/projects/project.store.d.ts.map +1 -0
- package/dist/server/domains/projects/project.store.js +220 -0
- package/dist/server/domains/projects/project.store.js.map +1 -0
- package/dist/server/domains/reports/index.d.ts +2 -0
- package/dist/server/domains/reports/index.d.ts.map +1 -0
- package/dist/server/domains/reports/index.js +2 -0
- package/dist/server/domains/reports/index.js.map +1 -0
- package/dist/server/domains/reports/report.service.d.ts +157 -0
- package/dist/server/domains/reports/report.service.d.ts.map +1 -0
- package/dist/server/domains/reports/report.service.js +502 -0
- package/dist/server/domains/reports/report.service.js.map +1 -0
- package/dist/server/domains/settings/index.d.ts +3 -0
- package/dist/server/domains/settings/index.d.ts.map +1 -0
- package/dist/server/domains/settings/index.js +3 -0
- package/dist/server/domains/settings/index.js.map +1 -0
- package/dist/server/domains/settings/settings.routes.d.ts +6 -0
- package/dist/server/domains/settings/settings.routes.d.ts.map +1 -0
- package/dist/server/domains/settings/settings.routes.js +39 -0
- package/dist/server/domains/settings/settings.routes.js.map +1 -0
- package/dist/server/domains/settings/settings.service.d.ts +23 -0
- package/dist/server/domains/settings/settings.service.d.ts.map +1 -0
- package/dist/server/domains/settings/settings.service.js +38 -0
- package/dist/server/domains/settings/settings.service.js.map +1 -0
- package/dist/server/domains/settings/settings.store.d.ts +26 -0
- package/dist/server/domains/settings/settings.store.d.ts.map +1 -0
- package/dist/server/domains/settings/settings.store.js +43 -0
- package/dist/server/domains/settings/settings.store.js.map +1 -0
- package/dist/server/domains/subscriptions/index.d.ts +3 -0
- package/dist/server/domains/subscriptions/index.d.ts.map +1 -0
- package/dist/server/domains/subscriptions/index.js +3 -0
- package/dist/server/domains/subscriptions/index.js.map +1 -0
- package/dist/server/domains/subscriptions/subscription.events.d.ts +12 -0
- package/dist/server/domains/subscriptions/subscription.events.d.ts.map +1 -0
- package/dist/server/domains/subscriptions/subscription.events.js +2 -0
- package/dist/server/domains/subscriptions/subscription.events.js.map +1 -0
- package/dist/server/domains/subscriptions/subscription.routes.d.ts +6 -0
- package/dist/server/domains/subscriptions/subscription.routes.d.ts.map +1 -0
- package/dist/server/domains/subscriptions/subscription.routes.js +34 -0
- package/dist/server/domains/subscriptions/subscription.routes.js.map +1 -0
- package/dist/server/domains/subscriptions/subscription.service.d.ts +28 -0
- package/dist/server/domains/subscriptions/subscription.service.d.ts.map +1 -0
- package/dist/server/domains/subscriptions/subscription.service.js +50 -0
- package/dist/server/domains/subscriptions/subscription.service.js.map +1 -0
- package/dist/server/domains/subscriptions/subscription.store.d.ts +23 -0
- package/dist/server/domains/subscriptions/subscription.store.d.ts.map +1 -0
- package/dist/server/domains/subscriptions/subscription.store.js +84 -0
- package/dist/server/domains/subscriptions/subscription.store.js.map +1 -0
- package/dist/server/domains/subtasks/index.d.ts +5 -0
- package/dist/server/domains/subtasks/index.d.ts.map +1 -0
- package/dist/server/domains/subtasks/index.js +5 -0
- package/dist/server/domains/subtasks/index.js.map +1 -0
- package/dist/server/domains/subtasks/subtask.blocking.d.ts +22 -0
- package/dist/server/domains/subtasks/subtask.blocking.d.ts.map +1 -0
- package/dist/server/domains/subtasks/subtask.blocking.js +113 -0
- package/dist/server/domains/subtasks/subtask.blocking.js.map +1 -0
- package/dist/server/domains/subtasks/subtask.events.d.ts +40 -0
- package/dist/server/domains/subtasks/subtask.events.d.ts.map +1 -0
- package/dist/server/domains/subtasks/subtask.events.js +2 -0
- package/dist/server/domains/subtasks/subtask.events.js.map +1 -0
- package/dist/server/domains/subtasks/subtask.graph.d.ts +13 -0
- package/dist/server/domains/subtasks/subtask.graph.d.ts.map +1 -0
- package/dist/server/domains/subtasks/subtask.graph.js +65 -0
- package/dist/server/domains/subtasks/subtask.graph.js.map +1 -0
- package/dist/server/domains/subtasks/subtask.notices.d.ts +8 -0
- package/dist/server/domains/subtasks/subtask.notices.d.ts.map +1 -0
- package/dist/server/domains/subtasks/subtask.notices.js +70 -0
- package/dist/server/domains/subtasks/subtask.notices.js.map +1 -0
- package/dist/server/domains/subtasks/subtask.release.d.ts +29 -0
- package/dist/server/domains/subtasks/subtask.release.d.ts.map +1 -0
- package/dist/server/domains/subtasks/subtask.release.js +108 -0
- package/dist/server/domains/subtasks/subtask.release.js.map +1 -0
- package/dist/server/domains/subtasks/subtask.routes.d.ts +10 -0
- package/dist/server/domains/subtasks/subtask.routes.d.ts.map +1 -0
- package/dist/server/domains/subtasks/subtask.routes.js +131 -0
- package/dist/server/domains/subtasks/subtask.routes.js.map +1 -0
- package/dist/server/domains/subtasks/subtask.service.d.ts +44 -0
- package/dist/server/domains/subtasks/subtask.service.d.ts.map +1 -0
- package/dist/server/domains/subtasks/subtask.service.js +298 -0
- package/dist/server/domains/subtasks/subtask.service.js.map +1 -0
- package/dist/server/domains/subtasks/subtask.store.d.ts +27 -0
- package/dist/server/domains/subtasks/subtask.store.d.ts.map +1 -0
- package/dist/server/domains/subtasks/subtask.store.js +43 -0
- package/dist/server/domains/subtasks/subtask.store.js.map +1 -0
- package/dist/server/domains/workflows/built-in-rule-types.d.ts +40 -0
- package/dist/server/domains/workflows/built-in-rule-types.d.ts.map +1 -0
- package/dist/server/domains/workflows/built-in-rule-types.js +260 -0
- package/dist/server/domains/workflows/built-in-rule-types.js.map +1 -0
- package/dist/server/domains/workflows/event-types.d.ts +21 -0
- package/dist/server/domains/workflows/event-types.d.ts.map +1 -0
- package/dist/server/domains/workflows/event-types.js +31 -0
- package/dist/server/domains/workflows/event-types.js.map +1 -0
- package/dist/server/domains/workflows/index.d.ts +10 -0
- package/dist/server/domains/workflows/index.d.ts.map +1 -0
- package/dist/server/domains/workflows/index.js +10 -0
- package/dist/server/domains/workflows/index.js.map +1 -0
- package/dist/server/domains/workflows/rule-types.d.ts +125 -0
- package/dist/server/domains/workflows/rule-types.d.ts.map +1 -0
- package/dist/server/domains/workflows/rule-types.js +33 -0
- package/dist/server/domains/workflows/rule-types.js.map +1 -0
- package/dist/server/domains/workflows/templates.d.ts +62 -0
- package/dist/server/domains/workflows/templates.d.ts.map +1 -0
- package/dist/server/domains/workflows/templates.js +63 -0
- package/dist/server/domains/workflows/templates.js.map +1 -0
- package/dist/server/domains/workflows/workflow.diff.d.ts +14 -0
- package/dist/server/domains/workflows/workflow.diff.d.ts.map +1 -0
- package/dist/server/domains/workflows/workflow.diff.js +80 -0
- package/dist/server/domains/workflows/workflow.diff.js.map +1 -0
- package/dist/server/domains/workflows/workflow.events.d.ts +26 -0
- package/dist/server/domains/workflows/workflow.events.d.ts.map +1 -0
- package/dist/server/domains/workflows/workflow.events.js +2 -0
- package/dist/server/domains/workflows/workflow.events.js.map +1 -0
- package/dist/server/domains/workflows/workflow.fire.d.ts +38 -0
- package/dist/server/domains/workflows/workflow.fire.d.ts.map +1 -0
- package/dist/server/domains/workflows/workflow.fire.js +57 -0
- package/dist/server/domains/workflows/workflow.fire.js.map +1 -0
- package/dist/server/domains/workflows/workflow.registry.d.ts +27 -0
- package/dist/server/domains/workflows/workflow.registry.d.ts.map +1 -0
- package/dist/server/domains/workflows/workflow.registry.js +130 -0
- package/dist/server/domains/workflows/workflow.registry.js.map +1 -0
- package/dist/server/domains/workflows/workflow.routes.d.ts +6 -0
- package/dist/server/domains/workflows/workflow.routes.d.ts.map +1 -0
- package/dist/server/domains/workflows/workflow.routes.js +148 -0
- package/dist/server/domains/workflows/workflow.routes.js.map +1 -0
- package/dist/server/domains/workflows/workflow.rules.d.ts +14 -0
- package/dist/server/domains/workflows/workflow.rules.d.ts.map +1 -0
- package/dist/server/domains/workflows/workflow.rules.js +190 -0
- package/dist/server/domains/workflows/workflow.rules.js.map +1 -0
- package/dist/server/domains/workflows/workflow.service.d.ts +71 -0
- package/dist/server/domains/workflows/workflow.service.d.ts.map +1 -0
- package/dist/server/domains/workflows/workflow.service.js +365 -0
- package/dist/server/domains/workflows/workflow.service.js.map +1 -0
- package/dist/server/domains/workflows/workflow.store.d.ts +33 -0
- package/dist/server/domains/workflows/workflow.store.d.ts.map +1 -0
- package/dist/server/domains/workflows/workflow.store.js +148 -0
- package/dist/server/domains/workflows/workflow.store.js.map +1 -0
- package/dist/server/index.d.ts +5 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +5 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/kernel/activity.d.ts +55 -0
- package/dist/server/kernel/activity.d.ts.map +1 -0
- package/dist/server/kernel/activity.js +72 -0
- package/dist/server/kernel/activity.js.map +1 -0
- package/dist/server/kernel/actor.d.ts +28 -0
- package/dist/server/kernel/actor.d.ts.map +1 -0
- package/dist/server/kernel/actor.js +8 -0
- package/dist/server/kernel/actor.js.map +1 -0
- package/dist/server/kernel/db.d.ts +21 -0
- package/dist/server/kernel/db.d.ts.map +1 -0
- package/dist/server/kernel/db.js +41 -0
- package/dist/server/kernel/db.js.map +1 -0
- package/dist/server/kernel/errors.d.ts +26 -0
- package/dist/server/kernel/errors.d.ts.map +1 -0
- package/dist/server/kernel/errors.js +34 -0
- package/dist/server/kernel/errors.js.map +1 -0
- package/dist/server/kernel/events.d.ts +43 -0
- package/dist/server/kernel/events.d.ts.map +1 -0
- package/dist/server/kernel/events.js +64 -0
- package/dist/server/kernel/events.js.map +1 -0
- package/dist/server/kernel/http.d.ts +47 -0
- package/dist/server/kernel/http.d.ts.map +1 -0
- package/dist/server/kernel/http.js +120 -0
- package/dist/server/kernel/http.js.map +1 -0
- package/dist/server/kernel/ids.d.ts +9 -0
- package/dist/server/kernel/ids.d.ts.map +1 -0
- package/dist/server/kernel/ids.js +5 -0
- package/dist/server/kernel/ids.js.map +1 -0
- package/dist/server/kernel/kinds.d.ts +110 -0
- package/dist/server/kernel/kinds.d.ts.map +1 -0
- package/dist/server/kernel/kinds.js +145 -0
- package/dist/server/kernel/kinds.js.map +1 -0
- package/dist/server/kernel/mentions.d.ts +17 -0
- package/dist/server/kernel/mentions.d.ts.map +1 -0
- package/dist/server/kernel/mentions.js +42 -0
- package/dist/server/kernel/mentions.js.map +1 -0
- package/dist/server/kernel/pagination.d.ts +14 -0
- package/dist/server/kernel/pagination.d.ts.map +1 -0
- package/dist/server/kernel/pagination.js +42 -0
- package/dist/server/kernel/pagination.js.map +1 -0
- package/dist/server/kernel/tx.d.ts +37 -0
- package/dist/server/kernel/tx.d.ts.map +1 -0
- package/dist/server/kernel/tx.js +109 -0
- package/dist/server/kernel/tx.js.map +1 -0
- package/dist/server/kernel/users.d.ts +40 -0
- package/dist/server/kernel/users.d.ts.map +1 -0
- package/dist/server/kernel/users.js +84 -0
- package/dist/server/kernel/users.js.map +1 -0
- package/dist/server/kernel/validate.d.ts +14 -0
- package/dist/server/kernel/validate.d.ts.map +1 -0
- package/dist/server/kernel/validate.js +68 -0
- package/dist/server/kernel/validate.js.map +1 -0
- package/dist/server/kernel/work.d.ts +97 -0
- package/dist/server/kernel/work.d.ts.map +1 -0
- package/dist/server/kernel/work.js +154 -0
- package/dist/server/kernel/work.js.map +1 -0
- package/dist/server/key-scope-objects.d.ts +21 -0
- package/dist/server/key-scope-objects.d.ts.map +1 -0
- package/dist/server/key-scope-objects.js +24 -0
- package/dist/server/key-scope-objects.js.map +1 -0
- package/dist/server/lifecycle/definition.d.ts +71 -0
- package/dist/server/lifecycle/definition.d.ts.map +1 -0
- package/dist/server/lifecycle/definition.js +18 -0
- package/dist/server/lifecycle/definition.js.map +1 -0
- package/dist/server/lifecycle/index.d.ts +10 -0
- package/dist/server/lifecycle/index.d.ts.map +1 -0
- package/dist/server/lifecycle/index.js +10 -0
- package/dist/server/lifecycle/index.js.map +1 -0
- package/dist/server/lifecycle/machine.d.ts +23 -0
- package/dist/server/lifecycle/machine.d.ts.map +1 -0
- package/dist/server/lifecycle/machine.js +27 -0
- package/dist/server/lifecycle/machine.js.map +1 -0
- package/dist/server/lifecycle/move.d.ts +93 -0
- package/dist/server/lifecycle/move.d.ts.map +1 -0
- package/dist/server/lifecycle/move.js +181 -0
- package/dist/server/lifecycle/move.js.map +1 -0
- package/dist/server/lifecycle/registry.d.ts +73 -0
- package/dist/server/lifecycle/registry.d.ts.map +1 -0
- package/dist/server/lifecycle/registry.js +29 -0
- package/dist/server/lifecycle/registry.js.map +1 -0
- package/dist/server/lifecycle/validate.d.ts +34 -0
- package/dist/server/lifecycle/validate.d.ts.map +1 -0
- package/dist/server/lifecycle/validate.js +341 -0
- package/dist/server/lifecycle/validate.js.map +1 -0
- package/dist/server/locales/en-US.d.ts +41 -0
- package/dist/server/locales/en-US.d.ts.map +1 -0
- package/dist/server/locales/en-US.js +39 -0
- package/dist/server/locales/en-US.js.map +1 -0
- package/dist/server/locales/index.d.ts +4 -0
- package/dist/server/locales/index.d.ts.map +1 -0
- package/dist/server/locales/index.js +6 -0
- package/dist/server/locales/index.js.map +1 -0
- package/dist/server/locales/zh-CN.d.ts +4 -0
- package/dist/server/locales/zh-CN.d.ts.map +1 -0
- package/dist/server/locales/zh-CN.js +38 -0
- package/dist/server/locales/zh-CN.js.map +1 -0
- package/dist/server/plugin.d.ts +4 -0
- package/dist/server/plugin.d.ts.map +1 -0
- package/dist/server/plugin.js +17 -0
- package/dist/server/plugin.js.map +1 -0
- package/dist/server/providers/authorization.d.ts +20 -0
- package/dist/server/providers/authorization.d.ts.map +1 -0
- package/dist/server/providers/authorization.js +65 -0
- package/dist/server/providers/authorization.js.map +1 -0
- package/dist/server/providers/index.d.ts +4 -0
- package/dist/server/providers/index.d.ts.map +1 -0
- package/dist/server/providers/index.js +8 -0
- package/dist/server/providers/index.js.map +1 -0
- package/dist/server/providers/notifications.d.ts +16 -0
- package/dist/server/providers/notifications.d.ts.map +1 -0
- package/dist/server/providers/notifications.js +331 -0
- package/dist/server/providers/notifications.js.map +1 -0
- package/dist/server/providers/projects.d.ts +25 -0
- package/dist/server/providers/projects.d.ts.map +1 -0
- package/dist/server/providers/projects.js +141 -0
- package/dist/server/providers/projects.js.map +1 -0
- package/dist/server/routes/api.d.ts +4 -0
- package/dist/server/routes/api.d.ts.map +1 -0
- package/dist/server/routes/api.js +97 -0
- package/dist/server/routes/api.js.map +1 -0
- package/dist/server/routes/index.d.ts +5 -0
- package/dist/server/routes/index.d.ts.map +1 -0
- package/dist/server/routes/index.js +6 -0
- package/dist/server/routes/index.js.map +1 -0
- package/dist/server/routes/schemas.d.ts +199 -0
- package/dist/server/routes/schemas.d.ts.map +1 -0
- package/dist/server/routes/schemas.js +1185 -0
- package/dist/server/routes/schemas.js.map +1 -0
- package/dist/server/tokens.d.ts +185 -0
- package/dist/server/tokens.d.ts.map +1 -0
- package/dist/server/tokens.js +57 -0
- package/dist/server/tokens.js.map +1 -0
- package/dist/shared/access.d.ts +189 -0
- package/dist/shared/access.d.ts.map +1 -0
- package/dist/shared/access.js +223 -0
- package/dist/shared/access.js.map +1 -0
- package/dist/shared/approvals.d.ts +37 -0
- package/dist/shared/approvals.d.ts.map +1 -0
- package/dist/shared/approvals.js +4 -0
- package/dist/shared/approvals.js.map +1 -0
- package/dist/shared/attachments.d.ts +80 -0
- package/dist/shared/attachments.d.ts.map +1 -0
- package/dist/shared/attachments.js +61 -0
- package/dist/shared/attachments.js.map +1 -0
- package/dist/shared/checklists.d.ts +27 -0
- package/dist/shared/checklists.d.ts.map +1 -0
- package/dist/shared/checklists.js +7 -0
- package/dist/shared/checklists.js.map +1 -0
- package/dist/shared/comments.d.ts +111 -0
- package/dist/shared/comments.d.ts.map +1 -0
- package/dist/shared/comments.js +20 -0
- package/dist/shared/comments.js.map +1 -0
- package/dist/shared/common.d.ts +28 -0
- package/dist/shared/common.d.ts.map +1 -0
- package/dist/shared/common.js +15 -0
- package/dist/shared/common.js.map +1 -0
- package/dist/shared/intake-ai.d.ts +207 -0
- package/dist/shared/intake-ai.d.ts.map +1 -0
- package/dist/shared/intake-ai.js +111 -0
- package/dist/shared/intake-ai.js.map +1 -0
- package/dist/shared/intake.d.ts +126 -0
- package/dist/shared/intake.d.ts.map +1 -0
- package/dist/shared/intake.js +10 -0
- package/dist/shared/intake.js.map +1 -0
- package/dist/shared/invitations.d.ts +48 -0
- package/dist/shared/invitations.d.ts.map +1 -0
- package/dist/shared/invitations.js +6 -0
- package/dist/shared/invitations.js.map +1 -0
- package/dist/shared/issues.d.ts +246 -0
- package/dist/shared/issues.d.ts.map +1 -0
- package/dist/shared/issues.js +11 -0
- package/dist/shared/issues.js.map +1 -0
- package/dist/shared/kinds.d.ts +41 -0
- package/dist/shared/kinds.d.ts.map +1 -0
- package/dist/shared/kinds.js +9 -0
- package/dist/shared/kinds.js.map +1 -0
- package/dist/shared/labels.d.ts +13 -0
- package/dist/shared/labels.d.ts.map +1 -0
- package/dist/shared/labels.js +2 -0
- package/dist/shared/labels.js.map +1 -0
- package/dist/shared/locales/access.en-US.d.ts +189 -0
- package/dist/shared/locales/access.en-US.d.ts.map +1 -0
- package/dist/shared/locales/access.en-US.js +178 -0
- package/dist/shared/locales/access.en-US.js.map +1 -0
- package/dist/shared/locales/access.zh-CN.d.ts +4 -0
- package/dist/shared/locales/access.zh-CN.d.ts.map +1 -0
- package/dist/shared/locales/access.zh-CN.js +173 -0
- package/dist/shared/locales/access.zh-CN.js.map +1 -0
- package/dist/shared/members.d.ts +27 -0
- package/dist/shared/members.d.ts.map +1 -0
- package/dist/shared/members.js +2 -0
- package/dist/shared/members.js.map +1 -0
- package/dist/shared/plans.d.ts +503 -0
- package/dist/shared/plans.d.ts.map +1 -0
- package/dist/shared/plans.js +68 -0
- package/dist/shared/plans.js.map +1 -0
- package/dist/shared/projects.d.ts +138 -0
- package/dist/shared/projects.d.ts.map +1 -0
- package/dist/shared/projects.js +23 -0
- package/dist/shared/projects.js.map +1 -0
- package/dist/shared/realtime.d.ts +11 -0
- package/dist/shared/realtime.d.ts.map +1 -0
- package/dist/shared/realtime.js +6 -0
- package/dist/shared/realtime.js.map +1 -0
- package/dist/shared/settings.d.ts +9 -0
- package/dist/shared/settings.d.ts.map +1 -0
- package/dist/shared/settings.js +3 -0
- package/dist/shared/settings.js.map +1 -0
- package/dist/shared/subscriptions.d.ts +13 -0
- package/dist/shared/subscriptions.d.ts.map +1 -0
- package/dist/shared/subscriptions.js +10 -0
- package/dist/shared/subscriptions.js.map +1 -0
- package/dist/shared/subtasks.d.ts +56 -0
- package/dist/shared/subtasks.d.ts.map +1 -0
- package/dist/shared/subtasks.js +11 -0
- package/dist/shared/subtasks.js.map +1 -0
- package/dist/shared/workflows.d.ts +267 -0
- package/dist/shared/workflows.d.ts.map +1 -0
- package/dist/shared/workflows.js +149 -0
- package/dist/shared/workflows.js.map +1 -0
- package/package.json +204 -3
- package/skills/nocobase-app-plugin-projects/SKILL.md +129 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# @nocobase/app-plugin-projects
|
|
2
|
+
|
|
3
|
+
## 0.1.0-beta.2
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 57c59a0: Queue work as the person it runs as, and let a variable keep its runs on team runners.
|
|
8
|
+
|
|
9
|
+
- New work for an agent on a subject now merges only into a run working as the same person (`actorUserId`). Work woken by someone else starts a run of its own instead of borrowing the identity of a run already queued or held, and the owner's own work is no longer swallowed by a run another person's comment queued, which their personal runner would never take. Runs of one agent, subject and thread are still claimed one at a time, so the second waits with `sameWorkActive`. A retry likewise looks only at open runs of the person retrying.
|
|
10
|
+
- Variables gain `teamRunnersOnly`, off by default and off for every existing variable (migration `202610090001_ag_add_team_runner_variables`, which also adds `agRuns.teamOnlyVariables`). Without it nothing changes: a run's variables go to whichever runner takes it, including the personal runner of anyone who may use the agent, and the variables settings now say so. Jobs also enforce the mark on the exact stored variables referenced by their prepared spec, including repository credentials. Custom job secret sources may throw `JobSecretsNotAllowed` (exported from `server/tokens`) to report this runner mismatch; a personal runner leaves such a job queued without a preparation failure, continues to other jobs, and receives no values or delivery audits from the refused claim. A run that gets a variable marked `teamRunnersOnly` is taken only by a team runner: a personal runner leaves it, the run notes which variables asked for a team runner, and its wait answers the new reason `secretsNotAllowed` with those variables (`RunWait.variables`). The mark is checked and the values are opened in the claim's own transaction, so a runner receives exactly what was checked. `PUT /api/agents/variables/{scopeKind}/{scopeId}/{name}` takes `teamRunnersOnly`, and without `value` changes only the mark of an existing variable; the variable dialog has a "Team runtimes only" checkbox, and replacing a value with an empty field keeps the stored one.
|
|
11
|
+
- Waits are now a code and its values, never text: `RunWait` gains `params` (`RunWaitParams`), the values each reason's words need, such as `{ tool, used, limit }` for `toolSlotsFull`, `{ variables }` for `secretsNotAllowed`, `{ active, limit }` for `concurrencyFull`, `{ features }`, `{ until }`, `{ tool }`, `{ runners }` and `{ detail }` for the others; it is optional, and the earlier fields stay. `RUN_WAIT_REASONS` adds `secretsNotAllowed`.
|
|
12
|
+
- The agents plugin's client words waits: `formatRunWait(t, wait)` and `runWaitBlocks(wait)` from `@nocobase/app-plugin-agents/client/runs`, with texts in the plugin's namespace (`runWait.reasons.<reason>`, English and Chinese) and the page's `t`, so they follow a language switch. An application uses it as it is, rewords any reason in its locale file's `overrides` for that namespace (a reason this version does not know included), or formats waits itself; a reason with no text reads as "Queued (<reason>)".
|
|
13
|
+
- The `agent-queue` Registry item no longer knows any wait reason: `AgentQueueWait.reason` is a string, the `AgentQueueWaitReason` type and `labels.queue.reasons` are removed, `waitText` and `isBlockingWait` become `waitView`, and the new `formatWait` prop words a wait (`{ text, detail?, blocking? }`), showing the reason code without it. Applications with a copy of the item, Studio included, sync it once and pass `formatWait`, such as `formatRunWait` with `runWaitBlocks`; a reason added later then needs no change to the copy.
|
|
14
|
+
- The projects plugin's intake progress no longer words wait reasons itself: `IntakeAiProgress` gains an optional `waitParams`, and the application gives the words through the new `IntakeWaitFormatContext` (from `@nocobase/app-plugin-projects/client/kit`), such as the agents plugin's `formatRunWait`; without it a queued request reads as waiting, naming the reason. Its own texts per reason are removed.
|
|
15
|
+
- Applications should forward the new `run_secrets_not_allowed` notice (to the run's actor and owner, naming the variables) and its `notice.cleared`, sent once a runner takes the run. Repository access providers that mint credentials in `prepare` may implement `discard(run, prepared)`, called when a claim is skipped or rolled back.
|
|
16
|
+
- New `eligibility` service (`runnersFor`, `canClaim`, `mayQueue`, `teamOnly`): whether a runner would take an agent's work done as a person, by the claim's rules including team-only variables, for callers deciding before a run exists. `availability` accepts the person (`actorUserId`) and uses it, and `GET /api/agents/available` now answers `online` for the caller: an agent whose only online runners would not take the caller's work reads as offline. Enqueue itself never refuses for this; such work waits.
|
|
17
|
+
- The added data fields remain optional for consumers constructing their own objects: `RunWait.variables` and `RunWait.params` may be omitted, and `Variable.teamRunnersOnly` may be omitted (treated as false). The API still supplies the mark when listing stored variables.
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- Updated dependencies [487921c]
|
|
22
|
+
- Updated dependencies [a6758ec]
|
|
23
|
+
- @nocobase/app-server@2.0.0-beta.2
|
|
24
|
+
- @nocobase/app-plugin-file@1.0.0-beta.21
|
|
25
|
+
- @nocobase/markdown-mermaid@0.1.0-beta.1
|
|
26
|
+
- @nocobase/app-plugin-authentication@2.0.0-beta.2
|
|
27
|
+
- @nocobase/app-client@2.0.0-beta.2
|
|
28
|
+
- @nocobase/authorization@1.0.0-beta.12
|
|
29
|
+
- @nocobase/db@1.0.0-beta.18
|
|
30
|
+
- @nocobase/i18n@1.0.0-beta.5
|
|
31
|
+
- @nocobase/repository-input@0.1.0-beta.2
|
|
32
|
+
- @nocobase/service-provider@0.0.2-beta.1
|
|
33
|
+
- @nocobase/app-plugin-authorization@1.0.0-beta.25
|
|
34
|
+
- @nocobase/app-plugin-notification@1.0.0-beta.24
|
|
35
|
+
- @nocobase/app-plugin-users@2.0.0-beta.1
|
|
36
|
+
|
|
37
|
+
## 0.1.0-beta.1
|
|
38
|
+
|
|
39
|
+
### Patch Changes
|
|
40
|
+
|
|
41
|
+
- 10a1759: End a bare URL in issue descriptions and comments at the first CJK character or full-width punctuation mark, so `PR:https://example.com/pull/8(分支 x)` links `https://example.com/pull/8` instead of `https://example.com/pull/8(分支`. The UI Library catalog in the application Skill lists the `remark-cjk-autolink.ts` file the `markdown-view` item now installs.
|
|
42
|
+
- b8df35c: Limit a runner's concurrent runs per coding tool, beside its total slots, so a machine with Claude Code and Codex can run, say, at most two Claude runs and one Codex run at once.
|
|
43
|
+
|
|
44
|
+
- `@nocobase/agent-protocol`: optional `toolSlots` on registration, `load.tools` on the heartbeat and `tools` on the claim (`ToolSlots`, `ToolLoad`). They are additions within protocol 7: a side that does not know them ignores them.
|
|
45
|
+
- `@nocobase/agent-runner`: `register --slots` and `start --slots` take a total, limits per tool, or both (`3,claude=2,codex=1`). The limits hold across every application the machine serves; each claim says how many runs of each limited tool the runner can still take, and the heartbeat reports them.
|
|
46
|
+
- `@nocobase/app-plugin-agents`: runners and registration tokens keep `toolSlots`, set on registration or on the runtime's settings and in the "Add runtime" dialog. A claim takes a run only when both the runner's total and the run's tool have room, using the agent's next tool while its first is full and passing over a run none of whose tools has room. A queued run waiting on a full tool reads `toolSlotsFull` rather than `runnersBusy`, and the runtimes page shows the runs by tool against each limit. The migration `202610080001_ag_add_runner_tool_slots` adds the columns. A runtime's settings list its coding tools in one table (on or off, sign-in, limit, runs now), and a tool's switch is now saved with "Save" together with the rest of the form instead of at once. The "Add runtime" dialog keeps the limits per tool under "Advanced" for the checked tools, and its button reads "Generate install command". A limit above the max concurrent runs is pointed out, since the total bounds it.
|
|
47
|
+
- `@nocobase/app-plugin-projects`: words the `toolSlotsFull` wait reason.
|
|
48
|
+
|
|
49
|
+
Every field this adds to the shared types is optional, so code that builds these objects itself needs no change: `Runner.toolSlots` and `Runner.toolLoad`, `RunnerSummary.activeByTool`, `RegistrationToken.toolSlots`, and `HeldItems.byTool` of `Slots`. The server always fills them in. A missing field reads as no limit per tool and nothing known about its use, and the runtimes page then shows no use per tool. `RUN_WAIT_REASONS` gains `toolSlotsFull`, so a `Record` keyed by every `RunWaitReason` needs an entry for it.
|
|
50
|
+
|
|
51
|
+
Applications using a copied UI Library `agent-queue` block must merge the `toolSlotsFull` reason and wording changes from `ui-library/registry/agents/agent-queue` into their copy. This PR updates the registry source, including an optional label with an English fallback, but a plugin upgrade does not update installed source. Add `queue.reasons.toolSlotsFull` to the application's translations to show the new reason in its locale.
|
|
52
|
+
|
|
53
|
+
- Updated dependencies [bb8484b]
|
|
54
|
+
- Updated dependencies [dc91aab]
|
|
55
|
+
- @nocobase/app-client@2.0.0-beta.2
|
|
56
|
+
- @nocobase/app-plugin-authentication@2.0.0-beta.2
|
|
57
|
+
- @nocobase/app-plugin-file@1.0.0-beta.20
|
|
58
|
+
- @nocobase/app-plugin-notification@1.0.0-beta.24
|
|
59
|
+
- @nocobase/app-server@2.0.0-beta.1
|
|
60
|
+
- @nocobase/authorization@1.0.0-beta.12
|
|
61
|
+
- @nocobase/db@1.0.0-beta.18
|
|
62
|
+
- @nocobase/i18n@1.0.0-beta.5
|
|
63
|
+
- @nocobase/markdown-mermaid@0.1.0-beta.0
|
|
64
|
+
- @nocobase/repository-input@0.1.0-beta.2
|
|
65
|
+
- @nocobase/service-provider@0.0.2-beta.1
|
|
66
|
+
- @nocobase/app-plugin-authorization@1.0.0-beta.25
|
|
67
|
+
- @nocobase/app-plugin-users@2.0.0-beta.1
|
|
68
|
+
|
|
69
|
+
## 0.1.0-beta.0
|
|
70
|
+
|
|
71
|
+
### Minor Changes
|
|
72
|
+
|
|
73
|
+
- 68d4feb: Add `@nocobase/app-plugin-projects`: projects, issues, workflows, labels and members for a NocoBase application. Issues carry workflow states, assignees of pluggable kinds (people, the plugin's own rules, or kinds another plugin registers, such as agents), sub-issues and dependencies, comments with reactions, attachments and activity; operation plans let a person confirm, rehearse, execute and undo a batch of changes proposed for them; intake splits and extracts issues from text and files. Business permissions are declared in `shared/access.ts` (the `pm` resource type, `edit.related` and `edit.all` levels) and resolved by the assembling application through `projectsAccessToken`. Every route is documented with command-line hints, and the client exports headless hooks (`client/kit`, `client/issues`) for the UI Library's project and issue blocks.
|
|
74
|
+
|
|
75
|
+
### Patch Changes
|
|
76
|
+
|
|
77
|
+
- 32d8faa: On PostgreSQL, a member who may see no project, no issue or no App no longer gets a server error: the filters used a NUL character as a placeholder id that matches nothing, which PostgreSQL refuses. The releases plugin's App list, for one, answered 500 to every member who had created no App.
|
|
78
|
+
- ec4a25d: On PostgreSQL, a lookup over an empty list of ids no longer fails with an invalid byte sequence: it sent a NUL character as a placeholder that matches nothing, which PostgreSQL refuses. This stopped the default workflow template from installing on a fresh database.
|
|
79
|
+
- 6162033: A pending invitation's row menu no longer closes by itself when the invitation list renders again, such as when it is fetched again: the list's cells are no longer rebuilt on every render.
|
|
80
|
+
- Updated dependencies [37c8d20]
|
|
81
|
+
- Updated dependencies [37c8d20]
|
|
82
|
+
- Updated dependencies [37c8d20]
|
|
83
|
+
- Updated dependencies [37c8d20]
|
|
84
|
+
- Updated dependencies [bc1e83f]
|
|
85
|
+
- Updated dependencies [bc1e83f]
|
|
86
|
+
- Updated dependencies [bc1e83f]
|
|
87
|
+
- Updated dependencies [bc1e83f]
|
|
88
|
+
- Updated dependencies [37c8d20]
|
|
89
|
+
- Updated dependencies [37c8d20]
|
|
90
|
+
- Updated dependencies [bc1e83f]
|
|
91
|
+
- Updated dependencies [bc1e83f]
|
|
92
|
+
- Updated dependencies [37c8d20]
|
|
93
|
+
- Updated dependencies [37c8d20]
|
|
94
|
+
- Updated dependencies [37c8d20]
|
|
95
|
+
- Updated dependencies [37c8d20]
|
|
96
|
+
- Updated dependencies [37c8d20]
|
|
97
|
+
- Updated dependencies [37c8d20]
|
|
98
|
+
- Updated dependencies [bc1e83f]
|
|
99
|
+
- Updated dependencies [bc1e83f]
|
|
100
|
+
- Updated dependencies [be0fbbd]
|
|
101
|
+
- Updated dependencies [bc1e83f]
|
|
102
|
+
- Updated dependencies [6993158]
|
|
103
|
+
- Updated dependencies [a6796d9]
|
|
104
|
+
- Updated dependencies [37c8d20]
|
|
105
|
+
- Updated dependencies [37c8d20]
|
|
106
|
+
- Updated dependencies [3f1b78f]
|
|
107
|
+
- Updated dependencies [8885ce4]
|
|
108
|
+
- Updated dependencies [0151805]
|
|
109
|
+
- Updated dependencies [bc1e83f]
|
|
110
|
+
- Updated dependencies [bc1e83f]
|
|
111
|
+
- Updated dependencies [37c8d20]
|
|
112
|
+
- Updated dependencies [37c8d20]
|
|
113
|
+
- Updated dependencies [e538d12]
|
|
114
|
+
- Updated dependencies [bc1e83f]
|
|
115
|
+
- Updated dependencies [bc1e83f]
|
|
116
|
+
- Updated dependencies [bc1e83f]
|
|
117
|
+
- Updated dependencies [bc1e83f]
|
|
118
|
+
- Updated dependencies [37c8d20]
|
|
119
|
+
- Updated dependencies [bc1e83f]
|
|
120
|
+
- Updated dependencies [37c8d20]
|
|
121
|
+
- Updated dependencies [bc1e83f]
|
|
122
|
+
- Updated dependencies [bc1e83f]
|
|
123
|
+
- Updated dependencies [6162033]
|
|
124
|
+
- Updated dependencies [bc1e83f]
|
|
125
|
+
- Updated dependencies [bc1e83f]
|
|
126
|
+
- @nocobase/markdown-mermaid@0.1.0-beta.0
|
|
127
|
+
- @nocobase/app-client@2.0.0-beta.1
|
|
128
|
+
- @nocobase/app-server@2.0.0-beta.1
|
|
129
|
+
- @nocobase/app-plugin-authentication@2.0.0-beta.1
|
|
130
|
+
- @nocobase/authorization@1.0.0-beta.12
|
|
131
|
+
- @nocobase/app-plugin-authorization@1.0.0-beta.25
|
|
132
|
+
- @nocobase/app-plugin-users@2.0.0-beta.1
|
|
133
|
+
- @nocobase/app-plugin-notification@1.0.0-beta.23
|
|
134
|
+
- @nocobase/db@1.0.0-beta.18
|
|
135
|
+
- @nocobase/app-plugin-file@1.0.0-beta.19
|
|
136
|
+
- @nocobase/i18n@1.0.0-beta.5
|
|
137
|
+
- @nocobase/repository-input@0.1.0-beta.2
|
|
138
|
+
- @nocobase/service-provider@0.0.2-beta.1
|
|
139
|
+
|
|
140
|
+
## 0.0.1
|
|
141
|
+
|
|
142
|
+
### Patch Changes
|
|
143
|
+
|
|
144
|
+
- Add the initial plugin scaffold.
|
package/README.md
CHANGED
|
@@ -1,3 +1,310 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @nocobase/app-plugin-projects
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Projects, issues, workflows, labels and members for a NocoBase application.
|
|
4
|
+
|
|
5
|
+
## What it provides
|
|
6
|
+
|
|
7
|
+
- **Members**: every signed-in user who opens the API becomes a member, and the application gives them its default
|
|
8
|
+
role for new members (`ProjectsAccess.admit`).
|
|
9
|
+
- **Access, declared**: the pages, settings items and business actions with the levels each offers
|
|
10
|
+
(`shared/access.ts`). The plugin registers its settings items and its businesses (the `pm` resource type, one action
|
|
11
|
+
per level: `edit.related`, `edit.all`); the application that assembles it keeps the roles and
|
|
12
|
+
binds `projectsAccessToken` (`server/tokens.ts`), which tells the plugin each request's `Permissions`, admits new
|
|
13
|
+
members and names the administrators. The assembling application does this in `server/access`.
|
|
14
|
+
- **Invitations**: sent by the user management plugin; an invitation from the member settings carries projects, and
|
|
15
|
+
the invitee joins them on acceptance.
|
|
16
|
+
- **Settings**: the issue identifier prefix (`PM` by default). Issue numbers come from one workspace-wide counter.
|
|
17
|
+
- **Labels**: a shared label list.
|
|
18
|
+
- **Kinds**: who acts on issues or is named in them. `user` (people) and `system` (the plugin's own rules) are built
|
|
19
|
+
in; another plugin registers more through `projectsKindsToken` (`server/kernel/kinds.ts`): a key, a title, how its
|
|
20
|
+
ids are named, whether it may execute issues (and who may give it work), whether it may be mentioned, and which
|
|
21
|
+
moves a workflow may let it make. Executors, activity, mentions, checklist checkers, approval requesters and
|
|
22
|
+
workflow transitions name a kind by its key; the browser reads the list from `GET /api/projects/me` (`kinds`). A kind may
|
|
23
|
+
also do work (`work`, an `IssueWorkHandler`, `server/kernel/work.ts`): unless a plugin binds `projectsTriggersToken`,
|
|
24
|
+
every change, comment and release is handed, in its transaction, to the work handler of each kind it concerns (the
|
|
25
|
+
executor before and after, the kinds a comment mentions or answers), which answers what it started (`RunAttempt[]`;
|
|
26
|
+
`collectRunAttempts` gathers them around a call). A handler asks `projects.subtasks.blockersOf` whether the issue
|
|
27
|
+
waits for unfinished issues and then starts nothing (`skipped: 'blocked'`); it starts nothing either for an issue in
|
|
28
|
+
backlog (`BACKLOG_STATUS`, `skipped: 'dormant'`). When a new `blockedBy` holds the issue, every kind's
|
|
29
|
+
`onBlocked` withdraws the work it had not taken up yet. These skips and withdrawals are recorded on the issue's
|
|
30
|
+
activity as the principal's (`work_skipped`, `work_withdrawn`, with the issues it waits for). It may name the business actions a principal of the kind may be
|
|
31
|
+
given at most (`actions`) and describe executors for a picker (`executor.describe`). `projects.issueContext`
|
|
32
|
+
(`IssueContextProvider`) reads an issue as such an executor needs it, on the caller's connection. When a principal
|
|
33
|
+
can no longer take work (an agent archived or deleted), its plugin's assembler calls
|
|
34
|
+
`projects.issues.releaseExecutor(executor, { actor, name })`: every live, unfinished issue it executes is left with
|
|
35
|
+
no executor, recorded as `executor_changed` with `reason: 'executorRemoved'` and the executor's name ("Executor X was
|
|
36
|
+
removed" on the timeline), and handed to the triggers like any change of executor.
|
|
37
|
+
- **Workflows**: the statuses of a project's issues and which kinds may move an issue between them. Every workflow
|
|
38
|
+
keeps the nine built-in statuses (backlog, todo, analysis, proposal review, in progress, in review, blocked, done,
|
|
39
|
+
cancelled); it may rename and recolour them, add its own and restrict the moves. A project picks one; a project without one, and an issue without a project, use the default workflow. The
|
|
40
|
+
plugin ships no workflow: until one is the default, they use the built-in statuses, people move freely and the
|
|
41
|
+
system closes merged work. Workflows are edited in the app (`/config/workflows`, "Workflow templates"). A
|
|
42
|
+
status may carry rules run when an issue enters it: a checklist the issue must complete before moving on (except to
|
|
43
|
+
a closed status), and a notification to the issue's owner. A move may need an approval by the issue's owner, the
|
|
44
|
+
project lead or an admin: it waits as a request until one of them approves it (the issue moves) or rejects it.
|
|
45
|
+
- **Contributed status rules and templates**: other plugins add status rule types through `projectsStatusRulesToken`
|
|
46
|
+
(a key, settings validation, what entering the status does in the move's transaction, and a sentence for change
|
|
47
|
+
summaries) and workflows that use them through `projectsWorkflowTemplatesToken` (installed once each; a template
|
|
48
|
+
with `makeDefault` becomes the default when none is). The plugin installs templates in the background from its
|
|
49
|
+
`boot()` and awaits `templates.installed()` in its `ready()`, so the application serves no request before the
|
|
50
|
+
templates added while the plugins booted are workflows; code that needs them earlier awaits `installed()` itself. The
|
|
51
|
+
plugin's own types (`checklist`, `notifyOwner`, `subtasksDone`, `blockersDone`, `startOption`) follow the same contract
|
|
52
|
+
(`server/domains/workflows/built-in-rule-types.ts`) and are looked up in the same registry, in front of the
|
|
53
|
+
contributed ones; `projects.statusRules.list()` lists both. In the browser, `StatusRuleTypesContext` (`client/kit`)
|
|
54
|
+
gives each contributed type its title and hint, the categories it may sit on, its group in the editor's "Add rule"
|
|
55
|
+
menu (`action`, the default, or `condition`), an icon, the settings a new rule starts with, a settings editor and a
|
|
56
|
+
one-line summary; the plugin describes its own types the same way (`client/lib/built-in-rule-types.ts`), and the
|
|
57
|
+
editor has no case of its own for any type. The rules dialog lists the rules a status has as cards, collapsed to
|
|
58
|
+
their title and summary, and adds one from the menu ("When entering", "Entry conditions", "Automatic moves");
|
|
59
|
+
`PmExpandableTextarea` (`client/kit`) is the compact text area for long settings such as an instruction. A rule
|
|
60
|
+
whose plugin is gone stays in the definition: the editor shows it as unavailable and entering the status skips it.
|
|
61
|
+
`POST /api/projects/workflows/{workflowId}/preview` lists what saving a definition would change in the rules, and which rules wake
|
|
62
|
+
someone without anybody confirming it. A contributed type may also hold an entry condition (`canEnter`): every move
|
|
63
|
+
into a status carrying it asks it first, whoever moves (a person, an agent, a plan, an applied approval, the system
|
|
64
|
+
on an event), and a refusal is 400 with the type's own code. An exit condition (`canLeave`) is asked the same way
|
|
65
|
+
before an issue leaves a status carrying the rule.
|
|
66
|
+
- **Contributed workflow events and issue marks**: other plugins register workflow events through
|
|
67
|
+
`projectsWorkflowEventsToken` (a dotted key such as `acme.merged`, and the status categories a transition on it may
|
|
68
|
+
leave and enter) and fire one for a batch of issues with `projects.workflowEvents.fire({ event, issueIds, actor?,
|
|
69
|
+
note?, details? }, tx?)`: each issue moves along its workflow's `on` transition, as the system, and the activity names
|
|
70
|
+
`actor`. `projects.workflowEvents.target(event, issueId)` says where firing it would take one issue without moving it
|
|
71
|
+
(for a confirmation that says what an action will do). The plugin never knows what an event means. A transition on an event whose plugin is gone stays in the
|
|
72
|
+
definition and shows as unavailable. In the browser, `WorkflowEventsContext` (`client/kit`) titles the events for the
|
|
73
|
+
editor and the timeline. The issues pages show the list and the board, the board by default.
|
|
74
|
+
- **Ways to start an issue**: a status carrying a `startOption` rule (with an optional label and hint, text or i18n
|
|
75
|
+
keys) is offered by the New issue form as a process to start in, such as "Design first" on Analysis or "Straight to
|
|
76
|
+
development" on Todo; `GET /api/projects/issues/starts?projectId=` lists them, the workflow's initial status first, and
|
|
77
|
+
nothing while no status carries the rule (the form then shows no choice). `POST /api/projects/issues` takes the choice as
|
|
78
|
+
`statusKey`.
|
|
79
|
+
- **Projects**: a lead, members, visibility (`workspace` or `members`), status, dates and linked resources.
|
|
80
|
+
- **Issues**: an owner, an executor (nobody, a member, or a principal of another registered kind), a status from the
|
|
81
|
+
project's workflow, priority, dates, a parent, labels and an activity history. Admins can soft-delete and restore.
|
|
82
|
+
- **Sub-issues and dependencies**: a sub-issue may have a stage (0–1000); a later stage waits until every earlier
|
|
83
|
+
stage of its siblings is finished (done or closed). An issue may be blocked by others; a link that would make issues
|
|
84
|
+
wait for each other in a cycle is refused. When an issue finishes, the issues waiting only on it are released (their
|
|
85
|
+
executor, or with nobody working on them their owner, is told), and the parent's owner is told when a stage or all
|
|
86
|
+
sub-issues are finished. A workflow may move the parent then: a transition with `on: 'subtasks.done'` and the
|
|
87
|
+
`system` actor. A status may also refuse issues whose sub-issues are open (`subtasksDone`) or that are blocked
|
|
88
|
+
(`blockersDone`). A project may have a setup issue (`Project.setupIssueId`, an issue created with
|
|
89
|
+
`projectSetup: true` by someone who manages the project, one unfinished at a time): every issue created in the
|
|
90
|
+
project after it, except its own sub-issues, is created blocked by it until it is finished. `IssueTriggers` (`onUnblocked`, `onBlocked`, `onSubtasksFinished`) let other plugins react, and
|
|
91
|
+
`subtasks.visibleBlockers(viewer, issueIds)` tells another plugin's board what holds each issue now, in a fixed number
|
|
92
|
+
of reads, leaving out what the viewer may not see.
|
|
93
|
+
- **Comments**: threads (a root and its flat replies) in Markdown with mentions (`[@Name](mention://<kind>/<id>)`),
|
|
94
|
+
reactions from a fixed emoji set, resolvable threads, edits and soft deletion by their author, and deletion by a
|
|
95
|
+
moderator. A comment starting with `/note` starts no work. Another plugin writes its own comment kinds through
|
|
96
|
+
`projects.comments.post` (`CommentWriter`) and reacts to new comments through `projectsTriggersToken`
|
|
97
|
+
(`IssueTriggers.onCommentCreated`, answering whom it woke). Writing a comment touches the issue's last activity
|
|
98
|
+
without changing its `revision`, so an open edit of the issue does not conflict.
|
|
99
|
+
- **Attachments** (`shared/attachments.ts`, `server/domains/attachments/`): files on an issue (its own) or sent with a
|
|
100
|
+
comment, any type, up to 20 MiB each, stored through the file plugin (`@nocobase/app-plugin-file`) on the App's
|
|
101
|
+
default Drive disk. A file starts as an upload of its uploader's attached to nothing (a person, or an agent working
|
|
102
|
+
on an issue as its own principal) and is attached in the transaction of the change that takes it: an upload onto
|
|
103
|
+
the issue, a comment's `attachmentIds`, or an executed intake plan, whose files go to the issues it created. Whoever
|
|
104
|
+
sees the issue reads its files; the plugin serves them itself, after that check, with safe images inline and
|
|
105
|
+
everything else as a download (`nosniff`, a sandbox CSP, `private, no-store`). Uploading needs `pm.attachments`
|
|
106
|
+
`upload`; the uploader or someone who moderates the issue's comments removes an issue's file, and a comment's files
|
|
107
|
+
go with the comment. Uploads attached to nothing for 24 hours and deleted comments' files are purged every hour.
|
|
108
|
+
Another plugin reads and stores files through `projects.attachments` (`AttachmentService`); in the browser, the App
|
|
109
|
+
shows and previews them on its own issue page.
|
|
110
|
+
- **Followers**: an issue's creator, owner, people executing it, commenters and those mentioned follow it; anyone who
|
|
111
|
+
sees it may follow or unfollow.
|
|
112
|
+
- **Notices**: the plugin plans who to tell inside the change's transaction (`server/domains/notices/`: comments,
|
|
113
|
+
mentions, status changes, owner and executor assignments, with rules other plugins add through
|
|
114
|
+
`projectsNoticeRulesToken`), drops the actor and lower-priority duplicates, and sends after commit only to those who
|
|
115
|
+
may still see the issue (`ProjectsAccess.permissionsOfUser`). Information about the same thing carries a `group`
|
|
116
|
+
so an inbox can merge it.
|
|
117
|
+
- **Batch reads for boards**: `issueQueries.matching(viewer, query, { executorType?, issueIds?, limit? })` answers, in
|
|
118
|
+
a fixed number of reads, the viewer's issues within the list's filters that an executor of a kind works on (unless
|
|
119
|
+
finished) or that are among the ids given (whatever their status), with `truncated` past the limit;
|
|
120
|
+
`approvals.pendingOn(issueIds)` the pending approval requests on them, and `subscriptions.followedBy(conn, userId,
|
|
121
|
+
issueIds)` those of them a person follows. An application's board of work joins its own records to issues with
|
|
122
|
+
them, without a query per issue.
|
|
123
|
+
- **Operation plans** (`shared/plans.ts`, `server/domains/plans/`): a short list of changes (create or update an
|
|
124
|
+
issue, comment, add or remove a dependency, create a project; 1–50 rows, later rows may refer to what earlier ones
|
|
125
|
+
create) that one person, the decider, reviews and executes as a whole. Creating, editing and retrying a plan
|
|
126
|
+
rehearse it: every row runs as the decider in one transaction that always rolls back (a savepoint per row), the
|
|
127
|
+
triggers only report whom they would wake (`Tx.rehearsal`, `kernel/work.ts`) and nothing is announced; each row
|
|
128
|
+
gets its errors, wakes, risk flags and the baseline of its target. Execution is one transaction as the person who
|
|
129
|
+
clicks; a target changed since the rehearsal makes the plan `stale` and nothing is applied. An executed plan can be
|
|
130
|
+
undone for 24 hours in one step: a preview (`previewUndo`) lists the reverse rows and what they leave alone because
|
|
131
|
+
someone changed it since, and undoing applies them at once in one transaction; no other plan is created. The plan
|
|
132
|
+
card shows and decides a plan wherever the application places it (for example, in the conversation that proposed it); the
|
|
133
|
+
plugin lists plans nowhere of its own. Changes
|
|
134
|
+
made through a plan, or by an agent for a person (`Actor.via = 'agent'` with its trace), show on the timeline as
|
|
135
|
+
"via ‹Agent›" or "via ‹Agent›'s plan" (`Activity.via`). Other plugins use `projects.plans` (`PlanService`) and hear
|
|
136
|
+
decisions through `projectsPlanHooksToken` (`PlanHooks.onPlanDecided`). A plan is visible to its decider and, for a
|
|
137
|
+
status rule's plan about an issue, to the issue's owner and editors.
|
|
138
|
+
- **Intake with AI** (`shared/intake-ai.ts`, `server/domains/plans/intake/intake.ai.*`): as the old NocoProject, AI
|
|
139
|
+
splits requirements into drafts ("AI split"), revises the drafts by one instruction ("Ask AI to revise", with the
|
|
140
|
+
rows it added or changed highlighted and an undo), and breaks an issue down into sub-issue drafts ("AI breakdown" on
|
|
141
|
+
the issue page). The plugin runs no model: the application binds an organiser (`projectsIntakeOrganizerToken`,
|
|
142
|
+
`IntakeOrganizer`), which is handed each request's task (`IntakeAiTask`, worded for any runtime by
|
|
143
|
+
`intakeAiInstructions` and `intakeAiMaterial`) and answers later with `projects.intakeAi.deliver` (the drafts) or
|
|
144
|
+
`ended`. A request is a job (`pmIntakeJobs`) the page follows (`progress`: queued and why, or the organiser's newest
|
|
145
|
+
activity) and the person may cancel. Delivered drafts become a pending intake plan the person decides, rehearsed with
|
|
146
|
+
their own permissions, in place of the draft the request was made on; AI never creates an issue. Asking needs
|
|
147
|
+
`pm.issues` `create`; without an organiser the AI draft tab offers the rule split only. an application's organiser is an agent
|
|
148
|
+
run on a runner (`server/agents/intake/`).
|
|
149
|
+
|
|
150
|
+
## Server API
|
|
151
|
+
|
|
152
|
+
Everything is under `/api/projects` and needs a session (401 otherwise). Responses are `{ data }`, lists `{ data, meta }`; inputs are validated (400 `INVALID_INPUT`, domain `app`, with `fieldViolations`; JSON bodies are strict). Fixed segments come before `/{projectId}`.
|
|
153
|
+
|
|
154
|
+
| Method and path | What it does |
|
|
155
|
+
| ---------------------------------------------------------------------------------- | ----------------------------------------------------------- |
|
|
156
|
+
| `GET /me` | The caller with their permissions |
|
|
157
|
+
| `GET /members`, `GET /apiKeyActors`, `GET /executors` | Active members; API key identities; other executors |
|
|
158
|
+
| `GET /mentionCandidates?q&issueId&pageSize` | The `@` list: every mentionable kind's candidates |
|
|
159
|
+
| `GET/POST /invitations`, `POST …/{invitationId}/resend`, `DELETE …/{invitationId}` | Member invitations |
|
|
160
|
+
| `GET /settings`, `PATCH /settings` | Workspace settings |
|
|
161
|
+
| `GET/POST /labels`, `PATCH/DELETE /labels/{labelId}` | Labels |
|
|
162
|
+
| `GET/POST /workflows`, `GET/PATCH/DELETE /workflows/{workflowId}` | Workflows; a new one is a copy (`copyFrom`) |
|
|
163
|
+
| `POST /workflows/{workflowId}/preview` | What saving a definition would change |
|
|
164
|
+
| `POST /workflows/{workflowId}/setDefault` | Makes a workflow the default |
|
|
165
|
+
| `GET/POST /` , `GET/PATCH/DELETE /{projectId}` | Projects |
|
|
166
|
+
| `POST /{projectId}/members`, `DELETE …/members/{userId}` | Project members (201 the member added; 204) |
|
|
167
|
+
| `POST /{projectId}/resources`, `PATCH/DELETE …/resources/{resourceId}` | Project resources |
|
|
168
|
+
| `GET /issues?…&orderBy&pageSize&pageToken` | A page of issues, cursor-paginated |
|
|
169
|
+
| `GET /issues/board` | The board: a column per status, each a first page |
|
|
170
|
+
| `GET /issues/statuses`, `GET /issues/starts` | A workflow's statuses; the ways to start an issue |
|
|
171
|
+
| `POST /issues`, `GET/PATCH/DELETE /issues/{issueId}` | Issues, by id or identifier (`PM-12`) |
|
|
172
|
+
| `POST /issues/{issueId}/restore` | Restores a deleted issue |
|
|
173
|
+
| `GET /issues/{issueId}/activities?pageSize&pageToken` | Older activities |
|
|
174
|
+
| `GET/POST /issues/{issueId}/comments` | Older comment threads; posts a comment or reply |
|
|
175
|
+
| `PATCH/DELETE /comments/{commentId}` | Edits or deletes a comment |
|
|
176
|
+
| `POST /comments/{commentId}/react`, `…/unreact` | Adds or removes the caller's reaction (`{ emoji }`) |
|
|
177
|
+
| `POST /comments/{commentId}/resolve`, `…/unresolve` | Resolves or reopens a thread (on its root) |
|
|
178
|
+
| `POST /issues/{issueId}/subscribe`, `…/unsubscribe` | Follows or unfollows the issue |
|
|
179
|
+
| `GET/POST /issues/{issueId}/attachments` | The issue's own files; uploads one onto it |
|
|
180
|
+
| `POST /attachments` | Uploads one file, attached to nothing yet |
|
|
181
|
+
| `GET /attachments/{attachmentId}`, `…/content`, `DELETE` | A file, its bytes (`?download=true`), removing it |
|
|
182
|
+
| `GET /issues/{issueId}/checklists` | Every checklist the issue has had |
|
|
183
|
+
| `PATCH /issues/{issueId}/checklists/{statusKey}/items/{itemKey}` | Checks or unchecks an item (`{ checked }`) |
|
|
184
|
+
| `POST /issues/{issueId}/dependencies` | Adds a link (`{ dependsOnIssueId, type }`) |
|
|
185
|
+
| `DELETE /issues/{issueId}/dependencies/{dependencyId}` | Removes a link |
|
|
186
|
+
| `POST /issues/{issueId}/removeDependency` | Removes the link to an issue (`{ dependsOnIssueId, type }`) |
|
|
187
|
+
| `GET /approvals` | Status changes waiting for the caller's approval |
|
|
188
|
+
| `POST /approvals/{approvalId}/approve`, `…/reject` | An approver decides (`{ comment? }`) |
|
|
189
|
+
| `POST /approvals/{approvalId}/withdraw` | Whoever asked withdraws the request |
|
|
190
|
+
| `POST /plans/rehearse` | Rehearses a plan and stores nothing |
|
|
191
|
+
| `GET/POST /plans`, `GET/PATCH /plans/{planId}` | Operation plans: list, create, read, edit rows |
|
|
192
|
+
| `POST /plans/{planId}/execute`, `…/retry`, `…/void` | Decides a plan (`{ revision }`) |
|
|
193
|
+
| `POST /plans/{planId}/undo` | `{ dryRun: true }` previews undoing; else undoes |
|
|
194
|
+
| `POST /intake/files`, `DELETE /intake/files/{fileId}` | The caller's intake uploads |
|
|
195
|
+
| `POST /intake/split`, `POST /intake/extractTexts` | The rule split; the uploads' text |
|
|
196
|
+
| `GET /intake/aiAvailability` | Whether AI can be asked |
|
|
197
|
+
| `POST /intake/aiJobs`, `GET …/{jobId}`, `POST …/{jobId}/cancel` | A request to AI; cancelling it |
|
|
198
|
+
|
|
199
|
+
Cursor lists (issues, activities, comment threads, plans) take `pageSize` (20 by default, at most 100; plans 50) and `pageToken`, and answer `meta.nextPageToken` until the last page. `orderBy` on issues is `updatedAt`, `createdAt`, `number` or `priority`, optionally followed by `asc` or `desc` (`updatedAt desc` by default). The other lists are answered whole with `meta.total`. A scoped API key may not use `/intake` or `/plans` (403 `SCOPED_KEY_FORBIDDEN`).
|
|
200
|
+
|
|
201
|
+
Errors are the standard error body with domain `projects`; clients branch on `reason`, and `metadata` carries the details. A missing resource the URL names is 404 `<RESOURCE>_NOT_FOUND` (such as `ISSUE_NOT_FOUND`); a project or issue named in the query that does not exist is 400 with a field violation. `PATCH /issues/{issueId}` and `PATCH /workflows/{workflowId}` need the `revision` the caller read; a stale one is 409 `ABORTED` `REVISION_CONFLICT`. An invalid workflow is 400 `INVALID_WORKFLOW` with every problem in `metadata.issues` (`{ path: 'states[3].key', message }`). A change that would leave an issue in a status its workflow no longer has (editing a workflow, switching a project's, choosing another default) is 400 `FAILED_PRECONDITION` `WORKFLOW_STATUS_CONFLICT` with the count per status and project in `metadata.conflicts`. `PATCH /issues/{issueId}` answers `{ data: { issue, pendingApproval } }`: 200 with `pendingApproval: null` once applied, or 202 with the request when the status change waits for approval, applying nothing else of the request; another request for the same issue is 400 `APPROVAL_PENDING`. A dependency that would close a cycle is 400 `DEPENDENCY_CYCLE` (`metadata.via`), one too deep to check 400 `DEPENDENCY_TOO_DEEP`, a duplicate 409 `ALREADY_EXISTS` `DEPENDENCY_EXISTS`; entering a status that waits for sub-issues or blockers is 400 `FAILED_PRECONDITION` `SUBTASKS_OPEN` or `ISSUE_BLOCKED`. A plan with a failing row is 400 `PLAN_INVALID` with every row's check in `metadata.rows`; deciding a plan that is not open is 400 `PLAN_NOT_OPEN`, an expired one 400 `PLAN_EXPIRED`; undoing after the window is 400 `UNDO_EXPIRED`, with nothing left to revert 400 `NOTHING_TO_UNDO`, and when something changed since the preview 409 `ABORTED` `UNDO_STALE`. Other refusals by state are 400 `FAILED_PRECONDITION` too.
|
|
202
|
+
|
|
203
|
+
## Workflows and the lifecycle module
|
|
204
|
+
|
|
205
|
+
`server/lifecycle/` is a self-contained state machine for records, with no import from the domains, so it can become
|
|
206
|
+
a platform package: a definition as data (states with a category, transitions `from → to` naming who may take them,
|
|
207
|
+
`*` for any state, and event transitions `on` an event the definition lists, which only `fire` takes), `validateDefinition` (paths for every problem, plus rules the application passes in), `compile`
|
|
208
|
+
(the questions the application asks) and `move`, the one path through which a state changes. It runs in the
|
|
209
|
+
caller's unit of work, in order: who may (the actor on the transition, and a registered "who may" rule over the record),
|
|
210
|
+
the guards of the state left and the state entered, an approval when a transition needs one, the caller's write, and
|
|
211
|
+
the entry actions, each in its own savepoint. Rules are registered by name (`createLifecycleRegistry`: state rules,
|
|
212
|
+
"who may" rules, approvers); a definition names them with their settings, and validation checks both.
|
|
213
|
+
`server/domains/workflows/` stores the definitions and adds this plugin's rules: `workflow.rules.ts` (the built-in
|
|
214
|
+
statuses, each transition within what its kinds allow, people able to leave every status, one rule of a kind per
|
|
215
|
+
status) and
|
|
216
|
+
`workflow.registry.ts` (every status rule type, built in or contributed, as a lifecycle state rule, and the approvers
|
|
217
|
+
`owner`, `projectLead`, `admin`). When several transitions match a move (`* → *` and `in_review → done`), the move
|
|
218
|
+
takes them all, and needs an approval when any of them does; a move on an event never waits for one.
|
|
219
|
+
`server/domains/approvals/` keeps the requests; a request has its own lifecycle in code (pending → approved, rejected,
|
|
220
|
+
withdrawn or stale, each decision a transition with a "who may" rule). Approving moves the issue as the requester's
|
|
221
|
+
move, checked again; when it no longer passes, the request goes stale. Notices (`server/providers/notifications.ts`:
|
|
222
|
+
the owner told, approvers asked to decide, the requester told the outcome) go to `projectsNoticesToken` when the App
|
|
223
|
+
binds it (`ProjectsNotices`: `send` each notice with its kind, type, issue and approval request; `resolve` a decision
|
|
224
|
+
once its request is decided) — the assembling application keeps its inbox that way. A request another kind (an agent) made tells the
|
|
225
|
+
issue's owner its outcome instead of the requester; an approved request that no longer applies (its conditions failed
|
|
226
|
+
when it was approved) tells the approvers and whoever asked, except the approver (`approval_stale`). The issue page lists
|
|
227
|
+
the last five decided requests (`IssueDetail.recentApprovals`). Without it they go straight to the notification
|
|
228
|
+
plugin's in-app channel `projects.inboxChannel` names (`inbox` by default) when that channel is configured.
|
|
229
|
+
|
|
230
|
+
## Permissions
|
|
231
|
+
|
|
232
|
+
What can be granted (`shared/access.ts`); the application stores and assigns the roles that hold it:
|
|
233
|
+
|
|
234
|
+
| Kind | Id | Actions or levels |
|
|
235
|
+
| ---------------- | ------------------------------------------ | --------------------------------------------------------- |
|
|
236
|
+
| Business actions | `pm.projects` | `view`, `create`, `manage`, `delete` |
|
|
237
|
+
| Business actions | `pm.issues` | `view`, `create`, `edit`, `comment`, `moderate-comments`, |
|
|
238
|
+
| | | `close`, `change-owner`, `delete` |
|
|
239
|
+
| Business actions | `pm.attachments` | `upload` |
|
|
240
|
+
| Settings items | `pm.general`, `pm.labels`, `pm.workflows` | `read`, `update` |
|
|
241
|
+
| Settings items | `pm.members` | `read`, `invite`, `assign`, `define-roles` |
|
|
242
|
+
| Pages | `pm-my-issues`, `pm-issues`, `pm-projects` | `access` |
|
|
243
|
+
|
|
244
|
+
Each business action reaches none, related or all records, granted as the action of its level on the `pm` resource
|
|
245
|
+
type (`levelActionsOf`: `edit.related`, `edit.all`; an action without related records as itself; `RELATIONS`: projects the user can see or leads,
|
|
246
|
+
issues in those projects or owned by them); the services read the level from the request's `Permissions` and apply
|
|
247
|
+
the related rules themselves. Creating an issue needs `create`, which `edit` does not imply; creating a label while
|
|
248
|
+
editing an issue still needs `pm.labels` `update`. Commenting, replying and resolving threads need `comment` (related:
|
|
249
|
+
the issues one sees); authors edit and delete their own comments; deleting someone else's needs `moderate-comments`
|
|
250
|
+
(related: issues one owns or whose project one leads). Reacting, following and reading files need only seeing the issue; uploading a file needs `pm.attachments` `upload` (related: the issues one sees) besides `edit` (onto the issue) or `comment` (with a comment). Pages are granted on their own: a role may act through the API on
|
|
251
|
+
what it has no page for.
|
|
252
|
+
|
|
253
|
+
The plugin seeds no roles: the application that assembles it seeds its own (the assembling application:
|
|
254
|
+
`database/main/seeds/202610010022_acme_roles.ts`).
|
|
255
|
+
|
|
256
|
+
## Pages
|
|
257
|
+
|
|
258
|
+
| Path | What it shows |
|
|
259
|
+
| ------------------------------------- | ----------------------------------------------------------- |
|
|
260
|
+
| `/my-issues/owned`, `executing` | The viewer's issues, as owner or executor |
|
|
261
|
+
| `/issues` (`?view=board` or `list`) | Every visible issue; filters, search and order in the URL |
|
|
262
|
+
| `/issues/new` (`?tab=ai` or `manual`) | The New issue dialog: AI draft (intake) or one issue |
|
|
263
|
+
| `/issues/new?tab=ai&job=:id` | The AI draft tab following a request to AI |
|
|
264
|
+
| `/issues/:id`, `/issues/plans/:id` | One issue, by id or identifier; one plan, by its id |
|
|
265
|
+
| `/projects`, `/projects/new` | Projects; a new one (a project's page is the application's) |
|
|
266
|
+
|
|
267
|
+
As the old NocoProject had it, My issues has "I own" and "I execute" only, and the New issue dialog opens on its "AI
|
|
268
|
+
draft" tab (the last tab used is remembered in the browser): requirements typed or uploaded are split into a draft of
|
|
269
|
+
issues, edited row by row and created together, after which the dialog closes. Its manual tab offers the workflow's ways
|
|
270
|
+
to start an issue as its process. A change that would start an executor of another kind working asks "Start now?"
|
|
271
|
+
first, as the old NocoProject asked: giving an agent the issue (on creation, a sub-issue, or in the properties) or
|
|
272
|
+
moving an issue it executes out of backlog (a status change or a board drag). Nothing starts in backlog or a finished
|
|
273
|
+
status, so a change landing there asks nothing. Approvals are decided on the issue
|
|
274
|
+
page and wherever the application sends their notices (for example, its inbox).
|
|
275
|
+
|
|
276
|
+
The settings pages are exported for the application to route under its own `/config` (`client/config.ts`: the issue
|
|
277
|
+
prefix, labels, workflows and one workflow), and components it reuses on its member pages are exported from
|
|
278
|
+
`client/kit.ts`. The application routes an issue's page itself and presents it (for example, with the UI Library's
|
|
279
|
+
`issue-detail`, `comment-thread` and `attachment-list`) over the headless parts in `client/issues.ts`: the issue
|
|
280
|
+
(`useIssueDetail`), its property changes (`useIssueUpdate`, and `useConfirmedUpdate` for "Start now?"), every other
|
|
281
|
+
change of the page (`useIssuePageActions`), the activity line (`useIssueTimeline`, `useIssueCommentActions`,
|
|
282
|
+
`useMentionSearch`, `useAttachmentUploads`), "Break into sub-issues" (`useIntakeBreakdown`), and the permission and
|
|
283
|
+
wording helpers. It routes a project's page the same way, as a child of the plugin's `/projects` (`projectsRoute` from
|
|
284
|
+
`client/pages`), over the headless parts in `client/projects.ts`: the project with its statuses and workflow
|
|
285
|
+
(`useProjectDetail`, `useProjectStatuses`, `useProjectWorkflow`), its property changes (`useProjectUpdate`), members and
|
|
286
|
+
visibility (`useProjectMembership`), working directories (`useProjectResources`, `useResourceValidation`), deleting it
|
|
287
|
+
(`useDeleteProject`), and the progress, numbers and permission helpers. The pages are behind the `pm-my-issues`, `pm-issues` and `pm-projects` page grants. They hide
|
|
288
|
+
what the server would refuse (`client/lib/permissions.ts` mirrors its rules); the server still checks every request.
|
|
289
|
+
Open pages refresh when the server announces a change on the `pm:changes` realtime topic.
|
|
290
|
+
|
|
291
|
+
## Layout
|
|
292
|
+
|
|
293
|
+
- `shared/`: types and constants the server and the client share.
|
|
294
|
+
- `server/kernel/`: infrastructure with no business rules (errors, events, transactions, pagination, validation).
|
|
295
|
+
- `server/access/`: how a request becomes a `Viewer` with resolved permissions.
|
|
296
|
+
- `server/lifecycle/`: the record state machine behind workflows (see above).
|
|
297
|
+
- `server/domains/<name>/`: one folder per domain: `*.store.ts` (tables), `*.access.ts` (who sees what),
|
|
298
|
+
`*.service.ts` (writes), `*.routes.ts` (HTTP), `index.ts` (the domain's public surface).
|
|
299
|
+
- `server/composition.ts`: wires the domains; `server/providers/` registers them with the app.
|
|
300
|
+
- `client/api/`: the typed `/api/projects` client and the query keys; `client/hooks/`, `client/lib/`: the viewer, notices,
|
|
301
|
+
permissions, statuses and formatting the pages share.
|
|
302
|
+
- `client/components/`: `ui/` holds shadcn primitives (registry output, not edited by hand); `pm-*` are this plugin's
|
|
303
|
+
own components.
|
|
304
|
+
- `client/pages/<area>/`: one folder per page area.
|
|
305
|
+
|
|
306
|
+
## Verification
|
|
307
|
+
|
|
308
|
+
```bash
|
|
309
|
+
pnpm --filter @nocobase/app-plugin-projects check
|
|
310
|
+
```
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The browser API of `/api/projects`, typed with the server's `shared/` contracts. One method per endpoint; responses
|
|
3
|
+
* are unwrapped from `{ data }`, and cursor lists become a `Page` whose `nextCursor` is the next `pageToken`. Failures
|
|
4
|
+
* throw `ApiClientError` (status, reason, message).
|
|
5
|
+
*/
|
|
6
|
+
import type { ApiClient } from '@nocobase/app-client';
|
|
7
|
+
import type { Page } from '../../shared/common.js';
|
|
8
|
+
import type { ApprovalRequest } from '../../shared/approvals.js';
|
|
9
|
+
import type { Attachment } from '../../shared/attachments.js';
|
|
10
|
+
import type { IssueChecklist, UpdateChecklistItemRequest } from '../../shared/checklists.js';
|
|
11
|
+
import { type CommentReaction, type CreateCommentRequest, type CreateCommentResult, type IssueComment, type MentionCandidate, type ThreadPage, type ThreadResolution } from '../../shared/comments.js';
|
|
12
|
+
import type { CreateInvitationsRequest, Invitation, InvitationResult } from '../../shared/invitations.js';
|
|
13
|
+
import { type ActivityPage, type CreateIssueRequest, type Issue, type IssueBoard, type IssueStarts, type IssueDetail, type IssueListItem, type IssueListQuery, type StatusDefinition, type UpdateIssueRequest, type UpdateIssueResult } from '../../shared/issues.js';
|
|
14
|
+
import type { CreateLabelRequest, Label, UpdateLabelRequest } from '../../shared/labels.js';
|
|
15
|
+
import type { ExecutorCandidate } from '../../shared/kinds.js';
|
|
16
|
+
import type { ApiKeyActor, Me, Member } from '../../shared/members.js';
|
|
17
|
+
import type { CreateProjectRequest, CreateProjectResourceRequest, ProjectDetail, ProjectListItem, ProjectResource, UpdateProjectRequest, UpdateProjectResourceRequest } from '../../shared/projects.js';
|
|
18
|
+
import type { UpdateSettingsRequest, WorkspaceSettings } from '../../shared/settings.js';
|
|
19
|
+
import type { AddDependencyRequest, IssueDependency } from '../../shared/subtasks.js';
|
|
20
|
+
import type { UserRef } from '../../shared/common.js';
|
|
21
|
+
import type { SubscriptionState } from '../../shared/subscriptions.js';
|
|
22
|
+
import type { CreateWorkflowRequest, UpdateWorkflowRequest, WorkflowDefinition, WorkflowListItem, WorkflowPreview } from '../../shared/workflows.js';
|
|
23
|
+
export declare class PmApi {
|
|
24
|
+
private readonly api;
|
|
25
|
+
constructor(api: ApiClient);
|
|
26
|
+
me(): Promise<Me>;
|
|
27
|
+
members(): Promise<Member[]>;
|
|
28
|
+
/** Organizations' API keys, by their identities: not members, but named where they acted. */
|
|
29
|
+
apiKeyActors(): Promise<ApiKeyActor[]>;
|
|
30
|
+
/** Executors of other kinds (agents, say) the signed-in user may give work to. */
|
|
31
|
+
executors(): Promise<ExecutorCandidate[]>;
|
|
32
|
+
invitations(): Promise<Invitation[]>;
|
|
33
|
+
invite(input: CreateInvitationsRequest): Promise<readonly InvitationResult[]>;
|
|
34
|
+
resendInvitation(invitationId: string): Promise<InvitationResult>;
|
|
35
|
+
revokeInvitation(invitationId: string): Promise<void>;
|
|
36
|
+
settings(): Promise<WorkspaceSettings>;
|
|
37
|
+
updateSettings(input: UpdateSettingsRequest): Promise<WorkspaceSettings>;
|
|
38
|
+
labels(): Promise<Label[]>;
|
|
39
|
+
createLabel(input: CreateLabelRequest): Promise<Label>;
|
|
40
|
+
updateLabel(labelId: string, input: UpdateLabelRequest): Promise<Label>;
|
|
41
|
+
deleteLabel(labelId: string): Promise<void>;
|
|
42
|
+
workflows(): Promise<WorkflowListItem[]>;
|
|
43
|
+
workflow(workflowId: string): Promise<WorkflowListItem>;
|
|
44
|
+
createWorkflow(input: CreateWorkflowRequest): Promise<WorkflowListItem>;
|
|
45
|
+
updateWorkflow(workflowId: string, input: UpdateWorkflowRequest): Promise<WorkflowListItem>;
|
|
46
|
+
/** What saving `definition` would change in the workflow's rules; nothing is written. */
|
|
47
|
+
previewWorkflow(workflowId: string, definition: WorkflowDefinition): Promise<WorkflowPreview>;
|
|
48
|
+
setDefaultWorkflow(workflowId: string): Promise<WorkflowListItem>;
|
|
49
|
+
deleteWorkflow(workflowId: string): Promise<void>;
|
|
50
|
+
projects(): Promise<ProjectListItem[]>;
|
|
51
|
+
project(projectId: string): Promise<ProjectDetail>;
|
|
52
|
+
createProject(input: CreateProjectRequest): Promise<ProjectDetail>;
|
|
53
|
+
updateProject(projectId: string, input: UpdateProjectRequest): Promise<ProjectDetail>;
|
|
54
|
+
deleteProject(projectId: string): Promise<void>;
|
|
55
|
+
/** Answers the member added. */
|
|
56
|
+
addProjectMember(projectId: string, userId: string): Promise<UserRef>;
|
|
57
|
+
removeProjectMember(projectId: string, userId: string): Promise<void>;
|
|
58
|
+
addProjectResource(projectId: string, input: CreateProjectResourceRequest): Promise<ProjectResource>;
|
|
59
|
+
updateProjectResource(projectId: string, resourceId: string, input: UpdateProjectResourceRequest): Promise<ProjectResource>;
|
|
60
|
+
deleteProjectResource(projectId: string, resourceId: string): Promise<void>;
|
|
61
|
+
/** The statuses of a project's workflow; without a project, those of issues without one. */
|
|
62
|
+
statuses(projectId?: string | null): Promise<StatusDefinition[]>;
|
|
63
|
+
/** The ways a new issue may start in a project's workflow; without a project, in that of issues without one. */
|
|
64
|
+
starts(projectId?: string | null): Promise<IssueStarts>;
|
|
65
|
+
issuePage(query: IssueListQuery): Promise<Page<IssueListItem>>;
|
|
66
|
+
/** A column per status, each with its first `ISSUE_PAGE_LIMIT.default` issues. */
|
|
67
|
+
board(query: IssueListQuery): Promise<IssueBoard>;
|
|
68
|
+
/** One issue, by id or identifier (`PM-12`). */
|
|
69
|
+
issue(idOrKey: string): Promise<IssueDetail>;
|
|
70
|
+
activities(issueId: string, cursor?: string): Promise<ActivityPage>;
|
|
71
|
+
createIssue(input: CreateIssueRequest): Promise<Issue>;
|
|
72
|
+
/** The issue after the change; with `pendingApproval`, unchanged because the status change waits for approval. */
|
|
73
|
+
updateIssue(issueId: string, input: UpdateIssueRequest): Promise<UpdateIssueResult>;
|
|
74
|
+
deleteIssue(issueId: string): Promise<void>;
|
|
75
|
+
restoreIssue(issueId: string): Promise<Issue>;
|
|
76
|
+
/** The status changes waiting for the caller's approval. */
|
|
77
|
+
approvals(): Promise<ApprovalRequest[]>;
|
|
78
|
+
decideApproval(requestId: string, decision: 'approve' | 'reject', comment?: string): Promise<ApprovalRequest>;
|
|
79
|
+
withdrawApproval(requestId: string): Promise<ApprovalRequest>;
|
|
80
|
+
/** Makes the issue wait for (`blockedBy`, the default) or link to (`relatedTo`) another; answers the link. */
|
|
81
|
+
addDependency(issueId: string, input: AddDependencyRequest): Promise<IssueDependency>;
|
|
82
|
+
/** Removes the link to `dependsOnIssueId` of `type` (`blockedBy` when left out). */
|
|
83
|
+
removeDependencyTo(issueId: string, input: AddDependencyRequest): Promise<void>;
|
|
84
|
+
removeDependency(issueId: string, dependencyId: string): Promise<void>;
|
|
85
|
+
/** Checks or unchecks one item of the issue's checklist of `statusKey`; answers that checklist. */
|
|
86
|
+
setChecklistItem(issueId: string, statusKey: string, itemKey: string, input: UpdateChecklistItemRequest): Promise<IssueChecklist>;
|
|
87
|
+
/** Threads older than `cursor` (the detail brings the newest page and its cursor). */
|
|
88
|
+
threads(issueId: string, cursor?: string): Promise<ThreadPage>;
|
|
89
|
+
createComment(issueId: string, input: CreateCommentRequest): Promise<CreateCommentResult>;
|
|
90
|
+
updateComment(commentId: string, content: string): Promise<IssueComment>;
|
|
91
|
+
deleteComment(commentId: string): Promise<void>;
|
|
92
|
+
/** The comment's reactions after adding the caller's `emoji`. */
|
|
93
|
+
react(commentId: string, emoji: string): Promise<readonly CommentReaction[]>;
|
|
94
|
+
/** The comment's reactions after removing the caller's `emoji`. */
|
|
95
|
+
unreact(commentId: string, emoji: string): Promise<readonly CommentReaction[]>;
|
|
96
|
+
private reaction;
|
|
97
|
+
setThreadResolved(commentId: string, resolved: boolean): Promise<ThreadResolution>;
|
|
98
|
+
setSubscription(issueId: string, subscribed: boolean): Promise<SubscriptionState>;
|
|
99
|
+
/** The `@` list for a comment on `issueId`: every mentionable kind's candidates matching `q`. */
|
|
100
|
+
mentionCandidates(query: {
|
|
101
|
+
readonly issueId?: string;
|
|
102
|
+
readonly q?: string;
|
|
103
|
+
readonly limit?: number;
|
|
104
|
+
}): Promise<MentionCandidate[]>;
|
|
105
|
+
/** Uploads one file of the caller's, attached to nothing yet (to be sent with a comment). */
|
|
106
|
+
uploadAttachment(file: File, signal?: AbortSignal): Promise<Attachment>;
|
|
107
|
+
/** Uploads one file straight onto the issue. */
|
|
108
|
+
uploadIssueAttachment(issueId: string, file: File, signal?: AbortSignal): Promise<Attachment>;
|
|
109
|
+
issueAttachments(issueId: string): Promise<Attachment[]>;
|
|
110
|
+
removeAttachment(attachmentId: string): Promise<void>;
|
|
111
|
+
private upload;
|
|
112
|
+
private page;
|
|
113
|
+
private get;
|
|
114
|
+
private send;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../client/api/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EACV,cAAc,EACd,0BAA0B,EAC3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEL,KAAK,eAAe,EAEpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,wBAAwB,EACxB,UAAU,EACV,gBAAgB,EACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,cAAc,EAEnB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EACV,kBAAkB,EAClB,KAAK,EACL,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EACV,oBAAoB,EACpB,4BAA4B,EAC5B,aAAa,EACb,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,4BAA4B,EAC7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EAChB,MAAM,2BAA2B,CAAC;AAwCnC,qBAAa,KAAK;IACG,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,SAAS;IAI3C,EAAE,IAAI,OAAO,CAAC,EAAE,CAAC;IAIjB,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAInC,6FAA6F;IACtF,YAAY,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAI7C,kFAAkF;IAC3E,SAAS,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAIzC,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAI9B,MAAM,CACjB,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC;IAOhC,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIjE,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrD,QAAQ,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAItC,cAAc,CACnB,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,iBAAiB,CAAC;IAItB,MAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAI1B,WAAW,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;IAItD,WAAW,CAChB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,KAAK,CAAC;IAIV,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3C,SAAS,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAIxC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIvD,cAAc,CACnB,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,gBAAgB,CAAC;IAIrB,cAAc,CACnB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,gBAAgB,CAAC;IAI5B,yFAAyF;IAClF,eAAe,CACpB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,kBAAkB,GAC7B,OAAO,CAAC,eAAe,CAAC;IAMpB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIjE,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMjD,QAAQ,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAItC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAIlD,aAAa,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC;IAIlE,aAAa,CAClB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,aAAa,CAAC;IAIlB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,gCAAgC;IACzB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMrE,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrE,kBAAkB,CACvB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,eAAe,CAAC;IAIpB,qBAAqB,CAC1B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,eAAe,CAAC;IAQpB,qBAAqB,CAC1B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IAShB,4FAA4F;IACrF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAIvE,gHAAgH;IACzG,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;IAIvD,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAIrE,kFAAkF;IAC3E,KAAK,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IAOxD,gDAAgD;IACzC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI5C,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAOnE,WAAW,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;IAI7D,kHAAkH;IAC3G,WAAW,CAChB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,iBAAiB,CAAC;IAItB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAMpD,4DAA4D;IACrD,SAAS,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAIvC,cAAc,CACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,SAAS,GAAG,QAAQ,EAC9B,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,CAAC;IAQpB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAIpE,8GAA8G;IACvG,aAAa,CAClB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,eAAe,CAAC;IAQ3B,oFAAoF;IAC7E,kBAAkB,CACvB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,IAAI,CAAC;IAQT,gBAAgB,CACrB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAOhB,mGAAmG;IAC5F,gBAAgB,CACrB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,cAAc,CAAC;IAU1B,sFAAsF;IAC/E,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAO9D,aAAa,CAClB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,mBAAmB,CAAC;IAIxB,aAAa,CAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,CAAC;IAMjB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,iEAAiE;IAC1D,KAAK,CACV,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC;IAItC,mEAAmE;IAC5D,OAAO,CACZ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC;YAIxB,QAAQ;IAaf,iBAAiB,CACtB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,gBAAgB,CAAC;IAOrB,eAAe,CACpB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,iBAAiB,CAAC;IAO7B,iGAAiG;IAC1F,iBAAiB,CAAC,KAAK,EAAE;QAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAU/B,6FAA6F;IACtF,gBAAgB,CACrB,IAAI,EAAE,IAAI,EACV,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC;IAItB,gDAAgD;IACzC,qBAAqB,CAC1B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,EACV,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC;IAQf,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIxD,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAI9C,MAAM;YAgBN,IAAI;YAQJ,GAAG;YAQH,IAAI;CAYnB"}
|