memeloop 0.0.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 (137) hide show
  1. package/dist/anthropic.cjs +72 -0
  2. package/dist/anthropic.cjs.map +1 -0
  3. package/dist/anthropic.d.cts +21 -0
  4. package/dist/anthropic.d.ts +21 -0
  5. package/dist/anthropic.js +21 -0
  6. package/dist/anthropic.js.map +1 -0
  7. package/dist/azure.cjs +72 -0
  8. package/dist/azure.cjs.map +1 -0
  9. package/dist/azure.d.cts +21 -0
  10. package/dist/azure.d.ts +21 -0
  11. package/dist/azure.js +21 -0
  12. package/dist/azure.js.map +1 -0
  13. package/dist/chunk-3CN7DFBL.js +4894 -0
  14. package/dist/chunk-3CN7DFBL.js.map +1 -0
  15. package/dist/chunk-4AZ4D7U5.js +32 -0
  16. package/dist/chunk-4AZ4D7U5.js.map +1 -0
  17. package/dist/chunk-6ON4XSOV.js +63 -0
  18. package/dist/chunk-6ON4XSOV.js.map +1 -0
  19. package/dist/chunk-DJQNGIXX.js +4793 -0
  20. package/dist/chunk-DJQNGIXX.js.map +1 -0
  21. package/dist/chunk-FKQP6AOQ.js +32 -0
  22. package/dist/chunk-FKQP6AOQ.js.map +1 -0
  23. package/dist/chunk-OVJ7JJBA.js +35 -0
  24. package/dist/chunk-OVJ7JJBA.js.map +1 -0
  25. package/dist/chunk-P4UZ7IXC.js +42 -0
  26. package/dist/chunk-P4UZ7IXC.js.map +1 -0
  27. package/dist/chunk-YHJ2AEFR.js +4933 -0
  28. package/dist/chunk-YHJ2AEFR.js.map +1 -0
  29. package/dist/chunk-YVK7RYRO.js +4973 -0
  30. package/dist/chunk-YVK7RYRO.js.map +1 -0
  31. package/dist/code-assistant.json +114 -0
  32. package/dist/cohere.cjs +72 -0
  33. package/dist/cohere.cjs.map +1 -0
  34. package/dist/cohere.d.cts +21 -0
  35. package/dist/cohere.d.ts +21 -0
  36. package/dist/cohere.js +21 -0
  37. package/dist/cohere.js.map +1 -0
  38. package/dist/deepseek.cjs +72 -0
  39. package/dist/deepseek.cjs.map +1 -0
  40. package/dist/deepseek.d.cts +21 -0
  41. package/dist/deepseek.d.ts +21 -0
  42. package/dist/deepseek.js +21 -0
  43. package/dist/deepseek.js.map +1 -0
  44. package/dist/dist-65U7OYRG.js +1257 -0
  45. package/dist/dist-65U7OYRG.js.map +1 -0
  46. package/dist/fetchProvider-Cu4WkU5O.d.cts +819 -0
  47. package/dist/fetchProvider-Cu4WkU5O.d.ts +819 -0
  48. package/dist/frontend-ui-ux.json +105 -0
  49. package/dist/general-assistant.json +95 -0
  50. package/dist/git-master.json +51 -0
  51. package/dist/google-vertex.cjs +72 -0
  52. package/dist/google-vertex.cjs.map +1 -0
  53. package/dist/google-vertex.d.cts +21 -0
  54. package/dist/google-vertex.d.ts +21 -0
  55. package/dist/google-vertex.js +21 -0
  56. package/dist/google-vertex.js.map +1 -0
  57. package/dist/google.cjs +72 -0
  58. package/dist/google.cjs.map +1 -0
  59. package/dist/google.d.cts +21 -0
  60. package/dist/google.d.ts +21 -0
  61. package/dist/google.js +21 -0
  62. package/dist/google.js.map +1 -0
  63. package/dist/groq.cjs +72 -0
  64. package/dist/groq.cjs.map +1 -0
  65. package/dist/groq.d.cts +21 -0
  66. package/dist/groq.d.ts +21 -0
  67. package/dist/groq.js +21 -0
  68. package/dist/groq.js.map +1 -0
  69. package/dist/index.cjs +8916 -0
  70. package/dist/index.cjs.map +1 -0
  71. package/dist/index.d.cts +1816 -0
  72. package/dist/index.d.mts +3203 -0
  73. package/dist/index.d.ts +1816 -0
  74. package/dist/index.js +4040 -0
  75. package/dist/index.js.map +1 -0
  76. package/dist/index.mjs +7064 -0
  77. package/dist/index.mjs.map +1 -0
  78. package/dist/llm-providers.cjs +311 -0
  79. package/dist/llm-providers.cjs.map +1 -0
  80. package/dist/llm-providers.d.cts +111 -0
  81. package/dist/llm-providers.d.ts +111 -0
  82. package/dist/llm-providers.js +232 -0
  83. package/dist/llm-providers.js.map +1 -0
  84. package/dist/loop-api.cjs +4924 -0
  85. package/dist/loop-api.cjs.map +1 -0
  86. package/dist/loop-api.d.cts +11 -0
  87. package/dist/loop-api.d.ts +11 -0
  88. package/dist/loop-api.js +189 -0
  89. package/dist/loop-api.js.map +1 -0
  90. package/dist/mistral.cjs +72 -0
  91. package/dist/mistral.cjs.map +1 -0
  92. package/dist/mistral.d.cts +21 -0
  93. package/dist/mistral.d.ts +21 -0
  94. package/dist/mistral.js +21 -0
  95. package/dist/mistral.js.map +1 -0
  96. package/dist/multipart-parser-EJCXIUHC.js +372 -0
  97. package/dist/multipart-parser-EJCXIUHC.js.map +1 -0
  98. package/dist/openai.cjs +72 -0
  99. package/dist/openai.cjs.map +1 -0
  100. package/dist/openai.d.cts +21 -0
  101. package/dist/openai.d.ts +21 -0
  102. package/dist/openai.js +21 -0
  103. package/dist/openai.js.map +1 -0
  104. package/dist/perplexity.cjs +72 -0
  105. package/dist/perplexity.cjs.map +1 -0
  106. package/dist/perplexity.d.cts +21 -0
  107. package/dist/perplexity.d.ts +21 -0
  108. package/dist/perplexity.js +21 -0
  109. package/dist/perplexity.js.map +1 -0
  110. package/dist/playwright.json +52 -0
  111. package/dist/promptConcat-BJdazTg5.d.cts +1832 -0
  112. package/dist/promptConcat-BJdazTg5.d.ts +1832 -0
  113. package/dist/promptConcat-CAkpni_8.d.cts +1834 -0
  114. package/dist/promptConcat-CAkpni_8.d.ts +1834 -0
  115. package/dist/promptConcat-CfH5-GAE.d.cts +1036 -0
  116. package/dist/promptConcat-ChcAZOOL.d.ts +1036 -0
  117. package/dist/promptConcat-G5TnJVRy.d.cts +1800 -0
  118. package/dist/promptConcat-G5TnJVRy.d.ts +1800 -0
  119. package/dist/promptConcat-L72eowzp.d.ts +1090 -0
  120. package/dist/promptConcat-eLHdN7K8.d.cts +1090 -0
  121. package/dist/src-VTSXKG72.js +1409 -0
  122. package/dist/src-VTSXKG72.js.map +1 -0
  123. package/dist/togetherai.cjs +72 -0
  124. package/dist/togetherai.cjs.map +1 -0
  125. package/dist/togetherai.d.cts +21 -0
  126. package/dist/togetherai.d.ts +21 -0
  127. package/dist/togetherai.js +21 -0
  128. package/dist/togetherai.js.map +1 -0
  129. package/dist/types-B0Jm2l38.d.cts +767 -0
  130. package/dist/types-B0Jm2l38.d.ts +767 -0
  131. package/dist/xai.cjs +72 -0
  132. package/dist/xai.cjs.map +1 -0
  133. package/dist/xai.d.cts +21 -0
  134. package/dist/xai.d.ts +21 -0
  135. package/dist/xai.js +21 -0
  136. package/dist/xai.js.map +1 -0
  137. package/package.json +87 -0
