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/skills/peekaboo/SKILL.md
DELETED
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: peekaboo
|
|
3
|
-
description: Capture and automate macOS UI with the Peekaboo CLI.
|
|
4
|
-
homepage: https://peekaboo.boo
|
|
5
|
-
metadata: {"clawdbot":{"emoji":"👀","os":["darwin"],"requires":{"bins":["peekaboo"]},"install":[{"id":"brew","kind":"brew","formula":"steipete/tap/peekaboo","bins":["peekaboo"],"label":"Install Peekaboo (brew)"}]}}
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Peekaboo
|
|
9
|
-
|
|
10
|
-
Peekaboo is a full macOS UI automation CLI: capture/inspect screens, target UI
|
|
11
|
-
elements, drive input, and manage apps/windows/menus. Commands share a snapshot
|
|
12
|
-
cache and support `--json`/`-j` for scripting. Run `peekaboo` or
|
|
13
|
-
`peekaboo <cmd> --help` for flags; `peekaboo --version` prints build metadata.
|
|
14
|
-
Tip: run via `polter peekaboo` to ensure fresh builds.
|
|
15
|
-
|
|
16
|
-
## Features (all CLI capabilities, excluding agent/MCP)
|
|
17
|
-
|
|
18
|
-
Core
|
|
19
|
-
- `bridge`: inspect Peekaboo Bridge host connectivity
|
|
20
|
-
- `capture`: live capture or video ingest + frame extraction
|
|
21
|
-
- `clean`: prune snapshot cache and temp files
|
|
22
|
-
- `config`: init/show/edit/validate, providers, models, credentials
|
|
23
|
-
- `image`: capture screenshots (screen/window/menu bar regions)
|
|
24
|
-
- `learn`: print the full agent guide + tool catalog
|
|
25
|
-
- `list`: apps, windows, screens, menubar, permissions
|
|
26
|
-
- `permissions`: check Screen Recording/Accessibility status
|
|
27
|
-
- `run`: execute `.peekaboo.json` scripts
|
|
28
|
-
- `sleep`: pause execution for a duration
|
|
29
|
-
- `tools`: list available tools with filtering/display options
|
|
30
|
-
|
|
31
|
-
Interaction
|
|
32
|
-
- `click`: target by ID/query/coords with smart waits
|
|
33
|
-
- `drag`: drag & drop across elements/coords/Dock
|
|
34
|
-
- `hotkey`: modifier combos like `cmd,shift,t`
|
|
35
|
-
- `move`: cursor positioning with optional smoothing
|
|
36
|
-
- `paste`: set clipboard -> paste -> restore
|
|
37
|
-
- `press`: special-key sequences with repeats
|
|
38
|
-
- `scroll`: directional scrolling (targeted + smooth)
|
|
39
|
-
- `swipe`: gesture-style drags between targets
|
|
40
|
-
- `type`: text + control keys (`--clear`, delays)
|
|
41
|
-
|
|
42
|
-
System
|
|
43
|
-
- `app`: launch/quit/relaunch/hide/unhide/switch/list apps
|
|
44
|
-
- `clipboard`: read/write clipboard (text/images/files)
|
|
45
|
-
- `dialog`: click/input/file/dismiss/list system dialogs
|
|
46
|
-
- `dock`: launch/right-click/hide/show/list Dock items
|
|
47
|
-
- `menu`: click/list application menus + menu extras
|
|
48
|
-
- `menubar`: list/click status bar items
|
|
49
|
-
- `open`: enhanced `open` with app targeting + JSON payloads
|
|
50
|
-
- `space`: list/switch/move-window (Spaces)
|
|
51
|
-
- `visualizer`: exercise Peekaboo visual feedback animations
|
|
52
|
-
- `window`: close/minimize/maximize/move/resize/focus/list
|
|
53
|
-
|
|
54
|
-
Vision
|
|
55
|
-
- `see`: annotated UI maps, snapshot IDs, optional analysis
|
|
56
|
-
|
|
57
|
-
Global runtime flags
|
|
58
|
-
- `--json`/`-j`, `--verbose`/`-v`, `--log-level <level>`
|
|
59
|
-
- `--no-remote`, `--bridge-socket <path>`
|
|
60
|
-
|
|
61
|
-
## Quickstart (happy path)
|
|
62
|
-
```bash
|
|
63
|
-
peekaboo permissions
|
|
64
|
-
peekaboo list apps --json
|
|
65
|
-
peekaboo see --annotate --path /tmp/peekaboo-see.png
|
|
66
|
-
peekaboo click --on B1
|
|
67
|
-
peekaboo type "Hello" --return
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
## Common targeting parameters (most interaction commands)
|
|
71
|
-
- App/window: `--app`, `--pid`, `--window-title`, `--window-id`, `--window-index`
|
|
72
|
-
- Snapshot targeting: `--snapshot` (ID from `see`; defaults to latest)
|
|
73
|
-
- Element/coords: `--on`/`--id` (element ID), `--coords x,y`
|
|
74
|
-
- Focus control: `--no-auto-focus`, `--space-switch`, `--bring-to-current-space`,
|
|
75
|
-
`--focus-timeout-seconds`, `--focus-retry-count`
|
|
76
|
-
|
|
77
|
-
## Common capture parameters
|
|
78
|
-
- Output: `--path`, `--format png|jpg`, `--retina`
|
|
79
|
-
- Targeting: `--mode screen|window|frontmost`, `--screen-index`,
|
|
80
|
-
`--window-title`, `--window-id`
|
|
81
|
-
- Analysis: `--analyze "prompt"`, `--annotate`
|
|
82
|
-
- Capture engine: `--capture-engine auto|classic|cg|modern|sckit`
|
|
83
|
-
|
|
84
|
-
## Common motion/typing parameters
|
|
85
|
-
- Timing: `--duration` (drag/swipe), `--steps`, `--delay` (type/scroll/press)
|
|
86
|
-
- Human-ish movement: `--profile human|linear`, `--wpm` (typing)
|
|
87
|
-
- Scroll: `--direction up|down|left|right`, `--amount <ticks>`, `--smooth`
|
|
88
|
-
|
|
89
|
-
## Examples
|
|
90
|
-
### See -> click -> type (most reliable flow)
|
|
91
|
-
```bash
|
|
92
|
-
peekaboo see --app Safari --window-title "Login" --annotate --path /tmp/see.png
|
|
93
|
-
peekaboo click --on B3 --app Safari
|
|
94
|
-
peekaboo type "user@example.com" --app Safari
|
|
95
|
-
peekaboo press tab --count 1 --app Safari
|
|
96
|
-
peekaboo type "supersecret" --app Safari --return
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
### Target by window id
|
|
100
|
-
```bash
|
|
101
|
-
peekaboo list windows --app "Visual Studio Code" --json
|
|
102
|
-
peekaboo click --window-id 12345 --coords 120,160
|
|
103
|
-
peekaboo type "Hello from Peekaboo" --window-id 12345
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
### Capture screenshots + analyze
|
|
107
|
-
```bash
|
|
108
|
-
peekaboo image --mode screen --screen-index 0 --retina --path /tmp/screen.png
|
|
109
|
-
peekaboo image --app Safari --window-title "Dashboard" --analyze "Summarize KPIs"
|
|
110
|
-
peekaboo see --mode screen --screen-index 0 --analyze "Summarize the dashboard"
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
### Live capture (motion-aware)
|
|
114
|
-
```bash
|
|
115
|
-
peekaboo capture live --mode region --region 100,100,800,600 --duration 30 \
|
|
116
|
-
--active-fps 8 --idle-fps 2 --highlight-changes --path /tmp/capture
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
### App + window management
|
|
120
|
-
```bash
|
|
121
|
-
peekaboo app launch "Safari" --open https://example.com
|
|
122
|
-
peekaboo window focus --app Safari --window-title "Example"
|
|
123
|
-
peekaboo window set-bounds --app Safari --x 50 --y 50 --width 1200 --height 800
|
|
124
|
-
peekaboo app quit --app Safari
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
### Menus, menubar, dock
|
|
128
|
-
```bash
|
|
129
|
-
peekaboo menu click --app Safari --item "New Window"
|
|
130
|
-
peekaboo menu click --app TextEdit --path "Format > Font > Show Fonts"
|
|
131
|
-
peekaboo menu click-extra --title "WiFi"
|
|
132
|
-
peekaboo dock launch Safari
|
|
133
|
-
peekaboo menubar list --json
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
### Mouse + gesture input
|
|
137
|
-
```bash
|
|
138
|
-
peekaboo move 500,300 --smooth
|
|
139
|
-
peekaboo drag --from B1 --to T2
|
|
140
|
-
peekaboo swipe --from-coords 100,500 --to-coords 100,200 --duration 800
|
|
141
|
-
peekaboo scroll --direction down --amount 6 --smooth
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
### Keyboard input
|
|
145
|
-
```bash
|
|
146
|
-
peekaboo hotkey --keys "cmd,shift,t"
|
|
147
|
-
peekaboo press escape
|
|
148
|
-
peekaboo type "Line 1\nLine 2" --delay 10
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
Notes
|
|
152
|
-
- Requires Screen Recording + Accessibility permissions.
|
|
153
|
-
- Use `peekaboo see --annotate` to identify targets before clicking.
|
package/skills/sag/SKILL.md
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: sag
|
|
3
|
-
description: ElevenLabs text-to-speech with mac-style say UX.
|
|
4
|
-
homepage: https://sag.sh
|
|
5
|
-
metadata: {"clawdbot":{"emoji":"🗣️","requires":{"bins":["sag"],"env":["ELEVENLABS_API_KEY"]},"primaryEnv":"ELEVENLABS_API_KEY","install":[{"id":"brew","kind":"brew","formula":"steipete/tap/sag","bins":["sag"],"label":"Install sag (brew)"}]}}
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# sag
|
|
9
|
-
|
|
10
|
-
Use `sag` for ElevenLabs TTS with local playback.
|
|
11
|
-
|
|
12
|
-
API key (required)
|
|
13
|
-
- `ELEVENLABS_API_KEY` (preferred)
|
|
14
|
-
- `SAG_API_KEY` also supported by the CLI
|
|
15
|
-
|
|
16
|
-
Quick start
|
|
17
|
-
- `sag "Hello there"`
|
|
18
|
-
- `sag speak -v "Roger" "Hello"`
|
|
19
|
-
- `sag voices`
|
|
20
|
-
- `sag prompting` (model-specific tips)
|
|
21
|
-
|
|
22
|
-
Model notes
|
|
23
|
-
- Default: `eleven_v3` (expressive)
|
|
24
|
-
- Stable: `eleven_multilingual_v2`
|
|
25
|
-
- Fast: `eleven_flash_v2_5`
|
|
26
|
-
|
|
27
|
-
Pronunciation + delivery rules
|
|
28
|
-
- First fix: respell (e.g. "key-note"), add hyphens, adjust casing.
|
|
29
|
-
- Numbers/units/URLs: `--normalize auto` (or `off` if it harms names).
|
|
30
|
-
- Language bias: `--lang en|de|fr|...` to guide normalization.
|
|
31
|
-
- v3: SSML `<break>` not supported; use `[pause]`, `[short pause]`, `[long pause]`.
|
|
32
|
-
- v2/v2.5: SSML `<break time="1.5s" />` supported; `<phoneme>` not exposed in `sag`.
|
|
33
|
-
|
|
34
|
-
v3 audio tags (put at the entrance of a line)
|
|
35
|
-
- `[whispers]`, `[shouts]`, `[sings]`
|
|
36
|
-
- `[laughs]`, `[starts laughing]`, `[sighs]`, `[exhales]`
|
|
37
|
-
- `[sarcastic]`, `[curious]`, `[excited]`, `[crying]`, `[mischievously]`
|
|
38
|
-
- Example: `sag "[whispers] keep this quiet. [short pause] ok?"`
|
|
39
|
-
|
|
40
|
-
Voice defaults
|
|
41
|
-
- `ELEVENLABS_VOICE_ID` or `SAG_VOICE_ID`
|
|
42
|
-
|
|
43
|
-
Confirm voice + speaker before long output.
|
|
44
|
-
|
|
45
|
-
## Chat voice responses
|
|
46
|
-
|
|
47
|
-
When Peter asks for a "voice" reply (e.g., "crazy scientist voice", "explain in voice"), generate audio and send it:
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
# Generate audio file
|
|
51
|
-
sag -v Clawd -o /tmp/voice-reply.mp3 "Your message here"
|
|
52
|
-
|
|
53
|
-
# Then include in reply:
|
|
54
|
-
# MEDIA:/tmp/voice-reply.mp3
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
Voice character tips:
|
|
58
|
-
- Crazy scientist: Use `[excited]` tags, dramatic pauses `[short pause]`, vary intensity
|
|
59
|
-
- Calm: Use `[whispers]` or slower pacing
|
|
60
|
-
- Dramatic: Use `[sings]` or `[shouts]` sparingly
|
|
61
|
-
|
|
62
|
-
Default voice for Clawd: `lj2rcrvANS3gaWWnczSX` (or just `-v Clawd`)
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: session-logs
|
|
3
|
-
description: Search and analyze your own session logs (older/parent conversations) using jq.
|
|
4
|
-
metadata: {"clawdbot":{"emoji":"📜","requires":{"bins":["jq","rg"]}}}
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# session-logs
|
|
8
|
-
|
|
9
|
-
Search your complete conversation history stored in session JSONL files. Use this when a user references older/parent conversations or asks what was said before.
|
|
10
|
-
|
|
11
|
-
## Trigger
|
|
12
|
-
|
|
13
|
-
Use this skill when the user asks about prior chats, parent conversations, or historical context that isn’t in memory files.
|
|
14
|
-
|
|
15
|
-
## Location
|
|
16
|
-
|
|
17
|
-
Session logs live at: `~/.clawdbot/agents/<agentId>/sessions/` (use the `agent=<id>` value from the system prompt Runtime line).
|
|
18
|
-
|
|
19
|
-
- **`sessions.json`** - Index mapping session keys to session IDs
|
|
20
|
-
- **`<session-id>.jsonl`** - Full conversation transcript per session
|
|
21
|
-
|
|
22
|
-
## Structure
|
|
23
|
-
|
|
24
|
-
Each `.jsonl` file contains messages with:
|
|
25
|
-
- `type`: "session" (metadata) or "message"
|
|
26
|
-
- `timestamp`: ISO timestamp
|
|
27
|
-
- `message.role`: "user", "assistant", or "toolResult"
|
|
28
|
-
- `message.content[]`: Text, thinking, or tool calls (filter `type=="text"` for human-readable content)
|
|
29
|
-
- `message.usage.cost.total`: Cost per response
|
|
30
|
-
|
|
31
|
-
## Common Queries
|
|
32
|
-
|
|
33
|
-
### List all sessions by date and size
|
|
34
|
-
```bash
|
|
35
|
-
for f in ~/.clawdbot/agents/<agentId>/sessions/*.jsonl; do
|
|
36
|
-
date=$(head -1 "$f" | jq -r '.timestamp' | cut -dT -f1)
|
|
37
|
-
size=$(ls -lh "$f" | awk '{print $5}')
|
|
38
|
-
echo "$date $size $(basename $f)"
|
|
39
|
-
done | sort -r
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
### Find sessions from a specific day
|
|
43
|
-
```bash
|
|
44
|
-
for f in ~/.clawdbot/agents/<agentId>/sessions/*.jsonl; do
|
|
45
|
-
head -1 "$f" | jq -r '.timestamp' | grep -q "2026-01-06" && echo "$f"
|
|
46
|
-
done
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
### Extract user messages from a session
|
|
50
|
-
```bash
|
|
51
|
-
jq -r 'select(.message.role == "user") | .message.content[]? | select(.type == "text") | .text' <session>.jsonl
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
### Search for keyword in assistant responses
|
|
55
|
-
```bash
|
|
56
|
-
jq -r 'select(.message.role == "assistant") | .message.content[]? | select(.type == "text") | .text' <session>.jsonl | rg -i "keyword"
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
### Get total cost for a session
|
|
60
|
-
```bash
|
|
61
|
-
jq -s '[.[] | .message.usage.cost.total // 0] | add' <session>.jsonl
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### Daily cost summary
|
|
65
|
-
```bash
|
|
66
|
-
for f in ~/.clawdbot/agents/<agentId>/sessions/*.jsonl; do
|
|
67
|
-
date=$(head -1 "$f" | jq -r '.timestamp' | cut -dT -f1)
|
|
68
|
-
cost=$(jq -s '[.[] | .message.usage.cost.total // 0] | add' "$f")
|
|
69
|
-
echo "$date $cost"
|
|
70
|
-
done | awk '{a[$1]+=$2} END {for(d in a) print d, "$"a[d]}' | sort -r
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### Count messages and tokens in a session
|
|
74
|
-
```bash
|
|
75
|
-
jq -s '{
|
|
76
|
-
messages: length,
|
|
77
|
-
user: [.[] | select(.message.role == "user")] | length,
|
|
78
|
-
assistant: [.[] | select(.message.role == "assistant")] | length,
|
|
79
|
-
first: .[0].timestamp,
|
|
80
|
-
last: .[-1].timestamp
|
|
81
|
-
}' <session>.jsonl
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
### Tool usage breakdown
|
|
85
|
-
```bash
|
|
86
|
-
jq -r '.message.content[]? | select(.type == "toolCall") | .name' <session>.jsonl | sort | uniq -c | sort -rn
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
### Search across ALL sessions for a phrase
|
|
90
|
-
```bash
|
|
91
|
-
rg -l "phrase" ~/.clawdbot/agents/<agentId>/sessions/*.jsonl
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
## Tips
|
|
95
|
-
|
|
96
|
-
- Sessions are append-only JSONL (one JSON object per line)
|
|
97
|
-
- Large sessions can be several MB - use `head`/`tail` for sampling
|
|
98
|
-
- The `sessions.json` index maps chat providers (discord, whatsapp, etc.) to session IDs
|
|
99
|
-
- Deleted sessions have `.deleted.<timestamp>` suffix
|
|
100
|
-
|
|
101
|
-
## Fast text-only hint (low noise)
|
|
102
|
-
|
|
103
|
-
```bash
|
|
104
|
-
jq -r 'select(.type=="message") | .message.content[]? | select(.type=="text") | .text' ~/.clawdbot/agents/<agentId>/sessions/<id>.jsonl | rg 'keyword'
|
|
105
|
-
```
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: sherpa-onnx-tts
|
|
3
|
-
description: Local text-to-speech via sherpa-onnx (offline, no cloud)
|
|
4
|
-
metadata: {"clawdbot":{"emoji":"🗣️","os":["darwin","linux","win32"],"requires":{"env":["SHERPA_ONNX_RUNTIME_DIR","SHERPA_ONNX_MODEL_DIR"]},"install":[{"id":"download-runtime-macos","kind":"download","os":["darwin"],"url":"https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.23/sherpa-onnx-v1.12.23-osx-universal2-shared.tar.bz2","archive":"tar.bz2","extract":true,"stripComponents":1,"targetDir":"~/.clawdbot/tools/sherpa-onnx-tts/runtime","label":"Download sherpa-onnx runtime (macOS)"},{"id":"download-runtime-linux-x64","kind":"download","os":["linux"],"url":"https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.23/sherpa-onnx-v1.12.23-linux-x64-shared.tar.bz2","archive":"tar.bz2","extract":true,"stripComponents":1,"targetDir":"~/.clawdbot/tools/sherpa-onnx-tts/runtime","label":"Download sherpa-onnx runtime (Linux x64)"},{"id":"download-runtime-win-x64","kind":"download","os":["win32"],"url":"https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.23/sherpa-onnx-v1.12.23-win-x64-shared.tar.bz2","archive":"tar.bz2","extract":true,"stripComponents":1,"targetDir":"~/.clawdbot/tools/sherpa-onnx-tts/runtime","label":"Download sherpa-onnx runtime (Windows x64)"},{"id":"download-model-lessac","kind":"download","url":"https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-piper-en_US-lessac-high.tar.bz2","archive":"tar.bz2","extract":true,"targetDir":"~/.clawdbot/tools/sherpa-onnx-tts/models","label":"Download Piper en_US lessac (high)"}]}}
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# sherpa-onnx-tts
|
|
8
|
-
|
|
9
|
-
Local TTS using the sherpa-onnx offline CLI.
|
|
10
|
-
|
|
11
|
-
## Install
|
|
12
|
-
|
|
13
|
-
1) Download the runtime for your OS (extracts into `~/.clawdbot/tools/sherpa-onnx-tts/runtime`)
|
|
14
|
-
2) Download a voice model (extracts into `~/.clawdbot/tools/sherpa-onnx-tts/models`)
|
|
15
|
-
|
|
16
|
-
Update `~/.clawdbot/clawdbot.json`:
|
|
17
|
-
|
|
18
|
-
```json5
|
|
19
|
-
{
|
|
20
|
-
skills: {
|
|
21
|
-
entries: {
|
|
22
|
-
"sherpa-onnx-tts": {
|
|
23
|
-
env: {
|
|
24
|
-
SHERPA_ONNX_RUNTIME_DIR: "~/.clawdbot/tools/sherpa-onnx-tts/runtime",
|
|
25
|
-
SHERPA_ONNX_MODEL_DIR: "~/.clawdbot/tools/sherpa-onnx-tts/models/vits-piper-en_US-lessac-high"
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
The wrapper lives in this skill folder. Run it directly, or add the wrapper to PATH:
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
export PATH="{baseDir}/bin:$PATH"
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Usage
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
{baseDir}/bin/sherpa-onnx-tts -o ./tts.wav "Hello from local TTS."
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
Notes:
|
|
46
|
-
- Pick a different model from the sherpa-onnx `tts-models` release if you want another voice.
|
|
47
|
-
- If the model dir has multiple `.onnx` files, set `SHERPA_ONNX_MODEL_FILE` or pass `--model-file`.
|
|
48
|
-
- You can also pass `--tokens-file` or `--data-dir` to override the defaults.
|
|
49
|
-
- Windows: run `node {baseDir}\\bin\\sherpa-onnx-tts -o tts.wav "Hello from local TTS."`
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
const fs = require("node:fs");
|
|
4
|
-
const path = require("node:path");
|
|
5
|
-
const { spawnSync } = require("node:child_process");
|
|
6
|
-
|
|
7
|
-
function usage(message) {
|
|
8
|
-
if (message) {
|
|
9
|
-
console.error(message);
|
|
10
|
-
}
|
|
11
|
-
console.error(
|
|
12
|
-
"\nUsage: sherpa-onnx-tts [--runtime-dir <dir>] [--model-dir <dir>] [--model-file <file>] [--tokens-file <file>] [--data-dir <dir>] [--output <file>] \"text\"",
|
|
13
|
-
);
|
|
14
|
-
console.error("\nRequired env (or flags):\n SHERPA_ONNX_RUNTIME_DIR\n SHERPA_ONNX_MODEL_DIR");
|
|
15
|
-
process.exit(1);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
function resolveRuntimeDir(explicit) {
|
|
19
|
-
const value = explicit || process.env.SHERPA_ONNX_RUNTIME_DIR || "";
|
|
20
|
-
return value.trim();
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
function resolveModelDir(explicit) {
|
|
24
|
-
const value = explicit || process.env.SHERPA_ONNX_MODEL_DIR || "";
|
|
25
|
-
return value.trim();
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function resolveModelFile(modelDir, explicitFlag) {
|
|
29
|
-
const explicit = (explicitFlag || process.env.SHERPA_ONNX_MODEL_FILE || "").trim();
|
|
30
|
-
if (explicit) return explicit;
|
|
31
|
-
try {
|
|
32
|
-
const candidates = fs
|
|
33
|
-
.readdirSync(modelDir)
|
|
34
|
-
.filter((entry) => entry.endsWith(".onnx"))
|
|
35
|
-
.map((entry) => path.join(modelDir, entry));
|
|
36
|
-
if (candidates.length === 1) return candidates[0];
|
|
37
|
-
} catch {
|
|
38
|
-
return "";
|
|
39
|
-
}
|
|
40
|
-
return "";
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
function resolveTokensFile(modelDir, explicitFlag) {
|
|
44
|
-
const explicit = (explicitFlag || process.env.SHERPA_ONNX_TOKENS_FILE || "").trim();
|
|
45
|
-
if (explicit) return explicit;
|
|
46
|
-
const candidate = path.join(modelDir, "tokens.txt");
|
|
47
|
-
return fs.existsSync(candidate) ? candidate : "";
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function resolveDataDir(modelDir, explicitFlag) {
|
|
51
|
-
const explicit = (explicitFlag || process.env.SHERPA_ONNX_DATA_DIR || "").trim();
|
|
52
|
-
if (explicit) return explicit;
|
|
53
|
-
const candidate = path.join(modelDir, "espeak-ng-data");
|
|
54
|
-
return fs.existsSync(candidate) ? candidate : "";
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
function resolveBinary(runtimeDir) {
|
|
58
|
-
const binName = process.platform === "win32" ? "sherpa-onnx-offline-tts.exe" : "sherpa-onnx-offline-tts";
|
|
59
|
-
return path.join(runtimeDir, "bin", binName);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
function prependEnvPath(current, next) {
|
|
63
|
-
if (!next) return current;
|
|
64
|
-
if (!current) return next;
|
|
65
|
-
return `${next}${path.delimiter}${current}`;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
const args = process.argv.slice(2);
|
|
69
|
-
let runtimeDir = "";
|
|
70
|
-
let modelDir = "";
|
|
71
|
-
let modelFile = "";
|
|
72
|
-
let tokensFile = "";
|
|
73
|
-
let dataDir = "";
|
|
74
|
-
let output = "tts.wav";
|
|
75
|
-
const textParts = [];
|
|
76
|
-
|
|
77
|
-
for (let i = 0; i < args.length; i += 1) {
|
|
78
|
-
const arg = args[i];
|
|
79
|
-
if (arg === "--runtime-dir") {
|
|
80
|
-
runtimeDir = args[i + 1] || "";
|
|
81
|
-
i += 1;
|
|
82
|
-
continue;
|
|
83
|
-
}
|
|
84
|
-
if (arg === "--model-dir") {
|
|
85
|
-
modelDir = args[i + 1] || "";
|
|
86
|
-
i += 1;
|
|
87
|
-
continue;
|
|
88
|
-
}
|
|
89
|
-
if (arg === "--model-file") {
|
|
90
|
-
modelFile = args[i + 1] || "";
|
|
91
|
-
i += 1;
|
|
92
|
-
continue;
|
|
93
|
-
}
|
|
94
|
-
if (arg === "--tokens-file") {
|
|
95
|
-
tokensFile = args[i + 1] || "";
|
|
96
|
-
i += 1;
|
|
97
|
-
continue;
|
|
98
|
-
}
|
|
99
|
-
if (arg === "--data-dir") {
|
|
100
|
-
dataDir = args[i + 1] || "";
|
|
101
|
-
i += 1;
|
|
102
|
-
continue;
|
|
103
|
-
}
|
|
104
|
-
if (arg === "-o" || arg === "--output") {
|
|
105
|
-
output = args[i + 1] || output;
|
|
106
|
-
i += 1;
|
|
107
|
-
continue;
|
|
108
|
-
}
|
|
109
|
-
if (arg === "--text") {
|
|
110
|
-
textParts.push(args[i + 1] || "");
|
|
111
|
-
i += 1;
|
|
112
|
-
continue;
|
|
113
|
-
}
|
|
114
|
-
textParts.push(arg);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
runtimeDir = resolveRuntimeDir(runtimeDir);
|
|
118
|
-
modelDir = resolveModelDir(modelDir);
|
|
119
|
-
|
|
120
|
-
if (!runtimeDir || !modelDir) {
|
|
121
|
-
usage("Missing runtime/model directory.");
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
modelFile = resolveModelFile(modelDir, modelFile);
|
|
125
|
-
tokensFile = resolveTokensFile(modelDir, tokensFile);
|
|
126
|
-
dataDir = resolveDataDir(modelDir, dataDir);
|
|
127
|
-
|
|
128
|
-
if (!modelFile || !tokensFile || !dataDir) {
|
|
129
|
-
usage(
|
|
130
|
-
"Model directory is missing required files. Set SHERPA_ONNX_MODEL_FILE, SHERPA_ONNX_TOKENS_FILE, SHERPA_ONNX_DATA_DIR or pass --model-file/--tokens-file/--data-dir.",
|
|
131
|
-
);
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
const text = textParts.join(" ").trim();
|
|
135
|
-
if (!text) {
|
|
136
|
-
usage("Missing text.");
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
const bin = resolveBinary(runtimeDir);
|
|
140
|
-
if (!fs.existsSync(bin)) {
|
|
141
|
-
usage(`TTS binary not found: ${bin}`);
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
const env = { ...process.env };
|
|
145
|
-
const libDir = path.join(runtimeDir, "lib");
|
|
146
|
-
if (process.platform === "darwin") {
|
|
147
|
-
env.DYLD_LIBRARY_PATH = prependEnvPath(env.DYLD_LIBRARY_PATH || "", libDir);
|
|
148
|
-
} else if (process.platform === "win32") {
|
|
149
|
-
env.PATH = prependEnvPath(env.PATH || "", [path.join(runtimeDir, "bin"), libDir].join(path.delimiter));
|
|
150
|
-
} else {
|
|
151
|
-
env.LD_LIBRARY_PATH = prependEnvPath(env.LD_LIBRARY_PATH || "", libDir);
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
const outputPath = path.isAbsolute(output) ? output : path.join(process.cwd(), output);
|
|
155
|
-
fs.mkdirSync(path.dirname(outputPath), { recursive: true });
|
|
156
|
-
|
|
157
|
-
const child = spawnSync(
|
|
158
|
-
bin,
|
|
159
|
-
[
|
|
160
|
-
`--vits-model=${modelFile}`,
|
|
161
|
-
`--vits-tokens=${tokensFile}`,
|
|
162
|
-
`--vits-data-dir=${dataDir}`,
|
|
163
|
-
`--output-filename=${outputPath}`,
|
|
164
|
-
text,
|
|
165
|
-
],
|
|
166
|
-
{
|
|
167
|
-
stdio: "inherit",
|
|
168
|
-
env,
|
|
169
|
-
},
|
|
170
|
-
);
|
|
171
|
-
|
|
172
|
-
if (typeof child.status === "number") {
|
|
173
|
-
process.exit(child.status);
|
|
174
|
-
}
|
|
175
|
-
if (child.error) {
|
|
176
|
-
console.error(child.error.message || String(child.error));
|
|
177
|
-
}
|
|
178
|
-
process.exit(1);
|