@bolloon/bolloon-agent 0.4.28 → 0.4.29
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/bin/bolloon.cjs +18 -148
- package/bin/bolloon.cmd +6 -3
- package/dist/agents/pi-sdk-tools.js +3 -1
- package/dist/agents/pi-sdk.js +4 -1
- package/dist/cli/update-commands.js +349 -0
- package/dist/cli-entry.js +41 -55
- package/dist/electron-build/agents/agent-gateway.js +169 -0
- package/dist/electron-build/agents/agent-gateway.js.map +1 -0
- package/dist/electron-build/agents/agent-identity-store.js +212 -0
- package/dist/electron-build/agents/agent-identity-store.js.map +1 -0
- package/dist/electron-build/agents/agent-identity.js +196 -0
- package/dist/electron-build/agents/agent-identity.js.map +1 -0
- package/dist/electron-build/agents/agent-manifest-protocol.js +151 -0
- package/dist/electron-build/agents/agent-manifest-protocol.js.map +1 -0
- package/dist/electron-build/agents/agent-registry.js +217 -0
- package/dist/electron-build/agents/agent-registry.js.map +1 -0
- package/dist/electron-build/agents/agent-reputation.js +60 -0
- package/dist/electron-build/agents/agent-reputation.js.map +1 -0
- package/dist/electron-build/agents/agent-service-client.js +186 -0
- package/dist/electron-build/agents/agent-service-client.js.map +1 -0
- package/dist/electron-build/agents/browser-cdp.js +765 -0
- package/dist/electron-build/agents/browser-cdp.js.map +1 -0
- package/dist/electron-build/agents/computer-use.js +341 -0
- package/dist/electron-build/agents/computer-use.js.map +1 -0
- package/dist/electron-build/agents/constraint-layer.js +210 -0
- package/dist/electron-build/agents/constraint-layer.js.map +1 -0
- package/dist/electron-build/agents/decision-store.js +292 -0
- package/dist/electron-build/agents/decision-store.js.map +1 -0
- package/dist/electron-build/agents/deny-pipeline.js +125 -0
- package/dist/electron-build/agents/deny-pipeline.js.map +1 -0
- package/dist/electron-build/agents/economic-policy.js +172 -0
- package/dist/electron-build/agents/economic-policy.js.map +1 -0
- package/dist/electron-build/agents/error-classifier.js +125 -0
- package/dist/electron-build/agents/error-classifier.js.map +1 -0
- package/dist/electron-build/agents/execution-supervisor.js +539 -0
- package/dist/electron-build/agents/execution-supervisor.js.map +1 -0
- package/dist/electron-build/agents/external-events.js +171 -0
- package/dist/electron-build/agents/external-events.js.map +1 -0
- package/dist/electron-build/agents/gateway-join.js +315 -0
- package/dist/electron-build/agents/gateway-join.js.map +1 -0
- package/dist/electron-build/agents/gateway-network.js +505 -0
- package/dist/electron-build/agents/gateway-network.js.map +1 -0
- package/dist/electron-build/agents/goal-criteria.js +133 -0
- package/dist/electron-build/agents/goal-criteria.js.map +1 -0
- package/dist/electron-build/agents/goal-resume.js +364 -0
- package/dist/electron-build/agents/goal-resume.js.map +1 -0
- package/dist/electron-build/agents/goal-store.js +587 -0
- package/dist/electron-build/agents/goal-store.js.map +1 -0
- package/dist/electron-build/agents/intent-classifier.js +104 -0
- package/dist/electron-build/agents/intent-classifier.js.map +1 -0
- package/dist/electron-build/agents/iroh-secret.js +70 -0
- package/dist/electron-build/agents/iroh-secret.js.map +1 -0
- package/dist/electron-build/agents/loop-review.js +101 -0
- package/dist/electron-build/agents/loop-review.js.map +1 -0
- package/dist/electron-build/agents/memory-recall.js +154 -0
- package/dist/electron-build/agents/memory-recall.js.map +1 -0
- package/dist/electron-build/agents/p2p-document-tools.js +328 -0
- package/dist/electron-build/agents/p2p-document-tools.js.map +1 -0
- package/dist/electron-build/agents/parse-tool-call.js +564 -0
- package/dist/electron-build/agents/parse-tool-call.js.map +1 -0
- package/dist/electron-build/agents/patch-tool.js +205 -0
- package/dist/electron-build/agents/patch-tool.js.map +1 -0
- package/dist/electron-build/agents/payment-approval.js +183 -0
- package/dist/electron-build/agents/payment-approval.js.map +1 -0
- package/dist/electron-build/agents/payment-gate.js +139 -0
- package/dist/electron-build/agents/payment-gate.js.map +1 -0
- package/dist/electron-build/agents/permission-mode.js +124 -0
- package/dist/electron-build/agents/permission-mode.js.map +1 -0
- package/dist/electron-build/agents/pi-harness.js +268 -0
- package/dist/electron-build/agents/pi-harness.js.map +1 -0
- package/dist/electron-build/agents/pi-sdk-session-factory.js +117 -0
- package/dist/electron-build/agents/pi-sdk-session-factory.js.map +1 -0
- package/dist/electron-build/agents/pi-sdk-session-manager.js +335 -0
- package/dist/electron-build/agents/pi-sdk-session-manager.js.map +1 -0
- package/dist/electron-build/agents/pi-sdk-tools.js +4042 -0
- package/dist/electron-build/agents/pi-sdk-tools.js.map +1 -0
- package/dist/electron-build/agents/pi-sdk-types.js +17 -0
- package/dist/electron-build/agents/pi-sdk-types.js.map +1 -0
- package/dist/electron-build/agents/pi-sdk.js +3325 -0
- package/dist/electron-build/agents/pi-sdk.js.map +1 -0
- package/dist/electron-build/agents/plan-store.js +212 -0
- package/dist/electron-build/agents/plan-store.js.map +1 -0
- package/dist/electron-build/agents/pre-tool-validator.js +200 -0
- package/dist/electron-build/agents/pre-tool-validator.js.map +1 -0
- package/dist/electron-build/agents/process-runner.js +148 -0
- package/dist/electron-build/agents/process-runner.js.map +1 -0
- package/dist/electron-build/agents/react-loop.js +131 -0
- package/dist/electron-build/agents/react-loop.js.map +1 -0
- package/dist/electron-build/agents/resource-store.js +180 -0
- package/dist/electron-build/agents/resource-store.js.map +1 -0
- package/dist/electron-build/agents/resource-token.js +118 -0
- package/dist/electron-build/agents/resource-token.js.map +1 -0
- package/dist/electron-build/agents/resource-wallet.js +84 -0
- package/dist/electron-build/agents/resource-wallet.js.map +1 -0
- package/dist/electron-build/agents/run-store.js +854 -0
- package/dist/electron-build/agents/run-store.js.map +1 -0
- package/dist/electron-build/agents/runner-resolver.js +267 -0
- package/dist/electron-build/agents/runner-resolver.js.map +1 -0
- package/dist/electron-build/agents/session-store.js +294 -0
- package/dist/electron-build/agents/session-store.js.map +1 -0
- package/dist/electron-build/agents/shell-guard.js +465 -0
- package/dist/electron-build/agents/shell-guard.js.map +1 -0
- package/dist/electron-build/agents/shell-tool.js +102 -0
- package/dist/electron-build/agents/shell-tool.js.map +1 -0
- package/dist/electron-build/agents/skill-loader.js +216 -0
- package/dist/electron-build/agents/skill-loader.js.map +1 -0
- package/dist/electron-build/agents/skill-readiness.js +174 -0
- package/dist/electron-build/agents/skill-readiness.js.map +1 -0
- package/dist/electron-build/agents/skill-share.js +394 -0
- package/dist/electron-build/agents/skill-share.js.map +1 -0
- package/dist/electron-build/agents/skill-supervisor-link.js +75 -0
- package/dist/electron-build/agents/skill-supervisor-link.js.map +1 -0
- package/dist/electron-build/agents/skill-writer.js +347 -0
- package/dist/electron-build/agents/skill-writer.js.map +1 -0
- package/dist/electron-build/agents/skills-manager.js +763 -0
- package/dist/electron-build/agents/skills-manager.js.map +1 -0
- package/dist/electron-build/agents/supervisor-host.js +294 -0
- package/dist/electron-build/agents/supervisor-host.js.map +1 -0
- package/dist/electron-build/agents/task/local-seller.js +188 -0
- package/dist/electron-build/agents/task/local-seller.js.map +1 -0
- package/dist/electron-build/agents/task/report-card.js +152 -0
- package/dist/electron-build/agents/task/report-card.js.map +1 -0
- package/dist/electron-build/agents/task/resource-advisor.js +222 -0
- package/dist/electron-build/agents/task/resource-advisor.js.map +1 -0
- package/dist/electron-build/agents/task/task-budget.js +111 -0
- package/dist/electron-build/agents/task/task-budget.js.map +1 -0
- package/dist/electron-build/agents/task/task-runner.js +670 -0
- package/dist/electron-build/agents/task/task-runner.js.map +1 -0
- package/dist/electron-build/agents/task-state.js +266 -0
- package/dist/electron-build/agents/task-state.js.map +1 -0
- package/dist/electron-build/agents/tool-registry.js +141 -0
- package/dist/electron-build/agents/tool-registry.js.map +1 -0
- package/dist/electron-build/agents/treasury-bridge.js +165 -0
- package/dist/electron-build/agents/treasury-bridge.js.map +1 -0
- package/dist/electron-build/agents/user-questions.js +223 -0
- package/dist/electron-build/agents/user-questions.js.map +1 -0
- package/dist/electron-build/agents/verify-recipe.js +90 -0
- package/dist/electron-build/agents/verify-recipe.js.map +1 -0
- package/dist/electron-build/agents/workflow-engine.js +222 -0
- package/dist/electron-build/agents/workflow-engine.js.map +1 -0
- package/dist/electron-build/agents/workflow-pivot-loop.js +988 -0
- package/dist/electron-build/agents/workflow-pivot-loop.js.map +1 -0
- package/dist/electron-build/agents/write-staging.js +133 -0
- package/dist/electron-build/agents/write-staging.js.map +1 -0
- package/dist/electron-build/agents/x402/goal-run-bridge.js +115 -0
- package/dist/electron-build/agents/x402/goal-run-bridge.js.map +1 -0
- package/dist/electron-build/agents/x402/milestone-settlement.js +163 -0
- package/dist/electron-build/agents/x402/milestone-settlement.js.map +1 -0
- package/dist/electron-build/agents/x402/paid-info-protocol.js +274 -0
- package/dist/electron-build/agents/x402/paid-info-protocol.js.map +1 -0
- package/dist/electron-build/agents/x402/paid-info-store.js +409 -0
- package/dist/electron-build/agents/x402/paid-info-store.js.map +1 -0
- package/dist/electron-build/agents/x402/paid-info-tools.js +346 -0
- package/dist/electron-build/agents/x402/paid-info-tools.js.map +1 -0
- package/dist/electron-build/agents/x402/payment-recovery.js +330 -0
- package/dist/electron-build/agents/x402/payment-recovery.js.map +1 -0
- package/dist/electron-build/agents/x402/resource-contract.js +533 -0
- package/dist/electron-build/agents/x402/resource-contract.js.map +1 -0
- package/dist/electron-build/agents/x402/settlement-state.js +432 -0
- package/dist/electron-build/agents/x402/settlement-state.js.map +1 -0
- package/dist/electron-build/agents/x402/trade.js +294 -0
- package/dist/electron-build/agents/x402/trade.js.map +1 -0
- package/dist/electron-build/agents/x402/transaction-protocol.js +109 -0
- package/dist/electron-build/agents/x402/transaction-protocol.js.map +1 -0
- package/dist/electron-build/agents/x402/transaction-store.js +404 -0
- package/dist/electron-build/agents/x402/transaction-store.js.map +1 -0
- package/dist/electron-build/agents/x402/x402Pay.js +377 -0
- package/dist/electron-build/agents/x402/x402Pay.js.map +1 -0
- package/dist/electron-build/bollharness-integration/context-router-judgment.js +269 -0
- package/dist/electron-build/bollharness-integration/context-router-judgment.js.map +1 -0
- package/dist/electron-build/bollharness-integration/context-router.js +584 -0
- package/dist/electron-build/bollharness-integration/context-router.js.map +1 -0
- package/dist/electron-build/bollharness-integration/gate-state-machine.js +362 -0
- package/dist/electron-build/bollharness-integration/gate-state-machine.js.map +1 -0
- package/dist/electron-build/bollharness-integration/gate-transition-hooks.js +136 -0
- package/dist/electron-build/bollharness-integration/gate-transition-hooks.js.map +1 -0
- package/dist/electron-build/bollharness-integration/guard-checker.js +400 -0
- package/dist/electron-build/bollharness-integration/guard-checker.js.map +1 -0
- package/dist/electron-build/bollharness-integration/index.js +123 -0
- package/dist/electron-build/bollharness-integration/index.js.map +1 -0
- package/dist/electron-build/bollharness-integration/integration.js +531 -0
- package/dist/electron-build/bollharness-integration/integration.js.map +1 -0
- package/dist/electron-build/bollharness-integration/skill-adapter.js +608 -0
- package/dist/electron-build/bollharness-integration/skill-adapter.js.map +1 -0
- package/dist/electron-build/bootstrap/bootstrap.js +173 -0
- package/dist/electron-build/bootstrap/bootstrap.js.map +1 -0
- package/dist/electron-build/bootstrap/context-collector.js +358 -0
- package/dist/electron-build/bootstrap/context-collector.js.map +1 -0
- package/dist/electron-build/bootstrap/context-hierarchy.js +262 -0
- package/dist/electron-build/bootstrap/context-hierarchy.js.map +1 -0
- package/dist/electron-build/bootstrap/context-manager.js +211 -0
- package/dist/electron-build/bootstrap/context-manager.js.map +1 -0
- package/dist/electron-build/bootstrap/context-os.js +277 -0
- package/dist/electron-build/bootstrap/context-os.js.map +1 -0
- package/dist/electron-build/bootstrap/event-log.js +203 -0
- package/dist/electron-build/bootstrap/event-log.js.map +1 -0
- package/dist/electron-build/bootstrap/exhaust-scrubber.js +277 -0
- package/dist/electron-build/bootstrap/exhaust-scrubber.js.map +1 -0
- package/dist/electron-build/bootstrap/lifecycle-hooks.js +282 -0
- package/dist/electron-build/bootstrap/lifecycle-hooks.js.map +1 -0
- package/dist/electron-build/bootstrap/memory-compressor.js +377 -0
- package/dist/electron-build/bootstrap/memory-compressor.js.map +1 -0
- package/dist/electron-build/bootstrap/persona-loader.js +219 -0
- package/dist/electron-build/bootstrap/persona-loader.js.map +1 -0
- package/dist/electron-build/bootstrap/project-context.js +162 -0
- package/dist/electron-build/bootstrap/project-context.js.map +1 -0
- package/dist/electron-build/bootstrap/project-state.js +205 -0
- package/dist/electron-build/bootstrap/project-state.js.map +1 -0
- package/dist/electron-build/bootstrap/session-window.js +162 -0
- package/dist/electron-build/bootstrap/session-window.js.map +1 -0
- package/dist/electron-build/bootstrap/vector-index.js +291 -0
- package/dist/electron-build/bootstrap/vector-index.js.map +1 -0
- package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/cancelOrder.js +22 -0
- package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/cancelOrder.js.map +1 -0
- package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/clobShared.js +86 -0
- package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/clobShared.js.map +1 -0
- package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/createOrder.js +37 -0
- package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/createOrder.js.map +1 -0
- package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/getMarket.js +20 -0
- package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/getMarket.js.map +1 -0
- package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/getOrders.js +29 -0
- package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/getOrders.js.map +1 -0
- package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/listMarkets.js +28 -0
- package/dist/electron-build/constraint-runtime/src/tools/PolymarketSDK/listMarkets.js.map +1 -0
- package/dist/electron-build/constraint-runtime/src/tools/SafeSDK/deploySafe.js +10 -0
- package/dist/electron-build/constraint-runtime/src/tools/SafeSDK/deploySafe.js.map +1 -0
- package/dist/electron-build/constraint-runtime/src/tools/WalletTools/autoPay.js +68 -0
- package/dist/electron-build/constraint-runtime/src/tools/WalletTools/autoPay.js.map +1 -0
- package/dist/electron-build/constraint-runtime/src/tools/WalletTools/createWallet.js +14 -0
- package/dist/electron-build/constraint-runtime/src/tools/WalletTools/createWallet.js.map +1 -0
- package/dist/electron-build/constraint-runtime/src/tools/WalletTools/getBalance.js +17 -0
- package/dist/electron-build/constraint-runtime/src/tools/WalletTools/getBalance.js.map +1 -0
- package/dist/electron-build/constraint-runtime/src/tools/WalletTools/importWallet.js +59 -0
- package/dist/electron-build/constraint-runtime/src/tools/WalletTools/importWallet.js.map +1 -0
- package/dist/electron-build/constraint-runtime/src/tools/WalletTools/sendTransaction.js +29 -0
- package/dist/electron-build/constraint-runtime/src/tools/WalletTools/sendTransaction.js.map +1 -0
- package/dist/electron-build/constraint-runtime/src/tools/WalletTools/signMessage.js +14 -0
- package/dist/electron-build/constraint-runtime/src/tools/WalletTools/signMessage.js.map +1 -0
- package/dist/electron-build/constraint-runtime/src/tools/WalletTools/transferToken.js +29 -0
- package/dist/electron-build/constraint-runtime/src/tools/WalletTools/transferToken.js.map +1 -0
- package/dist/electron-build/constraints/index.js +11 -0
- package/dist/electron-build/constraints/index.js.map +1 -0
- package/dist/electron-build/context-compaction/auto-compact.js +182 -0
- package/dist/electron-build/context-compaction/auto-compact.js.map +1 -0
- package/dist/electron-build/context-compaction/budget-gate.js +32 -0
- package/dist/electron-build/context-compaction/budget-gate.js.map +1 -0
- package/dist/electron-build/context-compaction/budget-reduce.js +39 -0
- package/dist/electron-build/context-compaction/budget-reduce.js.map +1 -0
- package/dist/electron-build/context-compaction/context-collapse.js +71 -0
- package/dist/electron-build/context-compaction/context-collapse.js.map +1 -0
- package/dist/electron-build/context-compaction/index.js +38 -0
- package/dist/electron-build/context-compaction/index.js.map +1 -0
- package/dist/electron-build/context-compaction/microcompact.js +55 -0
- package/dist/electron-build/context-compaction/microcompact.js.map +1 -0
- package/dist/electron-build/context-compaction/pipeline.js +128 -0
- package/dist/electron-build/context-compaction/pipeline.js.map +1 -0
- package/dist/electron-build/context-compaction/snip.js +50 -0
- package/dist/electron-build/context-compaction/snip.js.map +1 -0
- package/dist/electron-build/context-compaction/token-estimator.js +40 -0
- package/dist/electron-build/context-compaction/token-estimator.js.map +1 -0
- package/dist/electron-build/context-compaction/types.js +21 -0
- package/dist/electron-build/context-compaction/types.js.map +1 -0
- package/dist/electron-build/cron/tick-lock.js +247 -0
- package/dist/electron-build/cron/tick-lock.js.map +1 -0
- package/dist/electron-build/documents/reader.js +131 -0
- package/dist/electron-build/documents/reader.js.map +1 -0
- package/dist/electron-build/documents/store.js +220 -0
- package/dist/electron-build/documents/store.js.map +1 -0
- package/dist/electron-build/external-engines/delegate-handle.js +76 -0
- package/dist/electron-build/external-engines/delegate-handle.js.map +1 -0
- package/dist/electron-build/external-engines/delegate.js +225 -0
- package/dist/electron-build/external-engines/delegate.js.map +1 -0
- package/dist/electron-build/external-engines/discovery.js +448 -0
- package/dist/electron-build/external-engines/discovery.js.map +1 -0
- package/dist/electron-build/external-engines/types.js +13 -0
- package/dist/electron-build/external-engines/types.js.map +1 -0
- package/dist/electron-build/hooks/hooks-engine.js +367 -0
- package/dist/electron-build/hooks/hooks-engine.js.map +1 -0
- package/dist/electron-build/judgeness/reflect.js +100 -0
- package/dist/electron-build/judgeness/reflect.js.map +1 -0
- package/dist/electron-build/judgeness/store.js +536 -0
- package/dist/electron-build/judgeness/store.js.map +1 -0
- package/dist/electron-build/judgeness/types.js +21 -0
- package/dist/electron-build/judgeness/types.js.map +1 -0
- package/dist/electron-build/llm/config-store.js +551 -0
- package/dist/electron-build/llm/config-store.js.map +1 -0
- package/dist/electron-build/llm/error-lessons.js +76 -0
- package/dist/electron-build/llm/error-lessons.js.map +1 -0
- package/dist/electron-build/llm/pi-ai.js +830 -0
- package/dist/electron-build/llm/pi-ai.js.map +1 -0
- package/dist/electron-build/llm/system-prompt/registry.js +318 -0
- package/dist/electron-build/llm/system-prompt/registry.js.map +1 -0
- package/dist/electron-build/llm/system-prompt/strip-hibsml.js +55 -0
- package/dist/electron-build/llm/system-prompt/strip-hibsml.js.map +1 -0
- package/dist/electron-build/locales/en.js +32 -0
- package/dist/electron-build/locales/en.js.map +1 -0
- package/dist/electron-build/locales/zh.js +30 -0
- package/dist/electron-build/locales/zh.js.map +1 -0
- package/dist/electron-build/lsp/lsp-manager.js +327 -0
- package/dist/electron-build/lsp/lsp-manager.js.map +1 -0
- package/dist/electron-build/lsp/lsp-tools.js +226 -0
- package/dist/electron-build/lsp/lsp-tools.js.map +1 -0
- package/dist/electron-build/migration/external-agent-migrator.js +451 -0
- package/dist/electron-build/migration/external-agent-migrator.js.map +1 -0
- package/dist/electron-build/network/agent-network.js +775 -0
- package/dist/electron-build/network/agent-network.js.map +1 -0
- package/dist/electron-build/network/goal-event-bridge.js +62 -0
- package/dist/electron-build/network/goal-event-bridge.js.map +1 -0
- package/dist/electron-build/network/iroh-integration.js +117 -0
- package/dist/electron-build/network/iroh-integration.js.map +1 -0
- package/dist/electron-build/network/iroh-transport.js +550 -0
- package/dist/electron-build/network/iroh-transport.js.map +1 -0
- package/dist/electron-build/network/p2p.js +1103 -0
- package/dist/electron-build/network/p2p.js.map +1 -0
- package/dist/electron-build/network/storage/adapters/json-adapter.js +416 -0
- package/dist/electron-build/network/storage/adapters/json-adapter.js.map +1 -0
- package/dist/electron-build/network/storage/types.js +18 -0
- package/dist/electron-build/network/storage/types.js.map +1 -0
- package/dist/electron-build/orbitdb/agent-tools.js +402 -0
- package/dist/electron-build/orbitdb/agent-tools.js.map +1 -0
- package/dist/electron-build/orbitdb/cid-database.js +284 -0
- package/dist/electron-build/orbitdb/cid-database.js.map +1 -0
- package/dist/electron-build/orbitdb/context-store.js +99 -0
- package/dist/electron-build/orbitdb/context-store.js.map +1 -0
- package/dist/electron-build/orbitdb/ipfs-node.js +120 -0
- package/dist/electron-build/orbitdb/ipfs-node.js.map +1 -0
- package/dist/electron-build/orbitdb/kanban-store.js +299 -0
- package/dist/electron-build/orbitdb/kanban-store.js.map +1 -0
- package/dist/electron-build/orbitdb/task-store.js +155 -0
- package/dist/electron-build/orbitdb/task-store.js.map +1 -0
- package/dist/electron-build/orbitdb/trajectory-store.js +194 -0
- package/dist/electron-build/orbitdb/trajectory-store.js.map +1 -0
- package/dist/electron-build/orbitdb/ui-cid.js +77 -0
- package/dist/electron-build/orbitdb/ui-cid.js.map +1 -0
- package/dist/electron-build/pi-ecosystem-a2ui/index.js +89 -0
- package/dist/electron-build/pi-ecosystem-a2ui/index.js.map +1 -0
- package/dist/electron-build/pi-ecosystem-goals/index.js +512 -0
- package/dist/electron-build/pi-ecosystem-goals/index.js.map +1 -0
- package/dist/electron-build/pi-ecosystem-judgment/adaptive-scan.js +325 -0
- package/dist/electron-build/pi-ecosystem-judgment/adaptive-scan.js.map +1 -0
- package/dist/electron-build/pi-ecosystem-judgment/causal-judge.js +492 -0
- package/dist/electron-build/pi-ecosystem-judgment/causal-judge.js.map +1 -0
- package/dist/electron-build/pi-ecosystem-judgment/cleanup.js +167 -0
- package/dist/electron-build/pi-ecosystem-judgment/cleanup.js.map +1 -0
- package/dist/electron-build/pi-ecosystem-judgment/decision.js +321 -0
- package/dist/electron-build/pi-ecosystem-judgment/decision.js.map +1 -0
- package/dist/electron-build/pi-ecosystem-judgment/detect-hook.js +175 -0
- package/dist/electron-build/pi-ecosystem-judgment/detect-hook.js.map +1 -0
- package/dist/electron-build/pi-ecosystem-judgment/distill-prompt.js +232 -0
- package/dist/electron-build/pi-ecosystem-judgment/distill-prompt.js.map +1 -0
- package/dist/electron-build/pi-ecosystem-judgment/distillation.js +304 -0
- package/dist/electron-build/pi-ecosystem-judgment/distillation.js.map +1 -0
- package/dist/electron-build/pi-ecosystem-judgment/evolve-judgment.js +176 -0
- package/dist/electron-build/pi-ecosystem-judgment/evolve-judgment.js.map +1 -0
- package/dist/electron-build/pi-ecosystem-judgment/human-value-pipeline.js +65 -0
- package/dist/electron-build/pi-ecosystem-judgment/human-value-pipeline.js.map +1 -0
- package/dist/electron-build/pi-ecosystem-judgment/human-value-store.js +808 -0
- package/dist/electron-build/pi-ecosystem-judgment/human-value-store.js.map +1 -0
- package/dist/electron-build/pi-ecosystem-judgment/index.js +508 -0
- package/dist/electron-build/pi-ecosystem-judgment/index.js.map +1 -0
- package/dist/electron-build/pi-ecosystem-judgment/injection-gate.js +334 -0
- package/dist/electron-build/pi-ecosystem-judgment/injection-gate.js.map +1 -0
- package/dist/electron-build/pi-ecosystem-judgment/monitor-gate.js +228 -0
- package/dist/electron-build/pi-ecosystem-judgment/monitor-gate.js.map +1 -0
- package/dist/electron-build/pi-ecosystem-judgment/value-injection.js +598 -0
- package/dist/electron-build/pi-ecosystem-judgment/value-injection.js.map +1 -0
- package/dist/electron-build/pi-ecosystem-mcp/index.js +643 -0
- package/dist/electron-build/pi-ecosystem-mcp/index.js.map +1 -0
- package/dist/electron-build/pi-ecosystem-mcp/ui-tools.js +116 -0
- package/dist/electron-build/pi-ecosystem-mcp/ui-tools.js.map +1 -0
- package/dist/electron-build/pi-ecosystem-subagents/index.js +352 -0
- package/dist/electron-build/pi-ecosystem-subagents/index.js.map +1 -0
- package/dist/electron-build/security/builtin-guards.js +133 -0
- package/dist/electron-build/security/builtin-guards.js.map +1 -0
- package/dist/electron-build/security/context-router-tool.js +111 -0
- package/dist/electron-build/security/context-router-tool.js.map +1 -0
- package/dist/electron-build/security/input-scanner.js +263 -0
- package/dist/electron-build/security/input-scanner.js.map +1 -0
- package/dist/electron-build/security/react-harness.js +148 -0
- package/dist/electron-build/security/react-harness.js.map +1 -0
- package/dist/electron-build/security/tool-gate.js +287 -0
- package/dist/electron-build/security/tool-gate.js.map +1 -0
- package/dist/electron-build/setup/setup-store.js +648 -0
- package/dist/electron-build/setup/setup-store.js.map +1 -0
- package/dist/electron-build/social/channels/ChannelManager.js +444 -0
- package/dist/electron-build/social/channels/ChannelManager.js.map +1 -0
- package/dist/electron-build/social/channels/DiapChannelBridge.js +451 -0
- package/dist/electron-build/social/channels/DiapChannelBridge.js.map +1 -0
- package/dist/electron-build/social/channels/InterestMatcher.js +135 -0
- package/dist/electron-build/social/channels/InterestMatcher.js.map +1 -0
- package/dist/electron-build/social/channels/types.js +21 -0
- package/dist/electron-build/social/channels/types.js.map +1 -0
- package/dist/electron-build/social/global-shared-context.js +368 -0
- package/dist/electron-build/social/global-shared-context.js.map +1 -0
- package/dist/electron-build/social/heartbeat.js +882 -0
- package/dist/electron-build/social/heartbeat.js.map +1 -0
- package/dist/electron-build/storage/did-catalog-bridge.js +314 -0
- package/dist/electron-build/storage/did-catalog-bridge.js.map +1 -0
- package/dist/electron-build/storage/did-catalog.js +272 -0
- package/dist/electron-build/storage/did-catalog.js.map +1 -0
- package/dist/electron-build/utils/auto-update.js +140 -558
- package/dist/electron-build/utils/auto-update.js.map +1 -1
- package/dist/electron-build/utils/module-context.js +98 -0
- package/dist/electron-build/utils/module-context.js.map +1 -0
- package/dist/electron-build/utils/runtime-bootstrap.js +745 -0
- package/dist/electron-build/utils/runtime-bootstrap.js.map +1 -0
- package/dist/electron-build/utils/update-manager.js +770 -0
- package/dist/electron-build/utils/update-manager.js.map +1 -0
- package/dist/electron-build/utils/update-state.js +406 -0
- package/dist/electron-build/utils/update-state.js.map +1 -0
- package/dist/electron-build/utils/version-info.js +562 -0
- package/dist/electron-build/utils/version-info.js.map +1 -0
- package/dist/electron-build/web/i18n.js +146 -0
- package/dist/electron-build/web/i18n.js.map +1 -0
- package/dist/electron-build/web/routes-x402-info.js +232 -0
- package/dist/electron-build/web/routes-x402-info.js.map +1 -0
- package/dist/electron-build/web/server-storage.js +390 -0
- package/dist/electron-build/web/server-storage.js.map +1 -0
- package/dist/electron-build/web/server-types.js +52 -0
- package/dist/electron-build/web/server-types.js.map +1 -0
- package/dist/electron-build/web/task-deps.js +41 -0
- package/dist/electron-build/web/task-deps.js.map +1 -0
- package/dist/index.js +28 -27
- package/dist/llm/system-prompt/registry.js +6 -3
- package/dist/utils/auto-update.js +138 -525
- package/dist/utils/module-context.js +59 -0
- package/dist/utils/runtime-bootstrap.js +682 -0
- package/dist/utils/update-cli.js +82 -0
- package/dist/utils/update-health.js +401 -0
- package/dist/utils/update-manager.js +716 -0
- package/dist/utils/update-state.js +353 -0
- package/dist/utils/version-info.js +510 -0
- package/package.json +1 -1
- package/scripts/build-cli.js +32 -151
- package/scripts/postinstall.js +153 -76
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Permission Mode — 3 种模式枚举 + 解析
|
|
4
|
+
*
|
|
5
|
+
* 设计: 严格对齐 Claude Code 论文 3 种 mode (default / acceptEdits / bypassPermissions)
|
|
6
|
+
* 论文第 7 种 (plan/dontAsk/bubble) bolloon 暂不引入, 减少 API surface.
|
|
7
|
+
*
|
|
8
|
+
* 关键设计: shell-guard **不受** mode 影响
|
|
9
|
+
* - 路径黑名单 (.bolloon/, pi-sdk.ts, shell-guard.ts, .env, .git/ 等) 永远生效
|
|
10
|
+
* - 命令 allowlist 默认: git/node/npm/npx/tsx/tsc/vitest/cat/head/tail/wc/ls/echo/pwd/date/mkdir/touch 永远生效
|
|
11
|
+
* - 即使用户设 bypassPermissions, shell 类工具仍走 shell-guard
|
|
12
|
+
*
|
|
13
|
+
* 失败静默: 任何异常 → 返回 'default' (向后兼容)
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.ALL_PERMISSION_MODES = void 0;
|
|
17
|
+
exports.resolvePermissionMode = resolvePermissionMode;
|
|
18
|
+
exports.isEditTool = isEditTool;
|
|
19
|
+
exports.isShellTool = isShellTool;
|
|
20
|
+
exports.shouldRunBlacklist = shouldRunBlacklist;
|
|
21
|
+
exports._resetPermissionModeForTest = _resetPermissionModeForTest;
|
|
22
|
+
exports.ALL_PERMISSION_MODES = [
|
|
23
|
+
'default',
|
|
24
|
+
'acceptEdits',
|
|
25
|
+
'bypassPermissions',
|
|
26
|
+
];
|
|
27
|
+
/**
|
|
28
|
+
* 解析当前 permission mode.
|
|
29
|
+
* 优先级 (由高到低):
|
|
30
|
+
* 1. opts.permissionMode (BootstrapOptions 显式传入)
|
|
31
|
+
* 2. runtime override (~/.bolloon/sessions/permission-mode.json, UI 设置)
|
|
32
|
+
* 3. env BOLLOON_PERM_MODE (环境变量)
|
|
33
|
+
* 4. 'default' (兜底)
|
|
34
|
+
*
|
|
35
|
+
* 非法值 → fallback 'default', console.warn
|
|
36
|
+
* 失败静默: 任何异常 → 'default' (不阻塞主对话)
|
|
37
|
+
*/
|
|
38
|
+
function resolvePermissionMode(opts) {
|
|
39
|
+
try {
|
|
40
|
+
if (opts?.permissionMode && exports.ALL_PERMISSION_MODES.includes(opts.permissionMode)) {
|
|
41
|
+
return opts.permissionMode;
|
|
42
|
+
}
|
|
43
|
+
// runtime override (UI 设置, 存 ~/.bolloon/sessions/permission-mode.json)
|
|
44
|
+
const override = readRuntimeOverride();
|
|
45
|
+
if (override) {
|
|
46
|
+
return override;
|
|
47
|
+
}
|
|
48
|
+
const env = process.env.BOLLOON_PERM_MODE;
|
|
49
|
+
if (env === 'default' || env === 'acceptEdits' || env === 'bypassPermissions') {
|
|
50
|
+
return env;
|
|
51
|
+
}
|
|
52
|
+
if (env && env.length > 0) {
|
|
53
|
+
console.warn(`[permission-mode] unknown BOLLOON_PERM_MODE="${env}", fallback to "default"`);
|
|
54
|
+
}
|
|
55
|
+
return 'default';
|
|
56
|
+
}
|
|
57
|
+
catch (err) {
|
|
58
|
+
console.warn('[permission-mode] resolvePermissionMode failed (silent, using default):', err);
|
|
59
|
+
return 'default';
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* 读 runtime override 文件 (UI 设的 mode).
|
|
64
|
+
* 失败静默: 任何异常 → null (回到 env/default)
|
|
65
|
+
*/
|
|
66
|
+
function readRuntimeOverride() {
|
|
67
|
+
try {
|
|
68
|
+
const fs = require('fs');
|
|
69
|
+
const os = require('os');
|
|
70
|
+
const path = require('path');
|
|
71
|
+
const file = path.join(process.env.HOME || os.homedir() || '/tmp', '.bolloon', 'sessions', 'permission-mode.json');
|
|
72
|
+
if (!fs.existsSync(file))
|
|
73
|
+
return null;
|
|
74
|
+
const raw = fs.readFileSync(file, 'utf-8');
|
|
75
|
+
const obj = JSON.parse(raw);
|
|
76
|
+
if (obj && typeof obj.mode === 'string' && exports.ALL_PERMISSION_MODES.includes(obj.mode)) {
|
|
77
|
+
return obj.mode;
|
|
78
|
+
}
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* 工具名分类: 是不是"编辑"类 (受 acceptEdits 模式影响)
|
|
87
|
+
* 简单按前缀, 不做完整注册表
|
|
88
|
+
*/
|
|
89
|
+
function isEditTool(toolName) {
|
|
90
|
+
const lc = toolName.toLowerCase();
|
|
91
|
+
return lc.startsWith('edit_') || lc.startsWith('write_') || lc === 'str_replace' || lc === 'create_file' || lc === 'present_files';
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* 工具名分类: 是不是"shell"类 (永远走 shell-guard, 不受 mode 影响)
|
|
95
|
+
*/
|
|
96
|
+
function isShellTool(toolName) {
|
|
97
|
+
const lc = toolName.toLowerCase();
|
|
98
|
+
return lc === 'shell' || lc === 'shell_exec' || lc === 'bash';
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* 判断当前 mode + tool 的最终是否需要走 blacklist
|
|
102
|
+
*
|
|
103
|
+
* 逻辑表:
|
|
104
|
+
* - shell 工具: 永远走 blacklist (shell-guard 接管)
|
|
105
|
+
* - bypassPermissions 模式: 非 shell 全部放行
|
|
106
|
+
* - acceptEdits 模式: edit_* / write_* 类跳过 blacklist
|
|
107
|
+
* - default 模式: 全部走 blacklist
|
|
108
|
+
*/
|
|
109
|
+
function shouldRunBlacklist(toolName, mode) {
|
|
110
|
+
if (isShellTool(toolName))
|
|
111
|
+
return true; // shell-guard 永远跑
|
|
112
|
+
if (mode === 'bypassPermissions')
|
|
113
|
+
return false;
|
|
114
|
+
if (mode === 'acceptEdits' && isEditTool(toolName))
|
|
115
|
+
return false;
|
|
116
|
+
return true; // default
|
|
117
|
+
}
|
|
118
|
+
// ============================================================
|
|
119
|
+
// 测试钩子
|
|
120
|
+
// ============================================================
|
|
121
|
+
function _resetPermissionModeForTest() {
|
|
122
|
+
// 解析只读 env, 无内部状态, 保留 API 一致
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=permission-mode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission-mode.js","sourceRoot":"","sources":["../../../src/agents/permission-mode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* pi-harness.ts — 唯一 PiAgentHarness 门面 (2026-09-16 Milestone 1-B)
|
|
4
|
+
*
|
|
5
|
+
* 背景 (leo 2026-09-16): 约束层是**散落的多层** —— react-harness / deny-pipeline /
|
|
6
|
+
* pre-tool-validator(human-value-pipeline) / hooks-engine / tool-gate / loop-review 各自被
|
|
7
|
+
* pi-sdk 在不同位置分别调用, 于是出现"某条路径走 deny-pipeline、另一条绕过它", 且各自出错时
|
|
8
|
+
* 的处置不一致 (多数是 fail-open = 出错就放行)。
|
|
9
|
+
*
|
|
10
|
+
* 这一层不删旧模块, 只**收敛入口**: pi-sdk 只认识 PiAgentHarness, 由 Harness 决定约束流程与顺序。
|
|
11
|
+
* 旧模块成为 Harness 的内部实现 (通过构造参数注入, 行为保持不变)。
|
|
12
|
+
*
|
|
13
|
+
* 生命周期 (与计划书一致):
|
|
14
|
+
* sessionStart → beforeModelCall → afterModelCall → beforeToolCall → afterToolCall
|
|
15
|
+
* → checkpoint → recover → pause → sessionEnd
|
|
16
|
+
*
|
|
17
|
+
* 失败分级 (leo 2026-09-16 第 6 条):
|
|
18
|
+
* core_constraint 核心约束自身失效 (e.g. 策略层异常) → **阻止执行** (默认 fail-closed)
|
|
19
|
+
* policy_denied 工具被策略拒绝 → 返回 agent 可处理的拒绝结果 (不崩, 不静默放行)
|
|
20
|
+
* observational 观测/记录失败 → 记降级, 不中断 (决策不因记账失败而改变)
|
|
21
|
+
* goal_review 目标审查未通过 → 不许进 done (由调用方按决策续跑)
|
|
22
|
+
*
|
|
23
|
+
* 设计取舍 (如实记):
|
|
24
|
+
* - 旧行为里 "harness 抛错 → 放行" 是 fail-open; 现在默认 fail-closed (`failClosed: true`)。
|
|
25
|
+
* 这是 Phase 1 的**明确要求** (不允许 harness 出错后默认放行高风险工具), 不是顺带改动。
|
|
26
|
+
* - Harness 事件写 Run 用"观测级"写入: 记账失败绝不改变已做出的决策 (记录是账, 不是闸)。
|
|
27
|
+
*/
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.PiAgentHarness = void 0;
|
|
30
|
+
const loop_review_js_1 = require("./loop-review.js");
|
|
31
|
+
class PiAgentHarness {
|
|
32
|
+
deps;
|
|
33
|
+
failClosed;
|
|
34
|
+
modelCalls = 0;
|
|
35
|
+
degradedOnce = new Set();
|
|
36
|
+
constructor(deps) {
|
|
37
|
+
this.deps = deps;
|
|
38
|
+
this.failClosed = deps.failClosed !== false;
|
|
39
|
+
}
|
|
40
|
+
/** 事件出口: 记账失败**永不**抛出 (记录是账, 不是闸) */
|
|
41
|
+
emit(e) {
|
|
42
|
+
try {
|
|
43
|
+
const full = { ts: new Date().toISOString(), ...e };
|
|
44
|
+
const out = this.deps.events?.(full);
|
|
45
|
+
if (out && typeof out.catch === 'function') {
|
|
46
|
+
out.catch((err) => console.warn('[PiAgentHarness] 事件写入失败 (非致命):', err?.message));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
catch (err) {
|
|
50
|
+
console.warn('[PiAgentHarness] 事件构造/写入失败 (非致命):', err?.message);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/** 约束层自身失效的统一处置: 记降级 + 决定是否放行 (failClosed → 不放行) */
|
|
54
|
+
onLayerError(layer, err, ctx, tool) {
|
|
55
|
+
const message = `${layer} 失效: ${String(err?.message || err).slice(0, 200)}`;
|
|
56
|
+
console.warn(`[PiAgentHarness] ${message}`);
|
|
57
|
+
this.emit({ event: 'beforeToolCall', kind: 'error', failureKind: 'core_constraint', tool, reason: message, source: layer, runId: ctx.runId, goalId: ctx.goalId });
|
|
58
|
+
if (!this.failClosed)
|
|
59
|
+
return null; // 旧语义 (fail-open) — 仅显式配置时
|
|
60
|
+
return {
|
|
61
|
+
allow: false,
|
|
62
|
+
reason: `核心约束层 ${layer} 失效, 已阻止该工具调用 (fail-closed): ${message}`,
|
|
63
|
+
source: 'harness-error',
|
|
64
|
+
kind: 'core_constraint',
|
|
65
|
+
degraded: true,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
// ───────────────────────── session ─────────────────────────
|
|
69
|
+
async sessionStart(ctx) {
|
|
70
|
+
const t0 = Date.now();
|
|
71
|
+
// ① react-harness 会话开启 (8-gate 状态复位)
|
|
72
|
+
try {
|
|
73
|
+
await this.deps.reactHarness.onSessionStart(ctx.channelId);
|
|
74
|
+
}
|
|
75
|
+
catch (err) {
|
|
76
|
+
this.emit({ event: 'sessionStart', kind: 'degrade', failureKind: 'observational', reason: `reactHarness.onSessionStart 失败: ${err?.message}`, runId: ctx.runId, goalId: ctx.goalId });
|
|
77
|
+
}
|
|
78
|
+
// ② hooks: onLoopStart (一次运行一次; 与旧行为一致)
|
|
79
|
+
let hookDeny = null;
|
|
80
|
+
try {
|
|
81
|
+
const results = await this.deps.hooks.fire('onLoopStart', { event: 'onLoopStart', channelId: ctx.channelId, agentId: ctx.agentId });
|
|
82
|
+
for (const r of results || [])
|
|
83
|
+
if (r?.deny)
|
|
84
|
+
hookDeny = r.reason || 'hook 拒绝';
|
|
85
|
+
}
|
|
86
|
+
catch { /* hook 失败静默 (与旧行为一致: hooks-engine 自身已兜底) */ }
|
|
87
|
+
this.emit({ event: 'sessionStart', kind: hookDeny ? 'deny' : 'allow', reason: hookDeny || undefined, source: 'hooks', ms: Date.now() - t0, runId: ctx.runId, goalId: ctx.goalId });
|
|
88
|
+
}
|
|
89
|
+
async sessionEnd(ctx) {
|
|
90
|
+
try {
|
|
91
|
+
await this.deps.reactHarness.onSessionEnd();
|
|
92
|
+
this.emit({ event: 'sessionEnd', kind: 'note', runId: ctx.runId, goalId: ctx.goalId });
|
|
93
|
+
}
|
|
94
|
+
catch (err) {
|
|
95
|
+
this.emit({ event: 'sessionEnd', kind: 'degrade', failureKind: 'observational', reason: `reactHarness.onSessionEnd 失败: ${err?.message}`, runId: ctx.runId, goalId: ctx.goalId });
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// ───────────────────────── model call ─────────────────────────
|
|
99
|
+
/**
|
|
100
|
+
* 模型调用前 (扩展点)。默认只计数 + 留事件。
|
|
101
|
+
* 刻意**不**在此 fire 新的 hook 事件: 旧行为里模型调用前没有任何 hook, 加了会改变现有
|
|
102
|
+
* hooks.yaml 用户的实际触发次数 (属于行为变更, 需要单独决策, 见 wiki 记录)。
|
|
103
|
+
*/
|
|
104
|
+
beforeModelCall(ctx) {
|
|
105
|
+
this.modelCalls++;
|
|
106
|
+
this.emit({ event: 'beforeModelCall', kind: 'note', runId: ctx.runId, goalId: ctx.goalId });
|
|
107
|
+
return { hints: [] };
|
|
108
|
+
}
|
|
109
|
+
afterModelCall(ctx, info = {}) {
|
|
110
|
+
if (info.error) {
|
|
111
|
+
this.emit({ event: 'afterModelCall', kind: 'error', failureKind: 'core_constraint', reason: String(info.error?.message || info.error).slice(0, 200), ms: info.ms, runId: ctx.runId, goalId: ctx.goalId });
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
this.emit({ event: 'afterModelCall', kind: 'note', ms: info.ms, runId: ctx.runId, goalId: ctx.goalId });
|
|
115
|
+
}
|
|
116
|
+
get modelCallCount() {
|
|
117
|
+
return this.modelCalls;
|
|
118
|
+
}
|
|
119
|
+
// ───────────────────────── tool call ─────────────────────────
|
|
120
|
+
/**
|
|
121
|
+
* 工具调用前的**唯一**决策入口。
|
|
122
|
+
* 顺序严格保持旧实现: deny-pipeline → pre-tool-validator(4 步链) → react-harness(8-gate)。
|
|
123
|
+
* 任一层拒绝即返回 (第一层拒绝后不再检查后续), 与旧行为一致。
|
|
124
|
+
*/
|
|
125
|
+
async beforeToolCall(input) {
|
|
126
|
+
const { tool, args, ctx } = input;
|
|
127
|
+
const t0 = Date.now();
|
|
128
|
+
// ① deny-pipeline (黑名单 / 权限 / hooks 策略)
|
|
129
|
+
let denyResult = null;
|
|
130
|
+
try {
|
|
131
|
+
denyResult = await this.deps.denyPipeline.check({
|
|
132
|
+
toolName: tool,
|
|
133
|
+
toolArgs: args || {},
|
|
134
|
+
permissionMode: input.permissionMode,
|
|
135
|
+
channelId: ctx.channelId,
|
|
136
|
+
agentId: ctx.agentId,
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
catch (err) {
|
|
140
|
+
const fail = this.onLayerError('deny-pipeline', err, ctx, tool);
|
|
141
|
+
if (fail)
|
|
142
|
+
return fail;
|
|
143
|
+
}
|
|
144
|
+
if (denyResult?.denied) {
|
|
145
|
+
const decision = {
|
|
146
|
+
allow: false,
|
|
147
|
+
reason: denyResult.reason,
|
|
148
|
+
source: 'deny-pipeline',
|
|
149
|
+
rejectedBy: denyResult.source,
|
|
150
|
+
kind: 'policy_denied',
|
|
151
|
+
};
|
|
152
|
+
this.emit({ event: 'beforeToolCall', kind: 'deny', failureKind: 'policy_denied', tool, reason: denyResult.reason, source: `deny-pipeline:${denyResult.source}`, ms: Date.now() - t0, runId: ctx.runId, goalId: ctx.goalId });
|
|
153
|
+
return decision;
|
|
154
|
+
}
|
|
155
|
+
// ② 参数/危险命令校验 (pre-tool-validator 4 步链)
|
|
156
|
+
if (this.deps.preToolUse) {
|
|
157
|
+
let pre = null;
|
|
158
|
+
try {
|
|
159
|
+
pre = await this.deps.preToolUse({ tool, args: args || {}, permissionMode: input.permissionMode });
|
|
160
|
+
}
|
|
161
|
+
catch (err) {
|
|
162
|
+
const fail = this.onLayerError('pre-tool-validator', err, ctx, tool);
|
|
163
|
+
if (fail)
|
|
164
|
+
return fail;
|
|
165
|
+
}
|
|
166
|
+
if (pre && !pre.allowed) {
|
|
167
|
+
this.emit({ event: 'beforeToolCall', kind: 'deny', failureKind: 'policy_denied', tool, reason: pre.reason, source: 'pre-tool-validator', ms: Date.now() - t0, runId: ctx.runId, goalId: ctx.goalId });
|
|
168
|
+
return {
|
|
169
|
+
allow: false,
|
|
170
|
+
reason: pre.reason || '未通过安全校验',
|
|
171
|
+
source: 'pre-tool-validator',
|
|
172
|
+
rejectedBy: 'pre-tool-validator',
|
|
173
|
+
kind: 'policy_denied',
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
// ③ react-harness (8-gate + builtin-guards, 含路由 hint)
|
|
178
|
+
let preCall = null;
|
|
179
|
+
try {
|
|
180
|
+
preCall = await this.deps.reactHarness.preToolCall(tool, args || {}, ctx.channelId);
|
|
181
|
+
}
|
|
182
|
+
catch (err) {
|
|
183
|
+
const fail = this.onLayerError('react-harness', err, ctx, tool);
|
|
184
|
+
if (fail)
|
|
185
|
+
return fail;
|
|
186
|
+
}
|
|
187
|
+
if (preCall && !preCall.allowed) {
|
|
188
|
+
this.emit({ event: 'beforeToolCall', kind: 'deny', failureKind: 'policy_denied', tool, reason: preCall.reason, source: `react-harness:${preCall.details?.rejectedBy}`, ms: Date.now() - t0, runId: ctx.runId, goalId: ctx.goalId });
|
|
189
|
+
return {
|
|
190
|
+
allow: false,
|
|
191
|
+
reason: preCall.reason || '未通过安全校验',
|
|
192
|
+
source: 'react-harness',
|
|
193
|
+
rejectedBy: preCall.details?.rejectedBy,
|
|
194
|
+
kind: 'policy_denied',
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
this.emit({ event: 'beforeToolCall', kind: 'allow', tool, source: 'harness', ms: Date.now() - t0, runId: ctx.runId, goalId: ctx.goalId });
|
|
198
|
+
return { allow: true, systemAddition: denyResult?.systemAddition };
|
|
199
|
+
}
|
|
200
|
+
/** 工具调用后: 路由 hint + 输出 gate (顺序与旧实现一致: hint 先, output gate 后) */
|
|
201
|
+
async afterToolCall(input) {
|
|
202
|
+
const { tool, ctx } = input;
|
|
203
|
+
const out = {};
|
|
204
|
+
try {
|
|
205
|
+
const routeHint = this.deps.reactHarness.getLastRouteHint();
|
|
206
|
+
if (routeHint && routeHint.systemAddition) {
|
|
207
|
+
out.routeHint = { reason: routeHint.reason, systemAddition: routeHint.systemAddition };
|
|
208
|
+
this.deps.reactHarness.clearRouteHint();
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
catch { /* hint 读失败不影响执行 */ }
|
|
212
|
+
try {
|
|
213
|
+
const post = await this.deps.reactHarness.postToolCall(tool, String(input.output || ''), ctx.channelId);
|
|
214
|
+
if (!post.allowed) {
|
|
215
|
+
out.outputBlocked = { reason: post.reason || '输出含敏感信息' };
|
|
216
|
+
this.emit({ event: 'afterToolCall', kind: 'deny', failureKind: 'policy_denied', tool, reason: out.outputBlocked.reason, source: 'react-harness:output', runId: ctx.runId, goalId: ctx.goalId });
|
|
217
|
+
return out;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
catch (err) {
|
|
221
|
+
// 旧行为: output gate 失败 → 放行原输出 (fail-open)。这里保持放行 (输出已产生, 拦不住源头),
|
|
222
|
+
// 但**必须留痕**: 不把"gate 没跑成"说成"gate 通过了"。
|
|
223
|
+
out.degraded = true;
|
|
224
|
+
this.emit({ event: 'afterToolCall', kind: 'degrade', failureKind: 'observational', tool, reason: `output gate 失效 (输出已按原样放行): ${err?.message}`, source: 'react-harness:output', runId: ctx.runId, goalId: ctx.goalId });
|
|
225
|
+
return out;
|
|
226
|
+
}
|
|
227
|
+
this.emit({ event: 'afterToolCall', kind: 'allow', tool, source: 'harness', runId: ctx.runId, goalId: ctx.goalId });
|
|
228
|
+
return out;
|
|
229
|
+
}
|
|
230
|
+
// ───────────────────────── run 生命周期 ─────────────────────────
|
|
231
|
+
/** checkpoint: 由 Harness 统一触发 (调用方给实现, 通常是 run-store.saveCheckpoint) */
|
|
232
|
+
async checkpoint(ctx, cp) {
|
|
233
|
+
try {
|
|
234
|
+
await this.deps.events?.({ ts: new Date().toISOString(), event: 'checkpoint', kind: 'note', ms: undefined, runId: ctx.runId, goalId: ctx.goalId, reason: cp.nextAction });
|
|
235
|
+
}
|
|
236
|
+
catch { /* 记账失败不影响 */ }
|
|
237
|
+
}
|
|
238
|
+
/** recover / pause: 接口先立 (Milestone 2/3 接线), 此处只留事件 */
|
|
239
|
+
recover(ctx, info) {
|
|
240
|
+
this.emit({ event: 'recover', kind: 'note', failureKind: 'observational', reason: `${info.errorClass || 'unknown'} → ${info.action || 'none'}`, runId: ctx.runId, goalId: ctx.goalId });
|
|
241
|
+
}
|
|
242
|
+
pause(ctx, reason) {
|
|
243
|
+
this.emit({ event: 'pause', kind: 'note', reason, runId: ctx.runId, goalId: ctx.goalId });
|
|
244
|
+
}
|
|
245
|
+
// ───────────────────────── 目标审查 ─────────────────────────
|
|
246
|
+
/**
|
|
247
|
+
* final 前目标对齐审查 (loop-review 的唯一入口)。
|
|
248
|
+
* 审查本身失效时: 记为 goal_review 失败并**按"继续审查"处理**? 不 —— 按协议
|
|
249
|
+
* "目标审查失败: 禁止进入 done", 这里返回 `continue-review` 的等价结果 (不放过收尾),
|
|
250
|
+
* 避免"审查没跑成 → 直接算完成"。
|
|
251
|
+
*/
|
|
252
|
+
reviewFinal(state, maxReviews = loop_review_js_1.DEFAULT_MAX_REVIEWS) {
|
|
253
|
+
try {
|
|
254
|
+
const decision = (0, loop_review_js_1.decideAfterReview)(state, maxReviews);
|
|
255
|
+
this.emit({ event: 'review', kind: decision.kind === 'continue-review' ? 'note' : 'allow', failureKind: 'goal_review', reason: decision.kind, runId: state.runId, goalId: state.goalId });
|
|
256
|
+
return decision;
|
|
257
|
+
}
|
|
258
|
+
catch (err) {
|
|
259
|
+
this.emit({ event: 'review', kind: 'error', failureKind: 'goal_review', reason: `审查器失效: ${err?.message}`, runId: state.runId, goalId: state.goalId });
|
|
260
|
+
return {
|
|
261
|
+
kind: 'continue-review',
|
|
262
|
+
hint: `[目标审查降级] 审查器执行失败 (${String(err?.message || err).slice(0, 120)}), 按"未确认完成"处理: 请再次核对用户需求是否真的全部满足, 并列出证据。确认完成后再加 <final gen>。`,
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
exports.PiAgentHarness = PiAgentHarness;
|
|
268
|
+
//# sourceMappingURL=pi-harness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pi-harness.js","sourceRoot":"","sources":["../../../src/agents/pi-harness.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createAgentSession = createAgentSession;
|
|
4
|
+
exports.getAgentSession = getAgentSession;
|
|
5
|
+
exports.resetAgentSession = resetAgentSession;
|
|
6
|
+
exports.runSelfImproveLoop = runSelfImproveLoop;
|
|
7
|
+
const shell_tool_js_1 = require("./shell-tool.js");
|
|
8
|
+
const shell_guard_js_1 = require("./shell-guard.js");
|
|
9
|
+
/**
|
|
10
|
+
* Session factory + runSelfImproveLoop.
|
|
11
|
+
*
|
|
12
|
+
* 从 pi-sdk.ts 抽出 (2026-07-06):
|
|
13
|
+
* - createAgentSession(config, forceNew?)
|
|
14
|
+
* - getAgentSession()
|
|
15
|
+
* - resetAgentSession()
|
|
16
|
+
* - runSelfImproveLoop(goal)
|
|
17
|
+
*
|
|
18
|
+
* 三个状态变量 (module-level):
|
|
19
|
+
* - sessionInstance: 单例 cache
|
|
20
|
+
* - lastIdentityDid: DID 变化检测
|
|
21
|
+
* - independentSessions: 多 session 缓存 (peerId 含 : 的场景)
|
|
22
|
+
* - lastSelfImproveAt: 自改冷却期
|
|
23
|
+
*/
|
|
24
|
+
const pi_sdk_js_1 = require("./pi-sdk.js");
|
|
25
|
+
let sessionInstance = null;
|
|
26
|
+
let lastIdentityDid = null;
|
|
27
|
+
const independentSessions = new Map();
|
|
28
|
+
async function createAgentSession(config, forceNew) {
|
|
29
|
+
const incomingDid = config.identityDoc?.did;
|
|
30
|
+
if (config.peerId && config.peerId.includes(':')) {
|
|
31
|
+
const key = config.peerId;
|
|
32
|
+
if (!forceNew && independentSessions.has(key)) {
|
|
33
|
+
console.log(`[createAgentSession] 找到现有独立 session, key=${key}`);
|
|
34
|
+
const existing = independentSessions.get(key);
|
|
35
|
+
await existing.whenReady();
|
|
36
|
+
return existing;
|
|
37
|
+
}
|
|
38
|
+
const session = new pi_sdk_js_1.PiAgentSession(config);
|
|
39
|
+
independentSessions.set(key, session);
|
|
40
|
+
console.log(`[createAgentSession] 创建独立 session, key=${key}, DID=${incomingDid}`);
|
|
41
|
+
await session.whenReady();
|
|
42
|
+
return session;
|
|
43
|
+
}
|
|
44
|
+
if (forceNew) {
|
|
45
|
+
const key = `force:${Date.now()}`;
|
|
46
|
+
const session = new pi_sdk_js_1.PiAgentSession(config);
|
|
47
|
+
independentSessions.set(key, session);
|
|
48
|
+
console.log(`[createAgentSession] 创建强制新 session, key=${key}`);
|
|
49
|
+
await session.whenReady();
|
|
50
|
+
return session;
|
|
51
|
+
}
|
|
52
|
+
if (sessionInstance && lastIdentityDid && incomingDid && lastIdentityDid !== incomingDid) {
|
|
53
|
+
console.log(`[createAgentSession] DID 变化 ${lastIdentityDid} -> ${incomingDid},重建 session`);
|
|
54
|
+
sessionInstance = null;
|
|
55
|
+
}
|
|
56
|
+
if (sessionInstance) {
|
|
57
|
+
const currentDid = sessionInstance.getIdentity().did;
|
|
58
|
+
if (incomingDid && currentDid !== incomingDid) {
|
|
59
|
+
console.log(`[createAgentSession] 更新 identity: ${currentDid} -> ${incomingDid}`);
|
|
60
|
+
sessionInstance.updateIdentity({
|
|
61
|
+
did: incomingDid,
|
|
62
|
+
name: config.identityDoc?.name || sessionInstance.getIdentity().name,
|
|
63
|
+
publicKey: config.identityDoc?.publicKey || '',
|
|
64
|
+
createdAt: Date.now()
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
await sessionInstance.whenReady();
|
|
68
|
+
return sessionInstance;
|
|
69
|
+
}
|
|
70
|
+
const newSession = new pi_sdk_js_1.PiAgentSession(config);
|
|
71
|
+
sessionInstance = newSession;
|
|
72
|
+
lastIdentityDid = config.identityDoc?.did || null;
|
|
73
|
+
console.log(`[createAgentSession] 新建 session, DID=${lastIdentityDid}`);
|
|
74
|
+
await newSession.whenReady();
|
|
75
|
+
return newSession;
|
|
76
|
+
}
|
|
77
|
+
function getAgentSession() {
|
|
78
|
+
return sessionInstance;
|
|
79
|
+
}
|
|
80
|
+
function resetAgentSession() {
|
|
81
|
+
sessionInstance = null;
|
|
82
|
+
lastIdentityDid = null;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* 自我改进循环: 在沙箱分支上工作, 输出结果给用户审.
|
|
86
|
+
*
|
|
87
|
+
* 不在 PiAgent 实例上的原因: 心跳回调可能没有 agent 实例, 单独函数更易复用.
|
|
88
|
+
*
|
|
89
|
+
* **关键不变量**:
|
|
90
|
+
* 1. AI 不能 push 到 master (shell-guard 黑名单 + git 受保护分支)
|
|
91
|
+
* 2. 改动必须走沙箱分支 (SELF_IMPROVE_BRANCH_PREFIX)
|
|
92
|
+
* 3. 6 小时冷却期 (SELF_IMPROVE_COOLDOWN_MS)
|
|
93
|
+
* 4. 写文件必须经过 shell_exec + 护栏检查
|
|
94
|
+
*/
|
|
95
|
+
let lastSelfImproveAt = null;
|
|
96
|
+
async function runSelfImproveLoop(goal) {
|
|
97
|
+
const cooldownMs = (0, shell_guard_js_1.getCooldownMs)();
|
|
98
|
+
if (lastSelfImproveAt && Date.now() - lastSelfImproveAt < cooldownMs) {
|
|
99
|
+
const waitHrs = Math.ceil((cooldownMs - (Date.now() - lastSelfImproveAt)) / 3600000);
|
|
100
|
+
return { success: false, error: `自改冷却中, 还需要约 ${waitHrs} 小时` };
|
|
101
|
+
}
|
|
102
|
+
const sourceBranch = 'master';
|
|
103
|
+
const newBranch = `${(0, shell_guard_js_1.getBranchPrefix)()}${Date.now()}`;
|
|
104
|
+
console.log(`[self-improve] 启动自改循环, 目标: ${goal}, 新分支: ${newBranch}`);
|
|
105
|
+
const r1 = await (0, shell_tool_js_1.shellExec)('git', ['checkout', sourceBranch]);
|
|
106
|
+
if (!r1.success)
|
|
107
|
+
return { success: false, error: `切换到 ${sourceBranch} 失败: ${r1.error}` };
|
|
108
|
+
const r2 = await (0, shell_tool_js_1.shellExec)('git', ['checkout', '-b', newBranch]);
|
|
109
|
+
if (!r2.success)
|
|
110
|
+
return { success: false, error: `创建分支失败: ${r2.error}` };
|
|
111
|
+
lastSelfImproveAt = Date.now();
|
|
112
|
+
return {
|
|
113
|
+
success: true,
|
|
114
|
+
output: `✅ 自改分支已创建: ${newBranch}\n目标: ${goal}\n\n**护栏已激活**:\n - 仅允许白名单命令\n - 6 小时冷却期\n\nAI 接下来会用 shell_exec 工具改源码. 完成后你会在对话里看到 diff 摘要, 手动 git diff master..${newBranch} 审, 满意再 merge.`
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=pi-sdk-session-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pi-sdk-session-factory.js","sourceRoot":"","sources":["../../../src/agents/pi-sdk-session-factory.ts"],"names":[],"mappings":"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"}
|