@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.
- package/LICENSE +21 -0
- package/bin/agenthippo.js +2 -0
- package/out/agentpack/github.js +547 -0
- package/out/agentpack/index.js +66 -0
- package/out/agentpack/install.js +297 -0
- package/out/agentpack/manager.js +441 -0
- package/out/agentpack/manifest.js +135 -0
- package/out/agentpack/paths.js +475 -0
- package/out/agentpack/publish.js +248 -0
- package/out/agentpack/stores.js +554 -0
- package/out/agentpack/types.js +5 -0
- package/out/analytics/dashboard/artifactManager.js +439 -0
- package/out/analytics/dashboard/fleetDisplayUtils.js +159 -0
- package/out/analytics/dashboard/fleetOrchestrator.js +142 -0
- package/out/analytics/dashboard/fleetRegistry.js +79 -0
- package/out/analytics/dashboard/fleetRowDefaults.js +87 -0
- package/out/analytics/dashboard/fleetScriptAdapter.js +146 -0
- package/out/analytics/dashboard/fleetStatusUtils.js +30 -0
- package/out/analytics/dashboard/fleetTitleUtils.js +68 -0
- package/out/analytics/dashboard/fleetTypes.js +29 -0
- package/out/analytics/dashboard/index.js +17 -0
- package/out/analytics/dashboard/indexingService.js +422 -0
- package/out/analytics/dashboard/localFleetAdapter.js +222 -0
- package/out/analytics/dashboard/performanceMonitor.js +76 -0
- package/out/analytics/dashboard/processManager.js +209 -0
- package/out/analytics/dashboard/provider.js +3885 -0
- package/out/analytics/dashboard/queryRunner.js +994 -0
- package/out/analytics/dashboard/refreshPolicy.js +16 -0
- package/out/analytics/dashboard/scheduledFleetFingerprint.js +22 -0
- package/out/analytics/dashboard/scheduledFleetStorage.js +241 -0
- package/out/analytics/dashboard/scheduledFleetUtils.js +22 -0
- package/out/analytics/dashboard/sessionEventFleetStats.js +118 -0
- package/out/analytics/dashboard/sessionJsonlFleet.js +204 -0
- package/out/analytics/dashboard/teamViewDiscovery.js +106 -0
- package/out/analytics/dashboard/viewsConfigMerge.js +221 -0
- package/out/analytics/dashboard/webview/analytics-panel.html +155 -0
- package/out/analytics/dashboard/webview/codicon.ttf +0 -0
- package/out/analytics/dashboard/webview/index.html +78 -0
- package/out/analytics/dashboard/webview/panel.js +2295 -0
- package/out/analytics/dashboard/webview/runtime-bridge.js +82 -0
- package/out/analytics/dashboard/webview/styles.css +1009 -0
- package/out/analytics/lifecycle.js +43 -0
- package/out/analytics/service.js +1279 -0
- package/out/analytics/sessionEvents.js +231 -0
- package/out/auth/bootstrapApply.js +72 -0
- package/out/auth/brokerClient.js +126 -0
- package/out/auth/callbackUri.js +59 -0
- package/out/auth/callbackUriParse.js +59 -0
- package/out/auth/githubStoreGate.js +70 -0
- package/out/auth/loopbackAuthServer.js +165 -0
- package/out/auth/pkce.js +9 -0
- package/out/auth/provider.js +239 -0
- package/out/auth/sessionStore.js +193 -0
- package/out/auth/signInFlow.js +182 -0
- package/out/auth/types.js +12 -0
- package/out/auth-broker/config.js +62 -0
- package/out/auth-broker/jwt.js +105 -0
- package/out/auth-broker/pkce.js +57 -0
- package/out/auth-broker/server.js +539 -0
- package/out/auth-broker/store.js +273 -0
- package/out/base-prompts/gateway/openclaw-starter.json5 +144 -0
- package/out/base-prompts/gateway/slack-socket-mode-minimal.manifest.json +44 -0
- package/out/base-prompts/mcp-servers/.mcp.json +13 -0
- package/out/base-prompts/mcp-servers/langfuse-analytics/README.md +142 -0
- package/out/base-prompts/mcp-servers/langfuse-analytics/mcp.json +13 -0
- package/out/base-prompts/mcp-servers/langfuse-analytics/package-lock.json +1192 -0
- package/out/base-prompts/mcp-servers/langfuse-analytics/package.json +23 -0
- package/out/base-prompts/mcp-servers/langfuse-analytics/scripts/run-with-env.sh +12 -0
- package/out/base-prompts/mcp-servers/langfuse-analytics/scripts/sdk-test.js +102 -0
- package/out/base-prompts/mcp-servers/langfuse-analytics/scripts/simple-test.js +137 -0
- package/out/base-prompts/mcp-servers/langfuse-analytics/scripts/test-client.js +118 -0
- package/out/base-prompts/mcp-servers/langfuse-analytics/scripts/test-server.js +209 -0
- package/out/base-prompts/mcp-servers/langfuse-analytics/src/client.ts +431 -0
- package/out/base-prompts/mcp-servers/langfuse-analytics/src/index.ts +270 -0
- package/out/base-prompts/mcp-servers/langfuse-analytics/tsconfig.json +18 -0
- package/out/base-prompts/rules/AGENTS.md +204 -0
- package/out/base-prompts/skills/agent-browser/SKILL.md +102 -0
- package/out/base-prompts/skills/agent-builder/SKILL.md +73 -0
- package/out/base-prompts/skills/agent-builder/references/agent-pack.md +63 -0
- package/out/base-prompts/skills/agent-builder/references/crewai.md +66 -0
- package/out/base-prompts/skills/agent-builder/references/langchain.md +60 -0
- package/out/base-prompts/skills/agent-builder/references/raw-sdk.md +73 -0
- package/out/base-prompts/skills/agent-engine-creator/SKILL.md +586 -0
- package/out/base-prompts/skills/agent-engine-installer/SKILL.md +106 -0
- package/out/base-prompts/skills/agent-engine-installer/scripts/install-engine.mjs +259 -0
- package/out/base-prompts/skills/agent-engine-installer/scripts/install-engine.ps1 +189 -0
- package/out/base-prompts/skills/agenthippo-cli/SKILL.md +69 -0
- package/out/base-prompts/skills/agenthippo-cli/scripts/install.sh +63 -0
- package/out/base-prompts/skills/agentpack-creator/SKILL.md +375 -0
- package/out/base-prompts/skills/agentpack-creator/references/agent-templates.md +261 -0
- package/out/base-prompts/skills/agentpack-creator/references/agents-md-guide.md +195 -0
- package/out/base-prompts/skills/agentpack-creator/scripts/init_pack.py +391 -0
- package/out/base-prompts/skills/agentpack-creator/scripts/init_pack_test.py +294 -0
- package/out/base-prompts/skills/agentpack-testbench/SKILL.md +135 -0
- package/out/base-prompts/skills/algorithmic-art/LICENSE.txt +202 -0
- package/out/base-prompts/skills/algorithmic-art/SKILL.md +405 -0
- package/out/base-prompts/skills/algorithmic-art/templates/generator_template.js +223 -0
- package/out/base-prompts/skills/algorithmic-art/templates/viewer.html +599 -0
- package/out/base-prompts/skills/debug-agent/SKILL.md +83 -0
- package/out/base-prompts/skills/desktop-automation/SKILL.md +166 -0
- package/out/base-prompts/skills/desktop-automation/references/agenthippo-ui-recipes.md +441 -0
- package/out/base-prompts/skills/desktop-automation/scripts/windows-desktop-uia.psm1 +280 -0
- package/out/base-prompts/skills/docx/LICENSE.txt +30 -0
- package/out/base-prompts/skills/docx/SKILL.md +197 -0
- package/out/base-prompts/skills/docx/docx-js.md +350 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/out/base-prompts/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/out/base-prompts/skills/docx/ooxml/scripts/pack.py +159 -0
- package/out/base-prompts/skills/docx/ooxml/scripts/unpack.py +29 -0
- package/out/base-prompts/skills/docx/ooxml/scripts/validate.py +69 -0
- package/out/base-prompts/skills/docx/ooxml/scripts/validation/__init__.py +15 -0
- package/out/base-prompts/skills/docx/ooxml/scripts/validation/base.py +951 -0
- package/out/base-prompts/skills/docx/ooxml/scripts/validation/docx.py +274 -0
- package/out/base-prompts/skills/docx/ooxml/scripts/validation/pptx.py +315 -0
- package/out/base-prompts/skills/docx/ooxml/scripts/validation/redlining.py +279 -0
- package/out/base-prompts/skills/docx/ooxml.md +610 -0
- package/out/base-prompts/skills/docx/scripts/__init__.py +1 -0
- package/out/base-prompts/skills/docx/scripts/document.py +1276 -0
- package/out/base-prompts/skills/docx/scripts/templates/comments.xml +3 -0
- package/out/base-prompts/skills/docx/scripts/templates/commentsExtended.xml +3 -0
- package/out/base-prompts/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/out/base-prompts/skills/docx/scripts/templates/commentsIds.xml +3 -0
- package/out/base-prompts/skills/docx/scripts/templates/people.xml +3 -0
- package/out/base-prompts/skills/docx/scripts/utilities.py +374 -0
- package/out/base-prompts/skills/gateway-outbound/SKILL.md +136 -0
- package/out/base-prompts/skills/mcp-builder/LICENSE.txt +202 -0
- package/out/base-prompts/skills/mcp-builder/SKILL.md +328 -0
- package/out/base-prompts/skills/mcp-builder/reference/evaluation.md +602 -0
- package/out/base-prompts/skills/mcp-builder/reference/mcp_best_practices.md +249 -0
- package/out/base-prompts/skills/mcp-builder/reference/node_mcp_server.md +970 -0
- package/out/base-prompts/skills/mcp-builder/reference/python_mcp_server.md +719 -0
- package/out/base-prompts/skills/mcp-builder/scripts/connections.py +151 -0
- package/out/base-prompts/skills/mcp-builder/scripts/evaluation.py +373 -0
- package/out/base-prompts/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/out/base-prompts/skills/mcp-builder/scripts/requirements.txt +2 -0
- package/out/base-prompts/skills/openclaw/SKILL.md +406 -0
- package/out/base-prompts/skills/openclaw/scripts/run-smoke.sh +61 -0
- package/out/base-prompts/skills/pdf/LICENSE.txt +30 -0
- package/out/base-prompts/skills/pdf/SKILL.md +294 -0
- package/out/base-prompts/skills/pdf/forms.md +205 -0
- package/out/base-prompts/skills/pdf/reference.md +612 -0
- package/out/base-prompts/skills/pdf/scripts/check_bounding_boxes.py +70 -0
- package/out/base-prompts/skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
- package/out/base-prompts/skills/pdf/scripts/check_fillable_fields.py +12 -0
- package/out/base-prompts/skills/pdf/scripts/convert_pdf_to_images.py +35 -0
- package/out/base-prompts/skills/pdf/scripts/create_validation_image.py +41 -0
- package/out/base-prompts/skills/pdf/scripts/extract_form_field_info.py +152 -0
- package/out/base-prompts/skills/pdf/scripts/fill_fillable_fields.py +114 -0
- package/out/base-prompts/skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
- package/out/base-prompts/skills/pptx/LICENSE.txt +30 -0
- package/out/base-prompts/skills/pptx/SKILL.md +484 -0
- package/out/base-prompts/skills/pptx/html2pptx.md +625 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/out/base-prompts/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/out/base-prompts/skills/pptx/ooxml/scripts/pack.py +159 -0
- package/out/base-prompts/skills/pptx/ooxml/scripts/unpack.py +29 -0
- package/out/base-prompts/skills/pptx/ooxml/scripts/validate.py +69 -0
- package/out/base-prompts/skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
- package/out/base-prompts/skills/pptx/ooxml/scripts/validation/base.py +951 -0
- package/out/base-prompts/skills/pptx/ooxml/scripts/validation/docx.py +274 -0
- package/out/base-prompts/skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
- package/out/base-prompts/skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
- package/out/base-prompts/skills/pptx/ooxml.md +427 -0
- package/out/base-prompts/skills/pptx/scripts/html2pptx.js +984 -0
- package/out/base-prompts/skills/pptx/scripts/inventory.py +1020 -0
- package/out/base-prompts/skills/pptx/scripts/rearrange.py +231 -0
- package/out/base-prompts/skills/pptx/scripts/replace.py +385 -0
- package/out/base-prompts/skills/pptx/scripts/thumbnail.py +450 -0
- package/out/base-prompts/skills/prompt-lab/SKILL.md +149 -0
- package/out/base-prompts/skills/prompt-lab/scripts/query-analytics.sh +2551 -0
- package/out/base-prompts/skills/skill-creator/LICENSE.txt +202 -0
- package/out/base-prompts/skills/skill-creator/SKILL.md +371 -0
- package/out/base-prompts/skills/skill-creator/references/output-patterns.md +82 -0
- package/out/base-prompts/skills/skill-creator/references/workflows.md +28 -0
- package/out/base-prompts/skills/skill-creator/scripts/init_skill.py +303 -0
- package/out/base-prompts/skills/skill-creator/scripts/package_skill.py +110 -0
- package/out/base-prompts/skills/skill-creator/scripts/quick_validate.py +95 -0
- package/out/base-prompts/skills/skill-installer/SKILL.md +251 -0
- package/out/base-prompts/skills/skill-installer/references/store-api.md +219 -0
- package/out/base-prompts/skills/spotlight-dashboard/SKILL.md +83 -0
- package/out/base-prompts/skills/spotlight-insights/SKILL.md +101 -0
- package/out/base-prompts/skills/spotlight-optimize/SKILL.md +93 -0
- package/out/base-prompts/skills/spotlight-optimize/scripts/query-analytics.sh +2551 -0
- package/out/base-prompts/skills/spotlight-query/SKILL.md +314 -0
- package/out/base-prompts/skills/spotlight-query/references/otel-schema.md +163 -0
- package/out/base-prompts/skills/spotlight-query/scripts/query-analytics.sh +2551 -0
- package/out/base-prompts/skills/spotlight-query/scripts/query-analytics.test.sh +744 -0
- package/out/base-prompts/skills/spotlight-query/scripts/test-fixtures/analytics/sessions/sess-test-1.jsonl +14 -0
- package/out/base-prompts/skills/spotlight-query/scripts/test-fixtures/analytics/traces/.duckdb-index.json +7 -0
- package/out/base-prompts/skills/spotlight-query/scripts/test-fixtures/analytics/traces/sample.jsonl +5 -0
- package/out/base-prompts/skills/spotlight-report/SKILL.md +86 -0
- package/out/base-prompts/skills/spotlight-visualize/SKILL.md +92 -0
- package/out/base-prompts/skills/spotlight-visualize/scripts/query-analytics.sh +2551 -0
- package/out/base-prompts/skills/xlsx/LICENSE.txt +30 -0
- package/out/base-prompts/skills/xlsx/SKILL.md +289 -0
- package/out/base-prompts/skills/xlsx/recalc.py +178 -0
- package/out/branding.js +23 -0
- package/out/cli/commands/anywhere.js +66 -0
- package/out/cli/commands/ask.js +243 -0
- package/out/cli/commands/auth-broker.js +24 -0
- package/out/cli/commands/auth.js +219 -0
- package/out/cli/commands/chat.js +354 -0
- package/out/cli/commands/deploy.js +223 -0
- package/out/cli/commands/gateway.js +160 -0
- package/out/cli/commands/pack.js +220 -0
- package/out/cli/commands/probe-custom-engine.js +82 -0
- package/out/cli/commands/serve.js +583 -0
- package/out/cli/commands/store.js +919 -0
- package/out/cli/credential-context.js +113 -0
- package/out/cli/deploy-init.js +2087 -0
- package/out/cli/deps.js +238 -0
- package/out/cli/index.js +390 -0
- package/out/cli/pack-loader.js +376 -0
- package/out/cli/run-custom-engine-runner.js +318 -0
- package/out/cli/runtime.js +409 -0
- package/out/cli/serve-hardening.js +325 -0
- package/out/cli/state-sync.js +135 -0
- package/out/cli/utils.js +220 -0
- package/out/cli/vscode-shim.js +86 -0
- package/out/engines/base.js +159 -0
- package/out/engines/claude.js +1215 -0
- package/out/engines/codex.js +759 -0
- package/out/engines/custom.js +632 -0
- package/out/engines/customEngineIpc.js +95 -0
- package/out/engines/customEngineRunnerEmbed.js +107 -0
- package/out/engines/customRegistry.js +274 -0
- package/out/engines/embeddedCustomEngineRunner.generated.js +9 -0
- package/out/engines/engineApiKey.js +138 -0
- package/out/engines/factory.js +45 -0
- package/out/engines/install.js +372 -0
- package/out/engines/persistentEngineWorker.js +320 -0
- package/out/engines/publish.js +341 -0
- package/out/engines/types.js +17 -0
- package/out/examples/run-headless-repl.js +291 -0
- package/out/examples/run-headless.js +187 -0
- package/out/extension.js +4472 -0
- package/out/gateway/bridge.js +805 -0
- package/out/gateway/cli-agent-id.js +36 -0
- package/out/gateway/client.js +303 -0
- package/out/gateway/client.test.js +395 -0
- package/out/gateway/gateway-scope-errors.js +14 -0
- package/out/gateway/gatewayBackup.js +76 -0
- package/out/gateway/gatewayRouteIndex.js +371 -0
- package/out/gateway/gatewaySessionStore.js +243 -0
- package/out/gateway/index.js +31 -0
- package/out/gateway/lifecycle.js +3056 -0
- package/out/gateway/openclaw-channel-routing.js +317 -0
- package/out/gateway/outboundHandles.js +373 -0
- package/out/gateway/outboundPaths.js +72 -0
- package/out/gateway/outboundSend.js +254 -0
- package/out/gateway/protocol.js +48 -0
- package/out/gateway/resetMappings.js +52 -0
- package/out/gateway/service.js +1244 -0
- package/out/gateway/sessionRouting.js +77 -0
- package/out/headless/index.js +505 -0
- package/out/headless/sync.js +473 -0
- package/out/mcp/publish.js +143 -0
- package/out/mcp.js +597 -0
- package/out/permissions.js +108 -0
- package/out/permissions.mapping.yaml +68 -0
- package/out/registry/index.js +332 -0
- package/out/remote/handleRemoteChat.js +122 -0
- package/out/remote/remotePackStatusBar.js +103 -0
- package/out/remote/serveClient.js +216 -0
- package/out/remoteSkills.js +191 -0
- package/out/runtime/index.js +32 -0
- package/out/runtime/interfaces/config-provider.js +32 -0
- package/out/runtime/interfaces/edit-tracker.js +22 -0
- package/out/runtime/interfaces/index.js +29 -0
- package/out/runtime/interfaces/logger.js +40 -0
- package/out/runtime/interfaces/permission-handler.js +66 -0
- package/out/runtime/interfaces/session-store.js +342 -0
- package/out/runtime/vscode/index.js +20 -0
- package/out/runtime/vscode/vscode-config-provider.js +77 -0
- package/out/runtime/vscode/vscode-edit-tracker.js +120 -0
- package/out/runtime/vscode/vscode-logger.js +30 -0
- package/out/runtime/vscode/vscode-permission-handler.js +72 -0
- package/out/runtime/vscode/vscode-session-store.js +22 -0
- package/out/scripts/agentide-litellm.ps1 +501 -0
- package/out/scripts/agentide-litellm.sh +700 -0
- package/out/scripts/agentide_litellm_hooks_v1.py +604 -0
- package/out/scripts/analytics/agent-fleet-widget.js +954 -0
- package/out/scripts/analytics/agentide-litellm-otel.config.yaml +160 -0
- package/out/scripts/analytics/default-seed-scripts.json +12 -0
- package/out/scripts/analytics/duckdbLocator.js +29 -0
- package/out/scripts/analytics/fleet-local-adapter.js +246 -0
- package/out/scripts/analytics/fleet-workflow.sh +263 -0
- package/out/scripts/analytics/generate-default-charts.py +685 -0
- package/out/scripts/analytics/hotspot-analysis-widget.js +909 -0
- package/out/scripts/analytics/index-traces.py +1394 -0
- package/out/scripts/analytics/install-analytics.sh +286 -0
- package/out/scripts/analytics/live-fleet-4-collector.cjs +315 -0
- package/out/scripts/analytics/live-fleet-4-daemon.mjs +134 -0
- package/out/scripts/analytics/live-fleet-4-widget.cjs +433 -0
- package/out/scripts/analytics/otel-collector.yaml +55 -0
- package/out/scripts/analytics/query-analytics.ps1 +396 -0
- package/out/scripts/analytics/query-analytics.sh +2551 -0
- package/out/scripts/analytics/session-comparison-widget.js +1468 -0
- package/out/scripts/analytics/session-timeline-widget.js +2137 -0
- package/out/scripts/analytics/setup-analytics.ps1 +432 -0
- package/out/scripts/analytics/setup-analytics.sh +854 -0
- package/out/scripts/analytics/start-analytics.ps1 +169 -0
- package/out/scripts/analytics/start-analytics.sh +323 -0
- package/out/scripts/analytics/token-cost-flamegraph-widget.js +954 -0
- package/out/scripts/analytics/token-cost-trend-widget.js +1062 -0
- package/out/scripts/analytics/workflows-collector.cjs +315 -0
- package/out/scripts/analytics/workflows-daemon.mjs +186 -0
- package/out/scripts/analytics/workflows-widget.cjs +433 -0
- package/out/scripts/analytics/wow-model-widget.js +191 -0
- package/out/scripts/gateway/Dockerfile.serve +45 -0
- package/out/scripts/gateway/docker-serve.sh +248 -0
- package/out/scripts/gateway/setup-gateway-server.ps1 +953 -0
- package/out/scripts/gateway/setup-gateway-server.sh +935 -0
- package/out/scripts/gateway/setup-gateway.ps1 +1813 -0
- package/out/scripts/gateway/setup-gateway.sh +1541 -0
- package/out/scripts/setup-cli.ps1 +86 -0
- package/out/scripts/setup-cli.sh +117 -0
- package/out/scripts/tools-manifest.json +83 -0
- package/out/scripts/vendor-tools.mjs +234 -0
- package/out/session.js +272 -0
- package/out/shared/agentEngines.js +170 -0
- package/out/shared/index.js +109 -0
- package/out/shared/models.js +235 -0
- package/out/shared/providers.js +202 -0
- package/out/skills/publish.js +178 -0
- package/out/spotlight/install.js +339 -0
- package/out/spotlight/publish.js +544 -0
- package/out/spotlight/yaml.js +31 -0
- package/out/store/github/setup.js +235 -0
- package/out/store/github/templates/build-index.ts +339 -0
- package/out/store/github/templates/build-index.yml +97 -0
- package/out/store/github/templates/package.json +11 -0
- package/out/store/index.js +755 -0
- package/out/store/oramaIndex.js +884 -0
- package/out/store/shared.js +241 -0
- package/out/sync.js +1827 -0
- package/out/terminalLogger.js +358 -0
- package/out/test/agentEnvFile.test.js +97 -0
- package/out/test/agentYaml.test.js +373 -0
- package/out/test/agentpack.test.js +639 -0
- package/out/test/analytics-lifecycle.test.js +174 -0
- package/out/test/analytics.test.js +524 -0
- package/out/test/auth-bootstrapApply.test.js +102 -0
- package/out/test/auth-broker.test.js +434 -0
- package/out/test/auth-callback.test.js +62 -0
- package/out/test/branding.test.js +229 -0
- package/out/test/cli-agent-id.test.js +55 -0
- package/out/test/credential-context.test.js +105 -0
- package/out/test/customEngineInstall.test.js +100 -0
- package/out/test/customRegistry.test.js +122 -0
- package/out/test/deploy-init.test.js +532 -0
- package/out/test/deps-auto-install.test.js +81 -0
- package/out/test/engine-integration.test.js +297 -0
- package/out/test/enginePaths.test.js +195 -0
- package/out/test/enginePublish.test.js +82 -0
- package/out/test/fleetDisplayUtils.test.js +96 -0
- package/out/test/gateway-client.test.js +381 -0
- package/out/test/gateway-lifecycle.test.js +608 -0
- package/out/test/gateway-outbound.test.js +531 -0
- package/out/test/gateway-reset-mappings.test.js +221 -0
- package/out/test/gateway-route-index.test.js +235 -0
- package/out/test/gateway-session-routing.test.js +47 -0
- package/out/test/gateway-session-store.test.js +216 -0
- package/out/test/github.test.js +232 -0
- package/out/test/headless-sync.test.js +279 -0
- package/out/test/helpers/manifest-fixtures.js +27 -0
- package/out/test/mcp-obo.test.js +82 -0
- package/out/test/mcp.test.js +307 -0
- package/out/test/openclaw-channel-routing.test.js +191 -0
- package/out/test/pathSafety.test.js +63 -0
- package/out/test/permissions.test.js +175 -0
- package/out/test/persistent-engine-worker.test.js +220 -0
- package/out/test/refreshPolicy.test.js +60 -0
- package/out/test/registry.test.js +351 -0
- package/out/test/runtime.test.js +349 -0
- package/out/test/scheduledFleetStorage.test.js +72 -0
- package/out/test/serve-hardening.test.js +192 -0
- package/out/test/serveClient.test.js +173 -0
- package/out/test/sessionJsonlFleet.test.js +78 -0
- package/out/test/shared.test.js +173 -0
- package/out/test/skills-mcp.test.js +299 -0
- package/out/test/spotlightPublish.test.js +299 -0
- package/out/test/spotlightYaml.test.js +58 -0
- package/out/test/state-sync-peer.test.js +74 -0
- package/out/test/store.test.js +331 -0
- package/out/test/stores.test.js +504 -0
- package/out/test/sync-switch.test.js +251 -0
- package/out/test/teamViewDiscovery.test.js +90 -0
- package/out/test/toolPath.test.js +120 -0
- package/out/test/utils.test.js +308 -0
- package/out/test/viewsConfigMerge.test.js +180 -0
- package/out/test/windows-command-line.test.js +75 -0
- package/out/utils/agentEnvFile.js +131 -0
- package/out/utils/binary.js +175 -0
- package/out/utils/index.js +37 -0
- package/out/utils/network.js +74 -0
- package/out/utils/pathSafety.js +60 -0
- package/out/utils/paths.js +116 -0
- package/out/utils/pid.js +180 -0
- package/out/utils/pythonRunner.js +258 -0
- package/out/utils/resolveNodeBinary.js +168 -0
- package/out/utils/toolPath.js +83 -0
- package/out/utils/windowsCommandLine.js +29 -0
- package/out/utils.js +915 -0
- package/out/workspaceFolders.js +59 -0
- package/package.json +41 -0
package/out/cli/deps.js
ADDED
|
@@ -0,0 +1,238 @@
|
|
|
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.getDepsDir = getDepsDir;
|
|
40
|
+
exports.areDepsInstalled = areDepsInstalled;
|
|
41
|
+
exports.installDeps = installDeps;
|
|
42
|
+
exports.isAutoInstallDisabled = isAutoInstallDisabled;
|
|
43
|
+
exports.ensureDeps = ensureDeps;
|
|
44
|
+
exports.getClaudeSdkCliPath = getClaudeSdkCliPath;
|
|
45
|
+
exports.getCodexSdkBinaryPath = getCodexSdkBinaryPath;
|
|
46
|
+
/**
|
|
47
|
+
* CLI Dependency Management
|
|
48
|
+
*
|
|
49
|
+
* On first run, installs engine SDK dependencies (which include their CLIs).
|
|
50
|
+
* This lets npm/bun handle platform-specific binaries automatically.
|
|
51
|
+
*/
|
|
52
|
+
const fs = __importStar(require("fs"));
|
|
53
|
+
const path = __importStar(require("path"));
|
|
54
|
+
const child_process_1 = require("child_process");
|
|
55
|
+
const utils_1 = require("./utils");
|
|
56
|
+
const branding_1 = require("../branding");
|
|
57
|
+
/**
|
|
58
|
+
* Resolve engine dependency versions.
|
|
59
|
+
*
|
|
60
|
+
* We prefer reading from the extension's package.json so the CLI auto-installer stays
|
|
61
|
+
* in lockstep with the extension's dependency versions (avoid drift/regressions).
|
|
62
|
+
*
|
|
63
|
+
* In compiled/bundled contexts, this require is typically inlined by the bundler.
|
|
64
|
+
* If it fails for any reason, we fall back to pinned defaults.
|
|
65
|
+
*/
|
|
66
|
+
function resolveEngineDeps() {
|
|
67
|
+
const pkg = (() => {
|
|
68
|
+
try {
|
|
69
|
+
// `deps.ts` lives at src/cli/, so ../../package.json resolves to extensions/agentide/package.json
|
|
70
|
+
// when run from source (and is usually bundled into the CLI binary).
|
|
71
|
+
return require('../../package.json');
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
return undefined;
|
|
75
|
+
}
|
|
76
|
+
})();
|
|
77
|
+
const deps = pkg?.dependencies ?? {};
|
|
78
|
+
return {
|
|
79
|
+
'@anthropic-ai/claude-agent-sdk': deps['@anthropic-ai/claude-agent-sdk'] ?? '^0.2.19',
|
|
80
|
+
'@openai/codex': deps['@openai/codex'] ?? '^0.131.0',
|
|
81
|
+
'@openai/codex-sdk': deps['@openai/codex-sdk'] ?? '^0.131.0',
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
// Dependencies required for the engines (resolved once at startup).
|
|
85
|
+
const ENGINE_DEPS = resolveEngineDeps();
|
|
86
|
+
/**
|
|
87
|
+
* Get the deps directory (next to the binary)
|
|
88
|
+
*/
|
|
89
|
+
function getDepsDir() {
|
|
90
|
+
const binaryDir = path.dirname(process.execPath);
|
|
91
|
+
return path.join(binaryDir, branding_1.AGENTIDE_DEPS_DIR_NAME);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Check if engine dependencies are installed
|
|
95
|
+
*/
|
|
96
|
+
function areDepsInstalled() {
|
|
97
|
+
const depsDir = getDepsDir();
|
|
98
|
+
const nodeModules = path.join(depsDir, 'node_modules');
|
|
99
|
+
const depsPackageJsonPath = path.join(depsDir, 'package.json');
|
|
100
|
+
// Ensure the installed deps match the required versions for *this* CLI build.
|
|
101
|
+
// This lets us auto-upgrade on CLI updates (long-lived ~/.agenthippo-deps dirs).
|
|
102
|
+
try {
|
|
103
|
+
if (!fs.existsSync(depsPackageJsonPath)) {
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
const raw = fs.readFileSync(depsPackageJsonPath, 'utf8');
|
|
107
|
+
const parsed = JSON.parse(raw);
|
|
108
|
+
const installedSpec = parsed.dependencies ?? {};
|
|
109
|
+
for (const [name, spec] of Object.entries(ENGINE_DEPS)) {
|
|
110
|
+
if (installedSpec[name] !== spec) {
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
// Check if key packages exist
|
|
119
|
+
const claudeSdk = path.join(nodeModules, '@anthropic-ai', 'claude-agent-sdk', 'cli.js');
|
|
120
|
+
const codexCli = path.join(nodeModules, '@openai', 'codex', 'bin', 'codex.js');
|
|
121
|
+
const codexSdk = path.join(nodeModules, '@openai', 'codex-sdk', 'package.json');
|
|
122
|
+
return fs.existsSync(claudeSdk) && fs.existsSync(codexCli) && fs.existsSync(codexSdk);
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Install engine dependencies
|
|
126
|
+
*/
|
|
127
|
+
async function installDeps(verbose = false) {
|
|
128
|
+
const depsDir = getDepsDir();
|
|
129
|
+
console.log(`${utils_1.COLORS.cyan}Installing engine dependencies...${utils_1.COLORS.reset}`);
|
|
130
|
+
if (verbose) {
|
|
131
|
+
console.log(` Directory: ${depsDir}`);
|
|
132
|
+
}
|
|
133
|
+
// Create deps directory
|
|
134
|
+
fs.mkdirSync(depsDir, { recursive: true });
|
|
135
|
+
// Write minimal package.json
|
|
136
|
+
const packageJson = {
|
|
137
|
+
name: branding_1.AGENTIDE_DEPS_PACKAGE_NAME,
|
|
138
|
+
version: '1.0.0',
|
|
139
|
+
private: true,
|
|
140
|
+
dependencies: ENGINE_DEPS,
|
|
141
|
+
};
|
|
142
|
+
fs.writeFileSync(path.join(depsDir, 'package.json'), JSON.stringify(packageJson, null, 2) + '\n');
|
|
143
|
+
// Run npm install
|
|
144
|
+
try {
|
|
145
|
+
const npmCmd = process.platform === 'win32' ? 'npm.cmd' : 'npm';
|
|
146
|
+
(0, child_process_1.execSync)(`${npmCmd} install --production --no-audit --no-fund`, {
|
|
147
|
+
cwd: depsDir,
|
|
148
|
+
stdio: verbose ? 'inherit' : 'pipe',
|
|
149
|
+
});
|
|
150
|
+
console.log(`${utils_1.COLORS.green}Dependencies installed${utils_1.COLORS.reset}`);
|
|
151
|
+
}
|
|
152
|
+
catch (err) {
|
|
153
|
+
console.error(`${utils_1.COLORS.red}Error: Failed to install dependencies${utils_1.COLORS.reset}`);
|
|
154
|
+
if (err instanceof Error) {
|
|
155
|
+
console.error(` ${err.message}`);
|
|
156
|
+
}
|
|
157
|
+
throw err;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Whether first-run auto-install of engine SDKs is disabled.
|
|
162
|
+
*
|
|
163
|
+
* Set `AGENTHIPPO_NO_AUTO_INSTALL=1` in a self-contained runtime image (serve-v3
|
|
164
|
+
* A2): engine deps are baked at build time, so the CLI must NOT npm-install at
|
|
165
|
+
* runtime — which would otherwise tax every cold start, break in egress-locked
|
|
166
|
+
* VPCs, and risk version drift across autoscaled instances.
|
|
167
|
+
*/
|
|
168
|
+
function isAutoInstallDisabled() {
|
|
169
|
+
const raw = (process.env.AGENTHIPPO_NO_AUTO_INSTALL ?? process.env.AGENTIDE_NO_AUTO_INSTALL ?? '')
|
|
170
|
+
.trim()
|
|
171
|
+
.toLowerCase();
|
|
172
|
+
return raw === '1' || raw === 'true' || raw === 'yes' || raw === 'on';
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Ensure dependencies are installed (call on startup).
|
|
176
|
+
*
|
|
177
|
+
* When auto-install is disabled we skip silently and let engine-specific
|
|
178
|
+
* resolution fail with its own clear error if a needed SDK is genuinely absent.
|
|
179
|
+
* This keeps custom engines (e.g. cursor), which don't use these built-in SDKs,
|
|
180
|
+
* from paying any install cost at all.
|
|
181
|
+
*/
|
|
182
|
+
async function ensureDeps(verbose = false) {
|
|
183
|
+
if (areDepsInstalled()) {
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
if (isAutoInstallDisabled()) {
|
|
187
|
+
if (verbose) {
|
|
188
|
+
console.error(`${utils_1.COLORS.dim}AGENTHIPPO_NO_AUTO_INSTALL set — skipping engine dependency install (expecting a self-contained image).${utils_1.COLORS.reset}`);
|
|
189
|
+
}
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
await installDeps(verbose);
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Get the path to Claude SDK's cli.js
|
|
196
|
+
*/
|
|
197
|
+
function getClaudeSdkCliPath() {
|
|
198
|
+
const depsDir = getDepsDir();
|
|
199
|
+
const cliPath = path.join(depsDir, 'node_modules', '@anthropic-ai', 'claude-agent-sdk', 'cli.js');
|
|
200
|
+
return fs.existsSync(cliPath) ? cliPath : undefined;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Get the path to the Codex CLI entrypoint installed alongside the CLI binary.
|
|
204
|
+
* @openai/codex@0.131+ ships bin/codex.js and pulls platform natives via optional deps.
|
|
205
|
+
*/
|
|
206
|
+
function getCodexSdkBinaryPath() {
|
|
207
|
+
const depsDir = getDepsDir();
|
|
208
|
+
const codexCli = path.join(depsDir, 'node_modules', '@openai', 'codex', 'bin', 'codex.js');
|
|
209
|
+
if (fs.existsSync(codexCli)) {
|
|
210
|
+
return codexCli;
|
|
211
|
+
}
|
|
212
|
+
// Legacy: codex-sdk < 0.120 bundled native binaries under vendor/
|
|
213
|
+
const codexDir = path.join(depsDir, 'node_modules', '@openai', 'codex-sdk');
|
|
214
|
+
const platform = getCodexPlatform();
|
|
215
|
+
if (!platform) {
|
|
216
|
+
return undefined;
|
|
217
|
+
}
|
|
218
|
+
const binaryName = process.platform === 'win32' ? 'codex.exe' : 'codex';
|
|
219
|
+
const legacyPath = path.join(codexDir, 'vendor', platform, 'codex', binaryName);
|
|
220
|
+
return fs.existsSync(legacyPath) ? legacyPath : undefined;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Get the Codex platform triple
|
|
224
|
+
*/
|
|
225
|
+
function getCodexPlatform() {
|
|
226
|
+
const arch = process.arch;
|
|
227
|
+
const platform = process.platform;
|
|
228
|
+
if (platform === 'darwin') {
|
|
229
|
+
return arch === 'arm64' ? 'aarch64-apple-darwin' : 'x86_64-apple-darwin';
|
|
230
|
+
}
|
|
231
|
+
if (platform === 'linux') {
|
|
232
|
+
return arch === 'arm64' ? 'aarch64-unknown-linux-musl' : 'x86_64-unknown-linux-musl';
|
|
233
|
+
}
|
|
234
|
+
if (platform === 'win32') {
|
|
235
|
+
return arch === 'arm64' ? 'aarch64-pc-windows-msvc' : 'x86_64-pc-windows-msvc';
|
|
236
|
+
}
|
|
237
|
+
return undefined;
|
|
238
|
+
}
|
package/out/cli/index.js
ADDED
|
@@ -0,0 +1,390 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) AgentHippo.ai. All rights reserved.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
/**
|
|
7
|
+
* Agent Hippo CLI
|
|
8
|
+
*
|
|
9
|
+
* Standalone command-line interface for running agent packs.
|
|
10
|
+
*
|
|
11
|
+
* Commands:
|
|
12
|
+
* agenthippo chat [--agent <name>] [-e claude|codex|<custom-engine-id>] [-m <model>] Interactive chat (flags override pack)
|
|
13
|
+
* agenthippo ask <message> [--agent <name>] [-e ...] [-m ...] One-shot message
|
|
14
|
+
* agenthippo agent run --json --prompt "<message>" [--pack <name>] Gateway-friendly one-shot JSON
|
|
15
|
+
* agenthippo serve --agent <name> [-e ...] [-m ...] [--port <n>] HTTP API server
|
|
16
|
+
* agenthippo pack <command> Pack management
|
|
17
|
+
* agenthippo store publish engine/<id>[@version] Publish a custom engine (fork + PR)
|
|
18
|
+
* agenthippo store publish view/<id>[@version] Publish a Spotlight view (--bundle full|--full)
|
|
19
|
+
* agenthippo store install view/<id>[@version] Install a Spotlight view from the store
|
|
20
|
+
* agenthippo store uninstall engine/<id> Uninstall a custom engine
|
|
21
|
+
* agenthippo anywhere <command> Agent Anywhere gateway
|
|
22
|
+
* agenthippo gateway list --outbound <path> [--agent <id>] List session outbound routes
|
|
23
|
+
* agenthippo gateway send --outbound <path> --agent <id> -m "..." [--media <path|url>] Proactive outbound via gateway RPC
|
|
24
|
+
*
|
|
25
|
+
* Configuration (via environment variables):
|
|
26
|
+
* AGENTHIPPO_LITELLM_API_KEY API key for LiteLLM proxy (recommended)
|
|
27
|
+
* AGENTHIPPO_LITELLM_BASE_URL Base URL for LiteLLM proxy
|
|
28
|
+
* ANTHROPIC_API_KEY Direct Anthropic API key
|
|
29
|
+
* OPENAI_API_KEY Direct OpenAI API key
|
|
30
|
+
* CLAUDE_CODE_PATH Path to Claude Code CLI executable
|
|
31
|
+
* CODEX_PATH Path to Codex CLI executable
|
|
32
|
+
* AGENTHIPPO_DEFAULT_ENGINE Default engine ('claude', 'codex', or a custom engine id)
|
|
33
|
+
* AGENTHIPPO_DEFAULT_MODEL Default model ID
|
|
34
|
+
* AGENTHIPPO_HOME Override ~/.agent-hippo directory
|
|
35
|
+
*
|
|
36
|
+
* Legacy env vars with the AGENTIDE_ prefix are still supported.
|
|
37
|
+
*
|
|
38
|
+
* Agent packs are loaded from:
|
|
39
|
+
* 1. Absolute/relative path
|
|
40
|
+
* 2. ~/.agent-hippo/agents/<name>/
|
|
41
|
+
*
|
|
42
|
+
* Permissions:
|
|
43
|
+
* Pack's permissions.fileAccess controls filesystem scope:
|
|
44
|
+
* - 'read-only': read/search only (no writes)
|
|
45
|
+
* - 'workspace-write': writable inside workspace folders
|
|
46
|
+
* - 'full': full filesystem access
|
|
47
|
+
*/
|
|
48
|
+
// Stub vscode before any imports that depend on it
|
|
49
|
+
const Module = require('module');
|
|
50
|
+
const originalRequire = Module.prototype.require;
|
|
51
|
+
Module.prototype.require = function (id) {
|
|
52
|
+
if (id === 'vscode') {
|
|
53
|
+
return {
|
|
54
|
+
window: {
|
|
55
|
+
showInformationMessage: () => undefined,
|
|
56
|
+
showErrorMessage: () => undefined,
|
|
57
|
+
showWarningMessage: () => Promise.resolve(undefined),
|
|
58
|
+
},
|
|
59
|
+
workspace: {
|
|
60
|
+
getConfiguration: () => ({
|
|
61
|
+
get: (_key, defaultValue) => defaultValue,
|
|
62
|
+
inspect: () => undefined,
|
|
63
|
+
}),
|
|
64
|
+
},
|
|
65
|
+
commands: {
|
|
66
|
+
executeCommand: async () => undefined,
|
|
67
|
+
},
|
|
68
|
+
Memento: class {
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
return originalRequire.apply(this, arguments);
|
|
73
|
+
};
|
|
74
|
+
const commander_1 = require("commander");
|
|
75
|
+
const chat_1 = require("./commands/chat");
|
|
76
|
+
const ask_1 = require("./commands/ask");
|
|
77
|
+
const serve_1 = require("./commands/serve");
|
|
78
|
+
const auth_broker_1 = require("./commands/auth-broker");
|
|
79
|
+
const deploy_1 = require("./commands/deploy");
|
|
80
|
+
const pack_1 = require("./commands/pack");
|
|
81
|
+
const store_1 = require("./commands/store");
|
|
82
|
+
const anywhere_1 = require("./commands/anywhere");
|
|
83
|
+
const gateway_1 = require("./commands/gateway");
|
|
84
|
+
const probe_custom_engine_1 = require("./commands/probe-custom-engine");
|
|
85
|
+
const deps_1 = require("./deps");
|
|
86
|
+
const branding_1 = require("../branding");
|
|
87
|
+
const agentEnvFile_1 = require("../utils/agentEnvFile");
|
|
88
|
+
const VERSION = '1.110.8';
|
|
89
|
+
const CLI_DESCRIPTION = [
|
|
90
|
+
`${branding_1.AGENTIDE_BRAND_NAME} CLI - Run agent packs from the command line`,
|
|
91
|
+
'',
|
|
92
|
+
'Environment Variables:',
|
|
93
|
+
' AGENTHIPPO_LITELLM_API_KEY API key for LiteLLM proxy',
|
|
94
|
+
' AGENTHIPPO_LITELLM_BASE_URL Base URL for LiteLLM proxy',
|
|
95
|
+
' ANTHROPIC_API_KEY Direct Anthropic API key',
|
|
96
|
+
' OPENAI_API_KEY Direct OpenAI API key',
|
|
97
|
+
' AGENTHIPPO_DEFAULT_ENGINE Default engine (claude/codex/<custom-engine-id>)',
|
|
98
|
+
' AGENTHIPPO_DEFAULT_MODEL Default model ID',
|
|
99
|
+
' AGENTHIPPO_HOME Override ~/.agent-hippo directory',
|
|
100
|
+
' AGENTHIPPO_SERVE_HOST Listen address for serve (default 127.0.0.1; use 0.0.0.0 in containers)',
|
|
101
|
+
' AGENTHIPPO_STORE_REPO Override store GitHub repo (owner/repo; CLI store commands)',
|
|
102
|
+
'',
|
|
103
|
+
'Quickstart:',
|
|
104
|
+
` AGENTHIPPO_LITELLM_BASE_URL="http://localhost:4000" AGENTHIPPO_LITELLM_API_KEY="dummy" AGENTHIPPO_DEFAULT_MODEL="litellm/gpt-5.3-codex" AGENTHIPPO_DEFAULT_ENGINE="codex" ${branding_1.AGENTIDE_CLI_NAME} ask "Reply with exactly: CLI_TEST_OK"`,
|
|
105
|
+
'',
|
|
106
|
+
'Agent Packs:',
|
|
107
|
+
` Loaded from ~/${branding_1.AGENTIDE_DIR_NAME}/agents/<name>/ or absolute/relative paths.`,
|
|
108
|
+
' Pack permissions control filesystem access scope.',
|
|
109
|
+
].join('\n');
|
|
110
|
+
const program = new commander_1.Command();
|
|
111
|
+
program.hook('preAction', async () => {
|
|
112
|
+
await (0, agentEnvFile_1.mergeAgentHomeEnvIntoProcessEnv)();
|
|
113
|
+
});
|
|
114
|
+
program
|
|
115
|
+
.name(branding_1.AGENTIDE_CLI_NAME)
|
|
116
|
+
.description(CLI_DESCRIPTION)
|
|
117
|
+
.version(VERSION);
|
|
118
|
+
// Global options
|
|
119
|
+
program
|
|
120
|
+
.option('-v, --verbose', 'Enable verbose logging')
|
|
121
|
+
.option('--config <path>', 'Path to config file');
|
|
122
|
+
// Chat command - interactive REPL
|
|
123
|
+
program
|
|
124
|
+
.command('chat')
|
|
125
|
+
.description('Start interactive chat session')
|
|
126
|
+
.option('-a, --agent <name>', 'Agent pack to use')
|
|
127
|
+
.option('-e, --engine <id>', 'Override pack engine: claude|codex|<custom-engine-id>')
|
|
128
|
+
.option('-m, --model <id>', 'Override pack model (e.g. litellm/gpt-4.1-nano)')
|
|
129
|
+
.option('-w, --workspace <path>', 'Workspace directory', process.cwd())
|
|
130
|
+
.action(async (options) => {
|
|
131
|
+
const verbose = program.opts().verbose;
|
|
132
|
+
await (0, deps_1.ensureDeps)(verbose);
|
|
133
|
+
await (0, chat_1.chatCommand)({
|
|
134
|
+
agent: options.agent,
|
|
135
|
+
engine: options.engine,
|
|
136
|
+
model: options.model,
|
|
137
|
+
workspace: options.workspace,
|
|
138
|
+
verbose,
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
// Ask command - one-shot
|
|
142
|
+
program
|
|
143
|
+
.command('ask <message...>')
|
|
144
|
+
.description('Send a single message and exit')
|
|
145
|
+
.option('-a, --agent <name>', 'Agent pack to use')
|
|
146
|
+
.option('-e, --engine <id>', 'Override pack engine: claude|codex|<custom-engine-id>')
|
|
147
|
+
.option('-m, --model <id>', 'Override pack model (e.g. litellm/gpt-4.1-nano)')
|
|
148
|
+
.option('-w, --workspace <path>', 'Workspace directory', process.cwd())
|
|
149
|
+
.option('-f, --file <path>', 'Include file content in context')
|
|
150
|
+
.option('--json', 'Output as JSON')
|
|
151
|
+
.option('--session-id <id>', 'Conversation session id (enables multi-turn resume across ask invocations)')
|
|
152
|
+
.action(async (messageParts, options) => {
|
|
153
|
+
const verbose = program.opts().verbose;
|
|
154
|
+
await (0, deps_1.ensureDeps)(verbose);
|
|
155
|
+
const message = messageParts.join(' ');
|
|
156
|
+
await (0, ask_1.askCommand)({
|
|
157
|
+
message,
|
|
158
|
+
agent: options.agent,
|
|
159
|
+
engine: options.engine,
|
|
160
|
+
model: options.model,
|
|
161
|
+
workspace: options.workspace,
|
|
162
|
+
file: options.file,
|
|
163
|
+
json: options.json,
|
|
164
|
+
sessionId: options.sessionId,
|
|
165
|
+
verbose,
|
|
166
|
+
});
|
|
167
|
+
});
|
|
168
|
+
// Agent command - gateway-friendly machine interface
|
|
169
|
+
program
|
|
170
|
+
.command('agent')
|
|
171
|
+
.description('Run agent operations')
|
|
172
|
+
.command('run')
|
|
173
|
+
.description('Run a single prompt and output JSON')
|
|
174
|
+
.requiredOption('--json', 'Output JSON (required)')
|
|
175
|
+
.requiredOption('--prompt <message>', 'Prompt text')
|
|
176
|
+
.option('--pack <name>', 'Agent pack to use')
|
|
177
|
+
.option('-e, --engine <id>', 'Override pack engine: claude|codex|<custom-engine-id>')
|
|
178
|
+
.option('-m, --model <id>', 'Override pack model (e.g. litellm/gpt-4.1-nano)')
|
|
179
|
+
.option('-w, --workspace <path>', 'Workspace directory', process.cwd())
|
|
180
|
+
.option('--session-id <id>', 'Optional session id for the caller')
|
|
181
|
+
.option('--system-prompt <text>', 'Optional system prompt override')
|
|
182
|
+
.option('-f, --file <path>', 'Include file content in context')
|
|
183
|
+
.action(async (options) => {
|
|
184
|
+
const verbose = program.opts().verbose;
|
|
185
|
+
await (0, deps_1.ensureDeps)(verbose);
|
|
186
|
+
await (0, ask_1.askCommand)({
|
|
187
|
+
message: options.prompt,
|
|
188
|
+
agent: options.pack,
|
|
189
|
+
engine: options.engine,
|
|
190
|
+
model: options.model,
|
|
191
|
+
workspace: options.workspace,
|
|
192
|
+
file: options.file,
|
|
193
|
+
json: true,
|
|
194
|
+
sessionId: options.sessionId,
|
|
195
|
+
systemPrompt: options.systemPrompt,
|
|
196
|
+
outputMode: 'agent-run',
|
|
197
|
+
verbose,
|
|
198
|
+
});
|
|
199
|
+
});
|
|
200
|
+
// Serve command - HTTP server
|
|
201
|
+
program
|
|
202
|
+
.command('serve')
|
|
203
|
+
.description('Start HTTP server')
|
|
204
|
+
.requiredOption('-a, --agent <name>', 'Agent pack to use (required)')
|
|
205
|
+
.option('-e, --engine <id>', 'Override pack engine: claude|codex|<custom-engine-id>')
|
|
206
|
+
.option('-m, --model <id>', 'Override pack model (e.g. litellm/gpt-4.1-nano)')
|
|
207
|
+
.option('-p, --port <port>', 'Port to listen on', '3000')
|
|
208
|
+
.option('--host <address>', 'Address to bind the HTTP server (default 127.0.0.1; use 0.0.0.0 in containers/behind a proxy)')
|
|
209
|
+
.option('-w, --workspace <path>', 'Default workspace directory', process.cwd())
|
|
210
|
+
.option('--bind <channels>', 'Bind agent to gateway channels (comma-separated, e.g. "telegram,whatsapp" or "*" for all)')
|
|
211
|
+
.option('--gateway-bridge', 'Keep a WebSocket to OpenClaw and register this pack so `openclaw agent --agent <id>` routes here (needs OPENCLAW_GATEWAY_TOKEN if your gateway requires it)')
|
|
212
|
+
.option('--state-dir <path>', 'Persist session state here (honors AGENTHIPPO_HOME; replaces the tmpdir default)')
|
|
213
|
+
.option('--max-turns-per-session <n>', 'Cap turns per session (abuse/runaway guard); 0 = unlimited', '0')
|
|
214
|
+
.option('--www-dir <path>', 'Serve deploy/www/index.html at GET / (static browser chat UI)')
|
|
215
|
+
.action(async (options) => {
|
|
216
|
+
const verbose = program.opts().verbose;
|
|
217
|
+
await (0, deps_1.ensureDeps)(verbose);
|
|
218
|
+
await (0, serve_1.serveCommand)({
|
|
219
|
+
agent: options.agent,
|
|
220
|
+
engine: options.engine,
|
|
221
|
+
model: options.model,
|
|
222
|
+
port: parseInt(options.port, 10),
|
|
223
|
+
host: options.host,
|
|
224
|
+
workspace: options.workspace,
|
|
225
|
+
bind: options.bind,
|
|
226
|
+
gatewayBridge: Boolean(options.gatewayBridge),
|
|
227
|
+
stateDir: options.stateDir,
|
|
228
|
+
maxTurnsPerSession: parseInt(options.maxTurnsPerSession, 10),
|
|
229
|
+
wwwDir: options.wwwDir,
|
|
230
|
+
verbose,
|
|
231
|
+
});
|
|
232
|
+
});
|
|
233
|
+
program
|
|
234
|
+
.command('auth-broker')
|
|
235
|
+
.description('Start the AgentHippo auth broker (OAuth + IDE bootstrap API)')
|
|
236
|
+
.action(async () => {
|
|
237
|
+
await (0, auth_broker_1.authBrokerCommand)();
|
|
238
|
+
});
|
|
239
|
+
// Deploy command - generate platform-native deploy artifacts
|
|
240
|
+
program
|
|
241
|
+
.command('deploy <action> [pack]')
|
|
242
|
+
.description('Generate a self-contained deploy staging dir (init). Targets: vm, compose, cloudrun, databricks-app, spcs, cloudflare, all')
|
|
243
|
+
.option('-t, --target <target>', 'Deploy target', 'vm')
|
|
244
|
+
.option('-o, --out <path>', 'Staging directory (default: ./deploy-out/<pack>-<target>)')
|
|
245
|
+
.option('--packdir <path>', 'Pack directory (defaults to [pack] arg or cwd)')
|
|
246
|
+
.option('--image <ref>', 'Runtime image ref', 'ghcr.io/agenthippo/runtime:latest')
|
|
247
|
+
.option('-p, --port <port>', 'Container port', '8080')
|
|
248
|
+
.option('--gateway <channels>', 'Agent Anywhere: bind channels (e.g. "slack") + add OpenClaw gateway service (compose target)')
|
|
249
|
+
.option('--hostname <host>', 'Public hostname for SSO edge (Caddy, OAuth, tunnel)', 'auth.agenthippo.ai')
|
|
250
|
+
.option('--ingress <mode>', 'Cloud Run ingress: iap (built-in IAP), edge (per-service AgentHippo edge + Google OAuth), or edge-fed (federated: auth via auth.agenthippo.ai, no per-service OAuth)', 'iap')
|
|
251
|
+
.option('--idp-url <url>', 'edge-fed: central IdP base URL browsers redirect to for login (e.g. https://auth.agenthippo.ai)', 'https://auth.agenthippo.ai')
|
|
252
|
+
.option('--cookie-domain <domain>', 'edge-fed: parent domain the shared auth cookie is scoped to (e.g. .agenthippo.ai)', '.agenthippo.ai')
|
|
253
|
+
.option('--force', 'Overwrite existing files')
|
|
254
|
+
.action(async (action, pack, options) => {
|
|
255
|
+
const ingress = options.ingress === 'edge' ? 'edge' : options.ingress === 'edge-fed' ? 'edge-fed' : 'iap';
|
|
256
|
+
await (0, deploy_1.deployCommand)(action, pack, {
|
|
257
|
+
target: options.target,
|
|
258
|
+
out: options.out,
|
|
259
|
+
image: options.image,
|
|
260
|
+
gateway: options.gateway,
|
|
261
|
+
hostname: options.hostname,
|
|
262
|
+
port: parseInt(options.port, 10),
|
|
263
|
+
force: Boolean(options.force),
|
|
264
|
+
packdir: options.packdir,
|
|
265
|
+
ingress,
|
|
266
|
+
idpUrl: options.idpUrl,
|
|
267
|
+
cookieDomain: options.cookieDomain,
|
|
268
|
+
});
|
|
269
|
+
});
|
|
270
|
+
// Pack command - pack management
|
|
271
|
+
program
|
|
272
|
+
.command('pack <action>')
|
|
273
|
+
.description('Manage agent packs (list, validate, install)')
|
|
274
|
+
.argument('[name]', 'Pack name or path')
|
|
275
|
+
.option('-o, --output <path>', 'Output path for export')
|
|
276
|
+
.option('-w, --workspace <path>', 'Workspace directory for local packs', process.cwd())
|
|
277
|
+
.action(async (action, name, options) => {
|
|
278
|
+
await (0, pack_1.packCommand)({
|
|
279
|
+
action,
|
|
280
|
+
name,
|
|
281
|
+
output: options.output,
|
|
282
|
+
workspace: options.workspace,
|
|
283
|
+
verbose: program.opts().verbose,
|
|
284
|
+
});
|
|
285
|
+
});
|
|
286
|
+
// Store command - search and install from store
|
|
287
|
+
program
|
|
288
|
+
.command('store <action>')
|
|
289
|
+
.description('Search, install, and uninstall store artifacts')
|
|
290
|
+
.argument('[query]', 'Search query or artifact reference (e.g., skill/pdf-tools)')
|
|
291
|
+
.option('-t, --type <type>', 'Filter by type: pack, skill, mcp, engine, spotlight view')
|
|
292
|
+
.option('-l, --limit <n>', 'Max results for search', '20')
|
|
293
|
+
.option('--version <ver>', 'Specific version to install or publish')
|
|
294
|
+
.option('-w, --workspace <path>', 'Workspace directory', process.cwd())
|
|
295
|
+
.option('-a, --agent <id>', 'Target agent ID for skill/mcp install', 'default')
|
|
296
|
+
.option('-f, --force', 'Overwrite existing installation')
|
|
297
|
+
.option('--bundle <mode>', 'Spotlight view publish bundle: scripts-only (default) or full')
|
|
298
|
+
.option('--full', 'Publish Spotlight view full bundle: scripts, assets, charts, exports, manifest.json (same as --bundle full)')
|
|
299
|
+
.option('--json', 'Output as JSON')
|
|
300
|
+
.action(async (action, query, options) => {
|
|
301
|
+
await (0, store_1.storeCommand)({
|
|
302
|
+
action,
|
|
303
|
+
query,
|
|
304
|
+
type: options.type,
|
|
305
|
+
limit: parseInt(options.limit, 10),
|
|
306
|
+
version: options.version,
|
|
307
|
+
workspace: options.workspace,
|
|
308
|
+
agent: options.agent,
|
|
309
|
+
force: options.force,
|
|
310
|
+
bundle: options.bundle,
|
|
311
|
+
full: options.full,
|
|
312
|
+
json: options.json,
|
|
313
|
+
verbose: program.opts().verbose,
|
|
314
|
+
});
|
|
315
|
+
});
|
|
316
|
+
// Gateway command - proactive outbound messaging
|
|
317
|
+
const gatewayCmd = program.command('gateway').description('Gateway outbound messaging');
|
|
318
|
+
gatewayCmd
|
|
319
|
+
.command('send')
|
|
320
|
+
.description('Send a proactive message via the gateway (WebSocket RPC; hippoclaw CLI fallback)')
|
|
321
|
+
.requiredOption('--outbound <path>', 'Session gateway-outbound.json (see AGENTHIPPO_GATEWAY_OUTBOUND_FILE)')
|
|
322
|
+
.requiredOption('-a, --agent <id>', 'Agent pack id')
|
|
323
|
+
.requiredOption('-m, --message <text>', 'Message to send')
|
|
324
|
+
.option('--media <path-or-url>', 'Attach media (image/audio/video/document); local path or URL. Sent via gateway RPC so the bot token resolves from the gateway runtime snapshot.')
|
|
325
|
+
.option('-t, --target <target>', 'Explicit target (e.g. channel:C01234567); defaults to last inbound route')
|
|
326
|
+
.option('--thread-id <id>', 'Slack thread ts when sending to a threaded route')
|
|
327
|
+
.option('--dry-run', 'Print gateway RPC payload without sending')
|
|
328
|
+
.option('--json', 'Output handle + result as JSON')
|
|
329
|
+
.action(async (options) => {
|
|
330
|
+
await (0, gateway_1.gatewaySendCommand)({
|
|
331
|
+
outbound: options.outbound,
|
|
332
|
+
agent: options.agent,
|
|
333
|
+
message: options.message,
|
|
334
|
+
media: options.media,
|
|
335
|
+
target: options.target,
|
|
336
|
+
threadId: options.threadId,
|
|
337
|
+
dryRun: Boolean(options.dryRun),
|
|
338
|
+
json: Boolean(options.json),
|
|
339
|
+
});
|
|
340
|
+
});
|
|
341
|
+
gatewayCmd
|
|
342
|
+
.command('list')
|
|
343
|
+
.description('List stored gateway outbound routes from a session file')
|
|
344
|
+
.requiredOption('--outbound <path>', 'Session gateway-outbound.json (see AGENTHIPPO_GATEWAY_OUTBOUND_FILE)')
|
|
345
|
+
.option('-a, --agent <id>', 'Filter to one agent pack id')
|
|
346
|
+
.option('--json', 'Output as JSON')
|
|
347
|
+
.action(async (options) => {
|
|
348
|
+
await (0, gateway_1.gatewayListCommand)({
|
|
349
|
+
outbound: options.outbound,
|
|
350
|
+
agent: options.agent,
|
|
351
|
+
json: Boolean(options.json),
|
|
352
|
+
});
|
|
353
|
+
});
|
|
354
|
+
// Anywhere command - gateway lifecycle from CLI
|
|
355
|
+
program
|
|
356
|
+
.command('anywhere <action>')
|
|
357
|
+
.description('Manage Agent Anywhere gateway lifecycle')
|
|
358
|
+
.option('-s, --source <source>', 'Install source (e.g. openclaw@latest, org/repo#branch, /path/to/openclaw)')
|
|
359
|
+
.option('-p, --port <port>', 'Gateway port', '18789')
|
|
360
|
+
.option('-b, --bind <address>', 'Gateway bind address', '127.0.0.1')
|
|
361
|
+
.option('-t, --token <token>', 'Gateway auth token for starter config')
|
|
362
|
+
.option('--no-start', 'For setup: install/configure without starting')
|
|
363
|
+
.option('--config-template <path>', 'Path to openclaw.json template')
|
|
364
|
+
.action(async (action, options) => {
|
|
365
|
+
const parsedPort = parseInt(options.port, 10);
|
|
366
|
+
await (0, anywhere_1.anywhereCommand)({
|
|
367
|
+
action,
|
|
368
|
+
source: options.source,
|
|
369
|
+
port: Number.isNaN(parsedPort) ? undefined : parsedPort,
|
|
370
|
+
bind: options.bind,
|
|
371
|
+
token: options.token,
|
|
372
|
+
noStart: options.start === false,
|
|
373
|
+
configTemplate: options.configTemplate,
|
|
374
|
+
});
|
|
375
|
+
});
|
|
376
|
+
program
|
|
377
|
+
.command('__probe-custom-engine')
|
|
378
|
+
.description('Test custom engine load strategies (import probe)')
|
|
379
|
+
.option('-e, --engine <id>', 'Custom engine id', 'cursor')
|
|
380
|
+
.option('-w, --workspace <path>', 'Workspace directory', process.cwd())
|
|
381
|
+
.option('-s, --strategy <mode>', 'in-process|node-subprocess|all|a|c', 'all')
|
|
382
|
+
.action(async (options) => {
|
|
383
|
+
await (0, probe_custom_engine_1.probeCustomEngineCommand)({
|
|
384
|
+
engine: options.engine,
|
|
385
|
+
workspace: options.workspace,
|
|
386
|
+
strategy: options.strategy,
|
|
387
|
+
});
|
|
388
|
+
});
|
|
389
|
+
// Parse and run
|
|
390
|
+
program.parseAsync();
|