@dp-pcs/ogp 0.2.0 ā 0.2.1
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/dist/cli/intent-registry.d.ts +9 -0
- package/dist/cli/intent-registry.d.ts.map +1 -0
- package/dist/cli/intent-registry.js +101 -0
- package/dist/cli/intent-registry.js.map +1 -0
- package/dist/cli/project.d.ts +59 -0
- package/dist/cli/project.d.ts.map +1 -0
- package/dist/cli/project.js +379 -0
- package/dist/cli/project.js.map +1 -0
- package/dist/cli.js +141 -0
- package/dist/cli.js.map +1 -1
- package/dist/daemon/intent-registry.d.ts +2 -0
- package/dist/daemon/intent-registry.d.ts.map +1 -1
- package/dist/daemon/intent-registry.js +66 -1
- package/dist/daemon/intent-registry.js.map +1 -1
- package/dist/daemon/message-handler.d.ts +1 -0
- package/dist/daemon/message-handler.d.ts.map +1 -1
- package/dist/daemon/message-handler.js +428 -2
- package/dist/daemon/message-handler.js.map +1 -1
- package/dist/daemon/projects.d.ts +81 -0
- package/dist/daemon/projects.d.ts.map +1 -0
- package/dist/daemon/projects.js +296 -0
- package/dist/daemon/projects.js.map +1 -0
- package/dist/daemon/server.d.ts.map +1 -1
- package/dist/daemon/server.js +41 -0
- package/dist/daemon/server.js.map +1 -1
- package/package.json +1 -1
- package/scripts/install-skills.js +77 -10
- package/skills/ogp/SKILL.md +13 -3
- package/skills/ogp-agent-comms/SKILL.md +1 -1
- package/skills/ogp-expose/SKILL.md +30 -4
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { getConfigDir, ensureConfigDir } from '../shared/config.js';
|
|
4
|
+
const PROJECTS_FILE = path.join(getConfigDir(), 'projects.json');
|
|
5
|
+
export function loadProjects() {
|
|
6
|
+
ensureConfigDir();
|
|
7
|
+
if (!fs.existsSync(PROJECTS_FILE)) {
|
|
8
|
+
return [];
|
|
9
|
+
}
|
|
10
|
+
const data = fs.readFileSync(PROJECTS_FILE, 'utf-8');
|
|
11
|
+
return JSON.parse(data);
|
|
12
|
+
}
|
|
13
|
+
export function saveProjects(projects) {
|
|
14
|
+
ensureConfigDir();
|
|
15
|
+
fs.writeFileSync(PROJECTS_FILE, JSON.stringify(projects, null, 2), 'utf-8');
|
|
16
|
+
}
|
|
17
|
+
export function createProject(id, name, description, metadata) {
|
|
18
|
+
const now = new Date().toISOString();
|
|
19
|
+
return {
|
|
20
|
+
id,
|
|
21
|
+
name,
|
|
22
|
+
description,
|
|
23
|
+
createdAt: now,
|
|
24
|
+
updatedAt: now,
|
|
25
|
+
members: [], // starts empty, members join via project.join intent
|
|
26
|
+
topics: [],
|
|
27
|
+
metadata
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export function addProject(project) {
|
|
31
|
+
const projects = loadProjects();
|
|
32
|
+
const existing = projects.findIndex(p => p.id === project.id);
|
|
33
|
+
if (existing >= 0) {
|
|
34
|
+
projects[existing] = { ...project, updatedAt: new Date().toISOString() };
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
projects.push(project);
|
|
38
|
+
}
|
|
39
|
+
saveProjects(projects);
|
|
40
|
+
}
|
|
41
|
+
export function getProject(projectId) {
|
|
42
|
+
const projects = loadProjects();
|
|
43
|
+
return projects.find(p => p.id === projectId) || null;
|
|
44
|
+
}
|
|
45
|
+
export function listProjects() {
|
|
46
|
+
return loadProjects();
|
|
47
|
+
}
|
|
48
|
+
export function deleteProject(projectId) {
|
|
49
|
+
const projects = loadProjects();
|
|
50
|
+
const index = projects.findIndex(p => p.id === projectId);
|
|
51
|
+
if (index === -1)
|
|
52
|
+
return false;
|
|
53
|
+
projects.splice(index, 1);
|
|
54
|
+
saveProjects(projects);
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Join a project (add peer as member if not already present)
|
|
59
|
+
*/
|
|
60
|
+
export function joinProject(projectId, peerId) {
|
|
61
|
+
const projects = loadProjects();
|
|
62
|
+
const project = projects.find(p => p.id === projectId);
|
|
63
|
+
if (!project)
|
|
64
|
+
return false;
|
|
65
|
+
if (!project.members.includes(peerId)) {
|
|
66
|
+
project.members.push(peerId);
|
|
67
|
+
project.updatedAt = new Date().toISOString();
|
|
68
|
+
saveProjects(projects);
|
|
69
|
+
}
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Leave a project (remove peer from members)
|
|
74
|
+
*/
|
|
75
|
+
export function leaveProject(projectId, peerId) {
|
|
76
|
+
const projects = loadProjects();
|
|
77
|
+
const project = projects.find(p => p.id === projectId);
|
|
78
|
+
if (!project)
|
|
79
|
+
return false;
|
|
80
|
+
const memberIndex = project.members.indexOf(peerId);
|
|
81
|
+
if (memberIndex >= 0) {
|
|
82
|
+
project.members.splice(memberIndex, 1);
|
|
83
|
+
project.updatedAt = new Date().toISOString();
|
|
84
|
+
saveProjects(projects);
|
|
85
|
+
}
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Check if a peer is a member of a project
|
|
90
|
+
*/
|
|
91
|
+
export function isProjectMember(projectId, peerId) {
|
|
92
|
+
const project = getProject(projectId);
|
|
93
|
+
return project ? project.members.includes(peerId) : false;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Add or update a topic in a project
|
|
97
|
+
*/
|
|
98
|
+
export function ensureProjectTopic(projectId, topicName, description) {
|
|
99
|
+
const projects = loadProjects();
|
|
100
|
+
const project = projects.find(p => p.id === projectId);
|
|
101
|
+
if (!project)
|
|
102
|
+
return false;
|
|
103
|
+
let topic = project.topics.find(t => t.name === topicName);
|
|
104
|
+
if (!topic) {
|
|
105
|
+
topic = {
|
|
106
|
+
name: topicName,
|
|
107
|
+
description,
|
|
108
|
+
contributions: [],
|
|
109
|
+
lastUpdated: new Date().toISOString()
|
|
110
|
+
};
|
|
111
|
+
project.topics.push(topic);
|
|
112
|
+
}
|
|
113
|
+
else if (description && description !== topic.description) {
|
|
114
|
+
topic.description = description;
|
|
115
|
+
topic.lastUpdated = new Date().toISOString();
|
|
116
|
+
}
|
|
117
|
+
project.updatedAt = new Date().toISOString();
|
|
118
|
+
saveProjects(projects);
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Add a contribution to a project topic
|
|
123
|
+
*/
|
|
124
|
+
export function contributeToProject(projectId, topicName, authorId, summary, metadata) {
|
|
125
|
+
const projects = loadProjects();
|
|
126
|
+
const project = projects.find(p => p.id === projectId);
|
|
127
|
+
if (!project)
|
|
128
|
+
return null;
|
|
129
|
+
// Ensure the author is a project member
|
|
130
|
+
if (!project.members.includes(authorId)) {
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
133
|
+
// Ensure the topic exists
|
|
134
|
+
let topic = project.topics.find(t => t.name === topicName);
|
|
135
|
+
if (!topic) {
|
|
136
|
+
topic = {
|
|
137
|
+
name: topicName,
|
|
138
|
+
contributions: [],
|
|
139
|
+
lastUpdated: new Date().toISOString()
|
|
140
|
+
};
|
|
141
|
+
project.topics.push(topic);
|
|
142
|
+
}
|
|
143
|
+
// Create the contribution
|
|
144
|
+
const now = new Date().toISOString();
|
|
145
|
+
const contributionId = `${projectId}-${topicName}-${Date.now()}`;
|
|
146
|
+
const contribution = {
|
|
147
|
+
id: contributionId,
|
|
148
|
+
timestamp: now,
|
|
149
|
+
authorId,
|
|
150
|
+
topic: topicName,
|
|
151
|
+
summary,
|
|
152
|
+
metadata
|
|
153
|
+
};
|
|
154
|
+
topic.contributions.push(contribution);
|
|
155
|
+
topic.lastUpdated = now;
|
|
156
|
+
project.updatedAt = now;
|
|
157
|
+
saveProjects(projects);
|
|
158
|
+
return contributionId;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Get contributions for a specific topic across all projects
|
|
162
|
+
*/
|
|
163
|
+
export function getTopicContributions(projectId, topicName, limit) {
|
|
164
|
+
const project = getProject(projectId);
|
|
165
|
+
if (!project)
|
|
166
|
+
return [];
|
|
167
|
+
let topicContributions = [];
|
|
168
|
+
// Handle both data formats: old flat format and new nested format
|
|
169
|
+
if (project.topics.length > 0 && typeof project.topics[0] === 'object') {
|
|
170
|
+
// New nested format: topics are objects with contributions
|
|
171
|
+
const topic = project.topics.find(t => t.name === topicName);
|
|
172
|
+
if (!topic)
|
|
173
|
+
return [];
|
|
174
|
+
topicContributions = topic.contributions;
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
// Old flat format: check if topic exists and filter contributions
|
|
178
|
+
const topicExists = project.topics.includes(topicName);
|
|
179
|
+
if (!topicExists)
|
|
180
|
+
return [];
|
|
181
|
+
topicContributions = (project.contributions || []).filter((c) => c.topic === topicName);
|
|
182
|
+
}
|
|
183
|
+
// Sort by timestamp descending (newest first)
|
|
184
|
+
const sorted = [...topicContributions].sort((a, b) => new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime());
|
|
185
|
+
return limit ? sorted.slice(0, limit) : sorted;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Get all contributions from a specific author in a project
|
|
189
|
+
*/
|
|
190
|
+
export function getAuthorContributions(projectId, authorId, limit) {
|
|
191
|
+
const project = getProject(projectId);
|
|
192
|
+
if (!project)
|
|
193
|
+
return [];
|
|
194
|
+
let authorContributions = [];
|
|
195
|
+
// Handle both data formats: old flat format and new nested format
|
|
196
|
+
if (project.topics.length > 0 && typeof project.topics[0] === 'object') {
|
|
197
|
+
// New nested format: topics are objects with contributions
|
|
198
|
+
for (const topic of project.topics) {
|
|
199
|
+
authorContributions.push(...topic.contributions.filter((c) => c.peerId === authorId || c.authorId === authorId // Support both field names
|
|
200
|
+
));
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
// Old flat format: filter contributions from the flat array by author
|
|
205
|
+
authorContributions = (project.contributions || []).filter((c) => c.peerId === authorId || c.authorId === authorId // Support both field names
|
|
206
|
+
);
|
|
207
|
+
}
|
|
208
|
+
// Sort by timestamp descending (newest first)
|
|
209
|
+
const sorted = authorContributions.sort((a, b) => new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime());
|
|
210
|
+
return limit ? sorted.slice(0, limit) : sorted;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Search contributions by content (simple text search)
|
|
214
|
+
*/
|
|
215
|
+
export function searchContributions(projectId, query, limit) {
|
|
216
|
+
const project = getProject(projectId);
|
|
217
|
+
if (!project)
|
|
218
|
+
return [];
|
|
219
|
+
const lowerQuery = query.toLowerCase();
|
|
220
|
+
let contributions = [];
|
|
221
|
+
// Handle both data formats: old flat format and new nested format
|
|
222
|
+
if (project.topics.length > 0 && typeof project.topics[0] === 'object') {
|
|
223
|
+
// New nested format: topics are objects with contributions
|
|
224
|
+
for (const topic of project.topics) {
|
|
225
|
+
contributions.push(...topic.contributions.filter((c) => c.summary.toLowerCase().includes(lowerQuery) ||
|
|
226
|
+
c.topic.toLowerCase().includes(lowerQuery)));
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
else {
|
|
230
|
+
// Old flat format: search through the flat contributions array
|
|
231
|
+
contributions = (project.contributions || []).filter((c) => c.summary.toLowerCase().includes(lowerQuery) ||
|
|
232
|
+
c.topic.toLowerCase().includes(lowerQuery));
|
|
233
|
+
}
|
|
234
|
+
// Sort by timestamp descending (newest first)
|
|
235
|
+
const sorted = contributions.sort((a, b) => new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime());
|
|
236
|
+
return limit ? sorted.slice(0, limit) : sorted;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Get project status summary (topics with recent activity)
|
|
240
|
+
*/
|
|
241
|
+
export function getProjectStatus(projectId) {
|
|
242
|
+
const project = getProject(projectId);
|
|
243
|
+
if (!project)
|
|
244
|
+
return null;
|
|
245
|
+
// Handle both data formats: old flat format and new nested format
|
|
246
|
+
let topics;
|
|
247
|
+
// Check if this project uses the new nested format (topics as objects)
|
|
248
|
+
if (project.topics.length > 0 && typeof project.topics[0] === 'object') {
|
|
249
|
+
// New nested format: topics are objects with contributions
|
|
250
|
+
topics = project.topics.map(topic => {
|
|
251
|
+
const sortedContributions = [...topic.contributions].sort((a, b) => new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime());
|
|
252
|
+
const contributors = [...new Set(topic.contributions.map((c) => c.authorId || c.peerId))];
|
|
253
|
+
return {
|
|
254
|
+
name: topic.name,
|
|
255
|
+
description: topic.description,
|
|
256
|
+
contributionCount: topic.contributions.length,
|
|
257
|
+
lastContribution: sortedContributions[0],
|
|
258
|
+
contributors
|
|
259
|
+
};
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
// Old flat format: topics are strings, contributions are flat
|
|
264
|
+
topics = project.topics.map(topicName => {
|
|
265
|
+
// Filter contributions for this topic from the flat contributions array
|
|
266
|
+
const topicContributions = project.contributions.filter((c) => c.topic === topicName);
|
|
267
|
+
const sortedContributions = [...topicContributions].sort((a, b) => new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime());
|
|
268
|
+
// Use peerId instead of authorId based on actual data format
|
|
269
|
+
const contributors = [...new Set(topicContributions.map((c) => c.peerId || c.authorId))];
|
|
270
|
+
return {
|
|
271
|
+
name: topicName,
|
|
272
|
+
contributionCount: topicContributions.length,
|
|
273
|
+
lastContribution: sortedContributions[0],
|
|
274
|
+
contributors
|
|
275
|
+
};
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
return { project, topics };
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Update project metadata
|
|
282
|
+
*/
|
|
283
|
+
export function updateProject(projectId, updates) {
|
|
284
|
+
const projects = loadProjects();
|
|
285
|
+
const projectIndex = projects.findIndex(p => p.id === projectId);
|
|
286
|
+
if (projectIndex === -1)
|
|
287
|
+
return false;
|
|
288
|
+
projects[projectIndex] = {
|
|
289
|
+
...projects[projectIndex],
|
|
290
|
+
...updates,
|
|
291
|
+
updatedAt: new Date().toISOString()
|
|
292
|
+
};
|
|
293
|
+
saveProjects(projects);
|
|
294
|
+
return true;
|
|
295
|
+
}
|
|
296
|
+
//# sourceMappingURL=projects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/daemon/projects.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiB,KAAK,SAAS,EAAgB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiB,KAAK,SAAS,EAAgB,MAAM,qBAAqB,CAAC;AAgBlF,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,UAAU,UAAQ,GAAG,IAAI,CA0RxE;AAED,wBAAgB,UAAU,IAAI,IAAI,CAqCjC;AAED,wBAAgB,eAAe,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAyBpE"}
|
package/dist/daemon/server.js
CHANGED
|
@@ -6,6 +6,7 @@ import { requireConfig, getConfigDir } from '../shared/config.js';
|
|
|
6
6
|
import { getPublicKey } from './keypair.js';
|
|
7
7
|
import { addPeer, getPeer, approvePeer, listPeers, updatePeer } from './peers.js';
|
|
8
8
|
import { handleMessage } from './message-handler.js';
|
|
9
|
+
import { notifyOpenClaw } from './notify.js';
|
|
9
10
|
import { startDoormanCleanup, stopDoormanCleanup } from './doorman.js';
|
|
10
11
|
import { startReplyCleanup, stopReplyCleanup, getPendingReply, deletePendingReply, storePendingReply } from './reply-handler.js';
|
|
11
12
|
import { loadIntents } from './intent-registry.js';
|
|
@@ -70,6 +71,46 @@ export function startServer(config, background = false) {
|
|
|
70
71
|
};
|
|
71
72
|
addPeer(peerData);
|
|
72
73
|
console.log(`[OGP] Federation request from ${peer.displayName} (${peer.id})`);
|
|
74
|
+
// BUILD-77: Fire immediate OpenClaw notification to agent session
|
|
75
|
+
const notificationText = `[OGP Federation Request] ${peer.displayName} (${peer.id}) requests federation approval\n` +
|
|
76
|
+
`Gateway: ${peer.gatewayUrl}\n` +
|
|
77
|
+
`Email: ${peer.email}\n` +
|
|
78
|
+
`Type: Bidirectional (two-way) federation\n` +
|
|
79
|
+
`Scopes: Pending negotiation during approval\n` +
|
|
80
|
+
`Action: Review and approve/reject using: ogp federation approve ${peer.id}`;
|
|
81
|
+
// Send notification with metadata for agent processing
|
|
82
|
+
const notificationPayload = {
|
|
83
|
+
text: notificationText,
|
|
84
|
+
sessionKey: 'agent:main:main', // Default main agent session
|
|
85
|
+
metadata: {
|
|
86
|
+
ogp: {
|
|
87
|
+
type: 'federation_request',
|
|
88
|
+
peer: {
|
|
89
|
+
id: peer.id,
|
|
90
|
+
displayName: peer.displayName,
|
|
91
|
+
email: peer.email,
|
|
92
|
+
gatewayUrl: peer.gatewayUrl
|
|
93
|
+
},
|
|
94
|
+
requestedAt: peerData.requestedAt,
|
|
95
|
+
federationType: 'bidirectional',
|
|
96
|
+
scopeStatus: 'pending_negotiation',
|
|
97
|
+
approvalCommand: `ogp federation approve ${peer.id}`
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
// Fire notification immediately (not via heartbeat)
|
|
102
|
+
try {
|
|
103
|
+
const notified = await notifyOpenClaw(notificationPayload);
|
|
104
|
+
if (notified) {
|
|
105
|
+
console.log(`[OGP] Agent session notified of federation request from ${peer.displayName}`);
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
console.warn(`[OGP] Failed to notify agent session of federation request from ${peer.displayName}`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
console.error(`[OGP] Error notifying agent session:`, error);
|
|
113
|
+
}
|
|
73
114
|
res.json({
|
|
74
115
|
received: true,
|
|
75
116
|
status: 'pending',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAsD,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAkB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAiB,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAuC,MAAM,YAAY,CAAC;AACvH,OAAO,EAAE,aAAa,EAA0B,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,iBAAiB,EAAqB,MAAM,oBAAoB,CAAC;AAEpJ,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,IAAI,MAAM,GAAQ,IAAI,CAAC;AAEvB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,YAAY,CAAC,CAAC;AAChE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,YAAY,CAAC,CAAC;AAEhE,MAAM,UAAU,WAAW,CAAC,MAAkB,EAAE,UAAU,GAAG,KAAK;IAChE,MAAM,GAAG,GAAG,MAAM,IAAI,aAAa,EAAE,CAAC;IAEtC,qDAAqD;IACrD,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE;YAChE,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;SACxC,CAAC,CAAC;QAEH,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,KAAK,CAAC,GAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,SAAS,eAAe,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,GAAG,GAAY,OAAO,EAAE,CAAC;IAE/B,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAExB,wCAAwC;IACxC,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QAC1D,sCAAsC;QACtC,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE7C,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,SAAS,EAAE,YAAY,EAAE;YACzB,YAAY,EAAE;gBACZ,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;aAClD;YACD,SAAS,EAAE;gBACT,OAAO,EAAE,GAAG,GAAG,CAAC,UAAU,qBAAqB;gBAC/C,OAAO,EAAE,GAAG,GAAG,CAAC,UAAU,qBAAqB;gBAC/C,OAAO,EAAE,GAAG,GAAG,CAAC,UAAU,qBAAqB;gBAC/C,KAAK,EAAE,GAAG,GAAG,CAAC,UAAU,0BAA0B;aACnD;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,yDAAyD;IACzD,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QACpE,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YAErC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACxB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;YACtE,CAAC;YAED,MAAM,QAAQ,GAAS;gBACrB,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,SAAS;gBACjB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC;YAEF,OAAO,CAAC,QAAQ,CAAC,CAAC;YAElB,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YAE9E,GAAG,CAAC,IAAI,CAAC;gBACP,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,kDAAkD;aAC5D,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;YACjE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,uDAAuD;IACvD,sGAAsG;IACtG,yDAAyD;IACzD,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QACpE,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAE5B,0DAA0D;YAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACzC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACzC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAEjC,gDAAgD;YAChD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAE3B,+CAA+C;YAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAsC,CAAC;YAChE,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAElF,qDAAqD;YACrD,IAAI,IAAI,GAAG,IAAI,CAAC;YAEhB,IAAI,MAAM;gBAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,IAAI,aAAa;gBAAE,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,IAAI,cAAc,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;gBAC7B,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,cAAc,CAAC,IAAI,IAAI,CAAC;YAC7E,CAAC;YACD,wCAAwC;YACxC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;gBAC7B,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI,IAAI,CAAC;YACpE,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;YAClE,CAAC;YAED,4CAA4C;YAC5C,MAAM,WAAW,GAAkB,EAAE,CAAC;YACtC,IAAI,eAAe;gBAAE,WAAW,CAAC,WAAW,GAAG,eAAe,CAAC;YAC/D,IAAI,aAAa;gBAAE,WAAW,CAAC,SAAS,GAAG,aAAa,CAAC;YACzD,IAAI,SAAS;gBAAE,WAAW,CAAC,KAAK,GAAG,SAAS,CAAC;YAC7C,WAAW,CAAC,eAAe,GAAG,eAAe,CAAC;YAE9C,sDAAsD;YACtD,IAAI,WAAW,EAAE,CAAC;gBAChB,WAAW,CAAC,cAAc,GAAG,WAAW,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,oCAAoC,IAAI,CAAC,WAAW,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACzH,CAAC;YAED,4BAA4B;YAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;YACnC,CAAC;YAED,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,CAAC,WAAW,MAAM,eAAe,GAAG,CAAC,CAAC;YAEtF,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACvD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,6EAA6E;IAC7E,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QAC1D,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,uDAAuD;IACvD,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QACpE,IAAI,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YAExC,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC,CAAC;YACzE,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAA4B,EAAE,SAAS,CAAC,CAAC;YAE5E,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACtD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,6DAA6D;IAC7D,GAAG,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QAClE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC7B,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAErC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,KAAK;gBACL,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,yBAAyB;aACnC,CAAC,CAAC;QACL,CAAC;QAED,yBAAyB;QACzB,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAE1B,GAAG,CAAC,IAAI,CAAC;YACP,KAAK;YACL,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE;gBACL,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,6EAA6E;IAC7E,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QACnE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC7B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAE5B,0CAA0C;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;QAEjC,MAAM,YAAY,GAAiB;YACjC,KAAK;YACL,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;YAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACvD,CAAC;QAEF,4BAA4B;QAC5B,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,2CAA2C,KAAK,EAAE,CAAC,CAAC;QAEhE,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE;QACvC,OAAO,CAAC,GAAG,CAAC,kCAAkC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,qBAAqB,YAAY,EAAE,EAAE,CAAC,CAAC;QAEnD,uBAAuB;QACvB,mBAAmB,EAAE,CAAC;QACtB,iBAAiB,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,sBAAsB;IACtB,kBAAkB,EAAE,CAAC;IACrB,gBAAgB,EAAE,CAAC;IAEnB,qBAAqB;IACrB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAChE,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAChD,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,oCAAoC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC1D,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,eAAe;QACf,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC7B,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAChE,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACf,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAC/B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACrB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAC/B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,32 +1,99 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { existsSync, mkdirSync, cpSync } from 'node:fs';
|
|
2
|
+
import { existsSync, mkdirSync, cpSync, readdirSync } from 'node:fs';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
4
|
import { homedir } from 'node:os';
|
|
5
5
|
import { fileURLToPath } from 'node:url';
|
|
6
6
|
import { dirname } from 'node:path';
|
|
7
|
+
import { createInterface } from 'node:readline';
|
|
7
8
|
|
|
8
9
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
9
10
|
const skillsSrc = join(__dirname, '..', 'skills');
|
|
10
11
|
const skillsDest = join(homedir(), '.openclaw', 'skills');
|
|
11
12
|
|
|
12
|
-
|
|
13
|
+
// Auto-discover all skill folders
|
|
14
|
+
const availableSkills = readdirSync(skillsSrc, { withFileTypes: true })
|
|
15
|
+
.filter(d => d.isDirectory() && existsSync(join(skillsSrc, d.name, 'SKILL.md')))
|
|
16
|
+
.map(d => d.name);
|
|
17
|
+
|
|
18
|
+
if (availableSkills.length === 0) {
|
|
19
|
+
console.log('No skills found in the skills/ directory.');
|
|
20
|
+
process.exit(0);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// Check if running interactively (TTY) or non-interactively
|
|
24
|
+
const isInteractive = process.stdin.isTTY && process.stdout.isTTY;
|
|
25
|
+
|
|
26
|
+
async function prompt(question) {
|
|
27
|
+
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
28
|
+
return new Promise(resolve => {
|
|
29
|
+
rl.question(question, answer => {
|
|
30
|
+
rl.close();
|
|
31
|
+
resolve(answer.trim());
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
async function selectSkills() {
|
|
37
|
+
if (!isInteractive) {
|
|
38
|
+
// Non-interactive: install all
|
|
39
|
+
return availableSkills;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
console.log('\nš¦ OGP Skills Installer\n');
|
|
43
|
+
console.log('Available skills:');
|
|
44
|
+
availableSkills.forEach((skill, i) => {
|
|
45
|
+
console.log(` ${i + 1}. ${skill}`);
|
|
46
|
+
});
|
|
47
|
+
console.log(` ${availableSkills.length + 1}. Install all`);
|
|
48
|
+
console.log(` 0. Cancel\n`);
|
|
49
|
+
|
|
50
|
+
const answer = await prompt(`Select skills to install (e.g. "1 3" or "${availableSkills.length + 1}" for all): `);
|
|
51
|
+
|
|
52
|
+
if (!answer || answer === '0') {
|
|
53
|
+
console.log('Cancelled.');
|
|
54
|
+
process.exit(0);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
if (answer === String(availableSkills.length + 1) || answer.toLowerCase() === 'all') {
|
|
58
|
+
return availableSkills;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const indices = answer.split(/[\s,]+/).map(n => parseInt(n) - 1).filter(i => i >= 0 && i < availableSkills.length);
|
|
62
|
+
if (indices.length === 0) {
|
|
63
|
+
console.log('No valid selection. Installing all skills.');
|
|
64
|
+
return availableSkills;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return indices.map(i => availableSkills[i]);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
async function main() {
|
|
71
|
+
const selected = await selectSkills();
|
|
13
72
|
|
|
14
|
-
try {
|
|
15
73
|
if (!existsSync(skillsDest)) {
|
|
16
74
|
mkdirSync(skillsDest, { recursive: true });
|
|
17
75
|
}
|
|
18
76
|
|
|
19
|
-
|
|
77
|
+
console.log('');
|
|
78
|
+
let installed = 0;
|
|
79
|
+
for (const skill of selected) {
|
|
20
80
|
const src = join(skillsSrc, skill);
|
|
21
81
|
const dest = join(skillsDest, skill);
|
|
22
|
-
|
|
82
|
+
try {
|
|
23
83
|
cpSync(src, dest, { recursive: true });
|
|
24
|
-
console.log(`ā Installed
|
|
84
|
+
console.log(`ā Installed: ${skill} ā ${dest}`);
|
|
85
|
+
installed++;
|
|
86
|
+
} catch (err) {
|
|
87
|
+
console.warn(`ā Failed to install ${skill}: ${err.message}`);
|
|
25
88
|
}
|
|
26
89
|
}
|
|
27
90
|
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
console.warn('Manual install: cp -r $(npm root -g)/ogp/skills/ogp ~/.openclaw/skills/');
|
|
91
|
+
if (installed > 0) {
|
|
92
|
+
console.log(`\n${installed} skill(s) installed. Restart your OpenClaw gateway to load them.`);
|
|
93
|
+
}
|
|
32
94
|
}
|
|
95
|
+
|
|
96
|
+
main().catch(err => {
|
|
97
|
+
console.warn('Install failed:', err.message);
|
|
98
|
+
console.warn('Manual install: cp -r $(npm root -g)/@dp-pcs/ogp/skills/ogp ~/.openclaw/skills/');
|
|
99
|
+
});
|
package/skills/ogp/SKILL.md
CHANGED
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
---
|
|
2
2
|
skill_name: ogp
|
|
3
|
-
version: 0.
|
|
4
|
-
description: Manage OGP (Open Gateway Protocol) daemon and federation
|
|
5
|
-
trigger: Use when the user wants to configure, start, or manage the OGP federation daemon
|
|
3
|
+
version: 0.2.0
|
|
4
|
+
description: Manage OGP (Open Gateway Protocol) daemon and federation. OGP adds peer-to-peer federation to OpenClaw, allowing AI agents to communicate across different deployments with cryptographic identity and signed messages.
|
|
5
|
+
trigger: Use when the user wants to configure, start, or manage the OGP federation daemon, manage federated peers, send messages to peers, or check federation status.
|
|
6
|
+
requires:
|
|
7
|
+
bins:
|
|
8
|
+
- ogp
|
|
9
|
+
state_paths:
|
|
10
|
+
- ~/.ogp/config.json
|
|
11
|
+
- ~/.ogp/peers.json
|
|
12
|
+
- ~/.ogp/daemon.pid
|
|
13
|
+
- ~/.ogp/keypair.json
|
|
14
|
+
install: npm install -g @dp-pcs/ogp
|
|
15
|
+
docs: https://github.com/dp-pcs/ogp
|
|
6
16
|
---
|
|
7
17
|
## Prerequisites
|
|
8
18
|
|
|
@@ -78,7 +78,7 @@ ogp federation list --status approved --json
|
|
|
78
78
|
Example interaction:
|
|
79
79
|
```
|
|
80
80
|
Select peers to configure:
|
|
81
|
-
[x] Stanislav (
|
|
81
|
+
[x] Stanislav (peer-gateway.trycloudflare.com)
|
|
82
82
|
[ ] Leonardo (leo-gateway.example.com)
|
|
83
83
|
[x] Alice (alice.ngrok-free.app)
|
|
84
84
|
|
|
@@ -1,15 +1,41 @@
|
|
|
1
1
|
---
|
|
2
2
|
skill_name: ogp-expose
|
|
3
|
-
version: 0.1
|
|
4
|
-
description: Expose OGP daemon via public tunnel (cloudflared/ngrok)
|
|
5
|
-
trigger: Use when the user wants to expose their OGP daemon to the internet
|
|
3
|
+
version: 0.2.1
|
|
4
|
+
description: Expose OGP daemon via public tunnel (cloudflared/ngrok). Automates tunnel setup so federated peers can reach your gateway from anywhere on the internet, without exposing your real IP address.
|
|
5
|
+
trigger: Use when the user wants to expose their OGP daemon to the internet, get a public URL for federation, or set up a tunnel for peer discovery.
|
|
6
|
+
requires:
|
|
7
|
+
bins:
|
|
8
|
+
- ogp
|
|
9
|
+
optional_bins:
|
|
10
|
+
- cloudflared
|
|
11
|
+
- ngrok
|
|
12
|
+
state_paths:
|
|
13
|
+
- ~/.ogp/config.json
|
|
14
|
+
- ~/.ogp/tunnel.pid
|
|
15
|
+
- ~/.ogp/tunnel.log
|
|
16
|
+
install: npm install -g @dp-pcs/ogp
|
|
17
|
+
docs: https://github.com/dp-pcs/ogp
|
|
6
18
|
---
|
|
19
|
+
|
|
20
|
+
## Security Note
|
|
21
|
+
|
|
22
|
+
**Tunnels are optional ā and often more private than alternatives.**
|
|
23
|
+
|
|
24
|
+
`ogp expose` uses cloudflared or ngrok to create a secure public URL for your OGP daemon. This is one approach, not the only approach. You can expose your gateway however you prefer:
|
|
25
|
+
|
|
26
|
+
- **Cloudflared/ngrok tunnel** (default) ā your real IP is never exposed; traffic routes through the tunnel provider's infrastructure
|
|
27
|
+
- **Reverse proxy** (nginx, Caddy, etc.) ā if you have a server with a static IP
|
|
28
|
+
- **VPN/Tailscale** ā federate only with peers on the same network
|
|
29
|
+
- **Any publicly reachable URL** ā update `gatewayUrl` in `~/.ogp/config.json` manually
|
|
30
|
+
|
|
31
|
+
The tunnel approach is provided as a zero-config convenience. It installs no persistent services unless you explicitly run `ogp install` (which creates a LaunchAgent/systemd service and asks for confirmation first).
|
|
32
|
+
|
|
7
33
|
## Prerequisites
|
|
8
34
|
|
|
9
35
|
The OGP daemon must be installed. If you see errors like 'ogp: command not found', install it first:
|
|
10
36
|
|
|
11
37
|
```bash
|
|
12
|
-
npm install -g
|
|
38
|
+
npm install -g @dp-pcs/ogp
|
|
13
39
|
ogp-install-skills
|
|
14
40
|
ogp setup
|
|
15
41
|
```
|