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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/cli/commands/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EACL,UAAU,EACV,6BAA6B,EAC7B,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AAGtB,MAAM,CAAC,MAAM,eAAe,GAAgB;IAC1C,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,8DAA8D;IACrE,OAAO,EAAE;QACP,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC5B;IACD,GAAG,CAAC,OAAO;QACT,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC5C,MAAM,OAAO,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE;gBAC1C,OAAO,EACL,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO;gBAC/E,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,UAAU;oBACrC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,OAAO,EAAE;oBACtC,CAAC,CAAC;wBACE,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS;wBAC3C,UAAU,EAAE,OAAO,CAAC,UAAU;qBAC/B,CAAC;aACP,CAAC,CAAC;YACH,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9B,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { CommandSpec } from "../shared.js";
2
+ export declare const sendCommand: CommandSpec;
@@ -0,0 +1,37 @@
1
+ import { sendContext } from "../../service/cimux-mailbox-service.js";
2
+ import { readCsv, readJson, requireString, withStore, writeJson } from "../shared.js";
3
+ export const sendCommand = {
4
+ name: "send",
5
+ usage: "cimux send --from <mailbox> --to <mailbox> --title <title> --summary <summary> --body <body> [--tags a,b] [--artifacts-json <json>] [--payload-json <json>]",
6
+ options: {
7
+ from: { type: "string" },
8
+ to: { type: "string" },
9
+ title: { type: "string" },
10
+ summary: { type: "string" },
11
+ body: { type: "string" },
12
+ tags: { type: "string" },
13
+ "artifacts-json": { type: "string" },
14
+ "payload-json": { type: "string" }
15
+ },
16
+ run(context) {
17
+ return withStore(context.env, async (store) => {
18
+ // The JSON flags are parsed here and validated by the service schemas,
19
+ // so malformed artifacts fail with a schema error, not a crash.
20
+ const artifacts = readJson(context.values, "artifacts-json") ?? {};
21
+ const payload = readJson(context.values, "payload-json") ?? {};
22
+ const result = await sendContext(store, {
23
+ fromMailbox: requireString(context.values, "from"),
24
+ toMailbox: requireString(context.values, "to"),
25
+ title: requireString(context.values, "title"),
26
+ summary: requireString(context.values, "summary"),
27
+ body: requireString(context.values, "body"),
28
+ tags: readCsv(context.values, "tags"),
29
+ artifacts: artifacts,
30
+ payload: payload
31
+ });
32
+ writeJson(context.io, result);
33
+ return 0;
34
+ });
35
+ }
36
+ };
37
+ //# sourceMappingURL=send.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send.js","sourceRoot":"","sources":["../../../src/cli/commands/send.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGtF,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,IAAI,EAAE,MAAM;IACZ,KAAK,EACH,6JAA6J;IAC/J,OAAO,EAAE;QACP,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACpC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACnC;IACD,GAAG,CAAC,OAAO;QACT,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC5C,uEAAuE;YACvE,gEAAgE;YAChE,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,EAAE,CAAC;YACnE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC;YAE/D,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE;gBACtC,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;gBAClD,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;gBAC9C,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;gBAC7C,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC;gBACjD,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;gBAC3C,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;gBACrC,SAAS,EAAE,SAAmD;gBAC9D,OAAO,EAAE,OAA+C;aACzD,CAAC,CAAC;YACH,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9B,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { RuntimeMailboxResult } from "../naming/mailbox-naming.js";
2
+ import { SQLiteCimuxStore } from "../storage/sqlite-cimux-store.js";
3
+ export type CimuxCliIo = {
4
+ log(message: string): void;
5
+ error(message: string): void;
6
+ };
7
+ export type CimuxCliEnv = {
8
+ CIMUX_DB_PATH?: string;
9
+ CIMUX_MAILBOX?: string;
10
+ CIMUX_HARNESS?: string;
11
+ };
12
+ export type ParsedValues = Record<string, string | boolean | undefined>;
13
+ export type CommandContext = {
14
+ values: ParsedValues;
15
+ env: CimuxCliEnv;
16
+ cwd: string;
17
+ io: CimuxCliIo;
18
+ };
19
+ export type CommandSpec = {
20
+ name: string;
21
+ usage: string;
22
+ options: Record<string, {
23
+ type: "string" | "boolean";
24
+ }>;
25
+ run(context: CommandContext): number | Promise<number>;
26
+ };
27
+ export declare function withStore(env: CimuxCliEnv, callback: (store: SQLiteCimuxStore) => Promise<number>): Promise<number>;
28
+ export declare function resolveRuntimeMailboxFromArgs(context: CommandContext): RuntimeMailboxResult;
29
+ export declare function resolvePackageCommand(): string;
30
+ export declare function readString(values: ParsedValues, name: string): string | undefined;
31
+ export declare function requireString(values: ParsedValues, name: string): string;
32
+ export declare function readCsv(values: ParsedValues, name: string): string[];
33
+ export declare function readJson(values: ParsedValues, name: string): unknown;
34
+ export declare function writeJson(io: CimuxCliIo, value: unknown): void;
@@ -0,0 +1,68 @@
1
+ import path from "node:path";
2
+ import { defaultDatabasePath } from "../mcp/cimux-mcp-server.js";
3
+ import { resolveRuntimeMailbox } from "../naming/mailbox-naming.js";
4
+ import { SQLiteCimuxStore } from "../storage/sqlite-cimux-store.js";
5
+ export async function withStore(env, callback) {
6
+ const store = new SQLiteCimuxStore(env.CIMUX_DB_PATH ?? defaultDatabasePath());
7
+ try {
8
+ return await callback(store);
9
+ }
10
+ finally {
11
+ store.close();
12
+ }
13
+ }
14
+ export function resolveRuntimeMailboxFromArgs(context) {
15
+ const explicitMailbox = readString(context.values, "mailbox") ?? context.env.CIMUX_MAILBOX;
16
+ const harness = readString(context.values, "harness") ?? context.env.CIMUX_HARNESS;
17
+ if (!explicitMailbox && !harness) {
18
+ throw new Error("Expected --mailbox <harness/name> or --harness <name>");
19
+ }
20
+ return resolveRuntimeMailbox({
21
+ ...(explicitMailbox === undefined ? {} : { explicitMailbox }),
22
+ ...(harness === undefined ? {} : { harness }),
23
+ cwd: context.cwd
24
+ });
25
+ }
26
+ export function resolvePackageCommand() {
27
+ // GUI-launched harnesses (e.g. the Codex desktop app) do not inherit the
28
+ // shell PATH, so write the absolute path of the running bin into config.
29
+ const binPath = process.argv[1];
30
+ return binPath && path.isAbsolute(binPath) ? binPath : "cimux";
31
+ }
32
+ export function readString(values, name) {
33
+ const value = values[name];
34
+ return typeof value === "string" && value !== "" ? value : undefined;
35
+ }
36
+ export function requireString(values, name) {
37
+ const value = readString(values, name);
38
+ if (value === undefined) {
39
+ throw new Error(`Expected --${name}`);
40
+ }
41
+ return value;
42
+ }
43
+ export function readCsv(values, name) {
44
+ const value = readString(values, name);
45
+ if (!value) {
46
+ return [];
47
+ }
48
+ return value
49
+ .split(",")
50
+ .map((item) => item.trim())
51
+ .filter(Boolean);
52
+ }
53
+ export function readJson(values, name) {
54
+ const value = readString(values, name);
55
+ if (value === undefined) {
56
+ return undefined;
57
+ }
58
+ try {
59
+ return JSON.parse(value);
60
+ }
61
+ catch {
62
+ throw new Error(`Invalid JSON for --${name}`);
63
+ }
64
+ }
65
+ export function writeJson(io, value) {
66
+ io.log(JSON.stringify(value, null, 2));
67
+ }
68
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/cli/shared.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,15 +1,12 @@
1
- #!/usr/bin/env node
2
1
  export { name, version } from "./version.js";
