ai.matey.patterns 0.2.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.
Files changed (40) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/LICENSE +21 -0
  3. package/dist/cjs/batch-processor.js +136 -0
  4. package/dist/cjs/batch-processor.js.map +1 -0
  5. package/dist/cjs/complexity-router.js +85 -0
  6. package/dist/cjs/complexity-router.js.map +1 -0
  7. package/dist/cjs/cost-optimizer.js +66 -0
  8. package/dist/cjs/cost-optimizer.js.map +1 -0
  9. package/dist/cjs/failover.js +55 -0
  10. package/dist/cjs/failover.js.map +1 -0
  11. package/dist/cjs/index.js +23 -0
  12. package/dist/cjs/index.js.map +1 -0
  13. package/dist/cjs/parallel-aggregator.js +68 -0
  14. package/dist/cjs/parallel-aggregator.js.map +1 -0
  15. package/dist/esm/batch-processor.js +133 -0
  16. package/dist/esm/batch-processor.js.map +1 -0
  17. package/dist/esm/complexity-router.js +81 -0
  18. package/dist/esm/complexity-router.js.map +1 -0
  19. package/dist/esm/cost-optimizer.js +63 -0
  20. package/dist/esm/cost-optimizer.js.map +1 -0
  21. package/dist/esm/failover.js +52 -0
  22. package/dist/esm/failover.js.map +1 -0
  23. package/dist/esm/index.js +14 -0
  24. package/dist/esm/index.js.map +1 -0
  25. package/dist/esm/parallel-aggregator.js +65 -0
  26. package/dist/esm/parallel-aggregator.js.map +1 -0
  27. package/dist/types/batch-processor.d.ts +66 -0
  28. package/dist/types/batch-processor.d.ts.map +1 -0
  29. package/dist/types/complexity-router.d.ts +55 -0
  30. package/dist/types/complexity-router.d.ts.map +1 -0
  31. package/dist/types/cost-optimizer.d.ts +57 -0
  32. package/dist/types/cost-optimizer.d.ts.map +1 -0
  33. package/dist/types/failover.d.ts +40 -0
  34. package/dist/types/failover.d.ts.map +1 -0
  35. package/dist/types/index.d.ts +14 -0
  36. package/dist/types/index.d.ts.map +1 -0
  37. package/dist/types/parallel-aggregator.d.ts +45 -0
  38. package/dist/types/parallel-aggregator.d.ts.map +1 -0
  39. package/package.json +71 -0
  40. package/readme.md +54 -0
