@monoes/routing 1.0.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/capability-index.d.ts +15 -0
- package/dist/capability-index.d.ts.map +1 -0
- package/dist/capability-index.js +32 -0
- package/dist/capability-index.js.map +1 -0
- package/dist/cosine.d.ts +11 -0
- package/dist/cosine.d.ts.map +1 -0
- package/dist/cosine.js +41 -0
- package/dist/cosine.js.map +1 -0
- package/dist/encoder.d.ts +37 -0
- package/dist/encoder.d.ts.map +1 -0
- package/dist/encoder.js +75 -0
- package/dist/encoder.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/keyword-pre-filter.d.ts +44 -0
- package/dist/keyword-pre-filter.d.ts.map +1 -0
- package/dist/keyword-pre-filter.js +109 -0
- package/dist/keyword-pre-filter.js.map +1 -0
- package/dist/llm-fallback.d.ts +18 -0
- package/dist/llm-fallback.d.ts.map +1 -0
- package/dist/llm-fallback.js +76 -0
- package/dist/llm-fallback.js.map +1 -0
- package/dist/prompts/classify.d.ts +5 -0
- package/dist/prompts/classify.d.ts.map +1 -0
- package/dist/prompts/classify.js +25 -0
- package/dist/prompts/classify.js.map +1 -0
- package/dist/route-layer.d.ts +25 -0
- package/dist/route-layer.d.ts.map +1 -0
- package/dist/route-layer.js +129 -0
- package/dist/route-layer.js.map +1 -0
- package/dist/routes/core.route.d.ts +3 -0
- package/dist/routes/core.route.d.ts.map +1 -0
- package/dist/routes/core.route.js +106 -0
- package/dist/routes/core.route.js.map +1 -0
- package/dist/routes/design.route.d.ts +3 -0
- package/dist/routes/design.route.d.ts.map +1 -0
- package/dist/routes/design.route.js +94 -0
- package/dist/routes/design.route.js.map +1 -0
- package/dist/routes/engineering.route.d.ts +3 -0
- package/dist/routes/engineering.route.d.ts.map +1 -0
- package/dist/routes/engineering.route.js +191 -0
- package/dist/routes/engineering.route.js.map +1 -0
- package/dist/routes/game-dev.route.d.ts +3 -0
- package/dist/routes/game-dev.route.d.ts.map +1 -0
- package/dist/routes/game-dev.route.js +109 -0
- package/dist/routes/game-dev.route.js.map +1 -0
- package/dist/routes/index.d.ts +13 -0
- package/dist/routes/index.d.ts.map +1 -0
- package/dist/routes/index.js +31 -0
- package/dist/routes/index.js.map +1 -0
- package/dist/routes/marketing.route.d.ts +3 -0
- package/dist/routes/marketing.route.d.ts.map +1 -0
- package/dist/routes/marketing.route.js +94 -0
- package/dist/routes/marketing.route.js.map +1 -0
- package/dist/routes/product.route.d.ts +3 -0
- package/dist/routes/product.route.d.ts.map +1 -0
- package/dist/routes/product.route.js +75 -0
- package/dist/routes/product.route.js.map +1 -0
- package/dist/routes/security.route.d.ts +3 -0
- package/dist/routes/security.route.d.ts.map +1 -0
- package/dist/routes/security.route.js +101 -0
- package/dist/routes/security.route.js.map +1 -0
- package/dist/routes/specialized.route.d.ts +3 -0
- package/dist/routes/specialized.route.d.ts.map +1 -0
- package/dist/routes/specialized.route.js +107 -0
- package/dist/routes/specialized.route.js.map +1 -0
- package/dist/routes/testing.route.d.ts +3 -0
- package/dist/routes/testing.route.d.ts.map +1 -0
- package/dist/routes/testing.route.js +115 -0
- package/dist/routes/testing.route.js.map +1 -0
- package/dist/types.d.ts +86 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +30 -0
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { cosineSimilarity, computeCentroid } from './cosine.js';
|
|
2
|
+
import { LocalEncoder, HNSWEncoder } from './encoder.js';
|
|
3
|
+
import { LLMFallbackRouter } from './llm-fallback.js';
|
|
4
|
+
import { KeywordPreFilter } from './keyword-pre-filter.js';
|
|
5
|
+
export class RouteLayer {
|
|
6
|
+
centroids = [];
|
|
7
|
+
encoder;
|
|
8
|
+
config;
|
|
9
|
+
initialized = false;
|
|
10
|
+
llmFallback;
|
|
11
|
+
keywordFilter;
|
|
12
|
+
constructor(config) {
|
|
13
|
+
this.config = config;
|
|
14
|
+
// A real injected embedder (or explicit 'hnsw') uses HNSWEncoder; otherwise
|
|
15
|
+
// the deterministic hash-based LocalEncoder. When embeddingGenerator is
|
|
16
|
+
// present, HNSWEncoder embeds with it exclusively (no dimension mixing).
|
|
17
|
+
if (config.embeddingGenerator) {
|
|
18
|
+
this.encoder = new HNSWEncoder(config.embeddingGenerator);
|
|
19
|
+
}
|
|
20
|
+
else if (config.encoder === 'hnsw') {
|
|
21
|
+
this.encoder = new HNSWEncoder();
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
this.encoder = new LocalEncoder();
|
|
25
|
+
}
|
|
26
|
+
if (config.llmFallback) {
|
|
27
|
+
this.llmFallback = new LLMFallbackRouter(config.llmFallback);
|
|
28
|
+
}
|
|
29
|
+
if (config.enableKeywordFilter !== false) {
|
|
30
|
+
this.keywordFilter = new KeywordPreFilter(config.keywordRules);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Pre-compute centroids for all routes.
|
|
35
|
+
* Idempotent — safe to call multiple times.
|
|
36
|
+
*/
|
|
37
|
+
async initialize() {
|
|
38
|
+
if (this.initialized)
|
|
39
|
+
return;
|
|
40
|
+
// Fast path: host supplied precomputed centroids (e.g. from a disk cache),
|
|
41
|
+
// aligned 1:1 with routes. Skip the expensive per-utterance embedding.
|
|
42
|
+
const precomputed = this.config.centroids;
|
|
43
|
+
if (precomputed && precomputed.length === this.config.routes.length) {
|
|
44
|
+
this.centroids = this.config.routes.map((route, i) => ({
|
|
45
|
+
route,
|
|
46
|
+
centroid: precomputed[i],
|
|
47
|
+
}));
|
|
48
|
+
this.initialized = true;
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
this.centroids = await Promise.all(this.config.routes.map(async (route) => {
|
|
52
|
+
const vectors = await this.encoder.encodeAll(route.utterances);
|
|
53
|
+
const centroid = computeCentroid(vectors);
|
|
54
|
+
return { route, centroid };
|
|
55
|
+
}));
|
|
56
|
+
this.initialized = true;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Route a task description to the most appropriate agent slug.
|
|
60
|
+
* Auto-initializes on first call.
|
|
61
|
+
*/
|
|
62
|
+
async route(taskDescription) {
|
|
63
|
+
// Keyword pre-filter: fast deterministic match before semantic routing
|
|
64
|
+
if (this.keywordFilter) {
|
|
65
|
+
const keywordResult = this.keywordFilter.match(taskDescription);
|
|
66
|
+
if (keywordResult)
|
|
67
|
+
return keywordResult;
|
|
68
|
+
}
|
|
69
|
+
await this.initialize();
|
|
70
|
+
if (this.centroids.length === 0) {
|
|
71
|
+
return {
|
|
72
|
+
agentSlug: 'general-purpose',
|
|
73
|
+
confidence: 0,
|
|
74
|
+
method: 'llm_fallback',
|
|
75
|
+
routeName: 'fallback',
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
const taskVector = await this.encoder.encode(taskDescription);
|
|
79
|
+
const globalThreshold = this.config.globalThreshold ?? 0.5;
|
|
80
|
+
const scores = this.centroids.map(({ route, centroid }) => ({
|
|
81
|
+
routeName: route.name,
|
|
82
|
+
agentSlug: route.agentSlug,
|
|
83
|
+
score: cosineSimilarity(taskVector, centroid),
|
|
84
|
+
threshold: route.threshold ?? this.config.globalThreshold ?? 0.5,
|
|
85
|
+
fallbackToLLM: route.fallbackToLLM,
|
|
86
|
+
}));
|
|
87
|
+
scores.sort((a, b) => b.score - a.score);
|
|
88
|
+
const best = scores[0];
|
|
89
|
+
const method = best.score < (best.threshold ?? globalThreshold) ? 'llm_fallback' : 'semantic';
|
|
90
|
+
// Delegate to LLM fallback when below threshold and configured
|
|
91
|
+
if (method === 'llm_fallback' && this.llmFallback) {
|
|
92
|
+
const fallbackResult = await this.llmFallback.classify(taskDescription, this.config.routes, scores);
|
|
93
|
+
if (this.config.debug) {
|
|
94
|
+
fallbackResult.allScores = scores.map(s => ({
|
|
95
|
+
routeName: s.routeName,
|
|
96
|
+
agentSlug: s.agentSlug,
|
|
97
|
+
score: s.score,
|
|
98
|
+
}));
|
|
99
|
+
}
|
|
100
|
+
return fallbackResult;
|
|
101
|
+
}
|
|
102
|
+
const result = {
|
|
103
|
+
agentSlug: best.agentSlug,
|
|
104
|
+
confidence: Math.max(0, Math.min(1, (best.score + 1) / 2)), // normalize [-1,1] → [0,1]
|
|
105
|
+
method,
|
|
106
|
+
routeName: best.routeName,
|
|
107
|
+
};
|
|
108
|
+
if (this.config.debug) {
|
|
109
|
+
result.allScores = scores.map(s => ({
|
|
110
|
+
routeName: s.routeName,
|
|
111
|
+
agentSlug: s.agentSlug,
|
|
112
|
+
score: s.score,
|
|
113
|
+
}));
|
|
114
|
+
}
|
|
115
|
+
return result;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Register an additional route at runtime without re-initializing all centroids.
|
|
119
|
+
*/
|
|
120
|
+
async addRoute(route) {
|
|
121
|
+
const vectors = await this.encoder.encodeAll(route.utterances);
|
|
122
|
+
const centroid = computeCentroid(vectors);
|
|
123
|
+
this.centroids.push({ route, centroid });
|
|
124
|
+
this.config.routes.push(route);
|
|
125
|
+
if (!this.initialized)
|
|
126
|
+
this.initialized = true;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=route-layer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route-layer.js","sourceRoot":"","sources":["../src/route-layer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.route.d.ts","sourceRoot":"","sources":["../../src/routes/core.route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,eAAO,MAAM,UAAU,EAAE,KAAK,EAwG7B,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
export const coreRoutes = [
|
|
2
|
+
{
|
|
3
|
+
name: 'coder',
|
|
4
|
+
agentSlug: 'coder',
|
|
5
|
+
threshold: 0.65,
|
|
6
|
+
fallbackToLLM: true,
|
|
7
|
+
description: 'General code implementation',
|
|
8
|
+
utterances: [
|
|
9
|
+
'implement the user registration feature',
|
|
10
|
+
'write the function to calculate shipping costs',
|
|
11
|
+
'code the database migration script',
|
|
12
|
+
'build the REST API endpoint for creating orders',
|
|
13
|
+
'implement the caching layer for the search results',
|
|
14
|
+
'write the TypeScript interface for the user model',
|
|
15
|
+
'code the background job for sending notification emails',
|
|
16
|
+
'implement the file upload handler',
|
|
17
|
+
'build the data transformation pipeline',
|
|
18
|
+
'write the utility function for date formatting',
|
|
19
|
+
'create the pagination logic for the list endpoint',
|
|
20
|
+
'implement the retry mechanism for failed requests',
|
|
21
|
+
],
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: 'reviewer',
|
|
25
|
+
agentSlug: 'reviewer',
|
|
26
|
+
threshold: 0.68,
|
|
27
|
+
fallbackToLLM: true,
|
|
28
|
+
description: 'Code review and quality assessment',
|
|
29
|
+
utterances: [
|
|
30
|
+
'review this pull request for code quality',
|
|
31
|
+
'check this code for best practices violations',
|
|
32
|
+
'review the implementation for potential issues',
|
|
33
|
+
'give feedback on this TypeScript module',
|
|
34
|
+
'check this function for edge cases and bugs',
|
|
35
|
+
'review the database query for performance issues',
|
|
36
|
+
'look over this class design and suggest improvements',
|
|
37
|
+
'review the error handling in this module',
|
|
38
|
+
'check this code against our coding standards',
|
|
39
|
+
'evaluate the readability and maintainability of this code',
|
|
40
|
+
'review this PR before merging',
|
|
41
|
+
'critique the architecture of this service',
|
|
42
|
+
],
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'tester',
|
|
46
|
+
agentSlug: 'tester',
|
|
47
|
+
threshold: 0.68,
|
|
48
|
+
fallbackToLLM: true,
|
|
49
|
+
description: 'Writing tests, test coverage analysis',
|
|
50
|
+
utterances: [
|
|
51
|
+
'write unit tests for the authentication module',
|
|
52
|
+
'create integration tests for the payment API',
|
|
53
|
+
'write Jest tests for this TypeScript class',
|
|
54
|
+
'generate test cases for the user registration flow',
|
|
55
|
+
'write end-to-end tests for the checkout process',
|
|
56
|
+
'create test fixtures for the database layer',
|
|
57
|
+
'write property-based tests for the validation logic',
|
|
58
|
+
'generate mock data for testing the API endpoints',
|
|
59
|
+
'write snapshot tests for these React components',
|
|
60
|
+
'create the test harness for the background workers',
|
|
61
|
+
'add test coverage for the edge cases in this function',
|
|
62
|
+
'write regression tests to prevent this bug from recurring',
|
|
63
|
+
],
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: 'researcher',
|
|
67
|
+
agentSlug: 'researcher',
|
|
68
|
+
threshold: 0.65,
|
|
69
|
+
fallbackToLLM: true,
|
|
70
|
+
description: 'Research, analysis, and investigation',
|
|
71
|
+
utterances: [
|
|
72
|
+
'research the best approach for implementing rate limiting',
|
|
73
|
+
'investigate the root cause of this performance regression',
|
|
74
|
+
'analyze the existing codebase architecture',
|
|
75
|
+
'research alternatives to our current authentication approach',
|
|
76
|
+
'investigate which database is best for this use case',
|
|
77
|
+
'analyze the error patterns in the production logs',
|
|
78
|
+
'research the state of the art for vector search',
|
|
79
|
+
'investigate the security implications of this design',
|
|
80
|
+
'analyze the token usage patterns across our agents',
|
|
81
|
+
'research how other systems solve this distributed consensus problem',
|
|
82
|
+
'explore the tradeoffs between these two architectural approaches',
|
|
83
|
+
'gather requirements and constraints for the new feature',
|
|
84
|
+
],
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
name: 'planner',
|
|
88
|
+
agentSlug: 'planner',
|
|
89
|
+
threshold: 0.65,
|
|
90
|
+
fallbackToLLM: true,
|
|
91
|
+
description: 'Task planning, roadmap creation, sprint planning',
|
|
92
|
+
utterances: [
|
|
93
|
+
'create a project plan for building the new feature',
|
|
94
|
+
'break down this epic into actionable tasks',
|
|
95
|
+
'plan the migration from monolith to microservices',
|
|
96
|
+
'create a roadmap for the next quarter',
|
|
97
|
+
'organize the backlog into prioritized sprints',
|
|
98
|
+
'plan the rollout strategy for this change',
|
|
99
|
+
'create a timeline for the API redesign',
|
|
100
|
+
'define the milestones for this project',
|
|
101
|
+
'plan the testing strategy for the release',
|
|
102
|
+
'outline the steps needed to implement this architecture',
|
|
103
|
+
],
|
|
104
|
+
},
|
|
105
|
+
];
|
|
106
|
+
//# sourceMappingURL=core.route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.route.js","sourceRoot":"","sources":["../../src/routes/core.route.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,UAAU,GAAY;IACjC;QACE,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,OAAO;QAClB,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,6BAA6B;QAC1C,UAAU,EAAE;YACV,yCAAyC;YACzC,gDAAgD;YAChD,oCAAoC;YACpC,iDAAiD;YACjD,oDAAoD;YACpD,mDAAmD;YACnD,yDAAyD;YACzD,mCAAmC;YACnC,wCAAwC;YACxC,gDAAgD;YAChD,mDAAmD;YACnD,mDAAmD;SACpD;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,UAAU;QACrB,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,oCAAoC;QACjD,UAAU,EAAE;YACV,2CAA2C;YAC3C,+CAA+C;YAC/C,gDAAgD;YAChD,yCAAyC;YACzC,6CAA6C;YAC7C,kDAAkD;YAClD,sDAAsD;YACtD,0CAA0C;YAC1C,8CAA8C;YAC9C,2DAA2D;YAC3D,+BAA+B;YAC/B,2CAA2C;SAC5C;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,uCAAuC;QACpD,UAAU,EAAE;YACV,gDAAgD;YAChD,8CAA8C;YAC9C,4CAA4C;YAC5C,oDAAoD;YACpD,iDAAiD;YACjD,6CAA6C;YAC7C,qDAAqD;YACrD,kDAAkD;YAClD,iDAAiD;YACjD,oDAAoD;YACpD,uDAAuD;YACvD,2DAA2D;SAC5D;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,SAAS,EAAE,YAAY;QACvB,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,uCAAuC;QACpD,UAAU,EAAE;YACV,2DAA2D;YAC3D,2DAA2D;YAC3D,4CAA4C;YAC5C,8DAA8D;YAC9D,sDAAsD;YACtD,mDAAmD;YACnD,iDAAiD;YACjD,sDAAsD;YACtD,oDAAoD;YACpD,qEAAqE;YACrE,kEAAkE;YAClE,yDAAyD;SAC1D;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,kDAAkD;QAC/D,UAAU,EAAE;YACV,oDAAoD;YACpD,4CAA4C;YAC5C,mDAAmD;YACnD,uCAAuC;YACvC,+CAA+C;YAC/C,2CAA2C;YAC3C,wCAAwC;YACxC,wCAAwC;YACxC,2CAA2C;YAC3C,yDAAyD;SAC1D;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"design.route.d.ts","sourceRoot":"","sources":["../../src/routes/design.route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,eAAO,MAAM,YAAY,EAAE,KAAK,EA4F/B,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
export const designRoutes = [
|
|
2
|
+
{
|
|
3
|
+
name: 'ui-designer',
|
|
4
|
+
agentSlug: 'design-ui-designer',
|
|
5
|
+
threshold: 0.70,
|
|
6
|
+
fallbackToLLM: true,
|
|
7
|
+
description: 'UI design, component design, design systems',
|
|
8
|
+
utterances: [
|
|
9
|
+
'design the UI for the user profile page',
|
|
10
|
+
'create the component library for the design system',
|
|
11
|
+
'design the dashboard layout with data visualization',
|
|
12
|
+
'create the mobile UI mockups for the onboarding flow',
|
|
13
|
+
'design the dark mode theme for the application',
|
|
14
|
+
'create the icon set for the navigation menu',
|
|
15
|
+
'design the empty state illustrations for the app',
|
|
16
|
+
'create the loading skeleton screens for the content areas',
|
|
17
|
+
'design the data table component with sorting and filtering',
|
|
18
|
+
'create the notification toast component designs',
|
|
19
|
+
],
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'ux-architect',
|
|
23
|
+
agentSlug: 'design-ux-architect',
|
|
24
|
+
threshold: 0.70,
|
|
25
|
+
fallbackToLLM: true,
|
|
26
|
+
description: 'UX architecture, information architecture, user flows',
|
|
27
|
+
utterances: [
|
|
28
|
+
'design the user flow for the checkout experience',
|
|
29
|
+
'create the information architecture for the navigation',
|
|
30
|
+
'design the onboarding experience for new users',
|
|
31
|
+
'map the user journey for the subscription upgrade flow',
|
|
32
|
+
'design the error recovery flow for payment failures',
|
|
33
|
+
'create the sitemap and navigation hierarchy',
|
|
34
|
+
'design the progressive disclosure pattern for complex forms',
|
|
35
|
+
'architect the multi-step wizard for the setup process',
|
|
36
|
+
'design the search and filter user experience',
|
|
37
|
+
'create the user flow for the account settings management',
|
|
38
|
+
],
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: 'ux-researcher',
|
|
42
|
+
agentSlug: 'design-ux-researcher',
|
|
43
|
+
threshold: 0.70,
|
|
44
|
+
fallbackToLLM: true,
|
|
45
|
+
description: 'UX research, user testing, usability analysis',
|
|
46
|
+
utterances: [
|
|
47
|
+
'conduct a usability study on the new checkout flow',
|
|
48
|
+
'analyze the user interview findings for the product redesign',
|
|
49
|
+
'create the user testing script for the prototype',
|
|
50
|
+
'analyze heatmap and session recording data for insights',
|
|
51
|
+
'conduct competitive analysis of the user experience',
|
|
52
|
+
'synthesize the survey results into design recommendations',
|
|
53
|
+
'create user personas based on the research data',
|
|
54
|
+
'design the A/B test for the new landing page',
|
|
55
|
+
'analyze the task completion rates in the usability test',
|
|
56
|
+
'create the usability testing report with recommendations',
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'brand-guardian',
|
|
61
|
+
agentSlug: 'design-brand-guardian',
|
|
62
|
+
threshold: 0.72,
|
|
63
|
+
fallbackToLLM: true,
|
|
64
|
+
description: 'Brand consistency, visual identity, style guide',
|
|
65
|
+
utterances: [
|
|
66
|
+
'review the UI for brand consistency violations',
|
|
67
|
+
'create the brand style guide for the new product',
|
|
68
|
+
'update the color palette to match the new brand identity',
|
|
69
|
+
'audit the marketing materials for brand guideline compliance',
|
|
70
|
+
'create the logo usage guidelines and do-nots',
|
|
71
|
+
'define the typography system for the brand',
|
|
72
|
+
'create the brand voice and tone guidelines',
|
|
73
|
+
'review the email templates for brand consistency',
|
|
74
|
+
],
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
name: 'visual-storyteller',
|
|
78
|
+
agentSlug: 'design-visual-storyteller',
|
|
79
|
+
threshold: 0.70,
|
|
80
|
+
fallbackToLLM: true,
|
|
81
|
+
description: 'Visual storytelling, presentation design, data visualization',
|
|
82
|
+
utterances: [
|
|
83
|
+
'create compelling data visualizations for the annual report',
|
|
84
|
+
'design the pitch deck for the investor presentation',
|
|
85
|
+
'create the infographic explaining the product architecture',
|
|
86
|
+
'design the visual narrative for the case study',
|
|
87
|
+
'create the data story for the product metrics dashboard',
|
|
88
|
+
'design the visual timeline for the company history',
|
|
89
|
+
'create the product comparison chart design',
|
|
90
|
+
'design the visual hierarchy for the marketing landing page',
|
|
91
|
+
],
|
|
92
|
+
},
|
|
93
|
+
];
|
|
94
|
+
//# sourceMappingURL=design.route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"design.route.js","sourceRoot":"","sources":["../../src/routes/design.route.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAY;IACnC;QACE,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE,oBAAoB;QAC/B,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,6CAA6C;QAC1D,UAAU,EAAE;YACV,yCAAyC;YACzC,oDAAoD;YACpD,qDAAqD;YACrD,sDAAsD;YACtD,gDAAgD;YAChD,6CAA6C;YAC7C,kDAAkD;YAClD,2DAA2D;YAC3D,4DAA4D;YAC5D,iDAAiD;SAClD;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,qBAAqB;QAChC,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,uDAAuD;QACpE,UAAU,EAAE;YACV,kDAAkD;YAClD,wDAAwD;YACxD,gDAAgD;YAChD,wDAAwD;YACxD,qDAAqD;YACrD,6CAA6C;YAC7C,6DAA6D;YAC7D,uDAAuD;YACvD,8CAA8C;YAC9C,0DAA0D;SAC3D;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,SAAS,EAAE,sBAAsB;QACjC,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,+CAA+C;QAC5D,UAAU,EAAE;YACV,oDAAoD;YACpD,8DAA8D;YAC9D,kDAAkD;YAClD,yDAAyD;YACzD,qDAAqD;YACrD,2DAA2D;YAC3D,iDAAiD;YACjD,8CAA8C;YAC9C,yDAAyD;YACzD,0DAA0D;SAC3D;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,uBAAuB;QAClC,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,iDAAiD;QAC9D,UAAU,EAAE;YACV,gDAAgD;YAChD,kDAAkD;YAClD,0DAA0D;YAC1D,8DAA8D;YAC9D,8CAA8C;YAC9C,4CAA4C;YAC5C,4CAA4C;YAC5C,kDAAkD;SACnD;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,2BAA2B;QACtC,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,8DAA8D;QAC3E,UAAU,EAAE;YACV,6DAA6D;YAC7D,qDAAqD;YACrD,4DAA4D;YAC5D,gDAAgD;YAChD,yDAAyD;YACzD,oDAAoD;YACpD,4CAA4C;YAC5C,4DAA4D;SAC7D;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engineering.route.d.ts","sourceRoot":"","sources":["../../src/routes/engineering.route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,eAAO,MAAM,iBAAiB,EAAE,KAAK,EA6LpC,CAAC"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
export const engineeringRoutes = [
|
|
2
|
+
{
|
|
3
|
+
name: 'backend-architect',
|
|
4
|
+
agentSlug: 'engineering-backend-architect',
|
|
5
|
+
threshold: 0.70,
|
|
6
|
+
fallbackToLLM: true,
|
|
7
|
+
description: 'Backend system architecture, API design, microservices',
|
|
8
|
+
utterances: [
|
|
9
|
+
'design the backend architecture for the new service',
|
|
10
|
+
'architect the microservices decomposition strategy',
|
|
11
|
+
'design the event-driven backend for the order system',
|
|
12
|
+
'create the API design for the user management service',
|
|
13
|
+
'architect the database schema for multi-tenancy',
|
|
14
|
+
'design the message queue topology for async processing',
|
|
15
|
+
'plan the backend scalability strategy for 10x growth',
|
|
16
|
+
'design the caching architecture for the read-heavy service',
|
|
17
|
+
'architect the data pipeline for real-time analytics',
|
|
18
|
+
'design the gRPC service contracts for inter-service communication',
|
|
19
|
+
],
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'software-architect',
|
|
23
|
+
agentSlug: 'engineering-software-architect',
|
|
24
|
+
threshold: 0.70,
|
|
25
|
+
fallbackToLLM: true,
|
|
26
|
+
description: 'High-level software architecture, system design',
|
|
27
|
+
utterances: [
|
|
28
|
+
'design the overall system architecture for this application',
|
|
29
|
+
'create an architecture decision record for this approach',
|
|
30
|
+
'evaluate the architectural tradeoffs between these options',
|
|
31
|
+
'design the hexagonal architecture for the domain layer',
|
|
32
|
+
'define the bounded contexts for domain-driven design',
|
|
33
|
+
'architect the CQRS and event sourcing implementation',
|
|
34
|
+
'design the plugin architecture for extensibility',
|
|
35
|
+
'create the technical design document for this system',
|
|
36
|
+
'evaluate the monolith vs microservices tradeoff',
|
|
37
|
+
'define the system integration patterns and contracts',
|
|
38
|
+
],
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: 'frontend-developer',
|
|
42
|
+
agentSlug: 'engineering-frontend-developer',
|
|
43
|
+
threshold: 0.70,
|
|
44
|
+
fallbackToLLM: true,
|
|
45
|
+
description: 'Frontend development, React, UI components',
|
|
46
|
+
utterances: [
|
|
47
|
+
'build the React component for the user dashboard',
|
|
48
|
+
'implement the frontend state management with Zustand',
|
|
49
|
+
'create the responsive CSS layout for the landing page',
|
|
50
|
+
'build the form validation logic for the checkout page',
|
|
51
|
+
'implement the infinite scroll for the product list',
|
|
52
|
+
'create the frontend routing with React Router',
|
|
53
|
+
'build the data visualization charts for the analytics page',
|
|
54
|
+
'implement the drag-and-drop interface for the kanban board',
|
|
55
|
+
'optimize the frontend bundle size and loading performance',
|
|
56
|
+
'build the real-time notification UI with WebSockets',
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'devops-automator',
|
|
61
|
+
agentSlug: 'engineering-devops-automator',
|
|
62
|
+
threshold: 0.72,
|
|
63
|
+
fallbackToLLM: true,
|
|
64
|
+
description: 'CI/CD, infrastructure automation, DevOps pipelines',
|
|
65
|
+
utterances: [
|
|
66
|
+
'set up the GitHub Actions CI/CD pipeline',
|
|
67
|
+
'configure the Kubernetes deployment manifests',
|
|
68
|
+
'automate the infrastructure provisioning with Terraform',
|
|
69
|
+
'set up Docker containerization for the services',
|
|
70
|
+
'configure the monitoring and alerting with Prometheus',
|
|
71
|
+
'automate the database backup and recovery process',
|
|
72
|
+
'set up the staging environment deployment pipeline',
|
|
73
|
+
'configure the auto-scaling rules for the ECS cluster',
|
|
74
|
+
'implement the blue-green deployment strategy',
|
|
75
|
+
'set up the secrets management with AWS Secrets Manager',
|
|
76
|
+
],
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: 'data-engineer',
|
|
80
|
+
agentSlug: 'engineering-data-engineer',
|
|
81
|
+
threshold: 0.71,
|
|
82
|
+
fallbackToLLM: true,
|
|
83
|
+
description: 'Data pipelines, ETL, data warehousing, analytics',
|
|
84
|
+
utterances: [
|
|
85
|
+
'build the ETL pipeline for migrating data to the warehouse',
|
|
86
|
+
'design the data model for the analytics dashboard',
|
|
87
|
+
'implement the streaming data pipeline with Kafka',
|
|
88
|
+
'create the data transformation jobs for the reporting layer',
|
|
89
|
+
'build the data quality validation framework',
|
|
90
|
+
'design the schema for the time-series metrics database',
|
|
91
|
+
'implement the data lake ingestion pipeline',
|
|
92
|
+
'create the aggregation queries for the business metrics',
|
|
93
|
+
'optimize the slow analytical queries in the warehouse',
|
|
94
|
+
'build the data lineage tracking system',
|
|
95
|
+
],
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
name: 'ai-engineer',
|
|
99
|
+
agentSlug: 'engineering-ai-engineer',
|
|
100
|
+
threshold: 0.72,
|
|
101
|
+
fallbackToLLM: true,
|
|
102
|
+
description: 'AI/ML integration, LLM APIs, model deployment',
|
|
103
|
+
utterances: [
|
|
104
|
+
'integrate the OpenAI API for the chatbot feature',
|
|
105
|
+
'implement the RAG pipeline for document Q&A',
|
|
106
|
+
'build the prompt engineering framework for the AI assistant',
|
|
107
|
+
'deploy the machine learning model as a REST API',
|
|
108
|
+
'implement the vector database for semantic search',
|
|
109
|
+
'build the fine-tuning pipeline for the custom model',
|
|
110
|
+
'create the AI evaluation harness for model quality',
|
|
111
|
+
'implement streaming responses from the LLM API',
|
|
112
|
+
'build the multi-model routing for cost optimization',
|
|
113
|
+
'create the AI agent orchestration system',
|
|
114
|
+
],
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
name: 'sre',
|
|
118
|
+
agentSlug: 'engineering-sre',
|
|
119
|
+
threshold: 0.71,
|
|
120
|
+
fallbackToLLM: true,
|
|
121
|
+
description: 'Site reliability engineering, observability, incident response',
|
|
122
|
+
utterances: [
|
|
123
|
+
'define the SLOs and error budgets for the service',
|
|
124
|
+
'set up distributed tracing with OpenTelemetry',
|
|
125
|
+
'create the runbook for the database failover procedure',
|
|
126
|
+
'implement chaos engineering tests for the system',
|
|
127
|
+
'design the capacity planning model for traffic growth',
|
|
128
|
+
'create the incident response playbook',
|
|
129
|
+
'implement the health check endpoints for the services',
|
|
130
|
+
'set up the log aggregation and search with ELK',
|
|
131
|
+
'design the on-call rotation and escalation policy',
|
|
132
|
+
'build the synthetic monitoring for critical user journeys',
|
|
133
|
+
],
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
name: 'mobile-app-builder',
|
|
137
|
+
agentSlug: 'engineering-mobile-app-builder',
|
|
138
|
+
threshold: 0.72,
|
|
139
|
+
fallbackToLLM: true,
|
|
140
|
+
description: 'Mobile app development, React Native, iOS, Android',
|
|
141
|
+
utterances: [
|
|
142
|
+
'build the React Native screen for the user profile',
|
|
143
|
+
'implement push notifications for the mobile app',
|
|
144
|
+
'create the offline-first data sync for the iOS app',
|
|
145
|
+
'build the deep linking implementation for the Android app',
|
|
146
|
+
'implement biometric authentication in the mobile app',
|
|
147
|
+
'create the app store listing assets and metadata',
|
|
148
|
+
'build the in-app purchase flow for the mobile app',
|
|
149
|
+
'implement the camera and image picker in React Native',
|
|
150
|
+
'optimize the mobile app startup time and performance',
|
|
151
|
+
'build the background location tracking feature',
|
|
152
|
+
],
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
name: 'database-optimizer',
|
|
156
|
+
agentSlug: 'engineering-database-optimizer',
|
|
157
|
+
threshold: 0.71,
|
|
158
|
+
fallbackToLLM: true,
|
|
159
|
+
description: 'Database performance, query optimization, indexing',
|
|
160
|
+
utterances: [
|
|
161
|
+
'optimize the slow PostgreSQL query in the reporting module',
|
|
162
|
+
'design the indexing strategy for the high-traffic tables',
|
|
163
|
+
'analyze and fix the N+1 query problem in the ORM layer',
|
|
164
|
+
'design the database partitioning strategy for the logs table',
|
|
165
|
+
'optimize the database connection pool configuration',
|
|
166
|
+
'create the database performance monitoring dashboard',
|
|
167
|
+
'analyze the query execution plans and suggest improvements',
|
|
168
|
+
'design the read replica strategy for the reporting workload',
|
|
169
|
+
'implement the database migration with zero downtime',
|
|
170
|
+
'optimize the full-text search index configuration',
|
|
171
|
+
],
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
name: 'rapid-prototyper',
|
|
175
|
+
agentSlug: 'engineering-rapid-prototyper',
|
|
176
|
+
threshold: 0.68,
|
|
177
|
+
fallbackToLLM: true,
|
|
178
|
+
description: 'Rapid prototyping, proof of concept, MVP development',
|
|
179
|
+
utterances: [
|
|
180
|
+
'build a quick prototype to validate this concept',
|
|
181
|
+
'create a proof of concept for the new feature',
|
|
182
|
+
'build the MVP version of this application',
|
|
183
|
+
'quickly scaffold the project structure',
|
|
184
|
+
'create a demo to show to stakeholders',
|
|
185
|
+
'prototype the user flow for the onboarding experience',
|
|
186
|
+
'build a quick spike to test this approach',
|
|
187
|
+
'create the minimal viable version of this API',
|
|
188
|
+
],
|
|
189
|
+
},
|
|
190
|
+
];
|
|
191
|
+
//# sourceMappingURL=engineering.route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engineering.route.js","sourceRoot":"","sources":["../../src/routes/engineering.route.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAAY;IACxC;QACE,IAAI,EAAE,mBAAmB;QACzB,SAAS,EAAE,+BAA+B;QAC1C,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,wDAAwD;QACrE,UAAU,EAAE;YACV,qDAAqD;YACrD,oDAAoD;YACpD,sDAAsD;YACtD,uDAAuD;YACvD,iDAAiD;YACjD,wDAAwD;YACxD,sDAAsD;YACtD,4DAA4D;YAC5D,qDAAqD;YACrD,mEAAmE;SACpE;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,gCAAgC;QAC3C,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,iDAAiD;QAC9D,UAAU,EAAE;YACV,6DAA6D;YAC7D,0DAA0D;YAC1D,4DAA4D;YAC5D,wDAAwD;YACxD,sDAAsD;YACtD,sDAAsD;YACtD,kDAAkD;YAClD,sDAAsD;YACtD,iDAAiD;YACjD,sDAAsD;SACvD;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,gCAAgC;QAC3C,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,4CAA4C;QACzD,UAAU,EAAE;YACV,kDAAkD;YAClD,sDAAsD;YACtD,uDAAuD;YACvD,uDAAuD;YACvD,oDAAoD;YACpD,+CAA+C;YAC/C,4DAA4D;YAC5D,4DAA4D;YAC5D,2DAA2D;YAC3D,qDAAqD;SACtD;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,8BAA8B;QACzC,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,oDAAoD;QACjE,UAAU,EAAE;YACV,0CAA0C;YAC1C,+CAA+C;YAC/C,yDAAyD;YACzD,iDAAiD;YACjD,uDAAuD;YACvD,mDAAmD;YACnD,oDAAoD;YACpD,sDAAsD;YACtD,8CAA8C;YAC9C,wDAAwD;SACzD;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,SAAS,EAAE,2BAA2B;QACtC,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,kDAAkD;QAC/D,UAAU,EAAE;YACV,4DAA4D;YAC5D,mDAAmD;YACnD,kDAAkD;YAClD,6DAA6D;YAC7D,6CAA6C;YAC7C,wDAAwD;YACxD,4CAA4C;YAC5C,yDAAyD;YACzD,uDAAuD;YACvD,wCAAwC;SACzC;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE,yBAAyB;QACpC,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,+CAA+C;QAC5D,UAAU,EAAE;YACV,kDAAkD;YAClD,6CAA6C;YAC7C,6DAA6D;YAC7D,iDAAiD;YACjD,mDAAmD;YACnD,qDAAqD;YACrD,oDAAoD;YACpD,gDAAgD;YAChD,qDAAqD;YACrD,0CAA0C;SAC3C;KACF;IACD;QACE,IAAI,EAAE,KAAK;QACX,SAAS,EAAE,iBAAiB;QAC5B,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,gEAAgE;QAC7E,UAAU,EAAE;YACV,mDAAmD;YACnD,+CAA+C;YAC/C,wDAAwD;YACxD,kDAAkD;YAClD,uDAAuD;YACvD,uCAAuC;YACvC,uDAAuD;YACvD,gDAAgD;YAChD,mDAAmD;YACnD,2DAA2D;SAC5D;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,gCAAgC;QAC3C,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,oDAAoD;QACjE,UAAU,EAAE;YACV,oDAAoD;YACpD,iDAAiD;YACjD,oDAAoD;YACpD,2DAA2D;YAC3D,sDAAsD;YACtD,kDAAkD;YAClD,mDAAmD;YACnD,uDAAuD;YACvD,sDAAsD;YACtD,gDAAgD;SACjD;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,gCAAgC;QAC3C,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,oDAAoD;QACjE,UAAU,EAAE;YACV,4DAA4D;YAC5D,0DAA0D;YAC1D,wDAAwD;YACxD,8DAA8D;YAC9D,qDAAqD;YACrD,sDAAsD;YACtD,4DAA4D;YAC5D,6DAA6D;YAC7D,qDAAqD;YACrD,mDAAmD;SACpD;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,8BAA8B;QACzC,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,sDAAsD;QACnE,UAAU,EAAE;YACV,kDAAkD;YAClD,+CAA+C;YAC/C,2CAA2C;YAC3C,wCAAwC;YACxC,uCAAuC;YACvC,uDAAuD;YACvD,2CAA2C;YAC3C,+CAA+C;SAChD;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"game-dev.route.d.ts","sourceRoot":"","sources":["../../src/routes/game-dev.route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,eAAO,MAAM,aAAa,EAAE,KAAK,EA2GhC,CAAC"}
|