3
2
  export declare function getProjectStage(): string;
4
3
  export type { AckState, Artifacts, CodeSnippetArtifact, CommitArtifact, ContextPackage, ContextPackagePreview, CreateContextPackageInput, FileArtifact, FunctionArtifact, Mailbox, MailboxName, NormalizedCreateContextPackageInput, PullRequestArtifact, UrlArtifact } from "./model/context-package.js";
5
4
  export type { AckContextPackageOptions, ContextPackageStore, ListInboxPreviewsOptions, MailboxStore } from "./storage/mailbox-store.js";
6
- export type { RegisterMailboxInput, RegisterMailboxResult } from "./registration/mailbox-registration.js";
5
+ export type { RegisterMailboxInput, RegisterMailboxResult } from "./naming/mailbox-naming.js";
7
6
  export { ackStateSchema, artifactsSchema, codeSnippetArtifactSchema, commitArtifactSchema, contextPackagePreviewSchema, contextPackageSchema, createContextPackagePreview, createContextPackageInputSchema, DEFAULT_INBOX_PREVIEW_LIMIT, fileArtifactSchema, functionArtifactSchema, MAX_INBOX_PREVIEW_LIMIT, mailboxNameSchema, mailboxSchema, normalizeInboxPreviewLimit, PREVIEW_SUMMARY_MAX_LENGTH, PREVIEW_TAG_MAX_COUNT, PREVIEW_TITLE_MAX_LENGTH, pullRequestArtifactSchema, urlArtifactSchema } from "./model/context-package.js";
