@grovina/brian 0.1.0 → 0.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/channels/telegram.js +66 -26
- package/dist/channels/telegram.js.map +1 -1
- package/dist/model.js +14 -4
- package/dist/model.js.map +1 -1
- package/package.json +5 -1
- package/dist/tools/process.js +0 -57
- package/dist/tools/process.js.map +0 -1
|
@@ -2,21 +2,18 @@ export class TelegramChannelAdapter {
|
|
|
2
2
|
token;
|
|
3
3
|
allowedUserId;
|
|
4
4
|
offset = 0;
|
|
5
|
+
history = new Map();
|
|
6
|
+
historyLimit = 200;
|
|
5
7
|
constructor(token, allowedUserId) {
|
|
6
8
|
this.token = token;
|
|
7
9
|
this.allowedUserId = allowedUserId;
|
|
8
10
|
}
|
|
9
11
|
async poll() {
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
offset: this.offset,
|
|
15
|
-
timeout: 1,
|
|
16
|
-
allowed_updates: ['message'],
|
|
17
|
-
}),
|
|
12
|
+
const payload = await this.request('getUpdates', {
|
|
13
|
+
offset: this.offset,
|
|
14
|
+
timeout: 1,
|
|
15
|
+
allowed_updates: ['message'],
|
|
18
16
|
});
|
|
19
|
-
const payload = (await response.json());
|
|
20
17
|
if (!payload.ok)
|
|
21
18
|
return [];
|
|
22
19
|
const out = [];
|
|
@@ -27,6 +24,11 @@ export class TelegramChannelAdapter {
|
|
|
27
24
|
const chatId = String(message?.chat?.id ?? '');
|
|
28
25
|
if (!message?.text || !chatId || fromId !== this.allowedUserId)
|
|
29
26
|
continue;
|
|
27
|
+
this.recordHistory(chatId, {
|
|
28
|
+
ts: this.toIsoTimestamp(message.date),
|
|
29
|
+
userId: fromId,
|
|
30
|
+
text: message.text,
|
|
31
|
+
});
|
|
30
32
|
out.push({
|
|
31
33
|
eventId: `tg_${update.update_id}`,
|
|
32
34
|
channel: 'telegram',
|
|
@@ -44,30 +46,68 @@ export class TelegramChannelAdapter {
|
|
|
44
46
|
}
|
|
45
47
|
async sendReply(message, text) {
|
|
46
48
|
const chatId = message.replyContext?.chatId ?? message.conversationId;
|
|
47
|
-
await
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
49
|
+
const payload = await this.request('sendMessage', {
|
|
50
|
+
chat_id: chatId,
|
|
51
|
+
text,
|
|
52
|
+
reply_to_message_id: message.replyContext?.messageId
|
|
53
|
+
? Number(message.replyContext.messageId)
|
|
54
|
+
: undefined,
|
|
55
|
+
});
|
|
56
|
+
if (!payload.ok) {
|
|
57
|
+
throw new Error(payload.description ?? 'Telegram sendReply failed');
|
|
58
|
+
}
|
|
59
|
+
this.recordHistory(chatId, {
|
|
60
|
+
ts: this.toIsoTimestamp(payload.result?.date),
|
|
61
|
+
userId: 'bot',
|
|
62
|
+
text,
|
|
57
63
|
});
|
|
58
64
|
}
|
|
59
65
|
async sendToConversation(conversationId, text) {
|
|
60
|
-
await
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
body: JSON.stringify({
|
|
64
|
-
chat_id: conversationId,
|
|
65
|
-
text,
|
|
66
|
-
}),
|
|
66
|
+
const payload = await this.request('sendMessage', {
|
|
67
|
+
chat_id: conversationId,
|
|
68
|
+
text,
|
|
67
69
|
});
|
|
70
|
+
if (!payload.ok) {
|
|
71
|
+
throw new Error(payload.description ?? 'Telegram sendToConversation failed');
|
|
72
|
+
}
|
|
73
|
+
this.recordHistory(conversationId, {
|
|
74
|
+
ts: this.toIsoTimestamp(payload.result?.date),
|
|
75
|
+
userId: 'bot',
|
|
76
|
+
text,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
async getHistory(conversationId, limit) {
|
|
80
|
+
const entries = this.history.get(conversationId) ?? [];
|
|
81
|
+
if (entries.length === 0)
|
|
82
|
+
return [];
|
|
83
|
+
return entries.slice(Math.max(0, entries.length - Math.max(1, limit)));
|
|
68
84
|
}
|
|
69
85
|
url(method) {
|
|
70
86
|
return `https://api.telegram.org/bot${this.token}/${method}`;
|
|
71
87
|
}
|
|
88
|
+
async request(method, body) {
|
|
89
|
+
const response = await fetch(this.url(method), {
|
|
90
|
+
method: 'POST',
|
|
91
|
+
headers: { 'Content-Type': 'application/json' },
|
|
92
|
+
body: JSON.stringify(body),
|
|
93
|
+
});
|
|
94
|
+
if (!response.ok) {
|
|
95
|
+
throw new Error(`Telegram API ${method} failed with HTTP ${response.status}`);
|
|
96
|
+
}
|
|
97
|
+
return (await response.json());
|
|
98
|
+
}
|
|
99
|
+
toIsoTimestamp(unixSeconds) {
|
|
100
|
+
if (!unixSeconds)
|
|
101
|
+
return new Date().toISOString();
|
|
102
|
+
return new Date(unixSeconds * 1000).toISOString();
|
|
103
|
+
}
|
|
104
|
+
recordHistory(conversationId, entry) {
|
|
105
|
+
const current = this.history.get(conversationId) ?? [];
|
|
106
|
+
current.push(entry);
|
|
107
|
+
if (current.length > this.historyLimit) {
|
|
108
|
+
current.splice(0, current.length - this.historyLimit);
|
|
109
|
+
}
|
|
110
|
+
this.history.set(conversationId, current);
|
|
111
|
+
}
|
|
72
112
|
}
|
|
73
113
|
//# sourceMappingURL=telegram.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../src/channels/telegram.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../src/channels/telegram.ts"],"names":[],"mappings":"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"}
|
package/dist/model.js
CHANGED
|
@@ -3,11 +3,11 @@ import { GoogleGenAI, ThinkingLevel, } from '@google/genai';
|
|
|
3
3
|
class VertexModelAdapter {
|
|
4
4
|
client;
|
|
5
5
|
model;
|
|
6
|
-
constructor(modelId) {
|
|
6
|
+
constructor(modelId, projectId, location) {
|
|
7
7
|
this.client = new GoogleGenAI({
|
|
8
8
|
vertexai: true,
|
|
9
|
-
project:
|
|
10
|
-
location
|
|
9
|
+
project: projectId,
|
|
10
|
+
location,
|
|
11
11
|
});
|
|
12
12
|
this.model = modelId;
|
|
13
13
|
}
|
|
@@ -188,7 +188,17 @@ export function createModelAdapter(llmModule) {
|
|
|
188
188
|
if (!modelId) {
|
|
189
189
|
throw new Error('Missing model ID for vertex provider');
|
|
190
190
|
}
|
|
191
|
-
|
|
191
|
+
const projectId = asString(config.projectId) ??
|
|
192
|
+
asString(process.env.GCP_PROJECT) ??
|
|
193
|
+
asString(process.env.GOOGLE_CLOUD_PROJECT);
|
|
194
|
+
if (!projectId) {
|
|
195
|
+
throw new Error('Missing Vertex project configuration');
|
|
196
|
+
}
|
|
197
|
+
const location = asString(config.location) ??
|
|
198
|
+
asString(process.env.VERTEX_AI_LOCATION) ??
|
|
199
|
+
asString(process.env.GOOGLE_CLOUD_LOCATION) ??
|
|
200
|
+
'global';
|
|
201
|
+
return new VertexModelAdapter(modelId, projectId, location);
|
|
192
202
|
}
|
|
193
203
|
if (llmModule.kind === 'anthropic') {
|
|
194
204
|
const modelId = asString(config.modelId);
|
package/dist/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EACL,WAAW,EACX,aAAa,GAGd,MAAM,eAAe,CAAC;AAUvB,MAAM,kBAAkB;IACL,MAAM,CAAc;IACpB,KAAK,CAAS;IAE/B,YAAY,OAAe;
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grovina/brian",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Brian runtime worker for Grovina agents",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/grovina/platform.git"
|
|
8
|
+
},
|
|
5
9
|
"license": "UNLICENSED",
|
|
6
10
|
"type": "module",
|
|
7
11
|
"publishConfig": {
|
package/dist/tools/process.js
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
const DEFAULT_DRAIN_MS = 100;
|
|
2
|
-
const FORCE_KILL_DELAY_MS = 5_000;
|
|
3
|
-
export function shellEnv(extraEnv) {
|
|
4
|
-
return {
|
|
5
|
-
...process.env,
|
|
6
|
-
...extraEnv,
|
|
7
|
-
PATH: `${process.env.HOME}/.npm-global/bin:${process.env.PATH}`,
|
|
8
|
-
CLOUDSDK_CORE_DISABLE_PROMPTS: process.env.CLOUDSDK_CORE_DISABLE_PROMPTS ?? '1',
|
|
9
|
-
CLOUDSDK_PAGER: process.env.CLOUDSDK_PAGER ?? '',
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
export function waitForProcessCompletion(proc, timeoutMs, drainMs = DEFAULT_DRAIN_MS) {
|
|
13
|
-
return new Promise((resolve) => {
|
|
14
|
-
let settled = false;
|
|
15
|
-
let timedOut = false;
|
|
16
|
-
let exitCode = null;
|
|
17
|
-
let signal = null;
|
|
18
|
-
let timeoutHandle = null;
|
|
19
|
-
let finalizeTimer = null;
|
|
20
|
-
const finish = () => {
|
|
21
|
-
if (settled)
|
|
22
|
-
return;
|
|
23
|
-
settled = true;
|
|
24
|
-
if (timeoutHandle)
|
|
25
|
-
clearTimeout(timeoutHandle);
|
|
26
|
-
if (finalizeTimer)
|
|
27
|
-
clearTimeout(finalizeTimer);
|
|
28
|
-
resolve({ exitCode, signal, timedOut });
|
|
29
|
-
};
|
|
30
|
-
if (timeoutMs > 0) {
|
|
31
|
-
timeoutHandle = setTimeout(() => {
|
|
32
|
-
timedOut = true;
|
|
33
|
-
proc.kill('SIGTERM');
|
|
34
|
-
setTimeout(() => {
|
|
35
|
-
if (proc.exitCode === null) {
|
|
36
|
-
proc.kill('SIGKILL');
|
|
37
|
-
}
|
|
38
|
-
}, FORCE_KILL_DELAY_MS);
|
|
39
|
-
}, timeoutMs);
|
|
40
|
-
}
|
|
41
|
-
proc.on('exit', (code, exitSignal) => {
|
|
42
|
-
exitCode = code;
|
|
43
|
-
signal = exitSignal;
|
|
44
|
-
if (finalizeTimer)
|
|
45
|
-
clearTimeout(finalizeTimer);
|
|
46
|
-
finalizeTimer = setTimeout(finish, Math.max(0, drainMs));
|
|
47
|
-
});
|
|
48
|
-
proc.on('close', (code, closeSignal) => {
|
|
49
|
-
if (exitCode === null)
|
|
50
|
-
exitCode = code;
|
|
51
|
-
if (signal === null)
|
|
52
|
-
signal = closeSignal;
|
|
53
|
-
finish();
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=process.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/tools/process.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAQlC,MAAM,UAAU,QAAQ,CAAC,QAAiC;IACxD,OAAO;QACL,GAAG,OAAO,CAAC,GAAG;QACd,GAAG,QAAQ;QACX,IAAI,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,oBAAoB,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE;QAC/D,6BAA6B,EAAE,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,GAAG;QAC/E,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE;KACjD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,IAAoC,EACpC,SAAiB,EACjB,OAAO,GAAG,gBAAgB;IAE1B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,QAAQ,GAAkB,IAAI,CAAC;QACnC,IAAI,MAAM,GAA0B,IAAI,CAAC;QACzC,IAAI,aAAa,GAA0B,IAAI,CAAC;QAChD,IAAI,aAAa,GAA0B,IAAI,CAAC;QAEhD,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,aAAa;gBAAE,YAAY,CAAC,aAAa,CAAC,CAAC;YAC/C,IAAI,aAAa;gBAAE,YAAY,CAAC,aAAa,CAAC,CAAC;YAC/C,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC;QAEF,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC9B,QAAQ,GAAG,IAAI,CAAC;gBAChB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACrB,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;wBAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACvB,CAAC;gBACH,CAAC,EAAE,mBAAmB,CAAC,CAAC;YAC1B,CAAC,EAAE,SAAS,CAAC,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE;YACnC,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM,GAAG,UAAU,CAAC;YACpB,IAAI,aAAa;gBAAE,YAAY,CAAC,aAAa,CAAC,CAAC;YAC/C,aAAa,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE;YACrC,IAAI,QAAQ,KAAK,IAAI;gBAAE,QAAQ,GAAG,IAAI,CAAC;YACvC,IAAI,MAAM,KAAK,IAAI;gBAAE,MAAM,GAAG,WAAW,CAAC;YAC1C,MAAM,EAAE,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|