@agenthippo-ai/agenthippo 1.110.11 → 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 -302
- 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 -1283
- 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 +617 -564
- 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 +127 -459
- package/out/scripts/analytics/agent-fleet-widget.js +18 -257
- package/out/scripts/analytics/agentide-litellm-otel.config.yaml +0 -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/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 -69
- 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 -521
- 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 -324
- 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 -681
- 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 -151
- 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 -351
- package/out/cli/commands/serve.js +0 -1950
- package/out/cli/commands/store.js +0 -927
- package/out/cli/credential-context.js +0 -108
- 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 -153
- 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 -225
- package/out/cli/deploy/blueprints/registry.js +0 -84
- package/out/cli/deploy/layers/identity.js +0 -175
- 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 -776
- 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 -680
- 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 -643
- 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 -546
- 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 -326
- package/out/pack/lease-schema.js +0 -273
- package/out/pack/lease.js +0 -682
- 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 -141
- package/out/runner/protocol.js +0 -128
- package/out/runner/remoteEngine.js +0 -166
- 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 -572
- package/out/sandbox/processDriver.js +0 -318
- package/out/sandbox/sandboxRunner.js +0 -303
- 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 -460
- 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 -282
- package/out/test/data-plane.test.js +0 -624
- package/out/test/deploy-init.test.js +0 -860
- 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 -222
- 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 -224
- package/out/test/lease.test.js +0 -114
- package/out/test/localFleetAdapter.test.js +0 -91
- 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 -406
- package/out/test/sandbox-runner.test.js +0 -343
- package/out/test/sandbox-scope.test.js +0 -449
- package/out/test/scheduledFleetStorage.test.js +0 -72
- package/out/test/serve-cron-acceptance.test.js +0 -370
- package/out/test/serve-gateway-turn.test.js +0 -389
- package/out/test/serve-hardening.test.js +0 -591
- package/out/test/serveClient.test.js +0 -209
- package/out/test/sessionJsonlFleet.test.js +0 -78
- package/out/test/sessionShip.test.js +0 -618
- 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
|
@@ -1,302 +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.mergeSessionJsonlIntoFleetRows = mergeSessionJsonlIntoFleetRows;
|
|
40
|
-
exports.getScheduledFleetRequests = getScheduledFleetRequests;
|
|
41
|
-
exports.createLocalFleetAdapter = createLocalFleetAdapter;
|
|
42
|
-
const vscode = __importStar(require("vscode"));
|
|
43
|
-
const fleetTypes_1 = require("./fleetTypes");
|
|
44
|
-
const fleetDisplayUtils_1 = require("./fleetDisplayUtils");
|
|
45
|
-
const fleetRowDefaults_1 = require("./fleetRowDefaults");
|
|
46
|
-
const sessionJsonlFleet_1 = require("./sessionJsonlFleet");
|
|
47
|
-
const scheduledFleetStorage_1 = require("./scheduledFleetStorage");
|
|
48
|
-
const LOCAL_SOURCE_ID = 'local';
|
|
49
|
-
const FUTURE_START_SCHEDULED_MS = 60_000;
|
|
50
|
-
const RECENT_END_IN_PROGRESS_MS = 90_000;
|
|
51
|
-
/** Trace rows with no end time older than this are treated as done (avoids "Running for 2947m" ghosts). */
|
|
52
|
-
const STALE_IN_PROGRESS_WITHOUT_END_MS = 15 * 60_000;
|
|
53
|
-
function normalizeStatus(session) {
|
|
54
|
-
const now = Date.now();
|
|
55
|
-
const startedMs = Date.parse(session.startedAt);
|
|
56
|
-
const endedMs = Date.parse(session.endedAt);
|
|
57
|
-
if (Number.isFinite(startedMs) && startedMs > now + FUTURE_START_SCHEDULED_MS) {
|
|
58
|
-
return 'scheduled';
|
|
59
|
-
}
|
|
60
|
-
if (!Number.isFinite(endedMs) || endedMs <= 0 || (Number.isFinite(startedMs) && endedMs < startedMs)) {
|
|
61
|
-
if (Number.isFinite(startedMs) && startedMs < now - STALE_IN_PROGRESS_WITHOUT_END_MS) {
|
|
62
|
-
return 'done';
|
|
63
|
-
}
|
|
64
|
-
return 'in_progress';
|
|
65
|
-
}
|
|
66
|
-
if (endedMs > now - RECENT_END_IN_PROGRESS_MS) {
|
|
67
|
-
return 'in_progress';
|
|
68
|
-
}
|
|
69
|
-
return 'done';
|
|
70
|
-
}
|
|
71
|
-
function normalizeRowStatus(row) {
|
|
72
|
-
if (row.status !== 'in_progress') {
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
const normalized = normalizeStatus({
|
|
76
|
-
sessionId: row.sessionId,
|
|
77
|
-
agentId: row.agentId,
|
|
78
|
-
startedAt: row.startedAt,
|
|
79
|
-
endedAt: row.endedAt,
|
|
80
|
-
turns: row.turns,
|
|
81
|
-
totalTokens: row.totalTokens,
|
|
82
|
-
model: row.model,
|
|
83
|
-
engine: row.engine,
|
|
84
|
-
});
|
|
85
|
-
if (normalized !== 'in_progress') {
|
|
86
|
-
row.status = normalized;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
function toRow(sessionId, agentId, startedAt, endedAt, status, taskTitle, model, engine, turns, totalTokens) {
|
|
90
|
-
return (0, fleetRowDefaults_1.buildFleetSessionRow)(LOCAL_SOURCE_ID, {
|
|
91
|
-
sessionId,
|
|
92
|
-
agentId,
|
|
93
|
-
status,
|
|
94
|
-
startedAt,
|
|
95
|
-
endedAt,
|
|
96
|
-
taskTitle,
|
|
97
|
-
model,
|
|
98
|
-
engine,
|
|
99
|
-
channelType: 'none',
|
|
100
|
-
channelTarget: '',
|
|
101
|
-
turns,
|
|
102
|
-
totalTokens,
|
|
103
|
-
disconnectCapable: false,
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
function scheduleSnapshotByChatSessionId(scheduled) {
|
|
107
|
-
const map = new Map();
|
|
108
|
-
for (const item of scheduled) {
|
|
109
|
-
const sessionId = String(item.sessionId ?? '').trim();
|
|
110
|
-
if (!sessionId) {
|
|
111
|
-
continue;
|
|
112
|
-
}
|
|
113
|
-
const existing = map.get(sessionId);
|
|
114
|
-
if (!existing || item.runAt >= existing.runAt) {
|
|
115
|
-
map.set(sessionId, item);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
return map;
|
|
119
|
-
}
|
|
120
|
-
function applyJsonlHintToRow(row, hint) {
|
|
121
|
-
row.turns = Math.max(row.turns, hint.turns);
|
|
122
|
-
if (hint.startedAt) {
|
|
123
|
-
row.startedAt = hint.startedAt;
|
|
124
|
-
}
|
|
125
|
-
if (hint.endedAt) {
|
|
126
|
-
row.endedAt = hint.endedAt;
|
|
127
|
-
}
|
|
128
|
-
// JSONL turn events are authoritative when traces are missing or still show in_progress.
|
|
129
|
-
if (hint.turns > 0 || hint.status === 'done') {
|
|
130
|
-
row.status = hint.status;
|
|
131
|
-
}
|
|
132
|
-
else if (row.status === 'in_progress' && hint.status !== 'in_progress') {
|
|
133
|
-
row.status = hint.status;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
function jsonlHintToRow(hint, schedule) {
|
|
137
|
-
const messagePreview = schedule?.messageText
|
|
138
|
-
? (schedule.messageText.length > 80
|
|
139
|
-
? `${schedule.messageText.slice(0, 77)}...`
|
|
140
|
-
: schedule.messageText)
|
|
141
|
-
: hint.sessionId;
|
|
142
|
-
return toRow(hint.sessionId, schedule?.agentId, hint.startedAt, hint.endedAt, hint.status, messagePreview, schedule?.model ?? 'unknown', schedule?.engine ?? (0, fleetDisplayUtils_1.inferFleetEngineId)(schedule?.model), hint.turns, 0);
|
|
143
|
-
}
|
|
144
|
-
/** Drop schedule:* cards when the linked chat session is live or finished. */
|
|
145
|
-
function dropScheduleRowsSupersededByChatSession(sessionsById) {
|
|
146
|
-
for (const key of [...sessionsById.keys()]) {
|
|
147
|
-
if (!key.startsWith('schedule:')) {
|
|
148
|
-
continue;
|
|
149
|
-
}
|
|
150
|
-
const scheduleRow = sessionsById.get(key);
|
|
151
|
-
if (!scheduleRow) {
|
|
152
|
-
continue;
|
|
153
|
-
}
|
|
154
|
-
const linked = String(scheduleRow.channelTarget ?? '').trim();
|
|
155
|
-
if (!linked) {
|
|
156
|
-
continue;
|
|
157
|
-
}
|
|
158
|
-
const chatRow = sessionsById.get(linked);
|
|
159
|
-
if (chatRow && chatRow.status !== 'scheduled') {
|
|
160
|
-
sessionsById.delete(key);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
/** @internal Exported for unit tests. */
|
|
165
|
-
function mergeSessionJsonlIntoFleetRows(sessionsById, scheduleByChatSessionId, filters, sessionsDir) {
|
|
166
|
-
for (const hint of (0, sessionJsonlFleet_1.scanSessionJsonlFleetHints)(sessionsDir)) {
|
|
167
|
-
const schedule = scheduleByChatSessionId.get(hint.sessionId);
|
|
168
|
-
if (filters.agentId && schedule?.agentId && schedule.agentId !== filters.agentId) {
|
|
169
|
-
continue;
|
|
170
|
-
}
|
|
171
|
-
const existing = sessionsById.get(hint.sessionId);
|
|
172
|
-
if (existing) {
|
|
173
|
-
applyJsonlHintToRow(existing, hint);
|
|
174
|
-
continue;
|
|
175
|
-
}
|
|
176
|
-
sessionsById.set(hint.sessionId, jsonlHintToRow(hint, schedule));
|
|
177
|
-
}
|
|
178
|
-
dropScheduleRowsSupersededByChatSession(sessionsById);
|
|
179
|
-
}
|
|
180
|
-
/** Returns scheduled chat requests for fleet merge (used by orchestrator for formal local script). */
|
|
181
|
-
async function getScheduledFleetRequests() {
|
|
182
|
-
return (0, scheduledFleetStorage_1.loadScheduledFleetRequests)();
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* Local fleet source adapter: trace-derived sessions, session JSONL hints, and scheduled chat
|
|
186
|
-
* requests, merged and status-normalized.
|
|
187
|
-
*/
|
|
188
|
-
function createLocalFleetAdapter(queryRunner) {
|
|
189
|
-
return {
|
|
190
|
-
async fetch(filters) {
|
|
191
|
-
const dashboardFilters = { scope: filters.scope, projectId: filters.projectId, agentId: filters.agentId };
|
|
192
|
-
let sessions = [];
|
|
193
|
-
try {
|
|
194
|
-
sessions = await queryRunner.getFleetSessions(500, dashboardFilters);
|
|
195
|
-
}
|
|
196
|
-
catch {
|
|
197
|
-
// Trace DB may be missing; continue with scheduled only.
|
|
198
|
-
}
|
|
199
|
-
const scheduledRequests = await getScheduledFleetRequests();
|
|
200
|
-
const scheduleEnrichment = await (0, scheduledFleetStorage_1.loadScheduledFleetEnrichmentHints)();
|
|
201
|
-
const scheduleByChatSessionId = scheduleSnapshotByChatSessionId(scheduleEnrichment);
|
|
202
|
-
const scheduleHintsByChatSessionId = (0, fleetDisplayUtils_1.buildScheduleHintsByChatSessionId)(scheduleEnrichment);
|
|
203
|
-
const sessionsById = new Map();
|
|
204
|
-
for (const session of sessions) {
|
|
205
|
-
const status = normalizeStatus(session);
|
|
206
|
-
sessionsById.set(session.sessionId, toRow(session.sessionId, session.agentId, session.startedAt, session.endedAt, status, session.agentPack ?? session.agentId ?? session.sessionId ?? 'Task', session.model ?? 'unknown', session.engine ?? '', session.turns ?? 0, session.totalTokens ?? 0));
|
|
207
|
-
}
|
|
208
|
-
for (const scheduled of scheduledRequests) {
|
|
209
|
-
if (filters.agentId && scheduled.agentId && scheduled.agentId !== filters.agentId) {
|
|
210
|
-
continue;
|
|
211
|
-
}
|
|
212
|
-
const runAtIso = new Date(scheduled.runAt).toISOString();
|
|
213
|
-
const messagePreview = scheduled.messageText.length > 80
|
|
214
|
-
? `${scheduled.messageText.slice(0, 77)}...`
|
|
215
|
-
: scheduled.messageText;
|
|
216
|
-
const scheduleRowKey = `schedule:${scheduled.id}`;
|
|
217
|
-
// Unique fleet PK per schedule; channelTarget holds the chat session id for Spotlight open.
|
|
218
|
-
const scheduleRow = (0, fleetRowDefaults_1.buildFleetSessionRow)(LOCAL_SOURCE_ID, {
|
|
219
|
-
sessionId: scheduleRowKey,
|
|
220
|
-
agentId: scheduled.agentId,
|
|
221
|
-
status: 'scheduled',
|
|
222
|
-
startedAt: runAtIso,
|
|
223
|
-
endedAt: '',
|
|
224
|
-
taskTitle: messagePreview || scheduled.agentId || scheduled.sessionId || 'Scheduled task',
|
|
225
|
-
model: scheduled.model ?? 'scheduled',
|
|
226
|
-
engine: scheduled.engine ?? (0, fleetDisplayUtils_1.inferFleetEngineId)(scheduled.model),
|
|
227
|
-
channelType: 'none',
|
|
228
|
-
channelTarget: scheduled.sessionId,
|
|
229
|
-
turns: 0,
|
|
230
|
-
totalTokens: 0,
|
|
231
|
-
disconnectCapable: false,
|
|
232
|
-
});
|
|
233
|
-
sessionsById.set(scheduleRowKey, scheduleRow);
|
|
234
|
-
}
|
|
235
|
-
mergeSessionJsonlIntoFleetRows(sessionsById, scheduleByChatSessionId, filters);
|
|
236
|
-
const sessionIdsForTitles = [...new Set(Array.from(sessionsById.values()).flatMap(row => {
|
|
237
|
-
const ids = [];
|
|
238
|
-
if (row.sessionId && !row.sessionId.startsWith('schedule:')) {
|
|
239
|
-
ids.push(row.sessionId);
|
|
240
|
-
}
|
|
241
|
-
const linked = String(row.channelTarget ?? '').trim();
|
|
242
|
-
if (linked) {
|
|
243
|
-
ids.push(linked);
|
|
244
|
-
}
|
|
245
|
-
return ids;
|
|
246
|
-
}))];
|
|
247
|
-
if (sessionIdsForTitles.length > 0) {
|
|
248
|
-
try {
|
|
249
|
-
const titleMap = await vscode.commands.executeCommand('agentide.resolveFleetSessionTitles', sessionIdsForTitles);
|
|
250
|
-
if (titleMap && typeof titleMap === 'object') {
|
|
251
|
-
for (const row of sessionsById.values()) {
|
|
252
|
-
const linked = String(row.channelTarget ?? '').trim();
|
|
253
|
-
const titleKeys = [row.sessionId, linked].filter(Boolean);
|
|
254
|
-
for (const key of titleKeys) {
|
|
255
|
-
const t = typeof titleMap[key] === 'string' ? titleMap[key].trim() : '';
|
|
256
|
-
if (t
|
|
257
|
-
&& (!row.taskTitle || row.taskTitle === row.sessionId || row.taskTitle === (row.agentId ?? ''))) {
|
|
258
|
-
row.taskTitle = t;
|
|
259
|
-
break;
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
catch {
|
|
266
|
-
// Command exists only in AgentHippo workbench builds.
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
const persistedCardTitleIds = Array.from(sessionsById.values())
|
|
270
|
-
.map(row => String(row.sessionId ?? '').trim())
|
|
271
|
-
.filter(id => id && !id.startsWith('schedule:'));
|
|
272
|
-
if (persistedCardTitleIds.length > 0) {
|
|
273
|
-
try {
|
|
274
|
-
const cardTitleMap = await queryRunner.readFleetCardTitles(persistedCardTitleIds);
|
|
275
|
-
for (const row of sessionsById.values()) {
|
|
276
|
-
const saved = typeof cardTitleMap[row.sessionId] === 'string'
|
|
277
|
-
? cardTitleMap[row.sessionId].trim()
|
|
278
|
-
: '';
|
|
279
|
-
if (saved) {
|
|
280
|
-
row.cardTitle = saved;
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
catch {
|
|
285
|
-
// fleet_sessions may be unavailable during first refresh.
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
for (const row of sessionsById.values()) {
|
|
289
|
-
const linkedSessionId = row.sessionId.startsWith('schedule:')
|
|
290
|
-
? String(row.channelTarget ?? '').trim()
|
|
291
|
-
: row.sessionId;
|
|
292
|
-
const scheduleHint = linkedSessionId
|
|
293
|
-
? scheduleHintsByChatSessionId.get(linkedSessionId)
|
|
294
|
-
: undefined;
|
|
295
|
-
(0, fleetDisplayUtils_1.enrichFleetRowMetadata)(row, scheduleHint);
|
|
296
|
-
normalizeRowStatus(row);
|
|
297
|
-
}
|
|
298
|
-
const rows = Array.from(sessionsById.values()).sort(fleetTypes_1.compareFleetSessionsByStatusThenStart);
|
|
299
|
-
return rows;
|
|
300
|
-
},
|
|
301
|
-
};
|
|
302
|
-
}
|
|
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,n,o){o===void 0&&(o=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,o,i)}):(function(t,e,n,o){o===void 0&&(o=n),t[o]=e[n]})),__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(n){var o=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(o[o.length]=i);return o},t(e)};return function(e){if(e&&e.__esModule)return e;var n={};if(e!=null)for(var o=t(e),i=0;i<o.length;i++)o[i]!=="default"&&__createBinding(n,e,o[i]);return __setModuleDefault(n,e),n}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.mergeSessionJsonlIntoFleetRows=mergeSessionJsonlIntoFleetRows,exports.getScheduledFleetRequests=getScheduledFleetRequests,exports.createLocalFleetAdapter=createLocalFleetAdapter;const vscode=__importStar(require("vscode")),fleetTypes_1=require("./fleetTypes"),fleetDisplayUtils_1=require("./fleetDisplayUtils"),fleetRowDefaults_1=require("./fleetRowDefaults"),sessionJsonlFleet_1=require("./sessionJsonlFleet"),scheduledFleetStorage_1=require("./scheduledFleetStorage"),LOCAL_SOURCE_ID="local",FUTURE_START_SCHEDULED_MS=6e4,RECENT_END_IN_PROGRESS_MS=9e4,STALE_IN_PROGRESS_WITHOUT_END_MS=15*6e4;function normalizeStatus(t){const e=Date.now(),n=Date.parse(t.startedAt),o=Date.parse(t.endedAt);return Number.isFinite(n)&&n>e+FUTURE_START_SCHEDULED_MS?"scheduled":!Number.isFinite(o)||o<=0||Number.isFinite(n)&&o<n?Number.isFinite(n)&&n<e-STALE_IN_PROGRESS_WITHOUT_END_MS?"done":"in_progress":o>e-RECENT_END_IN_PROGRESS_MS?"in_progress":"done"}function normalizeRowStatus(t){if(t.status!=="in_progress")return;const e=normalizeStatus({sessionId:t.sessionId,agentId:t.agentId,startedAt:t.startedAt,endedAt:t.endedAt,turns:t.turns,totalTokens:t.totalTokens,model:t.model,engine:t.engine});e!=="in_progress"&&(t.status=e)}function toRow(t,e,n,o,i,c,l,I,r,u){return(0,fleetRowDefaults_1.buildFleetSessionRow)(LOCAL_SOURCE_ID,{sessionId:t,agentId:e,status:i,startedAt:n,endedAt:o,taskTitle:c,model:l,engine:I,channelType:"none",channelTarget:"",turns:r,totalTokens:u,disconnectCapable:!1})}function scheduleSnapshotByChatSessionId(t){const e=new Map;for(const n of t){const o=String(n.sessionId??"").trim();if(!o)continue;const i=e.get(o);(!i||n.runAt>=i.runAt)&&e.set(o,n)}return e}function applyJsonlHintToRow(t,e){t.turns=Math.max(t.turns,e.turns),e.startedAt&&(t.startedAt=e.startedAt),e.endedAt&&(t.endedAt=e.endedAt),(e.turns>0||e.status==="done"||t.status==="in_progress"&&e.status!=="in_progress")&&(t.status=e.status)}function jsonlHintToRow(t,e){const n=e?.messageText?e.messageText.length>80?`${e.messageText.slice(0,77)}...`:e.messageText:t.sessionId;return toRow(t.sessionId,e?.agentId,t.startedAt,t.endedAt,t.status,n,e?.model??"unknown",e?.engine??(0,fleetDisplayUtils_1.inferFleetEngineId)(e?.model),t.turns,0)}function dropScheduleRowsSupersededByChatSession(t){for(const e of[...t.keys()]){if(!e.startsWith("schedule:"))continue;const n=t.get(e);if(!n)continue;const o=String(n.channelTarget??"").trim();if(!o)continue;const i=t.get(o);i&&i.status!=="scheduled"&&t.delete(e)}}function mergeSessionJsonlIntoFleetRows(t,e,n,o){for(const i of(0,sessionJsonlFleet_1.scanSessionJsonlFleetHints)(o)){const c=e.get(i.sessionId);if(n.agentId&&c?.agentId&&c.agentId!==n.agentId)continue;const l=t.get(i.sessionId);if(l){applyJsonlHintToRow(l,i);continue}t.set(i.sessionId,jsonlHintToRow(i,c))}dropScheduleRowsSupersededByChatSession(t)}async function getScheduledFleetRequests(){return(0,scheduledFleetStorage_1.loadScheduledFleetRequests)()}function createLocalFleetAdapter(t){return{async fetch(e){const n={scope:e.scope,projectId:e.projectId,agentId:e.agentId};let o=[];try{o=await t.getFleetSessions(500,n)}catch{}const i=await getScheduledFleetRequests(),c=await(0,scheduledFleetStorage_1.loadScheduledFleetEnrichmentHints)(),l=scheduleSnapshotByChatSessionId(c),I=(0,fleetDisplayUtils_1.buildScheduleHintsByChatSessionId)(c),r=new Map;for(const s of o){const a=normalizeStatus(s);r.set(s.sessionId,toRow(s.sessionId,s.agentId,s.startedAt,s.endedAt,a,s.agentPack??s.agentId??s.sessionId??"Task",s.model??"unknown",s.engine??"",s.turns??0,s.totalTokens??0))}for(const s of i){if(e.agentId&&s.agentId&&s.agentId!==e.agentId)continue;const a=new Date(s.runAt).toISOString(),d=s.messageText.length>80?`${s.messageText.slice(0,77)}...`:s.messageText,f=`schedule:${s.id}`,g=(0,fleetRowDefaults_1.buildFleetSessionRow)(LOCAL_SOURCE_ID,{sessionId:f,agentId:s.agentId,status:"scheduled",startedAt:a,endedAt:"",taskTitle:d||s.agentId||s.sessionId||"Scheduled task",model:s.model??"scheduled",engine:s.engine??(0,fleetDisplayUtils_1.inferFleetEngineId)(s.model),channelType:"none",channelTarget:s.sessionId,turns:0,totalTokens:0,disconnectCapable:!1});r.set(f,g)}mergeSessionJsonlIntoFleetRows(r,l,e);const u=[...new Set(Array.from(r.values()).flatMap(s=>{const a=[];s.sessionId&&!s.sessionId.startsWith("schedule:")&&a.push(s.sessionId);const d=String(s.channelTarget??"").trim();return d&&a.push(d),a}))];if(u.length>0)try{const s=await vscode.commands.executeCommand("agentide.resolveFleetSessionTitles",u);if(s&&typeof s=="object")for(const a of r.values()){const d=String(a.channelTarget??"").trim(),f=[a.sessionId,d].filter(Boolean);for(const g of f){const h=typeof s[g]=="string"?s[g].trim():"";if(h&&(!a.taskTitle||a.taskTitle===a.sessionId||a.taskTitle===(a.agentId??""))){a.taskTitle=h;break}}}}catch{}const p=Array.from(r.values()).map(s=>String(s.sessionId??"").trim()).filter(s=>s&&!s.startsWith("schedule:"));if(p.length>0)try{const s=await t.readFleetCardTitles(p);for(const a of r.values()){const d=typeof s[a.sessionId]=="string"?s[a.sessionId].trim():"";d&&(a.cardTitle=d)}}catch{}for(const s of r.values()){const a=s.sessionId.startsWith("schedule:")?String(s.channelTarget??"").trim():s.sessionId,d=a?I.get(a):void 0;(0,fleetDisplayUtils_1.enrichFleetRowMetadata)(s,d),normalizeRowStatus(s)}return Array.from(r.values()).sort(fleetTypes_1.compareFleetSessionsByStatusThenStart)}}}
|
|
@@ -1,76 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
exports.PerformanceMonitor = void 0;
|
|
7
|
-
/**
|
|
8
|
-
* Collects and logs performance metrics for chart generation.
|
|
9
|
-
*
|
|
10
|
-
* Helps identify bottlenecks and understand trade-offs between:
|
|
11
|
-
* - DuckDB (fast) vs JSONL (slow but always available)
|
|
12
|
-
* - Indexing overhead vs subsequent performance gains
|
|
13
|
-
*/
|
|
14
|
-
class PerformanceMonitor {
|
|
15
|
-
outputChannel;
|
|
16
|
-
constructor(outputChannel) {
|
|
17
|
-
this.outputChannel = outputChannel;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Format and log chart generation metrics.
|
|
21
|
-
*/
|
|
22
|
-
logChartMetrics(metrics) {
|
|
23
|
-
const sourceHint = metrics.dataSourceUsed === 'duckdb'
|
|
24
|
-
? `DuckDB (${metrics.parseTime}ms parse)`
|
|
25
|
-
: `JSONL (${metrics.parseTime}ms parse)`;
|
|
26
|
-
const indexingStatus = metrics.indexingWasActive ? ' [indexing active in background]' : '';
|
|
27
|
-
const errorHint = metrics.errorType
|
|
28
|
-
? ` [ERROR: ${metrics.errorType}: ${metrics.errorMessage}]`
|
|
29
|
-
: '';
|
|
30
|
-
this.outputChannel.appendLine(`[Dashboard] Chart generation completed:` +
|
|
31
|
-
`\n - Source: ${sourceHint}` +
|
|
32
|
-
`\n - Total time: ${metrics.totalTime}ms` +
|
|
33
|
-
`\n - Charts generated: ${metrics.chartsGenerated}` +
|
|
34
|
-
`${errorHint}${indexingStatus}`);
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Log when indexing starts.
|
|
38
|
-
*/
|
|
39
|
-
logIndexingStarted(tracesDir) {
|
|
40
|
-
this.outputChannel.appendLine(`[Dashboard] Background indexing started: ${tracesDir}`);
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Log when indexing completes successfully.
|
|
44
|
-
*/
|
|
45
|
-
logIndexingComplete(databasePath, durationMs) {
|
|
46
|
-
this.outputChannel.appendLine(`[Dashboard] Background indexing completed in ${durationMs}ms: ${databasePath}`);
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Log when indexing fails.
|
|
50
|
-
*/
|
|
51
|
-
logIndexingError(error, isRecoverable) {
|
|
52
|
-
const recovery = isRecoverable ? ' (will retry; using JSONL fallback)' : ' (falling back to JSONL permanently)';
|
|
53
|
-
this.outputChannel.appendLine(`[Dashboard] Background indexing failed: ${error.message}${recovery}`);
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Log performance comparison hint when switching to DuckDB.
|
|
57
|
-
*/
|
|
58
|
-
logPerformanceImprovement(previousJSONLTime, newDuckDBTime) {
|
|
59
|
-
const speedup = (previousJSONLTime / newDuckDBTime).toFixed(1);
|
|
60
|
-
this.outputChannel.appendLine(`[Dashboard] DuckDB indexing complete: ${speedup}x faster (${newDuckDBTime}ms vs ${previousJSONLTime}ms JSONL)`);
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Log when falling back to JSONL due to unavailable DuckDB.
|
|
64
|
-
*/
|
|
65
|
-
logFallbackToJSONL(reason) {
|
|
66
|
-
this.outputChannel.appendLine(`[Dashboard] Falling back to JSONL: ${reason}`);
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Log user script execution metrics.
|
|
70
|
-
*/
|
|
71
|
-
logUserScriptExecution(scriptName, durationMs, success) {
|
|
72
|
-
const status = success ? 'completed' : 'failed';
|
|
73
|
-
this.outputChannel.appendLine(`[Dashboard] User script "${scriptName}" ${status} in ${durationMs}ms`);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
exports.PerformanceMonitor = PerformanceMonitor;
|
|
1
|
+
/*! Copyright (c) 2026 AgentHippo.ai. All rights reserved. Proprietary; see LICENSE. */
|
|
2
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PerformanceMonitor=void 0;class PerformanceMonitor{outputChannel;constructor(e){this.outputChannel=e}logChartMetrics(e){const n=e.dataSourceUsed==="duckdb"?`DuckDB (${e.parseTime}ms parse)`:`JSONL (${e.parseTime}ms parse)`,t=e.indexingWasActive?" [indexing active in background]":"",a=e.errorType?` [ERROR: ${e.errorType}: ${e.errorMessage}]`:"";this.outputChannel.appendLine(`[Dashboard] Chart generation completed:
|
|
3
|
+
- Source: ${n}
|
|
4
|
+
- Total time: ${e.totalTime}ms
|
|
5
|
+
- Charts generated: ${e.chartsGenerated}${a}${t}`)}logIndexingStarted(e){this.outputChannel.appendLine(`[Dashboard] Background indexing started: ${e}`)}logIndexingComplete(e,n){this.outputChannel.appendLine(`[Dashboard] Background indexing completed in ${n}ms: ${e}`)}logIndexingError(e,n){const t=n?" (will retry; using JSONL fallback)":" (falling back to JSONL permanently)";this.outputChannel.appendLine(`[Dashboard] Background indexing failed: ${e.message}${t}`)}logPerformanceImprovement(e,n){const t=(e/n).toFixed(1);this.outputChannel.appendLine(`[Dashboard] DuckDB indexing complete: ${t}x faster (${n}ms vs ${e}ms JSONL)`)}logFallbackToJSONL(e){this.outputChannel.appendLine(`[Dashboard] Falling back to JSONL: ${e}`)}logUserScriptExecution(e,n,t){const a=t?"completed":"failed";this.outputChannel.appendLine(`[Dashboard] User script "${e}" ${a} in ${n}ms`)}}exports.PerformanceMonitor=PerformanceMonitor;
|
|
@@ -1,209 +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.ProcessManager = exports.SubprocessError = exports.SubprocessErrorType = void 0;
|
|
40
|
-
const child_process_1 = require("child_process");
|
|
41
|
-
const util_1 = require("util");
|
|
42
|
-
const os = __importStar(require("os"));
|
|
43
|
-
const execFileAsync = (0, util_1.promisify)(child_process_1.execFile);
|
|
44
|
-
/**
|
|
45
|
-
* Error type classification for subprocess failures.
|
|
46
|
-
*/
|
|
47
|
-
var SubprocessErrorType;
|
|
48
|
-
(function (SubprocessErrorType) {
|
|
49
|
-
SubprocessErrorType["TIMEOUT"] = "timeout";
|
|
50
|
-
SubprocessErrorType["MEMORY_EXCEEDED"] = "memory_exceeded";
|
|
51
|
-
SubprocessErrorType["CPU_EXCEEDED"] = "cpu_exceeded";
|
|
52
|
-
SubprocessErrorType["SCRIPT_ERROR"] = "script_error";
|
|
53
|
-
SubprocessErrorType["MISSING_DEPENDENCY"] = "missing_dependency";
|
|
54
|
-
SubprocessErrorType["CANCELLED"] = "cancelled";
|
|
55
|
-
SubprocessErrorType["SIGNAL"] = "signal";
|
|
56
|
-
})(SubprocessErrorType || (exports.SubprocessErrorType = SubprocessErrorType = {}));
|
|
57
|
-
/**
|
|
58
|
-
* Detailed error from subprocess execution.
|
|
59
|
-
*/
|
|
60
|
-
class SubprocessError extends Error {
|
|
61
|
-
type;
|
|
62
|
-
details;
|
|
63
|
-
constructor(type, message, details = {}) {
|
|
64
|
-
super(message);
|
|
65
|
-
this.type = type;
|
|
66
|
-
this.details = details;
|
|
67
|
-
this.name = 'SubprocessError';
|
|
68
|
-
Object.setPrototypeOf(this, SubprocessError.prototype);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
exports.SubprocessError = SubprocessError;
|
|
72
|
-
/**
|
|
73
|
-
* Manages subprocess execution with resource limits and error categorization.
|
|
74
|
-
*
|
|
75
|
-
* Handles:
|
|
76
|
-
* - Timeout enforcement
|
|
77
|
-
* - Resource limits (CPU, memory, file descriptors)
|
|
78
|
-
* - Error categorization (timeout, memory, script error, etc.)
|
|
79
|
-
* - Process priority adjustment (Unix: nice, Windows: no-op)
|
|
80
|
-
* - AbortController support for cancellation
|
|
81
|
-
*/
|
|
82
|
-
class ProcessManager {
|
|
83
|
-
/**
|
|
84
|
-
* Execute a subprocess with resource limits.
|
|
85
|
-
*
|
|
86
|
-
* @param executable Path to executable
|
|
87
|
-
* @param args Command arguments
|
|
88
|
-
* @param limits Resource limits (timeout required, others optional)
|
|
89
|
-
* @param env Environment variables
|
|
90
|
-
* @param signal Optional AbortSignal for cancellation
|
|
91
|
-
* @returns ProcessResult with stdout, stderr, exit code
|
|
92
|
-
* @throws SubprocessError on timeout, missing dependency, or cancellation
|
|
93
|
-
*/
|
|
94
|
-
static async executeWithLimits(executable, args, limits, env, signal) {
|
|
95
|
-
// Validate inputs
|
|
96
|
-
if (!limits.timeout || limits.timeout <= 0) {
|
|
97
|
-
throw new SubprocessError(SubprocessErrorType.SCRIPT_ERROR, 'Timeout must be > 0');
|
|
98
|
-
}
|
|
99
|
-
try {
|
|
100
|
-
const result = await execFileAsync(executable, args, {
|
|
101
|
-
timeout: limits.timeout,
|
|
102
|
-
maxBuffer: 10 * 1024 * 1024, // 10 MB max stdout/stderr
|
|
103
|
-
env: {
|
|
104
|
-
...process.env,
|
|
105
|
-
...env,
|
|
106
|
-
},
|
|
107
|
-
signal,
|
|
108
|
-
});
|
|
109
|
-
return {
|
|
110
|
-
stdout: result.stdout,
|
|
111
|
-
stderr: result.stderr,
|
|
112
|
-
code: 0,
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
catch (error) {
|
|
116
|
-
return this.categorizeError(error, limits.timeout);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Categorize and convert a subprocess error to SubprocessError.
|
|
121
|
-
*
|
|
122
|
-
* Maps error types:
|
|
123
|
-
* - timeout → TIMEOUT
|
|
124
|
-
* - code ENOENT → MISSING_DEPENDENCY
|
|
125
|
-
* - signal (SIGTERM/SIGKILL) → CANCELLED
|
|
126
|
-
* - other exit codes → SCRIPT_ERROR
|
|
127
|
-
*/
|
|
128
|
-
static categorizeError(error, timeoutMs) {
|
|
129
|
-
// Timeout
|
|
130
|
-
if (error.killed === true && error.signal === 'SIGTERM') {
|
|
131
|
-
throw new SubprocessError(SubprocessErrorType.TIMEOUT, `Process timed out after ${timeoutMs}ms`, {
|
|
132
|
-
code: error.code,
|
|
133
|
-
signal: error.signal,
|
|
134
|
-
stderr: error.stderr,
|
|
135
|
-
timeout: timeoutMs,
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
// Cancelled
|
|
139
|
-
if (error.killed === true && (error.signal === 'SIGTERM' || error.signal === 'SIGKILL')) {
|
|
140
|
-
throw new SubprocessError(SubprocessErrorType.CANCELLED, `Process cancelled (signal: ${error.signal})`, {
|
|
141
|
-
code: error.code,
|
|
142
|
-
signal: error.signal,
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
// Missing executable
|
|
146
|
-
if (error.code === 'ENOENT') {
|
|
147
|
-
throw new SubprocessError(SubprocessErrorType.MISSING_DEPENDENCY, `Executable not found: ${error.path}`, {
|
|
148
|
-
stderr: error.stderr || `Command not found: ${error.path}`,
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
// Non-zero exit code (script-level failure/sentinel) - return to caller for interpretation.
|
|
152
|
-
if (error.code !== undefined && error.code !== 0) {
|
|
153
|
-
return {
|
|
154
|
-
stdout: typeof error.stdout === 'string' ? error.stdout : '',
|
|
155
|
-
stderr: typeof error.stderr === 'string' ? error.stderr : '',
|
|
156
|
-
code: typeof error.code === 'number' ? error.code : 1,
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
// Unexpected error
|
|
160
|
-
throw new SubprocessError(SubprocessErrorType.SCRIPT_ERROR, `Subprocess failed: ${error.message}`, {
|
|
161
|
-
stderr: error.message,
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Lower process priority on Unix to prevent monopolizing CPU.
|
|
166
|
-
* No-op on Windows (priorities handled differently).
|
|
167
|
-
*
|
|
168
|
-
* @param pid Process ID
|
|
169
|
-
* @param niceValue Nice value (0-19, lower = higher priority). Default: 5 (lower priority)
|
|
170
|
-
*/
|
|
171
|
-
static setProcessPriority(pid, niceValue = 5) {
|
|
172
|
-
// Only on Unix-like systems (Linux, macOS, BSD)
|
|
173
|
-
if (os.platform() === 'win32') {
|
|
174
|
-
return; // Windows doesn't have 'nice'; process priority handled differently
|
|
175
|
-
}
|
|
176
|
-
try {
|
|
177
|
-
// Use 'renice' to adjust process priority
|
|
178
|
-
// This requires no special permissions for lowering priority (increasing nice)
|
|
179
|
-
execFileAsync('renice', ['-n', String(niceValue), '-p', String(pid)]).catch(() => {
|
|
180
|
-
// Silently fail - process priority is best-effort
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
catch {
|
|
184
|
-
// Silently fail - process priority is best-effort
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Convert error to user-friendly message.
|
|
189
|
-
*/
|
|
190
|
-
static formatErrorMessage(error) {
|
|
191
|
-
switch (error.type) {
|
|
192
|
-
case SubprocessErrorType.TIMEOUT:
|
|
193
|
-
return `Process timed out after ${error.details.timeout}ms. Try again or increase timeout.`;
|
|
194
|
-
case SubprocessErrorType.MEMORY_EXCEEDED:
|
|
195
|
-
return 'Process exceeded memory limit. Consider reducing data size or increasing available RAM.';
|
|
196
|
-
case SubprocessErrorType.CPU_EXCEEDED:
|
|
197
|
-
return 'Process exceeded CPU time limit.';
|
|
198
|
-
case SubprocessErrorType.CANCELLED:
|
|
199
|
-
return 'Process was cancelled.';
|
|
200
|
-
case SubprocessErrorType.MISSING_DEPENDENCY:
|
|
201
|
-
return `Missing dependency: ${error.message}`;
|
|
202
|
-
case SubprocessErrorType.SCRIPT_ERROR:
|
|
203
|
-
return `Script error: ${error.message.slice(0, 200)}`;
|
|
204
|
-
default:
|
|
205
|
-
return `Process failed: ${error.message}`;
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
exports.ProcessManager = ProcessManager;
|
|
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,t,s){s===void 0&&(s=t);var n=Object.getOwnPropertyDescriptor(e,t);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(i,s,n)}):(function(i,e,t,s){s===void 0&&(s=t),i[s]=e[t]})),__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(t){var s=[];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(s[s.length]=n);return s},i(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var s=i(e),n=0;n<s.length;n++)s[n]!=="default"&&__createBinding(t,e,s[n]);return __setModuleDefault(t,e),t}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.ProcessManager=exports.SubprocessError=exports.SubprocessErrorType=void 0;const child_process_1=require("child_process"),util_1=require("util"),os=__importStar(require("os")),execFileAsync=(0,util_1.promisify)(child_process_1.execFile);var SubprocessErrorType;(function(i){i.TIMEOUT="timeout",i.MEMORY_EXCEEDED="memory_exceeded",i.CPU_EXCEEDED="cpu_exceeded",i.SCRIPT_ERROR="script_error",i.MISSING_DEPENDENCY="missing_dependency",i.CANCELLED="cancelled",i.SIGNAL="signal"})(SubprocessErrorType||(exports.SubprocessErrorType=SubprocessErrorType={}));class SubprocessError extends Error{type;details;constructor(e,t,s={}){super(t),this.type=e,this.details=s,this.name="SubprocessError",Object.setPrototypeOf(this,SubprocessError.prototype)}}exports.SubprocessError=SubprocessError;class ProcessManager{static async executeWithLimits(e,t,s,n,r){if(!s.timeout||s.timeout<=0)throw new SubprocessError(SubprocessErrorType.SCRIPT_ERROR,"Timeout must be > 0");try{const c=await execFileAsync(e,t,{timeout:s.timeout,maxBuffer:10485760,env:{...process.env,...n},signal:r});return{stdout:c.stdout,stderr:c.stderr,code:0}}catch(c){return this.categorizeError(c,s.timeout)}}static categorizeError(e,t){if(e.killed===!0&&e.signal==="SIGTERM")throw new SubprocessError(SubprocessErrorType.TIMEOUT,`Process timed out after ${t}ms`,{code:e.code,signal:e.signal,stderr:e.stderr,timeout:t});if(e.killed===!0&&(e.signal==="SIGTERM"||e.signal==="SIGKILL"))throw new SubprocessError(SubprocessErrorType.CANCELLED,`Process cancelled (signal: ${e.signal})`,{code:e.code,signal:e.signal});if(e.code==="ENOENT")throw new SubprocessError(SubprocessErrorType.MISSING_DEPENDENCY,`Executable not found: ${e.path}`,{stderr:e.stderr||`Command not found: ${e.path}`});if(e.code!==void 0&&e.code!==0)return{stdout:typeof e.stdout=="string"?e.stdout:"",stderr:typeof e.stderr=="string"?e.stderr:"",code:typeof e.code=="number"?e.code:1};throw new SubprocessError(SubprocessErrorType.SCRIPT_ERROR,`Subprocess failed: ${e.message}`,{stderr:e.message})}static setProcessPriority(e,t=5){if(os.platform()!=="win32")try{execFileAsync("renice",["-n",String(t),"-p",String(e)]).catch(()=>{})}catch{}}static formatErrorMessage(e){switch(e.type){case SubprocessErrorType.TIMEOUT:return`Process timed out after ${e.details.timeout}ms. Try again or increase timeout.`;case SubprocessErrorType.MEMORY_EXCEEDED:return"Process exceeded memory limit. Consider reducing data size or increasing available RAM.";case SubprocessErrorType.CPU_EXCEEDED:return"Process exceeded CPU time limit.";case SubprocessErrorType.CANCELLED:return"Process was cancelled.";case SubprocessErrorType.MISSING_DEPENDENCY:return`Missing dependency: ${e.message}`;case SubprocessErrorType.SCRIPT_ERROR:return`Script error: ${e.message.slice(0,200)}`;default:return`Process failed: ${e.message}`}}}exports.ProcessManager=ProcessManager;
|