@oatelauser/crosschat 1.3.3 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +126 -285
  3. package/dist/cli.js +246 -11
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/claude-wrapper.js +31 -3
  6. package/dist/commands/claude-wrapper.js.map +1 -1
  7. package/dist/commands/clean.js +91 -0
  8. package/dist/commands/clean.js.map +1 -0
  9. package/dist/commands/codex-wrapper.js +33 -0
  10. package/dist/commands/codex-wrapper.js.map +1 -0
  11. package/dist/commands/doctor.js +54 -0
  12. package/dist/commands/doctor.js.map +1 -1
  13. package/dist/commands/send.js +107 -20
  14. package/dist/commands/send.js.map +1 -1
  15. package/dist/commands/serve.js +380 -0
  16. package/dist/commands/serve.js.map +1 -0
  17. package/dist/commands/status.js +86 -0
  18. package/dist/commands/status.js.map +1 -1
  19. package/dist/commands/uninstall.js +66 -0
  20. package/dist/commands/uninstall.js.map +1 -0
  21. package/dist/envelope.js +10 -2
  22. package/dist/envelope.js.map +1 -1
  23. package/dist/federation.js +14 -7
  24. package/dist/federation.js.map +1 -1
  25. package/dist/identity.js +25 -0
  26. package/dist/identity.js.map +1 -1
  27. package/dist/limits.js +126 -0
  28. package/dist/limits.js.map +1 -0
  29. package/dist/serve/broker.js +495 -0
  30. package/dist/serve/broker.js.map +1 -0
  31. package/dist/serve/file-channel.js +211 -0
  32. package/dist/serve/file-channel.js.map +1 -0
  33. package/dist/serve/node.js +340 -0
  34. package/dist/serve/node.js.map +1 -0
  35. package/dist/serve/protocol.js +51 -0
  36. package/dist/serve/protocol.js.map +1 -0
  37. package/dist/serve/registry.js +116 -0
  38. package/dist/serve/registry.js.map +1 -0
  39. package/dist/serve/via-tcp.js +323 -0
  40. package/dist/serve/via-tcp.js.map +1 -0
  41. package/package.json +1 -1
  42. package/skills/crosschat/SKILL.md +11 -6
package/dist/envelope.js CHANGED
@@ -2,6 +2,11 @@
2
2
  * Broker-owned message envelope (tickets 003/004): structural provenance
3
3
  * framing plus an inline reply tutorial, so the protocol teaches itself
4
4
  * without depending on prompt wording (low-invasion constraint).
5
+ *
6
+ * 票A 第六单政策:上限教学行永远静态"超 16KiB"——信封的读者是收方,数字
7
+ * 是发方的,动态值教错人(收方会误当自己的上限);宁可少报不会错(提额
8
+ * 世界里大内容要么直接发成功、要么报错报出本机准确值)。准确数字只住各侧
9
+ * 自己的报错里,信封只教方向不教数字。
5
10
  */
6
11
  /** Claude trims very long from-names; keep ours within 64 codepoints. */
7
12
  export const FROM_NAME_MAX_CODEPOINTS = 64;
