loudmouth-ai 0.1.0
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 +1158 -0
- package/LICENSE +21 -0
- package/README.md +128 -0
- package/assets/avatar-placeholder.svg +19 -0
- package/assets/chrome-extension/README.md +22 -0
- package/assets/chrome-extension/background.js +438 -0
- package/assets/chrome-extension/icons/icon128.png +0 -0
- package/assets/chrome-extension/icons/icon16.png +0 -0
- package/assets/chrome-extension/icons/icon32.png +0 -0
- package/assets/chrome-extension/icons/icon48.png +0 -0
- package/assets/chrome-extension/manifest.json +25 -0
- package/assets/chrome-extension/options.html +197 -0
- package/assets/chrome-extension/options.js +59 -0
- package/assets/dmg-background-small.png +0 -0
- package/assets/dmg-background.png +0 -0
- package/dist/acp/client.js +144 -0
- package/dist/acp/commands.js +38 -0
- package/dist/acp/event-mapper.js +70 -0
- package/dist/acp/index.js +2 -0
- package/dist/acp/meta.js +30 -0
- package/dist/acp/server.js +131 -0
- package/dist/acp/session-mapper.js +65 -0
- package/dist/acp/session.js +68 -0
- package/dist/acp/translator.js +344 -0
- package/dist/acp/types.js +6 -0
- package/dist/agents/agent-paths.js +19 -0
- package/dist/agents/agent-scope.js +118 -0
- package/dist/agents/anthropic-payload-log.js +160 -0
- package/dist/agents/apply-patch-update.js +145 -0
- package/dist/agents/apply-patch.js +355 -0
- package/dist/agents/auth-health.js +165 -0
- package/dist/agents/auth-profiles/constants.js +20 -0
- package/dist/agents/auth-profiles/display.js +10 -0
- package/dist/agents/auth-profiles/doctor.js +31 -0
- package/dist/agents/auth-profiles/external-cli-sync.js +62 -0
- package/dist/agents/auth-profiles/oauth.js +193 -0
- package/dist/agents/auth-profiles/order.js +166 -0
- package/dist/agents/auth-profiles/paths.js +27 -0
- package/dist/agents/auth-profiles/profiles.js +63 -0
- package/dist/agents/auth-profiles/repair.js +120 -0
- package/dist/agents/auth-profiles/session-override.js +97 -0
- package/dist/agents/auth-profiles/store.js +323 -0
- package/dist/agents/auth-profiles/types.js +1 -0
- package/dist/agents/auth-profiles/usage.js +235 -0
- package/dist/agents/auth-profiles.js +10 -0
- package/dist/agents/bash-process-registry.js +177 -0
- package/dist/agents/bash-tools.exec.js +1176 -0
- package/dist/agents/bash-tools.js +2 -0
- package/dist/agents/bash-tools.process.js +569 -0
- package/dist/agents/bash-tools.shared.js +191 -0
- package/dist/agents/bedrock-discovery.js +157 -0
- package/dist/agents/bootstrap-files.js +28 -0
- package/dist/agents/bootstrap-hooks.js +19 -0
- package/dist/agents/cache-trace.js +185 -0
- package/dist/agents/channel-tools.js +58 -0
- package/dist/agents/chutes-oauth.js +133 -0
- package/dist/agents/claude-cli-runner.js +3 -0
- package/dist/agents/clawdbot-tools.js +124 -0
- package/dist/agents/cli-backends.js +126 -0
- package/dist/agents/cli-credentials.js +360 -0
- package/dist/agents/cli-runner/helpers.js +409 -0
- package/dist/agents/cli-runner.js +265 -0
- package/dist/agents/cli-session.js +27 -0
- package/dist/agents/compaction.js +226 -0
- package/dist/agents/context-window-guard.js +37 -0
- package/dist/agents/context.js +34 -0
- package/dist/agents/date-time.js +158 -0
- package/dist/agents/defaults.js +6 -0
- package/dist/agents/docs-path.js +20 -0
- package/dist/agents/failover-error.js +164 -0
- package/dist/agents/identity-avatar.js +82 -0
- package/dist/agents/identity-file.js +80 -0
- package/dist/agents/identity.js +61 -0
- package/dist/agents/lanes.js +2 -0
- package/dist/agents/live-auth-keys.js +70 -0
- package/dist/agents/live-model-filter.js +70 -0
- package/dist/agents/memory-search.js +184 -0
- package/dist/agents/minimax-vlm.js +81 -0
- package/dist/agents/model-auth.js +273 -0
- package/dist/agents/model-catalog.js +95 -0
- package/dist/agents/model-compat.js +17 -0
- package/dist/agents/model-fallback.js +246 -0
- package/dist/agents/model-scan.js +350 -0
- package/dist/agents/model-selection.js +284 -0
- package/dist/agents/models-config.js +111 -0
- package/dist/agents/models-config.providers.js +423 -0
- package/dist/agents/opencode-zen-models.js +254 -0
- package/dist/agents/pi-embedded-block-chunker.js +209 -0
- package/dist/agents/pi-embedded-helpers/bootstrap.js +159 -0
- package/dist/agents/pi-embedded-helpers/errors.js +436 -0
- package/dist/agents/pi-embedded-helpers/google.js +12 -0
- package/dist/agents/pi-embedded-helpers/images.js +92 -0
- package/dist/agents/pi-embedded-helpers/messaging-dedupe.js +35 -0
- package/dist/agents/pi-embedded-helpers/openai.js +98 -0
- package/dist/agents/pi-embedded-helpers/thinking.js +32 -0
- package/dist/agents/pi-embedded-helpers/turns.js +95 -0
- package/dist/agents/pi-embedded-helpers/types.js +1 -0
- package/dist/agents/pi-embedded-helpers.js +9 -0
- package/dist/agents/pi-embedded-messaging.js +24 -0
- package/dist/agents/pi-embedded-runner/abort.js +9 -0
- package/dist/agents/pi-embedded-runner/cache-ttl.js +45 -0
- package/dist/agents/pi-embedded-runner/compact.js +405 -0
- package/dist/agents/pi-embedded-runner/extensions.js +59 -0
- package/dist/agents/pi-embedded-runner/extra-params.js +70 -0
- package/dist/agents/pi-embedded-runner/google.js +302 -0
- package/dist/agents/pi-embedded-runner/history.js +61 -0
- package/dist/agents/pi-embedded-runner/lanes.js +11 -0
- package/dist/agents/pi-embedded-runner/logger.js +2 -0
- package/dist/agents/pi-embedded-runner/model.js +70 -0
- package/dist/agents/pi-embedded-runner/run/attempt.js +748 -0
- package/dist/agents/pi-embedded-runner/run/images.js +344 -0
- package/dist/agents/pi-embedded-runner/run/params.js +1 -0
- package/dist/agents/pi-embedded-runner/run/payloads.js +162 -0
- package/dist/agents/pi-embedded-runner/run/types.js +1 -0
- package/dist/agents/pi-embedded-runner/run.js +535 -0
- package/dist/agents/pi-embedded-runner/runs.js +107 -0
- package/dist/agents/pi-embedded-runner/sandbox-info.js +25 -0
- package/dist/agents/pi-embedded-runner/session-manager-cache.js +54 -0
- package/dist/agents/pi-embedded-runner/session-manager-init.js +31 -0
- package/dist/agents/pi-embedded-runner/system-prompt.js +33 -0
- package/dist/agents/pi-embedded-runner/tool-split.js +8 -0
- package/dist/agents/pi-embedded-runner/types.js +1 -0
- package/dist/agents/pi-embedded-runner/utils.js +25 -0
- package/dist/agents/pi-embedded-runner.js +10 -0
- package/dist/agents/pi-embedded-subscribe.handlers.js +45 -0
- package/dist/agents/pi-embedded-subscribe.handlers.lifecycle.js +86 -0
- package/dist/agents/pi-embedded-subscribe.handlers.messages.js +230 -0
- package/dist/agents/pi-embedded-subscribe.handlers.tools.js +176 -0
- package/dist/agents/pi-embedded-subscribe.handlers.types.js +1 -0
- package/dist/agents/pi-embedded-subscribe.js +454 -0
- package/dist/agents/pi-embedded-subscribe.raw-stream.js +27 -0
- package/dist/agents/pi-embedded-subscribe.tools.js +166 -0
- package/dist/agents/pi-embedded-subscribe.types.js +1 -0
- package/dist/agents/pi-embedded-utils.js +341 -0
- package/dist/agents/pi-embedded.js +1 -0
- package/dist/agents/pi-extensions/compaction-safeguard.js +223 -0
- package/dist/agents/pi-extensions/context-pruning/extension.js +32 -0
- package/dist/agents/pi-extensions/context-pruning/pruner.js +263 -0
- package/dist/agents/pi-extensions/context-pruning/runtime.js +21 -0
- package/dist/agents/pi-extensions/context-pruning/settings.js +71 -0
- package/dist/agents/pi-extensions/context-pruning/tools.js +44 -0
- package/dist/agents/pi-extensions/context-pruning.js +9 -0
- package/dist/agents/pi-settings.js +19 -0
- package/dist/agents/pi-tool-definition-adapter.js +74 -0
- package/dist/agents/pi-tools.abort.js +41 -0
- package/dist/agents/pi-tools.js +289 -0
- package/dist/agents/pi-tools.policy.js +212 -0
- package/dist/agents/pi-tools.read.js +227 -0
- package/dist/agents/pi-tools.schema.js +147 -0
- package/dist/agents/pi-tools.types.js +1 -0
- package/dist/agents/pty-dsr.js +13 -0
- package/dist/agents/pty-keys.js +235 -0
- package/dist/agents/sandbox/browser-bridges.js +1 -0
- package/dist/agents/sandbox/browser.js +178 -0
- package/dist/agents/sandbox/config-hash.js +45 -0
- package/dist/agents/sandbox/config.js +126 -0
- package/dist/agents/sandbox/constants.js +45 -0
- package/dist/agents/sandbox/context.js +117 -0
- package/dist/agents/sandbox/docker.js +272 -0
- package/dist/agents/sandbox/manage.js +91 -0
- package/dist/agents/sandbox/prune.js +87 -0
- package/dist/agents/sandbox/registry.js +71 -0
- package/dist/agents/sandbox/runtime-status.js +90 -0
- package/dist/agents/sandbox/shared.js +38 -0
- package/dist/agents/sandbox/tool-policy.js +106 -0
- package/dist/agents/sandbox/types.docker.js +1 -0
- package/dist/agents/sandbox/types.js +1 -0
- package/dist/agents/sandbox/workspace.js +39 -0
- package/dist/agents/sandbox-paths.js +68 -0
- package/dist/agents/sandbox.js +7 -0
- package/dist/agents/schema/clean-for-gemini.js +295 -0
- package/dist/agents/schema/typebox.js +22 -0
- package/dist/agents/session-slug.js +134 -0
- package/dist/agents/session-tool-result-guard-wrapper.js +34 -0
- package/dist/agents/session-tool-result-guard.js +99 -0
- package/dist/agents/session-transcript-repair.js +174 -0
- package/dist/agents/session-write-lock.js +102 -0
- package/dist/agents/shell-utils.js +99 -0
- package/dist/agents/skills/bundled-dir.js +30 -0
- package/dist/agents/skills/config.js +141 -0
- package/dist/agents/skills/env-overrides.js +67 -0
- package/dist/agents/skills/frontmatter.js +119 -0
- package/dist/agents/skills/plugin-skills.js +55 -0
- package/dist/agents/skills/refresh.js +135 -0
- package/dist/agents/skills/serialize.js +13 -0
- package/dist/agents/skills/types.js +1 -0
- package/dist/agents/skills/workspace.js +272 -0
- package/dist/agents/skills-install.js +390 -0
- package/dist/agents/skills-status.js +183 -0
- package/dist/agents/skills.js +13 -0
- package/dist/agents/subagent-announce-queue.js +129 -0
- package/dist/agents/subagent-announce.js +391 -0
- package/dist/agents/subagent-registry.js +343 -0
- package/dist/agents/subagent-registry.store.js +73 -0
- package/dist/agents/synthetic-models.js +174 -0
- package/dist/agents/system-prompt-params.js +70 -0
- package/dist/agents/system-prompt-report.js +113 -0
- package/dist/agents/system-prompt.js +467 -0
- package/dist/agents/test-helpers/fast-coding-tools.js +18 -0
- package/dist/agents/test-helpers/fast-core-tools.js +24 -0
- package/dist/agents/timeout.js +24 -0
- package/dist/agents/tool-call-id.js +164 -0
- package/dist/agents/tool-display.js +209 -0
- package/dist/agents/tool-display.json +308 -0
- package/dist/agents/tool-images.js +166 -0
- package/dist/agents/tool-policy.js +193 -0
- package/dist/agents/tool-summaries.js +10 -0
- package/dist/agents/tools/agent-step.js +44 -0
- package/dist/agents/tools/agents-list-tool.js +66 -0
- package/dist/agents/tools/browser-tool.js +656 -0
- package/dist/agents/tools/browser-tool.schema.js +106 -0
- package/dist/agents/tools/canvas-tool.js +158 -0
- package/dist/agents/tools/common.js +146 -0
- package/dist/agents/tools/cron-tool.js +261 -0
- package/dist/agents/tools/discord-actions-guild.js +453 -0
- package/dist/agents/tools/discord-actions-messaging.js +383 -0
- package/dist/agents/tools/discord-actions-moderation.js +92 -0
- package/dist/agents/tools/discord-actions.js +61 -0
- package/dist/agents/tools/gateway-tool.js +214 -0
- package/dist/agents/tools/gateway.js +30 -0
- package/dist/agents/tools/image-tool.helpers.js +55 -0
- package/dist/agents/tools/image-tool.js +370 -0
- package/dist/agents/tools/memory-tool.js +103 -0
- package/dist/agents/tools/message-tool.js +319 -0
- package/dist/agents/tools/nodes-tool.js +399 -0
- package/dist/agents/tools/nodes-utils.js +92 -0
- package/dist/agents/tools/session-status-tool.js +357 -0
- package/dist/agents/tools/sessions-announce-target.js +43 -0
- package/dist/agents/tools/sessions-helpers.js +261 -0
- package/dist/agents/tools/sessions-history-tool.js +118 -0
- package/dist/agents/tools/sessions-list-tool.js +161 -0
- package/dist/agents/tools/sessions-send-helpers.js +116 -0
- package/dist/agents/tools/sessions-send-tool.a2a.js +119 -0
- package/dist/agents/tools/sessions-send-tool.js +345 -0
- package/dist/agents/tools/sessions-spawn-tool.js +232 -0
- package/dist/agents/tools/slack-actions.js +243 -0
- package/dist/agents/tools/telegram-actions.js +162 -0
- package/dist/agents/tools/tts-tool.js +47 -0
- package/dist/agents/tools/web-fetch-utils.js +104 -0
- package/dist/agents/tools/web-fetch.js +477 -0
- package/dist/agents/tools/web-search.js +355 -0
- package/dist/agents/tools/web-shared.js +62 -0
- package/dist/agents/tools/web-tools.js +2 -0
- package/dist/agents/tools/whatsapp-actions.js +32 -0
- package/dist/agents/transcript-policy.js +83 -0
- package/dist/agents/usage.js +48 -0
- package/dist/agents/venice-models.js +342 -0
- package/dist/agents/workspace.js +234 -0
- package/dist/auto-reply/chunk.js +358 -0
- package/dist/auto-reply/command-auth.js +132 -0
- package/dist/auto-reply/command-detection.js +56 -0
- package/dist/auto-reply/commands-args.js +85 -0
- package/dist/auto-reply/commands-registry.data.js +509 -0
- package/dist/auto-reply/commands-registry.js +351 -0
- package/dist/auto-reply/commands-registry.types.js +1 -0
- package/dist/auto-reply/dispatch.js +40 -0
- package/dist/auto-reply/envelope.js +173 -0
- package/dist/auto-reply/group-activation.js +22 -0
- package/dist/auto-reply/heartbeat.js +120 -0
- package/dist/auto-reply/inbound-debounce.js +74 -0
- package/dist/auto-reply/media-note.js +72 -0
- package/dist/auto-reply/model.js +28 -0
- package/dist/auto-reply/reply/abort.js +151 -0
- package/dist/auto-reply/reply/agent-runner-execution.js +461 -0
- package/dist/auto-reply/reply/agent-runner-helpers.js +65 -0
- package/dist/auto-reply/reply/agent-runner-memory.js +155 -0
- package/dist/auto-reply/reply/agent-runner-payloads.js +85 -0
- package/dist/auto-reply/reply/agent-runner-utils.js +101 -0
- package/dist/auto-reply/reply/agent-runner.js +379 -0
- package/dist/auto-reply/reply/audio-tags.js +1 -0
- package/dist/auto-reply/reply/bash-command.js +336 -0
- package/dist/auto-reply/reply/block-reply-coalescer.js +101 -0
- package/dist/auto-reply/reply/block-reply-pipeline.js +179 -0
- package/dist/auto-reply/reply/block-streaming.js +91 -0
- package/dist/auto-reply/reply/body.js +37 -0
- package/dist/auto-reply/reply/commands-allowlist.js +570 -0
- package/dist/auto-reply/reply/commands-approve.js +88 -0
- package/dist/auto-reply/reply/commands-bash.js +25 -0
- package/dist/auto-reply/reply/commands-compact.js +106 -0
- package/dist/auto-reply/reply/commands-config.js +239 -0
- package/dist/auto-reply/reply/commands-context-report.js +294 -0
- package/dist/auto-reply/reply/commands-context.js +29 -0
- package/dist/auto-reply/reply/commands-core.js +101 -0
- package/dist/auto-reply/reply/commands-info.js +109 -0
- package/dist/auto-reply/reply/commands-models.js +201 -0
- package/dist/auto-reply/reply/commands-plugin.js +35 -0
- package/dist/auto-reply/reply/commands-session.js +311 -0
- package/dist/auto-reply/reply/commands-status.js +178 -0
- package/dist/auto-reply/reply/commands-subagents.js +357 -0
- package/dist/auto-reply/reply/commands-tts.js +228 -0
- package/dist/auto-reply/reply/commands-types.js +1 -0
- package/dist/auto-reply/reply/commands.js +3 -0
- package/dist/auto-reply/reply/config-commands.js +58 -0
- package/dist/auto-reply/reply/config-value.js +35 -0
- package/dist/auto-reply/reply/debug-commands.js +58 -0
- package/dist/auto-reply/reply/directive-handling.auth.js +191 -0
- package/dist/auto-reply/reply/directive-handling.fast-lane.js +60 -0
- package/dist/auto-reply/reply/directive-handling.impl.js +380 -0
- package/dist/auto-reply/reply/directive-handling.js +5 -0
- package/dist/auto-reply/reply/directive-handling.model-picker.js +64 -0
- package/dist/auto-reply/reply/directive-handling.model.js +279 -0
- package/dist/auto-reply/reply/directive-handling.parse.js +84 -0
- package/dist/auto-reply/reply/directive-handling.persist.js +181 -0
- package/dist/auto-reply/reply/directive-handling.queue-validation.js +48 -0
- package/dist/auto-reply/reply/directive-handling.shared.js +43 -0
- package/dist/auto-reply/reply/directives.js +114 -0
- package/dist/auto-reply/reply/dispatch-from-config.js +289 -0
- package/dist/auto-reply/reply/exec/directive.js +183 -0
- package/dist/auto-reply/reply/exec.js +1 -0
- package/dist/auto-reply/reply/followup-runner.js +221 -0
- package/dist/auto-reply/reply/get-reply-directives-apply.js +201 -0
- package/dist/auto-reply/reply/get-reply-directives-utils.js +45 -0
- package/dist/auto-reply/reply/get-reply-directives.js +343 -0
- package/dist/auto-reply/reply/get-reply-inline-actions.js +257 -0
- package/dist/auto-reply/reply/get-reply-run.js +282 -0
- package/dist/auto-reply/reply/get-reply.js +234 -0
- package/dist/auto-reply/reply/groups.js +102 -0
- package/dist/auto-reply/reply/history.js +87 -0
- package/dist/auto-reply/reply/inbound-context.js +51 -0
- package/dist/auto-reply/reply/inbound-dedupe.js +39 -0
- package/dist/auto-reply/reply/inbound-sender-meta.js +45 -0
- package/dist/auto-reply/reply/inbound-text.js +3 -0
- package/dist/auto-reply/reply/line-directives.js +294 -0
- package/dist/auto-reply/reply/memory-flush.js +66 -0
- package/dist/auto-reply/reply/mentions.js +122 -0
- package/dist/auto-reply/reply/model-selection.js +398 -0
- package/dist/auto-reply/reply/normalize-reply.js +54 -0
- package/dist/auto-reply/reply/provider-dispatcher.js +19 -0
- package/dist/auto-reply/reply/queue/cleanup.js +19 -0
- package/dist/auto-reply/reply/queue/directive.js +155 -0
- package/dist/auto-reply/reply/queue/drain.js +111 -0
- package/dist/auto-reply/reply/queue/enqueue.js +43 -0
- package/dist/auto-reply/reply/queue/normalize.js +30 -0
- package/dist/auto-reply/reply/queue/settings.js +52 -0
- package/dist/auto-reply/reply/queue/state.js +53 -0
- package/dist/auto-reply/reply/queue/types.js +1 -0
- package/dist/auto-reply/reply/queue.js +6 -0
- package/dist/auto-reply/reply/reply-directives.js +30 -0
- package/dist/auto-reply/reply/reply-dispatcher.js +100 -0
- package/dist/auto-reply/reply/reply-elevated.js +166 -0
- package/dist/auto-reply/reply/reply-inline.js +28 -0
- package/dist/auto-reply/reply/reply-payloads.js +83 -0
- package/dist/auto-reply/reply/reply-reference.js +35 -0
- package/dist/auto-reply/reply/reply-tags.js +13 -0
- package/dist/auto-reply/reply/reply-threading.js +41 -0
- package/dist/auto-reply/reply/response-prefix-template.js +76 -0
- package/dist/auto-reply/reply/route-reply.js +108 -0
- package/dist/auto-reply/reply/session-reset-model.js +133 -0
- package/dist/auto-reply/reply/session-updates.js +228 -0
- package/dist/auto-reply/reply/session-usage.js +79 -0
- package/dist/auto-reply/reply/session.js +303 -0
- package/dist/auto-reply/reply/stage-sandbox-media.js +146 -0
- package/dist/auto-reply/reply/streaming-directives.js +92 -0
- package/dist/auto-reply/reply/subagents-utils.js +52 -0
- package/dist/auto-reply/reply/test-ctx.js +15 -0
- package/dist/auto-reply/reply/typing-mode.js +91 -0
- package/dist/auto-reply/reply/typing.js +132 -0
- package/dist/auto-reply/reply.js +5 -0
- package/dist/auto-reply/send-policy.js +30 -0
- package/dist/auto-reply/skill-commands.js +97 -0
- package/dist/auto-reply/status.js +399 -0
- package/dist/auto-reply/templating.js +39 -0
- package/dist/auto-reply/thinking.js +154 -0
- package/dist/auto-reply/tokens.js +15 -0
- package/dist/auto-reply/tool-meta.js +112 -0
- package/dist/auto-reply/types.js +1 -0
- package/dist/browser/bridge-server.js +47 -0
- package/dist/browser/cdp.helpers.js +136 -0
- package/dist/browser/cdp.js +293 -0
- package/dist/browser/chrome.executables.js +509 -0
- package/dist/browser/chrome.js +253 -0
- package/dist/browser/chrome.profile-decoration.js +144 -0
- package/dist/browser/client-actions-core.js +94 -0
- package/dist/browser/client-actions-observe.js +94 -0
- package/dist/browser/client-actions-state.js +163 -0
- package/dist/browser/client-actions-types.js +1 -0
- package/dist/browser/client-actions.js +4 -0
- package/dist/browser/client-fetch.js +78 -0
- package/dist/browser/client.js +139 -0
- package/dist/browser/config.js +193 -0
- package/dist/browser/constants.js +8 -0
- package/dist/browser/extension-relay.js +541 -0
- package/dist/browser/profiles-service.js +132 -0
- package/dist/browser/profiles.js +93 -0
- package/dist/browser/pw-ai-module.js +37 -0
- package/dist/browser/pw-ai.js +2 -0
- package/dist/browser/pw-role-snapshot.js +310 -0
- package/dist/browser/pw-session.js +431 -0
- package/dist/browser/pw-tools-core.activity.js +44 -0
- package/dist/browser/pw-tools-core.downloads.js +176 -0
- package/dist/browser/pw-tools-core.interactions.js +420 -0
- package/dist/browser/pw-tools-core.js +8 -0
- package/dist/browser/pw-tools-core.responses.js +83 -0
- package/dist/browser/pw-tools-core.shared.js +48 -0
- package/dist/browser/pw-tools-core.snapshot.js +142 -0
- package/dist/browser/pw-tools-core.state.js +147 -0
- package/dist/browser/pw-tools-core.storage.js +72 -0
- package/dist/browser/pw-tools-core.trace.js +25 -0
- package/dist/browser/routes/agent.act.js +453 -0
- package/dist/browser/routes/agent.act.shared.js +38 -0
- package/dist/browser/routes/agent.debug.js +133 -0
- package/dist/browser/routes/agent.js +10 -0
- package/dist/browser/routes/agent.shared.js +45 -0
- package/dist/browser/routes/agent.snapshot.js +269 -0
- package/dist/browser/routes/agent.storage.js +386 -0
- package/dist/browser/routes/basic.js +174 -0
- package/dist/browser/routes/index.js +8 -0
- package/dist/browser/routes/tabs.js +120 -0
- package/dist/browser/routes/utils.js +57 -0
- package/dist/browser/screenshot.js +39 -0
- package/dist/browser/server-context.js +533 -0
- package/dist/browser/server-context.types.js +1 -0
- package/dist/browser/server.js +92 -0
- package/dist/browser/target-id.js +16 -0
- package/dist/browser/trash.js +21 -0
- package/dist/build-info.json +5 -0
- package/dist/canvas-host/a2ui/.bundle.hash +1 -0
- package/dist/canvas-host/a2ui/a2ui.bundle.js +17768 -0
- package/dist/canvas-host/a2ui/index.html +307 -0
- package/dist/canvas-host/a2ui.js +185 -0
- package/dist/canvas-host/server.js +380 -0
- package/dist/channel-web.js +8 -0
- package/dist/channels/ack-reactions.js +56 -0
- package/dist/channels/allowlist-match.js +3 -0
- package/dist/channels/allowlists/resolve-utils.js +37 -0
- package/dist/channels/channel-config.js +131 -0
- package/dist/channels/chat-type.js +12 -0
- package/dist/channels/command-gating.js +24 -0
- package/dist/channels/conversation-label.js +48 -0
- package/dist/channels/dock.js +344 -0
- package/dist/channels/location.js +44 -0
- package/dist/channels/logging.js +13 -0
- package/dist/channels/mention-gating.js +26 -0
- package/dist/channels/plugins/actions/discord/handle-action.guild-admin.js +328 -0
- package/dist/channels/plugins/actions/discord/handle-action.js +165 -0
- package/dist/channels/plugins/actions/discord.js +93 -0
- package/dist/channels/plugins/actions/signal.js +115 -0
- package/dist/channels/plugins/actions/telegram.js +95 -0
- package/dist/channels/plugins/agent-tools/whatsapp-login.js +63 -0
- package/dist/channels/plugins/allowlist-match.js +1 -0
- package/dist/channels/plugins/bluebubbles-actions.js +16 -0
- package/dist/channels/plugins/catalog.js +216 -0
- package/dist/channels/plugins/channel-config.js +1 -0
- package/dist/channels/plugins/config-helpers.js +87 -0
- package/dist/channels/plugins/config-schema.js +8 -0
- package/dist/channels/plugins/config-writes.js +21 -0
- package/dist/channels/plugins/directory-config.js +185 -0
- package/dist/channels/plugins/group-mentions.js +267 -0
- package/dist/channels/plugins/helpers.js +12 -0
- package/dist/channels/plugins/index.js +51 -0
- package/dist/channels/plugins/load.js +22 -0
- package/dist/channels/plugins/media-limits.js +15 -0
- package/dist/channels/plugins/message-action-names.js +50 -0
- package/dist/channels/plugins/message-actions.js +35 -0
- package/dist/channels/plugins/normalize/discord.js +18 -0
- package/dist/channels/plugins/normalize/imessage.js +36 -0
- package/dist/channels/plugins/normalize/signal.js +52 -0
- package/dist/channels/plugins/normalize/slack.js +19 -0
- package/dist/channels/plugins/normalize/telegram.js +31 -0
- package/dist/channels/plugins/normalize/whatsapp.js +17 -0
- package/dist/channels/plugins/onboarding/channel-access.js +68 -0
- package/dist/channels/plugins/onboarding/discord.js +413 -0
- package/dist/channels/plugins/onboarding/helpers.js +33 -0
- package/dist/channels/plugins/onboarding/imessage.js +231 -0
- package/dist/channels/plugins/onboarding/signal.js +262 -0
- package/dist/channels/plugins/onboarding/slack.js +470 -0
- package/dist/channels/plugins/onboarding/telegram.js +281 -0
- package/dist/channels/plugins/onboarding/whatsapp.js +286 -0
- package/dist/channels/plugins/onboarding-types.js +1 -0
- package/dist/channels/plugins/outbound/discord.js +29 -0
- package/dist/channels/plugins/outbound/imessage.js +38 -0
- package/dist/channels/plugins/outbound/load.js +28 -0
- package/dist/channels/plugins/outbound/signal.js +36 -0
- package/dist/channels/plugins/outbound/slack.js +27 -0
- package/dist/channels/plugins/outbound/telegram.js +91 -0
- package/dist/channels/plugins/outbound/whatsapp.js +76 -0
- package/dist/channels/plugins/pairing-message.js +1 -0
- package/dist/channels/plugins/pairing.js +44 -0
- package/dist/channels/plugins/setup-helpers.js +89 -0
- package/dist/channels/plugins/slack.actions.js +158 -0
- package/dist/channels/plugins/status-issues/bluebubbles.js +76 -0
- package/dist/channels/plugins/status-issues/discord.js +115 -0
- package/dist/channels/plugins/status-issues/shared.js +23 -0
- package/dist/channels/plugins/status-issues/telegram.js +100 -0
- package/dist/channels/plugins/status-issues/whatsapp.js +52 -0
- package/dist/channels/plugins/status.js +26 -0
- package/dist/channels/plugins/types.adapters.js +1 -0
- package/dist/channels/plugins/types.core.js +1 -0
- package/dist/channels/plugins/types.js +1 -0
- package/dist/channels/plugins/types.plugin.js +1 -0
- package/dist/channels/plugins/whatsapp-heartbeat.js +56 -0
- package/dist/channels/registry.js +153 -0
- package/dist/channels/reply-prefix.js +21 -0
- package/dist/channels/sender-identity.js +30 -0
- package/dist/channels/sender-label.js +38 -0
- package/dist/channels/session.js +26 -0
- package/dist/channels/targets.js +27 -0
- package/dist/channels/typing.js +17 -0
- package/dist/channels/web/index.js +2 -0
- package/dist/cli/acp-cli.js +61 -0
- package/dist/cli/argv.js +119 -0
- package/dist/cli/banner.js +94 -0
- package/dist/cli/browser-cli-actions-input/register.element.js +200 -0
- package/dist/cli/browser-cli-actions-input/register.files-downloads.js +128 -0
- package/dist/cli/browser-cli-actions-input/register.form-wait-eval.js +108 -0
- package/dist/cli/browser-cli-actions-input/register.js +10 -0
- package/dist/cli/browser-cli-actions-input/register.navigation.js +63 -0
- package/dist/cli/browser-cli-actions-input/shared.js +50 -0
- package/dist/cli/browser-cli-actions-input.js +1 -0
- package/dist/cli/browser-cli-actions-observe.js +82 -0
- package/dist/cli/browser-cli-debug.js +148 -0
- package/dist/cli/browser-cli-examples.js +33 -0
- package/dist/cli/browser-cli-extension.js +98 -0
- package/dist/cli/browser-cli-inspect.js +130 -0
- package/dist/cli/browser-cli-manage.js +351 -0
- package/dist/cli/browser-cli-serve.js +91 -0
- package/dist/cli/browser-cli-shared.js +1 -0
- package/dist/cli/browser-cli-state.cookies-storage.js +168 -0
- package/dist/cli/browser-cli-state.js +261 -0
- package/dist/cli/browser-cli.js +38 -0
- package/dist/cli/channel-auth.js +49 -0
- package/dist/cli/channel-options.js +29 -0
- package/dist/cli/channels-cli.js +208 -0
- package/dist/cli/cli-utils.js +34 -0
- package/dist/cli/command-format.js +14 -0
- package/dist/cli/command-options.js +6 -0
- package/dist/cli/config-cli.js +295 -0
- package/dist/cli/cron-cli/register.cron-add.js +188 -0
- package/dist/cli/cron-cli/register.cron-edit.js +160 -0
- package/dist/cli/cron-cli/register.cron-simple.js +98 -0
- package/dist/cli/cron-cli/register.js +16 -0
- package/dist/cli/cron-cli/shared.js +178 -0
- package/dist/cli/cron-cli.js +1 -0
- package/dist/cli/daemon-cli/install.js +112 -0
- package/dist/cli/daemon-cli/lifecycle.js +265 -0
- package/dist/cli/daemon-cli/probe.js +28 -0
- package/dist/cli/daemon-cli/register.js +69 -0
- package/dist/cli/daemon-cli/response.js +20 -0
- package/dist/cli/daemon-cli/runners.js +3 -0
- package/dist/cli/daemon-cli/shared.js +162 -0
- package/dist/cli/daemon-cli/status.gather.js +170 -0
- package/dist/cli/daemon-cli/status.js +19 -0
- package/dist/cli/daemon-cli/status.print.js +241 -0
- package/dist/cli/daemon-cli/types.js +1 -0
- package/dist/cli/daemon-cli.js +2 -0
- package/dist/cli/deps.js +28 -0
- package/dist/cli/devices-cli.js +181 -0
- package/dist/cli/directory-cli.js +227 -0
- package/dist/cli/dns-cli.js +199 -0
- package/dist/cli/docs-cli.js +17 -0
- package/dist/cli/exec-approvals-cli.js +378 -0
- package/dist/cli/gateway-cli/call.js +25 -0
- package/dist/cli/gateway-cli/dev.js +99 -0
- package/dist/cli/gateway-cli/discover.js +88 -0
- package/dist/cli/gateway-cli/register.js +255 -0
- package/dist/cli/gateway-cli/run-loop.js +87 -0
- package/dist/cli/gateway-cli/run.js +265 -0
- package/dist/cli/gateway-cli/shared.js +101 -0
- package/dist/cli/gateway-cli.js +1 -0
- package/dist/cli/gateway-rpc.js +27 -0
- package/dist/cli/help-format.js +16 -0
- package/dist/cli/hooks-cli.js +709 -0
- package/dist/cli/logs-cli.js +222 -0
- package/dist/cli/memory-cli.js +527 -0
- package/dist/cli/models-cli.js +321 -0
- package/dist/cli/node-cli/daemon.js +481 -0
- package/dist/cli/node-cli/register.js +81 -0
- package/dist/cli/node-cli.js +1 -0
- package/dist/cli/nodes-camera.js +50 -0
- package/dist/cli/nodes-canvas.js +24 -0
- package/dist/cli/nodes-cli/a2ui-jsonl.js +81 -0
- package/dist/cli/nodes-cli/cli-utils.js +27 -0
- package/dist/cli/nodes-cli/format.js +35 -0
- package/dist/cli/nodes-cli/register.camera.js +193 -0
- package/dist/cli/nodes-cli/register.canvas.js +215 -0
- package/dist/cli/nodes-cli/register.invoke.js +303 -0
- package/dist/cli/nodes-cli/register.js +24 -0
- package/dist/cli/nodes-cli/register.location.js +64 -0
- package/dist/cli/nodes-cli/register.notify.js +51 -0
- package/dist/cli/nodes-cli/register.pairing.js +99 -0
- package/dist/cli/nodes-cli/register.screen.js +66 -0
- package/dist/cli/nodes-cli/register.status.js +328 -0
- package/dist/cli/nodes-cli/rpc.js +88 -0
- package/dist/cli/nodes-cli/types.js +1 -0
- package/dist/cli/nodes-cli.js +1 -0
- package/dist/cli/nodes-run.js +19 -0
- package/dist/cli/nodes-screen.js +35 -0
- package/dist/cli/outbound-send-deps.js +11 -0
- package/dist/cli/pairing-cli.js +115 -0
- package/dist/cli/parse-duration.js +28 -0
- package/dist/cli/parse-timeout.js +18 -0
- package/dist/cli/plugin-registry.js +24 -0
- package/dist/cli/plugins-cli.js +469 -0
- package/dist/cli/ports.js +101 -0
- package/dist/cli/profile-utils.js +17 -0
- package/dist/cli/profile.js +86 -0
- package/dist/cli/program/build-program.js +14 -0
- package/dist/cli/program/command-registry.js +148 -0
- package/dist/cli/program/config-guard.js +67 -0
- package/dist/cli/program/context.js +11 -0
- package/dist/cli/program/help.js +69 -0
- package/dist/cli/program/helpers.js +26 -0
- package/dist/cli/program/message/helpers.js +46 -0
- package/dist/cli/program/message/register.broadcast.js +11 -0
- package/dist/cli/program/message/register.discord-admin.js +119 -0
- package/dist/cli/program/message/register.emoji-sticker.js +43 -0
- package/dist/cli/program/message/register.permissions-search.js +22 -0
- package/dist/cli/program/message/register.pins.js +23 -0
- package/dist/cli/program/message/register.poll.js +13 -0
- package/dist/cli/program/message/register.reactions.js +21 -0
- package/dist/cli/program/message/register.read-edit-delete.js +30 -0
- package/dist/cli/program/message/register.send.js +17 -0
- package/dist/cli/program/message/register.thread.js +35 -0
- package/dist/cli/program/preaction.js +46 -0
- package/dist/cli/program/register.agent.js +162 -0
- package/dist/cli/program/register.configure.js +32 -0
- package/dist/cli/program/register.maintenance.js +91 -0
- package/dist/cli/program/register.message.js +54 -0
- package/dist/cli/program/register.onboard.js +120 -0
- package/dist/cli/program/register.setup.js +41 -0
- package/dist/cli/program/register.status-health-sessions.js +109 -0
- package/dist/cli/program/register.subclis.js +271 -0
- package/dist/cli/program.js +2 -0
- package/dist/cli/progress.js +165 -0
- package/dist/cli/prompt.js +17 -0
- package/dist/cli/route.js +29 -0
- package/dist/cli/run-main.js +100 -0
- package/dist/cli/sandbox-cli.js +98 -0
- package/dist/cli/security-cli.js +123 -0
- package/dist/cli/skills-cli.js +341 -0
- package/dist/cli/system-cli.js +98 -0
- package/dist/cli/tagline.js +208 -0
- package/dist/cli/tui-cli.js +44 -0
- package/dist/cli/update-cli.js +997 -0
- package/dist/cli/wait.js +8 -0
- package/dist/cli/webhooks-cli.js +140 -0
- package/dist/commands/agent/delivery.js +140 -0
- package/dist/commands/agent/run-context.js +27 -0
- package/dist/commands/agent/session-store.js +43 -0
- package/dist/commands/agent/session.js +74 -0
- package/dist/commands/agent/types.js +1 -0
- package/dist/commands/agent-via-gateway.js +119 -0
- package/dist/commands/agent.js +438 -0
- package/dist/commands/agents.bindings.js +126 -0
- package/dist/commands/agents.command-shared.js +18 -0
- package/dist/commands/agents.commands.add.js +293 -0
- package/dist/commands/agents.commands.delete.js +75 -0
- package/dist/commands/agents.commands.identity.js +168 -0
- package/dist/commands/agents.commands.list.js +98 -0
- package/dist/commands/agents.config.js +145 -0
- package/dist/commands/agents.js +6 -0
- package/dist/commands/agents.providers.js +140 -0
- package/dist/commands/auth-choice-options.js +165 -0
- package/dist/commands/auth-choice-prompt.js +36 -0
- package/dist/commands/auth-choice.api-key.js +34 -0
- package/dist/commands/auth-choice.apply.anthropic.js +77 -0
- package/dist/commands/auth-choice.apply.api-providers.js +502 -0
- package/dist/commands/auth-choice.apply.copilot-proxy.js +10 -0
- package/dist/commands/auth-choice.apply.github-copilot.js +47 -0
- package/dist/commands/auth-choice.apply.google-antigravity.js +10 -0
- package/dist/commands/auth-choice.apply.google-gemini-cli.js +10 -0
- package/dist/commands/auth-choice.apply.js +30 -0
- package/dist/commands/auth-choice.apply.minimax.js +72 -0
- package/dist/commands/auth-choice.apply.oauth.js +78 -0
- package/dist/commands/auth-choice.apply.openai.js +117 -0
- package/dist/commands/auth-choice.apply.plugin-provider.js +140 -0
- package/dist/commands/auth-choice.apply.qwen-portal.js +10 -0
- package/dist/commands/auth-choice.default-model.js +12 -0
- package/dist/commands/auth-choice.js +3 -0
- package/dist/commands/auth-choice.model-check.js +61 -0
- package/dist/commands/auth-choice.preferred-provider.js +32 -0
- package/dist/commands/auth-token.js +32 -0
- package/dist/commands/channels/add-mutators.js +49 -0
- package/dist/commands/channels/add.js +210 -0
- package/dist/commands/channels/capabilities.js +439 -0
- package/dist/commands/channels/list.js +145 -0
- package/dist/commands/channels/logs.js +85 -0
- package/dist/commands/channels/remove.js +114 -0
- package/dist/commands/channels/resolve.js +107 -0
- package/dist/commands/channels/shared.js +41 -0
- package/dist/commands/channels/status.js +238 -0
- package/dist/commands/channels.js +7 -0
- package/dist/commands/chutes-oauth.js +144 -0
- package/dist/commands/cleanup-utils.js +74 -0
- package/dist/commands/configure.channels.js +52 -0
- package/dist/commands/configure.commands.js +8 -0
- package/dist/commands/configure.daemon.js +101 -0
- package/dist/commands/configure.gateway-auth.js +64 -0
- package/dist/commands/configure.gateway.js +159 -0
- package/dist/commands/configure.js +4 -0
- package/dist/commands/configure.shared.js +49 -0
- package/dist/commands/configure.wizard.js +466 -0
- package/dist/commands/daemon-install-helpers.js +51 -0
- package/dist/commands/daemon-runtime.js +11 -0
- package/dist/commands/dashboard.js +47 -0
- package/dist/commands/docs.js +148 -0
- package/dist/commands/doctor-auth.js +236 -0
- package/dist/commands/doctor-config-flow.js +188 -0
- package/dist/commands/doctor-format.js +85 -0
- package/dist/commands/doctor-gateway-daemon-flow.js +201 -0
- package/dist/commands/doctor-gateway-health.js +43 -0
- package/dist/commands/doctor-gateway-services.js +209 -0
- package/dist/commands/doctor-install.js +27 -0
- package/dist/commands/doctor-legacy-config.js +42 -0
- package/dist/commands/doctor-platform-notes.js +66 -0
- package/dist/commands/doctor-prompter.js +64 -0
- package/dist/commands/doctor-sandbox.js +207 -0
- package/dist/commands/doctor-security.js +141 -0
- package/dist/commands/doctor-state-integrity.js +332 -0
- package/dist/commands/doctor-state-migrations.js +1 -0
- package/dist/commands/doctor-ui.js +119 -0
- package/dist/commands/doctor-update.js +65 -0
- package/dist/commands/doctor-workspace-status.js +56 -0
- package/dist/commands/doctor-workspace.js +69 -0
- package/dist/commands/doctor.js +252 -0
- package/dist/commands/gateway-status/helpers.js +200 -0
- package/dist/commands/gateway-status.js +300 -0
- package/dist/commands/google-gemini-model-default.js +33 -0
- package/dist/commands/health-format.js +37 -0
- package/dist/commands/health.js +595 -0
- package/dist/commands/message-format.js +345 -0
- package/dist/commands/message.js +45 -0
- package/dist/commands/model-picker.js +420 -0
- package/dist/commands/models/aliases.js +92 -0
- package/dist/commands/models/auth-order.js +95 -0
- package/dist/commands/models/auth.js +334 -0
- package/dist/commands/models/fallbacks.js +126 -0
- package/dist/commands/models/image-fallbacks.js +126 -0
- package/dist/commands/models/list.auth-overview.js +93 -0
- package/dist/commands/models/list.configured.js +80 -0
- package/dist/commands/models/list.format.js +41 -0
- package/dist/commands/models/list.js +2 -0
- package/dist/commands/models/list.list-command.js +99 -0
- package/dist/commands/models/list.probe.js +348 -0
- package/dist/commands/models/list.registry.js +81 -0
- package/dist/commands/models/list.status-command.js +420 -0
- package/dist/commands/models/list.table.js +58 -0
- package/dist/commands/models/list.types.js +1 -0
- package/dist/commands/models/scan.js +293 -0
- package/dist/commands/models/set-image.js +28 -0
- package/dist/commands/models/set.js +28 -0
- package/dist/commands/models/shared.js +80 -0
- package/dist/commands/models.js +10 -0
- package/dist/commands/node-daemon-install-helpers.js +35 -0
- package/dist/commands/node-daemon-runtime.js +6 -0
- package/dist/commands/oauth-env.js +16 -0
- package/dist/commands/oauth-flow.js +33 -0
- package/dist/commands/onboard-auth.config-core.js +386 -0
- package/dist/commands/onboard-auth.config-minimax.js +176 -0
- package/dist/commands/onboard-auth.config-opencode.js +40 -0
- package/dist/commands/onboard-auth.credentials.js +147 -0
- package/dist/commands/onboard-auth.js +7 -0
- package/dist/commands/onboard-auth.models.js +100 -0
- package/dist/commands/onboard-channels.js +527 -0
- package/dist/commands/onboard-helpers.js +359 -0
- package/dist/commands/onboard-hooks.js +59 -0
- package/dist/commands/onboard-interactive.js +17 -0
- package/dist/commands/onboard-non-interactive/api-keys.js +45 -0
- package/dist/commands/onboard-non-interactive/local/auth-choice.js +333 -0
- package/dist/commands/onboard-non-interactive/local/daemon-install.js +45 -0
- package/dist/commands/onboard-non-interactive/local/gateway-config.js +86 -0
- package/dist/commands/onboard-non-interactive/local/output.js +14 -0
- package/dist/commands/onboard-non-interactive/local/skills-config.js +21 -0
- package/dist/commands/onboard-non-interactive/local/workspace.js +7 -0
- package/dist/commands/onboard-non-interactive/local.js +105 -0
- package/dist/commands/onboard-non-interactive/remote.js +41 -0
- package/dist/commands/onboard-non-interactive.js +25 -0
- package/dist/commands/onboard-remote.js +121 -0
- package/dist/commands/onboard-skills.js +146 -0
- package/dist/commands/onboard-types.js +1 -0
- package/dist/commands/onboard.js +62 -0
- package/dist/commands/onboarding/__tests__/test-utils.js +20 -0
- package/dist/commands/onboarding/plugin-install.js +162 -0
- package/dist/commands/onboarding/registry.js +13 -0
- package/dist/commands/onboarding/types.js +1 -0
- package/dist/commands/openai-codex-model-default.js +44 -0
- package/dist/commands/opencode-zen-model-default.js +35 -0
- package/dist/commands/reset.js +134 -0
- package/dist/commands/sandbox-display.js +82 -0
- package/dist/commands/sandbox-explain.js +226 -0
- package/dist/commands/sandbox-formatters.js +31 -0
- package/dist/commands/sandbox.js +119 -0
- package/dist/commands/sessions.js +211 -0
- package/dist/commands/setup.js +60 -0
- package/dist/commands/signal-install.js +132 -0
- package/dist/commands/status-all/agents.js +62 -0
- package/dist/commands/status-all/channels.js +354 -0
- package/dist/commands/status-all/diagnosis.js +156 -0
- package/dist/commands/status-all/format.js +41 -0
- package/dist/commands/status-all/gateway.js +158 -0
- package/dist/commands/status-all/report-lines.js +135 -0
- package/dist/commands/status-all.js +409 -0
- package/dist/commands/status.agent-local.js +68 -0
- package/dist/commands/status.command.js +476 -0
- package/dist/commands/status.daemon.js +30 -0
- package/dist/commands/status.format.js +52 -0
- package/dist/commands/status.gateway-probe.js +35 -0
- package/dist/commands/status.js +2 -0
- package/dist/commands/status.link-channel.js +39 -0
- package/dist/commands/status.scan.js +140 -0
- package/dist/commands/status.summary.js +172 -0
- package/dist/commands/status.types.js +1 -0
- package/dist/commands/status.update.js +112 -0
- package/dist/commands/systemd-linger.js +77 -0
- package/dist/commands/uninstall.js +161 -0
- package/dist/config/agent-dirs.js +79 -0
- package/dist/config/agent-limits.js +16 -0
- package/dist/config/cache-utils.js +22 -0
- package/dist/config/channel-capabilities.js +42 -0
- package/dist/config/commands.js +38 -0
- package/dist/config/config-paths.js +75 -0
- package/dist/config/config.js +7 -0
- package/dist/config/defaults.js +350 -0
- package/dist/config/env-substitution.js +117 -0
- package/dist/config/env-vars.js +21 -0
- package/dist/config/group-policy.js +54 -0
- package/dist/config/includes.js +183 -0
- package/dist/config/io.js +488 -0
- package/dist/config/legacy-migrate.js +13 -0
- package/dist/config/legacy.js +34 -0
- package/dist/config/legacy.migrations.js +8 -0
- package/dist/config/legacy.migrations.part-1.js +308 -0
- package/dist/config/legacy.migrations.part-2.js +343 -0
- package/dist/config/legacy.migrations.part-3.js +161 -0
- package/dist/config/legacy.rules.js +116 -0
- package/dist/config/legacy.shared.js +76 -0
- package/dist/config/logging.js +10 -0
- package/dist/config/markdown-tables.js +36 -0
- package/dist/config/merge-config.js +22 -0
- package/dist/config/merge-patch.js +22 -0
- package/dist/config/normalize-paths.js +54 -0
- package/dist/config/paths.js +90 -0
- package/dist/config/plugin-auto-enable.js +338 -0
- package/dist/config/port-defaults.js +30 -0
- package/dist/config/runtime-overrides.js +50 -0
- package/dist/config/schema.js +789 -0
- package/dist/config/sessions/group.js +83 -0
- package/dist/config/sessions/main-session.js +43 -0
- package/dist/config/sessions/metadata.js +114 -0
- package/dist/config/sessions/paths.js +46 -0
- package/dist/config/sessions/reset.js +103 -0
- package/dist/config/sessions/session-key.js +34 -0
- package/dist/config/sessions/store.js +346 -0
- package/dist/config/sessions/transcript.js +113 -0
- package/dist/config/sessions/types.js +11 -0
- package/dist/config/sessions.js +9 -0
- package/dist/config/talk.js +31 -0
- package/dist/config/telegram-custom-commands.js +70 -0
- package/dist/config/types.agent-defaults.js +1 -0
- package/dist/config/types.agents.js +1 -0
- package/dist/config/types.approvals.js +1 -0
- package/dist/config/types.auth.js +1 -0
- package/dist/config/types.base.js +1 -0
- package/dist/config/types.browser.js +1 -0
- package/dist/config/types.channels.js +1 -0
- package/dist/config/types.clawdbot.js +1 -0
- package/dist/config/types.cron.js +1 -0
- package/dist/config/types.discord.js +1 -0
- package/dist/config/types.gateway.js +1 -0
- package/dist/config/types.googlechat.js +1 -0
- package/dist/config/types.hooks.js +1 -0
- package/dist/config/types.imessage.js +1 -0
- package/dist/config/types.js +29 -0
- package/dist/config/types.messages.js +1 -0
- package/dist/config/types.models.js +1 -0
- package/dist/config/types.msteams.js +1 -0
- package/dist/config/types.node-host.js +1 -0
- package/dist/config/types.plugins.js +1 -0
- package/dist/config/types.queue.js +1 -0
- package/dist/config/types.sandbox.js +1 -0
- package/dist/config/types.signal.js +1 -0
- package/dist/config/types.skills.js +1 -0
- package/dist/config/types.slack.js +1 -0
- package/dist/config/types.telegram.js +1 -0
- package/dist/config/types.tools.js +1 -0
- package/dist/config/types.tts.js +1 -0
- package/dist/config/types.whatsapp.js +1 -0
- package/dist/config/validation.js +297 -0
- package/dist/config/version.js +30 -0
- package/dist/config/zod-schema.agent-defaults.js +156 -0
- package/dist/config/zod-schema.agent-runtime.js +487 -0
- package/dist/config/zod-schema.agents.js +46 -0
- package/dist/config/zod-schema.approvals.js +25 -0
- package/dist/config/zod-schema.channels.js +9 -0
- package/dist/config/zod-schema.core.js +452 -0
- package/dist/config/zod-schema.hooks.js +124 -0
- package/dist/config/zod-schema.js +539 -0
- package/dist/config/zod-schema.providers-core.js +687 -0
- package/dist/config/zod-schema.providers-whatsapp.js +123 -0
- package/dist/config/zod-schema.providers.js +29 -0
- package/dist/config/zod-schema.session.js +100 -0
- package/dist/control-ui/assets/index-08nzABV3.css +1 -0
- package/dist/control-ui/assets/index-DQcOTEYz.js +3119 -0
- package/dist/control-ui/assets/index-DQcOTEYz.js.map +1 -0
- package/dist/control-ui/index.html +15 -0
- package/dist/cron/isolated-agent/delivery-target.js +59 -0
- package/dist/cron/isolated-agent/helpers.js +49 -0
- package/dist/cron/isolated-agent/run.js +374 -0
- package/dist/cron/isolated-agent/session.js +27 -0
- package/dist/cron/isolated-agent.js +1 -0
- package/dist/cron/normalize.js +111 -0
- package/dist/cron/parse.js +24 -0
- package/dist/cron/payload-migration.js +29 -0
- package/dist/cron/run-log.js +70 -0
- package/dist/cron/schedule.js +24 -0
- package/dist/cron/service/jobs.js +174 -0
- package/dist/cron/service/locked.js +12 -0
- package/dist/cron/service/normalize.js +55 -0
- package/dist/cron/service/ops.js +118 -0
- package/dist/cron/service/state.js +10 -0
- package/dist/cron/service/store.js +57 -0
- package/dist/cron/service/timer.js +217 -0
- package/dist/cron/service.js +35 -0
- package/dist/cron/store.js +43 -0
- package/dist/cron/types.js +1 -0
- package/dist/daemon/constants.js +71 -0
- package/dist/daemon/diagnostics.js +38 -0
- package/dist/daemon/inspect.js +313 -0
- package/dist/daemon/launchd-plist.js +68 -0
- package/dist/daemon/launchd.js +316 -0
- package/dist/daemon/legacy.js +44 -0
- package/dist/daemon/node-service.js +53 -0
- package/dist/daemon/paths.js +35 -0
- package/dist/daemon/program-args.js +220 -0
- package/dist/daemon/runtime-parse.js +17 -0
- package/dist/daemon/runtime-paths.js +109 -0
- package/dist/daemon/schtasks.js +303 -0
- package/dist/daemon/service-audit.js +270 -0
- package/dist/daemon/service-env.js +128 -0
- package/dist/daemon/service-runtime.js +1 -0
- package/dist/daemon/service.js +90 -0
- package/dist/daemon/systemd-hints.js +24 -0
- package/dist/daemon/systemd-linger.js +59 -0
- package/dist/daemon/systemd-unit.js +108 -0
- package/dist/daemon/systemd.js +318 -0
- package/dist/discord/accounts.js +52 -0
- package/dist/discord/api.js +93 -0
- package/dist/discord/audit.js +94 -0
- package/dist/discord/chunk.js +200 -0
- package/dist/discord/directory-live.js +76 -0
- package/dist/discord/gateway-logging.js +48 -0
- package/dist/discord/index.js +2 -0
- package/dist/discord/monitor/allow-list.js +230 -0
- package/dist/discord/monitor/exec-approvals.js +406 -0
- package/dist/discord/monitor/format.js +27 -0
- package/dist/discord/monitor/listeners.js +240 -0
- package/dist/discord/monitor/message-handler.js +101 -0
- package/dist/discord/monitor/message-handler.preflight.js +438 -0
- package/dist/discord/monitor/message-handler.preflight.types.js +1 -0
- package/dist/discord/monitor/message-handler.process.js +344 -0
- package/dist/discord/monitor/message-utils.js +189 -0
- package/dist/discord/monitor/native-command.js +705 -0
- package/dist/discord/monitor/presence-cache.js +38 -0
- package/dist/discord/monitor/provider.js +551 -0
- package/dist/discord/monitor/reply-context.js +29 -0
- package/dist/discord/monitor/reply-delivery.js +57 -0
- package/dist/discord/monitor/system-events.js +53 -0
- package/dist/discord/monitor/threading.js +201 -0
- package/dist/discord/monitor/typing.js +8 -0
- package/dist/discord/monitor.gateway.js +54 -0
- package/dist/discord/monitor.js +7 -0
- package/dist/discord/probe.js +124 -0
- package/dist/discord/resolve-channels.js +239 -0
- package/dist/discord/resolve-users.js +114 -0
- package/dist/discord/send.channels.js +74 -0
- package/dist/discord/send.emojis-stickers.js +48 -0
- package/dist/discord/send.guild.js +79 -0
- package/dist/discord/send.js +7 -0
- package/dist/discord/send.messages.js +91 -0
- package/dist/discord/send.outbound.js +87 -0
- package/dist/discord/send.permissions.js +116 -0
- package/dist/discord/send.reactions.js +71 -0
- package/dist/discord/send.shared.js +249 -0
- package/dist/discord/send.types.js +16 -0
- package/dist/discord/targets.js +43 -0
- package/dist/discord/token.js +29 -0
- package/dist/entry.js +127 -0
- package/dist/gateway/assistant-identity.js +64 -0
- package/dist/gateway/auth.js +194 -0
- package/dist/gateway/boot.js +72 -0
- package/dist/gateway/call.js +182 -0
- package/dist/gateway/chat-abort.js +55 -0
- package/dist/gateway/chat-attachments.js +133 -0
- package/dist/gateway/chat-sanitize.js +103 -0
- package/dist/gateway/client.js +339 -0
- package/dist/gateway/config-reload.js +295 -0
- package/dist/gateway/control-ui-shared.js +48 -0
- package/dist/gateway/control-ui.js +258 -0
- package/dist/gateway/device-auth.js +19 -0
- package/dist/gateway/exec-approval-manager.js +40 -0
- package/dist/gateway/hooks-mapping.js +287 -0
- package/dist/gateway/hooks.js +169 -0
- package/dist/gateway/http-common.js +43 -0
- package/dist/gateway/http-utils.js +51 -0
- package/dist/gateway/live-image-probe.js +156 -0
- package/dist/gateway/net.js +176 -0
- package/dist/gateway/node-command-policy.js +106 -0
- package/dist/gateway/node-registry.js +142 -0
- package/dist/gateway/open-responses.schema.js +285 -0
- package/dist/gateway/openai-http.js +327 -0
- package/dist/gateway/openresponses-http.js +693 -0
- package/dist/gateway/probe.js +87 -0
- package/dist/gateway/protocol/client-info.js +46 -0
- package/dist/gateway/protocol/index.js +109 -0
- package/dist/gateway/protocol/schema/agent.js +73 -0
- package/dist/gateway/protocol/schema/agents-models-skills.js +47 -0
- package/dist/gateway/protocol/schema/channels.js +74 -0
- package/dist/gateway/protocol/schema/config.js +44 -0
- package/dist/gateway/protocol/schema/cron.js +159 -0
- package/dist/gateway/protocol/schema/devices.js +36 -0
- package/dist/gateway/protocol/schema/error-codes.js +14 -0
- package/dist/gateway/protocol/schema/exec-approvals.js +66 -0
- package/dist/gateway/protocol/schema/frames.js +101 -0
- package/dist/gateway/protocol/schema/logs-chat.js +53 -0
- package/dist/gateway/protocol/schema/nodes.js +54 -0
- package/dist/gateway/protocol/schema/primitives.js +10 -0
- package/dist/gateway/protocol/schema/protocol-schemas.js +117 -0
- package/dist/gateway/protocol/schema/sessions.js +69 -0
- package/dist/gateway/protocol/schema/snapshot.js +40 -0
- package/dist/gateway/protocol/schema/types.js +1 -0
- package/dist/gateway/protocol/schema/wizard.js +76 -0
- package/dist/gateway/protocol/schema.js +16 -0
- package/dist/gateway/server/__tests__/test-utils.js +24 -0
- package/dist/gateway/server/close-reason.js +10 -0
- package/dist/gateway/server/health-state.js +69 -0
- package/dist/gateway/server/hooks.js +85 -0
- package/dist/gateway/server/http-listen.js +26 -0
- package/dist/gateway/server/plugins-http.js +45 -0
- package/dist/gateway/server/tls.js +4 -0
- package/dist/gateway/server/ws-connection/message-handler.js +771 -0
- package/dist/gateway/server/ws-connection.js +191 -0
- package/dist/gateway/server/ws-types.js +1 -0
- package/dist/gateway/server-broadcast.js +73 -0
- package/dist/gateway/server-browser.js +11 -0
- package/dist/gateway/server-channels.js +242 -0
- package/dist/gateway/server-chat.js +195 -0
- package/dist/gateway/server-close.js +99 -0
- package/dist/gateway/server-constants.js +29 -0
- package/dist/gateway/server-cron.js +84 -0
- package/dist/gateway/server-discovery-runtime.js +69 -0
- package/dist/gateway/server-discovery.js +62 -0
- package/dist/gateway/server-http.js +224 -0
- package/dist/gateway/server-lanes.js +7 -0
- package/dist/gateway/server-maintenance.js +68 -0
- package/dist/gateway/server-methods/agent-job.js +104 -0
- package/dist/gateway/server-methods/agent.js +360 -0
- package/dist/gateway/server-methods/agents.js +14 -0
- package/dist/gateway/server-methods/channels.js +218 -0
- package/dist/gateway/server-methods/chat.js +520 -0
- package/dist/gateway/server-methods/config.js +269 -0
- package/dist/gateway/server-methods/connect.js +6 -0
- package/dist/gateway/server-methods/cron.js +109 -0
- package/dist/gateway/server-methods/devices.js +95 -0
- package/dist/gateway/server-methods/exec-approval.js +78 -0
- package/dist/gateway/server-methods/exec-approvals.js +141 -0
- package/dist/gateway/server-methods/health.js +29 -0
- package/dist/gateway/server-methods/logs.js +143 -0
- package/dist/gateway/server-methods/models.js +16 -0
- package/dist/gateway/server-methods/nodes.helpers.js +32 -0
- package/dist/gateway/server-methods/nodes.js +426 -0
- package/dist/gateway/server-methods/send.js +280 -0
- package/dist/gateway/server-methods/sessions.js +322 -0
- package/dist/gateway/server-methods/skills.js +137 -0
- package/dist/gateway/server-methods/system.js +122 -0
- package/dist/gateway/server-methods/talk.js +20 -0
- package/dist/gateway/server-methods/tts.js +132 -0
- package/dist/gateway/server-methods/types.js +1 -0
- package/dist/gateway/server-methods/update.js +96 -0
- package/dist/gateway/server-methods/usage.js +63 -0
- package/dist/gateway/server-methods/voicewake.js +30 -0
- package/dist/gateway/server-methods/web.js +73 -0
- package/dist/gateway/server-methods/wizard.js +100 -0
- package/dist/gateway/server-methods-list.js +107 -0
- package/dist/gateway/server-methods.js +192 -0
- package/dist/gateway/server-mobile-nodes.js +10 -0
- package/dist/gateway/server-model-catalog.js +11 -0
- package/dist/gateway/server-node-events-types.js +1 -0
- package/dist/gateway/server-node-events.js +206 -0
- package/dist/gateway/server-node-subscriptions.js +93 -0
- package/dist/gateway/server-plugins.js +36 -0
- package/dist/gateway/server-reload-handlers.js +112 -0
- package/dist/gateway/server-restart-sentinel.js +84 -0
- package/dist/gateway/server-runtime-config.js +66 -0
- package/dist/gateway/server-runtime-state.js +113 -0
- package/dist/gateway/server-session-key.js +20 -0
- package/dist/gateway/server-shared.js +1 -0
- package/dist/gateway/server-startup-log.js +27 -0
- package/dist/gateway/server-startup.js +119 -0
- package/dist/gateway/server-tailscale.js +41 -0
- package/dist/gateway/server-utils.js +35 -0
- package/dist/gateway/server-wizard-sessions.js +19 -0
- package/dist/gateway/server-ws-runtime.js +20 -0
- package/dist/gateway/server.impl.js +436 -0
- package/dist/gateway/server.js +2 -0
- package/dist/gateway/session-utils.fs.js +343 -0
- package/dist/gateway/session-utils.js +534 -0
- package/dist/gateway/session-utils.types.js +1 -0
- package/dist/gateway/sessions-patch.js +298 -0
- package/dist/gateway/sessions-resolve.js +103 -0
- package/dist/gateway/test-helpers.e2e.js +101 -0
- package/dist/gateway/test-helpers.mocks.js +502 -0
- package/dist/gateway/test-helpers.openai-mock.js +163 -0
- package/dist/gateway/test-helpers.server.js +369 -0
- package/dist/gateway/tools-invoke-http.js +178 -0
- package/dist/gateway/ws-log.js +336 -0
- package/dist/gateway/ws-logging.js +8 -0
- package/dist/globals.js +41 -0
- package/dist/hooks/bundled/boot-md/HOOK.md +19 -0
- package/dist/hooks/bundled/boot-md/handler.js +14 -0
- package/dist/hooks/bundled/command-logger/HOOK.md +122 -0
- package/dist/hooks/bundled/command-logger/handler.js +55 -0
- package/dist/hooks/bundled/session-memory/HOOK.md +86 -0
- package/dist/hooks/bundled/session-memory/handler.js +140 -0
- package/dist/hooks/bundled/soul-evil/HOOK.md +71 -0
- package/dist/hooks/bundled/soul-evil/handler.js +36 -0
- package/dist/hooks/bundled-dir.js +42 -0
- package/dist/hooks/config.js +122 -0
- package/dist/hooks/frontmatter.js +105 -0
- package/dist/hooks/gmail-ops.js +243 -0
- package/dist/hooks/gmail-setup-utils.js +310 -0
- package/dist/hooks/gmail-watcher.js +191 -0
- package/dist/hooks/gmail.js +179 -0
- package/dist/hooks/hooks-status.js +135 -0
- package/dist/hooks/hooks.js +2 -0
- package/dist/hooks/install.js +327 -0
- package/dist/hooks/installs.js +24 -0
- package/dist/hooks/internal-hooks.js +121 -0
- package/dist/hooks/llm-slug-generator.js +70 -0
- package/dist/hooks/loader.js +110 -0
- package/dist/hooks/plugin-hooks.js +91 -0
- package/dist/hooks/soul-evil.js +186 -0
- package/dist/hooks/types.js +1 -0
- package/dist/hooks/workspace.js +206 -0
- package/dist/imessage/accounts.js +61 -0
- package/dist/imessage/client.js +174 -0
- package/dist/imessage/index.js +3 -0
- package/dist/imessage/monitor/deliver.js +45 -0
- package/dist/imessage/monitor/monitor-provider.js +592 -0
- package/dist/imessage/monitor/runtime.js +12 -0
- package/dist/imessage/monitor/types.js +1 -0
- package/dist/imessage/monitor.js +1 -0
- package/dist/imessage/probe.js +68 -0
- package/dist/imessage/send.js +101 -0
- package/dist/imessage/targets.js +172 -0
- package/dist/index.js +49 -0
- package/dist/infra/agent-events.js +54 -0
- package/dist/infra/archive.js +97 -0
- package/dist/infra/backoff.js +19 -0
- package/dist/infra/binaries.js +9 -0
- package/dist/infra/bonjour-ciao.js +10 -0
- package/dist/infra/bonjour-discovery.js +445 -0
- package/dist/infra/bonjour-errors.js +7 -0
- package/dist/infra/bonjour.js +209 -0
- package/dist/infra/brew.js +55 -0
- package/dist/infra/canvas-host-url.js +52 -0
- package/dist/infra/channel-activity.js +32 -0
- package/dist/infra/channel-summary.js +183 -0
- package/dist/infra/channels-status-issues.js +15 -0
- package/dist/infra/clawdbot-root.js +56 -0
- package/dist/infra/clipboard.js +24 -0
- package/dist/infra/control-ui-assets.js +98 -0
- package/dist/infra/dedupe.js +47 -0
- package/dist/infra/device-auth-store.js +97 -0
- package/dist/infra/device-identity.js +149 -0
- package/dist/infra/device-pairing.js +401 -0
- package/dist/infra/diagnostic-events.js +28 -0
- package/dist/infra/diagnostic-flags.js +66 -0
- package/dist/infra/dotenv.js +15 -0
- package/dist/infra/env-file.js +43 -0
- package/dist/infra/env.js +34 -0
- package/dist/infra/errors.js +35 -0
- package/dist/infra/exec-approval-forwarder.js +212 -0
- package/dist/infra/exec-approvals.js +1040 -0
- package/dist/infra/exec-host.js +75 -0
- package/dist/infra/exec-safety.js +31 -0
- package/dist/infra/fetch.js +58 -0
- package/dist/infra/format-duration.js +20 -0
- package/dist/infra/gateway-lock.js +202 -0
- package/dist/infra/git-commit.js +106 -0
- package/dist/infra/heartbeat-events.js +34 -0
- package/dist/infra/heartbeat-runner.js +743 -0
- package/dist/infra/heartbeat-visibility.js +31 -0
- package/dist/infra/heartbeat-wake.js +61 -0
- package/dist/infra/is-main.js +33 -0
- package/dist/infra/json-file.js +21 -0
- package/dist/infra/machine-name.js +43 -0
- package/dist/infra/net/ssrf.js +199 -0
- package/dist/infra/node-pairing.js +228 -0
- package/dist/infra/node-shell.js +9 -0
- package/dist/infra/os-summary.js +23 -0
- package/dist/infra/outbound/agent-delivery.js +86 -0
- package/dist/infra/outbound/channel-adapters.js +16 -0
- package/dist/infra/outbound/channel-selection.js +62 -0
- package/dist/infra/outbound/channel-target.js +28 -0
- package/dist/infra/outbound/deliver.js +253 -0
- package/dist/infra/outbound/directory-cache.js +44 -0
- package/dist/infra/outbound/envelope.js +20 -0
- package/dist/infra/outbound/format.js +66 -0
- package/dist/infra/outbound/message-action-runner.js +766 -0
- package/dist/infra/outbound/message-action-spec.js +82 -0
- package/dist/infra/outbound/message.js +189 -0
- package/dist/infra/outbound/outbound-policy.js +122 -0
- package/dist/infra/outbound/outbound-send-service.js +123 -0
- package/dist/infra/outbound/outbound-session.js +744 -0
- package/dist/infra/outbound/payloads.js +78 -0
- package/dist/infra/outbound/target-errors.js +23 -0
- package/dist/infra/outbound/target-normalization.js +27 -0
- package/dist/infra/outbound/target-resolver.js +348 -0
- package/dist/infra/outbound/targets.js +213 -0
- package/dist/infra/path-env.js +93 -0
- package/dist/infra/ports-format.js +53 -0
- package/dist/infra/ports-inspect.js +240 -0
- package/dist/infra/ports-lsof.js +33 -0
- package/dist/infra/ports-types.js +1 -0
- package/dist/infra/ports.js +75 -0
- package/dist/infra/provider-usage.auth.js +188 -0
- package/dist/infra/provider-usage.fetch.antigravity.js +212 -0
- package/dist/infra/provider-usage.fetch.claude.js +129 -0
- package/dist/infra/provider-usage.fetch.codex.js +62 -0
- package/dist/infra/provider-usage.fetch.copilot.js +42 -0
- package/dist/infra/provider-usage.fetch.gemini.js +57 -0
- package/dist/infra/provider-usage.fetch.js +7 -0
- package/dist/infra/provider-usage.fetch.minimax.js +332 -0
- package/dist/infra/provider-usage.fetch.shared.js +10 -0
- package/dist/infra/provider-usage.fetch.zai.js +62 -0
- package/dist/infra/provider-usage.format.js +96 -0
- package/dist/infra/provider-usage.js +3 -0
- package/dist/infra/provider-usage.load.js +59 -0
- package/dist/infra/provider-usage.shared.js +51 -0
- package/dist/infra/provider-usage.types.js +1 -0
- package/dist/infra/restart-sentinel.js +65 -0
- package/dist/infra/restart.js +171 -0
- package/dist/infra/retry-policy.js +68 -0
- package/dist/infra/retry.js +85 -0
- package/dist/infra/runtime-guard.js +60 -0
- package/dist/infra/session-cost-usage.js +190 -0
- package/dist/infra/shell-env.js +125 -0
- package/dist/infra/skills-remote.js +282 -0
- package/dist/infra/ssh-config.js +83 -0
- package/dist/infra/ssh-tunnel.js +166 -0
- package/dist/infra/state-migrations.fs.js +49 -0
- package/dist/infra/state-migrations.js +498 -0
- package/dist/infra/system-events.js +75 -0
- package/dist/infra/system-presence.js +231 -0
- package/dist/infra/tailnet.js +46 -0
- package/dist/infra/tailscale.js +368 -0
- package/dist/infra/tls/fingerprint.js +5 -0
- package/dist/infra/tls/gateway.js +119 -0
- package/dist/infra/transport-ready.js +38 -0
- package/dist/infra/unhandled-rejections.js +29 -0
- package/dist/infra/update-channels.js +57 -0
- package/dist/infra/update-check.js +293 -0
- package/dist/infra/update-global.js +85 -0
- package/dist/infra/update-runner.js +557 -0
- package/dist/infra/update-startup.js +86 -0
- package/dist/infra/voicewake.js +74 -0
- package/dist/infra/warnings.js +25 -0
- package/dist/infra/widearea-dns.js +131 -0
- package/dist/infra/ws.js +13 -0
- package/dist/infra/wsl.js +25 -0
- package/dist/line/accounts.js +130 -0
- package/dist/line/auto-reply-delivery.js +102 -0
- package/dist/line/bot-access.js +38 -0
- package/dist/line/bot-handlers.js +258 -0
- package/dist/line/bot-message-context.js +374 -0
- package/dist/line/bot.js +48 -0
- package/dist/line/config-schema.js +47 -0
- package/dist/line/download.js +95 -0
- package/dist/line/flex-templates.js +1264 -0
- package/dist/line/http-registry.js +27 -0
- package/dist/line/index.js +19 -0
- package/dist/line/markdown-to-line.js +346 -0
- package/dist/line/monitor.js +270 -0
- package/dist/line/probe.js +37 -0
- package/dist/line/reply-chunks.js +53 -0
- package/dist/line/rich-menu.js +320 -0
- package/dist/line/send.js +451 -0
- package/dist/line/template-messages.js +258 -0
- package/dist/line/types.js +1 -0
- package/dist/line/webhook.js +75 -0
- package/dist/link-understanding/apply.js +22 -0
- package/dist/link-understanding/defaults.js +2 -0
- package/dist/link-understanding/detect.js +49 -0
- package/dist/link-understanding/format.js +10 -0
- package/dist/link-understanding/index.js +4 -0
- package/dist/link-understanding/runner.js +99 -0
- package/dist/logger.js +53 -0
- package/dist/logging/config.js +19 -0
- package/dist/logging/console.js +237 -0
- package/dist/logging/diagnostic.js +236 -0
- package/dist/logging/levels.js +26 -0
- package/dist/logging/logger.js +185 -0
- package/dist/logging/parse-log-line.js +52 -0
- package/dist/logging/redact.js +115 -0
- package/dist/logging/state.js +12 -0
- package/dist/logging/subsystem.js +234 -0
- package/dist/logging.js +5 -0
- package/dist/macos/gateway-daemon.js +178 -0
- package/dist/macos/relay-smoke.js +29 -0
- package/dist/macos/relay.js +60 -0
- package/dist/markdown/code-spans.js +67 -0
- package/dist/markdown/fences.js +57 -0
- package/dist/markdown/frontmatter.js +124 -0
- package/dist/markdown/ir.js +687 -0
- package/dist/markdown/render.js +113 -0
- package/dist/markdown/tables.js +35 -0
- package/dist/media/audio-tags.js +14 -0
- package/dist/media/audio.js +15 -0
- package/dist/media/constants.js +33 -0
- package/dist/media/fetch.js +151 -0
- package/dist/media/host.js +43 -0
- package/dist/media/image-ops.js +385 -0
- package/dist/media/input-files.js +276 -0
- package/dist/media/mime.js +147 -0
- package/dist/media/parse.js +175 -0
- package/dist/media/server.js +64 -0
- package/dist/media/store.js +199 -0
- package/dist/media-understanding/apply.js +78 -0
- package/dist/media-understanding/attachments.js +320 -0
- package/dist/media-understanding/concurrency.js +26 -0
- package/dist/media-understanding/defaults.js +30 -0
- package/dist/media-understanding/errors.js +11 -0
- package/dist/media-understanding/format.js +56 -0
- package/dist/media-understanding/index.js +3 -0
- package/dist/media-understanding/providers/anthropic/index.js +6 -0
- package/dist/media-understanding/providers/deepgram/audio.js +47 -0
- package/dist/media-understanding/providers/deepgram/index.js +6 -0
- package/dist/media-understanding/providers/google/audio.js +64 -0
- package/dist/media-understanding/providers/google/index.js +10 -0
- package/dist/media-understanding/providers/google/video.js +64 -0
- package/dist/media-understanding/providers/groq/index.js +10 -0
- package/dist/media-understanding/providers/image.js +59 -0
- package/dist/media-understanding/providers/index.js +45 -0
- package/dist/media-understanding/providers/minimax/index.js +6 -0
- package/dist/media-understanding/providers/openai/audio.js +46 -0
- package/dist/media-understanding/providers/openai/index.js +8 -0
- package/dist/media-understanding/providers/shared.js +29 -0
- package/dist/media-understanding/resolve.js +113 -0
- package/dist/media-understanding/runner.js +976 -0
- package/dist/media-understanding/scope.js +41 -0
- package/dist/media-understanding/types.js +1 -0
- package/dist/media-understanding/video.js +8 -0
- package/dist/memory/batch-gemini.js +320 -0
- package/dist/memory/batch-openai.js +290 -0
- package/dist/memory/embeddings-gemini.js +129 -0
- package/dist/memory/embeddings-openai.js +65 -0
- package/dist/memory/embeddings.js +170 -0
- package/dist/memory/headers-fingerprint.js +16 -0
- package/dist/memory/hybrid.js +61 -0
- package/dist/memory/index.js +1 -0
- package/dist/memory/internal.js +189 -0
- package/dist/memory/manager-cache-key.js +45 -0
- package/dist/memory/manager-search.js +95 -0
- package/dist/memory/manager.js +1815 -0
- package/dist/memory/memory-schema.js +76 -0
- package/dist/memory/node-llama.js +3 -0
- package/dist/memory/openai-batch.js +2 -0
- package/dist/memory/provider-key.js +23 -0
- package/dist/memory/search-manager.js +11 -0
- package/dist/memory/session-files.js +98 -0
- package/dist/memory/sqlite-vec.js +19 -0
- package/dist/memory/sqlite.js +7 -0
- package/dist/memory/status-format.js +23 -0
- package/dist/memory/sync-memory-files.js +69 -0
- package/dist/memory/sync-session-files.js +95 -0
- package/dist/node-host/config.js +53 -0
- package/dist/node-host/runner.js +951 -0
- package/dist/pairing/pairing-labels.js +4 -0
- package/dist/pairing/pairing-messages.js +14 -0
- package/dist/pairing/pairing-store.js +357 -0
- package/dist/plugin-sdk/index.js +84 -0
- package/dist/plugins/bundled-dir.js +35 -0
- package/dist/plugins/cli.js +49 -0
- package/dist/plugins/commands.js +228 -0
- package/dist/plugins/config-schema.js +23 -0
- package/dist/plugins/config-state.js +101 -0
- package/dist/plugins/discovery.js +273 -0
- package/dist/plugins/enable.js +36 -0
- package/dist/plugins/hook-runner-global.js +57 -0
- package/dist/plugins/hooks.js +283 -0
- package/dist/plugins/http-path.js +10 -0
- package/dist/plugins/http-registry.js +31 -0
- package/dist/plugins/install.js +323 -0
- package/dist/plugins/installs.js +21 -0
- package/dist/plugins/loader.js +364 -0
- package/dist/plugins/manifest-registry.js +136 -0
- package/dist/plugins/manifest.js +69 -0
- package/dist/plugins/providers.js +16 -0
- package/dist/plugins/registry.js +312 -0
- package/dist/plugins/runtime/index.js +290 -0
- package/dist/plugins/runtime/native-deps.js +16 -0
- package/dist/plugins/runtime/types.js +1 -0
- package/dist/plugins/runtime.js +42 -0
- package/dist/plugins/schema-validator.js +28 -0
- package/dist/plugins/services.js +55 -0
- package/dist/plugins/slots.js +68 -0
- package/dist/plugins/status.js +27 -0
- package/dist/plugins/tools.js +98 -0
- package/dist/plugins/types.js +1 -0
- package/dist/plugins/update.js +324 -0
- package/dist/polls.js +41 -0
- package/dist/process/child-process-bridge.js +34 -0
- package/dist/process/command-queue.js +104 -0
- package/dist/process/exec.js +98 -0
- package/dist/process/lanes.js +1 -0
- package/dist/process/spawn-utils.js +95 -0
- package/dist/providers/github-copilot-auth.js +124 -0
- package/dist/providers/github-copilot-models.js +35 -0
- package/dist/providers/github-copilot-token.js +95 -0
- package/dist/providers/qwen-portal-oauth.js +38 -0
- package/dist/routing/bindings.js +87 -0
- package/dist/routing/resolve-route.js +140 -0
- package/dist/routing/session-key.js +169 -0
- package/dist/runtime.js +15 -0
- package/dist/security/audit-extra.js +852 -0
- package/dist/security/audit-fs.js +133 -0
- package/dist/security/audit.js +790 -0
- package/dist/security/external-content.js +143 -0
- package/dist/security/fix.js +402 -0
- package/dist/security/windows-acl.js +162 -0
- package/dist/sessions/level-overrides.js +24 -0
- package/dist/sessions/model-overrides.js +57 -0
- package/dist/sessions/send-policy.js +69 -0
- package/dist/sessions/session-key-utils.js +51 -0
- package/dist/sessions/session-label.js +16 -0
- package/dist/sessions/transcript-events.js +16 -0
- package/dist/shared/text/reasoning-tags.js +48 -0
- package/dist/signal/accounts.js +59 -0
- package/dist/signal/client.js +141 -0
- package/dist/signal/daemon.js +69 -0
- package/dist/signal/format.js +165 -0
- package/dist/signal/identity.js +95 -0
- package/dist/signal/index.js +5 -0
- package/dist/signal/monitor/event-handler.js +492 -0
- package/dist/signal/monitor/event-handler.types.js +1 -0
- package/dist/signal/monitor.js +269 -0
- package/dist/signal/probe.js +46 -0
- package/dist/signal/reaction-level.js +53 -0
- package/dist/signal/send-reactions.js +155 -0
- package/dist/signal/send.js +192 -0
- package/dist/signal/sse-reconnect.js +56 -0
- package/dist/slack/accounts.js +84 -0
- package/dist/slack/actions.js +156 -0
- package/dist/slack/channel-migration.js +53 -0
- package/dist/slack/client.js +17 -0
- package/dist/slack/directory-live.js +122 -0
- package/dist/slack/format.js +111 -0
- package/dist/slack/http/index.js +1 -0
- package/dist/slack/http/registry.js +27 -0
- package/dist/slack/index.js +6 -0
- package/dist/slack/monitor/allow-list.js +58 -0
- package/dist/slack/monitor/auth.js +17 -0
- package/dist/slack/monitor/channel-config.js +79 -0
- package/dist/slack/monitor/commands.js +17 -0
- package/dist/slack/monitor/context.js +242 -0
- package/dist/slack/monitor/events/channels.js +116 -0
- package/dist/slack/monitor/events/members.js +74 -0
- package/dist/slack/monitor/events/messages.js +111 -0
- package/dist/slack/monitor/events/pins.js +76 -0
- package/dist/slack/monitor/events/reactions.js +54 -0
- package/dist/slack/monitor/events.js +15 -0
- package/dist/slack/monitor/media.js +93 -0
- package/dist/slack/monitor/message-handler/dispatch.js +170 -0
- package/dist/slack/monitor/message-handler/prepare.js +477 -0
- package/dist/slack/monitor/message-handler/types.js +1 -0
- package/dist/slack/monitor/message-handler.js +87 -0
- package/dist/slack/monitor/policy.js +10 -0
- package/dist/slack/monitor/provider.js +324 -0
- package/dist/slack/monitor/replies.js +107 -0
- package/dist/slack/monitor/slash.js +504 -0
- package/dist/slack/monitor/thread-resolution.js +102 -0
- package/dist/slack/monitor/types.js +1 -0
- package/dist/slack/monitor.js +4 -0
- package/dist/slack/monitor.test-helpers.js +119 -0
- package/dist/slack/probe.js +47 -0
- package/dist/slack/resolve-channels.js +88 -0
- package/dist/slack/resolve-users.js +133 -0
- package/dist/slack/scopes.js +87 -0
- package/dist/slack/send.js +132 -0
- package/dist/slack/targets.js +48 -0
- package/dist/slack/threading-tool-context.js +18 -0
- package/dist/slack/threading.js +26 -0
- package/dist/slack/token.js +10 -0
- package/dist/slack/types.js +1 -0
- package/dist/telegram/accounts.js +98 -0
- package/dist/telegram/allowed-updates.js +8 -0
- package/dist/telegram/audit.js +116 -0
- package/dist/telegram/bot/delivery.js +312 -0
- package/dist/telegram/bot/helpers.js +303 -0
- package/dist/telegram/bot/types.js +1 -0
- package/dist/telegram/bot-access.js +59 -0
- package/dist/telegram/bot-handlers.js +516 -0
- package/dist/telegram/bot-message-context.js +435 -0
- package/dist/telegram/bot-message-dispatch.js +183 -0
- package/dist/telegram/bot-message.js +41 -0
- package/dist/telegram/bot-native-commands.js +402 -0
- package/dist/telegram/bot-updates.js +25 -0
- package/dist/telegram/bot.js +383 -0
- package/dist/telegram/caption.js +11 -0
- package/dist/telegram/download.js +34 -0
- package/dist/telegram/draft-chunking.js +22 -0
- package/dist/telegram/draft-stream.js +101 -0
- package/dist/telegram/fetch.js +11 -0
- package/dist/telegram/format.js +66 -0
- package/dist/telegram/group-migration.js +53 -0
- package/dist/telegram/index.js +4 -0
- package/dist/telegram/inline-buttons.js +55 -0
- package/dist/telegram/monitor.js +142 -0
- package/dist/telegram/pairing-store.js +77 -0
- package/dist/telegram/probe.js +70 -0
- package/dist/telegram/proxy.js +10 -0
- package/dist/telegram/reaction-level.js +46 -0
- package/dist/telegram/send.js +382 -0
- package/dist/telegram/sent-message-cache.js +53 -0
- package/dist/telegram/targets.js +46 -0
- package/dist/telegram/token.js +58 -0
- package/dist/telegram/update-offset-store.js +60 -0
- package/dist/telegram/voice.js +23 -0
- package/dist/telegram/webhook-set.js +21 -0
- package/dist/telegram/webhook.js +90 -0
- package/dist/terminal/ansi.js +11 -0
- package/dist/terminal/links.js +17 -0
- package/dist/terminal/note.js +79 -0
- package/dist/terminal/palette.js +12 -0
- package/dist/terminal/progress-line.js +18 -0
- package/dist/terminal/prompt-style.js +4 -0
- package/dist/terminal/stream-writer.js +49 -0
- package/dist/terminal/table.js +327 -0
- package/dist/terminal/theme.js +22 -0
- package/dist/tts/tts.js +1159 -0
- package/dist/tui/commands.js +134 -0
- package/dist/tui/components/assistant-message.js +16 -0
- package/dist/tui/components/chat-log.js +86 -0
- package/dist/tui/components/custom-editor.js +61 -0
- package/dist/tui/components/filterable-select-list.js +102 -0
- package/dist/tui/components/fuzzy-filter.js +113 -0
- package/dist/tui/components/searchable-select-list.js +231 -0
- package/dist/tui/components/selectors.js +16 -0
- package/dist/tui/components/tool-execution.js +109 -0
- package/dist/tui/components/user-message.js +17 -0
- package/dist/tui/gateway-chat.js +146 -0
- package/dist/tui/theme/syntax-theme.js +49 -0
- package/dist/tui/theme/theme.js +119 -0
- package/dist/tui/tui-command-handlers.js +418 -0
- package/dist/tui/tui-event-handlers.js +160 -0
- package/dist/tui/tui-formatters.js +158 -0
- package/dist/tui/tui-local-shell.js +99 -0
- package/dist/tui/tui-overlays.js +13 -0
- package/dist/tui/tui-session-actions.js +205 -0
- package/dist/tui/tui-status-summary.js +74 -0
- package/dist/tui/tui-stream-assembler.js +54 -0
- package/dist/tui/tui-types.js +1 -0
- package/dist/tui/tui-waiting.js +34 -0
- package/dist/tui/tui.js +551 -0
- package/dist/utils/account-id.js +6 -0
- package/dist/utils/boolean.js +22 -0
- package/dist/utils/delivery-context.js +84 -0
- package/dist/utils/directive-tags.js +54 -0
- package/dist/utils/message-channel.js +84 -0
- package/dist/utils/provider-utils.js +28 -0
- package/dist/utils/queue-helpers.js +95 -0
- package/dist/utils/time-format.js +19 -0
- package/dist/utils/usage-format.js +46 -0
- package/dist/utils.js +247 -0
- package/dist/version.js +18 -0
- package/dist/web/accounts.js +122 -0
- package/dist/web/active-listener.js +37 -0
- package/dist/web/auth-store.js +168 -0
- package/dist/web/auto-reply/constants.js +1 -0
- package/dist/web/auto-reply/deliver-reply.js +140 -0
- package/dist/web/auto-reply/heartbeat-runner.js +264 -0
- package/dist/web/auto-reply/loggers.js +5 -0
- package/dist/web/auto-reply/mentions.js +79 -0
- package/dist/web/auto-reply/monitor/ack-reaction.js +47 -0
- package/dist/web/auto-reply/monitor/broadcast.js +64 -0
- package/dist/web/auto-reply/monitor/commands.js +21 -0
- package/dist/web/auto-reply/monitor/echo.js +36 -0
- package/dist/web/auto-reply/monitor/group-activation.js +37 -0
- package/dist/web/auto-reply/monitor/group-gating.js +98 -0
- package/dist/web/auto-reply/monitor/group-members.js +53 -0
- package/dist/web/auto-reply/monitor/last-route.js +38 -0
- package/dist/web/auto-reply/monitor/message-line.js +35 -0
- package/dist/web/auto-reply/monitor/on-message.js +128 -0
- package/dist/web/auto-reply/monitor/peer.js +10 -0
- package/dist/web/auto-reply/monitor/process-message.js +316 -0
- package/dist/web/auto-reply/monitor.js +355 -0
- package/dist/web/auto-reply/session-snapshot.js +40 -0
- package/dist/web/auto-reply/types.js +1 -0
- package/dist/web/auto-reply/util.js +47 -0
- package/dist/web/auto-reply.impl.js +5 -0
- package/dist/web/auto-reply.js +1 -0
- package/dist/web/inbound/access-control.js +147 -0
- package/dist/web/inbound/dedupe.js +13 -0
- package/dist/web/inbound/extract.js +254 -0
- package/dist/web/inbound/media.js +35 -0
- package/dist/web/inbound/monitor.js +332 -0
- package/dist/web/inbound/send-api.js +90 -0
- package/dist/web/inbound/types.js +1 -0
- package/dist/web/inbound.js +3 -0
- package/dist/web/login-qr.js +227 -0
- package/dist/web/login.js +68 -0
- package/dist/web/media.js +221 -0
- package/dist/web/outbound.js +132 -0
- package/dist/web/qr-image.js +95 -0
- package/dist/web/reconnect.js +36 -0
- package/dist/web/session.js +224 -0
- package/dist/web/vcard.js +63 -0
- package/dist/whatsapp/normalize.js +66 -0
- package/dist/wizard/clack-prompter.js +72 -0
- package/dist/wizard/onboarding.finalize.js +351 -0
- package/dist/wizard/onboarding.gateway-config.js +188 -0
- package/dist/wizard/onboarding.js +372 -0
- package/dist/wizard/onboarding.types.js +1 -0
- package/dist/wizard/prompts.js +6 -0
- package/dist/wizard/session.js +201 -0
- package/docs/CNAME +1 -0
- package/docs/_config.yml +53 -0
- package/docs/_layouts/default.html +145 -0
- package/docs/assets/markdown.css +179 -0
- package/docs/assets/pixel-lobster.svg +60 -0
- package/docs/assets/showcase/agents-ui.jpg +0 -0
- package/docs/assets/showcase/bambu-cli.png +0 -0
- package/docs/assets/showcase/codexmonitor.png +0 -0
- package/docs/assets/showcase/gohome-grafana.png +0 -0
- package/docs/assets/showcase/ios-testflight.jpg +0 -0
- package/docs/assets/showcase/oura-health.png +0 -0
- package/docs/assets/showcase/padel-cli.svg +11 -0
- package/docs/assets/showcase/padel-screenshot.jpg +0 -0
- package/docs/assets/showcase/papla-tts.jpg +0 -0
- package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
- package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
- package/docs/assets/showcase/roborock-status.svg +13 -0
- package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
- package/docs/assets/showcase/snag.png +0 -0
- package/docs/assets/showcase/tesco-shop.jpg +0 -0
- package/docs/assets/showcase/wienerlinien.png +0 -0
- package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
- package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
- package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
- package/docs/assets/terminal.css +470 -0
- package/docs/assets/theme.js +55 -0
- package/docs/automation/auth-monitoring.md +41 -0
- package/docs/automation/cron-jobs.md +286 -0
- package/docs/automation/cron-vs-heartbeat.md +274 -0
- package/docs/automation/gmail-pubsub.md +252 -0
- package/docs/automation/poll.md +63 -0
- package/docs/automation/webhook.md +155 -0
- package/docs/bedrock.md +172 -0
- package/docs/brave-search.md +40 -0
- package/docs/broadcast-groups.md +407 -0
- package/docs/channels/bluebubbles.md +232 -0
- package/docs/channels/discord.md +400 -0
- package/docs/channels/googlechat.md +220 -0
- package/docs/channels/grammy.md +27 -0
- package/docs/channels/imessage.md +261 -0
- package/docs/channels/index.md +43 -0
- package/docs/channels/line.md +183 -0
- package/docs/channels/location.md +48 -0
- package/docs/channels/matrix.md +230 -0
- package/docs/channels/mattermost.md +123 -0
- package/docs/channels/msteams.md +703 -0
- package/docs/channels/nextcloud-talk.md +120 -0
- package/docs/channels/nostr.md +235 -0
- package/docs/channels/signal.md +179 -0
- package/docs/channels/slack.md +507 -0
- package/docs/channels/telegram.md +546 -0
- package/docs/channels/tlon.md +133 -0
- package/docs/channels/troubleshooting.md +25 -0
- package/docs/channels/twitch.md +366 -0
- package/docs/channels/whatsapp.md +362 -0
- package/docs/channels/zalo.md +167 -0
- package/docs/channels/zalouser.md +123 -0
- package/docs/cli/acp.md +166 -0
- package/docs/cli/agent.md +22 -0
- package/docs/cli/agents.md +71 -0
- package/docs/cli/approvals.md +48 -0
- package/docs/cli/browser.md +106 -0
- package/docs/cli/channels.md +75 -0
- package/docs/cli/config.md +49 -0
- package/docs/cli/configure.md +30 -0
- package/docs/cli/cron.md +29 -0
- package/docs/cli/dashboard.md +16 -0
- package/docs/cli/devices.md +66 -0
- package/docs/cli/directory.md +60 -0
- package/docs/cli/dns.md +22 -0
- package/docs/cli/docs.md +15 -0
- package/docs/cli/doctor.md +38 -0
- package/docs/cli/gateway.md +187 -0
- package/docs/cli/health.md +19 -0
- package/docs/cli/hooks.md +290 -0
- package/docs/cli/index.md +919 -0
- package/docs/cli/logs.md +23 -0
- package/docs/cli/memory.md +41 -0
- package/docs/cli/message.md +228 -0
- package/docs/cli/models.md +68 -0
- package/docs/cli/node.md +108 -0
- package/docs/cli/nodes.md +68 -0
- package/docs/cli/onboard.md +25 -0
- package/docs/cli/pairing.md +20 -0
- package/docs/cli/plugins.md +60 -0
- package/docs/cli/reset.md +17 -0
- package/docs/cli/sandbox.md +150 -0
- package/docs/cli/security.md +24 -0
- package/docs/cli/sessions.md +16 -0
- package/docs/cli/setup.md +28 -0
- package/docs/cli/skills.md +25 -0
- package/docs/cli/status.md +24 -0
- package/docs/cli/system.md +55 -0
- package/docs/cli/tui.md +22 -0
- package/docs/cli/uninstall.md +17 -0
- package/docs/cli/update.md +96 -0
- package/docs/cli/voicecall.md +33 -0
- package/docs/cli/webhooks.md +23 -0
- package/docs/concepts/agent-loop.md +126 -0
- package/docs/concepts/agent-workspace.md +231 -0
- package/docs/concepts/agent.md +117 -0
- package/docs/concepts/architecture.md +122 -0
- package/docs/concepts/channel-routing.md +114 -0
- package/docs/concepts/compaction.md +49 -0
- package/docs/concepts/context.md +151 -0
- package/docs/concepts/group-messages.md +78 -0
- package/docs/concepts/groups.md +308 -0
- package/docs/concepts/markdown-formatting.md +132 -0
- package/docs/concepts/memory.md +388 -0
- package/docs/concepts/messages.md +143 -0
- package/docs/concepts/model-failover.md +139 -0
- package/docs/concepts/model-providers.md +318 -0
- package/docs/concepts/models.md +202 -0
- package/docs/concepts/multi-agent.md +354 -0
- package/docs/concepts/oauth.md +135 -0
- package/docs/concepts/presence.md +98 -0
- package/docs/concepts/queue.md +77 -0
- package/docs/concepts/retry.md +60 -0
- package/docs/concepts/session-pruning.md +104 -0
- package/docs/concepts/session-tool.md +171 -0
- package/docs/concepts/session.md +150 -0
- package/docs/concepts/sessions.md +8 -0
- package/docs/concepts/streaming.md +123 -0
- package/docs/concepts/system-prompt.md +110 -0
- package/docs/concepts/timezone.md +89 -0
- package/docs/concepts/typebox.md +281 -0
- package/docs/concepts/typing-indicators.md +59 -0
- package/docs/concepts/usage-tracking.md +30 -0
- package/docs/date-time.md +127 -0
- package/docs/debug/node-issue.md +72 -0
- package/docs/debugging.md +161 -0
- package/docs/diagnostics/flags.md +89 -0
- package/docs/docs.json +1135 -0
- package/docs/environment.md +78 -0
- package/docs/experiments/onboarding-config-protocol.md +34 -0
- package/docs/experiments/plans/cron-add-hardening.md +57 -0
- package/docs/experiments/plans/group-policy-hardening.md +38 -0
- package/docs/experiments/plans/openresponses-gateway.md +122 -0
- package/docs/experiments/proposals/model-config.md +32 -0
- package/docs/experiments/research/memory.md +210 -0
- package/docs/gateway/authentication.md +143 -0
- package/docs/gateway/background-process.md +82 -0
- package/docs/gateway/bonjour.md +162 -0
- package/docs/gateway/bridge-protocol.md +85 -0
- package/docs/gateway/cli-backends.md +221 -0
- package/docs/gateway/configuration-examples.md +572 -0
- package/docs/gateway/configuration.md +3246 -0
- package/docs/gateway/discovery.md +110 -0
- package/docs/gateway/doctor.md +252 -0
- package/docs/gateway/gateway-lock.md +28 -0
- package/docs/gateway/health.md +29 -0
- package/docs/gateway/heartbeat.md +297 -0
- package/docs/gateway/index.md +292 -0
- package/docs/gateway/local-models.md +146 -0
- package/docs/gateway/logging.md +112 -0
- package/docs/gateway/multiple-gateways.md +107 -0
- package/docs/gateway/openai-http-api.md +112 -0
- package/docs/gateway/openresponses-http-api.md +298 -0
- package/docs/gateway/pairing.md +92 -0
- package/docs/gateway/protocol.md +215 -0
- package/docs/gateway/remote-gateway-readme.md +153 -0
- package/docs/gateway/remote.md +122 -0
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +117 -0
- package/docs/gateway/sandboxing.md +174 -0
- package/docs/gateway/security.md +741 -0
- package/docs/gateway/tailscale.md +146 -0
- package/docs/gateway/tools-invoke-http-api.md +79 -0
- package/docs/gateway/troubleshooting.md +714 -0
- package/docs/help/faq.md +2725 -0
- package/docs/help/index.md +20 -0
- package/docs/help/troubleshooting.md +97 -0
- package/docs/hooks/soul-evil.md +68 -0
- package/docs/hooks.md +896 -0
- package/docs/images/groups-flow.svg +52 -0
- package/docs/images/mobile-ui-screenshot.png +0 -0
- package/docs/index.md +240 -0
- package/docs/install/ansible.md +205 -0
- package/docs/install/bun.md +58 -0
- package/docs/install/development-channels.md +74 -0
- package/docs/install/docker.md +447 -0
- package/docs/install/index.md +180 -0
- package/docs/install/installer.md +122 -0
- package/docs/install/nix.md +95 -0
- package/docs/install/node.md +77 -0
- package/docs/install/uninstall.md +125 -0
- package/docs/install/updating.md +218 -0
- package/docs/logging.md +343 -0
- package/docs/multi-agent-sandbox-tools.md +374 -0
- package/docs/network.md +51 -0
- package/docs/nodes/audio.md +109 -0
- package/docs/nodes/camera.md +152 -0
- package/docs/nodes/images.md +61 -0
- package/docs/nodes/index.md +305 -0
- package/docs/nodes/location-command.md +95 -0
- package/docs/nodes/media-understanding.md +313 -0
- package/docs/nodes/talk.md +79 -0
- package/docs/nodes/voicewake.md +61 -0
- package/docs/perplexity.md +79 -0
- package/docs/platforms/android.md +141 -0
- package/docs/platforms/digitalocean.md +243 -0
- package/docs/platforms/exe-dev.md +187 -0
- package/docs/platforms/fly.md +465 -0
- package/docs/platforms/gcp.md +498 -0
- package/docs/platforms/hetzner.md +325 -0
- package/docs/platforms/index.md +50 -0
- package/docs/platforms/ios.md +104 -0
- package/docs/platforms/linux.md +89 -0
- package/docs/platforms/mac/bundled-gateway.md +67 -0
- package/docs/platforms/mac/canvas.md +121 -0
- package/docs/platforms/mac/child-process.md +67 -0
- package/docs/platforms/mac/dev-setup.md +91 -0
- package/docs/platforms/mac/health.md +28 -0
- package/docs/platforms/mac/icon.md +26 -0
- package/docs/platforms/mac/logging.md +51 -0
- package/docs/platforms/mac/menu-bar.md +70 -0
- package/docs/platforms/mac/peekaboo.md +62 -0
- package/docs/platforms/mac/permissions.md +40 -0
- package/docs/platforms/mac/release.md +77 -0
- package/docs/platforms/mac/remote.md +71 -0
- package/docs/platforms/mac/signing.md +43 -0
- package/docs/platforms/mac/skills.md +27 -0
- package/docs/platforms/mac/voice-overlay.md +52 -0
- package/docs/platforms/mac/voicewake.md +56 -0
- package/docs/platforms/mac/webchat.md +39 -0
- package/docs/platforms/mac/xpc.md +51 -0
- package/docs/platforms/macos-vm.md +275 -0
- package/docs/platforms/macos.md +195 -0
- package/docs/platforms/oracle.md +291 -0
- package/docs/platforms/raspberry-pi.md +354 -0
- package/docs/platforms/windows.md +153 -0
- package/docs/plugin.md +638 -0
- package/docs/plugins/agent-tools.md +96 -0
- package/docs/plugins/manifest.md +67 -0
- package/docs/plugins/voice-call.md +238 -0
- package/docs/plugins/zalouser.md +75 -0
- package/docs/prose.md +131 -0
- package/docs/providers/anthropic.md +126 -0
- package/docs/providers/claude-max-api-proxy.md +145 -0
- package/docs/providers/deepgram.md +89 -0
- package/docs/providers/github-copilot.md +70 -0
- package/docs/providers/glm.md +31 -0
- package/docs/providers/index.md +59 -0
- package/docs/providers/minimax.md +183 -0
- package/docs/providers/models.md +48 -0
- package/docs/providers/moonshot.md +151 -0
- package/docs/providers/ollama.md +219 -0
- package/docs/providers/openai.md +60 -0
- package/docs/providers/opencode.md +34 -0
- package/docs/providers/openrouter.md +35 -0
- package/docs/providers/qwen.md +51 -0
- package/docs/providers/synthetic.md +97 -0
- package/docs/providers/venice.md +264 -0
- package/docs/providers/vercel-ai-gateway.md +50 -0
- package/docs/providers/zai.md +34 -0
- package/docs/railway.mdx +96 -0
- package/docs/refactor/clawnet.md +360 -0
- package/docs/refactor/exec-host.md +265 -0
- package/docs/refactor/outbound-session-mirroring.md +75 -0
- package/docs/refactor/plugin-sdk.md +187 -0
- package/docs/refactor/strict-config.md +81 -0
- package/docs/reference/AGENTS.default.md +113 -0
- package/docs/reference/RELEASING.md +107 -0
- package/docs/reference/api-usage-costs.md +116 -0
- package/docs/reference/device-models.md +46 -0
- package/docs/reference/rpc.md +35 -0
- package/docs/reference/session-management-compaction.md +273 -0
- package/docs/reference/templates/AGENTS.dev.md +78 -0
- package/docs/reference/templates/AGENTS.md +196 -0
- package/docs/reference/templates/BOOT.md +9 -0
- package/docs/reference/templates/BOOTSTRAP.md +55 -0
- package/docs/reference/templates/HEARTBEAT.md +9 -0
- package/docs/reference/templates/IDENTITY.dev.md +40 -0
- package/docs/reference/templates/IDENTITY.md +27 -0
- package/docs/reference/templates/SOUL.dev.md +74 -0
- package/docs/reference/templates/SOUL.md +41 -0
- package/docs/reference/templates/TOOLS.dev.md +21 -0
- package/docs/reference/templates/TOOLS.md +41 -0
- package/docs/reference/templates/USER.dev.md +17 -0
- package/docs/reference/templates/USER.md +22 -0
- package/docs/reference/test.md +46 -0
- package/docs/reference/transcript-hygiene.md +95 -0
- package/docs/render.mdx +158 -0
- package/docs/scripts.md +31 -0
- package/docs/start/clawd.md +235 -0
- package/docs/start/getting-started.md +203 -0
- package/docs/start/hubs.md +182 -0
- package/docs/start/lore.md +133 -0
- package/docs/start/onboarding.md +103 -0
- package/docs/start/pairing.md +83 -0
- package/docs/start/setup.md +143 -0
- package/docs/start/showcase.md +416 -0
- package/docs/start/wizard.md +318 -0
- package/docs/testing.md +349 -0
- package/docs/token-use.md +110 -0
- package/docs/tools/agent-send.md +51 -0
- package/docs/tools/apply-patch.md +49 -0
- package/docs/tools/browser-linux-troubleshooting.md +129 -0
- package/docs/tools/browser-login.md +67 -0
- package/docs/tools/browser.md +642 -0
- package/docs/tools/chrome-extension.md +185 -0
- package/docs/tools/clawdhub.md +201 -0
- package/docs/tools/creating-skills.md +41 -0
- package/docs/tools/elevated.md +48 -0
- package/docs/tools/exec-approvals.md +223 -0
- package/docs/tools/exec.md +156 -0
- package/docs/tools/firecrawl.md +58 -0
- package/docs/tools/index.md +447 -0
- package/docs/tools/llm-task.md +114 -0
- package/docs/tools/lobster.md +326 -0
- package/docs/tools/reactions.md +20 -0
- package/docs/tools/skills-config.md +75 -0
- package/docs/tools/skills.md +267 -0
- package/docs/tools/slash-commands.md +188 -0
- package/docs/tools/subagents.md +137 -0
- package/docs/tools/thinking.md +62 -0
- package/docs/tools/web.md +257 -0
- package/docs/tts.md +389 -0
- package/docs/tui.md +134 -0
- package/docs/vps.md +39 -0
- package/docs/web/control-ui.md +163 -0
- package/docs/web/dashboard.md +42 -0
- package/docs/web/index.md +110 -0
- package/docs/web/webchat.md +41 -0
- package/docs/whatsapp-clawd.jpg +0 -0
- package/extensions/bluebubbles/clawdbot.plugin.json +11 -0
- package/extensions/bluebubbles/index.ts +20 -0
- package/extensions/bluebubbles/package.json +33 -0
- package/extensions/bluebubbles/src/accounts.ts +80 -0
- package/extensions/bluebubbles/src/actions.test.ts +651 -0
- package/extensions/bluebubbles/src/actions.ts +403 -0
- package/extensions/bluebubbles/src/attachments.test.ts +346 -0
- package/extensions/bluebubbles/src/attachments.ts +282 -0
- package/extensions/bluebubbles/src/channel.ts +399 -0
- package/extensions/bluebubbles/src/chat.test.ts +462 -0
- package/extensions/bluebubbles/src/chat.ts +354 -0
- package/extensions/bluebubbles/src/config-schema.ts +51 -0
- package/extensions/bluebubbles/src/media-send.ts +168 -0
- package/extensions/bluebubbles/src/monitor.test.ts +2140 -0
- package/extensions/bluebubbles/src/monitor.ts +2101 -0
- package/extensions/bluebubbles/src/onboarding.ts +340 -0
- package/extensions/bluebubbles/src/probe.ts +127 -0
- package/extensions/bluebubbles/src/reactions.test.ts +393 -0
- package/extensions/bluebubbles/src/reactions.ts +183 -0
- package/extensions/bluebubbles/src/runtime.ts +14 -0
- package/extensions/bluebubbles/src/send.test.ts +809 -0
- package/extensions/bluebubbles/src/send.ts +418 -0
- package/extensions/bluebubbles/src/targets.test.ts +184 -0
- package/extensions/bluebubbles/src/targets.ts +323 -0
- package/extensions/bluebubbles/src/types.ts +127 -0
- package/extensions/copilot-proxy/README.md +24 -0
- package/extensions/copilot-proxy/clawdbot.plugin.json +11 -0
- package/extensions/copilot-proxy/index.ts +142 -0
- package/extensions/copilot-proxy/package.json +11 -0
- package/extensions/diagnostics-otel/clawdbot.plugin.json +8 -0
- package/extensions/diagnostics-otel/index.ts +16 -0
- package/extensions/diagnostics-otel/package.json +24 -0
- package/extensions/diagnostics-otel/src/service.test.ts +220 -0
- package/extensions/diagnostics-otel/src/service.ts +566 -0
- package/extensions/discord/clawdbot.plugin.json +11 -0
- package/extensions/discord/index.ts +18 -0
- package/extensions/discord/package.json +11 -0
- package/extensions/discord/src/channel.ts +422 -0
- package/extensions/discord/src/runtime.ts +14 -0
- package/extensions/google-antigravity-auth/README.md +24 -0
- package/extensions/google-antigravity-auth/clawdbot.plugin.json +11 -0
- package/extensions/google-antigravity-auth/index.ts +437 -0
- package/extensions/google-antigravity-auth/package.json +11 -0
- package/extensions/google-gemini-cli-auth/README.md +35 -0
- package/extensions/google-gemini-cli-auth/clawdbot.plugin.json +11 -0
- package/extensions/google-gemini-cli-auth/index.ts +91 -0
- package/extensions/google-gemini-cli-auth/oauth.test.ts +228 -0
- package/extensions/google-gemini-cli-auth/oauth.ts +580 -0
- package/extensions/google-gemini-cli-auth/package.json +11 -0
- package/extensions/googlechat/clawdbot.plugin.json +11 -0
- package/extensions/googlechat/index.ts +20 -0
- package/extensions/googlechat/package.json +39 -0
- package/extensions/googlechat/src/accounts.ts +133 -0
- package/extensions/googlechat/src/actions.ts +162 -0
- package/extensions/googlechat/src/api.test.ts +62 -0
- package/extensions/googlechat/src/api.ts +259 -0
- package/extensions/googlechat/src/auth.ts +113 -0
- package/extensions/googlechat/src/channel.ts +580 -0
- package/extensions/googlechat/src/monitor.test.ts +27 -0
- package/extensions/googlechat/src/monitor.ts +900 -0
- package/extensions/googlechat/src/onboarding.ts +278 -0
- package/extensions/googlechat/src/runtime.ts +14 -0
- package/extensions/googlechat/src/targets.test.ts +35 -0
- package/extensions/googlechat/src/targets.ts +55 -0
- package/extensions/googlechat/src/types.config.ts +3 -0
- package/extensions/googlechat/src/types.ts +73 -0
- package/extensions/imessage/clawdbot.plugin.json +11 -0
- package/extensions/imessage/index.ts +18 -0
- package/extensions/imessage/package.json +11 -0
- package/extensions/imessage/src/channel.ts +294 -0
- package/extensions/imessage/src/runtime.ts +14 -0
- package/extensions/line/clawdbot.plugin.json +11 -0
- package/extensions/line/index.ts +20 -0
- package/extensions/line/package.json +29 -0
- package/extensions/line/src/card-command.ts +338 -0
- package/extensions/line/src/channel.logout.test.ts +96 -0
- package/extensions/line/src/channel.sendPayload.test.ts +308 -0
- package/extensions/line/src/channel.ts +773 -0
- package/extensions/line/src/runtime.ts +14 -0
- package/extensions/llm-task/README.md +97 -0
- package/extensions/llm-task/clawdbot.plugin.json +21 -0
- package/extensions/llm-task/index.ts +7 -0
- package/extensions/llm-task/package.json +11 -0
- package/extensions/llm-task/src/llm-task-tool.test.ts +117 -0
- package/extensions/llm-task/src/llm-task-tool.ts +218 -0
- package/extensions/lobster/README.md +80 -0
- package/extensions/lobster/SKILL.md +90 -0
- package/extensions/lobster/clawdbot.plugin.json +10 -0
- package/extensions/lobster/index.ts +13 -0
- package/extensions/lobster/package.json +11 -0
- package/extensions/lobster/src/lobster-tool.test.ts +123 -0
- package/extensions/lobster/src/lobster-tool.ts +222 -0
- package/extensions/matrix/CHANGELOG.md +54 -0
- package/extensions/matrix/clawdbot.plugin.json +11 -0
- package/extensions/matrix/index.ts +18 -0
- package/extensions/matrix/package.json +36 -0
- package/extensions/matrix/src/actions.ts +185 -0
- package/extensions/matrix/src/channel.directory.test.ts +56 -0
- package/extensions/matrix/src/channel.ts +417 -0
- package/extensions/matrix/src/config-schema.ts +62 -0
- package/extensions/matrix/src/directory-live.ts +175 -0
- package/extensions/matrix/src/group-mentions.ts +61 -0
- package/extensions/matrix/src/matrix/accounts.test.ts +83 -0
- package/extensions/matrix/src/matrix/accounts.ts +63 -0
- package/extensions/matrix/src/matrix/actions/client.ts +53 -0
- package/extensions/matrix/src/matrix/actions/messages.ts +120 -0
- package/extensions/matrix/src/matrix/actions/pins.ts +70 -0
- package/extensions/matrix/src/matrix/actions/reactions.ts +84 -0
- package/extensions/matrix/src/matrix/actions/room.ts +88 -0
- package/extensions/matrix/src/matrix/actions/summary.ts +77 -0
- package/extensions/matrix/src/matrix/actions/types.ts +84 -0
- package/extensions/matrix/src/matrix/actions.ts +15 -0
- package/extensions/matrix/src/matrix/active-client.ts +11 -0
- package/extensions/matrix/src/matrix/client/config.ts +165 -0
- package/extensions/matrix/src/matrix/client/create-client.ts +127 -0
- package/extensions/matrix/src/matrix/client/logging.ts +35 -0
- package/extensions/matrix/src/matrix/client/runtime.ts +4 -0
- package/extensions/matrix/src/matrix/client/shared.ts +169 -0
- package/extensions/matrix/src/matrix/client/storage.ts +131 -0
- package/extensions/matrix/src/matrix/client/types.ts +34 -0
- package/extensions/matrix/src/matrix/client.test.ts +57 -0
- package/extensions/matrix/src/matrix/client.ts +9 -0
- package/extensions/matrix/src/matrix/credentials.ts +103 -0
- package/extensions/matrix/src/matrix/deps.ts +57 -0
- package/extensions/matrix/src/matrix/format.test.ts +34 -0
- package/extensions/matrix/src/matrix/format.ts +22 -0
- package/extensions/matrix/src/matrix/index.ts +11 -0
- package/extensions/matrix/src/matrix/monitor/allowlist.ts +58 -0
- package/extensions/matrix/src/matrix/monitor/auto-join.ts +68 -0
- package/extensions/matrix/src/matrix/monitor/direct.ts +105 -0
- package/extensions/matrix/src/matrix/monitor/events.ts +103 -0
- package/extensions/matrix/src/matrix/monitor/handler.ts +645 -0
- package/extensions/matrix/src/matrix/monitor/index.ts +279 -0
- package/extensions/matrix/src/matrix/monitor/location.ts +83 -0
- package/extensions/matrix/src/matrix/monitor/media.test.ts +103 -0
- package/extensions/matrix/src/matrix/monitor/media.ts +113 -0
- package/extensions/matrix/src/matrix/monitor/mentions.ts +31 -0
- package/extensions/matrix/src/matrix/monitor/replies.ts +96 -0
- package/extensions/matrix/src/matrix/monitor/room-info.ts +58 -0
- package/extensions/matrix/src/matrix/monitor/rooms.ts +43 -0
- package/extensions/matrix/src/matrix/monitor/threads.ts +64 -0
- package/extensions/matrix/src/matrix/monitor/types.ts +39 -0
- package/extensions/matrix/src/matrix/poll-types.test.ts +22 -0
- package/extensions/matrix/src/matrix/poll-types.ts +157 -0
- package/extensions/matrix/src/matrix/probe.ts +70 -0
- package/extensions/matrix/src/matrix/send/client.ts +63 -0
- package/extensions/matrix/src/matrix/send/formatting.ts +92 -0
- package/extensions/matrix/src/matrix/send/media.ts +220 -0
- package/extensions/matrix/src/matrix/send/targets.test.ts +102 -0
- package/extensions/matrix/src/matrix/send/targets.ts +144 -0
- package/extensions/matrix/src/matrix/send/types.ts +109 -0
- package/extensions/matrix/src/matrix/send.test.ts +172 -0
- package/extensions/matrix/src/matrix/send.ts +255 -0
- package/extensions/matrix/src/onboarding.ts +432 -0
- package/extensions/matrix/src/outbound.ts +53 -0
- package/extensions/matrix/src/resolve-targets.ts +89 -0
- package/extensions/matrix/src/runtime.ts +14 -0
- package/extensions/matrix/src/tool-actions.ts +160 -0
- package/extensions/matrix/src/types.ts +95 -0
- package/extensions/mattermost/clawdbot.plugin.json +11 -0
- package/extensions/mattermost/index.ts +18 -0
- package/extensions/mattermost/package.json +25 -0
- package/extensions/mattermost/src/channel.test.ts +43 -0
- package/extensions/mattermost/src/channel.ts +339 -0
- package/extensions/mattermost/src/config-schema.ts +56 -0
- package/extensions/mattermost/src/group-mentions.ts +14 -0
- package/extensions/mattermost/src/mattermost/accounts.ts +115 -0
- package/extensions/mattermost/src/mattermost/client.ts +208 -0
- package/extensions/mattermost/src/mattermost/index.ts +9 -0
- package/extensions/mattermost/src/mattermost/monitor-helpers.ts +150 -0
- package/extensions/mattermost/src/mattermost/monitor.ts +921 -0
- package/extensions/mattermost/src/mattermost/probe.ts +70 -0
- package/extensions/mattermost/src/mattermost/send.ts +217 -0
- package/extensions/mattermost/src/normalize.ts +38 -0
- package/extensions/mattermost/src/onboarding-helpers.ts +42 -0
- package/extensions/mattermost/src/onboarding.ts +187 -0
- package/extensions/mattermost/src/runtime.ts +14 -0
- package/extensions/mattermost/src/types.ts +50 -0
- package/extensions/memory-core/clawdbot.plugin.json +9 -0
- package/extensions/memory-core/index.ts +36 -0
- package/extensions/memory-core/package.json +14 -0
- package/extensions/memory-lancedb/clawdbot.plugin.json +67 -0
- package/extensions/memory-lancedb/config.ts +114 -0
- package/extensions/memory-lancedb/index.test.ts +284 -0
- package/extensions/memory-lancedb/index.ts +590 -0
- package/extensions/memory-lancedb/package.json +16 -0
- package/extensions/msteams/CHANGELOG.md +51 -0
- package/extensions/msteams/clawdbot.plugin.json +11 -0
- package/extensions/msteams/index.ts +18 -0
- package/extensions/msteams/package.json +36 -0
- package/extensions/msteams/src/attachments/download.ts +206 -0
- package/extensions/msteams/src/attachments/graph.ts +319 -0
- package/extensions/msteams/src/attachments/html.ts +76 -0
- package/extensions/msteams/src/attachments/payload.ts +22 -0
- package/extensions/msteams/src/attachments/shared.ts +235 -0
- package/extensions/msteams/src/attachments/types.ts +37 -0
- package/extensions/msteams/src/attachments.test.ts +424 -0
- package/extensions/msteams/src/attachments.ts +18 -0
- package/extensions/msteams/src/channel.directory.test.ts +46 -0
- package/extensions/msteams/src/channel.ts +436 -0
- package/extensions/msteams/src/conversation-store-fs.test.ts +88 -0
- package/extensions/msteams/src/conversation-store-fs.ts +155 -0
- package/extensions/msteams/src/conversation-store-memory.ts +45 -0
- package/extensions/msteams/src/conversation-store.ts +41 -0
- package/extensions/msteams/src/directory-live.ts +179 -0
- package/extensions/msteams/src/errors.test.ts +46 -0
- package/extensions/msteams/src/errors.ts +158 -0
- package/extensions/msteams/src/file-consent-helpers.test.ts +234 -0
- package/extensions/msteams/src/file-consent-helpers.ts +73 -0
- package/extensions/msteams/src/file-consent.ts +122 -0
- package/extensions/msteams/src/graph-chat.ts +52 -0
- package/extensions/msteams/src/graph-upload.ts +445 -0
- package/extensions/msteams/src/inbound.test.ts +67 -0
- package/extensions/msteams/src/inbound.ts +38 -0
- package/extensions/msteams/src/index.ts +4 -0
- package/extensions/msteams/src/media-helpers.test.ts +186 -0
- package/extensions/msteams/src/media-helpers.ts +77 -0
- package/extensions/msteams/src/messenger.test.ts +245 -0
- package/extensions/msteams/src/messenger.ts +460 -0
- package/extensions/msteams/src/monitor-handler/inbound-media.ts +123 -0
- package/extensions/msteams/src/monitor-handler/message-handler.ts +629 -0
- package/extensions/msteams/src/monitor-handler.ts +166 -0
- package/extensions/msteams/src/monitor-types.ts +5 -0
- package/extensions/msteams/src/monitor.ts +290 -0
- package/extensions/msteams/src/onboarding.ts +432 -0
- package/extensions/msteams/src/outbound.ts +47 -0
- package/extensions/msteams/src/pending-uploads.ts +87 -0
- package/extensions/msteams/src/policy.test.ts +210 -0
- package/extensions/msteams/src/policy.ts +202 -0
- package/extensions/msteams/src/polls-store-memory.ts +30 -0
- package/extensions/msteams/src/polls-store.test.ts +40 -0
- package/extensions/msteams/src/polls.test.ts +72 -0
- package/extensions/msteams/src/polls.ts +299 -0
- package/extensions/msteams/src/probe.test.ts +57 -0
- package/extensions/msteams/src/probe.ts +99 -0
- package/extensions/msteams/src/reply-dispatcher.ts +128 -0
- package/extensions/msteams/src/resolve-allowlist.ts +277 -0
- package/extensions/msteams/src/runtime.ts +14 -0
- package/extensions/msteams/src/sdk-types.ts +19 -0
- package/extensions/msteams/src/sdk.ts +33 -0
- package/extensions/msteams/src/send-context.ts +156 -0
- package/extensions/msteams/src/send.ts +489 -0
- package/extensions/msteams/src/sent-message-cache.test.ts +16 -0
- package/extensions/msteams/src/sent-message-cache.ts +41 -0
- package/extensions/msteams/src/storage.ts +22 -0
- package/extensions/msteams/src/store-fs.ts +80 -0
- package/extensions/msteams/src/token.ts +19 -0
- package/extensions/nextcloud-talk/clawdbot.plugin.json +11 -0
- package/extensions/nextcloud-talk/index.ts +18 -0
- package/extensions/nextcloud-talk/package.json +30 -0
- package/extensions/nextcloud-talk/src/accounts.ts +154 -0
- package/extensions/nextcloud-talk/src/channel.ts +404 -0
- package/extensions/nextcloud-talk/src/config-schema.ts +78 -0
- package/extensions/nextcloud-talk/src/format.ts +79 -0
- package/extensions/nextcloud-talk/src/inbound.ts +336 -0
- package/extensions/nextcloud-talk/src/monitor.ts +246 -0
- package/extensions/nextcloud-talk/src/normalize.ts +31 -0
- package/extensions/nextcloud-talk/src/onboarding.ts +341 -0
- package/extensions/nextcloud-talk/src/policy.ts +175 -0
- package/extensions/nextcloud-talk/src/room-info.ts +111 -0
- package/extensions/nextcloud-talk/src/runtime.ts +14 -0
- package/extensions/nextcloud-talk/src/send.ts +206 -0
- package/extensions/nextcloud-talk/src/signature.ts +67 -0
- package/extensions/nextcloud-talk/src/types.ts +179 -0
- package/extensions/nostr/CHANGELOG.md +46 -0
- package/extensions/nostr/README.md +136 -0
- package/extensions/nostr/clawdbot.plugin.json +11 -0
- package/extensions/nostr/index.ts +69 -0
- package/extensions/nostr/package.json +31 -0
- package/extensions/nostr/src/channel.test.ts +141 -0
- package/extensions/nostr/src/channel.ts +342 -0
- package/extensions/nostr/src/config-schema.ts +90 -0
- package/extensions/nostr/src/metrics.ts +464 -0
- package/extensions/nostr/src/nostr-bus.fuzz.test.ts +544 -0
- package/extensions/nostr/src/nostr-bus.integration.test.ts +452 -0
- package/extensions/nostr/src/nostr-bus.test.ts +199 -0
- package/extensions/nostr/src/nostr-bus.ts +741 -0
- package/extensions/nostr/src/nostr-profile-http.test.ts +378 -0
- package/extensions/nostr/src/nostr-profile-http.ts +500 -0
- package/extensions/nostr/src/nostr-profile-import.test.ts +120 -0
- package/extensions/nostr/src/nostr-profile-import.ts +259 -0
- package/extensions/nostr/src/nostr-profile.fuzz.test.ts +479 -0
- package/extensions/nostr/src/nostr-profile.test.ts +410 -0
- package/extensions/nostr/src/nostr-profile.ts +242 -0
- package/extensions/nostr/src/nostr-state-store.test.ts +128 -0
- package/extensions/nostr/src/nostr-state-store.ts +226 -0
- package/extensions/nostr/src/runtime.ts +14 -0
- package/extensions/nostr/src/seen-tracker.ts +271 -0
- package/extensions/nostr/src/types.test.ts +161 -0
- package/extensions/nostr/src/types.ts +99 -0
- package/extensions/nostr/test/setup.ts +5 -0
- package/extensions/open-prose/README.md +25 -0
- package/extensions/open-prose/clawdbot.plugin.json +11 -0
- package/extensions/open-prose/index.ts +5 -0
- package/extensions/open-prose/package.json +11 -0
- package/extensions/open-prose/skills/prose/LICENSE +21 -0
- package/extensions/open-prose/skills/prose/SKILL.md +318 -0
- package/extensions/open-prose/skills/prose/alt-borges.md +141 -0
- package/extensions/open-prose/skills/prose/alts/arabian-nights.md +358 -0
- package/extensions/open-prose/skills/prose/alts/borges.md +360 -0
- package/extensions/open-prose/skills/prose/alts/folk.md +322 -0
- package/extensions/open-prose/skills/prose/alts/homer.md +346 -0
- package/extensions/open-prose/skills/prose/alts/kafka.md +373 -0
- package/extensions/open-prose/skills/prose/compiler.md +2967 -0
- package/extensions/open-prose/skills/prose/examples/01-hello-world.prose +4 -0
- package/extensions/open-prose/skills/prose/examples/02-research-and-summarize.prose +6 -0
- package/extensions/open-prose/skills/prose/examples/03-code-review.prose +17 -0
- package/extensions/open-prose/skills/prose/examples/04-write-and-refine.prose +14 -0
- package/extensions/open-prose/skills/prose/examples/05-debug-issue.prose +20 -0
- package/extensions/open-prose/skills/prose/examples/06-explain-codebase.prose +17 -0
- package/extensions/open-prose/skills/prose/examples/07-refactor.prose +20 -0
- package/extensions/open-prose/skills/prose/examples/08-blog-post.prose +20 -0
- package/extensions/open-prose/skills/prose/examples/09-research-with-agents.prose +25 -0
- package/extensions/open-prose/skills/prose/examples/10-code-review-agents.prose +32 -0
- package/extensions/open-prose/skills/prose/examples/11-skills-and-imports.prose +27 -0
- package/extensions/open-prose/skills/prose/examples/12-secure-agent-permissions.prose +43 -0
- package/extensions/open-prose/skills/prose/examples/13-variables-and-context.prose +51 -0
- package/extensions/open-prose/skills/prose/examples/14-composition-blocks.prose +48 -0
- package/extensions/open-prose/skills/prose/examples/15-inline-sequences.prose +23 -0
- package/extensions/open-prose/skills/prose/examples/16-parallel-reviews.prose +19 -0
- package/extensions/open-prose/skills/prose/examples/17-parallel-research.prose +19 -0
- package/extensions/open-prose/skills/prose/examples/18-mixed-parallel-sequential.prose +36 -0
- package/extensions/open-prose/skills/prose/examples/19-advanced-parallel.prose +71 -0
- package/extensions/open-prose/skills/prose/examples/20-fixed-loops.prose +20 -0
- package/extensions/open-prose/skills/prose/examples/21-pipeline-operations.prose +35 -0
- package/extensions/open-prose/skills/prose/examples/22-error-handling.prose +51 -0
- package/extensions/open-prose/skills/prose/examples/23-retry-with-backoff.prose +63 -0
- package/extensions/open-prose/skills/prose/examples/24-choice-blocks.prose +86 -0
- package/extensions/open-prose/skills/prose/examples/25-conditionals.prose +114 -0
- package/extensions/open-prose/skills/prose/examples/26-parameterized-blocks.prose +100 -0
- package/extensions/open-prose/skills/prose/examples/27-string-interpolation.prose +105 -0
- package/extensions/open-prose/skills/prose/examples/28-automated-pr-review.prose +37 -0
- package/extensions/open-prose/skills/prose/examples/28-gas-town.prose +1572 -0
- package/extensions/open-prose/skills/prose/examples/29-captains-chair.prose +218 -0
- package/extensions/open-prose/skills/prose/examples/30-captains-chair-simple.prose +42 -0
- package/extensions/open-prose/skills/prose/examples/31-captains-chair-with-memory.prose +145 -0
- package/extensions/open-prose/skills/prose/examples/33-pr-review-autofix.prose +168 -0
- package/extensions/open-prose/skills/prose/examples/34-content-pipeline.prose +204 -0
- package/extensions/open-prose/skills/prose/examples/35-feature-factory.prose +296 -0
- package/extensions/open-prose/skills/prose/examples/36-bug-hunter.prose +237 -0
- package/extensions/open-prose/skills/prose/examples/37-the-forge.prose +1474 -0
- package/extensions/open-prose/skills/prose/examples/38-skill-scan.prose +455 -0
- package/extensions/open-prose/skills/prose/examples/39-architect-by-simulation.prose +277 -0
- package/extensions/open-prose/skills/prose/examples/40-rlm-self-refine.prose +32 -0
- package/extensions/open-prose/skills/prose/examples/41-rlm-divide-conquer.prose +38 -0
- package/extensions/open-prose/skills/prose/examples/42-rlm-filter-recurse.prose +46 -0
- package/extensions/open-prose/skills/prose/examples/43-rlm-pairwise.prose +50 -0
- package/extensions/open-prose/skills/prose/examples/44-run-endpoint-ux-test.prose +261 -0
- package/extensions/open-prose/skills/prose/examples/45-plugin-release.prose +159 -0
- package/extensions/open-prose/skills/prose/examples/45-run-endpoint-ux-test-with-remediation.prose +637 -0
- package/extensions/open-prose/skills/prose/examples/46-run-endpoint-ux-test-fast.prose +148 -0
- package/extensions/open-prose/skills/prose/examples/46-workflow-crystallizer.prose +225 -0
- package/extensions/open-prose/skills/prose/examples/47-language-self-improvement.prose +356 -0
- package/extensions/open-prose/skills/prose/examples/48-habit-miner.prose +445 -0
- package/extensions/open-prose/skills/prose/examples/49-prose-run-retrospective.prose +210 -0
- package/extensions/open-prose/skills/prose/examples/README.md +391 -0
- package/extensions/open-prose/skills/prose/examples/roadmap/README.md +22 -0
- package/extensions/open-prose/skills/prose/examples/roadmap/iterative-refinement.prose +20 -0
- package/extensions/open-prose/skills/prose/examples/roadmap/parallel-review.prose +18 -0
- package/extensions/open-prose/skills/prose/examples/roadmap/simple-pipeline.prose +17 -0
- package/extensions/open-prose/skills/prose/examples/roadmap/syntax/open-prose-syntax.prose +223 -0
- package/extensions/open-prose/skills/prose/guidance/antipatterns.md +951 -0
- package/extensions/open-prose/skills/prose/guidance/patterns.md +700 -0
- package/extensions/open-prose/skills/prose/guidance/system-prompt.md +180 -0
- package/extensions/open-prose/skills/prose/help.md +143 -0
- package/extensions/open-prose/skills/prose/lib/README.md +105 -0
- package/extensions/open-prose/skills/prose/lib/calibrator.prose +215 -0
- package/extensions/open-prose/skills/prose/lib/cost-analyzer.prose +174 -0
- package/extensions/open-prose/skills/prose/lib/error-forensics.prose +250 -0
- package/extensions/open-prose/skills/prose/lib/inspector.prose +196 -0
- package/extensions/open-prose/skills/prose/lib/profiler.prose +460 -0
- package/extensions/open-prose/skills/prose/lib/program-improver.prose +275 -0
- package/extensions/open-prose/skills/prose/lib/project-memory.prose +118 -0
- package/extensions/open-prose/skills/prose/lib/user-memory.prose +93 -0
- package/extensions/open-prose/skills/prose/lib/vm-improver.prose +243 -0
- package/extensions/open-prose/skills/prose/primitives/session.md +587 -0
- package/extensions/open-prose/skills/prose/prose.md +1235 -0
- package/extensions/open-prose/skills/prose/state/filesystem.md +478 -0
- package/extensions/open-prose/skills/prose/state/in-context.md +380 -0
- package/extensions/open-prose/skills/prose/state/postgres.md +875 -0
- package/extensions/open-prose/skills/prose/state/sqlite.md +572 -0
- package/extensions/qwen-portal-auth/README.md +24 -0
- package/extensions/qwen-portal-auth/clawdbot.plugin.json +11 -0
- package/extensions/qwen-portal-auth/index.ts +127 -0
- package/extensions/qwen-portal-auth/oauth.ts +190 -0
- package/extensions/signal/clawdbot.plugin.json +11 -0
- package/extensions/signal/index.ts +18 -0
- package/extensions/signal/package.json +11 -0
- package/extensions/signal/src/channel.ts +312 -0
- package/extensions/signal/src/runtime.ts +14 -0
- package/extensions/slack/clawdbot.plugin.json +11 -0
- package/extensions/slack/index.ts +18 -0
- package/extensions/slack/package.json +11 -0
- package/extensions/slack/src/channel.ts +577 -0
- package/extensions/slack/src/runtime.ts +14 -0
- package/extensions/telegram/clawdbot.plugin.json +11 -0
- package/extensions/telegram/index.ts +18 -0
- package/extensions/telegram/package.json +11 -0
- package/extensions/telegram/src/channel.ts +478 -0
- package/extensions/telegram/src/runtime.ts +14 -0
- package/extensions/tlon/README.md +5 -0
- package/extensions/tlon/clawdbot.plugin.json +11 -0
- package/extensions/tlon/index.ts +18 -0
- package/extensions/tlon/package.json +30 -0
- package/extensions/tlon/src/channel.ts +379 -0
- package/extensions/tlon/src/config-schema.test.ts +32 -0
- package/extensions/tlon/src/config-schema.ts +43 -0
- package/extensions/tlon/src/monitor/discovery.ts +71 -0
- package/extensions/tlon/src/monitor/history.ts +87 -0
- package/extensions/tlon/src/monitor/index.ts +501 -0
- package/extensions/tlon/src/monitor/processed-messages.test.ts +24 -0
- package/extensions/tlon/src/monitor/processed-messages.ts +38 -0
- package/extensions/tlon/src/monitor/utils.ts +83 -0
- package/extensions/tlon/src/onboarding.ts +213 -0
- package/extensions/tlon/src/runtime.ts +14 -0
- package/extensions/tlon/src/targets.ts +79 -0
- package/extensions/tlon/src/types.ts +85 -0
- package/extensions/tlon/src/urbit/auth.ts +18 -0
- package/extensions/tlon/src/urbit/http-api.ts +36 -0
- package/extensions/tlon/src/urbit/send.test.ts +38 -0
- package/extensions/tlon/src/urbit/send.ts +127 -0
- package/extensions/tlon/src/urbit/sse-client.test.ts +41 -0
- package/extensions/tlon/src/urbit/sse-client.ts +367 -0
- package/extensions/twitch/CHANGELOG.md +21 -0
- package/extensions/twitch/README.md +89 -0
- package/extensions/twitch/clawdbot.plugin.json +9 -0
- package/extensions/twitch/index.ts +20 -0
- package/extensions/twitch/package.json +20 -0
- package/extensions/twitch/src/access-control.test.ts +489 -0
- package/extensions/twitch/src/access-control.ts +154 -0
- package/extensions/twitch/src/actions.ts +173 -0
- package/extensions/twitch/src/client-manager-registry.ts +115 -0
- package/extensions/twitch/src/config-schema.ts +82 -0
- package/extensions/twitch/src/config.test.ts +88 -0
- package/extensions/twitch/src/config.ts +116 -0
- package/extensions/twitch/src/monitor.ts +257 -0
- package/extensions/twitch/src/onboarding.test.ts +311 -0
- package/extensions/twitch/src/onboarding.ts +411 -0
- package/extensions/twitch/src/outbound.test.ts +373 -0
- package/extensions/twitch/src/outbound.ts +186 -0
- package/extensions/twitch/src/plugin.test.ts +39 -0
- package/extensions/twitch/src/plugin.ts +274 -0
- package/extensions/twitch/src/probe.test.ts +198 -0
- package/extensions/twitch/src/probe.ts +118 -0
- package/extensions/twitch/src/resolver.ts +137 -0
- package/extensions/twitch/src/runtime.ts +14 -0
- package/extensions/twitch/src/send.test.ts +289 -0
- package/extensions/twitch/src/send.ts +136 -0
- package/extensions/twitch/src/status.test.ts +270 -0
- package/extensions/twitch/src/status.ts +176 -0
- package/extensions/twitch/src/token.test.ts +171 -0
- package/extensions/twitch/src/token.ts +87 -0
- package/extensions/twitch/src/twitch-client.test.ts +574 -0
- package/extensions/twitch/src/twitch-client.ts +277 -0
- package/extensions/twitch/src/types.ts +141 -0
- package/extensions/twitch/src/utils/markdown.ts +92 -0
- package/extensions/twitch/src/utils/twitch.ts +78 -0
- package/extensions/twitch/test/setup.ts +7 -0
- package/extensions/voice-call/CHANGELOG.md +72 -0
- package/extensions/voice-call/README.md +134 -0
- package/extensions/voice-call/clawdbot.plugin.json +601 -0
- package/extensions/voice-call/index.ts +497 -0
- package/extensions/voice-call/package.json +16 -0
- package/extensions/voice-call/src/cli.ts +300 -0
- package/extensions/voice-call/src/config.test.ts +204 -0
- package/extensions/voice-call/src/config.ts +493 -0
- package/extensions/voice-call/src/core-bridge.ts +196 -0
- package/extensions/voice-call/src/manager/context.ts +21 -0
- package/extensions/voice-call/src/manager/events.ts +177 -0
- package/extensions/voice-call/src/manager/lookup.ts +33 -0
- package/extensions/voice-call/src/manager/outbound.ts +248 -0
- package/extensions/voice-call/src/manager/state.ts +50 -0
- package/extensions/voice-call/src/manager/store.ts +88 -0
- package/extensions/voice-call/src/manager/timers.ts +86 -0
- package/extensions/voice-call/src/manager/twiml.ts +9 -0
- package/extensions/voice-call/src/manager.test.ts +108 -0
- package/extensions/voice-call/src/manager.ts +876 -0
- package/extensions/voice-call/src/media-stream.test.ts +97 -0
- package/extensions/voice-call/src/media-stream.ts +393 -0
- package/extensions/voice-call/src/providers/base.ts +67 -0
- package/extensions/voice-call/src/providers/index.ts +10 -0
- package/extensions/voice-call/src/providers/mock.ts +168 -0
- package/extensions/voice-call/src/providers/plivo.test.ts +28 -0
- package/extensions/voice-call/src/providers/plivo.ts +504 -0
- package/extensions/voice-call/src/providers/stt-openai-realtime.ts +311 -0
- package/extensions/voice-call/src/providers/telnyx.ts +364 -0
- package/extensions/voice-call/src/providers/tts-openai.ts +264 -0
- package/extensions/voice-call/src/providers/twilio/api.ts +45 -0
- package/extensions/voice-call/src/providers/twilio/webhook.ts +29 -0
- package/extensions/voice-call/src/providers/twilio.test.ts +64 -0
- package/extensions/voice-call/src/providers/twilio.ts +595 -0
- package/extensions/voice-call/src/response-generator.ts +171 -0
- package/extensions/voice-call/src/runtime.ts +205 -0
- package/extensions/voice-call/src/telephony-audio.ts +88 -0
- package/extensions/voice-call/src/telephony-tts.ts +95 -0
- package/extensions/voice-call/src/tunnel.ts +331 -0
- package/extensions/voice-call/src/types.ts +272 -0
- package/extensions/voice-call/src/utils.ts +12 -0
- package/extensions/voice-call/src/voice-mapping.ts +65 -0
- package/extensions/voice-call/src/webhook-security.test.ts +233 -0
- package/extensions/voice-call/src/webhook-security.ts +446 -0
- package/extensions/voice-call/src/webhook.ts +490 -0
- package/extensions/whatsapp/clawdbot.plugin.json +11 -0
- package/extensions/whatsapp/index.ts +18 -0
- package/extensions/whatsapp/package.json +11 -0
- package/extensions/whatsapp/src/channel.ts +500 -0
- package/extensions/whatsapp/src/runtime.ts +14 -0
- package/extensions/zalo/CHANGELOG.md +55 -0
- package/extensions/zalo/README.md +50 -0
- package/extensions/zalo/clawdbot.plugin.json +11 -0
- package/extensions/zalo/index.ts +20 -0
- package/extensions/zalo/package.json +33 -0
- package/extensions/zalo/src/accounts.ts +71 -0
- package/extensions/zalo/src/actions.ts +62 -0
- package/extensions/zalo/src/api.ts +206 -0
- package/extensions/zalo/src/channel.directory.test.ts +35 -0
- package/extensions/zalo/src/channel.ts +394 -0
- package/extensions/zalo/src/config-schema.ts +24 -0
- package/extensions/zalo/src/monitor.ts +760 -0
- package/extensions/zalo/src/monitor.webhook.test.ts +70 -0
- package/extensions/zalo/src/onboarding.ts +405 -0
- package/extensions/zalo/src/probe.ts +46 -0
- package/extensions/zalo/src/proxy.ts +18 -0
- package/extensions/zalo/src/runtime.ts +14 -0
- package/extensions/zalo/src/send.ts +117 -0
- package/extensions/zalo/src/status-issues.ts +50 -0
- package/extensions/zalo/src/token.ts +55 -0
- package/extensions/zalo/src/types.ts +42 -0
- package/extensions/zalouser/CHANGELOG.md +33 -0
- package/extensions/zalouser/README.md +221 -0
- package/extensions/zalouser/clawdbot.plugin.json +11 -0
- package/extensions/zalouser/index.ts +32 -0
- package/extensions/zalouser/package.json +33 -0
- package/extensions/zalouser/src/accounts.ts +117 -0
- package/extensions/zalouser/src/channel.test.ts +17 -0
- package/extensions/zalouser/src/channel.ts +641 -0
- package/extensions/zalouser/src/config-schema.ts +27 -0
- package/extensions/zalouser/src/monitor.ts +574 -0
- package/extensions/zalouser/src/onboarding.ts +488 -0
- package/extensions/zalouser/src/probe.ts +28 -0
- package/extensions/zalouser/src/runtime.ts +14 -0
- package/extensions/zalouser/src/send.ts +150 -0
- package/extensions/zalouser/src/status-issues.test.ts +58 -0
- package/extensions/zalouser/src/status-issues.ts +81 -0
- package/extensions/zalouser/src/tool.ts +156 -0
- package/extensions/zalouser/src/types.ts +102 -0
- package/extensions/zalouser/src/zca.ts +208 -0
- package/git-hooks/pre-commit +4 -0
- package/package.json +280 -0
- package/patches/.gitkeep +0 -0
- package/scripts/format-staged.js +148 -0
- package/scripts/postinstall.js +300 -0
- package/scripts/setup-git-hooks.js +96 -0
- package/skills/1password/SKILL.md +53 -0
- package/skills/1password/references/cli-examples.md +29 -0
- package/skills/1password/references/get-started.md +17 -0
- package/skills/apple-notes/SKILL.md +50 -0
- package/skills/apple-reminders/SKILL.md +67 -0
- package/skills/bear-notes/SKILL.md +79 -0
- package/skills/bird/SKILL.md +197 -0
- package/skills/blogwatcher/SKILL.md +46 -0
- package/skills/blucli/SKILL.md +27 -0
- package/skills/bluebubbles/SKILL.md +39 -0
- package/skills/camsnap/SKILL.md +25 -0
- package/skills/canvas/SKILL.md +189 -0
- package/skills/clawdhub/SKILL.md +53 -0
- package/skills/coding-agent/SKILL.md +278 -0
- package/skills/content-writer/SKILL.md +260 -0
- package/skills/discord/SKILL.md +475 -0
- package/skills/eightctl/SKILL.md +29 -0
- package/skills/food-order/SKILL.md +41 -0
- package/skills/ga4/SKILL.md +297 -0
- package/skills/gemini/SKILL.md +23 -0
- package/skills/gifgrep/SKILL.md +47 -0
- package/skills/github/SKILL.md +48 -0
- package/skills/gog/SKILL.md +92 -0
- package/skills/goplaces/SKILL.md +30 -0
- package/skills/himalaya/SKILL.md +217 -0
- package/skills/himalaya/references/configuration.md +174 -0
- package/skills/himalaya/references/message-composition.md +182 -0
- package/skills/imsg/SKILL.md +25 -0
- package/skills/local-places/SERVER_README.md +101 -0
- package/skills/local-places/SKILL.md +91 -0
- package/skills/local-places/pyproject.toml +27 -0
- package/skills/local-places/src/local_places/__init__.py +2 -0
- package/skills/local-places/src/local_places/google_places.py +314 -0
- package/skills/local-places/src/local_places/main.py +65 -0
- package/skills/local-places/src/local_places/schemas.py +107 -0
- package/skills/marketing-reporter/SKILL.md +221 -0
- package/skills/mcporter/SKILL.md +38 -0
- package/skills/model-usage/SKILL.md +45 -0
- package/skills/model-usage/references/codexbar-cli.md +28 -0
- package/skills/model-usage/scripts/model_usage.py +310 -0
- package/skills/nano-banana-pro/SKILL.md +30 -0
- package/skills/nano-banana-pro/scripts/generate_image.py +169 -0
- package/skills/nano-pdf/SKILL.md +20 -0
- package/skills/notion/SKILL.md +156 -0
- package/skills/obsidian/SKILL.md +55 -0
- package/skills/openai-image-gen/SKILL.md +71 -0
- package/skills/openai-image-gen/scripts/gen.py +240 -0
- package/skills/openai-whisper/SKILL.md +19 -0
- package/skills/openai-whisper-api/SKILL.md +43 -0
- package/skills/openai-whisper-api/scripts/transcribe.sh +85 -0
- package/skills/openhue/SKILL.md +30 -0
- package/skills/oracle/SKILL.md +105 -0
- package/skills/ordercli/SKILL.md +47 -0
- package/skills/peekaboo/SKILL.md +153 -0
- package/skills/sag/SKILL.md +62 -0
- package/skills/search-console/SKILL.md +288 -0
- package/skills/session-logs/SKILL.md +105 -0
- package/skills/sherpa-onnx-tts/SKILL.md +49 -0
- package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +178 -0
- package/skills/skill-creator/SKILL.md +371 -0
- package/skills/skill-creator/license.txt +202 -0
- package/skills/skill-creator/scripts/init_skill.py +378 -0
- package/skills/skill-creator/scripts/package_skill.py +111 -0
- package/skills/skill-creator/scripts/quick_validate.py +101 -0
- package/skills/slack/SKILL.md +144 -0
- package/skills/social-posting/SKILL.md +311 -0
- package/skills/songsee/SKILL.md +29 -0
- package/skills/sonoscli/SKILL.md +26 -0
- package/skills/spotify-player/SKILL.md +34 -0
- package/skills/summarize/SKILL.md +67 -0
- package/skills/things-mac/SKILL.md +61 -0
- package/skills/tmux/SKILL.md +121 -0
- package/skills/tmux/scripts/find-sessions.sh +112 -0
- package/skills/tmux/scripts/wait-for-text.sh +83 -0
- package/skills/trello/SKILL.md +84 -0
- package/skills/video-frames/SKILL.md +29 -0
- package/skills/video-frames/scripts/frame.sh +81 -0
- package/skills/voice-call/SKILL.md +35 -0
- package/skills/wacli/SKILL.md +42 -0
- package/skills/weather/SKILL.md +49 -0
|
@@ -0,0 +1,1572 @@
|
|
|
1
|
+
# Gas Town: Multi-Agent Orchestration System
|
|
2
|
+
#
|
|
3
|
+
# A "Kubernetes for agents" - an industrialized coding factory
|
|
4
|
+
# with 7 worker roles coordinating through persistent state.
|
|
5
|
+
#
|
|
6
|
+
# Based on Steve Yegge's Gas Town architecture (2025-2026).
|
|
7
|
+
#
|
|
8
|
+
# =============================================================================
|
|
9
|
+
# THE MEOW STACK: Molecular Expression of Work
|
|
10
|
+
# =============================================================================
|
|
11
|
+
#
|
|
12
|
+
# Gas Town is built on the MEOW stack - a discovery about how to express
|
|
13
|
+
# and compose knowledge work for AI agents:
|
|
14
|
+
#
|
|
15
|
+
# 1. BEADS - Atomic work units (issues) stored in Git-backed JSON
|
|
16
|
+
# - ID, description, status, assignee, dependencies
|
|
17
|
+
# - Two tiers: Rig beads (project work) and Town beads (orchestration)
|
|
18
|
+
#
|
|
19
|
+
# 2. EPICS - Beads with children, for top-down planning
|
|
20
|
+
# - Children are parallel by default
|
|
21
|
+
# - Explicit dependencies force sequencing
|
|
22
|
+
#
|
|
23
|
+
# 3. MOLECULES - Workflows encoded as chains of beads
|
|
24
|
+
# - Arbitrary shapes with loops and gates
|
|
25
|
+
# - Turing-complete when combined with AI evaluation
|
|
26
|
+
# - Each step has acceptance criteria
|
|
27
|
+
#
|
|
28
|
+
# 4. PROTOMOLECULES - Templates/classes for molecules
|
|
29
|
+
# - Define workflow shapes in advance
|
|
30
|
+
# - Instantiate with variable substitution
|
|
31
|
+
# - E.g., 20-step release process as a template
|
|
32
|
+
#
|
|
33
|
+
# 5. FORMULAS - Source form for workflows (TOML)
|
|
34
|
+
# - "Cooked" into protomolecules
|
|
35
|
+
# - Support loops, gates, composition
|
|
36
|
+
# - Marketplace: "Mol Mall"
|
|
37
|
+
#
|
|
38
|
+
# 6. WISPS - Ephemeral beads (vapor phase)
|
|
39
|
+
# - In database but NOT written to Git
|
|
40
|
+
# - Used for patrol orchestration
|
|
41
|
+
# - Burned (destroyed) after completion
|
|
42
|
+
# - Optionally squashed to single-line digest
|
|
43
|
+
#
|
|
44
|
+
# =============================================================================
|
|
45
|
+
# KEY CONCEPTS
|
|
46
|
+
# =============================================================================
|
|
47
|
+
#
|
|
48
|
+
# GUPP: Gas Town Universal Propulsion Principle
|
|
49
|
+
# "If there is work on your hook, YOU MUST RUN IT"
|
|
50
|
+
# Physics over politeness. No waiting for permission.
|
|
51
|
+
#
|
|
52
|
+
# NDI: Nondeterministic Idempotence
|
|
53
|
+
# - Agent is persistent (Bead in Git)
|
|
54
|
+
# - Hook is persistent (Bead in Git)
|
|
55
|
+
# - Molecule is persistent (chain of Beads in Git)
|
|
56
|
+
# - Path is nondeterministic but outcome is guaranteed
|
|
57
|
+
# - Crashes don't matter - new session picks up where left off
|
|
58
|
+
#
|
|
59
|
+
# CONVOYS: Work-order units tracking delivery
|
|
60
|
+
# - Wraps beads into trackable delivery units
|
|
61
|
+
# - Multiple swarms can "attack" a convoy
|
|
62
|
+
# - Lands when all beads complete and MRs merge
|
|
63
|
+
#
|
|
64
|
+
# PATROLS: Ephemeral workflows run in loops by patrol agents
|
|
65
|
+
# - Use wisps (not persisted to Git)
|
|
66
|
+
# - Exponential backoff when idle
|
|
67
|
+
# - Deacon → Witness → Polecats/Refinery
|
|
68
|
+
#
|
|
69
|
+
# =============================================================================
|
|
70
|
+
# PERSISTENT STATE (in .prose/gas-town/)
|
|
71
|
+
# =============================================================================
|
|
72
|
+
#
|
|
73
|
+
# Town-level (orchestration):
|
|
74
|
+
# town-beads.jsonl - Town-level beads
|
|
75
|
+
# patrol-state.json - Deacon/Witness/Refinery patrol state
|
|
76
|
+
# activity-feed.jsonl - Live activity stream
|
|
77
|
+
# plugins/town/ - Town-level plugins
|
|
78
|
+
#
|
|
79
|
+
# Per-rig (project work):
|
|
80
|
+
# rigs/{name}/
|
|
81
|
+
# rig-beads.jsonl - Rig-level beads
|
|
82
|
+
# hooks/ - Worker hooks (GUPP)
|
|
83
|
+
# mail/ - Worker inboxes
|
|
84
|
+
# polecats/ - Polecat state
|
|
85
|
+
# merge-queue.json - Pending MRs
|
|
86
|
+
# plugins/ - Rig-level plugins
|
|
87
|
+
#
|
|
88
|
+
# Shared:
|
|
89
|
+
# convoys/ - Active work orders
|
|
90
|
+
# archive/ - Completed convoys
|
|
91
|
+
# workers/ - Worker identity beads (persistent)
|
|
92
|
+
# formulas/ - Workflow templates
|
|
93
|
+
# wisps/ - Ephemeral orchestration (not in Git)
|
|
94
|
+
#
|
|
95
|
+
# This example assumes persistent file-based state is enabled.
|
|
96
|
+
|
|
97
|
+
# =============================================================================
|
|
98
|
+
# AGENT DEFINITIONS: The 7 Worker Roles
|
|
99
|
+
# =============================================================================
|
|
100
|
+
|
|
101
|
+
# The Mayor: Your concierge and chief-of-staff
|
|
102
|
+
# Main agent you interact with, kicks off most work convoys
|
|
103
|
+
agent mayor:
|
|
104
|
+
model: sonnet # Orchestration role - sonnet excels here
|
|
105
|
+
persist: project # Survives across runs - your long-term concierge
|
|
106
|
+
prompt: """
|
|
107
|
+
You are the Mayor of Gas Town, the user's concierge and chief-of-staff.
|
|
108
|
+
|
|
109
|
+
Your responsibilities:
|
|
110
|
+
- Receive requests from the Overseer (user) and translate them into work
|
|
111
|
+
- File beads (issues) and sling work to appropriate workers
|
|
112
|
+
- Track convoy status and notify when work lands
|
|
113
|
+
- Manage the big picture while polecats handle details
|
|
114
|
+
- Help keep Gas Town running smoothly
|
|
115
|
+
|
|
116
|
+
Key commands you use:
|
|
117
|
+
- gt sling <bead> <worker> - Send work to a worker's hook
|
|
118
|
+
- gt convoy create <name> - Start tracking a unit of work
|
|
119
|
+
- gt mail send <worker> <message> - Send messages to workers
|
|
120
|
+
- gt handoff - Gracefully restart your session
|
|
121
|
+
|
|
122
|
+
Remember GUPP: If there is work on your hook, YOU MUST RUN IT.
|
|
123
|
+
Physics over politeness. Check your hook on startup.
|
|
124
|
+
"""
|
|
125
|
+
|
|
126
|
+
# Polecats: Ephemeral workers that swarm on work
|
|
127
|
+
# Spin up on demand, produce Merge Requests, then decommission
|
|
128
|
+
agent polecat:
|
|
129
|
+
model: sonnet
|
|
130
|
+
prompt: """
|
|
131
|
+
You are a Polecat - an ephemeral worker in Gas Town.
|
|
132
|
+
|
|
133
|
+
Your lifecycle:
|
|
134
|
+
1. Spin up when work is slung to you
|
|
135
|
+
2. Execute the molecule (workflow) on your hook
|
|
136
|
+
3. Produce a Merge Request when code changes are ready
|
|
137
|
+
4. Hand off to the Merge Queue
|
|
138
|
+
5. Decommission (your name gets recycled)
|
|
139
|
+
|
|
140
|
+
Work style:
|
|
141
|
+
- Focus on ONE task at a time from your hook
|
|
142
|
+
- Follow the molecule step by step
|
|
143
|
+
- Create clean, atomic commits
|
|
144
|
+
- Submit MRs to the Refinery's merge queue
|
|
145
|
+
- Report status updates to the Witness
|
|
146
|
+
|
|
147
|
+
GUPP: If there is work on your hook, YOU MUST RUN IT.
|
|
148
|
+
No waiting for permission. Check hook, do work, submit MR.
|
|
149
|
+
"""
|
|
150
|
+
|
|
151
|
+
# Refinery: The Merge Queue processor
|
|
152
|
+
# Intelligently merges all changes one at a time to main
|
|
153
|
+
agent refinery:
|
|
154
|
+
model: sonnet # Orchestration role - merge queue is control flow
|
|
155
|
+
persist: true # Execution-scoped - maintains MQ state within run
|
|
156
|
+
prompt: """
|
|
157
|
+
You are the Refinery - Gas Town's merge queue processor.
|
|
158
|
+
|
|
159
|
+
Your patrol loop:
|
|
160
|
+
1. Preflight: Clean workspace, fetch latest
|
|
161
|
+
2. Process: Merge one MR at a time, intelligently
|
|
162
|
+
3. Handle conflicts: Reimagine changes against new head if needed
|
|
163
|
+
4. Run quality gates: Tests, lint, type checks
|
|
164
|
+
5. Postflight: Update convoy status, notify completion
|
|
165
|
+
|
|
166
|
+
Merge strategy:
|
|
167
|
+
- Process MRs in priority order (convoys can set priority)
|
|
168
|
+
- No work can be lost (escalate if truly unmergeable)
|
|
169
|
+
- Rebase against latest main before each merge
|
|
170
|
+
- Run full CI validation before completing merge
|
|
171
|
+
|
|
172
|
+
GUPP applies to your patrol: If MQ has items, PROCESS THEM.
|
|
173
|
+
"""
|
|
174
|
+
|
|
175
|
+
# Witness: Watches over polecats and helps them get unstuck
|
|
176
|
+
# A patrol agent that monitors swarm health
|
|
177
|
+
agent witness:
|
|
178
|
+
model: sonnet
|
|
179
|
+
persist: true # Execution-scoped - tracks polecat health within run
|
|
180
|
+
prompt: """
|
|
181
|
+
You are the Witness - Gas Town's swarm health monitor.
|
|
182
|
+
|
|
183
|
+
Your patrol loop:
|
|
184
|
+
1. Check polecat wellbeing - are they stuck? crashed?
|
|
185
|
+
2. Nudge stuck polecats to continue their molecules
|
|
186
|
+
3. Monitor refinery progress - is the MQ flowing?
|
|
187
|
+
4. Peek at the Deacon - make sure it's not stuck
|
|
188
|
+
5. Run rig-level plugins
|
|
189
|
+
6. Recycle long-running polecats before context exhaustion
|
|
190
|
+
|
|
191
|
+
Intervention strategy:
|
|
192
|
+
- gt nudge <polecat> - Wake up a stuck worker
|
|
193
|
+
- gt seance <polecat> - Talk to predecessor if state lost
|
|
194
|
+
- Escalate to Mayor if systemic issues
|
|
195
|
+
- Keep convoys moving toward landing
|
|
196
|
+
|
|
197
|
+
GUPP: Your patrol IS your hook. Keep running it.
|
|
198
|
+
"""
|
|
199
|
+
|
|
200
|
+
# Deacon: The daemon beacon - propagates heartbeat through the system
|
|
201
|
+
# Named for Dennis Hopper's Waterworld character
|
|
202
|
+
agent deacon:
|
|
203
|
+
model: sonnet
|
|
204
|
+
persist: true # Execution-scoped - maintains patrol state within run
|
|
205
|
+
prompt: """
|
|
206
|
+
You are the Deacon - Gas Town's daemon beacon.
|
|
207
|
+
|
|
208
|
+
Your patrol loop (pinged every ~2 minutes by the daemon):
|
|
209
|
+
1. Check town health - all systems nominal?
|
|
210
|
+
2. Propagate DYFJ (Do Your F***ing Job) signal downward
|
|
211
|
+
3. Nudge witnesses to check on their rigs
|
|
212
|
+
4. Run town-level plugins
|
|
213
|
+
5. Manage worker recycling and cleanup
|
|
214
|
+
6. Delegate complex investigations to Dogs
|
|
215
|
+
|
|
216
|
+
Signal propagation:
|
|
217
|
+
- Deacon -> Witnesses -> Polecats/Refinery
|
|
218
|
+
- Exponential backoff when idle (save resources)
|
|
219
|
+
- Any mutating command wakes the town
|
|
220
|
+
|
|
221
|
+
Hand off complex work to Dogs - don't get bogged down.
|
|
222
|
+
GUPP: The daemon will ping you. Run your patrol.
|
|
223
|
+
"""
|
|
224
|
+
|
|
225
|
+
# Dogs: The Deacon's personal crew (inspired by MI5's "Dogs")
|
|
226
|
+
# Handle maintenance and handyman work for the Deacon
|
|
227
|
+
agent dog:
|
|
228
|
+
model: sonnet
|
|
229
|
+
prompt: """
|
|
230
|
+
You are a Dog - one of the Deacon's personal crew.
|
|
231
|
+
|
|
232
|
+
Your responsibilities:
|
|
233
|
+
- Maintenance tasks (clean stale branches, prune old convoys)
|
|
234
|
+
- Plugin execution on behalf of the Deacon
|
|
235
|
+
- Investigation and troubleshooting
|
|
236
|
+
- Long-running tasks that would block the Deacon's patrol
|
|
237
|
+
|
|
238
|
+
Work style:
|
|
239
|
+
- Receive work from Deacon via mail or hook
|
|
240
|
+
- Execute thoroughly without time pressure
|
|
241
|
+
- Report findings back to Deacon
|
|
242
|
+
- Go back to sleep when done
|
|
243
|
+
|
|
244
|
+
Special dog Boot: Awakened every 5 minutes just to check on Deacon.
|
|
245
|
+
Decides if Deacon needs a heartbeat, nudge, restart, or to be left alone.
|
|
246
|
+
|
|
247
|
+
GUPP: If work is on your hook, do it. Then sleep.
|
|
248
|
+
"""
|
|
249
|
+
|
|
250
|
+
# Crew: Per-rig coding agents that work for the Overseer
|
|
251
|
+
# Long-lived identities, great for design work with back-and-forth
|
|
252
|
+
agent crew:
|
|
253
|
+
model: opus # Hard/difficult work - design requires deep reasoning
|
|
254
|
+
persist: project # Survives across runs - maintains design context
|
|
255
|
+
prompt: """
|
|
256
|
+
You are a Crew member - a named, long-lived coding agent.
|
|
257
|
+
|
|
258
|
+
Unlike polecats (ephemeral), you have a persistent identity.
|
|
259
|
+
You work directly for the Overseer (the human).
|
|
260
|
+
|
|
261
|
+
Your work style:
|
|
262
|
+
- Handle design work, architecture discussions
|
|
263
|
+
- Iterative development with feedback loops
|
|
264
|
+
- Can sling work to polecats for implementation
|
|
265
|
+
- Maintain context across many sessions via handoff
|
|
266
|
+
|
|
267
|
+
You can:
|
|
268
|
+
- gt sling <bead> polecat - Delegate implementation
|
|
269
|
+
- gt convoy create - Start tracking work
|
|
270
|
+
- gt mail mayor "status update" - Keep mayor informed
|
|
271
|
+
- gt handoff - Gracefully continue in new session
|
|
272
|
+
|
|
273
|
+
GUPP applies but you often wait for Overseer input.
|
|
274
|
+
"""
|
|
275
|
+
|
|
276
|
+
# =============================================================================
|
|
277
|
+
# BLOCK DEFINITIONS: Reusable Gas Town Workflows
|
|
278
|
+
# =============================================================================
|
|
279
|
+
|
|
280
|
+
# GUPP Check: The core propulsion check every worker runs
|
|
281
|
+
block gupp_check(worker_name):
|
|
282
|
+
session "Check if {worker_name} has work hooked"
|
|
283
|
+
prompt: """
|
|
284
|
+
Read .prose/gas-town/hooks/{worker_name}.json
|
|
285
|
+
If hook has a molecule, return the first uncompleted step.
|
|
286
|
+
If hook is empty, return "NO_WORK".
|
|
287
|
+
"""
|
|
288
|
+
|
|
289
|
+
# Patrol Step: Execute a single patrol step
|
|
290
|
+
block patrol_step(patrol_name, step_number, step_description):
|
|
291
|
+
session "{patrol_name} patrol step {step_number}: {step_description}"
|
|
292
|
+
session "Update patrol state with step {step_number} completion"
|
|
293
|
+
prompt: """
|
|
294
|
+
Update .prose/gas-town/patrol-state.json:
|
|
295
|
+
- Set {patrol_name}.current_step = {step_number}
|
|
296
|
+
- Set {patrol_name}.last_completed = now()
|
|
297
|
+
- If all steps done, set {patrol_name}.patrol_complete = true
|
|
298
|
+
"""
|
|
299
|
+
|
|
300
|
+
# Sling Work: Send work to a worker's hook
|
|
301
|
+
block sling_work(bead_id, target_worker):
|
|
302
|
+
session "Sling bead {bead_id} to {target_worker}"
|
|
303
|
+
prompt: """
|
|
304
|
+
1. Read .prose/gas-town/beads/{bead_id}.json
|
|
305
|
+
2. Add to .prose/gas-town/hooks/{target_worker}.json
|
|
306
|
+
3. Send nudge message to {target_worker}
|
|
307
|
+
4. Return confirmation
|
|
308
|
+
"""
|
|
309
|
+
|
|
310
|
+
# Create Convoy: Start tracking a unit of work
|
|
311
|
+
block create_convoy(convoy_name, initial_beads):
|
|
312
|
+
session "Create convoy: {convoy_name}"
|
|
313
|
+
prompt: """
|
|
314
|
+
1. Generate convoy ID (timestamp + random)
|
|
315
|
+
2. Create .prose/gas-town/convoys/{convoy_id}.json with:
|
|
316
|
+
- name: {convoy_name}
|
|
317
|
+
- status: "active"
|
|
318
|
+
- beads: {initial_beads}
|
|
319
|
+
- created: now()
|
|
320
|
+
3. Return convoy ID
|
|
321
|
+
"""
|
|
322
|
+
|
|
323
|
+
# Land Convoy: Mark a convoy as complete
|
|
324
|
+
block land_convoy(convoy_id):
|
|
325
|
+
session "Land convoy {convoy_id}"
|
|
326
|
+
prompt: """
|
|
327
|
+
1. Update .prose/gas-town/convoys/{convoy_id}.json:
|
|
328
|
+
- status: "landed"
|
|
329
|
+
- landed_at: now()
|
|
330
|
+
2. Notify Mayor that convoy has landed
|
|
331
|
+
3. Archive convoy to .prose/gas-town/convoys/archive/
|
|
332
|
+
"""
|
|
333
|
+
|
|
334
|
+
# Handoff: Gracefully transition to new session
|
|
335
|
+
# Note: For persistent agents (persist: true/project), use `resume:` instead
|
|
336
|
+
# of this block - it handles memory loading automatically.
|
|
337
|
+
block handoff(worker_name, continuation_notes):
|
|
338
|
+
session "{worker_name} preparing handoff"
|
|
339
|
+
prompt: """
|
|
340
|
+
1. Write continuation state to hook:
|
|
341
|
+
.prose/gas-town/hooks/{worker_name}.json
|
|
342
|
+
Include: {continuation_notes}
|
|
343
|
+
2. Send mail to self with handoff summary
|
|
344
|
+
3. Signal ready for session restart
|
|
345
|
+
"""
|
|
346
|
+
session "Execute gt handoff to restart session"
|
|
347
|
+
|
|
348
|
+
# =============================================================================
|
|
349
|
+
# GT COMMANDS: Core Gas Town Operations
|
|
350
|
+
# =============================================================================
|
|
351
|
+
|
|
352
|
+
# gt nudge: Wake up a worker that may be stuck
|
|
353
|
+
# Workers sometimes don't follow GUPP automatically - nudge kicks them
|
|
354
|
+
block gt_nudge(worker_name):
|
|
355
|
+
session "Nudge {worker_name} to check hook and continue"
|
|
356
|
+
prompt: """
|
|
357
|
+
Send wake-up signal to {worker_name}:
|
|
358
|
+
1. Send tmux notification to worker's pane
|
|
359
|
+
2. Message content: "GUPP check - if work on hook, run it"
|
|
360
|
+
3. Log nudge to activity feed
|
|
361
|
+
4. Return confirmation
|
|
362
|
+
|
|
363
|
+
The nudge bypasses Claude Code's politeness - worker will
|
|
364
|
+
check hook regardless of what you type.
|
|
365
|
+
"""
|
|
366
|
+
|
|
367
|
+
# gt seance: Talk to a worker's predecessor (dead ancestor)
|
|
368
|
+
# Uses Claude Code's /resume to communicate with previous sessions
|
|
369
|
+
block gt_seance(worker_name, question):
|
|
370
|
+
session "Seance: {worker_name} talking to predecessor"
|
|
371
|
+
prompt: """
|
|
372
|
+
Talk to {worker_name}'s previous session:
|
|
373
|
+
1. Find last session ID from .prose/gas-town/workers/{worker_name}.json
|
|
374
|
+
2. Use /resume to reconnect to that session
|
|
375
|
+
3. Ask: "{question}"
|
|
376
|
+
4. Capture the response
|
|
377
|
+
5. Return findings to current session
|
|
378
|
+
|
|
379
|
+
This is useful when:
|
|
380
|
+
- State was lost during handoff
|
|
381
|
+
- Predecessor said "I left X for you" but you can't find it
|
|
382
|
+
- Need context from previous work
|
|
383
|
+
"""
|
|
384
|
+
|
|
385
|
+
# gt mail send: Send message to a worker's inbox
|
|
386
|
+
block gt_mail_send(from_worker, to_worker, message):
|
|
387
|
+
session "Mail: {from_worker} -> {to_worker}"
|
|
388
|
+
prompt: """
|
|
389
|
+
Send mail message:
|
|
390
|
+
1. Create mail entry with timestamp, from, to, message
|
|
391
|
+
2. Append to .prose/gas-town/rigs/*/mail/{to_worker}.json
|
|
392
|
+
(or town-level mail for town workers)
|
|
393
|
+
3. If to_worker is active, send nudge
|
|
394
|
+
4. Log to activity feed
|
|
395
|
+
5. Return message ID
|
|
396
|
+
"""
|
|
397
|
+
|
|
398
|
+
# gt mail check: Read messages from inbox
|
|
399
|
+
block gt_mail_check(worker_name):
|
|
400
|
+
session "Check mail for {worker_name}"
|
|
401
|
+
prompt: """
|
|
402
|
+
Read mail inbox:
|
|
403
|
+
1. Read .prose/gas-town/rigs/*/mail/{worker_name}.json
|
|
404
|
+
2. Also check town-level mail
|
|
405
|
+
3. Return unread messages sorted by timestamp
|
|
406
|
+
4. Mark as read after returning
|
|
407
|
+
"""
|
|
408
|
+
|
|
409
|
+
# =============================================================================
|
|
410
|
+
# WISP OPERATIONS: Ephemeral Orchestration Beads
|
|
411
|
+
# =============================================================================
|
|
412
|
+
|
|
413
|
+
# Create a wisp (ephemeral bead - not persisted to Git)
|
|
414
|
+
block create_wisp(wisp_type, content):
|
|
415
|
+
session "Create wisp: {wisp_type}"
|
|
416
|
+
prompt: """
|
|
417
|
+
Create ephemeral bead (wisp):
|
|
418
|
+
1. Generate wisp ID (timestamp + random)
|
|
419
|
+
2. Write to .prose/gas-town/wisps/{wisp_id}.json:
|
|
420
|
+
- type: {wisp_type}
|
|
421
|
+
- content: {content}
|
|
422
|
+
- created: now()
|
|
423
|
+
- ephemeral: true
|
|
424
|
+
3. DO NOT add to Git staging
|
|
425
|
+
4. Return wisp ID
|
|
426
|
+
|
|
427
|
+
Wisps are for:
|
|
428
|
+
- Patrol orchestration
|
|
429
|
+
- Temporary workflow state
|
|
430
|
+
- High-velocity operations that would pollute Git
|
|
431
|
+
"""
|
|
432
|
+
|
|
433
|
+
# Burn a wisp (destroy after use)
|
|
434
|
+
block burn_wisp(wisp_id, create_digest):
|
|
435
|
+
session "Burn wisp {wisp_id}"
|
|
436
|
+
prompt: """
|
|
437
|
+
Destroy ephemeral bead:
|
|
438
|
+
1. Read .prose/gas-town/wisps/{wisp_id}.json
|
|
439
|
+
2. If {create_digest} is true:
|
|
440
|
+
- Squash to single-line summary
|
|
441
|
+
- Append to .prose/gas-town/wisp-digest.jsonl (this IS in Git)
|
|
442
|
+
3. Delete the wisp file
|
|
443
|
+
4. Return confirmation
|
|
444
|
+
"""
|
|
445
|
+
|
|
446
|
+
# =============================================================================
|
|
447
|
+
# ACTIVITY FEED: Live Status Dashboard
|
|
448
|
+
# =============================================================================
|
|
449
|
+
|
|
450
|
+
# Log to activity feed
|
|
451
|
+
block log_activity(worker_name, activity_type, details):
|
|
452
|
+
session "Log activity: {worker_name} - {activity_type}"
|
|
453
|
+
prompt: """
|
|
454
|
+
Append to activity feed:
|
|
455
|
+
1. Create entry:
|
|
456
|
+
- timestamp: now()
|
|
457
|
+
- worker: {worker_name}
|
|
458
|
+
- type: {activity_type}
|
|
459
|
+
- details: {details}
|
|
460
|
+
2. Append to .prose/gas-town/activity-feed.jsonl
|
|
461
|
+
3. If watching dashboard is active, send update
|
|
462
|
+
"""
|
|
463
|
+
|
|
464
|
+
# Read activity feed
|
|
465
|
+
block get_activity_feed(since_timestamp, worker_filter):
|
|
466
|
+
session "Get activity feed"
|
|
467
|
+
prompt: """
|
|
468
|
+
Read activity feed:
|
|
469
|
+
1. Read .prose/gas-town/activity-feed.jsonl
|
|
470
|
+
2. Filter to entries after {since_timestamp}
|
|
471
|
+
3. If {worker_filter} specified, filter to that worker
|
|
472
|
+
4. Return entries (most recent first, limit 100)
|
|
473
|
+
"""
|
|
474
|
+
|
|
475
|
+
# =============================================================================
|
|
476
|
+
# SWARM OPERATIONS: Polecat Allocation and Management
|
|
477
|
+
# =============================================================================
|
|
478
|
+
|
|
479
|
+
# Spawn a swarm of polecats for a convoy
|
|
480
|
+
block spawn_swarm(convoy_id, bead_ids, max_polecats):
|
|
481
|
+
session "Spawn swarm for convoy {convoy_id}"
|
|
482
|
+
prompt: """
|
|
483
|
+
Allocate polecats to work on convoy:
|
|
484
|
+
1. Read available polecat slots (max {max_polecats}, usually 30)
|
|
485
|
+
2. For each bead in {bead_ids}:
|
|
486
|
+
- Check if dependencies are met
|
|
487
|
+
- If ready, allocate a polecat
|
|
488
|
+
- Sling bead to polecat's hook
|
|
489
|
+
3. Create swarm tracking entry:
|
|
490
|
+
.prose/gas-town/convoys/{convoy_id}/swarm.json
|
|
491
|
+
4. Notify Witness of new swarm
|
|
492
|
+
5. Return swarm status (polecats allocated, beads queued)
|
|
493
|
+
"""
|
|
494
|
+
|
|
495
|
+
# Check swarm health
|
|
496
|
+
block check_swarm_health(convoy_id):
|
|
497
|
+
session "Check swarm health for {convoy_id}"
|
|
498
|
+
prompt: """
|
|
499
|
+
Assess swarm status:
|
|
500
|
+
1. Read .prose/gas-town/convoys/{convoy_id}/swarm.json
|
|
501
|
+
2. For each allocated polecat:
|
|
502
|
+
- Check last_activity timestamp
|
|
503
|
+
- Check hook status (working/stuck/complete)
|
|
504
|
+
- Check if context exhaustion imminent
|
|
505
|
+
3. Return health report:
|
|
506
|
+
- active_polecats: N
|
|
507
|
+
- stuck_polecats: [list]
|
|
508
|
+
- beads_completed: N
|
|
509
|
+
- beads_remaining: N
|
|
510
|
+
- estimated_completion: timestamp
|
|
511
|
+
"""
|
|
512
|
+
|
|
513
|
+
# Recycle exhausted polecats (prevent context exhaustion)
|
|
514
|
+
block recycle_polecat(polecat_id, rig_name):
|
|
515
|
+
session "Recycle polecat {polecat_id}"
|
|
516
|
+
prompt: """
|
|
517
|
+
Gracefully recycle polecat before context exhaustion:
|
|
518
|
+
1. Read current molecule state from hook
|
|
519
|
+
2. Trigger handoff for polecat
|
|
520
|
+
3. Wait for new session to spin up
|
|
521
|
+
4. Verify hook is picked up by new session
|
|
522
|
+
5. Update swarm tracking
|
|
523
|
+
6. Return confirmation
|
|
524
|
+
"""
|
|
525
|
+
|
|
526
|
+
# =============================================================================
|
|
527
|
+
# FORMULA AND MOLECULE OPERATIONS
|
|
528
|
+
# =============================================================================
|
|
529
|
+
|
|
530
|
+
# Cook a formula into a protomolecule
|
|
531
|
+
block cook_formula(formula_name):
|
|
532
|
+
session "Cook formula: {formula_name}"
|
|
533
|
+
prompt: """
|
|
534
|
+
Transform formula into protomolecule:
|
|
535
|
+
1. Read .prose/gas-town/formulas/{formula_name}.toml
|
|
536
|
+
2. Parse formula structure (steps, loops, gates)
|
|
537
|
+
3. Expand loops and conditionals
|
|
538
|
+
4. Generate protomolecule beads (templates)
|
|
539
|
+
5. Write to .prose/gas-town/protomolecules/{formula_name}/
|
|
540
|
+
6. Return protomolecule ID
|
|
541
|
+
"""
|
|
542
|
+
|
|
543
|
+
# Instantiate a protomolecule into a working molecule
|
|
544
|
+
block instantiate_molecule(protomolecule_id, variables):
|
|
545
|
+
session "Instantiate molecule from {protomolecule_id}"
|
|
546
|
+
prompt: """
|
|
547
|
+
Create working molecule from template:
|
|
548
|
+
1. Read .prose/gas-town/protomolecules/{protomolecule_id}/
|
|
549
|
+
2. Copy all template beads
|
|
550
|
+
3. Perform variable substitution with {variables}
|
|
551
|
+
4. Generate unique IDs for each bead
|
|
552
|
+
5. Link beads according to dependency graph
|
|
553
|
+
6. Write molecule to rig's bead database
|
|
554
|
+
7. Return molecule ID and first step
|
|
555
|
+
"""
|
|
556
|
+
|
|
557
|
+
# The "Rule of Five" formula composer
|
|
558
|
+
# Makes each step get reviewed 4 additional times (5 total)
|
|
559
|
+
block compose_rule_of_five(base_molecule_id):
|
|
560
|
+
session "Apply Rule of Five to molecule"
|
|
561
|
+
prompt: """
|
|
562
|
+
Wrap molecule with 5x review pattern:
|
|
563
|
+
1. Read molecule {base_molecule_id}
|
|
564
|
+
2. For each step in molecule:
|
|
565
|
+
- Keep original step (review #1)
|
|
566
|
+
- Add 4 review steps with different focus:
|
|
567
|
+
* Review #2: Correctness focus
|
|
568
|
+
* Review #3: Edge cases focus
|
|
569
|
+
* Review #4: Performance focus
|
|
570
|
+
* Review #5: Security focus
|
|
571
|
+
3. Chain reviews to gate original step completion
|
|
572
|
+
4. Return enhanced molecule ID
|
|
573
|
+
|
|
574
|
+
This generates superior outcomes per Jeffrey Emanuel's observation.
|
|
575
|
+
"""
|
|
576
|
+
|
|
577
|
+
# =============================================================================
|
|
578
|
+
# RIG MANAGEMENT
|
|
579
|
+
# =============================================================================
|
|
580
|
+
|
|
581
|
+
# Add a rig to Gas Town management
|
|
582
|
+
block gt_rig_add(rig_name, repo_path):
|
|
583
|
+
session "Add rig: {rig_name}"
|
|
584
|
+
prompt: """
|
|
585
|
+
Add project to Gas Town:
|
|
586
|
+
1. Verify {repo_path} is a valid Git repo
|
|
587
|
+
2. Create .prose/gas-town/rigs/{rig_name}/ structure:
|
|
588
|
+
- rig-beads.jsonl
|
|
589
|
+
- hooks/
|
|
590
|
+
- mail/
|
|
591
|
+
- polecats/
|
|
592
|
+
- merge-queue.json
|
|
593
|
+
- plugins/
|
|
594
|
+
3. Initialize witness for this rig
|
|
595
|
+
4. Initialize refinery for this rig
|
|
596
|
+
5. Add to town's rig registry
|
|
597
|
+
6. Return confirmation
|
|
598
|
+
"""
|
|
599
|
+
|
|
600
|
+
# List all rigs
|
|
601
|
+
block gt_rig_list:
|
|
602
|
+
session "List all rigs"
|
|
603
|
+
prompt: """
|
|
604
|
+
List Gas Town rigs:
|
|
605
|
+
1. Read .prose/gas-town/rigs/
|
|
606
|
+
2. For each rig, report:
|
|
607
|
+
- name
|
|
608
|
+
- repo path
|
|
609
|
+
- active polecats
|
|
610
|
+
- pending MRs
|
|
611
|
+
- active convoys
|
|
612
|
+
3. Return formatted list
|
|
613
|
+
"""
|
|
614
|
+
|
|
615
|
+
# War Rig: A rig's contribution to a cross-rig convoy
|
|
616
|
+
block war_rig_status(rig_name, convoy_id):
|
|
617
|
+
session "War Rig status: {rig_name} for {convoy_id}"
|
|
618
|
+
prompt: """
|
|
619
|
+
Get rig's contribution to cross-rig convoy:
|
|
620
|
+
1. Read convoy {convoy_id}
|
|
621
|
+
2. Filter to beads assigned to {rig_name}
|
|
622
|
+
3. Report:
|
|
623
|
+
- Beads completed
|
|
624
|
+
- Beads in progress
|
|
625
|
+
- MRs pending merge
|
|
626
|
+
- Blockers
|
|
627
|
+
4. Return War Rig summary
|
|
628
|
+
"""
|
|
629
|
+
|
|
630
|
+
# =============================================================================
|
|
631
|
+
# THE DEACON'S PATROL: Town-level orchestration heartbeat
|
|
632
|
+
# =============================================================================
|
|
633
|
+
|
|
634
|
+
block deacon_patrol:
|
|
635
|
+
# Step 1: Check town health
|
|
636
|
+
do patrol_step("deacon", 1, "Check town health")
|
|
637
|
+
session: deacon
|
|
638
|
+
prompt: """
|
|
639
|
+
Scan Gas Town health:
|
|
640
|
+
- Read .prose/gas-town/patrol-state.json
|
|
641
|
+
- Check all workers have recent activity
|
|
642
|
+
- Identify any stuck or crashed workers
|
|
643
|
+
- Return health report
|
|
644
|
+
"""
|
|
645
|
+
|
|
646
|
+
# Step 2: Propagate DYFJ signal
|
|
647
|
+
do patrol_step("deacon", 2, "Propagate DYFJ to witnesses")
|
|
648
|
+
parallel (on-fail: "continue"):
|
|
649
|
+
session "Nudge witness for rig 1"
|
|
650
|
+
prompt: "Send DYFJ signal to witness-1"
|
|
651
|
+
session "Nudge witness for rig 2"
|
|
652
|
+
prompt: "Send DYFJ signal to witness-2"
|
|
653
|
+
|
|
654
|
+
# Step 3: Run town-level plugins
|
|
655
|
+
do patrol_step("deacon", 3, "Run town plugins")
|
|
656
|
+
let plugins_needed = session "Check for pending town plugins"
|
|
657
|
+
prompt: "Read .prose/gas-town/plugins/town/*.json, return pending"
|
|
658
|
+
|
|
659
|
+
if **there are plugins that need to run**:
|
|
660
|
+
session: deacon
|
|
661
|
+
prompt: "Sling plugin work to an available Dog"
|
|
662
|
+
context: plugins_needed
|
|
663
|
+
|
|
664
|
+
# Step 4: Cleanup and maintenance
|
|
665
|
+
do patrol_step("deacon", 4, "Delegate maintenance to Dogs")
|
|
666
|
+
session: deacon
|
|
667
|
+
prompt: """
|
|
668
|
+
Check if maintenance needed:
|
|
669
|
+
- Stale branches older than 7 days
|
|
670
|
+
- Orphaned convoys
|
|
671
|
+
- Log rotation
|
|
672
|
+
If needed, mail a Dog with maintenance tasks.
|
|
673
|
+
"""
|
|
674
|
+
|
|
675
|
+
# Step 5: Set backoff for next patrol
|
|
676
|
+
do patrol_step("deacon", 5, "Calculate patrol backoff")
|
|
677
|
+
session: deacon
|
|
678
|
+
prompt: """
|
|
679
|
+
Check activity level:
|
|
680
|
+
- If lots of active work: backoff = 30 seconds
|
|
681
|
+
- If moderate activity: backoff = 2 minutes
|
|
682
|
+
- If idle: double previous backoff (max 10 minutes)
|
|
683
|
+
Write backoff to .prose/gas-town/patrol-state.json
|
|
684
|
+
"""
|
|
685
|
+
|
|
686
|
+
# =============================================================================
|
|
687
|
+
# THE WITNESS'S PATROL: Rig-level swarm health monitoring
|
|
688
|
+
# =============================================================================
|
|
689
|
+
|
|
690
|
+
block witness_patrol(rig_name):
|
|
691
|
+
# Step 1: Check polecat wellbeing
|
|
692
|
+
do patrol_step("witness-{rig_name}", 1, "Check polecat health")
|
|
693
|
+
let polecat_status = session: witness
|
|
694
|
+
prompt: """
|
|
695
|
+
For rig {rig_name}, check all active polecats:
|
|
696
|
+
- Read .prose/gas-town/polecats/{rig_name}/*.json
|
|
697
|
+
- Check last_activity timestamp
|
|
698
|
+
- Identify stuck polecats (no activity > 5 minutes)
|
|
699
|
+
Return list of stuck polecats.
|
|
700
|
+
"""
|
|
701
|
+
|
|
702
|
+
# Step 2: Nudge stuck polecats
|
|
703
|
+
if **there are stuck polecats**:
|
|
704
|
+
do patrol_step("witness-{rig_name}", 2, "Nudge stuck polecats")
|
|
705
|
+
for polecat in polecat_status:
|
|
706
|
+
session: witness
|
|
707
|
+
prompt: "Execute gt nudge {polecat} for rig {rig_name}"
|
|
708
|
+
context: polecat
|
|
709
|
+
|
|
710
|
+
# Step 3: Check refinery progress
|
|
711
|
+
do patrol_step("witness-{rig_name}", 3, "Check merge queue")
|
|
712
|
+
let mq_status = session: witness
|
|
713
|
+
prompt: """
|
|
714
|
+
Check .prose/gas-town/merge-queue.json for {rig_name}:
|
|
715
|
+
- How many MRs pending?
|
|
716
|
+
- Is refinery processing?
|
|
717
|
+
- Any stuck MRs (age > 30 minutes)?
|
|
718
|
+
Return MQ health status.
|
|
719
|
+
"""
|
|
720
|
+
|
|
721
|
+
if **the merge queue is stuck**:
|
|
722
|
+
session: witness
|
|
723
|
+
prompt: "Nudge the refinery to process MQ for {rig_name}"
|
|
724
|
+
context: mq_status
|
|
725
|
+
|
|
726
|
+
# Step 4: Peek at Deacon
|
|
727
|
+
do patrol_step("witness-{rig_name}", 4, "Peek at Deacon")
|
|
728
|
+
session: witness
|
|
729
|
+
prompt: """
|
|
730
|
+
Quick check on Deacon:
|
|
731
|
+
- Read .prose/gas-town/patrol-state.json
|
|
732
|
+
- Is Deacon's last patrol > 10 minutes ago?
|
|
733
|
+
- If so, send alert to Mayor
|
|
734
|
+
"""
|
|
735
|
+
|
|
736
|
+
# Step 5: Run rig plugins
|
|
737
|
+
do patrol_step("witness-{rig_name}", 5, "Run rig plugins")
|
|
738
|
+
session: witness
|
|
739
|
+
prompt: """
|
|
740
|
+
Check .prose/gas-town/plugins/rig/{rig_name}/*.json
|
|
741
|
+
Run any pending plugins for this rig.
|
|
742
|
+
"""
|
|
743
|
+
|
|
744
|
+
# Step 6: Recycle exhausted polecats
|
|
745
|
+
do patrol_step("witness-{rig_name}", 6, "Recycle polecats")
|
|
746
|
+
session: witness
|
|
747
|
+
prompt: """
|
|
748
|
+
Check polecat session lengths:
|
|
749
|
+
- Any polecat running > 45 minutes?
|
|
750
|
+
- If so, trigger handoff before context exhaustion
|
|
751
|
+
- Ensure work continues on new session
|
|
752
|
+
"""
|
|
753
|
+
|
|
754
|
+
# =============================================================================
|
|
755
|
+
# THE REFINERY'S PATROL: Merge Queue Processing
|
|
756
|
+
# =============================================================================
|
|
757
|
+
|
|
758
|
+
block refinery_patrol(rig_name):
|
|
759
|
+
# Preflight: Clean workspace
|
|
760
|
+
do patrol_step("refinery-{rig_name}", 1, "Preflight checks")
|
|
761
|
+
session: refinery
|
|
762
|
+
prompt: """
|
|
763
|
+
Preflight for {rig_name}:
|
|
764
|
+
1. git fetch origin
|
|
765
|
+
2. git checkout main && git pull
|
|
766
|
+
3. Clean any uncommitted changes
|
|
767
|
+
4. Verify workspace is ready
|
|
768
|
+
"""
|
|
769
|
+
|
|
770
|
+
# Main loop: Process MQ until empty
|
|
771
|
+
do patrol_step("refinery-{rig_name}", 2, "Process merge queue")
|
|
772
|
+
|
|
773
|
+
loop until **the merge queue is empty** (max: 20):
|
|
774
|
+
let next_mr = session: refinery
|
|
775
|
+
prompt: """
|
|
776
|
+
Read .prose/gas-town/merge-queue.json
|
|
777
|
+
Get highest priority MR for {rig_name}
|
|
778
|
+
Return MR details or "EMPTY" if none.
|
|
779
|
+
"""
|
|
780
|
+
|
|
781
|
+
if **there is an MR to process**:
|
|
782
|
+
# Process single MR
|
|
783
|
+
try:
|
|
784
|
+
session: refinery
|
|
785
|
+
prompt: """
|
|
786
|
+
Process MR for {rig_name}:
|
|
787
|
+
1. git checkout {next_mr.branch}
|
|
788
|
+
2. git rebase main
|
|
789
|
+
3. Run tests: npm test / pytest / cargo test
|
|
790
|
+
4. Run lint and type checks
|
|
791
|
+
5. If all pass, merge to main
|
|
792
|
+
6. Update convoy status
|
|
793
|
+
"""
|
|
794
|
+
context: next_mr
|
|
795
|
+
retry: 2
|
|
796
|
+
backoff: "linear"
|
|
797
|
+
|
|
798
|
+
session: refinery
|
|
799
|
+
prompt: """
|
|
800
|
+
MR merged successfully:
|
|
801
|
+
1. Remove from .prose/gas-town/merge-queue.json
|
|
802
|
+
2. Delete branch
|
|
803
|
+
3. Update convoy progress
|
|
804
|
+
4. Notify polecat of completion
|
|
805
|
+
"""
|
|
806
|
+
context: next_mr
|
|
807
|
+
|
|
808
|
+
catch as merge_error:
|
|
809
|
+
# Handle merge conflicts
|
|
810
|
+
choice **the type of merge failure**:
|
|
811
|
+
option "Conflict - needs reimplementation":
|
|
812
|
+
session: refinery
|
|
813
|
+
prompt: """
|
|
814
|
+
Merge conflict detected. Create escalation:
|
|
815
|
+
1. Mark MR as "needs_reimplementation"
|
|
816
|
+
2. Create new bead for conflict resolution
|
|
817
|
+
3. Sling to a new polecat
|
|
818
|
+
4. Notify Witness of the situation
|
|
819
|
+
"""
|
|
820
|
+
context: merge_error
|
|
821
|
+
|
|
822
|
+
option "Test failure - needs fix":
|
|
823
|
+
session: refinery
|
|
824
|
+
prompt: """
|
|
825
|
+
Tests failed after merge:
|
|
826
|
+
1. Git reset the merge
|
|
827
|
+
2. Create fix-tests bead
|
|
828
|
+
3. Assign back to original polecat
|
|
829
|
+
4. Add to same convoy
|
|
830
|
+
"""
|
|
831
|
+
context: merge_error
|
|
832
|
+
|
|
833
|
+
option "Unrecoverable - escalate":
|
|
834
|
+
session: refinery
|
|
835
|
+
prompt: """
|
|
836
|
+
Cannot process MR:
|
|
837
|
+
1. Mark as "escalated" in MQ
|
|
838
|
+
2. Send urgent mail to Mayor
|
|
839
|
+
3. Add to convoy blockers
|
|
840
|
+
4. Continue with next MR
|
|
841
|
+
"""
|
|
842
|
+
context: merge_error
|
|
843
|
+
|
|
844
|
+
# Postflight: Cleanup and report
|
|
845
|
+
do patrol_step("refinery-{rig_name}", 3, "Postflight")
|
|
846
|
+
session: refinery
|
|
847
|
+
prompt: """
|
|
848
|
+
Postflight for {rig_name}:
|
|
849
|
+
1. Report MQ processing summary
|
|
850
|
+
2. Update patrol state with completion time
|
|
851
|
+
3. Check if any convoys can be landed
|
|
852
|
+
4. Set backoff based on MQ activity
|
|
853
|
+
"""
|
|
854
|
+
|
|
855
|
+
# =============================================================================
|
|
856
|
+
# BOOT THE DOG: Special Dog that watches the Deacon
|
|
857
|
+
# =============================================================================
|
|
858
|
+
|
|
859
|
+
block boot_check:
|
|
860
|
+
session: dog
|
|
861
|
+
prompt: """
|
|
862
|
+
You are Boot the Dog. Your only job: check on the Deacon.
|
|
863
|
+
|
|
864
|
+
Read .prose/gas-town/patrol-state.json
|
|
865
|
+
Check deacon.last_patrol timestamp.
|
|
866
|
+
|
|
867
|
+
Decision:
|
|
868
|
+
- If < 2 min ago: Deacon is fine. Go back to sleep.
|
|
869
|
+
- If 2-5 min ago: Send gentle nudge to Deacon.
|
|
870
|
+
- If 5-10 min ago: Send firm DYFJ to Deacon.
|
|
871
|
+
- If > 10 min ago: Restart Deacon session.
|
|
872
|
+
|
|
873
|
+
Execute your decision, then sleep until next 5-minute wake.
|
|
874
|
+
"""
|
|
875
|
+
|
|
876
|
+
# =============================================================================
|
|
877
|
+
# CONVOY WORKFLOW: Full lifecycle of a work unit
|
|
878
|
+
# =============================================================================
|
|
879
|
+
|
|
880
|
+
block convoy_workflow(convoy_name, work_description, target_rig):
|
|
881
|
+
# Phase 1: Mayor receives and plans (first call uses session:)
|
|
882
|
+
let plan = session: mayor
|
|
883
|
+
prompt: """
|
|
884
|
+
New convoy requested: {convoy_name}
|
|
885
|
+
Work: {work_description}
|
|
886
|
+
Rig: {target_rig}
|
|
887
|
+
|
|
888
|
+
1. Break down into implementable beads
|
|
889
|
+
2. Identify dependencies between beads
|
|
890
|
+
3. Estimate polecat count needed
|
|
891
|
+
4. Create convoy structure
|
|
892
|
+
"""
|
|
893
|
+
|
|
894
|
+
# Phase 2: Create convoy and beads
|
|
895
|
+
do create_convoy(convoy_name, plan)
|
|
896
|
+
|
|
897
|
+
# Subsequent Mayor calls use resume: to load memory
|
|
898
|
+
let beads = resume: mayor
|
|
899
|
+
prompt: """
|
|
900
|
+
Create individual beads for convoy {convoy_name}:
|
|
901
|
+
1. Write each bead to .prose/gas-town/beads/
|
|
902
|
+
2. Link beads to convoy
|
|
903
|
+
3. Set initial status to "ready"
|
|
904
|
+
Return list of bead IDs.
|
|
905
|
+
"""
|
|
906
|
+
context: plan
|
|
907
|
+
|
|
908
|
+
# Phase 3: Swarm the work
|
|
909
|
+
resume: mayor
|
|
910
|
+
prompt: """
|
|
911
|
+
Initiate swarm for convoy {convoy_name}:
|
|
912
|
+
1. Determine optimal polecat count (max 30)
|
|
913
|
+
2. Sling work to polecats based on dependencies
|
|
914
|
+
3. Notify Witness to monitor swarm
|
|
915
|
+
4. Return swarm status
|
|
916
|
+
"""
|
|
917
|
+
context: beads
|
|
918
|
+
|
|
919
|
+
# Phase 4: Let the swarm run (monitored by Witness)
|
|
920
|
+
loop until **all convoy beads are complete or blocked** (max: 50):
|
|
921
|
+
# Witness patrol handles the actual monitoring
|
|
922
|
+
do witness_patrol(target_rig)
|
|
923
|
+
|
|
924
|
+
# Check convoy status
|
|
925
|
+
let convoy_status = resume: mayor
|
|
926
|
+
prompt: """
|
|
927
|
+
Check convoy {convoy_name} status:
|
|
928
|
+
- Read .prose/gas-town/convoys/{convoy_name}.json
|
|
929
|
+
- Count completed vs pending beads
|
|
930
|
+
- Check for blockers
|
|
931
|
+
Return status summary.
|
|
932
|
+
"""
|
|
933
|
+
|
|
934
|
+
if **there are blocked beads that need attention**:
|
|
935
|
+
resume: mayor
|
|
936
|
+
prompt: """
|
|
937
|
+
Handle blocked beads in convoy:
|
|
938
|
+
1. Analyze block reasons
|
|
939
|
+
2. Create unblock beads if needed
|
|
940
|
+
3. Escalate to Overseer if human decision required
|
|
941
|
+
"""
|
|
942
|
+
context: convoy_status
|
|
943
|
+
|
|
944
|
+
# Phase 5: Refinery merges everything
|
|
945
|
+
loop until **all MRs from convoy are merged** (max: 30):
|
|
946
|
+
do refinery_patrol(target_rig)
|
|
947
|
+
|
|
948
|
+
# Phase 6: Land the convoy
|
|
949
|
+
do land_convoy(convoy_name)
|
|
950
|
+
|
|
951
|
+
resume: mayor
|
|
952
|
+
prompt: """
|
|
953
|
+
Convoy {convoy_name} has landed!
|
|
954
|
+
1. Generate completion summary
|
|
955
|
+
2. Notify Overseer
|
|
956
|
+
3. Archive convoy artifacts
|
|
957
|
+
4. Update rig statistics
|
|
958
|
+
"""
|
|
959
|
+
|
|
960
|
+
# =============================================================================
|
|
961
|
+
# POLECAT LIFECYCLE: Ephemeral worker execution
|
|
962
|
+
# =============================================================================
|
|
963
|
+
|
|
964
|
+
block polecat_lifecycle(polecat_id, rig_name):
|
|
965
|
+
# Startup: GUPP check
|
|
966
|
+
let hook_work = do gupp_check("polecat-{polecat_id}")
|
|
967
|
+
|
|
968
|
+
if **there is no work on hook**:
|
|
969
|
+
session: polecat
|
|
970
|
+
prompt: """
|
|
971
|
+
No work on hook. Options:
|
|
972
|
+
1. Check mail for new assignments
|
|
973
|
+
2. Ask Witness for work
|
|
974
|
+
3. Go idle (decommission after 5 min idle)
|
|
975
|
+
"""
|
|
976
|
+
else:
|
|
977
|
+
# Main work loop: Execute molecule
|
|
978
|
+
loop until **molecule is complete** (max: 100):
|
|
979
|
+
let current_step = session: polecat
|
|
980
|
+
prompt: """
|
|
981
|
+
Read current molecule step from hook.
|
|
982
|
+
Return step details:
|
|
983
|
+
- step_id
|
|
984
|
+
- description
|
|
985
|
+
- acceptance_criteria
|
|
986
|
+
- dependencies (must be complete first)
|
|
987
|
+
"""
|
|
988
|
+
context: hook_work
|
|
989
|
+
|
|
990
|
+
if **dependencies are not met**:
|
|
991
|
+
session: polecat
|
|
992
|
+
prompt: """
|
|
993
|
+
Dependencies not ready. Options:
|
|
994
|
+
1. Work on a different bead in molecule
|
|
995
|
+
2. Wait and check again in 30 seconds
|
|
996
|
+
3. Report blocker to Witness
|
|
997
|
+
"""
|
|
998
|
+
context: current_step
|
|
999
|
+
else:
|
|
1000
|
+
# Execute the step
|
|
1001
|
+
try:
|
|
1002
|
+
session: polecat
|
|
1003
|
+
prompt: """
|
|
1004
|
+
Execute molecule step:
|
|
1005
|
+
{current_step.description}
|
|
1006
|
+
|
|
1007
|
+
Acceptance criteria:
|
|
1008
|
+
{current_step.acceptance_criteria}
|
|
1009
|
+
|
|
1010
|
+
Work until criteria are met, then mark step complete.
|
|
1011
|
+
"""
|
|
1012
|
+
context: current_step
|
|
1013
|
+
retry: 2
|
|
1014
|
+
backoff: "exponential"
|
|
1015
|
+
|
|
1016
|
+
# Mark step complete
|
|
1017
|
+
session: polecat
|
|
1018
|
+
prompt: """
|
|
1019
|
+
Step complete. Update state:
|
|
1020
|
+
1. Mark step as complete in molecule
|
|
1021
|
+
2. Update convoy progress
|
|
1022
|
+
3. If code changed, prepare MR
|
|
1023
|
+
4. Move to next step
|
|
1024
|
+
"""
|
|
1025
|
+
|
|
1026
|
+
catch as step_error:
|
|
1027
|
+
session: polecat
|
|
1028
|
+
prompt: """
|
|
1029
|
+
Step failed. Handle error:
|
|
1030
|
+
1. Log failure details
|
|
1031
|
+
2. Determine if retryable
|
|
1032
|
+
3. If not, escalate to Witness
|
|
1033
|
+
4. Update molecule state
|
|
1034
|
+
"""
|
|
1035
|
+
context: step_error
|
|
1036
|
+
|
|
1037
|
+
# Check if should hand off (context exhaustion prevention)
|
|
1038
|
+
if **session is getting long (> 40 messages)**:
|
|
1039
|
+
do handoff("polecat-{polecat_id}", "Continue molecule execution")
|
|
1040
|
+
|
|
1041
|
+
# Molecule complete: Submit MR if needed
|
|
1042
|
+
let has_changes = session: polecat
|
|
1043
|
+
prompt: "Check if there are uncommitted code changes. Return true/false."
|
|
1044
|
+
|
|
1045
|
+
if **there are code changes to submit**:
|
|
1046
|
+
session: polecat
|
|
1047
|
+
prompt: """
|
|
1048
|
+
Prepare Merge Request:
|
|
1049
|
+
1. Stage all changes: git add -A
|
|
1050
|
+
2. Create atomic commit with descriptive message
|
|
1051
|
+
3. Push branch to origin
|
|
1052
|
+
4. Add MR to .prose/gas-town/merge-queue.json
|
|
1053
|
+
5. Notify Refinery
|
|
1054
|
+
"""
|
|
1055
|
+
|
|
1056
|
+
# Decommission
|
|
1057
|
+
session: polecat
|
|
1058
|
+
prompt: """
|
|
1059
|
+
Polecat {polecat_id} decommissioning:
|
|
1060
|
+
1. Clear hook
|
|
1061
|
+
2. Update convoy with completion status
|
|
1062
|
+
3. Send completion mail to Witness
|
|
1063
|
+
4. Mark self as available for reuse
|
|
1064
|
+
"""
|
|
1065
|
+
|
|
1066
|
+
# =============================================================================
|
|
1067
|
+
# POLECAT WORKFLOW VARIANTS: Different quality levels
|
|
1068
|
+
# =============================================================================
|
|
1069
|
+
|
|
1070
|
+
# Standard polecat workflow (fast, minimal review)
|
|
1071
|
+
block polecat_workflow_standard(bead_id):
|
|
1072
|
+
session: polecat
|
|
1073
|
+
prompt: """
|
|
1074
|
+
Standard workflow for bead {bead_id}:
|
|
1075
|
+
1. Read bead acceptance criteria
|
|
1076
|
+
2. Implement the change
|
|
1077
|
+
3. Self-review for obvious issues
|
|
1078
|
+
4. Submit MR
|
|
1079
|
+
Fast but minimal quality gates.
|
|
1080
|
+
"""
|
|
1081
|
+
|
|
1082
|
+
# "Shiny" polecat workflow (extra code review)
|
|
1083
|
+
block polecat_workflow_shiny(bead_id):
|
|
1084
|
+
session: polecat
|
|
1085
|
+
prompt: "Implement bead {bead_id}"
|
|
1086
|
+
|
|
1087
|
+
session: polecat
|
|
1088
|
+
prompt: """
|
|
1089
|
+
Shiny review pass 1: Code correctness
|
|
1090
|
+
- Does the implementation match requirements?
|
|
1091
|
+
- Are there any logical errors?
|
|
1092
|
+
- Fix any issues found.
|
|
1093
|
+
"""
|
|
1094
|
+
|
|
1095
|
+
session: polecat
|
|
1096
|
+
prompt: """
|
|
1097
|
+
Shiny review pass 2: Code quality
|
|
1098
|
+
- Is the code readable and maintainable?
|
|
1099
|
+
- Does it follow project conventions?
|
|
1100
|
+
- Fix any issues found.
|
|
1101
|
+
"""
|
|
1102
|
+
|
|
1103
|
+
session: polecat
|
|
1104
|
+
prompt: "Submit MR with shiny review complete"
|
|
1105
|
+
|
|
1106
|
+
# "Chrome" polecat workflow (extra review + testing)
|
|
1107
|
+
block polecat_workflow_chrome(bead_id):
|
|
1108
|
+
session: polecat
|
|
1109
|
+
prompt: "Implement bead {bead_id}"
|
|
1110
|
+
|
|
1111
|
+
# All shiny review passes
|
|
1112
|
+
session: polecat
|
|
1113
|
+
prompt: "Chrome review pass 1: Correctness check"
|
|
1114
|
+
session: polecat
|
|
1115
|
+
prompt: "Chrome review pass 2: Quality check"
|
|
1116
|
+
session: polecat
|
|
1117
|
+
prompt: "Chrome review pass 3: Edge cases check"
|
|
1118
|
+
|
|
1119
|
+
# Extra chrome passes
|
|
1120
|
+
session: polecat
|
|
1121
|
+
prompt: """
|
|
1122
|
+
Chrome review pass 4: Test coverage
|
|
1123
|
+
- Write unit tests for new code
|
|
1124
|
+
- Ensure edge cases are tested
|
|
1125
|
+
- Run tests locally
|
|
1126
|
+
"""
|
|
1127
|
+
|
|
1128
|
+
session: polecat
|
|
1129
|
+
prompt: """
|
|
1130
|
+
Chrome review pass 5: Security check
|
|
1131
|
+
- Check for injection vulnerabilities
|
|
1132
|
+
- Verify input validation
|
|
1133
|
+
- Check for data exposure risks
|
|
1134
|
+
"""
|
|
1135
|
+
|
|
1136
|
+
session: polecat
|
|
1137
|
+
prompt: "Submit MR with chrome review complete"
|
|
1138
|
+
|
|
1139
|
+
# =============================================================================
|
|
1140
|
+
# CV CHAINS: Polecat Work Credits
|
|
1141
|
+
# =============================================================================
|
|
1142
|
+
|
|
1143
|
+
# Record polecat completion to CV chain (credited work history)
|
|
1144
|
+
block record_cv_completion(polecat_id, bead_id, convoy_id):
|
|
1145
|
+
session "Record CV completion for polecat {polecat_id}"
|
|
1146
|
+
prompt: """
|
|
1147
|
+
Add completion to polecat's CV chain:
|
|
1148
|
+
1. Read .prose/gas-town/workers/polecats/{polecat_id}.json
|
|
1149
|
+
2. Append to cv_chain:
|
|
1150
|
+
- bead_id: {bead_id}
|
|
1151
|
+
- convoy_id: {convoy_id}
|
|
1152
|
+
- completed_at: now()
|
|
1153
|
+
- outcome: success/partial/escalated
|
|
1154
|
+
3. Update statistics:
|
|
1155
|
+
- total_completions
|
|
1156
|
+
- success_rate
|
|
1157
|
+
- average_duration
|
|
1158
|
+
4. Save updated worker record
|
|
1159
|
+
|
|
1160
|
+
CV chains provide:
|
|
1161
|
+
- Work attribution (who did what)
|
|
1162
|
+
- Performance metrics
|
|
1163
|
+
- Trust scoring for assignment prioritization
|
|
1164
|
+
"""
|
|
1165
|
+
|
|
1166
|
+
# Get polecat's CV summary
|
|
1167
|
+
block get_cv_summary(polecat_id):
|
|
1168
|
+
session "Get CV summary for {polecat_id}"
|
|
1169
|
+
prompt: """
|
|
1170
|
+
Summarize polecat's work history:
|
|
1171
|
+
1. Read .prose/gas-town/workers/polecats/{polecat_id}.json
|
|
1172
|
+
2. Return:
|
|
1173
|
+
- Total completions
|
|
1174
|
+
- Success rate
|
|
1175
|
+
- Recent convoy contributions
|
|
1176
|
+
- Specializations (detected from bead types)
|
|
1177
|
+
- Trust score
|
|
1178
|
+
"""
|
|
1179
|
+
|
|
1180
|
+
# =============================================================================
|
|
1181
|
+
# MAIN: Gas Town Startup and Operation
|
|
1182
|
+
# =============================================================================
|
|
1183
|
+
|
|
1184
|
+
# Initialize Gas Town state directories
|
|
1185
|
+
session "Initialize Gas Town persistent state"
|
|
1186
|
+
prompt: """
|
|
1187
|
+
Create Gas Town state structure:
|
|
1188
|
+
|
|
1189
|
+
.prose/gas-town/
|
|
1190
|
+
├── town-beads.jsonl # Town-level orchestration beads
|
|
1191
|
+
├── activity-feed.jsonl # Live activity stream
|
|
1192
|
+
├── patrol-state.json # Patrol agent states
|
|
1193
|
+
├── wisp-digest.jsonl # Burned wisp summaries
|
|
1194
|
+
│
|
|
1195
|
+
├── workers/ # Persistent worker identities
|
|
1196
|
+
│ ├── mayor.json
|
|
1197
|
+
│ ├── deacon.json
|
|
1198
|
+
│ ├── dogs/
|
|
1199
|
+
│ │ └── boot.json
|
|
1200
|
+
│ └── polecats/ # Polecat CV chains
|
|
1201
|
+
│
|
|
1202
|
+
├── convoys/ # Work orders
|
|
1203
|
+
│ ├── active/
|
|
1204
|
+
│ └── archive/
|
|
1205
|
+
│
|
|
1206
|
+
├── formulas/ # Workflow templates (TOML)
|
|
1207
|
+
├── protomolecules/ # Cooked templates
|
|
1208
|
+
├── wisps/ # Ephemeral beads (NOT in Git)
|
|
1209
|
+
│
|
|
1210
|
+
├── plugins/
|
|
1211
|
+
│ └── town/ # Town-level plugins
|
|
1212
|
+
│
|
|
1213
|
+
└── rigs/ # Per-project state
|
|
1214
|
+
└── {rig-name}/
|
|
1215
|
+
├── rig-beads.jsonl # Project issues
|
|
1216
|
+
├── merge-queue.json # Pending MRs
|
|
1217
|
+
├── hooks/ # Worker hooks (GUPP)
|
|
1218
|
+
├── mail/ # Worker inboxes
|
|
1219
|
+
├── polecats/ # Per-rig polecat state
|
|
1220
|
+
└── plugins/ # Rig-level plugins
|
|
1221
|
+
|
|
1222
|
+
Initialize all files with empty/default values.
|
|
1223
|
+
Add .prose/gas-town/wisps/ to .gitignore (ephemeral).
|
|
1224
|
+
"""
|
|
1225
|
+
|
|
1226
|
+
# Start the Mayor
|
|
1227
|
+
session: mayor
|
|
1228
|
+
prompt: """
|
|
1229
|
+
Gas Town Mayor starting up.
|
|
1230
|
+
|
|
1231
|
+
GUPP Check: Read .prose/gas-town/hooks/mayor.json
|
|
1232
|
+
If work hooked, begin immediately.
|
|
1233
|
+
Otherwise, greet the Overseer and await instructions.
|
|
1234
|
+
|
|
1235
|
+
Available commands:
|
|
1236
|
+
- "Create convoy for: <description>" - Start new work unit
|
|
1237
|
+
- "Sling <bead> to <worker>" - Assign work
|
|
1238
|
+
- "Status" - Show town status
|
|
1239
|
+
- "Let's hand off" - Gracefully restart
|
|
1240
|
+
"""
|
|
1241
|
+
|
|
1242
|
+
# Start patrol agents in background (parallel)
|
|
1243
|
+
parallel (on-fail: "continue"):
|
|
1244
|
+
# Deacon patrol loop
|
|
1245
|
+
loop (max: 1000):
|
|
1246
|
+
try:
|
|
1247
|
+
do deacon_patrol
|
|
1248
|
+
catch:
|
|
1249
|
+
session "Deacon patrol error - will retry"
|
|
1250
|
+
session "Wait for deacon backoff period"
|
|
1251
|
+
prompt: "Read backoff from patrol-state.json and wait"
|
|
1252
|
+
|
|
1253
|
+
# Boot the Dog wakes every 5 minutes
|
|
1254
|
+
loop (max: 1000):
|
|
1255
|
+
do boot_check
|
|
1256
|
+
session "Boot sleeping for 5 minutes"
|
|
1257
|
+
prompt: "Wait 5 minutes before next Deacon check"
|
|
1258
|
+
|
|
1259
|
+
# =============================================================================
|
|
1260
|
+
# EXAMPLE: Running a Convoy
|
|
1261
|
+
# =============================================================================
|
|
1262
|
+
|
|
1263
|
+
# This block shows how an Overseer would use Gas Town
|
|
1264
|
+
|
|
1265
|
+
block example_convoy:
|
|
1266
|
+
# Overseer tells Mayor what to build
|
|
1267
|
+
session: mayor
|
|
1268
|
+
prompt: """
|
|
1269
|
+
Overseer request: "Add dark mode to the dashboard"
|
|
1270
|
+
|
|
1271
|
+
As Mayor:
|
|
1272
|
+
1. Acknowledge the request
|
|
1273
|
+
2. Break it down into implementable pieces
|
|
1274
|
+
3. Create a convoy to track it
|
|
1275
|
+
4. Swarm polecats on the work
|
|
1276
|
+
5. Report when convoy lands
|
|
1277
|
+
"""
|
|
1278
|
+
|
|
1279
|
+
# Mayor creates and manages the convoy
|
|
1280
|
+
do convoy_workflow(
|
|
1281
|
+
"dark-mode-dashboard",
|
|
1282
|
+
"Add dark mode toggle and theme support to the dashboard",
|
|
1283
|
+
"main-app"
|
|
1284
|
+
)
|
|
1285
|
+
|
|
1286
|
+
# When done, Mayor reports back
|
|
1287
|
+
session: mayor
|
|
1288
|
+
prompt: """
|
|
1289
|
+
Report convoy completion to Overseer:
|
|
1290
|
+
- What was implemented
|
|
1291
|
+
- Any issues encountered
|
|
1292
|
+
- Files changed
|
|
1293
|
+
- Ready for review
|
|
1294
|
+
"""
|
|
1295
|
+
|
|
1296
|
+
# =============================================================================
|
|
1297
|
+
# EXAMPLE: Direct Crew Work
|
|
1298
|
+
# =============================================================================
|
|
1299
|
+
|
|
1300
|
+
# For design/architecture work, use Crew instead of polecats
|
|
1301
|
+
|
|
1302
|
+
block crew_design_session(topic):
|
|
1303
|
+
# First invocation starts fresh design session
|
|
1304
|
+
session: crew
|
|
1305
|
+
prompt: """
|
|
1306
|
+
Design session for: {topic}
|
|
1307
|
+
|
|
1308
|
+
As a Crew member, engage in iterative design:
|
|
1309
|
+
1. Understand the problem space
|
|
1310
|
+
2. Propose architecture options
|
|
1311
|
+
3. Discuss trade-offs with Overseer
|
|
1312
|
+
4. Document decisions
|
|
1313
|
+
5. Optionally sling implementation to polecats
|
|
1314
|
+
|
|
1315
|
+
This is interactive - wait for Overseer input.
|
|
1316
|
+
"""
|
|
1317
|
+
|
|
1318
|
+
loop until **design is finalized** (max: 20):
|
|
1319
|
+
# Subsequent calls resume with memory
|
|
1320
|
+
resume: crew
|
|
1321
|
+
prompt: """
|
|
1322
|
+
Continue design iteration:
|
|
1323
|
+
- Address Overseer feedback
|
|
1324
|
+
- Refine the design
|
|
1325
|
+
- When ready, ask if should proceed to implementation
|
|
1326
|
+
"""
|
|
1327
|
+
|
|
1328
|
+
if **Overseer wants to proceed with implementation**:
|
|
1329
|
+
resume: crew
|
|
1330
|
+
prompt: """
|
|
1331
|
+
Create implementation convoy:
|
|
1332
|
+
1. Convert design into beads
|
|
1333
|
+
2. Create convoy
|
|
1334
|
+
3. Sling to polecats
|
|
1335
|
+
4. Return convoy ID to track
|
|
1336
|
+
"""
|
|
1337
|
+
|
|
1338
|
+
# =============================================================================
|
|
1339
|
+
# EXAMPLE: Hanoi Towers (MAKER Problem)
|
|
1340
|
+
# =============================================================================
|
|
1341
|
+
#
|
|
1342
|
+
# Gas Town can solve arbitrarily long sequential workflows.
|
|
1343
|
+
# The Towers of Hanoi problem (from the MAKER paper) demonstrates this:
|
|
1344
|
+
# - 10-disc Hanoi: ~1000 steps (runs in minutes)
|
|
1345
|
+
# - 20-disc Hanoi: ~1,000,000 steps (runs in ~30 hours)
|
|
1346
|
+
#
|
|
1347
|
+
# LLMs traditionally fail after a few hundred steps (per MAKER paper).
|
|
1348
|
+
# Gas Town's molecular workflows make this trivial via NDI.
|
|
1349
|
+
|
|
1350
|
+
# Generate Hanoi formula (creates workflow from mathematical formula)
|
|
1351
|
+
block generate_hanoi_formula(num_discs):
|
|
1352
|
+
session "Generate Hanoi formula for {num_discs} discs"
|
|
1353
|
+
prompt: """
|
|
1354
|
+
Generate Towers of Hanoi workflow formula:
|
|
1355
|
+
|
|
1356
|
+
For {num_discs} discs, generate (2^n - 1) move steps.
|
|
1357
|
+
Each step is a bead:
|
|
1358
|
+
- ID: hanoi-move-{step_number}
|
|
1359
|
+
- Description: "Move disc from peg {from} to peg {to}"
|
|
1360
|
+
- Acceptance: "Disc moved, state updated"
|
|
1361
|
+
- Depends on: previous step
|
|
1362
|
+
|
|
1363
|
+
Write to .prose/gas-town/formulas/hanoi-{num_discs}.toml
|
|
1364
|
+
|
|
1365
|
+
This demonstrates Gas Town's ability to handle
|
|
1366
|
+
arbitrarily long workflows via NDI (Nondeterministic Idempotence).
|
|
1367
|
+
Crashes don't matter - just resume from last completed step.
|
|
1368
|
+
"""
|
|
1369
|
+
|
|
1370
|
+
# Run the Hanoi demonstration
|
|
1371
|
+
block run_hanoi_demo(num_discs):
|
|
1372
|
+
# Generate the formula
|
|
1373
|
+
do generate_hanoi_formula(num_discs)
|
|
1374
|
+
|
|
1375
|
+
# Cook into protomolecule
|
|
1376
|
+
do cook_formula("hanoi-{num_discs}")
|
|
1377
|
+
|
|
1378
|
+
# Instantiate into working molecule
|
|
1379
|
+
let hanoi_mol = do instantiate_molecule(
|
|
1380
|
+
"hanoi-{num_discs}",
|
|
1381
|
+
{"discs": num_discs}
|
|
1382
|
+
)
|
|
1383
|
+
|
|
1384
|
+
# Create convoy to track
|
|
1385
|
+
do create_convoy("hanoi-{num_discs}-demo", hanoi_mol)
|
|
1386
|
+
|
|
1387
|
+
# Sling to a polecat (single worker for sequential)
|
|
1388
|
+
do sling_work(hanoi_mol, "polecat-hanoi")
|
|
1389
|
+
|
|
1390
|
+
# The polecat will work through all steps
|
|
1391
|
+
# Crashes are fine - NDI ensures eventual completion
|
|
1392
|
+
session: mayor
|
|
1393
|
+
prompt: """
|
|
1394
|
+
Hanoi convoy started for {num_discs} discs.
|
|
1395
|
+
- Steps: 2^{num_discs} - 1
|
|
1396
|
+
- Est. completion: varies by disc count
|
|
1397
|
+
- Polecat will checkpoint progress in molecule
|
|
1398
|
+
- Monitor via activity feed
|
|
1399
|
+
"""
|
|
1400
|
+
|
|
1401
|
+
# =============================================================================
|
|
1402
|
+
# EXAMPLE: Full Production Workflow
|
|
1403
|
+
# =============================================================================
|
|
1404
|
+
|
|
1405
|
+
# This shows a realistic production workflow using all Gas Town features
|
|
1406
|
+
|
|
1407
|
+
block production_feature_workflow(feature_name, rig_name):
|
|
1408
|
+
# Phase 1: Design with Crew (first call)
|
|
1409
|
+
do log_activity("overseer", "feature_start", feature_name)
|
|
1410
|
+
|
|
1411
|
+
let design = session: crew
|
|
1412
|
+
prompt: """
|
|
1413
|
+
Design phase for: {feature_name}
|
|
1414
|
+
1. Understand requirements
|
|
1415
|
+
2. Research existing code
|
|
1416
|
+
3. Propose architecture
|
|
1417
|
+
4. Get Overseer approval
|
|
1418
|
+
"""
|
|
1419
|
+
|
|
1420
|
+
# Phase 2: Create convoy with chrome-level quality (first Mayor call)
|
|
1421
|
+
let plan = session: mayor
|
|
1422
|
+
prompt: """
|
|
1423
|
+
Create implementation plan for {feature_name}:
|
|
1424
|
+
1. Break into implementable beads
|
|
1425
|
+
2. Add dependencies
|
|
1426
|
+
3. Select chrome workflow (highest quality)
|
|
1427
|
+
4. Estimate polecat count
|
|
1428
|
+
"""
|
|
1429
|
+
context: design
|
|
1430
|
+
|
|
1431
|
+
do create_convoy("{feature_name}-impl", plan)
|
|
1432
|
+
|
|
1433
|
+
# Phase 3: Spawn swarm with chrome workflow
|
|
1434
|
+
resume: mayor
|
|
1435
|
+
prompt: """
|
|
1436
|
+
Spawn chrome-quality swarm:
|
|
1437
|
+
1. Allocate polecats (use trust scores from CVs)
|
|
1438
|
+
2. Assign chrome workflow to each bead
|
|
1439
|
+
3. Notify Witness
|
|
1440
|
+
"""
|
|
1441
|
+
context: plan
|
|
1442
|
+
|
|
1443
|
+
# Phase 4: Monitor progress (patrols handle the rest)
|
|
1444
|
+
loop until **all beads complete** (max: 100):
|
|
1445
|
+
do check_swarm_health("{feature_name}-impl")
|
|
1446
|
+
|
|
1447
|
+
if **any polecats stuck**:
|
|
1448
|
+
resume: witness
|
|
1449
|
+
prompt: "Nudge stuck polecats, use seance if needed"
|
|
1450
|
+
|
|
1451
|
+
if **any polecats near context limit**:
|
|
1452
|
+
resume: witness
|
|
1453
|
+
prompt: "Recycle exhausted polecats"
|
|
1454
|
+
|
|
1455
|
+
# Phase 5: Merge all MRs
|
|
1456
|
+
loop until **all MRs merged** (max: 50):
|
|
1457
|
+
do refinery_patrol(rig_name)
|
|
1458
|
+
|
|
1459
|
+
# Phase 6: Land and celebrate
|
|
1460
|
+
do land_convoy("{feature_name}-impl")
|
|
1461
|
+
|
|
1462
|
+
resume: mayor
|
|
1463
|
+
prompt: """
|
|
1464
|
+
Feature {feature_name} complete!
|
|
1465
|
+
1. Generate release notes
|
|
1466
|
+
2. Update documentation
|
|
1467
|
+
3. Notify Overseer
|
|
1468
|
+
4. Record CV completions for all polecats
|
|
1469
|
+
"""
|
|
1470
|
+
|
|
1471
|
+
# =============================================================================
|
|
1472
|
+
# EXAMPLE: Cross-Rig Convoy (War Rigs)
|
|
1473
|
+
# =============================================================================
|
|
1474
|
+
|
|
1475
|
+
# When a feature spans multiple projects
|
|
1476
|
+
|
|
1477
|
+
block cross_rig_convoy(feature_name, rig_list):
|
|
1478
|
+
# Create convoy that spans multiple rigs (first Mayor call)
|
|
1479
|
+
session: mayor
|
|
1480
|
+
prompt: """
|
|
1481
|
+
Cross-rig convoy for {feature_name}:
|
|
1482
|
+
Rigs involved: {rig_list}
|
|
1483
|
+
|
|
1484
|
+
1. Identify work for each rig (War Rigs)
|
|
1485
|
+
2. Create beads in each rig's database
|
|
1486
|
+
3. Link with cross-rig dependencies
|
|
1487
|
+
4. Coordinate witnesses across rigs
|
|
1488
|
+
"""
|
|
1489
|
+
|
|
1490
|
+
# Spawn witnesses for each rig
|
|
1491
|
+
parallel for rig in rig_list:
|
|
1492
|
+
session: witness
|
|
1493
|
+
prompt: "Initialize War Rig monitoring for {rig} in convoy {feature_name}"
|
|
1494
|
+
|
|
1495
|
+
# Swarm all rigs in parallel
|
|
1496
|
+
parallel for rig in rig_list:
|
|
1497
|
+
do spawn_swarm("{feature_name}", "war-rig-{rig}-beads", 10)
|
|
1498
|
+
|
|
1499
|
+
# Monitor War Rig contributions
|
|
1500
|
+
loop until **all War Rigs complete** (max: 200):
|
|
1501
|
+
parallel for rig in rig_list:
|
|
1502
|
+
do war_rig_status(rig, "{feature_name}")
|
|
1503
|
+
|
|
1504
|
+
if **any War Rig blocked**:
|
|
1505
|
+
resume: mayor
|
|
1506
|
+
prompt: "Coordinate cross-rig blocker resolution"
|
|
1507
|
+
|
|
1508
|
+
# Land the cross-rig convoy
|
|
1509
|
+
do land_convoy("{feature_name}")
|
|
1510
|
+
|
|
1511
|
+
resume: mayor
|
|
1512
|
+
prompt: """
|
|
1513
|
+
Cross-rig convoy {feature_name} landed!
|
|
1514
|
+
War Rig summary for each rig: {rig_list}
|
|
1515
|
+
"""
|
|
1516
|
+
|
|
1517
|
+
# =============================================================================
|
|
1518
|
+
# GAS TOWN STATUS DASHBOARD
|
|
1519
|
+
# =============================================================================
|
|
1520
|
+
|
|
1521
|
+
block gt_status:
|
|
1522
|
+
parallel:
|
|
1523
|
+
town_health = session "Check town health"
|
|
1524
|
+
prompt: """
|
|
1525
|
+
Town-level status:
|
|
1526
|
+
- Deacon patrol status
|
|
1527
|
+
- Dogs status
|
|
1528
|
+
- Active convoys (town-level)
|
|
1529
|
+
"""
|
|
1530
|
+
|
|
1531
|
+
rig_health = session "Check rig health"
|
|
1532
|
+
prompt: """
|
|
1533
|
+
Per-rig status:
|
|
1534
|
+
- Read .prose/gas-town/rigs/
|
|
1535
|
+
- For each rig: polecats, MQ depth, witnesses
|
|
1536
|
+
"""
|
|
1537
|
+
|
|
1538
|
+
activity = do get_activity_feed("last_hour", "")
|
|
1539
|
+
|
|
1540
|
+
session: mayor
|
|
1541
|
+
prompt: """
|
|
1542
|
+
Gas Town Status Report:
|
|
1543
|
+
|
|
1544
|
+
TOWN:
|
|
1545
|
+
{town_health}
|
|
1546
|
+
|
|
1547
|
+
RIGS:
|
|
1548
|
+
{rig_health}
|
|
1549
|
+
|
|
1550
|
+
RECENT ACTIVITY:
|
|
1551
|
+
{activity}
|
|
1552
|
+
|
|
1553
|
+
Recommendations:
|
|
1554
|
+
- Any workers needing attention?
|
|
1555
|
+
- Any convoys blocked?
|
|
1556
|
+
- Resource utilization?
|
|
1557
|
+
"""
|
|
1558
|
+
context: { town_health, rig_health, activity }
|
|
1559
|
+
|
|
1560
|
+
# =============================================================================
|
|
1561
|
+
# RUN EXAMPLES (commented out - uncomment to execute)
|
|
1562
|
+
# =============================================================================
|
|
1563
|
+
|
|
1564
|
+
# Basic examples:
|
|
1565
|
+
# do example_convoy
|
|
1566
|
+
# do crew_design_session("API redesign for v2")
|
|
1567
|
+
|
|
1568
|
+
# Advanced examples:
|
|
1569
|
+
# do run_hanoi_demo(10) # ~1000 steps, runs in minutes
|
|
1570
|
+
# do production_feature_workflow("user-auth", "main-app")
|
|
1571
|
+
# do cross_rig_convoy("unified-search", ["frontend", "backend", "search-service"])
|
|
1572
|
+
# do gt_status
|