fengming 0.3.1 → 0.3.3
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 +3 -8
- package/LICENSE +0 -0
- package/README.md +0 -0
- package/THIRD_PARTY_NOTICES.md +0 -0
- package/dist/auto-reply/reply/export-html/template.css +0 -0
- package/dist/auto-reply/reply/export-html/template.html +0 -0
- package/dist/auto-reply/reply/export-html/template.js +0 -0
- package/dist/auto-reply/reply/export-html/vendor/highlight.min.js +0 -0
- package/dist/auto-reply/reply/export-html/vendor/marked.min.js +0 -0
- package/dist/build-info.json +2 -2
- package/dist/bundled/boot-md/HOOK.md +0 -0
- package/dist/bundled/bootstrap-extra-files/HOOK.md +0 -0
- package/dist/bundled/command-logger/HOOK.md +0 -0
- package/dist/bundled/compaction-notifier/HOOK.md +0 -0
- package/dist/bundled/session-memory/HOOK.md +0 -0
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/canvas-host/a2ui/a2ui.bundle.js +0 -0
- package/dist/canvas-host/a2ui/index.html +0 -0
- package/dist/cli-startup-metadata.json +8 -8
- package/dist/control-ui/apple-touch-icon.png +0 -0
- package/dist/control-ui/assets/{activity-164wVojz.js → activity-B7yRLbf3.js} +2 -2
- package/dist/control-ui/assets/{agents-B2f8TYRm.js → agents-E-3DAkaW.js} +33 -29
- package/dist/control-ui/assets/{channel-config-extras-Cnty6sJP.js → channel-config-extras-GDGUjA2T.js} +2 -2
- package/dist/control-ui/assets/{channels-DoO-OrjQ.js → channels-D0c7A9OX.js} +7 -7
- package/dist/control-ui/assets/{cron-DTyzT3TV.js → cron-B54j2Vmo.js} +11 -9
- package/dist/control-ui/assets/{debug-DmFMvLdY.js → debug-CRcGYNA9.js} +2 -2
- package/dist/control-ui/assets/i18n-BWPaSddY.js +2 -0
- package/dist/control-ui/assets/{index-nC-y5600.js → index-bZJJ7U8q.js} +104 -91
- package/dist/control-ui/assets/{instances-DWljwzyf.js → instances-RcBeqNzx.js} +2 -2
- package/dist/control-ui/assets/{logs-D7YSLRvz.js → logs-atEFsTJJ.js} +7 -7
- package/dist/control-ui/assets/{nodes-D1vIdMC3.js → nodes-BoWRh42t.js} +63 -55
- package/dist/control-ui/assets/{push-subscription-SK4PlhIV.js → push-subscription-CY8GxC_U.js} +2 -2
- package/dist/control-ui/assets/{sessions-BqzDZWTD.js → sessions-BmRQ932H.js} +3 -3
- package/dist/control-ui/assets/{skills-CAvbfEkF.js → skills-BDn45kHZ.js} +38 -34
- package/dist/control-ui/assets/{skills-shared-KvN3lpfP.js → skills-shared-lQxAuc7D.js} +2 -2
- package/dist/control-ui/assets/{workboard-DsePRAcc.js → workboard-BwbcNuC5.js} +2 -2
- package/dist/control-ui/favicon-32.png +0 -0
- package/dist/control-ui/favicon.ico +0 -0
- package/dist/control-ui/favicon.svg +0 -0
- package/dist/control-ui/index.html +2 -2
- package/dist/control-ui/manifest.webmanifest +0 -0
- package/dist/control-ui/sw.js +1 -1
- package/dist/entry.js +0 -0
- package/dist/extensions/browser/skills/browser-automation/SKILL.md +0 -0
- package/dist/index.js +0 -0
- package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
- package/dist/plugin-sdk/agent-config-primitives.d.ts +1 -1
- package/dist/plugin-sdk/{agent-harness-runtime-Bkrjji63.d.ts → agent-harness-runtime-CgQiThzm.d.ts} +2 -2
- package/dist/plugin-sdk/agent-harness-runtime.d.ts +4 -4
- package/dist/plugin-sdk/agent-harness-task-runtime.d.ts +1 -1
- package/dist/plugin-sdk/agent-harness.d.ts +4 -4
- package/dist/plugin-sdk/agent-runtime.d.ts +1 -1
- package/dist/plugin-sdk/{bundled-channel-config-schema-DcGjByUV.d.ts → bundled-channel-config-schema-C3pWWvwG.d.ts} +26 -26
- package/dist/plugin-sdk/bundled-channel-config-schema.d.ts +3 -3
- package/dist/plugin-sdk/channel-config-primitives.d.ts +2 -2
- package/dist/plugin-sdk/channel-config-schema-legacy.d.ts +3 -3
- package/dist/plugin-sdk/channel-config-schema.d.ts +2 -2
- package/dist/plugin-sdk/channel-core.d.ts +3 -3
- package/dist/plugin-sdk/channel-entry-contract.d.ts +1 -1
- package/dist/plugin-sdk/{channel-pairing-CzsPAHgH.d.ts → channel-pairing-CX6ncj1r.d.ts} +1 -1
- package/dist/plugin-sdk/channel-pairing.d.ts +1 -1
- package/dist/plugin-sdk/channel-plugin-common.d.ts +3 -3
- package/dist/plugin-sdk/cli-backend.d.ts +1 -1
- package/dist/plugin-sdk/compat.d.ts +6 -6
- package/dist/plugin-sdk/{config-schema-DUddICQM.d.ts → config-schema-D7cABQ6o.d.ts} +1 -1
- package/dist/plugin-sdk/{config-schema-N64y7n8C.d.ts → config-schema-DuJUjn6k.d.ts} +1 -1
- package/dist/plugin-sdk/config-schema.d.ts +8 -8
- package/dist/plugin-sdk/{core-BWZB2hNB.d.ts → core-CPtu2Ftl.d.ts} +1 -1
- package/dist/plugin-sdk/core.d.ts +8 -8
- package/dist/plugin-sdk/{delegate-o5xckIuc.d.ts → delegate-uk6vAMkc.d.ts} +1 -1
- package/dist/plugin-sdk/discord.d.ts +4 -4
- package/dist/plugin-sdk/{fengming-runtime-abXAXyq2.d.ts → fengming-runtime-Dt2ZEVYX.d.ts} +1 -1
- package/dist/plugin-sdk/gateway-runtime.d.ts +1 -1
- package/dist/plugin-sdk/{host-compat-D2Ky8seZ.d.ts → host-compat-CM0h9ODw.d.ts} +1 -1
- package/dist/plugin-sdk/{http-registry-oxJbX3E-.d.ts → http-registry-BniL_epL.d.ts} +2 -2
- package/dist/plugin-sdk/image-generation-core.d.ts +4 -4
- package/dist/plugin-sdk/image-generation-runtime.d.ts +3 -3
- package/dist/plugin-sdk/index.d.ts +4 -4
- package/dist/plugin-sdk/lmstudio.d.ts +1 -1
- package/dist/plugin-sdk/{loader-CgJhYjxT.d.ts → loader-aELh60PE.d.ts} +3 -3
- package/dist/plugin-sdk/{logger-CyDIBtoX.d.ts → logger-BpB3--7Z.d.ts} +1 -1
- package/dist/plugin-sdk/logging-core.d.ts +3 -3
- package/dist/plugin-sdk/memory-core-host-engine-embeddings.d.ts +2 -2
- package/dist/plugin-sdk/memory-core-host-engine-foundation.d.ts +3 -3
- package/dist/plugin-sdk/{memory-core-host-engine-storage-DfW7ZqD0.d.ts → memory-core-host-engine-storage-DYPjOQCg.d.ts} +1 -1
- package/dist/plugin-sdk/memory-core-host-engine-storage.d.ts +1 -1
- package/dist/plugin-sdk/memory-core-host-runtime-cli.d.ts +1 -1
- package/dist/plugin-sdk/memory-core-host-runtime-core.d.ts +3 -3
- package/dist/plugin-sdk/memory-core.d.ts +3 -3
- package/dist/plugin-sdk/memory-host-core.d.ts +3 -3
- package/dist/plugin-sdk/migration-runtime.d.ts +1 -1
- package/dist/plugin-sdk/migration.d.ts +1 -1
- package/dist/plugin-sdk/music-generation-core.d.ts +2 -2
- package/dist/plugin-sdk/{plugin-entry-C9xM-ZA9.d.ts → plugin-entry-DO9kQeTr.d.ts} +1 -1
- package/dist/plugin-sdk/plugin-entry.d.ts +3 -3
- package/dist/plugin-sdk/plugin-runtime.d.ts +3 -3
- package/dist/plugin-sdk/{provider-api-key-auth-DOmYPTC2.d.ts → provider-api-key-auth-DvIiojS6.d.ts} +1 -1
- package/dist/plugin-sdk/provider-auth-api-key.d.ts +4 -4
- package/dist/plugin-sdk/{provider-auth-helpers-pqDNrZTd.d.ts → provider-auth-helpers-CYkWZ0vq.d.ts} +1 -1
- package/dist/plugin-sdk/{provider-auth-input-Ckt-cU4H.d.ts → provider-auth-input-DUV6ZTw4.d.ts} +1 -1
- package/dist/plugin-sdk/provider-auth-result.d.ts +1 -1
- package/dist/plugin-sdk/provider-auth-runtime.d.ts +1 -1
- package/dist/plugin-sdk/provider-auth.d.ts +5 -5
- package/dist/plugin-sdk/provider-catalog-runtime.d.ts +2 -2
- package/dist/plugin-sdk/{provider-catalog-shared-QvOT8Wz1.d.ts → provider-catalog-shared-Cm3SyFfL.d.ts} +1 -1
- package/dist/plugin-sdk/provider-catalog-shared.d.ts +2 -2
- package/dist/plugin-sdk/provider-entry.d.ts +3 -3
- package/dist/plugin-sdk/{provider-model-shared-Bnc8IMx5.d.ts → provider-model-shared-D5rgn7Gb.d.ts} +1 -1
- package/dist/plugin-sdk/provider-model-shared.d.ts +2 -2
- package/dist/plugin-sdk/{provider-registry-CxdVib8g.d.ts → provider-registry-D0vmhPWL.d.ts} +1 -1
- package/dist/plugin-sdk/{provider-registry-CqB5bSAD.d.ts → provider-registry-DiKX35tc.d.ts} +1 -1
- package/dist/plugin-sdk/{provider-registry-Ba1nNfhA.d.ts → provider-registry-DxdZT9UN.d.ts} +1 -1
- package/dist/plugin-sdk/{provider-self-hosted-setup-eMoeVPnF.d.ts → provider-self-hosted-setup-BPx7JMDC.d.ts} +1 -1
- package/dist/plugin-sdk/provider-setup.d.ts +2 -2
- package/dist/plugin-sdk/{provider-stream-CGaLae9n.d.ts → provider-stream-DcC2vn_N.d.ts} +1 -1
- package/dist/plugin-sdk/provider-stream-family.d.ts +2 -2
- package/dist/plugin-sdk/{provider-stream-shared-u5mt-8_i.d.ts → provider-stream-shared-ByDv3QKm.d.ts} +1 -1
- package/dist/plugin-sdk/provider-stream-shared.d.ts +1 -1
- package/dist/plugin-sdk/provider-stream.d.ts +2 -2
- package/dist/plugin-sdk/provider-tools.d.ts +1 -1
- package/dist/plugin-sdk/provider-web-fetch-contract.d.ts +1 -1
- package/dist/plugin-sdk/provider-web-fetch.d.ts +1 -1
- package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +2 -2
- package/dist/plugin-sdk/{provider-web-search-contract-fields-BiWOSs_d.d.ts → provider-web-search-contract-fields-CY4v8kS-.d.ts} +1 -1
- package/dist/plugin-sdk/provider-web-search-contract.d.ts +2 -2
- package/dist/plugin-sdk/provider-web-search.d.ts +1 -1
- package/dist/plugin-sdk/realtime-transcription.d.ts +1 -1
- package/dist/plugin-sdk/realtime-voice.d.ts +1 -1
- package/dist/plugin-sdk/{redact-identifier-CVqsKaEK.d.ts → redact-identifier-CVwkabcI.d.ts} +1 -1
- package/dist/plugin-sdk/{registry-Gq9OFlb3.d.ts → registry-CzaGoAKH.d.ts} +2 -2
- package/dist/plugin-sdk/{registry-types-DyBkef1H.d.ts → registry-types-DN1yiH3F.d.ts} +2 -2
- package/dist/plugin-sdk/reply-runtime.d.ts +1 -1
- package/dist/plugin-sdk/runtime-env.d.ts +3 -3
- package/dist/plugin-sdk/runtime-store.d.ts +1 -1
- package/dist/plugin-sdk/runtime.d.ts +3 -3
- package/dist/plugin-sdk/self-hosted-provider-setup.d.ts +2 -2
- package/dist/plugin-sdk/simple-completion-runtime.d.ts +1 -1
- package/dist/plugin-sdk/speech-core.d.ts +2 -2
- package/dist/plugin-sdk/speech.d.ts +2 -2
- package/dist/plugin-sdk/{subsystem-Boo2DQIV.d.ts → subsystem-n4Y4vCcQ.d.ts} +1 -1
- package/dist/plugin-sdk/text-runtime.d.ts +2 -2
- package/dist/plugin-sdk/tool-plugin.d.ts +2 -2
- package/dist/plugin-sdk/tts-runtime.d.ts +1 -1
- package/dist/plugin-sdk/{types-DGF1KeaJ.d.ts → types-BI8R-vGd.d.ts} +2 -2
- package/dist/plugin-sdk/{types-DpaN54PS.d.ts → types-CsqNt0j8.d.ts} +1 -1
- package/dist/plugin-sdk/{unhandled-rejections-Bez6JG0y.d.ts → unhandled-rejections-D9eBl3hT.d.ts} +2 -2
- package/dist/plugin-sdk/video-generation-core.d.ts +3 -3
- package/dist/plugin-sdk/video-generation-runtime.d.ts +3 -3
- package/dist/plugin-sdk/webhook-ingress.d.ts +1 -1
- package/dist/plugin-sdk/webhook-targets.d.ts +1 -1
- package/dist/plugin-sdk/{zod-schema.core-B4_b2R5K.d.ts → zod-schema.core-CwBNqcXp.d.ts} +1 -1
- package/dist/postinstall-inventory.json +50 -50
- package/docs/.i18n/README.md +0 -0
- package/docs/.i18n/ar-navigation.json +0 -0
- package/docs/.i18n/de-navigation.json +0 -0
- package/docs/.i18n/es-navigation.json +0 -0
- package/docs/.i18n/fr-navigation.json +0 -0
- package/docs/.i18n/glossary.ar.json +0 -0
- package/docs/.i18n/glossary.de.json +0 -0
- package/docs/.i18n/glossary.es.json +0 -0
- package/docs/.i18n/glossary.fa.json +0 -0
- package/docs/.i18n/glossary.fr.json +0 -0
- package/docs/.i18n/glossary.id.json +0 -0
- package/docs/.i18n/glossary.it.json +0 -0
- package/docs/.i18n/glossary.ja-JP.json +0 -0
- package/docs/.i18n/glossary.ko.json +0 -0
- package/docs/.i18n/glossary.nl.json +0 -0
- package/docs/.i18n/glossary.pl.json +0 -0
- package/docs/.i18n/glossary.pt-BR.json +0 -0
- package/docs/.i18n/glossary.th.json +0 -0
- package/docs/.i18n/glossary.tr.json +0 -0
- package/docs/.i18n/glossary.uk.json +0 -0
- package/docs/.i18n/glossary.vi.json +0 -0
- package/docs/.i18n/glossary.zh-CN.json +0 -0
- package/docs/.i18n/glossary.zh-TW.json +0 -0
- package/docs/.i18n/id-navigation.json +0 -0
- package/docs/.i18n/it-navigation.json +0 -0
- package/docs/.i18n/ja-navigation.json +0 -0
- package/docs/.i18n/ko-navigation.json +0 -0
- package/docs/.i18n/pl-navigation.json +0 -0
- package/docs/.i18n/pt-BR-navigation.json +0 -0
- package/docs/.i18n/tr-navigation.json +0 -0
- package/docs/.i18n/translation-workflow.md +0 -0
- package/docs/.i18n/zh-Hans-navigation.json +0 -0
- package/docs/AGENTS.md +0 -0
- package/docs/CLAUDE.md +0 -0
- package/docs/agent-runtime-architecture.md +0 -0
- package/docs/announcements/bluebubbles-imessage.md +0 -0
- package/docs/auth-credential-semantics.md +0 -0
- package/docs/automation/auth-monitoring.md +0 -0
- package/docs/automation/clawflow.md +0 -0
- package/docs/automation/cron-jobs.md +0 -0
- package/docs/automation/cron-vs-heartbeat.md +0 -0
- package/docs/automation/gmail-pubsub.md +0 -0
- package/docs/automation/hooks.md +0 -0
- package/docs/automation/index.md +0 -0
- package/docs/automation/poll.md +0 -0
- package/docs/automation/standing-orders.md +0 -0
- package/docs/automation/taskflow.md +0 -0
- package/docs/automation/tasks.md +0 -0
- package/docs/automation/troubleshooting.md +0 -0
- package/docs/automation/webhook.md +0 -0
- package/docs/brave-search.md +0 -0
- package/docs/channels/access-groups.md +0 -0
- package/docs/channels/ambient-room-events.md +0 -0
- package/docs/channels/bot-loop-protection.md +0 -0
- package/docs/channels/broadcast-groups.md +0 -0
- package/docs/channels/channel-routing.md +0 -0
- package/docs/channels/clickclack.md +0 -0
- package/docs/channels/discord.md +0 -0
- package/docs/channels/feishu.md +0 -0
- package/docs/channels/googlechat.md +0 -0
- package/docs/channels/group-messages.md +0 -0
- package/docs/channels/groups.md +0 -0
- package/docs/channels/imessage-from-bluebubbles.md +0 -0
- package/docs/channels/imessage.md +0 -0
- package/docs/channels/index.md +0 -0
- package/docs/channels/irc.md +0 -0
- package/docs/channels/line.md +0 -0
- package/docs/channels/location.md +0 -0
- package/docs/channels/matrix-migration.md +0 -0
- package/docs/channels/matrix-presentation.md +0 -0
- package/docs/channels/matrix-push-rules.md +0 -0
- package/docs/channels/matrix.md +0 -0
- package/docs/channels/mattermost.md +0 -0
- package/docs/channels/msteams.md +0 -0
- package/docs/channels/nextcloud-talk.md +0 -0
- package/docs/channels/nostr.md +0 -0
- package/docs/channels/pairing.md +0 -0
- package/docs/channels/qqbot.md +0 -0
- package/docs/channels/signal.md +0 -0
- package/docs/channels/slack.md +0 -0
- package/docs/channels/synology-chat.md +0 -0
- package/docs/channels/telegram.md +0 -0
- package/docs/channels/tlon.md +0 -0
- package/docs/channels/troubleshooting.md +0 -0
- package/docs/channels/twitch.md +0 -0
- package/docs/channels/wechat.md +0 -0
- package/docs/channels/whatsapp.md +0 -0
- package/docs/channels/yuanbao.md +0 -0
- package/docs/channels/zalo.md +0 -0
- package/docs/channels/zalouser.md +0 -0
- package/docs/ci.md +0 -0
- package/docs/clawhub/publishing.md +0 -0
- package/docs/cli/acp.md +0 -0
- package/docs/cli/agent.md +0 -0
- package/docs/cli/agents.md +0 -0
- package/docs/cli/approvals.md +0 -0
- package/docs/cli/backup.md +0 -0
- package/docs/cli/browser.md +0 -0
- package/docs/cli/channels.md +0 -0
- package/docs/cli/clawbot.md +0 -0
- package/docs/cli/commitments.md +0 -0
- package/docs/cli/completion.md +0 -0
- package/docs/cli/config.md +0 -0
- package/docs/cli/configure.md +0 -0
- package/docs/cli/crestodian.md +0 -0
- package/docs/cli/cron.md +0 -0
- package/docs/cli/daemon.md +0 -0
- package/docs/cli/dashboard.md +0 -0
- package/docs/cli/devices.md +0 -0
- package/docs/cli/directory.md +0 -0
- package/docs/cli/dns.md +0 -0
- package/docs/cli/docs.md +0 -0
- package/docs/cli/doctor.md +0 -0
- package/docs/cli/flows.md +0 -0
- package/docs/cli/gateway.md +0 -0
- package/docs/cli/health.md +0 -0
- package/docs/cli/hooks.md +0 -0
- package/docs/cli/index.md +0 -0
- package/docs/cli/infer.md +0 -0
- package/docs/cli/logs.md +0 -0
- package/docs/cli/mcp.md +0 -0
- package/docs/cli/memory.md +0 -0
- package/docs/cli/message.md +0 -0
- package/docs/cli/migrate.md +0 -0
- package/docs/cli/models.md +0 -0
- package/docs/cli/node.md +0 -0
- package/docs/cli/nodes.md +0 -0
- package/docs/cli/onboard.md +0 -0
- package/docs/cli/pairing.md +0 -0
- package/docs/cli/path.md +0 -0
- package/docs/cli/plugins.md +0 -0
- package/docs/cli/policy.md +0 -0
- package/docs/cli/proxy.md +0 -0
- package/docs/cli/qr.md +0 -0
- package/docs/cli/reset.md +0 -0
- package/docs/cli/sandbox.md +0 -0
- package/docs/cli/secrets.md +0 -0
- package/docs/cli/security.md +0 -0
- package/docs/cli/sessions.md +0 -0
- package/docs/cli/setup.md +0 -0
- package/docs/cli/skills.md +0 -0
- package/docs/cli/status.md +0 -0
- package/docs/cli/system.md +0 -0
- package/docs/cli/tasks.md +0 -0
- package/docs/cli/transcripts.md +0 -0
- package/docs/cli/tui.md +0 -0
- package/docs/cli/uninstall.md +0 -0
- package/docs/cli/update.md +0 -0
- package/docs/cli/voicecall.md +0 -0
- package/docs/cli/webhooks.md +0 -0
- package/docs/cli/wiki.md +0 -0
- package/docs/concepts/active-memory.md +0 -0
- package/docs/concepts/agent-loop.md +0 -0
- package/docs/concepts/agent-runtimes.md +0 -0
- package/docs/concepts/agent-workspace.md +0 -0
- package/docs/concepts/agent.md +0 -0
- package/docs/concepts/architecture.md +0 -0
- package/docs/concepts/channel-docking.md +0 -0
- package/docs/concepts/commitments.md +0 -0
- package/docs/concepts/compaction.md +0 -0
- package/docs/concepts/context-engine.md +0 -0
- package/docs/concepts/context.md +0 -0
- package/docs/concepts/delegate-architecture.md +0 -0
- package/docs/concepts/dreaming.md +0 -0
- package/docs/concepts/experimental-features.md +0 -0
- package/docs/concepts/features.md +0 -0
- package/docs/concepts/fengming-sdk.md +0 -0
- package/docs/concepts/mantis-slack-desktop-runbook.md +0 -0
- package/docs/concepts/mantis.md +0 -0
- package/docs/concepts/markdown-formatting.md +0 -0
- package/docs/concepts/memory-builtin.md +0 -0
- package/docs/concepts/memory-honcho.md +0 -0
- package/docs/concepts/memory-qmd.md +0 -0
- package/docs/concepts/memory-search.md +0 -0
- package/docs/concepts/memory.md +0 -0
- package/docs/concepts/message-lifecycle-refactor.md +0 -0
- package/docs/concepts/messages.md +0 -0
- package/docs/concepts/model-failover.md +0 -0
- package/docs/concepts/model-providers.md +0 -0
- package/docs/concepts/models.md +0 -0
- package/docs/concepts/multi-agent.md +0 -0
- package/docs/concepts/oauth.md +0 -0
- package/docs/concepts/parallel-specialist-lanes.md +0 -0
- package/docs/concepts/personal-agent-benchmark-pack.md +0 -0
- package/docs/concepts/presence.md +0 -0
- package/docs/concepts/progress-drafts.md +0 -0
- package/docs/concepts/qa-e2e-automation.md +0 -0
- package/docs/concepts/qa-matrix.md +0 -0
- package/docs/concepts/queue-steering.md +0 -0
- package/docs/concepts/queue.md +0 -0
- package/docs/concepts/retry.md +0 -0
- package/docs/concepts/session-pruning.md +0 -0
- package/docs/concepts/session-tool.md +0 -0
- package/docs/concepts/session.md +0 -0
- package/docs/concepts/soul.md +0 -0
- package/docs/concepts/streaming.md +0 -0
- package/docs/concepts/system-prompt.md +0 -0
- package/docs/concepts/timezone.md +0 -0
- package/docs/concepts/typebox.md +0 -0
- package/docs/concepts/typing-indicators.md +0 -0
- package/docs/concepts/usage-tracking.md +0 -0
- package/docs/date-time.md +0 -0
- package/docs/debug/node-issue.md +0 -0
- package/docs/diagnostics/flags.md +0 -0
- package/docs/docs.json +0 -0
- package/docs/fengming-agent-runtime.md +0 -0
- package/docs/gateway/authentication.md +0 -0
- package/docs/gateway/background-process.md +0 -0
- package/docs/gateway/bonjour.md +0 -0
- package/docs/gateway/bridge-protocol.md +0 -0
- package/docs/gateway/cli-backends.md +0 -0
- package/docs/gateway/config-agents.md +0 -0
- package/docs/gateway/config-channels.md +0 -0
- package/docs/gateway/config-tools.md +0 -0
- package/docs/gateway/configuration-examples.md +0 -0
- package/docs/gateway/configuration-reference.md +0 -0
- package/docs/gateway/configuration.md +0 -0
- package/docs/gateway/diagnostics.md +0 -0
- package/docs/gateway/discovery.md +0 -0
- package/docs/gateway/doctor.md +0 -0
- package/docs/gateway/gateway-lock.md +0 -0
- package/docs/gateway/health.md +0 -0
- package/docs/gateway/heartbeat.md +0 -0
- package/docs/gateway/index.md +0 -0
- package/docs/gateway/local-model-services.md +0 -0
- package/docs/gateway/local-models.md +0 -0
- package/docs/gateway/logging.md +0 -0
- package/docs/gateway/multiple-gateways.md +0 -0
- package/docs/gateway/network-model.md +0 -0
- package/docs/gateway/openai-http-api.md +0 -0
- package/docs/gateway/openresponses-http-api.md +0 -0
- package/docs/gateway/openshell.md +0 -0
- package/docs/gateway/opentelemetry.md +0 -0
- package/docs/gateway/operator-scopes.md +0 -0
- package/docs/gateway/pairing.md +0 -0
- package/docs/gateway/prometheus.md +0 -0
- package/docs/gateway/protocol.md +0 -0
- package/docs/gateway/remote-gateway-readme.md +0 -0
- package/docs/gateway/remote.md +0 -0
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -0
- package/docs/gateway/sandboxing.md +0 -0
- package/docs/gateway/secrets-plan-contract.md +0 -0
- package/docs/gateway/secrets.md +0 -0
- package/docs/gateway/security/audit-checks.md +0 -0
- package/docs/gateway/security/exposure-runbook.md +0 -0
- package/docs/gateway/security/index.md +0 -0
- package/docs/gateway/security/secure-file-operations.md +0 -0
- package/docs/gateway/security/shrinkwrap.md +0 -0
- package/docs/gateway/tailscale.md +0 -0
- package/docs/gateway/tools-invoke-http-api.md +0 -0
- package/docs/gateway/troubleshooting.md +0 -0
- package/docs/gateway/trusted-proxy-auth.md +0 -0
- package/docs/help/debugging.md +0 -0
- package/docs/help/environment.md +0 -0
- package/docs/help/faq-first-run.md +0 -0
- package/docs/help/faq-models.md +0 -0
- package/docs/help/faq.md +0 -0
- package/docs/help/index.md +0 -0
- package/docs/help/scripts.md +0 -0
- package/docs/help/testing-live.md +0 -0
- package/docs/help/testing-updates-plugins.md +0 -0
- package/docs/help/testing.md +0 -0
- package/docs/help/troubleshooting.md +0 -0
- package/docs/index.md +0 -0
- package/docs/install/ansible.md +0 -0
- package/docs/install/azure.md +0 -0
- package/docs/install/bun.md +0 -0
- package/docs/install/clawdock.md +0 -0
- package/docs/install/development-channels.md +0 -0
- package/docs/install/digitalocean.md +0 -0
- package/docs/install/docker-vm-runtime.md +0 -0
- package/docs/install/docker.md +0 -0
- package/docs/install/exe-dev.md +0 -0
- package/docs/install/fly.md +0 -0
- package/docs/install/gcp.md +0 -0
- package/docs/install/hetzner.md +0 -0
- package/docs/install/hostinger.md +0 -0
- package/docs/install/index.md +0 -0
- package/docs/install/installer.md +0 -0
- package/docs/install/kubernetes.md +0 -0
- package/docs/install/macos-vm.md +0 -0
- package/docs/install/migrating-claude.md +0 -0
- package/docs/install/migrating-hermes.md +0 -0
- package/docs/install/migrating.md +0 -0
- package/docs/install/nix.md +0 -0
- package/docs/install/node.md +0 -0
- package/docs/install/northflank.mdx +0 -0
- package/docs/install/oracle.md +0 -0
- package/docs/install/podman.md +0 -0
- package/docs/install/railway.mdx +0 -0
- package/docs/install/raspberry-pi.md +0 -0
- package/docs/install/render.mdx +0 -0
- package/docs/install/uninstall.md +0 -0
- package/docs/install/updating.md +0 -0
- package/docs/install/upstash.md +0 -0
- package/docs/logging.md +0 -0
- package/docs/nav-tabs-underline.js +0 -0
- package/docs/network.md +0 -0
- package/docs/nodes/audio.md +0 -0
- package/docs/nodes/camera.md +0 -0
- package/docs/nodes/images.md +0 -0
- package/docs/nodes/index.md +0 -0
- package/docs/nodes/location-command.md +0 -0
- package/docs/nodes/media-understanding.md +0 -0
- package/docs/nodes/talk.md +0 -0
- package/docs/nodes/troubleshooting.md +0 -0
- package/docs/nodes/voicewake.md +0 -0
- package/docs/perplexity.md +0 -0
- package/docs/plan/codex-context-engine-harness.md +0 -0
- package/docs/plan/ui-channels.md +0 -0
- package/docs/platforms/digitalocean.md +0 -0
- package/docs/platforms/easyrunner.md +0 -0
- package/docs/platforms/index.md +0 -0
- package/docs/platforms/linux.md +0 -0
- package/docs/platforms/mac/bundled-gateway.md +0 -0
- package/docs/platforms/mac/canvas.md +0 -0
- package/docs/platforms/mac/child-process.md +0 -0
- package/docs/platforms/mac/dev-setup.md +0 -0
- package/docs/platforms/mac/health.md +0 -0
- package/docs/platforms/mac/icon.md +0 -0
- package/docs/platforms/mac/logging.md +0 -0
- package/docs/platforms/mac/menu-bar.md +0 -0
- package/docs/platforms/mac/peekaboo.md +0 -0
- package/docs/platforms/mac/permissions.md +0 -0
- package/docs/platforms/mac/remote.md +0 -0
- package/docs/platforms/mac/signing.md +0 -0
- package/docs/platforms/mac/skills.md +0 -0
- package/docs/platforms/mac/voice-overlay.md +0 -0
- package/docs/platforms/mac/voicewake.md +0 -0
- package/docs/platforms/mac/webchat.md +0 -0
- package/docs/platforms/mac/xpc.md +0 -0
- package/docs/platforms/oracle.md +0 -0
- package/docs/platforms/raspberry-pi.md +0 -0
- package/docs/platforms/windows.md +0 -0
- package/docs/plugins/adding-capabilities.md +0 -0
- package/docs/plugins/admin-http-rpc.md +0 -0
- package/docs/plugins/agent-tools.md +0 -0
- package/docs/plugins/architecture-internals.md +0 -0
- package/docs/plugins/architecture.md +0 -0
- package/docs/plugins/building-extensions.md +0 -0
- package/docs/plugins/building-plugins.md +0 -0
- package/docs/plugins/bundles.md +0 -0
- package/docs/plugins/cli-backend-plugins.md +0 -0
- package/docs/plugins/codex-computer-use.md +0 -0
- package/docs/plugins/codex-harness-reference.md +0 -0
- package/docs/plugins/codex-harness-runtime.md +0 -0
- package/docs/plugins/codex-harness.md +0 -0
- package/docs/plugins/codex-native-plugins.md +0 -0
- package/docs/plugins/community.md +0 -0
- package/docs/plugins/compatibility.md +0 -0
- package/docs/plugins/copilot.md +0 -0
- package/docs/plugins/dependency-resolution.md +0 -0
- package/docs/plugins/google-meet.md +0 -0
- package/docs/plugins/hooks.md +0 -0
- package/docs/plugins/install-overrides.md +0 -0
- package/docs/plugins/manage-plugins.md +0 -0
- package/docs/plugins/manifest.md +0 -0
- package/docs/plugins/memory-lancedb.md +0 -0
- package/docs/plugins/memory-wiki.md +0 -0
- package/docs/plugins/message-presentation.md +0 -0
- package/docs/plugins/oc-path.md +0 -0
- package/docs/plugins/plugin-inventory.md +0 -0
- package/docs/plugins/plugin-permission-requests.md +0 -0
- package/docs/plugins/reference/acpx.md +0 -0
- package/docs/plugins/reference/admin-http-rpc.md +0 -0
- package/docs/plugins/reference/alibaba.md +0 -0
- package/docs/plugins/reference/amazon-bedrock-mantle.md +0 -0
- package/docs/plugins/reference/amazon-bedrock.md +0 -0
- package/docs/plugins/reference/anthropic-vertex.md +0 -0
- package/docs/plugins/reference/anthropic.md +0 -0
- package/docs/plugins/reference/arcee.md +0 -0
- package/docs/plugins/reference/azure-speech.md +0 -0
- package/docs/plugins/reference/bonjour.md +0 -0
- package/docs/plugins/reference/brave.md +0 -0
- package/docs/plugins/reference/browser.md +0 -0
- package/docs/plugins/reference/byteplus.md +0 -0
- package/docs/plugins/reference/canvas.md +0 -0
- package/docs/plugins/reference/cerebras.md +0 -0
- package/docs/plugins/reference/chutes.md +0 -0
- package/docs/plugins/reference/clickclack.md +0 -0
- package/docs/plugins/reference/cloudflare-ai-gateway.md +0 -0
- package/docs/plugins/reference/codex-supervisor.md +0 -0
- package/docs/plugins/reference/codex.md +0 -0
- package/docs/plugins/reference/comfy.md +0 -0
- package/docs/plugins/reference/copilot-proxy.md +0 -0
- package/docs/plugins/reference/copilot.md +0 -0
- package/docs/plugins/reference/deepgram.md +0 -0
- package/docs/plugins/reference/deepinfra.md +0 -0
- package/docs/plugins/reference/deepseek.md +0 -0
- package/docs/plugins/reference/diagnostics-otel.md +0 -0
- package/docs/plugins/reference/diagnostics-prometheus.md +0 -0
- package/docs/plugins/reference/diffs-language-pack.md +0 -0
- package/docs/plugins/reference/diffs.md +0 -0
- package/docs/plugins/reference/discord.md +0 -0
- package/docs/plugins/reference/document-extract.md +0 -0
- package/docs/plugins/reference/duckduckgo.md +0 -0
- package/docs/plugins/reference/elevenlabs.md +0 -0
- package/docs/plugins/reference/exa.md +0 -0
- package/docs/plugins/reference/fal.md +0 -0
- package/docs/plugins/reference/feishu.md +0 -0
- package/docs/plugins/reference/file-transfer.md +0 -0
- package/docs/plugins/reference/firecrawl.md +0 -0
- package/docs/plugins/reference/fireworks.md +0 -0
- package/docs/plugins/reference/github-copilot.md +0 -0
- package/docs/plugins/reference/gmi.md +0 -0
- package/docs/plugins/reference/google-meet.md +0 -0
- package/docs/plugins/reference/google.md +0 -0
- package/docs/plugins/reference/googlechat.md +0 -0
- package/docs/plugins/reference/gradium.md +0 -0
- package/docs/plugins/reference/groq.md +0 -0
- package/docs/plugins/reference/huggingface.md +0 -0
- package/docs/plugins/reference/imessage.md +0 -0
- package/docs/plugins/reference/inworld.md +0 -0
- package/docs/plugins/reference/irc.md +0 -0
- package/docs/plugins/reference/kilocode.md +0 -0
- package/docs/plugins/reference/kimi.md +0 -0
- package/docs/plugins/reference/line.md +0 -0
- package/docs/plugins/reference/litellm.md +0 -0
- package/docs/plugins/reference/llm-task.md +0 -0
- package/docs/plugins/reference/lmstudio.md +0 -0
- package/docs/plugins/reference/lobster.md +0 -0
- package/docs/plugins/reference/matrix.md +0 -0
- package/docs/plugins/reference/mattermost.md +0 -0
- package/docs/plugins/reference/memory-core.md +0 -0
- package/docs/plugins/reference/memory-lancedb.md +0 -0
- package/docs/plugins/reference/memory-wiki.md +0 -0
- package/docs/plugins/reference/microsoft-foundry.md +0 -0
- package/docs/plugins/reference/microsoft.md +0 -0
- package/docs/plugins/reference/migrate-claude.md +0 -0
- package/docs/plugins/reference/migrate-hermes.md +0 -0
- package/docs/plugins/reference/minimax.md +0 -0
- package/docs/plugins/reference/mistral.md +0 -0
- package/docs/plugins/reference/moonshot.md +0 -0
- package/docs/plugins/reference/msteams.md +0 -0
- package/docs/plugins/reference/nextcloud-talk.md +0 -0
- package/docs/plugins/reference/nostr.md +0 -0
- package/docs/plugins/reference/novita.md +0 -0
- package/docs/plugins/reference/nvidia.md +0 -0
- package/docs/plugins/reference/oc-path.md +0 -0
- package/docs/plugins/reference/ollama.md +0 -0
- package/docs/plugins/reference/open-prose.md +0 -0
- package/docs/plugins/reference/openai.md +0 -0
- package/docs/plugins/reference/opencode-go.md +0 -0
- package/docs/plugins/reference/opencode.md +0 -0
- package/docs/plugins/reference/openrouter.md +0 -0
- package/docs/plugins/reference/openshell.md +0 -0
- package/docs/plugins/reference/perplexity.md +0 -0
- package/docs/plugins/reference/pixverse.md +0 -0
- package/docs/plugins/reference/policy.md +0 -0
- package/docs/plugins/reference/qa-channel.md +0 -0
- package/docs/plugins/reference/qa-lab.md +0 -0
- package/docs/plugins/reference/qa-matrix.md +0 -0
- package/docs/plugins/reference/qianfan.md +0 -0
- package/docs/plugins/reference/qqbot.md +0 -0
- package/docs/plugins/reference/qwen.md +0 -0
- package/docs/plugins/reference/runway.md +0 -0
- package/docs/plugins/reference/searxng.md +0 -0
- package/docs/plugins/reference/senseaudio.md +0 -0
- package/docs/plugins/reference/sglang.md +0 -0
- package/docs/plugins/reference/signal.md +0 -0
- package/docs/plugins/reference/skill-workshop.md +0 -0
- package/docs/plugins/reference/slack.md +0 -0
- package/docs/plugins/reference/stepfun.md +0 -0
- package/docs/plugins/reference/synology-chat.md +0 -0
- package/docs/plugins/reference/synthetic.md +0 -0
- package/docs/plugins/reference/tavily.md +0 -0
- package/docs/plugins/reference/telegram.md +0 -0
- package/docs/plugins/reference/tencent.md +0 -0
- package/docs/plugins/reference/tlon.md +0 -0
- package/docs/plugins/reference/together.md +0 -0
- package/docs/plugins/reference/tokenjuice.md +0 -0
- package/docs/plugins/reference/tts-local-cli.md +0 -0
- package/docs/plugins/reference/twitch.md +0 -0
- package/docs/plugins/reference/venice.md +0 -0
- package/docs/plugins/reference/vercel-ai-gateway.md +0 -0
- package/docs/plugins/reference/vllm.md +0 -0
- package/docs/plugins/reference/voice-call.md +0 -0
- package/docs/plugins/reference/volcengine.md +0 -0
- package/docs/plugins/reference/voyage.md +0 -0
- package/docs/plugins/reference/vydra.md +0 -0
- package/docs/plugins/reference/web-readability.md +0 -0
- package/docs/plugins/reference/webhooks.md +0 -0
- package/docs/plugins/reference/whatsapp.md +0 -0
- package/docs/plugins/reference/workboard.md +0 -0
- package/docs/plugins/reference/xai.md +0 -0
- package/docs/plugins/reference/xiaomi.md +0 -0
- package/docs/plugins/reference/zai.md +0 -0
- package/docs/plugins/reference/zalo.md +0 -0
- package/docs/plugins/reference/zalouser.md +0 -0
- package/docs/plugins/reference.md +0 -0
- package/docs/plugins/sdk-agent-harness.md +0 -0
- package/docs/plugins/sdk-channel-inbound.md +0 -0
- package/docs/plugins/sdk-channel-ingress.md +0 -0
- package/docs/plugins/sdk-channel-message.md +0 -0
- package/docs/plugins/sdk-channel-outbound.md +0 -0
- package/docs/plugins/sdk-channel-plugins.md +0 -0
- package/docs/plugins/sdk-channel-turn.md +0 -0
- package/docs/plugins/sdk-entrypoints.md +0 -0
- package/docs/plugins/sdk-migration.md +0 -0
- package/docs/plugins/sdk-overview.md +0 -0
- package/docs/plugins/sdk-provider-plugins.md +0 -0
- package/docs/plugins/sdk-runtime.md +0 -0
- package/docs/plugins/sdk-setup.md +0 -0
- package/docs/plugins/sdk-subpaths.md +0 -0
- package/docs/plugins/sdk-testing.md +0 -0
- package/docs/plugins/skill-workshop.md +0 -0
- package/docs/plugins/tool-plugins.md +0 -0
- package/docs/plugins/voice-call.md +0 -0
- package/docs/plugins/webhooks.md +0 -0
- package/docs/plugins/workboard.md +0 -0
- package/docs/plugins/zalouser.md +0 -0
- package/docs/prose.md +0 -0
- package/docs/providers/alibaba.md +0 -0
- package/docs/providers/anthropic.md +0 -0
- package/docs/providers/arcee.md +0 -0
- package/docs/providers/azure-speech.md +0 -0
- package/docs/providers/bedrock-mantle.md +0 -0
- package/docs/providers/bedrock.md +0 -0
- package/docs/providers/cerebras.md +0 -0
- package/docs/providers/chutes.md +0 -0
- package/docs/providers/claude-max-api-proxy.md +0 -0
- package/docs/providers/cloudflare-ai-gateway.md +0 -0
- package/docs/providers/comfy.md +0 -0
- package/docs/providers/deepgram.md +0 -0
- package/docs/providers/deepinfra.md +0 -0
- package/docs/providers/deepseek.md +0 -0
- package/docs/providers/ds4.md +0 -0
- package/docs/providers/elevenlabs.md +0 -0
- package/docs/providers/fal.md +0 -0
- package/docs/providers/fireworks.md +0 -0
- package/docs/providers/github-copilot.md +0 -0
- package/docs/providers/gmi.md +0 -0
- package/docs/providers/google.md +0 -0
- package/docs/providers/gradium.md +0 -0
- package/docs/providers/groq.md +0 -0
- package/docs/providers/huggingface.md +0 -0
- package/docs/providers/index.md +0 -0
- package/docs/providers/inferrs.md +0 -0
- package/docs/providers/inworld.md +0 -0
- package/docs/providers/kilocode.md +0 -0
- package/docs/providers/litellm.md +0 -0
- package/docs/providers/lmstudio.md +0 -0
- package/docs/providers/minimax.md +0 -0
- package/docs/providers/mistral.md +0 -0
- package/docs/providers/models.md +0 -0
- package/docs/providers/moonshot.md +0 -0
- package/docs/providers/novita.md +0 -0
- package/docs/providers/nvidia.md +0 -0
- package/docs/providers/ollama-cloud.md +0 -0
- package/docs/providers/ollama.md +0 -0
- package/docs/providers/openai.md +0 -0
- package/docs/providers/opencode-go.md +0 -0
- package/docs/providers/opencode.md +0 -0
- package/docs/providers/openrouter.md +0 -0
- package/docs/providers/perplexity-provider.md +0 -0
- package/docs/providers/pixverse.md +0 -0
- package/docs/providers/qianfan.md +0 -0
- package/docs/providers/qwen-oauth.md +0 -0
- package/docs/providers/qwen.md +0 -0
- package/docs/providers/runway.md +0 -0
- package/docs/providers/senseaudio.md +0 -0
- package/docs/providers/sglang.md +0 -0
- package/docs/providers/stepfun.md +0 -0
- package/docs/providers/synthetic.md +0 -0
- package/docs/providers/tencent.md +0 -0
- package/docs/providers/together.md +0 -0
- package/docs/providers/venice.md +0 -0
- package/docs/providers/vercel-ai-gateway.md +0 -0
- package/docs/providers/vllm.md +0 -0
- package/docs/providers/volcengine.md +0 -0
- package/docs/providers/vydra.md +0 -0
- package/docs/providers/xai.md +0 -0
- package/docs/providers/xiaomi.md +0 -0
- package/docs/providers/zai.md +0 -0
- package/docs/refactor/access.md +0 -0
- package/docs/refactor/acp.md +0 -0
- package/docs/refactor/canvas.md +0 -0
- package/docs/refactor/database-first.md +0 -0
- package/docs/refactor/ingress-core.md +0 -0
- package/docs/reference/AGENTS.default.md +0 -0
- package/docs/reference/RELEASING.md +0 -0
- package/docs/reference/api-usage-costs.md +0 -0
- package/docs/reference/application-modernization-plan.md +0 -0
- package/docs/reference/code-mode.md +0 -0
- package/docs/reference/credits.md +0 -0
- package/docs/reference/device-models.md +0 -0
- package/docs/reference/fengming-sdk-api-design.md +0 -0
- package/docs/reference/full-release-validation.md +0 -0
- package/docs/reference/memory-config.md +0 -0
- package/docs/reference/prompt-caching.md +0 -0
- package/docs/reference/release-performance-sweep.md +0 -0
- package/docs/reference/rich-output-protocol.md +0 -0
- package/docs/reference/rpc.md +0 -0
- package/docs/reference/secret-placeholder-conventions.md +0 -0
- package/docs/reference/secretref-credential-surface.md +0 -0
- package/docs/reference/secretref-user-supplied-credentials-matrix.json +0 -0
- package/docs/reference/session-management-compaction.md +0 -0
- package/docs/reference/templates/AGENTS.dev.md +0 -0
- package/docs/reference/templates/AGENTS.md +0 -0
- package/docs/reference/templates/BOOT.md +0 -0
- package/docs/reference/templates/BOOTSTRAP.md +0 -0
- package/docs/reference/templates/CLAUDE.md +0 -0
- package/docs/reference/templates/HEARTBEAT.md +0 -0
- package/docs/reference/templates/IDENTITY.dev.md +0 -0
- package/docs/reference/templates/IDENTITY.md +0 -0
- package/docs/reference/templates/SOUL.dev.md +0 -0
- package/docs/reference/templates/SOUL.md +0 -0
- package/docs/reference/templates/TOOLS.dev.md +0 -0
- package/docs/reference/templates/TOOLS.md +0 -0
- package/docs/reference/templates/USER.dev.md +0 -0
- package/docs/reference/templates/USER.md +0 -0
- package/docs/reference/test.md +0 -0
- package/docs/reference/token-use.md +0 -0
- package/docs/reference/transcript-hygiene.md +0 -0
- package/docs/reference/wizard.md +0 -0
- package/docs/security/CONTRIBUTING-THREAT-MODEL.md +0 -0
- package/docs/security/THREAT-MODEL-ATLAS.md +0 -0
- package/docs/security/formal-verification.md +0 -0
- package/docs/security/incident-response.md +0 -0
- package/docs/security/network-proxy.md +0 -0
- package/docs/snippets/plugin-publish/minimal-fengming.plugin.json +0 -0
- package/docs/snippets/plugin-publish/minimal-package.json +0 -0
- package/docs/specs/claw-supervisor.md +0 -0
- package/docs/start/bootstrapping.md +0 -0
- package/docs/start/docs-directory.md +0 -0
- package/docs/start/fengming.md +0 -0
- package/docs/start/getting-started.md +0 -0
- package/docs/start/hubs.md +0 -0
- package/docs/start/lore.md +0 -0
- package/docs/start/onboarding-overview.md +0 -0
- package/docs/start/onboarding.md +0 -0
- package/docs/start/quickstart.md +0 -0
- package/docs/start/setup.md +0 -0
- package/docs/start/showcase.md +0 -0
- package/docs/start/wizard-cli-automation.md +0 -0
- package/docs/start/wizard-cli-reference.md +0 -0
- package/docs/start/wizard.md +0 -0
- package/docs/style.css +0 -0
- package/docs/superpowers/specs/2026-04-22-tweakcn-custom-theme-import-design.md +0 -0
- package/docs/tools/acp-agents-setup.md +0 -0
- package/docs/tools/acp-agents.md +0 -0
- package/docs/tools/agent-send.md +0 -0
- package/docs/tools/apply-patch.md +0 -0
- package/docs/tools/brave-search.md +0 -0
- package/docs/tools/browser-control.md +0 -0
- package/docs/tools/browser-linux-troubleshooting.md +0 -0
- package/docs/tools/browser-login.md +0 -0
- package/docs/tools/browser-wsl2-windows-remote-cdp-troubleshooting.md +0 -0
- package/docs/tools/browser.md +0 -0
- package/docs/tools/btw.md +0 -0
- package/docs/tools/capability-cookbook.md +0 -0
- package/docs/tools/clawhub.md +0 -0
- package/docs/tools/code-execution.md +0 -0
- package/docs/tools/creating-skills.md +0 -0
- package/docs/tools/diffs.md +0 -0
- package/docs/tools/duckduckgo-search.md +0 -0
- package/docs/tools/elevated.md +0 -0
- package/docs/tools/exa-search.md +0 -0
- package/docs/tools/exec-approvals-advanced.md +0 -0
- package/docs/tools/exec-approvals.md +0 -0
- package/docs/tools/exec.md +0 -0
- package/docs/tools/firecrawl.md +0 -0
- package/docs/tools/gemini-search.md +0 -0
- package/docs/tools/goal.md +0 -0
- package/docs/tools/grok-search.md +0 -0
- package/docs/tools/image-generation.md +0 -0
- package/docs/tools/index.md +0 -0
- package/docs/tools/kimi-search.md +0 -0
- package/docs/tools/llm-task.md +0 -0
- package/docs/tools/lobster.md +0 -0
- package/docs/tools/loop-detection.md +0 -0
- package/docs/tools/media-overview.md +0 -0
- package/docs/tools/minimax-search.md +0 -0
- package/docs/tools/multi-agent-sandbox-tools.md +0 -0
- package/docs/tools/music-generation.md +0 -0
- package/docs/tools/ollama-search.md +0 -0
- package/docs/tools/pdf.md +0 -0
- package/docs/tools/perplexity-search.md +0 -0
- package/docs/tools/plugin.md +0 -0
- package/docs/tools/reactions.md +0 -0
- package/docs/tools/searxng-search.md +0 -0
- package/docs/tools/skills-config.md +0 -0
- package/docs/tools/skills.md +0 -0
- package/docs/tools/slash-commands.md +0 -0
- package/docs/tools/steer.md +0 -0
- package/docs/tools/subagents.md +0 -0
- package/docs/tools/tavily.md +0 -0
- package/docs/tools/thinking.md +0 -0
- package/docs/tools/tokenjuice.md +0 -0
- package/docs/tools/tool-search.md +0 -0
- package/docs/tools/trajectory.md +0 -0
- package/docs/tools/tts.md +0 -0
- package/docs/tools/video-generation.md +0 -0
- package/docs/tools/web-fetch.md +0 -0
- package/docs/tools/web.md +0 -0
- package/docs/tts.md +0 -0
- package/docs/vps.md +0 -0
- package/docs/web/control-ui.md +0 -0
- package/docs/web/dashboard.md +0 -0
- package/docs/web/index.md +0 -0
- package/docs/web/tui.md +0 -0
- package/docs/web/webchat.md +0 -0
- package/npm-shrinkwrap.json +0 -0
- package/package.json +110 -114
- package/patches/.gitkeep +0 -0
- package/patches/@agentclientprotocol__claude-agent-acp@0.37.0.patch +0 -0
- package/pnpm-workspace.yaml +0 -0
- package/scripts/crabbox-wrapper.mjs +0 -0
- package/scripts/lib/official-external-channel-catalog.json +0 -0
- package/scripts/lib/official-external-plugin-catalog.json +0 -0
- package/scripts/lib/official-external-provider-catalog.json +0 -0
- package/scripts/lib/package-dist-imports.mjs +0 -0
- package/scripts/npm-runner.mjs +0 -0
- package/scripts/postinstall-bundled-plugins.mjs +0 -0
- package/scripts/preinstall-package-manager-warning.mjs +0 -0
- package/scripts/prepare-git-hooks.mjs +0 -0
- package/scripts/windows-cmd-helpers.mjs +0 -0
- package/skills/canvas/SKILL.md +0 -0
- package/skills/clawhub/SKILL.md +0 -0
- package/skills/coding-agent/SKILL.md +0 -0
- package/skills/diagram-maker/SKILL.md +0 -0
- package/skills/diagram-maker/references/excalidraw-patterns.md +0 -0
- package/skills/diagram-maker/references/svg-template.md +0 -0
- package/skills/gemini/SKILL.md +0 -0
- package/skills/gh-issues/SKILL.md +0 -0
- package/skills/gifgrep/SKILL.md +0 -0
- package/skills/github/SKILL.md +0 -0
- package/skills/healthcheck/SKILL.md +0 -0
- package/skills/mcporter/SKILL.md +0 -0
- package/skills/meme-maker/SKILL.md +0 -0
- package/skills/meme-maker/references/templates.json +0 -0
- package/skills/meme-maker/scripts/meme.mjs +0 -0
- package/skills/model-usage/SKILL.md +0 -0
- package/skills/model-usage/references/codexbar-cli.md +0 -0
- package/skills/model-usage/scripts/model_usage.py +0 -0
- package/skills/model-usage/scripts/test_model_usage.py +0 -0
- package/skills/nano-pdf/SKILL.md +0 -0
- package/skills/node-connect/SKILL.md +0 -0
- package/skills/node-inspect-debugger/SKILL.md +0 -0
- package/skills/openai-whisper/SKILL.md +0 -0
- package/skills/openai-whisper-api/SKILL.md +0 -0
- package/skills/openai-whisper-api/scripts/transcribe.sh +0 -0
- package/skills/oracle/SKILL.md +0 -0
- package/skills/pyproject.toml +0 -0
- package/skills/python-debugpy/SKILL.md +0 -0
- package/skills/sag/SKILL.md +0 -0
- package/skills/session-logs/SKILL.md +0 -0
- package/skills/sherpa-onnx-tts/SKILL.md +0 -0
- package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -0
- package/skills/skill-creator/SKILL.md +0 -0
- package/skills/skill-creator/license.txt +0 -0
- package/skills/skill-creator/scripts/init_skill.py +0 -0
- package/skills/skill-creator/scripts/package_skill.py +0 -0
- package/skills/skill-creator/scripts/quick_validate.py +0 -0
- package/skills/skill-creator/scripts/test_package_skill.py +0 -0
- package/skills/skill-creator/scripts/test_quick_validate.py +0 -0
- package/skills/spike/SKILL.md +0 -0
- package/skills/summarize/SKILL.md +0 -0
- package/skills/taskflow/SKILL.md +0 -0
- package/skills/taskflow/examples/inbox-triage.lobster +0 -0
- package/skills/taskflow/examples/pr-intake.lobster +0 -0
- package/skills/taskflow-inbox-triage/SKILL.md +0 -0
- package/skills/video-frames/SKILL.md +0 -0
- package/skills/video-frames/scripts/frame.sh +0 -0
- package/skills/voice-call/SKILL.md +0 -0
- package/skills/weather/SKILL.md +0 -0
- package/src/agents/templates/HEARTBEAT.md +0 -0
- package/dist/control-ui/assets/i18n-COx0mMoe.js +0 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-
|
|
1
|
+
import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-BWPaSddY.js";import{s as r,v as i}from"./index-bZJJ7U8q.js";var a=!1;function o(r){let o=!a;return t`
|
|
2
2
|
<section class="card">
|
|
3
3
|
<div class="row" style="justify-content: space-between;">
|
|
4
4
|
<div>
|
|
@@ -54,4 +54,4 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
|
|
|
54
54
|
</div>
|
|
55
55
|
</div>
|
|
56
56
|
`}export{o as renderInstances};
|
|
57
|
-
//# sourceMappingURL=instances-
|
|
57
|
+
//# sourceMappingURL=instances-RcBeqNzx.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-
|
|
1
|
+
import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-BWPaSddY.js";import{t as r}from"./string-coerce-BuYUxt7q.js";var i=[`trace`,`debug`,`info`,`warn`,`error`,`fatal`];function a(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleTimeString()}function o(e,t){return t?r([e.message,e.subsystem,e.raw].filter(Boolean).join(` `)).includes(t):!0}function s(s){let c=r(s.filterText),l=i.some(e=>!s.levelFilters[e]),u=s.entries.filter(e=>e.level&&!s.levelFilters[e.level]?!1:o(e,c)),d=c||l?`filtered`:`visible`;return t`
|
|
2
2
|
<section class="card card--fill-height">
|
|
3
3
|
<div class="row" style="justify-content: space-between;">
|
|
4
4
|
<div>
|
|
5
|
-
<div class="card-title"
|
|
6
|
-
<div class="card-sub"
|
|
5
|
+
<div class="card-title">${n(`logs.title`)}</div>
|
|
6
|
+
<div class="card-sub">${n(`logs.subtitle`)}</div>
|
|
7
7
|
</div>
|
|
8
8
|
<div class="row" style="gap: 8px;">
|
|
9
9
|
<button class="btn" ?disabled=${s.loading} @click=${s.onRefresh}>
|
|
@@ -21,7 +21,7 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
|
|
|
21
21
|
|
|
22
22
|
<div class="filters" style="margin-top: 14px;">
|
|
23
23
|
<label class="field" style="min-width: 220px;">
|
|
24
|
-
<span
|
|
24
|
+
<span>${n(`logs.filter`)}</span>
|
|
25
25
|
<input
|
|
26
26
|
.value=${s.filterText}
|
|
27
27
|
@input=${e=>s.onFilterTextChange(e.target.value)}
|
|
@@ -29,7 +29,7 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
|
|
|
29
29
|
/>
|
|
30
30
|
</label>
|
|
31
31
|
<label class="field checkbox">
|
|
32
|
-
<span
|
|
32
|
+
<span>${n(`logs.autoFollow`)}</span>
|
|
33
33
|
<input
|
|
34
34
|
type="checkbox"
|
|
35
35
|
.checked=${s.autoFollow}
|
|
@@ -60,7 +60,7 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
|
|
|
60
60
|
${s.error?t`<div class="callout danger" style="margin-top: 10px;">${s.error}</div>`:e}
|
|
61
61
|
|
|
62
62
|
<div class="log-stream" style="margin-top: 12px;" @scroll=${s.onScroll}>
|
|
63
|
-
${u.length===0?t` <div class="muted" style="padding: 12px"
|
|
63
|
+
${u.length===0?t` <div class="muted" style="padding: 12px">${n(`logs.noEntries`)}</div> `:u.map(e=>t`
|
|
64
64
|
<div class="log-row">
|
|
65
65
|
<div class="log-time mono">${a(e.time)}</div>
|
|
66
66
|
<div class="log-level ${e.level??``}">${e.level??``}</div>
|
|
@@ -71,4 +71,4 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
|
|
|
71
71
|
</div>
|
|
72
72
|
</section>
|
|
73
73
|
`}export{s as renderLogs};
|
|
74
|
-
//# sourceMappingURL=logs-
|
|
74
|
+
//# sourceMappingURL=logs-atEFsTJJ.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-
|
|
1
|
+
import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-BWPaSddY.js";import{r}from"./string-coerce-BuYUxt7q.js";import{F as i,I as a,lt as o,z as s}from"./index-bZJJ7U8q.js";function c(...e){let t=new Set;for(let n of e){if(!n)continue;if(Array.isArray(n)){for(let e of n){let n=e.trim();n&&t.add(n)}continue}let e=n.trim();e&&t.add(e)}return[...t].toSorted()}function l(e,t){let n=new Set(e);return t.every(e=>n.has(e))}function u(e){return{roles:c(e.roles,e.role),scopes:o(e.scopes)}}function d(e){let t=c(e.roles,e.role),n=Array.isArray(e.tokens)?e.tokens:e.tokens?Object.values(e.tokens):void 0;return{roles:n===void 0?t:c(n.filter(e=>!e.revokedAtMs).flatMap(e=>e.role??[])).filter(e=>t.includes(e)),scopes:o(e.scopes)}}function f(e,t){let n=u(e),r=t?d(t):null;return r?l(r.roles,n.roles)?l(r.scopes,n.scopes)?{kind:`re-approval`,requested:n,approved:r}:{kind:`scope-upgrade`,requested:n,approved:r}:{kind:`role-upgrade`,requested:n,approved:r}:{kind:`new-pairing`,requested:n,approved:null}}function p(e){let t=e?.agents??{},n=Array.isArray(t.list)?t.list:[],i=[];return n.forEach((e,t)=>{if(!e||typeof e!=`object`)return;let n=e,a=r(n.id)??``;if(!a)return;let o=r(n.name),s=n.default===!0;i.push({id:a,name:o,isDefault:s,index:t,record:n})}),i}function m(e,t){let n=new Set(t),i=[];for(let t of e){if(!(Array.isArray(t.commands)?t.commands:[]).some(e=>n.has(String(e))))continue;let e=r(t.nodeId)??``;if(!e)continue;let a=r(t.displayName)??e;i.push({id:e,label:a===e?e:`${a} · ${e}`})}return i.sort((e,t)=>e.label.localeCompare(t.label)),i}var h=`__defaults__`,g=[{value:`deny`,label:`nodes.exec.securityLevels.deny`},{value:`allowlist`,label:`nodes.exec.securityLevels.allowlist`},{value:`full`,label:`nodes.exec.securityLevels.full`}],_=[{value:`off`,label:`nodes.exec.askLevels.off`},{value:`on-miss`,label:`nodes.exec.askLevels.onMiss`},{value:`always`,label:`nodes.exec.askLevels.always`}];function v(e){return e===`allowlist`||e===`full`||e===`deny`?e:`deny`}function y(e){return e===`always`||e===`off`||e===`on-miss`?e:`on-miss`}function b(e){let t=e?.defaults??{};return{security:v(t.security),ask:y(t.ask),askFallback:v(t.askFallback??`deny`),autoAllowSkills:t.autoAllowSkills??!1}}function x(e){return p(e).map(e=>({id:e.id,name:e.name,isDefault:e.isDefault}))}function S(e,t){let n=x(e),r=Object.keys(t?.agents??{}),i=new Map;n.forEach(e=>i.set(e.id,e)),r.forEach(e=>{i.has(e)||i.set(e,{id:e})});let a=Array.from(i.values());return a.length===0&&a.push({id:`main`,isDefault:!0}),a.sort((e,t)=>{if(e.isDefault&&!t.isDefault)return-1;if(!e.isDefault&&t.isDefault)return 1;let n=e.name?.trim()?e.name:e.id,r=t.name?.trim()?t.name:t.id;return n.localeCompare(r)}),a}function C(e,t){return e===h?h:e&&t.some(t=>t.id===e)?e:h}function w(e){let t=e.execApprovalsForm??e.execApprovalsSnapshot?.file??null,n=!!t,r=b(t),i=S(e.configForm,t),a=j(e.nodes),o=e.execApprovalsTarget,s=o===`node`&&e.execApprovalsTargetNodeId?e.execApprovalsTargetNodeId:null;o===`node`&&s&&!a.some(e=>e.id===s)&&(s=null);let c=C(e.execApprovalsSelectedAgent,i),l=c===h?null:(t?.agents??{})[c]??null,u=Array.isArray(l?.allowlist)?l.allowlist??[]:[];return{ready:n,disabled:e.execApprovalsSaving||e.execApprovalsLoading,dirty:e.execApprovalsDirty,loading:e.execApprovalsLoading,saving:e.execApprovalsSaving,form:t,defaults:r,selectedScope:c,selectedAgent:l,agents:i,allowlist:u,target:o,targetNodeId:s,targetNodes:a,onSelectScope:e.onExecApprovalsSelectAgent,onSelectTarget:e.onExecApprovalsTargetChange,onPatch:e.onExecApprovalsPatch,onRemove:e.onExecApprovalsRemove,onLoad:e.onLoadExecApprovals,onSave:e.onSaveExecApprovals}}function T(r){let i=r.ready,a=r.target!==`node`||!!r.targetNodeId;return t`
|
|
2
2
|
<section class="card">
|
|
3
3
|
<div class="row" style="justify-content: space-between; align-items: center;">
|
|
4
4
|
<div>
|
|
5
|
-
<div class="card-title"
|
|
5
|
+
<div class="card-title">${n(`nodes.execApprovals`)}</div>
|
|
6
6
|
<div class="card-sub">
|
|
7
7
|
Allowlist and approval policy for <span class="mono">exec host=gateway/node</span>.
|
|
8
8
|
</div>
|
|
@@ -21,39 +21,41 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
|
|
|
21
21
|
${D(r)} ${O(r)}
|
|
22
22
|
${r.selectedScope===h?e:k(r)}
|
|
23
23
|
`:t`<div class="row" style="margin-top: 12px; gap: 12px;">
|
|
24
|
-
<div class="muted"
|
|
24
|
+
<div class="muted">${n(`nodes.execApprovalsLoadHint`)}</div>
|
|
25
25
|
<button class="btn" ?disabled=${r.loading||!a} @click=${r.onLoad}>
|
|
26
26
|
${r.loading?n(`common.loading`):n(`common.loadApprovals`)}
|
|
27
27
|
</button>
|
|
28
28
|
</div>`}
|
|
29
29
|
</section>
|
|
30
|
-
`}function E(
|
|
30
|
+
`}function E(r){let i=r.targetNodes.length>0,a=r.targetNodeId??``;return t`
|
|
31
31
|
<div class="list" style="margin-top: 12px;">
|
|
32
32
|
<div class="list-item">
|
|
33
33
|
<div class="list-main">
|
|
34
|
-
<div class="list-title"
|
|
34
|
+
<div class="list-title">${n(`nodes.target`)}</div>
|
|
35
35
|
<div class="list-sub">Gateway edits local approvals; node edits the selected node.</div>
|
|
36
36
|
</div>
|
|
37
37
|
<div class="list-meta">
|
|
38
38
|
<label class="field">
|
|
39
39
|
<span>Host</span>
|
|
40
40
|
<select
|
|
41
|
-
?disabled=${
|
|
42
|
-
@change=${e=>{if(e.target.value===`node`){let e=
|
|
41
|
+
?disabled=${r.disabled}
|
|
42
|
+
@change=${e=>{if(e.target.value===`node`){let e=r.targetNodes[0]?.id??null;r.onSelectTarget(`node`,a||e)}else r.onSelectTarget(`gateway`,null)}}
|
|
43
43
|
>
|
|
44
|
-
<option value="gateway" ?selected=${
|
|
45
|
-
<option value="node" ?selected=${
|
|
44
|
+
<option value="gateway" ?selected=${r.target===`gateway`}>Gateway</option>
|
|
45
|
+
<option value="node" ?selected=${r.target===`node`}>
|
|
46
|
+
${n(`nodes.nodeOption`)}
|
|
47
|
+
</option>
|
|
46
48
|
</select>
|
|
47
49
|
</label>
|
|
48
|
-
${
|
|
50
|
+
${r.target===`node`?t`
|
|
49
51
|
<label class="field">
|
|
50
|
-
<span
|
|
52
|
+
<span>${n(`nodes.nodeLabel`)}</span>
|
|
51
53
|
<select
|
|
52
|
-
?disabled=${
|
|
53
|
-
@change=${e=>{let t=e.target.value.trim();
|
|
54
|
+
?disabled=${r.disabled||!i}
|
|
55
|
+
@change=${e=>{let t=e.target.value.trim();r.onSelectTarget(`node`,t||null)}}
|
|
54
56
|
>
|
|
55
|
-
<option value="" ?selected=${
|
|
56
|
-
${
|
|
57
|
+
<option value="" ?selected=${a===``}>Select node</option>
|
|
58
|
+
${r.targetNodes.map(e=>t`<option value=${e.id} ?selected=${a===e.id}>
|
|
57
59
|
${e.label}
|
|
58
60
|
</option>`)}
|
|
59
61
|
</select>
|
|
@@ -61,11 +63,11 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
|
|
|
61
63
|
`:e}
|
|
62
64
|
</div>
|
|
63
65
|
</div>
|
|
64
|
-
${
|
|
66
|
+
${r.target===`node`&&!i?t` <div class="muted">${n(`nodes.noExecApprovalsNodes`)}</div> `:e}
|
|
65
67
|
</div>
|
|
66
68
|
`}function D(e){return t`
|
|
67
69
|
<div class="row" style="margin-top: 12px; gap: 8px; flex-wrap: wrap;">
|
|
68
|
-
<span class="label"
|
|
70
|
+
<span class="label">${n(`nodes.scope`)}</span>
|
|
69
71
|
<div class="row" style="gap: 8px; flex-wrap: wrap;">
|
|
70
72
|
<button
|
|
71
73
|
class="btn btn--sm ${e.selectedScope===h?`active`:``}"
|
|
@@ -187,45 +189,47 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
|
|
|
187
189
|
</div>
|
|
188
190
|
</div>
|
|
189
191
|
</div>
|
|
190
|
-
`}function k(e){let
|
|
192
|
+
`}function k(e){let r=[`agents`,e.selectedScope,`allowlist`],i=e.allowlist;return t`
|
|
191
193
|
<div class="row" style="margin-top: 18px; justify-content: space-between;">
|
|
192
194
|
<div>
|
|
193
|
-
<div class="card-title"
|
|
195
|
+
<div class="card-title">${n(`nodes.allowlist`)}</div>
|
|
194
196
|
<div class="card-sub">Case-insensitive glob patterns.</div>
|
|
195
197
|
</div>
|
|
196
198
|
<button
|
|
197
199
|
class="btn btn--sm"
|
|
198
200
|
?disabled=${e.disabled}
|
|
199
|
-
@click=${()=>{let t=[...
|
|
201
|
+
@click=${()=>{let t=[...i,{pattern:``}];e.onPatch(r,t)}}
|
|
200
202
|
>
|
|
201
203
|
Add pattern
|
|
202
204
|
</button>
|
|
203
205
|
</div>
|
|
204
206
|
<div class="list" style="margin-top: 12px;">
|
|
205
|
-
${
|
|
207
|
+
${i.length===0?t` <div class="muted">${n(`nodes.noAllowlistEntries`)}</div> `:i.map((t,n)=>A(e,t,n))}
|
|
206
208
|
</div>
|
|
207
|
-
`}function A(
|
|
209
|
+
`}function A(r,a,o){let c=a.lastUsedAt?s(a.lastUsedAt):`never`,l=a.lastUsedCommand?i(a.lastUsedCommand,120):null,u=a.lastResolvedPath?i(a.lastResolvedPath,120):null;return t`
|
|
208
210
|
<div class="list-item">
|
|
209
211
|
<div class="list-main">
|
|
210
|
-
<div class="list-title"
|
|
211
|
-
|
|
212
|
-
|
|
212
|
+
<div class="list-title">
|
|
213
|
+
${a.pattern?.trim()?a.pattern:n(`execApproval.newPattern`)}
|
|
214
|
+
</div>
|
|
215
|
+
<div class="list-sub">Last used: ${c}</div>
|
|
213
216
|
${l?t`<div class="list-sub mono">${l}</div>`:e}
|
|
217
|
+
${u?t`<div class="list-sub mono">${u}</div>`:e}
|
|
214
218
|
</div>
|
|
215
219
|
<div class="list-meta">
|
|
216
220
|
<label class="field">
|
|
217
221
|
<span>Pattern</span>
|
|
218
222
|
<input
|
|
219
223
|
type="text"
|
|
220
|
-
.value=${
|
|
221
|
-
?disabled=${
|
|
222
|
-
@input=${e=>{let t=e.target;
|
|
224
|
+
.value=${a.pattern??``}
|
|
225
|
+
?disabled=${r.disabled}
|
|
226
|
+
@input=${e=>{let t=e.target;r.onPatch([`agents`,r.selectedScope,`allowlist`,o,`pattern`],t.value)}}
|
|
223
227
|
/>
|
|
224
228
|
</label>
|
|
225
229
|
<button
|
|
226
230
|
class="btn btn--sm danger"
|
|
227
|
-
?disabled=${
|
|
228
|
-
@click=${()=>{if(
|
|
231
|
+
?disabled=${r.disabled}
|
|
232
|
+
@click=${()=>{if(r.allowlist.length<=1){r.onRemove([`agents`,r.selectedScope,`allowlist`]);return}r.onRemove([`agents`,r.selectedScope,`allowlist`,o])}}
|
|
229
233
|
>
|
|
230
234
|
Remove
|
|
231
235
|
</button>
|
|
@@ -236,7 +240,7 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
|
|
|
236
240
|
<section class="card">
|
|
237
241
|
<div class="row" style="justify-content: space-between;">
|
|
238
242
|
<div>
|
|
239
|
-
<div class="card-title"
|
|
243
|
+
<div class="card-title">${n(`nodes.title`)}</div>
|
|
240
244
|
<div class="card-sub">Paired devices and live links.</div>
|
|
241
245
|
</div>
|
|
242
246
|
<button class="btn" ?disabled=${e.loading} @click=${e.onRefresh}>
|
|
@@ -244,14 +248,14 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
|
|
|
244
248
|
</button>
|
|
245
249
|
</div>
|
|
246
250
|
<div class="list" style="margin-top: 16px;">
|
|
247
|
-
${e.nodes.length===0?t` <div class="muted"
|
|
251
|
+
${e.nodes.length===0?t` <div class="muted">${n(`nodes.noNodesFound`)}</div> `:e.nodes.map(e=>G(e))}
|
|
248
252
|
</div>
|
|
249
253
|
</section>
|
|
250
254
|
`}function N(i){let a=i.devicesList??{pending:[],paired:[]},o=Array.isArray(a.pending)?a.pending:[],s=Array.isArray(a.paired)?a.paired:[],c=new Map(s.map(e=>[r(e.deviceId),e]).filter(e=>!!e[0]));return t`
|
|
251
255
|
<section class="card">
|
|
252
256
|
<div class="row" style="justify-content: space-between;">
|
|
253
257
|
<div>
|
|
254
|
-
<div class="card-title"
|
|
258
|
+
<div class="card-title">${n(`nodes.devices`)}</div>
|
|
255
259
|
<div class="card-sub">Pairing requests + role tokens.</div>
|
|
256
260
|
</div>
|
|
257
261
|
<button class="btn" ?disabled=${i.devicesLoading} @click=${i.onDevicesRefresh}>
|
|
@@ -261,14 +265,16 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
|
|
|
261
265
|
${i.devicesError?t`<div class="callout danger" style="margin-top: 12px;">${i.devicesError}</div>`:e}
|
|
262
266
|
<div class="list" style="margin-top: 16px;">
|
|
263
267
|
${o.length>0?t`
|
|
264
|
-
<div class="muted" style="margin-bottom: 8px;"
|
|
268
|
+
<div class="muted" style="margin-bottom: 8px;">${n(`nodes.pending`)}</div>
|
|
265
269
|
${o.map(e=>L(e,i,P(c,e)))}
|
|
266
270
|
`:e}
|
|
267
271
|
${s.length>0?t`
|
|
268
|
-
<div class="muted" style="margin-top: 12px; margin-bottom: 8px;">
|
|
272
|
+
<div class="muted" style="margin-top: 12px; margin-bottom: 8px;">
|
|
273
|
+
${n(`nodes.paired`)}
|
|
274
|
+
</div>
|
|
269
275
|
${s.map(e=>R(e,i))}
|
|
270
276
|
`:e}
|
|
271
|
-
${o.length===0&&s.length===0?t` <div class="muted"
|
|
277
|
+
${o.length===0&&s.length===0?t` <div class="muted">${n(`nodes.noPairedDevices`)}</div> `:e}
|
|
272
278
|
</div>
|
|
273
279
|
</section>
|
|
274
280
|
`}function P(e,t){let n=r(t.deviceId);if(!n)return;let i=e.get(n);if(!i)return;let a=r(t.publicKey),o=r(i.publicKey);if(!(a&&o&&a!==o))return i}function F(e){return e?`roles: ${a(e.roles)} · scopes: ${a(e.scopes)}`:`none`}function I(e){switch(e){case`scope-upgrade`:return`scope upgrade requires approval`;case`role-upgrade`:return`role upgrade requires approval`;case`re-approval`:return`reconnect details changed; approval required`;case`new-pairing`:return`new device pairing request`}throw Error(`unsupported pending approval kind`)}function L(i,a,o){let c=r(i.displayName)||i.deviceId,l=typeof i.ts==`number`?s(i.ts):n(`common.na`),u=f(i,o),d=i.isRepair?` · repair`:``,p=i.remoteIp?` · ${i.remoteIp}`:``;return t`
|
|
@@ -299,16 +305,16 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
|
|
|
299
305
|
</div>
|
|
300
306
|
</div>
|
|
301
307
|
</div>
|
|
302
|
-
`}function R(e,
|
|
308
|
+
`}function R(e,i){let o=r(e.displayName)||e.deviceId,s=e.remoteIp?` · ${e.remoteIp}`:``,c=`roles: ${a(e.roles)}`,l=`scopes: ${a(e.scopes)}`,u=Array.isArray(e.tokens)?e.tokens:[];return t`
|
|
303
309
|
<div class="list-item">
|
|
304
310
|
<div class="list-main">
|
|
305
|
-
<div class="list-title">${
|
|
306
|
-
<div class="list-sub">${e.deviceId}${
|
|
307
|
-
<div class="muted" style="margin-top: 6px;">${
|
|
308
|
-
${
|
|
309
|
-
<div class="muted" style="margin-top: 10px;"
|
|
311
|
+
<div class="list-title">${o}</div>
|
|
312
|
+
<div class="list-sub">${e.deviceId}${s}</div>
|
|
313
|
+
<div class="muted" style="margin-top: 6px;">${c} · ${l}</div>
|
|
314
|
+
${u.length===0?t` <div class="muted" style="margin-top: 6px">${n(`nodes.tokensNone`)}</div> `:t`
|
|
315
|
+
<div class="muted" style="margin-top: 10px;">${n(`nodes.tokens`)}</div>
|
|
310
316
|
<div style="display: flex; flex-direction: column; gap: 8px; margin-top: 6px;">
|
|
311
|
-
${
|
|
317
|
+
${u.map(t=>z(e.deviceId,t,i))}
|
|
312
318
|
</div>
|
|
313
319
|
`}
|
|
314
320
|
</div>
|
|
@@ -368,17 +374,19 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
|
|
|
368
374
|
?disabled=${r.disabled||!i}
|
|
369
375
|
@change=${e=>{let t=e.target.value.trim();r.onBindDefault(t||null)}}
|
|
370
376
|
>
|
|
371
|
-
<option value="" ?selected=${a===``}>
|
|
377
|
+
<option value="" ?selected=${a===``}>
|
|
378
|
+
${n(`nodes.anyNode`)}
|
|
379
|
+
</option>
|
|
372
380
|
${r.nodes.map(e=>t`<option value=${e.id} ?selected=${a===e.id}>
|
|
373
381
|
${e.label}
|
|
374
382
|
</option>`)}
|
|
375
383
|
</select>
|
|
376
384
|
</label>
|
|
377
|
-
${i?e:t` <div class="muted"
|
|
385
|
+
${i?e:t` <div class="muted">${n(`nodes.noSystemRunNodes`)}</div> `}
|
|
378
386
|
</div>
|
|
379
387
|
</div>
|
|
380
388
|
|
|
381
|
-
${r.agents.length===0?t` <div class="muted"
|
|
389
|
+
${r.agents.length===0?t` <div class="muted">${n(`nodes.noAgentsFound`)}</div> `:r.agents.map(e=>H(e,r))}
|
|
382
390
|
</div>
|
|
383
391
|
`:t`<div class="row" style="margin-top: 12px; gap: 12px;">
|
|
384
392
|
<div class="muted">${n(`nodes.binding.loadConfigHint`)}</div>
|
|
@@ -387,26 +395,26 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
|
|
|
387
395
|
</button>
|
|
388
396
|
</div>`}
|
|
389
397
|
</section>
|
|
390
|
-
`}function H(e,
|
|
398
|
+
`}function H(e,r){let i=e.binding??`__default__`,a=e.name?.trim()?`${e.name} (${e.id})`:e.id,o=r.nodes.length>0;return t`
|
|
391
399
|
<div class="list-item">
|
|
392
400
|
<div class="list-main">
|
|
393
|
-
<div class="list-title">${
|
|
401
|
+
<div class="list-title">${a}</div>
|
|
394
402
|
<div class="list-sub">
|
|
395
|
-
${e.isDefault
|
|
396
|
-
${
|
|
403
|
+
${e.isDefault?n(`common.default`):`agent`} ·
|
|
404
|
+
${i===`__default__`?`uses default (${r.defaultBinding??`any`})`:`override: ${e.binding}`}
|
|
397
405
|
</div>
|
|
398
406
|
</div>
|
|
399
407
|
<div class="list-meta">
|
|
400
408
|
<label class="field">
|
|
401
409
|
<span>Binding</span>
|
|
402
410
|
<select
|
|
403
|
-
?disabled=${
|
|
404
|
-
@change=${t=>{let
|
|
411
|
+
?disabled=${r.disabled||!o}
|
|
412
|
+
@change=${t=>{let n=t.target.value.trim();r.onBindAgent(e.index,n===`__default__`?null:n)}}
|
|
405
413
|
>
|
|
406
|
-
<option value="__default__" ?selected=${
|
|
414
|
+
<option value="__default__" ?selected=${i===`__default__`}>
|
|
407
415
|
Use default
|
|
408
416
|
</option>
|
|
409
|
-
${
|
|
417
|
+
${r.nodes.map(e=>t`<option value=${e.id} ?selected=${i===e.id}>
|
|
410
418
|
${e.label}
|
|
411
419
|
</option>`)}
|
|
412
420
|
</select>
|
|
@@ -433,4 +441,4 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
|
|
|
433
441
|
</div>
|
|
434
442
|
</div>
|
|
435
443
|
`}export{M as renderNodes};
|
|
436
|
-
//# sourceMappingURL=nodes-
|
|
444
|
+
//# sourceMappingURL=nodes-BoWRh42t.js.map
|
package/dist/control-ui/assets/{push-subscription-SK4PlhIV.js → push-subscription-CY8GxC_U.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e}from"./i18n-
|
|
2
|
-
//# sourceMappingURL=push-subscription-
|
|
1
|
+
import{r as e}from"./i18n-BWPaSddY.js";var t=1e4;function n(){return Promise.race([navigator.serviceWorker.ready,new Promise((e,n)=>setTimeout(()=>n(Error(`Service worker not ready (timed out)`)),t))])}function r(e){let t=(e+`=`.repeat((4-e.length%4)%4)).replace(/-/g,`+`).replace(/_/g,`/`),n=atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r}async function i(){return`serviceWorker`in navigator?await(await n()).pushManager.getSubscription():null}async function a(t){let i=await Notification.requestPermission();if(i!==`granted`)throw Error(`Notification permission ${i}`);let a=(await t.request(`push.web.vapidPublicKey`,{})).vapidPublicKey;if(!a)throw Error(`Failed to retrieve VAPID public key`);let o=await(await n()).pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:r(a).buffer}),s=o.toJSON();if(!s.endpoint||!s.keys?.p256dh||!s.keys?.auth)throw Error(e(`chat.invalidPushSubscription`));try{return await t.request(`push.web.subscribe`,{endpoint:s.endpoint,keys:{p256dh:s.keys.p256dh,auth:s.keys.auth}})}catch(e){try{await o.unsubscribe()}catch{}throw e}}async function o(e){let t=await(await n()).pushManager.getSubscription();if(t){try{await e.request(`push.web.unsubscribe`,{endpoint:t.endpoint})}catch{}await t.unsubscribe()}}async function s(e,t){await e.request(`push.web.test`,{title:t?.title,body:t?.body})}export{i as getExistingSubscription,s as sendTestWebPush,a as subscribeToWebPush,o as unsubscribeFromWebPush};
|
|
2
|
+
//# sourceMappingURL=push-subscription-CY8GxC_U.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-
|
|
1
|
+
import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-BWPaSddY.js";import{r,t as i}from"./string-coerce-BuYUxt7q.js";import{P as a,R as o,X as s,c,d as l,f as u,h as d,it as f,m as p,p as m,v as h,z as g}from"./index-bZJJ7U8q.js";var _=[`off`,`minimal`,`low`,`medium`,`high`],v=[``,`off`,`on`,`full`],y=[``,`on`,`off`],b=[``,`off`,`on`,`stream`],x=[10,25,50,100];function S(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]??null:null}function C(e,t){return(!e.modelProvider||e.modelProvider===t?.modelProvider)&&(!e.model||e.model===t?.model)}function ee(e,t){let n=C(e,t),r=l(e.thinkingDefault??(n?t?.thinkingDefault:void 0)),i=e.thinkingLevels?.length?e.thinkingLevels:n&&t?.thinkingLevels?.length?t.thinkingLevels:(e.thinkingOptions?.length?e.thinkingOptions:n&&t?.thinkingOptions?.length?t.thinkingOptions:_).map(e=>({id:m(e),label:e}));return[{value:``,label:r},...i.map(e=>({value:m(e.id),label:u(e.id,e.label)}))]}function te(e,t){return!t||e.includes(t)?[...e]:[...e,t]}function w(e,t){return!t||e.some(e=>e.value===t)?[...e]:[...e,{value:t,label:u(t)}]}function ne(){return v.map(e=>({value:e,label:n(e===``?`sessionsView.inherit`:e===`off`?`sessionsView.offExplicit`:`sessionsView.${e}`)}))}function re(){return y.map(e=>({value:e,label:n(e===``?`sessionsView.inherit`:`sessionsView.${e}`)}))}function T(e){switch(e){case`running`:return n(`sessionsView.statusRunning`);case`done`:return n(`sessionsView.statusDone`);case`failed`:return n(`sessionsView.statusFailed`);case`killed`:return n(`sessionsView.statusKilled`);case`timeout`:return n(`sessionsView.statusTimeout`);default:return n(`sessionsView.statusUnknown`)}}function E(e){if(a(e))return{label:n(`sessionsView.statusLive`),tone:`live`};if(e.status===`running`&&e.hasActiveRun===!1)return{label:n(`sessions.statusIdle`),tone:`idle`};if(e.status){let t=e.status===`done`?`done`:`failed`;return{label:T(e.status),tone:t}}return e.hasActiveRun===!1?{label:n(`sessions.statusIdle`),tone:`idle`}:{label:n(`sessionsView.statusUnknown`),tone:`muted`}}function D(e){let r=E(e),i=`${n(`sessionsView.status`)}: ${r.label}`;return t`
|
|
2
2
|
<span
|
|
3
3
|
class="session-status-badge session-status-badge--${r.tone}"
|
|
4
4
|
title=${i}
|
|
@@ -7,7 +7,7 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
|
|
|
7
7
|
<span class="session-status-badge__dot" aria-hidden="true"></span>
|
|
8
8
|
<span class="session-status-badge__label">${r.label}</span>
|
|
9
9
|
</span>
|
|
10
|
-
`}function ie(e){return e||null}function O(e,t,
|
|
10
|
+
`}function ie(e){return e||null}function O(e,t,r){let c=i(t);return c?e.filter(e=>{let t=i(e.key),l=i(e.label),u=i(e.kind),f=i(e.displayName),p=i(s(e.agentRuntime)),m=i(e.status),h=e.goal?i(`${e.goal.objective} ${e.goal.status} ${d(e.goal)} ${e.goal.lastStatusNote??``}`):``,g=a(e)?n(`sessions.statusLive`):e.hasActiveRun===!1?n(`sessions.statusIdle`):``;if(t.includes(c)||l.includes(c)||u.includes(c)||f.includes(c)||p.includes(c)||m.includes(c)||h.includes(c)||g.includes(c))return!0;let _=o(e.key);return(_?i(S(r,_.agentId)?.name):``).includes(c)}):e}function k(e,t,n){let r=n===`asc`?1:-1;return[...e].toSorted((e,n)=>{let i=0;switch(t){case`key`:i=(e.key??``).localeCompare(n.key??``);break;case`kind`:i=(e.kind??``).localeCompare(n.kind??``);break;case`updated`:i=(e.updatedAt??0)-(n.updatedAt??0);break;case`tokens`:i=(e.totalTokens??e.inputTokens??e.outputTokens??0)-(n.totalTokens??n.inputTokens??n.outputTokens??0);break}return i*r})}function A(e,t,n){let r=t*n;return e.slice(r,r+n)}function j(e){let t=Number(e.trim());return Number.isFinite(t)&&t>0}function M(e){return i(e.searchQuery).length>0||j(e.activeMinutes)||j(e.limit)||!e.includeGlobal||!e.includeUnknown||!e.showArchived}function N(e){switch(e){case`manual`:return n(`sessionsView.manual`);case`auto-threshold`:return n(`sessionsView.autoThreshold`);case`overflow-retry`:return n(`sessionsView.overflowRetry`);case`timeout-retry`:return n(`sessionsView.timeoutRetry`);default:return e}}function P(e){return n(e===1?`sessionsView.checkpoint`:`sessionsView.checkpoints`,{count:String(e)})}function F(e){return typeof e.tokensBefore==`number`&&typeof e.tokensAfter==`number`&&Number.isFinite(e.tokensBefore)&&Number.isFinite(e.tokensAfter)?n(`sessionsView.tokenRange`,{before:e.tokensBefore.toLocaleString(),after:e.tokensAfter.toLocaleString()}):typeof e.tokensBefore==`number`&&Number.isFinite(e.tokensBefore)?n(`sessionsView.tokensBefore`,{count:e.tokensBefore.toLocaleString()}):n(`sessionsView.tokenDeltaUnavailable`)}function I(e){if(typeof e!=`number`||!Number.isFinite(e)||e<0)return null;let t=Math.round(e/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;if(n<60)return r>0?`${n}m ${r}s`:`${n}m`;let i=Math.floor(n/60),a=n%60;return a>0?`${i}h ${a}m`:`${i}h`}function L(n){return n?t`
|
|
11
11
|
<span
|
|
12
12
|
class="session-goal-chip session-goal-chip--${n.status}"
|
|
13
13
|
title=${p(n)}
|
|
@@ -422,4 +422,4 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
|
|
|
422
422
|
</div>
|
|
423
423
|
</td>
|
|
424
424
|
</tr>`]:[]]}export{V as renderSessions};
|
|
425
|
-
//# sourceMappingURL=sessions-
|
|
425
|
+
//# sourceMappingURL=sessions-BmRQ932H.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i}from"./i18n-
|
|
1
|
+
import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i}from"./i18n-BWPaSddY.js";import{t as a}from"./string-coerce-BuYUxt7q.js";import{F as o,_ as s,g as c,j as l}from"./index-bZJJ7U8q.js";import{i as u,n as d,r as f,t as p}from"./skills-shared-lQxAuc7D.js";function m(e){return e?c(e,window.location.href):null}function h(e){!(e instanceof HTMLDialogElement)||e.open||(e.isConnected?e.showModal():queueMicrotask(()=>{e.isConnected&&!e.open&&e.showModal()}))}var g=[{id:`all`,label:`All`},{id:`ready`,label:`Ready`},{id:`needs-setup`,label:i(`agentTools.needsSetup`)},{id:`disabled`,label:`Disabled`}];function _(e,t){switch(t){case`all`:return!0;case`ready`:return!e.disabled&&e.eligible;case`needs-setup`:return!e.disabled&&!e.eligible;case`disabled`:return e.disabled}throw Error(`不支持的技能状态过滤器`)}function v(e){return e.disabled?`muted`:e.eligible?`ok`:`warn`}function y(e,t){let n=e.clawhub;return!n||n.status!==`linked`||!n.valid?null:t[l({registry:n.registry,slug:n.slug,version:n.installedVersion})]??null}function b(e){if(!e)return`Unavailable`;let t=e.securityStatus?.trim()||null;return e.ok&&e.decision===`pass`?t===`clean`||!t?`Clean`:t:t===`pending`||t===`not-run`?`Pending`:t===`malicious`?`Blocked`:t===`suspicious`?`Review`:`Unavailable`}function x(e){if(!e)return`chip-warn`;if(e.ok&&e.decision===`pass`)return`chip-ok`;let t=e.securityStatus?.trim()||null;return t===`pending`||t===`not-run`?`chip`:`chip-warn`}function S(t){let n=t.report?.skills??[],o={all:n.length,ready:0,"needs-setup":0,disabled:0};for(let e of n)e.disabled?o.disabled++:e.eligible?o.ready++:o[`needs-setup`]++;let s=t.statusFilter===`all`?n:n.filter(e=>_(e,t.statusFilter)),c=a(t.filter),l=c?s.filter(e=>a([e.name,e.description,e.source].join(` `)).includes(c)):s,d=u(l),f=t.detailKey?n.find(e=>e.skillKey===t.detailKey)??null:null;return r`
|
|
2
2
|
<section class="card">
|
|
3
3
|
<div class="row" style="justify-content: space-between;">
|
|
4
4
|
<div>
|
|
5
|
-
<div class="card-title"
|
|
5
|
+
<div class="card-title">${i(`skills.title`)}</div>
|
|
6
6
|
<div class="card-sub">Installed skills and their status.</div>
|
|
7
7
|
</div>
|
|
8
8
|
<button
|
|
@@ -53,12 +53,12 @@ import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i
|
|
|
53
53
|
<input
|
|
54
54
|
.value=${t.clawhubQuery}
|
|
55
55
|
@input=${e=>t.onClawHubQueryChange(e.target.value)}
|
|
56
|
-
placeholder="
|
|
56
|
+
placeholder="${i(`skills.searchPlaceholder`)}"
|
|
57
57
|
autocomplete="off"
|
|
58
58
|
name="clawhub-search"
|
|
59
59
|
/>
|
|
60
60
|
</label>
|
|
61
|
-
${t.clawhubSearchLoading?r`<span class="muted"
|
|
61
|
+
${t.clawhubSearchLoading?r`<span class="muted">${i(`skills.searching`)}</span>`:e}
|
|
62
62
|
</div>
|
|
63
63
|
${t.clawhubSearchError?r`<div class="callout danger" style="margin-top: 8px;">
|
|
64
64
|
${t.clawhubSearchError}
|
|
@@ -75,7 +75,7 @@ import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i
|
|
|
75
75
|
${t.error?r`<div class="callout danger" style="margin-top: 12px;">${t.error}</div>`:e}
|
|
76
76
|
${l.length===0?r`
|
|
77
77
|
<div class="muted" style="margin-top: 16px">
|
|
78
|
-
${!t.connected&&!t.report?`Not connected to gateway
|
|
78
|
+
${!t.connected&&!t.report?`Not connected to gateway.`:i(`skills.noSkillsFound`)}
|
|
79
79
|
</div>
|
|
80
80
|
`:r`
|
|
81
81
|
<div class="agent-skills-groups" style="margin-top: 16px;">
|
|
@@ -96,7 +96,9 @@ import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i
|
|
|
96
96
|
|
|
97
97
|
${f?E(f,t):e}
|
|
98
98
|
${t.clawhubDetailSlug?w(t):e}
|
|
99
|
-
`}function C(t){let n=t.clawhubResults;return n?n.length===0?r`<div class="muted" style="margin-top: 8px;">
|
|
99
|
+
`}function C(t){let n=t.clawhubResults;return n?n.length===0?r`<div class="muted" style="margin-top: 8px;">
|
|
100
|
+
${i(`skills.noSkillsFoundOnClawhub`)}
|
|
101
|
+
</div>`:r`
|
|
100
102
|
<div class="list" style="margin-top: 8px;">
|
|
101
103
|
${n.map(n=>r`
|
|
102
104
|
<div
|
|
@@ -166,7 +168,7 @@ import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i
|
|
|
166
168
|
>
|
|
167
169
|
${t.clawhubInstallSlug===t.clawhubDetailSlug?`Installing…`:`Install ${a.skill.displayName}`}
|
|
168
170
|
</button>
|
|
169
|
-
`:r`<div class="muted"
|
|
171
|
+
`:r`<div class="muted">${i(`skills.skillNotFound`)}</div>`}
|
|
170
172
|
</div>
|
|
171
173
|
</div>
|
|
172
174
|
</dialog>
|
|
@@ -196,12 +198,12 @@ import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i
|
|
|
196
198
|
</label>
|
|
197
199
|
</div>
|
|
198
200
|
</div>
|
|
199
|
-
`}function E(t,
|
|
201
|
+
`}function E(t,a){let o=a.busyKey===t.skillKey,s=a.edits[t.skillKey]??``,c=a.messages[t.skillKey]??null,l=t.install.length>0&&t.missing.bins.length>0,u=!!(t.bundled&&t.source!==`fengming-bundled`),g=p(t),_=d(t),b=y(t,a.clawhubVerdicts),x=a.detailTab===`card`&&t.skillCard?.present?`card`:`overview`;return r`
|
|
200
202
|
<dialog
|
|
201
203
|
class="md-preview-dialog"
|
|
202
204
|
${n(h)}
|
|
203
205
|
@click=${e=>{let t=e.currentTarget;e.target===t&&t.close()}}
|
|
204
|
-
@close=${
|
|
206
|
+
@close=${a.onDetailClose}
|
|
205
207
|
>
|
|
206
208
|
<div class="md-preview-dialog__panel">
|
|
207
209
|
<div class="md-preview-dialog__header">
|
|
@@ -225,37 +227,39 @@ import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i
|
|
|
225
227
|
<div style="font-size: 14px; line-height: 1.5; color: var(--text);">
|
|
226
228
|
${t.description}
|
|
227
229
|
</div>
|
|
228
|
-
${f({skill:t,showBundledBadge:
|
|
230
|
+
${f({skill:t,showBundledBadge:u})}
|
|
229
231
|
</div>
|
|
230
232
|
|
|
231
233
|
${t.clawhub||t.skillCard?.present?r`
|
|
232
234
|
<div class="agent-tabs">
|
|
233
235
|
<button
|
|
234
|
-
class="agent-tab ${
|
|
235
|
-
@click=${()=>
|
|
236
|
+
class="agent-tab ${x===`overview`?`active`:``}"
|
|
237
|
+
@click=${()=>a.onDetailTabChange(`overview`)}
|
|
236
238
|
>
|
|
237
239
|
Overview
|
|
238
240
|
</button>
|
|
239
241
|
${t.skillCard?.present?r`<button
|
|
240
|
-
class="agent-tab ${
|
|
241
|
-
@click=${()=>
|
|
242
|
+
class="agent-tab ${x===`card`?`active`:``}"
|
|
243
|
+
@click=${()=>a.onDetailTabChange(`card`)}
|
|
242
244
|
>
|
|
243
245
|
Skill Card
|
|
244
246
|
</button>`:e}
|
|
245
247
|
</div>
|
|
246
248
|
`:e}
|
|
247
|
-
${
|
|
248
|
-
${
|
|
249
|
+
${x===`overview`?D(t,a,b):O(t,a)}
|
|
250
|
+
${g.length>0?r`
|
|
249
251
|
<div
|
|
250
252
|
class="callout"
|
|
251
253
|
style="border-color: var(--warn-subtle); background: var(--warn-subtle); color: var(--warn);"
|
|
252
254
|
>
|
|
253
|
-
<div style="font-weight: 600; margin-bottom: 4px;">
|
|
254
|
-
|
|
255
|
+
<div style="font-weight: 600; margin-bottom: 4px;">
|
|
256
|
+
${i(`skills.missingRequirements`)}
|
|
257
|
+
</div>
|
|
258
|
+
<div>${g.join(`, `)}</div>
|
|
255
259
|
</div>
|
|
256
260
|
`:e}
|
|
257
|
-
${
|
|
258
|
-
<div class="muted" style="font-size: 13px;">Reason: ${
|
|
261
|
+
${_.length>0?r`
|
|
262
|
+
<div class="muted" style="font-size: 13px;">Reason: ${_.join(`, `)}</div>
|
|
259
263
|
`:e}
|
|
260
264
|
|
|
261
265
|
<div style="display: flex; align-items: center; gap: 12px;">
|
|
@@ -264,24 +268,24 @@ import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i
|
|
|
264
268
|
type="checkbox"
|
|
265
269
|
class="skill-toggle"
|
|
266
270
|
.checked=${!t.disabled}
|
|
267
|
-
?disabled=${
|
|
268
|
-
@change=${()=>
|
|
271
|
+
?disabled=${o}
|
|
272
|
+
@change=${()=>a.onToggle(t.skillKey,t.disabled)}
|
|
269
273
|
/>
|
|
270
274
|
</label>
|
|
271
275
|
<span style="font-size: 13px; font-weight: 500;">
|
|
272
276
|
${t.disabled?`Disabled`:`Enabled`}
|
|
273
277
|
</span>
|
|
274
|
-
${
|
|
278
|
+
${l?r`<button
|
|
275
279
|
class="btn"
|
|
276
|
-
?disabled=${
|
|
277
|
-
@click=${()=>
|
|
280
|
+
?disabled=${o}
|
|
281
|
+
@click=${()=>a.onInstall(t.skillKey,t.name,t.install[0].id)}
|
|
278
282
|
>
|
|
279
|
-
${
|
|
283
|
+
${o?`Installing…`:t.install[0].label}
|
|
280
284
|
</button>`:e}
|
|
281
285
|
</div>
|
|
282
286
|
|
|
283
|
-
${
|
|
284
|
-
${
|
|
287
|
+
${c?r`<div class="callout ${c.kind===`error`?`danger`:`success`}">
|
|
288
|
+
${c.message}
|
|
285
289
|
</div>`:e}
|
|
286
290
|
${t.primaryEnv?r`
|
|
287
291
|
<div style="display: grid; gap: 8px;">
|
|
@@ -294,8 +298,8 @@ import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i
|
|
|
294
298
|
>
|
|
295
299
|
<input
|
|
296
300
|
type="password"
|
|
297
|
-
.value=${
|
|
298
|
-
@input=${e=>
|
|
301
|
+
.value=${s}
|
|
302
|
+
@input=${e=>a.onEdit(t.skillKey,e.target.value)}
|
|
299
303
|
/>
|
|
300
304
|
</div>
|
|
301
305
|
${(()=>{let n=m(t.homepage);return n?r`<div class="muted" style="font-size: 13px;">
|
|
@@ -306,8 +310,8 @@ import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i
|
|
|
306
310
|
</div>`:e})()}
|
|
307
311
|
<button
|
|
308
312
|
class="btn primary"
|
|
309
|
-
?disabled=${
|
|
310
|
-
@click=${()=>
|
|
313
|
+
?disabled=${o}
|
|
314
|
+
@click=${()=>a.onSaveKey(t.skillKey)}
|
|
311
315
|
>
|
|
312
316
|
Save key
|
|
313
317
|
</button>
|
|
@@ -339,7 +343,7 @@ import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i
|
|
|
339
343
|
<div style="display: flex; align-items: center; gap: 8px; flex-wrap: wrap;">
|
|
340
344
|
<span class="chip ${x(a)}">${b(a)}</span>
|
|
341
345
|
<span class="muted" style="font-size: 12px;">${o.slug}@${o.installedVersion}</span>
|
|
342
|
-
${n.clawhubVerdictsLoading?r`<span class="muted"
|
|
346
|
+
${n.clawhubVerdictsLoading?r`<span class="muted">${i(`skills.refreshing`)}</span>`:e}
|
|
343
347
|
</div>
|
|
344
348
|
${n.clawhubVerdictsError?r`<div class="muted" style="font-size: 13px;">${n.clawhubVerdictsError}</div>`:c?r`<div class="muted" style="font-size: 13px;">${c}</div>`:e}
|
|
345
349
|
${s?r`<div style="font-size: 13px;">
|
|
@@ -355,4 +359,4 @@ import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i
|
|
|
355
359
|
${t(s(a))}
|
|
356
360
|
</article>
|
|
357
361
|
`}export{S as renderSkills};
|
|
358
|
-
//# sourceMappingURL=skills-
|
|
362
|
+
//# sourceMappingURL=skills-BDn45kHZ.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-
|
|
1
|
+
import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-BWPaSddY.js";var r=[{id:`workspace`,label:n(`agentTools.workspaceSkills`),sources:[`fengming-workspace`]},{id:`built-in`,label:n(`agentTools.builtInSkills`),sources:[`fengming-bundled`]},{id:`installed`,label:n(`agentTools.installedSkills`),sources:[`fengming-managed`]},{id:`extra`,label:n(`agentTools.extraSkills`),sources:[`fengming-extra`]}];function i(e){let t=new Map;for(let e of r)t.set(e.id,{id:e.id,label:e.label,skills:[]});let i=r.find(e=>e.id===`built-in`),a={id:`other`,label:n(`agentTools.otherSkills`),skills:[]};for(let n of e){let e=n.bundled?i:r.find(e=>e.sources.includes(n.source));e?t.get(e.id)?.skills.push(n):a.skills.push(n)}let o=r.map(e=>t.get(e.id)).filter(e=>!!(e&&e.skills.length>0));return a.skills.length>0&&o.push(a),o}function a(e){return[...e.missing.bins.map(e=>`bin:${e}`),...e.missing.env.map(e=>`env:${e}`),...e.missing.config.map(e=>`config:${e}`),...e.missing.os.map(e=>`os:${e}`)]}function o(e){let t=[];return e.disabled&&t.push(n(`common.disabled`)),e.blockedByAllowlist&&t.push(n(`skills.blockedByAllowlist`)),t}function s(n){let r=n.skill,i=!!n.showBundledBadge;return t`
|
|
2
2
|
<div class="chip-row" style="margin-top: 6px;">
|
|
3
3
|
<span class="chip">${r.source}</span>
|
|
4
4
|
${i?t` <span class="chip">bundled</span> `:e}
|
|
@@ -8,4 +8,4 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
|
|
|
8
8
|
${r.disabled?t` <span class="chip chip-warn">disabled</span> `:e}
|
|
9
9
|
</div>
|
|
10
10
|
`}export{i,o as n,s as r,a as t};
|
|
11
|
-
//# sourceMappingURL=skills-shared-
|
|
11
|
+
//# sourceMappingURL=skills-shared-lQxAuc7D.js.map
|