@zhushanwen/subagent-engine-sdk 0.2.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 (139) hide show
  1. package/dist/best-effort.cjs +88 -0
  2. package/dist/best-effort.d.cts +14 -0
  3. package/dist/best-effort.d.ts +14 -0
  4. package/dist/best-effort.js +8 -0
  5. package/dist/chunk-2DIMPZCQ.js +0 -0
  6. package/dist/chunk-365AUV6N.js +67 -0
  7. package/dist/chunk-3K2P2CM2.js +127 -0
  8. package/dist/chunk-75QEMUGV.js +58 -0
  9. package/dist/chunk-7I4XGL5J.js +95 -0
  10. package/dist/chunk-A75XDJIC.js +227 -0
  11. package/dist/chunk-DSQ7JQKM.js +39 -0
  12. package/dist/chunk-EJMF63R5.js +19 -0
  13. package/dist/chunk-GT6YLLN4.js +46 -0
  14. package/dist/chunk-HYES77BR.js +109 -0
  15. package/dist/chunk-JSBRDJBE.js +30 -0
  16. package/dist/chunk-LEOBWKRM.js +128 -0
  17. package/dist/chunk-N3RL6OVM.js +38 -0
  18. package/dist/chunk-OPMY4G4M.js +27 -0
  19. package/dist/chunk-PPEPBVCC.js +120 -0
  20. package/dist/chunk-PYO3YR7W.js +16 -0
  21. package/dist/chunk-RDH3ZOV6.js +46 -0
  22. package/dist/chunk-RULLX6C6.js +11 -0
  23. package/dist/chunk-X24SFZYW.js +6646 -0
  24. package/dist/chunk-YFSN3D5N.js +216 -0
  25. package/dist/chunk-ZOFFJNJD.js +136 -0
  26. package/dist/chunk-ZXEAW25V.js +132 -0
  27. package/dist/cli-entry.cjs +119 -0
  28. package/dist/cli-entry.d.cts +24 -0
  29. package/dist/cli-entry.d.ts +24 -0
  30. package/dist/cli-entry.js +8 -0
  31. package/dist/contract-types-sSlgppBC.d.cts +352 -0
  32. package/dist/contract-types-sSlgppBC.d.ts +352 -0
  33. package/dist/data-dir.cjs +117 -0
  34. package/dist/data-dir.d.cts +20 -0
  35. package/dist/data-dir.d.ts +20 -0
  36. package/dist/data-dir.js +12 -0
  37. package/dist/env.cjs +205 -0
  38. package/dist/env.d.cts +73 -0
  39. package/dist/env.d.ts +73 -0
  40. package/dist/env.js +16 -0
  41. package/dist/error-codes-DHco5-i_.d.cts +118 -0
  42. package/dist/error-codes-Dhss2Kmk.d.ts +118 -0
  43. package/dist/error-message.cjs +40 -0
  44. package/dist/error-message.d.cts +3 -0
  45. package/dist/error-message.d.ts +3 -0
  46. package/dist/error-message.js +7 -0
  47. package/dist/index.cjs +8375 -0
  48. package/dist/index.d.cts +23 -0
  49. package/dist/index.d.ts +23 -0
  50. package/dist/index.js +268 -0
  51. package/dist/journal-io.cjs +70 -0
  52. package/dist/journal-io.d.cts +12 -0
  53. package/dist/journal-io.d.ts +12 -0
  54. package/dist/journal-io.js +7 -0
  55. package/dist/journal-replay.cjs +256 -0
  56. package/dist/journal-replay.d.cts +45 -0
  57. package/dist/journal-replay.d.ts +45 -0
  58. package/dist/journal-replay.js +17 -0
  59. package/dist/kill-chain.cjs +221 -0
  60. package/dist/kill-chain.d.cts +74 -0
  61. package/dist/kill-chain.d.ts +74 -0
  62. package/dist/kill-chain.js +23 -0
  63. package/dist/logger.cjs +84 -0
  64. package/dist/logger.d.cts +24 -0
  65. package/dist/logger.d.ts +24 -0
  66. package/dist/logger.js +11 -0
  67. package/dist/logs/stderr-rotation.cjs +151 -0
  68. package/dist/logs/stderr-rotation.d.cts +37 -0
  69. package/dist/logs/stderr-rotation.d.ts +37 -0
  70. package/dist/logs/stderr-rotation.js +23 -0
  71. package/dist/nesting-guard.cjs +95 -0
  72. package/dist/nesting-guard.d.cts +65 -0
  73. package/dist/nesting-guard.d.ts +65 -0
  74. package/dist/nesting-guard.js +15 -0
  75. package/dist/node-executor.cjs +180 -0
  76. package/dist/node-executor.d.cts +63 -0
  77. package/dist/node-executor.d.ts +63 -0
  78. package/dist/node-executor.js +16 -0
  79. package/dist/paths.cjs +55 -0
  80. package/dist/paths.d.cts +8 -0
  81. package/dist/paths.d.ts +8 -0
  82. package/dist/paths.js +15 -0
  83. package/dist/port-contract.cjs +35 -0
  84. package/dist/port-contract.d.cts +88 -0
  85. package/dist/port-contract.d.ts +88 -0
  86. package/dist/port-contract.js +7 -0
  87. package/dist/protocol/index.cjs +400 -0
  88. package/dist/protocol/index.d.cts +685 -0
  89. package/dist/protocol/index.d.ts +685 -0
  90. package/dist/protocol/index.js +89 -0
  91. package/dist/relay-env.cjs +71 -0
  92. package/dist/relay-env.d.cts +37 -0
  93. package/dist/relay-env.d.ts +37 -0
  94. package/dist/relay-env.js +23 -0
  95. package/dist/schema-emulation.cjs +6680 -0
  96. package/dist/schema-emulation.d.cts +39 -0
  97. package/dist/schema-emulation.d.ts +39 -0
  98. package/dist/schema-emulation.js +11 -0
  99. package/dist/spawn.cjs +200 -0
  100. package/dist/spawn.d.cts +80 -0
  101. package/dist/spawn.d.ts +80 -0
  102. package/dist/spawn.js +16 -0
  103. package/dist/ui-channels.cjs +120 -0
  104. package/dist/ui-channels.d.cts +60 -0
  105. package/dist/ui-channels.d.ts +60 -0
  106. package/dist/ui-channels.js +9 -0
  107. package/dist/ui-types.cjs +18 -0
  108. package/dist/ui-types.d.cts +62 -0
  109. package/dist/ui-types.d.ts +62 -0
  110. package/dist/ui-types.js +1 -0
  111. package/package.json +58 -0
  112. package/src/best-effort.ts +37 -0
  113. package/src/cli-entry.ts +77 -0
  114. package/src/data-dir.ts +88 -0
  115. package/src/env.ts +265 -0
  116. package/src/error-message.ts +22 -0
  117. package/src/index.ts +63 -0
  118. package/src/journal-io.ts +82 -0
  119. package/src/journal-replay.ts +432 -0
  120. package/src/kill-chain.ts +265 -0
  121. package/src/logger.ts +105 -0
  122. package/src/logs/stderr-rotation.ts +166 -0
  123. package/src/nesting-guard.ts +140 -0
  124. package/src/node-executor.ts +272 -0
  125. package/src/paths.ts +48 -0
  126. package/src/port-contract.ts +117 -0
  127. package/src/protocol/contract-types.ts +378 -0
  128. package/src/protocol/engine-protocol.ts +81 -0
  129. package/src/protocol/error-codes.ts +179 -0
  130. package/src/protocol/frames.ts +145 -0
  131. package/src/protocol/index.ts +12 -0
  132. package/src/protocol/methods.ts +229 -0
  133. package/src/protocol/reverse-channels.ts +274 -0
  134. package/src/protocol/schema.ts +154 -0
  135. package/src/relay-env.ts +60 -0
  136. package/src/schema-emulation.ts +192 -0
  137. package/src/spawn.ts +246 -0
  138. package/src/ui-channels.ts +219 -0
  139. package/src/ui-types.ts +84 -0
