@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
package/out/permissions.js
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*---------------------------------------------------------------------------------------------
|
|
3
|
-
* Copyright (c) AgentHippo.ai. All rights reserved.
|
|
4
|
-
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.DEFAULT_PERMISSIONS = void 0;
|
|
7
|
-
exports.getDefaultPermissions = getDefaultPermissions;
|
|
8
|
-
exports._resetMappingConfigCache = _resetMappingConfigCache;
|
|
9
|
-
exports.parsePermissions = parsePermissions;
|
|
10
|
-
exports.parseManifestPermissions = parseManifestPermissions;
|
|
11
|
-
exports.enforcePermissions = enforcePermissions;
|
|
12
|
-
exports.toClaudeOptions = toClaudeOptions;
|
|
13
|
-
exports.toCodexOptions = toCodexOptions;
|
|
14
|
-
/**
|
|
15
|
-
* Default runtime permissions.
|
|
16
|
-
*/
|
|
17
|
-
exports.DEFAULT_PERMISSIONS = {
|
|
18
|
-
fileAccess: 'full',
|
|
19
|
-
};
|
|
20
|
-
const PERMISSION_MAPPING_CONFIG = {
|
|
21
|
-
defaults: { fileAccess: 'full' },
|
|
22
|
-
claude: {
|
|
23
|
-
readOnly: { permissionMode: 'plan', allowDangerouslySkipPermissions: false },
|
|
24
|
-
workspaceWrite: { permissionMode: 'acceptEdits', allowDangerouslySkipPermissions: false },
|
|
25
|
-
fullAccess: { permissionMode: 'bypassPermissions', allowDangerouslySkipPermissions: true },
|
|
26
|
-
},
|
|
27
|
-
codex: {
|
|
28
|
-
approvalPolicy: 'never',
|
|
29
|
-
readOnly: { sandboxMode: 'read-only' },
|
|
30
|
-
workspaceWrite: { sandboxMode: 'workspace-write' },
|
|
31
|
-
fullAccess: { sandboxMode: 'danger-full-access' },
|
|
32
|
-
},
|
|
33
|
-
};
|
|
34
|
-
/**
|
|
35
|
-
* Get default permissions from static mapping config.
|
|
36
|
-
*/
|
|
37
|
-
function getDefaultPermissions() {
|
|
38
|
-
return { ...PERMISSION_MAPPING_CONFIG.defaults };
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* No-op compatibility hook retained for existing tests/callers.
|
|
42
|
-
* @internal
|
|
43
|
-
*/
|
|
44
|
-
function _resetMappingConfigCache() {
|
|
45
|
-
// no-op: config is now static and in-code
|
|
46
|
-
}
|
|
47
|
-
// =============================================================================
|
|
48
|
-
// Parse from Manifest
|
|
49
|
-
// =============================================================================
|
|
50
|
-
/**
|
|
51
|
-
* Parse permissions from an agent manifest.
|
|
52
|
-
* Falls back to defaults for missing fields.
|
|
53
|
-
*/
|
|
54
|
-
function parsePermissions(manifest) {
|
|
55
|
-
const perms = manifest?.spec?.permissions;
|
|
56
|
-
const defaults = getDefaultPermissions();
|
|
57
|
-
return {
|
|
58
|
-
fileAccess: perms?.fileAccess ?? defaults.fileAccess,
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Parse effective permissions from manifest.
|
|
63
|
-
*/
|
|
64
|
-
function parseManifestPermissions(manifest) {
|
|
65
|
-
return parsePermissions(manifest);
|
|
66
|
-
}
|
|
67
|
-
// =============================================================================
|
|
68
|
-
// Enforcement
|
|
69
|
-
// =============================================================================
|
|
70
|
-
/**
|
|
71
|
-
* Resolve effective permissions with user settings taking precedence.
|
|
72
|
-
*/
|
|
73
|
-
function enforcePermissions(_manifestPerms, userPerms) {
|
|
74
|
-
return {
|
|
75
|
-
fileAccess: userPerms.fileAccess,
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Map unified permissions to Claude SDK options.
|
|
80
|
-
*/
|
|
81
|
-
function toClaudeOptions(perms, workspaceFolders) {
|
|
82
|
-
const modeOpts = perms.fileAccess === 'read-only'
|
|
83
|
-
? PERMISSION_MAPPING_CONFIG.claude.readOnly
|
|
84
|
-
: (perms.fileAccess === 'workspace-write'
|
|
85
|
-
? PERMISSION_MAPPING_CONFIG.claude.workspaceWrite
|
|
86
|
-
: PERMISSION_MAPPING_CONFIG.claude.fullAccess);
|
|
87
|
-
return {
|
|
88
|
-
...modeOpts,
|
|
89
|
-
// Writable/read-only workspace modes: constrain to workspace folders
|
|
90
|
-
// Full mode: undefined lets Claude use its defaults
|
|
91
|
-
additionalDirectories: perms.fileAccess === 'full' ? undefined : workspaceFolders,
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Map unified permissions to Codex SDK options.
|
|
96
|
-
*/
|
|
97
|
-
function toCodexOptions(perms, workspaceFolders) {
|
|
98
|
-
const fileOpts = perms.fileAccess === 'read-only'
|
|
99
|
-
? PERMISSION_MAPPING_CONFIG.codex.readOnly
|
|
100
|
-
: (perms.fileAccess === 'workspace-write'
|
|
101
|
-
? PERMISSION_MAPPING_CONFIG.codex.workspaceWrite
|
|
102
|
-
: PERMISSION_MAPPING_CONFIG.codex.fullAccess);
|
|
103
|
-
return {
|
|
104
|
-
approvalPolicy: PERMISSION_MAPPING_CONFIG.codex.approvalPolicy,
|
|
105
|
-
...fileOpts,
|
|
106
|
-
additionalDirectories: workspaceFolders,
|
|
107
|
-
};
|
|
108
|
-
}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
# AgentIDE Permission Mapping
|
|
2
|
-
# Security-auditable mapping from unified permissions to engine SDK options
|
|
3
|
-
#
|
|
4
|
-
# RULE: Most restrictive wins - manifest cannot be bypassed by user settings
|
|
5
|
-
#
|
|
6
|
-
# See PLAN/perm-design.md for full documentation.
|
|
7
|
-
|
|
8
|
-
version: "1.0"
|
|
9
|
-
|
|
10
|
-
# Default permissions for agents without explicit permissions
|
|
11
|
-
defaults:
|
|
12
|
-
fileAccess: workspace-write # read-only | workspace-write | full
|
|
13
|
-
|
|
14
|
-
# Claude Agent SDK mapping
|
|
15
|
-
#
|
|
16
|
-
# NOTE: Claude does NOT have a sandboxMode equivalent for fileAccess.
|
|
17
|
-
# File access is controlled via `additionalDirectories` which lists allowed paths.
|
|
18
|
-
# The toClaudeOptions() function handles this by passing workspace folders directly.
|
|
19
|
-
#
|
|
20
|
-
# SECURITY: Claude's `additionalDirectories` is more of a suggestion than a hard
|
|
21
|
-
# sandbox - Claude can still potentially access files outside if it tries.
|
|
22
|
-
# This is an SDK limitation, not something we can fix in the mapping.
|
|
23
|
-
#
|
|
24
|
-
# permissionMode options used by V1:
|
|
25
|
-
# - 'plan': strict read-only (no tool execution)
|
|
26
|
-
# - 'acceptEdits': non-interactive auto-accept file edits (workspace-write)
|
|
27
|
-
# - 'bypassPermissions': non-interactive full access mode
|
|
28
|
-
claude:
|
|
29
|
-
# fileAccess: read-only
|
|
30
|
-
readOnly:
|
|
31
|
-
permissionMode: plan
|
|
32
|
-
allowDangerouslySkipPermissions: false
|
|
33
|
-
|
|
34
|
-
# fileAccess: workspace-write
|
|
35
|
-
workspaceWrite:
|
|
36
|
-
permissionMode: acceptEdits
|
|
37
|
-
allowDangerouslySkipPermissions: false
|
|
38
|
-
|
|
39
|
-
# fileAccess: full
|
|
40
|
-
fullAccess:
|
|
41
|
-
permissionMode: bypassPermissions
|
|
42
|
-
allowDangerouslySkipPermissions: true
|
|
43
|
-
|
|
44
|
-
# Codex SDK mapping
|
|
45
|
-
#
|
|
46
|
-
# NOTE: Codex has explicit sandboxMode for fileAccess control.
|
|
47
|
-
# Approval is non-interactive in V1.
|
|
48
|
-
# - workspace-write: Can only write to workspace folders
|
|
49
|
-
# - danger-full-access: Full filesystem access (requires explicit opt-in)
|
|
50
|
-
#
|
|
51
|
-
# SECURITY: Unlike Claude, Codex's `sandboxMode` is a HARD enforcement at the
|
|
52
|
-
# SDK level. The sandbox cannot be bypassed by the agent.
|
|
53
|
-
codex:
|
|
54
|
-
approvalPolicy: never
|
|
55
|
-
|
|
56
|
-
# fileAccess: read-only
|
|
57
|
-
readOnly:
|
|
58
|
-
sandboxMode: read-only
|
|
59
|
-
|
|
60
|
-
# fileAccess: workspace-write - Only workspace folders + additionalDirectories
|
|
61
|
-
# (additionalDirectories always includes all multi-root workspace folders)
|
|
62
|
-
workspaceWrite:
|
|
63
|
-
sandboxMode: workspace-write
|
|
64
|
-
|
|
65
|
-
# fileAccess: full - Full filesystem access
|
|
66
|
-
fullAccess:
|
|
67
|
-
sandboxMode: danger-full-access
|
|
68
|
-
|
package/out/registry/index.js
DELETED
|
@@ -1,332 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*---------------------------------------------------------------------------------------------
|
|
3
|
-
* Copyright (c) AgentHippo.ai. All rights reserved.
|
|
4
|
-
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
/*---------------------------------------------------------------------------------------------
|
|
6
|
-
* Local Registry - JSON file-based registry for pack/skill/MCP discovery.
|
|
7
|
-
*
|
|
8
|
-
* Design:
|
|
9
|
-
* - Uses simple JSON files for storage
|
|
10
|
-
* - Stores data in ~/.agentide/registry/
|
|
11
|
-
* - Provides search and lookup APIs
|
|
12
|
-
* - Easy to test with Mocha (no native dependencies)
|
|
13
|
-
*--------------------------------------------------------------------------------------------*/
|
|
14
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
15
|
-
if (k2 === undefined) k2 = k;
|
|
16
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
17
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
18
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
19
|
-
}
|
|
20
|
-
Object.defineProperty(o, k2, desc);
|
|
21
|
-
}) : (function(o, m, k, k2) {
|
|
22
|
-
if (k2 === undefined) k2 = k;
|
|
23
|
-
o[k2] = m[k];
|
|
24
|
-
}));
|
|
25
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
26
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
27
|
-
}) : function(o, v) {
|
|
28
|
-
o["default"] = v;
|
|
29
|
-
});
|
|
30
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
31
|
-
var ownKeys = function(o) {
|
|
32
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
33
|
-
var ar = [];
|
|
34
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
35
|
-
return ar;
|
|
36
|
-
};
|
|
37
|
-
return ownKeys(o);
|
|
38
|
-
};
|
|
39
|
-
return function (mod) {
|
|
40
|
-
if (mod && mod.__esModule) return mod;
|
|
41
|
-
var result = {};
|
|
42
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
43
|
-
__setModuleDefault(result, mod);
|
|
44
|
-
return result;
|
|
45
|
-
};
|
|
46
|
-
})();
|
|
47
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
-
exports.LocalRegistry = void 0;
|
|
49
|
-
exports.getRegistry = getRegistry;
|
|
50
|
-
const fs = __importStar(require("fs"));
|
|
51
|
-
const path = __importStar(require("path"));
|
|
52
|
-
const os = __importStar(require("os"));
|
|
53
|
-
function createEmptyData() {
|
|
54
|
-
return { packs: {}, skills: {}, mcp: {} };
|
|
55
|
-
}
|
|
56
|
-
// -----------------------------------------------------------------------------
|
|
57
|
-
// Registry Class
|
|
58
|
-
// -----------------------------------------------------------------------------
|
|
59
|
-
class LocalRegistry {
|
|
60
|
-
data = null;
|
|
61
|
-
registryPath;
|
|
62
|
-
constructor(registryPath, _outputChannel) {
|
|
63
|
-
this.registryPath = registryPath || path.join(os.homedir(), '.agentide', 'registry.json');
|
|
64
|
-
}
|
|
65
|
-
// -------------------------------------------------------------------------
|
|
66
|
-
// Data Management
|
|
67
|
-
// -------------------------------------------------------------------------
|
|
68
|
-
ensureDir() {
|
|
69
|
-
const dir = path.dirname(this.registryPath);
|
|
70
|
-
if (!fs.existsSync(dir)) {
|
|
71
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
load() {
|
|
75
|
-
if (this.data) {
|
|
76
|
-
return this.data;
|
|
77
|
-
}
|
|
78
|
-
if (fs.existsSync(this.registryPath)) {
|
|
79
|
-
try {
|
|
80
|
-
const raw = fs.readFileSync(this.registryPath, 'utf-8');
|
|
81
|
-
this.data = JSON.parse(raw);
|
|
82
|
-
}
|
|
83
|
-
catch {
|
|
84
|
-
this.data = createEmptyData();
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
this.data = createEmptyData();
|
|
89
|
-
}
|
|
90
|
-
return this.data;
|
|
91
|
-
}
|
|
92
|
-
save() {
|
|
93
|
-
if (!this.data) {
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
this.ensureDir();
|
|
97
|
-
fs.writeFileSync(this.registryPath, JSON.stringify(this.data, null, 2));
|
|
98
|
-
}
|
|
99
|
-
// -------------------------------------------------------------------------
|
|
100
|
-
// Pack Operations
|
|
101
|
-
// -------------------------------------------------------------------------
|
|
102
|
-
async registerPack(input) {
|
|
103
|
-
const data = this.load();
|
|
104
|
-
data.packs[input.slug] = {
|
|
105
|
-
slug: input.slug,
|
|
106
|
-
displayName: input.displayName,
|
|
107
|
-
description: input.description,
|
|
108
|
-
githubOwner: input.github?.owner,
|
|
109
|
-
githubRepo: input.github?.repo,
|
|
110
|
-
latestVersion: input.latestVersion,
|
|
111
|
-
tags: input.tags,
|
|
112
|
-
installs: input.stats.installs,
|
|
113
|
-
stars: input.stats.stars,
|
|
114
|
-
updatedAt: Date.now(),
|
|
115
|
-
};
|
|
116
|
-
this.save();
|
|
117
|
-
}
|
|
118
|
-
async getPack(slug) {
|
|
119
|
-
const data = this.load();
|
|
120
|
-
return data.packs[slug] || null;
|
|
121
|
-
}
|
|
122
|
-
async listPacks() {
|
|
123
|
-
const data = this.load();
|
|
124
|
-
return Object.values(data.packs).sort((a, b) => b.installs - a.installs);
|
|
125
|
-
}
|
|
126
|
-
async trackPackInstall(slug) {
|
|
127
|
-
const data = this.load();
|
|
128
|
-
const pack = data.packs[slug];
|
|
129
|
-
if (pack) {
|
|
130
|
-
pack.installs += 1;
|
|
131
|
-
pack.updatedAt = Date.now();
|
|
132
|
-
this.save();
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
// -------------------------------------------------------------------------
|
|
136
|
-
// Skill Operations
|
|
137
|
-
// -------------------------------------------------------------------------
|
|
138
|
-
async registerSkill(input) {
|
|
139
|
-
const data = this.load();
|
|
140
|
-
const existing = data.skills[input.slug];
|
|
141
|
-
// Merge installedTo: keep existing agent packs and add new one if provided
|
|
142
|
-
let installedTo = existing?.installedTo || [];
|
|
143
|
-
if (input.agentPackId && !installedTo.includes(input.agentPackId)) {
|
|
144
|
-
installedTo = [...installedTo, input.agentPackId];
|
|
145
|
-
}
|
|
146
|
-
data.skills[input.slug] = {
|
|
147
|
-
slug: input.slug,
|
|
148
|
-
displayName: input.displayName,
|
|
149
|
-
description: input.description,
|
|
150
|
-
githubOwner: input.github?.owner,
|
|
151
|
-
githubRepo: input.github?.repo,
|
|
152
|
-
githubPath: input.github?.path,
|
|
153
|
-
latestVersion: input.latestVersion,
|
|
154
|
-
tags: input.tags,
|
|
155
|
-
installs: input.stats.installs,
|
|
156
|
-
updatedAt: Date.now(),
|
|
157
|
-
installedTo,
|
|
158
|
-
};
|
|
159
|
-
this.save();
|
|
160
|
-
}
|
|
161
|
-
async getSkill(slug) {
|
|
162
|
-
const data = this.load();
|
|
163
|
-
return data.skills[slug] || null;
|
|
164
|
-
}
|
|
165
|
-
async listSkills() {
|
|
166
|
-
const data = this.load();
|
|
167
|
-
return Object.values(data.skills).sort((a, b) => b.installs - a.installs);
|
|
168
|
-
}
|
|
169
|
-
// -------------------------------------------------------------------------
|
|
170
|
-
// MCP Operations
|
|
171
|
-
// -------------------------------------------------------------------------
|
|
172
|
-
async registerMcp(input) {
|
|
173
|
-
const data = this.load();
|
|
174
|
-
const existing = data.mcp[input.slug];
|
|
175
|
-
// Merge installedTo: keep existing agent packs and add new one if provided
|
|
176
|
-
let installedTo = existing?.installedTo || [];
|
|
177
|
-
if (input.agentPackId && !installedTo.includes(input.agentPackId)) {
|
|
178
|
-
installedTo = [...installedTo, input.agentPackId];
|
|
179
|
-
}
|
|
180
|
-
data.mcp[input.slug] = {
|
|
181
|
-
slug: input.slug,
|
|
182
|
-
displayName: input.displayName,
|
|
183
|
-
description: input.description,
|
|
184
|
-
transport: input.transport,
|
|
185
|
-
githubOwner: input.github?.owner,
|
|
186
|
-
githubRepo: input.github?.repo,
|
|
187
|
-
npmPackage: input.npmPackage,
|
|
188
|
-
latestVersion: input.latestVersion,
|
|
189
|
-
tags: input.tags,
|
|
190
|
-
installs: input.stats.installs,
|
|
191
|
-
updatedAt: Date.now(),
|
|
192
|
-
installedTo,
|
|
193
|
-
};
|
|
194
|
-
this.save();
|
|
195
|
-
}
|
|
196
|
-
async getMcp(slug) {
|
|
197
|
-
const data = this.load();
|
|
198
|
-
return data.mcp[slug] || null;
|
|
199
|
-
}
|
|
200
|
-
async listMcp() {
|
|
201
|
-
const data = this.load();
|
|
202
|
-
return Object.values(data.mcp).sort((a, b) => b.installs - a.installs);
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Check if a skill is installed to a specific agent pack.
|
|
206
|
-
*/
|
|
207
|
-
async isSkillInstalledTo(slug, agentPackId) {
|
|
208
|
-
const skill = await this.getSkill(slug);
|
|
209
|
-
return skill?.installedTo?.includes(agentPackId) ?? false;
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* Check if an MCP is installed to a specific agent pack.
|
|
213
|
-
*/
|
|
214
|
-
async isMcpInstalledTo(slug, agentPackId) {
|
|
215
|
-
const mcp = await this.getMcp(slug);
|
|
216
|
-
return mcp?.installedTo?.includes(agentPackId) ?? false;
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Remove an agent pack from a skill's installedTo list.
|
|
220
|
-
* Used when uninstalling a skill from an agent pack.
|
|
221
|
-
*/
|
|
222
|
-
async unregisterSkillFromPack(slug, agentPackId) {
|
|
223
|
-
const data = this.load();
|
|
224
|
-
const skill = data.skills[slug];
|
|
225
|
-
if (skill && skill.installedTo) {
|
|
226
|
-
skill.installedTo = skill.installedTo.filter(id => id !== agentPackId);
|
|
227
|
-
skill.updatedAt = Date.now();
|
|
228
|
-
this.save();
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
/**
|
|
232
|
-
* Remove an agent pack from an MCP's installedTo list.
|
|
233
|
-
* Used when uninstalling an MCP from an agent pack.
|
|
234
|
-
*/
|
|
235
|
-
async unregisterMcpFromPack(slug, agentPackId) {
|
|
236
|
-
const data = this.load();
|
|
237
|
-
const mcp = data.mcp[slug];
|
|
238
|
-
if (mcp && mcp.installedTo) {
|
|
239
|
-
mcp.installedTo = mcp.installedTo.filter(id => id !== agentPackId);
|
|
240
|
-
mcp.updatedAt = Date.now();
|
|
241
|
-
this.save();
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
// -------------------------------------------------------------------------
|
|
245
|
-
// Search
|
|
246
|
-
// -------------------------------------------------------------------------
|
|
247
|
-
async search(query, options) {
|
|
248
|
-
const types = options?.types || ['pack', 'skill', 'mcp'];
|
|
249
|
-
const limit = options?.limit || 20;
|
|
250
|
-
const results = [];
|
|
251
|
-
const queryLower = query.toLowerCase();
|
|
252
|
-
const queryTerms = queryLower.split(/\s+/).filter(t => t.length > 0);
|
|
253
|
-
// Score function - returns 0 if no term matches
|
|
254
|
-
const score = (item, installs) => {
|
|
255
|
-
const text = `${item.slug} ${item.displayName} ${item.description || ''} ${item.tags.join(' ')}`.toLowerCase();
|
|
256
|
-
let termScore = 0;
|
|
257
|
-
for (const term of queryTerms) {
|
|
258
|
-
if (text.includes(term)) {
|
|
259
|
-
termScore += 10;
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
// Only add popularity boost if there's a term match
|
|
263
|
-
if (termScore === 0) {
|
|
264
|
-
return 0;
|
|
265
|
-
}
|
|
266
|
-
return termScore + installs / 100;
|
|
267
|
-
};
|
|
268
|
-
// Search packs
|
|
269
|
-
if (types.includes('pack')) {
|
|
270
|
-
const packs = await this.listPacks();
|
|
271
|
-
for (const pack of packs) {
|
|
272
|
-
const s = score(pack, pack.installs);
|
|
273
|
-
if (s > 0) {
|
|
274
|
-
results.push({
|
|
275
|
-
type: 'pack',
|
|
276
|
-
slug: pack.slug,
|
|
277
|
-
displayName: pack.displayName,
|
|
278
|
-
description: pack.description,
|
|
279
|
-
score: s,
|
|
280
|
-
data: pack,
|
|
281
|
-
});
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
// Search skills
|
|
286
|
-
if (types.includes('skill')) {
|
|
287
|
-
const skills = await this.listSkills();
|
|
288
|
-
for (const skill of skills) {
|
|
289
|
-
const s = score(skill, skill.installs);
|
|
290
|
-
if (s > 0) {
|
|
291
|
-
results.push({
|
|
292
|
-
type: 'skill',
|
|
293
|
-
slug: skill.slug,
|
|
294
|
-
displayName: skill.displayName,
|
|
295
|
-
description: skill.description,
|
|
296
|
-
score: s,
|
|
297
|
-
data: skill,
|
|
298
|
-
});
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
// Search MCP
|
|
303
|
-
if (types.includes('mcp')) {
|
|
304
|
-
const mcps = await this.listMcp();
|
|
305
|
-
for (const mcp of mcps) {
|
|
306
|
-
const s = score(mcp, mcp.installs);
|
|
307
|
-
if (s > 0) {
|
|
308
|
-
results.push({
|
|
309
|
-
type: 'mcp',
|
|
310
|
-
slug: mcp.slug,
|
|
311
|
-
displayName: mcp.displayName,
|
|
312
|
-
description: mcp.description,
|
|
313
|
-
score: s,
|
|
314
|
-
data: mcp,
|
|
315
|
-
});
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
return results.sort((a, b) => b.score - a.score).slice(0, limit);
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
exports.LocalRegistry = LocalRegistry;
|
|
323
|
-
// -----------------------------------------------------------------------------
|
|
324
|
-
// Singleton Instance
|
|
325
|
-
// -----------------------------------------------------------------------------
|
|
326
|
-
let _registry = null;
|
|
327
|
-
function getRegistry(outputChannel) {
|
|
328
|
-
if (!_registry) {
|
|
329
|
-
_registry = new LocalRegistry(undefined, outputChannel);
|
|
330
|
-
}
|
|
331
|
-
return _registry;
|
|
332
|
-
}
|
package/out/runner/host.js
DELETED
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*---------------------------------------------------------------------------------------------
|
|
3
|
-
* Copyright (c) AgentHippo.ai. All rights reserved.
|
|
4
|
-
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.startRunnerHost = startRunnerHost;
|
|
7
|
-
const protocol_1 = require("./protocol");
|
|
8
|
-
/** Engines sweep idle sessions/caches on this cadence (matches the in-process host's timer). */
|
|
9
|
-
const MAINTENANCE_INTERVAL_MS = 1000 * 60 * 5;
|
|
10
|
-
/**
|
|
11
|
-
* The answer the runner gives to every `question`. Mirrors `cli/commands/serve.ts` and
|
|
12
|
-
* `headless/index.ts`: emit for visibility, decline so the run continues. There is no reverse
|
|
13
|
-
* RPC to wait on, so a question can never wedge a turn.
|
|
14
|
-
*/
|
|
15
|
-
const DECLINED = { selected: [], freeText: null, declined: true };
|
|
16
|
-
function startRunnerHost(opts) {
|
|
17
|
-
const send = (frame) => { opts.output.write((0, protocol_1.encodeRunnerFrame)(frame)); };
|
|
18
|
-
const inflight = new Map();
|
|
19
|
-
let buffer = '';
|
|
20
|
-
let closed = false;
|
|
21
|
-
const maintenance = setInterval(() => {
|
|
22
|
-
try {
|
|
23
|
-
opts.engine.onMaintenance(opts.logger ?? consoleLogger());
|
|
24
|
-
}
|
|
25
|
-
catch (err) {
|
|
26
|
-
opts.logger?.warn(`[Runner] maintenance failed: ${errText(err)}`);
|
|
27
|
-
}
|
|
28
|
-
}, opts.maintenanceIntervalMs ?? MAINTENANCE_INTERVAL_MS);
|
|
29
|
-
// Never hold the sandbox open on the timer alone.
|
|
30
|
-
if (typeof maintenance.unref === 'function') {
|
|
31
|
-
maintenance.unref();
|
|
32
|
-
}
|
|
33
|
-
let finish = () => undefined;
|
|
34
|
-
const done = new Promise((resolve) => {
|
|
35
|
-
finish = () => {
|
|
36
|
-
if (closed) {
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
closed = true;
|
|
40
|
-
clearInterval(maintenance);
|
|
41
|
-
for (const ctrl of inflight.values()) {
|
|
42
|
-
ctrl.abort();
|
|
43
|
-
}
|
|
44
|
-
inflight.clear();
|
|
45
|
-
resolve();
|
|
46
|
-
};
|
|
47
|
-
opts.input.on('data', (chunk) => {
|
|
48
|
-
buffer += typeof chunk === 'string' ? chunk : chunk.toString('utf8');
|
|
49
|
-
const { lines, rest } = (0, protocol_1.splitFrames)(buffer);
|
|
50
|
-
buffer = rest;
|
|
51
|
-
for (const line of lines) {
|
|
52
|
-
const frame = (0, protocol_1.parseClientFrame)(line);
|
|
53
|
-
if (!frame) {
|
|
54
|
-
opts.logger?.warn('[Runner] dropped malformed client frame');
|
|
55
|
-
continue;
|
|
56
|
-
}
|
|
57
|
-
void handle(frame);
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
opts.input.on('end', finish);
|
|
61
|
-
opts.input.on('close', finish);
|
|
62
|
-
opts.input.on('error', (err) => {
|
|
63
|
-
opts.logger?.warn(`[Runner] input error: ${errText(err)}`);
|
|
64
|
-
finish();
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
async function handle(frame) {
|
|
68
|
-
if (frame.type === 'abort') {
|
|
69
|
-
inflight.get(frame.id)?.abort();
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
await run(frame.id, frame.message, frame.options);
|
|
73
|
-
}
|
|
74
|
-
async function run(id, message, options) {
|
|
75
|
-
if (inflight.has(id)) {
|
|
76
|
-
send({ type: 'failed', id, message: `duplicate run id ${id}` });
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
const controller = new AbortController();
|
|
80
|
-
inflight.set(id, controller);
|
|
81
|
-
const emitter = makeEmitter(send, id);
|
|
82
|
-
try {
|
|
83
|
-
// `options` crossed the boundary already scrubbed of apiKey (see toWireOptions); the
|
|
84
|
-
// engine reaches models via baseUrl + modelToken, both sandbox-scoped.
|
|
85
|
-
await opts.engine.stream(message, options, emitter, opts.runtime, controller.signal);
|
|
86
|
-
const nativeSessionId = opts.nativeSessionId?.();
|
|
87
|
-
send({ type: 'result', id, ...(nativeSessionId ? { nativeSessionId } : {}) });
|
|
88
|
-
}
|
|
89
|
-
catch (err) {
|
|
90
|
-
// An aborted turn is a normal terminal, not a crash — report it as such so the caller
|
|
91
|
-
// settles instead of waiting out a timeout.
|
|
92
|
-
const message = controller.signal.aborted ? 'aborted' : errText(err);
|
|
93
|
-
send({ type: 'failed', id, message });
|
|
94
|
-
}
|
|
95
|
-
finally {
|
|
96
|
-
inflight.delete(id);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
// The runner is live once the engine is constructed and the loop is wired. `demux: true` tells
|
|
100
|
-
// serve this host tags streamed events with their run id, so it may run several turns here at
|
|
101
|
-
// once; a serve talking to an older image never sees it and serializes instead.
|
|
102
|
-
send({ type: 'ready', demux: true });
|
|
103
|
-
return { done, close: () => finish() };
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Bridges `StreamEmitter` calls onto the wire, 1:1 with the existing worker event union.
|
|
107
|
-
*
|
|
108
|
-
* Every event is tagged with the run it came from. One sandbox may host several of a user's
|
|
109
|
-
* sessions, and an untagged event can only be broadcast to every in-flight turn — which wrote one
|
|
110
|
-
* session's tokens and tool calls into another's transcript.
|
|
111
|
-
*/
|
|
112
|
-
function makeEmitter(send, id) {
|
|
113
|
-
const emit = (event) => send({ id, event });
|
|
114
|
-
return {
|
|
115
|
-
async thinking(delta) { emit({ type: 'thinking', delta }); },
|
|
116
|
-
async text(delta) { emit({ type: 'text', delta }); },
|
|
117
|
-
async toolStart(toolName, input, toolCallId) {
|
|
118
|
-
emit({ type: 'toolStart', toolName, ...(input !== undefined ? { input } : {}), ...(toolCallId ? { toolCallId } : {}) });
|
|
119
|
-
},
|
|
120
|
-
async toolEnd(toolName, toolCallId, result, isError) {
|
|
121
|
-
emit({ type: 'toolEnd', toolName, toolCallId, ...(result !== undefined ? { result } : {}), ...(isError !== undefined ? { isError } : {}) });
|
|
122
|
-
},
|
|
123
|
-
async progress(message) { emit({ type: 'progress', message }); },
|
|
124
|
-
async question(payload) {
|
|
125
|
-
// One-way: forwarded for visibility, answered here. No answer frame exists, but it
|
|
126
|
-
// still reaches a client stream, so it carries the run id like any other event.
|
|
127
|
-
send({ type: 'question', payload, id });
|
|
128
|
-
return DECLINED;
|
|
129
|
-
},
|
|
130
|
-
async error(message) { emit({ type: 'error', message }); },
|
|
131
|
-
async done() { emit({ type: 'done' }); },
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
|
-
function errText(err) {
|
|
135
|
-
return err instanceof Error ? err.message : String(err);
|
|
136
|
-
}
|
|
137
|
-
function consoleLogger() {
|
|
138
|
-
return {
|
|
139
|
-
info: () => undefined, warn: () => undefined, error: () => undefined, debug: () => undefined,
|
|
140
|
-
};
|
|
141
|
-
}
|