@burtson-labs/stealth-core-runtime 1.4.7

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 (415) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +46 -0
  3. package/dist/banditEngineProvider.d.ts +48 -0
  4. package/dist/banditEngineProvider.d.ts.map +1 -0
  5. package/dist/banditEngineProvider.js +1021 -0
  6. package/dist/banditEngineProvider.js.map +1 -0
  7. package/dist/embeddingCache.d.ts +23 -0
  8. package/dist/embeddingCache.d.ts.map +1 -0
  9. package/dist/embeddingCache.js +196 -0
  10. package/dist/embeddingCache.js.map +1 -0
  11. package/dist/embeddingClient.d.ts +35 -0
  12. package/dist/embeddingClient.d.ts.map +1 -0
  13. package/dist/embeddingClient.js +162 -0
  14. package/dist/embeddingClient.js.map +1 -0
  15. package/dist/executorAgent.d.ts +7 -0
  16. package/dist/executorAgent.d.ts.map +1 -0
  17. package/dist/executorAgent.js +95 -0
  18. package/dist/executorAgent.js.map +1 -0
  19. package/dist/extensionSystemPrompt.d.ts +80 -0
  20. package/dist/extensionSystemPrompt.d.ts.map +1 -0
  21. package/dist/extensionSystemPrompt.js +208 -0
  22. package/dist/extensionSystemPrompt.js.map +1 -0
  23. package/dist/gatewaySearchAdapter.d.ts +69 -0
  24. package/dist/gatewaySearchAdapter.d.ts.map +1 -0
  25. package/dist/gatewaySearchAdapter.js +131 -0
  26. package/dist/gatewaySearchAdapter.js.map +1 -0
  27. package/dist/goalInference.d.ts +26 -0
  28. package/dist/goalInference.d.ts.map +1 -0
  29. package/dist/goalInference.js +605 -0
  30. package/dist/goalInference.js.map +1 -0
  31. package/dist/hostTypes.d.ts +86 -0
  32. package/dist/hostTypes.d.ts.map +1 -0
  33. package/dist/hostTypes.js +3 -0
  34. package/dist/hostTypes.js.map +1 -0
  35. package/dist/index.d.ts +37 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +83 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/internalTypes.d.ts +16 -0
  40. package/dist/internalTypes.d.ts.map +1 -0
  41. package/dist/internalTypes.js +20 -0
  42. package/dist/internalTypes.js.map +1 -0
  43. package/dist/ollamaEmbeddingClient.d.ts +45 -0
  44. package/dist/ollamaEmbeddingClient.d.ts.map +1 -0
  45. package/dist/ollamaEmbeddingClient.js +143 -0
  46. package/dist/ollamaEmbeddingClient.js.map +1 -0
  47. package/dist/pdfjsShim.d.ts +2 -0
  48. package/dist/pdfjsShim.d.ts.map +1 -0
  49. package/dist/pdfjsShim.js +80 -0
  50. package/dist/pdfjsShim.js.map +1 -0
  51. package/dist/runtime/actionRuntime.d.ts +13 -0
  52. package/dist/runtime/actionRuntime.d.ts.map +1 -0
  53. package/dist/runtime/actionRuntime.js +15 -0
  54. package/dist/runtime/actionRuntime.js.map +1 -0
  55. package/dist/runtime/actionServices.d.ts +72 -0
  56. package/dist/runtime/actionServices.d.ts.map +1 -0
  57. package/dist/runtime/actionServices.js +53 -0
  58. package/dist/runtime/actionServices.js.map +1 -0
  59. package/dist/runtime/adapters/connectorBus.d.ts +9 -0
  60. package/dist/runtime/adapters/connectorBus.d.ts.map +1 -0
  61. package/dist/runtime/adapters/connectorBus.js +20 -0
  62. package/dist/runtime/adapters/connectorBus.js.map +1 -0
  63. package/dist/runtime/adapters/fsAdapter.d.ts +6 -0
  64. package/dist/runtime/adapters/fsAdapter.d.ts.map +1 -0
  65. package/dist/runtime/adapters/fsAdapter.js +144 -0
  66. package/dist/runtime/adapters/fsAdapter.js.map +1 -0
  67. package/dist/runtime/adapters/llmAdapter.d.ts +4 -0
  68. package/dist/runtime/adapters/llmAdapter.d.ts.map +1 -0
  69. package/dist/runtime/adapters/llmAdapter.js +12 -0
  70. package/dist/runtime/adapters/llmAdapter.js.map +1 -0
  71. package/dist/runtime/adapters/shellAdapter.d.ts +6 -0
  72. package/dist/runtime/adapters/shellAdapter.d.ts.map +1 -0
  73. package/dist/runtime/adapters/shellAdapter.js +118 -0
  74. package/dist/runtime/adapters/shellAdapter.js.map +1 -0
  75. package/dist/runtime/additionalWrites.d.ts +22 -0
  76. package/dist/runtime/additionalWrites.d.ts.map +1 -0
  77. package/dist/runtime/additionalWrites.js +148 -0
  78. package/dist/runtime/additionalWrites.js.map +1 -0
  79. package/dist/runtime/artifactManager.d.ts +32 -0
  80. package/dist/runtime/artifactManager.d.ts.map +1 -0
  81. package/dist/runtime/artifactManager.js +154 -0
  82. package/dist/runtime/artifactManager.js.map +1 -0
  83. package/dist/runtime/autoHealer.d.ts +27 -0
  84. package/dist/runtime/autoHealer.d.ts.map +1 -0
  85. package/dist/runtime/autoHealer.js +583 -0
  86. package/dist/runtime/autoHealer.js.map +1 -0
  87. package/dist/runtime/changeTracker.d.ts +20 -0
  88. package/dist/runtime/changeTracker.d.ts.map +1 -0
  89. package/dist/runtime/changeTracker.js +147 -0
  90. package/dist/runtime/changeTracker.js.map +1 -0
  91. package/dist/runtime/contextBuilder.d.ts +85 -0
  92. package/dist/runtime/contextBuilder.d.ts.map +1 -0
  93. package/dist/runtime/contextBuilder.js +159 -0
  94. package/dist/runtime/contextBuilder.js.map +1 -0
  95. package/dist/runtime/coreRuntime.d.ts +7 -0
  96. package/dist/runtime/coreRuntime.d.ts.map +1 -0
  97. package/dist/runtime/coreRuntime.js +173 -0
  98. package/dist/runtime/coreRuntime.js.map +1 -0
  99. package/dist/runtime/createStealthRuntime.d.ts +4 -0
  100. package/dist/runtime/createStealthRuntime.d.ts.map +1 -0
  101. package/dist/runtime/createStealthRuntime.js +514 -0
  102. package/dist/runtime/createStealthRuntime.js.map +1 -0
  103. package/dist/runtime/diagnostics.d.ts +53 -0
  104. package/dist/runtime/diagnostics.d.ts.map +1 -0
  105. package/dist/runtime/diagnostics.js +396 -0
  106. package/dist/runtime/diagnostics.js.map +1 -0
  107. package/dist/runtime/diagnosticsServices.d.ts +51 -0
  108. package/dist/runtime/diagnosticsServices.d.ts.map +1 -0
  109. package/dist/runtime/diagnosticsServices.js +46 -0
  110. package/dist/runtime/diagnosticsServices.js.map +1 -0
  111. package/dist/runtime/diffManager.d.ts +20 -0
  112. package/dist/runtime/diffManager.d.ts.map +1 -0
  113. package/dist/runtime/diffManager.js +172 -0
  114. package/dist/runtime/diffManager.js.map +1 -0
  115. package/dist/runtime/diffPresenter.d.ts +8 -0
  116. package/dist/runtime/diffPresenter.d.ts.map +1 -0
  117. package/dist/runtime/diffPresenter.js +57 -0
  118. package/dist/runtime/diffPresenter.js.map +1 -0
  119. package/dist/runtime/embeddingClientResolver.d.ts +14 -0
  120. package/dist/runtime/embeddingClientResolver.d.ts.map +1 -0
  121. package/dist/runtime/embeddingClientResolver.js +54 -0
  122. package/dist/runtime/embeddingClientResolver.js.map +1 -0
  123. package/dist/runtime/embeddingManager.d.ts +22 -0
  124. package/dist/runtime/embeddingManager.d.ts.map +1 -0
  125. package/dist/runtime/embeddingManager.js +224 -0
  126. package/dist/runtime/embeddingManager.js.map +1 -0
  127. package/dist/runtime/eventBus.d.ts +7 -0
  128. package/dist/runtime/eventBus.d.ts.map +1 -0
  129. package/dist/runtime/eventBus.js +28 -0
  130. package/dist/runtime/eventBus.js.map +1 -0
  131. package/dist/runtime/executorServices.d.ts +46 -0
  132. package/dist/runtime/executorServices.d.ts.map +1 -0
  133. package/dist/runtime/executorServices.js +47 -0
  134. package/dist/runtime/executorServices.js.map +1 -0
  135. package/dist/runtime/extractionService.d.ts +11 -0
  136. package/dist/runtime/extractionService.d.ts.map +1 -0
  137. package/dist/runtime/extractionService.js +282 -0
  138. package/dist/runtime/extractionService.js.map +1 -0
  139. package/dist/runtime/feedbackService.d.ts +12 -0
  140. package/dist/runtime/feedbackService.d.ts.map +1 -0
  141. package/dist/runtime/feedbackService.js +111 -0
  142. package/dist/runtime/feedbackService.js.map +1 -0
  143. package/dist/runtime/goalEngine.d.ts +10 -0
  144. package/dist/runtime/goalEngine.d.ts.map +1 -0
  145. package/dist/runtime/goalEngine.js +429 -0
  146. package/dist/runtime/goalEngine.js.map +1 -0
  147. package/dist/runtime/goalFlowServices.d.ts +49 -0
  148. package/dist/runtime/goalFlowServices.d.ts.map +1 -0
  149. package/dist/runtime/goalFlowServices.js +45 -0
  150. package/dist/runtime/goalFlowServices.js.map +1 -0
  151. package/dist/runtime/goalReplay.d.ts +33 -0
  152. package/dist/runtime/goalReplay.d.ts.map +1 -0
  153. package/dist/runtime/goalReplay.js +58 -0
  154. package/dist/runtime/goalReplay.js.map +1 -0
  155. package/dist/runtime/goalRunner.d.ts +35 -0
  156. package/dist/runtime/goalRunner.d.ts.map +1 -0
  157. package/dist/runtime/goalRunner.js +42 -0
  158. package/dist/runtime/goalRunner.js.map +1 -0
  159. package/dist/runtime/healingEngine.d.ts +72 -0
  160. package/dist/runtime/healingEngine.d.ts.map +1 -0
  161. package/dist/runtime/healingEngine.js +969 -0
  162. package/dist/runtime/healingEngine.js.map +1 -0
  163. package/dist/runtime/healingServices.d.ts +62 -0
  164. package/dist/runtime/healingServices.d.ts.map +1 -0
  165. package/dist/runtime/healingServices.js +45 -0
  166. package/dist/runtime/healingServices.js.map +1 -0
  167. package/dist/runtime/helpers.d.ts +22 -0
  168. package/dist/runtime/helpers.d.ts.map +1 -0
  169. package/dist/runtime/helpers.js +694 -0
  170. package/dist/runtime/helpers.js.map +1 -0
  171. package/dist/runtime/hosts/actionHost.d.ts +82 -0
  172. package/dist/runtime/hosts/actionHost.d.ts.map +1 -0
  173. package/dist/runtime/hosts/actionHost.js +61 -0
  174. package/dist/runtime/hosts/actionHost.js.map +1 -0
  175. package/dist/runtime/hosts/baseServices.d.ts +51 -0
  176. package/dist/runtime/hosts/baseServices.d.ts.map +1 -0
  177. package/dist/runtime/hosts/baseServices.js +73 -0
  178. package/dist/runtime/hosts/baseServices.js.map +1 -0
  179. package/dist/runtime/hosts/embeddingServices.d.ts +25 -0
  180. package/dist/runtime/hosts/embeddingServices.d.ts.map +1 -0
  181. package/dist/runtime/hosts/embeddingServices.js +34 -0
  182. package/dist/runtime/hosts/embeddingServices.js.map +1 -0
  183. package/dist/runtime/hosts/goalFlowHost.d.ts +34 -0
  184. package/dist/runtime/hosts/goalFlowHost.d.ts.map +1 -0
  185. package/dist/runtime/hosts/goalFlowHost.js +35 -0
  186. package/dist/runtime/hosts/goalFlowHost.js.map +1 -0
  187. package/dist/runtime/hosts/goalFlowRuntime.d.ts +41 -0
  188. package/dist/runtime/hosts/goalFlowRuntime.d.ts.map +1 -0
  189. package/dist/runtime/hosts/goalFlowRuntime.js +31 -0
  190. package/dist/runtime/hosts/goalFlowRuntime.js.map +1 -0
  191. package/dist/runtime/hosts/providerHost.d.ts +19 -0
  192. package/dist/runtime/hosts/providerHost.d.ts.map +1 -0
  193. package/dist/runtime/hosts/providerHost.js +18 -0
  194. package/dist/runtime/hosts/providerHost.js.map +1 -0
  195. package/dist/runtime/hosts/rewriteHost.d.ts +84 -0
  196. package/dist/runtime/hosts/rewriteHost.d.ts.map +1 -0
  197. package/dist/runtime/hosts/rewriteHost.js +64 -0
  198. package/dist/runtime/hosts/rewriteHost.js.map +1 -0
  199. package/dist/runtime/hosts/workspaceHost.d.ts +113 -0
  200. package/dist/runtime/hosts/workspaceHost.d.ts.map +1 -0
  201. package/dist/runtime/hosts/workspaceHost.js +76 -0
  202. package/dist/runtime/hosts/workspaceHost.js.map +1 -0
  203. package/dist/runtime/index.d.ts +78 -0
  204. package/dist/runtime/index.d.ts.map +1 -0
  205. package/dist/runtime/index.js +95 -0
  206. package/dist/runtime/index.js.map +1 -0
  207. package/dist/runtime/insight.d.ts +16 -0
  208. package/dist/runtime/insight.d.ts.map +1 -0
  209. package/dist/runtime/insight.js +11 -0
  210. package/dist/runtime/insight.js.map +1 -0
  211. package/dist/runtime/internalActions.d.ts +16 -0
  212. package/dist/runtime/internalActions.d.ts.map +1 -0
  213. package/dist/runtime/internalActions.js +302 -0
  214. package/dist/runtime/internalActions.js.map +1 -0
  215. package/dist/runtime/modelBehavior.d.ts +69 -0
  216. package/dist/runtime/modelBehavior.d.ts.map +1 -0
  217. package/dist/runtime/modelBehavior.js +514 -0
  218. package/dist/runtime/modelBehavior.js.map +1 -0
  219. package/dist/runtime/modelCapabilities.d.ts +139 -0
  220. package/dist/runtime/modelCapabilities.d.ts.map +1 -0
  221. package/dist/runtime/modelCapabilities.js +458 -0
  222. package/dist/runtime/modelCapabilities.js.map +1 -0
  223. package/dist/runtime/modelsDevCatalog.d.ts +34 -0
  224. package/dist/runtime/modelsDevCatalog.d.ts.map +1 -0
  225. package/dist/runtime/modelsDevCatalog.js +263 -0
  226. package/dist/runtime/modelsDevCatalog.js.map +1 -0
  227. package/dist/runtime/pendingInference.d.ts +18 -0
  228. package/dist/runtime/pendingInference.d.ts.map +1 -0
  229. package/dist/runtime/pendingInference.js +121 -0
  230. package/dist/runtime/pendingInference.js.map +1 -0
  231. package/dist/runtime/persistence.d.ts +21 -0
  232. package/dist/runtime/persistence.d.ts.map +1 -0
  233. package/dist/runtime/persistence.js +73 -0
  234. package/dist/runtime/persistence.js.map +1 -0
  235. package/dist/runtime/planContext.d.ts +42 -0
  236. package/dist/runtime/planContext.d.ts.map +1 -0
  237. package/dist/runtime/planContext.js +246 -0
  238. package/dist/runtime/planContext.js.map +1 -0
  239. package/dist/runtime/planGenerator.d.ts +21 -0
  240. package/dist/runtime/planGenerator.d.ts.map +1 -0
  241. package/dist/runtime/planGenerator.js +89 -0
  242. package/dist/runtime/planGenerator.js.map +1 -0
  243. package/dist/runtime/planPreparation.d.ts +64 -0
  244. package/dist/runtime/planPreparation.d.ts.map +1 -0
  245. package/dist/runtime/planPreparation.js +173 -0
  246. package/dist/runtime/planPreparation.js.map +1 -0
  247. package/dist/runtime/projectSummary.d.ts +3 -0
  248. package/dist/runtime/projectSummary.d.ts.map +1 -0
  249. package/dist/runtime/projectSummary.js +42 -0
  250. package/dist/runtime/projectSummary.js.map +1 -0
  251. package/dist/runtime/providerSettings.d.ts +28 -0
  252. package/dist/runtime/providerSettings.d.ts.map +1 -0
  253. package/dist/runtime/providerSettings.js +93 -0
  254. package/dist/runtime/providerSettings.js.map +1 -0
  255. package/dist/runtime/pythonActions.d.ts +78 -0
  256. package/dist/runtime/pythonActions.d.ts.map +1 -0
  257. package/dist/runtime/pythonActions.js +392 -0
  258. package/dist/runtime/pythonActions.js.map +1 -0
  259. package/dist/runtime/pythonBridge.d.ts +13 -0
  260. package/dist/runtime/pythonBridge.d.ts.map +1 -0
  261. package/dist/runtime/pythonBridge.js +117 -0
  262. package/dist/runtime/pythonBridge.js.map +1 -0
  263. package/dist/runtime/rewriteEngine.d.ts +46 -0
  264. package/dist/runtime/rewriteEngine.d.ts.map +1 -0
  265. package/dist/runtime/rewriteEngine.js +259 -0
  266. package/dist/runtime/rewriteEngine.js.map +1 -0
  267. package/dist/runtime/rewriteGenerator.d.ts +29 -0
  268. package/dist/runtime/rewriteGenerator.d.ts.map +1 -0
  269. package/dist/runtime/rewriteGenerator.js +1527 -0
  270. package/dist/runtime/rewriteGenerator.js.map +1 -0
  271. package/dist/runtime/rewriteHydration.d.ts +22 -0
  272. package/dist/runtime/rewriteHydration.d.ts.map +1 -0
  273. package/dist/runtime/rewriteHydration.js +265 -0
  274. package/dist/runtime/rewriteHydration.js.map +1 -0
  275. package/dist/runtime/rewriteOrchestration.d.ts +105 -0
  276. package/dist/runtime/rewriteOrchestration.d.ts.map +1 -0
  277. package/dist/runtime/rewriteOrchestration.js +130 -0
  278. package/dist/runtime/rewriteOrchestration.js.map +1 -0
  279. package/dist/runtime/rewritePayload.d.ts +18 -0
  280. package/dist/runtime/rewritePayload.d.ts.map +1 -0
  281. package/dist/runtime/rewritePayload.js +166 -0
  282. package/dist/runtime/rewritePayload.js.map +1 -0
  283. package/dist/runtime/rewriteRuntime.d.ts +13 -0
  284. package/dist/runtime/rewriteRuntime.d.ts.map +1 -0
  285. package/dist/runtime/rewriteRuntime.js +21 -0
  286. package/dist/runtime/rewriteRuntime.js.map +1 -0
  287. package/dist/runtime/rewriteServices.d.ts +70 -0
  288. package/dist/runtime/rewriteServices.d.ts.map +1 -0
  289. package/dist/runtime/rewriteServices.js +50 -0
  290. package/dist/runtime/rewriteServices.js.map +1 -0
  291. package/dist/runtime/runtimeHelpers.d.ts +9 -0
  292. package/dist/runtime/runtimeHelpers.d.ts.map +1 -0
  293. package/dist/runtime/runtimeHelpers.js +86 -0
  294. package/dist/runtime/runtimeHelpers.js.map +1 -0
  295. package/dist/runtime/sessionData.d.ts +4 -0
  296. package/dist/runtime/sessionData.d.ts.map +1 -0
  297. package/dist/runtime/sessionData.js +45 -0
  298. package/dist/runtime/sessionData.js.map +1 -0
  299. package/dist/runtime/sessionRuntime.d.ts +47 -0
  300. package/dist/runtime/sessionRuntime.d.ts.map +1 -0
  301. package/dist/runtime/sessionRuntime.js +128 -0
  302. package/dist/runtime/sessionRuntime.js.map +1 -0
  303. package/dist/runtime/stealthRuntimeTypes.d.ts +12 -0
  304. package/dist/runtime/stealthRuntimeTypes.d.ts.map +1 -0
  305. package/dist/runtime/stealthRuntimeTypes.js +3 -0
  306. package/dist/runtime/stealthRuntimeTypes.js.map +1 -0
  307. package/dist/runtime/stepExecutor.d.ts +22 -0
  308. package/dist/runtime/stepExecutor.d.ts.map +1 -0
  309. package/dist/runtime/stepExecutor.js +83 -0
  310. package/dist/runtime/stepExecutor.js.map +1 -0
  311. package/dist/runtime/stepLifecycle.d.ts +29 -0
  312. package/dist/runtime/stepLifecycle.d.ts.map +1 -0
  313. package/dist/runtime/stepLifecycle.js +122 -0
  314. package/dist/runtime/stepLifecycle.js.map +1 -0
  315. package/dist/runtime/stepMetadata.d.ts +6 -0
  316. package/dist/runtime/stepMetadata.d.ts.map +1 -0
  317. package/dist/runtime/stepMetadata.js +87 -0
  318. package/dist/runtime/stepMetadata.js.map +1 -0
  319. package/dist/runtime/taskQueue.d.ts +16 -0
  320. package/dist/runtime/taskQueue.d.ts.map +1 -0
  321. package/dist/runtime/taskQueue.js +103 -0
  322. package/dist/runtime/taskQueue.js.map +1 -0
  323. package/dist/runtime/telemetry.d.ts +6 -0
  324. package/dist/runtime/telemetry.d.ts.map +1 -0
  325. package/dist/runtime/telemetry.js +42 -0
  326. package/dist/runtime/telemetry.js.map +1 -0
  327. package/dist/runtime/telemetryHub.d.ts +61 -0
  328. package/dist/runtime/telemetryHub.d.ts.map +1 -0
  329. package/dist/runtime/telemetryHub.js +190 -0
  330. package/dist/runtime/telemetryHub.js.map +1 -0
  331. package/dist/runtime/textSanitizer.d.ts +4 -0
  332. package/dist/runtime/textSanitizer.d.ts.map +1 -0
  333. package/dist/runtime/textSanitizer.js +86 -0
  334. package/dist/runtime/textSanitizer.js.map +1 -0
  335. package/dist/runtime/typeCheckRunner.d.ts +33 -0
  336. package/dist/runtime/typeCheckRunner.d.ts.map +1 -0
  337. package/dist/runtime/typeCheckRunner.js +357 -0
  338. package/dist/runtime/typeCheckRunner.js.map +1 -0
  339. package/dist/runtime/types.d.ts +334 -0
  340. package/dist/runtime/types.d.ts.map +1 -0
  341. package/dist/runtime/types.js +3 -0
  342. package/dist/runtime/types.js.map +1 -0
  343. package/dist/runtime/typescriptValidator.d.ts +18 -0
  344. package/dist/runtime/typescriptValidator.d.ts.map +1 -0
  345. package/dist/runtime/typescriptValidator.js +363 -0
  346. package/dist/runtime/typescriptValidator.js.map +1 -0
  347. package/dist/runtime/undoManager.d.ts +7 -0
  348. package/dist/runtime/undoManager.d.ts.map +1 -0
  349. package/dist/runtime/undoManager.js +56 -0
  350. package/dist/runtime/undoManager.js.map +1 -0
  351. package/dist/runtime/validationController.d.ts +11 -0
  352. package/dist/runtime/validationController.d.ts.map +1 -0
  353. package/dist/runtime/validationController.js +29 -0
  354. package/dist/runtime/validationController.js.map +1 -0
  355. package/dist/runtime/validationUtils.d.ts +17 -0
  356. package/dist/runtime/validationUtils.d.ts.map +1 -0
  357. package/dist/runtime/validationUtils.js +121 -0
  358. package/dist/runtime/validationUtils.js.map +1 -0
  359. package/dist/runtime/workspaceAssertions.d.ts +21 -0
  360. package/dist/runtime/workspaceAssertions.d.ts.map +1 -0
  361. package/dist/runtime/workspaceAssertions.js +183 -0
  362. package/dist/runtime/workspaceAssertions.js.map +1 -0
  363. package/dist/runtime/workspaceIndexService.d.ts +24 -0
  364. package/dist/runtime/workspaceIndexService.d.ts.map +1 -0
  365. package/dist/runtime/workspaceIndexService.js +133 -0
  366. package/dist/runtime/workspaceIndexService.js.map +1 -0
  367. package/dist/runtime/workspaceIndexer.d.ts +21 -0
  368. package/dist/runtime/workspaceIndexer.d.ts.map +1 -0
  369. package/dist/runtime/workspaceIndexer.js +95 -0
  370. package/dist/runtime/workspaceIndexer.js.map +1 -0
  371. package/dist/runtime/workspacePackages.d.ts +22 -0
  372. package/dist/runtime/workspacePackages.d.ts.map +1 -0
  373. package/dist/runtime/workspacePackages.js +198 -0
  374. package/dist/runtime/workspacePackages.js.map +1 -0
  375. package/dist/runtime/workspaceRuntime.d.ts +58 -0
  376. package/dist/runtime/workspaceRuntime.d.ts.map +1 -0
  377. package/dist/runtime/workspaceRuntime.js +86 -0
  378. package/dist/runtime/workspaceRuntime.js.map +1 -0
  379. package/dist/runtime/workspaceService.d.ts +14 -0
  380. package/dist/runtime/workspaceService.d.ts.map +1 -0
  381. package/dist/runtime/workspaceService.js +88 -0
  382. package/dist/runtime/workspaceService.js.map +1 -0
  383. package/dist/runtime/workspaceServices.d.ts +114 -0
  384. package/dist/runtime/workspaceServices.d.ts.map +1 -0
  385. package/dist/runtime/workspaceServices.js +114 -0
  386. package/dist/runtime/workspaceServices.js.map +1 -0
  387. package/dist/runtime/writeServices.d.ts +34 -0
  388. package/dist/runtime/writeServices.d.ts.map +1 -0
  389. package/dist/runtime/writeServices.js +32 -0
  390. package/dist/runtime/writeServices.js.map +1 -0
  391. package/dist/sharedPromptSections.d.ts +58 -0
  392. package/dist/sharedPromptSections.d.ts.map +1 -0
  393. package/dist/sharedPromptSections.js +94 -0
  394. package/dist/sharedPromptSections.js.map +1 -0
  395. package/dist/statusTypes.d.ts +13 -0
  396. package/dist/statusTypes.d.ts.map +1 -0
  397. package/dist/statusTypes.js +3 -0
  398. package/dist/statusTypes.js.map +1 -0
  399. package/dist/streamIdleTimeout.d.ts +38 -0
  400. package/dist/streamIdleTimeout.d.ts.map +1 -0
  401. package/dist/streamIdleTimeout.js +44 -0
  402. package/dist/streamIdleTimeout.js.map +1 -0
  403. package/dist/types/bandit.d.ts +113 -0
  404. package/dist/types/bandit.d.ts.map +1 -0
  405. package/dist/types/bandit.js +3 -0
  406. package/dist/types/bandit.js.map +1 -0
  407. package/dist/types.d.ts +152 -0
  408. package/dist/types.d.ts.map +1 -0
  409. package/dist/types.js +3 -0
  410. package/dist/types.js.map +1 -0
  411. package/dist/workspaceIndex.d.ts +44 -0
  412. package/dist/workspaceIndex.d.ts.map +1 -0
  413. package/dist/workspaceIndex.js +258 -0
  414. package/dist/workspaceIndex.js.map +1 -0
  415. package/package.json +36 -0
