@chusky/sdk 1.8.1 → 1.9.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.
- package/CHANGELOG.md +15 -0
- package/dist/client.d.ts +9 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +22 -3
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/stream.d.ts +7 -0
- package/dist/stream.d.ts.map +1 -1
- package/dist/stream.js +62 -0
- package/dist/stream.js.map +1 -1
- package/dist/types.d.ts +139 -0
- package/dist/types.d.ts.map +1 -1
- package/docs/api-contract.md +13 -3
- package/docs/missions.mdx +14 -0
- package/openapi.yaml +65 -3
- package/package.json +1 -1
package/openapi.yaml
CHANGED
|
@@ -107,10 +107,12 @@ paths:
|
|
|
107
107
|
get: { summary: List account voice calls with redacted destinations, parameters: [{ $ref: '#/components/parameters/UserId' }], responses: { '200': { description: OK } } }
|
|
108
108
|
post: { summary: Validate and start an outbound voice call, parameters: [{ $ref: '#/components/parameters/UserId' }, { $ref: '#/components/parameters/IdempotencyKey' }], responses: { '201': { description: Started call record } } }
|
|
109
109
|
/meetings:
|
|
110
|
-
get: { summary: List owner-scoped Recall meeting preparations, meetings, participants, and contacts, parameters: [{ $ref: '#/components/parameters/UserId' }], responses: { '200': { description: OK } } }
|
|
110
|
+
get: { summary: List owner-scoped Recall meeting rooms, preparations, meetings, participants, and contacts, parameters: [{ $ref: '#/components/parameters/UserId' }], responses: { '200': { description: OK } } }
|
|
111
111
|
post: { summary: Join or schedule a Recall meeting, parameters: [{ $ref: '#/components/parameters/UserId' }, { $ref: '#/components/parameters/IdempotencyKey' }], responses: { '201': { description: Meeting lifecycle record } } }
|
|
112
112
|
/meetings/prepare:
|
|
113
113
|
post: { summary: Generate a private client-bound meeting brief without joining, parameters: [{ $ref: '#/components/parameters/UserId' }], responses: { '200': { description: Prepared meeting mission } } }
|
|
114
|
+
/meetings/stream:
|
|
115
|
+
get: { summary: Stream owner-scoped meeting workspace snapshots over Server-Sent Events, parameters: [{ $ref: '#/components/parameters/UserId' }], responses: { '200': { description: text/event-stream meeting snapshots } } }
|
|
114
116
|
/meetings/profile:
|
|
115
117
|
get: { summary: Get the account meeting representative profile, parameters: [{ $ref: '#/components/parameters/UserId' }], responses: { '200': { description: Profile } } }
|
|
116
118
|
patch: { summary: Update the account meeting representative profile, parameters: [{ $ref: '#/components/parameters/UserId' }], responses: { '200': { description: Updated profile } } }
|
|
@@ -158,7 +160,7 @@ paths:
|
|
|
158
160
|
/triggers/{triggerId}:
|
|
159
161
|
patch:
|
|
160
162
|
summary: Enable, disable, or update the owner-authored instructions for a trigger
|
|
161
|
-
|
|
163
|
+
parameters: [{ name: triggerId, in: path, required: true, schema: { type: string } }, { $ref: '#/components/parameters/UserId' }]
|
|
162
164
|
requestBody:
|
|
163
165
|
required: true
|
|
164
166
|
content:
|
|
@@ -322,9 +324,36 @@ paths:
|
|
|
322
324
|
get: { summary: List owner-scoped recurring-job occurrences, parameters: [{ $ref: '#/components/parameters/UserId' }, { name: limit, in: query, schema: { type: integer, minimum: 1, maximum: 100 } }], responses: { '200': { description: Occurrence history } } }
|
|
323
325
|
/missions:
|
|
324
326
|
get: { summary: List owner-scoped autonomous missions, parameters: [{ $ref: '#/components/parameters/UserId' }], responses: { '200': { description: Mission records } } }
|
|
325
|
-
post:
|
|
327
|
+
post:
|
|
328
|
+
summary: Create and start a durable dependency-aware mission
|
|
329
|
+
parameters: [{ $ref: '#/components/parameters/UserId' }, { $ref: '#/components/parameters/IdempotencyKey' }]
|
|
330
|
+
requestBody:
|
|
331
|
+
required: true
|
|
332
|
+
content:
|
|
333
|
+
application/json:
|
|
334
|
+
schema:
|
|
335
|
+
type: object
|
|
336
|
+
required: [title, objective, definitionOfDone]
|
|
337
|
+
properties:
|
|
338
|
+
title: { type: string, maxLength: 240 }
|
|
339
|
+
objective: { type: string, maxLength: 8000 }
|
|
340
|
+
definitionOfDone: { type: string, maxLength: 4000 }
|
|
341
|
+
maxDurationSeconds: { type: integer, minimum: 60, maximum: 2592000 }
|
|
342
|
+
durationMode: { type: string, enum: [active, wall_clock], default: active }
|
|
343
|
+
maxLifetimeSeconds: { type: integer, minimum: 60, maximum: 2592000, description: Absolute elapsed-time limit from start including waits; active default is 14 days. }
|
|
344
|
+
automaticExtensionSeconds: { type: integer, minimum: 0, maximum: 3600, default: 0 }
|
|
345
|
+
maxAutomaticExtensions: { type: integer, minimum: 0, maximum: 10, default: 0 }
|
|
346
|
+
maxSteps: { type: integer, minimum: 1, maximum: 1000 }
|
|
347
|
+
maxSlices: { type: integer, minimum: 1, maximum: 100000 }
|
|
348
|
+
maxToolCalls: { type: integer, minimum: 1, maximum: 10000 }
|
|
349
|
+
maxCost: { type: number, minimum: 0, maximum: 10000 }
|
|
350
|
+
workSchedule: { $ref: '#/components/schemas/MissionWorkSchedule' }
|
|
351
|
+
budgetCeiling: { $ref: '#/components/schemas/MissionBudgetCeiling' }
|
|
352
|
+
responses: { '201': { description: Mission started with persisted timing and bounded extension usage } }
|
|
326
353
|
/missions/{missionId}:
|
|
327
354
|
get: { summary: Get an autonomous mission, parameters: [{ $ref: '#/components/parameters/UserId' }, { $ref: '#/components/parameters/MissionId' }], responses: { '200': { description: Mission record } } }
|
|
355
|
+
/missions/{missionId}/doctor:
|
|
356
|
+
get: { summary: Explain the current durable mission state and exact safe next action, parameters: [{ $ref: '#/components/parameters/UserId' }, { $ref: '#/components/parameters/MissionId' }], responses: { '200': { description: Bounded read-only mission diagnosis } } }
|
|
328
357
|
/missions/{missionId}/events:
|
|
329
358
|
get: { summary: List mission lifecycle events, parameters: [{ $ref: '#/components/parameters/UserId' }, { $ref: '#/components/parameters/MissionId' }], responses: { '200': { description: Mission events } } }
|
|
330
359
|
post: { summary: Resume a mission for its exact expected provider event, parameters: [{ $ref: '#/components/parameters/UserId' }, { $ref: '#/components/parameters/MissionId' }, { $ref: '#/components/parameters/IdempotencyKey' }], responses: { '202': { description: Continuation queued } } }
|
|
@@ -342,6 +371,20 @@ paths:
|
|
|
342
371
|
post: { summary: Pause a mission and cancel active slices, parameters: [{ $ref: '#/components/parameters/UserId' }, { $ref: '#/components/parameters/MissionId' }], responses: { '200': { description: Paused mission } } }
|
|
343
372
|
/missions/{missionId}/resume:
|
|
344
373
|
post: { summary: Resume a paused, blocked, or failed mission, parameters: [{ $ref: '#/components/parameters/UserId' }, { $ref: '#/components/parameters/MissionId' }], responses: { '200': { description: Resumed mission } } }
|
|
374
|
+
/missions/{missionId}/control:
|
|
375
|
+
post:
|
|
376
|
+
summary: Adjust an unfinished mission budget or work schedule within its owner-saved ceiling
|
|
377
|
+
parameters: [{ $ref: '#/components/parameters/UserId' }, { $ref: '#/components/parameters/MissionId' }]
|
|
378
|
+
requestBody:
|
|
379
|
+
required: true
|
|
380
|
+
content:
|
|
381
|
+
application/json:
|
|
382
|
+
schema:
|
|
383
|
+
type: object
|
|
384
|
+
properties:
|
|
385
|
+
budget: { $ref: '#/components/schemas/MissionBudgetCeiling' }
|
|
386
|
+
workSchedule: { $ref: '#/components/schemas/MissionWorkSchedule' }
|
|
387
|
+
responses: { '200': { description: Updated mission policy } }
|
|
345
388
|
/missions/{missionId}/replan:
|
|
346
389
|
post: { summary: Replace the unfinished portion of a mission plan while preserving completed work, parameters: [{ $ref: '#/components/parameters/UserId' }, { $ref: '#/components/parameters/MissionId' }], responses: { '200': { description: Replanned mission } } }
|
|
347
390
|
/missions/{missionId}/steps/{stepId}/complete:
|
|
@@ -518,6 +561,25 @@ components:
|
|
|
518
561
|
securitySchemes:
|
|
519
562
|
bearerAuth: { type: http, scheme: bearer }
|
|
520
563
|
schemas:
|
|
564
|
+
MissionBudgetCeiling:
|
|
565
|
+
type: object
|
|
566
|
+
additionalProperties: false
|
|
567
|
+
properties:
|
|
568
|
+
maxDurationSeconds: { type: integer, minimum: 60, maximum: 2592000 }
|
|
569
|
+
maxSteps: { type: integer, minimum: 1, maximum: 1000 }
|
|
570
|
+
maxSlices: { type: integer, minimum: 1, maximum: 100000 }
|
|
571
|
+
maxToolCalls: { type: integer, minimum: 1, maximum: 10000 }
|
|
572
|
+
maxCost: { type: number, minimum: 0, maximum: 10000 }
|
|
573
|
+
MissionWorkSchedule:
|
|
574
|
+
type: object
|
|
575
|
+
additionalProperties: false
|
|
576
|
+
required: [timezone, windowStart, windowEnd, dailyBudgetSeconds, cadenceSeconds]
|
|
577
|
+
properties:
|
|
578
|
+
timezone: { type: string, maxLength: 100 }
|
|
579
|
+
windowStart: { type: string, pattern: '^(?:[01]\d|2[0-3]):[0-5]\d$' }
|
|
580
|
+
windowEnd: { type: string, pattern: '^(?:[01]\d|2[0-3]):[0-5]\d$' }
|
|
581
|
+
dailyBudgetSeconds: { type: integer, minimum: 60, maximum: 86400 }
|
|
582
|
+
cadenceSeconds: { type: integer, minimum: 60, maximum: 86400 }
|
|
521
583
|
Compensation:
|
|
522
584
|
type: object
|
|
523
585
|
required: [id, ownerId, originalActionId, provider, objective, status, attempts, maxAttempts, idempotencyKey, createdAt, updatedAt]
|