@@ -0,0 +1,89 @@
1
+ import {
2
+ ENGINE_PROTOCOL_SCHEMAS,
3
+ FORBIDDEN_CREDENTIAL_KEY_FRAGMENTS,
4
+ PROTOCOL_METHODS,
5
+ REVERSE_CHANNELS,
6
+ REVERSE_CHANNEL_NAMES,
7
+ REVERSE_CHANNEL_TIMEOUT_CLASS,
8
+ errorResponseFrameSchema,
9
+ isHostRoundLifecycleParams,
10
+ isHostStreamDeltaParams,
11
+ isNotificationFrame,
12
+ isRequestFrame,
13
+ isResponseFrame,
14
+ isReverseRequestFrame,
15
+ notificationFrameSchema,
16
+ protocolErrorSchema,
17
+ requestFrameSchema,
18
+ reverseRequestFrameSchema,
19
+ successResponseFrameSchema
20
+ } from "../chunk-YFSN3D5N.js";
21
+ import {
22
+ CANCEL_SETTLE_GRACE_MS,
23
+ CRASH_REBUILD_BACKOFF_MS,
24
+ CRASH_REBUILD_MAX_ATTEMPTS,
25
+ ENGINE_ERROR_CODE_PREFIX,
26
+ ENGINE_EVENT_COALESCE_DEFAULT,
27
+ ENGINE_EVENT_COALESCE_ENV,
28
+ ENGINE_PROTOCOL_ERROR_CODES,
29
+ ENGINE_PROTOCOL_VERSION,
30
+ ENGINE_TIMEOUT_RECOVERY,
31
+ EngineSdkError,
32
+ HANDSHAKE_TIMEOUT_MS,
33
+ REVERSE_REQUEST_TIMEOUT_MS,
34
+ STDERR_TAIL_CHARS,
35
+ STDOUT_TAIL_ECHO_CHARS,
36
+ SUPPORTED_PROTOCOL_RANGE,
37
+ assertChatConversationSupported,
38
+ engineConversationUnsupportedError,
39
+ engineProtocolMismatchError,
40
+ engineTimeoutDetail,
41
+ isEngineErrorPassthroughCode,
42
+ isEngineProtocolErrorCode,
43
+ isProtocolVersionCompatible,
44
+ schemaEmulationFailedDetail
45
+ } from "../chunk-PPEPBVCC.js";
46
+ import "../chunk-JSBRDJBE.js";
47
+ export {
48
+ CANCEL_SETTLE_GRACE_MS,
49
+ CRASH_REBUILD_BACKOFF_MS,
50
+ CRASH_REBUILD_MAX_ATTEMPTS,
51
+ ENGINE_ERROR_CODE_PREFIX,
52
+ ENGINE_EVENT_COALESCE_DEFAULT,
53
+ ENGINE_EVENT_COALESCE_ENV,
54
+ ENGINE_PROTOCOL_ERROR_CODES,
55
+ ENGINE_PROTOCOL_SCHEMAS,
56
+ ENGINE_PROTOCOL_VERSION,
57
+ ENGINE_TIMEOUT_RECOVERY,
58
+ EngineSdkError,
59
+ FORBIDDEN_CREDENTIAL_KEY_FRAGMENTS,
60
+ HANDSHAKE_TIMEOUT_MS,
61
+ PROTOCOL_METHODS,
62
+ REVERSE_CHANNELS,
63
+ REVERSE_CHANNEL_NAMES,
64
+ REVERSE_CHANNEL_TIMEOUT_CLASS,
65
+ REVERSE_REQUEST_TIMEOUT_MS,
66
+ STDERR_TAIL_CHARS,
67
+ STDOUT_TAIL_ECHO_CHARS,
68
+ SUPPORTED_PROTOCOL_RANGE,
69
+ assertChatConversationSupported,
70
+ engineConversationUnsupportedError,
71
+ engineProtocolMismatchError,
72
+ engineTimeoutDetail,
73
+ errorResponseFrameSchema,
74
+ isEngineErrorPassthroughCode,
75
+ isEngineProtocolErrorCode,
76
+ isHostRoundLifecycleParams,
77
+ isHostStreamDeltaParams,
78
+ isNotificationFrame,
79
+ isProtocolVersionCompatible,
80
+ isRequestFrame,
81
+ isResponseFrame,
82
+ isReverseRequestFrame,
83
+ notificationFrameSchema,
84
+ protocolErrorSchema,
85
+ requestFrameSchema,
86
+ reverseRequestFrameSchema,
87
+ schemaEmulationFailedDetail,
88
+ successResponseFrameSchema
89
+ };
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/relay-env.ts
21
+ var relay_env_exports = {};
22
+ __export(relay_env_exports, {
23
+ RELAY_ENV_NODE: () => RELAY_ENV_NODE,
24
+ RELAY_ENV_RECORD_ID: () => RELAY_ENV_RECORD_ID,
25
+ RELAY_ENV_SCRIPT: () => RELAY_ENV_SCRIPT,
26
+ RELAY_ENV_SESSION_ID: () => RELAY_ENV_SESSION_ID,
27
+ RELAY_ENV_SOCKET: () => RELAY_ENV_SOCKET,
28
+ RELAY_EXIT_CODES: () => RELAY_EXIT_CODES,
29
+ RELAY_PROTOCOL_VERSION: () => RELAY_PROTOCOL_VERSION,
30
+ isRelayActive: () => isRelayActive,
31
+ readRelayForwardEnv: () => readRelayForwardEnv
32
+ });
33
+ module.exports = __toCommonJS(relay_env_exports);
34
+ var RELAY_ENV_SOCKET = "XYZ_SUBAGENT_RELAY_SOCKET";
35
+ var RELAY_ENV_NODE = "XYZ_SUBAGENT_RELAY_NODE";
36
+ var RELAY_ENV_SCRIPT = "XYZ_SUBAGENT_RELAY_SCRIPT";
37
+ var RELAY_ENV_SESSION_ID = "XYZ_SUBAGENT_RELAY_SESSION_ID";
38
+ var RELAY_ENV_RECORD_ID = "XYZ_SUBAGENT_RELAY_RECORD_ID";
39
+ var RELAY_PROTOCOL_VERSION = 1;
40
+ var RELAY_EXIT_CODES = {
41
+ /** 握手被拒:协议版本不匹配(安装损坏,重装应用)。 */
42
+ VERSION_MISMATCH: 10,
43
+ /** relay socket 不可达(runtime 未运行或已重启)。 */
44
+ SOCKET_UNREACHABLE: 11,
45
+ /** socket 中途断开(runtime 崩溃等)——代理生命线断即退。 */
46
+ SOCKET_CLOSED: 12,
47
+ /** 归属 env(SESSION_ID/RECORD_ID)缺失——防无归属帧污染广播。 */
48
+ MISSING_IDENTITY: 13
49
+ };
50
+ function isRelayActive(env) {
51
+ return Boolean(env[RELAY_ENV_SOCKET] && env[RELAY_ENV_NODE] && env[RELAY_ENV_SCRIPT]);
52
+ }
53
+ function readRelayForwardEnv(env) {
54
+ const socket = env[RELAY_ENV_SOCKET];
55
+ const node = env[RELAY_ENV_NODE];
56
+ const script = env[RELAY_ENV_SCRIPT];
57
+ if (!isRelayActive(env)) return void 0;
58
+ return { socket, node, script };
59
+ }
60
+ // Annotate the CommonJS export names for ESM import in node:
61
+ 0 && (module.exports = {
62
+ RELAY_ENV_NODE,
63
+ RELAY_ENV_RECORD_ID,
64
+ RELAY_ENV_SCRIPT,
65
+ RELAY_ENV_SESSION_ID,
66
+ RELAY_ENV_SOCKET,
67
+ RELAY_EXIT_CODES,
68
+ RELAY_PROTOCOL_VERSION,
69
+ isRelayActive,
70
+ readRelayForwardEnv
71
+ });
@@ -0,0 +1,37 @@
1
+ declare const RELAY_ENV_SOCKET = "XYZ_SUBAGENT_RELAY_SOCKET";
2
+ declare const RELAY_ENV_NODE = "XYZ_SUBAGENT_RELAY_NODE";
3
+ declare const RELAY_ENV_SCRIPT = "XYZ_SUBAGENT_RELAY_SCRIPT";
4
+ declare const RELAY_ENV_SESSION_ID = "XYZ_SUBAGENT_RELAY_SESSION_ID";
5
+ declare const RELAY_ENV_RECORD_ID = "XYZ_SUBAGENT_RELAY_RECORD_ID";
6
+ /** relay 协议版本(握手帧 v 字段;runtime 与代理同包分发,不匹配=安装损坏)。 */
7
+ declare const RELAY_PROTOCOL_VERSION = 1;
8
+ /** 代理专用退出码(extension/引擎侧表现为「子进程非零退出」→ engine_run_failed 语义)。 */
9
+ declare const RELAY_EXIT_CODES: {
10
+ /** 握手被拒:协议版本不匹配(安装损坏,重装应用)。 */
11
+ readonly VERSION_MISMATCH: 10;
12
+ /** relay socket 不可达(runtime 未运行或已重启)。 */
13
+ readonly SOCKET_UNREACHABLE: 11;
14
+ /** socket 中途断开(runtime 崩溃等)——代理生命线断即退。 */
15
+ readonly SOCKET_CLOSED: 12;
16
+ /** 归属 env(SESSION_ID/RECORD_ID)缺失——防无归属帧污染广播。 */
17
+ readonly MISSING_IDENTITY: 13;
18
+ };
19
+ /** 激活判定:三 env 同时非空才走 relay,任一缺失回落直连 spawn 真实引擎(TUI/独立引擎零回归)。 */
20
+ declare function isRelayActive(env: NodeJS.ProcessEnv | Record<string, string | undefined>): boolean;
21
+ /**
22
+ * [W8 H12] 宿主 env → relay 连接三键的转发提取(原样转发语义的单一实现)。
23
+ *
24
+ * 三键同时非空(isRelayActive 同判)才返回——全有或全无,无中间态;身份键
25
+ * SESSION_ID/RECORD_ID 不在本提取面(它们是父身份归属键,引擎子进程 env 由
26
+ * SDK buildEngineChildEnv L1 deny 剥除、引擎按 run.params.ctx 重写,不靠 env 继承)。
27
+ *
28
+ * 消费方:D8 createZcodeEngine 薄壳(zsw 宿主链路的 relay 透传);宿主 env 形态
29
+ * 与 SDK EngineRelayEnv 结构等价(字段名 socket/node/script),TS 结构类型直接赋值。
30
+ */
31
+ declare function readRelayForwardEnv(env: NodeJS.ProcessEnv | Record<string, string | undefined>): {
32
+ socket: string;
33
+ node: string;
34
+ script: string;
35
+ } | undefined;
36
+
37
+ export { RELAY_ENV_NODE, RELAY_ENV_RECORD_ID, RELAY_ENV_SCRIPT, RELAY_ENV_SESSION_ID, RELAY_ENV_SOCKET, RELAY_EXIT_CODES, RELAY_PROTOCOL_VERSION, isRelayActive, readRelayForwardEnv };
@@ -0,0 +1,37 @@
1
+ declare const RELAY_ENV_SOCKET = "XYZ_SUBAGENT_RELAY_SOCKET";
2
+ declare const RELAY_ENV_NODE = "XYZ_SUBAGENT_RELAY_NODE";
3
+ declare const RELAY_ENV_SCRIPT = "XYZ_SUBAGENT_RELAY_SCRIPT";
4
+ declare const RELAY_ENV_SESSION_ID = "XYZ_SUBAGENT_RELAY_SESSION_ID";
5
+ declare const RELAY_ENV_RECORD_ID = "XYZ_SUBAGENT_RELAY_RECORD_ID";
6
+ /** relay 协议版本(握手帧 v 字段;runtime 与代理同包分发,不匹配=安装损坏)。 */
7
+ declare const RELAY_PROTOCOL_VERSION = 1;
8
+ /** 代理专用退出码(extension/引擎侧表现为「子进程非零退出」→ engine_run_failed 语义)。 */
9
+ declare const RELAY_EXIT_CODES: {
10
+ /** 握手被拒:协议版本不匹配(安装损坏,重装应用)。 */
11
+ readonly VERSION_MISMATCH: 10;
12
+ /** relay socket 不可达(runtime 未运行或已重启)。 */
13
+ readonly SOCKET_UNREACHABLE: 11;
14
+ /** socket 中途断开(runtime 崩溃等)——代理生命线断即退。 */
15
+ readonly SOCKET_CLOSED: 12;
16
+ /** 归属 env(SESSION_ID/RECORD_ID)缺失——防无归属帧污染广播。 */
17
+ readonly MISSING_IDENTITY: 13;
18
+ };
19
+ /** 激活判定:三 env 同时非空才走 relay,任一缺失回落直连 spawn 真实引擎(TUI/独立引擎零回归)。 */
20
+ declare function isRelayActive(env: NodeJS.ProcessEnv | Record<string, string | undefined>): boolean;
21
+ /**
22
+ * [W8 H12] 宿主 env → relay 连接三键的转发提取(原样转发语义的单一实现)。
23
+ *
24
+ * 三键同时非空(isRelayActive 同判)才返回——全有或全无,无中间态;身份键
25
+ * SESSION_ID/RECORD_ID 不在本提取面(它们是父身份归属键,引擎子进程 env 由
26
+ * SDK buildEngineChildEnv L1 deny 剥除、引擎按 run.params.ctx 重写,不靠 env 继承)。
27
+ *
28
+ * 消费方:D8 createZcodeEngine 薄壳(zsw 宿主链路的 relay 透传);宿主 env 形态
29
+ * 与 SDK EngineRelayEnv 结构等价(字段名 socket/node/script),TS 结构类型直接赋值。
30
+ */
31
+ declare function readRelayForwardEnv(env: NodeJS.ProcessEnv | Record<string, string | undefined>): {
32
+ socket: string;
33
+ node: string;
34
+ script: string;
35
+ } | undefined;
36
+
37
+ export { RELAY_ENV_NODE, RELAY_ENV_RECORD_ID, RELAY_ENV_SCRIPT, RELAY_ENV_SESSION_ID, RELAY_ENV_SOCKET, RELAY_EXIT_CODES, RELAY_PROTOCOL_VERSION, isRelayActive, readRelayForwardEnv };
@@ -0,0 +1,23 @@
1
+ import {
2
+ RELAY_ENV_NODE,
3
+ RELAY_ENV_RECORD_ID,
4
+ RELAY_ENV_SCRIPT,
5
+ RELAY_ENV_SESSION_ID,
6
+ RELAY_ENV_SOCKET,
7
+ RELAY_EXIT_CODES,
8
+ RELAY_PROTOCOL_VERSION,
9
+ isRelayActive,
10
+ readRelayForwardEnv
11
+ } from "./chunk-DSQ7JQKM.js";
12
+ import "./chunk-JSBRDJBE.js";
13
+ export {
14
+ RELAY_ENV_NODE,
15
+ RELAY_ENV_RECORD_ID,
16
+ RELAY_ENV_SCRIPT,
17
+ RELAY_ENV_SESSION_ID,
18
+ RELAY_ENV_SOCKET,
19
+ RELAY_EXIT_CODES,
20
+ RELAY_PROTOCOL_VERSION,
21
+ isRelayActive,
22
+ readRelayForwardEnv
23
+ };