package/dist/xai.cjs ADDED
@@ -0,0 +1,72 @@
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/xai.ts
21
+ var xai_exports = {};
22
+ __export(xai_exports, {
23
+ createXaiProvider: () => createXaiProvider
24
+ });
25
+ module.exports = __toCommonJS(xai_exports);
26
+ var import_xai = require("@ai-sdk/xai");
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/xai.ts
57
+ function createXaiProvider(config) {
58
+ const sdk = (0, import_xai.createXai)({
59
+ baseURL: config.baseUrl ?? "https://api.x.ai/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
+ createXaiProvider
71
+ });
72
+ //# sourceMappingURL=xai.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/llm/providers/xai.ts","../src/llm/fetchProvider.ts"],"sourcesContent":["/**\n * Pre-built XAI provider — wraps @ai-sdk/xai.\n *\n * Import from 'memeloop/xai' (bundles only @ai-sdk/xai).\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 { createXai } from '@ai-sdk/xai';\nimport { createFetchLLMProvider, type FetchLLMProviderConfig } from '../fetchProvider.js';\nimport type { ILLMProvider } from '../../types.js';\n\n// ─── Config ────────────────────────────────────────────────────────────\n\nexport interface XaiProviderConfig 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 XAI.\n *\n * @example\n * ```ts\n * import { createXaiProvider } from 'memeloop/xai';\n * const provider = createXaiProvider({ name: 'my-xai', apiKey: '...' });\n * ```\n */\nexport function createXaiProvider(config: XaiProviderConfig): ILLMProvider {\n const sdk = createXai({\n baseURL: config.baseUrl ?? 'https://api.x.ai/v1',\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,iBAA0B;;;ACkB1B,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,kBAAkB,QAAyC;AACzE,QAAM,UAAM,sBAAU;AAAA,IACpB,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/xai.d.cts ADDED
@@ -0,0 +1,21 @@
1
+ import { Y as FetchLLMProviderConfig, a1 as ILLMProvider } from './fetchProvider-Cu4WkU5O.cjs';
2
+ import 'ai';
3
+
4
+ interface XaiProviderConfig 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 XAI.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * import { createXaiProvider } from 'memeloop/xai';
16
+ * const provider = createXaiProvider({ name: 'my-xai', apiKey: '...' });
17
+ * ```
18
+ */
19
+ declare function createXaiProvider(config: XaiProviderConfig): ILLMProvider;
20
+
21
+ export { type XaiProviderConfig, createXaiProvider };
package/dist/xai.d.ts ADDED
@@ -0,0 +1,21 @@
1
+ import { Y as FetchLLMProviderConfig, a1 as ILLMProvider } from './fetchProvider-Cu4WkU5O.js';
2
+ import 'ai';
3
+
4
+ interface XaiProviderConfig 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 XAI.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * import { createXaiProvider } from 'memeloop/xai';
16
+ * const provider = createXaiProvider({ name: 'my-xai', apiKey: '...' });
17
+ * ```
18
+ */
19
+ declare function createXaiProvider(config: XaiProviderConfig): ILLMProvider;
20
+
21
+ export { type XaiProviderConfig, createXaiProvider };
package/dist/xai.js ADDED
@@ -0,0 +1,21 @@
1
+ import {
2
+ createFetchLLMProvider
3
+ } from "./chunk-FKQP6AOQ.js";
4
+
5
+ // src/llm/providers/xai.ts
6
+ import { createXai } from "@ai-sdk/xai";
7
+ function createXaiProvider(config) {
8
+ const sdk = createXai({
9
+ baseURL: config.baseUrl ?? "https://api.x.ai/v1",
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
+ createXaiProvider
20
+ };
21
+ //# sourceMappingURL=xai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/llm/providers/xai.ts"],"sourcesContent":["/**\n * Pre-built XAI provider — wraps @ai-sdk/xai.\n *\n * Import from 'memeloop/xai' (bundles only @ai-sdk/xai).\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 { createXai } from '@ai-sdk/xai';\nimport { createFetchLLMProvider, type FetchLLMProviderConfig } from '../fetchProvider.js';\nimport type { ILLMProvider } from '../../types.js';\n\n// ─── Config ────────────────────────────────────────────────────────────\n\nexport interface XaiProviderConfig 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 XAI.\n *\n * @example\n * ```ts\n * import { createXaiProvider } from 'memeloop/xai';\n * const provider = createXaiProvider({ name: 'my-xai', apiKey: '...' });\n * ```\n */\nexport function createXaiProvider(config: XaiProviderConfig): ILLMProvider {\n const sdk = createXai({\n baseURL: config.baseUrl ?? 'https://api.x.ai/v1',\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,iBAAiB;AAwBnB,SAAS,kBAAkB,QAAyC;AACzE,QAAM,MAAM,UAAU;AAAA,IACpB,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/package.json ADDED
@@ -0,0 +1,87 @@
1
+ {
2
+ "name": "memeloop",
3
+ "version": "0.0.1",
4
+ "description": "MemeLoop core runtime: agent framework, storage, sync engine, tools, IM adapter.",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "main": "dist/index.cjs",
8
+ "module": "dist/index.js",
9
+ "types": "dist/index.d.ts",
10
+ "files": [
11
+ "dist"
12
+ ],
13
+ "sideEffects": false,
14
+ "dependencies": {
15
+ "@ai-sdk/anthropic": "^1.0.0",
16
+ "@ai-sdk/azure": "^4.0.0",
17
+ "@ai-sdk/cohere": "^4.0.0",
18
+ "@ai-sdk/deepseek": "^3.0.0",
19
+ "@ai-sdk/google": "^4.0.0",
20
+ "@ai-sdk/google-vertex": "^5.0.0",
21
+ "@ai-sdk/groq": "^4.0.0",
22
+ "@ai-sdk/mistral": "^4.0.0",
23
+ "@ai-sdk/openai": "^1.0.0",
24
+ "@ai-sdk/openai-compatible": "^2.0.0",
25
+ "@ai-sdk/perplexity": "^4.0.0",
26
+ "@ai-sdk/togetherai": "^3.0.0",
27
+ "@ai-sdk/xai": "^4.0.0",
28
+ "@chainsafe/libp2p-noise": "^17.0.0",
29
+ "@chainsafe/libp2p-yamux": "^8.0.1",
30
+ "@inrupt/solid-client": "^2.0.0",
31
+ "@libp2p/bootstrap": "^12.0.25",
32
+ "@libp2p/circuit-relay-v2": "^4.2.7",
33
+ "@libp2p/crypto": "^5.0.15",
34
+ "@libp2p/identify": "^4.1.8",
35
+ "@libp2p/interface": "^3.2.4",
36
+ "@libp2p/mdns": "^12.0.25",
37
+ "@libp2p/peer-id": "^6.0.11",
38
+ "@libp2p/ping": "^3.1.7",
39
+ "@libp2p/tcp": "^11.0.22",
40
+ "@libp2p/websockets": "^10.1.15",
41
+ "@multiformats/multiaddr": "^13.0.3",
42
+ "ai": "^4.0.0",
43
+ "it-length-prefixed": "^10.0.1",
44
+ "it-map": "^3.1.0",
45
+ "it-pipe": "^3.0.1",
46
+ "json5": "^2.2.3",
47
+ "libp2p": "^3.3.4",
48
+ "ollama-ai-provider-v2": "^3.5.1",
49
+ "uint8arraylist": "^3.0.2",
50
+ "uint8arrays": "^6.1.1",
51
+ "zod": "^4.4.3",
52
+ "zod-to-json-schema": "^3.24.0"
53
+ },
54
+ "devDependencies": {
55
+ "@vitest/coverage-v8": "^2.0.0",
56
+ "noise-handshake": "^4.2.0",
57
+ "sodium-universal": "^4.0.0",
58
+ "tsup": "^8.0.0",
59
+ "typescript": "^5.6.0",
60
+ "vitest": "^2.0.0"
61
+ },
62
+ "exports": {
63
+ ".": {
64
+ "types": "./dist/index.d.ts",
65
+ "import": "./dist/index.js",
66
+ "require": "./dist/index.cjs"
67
+ },
68
+ "./loop-api": {
69
+ "types": "./dist/loop-api.d.ts",
70
+ "import": "./dist/loop-api.js",
71
+ "require": "./dist/loop-api.cjs"
72
+ },
73
+ "./llm-providers": {
74
+ "types": "./dist/llm-providers.d.ts",
75
+ "import": "./dist/llm-providers.js",
76
+ "require": "./dist/llm-providers.cjs"
77
+ }
78
+ },
79
+ "scripts": {
80
+ "build": "node scripts/generate-loop-sources.mjs && node scripts/generate-profile-sources.mjs && tsup",
81
+ "build:scripts": "node scripts/generate-loop-sources.mjs",
82
+ "lint": "eslint \"src/**/*.{ts,tsx}\"",
83
+ "test": "vitest run",
84
+ "test:unit": "vitest run",
85
+ "test:coverage": "vitest run --coverage"
86
+ }
87
+ }