adaptive-memory-multi-model-router 1.2.2 → 1.3.1

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 (195) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +146 -66
  3. package/dist/index.d.ts +1 -1
  4. package/dist/index.js +1 -1
  5. package/dist/integrations/airtable.js +20 -0
  6. package/dist/integrations/discord.js +18 -0
  7. package/dist/integrations/github.js +23 -0
  8. package/dist/integrations/gmail.js +19 -0
  9. package/dist/integrations/google-calendar.js +18 -0
  10. package/dist/integrations/index.js +61 -0
  11. package/dist/integrations/jira.js +21 -0
  12. package/dist/integrations/linear.js +19 -0
  13. package/dist/integrations/notion.js +19 -0
  14. package/dist/integrations/slack.js +18 -0
  15. package/dist/integrations/telegram.js +19 -0
  16. package/dist/providers/registry.js +7 -3
  17. package/docs/ARCHITECTURAL-IMPROVEMENTS-2025.md +1391 -0
  18. package/docs/ARCHITECTURAL-IMPROVEMENTS-REVISED-2025.md +1051 -0
  19. package/docs/CONFIGURATION.md +476 -0
  20. package/docs/COUNCIL_DECISION.json +308 -0
  21. package/docs/COUNCIL_SUMMARY.md +265 -0
  22. package/docs/COUNCIL_V2.2_DECISION.md +416 -0
  23. package/docs/IMPROVEMENT_ROADMAP.md +515 -0
  24. package/docs/LLM_COUNCIL_DECISION.md +508 -0
  25. package/docs/QUICK_START_VISIBILITY.md +782 -0
  26. package/docs/REDDIT_GAP_ANALYSIS.md +299 -0
  27. package/docs/RESEARCH_BACKED_IMPROVEMENTS.md +1180 -0
  28. package/docs/TMLPD_QNA.md +751 -0
  29. package/docs/TMLPD_V2.1_COMPLETE.md +763 -0
  30. package/docs/TMLPD_V2.2_RESEARCH_ROADMAP.md +754 -0
  31. package/docs/V2.2_IMPLEMENTATION_COMPLETE.md +446 -0
  32. package/docs/V2_IMPLEMENTATION_GUIDE.md +388 -0
  33. package/docs/VISIBILITY_ADOPTION_PLAN.md +1005 -0
  34. package/docs/launch-content/LAUNCH_EXECUTION_CHECKLIST.md +421 -0
  35. package/docs/launch-content/README.md +457 -0
  36. package/docs/launch-content/assets/cost_comparison_100_tasks.png +0 -0
  37. package/docs/launch-content/assets/cumulative_savings.png +0 -0
  38. package/docs/launch-content/assets/parallel_speedup.png +0 -0
  39. package/docs/launch-content/assets/provider_pricing_comparison.png +0 -0
  40. package/docs/launch-content/assets/task_breakdown_comparison.png +0 -0
  41. package/docs/launch-content/generate_charts.py +313 -0
  42. package/docs/launch-content/hn_show_post.md +139 -0
  43. package/docs/launch-content/partner_outreach_templates.md +745 -0
  44. package/docs/launch-content/reddit_posts.md +467 -0
  45. package/docs/launch-content/twitter_thread.txt +460 -0
  46. package/examples/QUICKSTART.md +1 -1
  47. package/openclaw-alexa-bridge/ALL_REMAINING_FIXES_PLAN.md +313 -0
  48. package/openclaw-alexa-bridge/REMAINING_FIXES_SUMMARY.md +277 -0
  49. package/openclaw-alexa-bridge/src/alexa_handler_no_tmlpd.js +1234 -0
  50. package/openclaw-alexa-bridge/test_fixes.js +77 -0
  51. package/package.json +120 -29
  52. package/package.json.tmp +0 -0
  53. package/qna/TMLPD_QNA.md +3 -3
  54. package/skill/SKILL.md +2 -2
  55. package/src/__tests__/integration/tmpld_integration.test.py +540 -0
  56. package/src/agents/skill_enhanced_agent.py +318 -0
  57. package/src/memory/__init__.py +15 -0
  58. package/src/memory/agentic_memory.py +353 -0
  59. package/src/memory/semantic_memory.py +444 -0
  60. package/src/memory/simple_memory.py +466 -0
  61. package/src/memory/working_memory.py +447 -0
  62. package/src/orchestration/__init__.py +52 -0
  63. package/src/orchestration/execution_engine.py +353 -0
  64. package/src/orchestration/halo_orchestrator.py +367 -0
  65. package/src/orchestration/mcts_workflow.py +498 -0
  66. package/src/orchestration/role_assigner.py +473 -0
  67. package/src/orchestration/task_planner.py +522 -0
  68. package/src/providers/__init__.py +67 -0
  69. package/src/providers/anthropic.py +304 -0
  70. package/src/providers/base.py +241 -0
  71. package/src/providers/cerebras.py +373 -0
  72. package/src/providers/registry.py +476 -0
  73. package/src/routing/__init__.py +30 -0
  74. package/src/routing/universal_router.py +621 -0
  75. package/src/skills/TMLPD-QUICKREF.md +210 -0
  76. package/src/skills/TMLPD-SETUP-SUMMARY.md +157 -0
  77. package/src/skills/TMLPD.md +540 -0
  78. package/src/skills/__tests__/skill_manager.test.ts +328 -0
  79. package/src/skills/skill_manager.py +385 -0
  80. package/src/skills/test-tmlpd.sh +108 -0
  81. package/src/skills/tmlpd-category.yaml +67 -0
  82. package/src/skills/tmlpd-monitoring.yaml +188 -0
  83. package/src/skills/tmlpd-phase.yaml +132 -0
  84. package/src/state/__init__.py +17 -0
  85. package/src/state/simple_checkpoint.py +508 -0
  86. package/src/tmlpd_agent.py +464 -0
  87. package/src/tmpld_v2.py +427 -0
  88. package/src/workflows/__init__.py +18 -0
  89. package/src/workflows/advanced_difficulty_classifier.py +377 -0
  90. package/src/workflows/chaining_executor.py +417 -0
  91. package/src/workflows/difficulty_integration.py +209 -0
  92. package/src/workflows/orchestrator.py +469 -0
  93. package/src/workflows/orchestrator_executor.py +456 -0
  94. package/src/workflows/parallelization_executor.py +382 -0
  95. package/src/workflows/router.py +311 -0
  96. package/test_integration_simple.py +86 -0
  97. package/test_mcts_workflow.py +150 -0
  98. package/test_templd_integration.py +262 -0
  99. package/test_universal_router.py +275 -0
  100. package/tmlpd-pi-extension/README.md +36 -0
  101. package/tmlpd-pi-extension/dist/cache/prefixCache.d.ts +114 -0
  102. package/tmlpd-pi-extension/dist/cache/prefixCache.d.ts.map +1 -0
  103. package/tmlpd-pi-extension/dist/cache/prefixCache.js +285 -0
  104. package/tmlpd-pi-extension/dist/cache/prefixCache.js.map +1 -0
  105. package/tmlpd-pi-extension/dist/cache/responseCache.d.ts +58 -0
  106. package/tmlpd-pi-extension/dist/cache/responseCache.d.ts.map +1 -0
  107. package/tmlpd-pi-extension/dist/cache/responseCache.js +153 -0
  108. package/tmlpd-pi-extension/dist/cache/responseCache.js.map +1 -0
  109. package/tmlpd-pi-extension/dist/cli.js +59 -0
  110. package/tmlpd-pi-extension/dist/cost/costTracker.d.ts +95 -0
  111. package/tmlpd-pi-extension/dist/cost/costTracker.d.ts.map +1 -0
  112. package/tmlpd-pi-extension/dist/cost/costTracker.js +240 -0
  113. package/tmlpd-pi-extension/dist/cost/costTracker.js.map +1 -0
  114. package/tmlpd-pi-extension/dist/index.d.ts +723 -0
  115. package/tmlpd-pi-extension/dist/index.d.ts.map +1 -0
  116. package/tmlpd-pi-extension/dist/index.js +239 -0
  117. package/tmlpd-pi-extension/dist/index.js.map +1 -0
  118. package/tmlpd-pi-extension/dist/memory/episodicMemory.d.ts +82 -0
  119. package/tmlpd-pi-extension/dist/memory/episodicMemory.d.ts.map +1 -0
  120. package/tmlpd-pi-extension/dist/memory/episodicMemory.js +145 -0
  121. package/tmlpd-pi-extension/dist/memory/episodicMemory.js.map +1 -0
  122. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.d.ts +102 -0
  123. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.d.ts.map +1 -0
  124. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.js +207 -0
  125. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.js.map +1 -0
  126. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.d.ts +85 -0
  127. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.d.ts.map +1 -0
  128. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.js +210 -0
  129. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.js.map +1 -0
  130. package/tmlpd-pi-extension/dist/providers/localProvider.d.ts +102 -0
  131. package/tmlpd-pi-extension/dist/providers/localProvider.d.ts.map +1 -0
  132. package/tmlpd-pi-extension/dist/providers/localProvider.js +338 -0
  133. package/tmlpd-pi-extension/dist/providers/localProvider.js.map +1 -0
  134. package/tmlpd-pi-extension/dist/providers/registry.d.ts +55 -0
  135. package/tmlpd-pi-extension/dist/providers/registry.d.ts.map +1 -0
  136. package/tmlpd-pi-extension/dist/providers/registry.js +138 -0
  137. package/tmlpd-pi-extension/dist/providers/registry.js.map +1 -0
  138. package/tmlpd-pi-extension/dist/routing/advancedRouter.d.ts +68 -0
  139. package/tmlpd-pi-extension/dist/routing/advancedRouter.d.ts.map +1 -0
  140. package/tmlpd-pi-extension/dist/routing/advancedRouter.js +332 -0
  141. package/tmlpd-pi-extension/dist/routing/advancedRouter.js.map +1 -0
  142. package/tmlpd-pi-extension/dist/tools/tmlpdTools.d.ts +101 -0
  143. package/tmlpd-pi-extension/dist/tools/tmlpdTools.d.ts.map +1 -0
  144. package/tmlpd-pi-extension/dist/tools/tmlpdTools.js +368 -0
  145. package/tmlpd-pi-extension/dist/tools/tmlpdTools.js.map +1 -0
  146. package/tmlpd-pi-extension/dist/utils/batchProcessor.d.ts +96 -0
  147. package/tmlpd-pi-extension/dist/utils/batchProcessor.d.ts.map +1 -0
  148. package/tmlpd-pi-extension/dist/utils/batchProcessor.js +170 -0
  149. package/tmlpd-pi-extension/dist/utils/batchProcessor.js.map +1 -0
  150. package/tmlpd-pi-extension/dist/utils/compression.d.ts +61 -0
  151. package/tmlpd-pi-extension/dist/utils/compression.d.ts.map +1 -0
  152. package/tmlpd-pi-extension/dist/utils/compression.js +281 -0
  153. package/tmlpd-pi-extension/dist/utils/compression.js.map +1 -0
  154. package/tmlpd-pi-extension/dist/utils/reliability.d.ts +74 -0
  155. package/tmlpd-pi-extension/dist/utils/reliability.d.ts.map +1 -0
  156. package/tmlpd-pi-extension/dist/utils/reliability.js +177 -0
  157. package/tmlpd-pi-extension/dist/utils/reliability.js.map +1 -0
  158. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.d.ts +117 -0
  159. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.d.ts.map +1 -0
  160. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.js +246 -0
  161. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.js.map +1 -0
  162. package/tmlpd-pi-extension/dist/utils/tokenUtils.d.ts +50 -0
  163. package/tmlpd-pi-extension/dist/utils/tokenUtils.d.ts.map +1 -0
  164. package/tmlpd-pi-extension/dist/utils/tokenUtils.js +124 -0
  165. package/tmlpd-pi-extension/dist/utils/tokenUtils.js.map +1 -0
  166. package/tmlpd-pi-extension/examples/QUICKSTART.md +183 -0
  167. package/tmlpd-pi-extension/package-lock.json +75 -0
  168. package/tmlpd-pi-extension/package.json +172 -0
  169. package/tmlpd-pi-extension/python/examples.py +53 -0
  170. package/tmlpd-pi-extension/python/integrations.py +330 -0
  171. package/tmlpd-pi-extension/python/setup.py +28 -0
  172. package/tmlpd-pi-extension/python/tmlpd.py +369 -0
  173. package/tmlpd-pi-extension/qna/REDDIT_GAP_ANALYSIS.md +299 -0
  174. package/tmlpd-pi-extension/qna/TMLPD_QNA.md +751 -0
  175. package/tmlpd-pi-extension/skill/SKILL.md +238 -0
  176. package/{src → tmlpd-pi-extension/src}/index.ts +1 -1
  177. package/tmlpd-pi-extension/tsconfig.json +18 -0
  178. package/demo/research-demo.js +0 -266
  179. package/notebooks/quickstart.ipynb +0 -157
  180. package/rust/tmlpd.h +0 -268
  181. package/src/cache/prefixCache.ts +0 -365
  182. package/src/routing/advancedRouter.ts +0 -406
  183. package/src/utils/speculativeDecoding.ts +0 -344
  184. /package/{src → tmlpd-pi-extension/src}/cache/responseCache.ts +0 -0
  185. /package/{src → tmlpd-pi-extension/src}/cost/costTracker.ts +0 -0
  186. /package/{src → tmlpd-pi-extension/src}/memory/episodicMemory.ts +0 -0
  187. /package/{src → tmlpd-pi-extension/src}/orchestration/haloOrchestrator.ts +0 -0
  188. /package/{src → tmlpd-pi-extension/src}/orchestration/mctsWorkflow.ts +0 -0
  189. /package/{src → tmlpd-pi-extension/src}/providers/localProvider.ts +0 -0
  190. /package/{src → tmlpd-pi-extension/src}/providers/registry.ts +0 -0
  191. /package/{src → tmlpd-pi-extension/src}/tools/tmlpdTools.ts +0 -0
  192. /package/{src → tmlpd-pi-extension/src}/utils/batchProcessor.ts +0 -0
  193. /package/{src → tmlpd-pi-extension/src}/utils/compression.ts +0 -0
  194. /package/{src → tmlpd-pi-extension/src}/utils/reliability.ts +0 -0
  195. /package/{src → tmlpd-pi-extension/src}/utils/tokenUtils.ts +0 -0
