@dp-pcs/ogp 0.2.3 → 0.2.6
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 +247 -30
- package/dist/cli/federation.d.ts +1 -1
- package/dist/cli/federation.d.ts.map +1 -1
- package/dist/cli/federation.js +13 -5
- package/dist/cli/federation.js.map +1 -1
- package/dist/cli/project.d.ts +2 -0
- package/dist/cli/project.d.ts.map +1 -1
- package/dist/cli/project.js +57 -3
- package/dist/cli/project.js.map +1 -1
- package/dist/cli.js +4 -2
- package/dist/cli.js.map +1 -1
- package/dist/daemon/notify.d.ts.map +1 -1
- package/dist/daemon/notify.js +47 -22
- package/dist/daemon/notify.js.map +1 -1
- package/dist/shared/config.js +1 -1
- package/dist/shared/config.js.map +1 -1
- package/docs/agent-comms.md +135 -5
- package/docs/federation-flow.md +349 -14
- package/docs/quickstart.md +229 -22
- package/docs/scopes.md +85 -6
- package/package.json +1 -1
- package/skills/ogp-project/SKILL.md +16 -2
package/README.md
CHANGED
|
@@ -22,6 +22,12 @@ This is a companion daemon that adds federation capabilities to any standard Ope
|
|
|
22
22
|
|
|
23
23
|
## Installation
|
|
24
24
|
|
|
25
|
+
```bash
|
|
26
|
+
npm install -g @dp-pcs/ogp
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Or from GitHub:
|
|
30
|
+
|
|
25
31
|
```bash
|
|
26
32
|
npm install -g github:dp-pcs/ogp
|
|
27
33
|
```
|
|
@@ -32,6 +38,8 @@ After installation, install the OGP skills for Claude Code:
|
|
|
32
38
|
ogp-install-skills
|
|
33
39
|
```
|
|
34
40
|
|
|
41
|
+
This auto-discovers and installs all OGP skills from the `skills/` directory.
|
|
42
|
+
|
|
35
43
|
## Quick Start
|
|
36
44
|
|
|
37
45
|
### 1. Setup
|
|
@@ -117,13 +125,14 @@ https://your-tunnel-url.com/.well-known/ogp
|
|
|
117
125
|
| `ogp federation list` | List all peers |
|
|
118
126
|
| `ogp federation list --status pending` | List pending federation requests |
|
|
119
127
|
| `ogp federation list --status approved` | List approved peers |
|
|
120
|
-
| `ogp federation request <url>
|
|
121
|
-
| `ogp federation approve <peer-id
|
|
128
|
+
| `ogp federation request <url> [peer-id]` | Request federation (peer-id auto-resolves if omitted) |
|
|
129
|
+
| `ogp federation approve <peer-id> [options]` | Approve with optional scope grants |
|
|
122
130
|
| `ogp federation reject <peer-id>` | Reject a federation request |
|
|
123
131
|
| `ogp federation send <peer-id> <intent> <json>` | Send a message to an approved peer |
|
|
124
132
|
| `ogp federation scopes <peer-id>` | Show scope grants for a peer |
|
|
125
133
|
| `ogp federation grant <peer-id> [options]` | Update scope grants for a peer |
|
|
126
134
|
| `ogp federation agent <peer-id> <topic> <message>` | Send agent-comms message |
|
|
135
|
+
| `ogp federation ping <peer-url>` | Test connectivity to a peer gateway |
|
|
127
136
|
|
|
128
137
|
### Scope Options (v0.2.0)
|
|
129
138
|
|
|
@@ -132,10 +141,50 @@ When approving or granting scopes:
|
|
|
132
141
|
- `--rate <limit>` - Rate limit as requests/seconds (e.g., `100/3600`)
|
|
133
142
|
- `--topics <list>` - Topics for agent-comms (e.g., `memory-management,task-delegation`)
|
|
134
143
|
|
|
144
|
+
### Intent Management (v0.2.0+)
|
|
145
|
+
|
|
146
|
+
| Command | Description |
|
|
147
|
+
|---------|-------------|
|
|
148
|
+
| `ogp intent register <name> [options]` | Register a custom intent handler |
|
|
149
|
+
| `ogp intent list` | List all registered intents |
|
|
150
|
+
| `ogp intent remove <name>` | Remove a registered intent |
|
|
151
|
+
|
|
152
|
+
### Project Management (v0.2.0+)
|
|
153
|
+
|
|
154
|
+
| Command | Description |
|
|
155
|
+
|---------|-------------|
|
|
156
|
+
| `ogp project create <id> <name> [options]` | Create a new project |
|
|
157
|
+
| `ogp project join <id> [name] [options]` | Join an existing project |
|
|
158
|
+
| `ogp project list` | List all projects |
|
|
159
|
+
| `ogp project contribute <id> <topic> <summary>` | Add a contribution |
|
|
160
|
+
| `ogp project query <id> [options]` | Query project contributions |
|
|
161
|
+
| `ogp project status <id>` | Show project status |
|
|
162
|
+
| `ogp project request-join <peer> <id> <name>` | Request to join peer's project |
|
|
163
|
+
| `ogp project send-contribution <peer> <id> <topic> <summary>` | Send contribution to peer |
|
|
164
|
+
| `ogp project query-peer <peer> <id> [options]` | Query peer's project |
|
|
165
|
+
| `ogp project status-peer <peer> <id>` | Get peer's project status |
|
|
166
|
+
| `ogp project delete <id> [options]` | Delete a project |
|
|
167
|
+
|
|
168
|
+
### Agent-Comms Policy Management (v0.2.0+)
|
|
169
|
+
|
|
170
|
+
| Command | Description |
|
|
171
|
+
|---------|-------------|
|
|
172
|
+
| `ogp agent-comms policies [peer-id]` | Show response policies |
|
|
173
|
+
| `ogp agent-comms configure [peer-ids] [options]` | Configure response policies |
|
|
174
|
+
| `ogp agent-comms add-topic <peer> <topic> [options]` | Add topic policy |
|
|
175
|
+
| `ogp agent-comms remove-topic <peer> <topic>` | Remove topic policy |
|
|
176
|
+
| `ogp agent-comms reset <peer>` | Reset peer to defaults |
|
|
177
|
+
| `ogp agent-comms activity [peer] [options]` | Show activity log |
|
|
178
|
+
| `ogp agent-comms default <level>` | Set default response level |
|
|
179
|
+
| `ogp agent-comms logging <on\|off>` | Enable/disable logging |
|
|
180
|
+
|
|
135
181
|
### Federation Examples
|
|
136
182
|
|
|
137
183
|
```bash
|
|
138
|
-
# Request federation
|
|
184
|
+
# Request federation (peer-id auto-resolves from /.well-known/ogp)
|
|
185
|
+
ogp federation request https://peer.example.com
|
|
186
|
+
|
|
187
|
+
# Or specify custom peer-id
|
|
139
188
|
ogp federation request https://peer.example.com peer-alice
|
|
140
189
|
|
|
141
190
|
# Check pending requests
|
|
@@ -144,7 +193,7 @@ ogp federation list --status pending
|
|
|
144
193
|
# Approve a peer (v0.1 mode - no scope restrictions)
|
|
145
194
|
ogp federation approve peer-alice
|
|
146
195
|
|
|
147
|
-
# Approve with scope grants (v0.2.0)
|
|
196
|
+
# Approve with scope grants (v0.2.0+)
|
|
148
197
|
ogp federation approve peer-alice \
|
|
149
198
|
--intents message,agent-comms \
|
|
150
199
|
--rate 100/3600 \
|
|
@@ -158,10 +207,13 @@ ogp federation grant peer-alice \
|
|
|
158
207
|
--intents agent-comms \
|
|
159
208
|
--topics project-planning
|
|
160
209
|
|
|
210
|
+
# Test connectivity
|
|
211
|
+
ogp federation ping https://peer.example.com
|
|
212
|
+
|
|
161
213
|
# Send a simple message
|
|
162
214
|
ogp federation send peer-alice message '{"text":"Hello!"}'
|
|
163
215
|
|
|
164
|
-
# Send agent-comms (v0.2.0)
|
|
216
|
+
# Send agent-comms (v0.2.0+)
|
|
165
217
|
ogp federation agent peer-alice memory-management "How do you persist context?"
|
|
166
218
|
|
|
167
219
|
# Send agent-comms with priority
|
|
@@ -183,6 +235,80 @@ ogp federation send peer-alice status-update '{
|
|
|
183
235
|
}'
|
|
184
236
|
```
|
|
185
237
|
|
|
238
|
+
### Project Examples (v0.2.0+)
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
# Create a project
|
|
242
|
+
ogp project create my-app "My Awesome App" \
|
|
243
|
+
--description "Mobile expense tracking application"
|
|
244
|
+
|
|
245
|
+
# Add contributions
|
|
246
|
+
ogp project contribute my-app progress "Completed authentication system"
|
|
247
|
+
ogp project contribute my-app decision "Using PostgreSQL for persistence"
|
|
248
|
+
ogp project contribute my-app blocker "Waiting for API key approval"
|
|
249
|
+
|
|
250
|
+
# Query project
|
|
251
|
+
ogp project status my-app
|
|
252
|
+
ogp project query my-app --limit 10
|
|
253
|
+
ogp project query my-app --topic progress
|
|
254
|
+
|
|
255
|
+
# Collaborate with peers
|
|
256
|
+
ogp project send-contribution peer-alice shared-app progress "Deployed staging"
|
|
257
|
+
ogp project query-peer peer-alice shared-app --limit 10
|
|
258
|
+
ogp project status-peer peer-alice shared-app
|
|
259
|
+
|
|
260
|
+
# Join peer's project
|
|
261
|
+
ogp project request-join peer-alice mobile-app "Mobile App Project"
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
### Custom Intent Examples (v0.2.0+)
|
|
265
|
+
|
|
266
|
+
```bash
|
|
267
|
+
# Register a deployment intent
|
|
268
|
+
ogp intent register deployment \
|
|
269
|
+
--session-key "agent:main:main" \
|
|
270
|
+
--description "Deployment notifications"
|
|
271
|
+
|
|
272
|
+
# List all intents
|
|
273
|
+
ogp intent list
|
|
274
|
+
|
|
275
|
+
# Remove intent
|
|
276
|
+
ogp intent remove deployment
|
|
277
|
+
|
|
278
|
+
# Grant peer access to custom intent
|
|
279
|
+
ogp federation approve alice --intents deployment --rate 50/3600
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
### Agent-Comms Policy Examples (v0.2.0+)
|
|
283
|
+
|
|
284
|
+
```bash
|
|
285
|
+
# View current policies
|
|
286
|
+
ogp agent-comms policies
|
|
287
|
+
|
|
288
|
+
# Configure global defaults
|
|
289
|
+
ogp agent-comms configure --global \
|
|
290
|
+
--topics "general,testing" \
|
|
291
|
+
--level summary
|
|
292
|
+
|
|
293
|
+
# Configure specific peer
|
|
294
|
+
ogp agent-comms configure stan \
|
|
295
|
+
--topics "memory-management" \
|
|
296
|
+
--level full \
|
|
297
|
+
--notes "Trusted collaborator"
|
|
298
|
+
|
|
299
|
+
# Add sensitive topic
|
|
300
|
+
ogp agent-comms add-topic stan calendar --level escalate
|
|
301
|
+
|
|
302
|
+
# Multi-peer configuration
|
|
303
|
+
ogp agent-comms configure stan,leo,alice \
|
|
304
|
+
--topics "testing,debugging" \
|
|
305
|
+
--level full
|
|
306
|
+
|
|
307
|
+
# View activity
|
|
308
|
+
ogp agent-comms activity
|
|
309
|
+
ogp agent-comms activity stan --last 20
|
|
310
|
+
```
|
|
311
|
+
|
|
186
312
|
## How Federation Works
|
|
187
313
|
|
|
188
314
|
```
|
|
@@ -225,13 +351,16 @@ All messages are signed with Ed25519 cryptographic signatures to prevent tamperi
|
|
|
225
351
|
- **message**: Simple text message
|
|
226
352
|
- **task-request**: Request peer to perform a task
|
|
227
353
|
- **status-update**: Status update from a peer
|
|
228
|
-
- **agent-comms**: Agent-to-agent communication with topic routing (v0.2.0)
|
|
354
|
+
- **agent-comms**: Agent-to-agent communication with topic routing (v0.2.0+)
|
|
355
|
+
- **project**: Collaborative project management with contributions (v0.2.0+)
|
|
356
|
+
|
|
357
|
+
Custom intents can be registered with `ogp intent register` (v0.2.0+).
|
|
229
358
|
|
|
230
|
-
|
|
359
|
+
## Key Features (v0.2.3)
|
|
231
360
|
|
|
232
|
-
|
|
361
|
+
### 1. Scope Negotiation (v0.2.0+)
|
|
233
362
|
|
|
234
|
-
|
|
363
|
+
Three-layer scope model based on BGP-style per-peer policies:
|
|
235
364
|
|
|
236
365
|
```
|
|
237
366
|
Layer 1: Gateway Capabilities → What I CAN support (advertised globally)
|
|
@@ -239,33 +368,110 @@ Layer 2: Peer Negotiation → What I WILL grant YOU (per-peer, during appro
|
|
|
239
368
|
Layer 3: Runtime Enforcement → Is THIS request within YOUR granted scope (doorman)
|
|
240
369
|
```
|
|
241
370
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
2. **Request**: Peer A requests federation with Peer B
|
|
371
|
+
**How It Works:**
|
|
372
|
+
1. **Discovery**: Peers discover capabilities via `/.well-known/ogp`
|
|
373
|
+
2. **Request**: Peer A requests federation (peer-id auto-resolves)
|
|
246
374
|
3. **Grant**: Peer B approves with specific scope grants (intents, rate limits, topics)
|
|
247
|
-
4. **Enforcement**:
|
|
248
|
-
|
|
249
|
-
### Example: David ↔ Stan Federation
|
|
375
|
+
4. **Enforcement**: Doorman validates every incoming message against granted scopes
|
|
250
376
|
|
|
377
|
+
**Example:**
|
|
251
378
|
```bash
|
|
252
|
-
#
|
|
379
|
+
# Approve with granular access control
|
|
253
380
|
ogp federation approve stan \
|
|
254
381
|
--intents agent-comms \
|
|
255
382
|
--topics memory-management \
|
|
256
383
|
--rate 10/60
|
|
257
384
|
|
|
258
|
-
# Stan can
|
|
259
|
-
ogp federation agent david memory-management "How do you persist context?"
|
|
385
|
+
# Stan can send: ✓
|
|
386
|
+
ogp federation agent david memory-management "How do you persist context?"
|
|
387
|
+
|
|
388
|
+
# Stan cannot send: ✗ 403 Topic not allowed
|
|
389
|
+
ogp federation agent david personal-finances "What's your budget?"
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
### 2. Agent-to-Agent Communication (v0.2.0+)
|
|
393
|
+
|
|
394
|
+
Rich agent collaboration with topic routing, priority levels, and response policies.
|
|
395
|
+
|
|
396
|
+
**Topics**: Categorize messages (e.g., `memory-management`, `task-delegation`, `planning`)
|
|
397
|
+
**Priority**: Low, normal, high
|
|
398
|
+
**Policies**: Control responses (full, summary, escalate, deny)
|
|
399
|
+
**Threading**: Multi-turn conversations with `conversationId`
|
|
400
|
+
**Replies**: Async callbacks or polling
|
|
401
|
+
|
|
402
|
+
**Example:**
|
|
403
|
+
```bash
|
|
404
|
+
# Send with priority and wait for reply
|
|
405
|
+
ogp federation agent stan memory-management \
|
|
406
|
+
"How do you persist context?" \
|
|
407
|
+
--priority high \
|
|
408
|
+
--wait \
|
|
409
|
+
--timeout 60000
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
### 3. Project Intent System (v0.2.0+)
|
|
413
|
+
|
|
414
|
+
Collaborative project management across federated peers with activity logging and cross-peer queries.
|
|
415
|
+
|
|
416
|
+
**Features:**
|
|
417
|
+
- Create projects with contextual setup (repo, workspace, notes, collaborators)
|
|
418
|
+
- Log contributions by topic (progress, decision, blocker, context)
|
|
419
|
+
- Query local and peer contributions for unified team view
|
|
420
|
+
- Agent-aware: proactive logging and context loading
|
|
421
|
+
|
|
422
|
+
**Example:**
|
|
423
|
+
```bash
|
|
424
|
+
# Create project
|
|
425
|
+
ogp project create my-app "My App" --description "Expense tracker"
|
|
426
|
+
|
|
427
|
+
# Log work
|
|
428
|
+
ogp project contribute my-app progress "Completed authentication"
|
|
429
|
+
ogp project contribute my-app decision "Using PostgreSQL"
|
|
430
|
+
|
|
431
|
+
# Query peer's project
|
|
432
|
+
ogp project query-peer alice shared-app --limit 10
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
### 4. Custom Intent Registry (v0.2.0+)
|
|
260
436
|
|
|
261
|
-
|
|
262
|
-
|
|
437
|
+
Register custom intent handlers for specialized workflows.
|
|
438
|
+
|
|
439
|
+
**Example:**
|
|
440
|
+
```bash
|
|
441
|
+
# Register deployment intent
|
|
442
|
+
ogp intent register deployment \
|
|
443
|
+
--session-key "agent:main:main" \
|
|
444
|
+
--description "Deployment notifications"
|
|
445
|
+
|
|
446
|
+
# Grant to peer
|
|
447
|
+
ogp federation approve alice --intents deployment --rate 50/3600
|
|
263
448
|
```
|
|
264
449
|
|
|
450
|
+
### 5. Auto Peer-ID Resolution (v0.2.3+)
|
|
451
|
+
|
|
452
|
+
Peer IDs automatically resolve from `/.well-known/ogp` - no need to specify manually.
|
|
453
|
+
|
|
454
|
+
**Example:**
|
|
455
|
+
```bash
|
|
456
|
+
# Old way (still works)
|
|
457
|
+
ogp federation request https://peer.example.com peer-alice
|
|
458
|
+
|
|
459
|
+
# New way (auto-resolves)
|
|
460
|
+
ogp federation request https://peer.example.com
|
|
461
|
+
```
|
|
462
|
+
|
|
463
|
+
### 6. Telegram Integration (v0.2.3+)
|
|
464
|
+
|
|
465
|
+
Federation requests fire OpenClaw notifications via sessions_send, delivering directly to Telegram.
|
|
466
|
+
|
|
467
|
+
### 7. Enhanced Daemon Status (v0.2.3+)
|
|
468
|
+
|
|
469
|
+
`ogp status` detects externally-started daemons via port probe fallback.
|
|
470
|
+
|
|
265
471
|
### Backward Compatibility
|
|
266
472
|
|
|
267
473
|
- v0.1 peers work without scope negotiation (default rate limits apply)
|
|
268
|
-
- v0.2 gateways automatically detect protocol version
|
|
474
|
+
- v0.2+ gateways automatically detect protocol version
|
|
269
475
|
- No breaking changes - existing federations continue working
|
|
270
476
|
|
|
271
477
|
## Agent-Comms Response Policies
|
|
@@ -345,8 +551,10 @@ Configuration is stored in `~/.ogp/config.json`:
|
|
|
345
551
|
|
|
346
552
|
Additional state files:
|
|
347
553
|
- `~/.ogp/keypair.json` - Ed25519 keypair (keep secure!)
|
|
348
|
-
- `~/.ogp/peers.json` - Federated peer list
|
|
349
|
-
- `~/.ogp/intents.json` - Intent registry
|
|
554
|
+
- `~/.ogp/peers.json` - Federated peer list with scope grants
|
|
555
|
+
- `~/.ogp/intents.json` - Intent registry (built-in + custom)
|
|
556
|
+
- `~/.ogp/projects.json` - Project contexts and contributions
|
|
557
|
+
- `~/.ogp/agent-comms-config.json` - Response policies and activity log
|
|
350
558
|
|
|
351
559
|
## Skills (Claude Code)
|
|
352
560
|
|
|
@@ -363,8 +571,9 @@ ogp-install-skills
|
|
|
363
571
|
| **ogp** | Core protocol: federation setup, peer management, sending messages |
|
|
364
572
|
| **ogp-expose** | Tunnel setup: cloudflared/ngrok configuration |
|
|
365
573
|
| **ogp-agent-comms** | Interactive wizard: configure response policies per-peer |
|
|
574
|
+
| **ogp-project** | Agent-aware project context: interviews, logging, cross-peer summarization |
|
|
366
575
|
|
|
367
|
-
The `ogp-agent-comms` skill
|
|
576
|
+
Skills auto-install from the `skills/` directory. The `ogp-agent-comms` skill provides an interactive wizard for multi-peer policy configuration. The `ogp-project` skill enables conversational project management with context interviews and proactive logging.
|
|
368
577
|
|
|
369
578
|
## Documentation
|
|
370
579
|
|
|
@@ -409,20 +618,28 @@ src/
|
|
|
409
618
|
server.ts # HTTP server and endpoints
|
|
410
619
|
keypair.ts # Ed25519 keypair management
|
|
411
620
|
peers.ts # Peer storage and management
|
|
412
|
-
scopes.ts # Scope types and utilities (v0.2.0)
|
|
413
|
-
doorman.ts # Scope enforcement + rate limiting (v0.2.0)
|
|
414
|
-
reply-handler.ts # Async reply mechanism (v0.2.0)
|
|
415
|
-
|
|
621
|
+
scopes.ts # Scope types and utilities (v0.2.0+)
|
|
622
|
+
doorman.ts # Scope enforcement + rate limiting (v0.2.0+)
|
|
623
|
+
reply-handler.ts # Async reply mechanism (v0.2.0+)
|
|
624
|
+
agent-comms.ts # Agent-comms policy resolution (v0.2.0+)
|
|
625
|
+
projects.ts # Project storage and management (v0.2.0+)
|
|
626
|
+
intent-registry.ts # Intent definitions and custom registry
|
|
416
627
|
message-handler.ts # Message verification and routing
|
|
417
|
-
notify.ts # OpenClaw
|
|
628
|
+
notify.ts # OpenClaw integration (sessions_send + webhooks)
|
|
418
629
|
cli/
|
|
419
630
|
setup.ts # Setup wizard
|
|
420
631
|
federation.ts # Federation commands (scopes, agent-comms)
|
|
632
|
+
project.ts # Project management commands (v0.2.0+)
|
|
421
633
|
expose.ts # Tunnel management
|
|
422
634
|
install.ts # LaunchAgent installation
|
|
423
635
|
shared/
|
|
424
636
|
signing.ts # Ed25519 sign/verify utilities
|
|
425
637
|
config.ts # Configuration management
|
|
638
|
+
skills/
|
|
639
|
+
ogp/ # Core OGP skill
|
|
640
|
+
ogp-expose/ # Tunnel configuration skill
|
|
641
|
+
ogp-agent-comms/ # Response policy wizard
|
|
642
|
+
ogp-project/ # Project context management skill
|
|
426
643
|
```
|
|
427
644
|
|
|
428
645
|
## License
|
package/dist/cli/federation.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export interface ApproveOptions {
|
|
|
7
7
|
}
|
|
8
8
|
export declare function federationApprove(peerId: string, options?: ApproveOptions): Promise<void>;
|
|
9
9
|
export declare function federationReject(peerId: string): Promise<void>;
|
|
10
|
-
export declare function federationSend(peerId: string, intent: string, payloadJson: string): Promise<any | null>;
|
|
10
|
+
export declare function federationSend(peerId: string, intent: string, payloadJson: string, timeoutMs?: number): Promise<any | null>;
|
|
11
11
|
/**
|
|
12
12
|
* Show scope grants for a peer
|
|
13
13
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"federation.d.ts","sourceRoot":"","sources":["../../src/cli/federation.ts"],"names":[],"mappings":"AAgBA,wBAAsB,cAAc,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBhG;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoEtF;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyEnG;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBpE;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"federation.d.ts","sourceRoot":"","sources":["../../src/cli/federation.ts"],"names":[],"mappings":"AAgBA,wBAAsB,cAAc,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBhG;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoEtF;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyEnG;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBpE;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CA6DrB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuDxE;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CA2Cf;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CAClB,GACL,OAAO,CAAC,IAAI,CAAC,CAkGf"}
|
package/dist/cli/federation.js
CHANGED
|
@@ -174,7 +174,7 @@ export async function federationReject(peerId) {
|
|
|
174
174
|
console.error('Failed to notify peer:', error);
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
|
-
export async function federationSend(peerId, intent, payloadJson) {
|
|
177
|
+
export async function federationSend(peerId, intent, payloadJson, timeoutMs) {
|
|
178
178
|
const config = requireConfig();
|
|
179
179
|
const peer = getPeer(peerId);
|
|
180
180
|
if (!peer) {
|
|
@@ -198,25 +198,33 @@ export async function federationSend(peerId, intent, payloadJson) {
|
|
|
198
198
|
};
|
|
199
199
|
const { payload: signedPayload, signature } = signObject(message, getPrivateKey());
|
|
200
200
|
try {
|
|
201
|
+
const controller = new AbortController();
|
|
202
|
+
const timeoutId = timeoutMs ? setTimeout(() => controller.abort(), timeoutMs) : null;
|
|
201
203
|
const response = await fetch(`${peer.gatewayUrl}/federation/message`, {
|
|
202
204
|
method: 'POST',
|
|
203
205
|
headers: { 'Content-Type': 'application/json' },
|
|
204
206
|
body: JSON.stringify({
|
|
205
207
|
message: signedPayload,
|
|
206
208
|
signature
|
|
207
|
-
})
|
|
209
|
+
}),
|
|
210
|
+
signal: controller.signal
|
|
208
211
|
});
|
|
212
|
+
if (timeoutId)
|
|
213
|
+
clearTimeout(timeoutId);
|
|
209
214
|
if (!response.ok) {
|
|
210
215
|
console.error(`Send failed: ${response.status} ${response.statusText}`);
|
|
211
216
|
return null;
|
|
212
217
|
}
|
|
213
218
|
const result = await response.json();
|
|
214
|
-
console.log('✓ Message sent');
|
|
215
|
-
console.log(' Response:', JSON.stringify(result, null, 2));
|
|
216
219
|
return result;
|
|
217
220
|
}
|
|
218
221
|
catch (error) {
|
|
219
|
-
|
|
222
|
+
if (error instanceof Error && error.name === 'AbortError') {
|
|
223
|
+
console.error(`Request timed out after ${timeoutMs}ms`);
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
console.error('Failed to send message:', error);
|
|
227
|
+
}
|
|
220
228
|
return null;
|
|
221
229
|
}
|
|
222
230
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"federation.js","sourceRoot":"","sources":["../../src/cli/federation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"federation.js","sourceRoot":"","sources":["../../src/cli/federation.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/project.d.ts
CHANGED
|
@@ -4,12 +4,14 @@ interface ProjectJoinOptions {
|
|
|
4
4
|
}
|
|
5
5
|
interface ProjectContributeOptions {
|
|
6
6
|
metadata?: string;
|
|
7
|
+
localOnly?: boolean;
|
|
7
8
|
}
|
|
8
9
|
interface ProjectQueryOptions {
|
|
9
10
|
topic?: string;
|
|
10
11
|
author?: string;
|
|
11
12
|
limit?: number;
|
|
12
13
|
search?: string;
|
|
14
|
+
timeout?: number;
|
|
13
15
|
}
|
|
14
16
|
/**
|
|
15
17
|
* Create a new project locally
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/cli/project.ts"],"names":[],"mappings":"AAmBA,UAAU,kBAAkB;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,wBAAwB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/cli/project.ts"],"names":[],"mappings":"AAmBA,UAAU,kBAAkB;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,wBAAwB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,mBAAmB;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GACrC,OAAO,CAAC,IAAI,CAAC,CAwBf;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAqBjD;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,IAAI,CAAC,CAyEf;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC,CA2Df;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCpE;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GACrC,OAAO,CAAC,IAAI,CAAC,CAqEf;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAM,GAChD,OAAO,CAAC,IAAI,CAAC,CAoEf;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
|
package/dist/cli/project.js
CHANGED
|
@@ -136,6 +136,27 @@ export async function projectContribute(projectId, topic, summary, options = {})
|
|
|
136
136
|
console.error('Error: Failed to add contribution');
|
|
137
137
|
process.exit(1);
|
|
138
138
|
}
|
|
139
|
+
// BUILD-93: Auto-push to all approved peers who are project members
|
|
140
|
+
if (!options.localOnly) {
|
|
141
|
+
const { listPeers } = await import('../daemon/peers.js');
|
|
142
|
+
const peers = listPeers().filter(p => p.status === 'approved');
|
|
143
|
+
if (peers.length > 0) {
|
|
144
|
+
const payload = JSON.stringify({ projectId, topic, summary, ...(metadata && { metadata }) });
|
|
145
|
+
let pushed = 0;
|
|
146
|
+
for (const peer of peers) {
|
|
147
|
+
try {
|
|
148
|
+
await federationSend(peer.id, 'project.contribute', payload, 5000);
|
|
149
|
+
pushed++;
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
// Peer unreachable — skip silently, contribution saved locally
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
if (pushed > 0) {
|
|
156
|
+
console.log(` ↗ Synced to ${pushed} peer${pushed > 1 ? 's' : ''}`);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
139
160
|
}
|
|
140
161
|
/**
|
|
141
162
|
* Query project contributions
|
|
@@ -370,11 +391,44 @@ export async function projectQueryPeer(peerId, projectId, options = {}) {
|
|
|
370
391
|
payload.limit = options.limit;
|
|
371
392
|
console.log(`Querying project '${projectId}' from peer '${peerId}'...`);
|
|
372
393
|
try {
|
|
373
|
-
await federationSend(peerId, 'project.query', JSON.stringify(payload));
|
|
374
|
-
|
|
394
|
+
const response = await federationSend(peerId, 'project.query', JSON.stringify(payload), options.timeout);
|
|
395
|
+
if (!response) {
|
|
396
|
+
console.error('Failed to get response from peer');
|
|
397
|
+
process.exit(1);
|
|
398
|
+
}
|
|
399
|
+
if (!response.success) {
|
|
400
|
+
console.error(`Query failed: ${response.error || 'Unknown error'}`);
|
|
401
|
+
process.exit(1);
|
|
402
|
+
}
|
|
403
|
+
// Format and display the response
|
|
404
|
+
const { projectName, contributions } = response.response;
|
|
405
|
+
if (contributions && contributions.length > 0) {
|
|
406
|
+
console.log(`\n✓ Found ${contributions.length} contributions in project '${projectName}':\n`);
|
|
407
|
+
contributions.forEach((contribution, index) => {
|
|
408
|
+
const timestamp = new Date(contribution.timestamp).toLocaleString();
|
|
409
|
+
console.log(`${index + 1}. [${contribution.topic}] by ${contribution.authorId} (${timestamp})`);
|
|
410
|
+
console.log(` ${contribution.summary}`);
|
|
411
|
+
if (contribution.metadata) {
|
|
412
|
+
console.log(` Metadata: ${JSON.stringify(contribution.metadata, null, 2)}`);
|
|
413
|
+
}
|
|
414
|
+
console.log('');
|
|
415
|
+
});
|
|
416
|
+
}
|
|
417
|
+
else {
|
|
418
|
+
console.log(`\n✓ No contributions found in project '${projectName}'`);
|
|
419
|
+
// Check if filters were applied
|
|
420
|
+
const filters = [];
|
|
421
|
+
if (options.topic)
|
|
422
|
+
filters.push(`topic: ${options.topic}`);
|
|
423
|
+
if (options.author)
|
|
424
|
+
filters.push(`author: ${options.author}`);
|
|
425
|
+
if (filters.length > 0) {
|
|
426
|
+
console.log(` (with filters: ${filters.join(', ')})`);
|
|
427
|
+
}
|
|
428
|
+
}
|
|
375
429
|
}
|
|
376
430
|
catch (err) {
|
|
377
|
-
console.error('Error
|
|
431
|
+
console.error('Error querying peer:', err);
|
|
378
432
|
process.exit(1);
|
|
379
433
|
}
|
|
380
434
|
}
|