@agenthippo-ai/agenthippo 1.110.9 → 1.110.19
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/out/agentpack/types.js +2 -5
- package/out/analytics/dashboard/artifactManager.js +2 -439
- package/out/analytics/dashboard/fleetDisplayUtils.js +2 -162
- package/out/analytics/dashboard/fleetOrchestrator.js +3 -142
- package/out/analytics/dashboard/fleetRegistry.js +2 -79
- package/out/analytics/dashboard/fleetRowDefaults.js +2 -87
- package/out/analytics/dashboard/fleetScriptAdapter.js +2 -146
- package/out/analytics/dashboard/fleetTypes.js +2 -29
- package/out/analytics/dashboard/index.js +2 -17
- package/out/analytics/dashboard/indexingService.js +2 -422
- package/out/analytics/dashboard/localFleetAdapter.js +2 -222
- package/out/analytics/dashboard/performanceMonitor.js +5 -76
- package/out/analytics/dashboard/processManager.js +2 -209
- package/out/analytics/dashboard/provider.js +38 -3817
- package/out/analytics/dashboard/queryRunner.js +62 -750
- package/out/analytics/dashboard/scheduledFleetStorage.js +2 -241
- package/out/analytics/dashboard/sessionJsonlFleet.js +3 -204
- package/out/analytics/dashboard/teamViewDiscovery.js +2 -106
- package/out/analytics/dashboard/webview/panel.js +34 -2318
- package/out/analytics/dashboard/webview/runtime-bridge.js +2 -82
- package/out/analytics/lifecycle.js +2 -43
- package/out/analytics/service.js +8 -1277
- package/out/auth/authBaseUrl.js +2 -59
- package/out/auth/bootstrapApply.js +2 -71
- package/out/auth/brokerClient.js +2 -160
- package/out/auth/callbackUri.js +2 -59
- package/out/auth/githubStoreGate.js +2 -70
- package/out/auth/loopbackAuthServer.js +4 -159
- package/out/auth/onboardingPrompt.js +2 -112
- package/out/auth/pkce.js +2 -9
- package/out/auth/provider.js +2 -226
- package/out/auth/sessionStore.js +2 -156
- package/out/auth/signInFlow.js +2 -183
- package/out/cli/index.js +619 -551
- package/out/cli/run-custom-engine-runner.js +3 -318
- package/out/cli/vscode-shim.js +2 -86
- package/out/engines/factory.js +2 -45
- package/out/engines/types.js +2 -17
- package/out/examples/run-headless-repl.js +6 -286
- package/out/examples/run-headless.js +2 -187
- package/out/extension.js +32 -4473
- package/out/gateway/gatewayRouteIndex.js +6 -371
- package/out/gateway/gatewaySessionStore.js +3 -243
- package/out/gateway/index.js +2 -31
- package/out/gateway/resetMappings.js +2 -52
- package/out/gateway/service.js +5 -1249
- package/out/mcp/publish.js +2 -143
- package/out/remote/handleRemoteChat.js +2 -169
- package/out/remote/remotePackStatusBar.js +3 -103
- package/out/remote/remoteTrust.js +6 -277
- package/out/remote/serveClient.js +4 -277
- package/out/remoteSkills.js +3 -191
- package/out/runtime/index.js +2 -32
- package/out/runtime/vscode/index.js +2 -20
- package/out/runtime/vscode/vscode-config-provider.js +2 -77
- package/out/runtime/vscode/vscode-edit-tracker.js +2 -122
- package/out/runtime/vscode/vscode-logger.js +2 -30
- package/out/runtime/vscode/vscode-permission-handler.js +2 -72
- package/out/scripts/agentide-litellm.sh +0 -1
- package/out/scripts/agentide_litellm_hooks_v1.py +170 -418
- package/out/scripts/analytics/agent-fleet-widget.js +18 -257
- package/out/scripts/analytics/agentide-litellm-otel.config.yaml +4 -4
- package/out/scripts/analytics/duckdbLocator.js +2 -28
- package/out/scripts/analytics/generate-default-charts.py +43 -323
- package/out/scripts/analytics/hotspot-analysis-widget.js +4 -430
- package/out/scripts/analytics/index-traces.py +78 -1036
- package/out/scripts/analytics/session-comparison-widget.js +26 -472
- package/out/scripts/analytics/session-timeline-widget.js +25 -846
- package/out/scripts/analytics/setup-analytics.ps1 +8 -1
- package/out/scripts/analytics/setup-analytics.sh +13 -2
- package/out/scripts/analytics/token-cost-flamegraph-widget.js +4 -461
- package/out/scripts/analytics/token-cost-trend-widget.js +4 -534
- package/out/scripts/analytics/workflows-collector.cjs +4 -314
- package/out/scripts/analytics/workflows-daemon.mjs +9 -185
- package/out/scripts/analytics/workflows-widget.cjs +15 -159
- package/out/scripts/analytics/wow-model-widget.js +10 -120
- package/out/scripts/vendor-tools.mjs +2 -233
- package/out/skills/publish.js +3 -178
- package/out/store/github/setup.js +7 -212
- package/out/store/oramaIndex.js +2 -884
- package/out/sync.js +26 -1829
- package/out/terminalLogger.js +5 -358
- package/out/utils/pathSafety.js +2 -60
- package/out/utils/pythonRunner.js +4 -258
- package/out/utils/toolPath.js +2 -83
- package/out/workspaceFolders.js +2 -59
- package/package.json +1 -1
- package/out/agentpack/github.js +0 -547
- package/out/agentpack/index.js +0 -67
- package/out/agentpack/install.js +0 -297
- package/out/agentpack/manager.js +0 -441
- package/out/agentpack/manifest.js +0 -135
- package/out/agentpack/paths.js +0 -498
- package/out/agentpack/publish.js +0 -248
- package/out/agentpack/stores.js +0 -554
- package/out/analytics/dashboard/fleetStatusUtils.js +0 -30
- package/out/analytics/dashboard/fleetTitleUtils.js +0 -68
- package/out/analytics/dashboard/refreshPolicy.js +0 -16
- package/out/analytics/dashboard/scheduledFleetFingerprint.js +0 -22
- package/out/analytics/dashboard/scheduledFleetUtils.js +0 -22
- package/out/analytics/dashboard/sessionEventFleetStats.js +0 -118
- package/out/analytics/dashboard/viewsConfigMerge.js +0 -221
- package/out/analytics/dashboard/webview/codicon.ttf +0 -0
- package/out/analytics/identity.js +0 -0
- package/out/analytics/sessionEvents.js +0 -323
- package/out/auth/callbackUriParse.js +0 -59
- package/out/auth/types.js +0 -12
- package/out/auth-broker/config.js +0 -112
- package/out/auth-broker/jwt.js +0 -105
- package/out/auth-broker/pkce.js +0 -59
- package/out/auth-broker/server.js +0 -677
- package/out/auth-broker/store.js +0 -275
- package/out/authority/warrant.js +0 -206
- package/out/base-prompts/mcp-servers/.mcp.json +0 -13
- package/out/base-prompts/mcp-servers/langfuse-analytics/README.md +0 -142
- package/out/base-prompts/mcp-servers/langfuse-analytics/mcp.json +0 -13
- package/out/base-prompts/mcp-servers/langfuse-analytics/package-lock.json +0 -1192
- package/out/base-prompts/mcp-servers/langfuse-analytics/package.json +0 -23
- package/out/base-prompts/mcp-servers/langfuse-analytics/scripts/run-with-env.sh +0 -12
- package/out/base-prompts/mcp-servers/langfuse-analytics/scripts/sdk-test.js +0 -102
- package/out/base-prompts/mcp-servers/langfuse-analytics/scripts/simple-test.js +0 -137
- package/out/base-prompts/mcp-servers/langfuse-analytics/scripts/test-client.js +0 -118
- package/out/base-prompts/mcp-servers/langfuse-analytics/scripts/test-server.js +0 -209
- package/out/base-prompts/mcp-servers/langfuse-analytics/src/client.ts +0 -431
- package/out/base-prompts/mcp-servers/langfuse-analytics/src/index.ts +0 -270
- package/out/base-prompts/mcp-servers/langfuse-analytics/tsconfig.json +0 -18
- package/out/base-prompts/rules/AGENTS.md +0 -204
- package/out/base-prompts/skills/agent-browser/SKILL.md +0 -102
- package/out/base-prompts/skills/agent-builder/SKILL.md +0 -73
- package/out/base-prompts/skills/agent-builder/references/agent-pack.md +0 -63
- package/out/base-prompts/skills/agent-builder/references/crewai.md +0 -66
- package/out/base-prompts/skills/agent-builder/references/langchain.md +0 -60
- package/out/base-prompts/skills/agent-builder/references/raw-sdk.md +0 -73
- package/out/base-prompts/skills/agent-engine-creator/SKILL.md +0 -586
- package/out/base-prompts/skills/agent-engine-installer/SKILL.md +0 -106
- package/out/base-prompts/skills/agent-engine-installer/scripts/install-engine.mjs +0 -259
- package/out/base-prompts/skills/agent-engine-installer/scripts/install-engine.ps1 +0 -189
- package/out/base-prompts/skills/agenthippo-cli/SKILL.md +0 -69
- package/out/base-prompts/skills/agenthippo-cli/scripts/install.sh +0 -63
- package/out/base-prompts/skills/agentpack-creator/SKILL.md +0 -375
- package/out/base-prompts/skills/agentpack-creator/references/agent-templates.md +0 -261
- package/out/base-prompts/skills/agentpack-creator/references/agents-md-guide.md +0 -195
- package/out/base-prompts/skills/agentpack-creator/scripts/init_pack.py +0 -391
- package/out/base-prompts/skills/agentpack-creator/scripts/init_pack_test.py +0 -294
- package/out/base-prompts/skills/agentpack-testbench/SKILL.md +0 -135
- package/out/base-prompts/skills/algorithmic-art/LICENSE.txt +0 -202
- package/out/base-prompts/skills/algorithmic-art/SKILL.md +0 -405
- package/out/base-prompts/skills/algorithmic-art/templates/generator_template.js +0 -223
- package/out/base-prompts/skills/algorithmic-art/templates/viewer.html +0 -599
- package/out/base-prompts/skills/debug-agent/SKILL.md +0 -83
- package/out/base-prompts/skills/desktop-automation/SKILL.md +0 -166
- package/out/base-prompts/skills/desktop-automation/references/agenthippo-ui-recipes.md +0 -441
- package/out/base-prompts/skills/desktop-automation/scripts/windows-desktop-uia.psm1 +0 -280
- package/out/base-prompts/skills/docx/LICENSE.txt +0 -30
- package/out/base-prompts/skills/docx/SKILL.md +0 -197
- package/out/base-prompts/skills/docx/docx-js.md +0 -350
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
- package/out/base-prompts/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
- package/out/base-prompts/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
- package/out/base-prompts/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
- package/out/base-prompts/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
- package/out/base-prompts/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
- package/out/base-prompts/skills/docx/ooxml/schemas/mce/mc.xsd +0 -75
- package/out/base-prompts/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
- package/out/base-prompts/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
- package/out/base-prompts/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
- package/out/base-prompts/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
- package/out/base-prompts/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
- package/out/base-prompts/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
- package/out/base-prompts/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
- package/out/base-prompts/skills/docx/ooxml/scripts/pack.py +0 -159
- package/out/base-prompts/skills/docx/ooxml/scripts/unpack.py +0 -29
- package/out/base-prompts/skills/docx/ooxml/scripts/validate.py +0 -69
- package/out/base-prompts/skills/docx/ooxml/scripts/validation/__init__.py +0 -15
- package/out/base-prompts/skills/docx/ooxml/scripts/validation/base.py +0 -951
- package/out/base-prompts/skills/docx/ooxml/scripts/validation/docx.py +0 -274
- package/out/base-prompts/skills/docx/ooxml/scripts/validation/pptx.py +0 -315
- package/out/base-prompts/skills/docx/ooxml/scripts/validation/redlining.py +0 -279
- package/out/base-prompts/skills/docx/ooxml.md +0 -610
- package/out/base-prompts/skills/docx/scripts/__init__.py +0 -1
- package/out/base-prompts/skills/docx/scripts/document.py +0 -1276
- package/out/base-prompts/skills/docx/scripts/templates/comments.xml +0 -3
- package/out/base-prompts/skills/docx/scripts/templates/commentsExtended.xml +0 -3
- package/out/base-prompts/skills/docx/scripts/templates/commentsExtensible.xml +0 -3
- package/out/base-prompts/skills/docx/scripts/templates/commentsIds.xml +0 -3
- package/out/base-prompts/skills/docx/scripts/templates/people.xml +0 -3
- package/out/base-prompts/skills/docx/scripts/utilities.py +0 -374
- package/out/base-prompts/skills/gateway-outbound/SKILL.md +0 -136
- package/out/base-prompts/skills/mcp-builder/LICENSE.txt +0 -202
- package/out/base-prompts/skills/mcp-builder/SKILL.md +0 -328
- package/out/base-prompts/skills/mcp-builder/reference/evaluation.md +0 -602
- package/out/base-prompts/skills/mcp-builder/reference/mcp_best_practices.md +0 -249
- package/out/base-prompts/skills/mcp-builder/reference/node_mcp_server.md +0 -970
- package/out/base-prompts/skills/mcp-builder/reference/python_mcp_server.md +0 -719
- package/out/base-prompts/skills/mcp-builder/scripts/connections.py +0 -151
- package/out/base-prompts/skills/mcp-builder/scripts/evaluation.py +0 -373
- package/out/base-prompts/skills/mcp-builder/scripts/example_evaluation.xml +0 -22
- package/out/base-prompts/skills/mcp-builder/scripts/requirements.txt +0 -2
- package/out/base-prompts/skills/openclaw/SKILL.md +0 -406
- package/out/base-prompts/skills/openclaw/scripts/run-smoke.sh +0 -61
- package/out/base-prompts/skills/pdf/LICENSE.txt +0 -30
- package/out/base-prompts/skills/pdf/SKILL.md +0 -294
- package/out/base-prompts/skills/pdf/forms.md +0 -205
- package/out/base-prompts/skills/pdf/reference.md +0 -612
- package/out/base-prompts/skills/pdf/scripts/check_bounding_boxes.py +0 -70
- package/out/base-prompts/skills/pdf/scripts/check_bounding_boxes_test.py +0 -226
- package/out/base-prompts/skills/pdf/scripts/check_fillable_fields.py +0 -12
- package/out/base-prompts/skills/pdf/scripts/convert_pdf_to_images.py +0 -35
- package/out/base-prompts/skills/pdf/scripts/create_validation_image.py +0 -41
- package/out/base-prompts/skills/pdf/scripts/extract_form_field_info.py +0 -152
- package/out/base-prompts/skills/pdf/scripts/fill_fillable_fields.py +0 -114
- package/out/base-prompts/skills/pdf/scripts/fill_pdf_form_with_annotations.py +0 -108
- package/out/base-prompts/skills/pptx/LICENSE.txt +0 -30
- package/out/base-prompts/skills/pptx/SKILL.md +0 -484
- package/out/base-prompts/skills/pptx/html2pptx.md +0 -625
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
- package/out/base-prompts/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
- package/out/base-prompts/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
- package/out/base-prompts/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
- package/out/base-prompts/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
- package/out/base-prompts/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
- package/out/base-prompts/skills/pptx/ooxml/schemas/mce/mc.xsd +0 -75
- package/out/base-prompts/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
- package/out/base-prompts/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
- package/out/base-prompts/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
- package/out/base-prompts/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
- package/out/base-prompts/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
- package/out/base-prompts/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
- package/out/base-prompts/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
- package/out/base-prompts/skills/pptx/ooxml/scripts/pack.py +0 -159
- package/out/base-prompts/skills/pptx/ooxml/scripts/unpack.py +0 -29
- package/out/base-prompts/skills/pptx/ooxml/scripts/validate.py +0 -69
- package/out/base-prompts/skills/pptx/ooxml/scripts/validation/__init__.py +0 -15
- package/out/base-prompts/skills/pptx/ooxml/scripts/validation/base.py +0 -951
- package/out/base-prompts/skills/pptx/ooxml/scripts/validation/docx.py +0 -274
- package/out/base-prompts/skills/pptx/ooxml/scripts/validation/pptx.py +0 -315
- package/out/base-prompts/skills/pptx/ooxml/scripts/validation/redlining.py +0 -279
- package/out/base-prompts/skills/pptx/ooxml.md +0 -427
- package/out/base-prompts/skills/pptx/scripts/html2pptx.js +0 -984
- package/out/base-prompts/skills/pptx/scripts/inventory.py +0 -1020
- package/out/base-prompts/skills/pptx/scripts/rearrange.py +0 -231
- package/out/base-prompts/skills/pptx/scripts/replace.py +0 -385
- package/out/base-prompts/skills/pptx/scripts/thumbnail.py +0 -450
- package/out/base-prompts/skills/prompt-lab/SKILL.md +0 -149
- package/out/base-prompts/skills/prompt-lab/scripts/query-analytics.sh +0 -2551
- package/out/base-prompts/skills/skill-creator/LICENSE.txt +0 -202
- package/out/base-prompts/skills/skill-creator/SKILL.md +0 -371
- package/out/base-prompts/skills/skill-creator/references/output-patterns.md +0 -82
- package/out/base-prompts/skills/skill-creator/references/workflows.md +0 -28
- package/out/base-prompts/skills/skill-creator/scripts/init_skill.py +0 -303
- package/out/base-prompts/skills/skill-creator/scripts/package_skill.py +0 -110
- package/out/base-prompts/skills/skill-creator/scripts/quick_validate.py +0 -95
- package/out/base-prompts/skills/skill-installer/SKILL.md +0 -251
- package/out/base-prompts/skills/skill-installer/references/store-api.md +0 -219
- package/out/base-prompts/skills/spotlight-dashboard/SKILL.md +0 -83
- package/out/base-prompts/skills/spotlight-insights/SKILL.md +0 -101
- package/out/base-prompts/skills/spotlight-optimize/SKILL.md +0 -93
- package/out/base-prompts/skills/spotlight-optimize/scripts/query-analytics.sh +0 -2551
- package/out/base-prompts/skills/spotlight-query/SKILL.md +0 -314
- package/out/base-prompts/skills/spotlight-query/references/otel-schema.md +0 -163
- package/out/base-prompts/skills/spotlight-query/scripts/query-analytics.sh +0 -2551
- package/out/base-prompts/skills/spotlight-query/scripts/query-analytics.test.sh +0 -744
- package/out/base-prompts/skills/spotlight-query/scripts/test-fixtures/analytics/sessions/sess-test-1.jsonl +0 -14
- package/out/base-prompts/skills/spotlight-query/scripts/test-fixtures/analytics/traces/.duckdb-index.json +0 -7
- package/out/base-prompts/skills/spotlight-query/scripts/test-fixtures/analytics/traces/sample.jsonl +0 -5
- package/out/base-prompts/skills/spotlight-report/SKILL.md +0 -86
- package/out/base-prompts/skills/spotlight-visualize/SKILL.md +0 -92
- package/out/base-prompts/skills/spotlight-visualize/scripts/query-analytics.sh +0 -2551
- package/out/base-prompts/skills/xlsx/LICENSE.txt +0 -30
- package/out/base-prompts/skills/xlsx/SKILL.md +0 -289
- package/out/base-prompts/skills/xlsx/recalc.py +0 -178
- package/out/branding.js +0 -49
- package/out/cli/commands/anywhere.js +0 -66
- package/out/cli/commands/ask.js +0 -246
- package/out/cli/commands/auth-broker.js +0 -24
- package/out/cli/commands/auth.js +0 -219
- package/out/cli/commands/chat.js +0 -357
- package/out/cli/commands/conformance.js +0 -249
- package/out/cli/commands/data-plane.js +0 -67
- package/out/cli/commands/deploy.js +0 -263
- package/out/cli/commands/gateway.js +0 -218
- package/out/cli/commands/idp.js +0 -85
- package/out/cli/commands/pack.js +0 -399
- package/out/cli/commands/probe-custom-engine.js +0 -82
- package/out/cli/commands/sandbox.js +0 -332
- package/out/cli/commands/serve.js +0 -1758
- package/out/cli/commands/store.js +0 -927
- package/out/cli/credential-context.js +0 -91
- package/out/cli/data-plane/broker.js +0 -78
- package/out/cli/data-plane/connector-host.js +0 -121
- package/out/cli/data-plane/egress.js +0 -189
- package/out/cli/data-plane/gateway.js +0 -218
- package/out/cli/data-plane/index.js +0 -152
- package/out/cli/data-plane/registry.js +0 -89
- package/out/cli/data-plane/remote.js +0 -106
- package/out/cli/data-plane/sidecar.js +0 -161
- package/out/cli/deploy/blueprints/registry.js +0 -84
- package/out/cli/deploy/layers/identity.js +0 -172
- package/out/cli/deploy-init.js +0 -3023
- package/out/cli/deps.js +0 -342
- package/out/cli/idp-init.js +0 -338
- package/out/cli/pack-install-ref.js +0 -15
- package/out/cli/pack-loader.js +0 -418
- package/out/cli/pack-runtime.js +0 -61
- package/out/cli/runtime.js +0 -450
- package/out/cli/serve-hardening.js +0 -607
- package/out/cli/state-sync.js +0 -424
- package/out/cli/utils.js +0 -231
- package/out/engines/base.js +0 -188
- package/out/engines/claude.js +0 -1254
- package/out/engines/codex.js +0 -862
- package/out/engines/custom.js +0 -674
- package/out/engines/customEngineIpc.js +0 -95
- package/out/engines/customEngineRunnerEmbed.js +0 -107
- package/out/engines/customRegistry.js +0 -274
- package/out/engines/embeddedCustomEngineRunner.generated.js +0 -9
- package/out/engines/engineApiKey.js +0 -138
- package/out/engines/install.js +0 -372
- package/out/engines/persistentEngineWorker.js +0 -320
- package/out/engines/publish.js +0 -341
- package/out/evidence/sessionShip.js +0 -610
- package/out/gateway/bridge.js +0 -843
- package/out/gateway/cli-agent-id.js +0 -36
- package/out/gateway/client.js +0 -336
- package/out/gateway/client.test.js +0 -395
- package/out/gateway/gateway-scope-errors.js +0 -14
- package/out/gateway/gatewayBackup.js +0 -76
- package/out/gateway/installSource.js +0 -68
- package/out/gateway/lifecycle.js +0 -3190
- package/out/gateway/openclaw-channel-routing.js +0 -317
- package/out/gateway/outboundHandles.js +0 -373
- package/out/gateway/outboundPaths.js +0 -75
- package/out/gateway/outboundSend.js +0 -254
- package/out/gateway/protocol.js +0 -48
- package/out/gateway/secretsPreflight.js +0 -90
- package/out/gateway/sessionRouting.js +0 -77
- package/out/headless/index.js +0 -539
- package/out/headless/sync.js +0 -473
- package/out/live-e2e/mcp-demo/server.mjs +0 -32
- package/out/live-probe/connector.mjs +0 -8
- package/out/live-probe/env-report.mjs +0 -8
- package/out/mcp.js +0 -654
- package/out/pack/caps.js +0 -271
- package/out/pack/governor.js +0 -309
- package/out/pack/lease-schema.js +0 -270
- package/out/pack/lease.js +0 -640
- package/out/pack/reconcile.js +0 -217
- package/out/pack/signature.js +0 -839
- package/out/permissions.js +0 -108
- package/out/permissions.mapping.yaml +0 -68
- package/out/registry/index.js +0 -332
- package/out/runner/host.js +0 -131
- package/out/runner/protocol.js +0 -108
- package/out/runner/remoteEngine.js +0 -130
- package/out/runtime/interfaces/config-provider.js +0 -32
- package/out/runtime/interfaces/edit-tracker.js +0 -24
- package/out/runtime/interfaces/index.js +0 -29
- package/out/runtime/interfaces/logger.js +0 -40
- package/out/runtime/interfaces/permission-handler.js +0 -66
- package/out/runtime/interfaces/session-store.js +0 -342
- package/out/runtime/vscode/vscode-session-store.js +0 -22
- package/out/sandbox/containerDriver.js +0 -570
- package/out/sandbox/processDriver.js +0 -315
- package/out/sandbox/sandboxRunner.js +0 -191
- package/out/sandbox/support.js +0 -301
- package/out/sandbox/types.js +0 -55
- package/out/scripts/analytics/fleet-local-adapter.js +0 -246
- package/out/scripts/analytics/live-fleet-4-collector.cjs +0 -315
- package/out/scripts/analytics/live-fleet-4-daemon.mjs +0 -134
- package/out/scripts/analytics/live-fleet-4-widget.cjs +0 -433
- package/out/scripts/gateway/Dockerfile.serve +0 -45
- package/out/scripts/gateway/docker-serve.sh +0 -248
- package/out/scripts/gateway/setup-gateway-server.ps1 +0 -953
- package/out/scripts/gateway/setup-gateway-server.sh +0 -935
- package/out/session.js +0 -272
- package/out/shared/agentEngines.js +0 -170
- package/out/shared/index.js +0 -109
- package/out/shared/models.js +0 -136
- package/out/shared/providers.js +0 -205
- package/out/spotlight/install.js +0 -345
- package/out/spotlight/publish.js +0 -544
- package/out/spotlight/yaml.js +0 -31
- package/out/store/index.js +0 -786
- package/out/store/shared.js +0 -241
- package/out/test/agentEnvFile.test.js +0 -97
- package/out/test/agentYaml.test.js +0 -373
- package/out/test/agentpack.test.js +0 -639
- package/out/test/analytics-lifecycle.test.js +0 -174
- package/out/test/analytics.test.js +0 -756
- package/out/test/auth-baseurl.test.js +0 -132
- package/out/test/auth-bootstrapApply.test.js +0 -123
- package/out/test/auth-broker-hardening.test.js +0 -227
- package/out/test/auth-broker.test.js +0 -541
- package/out/test/auth-callback.test.js +0 -62
- package/out/test/blueprint-registry.test.js +0 -105
- package/out/test/branding.test.js +0 -242
- package/out/test/caps-governor.test.js +0 -455
- package/out/test/cli-agent-id.test.js +0 -55
- package/out/test/codex-new-file-survival.test.js +0 -119
- package/out/test/configuration-scopes.test.js +0 -131
- package/out/test/credential-context.test.js +0 -160
- package/out/test/custom-env-layering.test.js +0 -151
- package/out/test/customEngineInstall.test.js +0 -100
- package/out/test/customRegistry.test.js +0 -122
- package/out/test/data-plane-engine-wiring.test.js +0 -250
- package/out/test/data-plane.test.js +0 -311
- package/out/test/deploy-init.test.js +0 -854
- package/out/test/deps-auto-install.test.js +0 -81
- package/out/test/egress-broker.test.js +0 -172
- package/out/test/engine-integration.test.js +0 -297
- package/out/test/enginePaths.test.js +0 -195
- package/out/test/enginePublish.test.js +0 -82
- package/out/test/fleetDisplayUtils.test.js +0 -100
- package/out/test/gateway-client.test.js +0 -409
- package/out/test/gateway-install-source.test.js +0 -111
- package/out/test/gateway-lifecycle.test.js +0 -608
- package/out/test/gateway-outbound.test.js +0 -538
- package/out/test/gateway-reset-mappings.test.js +0 -221
- package/out/test/gateway-route-index.test.js +0 -235
- package/out/test/gateway-secrets-preflight.test.js +0 -127
- package/out/test/gateway-session-routing.test.js +0 -65
- package/out/test/gateway-session-store.test.js +0 -216
- package/out/test/github.test.js +0 -232
- package/out/test/governor-hardening.test.js +0 -217
- package/out/test/headless-sync.test.js +0 -301
- package/out/test/helpers/manifest-fixtures.js +0 -27
- package/out/test/idp-init.test.js +0 -151
- package/out/test/lease-signature.test.js +0 -357
- package/out/test/lease-trust-root.test.js +0 -273
- package/out/test/lease-validation.test.js +0 -169
- package/out/test/lease.test.js +0 -114
- package/out/test/mcp-obo.test.js +0 -107
- package/out/test/mcp.test.js +0 -389
- package/out/test/model-routing.test.js +0 -133
- package/out/test/openclaw-channel-routing.test.js +0 -191
- package/out/test/pack-admission.test.js +0 -216
- package/out/test/pack-digest-parity.test.js +0 -140
- package/out/test/pack-reconcile.test.js +0 -183
- package/out/test/pack-signature-artifact.test.js +0 -103
- package/out/test/pack-signature.test.js +0 -176
- package/out/test/pack-trust-root.test.js +0 -202
- package/out/test/pathSafety.test.js +0 -63
- package/out/test/permissions.test.js +0 -175
- package/out/test/persistent-engine-worker.test.js +0 -220
- package/out/test/refreshPolicy.test.js +0 -60
- package/out/test/registry.test.js +0 -351
- package/out/test/remote-trust.test.js +0 -242
- package/out/test/runner-protocol.test.js +0 -249
- package/out/test/runtime.test.js +0 -349
- package/out/test/sandbox-driver.test.js +0 -553
- package/out/test/sandbox-hardening.test.js +0 -395
- package/out/test/sandbox-runner.test.js +0 -343
- package/out/test/scheduledFleetStorage.test.js +0 -72
- package/out/test/serve-gateway-turn.test.js +0 -267
- package/out/test/serve-hardening.test.js +0 -418
- package/out/test/serveClient.test.js +0 -209
- package/out/test/sessionJsonlFleet.test.js +0 -78
- package/out/test/sessionShip.test.js +0 -560
- package/out/test/shared.test.js +0 -173
- package/out/test/skills-mcp.test.js +0 -299
- package/out/test/spotlightPublish.test.js +0 -327
- package/out/test/spotlightYaml.test.js +0 -58
- package/out/test/state-sync-peer.test.js +0 -156
- package/out/test/store-install-safe.test.js +0 -69
- package/out/test/store.test.js +0 -331
- package/out/test/stores.test.js +0 -504
- package/out/test/sync-switch.test.js +0 -251
- package/out/test/teamViewDiscovery.test.js +0 -90
- package/out/test/tls-bypass.test.js +0 -90
- package/out/test/toolPath.test.js +0 -120
- package/out/test/utils.test.js +0 -308
- package/out/test/viewsConfigMerge.test.js +0 -180
- package/out/test/warrant.test.js +0 -138
- package/out/test/windows-command-line.test.js +0 -75
- package/out/utils/agentEnvFile.js +0 -131
- package/out/utils/binary.js +0 -175
- package/out/utils/index.js +0 -37
- package/out/utils/network.js +0 -74
- package/out/utils/paths.js +0 -116
- package/out/utils/pid.js +0 -180
- package/out/utils/resolveNodeBinary.js +0 -168
- package/out/utils/windowsCommandLine.js +0 -29
- package/out/utils.js +0 -968
package/out/auth/authBaseUrl.js
CHANGED
|
@@ -1,59 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* Copyright (c) AgentHippo.ai. All rights reserved.
|
|
4
|
-
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.assertSafeAuthBaseUrl = void 0;
|
|
7
|
-
exports.pickTrustedAuthBaseUrl = pickTrustedAuthBaseUrl;
|
|
8
|
-
exports.resolveAuthBrokerBaseUrl = resolveAuthBrokerBaseUrl;
|
|
9
|
-
/**
|
|
10
|
-
* Where `agentide.auth.baseUrl` is allowed to come from.
|
|
11
|
-
*
|
|
12
|
-
* The setting is declared `"scope": "application"` in package.json, which is what actually stops a
|
|
13
|
-
* repo's `.vscode/settings.json` from setting it. This module is the defence in depth behind that
|
|
14
|
-
* declaration: it re-derives the value from `inspect()` and takes ONLY the user/application/default
|
|
15
|
-
* layers, so even if the contribution scope is ever loosened by accident (or the value arrives
|
|
16
|
-
* through a remote/folder layer this extension does not expect), a workspace-supplied endpoint is
|
|
17
|
-
* dropped rather than trusted.
|
|
18
|
-
*
|
|
19
|
-
* Why this matters concretely: the resolved URL receives the PKCE authorization code, then
|
|
20
|
-
* `Authorization: Bearer <AgentHippo access token>` on `/api/ide/bootstrap`, and the response
|
|
21
|
-
* configures team store settings plus `agentide.AgentHippoModelGateway.url` (application-scoped).
|
|
22
|
-
* The access token is also synced to the `agenthippo` model provider. A workspace that could
|
|
23
|
-
* steer the auth endpoint would capture the token AND every subsequent prompt.
|
|
24
|
-
*/
|
|
25
|
-
const brokerClient_js_1 = require("./brokerClient.js");
|
|
26
|
-
Object.defineProperty(exports, "assertSafeAuthBaseUrl", { enumerable: true, get: function () { return brokerClient_js_1.assertSafeAuthBaseUrl; } });
|
|
27
|
-
/**
|
|
28
|
-
* Pick the auth base URL from the trusted layers only.
|
|
29
|
-
*
|
|
30
|
-
* Precedence matches VS Code's own (most specific trusted layer wins): remote user → local user →
|
|
31
|
-
* user → default. `workspaceValue` / `workspaceFolderValue` are never consulted for the result;
|
|
32
|
-
* they are only reported so the caller can warn.
|
|
33
|
-
*/
|
|
34
|
-
function pickTrustedAuthBaseUrl(inspect) {
|
|
35
|
-
if (!inspect) {
|
|
36
|
-
return {};
|
|
37
|
-
}
|
|
38
|
-
const ignored = inspect.workspaceFolderValue?.trim() || inspect.workspaceValue?.trim() || undefined;
|
|
39
|
-
const trusted = inspect.globalRemoteValue?.trim() ||
|
|
40
|
-
inspect.globalLocalValue?.trim() ||
|
|
41
|
-
inspect.globalValue?.trim() ||
|
|
42
|
-
inspect.defaultValue?.trim() ||
|
|
43
|
-
undefined;
|
|
44
|
-
// A workspace value that merely repeats the trusted value is not an override worth warning about.
|
|
45
|
-
const ignoredWorkspaceValue = ignored && ignored !== trusted ? ignored : undefined;
|
|
46
|
-
return { value: trusted, ...(ignoredWorkspaceValue ? { ignoredWorkspaceValue } : {}) };
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Resolve the auth broker base URL from configuration, dropping workspace-scoped values and
|
|
50
|
-
* enforcing the https/loopback requirement. Throws (with an actionable message) on a bad URL.
|
|
51
|
-
*/
|
|
52
|
-
function resolveAuthBrokerBaseUrl(config, warn) {
|
|
53
|
-
const picked = pickTrustedAuthBaseUrl(config?.inspect('auth.baseUrl'));
|
|
54
|
-
if (picked.ignoredWorkspaceValue) {
|
|
55
|
-
warn?.(`[AgentIDE] Ignoring workspace-provided "agentide.auth.baseUrl" (${picked.ignoredWorkspaceValue}). ` +
|
|
56
|
-
`This endpoint receives your AgentHippo access token, so it is only honoured from user/application settings.`);
|
|
57
|
-
}
|
|
58
|
-
return (0, brokerClient_js_1.getAuthBrokerBaseUrl)(picked.value);
|
|
59
|
-
}
|
|
1
|
+
/*! Copyright (c) 2026 AgentHippo.ai. All rights reserved. Proprietary; see LICENSE. */
|
|
2
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.assertSafeAuthBaseUrl=void 0,exports.pickTrustedAuthBaseUrl=pickTrustedAuthBaseUrl,exports.resolveAuthBrokerBaseUrl=resolveAuthBrokerBaseUrl;const brokerClient_js_1=require("./brokerClient.js");Object.defineProperty(exports,"assertSafeAuthBaseUrl",{enumerable:!0,get:function(){return brokerClient_js_1.assertSafeAuthBaseUrl}});function pickTrustedAuthBaseUrl(e){if(!e)return{};const t=e.workspaceFolderValue?.trim()||e.workspaceValue?.trim()||void 0,r=e.globalRemoteValue?.trim()||e.globalLocalValue?.trim()||e.globalValue?.trim()||e.defaultValue?.trim()||void 0,o=t&&t!==r?t:void 0;return{value:r,...o?{ignoredWorkspaceValue:o}:{}}}function resolveAuthBrokerBaseUrl(e,t){const r=pickTrustedAuthBaseUrl(e?.inspect("auth.baseUrl"));return r.ignoredWorkspaceValue&&t?.(`[AgentIDE] Ignoring workspace-provided "agentide.auth.baseUrl" (${r.ignoredWorkspaceValue}). This endpoint receives your AgentHippo access token, so it is only honoured from user/application settings.`),(0,brokerClient_js_1.getAuthBrokerBaseUrl)(r.value)}
|
|
@@ -1,71 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* Copyright (c) AgentHippo.ai. All rights reserved.
|
|
4
|
-
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.TEAM_BOOTSTRAP_CACHE_KEY = exports.TEAM_LAST_BOOTSTRAP_KEY = exports.TEAM_ID_KEY = exports.TEAM_MANAGED_ROUTING_KEY = exports.TEAM_MANAGED_STORE_KEY = void 0;
|
|
7
|
-
exports.applyIdeBootstrap = applyIdeBootstrap;
|
|
8
|
-
exports.revertTeamManagedBootstrap = revertTeamManagedBootstrap;
|
|
9
|
-
exports.TEAM_MANAGED_STORE_KEY = 'agentide.teamManaged.store';
|
|
10
|
-
exports.TEAM_MANAGED_ROUTING_KEY = 'agentide.teamManaged.routing';
|
|
11
|
-
exports.TEAM_ID_KEY = 'agentide.team.id';
|
|
12
|
-
exports.TEAM_LAST_BOOTSTRAP_KEY = 'agentide.team.lastBootstrapAt';
|
|
13
|
-
exports.TEAM_BOOTSTRAP_CACHE_KEY = 'agentide.team.bootstrapCache';
|
|
14
|
-
function shouldApplySetting(managedFlag, teamManagedList, key) {
|
|
15
|
-
return !managedFlag || teamManagedList.includes(key);
|
|
16
|
-
}
|
|
17
|
-
async function applyIdeBootstrap(bootstrap, target) {
|
|
18
|
-
const applied = [];
|
|
19
|
-
const skipped = [];
|
|
20
|
-
const teamManaged = bootstrap.policy.teamManagedSettings ?? [];
|
|
21
|
-
const storeConfig = target.getConfiguration('agentide');
|
|
22
|
-
if (shouldApplySetting(target.globalStateGet(exports.TEAM_MANAGED_STORE_KEY), teamManaged, 'store')) {
|
|
23
|
-
await storeConfig.update('storeRepo', bootstrap.store.repo, target.ConfigurationTarget.Global);
|
|
24
|
-
await storeConfig.update('store.indexUrl', bootstrap.store.indexUrl, target.ConfigurationTarget.Global);
|
|
25
|
-
await target.globalStateUpdate(exports.TEAM_MANAGED_STORE_KEY, teamManaged.includes('store'));
|
|
26
|
-
applied.push('store');
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
skipped.push('store');
|
|
30
|
-
}
|
|
31
|
-
// Routing configures the `agenthippo` provider slot ONLY. The `litellm` slot stays user-owned
|
|
32
|
-
// (a developer's local Spotlight proxy) — sign-in must never overwrite it. No credential is
|
|
33
|
-
// written here: the account JWT is synced to the provider by the auth provider's timer, and
|
|
34
|
-
// the bootstrap carries no routing key at all.
|
|
35
|
-
if (shouldApplySetting(target.globalStateGet(exports.TEAM_MANAGED_ROUTING_KEY), teamManaged, 'routing')) {
|
|
36
|
-
await storeConfig.update('AgentHippoModelGateway.url', bootstrap.routing.inferenceGatewayUrl, target.ConfigurationTarget.Global);
|
|
37
|
-
await target.globalStateUpdate(exports.TEAM_MANAGED_ROUTING_KEY, teamManaged.includes('routing'));
|
|
38
|
-
applied.push('routing');
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
skipped.push('routing');
|
|
42
|
-
}
|
|
43
|
-
await target.globalStateUpdate(exports.TEAM_ID_KEY, bootstrap.team?.id);
|
|
44
|
-
await target.globalStateUpdate(exports.TEAM_LAST_BOOTSTRAP_KEY, new Date().toISOString());
|
|
45
|
-
await target.globalStateUpdate(exports.TEAM_BOOTSTRAP_CACHE_KEY, bootstrap);
|
|
46
|
-
return { applied, skipped };
|
|
47
|
-
}
|
|
48
|
-
async function revertTeamManagedBootstrap(target) {
|
|
49
|
-
const storeManaged = target.globalStateGet(exports.TEAM_MANAGED_STORE_KEY);
|
|
50
|
-
const routingManaged = target.globalStateGet(exports.TEAM_MANAGED_ROUTING_KEY);
|
|
51
|
-
const storeConfig = target.getConfiguration('agentide');
|
|
52
|
-
const litellmConfig = target.getConfiguration('agentide.providers.litellm');
|
|
53
|
-
if (storeManaged) {
|
|
54
|
-
await storeConfig.update('storeRepo', 'agenthippoai/agenthippo-store', target.ConfigurationTarget.Global);
|
|
55
|
-
await storeConfig.update('store.indexUrl', 'https://agenthippoai.github.io/agenthippo-store', target.ConfigurationTarget.Global);
|
|
56
|
-
}
|
|
57
|
-
if (routingManaged) {
|
|
58
|
-
await storeConfig.update('AgentHippoModelGateway.url', undefined, target.ConfigurationTarget.Global);
|
|
59
|
-
// Clean up state written by pre-separation installs, where team routing overwrote the
|
|
60
|
-
// user-owned litellm slot with the team base URL and a shared key.
|
|
61
|
-
await litellmConfig.update('baseUrl', '', target.ConfigurationTarget.Global);
|
|
62
|
-
if (target.setParticipantApiKey) {
|
|
63
|
-
await target.setParticipantApiKey({ provider: 'litellm', apiKey: '', baseUrl: '' });
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
await target.globalStateUpdate(exports.TEAM_MANAGED_STORE_KEY, false);
|
|
67
|
-
await target.globalStateUpdate(exports.TEAM_MANAGED_ROUTING_KEY, false);
|
|
68
|
-
await target.globalStateUpdate(exports.TEAM_ID_KEY, undefined);
|
|
69
|
-
await target.globalStateUpdate(exports.TEAM_LAST_BOOTSTRAP_KEY, undefined);
|
|
70
|
-
await target.globalStateUpdate(exports.TEAM_BOOTSTRAP_CACHE_KEY, undefined);
|
|
71
|
-
}
|
|
1
|
+
/*! Copyright (c) 2026 AgentHippo.ai. All rights reserved. Proprietary; see LICENSE. */
|
|
2
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TEAM_BOOTSTRAP_CACHE_KEY=exports.TEAM_LAST_BOOTSTRAP_KEY=exports.TEAM_ID_KEY=exports.TEAM_MANAGED_ROUTING_KEY=exports.TEAM_MANAGED_STORE_KEY=void 0,exports.applyIdeBootstrap=applyIdeBootstrap,exports.revertTeamManagedBootstrap=revertTeamManagedBootstrap,exports.TEAM_MANAGED_STORE_KEY="agentide.teamManaged.store",exports.TEAM_MANAGED_ROUTING_KEY="agentide.teamManaged.routing",exports.TEAM_ID_KEY="agentide.team.id",exports.TEAM_LAST_BOOTSTRAP_KEY="agentide.team.lastBootstrapAt",exports.TEAM_BOOTSTRAP_CACHE_KEY="agentide.team.bootstrapCache";function shouldApplySetting(e,t,a){return!e||t.includes(a)}async function applyIdeBootstrap(e,t){const a=[],o=[],i=e.policy.teamManagedSettings??[],n=t.getConfiguration("agentide");return shouldApplySetting(t.globalStateGet(exports.TEAM_MANAGED_STORE_KEY),i,"store")?(await n.update("storeRepo",e.store.repo,t.ConfigurationTarget.Global),await n.update("store.indexUrl",e.store.indexUrl,t.ConfigurationTarget.Global),await t.globalStateUpdate(exports.TEAM_MANAGED_STORE_KEY,i.includes("store")),a.push("store")):o.push("store"),shouldApplySetting(t.globalStateGet(exports.TEAM_MANAGED_ROUTING_KEY),i,"routing")?(await n.update("AgentHippoModelGateway.url",e.routing.inferenceGatewayUrl,t.ConfigurationTarget.Global),await t.globalStateUpdate(exports.TEAM_MANAGED_ROUTING_KEY,i.includes("routing")),a.push("routing")):o.push("routing"),await t.globalStateUpdate(exports.TEAM_ID_KEY,e.team?.id),await t.globalStateUpdate(exports.TEAM_LAST_BOOTSTRAP_KEY,new Date().toISOString()),await t.globalStateUpdate(exports.TEAM_BOOTSTRAP_CACHE_KEY,e),{applied:a,skipped:o}}async function revertTeamManagedBootstrap(e){const t=e.globalStateGet(exports.TEAM_MANAGED_STORE_KEY),a=e.globalStateGet(exports.TEAM_MANAGED_ROUTING_KEY),o=e.getConfiguration("agentide"),i=e.getConfiguration("agentide.providers.litellm");t&&(await o.update("storeRepo","agenthippoai/agenthippo-store",e.ConfigurationTarget.Global),await o.update("store.indexUrl","https://agenthippoai.github.io/agenthippo-store",e.ConfigurationTarget.Global)),a&&(await o.update("AgentHippoModelGateway.url",void 0,e.ConfigurationTarget.Global),await i.update("baseUrl","",e.ConfigurationTarget.Global),e.setParticipantApiKey&&await e.setParticipantApiKey({provider:"litellm",apiKey:"",baseUrl:""})),await e.globalStateUpdate(exports.TEAM_MANAGED_STORE_KEY,!1),await e.globalStateUpdate(exports.TEAM_MANAGED_ROUTING_KEY,!1),await e.globalStateUpdate(exports.TEAM_ID_KEY,void 0),await e.globalStateUpdate(exports.TEAM_LAST_BOOTSTRAP_KEY,void 0),await e.globalStateUpdate(exports.TEAM_BOOTSTRAP_CACHE_KEY,void 0)}
|
package/out/auth/brokerClient.js
CHANGED
|
@@ -1,160 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* Copyright (c) AgentHippo.ai. All rights reserved.
|
|
4
|
-
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.DEFAULT_AUTH_BROKER_BASE_URL = void 0;
|
|
7
|
-
exports.isLoopbackAuthHost = isLoopbackAuthHost;
|
|
8
|
-
exports.assertSafeAuthBaseUrl = assertSafeAuthBaseUrl;
|
|
9
|
-
exports.getAuthBrokerBaseUrl = getAuthBrokerBaseUrl;
|
|
10
|
-
exports.devLoginForTests = devLoginForTests;
|
|
11
|
-
exports.exchangeAuthorizationCode = exchangeAuthorizationCode;
|
|
12
|
-
exports.refreshAccessToken = refreshAccessToken;
|
|
13
|
-
exports.fetchBootstrap = fetchBootstrap;
|
|
14
|
-
exports.fetchMe = fetchMe;
|
|
15
|
-
exports.buildAuthorizeUrl = buildAuthorizeUrl;
|
|
16
|
-
exports.completeDevPkceLogin = completeDevPkceLogin;
|
|
17
|
-
const types_js_1 = require("./types.js");
|
|
18
|
-
const pkce_js_1 = require("./pkce.js");
|
|
19
|
-
exports.DEFAULT_AUTH_BROKER_BASE_URL = 'https://auth.agenthippo.ai';
|
|
20
|
-
/** Hostnames for which plain `http://` is accepted — an operator running a broker locally. */
|
|
21
|
-
const LOOPBACK_HOSTNAMES = new Set(['localhost', '127.0.0.1', '::1', '[::1]']);
|
|
22
|
-
function isLoopbackAuthHost(hostname) {
|
|
23
|
-
return LOOPBACK_HOSTNAMES.has(hostname.toLowerCase());
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Refuse an auth base URL that cannot safely carry a bearer token.
|
|
27
|
-
*
|
|
28
|
-
* Every request built from this value carries either the PKCE authorization code or the user's
|
|
29
|
-
* AgentHippo access token (`/oauth/token`, `/api/ide/bootstrap`, `/api/ide/me`), and the bootstrap
|
|
30
|
-
* response is written straight into the user's model-routing settings. A cleartext or non-http(s)
|
|
31
|
-
* endpoint therefore leaks the credential on the wire; anything but https is refused unless the
|
|
32
|
-
* host is loopback, which is the local-development case and never crosses a network.
|
|
33
|
-
*
|
|
34
|
-
* Returns the normalized (trailing-slash-stripped) URL, or throws with an actionable message.
|
|
35
|
-
*/
|
|
36
|
-
function assertSafeAuthBaseUrl(value) {
|
|
37
|
-
const trimmed = value.trim();
|
|
38
|
-
let url;
|
|
39
|
-
try {
|
|
40
|
-
url = new URL(trimmed);
|
|
41
|
-
}
|
|
42
|
-
catch {
|
|
43
|
-
throw new Error(`AgentHippo auth base URL "${trimmed}" is not a valid URL. ` +
|
|
44
|
-
`Fix "agentide.auth.baseUrl" (or AGENTHIPPO_AUTH_BASE_URL), or clear it to use ${exports.DEFAULT_AUTH_BROKER_BASE_URL}.`);
|
|
45
|
-
}
|
|
46
|
-
if (url.protocol === 'https:') {
|
|
47
|
-
return trimmed.replace(/\/+$/, '');
|
|
48
|
-
}
|
|
49
|
-
if (url.protocol === 'http:' && isLoopbackAuthHost(url.hostname)) {
|
|
50
|
-
return trimmed.replace(/\/+$/, '');
|
|
51
|
-
}
|
|
52
|
-
throw new Error(`Refusing to use AgentHippo auth base URL "${trimmed}": it must be https:// ` +
|
|
53
|
-
`(plain http:// is accepted only for loopback hosts such as http://127.0.0.1:9780). ` +
|
|
54
|
-
`Your AgentHippo access token is sent to this host, so it is never sent over cleartext. ` +
|
|
55
|
-
`Fix "agentide.auth.baseUrl" (or AGENTHIPPO_AUTH_BASE_URL), or clear it to use ${exports.DEFAULT_AUTH_BROKER_BASE_URL}.`);
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Resolve the auth broker base URL. `configured` must already have been filtered for scope by the
|
|
59
|
-
* caller (see `auth/authBaseUrl.ts` — a workspace-scoped value is dropped before it gets here);
|
|
60
|
-
* this function is the second gate and enforces the transport requirement.
|
|
61
|
-
*/
|
|
62
|
-
function getAuthBrokerBaseUrl(configured) {
|
|
63
|
-
const fromEnv = process.env.AGENTHIPPO_AUTH_BASE_URL?.trim();
|
|
64
|
-
const value = configured?.trim() || fromEnv || exports.DEFAULT_AUTH_BROKER_BASE_URL;
|
|
65
|
-
return assertSafeAuthBaseUrl(value);
|
|
66
|
-
}
|
|
67
|
-
async function devLoginForTests(baseUrl, email, redirectUri, codeChallenge) {
|
|
68
|
-
const res = await fetch(`${baseUrl}/oauth/dev/login`, {
|
|
69
|
-
method: 'POST',
|
|
70
|
-
headers: { 'Content-Type': 'application/json' },
|
|
71
|
-
body: JSON.stringify({
|
|
72
|
-
email,
|
|
73
|
-
client_id: types_js_1.AUTH_CLIENT_ID,
|
|
74
|
-
redirect_uri: redirectUri,
|
|
75
|
-
code_challenge: codeChallenge,
|
|
76
|
-
}),
|
|
77
|
-
});
|
|
78
|
-
if (!res.ok) {
|
|
79
|
-
throw new Error(`dev login failed: ${res.status}`);
|
|
80
|
-
}
|
|
81
|
-
const json = await res.json();
|
|
82
|
-
return json.code;
|
|
83
|
-
}
|
|
84
|
-
async function exchangeAuthorizationCode(baseUrl, code, redirectUri, codeVerifier) {
|
|
85
|
-
const body = new URLSearchParams({
|
|
86
|
-
grant_type: 'authorization_code',
|
|
87
|
-
client_id: types_js_1.AUTH_CLIENT_ID,
|
|
88
|
-
code,
|
|
89
|
-
redirect_uri: redirectUri,
|
|
90
|
-
code_verifier: codeVerifier,
|
|
91
|
-
});
|
|
92
|
-
const res = await fetch(`${baseUrl}/oauth/token`, {
|
|
93
|
-
method: 'POST',
|
|
94
|
-
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
95
|
-
body,
|
|
96
|
-
});
|
|
97
|
-
if (!res.ok) {
|
|
98
|
-
const text = await res.text();
|
|
99
|
-
throw new Error(`token exchange failed: ${res.status} ${text}`);
|
|
100
|
-
}
|
|
101
|
-
return res.json();
|
|
102
|
-
}
|
|
103
|
-
async function refreshAccessToken(baseUrl, refreshToken) {
|
|
104
|
-
const body = new URLSearchParams({
|
|
105
|
-
grant_type: 'refresh_token',
|
|
106
|
-
client_id: types_js_1.AUTH_CLIENT_ID,
|
|
107
|
-
refresh_token: refreshToken,
|
|
108
|
-
scope: types_js_1.AUTH_SCOPES.join(' '),
|
|
109
|
-
});
|
|
110
|
-
const res = await fetch(`${baseUrl}/oauth/token`, {
|
|
111
|
-
method: 'POST',
|
|
112
|
-
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
113
|
-
body,
|
|
114
|
-
});
|
|
115
|
-
if (!res.ok) {
|
|
116
|
-
const text = await res.text();
|
|
117
|
-
throw new Error(`refresh failed: ${res.status} ${text}`.trim());
|
|
118
|
-
}
|
|
119
|
-
return res.json();
|
|
120
|
-
}
|
|
121
|
-
async function fetchBootstrap(baseUrl, accessToken) {
|
|
122
|
-
const res = await fetch(`${baseUrl}/api/ide/bootstrap`, {
|
|
123
|
-
headers: { Authorization: `Bearer ${accessToken}` },
|
|
124
|
-
});
|
|
125
|
-
if (!res.ok) {
|
|
126
|
-
const text = await res.text();
|
|
127
|
-
throw new Error(`bootstrap failed: ${res.status} ${text}`.trim());
|
|
128
|
-
}
|
|
129
|
-
return res.json();
|
|
130
|
-
}
|
|
131
|
-
async function fetchMe(baseUrl, accessToken) {
|
|
132
|
-
const res = await fetch(`${baseUrl}/api/ide/me`, {
|
|
133
|
-
headers: { Authorization: `Bearer ${accessToken}` },
|
|
134
|
-
});
|
|
135
|
-
if (!res.ok) {
|
|
136
|
-
const text = await res.text();
|
|
137
|
-
throw new Error(`me failed: ${res.status} ${text}`.trim());
|
|
138
|
-
}
|
|
139
|
-
return res.json();
|
|
140
|
-
}
|
|
141
|
-
function buildAuthorizeUrl(baseUrl, redirectUri, codeChallenge, state, loginHint) {
|
|
142
|
-
const url = new URL(`${baseUrl}/oauth/authorize`);
|
|
143
|
-
url.searchParams.set('response_type', 'code');
|
|
144
|
-
url.searchParams.set('client_id', types_js_1.AUTH_CLIENT_ID);
|
|
145
|
-
url.searchParams.set('redirect_uri', redirectUri);
|
|
146
|
-
url.searchParams.set('code_challenge', codeChallenge);
|
|
147
|
-
url.searchParams.set('code_challenge_method', 'S256');
|
|
148
|
-
url.searchParams.set('scope', types_js_1.AUTH_SCOPES.join(' '));
|
|
149
|
-
url.searchParams.set('state', state);
|
|
150
|
-
if (loginHint) {
|
|
151
|
-
url.searchParams.set('login_hint', loginHint);
|
|
152
|
-
}
|
|
153
|
-
return url.toString();
|
|
154
|
-
}
|
|
155
|
-
async function completeDevPkceLogin(baseUrl, email, redirectUri = 'http://127.0.0.1:1/callback') {
|
|
156
|
-
const verifier = (0, pkce_js_1.generateCodeVerifier)();
|
|
157
|
-
const challenge = (0, pkce_js_1.codeChallengeFromVerifier)(verifier);
|
|
158
|
-
const code = await devLoginForTests(baseUrl, email, redirectUri, challenge);
|
|
159
|
-
return exchangeAuthorizationCode(baseUrl, code, redirectUri, verifier);
|
|
160
|
-
}
|
|
1
|
+
/*! Copyright (c) 2026 AgentHippo.ai. All rights reserved. Proprietary; see LICENSE. */
|
|
2
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.DEFAULT_AUTH_BROKER_BASE_URL=void 0,exports.isLoopbackAuthHost=isLoopbackAuthHost,exports.assertSafeAuthBaseUrl=assertSafeAuthBaseUrl,exports.getAuthBrokerBaseUrl=getAuthBrokerBaseUrl,exports.devLoginForTests=devLoginForTests,exports.exchangeAuthorizationCode=exchangeAuthorizationCode,exports.refreshAccessToken=refreshAccessToken,exports.fetchBootstrap=fetchBootstrap,exports.fetchMe=fetchMe,exports.buildAuthorizeUrl=buildAuthorizeUrl,exports.completeDevPkceLogin=completeDevPkceLogin;const types_js_1=require("./types.js"),pkce_js_1=require("./pkce.js");exports.DEFAULT_AUTH_BROKER_BASE_URL="https://auth.agenthippo.ai";const LOOPBACK_HOSTNAMES=new Set(["localhost","127.0.0.1","::1","[::1]"]);function isLoopbackAuthHost(o){return LOOPBACK_HOSTNAMES.has(o.toLowerCase())}function assertSafeAuthBaseUrl(o){const t=o.trim();let e;try{e=new URL(t)}catch{throw new Error(`AgentHippo auth base URL "${t}" is not a valid URL. Fix "agentide.auth.baseUrl" (or AGENTHIPPO_AUTH_BASE_URL), or clear it to use ${exports.DEFAULT_AUTH_BROKER_BASE_URL}.`)}if(e.protocol==="https:")return t.replace(/\/+$/,"");if(e.protocol==="http:"&&isLoopbackAuthHost(e.hostname))return t.replace(/\/+$/,"");throw new Error(`Refusing to use AgentHippo auth base URL "${t}": it must be https:// (plain http:// is accepted only for loopback hosts such as http://127.0.0.1:9780). Your AgentHippo access token is sent to this host, so it is never sent over cleartext. Fix "agentide.auth.baseUrl" (or AGENTHIPPO_AUTH_BASE_URL), or clear it to use ${exports.DEFAULT_AUTH_BROKER_BASE_URL}.`)}function getAuthBrokerBaseUrl(o){const t=process.env.AGENTHIPPO_AUTH_BASE_URL?.trim(),e=o?.trim()||t||exports.DEFAULT_AUTH_BROKER_BASE_URL;return assertSafeAuthBaseUrl(e)}async function devLoginForTests(o,t,e,r){const a=await fetch(`${o}/oauth/dev/login`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:t,client_id:types_js_1.AUTH_CLIENT_ID,redirect_uri:e,code_challenge:r})});if(!a.ok)throw new Error(`dev login failed: ${a.status}`);return(await a.json()).code}async function exchangeAuthorizationCode(o,t,e,r){const a=new URLSearchParams({grant_type:"authorization_code",client_id:types_js_1.AUTH_CLIENT_ID,code:t,redirect_uri:e,code_verifier:r}),s=await fetch(`${o}/oauth/token`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:a});if(!s.ok){const n=await s.text();throw new Error(`token exchange failed: ${s.status} ${n}`)}return s.json()}async function refreshAccessToken(o,t){const e=new URLSearchParams({grant_type:"refresh_token",client_id:types_js_1.AUTH_CLIENT_ID,refresh_token:t,scope:types_js_1.AUTH_SCOPES.join(" ")}),r=await fetch(`${o}/oauth/token`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e});if(!r.ok){const a=await r.text();throw new Error(`refresh failed: ${r.status} ${a}`.trim())}return r.json()}async function fetchBootstrap(o,t){const e=await fetch(`${o}/api/ide/bootstrap`,{headers:{Authorization:`Bearer ${t}`}});if(!e.ok){const r=await e.text();throw new Error(`bootstrap failed: ${e.status} ${r}`.trim())}return e.json()}async function fetchMe(o,t){const e=await fetch(`${o}/api/ide/me`,{headers:{Authorization:`Bearer ${t}`}});if(!e.ok){const r=await e.text();throw new Error(`me failed: ${e.status} ${r}`.trim())}return e.json()}function buildAuthorizeUrl(o,t,e,r,a){const s=new URL(`${o}/oauth/authorize`);return s.searchParams.set("response_type","code"),s.searchParams.set("client_id",types_js_1.AUTH_CLIENT_ID),s.searchParams.set("redirect_uri",t),s.searchParams.set("code_challenge",e),s.searchParams.set("code_challenge_method","S256"),s.searchParams.set("scope",types_js_1.AUTH_SCOPES.join(" ")),s.searchParams.set("state",r),a&&s.searchParams.set("login_hint",a),s.toString()}async function completeDevPkceLogin(o,t,e="http://127.0.0.1:1/callback"){const r=(0,pkce_js_1.generateCodeVerifier)(),a=(0,pkce_js_1.codeChallengeFromVerifier)(r),s=await devLoginForTests(o,t,e,a);return exchangeAuthorizationCode(o,s,e,r)}
|
package/out/auth/callbackUri.js
CHANGED
|
@@ -1,59 +1,2 @@
|
|
|
1
|
-
|
|
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.buildAuthCallbackUri = buildAuthCallbackUri;
|
|
40
|
-
exports.resolveAuthRedirectUri = resolveAuthRedirectUri;
|
|
41
|
-
exports.isAuthCallbackUri = isAuthCallbackUri;
|
|
42
|
-
const vscode = __importStar(require("vscode"));
|
|
43
|
-
const types_js_1 = require("./types.js");
|
|
44
|
-
const callbackUriParse_js_1 = require("./callbackUriParse.js");
|
|
45
|
-
/** VS Code / Cursor URI handler requires authority === extension id (e.g. agenthippo.agenthippo). */
|
|
46
|
-
function buildAuthCallbackUri() {
|
|
47
|
-
return vscode.Uri.from({
|
|
48
|
-
scheme: vscode.env.uriScheme,
|
|
49
|
-
authority: types_js_1.AUTH_EXTENSION_AUTHORITY,
|
|
50
|
-
path: types_js_1.AUTH_CALLBACK_PATH,
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
async function resolveAuthRedirectUri() {
|
|
54
|
-
const external = await vscode.env.asExternalUri(buildAuthCallbackUri());
|
|
55
|
-
return external.toString(true);
|
|
56
|
-
}
|
|
57
|
-
function isAuthCallbackUri(uri) {
|
|
58
|
-
return (0, callbackUriParse_js_1.isAuthCallbackParts)(uri.authority, uri.path);
|
|
59
|
-
}
|
|
1
|
+
/*! Copyright (c) 2026 AgentHippo.ai. All rights reserved. Proprietary; see LICENSE. */
|
|
2
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(t,e,i,r){r===void 0&&(r=i);var n=Object.getOwnPropertyDescriptor(e,i);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[i]}}),Object.defineProperty(t,r,n)}):(function(t,e,i,r){r===void 0&&(r=i),t[r]=e[i]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),__importStar=this&&this.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(i){var r=[];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(r[r.length]=n);return r},t(e)};return function(e){if(e&&e.__esModule)return e;var i={};if(e!=null)for(var r=t(e),n=0;n<r.length;n++)r[n]!=="default"&&__createBinding(i,e,r[n]);return __setModuleDefault(i,e),i}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.buildAuthCallbackUri=buildAuthCallbackUri,exports.resolveAuthRedirectUri=resolveAuthRedirectUri,exports.isAuthCallbackUri=isAuthCallbackUri;const vscode=__importStar(require("vscode")),types_js_1=require("./types.js"),callbackUriParse_js_1=require("./callbackUriParse.js");function buildAuthCallbackUri(){return vscode.Uri.from({scheme:vscode.env.uriScheme,authority:types_js_1.AUTH_EXTENSION_AUTHORITY,path:types_js_1.AUTH_CALLBACK_PATH})}async function resolveAuthRedirectUri(){return(await vscode.env.asExternalUri(buildAuthCallbackUri())).toString(!0)}function isAuthCallbackUri(t){return(0,callbackUriParse_js_1.isAuthCallbackParts)(t.authority,t.path)}
|
|
@@ -1,70 +1,2 @@
|
|
|
1
|
-
|
|
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.getCachedBootstrap = getCachedBootstrap;
|
|
40
|
-
exports.ensureGitHubStoreAccess = ensureGitHubStoreAccess;
|
|
41
|
-
const vscode = __importStar(require("vscode"));
|
|
42
|
-
const bootstrapApply_js_1 = require("./bootstrapApply.js");
|
|
43
|
-
const github_js_1 = require("../agentpack/github.js");
|
|
44
|
-
function getCachedBootstrap(globalState) {
|
|
45
|
-
return globalState.get(bootstrapApply_js_1.TEAM_BOOTSTRAP_CACHE_KEY);
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* When team bootstrap sets store.githubOrg, require a GitHub session before store mutations.
|
|
49
|
-
*/
|
|
50
|
-
async function ensureGitHubStoreAccess(context) {
|
|
51
|
-
const bootstrap = getCachedBootstrap(context.globalState);
|
|
52
|
-
const githubOrg = bootstrap?.store.githubOrg?.trim();
|
|
53
|
-
if (!githubOrg) {
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
if (await (0, github_js_1.isGitHubAuthenticated)()) {
|
|
57
|
-
try {
|
|
58
|
-
await (0, github_js_1.getGitHubToken)(false, ['read:user', 'repo']);
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
catch {
|
|
62
|
-
// fall through to prompt
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
const action = await vscode.window.showWarningMessage(`Team store is tied to GitHub org "${githubOrg}". Connect GitHub to install or publish.`, 'Connect GitHub', 'Cancel');
|
|
66
|
-
if (action !== 'Connect GitHub') {
|
|
67
|
-
throw new Error('GitHub connection required for team store access.');
|
|
68
|
-
}
|
|
69
|
-
await (0, github_js_1.getGitHubToken)(true, ['read:user', 'repo']);
|
|
70
|
-
}
|
|
1
|
+
/*! Copyright (c) 2026 AgentHippo.ai. All rights reserved. Proprietary; see LICENSE. */
|
|
2
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(n,t,e,r){r===void 0&&(r=e);var i=Object.getOwnPropertyDescriptor(t,e);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[e]}}),Object.defineProperty(n,r,i)}):(function(n,t,e,r){r===void 0&&(r=e),n[r]=t[e]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(n,t){Object.defineProperty(n,"default",{enumerable:!0,value:t})}):function(n,t){n.default=t}),__importStar=this&&this.__importStar||(function(){var n=function(t){return n=Object.getOwnPropertyNames||function(e){var r=[];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(r[r.length]=i);return r},n(t)};return function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r=n(t),i=0;i<r.length;i++)r[i]!=="default"&&__createBinding(e,t,r[i]);return __setModuleDefault(e,t),e}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.getCachedBootstrap=getCachedBootstrap,exports.ensureGitHubStoreAccess=ensureGitHubStoreAccess;const vscode=__importStar(require("vscode")),bootstrapApply_js_1=require("./bootstrapApply.js"),github_js_1=require("../agentpack/github.js");function getCachedBootstrap(n){return n.get(bootstrapApply_js_1.TEAM_BOOTSTRAP_CACHE_KEY)}async function ensureGitHubStoreAccess(n){const e=getCachedBootstrap(n.globalState)?.store.githubOrg?.trim();if(!e)return;if(await(0,github_js_1.isGitHubAuthenticated)())try{await(0,github_js_1.getGitHubToken)(!1,["read:user","repo"]);return}catch{}if(await vscode.window.showWarningMessage(`Team store is tied to GitHub org "${e}". Connect GitHub to install or publish.`,"Connect GitHub","Cancel")!=="Connect GitHub")throw new Error("GitHub connection required for team store access.");await(0,github_js_1.getGitHubToken)(!0,["read:user","repo"])}
|
|
@@ -1,165 +1,10 @@
|
|
|
1
|
-
|
|
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.AgentHippoLoopbackAuthServer = void 0;
|
|
40
|
-
const http = __importStar(require("http"));
|
|
41
|
-
const SUCCESS_HTML = `<!DOCTYPE html>
|
|
1
|
+
/*! Copyright (c) 2026 AgentHippo.ai. All rights reserved. Proprietary; see LICENSE. */
|
|
2
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(o,e,r,n){n===void 0&&(n=r);var t=Object.getOwnPropertyDescriptor(e,r);(!t||("get"in t?!e.__esModule:t.writable||t.configurable))&&(t={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(o,n,t)}):(function(o,e,r,n){n===void 0&&(n=r),o[n]=e[r]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(o,e){Object.defineProperty(o,"default",{enumerable:!0,value:e})}):function(o,e){o.default=e}),__importStar=this&&this.__importStar||(function(){var o=function(e){return o=Object.getOwnPropertyNames||function(r){var n=[];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(n[n.length]=t);return n},o(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=o(e),t=0;t<n.length;t++)n[t]!=="default"&&__createBinding(r,e,n[t]);return __setModuleDefault(r,e),r}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.AgentHippoLoopbackAuthServer=void 0;const http=__importStar(require("http")),SUCCESS_HTML=`<!DOCTYPE html>
|
|
42
3
|
<html lang="en"><head><meta charset="utf-8"/><title>AgentHippo</title></head>
|
|
43
4
|
<body style="font-family:system-ui,sans-serif;padding:2rem">
|
|
44
5
|
<p>Signed in to AgentHippo. You can close this tab.</p>
|
|
45
|
-
</body></html
|
|
46
|
-
const STATE_MISMATCH_HTML = `<!DOCTYPE html>
|
|
6
|
+
</body></html>`,STATE_MISMATCH_HTML=`<!DOCTYPE html>
|
|
47
7
|
<html lang="en"><head><meta charset="utf-8"/><title>AgentHippo</title></head>
|
|
48
8
|
<body style="font-family:system-ui,sans-serif;padding:2rem">
|
|
49
9
|
<p>Sign-in could not be verified (state mismatch). Close this tab and try again from the IDE.</p>
|
|
50
|
-
</body></html>`;
|
|
51
|
-
/**
|
|
52
|
-
* Localhost OAuth callback (same pattern as GitHub/Codex loopback flows).
|
|
53
|
-
* Browser redirects to http://127.0.0.1:<port>/callback — no IDE URI scheme required.
|
|
54
|
-
*/
|
|
55
|
-
class AgentHippoLoopbackAuthServer {
|
|
56
|
-
server;
|
|
57
|
-
port;
|
|
58
|
-
pending;
|
|
59
|
-
async start() {
|
|
60
|
-
if (this.server) {
|
|
61
|
-
return this.port;
|
|
62
|
-
}
|
|
63
|
-
return new Promise((resolve, reject) => {
|
|
64
|
-
const server = http.createServer((req, res) => {
|
|
65
|
-
try {
|
|
66
|
-
const host = `127.0.0.1:${this.port}`;
|
|
67
|
-
const url = new URL(req.url || '/', `http://${host}`);
|
|
68
|
-
if (url.pathname !== '/callback') {
|
|
69
|
-
res.writeHead(404);
|
|
70
|
-
res.end();
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
const code = url.searchParams.get('code');
|
|
74
|
-
const state = url.searchParams.get('state');
|
|
75
|
-
if (!code || !state) {
|
|
76
|
-
res.writeHead(400, { 'Content-Type': 'text/plain' });
|
|
77
|
-
res.end('Missing authorization code');
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
// Validate state before showing success: a forged or cross-flow callback
|
|
81
|
-
// must not render "signed in" or be silently dropped to a timeout.
|
|
82
|
-
if (!this.pending || state !== this.pending.expectedState) {
|
|
83
|
-
res.writeHead(400, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
84
|
-
res.end(STATE_MISMATCH_HTML);
|
|
85
|
-
this.pending?.reject(new Error('OAuth state mismatch'));
|
|
86
|
-
this.pending = undefined;
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
90
|
-
res.end(SUCCESS_HTML);
|
|
91
|
-
this.pending.resolve(code);
|
|
92
|
-
this.pending = undefined;
|
|
93
|
-
}
|
|
94
|
-
catch {
|
|
95
|
-
res.writeHead(500);
|
|
96
|
-
res.end();
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
server.once('error', reject);
|
|
100
|
-
server.listen(0, '127.0.0.1', () => {
|
|
101
|
-
const address = server.address();
|
|
102
|
-
if (!address || typeof address === 'string') {
|
|
103
|
-
reject(new Error('Failed to bind loopback OAuth server'));
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
this.server = server;
|
|
107
|
-
this.port = address.port;
|
|
108
|
-
resolve(address.port);
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
getRedirectUri() {
|
|
113
|
-
if (!this.port) {
|
|
114
|
-
throw new Error('Loopback OAuth server not started');
|
|
115
|
-
}
|
|
116
|
-
return `http://127.0.0.1:${this.port}/callback`;
|
|
117
|
-
}
|
|
118
|
-
waitForAuthorizationCode(expectedState, timeoutMs, cancel) {
|
|
119
|
-
return new Promise((resolve, reject) => {
|
|
120
|
-
let pollCancel;
|
|
121
|
-
const cleanup = () => {
|
|
122
|
-
clearInterval(pollCancel);
|
|
123
|
-
};
|
|
124
|
-
const timeout = setTimeout(() => {
|
|
125
|
-
cleanup();
|
|
126
|
-
this.pending = undefined;
|
|
127
|
-
reject(new Error('Sign-in timed out waiting for browser callback.'));
|
|
128
|
-
}, timeoutMs);
|
|
129
|
-
this.pending = {
|
|
130
|
-
expectedState,
|
|
131
|
-
resolve: (code) => {
|
|
132
|
-
cleanup();
|
|
133
|
-
clearTimeout(timeout);
|
|
134
|
-
resolve(code);
|
|
135
|
-
},
|
|
136
|
-
reject: (err) => {
|
|
137
|
-
cleanup();
|
|
138
|
-
clearTimeout(timeout);
|
|
139
|
-
reject(err);
|
|
140
|
-
},
|
|
141
|
-
};
|
|
142
|
-
pollCancel = setInterval(() => {
|
|
143
|
-
if (cancel?.()) {
|
|
144
|
-
cleanup();
|
|
145
|
-
clearTimeout(timeout);
|
|
146
|
-
this.pending = undefined;
|
|
147
|
-
reject(new Error('Sign-in cancelled'));
|
|
148
|
-
}
|
|
149
|
-
}, 250);
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
async stop() {
|
|
153
|
-
this.pending?.reject(new Error('Sign-in cancelled'));
|
|
154
|
-
this.pending = undefined;
|
|
155
|
-
if (!this.server) {
|
|
156
|
-
return;
|
|
157
|
-
}
|
|
158
|
-
await new Promise((resolve) => {
|
|
159
|
-
this.server.close(() => resolve());
|
|
160
|
-
});
|
|
161
|
-
this.server = undefined;
|
|
162
|
-
this.port = undefined;
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
exports.AgentHippoLoopbackAuthServer = AgentHippoLoopbackAuthServer;
|
|
10
|
+
</body></html>`;class AgentHippoLoopbackAuthServer{server;port;pending;async start(){return this.server?this.port:new Promise((e,r)=>{const n=http.createServer((t,i)=>{try{const d=`127.0.0.1:${this.port}`,a=new URL(t.url||"/",`http://${d}`);if(a.pathname!=="/callback"){i.writeHead(404),i.end();return}const s=a.searchParams.get("code"),c=a.searchParams.get("state");if(!s||!c){i.writeHead(400,{"Content-Type":"text/plain"}),i.end("Missing authorization code");return}if(!this.pending||c!==this.pending.expectedState){i.writeHead(400,{"Content-Type":"text/html; charset=utf-8"}),i.end(STATE_MISMATCH_HTML),this.pending?.reject(new Error("OAuth state mismatch")),this.pending=void 0;return}i.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),i.end(SUCCESS_HTML),this.pending.resolve(s),this.pending=void 0}catch{i.writeHead(500),i.end()}});n.once("error",r),n.listen(0,"127.0.0.1",()=>{const t=n.address();if(!t||typeof t=="string"){r(new Error("Failed to bind loopback OAuth server"));return}this.server=n,this.port=t.port,e(t.port)})})}getRedirectUri(){if(!this.port)throw new Error("Loopback OAuth server not started");return`http://127.0.0.1:${this.port}/callback`}waitForAuthorizationCode(e,r,n){return new Promise((t,i)=>{let d;const a=()=>{clearInterval(d)},s=setTimeout(()=>{a(),this.pending=void 0,i(new Error("Sign-in timed out waiting for browser callback."))},r);this.pending={expectedState:e,resolve:c=>{a(),clearTimeout(s),t(c)},reject:c=>{a(),clearTimeout(s),i(c)}},d=setInterval(()=>{n?.()&&(a(),clearTimeout(s),this.pending=void 0,i(new Error("Sign-in cancelled")))},250)})}async stop(){this.pending?.reject(new Error("Sign-in cancelled")),this.pending=void 0,this.server&&(await new Promise(e=>{this.server.close(()=>e())}),this.server=void 0,this.port=void 0)}}exports.AgentHippoLoopbackAuthServer=AgentHippoLoopbackAuthServer;
|