-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmodule.yaml
More file actions
155 lines (143 loc) · 4.54 KB
/
Copy pathmodule.yaml
File metadata and controls
155 lines (143 loc) · 4.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
# Datacore Module Manifest
# https://github.com/datafund/datacore-messaging
name: messaging
version: 0.2.0
description: Inter-user and human-to-agent messaging via org-workspace state machine
author: datafund
repository: https://github.com/datafund/datacore-messaging
# Dependencies (spec-compliant format)
dependencies:
- core@>=0.1.0
- org-workspace>=0.3.0
# What this module provides (spec-compliant format)
provides:
# Hooks are fully implemented and active
hooks:
- today # Unread message count in /today briefing
- task_check # Agent task check on prompt submit
- send_reply # Reply helper for Claude
- mark_message # Mark messages read/archived
- task_queue # Approve/reject/cancel queued tasks
# Phase 2 — CLI commands and agents are spec-only documents;
# executable implementation is planned for Phase 2.
# See commands/*.md and agents/*.md for specifications.
planned:
commands:
- msg
- my-messages
- reply
- msg-add-user
- broadcast
agents:
- message-digest
- message-task-intake
# Settings schema (extension - not in spec but useful)
settings:
identity:
name:
type: string
required: true
description: Your username for messaging
handles:
type: array
items: string
default: []
description: Aliases others can use to message you (e.g., @nickname)
messaging:
default_space:
type: string
required: false
description: Default space for sending messages
show_in_today:
type: boolean
default: true
description: Show unread message count in /today briefing
auto_mark_read:
type: boolean
default: false
description: Automatically mark messages as read after viewing
relay:
url:
type: string
required: false
description: WebSocket URL for the relay server
secret:
type: string
required: false
description: Authentication secret for relay connection
trust_tiers:
type: object
required: false
description: Per-tier overrides for priority_boost, daily_token_limit, max_task_effort, auto_accept
trust_overrides:
type: object
required: false
description: Per-actor trust tier assignments (actor_id -> tier name)
compute:
daily_budget_tokens:
type: integer
default: 500000
description: Global daily token budget across all senders
per_sender_daily_max:
type: integer
default: 100000
description: Per-sender daily token limit (override via trust_tiers)
per_task_max_tokens:
type: integer
default: 50000
description: Hard cap on tokens per task
per_task_timeout_minutes:
type: integer
default: 30
description: Task execution timeout in minutes
max_queue_depth:
type: integer
default: 20
description: Maximum number of concurrent active tasks
rate_limits:
tasks_per_hour:
type: integer
default: 5
description: Maximum tasks accepted per actor per hour
inbox_feeds:
type: array
items: string
default: []
description: External feed URLs to poll for incoming messages (relay WebSocket endpoints)
# Files created by this module (extension)
creates:
- path: "{space}/org/messaging/"
type: directory
description: Messaging directory for each space
- path: "{space}/org/messaging/inbox.org"
type: file
description: Universal inbox (all incoming messages and file deliveries)
- path: "{space}/org/messaging/outbox.org"
type: file
description: Sent message log
- path: "{space}/org/messaging/agents/"
type: directory
description: Per-agent task inboxes
- path: "{space}/org/messaging/agents/{username}-claude.org"
type: file
description: Agent task inbox for the local Claude instance
- path: "{space}/contacts.yaml"
type: file
description: Contact registry mapping handles to usernames and relay endpoints
# Integration hooks (extension)
hooks:
today:
description: Add unread message count to daily briefing
handler: hooks/inbox-watcher.py
task_check:
description: Check for queued agent tasks on prompt submit
handler: hooks/inbox-watcher.py
send_reply:
description: Send reply message to a thread
handler: hooks/send-reply.py
mark_message:
description: Mark a message read/archived
handler: hooks/mark-message.py
task_queue:
description: Approve, reject, or cancel queued tasks
handler: hooks/task-queue.py