@automateinc/fleet-types 1.0.88 → 1.0.89-dev.2c2e88a

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.
@@ -21,7 +21,7 @@ jobs:
21
21
 
22
22
  - uses: actions/setup-node@v4
23
23
  with:
24
- node-version: "20.x"
24
+ node-version: "24.x"
25
25
  registry-url: "https://registry.npmjs.org"
26
26
 
27
27
  - run: npm install -g semver
@@ -50,8 +50,7 @@ jobs:
50
50
  - run: npm ci
51
51
 
52
52
  - name: Publish to npm
53
- run: npm install -g npm@latest
54
- - run: npm publish --provenance --access public --tag $( [[ "${{ github.ref_name }}" == "main" ]] && echo "latest" || echo "dev" )
53
+ run: npm publish --provenance --access public --tag $( [[ "${{ github.ref_name }}" == "main" ]] && echo "latest" || echo "dev" )
55
54
 
56
55
  - name: Output Published Version
57
56
  run: 'echo "📦 Published version: ${{ steps.bump.outputs.version }}"'
@@ -205,6 +205,18 @@ export * from "./vehicle-make";
205
205
  export * from "./vehicle-model";
206
206
  export * from "./vehicle-registration";
207
207
  export * from "./vehicle-status";
208
+ export * from "./todo";
209
+ export * from "./todo-activity";
210
+ export * from "./todo-comment";
211
+ export * from "./todo-custom-field";
212
+ export * from "./todo-document";
213
+ export * from "./todo-folder";
214
+ export * from "./todo-list";
215
+ export * from "./todo-list-field-config";
216
+ export * from "./todo-space";
217
+ export * from "./todo-status";
218
+ export * from "./todo-tag";
219
+ export * from "./todo-view";
208
220
  export * from "./vendor";
209
221
  export * from "./vendor-contact";
210
222
  export * from "./zone";