8
- export { ackContext, checkInbox, ContextPackageNotFoundError, createInboxNotification, MailboxAccessError, readContext, registerSession, sendContext } from "./service/cimux-mailbox-service.js";
7
+ export { ackContext, checkInbox, ContextPackageNotFoundError, createInboxNotification, createSessionBrief, listMailboxes, MailboxAccessError, readContext, registerSession, sendContext } from "./service/cimux-mailbox-service.js";
9
8
  export { runCimuxCli } from "./cli/cimux-cli.js";
10
9
  export { applyInstallPlan, createInstallPlan } from "./install/cimux-install-plan.js";
11
10
  export { createCimuxMcpServer, defaultDatabasePath, runCimuxMcpServer } from "./mcp/cimux-mcp-server.js";
12
- export { resolveRuntimeMailbox } from "./runtime/mailbox-runtime.js";
13
- export { inferMailboxName, registerMailboxInputSchema, registerMailbox } from "./registration/mailbox-registration.js";
11
+ export { inferMailboxName, registerMailbox, registerMailboxInputSchema, resolveRuntimeMailbox } from "./naming/mailbox-naming.js";
14
12
  export { SQLiteCimuxStore, UnknownMailboxError } from "./storage/sqlite-cimux-store.js";
15
- export declare function isCliEntrypoint(argvPath?: string | undefined, modulePath?: string): boolean;
package/dist/index.js CHANGED
@@ -1,34 +1,12 @@
1
- #!/usr/bin/env node
2
- import fs from "node:fs";
3
- import { fileURLToPath } from "node:url";
4
- import { runCimuxCli } from "./cli/cimux-cli.js";
5
1
  export { name, version } from "./version.js";
6
2
  export function getProjectStage() {
7
3
  return "local-mvp";
8
4
  }
9
5
  export { ackStateSchema, artifactsSchema, codeSnippetArtifactSchema, commitArtifactSchema, contextPackagePreviewSchema, contextPackageSchema, createContextPackagePreview, createContextPackageInputSchema, DEFAULT_INBOX_PREVIEW_LIMIT, fileArtifactSchema, functionArtifactSchema, MAX_INBOX_PREVIEW_LIMIT, mailboxNameSchema, mailboxSchema, normalizeInboxPreviewLimit, PREVIEW_SUMMARY_MAX_LENGTH, PREVIEW_TAG_MAX_COUNT, PREVIEW_TITLE_MAX_LENGTH, pullRequestArtifactSchema, urlArtifactSchema } from "./model/context-package.js";
