@agenthippo-ai/agenthippo 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (480) hide show
  1. package/LICENSE +21 -0
  2. package/bin/agenthippo.js +2 -0
  3. package/out/agentpack/github.js +547 -0
  4. package/out/agentpack/index.js +66 -0
  5. package/out/agentpack/install.js +297 -0
  6. package/out/agentpack/manager.js +441 -0
  7. package/out/agentpack/manifest.js +135 -0
  8. package/out/agentpack/paths.js +475 -0
  9. package/out/agentpack/publish.js +248 -0
  10. package/out/agentpack/stores.js +554 -0
  11. package/out/agentpack/types.js +5 -0
  12. package/out/analytics/dashboard/artifactManager.js +439 -0
  13. package/out/analytics/dashboard/fleetDisplayUtils.js +159 -0
  14. package/out/analytics/dashboard/fleetOrchestrator.js +142 -0
  15. package/out/analytics/dashboard/fleetRegistry.js +79 -0
  16. package/out/analytics/dashboard/fleetRowDefaults.js +87 -0
  17. package/out/analytics/dashboard/fleetScriptAdapter.js +146 -0
  18. package/out/analytics/dashboard/fleetStatusUtils.js +30 -0
  19. package/out/analytics/dashboard/fleetTitleUtils.js +68 -0
  20. package/out/analytics/dashboard/fleetTypes.js +29 -0
  21. package/out/analytics/dashboard/index.js +17 -0
  22. package/out/analytics/dashboard/indexingService.js +422 -0
  23. package/out/analytics/dashboard/localFleetAdapter.js +222 -0
  24. package/out/analytics/dashboard/performanceMonitor.js +76 -0
  25. package/out/analytics/dashboard/processManager.js +209 -0
  26. package/out/analytics/dashboard/provider.js +3885 -0
  27. package/out/analytics/dashboard/queryRunner.js +994 -0
  28. package/out/analytics/dashboard/refreshPolicy.js +16 -0
  29. package/out/analytics/dashboard/scheduledFleetFingerprint.js +22 -0
  30. package/out/analytics/dashboard/scheduledFleetStorage.js +241 -0
  31. package/out/analytics/dashboard/scheduledFleetUtils.js +22 -0
  32. package/out/analytics/dashboard/sessionEventFleetStats.js +118 -0
  33. package/out/analytics/dashboard/sessionJsonlFleet.js +204 -0
  34. package/out/analytics/dashboard/teamViewDiscovery.js +106 -0
  35. package/out/analytics/dashboard/viewsConfigMerge.js +221 -0
  36. package/out/analytics/dashboard/webview/analytics-panel.html +155 -0
  37. package/out/analytics/dashboard/webview/codicon.ttf +0 -0
  38. package/out/analytics/dashboard/webview/index.html +78 -0
  39. package/out/analytics/dashboard/webview/panel.js +2295 -0
  40. package/out/analytics/dashboard/webview/runtime-bridge.js +82 -0
  41. package/out/analytics/dashboard/webview/styles.css +1009 -0
  42. package/out/analytics/lifecycle.js +43 -0
  43. package/out/analytics/service.js +1279 -0
  44. package/out/analytics/sessionEvents.js +231 -0
  45. package/out/auth/bootstrapApply.js +72 -0
  46. package/out/auth/brokerClient.js +126 -0
  47. package/out/auth/callbackUri.js +59 -0
  48. package/out/auth/callbackUriParse.js +59 -0
  49. package/out/auth/githubStoreGate.js +70 -0
  50. package/out/auth/loopbackAuthServer.js +165 -0
  51. package/out/auth/pkce.js +9 -0
  52. package/out/auth/provider.js +239 -0
  53. package/out/auth/sessionStore.js +193 -0
  54. package/out/auth/signInFlow.js +182 -0
  55. package/out/auth/types.js +12 -0
  56. package/out/auth-broker/config.js +62 -0
  57. package/out/auth-broker/jwt.js +105 -0
  58. package/out/auth-broker/pkce.js +57 -0
  59. package/out/auth-broker/server.js +539 -0
  60. package/out/auth-broker/store.js +273 -0
  61. package/out/base-prompts/gateway/openclaw-starter.json5 +144 -0
  62. package/out/base-prompts/gateway/slack-socket-mode-minimal.manifest.json +44 -0
  63. package/out/base-prompts/mcp-servers/.mcp.json +13 -0
  64. package/out/base-prompts/mcp-servers/langfuse-analytics/README.md +142 -0
  65. package/out/base-prompts/mcp-servers/langfuse-analytics/mcp.json +13 -0
  66. package/out/base-prompts/mcp-servers/langfuse-analytics/package-lock.json +1192 -0
  67. package/out/base-prompts/mcp-servers/langfuse-analytics/package.json +23 -0
  68. package/out/base-prompts/mcp-servers/langfuse-analytics/scripts/run-with-env.sh +12 -0
  69. package/out/base-prompts/mcp-servers/langfuse-analytics/scripts/sdk-test.js +102 -0
  70. package/out/base-prompts/mcp-servers/langfuse-analytics/scripts/simple-test.js +137 -0
  71. package/out/base-prompts/mcp-servers/langfuse-analytics/scripts/test-client.js +118 -0
  72. package/out/base-prompts/mcp-servers/langfuse-analytics/scripts/test-server.js +209 -0
  73. package/out/base-prompts/mcp-servers/langfuse-analytics/src/client.ts +431 -0
  74. package/out/base-prompts/mcp-servers/langfuse-analytics/src/index.ts +270 -0
  75. package/out/base-prompts/mcp-servers/langfuse-analytics/tsconfig.json +18 -0
  76. package/out/base-prompts/rules/AGENTS.md +204 -0
  77. package/out/base-prompts/skills/agent-browser/SKILL.md +102 -0
  78. package/out/base-prompts/skills/agent-builder/SKILL.md +73 -0
  79. package/out/base-prompts/skills/agent-builder/references/agent-pack.md +63 -0
  80. package/out/base-prompts/skills/agent-builder/references/crewai.md +66 -0
  81. package/out/base-prompts/skills/agent-builder/references/langchain.md +60 -0
  82. package/out/base-prompts/skills/agent-builder/references/raw-sdk.md +73 -0
  83. package/out/base-prompts/skills/agent-engine-creator/SKILL.md +586 -0
  84. package/out/base-prompts/skills/agent-engine-installer/SKILL.md +106 -0
  85. package/out/base-prompts/skills/agent-engine-installer/scripts/install-engine.mjs +259 -0
  86. package/out/base-prompts/skills/agent-engine-installer/scripts/install-engine.ps1 +189 -0
  87. package/out/base-prompts/skills/agenthippo-cli/SKILL.md +69 -0
  88. package/out/base-prompts/skills/agenthippo-cli/scripts/install.sh +63 -0
  89. package/out/base-prompts/skills/agentpack-creator/SKILL.md +375 -0
  90. package/out/base-prompts/skills/agentpack-creator/references/agent-templates.md +261 -0
  91. package/out/base-prompts/skills/agentpack-creator/references/agents-md-guide.md +195 -0
  92. package/out/base-prompts/skills/agentpack-creator/scripts/init_pack.py +391 -0
  93. package/out/base-prompts/skills/agentpack-creator/scripts/init_pack_test.py +294 -0
  94. package/out/base-prompts/skills/agentpack-testbench/SKILL.md +135 -0
  95. package/out/base-prompts/skills/algorithmic-art/LICENSE.txt +202 -0
  96. package/out/base-prompts/skills/algorithmic-art/SKILL.md +405 -0
  97. package/out/base-prompts/skills/algorithmic-art/templates/generator_template.js +223 -0
  98. package/out/base-prompts/skills/algorithmic-art/templates/viewer.html +599 -0
  99. package/out/base-prompts/skills/debug-agent/SKILL.md +83 -0
  100. package/out/base-prompts/skills/desktop-automation/SKILL.md +166 -0
  101. package/out/base-prompts/skills/desktop-automation/references/agenthippo-ui-recipes.md +441 -0
  102. package/out/base-prompts/skills/desktop-automation/scripts/windows-desktop-uia.psm1 +280 -0
  103. package/out/base-prompts/skills/docx/LICENSE.txt +30 -0
  104. package/out/base-prompts/skills/docx/SKILL.md +197 -0
  105. package/out/base-prompts/skills/docx/docx-js.md +350 -0
  106. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  107. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  108. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  109. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  110. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  111. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  112. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  113. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  114. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  115. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  116. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  117. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  118. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  119. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  120. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  121. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  122. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  123. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  124. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  125. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  126. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  127. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  128. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  129. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  130. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  131. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  132. package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  133. package/out/base-prompts/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  134. package/out/base-prompts/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  135. package/out/base-prompts/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  136. package/out/base-prompts/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  137. package/out/base-prompts/skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
  138. package/out/base-prompts/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  139. package/out/base-prompts/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  140. package/out/base-prompts/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  141. package/out/base-prompts/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  142. package/out/base-prompts/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  143. package/out/base-prompts/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  144. package/out/base-prompts/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  145. package/out/base-prompts/skills/docx/ooxml/scripts/pack.py +159 -0
  146. package/out/base-prompts/skills/docx/ooxml/scripts/unpack.py +29 -0
  147. package/out/base-prompts/skills/docx/ooxml/scripts/validate.py +69 -0
  148. package/out/base-prompts/skills/docx/ooxml/scripts/validation/__init__.py +15 -0
  149. package/out/base-prompts/skills/docx/ooxml/scripts/validation/base.py +951 -0
  150. package/out/base-prompts/skills/docx/ooxml/scripts/validation/docx.py +274 -0
  151. package/out/base-prompts/skills/docx/ooxml/scripts/validation/pptx.py +315 -0
  152. package/out/base-prompts/skills/docx/ooxml/scripts/validation/redlining.py +279 -0
  153. package/out/base-prompts/skills/docx/ooxml.md +610 -0
  154. package/out/base-prompts/skills/docx/scripts/__init__.py +1 -0
  155. package/out/base-prompts/skills/docx/scripts/document.py +1276 -0
  156. package/out/base-prompts/skills/docx/scripts/templates/comments.xml +3 -0
  157. package/out/base-prompts/skills/docx/scripts/templates/commentsExtended.xml +3 -0
  158. package/out/base-prompts/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  159. package/out/base-prompts/skills/docx/scripts/templates/commentsIds.xml +3 -0
  160. package/out/base-prompts/skills/docx/scripts/templates/people.xml +3 -0
  161. package/out/base-prompts/skills/docx/scripts/utilities.py +374 -0
  162. package/out/base-prompts/skills/gateway-outbound/SKILL.md +136 -0
  163. package/out/base-prompts/skills/mcp-builder/LICENSE.txt +202 -0
  164. package/out/base-prompts/skills/mcp-builder/SKILL.md +328 -0
  165. package/out/base-prompts/skills/mcp-builder/reference/evaluation.md +602 -0
  166. package/out/base-prompts/skills/mcp-builder/reference/mcp_best_practices.md +249 -0
  167. package/out/base-prompts/skills/mcp-builder/reference/node_mcp_server.md +970 -0
  168. package/out/base-prompts/skills/mcp-builder/reference/python_mcp_server.md +719 -0
  169. package/out/base-prompts/skills/mcp-builder/scripts/connections.py +151 -0
  170. package/out/base-prompts/skills/mcp-builder/scripts/evaluation.py +373 -0
  171. package/out/base-prompts/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  172. package/out/base-prompts/skills/mcp-builder/scripts/requirements.txt +2 -0
  173. package/out/base-prompts/skills/openclaw/SKILL.md +406 -0
  174. package/out/base-prompts/skills/openclaw/scripts/run-smoke.sh +61 -0
  175. package/out/base-prompts/skills/pdf/LICENSE.txt +30 -0
  176. package/out/base-prompts/skills/pdf/SKILL.md +294 -0
  177. package/out/base-prompts/skills/pdf/forms.md +205 -0
  178. package/out/base-prompts/skills/pdf/reference.md +612 -0
  179. package/out/base-prompts/skills/pdf/scripts/check_bounding_boxes.py +70 -0
  180. package/out/base-prompts/skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
  181. package/out/base-prompts/skills/pdf/scripts/check_fillable_fields.py +12 -0
  182. package/out/base-prompts/skills/pdf/scripts/convert_pdf_to_images.py +35 -0
  183. package/out/base-prompts/skills/pdf/scripts/create_validation_image.py +41 -0
  184. package/out/base-prompts/skills/pdf/scripts/extract_form_field_info.py +152 -0
  185. package/out/base-prompts/skills/pdf/scripts/fill_fillable_fields.py +114 -0
  186. package/out/base-prompts/skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
  187. package/out/base-prompts/skills/pptx/LICENSE.txt +30 -0
  188. package/out/base-prompts/skills/pptx/SKILL.md +484 -0
  189. package/out/base-prompts/skills/pptx/html2pptx.md +625 -0
  190. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  191. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  192. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  193. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  194. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  195. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  196. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  197. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  198. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  199. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  200. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  201. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  202. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  203. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  204. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  205. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  206. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  207. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  208. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  209. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  210. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  211. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  212. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  213. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  214. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  215. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  216. package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  217. package/out/base-prompts/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  218. package/out/base-prompts/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  219. package/out/base-prompts/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  220. package/out/base-prompts/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  221. package/out/base-prompts/skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
  222. package/out/base-prompts/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  223. package/out/base-prompts/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  224. package/out/base-prompts/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  225. package/out/base-prompts/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  226. package/out/base-prompts/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  227. package/out/base-prompts/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  228. package/out/base-prompts/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  229. package/out/base-prompts/skills/pptx/ooxml/scripts/pack.py +159 -0
  230. package/out/base-prompts/skills/pptx/ooxml/scripts/unpack.py +29 -0
  231. package/out/base-prompts/skills/pptx/ooxml/scripts/validate.py +69 -0
  232. package/out/base-prompts/skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
  233. package/out/base-prompts/skills/pptx/ooxml/scripts/validation/base.py +951 -0
  234. package/out/base-prompts/skills/pptx/ooxml/scripts/validation/docx.py +274 -0
  235. package/out/base-prompts/skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
  236. package/out/base-prompts/skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
  237. package/out/base-prompts/skills/pptx/ooxml.md +427 -0
  238. package/out/base-prompts/skills/pptx/scripts/html2pptx.js +984 -0
  239. package/out/base-prompts/skills/pptx/scripts/inventory.py +1020 -0
  240. package/out/base-prompts/skills/pptx/scripts/rearrange.py +231 -0
  241. package/out/base-prompts/skills/pptx/scripts/replace.py +385 -0
  242. package/out/base-prompts/skills/pptx/scripts/thumbnail.py +450 -0
  243. package/out/base-prompts/skills/prompt-lab/SKILL.md +149 -0
  244. package/out/base-prompts/skills/prompt-lab/scripts/query-analytics.sh +2551 -0
  245. package/out/base-prompts/skills/skill-creator/LICENSE.txt +202 -0
  246. package/out/base-prompts/skills/skill-creator/SKILL.md +371 -0
  247. package/out/base-prompts/skills/skill-creator/references/output-patterns.md +82 -0
  248. package/out/base-prompts/skills/skill-creator/references/workflows.md +28 -0
  249. package/out/base-prompts/skills/skill-creator/scripts/init_skill.py +303 -0
  250. package/out/base-prompts/skills/skill-creator/scripts/package_skill.py +110 -0
  251. package/out/base-prompts/skills/skill-creator/scripts/quick_validate.py +95 -0
  252. package/out/base-prompts/skills/skill-installer/SKILL.md +251 -0
  253. package/out/base-prompts/skills/skill-installer/references/store-api.md +219 -0
  254. package/out/base-prompts/skills/spotlight-dashboard/SKILL.md +83 -0
  255. package/out/base-prompts/skills/spotlight-insights/SKILL.md +101 -0
  256. package/out/base-prompts/skills/spotlight-optimize/SKILL.md +93 -0
  257. package/out/base-prompts/skills/spotlight-optimize/scripts/query-analytics.sh +2551 -0
  258. package/out/base-prompts/skills/spotlight-query/SKILL.md +314 -0
  259. package/out/base-prompts/skills/spotlight-query/references/otel-schema.md +163 -0
  260. package/out/base-prompts/skills/spotlight-query/scripts/query-analytics.sh +2551 -0
  261. package/out/base-prompts/skills/spotlight-query/scripts/query-analytics.test.sh +744 -0
  262. package/out/base-prompts/skills/spotlight-query/scripts/test-fixtures/analytics/sessions/sess-test-1.jsonl +14 -0
  263. package/out/base-prompts/skills/spotlight-query/scripts/test-fixtures/analytics/traces/.duckdb-index.json +7 -0
  264. package/out/base-prompts/skills/spotlight-query/scripts/test-fixtures/analytics/traces/sample.jsonl +5 -0
  265. package/out/base-prompts/skills/spotlight-report/SKILL.md +86 -0
  266. package/out/base-prompts/skills/spotlight-visualize/SKILL.md +92 -0
  267. package/out/base-prompts/skills/spotlight-visualize/scripts/query-analytics.sh +2551 -0
  268. package/out/base-prompts/skills/xlsx/LICENSE.txt +30 -0
  269. package/out/base-prompts/skills/xlsx/SKILL.md +289 -0
  270. package/out/base-prompts/skills/xlsx/recalc.py +178 -0
  271. package/out/branding.js +23 -0
  272. package/out/cli/commands/anywhere.js +66 -0
  273. package/out/cli/commands/ask.js +243 -0
  274. package/out/cli/commands/auth-broker.js +24 -0
  275. package/out/cli/commands/auth.js +219 -0
  276. package/out/cli/commands/chat.js +354 -0
  277. package/out/cli/commands/deploy.js +223 -0
  278. package/out/cli/commands/gateway.js +160 -0
  279. package/out/cli/commands/pack.js +220 -0
  280. package/out/cli/commands/probe-custom-engine.js +82 -0
  281. package/out/cli/commands/serve.js +583 -0
  282. package/out/cli/commands/store.js +919 -0
  283. package/out/cli/credential-context.js +113 -0
  284. package/out/cli/deploy-init.js +2087 -0
  285. package/out/cli/deps.js +238 -0
  286. package/out/cli/index.js +390 -0
  287. package/out/cli/pack-loader.js +376 -0
  288. package/out/cli/run-custom-engine-runner.js +318 -0
  289. package/out/cli/runtime.js +409 -0
  290. package/out/cli/serve-hardening.js +325 -0
  291. package/out/cli/state-sync.js +135 -0
  292. package/out/cli/utils.js +220 -0
  293. package/out/cli/vscode-shim.js +86 -0
  294. package/out/engines/base.js +159 -0
  295. package/out/engines/claude.js +1215 -0
  296. package/out/engines/codex.js +759 -0
  297. package/out/engines/custom.js +632 -0
  298. package/out/engines/customEngineIpc.js +95 -0
  299. package/out/engines/customEngineRunnerEmbed.js +107 -0
  300. package/out/engines/customRegistry.js +274 -0
  301. package/out/engines/embeddedCustomEngineRunner.generated.js +9 -0
  302. package/out/engines/engineApiKey.js +138 -0
  303. package/out/engines/factory.js +45 -0
  304. package/out/engines/install.js +372 -0
  305. package/out/engines/persistentEngineWorker.js +320 -0
  306. package/out/engines/publish.js +341 -0
  307. package/out/engines/types.js +17 -0
  308. package/out/examples/run-headless-repl.js +291 -0
  309. package/out/examples/run-headless.js +187 -0
  310. package/out/extension.js +4472 -0
  311. package/out/gateway/bridge.js +805 -0
  312. package/out/gateway/cli-agent-id.js +36 -0
  313. package/out/gateway/client.js +303 -0
  314. package/out/gateway/client.test.js +395 -0
  315. package/out/gateway/gateway-scope-errors.js +14 -0
  316. package/out/gateway/gatewayBackup.js +76 -0
  317. package/out/gateway/gatewayRouteIndex.js +371 -0
  318. package/out/gateway/gatewaySessionStore.js +243 -0
  319. package/out/gateway/index.js +31 -0
  320. package/out/gateway/lifecycle.js +3056 -0
  321. package/out/gateway/openclaw-channel-routing.js +317 -0
  322. package/out/gateway/outboundHandles.js +373 -0
  323. package/out/gateway/outboundPaths.js +72 -0
  324. package/out/gateway/outboundSend.js +254 -0
  325. package/out/gateway/protocol.js +48 -0
  326. package/out/gateway/resetMappings.js +52 -0
  327. package/out/gateway/service.js +1244 -0
  328. package/out/gateway/sessionRouting.js +77 -0
  329. package/out/headless/index.js +505 -0
  330. package/out/headless/sync.js +473 -0
  331. package/out/mcp/publish.js +143 -0
  332. package/out/mcp.js +597 -0
  333. package/out/permissions.js +108 -0
  334. package/out/permissions.mapping.yaml +68 -0
  335. package/out/registry/index.js +332 -0
  336. package/out/remote/handleRemoteChat.js +122 -0
  337. package/out/remote/remotePackStatusBar.js +103 -0
  338. package/out/remote/serveClient.js +216 -0
  339. package/out/remoteSkills.js +191 -0
  340. package/out/runtime/index.js +32 -0
  341. package/out/runtime/interfaces/config-provider.js +32 -0
  342. package/out/runtime/interfaces/edit-tracker.js +22 -0
  343. package/out/runtime/interfaces/index.js +29 -0
  344. package/out/runtime/interfaces/logger.js +40 -0
  345. package/out/runtime/interfaces/permission-handler.js +66 -0
  346. package/out/runtime/interfaces/session-store.js +342 -0
  347. package/out/runtime/vscode/index.js +20 -0
  348. package/out/runtime/vscode/vscode-config-provider.js +77 -0
  349. package/out/runtime/vscode/vscode-edit-tracker.js +120 -0
  350. package/out/runtime/vscode/vscode-logger.js +30 -0
  351. package/out/runtime/vscode/vscode-permission-handler.js +72 -0
  352. package/out/runtime/vscode/vscode-session-store.js +22 -0
  353. package/out/scripts/agentide-litellm.ps1 +501 -0
  354. package/out/scripts/agentide-litellm.sh +700 -0
  355. package/out/scripts/agentide_litellm_hooks_v1.py +604 -0
  356. package/out/scripts/analytics/agent-fleet-widget.js +954 -0
  357. package/out/scripts/analytics/agentide-litellm-otel.config.yaml +160 -0
  358. package/out/scripts/analytics/default-seed-scripts.json +12 -0
  359. package/out/scripts/analytics/duckdbLocator.js +29 -0
  360. package/out/scripts/analytics/fleet-local-adapter.js +246 -0
  361. package/out/scripts/analytics/fleet-workflow.sh +263 -0
  362. package/out/scripts/analytics/generate-default-charts.py +685 -0
  363. package/out/scripts/analytics/hotspot-analysis-widget.js +909 -0
  364. package/out/scripts/analytics/index-traces.py +1394 -0
  365. package/out/scripts/analytics/install-analytics.sh +286 -0
  366. package/out/scripts/analytics/live-fleet-4-collector.cjs +315 -0
  367. package/out/scripts/analytics/live-fleet-4-daemon.mjs +134 -0
  368. package/out/scripts/analytics/live-fleet-4-widget.cjs +433 -0
  369. package/out/scripts/analytics/otel-collector.yaml +55 -0
  370. package/out/scripts/analytics/query-analytics.ps1 +396 -0
  371. package/out/scripts/analytics/query-analytics.sh +2551 -0
  372. package/out/scripts/analytics/session-comparison-widget.js +1468 -0
  373. package/out/scripts/analytics/session-timeline-widget.js +2137 -0
  374. package/out/scripts/analytics/setup-analytics.ps1 +432 -0
  375. package/out/scripts/analytics/setup-analytics.sh +854 -0
  376. package/out/scripts/analytics/start-analytics.ps1 +169 -0
  377. package/out/scripts/analytics/start-analytics.sh +323 -0
  378. package/out/scripts/analytics/token-cost-flamegraph-widget.js +954 -0
  379. package/out/scripts/analytics/token-cost-trend-widget.js +1062 -0
  380. package/out/scripts/analytics/workflows-collector.cjs +315 -0
  381. package/out/scripts/analytics/workflows-daemon.mjs +186 -0
  382. package/out/scripts/analytics/workflows-widget.cjs +433 -0
  383. package/out/scripts/analytics/wow-model-widget.js +191 -0
  384. package/out/scripts/gateway/Dockerfile.serve +45 -0
  385. package/out/scripts/gateway/docker-serve.sh +248 -0
  386. package/out/scripts/gateway/setup-gateway-server.ps1 +953 -0
  387. package/out/scripts/gateway/setup-gateway-server.sh +935 -0
  388. package/out/scripts/gateway/setup-gateway.ps1 +1813 -0
  389. package/out/scripts/gateway/setup-gateway.sh +1541 -0
  390. package/out/scripts/setup-cli.ps1 +86 -0
  391. package/out/scripts/setup-cli.sh +117 -0
  392. package/out/scripts/tools-manifest.json +83 -0
  393. package/out/scripts/vendor-tools.mjs +234 -0
  394. package/out/session.js +272 -0
  395. package/out/shared/agentEngines.js +170 -0
  396. package/out/shared/index.js +109 -0
  397. package/out/shared/models.js +235 -0
  398. package/out/shared/providers.js +202 -0
  399. package/out/skills/publish.js +178 -0
  400. package/out/spotlight/install.js +339 -0
  401. package/out/spotlight/publish.js +544 -0
  402. package/out/spotlight/yaml.js +31 -0
  403. package/out/store/github/setup.js +235 -0
  404. package/out/store/github/templates/build-index.ts +339 -0
  405. package/out/store/github/templates/build-index.yml +97 -0
  406. package/out/store/github/templates/package.json +11 -0
  407. package/out/store/index.js +755 -0
  408. package/out/store/oramaIndex.js +884 -0
  409. package/out/store/shared.js +241 -0
  410. package/out/sync.js +1827 -0
  411. package/out/terminalLogger.js +358 -0
  412. package/out/test/agentEnvFile.test.js +97 -0
  413. package/out/test/agentYaml.test.js +373 -0
  414. package/out/test/agentpack.test.js +639 -0
  415. package/out/test/analytics-lifecycle.test.js +174 -0
  416. package/out/test/analytics.test.js +524 -0
  417. package/out/test/auth-bootstrapApply.test.js +102 -0
  418. package/out/test/auth-broker.test.js +434 -0
  419. package/out/test/auth-callback.test.js +62 -0
  420. package/out/test/branding.test.js +229 -0
  421. package/out/test/cli-agent-id.test.js +55 -0
  422. package/out/test/credential-context.test.js +105 -0
  423. package/out/test/customEngineInstall.test.js +100 -0
  424. package/out/test/customRegistry.test.js +122 -0
  425. package/out/test/deploy-init.test.js +532 -0
  426. package/out/test/deps-auto-install.test.js +81 -0
  427. package/out/test/engine-integration.test.js +297 -0
  428. package/out/test/enginePaths.test.js +195 -0
  429. package/out/test/enginePublish.test.js +82 -0
  430. package/out/test/fleetDisplayUtils.test.js +96 -0
  431. package/out/test/gateway-client.test.js +381 -0
  432. package/out/test/gateway-lifecycle.test.js +608 -0
  433. package/out/test/gateway-outbound.test.js +531 -0
  434. package/out/test/gateway-reset-mappings.test.js +221 -0
  435. package/out/test/gateway-route-index.test.js +235 -0
  436. package/out/test/gateway-session-routing.test.js +47 -0
  437. package/out/test/gateway-session-store.test.js +216 -0
  438. package/out/test/github.test.js +232 -0
  439. package/out/test/headless-sync.test.js +279 -0
  440. package/out/test/helpers/manifest-fixtures.js +27 -0
  441. package/out/test/mcp-obo.test.js +82 -0
  442. package/out/test/mcp.test.js +307 -0
  443. package/out/test/openclaw-channel-routing.test.js +191 -0
  444. package/out/test/pathSafety.test.js +63 -0
  445. package/out/test/permissions.test.js +175 -0
  446. package/out/test/persistent-engine-worker.test.js +220 -0
  447. package/out/test/refreshPolicy.test.js +60 -0
  448. package/out/test/registry.test.js +351 -0
  449. package/out/test/runtime.test.js +349 -0
  450. package/out/test/scheduledFleetStorage.test.js +72 -0
  451. package/out/test/serve-hardening.test.js +192 -0
  452. package/out/test/serveClient.test.js +173 -0
  453. package/out/test/sessionJsonlFleet.test.js +78 -0
  454. package/out/test/shared.test.js +173 -0
  455. package/out/test/skills-mcp.test.js +299 -0
  456. package/out/test/spotlightPublish.test.js +299 -0
  457. package/out/test/spotlightYaml.test.js +58 -0
  458. package/out/test/state-sync-peer.test.js +74 -0
  459. package/out/test/store.test.js +331 -0
  460. package/out/test/stores.test.js +504 -0
  461. package/out/test/sync-switch.test.js +251 -0
  462. package/out/test/teamViewDiscovery.test.js +90 -0
  463. package/out/test/toolPath.test.js +120 -0
  464. package/out/test/utils.test.js +308 -0
  465. package/out/test/viewsConfigMerge.test.js +180 -0
  466. package/out/test/windows-command-line.test.js +75 -0
  467. package/out/utils/agentEnvFile.js +131 -0
  468. package/out/utils/binary.js +175 -0
  469. package/out/utils/index.js +37 -0
  470. package/out/utils/network.js +74 -0
  471. package/out/utils/pathSafety.js +60 -0
  472. package/out/utils/paths.js +116 -0
  473. package/out/utils/pid.js +180 -0
  474. package/out/utils/pythonRunner.js +258 -0
  475. package/out/utils/resolveNodeBinary.js +168 -0
  476. package/out/utils/toolPath.js +83 -0
  477. package/out/utils/windowsCommandLine.js +29 -0
  478. package/out/utils.js +915 -0
  479. package/out/workspaceFolders.js +59 -0
  480. package/package.json +41 -0
