@axiom-lattice/gateway 3.0.2 → 3.0.3
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/index.js +31 -9
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +31 -9
- package/dist/index.mjs.map +1 -1
- package/package.json +9 -6
- package/.eslintrc.json +0 -22
- package/.turbo/turbo-build.log +0 -46
- package/AGENTS.md +0 -112
- package/CHANGELOG.md +0 -1190
- package/LOGGER_CONFIG.md +0 -135
- package/RESUME_STREAM_CONTENT_BASED.md +0 -326
- package/RESUME_STREAM_README.md +0 -388
- package/jest.config.js +0 -72
- package/public/sdk/README.md +0 -695
- package/public/sdk/dashboard-engine-skill.md +0 -1122
- package/public/sdk/dashboard-single-file-spec.md +0 -357
- package/public/sdk/data-query-sdk-skill.md +0 -307
- package/public/sdk/data-query-sdk.d.ts +0 -252
- package/public/sdk/data-query-sdk.js +0 -970
- package/public/sdk/occupancy-dashboard.html +0 -363
- package/public/sdk/test-dashboard.html +0 -690
- package/scripts/seed-lark-installation.ts +0 -54
- package/src/__tests__/__mocks__/e2b.ts +0 -1
- package/src/__tests__/a2a.test.ts +0 -428
- package/src/__tests__/channel-installations.test.ts +0 -199
- package/src/__tests__/data-query.test.ts +0 -77
- package/src/__tests__/sandbox-provider-registration.test.ts +0 -74
- package/src/__tests__/setup.ts +0 -5
- package/src/__tests__/workspace.test.ts +0 -400
- package/src/channels/__tests__/routes.test.ts +0 -50
- package/src/channels/lark/LarkChannelAdapter.ts +0 -217
- package/src/channels/lark/README.md +0 -187
- package/src/channels/lark/__tests__/controller.test.ts +0 -136
- package/src/channels/lark/__tests__/mapping-service.test.ts +0 -118
- package/src/channels/lark/__tests__/parser.test.ts +0 -72
- package/src/channels/lark/__tests__/sender.test.ts +0 -37
- package/src/channels/lark/__tests__/verification.test.ts +0 -157
- package/src/channels/lark/controller.ts +0 -48
- package/src/channels/lark/mapping-service.ts +0 -138
- package/src/channels/lark/parser.ts +0 -68
- package/src/channels/lark/routes.ts +0 -22
- package/src/channels/lark/sender.ts +0 -58
- package/src/channels/lark/types.ts +0 -20
- package/src/channels/lark/verification.ts +0 -32
- package/src/channels/registry.ts +0 -20
- package/src/channels/routes.ts +0 -30
- package/src/channels/wechat/WechatChannelAdapter.ts +0 -294
- package/src/channels/wechat/__tests__/context-store.test.ts +0 -148
- package/src/channels/wechat/context-store.ts +0 -54
- package/src/channels/wechat/controller.ts +0 -59
- package/src/channels/wechat/routes.ts +0 -7
- package/src/channels/wechat/types.ts +0 -62
- package/src/channels/wechat/wechat-client.ts +0 -162
- package/src/config/local-a2a-templates.ts +0 -59
- package/src/config.ts +0 -124
- package/src/controllers/__tests__/assistant-local-a2a.test.ts +0 -147
- package/src/controllers/__tests__/local-a2a-templates.test.ts +0 -112
- package/src/controllers/__tests__/mime.test.ts +0 -74
- package/src/controllers/__tests__/resources.test.ts +0 -122
- package/src/controllers/__tests__/run.test.ts +0 -115
- package/src/controllers/__tests__/tasks.test.ts +0 -215
- package/src/controllers/__tests__/workflow-tracking.test.ts +0 -113
- package/src/controllers/agent_task.ts +0 -72
- package/src/controllers/assistant.ts +0 -490
- package/src/controllers/auth.ts +0 -524
- package/src/controllers/channel-bindings.ts +0 -135
- package/src/controllers/channel-installations.ts +0 -409
- package/src/controllers/collections.ts +0 -176
- package/src/controllers/config.ts +0 -126
- package/src/controllers/connections.ts +0 -181
- package/src/controllers/data-query.ts +0 -236
- package/src/controllers/database-configs.ts +0 -440
- package/src/controllers/embeddings.ts +0 -22
- package/src/controllers/entries.ts +0 -167
- package/src/controllers/eval.ts +0 -513
- package/src/controllers/export-import.ts +0 -166
- package/src/controllers/health.ts +0 -36
- package/src/controllers/local-a2a-templates.ts +0 -18
- package/src/controllers/local-a2a.ts +0 -149
- package/src/controllers/mcp-configs.ts +0 -673
- package/src/controllers/memory.ts +0 -257
- package/src/controllers/menu-items.ts +0 -114
- package/src/controllers/metrics-configs.ts +0 -1061
- package/src/controllers/middleware-types.ts +0 -15
- package/src/controllers/models.ts +0 -199
- package/src/controllers/personal-assistant.ts +0 -191
- package/src/controllers/resources.ts +0 -477
- package/src/controllers/run.ts +0 -338
- package/src/controllers/sandbox.ts +0 -255
- package/src/controllers/schedules.ts +0 -336
- package/src/controllers/skills.ts +0 -256
- package/src/controllers/tasks.ts +0 -213
- package/src/controllers/tenants.ts +0 -121
- package/src/controllers/thread_status.ts +0 -66
- package/src/controllers/threads.ts +0 -260
- package/src/controllers/tools.ts +0 -139
- package/src/controllers/users.ts +0 -135
- package/src/controllers/workflow-tracking.ts +0 -693
- package/src/controllers/workspace.ts +0 -879
- package/src/export_registrations/a2a-api-key.registration.ts +0 -89
- package/src/export_registrations/agent.registration.ts +0 -80
- package/src/export_registrations/binding.registration.ts +0 -106
- package/src/export_registrations/channel-installation.registration.ts +0 -88
- package/src/export_registrations/collection.registration.ts +0 -85
- package/src/export_registrations/connection.registration.ts +0 -97
- package/src/export_registrations/database-config.registration.ts +0 -94
- package/src/export_registrations/eval.registration.ts +0 -334
- package/src/export_registrations/index.ts +0 -31
- package/src/export_registrations/mcp-config.registration.ts +0 -97
- package/src/export_registrations/menu.registration.ts +0 -91
- package/src/export_registrations/metrics-config.registration.ts +0 -94
- package/src/export_registrations/skill.registration.ts +0 -88
- package/src/export_registrations/task.registration.ts +0 -99
- package/src/index.ts +0 -497
- package/src/logger/Logger.ts +0 -186
- package/src/router/MessageContext.ts +0 -14
- package/src/router/MessageRouter.ts +0 -490
- package/src/router/middlewares/auditLogger.ts +0 -34
- package/src/router/middlewares/deduplication.ts +0 -38
- package/src/router/middlewares/index.ts +0 -3
- package/src/router/middlewares/rateLimit.ts +0 -46
- package/src/routes/__tests__/a2a-test-connection.test.ts +0 -177
- package/src/routes/a2a-bridge.ts +0 -266
- package/src/routes/a2a-test-connection.ts +0 -126
- package/src/routes/a2a.ts +0 -851
- package/src/routes/channel-bindings.ts +0 -11
- package/src/routes/channel-installations.ts +0 -33
- package/src/routes/index.ts +0 -640
- package/src/routes/menu-items.ts +0 -10
- package/src/routes/resource-routes.ts +0 -35
- package/src/routes/stt.ts +0 -102
- package/src/schemas/data-query.ts +0 -69
- package/src/schemas/index.ts +0 -852
- package/src/services/ExportImportService.ts +0 -296
- package/src/services/__tests__/ExportImportService.test.ts +0 -130
- package/src/services/__tests__/eval-runner.test.ts +0 -131
- package/src/services/__tests__/local-a2a.test.ts +0 -124
- package/src/services/agent_task_consumer.ts +0 -348
- package/src/services/collection_service.ts +0 -258
- package/src/services/eval-runner.ts +0 -283
- package/src/services/local-a2a.ts +0 -354
- package/src/services/queue_service.ts +0 -104
- package/src/services/sandbox_service.ts +0 -223
- package/src/services/skill_service.ts +0 -97
- package/src/services/supabase.ts +0 -60
- package/src/swagger.ts +0 -77
- package/src/types/index.ts +0 -118
- package/src/types/koa.d.ts +0 -7
- package/src/utils/__tests__/local-a2a-runtime.test.ts +0 -77
- package/src/utils/__tests__/path-containment.test.ts +0 -35
- package/src/utils/a2a-url.ts +0 -20
- package/src/utils/local-a2a-runtime.ts +0 -107
- package/src/utils/mime.ts +0 -44
- package/src/utils/path-containment.ts +0 -38
- package/tsconfig.json +0 -26
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { FastifyInstance } from "fastify";
|
|
2
|
-
import { ResourceController } from "../controllers/resources";
|
|
3
|
-
|
|
4
|
-
export function registerResourceRoutes(
|
|
5
|
-
app: FastifyInstance,
|
|
6
|
-
controller: ResourceController
|
|
7
|
-
) {
|
|
8
|
-
// Public share access — MUST be before /api/** wildcard routes
|
|
9
|
-
app.get("/s/:token", controller.resolveResource.bind(controller));
|
|
10
|
-
app.get("/s/:token/*", controller.resolveResource.bind(controller));
|
|
11
|
-
app.post("/s/:token/*", controller.resolveResource.bind(controller));
|
|
12
|
-
app.put("/s/:token/*", controller.resolveResource.bind(controller));
|
|
13
|
-
app.delete("/s/:token/*", controller.resolveResource.bind(controller));
|
|
14
|
-
app.post("/s/:token/unlock", controller.unlockShare.bind(controller));
|
|
15
|
-
app.options("/s/:token", async (_req, reply) => {
|
|
16
|
-
reply.header("Access-Control-Allow-Origin", "*");
|
|
17
|
-
reply.header("Access-Control-Allow-Methods", "GET, OPTIONS, POST");
|
|
18
|
-
reply.header("Access-Control-Allow-Headers", "Content-Type");
|
|
19
|
-
return reply.status(204).send();
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
// Internal file access: /f/{tenant}/{workspace}/{project}/*
|
|
23
|
-
const dirFile = controller.resolveDirectFile.bind(controller);
|
|
24
|
-
app.get("/f/:tid/:wid/:pid", dirFile);
|
|
25
|
-
app.get("/f/:tid/:wid/:pid/*", dirFile);
|
|
26
|
-
app.post("/f/:tid/:wid/:pid/*", dirFile);
|
|
27
|
-
app.put("/f/:tid/:wid/:pid/*", dirFile);
|
|
28
|
-
app.delete("/f/:tid/:wid/:pid/*", dirFile);
|
|
29
|
-
|
|
30
|
-
// Management API
|
|
31
|
-
app.post("/api/resources/share", controller.createShare.bind(controller));
|
|
32
|
-
app.get("/api/resources/shares", controller.listShares.bind(controller));
|
|
33
|
-
app.patch("/api/resources/share/:token", controller.updateShare.bind(controller));
|
|
34
|
-
app.delete("/api/resources/share/:token", controller.revokeShare.bind(controller));
|
|
35
|
-
}
|
package/src/routes/stt.ts
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { FastifyInstance } from "fastify";
|
|
2
|
-
import { getSTTClient, sttModelLatticeManager } from "@axiom-lattice/core";
|
|
3
|
-
|
|
4
|
-
const ALLOWED_AUDIO_FORMATS = new Set([
|
|
5
|
-
"webm",
|
|
6
|
-
"wav",
|
|
7
|
-
"mp3",
|
|
8
|
-
"m4a",
|
|
9
|
-
"ogg",
|
|
10
|
-
"flac",
|
|
11
|
-
"aac",
|
|
12
|
-
]);
|
|
13
|
-
|
|
14
|
-
const MAX_AUDIO_FILE_SIZE = 25 * 1024 * 1024;
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Register STT (speech-to-text) transcription route.
|
|
18
|
-
*
|
|
19
|
-
* POST /api/stt/transcribe
|
|
20
|
-
* Content-Type: multipart/form-data
|
|
21
|
-
* Body: { file: File }
|
|
22
|
-
* Query: ?model=default
|
|
23
|
-
* Response: { text: string, confidence?: number }
|
|
24
|
-
*/
|
|
25
|
-
export const registerSTTRoutes = (app: FastifyInstance): void => {
|
|
26
|
-
// List registered STT models
|
|
27
|
-
app.get("/api/stt/models", async (_request, reply) => {
|
|
28
|
-
const models = sttModelLatticeManager.getAllSTTModelInfo();
|
|
29
|
-
return reply.send({ models });
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
app.post<{ Querystring: { model?: string } }>(
|
|
33
|
-
"/api/stt/transcribe",
|
|
34
|
-
{
|
|
35
|
-
schema: {
|
|
36
|
-
querystring: {
|
|
37
|
-
type: "object",
|
|
38
|
-
properties: {
|
|
39
|
-
model: { type: "string" },
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
response: {
|
|
43
|
-
200: {
|
|
44
|
-
type: "object",
|
|
45
|
-
properties: {
|
|
46
|
-
text: { type: "string" },
|
|
47
|
-
confidence: { type: "number" },
|
|
48
|
-
},
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
async (request, reply) => {
|
|
54
|
-
const modelKey = request.query.model || "default";
|
|
55
|
-
const data = await request.file({
|
|
56
|
-
limits: { fileSize: MAX_AUDIO_FILE_SIZE },
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
if (!data) {
|
|
60
|
-
return reply.status(400).send({ error: "No audio file provided" });
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
const buffer = await data.toBuffer();
|
|
64
|
-
if (buffer.length === 0) {
|
|
65
|
-
return reply.status(400).send({ error: "Empty audio file" });
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
const format = (data.filename.split(".").pop() || "webm").toLowerCase();
|
|
69
|
-
|
|
70
|
-
if (!ALLOWED_AUDIO_FORMATS.has(format)) {
|
|
71
|
-
return reply
|
|
72
|
-
.status(400)
|
|
73
|
-
.send({ error: `Unsupported audio format: ${format}` });
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
try {
|
|
77
|
-
let client;
|
|
78
|
-
try {
|
|
79
|
-
client = getSTTClient(modelKey);
|
|
80
|
-
} catch {
|
|
81
|
-
return reply.status(404).send({ error: `STT model "${modelKey}" not found` });
|
|
82
|
-
}
|
|
83
|
-
const result = await client.transcribe(buffer, format);
|
|
84
|
-
|
|
85
|
-
return reply.send({
|
|
86
|
-
text: result.text,
|
|
87
|
-
confidence: result.confidence,
|
|
88
|
-
});
|
|
89
|
-
} catch (error: unknown) {
|
|
90
|
-
const sanitizedMessage =
|
|
91
|
-
error instanceof Error ? error.message : "Transcription failed";
|
|
92
|
-
request.log.error(
|
|
93
|
-
{ error: sanitizedMessage },
|
|
94
|
-
"STT transcription failed",
|
|
95
|
-
);
|
|
96
|
-
return reply
|
|
97
|
-
.status(500)
|
|
98
|
-
.send({ error: "Transcription service error. Please try again." });
|
|
99
|
-
}
|
|
100
|
-
},
|
|
101
|
-
);
|
|
102
|
-
};
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { FastifySchema } from "fastify";
|
|
2
|
-
|
|
3
|
-
export const dataQuerySchema: FastifySchema = {
|
|
4
|
-
description: "Execute data query (semantic or SQL)",
|
|
5
|
-
tags: ["Data Query"],
|
|
6
|
-
summary: "Query Data",
|
|
7
|
-
body: {
|
|
8
|
-
type: "object",
|
|
9
|
-
properties: {
|
|
10
|
-
serverKey: {
|
|
11
|
-
type: "string",
|
|
12
|
-
description: "Target semantic metrics server key (optional if configured in runConfig)"
|
|
13
|
-
},
|
|
14
|
-
datasourceId: {
|
|
15
|
-
type: "string",
|
|
16
|
-
description: "Data source ID (optional if configured in runConfig)"
|
|
17
|
-
},
|
|
18
|
-
// Semantic query parameters
|
|
19
|
-
metrics: {
|
|
20
|
-
type: "array",
|
|
21
|
-
items: { type: "string" },
|
|
22
|
-
description: "Array of metric names for semantic query"
|
|
23
|
-
},
|
|
24
|
-
groupBy: {
|
|
25
|
-
type: "array",
|
|
26
|
-
items: { type: "string" },
|
|
27
|
-
description: "Optional array of dimensions to group by"
|
|
28
|
-
},
|
|
29
|
-
filters: {
|
|
30
|
-
type: "array",
|
|
31
|
-
items: {
|
|
32
|
-
type: "object",
|
|
33
|
-
properties: {
|
|
34
|
-
dimension: { type: "string" },
|
|
35
|
-
operator: { type: "string" },
|
|
36
|
-
values: {
|
|
37
|
-
type: "array",
|
|
38
|
-
items: { type: ["string", "number", "boolean"] }
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
|
-
required: ["dimension", "operator", "values"]
|
|
42
|
-
},
|
|
43
|
-
description: "Optional array of filters"
|
|
44
|
-
},
|
|
45
|
-
// SQL query parameters
|
|
46
|
-
customSql: {
|
|
47
|
-
type: "string",
|
|
48
|
-
description: "Custom SQL query string with named parameters"
|
|
49
|
-
},
|
|
50
|
-
params: {
|
|
51
|
-
type: "object",
|
|
52
|
-
additionalProperties: { type: ["string", "number", "boolean"] },
|
|
53
|
-
description: "Optional parameters for SQL query"
|
|
54
|
-
},
|
|
55
|
-
// Common parameters
|
|
56
|
-
limit: {
|
|
57
|
-
type: "number",
|
|
58
|
-
description: "Maximum number of results (default: 1000)"
|
|
59
|
-
},
|
|
60
|
-
format: {
|
|
61
|
-
type: "string",
|
|
62
|
-
enum: ["echarts", "raw"],
|
|
63
|
-
description: "Response format (default: echarts)"
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
},
|
|
67
|
-
// Response schema temporarily removed - format not yet finalized
|
|
68
|
-
// TODO: Add proper response schema once data format is confirmed
|
|
69
|
-
};
|