@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/terminalLogger.js
CHANGED
|
@@ -1,358 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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.terminalNameToSlug = terminalNameToSlug;
|
|
40
|
-
exports.ensureDirectory = ensureDirectory;
|
|
41
|
-
exports.appendTextFileWithRotation = appendTextFileWithRotation;
|
|
42
|
-
exports.activateTerminalLogger = activateTerminalLogger;
|
|
43
|
-
exports.deleteSessionLogs = deleteSessionLogs;
|
|
44
|
-
exports.cleanupOldSessionLogs = cleanupOldSessionLogs;
|
|
45
|
-
const vscode = __importStar(require("vscode"));
|
|
46
|
-
const workspaceFolders_1 = require("./workspaceFolders");
|
|
47
|
-
const branding_1 = require("./branding");
|
|
48
|
-
const _textEncoder = new TextEncoder();
|
|
49
|
-
function terminalNameToSlug(name) {
|
|
50
|
-
return name
|
|
51
|
-
.toLowerCase()
|
|
52
|
-
.replace(/[^a-z0-9]+/g, '-')
|
|
53
|
-
.replace(/^-+|-+$/g, '')
|
|
54
|
-
.slice(0, 50) || 'terminal';
|
|
55
|
-
}
|
|
56
|
-
async function ensureDirectory(uri) {
|
|
57
|
-
await vscode.workspace.fs.createDirectory(uri);
|
|
58
|
-
}
|
|
59
|
-
async function statSafe(uri) {
|
|
60
|
-
try {
|
|
61
|
-
return await vscode.workspace.fs.stat(uri);
|
|
62
|
-
}
|
|
63
|
-
catch {
|
|
64
|
-
return undefined;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
async function deleteFileSafe(uri) {
|
|
68
|
-
try {
|
|
69
|
-
await vscode.workspace.fs.delete(uri, { recursive: false, useTrash: false });
|
|
70
|
-
}
|
|
71
|
-
catch {
|
|
72
|
-
// ignore
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
async function rotateFileIfNeeded(uri, maxBytes, nextWriteBytes) {
|
|
76
|
-
const st = await statSafe(uri);
|
|
77
|
-
const size = st?.size ?? 0;
|
|
78
|
-
if (size + nextWriteBytes <= maxBytes) {
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
const rotated = uri.with({ path: `${uri.path}.1` });
|
|
82
|
-
await deleteFileSafe(rotated);
|
|
83
|
-
try {
|
|
84
|
-
await vscode.workspace.fs.rename(uri, rotated, { overwrite: true });
|
|
85
|
-
}
|
|
86
|
-
catch {
|
|
87
|
-
// ignore (file may not exist)
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
async function appendTextFileWithRotation(uri, text, maxBytes) {
|
|
91
|
-
const bytes = _textEncoder.encode(text);
|
|
92
|
-
await rotateFileIfNeeded(uri, maxBytes, bytes.length);
|
|
93
|
-
let existing;
|
|
94
|
-
try {
|
|
95
|
-
existing = await vscode.workspace.fs.readFile(uri);
|
|
96
|
-
}
|
|
97
|
-
catch {
|
|
98
|
-
existing = undefined;
|
|
99
|
-
}
|
|
100
|
-
if (!existing || existing.length === 0) {
|
|
101
|
-
await vscode.workspace.fs.writeFile(uri, bytes);
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
const combined = new Uint8Array(existing.length + bytes.length);
|
|
105
|
-
combined.set(existing, 0);
|
|
106
|
-
combined.set(bytes, existing.length);
|
|
107
|
-
await vscode.workspace.fs.writeFile(uri, combined);
|
|
108
|
-
}
|
|
109
|
-
// Directory for terminal logs, relative to workspace root
|
|
110
|
-
const TERMINALS_DIR = 'terminals';
|
|
111
|
-
const SESSIONS_DIR = 'sessions';
|
|
112
|
-
const MAX_TERMINAL_LOG_BYTES = 2 * 1024 * 1024; // 2MB per terminal file, then rotate
|
|
113
|
-
const MAX_TERMINAL_CAPTURE_BYTES = 512 * 1024; // cap per-command captured output in memory
|
|
114
|
-
const DEFAULT_RETENTION_DAYS = 7; // Default retention period for session logs
|
|
115
|
-
const activeCommandOutputs = new Map();
|
|
116
|
-
/**
|
|
117
|
-
* Terminal Activity Logger
|
|
118
|
-
*
|
|
119
|
-
* Hooks into VS Code's shell integration to log all terminal command executions
|
|
120
|
-
* to files that agents can grep/read. This solves the problem that external agents
|
|
121
|
-
* (Codex, Claude) cannot directly access terminal content.
|
|
122
|
-
*
|
|
123
|
-
* File structure:
|
|
124
|
-
* .agentide/terminals/<terminal-slug>.md
|
|
125
|
-
*
|
|
126
|
-
* Each file contains a chronological log of commands with their outputs:
|
|
127
|
-
*
|
|
128
|
-
* <!-- CMD:npm-run-build TIME:2026-01-01T12:00:00Z CWD:/path/to/dir -->
|
|
129
|
-
* ## npm run build
|
|
130
|
-
* <!-- EXIT:0 DURATION:5000ms -->
|
|
131
|
-
* ```text
|
|
132
|
-
* [command output here]
|
|
133
|
-
* ```
|
|
134
|
-
*
|
|
135
|
-
* Agents are instructed to grep this directory for terminal output.
|
|
136
|
-
*/
|
|
137
|
-
function activateTerminalLogger(context) {
|
|
138
|
-
const outputChannel = vscode.window.createOutputChannel('AgentIDE Terminal Logger');
|
|
139
|
-
// Listen for command start to begin capturing output
|
|
140
|
-
context.subscriptions.push(vscode.window.onDidStartTerminalShellExecution(async (event) => {
|
|
141
|
-
const execution = event.execution;
|
|
142
|
-
const terminal = event.terminal;
|
|
143
|
-
const commandLine = execution.commandLine.value;
|
|
144
|
-
outputChannel.appendLine(`[Terminal] Command started in "${terminal.name}": ${commandLine}`);
|
|
145
|
-
// Start collecting output (bounded)
|
|
146
|
-
const output = { chunks: [], bytes: 0, truncated: false };
|
|
147
|
-
activeCommandOutputs.set(execution, output);
|
|
148
|
-
try {
|
|
149
|
-
// Read output stream (async iterable)
|
|
150
|
-
for await (const data of execution.read()) {
|
|
151
|
-
output.chunks.push(data);
|
|
152
|
-
output.bytes += Buffer.byteLength(data, 'utf8');
|
|
153
|
-
// Keep only the tail to avoid unbounded growth for long-running commands.
|
|
154
|
-
while (output.bytes > MAX_TERMINAL_CAPTURE_BYTES && output.chunks.length > 1) {
|
|
155
|
-
const dropped = output.chunks.shift();
|
|
156
|
-
output.bytes -= Buffer.byteLength(dropped, 'utf8');
|
|
157
|
-
output.truncated = true;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
catch (error) {
|
|
162
|
-
outputChannel.appendLine(`[Terminal] Error reading output: ${error}`);
|
|
163
|
-
}
|
|
164
|
-
}));
|
|
165
|
-
// Listen for command end to write the complete log entry
|
|
166
|
-
context.subscriptions.push(vscode.window.onDidEndTerminalShellExecution(async (event) => {
|
|
167
|
-
const execution = event.execution;
|
|
168
|
-
const terminal = event.terminal;
|
|
169
|
-
const commandLine = execution.commandLine.value;
|
|
170
|
-
const exitCode = event.exitCode;
|
|
171
|
-
const cwd = execution.cwd?.fsPath ?? 'unknown';
|
|
172
|
-
outputChannel.appendLine(`[Terminal] Command ended in "${terminal.name}": ${commandLine} (exit: ${exitCode})`);
|
|
173
|
-
// Get collected output
|
|
174
|
-
const outputState = activeCommandOutputs.get(execution);
|
|
175
|
-
activeCommandOutputs.delete(execution);
|
|
176
|
-
const output = outputState?.chunks.join('') ?? '';
|
|
177
|
-
const wasTruncated = outputState?.truncated ?? false;
|
|
178
|
-
// Write to terminal log file
|
|
179
|
-
await writeTerminalLogEntry(terminal.name, commandLine, wasTruncated ? `${output}\n…(truncated)` : output, exitCode, cwd, outputChannel);
|
|
180
|
-
}));
|
|
181
|
-
outputChannel.appendLine('[Terminal] Terminal activity logger activated');
|
|
182
|
-
}
|
|
183
|
-
function getTerminalLogDirUri() {
|
|
184
|
-
const root = (0, workspaceFolders_1.getPrimaryWorkspaceFolderUri)();
|
|
185
|
-
return root ? vscode.Uri.joinPath(root, branding_1.AGENTIDE_DIR_NAME, TERMINALS_DIR) : undefined;
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Write a command execution entry to the terminal log file
|
|
189
|
-
*/
|
|
190
|
-
async function writeTerminalLogEntry(terminalName, commandLine, output, exitCode, cwd, outputChannel) {
|
|
191
|
-
const logDir = getTerminalLogDirUri();
|
|
192
|
-
if (!logDir) {
|
|
193
|
-
return;
|
|
194
|
-
}
|
|
195
|
-
const slug = terminalNameToSlug(terminalName);
|
|
196
|
-
const logUri = vscode.Uri.joinPath(logDir, `${slug}.md`);
|
|
197
|
-
try {
|
|
198
|
-
await ensureDirectory(logDir);
|
|
199
|
-
// Format the log entry
|
|
200
|
-
const nowIso = new Date().toISOString();
|
|
201
|
-
const cmdAnchor = commandLine.slice(0, 50).replace(/[^a-zA-Z0-9]+/g, '-').toLowerCase();
|
|
202
|
-
const exitStr = exitCode !== undefined ? `EXIT:${exitCode}` : 'EXIT:unknown';
|
|
203
|
-
const cwdRelative = toWorkspaceRelativePath(cwd);
|
|
204
|
-
const entry = [
|
|
205
|
-
'',
|
|
206
|
-
`<!-- CMD:${cmdAnchor} TIME:${nowIso} CWD:${cwdRelative} -->`,
|
|
207
|
-
`## \`${escapeMarkdown(commandLine)}\``,
|
|
208
|
-
`<!-- ${exitStr} -->`,
|
|
209
|
-
'',
|
|
210
|
-
'```text',
|
|
211
|
-
stripAnsiCodes(output.trim()),
|
|
212
|
-
'```',
|
|
213
|
-
'',
|
|
214
|
-
'---',
|
|
215
|
-
].join('\n');
|
|
216
|
-
await appendTextFileWithRotation(logUri, entry + '\n', MAX_TERMINAL_LOG_BYTES);
|
|
217
|
-
outputChannel.appendLine(`[Terminal] Logged to ${slug}.md (max ${MAX_TERMINAL_LOG_BYTES} bytes)`);
|
|
218
|
-
}
|
|
219
|
-
catch (error) {
|
|
220
|
-
outputChannel.appendLine(`[Terminal] Failed to write log: ${error}`);
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* Convert absolute path to workspace-relative path
|
|
225
|
-
*/
|
|
226
|
-
function toWorkspaceRelativePath(absolutePath) {
|
|
227
|
-
const workspaceFolders = vscode.workspace.workspaceFolders;
|
|
228
|
-
if (!workspaceFolders) {
|
|
229
|
-
return absolutePath;
|
|
230
|
-
}
|
|
231
|
-
for (const folder of workspaceFolders) {
|
|
232
|
-
const folderPath = folder.uri.fsPath;
|
|
233
|
-
// Case-insensitive comparison for Windows paths
|
|
234
|
-
if (absolutePath.toLowerCase().startsWith(folderPath.toLowerCase())) {
|
|
235
|
-
let relative = absolutePath.slice(folderPath.length).replace(/\\/g, '/');
|
|
236
|
-
if (relative && !relative.startsWith('/')) {
|
|
237
|
-
relative = '/' + relative;
|
|
238
|
-
}
|
|
239
|
-
return relative ? `.${relative}` : '.';
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
return absolutePath;
|
|
243
|
-
}
|
|
244
|
-
/**
|
|
245
|
-
* Escape markdown special characters
|
|
246
|
-
*/
|
|
247
|
-
function escapeMarkdown(text) {
|
|
248
|
-
return text.replace(/([`\\])/g, '\\$1');
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* Strip ANSI escape codes from text
|
|
252
|
-
*/
|
|
253
|
-
function stripAnsiCodes(text) {
|
|
254
|
-
return text.replace(/\x1b\[[0-9;]*m/g, '');
|
|
255
|
-
}
|
|
256
|
-
// -----------------------------------------------------------------------------
|
|
257
|
-
// Session Log Cleanup
|
|
258
|
-
// -----------------------------------------------------------------------------
|
|
259
|
-
/**
|
|
260
|
-
* Get the configured retention period in days.
|
|
261
|
-
* Reads from `agentide.sessions.retentionDays` setting, defaults to 7 days.
|
|
262
|
-
*/
|
|
263
|
-
function getRetentionDays() {
|
|
264
|
-
const config = vscode.workspace.getConfiguration('agentide.sessions');
|
|
265
|
-
const value = config.get('retentionDays');
|
|
266
|
-
if (typeof value === 'number' && value > 0) {
|
|
267
|
-
return value;
|
|
268
|
-
}
|
|
269
|
-
return DEFAULT_RETENTION_DAYS;
|
|
270
|
-
}
|
|
271
|
-
/**
|
|
272
|
-
* Get the sessions directory URI for the current workspace
|
|
273
|
-
*/
|
|
274
|
-
function getSessionsDirUri() {
|
|
275
|
-
const root = (0, workspaceFolders_1.getPrimaryWorkspaceFolderUri)();
|
|
276
|
-
return root ? vscode.Uri.joinPath(root, branding_1.AGENTIDE_DIR_NAME, SESSIONS_DIR) : undefined;
|
|
277
|
-
}
|
|
278
|
-
/**
|
|
279
|
-
* Delete a specific session's logs
|
|
280
|
-
*/
|
|
281
|
-
async function deleteSessionLogs(sessionId) {
|
|
282
|
-
const sessionsDir = getSessionsDirUri();
|
|
283
|
-
if (!sessionsDir) {
|
|
284
|
-
return { deleted: false, error: 'No workspace folder open' };
|
|
285
|
-
}
|
|
286
|
-
const sessionDir = vscode.Uri.joinPath(sessionsDir, sessionId);
|
|
287
|
-
try {
|
|
288
|
-
const stat = await statSafe(sessionDir);
|
|
289
|
-
if (!stat) {
|
|
290
|
-
return { deleted: false, error: 'Session directory not found' };
|
|
291
|
-
}
|
|
292
|
-
await vscode.workspace.fs.delete(sessionDir, { recursive: true, useTrash: false });
|
|
293
|
-
return { deleted: true };
|
|
294
|
-
}
|
|
295
|
-
catch (error) {
|
|
296
|
-
return { deleted: false, error: error instanceof Error ? error.message : String(error) };
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
/**
|
|
300
|
-
* Cleanup old session logs based on retention period.
|
|
301
|
-
* Deletes session directories older than the configured retention period.
|
|
302
|
-
*/
|
|
303
|
-
async function cleanupOldSessionLogs(outputChannel) {
|
|
304
|
-
const sessionsDir = getSessionsDirUri();
|
|
305
|
-
const result = { cleaned: 0, errors: [] };
|
|
306
|
-
if (!sessionsDir) {
|
|
307
|
-
return result;
|
|
308
|
-
}
|
|
309
|
-
const retentionDays = getRetentionDays();
|
|
310
|
-
const cutoffMs = Date.now() - (retentionDays * 24 * 60 * 60 * 1000);
|
|
311
|
-
// Avoid noisy fs logs on first run when the directory doesn't exist yet
|
|
312
|
-
const sessionsDirStat = await statSafe(sessionsDir);
|
|
313
|
-
if (!sessionsDirStat) {
|
|
314
|
-
return result;
|
|
315
|
-
}
|
|
316
|
-
let entries;
|
|
317
|
-
try {
|
|
318
|
-
entries = await vscode.workspace.fs.readDirectory(sessionsDir);
|
|
319
|
-
}
|
|
320
|
-
catch {
|
|
321
|
-
// Sessions directory doesn't exist yet - nothing to clean
|
|
322
|
-
return result;
|
|
323
|
-
}
|
|
324
|
-
for (const [name, type] of entries) {
|
|
325
|
-
if (type !== vscode.FileType.Directory) {
|
|
326
|
-
continue;
|
|
327
|
-
}
|
|
328
|
-
const sessionDir = vscode.Uri.joinPath(sessionsDir, name);
|
|
329
|
-
// Check the modification time of the session directory
|
|
330
|
-
const stat = await statSafe(sessionDir);
|
|
331
|
-
if (!stat) {
|
|
332
|
-
continue;
|
|
333
|
-
}
|
|
334
|
-
if (stat.mtime < cutoffMs) {
|
|
335
|
-
try {
|
|
336
|
-
await vscode.workspace.fs.delete(sessionDir, { recursive: true, useTrash: false });
|
|
337
|
-
result.cleaned++;
|
|
338
|
-
outputChannel?.appendLine(`[Terminal] Cleaned up old session: ${name}`);
|
|
339
|
-
}
|
|
340
|
-
catch (error) {
|
|
341
|
-
const errMsg = `Failed to delete session ${name}: ${error instanceof Error ? error.message : String(error)}`;
|
|
342
|
-
result.errors.push(errMsg);
|
|
343
|
-
outputChannel?.appendLine(`[Terminal] ${errMsg}`);
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
if (result.cleaned > 0) {
|
|
348
|
-
outputChannel?.appendLine(`[Terminal] Cleaned up ${result.cleaned} old session(s) (retention: ${retentionDays} days)`);
|
|
349
|
-
}
|
|
350
|
-
return result;
|
|
351
|
-
}
|
|
352
|
-
/**
|
|
353
|
-
* Run cleanup of old session logs.
|
|
354
|
-
* Called when a session is closed/deleted - cleans up other old sessions opportunistically.
|
|
355
|
-
* This avoids the need for scheduled timers while still keeping things tidy.
|
|
356
|
-
*/
|
|
357
|
-
// Note: We intentionally do NOT export a "cleanup on close" helper.
|
|
358
|
-
// The simplest model is: cleanup on startup + manual command.
|
|
1
|
+
/*! Copyright (c) 2026 AgentHippo.ai. All rights reserved. Proprietary; see LICENSE. */
|
|
2
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}):(function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),__importStar=this&&this.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(r){var n=[];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(n[n.length]=s);return n},e(t)};return function(t){if(t&&t.__esModule)return t;var r={};if(t!=null)for(var n=e(t),s=0;s<n.length;s++)n[s]!=="default"&&__createBinding(r,t,n[s]);return __setModuleDefault(r,t),r}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.terminalNameToSlug=terminalNameToSlug,exports.ensureDirectory=ensureDirectory,exports.appendTextFileWithRotation=appendTextFileWithRotation,exports.activateTerminalLogger=activateTerminalLogger,exports.deleteSessionLogs=deleteSessionLogs,exports.cleanupOldSessionLogs=cleanupOldSessionLogs;const vscode=__importStar(require("vscode")),workspaceFolders_1=require("./workspaceFolders"),branding_1=require("./branding"),_textEncoder=new TextEncoder;function terminalNameToSlug(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,50)||"terminal"}async function ensureDirectory(e){await vscode.workspace.fs.createDirectory(e)}async function statSafe(e){try{return await vscode.workspace.fs.stat(e)}catch{return}}async function deleteFileSafe(e){try{await vscode.workspace.fs.delete(e,{recursive:!1,useTrash:!1})}catch{}}async function rotateFileIfNeeded(e,t,r){if(((await statSafe(e))?.size??0)+r<=t)return;const i=e.with({path:`${e.path}.1`});await deleteFileSafe(i);try{await vscode.workspace.fs.rename(e,i,{overwrite:!0})}catch{}}async function appendTextFileWithRotation(e,t,r){const n=_textEncoder.encode(t);await rotateFileIfNeeded(e,r,n.length);let s;try{s=await vscode.workspace.fs.readFile(e)}catch{s=void 0}if(!s||s.length===0){await vscode.workspace.fs.writeFile(e,n);return}const i=new Uint8Array(s.length+n.length);i.set(s,0),i.set(n,s.length),await vscode.workspace.fs.writeFile(e,i)}const TERMINALS_DIR="terminals",SESSIONS_DIR="sessions",MAX_TERMINAL_LOG_BYTES=2*1024*1024,MAX_TERMINAL_CAPTURE_BYTES=512*1024,DEFAULT_RETENTION_DAYS=7,activeCommandOutputs=new Map;function activateTerminalLogger(e){const t=vscode.window.createOutputChannel("AgentIDE Terminal Logger");e.subscriptions.push(vscode.window.onDidStartTerminalShellExecution(async r=>{const n=r.execution,s=r.terminal,i=n.commandLine.value;t.appendLine(`[Terminal] Command started in "${s.name}": ${i}`);const o={chunks:[],bytes:0,truncated:!1};activeCommandOutputs.set(n,o);try{for await(const a of n.read())for(o.chunks.push(a),o.bytes+=Buffer.byteLength(a,"utf8");o.bytes>MAX_TERMINAL_CAPTURE_BYTES&&o.chunks.length>1;){const u=o.chunks.shift();o.bytes-=Buffer.byteLength(u,"utf8"),o.truncated=!0}}catch(a){t.appendLine(`[Terminal] Error reading output: ${a}`)}})),e.subscriptions.push(vscode.window.onDidEndTerminalShellExecution(async r=>{const n=r.execution,s=r.terminal,i=n.commandLine.value,o=r.exitCode,a=n.cwd?.fsPath??"unknown";t.appendLine(`[Terminal] Command ended in "${s.name}": ${i} (exit: ${o})`);const u=activeCommandOutputs.get(n);activeCommandOutputs.delete(n);const c=u?.chunks.join("")??"",l=u?.truncated??!1;await writeTerminalLogEntry(s.name,i,l?`${c}
|
|
3
|
+
\u2026(truncated)`:c,o,a,t)})),t.appendLine("[Terminal] Terminal activity logger activated")}function getTerminalLogDirUri(){const e=(0,workspaceFolders_1.getPrimaryWorkspaceFolderUri)();return e?vscode.Uri.joinPath(e,branding_1.AGENTIDE_DIR_NAME,TERMINALS_DIR):void 0}async function writeTerminalLogEntry(e,t,r,n,s,i){const o=getTerminalLogDirUri();if(!o)return;const a=terminalNameToSlug(e),u=vscode.Uri.joinPath(o,`${a}.md`);try{await ensureDirectory(o);const c=new Date().toISOString(),l=t.slice(0,50).replace(/[^a-zA-Z0-9]+/g,"-").toLowerCase(),d=n!==void 0?`EXIT:${n}`:"EXIT:unknown",f=toWorkspaceRelativePath(s),p=["",`<!-- CMD:${l} TIME:${c} CWD:${f} -->`,`## \`${escapeMarkdown(t)}\``,`<!-- ${d} -->`,"","```text",stripAnsiCodes(r.trim()),"```","","---"].join(`
|
|
4
|
+
`);await appendTextFileWithRotation(u,p+`
|
|
5
|
+
`,MAX_TERMINAL_LOG_BYTES),i.appendLine(`[Terminal] Logged to ${a}.md (max ${MAX_TERMINAL_LOG_BYTES} bytes)`)}catch(c){i.appendLine(`[Terminal] Failed to write log: ${c}`)}}function toWorkspaceRelativePath(e){const t=vscode.workspace.workspaceFolders;if(!t)return e;for(const r of t){const n=r.uri.fsPath;if(e.toLowerCase().startsWith(n.toLowerCase())){let s=e.slice(n.length).replace(/\\/g,"/");return s&&!s.startsWith("/")&&(s="/"+s),s?`.${s}`:"."}}return e}function escapeMarkdown(e){return e.replace(/([`\\])/g,"\\$1")}function stripAnsiCodes(e){return e.replace(/\x1b\[[0-9;]*m/g,"")}function getRetentionDays(){const t=vscode.workspace.getConfiguration("agentide.sessions").get("retentionDays");return typeof t=="number"&&t>0?t:DEFAULT_RETENTION_DAYS}function getSessionsDirUri(){const e=(0,workspaceFolders_1.getPrimaryWorkspaceFolderUri)();return e?vscode.Uri.joinPath(e,branding_1.AGENTIDE_DIR_NAME,SESSIONS_DIR):void 0}async function deleteSessionLogs(e){const t=getSessionsDirUri();if(!t)return{deleted:!1,error:"No workspace folder open"};const r=vscode.Uri.joinPath(t,e);try{return await statSafe(r)?(await vscode.workspace.fs.delete(r,{recursive:!0,useTrash:!1}),{deleted:!0}):{deleted:!1,error:"Session directory not found"}}catch(n){return{deleted:!1,error:n instanceof Error?n.message:String(n)}}}async function cleanupOldSessionLogs(e){const t=getSessionsDirUri(),r={cleaned:0,errors:[]};if(!t)return r;const n=getRetentionDays(),s=Date.now()-n*24*60*60*1e3;if(!await statSafe(t))return r;let o;try{o=await vscode.workspace.fs.readDirectory(t)}catch{return r}for(const[a,u]of o){if(u!==vscode.FileType.Directory)continue;const c=vscode.Uri.joinPath(t,a),l=await statSafe(c);if(l&&l.mtime<s)try{await vscode.workspace.fs.delete(c,{recursive:!0,useTrash:!1}),r.cleaned++,e?.appendLine(`[Terminal] Cleaned up old session: ${a}`)}catch(d){const f=`Failed to delete session ${a}: ${d instanceof Error?d.message:String(d)}`;r.errors.push(f),e?.appendLine(`[Terminal] ${f}`)}}return r.cleaned>0&&e?.appendLine(`[Terminal] Cleaned up ${r.cleaned} old session(s) (retention: ${n} days)`),r}
|
package/out/utils/pathSafety.js
CHANGED
|
@@ -1,60 +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.isPathUnderRoot = isPathUnderRoot;
|
|
40
|
-
exports.isPathUnderAnyRoot = isPathUnderAnyRoot;
|
|
41
|
-
const path = __importStar(require("path"));
|
|
42
|
-
/**
|
|
43
|
-
* True when {@link candidate} resolves to {@link root} or a path under it (no `..` escape).
|
|
44
|
-
*/
|
|
45
|
-
function isPathUnderRoot(root, candidate) {
|
|
46
|
-
try {
|
|
47
|
-
const parentNorm = path.resolve(root);
|
|
48
|
-
const candidateNorm = path.resolve(candidate);
|
|
49
|
-
const rel = path.relative(parentNorm, candidateNorm);
|
|
50
|
-
return rel === '' || (!rel.startsWith('..') && !path.isAbsolute(rel));
|
|
51
|
-
}
|
|
52
|
-
catch {
|
|
53
|
-
return false;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
/** True when {@link candidate} is under at least one of {@link roots}. */
|
|
57
|
-
function isPathUnderAnyRoot(roots, candidate) {
|
|
58
|
-
const normalized = path.resolve(candidate);
|
|
59
|
-
return roots.some(root => isPathUnderRoot(root, normalized));
|
|
60
|
-
}
|
|
1
|
+
/*! Copyright (c) 2026 AgentHippo.ai. All rights reserved. Proprietary; see LICENSE. */
|
|
2
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(i,e,n,t){t===void 0&&(t=n);var r=Object.getOwnPropertyDescriptor(e,n);(!r||("get"in r?!e.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(i,t,r)}):(function(i,e,n,t){t===void 0&&(t=n),i[t]=e[n]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(i,e){Object.defineProperty(i,"default",{enumerable:!0,value:e})}):function(i,e){i.default=e}),__importStar=this&&this.__importStar||(function(){var i=function(e){return i=Object.getOwnPropertyNames||function(n){var t=[];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[t.length]=r);return t},i(e)};return function(e){if(e&&e.__esModule)return e;var n={};if(e!=null)for(var t=i(e),r=0;r<t.length;r++)t[r]!=="default"&&__createBinding(n,e,t[r]);return __setModuleDefault(n,e),n}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.isPathUnderRoot=isPathUnderRoot,exports.isPathUnderAnyRoot=isPathUnderAnyRoot;const path=__importStar(require("path"));function isPathUnderRoot(i,e){try{const n=path.resolve(i),t=path.resolve(e),r=path.relative(n,t);return r===""||!r.startsWith("..")&&!path.isAbsolute(r)}catch{return!1}}function isPathUnderAnyRoot(i,e){const n=path.resolve(e);return i.some(t=>isPathUnderRoot(t,n))}
|