@@ -24,8 +29,11 @@ export function composeEnvelope(input) {
24
29
  const fromName = shortened ? codepoints.slice(0, FROM_NAME_MAX_CODEPOINTS).join('') : input.fromName;
25
30
  const aliasAttr = shortened ? ` from-alias="${escapeAttr(input.fromName)}"` : '';
26
31
  const body = neutralizeReservedTags(input.body);
27
- const via = input.viaHost === undefined ? '' : ` --via ssh:${input.viaHost}`;
28
- return (`<cross-session-message from-name="${escapeAttr(fromName)}" turn="${input.turn}"${aliasAttr}>\n` +
32
+ const via = input.viaHost === undefined ? '' : ` --via ${input.viaTransport === 'tcp' ? 'tcp' : 'ssh'}:${input.viaHost}`;
33
+ // 轮次预算合并进 turn 属性(turn="13/40",斜杠后为预算轮数)——软提醒不
34
+ // 硬拦(41/40 照发照显),未设预算时 turn 保持纯数字(字节零回归锚点)。
35
+ const turnAttr = input.turnBudget === undefined ? `${input.turn}` : `${input.turn}/${input.turnBudget}`;
36
+ return (`<cross-session-message from-name="${escapeAttr(fromName)}" turn="${turnAttr}"${aliasAttr}>\n` +
29
37
  `<crosschat-reply-hint conversation="${input.ref}" reply-as="${escapeAttr(input.toName)}">` +
30
38
  `回复请运行: crosschat send${via} --conversation ${input.ref} --body "<你的回复>"</crosschat-reply-hint>\n` +
31
39
  `新话题或对话已推进时: crosschat send --to <名字> --body "..."(--to 自动接续该端对最近对话);超 16KiB 请写文件后只发路径\n` +
@@ -1 +1 @@
1
- {"version":3,"file":"envelope.js","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,yEAAyE;AACzE,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,oBAAoB,GAAG,4FAA4F,CAAC;AAqB1H,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAoB;IAClD,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,GAAG,wBAAwB,CAAC;IAC/D,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;IACrG,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,gBAAgB,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,CAAC,OAAO,EAAE,CAAC;IAC7E,OAAO,CACL,qCAAqC,UAAU,CAAC,QAAQ,CAAC,WAAW,KAAK,CAAC,IAAI,IAAI,SAAS,KAAK;QAChG,uCAAuC,KAAK,CAAC,GAAG,eAAe,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;QAC3F,wBAAwB,GAAG,mBAAmB,KAAK,CAAC,GAAG,2CAA2C;QAClG,yFAAyF;QACzF,GAAG,IAAI,IAAI;QACX,0BAA0B,CAC3B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"envelope.js","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,yEAAyE;AACzE,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,oBAAoB,GAAG,4FAA4F,CAAC;AA2B1H,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAoB;IAClD,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,GAAG,wBAAwB,CAAC;IAC/D,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;IACrG,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,gBAAgB,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;IACzH,+CAA+C;IAC/C,4CAA4C;IAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;IACxG,OAAO,CACL,qCAAqC,UAAU,CAAC,QAAQ,CAAC,WAAW,QAAQ,IAAI,SAAS,KAAK;QAC9F,uCAAuC,KAAK,CAAC,GAAG,eAAe,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;QAC3F,wBAAwB,GAAG,mBAAmB,KAAK,CAAC,GAAG,2CAA2C;QAClG,yFAAyF;QACzF,GAAG,IAAI,IAAI;QACX,0BAA0B,CAC3B,CAAC;AACJ,CAAC"}
@@ -46,7 +46,7 @@ export function validateRemoteFlagValues(args) {
46
46
  * along so the receiving side can tell same-hostname machines apart —
47
47
  * hostnames never contain ':' so the tail split is unambiguous.
48
48
  */
49
- export function encodeOrigin(identity, host, mid) {
49
+ export function encodeOrigin(identity, host, mid, via) {
50
50
  const who = identity.p === 'claude'
51
51
  ? identity.name === undefined
52
52
  ? `claude/${identity.id}`
@@ -54,7 +54,9 @@ export function encodeOrigin(identity, host, mid) {
54
54
  : identity.p === 'codex'
55
55
  ? `codex/${identity.id}`
56
56
  : 'human';
57
- const tail = mid === undefined ? host : `${host}:${Buffer.from(mid, 'utf8').toString('base64url')}`;
57
+ // B2.1:tcp 形态给 tail 加 'tcp:' 前缀(host 槽=发送方 mid8);ssh/单机路径字节不变(零回归锚点)。
58
+ const head = via === 'tcp' ? `tcp:${host}` : host;
59
+ const tail = mid === undefined ? head : `${head}:${Buffer.from(mid, 'utf8').toString('base64url')}`;
58
60
  return Buffer.from(`${who}@${tail}`, 'utf8').toString('base64url');
59
61
  }
60
62
  /**
@@ -81,16 +83,20 @@ export function decodeOriginIdentity(encoded) {
81
83
  if (at <= 0)
82
84
  throw new MultichatError('USAGE', `--origin 格式非法: ${text}`);
83
85
  const head = text.slice(0, at);
84
- const tail = text.slice(at + 1);
86
+ const rawTail = text.slice(at + 1);
87
+ // B2.1:'tcp:' 前缀标记传输形态(host 槽=发送方 mid8);无前缀=ssh/单机,解码字节路径不变。
88
+ const via = rawTail.startsWith('tcp:') ? 'tcp' : undefined;
89
+ const tail = via === 'tcp' ? rawTail.slice(4) : rawTail;
85
90
  const colon = tail.lastIndexOf(':');
86
91
  const host = colon === -1 ? tail : tail.slice(0, colon);
87
92
  const mid = colon === -1 ? undefined : Buffer.from(tail.slice(colon + 1), 'base64url').toString('utf8');
88
93
  if (host === '' || mid === '')
89
94
  throw new MultichatError('USAGE', `--origin 格式非法: ${text}`);
95
+ const viaField = via === undefined ? {} : { via };
90
96
  const slash = head.indexOf('/');
91
97
  if (slash <= 0) {
92
98
  if (head === 'human')
93
- return mid === undefined ? { p: 'human', host } : { p: 'human', host, mid };
99
+ return mid === undefined ? { p: 'human', host, ...viaField } : { p: 'human', host, mid, ...viaField };
94
100
  throw new MultichatError('USAGE', `--origin 格式非法: ${text}`);
95
101
  }
96
102
  const p = head.slice(0, slash);
@@ -105,9 +111,9 @@ export function decodeOriginIdentity(encoded) {
105
111
  throw new MultichatError('USAGE', `--origin 格式非法: ${text}`);
106
112
  const midField = mid === undefined ? {} : { mid };
107
113
  if (p === 'claude')
108
- return name === undefined ? { p: 'claude', id, host, ...midField } : { p: 'claude', id, name, host, ...midField };
114
+ return name === undefined ? { p: 'claude', id, host, ...midField, ...viaField } : { p: 'claude', id, name, host, ...midField, ...viaField };
109
115
  if (p === 'codex')
110
- return { p: 'codex', id, host, ...midField };
116
+ return { p: 'codex', id, host, ...midField, ...viaField };
111
117
  throw new MultichatError('USAGE', `--origin 端点类型非法: ${p}`);
112
118
  }
113
119
  /** The exact remote command (fixed face, design D2 — configurable = injectable). */
@@ -232,7 +238,8 @@ export async function runViaSend(args, body, deps) {
232
238
  }
233
239
  return `delivered to ${displayTo} (turn ${receipt.turn})\nreply-ref: ${receipt.replyRef}`;
234
240
  }
235
- function originDisplayName(identity) {
241
+ /** 发起方展示名(B2 起与 via-tcp 共用——tcp/ssh 记账同源)。 */
242
+ export function originDisplayName(identity) {
236
243
  if (identity.p === 'claude')
237
244
  return identity.name ?? `claude/${identity.id.slice(0, 8)}`;
238
245
  if (identity.p === 'codex')
@@ -1 +1 @@
1
- {"version":3,"file":"federation.js","sourceRoot":"","sources":["../src/federation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"federation.js","sourceRoot":"","sources":["../src/federation.ts"],"names":[],"mappings":"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"}
package/dist/identity.js CHANGED
@@ -1,5 +1,30 @@
1
1
  import process from 'node:process';
2
2
  import { MultichatError } from './errors.js';
3
+ export const IDENTITY_ENV_FAMILIES = {
4
+ claude: [
5
+ 'CLAUDE_CODE_MESSAGING_SOCKET',
6
+ 'CLAUDE_CODE_MESSAGING_TOKEN',
7
+ 'CLAUDE_CODE_SESSION_ID',
8
+ ],
9
+ codex: ['CODEX_THREAD_ID', 'CODEX_SESSION_ID'],
10
+ };
11
+ /** 复制 env 并删除给定键(不改动原对象)。 */
12
+ export function stripEnvKeys(env, keys) {
13
+ const clean = { ...env };
14
+ for (const key of keys)
15
+ delete clean[key];
16
+ return clean;
17
+ }
18
+ /** 除自家外所有家族的身份键合集(启动器检测"对族在场"与剥离共用)。 */
19
+ export function otherIdentityKeys(own) {
20
+ return Object.keys(IDENTITY_ENV_FAMILIES)
21
+ .filter((family) => family !== own)
22
+ .flatMap((family) => IDENTITY_ENV_FAMILIES[family]);
23
+ }
24
+ /** 启动器身份清洗:复制 env 并删除"除自家外所有家族"的身份键(不改动原对象)。 */
25
+ export function stripOtherFamilies(env, own) {
26
+ return stripEnvKeys(env, otherIdentityKeys(own));
27
+ }
3
28
  /** Canonical key used for rate-limit buckets ("claude:<id>" / "codex:<id>" / "human"). */
4
29
  export function identityKey(identity) {
5
30
  return identity.p === 'human' || identity.id === undefined ? identity.p : `${identity.p}:${identity.id}`;
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"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"}
package/dist/limits.js ADDED
@@ -0,0 +1,126 @@
1
+ /**
2
+ * 单条正文上限与轮次预算的解析(票A):纯函数小模块,send.ts 只调用。
3
+ * 两个旋钮完全对称——参数(--max-body-kb / --max-turn)> 环境变量
4
+ * (CROSSCHAT_MAX_BODY_KIB / CROSSCHAT_MAX_TURN)> 不设置;非法来源
5
+ * (非正整数 / NaN / ≤0)静默降级到下一层,容错风格同 federation.ts 的
6
+ * CROSSCHAT_SSH_TIMEOUT_MS(配置是给操作者的旋钮,不是给攻击者的面)。
7
+ * 启动器(crosschat claude / codex)的旋钮剥离与校验也住这里(第五单)。
8
+ */
9
+ import { MultichatError } from './errors.js';
10
+ /** 兜底默认(ticket 004 现状值):16KiB——默认路径输出字节不变的锚点。 */
11
+ export const DEFAULT_MAX_BODY_BYTES = 16_384;
12
+ /** 来源值的绝对上界(16384 KiB = 16MiB):再大的配置也按此封顶(确定行为)。 */
13
+ export const MAX_BODY_KIB_CEILING = 16_384;
14
+ /** 目标端点封顶(传输天花板):claude 投递管道 64KiB;codex 1MiB。 */
15
+ export const CLAUDE_ENDPOINT_MAX_BODY_BYTES = 65_536;
16
+ export const CODEX_ENDPOINT_MAX_BODY_BYTES = 1_048_576;
17
+ /** 正整数解析:非数字 / NaN / 非整数 / ≤0 → undefined。send 侧静默降级;wrapper 侧直接报错(一次性人工输入)。 */
18
+ export function parsePositiveInt(raw) {
19
+ if (raw === undefined)
20
+ return undefined;
21
+ const n = Number(raw);
22
+ return Number.isInteger(n) && n > 0 ? n : undefined;
23
+ }
24
+ /** 配置层上限(字节):--max-body-kb > CROSSCHAT_MAX_BODY_KIB > 16384;超 16MiB 按封顶处理。 */
25
+ export function resolveConfiguredMaxBodyBytes(maxBodyKb, env) {
26
+ const kb = parsePositiveInt(maxBodyKb) ?? parsePositiveInt(env.CROSSCHAT_MAX_BODY_KIB);
27
+ if (kb === undefined)
28
+ return DEFAULT_MAX_BODY_BYTES;
29
+ return Math.min(kb, MAX_BODY_KIB_CEILING) * 1_024;
30
+ }
31
+ /** 轮次预算:--max-turn > CROSSCHAT_MAX_TURN > 不设置(undefined)。 */
32
+ export function resolveMaxTurn(maxTurn, env) {
33
+ return parsePositiveInt(maxTurn) ?? parsePositiveInt(env.CROSSCHAT_MAX_TURN);
34
+ }
35
+ /**
36
+ * MESSAGE_TOO_LARGE 教学文案(票A):本地变体保留分形态尾巴(单机落盘 /
37
+ * ssh scp 旁路 / 其他形态未定义——这些教学路径已被线上文档引用,原文不
38
+ * 动),追加提额途径;到端点/绝对硬顶时明说封顶多少、提额无效。
39
+ * remote = 远端来件(--origin 在场,008 D5):读报错的是发送方,单机教学
40
+ * 对它是误导——换远端变体,绝口不提"可提额 --max-body-kb"(发送方本机
41
+ * 提额管不到接收方,指这条路 = 无效循环)。remote 与 hardCap 可组合:
42
+ * 无 hardCap → 接收方操作者可调 CROSSCHAT_MAX_BODY_KIB 或走 scp;
43
+ * 有 hardCap → 端点硬顶连接收方提额也过不了,scp 是唯一出路(此时同样
44
+ * 不提 CROSSCHAT_MAX_BODY_KIB,指了也是死路)。
45
+ */
46
+ export function bodyTooLargeMessage(size, limitBytes, via, hardCap, remote = false) {
47
+ // scp 旁路三步教学(远端变体的普适出路):发送方落盘 → scp 到接收方
48
+ // 本机 /tmp → --via 发对端本地路径。
49
+ const scpDetour = '大内容走 scp 旁路:发送方先落盘,scp <文件> <接收方>:/tmp/<文件名>,' +
50
+ '再 crosschat send --via ssh:<接收方> … --body "见 /tmp/<文件名>"(scp 与 --via 共用同一份 ssh 配置)。';
51
+ if (remote) {
52
+ if (hardCap === 'claude' || hardCap === 'codex') {
53
+ const fact = hardCap === 'claude' ? 'claude 端点硬顶 64KiB' : 'codex 端点硬顶 1MiB';
54
+ return `Body is ${size} bytes; ${fact}——提额无效(这是一条 --via 跨机来件)。${scpDetour}`;
55
+ }
56
+ return (`Body is ${size} bytes; the limit is ${limitBytes} on this machine (a --via remote send). ` +
57
+ `发送方本机提额无效——上限属接收方(本机)配置。${scpDetour}` +
58
+ '确需直发大内容:由接收方(本机)操作者调 CROSSCHAT_MAX_BODY_KIB。');
59
+ }
60
+ const tail = via === undefined
61
+ ? 'Write the content to a file and send the path instead.'
62
+ : via.startsWith('ssh:')
63
+ ? `跨机大内容(ssh 形态):先 scp <文件> ${via.slice(4)}:/tmp/<文件名>,再 crosschat send --via ${via} … --body "见 /tmp/<文件名>"(scp 与 --via 共用同一份 ssh 配置)`
64
+ : via.startsWith('tcp:')
65
+ ? `跨机大内容(tcp 形态):改用 --file <路径> 发送文件(自动分块传输,上限 64MiB),正文只发说明或路径。`
66
+ : '该传输形态的大内容通道未定义——ssh 形态支持 scp 旁路(见文档),或压缩/分段后重试。';
67
+ const note = hardCap === 'claude'
68
+ ? 'claude 端点硬顶 64KiB——提额无效,只能落盘发文件路径。'
69
+ : hardCap === 'codex'
70
+ ? 'codex 端点硬顶 1MiB——提额无效,只能落盘发文件路径。'
71
+ : hardCap === 'ssh-precheck'
72
+ ? 'ssh 形态本地按最宽端点(codex 1MiB)预检——提额无效;远端自行复检(claude 端点更严,64KiB)。'
73
+ : hardCap === 'tcp-precheck'
74
+ ? 'tcp 形态本地按最宽端点(codex 1MiB)预检——提额无效;远端自行复检(claude 端点更严,64KiB)。'
75
+ : hardCap === 'absolute'
76
+ ? '已到绝对上界 16MiB——提额无效,只能落盘发文件路径。'
77
+ : '可提额:--max-body-kb <KiB> 或 CROSSCHAT_MAX_BODY_KIB=<KiB>(claude 端点硬顶 64KiB、codex 端点 1MiB,到顶只能落盘)。';
78
+ return `Body is ${size} bytes; the limit is ${limitBytes}. ${note}${tail}`;
79
+ }
80
+ /**
81
+ * 启动器旋钮剥离(票A 第五单):crosschat claude / crosschat codex 共用。
82
+ * --max-body-kb / --max-turn 是 crosschat 的旋钮(不是 claude/codex 的参数),
83
+ * 从转发 argv 里剥掉(space 与 = 两种形态、重复取后值,同 parseSendArgs),
84
+ * 其余 token 原样留给真 CLI(含子命令,一个不解析)。
85
+ */
86
+ const LAUNCHER_KNOBS = new Set(['--max-body-kb', '--max-turn']);
87
+ export function splitLauncherKnobs(argv) {
88
+ const passthrough = [];
89
+ let maxBodyKb;
90
+ let maxTurn;
91
+ for (let i = 0; i < argv.length; i++) {
92
+ const token = argv[i];
93
+ const eq = token.indexOf('=');
94
+ const name = eq > 0 ? token.slice(0, eq) : token;
95
+ if (!LAUNCHER_KNOBS.has(name)) {
96
+ passthrough.push(token);
97
+ continue;
98
+ }
99
+ const inline = eq > 0 ? token.slice(eq + 1) : undefined;
100
+ const value = inline ?? argv[++i];
101
+ if (value === undefined) {
102
+ throw new MultichatError('USAGE', `crosschat: ${name} requires a value (正整数)`);
103
+ }
104
+ if (name === '--max-body-kb')
105
+ maxBodyKb = value;
106
+ else
107
+ maxTurn = value;
108
+ }
109
+ return { passthrough, maxBodyKb, maxTurn };
110
+ }
111
+ /**
112
+ * 启动器旋钮校验:与 send 侧的静默降级有意相反——send 的参数面对 agent 的
113
+ * 自纠循环,非法值降级到下一层才不打断它;启动器是人在终端前的一次性交互
114
+ * 输入,报错立即可见、当场纠正,直接失败是更诚实的教学。
115
+ */
116
+ export function validateLauncherKnob(command, name, raw) {
117
+ if (raw === undefined)
118
+ return undefined;
119
+ const n = parsePositiveInt(raw);
120
+ if (n === undefined) {
121
+ const legal = name === '--max-body-kb' ? '--max-body-kb 64(正整数 KiB)' : '--max-turn 40(正整数轮数)';
122
+ throw new MultichatError('USAGE', `${command}: ${name} 需要正整数(如 ${legal});收到: ${raw}`);
123
+ }
124
+ return n;
125
+ }
126
+ //# sourceMappingURL=limits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"limits.js","sourceRoot":"","sources":["../src/limits.ts"],"names":[],"mappings":"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"}