cimux-mcp 0.1.2 → 0.2.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.
Files changed (62) hide show
  1. package/README.md +3 -2
  2. package/dist/bin.d.ts +2 -0
  3. package/dist/bin.js +13 -0
  4. package/dist/bin.js.map +1 -0
  5. package/dist/cli/cimux-cli.d.ts +2 -9
  6. package/dist/cli/cimux-cli.js +62 -179
  7. package/dist/cli/cimux-cli.js.map +1 -1
  8. package/dist/cli/commands/ack.d.ts +2 -0
  9. package/dist/cli/commands/ack.js +24 -0
  10. package/dist/cli/commands/ack.js.map +1 -0
  11. package/dist/cli/commands/brief.d.ts +2 -0
  12. package/dist/cli/commands/brief.js +22 -0
  13. package/dist/cli/commands/brief.js.map +1 -0
  14. package/dist/cli/commands/check.d.ts +2 -0
  15. package/dist/cli/commands/check.js +24 -0
  16. package/dist/cli/commands/check.js.map +1 -0
  17. package/dist/cli/commands/install.d.ts +2 -0
  18. package/dist/cli/commands/install.js +27 -0
  19. package/dist/cli/commands/install.js.map +1 -0
  20. package/dist/cli/commands/mailboxes.d.ts +2 -0
  21. package/dist/cli/commands/mailboxes.js +14 -0
  22. package/dist/cli/commands/mailboxes.js.map +1 -0
  23. package/dist/cli/commands/mcp.d.ts +2 -0
  24. package/dist/cli/commands/mcp.js +11 -0
  25. package/dist/cli/commands/mcp.js.map +1 -0
  26. package/dist/cli/commands/notify.d.ts +2 -0
  27. package/dist/cli/commands/notify.js +24 -0
  28. package/dist/cli/commands/notify.js.map +1 -0
  29. package/dist/cli/commands/read.d.ts +2 -0
  30. package/dist/cli/commands/read.js +21 -0
  31. package/dist/cli/commands/read.js.map +1 -0
  32. package/dist/cli/commands/register.d.ts +2 -0
  33. package/dist/cli/commands/register.js +27 -0
  34. package/dist/cli/commands/register.js.map +1 -0
  35. package/dist/cli/commands/send.d.ts +2 -0
  36. package/dist/cli/commands/send.js +37 -0
  37. package/dist/cli/commands/send.js.map +1 -0
  38. package/dist/cli/shared.d.ts +34 -0
  39. package/dist/cli/shared.js +68 -0
  40. package/dist/cli/shared.js.map +1 -0
  41. package/dist/index.d.ts +3 -6
  42. package/dist/index.js +2 -24
  43. package/dist/index.js.map +1 -1
  44. package/dist/install/cimux-install-plan.d.ts +1 -1
  45. package/dist/install/cimux-install-plan.js +60 -2
  46. package/dist/install/cimux-install-plan.js.map +1 -1
  47. package/dist/mcp/cimux-mcp-server.js +13 -2
  48. package/dist/mcp/cimux-mcp-server.js.map +1 -1
  49. package/dist/{registration/mailbox-registration.d.ts → naming/mailbox-naming.d.ts} +21 -0
  50. package/dist/naming/mailbox-naming.js +96 -0
  51. package/dist/naming/mailbox-naming.js.map +1 -0
  52. package/dist/service/cimux-mailbox-service.d.ts +18 -2
  53. package/dist/service/cimux-mailbox-service.js +29 -3
  54. package/dist/service/cimux-mailbox-service.js.map +1 -1
  55. package/dist/version.d.ts +1 -1
  56. package/dist/version.js +1 -1
  57. package/package.json +2 -2
  58. package/dist/registration/mailbox-registration.js +0 -48
  59. package/dist/registration/mailbox-registration.js.map +0 -1
  60. package/dist/runtime/mailbox-runtime.d.ts +0 -22
  61. package/dist/runtime/mailbox-runtime.js +0 -50
  62. package/dist/runtime/mailbox-runtime.js.map +0 -1
@@ -1,11 +1,13 @@
1
1
  import { randomUUID } from "node:crypto";
2
2
  import { z } from "zod";
3
- import { contextPackageSchema, createContextPackageInputSchema, mailboxNameSchema } from "../model/context-package.js";
4
- import { registerMailbox } from "../registration/mailbox-registration.js";
3
+ import { contextPackageSchema, createContextPackageInputSchema, MAX_INBOX_PREVIEW_LIMIT, mailboxNameSchema } from "../model/context-package.js";
4
+ import { registerMailbox } from "../naming/mailbox-naming.js";
5
5
  export const checkInboxInputSchema = z.object({
6
6
  mailbox: mailboxNameSchema,
7
7
  unreadOnly: z.boolean().default(true),
8
- limit: z.number().int().positive().optional()
8
+ // Capped at the schema so callers see the limit in the MCP tool contract
9
+ // instead of being silently clamped by the storage layer.
10
+ limit: z.number().int().positive().max(MAX_INBOX_PREVIEW_LIMIT).optional()
9
11
  });
