@trikhub/server 0.10.0 → 0.12.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/README.md +138 -67
- package/dist/.tsbuildinfo +1 -1
- package/dist/cli.js +3 -4
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/routes/{content.d.ts → message.d.ts} +2 -2
- package/dist/routes/message.d.ts.map +1 -0
- package/dist/routes/message.js +130 -0
- package/dist/routes/message.js.map +1 -0
- package/dist/routes/tools.d.ts.map +1 -1
- package/dist/routes/tools.js +21 -32
- package/dist/routes/tools.js.map +1 -1
- package/dist/routes/triks.d.ts +1 -1
- package/dist/routes/triks.d.ts.map +1 -1
- package/dist/routes/triks.js +43 -13
- package/dist/routes/triks.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +22 -9
- package/dist/server.js.map +1 -1
- package/dist/services/skill-loader.d.ts +2 -0
- package/dist/services/skill-loader.d.ts.map +1 -1
- package/dist/services/skill-loader.js +1 -0
- package/dist/services/skill-loader.js.map +1 -1
- package/dist/trik-server.d.ts +2 -11
- package/dist/trik-server.d.ts.map +1 -1
- package/dist/trik-server.js +3 -1
- package/dist/trik-server.js.map +1 -1
- package/package.json +5 -6
- package/dist/routes/content.d.ts.map +0 -1
- package/dist/routes/content.js +0 -67
- package/dist/routes/content.js.map +0 -1
- package/dist/routes/execute.d.ts +0 -4
- package/dist/routes/execute.d.ts.map +0 -1
- package/dist/routes/execute.js +0 -81
- package/dist/routes/execute.js.map +0 -1
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
export async function messageRoutes(fastify, gateway) {
|
|
2
|
+
// POST /api/v1/message — Route a user message through the gateway
|
|
3
|
+
fastify.post('/api/v1/message', {
|
|
4
|
+
schema: {
|
|
5
|
+
tags: ['messages'],
|
|
6
|
+
summary: 'Send a message',
|
|
7
|
+
description: 'Routes a user message through the handoff gateway. Returns the route result.',
|
|
8
|
+
body: {
|
|
9
|
+
type: 'object',
|
|
10
|
+
required: ['message', 'sessionId'],
|
|
11
|
+
properties: {
|
|
12
|
+
message: { type: 'string', description: 'The user message to route' },
|
|
13
|
+
sessionId: { type: 'string', description: 'Session identifier' },
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
response: {
|
|
17
|
+
200: {
|
|
18
|
+
type: 'object',
|
|
19
|
+
properties: {
|
|
20
|
+
target: { type: 'string', enum: ['main', 'trik', 'transfer_back', 'force_back'] },
|
|
21
|
+
trikId: { type: 'string' },
|
|
22
|
+
message: { type: 'string' },
|
|
23
|
+
response: {
|
|
24
|
+
type: 'object',
|
|
25
|
+
properties: {
|
|
26
|
+
message: { type: 'string' },
|
|
27
|
+
transferBack: { type: 'boolean' },
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
summary: { type: 'string' },
|
|
31
|
+
sessionId: { type: 'string' },
|
|
32
|
+
handoffTools: {
|
|
33
|
+
type: 'array',
|
|
34
|
+
items: {
|
|
35
|
+
type: 'object',
|
|
36
|
+
properties: {
|
|
37
|
+
name: { type: 'string' },
|
|
38
|
+
description: { type: 'string' },
|
|
39
|
+
inputSchema: { type: 'object' },
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
}, async (request, reply) => {
|
|
48
|
+
const { message, sessionId } = request.body;
|
|
49
|
+
try {
|
|
50
|
+
// Check if this is a handoff initiation (talk_to_ prefix from main agent)
|
|
51
|
+
if (message.startsWith('talk_to_')) {
|
|
52
|
+
const trikId = message.replace('talk_to_', '').split(' ')[0];
|
|
53
|
+
const context = message.slice(message.indexOf(' ') + 1) || 'User wants to interact';
|
|
54
|
+
const result = await gateway.startHandoff(trikId, context, sessionId);
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
57
|
+
const result = await gateway.routeMessage(message, sessionId);
|
|
58
|
+
return result;
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
62
|
+
return reply.status(500).send({
|
|
63
|
+
target: 'main',
|
|
64
|
+
error: errorMessage,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
// POST /api/v1/back — Force transfer-back
|
|
69
|
+
fastify.post('/api/v1/back', {
|
|
70
|
+
schema: {
|
|
71
|
+
tags: ['messages'],
|
|
72
|
+
summary: 'Force transfer back',
|
|
73
|
+
description: 'Forces a transfer-back from the current handoff, if any.',
|
|
74
|
+
body: {
|
|
75
|
+
type: 'object',
|
|
76
|
+
required: ['sessionId'],
|
|
77
|
+
properties: {
|
|
78
|
+
sessionId: { type: 'string', description: 'Session identifier' },
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
response: {
|
|
82
|
+
200: {
|
|
83
|
+
type: 'object',
|
|
84
|
+
properties: {
|
|
85
|
+
target: { type: 'string' },
|
|
86
|
+
trikId: { type: 'string' },
|
|
87
|
+
summary: { type: 'string' },
|
|
88
|
+
sessionId: { type: 'string' },
|
|
89
|
+
message: { type: 'string' },
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
}, async (request) => {
|
|
95
|
+
const { sessionId } = request.body;
|
|
96
|
+
const activeHandoff = gateway.getActiveHandoff();
|
|
97
|
+
if (!activeHandoff) {
|
|
98
|
+
return { target: 'none', message: 'No active handoff' };
|
|
99
|
+
}
|
|
100
|
+
const result = await gateway.routeMessage('/back', sessionId);
|
|
101
|
+
return result;
|
|
102
|
+
});
|
|
103
|
+
// GET /api/v1/session — Get current handoff state
|
|
104
|
+
fastify.get('/api/v1/session', {
|
|
105
|
+
schema: {
|
|
106
|
+
tags: ['messages'],
|
|
107
|
+
summary: 'Get session state',
|
|
108
|
+
description: 'Returns the current active handoff state, if any.',
|
|
109
|
+
response: {
|
|
110
|
+
200: {
|
|
111
|
+
type: 'object',
|
|
112
|
+
properties: {
|
|
113
|
+
activeHandoff: {
|
|
114
|
+
type: ['object', 'null'],
|
|
115
|
+
properties: {
|
|
116
|
+
trikId: { type: 'string' },
|
|
117
|
+
sessionId: { type: 'string' },
|
|
118
|
+
turnCount: { type: 'number' },
|
|
119
|
+
},
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
},
|
|
125
|
+
}, async () => {
|
|
126
|
+
const activeHandoff = gateway.getActiveHandoff();
|
|
127
|
+
return { activeHandoff };
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/routes/message.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/routes/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/routes/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,wBAAsB,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC/F"}
|
package/dist/routes/tools.js
CHANGED
|
@@ -1,43 +1,32 @@
|
|
|
1
|
-
const toolDefinitionSchema = {
|
|
2
|
-
type: 'object',
|
|
3
|
-
properties: {
|
|
4
|
-
name: { type: 'string', description: 'Tool name in format trikId:actionName' },
|
|
5
|
-
description: { type: 'string' },
|
|
6
|
-
inputSchema: { type: 'object', additionalProperties: true, description: 'JSON Schema for tool input' },
|
|
7
|
-
responseMode: { type: 'string', enum: ['template', 'passthrough'] },
|
|
8
|
-
},
|
|
9
|
-
};
|
|
10
|
-
const trikInfoSchema = {
|
|
11
|
-
type: 'object',
|
|
12
|
-
properties: {
|
|
13
|
-
id: { type: 'string' },
|
|
14
|
-
name: { type: 'string' },
|
|
15
|
-
description: { type: 'string' },
|
|
16
|
-
sessionEnabled: { type: 'boolean' },
|
|
17
|
-
tools: { type: 'array', items: toolDefinitionSchema },
|
|
18
|
-
},
|
|
19
|
-
};
|
|
20
|
-
const toolsResponseSchema = {
|
|
21
|
-
type: 'object',
|
|
22
|
-
properties: {
|
|
23
|
-
tools: { type: 'array', items: toolDefinitionSchema },
|
|
24
|
-
triks: { type: 'array', items: trikInfoSchema },
|
|
25
|
-
},
|
|
26
|
-
};
|
|
27
1
|
export async function toolsRoutes(fastify, gateway) {
|
|
2
|
+
// GET /api/v1/tools — List handoff tool definitions
|
|
28
3
|
fastify.get('/api/v1/tools', {
|
|
29
4
|
schema: {
|
|
30
5
|
tags: ['tools'],
|
|
31
|
-
summary: 'List
|
|
32
|
-
description: 'Returns
|
|
6
|
+
summary: 'List handoff tools',
|
|
7
|
+
description: 'Returns handoff tool definitions for all loaded triks.',
|
|
33
8
|
response: {
|
|
34
|
-
200:
|
|
9
|
+
200: {
|
|
10
|
+
type: 'object',
|
|
11
|
+
properties: {
|
|
12
|
+
handoffTools: {
|
|
13
|
+
type: 'array',
|
|
14
|
+
items: {
|
|
15
|
+
type: 'object',
|
|
16
|
+
properties: {
|
|
17
|
+
name: { type: 'string' },
|
|
18
|
+
description: { type: 'string' },
|
|
19
|
+
inputSchema: { type: 'object' },
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
},
|
|
35
25
|
},
|
|
36
26
|
},
|
|
37
27
|
}, async () => {
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
return { tools, triks };
|
|
28
|
+
const handoffTools = gateway.getHandoffTools();
|
|
29
|
+
return { handoffTools };
|
|
41
30
|
});
|
|
42
31
|
}
|
|
43
32
|
//# sourceMappingURL=tools.js.map
|
package/dist/routes/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/routes/tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/routes/tools.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAwB,EAAE,OAAoB;IAC9E,oDAAoD;IACpD,OAAO,CAAC,GAAG,CACT,eAAe,EACf;QACE,MAAM,EAAE;YACN,IAAI,EAAE,CAAC,OAAO,CAAC;YACf,OAAO,EAAE,oBAAoB;YAC7B,WAAW,EAAE,wDAAwD;YACrE,QAAQ,EAAE;gBACR,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,YAAY,EAAE;4BACZ,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;gCACd,UAAU,EAAE;oCACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oCACxB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oCAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iCAChC;6BACF;yBACF;qBACF;iBACF;aACF;SACF;KACF,EACD,KAAK,IAAI,EAAE;QACT,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAC/C,OAAO,EAAE,YAAY,EAAE,CAAC;IAC1B,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/dist/routes/triks.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { FastifyInstance } from 'fastify';
|
|
2
2
|
import type { TrikGateway } from '@trikhub/gateway';
|
|
3
|
-
export declare function triksRoutes(fastify: FastifyInstance, gateway: TrikGateway, configPath?: string): Promise<void>;
|
|
3
|
+
export declare function triksRoutes(fastify: FastifyInstance, gateway: TrikGateway, configPath?: string, baseDir?: string): Promise<void>;
|
|
4
4
|
//# sourceMappingURL=triks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triks.d.ts","sourceRoot":"","sources":["../../src/routes/triks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"triks.d.ts","sourceRoot":"","sources":["../../src/routes/triks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AA0FpD,wBAAsB,WAAW,CAC/B,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,WAAW,EACpB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CA+Nf"}
|
package/dist/routes/triks.js
CHANGED
|
@@ -28,6 +28,10 @@ const listResponseSchema = {
|
|
|
28
28
|
properties: {
|
|
29
29
|
name: { type: 'string' },
|
|
30
30
|
version: { type: 'string' },
|
|
31
|
+
description: { type: 'string' },
|
|
32
|
+
mode: { type: 'string' },
|
|
33
|
+
domain: { type: 'array', items: { type: 'string' } },
|
|
34
|
+
tools: { type: 'array', items: { type: 'string' } },
|
|
31
35
|
},
|
|
32
36
|
},
|
|
33
37
|
},
|
|
@@ -41,7 +45,7 @@ const reloadResponseSchema = {
|
|
|
41
45
|
loaded: { type: 'number' },
|
|
42
46
|
},
|
|
43
47
|
};
|
|
44
|
-
export async function triksRoutes(fastify, gateway, configPath) {
|
|
48
|
+
export async function triksRoutes(fastify, gateway, configPath, baseDir) {
|
|
45
49
|
// List installed triks
|
|
46
50
|
fastify.get('/api/v1/triks', {
|
|
47
51
|
schema: {
|
|
@@ -54,13 +58,31 @@ export async function triksRoutes(fastify, gateway, configPath) {
|
|
|
54
58
|
},
|
|
55
59
|
}, async () => {
|
|
56
60
|
const triks = [];
|
|
61
|
+
// Get all loaded trik IDs from gateway
|
|
62
|
+
const loadedTrikIds = gateway.getLoadedTriks();
|
|
63
|
+
for (const trikId of loadedTrikIds) {
|
|
64
|
+
const manifest = gateway.getManifest(trikId);
|
|
65
|
+
if (manifest) {
|
|
66
|
+
triks.push({
|
|
67
|
+
name: manifest.id,
|
|
68
|
+
version: manifest.version,
|
|
69
|
+
description: manifest.description,
|
|
70
|
+
mode: manifest.agent.mode,
|
|
71
|
+
domain: manifest.agent.domain,
|
|
72
|
+
tools: manifest.tools ? Object.keys(manifest.tools) : [],
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// Also add triks from config that aren't loaded
|
|
57
77
|
if (configPath) {
|
|
58
78
|
try {
|
|
59
79
|
const configContent = await readFile(configPath, 'utf-8');
|
|
60
80
|
const config = JSON.parse(configContent);
|
|
61
81
|
if (Array.isArray(config.triks)) {
|
|
62
82
|
for (const name of config.triks) {
|
|
63
|
-
triks.
|
|
83
|
+
if (!triks.some(t => t.name === name)) {
|
|
84
|
+
triks.push({ name });
|
|
85
|
+
}
|
|
64
86
|
}
|
|
65
87
|
}
|
|
66
88
|
}
|
|
@@ -100,15 +122,18 @@ export async function triksRoutes(fastify, gateway, configPath) {
|
|
|
100
122
|
});
|
|
101
123
|
}
|
|
102
124
|
try {
|
|
103
|
-
// Run trik install command
|
|
125
|
+
// Run trik install command from baseDir (where package.json lives)
|
|
126
|
+
const installCwd = baseDir || '/app';
|
|
104
127
|
const { stdout, stderr } = await execAsync(`trik install ${packageName}`, {
|
|
105
128
|
timeout: 120000, // 2 minute timeout
|
|
106
|
-
cwd:
|
|
129
|
+
cwd: installCwd,
|
|
107
130
|
});
|
|
108
131
|
fastify.log.info({ stdout, stderr }, `Installed trik: ${packageName}`);
|
|
109
132
|
// Reload skills after install
|
|
133
|
+
// baseDir must be /app (or /data) where package.json and node_modules live,
|
|
134
|
+
// not dirname(configPath) which would be /data/.trikhub/
|
|
110
135
|
if (configPath) {
|
|
111
|
-
await gateway.loadTriksFromConfig({ configPath });
|
|
136
|
+
await gateway.loadTriksFromConfig({ configPath, baseDir });
|
|
112
137
|
}
|
|
113
138
|
return {
|
|
114
139
|
success: true,
|
|
@@ -138,6 +163,11 @@ export async function triksRoutes(fastify, gateway, configPath) {
|
|
|
138
163
|
name: { type: 'string', description: 'Package name to uninstall' },
|
|
139
164
|
},
|
|
140
165
|
},
|
|
166
|
+
// Allow empty body (some clients send Content-Type: application/json with no body)
|
|
167
|
+
body: {
|
|
168
|
+
type: 'object',
|
|
169
|
+
additionalProperties: true,
|
|
170
|
+
},
|
|
141
171
|
response: {
|
|
142
172
|
200: installResponseSchema,
|
|
143
173
|
500: installResponseSchema,
|
|
@@ -146,15 +176,15 @@ export async function triksRoutes(fastify, gateway, configPath) {
|
|
|
146
176
|
}, async (request, reply) => {
|
|
147
177
|
const { name } = request.params;
|
|
148
178
|
try {
|
|
179
|
+
const uninstallCwd = baseDir || '/app';
|
|
149
180
|
const { stdout, stderr } = await execAsync(`trik uninstall ${name}`, {
|
|
150
181
|
timeout: 60000,
|
|
151
|
-
cwd:
|
|
182
|
+
cwd: uninstallCwd,
|
|
152
183
|
});
|
|
153
184
|
fastify.log.info({ stdout, stderr }, `Uninstalled trik: ${name}`);
|
|
154
|
-
//
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
}
|
|
185
|
+
// Unload trik from gateway memory
|
|
186
|
+
gateway.unloadTrik(name);
|
|
187
|
+
fastify.log.info(`Unloaded trik from memory: ${name}`);
|
|
158
188
|
return {
|
|
159
189
|
success: true,
|
|
160
190
|
message: `Successfully uninstalled ${name}`,
|
|
@@ -174,8 +204,8 @@ export async function triksRoutes(fastify, gateway, configPath) {
|
|
|
174
204
|
fastify.post('/api/v1/triks/reload', {
|
|
175
205
|
schema: {
|
|
176
206
|
tags: ['triks'],
|
|
177
|
-
summary: 'Reload
|
|
178
|
-
description: 'Reloads all
|
|
207
|
+
summary: 'Reload triks',
|
|
208
|
+
description: 'Reloads all triks from the config without restarting the server',
|
|
179
209
|
response: {
|
|
180
210
|
200: reloadResponseSchema,
|
|
181
211
|
500: reloadResponseSchema,
|
|
@@ -185,7 +215,7 @@ export async function triksRoutes(fastify, gateway, configPath) {
|
|
|
185
215
|
try {
|
|
186
216
|
let loaded = 0;
|
|
187
217
|
if (configPath) {
|
|
188
|
-
const manifests = await gateway.loadTriksFromConfig({ configPath });
|
|
218
|
+
const manifests = await gateway.loadTriksFromConfig({ configPath, baseDir });
|
|
189
219
|
loaded = manifests.length;
|
|
190
220
|
}
|
|
191
221
|
return {
|
package/dist/routes/triks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triks.js","sourceRoot":"","sources":["../../src/routes/triks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"triks.js","sourceRoot":"","sources":["../../src/routes/triks.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AAIxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AAIxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAUhD,wBAAsB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAkGvG"}
|
package/dist/server.js
CHANGED
|
@@ -3,9 +3,8 @@ import fastifySwagger from '@fastify/swagger';
|
|
|
3
3
|
import fastifySwaggerUI from '@fastify/swagger-ui';
|
|
4
4
|
import { createRequire } from 'module';
|
|
5
5
|
import { healthRoutes } from './routes/health.js';
|
|
6
|
+
import { messageRoutes } from './routes/message.js';
|
|
6
7
|
import { toolsRoutes } from './routes/tools.js';
|
|
7
|
-
import { executeRoutes } from './routes/execute.js';
|
|
8
|
-
import { contentRoutes } from './routes/content.js';
|
|
9
8
|
import { triksRoutes } from './routes/triks.js';
|
|
10
9
|
// Read version from package.json
|
|
11
10
|
const require = createRequire(import.meta.url);
|
|
@@ -16,13 +15,29 @@ export async function createServer(config, gateway) {
|
|
|
16
15
|
level: config.logLevel,
|
|
17
16
|
},
|
|
18
17
|
});
|
|
18
|
+
// Override default JSON parser to allow empty bodies
|
|
19
|
+
// Some clients (like Home Assistant) send Content-Type: application/json with no body
|
|
20
|
+
fastify.removeContentTypeParser('application/json');
|
|
21
|
+
fastify.addContentTypeParser('application/json', { parseAs: 'string' }, (_req, body, done) => {
|
|
22
|
+
if (!body || body === '') {
|
|
23
|
+
done(null, {});
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
try {
|
|
27
|
+
const json = JSON.parse(body);
|
|
28
|
+
done(null, json);
|
|
29
|
+
}
|
|
30
|
+
catch (err) {
|
|
31
|
+
done(err, undefined);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
19
34
|
// Register OpenAPI documentation
|
|
20
35
|
await fastify.register(fastifySwagger, {
|
|
21
36
|
openapi: {
|
|
22
37
|
openapi: '3.1.0',
|
|
23
38
|
info: {
|
|
24
39
|
title: 'Trik Gateway API',
|
|
25
|
-
description: 'HTTP API for
|
|
40
|
+
description: 'HTTP API for trik gateway',
|
|
26
41
|
version: pkg.version,
|
|
27
42
|
},
|
|
28
43
|
servers: [
|
|
@@ -43,9 +58,8 @@ export async function createServer(config, gateway) {
|
|
|
43
58
|
security: config.authToken ? [{ bearerAuth: [] }] : [],
|
|
44
59
|
tags: [
|
|
45
60
|
{ name: 'health', description: 'Health check endpoints' },
|
|
46
|
-
{ name: '
|
|
47
|
-
{ name: '
|
|
48
|
-
{ name: 'content', description: 'Passthrough content delivery' },
|
|
61
|
+
{ name: 'messages', description: 'Message routing and handoff management' },
|
|
62
|
+
{ name: 'tools', description: 'Handoff tool definitions' },
|
|
49
63
|
{ name: 'triks', description: 'Trik package management' },
|
|
50
64
|
],
|
|
51
65
|
},
|
|
@@ -83,10 +97,9 @@ export async function createServer(config, gateway) {
|
|
|
83
97
|
}
|
|
84
98
|
// Register routes
|
|
85
99
|
await healthRoutes(fastify, gateway);
|
|
100
|
+
await messageRoutes(fastify, gateway);
|
|
86
101
|
await toolsRoutes(fastify, gateway);
|
|
87
|
-
await
|
|
88
|
-
await contentRoutes(fastify, gateway);
|
|
89
|
-
await triksRoutes(fastify, gateway, config.configPath);
|
|
102
|
+
await triksRoutes(fastify, gateway, config.configPath, config.baseDir);
|
|
90
103
|
return fastify;
|
|
91
104
|
}
|
|
92
105
|
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAiC,MAAM,SAAS,CAAC;AACxD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAGvC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ export interface SkillLoaderConfig {
|
|
|
5
5
|
skillsDirectory?: string;
|
|
6
6
|
/** Path to .trikhub/config.json for loading npm-installed skills */
|
|
7
7
|
configPath?: string;
|
|
8
|
+
/** Base directory for resolving node_modules. Defaults to dirname of configPath. */
|
|
9
|
+
baseDir?: string;
|
|
8
10
|
/** Path to .trikhub/secrets.json. If not set, derives from configPath or uses cwd. */
|
|
9
11
|
secretsPath?: string;
|
|
10
12
|
lintBeforeLoad: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-loader.d.ts","sourceRoot":"","sources":["../../src/services/skill-loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAmB,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAiB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE5E,MAAM,WAAW,iBAAiB;IAChC,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,MAAM,CAAoB;gBAEtB,MAAM,EAAE,iBAAiB;IA0BrC,UAAU,IAAI,WAAW;IAInB,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAiCnC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAkCtD,eAAe,IAAI,OAAO,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"skill-loader.d.ts","sourceRoot":"","sources":["../../src/services/skill-loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAmB,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAiB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE5E,MAAM,WAAW,iBAAiB;IAChC,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,MAAM,CAAoB;gBAEtB,MAAM,EAAE,iBAAiB;IA0BrC,UAAU,IAAI,WAAW;IAInB,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAiCnC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAkCtD,eAAe,IAAI,OAAO,CAAC,UAAU,CAAC;CAwD7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-loader.js","sourceRoot":"","sources":["../../src/services/skill-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAyB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"skill-loader.js","sourceRoot":"","sources":["../../src/services/skill-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAyB,MAAM,sBAAsB,CAAC;AA8B5E,MAAM,OAAO,WAAW;IACd,OAAO,CAAc;IACrB,SAAS,CAAgB;IACzB,MAAM,CAAoB;IAElC,YAAY,MAAyB;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,6EAA6E;QAC7E,IAAI,gBAAoC,CAAC;QACzC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC;QACxC,CAAC;aAAM,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAC7B,wDAAwD;YACxD,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC;QACtE,CAAC;QAED,yDAAyD;QACzD,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC;YACtC,gBAAgB;SACjB,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,CAAC;YAC7B,YAAY,EAAE,MAAM,CAAC,aAAa;YAClC,WAAW;SACZ,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,IAAI,aAAa,CAAC;YACjC,gBAAgB,EAAE,MAAM,CAAC,oBAAoB;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACrD,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAEhE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;oBAChE,IAAI,CAAC;wBACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC;wBAC9C,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;4BAC1B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC7C,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,2CAA2C;oBAC7C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,oCAAoC,OAAO,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC5G,CAAC;QACJ,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAiB;QAC/B,MAAM,MAAM,GAAoB;YAC9B,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,QAAQ;SACjB,CAAC;QAEF,qCAAqC;QACrC,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC5D,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;gBAE/B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;oBACtB,MAAM,CAAC,KAAK,GAAG,oBAAoB,UAAU,CAAC,OAAO,EAAE,CAAC;oBACxD,OAAO,MAAM,CAAC;gBAChB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,GAAG,kBAAkB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;gBAC5F,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACxD,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,GAAG,eAAe,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;QAC3F,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,iEAAiE;QACjE,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC/C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;oBACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;oBAC/C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAEpB,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;wBAC/B,MAAM,EAAE,CAAC;oBACX,CAAC;yBAAM,CAAC;wBACN,MAAM,EAAE,CAAC;oBACX,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gEAAgE;gBAChE,8CAA8C;gBAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;oBAC5B,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;oBACvD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;oBAClC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;iBAC7B,CAAC,CAAC;gBACH,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,OAAO,QAAQ,CAAC,EAAE,EAAE;wBAC1B,OAAO,EAAE,QAAQ,CAAC,EAAE;wBACpB,MAAM,EAAE,QAAQ;qBACjB,CAAC,CAAC;oBACH,MAAM,EAAE,CAAC;gBACX,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wBAAwB;gBACxB,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;oBAC5B,MAAM,EAAE,QAAQ;oBAChB,KAAK,EAAE,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE;iBACxF,CAAC,CAAC;gBACH,MAAM,EAAE,CAAC;YACX,CAAC;QACH,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACpC,CAAC;CACF"}
|
package/dist/trik-server.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ export interface TrikServerOptions {
|
|
|
15
15
|
host?: string;
|
|
16
16
|
/** Path to .trikhub/config.json for loading npm-installed triks */
|
|
17
17
|
configPath?: string;
|
|
18
|
+
/** Base directory for resolving node_modules. Defaults to dirname of configPath. */
|
|
19
|
+
baseDir?: string;
|
|
18
20
|
/** Directory containing local trik files */
|
|
19
21
|
skillsDirectory?: string;
|
|
20
22
|
/** Path to secrets.json (derived from configPath if not set) */
|
|
@@ -30,17 +32,6 @@ export interface TrikServerOptions {
|
|
|
30
32
|
/** Allowlist of trik IDs (optional) */
|
|
31
33
|
allowedSkills?: string[];
|
|
32
34
|
}
|
|
33
|
-
/**
|
|
34
|
-
* Events emitted by TrikServer
|
|
35
|
-
*/
|
|
36
|
-
export interface TrikServerEvents {
|
|
37
|
-
initialized: () => void;
|
|
38
|
-
started: (url: string) => void;
|
|
39
|
-
stopped: () => void;
|
|
40
|
-
error: (error: Error) => void;
|
|
41
|
-
trikLoaded: (trikId: string) => void;
|
|
42
|
-
trikFailed: (trikId: string, error: string) => void;
|
|
43
|
-
}
|
|
44
35
|
/**
|
|
45
36
|
* TrikServer - HTTP server for TrikHub skill execution
|
|
46
37
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trik-server.d.ts","sourceRoot":"","sources":["../src/trik-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"trik-server.d.ts","sourceRoot":"","sources":["../src/trik-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE1E;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,4CAA4C;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAE/C,gDAAgD;IAChD,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,qDAAqD;IACrD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGJ;IAEpB,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,OAAO,CAAgC;IAC/C,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,UAAU,CAA2B;gBAEjC,OAAO,GAAE,iBAAsB;IAW3C;;OAEG;IACH,IAAI,KAAK,IAAI,WAAW,CAEvB;IAED;;OAEG;IACH,IAAI,GAAG,IAAI,MAAM,GAAG,IAAI,CAGvB;IAED;;OAEG;IACH,UAAU,IAAI,WAAW,GAAG,IAAI;IAIhC;;OAEG;IACH,UAAU,IAAI,eAAe,GAAG,IAAI;IAIpC;;OAEG;IACH,aAAa,IAAI,UAAU,GAAG,IAAI;IAIlC;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAqEjC;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAe5B;;OAEG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAK1B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB3B;;;OAGG;IACH,sBAAsB,IAAI,IAAI;CAY/B"}
|
package/dist/trik-server.js
CHANGED
|
@@ -88,13 +88,14 @@ export class TrikServer {
|
|
|
88
88
|
this.skillLoader = new SkillLoader({
|
|
89
89
|
skillsDirectory: this.options.skillsDirectory,
|
|
90
90
|
configPath: this.options.configPath,
|
|
91
|
+
baseDir: this.options.baseDir,
|
|
91
92
|
secretsPath: this.options.secretsPath,
|
|
92
93
|
lintBeforeLoad: this.options.lintOnLoad,
|
|
93
94
|
lintWarningsAsErrors: this.options.lintWarningsAsErrors,
|
|
94
95
|
allowedSkills: this.options.allowedSkills,
|
|
95
96
|
});
|
|
96
97
|
this.gateway = this.skillLoader.getGateway();
|
|
97
|
-
// Load secrets (
|
|
98
|
+
// Load secrets before discovering triks (config values may be needed at load time)
|
|
98
99
|
const configStore = this.gateway.getConfigStore();
|
|
99
100
|
await configStore.load();
|
|
100
101
|
const configuredTriks = configStore.getConfiguredTriks();
|
|
@@ -107,6 +108,7 @@ export class TrikServer {
|
|
|
107
108
|
host: this.options.host,
|
|
108
109
|
skillsDirectory: this.options.skillsDirectory,
|
|
109
110
|
configPath: this.options.configPath,
|
|
111
|
+
baseDir: this.options.baseDir,
|
|
110
112
|
allowedSkills: this.options.allowedSkills,
|
|
111
113
|
lintOnLoad: this.options.lintOnLoad,
|
|
112
114
|
lintWarningsAsErrors: this.options.lintWarningsAsErrors,
|
package/dist/trik-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trik-server.js","sourceRoot":"","sources":["../src/trik-server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"trik-server.js","sourceRoot":"","sources":["../src/trik-server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAmB,MAAM,4BAA4B,CAAC;AA6C1E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,OAAO,UAAU;IACJ,OAAO,CAGJ;IAEZ,WAAW,GAAuB,IAAI,CAAC;IACvC,OAAO,GAAuB,IAAI,CAAC;IACnC,OAAO,GAA2B,IAAI,CAAC;IACvC,MAAM,GAAgB,SAAS,CAAC;IAChC,UAAU,GAAsB,IAAI,CAAC;IAE7C,YAAY,UAA6B,EAAE;QACzC,IAAI,CAAC,OAAO,GAAG;YACb,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,MAAM;YAChB,UAAU,EAAE,IAAI;YAChB,oBAAoB,EAAE,KAAK;YAC3B,GAAG,OAAO;SACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,GAAG;QACL,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAC3C,OAAO,UAAU,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAC,MAAM,8BAA8B,CAAC,CAAC;QACjG,CAAC;QAED,+DAA+D;QAC/D,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC;YACjC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe;YAC7C,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;YACnC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;YAC7B,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;YACrC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;YACvC,oBAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,oBAAoB;YACvD,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;SAC1C,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QAE7C,mFAAmF;QACnF,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAClD,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;QAEzB,MAAM,eAAe,GAAG,WAAW,CAAC,kBAAkB,EAAE,CAAC;QACzD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9E,CAAC;QAED,wBAAwB;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,YAAY,CAC/B;YACE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe;YAC7C,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;YACnC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;YAC7B,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;YACzC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;YACnC,oBAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,oBAAoB;YACvD,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;SAChC,EACD,IAAI,CAAC,OAAO,CACb,CAAC;QAEF,0BAA0B;QAC1B,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QAE3D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CACnB;YACE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;YAC9B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;SAC/B,EACD,0BAA0B,CAC3B,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CACnB,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAC/D,qBAAqB,CACtB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,MAAM,kCAAkC,CAAC,CAAC;QAChG,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,kBAAkB,CAAC,CAAC;QAE7D,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,kBAAkB;QAC5B,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC5C,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1C,CAAC;QAED,oCAAoC;QACpC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,sBAAsB;QACpB,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;YACxC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,0BAA0B,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjD,CAAC;CACF"}
|