@@ -0,0 +1,216 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) AgentHippo.ai. All rights reserved.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.buildServeAuthHeaders = buildServeAuthHeaders;
7
+ exports.normalizeServeBaseUrl = normalizeServeBaseUrl;
8
+ exports.getRemoteServeUrl = getRemoteServeUrl;
9
+ exports.streamRemoteServeChat = streamRemoteServeChat;
10
+ /** Abort if the stream sends no data for this long (reset on every chunk). */
11
+ const IDLE_TIMEOUT_MS = 120_000;
12
+ /** Safety net so a runaway stream can't hold the conversation open forever. */
13
+ const HARD_CAP_MS = 30 * 60_000;
14
+ function buildServeAuthHeaders(auth) {
15
+ const headers = {};
16
+ if (!auth?.accessToken) {
17
+ return headers;
18
+ }
19
+ headers.Authorization = `Bearer ${auth.accessToken}`;
20
+ if (auth.userEmail?.trim()) {
21
+ headers['X-Agent-User'] = auth.userEmail.trim();
22
+ }
23
+ return headers;
24
+ }
25
+ function normalizeServeBaseUrl(url) {
26
+ return url.trim().replace(/\/+$/, '');
27
+ }
28
+ function getRemoteServeUrl(manifest) {
29
+ const url = manifest?.spec?.remote?.url?.trim();
30
+ return url || undefined;
31
+ }
32
+ async function streamRemoteServeChat(options, emitter) {
33
+ const base = normalizeServeBaseUrl(options.baseUrl);
34
+ const url = `${base}/v1/chat/stream`;
35
+ const body = { message: options.message };
36
+ if (options.sessionId?.trim()) {
37
+ body.session_id = options.sessionId.trim();
38
+ }
39
+ // Idle-based timeout: a stalled remote aborts, but a long turn that keeps streaming
40
+ // (slow model, long tool execution) is not cut off mid-stream. A hard cap guards against
41
+ // a runaway. Both abort via the same controller; the caller maps the abort into an error.
42
+ const ac = new AbortController();
43
+ const hardCap = setTimeout(() => ac.abort(new Error('Remote serve exceeded max duration')), HARD_CAP_MS);
44
+ let idleTimer;
45
+ const resetIdle = () => {
46
+ if (idleTimer) {
47
+ clearTimeout(idleTimer);
48
+ }
49
+ idleTimer = setTimeout(() => ac.abort(new Error('Remote serve timed out (idle)')), IDLE_TIMEOUT_MS);
50
+ };
51
+ const clearTimers = () => {
52
+ if (idleTimer) {
53
+ clearTimeout(idleTimer);
54
+ idleTimer = undefined;
55
+ }
56
+ clearTimeout(hardCap);
57
+ };
58
+ resetIdle();
59
+ if (options.signal) {
60
+ options.signal.addEventListener('abort', () => ac.abort(options.signal.reason), { once: true });
61
+ }
62
+ let response;
63
+ try {
64
+ response = await fetch(url, {
65
+ method: 'POST',
66
+ headers: {
67
+ 'Content-Type': 'application/json',
68
+ Accept: 'text/event-stream',
69
+ ...buildServeAuthHeaders(options.auth),
70
+ },
71
+ body: JSON.stringify(body),
72
+ signal: ac.signal,
73
+ });
74
+ }
75
+ catch (err) {
76
+ clearTimers();
77
+ const message = err instanceof Error ? err.message : 'Remote serve connection failed';
78
+ await emitter.error(message);
79
+ await emitter.done();
80
+ return;
81
+ }
82
+ if (!response.ok) {
83
+ clearTimers();
84
+ let errorMessage = `Remote serve returned ${response.status}`;
85
+ try {
86
+ const errBody = (await response.json());
87
+ if (errBody.error) {
88
+ errorMessage = errBody.error;
89
+ }
90
+ }
91
+ catch {
92
+ // ignore non-JSON error bodies
93
+ }
94
+ await emitter.error(errorMessage);
95
+ await emitter.done();
96
+ return;
97
+ }
98
+ if (!response.body) {
99
+ clearTimers();
100
+ await emitter.error('Remote serve returned empty body');
101
+ await emitter.done();
102
+ return;
103
+ }
104
+ try {
105
+ await consumeServeSse(response.body, emitter, resetIdle);
106
+ }
107
+ finally {
108
+ clearTimers();
109
+ }
110
+ }
111
+ async function consumeServeSse(body, emitter, resetIdle) {
112
+ const reader = body.getReader();
113
+ const decoder = new TextDecoder();
114
+ let buffer = '';
115
+ let doneEmitted = false;
116
+ const markDone = () => {
117
+ doneEmitted = true;
118
+ };
119
+ try {
120
+ while (true) {
121
+ const { value, done } = await reader.read();
122
+ if (done) {
123
+ break;
124
+ }
125
+ // Any data on the wire means the turn is progressing — push the idle window out.
126
+ resetIdle();
127
+ buffer += decoder.decode(value, { stream: true });
128
+ buffer = await drainServeSseBuffer(buffer, emitter, markDone);
129
+ if (doneEmitted) {
130
+ return;
131
+ }
132
+ }
133
+ buffer += decoder.decode();
134
+ if (buffer.trim()) {
135
+ await drainServeSseBuffer(`${buffer}\n`, emitter, markDone);
136
+ }
137
+ if (!doneEmitted) {
138
+ await emitter.done();
139
+ }
140
+ }
141
+ finally {
142
+ reader.releaseLock();
143
+ }
144
+ }
145
+ async function drainServeSseBuffer(buffer, emitter, markDone) {
146
+ const lines = buffer.split('\n');
147
+ const remainder = lines.pop() ?? '';
148
+ for (const line of lines) {
149
+ if (!line.startsWith('data: ')) {
150
+ continue;
151
+ }
152
+ const payload = line.slice(6).trim();
153
+ if (!payload) {
154
+ continue;
155
+ }
156
+ let event;
157
+ try {
158
+ event = JSON.parse(payload);
159
+ }
160
+ catch {
161
+ continue;
162
+ }
163
+ const finished = await dispatchServeEvent(event, emitter);
164
+ if (finished) {
165
+ markDone();
166
+ return '';
167
+ }
168
+ }
169
+ return remainder;
170
+ }
171
+ async function dispatchServeEvent(event, emitter) {
172
+ const type = typeof event.type === 'string' ? event.type : '';
173
+ switch (type) {
174
+ case 'thinking':
175
+ if (typeof event.delta === 'string') {
176
+ await emitter.thinking(event.delta);
177
+ }
178
+ return false;
179
+ case 'text':
180
+ if (typeof event.delta === 'string') {
181
+ await emitter.text(event.delta);
182
+ }
183
+ return false;
184
+ case 'tool_start':
185
+ await emitter.toolStart(typeof event.name === 'string' ? event.name : 'tool', typeof event.input === 'string' ? event.input : undefined, typeof event.tool_call_id === 'string' ? event.tool_call_id : undefined);
186
+ return false;
187
+ case 'tool_end':
188
+ await emitter.toolEnd(typeof event.name === 'string' ? event.name : 'tool', typeof event.tool_call_id === 'string' ? event.tool_call_id : '', typeof event.result === 'string' ? event.result : undefined, event.is_error === true);
189
+ return false;
190
+ case 'progress':
191
+ if (typeof event.message === 'string') {
192
+ await emitter.progress(event.message);
193
+ }
194
+ return false;
195
+ case 'question': {
196
+ // Remote serve auto-declines questions server-side and continues the run —
197
+ // the one-way SSE stream has no back-channel to deliver an answer. Surface the
198
+ // prompt for visibility rather than dropping it (default case) or blocking on an
199
+ // answer that can never reach the remote.
200
+ const payload = event.payload;
201
+ const prompt = typeof payload?.prompt === 'string' ? payload.prompt.trim() : '';
202
+ if (prompt) {
203
+ await emitter.progress(`Agent asked (auto-skipped on remote): ${prompt}`);
204
+ }
205
+ return false;
206
+ }
207
+ case 'error':
208
+ await emitter.error(typeof event.message === 'string' ? event.message : 'Remote serve error');
209
+ return false;
210
+ case 'done':
211
+ await emitter.done();
212
+ return true;
213
+ default:
214
+ return false;
215
+ }
216
+ }
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) AgentHippo.ai. All rights reserved.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.syncRemoteSkillsToAgentideSkillsDir = syncRemoteSkillsToAgentideSkillsDir;
40
+ const http = __importStar(require("http"));
41
+ const https = __importStar(require("https"));
42
+ const url_1 = require("url");
43
+ const fs_1 = require("fs");
44
+ const path = __importStar(require("path"));
45
+ const REMOTE_MARKER_FILE = '.agentide-remote-skill.json';
46
+ function requestText(url, timeoutMs) {
47
+ return new Promise((resolve, reject) => {
48
+ const u = new url_1.URL(url);
49
+ const lib = u.protocol === 'https:' ? https : http;
50
+ const req = lib.request({
51
+ method: 'GET',
52
+ hostname: u.hostname,
53
+ port: u.port,
54
+ path: u.pathname + u.search,
55
+ headers: {
56
+ 'accept': 'application/json, text/plain;q=0.9, */*;q=0.1',
57
+ 'user-agent': 'AgentIDE/skills-sync',
58
+ },
59
+ }, res => {
60
+ const status = res.statusCode ?? 0;
61
+ const chunks = [];
62
+ res.on('data', (c) => chunks.push(c));
63
+ res.on('end', () => resolve({ status, body: Buffer.concat(chunks).toString('utf8') }));
64
+ });
65
+ req.on('error', reject);
66
+ req.setTimeout(timeoutMs, () => req.destroy(new Error(`Request timed out after ${timeoutMs}ms`)));
67
+ req.end();
68
+ });
69
+ }
70
+ function requestBytes(url, timeoutMs) {
71
+ return new Promise((resolve, reject) => {
72
+ const u = new url_1.URL(url);
73
+ const lib = u.protocol === 'https:' ? https : http;
74
+ const req = lib.request({
75
+ method: 'GET',
76
+ hostname: u.hostname,
77
+ port: u.port,
78
+ path: u.pathname + u.search,
79
+ headers: {
80
+ 'accept': '*/*',
81
+ 'user-agent': 'AgentIDE/skills-sync',
82
+ },
83
+ }, res => {
84
+ const status = res.statusCode ?? 0;
85
+ const chunks = [];
86
+ res.on('data', (c) => chunks.push(c));
87
+ res.on('end', () => resolve({ status, body: Buffer.concat(chunks) }));
88
+ });
89
+ req.on('error', reject);
90
+ req.setTimeout(timeoutMs, () => req.destroy(new Error(`Request timed out after ${timeoutMs}ms`)));
91
+ req.end();
92
+ });
93
+ }
94
+ async function isAgentideManagedRemoteSkillDir(skillDir) {
95
+ try {
96
+ const markerPath = path.join(skillDir, REMOTE_MARKER_FILE);
97
+ const raw = await fs_1.promises.readFile(markerPath, 'utf8');
98
+ const parsed = JSON.parse(raw);
99
+ return typeof parsed.registryUrl === 'string' && typeof parsed.id === 'string';
100
+ }
101
+ catch {
102
+ return false;
103
+ }
104
+ }
105
+ async function writeRemoteMarker(skillDir, marker) {
106
+ const markerPath = path.join(skillDir, REMOTE_MARKER_FILE);
107
+ await fs_1.promises.writeFile(markerPath, JSON.stringify(marker, null, 2) + '\n', 'utf8');
108
+ }
109
+ /**
110
+ * Sync remote skills into the specified agentide skills directory.
111
+ *
112
+ * Notes:
113
+ * - This only pulls files declared by the registry (at minimum SKILL.md).
114
+ * - It avoids overwriting local project skills unless allowOverwriteLocal=true OR
115
+ * the destination directory is already marked as a remote-managed skill.
116
+ */
117
+ async function syncRemoteSkillsToAgentideSkillsDir(agentideSkillsDir, options, log) {
118
+ const { registryUrl, timeoutMs, allowOverwriteLocal } = options;
119
+ const base = registryUrl.replace(/\/+$/, '');
120
+ const indexUrl = `${base}/v1/skills`;
121
+ let index;
122
+ try {
123
+ const res = await requestText(indexUrl, timeoutMs);
124
+ if (res.status < 200 || res.status >= 300) {
125
+ log(`[AgentIDE] Remote skills: registry returned HTTP ${res.status} for ${indexUrl}`);
126
+ return { updated: 0, skipped: 0, errors: 1 };
127
+ }
128
+ index = JSON.parse(res.body);
129
+ }
130
+ catch (e) {
131
+ log(`[AgentIDE] Remote skills: failed to fetch index from ${indexUrl}: ${e instanceof Error ? e.message : String(e)}`);
132
+ return { updated: 0, skipped: 0, errors: 1 };
133
+ }
134
+ const skills = Array.isArray(index.skills) ? index.skills : [];
135
+ if (skills.length === 0) {
136
+ log('[AgentIDE] Remote skills: no skills returned by registry');
137
+ return { updated: 0, skipped: 0, errors: 0 };
138
+ }
139
+ await fs_1.promises.mkdir(agentideSkillsDir, { recursive: true });
140
+ let updated = 0;
141
+ let skipped = 0;
142
+ let errors = 0;
143
+ for (const skill of skills) {
144
+ if (!skill?.id || typeof skill.id !== 'string') {
145
+ continue;
146
+ }
147
+ const skillId = skill.id;
148
+ const skillDir = path.join(agentideSkillsDir, skillId);
149
+ const files = (skill.files && Array.isArray(skill.files) ? skill.files : ['SKILL.md'])
150
+ .filter(f => typeof f === 'string' && f.length > 0);
151
+ try {
152
+ const exists = await fs_1.promises.stat(skillDir).then(() => true).catch(() => false);
153
+ const isRemoteManaged = exists ? await isAgentideManagedRemoteSkillDir(skillDir) : false;
154
+ if (exists && !allowOverwriteLocal && !isRemoteManaged) {
155
+ skipped++;
156
+ log(`[AgentIDE] Remote skills: skipping ${skillId} (local skill dir exists and is not remote-managed)`);
157
+ continue;
158
+ }
159
+ await fs_1.promises.mkdir(skillDir, { recursive: true });
160
+ // Pull each declared file
161
+ for (const relPath of files) {
162
+ // Prevent directory traversal
163
+ if (relPath.includes('..') || relPath.startsWith('/') || relPath.startsWith('\\')) {
164
+ continue;
165
+ }
166
+ const fileUrl = `${base}/v1/skills/${encodeURIComponent(skillId)}/files/${relPath.split('/').map(encodeURIComponent).join('/')}`;
167
+ const res = await requestBytes(fileUrl, timeoutMs);
168
+ if (res.status < 200 || res.status >= 300) {
169
+ throw new Error(`HTTP ${res.status} for ${fileUrl}`);
170
+ }
171
+ const dst = path.join(skillDir, relPath);
172
+ await fs_1.promises.mkdir(path.dirname(dst), { recursive: true });
173
+ await fs_1.promises.writeFile(dst, res.body);
174
+ }
175
+ await writeRemoteMarker(skillDir, {
176
+ registryUrl: base,
177
+ id: skillId,
178
+ version: skill.version,
179
+ sha256: skill.sha256,
180
+ lastSyncedAt: new Date().toISOString(),
181
+ });
182
+ updated++;
183
+ log(`[AgentIDE] Remote skills: synced ${skillId} (${files.length} file(s))`);
184
+ }
185
+ catch (e) {
186
+ errors++;
187
+ log(`[AgentIDE] Remote skills: failed to sync ${skillId}: ${e instanceof Error ? e.message : String(e)}`);
188
+ }
189
+ }
190
+ return { updated, skipped, errors };
191
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) AgentHippo.ai. All rights reserved.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ /**
21
+ * AgentIDE Runtime
22
+ *
23
+ * This module provides runtime abstractions for agent engines,
24
+ * enabling execution in different environments:
25
+ * - VS Code extension (production)
26
+ * - Eval mode (fresh state, auto-approve)
27
+ * - CLI/server (headless)
28
+ */
29
+ // Re-export all interfaces
30
+ __exportStar(require("./interfaces"), exports);
31
+ // Re-export VS Code implementations
32
+ __exportStar(require("./vscode"), exports);
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) AgentHippo.ai. All rights reserved.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.StaticConfigProvider = void 0;
7
+ /**
8
+ * Static configuration provider.
9
+ * Suitable for CLI, testing, and production where config is passed explicitly.
10
+ */
11
+ class StaticConfigProvider {
12
+ config;
13
+ customProviders;
14
+ engineSettings;
15
+ constructor(config = {}, customProviders = {}, engineSettings = {}) {
16
+ this.config = config;
17
+ this.customProviders = customProviders;
18
+ this.engineSettings = engineSettings;
19
+ }
20
+ get(section, key, defaultValue) {
21
+ const fullKey = `${section}.${key}`;
22
+ const value = this.config[fullKey];
23
+ return (value !== undefined ? value : defaultValue);
24
+ }
25
+ getCustomProviders() {
26
+ return this.customProviders;
27
+ }
28
+ getEngineSettings() {
29
+ return this.engineSettings;
30
+ }
31
+ }
32
+ exports.StaticConfigProvider = StaticConfigProvider;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) AgentHippo.ai. All rights reserved.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.NoOpEditTracker = void 0;
7
+ /**
8
+ * No-op edit tracker.
9
+ * Suitable for eval mode, CLI, and production where edit tracking is not needed.
10
+ */
11
+ class NoOpEditTracker {
12
+ async startTracking(_sessionId, _files) {
13
+ return undefined;
14
+ }
15
+ async stopTracking(_sessionId, _operationId) {
16
+ // No-op
17
+ }
18
+ async applyEdit(_sessionId, _filePath, _content, _isNewFile) {
19
+ // No-op
20
+ }
21
+ }
22
+ exports.NoOpEditTracker = NoOpEditTracker;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) AgentHippo.ai. All rights reserved.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.StaticConfigProvider = exports.DirectorySessionStore = exports.FileSessionStore = exports.MemorySessionStore = exports.NoOpEditTracker = exports.CLIPermissionHandler = exports.AutoDenyPermissionHandler = exports.AutoApprovePermissionHandler = exports.NoOpLogger = exports.ConsoleLogger = void 0;
7
+ /**
8
+ * Runtime interfaces for AgentIDE engine abstraction.
9
+ *
10
+ * These interfaces abstract VS Code-specific dependencies to enable:
11
+ * - Eval mode execution (fresh state, auto-approve)
12
+ * - CLI/production server usage
13
+ * - Testing without VS Code
14
+ */
15
+ var logger_1 = require("./logger");
16
+ Object.defineProperty(exports, "ConsoleLogger", { enumerable: true, get: function () { return logger_1.ConsoleLogger; } });
17
+ Object.defineProperty(exports, "NoOpLogger", { enumerable: true, get: function () { return logger_1.NoOpLogger; } });
18
+ var permission_handler_1 = require("./permission-handler");
19
+ Object.defineProperty(exports, "AutoApprovePermissionHandler", { enumerable: true, get: function () { return permission_handler_1.AutoApprovePermissionHandler; } });
20
+ Object.defineProperty(exports, "AutoDenyPermissionHandler", { enumerable: true, get: function () { return permission_handler_1.AutoDenyPermissionHandler; } });
21
+ Object.defineProperty(exports, "CLIPermissionHandler", { enumerable: true, get: function () { return permission_handler_1.CLIPermissionHandler; } });
22
+ var edit_tracker_1 = require("./edit-tracker");
23
+ Object.defineProperty(exports, "NoOpEditTracker", { enumerable: true, get: function () { return edit_tracker_1.NoOpEditTracker; } });
24
+ var session_store_1 = require("./session-store");
25
+ Object.defineProperty(exports, "MemorySessionStore", { enumerable: true, get: function () { return session_store_1.MemorySessionStore; } });
26
+ Object.defineProperty(exports, "FileSessionStore", { enumerable: true, get: function () { return session_store_1.FileSessionStore; } });
27
+ Object.defineProperty(exports, "DirectorySessionStore", { enumerable: true, get: function () { return session_store_1.DirectorySessionStore; } });
28
+ var config_provider_1 = require("./config-provider");
29
+ Object.defineProperty(exports, "StaticConfigProvider", { enumerable: true, get: function () { return config_provider_1.StaticConfigProvider; } });
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) AgentHippo.ai. All rights reserved.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.NoOpLogger = exports.ConsoleLogger = void 0;
7
+ /**
8
+ * Console-based logger implementation.
9
+ * Suitable for CLI, testing, and production server use.
10
+ */
11
+ class ConsoleLogger {
12
+ prefix;
13
+ constructor(prefix = '[AgentIDE]') {
14
+ this.prefix = prefix;
15
+ }
16
+ debug(message) {
17
+ console.debug(`${this.prefix} ${message}`);
18
+ }
19
+ info(message) {
20
+ console.log(`${this.prefix} ${message}`);
21
+ }
22
+ warn(message) {
23
+ console.warn(`${this.prefix} Warning: ${message}`);
24
+ }
25
+ error(message, error) {
26
+ console.error(`${this.prefix} Error: ${message}${error ? `: ${error.message}` : ''}`);
27
+ }
28
+ }
29
+ exports.ConsoleLogger = ConsoleLogger;
30
+ /**
31
+ * No-op logger for silent operation.
32
+ * Useful for testing or when logging is not desired.
33
+ */
34
+ class NoOpLogger {
35
+ debug(_message) { }
36
+ info(_message) { }
37
+ warn(_message) { }
38
+ error(_message, _error) { }
39
+ }
40
+ exports.NoOpLogger = NoOpLogger;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) AgentHippo.ai. All rights reserved.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CLIPermissionHandler = exports.AutoDenyPermissionHandler = exports.AutoApprovePermissionHandler = void 0;
7
+ /**
8
+ * Auto-approve permission handler.
9
+ * Approves all tool requests without prompting.
10
+ * Suitable for eval mode, trusted automation, and unrestricted agents.
11
+ */
12
+ class AutoApprovePermissionHandler {
13
+ async requestPermission(_request) {
14
+ return { behavior: 'allow' };
15
+ }
16
+ }
17
+ exports.AutoApprovePermissionHandler = AutoApprovePermissionHandler;
18
+ /**
19
+ * Auto-deny permission handler.
20
+ * Denies all tool requests.
21
+ * Useful for read-only modes or security testing.
22
+ */
23
+ class AutoDenyPermissionHandler {
24
+ message;
25
+ constructor(message = 'All tool requests are denied') {
26
+ this.message = message;
27
+ }
28
+ async requestPermission(_request) {
29
+ return { behavior: 'deny', message: this.message };
30
+ }
31
+ }
32
+ exports.AutoDenyPermissionHandler = AutoDenyPermissionHandler;
33
+ /**
34
+ * CLI permission handler that prompts the user in the terminal.
35
+ * Used when pack has approval: 'restricted'.
36
+ */
37
+ class CLIPermissionHandler {
38
+ readline;
39
+ async requestPermission(request) {
40
+ // Lazy load readline to avoid issues in non-CLI contexts
41
+ if (!this.readline) {
42
+ this.readline = require('readline');
43
+ }
44
+ return new Promise((resolve) => {
45
+ const rl = this.readline.createInterface({
46
+ input: process.stdin,
47
+ output: process.stdout,
48
+ });
49
+ const toolInfo = request.toolInput
50
+ ? `${request.toolName}: ${JSON.stringify(request.toolInput).slice(0, 100)}`
51
+ : request.toolName;
52
+ console.log(`\n⚠️ Tool permission requested: ${toolInfo}`);
53
+ rl.question('Allow? (y/n): ', (answer) => {
54
+ rl.close();
55
+ const allowed = answer.toLowerCase().startsWith('y');
56
+ if (allowed) {
57
+ resolve({ behavior: 'allow' });
58
+ }
59
+ else {
60
+ resolve({ behavior: 'deny', message: 'User denied permission' });
61
+ }
62
+ });
63
+ });
64
+ }
65
+ }
66
+ exports.CLIPermissionHandler = CLIPermissionHandler;