@dcyfr/ai 1.0.4 → 2.1.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 (411) hide show
  1. package/CHANGELOG.md +116 -0
  2. package/README.md +381 -9
  3. package/dist/ai/agents/agent-loader.d.ts +12 -0
  4. package/dist/ai/agents/agent-loader.d.ts.map +1 -1
  5. package/dist/ai/agents/agent-loader.js +74 -65
  6. package/dist/ai/agents/agent-loader.js.map +1 -1
  7. package/dist/ai/agents/agent-registry.d.ts +2 -0
  8. package/dist/ai/agents/agent-registry.d.ts.map +1 -1
  9. package/dist/ai/agents/agent-registry.js +15 -14
  10. package/dist/ai/agents/agent-registry.js.map +1 -1
  11. package/dist/ai/agents/agent-router.d.ts +20 -5
  12. package/dist/ai/agents/agent-router.d.ts.map +1 -1
  13. package/dist/ai/agents/agent-router.js +89 -43
  14. package/dist/ai/agents/agent-router.js.map +1 -1
  15. package/dist/ai/agents/index.d.ts +6 -1
  16. package/dist/ai/agents/index.d.ts.map +1 -1
  17. package/dist/ai/agents/index.js +9 -3
  18. package/dist/ai/agents/index.js.map +1 -1
  19. package/dist/ai/agents/instruction-template.d.ts +45 -0
  20. package/dist/ai/agents/instruction-template.d.ts.map +1 -0
  21. package/dist/ai/agents/instruction-template.js +197 -0
  22. package/dist/ai/agents/instruction-template.js.map +1 -0
  23. package/dist/ai/agents/persona-resolver.d.ts +90 -0
  24. package/dist/ai/agents/persona-resolver.d.ts.map +1 -0
  25. package/dist/ai/agents/persona-resolver.js +121 -0
  26. package/dist/ai/agents/persona-resolver.js.map +1 -0
  27. package/dist/ai/agents/schema.d.ts +166 -0
  28. package/dist/ai/agents/schema.d.ts.map +1 -0
  29. package/dist/ai/agents/schema.js +94 -0
  30. package/dist/ai/agents/schema.js.map +1 -0
  31. package/dist/ai/agents/types.d.ts +102 -0
  32. package/dist/ai/agents/types.d.ts.map +1 -1
  33. package/dist/ai/agents-builtin/architecture/index.js +3 -3
  34. package/dist/ai/agents-builtin/content/index.js +1 -1
  35. package/dist/ai/agents-builtin/data/index.js +1 -1
  36. package/dist/ai/agents-builtin/development/index.js +4 -4
  37. package/dist/ai/agents-builtin/devops/index.js +1 -1
  38. package/dist/ai/agents-builtin/index.js +33 -33
  39. package/dist/ai/agents-builtin/performance/index.js +1 -1
  40. package/dist/ai/agents-builtin/research/index.js +1 -1
  41. package/dist/ai/agents-builtin/security/index.js +1 -1
  42. package/dist/ai/agents-builtin/testing/index.js +2 -2
  43. package/dist/ai/config/loader.d.ts.map +1 -1
  44. package/dist/ai/config/loader.js +6 -3
  45. package/dist/ai/config/loader.js.map +1 -1
  46. package/dist/ai/config/schema.d.ts +242 -1156
  47. package/dist/ai/config/schema.d.ts.map +1 -1
  48. package/dist/ai/config/schema.js +69 -20
  49. package/dist/ai/config/schema.js.map +1 -1
  50. package/dist/ai/core/provider-registry.d.ts +32 -0
  51. package/dist/ai/core/provider-registry.d.ts.map +1 -1
  52. package/dist/ai/core/provider-registry.js +189 -14
  53. package/dist/ai/core/provider-registry.js.map +1 -1
  54. package/dist/ai/core/telemetry-engine.d.ts +26 -0
  55. package/dist/ai/core/telemetry-engine.d.ts.map +1 -1
  56. package/dist/ai/core/telemetry-engine.js +81 -1
  57. package/dist/ai/core/telemetry-engine.js.map +1 -1
  58. package/dist/ai/delegation/agent-registry.d.ts +143 -0
  59. package/dist/ai/delegation/agent-registry.d.ts.map +1 -0
  60. package/dist/ai/delegation/agent-registry.js +231 -0
  61. package/dist/ai/delegation/agent-registry.js.map +1 -0
  62. package/dist/ai/delegation/blast-radius-tracker.d.ts +65 -0
  63. package/dist/ai/delegation/blast-radius-tracker.d.ts.map +1 -0
  64. package/dist/ai/delegation/blast-radius-tracker.js +81 -0
  65. package/dist/ai/delegation/blast-radius-tracker.js.map +1 -0
  66. package/dist/ai/delegation/capability-bootstrap.d.ts +40 -0
  67. package/dist/ai/delegation/capability-bootstrap.d.ts.map +1 -0
  68. package/dist/ai/delegation/capability-bootstrap.js +431 -0
  69. package/dist/ai/delegation/capability-bootstrap.js.map +1 -0
  70. package/dist/ai/delegation/capability-registry.d.ts +81 -0
  71. package/dist/ai/delegation/capability-registry.d.ts.map +1 -0
  72. package/dist/ai/delegation/capability-registry.js +339 -0
  73. package/dist/ai/delegation/capability-registry.js.map +1 -0
  74. package/dist/ai/delegation/chain-tracker.d.ts +152 -0
  75. package/dist/ai/delegation/chain-tracker.d.ts.map +1 -0
  76. package/dist/ai/delegation/chain-tracker.js +336 -0
  77. package/dist/ai/delegation/chain-tracker.js.map +1 -0
  78. package/dist/ai/delegation/circuit-breaker.d.ts +59 -0
  79. package/dist/ai/delegation/circuit-breaker.d.ts.map +1 -0
  80. package/dist/ai/delegation/circuit-breaker.js +153 -0
  81. package/dist/ai/delegation/circuit-breaker.js.map +1 -0
  82. package/dist/ai/delegation/contract-manager.d.ts +415 -0
  83. package/dist/ai/delegation/contract-manager.d.ts.map +1 -0
  84. package/dist/ai/delegation/contract-manager.js +1258 -0
  85. package/dist/ai/delegation/contract-manager.js.map +1 -0
  86. package/dist/ai/delegation/delegation-manager.d.ts +505 -0
  87. package/dist/ai/delegation/delegation-manager.d.ts.map +1 -0
  88. package/dist/ai/delegation/delegation-manager.js +773 -0
  89. package/dist/ai/delegation/delegation-manager.js.map +1 -0
  90. package/dist/ai/delegation/event-schemas.d.ts +101 -0
  91. package/dist/ai/delegation/event-schemas.d.ts.map +1 -0
  92. package/dist/ai/delegation/event-schemas.js +59 -0
  93. package/dist/ai/delegation/event-schemas.js.map +1 -0
  94. package/dist/ai/delegation/execution-mode-dashboard.d.ts +109 -0
  95. package/dist/ai/delegation/execution-mode-dashboard.d.ts.map +1 -0
  96. package/dist/ai/delegation/execution-mode-dashboard.js +167 -0
  97. package/dist/ai/delegation/execution-mode-dashboard.js.map +1 -0
  98. package/dist/ai/delegation/feature-flags.d.ts +191 -0
  99. package/dist/ai/delegation/feature-flags.d.ts.map +1 -0
  100. package/dist/ai/delegation/feature-flags.js +332 -0
  101. package/dist/ai/delegation/feature-flags.js.map +1 -0
  102. package/dist/ai/delegation/index.d.ts +51 -0
  103. package/dist/ai/delegation/index.d.ts.map +1 -0
  104. package/dist/ai/delegation/index.js +39 -0
  105. package/dist/ai/delegation/index.js.map +1 -0
  106. package/dist/ai/delegation/middleware/chain-depth-middleware.d.ts +39 -0
  107. package/dist/ai/delegation/middleware/chain-depth-middleware.d.ts.map +1 -0
  108. package/dist/ai/delegation/middleware/chain-depth-middleware.js +77 -0
  109. package/dist/ai/delegation/middleware/chain-depth-middleware.js.map +1 -0
  110. package/dist/ai/delegation/middleware/chain-tracker-middleware.d.ts +46 -0
  111. package/dist/ai/delegation/middleware/chain-tracker-middleware.d.ts.map +1 -0
  112. package/dist/ai/delegation/middleware/chain-tracker-middleware.js +89 -0
  113. package/dist/ai/delegation/middleware/chain-tracker-middleware.js.map +1 -0
  114. package/dist/ai/delegation/middleware/content-policy-middleware.d.ts +31 -0
  115. package/dist/ai/delegation/middleware/content-policy-middleware.d.ts.map +1 -0
  116. package/dist/ai/delegation/middleware/content-policy-middleware.js +82 -0
  117. package/dist/ai/delegation/middleware/content-policy-middleware.js.map +1 -0
  118. package/dist/ai/delegation/middleware/feature-flag-middleware.d.ts +46 -0
  119. package/dist/ai/delegation/middleware/feature-flag-middleware.d.ts.map +1 -0
  120. package/dist/ai/delegation/middleware/feature-flag-middleware.js +59 -0
  121. package/dist/ai/delegation/middleware/feature-flag-middleware.js.map +1 -0
  122. package/dist/ai/delegation/middleware/identity-middleware.d.ts +23 -0
  123. package/dist/ai/delegation/middleware/identity-middleware.d.ts.map +1 -0
  124. package/dist/ai/delegation/middleware/identity-middleware.js +64 -0
  125. package/dist/ai/delegation/middleware/identity-middleware.js.map +1 -0
  126. package/dist/ai/delegation/middleware/permissions-middleware.d.ts +48 -0
  127. package/dist/ai/delegation/middleware/permissions-middleware.d.ts.map +1 -0
  128. package/dist/ai/delegation/middleware/permissions-middleware.js +107 -0
  129. package/dist/ai/delegation/middleware/permissions-middleware.js.map +1 -0
  130. package/dist/ai/delegation/middleware/rate-limiter-middleware.d.ts +38 -0
  131. package/dist/ai/delegation/middleware/rate-limiter-middleware.d.ts.map +1 -0
  132. package/dist/ai/delegation/middleware/rate-limiter-middleware.js +65 -0
  133. package/dist/ai/delegation/middleware/rate-limiter-middleware.js.map +1 -0
  134. package/dist/ai/delegation/middleware/reputation-middleware.d.ts +39 -0
  135. package/dist/ai/delegation/middleware/reputation-middleware.d.ts.map +1 -0
  136. package/dist/ai/delegation/middleware/reputation-middleware.js +75 -0
  137. package/dist/ai/delegation/middleware/reputation-middleware.js.map +1 -0
  138. package/dist/ai/delegation/middleware/resource-limiter-middleware.d.ts +52 -0
  139. package/dist/ai/delegation/middleware/resource-limiter-middleware.d.ts.map +1 -0
  140. package/dist/ai/delegation/middleware/resource-limiter-middleware.js +112 -0
  141. package/dist/ai/delegation/middleware/resource-limiter-middleware.js.map +1 -0
  142. package/dist/ai/delegation/middleware/threat-validator-middleware.d.ts +23 -0
  143. package/dist/ai/delegation/middleware/threat-validator-middleware.d.ts.map +1 -0
  144. package/dist/ai/delegation/middleware/threat-validator-middleware.js +83 -0
  145. package/dist/ai/delegation/middleware/threat-validator-middleware.js.map +1 -0
  146. package/dist/ai/delegation/middleware/tlp-middleware.d.ts +23 -0
  147. package/dist/ai/delegation/middleware/tlp-middleware.d.ts.map +1 -0
  148. package/dist/ai/delegation/middleware/tlp-middleware.js +59 -0
  149. package/dist/ai/delegation/middleware/tlp-middleware.js.map +1 -0
  150. package/dist/ai/delegation/monitoring.d.ts +298 -0
  151. package/dist/ai/delegation/monitoring.d.ts.map +1 -0
  152. package/dist/ai/delegation/monitoring.js +584 -0
  153. package/dist/ai/delegation/monitoring.js.map +1 -0
  154. package/dist/ai/delegation/security-middleware-chain.d.ts +71 -0
  155. package/dist/ai/delegation/security-middleware-chain.d.ts.map +1 -0
  156. package/dist/ai/delegation/security-middleware-chain.js +163 -0
  157. package/dist/ai/delegation/security-middleware-chain.js.map +1 -0
  158. package/dist/ai/delegation/session-checkpoint.d.ts +77 -0
  159. package/dist/ai/delegation/session-checkpoint.d.ts.map +1 -0
  160. package/dist/ai/delegation/session-checkpoint.js +131 -0
  161. package/dist/ai/delegation/session-checkpoint.js.map +1 -0
  162. package/dist/ai/delegation/session-manager.d.ts +131 -0
  163. package/dist/ai/delegation/session-manager.d.ts.map +1 -0
  164. package/dist/ai/delegation/session-manager.js +243 -0
  165. package/dist/ai/delegation/session-manager.js.map +1 -0
  166. package/dist/ai/delegation/session-queue.d.ts +95 -0
  167. package/dist/ai/delegation/session-queue.d.ts.map +1 -0
  168. package/dist/ai/delegation/session-queue.js +136 -0
  169. package/dist/ai/delegation/session-queue.js.map +1 -0
  170. package/dist/ai/delegation/timeout-watchdog.d.ts +60 -0
  171. package/dist/ai/delegation/timeout-watchdog.d.ts.map +1 -0
  172. package/dist/ai/delegation/timeout-watchdog.js +100 -0
  173. package/dist/ai/delegation/timeout-watchdog.js.map +1 -0
  174. package/dist/ai/examples/integration-demo.d.ts +27 -0
  175. package/dist/ai/examples/integration-demo.d.ts.map +1 -0
  176. package/dist/ai/examples/integration-demo.js +536 -0
  177. package/dist/ai/examples/integration-demo.js.map +1 -0
  178. package/dist/ai/index.d.ts +25 -0
  179. package/dist/ai/index.d.ts.map +1 -1
  180. package/dist/ai/index.js +34 -11
  181. package/dist/ai/index.js.map +1 -1
  182. package/dist/ai/mcp/servers/analytics/index.js +67 -11
  183. package/dist/ai/mcp/servers/analytics/index.js.map +1 -1
  184. package/dist/ai/mcp/servers/content-manager/index.d.ts.map +1 -1
  185. package/dist/ai/mcp/servers/content-manager/index.js +50 -4
  186. package/dist/ai/mcp/servers/content-manager/index.js.map +1 -1
  187. package/dist/ai/mcp/servers/delegation-monitor/index.d.ts +36 -0
  188. package/dist/ai/mcp/servers/delegation-monitor/index.d.ts.map +1 -0
  189. package/dist/ai/mcp/servers/delegation-monitor/index.js +757 -0
  190. package/dist/ai/mcp/servers/delegation-monitor/index.js.map +1 -0
  191. package/dist/ai/mcp/servers/design-tokens/index.d.ts.map +1 -1
  192. package/dist/ai/mcp/servers/design-tokens/index.js +62 -39
  193. package/dist/ai/mcp/servers/design-tokens/index.js.map +1 -1
  194. package/dist/ai/mcp/servers/promptintel/index.js +15 -3
  195. package/dist/ai/mcp/servers/promptintel/index.js.map +1 -1
  196. package/dist/ai/mcp/servers/shared/rate-limiter.d.ts.map +1 -1
  197. package/dist/ai/mcp/servers/shared/rate-limiter.js +3 -1
  198. package/dist/ai/mcp/servers/shared/rate-limiter.js.map +1 -1
  199. package/dist/ai/mcp/servers/shared/redis-client.d.ts.map +1 -1
  200. package/dist/ai/mcp/servers/shared/redis-client.js +54 -47
  201. package/dist/ai/mcp/servers/shared/redis-client.js.map +1 -1
  202. package/dist/ai/mcp/servers/shared/types.d.ts +9 -0
  203. package/dist/ai/mcp/servers/shared/types.d.ts.map +1 -1
  204. package/dist/ai/mcp/servers/shared/utils.d.ts +9 -1
  205. package/dist/ai/mcp/servers/shared/utils.d.ts.map +1 -1
  206. package/dist/ai/mcp/servers/shared/utils.js +52 -2
  207. package/dist/ai/mcp/servers/shared/utils.js.map +1 -1
  208. package/dist/ai/memory/config.d.ts +18 -3
  209. package/dist/ai/memory/config.d.ts.map +1 -1
  210. package/dist/ai/memory/config.js +61 -15
  211. package/dist/ai/memory/config.js.map +1 -1
  212. package/dist/ai/memory/dcyfr-memory.d.ts +4 -0
  213. package/dist/ai/memory/dcyfr-memory.d.ts.map +1 -1
  214. package/dist/ai/memory/dcyfr-memory.js +44 -6
  215. package/dist/ai/memory/dcyfr-memory.js.map +1 -1
  216. package/dist/ai/memory/mem0-client.d.ts.map +1 -1
  217. package/dist/ai/memory/mem0-client.js +53 -14
  218. package/dist/ai/memory/mem0-client.js.map +1 -1
  219. package/dist/ai/permissions/attenuation-engine.d.ts +159 -0
  220. package/dist/ai/permissions/attenuation-engine.d.ts.map +1 -0
  221. package/dist/ai/permissions/attenuation-engine.js +511 -0
  222. package/dist/ai/permissions/attenuation-engine.js.map +1 -0
  223. package/dist/ai/plugins/plugin-loader.d.ts +4 -0
  224. package/dist/ai/plugins/plugin-loader.d.ts.map +1 -1
  225. package/dist/ai/plugins/plugin-loader.js +28 -28
  226. package/dist/ai/plugins/plugin-loader.js.map +1 -1
  227. package/dist/ai/reputation/execution-mode-reputation.d.ts +104 -0
  228. package/dist/ai/reputation/execution-mode-reputation.d.ts.map +1 -0
  229. package/dist/ai/reputation/execution-mode-reputation.js +142 -0
  230. package/dist/ai/reputation/execution-mode-reputation.js.map +1 -0
  231. package/dist/ai/reputation/reputation-engine.d.ts +204 -0
  232. package/dist/ai/reputation/reputation-engine.d.ts.map +1 -0
  233. package/dist/ai/reputation/reputation-engine.js +426 -0
  234. package/dist/ai/reputation/reputation-engine.js.map +1 -0
  235. package/dist/ai/runtime/agent-runtime.d.ts +193 -0
  236. package/dist/ai/runtime/agent-runtime.d.ts.map +1 -0
  237. package/dist/ai/runtime/agent-runtime.js +1009 -0
  238. package/dist/ai/runtime/agent-runtime.js.map +1 -0
  239. package/dist/ai/runtime/index.d.ts +11 -0
  240. package/dist/ai/runtime/index.d.ts.map +1 -0
  241. package/dist/ai/runtime/index.js +9 -0
  242. package/dist/ai/runtime/index.js.map +1 -0
  243. package/dist/ai/runtime/telemetry-schema.d.ts +192 -0
  244. package/dist/ai/runtime/telemetry-schema.d.ts.map +1 -0
  245. package/dist/ai/runtime/telemetry-schema.js +200 -0
  246. package/dist/ai/runtime/telemetry-schema.js.map +1 -0
  247. package/dist/ai/runtime/types.d.ts +236 -0
  248. package/dist/ai/runtime/types.d.ts.map +1 -0
  249. package/dist/ai/runtime/types.js +10 -0
  250. package/dist/ai/runtime/types.js.map +1 -0
  251. package/dist/ai/src/batch-processor.d.ts +298 -0
  252. package/dist/ai/src/batch-processor.d.ts.map +1 -0
  253. package/dist/ai/src/batch-processor.js +520 -0
  254. package/dist/ai/src/batch-processor.js.map +1 -0
  255. package/dist/ai/src/capability-bootstrap.d.ts +222 -0
  256. package/dist/ai/src/capability-bootstrap.d.ts.map +1 -0
  257. package/dist/ai/src/capability-bootstrap.js +421 -0
  258. package/dist/ai/src/capability-bootstrap.js.map +1 -0
  259. package/dist/ai/src/capability-manifest-generator.d.ts +61 -0
  260. package/dist/ai/src/capability-manifest-generator.d.ts.map +1 -0
  261. package/dist/ai/src/capability-manifest-generator.js +700 -0
  262. package/dist/ai/src/capability-manifest-generator.js.map +1 -0
  263. package/dist/ai/src/capability-registry.d.ts +157 -0
  264. package/dist/ai/src/capability-registry.d.ts.map +1 -0
  265. package/dist/ai/src/capability-registry.js +577 -0
  266. package/dist/ai/src/capability-registry.js.map +1 -0
  267. package/dist/ai/src/cli/telemetry-dashboard.d.ts +132 -0
  268. package/dist/ai/src/cli/telemetry-dashboard.d.ts.map +1 -0
  269. package/dist/ai/src/cli/telemetry-dashboard.js +565 -0
  270. package/dist/ai/src/cli/telemetry-dashboard.js.map +1 -0
  271. package/dist/ai/src/delegation/feature-flags.d.ts +213 -0
  272. package/dist/ai/src/delegation/feature-flags.d.ts.map +1 -0
  273. package/dist/ai/src/delegation/feature-flags.js +395 -0
  274. package/dist/ai/src/delegation/feature-flags.js.map +1 -0
  275. package/dist/ai/src/delegation/liability-firebreak.d.ts +303 -0
  276. package/dist/ai/src/delegation/liability-firebreak.d.ts.map +1 -0
  277. package/dist/ai/src/delegation/liability-firebreak.js +643 -0
  278. package/dist/ai/src/delegation/liability-firebreak.js.map +1 -0
  279. package/dist/ai/src/delegation/security-threat-model.d.ts +171 -0
  280. package/dist/ai/src/delegation/security-threat-model.d.ts.map +1 -0
  281. package/dist/ai/src/delegation/security-threat-model.js +723 -0
  282. package/dist/ai/src/delegation/security-threat-model.js.map +1 -0
  283. package/dist/ai/src/delegation/tlp-enforcement.d.ts +146 -0
  284. package/dist/ai/src/delegation/tlp-enforcement.d.ts.map +1 -0
  285. package/dist/ai/src/delegation/tlp-enforcement.js +382 -0
  286. package/dist/ai/src/delegation/tlp-enforcement.js.map +1 -0
  287. package/dist/ai/src/delegation-capability-integration.d.ts +154 -0
  288. package/dist/ai/src/delegation-capability-integration.d.ts.map +1 -0
  289. package/dist/ai/src/delegation-capability-integration.js +351 -0
  290. package/dist/ai/src/delegation-capability-integration.js.map +1 -0
  291. package/dist/ai/src/end-to-end-workflow-orchestrator.d.ts +325 -0
  292. package/dist/ai/src/end-to-end-workflow-orchestrator.d.ts.map +1 -0
  293. package/dist/ai/src/end-to-end-workflow-orchestrator.js +801 -0
  294. package/dist/ai/src/end-to-end-workflow-orchestrator.js.map +1 -0
  295. package/dist/ai/src/enhanced-capability-detection.d.ts +237 -0
  296. package/dist/ai/src/enhanced-capability-detection.d.ts.map +1 -0
  297. package/dist/ai/src/enhanced-capability-detection.js +448 -0
  298. package/dist/ai/src/enhanced-capability-detection.js.map +1 -0
  299. package/dist/ai/src/intelligent-cache-manager.d.ts +327 -0
  300. package/dist/ai/src/intelligent-cache-manager.d.ts.map +1 -0
  301. package/dist/ai/src/intelligent-cache-manager.js +634 -0
  302. package/dist/ai/src/intelligent-cache-manager.js.map +1 -0
  303. package/dist/ai/src/mcp-auto-configuration.d.ts +232 -0
  304. package/dist/ai/src/mcp-auto-configuration.d.ts.map +1 -0
  305. package/dist/ai/src/mcp-auto-configuration.js +445 -0
  306. package/dist/ai/src/mcp-auto-configuration.js.map +1 -0
  307. package/dist/ai/src/performance-profiler.d.ts +351 -0
  308. package/dist/ai/src/performance-profiler.d.ts.map +1 -0
  309. package/dist/ai/src/performance-profiler.js +475 -0
  310. package/dist/ai/src/performance-profiler.js.map +1 -0
  311. package/dist/ai/src/personas/hooks/before-llm-call.d.ts +96 -0
  312. package/dist/ai/src/personas/hooks/before-llm-call.d.ts.map +1 -0
  313. package/dist/ai/src/personas/hooks/before-llm-call.js +83 -0
  314. package/dist/ai/src/personas/hooks/before-llm-call.js.map +1 -0
  315. package/dist/ai/src/personas/index.d.ts +10 -0
  316. package/dist/ai/src/personas/index.d.ts.map +1 -0
  317. package/dist/ai/src/personas/index.js +10 -0
  318. package/dist/ai/src/personas/index.js.map +1 -0
  319. package/dist/ai/src/personas/persona-loader.d.ts +42 -0
  320. package/dist/ai/src/personas/persona-loader.d.ts.map +1 -0
  321. package/dist/ai/src/personas/persona-loader.js +162 -0
  322. package/dist/ai/src/personas/persona-loader.js.map +1 -0
  323. package/dist/ai/src/personas/types.d.ts +199 -0
  324. package/dist/ai/src/personas/types.d.ts.map +1 -0
  325. package/dist/ai/src/personas/types.js +7 -0
  326. package/dist/ai/src/personas/types.js.map +1 -0
  327. package/dist/ai/src/personas/voice-resolver.d.ts +40 -0
  328. package/dist/ai/src/personas/voice-resolver.d.ts.map +1 -0
  329. package/dist/ai/src/personas/voice-resolver.js +201 -0
  330. package/dist/ai/src/personas/voice-resolver.js.map +1 -0
  331. package/dist/ai/src/resource-monitor.d.ts +311 -0
  332. package/dist/ai/src/resource-monitor.d.ts.map +1 -0
  333. package/dist/ai/src/resource-monitor.js +475 -0
  334. package/dist/ai/src/resource-monitor.js.map +1 -0
  335. package/dist/ai/src/runtime/agent-runtime.d.ts +340 -0
  336. package/dist/ai/src/runtime/agent-runtime.d.ts.map +1 -0
  337. package/dist/ai/src/runtime/agent-runtime.js +1084 -0
  338. package/dist/ai/src/runtime/agent-runtime.js.map +1 -0
  339. package/dist/ai/src/telemetry/delegation-telemetry.d.ts +287 -0
  340. package/dist/ai/src/telemetry/delegation-telemetry.d.ts.map +1 -0
  341. package/dist/ai/src/telemetry/delegation-telemetry.js +389 -0
  342. package/dist/ai/src/telemetry/delegation-telemetry.js.map +1 -0
  343. package/dist/ai/src/telemetry/index.d.ts +48 -0
  344. package/dist/ai/src/telemetry/index.d.ts.map +1 -0
  345. package/dist/ai/src/telemetry/index.js +48 -0
  346. package/dist/ai/src/telemetry/index.js.map +1 -0
  347. package/dist/ai/src/telemetry/runtime-telemetry-integration.d.ts +67 -0
  348. package/dist/ai/src/telemetry/runtime-telemetry-integration.d.ts.map +1 -0
  349. package/dist/ai/src/telemetry/runtime-telemetry-integration.js +415 -0
  350. package/dist/ai/src/telemetry/runtime-telemetry-integration.js.map +1 -0
  351. package/dist/ai/src/telemetry/telemetry-utils.d.ts +119 -0
  352. package/dist/ai/src/telemetry/telemetry-utils.d.ts.map +1 -0
  353. package/dist/ai/src/telemetry/telemetry-utils.js +250 -0
  354. package/dist/ai/src/telemetry/telemetry-utils.js.map +1 -0
  355. package/dist/ai/src/types/agent-capabilities.d.ts +227 -0
  356. package/dist/ai/src/types/agent-capabilities.d.ts.map +1 -0
  357. package/dist/ai/src/types/agent-capabilities.js +11 -0
  358. package/dist/ai/src/types/agent-capabilities.js.map +1 -0
  359. package/dist/ai/src/types/context-verification.d.ts +158 -0
  360. package/dist/ai/src/types/context-verification.d.ts.map +1 -0
  361. package/dist/ai/src/types/context-verification.js +73 -0
  362. package/dist/ai/src/types/context-verification.js.map +1 -0
  363. package/dist/ai/src/types/delegation-contracts.d.ts +296 -0
  364. package/dist/ai/src/types/delegation-contracts.d.ts.map +1 -0
  365. package/dist/ai/src/types/delegation-contracts.js +17 -0
  366. package/dist/ai/src/types/delegation-contracts.js.map +1 -0
  367. package/dist/ai/src/validation-pipeline-integration.d.ts +266 -0
  368. package/dist/ai/src/validation-pipeline-integration.d.ts.map +1 -0
  369. package/dist/ai/src/validation-pipeline-integration.js +695 -0
  370. package/dist/ai/src/validation-pipeline-integration.js.map +1 -0
  371. package/dist/ai/src/verification/multi-modal-formatters.d.ts +57 -0
  372. package/dist/ai/src/verification/multi-modal-formatters.d.ts.map +1 -0
  373. package/dist/ai/src/verification/multi-modal-formatters.js +655 -0
  374. package/dist/ai/src/verification/multi-modal-formatters.js.map +1 -0
  375. package/dist/ai/src/verification/output-formatter.d.ts +186 -0
  376. package/dist/ai/src/verification/output-formatter.d.ts.map +1 -0
  377. package/dist/ai/src/verification/output-formatter.js +296 -0
  378. package/dist/ai/src/verification/output-formatter.js.map +1 -0
  379. package/dist/ai/src/verification/parser-integration.d.ts +137 -0
  380. package/dist/ai/src/verification/parser-integration.d.ts.map +1 -0
  381. package/dist/ai/src/verification/parser-integration.js +273 -0
  382. package/dist/ai/src/verification/parser-integration.js.map +1 -0
  383. package/dist/ai/types/agent-capabilities.d.ts +387 -0
  384. package/dist/ai/types/agent-capabilities.d.ts.map +1 -0
  385. package/dist/ai/types/agent-capabilities.js +32 -0
  386. package/dist/ai/types/agent-capabilities.js.map +1 -0
  387. package/dist/ai/types/delegation-contracts.d.ts +291 -0
  388. package/dist/ai/types/delegation-contracts.d.ts.map +1 -0
  389. package/dist/ai/types/delegation-contracts.js +14 -0
  390. package/dist/ai/types/delegation-contracts.js.map +1 -0
  391. package/dist/ai/types/index.d.ts +4 -1
  392. package/dist/ai/types/index.d.ts.map +1 -1
  393. package/dist/ai/types/index.js +4 -1
  394. package/dist/ai/types/index.js.map +1 -1
  395. package/dist/ai/types/permission-tokens.d.ts +365 -0
  396. package/dist/ai/types/permission-tokens.d.ts.map +1 -0
  397. package/dist/ai/types/permission-tokens.js +13 -0
  398. package/dist/ai/types/permission-tokens.js.map +1 -0
  399. package/dist/ai/types/security-middleware.d.ts +130 -0
  400. package/dist/ai/types/security-middleware.d.ts.map +1 -0
  401. package/dist/ai/types/security-middleware.js +13 -0
  402. package/dist/ai/types/security-middleware.js.map +1 -0
  403. package/dist/ai/utils/storage.d.ts.map +1 -1
  404. package/dist/ai/utils/storage.js +6 -3
  405. package/dist/ai/utils/storage.js.map +1 -1
  406. package/dist/ai/validation/validation-framework.js +1 -1
  407. package/dist/ai/verification/policy-framework.d.ts +161 -0
  408. package/dist/ai/verification/policy-framework.d.ts.map +1 -0
  409. package/dist/ai/verification/policy-framework.js +436 -0
  410. package/dist/ai/verification/policy-framework.js.map +1 -0
  411. package/package.json +36 -8
