basecamp-client 1.0.9 → 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -160,7 +160,7 @@ async function asyncPagedToArray(options) {
160
160
  var import_core3 = require("@ts-rest/core");
161
161
 
162
162
  // src/contract/index.ts
163
- var import_zod69 = require("zod");
163
+ var import_zod71 = require("zod");
164
164
 
165
165
  // src/contract/c.ts
166
166
  var import_core = require("@ts-rest/core");
@@ -454,7 +454,7 @@ var MessageListQuerySchema = import_zod7.z.object({
454
454
  });
455
455
  var MessageCreateBodySchema = import_zod7.z.object({
456
456
  subject: import_zod7.z.string().min(1),
457
- status: import_zod7.z.enum(["active", "draft"]).or(import_zod7.z.string()),
457
+ status: import_zod7.z.enum(["active", "drafted"]).or(import_zod7.z.string()),
458
458
  content: HtmlStringSchema.optional(),
459
459
  category_id: BasecampIdSchema.optional(),
460
460
  subscriptions: import_zod7.z.array(BasecampIdSchema).optional()
@@ -1263,7 +1263,7 @@ var DocumentListQuerySchema = import_zod28.z.object({
1263
1263
  var DocumentCreateBodySchema = import_zod28.z.object({
1264
1264
  title: import_zod28.z.string().min(1),
1265
1265
  content: HtmlStringSchema,
1266
- status: import_zod28.z.enum(["active", "draft"]).or(import_zod28.z.string()).optional()
1266
+ status: import_zod28.z.enum(["active", "drafted"]).or(import_zod28.z.string()).optional()
1267
1267
  });
1268
1268
  var DocumentUpdateBodySchema = import_zod28.z.object({
1269
1269
  title: import_zod28.z.string().min(1).optional(),
@@ -2259,7 +2259,7 @@ var CardTableCardUpdateBodySchema = import_zod48.z.object({
2259
2259
  );
2260
2260
  var CardTableCardMoveBodySchema = import_zod48.z.object({
2261
2261
  column_id: BasecampIdSchema,
2262
- position: import_zod48.z.number().int().nonnegative().optional()
2262
+ position: import_zod48.z.number().int().positive().optional()
2263
2263
  });
2264
2264
 
2265
2265
  // src/contract/resources/kanban/card-tables.ts
@@ -2934,26 +2934,104 @@ var questionsRouter = c.router({
2934
2934
  }
2935
2935
  });
2936
2936
 
2937
- // src/contract/resources/tasks/todosets.ts
2937
+ // src/contract/resources/scheduling/question-answers.ts
2938
2938
  var import_zod62 = require("zod");
2939
2939
 
2940
- // src/contract/schemas/tasks/todosets.ts
2940
+ // src/contract/schemas/scheduling/question-answers.ts
2941
2941
  var import_zod61 = require("zod");
2942
+ var QuestionAnswerSchema = RecordingBaseSchema.extend({
2943
+ type: import_zod61.z.literal("Question::Answer"),
2944
+ content: HtmlStringSchema,
2945
+ group_on: import_zod61.z.string()
2946
+ });
2947
+ var QuestionAnswerListResponseSchema = import_zod61.z.array(QuestionAnswerSchema);
2948
+ var QuestionAnswerListQuerySchema = import_zod61.z.object({
2949
+ page: import_zod61.z.coerce.number().int().positive().optional()
2950
+ });
2951
+ var QuestionAnswerCreateBodySchema = import_zod61.z.object({
2952
+ content: HtmlStringSchema.min(1),
2953
+ group_on: import_zod61.z.string()
2954
+ });
2955
+
2956
+ // src/contract/resources/scheduling/question-answers.ts
2957
+ var bucketAndQuestionPathParams2 = import_zod62.z.object({
2958
+ bucketId: BasecampIdParamSchema,
2959
+ questionId: BasecampIdParamSchema
2960
+ });
2961
+ var bucketAndAnswerPathParams = import_zod62.z.object({
2962
+ bucketId: BasecampIdParamSchema,
2963
+ answerId: BasecampIdParamSchema
2964
+ });
2965
+ var questionAnswersRouter = c.router({
2966
+ list: {
2967
+ summary: "List question answers",
2968
+ description: "Returns a paginated list of answers for a specific check-in question.",
2969
+ metadata: {
2970
+ tag: "Question Answers",
2971
+ operationId: "questionAnswers.list",
2972
+ docsPath: "/docs/basecamp-api-specs/sections/question_answers.md#get-question-answers"
2973
+ },
2974
+ method: "GET",
2975
+ path: "/buckets/:bucketId/questions/:questionId/answers",
2976
+ pathParams: bucketAndQuestionPathParams2,
2977
+ query: QuestionAnswerListQuerySchema,
2978
+ responses: {
2979
+ 200: QuestionAnswerListResponseSchema
2980
+ }
2981
+ },
2982
+ get: {
2983
+ summary: "Get a question answer",
2984
+ description: "Returns a single question answer by its ID.",
2985
+ metadata: {
2986
+ tag: "Question Answers",
2987
+ operationId: "questionAnswers.get",
2988
+ docsPath: "/docs/basecamp-api-specs/sections/question_answers.md#get-a-question-answer"
2989
+ },
2990
+ method: "GET",
2991
+ path: "/buckets/:bucketId/question_answers/:answerId",
2992
+ pathParams: bucketAndAnswerPathParams,
2993
+ responses: {
2994
+ 200: QuestionAnswerSchema
2995
+ }
2996
+ },
2997
+ create: {
2998
+ summary: "Create a question answer",
2999
+ description: "Create a new answer for a check-in question.",
3000
+ metadata: {
3001
+ tag: "Question Answers",
3002
+ operationId: "questionAnswers.create",
3003
+ docsPath: "/docs/basecamp-api-specs/sections/question_answers.md#get-question-answers"
3004
+ },
3005
+ method: "POST",
3006
+ path: "/buckets/:bucketId/questions/:questionId/answers",
3007
+ pathParams: bucketAndQuestionPathParams2,
3008
+ body: QuestionAnswerCreateBodySchema,
3009
+ responses: {
3010
+ 201: QuestionAnswerSchema
3011
+ }
3012
+ }
3013
+ });
3014
+
3015
+ // src/contract/resources/tasks/todosets.ts
3016
+ var import_zod64 = require("zod");
3017
+
3018
+ // src/contract/schemas/tasks/todosets.ts
3019
+ var import_zod63 = require("zod");
2942
3020
  var TodoSetSchema = RecordingBaseSchema.omit({
2943
3021
  subscription_url: true,
2944
3022
  comments_count: true,
2945
3023
  comments_url: true
2946
3024
  }).extend({
2947
- completed: import_zod61.z.boolean(),
2948
- completed_ratio: import_zod61.z.string(),
2949
- name: import_zod61.z.string(),
2950
- todolists_count: import_zod61.z.number().int().nonnegative(),
2951
- todolists_url: import_zod61.z.string().url(),
2952
- app_todoslists_url: import_zod61.z.string().url()
3025
+ completed: import_zod63.z.boolean(),
3026
+ completed_ratio: import_zod63.z.string(),
3027
+ name: import_zod63.z.string(),
3028
+ todolists_count: import_zod63.z.number().int().nonnegative(),
3029
+ todolists_url: import_zod63.z.string().url(),
3030
+ app_todoslists_url: import_zod63.z.string().url()
2953
3031
  });
2954
3032
 
2955
3033
  // src/contract/resources/tasks/todosets.ts
2956
- var bucketPathParams2 = import_zod62.z.object({
3034
+ var bucketPathParams2 = import_zod64.z.object({
2957
3035
  bucketId: BasecampIdParamSchema
2958
3036
  });
2959
3037
  var bucketAndTodoSetPathParams = bucketPathParams2.extend({
@@ -2978,42 +3056,42 @@ var todoSetsRouter = c.router({
2978
3056
  });
2979
3057
 
2980
3058
  // src/contract/resources/tasks/todolists.ts
2981
- var import_zod64 = require("zod");
3059
+ var import_zod66 = require("zod");
2982
3060
 
2983
3061
  // src/contract/schemas/tasks/todolists.ts
2984
- var import_zod63 = require("zod");
3062
+ var import_zod65 = require("zod");
2985
3063
  var TodoListBaseSchema = RecordingBaseSchema.extend({
2986
- type: import_zod63.z.literal("Todolist"),
3064
+ type: import_zod65.z.literal("Todolist"),
2987
3065
  description: HtmlStringSchema.optional(),
2988
- completed: import_zod63.z.boolean(),
2989
- completed_ratio: import_zod63.z.string(),
2990
- name: import_zod63.z.string(),
2991
- todos_url: import_zod63.z.string().url(),
2992
- app_todos_url: import_zod63.z.string().url()
3066
+ completed: import_zod65.z.boolean(),
3067
+ completed_ratio: import_zod65.z.string(),
3068
+ name: import_zod65.z.string(),
3069
+ todos_url: import_zod65.z.string().url(),
3070
+ app_todos_url: import_zod65.z.string().url()
2993
3071
  });
2994
3072
  var TodoTopLevelListSchema = TodoListBaseSchema.extend({
2995
- groups_url: import_zod63.z.string().url()
3073
+ groups_url: import_zod65.z.string().url()
2996
3074
  });
2997
3075
  var TodoListGroupSchema = TodoListBaseSchema.extend({
2998
- group_position_url: import_zod63.z.string().url()
3076
+ group_position_url: import_zod65.z.string().url()
2999
3077
  });
3000
- var TodoListSchema = import_zod63.z.union([TodoTopLevelListSchema, TodoListGroupSchema]);
3001
- var TodoListsResponseSchema = import_zod63.z.array(TodoTopLevelListSchema);
3002
- var TodoListQuerySchema = import_zod63.z.object({
3003
- status: import_zod63.z.enum(["active", "archived", "trashed"]).or(import_zod63.z.string()).optional(),
3004
- page: import_zod63.z.coerce.number().int().positive().optional()
3078
+ var TodoListSchema = import_zod65.z.union([TodoTopLevelListSchema, TodoListGroupSchema]);
3079
+ var TodoListsResponseSchema = import_zod65.z.array(TodoTopLevelListSchema);
3080
+ var TodoListQuerySchema = import_zod65.z.object({
3081
+ status: import_zod65.z.enum(["active", "archived", "trashed"]).or(import_zod65.z.string()).optional(),
3082
+ page: import_zod65.z.coerce.number().int().positive().optional()
3005
3083
  });
3006
- var TodoListCreateBodySchema = import_zod63.z.object({
3007
- name: import_zod63.z.string().min(1),
3084
+ var TodoListCreateBodySchema = import_zod65.z.object({
3085
+ name: import_zod65.z.string().min(1),
3008
3086
  description: HtmlStringSchema.nullable().optional()
3009
3087
  });
3010
- var TodoListUpdateBodySchema = import_zod63.z.object({
3011
- name: import_zod63.z.string().min(1),
3088
+ var TodoListUpdateBodySchema = import_zod65.z.object({
3089
+ name: import_zod65.z.string().min(1),
3012
3090
  description: HtmlStringSchema.nullable().optional()
3013
3091
  });
3014
3092
 
3015
3093
  // src/contract/resources/tasks/todolists.ts
3016
- var bucketPathParams3 = import_zod64.z.object({
3094
+ var bucketPathParams3 = import_zod66.z.object({
3017
3095
  bucketId: BasecampIdParamSchema
3018
3096
  });
3019
3097
  var bucketAndTodoSetPathParams2 = bucketPathParams3.extend({
@@ -3105,31 +3183,31 @@ var todoListsRouter = c.router({
3105
3183
  });
3106
3184
 
3107
3185
  // src/contract/resources/tasks/todolist-groups.ts
3108
- var import_zod66 = require("zod");
3186
+ var import_zod68 = require("zod");
3109
3187
 
3110
3188
  // src/contract/schemas/tasks/todolist-groups.ts
3111
- var import_zod65 = require("zod");
3189
+ var import_zod67 = require("zod");
3112
3190
  var TodoListBaseSchema2 = RecordingBaseSchema.extend({
3113
- type: import_zod65.z.literal("Todolist"),
3191
+ type: import_zod67.z.literal("Todolist"),
3114
3192
  description: HtmlStringSchema.optional(),
3115
- completed: import_zod65.z.boolean(),
3116
- completed_ratio: import_zod65.z.string(),
3117
- name: import_zod65.z.string(),
3118
- todos_url: import_zod65.z.string().url(),
3119
- app_todos_url: import_zod65.z.string().url()
3193
+ completed: import_zod67.z.boolean(),
3194
+ completed_ratio: import_zod67.z.string(),
3195
+ name: import_zod67.z.string(),
3196
+ todos_url: import_zod67.z.string().url(),
3197
+ app_todos_url: import_zod67.z.string().url()
3120
3198
  });
3121
3199
  var TodoListGroupSchema2 = TodoListBaseSchema2.extend({
3122
- group_position_url: import_zod65.z.string().url()
3200
+ group_position_url: import_zod67.z.string().url()
3123
3201
  });
3124
3202
  var TodoListSchema2 = TodoListGroupSchema2;
3125
- var TodoListGroupsResponseSchema = import_zod65.z.array(TodoListGroupSchema2);
3126
- var TodoListGroupQuerySchema = import_zod65.z.object({
3127
- status: import_zod65.z.enum(["active", "archived", "trashed"]).or(import_zod65.z.string()).optional(),
3128
- page: import_zod65.z.coerce.number().int().positive().optional()
3203
+ var TodoListGroupsResponseSchema = import_zod67.z.array(TodoListGroupSchema2);
3204
+ var TodoListGroupQuerySchema = import_zod67.z.object({
3205
+ status: import_zod67.z.enum(["active", "archived", "trashed"]).or(import_zod67.z.string()).optional(),
3206
+ page: import_zod67.z.coerce.number().int().positive().optional()
3129
3207
  });
3130
- var TodoListGroupCreateBodySchema = import_zod65.z.object({
3131
- name: import_zod65.z.string().min(1),
3132
- color: import_zod65.z.enum([
3208
+ var TodoListGroupCreateBodySchema = import_zod67.z.object({
3209
+ name: import_zod67.z.string().min(1),
3210
+ color: import_zod67.z.enum([
3133
3211
  "white",
3134
3212
  "red",
3135
3213
  "orange",
@@ -3141,14 +3219,14 @@ var TodoListGroupCreateBodySchema = import_zod65.z.object({
3141
3219
  "gray",
3142
3220
  "pink",
3143
3221
  "brown"
3144
- ]).or(import_zod65.z.string()).optional()
3222
+ ]).or(import_zod67.z.string()).optional()
3145
3223
  });
3146
- var TodoListGroupRepositionBodySchema = import_zod65.z.object({
3147
- position: import_zod65.z.number().int().gte(1)
3224
+ var TodoListGroupRepositionBodySchema = import_zod67.z.object({
3225
+ position: import_zod67.z.number().int().gte(1)
3148
3226
  });
3149
3227
 
3150
3228
  // src/contract/resources/tasks/todolist-groups.ts
3151
- var bucketPathParams4 = import_zod66.z.object({
3229
+ var bucketPathParams4 = import_zod68.z.object({
3152
3230
  bucketId: BasecampIdParamSchema
3153
3231
  });
3154
3232
  var bucketAndTodoListPathParams2 = bucketPathParams4.extend({
@@ -3209,56 +3287,56 @@ var todoListGroupsRouter = c.router({
3209
3287
  });
3210
3288
 
3211
3289
  // src/contract/resources/tasks/todos.ts
3212
- var import_zod68 = require("zod");
3290
+ var import_zod70 = require("zod");
3213
3291
 
3214
3292
  // src/contract/schemas/tasks/todos.ts
3215
- var import_zod67 = require("zod");
3216
- var TodoCompletionSchema = import_zod67.z.object({
3293
+ var import_zod69 = require("zod");
3294
+ var TodoCompletionSchema = import_zod69.z.object({
3217
3295
  created_at: IsoDateTimeSchema,
3218
3296
  creator: PersonSummarySchema
3219
3297
  });
3220
3298
  var TodoSchema = RecordingBaseSchema.extend({
3221
- type: import_zod67.z.literal("Todo"),
3299
+ type: import_zod69.z.literal("Todo"),
3222
3300
  description: HtmlStringSchema.optional(),
3223
- completed: import_zod67.z.boolean(),
3301
+ completed: import_zod69.z.boolean(),
3224
3302
  completion: TodoCompletionSchema.optional(),
3225
- content: import_zod67.z.string(),
3226
- starts_on: import_zod67.z.string().date().nullable().optional(),
3227
- due_on: import_zod67.z.string().date().nullable().optional(),
3228
- assignees: import_zod67.z.array(PersonSummarySchema),
3229
- completion_subscribers: import_zod67.z.array(PersonSummarySchema),
3230
- completion_url: import_zod67.z.string().url()
3231
- });
3232
- var TodoCollectionResponseSchema = import_zod67.z.array(TodoSchema);
3233
- var TodoQuerySchema = import_zod67.z.object({
3234
- status: import_zod67.z.enum(["active", "archived", "trashed"]).or(import_zod67.z.string()).optional(),
3235
- completed: import_zod67.z.enum(["true"]).optional(),
3236
- page: import_zod67.z.coerce.number().int().positive().optional()
3237
- });
3238
- var TodoCreateBodySchema = import_zod67.z.object({
3239
- content: import_zod67.z.string().min(1),
3303
+ content: import_zod69.z.string(),
3304
+ starts_on: import_zod69.z.string().date().nullable().optional(),
3305
+ due_on: import_zod69.z.string().date().nullable().optional(),
3306
+ assignees: import_zod69.z.array(PersonSummarySchema),
3307
+ completion_subscribers: import_zod69.z.array(PersonSummarySchema),
3308
+ completion_url: import_zod69.z.string().url()
3309
+ });
3310
+ var TodoCollectionResponseSchema = import_zod69.z.array(TodoSchema);
3311
+ var TodoQuerySchema = import_zod69.z.object({
3312
+ status: import_zod69.z.enum(["active", "archived", "trashed"]).or(import_zod69.z.string()).optional(),
3313
+ completed: import_zod69.z.literal(true).optional(),
3314
+ page: import_zod69.z.coerce.number().int().positive().optional()
3315
+ });
3316
+ var TodoCreateBodySchema = import_zod69.z.object({
3317
+ content: import_zod69.z.string().min(1),
3240
3318
  description: HtmlStringSchema.nullable().optional(),
3241
- assignee_ids: import_zod67.z.array(BasecampIdSchema).optional(),
3242
- completion_subscriber_ids: import_zod67.z.array(BasecampIdSchema).optional(),
3243
- notify: import_zod67.z.boolean().optional(),
3244
- due_on: import_zod67.z.string().date().nullable().optional(),
3245
- starts_on: import_zod67.z.string().date().nullable().optional()
3246
- });
3247
- var TodoUpdateBodySchema = import_zod67.z.object({
3248
- content: import_zod67.z.string().min(1),
3319
+ assignee_ids: import_zod69.z.array(BasecampIdSchema).optional(),
3320
+ completion_subscriber_ids: import_zod69.z.array(BasecampIdSchema).optional(),
3321
+ notify: import_zod69.z.boolean().optional(),
3322
+ due_on: import_zod69.z.string().date().nullable().optional(),
3323
+ starts_on: import_zod69.z.string().date().nullable().optional()
3324
+ });
3325
+ var TodoUpdateBodySchema = import_zod69.z.object({
3326
+ content: import_zod69.z.string().min(1),
3249
3327
  description: HtmlStringSchema.nullable().optional(),
3250
- assignee_ids: import_zod67.z.array(BasecampIdSchema).optional(),
3251
- completion_subscriber_ids: import_zod67.z.array(BasecampIdSchema).optional(),
3252
- notify: import_zod67.z.boolean().optional(),
3253
- due_on: import_zod67.z.string().date().nullable().optional(),
3254
- starts_on: import_zod67.z.string().date().nullable().optional()
3328
+ assignee_ids: import_zod69.z.array(BasecampIdSchema).optional(),
3329
+ completion_subscriber_ids: import_zod69.z.array(BasecampIdSchema).optional(),
3330
+ notify: import_zod69.z.boolean().optional(),
3331
+ due_on: import_zod69.z.string().date().nullable().optional(),
3332
+ starts_on: import_zod69.z.string().date().nullable().optional()
3255
3333
  });
3256
- var TodoRepositionBodySchema = import_zod67.z.object({
3257
- position: import_zod67.z.number().int().gte(1)
3334
+ var TodoRepositionBodySchema = import_zod69.z.object({
3335
+ position: import_zod69.z.number().int().gte(1)
3258
3336
  });
3259
3337
 
3260
3338
  // src/contract/resources/tasks/todos.ts
3261
- var bucketPathParams5 = import_zod68.z.object({
3339
+ var bucketPathParams5 = import_zod70.z.object({
3262
3340
  bucketId: BasecampIdParamSchema
3263
3341
  });
3264
3342
  var bucketAndTodoListPathParams3 = bucketPathParams5.extend({
@@ -3429,6 +3507,7 @@ var contract = c.router(
3429
3507
  scheduleEntries: scheduleEntriesRouter,
3430
3508
  questionnaires: questionnairesRouter,
3431
3509
  questions: questionsRouter,
3510
+ questionAnswers: questionAnswersRouter,
3432
3511
  documents: documentsRouter,
3433
3512
  vaults: vaultsRouter,
3434
3513
  uploads: uploadsRouter,
@@ -3437,10 +3516,10 @@ var contract = c.router(
3437
3516
  },
3438
3517
  {
3439
3518
  strictStatusCodes: true,
3440
- baseHeaders: import_zod69.z.object({
3441
- Authorization: import_zod69.z.string().min(1),
3442
- "User-Agent": import_zod69.z.string().min(1).optional(),
3443
- Accept: import_zod69.z.literal("application/json").optional()
3519
+ baseHeaders: import_zod71.z.object({
3520
+ Authorization: import_zod71.z.string().min(1),
3521
+ "User-Agent": import_zod71.z.string().min(1).optional(),
3522
+ Accept: import_zod71.z.literal("application/json").optional()
3444
3523
  })
3445
3524
  }
3446
3525
  );