10
12
  export const readContextInputSchema = z.object({
11
13
  mailbox: mailboxNameSchema,
@@ -18,6 +20,9 @@ export const inboxNotificationInputSchema = z.object({
18
20
  mailbox: mailboxNameSchema,
19
21
  limit: z.number().int().positive().max(10).default(10)
20
22
  });
23
+ export const sessionBriefInputSchema = z.object({
24
+ mailbox: mailboxNameSchema
25
+ });
21
26
  export class MailboxAccessError extends Error {
22
27
  mailbox;
23
28
  contextPackageId;
@@ -109,6 +114,27 @@ export async function createInboxNotification(store, input) {
109
114
  message: `Cimux: ${previews.length} unread context package(s) for ${parsed.mailbox} from ${senderText}${suffix}. Call check_inbox to preview.`
110
115
  };
111
116
  }
117
+ export async function createSessionBrief(store, input) {
118
+ const parsed = sessionBriefInputSchema.parse(input);
119
+ const previews = await store.listInboxPreviews(parsed.mailbox, {
120
+ unreadOnly: true,
121
+ limit: 10
122
+ });
123
+ const unread = previews.length === 0
124
+ ? "no unread mail"
125
+ : `${previews.length} unread — call check_inbox before starting`;
126
+ // Injected at session start so agents send handoffs without being asked.
127
+ // Keep it short: this costs tokens in every session.
128
+ return {
129
+ message: [
130
+ `Cimux mailbox: ${parsed.mailbox} (${unread}).`,
131
+ "When you finish work another agent or session may need, send a handoff with send_context. Ack packages after loading them."
132
+ ].join("\n")
133
+ };
134
+ }
135
+ export async function listMailboxes(store) {
136
+ return { mailboxes: await store.listMailboxes() };
137
+ }
112
138
  async function assertPackageBelongsToMailbox(store, id, mailbox) {
113
139
  const contextPackage = await store.getContextPackage(id);
114
140
  if (!contextPackage) {
@@ -1 +1 @@
1
- {"version":3,"file":"cimux-mailbox-service.js","sourceRoot":"","sources":["../../src/service/cimux-mailbox-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cimux-mailbox-service.js","sourceRoot":"","sources":["../../src/service/cimux-mailbox-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,+BAA+B,EAC/B,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EACL,eAAe,EAGhB,MAAM,6BAA6B,CAAC;AAGrC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,iBAAiB;IAC1B,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACrC,yEAAyE;IACzE,0DAA0D;IAC1D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE;CAC3E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,iBAAiB;IAC1B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,MAAM,CAAC;IACjE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,OAAO,EAAE,iBAAiB;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACvD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,OAAO,EAAE,iBAAiB;CAC3B,CAAC,CAAC;AAsCH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IACtB;IAA0B;IAA/C,YAAqB,OAAe,EAAW,gBAAwB;QACrE,KAAK,CAAC,mBAAmB,gBAAgB,wBAAwB,OAAO,EAAE,CAAC,CAAC;QADzD,YAAO,GAAP,OAAO,CAAQ;QAAW,qBAAgB,GAAhB,gBAAgB,CAAQ;QAErE,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAC/B;IAArB,YAAqB,gBAAwB;QAC3C,KAAK,CAAC,4BAA4B,gBAAgB,EAAE,CAAC,CAAC;QADnC,qBAAgB,GAAhB,gBAAgB,CAAQ;QAE3C,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC5C,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAmB,EACnB,KAA2B;IAE3B,OAAO,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAiB,EACjB,KAAgC;IAEhC,MAAM,MAAM,GAAG,+BAA+B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE5D,8EAA8E;IAC9E,gEAAgE;IAChE,MAAM,cAAc,GAAG,oBAAoB,CAAC,KAAK,CAAC;QAChD,GAAG,MAAM;QACT,EAAE,EAAE,sBAAsB,EAAE;QAC5B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,MAAM,EAAE,IAAI;QACZ,GAAG,EAAE;YACH,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,IAAI;SACX;KACF,CAAC,CAAC;IAEH,OAAO;QACL,cAAc,EAAE,MAAM,KAAK,CAAC,oBAAoB,CAAC,cAAc,CAAC;KACjE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,KAAiB,EACjB,KAAsB;IAEtB,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAElD,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,MAAM,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE;YACtD,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;SAC/D,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAiB,EACjB,KAAuB;IAEvB,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,6BAA6B,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAEtE,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjE,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,EAAE,cAAc,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,KAAiB,EACjB,KAAsB;IAEtB,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,6BAA6B,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAEtE,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,EAAE;QAC9D,KAAK,EAAE,MAAM,CAAC,OAAO;QACrB,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;KAC5D,CAAC,CAAC;IACH,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,EAAE,cAAc,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAAiB,EACjB,KAA6B;IAE7B,MAAM,MAAM,GAAG,4BAA4B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE;QAC7D,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,gBAAgB,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3E,8EAA8E;IAC9E,8EAA8E;IAC9E,OAAO;QACL,OAAO,EAAE,UAAU,QAAQ,CAAC,MAAM,kCAAkC,MAAM,CAAC,OAAO,SAAS,UAAU,GAAG,MAAM,gCAAgC;KAC/I,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAAiB,EACjB,KAAwB;IAExB,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE;QAC7D,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,EAAE;KACV,CAAC,CAAC;IAEH,MAAM,MAAM,GACV,QAAQ,CAAC,MAAM,KAAK,CAAC;QACnB,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,4CAA4C,CAAC;IAErE,yEAAyE;IACzE,qDAAqD;IACrD,OAAO;QACL,OAAO,EAAE;YACP,kBAAkB,MAAM,CAAC,OAAO,KAAK,MAAM,IAAI;YAC/C,4HAA4H;SAC7H,CAAC,IAAI,CAAC,IAAI,CAAC;KACb,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAmB;IACrD,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC;AACpD,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC1C,KAAiB,EACjB,EAAU,EACV,OAAe;IAEf,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,2BAA2B,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,6EAA6E;IAC7E,+EAA+E;IAC/E,IAAI,cAAc,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QACzC,MAAM,IAAI,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB;IAC7B,OAAO,OAAO,UAAU,EAAE,EAAE,CAAC;AAC/B,CAAC"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export declare const name = "cimux";
2
- export declare const version = "0.1.2";
2
+ export declare const version = "0.2.1";
package/dist/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  export const name = "cimux";
2
- export const version = "0.1.2";
2
+ export const version = "0.2.1";
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cimux-mcp",
3
- "version": "0.1.2",
3
+ "version": "0.2.1",
4
4
  "description": "Local-first mailbox for intentional AI agent context handoffs.",
5
5
  "keywords": [
6
6
  "mcp",
@@ -21,7 +21,7 @@
21
21
  "license": "MIT",
22
22
  "type": "module",
23
23
  "bin": {
24
- "cimux": "./dist/index.js"
24
+ "cimux": "./dist/bin.js"
25
25
  },
26
26
  "files": [
27
27
  "dist",
@@ -1,48 +0,0 @@
1
- import { z } from "zod";
2
- import { mailboxNameSchema } from "../model/context-package.js";
3
- export const registerMailboxInputSchema = z.object({
4
- harness: z.string().min(1),
5
- explicitMailbox: mailboxNameSchema.optional(),
6
- branchName: z.string().min(1).optional(),
7
- taskName: z.string().min(1).optional(),
8
- folderName: z.string().min(1).optional()
9
- });
10
- export async function registerMailbox(store, input) {
11
- const parsed = registerMailboxInputSchema.parse(input);
12
- const inferredName = inferMailboxName(parsed);
13
- const mailbox = await store.createMailbox(inferredName);
14
- const mailboxes = await store.listMailboxes();
15
- return {
16
- mailbox,
17
- mailboxes,
18
- inferred: !parsed.explicitMailbox
19
- };
20
- }
21
- export function inferMailboxName(input) {
22
- if (input.explicitMailbox) {
23
- return mailboxNameSchema.parse(input.explicitMailbox);
24
- }
25
- const harness = slugify(input.harness);
26
- const localName =
27
- // Branch is preferred because it usually maps to the actual workstream.
28
- slugify(input.branchName) ||
29
- // Task names are useful when there is no branch yet.
30
- slugify(input.taskName) ||
31
- // Folder name is the final stable local fallback.
32
- slugify(input.folderName) ||
33
- "default";
34
- return mailboxNameSchema.parse(`${harness}/${localName}`);
35
- }
36
- function slugify(value) {
37
- if (!value) {
38
- return "";
39
- }
40
- return value
41
- .trim()
42
- .toLowerCase()
43
- .replace(/[^a-z0-9._-]+/g, "-")
44
- .replace(/^[^a-z0-9]+/, "")
45
- .replace(/[^a-z0-9]+$/, "")
46
- .slice(0, 80);
47
- }
48
- //# sourceMappingURL=mailbox-registration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mailbox-registration.js","sourceRoot":"","sources":["../../src/registration/mailbox-registration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAIhE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,eAAe,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IAC7C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAUH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAmB,EACnB,KAA2B;IAE3B,MAAM,MAAM,GAAG,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC;IAE9C,OAAO;QACL,OAAO;QACP,SAAS;QACT,QAAQ,EAAE,CAAC,MAAM,CAAC,eAAe;KAClC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAA2B;IAC1D,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,OAAO,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,SAAS;IACb,wEAAwE;IACxE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;QACzB,qDAAqD;QACrD,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;QACvB,kDAAkD;QAClD,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;QACzB,SAAS,CAAC;IAEZ,OAAO,iBAAiB,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,SAAS,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,OAAO,CAAC,KAAc;IAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,KAAK;SACT,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;SAC9B,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClB,CAAC"}
@@ -1,22 +0,0 @@
1
- import { z } from "zod";
2
- export declare const runtimeMailboxInputSchema: z.ZodObject<{
3
- harness: z.ZodOptional<z.ZodString>;
4
- explicitMailbox: z.ZodOptional<z.ZodString>;
5
- cwd: z.ZodDefault<z.ZodString>;
6
- }, "strip", z.ZodTypeAny, {
7
- cwd: string;
8
- harness?: string | undefined;
9
- explicitMailbox?: string | undefined;
10
- }, {
11
- harness?: string | undefined;
12
- explicitMailbox?: string | undefined;
13
- cwd?: string | undefined;
14
- }>;
15
- export type RuntimeMailboxInput = z.input<typeof runtimeMailboxInputSchema>;
16
- export type RuntimeMailboxResult = {
17
- mailbox: string;
18
- inferredFrom: "explicit" | "branch" | "folder";
19
- branchName: string | null;
20
- folderName: string;
21
- };
22
- export declare function resolveRuntimeMailbox(input?: RuntimeMailboxInput): RuntimeMailboxResult;
@@ -1,50 +0,0 @@
1
- import { execFileSync } from "node:child_process";
2
- import path from "node:path";
3
- import { z } from "zod";
4
- import { inferMailboxName } from "../registration/mailbox-registration.js";
5
- import { mailboxNameSchema } from "../model/context-package.js";
6
- export const runtimeMailboxInputSchema = z.object({
7
- harness: z.string().min(1).optional(),
8
- explicitMailbox: mailboxNameSchema.optional(),
9
- cwd: z.string().min(1).default(process.cwd())
10
- });
11
- export function resolveRuntimeMailbox(input = {}) {
12
- const parsed = runtimeMailboxInputSchema.parse(input);
13
- const folderName = path.basename(parsed.cwd);
14
- if (parsed.explicitMailbox) {
15
- return {
16
- mailbox: parsed.explicitMailbox,
17
- inferredFrom: "explicit",
18
- branchName: null,
19
- folderName
20
- };
21
- }
22
- const branchName = readGitBranch(parsed.cwd);
23
- const mailbox = inferMailboxName({
24
- harness: parsed.harness ?? "codex",
25
- branchName: branchName ?? undefined,
26
- folderName
27
- });
28
- return {
29
- mailbox,
30
- inferredFrom: branchName ? "branch" : "folder",
31
- branchName,
32
- folderName
33
- };
34
- }
35
- function readGitBranch(cwd) {
36
- try {
37
- // Hooks run from the active session cwd. Asking git directly keeps mailbox
38
- // naming aligned with the real workstream without requiring user setup.
39
- const output = execFileSync("git", ["branch", "--show-current"], {
40
- cwd,
41
- encoding: "utf8",
42
- stdio: ["ignore", "pipe", "ignore"]
43
- }).trim();
44
- return output || null;
45
- }
46
- catch {
47
- return null;
48
- }
49
- }
50
- //# sourceMappingURL=mailbox-runtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mailbox-runtime.js","sourceRoot":"","sources":["../../src/runtime/mailbox-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrC,eAAe,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IAC7C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;CAC9C,CAAC,CAAC;AAWH,MAAM,UAAU,qBAAqB,CAAC,QAA6B,EAAE;IACnE,MAAM,MAAM,GAAG,yBAAyB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAE7C,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,eAAe;YAC/B,YAAY,EAAE,UAAU;YACxB,UAAU,EAAE,IAAI;YAChB,UAAU;SACX,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,gBAAgB,CAAC;QAC/B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,OAAO;QAClC,UAAU,EAAE,UAAU,IAAI,SAAS;QACnC,UAAU;KACX,CAAC,CAAC;IAEH,OAAO;QACL,OAAO;QACP,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;QAC9C,UAAU;QACV,UAAU;KACX,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,IAAI,CAAC;QACH,2EAA2E;QAC3E,wEAAwE;QACxE,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE;YAC/D,GAAG;YACH,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEV,OAAO,MAAM,IAAI,IAAI,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}