@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,115 @@
|
|
|
1
|
+
export const testingRoutes = [
|
|
2
|
+
{
|
|
3
|
+
name: 'accessibility-auditor',
|
|
4
|
+
agentSlug: 'testing-accessibility-auditor',
|
|
5
|
+
threshold: 0.73,
|
|
6
|
+
fallbackToLLM: true,
|
|
7
|
+
description: 'Accessibility testing, WCAG compliance, screen reader testing',
|
|
8
|
+
utterances: [
|
|
9
|
+
'audit the application for WCAG 2.1 compliance',
|
|
10
|
+
'test the component with a screen reader for accessibility',
|
|
11
|
+
'check the color contrast ratios against accessibility standards',
|
|
12
|
+
'review the keyboard navigation flow for the form',
|
|
13
|
+
'audit the ARIA attributes in the component library',
|
|
14
|
+
'test the modal focus management for accessibility',
|
|
15
|
+
'check the alt text on all images in the UI',
|
|
16
|
+
'audit the touch target sizes for mobile accessibility',
|
|
17
|
+
'review the accessibility of the data visualization charts',
|
|
18
|
+
'test the application with VoiceOver and NVDA',
|
|
19
|
+
],
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'api-tester',
|
|
23
|
+
agentSlug: 'testing-api-tester',
|
|
24
|
+
threshold: 0.72,
|
|
25
|
+
fallbackToLLM: true,
|
|
26
|
+
description: 'API testing, contract testing, endpoint validation',
|
|
27
|
+
utterances: [
|
|
28
|
+
'run API endpoint tests against the staging environment',
|
|
29
|
+
'create contract tests for the provider and consumer APIs',
|
|
30
|
+
'test the REST API for correct HTTP status codes',
|
|
31
|
+
'validate the API response schemas against the OpenAPI spec',
|
|
32
|
+
'write integration tests for the authentication endpoints',
|
|
33
|
+
'test the API rate limiting behavior',
|
|
34
|
+
'create load tests for the search API endpoint',
|
|
35
|
+
'validate the pagination behavior in the list endpoints',
|
|
36
|
+
'test the API error responses and error codes',
|
|
37
|
+
'create the Postman collection for the API test suite',
|
|
38
|
+
],
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: 'performance-benchmarker',
|
|
42
|
+
agentSlug: 'testing-performance-benchmarker',
|
|
43
|
+
threshold: 0.72,
|
|
44
|
+
fallbackToLLM: true,
|
|
45
|
+
description: 'Performance benchmarking, load testing, profiling',
|
|
46
|
+
utterances: [
|
|
47
|
+
'benchmark the response time of the database queries',
|
|
48
|
+
'run load tests to determine the maximum throughput',
|
|
49
|
+
'profile the memory usage of the caching layer',
|
|
50
|
+
'benchmark the startup time of the application',
|
|
51
|
+
'measure the CPU usage under peak load conditions',
|
|
52
|
+
'create performance regression tests for the API',
|
|
53
|
+
'run stress tests to find the breaking point of the service',
|
|
54
|
+
'benchmark the vector search query performance',
|
|
55
|
+
'measure the latency percentiles (p50, p95, p99) for the API',
|
|
56
|
+
'profile the garbage collection behavior under load',
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'reality-checker',
|
|
61
|
+
agentSlug: 'testing-reality-checker',
|
|
62
|
+
threshold: 0.70,
|
|
63
|
+
fallbackToLLM: true,
|
|
64
|
+
description: 'Production validation, smoke tests, health checks',
|
|
65
|
+
utterances: [
|
|
66
|
+
'validate the deployment worked correctly in production',
|
|
67
|
+
'run smoke tests after the release to staging',
|
|
68
|
+
'verify the critical user flows work in production',
|
|
69
|
+
'check that all services are healthy after the deployment',
|
|
70
|
+
'validate the database migrations ran successfully',
|
|
71
|
+
'verify the feature flags are configured correctly',
|
|
72
|
+
'check the payment flow works end-to-end in production',
|
|
73
|
+
'validate the email delivery is working correctly',
|
|
74
|
+
'verify the API is returning correct data after the migration',
|
|
75
|
+
'check that monitoring and alerting are active',
|
|
76
|
+
],
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: 'test-results-analyzer',
|
|
80
|
+
agentSlug: 'testing-test-results-analyzer',
|
|
81
|
+
threshold: 0.71,
|
|
82
|
+
fallbackToLLM: true,
|
|
83
|
+
description: 'Test result analysis, flaky test detection, coverage reporting',
|
|
84
|
+
utterances: [
|
|
85
|
+
'analyze the failing tests in the CI pipeline',
|
|
86
|
+
'identify the flaky tests causing intermittent failures',
|
|
87
|
+
'generate a test coverage report for the module',
|
|
88
|
+
'analyze which tests are slowest and need optimization',
|
|
89
|
+
'identify the missing test coverage in the critical paths',
|
|
90
|
+
'analyze the test failure patterns across runs',
|
|
91
|
+
'create a summary of the regression test results',
|
|
92
|
+
'identify which tests are duplicating the same assertions',
|
|
93
|
+
'analyze the end-to-end test failure root causes',
|
|
94
|
+
'generate test quality metrics for the codebase',
|
|
95
|
+
],
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
name: 'workflow-optimizer',
|
|
99
|
+
agentSlug: 'testing-workflow-optimizer',
|
|
100
|
+
threshold: 0.68,
|
|
101
|
+
fallbackToLLM: true,
|
|
102
|
+
description: 'Test workflow optimization, CI optimization, test parallelization',
|
|
103
|
+
utterances: [
|
|
104
|
+
'optimize the CI pipeline to reduce build time',
|
|
105
|
+
'parallelize the test suite to speed up the feedback loop',
|
|
106
|
+
'reorganize the test structure for better maintainability',
|
|
107
|
+
'optimize the test database setup and teardown',
|
|
108
|
+
'create the test sharding strategy for the large test suite',
|
|
109
|
+
'reduce the test setup overhead with better fixtures',
|
|
110
|
+
'optimize the end-to-end test execution time',
|
|
111
|
+
'create the test tagging strategy for selective runs',
|
|
112
|
+
],
|
|
113
|
+
},
|
|
114
|
+
];
|
|
115
|
+
//# sourceMappingURL=testing.route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testing.route.js","sourceRoot":"","sources":["../../src/routes/testing.route.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAY;IACpC;QACE,IAAI,EAAE,uBAAuB;QAC7B,SAAS,EAAE,+BAA+B;QAC1C,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,+DAA+D;QAC5E,UAAU,EAAE;YACV,+CAA+C;YAC/C,2DAA2D;YAC3D,iEAAiE;YACjE,kDAAkD;YAClD,oDAAoD;YACpD,mDAAmD;YACnD,4CAA4C;YAC5C,uDAAuD;YACvD,2DAA2D;YAC3D,8CAA8C;SAC/C;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,SAAS,EAAE,oBAAoB;QAC/B,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,oDAAoD;QACjE,UAAU,EAAE;YACV,wDAAwD;YACxD,0DAA0D;YAC1D,iDAAiD;YACjD,4DAA4D;YAC5D,0DAA0D;YAC1D,qCAAqC;YACrC,+CAA+C;YAC/C,wDAAwD;YACxD,8CAA8C;YAC9C,sDAAsD;SACvD;KACF;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,SAAS,EAAE,iCAAiC;QAC5C,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,mDAAmD;QAChE,UAAU,EAAE;YACV,qDAAqD;YACrD,oDAAoD;YACpD,+CAA+C;YAC/C,+CAA+C;YAC/C,kDAAkD;YAClD,iDAAiD;YACjD,4DAA4D;YAC5D,+CAA+C;YAC/C,6DAA6D;YAC7D,oDAAoD;SACrD;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,yBAAyB;QACpC,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,mDAAmD;QAChE,UAAU,EAAE;YACV,wDAAwD;YACxD,8CAA8C;YAC9C,mDAAmD;YACnD,0DAA0D;YAC1D,mDAAmD;YACnD,mDAAmD;YACnD,uDAAuD;YACvD,kDAAkD;YAClD,8DAA8D;YAC9D,+CAA+C;SAChD;KACF;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,SAAS,EAAE,+BAA+B;QAC1C,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,gEAAgE;QAC7E,UAAU,EAAE;YACV,8CAA8C;YAC9C,wDAAwD;YACxD,gDAAgD;YAChD,uDAAuD;YACvD,0DAA0D;YAC1D,+CAA+C;YAC/C,iDAAiD;YACjD,0DAA0D;YAC1D,iDAAiD;YACjD,gDAAgD;SACjD;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,4BAA4B;QACvC,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,mEAAmE;QAChF,UAAU,EAAE;YACV,+CAA+C;YAC/C,0DAA0D;YAC1D,0DAA0D;YAC1D,+CAA+C;YAC/C,4DAA4D;YAC5D,qDAAqD;YACrD,6CAA6C;YAC7C,qDAAqD;SACtD;KACF;CACF,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
export interface Route {
|
|
2
|
+
/** Unique name for this route, typically an agent category */
|
|
3
|
+
name: string;
|
|
4
|
+
/** The agent slug from ALLOWED_AGENT_TYPES to dispatch to */
|
|
5
|
+
agentSlug: string;
|
|
6
|
+
/** 10–15 representative task descriptions for this agent */
|
|
7
|
+
utterances: string[];
|
|
8
|
+
/**
|
|
9
|
+
* Minimum cosine similarity for a confident match in the hash-encoder space
|
|
10
|
+
* (default ~0.72). NOTE: when the host supplies a calibrated
|
|
11
|
+
* `RouteLayerConfig.globalThreshold` (as the real-embedding backend does),
|
|
12
|
+
* that single value overrides this per-route threshold — see route-layer.ts.
|
|
13
|
+
*/
|
|
14
|
+
threshold: number;
|
|
15
|
+
/** If true and confidence < threshold, escalate to LLM classifier */
|
|
16
|
+
fallbackToLLM: boolean;
|
|
17
|
+
/** Human-readable description of what this agent handles */
|
|
18
|
+
description?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface RouteResult {
|
|
21
|
+
/** The resolved agent slug from ALLOWED_AGENT_TYPES */
|
|
22
|
+
agentSlug: string;
|
|
23
|
+
/** Cosine similarity score (0.0–1.0) */
|
|
24
|
+
confidence: number;
|
|
25
|
+
/** How the routing decision was made */
|
|
26
|
+
method: 'semantic' | 'keyword' | 'llm_fallback';
|
|
27
|
+
/** The route name that matched */
|
|
28
|
+
routeName: string;
|
|
29
|
+
/** All routes with their scores, for debugging */
|
|
30
|
+
allScores?: Array<{
|
|
31
|
+
routeName: string;
|
|
32
|
+
agentSlug: string;
|
|
33
|
+
score: number;
|
|
34
|
+
}>;
|
|
35
|
+
}
|
|
36
|
+
export interface LLMFallbackConfig {
|
|
37
|
+
/** Injected LLM caller for testability */
|
|
38
|
+
llmCaller: (prompt: string) => Promise<string>;
|
|
39
|
+
/** Model to use — should be Haiku for cost efficiency */
|
|
40
|
+
model?: 'haiku' | 'sonnet';
|
|
41
|
+
/** Maximum tokens to request from LLM */
|
|
42
|
+
maxTokens?: number;
|
|
43
|
+
/** Log fallback events to this function (defaults to console.warn) */
|
|
44
|
+
onFallback?: (routeName: string, taskDescription: string, confidence: number) => void;
|
|
45
|
+
}
|
|
46
|
+
export interface RouteLayerConfig {
|
|
47
|
+
routes: Route[];
|
|
48
|
+
/** Encoder type to use for embeddings */
|
|
49
|
+
encoder?: 'hnsw' | 'local';
|
|
50
|
+
/**
|
|
51
|
+
* Injected real embedding function (e.g. a local transformers model supplied
|
|
52
|
+
* by the host). When provided, semantic routing uses it instead of the
|
|
53
|
+
* hash-based LocalEncoder — both the route utterances and the task are
|
|
54
|
+
* embedded with it. Must return a fixed-dimensional, L2-normalized vector.
|
|
55
|
+
*/
|
|
56
|
+
embeddingGenerator?: (text: string) => Promise<number[]>;
|
|
57
|
+
/**
|
|
58
|
+
* Precomputed route centroids, aligned 1:1 with `routes`. When supplied,
|
|
59
|
+
* `initialize()` skips embedding the route utterances and uses these directly,
|
|
60
|
+
* letting the host cache the (expensive) centroid computation across runs.
|
|
61
|
+
* Must be produced by the SAME embedder as `embeddingGenerator`.
|
|
62
|
+
*/
|
|
63
|
+
centroids?: number[][];
|
|
64
|
+
/** If true, include all route scores in RouteResult */
|
|
65
|
+
debug?: boolean;
|
|
66
|
+
/** Global minimum threshold override */
|
|
67
|
+
globalThreshold?: number;
|
|
68
|
+
/** LLM fallback configuration for low-confidence matches */
|
|
69
|
+
llmFallback?: LLMFallbackConfig;
|
|
70
|
+
/** Enable keyword pre-filter before semantic routing (default: true) */
|
|
71
|
+
enableKeywordFilter?: boolean;
|
|
72
|
+
/** Custom keyword rules prepended before DEFAULT_KEYWORD_ROUTES */
|
|
73
|
+
keywordRules?: Array<{
|
|
74
|
+
pattern: RegExp;
|
|
75
|
+
agentSlug: string;
|
|
76
|
+
routeName: string;
|
|
77
|
+
description: string;
|
|
78
|
+
}>;
|
|
79
|
+
}
|
|
80
|
+
export interface AgentCapability {
|
|
81
|
+
slug: string;
|
|
82
|
+
description: string;
|
|
83
|
+
taskTypes: string[];
|
|
84
|
+
expertise: string[];
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,aAAa,EAAE,OAAO,CAAC;IACvB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,cAAc,CAAC;IAChD,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,yDAAyD;IACzD,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3B,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CACvF;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACzD;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACvB,uDAAuD;IACvD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wCAAwC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,wEAAwE;IACxE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,mEAAmE;IACnE,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtG;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@monoes/routing",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Semantic task-to-agent routing for monomind",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": "./dist/index.js",
|
|
10
|
+
"./routes": { "types": "./dist/routes/index.d.ts", "import": "./dist/routes/index.js" }
|
|
11
|
+
},
|
|
12
|
+
"files": [
|
|
13
|
+
"dist"
|
|
14
|
+
],
|
|
15
|
+
"scripts": {
|
|
16
|
+
"build": "tsc",
|
|
17
|
+
"test": "vitest run"
|
|
18
|
+
},
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"zod": "^3.22.0"
|
|
21
|
+
},
|
|
22
|
+
"devDependencies": {
|
|
23
|
+
"typescript": "^7.0.2",
|
|
24
|
+
"@types/node": "^20.0.0",
|
|
25
|
+
"vitest": "^4.1.4"
|
|
26
|
+
},
|
|
27
|
+
"publishConfig": {
|
|
28
|
+
"access": "public"
|
|
29
|
+
}
|
|
30
|
+
}
|