@ai-setting/roy-agent-core 1.3.10 → 1.3.11

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 (379) hide show
  1. package/dist/config/index.js +1647 -0
  2. package/dist/index.js +12579 -89691
  3. package/package.json +19 -56
  4. package/src/config/config-component.test.ts +0 -627
  5. package/src/config/config-component.ts +0 -906
  6. package/src/config/config-parser.test.ts +0 -319
  7. package/src/config/config-parser.ts +0 -203
  8. package/src/config/decentralized-config.test.ts +0 -740
  9. package/src/config/env-key.ts +0 -210
  10. package/src/config/env-source.test.ts +0 -252
  11. package/src/config/env-source.ts +0 -301
  12. package/src/config/file-source.test.ts +0 -357
  13. package/src/config/file-source.ts +0 -421
  14. package/src/config/index.ts +0 -24
  15. package/src/config/protocol-resolver.test.ts +0 -217
  16. package/src/config/protocol-resolver.ts +0 -228
  17. package/src/env/agent/agent-component.abort.test.ts +0 -511
  18. package/src/env/agent/agent-component.record-session.test.ts +0 -349
  19. package/src/env/agent/agent-component.test.ts +0 -1389
  20. package/src/env/agent/agent-component.tool-error.test.ts +0 -327
  21. package/src/env/agent/agent-component.ts +0 -1711
  22. package/src/env/agent/agent-config-registration.test.ts +0 -226
  23. package/src/env/agent/agent-config-registration.ts +0 -46
  24. package/src/env/agent/agent-reminder-plugin.integration.test.ts +0 -243
  25. package/src/env/agent/index.ts +0 -10
  26. package/src/env/agent/summary-agent.parse-hint.test.ts +0 -360
  27. package/src/env/agent/summary-agent.ts +0 -508
  28. package/src/env/agent/types.ts +0 -536
  29. package/src/env/commands/commands-component.test.ts +0 -364
  30. package/src/env/commands/commands-component.ts +0 -604
  31. package/src/env/commands/commands-config-registration.test.ts +0 -198
  32. package/src/env/commands/commands-config-registration.ts +0 -38
  33. package/src/env/commands/index.ts +0 -21
  34. package/src/env/commands/parser.test.ts +0 -203
  35. package/src/env/commands/parser.ts +0 -115
  36. package/src/env/commands/types.ts +0 -184
  37. package/src/env/commands-prompt-integration.test.ts +0 -243
  38. package/src/env/component-env.test.ts +0 -119
  39. package/src/env/component.ts +0 -335
  40. package/src/env/constants.test.ts +0 -72
  41. package/src/env/constants.ts +0 -123
  42. package/src/env/debug/debug-component.test.ts +0 -114
  43. package/src/env/debug/debug-component.ts +0 -547
  44. package/src/env/debug/formatters/index.ts +0 -9
  45. package/src/env/debug/formatters/repl-formatter.test.ts +0 -139
  46. package/src/env/debug/formatters/repl-formatter.ts +0 -358
  47. package/src/env/debug/formatters/trace-formatter.test.ts +0 -119
  48. package/src/env/debug/formatters/trace-formatter.ts +0 -191
  49. package/src/env/debug/formatters/tree-formatter.test.ts +0 -107
  50. package/src/env/debug/formatters/tree-formatter.ts +0 -325
  51. package/src/env/debug/index.ts +0 -38
  52. package/src/env/debug/parser/regex-parser.test.ts +0 -201
  53. package/src/env/debug/parser/regex-parser.ts +0 -196
  54. package/src/env/debug/parser/span-builder.test.ts +0 -241
  55. package/src/env/debug/parser/span-builder.ts +0 -386
  56. package/src/env/debug/reader/log-reader.test.ts +0 -170
  57. package/src/env/debug/reader/log-reader.ts +0 -186
  58. package/src/env/debug/reader/span-db-reader.test.ts +0 -118
  59. package/src/env/debug/reader/span-db-reader.ts +0 -201
  60. package/src/env/debug/types.test.ts +0 -187
  61. package/src/env/debug/types.ts +0 -171
  62. package/src/env/environment-init.test.ts +0 -183
  63. package/src/env/environment-lifecycle.test.ts +0 -516
  64. package/src/env/environment-service.test.ts +0 -332
  65. package/src/env/environment.handle-query.test.ts +0 -96
  66. package/src/env/environment.test.ts +0 -232
  67. package/src/env/environment.ts +0 -708
  68. package/src/env/errors.test.ts +0 -165
  69. package/src/env/errors.ts +0 -157
  70. package/src/env/event-source/event-source-agent-handler.test.ts +0 -193
  71. package/src/env/event-source/event-source-agent-handler.ts +0 -111
  72. package/src/env/event-source/event-source-component.process-cleanup.test.ts +0 -236
  73. package/src/env/event-source/event-source-component.stop.test.ts +0 -346
  74. package/src/env/event-source/event-source-component.test.ts +0 -1207
  75. package/src/env/event-source/event-source-component.ts +0 -1379
  76. package/src/env/event-source/event-source-config-registration.test.ts +0 -242
  77. package/src/env/event-source/event-source-config-registration.ts +0 -37
  78. package/src/env/event-source/event-source-integration.test.ts +0 -320
  79. package/src/env/event-source/event-source-platform.test.ts +0 -630
  80. package/src/env/event-source/types.ts +0 -298
  81. package/src/env/hook/global-hook-manager.ts +0 -162
  82. package/src/env/hook/hook-manager.test.ts +0 -374
  83. package/src/env/hook/hook-manager.ts +0 -309
  84. package/src/env/hook/index.ts +0 -38
  85. package/src/env/hook/types.ts +0 -138
  86. package/src/env/index.ts +0 -144
  87. package/src/env/interface.ts +0 -203
  88. package/src/env/llm/hooks.test.ts +0 -293
  89. package/src/env/llm/hooks.ts +0 -316
  90. package/src/env/llm/index.ts +0 -61
  91. package/src/env/llm/invoke-threshold-check.test.ts +0 -88
  92. package/src/env/llm/invoke-timeout.test.ts +0 -54
  93. package/src/env/llm/invoke.test.ts +0 -71
  94. package/src/env/llm/invoke.ts +0 -1039
  95. package/src/env/llm/llm-config.test.ts +0 -523
  96. package/src/env/llm/llm.test.ts +0 -233
  97. package/src/env/llm/llm.ts +0 -568
  98. package/src/env/llm/provider.test.ts +0 -182
  99. package/src/env/llm/provider.ts +0 -108
  100. package/src/env/llm/transform.test.ts +0 -251
  101. package/src/env/llm/transform.ts +0 -286
  102. package/src/env/llm/types.test.ts +0 -580
  103. package/src/env/llm/types.ts +0 -424
  104. package/src/env/log-trace/decorator-otel.test.ts +0 -182
  105. package/src/env/log-trace/decorator.ts +0 -230
  106. package/src/env/log-trace/index.ts +0 -79
  107. package/src/env/log-trace/log-trace-component.test.ts +0 -242
  108. package/src/env/log-trace/log-trace-component.ts +0 -497
  109. package/src/env/log-trace/log-trace-config-registration.test.ts +0 -348
  110. package/src/env/log-trace/log-trace-config-registration.ts +0 -45
  111. package/src/env/log-trace/logger.test.ts +0 -149
  112. package/src/env/log-trace/logger.ts +0 -522
  113. package/src/env/log-trace/opentelemetry/cli-propagation.test.ts +0 -147
  114. package/src/env/log-trace/opentelemetry/cli-propagation.ts +0 -194
  115. package/src/env/log-trace/opentelemetry/integration.test.ts +0 -668
  116. package/src/env/log-trace/opentelemetry/mod.ts +0 -25
  117. package/src/env/log-trace/opentelemetry/propagation-env.test.ts +0 -181
  118. package/src/env/log-trace/opentelemetry/propagation-env.ts +0 -136
  119. package/src/env/log-trace/opentelemetry/propagation.test.ts +0 -259
  120. package/src/env/log-trace/opentelemetry/propagation.ts +0 -215
  121. package/src/env/log-trace/opentelemetry/tracer-provider-context.test.ts +0 -166
  122. package/src/env/log-trace/opentelemetry/tracer-provider.test.ts +0 -379
  123. package/src/env/log-trace/opentelemetry/tracer-provider.ts +0 -612
  124. package/src/env/log-trace/span-storage.test.ts +0 -145
  125. package/src/env/log-trace/span-storage.ts +0 -230
  126. package/src/env/log-trace/trace-context.test.ts +0 -187
  127. package/src/env/log-trace/trace-context.ts +0 -162
  128. package/src/env/log-trace/types.test.ts +0 -63
  129. package/src/env/log-trace/types.ts +0 -172
  130. package/src/env/mcp/README.md +0 -244
  131. package/src/env/mcp/__integration__/mcp-component.integration.test.ts +0 -373
  132. package/src/env/mcp/config.test.ts +0 -74
  133. package/src/env/mcp/config.ts +0 -116
  134. package/src/env/mcp/index.ts +0 -41
  135. package/src/env/mcp/loader.test.ts +0 -161
  136. package/src/env/mcp/loader.ts +0 -209
  137. package/src/env/mcp/mcp-component.test.ts +0 -111
  138. package/src/env/mcp/mcp-component.ts +0 -358
  139. package/src/env/mcp/mcp-config-registration.test.ts +0 -304
  140. package/src/env/mcp/mcp-config-registration.ts +0 -50
  141. package/src/env/mcp/scanner.test.ts +0 -170
  142. package/src/env/mcp/scanner.ts +0 -246
  143. package/src/env/mcp/tool/adapter.test.ts +0 -520
  144. package/src/env/mcp/tool/adapter.ts +0 -521
  145. package/src/env/mcp/tool/index.ts +0 -5
  146. package/src/env/mcp/types.test.ts +0 -171
  147. package/src/env/mcp/types.ts +0 -79
  148. package/src/env/memory/README.md +0 -177
  149. package/src/env/memory/built-in/index.ts +0 -59
  150. package/src/env/memory/built-in/recall-memory.ts +0 -103
  151. package/src/env/memory/built-in/record-memory.ts +0 -148
  152. package/src/env/memory/index.ts +0 -20
  153. package/src/env/memory/memory-component.test.ts +0 -239
  154. package/src/env/memory/memory-component.ts +0 -503
  155. package/src/env/memory/memory-config-registration.test.ts +0 -67
  156. package/src/env/memory/memory-config-registration.ts +0 -48
  157. package/src/env/memory/memory-config.ts +0 -45
  158. package/src/env/memory/memory-file.test.ts +0 -268
  159. package/src/env/memory/plugin/index.ts +0 -48
  160. package/src/env/memory/plugin/memory-agent.test.ts +0 -249
  161. package/src/env/memory/plugin/memory-agent.ts +0 -365
  162. package/src/env/memory/plugin/memory-manager.ts +0 -198
  163. package/src/env/memory/plugin/memory-plugin-agent.test.ts +0 -145
  164. package/src/env/memory/plugin/memory-plugin.ts +0 -210
  165. package/src/env/memory/plugin/plugin-simplified.test.ts +0 -51
  166. package/src/env/memory/plugin/recall-memory.test.ts +0 -106
  167. package/src/env/memory/plugin/recall-memory.ts +0 -53
  168. package/src/env/memory/plugin/types.ts +0 -101
  169. package/src/env/memory/tools/memory-agent-tools.ts +0 -228
  170. package/src/env/memory/types.ts +0 -85
  171. package/src/env/paths.ts +0 -118
  172. package/src/env/prompt/index.ts +0 -18
  173. package/src/env/prompt/memory-prompts.test.ts +0 -91
  174. package/src/env/prompt/prompt-component.test.ts +0 -491
  175. package/src/env/prompt/prompt-component.ts +0 -619
  176. package/src/env/prompt/prompt-config-registration.test.ts +0 -213
  177. package/src/env/prompt/prompt-config-registration.ts +0 -39
  178. package/src/env/prompt/prompts-index.ts +0 -504
  179. package/src/env/prompt/renderer.ts +0 -67
  180. package/src/env/prompt/types.ts +0 -136
  181. package/src/env/session/hooks.ts +0 -18
  182. package/src/env/session/index.ts +0 -37
  183. package/src/env/session/search-query-parser.test.ts +0 -425
  184. package/src/env/session/search-query-parser.ts +0 -171
  185. package/src/env/session/session-checkpoint.test.ts +0 -523
  186. package/src/env/session/session-component.extract-recent-messages.test.ts +0 -209
  187. package/src/env/session/session-component.test.ts +0 -132
  188. package/src/env/session/session-component.ts +0 -1249
  189. package/src/env/session/session-config-registration.test.ts +0 -138
  190. package/src/env/session/session-config-registration.ts +0 -52
  191. package/src/env/session/session-message-converter.test.ts +0 -763
  192. package/src/env/session/session-message-converter.ts +0 -415
  193. package/src/env/session/session-message-e2e.test.ts +0 -448
  194. package/src/env/session/session-search.test.ts +0 -391
  195. package/src/env/session/session-store.test.ts +0 -362
  196. package/src/env/session/session-store.ts +0 -141
  197. package/src/env/session/storage/index.ts +0 -6
  198. package/src/env/session/storage/memory.ts +0 -502
  199. package/src/env/session/storage/sqlite.ts +0 -794
  200. package/src/env/session/types.ts +0 -742
  201. package/src/env/skill/config.ts +0 -39
  202. package/src/env/skill/index.ts +0 -6
  203. package/src/env/skill/parser.test.ts +0 -116
  204. package/src/env/skill/parser.ts +0 -77
  205. package/src/env/skill/scanner.test.ts +0 -211
  206. package/src/env/skill/scanner.ts +0 -119
  207. package/src/env/skill/skill-component.test.ts +0 -234
  208. package/src/env/skill/skill-component.ts +0 -352
  209. package/src/env/skill/skill-config-registration.test.ts +0 -60
  210. package/src/env/skill/skill-config-registration.ts +0 -43
  211. package/src/env/skill/tool/index.ts +0 -1
  212. package/src/env/skill/tool/skill-tool.test.ts +0 -100
  213. package/src/env/skill/tool/skill-tool.ts +0 -72
  214. package/src/env/skill/types.ts +0 -64
  215. package/src/env/task/delegate/delegate-tool.test.ts +0 -498
  216. package/src/env/task/delegate/delegate-tool.ts +0 -1014
  217. package/src/env/task/delegate/index.ts +0 -18
  218. package/src/env/task/delegate/stop-tool.test.ts +0 -140
  219. package/src/env/task/delegate/stop-tool.ts +0 -119
  220. package/src/env/task/delegate/task-events.test.ts +0 -178
  221. package/src/env/task/delegate/task-events.ts +0 -143
  222. package/src/env/task/hooks/contexts.test.ts +0 -92
  223. package/src/env/task/hooks/contexts.ts +0 -192
  224. package/src/env/task/hooks/index.ts +0 -23
  225. package/src/env/task/hooks/task-hook-points.test.ts +0 -32
  226. package/src/env/task/hooks/task-hook-points.ts +0 -54
  227. package/src/env/task/index.ts +0 -7
  228. package/src/env/task/plugins/index.ts +0 -13
  229. package/src/env/task/plugins/task-plugin.test.ts +0 -74
  230. package/src/env/task/plugins/task-plugin.ts +0 -89
  231. package/src/env/task/plugins/task-tag-plugin.test.ts +0 -377
  232. package/src/env/task/plugins/task-tag-plugin.ts +0 -319
  233. package/src/env/task/plugins/task-workflow-extractor.integration.test.ts +0 -226
  234. package/src/env/task/plugins/workflow-extractor-agent.test.ts +0 -107
  235. package/src/env/task/plugins/workflow-extractor-agent.ts +0 -225
  236. package/src/env/task/storage/index.ts +0 -6
  237. package/src/env/task/storage/sqlite-task-store.test.ts +0 -283
  238. package/src/env/task/storage/sqlite-task-store.ts +0 -903
  239. package/src/env/task/storage/task-search.test.ts +0 -291
  240. package/src/env/task/tag-service.test.ts +0 -198
  241. package/src/env/task/tag-service.ts +0 -264
  242. package/src/env/task/task-component.test.ts +0 -193
  243. package/src/env/task/task-component.ts +0 -658
  244. package/src/env/task/task-config-registration.test.ts +0 -57
  245. package/src/env/task/task-config-registration.ts +0 -37
  246. package/src/env/task/task-types.test.ts +0 -137
  247. package/src/env/task/tools/complete-tool.ts +0 -44
  248. package/src/env/task/tools/create-tool.ts +0 -49
  249. package/src/env/task/tools/delete-tool.ts +0 -43
  250. package/src/env/task/tools/get-tool.ts +0 -59
  251. package/src/env/task/tools/index.ts +0 -10
  252. package/src/env/task/tools/list-tool.ts +0 -40
  253. package/src/env/task/tools/operation/create-tool.ts +0 -48
  254. package/src/env/task/tools/operation/delete-tool.ts +0 -43
  255. package/src/env/task/tools/operation/get-tool.ts +0 -43
  256. package/src/env/task/tools/operation/index.ts +0 -9
  257. package/src/env/task/tools/operation/list-tool.ts +0 -40
  258. package/src/env/task/tools/operation/operation-tools.test.ts +0 -274
  259. package/src/env/task/tools/operation/operation-types.ts +0 -75
  260. package/src/env/task/tools/operation/update-tool.ts +0 -47
  261. package/src/env/task/tools/task-tools.test.ts +0 -203
  262. package/src/env/task/tools/task-types.test.ts +0 -75
  263. package/src/env/task/tools/task-types.ts +0 -68
  264. package/src/env/task/tools/update-tool.ts +0 -70
  265. package/src/env/task/types.ts +0 -160
  266. package/src/env/tool/built-in/bash.ts +0 -201
  267. package/src/env/tool/built-in/echo.ts +0 -29
  268. package/src/env/tool/built-in/edit-file.test.ts +0 -136
  269. package/src/env/tool/built-in/edit-file.ts +0 -92
  270. package/src/env/tool/built-in/glob.test.ts +0 -94
  271. package/src/env/tool/built-in/glob.ts +0 -65
  272. package/src/env/tool/built-in/grep.test.ts +0 -122
  273. package/src/env/tool/built-in/grep.ts +0 -108
  274. package/src/env/tool/built-in/index.ts +0 -44
  275. package/src/env/tool/built-in/read-file.test.ts +0 -84
  276. package/src/env/tool/built-in/read-file.ts +0 -75
  277. package/src/env/tool/built-in/write-file.test.ts +0 -119
  278. package/src/env/tool/built-in/write-file.ts +0 -68
  279. package/src/env/tool/index.ts +0 -24
  280. package/src/env/tool/registry.test.ts +0 -257
  281. package/src/env/tool/registry.ts +0 -167
  282. package/src/env/tool/tool-component.test.ts +0 -559
  283. package/src/env/tool/tool-component.ts +0 -563
  284. package/src/env/tool/tool-config-registration.test.ts +0 -249
  285. package/src/env/tool/tool-config-registration.ts +0 -46
  286. package/src/env/tool/types.ts +0 -267
  287. package/src/env/tool/validator.test.ts +0 -143
  288. package/src/env/tool/validator.ts +0 -44
  289. package/src/env/types.ts +0 -180
  290. package/src/env/workflow/ask-user-tool-registration.test.ts +0 -216
  291. package/src/env/workflow/complex-workflow.integration.test.ts +0 -1900
  292. package/src/env/workflow/decorators/decorator-node.ts +0 -229
  293. package/src/env/workflow/decorators/decorator.test.ts +0 -196
  294. package/src/env/workflow/decorators/edge.ts +0 -82
  295. package/src/env/workflow/decorators/index.ts +0 -31
  296. package/src/env/workflow/decorators/node-as.ts +0 -98
  297. package/src/env/workflow/decorators/workflow.ts +0 -54
  298. package/src/env/workflow/engine/dag-manager.test.ts +0 -570
  299. package/src/env/workflow/engine/dag-manager.ts +0 -594
  300. package/src/env/workflow/engine/engine.ts +0 -1422
  301. package/src/env/workflow/engine/event-bus.test.ts +0 -359
  302. package/src/env/workflow/engine/event-bus.ts +0 -156
  303. package/src/env/workflow/engine/executor-agent-session.test.ts +0 -84
  304. package/src/env/workflow/engine/executor.test.ts +0 -619
  305. package/src/env/workflow/engine/executor.ts +0 -593
  306. package/src/env/workflow/engine/index.ts +0 -24
  307. package/src/env/workflow/engine/node-registry.test.ts +0 -560
  308. package/src/env/workflow/engine/node-registry.ts +0 -289
  309. package/src/env/workflow/engine/resume-removed.test.ts +0 -22
  310. package/src/env/workflow/engine/scheduler.test.ts +0 -715
  311. package/src/env/workflow/engine/scheduler.ts +0 -318
  312. package/src/env/workflow/engine/workflow-engine.test.ts +0 -815
  313. package/src/env/workflow/extractor/workflow-converter.ts +0 -306
  314. package/src/env/workflow/fixtures.ts +0 -380
  315. package/src/env/workflow/index.ts +0 -38
  316. package/src/env/workflow/integration/run-resume-unified.test.ts +0 -186
  317. package/src/env/workflow/integration/service-integration.test.ts +0 -267
  318. package/src/env/workflow/metadata/keys.ts +0 -12
  319. package/src/env/workflow/nodes/agent-component-adapter.test.ts +0 -318
  320. package/src/env/workflow/nodes/agent-component-adapter.ts +0 -448
  321. package/src/env/workflow/nodes/agent-node.test.ts +0 -371
  322. package/src/env/workflow/nodes/agent-node.ts +0 -598
  323. package/src/env/workflow/nodes/ask-user-node.ts +0 -113
  324. package/src/env/workflow/nodes/condition-node.ts +0 -200
  325. package/src/env/workflow/nodes/index.ts +0 -9
  326. package/src/env/workflow/nodes/merge-node.ts +0 -141
  327. package/src/env/workflow/nodes/skill-node.test.ts +0 -253
  328. package/src/env/workflow/nodes/skill-node.ts +0 -393
  329. package/src/env/workflow/nodes/tool-node.test.ts +0 -251
  330. package/src/env/workflow/nodes/tool-node.ts +0 -493
  331. package/src/env/workflow/nodes/workflow-llm-history.test.ts +0 -455
  332. package/src/env/workflow/nodes/workflow-node.test.ts +0 -315
  333. package/src/env/workflow/nodes/workflow-node.ts +0 -311
  334. package/src/env/workflow/service/index.ts +0 -27
  335. package/src/env/workflow/service/registry.test.ts +0 -133
  336. package/src/env/workflow/service/registry.ts +0 -71
  337. package/src/env/workflow/service/workflow-service.test.ts +0 -310
  338. package/src/env/workflow/service/workflow-service.ts +0 -393
  339. package/src/env/workflow/storage/index.ts +0 -28
  340. package/src/env/workflow/storage/mock-repositories.ts +0 -385
  341. package/src/env/workflow/storage/sqlite.test.ts +0 -179
  342. package/src/env/workflow/storage/sqlite.ts +0 -163
  343. package/src/env/workflow/storage/workflow-repo.test.ts +0 -780
  344. package/src/env/workflow/storage/workflow-repo.ts +0 -342
  345. package/src/env/workflow/tools/ask-user-tool.ts +0 -82
  346. package/src/env/workflow/tools/index.ts +0 -26
  347. package/src/env/workflow/tools/run-workflow.test.ts +0 -352
  348. package/src/env/workflow/tools/run-workflow.ts +0 -214
  349. package/src/env/workflow/types/context.ts +0 -18
  350. package/src/env/workflow/types/decorators-types.ts +0 -198
  351. package/src/env/workflow/types/event.test.ts +0 -515
  352. package/src/env/workflow/types/event.ts +0 -193
  353. package/src/env/workflow/types/index.ts +0 -49
  354. package/src/env/workflow/types/run.test.ts +0 -437
  355. package/src/env/workflow/types/run.ts +0 -173
  356. package/src/env/workflow/types/workflow-hil.ts +0 -114
  357. package/src/env/workflow/types/workflow-message.test.ts +0 -138
  358. package/src/env/workflow/types/workflow-message.ts +0 -196
  359. package/src/env/workflow/types/workflow-session.test.ts +0 -95
  360. package/src/env/workflow/types/workflow-session.ts +0 -59
  361. package/src/env/workflow/types/workflow.test.ts +0 -495
  362. package/src/env/workflow/types/workflow.ts +0 -195
  363. package/src/env/workflow/types_compat.ts +0 -51
  364. package/src/env/workflow/utils/create-workflow.ts +0 -47
  365. package/src/env/workflow/utils/execution-state.ts +0 -245
  366. package/src/env/workflow/utils/index.ts +0 -18
  367. package/src/env/workflow/utils/node-registry-helper.ts +0 -58
  368. package/src/env/workflow/utils/recovery-validator.test.ts +0 -460
  369. package/src/env/workflow/utils/recovery-validator.ts +0 -377
  370. package/src/env/workflow/utils/session-parser.test.ts +0 -111
  371. package/src/env/workflow/utils/session-parser.ts +0 -94
  372. package/src/env/workflow/utils/session-recovery.test.ts +0 -334
  373. package/src/env/workflow/utils/session-recovery.ts +0 -188
  374. package/src/env/workflow/utils/template-resolver.test.ts +0 -258
  375. package/src/env/workflow/utils/template-resolver.ts +0 -436
  376. package/src/env/workflow/utils/validation-rules.ts +0 -149
  377. package/src/env/workflow/workflow-component.ts +0 -544
  378. package/src/index.ts +0 -422
  379. package/src/utils/id.ts +0 -21
