claude-code-infinite 1.0.26 → 1.0.28

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 (79) hide show
  1. package/README.md +44 -16
  2. package/dist/claude-auth.d.ts +9 -1
  3. package/dist/claude-auth.d.ts.map +1 -1
  4. package/dist/claude-auth.js +26 -4
  5. package/dist/claude-auth.js.map +1 -1
  6. package/dist/claude-env.d.ts +11 -4
  7. package/dist/claude-env.d.ts.map +1 -1
  8. package/dist/claude-env.js +11 -4
  9. package/dist/claude-env.js.map +1 -1
  10. package/dist/claude-locate.d.ts +18 -0
  11. package/dist/claude-locate.d.ts.map +1 -1
  12. package/dist/claude-locate.js +82 -3
  13. package/dist/claude-locate.js.map +1 -1
  14. package/dist/claude-plan-warning.d.ts +55 -0
  15. package/dist/claude-plan-warning.d.ts.map +1 -0
  16. package/dist/claude-plan-warning.js +95 -0
  17. package/dist/claude-plan-warning.js.map +1 -0
  18. package/dist/cli-args.d.ts +5 -0
  19. package/dist/cli-args.d.ts.map +1 -1
  20. package/dist/cli-args.js +9 -0
  21. package/dist/cli-args.js.map +1 -1
  22. package/dist/cli-lifecycle.d.ts +5 -0
  23. package/dist/cli-lifecycle.d.ts.map +1 -1
  24. package/dist/cli-lifecycle.js +13 -0
  25. package/dist/cli-lifecycle.js.map +1 -1
  26. package/dist/cli-main.js +170 -87
  27. package/dist/cli-main.js.map +1 -1
  28. package/dist/diagnostics-schema.d.ts +2 -0
  29. package/dist/diagnostics-schema.d.ts.map +1 -1
  30. package/dist/diagnostics-schema.js +13 -2
  31. package/dist/diagnostics-schema.js.map +1 -1
  32. package/dist/diagnostics.d.ts +8 -3
  33. package/dist/diagnostics.d.ts.map +1 -1
  34. package/dist/diagnostics.js +12 -3
  35. package/dist/diagnostics.js.map +1 -1
  36. package/dist/hooks.d.ts +8 -0
  37. package/dist/hooks.d.ts.map +1 -1
  38. package/dist/hooks.js +57 -25
  39. package/dist/hooks.js.map +1 -1
  40. package/dist/key-page.d.ts +17 -0
  41. package/dist/key-page.d.ts.map +1 -0
  42. package/dist/key-page.js +32 -0
  43. package/dist/key-page.js.map +1 -0
  44. package/dist/key-status.d.ts +79 -0
  45. package/dist/key-status.d.ts.map +1 -0
  46. package/dist/key-status.js +143 -0
  47. package/dist/key-status.js.map +1 -0
  48. package/dist/memtree.d.ts +23 -0
  49. package/dist/memtree.d.ts.map +1 -1
  50. package/dist/memtree.js +39 -3
  51. package/dist/memtree.js.map +1 -1
  52. package/dist/notices.d.ts +5 -0
  53. package/dist/notices.d.ts.map +1 -1
  54. package/dist/notices.js +13 -0
  55. package/dist/notices.js.map +1 -1
  56. package/dist/paused-session.d.ts +29 -0
  57. package/dist/paused-session.d.ts.map +1 -0
  58. package/dist/paused-session.js +148 -0
  59. package/dist/paused-session.js.map +1 -0
  60. package/dist/payment-gate.d.ts +44 -13
  61. package/dist/payment-gate.d.ts.map +1 -1
  62. package/dist/payment-gate.js +82 -23
  63. package/dist/payment-gate.js.map +1 -1
  64. package/dist/payment-link.d.ts +68 -0
  65. package/dist/payment-link.d.ts.map +1 -0
  66. package/dist/payment-link.js +123 -0
  67. package/dist/payment-link.js.map +1 -0
  68. package/dist/project-trees.d.ts +100 -0
  69. package/dist/project-trees.d.ts.map +1 -0
  70. package/dist/project-trees.js +196 -0
  71. package/dist/project-trees.js.map +1 -0
  72. package/dist/proxy.d.ts +13 -0
  73. package/dist/proxy.d.ts.map +1 -1
  74. package/dist/proxy.js +70 -8
  75. package/dist/proxy.js.map +1 -1
  76. package/dist/reqlog.d.ts +2 -0
  77. package/dist/reqlog.d.ts.map +1 -1
  78. package/dist/reqlog.js.map +1 -1
  79. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"notices.js","sourceRoot":"","sources":["../src/notices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notices.js","sourceRoot":"","sources":["../src/notices.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { AutoUpdateSetup } from "./auto-update-setup.js";
2
+ import { type ClaudeLocation } from "./claude-locate.js";
3
+ import { type Diagnostics } from "./diagnostics.js";
4
+ export type PausedSessionOptions = {
5
+ claude: ClaudeLocation;
6
+ claudeArgs: string[];
7
+ interactive: boolean;
8
+ diagnostics: Diagnostics;
9
+ autoUpdate: AutoUpdateSetup | null;
10
+ /** The SessionStart banner (interactive only); undefined shows none. */
11
+ banner?: string;
12
+ };
13
+ /** Run Claude Code as if ccc were not there, then exit with its status. Never returns. */
14
+ export declare function runWithoutMemtree(opts: PausedSessionOptions): Promise<never>;
15
+ /**
16
+ * The parent's environment minus ccc's own controls: none of the settings ccc
17
+ * gives Claude Code under MemTree (base URL, auto-compaction off, lifted
18
+ * context-limit refusal) apply, so Claude Code behaves exactly as without ccc.
19
+ * A ccc started inside another ccc session (a tool, a script) inherits the outer
20
+ * session's settings (claude-env.ts); those are dropped too.
21
+ */
22
+ export declare function plainClaudeEnv(parentEnv: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
23
+ /**
24
+ * Whether these Claude Code arguments resume or continue an earlier session. Such a
25
+ * session may have grown past the model's window under MemTree, which plain Claude
26
+ * Code could not send or compact, so it keeps ccc's own handling (cli-main.ts).
27
+ */
28
+ export declare function resumesSession(args: readonly string[]): boolean;
29
+ //# sourceMappingURL=paused-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paused-session.d.ts","sourceRoot":"","sources":["../src/paused-session.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAQ9D,OAAO,EAAE,KAAK,cAAc,EAAuC,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EAAE,KAAK,WAAW,EAAe,MAAM,kBAAkB,CAAC;AAUjE,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,0FAA0F;AAC1F,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC,CAqBlF;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAU9E;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAS/D"}
@@ -0,0 +1,148 @@
1
+ /**
2
+ * A session whose MemTree key is unpaid and whose user chose to continue without
3
+ * MemTree (the startup gate's [c], or any print/non-TTY run of an unpaid key).
4
+ *
5
+ * It runs as plain Claude Code: no local proxy, so no context_memory, compress or
6
+ * index calls that would only answer 402, and none of ccc's environment changes.
7
+ * Claude Code keeps its own auto-compaction and its own context-limit refusal
8
+ * (ccc normally turns both off because MemTree fits the conversation instead),
9
+ * and talks to the Anthropic API directly. Payment is checked again at the next
10
+ * ccc start; subscribing at the gate ([Enter]) turns MemTree on for this start.
11
+ *
12
+ * Interactive sessions get one SessionStart banner (a static plugin, no proxy):
13
+ * MemTree is off for this session, and how to turn it back on.
14
+ */
15
+ import spawn from "cross-spawn";
16
+ import { claudeExitFields, createSignalShutdownHandler, exitCodeForChild, settleWithin, } from "./cli-lifecycle.js";
17
+ import { UNREACHABLE_BLOCKING_LIMIT } from "./claude-env.js";
18
+ import { claudeMissingText, withClaudeOnPath } from "./claude-locate.js";
19
+ import { recordError } from "./diagnostics.js";
20
+ import { createStartupBannerPlugin, withSessionNoticePluginArgs, } from "./hooks.js";
21
+ /** How long a forwarded Ctrl+C/SIGTERM waits for Claude Code to exit before ccc does. */
22
+ const CHILD_EXIT_WAIT_MS = 5_000;
23
+ /** Run Claude Code as if ccc were not there, then exit with its status. Never returns. */
24
+ export async function runWithoutMemtree(opts) {
25
+ const plugin = opts.interactive && opts.banner ? bannerPlugin(opts.banner) : null;
26
+ const args = plugin ? withSessionNoticePluginArgs(opts.claudeArgs, plugin.dir) : opts.claudeArgs;
27
+ const startedAt = Date.now();
28
+ const child = spawn(opts.claude.command, args, {
29
+ env: withClaudeOnPath(plainClaudeEnv(process.env), opts.claude),
30
+ stdio: "inherit",
31
+ });
32
+ const exited = new Promise((resolve) => {
33
+ child.on("error", (err) => resolve(childStartFailed(err, opts.diagnostics)));
34
+ child.on("exit", (code, signal) => {
35
+ if (code !== 0)
36
+ opts.diagnostics.record("claude_exit", claudeExitFields(code, signal, startedAt));
37
+ resolve(exitCodeForChild(code, signal));
38
+ });
39
+ });
40
+ forwardSignals(child, exited, opts, (code) => void finish(code, plugin, opts));
41
+ opts.autoUpdate?.scheduleInstall(undefined, (result) => {
42
+ opts.diagnostics.record("auto_update", { result });
43
+ opts.diagnostics.flushNow();
44
+ });
45
+ return finish(await exited, plugin, opts);
46
+ }
47
+ /**
48
+ * The parent's environment minus ccc's own controls: none of the settings ccc
49
+ * gives Claude Code under MemTree (base URL, auto-compaction off, lifted
50
+ * context-limit refusal) apply, so Claude Code behaves exactly as without ccc.
51
+ * A ccc started inside another ccc session (a tool, a script) inherits the outer
52
+ * session's settings (claude-env.ts); those are dropped too.
53
+ */
54
+ export function plainClaudeEnv(parentEnv) {
55
+ const env = { ...parentEnv };
56
+ delete env.CCC_AUTO_COMPACT;
57
+ if (insideCccSession(parentEnv)) {
58
+ for (const name of OUTER_CCC_SETTINGS)
59
+ delete env[name];
60
+ if (env.CLAUDE_CODE_BLOCKING_LIMIT_OVERRIDE === UNREACHABLE_BLOCKING_LIMIT) {
61
+ delete env.CLAUDE_CODE_BLOCKING_LIMIT_OVERRIDE;
62
+ }
63
+ }
64
+ return env;
65
+ }
66
+ /**
67
+ * Whether these Claude Code arguments resume or continue an earlier session. Such a
68
+ * session may have grown past the model's window under MemTree, which plain Claude
69
+ * Code could not send or compact, so it keeps ccc's own handling (cli-main.ts).
70
+ */
71
+ export function resumesSession(args) {
72
+ for (const arg of args) {
73
+ if (arg === "--")
74
+ return false;
75
+ if (["-r", "--resume", "-c", "--continue", "--from-pr"].includes(arg) ||
76
+ arg.startsWith("--resume=") || arg.startsWith("--from-pr=")) {
77
+ return true;
78
+ }
79
+ }
80
+ return false;
81
+ }
82
+ /** What claudeChildEnv sets for the Claude Code it starts, besides the blocking limit. */
83
+ const OUTER_CCC_SETTINGS = [
84
+ "ANTHROPIC_BASE_URL", "_CLAUDE_CODE_ASSUME_FIRST_PARTY_BASE_URL",
85
+ "CLAUDE_CODE_RESUME_TOKEN_THRESHOLD", "DISABLE_AUTO_COMPACT",
86
+ ];
87
+ function insideCccSession(env) {
88
+ return env._CLAUDE_CODE_ASSUME_FIRST_PARTY_BASE_URL === "1" &&
89
+ /^http:\/\/127\.0\.0\.1:\d+\/?$/.test(env.ANTHROPIC_BASE_URL ?? "");
90
+ }
91
+ function bannerPlugin(banner) {
92
+ try {
93
+ return createStartupBannerPlugin(banner);
94
+ }
95
+ catch {
96
+ return null; // The banner is optional: a full temp dir must never stop the session.
97
+ }
98
+ }
99
+ function forwardSignals(child, exited, opts, exit) {
100
+ const handle = createSignalShutdownHandler({
101
+ forward: (signal) => {
102
+ if (child.exitCode !== null || child.signalCode !== null)
103
+ return;
104
+ try {
105
+ child.kill(signal);
106
+ }
107
+ catch {
108
+ // The child may have exited between the check and kill().
109
+ }
110
+ },
111
+ shutdown: (code) => void settleWithin(exited, CHILD_EXIT_WAIT_MS).then(() => exit(code)),
112
+ forceExit: (code) => process.exit(code),
113
+ });
114
+ process.on("SIGINT", () => handle("SIGINT"));
115
+ process.on("SIGTERM", () => handle("SIGTERM"));
116
+ if (process.platform === "win32") {
117
+ // Closing the console window (SIGHUP) gives ccc a few seconds, as in cli-main.ts.
118
+ // The update starts first: Windows may end ccc before Claude Code exits.
119
+ process.on("SIGHUP", () => {
120
+ opts.diagnostics.record("console_closed");
121
+ opts.autoUpdate?.installOnExit((result) => opts.diagnostics.record("auto_update", { result }));
122
+ handle("SIGTERM");
123
+ });
124
+ }
125
+ }
126
+ let finishing = null;
127
+ /** Once: start a pending Windows update, remove the banner, flush diagnostics, exit. */
128
+ function finish(code, plugin, opts) {
129
+ finishing ??= (async () => {
130
+ opts.autoUpdate?.installOnExit((result) => opts.diagnostics.record("auto_update", { result }));
131
+ plugin?.close();
132
+ await opts.diagnostics.flush();
133
+ process.exit(code);
134
+ })();
135
+ return finishing;
136
+ }
137
+ function childStartFailed(err, diagnostics) {
138
+ if (err.code === "ENOENT") {
139
+ diagnostics.record("claude_missing");
140
+ console.error(claudeMissingText());
141
+ }
142
+ else {
143
+ recordError(diagnostics, "spawn_failed", err);
144
+ console.error("Failed to start claude:", err.message);
145
+ }
146
+ return 1;
147
+ }
148
+ //# sourceMappingURL=paused-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paused-session.js","sourceRoot":"","sources":["../src/paused-session.ts"],"names":[],"mappings":"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"}
@@ -2,21 +2,41 @@
2
2
  * Startup payment gate for interactive `ccc` sessions.
3
3
  *
4
4
  * GET /v1/context_memory/status says whether the MemTree key is paid up. When
5
- * it is not, the launcher used to print a warning and start claude anyway —
6
- * but the TUI covers the terminal within a second, so the warning was never
7
- * read. Instead, an unpaid interactive session now stops on a prompt:
5
+ * it is not, an interactive session stops on a short prompt before Claude Code
6
+ * takes the terminal (the TUI would cover a printed warning within a second):
8
7
  *
9
- * [Enter] subscribe now [c] use claude without MemTree [q] quit
8
+ * MemTree is paused: your free credit is used up.
9
+ * Without it, long sessions hit the context limit and get compacted, losing information,
10
+ * and your sessions aren't saved or searchable.
11
+ * Starter is $5/month: https://app.polychat.co/p/Ab3xY9…
12
+ * [Enter] subscribe ($5/mo) [c] continue without MemTree [q] quit:
13
+ *
14
+ * The plan, price, reason and short link come from POST /v1/payment/link
15
+ * (payment-link.ts); an older server without it gets the status probe's
16
+ * `/payment?…` link and the plan named in its prose.
10
17
  *
11
18
  * Everything that needs no terminal lives here so it can be unit-tested:
12
19
  * parsing the status body, formatting the notice, and mapping keystrokes to a
13
- * choice. The prompt loop itself is in cli.ts.
20
+ * choice. The prompt loop itself is in cli-main.ts.
14
21
  */
22
+ import { type PaymentLink } from "./payment-link.js";
15
23
  export declare const FALLBACK_SUBSCRIBE_URL = "https://polychat.co/pricing";
16
24
  /** Query flag on the checkout link so the server's success page says "go back to your terminal". */
17
25
  export declare const CHECKOUT_SOURCE_PARAM = "source=ccc";
18
- export declare const PAYMENT_GATE_HEADLINE = "\u26A0 MemTree is off \u2014 payment required (compression + indexing disabled).";
19
- export declare const PAYMENT_GATE_PROMPT = "[Enter] subscribe now [c] use claude without MemTree [q] quit: ";
26
+ export declare const PAUSED_FREE_CREDIT_HEADLINE = "MemTree is paused: your free credit is used up.";
27
+ export declare const PAUSED_PLAN_LIMIT_HEADLINE = "MemTree is paused: your plan's usage limit is reached.";
28
+ export declare const PAUSED_HEADLINE = "MemTree is paused: payment required.";
29
+ /**
30
+ * What a paused session runs without. With [c] ccc starts plain Claude Code
31
+ * (cli-main.ts), whose own auto-compaction summarizes a long session, and nothing
32
+ * reaches MemTree, so the session is not indexed, saved there, or searchable.
33
+ */
34
+ export declare const PAUSED_LOSS_LINES: string;
35
+ /** After [c]: the session runs as plain Claude Code; the next start checks again. */
36
+ export declare const MEMTREE_OFF_LINE = "MemTree is off for this session. ccc checks again the next time you start it.";
37
+ /** Print/non-TTY runs of an unpaid key: one stderr line, then plain Claude Code. */
38
+ export declare const RESUMED_PAUSED_LINE = "MemTree is paused, so this resumed session runs uncompressed. ccc checks again next start.";
39
+ export declare const PRINT_PAUSED_LINE: string;
20
40
  export type PaymentStatus = {
21
41
  paid: boolean;
22
42
  /** Plain-text prompt from the server, or null when paid. */
@@ -31,19 +51,30 @@ export type PaymentChoice = "subscribe" | "continue" | "quit";
31
51
  * stays quiet, exactly like a network error.
32
52
  */
33
53
  export declare function parsePaymentStatus(body: unknown): PaymentStatus | null;
34
- /** Append `source=ccc` to a checkout link (idempotent). */
54
+ /** Append `source=ccc` to a `/payment?…` link (idempotent); a short link already implies it. */
35
55
  export declare function withCheckoutSource(url: string): string;
36
- /** First `/payment?…` link in a payment prompt, or null. */
56
+ /** The short checkout link in a payment prompt, else its first `/payment?…` link, else null. */
37
57
  export declare function extractPaymentUrl(message: string | null): string | null;
38
58
  /**
39
- * Terminal text for an unpaid key: the headline and one line with the
40
- * recommended plan (when the server's prose names one) and the subscribe
41
- * link. The full server message is deliberately not echoed — it is several
42
- * paragraphs written for a chat window, and the prompt below is the point.
59
+ * A 402 detail with its `/payment?…` link replaced by the short one, so every
60
+ * in-session notice built from it shows the short link. Unchanged without either.
61
+ */
62
+ export declare function withShortPaymentUrl(detail: string, shortUrl: string | null | undefined): string;
63
+ /**
64
+ * The gate's text, at most four lines above the prompt: why MemTree is paused,
65
+ * what the session loses without it, and the plan, price and link. The full
66
+ * server message is deliberately not echoed: it is several paragraphs written
67
+ * for a chat window, and the prompt below is the point.
43
68
  */
44
69
  export declare function formatPaymentNotice(status: PaymentStatus, options?: {
45
70
  hyperlinks?: boolean;
71
+ color?: boolean;
72
+ link?: PaymentLink | null;
46
73
  }): string;
74
+ /** The prompt line, with the server's price when it gave one. */
75
+ export declare function paymentGatePrompt(link?: PaymentLink | null): string;
76
+ /** The first line: why MemTree is paused, as far as the server said. */
77
+ export declare function pausedHeadline(reason: string | null): string;
47
78
  /** OSC 8 terminal hyperlink: `text` shown, `url` opened on click. */
48
79
  export declare function hyperlink(text: string, url: string): string;
49
80
  /** "Starter plan, $5/month" from the recommender's prose, or null. */
@@ -1 +1 @@
1
- {"version":3,"file":"payment-gate.d.ts","sourceRoot":"","sources":["../src/payment-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,sBAAsB,gCAAgC,CAAC;AAEpE,oGAAoG;AACpG,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAElD,eAAO,MAAM,qBAAqB,qFACwC,CAAC;AAE3E,eAAO,MAAM,mBAAmB,wEACuC,CAAC;AAExE,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,4DAA4D;IAC5D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,+FAA+F;IAC/F,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;AAQ9D;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,CAkBtE;AAED,2DAA2D;AAC3D,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED,4DAA4D;AAC5D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAIvE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GACrC,MAAM,CAOR;AAED,qEAAqE;AACrE,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAI5E;AAED,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAKhE"}
1
+ {"version":3,"file":"payment-gate.d.ts","sourceRoot":"","sources":["../src/payment-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EACL,KAAK,WAAW,EAIjB,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,sBAAsB,gCAAgC,CAAC;AAEpE,oGAAoG;AACpG,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAElD,eAAO,MAAM,2BAA2B,oDAAoD,CAAC;AAC7F,eAAO,MAAM,0BAA0B,2DAA2D,CAAC;AACnG,eAAO,MAAM,eAAe,yCAAyC,CAAC;AACtE;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,QAEgC,CAAC;AAC/D,qFAAqF;AACrF,eAAO,MAAM,gBAAgB,kFACoD,CAAC;AAClF,oFAAoF;AACpF,eAAO,MAAM,mBAAmB,+FAC8D,CAAC;AAC/F,eAAO,MAAM,iBAAiB,QAES,CAAC;AAExC,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,4DAA4D;IAC5D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,+FAA+F;IAC/F,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;AAY9D;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,CAoBtE;AAED,gGAAgG;AAChG,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED,gGAAgG;AAChG,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAIvE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAG/F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CAAO,GACjF,MAAM,CAUR;AAED,iEAAiE;AACjE,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,WAAW,GAAG,IAAW,GAAG,MAAM,CAIzE;AAED,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAI5D;AAQD,qEAAqE;AACrE,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAI5E;AAED,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAKhE"}
@@ -2,24 +2,50 @@
2
2
  * Startup payment gate for interactive `ccc` sessions.
3
3
  *
4
4
  * GET /v1/context_memory/status says whether the MemTree key is paid up. When
5
- * it is not, the launcher used to print a warning and start claude anyway —
6
- * but the TUI covers the terminal within a second, so the warning was never
7
- * read. Instead, an unpaid interactive session now stops on a prompt:
5
+ * it is not, an interactive session stops on a short prompt before Claude Code
6
+ * takes the terminal (the TUI would cover a printed warning within a second):
8
7
  *
9
- * [Enter] subscribe now [c] use claude without MemTree [q] quit
8
+ * MemTree is paused: your free credit is used up.
9
+ * Without it, long sessions hit the context limit and get compacted, losing information,
10
+ * and your sessions aren't saved or searchable.
11
+ * Starter is $5/month: https://app.polychat.co/p/Ab3xY9…
12
+ * [Enter] subscribe ($5/mo) [c] continue without MemTree [q] quit:
13
+ *
14
+ * The plan, price, reason and short link come from POST /v1/payment/link
15
+ * (payment-link.ts); an older server without it gets the status probe's
16
+ * `/payment?…` link and the plan named in its prose.
10
17
  *
11
18
  * Everything that needs no terminal lives here so it can be unit-tested:
12
19
  * parsing the status body, formatting the notice, and mapping keystrokes to a
13
- * choice. The prompt loop itself is in cli.ts.
20
+ * choice. The prompt loop itself is in cli-main.ts.
14
21
  */
22
+ import { REASON_FREE_CREDIT_USED, REASON_PLAN_LIMIT, formatUsd, } from "./payment-link.js";
15
23
  export const FALLBACK_SUBSCRIBE_URL = "https://polychat.co/pricing";
16
24
  /** Query flag on the checkout link so the server's success page says "go back to your terminal". */
17
25
  export const CHECKOUT_SOURCE_PARAM = "source=ccc";
18
- export const PAYMENT_GATE_HEADLINE = "⚠ MemTree is off — payment required (compression + indexing disabled).";
19
- export const PAYMENT_GATE_PROMPT = "[Enter] subscribe now [c] use claude without MemTree [q] quit: ";
26
+ export const PAUSED_FREE_CREDIT_HEADLINE = "MemTree is paused: your free credit is used up.";
27
+ export const PAUSED_PLAN_LIMIT_HEADLINE = "MemTree is paused: your plan's usage limit is reached.";
28
+ export const PAUSED_HEADLINE = "MemTree is paused: payment required.";
29
+ /**
30
+ * What a paused session runs without. With [c] ccc starts plain Claude Code
31
+ * (cli-main.ts), whose own auto-compaction summarizes a long session, and nothing
32
+ * reaches MemTree, so the session is not indexed, saved there, or searchable.
33
+ */
34
+ export const PAUSED_LOSS_LINES = "Without it, long sessions hit the context limit and get compacted, losing\n" +
35
+ "information, and your sessions aren't saved or searchable.";
36
+ /** After [c]: the session runs as plain Claude Code; the next start checks again. */
37
+ export const MEMTREE_OFF_LINE = "MemTree is off for this session. ccc checks again the next time you start it.";
38
+ /** Print/non-TTY runs of an unpaid key: one stderr line, then plain Claude Code. */
39
+ export const RESUMED_PAUSED_LINE = "MemTree is paused, so this resumed session runs uncompressed. ccc checks again next start.";
40
+ export const PRINT_PAUSED_LINE = "ccc: MemTree is paused (payment required), so this run is plain Claude Code. " +
41
+ "Run ccc in a terminal to subscribe.";
20
42
  const PAYMENT_URL_RE = /https?:\/\/\S+\/payment\?\S+/;
43
+ /** The short checkout link (payment-link.ts) that ccc puts in place of the `/payment?…` one. */
44
+ const SHORT_PAYMENT_URL_RE = /https?:\/\/[^\s/]+\/p\/[A-Za-z0-9]{12,64}(?![A-Za-z0-9])/;
21
45
  // "we recommend 🌱 Starter plan for $5/month" → plan name + price.
22
46
  const RECOMMENDED_PLAN_RE = /recommend\s+(?:\S+\s+)?([A-Za-z][\w ]*?plan)\s+for\s+(\$[\d.]+\/month)/i;
47
+ // No quotes, `$`, backticks or bare `%` (cmd.exe expands %VAR% when Windows opens it).
48
+ const SAFE_URL_RE = /^https?:\/\/(?:[^\s"'`$<>%\\\u0000-\u001f\u007f-\u009f]|%[0-9A-Fa-f]{2})+$/;
23
49
  // C0 controls, DEL, and C1 controls.
24
50
  const CONTROL_CHARS_RE = /[\u0000-\u001f\u007f-\u009f]/g;
25
51
  /**
@@ -39,40 +65,73 @@ export function parsePaymentStatus(body) {
39
65
  const explicitUrl = typeof record.payment_url === "string" && record.payment_url.trim()
40
66
  ? record.payment_url.trim()
41
67
  : null;
42
- const url = explicitUrl ?? extractPaymentUrl(message);
68
+ const found = explicitUrl ?? extractPaymentUrl(message);
69
+ // Printed and handed to the browser opener: a plain http(s) URL only.
70
+ const url = found && SAFE_URL_RE.test(found) ? found : null;
43
71
  return {
44
72
  paid: record.paid,
45
73
  message,
46
74
  url: url ? withCheckoutSource(url) : null,
47
75
  };
48
76
  }
49
- /** Append `source=ccc` to a checkout link (idempotent). */
77
+ /** Append `source=ccc` to a `/payment?…` link (idempotent); a short link already implies it. */
50
78
  export function withCheckoutSource(url) {
51
- if (url.includes(CHECKOUT_SOURCE_PARAM))
79
+ if (url.includes(CHECKOUT_SOURCE_PARAM) || SHORT_PAYMENT_URL_RE.test(url))
52
80
  return url;
53
81
  return `${url}${url.includes("?") ? "&" : "?"}${CHECKOUT_SOURCE_PARAM}`;
54
82
  }
55
- /** First `/payment?…` link in a payment prompt, or null. */
83
+ /** The short checkout link in a payment prompt, else its first `/payment?…` link, else null. */
56
84
  export function extractPaymentUrl(message) {
57
85
  if (!message)
58
86
  return null;
59
- const match = PAYMENT_URL_RE.exec(message);
87
+ const match = SHORT_PAYMENT_URL_RE.exec(message) ?? PAYMENT_URL_RE.exec(message);
60
88
  return match ? match[0] : null;
61
89
  }
62
90
  /**
63
- * Terminal text for an unpaid key: the headline and one line with the
64
- * recommended plan (when the server's prose names one) and the subscribe
65
- * link. The full server message is deliberately not echoed — it is several
66
- * paragraphs written for a chat window, and the prompt below is the point.
91
+ * A 402 detail with its `/payment?…` link replaced by the short one, so every
92
+ * in-session notice built from it shows the short link. Unchanged without either.
93
+ */
94
+ export function withShortPaymentUrl(detail, shortUrl) {
95
+ if (!shortUrl)
96
+ return detail;
97
+ return detail.replace(new RegExp(PAYMENT_URL_RE.source, "g"), () => shortUrl);
98
+ }
99
+ /**
100
+ * The gate's text, at most four lines above the prompt: why MemTree is paused,
101
+ * what the session loses without it, and the plan, price and link. The full
102
+ * server message is deliberately not echoed: it is several paragraphs written
103
+ * for a chat window, and the prompt below is the point.
67
104
  */
68
105
  export function formatPaymentNotice(status, options = {}) {
69
- const plan = extractRecommendedPlan(status.message);
70
- const url = status.url ?? FALLBACK_SUBSCRIBE_URL;
71
- if (!options.hyperlinks)
72
- return `${PAYMENT_GATE_HEADLINE}\n ${plan ? `${plan}: ` : ""}${url}`;
73
- // Interactive terminals: the plan name is an OSC 8 link to checkout, and the
74
- // URL is printed below it for terminals without hyperlinks (and to copy).
75
- return `${PAYMENT_GATE_HEADLINE}\n ${hyperlink(plan ?? "Subscribe", url)}\n ${url}`;
106
+ const link = options.link ?? null;
107
+ const headline = pausedHeadline(link?.reason ?? null);
108
+ const url = link?.url ?? status.url ?? FALLBACK_SUBSCRIBE_URL;
109
+ const shownUrl = options.hyperlinks ? hyperlink(url, url) : url;
110
+ return [
111
+ options.color ? `\x1b[1;33m${headline}\x1b[0m` : headline,
112
+ PAUSED_LOSS_LINES,
113
+ `${offerLabel(status, link)}: ${shownUrl}`,
114
+ ].join("\n");
115
+ }
116
+ /** The prompt line, with the server's price when it gave one. */
117
+ export function paymentGatePrompt(link = null) {
118
+ const verb = link?.reason === REASON_PLAN_LIMIT ? "upgrade" : "subscribe";
119
+ const price = link ? ` (${formatUsd(link.monthlyPriceUsd)}/mo)` : "";
120
+ return `[Enter] ${verb}${price} [c] continue without MemTree [q] quit: `;
121
+ }
122
+ /** The first line: why MemTree is paused, as far as the server said. */
123
+ export function pausedHeadline(reason) {
124
+ if (reason === REASON_FREE_CREDIT_USED)
125
+ return PAUSED_FREE_CREDIT_HEADLINE;
126
+ if (reason === REASON_PLAN_LIMIT)
127
+ return PAUSED_PLAN_LIMIT_HEADLINE;
128
+ return PAUSED_HEADLINE;
129
+ }
130
+ /** "Starter is $5/month", else the old server's "Starter plan, $5/month", else "Subscribe". */
131
+ function offerLabel(status, link) {
132
+ if (link)
133
+ return `${link.plan} is ${formatUsd(link.monthlyPriceUsd)}/month`;
134
+ return extractRecommendedPlan(status.message) ?? "Subscribe";
76
135
  }
77
136
  /** OSC 8 terminal hyperlink: `text` shown, `url` opened on click. */
78
137
  export function hyperlink(text, url) {
@@ -1 +1 @@
1
- {"version":3,"file":"payment-gate.js","sourceRoot":"","sources":["../src/payment-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payment-gate.js","sourceRoot":"","sources":["../src/payment-gate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Short checkout link for an unpaid MemTree key.
3
+ *
4
+ * POST /v1/payment/link (authenticated with the MemTree key) answers
5
+ * `{url: "https://app.polychat.co/p/Ab3xY9…", plan, monthly_price_usd, reason, expires_at}`.
6
+ * The link opens Stripe Checkout for the key's own account with no sign-in, so the
7
+ * wrong-account and signed-out detours of the old `/payment?user_id=…` link go away.
8
+ * It works for an hour; the cache below fetches a new one when the old one is about
9
+ * to expire.
10
+ *
11
+ * Servers without the endpoint (404), timeouts and odd bodies all mean "no link":
12
+ * callers fall back to the status probe's `/payment?…` link, exactly as before.
13
+ */
14
+ export declare const PAYMENT_LINK_PATH = "/v1/payment/link";
15
+ /** A link this close to expiry is replaced before it is shown or opened. */
16
+ export declare const PAYMENT_LINK_REFRESH_MARGIN_MS: number;
17
+ /** After a failed fetch (old server, outage), wait this long before asking again. */
18
+ export declare const PAYMENT_LINK_RETRY_MS: number;
19
+ export declare const PAYMENT_LINK_TIMEOUT_MS = 1500;
20
+ export declare const REASON_FREE_CREDIT_USED = "free_credit_used";
21
+ export declare const REASON_PLAN_LIMIT = "plan_limit";
22
+ export type PaymentLink = {
23
+ url: string;
24
+ /** Plan name to show, e.g. "Starter". */
25
+ plan: string;
26
+ /** Monthly price in US dollars, e.g. 5. */
27
+ monthlyPriceUsd: number;
28
+ /** Why MemTree is paused (REASON_*), or null when the server did not say. */
29
+ reason: string | null;
30
+ /** Epoch ms after which the link no longer works, or null when unknown. */
31
+ expiresAt: number | null;
32
+ };
33
+ export type FetchLike = (input: string, init?: RequestInit) => Promise<Response>;
34
+ export type PaymentLinkFetchOptions = {
35
+ baseUrl: string;
36
+ apiKey: string;
37
+ headers?: Record<string, string>;
38
+ timeoutMs?: number;
39
+ fetchImpl?: FetchLike;
40
+ };
41
+ /** Ask the server for a short link; null on any failure. Never throws. */
42
+ export declare function fetchPaymentLink(opts: PaymentLinkFetchOptions): Promise<PaymentLink | null>;
43
+ /** Validate the endpoint's body; null unless it carries a usable short link. */
44
+ export declare function parsePaymentLink(body: unknown): PaymentLink | null;
45
+ /** Whether `link` can still be shown or opened (not within the margin of expiring). */
46
+ export declare function paymentLinkFresh(link: PaymentLink, now?: number): boolean;
47
+ /** "$5", "$7.50": whole dollars without cents. */
48
+ export declare function formatUsd(amount: number): string;
49
+ /**
50
+ * One process's short link: fetched on demand, reused while fresh, refetched near
51
+ * expiry, and not asked for again for PAYMENT_LINK_RETRY_MS after a failure (so an
52
+ * old server's 404 costs one request, not one per 402).
53
+ */
54
+ export declare class PaymentLinkCache {
55
+ private readonly fetchLink;
56
+ private readonly now;
57
+ private link;
58
+ private inFlight;
59
+ private failedAt;
60
+ constructor(fetchLink: () => Promise<PaymentLink | null>, now?: () => number);
61
+ /** The cached link while fresh, else null (never fetches). */
62
+ current(): PaymentLink | null;
63
+ /** A fresh link: the cached one, or one fetch shared by concurrent callers. */
64
+ get(): Promise<PaymentLink | null>;
65
+ /** Wait at most `ms` for a fetch already in flight; resolves at once when none is. */
66
+ settled(ms: number): Promise<void>;
67
+ }
68
+ //# sourceMappingURL=payment-link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-link.d.ts","sourceRoot":"","sources":["../src/payment-link.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,iBAAiB,qBAAqB,CAAC;AACpD,4EAA4E;AAC5E,eAAO,MAAM,8BAA8B,QAAgB,CAAC;AAC5D,qFAAqF;AACrF,eAAO,MAAM,qBAAqB,QAAiB,CAAC;AACpD,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C,eAAO,MAAM,uBAAuB,qBAAqB,CAAC;AAC1D,eAAO,MAAM,iBAAiB,eAAe,CAAC;AAE9C,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,eAAe,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEjF,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAWF,0EAA0E;AAC1E,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAejG;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAelE;AAED,uFAAuF;AACvF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,SAAa,GAAG,OAAO,CAE7E;AAED,kDAAkD;AAClD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;;GAIG;AACH,qBAAa,gBAAgB;IAMzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,GAAG;IANtB,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,QAAQ,CAA4C;IAC5D,OAAO,CAAC,QAAQ,CAAqB;gBAGlB,SAAS,EAAE,MAAM,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,EAC5C,GAAG,GAAE,MAAM,MAAiB;IAG/C,8DAA8D;IAC9D,OAAO,IAAI,WAAW,GAAG,IAAI;IAI7B,+EAA+E;IAC/E,GAAG,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAgBlC,sFAAsF;IAChF,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CASzC"}