@chusky/sdk 0.3.1 → 1.5.0

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/docs/index.mdx CHANGED
@@ -14,6 +14,7 @@ Install the SDK, create a thread, and stream the first response.
14
14
  - AI customer-support and operations workspaces
15
15
  - Agents that use Gmail, Slack, GitHub, Notion, and other connected apps
16
16
  - Durable research and automation tasks that survive restarts
17
+ - Bounded autonomy queues and dependency-aware workflow prechains
17
18
  - Authenticated chat products with streaming responses
18
19
  - Human-in-the-loop workflows for sending, deleting, publishing, or changing data
19
20
  - File-aware assistants using verified Cloudflare R2 uploads
package/docs/meetings.mdx CHANGED
@@ -52,7 +52,24 @@ const meeting = await chusky.meetings.join({
52
52
 
53
53
  `joinAt` schedules the Recall bot when the event is at least ten minutes in the
54
54
  future. For recurring calendar automation, use the preparation returned by
55
- `meetings.list()` and call `joinPreparation(preparation.id)`.
55
+ `meetings.list()` and call `joinPreparation(preparation.id)`. For a calendar
56
+ meeting that needs owner-approved relationship context, prepare a brief first
57
+ and pass the same reviewed fields when joining:
58
+
59
+ ```ts
60
+ const brief = await chusky.meetings.prepare({
61
+ clientName: "Jordan Lee",
62
+ objective: "Review the proposal and agree next steps",
63
+ });
64
+
65
+ await chusky.meetings.joinPreparation(preparation.id, {
66
+ clientName: brief.clientName,
67
+ objective: brief.objective,
68
+ });
69
+ ```
70
+
71
+ The brief is bounded to normal-sensitivity relationship and business facts. It
72
+ does not expose the owner's full chat history or credentials to the meeting.
56
73
 
57
74
  ## Roster, context, and lifecycle
58
75
 
package/docs/releases.mdx CHANGED
@@ -3,10 +3,10 @@ title: SDK releases
3
3
  description: Validate, version, publish, and track Chusky SDK releases.
4
4
  ---
5
5
 
6
- The repository includes a guarded GitHub Actions workflow named **Chusky SDK Release**. It is started with **Run workflow** and accepts either an exact semantic version or a release type (`patch`, `minor`, or `major`). The workflow:
6
+ The repository includes a guarded GitHub Actions workflow named **Chusky SDK Release**. It accepts an exact semantic version from **Run workflow** or from a pushed `sdk-vX.Y.Z` tag. The local repository also exposes an exact-version CLI path so an operator can preflight or publish from a trusted release environment. The workflow:
7
7
 
8
8
  1. Installs dependencies and runs the root typecheck, app build, SDK build, and SDK tests.
9
- 2. Updates `sdk/package.json` with the requested version.
9
+ 2. Updates `sdk/package.json` and `sdk/package-lock.json` with the requested version.
10
10
  3. Commits the version change and creates the `sdk-vX.Y.Z` tag.
11
11
  4. Publishes `@chusky/sdk` with npm provenance.
12
12
  5. Creates a GitHub release with generated notes for that tag.
@@ -17,7 +17,8 @@ For a local preflight, run:
17
17
 
18
18
  ```bash
19
19
  npm run sdk:check
20
- npm run sdk:version -- patch
20
+ npm run sdk:version -- 1.5.0
21
+ npm run sdk:publish -- --version 1.5.0 --dry-run
21
22
  ```
22
23
 
23
- The version script accepts `patch`, `minor`, `major`, or an exact `x.y.z` version. Commit the resulting package change only when you intend to release it.
24
+ The version script accepts `patch`, `minor`, `major`, or an exact `x.y.z` version. The publish command requires the exact package version and verifies that the lockfile matches it. Remove `--dry-run` only when you intend to publish publicly, and confirm the resulting npm version and `sdk-vX.Y.Z` tag.
@@ -15,6 +15,9 @@ try {
15
15
  { signal: controller.signal },
16
16
  )) {
17
17
  switch (event.type) {
18
+ case "run.status":
19
+ console.error(`\n${event.text}`);
20
+ break;
18
21
  case "run.delta":
19
22
  process.stdout.write(event.text);
20
23
  break;
package/openapi.yaml CHANGED
@@ -35,6 +35,21 @@ paths:
35
35
  /account/projects/{projectId}/policy:
36
36
  get: { summary: Read an organization project policy as a verified member, responses: { '200': { description: OK }, '404': { description: Not found } } }
37
37
  put: { summary: Replace project tool grants and per-run budgets as an owner or admin, responses: { '200': { description: Updated }, '400': { description: Invalid policy }, '404': { description: Not found } } }
38
+ /account/autonomy/queue:
39
+ get: { summary: Read the authenticated owner's unified personal or business autonomy queue, parameters: [{ $ref: '#/components/parameters/UserId' }, { name: mode, in: query, required: false, schema: { type: string, enum: [personal, business] } }], responses: { '200': { description: Owner-scoped autonomy snapshot including profile, watches, blockers, and next checks }, '403': { description: Owner link required } } }
40
+ /account/autonomy/reconcile:
41
+ post: { summary: Run due owner-configured read-only autonomy watches and persist checkpoints, requestBody: { required: false, content: { application/json: { schema: { type: object, properties: { mode: { type: string, enum: [personal, business] }, maxWatches: { type: integer, minimum: 1, maximum: 20 } } } } } }, responses: { '200': { description: Bounded reconciliation results and gap candidates }, '403': { description: Owner link required } } }
42
+ /account/projects/{projectId}/autonomy/queue:
43
+ get: { summary: Read the unified business autonomy queue under a company project policy, parameters: [{ $ref: '#/components/parameters/UserId' }, { name: projectId, in: path, required: true, schema: { type: string } }], responses: { '200': { description: Company autonomy snapshot }, '404': { description: Not found } } }
44
+ /account/projects/{projectId}/autonomy/reconcile:
45
+ post: { summary: Run due company autonomy watches under the project policy, parameters: [{ name: projectId, in: path, required: true, schema: { type: string } }], requestBody: { required: false, content: { application/json: { schema: { type: object, properties: { maxWatches: { type: integer, minimum: 1, maximum: 20 } } } } } }, responses: { '200': { description: Company reconciliation results }, '404': { description: Not found }, '409': { description: Autonomy disabled } } }
46
+ /workflows/composer:
47
+ get: { summary: List owner-scoped dependency-aware workflow composer records, parameters: [{ $ref: '#/components/parameters/UserId' }], responses: { '200': { description: Workflow composer records } }
48
+ post: { summary: Create a persisted dependency-aware workflow composer graph, parameters: [{ $ref: '#/components/parameters/UserId' }, { $ref: '#/components/parameters/IdempotencyKey' }], responses: { '201': { description: Created }, '400': { description: Invalid workflow graph } } }
49
+ /workflows/composer/{workflowId}:
50
+ patch: { summary: Update an owner-scoped workflow composer graph before or during execution, parameters: [{ name: workflowId, in: path, required: true, schema: { type: string } }, { $ref: '#/components/parameters/UserId' }], responses: { '200': { description: Updated }, '400': { description: Invalid workflow graph }, '404': { description: Not found } } }
51
+ /workflows/composer/{workflowId}/start:
52
+ post: { summary: Start a workflow composer graph and enqueue ready stages, parameters: [{ name: workflowId, in: path, required: true, schema: { type: string } }, { $ref: '#/components/parameters/UserId' }, { $ref: '#/components/parameters/IdempotencyKey' }], responses: { '202': { description: Started or reconciled }, '400': { description: Workflow could not be started } } }
38
53
  /account/projects/{projectId}/agents:
39
54
  get: { summary: List organization project agent profiles as a verified member, responses: { '200': { description: OK }, '404': { description: Not found } } }
40
55
  post: { summary: Create a template-based company agent profile as an owner or admin, responses: { '201': { description: Created }, '404': { description: Not found } } }
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@chusky/sdk",
3
- "version": "0.3.1",
3
+ "version": "1.5.0",
4
4
  "description": "TypeScript SDK for Chusky's developer API.",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "https://github.com/zester4/chusky-sdk.git"
8
+ "url": "git+https://github.com/zester4/chusky-sdk.git"
9
9
  },
10
10
  "bugs": {
11
11
  "url": "https://github.com/zester4/chusky-sdk/issues"