@codingfactory/task-engine-client 0.1.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/components/dashboard/TaskWorkloadPanel.vue.d.ts +13 -0
  2. package/dist/components/index.d.ts +11 -0
  3. package/dist/components/pages/TaskDashboardPage.vue.d.ts +11 -0
  4. package/dist/components/pages/TaskDetailPage.vue.d.ts +13 -0
  5. package/dist/components/pages/TaskListPage.vue.d.ts +12 -0
  6. package/dist/components/pages/TaskRecurringPage.vue.d.ts +12 -0
  7. package/dist/components/pages/index.d.ts +4 -0
  8. package/dist/components/recurrence/RecurringTemplateForm.vue.d.ts +4 -0
  9. package/dist/components/recurrence/RecurringTemplateList.vue.d.ts +2 -2
  10. package/dist/components/shared/TaskAssigneePicker.vue.d.ts +30 -0
  11. package/dist/components/shared/TaskConfirmDialog.vue.d.ts +22 -0
  12. package/dist/components/shared/TaskDeadlineBadge.vue.d.ts +20 -0
  13. package/dist/components/shared/TaskDeadlineField.vue.d.ts +21 -0
  14. package/dist/components/shared/TaskImportExportPanel.vue.d.ts +15 -0
  15. package/dist/components/shared/TaskNotificationToast.vue.d.ts +1 -1
  16. package/dist/components/shared/TaskQuickCreate.vue.d.ts +1 -0
  17. package/dist/components/shared/TaskRolePicker.vue.d.ts +22 -0
  18. package/dist/components/task/TaskDetail.vue.d.ts +24 -1
  19. package/dist/components/task/TaskTimeTracker.vue.d.ts +28 -0
  20. package/dist/components/workflows/WorkflowForm.vue.d.ts +16 -0
  21. package/dist/components/workflows/WorkflowList.vue.d.ts +34 -0
  22. package/dist/components/workflows/WorkflowLogs.vue.d.ts +21 -0
  23. package/dist/composables/index.d.ts +2 -0
  24. package/dist/composables/useRecurringTemplates.d.ts +114 -0
  25. package/dist/composables/useTaskDetail.d.ts +42 -1
  26. package/dist/composables/useTaskWorkflows.d.ts +133 -0
  27. package/dist/index.cjs +1 -1
  28. package/dist/index.d.ts +1 -1
  29. package/dist/index.js +7129 -3222
  30. package/dist/stores/index.d.ts +1 -0
  31. package/dist/stores/taskStore.d.ts +300 -3
  32. package/dist/stores/taskWorkflowStore.d.ts +836 -0
  33. package/dist/task-engine-client.css +1 -1
  34. package/dist/types/index.d.ts +261 -0
  35. package/dist/utils/index.d.ts +1 -1
  36. package/dist/utils/taskDisplay.d.ts +7 -1
  37. package/package.json +1 -1
