@tleblancureta/proto 0.2.0 → 0.3.0
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/core-gateway/auth.d.ts +7 -0
- package/dist/core-gateway/auth.d.ts.map +1 -0
- package/dist/core-gateway/auth.js +12 -0
- package/dist/core-gateway/auth.js.map +1 -0
- package/dist/core-gateway/claude-runner.d.ts +10 -0
- package/dist/core-gateway/claude-runner.d.ts.map +1 -0
- package/dist/core-gateway/claude-runner.js +206 -0
- package/dist/core-gateway/claude-runner.js.map +1 -0
- package/dist/core-gateway/config.d.ts +33 -0
- package/dist/core-gateway/config.d.ts.map +1 -0
- package/dist/core-gateway/config.js +84 -0
- package/dist/core-gateway/config.js.map +1 -0
- package/dist/core-gateway/email-sender.d.ts +36 -0
- package/dist/core-gateway/email-sender.d.ts.map +1 -0
- package/dist/core-gateway/email-sender.js +121 -0
- package/dist/core-gateway/email-sender.js.map +1 -0
- package/dist/core-gateway/mail-ingester.d.ts +3 -0
- package/dist/core-gateway/mail-ingester.d.ts.map +1 -0
- package/dist/core-gateway/mail-ingester.js +294 -0
- package/dist/core-gateway/mail-ingester.js.map +1 -0
- package/dist/core-gateway/mail-router.d.ts +18 -0
- package/dist/core-gateway/mail-router.d.ts.map +1 -0
- package/dist/core-gateway/mail-router.js +37 -0
- package/dist/core-gateway/mail-router.js.map +1 -0
- package/dist/core-gateway/mail-threads.d.ts +78 -0
- package/dist/core-gateway/mail-threads.d.ts.map +1 -0
- package/dist/core-gateway/mail-threads.js +100 -0
- package/dist/core-gateway/mail-threads.js.map +1 -0
- package/dist/core-gateway/rate-limiter.d.ts +9 -0
- package/dist/core-gateway/rate-limiter.d.ts.map +1 -0
- package/dist/core-gateway/rate-limiter.js +13 -0
- package/dist/core-gateway/rate-limiter.js.map +1 -0
- package/dist/core-gateway/registry.d.ts +14 -0
- package/dist/core-gateway/registry.d.ts.map +1 -0
- package/dist/core-gateway/registry.js +83 -0
- package/dist/core-gateway/registry.js.map +1 -0
- package/dist/core-gateway/routes/admin.d.ts +3 -0
- package/dist/core-gateway/routes/admin.d.ts.map +1 -0
- package/dist/core-gateway/routes/admin.js +91 -0
- package/dist/core-gateway/routes/admin.js.map +1 -0
- package/dist/core-gateway/routes/chat.d.ts +9 -0
- package/dist/core-gateway/routes/chat.d.ts.map +1 -0
- package/dist/core-gateway/routes/chat.js +149 -0
- package/dist/core-gateway/routes/chat.js.map +1 -0
- package/dist/core-gateway/routes/cron.d.ts +13 -0
- package/dist/core-gateway/routes/cron.d.ts.map +1 -0
- package/dist/core-gateway/routes/cron.js +79 -0
- package/dist/core-gateway/routes/cron.js.map +1 -0
- package/dist/core-gateway/routes/gmail.d.ts +8 -0
- package/dist/core-gateway/routes/gmail.d.ts.map +1 -0
- package/dist/core-gateway/routes/gmail.js +57 -0
- package/dist/core-gateway/routes/gmail.js.map +1 -0
- package/dist/core-gateway/routes/health.d.ts +3 -0
- package/dist/core-gateway/routes/health.d.ts.map +1 -0
- package/dist/core-gateway/routes/health.js +7 -0
- package/dist/core-gateway/routes/health.js.map +1 -0
- package/dist/core-gateway/routes/upload.d.ts +7 -0
- package/dist/core-gateway/routes/upload.d.ts.map +1 -0
- package/dist/core-gateway/routes/upload.js +31 -0
- package/dist/core-gateway/routes/upload.js.map +1 -0
- package/dist/core-gateway/scheduler.d.ts +68 -0
- package/dist/core-gateway/scheduler.d.ts.map +1 -0
- package/dist/core-gateway/scheduler.js +252 -0
- package/dist/core-gateway/scheduler.js.map +1 -0
- package/dist/core-gateway/server.d.ts +17 -0
- package/dist/core-gateway/server.d.ts.map +1 -0
- package/dist/core-gateway/server.js +45 -0
- package/dist/core-gateway/server.js.map +1 -0
- package/dist/core-gateway/session.d.ts +18 -0
- package/dist/core-gateway/session.d.ts.map +1 -0
- package/dist/core-gateway/session.js +178 -0
- package/dist/core-gateway/session.js.map +1 -0
- package/dist/core-gateway/skills.d.ts +4 -0
- package/dist/core-gateway/skills.d.ts.map +1 -0
- package/dist/core-gateway/skills.js +100 -0
- package/dist/core-gateway/skills.js.map +1 -0
- package/dist/core-gateway/supabase.d.ts +3 -0
- package/dist/core-gateway/supabase.d.ts.map +1 -0
- package/dist/core-gateway/supabase.js +18 -0
- package/dist/core-gateway/supabase.js.map +1 -0
- package/dist/gateway.d.ts +3 -0
- package/dist/gateway.d.ts.map +1 -0
- package/dist/gateway.js +3 -0
- package/dist/gateway.js.map +1 -0
- package/package.json +21 -1
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { readFileSync, existsSync } from 'node:fs';
|
|
2
|
+
import { config, resolveAppPath } from './config.js';
|
|
3
|
+
/**
|
|
4
|
+
* Build tool map from skills, resolving one level of `depends`.
|
|
5
|
+
*/
|
|
6
|
+
function getSkillToolsMap(skills) {
|
|
7
|
+
const raw = {};
|
|
8
|
+
const deps = {};
|
|
9
|
+
for (const s of skills) {
|
|
10
|
+
if (!s.mcp_tools?.length)
|
|
11
|
+
continue;
|
|
12
|
+
raw[s.name] = s.mcp_tools;
|
|
13
|
+
deps[s.name] = s.depends || [];
|
|
14
|
+
}
|
|
15
|
+
const out = {};
|
|
16
|
+
for (const [name, tools] of Object.entries(raw)) {
|
|
17
|
+
const all = [...tools];
|
|
18
|
+
for (const d of deps[name] || []) {
|
|
19
|
+
for (const t of raw[d] || []) {
|
|
20
|
+
if (!all.includes(t))
|
|
21
|
+
all.push(t);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
out[name] = all;
|
|
25
|
+
}
|
|
26
|
+
return out;
|
|
27
|
+
}
|
|
28
|
+
export function buildSystemPrompt(request, allSkills = []) {
|
|
29
|
+
const parts = [];
|
|
30
|
+
// Channel-specific base prompt
|
|
31
|
+
const promptKey = request.channel === 'whatsapp' ? 'whatsapp' : 'default';
|
|
32
|
+
const promptFile = config.prompts[promptKey] || config.prompts.default;
|
|
33
|
+
const promptPath = resolveAppPath(promptFile);
|
|
34
|
+
if (existsSync(promptPath)) {
|
|
35
|
+
parts.push(readFileSync(promptPath, 'utf-8'));
|
|
36
|
+
}
|
|
37
|
+
// Current date/time
|
|
38
|
+
const now = new Date();
|
|
39
|
+
const tz = config.timezone;
|
|
40
|
+
const formatter = new Intl.DateTimeFormat('es-CL', {
|
|
41
|
+
timeZone: tz,
|
|
42
|
+
day: '2-digit', month: '2-digit', year: 'numeric',
|
|
43
|
+
hour: '2-digit', minute: '2-digit',
|
|
44
|
+
});
|
|
45
|
+
parts.push(`\n## Fecha y hora actual\n\n- ${formatter.format(now)} (${tz})`);
|
|
46
|
+
// Company context
|
|
47
|
+
if (request.company_context) {
|
|
48
|
+
let ctx = request.company_context;
|
|
49
|
+
if (request.user_id && request.user_id !== 'web-user') {
|
|
50
|
+
ctx += `\n- Email del usuario: ${request.user_id}`;
|
|
51
|
+
}
|
|
52
|
+
parts.push(`\n## Empresa activa\n\n${ctx}`);
|
|
53
|
+
}
|
|
54
|
+
// Skills
|
|
55
|
+
let skills = request.enabled_skills;
|
|
56
|
+
const channelExcluded = config.channel_excluded_skills[request.channel];
|
|
57
|
+
if (skills.length && channelExcluded) {
|
|
58
|
+
skills = skills.filter(s => !channelExcluded.has(s));
|
|
59
|
+
}
|
|
60
|
+
if (skills.length) {
|
|
61
|
+
parts.push(`\n## Skills habilitados\n\n` +
|
|
62
|
+
`Tienes ${skills.length} skills disponibles: ${skills.join(', ')}. ` +
|
|
63
|
+
`Usa el Skill tool para invocarlos cuando sean relevantes.`);
|
|
64
|
+
// Tool restrictions
|
|
65
|
+
const allSkillTools = getSkillToolsMap(allSkills);
|
|
66
|
+
const enabledSet = new Set(skills);
|
|
67
|
+
const allowed = [];
|
|
68
|
+
const denied = [];
|
|
69
|
+
for (const [name, tools] of Object.entries(allSkillTools)) {
|
|
70
|
+
if (enabledSet.has(name)) {
|
|
71
|
+
allowed.push(...tools);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
denied.push(...tools);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
allowed.push(...config.always_allowed_tools);
|
|
78
|
+
if (denied.length) {
|
|
79
|
+
parts.push(`\n## RESTRICCION DE TOOLS\n`);
|
|
80
|
+
parts.push(`Tools permitidos: ${[...new Set(allowed)].sort().map(t => `\`${t}\``).join(', ')}`);
|
|
81
|
+
parts.push(`\nTools DENEGADOS: ${[...new Set(denied)].sort().map(t => `\`${t}\``).join(', ')}. ` +
|
|
82
|
+
`Si el usuario pide algo de estos dominios, dile que no tienes acceso.`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// Output format
|
|
86
|
+
if (request.output_format && request.output_format !== 'text') {
|
|
87
|
+
const formats = {
|
|
88
|
+
excel: 'Genera el resultado como archivo Excel (.xlsx) y guardalo en el directorio actual.',
|
|
89
|
+
pdf: 'Genera el resultado como archivo PDF y guardalo en el directorio actual.',
|
|
90
|
+
summary: 'Responde con un resumen conciso de maximo 3-4 oraciones.',
|
|
91
|
+
};
|
|
92
|
+
parts.push(`\n## Formato de output\n\n${formats[request.output_format] || request.output_format}`);
|
|
93
|
+
}
|
|
94
|
+
// Additional instructions
|
|
95
|
+
if (request.system_instructions) {
|
|
96
|
+
parts.push(`\n## Instrucciones adicionales\n\n${request.system_instructions}`);
|
|
97
|
+
}
|
|
98
|
+
return parts.join('\n\n');
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=skills.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../core-gateway/skills.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supabase.d.ts","sourceRoot":"","sources":["../../core-gateway/supabase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAQpE,wBAAgB,WAAW,IAAI,cAAc,CAS5C"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { createClient } from '@supabase/supabase-js';
|
|
2
|
+
/**
|
|
3
|
+
* Shared service-role Supabase client for the gateway. Uses a lazy singleton
|
|
4
|
+
* so modules can import freely without tripping over missing env at load time.
|
|
5
|
+
*/
|
|
6
|
+
let client = null;
|
|
7
|
+
export function getSupabase() {
|
|
8
|
+
if (client)
|
|
9
|
+
return client;
|
|
10
|
+
const url = process.env.SUPABASE_URL;
|
|
11
|
+
const key = process.env.SUPABASE_SERVICE_ROLE_KEY;
|
|
12
|
+
if (!url || !key) {
|
|
13
|
+
throw new Error('SUPABASE_URL and SUPABASE_SERVICE_ROLE_KEY are required');
|
|
14
|
+
}
|
|
15
|
+
client = createClient(url, key, { auth: { persistSession: false } });
|
|
16
|
+
return client;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=supabase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supabase.js","sourceRoot":"","sources":["../../core-gateway/supabase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,uBAAuB,CAAA;AAEpE;;;GAGG;AACH,IAAI,MAAM,GAA0B,IAAI,CAAA;AAExC,MAAM,UAAU,WAAW;IACzB,IAAI,MAAM;QAAE,OAAO,MAAM,CAAA;IACzB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAA;IACpC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAA;IACjD,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;IAC5E,CAAC;IACD,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;IACpE,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAClF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA"}
|
package/dist/gateway.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAuB,MAAM,0BAA0B,CAAA;AAClF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tleblancureta/proto",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "TypeScript framework for building AI-agent-driven apps. Define tools, widgets, and data models — get chat, Shell dashboard, auth, MCP server, and Claude CLI integration.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -21,6 +21,10 @@
|
|
|
21
21
|
"./shared": {
|
|
22
22
|
"types": "./dist/shared.d.ts",
|
|
23
23
|
"default": "./dist/shared.js"
|
|
24
|
+
},
|
|
25
|
+
"./gateway": {
|
|
26
|
+
"types": "./dist/gateway.d.ts",
|
|
27
|
+
"default": "./dist/gateway.js"
|
|
24
28
|
}
|
|
25
29
|
},
|
|
26
30
|
"files": [
|
|
@@ -39,25 +43,41 @@
|
|
|
39
43
|
"react-dom": "^19.0.0"
|
|
40
44
|
},
|
|
41
45
|
"dependencies": {
|
|
46
|
+
"@hono/node-server": "^1.13.0",
|
|
47
|
+
"@hono/node-ws": "^1.3.0",
|
|
42
48
|
"clsx": "^2.1.1",
|
|
49
|
+
"croner": "^9.1.0",
|
|
50
|
+
"hono": "^4.7.0",
|
|
43
51
|
"lucide-react": "^1.7.0",
|
|
44
52
|
"react-grid-layout": "^2.2.3",
|
|
45
53
|
"react-markdown": "^10.1.0",
|
|
46
54
|
"react-router-dom": "^7.14.0",
|
|
47
55
|
"remark-gfm": "^4.0.1",
|
|
48
56
|
"tailwind-merge": "^3.5.0",
|
|
57
|
+
"ws": "^8.20.0",
|
|
58
|
+
"yaml": "^2.7.0",
|
|
49
59
|
"zod": "^3.24.0"
|
|
50
60
|
},
|
|
51
61
|
"devDependencies": {
|
|
52
62
|
"@modelcontextprotocol/sdk": "^1.27.0",
|
|
53
63
|
"@supabase/supabase-js": "^2.49.0",
|
|
64
|
+
"@types/mailparser": "^3.4.6",
|
|
65
|
+
"@types/node": "^22.0.0",
|
|
66
|
+
"@types/nodemailer": "^8.0.0",
|
|
54
67
|
"@types/react": "^19.0.0",
|
|
55
68
|
"@types/react-dom": "^19.0.0",
|
|
56
69
|
"@types/react-grid-layout": "^1.3.6",
|
|
70
|
+
"@types/ws": "^8.18.1",
|
|
57
71
|
"react": "^19.0.0",
|
|
58
72
|
"react-dom": "^19.0.0",
|
|
59
73
|
"tsx": "^4.19.0",
|
|
60
74
|
"typescript": "^5.7.0",
|
|
61
75
|
"vitest": "^3.0.0"
|
|
76
|
+
},
|
|
77
|
+
"optionalDependencies": {
|
|
78
|
+
"googleapis": "^171.4.0",
|
|
79
|
+
"imapflow": "^1.3.1",
|
|
80
|
+
"mailparser": "^3.9.8",
|
|
81
|
+
"nodemailer": "^8.0.5"
|
|
62
82
|
}
|
|
63
83
|
}
|