daycare-cli 0.1.2 → 2026.2.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 (392) hide show
  1. package/dist/engine/agents/ops/agentHistoryContext.spec.js +2 -1
  2. package/dist/engine/agents/ops/agentHistoryContext.spec.js.map +1 -1
  3. package/dist/engine/agents/ops/agentHistoryPendingToolResults.d.ts.map +1 -1
  4. package/dist/engine/agents/ops/agentHistoryPendingToolResults.js +2 -1
  5. package/dist/engine/agents/ops/agentHistoryPendingToolResults.js.map +1 -1
  6. package/dist/engine/agents/ops/agentHistoryPendingToolResults.spec.js +9 -1
  7. package/dist/engine/agents/ops/agentHistoryPendingToolResults.spec.js.map +1 -1
  8. package/dist/engine/agents/ops/agentHistorySummary.spec.js +2 -1
  9. package/dist/engine/agents/ops/agentHistorySummary.spec.js.map +1 -1
  10. package/dist/engine/agents/ops/agentLoopRun.js +2 -2
  11. package/dist/engine/agents/ops/agentLoopRun.js.map +1 -1
  12. package/dist/engine/agents/ops/agentLoopRun.spec.js +4 -2
  13. package/dist/engine/agents/ops/agentLoopRun.spec.js.map +1 -1
  14. package/dist/engine/agents/ops/contextEstimateTokens.spec.js +6 -3
  15. package/dist/engine/agents/ops/contextEstimateTokens.spec.js.map +1 -1
  16. package/dist/engine/apps/appInstallToolBuild.d.ts.map +1 -1
  17. package/dist/engine/apps/appInstallToolBuild.js +20 -2
  18. package/dist/engine/apps/appInstallToolBuild.js.map +1 -1
  19. package/dist/engine/apps/appRuleToolBuild.d.ts.map +1 -1
  20. package/dist/engine/apps/appRuleToolBuild.js +33 -2
  21. package/dist/engine/apps/appRuleToolBuild.js.map +1 -1
  22. package/dist/engine/apps/appRuleToolBuild.spec.js +2 -1
  23. package/dist/engine/apps/appRuleToolBuild.spec.js.map +1 -1
  24. package/dist/engine/apps/appToolBuild.d.ts.map +1 -1
  25. package/dist/engine/apps/appToolBuild.js +21 -1
  26. package/dist/engine/apps/appToolBuild.js.map +1 -1
  27. package/dist/engine/apps/appToolExecutorBuild.d.ts.map +1 -1
  28. package/dist/engine/apps/appToolExecutorBuild.js +3 -6
  29. package/dist/engine/apps/appToolExecutorBuild.js.map +1 -1
  30. package/dist/engine/apps/appToolExecutorBuild.spec.js +2 -1
  31. package/dist/engine/apps/appToolExecutorBuild.spec.js.map +1 -1
  32. package/dist/engine/modules/monty/montyParameterEntriesBuild.d.ts +13 -0
  33. package/dist/engine/modules/monty/montyParameterEntriesBuild.d.ts.map +1 -0
  34. package/dist/engine/modules/{rlm/rlmParameterEntriesBuild.js → monty/montyParameterEntriesBuild.js} +5 -7
  35. package/dist/engine/modules/monty/montyParameterEntriesBuild.js.map +1 -0
  36. package/dist/engine/modules/{rlm/rlmPreambleBuild.d.ts → monty/montyPreambleBuild.d.ts} +2 -2
  37. package/dist/engine/modules/monty/montyPreambleBuild.d.ts.map +1 -0
  38. package/dist/engine/modules/monty/montyPreambleBuild.js +83 -0
  39. package/dist/engine/modules/monty/montyPreambleBuild.js.map +1 -0
  40. package/dist/engine/modules/monty/montyPreambleBuild.spec.d.ts +2 -0
  41. package/dist/engine/modules/monty/montyPreambleBuild.spec.d.ts.map +1 -0
  42. package/dist/engine/modules/monty/montyPreambleBuild.spec.js +137 -0
  43. package/dist/engine/modules/monty/montyPreambleBuild.spec.js.map +1 -0
  44. package/dist/engine/modules/monty/montyPythonDocstringEscape.d.ts +6 -0
  45. package/dist/engine/modules/monty/montyPythonDocstringEscape.d.ts.map +1 -0
  46. package/dist/engine/modules/monty/montyPythonDocstringEscape.js +8 -0
  47. package/dist/engine/modules/monty/montyPythonDocstringEscape.js.map +1 -0
  48. package/dist/engine/modules/monty/montyPythonIdentifierIs.d.ts +6 -0
  49. package/dist/engine/modules/monty/montyPythonIdentifierIs.d.ts.map +1 -0
  50. package/dist/engine/modules/monty/montyPythonIdentifierIs.js +8 -0
  51. package/dist/engine/modules/monty/montyPythonIdentifierIs.js.map +1 -0
  52. package/dist/engine/modules/monty/montyPythonSignatureBuild.d.ts +7 -0
  53. package/dist/engine/modules/monty/montyPythonSignatureBuild.d.ts.map +1 -0
  54. package/dist/engine/modules/monty/montyPythonSignatureBuild.js +20 -0
  55. package/dist/engine/modules/monty/montyPythonSignatureBuild.js.map +1 -0
  56. package/dist/engine/modules/monty/montyPythonSignatureBuild.spec.d.ts +2 -0
  57. package/dist/engine/modules/monty/montyPythonSignatureBuild.spec.d.ts.map +1 -0
  58. package/dist/engine/modules/monty/montyPythonSignatureBuild.spec.js +39 -0
  59. package/dist/engine/modules/monty/montyPythonSignatureBuild.spec.js.map +1 -0
  60. package/dist/engine/modules/monty/montyPythonTypeFromSchema.d.ts +6 -0
  61. package/dist/engine/modules/monty/montyPythonTypeFromSchema.d.ts.map +1 -0
  62. package/dist/engine/modules/monty/montyPythonTypeFromSchema.js +59 -0
  63. package/dist/engine/modules/monty/montyPythonTypeFromSchema.js.map +1 -0
  64. package/dist/engine/modules/monty/montyPythonTypeFromSchema.spec.d.ts +2 -0
  65. package/dist/engine/modules/monty/montyPythonTypeFromSchema.spec.d.ts.map +1 -0
  66. package/dist/engine/modules/monty/montyPythonTypeFromSchema.spec.js +26 -0
  67. package/dist/engine/modules/monty/montyPythonTypeFromSchema.spec.js.map +1 -0
  68. package/dist/engine/modules/monty/montyPythonTypeFromSchemaRuntime.spec.d.ts +2 -0
  69. package/dist/engine/modules/monty/montyPythonTypeFromSchemaRuntime.spec.d.ts.map +1 -0
  70. package/dist/engine/modules/monty/montyPythonTypeFromSchemaRuntime.spec.js +118 -0
  71. package/dist/engine/modules/monty/montyPythonTypeFromSchemaRuntime.spec.js.map +1 -0
  72. package/dist/engine/modules/monty/montyResponseSchemaKey.d.ts +6 -0
  73. package/dist/engine/modules/monty/montyResponseSchemaKey.d.ts.map +1 -0
  74. package/dist/engine/modules/monty/montyResponseSchemaKey.js +6 -0
  75. package/dist/engine/modules/monty/montyResponseSchemaKey.js.map +1 -0
  76. package/dist/engine/modules/monty/montyResponseTypeNameFromFunction.d.ts +6 -0
  77. package/dist/engine/modules/monty/montyResponseTypeNameFromFunction.d.ts.map +1 -0
  78. package/dist/engine/modules/monty/montyResponseTypeNameFromFunction.js +25 -0
  79. package/dist/engine/modules/monty/montyResponseTypeNameFromFunction.js.map +1 -0
  80. package/dist/engine/modules/monty/montyResponseTypeNameFromFunction.spec.d.ts +2 -0
  81. package/dist/engine/modules/monty/montyResponseTypeNameFromFunction.spec.d.ts.map +1 -0
  82. package/dist/engine/modules/monty/montyResponseTypeNameFromFunction.spec.js +13 -0
  83. package/dist/engine/modules/monty/montyResponseTypeNameFromFunction.spec.js.map +1 -0
  84. package/dist/engine/modules/monty/montyResponseTypedDictLinesBuild.d.ts +6 -0
  85. package/dist/engine/modules/monty/montyResponseTypedDictLinesBuild.d.ts.map +1 -0
  86. package/dist/engine/modules/monty/montyResponseTypedDictLinesBuild.js +77 -0
  87. package/dist/engine/modules/monty/montyResponseTypedDictLinesBuild.js.map +1 -0
  88. package/dist/engine/modules/monty/montyResponseTypedDictLinesBuild.spec.d.ts +2 -0
  89. package/dist/engine/modules/monty/montyResponseTypedDictLinesBuild.spec.d.ts.map +1 -0
  90. package/dist/engine/modules/monty/montyResponseTypedDictLinesBuild.spec.js +44 -0
  91. package/dist/engine/modules/monty/montyResponseTypedDictLinesBuild.spec.js.map +1 -0
  92. package/dist/engine/modules/monty/montyRuntimePreambleBuild.d.ts +7 -0
  93. package/dist/engine/modules/monty/montyRuntimePreambleBuild.d.ts.map +1 -0
  94. package/dist/engine/modules/monty/montyRuntimePreambleBuild.js +28 -0
  95. package/dist/engine/modules/monty/montyRuntimePreambleBuild.js.map +1 -0
  96. package/dist/engine/modules/monty/montyRuntimePreambleBuild.spec.d.ts +2 -0
  97. package/dist/engine/modules/monty/montyRuntimePreambleBuild.spec.d.ts.map +1 -0
  98. package/dist/engine/modules/monty/montyRuntimePreambleBuild.spec.js +35 -0
  99. package/dist/engine/modules/monty/montyRuntimePreambleBuild.spec.js.map +1 -0
  100. package/dist/engine/modules/rlm/rlmConvert.d.ts +2 -2
  101. package/dist/engine/modules/rlm/rlmConvert.d.ts.map +1 -1
  102. package/dist/engine/modules/rlm/rlmConvert.js +35 -2
  103. package/dist/engine/modules/rlm/rlmConvert.js.map +1 -1
  104. package/dist/engine/modules/rlm/rlmConvert.spec.js +26 -4
  105. package/dist/engine/modules/rlm/rlmConvert.spec.js.map +1 -1
  106. package/dist/engine/modules/rlm/rlmErrorTextBuild.d.ts.map +1 -1
  107. package/dist/engine/modules/rlm/rlmErrorTextBuild.js +11 -1
  108. package/dist/engine/modules/rlm/rlmErrorTextBuild.js.map +1 -1
  109. package/dist/engine/modules/rlm/rlmExecute.d.ts.map +1 -1
  110. package/dist/engine/modules/rlm/rlmExecute.js +12 -2
  111. package/dist/engine/modules/rlm/rlmExecute.js.map +1 -1
  112. package/dist/engine/modules/rlm/rlmExecute.spec.js +18 -10
  113. package/dist/engine/modules/rlm/rlmExecute.spec.js.map +1 -1
  114. package/dist/engine/modules/rlm/rlmNoToolsPromptBuild.js +2 -2
  115. package/dist/engine/modules/rlm/rlmNoToolsPromptBuild.js.map +1 -1
  116. package/dist/engine/modules/rlm/rlmNoToolsPromptBuild.spec.js +36 -1
  117. package/dist/engine/modules/rlm/rlmNoToolsPromptBuild.spec.js.map +1 -1
  118. package/dist/engine/modules/rlm/rlmRestore.spec.js +5 -4
  119. package/dist/engine/modules/rlm/rlmRestore.spec.js.map +1 -1
  120. package/dist/engine/modules/rlm/rlmTool.d.ts.map +1 -1
  121. package/dist/engine/modules/rlm/rlmTool.js +4 -3
  122. package/dist/engine/modules/rlm/rlmTool.js.map +1 -1
  123. package/dist/engine/modules/rlm/rlmTool.spec.js +9 -1
  124. package/dist/engine/modules/rlm/rlmTool.spec.js.map +1 -1
  125. package/dist/engine/modules/rlm/rlmToolDescriptionBuild.js +2 -2
  126. package/dist/engine/modules/rlm/rlmToolDescriptionBuild.js.map +1 -1
  127. package/dist/engine/modules/rlm/rlmToolDescriptionBuild.spec.js +36 -1
  128. package/dist/engine/modules/rlm/rlmToolDescriptionBuild.spec.js.map +1 -1
  129. package/dist/engine/modules/rlm/rlmToolResultBuild.d.ts +8 -1
  130. package/dist/engine/modules/rlm/rlmToolResultBuild.d.ts.map +1 -1
  131. package/dist/engine/modules/rlm/rlmToolResultBuild.js +16 -1
  132. package/dist/engine/modules/rlm/rlmToolResultBuild.js.map +1 -1
  133. package/dist/engine/modules/toolResolver.d.ts.map +1 -1
  134. package/dist/engine/modules/toolResolver.js +100 -6
  135. package/dist/engine/modules/toolResolver.js.map +1 -1
  136. package/dist/engine/modules/toolResolver.spec.js +106 -1
  137. package/dist/engine/modules/toolResolver.spec.js.map +1 -1
  138. package/dist/engine/modules/tools/background.d.ts.map +1 -1
  139. package/dist/engine/modules/tools/background.js +31 -4
  140. package/dist/engine/modules/tools/background.js.map +1 -1
  141. package/dist/engine/modules/tools/channelCreateTool.d.ts.map +1 -1
  142. package/dist/engine/modules/tools/channelCreateTool.js +22 -2
  143. package/dist/engine/modules/tools/channelCreateTool.js.map +1 -1
  144. package/dist/engine/modules/tools/channelHistoryTool.d.ts.map +1 -1
  145. package/dist/engine/modules/tools/channelHistoryTool.js +31 -2
  146. package/dist/engine/modules/tools/channelHistoryTool.js.map +1 -1
  147. package/dist/engine/modules/tools/channelMemberTool.d.ts.map +1 -1
  148. package/dist/engine/modules/tools/channelMemberTool.js +37 -6
  149. package/dist/engine/modules/tools/channelMemberTool.js.map +1 -1
  150. package/dist/engine/modules/tools/channelSendTool.d.ts.map +1 -1
  151. package/dist/engine/modules/tools/channelSendTool.js +23 -3
  152. package/dist/engine/modules/tools/channelSendTool.js.map +1 -1
  153. package/dist/engine/modules/tools/cron.d.ts.map +1 -1
  154. package/dist/engine/modules/tools/cron.js +68 -9
  155. package/dist/engine/modules/tools/cron.js.map +1 -1
  156. package/dist/engine/modules/tools/exposeCreateToolBuild.d.ts.map +1 -1
  157. package/dist/engine/modules/tools/exposeCreateToolBuild.js +26 -3
  158. package/dist/engine/modules/tools/exposeCreateToolBuild.js.map +1 -1
  159. package/dist/engine/modules/tools/exposeListToolBuild.d.ts.map +1 -1
  160. package/dist/engine/modules/tools/exposeListToolBuild.js +20 -3
  161. package/dist/engine/modules/tools/exposeListToolBuild.js.map +1 -1
  162. package/dist/engine/modules/tools/exposeRemoveToolBuild.d.ts.map +1 -1
  163. package/dist/engine/modules/tools/exposeRemoveToolBuild.js +18 -2
  164. package/dist/engine/modules/tools/exposeRemoveToolBuild.js.map +1 -1
  165. package/dist/engine/modules/tools/exposeUpdateToolBuild.d.ts.map +1 -1
  166. package/dist/engine/modules/tools/exposeUpdateToolBuild.js +22 -3
  167. package/dist/engine/modules/tools/exposeUpdateToolBuild.js.map +1 -1
  168. package/dist/engine/modules/tools/heartbeat.d.ts.map +1 -1
  169. package/dist/engine/modules/tools/heartbeat.js +62 -10
  170. package/dist/engine/modules/tools/heartbeat.js.map +1 -1
  171. package/dist/engine/modules/tools/image-generation.d.ts.map +1 -1
  172. package/dist/engine/modules/tools/image-generation.js +20 -2
  173. package/dist/engine/modules/tools/image-generation.js.map +1 -1
  174. package/dist/engine/modules/tools/mermaid-png.d.ts.map +1 -1
  175. package/dist/engine/modules/tools/mermaid-png.js +22 -2
  176. package/dist/engine/modules/tools/mermaid-png.js.map +1 -1
  177. package/dist/engine/modules/tools/permanentAgentToolBuild.d.ts.map +1 -1
  178. package/dist/engine/modules/tools/permanentAgentToolBuild.js +22 -2
  179. package/dist/engine/modules/tools/permanentAgentToolBuild.js.map +1 -1
  180. package/dist/engine/modules/tools/permissions.d.ts +26 -2
  181. package/dist/engine/modules/tools/permissions.d.ts.map +1 -1
  182. package/dist/engine/modules/tools/permissions.js +57 -5
  183. package/dist/engine/modules/tools/permissions.js.map +1 -1
  184. package/dist/engine/modules/tools/reaction.d.ts.map +1 -1
  185. package/dist/engine/modules/tools/reaction.js +22 -2
  186. package/dist/engine/modules/tools/reaction.js.map +1 -1
  187. package/dist/engine/modules/tools/send-file.d.ts.map +1 -1
  188. package/dist/engine/modules/tools/send-file.js +26 -2
  189. package/dist/engine/modules/tools/send-file.js.map +1 -1
  190. package/dist/engine/modules/tools/sendUserMessageTool.d.ts.map +1 -1
  191. package/dist/engine/modules/tools/sendUserMessageTool.js +20 -2
  192. package/dist/engine/modules/tools/sendUserMessageTool.js.map +1 -1
  193. package/dist/engine/modules/tools/sessionHistoryToolBuild.d.ts.map +1 -1
  194. package/dist/engine/modules/tools/sessionHistoryToolBuild.js +22 -2
  195. package/dist/engine/modules/tools/sessionHistoryToolBuild.js.map +1 -1
  196. package/dist/engine/modules/tools/signal.d.ts.map +1 -1
  197. package/dist/engine/modules/tools/signal.js +23 -2
  198. package/dist/engine/modules/tools/signal.js.map +1 -1
  199. package/dist/engine/modules/tools/signalEventsCsvToolBuild.d.ts.map +1 -1
  200. package/dist/engine/modules/tools/signalEventsCsvToolBuild.js +24 -2
  201. package/dist/engine/modules/tools/signalEventsCsvToolBuild.js.map +1 -1
  202. package/dist/engine/modules/tools/signalSubscribeToolBuild.d.ts.map +1 -1
  203. package/dist/engine/modules/tools/signalSubscribeToolBuild.js +22 -2
  204. package/dist/engine/modules/tools/signalSubscribeToolBuild.js.map +1 -1
  205. package/dist/engine/modules/tools/signalUnsubscribeToolBuild.d.ts.map +1 -1
  206. package/dist/engine/modules/tools/signalUnsubscribeToolBuild.js +24 -4
  207. package/dist/engine/modules/tools/signalUnsubscribeToolBuild.js.map +1 -1
  208. package/dist/engine/modules/tools/skillToolBuild.d.ts.map +1 -1
  209. package/dist/engine/modules/tools/skillToolBuild.js +30 -2
  210. package/dist/engine/modules/tools/skillToolBuild.js.map +1 -1
  211. package/dist/engine/modules/tools/toolResultFormatVerbose.spec.js +4 -2
  212. package/dist/engine/modules/tools/toolResultFormatVerbose.spec.js.map +1 -1
  213. package/dist/engine/modules/tools/toolResultTruncate.spec.js +4 -2
  214. package/dist/engine/modules/tools/toolResultTruncate.spec.js.map +1 -1
  215. package/dist/engine/modules/tools/toolReturnOutcome.d.ts +24 -0
  216. package/dist/engine/modules/tools/toolReturnOutcome.d.ts.map +1 -0
  217. package/dist/engine/modules/tools/toolReturnOutcome.js +53 -0
  218. package/dist/engine/modules/tools/toolReturnOutcome.js.map +1 -0
  219. package/dist/engine/modules/tools/topologyToolBuild.d.ts.map +1 -1
  220. package/dist/engine/modules/tools/topologyToolBuild.js +28 -3
  221. package/dist/engine/modules/tools/topologyToolBuild.js.map +1 -1
  222. package/dist/engine/modules/tools/types.d.ts +19 -3
  223. package/dist/engine/modules/tools/types.d.ts.map +1 -1
  224. package/dist/engine/plugins/manager.spec.js +13 -1
  225. package/dist/engine/plugins/manager.spec.js.map +1 -1
  226. package/dist/plugins/anthropic-fetch/plugin.d.ts +1 -1
  227. package/dist/plugins/anthropic-fetch/plugin.d.ts.map +1 -1
  228. package/dist/plugins/anthropic-fetch/plugin.js +22 -2
  229. package/dist/plugins/anthropic-fetch/plugin.js.map +1 -1
  230. package/dist/plugins/anthropic-search/plugin.d.ts +1 -1
  231. package/dist/plugins/anthropic-search/plugin.d.ts.map +1 -1
  232. package/dist/plugins/anthropic-search/plugin.js +22 -2
  233. package/dist/plugins/anthropic-search/plugin.js.map +1 -1
  234. package/dist/plugins/brave-search/plugin.d.ts +1 -1
  235. package/dist/plugins/brave-search/plugin.d.ts.map +1 -1
  236. package/dist/plugins/brave-search/plugin.js +20 -2
  237. package/dist/plugins/brave-search/plugin.js.map +1 -1
  238. package/dist/plugins/dashboard/site/404.html +1 -1
  239. package/dist/plugins/dashboard/site/_next/static/chunks/app/agent/{page-ef4ffb6752c06a6c.js → page-22dfc72e39faa099.js} +1 -1
  240. package/dist/plugins/dashboard/site/_next/static/chunks/app/agents/{page-41fd13b840f1700b.js → page-7b0c562c7534861a.js} +1 -1
  241. package/dist/plugins/dashboard/site/_next/static/chunks/app/automations/{page-2f1baf2daf5b7c64.js → page-9df2c7b543034651.js} +1 -1
  242. package/dist/plugins/dashboard/site/_next/static/chunks/app/connectors/{page-b176ae106af9aea0.js → page-036fb8590b50cc57.js} +1 -1
  243. package/dist/plugins/dashboard/site/_next/static/chunks/app/layout-08ad304396408ed8.js +1 -0
  244. package/dist/plugins/dashboard/site/_next/static/chunks/app/{page-91206a2a478288f5.js → page-8c0afc21c643ff8b.js} +1 -1
  245. package/dist/plugins/dashboard/site/_next/static/chunks/app/processes/{page-47342f6373baf797.js → page-98da30b493398bf7.js} +1 -1
  246. package/dist/plugins/dashboard/site/_next/static/chunks/app/providers/{page-d4b6da83fe486a9a.js → page-f0d02a91a69b9eb8.js} +1 -1
  247. package/dist/plugins/dashboard/site/_next/static/chunks/app/signals/{page-b87fc2cf8ad0f970.js → page-44ccbe1e003b1905.js} +1 -1
  248. package/dist/plugins/dashboard/site/_next/static/chunks/app/telemetry/{page-a878e1b05e076d2c.js → page-98aa9367902606e3.js} +1 -1
  249. package/dist/plugins/dashboard/site/_next/static/chunks/app/tools/{page-def9c6041a408295.js → page-6ff89d201c006847.js} +1 -1
  250. package/dist/plugins/dashboard/site/_next/static/chunks/{main-app-aa3f83c1af66c8cc.js → main-app-e47c27dd717b70ea.js} +1 -1
  251. package/dist/plugins/dashboard/site/agent.html +1 -1
  252. package/dist/plugins/dashboard/site/agent.txt +2 -2
  253. package/dist/plugins/dashboard/site/agents.html +1 -1
  254. package/dist/plugins/dashboard/site/agents.txt +2 -2
  255. package/dist/plugins/dashboard/site/automations.html +1 -1
  256. package/dist/plugins/dashboard/site/automations.txt +2 -2
  257. package/dist/plugins/dashboard/site/connectors.html +1 -1
  258. package/dist/plugins/dashboard/site/connectors.txt +2 -2
  259. package/dist/plugins/dashboard/site/index.html +2 -2
  260. package/dist/plugins/dashboard/site/index.txt +2 -2
  261. package/dist/plugins/dashboard/site/processes.html +1 -1
  262. package/dist/plugins/dashboard/site/processes.txt +2 -2
  263. package/dist/plugins/dashboard/site/providers.html +1 -1
  264. package/dist/plugins/dashboard/site/providers.txt +2 -2
  265. package/dist/plugins/dashboard/site/signals.html +1 -1
  266. package/dist/plugins/dashboard/site/signals.txt +2 -2
  267. package/dist/plugins/dashboard/site/telemetry.html +2 -2
  268. package/dist/plugins/dashboard/site/telemetry.txt +2 -2
  269. package/dist/plugins/dashboard/site/tools.html +1 -1
  270. package/dist/plugins/dashboard/site/tools.txt +2 -2
  271. package/dist/plugins/database/plugin.d.ts +1 -1
  272. package/dist/plugins/database/plugin.d.ts.map +1 -1
  273. package/dist/plugins/database/plugin.js +31 -6
  274. package/dist/plugins/database/plugin.js.map +1 -1
  275. package/dist/plugins/exa-ai/plugin.d.ts +1 -1
  276. package/dist/plugins/exa-ai/plugin.d.ts.map +1 -1
  277. package/dist/plugins/exa-ai/plugin.js +22 -2
  278. package/dist/plugins/exa-ai/plugin.js.map +1 -1
  279. package/dist/plugins/firecrawl/plugin.d.ts +1 -1
  280. package/dist/plugins/firecrawl/plugin.d.ts.map +1 -1
  281. package/dist/plugins/firecrawl/plugin.js +22 -2
  282. package/dist/plugins/firecrawl/plugin.js.map +1 -1
  283. package/dist/plugins/gemini-search/plugin.d.ts +1 -1
  284. package/dist/plugins/gemini-search/plugin.d.ts.map +1 -1
  285. package/dist/plugins/gemini-search/plugin.js +22 -2
  286. package/dist/plugins/gemini-search/plugin.js.map +1 -1
  287. package/dist/plugins/memory/tool.d.ts.map +1 -1
  288. package/dist/plugins/memory/tool.js +58 -10
  289. package/dist/plugins/memory/tool.js.map +1 -1
  290. package/dist/plugins/monty-python/tool.d.ts.map +1 -1
  291. package/dist/plugins/monty-python/tool.js +18 -1
  292. package/dist/plugins/monty-python/tool.js.map +1 -1
  293. package/dist/plugins/openai-search/plugin.d.ts +1 -1
  294. package/dist/plugins/openai-search/plugin.d.ts.map +1 -1
  295. package/dist/plugins/openai-search/plugin.js +22 -2
  296. package/dist/plugins/openai-search/plugin.js.map +1 -1
  297. package/dist/plugins/perplexity-search/plugin.d.ts +1 -1
  298. package/dist/plugins/perplexity-search/plugin.d.ts.map +1 -1
  299. package/dist/plugins/perplexity-search/plugin.js +22 -2
  300. package/dist/plugins/perplexity-search/plugin.js.map +1 -1
  301. package/dist/plugins/shell/processTools.d.ts.map +1 -1
  302. package/dist/plugins/shell/processTools.js +74 -32
  303. package/dist/plugins/shell/processTools.js.map +1 -1
  304. package/dist/plugins/shell/tool.d.ts.map +1 -1
  305. package/dist/plugins/shell/tool.js +64 -6
  306. package/dist/plugins/shell/tool.js.map +1 -1
  307. package/dist/plugins/web-fetch/plugin.d.ts +1 -1
  308. package/dist/plugins/web-fetch/plugin.d.ts.map +1 -1
  309. package/dist/plugins/web-fetch/plugin.js +24 -2
  310. package/dist/plugins/web-fetch/plugin.js.map +1 -1
  311. package/dist/skills/app-creator/SKILL.md +207 -0
  312. package/dist/skills/app-creator/references/rules-patterns.md +36 -0
  313. package/dist/skills/app-creator/references/workflows.md +32 -0
  314. package/dist/skills/scheduling/SKILL.md +2 -2
  315. package/dist/skills/skill-creator/SKILL.md +17 -3
  316. package/dist/types.d.ts +1 -1
  317. package/dist/types.d.ts.map +1 -1
  318. package/package.json +1 -1
  319. package/dist/engine/agents/ops/agentDescriptorBuild.d.ts +0 -7
  320. package/dist/engine/agents/ops/agentDescriptorBuild.d.ts.map +0 -1
  321. package/dist/engine/agents/ops/agentDescriptorBuild.js +0 -16
  322. package/dist/engine/agents/ops/agentDescriptorBuild.js.map +0 -1
  323. package/dist/engine/agents/ops/agentHistoryContextBuild.d.ts +0 -8
  324. package/dist/engine/agents/ops/agentHistoryContextBuild.d.ts.map +0 -1
  325. package/dist/engine/agents/ops/agentHistoryContextBuild.js +0 -86
  326. package/dist/engine/agents/ops/agentHistoryContextBuild.js.map +0 -1
  327. package/dist/engine/agents/ops/agentHistoryContextBuild.spec.d.ts +0 -2
  328. package/dist/engine/agents/ops/agentHistoryContextBuild.spec.d.ts.map +0 -1
  329. package/dist/engine/agents/ops/agentHistoryContextBuild.spec.js +0 -80
  330. package/dist/engine/agents/ops/agentHistoryContextBuild.spec.js.map +0 -1
  331. package/dist/engine/agents/ops/agentHistoryPendingToolResultsBuild.d.ts +0 -8
  332. package/dist/engine/agents/ops/agentHistoryPendingToolResultsBuild.d.ts.map +0 -1
  333. package/dist/engine/agents/ops/agentHistoryPendingToolResultsBuild.js +0 -60
  334. package/dist/engine/agents/ops/agentHistoryPendingToolResultsBuild.js.map +0 -1
  335. package/dist/engine/agents/ops/agentHistoryPendingToolResultsBuild.spec.d.ts +0 -2
  336. package/dist/engine/agents/ops/agentHistoryPendingToolResultsBuild.spec.d.ts.map +0 -1
  337. package/dist/engine/agents/ops/agentHistoryPendingToolResultsBuild.spec.js +0 -85
  338. package/dist/engine/agents/ops/agentHistoryPendingToolResultsBuild.spec.js.map +0 -1
  339. package/dist/engine/agents/ops/agentHistorySummaryBuild.d.ts +0 -20
  340. package/dist/engine/agents/ops/agentHistorySummaryBuild.d.ts.map +0 -1
  341. package/dist/engine/agents/ops/agentHistorySummaryBuild.js +0 -61
  342. package/dist/engine/agents/ops/agentHistorySummaryBuild.js.map +0 -1
  343. package/dist/engine/agents/ops/agentHistorySummaryBuild.spec.d.ts +0 -2
  344. package/dist/engine/agents/ops/agentHistorySummaryBuild.spec.d.ts.map +0 -1
  345. package/dist/engine/agents/ops/agentHistorySummaryBuild.spec.js +0 -76
  346. package/dist/engine/agents/ops/agentHistorySummaryBuild.spec.js.map +0 -1
  347. package/dist/engine/agents/ops/agentPathBuild.d.ts +0 -7
  348. package/dist/engine/agents/ops/agentPathBuild.d.ts.map +0 -1
  349. package/dist/engine/agents/ops/agentPathBuild.js +0 -9
  350. package/dist/engine/agents/ops/agentPathBuild.js.map +0 -1
  351. package/dist/engine/agents/ops/agentPathForDescriptor.d.ts +0 -7
  352. package/dist/engine/agents/ops/agentPathForDescriptor.d.ts.map +0 -1
  353. package/dist/engine/agents/ops/agentPathForDescriptor.js +0 -17
  354. package/dist/engine/agents/ops/agentPathForDescriptor.js.map +0 -1
  355. package/dist/engine/agents/ops/agentPermanentPromptBuild.d.ts +0 -7
  356. package/dist/engine/agents/ops/agentPermanentPromptBuild.d.ts.map +0 -1
  357. package/dist/engine/agents/ops/agentPermanentPromptBuild.js +0 -42
  358. package/dist/engine/agents/ops/agentPermanentPromptBuild.js.map +0 -1
  359. package/dist/engine/agents/ops/agentPermanentPromptBuild.spec.d.ts +0 -2
  360. package/dist/engine/agents/ops/agentPermanentPromptBuild.spec.d.ts.map +0 -1
  361. package/dist/engine/agents/ops/agentPermanentPromptBuild.spec.js +0 -47
  362. package/dist/engine/agents/ops/agentPermanentPromptBuild.spec.js.map +0 -1
  363. package/dist/engine/agents/ops/contextCompactionStatusBuild.d.ts +0 -20
  364. package/dist/engine/agents/ops/contextCompactionStatusBuild.d.ts.map +0 -1
  365. package/dist/engine/agents/ops/contextCompactionStatusBuild.js +0 -31
  366. package/dist/engine/agents/ops/contextCompactionStatusBuild.js.map +0 -1
  367. package/dist/engine/agents/ops/contextCompactionStatusBuild.spec.d.ts +0 -2
  368. package/dist/engine/agents/ops/contextCompactionStatusBuild.spec.d.ts.map +0 -1
  369. package/dist/engine/agents/ops/contextCompactionStatusBuild.spec.js +0 -37
  370. package/dist/engine/agents/ops/contextCompactionStatusBuild.spec.js.map +0 -1
  371. package/dist/engine/modules/rlm/rlmParameterEntriesBuild.d.ts +0 -13
  372. package/dist/engine/modules/rlm/rlmParameterEntriesBuild.d.ts.map +0 -1
  373. package/dist/engine/modules/rlm/rlmParameterEntriesBuild.js.map +0 -1
  374. package/dist/engine/modules/rlm/rlmPreambleBuild.d.ts.map +0 -1
  375. package/dist/engine/modules/rlm/rlmPreambleBuild.js +0 -122
  376. package/dist/engine/modules/rlm/rlmPreambleBuild.js.map +0 -1
  377. package/dist/engine/modules/rlm/rlmPreambleBuild.spec.d.ts +0 -2
  378. package/dist/engine/modules/rlm/rlmPreambleBuild.spec.d.ts.map +0 -1
  379. package/dist/engine/modules/rlm/rlmPreambleBuild.spec.js +0 -62
  380. package/dist/engine/modules/rlm/rlmPreambleBuild.spec.js.map +0 -1
  381. package/dist/engine/modules/tools/agentListToolBuild.d.ts +0 -7
  382. package/dist/engine/modules/tools/agentListToolBuild.d.ts.map +0 -1
  383. package/dist/engine/modules/tools/agentListToolBuild.js +0 -70
  384. package/dist/engine/modules/tools/agentListToolBuild.js.map +0 -1
  385. package/dist/engine/modules/tools/agentListToolBuild.spec.d.ts +0 -2
  386. package/dist/engine/modules/tools/agentListToolBuild.spec.d.ts.map +0 -1
  387. package/dist/engine/modules/tools/agentListToolBuild.spec.js +0 -94
  388. package/dist/engine/modules/tools/agentListToolBuild.spec.js.map +0 -1
  389. package/dist/plugins/dashboard/site/_next/static/chunks/app/layout-6a16ba4021006dee.js +0 -1
  390. package/dist/prompts/AGENTIC.md +0 -46
  391. /package/dist/plugins/dashboard/site/_next/static/{0HgjRDPERyvc-vCspO6YA → jO4Z9GfuRRZ-KeKEyO3ST}/_buildManifest.js +0 -0
  392. /package/dist/plugins/dashboard/site/_next/static/{0HgjRDPERyvc-vCspO6YA → jO4Z9GfuRRZ-KeKEyO3ST}/_ssgManifest.js +0 -0
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Escapes triple quotes for safe embedding in Python docstrings.
3
+ * Expects: value is plain text description content.
4
+ */
5
+ export function montyPythonDocstringEscape(value) {
6
+ return value.replace(/\"\"\"/g, '\\"\\"\\"');
7
+ }
8
+ //# sourceMappingURL=montyPythonDocstringEscape.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"montyPythonDocstringEscape.js","sourceRoot":"","sources":["../../../../sources/engine/modules/monty/montyPythonDocstringEscape.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAa;IACtD,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAC/C,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Returns true when a string is a valid Python identifier.
3
+ * Expects: value is an unqualified function or argument name.
4
+ */
5
+ export declare function montyPythonIdentifierIs(value: string): boolean;
6
+ //# sourceMappingURL=montyPythonIdentifierIs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"montyPythonIdentifierIs.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/monty/montyPythonIdentifierIs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE9D"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Returns true when a string is a valid Python identifier.
3
+ * Expects: value is an unqualified function or argument name.
4
+ */
5
+ export function montyPythonIdentifierIs(value) {
6
+ return /^[A-Za-z_][A-Za-z0-9_]*$/.test(value);
7
+ }
8
+ //# sourceMappingURL=montyPythonIdentifierIs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"montyPythonIdentifierIs.js","sourceRoot":"","sources":["../../../../sources/engine/modules/monty/montyPythonIdentifierIs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,OAAO,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Tool } from "@mariozechner/pi-ai";
2
+ /**
3
+ * Builds a Python function signature from tool JSON schema parameters.
4
+ * Expects: required entries appear before optional entries.
5
+ */
6
+ export declare function montyPythonSignatureBuild(tool: Tool): string;
7
+ //# sourceMappingURL=montyPythonSignatureBuild.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"montyPythonSignatureBuild.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/monty/montyPythonSignatureBuild.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAKhD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAc5D"}
@@ -0,0 +1,20 @@
1
+ import { montyParameterEntriesBuild } from "./montyParameterEntriesBuild.js";
2
+ import { montyPythonTypeFromSchema } from "./montyPythonTypeFromSchema.js";
3
+ /**
4
+ * Builds a Python function signature from tool JSON schema parameters.
5
+ * Expects: required entries appear before optional entries.
6
+ */
7
+ export function montyPythonSignatureBuild(tool) {
8
+ const parameterEntries = montyParameterEntriesBuild(tool);
9
+ const signatureEntries = [];
10
+ for (const { name, schema, required } of parameterEntries) {
11
+ const typeHint = montyPythonTypeFromSchema(schema);
12
+ if (required) {
13
+ signatureEntries.push(`${name}: ${typeHint}`);
14
+ continue;
15
+ }
16
+ signatureEntries.push(`${name}: ${typeHint} | None = None`);
17
+ }
18
+ return signatureEntries.join(", ");
19
+ }
20
+ //# sourceMappingURL=montyPythonSignatureBuild.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"montyPythonSignatureBuild.js","sourceRoot":"","sources":["../../../../sources/engine/modules/monty/montyPythonSignatureBuild.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAU;IAClD,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,gBAAgB,GAAa,EAAE,CAAC;IAEtC,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,gBAAgB,EAAE,CAAC;QAC1D,MAAM,QAAQ,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,QAAQ,EAAE,CAAC;YACb,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,QAAQ,EAAE,CAAC,CAAC;YAC9C,SAAS;QACX,CAAC;QACD,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,QAAQ,gBAAgB,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=montyPythonSignatureBuild.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"montyPythonSignatureBuild.spec.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/monty/montyPythonSignatureBuild.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { montyPythonSignatureBuild } from "./montyPythonSignatureBuild.js";
3
+ describe("montyPythonSignatureBuild", () => {
4
+ it("builds exact required-first signature with defaults for optional args", () => {
5
+ const tool = {
6
+ name: "create_task",
7
+ description: "Create task",
8
+ parameters: {
9
+ type: "object",
10
+ properties: {
11
+ note: { type: "string" },
12
+ taskId: { type: "string" },
13
+ priority: { type: "integer" }
14
+ },
15
+ required: ["taskId"],
16
+ additionalProperties: false
17
+ }
18
+ };
19
+ expect(montyPythonSignatureBuild(tool)).toBe("taskId: str, note: str | None = None, priority: int | None = None");
20
+ });
21
+ it("skips invalid Python parameter names exactly", () => {
22
+ const tool = {
23
+ name: "search",
24
+ description: "Search",
25
+ parameters: {
26
+ type: "object",
27
+ properties: {
28
+ query: { type: "string" },
29
+ "bad-name": { type: "string" },
30
+ page: { type: "integer" }
31
+ },
32
+ required: ["query", "bad-name"],
33
+ additionalProperties: false
34
+ }
35
+ };
36
+ expect(montyPythonSignatureBuild(tool)).toBe("query: str, page: int | None = None");
37
+ });
38
+ });
39
+ //# sourceMappingURL=montyPythonSignatureBuild.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"montyPythonSignatureBuild.spec.js","sourceRoot":"","sources":["../../../../sources/engine/modules/monty/montyPythonSignatureBuild.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAG9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;QAC/E,MAAM,IAAI,GAAG;YACX,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,aAAa;YAC1B,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC1B,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC9B;gBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;gBACpB,oBAAoB,EAAE,KAAK;aAC5B;SACiB,CAAC;QAErB,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAC1C,mEAAmE,CACpE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,IAAI,GAAG;YACX,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,QAAQ;YACrB,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC9B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC1B;gBACD,QAAQ,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;gBAC/B,oBAAoB,EAAE,KAAK;aAC5B;SACiB,CAAC;QAErB,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Converts a JSON-schema-like type fragment into a Python type hint.
3
+ * Expects: schema shape follows tool parameter schema conventions.
4
+ */
5
+ export declare function montyPythonTypeFromSchema(schema: unknown): string;
6
+ //# sourceMappingURL=montyPythonTypeFromSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"montyPythonTypeFromSchema.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/monty/montyPythonTypeFromSchema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAuDjE"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Converts a JSON-schema-like type fragment into a Python type hint.
3
+ * Expects: schema shape follows tool parameter schema conventions.
4
+ */
5
+ export function montyPythonTypeFromSchema(schema) {
6
+ if (!recordIs(schema)) {
7
+ return "Any";
8
+ }
9
+ const anyOf = schema.anyOf;
10
+ if (Array.isArray(anyOf) && anyOf.length > 0) {
11
+ const union = anyOf
12
+ .map((candidate) => montyPythonTypeFromSchema(candidate))
13
+ .filter((candidate, index, all) => all.indexOf(candidate) === index);
14
+ return union.length > 0 ? union.join(" | ") : "Any";
15
+ }
16
+ const oneOf = schema.oneOf;
17
+ if (Array.isArray(oneOf) && oneOf.length > 0) {
18
+ const union = oneOf
19
+ .map((candidate) => montyPythonTypeFromSchema(candidate))
20
+ .filter((candidate, index, all) => all.indexOf(candidate) === index);
21
+ return union.length > 0 ? union.join(" | ") : "Any";
22
+ }
23
+ const type = schema.type;
24
+ if (typeof type === "string") {
25
+ if (type === "string") {
26
+ return "str";
27
+ }
28
+ if (type === "integer") {
29
+ return "int";
30
+ }
31
+ if (type === "number") {
32
+ return "float";
33
+ }
34
+ if (type === "boolean") {
35
+ return "bool";
36
+ }
37
+ if (type === "null") {
38
+ return "None";
39
+ }
40
+ if (type === "array") {
41
+ return `list[${montyPythonTypeFromSchema(schema.items)}]`;
42
+ }
43
+ if (type === "object") {
44
+ return "dict[str, Any]";
45
+ }
46
+ }
47
+ if (Array.isArray(type) && type.length > 0) {
48
+ const union = type
49
+ .filter((entry) => typeof entry === "string")
50
+ .map((entry) => montyPythonTypeFromSchema({ type: entry }))
51
+ .filter((candidate, index, all) => all.indexOf(candidate) === index);
52
+ return union.length > 0 ? union.join(" | ") : "Any";
53
+ }
54
+ return "Any";
55
+ }
56
+ function recordIs(value) {
57
+ return typeof value === "object" && value !== null && !Array.isArray(value);
58
+ }
59
+ //# sourceMappingURL=montyPythonTypeFromSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"montyPythonTypeFromSchema.js","sourceRoot":"","sources":["../../../../sources/engine/modules/monty/montyPythonTypeFromSchema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=montyPythonTypeFromSchema.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"montyPythonTypeFromSchema.spec.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/monty/montyPythonTypeFromSchema.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { montyPythonTypeFromSchema } from "./montyPythonTypeFromSchema.js";
3
+ describe("montyPythonTypeFromSchema", () => {
4
+ it("converts primitive schema types exactly", () => {
5
+ expect(montyPythonTypeFromSchema({ type: "string" })).toBe("str");
6
+ expect(montyPythonTypeFromSchema({ type: "integer" })).toBe("int");
7
+ expect(montyPythonTypeFromSchema({ type: "number" })).toBe("float");
8
+ expect(montyPythonTypeFromSchema({ type: "boolean" })).toBe("bool");
9
+ expect(montyPythonTypeFromSchema({ type: "null" })).toBe("None");
10
+ });
11
+ it("converts array and object schemas exactly", () => {
12
+ expect(montyPythonTypeFromSchema({ type: "array", items: { type: "string" } })).toBe("list[str]");
13
+ expect(montyPythonTypeFromSchema({ type: "object", additionalProperties: false })).toBe("dict[str, Any]");
14
+ });
15
+ it("converts union schemas exactly", () => {
16
+ expect(montyPythonTypeFromSchema({ type: ["string", "null"] })).toBe("str | None");
17
+ expect(montyPythonTypeFromSchema({ anyOf: [{ type: "integer" }, { type: "null" }] })).toBe("int | None");
18
+ expect(montyPythonTypeFromSchema({ oneOf: [{ type: "string" }, { type: "number" }] })).toBe("str | float");
19
+ });
20
+ it("falls back to Any for unsupported schema shapes", () => {
21
+ expect(montyPythonTypeFromSchema({})).toBe("Any");
22
+ expect(montyPythonTypeFromSchema("x")).toBe("Any");
23
+ expect(montyPythonTypeFromSchema(null)).toBe("Any");
24
+ });
25
+ });
26
+ //# sourceMappingURL=montyPythonTypeFromSchema.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"montyPythonTypeFromSchema.spec.js","sourceRoot":"","sources":["../../../../sources/engine/modules/monty/montyPythonTypeFromSchema.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClE,MAAM,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpE,MAAM,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpE,MAAM,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClG,MAAM,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC5G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnF,MAAM,CAAC,yBAAyB,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzG,MAAM,CAAC,yBAAyB,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC7G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=montyPythonTypeFromSchemaRuntime.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"montyPythonTypeFromSchemaRuntime.spec.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/monty/montyPythonTypeFromSchemaRuntime.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,118 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { buildMontyPythonTool } from "../../../plugins/monty-python/tool.js";
3
+ import { montyPythonTypeFromSchema } from "./montyPythonTypeFromSchema.js";
4
+ const runtimeCases = [
5
+ {
6
+ name: "string",
7
+ schema: { type: "string" },
8
+ expectedTypeHint: "str",
9
+ validReturn: "'hello'",
10
+ invalidReturn: "1"
11
+ },
12
+ {
13
+ name: "integer",
14
+ schema: { type: "integer" },
15
+ expectedTypeHint: "int",
16
+ validReturn: "42",
17
+ invalidReturn: "'oops'"
18
+ },
19
+ {
20
+ name: "number",
21
+ schema: { type: "number" },
22
+ expectedTypeHint: "float",
23
+ validReturn: "3.14",
24
+ invalidReturn: "'oops'"
25
+ },
26
+ {
27
+ name: "boolean",
28
+ schema: { type: "boolean" },
29
+ expectedTypeHint: "bool",
30
+ validReturn: "True",
31
+ invalidReturn: "'oops'"
32
+ },
33
+ {
34
+ name: "null",
35
+ schema: { type: "null" },
36
+ expectedTypeHint: "None",
37
+ validReturn: "None",
38
+ invalidReturn: "1"
39
+ },
40
+ {
41
+ name: "array of integers",
42
+ schema: { type: "array", items: { type: "integer" } },
43
+ expectedTypeHint: "list[int]",
44
+ validReturn: "[1, 2, 3]",
45
+ invalidReturn: "['oops']"
46
+ },
47
+ {
48
+ name: "object",
49
+ schema: { type: "object", properties: { id: { type: "integer" } } },
50
+ expectedTypeHint: "dict[str, Any]",
51
+ validReturn: "{'id': 1}",
52
+ invalidReturn: "1"
53
+ },
54
+ {
55
+ name: "array of objects",
56
+ schema: {
57
+ type: "array",
58
+ items: {
59
+ type: "object",
60
+ properties: {
61
+ id: { type: "integer" }
62
+ }
63
+ }
64
+ },
65
+ expectedTypeHint: "list[dict[str, Any]]",
66
+ validReturn: "[{'id': 1}]",
67
+ invalidReturn: "[1]"
68
+ }
69
+ ];
70
+ describe("montyPythonTypeFromSchema runtime", () => {
71
+ it.each(runtimeCases)("type-checks generated return annotation for $name", async (testCase) => {
72
+ const typeHint = montyPythonTypeFromSchema(testCase.schema);
73
+ expect(typeHint).toBe(testCase.expectedTypeHint);
74
+ const valid = await pythonTypeCheckRun(typeHint, testCase.validReturn);
75
+ expect(valid.toolMessage.isError).toBe(false);
76
+ const invalid = await pythonTypeCheckRun(typeHint, testCase.invalidReturn);
77
+ expect(invalid.toolMessage.isError).toBe(true);
78
+ expect(toolMessageText(invalid)).toContain("Python type check failed");
79
+ });
80
+ });
81
+ async function pythonTypeCheckRun(returnType, returnExpression) {
82
+ const tool = buildMontyPythonTool("python");
83
+ const code = [
84
+ "from typing import Any",
85
+ `def produce() -> ${returnType}:`,
86
+ ` return ${returnExpression}`,
87
+ "produce()"
88
+ ].join("\n");
89
+ return tool.execute({ code, typeCheck: true }, toolExecutionContextBuild(), { id: "type-check", name: "python" });
90
+ }
91
+ function toolExecutionContextBuild() {
92
+ return {
93
+ connectorRegistry: null,
94
+ fileStore: null,
95
+ auth: null,
96
+ logger: console,
97
+ assistant: null,
98
+ permissions: {
99
+ workingDir: "/tmp",
100
+ writeDirs: [],
101
+ readDirs: [],
102
+ network: false,
103
+ events: false
104
+ },
105
+ agent: null,
106
+ source: "test",
107
+ messageContext: {},
108
+ agentSystem: null,
109
+ heartbeats: null
110
+ };
111
+ }
112
+ function toolMessageText(result) {
113
+ return result.toolMessage.content
114
+ .filter((entry) => entry.type === "text")
115
+ .map((entry) => ("text" in entry ? entry.text ?? "" : ""))
116
+ .join("\n");
117
+ }
118
+ //# sourceMappingURL=montyPythonTypeFromSchemaRuntime.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"montyPythonTypeFromSchemaRuntime.spec.js","sourceRoot":"","sources":["../../../../sources/engine/modules/monty/montyPythonTypeFromSchemaRuntime.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Internal metadata key used to expose tool return schema to Monty preamble builders.
3
+ * Expects: attached as a non-enumerable property on Tool objects.
4
+ */
5
+ export declare const MONTY_RESPONSE_SCHEMA_KEY = "xResponseSchema";
6
+ //# sourceMappingURL=montyResponseSchemaKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"montyResponseSchemaKey.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/monty/montyResponseSchemaKey.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,yBAAyB,oBAAoB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Internal metadata key used to expose tool return schema to Monty preamble builders.
3
+ * Expects: attached as a non-enumerable property on Tool objects.
4
+ */
5
+ export const MONTY_RESPONSE_SCHEMA_KEY = "xResponseSchema";
6
+ //# sourceMappingURL=montyResponseSchemaKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"montyResponseSchemaKey.js","sourceRoot":"","sources":["../../../../sources/engine/modules/monty/montyResponseSchemaKey.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Builds a PascalCase response type name from a tool function name.
3
+ * Expects: functionName is a Python identifier.
4
+ */
5
+ export declare function montyResponseTypeNameFromFunction(functionName: string): string;
6
+ //# sourceMappingURL=montyResponseTypeNameFromFunction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"montyResponseTypeNameFromFunction.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/monty/montyResponseTypeNameFromFunction.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAG9E"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Builds a PascalCase response type name from a tool function name.
3
+ * Expects: functionName is a Python identifier.
4
+ */
5
+ export function montyResponseTypeNameFromFunction(functionName) {
6
+ const base = pascalCaseFromIdentifier(functionName);
7
+ return `${base}Response`;
8
+ }
9
+ function pascalCaseFromIdentifier(value) {
10
+ const normalized = value.replace(/[^A-Za-z0-9]+/g, " ").trim();
11
+ const source = normalized.length > 0 ? normalized : value;
12
+ const parts = source.match(/[A-Z]+(?![a-z])|[A-Z]?[a-z]+|[0-9]+/g) ?? [];
13
+ const tokens = parts.map((part) => part.toLowerCase()).filter((part) => part.length > 0);
14
+ if (tokens.length === 0) {
15
+ return "Tool";
16
+ }
17
+ const candidate = tokens
18
+ .map((part) => part.charAt(0).toUpperCase() + part.slice(1))
19
+ .join("");
20
+ if (/^[0-9]/.test(candidate)) {
21
+ return `Tool${candidate}`;
22
+ }
23
+ return candidate;
24
+ }
25
+ //# sourceMappingURL=montyResponseTypeNameFromFunction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"montyResponseTypeNameFromFunction.js","sourceRoot":"","sources":["../../../../sources/engine/modules/monty/montyResponseTypeNameFromFunction.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,iCAAiC,CAAC,YAAoB;IACpE,MAAM,IAAI,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAC;IACpD,OAAO,GAAG,IAAI,UAAU,CAAC;AAC3B,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa;IAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/D,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,IAAI,EAAE,CAAC;IACzE,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,SAAS,GAAG,MAAM;SACrB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO,OAAO,SAAS,EAAE,CAAC;IAC5B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=montyResponseTypeNameFromFunction.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"montyResponseTypeNameFromFunction.spec.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/monty/montyResponseTypeNameFromFunction.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { montyResponseTypeNameFromFunction } from "./montyResponseTypeNameFromFunction.js";
3
+ describe("montyResponseTypeNameFromFunction", () => {
4
+ it("builds PascalCase names from snake_case function names", () => {
5
+ expect(montyResponseTypeNameFromFunction("read_file")).toBe("ReadFileResponse");
6
+ expect(montyResponseTypeNameFromFunction("web_search")).toBe("WebSearchResponse");
7
+ });
8
+ it("builds PascalCase names from mixed-case function names", () => {
9
+ expect(montyResponseTypeNameFromFunction("webSearch")).toBe("WebSearchResponse");
10
+ expect(montyResponseTypeNameFromFunction("URLFetch")).toBe("UrlFetchResponse");
11
+ });
12
+ });
13
+ //# sourceMappingURL=montyResponseTypeNameFromFunction.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"montyResponseTypeNameFromFunction.spec.js","sourceRoot":"","sources":["../../../../sources/engine/modules/monty/montyResponseTypeNameFromFunction.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAE3F,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,CAAC,iCAAiC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAChF,MAAM,CAAC,iCAAiC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,CAAC,iCAAiC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACjF,MAAM,CAAC,iCAAiC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Builds TypedDict class lines for a function response schema.
3
+ * Expects: responseTypeName is a valid Python class identifier.
4
+ */
5
+ export declare function montyResponseTypedDictLinesBuild(responseTypeName: string, responseSchema: unknown): string[];
6
+ //# sourceMappingURL=montyResponseTypedDictLinesBuild.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"montyResponseTypedDictLinesBuild.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/monty/montyResponseTypedDictLinesBuild.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,OAAO,GACtB,MAAM,EAAE,CAcV"}
@@ -0,0 +1,77 @@
1
+ import { montyPythonIdentifierIs } from "./montyPythonIdentifierIs.js";
2
+ import { montyPythonTypeFromSchema } from "./montyPythonTypeFromSchema.js";
3
+ import { montyResponseTypeNameFromFunction } from "./montyResponseTypeNameFromFunction.js";
4
+ /**
5
+ * Builds TypedDict class lines for a function response schema.
6
+ * Expects: responseTypeName is a valid Python class identifier.
7
+ */
8
+ export function montyResponseTypedDictLinesBuild(responseTypeName, responseSchema) {
9
+ const definitions = [];
10
+ const rootFields = typedDictFieldsBuild(responseTypeName, responseSchema, definitions);
11
+ definitions.push({ name: responseTypeName, fields: rootFields });
12
+ const lines = [];
13
+ for (const [index, definition] of definitions.entries()) {
14
+ if (index > 0) {
15
+ lines.push("");
16
+ }
17
+ const fieldsExpression = typedDictFieldsExpressionBuild(definition.fields);
18
+ lines.push(`${definition.name} = TypedDict("${definition.name}", ${fieldsExpression})`);
19
+ }
20
+ return lines;
21
+ }
22
+ function typedDictFieldsExpressionBuild(fields) {
23
+ if (fields.length === 0) {
24
+ return "{}";
25
+ }
26
+ const entries = fields.map((field) => {
27
+ return `"${field.name}": ${field.typeHint}`;
28
+ });
29
+ return `{ ${entries.join(", ")} }`;
30
+ }
31
+ function typedDictFieldsBuild(responseTypeName, schema, definitions) {
32
+ if (!recordIs(schema)) {
33
+ return [];
34
+ }
35
+ const properties = propertyRecordResolve(schema.properties);
36
+ const fields = [];
37
+ for (const [name, propertySchema] of Object.entries(properties)) {
38
+ if (!montyPythonIdentifierIs(name)) {
39
+ continue;
40
+ }
41
+ const rowItemSchema = arrayObjectItemSchemaResolve(propertySchema);
42
+ if (rowItemSchema) {
43
+ const rowTypeName = `${responseTypeName}${montyResponseTypeNameFromFunction(name).replace(/Response$/, "")}Item`;
44
+ const rowFields = typedDictFieldsBuild(rowTypeName, rowItemSchema, definitions);
45
+ definitions.push({ name: rowTypeName, fields: rowFields });
46
+ fields.push({
47
+ name,
48
+ typeHint: `list[${rowTypeName}]`
49
+ });
50
+ continue;
51
+ }
52
+ fields.push({
53
+ name,
54
+ typeHint: montyPythonTypeFromSchema(propertySchema)
55
+ });
56
+ }
57
+ return fields;
58
+ }
59
+ function arrayObjectItemSchemaResolve(schema) {
60
+ if (!recordIs(schema) || schema.type !== "array") {
61
+ return null;
62
+ }
63
+ if (!recordIs(schema.items) || schema.items.type !== "object") {
64
+ return null;
65
+ }
66
+ return schema.items;
67
+ }
68
+ function propertyRecordResolve(value) {
69
+ if (!recordIs(value)) {
70
+ return {};
71
+ }
72
+ return value;
73
+ }
74
+ function recordIs(value) {
75
+ return typeof value === "object" && value !== null && !Array.isArray(value);
76
+ }
77
+ //# sourceMappingURL=montyResponseTypedDictLinesBuild.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"montyResponseTypedDictLinesBuild.js","sourceRoot":"","sources":["../../../../sources/engine/modules/monty/montyResponseTypedDictLinesBuild.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=montyResponseTypedDictLinesBuild.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"montyResponseTypedDictLinesBuild.spec.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/monty/montyResponseTypedDictLinesBuild.spec.ts"],"names":[],"mappings":""}