busa-cli 0.40.0 → 0.40.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/dist/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { i as runCli, r as pkgVersion, t as checkForUpdate } from "./update-check-DI0PhVoT.js";
2
+ import { i as runCli, r as pkgVersion, t as checkForUpdate } from "./update-check-CDXOWtw_.js";
3
3
  //#region src/cli.ts
4
4
  const exitCode = await runCli(process.argv.slice(2));
5
5
  const notice = await checkForUpdate("busabase-cli", pkgVersion());
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import { a as render, i as runCli, n as HELP, r as pkgVersion, t as checkForUpdate } from "./update-check-DI0PhVoT.js";
1
+ import { a as render, i as runCli, n as HELP, r as pkgVersion, t as checkForUpdate } from "./update-check-CDXOWtw_.js";
2
2
  import { DEFAULT_BASE_URL, createBusabaseClient, normalizeBaseUrl } from "busabase-sdk";
3
3
  export { DEFAULT_BASE_URL, HELP, checkForUpdate, createBusabaseClient, normalizeBaseUrl, pkgVersion, render, runCli };
@@ -6251,6 +6251,55 @@ const commentSubjectTypeSchema = z.enum([
6251
6251
  "operation",
6252
6252
  "commit"
6253
6253
  ]);
6254
+ /**
6255
+ * Who a mention points at. `member` tags a person; `agent` names a launchable
6256
+ * Agent target and is what actually starts a session.
6257
+ */
6258
+ const commentMentionTargetTypeSchema = z.enum(["member", "agent"]);
6259
+ /**
6260
+ * Dispatch lifecycle of ONE mention row, before a session exists.
6261
+ *
6262
+ * `not_applicable` is every member row (a person is not dispatched to).
6263
+ * Once `linked`, running/waiting/done/failed belongs to the agent session,
6264
+ * never to a second status column here.
6265
+ */
6266
+ const commentMentionDispatchStatusSchema = z.enum([
6267
+ "not_applicable",
6268
+ "queued",
6269
+ "linked",
6270
+ "failed"
6271
+ ]);
6272
+ /**
6273
+ * One mention as the composer submits it.
6274
+ *
6275
+ * `start`/`end` are **UTF-16 code unit** offsets into `body` — the same unit
6276
+ * `<textarea>` selection APIs and `String.prototype.slice` use, so nothing has
6277
+ * to convert at the UI boundary. A label containing an astral-plane character
6278
+ * (an emoji in a display name) therefore spans two units per visible glyph;
6279
+ * the server rejects a span that would split a surrogate pair.
6280
+ *
6281
+ * No `label` here on purpose: the client never supplies identity. The server
6282
+ * resolves the display name from the member/catalog it already trusts.
6283
+ */
6284
+ const commentMentionInputSchema = z.object({
6285
+ type: commentMentionTargetTypeSchema,
6286
+ /** Member/actor id, or launchable agent slug (`claude-acp`, `buda:<agentId>`). */
6287
+ id: z.string().min(1),
6288
+ start: z.number().int().min(0),
6289
+ end: z.number().int().min(0)
6290
+ });
6291
+ const commentMentionSchema = z.object({
6292
+ id: z.string(),
6293
+ type: commentMentionTargetTypeSchema,
6294
+ targetId: z.string(),
6295
+ /** Server-resolved display name. Falls back to the raw target id. */
6296
+ label: z.string(),
6297
+ start: z.number().int(),
6298
+ end: z.number().int(),
6299
+ dispatchStatus: commentMentionDispatchStatusSchema,
6300
+ sessionId: z.string().nullable(),
6301
+ error: z.string().nullable()
6302
+ });
6254
6303
  const commentSchema = z.object({
6255
6304
  id: z.string(),
6256
6305
  subjectType: commentSubjectTypeSchema,
@@ -6262,7 +6311,7 @@ const commentSchema = z.object({
6262
6311
  authorId: z.string(),
6263
6312
  author: userRefSchema.nullable().optional().default(null),
6264
6313
  body: z.string(),
6265
- mentionsAi: z.boolean(),
6314
+ mentions: z.array(commentMentionSchema).default([]),
6266
6315
  createdAt: z.string(),
6267
6316
  updatedAt: z.string()
6268
6317
  });
@@ -6499,7 +6548,12 @@ z.object({
6499
6548
  }).extend({
6500
6549
  authorId: z.string().optional().default("local-admin"),
6501
6550
  body: z.string().trim().min(1),
6502
- mentionsAi: z.boolean().optional().default(false)
6551
+ /**
6552
+ * Structured mentions, owned by the composer. Never inferred from the body by
6553
+ * regex: display names contain spaces and collide with ordinary prose, so
6554
+ * "ask codex about this" must not invoke Codex.
6555
+ */
6556
+ mentions: z.array(commentMentionInputSchema).optional().default([])
6503
6557
  });
6504
6558
  z.object({ limit: z.coerce.number().int().min(1).max(100).optional().default(50) }).optional().default({ limit: 50 });
6505
6559
  z.object({ status: z.enum(["active", "archived"]).optional().default("active") });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "busa-cli",
3
- "version": "0.40.0",
3
+ "version": "0.40.1",
4
4
  "description": "Command-line client for the Busabase OpenAPI REST API. Talks to a local or remote `busabase server`. Short-name alias for busabase-cli.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/busabase/busabase/tree/main/apps/busabase-cli",
@@ -33,7 +33,7 @@
33
33
  "dependencies": {
34
34
  "@zip.js/zip.js": "^2.8.20",
35
35
  "busabase-package": "workspace:*",
36
- "busabase-sdk": "0.40.0",
36
+ "busabase-sdk": "0.40.1",
37
37
  "commander": "^14.0.0",
38
38
  "tar-stream": "^3.1.7",
39
39
  "yaml": "^2.9.0",