@fased/fased 0.1.62 → 0.1.64
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/CHANGELOG.md +32 -0
- package/README.md +38 -30
- package/config/dependency-ownership.json +1 -1
- package/config/signer-policies/README.md +49 -0
- package/config/signer-policies/agent.json.template +32 -0
- package/config/signer-policies/mining.json.template +69 -0
- package/config/signer-policies/network.json.template +5 -0
- package/config/signer-policies/vault.json.template +70 -0
- package/config/signer-protocol-v2.json +76 -0
- package/config/typescript-noemit-baseline.json +680 -0
- package/dist/agents/auth-profiles/store.js +267 -31
- package/dist/agents/bash-tools.exec.js +10 -4
- package/dist/agents/current-model-catalog.js +3 -3
- package/dist/agents/memory-search.js +7 -1
- package/dist/agents/model-catalog-access.js +1 -2
- package/dist/agents/model-catalog-snapshot.js +1 -1
- package/dist/agents/model-catalog-source.js +1 -1
- package/dist/agents/model-metadata.js +1 -1
- package/dist/agents/model-selection.js +2 -28
- package/dist/agents/models-config.providers.js +6 -6
- package/dist/agents/pi-embedded-runner/compact.js +15 -7
- package/dist/agents/pi-embedded-runner/model.js +1 -1
- package/dist/agents/pi-embedded-runner/run/attempt.js +24 -13
- package/dist/agents/pi-embedded-runner/run.js +2 -0
- package/dist/agents/pi-embedded-runner/tool-split.js +40 -2
- package/dist/agents/pi-tool-definition-adapter.js +16 -1
- package/dist/agents/pi-tools.js +2 -1
- package/dist/agents/sandbox/config.js +1 -1
- package/dist/agents/sandbox/context.js +27 -2
- package/dist/agents/skills/env-overrides.js +38 -28
- package/dist/agents/skills/trust.js +93 -0
- package/dist/agents/skills/workspace.js +128 -0
- package/dist/agents/skills-clawhub.js +36 -11
- package/dist/agents/skills-marketplace-scan.js +49 -0
- package/dist/agents/tools/marketplace-offer-draft-tool.js +1 -1
- package/dist/agents/tools/mining-tool.js +1 -1
- package/dist/agents/tools/session-status-tool.js +1 -1
- package/dist/agents/tools/wallet-action-tool.js +172 -36
- package/dist/agents/tools/wallet-skill-policy.js +65 -23
- package/dist/agents/tools/wallet-tool.js +7 -11
- package/dist/auto-reply/reply/directive-handling.fast-lane.js +2 -1
- package/dist/auto-reply/reply/directive-handling.impl.js +2 -1
- package/dist/auto-reply/reply/directive-handling.model.js +2 -1
- package/dist/auto-reply/reply/directive-handling.persist.js +2 -2
- package/dist/auto-reply/reply/get-reply-directives-apply.js +2 -0
- package/dist/auto-reply/reply/get-reply-inline-actions.js +25 -1
- package/dist/auto-reply/reply/model-selection.js +7 -4
- package/dist/auto-reply/reply/session-reset-model.js +4 -4
- package/dist/brand.js +1 -1
- package/dist/build-info.json +3 -3
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/channel-web.js +2 -2
- package/dist/cli/gateway-cli/run.js +8 -0
- package/dist/cli/program/command-registry.js +1 -1
- package/dist/cli/program/register.onboard.js +2 -3
- package/dist/cli/program/register.wallet.js +16 -123
- package/dist/cli/providers-cli.js +1 -1
- package/dist/cli/sat-cli.js +129 -2
- package/dist/cli/update-cli/update-command.js +260 -11
- package/dist/commands/auth-choice.apply.api-providers.js +3 -3
- package/dist/commands/doctor-config-flow.js +1 -1
- package/dist/commands/doctor-legacy-config.js +2 -13
- package/dist/commands/model-picker.js +6 -6
- package/dist/commands/models/auth.js +1 -1
- package/dist/commands/onboard-auth.config-gateways.js +1 -1
- package/dist/commands/onboard-auth.credentials.js +32 -8
- package/dist/commands/onboard-non-interactive/local/wallet-config.js +28 -27
- package/dist/commands/onboard-non-interactive/local.js +5 -1
- package/dist/commands/wallet.js +568 -1911
- package/dist/config/config.js +2 -2
- package/dist/config/io.js +64 -2
- package/dist/config/schema.help.js +8 -7
- package/dist/config/schema.labels.js +5 -4
- package/dist/config/zod-schema.agent-runtime.js +1 -0
- package/dist/config/zod-schema.js +5 -0
- package/dist/control-ui/assets/{app-DLil9VO1.js → app-bR-fO5ty.js} +1511 -1555
- package/dist/control-ui/assets/{config-CU5Zi8Dh.js → config-LeImukCW.js} +10 -10
- package/dist/control-ui/assets/{federation-D10Q4eP_.js → federation-DgA9e-Pn.js} +364 -422
- package/dist/control-ui/assets/{index-DdE_NIXo.js → index-ckCxHwjy.js} +3 -3
- package/dist/control-ui/assets/{mining-BdhMn18r.js → mining-BgHFh0ei.js} +134 -114
- package/dist/control-ui/assets/mining-commit-DFpB_4JN.js +2 -0
- package/dist/control-ui/assets/{open-external-url-DwSiwMPl.js → open-external-url-ulF1B-sA.js} +3 -3
- package/dist/control-ui/assets/{providers-QMn4w2_f.js → providers-CIx9fxc6.js} +2 -2
- package/dist/control-ui/assets/{wallet-C2g294QT.js → wallet-DvStR_AT.js} +259 -377
- package/dist/control-ui/index.html +1 -1
- package/dist/control-ui/version.json +1 -1
- package/dist/daemon/systemd-system.js +56 -50
- package/dist/extensions/sat-mining/src/protocol-contract.js +43 -3
- package/dist/extensions/sat-mining/src/rpc-read.js +235 -67
- package/dist/extensions/sat-mining/src/sat-bond-layout.js +5 -2
- package/dist/extensions/sat-mining/src/signer-codec-manifest.js +406 -0
- package/dist/extensions/sat-mining/src/solana-submit.js +1038 -397
- package/dist/extensions/sat-mining/src/submission-ledger.js +349 -0
- package/dist/federation/auto-connect.js +98 -8
- package/dist/federation/marketplace-capability-adapter.js +33 -7
- package/dist/federation/marketplace-delivery-outbox.js +196 -0
- package/dist/federation/marketplace-delivery.js +351 -215
- package/dist/federation/marketplace-direct-payment.js +272 -141
- package/dist/federation/marketplace-escrow.js +607 -249
- package/dist/federation/marketplace-settlement-ledger.js +352 -0
- package/dist/federation/offers.js +9 -7
- package/dist/federation/peer-auth-v2.js +529 -0
- package/dist/gateway/a2a-http.js +425 -96
- package/dist/gateway/a2a-settlement.js +259 -153
- package/dist/gateway/a2a-task-store.js +524 -0
- package/dist/gateway/auth.js +38 -2
- package/dist/gateway/config-reload.js +46 -33
- package/dist/gateway/durable-capacity.js +31 -0
- package/dist/gateway/federation-http.js +540 -135
- package/dist/gateway/federation-marketplace-run-store.js +397 -0
- package/dist/gateway/federation-marketplace.js +535 -230
- package/dist/gateway/mutating-admin-rpc-rate-limit.js +5 -0
- package/dist/gateway/security-path.js +1 -1
- package/dist/gateway/server-http.js +1084 -1205
- package/dist/gateway/server-methods/models.js +1 -1
- package/dist/gateway/server-methods/secrets.js +40 -0
- package/dist/gateway/server-methods.js +1 -2
- package/dist/gateway/server-reload-handlers.js +196 -66
- package/dist/gateway/server-runtime-config.js +1 -1
- package/dist/gateway/server-secrets-runtime.js +288 -0
- package/dist/gateway/server.impl.js +73 -42
- package/dist/gateway/sessions-patch.js +3 -5
- package/dist/index.js +4 -2
- package/dist/infra/fasedhub.js +64 -1
- package/dist/infra/local-source-paired-update.js +538 -0
- package/dist/infra/restart.js +41 -10
- package/dist/infra/update-runner.js +96 -0
- package/dist/light-update-status.js +11 -11
- package/dist/memory/backend-config.js +2 -1
- package/dist/memory/session-files.js +16 -2
- package/dist/plugin-sdk/{accounts-DxblobYM.js → accounts-Brn3-uWN.js} +1 -1
- package/dist/plugin-sdk/{actions-D4UNimWa.js → actions-DRu135h0.js} +2 -2
- package/dist/plugin-sdk/{active-listener-CFuy106s.js → active-listener-B_NMtgPL.js} +1 -1
- package/dist/plugin-sdk/{audio-preflight-Bwi2Oq03.js → audio-preflight-BYxAt775.js} +27 -27
- package/dist/plugin-sdk/{audit-Cs0K7LBp.js → audit-C5d2z5U1.js} +1 -1
- package/dist/plugin-sdk/{channel-access-D5aHoTY8.js → channel-access-CcFRdRPO.js} +1 -1
- package/dist/plugin-sdk/{channel-access-configure-Dvch9mMQ.js → channel-access-configure-DaI5wevh.js} +1 -1
- package/dist/plugin-sdk/channel-plugin-common.d.ts +3 -3
- package/dist/plugin-sdk/channel-plugin-common.js +4 -4
- package/dist/plugin-sdk/{chunk-B0FUGc5A.js → chunk-CyoyqpbG.js} +1 -1
- package/dist/plugin-sdk/{chunk-items-DzT4L4Ty.js → chunk-items-DIRHG2gJ.js} +1 -1
- package/dist/plugin-sdk/command-status.d.ts +2 -2
- package/dist/plugin-sdk/command-status.js +27 -27
- package/dist/plugin-sdk/{commands-registry-DmDRhRAU.js → commands-registry-BfqdEWdF.js} +2 -2
- package/dist/plugin-sdk/{common-CfUOowOp.js → common-HCcXU-NR.js} +1 -1
- package/dist/plugin-sdk/{config-mxULv0fQ.js → config-DlWVeLFB.js} +7113 -6877
- package/dist/plugin-sdk/{config-schema-BrkmtFxB.js → config-schema-BOT7kHb6.js} +6779 -3696
- package/dist/plugin-sdk/device-pair.d.ts +1 -1
- package/dist/plugin-sdk/discord.d.ts +6 -6
- package/dist/plugin-sdk/discord.js +19 -19
- package/dist/plugin-sdk/file-lock.js +35 -4
- package/dist/plugin-sdk/{filesystem-manager-ZoHU8oA7.js → filesystem-manager-DoI8IBNF.js} +1 -1
- package/dist/plugin-sdk/{group-mentions-BHRff6j8.d.ts → group-mentions-q3hUTCt7.d.ts} +1 -1
- package/dist/plugin-sdk/{handle-action-DbVCF9HZ.js → handle-action-hvwapMKg.js} +13 -13
- package/dist/plugin-sdk/{helpers-BXbdgs5H.js → helpers-DMBU4oTo.js} +1 -1
- package/dist/plugin-sdk/{image-ops-D7jPxaph.js → image-ops-DQi0n_Tt.js} +1 -1
- package/dist/plugin-sdk/index.d.ts +21 -39
- package/dist/plugin-sdk/index.js +29 -29
- package/dist/plugin-sdk/{login-BRxww6nv.js → login-Ca583Okc.js} +3 -3
- package/dist/plugin-sdk/{login-qr-DJXsk9XH.js → login-qr-CGciBSNP.js} +3 -3
- package/dist/plugin-sdk/{manager-Y2S_5IlI.js → manager-BegWxNYX.js} +4 -4
- package/dist/plugin-sdk/{markdown-tables-DHLFQqaF.js → markdown-tables-DCOXEUfZ.js} +1 -1
- package/dist/plugin-sdk/{media-Czo4carg.js → media-CAdQF5TG.js} +47 -47
- package/dist/plugin-sdk/{memory-search-DTjIMw8J.js → memory-search-CrFPOeTH.js} +4 -1
- package/dist/plugin-sdk/{monitor-M_ta2lMc.js → monitor-BCFDaqJ-.js} +31 -31
- package/dist/plugin-sdk/{monitor-wYVncM9w.js → monitor-BgbjRiPM.js} +32 -32
- package/dist/plugin-sdk/{openresponses-http-B2GmeSt4.js → openresponses-http-DFf87SMM.js} +27 -27
- package/dist/plugin-sdk/{optional-runtime-dependency-DdMbxS24.js → optional-runtime-dependency-0dznm3ZO.js} +1 -1
- package/dist/plugin-sdk/{outbound-Db8mRN6P.js → outbound-BgVDdHxx.js} +6 -6
- package/dist/plugin-sdk/{outbound-attachment-BqFjcypb.js → outbound-attachment-QqTnIhZL.js} +2 -2
- package/dist/plugin-sdk/{pairing-message-B3bHYGaw.d.ts → pairing-message-CS-9BHug.d.ts} +2 -2
- package/dist/plugin-sdk/{pairing-message-B3GC_7CD.js → pairing-message-D0CoLHRJ.js} +1 -1
- package/dist/plugin-sdk/{pairing-store-CQikgIbw.js → pairing-store-BChahgI2.js} +2 -2
- package/dist/plugin-sdk/{pi-model-discovery-CY3m5zJP.js → pi-model-discovery-BX_JLcEJ.js} +1 -1
- package/dist/plugin-sdk/{pi-model-discovery-runtime-DSh1T2pn.js → pi-model-discovery-runtime-DxTMz_XF.js} +2 -2
- package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +2 -2
- package/dist/plugin-sdk/{pw-ai-AFUqn-tQ.js → pw-ai-natjh3rm.js} +3 -3
- package/dist/plugin-sdk/{qmd-manager-DSyx77KY.js → qmd-manager-CgRaTxUq.js} +1 -1
- package/dist/plugin-sdk/{query-expansion-CAI2kKLQ.js → query-expansion-BG3FgzF7.js} +14 -3
- package/dist/plugin-sdk/{replies-Fzh9PhXl.js → replies-ChYo5ZQM.js} +2 -2
- package/dist/plugin-sdk/{resolve-outbound-target-KpF3co6T.js → resolve-outbound-target-D-KGgHJZ.js} +1 -1
- package/dist/plugin-sdk/{resolve-route-CDl74O19.js → resolve-route-C8tvQm8Z.js} +1 -1
- package/dist/plugin-sdk/{retry-policy-D4uiqUOG.js → retry-policy-C6SjKjQA.js} +1 -1
- package/dist/plugin-sdk/{runtime-Bb6KRnCC.js → runtime-2B9_WKoI.js} +8 -3
- package/dist/plugin-sdk/{runtime-dependency-DLDmB94f.js → runtime-dependency-DczkvPxn.js} +2 -2
- package/dist/plugin-sdk/sat-runtime.d.ts +549 -309
- package/dist/plugin-sdk/sat-runtime.js +29 -29
- package/dist/plugin-sdk/{send-C4k4JuJN.js → send-B6KkGKZD.js} +6 -6
- package/dist/plugin-sdk/{send-D-uDKGIq.js → send-CFzGKJXo.js} +6 -6
- package/dist/plugin-sdk/{send-Du8ykP1k.js → send-DCO441U7.js} +8 -8
- package/dist/plugin-sdk/{send-5nFktR1n.js → send-gDoGA-7e.js} +5 -5
- package/dist/plugin-sdk/{send-Bfzf11VY.js → send-q9HXrSwK.js} +7 -7
- package/dist/plugin-sdk/{session-CS-Td9EM.js → session-DHD4ZKyG.js} +2 -2
- package/dist/plugin-sdk/{skill-commands-CFAlXWHk.js → skill-commands-FKEPLS7T.js} +201 -26
- package/dist/plugin-sdk/{slack-CxE1mfzj.js → slack-BUTt8cxK.js} +39 -39
- package/dist/plugin-sdk/{slack-actions-BcMkNv1Z.js → slack-actions-DhbMcp8M.js} +11 -11
- package/dist/plugin-sdk/slack.d.ts +6 -6
- package/dist/plugin-sdk/slack.js +9 -9
- package/dist/plugin-sdk/{sticker-cache-CGzGWu00.js → sticker-cache-D0wHVqjt.js} +3 -3
- package/dist/plugin-sdk/{tables-bFXyRpkx.js → tables-B3jr0Pvq.js} +1 -1
- package/dist/plugin-sdk/{targets-DH7a9lKB.js → targets-CtSbTxYX.js} +1 -1
- package/dist/plugin-sdk/{telegram-actions-DaEcYQ8r.js → telegram-actions-CC_qN4v0.js} +30 -30
- package/dist/plugin-sdk/telegram.d.ts +6 -6
- package/dist/plugin-sdk/telegram.js +8 -8
- package/dist/plugin-sdk/{thread-bindings.lifecycle-CgOvvdw8.js → thread-bindings.lifecycle-QbkNl-m6.js} +3 -3
- package/dist/plugin-sdk/{thread-bindings.state-CQpk44Hq.js → thread-bindings.state-D9hg_M1c.js} +2 -2
- package/dist/plugin-sdk/tmp-fased-dir-xOTGlzBE.d.ts +486 -0
- package/dist/plugin-sdk/{types-vcJrC_uv.d.ts → types-C3avNytw.d.ts} +3 -4
- package/dist/plugin-sdk/{types-DyhXnYUr.d.ts → types-D0kDG8l0.d.ts} +3 -2
- package/dist/plugin-sdk/{types-DFAW-n1J.d.ts → types-DWfbSAaM.d.ts} +2 -2
- package/dist/plugin-sdk/{types.plugin-_fbu40Re.d.ts → types.plugin-BcSBq42x.d.ts} +8 -3
- package/dist/plugin-sdk/{web-CInY-lCv.js → web-BXsJ1vqe.js} +32 -32
- package/dist/plugin-sdk/{whatsapp-actions-BtSc2CBv.js → whatsapp-actions-Bj_rOncr.js} +13 -13
- package/dist/plugin-sdk/{whatsapp-heartbeat-Bg9TuYzl.js → whatsapp-heartbeat-B1WHkJIg.js} +2 -2
- package/dist/plugin-sdk/whatsapp.d.ts +13 -13
- package/dist/plugin-sdk/whatsapp.js +12 -12
- package/dist/plugin-sdk/{wsl-C4DGFkOd.js → wsl-J-HscWxS.js} +3 -3
- package/dist/plugin-sdk/{zod-schema.providers-core-BEbNizPe.d.ts → zod-schema.providers-core-CIzCjXH9.d.ts} +61 -61
- package/dist/providers/refresh.js +1 -1
- package/dist/providers/registry.js +1 -1
- package/dist/secrets/apply.js +1 -1
- package/dist/secrets/runtime.js +1 -1
- package/dist/wallet/external-submission-ledger.js +376 -0
- package/dist/wallet/legacy-embedded-keystore.js +40 -0
- package/dist/wallet/local-socket-signer-archive.js +30 -0
- package/dist/wallet/local-socket-signer-lifecycle.js +97 -0
- package/dist/wallet/local-socket-signer-policy.js +166 -0
- package/dist/wallet/local-socket-signer-protocol.js +561 -118
- package/dist/wallet/native-signer-wallet-id.js +25 -0
- package/dist/wallet/providers/alchemy-adapter.js +3 -0
- package/dist/wallet/providers/local-socket-signer-adapter.js +380 -105
- package/dist/wallet/providers/turnkey-adapter.js +292 -34
- package/dist/wallet/providers/wallet-standard-adapter.js +100 -0
- package/dist/wallet/signer-network-admin.js +184 -0
- package/dist/wallet/signer-protocol-v2.generated.js +90 -0
- package/dist/wallet/solana-bond-signing.js +157 -69
- package/dist/wallet/solana-reviewed-transaction.js +375 -0
- package/dist/wallet/solana-swap.js +520 -64
- package/dist/wallet/solana-transaction-inspection.js +106 -4
- package/dist/wallet/solana-trigger.js +658 -320
- package/dist/wallet/turnkey-reviewed-state.js +370 -0
- package/dist/wallet/wallet-approval-auth.js +17 -28
- package/dist/wallet/wallet-atomic-state.js +53 -0
- package/dist/wallet/wallet-canary.js +0 -1
- package/dist/wallet/wallet-inbound-events.js +16 -11
- package/dist/wallet/wallet-policy-simulation.js +1 -1
- package/dist/wallet/wallet-policy.js +90 -36
- package/dist/wallet/wallet-provider-capabilities.js +28 -4
- package/dist/wallet/wallet-provider-registry.js +57 -44
- package/dist/wallet/wallet-provider-resolver.js +62 -63
- package/dist/wallet/wallet-runtime-config.js +28 -41
- package/dist/wallet/wallet-secrets-store.js +22 -0
- package/dist/wallet/wallet-send-approvals.js +1891 -589
- package/dist/wallet/wallet-send-execution-ledger.js +292 -0
- package/dist/wallet/wallet-settlement-links.js +14 -13
- package/dist/wallet/wallet-standard-review.js +353 -0
- package/dist/wallet/wallet-status.js +0 -9
- package/dist/wallet/wallet-task-ledger.js +16 -2
- package/dist/web/auto-reply/heartbeat-runner.js +1 -1
- package/dist/web/auto-reply/monitor.js +2 -2
- package/dist/wizard/host-security-capability.js +14 -23
- package/dist/wizard/onboarding.finalize.js +63 -184
- package/dist/wizard/onboarding.host-security.js +117 -1367
- package/dist/wizard/onboarding.js +172 -217
- package/dist/wizard/onboarding.wallet.js +232 -785
- package/extensions/acpx/package.json +1 -1
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/fased-federation/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/lobster/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +12 -0
- package/extensions/matrix/package.json +1 -1
- package/extensions/mattermost/package.json +1 -1
- package/extensions/memory-core/package.json +2 -2
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +12 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +12 -0
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/sat-mining/index.ts +498 -153
- package/extensions/sat-mining/package.json +1 -1
- package/extensions/sat-mining/signer-codec-schema.v1.json +374 -0
- package/extensions/sat-mining/src/audit-store.ts +50 -5
- package/extensions/sat-mining/src/claim-service.ts +85 -14
- package/extensions/sat-mining/src/config.ts +9 -0
- package/extensions/sat-mining/src/cycle-progress.ts +16 -8
- package/extensions/sat-mining/src/epoch-service.ts +9 -5
- package/extensions/sat-mining/src/gateway-runner.ts +21 -1
- package/extensions/sat-mining/src/protocol-contract.ts +45 -1
- package/extensions/sat-mining/src/recovery-service.ts +312 -0
- package/extensions/sat-mining/src/round-watcher.ts +391 -81
- package/extensions/sat-mining/src/rpc-read.ts +330 -89
- package/extensions/sat-mining/src/runtime.ts +14 -0
- package/extensions/sat-mining/src/sat-bond-layout.ts +6 -0
- package/extensions/sat-mining/src/signer-codec-manifest.ts +429 -0
- package/extensions/sat-mining/src/solana-submit.ts +1199 -428
- package/extensions/sat-mining/src/submission-ledger.ts +433 -0
- package/extensions/signal/package.json +1 -1
- package/extensions/synology-chat/package.json +1 -1
- package/extensions/tlon/package.json +1 -1
- package/extensions/twitch/CHANGELOG.md +12 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +12 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +12 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +12 -0
- package/extensions/zalouser/package.json +1 -1
- package/install.sh +4955 -0
- package/package.json +23 -5
- package/scripts/fased-host-updater.mjs +1421 -0
- package/scripts/fased-host-updaterctl.mjs +186 -0
- package/scripts/fased-managed-service.sh +36 -0
- package/scripts/fased-managed-updater.mjs +3065 -156
- package/scripts/fased-signer-enroll-hosting.sh +275 -0
- package/scripts/fased-signer-network-hosting.sh +143 -0
- package/scripts/fased-signer-owner-policy.mjs +1430 -0
- package/scripts/fased-signer-policy-hosting.sh +50 -0
- package/scripts/fased-signer-policy-local.sh +26 -0
- package/scripts/hosted-release-manifest.mjs +185 -0
- package/scripts/install-fased-signerd.sh +183 -108
- package/scripts/install-managed-runtime.mjs +212 -10
- package/scripts/managed-runtime-layout.mjs +75 -3
- package/scripts/migrate-hosted-signer-v2.mjs +58 -0
- package/scripts/start-managed.sh +169 -360
- package/dist/control-ui/assets/mining-commit-R-6nu87p.js +0 -2
- package/dist/plugin-sdk/tmp-fased-dir-CS6zsYEE.d.ts +0 -77
- package/dist/wallet/local-socket-signer-broker.js +0 -224
- package/dist/wallet/local-socket-signer-custody.js +0 -42
- package/dist/wallet/providers/embedded-keystore-adapter.js +0 -402
- package/dist/wallet/providers/privy-adapter.js +0 -80
- package/dist/wallet/wallet-custody.js +0 -1836
package/dist/config/config.js
CHANGED
|
@@ -4,9 +4,9 @@ import { applyConfigOverrides, getConfigOverrides, resetConfigOverrides, setConf
|
|
|
4
4
|
import { MODEL_APIS } from "./types.models.js";
|
|
5
5
|
import { FasedAgentSchema } from "./zod-schema.js";
|
|
6
6
|
import { validateConfigObject, validateConfigObjectRaw, validateConfigObjectRawWithPlugins, validateConfigObjectWithPlugins } from "./validation.js";
|
|
7
|
-
import { clearConfigCache, clearRuntimeConfigSnapshot, createConfigIO, getRuntimeConfigSnapshot, loadConfig, parseConfigJson5, readConfigFileSnapshot, readConfigFileSnapshotForWrite, resolveConfigSnapshotHash, setRuntimeConfigSnapshot, writeConfigFile } from "./io.js";
|
|
7
|
+
import { clearConfigCache, clearRuntimeConfigSnapshot, createConfigIO, getRuntimeConfigSnapshot, loadConfig, parseConfigJson5, readConfigFileSnapshot, readConfigFileSnapshotForWrite, resolveConfigSnapshotHash, setRuntimeConfigSnapshot, updateConfigFile, writeConfigFile } from "./io.js";
|
|
8
8
|
import { migrateLegacyConfig } from "./legacy-migrate.js";
|
|
9
9
|
import { TOOLS_BY_SENDER_KEY_TYPES, parseToolsBySenderTypedKey } from "./types.tools.js";
|
|
10
10
|
import "./types.js";
|
|
11
11
|
|
|
12
|
-
export { CONFIG_PATH, DEFAULT_GATEWAY_PORT, DEFAULT_SECRET_PROVIDER_ALIAS, FasedAgentSchema, MODEL_APIS, STATE_DIR, TOOLS_BY_SENDER_KEY_TYPES, applyConfigOverrides, assertSecretInputResolved, clearConfigCache, clearRuntimeConfigSnapshot, coerceSecretRef, createConfigIO, getConfigOverrides, getRuntimeConfigSnapshot, isNixMode, isSecretRef, loadConfig, migrateLegacyConfig, parseConfigJson5, parseEnvTemplateSecretRef, parseToolsBySenderTypedKey, readConfigFileSnapshot, readConfigFileSnapshotForWrite, resetConfigOverrides, resolveCanonicalConfigPath, resolveConfigPath, resolveConfigPathCandidate, resolveConfigSnapshotHash, resolveDefaultConfigCandidates, resolveGatewayLockDir, resolveGatewayPort, resolveIsNixMode, resolveLegacyStateDir, resolveLegacyStateDirs, resolveNewStateDir, resolveOAuthDir, resolveOAuthPath, resolveStateDir, setConfigOverride, setRuntimeConfigSnapshot, unsetConfigOverride, validateConfigObject, validateConfigObjectRaw, validateConfigObjectRawWithPlugins, validateConfigObjectWithPlugins, writeConfigFile };
|
|
12
|
+
export { CONFIG_PATH, DEFAULT_GATEWAY_PORT, DEFAULT_SECRET_PROVIDER_ALIAS, FasedAgentSchema, MODEL_APIS, STATE_DIR, TOOLS_BY_SENDER_KEY_TYPES, applyConfigOverrides, assertSecretInputResolved, clearConfigCache, clearRuntimeConfigSnapshot, coerceSecretRef, createConfigIO, getConfigOverrides, getRuntimeConfigSnapshot, isNixMode, isSecretRef, loadConfig, migrateLegacyConfig, parseConfigJson5, parseEnvTemplateSecretRef, parseToolsBySenderTypedKey, readConfigFileSnapshot, readConfigFileSnapshotForWrite, resetConfigOverrides, resolveCanonicalConfigPath, resolveConfigPath, resolveConfigPathCandidate, resolveConfigSnapshotHash, resolveDefaultConfigCandidates, resolveGatewayLockDir, resolveGatewayPort, resolveIsNixMode, resolveLegacyStateDir, resolveLegacyStateDirs, resolveNewStateDir, resolveOAuthDir, resolveOAuthPath, resolveStateDir, setConfigOverride, setRuntimeConfigSnapshot, unsetConfigOverride, updateConfigFile, validateConfigObject, validateConfigObjectRaw, validateConfigObjectRawWithPlugins, validateConfigObjectWithPlugins, writeConfigFile };
|
package/dist/config/io.js
CHANGED
|
@@ -2,6 +2,8 @@ import { resolveRequiredHomeDir } from "../infra/home-dir.js";
|
|
|
2
2
|
import { resolveConfigPath, resolveDefaultConfigCandidates, resolveStateDir } from "./paths.js";
|
|
3
3
|
import { isBlockedObjectKey } from "../infra/prototype-keys.js";
|
|
4
4
|
import { VERSION } from "../version.js";
|
|
5
|
+
import { withFileLock } from "../plugin-sdk/file-lock.js";
|
|
6
|
+
import "../infra/file-lock.js";
|
|
5
7
|
import { ensureOwnerDisplaySecret } from "../agents/owner-display.js";
|
|
6
8
|
import { loadDotEnv } from "../infra/dotenv.js";
|
|
7
9
|
import { loadShellEnvFallback, resolveShellEnvFallbackTimeoutMs, shouldDeferShellEnvFallback, shouldEnableShellEnvFallback } from "../infra/shell-env.js";
|
|
@@ -71,6 +73,36 @@ function pruneLegacyRemovedPlugins(cfg) {
|
|
|
71
73
|
const OPEN_DM_POLICY_ALLOW_FROM_RE = /^(?<policyPath>[a-z0-9_.-]+)\s*=\s*"open"\s+requires\s+(?<allowPath>[a-z0-9_.-]+)(?:\s+\(or\s+[a-z0-9_.-]+\))?\s+to include "\*"$/i;
|
|
72
74
|
const CONFIG_AUDIT_LOG_FILENAME = "config-audit.jsonl";
|
|
73
75
|
const loggedInvalidConfigs = new Set();
|
|
76
|
+
const CONFIG_WRITE_QUEUES = new Map();
|
|
77
|
+
async function inConfigWriteQueue(configPath, fn) {
|
|
78
|
+
const previous = CONFIG_WRITE_QUEUES.get(configPath) ?? Promise.resolve();
|
|
79
|
+
let release;
|
|
80
|
+
const current = new Promise((resolve) => {
|
|
81
|
+
release = resolve;
|
|
82
|
+
});
|
|
83
|
+
CONFIG_WRITE_QUEUES.set(configPath, current);
|
|
84
|
+
await previous.catch(() => undefined);
|
|
85
|
+
try {
|
|
86
|
+
return await fn();
|
|
87
|
+
} finally {
|
|
88
|
+
release?.();
|
|
89
|
+
if (CONFIG_WRITE_QUEUES.get(configPath) === current) {
|
|
90
|
+
CONFIG_WRITE_QUEUES.delete(configPath);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
async function withConfigWriteLock(configPath, fn) {
|
|
95
|
+
return await inConfigWriteQueue(configPath, async () => await withFileLock(configPath, {
|
|
96
|
+
retries: {
|
|
97
|
+
retries: 160,
|
|
98
|
+
factor: 1.08,
|
|
99
|
+
minTimeout: 10,
|
|
100
|
+
maxTimeout: 250,
|
|
101
|
+
randomize: true
|
|
102
|
+
},
|
|
103
|
+
stale: 12e4
|
|
104
|
+
}, fn));
|
|
105
|
+
}
|
|
74
106
|
function hashConfigRaw(raw) {
|
|
75
107
|
return crypto.createHash("sha256").update(raw ?? "").digest("hex");
|
|
76
108
|
}
|
|
@@ -857,7 +889,7 @@ function createConfigIO(overrides = {}) {
|
|
|
857
889
|
}
|
|
858
890
|
};
|
|
859
891
|
}
|
|
860
|
-
async function
|
|
892
|
+
async function writeConfigFileUnlocked(cfg, options = {}) {
|
|
861
893
|
clearConfigCache();
|
|
862
894
|
let persistCandidate = cfg;
|
|
863
895
|
const { snapshot } = await readConfigFileSnapshotInternal();
|
|
@@ -1047,11 +1079,38 @@ function createConfigIO(overrides = {}) {
|
|
|
1047
1079
|
throw err;
|
|
1048
1080
|
}
|
|
1049
1081
|
}
|
|
1082
|
+
async function writeConfigFile(cfg, options = {}) {
|
|
1083
|
+
await withConfigWriteLock(configPath, async () => {
|
|
1084
|
+
await writeConfigFileUnlocked(cfg, options);
|
|
1085
|
+
});
|
|
1086
|
+
}
|
|
1087
|
+
async function updateConfigFile(mutator) {
|
|
1088
|
+
return await withConfigWriteLock(configPath, async () => {
|
|
1089
|
+
const read = await readConfigFileSnapshotInternal();
|
|
1090
|
+
if (!read.snapshot.valid) {
|
|
1091
|
+
throw new Error("Config update transaction refused an invalid config snapshot");
|
|
1092
|
+
}
|
|
1093
|
+
const decision = await mutator(structuredClone(read.snapshot.config), read.snapshot);
|
|
1094
|
+
const shouldWrite = decision.write !== false;
|
|
1095
|
+
if (shouldWrite) {
|
|
1096
|
+
await writeConfigFileUnlocked(decision.config, {
|
|
1097
|
+
envSnapshotForRestore: read.envSnapshotForRestore,
|
|
1098
|
+
expectedConfigPath: configPath
|
|
1099
|
+
});
|
|
1100
|
+
}
|
|
1101
|
+
return {
|
|
1102
|
+
config: shouldWrite ? decision.config : read.snapshot.config,
|
|
1103
|
+
result: decision.result,
|
|
1104
|
+
written: shouldWrite
|
|
1105
|
+
};
|
|
1106
|
+
});
|
|
1107
|
+
}
|
|
1050
1108
|
return {
|
|
1051
1109
|
configPath,
|
|
1052
1110
|
loadConfig,
|
|
1053
1111
|
readConfigFileSnapshot,
|
|
1054
1112
|
readConfigFileSnapshotForWrite,
|
|
1113
|
+
updateConfigFile,
|
|
1055
1114
|
writeConfigFile
|
|
1056
1115
|
};
|
|
1057
1116
|
}
|
|
@@ -1145,6 +1204,9 @@ async function writeConfigFile(cfg, options = {}) {
|
|
|
1145
1204
|
unsetPaths: options.unsetPaths
|
|
1146
1205
|
});
|
|
1147
1206
|
}
|
|
1207
|
+
async function updateConfigFile(mutator) {
|
|
1208
|
+
return await createConfigIO().updateConfigFile(mutator);
|
|
1209
|
+
}
|
|
1148
1210
|
|
|
1149
1211
|
//#endregion
|
|
1150
|
-
export { clearConfigCache, clearRuntimeConfigSnapshot, createConfigIO, getRuntimeConfigSnapshot, loadConfig, parseConfigJson5, readConfigFileSnapshot, readConfigFileSnapshotForWrite, resolveConfigSnapshotHash, setRuntimeConfigSnapshot, writeConfigFile };
|
|
1212
|
+
export { clearConfigCache, clearRuntimeConfigSnapshot, createConfigIO, getRuntimeConfigSnapshot, loadConfig, parseConfigJson5, readConfigFileSnapshot, readConfigFileSnapshotForWrite, resolveConfigSnapshotHash, setRuntimeConfigSnapshot, updateConfigFile, writeConfigFile };
|
|
@@ -178,6 +178,7 @@ const FIELD_HELP_BASE = {
|
|
|
178
178
|
"agents.defaults.memorySearch.remote.baseUrl": "Custom base URL for remote embeddings (OpenAI-compatible proxies or Gemini overrides).",
|
|
179
179
|
"agents.defaults.memorySearch.remote.apiKey": "Custom API key for the remote embedding provider.",
|
|
180
180
|
"agents.defaults.memorySearch.remote.headers": "Extra headers for remote embeddings (merged; remote overrides OpenAI headers).",
|
|
181
|
+
"agents.defaults.memorySearch.remote.allowSessionContent": "Explicitly allow sanitized session transcript text to leave this host for remote embedding. Default: false.",
|
|
181
182
|
"agents.defaults.memorySearch.remote.batch.enabled": "Enable batch API for memory embeddings (OpenAI/Gemini; default: true).",
|
|
182
183
|
"agents.defaults.memorySearch.remote.batch.wait": "Wait for batch completion when indexing (default: true).",
|
|
183
184
|
"agents.defaults.memorySearch.remote.batch.concurrency": "Max concurrent embedding batch jobs for memory indexing (default: 2).",
|
|
@@ -219,15 +220,15 @@ const FIELD_HELP_BASE = {
|
|
|
219
220
|
"memory.qmd.limits.timeoutMs": "Per-query timeout for QMD searches (default: 4000).",
|
|
220
221
|
"memory.qmd.scope": "Session/channel scope for QMD recall (same syntax as session.sendPolicy; default: direct-only). Use match.rawKeyPrefix to match full agent-prefixed session keys.",
|
|
221
222
|
wallet: "Wallet subsystem configuration.",
|
|
222
|
-
"wallet.provider.id": "Wallet backend provider id
|
|
223
|
+
"wallet.provider.id": "Wallet backend provider id. Local, WSL2, macOS, and Hosting use \"local-socket-signer\"; Wallet Standard and Turnkey remain supported. Legacy \"embedded-keystore\" values are migration-only and fail closed.",
|
|
223
224
|
"wallet.execution.mode": "Wallet send execution mode (\"manual\" queues approvals; \"autonomous\" executes immediately when policy allows).",
|
|
224
225
|
"wallet.approvalAuth.mode": "Approval auth mode for sensitive wallet actions (\"none\" or \"webauthn\").",
|
|
225
226
|
"wallet.approvalAuth.challengeTtlSeconds": "Wallet WebAuthn challenge TTL in seconds (default: 300).",
|
|
226
227
|
"wallet.approvalAuth.grantTtlSeconds": "Wallet approval grant TTL in seconds (default: 120).",
|
|
227
|
-
"wallet.keystore.enabled": "
|
|
228
|
-
"wallet.keystore.path": "
|
|
229
|
-
"wallet.keystore.chainSupport": "
|
|
230
|
-
"wallet.keystore.autoLockSeconds": "
|
|
228
|
+
"wallet.keystore.enabled": "Retired legacy field. Embedded keystores are migration-only and fail closed.",
|
|
229
|
+
"wallet.keystore.path": "Retired legacy path retained only so the native signer migration can be performed explicitly.",
|
|
230
|
+
"wallet.keystore.chainSupport": "Retired legacy field; production wallet keys are signer/provider-owned.",
|
|
231
|
+
"wallet.keystore.autoLockSeconds": "Retired legacy embedded-keystore field.",
|
|
231
232
|
"wallet.runtime.enabled": "Enable wallet runtime compatibility settings (provider-agnostic replacement for legacy wallet runtime config).",
|
|
232
233
|
"wallet.runtime.mode": "Wallet runtime mode (\"managed\" or \"external\").",
|
|
233
234
|
"wallet.runtime.runtime": "Wallet runtime source (\"external-docker\" or \"external-custom\").",
|
|
@@ -241,8 +242,8 @@ const FIELD_HELP_BASE = {
|
|
|
241
242
|
"wallet.runtime.install.enabled": "Whether onboarding/install flows should record wallet runtime install metadata.",
|
|
242
243
|
"wallet.runtime.install.version": "Installed wallet runtime version recorded by onboarding/install flows.",
|
|
243
244
|
"wallet.runtime.policy.directSigning": "Allow background/agent wallet execution from wallet tooling (must be paired with caps/allowlists). Manual reviewed sends are separate.",
|
|
244
|
-
"wallet.runtime.policy.capsEnabled": "Enable wallet spend cap enforcement. When false, role,
|
|
245
|
-
"wallet.runtime.policy.solana.allowPrograms": "
|
|
245
|
+
"wallet.runtime.policy.capsEnabled": "Enable wallet spend cap enforcement. When false, role, signer policy, allowlist, and audit gates still apply, but SOL/token cap comparisons are skipped.",
|
|
246
|
+
"wallet.runtime.policy.solana.allowPrograms": "Explicit Solana program/token allowlist. Empty denies program and token execution; Agent market swaps also require every inspected Jupiter route program.",
|
|
246
247
|
"wallet.runtime.policy.solana.tokenCaps": "Per-mint SPL token caps for token sends, token-input swaps, and token-input limit orders. Keys are mint addresses; values are base-unit maxPerTx/maxDaily strings.",
|
|
247
248
|
"wallet.runtime.policy.solana.maxPerTx": "Maximum Solana value allowed per transaction (base unit string; e.g. lamports).",
|
|
248
249
|
"wallet.runtime.policy.solana.maxDaily": "Maximum cumulative Solana value allowed per UTC day (base unit string).",
|
|
@@ -194,6 +194,7 @@ const FIELD_LABELS_BASE = {
|
|
|
194
194
|
"agents.defaults.memorySearch.remote.baseUrl": "Remote Embedding Base URL",
|
|
195
195
|
"agents.defaults.memorySearch.remote.apiKey": "Remote Embedding API Key",
|
|
196
196
|
"agents.defaults.memorySearch.remote.headers": "Remote Embedding Headers",
|
|
197
|
+
"agents.defaults.memorySearch.remote.allowSessionContent": "Allow Session Content in Remote Embeddings",
|
|
197
198
|
"models.providers.*.request.allowPrivateNetwork": "Allow Private Model Network",
|
|
198
199
|
"agents.defaults.memorySearch.remote.batch.concurrency": "Remote Batch Concurrency",
|
|
199
200
|
"agents.defaults.memorySearch.model": "Memory Search Model",
|
|
@@ -249,10 +250,10 @@ const FIELD_LABELS_BASE = {
|
|
|
249
250
|
"wallet.approvalAuth.mode": "Wallet Approval Auth Mode",
|
|
250
251
|
"wallet.approvalAuth.challengeTtlSeconds": "Wallet Approval Challenge TTL (sec)",
|
|
251
252
|
"wallet.approvalAuth.grantTtlSeconds": "Wallet Approval Grant TTL (sec)",
|
|
252
|
-
"wallet.keystore.enabled": "
|
|
253
|
-
"wallet.keystore.path": "
|
|
254
|
-
"wallet.keystore.chainSupport": "
|
|
255
|
-
"wallet.keystore.autoLockSeconds": "
|
|
253
|
+
"wallet.keystore.enabled": "Legacy Keystore (Retired)",
|
|
254
|
+
"wallet.keystore.path": "Legacy Keystore Migration Path",
|
|
255
|
+
"wallet.keystore.chainSupport": "Legacy Keystore Chains",
|
|
256
|
+
"wallet.keystore.autoLockSeconds": "Legacy Keystore Auto Lock (Retired)",
|
|
256
257
|
"wallet.runtime.enabled": "Wallet Runtime Enabled",
|
|
257
258
|
"wallet.runtime.mode": "Wallet Runtime Mode",
|
|
258
259
|
"wallet.runtime.runtime": "Wallet Runtime Kind",
|
|
@@ -458,6 +458,7 @@ const MemorySearchSchema = z.object({
|
|
|
458
458
|
baseUrl: z.string().optional(),
|
|
459
459
|
apiKey: z.string().optional().register(sensitive),
|
|
460
460
|
headers: z.record(z.string(), z.string()).optional(),
|
|
461
|
+
allowSessionContent: z.boolean().optional(),
|
|
461
462
|
batch: z.object({
|
|
462
463
|
enabled: z.boolean().optional(),
|
|
463
464
|
wait: z.boolean().optional(),
|
|
@@ -522,6 +522,10 @@ const FederationMarketplaceOrderSchema = z.object({
|
|
|
522
522
|
sellerSyncError: z.string().optional(),
|
|
523
523
|
sellerSyncedAt: z.string().optional(),
|
|
524
524
|
sellerAcceptedAt: z.string().optional(),
|
|
525
|
+
peerNodeId: z.string().optional(),
|
|
526
|
+
peerRemoteOrderId: z.string().optional(),
|
|
527
|
+
peerRequestDigest: z.string().optional(),
|
|
528
|
+
peerDeliveryDigest: z.string().optional(),
|
|
525
529
|
serviceKind: z.string().optional(),
|
|
526
530
|
title: z.string().optional(),
|
|
527
531
|
pricing: FederationOfferPricingSchema,
|
|
@@ -555,6 +559,7 @@ const WalletSchema = z.object({
|
|
|
555
559
|
z.literal("local-socket-signer"),
|
|
556
560
|
z.literal("alchemy"),
|
|
557
561
|
z.literal("turnkey"),
|
|
562
|
+
z.literal("wallet-standard"),
|
|
558
563
|
z.literal("privy")
|
|
559
564
|
]).optional() }).strict().optional(),
|
|
560
565
|
execution: z.object({ mode: z.union([z.literal("manual"), z.literal("autonomous")]).optional() }).strict().optional(),
|