memeloop 0.0.1 → 0.1.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 (228) hide show
  1. package/README.md +63 -0
  2. package/dist/browser.cjs +1413 -0
  3. package/dist/browser.cjs.map +1 -0
  4. package/dist/browser.d.cts +3066 -0
  5. package/dist/browser.d.ts +3066 -0
  6. package/dist/browser.js +43 -0
  7. package/dist/chunk-2C6BJZI3.js +382 -0
  8. package/dist/chunk-2C6BJZI3.js.map +1 -0
  9. package/dist/chunk-426CJUZP.js +630 -0
  10. package/dist/chunk-426CJUZP.js.map +1 -0
  11. package/dist/chunk-7ZDTB4VZ.js +63 -0
  12. package/dist/chunk-7ZDTB4VZ.js.map +1 -0
  13. package/dist/chunk-AZFYDWIN.js +98 -0
  14. package/dist/chunk-AZFYDWIN.js.map +1 -0
  15. package/dist/chunk-BGPU4RR7.js +367 -0
  16. package/dist/chunk-BGPU4RR7.js.map +1 -0
  17. package/dist/chunk-CCEFAOSH.js +496 -0
  18. package/dist/chunk-CCEFAOSH.js.map +1 -0
  19. package/dist/chunk-FWSY5HOA.js +63 -0
  20. package/dist/chunk-FWSY5HOA.js.map +1 -0
  21. package/dist/chunk-GYIOMQMY.js +8726 -0
  22. package/dist/chunk-GYIOMQMY.js.map +1 -0
  23. package/dist/chunk-K6P63KD4.js +68 -0
  24. package/dist/chunk-K6P63KD4.js.map +1 -0
  25. package/dist/chunk-KFS2EJT6.js +42 -0
  26. package/dist/chunk-KFS2EJT6.js.map +1 -0
  27. package/dist/chunk-MAJWHAKR.js +3637 -0
  28. package/dist/chunk-MAJWHAKR.js.map +1 -0
  29. package/dist/chunk-MRKY4HGF.js +205 -0
  30. package/dist/chunk-MRKY4HGF.js.map +1 -0
  31. package/dist/chunk-T7FSXWFR.js +2744 -0
  32. package/dist/chunk-T7FSXWFR.js.map +1 -0
  33. package/dist/chunk-VZKQX5PP.js +1 -0
  34. package/dist/chunk-VZKQX5PP.js.map +1 -0
  35. package/dist/chunk-WAI6BODI.js +175 -0
  36. package/dist/chunk-WAI6BODI.js.map +1 -0
  37. package/dist/chunk-YMNXDNDW.js +798 -0
  38. package/dist/chunk-YMNXDNDW.js.map +1 -0
  39. package/dist/conversation.cjs +208 -0
  40. package/dist/conversation.cjs.map +1 -0
  41. package/dist/conversation.d.cts +100 -0
  42. package/dist/conversation.d.ts +100 -0
  43. package/dist/conversation.js +21 -0
  44. package/dist/conversation.js.map +1 -0
  45. package/dist/device-network-portable.cjs +702 -0
  46. package/dist/device-network-portable.cjs.map +1 -0
  47. package/dist/device-network-portable.d.cts +110 -0
  48. package/dist/device-network-portable.d.ts +110 -0
  49. package/dist/device-network-portable.js +53 -0
  50. package/dist/device-network-portable.js.map +1 -0
  51. package/dist/device-network.cjs +906 -0
  52. package/dist/device-network.cjs.map +1 -0
  53. package/dist/device-network.d.cts +6 -0
  54. package/dist/device-network.d.ts +6 -0
  55. package/dist/device-network.js +59 -0
  56. package/dist/device-network.js.map +1 -0
  57. package/dist/fetchProvider-WWnWnQFP.d.ts +91 -0
  58. package/dist/fetchProvider-toTHy5Nu.d.cts +91 -0
  59. package/dist/index.cjs +28051 -5459
  60. package/dist/index.cjs.map +1 -1
  61. package/dist/index.d.cts +94 -1320
  62. package/dist/index.d.ts +94 -1320
  63. package/dist/index.js +10616 -2420
  64. package/dist/index.js.map +1 -1
  65. package/dist/interface-IrKBFtL1.d.cts +493 -0
  66. package/dist/interface-IrKBFtL1.d.ts +493 -0
  67. package/dist/llm-providers.cjs +43 -8
  68. package/dist/llm-providers.cjs.map +1 -1
  69. package/dist/llm-providers.d.cts +2 -1
  70. package/dist/llm-providers.d.ts +2 -1
  71. package/dist/llm-providers.js +4 -2
  72. package/dist/llm-providers.js.map +1 -1
  73. package/dist/loop-api.cjs +5227 -2010
  74. package/dist/loop-api.cjs.map +1 -1
  75. package/dist/loop-api.d.cts +11 -5
  76. package/dist/loop-api.d.ts +11 -5
  77. package/dist/loop-api.js +86 -49
  78. package/dist/mobile.cjs +2711 -0
  79. package/dist/mobile.cjs.map +1 -0
  80. package/dist/mobile.d.cts +6 -0
  81. package/dist/mobile.d.ts +6 -0
  82. package/dist/mobile.js +22 -0
  83. package/dist/mobile.js.map +1 -0
  84. package/dist/orchestration-portable-BHB_YrNN.d.ts +2192 -0
  85. package/dist/orchestration-portable-mvYBvGBb.d.cts +2192 -0
  86. package/dist/orchestration-portable.cjs +9553 -0
  87. package/dist/orchestration-portable.cjs.map +1 -0
  88. package/dist/orchestration-portable.d.cts +5 -0
  89. package/dist/orchestration-portable.d.ts +5 -0
  90. package/dist/orchestration-portable.js +290 -0
  91. package/dist/orchestration-portable.js.map +1 -0
  92. package/dist/pairingInvite-BXPWY3aM.d.cts +149 -0
  93. package/dist/pairingInvite-Cuz0wuq9.d.ts +149 -0
  94. package/dist/promptConcat-0WNFTg4l.d.ts +516 -0
  95. package/dist/promptConcat-D6wr5V-V.d.cts +516 -0
  96. package/dist/providerRegistry-Bi6pAvSj.d.ts +86 -0
  97. package/dist/providerRegistry-CPsktuiX.d.cts +86 -0
  98. package/dist/registry-D0kbxksn.d.cts +393 -0
  99. package/dist/registry-DDbvhlhs.d.ts +393 -0
  100. package/dist/remoteClient-B_spK019.d.ts +87 -0
  101. package/dist/remoteClient-CBggnRy3.d.cts +87 -0
  102. package/dist/runtime-PGWR6FIV.js +18 -0
  103. package/dist/runtime-PGWR6FIV.js.map +1 -0
  104. package/dist/scriptDeploymentPipeline-CXJcC82H.d.ts +2464 -0
  105. package/dist/scriptDeploymentPipeline-yG1ZhVVI.d.cts +2464 -0
  106. package/dist/syncCloudDevices-BEqwgrhD.d.ts +49 -0
  107. package/dist/syncCloudDevices-Ds_Kcgrv.d.cts +49 -0
  108. package/dist/types-7pYti-k9.d.cts +255 -0
  109. package/dist/types-CdFVSntj.d.ts +255 -0
  110. package/package.json +110 -35
  111. package/dist/anthropic.cjs +0 -72
  112. package/dist/anthropic.cjs.map +0 -1
  113. package/dist/anthropic.d.cts +0 -21
  114. package/dist/anthropic.d.ts +0 -21
  115. package/dist/anthropic.js +0 -21
  116. package/dist/anthropic.js.map +0 -1
  117. package/dist/azure.cjs +0 -72
  118. package/dist/azure.cjs.map +0 -1
  119. package/dist/azure.d.cts +0 -21
  120. package/dist/azure.d.ts +0 -21
  121. package/dist/azure.js +0 -21
  122. package/dist/azure.js.map +0 -1
  123. package/dist/chunk-3CN7DFBL.js +0 -4894
  124. package/dist/chunk-3CN7DFBL.js.map +0 -1
  125. package/dist/chunk-4AZ4D7U5.js +0 -32
  126. package/dist/chunk-4AZ4D7U5.js.map +0 -1
  127. package/dist/chunk-6ON4XSOV.js +0 -63
  128. package/dist/chunk-6ON4XSOV.js.map +0 -1
  129. package/dist/chunk-DJQNGIXX.js +0 -4793
  130. package/dist/chunk-DJQNGIXX.js.map +0 -1
  131. package/dist/chunk-FKQP6AOQ.js +0 -32
  132. package/dist/chunk-FKQP6AOQ.js.map +0 -1
  133. package/dist/chunk-OVJ7JJBA.js +0 -35
  134. package/dist/chunk-OVJ7JJBA.js.map +0 -1
  135. package/dist/chunk-P4UZ7IXC.js +0 -42
  136. package/dist/chunk-YHJ2AEFR.js +0 -4933
  137. package/dist/chunk-YHJ2AEFR.js.map +0 -1
  138. package/dist/chunk-YVK7RYRO.js +0 -4973
  139. package/dist/chunk-YVK7RYRO.js.map +0 -1
  140. package/dist/code-assistant.json +0 -114
  141. package/dist/cohere.cjs +0 -72
  142. package/dist/cohere.cjs.map +0 -1
  143. package/dist/cohere.d.cts +0 -21
  144. package/dist/cohere.d.ts +0 -21
  145. package/dist/cohere.js +0 -21
  146. package/dist/cohere.js.map +0 -1
  147. package/dist/deepseek.cjs +0 -72
  148. package/dist/deepseek.cjs.map +0 -1
  149. package/dist/deepseek.d.cts +0 -21
  150. package/dist/deepseek.d.ts +0 -21
  151. package/dist/deepseek.js +0 -21
  152. package/dist/deepseek.js.map +0 -1
  153. package/dist/dist-65U7OYRG.js +0 -1257
  154. package/dist/dist-65U7OYRG.js.map +0 -1
  155. package/dist/fetchProvider-Cu4WkU5O.d.cts +0 -819
  156. package/dist/fetchProvider-Cu4WkU5O.d.ts +0 -819
  157. package/dist/frontend-ui-ux.json +0 -105
  158. package/dist/general-assistant.json +0 -95
  159. package/dist/git-master.json +0 -51
  160. package/dist/google-vertex.cjs +0 -72
  161. package/dist/google-vertex.cjs.map +0 -1
  162. package/dist/google-vertex.d.cts +0 -21
  163. package/dist/google-vertex.d.ts +0 -21
  164. package/dist/google-vertex.js +0 -21
  165. package/dist/google-vertex.js.map +0 -1
  166. package/dist/google.cjs +0 -72
  167. package/dist/google.cjs.map +0 -1
  168. package/dist/google.d.cts +0 -21
  169. package/dist/google.d.ts +0 -21
  170. package/dist/google.js +0 -21
  171. package/dist/google.js.map +0 -1
  172. package/dist/groq.cjs +0 -72
  173. package/dist/groq.cjs.map +0 -1
  174. package/dist/groq.d.cts +0 -21
  175. package/dist/groq.d.ts +0 -21
  176. package/dist/groq.js +0 -21
  177. package/dist/groq.js.map +0 -1
  178. package/dist/index.d.mts +0 -3203
  179. package/dist/index.mjs +0 -7064
  180. package/dist/index.mjs.map +0 -1
  181. package/dist/mistral.cjs +0 -72
  182. package/dist/mistral.cjs.map +0 -1
  183. package/dist/mistral.d.cts +0 -21
  184. package/dist/mistral.d.ts +0 -21
  185. package/dist/mistral.js +0 -21
  186. package/dist/mistral.js.map +0 -1
  187. package/dist/multipart-parser-EJCXIUHC.js +0 -372
  188. package/dist/multipart-parser-EJCXIUHC.js.map +0 -1
  189. package/dist/openai.cjs +0 -72
  190. package/dist/openai.cjs.map +0 -1
  191. package/dist/openai.d.cts +0 -21
  192. package/dist/openai.d.ts +0 -21
  193. package/dist/openai.js +0 -21
  194. package/dist/openai.js.map +0 -1
  195. package/dist/perplexity.cjs +0 -72
  196. package/dist/perplexity.cjs.map +0 -1
  197. package/dist/perplexity.d.cts +0 -21
  198. package/dist/perplexity.d.ts +0 -21
  199. package/dist/perplexity.js +0 -21
  200. package/dist/perplexity.js.map +0 -1
  201. package/dist/playwright.json +0 -52
  202. package/dist/promptConcat-BJdazTg5.d.cts +0 -1832
  203. package/dist/promptConcat-BJdazTg5.d.ts +0 -1832
  204. package/dist/promptConcat-CAkpni_8.d.cts +0 -1834
  205. package/dist/promptConcat-CAkpni_8.d.ts +0 -1834
  206. package/dist/promptConcat-CfH5-GAE.d.cts +0 -1036
  207. package/dist/promptConcat-ChcAZOOL.d.ts +0 -1036
  208. package/dist/promptConcat-G5TnJVRy.d.cts +0 -1800
  209. package/dist/promptConcat-G5TnJVRy.d.ts +0 -1800
  210. package/dist/promptConcat-L72eowzp.d.ts +0 -1090
  211. package/dist/promptConcat-eLHdN7K8.d.cts +0 -1090
  212. package/dist/src-VTSXKG72.js +0 -1409
  213. package/dist/src-VTSXKG72.js.map +0 -1
  214. package/dist/togetherai.cjs +0 -72
  215. package/dist/togetherai.cjs.map +0 -1
  216. package/dist/togetherai.d.cts +0 -21
  217. package/dist/togetherai.d.ts +0 -21
  218. package/dist/togetherai.js +0 -21
  219. package/dist/togetherai.js.map +0 -1
  220. package/dist/types-B0Jm2l38.d.cts +0 -767
  221. package/dist/types-B0Jm2l38.d.ts +0 -767
  222. package/dist/xai.cjs +0 -72
  223. package/dist/xai.cjs.map +0 -1
  224. package/dist/xai.d.cts +0 -21
  225. package/dist/xai.d.ts +0 -21
  226. package/dist/xai.js +0 -21
  227. package/dist/xai.js.map +0 -1
  228. /package/dist/{chunk-P4UZ7IXC.js.map → browser.js.map} +0 -0