@@ -0,0 +1,16 @@
1
+ import type { InternalIdentifyHomepageAction, InternalLocateFilesAction, InternalExtractRelevantSectionAction, InternalRunProjectScriptsAction, InternalEmitMessageAction, InternalReviewDiffAction, PlanStep, PythonRunCommandAction } from '../internalTypes';
2
+ import type { StepOutcome } from '../internalTypes';
3
+ export interface InternalActionDeps {
4
+ getContextValue<T>(key: string): T | undefined;
5
+ setContextValue(key: string, value: unknown): void;
6
+ normalizeRelativePath(value: string): string | undefined;
7
+ runPythonStep(action: PythonRunCommandAction, stepId?: string, step?: PlanStep): Promise<StepOutcome>;
8
+ isCancelled(): boolean;
9
+ reviewDiff(action: InternalReviewDiffAction, step?: PlanStep): Promise<StepOutcome>;
10
+ extractRelevantSection(content: string, patterns?: string[]): string;
11
+ clampSnippet(content: string, limit?: number): string;
12
+ }
13
+ export declare function createInternalActionExecutor(deps: InternalActionDeps): {
14
+ execute: (step: PlanStep, action: InternalIdentifyHomepageAction | InternalLocateFilesAction | InternalExtractRelevantSectionAction | InternalRunProjectScriptsAction | InternalEmitMessageAction | InternalReviewDiffAction) => Promise<StepOutcome>;
15
+ };
16
+ //# sourceMappingURL=internalActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internalActions.d.ts","sourceRoot":"","sources":["../../src/runtime/internalActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAC9B,yBAAyB,EACzB,oCAAoC,EACpC,+BAA+B,EAC/B,yBAAyB,EACzB,wBAAwB,EACxB,QAAQ,EACR,sBAAsB,EACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,WAAW,kBAAkB;IACjC,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IAC/C,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACnD,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACzD,aAAa,CAAC,MAAM,EAAE,sBAAsB,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACtG,WAAW,IAAI,OAAO,CAAC;IACvB,UAAU,CAAC,MAAM,EAAE,wBAAwB,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACpF,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACrE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvD;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,kBAAkB;oBA6P3D,QAAQ,UAEV,8BAA8B,GAC9B,yBAAyB,GACzB,oCAAoC,GACpC,+BAA+B,GAC/B,yBAAyB,GACzB,wBAAwB,KAC3B,OAAO,CAAC,WAAW,CAAC;EAqFxB"}
@@ -0,0 +1,302 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createInternalActionExecutor = createInternalActionExecutor;
4
+ function createInternalActionExecutor(deps) {
5
+ async function identifyHomepage(action) {
6
+ const project = deps.getContextValue('project');
7
+ const files = Array.isArray(project?.files) ? project?.files : [];
8
+ if (files.length === 0) {
9
+ return { ok: false, error: 'Project scan did not return any files.' };
10
+ }
11
+ const candidates = rankHomepageCandidates(files);
12
+ const best = candidates[0];
13
+ if (!best) {
14
+ return { ok: false, error: 'Unable to identify a homepage file from project scan.' };
15
+ }
16
+ const storePath = action.storePath ?? 'homepage';
17
+ deps.setContextValue(`${storePath}.path`, best.path);
18
+ deps.setContextValue(`${storePath}.reason`, best.reason);
19
+ deps.setContextValue(`${storePath}.score`, best.score);
20
+ return {
21
+ ok: true,
22
+ output: `Homepage candidate: ${best.path} (${best.reason})`,
23
+ data: { path: best.path, reason: best.reason, score: best.score }
24
+ };
25
+ }
26
+ async function locateFiles(action) {
27
+ const project = deps.getContextValue('project');
28
+ const files = Array.isArray(project?.files) ? project?.files : [];
29
+ if (files.length === 0) {
30
+ return { ok: false, error: 'Project scan did not return any files.' };
31
+ }
32
+ const patterns = Array.isArray(action.patterns)
33
+ ? action.patterns.map((pattern) => pattern.toLowerCase().trim()).filter((pattern) => pattern.length > 0)
34
+ : [];
35
+ if (patterns.length === 0) {
36
+ return { ok: false, error: 'No search patterns provided.' };
37
+ }
38
+ const patternEntries = patterns.map((pattern) => {
39
+ const compact = pattern.replace(/[^a-z0-9]+/g, '');
40
+ const useCompact = compact.length >= 3 && compact !== pattern;
41
+ return { raw: pattern, compact, useCompact };
42
+ });
43
+ const priorityKeywords = new Set(Array.isArray(action.priorityKeywords)
44
+ ? action.priorityKeywords.map((keyword) => keyword.toLowerCase().trim()).filter((keyword) => keyword.length > 0)
45
+ : []);
46
+ const normalizeHint = (value) => {
47
+ const normalized = deps.normalizeRelativePath(value) ?? value.replace(/\\/g, '/').replace(/^\.\/+/, '');
48
+ return normalized && normalized !== '.' ? normalized : undefined;
49
+ };
50
+ const normalizedPrimaryHint = typeof action.primaryPathHint === 'string'
51
+ ? normalizeHint(action.primaryPathHint)
52
+ : undefined;
53
+ const primaryHintKey = normalizedPrimaryHint?.toLowerCase();
54
+ const excludePrefixes = Array.isArray(action.excludePrefixes)
55
+ ? action.excludePrefixes
56
+ .map((prefix) => normalizeHint(prefix))
57
+ .filter((prefix) => Boolean(prefix))
58
+ : [];
59
+ const matches = [];
60
+ for (const file of files) {
61
+ const normalizedPath = normalizeHint(file) ?? file;
62
+ if (!normalizedPath) {
63
+ continue;
64
+ }
65
+ const searchTarget = normalizedPath.toLowerCase();
66
+ const compactTarget = searchTarget.replace(/[^a-z0-9]+/g, '');
67
+ const pathTokens = searchTarget.split(/[^a-z0-9]+/).filter((segment) => segment.length > 0);
68
+ const matchedPatterns = patternEntries
69
+ .filter(({ raw, compact, useCompact }) => searchTarget.includes(raw) || (useCompact && compactTarget.includes(compact)))
70
+ .map(({ raw }) => raw);
71
+ const hasHintPriority = Boolean(primaryHintKey && searchTarget === primaryHintKey);
72
+ if (matchedPatterns.length === 0 && !hasHintPriority) {
73
+ continue;
74
+ }
75
+ let score = matchedPatterns.reduce((total, pattern) => total + pattern.length, 0);
76
+ const fileName = pathTokens[pathTokens.length - 1] ?? searchTarget;
77
+ for (const pattern of matchedPatterns) {
78
+ if (searchTarget.includes(pattern)) {
79
+ score += pattern.length;
80
+ }
81
+ if (fileName.includes(pattern)) {
82
+ score += pattern.length * 1.5;
83
+ }
84
+ if (priorityKeywords.has(pattern) || priorityKeywords.has(pattern.replace(/\s+/g, ''))) {
85
+ const isFilenamePriority = /\.[a-z0-9]{1,6}$/i.test(pattern);
86
+ score += pattern.length * (isFilenamePriority ? 6 : 3);
87
+ }
88
+ }
89
+ const directMatch = patterns.some((pattern) => pattern.includes('/') && searchTarget.endsWith(pattern));
90
+ if (directMatch) {
91
+ score += 25;
92
+ }
93
+ if (hasHintPriority) {
94
+ score += 8;
95
+ }
96
+ const recordedMatches = matchedPatterns.length > 0
97
+ ? matchedPatterns
98
+ : hasHintPriority
99
+ ? [normalizedPath.split('/').pop() ?? normalizedPath]
100
+ : matchedPatterns;
101
+ const excluded = excludePrefixes.length > 0 && isExcludedPath(searchTarget, excludePrefixes);
102
+ matches.push({ path: normalizedPath, score, matches: recordedMatches, excluded, hintMatch: hasHintPriority });
103
+ }
104
+ if (matches.length === 0) {
105
+ return { ok: false, error: 'No files matched the requested patterns.' };
106
+ }
107
+ const filteredMatches = excludePrefixes.length > 0
108
+ ? matches.filter((entry) => !entry.excluded)
109
+ : matches;
110
+ const rankedMatches = filteredMatches.length > 0 ? filteredMatches : matches;
111
+ rankedMatches.sort((a, b) => {
112
+ if (b.score !== a.score) {
113
+ return b.score - a.score;
114
+ }
115
+ if (Boolean(a.hintMatch) !== Boolean(b.hintMatch)) {
116
+ return Number(Boolean(b.hintMatch)) - Number(Boolean(a.hintMatch));
117
+ }
118
+ return a.path.length - b.path.length;
119
+ });
120
+ const maxMatches = Math.max(1, Math.min(action.maxMatches ?? 3, rankedMatches.length));
121
+ const selected = rankedMatches.slice(0, maxMatches);
122
+ const storePath = action.storePath ?? 'search';
123
+ deps.setContextValue(`${storePath}.matches`, selected);
124
+ deps.setContextValue(`${storePath}.primary`, selected[0]);
125
+ return {
126
+ ok: true,
127
+ output: `Located ${selected.length} candidate file${selected.length === 1 ? '' : 's'}: ${selected.map((item) => item.path).join(', ')}`,
128
+ data: { matches: selected }
129
+ };
130
+ }
131
+ function isExcludedPath(pathValue, prefixes) {
132
+ if (!pathValue || prefixes.length === 0) {
133
+ return false;
134
+ }
135
+ for (const prefix of prefixes) {
136
+ if (!prefix) {
137
+ continue;
138
+ }
139
+ const normalizedPrefix = prefix.toLowerCase();
140
+ if (pathValue === normalizedPrefix) {
141
+ return true;
142
+ }
143
+ const withSlash = normalizedPrefix.endsWith('/') ? normalizedPrefix : `${normalizedPrefix}/`;
144
+ if (pathValue.startsWith(withSlash)) {
145
+ return true;
146
+ }
147
+ }
148
+ return false;
149
+ }
150
+ function extractRelevantSection(action) {
151
+ const storeKey = action.storeKey?.trim() || 'focus.extract.section';
152
+ const contentRef = action.contentRef?.trim() || 'focus.primary.content';
153
+ const rawContent = deps.getContextValue(contentRef) ?? '';
154
+ const fallbackContent = deps.getContextValue('focus.primary.content') ?? rawContent;
155
+ const source = rawContent.trim().length > 0 ? rawContent : fallbackContent;
156
+ const patterns = Array.isArray(action.patterns)
157
+ ? action.patterns
158
+ .map((pattern) => (typeof pattern === 'string' ? pattern.trim() : ''))
159
+ .filter((pattern) => pattern.length > 0)
160
+ : [];
161
+ const snippet = deps.extractRelevantSection(source, patterns);
162
+ const normalized = deps.clampSnippet(typeof snippet === 'string' ? snippet : '', 1800) ?? '';
163
+ deps.setContextValue(storeKey, normalized);
164
+ const length = normalized.length;
165
+ const pathLabel = action.pathRef
166
+ ? deps.normalizeRelativePath(deps.getContextValue(action.pathRef) ?? action.pathRef)
167
+ ?? action.pathRef
168
+ : undefined;
169
+ return {
170
+ ok: true,
171
+ output: length > 0
172
+ ? `Captured relevant snippet (${length} chars)${pathLabel ? ` from ${pathLabel}` : ''}.`
173
+ : `Stored empty snippet${pathLabel ? ` for ${pathLabel}` : ''}.`,
174
+ data: { storeKey, length, patterns }
175
+ };
176
+ }
177
+ async function runProjectScripts(action) {
178
+ const project = deps.getContextValue('project');
179
+ const scripts = project?.scripts ?? {};
180
+ const desired = action.scripts ?? ['lint', 'test'];
181
+ const available = desired.filter((script) => typeof scripts[script] === 'string');
182
+ if (available.length === 0) {
183
+ return { ok: true, output: 'No project scripts to run.', data: { scripts: [] } };
184
+ }
185
+ const runs = [];
186
+ let allPassed = true;
187
+ for (const script of available) {
188
+ if (deps.isCancelled()) {
189
+ break;
190
+ }
191
+ const commandAction = {
192
+ type: 'python',
193
+ name: 'runCommand',
194
+ command: `npm run ${script}`,
195
+ cwdRef: 'project.root',
196
+ allowFailure: true
197
+ };
198
+ const outcome = await deps.runPythonStep(commandAction, undefined, undefined);
199
+ runs.push({ script, ok: outcome.ok, output: outcome.output, error: outcome.error });
200
+ if (!outcome.ok) {
201
+ allPassed = false;
202
+ }
203
+ }
204
+ deps.setContextValue('project.scriptResults', runs);
205
+ return {
206
+ ok: allPassed,
207
+ output: allPassed ? `Scripts succeeded: ${available.join(', ')}` : `Some scripts failed: ${available.join(', ')}`,
208
+ error: allPassed ? undefined : 'One or more scripts failed. Check logs.',
209
+ data: { runs }
210
+ };
211
+ }
212
+ function emitMessage(action) {
213
+ const message = action.message?.trim();
214
+ if (!message) {
215
+ return { ok: false, error: 'No message provided.' };
216
+ }
217
+ const level = action.level === 'warn' || action.level === 'error' ? action.level : 'info';
218
+ return {
219
+ ok: true,
220
+ output: message,
221
+ data: { level }
222
+ };
223
+ }
224
+ async function execute(step, action) {
225
+ switch (action.name) {
226
+ case 'identifyHomepage':
227
+ return identifyHomepage(action);
228
+ case 'locateFiles':
229
+ return locateFiles(action);
230
+ case 'extractRelevantSection':
231
+ return extractRelevantSection(action);
232
+ case 'runProjectScripts':
233
+ return runProjectScripts(action);
234
+ case 'emitMessage':
235
+ return emitMessage(action);
236
+ case 'reviewDiff':
237
+ return deps.reviewDiff(action, step);
238
+ default:
239
+ return { ok: false, error: 'Unsupported internal action.' };
240
+ }
241
+ }
242
+ return { execute };
243
+ function rankHomepageCandidates(files) {
244
+ const interestingExtensions = ['.tsx', '.jsx', '.js', '.ts', '.html'];
245
+ const extensionScores = {
246
+ '.tsx': 8,
247
+ '.jsx': 7,
248
+ '.ts': 4,
249
+ '.js': 4,
250
+ '.html': 2
251
+ };
252
+ const candidates = [];
253
+ for (const file of files) {
254
+ const lowered = file.toLowerCase();
255
+ if (lowered.includes('node_modules/') || lowered.includes('/node_modules/')) {
256
+ continue;
257
+ }
258
+ if (!interestingExtensions.some((ext) => lowered.endsWith(ext))) {
259
+ continue;
260
+ }
261
+ let score = 0;
262
+ const reasons = [];
263
+ const ext = interestingExtensions.find((extension) => lowered.endsWith(extension)) ?? '.txt';
264
+ score += extensionScores[ext] ?? 0;
265
+ if (extensionScores[ext] ?? 0) {
266
+ reasons.push(`${ext} priority`);
267
+ }
268
+ if (/home|landing|welcome/.test(lowered)) {
269
+ score += 6;
270
+ reasons.push('contains “home” keyword');
271
+ }
272
+ if (/pages\/.+/.test(lowered)) {
273
+ score += 4;
274
+ reasons.push('in pages directory');
275
+ }
276
+ if (/src\//.test(lowered)) {
277
+ score += 2;
278
+ reasons.push('inside src');
279
+ }
280
+ if (lowered.endsWith('index.tsx') || lowered.endsWith('index.jsx') || lowered.endsWith('index.js') || lowered.endsWith('index.html')) {
281
+ score += 3;
282
+ reasons.push('index entry point');
283
+ }
284
+ if (lowered.includes('/app/')) {
285
+ score += 2;
286
+ reasons.push('inside /app');
287
+ }
288
+ if (lowered.includes('public/') && lowered.endsWith('.html')) {
289
+ score += 5;
290
+ reasons.push('public HTML');
291
+ }
292
+ if (lowered.includes('/pages/index')) {
293
+ score += 6;
294
+ reasons.push('Next.js pages index');
295
+ }
296
+ candidates.push({ path: file, score, reason: reasons.join(', ') || 'generic web entry point' });
297
+ }
298
+ candidates.sort((a, b) => b.score - a.score);
299
+ return candidates;
300
+ }
301
+ }
302
+ //# sourceMappingURL=internalActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internalActions.js","sourceRoot":"","sources":["../../src/runtime/internalActions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Model behavior profiles describe how Bandit's harness should treat a
3
+ * model, not just what the model can theoretically do.
4
+ *
5
+ * Capability profiles answer "does this model support tools / vision /
6
+ * JSON?". Behavior profiles answer "which protocol should we try first,
7
+ * how aggressively should we compact, how much parallelism is safe, and
8
+ * what known failures should the UI or trace viewer explain?".
9
+ */
10
+ export type ToolProtocol = 'native-tools' | 'text-tools';
11
+ export type ToolEnvelope = 'ollama-tools' | 'xml-json';
12
+ export type PromptTemplateId = 'qwen-agent' | 'gemma-compact' | 'llama-tool-lite' | 'default-agent';
13
+ export type CompactionMode = 'early' | 'normal' | 'aggressive';
14
+ export type ThinkingDefault = 'on' | 'off' | 'auto';
15
+ export declare const MODEL_BEHAVIOR_CONFIG_SCHEMA_VERSION = 1;
16
+ export interface ModelBehaviorProfile {
17
+ /** Stable profile id, e.g. qwen3.6 or gemma4. */
18
+ id: string;
19
+ /** Prefixes matched against the configured model id. Longest wins. */
20
+ match: string[];
21
+ label: string;
22
+ protocol: {
23
+ preferred: ToolProtocol;
24
+ fallback?: ToolProtocol;
25
+ envelope: ToolEnvelope;
26
+ nativeToolFailureFallback: boolean;
27
+ };
28
+ context: {
29
+ safeInputTokens: number;
30
+ outputBudgetTokens: number;
31
+ compaction: CompactionMode;
32
+ };
33
+ prompting: {
34
+ template: PromptTemplateId;
35
+ examples: 'none' | 'minimal' | 'strict';
36
+ thinking: ThinkingDefault;
37
+ };
38
+ reliability: {
39
+ maxParallelTools: number;
40
+ retryableErrors: string[];
41
+ knownFailureModes: string[];
42
+ };
43
+ }
44
+ export type ModelBehaviorOverride = Partial<Omit<ModelBehaviorProfile, 'protocol' | 'context' | 'prompting' | 'reliability'>> & {
45
+ protocol?: Partial<ModelBehaviorProfile['protocol']>;
46
+ context?: Partial<ModelBehaviorProfile['context']>;
47
+ prompting?: Partial<ModelBehaviorProfile['prompting']>;
48
+ reliability?: Partial<ModelBehaviorProfile['reliability']>;
49
+ };
50
+ export interface ModelBehaviorConfigEntry {
51
+ /** Record key or id from the config file. Useful for diagnostics. */
52
+ key: string;
53
+ /** Prefixes that should receive this override. */
54
+ match: string[];
55
+ /** Sanitized override registered into the runtime. */
56
+ override: ModelBehaviorOverride;
57
+ }
58
+ export interface ModelBehaviorConfigParseResult {
59
+ entries: ModelBehaviorConfigEntry[];
60
+ errors: string[];
61
+ warnings: string[];
62
+ }
63
+ export declare function registerModelBehaviorOverride(modelIdOrPrefix: string, override: ModelBehaviorOverride): void;
64
+ export declare function registerModelBehaviorConfig(input: unknown): ModelBehaviorConfigParseResult;
65
+ export declare function clearModelBehaviorOverrides(): void;
66
+ export declare function getBuiltInModelBehaviorProfiles(): ModelBehaviorProfile[];
67
+ export declare function getModelBehaviorProfile(modelId: string): ModelBehaviorProfile;
68
+ export declare function parseModelBehaviorConfig(input: unknown): ModelBehaviorConfigParseResult;
69
+ //# sourceMappingURL=modelBehavior.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelBehavior.d.ts","sourceRoot":"","sources":["../../src/runtime/modelBehavior.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,YAAY,CAAC;AACzD,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,UAAU,CAAC;AACvD,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,eAAe,GAAG,iBAAiB,GAAG,eAAe,CAAC;AACpG,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,YAAY,CAAC;AAC/D,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;AACpD,eAAO,MAAM,oCAAoC,IAAI,CAAC;AAEtD,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,sEAAsE;IACtE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE;QACR,SAAS,EAAE,YAAY,CAAC;QACxB,QAAQ,CAAC,EAAE,YAAY,CAAC;QACxB,QAAQ,EAAE,YAAY,CAAC;QACvB,yBAAyB,EAAE,OAAO,CAAC;KACpC,CAAC;IACF,OAAO,EAAE;QACP,eAAe,EAAE,MAAM,CAAC;QACxB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,UAAU,EAAE,cAAc,CAAC;KAC5B,CAAC;IACF,SAAS,EAAE;QACT,QAAQ,EAAE,gBAAgB,CAAC;QAC3B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;QACxC,QAAQ,EAAE,eAAe,CAAC;KAC3B,CAAC;IACF,WAAW,EAAE;QACX,gBAAgB,EAAE,MAAM,CAAC;QACzB,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,iBAAiB,EAAE,MAAM,EAAE,CAAC;KAC7B,CAAC;CACH;AAED,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,CAAC,CAAC,GAAG;IAC9H,QAAQ,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;IACnD,SAAS,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC;IACvD,WAAW,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;CAC5D,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;IACZ,kDAAkD;IAClD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,sDAAsD;IACtD,QAAQ,EAAE,qBAAqB,CAAC;CACjC;AAED,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,wBAAwB,EAAE,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AA0ND,wBAAgB,6BAA6B,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAI5G;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,8BAA8B,CAQ1F;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAED,wBAAgB,+BAA+B,IAAI,oBAAoB,EAAE,CAExE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,CAK7E;AAiED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,8BAA8B,CAuDvF"}