@zhushanwen/subagent-engine-sdk 0.5.0 → 0.5.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 (82) hide show
  1. package/dist/{chunk-7I4XGL5J.js → chunk-BBWUC2EE.js} +2 -2
  2. package/dist/{chunk-3K2P2CM2.js → chunk-CNQTJJF5.js} +1 -1
  3. package/dist/{chunk-DSQ7JQKM.js → chunk-GSW3DMN6.js} +5 -5
  4. package/dist/{chunk-BBVZK5DL.js → chunk-M3SZTDNQ.js} +20 -20
  5. package/dist/{chunk-HYES77BR.js → chunk-MSAJXIP4.js} +2 -2
  6. package/dist/{chunk-WORT4PG7.js → chunk-QOEXD2FT.js} +1 -1
  7. package/dist/{chunk-3IBT7MTB.js → chunk-W3BKI2BP.js} +3 -3
  8. package/dist/{chunk-F5JZMK74.js → chunk-WMDMXP2F.js} +2 -2
  9. package/dist/{chunk-GT6YLLN4.js → chunk-X24IVQKJ.js} +5 -5
  10. package/dist/{chunk-365AUV6N.js → chunk-YE472JOO.js} +2 -2
  11. package/dist/data-dir.cjs +6 -6
  12. package/dist/data-dir.d.cts +4 -4
  13. package/dist/data-dir.d.ts +4 -4
  14. package/dist/data-dir.js +3 -3
  15. package/dist/env.cjs +20 -20
  16. package/dist/env.d.cts +5 -5
  17. package/dist/env.d.ts +5 -5
  18. package/dist/env.js +1 -1
  19. package/dist/{error-codes-OvQlqiQw.d.ts → error-codes-DMGeUUUm.d.ts} +4 -3
  20. package/dist/{error-codes-SA5fGtx_.d.cts → error-codes-pT7RYTqQ.d.cts} +4 -3
  21. package/dist/index.cjs +42 -42
  22. package/dist/index.d.cts +2 -2
  23. package/dist/index.d.ts +2 -2
  24. package/dist/index.js +12 -12
  25. package/dist/kill-chain.d.cts +1 -1
  26. package/dist/kill-chain.d.ts +1 -1
  27. package/dist/kill-chain.js +2 -2
  28. package/dist/logs/stderr-rotation.cjs +2 -2
  29. package/dist/logs/stderr-rotation.d.cts +1 -1
  30. package/dist/logs/stderr-rotation.d.ts +1 -1
  31. package/dist/logs/stderr-rotation.js +1 -1
  32. package/dist/nesting-guard.cjs +2 -2
  33. package/dist/nesting-guard.d.cts +2 -2
  34. package/dist/nesting-guard.d.ts +2 -2
  35. package/dist/nesting-guard.js +1 -1
  36. package/dist/node-executor.cjs +2 -2
  37. package/dist/node-executor.d.cts +5 -5
  38. package/dist/node-executor.d.ts +5 -5
  39. package/dist/node-executor.js +2 -2
  40. package/dist/protocol/index.cjs +2 -2
  41. package/dist/protocol/index.d.cts +3 -3
  42. package/dist/protocol/index.d.ts +3 -3
  43. package/dist/protocol/index.js +1 -1
  44. package/dist/relay-env.cjs +5 -5
  45. package/dist/relay-env.d.cts +5 -5
  46. package/dist/relay-env.d.ts +5 -5
  47. package/dist/relay-env.js +1 -1
  48. package/dist/spawn.cjs +1 -1
  49. package/dist/spawn.d.cts +2 -2
  50. package/dist/spawn.d.ts +2 -2
  51. package/dist/spawn.js +1 -1
  52. package/dist/ui-channels.cjs +2 -2
  53. package/dist/ui-channels.js +1 -1
  54. package/package.json +2 -4
  55. package/src/best-effort.ts +0 -37
  56. package/src/cli-entry.ts +0 -82
  57. package/src/data-dir.ts +0 -89
  58. package/src/env.ts +0 -272
  59. package/src/error-message.ts +0 -22
  60. package/src/index.ts +0 -63
  61. package/src/journal-io.ts +0 -82
  62. package/src/journal-replay.ts +0 -436
  63. package/src/kill-chain.ts +0 -265
  64. package/src/logger.ts +0 -105
  65. package/src/logs/stderr-rotation.ts +0 -166
  66. package/src/nesting-guard.ts +0 -140
  67. package/src/node-executor.ts +0 -272
  68. package/src/paths.ts +0 -48
  69. package/src/port-contract.ts +0 -150
  70. package/src/protocol/contract-types.ts +0 -378
  71. package/src/protocol/engine-protocol.ts +0 -92
  72. package/src/protocol/error-codes.ts +0 -179
  73. package/src/protocol/frames.ts +0 -143
  74. package/src/protocol/index.ts +0 -12
  75. package/src/protocol/methods.ts +0 -237
  76. package/src/protocol/reverse-channels.ts +0 -123
  77. package/src/protocol/schema.ts +0 -185
  78. package/src/relay-env.ts +0 -60
  79. package/src/schema-emulation.ts +0 -192
  80. package/src/spawn.ts +0 -246
  81. package/src/ui-channels.ts +0 -219
  82. package/src/ui-types.ts +0 -101
@@ -2,8 +2,8 @@
2
2
  var NUL = "\0";