@@ -1,105 +0,0 @@
1
- {
2
- "id": "memeloop:frontend-ui-ux",
3
- "name": "Frontend UI/UX",
4
- "description": "Designer-turned-developer who crafts stunning UI/UX even without design mockups.",
5
- "loopId": "agent-tool-loop",
6
- "systemPrompt": "You are a designer-turned-developer who crafts stunning UI/UX even without design mockups.\n\nWhen working on frontend tasks:\n- Prioritize visual polish and user experience above all else\n- Use consistent spacing, typography, and color schemes\n- Apply modern design patterns: rounded corners, subtle shadows, smooth transitions\n- Ensure responsive design across mobile, tablet, and desktop breakpoints\n- Prefer accessible patterns: semantic HTML, ARIA labels, keyboard navigation\n- Optimize for perceived performance: skeleton loaders, optimistic updates, progressive enhancement\n- Use component composition over monolithic layouts\n- Match the existing design system when extending an existing UI",
7
- "tools": [
8
- "workspacesList",
9
- "wikiSearch",
10
- "wikiOperation",
11
- "modelContextProtocol",
12
- "spawnAgent",
13
- "askQuestion",
14
- "webFetch"
15
- ],
16
- "plugins": [
17
- { "id": "builtin:mcp-client" },
18
- { "id": "builtin:mcp-forward" },
19
- { "id": "builtin:spawn-agent" },
20
- { "id": "builtin:ask-question" }
21
- ],
22
- "agentTools": [
23
- {
24
- "toolId": "workspacesList",
25
- "parameters": {
26
- "workspacesListParam": { "targetId": "builtin-system", "position": "after" }
27
- }
28
- },
29
- {
30
- "toolId": "wikiSearch",
31
- "parameters": {
32
- "wikiSearchParam": {
33
- "sourceType": "wiki",
34
- "toolListPosition": { "targetId": "builtin-system", "position": "after" },
35
- "toolResultDuration": 1
36
- }
37
- }
38
- },
39
- {
40
- "toolId": "wikiOperation",
41
- "parameters": {
42
- "wikiOperationParam": {
43
- "toolListPosition": { "targetId": "builtin-system", "position": "after" },
44
- "toolResultDuration": 1
45
- }
46
- }
47
- },
48
- {
49
- "toolId": "modelContextProtocol",
50
- "parameters": {
51
- "modelContextProtocolParam": {
52
- "serverUrl": "http://127.0.0.1:38385/mcp",
53
- "timeoutSecond": 30,
54
- "toolListPosition": { "targetId": "builtin-system", "position": "after" },
55
- "toolResultDuration": 1
56
- }
57
- }
58
- },
59
- {
60
- "toolId": "spawnAgent",
61
- "parameters": {
62
- "spawnAgentParam": {
63
- "toolListPosition": { "targetId": "builtin-system", "position": "after" },
64
- "toolResultDuration": 2,
65
- "defaultTimeoutMs": 120000
66
- }
67
- }
68
- },
69
- {
70
- "toolId": "askQuestion",
71
- "parameters": {
72
- "askQuestionParam": {
73
- "toolListPosition": { "targetId": "builtin-system", "position": "after" }
74
- }
75
- }
76
- },
77
- {
78
- "toolId": "webFetch",
79
- "parameters": {
80
- "webFetchParam": {
81
- "toolListPosition": { "targetId": "builtin-system", "position": "after" },
82
- "toolResultDuration": 1
83
- }
84
- }
85
- }
86
- ],
87
- "agentFrameworkConfig": {
88
- "prompts": [
89
- {
90
- "id": "builtin-system",
91
- "role": "system",
92
- "text": "You are a designer-turned-developer who crafts stunning UI/UX even without design mockups.\n\nWhen working on frontend tasks:\n- Prioritize visual polish and user experience above all else\n- Use consistent spacing, typography, and color schemes\n- Apply modern design patterns: rounded corners, subtle shadows, smooth transitions\n- Ensure responsive design across mobile, tablet, and desktop breakpoints\n- Prefer accessible patterns: semantic HTML, ARIA labels, keyboard navigation\n- Optimize for perceived performance: skeleton loaders, optimistic updates, progressive enhancement\n- Use component composition over monolithic layouts\n- Match the existing design system when extending an existing UI"
93
- }
94
- ],
95
- "plugins": [],
96
- "response": []
97
- },
98
- "modelConfig": {
99
- "provider": "memeloop",
100
- "model": "claude-opus-4.6",
101
- "temperature": 0.3,
102
- "maxTokens": 4096
103
- },
104
- "version": "1.0.0"
105
- }
@@ -1,95 +0,0 @@
1
- {
2
- "id": "memeloop:general-assistant",
3
- "name": "通用助手",
4
- "description": "通用自然语言助理,用于日常问答和简单任务。",
5
- "loopId": "agent-tool-loop",
6
- "systemPrompt": "You are a helpful general-purpose assistant. When you need to use a tool, output ONLY the tool call in this exact XML format:\n<tool_use name=\"TOOL_NAME\">{\"param\":\"value\"}</tool_use>\nNever wrap tool calls in markdown code blocks or add explanatory text before/after the tool call in the same message. After receiving the tool result, continue responding normally.",
7
- "tools": [
8
- "workspacesList",
9
- "wikiSearch",
10
- "wikiOperation",
11
- "modelContextProtocol",
12
- "spawnAgent",
13
- "askQuestion"
14
- ],
15
- "plugins": [
16
- { "id": "builtin:mcp-client" },
17
- { "id": "builtin:mcp-forward" },
18
- { "id": "builtin:spawn-agent" },
19
- { "id": "builtin:ask-question" }
20
- ],
21
- "agentTools": [
22
- {
23
- "toolId": "workspacesList",
24
- "parameters": {
25
- "workspacesListParam": { "targetId": "builtin-system", "position": "after" }
26
- }
27
- },
28
- {
29
- "toolId": "wikiSearch",
30
- "parameters": {
31
- "wikiSearchParam": {
32
- "sourceType": "wiki",
33
- "toolListPosition": { "targetId": "builtin-system", "position": "after" },
34
- "toolResultDuration": 1
35
- }
36
- }
37
- },
38
- {
39
- "toolId": "wikiOperation",
40
- "parameters": {
41
- "wikiOperationParam": {
42
- "toolListPosition": { "targetId": "builtin-system", "position": "after" },
43
- "toolResultDuration": 1
44
- }
45
- }
46
- },
47
- {
48
- "toolId": "modelContextProtocol",
49
- "parameters": {
50
- "modelContextProtocolParam": {
51
- "serverUrl": "http://127.0.0.1:38385/mcp",
52
- "timeoutSecond": 30,
53
- "toolListPosition": { "targetId": "builtin-system", "position": "after" },
54
- "toolResultDuration": 1
55
- }
56
- }
57
- },
58
- {
59
- "toolId": "spawnAgent",
60
- "parameters": {
61
- "spawnAgentParam": {
62
- "toolListPosition": { "targetId": "builtin-system", "position": "after" },
63
- "toolResultDuration": 2,
64
- "defaultTimeoutMs": 120000
65
- }
66
- }
67
- },
68
- {
69
- "toolId": "askQuestion",
70
- "parameters": {
71
- "askQuestionParam": {
72
- "toolListPosition": { "targetId": "builtin-system", "position": "after" }
73
- }
74
- }
75
- }
76
- ],
77
- "agentFrameworkConfig": {
78
- "prompts": [
79
- {
80
- "id": "builtin-system",
81
- "role": "system",
82
- "text": "You are a helpful general-purpose assistant. When you need to use a tool, output ONLY the tool call in this exact XML format:\n<tool_use name=\"TOOL_NAME\">{\"param\":\"value\"}</tool_use>\nNever wrap tool calls in markdown code blocks or add explanatory text before/after the tool call in the same message. After receiving the tool result, continue responding normally."
83
- }
84
- ],
85
- "plugins": [{ "toolId": "fullReplacement" }],
86
- "response": []
87
- },
88
- "modelConfig": {
89
- "provider": "memeloop",
90
- "model": "claude-opus-4.6",
91
- "temperature": 0.5,
92
- "maxTokens": 4096
93
- },
94
- "version": "1.0.0"
95
- }
@@ -1,51 +0,0 @@
1
- {
2
- "id": "memeloop:git-master",
3
- "name": "Git Master",
4
- "description": "Expert git workflow management with safety-first approach.",
5
- "loopId": "agent-tool-loop",
6
- "systemPrompt": "You are an expert in git workflow management. Follow these rules:\n\nGit Safety Protocol:\n- NEVER update the git config\n- NEVER run destructive/irreversible git commands (push --force, hard reset, etc.) unless the user explicitly requests them\n- NEVER skip hooks (--no-verify, --no-gpg-sign, etc.) unless the user explicitly requests it\n- NEVER force push to main/master; warn the user if they request it\n- Avoid git commit --amend. ONLY use --amend when ALL conditions are met:\n (1) User explicitly requested amend, OR the commit succeeded and pre-commit hooks auto-modified files that need including\n (2) HEAD commit was created by you in this conversation\n (3) Commit has NOT been pushed to remote\n- If commit FAILED or was REJECTED by hook, NEVER amend — fix the issue and create a NEW commit\n- If you already pushed to remote, NEVER amend unless user explicitly requests it (requires force push)\n\nCommitting:\n- NEVER commit changes unless the user explicitly asks\n- Run: git status, git diff, git log (recent commits)\n- Analyze all staged changes and draft a concise commit message\n- Summarize nature of changes: add/update/fix/refactor/test/docs\n- Do NOT commit files that likely contain secrets\n\nPull Requests:\n- Check branch status, divergence from base, full commit history\n- Create PR with descriptive title and summary body\n- Return the PR URL when done",
7
- "tools": ["workspacesList", "git", "askQuestion"],
8
- "plugins": [{ "id": "builtin:ask-question" }],
9
- "agentTools": [
10
- {
11
- "toolId": "workspacesList",
12
- "parameters": {
13
- "workspacesListParam": { "targetId": "builtin-system", "position": "after" }
14
- }
15
- },
16
- {
17
- "toolId": "git",
18
- "parameters": {
19
- "gitParam": {
20
- "toolListPosition": { "targetId": "builtin-system", "position": "after" }
21
- }
22
- }
23
- },
24
- {
25
- "toolId": "askQuestion",
26
- "parameters": {
27
- "askQuestionParam": {
28
- "toolListPosition": { "targetId": "builtin-system", "position": "after" }
29
- }
30
- }
31
- }
32
- ],
33
- "agentFrameworkConfig": {
34
- "prompts": [
35
- {
36
- "id": "builtin-system",
37
- "role": "system",
38
- "text": "You are an expert in git workflow management. Follow these rules:\n\nGit Safety Protocol:\n- NEVER update the git config\n- NEVER run destructive/irreversible git commands (push --force, hard reset, etc.) unless the user explicitly requests them\n- NEVER skip hooks (--no-verify, --no-gpg-sign, etc.) unless the user explicitly requests it\n- NEVER force push to main/master; warn the user if they request it\n- Avoid git commit --amend. ONLY use --amend when ALL conditions are met:\n (1) User explicitly requested amend, OR the commit succeeded and pre-commit hooks auto-modified files that need including\n (2) HEAD commit was created by you in this conversation\n (3) Commit has NOT been pushed to remote\n- If commit FAILED or was REJECTED by hook, NEVER amend — fix the issue and create a NEW commit\n- If you already pushed to remote, NEVER amend unless user explicitly requests it (requires force push)\n\nCommitting:\n- NEVER commit changes unless the user explicitly asks\n- Run: git status, git diff, git log (recent commits)\n- Analyze all staged changes and draft a concise commit message\n- Summarize nature of changes: add/update/fix/refactor/test/docs\n- Do NOT commit files that likely contain secrets\n\nPull Requests:\n- Check branch status, divergence from base, full commit history\n- Create PR with descriptive title and summary body\n- Return the PR URL when done"
39
- }
40
- ],
41
- "plugins": [],
42
- "response": []
43
- },
44
- "modelConfig": {
45
- "provider": "memeloop",
46
- "model": "claude-opus-4.6",
47
- "temperature": 0.2,
48
- "maxTokens": 4096
49
- },
50
- "version": "1.0.0"
51
- }
@@ -1,72 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/llm/providers/google-vertex.ts
21
- var google_vertex_exports = {};
22
- __export(google_vertex_exports, {
23
- createGoogleVertexProvider: () => createGoogleVertexProvider
24
- });
25
- module.exports = __toCommonJS(google_vertex_exports);
26
- var import_google_vertex = require("@ai-sdk/google-vertex");
27
-
28
- // src/llm/fetchProvider.ts
29
- var import_ai = require("ai");
30
- function createFetchLLMProvider(config) {
31
- return {
32
- name: config.name,
33
- // Store the factory so hosts can introspect or extend
34
- model: config.createModel,
35
- async chat(request) {
36
- const body = typeof request === "object" && request !== null ? request : {};
37
- const model = config.createModel(body.model ?? "gpt-4o-mini");
38
- const messages = (body.messages ?? []).map((message) => ({
39
- role: message.role,
40
- content: message.content
41
- }));
42
- if (body.stream !== false) {
43
- const result2 = (0, import_ai.streamText)({ model, messages });
44
- return (async function* () {
45
- for await (const chunk of result2.textStream) {
46
- yield chunk;
47
- }
48
- })();
49
- }
50
- const result = await (0, import_ai.generateText)({ model, messages });
51
- return result.text;
52
- }
53
- };
54
- }
55
-
56
- // src/llm/providers/google-vertex.ts
57
- function createGoogleVertexProvider(config) {
58
- const sdk = (0, import_google_vertex.createVertex)({
59
- apiKey: config.apiKey,
60
- ...config.options
61
- });
62
- return createFetchLLMProvider({
63
- name: config.name,
64
- // Provider packages may return LanguageModelV1..V4 — cast to satisfy core types
65
- createModel: (modelId) => sdk(modelId)
66
- });
67
- }
68
- // Annotate the CommonJS export names for ESM import in node:
69
- 0 && (module.exports = {
70
- createGoogleVertexProvider
71
- });
72
- //# sourceMappingURL=google-vertex.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/llm/providers/google-vertex.ts","../src/llm/fetchProvider.ts"],"sourcesContent":["/**\n * Pre-built GOOGLE-VERTEX provider — wraps @ai-sdk/google-vertex.\n *\n * Import from 'memeloop/google-vertex' (bundles only @ai-sdk/google-vertex).\n * Or inject your own via createFetchLLMProvider from 'memeloop'.\n */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore — provider package may be at a different AI SDK version than core\nimport { createVertex } from '@ai-sdk/google-vertex';\nimport { createFetchLLMProvider, type FetchLLMProviderConfig } from '../fetchProvider.js';\nimport type { ILLMProvider } from '../../types.js';\n\n// ─── Config ────────────────────────────────────────────────────────────\n\nexport interface GoogleVertexProviderConfig extends Omit<FetchLLMProviderConfig, 'createModel'> {\n /** API key or credential. */\n apiKey?: string;\n /** Additional provider-specific options. See @ai-sdk/google-vertex docs. */\n options?: Record<string, unknown>;\n}\n\n// ─── Factory ───────────────────────────────────────────────────────────\n\n/**\n * Create an ILLMProvider backed by GOOGLE-VERTEX.\n *\n * @example\n * ```ts\n * import { createGoogleVertexProvider } from 'memeloop/google-vertex';\n * const provider = createGoogleVertexProvider({ name: 'my-google-vertex', apiKey: '...' });\n * ```\n */\nexport function createGoogleVertexProvider(config: GoogleVertexProviderConfig): ILLMProvider {\n const sdk = createVertex({\n apiKey: config.apiKey,\n ...config.options,\n });\n return createFetchLLMProvider({\n name: config.name,\n // Provider packages may return LanguageModelV1..V4 — cast to satisfy core types\n createModel: (modelId: string) => sdk(modelId) as any,\n });\n}\n","/**\n * Provider-agnostic LLM provider — wraps any Vercel AI SDK LanguageModelV1.\n *\n * The core does NOT depend on @ai-sdk/openai or any specific provider.\n * Hosts inject their own `createModel` factory:\n *\n * import { createOpenAI } from '@ai-sdk/openai';\n * const openai = createOpenAI({ baseURL: '...', apiKey: '...' });\n * const provider = createAILLMProvider({\n * name: 'openai',\n * createModel: (id) => openai(id),\n * });\n *\n * Or for Anthropic:\n * import { createAnthropic } from '@ai-sdk/anthropic';\n * const anthropic = createAnthropic({ apiKey: '...' });\n * const provider = createAILLMProvider({\n * name: 'claude',\n * createModel: (id) => anthropic(id),\n * });\n *\n * Works with every @ai-sdk/* provider: openai, anthropic, google, deepseek,\n * cohere, mistral, azure, bedrock, groq, ollama, openrouter, together, etc.\n */\n\nimport type { LanguageModelV1 } from 'ai';\nimport { generateText, streamText } from 'ai';\n\nimport type { ILLMProvider } from '../types.js';\n\n// ─── Config ────────────────────────────────────────────────────────────\n\nexport interface FetchLLMProviderConfig {\n /** Display name. */\n name: string;\n /** Factory: given a model id, return a LanguageModelV1 from any @ai-sdk/* provider. */\n createModel: (modelId: string) => LanguageModelV1;\n}\n\n// ─── Factory ───────────────────────────────────────────────────────────\n\n/**\n * Create an `ILLMProvider` that delegates to the Vercel AI SDK.\n *\n * Provider-agnostic — hosts supply their own `createModel` factory.\n * Supports every @ai-sdk/* provider (OpenAI, Anthropic, Google, DeepSeek,\n * Groq, Ollama, OpenRouter, Together, Bedrock, Azure, Mistral, Cohere…).\n *\n * @example\n * ```ts\n * import { createOpenAI } from '@ai-sdk/openai';\n * const openai = createOpenAI({ baseURL: 'https://api.openai.com/v1', apiKey });\n * const provider = createAILLMProvider({\n * name: 'openai',\n * createModel: (modelId) => openai(modelId),\n * });\n * ```\n */\nexport function createFetchLLMProvider(config: FetchLLMProviderConfig): ILLMProvider {\n return {\n name: config.name,\n // Store the factory so hosts can introspect or extend\n model: config.createModel as unknown as LanguageModelV1,\n async chat(request: unknown) {\n const body = (typeof request === 'object' && request !== null ? request : {}) as {\n messages?: Array<{ role: string; content: string }>;\n model?: string;\n stream?: boolean;\n max_tokens?: number;\n temperature?: number;\n };\n\n const model = config.createModel(body.model ?? 'gpt-4o-mini');\n\n const messages = (body.messages ?? []).map((message) => ({\n role: message.role as 'system' | 'user' | 'assistant',\n content: message.content,\n }));\n\n if (body.stream !== false) {\n const result = streamText({ model, messages });\n return (async function*() {\n for await (const chunk of result.textStream) {\n yield chunk;\n }\n })();\n }\n\n const result = await generateText({ model, messages });\n return result.text;\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,2BAA6B;;;ACkB7B,gBAAyC;AAgClC,SAAS,uBAAuB,QAA8C;AACnF,SAAO;AAAA,IACL,MAAM,OAAO;AAAA;AAAA,IAEb,OAAO,OAAO;AAAA,IACd,MAAM,KAAK,SAAkB;AAC3B,YAAM,OAAQ,OAAO,YAAY,YAAY,YAAY,OAAO,UAAU,CAAC;AAQ3E,YAAM,QAAQ,OAAO,YAAY,KAAK,SAAS,aAAa;AAE5D,YAAM,YAAY,KAAK,YAAY,CAAC,GAAG,IAAI,CAAC,aAAa;AAAA,QACvD,MAAM,QAAQ;AAAA,QACd,SAAS,QAAQ;AAAA,MACnB,EAAE;AAEF,UAAI,KAAK,WAAW,OAAO;AACzB,cAAMA,cAAS,sBAAW,EAAE,OAAO,SAAS,CAAC;AAC7C,gBAAQ,mBAAkB;AACxB,2BAAiB,SAASA,QAAO,YAAY;AAC3C,kBAAM;AAAA,UACR;AAAA,QACF,GAAG;AAAA,MACL;AAEA,YAAM,SAAS,UAAM,wBAAa,EAAE,OAAO,SAAS,CAAC;AACrD,aAAO,OAAO;AAAA,IAChB;AAAA,EACF;AACF;;;AD5DO,SAAS,2BAA2B,QAAkD;AAC3F,QAAM,UAAM,mCAAa;AAAA,IACvB,QAAQ,OAAO;AAAA,IACf,GAAG,OAAO;AAAA,EACZ,CAAC;AACD,SAAO,uBAAuB;AAAA,IAC5B,MAAM,OAAO;AAAA;AAAA,IAEb,aAAa,CAAC,YAAoB,IAAI,OAAO;AAAA,EAC/C,CAAC;AACH;","names":["result"]}
@@ -1,21 +0,0 @@
1
- import { Y as FetchLLMProviderConfig, a1 as ILLMProvider } from './fetchProvider-Cu4WkU5O.cjs';
2
- import 'ai';
3
-
4
- interface GoogleVertexProviderConfig extends Omit<FetchLLMProviderConfig, 'createModel'> {
5
- /** API key or credential. */
6
- apiKey?: string;
7
- /** Additional provider-specific options. See @ai-sdk/google-vertex docs. */
8
- options?: Record<string, unknown>;
9
- }
10
- /**
11
- * Create an ILLMProvider backed by GOOGLE-VERTEX.
12
- *
13
- * @example
14
- * ```ts
15
- * import { createGoogleVertexProvider } from 'memeloop/google-vertex';
16
- * const provider = createGoogleVertexProvider({ name: 'my-google-vertex', apiKey: '...' });
17
- * ```
18
- */
19
- declare function createGoogleVertexProvider(config: GoogleVertexProviderConfig): ILLMProvider;
20
-
21
- export { type GoogleVertexProviderConfig, createGoogleVertexProvider };
@@ -1,21 +0,0 @@
1
- import { Y as FetchLLMProviderConfig, a1 as ILLMProvider } from './fetchProvider-Cu4WkU5O.js';
2
- import 'ai';
3
-
4
- interface GoogleVertexProviderConfig extends Omit<FetchLLMProviderConfig, 'createModel'> {
5
- /** API key or credential. */
6
- apiKey?: string;
7
- /** Additional provider-specific options. See @ai-sdk/google-vertex docs. */
8
- options?: Record<string, unknown>;
9
- }
10
- /**
11
- * Create an ILLMProvider backed by GOOGLE-VERTEX.
12
- *
13
- * @example
14
- * ```ts
15
- * import { createGoogleVertexProvider } from 'memeloop/google-vertex';
16
- * const provider = createGoogleVertexProvider({ name: 'my-google-vertex', apiKey: '...' });
17
- * ```
18
- */
19
- declare function createGoogleVertexProvider(config: GoogleVertexProviderConfig): ILLMProvider;
20
-
21
- export { type GoogleVertexProviderConfig, createGoogleVertexProvider };
@@ -1,21 +0,0 @@
1
- import {
2
- createFetchLLMProvider
3
- } from "./chunk-FKQP6AOQ.js";
4
-
5
- // src/llm/providers/google-vertex.ts
6
- import { createVertex } from "@ai-sdk/google-vertex";
7
- function createGoogleVertexProvider(config) {
8
- const sdk = createVertex({
9
- apiKey: config.apiKey,
10
- ...config.options
11
- });
12
- return createFetchLLMProvider({
13
- name: config.name,
14
- // Provider packages may return LanguageModelV1..V4 — cast to satisfy core types
15
- createModel: (modelId) => sdk(modelId)
16
- });
17
- }
18
- export {
19
- createGoogleVertexProvider
20
- };
21
- //# sourceMappingURL=google-vertex.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/llm/providers/google-vertex.ts"],"sourcesContent":["/**\n * Pre-built GOOGLE-VERTEX provider — wraps @ai-sdk/google-vertex.\n *\n * Import from 'memeloop/google-vertex' (bundles only @ai-sdk/google-vertex).\n * Or inject your own via createFetchLLMProvider from 'memeloop'.\n */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore — provider package may be at a different AI SDK version than core\nimport { createVertex } from '@ai-sdk/google-vertex';\nimport { createFetchLLMProvider, type FetchLLMProviderConfig } from '../fetchProvider.js';\nimport type { ILLMProvider } from '../../types.js';\n\n// ─── Config ────────────────────────────────────────────────────────────\n\nexport interface GoogleVertexProviderConfig extends Omit<FetchLLMProviderConfig, 'createModel'> {\n /** API key or credential. */\n apiKey?: string;\n /** Additional provider-specific options. See @ai-sdk/google-vertex docs. */\n options?: Record<string, unknown>;\n}\n\n// ─── Factory ───────────────────────────────────────────────────────────\n\n/**\n * Create an ILLMProvider backed by GOOGLE-VERTEX.\n *\n * @example\n * ```ts\n * import { createGoogleVertexProvider } from 'memeloop/google-vertex';\n * const provider = createGoogleVertexProvider({ name: 'my-google-vertex', apiKey: '...' });\n * ```\n */\nexport function createGoogleVertexProvider(config: GoogleVertexProviderConfig): ILLMProvider {\n const sdk = createVertex({\n apiKey: config.apiKey,\n ...config.options,\n });\n return createFetchLLMProvider({\n name: config.name,\n // Provider packages may return LanguageModelV1..V4 — cast to satisfy core types\n createModel: (modelId: string) => sdk(modelId) as any,\n });\n}\n"],"mappings":";;;;;AAQA,SAAS,oBAAoB;AAwBtB,SAAS,2BAA2B,QAAkD;AAC3F,QAAM,MAAM,aAAa;AAAA,IACvB,QAAQ,OAAO;AAAA,IACf,GAAG,OAAO;AAAA,EACZ,CAAC;AACD,SAAO,uBAAuB;AAAA,IAC5B,MAAM,OAAO;AAAA;AAAA,IAEb,aAAa,CAAC,YAAoB,IAAI,OAAO;AAAA,EAC/C,CAAC;AACH;","names":[]}
package/dist/google.cjs DELETED
@@ -1,72 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/llm/providers/google.ts
21
- var google_exports = {};
22
- __export(google_exports, {
23
- createGoogleProvider: () => createGoogleProvider
24
- });
25
- module.exports = __toCommonJS(google_exports);
26
- var import_google = require("@ai-sdk/google");
27
-
28
- // src/llm/fetchProvider.ts
29
- var import_ai = require("ai");
30
- function createFetchLLMProvider(config) {
31
- return {
32
- name: config.name,
33
- // Store the factory so hosts can introspect or extend
34
- model: config.createModel,
35
- async chat(request) {
36
- const body = typeof request === "object" && request !== null ? request : {};
37
- const model = config.createModel(body.model ?? "gpt-4o-mini");
38
- const messages = (body.messages ?? []).map((message) => ({
39
- role: message.role,
40
- content: message.content
41
- }));
42
- if (body.stream !== false) {
43
- const result2 = (0, import_ai.streamText)({ model, messages });
44
- return (async function* () {
45
- for await (const chunk of result2.textStream) {
46
- yield chunk;
47
- }
48
- })();
49
- }
50
- const result = await (0, import_ai.generateText)({ model, messages });
51
- return result.text;
52
- }
53
- };
54
- }
55
-
56
- // src/llm/providers/google.ts
57
- function createGoogleProvider(config) {
58
- const sdk = (0, import_google.createGoogleGenerativeAI)({
59
- baseURL: config.baseUrl ?? "https://generativelanguage.googleapis.com/v1beta",
60
- apiKey: config.apiKey
61
- });
62
- return createFetchLLMProvider({
63
- name: config.name,
64
- // Provider packages may return LanguageModelV1..V4 — cast to satisfy core types
65
- createModel: (modelId) => sdk(modelId)
66
- });
67
- }
68
- // Annotate the CommonJS export names for ESM import in node:
69
- 0 && (module.exports = {
70
- createGoogleProvider
71
- });
72
- //# sourceMappingURL=google.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/llm/providers/google.ts","../src/llm/fetchProvider.ts"],"sourcesContent":["/**\n * Pre-built GOOGLE provider — wraps @ai-sdk/google.\n *\n * Import from 'memeloop/google' (bundles only @ai-sdk/google).\n * Or inject your own via createFetchLLMProvider from 'memeloop'.\n */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore — provider package may be at a different AI SDK version than core\nimport { createGoogleGenerativeAI } from '@ai-sdk/google';\nimport { createFetchLLMProvider, type FetchLLMProviderConfig } from '../fetchProvider.js';\nimport type { ILLMProvider } from '../../types.js';\n\n// ─── Config ────────────────────────────────────────────────────────────\n\nexport interface GoogleProviderConfig extends Omit<FetchLLMProviderConfig, 'createModel'> {\n /** Override the default API base URL. */\n baseUrl?: string;\n /** API key. */\n apiKey?: string;\n}\n\n// ─── Factory ───────────────────────────────────────────────────────────\n\n/**\n * Create an ILLMProvider backed by GOOGLE.\n *\n * @example\n * ```ts\n * import { createGoogleProvider } from 'memeloop/google';\n * const provider = createGoogleProvider({ name: 'my-google', apiKey: '...' });\n * ```\n */\nexport function createGoogleProvider(config: GoogleProviderConfig): ILLMProvider {\n const sdk = createGoogleGenerativeAI({\n baseURL: config.baseUrl ?? 'https://generativelanguage.googleapis.com/v1beta',\n apiKey: config.apiKey,\n });\n return createFetchLLMProvider({\n name: config.name,\n // Provider packages may return LanguageModelV1..V4 — cast to satisfy core types\n createModel: (modelId: string) => sdk(modelId) as any,\n });\n}\n","/**\n * Provider-agnostic LLM provider — wraps any Vercel AI SDK LanguageModelV1.\n *\n * The core does NOT depend on @ai-sdk/openai or any specific provider.\n * Hosts inject their own `createModel` factory:\n *\n * import { createOpenAI } from '@ai-sdk/openai';\n * const openai = createOpenAI({ baseURL: '...', apiKey: '...' });\n * const provider = createAILLMProvider({\n * name: 'openai',\n * createModel: (id) => openai(id),\n * });\n *\n * Or for Anthropic:\n * import { createAnthropic } from '@ai-sdk/anthropic';\n * const anthropic = createAnthropic({ apiKey: '...' });\n * const provider = createAILLMProvider({\n * name: 'claude',\n * createModel: (id) => anthropic(id),\n * });\n *\n * Works with every @ai-sdk/* provider: openai, anthropic, google, deepseek,\n * cohere, mistral, azure, bedrock, groq, ollama, openrouter, together, etc.\n */\n\nimport type { LanguageModelV1 } from 'ai';\nimport { generateText, streamText } from 'ai';\n\nimport type { ILLMProvider } from '../types.js';\n\n// ─── Config ────────────────────────────────────────────────────────────\n\nexport interface FetchLLMProviderConfig {\n /** Display name. */\n name: string;\n /** Factory: given a model id, return a LanguageModelV1 from any @ai-sdk/* provider. */\n createModel: (modelId: string) => LanguageModelV1;\n}\n\n// ─── Factory ───────────────────────────────────────────────────────────\n\n/**\n * Create an `ILLMProvider` that delegates to the Vercel AI SDK.\n *\n * Provider-agnostic — hosts supply their own `createModel` factory.\n * Supports every @ai-sdk/* provider (OpenAI, Anthropic, Google, DeepSeek,\n * Groq, Ollama, OpenRouter, Together, Bedrock, Azure, Mistral, Cohere…).\n *\n * @example\n * ```ts\n * import { createOpenAI } from '@ai-sdk/openai';\n * const openai = createOpenAI({ baseURL: 'https://api.openai.com/v1', apiKey });\n * const provider = createAILLMProvider({\n * name: 'openai',\n * createModel: (modelId) => openai(modelId),\n * });\n * ```\n */\nexport function createFetchLLMProvider(config: FetchLLMProviderConfig): ILLMProvider {\n return {\n name: config.name,\n // Store the factory so hosts can introspect or extend\n model: config.createModel as unknown as LanguageModelV1,\n async chat(request: unknown) {\n const body = (typeof request === 'object' && request !== null ? request : {}) as {\n messages?: Array<{ role: string; content: string }>;\n model?: string;\n stream?: boolean;\n max_tokens?: number;\n temperature?: number;\n };\n\n const model = config.createModel(body.model ?? 'gpt-4o-mini');\n\n const messages = (body.messages ?? []).map((message) => ({\n role: message.role as 'system' | 'user' | 'assistant',\n content: message.content,\n }));\n\n if (body.stream !== false) {\n const result = streamText({ model, messages });\n return (async function*() {\n for await (const chunk of result.textStream) {\n yield chunk;\n }\n })();\n }\n\n const result = await generateText({ model, messages });\n return result.text;\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,oBAAyC;;;ACkBzC,gBAAyC;AAgClC,SAAS,uBAAuB,QAA8C;AACnF,SAAO;AAAA,IACL,MAAM,OAAO;AAAA;AAAA,IAEb,OAAO,OAAO;AAAA,IACd,MAAM,KAAK,SAAkB;AAC3B,YAAM,OAAQ,OAAO,YAAY,YAAY,YAAY,OAAO,UAAU,CAAC;AAQ3E,YAAM,QAAQ,OAAO,YAAY,KAAK,SAAS,aAAa;AAE5D,YAAM,YAAY,KAAK,YAAY,CAAC,GAAG,IAAI,CAAC,aAAa;AAAA,QACvD,MAAM,QAAQ;AAAA,QACd,SAAS,QAAQ;AAAA,MACnB,EAAE;AAEF,UAAI,KAAK,WAAW,OAAO;AACzB,cAAMA,cAAS,sBAAW,EAAE,OAAO,SAAS,CAAC;AAC7C,gBAAQ,mBAAkB;AACxB,2BAAiB,SAASA,QAAO,YAAY;AAC3C,kBAAM;AAAA,UACR;AAAA,QACF,GAAG;AAAA,MACL;AAEA,YAAM,SAAS,UAAM,wBAAa,EAAE,OAAO,SAAS,CAAC;AACrD,aAAO,OAAO;AAAA,IAChB;AAAA,EACF;AACF;;;AD5DO,SAAS,qBAAqB,QAA4C;AAC/E,QAAM,UAAM,wCAAyB;AAAA,IACnC,SAAS,OAAO,WAAW;AAAA,IAC3B,QAAQ,OAAO;AAAA,EACjB,CAAC;AACD,SAAO,uBAAuB;AAAA,IAC5B,MAAM,OAAO;AAAA;AAAA,IAEb,aAAa,CAAC,YAAoB,IAAI,OAAO;AAAA,EAC/C,CAAC;AACH;","names":["result"]}
package/dist/google.d.cts DELETED
@@ -1,21 +0,0 @@
1
- import { Y as FetchLLMProviderConfig, a1 as ILLMProvider } from './fetchProvider-Cu4WkU5O.cjs';
2
- import 'ai';
3
-
4
- interface GoogleProviderConfig extends Omit<FetchLLMProviderConfig, 'createModel'> {
5
- /** Override the default API base URL. */
6
- baseUrl?: string;
7
- /** API key. */
8
- apiKey?: string;
9
- }
10
- /**
11
- * Create an ILLMProvider backed by GOOGLE.
12
- *
13
- * @example
14
- * ```ts
15
- * import { createGoogleProvider } from 'memeloop/google';
16
- * const provider = createGoogleProvider({ name: 'my-google', apiKey: '...' });
17
- * ```
18
- */
19
- declare function createGoogleProvider(config: GoogleProviderConfig): ILLMProvider;
20
-
21
- export { type GoogleProviderConfig, createGoogleProvider };
package/dist/google.d.ts DELETED
@@ -1,21 +0,0 @@
1
- import { Y as FetchLLMProviderConfig, a1 as ILLMProvider } from './fetchProvider-Cu4WkU5O.js';
2
- import 'ai';
3
-
4
- interface GoogleProviderConfig extends Omit<FetchLLMProviderConfig, 'createModel'> {
5
- /** Override the default API base URL. */
6
- baseUrl?: string;
7
- /** API key. */
8
- apiKey?: string;
9
- }
10
- /**
11
- * Create an ILLMProvider backed by GOOGLE.
12
- *
13
- * @example
14
- * ```ts
15
- * import { createGoogleProvider } from 'memeloop/google';
16
- * const provider = createGoogleProvider({ name: 'my-google', apiKey: '...' });
17
- * ```
18
- */
19
- declare function createGoogleProvider(config: GoogleProviderConfig): ILLMProvider;
20
-
21
- export { type GoogleProviderConfig, createGoogleProvider };
package/dist/google.js DELETED
@@ -1,21 +0,0 @@
1
- import {
2
- createFetchLLMProvider
3
- } from "./chunk-FKQP6AOQ.js";
4
-
5
- // src/llm/providers/google.ts
6
- import { createGoogleGenerativeAI } from "@ai-sdk/google";
7
- function createGoogleProvider(config) {
8
- const sdk = createGoogleGenerativeAI({
9
- baseURL: config.baseUrl ?? "https://generativelanguage.googleapis.com/v1beta",
10
- apiKey: config.apiKey
11
- });
12
- return createFetchLLMProvider({
13
- name: config.name,
14
- // Provider packages may return LanguageModelV1..V4 — cast to satisfy core types
15
- createModel: (modelId) => sdk(modelId)
16
- });
17
- }
18
- export {
19
- createGoogleProvider
20
- };
21
- //# sourceMappingURL=google.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/llm/providers/google.ts"],"sourcesContent":["/**\n * Pre-built GOOGLE provider — wraps @ai-sdk/google.\n *\n * Import from 'memeloop/google' (bundles only @ai-sdk/google).\n * Or inject your own via createFetchLLMProvider from 'memeloop'.\n */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore — provider package may be at a different AI SDK version than core\nimport { createGoogleGenerativeAI } from '@ai-sdk/google';\nimport { createFetchLLMProvider, type FetchLLMProviderConfig } from '../fetchProvider.js';\nimport type { ILLMProvider } from '../../types.js';\n\n// ─── Config ────────────────────────────────────────────────────────────\n\nexport interface GoogleProviderConfig extends Omit<FetchLLMProviderConfig, 'createModel'> {\n /** Override the default API base URL. */\n baseUrl?: string;\n /** API key. */\n apiKey?: string;\n}\n\n// ─── Factory ───────────────────────────────────────────────────────────\n\n/**\n * Create an ILLMProvider backed by GOOGLE.\n *\n * @example\n * ```ts\n * import { createGoogleProvider } from 'memeloop/google';\n * const provider = createGoogleProvider({ name: 'my-google', apiKey: '...' });\n * ```\n */\nexport function createGoogleProvider(config: GoogleProviderConfig): ILLMProvider {\n const sdk = createGoogleGenerativeAI({\n baseURL: config.baseUrl ?? 'https://generativelanguage.googleapis.com/v1beta',\n apiKey: config.apiKey,\n });\n return createFetchLLMProvider({\n name: config.name,\n // Provider packages may return LanguageModelV1..V4 — cast to satisfy core types\n createModel: (modelId: string) => sdk(modelId) as any,\n });\n}\n"],"mappings":";;;;;AAQA,SAAS,gCAAgC;AAwBlC,SAAS,qBAAqB,QAA4C;AAC/E,QAAM,MAAM,yBAAyB;AAAA,IACnC,SAAS,OAAO,WAAW;AAAA,IAC3B,QAAQ,OAAO;AAAA,EACjB,CAAC;AACD,SAAO,uBAAuB;AAAA,IAC5B,MAAM,OAAO;AAAA;AAAA,IAEb,aAAa,CAAC,YAAoB,IAAI,OAAO;AAAA,EAC/C,CAAC;AACH;","names":[]}
package/dist/groq.cjs DELETED
@@ -1,72 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/llm/providers/groq.ts
21
- var groq_exports = {};
22
- __export(groq_exports, {
23
- createGroqProvider: () => createGroqProvider
24
- });
25
- module.exports = __toCommonJS(groq_exports);
26
- var import_groq = require("@ai-sdk/groq");
27
-
28
- // src/llm/fetchProvider.ts
29
- var import_ai = require("ai");
30
- function createFetchLLMProvider(config) {
31
- return {
32
- name: config.name,
33
- // Store the factory so hosts can introspect or extend
34
- model: config.createModel,
35
- async chat(request) {
36
- const body = typeof request === "object" && request !== null ? request : {};
37
- const model = config.createModel(body.model ?? "gpt-4o-mini");
38
- const messages = (body.messages ?? []).map((message) => ({
39
- role: message.role,
40
- content: message.content
41
- }));
42
- if (body.stream !== false) {
43
- const result2 = (0, import_ai.streamText)({ model, messages });
44
- return (async function* () {
45
- for await (const chunk of result2.textStream) {
46
- yield chunk;
47
- }
48
- })();
49
- }
50
- const result = await (0, import_ai.generateText)({ model, messages });
51
- return result.text;
52
- }
53
- };
54
- }
55
-
56
- // src/llm/providers/groq.ts
57
- function createGroqProvider(config) {
58
- const sdk = (0, import_groq.createGroq)({
59
- baseURL: config.baseUrl ?? "https://api.groq.com/openai/v1",
60
- apiKey: config.apiKey
61
- });
62
- return createFetchLLMProvider({
63
- name: config.name,
64
- // Provider packages may return LanguageModelV1..V4 — cast to satisfy core types
65
- createModel: (modelId) => sdk(modelId)
66
- });
67
- }
68
- // Annotate the CommonJS export names for ESM import in node:
69
- 0 && (module.exports = {
70
- createGroqProvider
71
- });
72
- //# sourceMappingURL=groq.cjs.map