heyio 3.1.0 → 3.1.2
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/api/middleware/auth.d.ts.map +1 -1
- package/dist/api/middleware/auth.js +1 -0
- package/dist/api/middleware/auth.js.map +1 -1
- package/dist/api/routes/config.js +4 -4
- package/dist/api/routes/config.js.map +1 -1
- package/dist/api/routes/conversations.d.ts.map +1 -1
- package/dist/api/routes/conversations.js +7 -51
- package/dist/api/routes/conversations.js.map +1 -1
- package/dist/api/routes/health.d.ts.map +1 -1
- package/dist/api/routes/health.js +23 -0
- package/dist/api/routes/health.js.map +1 -1
- package/dist/api/routes/skills.d.ts.map +1 -1
- package/dist/api/routes/skills.js +49 -7
- package/dist/api/routes/skills.js.map +1 -1
- package/dist/api/routes/squads.d.ts.map +1 -1
- package/dist/api/routes/squads.js +26 -19
- package/dist/api/routes/squads.js.map +1 -1
- package/dist/api/routes/wiki.js +20 -7
- package/dist/api/routes/wiki.js.map +1 -1
- package/dist/copilot/orchestrator.d.ts.map +1 -1
- package/dist/copilot/orchestrator.js +31 -15
- package/dist/copilot/orchestrator.js.map +1 -1
- package/dist/copilot/tools.d.ts +18 -0
- package/dist/copilot/tools.d.ts.map +1 -1
- package/dist/copilot/tools.js +135 -3
- package/dist/copilot/tools.js.map +1 -1
- package/dist/skills/discover.d.ts +22 -0
- package/dist/skills/discover.d.ts.map +1 -0
- package/dist/skills/discover.js +194 -0
- package/dist/skills/discover.js.map +1 -0
- package/dist/skills/index.d.ts +3 -1
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +2 -1
- package/dist/skills/index.js.map +1 -1
- package/dist/skills/store.d.ts +4 -0
- package/dist/skills/store.d.ts.map +1 -1
- package/dist/skills/store.js +6 -0
- package/dist/skills/store.js.map +1 -1
- package/dist/squad/agent.d.ts.map +1 -1
- package/dist/squad/agent.js +13 -0
- package/dist/squad/agent.js.map +1 -1
- package/dist/squad/execution/meeting.js +6 -6
- package/dist/squad/execution/meeting.js.map +1 -1
- package/dist/squad/execution/tasks.js +3 -3
- package/dist/squad/execution/tasks.js.map +1 -1
- package/dist/squad/manager.js +1 -1
- package/dist/squad/manager.js.map +1 -1
- package/dist/store/conversations.d.ts +25 -0
- package/dist/store/conversations.d.ts.map +1 -0
- package/dist/store/conversations.js +76 -0
- package/dist/store/conversations.js.map +1 -0
- package/dist/store/db.d.ts.map +1 -1
- package/dist/store/db.js +25 -1
- package/dist/store/db.js.map +1 -1
- package/dist/store/inbox.d.ts +3 -3
- package/dist/store/inbox.d.ts.map +1 -1
- package/dist/store/inbox.js +2 -2
- package/dist/store/inbox.js.map +1 -1
- package/dist/wiki/index.d.ts +2 -2
- package/dist/wiki/index.d.ts.map +1 -1
- package/dist/wiki/index.js +1 -1
- package/dist/wiki/index.js.map +1 -1
- package/dist/wiki/store.d.ts +10 -2
- package/dist/wiki/store.d.ts.map +1 -1
- package/dist/wiki/store.js +41 -11
- package/dist/wiki/store.js.map +1 -1
- package/node_modules/@io/shared/dist/types/events.d.ts +1 -1
- package/node_modules/@io/shared/dist/types/events.d.ts.map +1 -1
- package/node_modules/@io/shared/package.json +1 -1
- package/node_modules/@io/shared/src/types/events.ts +1 -1
- package/node_modules/@io/shared/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/public/assets/index-D1hU_jFl.js +491 -0
- package/public/assets/index-D1hU_jFl.js.map +1 -0
- package/public/assets/index-DjqmmXrU.css +1 -0
- package/public/index.html +8 -2
- package/public/assets/index-5vJhtAQU.css +0 -1
- package/public/assets/index-nNmZHtrp.js +0 -441
- package/public/assets/index-nNmZHtrp.js.map +0 -1
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { approveAll } from '@github/copilot-sdk';
|
|
2
2
|
import { createChildLogger } from '../logging/logger.js';
|
|
3
|
+
import { recordTokenUsage } from '../models/token-tracker.js';
|
|
3
4
|
import { getActiveSkillsContent } from '../skills/index.js';
|
|
4
5
|
import { listSquads } from '../squad/manager.js';
|
|
6
|
+
import { appendConversationMessage } from '../store/conversations.js';
|
|
5
7
|
import { getDatabase } from '../store/db.js';
|
|
6
8
|
import { getOrchestratorScopes, getPageListing } from '../wiki/index.js';
|
|
7
9
|
import { getClient } from './client.js';
|
|
@@ -75,6 +77,7 @@ export async function initOrchestrator(config) {
|
|
|
75
77
|
try {
|
|
76
78
|
session = await client.resumeSession(savedSessionId, sessionOptions);
|
|
77
79
|
sessionId = savedSessionId;
|
|
80
|
+
subscribeToUsage(session);
|
|
78
81
|
logger.info({ sessionId }, 'Resumed orchestrator session');
|
|
79
82
|
return;
|
|
80
83
|
}
|
|
@@ -85,9 +88,23 @@ export async function initOrchestrator(config) {
|
|
|
85
88
|
// Create new session
|
|
86
89
|
session = await client.createSession(sessionOptions);
|
|
87
90
|
sessionId = session.sessionId;
|
|
91
|
+
subscribeToUsage(session);
|
|
88
92
|
await saveSessionId(sessionId);
|
|
89
93
|
logger.info({ sessionId }, 'Created new orchestrator session');
|
|
90
94
|
}
|
|
95
|
+
function subscribeToUsage(sess) {
|
|
96
|
+
sess.on('assistant.usage', (event) => {
|
|
97
|
+
const data = event.data;
|
|
98
|
+
if (data.inputTokens || data.outputTokens) {
|
|
99
|
+
recordTokenUsage({
|
|
100
|
+
agentRole: 'orchestrator',
|
|
101
|
+
model: data.model,
|
|
102
|
+
inputTokens: data.inputTokens ?? 0,
|
|
103
|
+
outputTokens: data.outputTokens ?? 0,
|
|
104
|
+
}).catch((err) => logger.error({ err }, 'Failed to record token usage'));
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
91
108
|
export function sendMessage(prompt, source, onDelta) {
|
|
92
109
|
return new Promise((resolve, reject) => {
|
|
93
110
|
messageQueue.push({ prompt, source, onDelta, resolve, reject });
|
|
@@ -115,7 +132,13 @@ async function processMessage(msg) {
|
|
|
115
132
|
if (!session) {
|
|
116
133
|
throw new Error('Orchestrator session not initialized');
|
|
117
134
|
}
|
|
135
|
+
await appendConversationMessage({
|
|
136
|
+
role: 'user',
|
|
137
|
+
content: msg.prompt,
|
|
138
|
+
source: msg.source,
|
|
139
|
+
});
|
|
118
140
|
let accumulated = '';
|
|
141
|
+
msg.onDelta('', false);
|
|
119
142
|
// Subscribe to streaming deltas
|
|
120
143
|
const unsubDelta = session.on('assistant.message_delta', (event) => {
|
|
121
144
|
accumulated += event.data.deltaContent;
|
|
@@ -123,10 +146,15 @@ async function processMessage(msg) {
|
|
|
123
146
|
});
|
|
124
147
|
try {
|
|
125
148
|
const result = await session.sendAndWait({ prompt: msg.prompt }, 600_000);
|
|
126
|
-
const finalContent = result?.data?.content
|
|
149
|
+
const finalContent = typeof result?.data?.content === 'string' && result.data.content.length > 0
|
|
150
|
+
? result.data.content
|
|
151
|
+
: accumulated || '(No response)';
|
|
152
|
+
await appendConversationMessage({
|
|
153
|
+
role: 'assistant',
|
|
154
|
+
content: finalContent,
|
|
155
|
+
source: msg.source,
|
|
156
|
+
});
|
|
127
157
|
msg.onDelta(finalContent, true);
|
|
128
|
-
// Persist conversation (fire-and-forget)
|
|
129
|
-
persistConversation(msg.prompt, finalContent, msg.source);
|
|
130
158
|
return finalContent;
|
|
131
159
|
}
|
|
132
160
|
finally {
|
|
@@ -157,16 +185,4 @@ async function saveSessionId(id) {
|
|
|
157
185
|
args: [id],
|
|
158
186
|
});
|
|
159
187
|
}
|
|
160
|
-
function persistConversation(userMessage, assistantResponse, source) {
|
|
161
|
-
const db = getDatabase();
|
|
162
|
-
const now = new Date().toISOString();
|
|
163
|
-
db.execute({
|
|
164
|
-
sql: "INSERT INTO conversations (id, role, content, source, created_at) VALUES (?, 'user', ?, ?, ?)",
|
|
165
|
-
args: [crypto.randomUUID(), userMessage, source ?? null, now],
|
|
166
|
-
});
|
|
167
|
-
db.execute({
|
|
168
|
-
sql: "INSERT INTO conversations (id, role, content, source, created_at) VALUES (?, 'assistant', ?, ?, ?)",
|
|
169
|
-
args: [crypto.randomUUID(), assistantResponse, source ?? null, now],
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
188
|
//# sourceMappingURL=orchestrator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/copilot/orchestrator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/copilot/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAIrD,IAAI,MAA4C,CAAC;AAEjD,IAAI,OAA4B,CAAC;AACjC,IAAI,SAA6B,CAAC;AAUlC,MAAM,YAAY,GAAoB,EAAE,CAAC;AACzC,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;CAoB3B,CAAC;AAEF;;GAEG;AACH,KAAK,UAAU,kBAAkB;IAChC,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,cAAc,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAC5D,MAAM,aAAa,GAAG,MAAM,sBAAsB,CAAC,cAAc,CAAC,CAAC;QAEnE,MAAM,WAAW,GAAG,wBAAwB,WAAW,2FAA2F,CAAC;QAEnJ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,GAAG,mBAAmB,mDAAmD,WAAW,GAAG,aAAa,EAAE,CAAC;QAC/G,CAAC;QAED,MAAM,SAAS,GAAG,MAAM;aACtB,GAAG,CACH,CAAC,CAAC,EAAE,EAAE,CACL,OAAO,CAAC,CAAC,IAAI,oBAAoB,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,YAAY,GAAG,CACtH;aACA,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,OAAO,GAAG,mBAAmB,uBAAuB,SAAS,uIAAuI,WAAW,GAAG,aAAa,EAAE,CAAC;IACnO,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,GAAG,mBAAmB,uDAAuD,CAAC;IACtF,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAgB;IACtD,MAAM,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;IAEjC,MAAM,aAAa,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAEjD,MAAM,cAAc,GAAG;QACtB,KAAK,EAAE,MAAM,CAAC,YAAY;QAC1B,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,uBAAuB,EAAE;QAChC,aAAa,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE,OAAO,EAAE,aAAa,EAAE;QACnE,mBAAmB,EAAE,UAAU;QAC/B,gBAAgB,EAAE;YACjB,OAAO,EAAE,IAAI;YACb,6BAA6B,EAAE,GAAG;YAClC,yBAAyB,EAAE,IAAI;SAC/B;KACD,CAAC;IAEF,iCAAiC;IACjC,MAAM,cAAc,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACjD,IAAI,cAAc,EAAE,CAAC;QACpB,IAAI,CAAC;YACJ,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YACrE,SAAS,GAAG,cAAc,CAAC;YAC3B,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,8BAA8B,CAAC,CAAC;YAC3D,OAAO;QACR,CAAC;QAAC,MAAM,CAAC;YACR,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,4CAA4C,CAAC,CAAC;QAC1F,CAAC;IACF,CAAC;IAED,qBAAqB;IACrB,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACrD,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAC9B,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1B,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;IAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,kCAAkC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAa;IACtC,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;QACpC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3C,gBAAgB,CAAC;gBAChB,SAAS,EAAE,cAAc;gBACzB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC;gBAClC,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,CAAC;aACpC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,8BAA8B,CAAC,CAAC,CAAC;QAC1E,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAC1B,MAAc,EACd,MAAkC,EAClC,OAAqD;IAErD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAChE,YAAY,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,YAAY;IAC1B,IAAI,UAAU,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACpD,UAAU,GAAG,IAAI,CAAC;IAElB,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,EAAG,CAAC;QAClC,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;YAC3C,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,0BAA0B,CAAC,CAAC;YAClD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;IACF,CAAC;IAED,UAAU,GAAG,KAAK,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,GAAkB;IAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,yBAAyB,CAAC;QAC/B,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,GAAG,CAAC,MAAM;QACnB,MAAM,EAAE,GAAG,CAAC,MAAM;KAClB,CAAC,CAAC;IAEH,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAEvB,gCAAgC;IAChC,MAAM,UAAU,GAAG,OAAO,CAAC,EAAE,CAAC,yBAAyB,EAAE,CAAC,KAAK,EAAE,EAAE;QAClE,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;QACvC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CACvC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EACtB,OAAO,CACP,CAAC;QAEF,MAAM,YAAY,GACjB,OAAO,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAC1E,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;YACrB,CAAC,CAAC,WAAW,IAAI,eAAe,CAAC;QAEnC,MAAM,yBAAyB,CAAC;YAC/B,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,GAAG,CAAC,MAAM;SAClB,CAAC,CAAC;QACH,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAEhC,OAAO,YAAY,CAAC;IACrB,CAAC;YAAS,CAAC;QACV,UAAU,EAAE,CAAC;IACd,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACxC,OAAO,GAAG,SAAS,CAAC;IACpB,SAAS,GAAG,SAAS,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,iBAAiB;IAC/B,IAAI,CAAC;QACJ,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAC9B,kEAAkE,CAClE,CAAC;QACF,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAe,CAAC;QACvC,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,EAAU;IACtC,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,EAAE,CAAC,OAAO,CAAC;QAChB,GAAG,EAAE,oFAAoF;QACzF,IAAI,EAAE,CAAC,EAAE,CAAC;KACV,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/copilot/tools.d.ts
CHANGED
|
@@ -59,5 +59,23 @@ export declare function createOrchestratorTools(): (import("@github/copilot-sdk"
|
|
|
59
59
|
targetId?: string | undefined;
|
|
60
60
|
}> | import("@github/copilot-sdk").Tool<{
|
|
61
61
|
skillName: string;
|
|
62
|
+
}> | import("@github/copilot-sdk").Tool<{
|
|
63
|
+
kind: "deliverable" | "question" | "note";
|
|
64
|
+
title: string;
|
|
65
|
+
content: string;
|
|
66
|
+
}> | import("@github/copilot-sdk").Tool<{
|
|
67
|
+
scope: "io" | "shared";
|
|
68
|
+
page: string;
|
|
69
|
+
}> | import("@github/copilot-sdk").Tool<{
|
|
70
|
+
id: string;
|
|
71
|
+
name?: string | undefined;
|
|
72
|
+
cron?: string | undefined;
|
|
73
|
+
prompt?: string | undefined;
|
|
74
|
+
enabled?: boolean | undefined;
|
|
75
|
+
}> | import("@github/copilot-sdk").Tool<{
|
|
76
|
+
activityType?: string;
|
|
77
|
+
squadId?: string;
|
|
78
|
+
agentRole?: string;
|
|
79
|
+
limit?: number;
|
|
62
80
|
}>)[];
|
|
63
81
|
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/copilot/tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/copilot/tools.ts"],"names":[],"mappings":"AAgDA,wBAAgB,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAsgCpB,MAAM;cACX,MAAM;gBACJ,MAAM;YACV,MAAM;MAwBjB"}
|
package/dist/copilot/tools.js
CHANGED
|
@@ -4,9 +4,10 @@ import { activateSkill, deactivateSkill, getActiveSkills, installSkillFromUrl, l
|
|
|
4
4
|
import { runInstance } from '../squad/execution/runner.js';
|
|
5
5
|
import { addMemberToExistingSquad, confirmSquad, getProposal, proposeSquad, } from '../squad/hiring.js';
|
|
6
6
|
import { bootSquad, delegateToSquad, deleteSquad, findMember, getSquadByName, getSquadMembers, getSquadRuntime, listSquads, removeMember, renameMember, rethemeSquad, } from '../squad/manager.js';
|
|
7
|
-
import { listInboxEntries, resolveInboxEntry } from '../store/inbox.js';
|
|
8
|
-
import { createSchedule, deleteSchedule, listSchedules } from '../store/schedules.js';
|
|
9
|
-
import { getOrchestratorScopes, getPageListing, listWikiPages, readWikiPage, searchWiki, writeWikiPage, } from '../wiki/index.js';
|
|
7
|
+
import { addInboxEntry, listInboxEntries, resolveInboxEntry } from '../store/inbox.js';
|
|
8
|
+
import { createSchedule, deleteSchedule, listSchedules, updateSchedule, } from '../store/schedules.js';
|
|
9
|
+
import { deleteWikiPage, getOrchestratorScopes, getPageListing, listWikiPages, readWikiPage, searchWiki, writeWikiPage, } from '../wiki/index.js';
|
|
10
|
+
import { queryActivity } from '../store/activity.js';
|
|
10
11
|
export function createOrchestratorTools() {
|
|
11
12
|
return [
|
|
12
13
|
defineTool('list_squads', {
|
|
@@ -846,6 +847,137 @@ export function createOrchestratorTools() {
|
|
|
846
847
|
};
|
|
847
848
|
},
|
|
848
849
|
}),
|
|
850
|
+
defineTool('add_to_inbox', {
|
|
851
|
+
description: "Create an inbox entry for the user. Use this to deliver results, leave notes, reminders, or ask the user a question that will block until they respond.",
|
|
852
|
+
parameters: z.object({
|
|
853
|
+
kind: z
|
|
854
|
+
.enum(['deliverable', 'question', 'note'])
|
|
855
|
+
.describe('Type of entry: deliverable (work product), question (blocks until answered), note (informational)'),
|
|
856
|
+
title: z.string().describe('Short title for the inbox entry'),
|
|
857
|
+
content: z.string().describe('Full content/body of the entry'),
|
|
858
|
+
}),
|
|
859
|
+
handler: async (args) => {
|
|
860
|
+
try {
|
|
861
|
+
const { entry } = await addInboxEntry({
|
|
862
|
+
kind: args.kind,
|
|
863
|
+
title: args.title,
|
|
864
|
+
content: args.content,
|
|
865
|
+
});
|
|
866
|
+
return {
|
|
867
|
+
textResultForLlm: JSON.stringify({
|
|
868
|
+
created: true,
|
|
869
|
+
id: entry.id,
|
|
870
|
+
kind: entry.kind,
|
|
871
|
+
title: entry.title,
|
|
872
|
+
}),
|
|
873
|
+
resultType: 'success',
|
|
874
|
+
};
|
|
875
|
+
}
|
|
876
|
+
catch (err) {
|
|
877
|
+
return {
|
|
878
|
+
textResultForLlm: JSON.stringify({
|
|
879
|
+
error: `Failed to create inbox entry: ${err instanceof Error ? err.message : String(err)}`,
|
|
880
|
+
}),
|
|
881
|
+
resultType: 'success',
|
|
882
|
+
};
|
|
883
|
+
}
|
|
884
|
+
},
|
|
885
|
+
}),
|
|
886
|
+
defineTool('delete_wiki', {
|
|
887
|
+
description: 'Delete a wiki page permanently.',
|
|
888
|
+
parameters: z.object({
|
|
889
|
+
scope: z.enum(['shared', 'io']).describe('Wiki scope'),
|
|
890
|
+
page: z.string().describe('Page name (without extension)'),
|
|
891
|
+
}),
|
|
892
|
+
handler: async (args) => {
|
|
893
|
+
try {
|
|
894
|
+
const deleted = deleteWikiPage(args.scope, args.page);
|
|
895
|
+
return {
|
|
896
|
+
textResultForLlm: JSON.stringify({
|
|
897
|
+
deleted,
|
|
898
|
+
scope: args.scope,
|
|
899
|
+
page: args.page,
|
|
900
|
+
message: deleted ? 'Page deleted.' : 'Page not found.',
|
|
901
|
+
}),
|
|
902
|
+
resultType: 'success',
|
|
903
|
+
};
|
|
904
|
+
}
|
|
905
|
+
catch (err) {
|
|
906
|
+
return {
|
|
907
|
+
textResultForLlm: JSON.stringify({
|
|
908
|
+
error: `Failed to delete wiki page: ${err instanceof Error ? err.message : String(err)}`,
|
|
909
|
+
}),
|
|
910
|
+
resultType: 'success',
|
|
911
|
+
};
|
|
912
|
+
}
|
|
913
|
+
},
|
|
914
|
+
}),
|
|
915
|
+
defineTool('update_schedule', {
|
|
916
|
+
description: 'Update an existing schedule (name, cron expression, prompt, or enabled state).',
|
|
917
|
+
parameters: z.object({
|
|
918
|
+
id: z.string().describe('Schedule ID to update'),
|
|
919
|
+
name: z.string().optional().describe('New name for the schedule'),
|
|
920
|
+
cron: z.string().optional().describe('New cron expression'),
|
|
921
|
+
prompt: z.string().optional().describe('New prompt text'),
|
|
922
|
+
enabled: z.boolean().optional().describe('Enable or disable the schedule'),
|
|
923
|
+
}),
|
|
924
|
+
handler: async (args) => {
|
|
925
|
+
try {
|
|
926
|
+
const { id, ...updates } = args;
|
|
927
|
+
await updateSchedule(id, updates);
|
|
928
|
+
return {
|
|
929
|
+
textResultForLlm: JSON.stringify({
|
|
930
|
+
updated: true,
|
|
931
|
+
id,
|
|
932
|
+
changes: Object.keys(updates),
|
|
933
|
+
}),
|
|
934
|
+
resultType: 'success',
|
|
935
|
+
};
|
|
936
|
+
}
|
|
937
|
+
catch (err) {
|
|
938
|
+
return {
|
|
939
|
+
textResultForLlm: JSON.stringify({
|
|
940
|
+
error: `Failed to update schedule: ${err instanceof Error ? err.message : String(err)}`,
|
|
941
|
+
}),
|
|
942
|
+
resultType: 'success',
|
|
943
|
+
};
|
|
944
|
+
}
|
|
945
|
+
},
|
|
946
|
+
}),
|
|
947
|
+
defineTool('query_activity', {
|
|
948
|
+
description: 'Query the activity log to understand what has happened recently. Useful for reviewing squad actions, system events, and task history.',
|
|
949
|
+
parameters: z.object({
|
|
950
|
+
activityType: z
|
|
951
|
+
.enum(['tool_call', 'message', 'meeting_contribution', 'task_start', 'task_complete', 'error'])
|
|
952
|
+
.optional()
|
|
953
|
+
.describe('Filter by activity type'),
|
|
954
|
+
squadId: z.string().optional().describe('Filter by squad ID'),
|
|
955
|
+
agentRole: z.string().optional().describe('Filter by agent role'),
|
|
956
|
+
limit: z.number().optional().describe('Max entries to return (default 20)'),
|
|
957
|
+
}),
|
|
958
|
+
handler: async (args) => {
|
|
959
|
+
try {
|
|
960
|
+
const entries = await queryActivity({
|
|
961
|
+
activityType: args.activityType,
|
|
962
|
+
squadId: args.squadId,
|
|
963
|
+
agentRole: args.agentRole,
|
|
964
|
+
limit: args.limit ?? 20,
|
|
965
|
+
});
|
|
966
|
+
return {
|
|
967
|
+
textResultForLlm: JSON.stringify({ entries, count: entries.length }),
|
|
968
|
+
resultType: 'success',
|
|
969
|
+
};
|
|
970
|
+
}
|
|
971
|
+
catch (err) {
|
|
972
|
+
return {
|
|
973
|
+
textResultForLlm: JSON.stringify({
|
|
974
|
+
error: `Failed to query activity: ${err instanceof Error ? err.message : String(err)}`,
|
|
975
|
+
}),
|
|
976
|
+
resultType: 'success',
|
|
977
|
+
};
|
|
978
|
+
}
|
|
979
|
+
},
|
|
980
|
+
}),
|
|
849
981
|
];
|
|
850
982
|
}
|
|
851
983
|
//# sourceMappingURL=tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/copilot/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/copilot/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type Skill } from './store.js';
|
|
2
|
+
export type SkillDiscoverySource = 'awesome-copilot' | 'skillssh';
|
|
3
|
+
export interface DiscoveredSkill {
|
|
4
|
+
name: string;
|
|
5
|
+
title: string;
|
|
6
|
+
description: string;
|
|
7
|
+
url: string;
|
|
8
|
+
source: SkillDiscoverySource;
|
|
9
|
+
installed: boolean;
|
|
10
|
+
registrySource?: string;
|
|
11
|
+
skillId?: string;
|
|
12
|
+
installs?: number;
|
|
13
|
+
}
|
|
14
|
+
export declare function discoverSkills(source: SkillDiscoverySource, query: string): Promise<DiscoveredSkill[]>;
|
|
15
|
+
export declare function installDiscoveredSkill(input: {
|
|
16
|
+
name: string;
|
|
17
|
+
source: SkillDiscoverySource;
|
|
18
|
+
url?: string;
|
|
19
|
+
registrySource?: string;
|
|
20
|
+
skillId?: string;
|
|
21
|
+
}): Promise<Skill>;
|
|
22
|
+
//# sourceMappingURL=discover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../src/skills/discover.ts"],"names":[],"mappings":"AACA,OAAO,EAA0D,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAOhG,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,GAAG,UAAU,CAAC;AAElE,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,oBAAoB,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAwLD,wBAAsB,cAAc,CAAC,MAAM,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CA4B5G;AAED,wBAAsB,sBAAsB,CAAC,KAAK,EAAE;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,oBAAoB,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,KAAK,CAAC,CAejB"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { createChildLogger } from '../logging/logger.js';
|
|
2
|
+
import { installSkill, installSkillFromUrl, listInstalledSkills } from './store.js';
|
|
3
|
+
const logger = () => createChildLogger('skills-discovery');
|
|
4
|
+
const AWESOME_COPILOT_LLM_URL = 'https://awesome-copilot.github.com/llms.txt';
|
|
5
|
+
const SKILLS_SH_SEARCH_URL = 'https://skills.sh/api/search';
|
|
6
|
+
const CACHE_TTL_MS = 5 * 60 * 1000;
|
|
7
|
+
const textCache = new Map();
|
|
8
|
+
function normalize(value) {
|
|
9
|
+
return value.trim().toLowerCase();
|
|
10
|
+
}
|
|
11
|
+
function matchesQuery(parts, query) {
|
|
12
|
+
const needle = normalize(query);
|
|
13
|
+
if (!needle)
|
|
14
|
+
return true;
|
|
15
|
+
return parts.some((part) => part?.toLowerCase().includes(needle));
|
|
16
|
+
}
|
|
17
|
+
function formatInstalls(installs) {
|
|
18
|
+
if (!installs)
|
|
19
|
+
return 'New';
|
|
20
|
+
if (installs >= 1_000_000)
|
|
21
|
+
return `${(installs / 1_000_000).toFixed(1).replace(/\.0$/, '')}M installs`;
|
|
22
|
+
if (installs >= 1_000)
|
|
23
|
+
return `${(installs / 1_000).toFixed(1).replace(/\.0$/, '')}K installs`;
|
|
24
|
+
return `${installs} installs`;
|
|
25
|
+
}
|
|
26
|
+
async function fetchText(url) {
|
|
27
|
+
const cached = textCache.get(url);
|
|
28
|
+
if (cached && cached.expiresAt > Date.now()) {
|
|
29
|
+
return cached.value;
|
|
30
|
+
}
|
|
31
|
+
const res = await fetch(url, {
|
|
32
|
+
headers: {
|
|
33
|
+
'User-Agent': 'io-skills-discovery',
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
if (!res.ok) {
|
|
37
|
+
throw new Error(`Failed to fetch ${url}: ${res.status} ${res.statusText}`);
|
|
38
|
+
}
|
|
39
|
+
const value = await res.text();
|
|
40
|
+
textCache.set(url, { value, expiresAt: Date.now() + CACHE_TTL_MS });
|
|
41
|
+
return value;
|
|
42
|
+
}
|
|
43
|
+
async function fetchJson(url) {
|
|
44
|
+
const res = await fetch(url, {
|
|
45
|
+
headers: {
|
|
46
|
+
Accept: 'application/json',
|
|
47
|
+
'User-Agent': 'io-skills-discovery',
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
if (!res.ok) {
|
|
51
|
+
throw new Error(`Failed to fetch ${url}: ${res.status} ${res.statusText}`);
|
|
52
|
+
}
|
|
53
|
+
return (await res.json());
|
|
54
|
+
}
|
|
55
|
+
function buildAwesomeCopilotUrl(skillId) {
|
|
56
|
+
return `https://raw.githubusercontent.com/github/awesome-copilot/main/skills/${skillId}/SKILL.md`;
|
|
57
|
+
}
|
|
58
|
+
function buildSkillsShUrl(registrySource, skillId) {
|
|
59
|
+
return `https://github.com/${registrySource}/tree/main/skills/${encodeURIComponent(skillId)}`;
|
|
60
|
+
}
|
|
61
|
+
function parseAwesomeCopilotSkills(content, query, installedSkills) {
|
|
62
|
+
const skills = [];
|
|
63
|
+
const lines = content.split(/\r?\n/);
|
|
64
|
+
let inSkillsSection = false;
|
|
65
|
+
for (const line of lines) {
|
|
66
|
+
if (line.startsWith('## Skills')) {
|
|
67
|
+
inSkillsSection = true;
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
if (inSkillsSection && line.startsWith('## ')) {
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
if (!inSkillsSection)
|
|
74
|
+
continue;
|
|
75
|
+
const match = line.match(/^- \[(.+?)\]\((https:\/\/raw\.githubusercontent\.com\/[^)]+\/skills\/([^/]+)\/SKILL\.md)\):\s*(.+)$/);
|
|
76
|
+
if (!match)
|
|
77
|
+
continue;
|
|
78
|
+
const [, title, url, skillId, description] = match;
|
|
79
|
+
if (!matchesQuery([skillId, title, description], query))
|
|
80
|
+
continue;
|
|
81
|
+
skills.push({
|
|
82
|
+
name: skillId,
|
|
83
|
+
title,
|
|
84
|
+
description,
|
|
85
|
+
url,
|
|
86
|
+
source: 'awesome-copilot',
|
|
87
|
+
installed: installedSkills.has(normalize(skillId)),
|
|
88
|
+
registrySource: 'github/awesome-copilot',
|
|
89
|
+
skillId,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
return skills.slice(0, 50);
|
|
93
|
+
}
|
|
94
|
+
async function discoverAwesomeCopilotSkills(query, installedSkills) {
|
|
95
|
+
const content = await fetchText(AWESOME_COPILOT_LLM_URL);
|
|
96
|
+
return parseAwesomeCopilotSkills(content, query, installedSkills);
|
|
97
|
+
}
|
|
98
|
+
async function discoverSkillsShSkills(query, installedSkills) {
|
|
99
|
+
const trimmedQuery = query.trim();
|
|
100
|
+
if (!trimmedQuery)
|
|
101
|
+
return [];
|
|
102
|
+
const data = await fetchJson(`${SKILLS_SH_SEARCH_URL}?q=${encodeURIComponent(trimmedQuery)}&limit=30`);
|
|
103
|
+
return (data.skills ?? []).flatMap((skill) => {
|
|
104
|
+
const registrySource = skill.source?.trim();
|
|
105
|
+
const skillId = skill.skillId?.trim();
|
|
106
|
+
if (!registrySource || !skillId)
|
|
107
|
+
return [];
|
|
108
|
+
const title = skill.name?.trim() || skillId;
|
|
109
|
+
const description = [
|
|
110
|
+
title !== skillId ? title : undefined,
|
|
111
|
+
`Published by ${registrySource}`,
|
|
112
|
+
formatInstalls(skill.installs),
|
|
113
|
+
]
|
|
114
|
+
.filter(Boolean)
|
|
115
|
+
.join(' • ');
|
|
116
|
+
return [
|
|
117
|
+
{
|
|
118
|
+
name: skillId,
|
|
119
|
+
title,
|
|
120
|
+
description,
|
|
121
|
+
url: buildSkillsShUrl(registrySource, skillId),
|
|
122
|
+
source: 'skillssh',
|
|
123
|
+
installed: installedSkills.has(normalize(skillId)),
|
|
124
|
+
registrySource,
|
|
125
|
+
skillId,
|
|
126
|
+
installs: skill.installs,
|
|
127
|
+
},
|
|
128
|
+
];
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
async function fetchGitHubSkillContent(registrySource, skillId) {
|
|
132
|
+
const [owner, repo] = registrySource.split('/');
|
|
133
|
+
if (!owner || !repo) {
|
|
134
|
+
throw new Error(`Unsupported registry source: ${registrySource}`);
|
|
135
|
+
}
|
|
136
|
+
const candidates = [`skills/${skillId}/SKILL.md`, `${skillId}/SKILL.md`];
|
|
137
|
+
for (const path of candidates) {
|
|
138
|
+
const res = await fetch(`https://api.github.com/repos/${owner}/${repo}/contents/${path}`, {
|
|
139
|
+
headers: {
|
|
140
|
+
Accept: 'application/vnd.github.raw+json',
|
|
141
|
+
'User-Agent': 'io-skills-discovery',
|
|
142
|
+
},
|
|
143
|
+
});
|
|
144
|
+
if (!res.ok)
|
|
145
|
+
continue;
|
|
146
|
+
const content = await res.text();
|
|
147
|
+
if (content.trim()) {
|
|
148
|
+
return content;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
throw new Error(`Could not resolve SKILL.md for ${registrySource}/${skillId}`);
|
|
152
|
+
}
|
|
153
|
+
export async function discoverSkills(source, query) {
|
|
154
|
+
const installedSkills = new Set();
|
|
155
|
+
for (const skill of listInstalledSkills()) {
|
|
156
|
+
installedSkills.add(normalize(skill.name));
|
|
157
|
+
}
|
|
158
|
+
try {
|
|
159
|
+
if (source === 'awesome-copilot') {
|
|
160
|
+
return await discoverAwesomeCopilotSkills(query, installedSkills);
|
|
161
|
+
}
|
|
162
|
+
return await discoverSkillsShSkills(query, installedSkills);
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
logger().warn({ error, source, query }, 'Skill discovery failed');
|
|
166
|
+
if (source === 'skillssh' && query.trim()) {
|
|
167
|
+
return [
|
|
168
|
+
{
|
|
169
|
+
name: query.trim().toLowerCase().replace(/\s+/g, '-'),
|
|
170
|
+
title: query.trim(),
|
|
171
|
+
description: 'Registry lookup is unavailable right now. This is placeholder data until the upstream API is reachable.',
|
|
172
|
+
url: '',
|
|
173
|
+
source: 'skillssh',
|
|
174
|
+
installed: false,
|
|
175
|
+
},
|
|
176
|
+
];
|
|
177
|
+
}
|
|
178
|
+
throw error;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
export async function installDiscoveredSkill(input) {
|
|
182
|
+
if (input.source === 'skillssh' && input.registrySource && input.skillId) {
|
|
183
|
+
const content = await fetchGitHubSkillContent(input.registrySource, input.skillId);
|
|
184
|
+
return installSkill(input.name, content);
|
|
185
|
+
}
|
|
186
|
+
if (input.url) {
|
|
187
|
+
return installSkillFromUrl(input.name, input.url || buildAwesomeCopilotUrl(input.skillId ?? input.name));
|
|
188
|
+
}
|
|
189
|
+
if (input.source === 'awesome-copilot') {
|
|
190
|
+
return installSkillFromUrl(input.name, buildAwesomeCopilotUrl(input.skillId ?? input.name));
|
|
191
|
+
}
|
|
192
|
+
throw new Error('No install source was provided for the selected skill');
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=discover.js.map
|