@demind-inc/core 1.10.14 → 1.10.16

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.
@@ -3,6 +3,7 @@ import { TodoIntegrationType } from "./TodoIntegrations";
3
3
  import { TaskLabel } from "./TaskLabels";
4
4
  import { CircadianPhase } from "../types";
5
5
  import { AppleRecurrenceRuleFrequency } from "./Calendar";
6
+ import { TeamRole } from "./Team";
6
7
  export type WebhookStatus = "pending" | "synced" | "skipped" | "failed";
7
8
  export interface TodoTasksBoardAdditionalParamsGithub {
8
9
  projectId: string;
@@ -105,6 +106,14 @@ export interface WebhookStatusSet {
105
106
  status: WebhookStatus;
106
107
  syncedAt: number;
107
108
  }
109
+ export interface TeamTaskAssignment {
110
+ teamId: string;
111
+ createdByUserId: string;
112
+ assigneeUserId?: string;
113
+ assignedByUserId?: string;
114
+ createdAt: string;
115
+ updatedAt: string;
116
+ }
108
117
  export interface TaskItem {
109
118
  taskId: string;
110
119
  originalTaskId: string;
@@ -121,14 +130,7 @@ export interface TaskItem {
121
130
  labels?: TaskLabel[];
122
131
  assigneesIds?: string[];
123
132
  isMeAssigned?: boolean;
124
- teamTaskAssignment?: {
125
- teamId: string;
126
- createdByUserId: string;
127
- assigneeUserId?: string;
128
- assignedByUserId?: string;
129
- createdAt: string;
130
- updatedAt: string;
131
- };
133
+ teamTaskAssignment?: TeamTaskAssignment;
132
134
  updatedAt: string;
133
135
  duration?: TaskItemDuration;
134
136
  addedToCalendar?: boolean;
@@ -156,6 +158,47 @@ export interface TaskItem {
156
158
  [key: string]: any;
157
159
  };
158
160
  }
161
+ export type TeamTaskSource = "shared-personal-board" | "team-board";
162
+ export type TeamTaskBucket = "overdue" | "today" | "upcoming" | "done";
163
+ export interface TeamTaskMemberSummary {
164
+ userId: string;
165
+ teamMemberId?: string;
166
+ name?: string;
167
+ photoUrl?: string;
168
+ role?: TeamRole;
169
+ }
170
+ export interface TeamTaskProjectSummary {
171
+ boardId: string;
172
+ name: string;
173
+ appFrom?: TodoAppFrom;
174
+ teamId?: string;
175
+ }
176
+ export interface TeamTaskPermissions {
177
+ canEdit: boolean;
178
+ canDelete: boolean;
179
+ canComplete: boolean;
180
+ canAssign: boolean;
181
+ }
182
+ export interface TeamTaskDetailItem {
183
+ source: TeamTaskSource;
184
+ isOwnTask: boolean;
185
+ isMeAssigned: boolean;
186
+ owner: TeamTaskMemberSummary;
187
+ assignee: TeamTaskMemberSummary | null;
188
+ project: TeamTaskProjectSummary;
189
+ permissions: TeamTaskPermissions;
190
+ task: TaskItem;
191
+ }
192
+ export interface TeamTaskItem extends TeamTaskDetailItem {
193
+ bucket: TeamTaskBucket;
194
+ }
195
+ export interface TeamTaskTeamSummary {
196
+ teamId: string;
197
+ name: string;
198
+ }
199
+ export interface TeamAssignedTaskItem extends TeamTaskItem {
200
+ team: TeamTaskTeamSummary;
201
+ }
159
202
  export interface TaskRecurringInstance extends Omit<TaskItem, "subTasks" | "isRecurringChild" | "parentTaskId"> {
160
203
  /** Firestore doc id `${parentTaskId}_${yyyy-MM-dd}` */
161
204
  taskId: string;
@@ -176,6 +219,8 @@ export type SuggestedTaskItem = Pick<TaskItem, "taskId" | "name" | "duration" |
176
219
  reasoning: string;
177
220
  suggestedStartTime: string;
178
221
  suggestedEndTime: string;
222
+ suggestedStartDayOffset?: number;
223
+ suggestedEndDayOffset?: number;
179
224
  priority?: string;
180
225
  };
181
226
  export type NativeAppleRemindersSource = "Local" | "iCloud";
@@ -3,6 +3,7 @@ import { TodoIntegrationType } from "./TodoIntegrations";
3
3
  import { TaskLabel } from "./TaskLabels";
4
4
  import { CircadianPhase } from "../types";
5
5
  import { AppleRecurrenceRuleFrequency } from "./Calendar";
6
+ import { TeamRole } from "./Team";
6
7
 
7
8
  export type WebhookStatus = "pending" | "synced" | "skipped" | "failed";
8
9
 
@@ -121,6 +122,15 @@ export interface WebhookStatusSet {
121
122
  syncedAt: number;
122
123
  }
123
124
 
125
+ export interface TeamTaskAssignment {
126
+ teamId: string;
127
+ createdByUserId: string;
128
+ assigneeUserId?: string;
129
+ assignedByUserId?: string;
130
+ createdAt: string;
131
+ updatedAt: string;
132
+ }
133
+
124
134
  export interface TaskItem {
125
135
  taskId: string;
126
136
  originalTaskId: string;
@@ -137,14 +147,7 @@ export interface TaskItem {
137
147
  labels?: TaskLabel[];
138
148
  assigneesIds?: string[];
139
149
  isMeAssigned?: boolean;
140
- teamTaskAssignment?: {
141
- teamId: string;
142
- createdByUserId: string;
143
- assigneeUserId?: string;
144
- assignedByUserId?: string;
145
- createdAt: string;
146
- updatedAt: string;
147
- };
150
+ teamTaskAssignment?: TeamTaskAssignment;
148
151
  updatedAt: string;
149
152
  duration?: TaskItemDuration;
150
153
  addedToCalendar?: boolean;
@@ -173,6 +176,56 @@ export interface TaskItem {
173
176
  };
174
177
  }
175
178
 
179
+ export type TeamTaskSource = "shared-personal-board" | "team-board";
180
+
181
+ export type TeamTaskBucket = "overdue" | "today" | "upcoming" | "done";
182
+
183
+ export interface TeamTaskMemberSummary {
184
+ userId: string;
185
+ teamMemberId?: string;
186
+ name?: string;
187
+ photoUrl?: string;
188
+ role?: TeamRole;
189
+ }
190
+
191
+ export interface TeamTaskProjectSummary {
192
+ boardId: string;
193
+ name: string;
194
+ appFrom?: TodoAppFrom;
195
+ teamId?: string;
196
+ }
197
+
198
+ export interface TeamTaskPermissions {
199
+ canEdit: boolean;
200
+ canDelete: boolean;
201
+ canComplete: boolean;
202
+ canAssign: boolean;
203
+ }
204
+
205
+ export interface TeamTaskDetailItem {
206
+ source: TeamTaskSource;
207
+ isOwnTask: boolean;
208
+ isMeAssigned: boolean;
209
+ owner: TeamTaskMemberSummary;
210
+ assignee: TeamTaskMemberSummary | null;
211
+ project: TeamTaskProjectSummary;
212
+ permissions: TeamTaskPermissions;
213
+ task: TaskItem;
214
+ }
215
+
216
+ export interface TeamTaskItem extends TeamTaskDetailItem {
217
+ bucket: TeamTaskBucket;
218
+ }
219
+
220
+ export interface TeamTaskTeamSummary {
221
+ teamId: string;
222
+ name: string;
223
+ }
224
+
225
+ export interface TeamAssignedTaskItem extends TeamTaskItem {
226
+ team: TeamTaskTeamSummary;
227
+ }
228
+
176
229
  export interface TaskRecurringInstance
177
230
  extends Omit<TaskItem, "subTasks" | "isRecurringChild" | "parentTaskId"> {
178
231
  /** Firestore doc id `${parentTaskId}_${yyyy-MM-dd}` */
@@ -200,6 +253,8 @@ export type SuggestedTaskItem = Pick<
200
253
  reasoning: string;
201
254
  suggestedStartTime: string;
202
255
  suggestedEndTime: string;
256
+ suggestedStartDayOffset?: number;
257
+ suggestedEndDayOffset?: number;
203
258
  priority?: string;
204
259
  };
205
260
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@demind-inc/core",
3
- "version": "1.10.14",
3
+ "version": "1.10.16",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {