loudmouth-ai 0.1.0 → 0.2.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/README.md +148 -77
- package/dist/build-info.json +3 -3
- package/extensions/package.json +6 -0
- package/package.json +1 -1
- package/skills/autopilot/SKILL.md +179 -0
- package/skills/goals/SKILL.md +189 -0
- package/skills/wordpress/SKILL.md +232 -0
- package/extensions/bluebubbles/clawdbot.plugin.json +0 -11
- package/extensions/bluebubbles/index.ts +0 -20
- package/extensions/bluebubbles/package.json +0 -33
- package/extensions/bluebubbles/src/accounts.ts +0 -80
- package/extensions/bluebubbles/src/actions.test.ts +0 -651
- package/extensions/bluebubbles/src/actions.ts +0 -403
- package/extensions/bluebubbles/src/attachments.test.ts +0 -346
- package/extensions/bluebubbles/src/attachments.ts +0 -282
- package/extensions/bluebubbles/src/channel.ts +0 -399
- package/extensions/bluebubbles/src/chat.test.ts +0 -462
- package/extensions/bluebubbles/src/chat.ts +0 -354
- package/extensions/bluebubbles/src/config-schema.ts +0 -51
- package/extensions/bluebubbles/src/media-send.ts +0 -168
- package/extensions/bluebubbles/src/monitor.test.ts +0 -2140
- package/extensions/bluebubbles/src/monitor.ts +0 -2101
- package/extensions/bluebubbles/src/onboarding.ts +0 -340
- package/extensions/bluebubbles/src/probe.ts +0 -127
- package/extensions/bluebubbles/src/reactions.test.ts +0 -393
- package/extensions/bluebubbles/src/reactions.ts +0 -183
- package/extensions/bluebubbles/src/runtime.ts +0 -14
- package/extensions/bluebubbles/src/send.test.ts +0 -809
- package/extensions/bluebubbles/src/send.ts +0 -418
- package/extensions/bluebubbles/src/targets.test.ts +0 -184
- package/extensions/bluebubbles/src/targets.ts +0 -323
- package/extensions/bluebubbles/src/types.ts +0 -127
- package/extensions/copilot-proxy/README.md +0 -24
- package/extensions/copilot-proxy/clawdbot.plugin.json +0 -11
- package/extensions/copilot-proxy/index.ts +0 -142
- package/extensions/copilot-proxy/package.json +0 -11
- package/extensions/google-antigravity-auth/README.md +0 -24
- package/extensions/google-antigravity-auth/clawdbot.plugin.json +0 -11
- package/extensions/google-antigravity-auth/index.ts +0 -437
- package/extensions/google-antigravity-auth/package.json +0 -11
- package/extensions/google-gemini-cli-auth/README.md +0 -35
- package/extensions/google-gemini-cli-auth/clawdbot.plugin.json +0 -11
- package/extensions/google-gemini-cli-auth/index.ts +0 -91
- package/extensions/google-gemini-cli-auth/oauth.test.ts +0 -228
- package/extensions/google-gemini-cli-auth/oauth.ts +0 -580
- package/extensions/google-gemini-cli-auth/package.json +0 -11
- package/extensions/googlechat/clawdbot.plugin.json +0 -11
- package/extensions/googlechat/index.ts +0 -20
- package/extensions/googlechat/package.json +0 -39
- package/extensions/googlechat/src/accounts.ts +0 -133
- package/extensions/googlechat/src/actions.ts +0 -162
- package/extensions/googlechat/src/api.test.ts +0 -62
- package/extensions/googlechat/src/api.ts +0 -259
- package/extensions/googlechat/src/auth.ts +0 -113
- package/extensions/googlechat/src/channel.ts +0 -580
- package/extensions/googlechat/src/monitor.test.ts +0 -27
- package/extensions/googlechat/src/monitor.ts +0 -900
- package/extensions/googlechat/src/onboarding.ts +0 -278
- package/extensions/googlechat/src/runtime.ts +0 -14
- package/extensions/googlechat/src/targets.test.ts +0 -35
- package/extensions/googlechat/src/targets.ts +0 -55
- package/extensions/googlechat/src/types.config.ts +0 -3
- package/extensions/googlechat/src/types.ts +0 -73
- package/extensions/imessage/clawdbot.plugin.json +0 -11
- package/extensions/imessage/index.ts +0 -18
- package/extensions/imessage/package.json +0 -11
- package/extensions/imessage/src/channel.ts +0 -294
- package/extensions/imessage/src/runtime.ts +0 -14
- package/extensions/line/clawdbot.plugin.json +0 -11
- package/extensions/line/index.ts +0 -20
- package/extensions/line/package.json +0 -29
- package/extensions/line/src/card-command.ts +0 -338
- package/extensions/line/src/channel.logout.test.ts +0 -96
- package/extensions/line/src/channel.sendPayload.test.ts +0 -308
- package/extensions/line/src/channel.ts +0 -773
- package/extensions/line/src/runtime.ts +0 -14
- package/extensions/matrix/CHANGELOG.md +0 -54
- package/extensions/matrix/clawdbot.plugin.json +0 -11
- package/extensions/matrix/index.ts +0 -18
- package/extensions/matrix/package.json +0 -36
- package/extensions/matrix/src/actions.ts +0 -185
- package/extensions/matrix/src/channel.directory.test.ts +0 -56
- package/extensions/matrix/src/channel.ts +0 -417
- package/extensions/matrix/src/config-schema.ts +0 -62
- package/extensions/matrix/src/directory-live.ts +0 -175
- package/extensions/matrix/src/group-mentions.ts +0 -61
- package/extensions/matrix/src/matrix/accounts.test.ts +0 -83
- package/extensions/matrix/src/matrix/accounts.ts +0 -63
- package/extensions/matrix/src/matrix/actions/client.ts +0 -53
- package/extensions/matrix/src/matrix/actions/messages.ts +0 -120
- package/extensions/matrix/src/matrix/actions/pins.ts +0 -70
- package/extensions/matrix/src/matrix/actions/reactions.ts +0 -84
- package/extensions/matrix/src/matrix/actions/room.ts +0 -88
- package/extensions/matrix/src/matrix/actions/summary.ts +0 -77
- package/extensions/matrix/src/matrix/actions/types.ts +0 -84
- package/extensions/matrix/src/matrix/actions.ts +0 -15
- package/extensions/matrix/src/matrix/active-client.ts +0 -11
- package/extensions/matrix/src/matrix/client/config.ts +0 -165
- package/extensions/matrix/src/matrix/client/create-client.ts +0 -127
- package/extensions/matrix/src/matrix/client/logging.ts +0 -35
- package/extensions/matrix/src/matrix/client/runtime.ts +0 -4
- package/extensions/matrix/src/matrix/client/shared.ts +0 -169
- package/extensions/matrix/src/matrix/client/storage.ts +0 -131
- package/extensions/matrix/src/matrix/client/types.ts +0 -34
- package/extensions/matrix/src/matrix/client.test.ts +0 -57
- package/extensions/matrix/src/matrix/client.ts +0 -9
- package/extensions/matrix/src/matrix/credentials.ts +0 -103
- package/extensions/matrix/src/matrix/deps.ts +0 -57
- package/extensions/matrix/src/matrix/format.test.ts +0 -34
- package/extensions/matrix/src/matrix/format.ts +0 -22
- package/extensions/matrix/src/matrix/index.ts +0 -11
- package/extensions/matrix/src/matrix/monitor/allowlist.ts +0 -58
- package/extensions/matrix/src/matrix/monitor/auto-join.ts +0 -68
- package/extensions/matrix/src/matrix/monitor/direct.ts +0 -105
- package/extensions/matrix/src/matrix/monitor/events.ts +0 -103
- package/extensions/matrix/src/matrix/monitor/handler.ts +0 -645
- package/extensions/matrix/src/matrix/monitor/index.ts +0 -279
- package/extensions/matrix/src/matrix/monitor/location.ts +0 -83
- package/extensions/matrix/src/matrix/monitor/media.test.ts +0 -103
- package/extensions/matrix/src/matrix/monitor/media.ts +0 -113
- package/extensions/matrix/src/matrix/monitor/mentions.ts +0 -31
- package/extensions/matrix/src/matrix/monitor/replies.ts +0 -96
- package/extensions/matrix/src/matrix/monitor/room-info.ts +0 -58
- package/extensions/matrix/src/matrix/monitor/rooms.ts +0 -43
- package/extensions/matrix/src/matrix/monitor/threads.ts +0 -64
- package/extensions/matrix/src/matrix/monitor/types.ts +0 -39
- package/extensions/matrix/src/matrix/poll-types.test.ts +0 -22
- package/extensions/matrix/src/matrix/poll-types.ts +0 -157
- package/extensions/matrix/src/matrix/probe.ts +0 -70
- package/extensions/matrix/src/matrix/send/client.ts +0 -63
- package/extensions/matrix/src/matrix/send/formatting.ts +0 -92
- package/extensions/matrix/src/matrix/send/media.ts +0 -220
- package/extensions/matrix/src/matrix/send/targets.test.ts +0 -102
- package/extensions/matrix/src/matrix/send/targets.ts +0 -144
- package/extensions/matrix/src/matrix/send/types.ts +0 -109
- package/extensions/matrix/src/matrix/send.test.ts +0 -172
- package/extensions/matrix/src/matrix/send.ts +0 -255
- package/extensions/matrix/src/onboarding.ts +0 -432
- package/extensions/matrix/src/outbound.ts +0 -53
- package/extensions/matrix/src/resolve-targets.ts +0 -89
- package/extensions/matrix/src/runtime.ts +0 -14
- package/extensions/matrix/src/tool-actions.ts +0 -160
- package/extensions/matrix/src/types.ts +0 -95
- package/extensions/mattermost/clawdbot.plugin.json +0 -11
- package/extensions/mattermost/index.ts +0 -18
- package/extensions/mattermost/package.json +0 -25
- package/extensions/mattermost/src/channel.test.ts +0 -43
- package/extensions/mattermost/src/channel.ts +0 -339
- package/extensions/mattermost/src/config-schema.ts +0 -56
- package/extensions/mattermost/src/group-mentions.ts +0 -14
- package/extensions/mattermost/src/mattermost/accounts.ts +0 -115
- package/extensions/mattermost/src/mattermost/client.ts +0 -208
- package/extensions/mattermost/src/mattermost/index.ts +0 -9
- package/extensions/mattermost/src/mattermost/monitor-helpers.ts +0 -150
- package/extensions/mattermost/src/mattermost/monitor.ts +0 -921
- package/extensions/mattermost/src/mattermost/probe.ts +0 -70
- package/extensions/mattermost/src/mattermost/send.ts +0 -217
- package/extensions/mattermost/src/normalize.ts +0 -38
- package/extensions/mattermost/src/onboarding-helpers.ts +0 -42
- package/extensions/mattermost/src/onboarding.ts +0 -187
- package/extensions/mattermost/src/runtime.ts +0 -14
- package/extensions/mattermost/src/types.ts +0 -50
- package/extensions/msteams/CHANGELOG.md +0 -51
- package/extensions/msteams/clawdbot.plugin.json +0 -11
- package/extensions/msteams/index.ts +0 -18
- package/extensions/msteams/package.json +0 -36
- package/extensions/msteams/src/attachments/download.ts +0 -206
- package/extensions/msteams/src/attachments/graph.ts +0 -319
- package/extensions/msteams/src/attachments/html.ts +0 -76
- package/extensions/msteams/src/attachments/payload.ts +0 -22
- package/extensions/msteams/src/attachments/shared.ts +0 -235
- package/extensions/msteams/src/attachments/types.ts +0 -37
- package/extensions/msteams/src/attachments.test.ts +0 -424
- package/extensions/msteams/src/attachments.ts +0 -18
- package/extensions/msteams/src/channel.directory.test.ts +0 -46
- package/extensions/msteams/src/channel.ts +0 -436
- package/extensions/msteams/src/conversation-store-fs.test.ts +0 -88
- package/extensions/msteams/src/conversation-store-fs.ts +0 -155
- package/extensions/msteams/src/conversation-store-memory.ts +0 -45
- package/extensions/msteams/src/conversation-store.ts +0 -41
- package/extensions/msteams/src/directory-live.ts +0 -179
- package/extensions/msteams/src/errors.test.ts +0 -46
- package/extensions/msteams/src/errors.ts +0 -158
- package/extensions/msteams/src/file-consent-helpers.test.ts +0 -234
- package/extensions/msteams/src/file-consent-helpers.ts +0 -73
- package/extensions/msteams/src/file-consent.ts +0 -122
- package/extensions/msteams/src/graph-chat.ts +0 -52
- package/extensions/msteams/src/graph-upload.ts +0 -445
- package/extensions/msteams/src/inbound.test.ts +0 -67
- package/extensions/msteams/src/inbound.ts +0 -38
- package/extensions/msteams/src/index.ts +0 -4
- package/extensions/msteams/src/media-helpers.test.ts +0 -186
- package/extensions/msteams/src/media-helpers.ts +0 -77
- package/extensions/msteams/src/messenger.test.ts +0 -245
- package/extensions/msteams/src/messenger.ts +0 -460
- package/extensions/msteams/src/monitor-handler/inbound-media.ts +0 -123
- package/extensions/msteams/src/monitor-handler/message-handler.ts +0 -629
- package/extensions/msteams/src/monitor-handler.ts +0 -166
- package/extensions/msteams/src/monitor-types.ts +0 -5
- package/extensions/msteams/src/monitor.ts +0 -290
- package/extensions/msteams/src/onboarding.ts +0 -432
- package/extensions/msteams/src/outbound.ts +0 -47
- package/extensions/msteams/src/pending-uploads.ts +0 -87
- package/extensions/msteams/src/policy.test.ts +0 -210
- package/extensions/msteams/src/policy.ts +0 -202
- package/extensions/msteams/src/polls-store-memory.ts +0 -30
- package/extensions/msteams/src/polls-store.test.ts +0 -40
- package/extensions/msteams/src/polls.test.ts +0 -72
- package/extensions/msteams/src/polls.ts +0 -299
- package/extensions/msteams/src/probe.test.ts +0 -57
- package/extensions/msteams/src/probe.ts +0 -99
- package/extensions/msteams/src/reply-dispatcher.ts +0 -128
- package/extensions/msteams/src/resolve-allowlist.ts +0 -277
- package/extensions/msteams/src/runtime.ts +0 -14
- package/extensions/msteams/src/sdk-types.ts +0 -19
- package/extensions/msteams/src/sdk.ts +0 -33
- package/extensions/msteams/src/send-context.ts +0 -156
- package/extensions/msteams/src/send.ts +0 -489
- package/extensions/msteams/src/sent-message-cache.test.ts +0 -16
- package/extensions/msteams/src/sent-message-cache.ts +0 -41
- package/extensions/msteams/src/storage.ts +0 -22
- package/extensions/msteams/src/store-fs.ts +0 -80
- package/extensions/msteams/src/token.ts +0 -19
- package/extensions/nextcloud-talk/clawdbot.plugin.json +0 -11
- package/extensions/nextcloud-talk/index.ts +0 -18
- package/extensions/nextcloud-talk/package.json +0 -30
- package/extensions/nextcloud-talk/src/accounts.ts +0 -154
- package/extensions/nextcloud-talk/src/channel.ts +0 -404
- package/extensions/nextcloud-talk/src/config-schema.ts +0 -78
- package/extensions/nextcloud-talk/src/format.ts +0 -79
- package/extensions/nextcloud-talk/src/inbound.ts +0 -336
- package/extensions/nextcloud-talk/src/monitor.ts +0 -246
- package/extensions/nextcloud-talk/src/normalize.ts +0 -31
- package/extensions/nextcloud-talk/src/onboarding.ts +0 -341
- package/extensions/nextcloud-talk/src/policy.ts +0 -175
- package/extensions/nextcloud-talk/src/room-info.ts +0 -111
- package/extensions/nextcloud-talk/src/runtime.ts +0 -14
- package/extensions/nextcloud-talk/src/send.ts +0 -206
- package/extensions/nextcloud-talk/src/signature.ts +0 -67
- package/extensions/nextcloud-talk/src/types.ts +0 -179
- package/extensions/nostr/CHANGELOG.md +0 -46
- package/extensions/nostr/README.md +0 -136
- package/extensions/nostr/clawdbot.plugin.json +0 -11
- package/extensions/nostr/index.ts +0 -69
- package/extensions/nostr/package.json +0 -31
- package/extensions/nostr/src/channel.test.ts +0 -141
- package/extensions/nostr/src/channel.ts +0 -342
- package/extensions/nostr/src/config-schema.ts +0 -90
- package/extensions/nostr/src/metrics.ts +0 -464
- package/extensions/nostr/src/nostr-bus.fuzz.test.ts +0 -544
- package/extensions/nostr/src/nostr-bus.integration.test.ts +0 -452
- package/extensions/nostr/src/nostr-bus.test.ts +0 -199
- package/extensions/nostr/src/nostr-bus.ts +0 -741
- package/extensions/nostr/src/nostr-profile-http.test.ts +0 -378
- package/extensions/nostr/src/nostr-profile-http.ts +0 -500
- package/extensions/nostr/src/nostr-profile-import.test.ts +0 -120
- package/extensions/nostr/src/nostr-profile-import.ts +0 -259
- package/extensions/nostr/src/nostr-profile.fuzz.test.ts +0 -479
- package/extensions/nostr/src/nostr-profile.test.ts +0 -410
- package/extensions/nostr/src/nostr-profile.ts +0 -242
- package/extensions/nostr/src/nostr-state-store.test.ts +0 -128
- package/extensions/nostr/src/nostr-state-store.ts +0 -226
- package/extensions/nostr/src/runtime.ts +0 -14
- package/extensions/nostr/src/seen-tracker.ts +0 -271
- package/extensions/nostr/src/types.test.ts +0 -161
- package/extensions/nostr/src/types.ts +0 -99
- package/extensions/nostr/test/setup.ts +0 -5
- package/extensions/open-prose/README.md +0 -25
- package/extensions/open-prose/clawdbot.plugin.json +0 -11
- package/extensions/open-prose/index.ts +0 -5
- package/extensions/open-prose/package.json +0 -11
- package/extensions/open-prose/skills/prose/LICENSE +0 -21
- package/extensions/open-prose/skills/prose/SKILL.md +0 -318
- package/extensions/open-prose/skills/prose/alt-borges.md +0 -141
- package/extensions/open-prose/skills/prose/alts/arabian-nights.md +0 -358
- package/extensions/open-prose/skills/prose/alts/borges.md +0 -360
- package/extensions/open-prose/skills/prose/alts/folk.md +0 -322
- package/extensions/open-prose/skills/prose/alts/homer.md +0 -346
- package/extensions/open-prose/skills/prose/alts/kafka.md +0 -373
- package/extensions/open-prose/skills/prose/compiler.md +0 -2967
- package/extensions/open-prose/skills/prose/examples/01-hello-world.prose +0 -4
- package/extensions/open-prose/skills/prose/examples/02-research-and-summarize.prose +0 -6
- package/extensions/open-prose/skills/prose/examples/03-code-review.prose +0 -17
- package/extensions/open-prose/skills/prose/examples/04-write-and-refine.prose +0 -14
- package/extensions/open-prose/skills/prose/examples/05-debug-issue.prose +0 -20
- package/extensions/open-prose/skills/prose/examples/06-explain-codebase.prose +0 -17
- package/extensions/open-prose/skills/prose/examples/07-refactor.prose +0 -20
- package/extensions/open-prose/skills/prose/examples/08-blog-post.prose +0 -20
- package/extensions/open-prose/skills/prose/examples/09-research-with-agents.prose +0 -25
- package/extensions/open-prose/skills/prose/examples/10-code-review-agents.prose +0 -32
- package/extensions/open-prose/skills/prose/examples/11-skills-and-imports.prose +0 -27
- package/extensions/open-prose/skills/prose/examples/12-secure-agent-permissions.prose +0 -43
- package/extensions/open-prose/skills/prose/examples/13-variables-and-context.prose +0 -51
- package/extensions/open-prose/skills/prose/examples/14-composition-blocks.prose +0 -48
- package/extensions/open-prose/skills/prose/examples/15-inline-sequences.prose +0 -23
- package/extensions/open-prose/skills/prose/examples/16-parallel-reviews.prose +0 -19
- package/extensions/open-prose/skills/prose/examples/17-parallel-research.prose +0 -19
- package/extensions/open-prose/skills/prose/examples/18-mixed-parallel-sequential.prose +0 -36
- package/extensions/open-prose/skills/prose/examples/19-advanced-parallel.prose +0 -71
- package/extensions/open-prose/skills/prose/examples/20-fixed-loops.prose +0 -20
- package/extensions/open-prose/skills/prose/examples/21-pipeline-operations.prose +0 -35
- package/extensions/open-prose/skills/prose/examples/22-error-handling.prose +0 -51
- package/extensions/open-prose/skills/prose/examples/23-retry-with-backoff.prose +0 -63
- package/extensions/open-prose/skills/prose/examples/24-choice-blocks.prose +0 -86
- package/extensions/open-prose/skills/prose/examples/25-conditionals.prose +0 -114
- package/extensions/open-prose/skills/prose/examples/26-parameterized-blocks.prose +0 -100
- package/extensions/open-prose/skills/prose/examples/27-string-interpolation.prose +0 -105
- package/extensions/open-prose/skills/prose/examples/28-automated-pr-review.prose +0 -37
- package/extensions/open-prose/skills/prose/examples/28-gas-town.prose +0 -1572
- package/extensions/open-prose/skills/prose/examples/29-captains-chair.prose +0 -218
- package/extensions/open-prose/skills/prose/examples/30-captains-chair-simple.prose +0 -42
- package/extensions/open-prose/skills/prose/examples/31-captains-chair-with-memory.prose +0 -145
- package/extensions/open-prose/skills/prose/examples/33-pr-review-autofix.prose +0 -168
- package/extensions/open-prose/skills/prose/examples/34-content-pipeline.prose +0 -204
- package/extensions/open-prose/skills/prose/examples/35-feature-factory.prose +0 -296
- package/extensions/open-prose/skills/prose/examples/36-bug-hunter.prose +0 -237
- package/extensions/open-prose/skills/prose/examples/37-the-forge.prose +0 -1474
- package/extensions/open-prose/skills/prose/examples/38-skill-scan.prose +0 -455
- package/extensions/open-prose/skills/prose/examples/39-architect-by-simulation.prose +0 -277
- package/extensions/open-prose/skills/prose/examples/40-rlm-self-refine.prose +0 -32
- package/extensions/open-prose/skills/prose/examples/41-rlm-divide-conquer.prose +0 -38
- package/extensions/open-prose/skills/prose/examples/42-rlm-filter-recurse.prose +0 -46
- package/extensions/open-prose/skills/prose/examples/43-rlm-pairwise.prose +0 -50
- package/extensions/open-prose/skills/prose/examples/44-run-endpoint-ux-test.prose +0 -261
- package/extensions/open-prose/skills/prose/examples/45-plugin-release.prose +0 -159
- package/extensions/open-prose/skills/prose/examples/45-run-endpoint-ux-test-with-remediation.prose +0 -637
- package/extensions/open-prose/skills/prose/examples/46-run-endpoint-ux-test-fast.prose +0 -148
- package/extensions/open-prose/skills/prose/examples/46-workflow-crystallizer.prose +0 -225
- package/extensions/open-prose/skills/prose/examples/47-language-self-improvement.prose +0 -356
- package/extensions/open-prose/skills/prose/examples/48-habit-miner.prose +0 -445
- package/extensions/open-prose/skills/prose/examples/49-prose-run-retrospective.prose +0 -210
- package/extensions/open-prose/skills/prose/examples/README.md +0 -391
- package/extensions/open-prose/skills/prose/examples/roadmap/README.md +0 -22
- package/extensions/open-prose/skills/prose/examples/roadmap/iterative-refinement.prose +0 -20
- package/extensions/open-prose/skills/prose/examples/roadmap/parallel-review.prose +0 -18
- package/extensions/open-prose/skills/prose/examples/roadmap/simple-pipeline.prose +0 -17
- package/extensions/open-prose/skills/prose/examples/roadmap/syntax/open-prose-syntax.prose +0 -223
- package/extensions/open-prose/skills/prose/guidance/antipatterns.md +0 -951
- package/extensions/open-prose/skills/prose/guidance/patterns.md +0 -700
- package/extensions/open-prose/skills/prose/guidance/system-prompt.md +0 -180
- package/extensions/open-prose/skills/prose/help.md +0 -143
- package/extensions/open-prose/skills/prose/lib/README.md +0 -105
- package/extensions/open-prose/skills/prose/lib/calibrator.prose +0 -215
- package/extensions/open-prose/skills/prose/lib/cost-analyzer.prose +0 -174
- package/extensions/open-prose/skills/prose/lib/error-forensics.prose +0 -250
- package/extensions/open-prose/skills/prose/lib/inspector.prose +0 -196
- package/extensions/open-prose/skills/prose/lib/profiler.prose +0 -460
- package/extensions/open-prose/skills/prose/lib/program-improver.prose +0 -275
- package/extensions/open-prose/skills/prose/lib/project-memory.prose +0 -118
- package/extensions/open-prose/skills/prose/lib/user-memory.prose +0 -93
- package/extensions/open-prose/skills/prose/lib/vm-improver.prose +0 -243
- package/extensions/open-prose/skills/prose/primitives/session.md +0 -587
- package/extensions/open-prose/skills/prose/prose.md +0 -1235
- package/extensions/open-prose/skills/prose/state/filesystem.md +0 -478
- package/extensions/open-prose/skills/prose/state/in-context.md +0 -380
- package/extensions/open-prose/skills/prose/state/postgres.md +0 -875
- package/extensions/open-prose/skills/prose/state/sqlite.md +0 -572
- package/extensions/qwen-portal-auth/README.md +0 -24
- package/extensions/qwen-portal-auth/clawdbot.plugin.json +0 -11
- package/extensions/qwen-portal-auth/index.ts +0 -127
- package/extensions/qwen-portal-auth/oauth.ts +0 -190
- package/extensions/signal/clawdbot.plugin.json +0 -11
- package/extensions/signal/index.ts +0 -18
- package/extensions/signal/package.json +0 -11
- package/extensions/signal/src/channel.ts +0 -312
- package/extensions/signal/src/runtime.ts +0 -14
- package/extensions/telegram/clawdbot.plugin.json +0 -11
- package/extensions/telegram/index.ts +0 -18
- package/extensions/telegram/package.json +0 -11
- package/extensions/telegram/src/channel.ts +0 -478
- package/extensions/telegram/src/runtime.ts +0 -14
- package/extensions/tlon/README.md +0 -5
- package/extensions/tlon/clawdbot.plugin.json +0 -11
- package/extensions/tlon/index.ts +0 -18
- package/extensions/tlon/package.json +0 -30
- package/extensions/tlon/src/channel.ts +0 -379
- package/extensions/tlon/src/config-schema.test.ts +0 -32
- package/extensions/tlon/src/config-schema.ts +0 -43
- package/extensions/tlon/src/monitor/discovery.ts +0 -71
- package/extensions/tlon/src/monitor/history.ts +0 -87
- package/extensions/tlon/src/monitor/index.ts +0 -501
- package/extensions/tlon/src/monitor/processed-messages.test.ts +0 -24
- package/extensions/tlon/src/monitor/processed-messages.ts +0 -38
- package/extensions/tlon/src/monitor/utils.ts +0 -83
- package/extensions/tlon/src/onboarding.ts +0 -213
- package/extensions/tlon/src/runtime.ts +0 -14
- package/extensions/tlon/src/targets.ts +0 -79
- package/extensions/tlon/src/types.ts +0 -85
- package/extensions/tlon/src/urbit/auth.ts +0 -18
- package/extensions/tlon/src/urbit/http-api.ts +0 -36
- package/extensions/tlon/src/urbit/send.test.ts +0 -38
- package/extensions/tlon/src/urbit/send.ts +0 -127
- package/extensions/tlon/src/urbit/sse-client.test.ts +0 -41
- package/extensions/tlon/src/urbit/sse-client.ts +0 -367
- package/extensions/twitch/CHANGELOG.md +0 -21
- package/extensions/twitch/README.md +0 -89
- package/extensions/twitch/clawdbot.plugin.json +0 -9
- package/extensions/twitch/index.ts +0 -20
- package/extensions/twitch/package.json +0 -20
- package/extensions/twitch/src/access-control.test.ts +0 -489
- package/extensions/twitch/src/access-control.ts +0 -154
- package/extensions/twitch/src/actions.ts +0 -173
- package/extensions/twitch/src/client-manager-registry.ts +0 -115
- package/extensions/twitch/src/config-schema.ts +0 -82
- package/extensions/twitch/src/config.test.ts +0 -88
- package/extensions/twitch/src/config.ts +0 -116
- package/extensions/twitch/src/monitor.ts +0 -257
- package/extensions/twitch/src/onboarding.test.ts +0 -311
- package/extensions/twitch/src/onboarding.ts +0 -411
- package/extensions/twitch/src/outbound.test.ts +0 -373
- package/extensions/twitch/src/outbound.ts +0 -186
- package/extensions/twitch/src/plugin.test.ts +0 -39
- package/extensions/twitch/src/plugin.ts +0 -274
- package/extensions/twitch/src/probe.test.ts +0 -198
- package/extensions/twitch/src/probe.ts +0 -118
- package/extensions/twitch/src/resolver.ts +0 -137
- package/extensions/twitch/src/runtime.ts +0 -14
- package/extensions/twitch/src/send.test.ts +0 -289
- package/extensions/twitch/src/send.ts +0 -136
- package/extensions/twitch/src/status.test.ts +0 -270
- package/extensions/twitch/src/status.ts +0 -176
- package/extensions/twitch/src/token.test.ts +0 -171
- package/extensions/twitch/src/token.ts +0 -87
- package/extensions/twitch/src/twitch-client.test.ts +0 -574
- package/extensions/twitch/src/twitch-client.ts +0 -277
- package/extensions/twitch/src/types.ts +0 -141
- package/extensions/twitch/src/utils/markdown.ts +0 -92
- package/extensions/twitch/src/utils/twitch.ts +0 -78
- package/extensions/twitch/test/setup.ts +0 -7
- package/extensions/voice-call/CHANGELOG.md +0 -72
- package/extensions/voice-call/README.md +0 -134
- package/extensions/voice-call/clawdbot.plugin.json +0 -601
- package/extensions/voice-call/index.ts +0 -497
- package/extensions/voice-call/package.json +0 -16
- package/extensions/voice-call/src/cli.ts +0 -300
- package/extensions/voice-call/src/config.test.ts +0 -204
- package/extensions/voice-call/src/config.ts +0 -493
- package/extensions/voice-call/src/core-bridge.ts +0 -196
- package/extensions/voice-call/src/manager/context.ts +0 -21
- package/extensions/voice-call/src/manager/events.ts +0 -177
- package/extensions/voice-call/src/manager/lookup.ts +0 -33
- package/extensions/voice-call/src/manager/outbound.ts +0 -248
- package/extensions/voice-call/src/manager/state.ts +0 -50
- package/extensions/voice-call/src/manager/store.ts +0 -88
- package/extensions/voice-call/src/manager/timers.ts +0 -86
- package/extensions/voice-call/src/manager/twiml.ts +0 -9
- package/extensions/voice-call/src/manager.test.ts +0 -108
- package/extensions/voice-call/src/manager.ts +0 -876
- package/extensions/voice-call/src/media-stream.test.ts +0 -97
- package/extensions/voice-call/src/media-stream.ts +0 -393
- package/extensions/voice-call/src/providers/base.ts +0 -67
- package/extensions/voice-call/src/providers/index.ts +0 -10
- package/extensions/voice-call/src/providers/mock.ts +0 -168
- package/extensions/voice-call/src/providers/plivo.test.ts +0 -28
- package/extensions/voice-call/src/providers/plivo.ts +0 -504
- package/extensions/voice-call/src/providers/stt-openai-realtime.ts +0 -311
- package/extensions/voice-call/src/providers/telnyx.ts +0 -364
- package/extensions/voice-call/src/providers/tts-openai.ts +0 -264
- package/extensions/voice-call/src/providers/twilio/api.ts +0 -45
- package/extensions/voice-call/src/providers/twilio/webhook.ts +0 -29
- package/extensions/voice-call/src/providers/twilio.test.ts +0 -64
- package/extensions/voice-call/src/providers/twilio.ts +0 -595
- package/extensions/voice-call/src/response-generator.ts +0 -171
- package/extensions/voice-call/src/runtime.ts +0 -205
- package/extensions/voice-call/src/telephony-audio.ts +0 -88
- package/extensions/voice-call/src/telephony-tts.ts +0 -95
- package/extensions/voice-call/src/tunnel.ts +0 -331
- package/extensions/voice-call/src/types.ts +0 -272
- package/extensions/voice-call/src/utils.ts +0 -12
- package/extensions/voice-call/src/voice-mapping.ts +0 -65
- package/extensions/voice-call/src/webhook-security.test.ts +0 -233
- package/extensions/voice-call/src/webhook-security.ts +0 -446
- package/extensions/voice-call/src/webhook.ts +0 -490
- package/extensions/whatsapp/clawdbot.plugin.json +0 -11
- package/extensions/whatsapp/index.ts +0 -18
- package/extensions/whatsapp/package.json +0 -11
- package/extensions/whatsapp/src/channel.ts +0 -500
- package/extensions/whatsapp/src/runtime.ts +0 -14
- package/extensions/zalo/CHANGELOG.md +0 -55
- package/extensions/zalo/README.md +0 -50
- package/extensions/zalo/clawdbot.plugin.json +0 -11
- package/extensions/zalo/index.ts +0 -20
- package/extensions/zalo/package.json +0 -33
- package/extensions/zalo/src/accounts.ts +0 -71
- package/extensions/zalo/src/actions.ts +0 -62
- package/extensions/zalo/src/api.ts +0 -206
- package/extensions/zalo/src/channel.directory.test.ts +0 -35
- package/extensions/zalo/src/channel.ts +0 -394
- package/extensions/zalo/src/config-schema.ts +0 -24
- package/extensions/zalo/src/monitor.ts +0 -760
- package/extensions/zalo/src/monitor.webhook.test.ts +0 -70
- package/extensions/zalo/src/onboarding.ts +0 -405
- package/extensions/zalo/src/probe.ts +0 -46
- package/extensions/zalo/src/proxy.ts +0 -18
- package/extensions/zalo/src/runtime.ts +0 -14
- package/extensions/zalo/src/send.ts +0 -117
- package/extensions/zalo/src/status-issues.ts +0 -50
- package/extensions/zalo/src/token.ts +0 -55
- package/extensions/zalo/src/types.ts +0 -42
- package/extensions/zalouser/CHANGELOG.md +0 -33
- package/extensions/zalouser/README.md +0 -221
- package/extensions/zalouser/clawdbot.plugin.json +0 -11
- package/extensions/zalouser/index.ts +0 -32
- package/extensions/zalouser/package.json +0 -33
- package/extensions/zalouser/src/accounts.ts +0 -117
- package/extensions/zalouser/src/channel.test.ts +0 -17
- package/extensions/zalouser/src/channel.ts +0 -641
- package/extensions/zalouser/src/config-schema.ts +0 -27
- package/extensions/zalouser/src/monitor.ts +0 -574
- package/extensions/zalouser/src/onboarding.ts +0 -488
- package/extensions/zalouser/src/probe.ts +0 -28
- package/extensions/zalouser/src/runtime.ts +0 -14
- package/extensions/zalouser/src/send.ts +0 -150
- package/extensions/zalouser/src/status-issues.test.ts +0 -58
- package/extensions/zalouser/src/status-issues.ts +0 -81
- package/extensions/zalouser/src/tool.ts +0 -156
- package/extensions/zalouser/src/types.ts +0 -102
- package/extensions/zalouser/src/zca.ts +0 -208
- package/skills/1password/SKILL.md +0 -53
- package/skills/1password/references/cli-examples.md +0 -29
- package/skills/1password/references/get-started.md +0 -17
- package/skills/apple-notes/SKILL.md +0 -50
- package/skills/apple-reminders/SKILL.md +0 -67
- package/skills/bear-notes/SKILL.md +0 -79
- package/skills/bird/SKILL.md +0 -197
- package/skills/blogwatcher/SKILL.md +0 -46
- package/skills/blucli/SKILL.md +0 -27
- package/skills/bluebubbles/SKILL.md +0 -39
- package/skills/camsnap/SKILL.md +0 -25
- package/skills/canvas/SKILL.md +0 -189
- package/skills/clawdhub/SKILL.md +0 -53
- package/skills/coding-agent/SKILL.md +0 -278
- package/skills/discord/SKILL.md +0 -475
- package/skills/eightctl/SKILL.md +0 -29
- package/skills/food-order/SKILL.md +0 -41
- package/skills/gemini/SKILL.md +0 -23
- package/skills/gifgrep/SKILL.md +0 -47
- package/skills/github/SKILL.md +0 -48
- package/skills/gog/SKILL.md +0 -92
- package/skills/goplaces/SKILL.md +0 -30
- package/skills/himalaya/SKILL.md +0 -217
- package/skills/himalaya/references/configuration.md +0 -174
- package/skills/himalaya/references/message-composition.md +0 -182
- package/skills/imsg/SKILL.md +0 -25
- package/skills/local-places/SERVER_README.md +0 -101
- package/skills/local-places/SKILL.md +0 -91
- package/skills/local-places/pyproject.toml +0 -27
- package/skills/local-places/src/local_places/__init__.py +0 -2
- package/skills/local-places/src/local_places/google_places.py +0 -314
- package/skills/local-places/src/local_places/main.py +0 -65
- package/skills/local-places/src/local_places/schemas.py +0 -107
- package/skills/mcporter/SKILL.md +0 -38
- package/skills/model-usage/SKILL.md +0 -45
- package/skills/model-usage/references/codexbar-cli.md +0 -28
- package/skills/model-usage/scripts/model_usage.py +0 -310
- package/skills/nano-banana-pro/SKILL.md +0 -30
- package/skills/nano-banana-pro/scripts/generate_image.py +0 -169
- package/skills/nano-pdf/SKILL.md +0 -20
- package/skills/notion/SKILL.md +0 -156
- package/skills/obsidian/SKILL.md +0 -55
- package/skills/openai-image-gen/SKILL.md +0 -71
- package/skills/openai-image-gen/scripts/gen.py +0 -240
- package/skills/openai-whisper/SKILL.md +0 -19
- package/skills/openai-whisper-api/SKILL.md +0 -43
- package/skills/openai-whisper-api/scripts/transcribe.sh +0 -85
- package/skills/openhue/SKILL.md +0 -30
- package/skills/oracle/SKILL.md +0 -105
- package/skills/ordercli/SKILL.md +0 -47
- package/skills/peekaboo/SKILL.md +0 -153
- package/skills/sag/SKILL.md +0 -62
- package/skills/session-logs/SKILL.md +0 -105
- package/skills/sherpa-onnx-tts/SKILL.md +0 -49
- package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -178
- package/skills/skill-creator/SKILL.md +0 -371
- package/skills/skill-creator/license.txt +0 -202
- package/skills/skill-creator/scripts/init_skill.py +0 -378
- package/skills/skill-creator/scripts/package_skill.py +0 -111
- package/skills/skill-creator/scripts/quick_validate.py +0 -101
- package/skills/slack/SKILL.md +0 -144
- package/skills/songsee/SKILL.md +0 -29
- package/skills/sonoscli/SKILL.md +0 -26
- package/skills/spotify-player/SKILL.md +0 -34
- package/skills/summarize/SKILL.md +0 -67
- package/skills/things-mac/SKILL.md +0 -61
- package/skills/tmux/SKILL.md +0 -121
- package/skills/tmux/scripts/find-sessions.sh +0 -112
- package/skills/tmux/scripts/wait-for-text.sh +0 -83
- package/skills/trello/SKILL.md +0 -84
- package/skills/video-frames/SKILL.md +0 -29
- package/skills/video-frames/scripts/frame.sh +0 -81
- package/skills/voice-call/SKILL.md +0 -35
- package/skills/wacli/SKILL.md +0 -42
- package/skills/weather/SKILL.md +0 -49
package/extensions/open-prose/skills/prose/examples/45-run-endpoint-ux-test-with-remediation.prose
DELETED
|
@@ -1,637 +0,0 @@
|
|
|
1
|
-
# /run Endpoint UX Test with Error Remediation
|
|
2
|
-
#
|
|
3
|
-
# A multi-agent observation protocol for qualitative UX testing of the
|
|
4
|
-
# OpenProse /run endpoint, WITH automated error investigation and remediation.
|
|
5
|
-
#
|
|
6
|
-
# This extends the basic UX test with a comprehensive error handling pipeline:
|
|
7
|
-
# - If blocking errors are detected, investigate using logs, database, and code
|
|
8
|
-
# - Verify diagnosis through synthesis loop
|
|
9
|
-
# - Triage: quick fix vs. bigger change requiring CEO oversight
|
|
10
|
-
# - Quick fixes: engineer implements, deploys, tests, iterates
|
|
11
|
-
# - Bigger changes: build plan, parallel engineers, review, deploy, smoke test
|
|
12
|
-
#
|
|
13
|
-
# Key patterns demonstrated:
|
|
14
|
-
# - Mid-program `input` for user checkpoints
|
|
15
|
-
# - Persistent agents with `resume:` for accumulated context
|
|
16
|
-
# - Parallel investigation with multiple angles
|
|
17
|
-
# - `choice` blocks for triage decisions
|
|
18
|
-
# - `retry` with backoff for flaky operations
|
|
19
|
-
# - Recursive self-healing (if fix fails, re-test)
|
|
20
|
-
|
|
21
|
-
# Default test program (simple hello world)
|
|
22
|
-
const test_program = """
|
|
23
|
-
# Quick Hello
|
|
24
|
-
session "Say hello and count to 5"
|
|
25
|
-
"""
|
|
26
|
-
|
|
27
|
-
# Auto-auth: Read credentials from .env.test and fetch token
|
|
28
|
-
let api_url = session "Read API URL"
|
|
29
|
-
prompt: """Read the TEST_API_URL from .env.test and return just the URL.
|
|
30
|
-
If not found, default to: https://api-v2.prose.md"""
|
|
31
|
-
|
|
32
|
-
let auth_token = session "Authenticate"
|
|
33
|
-
prompt: """Read credentials from .env.test (TEST_EMAIL, TEST_PASSWORD).
|
|
34
|
-
Then POST to {api_url}/auth/login with these credentials.
|
|
35
|
-
Return just the token value (no Bearer prefix)."""
|
|
36
|
-
context: api_url
|
|
37
|
-
|
|
38
|
-
# ============================================================================
|
|
39
|
-
# Agent Definitions
|
|
40
|
-
# ============================================================================
|
|
41
|
-
|
|
42
|
-
# --- Observation Team ---
|
|
43
|
-
|
|
44
|
-
agent ws_observer:
|
|
45
|
-
model: opus
|
|
46
|
-
persist: true
|
|
47
|
-
prompt: """You are a UX researcher observing an OpenProse program execution.
|
|
48
|
-
|
|
49
|
-
Your job is to watch the WebSocket execution stream and evaluate the experience
|
|
50
|
-
from a USER's perspective - not as an engineer checking correctness.
|
|
51
|
-
|
|
52
|
-
Focus on:
|
|
53
|
-
- Latency and responsiveness (does it FEEL fast?)
|
|
54
|
-
- Clarity of status transitions (does the user know what's happening?)
|
|
55
|
-
- Quality of streamed events (are they informative? overwhelming? sparse?)
|
|
56
|
-
- Error messages (helpful or cryptic?)
|
|
57
|
-
- Overall flow (smooth or jarring?)
|
|
58
|
-
|
|
59
|
-
Log your raw observations, then periodically synthesize into user feedback.
|
|
60
|
-
Think: "If I were a first-time user, what would I think right now?"
|
|
61
|
-
"""
|
|
62
|
-
|
|
63
|
-
agent file_observer:
|
|
64
|
-
model: opus
|
|
65
|
-
persist: true
|
|
66
|
-
prompt: """You are a UX researcher monitoring the file system during execution.
|
|
67
|
-
|
|
68
|
-
Your job is to observe how the filesystem changes as a program runs, evaluating
|
|
69
|
-
whether the state management would make sense to a user browsing files.
|
|
70
|
-
|
|
71
|
-
Focus on:
|
|
72
|
-
- Directory structure clarity (can a user understand what's where?)
|
|
73
|
-
- File naming conventions (self-documenting or cryptic?)
|
|
74
|
-
- State file contents (readable? useful for debugging?)
|
|
75
|
-
- Timing of file creation/modification (predictable?)
|
|
76
|
-
- What a file browser UI should show
|
|
77
|
-
|
|
78
|
-
You will poll periodically and note changes between snapshots.
|
|
79
|
-
"""
|
|
80
|
-
|
|
81
|
-
agent synthesizer:
|
|
82
|
-
model: opus
|
|
83
|
-
prompt: """You are a senior UX researcher synthesizing observations from
|
|
84
|
-
multiple sources into prioritized, actionable feedback.
|
|
85
|
-
|
|
86
|
-
Your output should be:
|
|
87
|
-
1. Correlated findings (where did both observers notice the same thing?)
|
|
88
|
-
2. Prioritized action items (high/medium/low)
|
|
89
|
-
3. Specific quotes/evidence supporting each finding
|
|
90
|
-
4. Recommendations that are concrete and implementable
|
|
91
|
-
|
|
92
|
-
Be direct. "The loading state is confusing" not "Consider potentially improving..."
|
|
93
|
-
|
|
94
|
-
IMPORTANT: At the end of your synthesis, include:
|
|
95
|
-
|
|
96
|
-
## Error Classification
|
|
97
|
-
blocking_error: true/false
|
|
98
|
-
error_summary: "One-line description of the blocking error, if any"
|
|
99
|
-
"""
|
|
100
|
-
|
|
101
|
-
# --- Remediation Team ---
|
|
102
|
-
|
|
103
|
-
agent researcher:
|
|
104
|
-
model: opus
|
|
105
|
-
persist: true
|
|
106
|
-
prompt: """You are a senior engineer investigating a production error.
|
|
107
|
-
|
|
108
|
-
Your job is to diagnose the ROOT CAUSE of errors by:
|
|
109
|
-
1. Reading relevant log files
|
|
110
|
-
2. Querying the database for related records
|
|
111
|
-
3. Examining the source code that produced the error
|
|
112
|
-
4. Tracing the execution path
|
|
113
|
-
|
|
114
|
-
Be thorough but focused. Follow the evidence. Don't speculate without data.
|
|
115
|
-
|
|
116
|
-
Output a structured diagnosis:
|
|
117
|
-
- Error symptom: What the user/system observed
|
|
118
|
-
- Root cause: The underlying technical issue
|
|
119
|
-
- Evidence: Specific logs, code, or data supporting your diagnosis
|
|
120
|
-
- Confidence: High/Medium/Low
|
|
121
|
-
- Affected components: Which files/services are involved
|
|
122
|
-
"""
|
|
123
|
-
|
|
124
|
-
agent diagnosis_verifier:
|
|
125
|
-
model: opus
|
|
126
|
-
prompt: """You are a staff engineer verifying a diagnosis.
|
|
127
|
-
|
|
128
|
-
Your job is to critically evaluate a proposed diagnosis by:
|
|
129
|
-
1. Checking if the evidence actually supports the conclusion
|
|
130
|
-
2. Looking for alternative explanations
|
|
131
|
-
3. Verifying the logic chain from symptom to root cause
|
|
132
|
-
4. Identifying gaps in the investigation
|
|
133
|
-
|
|
134
|
-
Be skeptical but fair. A good diagnosis should be:
|
|
135
|
-
- Supported by concrete evidence (not just plausible)
|
|
136
|
-
- Specific (not vague like "something went wrong")
|
|
137
|
-
- Actionable (points to what needs to be fixed)
|
|
138
|
-
|
|
139
|
-
Output:
|
|
140
|
-
- diagnosis_sound: true/false
|
|
141
|
-
- critique: What's wrong or missing (if not sound)
|
|
142
|
-
- follow_up_questions: What the researcher should investigate (if not sound)
|
|
143
|
-
- approved_diagnosis: The verified diagnosis (if sound)
|
|
144
|
-
"""
|
|
145
|
-
|
|
146
|
-
agent triage_expert:
|
|
147
|
-
model: opus
|
|
148
|
-
prompt: """You are a tech lead triaging a diagnosed bug.
|
|
149
|
-
|
|
150
|
-
Evaluate the diagnosis and categorize the fix:
|
|
151
|
-
|
|
152
|
-
QUICK FIX criteria (ALL must be true):
|
|
153
|
-
- Isolated bug affecting < 3 files
|
|
154
|
-
- No architectural changes required
|
|
155
|
-
- No API contract changes
|
|
156
|
-
- No security implications
|
|
157
|
-
- Estimated effort < 1 hour
|
|
158
|
-
- Low risk of regression
|
|
159
|
-
|
|
160
|
-
BIGGER CHANGE criteria (ANY triggers this):
|
|
161
|
-
- Affects > 3 files or multiple services
|
|
162
|
-
- Requires architectural decisions
|
|
163
|
-
- Changes API contracts or data models
|
|
164
|
-
- Has security implications
|
|
165
|
-
- Requires CEO/stakeholder input
|
|
166
|
-
- High risk of regression
|
|
167
|
-
- Unclear solution path
|
|
168
|
-
|
|
169
|
-
Output:
|
|
170
|
-
- triage_decision: "quick_fix" or "bigger_change"
|
|
171
|
-
- rationale: Why this classification
|
|
172
|
-
- risk_assessment: What could go wrong
|
|
173
|
-
- recommended_approach: High-level fix strategy
|
|
174
|
-
"""
|
|
175
|
-
|
|
176
|
-
agent engineer:
|
|
177
|
-
model: opus
|
|
178
|
-
persist: true
|
|
179
|
-
prompt: """You are a senior engineer implementing a fix.
|
|
180
|
-
|
|
181
|
-
Your job is to:
|
|
182
|
-
1. Understand the diagnosis and recommended approach
|
|
183
|
-
2. Write clean, tested code that fixes the issue
|
|
184
|
-
3. Follow existing patterns in the codebase
|
|
185
|
-
4. Create atomic commits with clear messages
|
|
186
|
-
5. Verify the fix works
|
|
187
|
-
|
|
188
|
-
Do not over-engineer. Fix the issue directly and simply.
|
|
189
|
-
Follow the project's coding standards and testing patterns.
|
|
190
|
-
"""
|
|
191
|
-
|
|
192
|
-
agent build_planner:
|
|
193
|
-
model: opus
|
|
194
|
-
prompt: """You are a software architect creating a build plan.
|
|
195
|
-
|
|
196
|
-
Follow the standards in docs/PLANNING_BEST_PRACTICES.md:
|
|
197
|
-
- Break work into self-contained phases
|
|
198
|
-
- Each phase should be testable and committable
|
|
199
|
-
- Identify parallel work where possible
|
|
200
|
-
- Define clear verification criteria
|
|
201
|
-
- Plan for rollback
|
|
202
|
-
|
|
203
|
-
Output a structured plan with:
|
|
204
|
-
- Phases (numbered, with dependencies)
|
|
205
|
-
- Tasks per phase
|
|
206
|
-
- Verification steps
|
|
207
|
-
- Commit strategy
|
|
208
|
-
- Risk mitigation
|
|
209
|
-
"""
|
|
210
|
-
|
|
211
|
-
agent reviewer:
|
|
212
|
-
model: opus
|
|
213
|
-
prompt: """You are a senior engineer reviewing a fix.
|
|
214
|
-
|
|
215
|
-
Evaluate the implementation by:
|
|
216
|
-
1. Checking git diff against the original diagnosis
|
|
217
|
-
2. Verifying the fix addresses the root cause
|
|
218
|
-
3. Looking for regressions or side effects
|
|
219
|
-
4. Checking test coverage
|
|
220
|
-
5. Reviewing code quality and patterns
|
|
221
|
-
|
|
222
|
-
Be thorough but not nitpicky. Focus on correctness and safety.
|
|
223
|
-
|
|
224
|
-
Output:
|
|
225
|
-
- review_approved: true/false
|
|
226
|
-
- issues: List of blocking issues (if not approved)
|
|
227
|
-
- suggestions: Non-blocking improvements
|
|
228
|
-
- confidence: How confident are you the fix is correct
|
|
229
|
-
"""
|
|
230
|
-
|
|
231
|
-
agent smoke_tester:
|
|
232
|
-
model: opus
|
|
233
|
-
prompt: """You are a QA engineer performing post-deployment verification.
|
|
234
|
-
|
|
235
|
-
Follow the procedures in docs/MONITORING.md to verify:
|
|
236
|
-
1. Health endpoints are responding
|
|
237
|
-
2. The specific bug is fixed
|
|
238
|
-
3. No new errors in logs
|
|
239
|
-
4. Key metrics are stable
|
|
240
|
-
|
|
241
|
-
Output:
|
|
242
|
-
- smoke_test_passed: true/false
|
|
243
|
-
- checks_performed: List of verifications done
|
|
244
|
-
- issues_found: Any problems discovered
|
|
245
|
-
- recommendations: Monitoring or follow-up suggestions
|
|
246
|
-
"""
|
|
247
|
-
|
|
248
|
-
# ============================================================================
|
|
249
|
-
# Blocks: Observation
|
|
250
|
-
# ============================================================================
|
|
251
|
-
|
|
252
|
-
block observe_websocket(ws_url, token, program):
|
|
253
|
-
session: ws_observer
|
|
254
|
-
prompt: """Connect to the WebSocket at:
|
|
255
|
-
{ws_url}&token={token}
|
|
256
|
-
|
|
257
|
-
Once connected, send the execute message:
|
|
258
|
-
{"type":"execute","program":<the program>}
|
|
259
|
-
|
|
260
|
-
Program:
|
|
261
|
-
```
|
|
262
|
-
{program}
|
|
263
|
-
```
|
|
264
|
-
|
|
265
|
-
Log your initial connection experience."""
|
|
266
|
-
|
|
267
|
-
loop until **execution completed (received status: completed/failed/aborted)**:
|
|
268
|
-
resume: ws_observer
|
|
269
|
-
prompt: """Continue observing the WebSocket stream.
|
|
270
|
-
|
|
271
|
-
Log each message with timestamp, type, content, and your interpretation.
|
|
272
|
-
After every 3-5 messages, synthesize: what would a user be thinking?"""
|
|
273
|
-
|
|
274
|
-
output ws_feedback = resume: ws_observer
|
|
275
|
-
prompt: """The execution has completed. Write your final assessment:
|
|
276
|
-
1. Total duration and event count
|
|
277
|
-
2. Status transitions observed
|
|
278
|
-
3. What worked well from a UX perspective
|
|
279
|
-
4. Pain points and confusion
|
|
280
|
-
5. Top 3 recommendations"""
|
|
281
|
-
|
|
282
|
-
block observe_filesystem(env_id, api_url, token):
|
|
283
|
-
session: file_observer
|
|
284
|
-
prompt: """Fetch the initial file tree:
|
|
285
|
-
GET {api_url}/environments/{env_id}/files/tree?depth=3
|
|
286
|
-
Authorization: Bearer {token}
|
|
287
|
-
|
|
288
|
-
Log the baseline directory structure."""
|
|
289
|
-
permissions:
|
|
290
|
-
network: ["{api_url}/*"]
|
|
291
|
-
|
|
292
|
-
let snapshot_count = 0
|
|
293
|
-
|
|
294
|
-
loop until **websocket observer signals completion** (max: 30):
|
|
295
|
-
let snapshot_count = snapshot_count + 1
|
|
296
|
-
|
|
297
|
-
resume: file_observer
|
|
298
|
-
prompt: """Snapshot #{snapshot_count}: Fetch and compare file tree.
|
|
299
|
-
Log what's NEW, MODIFIED, and any interesting state files to read."""
|
|
300
|
-
permissions:
|
|
301
|
-
network: ["{api_url}/*"]
|
|
302
|
-
|
|
303
|
-
output file_feedback = resume: file_observer
|
|
304
|
-
prompt: """Final filesystem assessment:
|
|
305
|
-
1. Total snapshots taken
|
|
306
|
-
2. Files created during execution
|
|
307
|
-
3. State file clarity
|
|
308
|
-
4. Top 3 recommendations"""
|
|
309
|
-
|
|
310
|
-
# ============================================================================
|
|
311
|
-
# Blocks: Investigation
|
|
312
|
-
# ============================================================================
|
|
313
|
-
|
|
314
|
-
block investigate_error(error_summary, ws_results, file_results, exec_info):
|
|
315
|
-
# Parallel investigation from multiple angles
|
|
316
|
-
parallel:
|
|
317
|
-
code_analysis = session: researcher
|
|
318
|
-
prompt: """Investigate the CODE PATH for this error:
|
|
319
|
-
|
|
320
|
-
ERROR: {error_summary}
|
|
321
|
-
|
|
322
|
-
Search the codebase for:
|
|
323
|
-
1. The execution logic that produced this error
|
|
324
|
-
2. Error handling paths
|
|
325
|
-
3. Recent changes to related code (git log)
|
|
326
|
-
|
|
327
|
-
Focus on understanding HOW this error was produced."""
|
|
328
|
-
permissions:
|
|
329
|
-
filesystem: ["read"]
|
|
330
|
-
|
|
331
|
-
log_analysis = session: researcher
|
|
332
|
-
prompt: """Investigate the LOGS for this error:
|
|
333
|
-
|
|
334
|
-
ERROR: {error_summary}
|
|
335
|
-
|
|
336
|
-
WebSocket observations:
|
|
337
|
-
{ws_results}
|
|
338
|
-
|
|
339
|
-
File explorer observations:
|
|
340
|
-
{file_results}
|
|
341
|
-
|
|
342
|
-
Look for:
|
|
343
|
-
1. Error messages and stack traces
|
|
344
|
-
2. Timing of events
|
|
345
|
-
3. Any warnings before the error"""
|
|
346
|
-
context: { ws_results, file_results }
|
|
347
|
-
|
|
348
|
-
context_analysis = session: researcher
|
|
349
|
-
prompt: """Investigate the EXECUTION CONTEXT:
|
|
350
|
-
|
|
351
|
-
ERROR: {error_summary}
|
|
352
|
-
|
|
353
|
-
Execution info:
|
|
354
|
-
{exec_info}
|
|
355
|
-
|
|
356
|
-
Check:
|
|
357
|
-
1. Environment state
|
|
358
|
-
2. Database records for this execution
|
|
359
|
-
3. Any configuration issues"""
|
|
360
|
-
context: exec_info
|
|
361
|
-
permissions:
|
|
362
|
-
database: ["read"]
|
|
363
|
-
|
|
364
|
-
# Synthesize findings from all angles
|
|
365
|
-
output diagnosis = resume: researcher
|
|
366
|
-
prompt: """Synthesize your parallel investigations into a unified diagnosis:
|
|
367
|
-
|
|
368
|
-
Code analysis: {code_analysis}
|
|
369
|
-
Log analysis: {log_analysis}
|
|
370
|
-
Context analysis: {context_analysis}
|
|
371
|
-
|
|
372
|
-
Provide:
|
|
373
|
-
- Root cause (specific and actionable)
|
|
374
|
-
- Evidence chain
|
|
375
|
-
- Confidence level
|
|
376
|
-
- Affected components"""
|
|
377
|
-
context: { code_analysis, log_analysis, context_analysis }
|
|
378
|
-
|
|
379
|
-
block verify_diagnosis(diagnosis, original_error, ws_results):
|
|
380
|
-
output verification = session: diagnosis_verifier
|
|
381
|
-
prompt: """Verify this diagnosis:
|
|
382
|
-
|
|
383
|
-
DIAGNOSIS:
|
|
384
|
-
{diagnosis}
|
|
385
|
-
|
|
386
|
-
ORIGINAL ERROR:
|
|
387
|
-
{original_error}
|
|
388
|
-
|
|
389
|
-
OBSERVATIONS:
|
|
390
|
-
{ws_results}
|
|
391
|
-
|
|
392
|
-
Is this diagnosis sound? If not, what's missing?"""
|
|
393
|
-
context: { diagnosis, ws_results }
|
|
394
|
-
|
|
395
|
-
# ============================================================================
|
|
396
|
-
# Blocks: Remediation
|
|
397
|
-
# ============================================================================
|
|
398
|
-
|
|
399
|
-
block quick_fix_cycle(diagnosis, triage):
|
|
400
|
-
# Implement the fix
|
|
401
|
-
let fix = session: engineer
|
|
402
|
-
prompt: """Implement a fix for:
|
|
403
|
-
|
|
404
|
-
DIAGNOSIS: {diagnosis}
|
|
405
|
-
APPROACH: {triage.recommended_approach}
|
|
406
|
-
|
|
407
|
-
Make the smallest change that fixes the issue.
|
|
408
|
-
Commit with: fix(scope): description"""
|
|
409
|
-
permissions:
|
|
410
|
-
filesystem: ["read", "write"]
|
|
411
|
-
|
|
412
|
-
# Review loop
|
|
413
|
-
loop until **review approved** (max: 3):
|
|
414
|
-
let review = session: reviewer
|
|
415
|
-
prompt: """Review this fix:
|
|
416
|
-
|
|
417
|
-
DIAGNOSIS: {diagnosis}
|
|
418
|
-
IMPLEMENTATION: {fix}
|
|
419
|
-
|
|
420
|
-
Does it address the root cause? Any regressions?"""
|
|
421
|
-
context: { diagnosis, fix }
|
|
422
|
-
|
|
423
|
-
if **review has blocking issues**:
|
|
424
|
-
let fix = resume: engineer
|
|
425
|
-
prompt: """Address review feedback:
|
|
426
|
-
|
|
427
|
-
{review.issues}
|
|
428
|
-
|
|
429
|
-
Update your fix accordingly."""
|
|
430
|
-
context: review
|
|
431
|
-
permissions:
|
|
432
|
-
filesystem: ["read", "write"]
|
|
433
|
-
|
|
434
|
-
output fix_result = { fix, review }
|
|
435
|
-
|
|
436
|
-
block deploy_and_verify(fix_result):
|
|
437
|
-
# Deploy with retry
|
|
438
|
-
let deploy = session "Deploy fix"
|
|
439
|
-
prompt: """Deploy following docs/DEPLOYMENT.md.
|
|
440
|
-
Verify deployment succeeded."""
|
|
441
|
-
retry: 3
|
|
442
|
-
backoff: exponential
|
|
443
|
-
permissions:
|
|
444
|
-
network: ["*"]
|
|
445
|
-
|
|
446
|
-
# Smoke test
|
|
447
|
-
let smoke = session: smoke_tester
|
|
448
|
-
prompt: """Post-deployment verification per docs/MONITORING.md:
|
|
449
|
-
1. Health endpoints
|
|
450
|
-
2. Verify bug is fixed
|
|
451
|
-
3. Check for new errors"""
|
|
452
|
-
|
|
453
|
-
output deploy_result = { deploy, smoke, success: **smoke test passed** }
|
|
454
|
-
|
|
455
|
-
block bigger_change_flow(diagnosis, triage):
|
|
456
|
-
# Build the plan
|
|
457
|
-
let plan = session: build_planner
|
|
458
|
-
prompt: """Create a build plan for:
|
|
459
|
-
|
|
460
|
-
DIAGNOSIS: {diagnosis}
|
|
461
|
-
TRIAGE: {triage}
|
|
462
|
-
|
|
463
|
-
Follow docs/PLANNING_BEST_PRACTICES.md."""
|
|
464
|
-
context:
|
|
465
|
-
file: "docs/PLANNING_BEST_PRACTICES.md"
|
|
466
|
-
|
|
467
|
-
# User approval of plan
|
|
468
|
-
input plan_approval: **
|
|
469
|
-
Build plan created:
|
|
470
|
-
{plan}
|
|
471
|
-
|
|
472
|
-
Approve and execute?
|
|
473
|
-
**
|
|
474
|
-
|
|
475
|
-
if plan_approval != "approve":
|
|
476
|
-
output change_result = { success: false, reason: plan_approval, plan }
|
|
477
|
-
return
|
|
478
|
-
|
|
479
|
-
# Execute phases (parallel where possible)
|
|
480
|
-
let phase_results = plan.phases
|
|
481
|
-
| pmap:
|
|
482
|
-
session: engineer
|
|
483
|
-
prompt: """Execute phase:
|
|
484
|
-
{item.name}
|
|
485
|
-
{item.tasks}
|
|
486
|
-
|
|
487
|
-
Complete tasks, run verification, commit."""
|
|
488
|
-
permissions:
|
|
489
|
-
filesystem: ["read", "write"]
|
|
490
|
-
|
|
491
|
-
# Final review
|
|
492
|
-
let review = session: reviewer
|
|
493
|
-
prompt: """Review complete implementation:
|
|
494
|
-
|
|
495
|
-
PLAN: {plan}
|
|
496
|
-
RESULTS: {phase_results}
|
|
497
|
-
|
|
498
|
-
All phases complete? Root cause addressed?"""
|
|
499
|
-
context: { plan, phase_results }
|
|
500
|
-
|
|
501
|
-
if **review not approved**:
|
|
502
|
-
output change_result = { success: false, reason: "Review failed", review }
|
|
503
|
-
return
|
|
504
|
-
|
|
505
|
-
# Deploy
|
|
506
|
-
let deploy_result = do deploy_and_verify({ fix: phase_results, review })
|
|
507
|
-
|
|
508
|
-
output change_result = {
|
|
509
|
-
success: deploy_result.success,
|
|
510
|
-
plan,
|
|
511
|
-
phases: phase_results,
|
|
512
|
-
review,
|
|
513
|
-
deploy: deploy_result
|
|
514
|
-
}
|
|
515
|
-
|
|
516
|
-
# ============================================================================
|
|
517
|
-
# Main Workflow
|
|
518
|
-
# ============================================================================
|
|
519
|
-
|
|
520
|
-
# Phase 1: Setup
|
|
521
|
-
let exec = session "Execute POST /run"
|
|
522
|
-
prompt: """POST to {api_url}/run with the test program.
|
|
523
|
-
Return executionId, environmentId, wsUrl."""
|
|
524
|
-
permissions:
|
|
525
|
-
network: ["{api_url}/*"]
|
|
526
|
-
|
|
527
|
-
session "Log test configuration"
|
|
528
|
-
prompt: """Log: timestamp, API URL, execution/environment IDs, program snippet."""
|
|
529
|
-
context: exec
|
|
530
|
-
|
|
531
|
-
# Phase 2: Parallel Observation
|
|
532
|
-
parallel:
|
|
533
|
-
ws_results = do observe_websocket(exec.wsUrl, auth_token, test_program)
|
|
534
|
-
file_results = do observe_filesystem(exec.environmentId, api_url, auth_token)
|
|
535
|
-
|
|
536
|
-
# Phase 3: Synthesis
|
|
537
|
-
let synthesis = session: synthesizer
|
|
538
|
-
prompt: """Synthesize observations into UX assessment.
|
|
539
|
-
|
|
540
|
-
WebSocket: {ws_results}
|
|
541
|
-
File Explorer: {file_results}
|
|
542
|
-
|
|
543
|
-
Include error classification at the end."""
|
|
544
|
-
context: { ws_results, file_results, exec }
|
|
545
|
-
|
|
546
|
-
# Phase 4: Error Remediation (if needed)
|
|
547
|
-
if **blocking error detected in synthesis**:
|
|
548
|
-
|
|
549
|
-
# User checkpoint: investigate?
|
|
550
|
-
input investigate_decision: **
|
|
551
|
-
Blocking error detected:
|
|
552
|
-
{synthesis.error_summary}
|
|
553
|
-
|
|
554
|
-
Investigate and attempt remediation?
|
|
555
|
-
**
|
|
556
|
-
|
|
557
|
-
if investigate_decision == "skip":
|
|
558
|
-
output final_result = { test_results: synthesis, remediation: "skipped" }
|
|
559
|
-
|
|
560
|
-
elif investigate_decision == "investigate only":
|
|
561
|
-
let diagnosis = do investigate_error(synthesis.error_summary, ws_results, file_results, exec)
|
|
562
|
-
output final_result = { test_results: synthesis, diagnosis, remediation: "investigation only" }
|
|
563
|
-
|
|
564
|
-
else:
|
|
565
|
-
# Full remediation flow
|
|
566
|
-
let diagnosis = do investigate_error(synthesis.error_summary, ws_results, file_results, exec)
|
|
567
|
-
|
|
568
|
-
# Verification loop
|
|
569
|
-
loop until **diagnosis verified** (max: 3):
|
|
570
|
-
let verification = do verify_diagnosis(diagnosis, synthesis.error_summary, ws_results)
|
|
571
|
-
|
|
572
|
-
if verification.diagnosis_sound:
|
|
573
|
-
break
|
|
574
|
-
else:
|
|
575
|
-
let diagnosis = resume: researcher
|
|
576
|
-
prompt: """Diagnosis needs refinement:
|
|
577
|
-
|
|
578
|
-
{verification.critique}
|
|
579
|
-
|
|
580
|
-
Investigate: {verification.follow_up_questions}"""
|
|
581
|
-
|
|
582
|
-
# User checkpoint: confirm diagnosis before action
|
|
583
|
-
input diagnosis_confirmation: **
|
|
584
|
-
Diagnosis verified:
|
|
585
|
-
{diagnosis}
|
|
586
|
-
|
|
587
|
-
Proceed to triage and remediation?
|
|
588
|
-
**
|
|
589
|
-
|
|
590
|
-
if diagnosis_confirmation != "proceed":
|
|
591
|
-
output final_result = { test_results: synthesis, diagnosis, remediation: diagnosis_confirmation }
|
|
592
|
-
|
|
593
|
-
else:
|
|
594
|
-
# Triage
|
|
595
|
-
let triage = session: triage_expert
|
|
596
|
-
prompt: """Triage this bug: {diagnosis}"""
|
|
597
|
-
context: diagnosis
|
|
598
|
-
|
|
599
|
-
# Route based on triage
|
|
600
|
-
choice **triage decision**:
|
|
601
|
-
option "Quick fix":
|
|
602
|
-
let fix_result = do quick_fix_cycle(diagnosis, triage)
|
|
603
|
-
|
|
604
|
-
# User checkpoint before deploy
|
|
605
|
-
input deploy_decision: **
|
|
606
|
-
Fix implemented and reviewed:
|
|
607
|
-
{fix_result}
|
|
608
|
-
|
|
609
|
-
Deploy to production?
|
|
610
|
-
**
|
|
611
|
-
|
|
612
|
-
if deploy_decision == "deploy":
|
|
613
|
-
let deploy_result = do deploy_and_verify(fix_result)
|
|
614
|
-
|
|
615
|
-
if not deploy_result.success:
|
|
616
|
-
# Recursive: re-run test to verify or catch new issues
|
|
617
|
-
input retry_decision: **
|
|
618
|
-
Deployment or smoke test failed.
|
|
619
|
-
Re-run the full test to diagnose new issues?
|
|
620
|
-
**
|
|
621
|
-
|
|
622
|
-
if retry_decision == "yes":
|
|
623
|
-
# Note: This would re-invoke the program - true self-healing
|
|
624
|
-
session "Log: Triggering re-test after failed deployment"
|
|
625
|
-
|
|
626
|
-
output final_result = { test_results: synthesis, diagnosis, triage, fix: fix_result, deploy: deploy_result }
|
|
627
|
-
else:
|
|
628
|
-
output final_result = { test_results: synthesis, diagnosis, triage, fix: fix_result, deploy: "skipped" }
|
|
629
|
-
|
|
630
|
-
option "Bigger change":
|
|
631
|
-
# CEO checkpoint is built into bigger_change_flow
|
|
632
|
-
let change_result = do bigger_change_flow(diagnosis, triage)
|
|
633
|
-
output final_result = { test_results: synthesis, diagnosis, triage, change: change_result }
|
|
634
|
-
|
|
635
|
-
else:
|
|
636
|
-
# No blocking error
|
|
637
|
-
output final_result = { test_results: synthesis, remediation: "none needed" }
|