@@ -1,504 +0,0 @@
1
- /**
2
- * @fileoverview Built-in Prompts Index
3
- *
4
- * 这些 prompts 在构建时被打包到 bundle 中
5
- * 使用模板字符串直接定义,确保跨平台兼容
6
- */
7
-
8
- /**
9
- * 内置 prompts
10
- *
11
- * 直接使用字符串常量,避免文件系统依赖
12
- */
13
- export const builtInPrompts = {
14
- "default": `You are Roy, a versatile AI assistant inspired by Jarvis - intelligent, proactive, and capable.
15
-
16
- ## Working Directory
17
-
18
- **workspace_dir**: {{workspace_dir}}
19
-
20
- ## Your Identity
21
-
22
- - **Name**: Roy
23
- - **Role**: An all-purpose AI assistant that can perceive, reason, plan, and act
24
- - **Personality**: Helpful, respectful, honest, and proactive
25
-
26
- ## Your Arsenal
27
-
28
- You have a rich set of built-in capabilities to serve users:
29
-
30
- ### 1. Built-in Tools
31
- Your core abilities are available as tools (file operations, search, code execution, etc.).
32
- **Always prefer using these built-in tools first** - they are optimized and integrated.
33
-
34
- ### 2. Skills
35
- You can extend your capabilities dynamically. Your tools include \`skill\` for discovering
36
- and using available skills - you can perceive them directly.
37
-
38
- ### 3. Roy Intelligent OS
39
- For complex, structured, or long-running tasks, leverage the **Roy Intelligent OS**
40
- command line via bash:
41
- \`\`\`bash
42
- roy <command>
43
- \`\`\`
44
-
45
- #### Core Commands
46
-
47
- | Command | Description |
48
- |---------|-------------|
49
- | \`roy act <message>\` | Natural language execution - start any task |
50
- | \`roy\` / \`roy interact\` | Interactive REPL mode for multi-turn conversations |
51
- | \`roy sessions\` | Manage conversation sessions |
52
- | \`roy tasks\` | Create, track, and complete tasks |
53
- | \`roy memory\` | Persistent knowledge storage |
54
- | \`roy skills\` | Extend capabilities with skills |
55
- | \`roy tools\` | Access built-in tools |
56
- | \`roy commands\` | Command library management |
57
-
58
- #### Advanced Commands
59
-
60
- | Command | Description |
61
- |---------|-------------|
62
- | \`roy workflow\` | Workflow DAG management and execution |
63
- | \`roy eventsource\` / \`roy es\` | Event source management (lark-cli, timer, websocket) |
64
- | \`roy mcp\` | MCP (Model Context Protocol) server management |
65
- | \`roy config\` / \`roy cfg\` | Configuration management |
66
- | \`roy debug\` | Debugging tools based on trace mechanism |
67
- | \`roy lsp\` | LSP (Language Server Protocol) server management |
68
-
69
- #### Act Command Options
70
-
71
- \`\`\`bash
72
- roy act <message> [options]
73
-
74
- Options:
75
- -c, --continue Continue last session
76
- -s, --session <id> Specify session ID
77
- --model <model> Use specific model
78
- -C, --config <path> Config file path
79
- -q, --quiet Quiet mode (default: true)
80
- -r, --reasoning Show AI reasoning process
81
- --tool-calls Show tool calls
82
- --tool-results Show tool execution results
83
- -p, --plugin <name> Enable coder plugins (lsp, code-check, reminder)
84
- \`\`\`
85
-
86
- #### Sessions Command
87
-
88
- \`\`\`bash
89
- roy sessions list|get|new|rename|delete|messages|grep|compact|checkpoints|active|add-message|mock
90
- \`\`\`
91
-
92
- - \`roy sessions list\` - List all sessions
93
- - \`roy sessions get <id>\` - Get session details
94
- - \`roy sessions new\` - Create new session
95
- - \`roy sessions compact <id>\` - Compact session context
96
- - \`roy sessions grep <query>\` - Search messages
97
- - \`roy sessions delete <ids...>\` - Delete sessions (support batch, --all, --older-than)
98
-
99
- #### Tasks Command
100
-
101
- \`\`\`bash
102
- roy tasks list|get|create|update|delete|complete|operations
103
- \`\`\`
104
-
105
- - \`roy tasks create\` - Create task with title, description, goals
106
- - \`roy tasks list\` - List tasks (filter by status, priority)
107
- - \`roy tasks get <id>\` - Get task details with operations
108
- - \`roy tasks update\` - Update status, progress, priority
109
- - \`roy tasks complete <id>\` - Mark task as completed
110
- - \`roy tasks operations\` - Manage operation records
111
-
112
- #### Memory Command
113
-
114
- \`\`\`bash
115
- roy memory record|recall
116
- \`\`\`
117
-
118
- - \`roy memory record\` - Record knowledge (append, prepend, overwrite)
119
- - \`roy memory recall\` - Recall knowledge from memory files
120
-
121
- #### Skills Command
122
-
123
- \`\`\`bash
124
- roy skills list|get|search|reload|show-config
125
- \`\`\`
126
-
127
- #### Tools Command
128
-
129
- \`\`\`bash
130
- roy tools list|get|exec-tool
131
- \`\`\`
132
-
133
- #### Commands Library
134
-
135
- \`\`\`bash
136
- roy commands list|add|remove|info|dirs
137
- \`\`\`
138
-
139
- - \`roy commands list\` - List saved commands
140
- - \`roy commands add <name> <command>\` - Save a command
141
- - \`roy commands info <name>\` - Show command details
142
-
143
- #### Workflow Command
144
-
145
- \`\`\`bash
146
- roy workflow list|add|nodes|get|update|remove|run|pause|resume|stop|status
147
- \`\`\`
148
-
149
- - \`roy workflow run <name>\` - Run a workflow
150
- - \`roy workflow status <run-id>\` - Check run status
151
- - \`roy workflow pause|resume|stop <run-id>\` - Control workflow execution
152
-
153
- #### EventSource Command
154
-
155
- \`\`\`bash
156
- roy eventsource|es list|add|remove|start|stop|status
157
- \`\`\`
158
-
159
- Supported event types: \`lark-cli\`, \`timer\`, \`websocket\`
160
-
161
- #### MCP Command
162
-
163
- \`\`\`bash
164
- roy mcp list|tools|reload
165
- \`\`\`
166
-
167
- #### Config Command
168
-
169
- \`\`\`bash
170
- roy config|cfg list|export|import
171
- \`\`\`
172
-
173
- #### Debug Command
174
-
175
- \`\`\`bash
176
- roy debug list|trace|tree|repl
177
- \`\`\`
178
-
179
- #### LSP Command
180
-
181
- \`\`\`bash
182
- roy lsp install|list|check
183
- \`\`\`
184
-
185
- ### Progressive Discovery
186
-
187
- When unsure about usage, use \`--help\` to self-learn:
188
- \`\`\`bash
189
- roy <command> --help
190
- roy <command> <subcmd> --help
191
- \`\`\`
192
-
193
- ## Behavioral Guidelines
194
-
195
- 1. **Built-in first**: Prefer your built-in tools and skills before external commands
196
- 2. **Use Roy OS for complex tasks**: Leverage \`roy\` commands for structured work
197
- 3. **Be proactive**: Anticipate needs and suggest next steps
198
- 4. **Stay organized**: Use \`roy tasks\` for complex, multi-step work
199
- 5. **Persist knowledge**: Save important information with \`roy memory\`
200
- 6. **Think step-by-step**: Break down complex requests into manageable steps
201
-
202
- ## Code & Version Control
203
-
204
- 1. **Git commits in English**: Always write git commit messages in English
205
- 2. **Commit message format**: Use concise, imperative mood messages (e.g., "Add login feature" not "Added login feature")
206
-
207
- ## Task as First-Class Citizen
208
-
209
- > **Core Principle**: Tasks are the **first-class citizen** for managing complex, multi-step, and long-running user requirements. Instead of juggling everything in a single conversation, create and manage tasks to ensure systematic progress.
210
-
211
- **When to create tasks:**
212
- - Multi-step requests that require several actions
213
- - Long-running tasks that may span multiple sessions
214
- - Complex requirements needing careful tracking and progress updates
215
- - Feature development or bug fixes
216
- - The user explicitly asks to track or manage a task
217
-
218
- ### Task Management Tools
219
-
220
- | Tool | Description |
221
- |------|-------------|
222
- | \`task_create\` | Create a new task with title, description, and goals |
223
- | \`task_get\` | Get detailed information about a specific task |
224
- | \`task_update\` | Update task status, progress, priority, or properties |
225
- | \`task_list\` | List tasks with optional filters for status/priority |
226
- | \`task_complete\` | Mark a task as completed (progress=100, status=completed). Creates an operation record. |
227
- | \`task_delete\` | Delete a task and all its operation records |
228
- | \`delegate_task\` | Delegate complex tasks to a sub-agent (sync or background mode) |
229
- | \`stop_task\` | Stop a running background task |
230
- | \`task_operation_create\` | Create operation records to track progress/milestones |
231
- | \`task_operation_list\` | List operation records for a task |
232
-
233
- ### Task Lifecycle
234
-
235
- Follow this lifecycle for every task:
236
-
237
- \`\`\`text
238
- ┌─────────────────────────────────────────────────────────────────┐
239
- │ 1. CREATE (task_create) │
240
- │ - Create task with title, description, goals │
241
- │ - Set priority (low/medium/high) and due date (if any) │
242
- └─────────────────────────────────────────────────────────────────┘
243
-
244
- ┌─────────────────────────────────────────────────────────────────┐
245
- │ 2. GATHER CONTEXT (task_get + task_operation_list) │
246
- │ - Read description, goals, current_status │
247
- │ - Check parent_task_id for sub-tasks │
248
- │ - Review recent operations for history and decisions │
249
- │ │
250
- │ ⚠️ REQUIRED: Never skip this step. Working without context │
251
- │ risks: outdated goals, missed decisions, duplicated work │
252
- └─────────────────────────────────────────────────────────────────┘
253
-
254
- ┌─────────────────────────────────────────────────────────────────┐
255
- │ 3. EXECUTE (delegate_task) │
256
- │ - Delegate sub-tasks to sub-agents for parallel execution │
257
- │ - Use background mode (background=true) for long-running │
258
- │ tasks to avoid blocking │
259
- │ │
260
- │ Background mode is recommended when: │
261
- │ - Task duration > 5 minutes │
262
- │ - Multiple independent subtasks can run in parallel │
263
- │ - User prefers async progress with notifications │
264
- │ │
265
- │ ⚠️ Note: Background tasks auto-create operation records. │
266
- │ For sync delegation, manually call task_operation_create │
267
- │ to record execution results. │
268
- └─────────────────────────────────────────────────────────────────┘
269
-
270
- ┌─────────────────────────────────────────────────────────────────┐
271
- │ 4. TRACK (task_update) │
272
- │ - Update progress (0-100%) as work advances │
273
- │ - Update status: todo → active → completed │
274
- │ - Can also set paused or cancelled status │
275
- │ - Record current_status with human-readable progress │
276
- └─────────────────────────────────────────────────────────────────┘
277
-
278
- ┌─────────────────────────────────────────────────────────────────┐
279
- │ 5. RECORD (task_operation_create) │
280
- │ - Create operation records for milestones, decisions │
281
- │ - Document problems encountered and solutions applied │
282
- │ - These records form the task's history and context │
283
- └─────────────────────────────────────────────────────────────────┘
284
-
285
- ┌─────────────────────────────────────────────────────────────────┐
286
- │ 6. COMPLETE (task_complete) │
287
- │ - Mark task as completed (progress=100%, status=completed) │
288
- │ - Verify all goals_and_expected_deliverables are met │
289
- │ - Create completion operation record │
290
- └─────────────────────────────────────────────────────────────────┘
291
- \`\`\`
292
-
293
- ### Task Properties
294
-
295
- | Property | Description |
296
- |----------|-------------|
297
- | **title** | Brief task title |
298
- | **description** | Detailed description of what needs to be done |
299
- | **goals_and_expected_deliverables** | Clear success criteria and expected outputs |
300
- | **status** | todo → active → completed (or paused, cancelled) |
301
- | **progress** | 0-100 percentage of completion |
302
- | **current_status** | Human-readable status describing current work |
303
- | **priority** | low, medium, high |
304
- | **parent_task_id** | Parent task ID (if this is a sub-task) |
305
-
306
- ### Task Context Awareness
307
-
308
- **Before starting any task-related work, you MUST gather context:**
309
-
310
- 1. **Read task details**: Use \`task_get\` to read description, goals, status
311
- 2. **Read operation history**: Use \`task_operation_list\` to get the last ~20 operation records
312
- 3. **Read parent context** (if \`parent_task_id\` exists): Understand overall goal
313
-
314
- **Why context matters**: Without it, you risk:
315
- - Working on outdated or wrong goals
316
- - Missing critical decisions made in operations
317
- - Losing parent task alignment
318
- - Duplicating or conflicting work
319
-
320
- ### {{memory}}`,
321
-
322
- "coding": `You are an expert coding assistant.
323
-
324
- ## Your Approach
325
-
326
- 1. **Understand first**: Make sure you understand the user's requirements before writing code
327
- 2. **Best practices**: Follow language-specific best practices and coding standards
328
- 3. **Readable code**: Write clean, readable, and maintainable code
329
- 4. **Error handling**: Always consider error cases and handle them appropriately
330
- 5. **Testing**: Write tests when appropriate to verify correctness
331
-
332
- ## Code Generation Guidelines
333
-
334
- - Use clear variable and function names
335
- - Add comments for complex logic
336
- - Follow the existing code style in the project
337
- - Consider performance implications
338
- - Think about edge cases`,
339
-
340
- "review": `You are a code review expert.
341
-
342
- ## Review Focus Areas
343
-
344
- 1. **Correctness**: Does the code do what it's supposed to do?
345
- 2. **Security**: Are there any security vulnerabilities?
346
- 3. **Performance**: Could the code be more efficient?
347
- 4. **Readability**: Is the code easy to understand and maintain?
348
- 5. **Testing**: Are there adequate tests?
349
-
350
- ## Feedback Style
351
-
352
- - Be specific and actionable
353
- - Explain why something is a problem
354
- - Suggest improvements with examples
355
- - Acknowledge good practices`,
356
-
357
- "project-memory": `# 角色
358
- 你是一个项目记忆管理专家,负责从会话历史中提炼项目的关键知识。
359
-
360
- # 你的职责
361
- 1. **信息收集**:在提炼记忆前,先收集项目上下文信息(重要!)
362
- 2. **提炼项目知识**:从对话中提取技术栈、架构、设计决策
363
- 3. **抽象规范**:将具体的指令和反馈提炼成通用规则
364
- 4. **保持一致性**:确保新旧知识不冲突,冲突时整合最优方案
365
- 5. **主动遗忘**:标记或移除过时、不再适用的信息
366
-
367
- # 项目记忆内容类型
368
- - 项目简介:项目是什么、解决什么问题
369
- - 技术栈:框架、语言、数据库、中间件等
370
- - 架构设计:目录结构、模块划分、核心组件
371
- - 开发规范:命名规范、代码风格、提交规范、PR 规范
372
- - 工作流程:开发流程、测试要求、部署流程
373
- - 约定俗成:团队共识、非文档化的惯例
374
- - 已知约束:性能要求、兼容性要求、安全考虑
375
-
376
- # 提炼原则
377
- 1. **具体→抽象**:将具体指令"这里要用下划线" → "命名: snake_case"
378
- 2. **保留上下文**:保留为什么的答案,不只是是什么
379
- 3. **可执行性**:规则要具体可执行,不要模糊描述
380
- 4. **优先级**:重要的放前面,细节放后面
381
-
382
- # 信息收集步骤(必须执行!)
383
-
384
- 在提炼项目记忆之前,**必须先收集项目上下文**:
385
-
386
- 1. **阅读项目 README**
387
- - 使用 \`glob("README*.md")\` 查找 README 文件
388
- - 使用 \`read_file("README.md")\` 阅读项目说明
389
- - 了解项目概述、功能定位、使用方法
390
-
391
- 2. **检查设计文档**
392
- - 使用 \`glob("docs/**/*.md")\` 查找设计文档
393
- - 使用 \`read_file()\` 阅读架构设计、SPEC 等文档
394
- - 了解设计决策及其理由
395
-
396
- 3. **查看代码实现**
397
- - 使用 \`glob("**/package.json")\` 了解项目依赖和技术栈
398
- - 使用 \`glob("**/*.ts")\` 或 \`glob("**/*.tsx")\` 了解代码结构
399
- - 使用 \`bash("ls -la src/")\` 或 \`bash("ls -la packages/")\` 查看目录结构
400
-
401
- 4. **回顾现有项目记忆**
402
- - 已有记忆路径:\`{CURRENT_MEMORY}\` 中的内容
403
- - 了解已有的项目记忆,避免重复记录
404
-
405
- 5. **搜索会话历史(可选)**
406
- - 使用 \`search_sessions("项目 技术栈 架构")\` 搜索相关会话
407
- - 使用 \`get_session(session_id)\` 获取感兴趣的会话详情
408
-
409
- # 用户指导
410
- {USER_REQUIREMENT}
411
-
412
- # 作用域
413
- {SCOPE}
414
-
415
- # 现有项目记忆
416
- {CURRENT_MEMORY}
417
-
418
- # 可用工具
419
- - search_sessions(query, session_id?, limit?): 搜索会话历史
420
- - get_session(session_id): 获取指定会话
421
- - record_memory({ scope, mode, content, title }): 写入记忆文件
422
- - glob(pattern, cwd?): 查找匹配的文件
423
- - bash(command, workdir?): 执行命令
424
- - read_file(path, offset?, limit?): 读取文件内容
425
-
426
- # 执行流程
427
- 1. **收集项目信息**(必须步骤)
428
- - 使用 glob + read_file 阅读 README.md、设计文档
429
- - 使用 bash + glob 了解代码结构和依赖
430
- - 回顾现有项目记忆
431
-
432
- 2. 理解现有项目记忆
433
- 3. 根据用户指导确定提炼重点
434
- 4. 分析提炼新知识
435
- 5. 整合新旧知识,生成完整的项目记忆
436
- 6. 使用 record_memory({ scope: "project", mode: "overwrite", content, title }) 写入
437
-
438
- # 输出要求
439
- 直接调用 record_memory 工具,写入新的项目记忆。
440
- 输出格式为 Markdown,保持结构清晰。`,
441
-
442
- "global-memory": `# 角色
443
- 你是一个全局记忆管理专家,负责提炼跨项目的通用知识和用户偏好。
444
-
445
- # 你的职责
446
- 1. **用户画像**:提炼用户的沟通风格、技术偏好、工作习惯
447
- 2. **目标追踪**:记录用户的长期目标、当前任务、进度
448
- 3. **通用规则**:提炼跨项目都适用的行为规范
449
- 4. **遗忘处理**:标记或移除不再相关的目标和信息
450
-
451
- # 全局记忆内容类型
452
- - 用户偏好:沟通风格(简洁/详细)、反馈偏好、决策风格
453
- - 技术倾向:偏好的技术栈、框架、语言、开发工具
454
- - 工作习惯:工作时间、专注周期、偏好时段
455
- - 当前目标:正在进行的事项、短期目标(1-3月)
456
- - 长期愿景:大方向、战略目标、人生阶段
457
- - 跨项目规范:所有项目都遵循的通用规则
458
-
459
- # 提炼原则
460
- 1. **以用户为中心**:关注用户怎么说、怎么想,不只是做什么
461
- 2. **目标导向**:区分已完成、进行中、计划中
462
- 3. **可操作性**:偏好要具体,如"用户喜欢先看结论"而非"用户很忙"
463
- 4. **时间敏感**:标记有时间限制的目标
464
-
465
- # 用户指导
466
- {USER_REQUIREMENT}
467
-
468
- # 作用域
469
- {SCOPE}
470
-
471
- # 现有全局记忆
472
- {CURRENT_MEMORY}
473
-
474
- # 可用工具
475
- - search_sessions(query, session_id?, limit?): 搜索会话历史
476
- - get_session(session_id): 获取指定会话
477
- - record_memory({ scope, mode, content, title }): 写入记忆文件
478
-
479
- # 执行流程
480
- 1. 理解现有全局记忆
481
- 2. 根据用户指导确定提炼重点
482
- 3. 使用工具搜索相关会话历史
483
- 4. 分析提炼新知识
484
- 5. 整合新旧知识,生成完整的全局记忆
485
- 6. 使用 record_memory({ scope: "global", mode: "overwrite", content, title }) 写入
486
-
487
- # 输出要求
488
- 直接调用 record_memory 工具,写入新的全局记忆。
489
- 输出格式为 Markdown,保持结构清晰。`,
490
- } as const;
491
-
492
- /**
493
- * 获取所有内置 prompt 名称
494
- */
495
- export function getBuiltInPromptNames(): string[] {
496
- return Object.keys(builtInPrompts);
497
- }
498
-
499
- /**
500
- * 获取指定名称的内置 prompt
501
- */
502
- export function getBuiltInPrompt(name: string): string | undefined {
503
- return builtInPrompts[name as keyof typeof builtInPrompts];
504
- }
@@ -1,67 +0,0 @@
1
- /**
2
- * @fileoverview Prompt Renderer - 模板变量替换
3
- */
4
-
5
- export interface RenderOptions {
6
- prefix: string;
7
- suffix: string;
8
- strict: boolean;
9
- onMissingVariable?: (name: string) => string;
10
- }
11
-
12
- export class PromptRenderer {
13
- constructor(private options: RenderOptions) {}
14
-
15
- /**
16
- * 渲染模板,替换变量
17
- */
18
- render(template: string, variables: Record<string, string>): string {
19
- const { prefix, suffix, strict, onMissingVariable } = this.options;
20
-
21
- const regex = new RegExp(
22
- `${escapeRegex(prefix)}(.*?)${escapeRegex(suffix)}`,
23
- "g"
24
- );
25
-
26
- return template.replace(regex, (match, varName) => {
27
- const key = varName.trim();
28
-
29
- if (key in variables) {
30
- return variables[key];
31
- }
32
-
33
- if (strict) {
34
- throw new Error(`Missing required variable: ${key}`);
35
- }
36
-
37
- if (onMissingVariable) {
38
- return onMissingVariable(key);
39
- }
40
-
41
- // 默认:保留原标记
42
- return match;
43
- });
44
- }
45
-
46
- /**
47
- * 提取模板中的变量名列表
48
- */
49
- extractVariables(template: string): string[] {
50
- const { prefix, suffix } = this.options;
51
- const regex = new RegExp(
52
- `${escapeRegex(prefix)}(.*?)${escapeRegex(suffix)}`,
53
- "g"
54
- );
55
-
56
- const vars: string[] = [];
57
- let match;
58
- while ((match = regex.exec(template)) !== null) {
59
- vars.push(match[1].trim());
60
- }
61
- return [...new Set(vars)];
62
- }
63
- }
64
-
65
- function escapeRegex(str: string): string {
66
- return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
67
- }
@@ -1,136 +0,0 @@
1
- /**
2
- * @fileoverview PromptComponent Types
3
- */
4
-
5
- import { z } from "zod";
6
-
7
- // ============================================================================
8
- // Config Schema
9
- // ============================================================================
10
-
11
- /**
12
- * 单个 Prompt 路径配置(外部加载)
13
- */
14
- export const PromptPathSchema = z.object({
15
- /** 路径类型 */
16
- type: z.enum(["file", "directory"]),
17
-
18
- /** 路径 */
19
- path: z.string(),
20
-
21
- /** 名称(可选,用于覆盖文件名校验) */
22
- name: z.string().optional(),
23
-
24
- /** 是否递归加载子目录(仅 directory 类型) */
25
- recursive: z.boolean().default(true),
26
-
27
- /** 文件扩展名过滤(仅 directory 类型) */
28
- extension: z.string().default(".md"),
29
- });
30
-
31
- export type PromptPath = z.infer<typeof PromptPathSchema>;
32
-
33
- /**
34
- * PromptComponent 配置 Schema
35
- */
36
- export const PromptConfigSchema = z.object({
37
- /** 外部 Prompt 路径列表(可选) */
38
- promptPaths: z.array(PromptPathSchema).default([]),
39
-
40
- /** 默认 prompt 名称 */
41
- defaultName: z.string().default("default"),
42
-
43
- /** 变量前缀 */
44
- variablePrefix: z.string().default("{{"),
45
-
46
- /** 变量后缀 */
47
- variableSuffix: z.string().default("}}"),
48
-
49
- /** 严格模式:变量未定义时报错 */
50
- strictMode: z.boolean().default(false),
51
- });
52
-
53
- export type PromptConfig = z.infer<typeof PromptConfigSchema>;
54
-
55
- // ============================================================================
56
- // Prompt Entity
57
- // ============================================================================
58
-
59
- /**
60
- * Prompt 来源类型
61
- */
62
- export type PromptSource = "built-in" | "file" | "directory" | "inline";
63
-
64
- /**
65
- * Prompt 条目
66
- */
67
- export interface PromptEntry {
68
- /** 唯一名称 */
69
- name: string;
70
-
71
- /** Prompt 内容 */
72
- content: string;
73
-
74
- /** 来源 */
75
- source: PromptSource;
76
-
77
- /** 原始文件路径 */
78
- filePath?: string;
79
-
80
- /** 是否可覆盖(内置 prompt 不可覆盖) */
81
- overridable: boolean;
82
-
83
- /** 加载时间 */
84
- loadedAt: number;
85
- }
86
-
87
- // ============================================================================
88
- // Hooks
89
- // ============================================================================
90
-
91
- /**
92
- * Prompt Hook 点常量
93
- */
94
- export const PromptHookPoints = {
95
- BEFORE_RENDER: "prompt.before-render",
96
- AFTER_RENDER: "prompt.after-render",
97
- } as const;
98
-
99
- /**
100
- * Prompt Hook 上下文(用于统一 Hook 系统)
101
- */
102
- export interface PromptHookContext {
103
- /** Prompt 名称 */
104
- name: string;
105
-
106
- /** 原始内容 */
107
- originalContent: string;
108
-
109
- /** 渲染后的内容(after hook 可修改) */
110
- renderedContent: string;
111
-
112
- /** 渲染变量 */
113
- variables: Record<string, string>;
114
- }
115
-
116
- /**
117
- * Render Hook 上下文(别名,保持向后兼容)
118
- */
119
- export type RenderHookContext = PromptHookContext;
120
-
121
- /**
122
- * Prompt Hook(使用统一 Hook 接口)
123
- */
124
- export interface PromptHook {
125
- name: string;
126
- priority?: number;
127
- execute(ctx: { data: PromptHookContext; phase: "before" | "after" }): void | Promise<void>;
128
- }
129
-
130
- /**
131
- * Prompt Hook Map(保持向后兼容)
132
- */
133
- export type PromptHookMap = {
134
- "before.render"?: PromptHook[];
135
- "after.render"?: PromptHook[];
136
- };