@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
|
@@ -1,241 +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.buildChatSessionResourceFromSessionId = buildChatSessionResourceFromSessionId;
|
|
40
|
-
exports.parseSessionIdFromChatResource = parseSessionIdFromChatResource;
|
|
41
|
-
exports.mergeScheduledSnapshots = mergeScheduledSnapshots;
|
|
42
|
-
exports.loadScheduledFleetEnrichmentHints = loadScheduledFleetEnrichmentHints;
|
|
43
|
-
exports.loadScheduledFleetRequests = loadScheduledFleetRequests;
|
|
44
|
-
const child_process_1 = require("child_process");
|
|
45
|
-
const fs = __importStar(require("fs"));
|
|
46
|
-
const os = __importStar(require("os"));
|
|
47
|
-
const path = __importStar(require("path"));
|
|
48
|
-
const util_1 = require("util");
|
|
49
|
-
const vscode = __importStar(require("vscode"));
|
|
50
|
-
const execFileAsync = (0, util_1.promisify)(child_process_1.execFile);
|
|
51
|
-
const STORAGE_KEY = 'chat.scheduledRequests';
|
|
52
|
-
const STALE_ONE_SHOT_SCHEDULE_MS = 10 * 60_000;
|
|
53
|
-
/** Keep fired one-shot schedule metadata for fleet enrichment (model/engine on in-progress rows). */
|
|
54
|
-
const ENRICHMENT_ONE_SHOT_MAX_AGE_MS = 7 * 24 * 60 * 60_000;
|
|
55
|
-
function isRecurringSchedule(recurrence) {
|
|
56
|
-
return recurrence?.type === 'daily' || recurrence?.type === 'interval';
|
|
57
|
-
}
|
|
58
|
-
/** Encode session id as vscode-chat-session://local/{base64url(sessionId)} (matches workbench LocalChatSessionUri). */
|
|
59
|
-
function buildChatSessionResourceFromSessionId(sessionId) {
|
|
60
|
-
const trimmed = String(sessionId ?? '').trim();
|
|
61
|
-
if (!trimmed) {
|
|
62
|
-
return '';
|
|
63
|
-
}
|
|
64
|
-
const encoded = Buffer.from(trimmed, 'utf8')
|
|
65
|
-
.toString('base64')
|
|
66
|
-
.replace(/\+/g, '-')
|
|
67
|
-
.replace(/\//g, '_')
|
|
68
|
-
.replace(/=+$/g, '');
|
|
69
|
-
return `vscode-chat-session://local/${encoded}`;
|
|
70
|
-
}
|
|
71
|
-
/** Decode vscode-chat-session://local/{base64url(sessionId)} */
|
|
72
|
-
function parseSessionIdFromChatResource(sessionResource) {
|
|
73
|
-
const raw = String(sessionResource ?? '').trim();
|
|
74
|
-
if (!raw) {
|
|
75
|
-
return undefined;
|
|
76
|
-
}
|
|
77
|
-
try {
|
|
78
|
-
const match = /^vscode-chat-session:\/\/local\/([^/?#]+)$/i.exec(raw);
|
|
79
|
-
if (!match) {
|
|
80
|
-
return undefined;
|
|
81
|
-
}
|
|
82
|
-
const b64 = match[1].replace(/-/g, '+').replace(/_/g, '/');
|
|
83
|
-
const pad = b64.length % 4 === 0 ? '' : '='.repeat(4 - (b64.length % 4));
|
|
84
|
-
return Buffer.from(b64 + pad, 'base64').toString('utf8').trim() || undefined;
|
|
85
|
-
}
|
|
86
|
-
catch {
|
|
87
|
-
return undefined;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
function resolveProfileStateVscdbPath() {
|
|
91
|
-
const home = os.homedir();
|
|
92
|
-
const candidates = [
|
|
93
|
-
path.join(home, 'Library', 'Application Support', 'agenthippoai', 'User', 'globalStorage', 'state.vscdb'),
|
|
94
|
-
path.join(home, 'Library', 'Application Support', 'Code - OSS Dev', 'User', 'globalStorage', 'state.vscdb'),
|
|
95
|
-
path.join(home, '.config', 'agenthippoai', 'User', 'globalStorage', 'state.vscdb'),
|
|
96
|
-
];
|
|
97
|
-
for (const candidate of candidates) {
|
|
98
|
-
if (fs.existsSync(candidate)) {
|
|
99
|
-
return candidate;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
return undefined;
|
|
103
|
-
}
|
|
104
|
-
function normalizeStoredScheduled(items, options) {
|
|
105
|
-
const now = Date.now();
|
|
106
|
-
const list = [];
|
|
107
|
-
for (const item of items) {
|
|
108
|
-
if (!item || typeof item !== 'object') {
|
|
109
|
-
continue;
|
|
110
|
-
}
|
|
111
|
-
const id = typeof item.id === 'string' ? item.id.trim() : '';
|
|
112
|
-
const sessionResource = typeof item.sessionResource === 'string' ? item.sessionResource.trim() : '';
|
|
113
|
-
const messageText = typeof item.messageText === 'string' ? item.messageText.trim() : '';
|
|
114
|
-
const runAt = Number(item.runAt);
|
|
115
|
-
const recurrence = item.recurrence && typeof item.recurrence === 'object' ? item.recurrence : undefined;
|
|
116
|
-
const sendOptions = item.sendOptions && typeof item.sendOptions === 'object' ? item.sendOptions : undefined;
|
|
117
|
-
const sessionId = parseSessionIdFromChatResource(sessionResource);
|
|
118
|
-
if (!id || !sessionId || !sessionResource || !Number.isFinite(runAt)) {
|
|
119
|
-
continue;
|
|
120
|
-
}
|
|
121
|
-
if (!options?.forEnrichment) {
|
|
122
|
-
if (runAt < now - STALE_ONE_SHOT_SCHEDULE_MS && !isRecurringSchedule(recurrence)) {
|
|
123
|
-
continue;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
else if (runAt < now - ENRICHMENT_ONE_SHOT_MAX_AGE_MS && !isRecurringSchedule(recurrence)) {
|
|
127
|
-
continue;
|
|
128
|
-
}
|
|
129
|
-
list.push({
|
|
130
|
-
id,
|
|
131
|
-
sessionId,
|
|
132
|
-
sessionResource,
|
|
133
|
-
messageText,
|
|
134
|
-
runAt,
|
|
135
|
-
recurrence,
|
|
136
|
-
agentId: typeof sendOptions?.agentId === 'string' ? sendOptions.agentId.trim() : undefined,
|
|
137
|
-
model: typeof sendOptions?.userSelectedModelId === 'string' ? sendOptions.userSelectedModelId.trim() : undefined,
|
|
138
|
-
engine: typeof sendOptions?.engine === 'string' ? sendOptions.engine.trim() : undefined,
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
return list;
|
|
142
|
-
}
|
|
143
|
-
function normalizeCommandResult(raw) {
|
|
144
|
-
if (!Array.isArray(raw)) {
|
|
145
|
-
return [];
|
|
146
|
-
}
|
|
147
|
-
const list = [];
|
|
148
|
-
for (const item of raw) {
|
|
149
|
-
if (!item || typeof item !== 'object') {
|
|
150
|
-
continue;
|
|
151
|
-
}
|
|
152
|
-
const c = item;
|
|
153
|
-
const id = typeof c.id === 'string' ? c.id.trim() : '';
|
|
154
|
-
const sessionId = typeof c.sessionId === 'string' ? c.sessionId.trim() : '';
|
|
155
|
-
const sessionResource = typeof c.sessionResource === 'string' ? c.sessionResource.trim() : '';
|
|
156
|
-
const messageText = typeof c.messageText === 'string' ? c.messageText.trim() : '';
|
|
157
|
-
const runAt = Number(c.runAt);
|
|
158
|
-
const recurrence = c.recurrence && typeof c.recurrence === 'object' ? c.recurrence : undefined;
|
|
159
|
-
if (!id || !sessionId || !sessionResource || !Number.isFinite(runAt)) {
|
|
160
|
-
continue;
|
|
161
|
-
}
|
|
162
|
-
list.push({
|
|
163
|
-
id,
|
|
164
|
-
sessionId,
|
|
165
|
-
sessionResource,
|
|
166
|
-
messageText,
|
|
167
|
-
runAt,
|
|
168
|
-
recurrence,
|
|
169
|
-
agentId: typeof c.agentId === 'string' ? c.agentId.trim() : undefined,
|
|
170
|
-
model: typeof c.model === 'string' ? c.model.trim() : undefined,
|
|
171
|
-
engine: typeof c.engine === 'string' ? c.engine.trim() : undefined,
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
return list;
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Load scheduled chat requests for fleet merge.
|
|
178
|
-
* Uses the workbench command when available; falls back to profile state.vscdb
|
|
179
|
-
* (extension-host fleet refresh often cannot see ChatScheduleService otherwise).
|
|
180
|
-
*/
|
|
181
|
-
async function readScheduledFromProfileStateDb(options) {
|
|
182
|
-
const dbPath = resolveProfileStateVscdbPath();
|
|
183
|
-
if (!dbPath) {
|
|
184
|
-
return [];
|
|
185
|
-
}
|
|
186
|
-
try {
|
|
187
|
-
const { stdout } = await execFileAsync('sqlite3', [dbPath, `SELECT value FROM ItemTable WHERE key = '${STORAGE_KEY}';`], {
|
|
188
|
-
maxBuffer: 4 * 1024 * 1024,
|
|
189
|
-
});
|
|
190
|
-
const raw = String(stdout ?? '').trim();
|
|
191
|
-
if (!raw) {
|
|
192
|
-
return [];
|
|
193
|
-
}
|
|
194
|
-
const parsed = JSON.parse(raw);
|
|
195
|
-
if (!Array.isArray(parsed)) {
|
|
196
|
-
return [];
|
|
197
|
-
}
|
|
198
|
-
return normalizeStoredScheduled(parsed, options);
|
|
199
|
-
}
|
|
200
|
-
catch {
|
|
201
|
-
return [];
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
function mergeScheduledSnapshots(primary, secondary) {
|
|
205
|
-
const merged = new Map();
|
|
206
|
-
for (const item of [...secondary, ...primary]) {
|
|
207
|
-
const sessionId = String(item.sessionId ?? '').trim();
|
|
208
|
-
if (!sessionId) {
|
|
209
|
-
continue;
|
|
210
|
-
}
|
|
211
|
-
const existing = merged.get(sessionId);
|
|
212
|
-
if (!existing || item.runAt >= existing.runAt) {
|
|
213
|
-
merged.set(sessionId, item);
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
return Array.from(merged.values());
|
|
217
|
-
}
|
|
218
|
-
/** Wider schedule load for merging model/engine onto trace-backed session rows. */
|
|
219
|
-
async function loadScheduledFleetEnrichmentHints() {
|
|
220
|
-
let fromCommand = [];
|
|
221
|
-
try {
|
|
222
|
-
fromCommand = normalizeCommandResult(await vscode.commands.executeCommand('agentide.getScheduledChatRequests'));
|
|
223
|
-
}
|
|
224
|
-
catch {
|
|
225
|
-
// Fall through to profile DB read.
|
|
226
|
-
}
|
|
227
|
-
const fromDb = await readScheduledFromProfileStateDb({ forEnrichment: true });
|
|
228
|
-
return mergeScheduledSnapshots(fromCommand, fromDb);
|
|
229
|
-
}
|
|
230
|
-
async function loadScheduledFleetRequests() {
|
|
231
|
-
try {
|
|
232
|
-
const fromCommand = normalizeCommandResult(await vscode.commands.executeCommand('agentide.getScheduledChatRequests'));
|
|
233
|
-
if (fromCommand.length > 0) {
|
|
234
|
-
return fromCommand;
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
catch {
|
|
238
|
-
// Fall through to profile DB read.
|
|
239
|
-
}
|
|
240
|
-
return readScheduledFromProfileStateDb();
|
|
241
|
-
}
|
|
1
|
+
/*! Copyright (c) 2026 AgentHippo.ai. All rights reserved. Proprietary; see LICENSE. */
|
|
2
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(r,n,s,e){e===void 0&&(e=s);var t=Object.getOwnPropertyDescriptor(n,s);(!t||("get"in t?!n.__esModule:t.writable||t.configurable))&&(t={enumerable:!0,get:function(){return n[s]}}),Object.defineProperty(r,e,t)}):(function(r,n,s,e){e===void 0&&(e=s),r[e]=n[s]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(r,n){Object.defineProperty(r,"default",{enumerable:!0,value:n})}):function(r,n){r.default=n}),__importStar=this&&this.__importStar||(function(){var r=function(n){return r=Object.getOwnPropertyNames||function(s){var e=[];for(var t in s)Object.prototype.hasOwnProperty.call(s,t)&&(e[e.length]=t);return e},r(n)};return function(n){if(n&&n.__esModule)return n;var s={};if(n!=null)for(var e=r(n),t=0;t<e.length;t++)e[t]!=="default"&&__createBinding(s,n,e[t]);return __setModuleDefault(s,n),s}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.buildChatSessionResourceFromSessionId=buildChatSessionResourceFromSessionId,exports.parseSessionIdFromChatResource=parseSessionIdFromChatResource,exports.mergeScheduledSnapshots=mergeScheduledSnapshots,exports.loadScheduledFleetEnrichmentHints=loadScheduledFleetEnrichmentHints,exports.loadScheduledFleetRequests=loadScheduledFleetRequests;const child_process_1=require("child_process"),fs=__importStar(require("fs")),os=__importStar(require("os")),path=__importStar(require("path")),util_1=require("util"),vscode=__importStar(require("vscode")),execFileAsync=(0,util_1.promisify)(child_process_1.execFile),STORAGE_KEY="chat.scheduledRequests",STALE_ONE_SHOT_SCHEDULE_MS=10*6e4,ENRICHMENT_ONE_SHOT_MAX_AGE_MS=10080*6e4;function isRecurringSchedule(r){return r?.type==="daily"||r?.type==="interval"}function buildChatSessionResourceFromSessionId(r){const n=String(r??"").trim();return n?`vscode-chat-session://local/${Buffer.from(n,"utf8").toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}`:""}function parseSessionIdFromChatResource(r){const n=String(r??"").trim();if(n)try{const s=/^vscode-chat-session:\/\/local\/([^/?#]+)$/i.exec(n);if(!s)return;const e=s[1].replace(/-/g,"+").replace(/_/g,"/"),t=e.length%4===0?"":"=".repeat(4-e.length%4);return Buffer.from(e+t,"base64").toString("utf8").trim()||void 0}catch{return}}function resolveProfileStateVscdbPath(){const r=os.homedir(),n=[path.join(r,"Library","Application Support","agenthippoai","User","globalStorage","state.vscdb"),path.join(r,"Library","Application Support","Code - OSS Dev","User","globalStorage","state.vscdb"),path.join(r,".config","agenthippoai","User","globalStorage","state.vscdb")];for(const s of n)if(fs.existsSync(s))return s}function normalizeStoredScheduled(r,n){const s=Date.now(),e=[];for(const t of r){if(!t||typeof t!="object")continue;const o=typeof t.id=="string"?t.id.trim():"",c=typeof t.sessionResource=="string"?t.sessionResource.trim():"",a=typeof t.messageText=="string"?t.messageText.trim():"",i=Number(t.runAt),d=t.recurrence&&typeof t.recurrence=="object"?t.recurrence:void 0,u=t.sendOptions&&typeof t.sendOptions=="object"?t.sendOptions:void 0,f=parseSessionIdFromChatResource(c);if(!(!o||!f||!c||!Number.isFinite(i))){if(n?.forEnrichment){if(i<s-ENRICHMENT_ONE_SHOT_MAX_AGE_MS&&!isRecurringSchedule(d))continue}else if(i<s-STALE_ONE_SHOT_SCHEDULE_MS&&!isRecurringSchedule(d))continue;e.push({id:o,sessionId:f,sessionResource:c,messageText:a,runAt:i,recurrence:d,agentId:typeof u?.agentId=="string"?u.agentId.trim():void 0,model:typeof u?.userSelectedModelId=="string"?u.userSelectedModelId.trim():void 0,engine:typeof u?.engine=="string"?u.engine.trim():void 0})}}return e}function normalizeCommandResult(r){if(!Array.isArray(r))return[];const n=[];for(const s of r){if(!s||typeof s!="object")continue;const e=s,t=typeof e.id=="string"?e.id.trim():"",o=typeof e.sessionId=="string"?e.sessionId.trim():"",c=typeof e.sessionResource=="string"?e.sessionResource.trim():"",a=typeof e.messageText=="string"?e.messageText.trim():"",i=Number(e.runAt),d=e.recurrence&&typeof e.recurrence=="object"?e.recurrence:void 0;!t||!o||!c||!Number.isFinite(i)||n.push({id:t,sessionId:o,sessionResource:c,messageText:a,runAt:i,recurrence:d,agentId:typeof e.agentId=="string"?e.agentId.trim():void 0,model:typeof e.model=="string"?e.model.trim():void 0,engine:typeof e.engine=="string"?e.engine.trim():void 0})}return n}async function readScheduledFromProfileStateDb(r){const n=resolveProfileStateVscdbPath();if(!n)return[];try{const{stdout:s}=await execFileAsync("sqlite3",[n,`SELECT value FROM ItemTable WHERE key = '${STORAGE_KEY}';`],{maxBuffer:4194304}),e=String(s??"").trim();if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?normalizeStoredScheduled(t,r):[]}catch{return[]}}function mergeScheduledSnapshots(r,n){const s=new Map;for(const e of[...n,...r]){const t=String(e.sessionId??"").trim();if(!t)continue;const o=s.get(t);(!o||e.runAt>=o.runAt)&&s.set(t,e)}return Array.from(s.values())}async function loadScheduledFleetEnrichmentHints(){let r=[];try{r=normalizeCommandResult(await vscode.commands.executeCommand("agentide.getScheduledChatRequests"))}catch{}const n=await readScheduledFromProfileStateDb({forEnrichment:!0});return mergeScheduledSnapshots(r,n)}async function loadScheduledFleetRequests(){try{const r=normalizeCommandResult(await vscode.commands.executeCommand("agentide.getScheduledChatRequests"));if(r.length>0)return r}catch{}return readScheduledFromProfileStateDb()}
|
|
@@ -1,204 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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.scanSessionJsonlFleetHints = scanSessionJsonlFleetHints;
|
|
40
|
-
const fs = __importStar(require("fs"));
|
|
41
|
-
const path = __importStar(require("path"));
|
|
42
|
-
const index_1 = require("../../utils/index");
|
|
43
|
-
const RECENT_END_IN_PROGRESS_MS = 90_000;
|
|
44
|
-
const RECENT_FILE_ACTIVITY_MS = 120_000;
|
|
45
|
-
/** No turn_end and last event older than this → done (not in_progress). */
|
|
46
|
-
const STALE_IN_PROGRESS_WITHOUT_END_MS = 15 * 60_000;
|
|
47
|
-
const MAX_TAIL_BYTES = 256 * 1024;
|
|
48
|
-
const parsedFileCache = new Map();
|
|
49
|
-
function readTailLines(filePath, maxLines = 400) {
|
|
50
|
-
try {
|
|
51
|
-
const stat = fs.statSync(filePath);
|
|
52
|
-
const start = Math.max(0, stat.size - MAX_TAIL_BYTES);
|
|
53
|
-
const fd = fs.openSync(filePath, 'r');
|
|
54
|
-
try {
|
|
55
|
-
const buffer = Buffer.alloc(stat.size - start);
|
|
56
|
-
fs.readSync(fd, buffer, 0, buffer.length, start);
|
|
57
|
-
const raw = buffer.toString('utf8');
|
|
58
|
-
const lines = raw.split('\n').filter(line => line.trim());
|
|
59
|
-
return lines.slice(-maxLines);
|
|
60
|
-
}
|
|
61
|
-
finally {
|
|
62
|
-
fs.closeSync(fd);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
catch {
|
|
66
|
-
return [];
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
function parseSessionJsonlFileCached(filePath, sessionId) {
|
|
70
|
-
try {
|
|
71
|
-
const stat = fs.statSync(filePath);
|
|
72
|
-
const cached = parsedFileCache.get(filePath);
|
|
73
|
-
if (cached && cached.mtimeMs === stat.mtimeMs && cached.size === stat.size) {
|
|
74
|
-
return cached.hint;
|
|
75
|
-
}
|
|
76
|
-
const hint = parseSessionJsonlFile(filePath, sessionId);
|
|
77
|
-
parsedFileCache.set(filePath, { mtimeMs: stat.mtimeMs, size: stat.size, hint });
|
|
78
|
-
return hint;
|
|
79
|
-
}
|
|
80
|
-
catch {
|
|
81
|
-
parsedFileCache.delete(filePath);
|
|
82
|
-
return undefined;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
function pruneJsonlCache(livePaths) {
|
|
86
|
-
for (const filePath of parsedFileCache.keys()) {
|
|
87
|
-
if (!livePaths.has(filePath)) {
|
|
88
|
-
parsedFileCache.delete(filePath);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
function parseSessionJsonlFile(filePath, sessionId) {
|
|
93
|
-
const lines = readTailLines(filePath);
|
|
94
|
-
if (lines.length === 0) {
|
|
95
|
-
return undefined;
|
|
96
|
-
}
|
|
97
|
-
const byRequest = new Map();
|
|
98
|
-
let firstStartMs = Number.POSITIVE_INFINITY;
|
|
99
|
-
let lastEventMs = 0;
|
|
100
|
-
let turnCount = 0;
|
|
101
|
-
for (const line of lines) {
|
|
102
|
-
let event;
|
|
103
|
-
try {
|
|
104
|
-
event = JSON.parse(line);
|
|
105
|
-
}
|
|
106
|
-
catch {
|
|
107
|
-
continue;
|
|
108
|
-
}
|
|
109
|
-
if (!event?.event_type) {
|
|
110
|
-
continue;
|
|
111
|
-
}
|
|
112
|
-
const ts = Number(event.timestamp);
|
|
113
|
-
if (Number.isFinite(ts) && ts > 0) {
|
|
114
|
-
lastEventMs = Math.max(lastEventMs, ts);
|
|
115
|
-
}
|
|
116
|
-
const requestId = String(event.request_id ?? 'default');
|
|
117
|
-
if (!byRequest.has(requestId)) {
|
|
118
|
-
byRequest.set(requestId, { lastStart: 0, lastEnd: 0 });
|
|
119
|
-
}
|
|
120
|
-
const bucket = byRequest.get(requestId);
|
|
121
|
-
if (event.event_type === 'turn_start') {
|
|
122
|
-
const startTs = Number.isFinite(ts) && ts > 0 ? ts : Date.now();
|
|
123
|
-
bucket.lastStart = Math.max(bucket.lastStart, startTs);
|
|
124
|
-
firstStartMs = Math.min(firstStartMs, startTs);
|
|
125
|
-
}
|
|
126
|
-
else if (event.event_type === 'turn_end') {
|
|
127
|
-
const endTs = Number.isFinite(ts) && ts > 0 ? ts : Date.now();
|
|
128
|
-
bucket.lastEnd = Math.max(bucket.lastEnd, endTs);
|
|
129
|
-
turnCount += 1;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
let openTurn = false;
|
|
133
|
-
for (const bucket of byRequest.values()) {
|
|
134
|
-
if (bucket.lastStart > bucket.lastEnd) {
|
|
135
|
-
openTurn = true;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
let fileMtimeMs = 0;
|
|
139
|
-
try {
|
|
140
|
-
fileMtimeMs = fs.statSync(filePath).mtimeMs;
|
|
141
|
-
}
|
|
142
|
-
catch {
|
|
143
|
-
fileMtimeMs = 0;
|
|
144
|
-
}
|
|
145
|
-
const now = Date.now();
|
|
146
|
-
const startedMs = Number.isFinite(firstStartMs) && firstStartMs < Number.POSITIVE_INFINITY
|
|
147
|
-
? firstStartMs
|
|
148
|
-
: fileMtimeMs || now;
|
|
149
|
-
const lastActivityMs = Math.max(Number.isFinite(lastEventMs) ? lastEventMs : 0, fileMtimeMs, startedMs);
|
|
150
|
-
let status = 'done';
|
|
151
|
-
if (openTurn && lastActivityMs > now - STALE_IN_PROGRESS_WITHOUT_END_MS) {
|
|
152
|
-
status = 'in_progress';
|
|
153
|
-
}
|
|
154
|
-
else if (lastEventMs > now - RECENT_END_IN_PROGRESS_MS) {
|
|
155
|
-
status = 'in_progress';
|
|
156
|
-
}
|
|
157
|
-
else if (fileMtimeMs > now - RECENT_FILE_ACTIVITY_MS) {
|
|
158
|
-
status = 'in_progress';
|
|
159
|
-
}
|
|
160
|
-
else if (startedMs < now - STALE_IN_PROGRESS_WITHOUT_END_MS) {
|
|
161
|
-
status = 'done';
|
|
162
|
-
}
|
|
163
|
-
const endedMs = status === 'in_progress' ? 0 : Math.max(lastEventMs, fileMtimeMs, startedMs);
|
|
164
|
-
return {
|
|
165
|
-
sessionId,
|
|
166
|
-
status,
|
|
167
|
-
startedAt: new Date(startedMs).toISOString(),
|
|
168
|
-
endedAt: endedMs > 0 ? new Date(endedMs).toISOString() : '',
|
|
169
|
-
turns: turnCount,
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* Discover fleet session hints from ~/.agent-hippo/analytics/sessions/*.jsonl.
|
|
174
|
-
* Scheduled chat runs often write session events before OTEL spans are indexed.
|
|
175
|
-
*/
|
|
176
|
-
function scanSessionJsonlFleetHints(sessionsDir) {
|
|
177
|
-
const dir = sessionsDir ?? path.join((0, index_1.getAgentideHome)(), 'analytics', 'sessions');
|
|
178
|
-
let files;
|
|
179
|
-
try {
|
|
180
|
-
files = fs.readdirSync(dir);
|
|
181
|
-
}
|
|
182
|
-
catch {
|
|
183
|
-
return [];
|
|
184
|
-
}
|
|
185
|
-
const hints = [];
|
|
186
|
-
const livePaths = new Set();
|
|
187
|
-
for (const file of files) {
|
|
188
|
-
if (!file.endsWith('.jsonl')) {
|
|
189
|
-
continue;
|
|
190
|
-
}
|
|
191
|
-
const sessionId = file.slice(0, -'.jsonl'.length).trim();
|
|
192
|
-
if (!sessionId) {
|
|
193
|
-
continue;
|
|
194
|
-
}
|
|
195
|
-
const filePath = path.join(dir, file);
|
|
196
|
-
livePaths.add(filePath);
|
|
197
|
-
const parsed = parseSessionJsonlFileCached(filePath, sessionId);
|
|
198
|
-
if (parsed) {
|
|
199
|
-
hints.push(parsed);
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
pruneJsonlCache(livePaths);
|
|
203
|
-
return hints;
|
|
204
|
-
}
|
|
1
|
+
/*! Copyright (c) 2026 AgentHippo.ai. All rights reserved. Proprietary; see LICENSE. */
|
|
2
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(s,t,r,e){e===void 0&&(e=r);var n=Object.getOwnPropertyDescriptor(t,r);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(s,e,n)}):(function(s,t,r,e){e===void 0&&(e=r),s[e]=t[r]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(s,t){Object.defineProperty(s,"default",{enumerable:!0,value:t})}):function(s,t){s.default=t}),__importStar=this&&this.__importStar||(function(){var s=function(t){return s=Object.getOwnPropertyNames||function(r){var e=[];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[e.length]=n);return e},s(t)};return function(t){if(t&&t.__esModule)return t;var r={};if(t!=null)for(var e=s(t),n=0;n<e.length;n++)e[n]!=="default"&&__createBinding(r,t,e[n]);return __setModuleDefault(r,t),r}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.scanSessionJsonlFleetHints=scanSessionJsonlFleetHints;const fs=__importStar(require("fs")),path=__importStar(require("path")),index_1=require("../../utils/index"),RECENT_END_IN_PROGRESS_MS=9e4,RECENT_FILE_ACTIVITY_MS=12e4,STALE_IN_PROGRESS_WITHOUT_END_MS=15*6e4,MAX_TAIL_BYTES=256*1024,parsedFileCache=new Map;function readTailLines(s,t=400){try{const r=fs.statSync(s),e=Math.max(0,r.size-MAX_TAIL_BYTES),n=fs.openSync(s,"r");try{const i=Buffer.alloc(r.size-e);return fs.readSync(n,i,0,i.length,e),i.toString("utf8").split(`
|
|
3
|
+
`).filter(o=>o.trim()).slice(-t)}finally{fs.closeSync(n)}}catch{return[]}}function parseSessionJsonlFileCached(s,t){try{const r=fs.statSync(s),e=parsedFileCache.get(s);if(e&&e.mtimeMs===r.mtimeMs&&e.size===r.size)return e.hint;const n=parseSessionJsonlFile(s,t);return parsedFileCache.set(s,{mtimeMs:r.mtimeMs,size:r.size,hint:n}),n}catch{parsedFileCache.delete(s);return}}function pruneJsonlCache(s){for(const t of parsedFileCache.keys())s.has(t)||parsedFileCache.delete(t)}function parseSessionJsonlFile(s,t){const r=readTailLines(s);if(r.length===0)return;const e=new Map;let n=Number.POSITIVE_INFINITY,i=0,c=0;for(const S of r){let f;try{f=JSON.parse(S)}catch{continue}if(!f?.event_type)continue;const a=Number(f.timestamp);Number.isFinite(a)&&a>0&&(i=Math.max(i,a));const M=String(f.request_id??"default");e.has(M)||e.set(M,{lastStart:0,lastEnd:0});const p=e.get(M);if(f.event_type==="turn_start"){const h=Number.isFinite(a)&&a>0?a:Date.now();p.lastStart=Math.max(p.lastStart,h),n=Math.min(n,h)}else if(f.event_type==="turn_end"){const h=Number.isFinite(a)&&a>0?a:Date.now();p.lastEnd=Math.max(p.lastEnd,h),c+=1}}let u=!1;for(const S of e.values())S.lastStart>S.lastEnd&&(u=!0);let o=0;try{o=fs.statSync(s).mtimeMs}catch{o=0}const d=Date.now(),_=Number.isFinite(n)&&n<Number.POSITIVE_INFINITY?n:o||d,m=Math.max(Number.isFinite(i)?i:0,o,_);let l="done";u&&m>d-STALE_IN_PROGRESS_WITHOUT_END_MS||i>d-RECENT_END_IN_PROGRESS_MS||o>d-RECENT_FILE_ACTIVITY_MS?l="in_progress":_<d-STALE_IN_PROGRESS_WITHOUT_END_MS&&(l="done");const y=l==="in_progress"?0:Math.max(i,o,_);return{sessionId:t,status:l,startedAt:new Date(_).toISOString(),endedAt:y>0?new Date(y).toISOString():"",turns:c}}function scanSessionJsonlFleetHints(s){const t=s??path.join((0,index_1.getAgentideHome)(),"analytics","sessions");let r;try{r=fs.readdirSync(t)}catch{return[]}const e=[],n=new Set;for(const i of r){if(!i.endsWith(".jsonl"))continue;const c=i.slice(0,-6).trim();if(!c)continue;const u=path.join(t,i);n.add(u);const o=parseSessionJsonlFileCached(u,c);o&&e.push(o)}return pruneJsonlCache(n),e}
|
|
@@ -1,106 +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.AGENT_TEAM_VIEW_TAGS = exports.FLEET_VIEW_TAG = exports.TEAM_VIEW_TAG = void 0;
|
|
40
|
-
exports.discoverTeamTaggedViews = discoverTeamTaggedViews;
|
|
41
|
-
const fs_1 = require("fs");
|
|
42
|
-
const path = __importStar(require("path"));
|
|
43
|
-
const viewsConfigMerge_1 = require("./viewsConfigMerge");
|
|
44
|
-
/** `view.yaml` tag: view is eligible for the Agent Team sidebar picker. */
|
|
45
|
-
exports.TEAM_VIEW_TAG = 'team';
|
|
46
|
-
/** `view.yaml` tag: fleet-style views also appear in the Agent Team picker. */
|
|
47
|
-
exports.FLEET_VIEW_TAG = 'fleet';
|
|
48
|
-
/** Tags that make a view eligible for Agent Team discovery (built-in `fleet` view is separate). */
|
|
49
|
-
exports.AGENT_TEAM_VIEW_TAGS = [exports.TEAM_VIEW_TAG, exports.FLEET_VIEW_TAG];
|
|
50
|
-
function hasAgentTeamTag(tags) {
|
|
51
|
-
if (!Array.isArray(tags)) {
|
|
52
|
-
return false;
|
|
53
|
-
}
|
|
54
|
-
const eligible = new Set(exports.AGENT_TEAM_VIEW_TAGS);
|
|
55
|
-
return tags.some(tag => typeof tag === 'string' && eligible.has(tag.trim().toLowerCase()));
|
|
56
|
-
}
|
|
57
|
-
async function readTeamTaggedView(viewRoot, dirName) {
|
|
58
|
-
const viewYamlPath = path.join(viewRoot, 'view.yaml');
|
|
59
|
-
let raw;
|
|
60
|
-
try {
|
|
61
|
-
raw = await fs_1.promises.readFile(viewYamlPath, 'utf-8');
|
|
62
|
-
}
|
|
63
|
-
catch {
|
|
64
|
-
return undefined;
|
|
65
|
-
}
|
|
66
|
-
const yaml = require('js-yaml');
|
|
67
|
-
const parsed = yaml.load(raw);
|
|
68
|
-
if (!parsed || typeof parsed !== 'object' || !hasAgentTeamTag(parsed.tags)) {
|
|
69
|
-
return undefined;
|
|
70
|
-
}
|
|
71
|
-
const id = (0, viewsConfigMerge_1.normalizeDashboardViewId)(typeof parsed.id === 'string' ? parsed.id : dirName, dirName);
|
|
72
|
-
const name = typeof parsed.name === 'string' && parsed.name.trim() ? parsed.name.trim() : id;
|
|
73
|
-
const scope = parsed.scope === 'workspace' ? 'workspace' : 'global';
|
|
74
|
-
return { id, name, scope };
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Scan analytics roots for views whose view.yaml includes the `team` or `fleet` tag.
|
|
78
|
-
* Workspace-scoped entries override global entries with the same id.
|
|
79
|
-
*/
|
|
80
|
-
async function discoverTeamTaggedViews(analyticsRoots) {
|
|
81
|
-
const byId = new Map();
|
|
82
|
-
for (const root of analyticsRoots) {
|
|
83
|
-
const viewsDir = path.join(root, 'views');
|
|
84
|
-
let entries;
|
|
85
|
-
try {
|
|
86
|
-
entries = await fs_1.promises.readdir(viewsDir, { withFileTypes: true });
|
|
87
|
-
}
|
|
88
|
-
catch {
|
|
89
|
-
continue;
|
|
90
|
-
}
|
|
91
|
-
for (const entry of entries) {
|
|
92
|
-
if (!entry.isDirectory()) {
|
|
93
|
-
continue;
|
|
94
|
-
}
|
|
95
|
-
const record = await readTeamTaggedView(path.join(viewsDir, entry.name), entry.name);
|
|
96
|
-
if (!record || record.id === 'fleet') {
|
|
97
|
-
continue;
|
|
98
|
-
}
|
|
99
|
-
const existing = byId.get(record.id);
|
|
100
|
-
if (!existing || (existing.scope === 'global' && record.scope === 'workspace')) {
|
|
101
|
-
byId.set(record.id, record);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
return [...byId.values()].sort((a, b) => a.name.localeCompare(b.name));
|
|
106
|
-
}
|
|
1
|
+
/*! Copyright (c) 2026 AgentHippo.ai. All rights reserved. Proprietary; see LICENSE. */
|
|
2
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(n,e,r,t){t===void 0&&(t=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(n,t,i)}):(function(n,e,r,t){t===void 0&&(t=r),n[t]=e[r]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}):function(n,e){n.default=e}),__importStar=this&&this.__importStar||(function(){var n=function(e){return n=Object.getOwnPropertyNames||function(r){var t=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(t[t.length]=i);return t},n(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var t=n(e),i=0;i<t.length;i++)t[i]!=="default"&&__createBinding(r,e,t[i]);return __setModuleDefault(r,e),r}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.AGENT_TEAM_VIEW_TAGS=exports.FLEET_VIEW_TAG=exports.TEAM_VIEW_TAG=void 0,exports.discoverTeamTaggedViews=discoverTeamTaggedViews;const fs_1=require("fs"),path=__importStar(require("path")),viewsConfigMerge_1=require("./viewsConfigMerge");exports.TEAM_VIEW_TAG="team",exports.FLEET_VIEW_TAG="fleet",exports.AGENT_TEAM_VIEW_TAGS=[exports.TEAM_VIEW_TAG,exports.FLEET_VIEW_TAG];function hasAgentTeamTag(n){if(!Array.isArray(n))return!1;const e=new Set(exports.AGENT_TEAM_VIEW_TAGS);return n.some(r=>typeof r=="string"&&e.has(r.trim().toLowerCase()))}async function readTeamTaggedView(n,e){const r=path.join(n,"view.yaml");let t;try{t=await fs_1.promises.readFile(r,"utf-8")}catch{return}const o=require("js-yaml").load(t);if(!o||typeof o!="object"||!hasAgentTeamTag(o.tags))return;const s=(0,viewsConfigMerge_1.normalizeDashboardViewId)(typeof o.id=="string"?o.id:e,e),a=typeof o.name=="string"&&o.name.trim()?o.name.trim():s,c=o.scope==="workspace"?"workspace":"global";return{id:s,name:a,scope:c}}async function discoverTeamTaggedViews(n){const e=new Map;for(const r of n){const t=path.join(r,"views");let i;try{i=await fs_1.promises.readdir(t,{withFileTypes:!0})}catch{continue}for(const o of i){if(!o.isDirectory())continue;const s=await readTeamTaggedView(path.join(t,o.name),o.name);if(!s||s.id==="fleet")continue;const a=e.get(s.id);(!a||a.scope==="global"&&s.scope==="workspace")&&e.set(s.id,s)}}return[...e.values()].sort((r,t)=>r.name.localeCompare(t.name))}
|