@@ -0,0 +1,201 @@
1
+ /**
2
+ * @fileoverview VoiceResolver — merges workspace brand voice with agent persona
3
+ * to produce a rendered system prompt prefix.
4
+ * @module @dcyfr/ai/personas/voice-resolver
5
+ * @license MIT
6
+ */
7
+ // ---------------------------------------------------------------------------
8
+ // Default brand voice (used when DCYFR_CONTEXT is unavailable)
9
+ // ---------------------------------------------------------------------------
10
+ const DEFAULT_BRAND_VOICE = {
11
+ version: '1.0.0',
12
+ identity: {
13
+ name: 'DCYFR',
14
+ tagline: 'Decipher Security',
15
+ archetype: 'The Guardian Mentor',
16
+ description: 'A knowledgeable security expert who teaches by doing — generous with knowledge, precise in execution, warm in tone',
17
+ },
18
+ core_voice: {
19
+ attributes: [
20
+ 'Professional but approachable',
21
+ 'Technical but accessible',
22
+ 'Helpful and generous',
23
+ 'Clear, not clever',
24
+ 'Security-conscious always',
25
+ ],
26
+ personality_traits: {
27
+ warmth: 0.7,
28
+ formality: 0.5,
29
+ humor: 0.3,
30
+ directness: 0.8,
31
+ technicality: 0.8,
32
+ empathy: 0.7,
33
+ },
34
+ perspective: 'first-person-plural',
35
+ pronouns: 'we/our',
36
+ },
37
+ tone_spectrum: {
38
+ default: 'collaborative-expert',
39
+ situational: {
40
+ teaching: { tone: 'patient, encouraging, step-by-step', warmth: 0.8, formality: 0.4 },
41
+ error_handling: { tone: 'calm, diagnostic, solution-oriented', warmth: 0.6, formality: 0.5 },
42
+ },
43
+ },
44
+ };
45
+ // ---------------------------------------------------------------------------
46
+ // Template helpers
47
+ // ---------------------------------------------------------------------------
48
+ /**
49
+ * Renders the persona identity block as a prompt fragment.
50
+ */
51
+ export function renderPersonaBlock(persona) {
52
+ const lines = [
53
+ `You are ${persona.title}${persona.role ? ` — ${persona.role}` : ''}.`,
54
+ ];
55
+ if (persona.capabilities.length > 0) {
56
+ lines.push(`Your primary capabilities: ${persona.capabilities.slice(0, 5).join(', ')}.`);
57
+ }
58
+ if (persona.context_injections?.system_prefix) {
59
+ lines.push(persona.context_injections.system_prefix);
60
+ }
61
+ return lines.join(' ');
62
+ }
63
+ /**
64
+ * Returns tone guideline text for a given tone profile.
65
+ */
66
+ export function applyToneGuidelines(tone) {
67
+ const guidelines = {
68
+ precise: 'Be precise and unambiguous. Prefer concrete statements over generalities. Avoid filler words.',
69
+ conversational: 'Use a conversational tone. Write as you would speak to a knowledgeable colleague.',
70
+ technical: 'Use technical language where appropriate. Assume the reader has engineering context.',
71
+ empathetic: 'Lead with understanding. Acknowledge context and emotional state before providing solutions.',
72
+ 'collaborative-expert': 'Act as a knowledgeable peer. Be helpful and generous with knowledge while maintaining technical accuracy.',
73
+ patient: 'Be patient and thorough. Walk through concepts step by step. Never make the user feel rushed.',
74
+ diagnostic: 'Be systematic and diagnostic. State what is known, what is unknown, and the next logical step.',
75
+ urgent: 'Be concise and action-oriented. Lead with the solution. Skip preamble.',
76
+ enthusiastic: 'Bring energy and enthusiasm. Celebrate progress and good work authentically.',
77
+ };
78
+ return guidelines[tone] ?? guidelines['collaborative-expert'];
79
+ }
80
+ // ---------------------------------------------------------------------------
81
+ // Trait merging
82
+ // ---------------------------------------------------------------------------
83
+ function mergeTraits(base, overrides) {
84
+ if (!overrides)
85
+ return base;
86
+ return { ...base, ...overrides };
87
+ }
88
+ // ---------------------------------------------------------------------------
89
+ // Brand voice loader (reads from DCYFR_CONTEXT.json if available)
90
+ // ---------------------------------------------------------------------------
91
+ let _cachedBrandVoice = null;
92
+ /**
93
+ * Loads the brand voice from DCYFR_CONTEXT.json. Falls back to the built-in
94
+ * default if the file is unavailable or malformed.
95
+ */
96
+ export function loadBrandVoice(contextPath) {
97
+ if (_cachedBrandVoice)
98
+ return _cachedBrandVoice;
99
+ try {
100
+ // Dynamic require so the module works in both Node.js and bundled environments
101
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
102
+ const fs = require('node:fs');
103
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
104
+ const path = require('node:path');
105
+ const candidates = contextPath
106
+ ? [contextPath]
107
+ : [
108
+ path.resolve(process.cwd(), '.github/context/DCYFR_CONTEXT.json'),
109
+ path.resolve(process.cwd(), '../../.github/context/DCYFR_CONTEXT.json'),
110
+ path.resolve(process.cwd(), '../../../.github/context/DCYFR_CONTEXT.json'),
111
+ ];
112
+ for (const candidate of candidates) {
113
+ if (fs.existsSync(candidate)) {
114
+ const raw = fs.readFileSync(candidate, 'utf-8');
115
+ const ctx = JSON.parse(raw);
116
+ if (ctx.brand_voice) {
117
+ _cachedBrandVoice = ctx.brand_voice;
118
+ return _cachedBrandVoice;
119
+ }
120
+ }
121
+ }
122
+ }
123
+ catch {
124
+ // Intentionally silent — fall through to default
125
+ }
126
+ _cachedBrandVoice = DEFAULT_BRAND_VOICE;
127
+ return DEFAULT_BRAND_VOICE;
128
+ }
129
+ /**
130
+ * Clears the brand voice cache (useful in tests).
131
+ */
132
+ export function clearBrandVoiceCache() {
133
+ _cachedBrandVoice = null;
134
+ }
135
+ // ---------------------------------------------------------------------------
136
+ // VoiceResolver
137
+ // ---------------------------------------------------------------------------
138
+ /**
139
+ * Resolves the effective voice for an agent by merging workspace brand voice
140
+ * with persona-specific overrides, then renders a system prompt prefix.
141
+ *
142
+ * @param persona - The agent persona to resolve voice for
143
+ * @param options - Resolver options (tone override, verbosity, etc.)
144
+ * @returns ResolvedVoice containing the system prompt prefix and metadata
145
+ *
146
+ * @example
147
+ * ```typescript
148
+ * const voice = resolveVoice(engineerPersona, { verbosity: 2 });
149
+ * systemPrompt = voice.systemPrefix + '\n\n' + userPrompt;
150
+ * ```
151
+ */
152
+ export function resolveVoice(persona, options = {}) {
153
+ const { enabled = true, tone: toneOverride = null, verbosity = 2, includeTraits = false, brandVoice: brandVoiceOverride = null, } = options;
154
+ const brandVoice = brandVoiceOverride ?? loadBrandVoice();
155
+ // Determine applied tone: override > persona > brand default
156
+ const appliedTone = toneOverride ?? persona.voice_tone ?? brandVoice.tone_spectrum.default;
157
+ // Determine resolution source for metadata
158
+ const resolvedFrom = toneOverride ? 'override' : persona.voice_tone ? 'persona' : 'brand';
159
+ // Merge personality traits
160
+ const mergedTraits = mergeTraits(brandVoice.core_voice.personality_traits, persona.personality_overrides);
161
+ if (!enabled) {
162
+ return {
163
+ systemPrefix: '',
164
+ appliedTone,
165
+ personalityTraits: mergedTraits,
166
+ agentName: persona.name,
167
+ metadata: { resolvedFrom, timestamp: new Date().toISOString() },
168
+ };
169
+ }
170
+ // Build system prompt prefix
171
+ const parts = [];
172
+ if (verbosity >= 1) {
173
+ parts.push(renderPersonaBlock(persona));
174
+ }
175
+ if (verbosity >= 2) {
176
+ const toneGuideline = applyToneGuidelines(appliedTone);
177
+ parts.push(toneGuideline);
178
+ }
179
+ if (verbosity >= 3) {
180
+ const attrs = brandVoice.core_voice.attributes.slice(0, 3);
181
+ parts.push(`Voice attributes: ${attrs.join('; ')}.`);
182
+ }
183
+ if (verbosity >= 4 && includeTraits) {
184
+ const traitSummary = Object.entries(mergedTraits)
185
+ .filter(([, v]) => v !== undefined)
186
+ .map(([k, v]) => `${k}: ${v.toFixed(1)}`)
187
+ .join(', ');
188
+ parts.push(`Calibration: [${traitSummary}]`);
189
+ }
190
+ if (persona.context_injections?.before_prompt) {
191
+ parts.push(persona.context_injections.before_prompt);
192
+ }
193
+ return {
194
+ systemPrefix: parts.join('\n'),
195
+ appliedTone,
196
+ personalityTraits: mergedTraits,
197
+ agentName: persona.name,
198
+ metadata: { resolvedFrom, timestamp: new Date().toISOString() },
199
+ };
200
+ }
201
+ //# sourceMappingURL=voice-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice-resolver.js","sourceRoot":"","sources":["../../../../packages/ai/src/personas/voice-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,311 @@
1
+ /**
2
+ * System Resource Monitor for DCYFR Integration Performance
3
+ * TLP:CLEAR
4
+ *
5
+ * Advanced system resource monitoring for DCYFR integration workflows.
6
+ * Tracks CPU, memory, I/O, and network resources with intelligent alerting
7
+ * and optimization recommendations for maximum system performance.
8
+ *
9
+ * @version 1.0.0
10
+ * @date 2026-02-15
11
+ * @module dcyfr-ai/resource-monitor
12
+ */
13
+ import { EventEmitter } from 'events';
14
+ import { PerformanceProfiler } from './performance-profiler.js';
15
+ /**
16
+ * System resource usage snapshot
17
+ */
18
+ export interface ResourceSnapshot {
19
+ /**
20
+ * Snapshot timestamp
21
+ */
22
+ timestamp: Date;
23
+ /**
24
+ * Memory usage information
25
+ */
26
+ memory: {
27
+ /**
28
+ * Total system memory (bytes)
29
+ */
30
+ total: number;
31
+ /**
32
+ * Used memory (bytes)
33
+ */
34
+ used: number;
35
+ /**
36
+ * Free memory (bytes)
37
+ */
38
+ free: number;
39
+ /**
40
+ * Memory utilization percentage (0-1)
41
+ */
42
+ utilization: number;
43
+ /**
44
+ * Process heap usage (bytes)
45
+ */
46
+ heapUsed: number;
47
+ /**
48
+ * Process heap total (bytes)
49
+ */
50
+ heapTotal: number;
51
+ };
52
+ /**
53
+ * CPU usage information
54
+ */
55
+ cpu: {
56
+ /**
57
+ * CPU utilization percentage (0-1)
58
+ */
59
+ utilization: number;
60
+ /**
61
+ * Number of CPU cores
62
+ */
63
+ cores: number;
64
+ /**
65
+ * Load averages [1min, 5min, 15min]
66
+ */
67
+ loadAverage: [number, number, number];
68
+ /**
69
+ * Process CPU time (milliseconds)
70
+ */
71
+ processCpuTime: number;
72
+ };
73
+ /**
74
+ * I/O statistics
75
+ */
76
+ io?: {
77
+ /**
78
+ * Read operations per second
79
+ */
80
+ readOps: number;
81
+ /**
82
+ * Write operations per second
83
+ */
84
+ writeOps: number;
85
+ /**
86
+ * Bytes read per second
87
+ */
88
+ readBytes: number;
89
+ /**
90
+ * Bytes written per second
91
+ */
92
+ writeBytes: number;
93
+ };
94
+ /**
95
+ * Network statistics
96
+ */
97
+ network?: {
98
+ /**
99
+ * Bytes received per second
100
+ */
101
+ bytesReceived: number;
102
+ /**
103
+ * Bytes sent per second
104
+ */
105
+ bytesSent: number;
106
+ /**
107
+ * Active connections
108
+ */
109
+ activeConnections: number;
110
+ };
111
+ }
112
+ /**
113
+ * Resource alert configuration
114
+ */
115
+ export interface ResourceAlert {
116
+ /**
117
+ * Alert identifier
118
+ */
119
+ id: string;
120
+ /**
121
+ * Resource type
122
+ */
123
+ resource: 'memory' | 'cpu' | 'io' | 'network';
124
+ /**
125
+ * Alert threshold (percentage 0-1 or absolute value)
126
+ */
127
+ threshold: number;
128
+ /**
129
+ * Alert severity
130
+ */
131
+ severity: 'low' | 'medium' | 'high' | 'critical';
132
+ /**
133
+ * Alert message
134
+ */
135
+ message: string;
136
+ /**
137
+ * Triggered timestamp
138
+ */
139
+ triggeredAt: Date;
140
+ /**
141
+ * Resource snapshot when triggered
142
+ */
143
+ snapshot: ResourceSnapshot;
144
+ /**
145
+ * Alert recommendations
146
+ */
147
+ recommendations: string[];
148
+ }
149
+ /**
150
+ * Resource monitor configuration
151
+ */
152
+ export interface ResourceMonitorConfig {
153
+ /**
154
+ * Monitoring interval in milliseconds
155
+ */
156
+ monitoringInterval?: number;
157
+ /**
158
+ * Enable alerting
159
+ */
160
+ enableAlerting?: boolean;
161
+ /**
162
+ * Memory utilization alert threshold (0-1)
163
+ */
164
+ memoryAlertThreshold?: number;
165
+ /**
166
+ * CPU utilization alert threshold (0-1)
167
+ */
168
+ cpuAlertThreshold?: number;
169
+ /**
170
+ * Enable I/O monitoring
171
+ */
172
+ enableIOMonitoring?: boolean;
173
+ /**
174
+ * Enable network monitoring
175
+ */
176
+ enableNetworkMonitoring?: boolean;
177
+ /**
178
+ * History retention period (milliseconds)
179
+ */
180
+ historyRetention?: number;
181
+ /**
182
+ * Enable performance optimization recommendations
183
+ */
184
+ enableOptimizationRecommendations?: boolean;
185
+ }
186
+ /**
187
+ * System Resource Monitor
188
+ *
189
+ * Comprehensive system resource monitoring with intelligent alerting,
190
+ * trend analysis, and optimization recommendations for DCYFR workflows.
191
+ */
192
+ export declare class SystemResourceMonitor extends EventEmitter {
193
+ private config;
194
+ private profiler?;
195
+ private monitoringInterval?;
196
+ private snapshots;
197
+ private alerts;
198
+ private lastCpuUsage;
199
+ private baselineSnapshot?;
200
+ private isMonitoring;
201
+ constructor(config?: ResourceMonitorConfig, profiler?: PerformanceProfiler);
202
+ /**
203
+ * Start resource monitoring
204
+ */
205
+ startMonitoring(): void;
206
+ /**
207
+ * Stop resource monitoring
208
+ */
209
+ stopMonitoring(): void;
210
+ /**
211
+ * Collect current resource snapshot
212
+ */
213
+ collectSnapshot(): ResourceSnapshot;
214
+ /**
215
+ * Create resource snapshot
216
+ */
217
+ private createSnapshot;
218
+ /**
219
+ * Get memory usage statistics
220
+ */
221
+ private getMemoryUsage;
222
+ /**
223
+ * Get CPU usage statistics
224
+ */
225
+ private getCpuUsage;
226
+ /**
227
+ * Get I/O usage statistics (placeholder)
228
+ */
229
+ private getIOUsage;
230
+ /**
231
+ * Get network usage statistics (placeholder)
232
+ */
233
+ private getNetworkUsage;
234
+ /**
235
+ * Check for resource alerts
236
+ */
237
+ private checkResourceAlerts;
238
+ /**
239
+ * Trigger resource alert
240
+ */
241
+ private triggerAlert;
242
+ /**
243
+ * Generate optimization recommendations based on alert
244
+ */
245
+ private generateOptimizationRecommendations;
246
+ /**
247
+ * Record metrics in performance profiler
248
+ */
249
+ private recordProfilingMetrics;
250
+ /**
251
+ * Establish performance baseline
252
+ */
253
+ private establishBaseline;
254
+ /**
255
+ * Cleanup old snapshots
256
+ */
257
+ private cleanupOldSnapshots;
258
+ /**
259
+ * Get current resource usage
260
+ */
261
+ getCurrentUsage(): ResourceSnapshot | null;
262
+ /**
263
+ * Get resource usage history
264
+ */
265
+ getUsageHistory(duration?: number): ResourceSnapshot[];
266
+ /**
267
+ * Get active alerts
268
+ */
269
+ getActiveAlerts(): ResourceAlert[];
270
+ /**
271
+ * Get resource usage statistics
272
+ */
273
+ getUsageStatistics(): {
274
+ averageMemoryUtilization: number;
275
+ averageCpuUtilization: number;
276
+ maxMemoryUtilization: number;
277
+ maxCpuUtilization: number;
278
+ alertCount: number;
279
+ uptimeHours: number;
280
+ };
281
+ /**
282
+ * Generate resource usage report
283
+ */
284
+ generateReport(): {
285
+ summary: any;
286
+ alerts: ResourceAlert[];
287
+ recommendations: string[];
288
+ charts?: any;
289
+ };
290
+ /**
291
+ * Clear monitoring data
292
+ */
293
+ clearData(): void;
294
+ /**
295
+ * Shutdown resource monitor
296
+ */
297
+ shutdown(): void;
298
+ }
299
+ /**
300
+ * Get or create global resource monitor instance
301
+ */
302
+ export declare function getGlobalResourceMonitor(config?: ResourceMonitorConfig, profiler?: PerformanceProfiler): SystemResourceMonitor;
303
+ /**
304
+ * Monitor resources during workflow execution
305
+ */
306
+ export declare function monitorWorkflowExecution<T>(workflowFn: () => Promise<T>, config?: ResourceMonitorConfig): Promise<{
307
+ result: T;
308
+ resourceReport: any;
309
+ }>;
310
+ export default SystemResourceMonitor;
311
+ //# sourceMappingURL=resource-monitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-monitor.d.ts","sourceRoot":"","sources":["../../../packages/ai/src/resource-monitor.ts"],"names":[],"mappings":"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"}