package/package.json ADDED
@@ -0,0 +1,71 @@
1
+ {
2
+ "name": "ai.matey.patterns",
3
+ "version": "0.2.0",
4
+ "description": "Production integration patterns for AI Matey - complexity routing, parallel aggregation, failover, cost optimization, batch processing",
5
+ "type": "module",
6
+ "main": "./dist/cjs/index.js",
7
+ "module": "./dist/esm/index.js",
8
+ "types": "./dist/types/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": {
12
+ "types": "./dist/types/index.d.ts",
13
+ "default": "./dist/esm/index.js"
14
+ },
15
+ "require": {
16
+ "types": "./dist/types/index.d.ts",
17
+ "default": "./dist/cjs/index.js"
18
+ }
19
+ }
20
+ },
21
+ "files": [
22
+ "dist",
23
+ "readme.md",
24
+ "CHANGELOG.md",
25
+ "LICENSE"
26
+ ],
27
+ "scripts": {
28
+ "build": "npm run build:esm && npm run build:cjs && npm run build:types",
29
+ "build:esm": "tsc -p tsconfig.esm.json",
30
+ "build:cjs": "tsc -p tsconfig.cjs.json",
31
+ "build:types": "tsc -p tsconfig.types.json",
32
+ "clean": "rm -rf dist",
33
+ "typecheck": "tsc --noEmit",
34
+ "lint": "eslint src --ext .ts",
35
+ "lint:fix": "eslint src --ext .ts --fix",
36
+ "test": "vitest run",
37
+ "test:watch": "vitest"
38
+ },
39
+ "dependencies": {
40
+ "ai.matey.types": "*",
41
+ "ai.matey.core": "*",
42
+ "ai.matey.errors": "*"
43
+ },
44
+ "devDependencies": {
45
+ "typescript": "^5.9.3",
46
+ "vitest": "^3.2.4"
47
+ },
48
+ "keywords": [
49
+ "ai",
50
+ "llm",
51
+ "patterns",
52
+ "routing",
53
+ "failover",
54
+ "batch",
55
+ "ai-matey"
56
+ ],
57
+ "author": "AI Matey",
58
+ "license": "MIT",
59
+ "homepage": "https://github.com/johnhenry/ai.matey#readme",
60
+ "bugs": {
61
+ "url": "https://github.com/johnhenry/ai.matey/issues"
62
+ },
63
+ "repository": {
64
+ "type": "git",
65
+ "url": "git+https://github.com/johnhenry/ai.matey.git",
66
+ "directory": "packages/patterns"
67
+ },
68
+ "engines": {
69
+ "node": ">=18.0.0"
70
+ }
71
+ }
package/readme.md ADDED
@@ -0,0 +1,54 @@
1
+ # ai.matey.patterns
2
+
3
+ Production integration patterns for the [ai.matey](https://github.com/johnhenry/ai.matey)
4
+ Universal AI Adapter System — the validated patterns from the pattern library, packaged as
5
+ importable utilities.
6
+
7
+ ```bash
8
+ npm install ai.matey.patterns
9
+ ```
10
+
11
+ ## Patterns
12
+
13
+ | Utility | Purpose |
14
+ |---|---|
15
+ | `createComplexityRouter()` | Route by query complexity: cheap models for simple queries, capable models for hard ones |
16
+ | `createParallelAggregator()` | Query several providers at once; fastest-wins, all-results, or a custom judge |
17
+ | `createFailoverMiddleware()` | Bridge-level failover to fallback adapters (Router users: prefer built-in fallback chains) |
18
+ | `createCostOptimizer()` | Cost-optimized routing plus a sliding-window budget ceiling |
19
+ | `createBatchProcessor()` | Bounded-concurrency queue with token-bucket rate limiting and retries |
20
+
21
+ ## Quick start
22
+
23
+ ```typescript
24
+ import { createComplexityRouter, createBatchProcessor } from 'ai.matey.patterns';
25
+ import { Bridge } from 'ai.matey.core';
26
+ import { OpenAIFrontendAdapter } from 'ai.matey.frontend';
27
+ import { OpenAIBackendAdapter, AnthropicBackendAdapter } from 'ai.matey.backend';
28
+
29
+ const router = createComplexityRouter({
30
+ tiers: [
31
+ { backend: 'fast', maxComplexity: 40 },
32
+ { backend: 'powerful', maxComplexity: 100 },
33
+ ],
34
+ backends: {
35
+ fast: new OpenAIBackendAdapter({ apiKey: process.env.OPENAI_API_KEY }),
36
+ powerful: new AnthropicBackendAdapter({ apiKey: process.env.ANTHROPIC_API_KEY }),
37
+ },
38
+ });
39
+
40
+ const bridge = new Bridge(new OpenAIFrontendAdapter(), router);
41
+
42
+ const processor = createBatchProcessor({
43
+ execute: (request) => bridge.chat(request),
44
+ concurrency: 5,
45
+ requestsPerSecond: 10,
46
+ });
47
+ ```
48
+
49
+ See the [pattern guide](https://github.com/johnhenry/ai.matey/blob/main/docs/PATTERNS.md) for
50
+ the full write-ups, benchmarks, and trade-offs behind each pattern.
51
+
52
+ ## License
53
+
54
+ MIT