10
- export { ackContext, checkInbox, ContextPackageNotFoundError, createInboxNotification, MailboxAccessError, readContext, registerSession, sendContext } from "./service/cimux-mailbox-service.js";
6
+ export { ackContext, checkInbox, ContextPackageNotFoundError, createInboxNotification, createSessionBrief, listMailboxes, MailboxAccessError, readContext, registerSession, sendContext } from "./service/cimux-mailbox-service.js";
11
7
  export { runCimuxCli } from "./cli/cimux-cli.js";
12
8
  export { applyInstallPlan, createInstallPlan } from "./install/cimux-install-plan.js";
13
9
  export { createCimuxMcpServer, defaultDatabasePath, runCimuxMcpServer } from "./mcp/cimux-mcp-server.js";
14
- export { resolveRuntimeMailbox } from "./runtime/mailbox-runtime.js";
15
- export { inferMailboxName, registerMailboxInputSchema, registerMailbox } from "./registration/mailbox-registration.js";
10
+ export { inferMailboxName, registerMailbox, registerMailboxInputSchema, resolveRuntimeMailbox } from "./naming/mailbox-naming.js";
16
11
  export { SQLiteCimuxStore, UnknownMailboxError } from "./storage/sqlite-cimux-store.js";
17
- if (isCliEntrypoint()) {
18
- process.exitCode = await runCimuxCli(process.argv.slice(2));
19
- }
20
- export function isCliEntrypoint(argvPath = process.argv[1], modulePath = fileURLToPath(import.meta.url)) {
21
- if (!argvPath) {
22
- return false;
23
- }
24
- // npm link and global installs usually invoke the bin through a symlink.
25
- // Compare real paths so the published command still reaches runCimuxCli.
26
- try {
27
- return fs.realpathSync(argvPath) === fs.realpathSync(modulePath);
28
- }
29
- catch {
30
- // argv[1] may not be a resolvable path when embedded or bundled.
31
- return false;
32
- }
33
- }
34
12
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,UAAU,eAAe;IAC7B,OAAO,WAAW,CAAC;AACrB,CAAC;AA6BD,OAAO,EACL,cAAc,EACd,eAAe,EACf,yBAAyB,EACzB,oBAAoB,EACpB,2BAA2B,EAC3B,oBAAoB,EACpB,2BAA2B,EAC3B,+BAA+B,EAC/B,2BAA2B,EAC3B,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,aAAa,EACb,0BAA0B,EAC1B,0BAA0B,EAC1B,qBAAqB,EACrB,wBAAwB,EACxB,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,UAAU,EACV,UAAU,EACV,2BAA2B,EAC3B,uBAAuB,EACvB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,WAAW,EACZ,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,eAAe,EAChB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAExF,IAAI,eAAe,EAAE,EAAE,CAAC;IACtB,OAAO,CAAC,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAC1B,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IAE3C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yEAAyE;IACzE,yEAAyE;IACzE,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;QACjE,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,UAAU,eAAe;IAC7B,OAAO,WAAW,CAAC;AACrB,CAAC;AA6BD,OAAO,EACL,cAAc,EACd,eAAe,EACf,yBAAyB,EACzB,oBAAoB,EACpB,2BAA2B,EAC3B,oBAAoB,EACpB,2BAA2B,EAC3B,+BAA+B,EAC/B,2BAA2B,EAC3B,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,aAAa,EACb,0BAA0B,EAC1B,0BAA0B,EAC1B,qBAAqB,EACrB,wBAAwB,EACxB,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,UAAU,EACV,UAAU,EACV,2BAA2B,EAC3B,uBAAuB,EACvB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,WAAW,EACZ,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC"}
@@ -14,7 +14,7 @@ export type InstallPlanTarget = {
14
14
  harness: "codex" | "claude";
15
15
  path: string;
16
16
  purpose: string;
17
- format: "toml" | "json";
17
+ format: "toml" | "json" | "markdown";
18
18
  snippet: string;
19
19
  };
