Something went wrong. Try again.
A local-first event pipeline for independent agents, built on Jazz.
Something went wrong. Try again.
thought-stream thoughtstream.yaml
8.0 kB · 271 lines
YAML
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272version: 1runtime: revision: local-dev scheduler: maxConcurrentOperations: 4 reconcileIntervalMs: 1000inspector: host: 127.0.0.1 port: 4317agents: directory: agentsincidents: enabled: false ledgerPath: .thoughtstream/error-ledger.jsonl intervalMs: 1000 telegramAlerts: enabled: false sourceId: telegram:thoughtstream-bot channelIds: - "123456789" categories: - connector-terminal - scheduler-exhausted - agent-run-failed - agent-run-blocked cooldownMs: 900000 maxMessagesPerWindow: 3 windowMs: 900000batches: - id: cameron-atproto-quiet-window version: 1 enabled: false input: eventTypes: - stream.thought.source.atproto.commit sourceIds: - jetstream:cameron-bluesky output: sourceId: batch:cameron-atproto eventType: stream.thought.derived.event.batch quietWindowMs: 60000 maxAgeMs: 300000 maxItems: 50 privacy: preserve replay: now pollIntervalMs: 1000 - id: cameron-x-activity-window version: 1 enabled: false input: eventTypes: - stream.thought.source.x.activity sourceIds: - x:cameron-public - x:cameron-private - x:public-watch output: sourceId: batch:cameron-x-activity eventType: stream.thought.derived.event.batch quietWindowMs: 60000 maxAgeMs: 300000 maxItems: 100 privacy: most-private replay: now pollIntervalMs: 1000 - id: cameron-social-observation-window version: 1 enabled: false input: eventTypes: - stream.thought.derived.message.observation sourceIds: - agent:cameron-bluesky-listener - agent:cameron-x-listener output: sourceId: batch:cameron-social-observations eventType: stream.thought.derived.event.batch quietWindowMs: 60000 maxAgeMs: 300000 maxItems: 20 privacy: most-private replay: now pollIntervalMs: 1000 - id: stream-activity-ten-minute version: 2 enabled: false input: eventTypes: - stream.thought.source.file.added - stream.thought.source.file.changed - stream.thought.source.file.renamed - stream.thought.source.file.deleted - stream.thought.source.rss.item - stream.thought.source.atproto.commit - stream.thought.source.email.observed - stream.thought.source.telegram.nonconversation - stream.thought.source.telegram.reaction - stream.thought.source.telegram.correction - stream.thought.source.x.activity - stream.thought.source.agent.message sourceIds: - filesystem:coil - filesystem:telegram-agent-context - jetstream:cameron-atproto - telegram:thoughtstream-bot-webhook - fastmail:cameron - agent-message:co - x:cameron-public - x:cameron-private - x:public-watch output: sourceId: batch:stream-activity eventType: stream.thought.derived.event.batch quietWindowMs: 600000 maxAgeMs: 600000 maxItems: 200 privacy: most-private replay: now pollIntervalMs: 5000sources: - id: fastmail:cameron kind: fastmail-jmap enabled: false tokenEnv: FASTMAIL_API_KEY intervalMs: 60000 timeoutMs: 15000 maxResponseBytes: 4194304 maxChanges: 100 maxPages: 10 resnapshotLimit: 200 pollOnStart: true replay: now - id: filesystem:fixture kind: filesystem enabled: true root: fixtures/vault debounceMs: 250 privacy: private - id: telegram:letta-spool kind: telegram-spool enabled: false file: .thoughtstream/ingress/telegram.ndjson intervalMs: 1000 maxRecords: 1000 maxReadBytes: 8388608 - id: telegram:thoughtstream-bot kind: telegram-webhook enabled: false tokenEnv: THOUGHTSTREAM_TELEGRAM_BOT_TOKEN webhookSecretEnv: THOUGHTSTREAM_TELEGRAM_WEBHOOK_SECRET webhookUrl: https://thoughtstream.example/webhooks/telegram webhookPath: /webhooks/telegram listenHost: 127.0.0.1 listenPort: 4318 maxBodyBytes: 1048576 requestTimeoutMs: 10000 dispatchIntervalMs: 1000 channels: - id: "123456789" enabled: true bootMessage: enabled: true text: |- thought stream is live.
Watching only your Bluesky posts and likes. Posts deliver promptly; likes coalesce after 60 seconds. Outbound cap: 3 messages per minute.
Telegram webhook ingress is active with durable replay handling. notifications: enabled: true includeNormal: true runStatuses: - completed - failed allowedSources: - telegram:thoughtstream-bot-webhook - batch:stream-activity - batch:cameron-social-observations directReplyAgentIds: - resident-letta-conversation directReplySources: - telegram:thoughtstream-bot-webhook notificationProposalAgentIds: - resident-letta-conversation - cameron-social-listener notificationProposalSources: - batch:stream-activity - batch:cameron-social-observations allowedActors: - did:plc:gfrmhdmjvxn2sjedzboeudef - batch:stream-activity-ten-minute - batch:cameron-social-observation-window maxMessagesPerWindow: 20 windowMs: 60000 likeDigestDelayMs: 60000 maxLikesPerDigest: 10 - id: x:cameron-public kind: x-webhook enabled: false lane: personal-public consumerSecretEnv: THOUGHTSTREAM_X_CONSUMER_SECRET managementBearerTokenEnv: THOUGHTSTREAM_X_MANAGEMENT_BEARER_TOKEN webhookUrl: https://thoughtstream.example/webhooks/x/cameron-public webhookPath: /webhooks/x/cameron-public listenHost: 127.0.0.1 listenPort: 4319 maxBodyBytes: 2097152 requestTimeoutMs: 8000 pendingRequestLimit: 100 subscriptionFile: config/x-cameron-public.yaml - id: x:cameron-private kind: x-webhook enabled: false lane: personal-private managementAuth: user-context consumerSecretEnv: THOUGHTSTREAM_X_CONSUMER_SECRET managementBearerTokenEnv: THOUGHTSTREAM_X_CAMERON_USER_ACCESS_TOKEN webhookUrl: https://thoughtstream.example/webhooks/x/cameron-private webhookPath: /webhooks/x/cameron-private listenHost: 127.0.0.1 listenPort: 4321 maxBodyBytes: 2097152 requestTimeoutMs: 8000 pendingRequestLimit: 100 expectedSubscriptions: - eventType: like.create userId: "1232326955652931584" direction: outbound tag: thoughtstream:x:cameron-private:just_cameron:like-create-outbound - id: x:public-watch kind: x-webhook enabled: false lane: public-watchlist consumerSecretEnv: THOUGHTSTREAM_X_CONSUMER_SECRET managementBearerTokenEnv: THOUGHTSTREAM_X_MANAGEMENT_BEARER_TOKEN webhookUrl: https://thoughtstream.example/webhooks/x/public-watch webhookPath: /webhooks/x/public-watch listenHost: 127.0.0.1 listenPort: 4320 maxBodyBytes: 2097152 requestTimeoutMs: 8000 pendingRequestLimit: 100 subscriptionFile: config/x-public-watch.yaml - id: rss:example kind: rss enabled: false url: https://example.com/feed.xml intervalMs: 900000 timeoutMs: 15000 maxItems: 200 privacy: public-source - id: jetstream:example kind: jetstream enabled: false collections: - app.bsky.feed.post rewindUs: 2000000 maxReconnects: 8 restartBackoffMs: 30000 - id: jetstream:cameron-bluesky kind: jetstream enabled: false collections: - app.bsky.feed.post - app.bsky.feed.like - network.cosmik.collectionLink dids: - did:plc:gfrmhdmjvxn2sjedzboeudef rewindUs: 2000000 maxReconnects: 100 restartBackoffMs: 30000