@@ -0,0 +1,13 @@
1
+ import type { TaskWorkloadSummary } from '@/types';
2
+ type __VLS_Props = {
3
+ summary: TaskWorkloadSummary | null;
4
+ limit?: number;
5
+ };
6
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
+ "select-user": (userId: string) => any;
8
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
9
+ "onSelect-user"?: (userId: string) => any;
10
+ }>, {
11
+ limit: number;
12
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
+ export default _default;
@@ -3,6 +3,7 @@ export { default as MyTasksToday } from './dashboard/MyTasksToday.vue';
3
3
  export { default as OverdueTracker } from './dashboard/OverdueTracker.vue';
4
4
  export { default as TaskDashboard } from './dashboard/TaskDashboard.vue';
5
5
  export { default as TaskHealthAlerts } from './dashboard/TaskHealthAlerts.vue';
6
+ export { default as TaskWorkloadPanel } from './dashboard/TaskWorkloadPanel.vue';
6
7
  export { default as TeamActivityFeed } from './dashboard/TeamActivityFeed.vue';
7
8
  export { default as UpcomingThisWeek } from './dashboard/UpcomingThisWeek.vue';
8
9
  export { default as WidgetGrid } from './dashboard/WidgetGrid.vue';
@@ -14,10 +15,18 @@ export { default as RecurringTemplateForm } from './recurrence/RecurringTemplate
14
15
  export { default as RecurringTemplateList } from './recurrence/RecurringTemplateList.vue';
15
16
  export { default as TaskListView } from './list/TaskListView.vue';
16
17
  export { default as TaskSavedFilterTabs } from './list/TaskSavedFilterTabs.vue';
18
+ export { default as WorkflowForm } from './workflows/WorkflowForm.vue';
19
+ export { default as WorkflowList } from './workflows/WorkflowList.vue';
20
+ export { default as WorkflowLogs } from './workflows/WorkflowLogs.vue';
17
21
  export { default as TaskPriorityIcon } from './shared/TaskPriorityIcon.vue';
18
22
  export { default as TaskEntityWidget } from './shared/TaskEntityWidget.vue';
23
+ export { default as TaskAssigneePicker } from './shared/TaskAssigneePicker.vue';
24
+ export { default as TaskDeadlineBadge } from './shared/TaskDeadlineBadge.vue';
25
+ export { default as TaskDeadlineField } from './shared/TaskDeadlineField.vue';
26
+ export { default as TaskImportExportPanel } from './shared/TaskImportExportPanel.vue';
19
27
  export { default as TaskNotificationToast } from './shared/TaskNotificationToast.vue';
20
28
  export { default as TaskQuickCreate } from './shared/TaskQuickCreate.vue';
29
+ export { default as TaskRolePicker } from './shared/TaskRolePicker.vue';
21
30
  export { default as EscalationActions } from './task/EscalationActions.vue';
22
31
  export { default as EscalationBadge } from './task/EscalationBadge.vue';
23
32
  export { default as TaskCard } from './task/TaskCard.vue';
@@ -25,5 +34,7 @@ export { default as TaskChecklist } from './task/TaskChecklist.vue';
25
34
  export { default as TaskComments } from './task/TaskComments.vue';
26
35
  export { default as TaskDetailView } from './task/TaskDetail.vue';
27
36
  export { default as TaskForm } from './task/TaskForm.vue';
37
+ export { default as TaskTimeTracker } from './task/TaskTimeTracker.vue';
28
38
  export { default as TaskStatusBadge } from './task/TaskStatusBadge.vue';
29
39
  export { default as TaskTimeline } from './task/TaskTimeline.vue';
40
+ export { TaskDetailPage, TaskListPage, TaskDashboardPage, TaskRecurringPage } from './pages';
@@ -0,0 +1,11 @@
1
+ type __VLS_Props = {
2
+ userId: string | number;
3
+ echo?: unknown;
4
+ autoConnect?: boolean;
5
+ };
6
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
+ "navigate-to-task": (taskId: string) => any;
8
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
9
+ "onNavigate-to-task"?: (taskId: string) => any;
10
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ export default _default;
@@ -0,0 +1,13 @@
1
+ type __VLS_Props = {
2
+ taskId: string;
3
+ };
4
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
5
+ "navigate-back": () => any;
6
+ "task-deleted": (taskId: string) => any;
7
+ "edit-task": (taskId: string) => any;
8
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
9
+ "onNavigate-back"?: () => any;
10
+ "onTask-deleted"?: (taskId: string) => any;
11
+ "onEdit-task"?: (taskId: string) => any;
12
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
+ export default _default;
@@ -0,0 +1,12 @@
1
+ type __VLS_Props = {
2
+ entityContext?: {
3
+ type: string;
4
+ id: string;
5
+ } | null;
6
+ };
7
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ "navigate-to-task": (taskId: string) => any;
9
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
10
+ "onNavigate-to-task"?: (taskId: string) => any;
11
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ export default _default;
@@ -0,0 +1,12 @@
1
+ type __VLS_Props = {
2
+ entityTypeOptions?: Array<{
3
+ value: string;
4
+ label: string;
5
+ }>;
6
+ };
7
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ "navigate-to-task": (taskId: string) => any;
9
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
10
+ "onNavigate-to-task"?: (taskId: string) => any;
11
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ export default _default;
@@ -0,0 +1,4 @@
1
+ export { default as TaskDetailPage } from './TaskDetailPage.vue';
2
+ export { default as TaskListPage } from './TaskListPage.vue';
3
+ export { default as TaskDashboardPage } from './TaskDashboardPage.vue';
4
+ export { default as TaskRecurringPage } from './TaskRecurringPage.vue';
@@ -2,6 +2,10 @@ import type { RecurringTemplate, RecurringTemplateMutationPayload, TaskTemplate
2
2
  type __VLS_Props = {
3
3
  recurring?: Partial<RecurringTemplate> | null;
4
4
  templates?: TaskTemplate[];
5
+ entityTypeOptions?: Array<{
6
+ value: string;
7
+ label: string;
8
+ }>;
5
9
  submitting?: boolean;
6
10
  mode?: 'create' | 'edit';
7
11
  };
@@ -6,18 +6,18 @@ type __VLS_Props = {
6
6
  includeInactive?: boolean;
7
7
  };
8
8
  declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
9
+ pause: (id: string) => any;
9
10
  edit: (id: string) => any;
10
11
  "update:search": (value: string) => any;
11
12
  "update:includeInactive": (value: boolean) => any;
12
- pause: (id: string) => any;
13
13
  resume: (id: string) => any;
14
14
  remove: (id: string) => any;
15
15
  generate: (id: string) => any;
16
16
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
17
+ onPause?: (id: string) => any;
17
18
  onEdit?: (id: string) => any;
18
19
  "onUpdate:search"?: (value: string) => any;
19
20
  "onUpdate:includeInactive"?: (value: boolean) => any;
20
- onPause?: (id: string) => any;
21
21
  onResume?: (id: string) => any;
22
22
  onRemove?: (id: string) => any;
23
23
  onGenerate?: (id: string) => any;
@@ -0,0 +1,30 @@
1
+ import type { TaskAssignableUser, UserSummary } from '@/types';
2
+ type __VLS_Props = {
3
+ modelValue?: string | null;
4
+ selectedUser?: TaskAssignableUser | UserSummary | null;
5
+ disabled?: boolean;
6
+ placeholder?: string;
7
+ ariaLabel?: string;
8
+ inputTestId?: string;
9
+ listTestId?: string;
10
+ rankByWorkload?: boolean;
11
+ showWorkload?: boolean;
12
+ };
13
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
14
+ select: (user: TaskAssignableUser | null) => any;
15
+ "update:modelValue": (value: string | null) => any;
16
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
17
+ onSelect?: (user: TaskAssignableUser | null) => any;
18
+ "onUpdate:modelValue"?: (value: string | null) => any;
19
+ }>, {
20
+ placeholder: string;
21
+ modelValue: string | null;
22
+ selectedUser: TaskAssignableUser | UserSummary | null;
23
+ disabled: boolean;
24
+ ariaLabel: string;
25
+ inputTestId: string;
26
+ listTestId: string;
27
+ rankByWorkload: boolean;
28
+ showWorkload: boolean;
29
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
30
+ export default _default;
@@ -0,0 +1,22 @@
1
+ type __VLS_Props = {
2
+ show: boolean;
3
+ title: string;
4
+ message: string;
5
+ confirmText?: string;
6
+ cancelText?: string;
7
+ busy?: boolean;
8
+ };
9
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
+ cancel: () => any;
11
+ confirm: () => any;
12
+ "update:show": (value: boolean) => any;
13
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
14
+ onCancel?: () => any;
15
+ onConfirm?: () => any;
16
+ "onUpdate:show"?: (value: boolean) => any;
17
+ }>, {
18
+ busy: boolean;
19
+ confirmText: string;
20
+ cancelText: string;
21
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
+ export default _default;
@@ -0,0 +1,20 @@
1
+ import type { EscalationTier } from '@/types';
2
+ type DeadlineTaskLike = {
3
+ due_at?: string | null;
4
+ current_escalation_tier?: EscalationTier | null;
5
+ is_overdue?: boolean | null;
6
+ };
7
+ type __VLS_Props = {
8
+ task: DeadlineTaskLike;
9
+ compact?: boolean;
10
+ showRelative?: boolean;
11
+ showNoDeadline?: boolean;
12
+ now?: Date | string | null;
13
+ };
14
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
15
+ compact: boolean;
16
+ showRelative: boolean;
17
+ showNoDeadline: boolean;
18
+ now: Date | string | null;
19
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
20
+ export default _default;
@@ -0,0 +1,21 @@
1
+ type __VLS_Props = {
2
+ modelValue?: string | null;
3
+ disabled?: boolean;
4
+ compact?: boolean;
5
+ label?: string;
6
+ dateTestId?: string;
7
+ timeTestId?: string;
8
+ };
9
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
+ "update:modelValue": (value: string | null) => any;
11
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
12
+ "onUpdate:modelValue"?: (value: string | null) => any;
13
+ }>, {
14
+ label: string;
15
+ compact: boolean;
16
+ modelValue: string | null;
17
+ disabled: boolean;
18
+ dateTestId: string;
19
+ timeTestId: string;
20
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
+ export default _default;
@@ -0,0 +1,15 @@
1
+ import type { TaskImportResult } from '@/types';
2
+ type __VLS_Props = {
3
+ busy?: boolean;
4
+ importing?: boolean;
5
+ exporting?: boolean;
6
+ result?: TaskImportResult | null;
7
+ };
8
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
9
+ import: (file: File) => any;
10
+ export: () => any;
11
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
12
+ onImport?: (file: File) => any;
13
+ onExport?: () => any;
14
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
15
+ export default _default;
@@ -10,7 +10,7 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
10
10
  onSelect?: (toast: TaskNotificationToastItem) => any;
11
11
  onDismiss?: (toastId: string) => any;
12
12
  }>, {
13
- navigate: ((toast: TaskNotificationToastItem) => void) | null;
14
13
  ariaLabel: string;
14
+ navigate: ((toast: TaskNotificationToastItem) => void) | null;
15
15
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
16
  export default _default;
@@ -2,6 +2,7 @@ import type { TaskMutationPayload, TaskTemplate } from '@/types';
2
2
  type __VLS_Props = {
3
3
  templates?: TaskTemplate[];
4
4
  busy?: boolean;
5
+ startExpanded?: boolean;
5
6
  entityContext?: {
6
7
  type: string;
7
8
  id: string;
@@ -0,0 +1,22 @@
1
+ import type { TaskRoleOption } from '@/types';
2
+ type __VLS_Props = {
3
+ modelValue?: string | null;
4
+ options?: TaskRoleOption[];
5
+ disabled?: boolean;
6
+ placeholder?: string;
7
+ inputTestId?: string;
8
+ };
9
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
+ select: (role: TaskRoleOption) => any;
11
+ "update:modelValue": (value: string | null) => any;
12
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
13
+ onSelect?: (role: TaskRoleOption) => any;
14
+ "onUpdate:modelValue"?: (value: string | null) => any;
15
+ }>, {
16
+ options: TaskRoleOption[];
17
+ placeholder: string;
18
+ modelValue: string | null;
19
+ disabled: boolean;
20
+ inputTestId: string;
21
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
+ export default _default;
@@ -1,6 +1,7 @@
1
- import type { TaskDetail } from '@/types';
1
+ import type { TaskDetail, TaskTimeEntry } from '@/types';
2
2
  type __VLS_Props = {
3
3
  task: TaskDetail | null;
4
+ activeTimer?: TaskTimeEntry | null;
4
5
  busy?: boolean;
5
6
  };
6
7
  declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -8,6 +9,8 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
8
9
  cancel: (taskId: string) => any;
9
10
  delete: (taskId: string) => any;
10
11
  edit: (taskId: string) => any;
12
+ "start-timer": (taskId: string) => any;
13
+ "stop-timer": (taskId: string) => any;
11
14
  reopen: (taskId: string) => any;
12
15
  "acknowledge-escalation": (taskId: string) => any;
13
16
  "snooze-escalation": (payload: {
@@ -23,11 +26,22 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
23
26
  "toggle-checklist-item": (itemId: string) => any;
24
27
  "remove-checklist-item": (itemId: string) => any;
25
28
  "reorder-checklist-items": (itemIds: string[]) => any;
29
+ "add-manual-time-entry": (payload: {
30
+ taskId: string;
31
+ duration_minutes: number;
32
+ description?: string | null;
33
+ }) => any;
34
+ "delete-time-entry": (payload: {
35
+ taskId: string;
36
+ entryId: string;
37
+ }) => any;
26
38
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
27
39
  onComplete?: (taskId: string) => any;
28
40
  onCancel?: (taskId: string) => any;
29
41
  onDelete?: (taskId: string) => any;
30
42
  onEdit?: (taskId: string) => any;
43
+ "onStart-timer"?: (taskId: string) => any;
44
+ "onStop-timer"?: (taskId: string) => any;
31
45
  onReopen?: (taskId: string) => any;
32
46
  "onAcknowledge-escalation"?: (taskId: string) => any;
33
47
  "onSnooze-escalation"?: (payload: {
@@ -43,5 +57,14 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
43
57
  "onToggle-checklist-item"?: (itemId: string) => any;
44
58
  "onRemove-checklist-item"?: (itemId: string) => any;
45
59
  "onReorder-checklist-items"?: (itemIds: string[]) => any;
60
+ "onAdd-manual-time-entry"?: (payload: {
61
+ taskId: string;
62
+ duration_minutes: number;
63
+ description?: string | null;
64
+ }) => any;
65
+ "onDelete-time-entry"?: (payload: {
66
+ taskId: string;
67
+ entryId: string;
68
+ }) => any;
46
69
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
47
70
  export default _default;
@@ -0,0 +1,28 @@
1
+ import type { TaskDetail, TaskManualTimeEntryPayload, TaskTimeEntry } from '@/types';
2
+ type __VLS_Props = {
3
+ task: TaskDetail;
4
+ activeTimer?: TaskTimeEntry | null;
5
+ busy?: boolean;
6
+ };
7
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ "start-timer": (taskId: string) => any;
9
+ "stop-timer": (taskId: string) => any;
10
+ "add-manual-entry": (payload: TaskManualTimeEntryPayload & {
11
+ taskId: string;
12
+ }) => any;
13
+ "delete-entry": (payload: {
14
+ taskId: string;
15
+ entryId: string;
16
+ }) => any;
17
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
18
+ "onStart-timer"?: (taskId: string) => any;
19
+ "onStop-timer"?: (taskId: string) => any;
20
+ "onAdd-manual-entry"?: (payload: TaskManualTimeEntryPayload & {
21
+ taskId: string;
22
+ }) => any;
23
+ "onDelete-entry"?: (payload: {
24
+ taskId: string;
25
+ entryId: string;
26
+ }) => any;
27
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
28
+ export default _default;
@@ -0,0 +1,16 @@
1
+ import type { TaskRoleOption, TaskTemplate, TaskWorkflow, TaskWorkflowMutationPayload, TaskWorkflowUpdatePayload } from '@/types';
2
+ type __VLS_Props = {
3
+ workflow?: TaskWorkflow | null;
4
+ templates?: TaskTemplate[];
5
+ roleOptions?: TaskRoleOption[];
6
+ mode?: 'create' | 'edit';
7
+ submitting?: boolean;
8
+ };
9
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
+ cancel: () => any;
11
+ submit: (payload: TaskWorkflowMutationPayload | TaskWorkflowUpdatePayload) => any;
12
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
13
+ onCancel?: () => any;
14
+ onSubmit?: (payload: TaskWorkflowMutationPayload | TaskWorkflowUpdatePayload) => any;
15
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
+ export default _default;
@@ -0,0 +1,34 @@
1
+ import type { TaskWorkflow } from '@/types';
2
+ type __VLS_Props = {
3
+ workflows: TaskWorkflow[];
4
+ loading?: boolean;
5
+ error?: string | null;
6
+ };
7
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ move: (payload: {
9
+ workflow: TaskWorkflow;
10
+ direction: "up" | "down";
11
+ }) => any;
12
+ toggle: (payload: {
13
+ workflow: TaskWorkflow;
14
+ isEnabled: boolean;
15
+ }) => any;
16
+ edit: (workflow: TaskWorkflow) => any;
17
+ remove: (workflow: TaskWorkflow) => any;
18
+ duplicate: (workflow: TaskWorkflow) => any;
19
+ logs: (workflow: TaskWorkflow) => any;
20
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
21
+ onMove?: (payload: {
22
+ workflow: TaskWorkflow;
23
+ direction: "up" | "down";
24
+ }) => any;
25
+ onToggle?: (payload: {
26
+ workflow: TaskWorkflow;
27
+ isEnabled: boolean;
28
+ }) => any;
29
+ onEdit?: (workflow: TaskWorkflow) => any;
30
+ onRemove?: (workflow: TaskWorkflow) => any;
31
+ onDuplicate?: (workflow: TaskWorkflow) => any;
32
+ onLogs?: (workflow: TaskWorkflow) => any;
33
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
34
+ export default _default;
@@ -0,0 +1,21 @@
1
+ import type { TaskWorkflowLog, WorkflowLogStatus } from '@/types';
2
+ type __VLS_Props = {
3
+ logs: TaskWorkflowLog[];
4
+ loading?: boolean;
5
+ };
6
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
+ "select-task": (taskId: string) => any;
8
+ refresh: (filters: {
9
+ status?: WorkflowLogStatus;
10
+ date_from?: string;
11
+ date_to?: string;
12
+ }) => any;
13
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
14
+ "onSelect-task"?: (taskId: string) => any;
15
+ onRefresh?: (filters: {
16
+ status?: WorkflowLogStatus;
17
+ date_from?: string;
18
+ date_to?: string;
19
+ }) => any;
20
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
+ export default _default;
@@ -5,3 +5,5 @@ export { useTaskNotificationFeed } from './useTaskNotificationFeed';
5
5
  export { useTaskPresence } from './useTaskPresence';
6
6
  export { useTaskSavedFilters } from './useTaskSavedFilters';
7
7
  export { useTaskWebSocket } from './useTaskWebSocket';
8
+ export { useTaskWorkflows } from './useTaskWorkflows';
9
+ export { useRecurringTemplates } from './useRecurringTemplates';
@@ -0,0 +1,114 @@
1
+ import type { RecurringTemplate, RecurringTemplateFilters, RecurringTemplateMutationPayload, RecurringTemplateUpdatePayload, TaskDetail } from '@/types';
2
+ export declare function useRecurringTemplates(): {
3
+ templates: import("vue").ComputedRef<{
4
+ id: string;
5
+ tenant_id: string;
6
+ task_template_id: string | null;
7
+ task_template: {
8
+ id: string;
9
+ name: string;
10
+ } | null;
11
+ title: string | null;
12
+ description: string | null;
13
+ rrule: string;
14
+ rrule_human: string;
15
+ timezone: string;
16
+ taskable_type: string | null;
17
+ taskable_id: string | null;
18
+ primary_assignee_id: string | null;
19
+ priority: import("@/types").TaskPriority;
20
+ priority_label?: string | null;
21
+ due_offset_hours: number | null;
22
+ tags: string[];
23
+ is_active: boolean;
24
+ skip_holidays: boolean;
25
+ business_hours_only: boolean;
26
+ chain_mode: boolean;
27
+ last_generated_at: string | null;
28
+ next_occurrence_at: string | null;
29
+ metadata: Record<string, unknown> | null;
30
+ created_by: string | number | null;
31
+ created_at: string | null;
32
+ updated_at: string | null;
33
+ deleted_at: string | null;
34
+ history: {
35
+ id: string;
36
+ recurring_template_id: string;
37
+ task_id: string;
38
+ occurrence_date: string;
39
+ generated_at: string;
40
+ created_at: string | null;
41
+ task: {
42
+ id: string;
43
+ display_number_formatted: string;
44
+ title: string;
45
+ status: import("@/types").TaskStatus;
46
+ priority: import("@/types").TaskPriority;
47
+ } | null;
48
+ }[];
49
+ }[]>;
50
+ currentTemplate: import("vue").ComputedRef<{
51
+ id: string;
52
+ tenant_id: string;
53
+ task_template_id: string | null;
54
+ task_template: {
55
+ id: string;
56
+ name: string;
57
+ } | null;
58
+ title: string | null;
59
+ description: string | null;
60
+ rrule: string;
61
+ rrule_human: string;
62
+ timezone: string;
63
+ taskable_type: string | null;
64
+ taskable_id: string | null;
65
+ primary_assignee_id: string | null;
66
+ priority: import("@/types").TaskPriority;
67
+ priority_label?: string | null;
68
+ due_offset_hours: number | null;
69
+ tags: string[];
70
+ is_active: boolean;
71
+ skip_holidays: boolean;
72
+ business_hours_only: boolean;
73
+ chain_mode: boolean;
74
+ last_generated_at: string | null;
75
+ next_occurrence_at: string | null;
76
+ metadata: Record<string, unknown> | null;
77
+ created_by: string | number | null;
78
+ created_at: string | null;
79
+ updated_at: string | null;
80
+ deleted_at: string | null;
81
+ history: {
82
+ id: string;
83
+ recurring_template_id: string;
84
+ task_id: string;
85
+ occurrence_date: string;
86
+ generated_at: string;
87
+ created_at: string | null;
88
+ task: {
89
+ id: string;
90
+ display_number_formatted: string;
91
+ title: string;
92
+ status: import("@/types").TaskStatus;
93
+ priority: import("@/types").TaskPriority;
94
+ } | null;
95
+ }[];
96
+ } | null>;
97
+ loading: import("vue").ComputedRef<boolean>;
98
+ saving: import("vue").ComputedRef<boolean>;
99
+ error: import("vue").ComputedRef<string | null>;
100
+ pagination: import("vue").ComputedRef<{
101
+ current_page: number;
102
+ last_page: number;
103
+ per_page: number;
104
+ total: number;
105
+ }>;
106
+ loadTemplates: (filters?: RecurringTemplateFilters) => Promise<void>;
107
+ loadTemplate: (id: string) => Promise<RecurringTemplate | null>;
108
+ createTemplate: (payload: RecurringTemplateMutationPayload) => Promise<RecurringTemplate | null>;
109
+ updateTemplate: (id: string, payload: RecurringTemplateUpdatePayload) => Promise<RecurringTemplate | null>;
110
+ deleteTemplate: (id: string) => Promise<boolean>;
111
+ pauseTemplate: (id: string) => Promise<RecurringTemplate | null>;
112
+ resumeTemplate: (id: string) => Promise<RecurringTemplate | null>;
113
+ generateFromTemplate: (id: string) => Promise<TaskDetail | null>;
114
+ };