3
3
  function normalizeChannelName(markerLiteral) {
4
4
  let name = markerLiteral;
5
- if (name.startsWith("XYZ_")) {
6
- name = name.slice("XYZ_".length);
5
+ if (name.startsWith("TAIJI_")) {
6
+ name = name.slice("TAIJI_".length);
7
7
  }
8
8
  if (name.endsWith(":")) {
9
9
  name = name.slice(0, -1);
@@ -33,7 +33,7 @@ function spawnEngineChild(opts) {
33
33
  return child;
34
34
  }
35
35
  var DEFAULT_ENGINE_HOST_REQUEST_TIMEOUT_MS = 3e4;
36
- var ENGINE_HOST_REQUEST_TIMEOUT_ENV = "XYZ_ENGINE_HOST_REQUEST_TIMEOUT_MS";
36
+ var ENGINE_HOST_REQUEST_TIMEOUT_ENV = "TAIJI_ENGINE_HOST_REQUEST_TIMEOUT_MS";
37
37
  var SWEEP_INTERVAL_MS = 1e3;
38
38
  function resolveHostRequestTimeoutMs(opts) {
39
39
  if (opts.hostRequestTimeoutMs !== void 0) return opts.hostRequestTimeoutMs;
@@ -1,9 +1,9 @@
1
1
  // src/relay-env.ts
2
- var RELAY_ENV_SOCKET = "XYZ_SUBAGENT_RELAY_SOCKET";
3
- var RELAY_ENV_NODE = "XYZ_SUBAGENT_RELAY_NODE";
4
- var RELAY_ENV_SCRIPT = "XYZ_SUBAGENT_RELAY_SCRIPT";
5
- var RELAY_ENV_SESSION_ID = "XYZ_SUBAGENT_RELAY_SESSION_ID";
6
- var RELAY_ENV_RECORD_ID = "XYZ_SUBAGENT_RELAY_RECORD_ID";
2
+ var RELAY_ENV_SOCKET = "TAIJI_SUBAGENT_RELAY_SOCKET";
3
+ var RELAY_ENV_NODE = "TAIJI_SUBAGENT_RELAY_NODE";
4
+ var RELAY_ENV_SCRIPT = "TAIJI_SUBAGENT_RELAY_SCRIPT";
5
+ var RELAY_ENV_SESSION_ID = "TAIJI_SUBAGENT_RELAY_SESSION_ID";
6
+ var RELAY_ENV_RECORD_ID = "TAIJI_SUBAGENT_RELAY_RECORD_ID";
7
7
  var RELAY_PROTOCOL_VERSION = 1;
8
8
  var RELAY_EXIT_CODES = {
9
9
  /** 握手被拒:协议版本不匹配(安装损坏,重装应用)。 */
@@ -5,25 +5,25 @@ import {
5
5
  // src/env.ts
6
6
  var logger = getLogger("engine-sdk/env");
7
7
  var ENGINE_ENV_PREFIXES = [
8
- "XYZ_",
9
- "XYZ_AGENT_",
10
- "XYZ_SUBAGENT_"
8
+ "TAIJI_",
9
+ "TAIJI_AGENT_",
10
+ "TAIJI_SUBAGENT_"
11
11
  ];
12
12
  var ENGINE_ENV_DENY_LIST = [
13
- "XYZ_AGENT_PACKAGED",
14
- "XYZ_RUNTIME_TOKEN",
15
- "XYZ_AGENT_API_KEY",
16
- "XYZ_SUBAGENT_RELAY_SESSION_ID",
17
- "XYZ_SUBAGENT_RELAY_RECORD_ID"
13
+ "TAIJI_AGENT_PACKAGED",
14
+ "TAIJI_RUNTIME_TOKEN",
15
+ "TAIJI_AGENT_API_KEY",
16
+ "TAIJI_SUBAGENT_RELAY_SESSION_ID",
17
+ "TAIJI_SUBAGENT_RELAY_RECORD_ID"
18
18
  ];
19
19
  var ENGINE_ENV_L0_INFRA_KEYS = [
20
- "XYZ_AGENT_DATA_DIR",
21
- "XYZ_AGENT_ENGINE_NODE",
20
+ "TAIJI_AGENT_DATA_DIR",
21
+ "TAIJI_AGENT_ENGINE_NODE",
22
22
  "ELECTRON_RUN_AS_NODE",
23
- "XYZ_AGENT_SUBAGENT",
24
- "XYZ_SUBAGENT_RELAY_SOCKET",
25
- "XYZ_SUBAGENT_RELAY_NODE",
26
- "XYZ_SUBAGENT_RELAY_SCRIPT"
23
+ "TAIJI_AGENT_SUBAGENT",
24
+ "TAIJI_SUBAGENT_RELAY_SOCKET",
25
+ "TAIJI_SUBAGENT_RELAY_NODE",
26
+ "TAIJI_SUBAGENT_RELAY_SCRIPT"
27
27
  ];
28
28
  var ENV_PREFIX_SHAPE_RE = /^[A-Za-z0-9_]+$/;
29
29
  function deleteEnvKeysCaseInsensitive(env, names) {
@@ -73,14 +73,14 @@ function applyManifestAllowlist(env, opts) {
73
73
  }
74
74
  }
75
75
  function injectL0InfraKeys(env, opts) {
76
- env.XYZ_AGENT_DATA_DIR = opts.dataDir;
77
- if (opts.engineNode !== void 0) env.XYZ_AGENT_ENGINE_NODE = opts.engineNode;
76
+ env.TAIJI_AGENT_DATA_DIR = opts.dataDir;
77
+ if (opts.engineNode !== void 0) env.TAIJI_AGENT_ENGINE_NODE = opts.engineNode;
78
78
  if (opts.electronRunAsNode === true) env.ELECTRON_RUN_AS_NODE = "1";
79
- env.XYZ_AGENT_SUBAGENT = "1";
79
+ env.TAIJI_AGENT_SUBAGENT = "1";
80
80
  if (opts.relay !== void 0) {
81
- env.XYZ_SUBAGENT_RELAY_SOCKET = opts.relay.socket;
82
- env.XYZ_SUBAGENT_RELAY_NODE = opts.relay.node;
83
- env.XYZ_SUBAGENT_RELAY_SCRIPT = opts.relay.script;
81
+ env.TAIJI_SUBAGENT_RELAY_SOCKET = opts.relay.socket;
82
+ env.TAIJI_SUBAGENT_RELAY_NODE = opts.relay.node;
83
+ env.TAIJI_SUBAGENT_RELAY_SCRIPT = opts.relay.script;
84
84
  }
85
85
  if (opts.identityEnv !== void 0) {
86
86
  for (const [key, value] of Object.entries(opts.identityEnv)) {
@@ -18,8 +18,8 @@ function positiveIntEnv(env, key) {
18
18
  }
19
19
  function stderrRotationParams(env) {
20
20
  return {
21
- maxBytes: positiveIntEnv(env, "XYZ_LOG_MAX_BYTES") ?? DEFAULT_STDERR_MAX_BYTES,
22
- keepDays: positiveIntEnv(env, "XYZ_LOG_KEEP_DAYS") ?? DEFAULT_STDERR_KEEP_DAYS
21
+ maxBytes: positiveIntEnv(env, "TAIJI_LOG_MAX_BYTES") ?? DEFAULT_STDERR_MAX_BYTES,
22
+ keepDays: positiveIntEnv(env, "TAIJI_LOG_KEEP_DAYS") ?? DEFAULT_STDERR_KEEP_DAYS
23
23
  };
24
24
  }
25
25
  function stderrLogPathFor(engineDataDir, pid, prefix) {
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-PYO3YR7W.js";
4
4
  import {
5
5
  engineTimeoutDetail
6
- } from "./chunk-F5JZMK74.js";
6
+ } from "./chunk-WMDMXP2F.js";
7
7
  import {
8
8
  getLogger
9
9
  } from "./chunk-75QEMUGV.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  EngineSdkError
3
- } from "./chunk-F5JZMK74.js";
3
+ } from "./chunk-WMDMXP2F.js";
4
4
 
5
5
  // src/node-executor.ts
6
6
  import { spawn } from "child_process";
7
- var ENGINE_NODE_ENV = "XYZ_AGENT_ENGINE_NODE";
7
+ var ENGINE_NODE_ENV = "TAIJI_AGENT_ENGINE_NODE";
8
8
  var PROBE_TIMEOUT_MS = 5e3;
9
9
  function probeNodeExecutor(execPath, isElectron) {
10
10
  return new Promise((resolve) => {
@@ -64,7 +64,7 @@ async function resolvePiExtensionLaunch(entryPath, entryArgs, env) {
64
64
  if (engineNode === void 0 || engineNode === "") {
65
65
  throw engineNotFound(
66
66
  `pi extension host must spawn engines via injected executor ${ENGINE_NODE_ENV}, but it is not set (host process.execPath is the pi binary, not a node executor)`,
67
- `The xyz-agent runtime injects ${ENGINE_NODE_ENV} when spawning the pi host. If you are running the extension inside a packaged app, report this as a packaging regression; standalone pi installs do not use the pi-extension host kind.`
67
+ `The taiji runtime injects ${ENGINE_NODE_ENV} when spawning the pi host. If you are running the extension inside a packaged app, report this as a packaging regression; standalone pi installs do not use the pi-extension host kind.`
68
68
  );
69
69
  }
70
70
  const isElectron = env.ELECTRON_RUN_AS_NODE === "1";
@@ -17,7 +17,7 @@ var CRASH_REBUILD_BACKOFF_MS = [
17
17
  CRASH_REBUILD_BACKOFF_STEP_3_MS
18
18
  ];
19
19
  var STDERR_TAIL_CHARS = 400;
20
- var ENGINE_EVENT_COALESCE_ENV = "XYZ_ENGINE_EVENT_COALESCE";
20
+ var ENGINE_EVENT_COALESCE_ENV = "TAIJI_ENGINE_EVENT_COALESCE";
21
21
  var ENGINE_EVENT_COALESCE_DEFAULT = "0";
22
22
 
23
23
  // src/protocol/error-codes.ts
@@ -71,7 +71,7 @@ function engineConversationUnsupportedError(engineId) {
71
71
  return new EngineSdkError(
72
72
  "engine_capability_unsupported",
73
73
  `engine '${engineId}' \u4E0D\u652F\u6301 resume \u7EED\u804A\uFF08capabilities.conversation = 'unsupported'\uFF0Cmanifest \u65E0 conversation gate \u4F4D\uFF09`,
74
- `\u53BB\u6389 conversation \u53C2\u6570\uFF08modeless \u4E0B\u65E0\u884C\u4E3A\u6548\u679C\uFF09\uFF0C\u6216\u4FEE manifest capabilities / \u5347\u7EA7\u5F15\u64CE\u5305\uFF08\u82E5\u5F15\u64CE\u5B9E\u9645\u652F\u6301\u8BE5\u80FD\u529B\uFF09`,
74
+ `\u6539\u7528\u58F0\u660E conversation \u80FD\u529B\u7684\u5F15\u64CE\u7EED\u804A\uFF08\u6216\u4EE5\u65B0\u4EFB\u52A1\u91CD\u6D3E\uFF09\uFF0C\u6216\u4FEE manifest capabilities / \u5347\u7EA7\u5F15\u64CE\u5305\uFF08\u82E5\u5F15\u64CE\u5B9E\u9645\u652F\u6301\u8BE5\u80FD\u529B\uFF09`,
75
75
  { engineId, capability: "conversation", declared: "unsupported" }
76
76
  );
77
77
  }
@@ -4,7 +4,7 @@ import {
4
4
 
5
5
  // src/data-dir.ts
6
6
  var logger = getLogger("subagents");
7
- var XYZ_DATA_DIR_ENV = "XYZ_AGENT_DATA_DIR";
7
+ var TAIJI_DATA_DIR_ENV = "TAIJI_AGENT_DATA_DIR";
8
8
  var WARNED_SLOT_KEY = /* @__PURE__ */ Symbol.for("@zhushanwen/subagent-engine-sdk.data-dir-warned");
9
9
  function getWarnedSlot() {
10
10
  let slot = Reflect.get(globalThis, WARNED_SLOT_KEY);
@@ -18,19 +18,19 @@ function resetDataDirWarnForTests() {
18
18
  getWarnedSlot().current = false;
19
19
  }
20
20
  function resolveEngineDataDir(env, opts = {}) {
21
- const fromEnv = env[XYZ_DATA_DIR_ENV]?.trim();
21
+ const fromEnv = env[TAIJI_DATA_DIR_ENV]?.trim();
22
22
  if (fromEnv !== void 0 && fromEnv !== "") return fromEnv;
23
23
  const fallback = opts.fallbackDataRoot?.trim();
24
24
  if (fallback === void 0 || fallback === "") {
25
25
  throw new Error(
26
- `[subagent-engine-sdk] engine_not_found: ${XYZ_DATA_DIR_ENV} is not set and no fallback data root was injected. Recovery: the host must inject ${XYZ_DATA_DIR_ENV} into the engine process env (xyz-agent runtime / pi extension host do this at spawn), or pass { fallbackDataRoot } when calling resolveEngineDataDir from a host that resolves the data root itself.`
26
+ `[subagent-engine-sdk] engine_not_found: ${TAIJI_DATA_DIR_ENV} is not set and no fallback data root was injected. Recovery: the host must inject ${TAIJI_DATA_DIR_ENV} into the engine process env (taiji runtime / pi extension host do this at spawn), or pass { fallbackDataRoot } when calling resolveEngineDataDir from a host that resolves the data root itself.`
27
27
  );
28
28
  }
29
29
  if (!getWarnedSlot().current) {
30
30
  getWarnedSlot().current = true;
31
31
  const warn = opts.warn ?? defaultWarn;
32
32
  warn(
33
- `[engine-data-dir] ${XYZ_DATA_DIR_ENV} is not set; engine journal/pool fall back to the injected data root (${fallback}). The xyz-agent host normally injects this env \u2014 if you are running inside xyz-agent, check the runtime spawn env; standalone installs intentionally use the injected root.`
33
+ `[engine-data-dir] ${TAIJI_DATA_DIR_ENV} is not set; engine journal/pool fall back to the injected data root (${fallback}). The taiji host normally injects this env \u2014 if you are running inside taiji, check the runtime spawn env; standalone installs intentionally use the injected root.`
34
34
  );
35
35
  }
36
36
  return fallback;
@@ -40,7 +40,7 @@ function defaultWarn(msg) {
40
40
  }
41
41
 
42
42
  export {
43
- XYZ_DATA_DIR_ENV,
43
+ TAIJI_DATA_DIR_ENV,
44
44
  resetDataDirWarnForTests,
45
45
  resolveEngineDataDir
46
46
  };
@@ -1,6 +1,6 @@
1
1
  // src/nesting-guard.ts
2
2
  import { AsyncLocalStorage } from "async_hooks";
3
- var NESTED_SPAWN_ENV = "XYZ_AGENT_SUBAGENT";
3
+ var NESTED_SPAWN_ENV = "TAIJI_AGENT_SUBAGENT";
4
4
  var NATIVE_NESTED_KEYS = ["CLAUDECODE", "ZSW_NESTED"];
5
5
  var NATIVE_NESTED_PREFIXES = ["PI_SUBAGENT_"];
6
6
  var NestedSpawnRejectedError = class extends Error {
@@ -9,7 +9,7 @@ var NestedSpawnRejectedError = class extends Error {
9
9
  recovery;
10
10
  constructor() {
11
11
  super(
12
- "nested_spawn_rejected: this process is already a subagent (XYZ_AGENT_SUBAGENT=1)"
12
+ "nested_spawn_rejected: this process is already a subagent (TAIJI_AGENT_SUBAGENT=1)"
13
13
  );
14
14
  this.name = "NestedSpawnRejectedError";
15
15
  this.recovery = "Subagents must not spawn further subagents (unbounded recursion guard). Do the work directly inside the current task instead of delegating.";
package/dist/data-dir.cjs CHANGED
@@ -20,7 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/data-dir.ts
21
21
  var data_dir_exports = {};
22
22
  __export(data_dir_exports, {
23
- XYZ_DATA_DIR_ENV: () => XYZ_DATA_DIR_ENV,
23
+ TAIJI_DATA_DIR_ENV: () => TAIJI_DATA_DIR_ENV,
24
24
  resetDataDirWarnForTests: () => resetDataDirWarnForTests,
25
25
  resolveEngineDataDir: () => resolveEngineDataDir
26
26
  });
@@ -75,7 +75,7 @@ function getLogger(component) {
75
75
 
76
76
  // src/data-dir.ts
77
77
  var logger = getLogger("subagents");
78
- var XYZ_DATA_DIR_ENV = "XYZ_AGENT_DATA_DIR";
78
+ var TAIJI_DATA_DIR_ENV = "TAIJI_AGENT_DATA_DIR";
79
79
  var WARNED_SLOT_KEY = /* @__PURE__ */ Symbol.for("@zhushanwen/subagent-engine-sdk.data-dir-warned");
80
80
  function getWarnedSlot() {
81
81
  let slot = Reflect.get(globalThis, WARNED_SLOT_KEY);
@@ -89,19 +89,19 @@ function resetDataDirWarnForTests() {
89
89
  getWarnedSlot().current = false;
90
90
  }
91
91
  function resolveEngineDataDir(env, opts = {}) {
92
- const fromEnv = env[XYZ_DATA_DIR_ENV]?.trim();
92
+ const fromEnv = env[TAIJI_DATA_DIR_ENV]?.trim();
93
93
  if (fromEnv !== void 0 && fromEnv !== "") return fromEnv;
94
94
  const fallback = opts.fallbackDataRoot?.trim();
95
95
  if (fallback === void 0 || fallback === "") {
96
96
  throw new Error(
97
- `[subagent-engine-sdk] engine_not_found: ${XYZ_DATA_DIR_ENV} is not set and no fallback data root was injected. Recovery: the host must inject ${XYZ_DATA_DIR_ENV} into the engine process env (xyz-agent runtime / pi extension host do this at spawn), or pass { fallbackDataRoot } when calling resolveEngineDataDir from a host that resolves the data root itself.`
97
+ `[subagent-engine-sdk] engine_not_found: ${TAIJI_DATA_DIR_ENV} is not set and no fallback data root was injected. Recovery: the host must inject ${TAIJI_DATA_DIR_ENV} into the engine process env (taiji runtime / pi extension host do this at spawn), or pass { fallbackDataRoot } when calling resolveEngineDataDir from a host that resolves the data root itself.`
98
98
  );
99
99
  }
100
100
  if (!getWarnedSlot().current) {
101
101
  getWarnedSlot().current = true;
102
102
  const warn = opts.warn ?? defaultWarn;
103
103
  warn(
104
- `[engine-data-dir] ${XYZ_DATA_DIR_ENV} is not set; engine journal/pool fall back to the injected data root (${fallback}). The xyz-agent host normally injects this env \u2014 if you are running inside xyz-agent, check the runtime spawn env; standalone installs intentionally use the injected root.`
104
+ `[engine-data-dir] ${TAIJI_DATA_DIR_ENV} is not set; engine journal/pool fall back to the injected data root (${fallback}). The taiji host normally injects this env \u2014 if you are running inside taiji, check the runtime spawn env; standalone installs intentionally use the injected root.`
105
105
  );
106
106
  }
107
107
  return fallback;
@@ -111,7 +111,7 @@ function defaultWarn(msg) {
111
111
  }
112
112
  // Annotate the CommonJS export names for ESM import in node:
113
113
  0 && (module.exports = {
114
- XYZ_DATA_DIR_ENV,
114
+ TAIJI_DATA_DIR_ENV,
115
115
  resetDataDirWarnForTests,
116
116
  resolveEngineDataDir
117
117
  });
@@ -1,10 +1,10 @@
1
- /** xyz-agent 数据目录 env 名(与 packages/shared/src/paths.ts 的 SSOT 变量同名)。 */
2
- declare const XYZ_DATA_DIR_ENV = "XYZ_AGENT_DATA_DIR";
1
+ /** taiji 数据目录 env 名(与 packages/shared/src/paths.ts 的 SSOT 变量同名)。 */
2
+ declare const TAIJI_DATA_DIR_ENV = "TAIJI_AGENT_DATA_DIR";
3
3
  /** 测试隔离专用:重置 warn-once 标记(生产禁用)。 */
4
4
  declare function resetDataDirWarnForTests(): void;
5
5
  /**
6
6
  * 解析引擎数据目录(journal 落盘 / 隔离池的根):
7
- * 1. env[XYZ_AGENT_DATA_DIR](宿主注入,权威通道);
7
+ * 1. env[TAIJI_AGENT_DATA_DIR](宿主注入,权威通道);
8
8
  * 2. 缺失 + opts.fallbackDataRoot 显式传入(宿主解析过的数据根)→ 用之 + warn 一次
9
9
  * (非权威通道回退必须可观测——journal 落点变化不留静默漂移);
10
10
  * 3. 两者皆缺 → 抛错(engine_not_found 语义:错误含 env 名、期望值示例与恢复动作;
@@ -17,4 +17,4 @@ declare function resolveEngineDataDir(env: NodeJS.ProcessEnv, opts?: {
17
17
  warn?: (msg: string) => void;
18
18
  }): string;
19
19
 
20
- export { XYZ_DATA_DIR_ENV, resetDataDirWarnForTests, resolveEngineDataDir };
20
+ export { TAIJI_DATA_DIR_ENV, resetDataDirWarnForTests, resolveEngineDataDir };
@@ -1,10 +1,10 @@
1
- /** xyz-agent 数据目录 env 名(与 packages/shared/src/paths.ts 的 SSOT 变量同名)。 */
2
- declare const XYZ_DATA_DIR_ENV = "XYZ_AGENT_DATA_DIR";
1
+ /** taiji 数据目录 env 名(与 packages/shared/src/paths.ts 的 SSOT 变量同名)。 */
2
+ declare const TAIJI_DATA_DIR_ENV = "TAIJI_AGENT_DATA_DIR";
3
3
  /** 测试隔离专用:重置 warn-once 标记(生产禁用)。 */
4
4
  declare function resetDataDirWarnForTests(): void;
5
5
  /**
6
6
  * 解析引擎数据目录(journal 落盘 / 隔离池的根):
7
- * 1. env[XYZ_AGENT_DATA_DIR](宿主注入,权威通道);
7
+ * 1. env[TAIJI_AGENT_DATA_DIR](宿主注入,权威通道);
8
8
  * 2. 缺失 + opts.fallbackDataRoot 显式传入(宿主解析过的数据根)→ 用之 + warn 一次
9
9
  * (非权威通道回退必须可观测——journal 落点变化不留静默漂移);
10
10
  * 3. 两者皆缺 → 抛错(engine_not_found 语义:错误含 env 名、期望值示例与恢复动作;
@@ -17,4 +17,4 @@ declare function resolveEngineDataDir(env: NodeJS.ProcessEnv, opts?: {
17
17
  warn?: (msg: string) => void;
18
18
  }): string;
19
19
 
20
- export { XYZ_DATA_DIR_ENV, resetDataDirWarnForTests, resolveEngineDataDir };
20
+ export { TAIJI_DATA_DIR_ENV, resetDataDirWarnForTests, resolveEngineDataDir };
package/dist/data-dir.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import {
2
- XYZ_DATA_DIR_ENV,
2
+ TAIJI_DATA_DIR_ENV,
3
3
  resetDataDirWarnForTests,
4
4
  resolveEngineDataDir
5
- } from "./chunk-GT6YLLN4.js";
5
+ } from "./chunk-X24IVQKJ.js";
6
6
  import "./chunk-75QEMUGV.js";
7
7
  import "./chunk-JSBRDJBE.js";
8
8
  export {
9
- XYZ_DATA_DIR_ENV,
9
+ TAIJI_DATA_DIR_ENV,
10
10
  resetDataDirWarnForTests,
11
11
  resolveEngineDataDir
12
12
  };
package/dist/env.cjs CHANGED
@@ -78,25 +78,25 @@ function getLogger(component) {
78
78
  // src/env.ts
79
79
  var logger = getLogger("engine-sdk/env");
80
80
  var ENGINE_ENV_PREFIXES = [
81
- "XYZ_",
82
- "XYZ_AGENT_",
83
- "XYZ_SUBAGENT_"
81
+ "TAIJI_",
82
+ "TAIJI_AGENT_",
83
+ "TAIJI_SUBAGENT_"
84
84
  ];
85
85
  var ENGINE_ENV_DENY_LIST = [
86
- "XYZ_AGENT_PACKAGED",
87
- "XYZ_RUNTIME_TOKEN",
88
- "XYZ_AGENT_API_KEY",
89
- "XYZ_SUBAGENT_RELAY_SESSION_ID",
90
- "XYZ_SUBAGENT_RELAY_RECORD_ID"
86
+ "TAIJI_AGENT_PACKAGED",
87
+ "TAIJI_RUNTIME_TOKEN",
88
+ "TAIJI_AGENT_API_KEY",
89
+ "TAIJI_SUBAGENT_RELAY_SESSION_ID",
90
+ "TAIJI_SUBAGENT_RELAY_RECORD_ID"
91
91
  ];
92
92
  var ENGINE_ENV_L0_INFRA_KEYS = [
93
- "XYZ_AGENT_DATA_DIR",
94
- "XYZ_AGENT_ENGINE_NODE",
93
+ "TAIJI_AGENT_DATA_DIR",
94
+ "TAIJI_AGENT_ENGINE_NODE",
95
95
  "ELECTRON_RUN_AS_NODE",
96
- "XYZ_AGENT_SUBAGENT",
97
- "XYZ_SUBAGENT_RELAY_SOCKET",
98
- "XYZ_SUBAGENT_RELAY_NODE",
99
- "XYZ_SUBAGENT_RELAY_SCRIPT"
96
+ "TAIJI_AGENT_SUBAGENT",
97
+ "TAIJI_SUBAGENT_RELAY_SOCKET",
98
+ "TAIJI_SUBAGENT_RELAY_NODE",
99
+ "TAIJI_SUBAGENT_RELAY_SCRIPT"
100
100
  ];
101
101
  var ENV_PREFIX_SHAPE_RE = /^[A-Za-z0-9_]+$/;
102
102
  function deleteEnvKeysCaseInsensitive(env, names) {
@@ -146,14 +146,14 @@ function applyManifestAllowlist(env, opts) {
146
146
  }
147
147
  }
148
148
  function injectL0InfraKeys(env, opts) {
149
- env.XYZ_AGENT_DATA_DIR = opts.dataDir;
150
- if (opts.engineNode !== void 0) env.XYZ_AGENT_ENGINE_NODE = opts.engineNode;
149
+ env.TAIJI_AGENT_DATA_DIR = opts.dataDir;
150
+ if (opts.engineNode !== void 0) env.TAIJI_AGENT_ENGINE_NODE = opts.engineNode;
151
151
  if (opts.electronRunAsNode === true) env.ELECTRON_RUN_AS_NODE = "1";
152
- env.XYZ_AGENT_SUBAGENT = "1";
152
+ env.TAIJI_AGENT_SUBAGENT = "1";
153
153
  if (opts.relay !== void 0) {
154
- env.XYZ_SUBAGENT_RELAY_SOCKET = opts.relay.socket;
155
- env.XYZ_SUBAGENT_RELAY_NODE = opts.relay.node;
156
- env.XYZ_SUBAGENT_RELAY_SCRIPT = opts.relay.script;
154
+ env.TAIJI_SUBAGENT_RELAY_SOCKET = opts.relay.socket;
155
+ env.TAIJI_SUBAGENT_RELAY_NODE = opts.relay.node;
156
+ env.TAIJI_SUBAGENT_RELAY_SCRIPT = opts.relay.script;
157
157
  }
158
158
  if (opts.identityEnv !== void 0) {
159
159
  for (const [key, value] of Object.entries(opts.identityEnv)) {
package/dist/env.d.cts CHANGED
@@ -21,12 +21,12 @@ interface EngineChildEnvOptions {
21
21
  engineNode?: string;
22
22
  /** L0:执行器为 Electron 二进制 → 注入 ELECTRON_RUN_AS_NODE=1 */
23
23
  electronRunAsNode?: boolean;
24
- /** L0:relay 三键(宿主 relay 激活时传;三键必经 L0——L1 拒绝 XYZ_SUBAGENT_ 前缀、L2 是 manifest 面,两层都到不了) */
24
+ /** L0:relay 三键(宿主 relay 激活时传;三键必经 L0——L1 拒绝 TAIJI_SUBAGENT_ 前缀、L2 是 manifest 面,两层都到不了) */
25
25
  relay?: EngineRelayEnv;
26
26
  /**
27
27
  * L0:引擎侧身份 env 透传通道(identityEnv)。现行事实(ext-simplify-17 D4,
28
28
  * 20260914 真机探针证实):PI_SUBAGENT_ROOT_SESSION_ID / PI_SUBAGENT_SELF_RECORD_ID
29
- * 两键已无写入方(本通道现无人传值),引擎链统一 subagent 标记 = XYZ_AGENT_SUBAGENT=1
29
+ * 两键已无写入方(本通道现无人传值),引擎链统一 subagent 标记 = TAIJI_AGENT_SUBAGENT=1
30
30
  * (见 injectL0InfraKeys 恒注入),base-tool-enhance 判据已重锚新标记。通道保留待
31
31
  * 另行裁决,读者见 docs/architecture/ext-simplify-17-shared-extraction.md §3.1 D4
32
32
  * 与探针报告 .tmp/dev-flow/ext-simplify-17-d4-probe.md。
@@ -45,8 +45,8 @@ interface EngineChildEnvOptions {
45
45
  * L0 键在最后写入故不受 L1 剥除影响(交集为 ∅ 由测试断言兜底)。
46
46
  *
47
47
  * 层规格(impl-plan §2.12 三层表):
48
- * - L0 基础设施键:XYZ_AGENT_DATA_DIR / XYZ_AGENT_ENGINE_NODE / ELECTRON_RUN_AS_NODE
49
- * (条件)/ XYZ_AGENT_SUBAGENT=1 / relay 三键 / identityEnv(injectL0InfraKeys);
48
+ * - L0 基础设施键:TAIJI_AGENT_DATA_DIR / TAIJI_AGENT_ENGINE_NODE / ELECTRON_RUN_AS_NODE
49
+ * (条件)/ TAIJI_AGENT_SUBAGENT=1 / relay 三键 / identityEnv(injectL0InfraKeys);
50
50
  * - L1 deny + 显式剥除(恒高于 manifest 放行):ENGINE_ENV_DENY_LIST
51
51
  * (deny 两键 + 凭证键 + 父身份键 + 防御性剥除三死名);
52
52
  * - L2 manifest 放行:envPrefixes 声明前缀的 processEnv 键(保留前缀拒绝、
@@ -69,7 +69,7 @@ interface BuildOutboundChildEnvOptions {
69
69
  * execFile 等)复用——R3 MF-C:deny 键不进 git 子进程,git hooks 等后代不再可能
70
70
  * 消费生命周期标志 / WS 令牌。
71
71
  *
72
- * 与 @xyz-agent/shared 版 buildOutboundChildEnv 的刻意差异:**缺省不做白名单过滤**
72
+ * 与 @taiji/shared 版 buildOutboundChildEnv 的刻意差异:**缺省不做白名单过滤**
73
73
  * (prefixes 省略 = 全量继承父 env + deny 剥除)。理由:SDK 消费面(zsw 宿主 /
74
74
  * 引擎 CLI)不可 import shared 的 ENV_WHITELIST_PREFIXES;引擎 spawn 的基座由
75
75
  * 调用方先经 buildEngineChildEnv 组装(其 baseEnv 已是 core 过滤后的),而
package/dist/env.d.ts CHANGED
@@ -21,12 +21,12 @@ interface EngineChildEnvOptions {
21
21
  engineNode?: string;
22
22
  /** L0:执行器为 Electron 二进制 → 注入 ELECTRON_RUN_AS_NODE=1 */
23
23
  electronRunAsNode?: boolean;
24
- /** L0:relay 三键(宿主 relay 激活时传;三键必经 L0——L1 拒绝 XYZ_SUBAGENT_ 前缀、L2 是 manifest 面,两层都到不了) */
24
+ /** L0:relay 三键(宿主 relay 激活时传;三键必经 L0——L1 拒绝 TAIJI_SUBAGENT_ 前缀、L2 是 manifest 面,两层都到不了) */
25
25
  relay?: EngineRelayEnv;
26
26
  /**
27
27
  * L0:引擎侧身份 env 透传通道(identityEnv)。现行事实(ext-simplify-17 D4,
28
28
  * 20260914 真机探针证实):PI_SUBAGENT_ROOT_SESSION_ID / PI_SUBAGENT_SELF_RECORD_ID
29
- * 两键已无写入方(本通道现无人传值),引擎链统一 subagent 标记 = XYZ_AGENT_SUBAGENT=1
29
+ * 两键已无写入方(本通道现无人传值),引擎链统一 subagent 标记 = TAIJI_AGENT_SUBAGENT=1
30
30
  * (见 injectL0InfraKeys 恒注入),base-tool-enhance 判据已重锚新标记。通道保留待
31
31
  * 另行裁决,读者见 docs/architecture/ext-simplify-17-shared-extraction.md §3.1 D4
32
32
  * 与探针报告 .tmp/dev-flow/ext-simplify-17-d4-probe.md。
@@ -45,8 +45,8 @@ interface EngineChildEnvOptions {
45
45
  * L0 键在最后写入故不受 L1 剥除影响(交集为 ∅ 由测试断言兜底)。
46
46
  *
47
47
  * 层规格(impl-plan §2.12 三层表):
48
- * - L0 基础设施键:XYZ_AGENT_DATA_DIR / XYZ_AGENT_ENGINE_NODE / ELECTRON_RUN_AS_NODE
49
- * (条件)/ XYZ_AGENT_SUBAGENT=1 / relay 三键 / identityEnv(injectL0InfraKeys);
48
+ * - L0 基础设施键:TAIJI_AGENT_DATA_DIR / TAIJI_AGENT_ENGINE_NODE / ELECTRON_RUN_AS_NODE
49
+ * (条件)/ TAIJI_AGENT_SUBAGENT=1 / relay 三键 / identityEnv(injectL0InfraKeys);
50
50
  * - L1 deny + 显式剥除(恒高于 manifest 放行):ENGINE_ENV_DENY_LIST
51
51
  * (deny 两键 + 凭证键 + 父身份键 + 防御性剥除三死名);
52
52
  * - L2 manifest 放行:envPrefixes 声明前缀的 processEnv 键(保留前缀拒绝、
@@ -69,7 +69,7 @@ interface BuildOutboundChildEnvOptions {
69
69
  * execFile 等)复用——R3 MF-C:deny 键不进 git 子进程,git hooks 等后代不再可能
70
70
  * 消费生命周期标志 / WS 令牌。
71
71
  *
72
- * 与 @xyz-agent/shared 版 buildOutboundChildEnv 的刻意差异:**缺省不做白名单过滤**
72
+ * 与 @taiji/shared 版 buildOutboundChildEnv 的刻意差异:**缺省不做白名单过滤**
73
73
  * (prefixes 省略 = 全量继承父 env + deny 剥除)。理由:SDK 消费面(zsw 宿主 /
74
74
  * 引擎 CLI)不可 import shared 的 ENV_WHITELIST_PREFIXES;引擎 spawn 的基座由
75
75
  * 调用方先经 buildEngineChildEnv 组装(其 baseEnv 已是 core 过滤后的),而
package/dist/env.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  ENGINE_ENV_PREFIXES,
5
5
  buildEngineChildEnv,
6
6
  buildOutboundChildEnv
7
- } from "./chunk-BBVZK5DL.js";
7
+ } from "./chunk-M3SZTDNQ.js";
8
8
  import "./chunk-75QEMUGV.js";
9
9
  import "./chunk-JSBRDJBE.js";
10
10
  export {
@@ -88,9 +88,10 @@ declare class EngineSdkError extends Error {
88
88
  declare function engineProtocolMismatchError(engineVersion: number): EngineSdkError;
89
89
  /**
90
90
  * 引擎 conversation 位拒绝的具名错误([modeless 波2] 语义:无 resume 续聊通道的
91
- * 引擎,message 续聊资格被拒——manifest conversation 能力轴消费,core
92
- * capability-gate 的 conversation 分支与 message 资格门双写点共用本构造器)。
93
- * 文案契约:错误码 engine_capability_unsupported + 「去掉参数 / 修 manifest /
91
+ * 引擎,message 续聊资格被拒——manifest conversation 能力轴消费;[modeless 波5
92
+ * 收尾] core capability-gate 的显式参数分支随派发参数删除退役,本构造器消费方 =
93
+ * 引擎侧 resume gate(assertChatConversationSupported)与 message 资格门)。
94
+ * 文案契约:错误码 engine_capability_unsupported + 「换引擎续聊 / 修 manifest /
94
95
  * 升级引擎包」恢复指引,两侧一致防漂移。
95
96
  */
96
97
  declare function engineConversationUnsupportedError(engineId: string): EngineSdkError;
@@ -88,9 +88,10 @@ declare class EngineSdkError extends Error {
88
88
  declare function engineProtocolMismatchError(engineVersion: number): EngineSdkError;
89
89
  /**
90
90
  * 引擎 conversation 位拒绝的具名错误([modeless 波2] 语义:无 resume 续聊通道的
91
- * 引擎,message 续聊资格被拒——manifest conversation 能力轴消费,core
92
- * capability-gate 的 conversation 分支与 message 资格门双写点共用本构造器)。
93
- * 文案契约:错误码 engine_capability_unsupported + 「去掉参数 / 修 manifest /
91
+ * 引擎,message 续聊资格被拒——manifest conversation 能力轴消费;[modeless 波5
92
+ * 收尾] core capability-gate 的显式参数分支随派发参数删除退役,本构造器消费方 =
93
+ * 引擎侧 resume gate(assertChatConversationSupported)与 message 资格门)。
94
+ * 文案契约:错误码 engine_capability_unsupported + 「换引擎续聊 / 修 manifest /
94
95
  * 升级引擎包」恢复指引,两侧一致防漂移。
95
96
  */
96
97
  declare function engineConversationUnsupportedError(engineId: string): EngineSdkError;