20
20
  export type InstallPlan = {
@@ -24,17 +24,31 @@ export function createInstallPlan(input = {}) {
24
24
  // Codex hooks share Claude Code's shape; Codex asks the user to trust
25
25
  // a hook on first use and after any change to it.
26
26
  path: path.join(codexHome, "hooks.json"),
27
- purpose: "Run a zero-token inbox check on each user prompt. Empty inboxes emit no output.",
27
+ purpose: "Notify on unread mail each prompt; brief the agent on its mailbox at session start.",
28
28
  format: "json",
29
29
  snippet: createHookSnippet(parsed.packageCommand, "codex")
30
30
  },
31
+ {
32
+ harness: "codex",
33
+ path: path.join(codexHome, "AGENTS.md"),
34
+ purpose: "Teach Codex agents to check and send Cimux mail without prompting.",
35
+ format: "markdown",
36
+ snippet: createAgentNormsSnippet()
37
+ },
31
38
  {
32
39
  harness: "claude",
33
40
  path: path.join(claudeHome, "settings.json"),
34
- purpose: "Run a zero-token inbox check on each user prompt. Empty inboxes emit no output.",
41
+ purpose: "Notify on unread mail each prompt; brief the agent on its mailbox at session start.",
35
42
  format: "json",
36
43
  snippet: createHookSnippet(parsed.packageCommand, "claude")
37
44
  },
45
+ {
46
+ harness: "claude",
47
+ path: path.join(claudeHome, "CLAUDE.md"),
48
+ purpose: "Teach Claude Code agents to check and send Cimux mail without prompting.",
49
+ format: "markdown",
50
+ snippet: createAgentNormsSnippet()
51
+ },
38
52
  {
39
53
  harness: "claude",
40
54
  // Claude Code reads user-scope MCP servers from ~/.claude.json.
@@ -54,6 +68,9 @@ function applyInstallTarget(target) {
54
68
  if (target.format === "toml") {
55
69
  return applyTomlTarget(target);
56
70
  }
71
+ if (target.format === "markdown") {
72
+ return applyMarkdownTarget(target);
73
+ }
57
74
  return applyJsonTarget(target);
58
75
  }
59
76
  function applyTomlTarget(target) {
@@ -74,6 +91,24 @@ function applyTomlTarget(target) {
74
91
  backupPath
75
92
  };
76
93
  }
94
+ function applyMarkdownTarget(target) {
95
+ const existing = readTextIfExists(target.path);
96
+ if (existing?.includes(AGENT_NORMS_MARKER)) {
97
+ return {
98
+ path: target.path,
99
+ status: "unchanged",
100
+ backupPath: null
101
+ };
102
+ }
103
+ const backupPath = existing === null ? null : writeBackup(target.path, existing);
104
+ const next = existing === null ? target.snippet : appendBlock(existing, target.snippet);
105
+ fs.writeFileSync(target.path, next, "utf8");
106
+ return {
107
+ path: target.path,
108
+ status: existing === null ? "created" : "updated",
109
+ backupPath
110
+ };
111
+ }
77
112
  function applyJsonTarget(target) {
78
113
  const existingText = readTextIfExists(target.path);
79
114
  const existingValue = existingText === null ? {} : parseJsonObject(existingText, target.path);
@@ -179,10 +214,33 @@ function createHookSnippet(packageCommand, harness) {
179
214
  }
180
215
  ]
181
216
  }
217
+ ],
218
+ SessionStart: [
219
+ {
220
+ hooks: [
221
+ {
222
+ type: "command",
223
+ command: `${packageCommand} brief --harness ${harness}`
224
+ }
225
+ ]
226
+ }
182
227
  ]
183
228
  }
184
229
  }, null, 2);
185
230
  }
