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
|
@@ -1,346 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
role: experimental
|
|
3
|
-
summary: |
|
|
4
|
-
Homeric register for OpenProse—an epic/heroic alternative keyword set.
|
|
5
|
-
Heroes, trials, fates, and glory. For benchmarking against the functional register.
|
|
6
|
-
status: draft
|
|
7
|
-
requires: prose.md
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# OpenProse Homeric Register
|
|
11
|
-
|
|
12
|
-
> **This is a skin layer.** It requires `prose.md` to be loaded first. All execution semantics, state management, and VM behavior are defined there. This file only provides keyword translations.
|
|
13
|
-
|
|
14
|
-
An alternative register for OpenProse that draws from Greek epic poetry—the Iliad, the Odyssey, and the heroic tradition. Programs become quests. Agents become heroes. Outputs become glory won.
|
|
15
|
-
|
|
16
|
-
## How to Use
|
|
17
|
-
|
|
18
|
-
1. Load `prose.md` first (execution semantics)
|
|
19
|
-
2. Load this file (keyword translations)
|
|
20
|
-
3. When parsing `.prose` files, accept Homeric keywords as aliases for functional keywords
|
|
21
|
-
4. All execution behavior remains identical—only surface syntax changes
|
|
22
|
-
|
|
23
|
-
> **Design constraint:** Still aims to be "structured but self-evident" per the language tenets—just self-evident through an epic lens.
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## Complete Translation Map
|
|
28
|
-
|
|
29
|
-
### Core Constructs
|
|
30
|
-
|
|
31
|
-
| Functional | Homeric | Reference |
|
|
32
|
-
|------------|---------|-----------|
|
|
33
|
-
| `agent` | `hero` | The one who acts, who strives |
|
|
34
|
-
| `session` | `trial` | Each task is a labor, a test |
|
|
35
|
-
| `parallel` | `host` | An army moving as one |
|
|
36
|
-
| `block` | `book` | A division of the epic |
|
|
37
|
-
|
|
38
|
-
### Composition & Binding
|
|
39
|
-
|
|
40
|
-
| Functional | Homeric | Reference |
|
|
41
|
-
|------------|---------|-----------|
|
|
42
|
-
| `use` | `invoke` | "Sing, O Muse..." — calling upon |
|
|
43
|
-
| `input` | `omen` | Signs from the gods, the given portent |
|
|
44
|
-
| `output` | `glory` | Kleos — the glory won, what endures |
|
|
45
|
-
| `let` | `decree` | Fate declared, spoken into being |
|
|
46
|
-
| `const` | `fate` | Moira — unchangeable destiny |
|
|
47
|
-
| `context` | `tidings` | News carried by herald or messenger |
|
|
48
|
-
|
|
49
|
-
### Control Flow
|
|
50
|
-
|
|
51
|
-
| Functional | Homeric | Reference |
|
|
52
|
-
|------------|---------|-----------|
|
|
53
|
-
| `repeat N` | `N labors` | The labors of Heracles |
|
|
54
|
-
| `for...in` | `for each...among` | Among the host |
|
|
55
|
-
| `loop` | `ordeal` | Repeated trial, suffering that continues |
|
|
56
|
-
| `until` | `until` | Unchanged |
|
|
57
|
-
| `while` | `while` | Unchanged |
|
|
58
|
-
| `choice` | `crossroads` | Where fates diverge |
|
|
59
|
-
| `option` | `path` | One road of many |
|
|
60
|
-
| `if` | `should` | Epic conditional |
|
|
61
|
-
| `elif` | `or should` | Continued conditional |
|
|
62
|
-
| `else` | `otherwise` | The alternative fate |
|
|
63
|
-
|
|
64
|
-
### Error Handling
|
|
65
|
-
|
|
66
|
-
| Functional | Homeric | Reference |
|
|
67
|
-
|------------|---------|-----------|
|
|
68
|
-
| `try` | `venture` | Setting forth on the journey |
|
|
69
|
-
| `catch` | `should ruin come` | Até — divine ruin, disaster |
|
|
70
|
-
| `finally` | `in the end` | The inevitable conclusion |
|
|
71
|
-
| `throw` | `lament` | The hero's cry of anguish |
|
|
72
|
-
| `retry` | `persist` | Enduring, trying again |
|
|
73
|
-
|
|
74
|
-
### Session Properties
|
|
75
|
-
|
|
76
|
-
| Functional | Homeric | Reference |
|
|
77
|
-
|------------|---------|-----------|
|
|
78
|
-
| `prompt` | `charge` | The quest given |
|
|
79
|
-
| `model` | `muse` | Which muse inspires |
|
|
80
|
-
|
|
81
|
-
### Unchanged
|
|
82
|
-
|
|
83
|
-
These keywords already work or are too functional to replace sensibly:
|
|
84
|
-
|
|
85
|
-
- `**...**` discretion markers — already work
|
|
86
|
-
- `until`, `while` — already work
|
|
87
|
-
- `map`, `filter`, `reduce`, `pmap` — pipeline operators
|
|
88
|
-
- `max` — constraint modifier
|
|
89
|
-
- `as` — aliasing
|
|
90
|
-
- Model names: `sonnet`, `opus`, `haiku` — already poetic
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
## Side-by-Side Comparison
|
|
95
|
-
|
|
96
|
-
### Simple Program
|
|
97
|
-
|
|
98
|
-
```prose
|
|
99
|
-
# Functional
|
|
100
|
-
use "@alice/research" as research
|
|
101
|
-
input topic: "What to investigate"
|
|
102
|
-
|
|
103
|
-
agent helper:
|
|
104
|
-
model: sonnet
|
|
105
|
-
|
|
106
|
-
let findings = session: helper
|
|
107
|
-
prompt: "Research {topic}"
|
|
108
|
-
|
|
109
|
-
output summary = session "Summarize"
|
|
110
|
-
context: findings
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
```prose
|
|
114
|
-
# Homeric
|
|
115
|
-
invoke "@alice/research" as research
|
|
116
|
-
omen topic: "What to investigate"
|
|
117
|
-
|
|
118
|
-
hero helper:
|
|
119
|
-
muse: sonnet
|
|
120
|
-
|
|
121
|
-
decree findings = trial: helper
|
|
122
|
-
charge: "Research {topic}"
|
|
123
|
-
|
|
124
|
-
glory summary = trial "Summarize"
|
|
125
|
-
tidings: findings
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
### Parallel Execution
|
|
129
|
-
|
|
130
|
-
```prose
|
|
131
|
-
# Functional
|
|
132
|
-
parallel:
|
|
133
|
-
security = session "Check security"
|
|
134
|
-
perf = session "Check performance"
|
|
135
|
-
style = session "Check style"
|
|
136
|
-
|
|
137
|
-
session "Synthesize review"
|
|
138
|
-
context: { security, perf, style }
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
```prose
|
|
142
|
-
# Homeric
|
|
143
|
-
host:
|
|
144
|
-
security = trial "Check security"
|
|
145
|
-
perf = trial "Check performance"
|
|
146
|
-
style = trial "Check style"
|
|
147
|
-
|
|
148
|
-
trial "Synthesize review"
|
|
149
|
-
tidings: { security, perf, style }
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
### Loop with Condition
|
|
153
|
-
|
|
154
|
-
```prose
|
|
155
|
-
# Functional
|
|
156
|
-
loop until **the code is bug-free** (max: 5):
|
|
157
|
-
session "Find and fix bugs"
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
```prose
|
|
161
|
-
# Homeric
|
|
162
|
-
ordeal until **the code is bug-free** (max: 5):
|
|
163
|
-
trial "Find and fix bugs"
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
### Error Handling
|
|
167
|
-
|
|
168
|
-
```prose
|
|
169
|
-
# Functional
|
|
170
|
-
try:
|
|
171
|
-
session "Risky operation"
|
|
172
|
-
catch as err:
|
|
173
|
-
session "Handle error"
|
|
174
|
-
context: err
|
|
175
|
-
finally:
|
|
176
|
-
session "Cleanup"
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
```prose
|
|
180
|
-
# Homeric
|
|
181
|
-
venture:
|
|
182
|
-
trial "Risky operation"
|
|
183
|
-
should ruin come as err:
|
|
184
|
-
trial "Handle error"
|
|
185
|
-
tidings: err
|
|
186
|
-
in the end:
|
|
187
|
-
trial "Cleanup"
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
### Choice Block
|
|
191
|
-
|
|
192
|
-
```prose
|
|
193
|
-
# Functional
|
|
194
|
-
choice **the severity level**:
|
|
195
|
-
option "Critical":
|
|
196
|
-
session "Escalate immediately"
|
|
197
|
-
option "Minor":
|
|
198
|
-
session "Log for later"
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
```prose
|
|
202
|
-
# Homeric
|
|
203
|
-
crossroads **the severity level**:
|
|
204
|
-
path "Critical":
|
|
205
|
-
trial "Escalate immediately"
|
|
206
|
-
path "Minor":
|
|
207
|
-
trial "Log for later"
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
### Conditionals
|
|
211
|
-
|
|
212
|
-
```prose
|
|
213
|
-
# Functional
|
|
214
|
-
if **has security issues**:
|
|
215
|
-
session "Fix security"
|
|
216
|
-
elif **has performance issues**:
|
|
217
|
-
session "Optimize"
|
|
218
|
-
else:
|
|
219
|
-
session "Approve"
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
```prose
|
|
223
|
-
# Homeric
|
|
224
|
-
should **has security issues**:
|
|
225
|
-
trial "Fix security"
|
|
226
|
-
or should **has performance issues**:
|
|
227
|
-
trial "Optimize"
|
|
228
|
-
otherwise:
|
|
229
|
-
trial "Approve"
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
### Reusable Blocks
|
|
233
|
-
|
|
234
|
-
```prose
|
|
235
|
-
# Functional
|
|
236
|
-
block review(topic):
|
|
237
|
-
session "Research {topic}"
|
|
238
|
-
session "Analyze {topic}"
|
|
239
|
-
|
|
240
|
-
do review("quantum computing")
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
```prose
|
|
244
|
-
# Homeric
|
|
245
|
-
book review(topic):
|
|
246
|
-
trial "Research {topic}"
|
|
247
|
-
trial "Analyze {topic}"
|
|
248
|
-
|
|
249
|
-
do review("quantum computing")
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
### Fixed Iteration
|
|
253
|
-
|
|
254
|
-
```prose
|
|
255
|
-
# Functional
|
|
256
|
-
repeat 12:
|
|
257
|
-
session "Complete task"
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
```prose
|
|
261
|
-
# Homeric
|
|
262
|
-
12 labors:
|
|
263
|
-
trial "Complete task"
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
### Immutable Binding
|
|
267
|
-
|
|
268
|
-
```prose
|
|
269
|
-
# Functional
|
|
270
|
-
const config = { model: "opus", retries: 3 }
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
```prose
|
|
274
|
-
# Homeric
|
|
275
|
-
fate config = { muse: "opus", persist: 3 }
|
|
276
|
-
```
|
|
277
|
-
|
|
278
|
-
---
|
|
279
|
-
|
|
280
|
-
## The Case For Homeric
|
|
281
|
-
|
|
282
|
-
1. **Universal recognition.** Greek epics are foundational to Western literature.
|
|
283
|
-
2. **Heroic framing.** Transforms mundane tasks into glorious trials.
|
|
284
|
-
3. **Natural fit.** Heroes face trials, receive tidings, win glory—maps cleanly to agent/session/output.
|
|
285
|
-
4. **Gravitas.** When you want programs to feel epic and consequential.
|
|
286
|
-
5. **Fate vs decree.** `const` as `fate` (unchangeable) vs `let` as `decree` (declared but mutable) is intuitive.
|
|
287
|
-
|
|
288
|
-
## The Case Against Homeric
|
|
289
|
-
|
|
290
|
-
1. **Grandiosity mismatch.** "12 labors" for a simple loop may feel overblown.
|
|
291
|
-
2. **Western-centric.** Greek epic tradition is culturally specific.
|
|
292
|
-
3. **Limited vocabulary.** Fewer distinctive terms than Borges or folk.
|
|
293
|
-
4. **Potentially silly.** Heroic language for mundane tasks risks bathos.
|
|
294
|
-
|
|
295
|
-
---
|
|
296
|
-
|
|
297
|
-
## Key Homeric Concepts
|
|
298
|
-
|
|
299
|
-
| Term | Meaning | Used for |
|
|
300
|
-
|------|---------|----------|
|
|
301
|
-
| Kleos | Glory, fame that outlives you | `output` → `glory` |
|
|
302
|
-
| Moira | Fate, one's allotted portion | `const` → `fate` |
|
|
303
|
-
| Até | Divine ruin, blindness sent by gods | `catch` → `should ruin come` |
|
|
304
|
-
| Nostos | The return journey | (not used, but could be `finally`) |
|
|
305
|
-
| Xenia | Guest-friendship, hospitality | (not used) |
|
|
306
|
-
| Muse | Divine inspiration | `model` → `muse` |
|
|
307
|
-
|
|
308
|
-
---
|
|
309
|
-
|
|
310
|
-
## Alternatives Considered
|
|
311
|
-
|
|
312
|
-
### For `hero` (agent)
|
|
313
|
-
|
|
314
|
-
| Keyword | Rejected because |
|
|
315
|
-
|---------|------------------|
|
|
316
|
-
| `champion` | More medieval than Homeric |
|
|
317
|
-
| `warrior` | Too martial, not all tasks are battles |
|
|
318
|
-
| `wanderer` | Too passive |
|
|
319
|
-
|
|
320
|
-
### For `trial` (session)
|
|
321
|
-
|
|
322
|
-
| Keyword | Rejected because |
|
|
323
|
-
|---------|------------------|
|
|
324
|
-
| `labor` | Good but reserved for `repeat N labors` |
|
|
325
|
-
| `quest` | More medieval/RPG |
|
|
326
|
-
| `task` | Too plain |
|
|
327
|
-
|
|
328
|
-
### For `host` (parallel)
|
|
329
|
-
|
|
330
|
-
| Keyword | Rejected because |
|
|
331
|
-
|---------|------------------|
|
|
332
|
-
| `army` | Too specifically martial |
|
|
333
|
-
| `fleet` | Only works for naval metaphors |
|
|
334
|
-
| `phalanx` | Too technical |
|
|
335
|
-
|
|
336
|
-
---
|
|
337
|
-
|
|
338
|
-
## Verdict
|
|
339
|
-
|
|
340
|
-
Preserved for benchmarking. The Homeric register offers gravitas and heroic framing. Best suited for:
|
|
341
|
-
|
|
342
|
-
- Programs that feel like epic undertakings
|
|
343
|
-
- Users who enjoy classical references
|
|
344
|
-
- Contexts where "glory" as output feels appropriate
|
|
345
|
-
|
|
346
|
-
May cause unintentional bathos when applied to mundane tasks.
|
|
@@ -1,373 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
role: experimental
|
|
3
|
-
summary: |
|
|
4
|
-
Kafka register for OpenProse—a bureaucratic/absurdist alternative keyword set.
|
|
5
|
-
Clerks, proceedings, petitions, and statutes. For benchmarking against the functional register.
|
|
6
|
-
status: draft
|
|
7
|
-
requires: prose.md
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# OpenProse Kafka Register
|
|
11
|
-
|
|
12
|
-
> **This is a skin layer.** It requires `prose.md` to be loaded first. All execution semantics, state management, and VM behavior are defined there. This file only provides keyword translations.
|
|
13
|
-
|
|
14
|
-
An alternative register for OpenProse that draws from the works of Franz Kafka—The Trial, The Castle, "In the Penal Colony." Programs become proceedings. Agents become clerks. Everything is a process, and nobody quite knows the rules.
|
|
15
|
-
|
|
16
|
-
## How to Use
|
|
17
|
-
|
|
18
|
-
1. Load `prose.md` first (execution semantics)
|
|
19
|
-
2. Load this file (keyword translations)
|
|
20
|
-
3. When parsing `.prose` files, accept Kafka keywords as aliases for functional keywords
|
|
21
|
-
4. All execution behavior remains identical—only surface syntax changes
|
|
22
|
-
|
|
23
|
-
> **Design constraint:** Still aims to be "structured but self-evident" per the language tenets—just self-evident through a bureaucratic lens. (The irony is intentional.)
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## Complete Translation Map
|
|
28
|
-
|
|
29
|
-
### Core Constructs
|
|
30
|
-
|
|
31
|
-
| Functional | Kafka | Reference |
|
|
32
|
-
|------------|-------|-----------|
|
|
33
|
-
| `agent` | `clerk` | A functionary in the apparatus |
|
|
34
|
-
| `session` | `proceeding` | An official action taken |
|
|
35
|
-
| `parallel` | `departments` | Multiple bureaus acting simultaneously |
|
|
36
|
-
| `block` | `regulation` | A codified procedure |
|
|
37
|
-
|
|
38
|
-
### Composition & Binding
|
|
39
|
-
|
|
40
|
-
| Functional | Kafka | Reference |
|
|
41
|
-
|------------|-------|-----------|
|
|
42
|
-
| `use` | `requisition` | Requesting from the archives |
|
|
43
|
-
| `input` | `petition` | What is submitted for consideration |
|
|
44
|
-
| `output` | `verdict` | What is returned by the apparatus |
|
|
45
|
-
| `let` | `file` | Recording in the system |
|
|
46
|
-
| `const` | `statute` | Unchangeable law |
|
|
47
|
-
| `context` | `dossier` | The accumulated file on a case |
|
|
48
|
-
|
|
49
|
-
### Control Flow
|
|
50
|
-
|
|
51
|
-
| Functional | Kafka | Reference |
|
|
52
|
-
|------------|-------|-----------|
|
|
53
|
-
| `repeat N` | `N hearings` | Repeated appearances before the court |
|
|
54
|
-
| `for...in` | `for each...in the matter of` | Bureaucratic iteration |
|
|
55
|
-
| `loop` | `appeal` | Endless re-petition, the process continues |
|
|
56
|
-
| `until` | `until` | Unchanged |
|
|
57
|
-
| `while` | `while` | Unchanged |
|
|
58
|
-
| `choice` | `tribunal` | Where judgment is rendered |
|
|
59
|
-
| `option` | `ruling` | One possible judgment |
|
|
60
|
-
| `if` | `in the event that` | Bureaucratic conditional |
|
|
61
|
-
| `elif` | `or in the event that` | Continued conditional |
|
|
62
|
-
| `else` | `otherwise` | Default ruling |
|
|
63
|
-
|
|
64
|
-
### Error Handling
|
|
65
|
-
|
|
66
|
-
| Functional | Kafka | Reference |
|
|
67
|
-
|------------|-------|-----------|
|
|
68
|
-
| `try` | `submit` | Submitting for processing |
|
|
69
|
-
| `catch` | `should it be denied` | Rejection by the apparatus |
|
|
70
|
-
| `finally` | `regardless` | What happens no matter the outcome |
|
|
71
|
-
| `throw` | `reject` | The system refuses |
|
|
72
|
-
| `retry` | `resubmit` | Try the process again |
|
|
73
|
-
|
|
74
|
-
### Session Properties
|
|
75
|
-
|
|
76
|
-
| Functional | Kafka | Reference |
|
|
77
|
-
|------------|-------|-----------|
|
|
78
|
-
| `prompt` | `directive` | Official instructions |
|
|
79
|
-
| `model` | `authority` | Which level of the hierarchy |
|
|
80
|
-
|
|
81
|
-
### Unchanged
|
|
82
|
-
|
|
83
|
-
These keywords already work or are too functional to replace sensibly:
|
|
84
|
-
|
|
85
|
-
- `**...**` discretion markers — the inscrutable judgment of the apparatus
|
|
86
|
-
- `until`, `while` — already work
|
|
87
|
-
- `map`, `filter`, `reduce`, `pmap` — pipeline operators
|
|
88
|
-
- `max` — constraint modifier
|
|
89
|
-
- `as` — aliasing
|
|
90
|
-
- Model names: `sonnet`, `opus`, `haiku` — retained (or see "authority" above)
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
## Side-by-Side Comparison
|
|
95
|
-
|
|
96
|
-
### Simple Program
|
|
97
|
-
|
|
98
|
-
```prose
|
|
99
|
-
# Functional
|
|
100
|
-
use "@alice/research" as research
|
|
101
|
-
input topic: "What to investigate"
|
|
102
|
-
|
|
103
|
-
agent helper:
|
|
104
|
-
model: sonnet
|
|
105
|
-
|
|
106
|
-
let findings = session: helper
|
|
107
|
-
prompt: "Research {topic}"
|
|
108
|
-
|
|
109
|
-
output summary = session "Summarize"
|
|
110
|
-
context: findings
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
```prose
|
|
114
|
-
# Kafka
|
|
115
|
-
requisition "@alice/research" as research
|
|
116
|
-
petition topic: "What to investigate"
|
|
117
|
-
|
|
118
|
-
clerk helper:
|
|
119
|
-
authority: sonnet
|
|
120
|
-
|
|
121
|
-
file findings = proceeding: helper
|
|
122
|
-
directive: "Research {topic}"
|
|
123
|
-
|
|
124
|
-
verdict summary = proceeding "Summarize"
|
|
125
|
-
dossier: findings
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
### Parallel Execution
|
|
129
|
-
|
|
130
|
-
```prose
|
|
131
|
-
# Functional
|
|
132
|
-
parallel:
|
|
133
|
-
security = session "Check security"
|
|
134
|
-
perf = session "Check performance"
|
|
135
|
-
style = session "Check style"
|
|
136
|
-
|
|
137
|
-
session "Synthesize review"
|
|
138
|
-
context: { security, perf, style }
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
```prose
|
|
142
|
-
# Kafka
|
|
143
|
-
departments:
|
|
144
|
-
security = proceeding "Check security"
|
|
145
|
-
perf = proceeding "Check performance"
|
|
146
|
-
style = proceeding "Check style"
|
|
147
|
-
|
|
148
|
-
proceeding "Synthesize review"
|
|
149
|
-
dossier: { security, perf, style }
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
### Loop with Condition
|
|
153
|
-
|
|
154
|
-
```prose
|
|
155
|
-
# Functional
|
|
156
|
-
loop until **the code is bug-free** (max: 5):
|
|
157
|
-
session "Find and fix bugs"
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
```prose
|
|
161
|
-
# Kafka
|
|
162
|
-
appeal until **the code is bug-free** (max: 5):
|
|
163
|
-
proceeding "Find and fix bugs"
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
### Error Handling
|
|
167
|
-
|
|
168
|
-
```prose
|
|
169
|
-
# Functional
|
|
170
|
-
try:
|
|
171
|
-
session "Risky operation"
|
|
172
|
-
catch as err:
|
|
173
|
-
session "Handle error"
|
|
174
|
-
context: err
|
|
175
|
-
finally:
|
|
176
|
-
session "Cleanup"
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
```prose
|
|
180
|
-
# Kafka
|
|
181
|
-
submit:
|
|
182
|
-
proceeding "Risky operation"
|
|
183
|
-
should it be denied as err:
|
|
184
|
-
proceeding "Handle error"
|
|
185
|
-
dossier: err
|
|
186
|
-
regardless:
|
|
187
|
-
proceeding "Cleanup"
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
### Choice Block
|
|
191
|
-
|
|
192
|
-
```prose
|
|
193
|
-
# Functional
|
|
194
|
-
choice **the severity level**:
|
|
195
|
-
option "Critical":
|
|
196
|
-
session "Escalate immediately"
|
|
197
|
-
option "Minor":
|
|
198
|
-
session "Log for later"
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
```prose
|
|
202
|
-
# Kafka
|
|
203
|
-
tribunal **the severity level**:
|
|
204
|
-
ruling "Critical":
|
|
205
|
-
proceeding "Escalate immediately"
|
|
206
|
-
ruling "Minor":
|
|
207
|
-
proceeding "Log for later"
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
### Conditionals
|
|
211
|
-
|
|
212
|
-
```prose
|
|
213
|
-
# Functional
|
|
214
|
-
if **has security issues**:
|
|
215
|
-
session "Fix security"
|
|
216
|
-
elif **has performance issues**:
|
|
217
|
-
session "Optimize"
|
|
218
|
-
else:
|
|
219
|
-
session "Approve"
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
```prose
|
|
223
|
-
# Kafka
|
|
224
|
-
in the event that **has security issues**:
|
|
225
|
-
proceeding "Fix security"
|
|
226
|
-
or in the event that **has performance issues**:
|
|
227
|
-
proceeding "Optimize"
|
|
228
|
-
otherwise:
|
|
229
|
-
proceeding "Approve"
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
### Reusable Blocks
|
|
233
|
-
|
|
234
|
-
```prose
|
|
235
|
-
# Functional
|
|
236
|
-
block review(topic):
|
|
237
|
-
session "Research {topic}"
|
|
238
|
-
session "Analyze {topic}"
|
|
239
|
-
|
|
240
|
-
do review("quantum computing")
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
```prose
|
|
244
|
-
# Kafka
|
|
245
|
-
regulation review(topic):
|
|
246
|
-
proceeding "Research {topic}"
|
|
247
|
-
proceeding "Analyze {topic}"
|
|
248
|
-
|
|
249
|
-
invoke review("quantum computing")
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
### Fixed Iteration
|
|
253
|
-
|
|
254
|
-
```prose
|
|
255
|
-
# Functional
|
|
256
|
-
repeat 3:
|
|
257
|
-
session "Attempt connection"
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
```prose
|
|
261
|
-
# Kafka
|
|
262
|
-
3 hearings:
|
|
263
|
-
proceeding "Attempt connection"
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
### Immutable Binding
|
|
267
|
-
|
|
268
|
-
```prose
|
|
269
|
-
# Functional
|
|
270
|
-
const config = { model: "opus", retries: 3 }
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
```prose
|
|
274
|
-
# Kafka
|
|
275
|
-
statute config = { authority: "opus", resubmit: 3 }
|
|
276
|
-
```
|
|
277
|
-
|
|
278
|
-
---
|
|
279
|
-
|
|
280
|
-
## The Case For Kafka
|
|
281
|
-
|
|
282
|
-
1. **Darkly comic.** Programs-as-bureaucracy is funny and relatable.
|
|
283
|
-
2. **Surprisingly apt.** Software often *is* an inscrutable apparatus.
|
|
284
|
-
3. **Clean mappings.** Petition/verdict, file/dossier, clerk/proceeding all work well.
|
|
285
|
-
4. **Appeal as loop.** The endless appeal process is a perfect metaphor for retry logic.
|
|
286
|
-
5. **Cultural resonance.** "Kafkaesque" is a widely understood adjective.
|
|
287
|
-
6. **Self-aware.** Using Kafka for a programming language acknowledges the absurdity.
|
|
288
|
-
|
|
289
|
-
## The Case Against Kafka
|
|
290
|
-
|
|
291
|
-
1. **Bleak tone.** Not everyone wants their programs to feel like The Trial.
|
|
292
|
-
2. **Verbose keywords.** "In the event that" and "should it be denied" are long.
|
|
293
|
-
3. **Anxiety-inducing.** May not be fun for users who find bureaucracy stressful.
|
|
294
|
-
4. **Irony may not land.** Some users might take it literally and find it off-putting.
|
|
295
|
-
|
|
296
|
-
---
|
|
297
|
-
|
|
298
|
-
## Key Kafka Concepts
|
|
299
|
-
|
|
300
|
-
| Term | Meaning | Used for |
|
|
301
|
-
|------|---------|----------|
|
|
302
|
-
| The apparatus | The inscrutable system | The VM itself |
|
|
303
|
-
| K. | The protagonist, never fully named | The user |
|
|
304
|
-
| The Trial | Process without clear rules | Program execution |
|
|
305
|
-
| The Castle | Unreachable authority | Higher-level systems |
|
|
306
|
-
| Clerk | Functionary who processes | `agent` → `clerk` |
|
|
307
|
-
| Proceeding | Official action | `session` → `proceeding` |
|
|
308
|
-
| Dossier | Accumulated file | `context` → `dossier` |
|
|
309
|
-
|
|
310
|
-
---
|
|
311
|
-
|
|
312
|
-
## Alternatives Considered
|
|
313
|
-
|
|
314
|
-
### For `clerk` (agent)
|
|
315
|
-
|
|
316
|
-
| Keyword | Rejected because |
|
|
317
|
-
|---------|------------------|
|
|
318
|
-
| `official` | Too generic |
|
|
319
|
-
| `functionary` | Hard to spell |
|
|
320
|
-
| `bureaucrat` | Too pejorative |
|
|
321
|
-
| `advocate` | Too positive/helpful |
|
|
322
|
-
|
|
323
|
-
### For `proceeding` (session)
|
|
324
|
-
|
|
325
|
-
| Keyword | Rejected because |
|
|
326
|
-
|---------|------------------|
|
|
327
|
-
| `case` | Overloaded (switch case) |
|
|
328
|
-
| `hearing` | Reserved for `repeat N hearings` |
|
|
329
|
-
| `trial` | Used in Homeric register |
|
|
330
|
-
| `process` | Too technical |
|
|
331
|
-
|
|
332
|
-
### For `departments` (parallel)
|
|
333
|
-
|
|
334
|
-
| Keyword | Rejected because |
|
|
335
|
-
|---------|------------------|
|
|
336
|
-
| `bureaus` | Good alternative, slightly less clear |
|
|
337
|
-
| `offices` | Too mundane |
|
|
338
|
-
| `ministries` | More Orwellian than Kafkaesque |
|
|
339
|
-
|
|
340
|
-
### For `appeal` (loop)
|
|
341
|
-
|
|
342
|
-
| Keyword | Rejected because |
|
|
343
|
-
|---------|------------------|
|
|
344
|
-
| `recourse` | Too legal-technical |
|
|
345
|
-
| `petition` | Used for `input` |
|
|
346
|
-
| `process` | Too generic |
|
|
347
|
-
|
|
348
|
-
---
|
|
349
|
-
|
|
350
|
-
## Verdict
|
|
351
|
-
|
|
352
|
-
Preserved for benchmarking. The Kafka register offers a darkly comic, self-aware framing that acknowledges the bureaucratic nature of software systems. The irony is the point.
|
|
353
|
-
|
|
354
|
-
Best suited for:
|
|
355
|
-
|
|
356
|
-
- Users with a sense of humor about software complexity
|
|
357
|
-
- Programs that genuinely feel like navigating bureaucracy
|
|
358
|
-
- Contexts where acknowledging absurdity is welcome
|
|
359
|
-
|
|
360
|
-
Not recommended for:
|
|
361
|
-
|
|
362
|
-
- Users who find bureaucratic metaphors stressful
|
|
363
|
-
- Contexts requiring earnest, positive framing
|
|
364
|
-
- Documentation that needs to feel approachable
|
|
365
|
-
|
|
366
|
-
---
|
|
367
|
-
|
|
368
|
-
## Closing Note
|
|
369
|
-
|
|
370
|
-
> "Someone must have slandered Josef K., for one morning, without having done anything wrong, he was arrested."
|
|
371
|
-
> — *The Trial*
|
|
372
|
-
|
|
373
|
-
In the Kafka register, your program is Josef K. The apparatus will process it. Whether it succeeds or fails, no one can say for certain. But the proceedings will continue.
|