@@ -0,0 +1,183 @@
1
+ # TMLPD PI Extension - Usage Examples
2
+
3
+ ## Quick Start
4
+
5
+ ```python
6
+ from tmlpd import quick_process
7
+
8
+ # One-liner
9
+ result = quick_process("What is quantum entanglement?")
10
+ print(result["content"])
11
+ ```
12
+
13
+ ## Task Classification
14
+
15
+ ```python
16
+ from tmlpd import TMLPDLite, TaskType
17
+
18
+ lite = TMLPDLite()
19
+
20
+ # Automatic task classification
21
+ prompt = "Write Python async HTTP client"
22
+ task_type = lite.classify_task(prompt) # TaskType.CODING
23
+
24
+ # Get optimal models
25
+ models = lite.get_optimal_models(task_type, 3)
26
+ # ["codex", "claude-minimax", "claude"]
27
+ ```
28
+
29
+ ## Caching
30
+
31
+ ```python
32
+ from tmlpd import TMLPDLite
33
+
34
+ lite = TMLPDLite()
35
+
36
+ # First call - not cached
37
+ result1 = lite.process("What is 2+2?", use_cache=True)
38
+ print(f"Cached: {result1['cached']}") # False
39
+
40
+ # Second call - from cache
41
+ result2 = lite.process("What is 2+2?", use_cache=True)
42
+ print(f"Cached: {result2['cached']}") # True
43
+ ```
44
+
45
+ ## Async Client (Production)
46
+
47
+ ```python
48
+ import asyncio
49
+ from tmlpd import TMLPDClient, TMLPDConfig
50
+
51
+ async def main():
52
+ config = TMLPDConfig(
53
+ cache_ttl_seconds=3600,
54
+ daily_budget=10.0,
55
+ max_concurrent=5
56
+ )
57
+ client = TMLPDClient(config)
58
+
59
+ # Single execution
60
+ result = await client.execute("Explain quantum entanglement")
61
+
62
+ # Parallel execution
63
+ parallel = await client.execute_parallel(
64
+ "Compare Python and JavaScript",
65
+ models=["gpt-4o", "claude", "gemini"]
66
+ )
67
+
68
+ # Cost summary
69
+ summary = await client.get_cost_summary()
70
+ print(f"Total spent: ${summary.total_cost}")
71
+
72
+ asyncio.run(main())
73
+ ```
74
+
75
+ ## Cost Optimization
76
+
77
+ ```python
78
+ import asyncio
79
+ from tmlpd import TMLPDClient
80
+
81
+ async def cost_optimization():
82
+ client = TMLPDClient()
83
+
84
+ # Cheap for simple tasks
85
+ simple = await client.execute("What is 2+2?", model="cerebras/llama-3.3-70b")
86
+ print(f"Simple task cost: ${simple.cost:.6f}")
87
+
88
+ # Premium for complex tasks
89
+ complex = await client.execute("Design microservices", model="anthropic/claude-3.5-sonnet")
90
+ print(f"Complex task cost: ${complex.cost:.6f}")
91
+
92
+ asyncio.run(cost_optimization())
93
+ ```
94
+
95
+ ## LangChain Integration
96
+
97
+ ```python
98
+ from langchain.llms import BaseLLM
99
+ from tmlpd import TMLPDLite
100
+
101
+ class TMLPDLLM(BaseLLM):
102
+ def __init__(self, task_type="default"):
103
+ self.lite = TMLPDLite()
104
+ self.task_type = task_type
105
+
106
+ def _call(self, prompt: str) -> str:
107
+ result = self.lite.process(prompt)
108
+ return result["content"]
109
+
110
+ # Usage
111
+ llm = TMLPDLLM(task_type="coding")
112
+ response = llm("Write a Python function")
113
+ ```
114
+
115
+ ## API Server
116
+
117
+ ```python
118
+ # Run: node node_modules/tmlpd-pi/dist/server.js --port 18791
119
+ # Then use Python client:
120
+
121
+ import httpx
122
+
123
+ async def api_example():
124
+ async with httpx.AsyncClient() as client:
125
+ response = await client.post(
126
+ "http://localhost:18791/execute",
127
+ json={"prompt": "Hello world", "models": ["gpt-4o"]}
128
+ )
129
+ print(response.json())
130
+ ```
131
+
132
+ ## Task Types
133
+
134
+ | Task Type | Keywords | Best Models |
135
+ |-----------|----------|-------------|
136
+ | coding | python, javascript, code | codex, claude-minimax |
137
+ | frontend | react, vue, component | codex, claude-minimax |
138
+ | backend | api, server, database | codex, claude-glm |
139
+ | chinese | 中文, 汉语 | claude-glm, claude-minimax |
140
+ | fast | quick, simple | gemini, claude-haiku |
141
+ | premium | advanced, complex | claude-opus, gemini-pro |
142
+
143
+ ## Environment Variables
144
+
145
+ ```bash
146
+ # API Keys
147
+ export OPENAI_API_KEY="sk-..."
148
+ export ANTHROPIC_API_KEY="sk-ant-..."
149
+ export GROQ_API_KEY="gsk_..."
150
+
151
+ # TMLPD Configuration
152
+ export TMLPD_MAX_CONCURRENT=5
153
+ export TMLPD_DAILY_BUDGET=10.0
154
+ export TMLPD_CACHE_TTL=3600
155
+ ```
156
+
157
+ ## Full Example
158
+
159
+ ```python
160
+ import asyncio
161
+ from tmlpd import TMLPDClient, TMLPDLite
162
+
163
+ async def full_example():
164
+ # Lite for quick tasks
165
+ lite = TMLPDLite()
166
+ result = lite.process("What is Python?", use_cache=True)
167
+ print(f"Lite: {result['task_type']}")
168
+
169
+ # Full client for production
170
+ client = TMLPDClient()
171
+
172
+ # Batch processing
173
+ prompts = ["What is AI?", "What is ML?", "What is DL?"]
174
+ for prompt in prompts:
175
+ result = await client.execute(prompt)
176
+ print(f"Cost: ${result.cost:.6f}")
177
+
178
+ # Final stats
179
+ summary = await client.get_cost_summary()
180
+ print(f"Total: ${summary.total_cost:.6f}")
181
+
182
+ asyncio.run(full_example())
183
+ ```
@@ -0,0 +1,75 @@
1
+ {
2
+ "name": "tmlpd-pi",
3
+ "version": "1.2.2",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "tmlpd-pi",
9
+ "version": "1.2.2",
10
+ "license": "MIT",
11
+ "dependencies": {
12
+ "nanoid": "^5.0.0"
13
+ },
14
+ "bin": {
15
+ "tmlpd-pi": "dist/cli.js"
16
+ },
17
+ "devDependencies": {
18
+ "@types/node": "^20.0.0",
19
+ "typescript": "^5.0.0"
20
+ },
21
+ "engines": {
22
+ "node": ">=18.0.0"
23
+ }
24
+ },
25
+ "node_modules/@types/node": {
26
+ "version": "20.19.41",
27
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.41.tgz",
28
+ "integrity": "sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==",
29
+ "dev": true,
30
+ "license": "MIT",
31
+ "dependencies": {
32
+ "undici-types": "~6.21.0"
33
+ }
34
+ },
35
+ "node_modules/nanoid": {
36
+ "version": "5.1.11",
37
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.11.tgz",
38
+ "integrity": "sha512-v+KEsUv2ps74PaSKv0gHTxTCgMXOIfBEbaqa6w6ISIGC7ZsvHN4N9oJ8d4cmf0n5oTzQz2SLmThbQWhjd/8eKg==",
39
+ "funding": [
40
+ {
41
+ "type": "github",
42
+ "url": "https://github.com/sponsors/ai"
43
+ }
44
+ ],
45
+ "license": "MIT",
46
+ "bin": {
47
+ "nanoid": "bin/nanoid.js"
48
+ },
49
+ "engines": {
50
+ "node": "^18 || >=20"
51
+ }
52
+ },
53
+ "node_modules/typescript": {
54
+ "version": "5.9.3",
55
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
56
+ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
57
+ "dev": true,
58
+ "license": "Apache-2.0",
59
+ "bin": {
60
+ "tsc": "bin/tsc",
61
+ "tsserver": "bin/tsserver"
62
+ },
63
+ "engines": {
64
+ "node": ">=14.17"
65
+ }
66
+ },
67
+ "node_modules/undici-types": {
68
+ "version": "6.21.0",
69
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
70
+ "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
71
+ "dev": true,
72
+ "license": "MIT"
73
+ }
74
+ }
75
+ }
@@ -0,0 +1,172 @@
1
+ {
2
+ "name": "tmlpd-pi",
3
+ "version": "1.2.2",
4
+ "version_description": "v1.2.0 - Research-backed Multi-LLM Router based on arXiv: RouteLLM (2404.06035), RadixAttention (2312.07104), Medusa (2401.10774), FlashAttention (2407.07403). 120+ keywords for LLM/ML discoverability. 13 PI tools.",
5
+ "description": "Research-backed Multi-LLM Router with parallel execution, learned routing (RouteLLM), prefix caching (RadixAttention), speculative decoding (Medusa/EAGLE), token compression (ISON), local LLM support (Ollama/vLLM/LM Studio), batch processing. Python bindings for LangChain/LlamaIndex/AutoGen/CrewAI. 120+ keywords: routellm, prefix-caching, speculative-decoding, medusa, flashattention, pagedattention, kv-cache, arxiv, research-backed, icml, neurips, iclr.",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "bin": {
9
+ "tmlpd-pi": "dist/cli.js"
10
+ },
11
+ "scripts": {
12
+ "build": "tsc",
13
+ "prepublish": "npm run build",
14
+ "test": "node test/verify.js",
15
+ "demo": "node demo/research-demo.js",
16
+ "python:examples": "python3 python/examples.py"
17
+ },
18
+ "keywords": [
19
+ "pi-extension",
20
+ "pi",
21
+ "pi-package",
22
+ "pi-coding-agent",
23
+ "pi-agent",
24
+ "tmlpd",
25
+ "treequest",
26
+ "multi-llm",
27
+ "parallel-ai",
28
+ "llm-orchestration",
29
+ "llm",
30
+ "agent-orchestration",
31
+ "multi-agent",
32
+ "agent",
33
+ "parallel",
34
+ "streaming",
35
+ "cost-tracking",
36
+ "cost-optimization",
37
+ "cache",
38
+ "caching",
39
+ "circuit-breaker",
40
+ "retry",
41
+ "exponential-backoff",
42
+ "mcts",
43
+ "monte-carlo-tree-search",
44
+ "workflow-optimization",
45
+ "hierarchical-planning",
46
+ "halo",
47
+ "episodic-memory",
48
+ "semantic-memory",
49
+ "agent-memory",
50
+ "python",
51
+ "python-bindings",
52
+ "pypi",
53
+ "langchain",
54
+ "llamaindex",
55
+ "llama-index",
56
+ "autogen",
57
+ "crewai",
58
+ "huggingface",
59
+ "transformers",
60
+ "agent-codegen",
61
+ "ai-coding",
62
+ "openai",
63
+ "anthropic",
64
+ "google",
65
+ "groq",
66
+ "cerebras",
67
+ "mistral",
68
+ "xai",
69
+ "zai",
70
+ "claude",
71
+ "gpt-4",
72
+ "gemini",
73
+ "llama",
74
+ "model-router",
75
+ "model-routing",
76
+ "llm-router",
77
+ "ai-agents",
78
+ "autonomous-agents",
79
+ "memory-based-router",
80
+ "memory-based-llm-router",
81
+ "multi-llm-router",
82
+ "llm-memory-router",
83
+ "adaptive-router",
84
+ "adaptive-llm-router",
85
+ "intelligent-router",
86
+ "intelligent-llm-router",
87
+ "learning-router",
88
+ "contextual-router",
89
+ "context-aware-router",
90
+ "task-aware-router",
91
+ "memory-augmented",
92
+ "memory-augmented-llm",
93
+ "episodic-memory-router",
94
+ "semantic-memory-router",
95
+ "task-memory",
96
+ "cross-context-memory",
97
+ "token-compression",
98
+ "context-compression",
99
+ "ison-format",
100
+ "message-truncation",
101
+ "context-management",
102
+ "local-llm",
103
+ "ollama",
104
+ "vllm",
105
+ "lmstudio",
106
+ "local-model",
107
+ "privacy-llm",
108
+ "batch-processing",
109
+ "batch-execution",
110
+ "priority-queue",
111
+ "rate-limiting",
112
+ "token-counting",
113
+ "cost-estimation",
114
+ "cost-prediction",
115
+ "parallel-execution",
116
+ "multi-provider",
117
+ "fallback-chain",
118
+ "intelligent-failover",
119
+ "kv-cache",
120
+ "routellm",
121
+ "prefix-caching",
122
+ "radix-attention",
123
+ "speculative-decoding",
124
+ "medusa",
125
+ "eagle",
126
+ "flashattention",
127
+ "pagedattention",
128
+ "kv-cache-quantization",
129
+ "llmlingua",
130
+ "streamingllm",
131
+ "multimodel-orchestration",
132
+ "multi-agent-debate",
133
+ "self-consistency",
134
+ "tensor-parallelism",
135
+ "continuous-batching",
136
+ "arxiv",
137
+ "research-backed",
138
+ "icml",
139
+ "neurips",
140
+ "iclr"
141
+ ],
142
+ "author": "Subho Das",
143
+ "license": "MIT",
144
+ "homepage": "https://github.com/Das-rebel/tmlpd-skill#readme",
145
+ "repository": {
146
+ "type": "git",
147
+ "url": "https://github.com/Das-rebel/tmlpd-skill.git"
148
+ },
149
+ "bugs": {
150
+ "url": "https://github.com/Das-rebel/tmlpd-skill/issues"
151
+ },
152
+ "dependencies": {
153
+ "nanoid": "^5.0.0"
154
+ },
155
+ "devDependencies": {
156
+ "typescript": "^5.0.0",
157
+ "@types/node": "^20.0.0"
158
+ },
159
+ "engines": {
160
+ "node": ">=18.0.0"
161
+ },
162
+ "categories": [
163
+ "AI",
164
+ "Machine Learning",
165
+ "Developer Tools",
166
+ "Programming"
167
+ ],
168
+ "funding": {
169
+ "type": "individual",
170
+ "url": "https://github.com/sponsors/Das-rebel"
171
+ }
172
+ }
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ TMLPD Python Usage Examples
4
+ Run: python3 examples.py
5
+ """
6
+
7
+ from tmlpd import TMLPDLite, quick_process, TaskType
8
+
9
+ def main():
10
+ print("=" * 60)
11
+ print("TMLPD Python - Quick Examples")
12
+ print("=" * 60)
13
+
14
+ # Example 1: One-liner
15
+ print("\n1. One-liner usage:")
16
+ result = quick_process("What is quantum entanglement?")
17
+ print(f" Task type: {result['task_type']}")
18
+
19
+ # Example 2: Task classification
20
+ print("\n2. Task classification:")
21
+ lite = TMLPDLite()
22
+ prompts = [
23
+ "Write Python async function",
24
+ "Explain neural network",
25
+ "Build React component",
26
+ "Create PostgreSQL schema"
27
+ ]
28
+ for p in prompts:
29
+ tt = lite.classify_task(p)
30
+ models = lite.get_optimal_models(tt, 2)
31
+ print(f" '{p[:30]}...' -> {tt.value} -> {models}")
32
+
33
+ # Example 3: Caching
34
+ print("\n3. Caching:")
35
+ prompt = "What is the capital of France?"
36
+ r1 = lite.process(prompt, use_cache=True)
37
+ r2 = lite.process(prompt, use_cache=True)
38
+ print(f" First: cached={r1['cached']}")
39
+ print(f" Second: cached={r2['cached']}")
40
+
41
+ # Example 4: Batch processing
42
+ print("\n4. Batch processing:")
43
+ batch = ["Python", "JavaScript", "TypeScript", "Rust", "Go"]
44
+ results = [lite.process(f"What is {lang}?") for lang in batch]
45
+ for lang, res in zip(batch, results):
46
+ print(f" {lang}: {res['task_type']}")
47
+
48
+ print("\n" + "=" * 60)
49
+ print("Examples completed!")
50
+ print("=" * 60)
51
+
52
+ if __name__ == "__main__":
53
+ main()