@@ -7,7 +7,6 @@ export interface IRequestCategory {
7
7
  fields: IRequestCategoryField[];
8
8
  requiresVerification: boolean;
9
9
  requiresApproval: boolean;
10
- requiresOTP: boolean;
11
10
  createdAt: string;
12
11
  updatedAt: string;
13
12
  allowedRequesters: Array<"USER" | "EMPLOYEE">;
@@ -280,4 +280,4 @@ export interface IStructuredContent {
280
280
  relationId: string;
281
281
  structure: IStructuredContentNode[];
282
282
  updatedAt?: string;
283
- }
283
+ }
@@ -0,0 +1,33 @@
1
+ export interface ITodoActivity {
2
+ id: string;
3
+ createdAt: string;
4
+
5
+ todoId: string;
6
+ userId: string;
7
+
8
+ action: TodoActivityAction;
9
+
10
+ changes?: any;
11
+
12
+ metadata?: any;
13
+ }
14
+
15
+ export type TodoActivityAction =
16
+ | "CREATED"
17
+ | "UPDATED"
18
+ | "STATUS_CHANGED"
19
+ | "PRIORITY_CHANGED"
20
+ | "ASSIGNED"
21
+ | "UNASSIGNED"
22
+ | "COMMENTED"
23
+ | "DOCUMENT_ADDED"
24
+ | "DOCUMENT_REMOVED"
25
+ | "DEPENDENCY_ADDED"
26
+ | "DEPENDENCY_REMOVED"
27
+ | "TAG_ADDED"
28
+ | "TAG_REMOVED"
29
+ | "WATCHING"
30
+ | "UNWATCHING"
31
+ | "MOVED"
32
+ | "ARCHIVED"
33
+ | "RESTORED";
@@ -0,0 +1,25 @@
1
+ export interface ITodoComment {
2
+ id: string;
3
+ createdAt: string;
4
+ updatedAt?: string;
5
+ deletedAt?: string;
6
+
7
+ body: string;
8
+
9
+ todoId: string;
10
+ userId: string;
11
+
12
+ parentId?: string;
13
+
14
+ metadata?: any;
15
+ }
16
+
17
+ export interface ITodoCommentReaction {
18
+ id: string;
19
+ createdAt: string;
20
+
21
+ commentId: string;
22
+ userId: string;
23
+
24
+ emoji: string;
25
+ }
@@ -0,0 +1,51 @@
1
+ export interface ITodoCustomField {
2
+ id: string;
3
+ createdAt: string;
4
+ updatedAt?: string;
5
+ deletedAt?: string;
6
+
7
+ name: string;
8
+ type: TodoCustomFieldType;
9
+
10
+ spaceId: string;
11
+
12
+ options?: ITodoCustomFieldOption[];
13
+ defaultValue?: any;
14
+
15
+ sortOrder: number;
16
+ required: boolean;
17
+
18
+ metadata?: any;
19
+ }
20
+
21
+ export interface ITodoCustomFieldOption {
22
+ label: string;
23
+ color?: string;
24
+ value: string;
25
+ }
26
+
27
+ export type TodoCustomFieldType =
28
+ | "TEXT"
29
+ | "LONG_TEXT"
30
+ | "NUMBER"
31
+ | "DATE"
32
+ | "DROPDOWN"
33
+ | "MULTI_DROPDOWN"
34
+ | "CHECKBOX"
35
+ | "EMAIL"
36
+ | "PHONE"
37
+ | "URL"
38
+ | "CURRENCY"
39
+ | "RATING"
40
+ | "PROGRESS"
41
+ | "MONEY"
42
+ | "LABELS"
43
+ | "PEOPLE"
44
+ | "FILES"
45
+ | "TASKS"
46
+ | "RELATIONSHIPS"
47
+ | "ROLLUP"
48
+ | "PROGRESS_MANUAL"
49
+ | "PROGRESS_AUTO"
50
+ | "VOTING"
51
+ | "LOCATION";
@@ -0,0 +1,11 @@
1
+ export interface ITodoDocument {
2
+ id: string;
3
+ createdAt: string;
4
+
5
+ todoId: string;
6
+ fileId: string;
7
+
8
+ addedById: string;
9
+
10
+ metadata?: any;
11
+ }
@@ -0,0 +1,66 @@
1
+ export interface ITodoFolder {
2
+ id: string;
3
+ createdAt: string;
4
+ updatedAt?: string;
5
+ deletedAt?: string;
6
+
7
+ name: string;
8
+ icon?: string;
9
+ color?: string;
10
+
11
+ spaceId: string;
12
+
13
+ sortOrder: number;
14
+
15
+ metadata?: any;
16
+ }
17
+
18
+ export interface ITodoDoc {
19
+ id: string;
20
+ createdAt: string;
21
+ updatedAt?: string;
22
+ deletedAt?: string;
23
+
24
+ title: string;
25
+ content?: any;
26
+
27
+ spaceId: string;
28
+ folderId?: string;
29
+
30
+ createdById: string;
31
+
32
+ sortOrder: number;
33
+
34
+ metadata?: any;
35
+ }
36
+
37
+ export interface ITodoChecklist {
38
+ id: string;
39
+ createdAt: string;
40
+ updatedAt?: string;
41
+
42
+ name: string;
43
+
44
+ todoId: string;
45
+
46
+ sortOrder: number;
47
+
48
+ items?: ITodoChecklistItem[];
49
+
50
+ metadata?: any;
51
+ }
52
+
53
+ export interface ITodoChecklistItem {
54
+ id: string;
55
+ createdAt: string;
56
+ updatedAt?: string;
57
+
58
+ text: string;
59
+ isChecked: boolean;
60
+
61
+ checklistId: string;
62
+
63
+ sortOrder: number;
64
+
65
+ metadata?: any;
66
+ }
@@ -0,0 +1,50 @@
1
+ export interface ITodoListFieldConfig {
2
+ id: string;
3
+ createdAt: string;
4
+ updatedAt?: string;
5
+
6
+ listId: string;
7
+
8
+ fields: ITodoListFieldEntry[];
9
+ }
10
+
11
+ export interface ITodoListFieldEntry {
12
+ key: string;
13
+ label: string;
14
+ visible: boolean; // legacy, kept for backward compat
15
+ enabled: boolean; // whether the field is active on this list (shows in detail modal)
16
+ showInList: boolean; // whether the field shows as a column in list/table row views
17
+ order: number;
18
+ type: "system" | "custom";
19
+ fieldId?: string; // for custom fields
20
+ config?: Record<string, any>;
21
+ }
22
+
23
+ /** Default system fields available for list configuration */
24
+ export const SYSTEM_FIELDS: Array<{ key: string; label: string; alwaysVisible?: boolean }> = [
25
+ { alwaysVisible: true, key: "title", label: "Task Name" },
26
+ { key: "description", label: "Description" },
27
+ { key: "statusId", label: "Status" },
28
+ { key: "priority", label: "Priority" },
29
+ { key: "assignees", label: "Assignees" },
30
+ { key: "dueDate", label: "Due Date" },
31
+ { key: "startDate", label: "Start Date" },
32
+ { key: "timeEstimate", label: "Time Estimate" },
33
+ { key: "timeTracked", label: "Time Tracked" },
34
+ { key: "createdAt", label: "Created Date" },
35
+ { key: "updatedAt", label: "Updated Date" },
36
+ { key: "closedAt", label: "Closed Date" },
37
+ { key: "createdBy", label: "Created By" },
38
+ { key: "closedBy", label: "Closed By" },
39
+ { key: "id", label: "Task ID" },
40
+ { key: "taskType", label: "Task Type" },
41
+ { key: "parentId", label: "Parent Task" },
42
+ { key: "children", label: "Subtasks" },
43
+ { key: "checklists", label: "Checklist" },
44
+ { key: "tags", label: "Tags" },
45
+ { key: "watchers", label: "Watchers" },
46
+ { key: "dependencies", label: "Dependencies" },
47
+ { key: "sprintPoints", label: "Sprint Points" },
48
+ { key: "recurringSettings", label: "Recurring Settings" },
49
+ { key: "estimatedHours", label: "Estimated Hours" },
50
+ ];
@@ -0,0 +1,21 @@
1
+ export interface ITodoList {
2
+ id: string;
3
+ createdAt: string;
4
+ updatedAt?: string;
5
+ deletedAt?: string;
6
+
7
+ name: string;
8
+ icon?: string;
9
+ color?: string;
10
+
11
+ spaceId: string;
12
+ folderId?: string;
13
+
14
+ sortOrder: number;
15
+
16
+ fieldConfig?: ITodoListFieldConfig;
17
+
18
+ metadata?: any;
19
+ }
20
+
21
+ import { ITodoListFieldConfig } from "./todo-list-field-config";
@@ -0,0 +1,44 @@
1
+ export interface ITodoSpace {
2
+ id: string;
3
+ createdAt: string;
4
+ updatedAt?: string;
5
+ deletedAt?: string;
6
+
7
+ name: string;
8
+ icon?: string;
9
+ color?: string;
10
+
11
+ regionId: string;
12
+
13
+ sortOrder: number;
14
+
15
+ metadata?: any;
16
+ }
17
+
18
+ export interface ITodoSpaceMember {
19
+ id: string;
20
+ createdAt: string;
21
+ updatedAt?: string;
22
+
23
+ spaceId: string;
24
+ userId: string;
25
+
26
+ role: TodoSpaceMemberRole;
27
+
28
+ metadata?: any;
29
+ }
30
+
31
+ export type TodoSpaceMemberRole = "OWNER" | "ADMIN" | "EDITOR" | "VIEWER";
32
+
33
+ export interface ITodoListMember {
34
+ id: string;
35
+ createdAt: string;
36
+ updatedAt?: string;
37
+
38
+ listId: string;
39
+ userId: string;
40
+
41
+ role: TodoSpaceMemberRole;
42
+
43
+ metadata?: any;
44
+ }
@@ -0,0 +1,20 @@
1
+ export interface ITodoStatus {
2
+ id: string;
3
+ createdAt: string;
4
+ updatedAt?: string;
5
+ deletedAt?: string;
6
+
7
+ name: string;
8
+ color: string;
9
+ type: TodoStatusType;
10
+
11
+ spaceId: string;
12
+
13
+ sortOrder: number;
14
+ isDefault: boolean;
15
+ isCompletedStatus: boolean;
16
+
17
+ metadata?: any;
18
+ }
19
+
20
+ export type TodoStatusType = "OPEN" | "IN_PROGRESS" | "DONE" | "CLOSED" | "CUSTOM";
@@ -0,0 +1,13 @@
1
+ export interface ITodoTag {
2
+ id: string;
3
+ createdAt: string;
4
+ updatedAt?: string;
5
+ deletedAt?: string;
6
+
7
+ name: string;
8
+ color: string;
9
+
10
+ spaceId: string;
11
+
12
+ metadata?: any;
13
+ }
@@ -0,0 +1,87 @@
1
+ export interface ITodoView {
2
+ id: string;
3
+ createdAt: string;
4
+ updatedAt?: string;
5
+ deletedAt?: string;
6
+
7
+ name: string;
8
+ type: TodoViewType;
9
+
10
+ spaceId: string;
11
+ listId?: string;
12
+
13
+ createdById: string;
14
+
15
+ isShared: boolean;
16
+ isDefault: boolean;
17
+
18
+ filters?: any;
19
+ sortConfig?: any;
20
+ groupBy?: string;
21
+ columnConfig?: any;
22
+ viewConfig?: any;
23
+
24
+ sortOrder: number;
25
+
26
+ metadata?: any;
27
+ }
28
+
29
+ export type TodoViewType = "LIST" | "BOARD" | "GANTT" | "TIMELINE" | "TABLE" | "CALENDAR";
30
+
31
+ export interface ITodoDashboard {
32
+ id: string;
33
+ createdAt: string;
34
+ updatedAt?: string;
35
+
36
+ spaceId: string;
37
+ listId?: string;
38
+
39
+ config: any;
40
+
41
+ widgets?: ITodoDashboardWidget[];
42
+ }
43
+
44
+ export interface ITodoDashboardWidget {
45
+ id: string;
46
+ createdAt: string;
47
+ updatedAt?: string;
48
+
49
+ dashboardId: string;
50
+ type: TodoDashboardWidgetType;
51
+ config: any;
52
+
53
+ x: number;
54
+ y: number;
55
+ w: number;
56
+ h: number;
57
+ }
58
+
59
+ export type TodoDashboardWidgetType =
60
+ | "STATUS_BREAKDOWN"
61
+ | "PRIORITY_BREAKDOWN"
62
+ | "ASSIGNEE_WORKLOAD"
63
+ | "DUE_DATE_CALENDAR"
64
+ | "RECENT_ACTIVITY"
65
+ | "COMPLETION_TREND"
66
+ | "OVERDUE_TODOS"
67
+ | "BURNDOWN_CHART"
68
+ | "TAG_DISTRIBUTION"
69
+ | "VELOCITY"
70
+ | "STATS_CARD";
71
+
72
+ export interface ITodoTimeEntry {
73
+ id: string;
74
+ createdAt: string;
75
+ updatedAt?: string;
76
+
77
+ todoId: string;
78
+ userId: string;
79
+
80
+ startedAt: string;
81
+ stoppedAt?: string;
82
+ duration?: number;
83
+
84
+ description?: string;
85
+
86
+ metadata?: any;
87
+ }
@@ -0,0 +1,103 @@
1
+ export interface ITodo {
2
+ id: string;
3
+ createdAt: string;
4
+ updatedAt?: string;
5
+ deletedAt?: string;
6
+
7
+ title: string;
8
+ description?: string;
9
+
10
+ statusId: string;
11
+ priority: TodoPriority;
12
+
13
+ listId: string;
14
+ spaceId: string;
15
+
16
+ createdById: string;
17
+ closedById?: string;
18
+
19
+ startDate?: string;
20
+ dueDate?: string;
21
+ completedAt?: string;
22
+ closedAt?: string;
23
+
24
+ sortOrder: number;
25
+
26
+ parentId?: string;
27
+
28
+ estimatedHours?: number;
29
+ sprintPoints?: number;
30
+ timeEstimate?: number; // seconds
31
+ recurringSettings?: any; // { frequency, interval, days, endDate }
32
+ taskType?: string;
33
+
34
+ metadata?: any;
35
+ }
36
+
37
+ export interface ITodoAssignee {
38
+ id: string;
39
+ createdAt: string;
40
+
41
+ todoId: string;
42
+ userId?: string;
43
+ employeeId?: string;
44
+
45
+ metadata?: any;
46
+ }
47
+
48
+ export interface ITodoWatcher {
49
+ id: string;
50
+ createdAt: string;
51
+
52
+ todoId: string;
53
+ userId: string;
54
+ }
55
+
56
+ export interface ITodoDependency {
57
+ id: string;
58
+ createdAt: string;
59
+
60
+ todoId: string;
61
+ dependsOnId: string;
62
+
63
+ type: TodoDependencyType;
64
+
65
+ createdById: string;
66
+ }
67
+
68
+ export interface ITodoCustomFieldValue {
69
+ id: string;
70
+ createdAt: string;
71
+ updatedAt?: string;
72
+
73
+ todoId: string;
74
+ fieldId: string;
75
+
76
+ value: any;
77
+
78
+ metadata?: any;
79
+ }
80
+
81
+ export interface ITodoListItem {
82
+ id: string;
83
+ createdAt: string;
84
+
85
+ todoId: string;
86
+ listId: string;
87
+
88
+ addedById: string;
89
+
90
+ sortOrder: number;
91
+ }
92
+
93
+ export interface ITodoTagAssignment {
94
+ id: string;
95
+ createdAt: string;
96
+
97
+ todoId: string;
98
+ tagId: string;
99
+ }
100
+
101
+ export type TodoPriority = "URGENT" | "HIGH" | "NORMAL" | "LOW";
102
+
103
+ export type TodoDependencyType = "FINISH_TO_START" | "START_TO_START" | "FINISH_TO_FINISH" | "START_TO_FINISH";
package/package.json CHANGED
@@ -44,7 +44,7 @@
44
44
  "private": false,
45
45
  "repository": {
46
46
  "type": "git",
47
- "url": "git+https://github.com/automateinc/fleet-types.git"
47
+ "url": "https://github.com/automateinc/fleet-types"
48
48
  },
49
49
  "scripts": {
50
50
  "build": "tsc && cp -R src/types dist/",
@@ -52,5 +52,5 @@
52
52
  "test": "echo \"Error: no test specified\" && exit 1"
53
53
  },
54
54
  "types": "dist/types/index.d.ts",
55
- "version": "1.0.88"
55
+ "version": "1.0.89-dev.2c2e88a"
56
56
  }