231
+ const AGENT_NORMS_MARKER = "<!-- cimux:norms -->";
232
+ function createAgentNormsSnippet() {
233
+ return `${AGENT_NORMS_MARKER}
234
+ ## Cimux agent mail
235
+
236
+ You have a Cimux mailbox (MCP server \`cimux\`). Follow these norms without being asked:
237
+
238
+ - When notified of unread context packages, call \`check_inbox\`, use \`read_context\` on what is relevant, and \`ack_context\` after loading it.
239
+ - When you finish work whose outcome another agent or a future session may need (root causes, decisions, gotchas, handoffs), send it with \`send_context\`: short title, tight summary, full detail in the body, artifact pointers instead of pasted file contents.
240
+ - Find recipients with \`list_mailboxes\`; only existing mailboxes can receive mail. Register your own with \`register_session\` if unsure.
241
+ <!-- cimux:end -->
242
+ `;
243
+ }
186
244
  function createClaudeMcpSnippet(packageCommand) {
187
245
  return JSON.stringify({
188
246
  mcpServers: {
@@ -1 +1 @@
1
- {"version":3,"file":"cimux-install-plan.js","sourceRoot":"","sources":["../../src/install/cimux-install-plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cimux-install-plan.js","sourceRoot":"","sources":["../../src/install/cimux-install-plan.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@ import path from "node:path";
3
3
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
4
4
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
5
5
  import { createContextPackageInputSchema } from "../model/context-package.js";
6
- import { registerMailboxInputSchema } from "../registration/mailbox-registration.js";
7
- import { ackContext, ackContextInputSchema, checkInbox, checkInboxInputSchema, readContext, readContextInputSchema, registerSession, sendContext } from "../service/cimux-mailbox-service.js";
6
+ import { registerMailboxInputSchema } from "../naming/mailbox-naming.js";
7
+ import { ackContext, ackContextInputSchema, checkInbox, checkInboxInputSchema, listMailboxes, readContext, readContextInputSchema, registerSession, sendContext } from "../service/cimux-mailbox-service.js";
8
8
  import { SQLiteCimuxStore } from "../storage/sqlite-cimux-store.js";
9
9
  import { version } from "../version.js";
10
10
  export function createCimuxMcpServer(databasePath = defaultDatabasePath()) {
@@ -18,6 +18,17 @@ export function createCimuxMcpServer(databasePath = defaultDatabasePath()) {
18
18
  description: "Register or infer the current agent mailbox. Branch names are preferred over task/folder names.",
19
19
  inputSchema: registerMailboxInputSchema.shape
20
20
  }, async (input) => toToolResult(await registerSession(store, input)));
21
+ server.registerTool("list_mailboxes", {
22
+ title: "List Mailboxes",
23
+ description: "List registered mailbox names. Use this to find the recipient before send_context.",
24
+ inputSchema: {}
25
+ }, async () => {
26
+ // Names only: this response is read by agents, so keep it token-lean.
27
+ const result = await listMailboxes(store);
28
+ return toToolResult({
29
+ mailboxes: result.mailboxes.map((mailbox) => mailbox.name)
30
+ });
31
+ });
21
32
  server.registerTool("send_context", {
22
33
  title: "Send Context",
23
34
  description: "Send a structured Context Package to an existing mailbox. Unknown mailboxes are rejected.",
@@ -1 +1 @@
1
- {"version":3,"file":"cimux-mcp-server.js","sourceRoot":"","sources":["../../src/mcp/cimux-mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cimux-mcp-server.js","sourceRoot":"","sources":["../../src/mcp/cimux-mcp-server.ts"],"names":[],"mappings":"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"}
@@ -26,5 +26,26 @@ export type RegisterMailboxResult = {
26
26
  mailboxes: Mailbox[];
27
27
  inferred: boolean;
28
28
  };
29
+ export declare const runtimeMailboxInputSchema: z.ZodObject<{
30
+ harness: z.ZodOptional<z.ZodString>;
31
+ explicitMailbox: z.ZodOptional<z.ZodString>;
32
+ cwd: z.ZodDefault<z.ZodString>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ cwd: string;
35
+ harness?: string | undefined;
36
+ explicitMailbox?: string | undefined;
37
+ }, {
38
+ harness?: string | undefined;
39
+ explicitMailbox?: string | undefined;
40
+ cwd?: string | undefined;
41
+ }>;
42
+ export type RuntimeMailboxInput = z.input<typeof runtimeMailboxInputSchema>;
43
+ export type RuntimeMailboxResult = {
44
+ mailbox: string;
45
+ inferredFrom: "explicit" | "branch" | "folder";
46
+ branchName: string | null;
47
+ folderName: string;
48
+ };
29
49
  export declare function registerMailbox(store: MailboxStore, input: RegisterMailboxInput): Promise<RegisterMailboxResult>;
30
50
  export declare function inferMailboxName(input: RegisterMailboxInput): string;
51
+ export declare function resolveRuntimeMailbox(input?: RuntimeMailboxInput): RuntimeMailboxResult;
@@ -0,0 +1,96 @@
1
+ import { execFileSync } from "node:child_process";
2
+ import path from "node:path";
3
+ import { z } from "zod";
4
+ import { mailboxNameSchema } from "../model/context-package.js";
5
+ // This module answers one question: what is this session's mailbox called?
6
+ // Explicit names win, then git branch, then task name, then folder name.
7
+ export const registerMailboxInputSchema = z.object({
8
+ harness: z.string().min(1),
9
+ explicitMailbox: mailboxNameSchema.optional(),
10
+ branchName: z.string().min(1).optional(),
11
+ taskName: z.string().min(1).optional(),
12
+ folderName: z.string().min(1).optional()
13
+ });
14
+ export const runtimeMailboxInputSchema = z.object({
15
+ harness: z.string().min(1).optional(),
16
+ explicitMailbox: mailboxNameSchema.optional(),
17
+ cwd: z.string().min(1).default(process.cwd())
18
+ });
19
+ export async function registerMailbox(store, input) {
20
+ const parsed = registerMailboxInputSchema.parse(input);
21
+ const inferredName = inferMailboxName(parsed);
22
+ const mailbox = await store.createMailbox(inferredName);
23
+ const mailboxes = await store.listMailboxes();
24
+ return {
25
+ mailbox,
26
+ mailboxes,
27
+ inferred: !parsed.explicitMailbox
28
+ };
29
+ }
30
+ export function inferMailboxName(input) {
31
+ if (input.explicitMailbox) {
32
+ return mailboxNameSchema.parse(input.explicitMailbox);
33
+ }
34
+ const harness = slugify(input.harness);
35
+ const localName =
36
+ // Branch is preferred because it usually maps to the actual workstream.
37
+ slugify(input.branchName) ||
38
+ // Task names are useful when there is no branch yet.
39
+ slugify(input.taskName) ||
40
+ // Folder name is the final stable local fallback.
41
+ slugify(input.folderName) ||
42
+ "default";
43
+ return mailboxNameSchema.parse(`${harness}/${localName}`);
44
+ }
45
+ export function resolveRuntimeMailbox(input = {}) {
46
+ const parsed = runtimeMailboxInputSchema.parse(input);
47
+ const folderName = path.basename(parsed.cwd);
48
+ if (parsed.explicitMailbox) {
49
+ return {
50
+ mailbox: parsed.explicitMailbox,
51
+ inferredFrom: "explicit",
52
+ branchName: null,
53
+ folderName
54
+ };
55
+ }
56
+ const branchName = readGitBranch(parsed.cwd);
57
+ const mailbox = inferMailboxName({
58
+ harness: parsed.harness ?? "codex",
59
+ branchName: branchName ?? undefined,
60
+ folderName
61
+ });
62
+ return {
63
+ mailbox,
64
+ inferredFrom: branchName ? "branch" : "folder",
65
+ branchName,
66
+ folderName
67
+ };
68
+ }
69
+ function readGitBranch(cwd) {
70
+ try {
71
+ // Hooks run from the active session cwd. Asking git directly keeps mailbox
72
+ // naming aligned with the real workstream without requiring user setup.
73
+ const output = execFileSync("git", ["branch", "--show-current"], {
74
+ cwd,
75
+ encoding: "utf8",
76
+ stdio: ["ignore", "pipe", "ignore"]
77
+ }).trim();
78
+ return output || null;
79
+ }
80
+ catch {
81
+ return null;
82
+ }
83
+ }
84
+ function slugify(value) {
85
+ if (!value) {
86
+ return "";
87
+ }
88
+ return value
89
+ .trim()
90
+ .toLowerCase()
91
+ .replace(/[^a-z0-9._-]+/g, "-")
92
+ .replace(/^[^a-z0-9]+/, "")
93
+ .replace(/[^a-z0-9]+$/, "")
94
+ .slice(0, 80);
95
+ }
96
+ //# sourceMappingURL=mailbox-naming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mailbox-naming.js","sourceRoot":"","sources":["../../src/naming/mailbox-naming.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
- import type { ContextPackage, ContextPackagePreview, CreateContextPackageInput } from "../model/context-package.js";
3
- import { type RegisterMailboxInput, type RegisterMailboxResult } from "../registration/mailbox-registration.js";
2
+ import type { ContextPackage, ContextPackagePreview, CreateContextPackageInput, Mailbox } from "../model/context-package.js";
3
+ import { type RegisterMailboxInput, type RegisterMailboxResult } from "../naming/mailbox-naming.js";
4
4
  import type { ContextPackageStore, MailboxStore } from "../storage/mailbox-store.js";
5
5
  export declare const checkInboxInputSchema: z.ZodObject<{
6
6
  mailbox: z.ZodString;
@@ -49,11 +49,19 @@ export declare const inboxNotificationInputSchema: z.ZodObject<{
49
49
  mailbox: string;
50
50
  limit?: number | undefined;
51
51
  }>;
52
+ export declare const sessionBriefInputSchema: z.ZodObject<{
53
+ mailbox: z.ZodString;
54
+ }, "strip", z.ZodTypeAny, {
55
+ mailbox: string;
56
+ }, {
57
+ mailbox: string;
58
+ }>;
52
59
  export type CimuxStore = MailboxStore & ContextPackageStore;
53
60
  export type CheckInboxInput = z.input<typeof checkInboxInputSchema>;
54
61
  export type ReadContextInput = z.input<typeof readContextInputSchema>;
55
62
  export type AckContextInput = z.input<typeof ackContextInputSchema>;
56
63
  export type InboxNotificationInput = z.input<typeof inboxNotificationInputSchema>;
64
+ export type SessionBriefInput = z.input<typeof sessionBriefInputSchema>;
57
65
  export type SendContextResult = {
58
66
  contextPackage: ContextPackage;
59
67
  };
@@ -70,6 +78,12 @@ export type AckContextResult = {
70
78
  export type InboxNotificationResult = {
71
79
  message: string | null;
72
80
  };
81
+ export type SessionBriefResult = {
82
+ message: string;
83
+ };
84
+ export type ListMailboxesResult = {
85
+ mailboxes: Mailbox[];
86
+ };
73
87
  export declare class MailboxAccessError extends Error {
74
88
  readonly mailbox: string;
75
89
  readonly contextPackageId: string;
@@ -85,3 +99,5 @@ export declare function checkInbox(store: CimuxStore, input: CheckInboxInput): P
85
99
  export declare function readContext(store: CimuxStore, input: ReadContextInput): Promise<ReadContextResult>;
86
100
  export declare function ackContext(store: CimuxStore, input: AckContextInput): Promise<AckContextResult>;
87
101
  export declare function createInboxNotification(store: CimuxStore, input: InboxNotificationInput): Promise<InboxNotificationResult>;
102
+ export declare function createSessionBrief(store: CimuxStore, input: SessionBriefInput): Promise<SessionBriefResult>;
103
+ export declare function listMailboxes(store: MailboxStore): Promise<ListMailboxesResult>;