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.
- package/README.md +63 -0
- package/dist/browser.cjs +1413 -0
- package/dist/browser.cjs.map +1 -0
- package/dist/browser.d.cts +3066 -0
- package/dist/browser.d.ts +3066 -0
- package/dist/browser.js +43 -0
- package/dist/chunk-2C6BJZI3.js +382 -0
- package/dist/chunk-2C6BJZI3.js.map +1 -0
- package/dist/chunk-426CJUZP.js +630 -0
- package/dist/chunk-426CJUZP.js.map +1 -0
- package/dist/chunk-7ZDTB4VZ.js +63 -0
- package/dist/chunk-7ZDTB4VZ.js.map +1 -0
- package/dist/chunk-AZFYDWIN.js +98 -0
- package/dist/chunk-AZFYDWIN.js.map +1 -0
- package/dist/chunk-BGPU4RR7.js +367 -0
- package/dist/chunk-BGPU4RR7.js.map +1 -0
- package/dist/chunk-CCEFAOSH.js +496 -0
- package/dist/chunk-CCEFAOSH.js.map +1 -0
- package/dist/chunk-FWSY5HOA.js +63 -0
- package/dist/chunk-FWSY5HOA.js.map +1 -0
- package/dist/chunk-GYIOMQMY.js +8726 -0
- package/dist/chunk-GYIOMQMY.js.map +1 -0
- package/dist/chunk-K6P63KD4.js +68 -0
- package/dist/chunk-K6P63KD4.js.map +1 -0
- package/dist/chunk-KFS2EJT6.js +42 -0
- package/dist/chunk-KFS2EJT6.js.map +1 -0
- package/dist/chunk-MAJWHAKR.js +3637 -0
- package/dist/chunk-MAJWHAKR.js.map +1 -0
- package/dist/chunk-MRKY4HGF.js +205 -0
- package/dist/chunk-MRKY4HGF.js.map +1 -0
- package/dist/chunk-T7FSXWFR.js +2744 -0
- package/dist/chunk-T7FSXWFR.js.map +1 -0
- package/dist/chunk-VZKQX5PP.js +1 -0
- package/dist/chunk-VZKQX5PP.js.map +1 -0
- package/dist/chunk-WAI6BODI.js +175 -0
- package/dist/chunk-WAI6BODI.js.map +1 -0
- package/dist/chunk-YMNXDNDW.js +798 -0
- package/dist/chunk-YMNXDNDW.js.map +1 -0
- package/dist/conversation.cjs +208 -0
- package/dist/conversation.cjs.map +1 -0
- package/dist/conversation.d.cts +100 -0
- package/dist/conversation.d.ts +100 -0
- package/dist/conversation.js +21 -0
- package/dist/conversation.js.map +1 -0
- package/dist/device-network-portable.cjs +702 -0
- package/dist/device-network-portable.cjs.map +1 -0
- package/dist/device-network-portable.d.cts +110 -0
- package/dist/device-network-portable.d.ts +110 -0
- package/dist/device-network-portable.js +53 -0
- package/dist/device-network-portable.js.map +1 -0
- package/dist/device-network.cjs +906 -0
- package/dist/device-network.cjs.map +1 -0
- package/dist/device-network.d.cts +6 -0
- package/dist/device-network.d.ts +6 -0
- package/dist/device-network.js +59 -0
- package/dist/device-network.js.map +1 -0
- package/dist/fetchProvider-WWnWnQFP.d.ts +91 -0
- package/dist/fetchProvider-toTHy5Nu.d.cts +91 -0
- package/dist/index.cjs +28051 -5459
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +94 -1320
- package/dist/index.d.ts +94 -1320
- package/dist/index.js +10616 -2420
- package/dist/index.js.map +1 -1
- package/dist/interface-IrKBFtL1.d.cts +493 -0
- package/dist/interface-IrKBFtL1.d.ts +493 -0
- package/dist/llm-providers.cjs +43 -8
- package/dist/llm-providers.cjs.map +1 -1
- package/dist/llm-providers.d.cts +2 -1
- package/dist/llm-providers.d.ts +2 -1
- package/dist/llm-providers.js +4 -2
- package/dist/llm-providers.js.map +1 -1
- package/dist/loop-api.cjs +5227 -2010
- package/dist/loop-api.cjs.map +1 -1
- package/dist/loop-api.d.cts +11 -5
- package/dist/loop-api.d.ts +11 -5
- package/dist/loop-api.js +86 -49
- package/dist/mobile.cjs +2711 -0
- package/dist/mobile.cjs.map +1 -0
- package/dist/mobile.d.cts +6 -0
- package/dist/mobile.d.ts +6 -0
- package/dist/mobile.js +22 -0
- package/dist/mobile.js.map +1 -0
- package/dist/orchestration-portable-BHB_YrNN.d.ts +2192 -0
- package/dist/orchestration-portable-mvYBvGBb.d.cts +2192 -0
- package/dist/orchestration-portable.cjs +9553 -0
- package/dist/orchestration-portable.cjs.map +1 -0
- package/dist/orchestration-portable.d.cts +5 -0
- package/dist/orchestration-portable.d.ts +5 -0
- package/dist/orchestration-portable.js +290 -0
- package/dist/orchestration-portable.js.map +1 -0
- package/dist/pairingInvite-BXPWY3aM.d.cts +149 -0
- package/dist/pairingInvite-Cuz0wuq9.d.ts +149 -0
- package/dist/promptConcat-0WNFTg4l.d.ts +516 -0
- package/dist/promptConcat-D6wr5V-V.d.cts +516 -0
- package/dist/providerRegistry-Bi6pAvSj.d.ts +86 -0
- package/dist/providerRegistry-CPsktuiX.d.cts +86 -0
- package/dist/registry-D0kbxksn.d.cts +393 -0
- package/dist/registry-DDbvhlhs.d.ts +393 -0
- package/dist/remoteClient-B_spK019.d.ts +87 -0
- package/dist/remoteClient-CBggnRy3.d.cts +87 -0
- package/dist/runtime-PGWR6FIV.js +18 -0
- package/dist/runtime-PGWR6FIV.js.map +1 -0
- package/dist/scriptDeploymentPipeline-CXJcC82H.d.ts +2464 -0
- package/dist/scriptDeploymentPipeline-yG1ZhVVI.d.cts +2464 -0
- package/dist/syncCloudDevices-BEqwgrhD.d.ts +49 -0
- package/dist/syncCloudDevices-Ds_Kcgrv.d.cts +49 -0
- package/dist/types-7pYti-k9.d.cts +255 -0
- package/dist/types-CdFVSntj.d.ts +255 -0
- package/package.json +110 -35
- package/dist/anthropic.cjs +0 -72
- package/dist/anthropic.cjs.map +0 -1
- package/dist/anthropic.d.cts +0 -21
- package/dist/anthropic.d.ts +0 -21
- package/dist/anthropic.js +0 -21
- package/dist/anthropic.js.map +0 -1
- package/dist/azure.cjs +0 -72
- package/dist/azure.cjs.map +0 -1
- package/dist/azure.d.cts +0 -21
- package/dist/azure.d.ts +0 -21
- package/dist/azure.js +0 -21
- package/dist/azure.js.map +0 -1
- package/dist/chunk-3CN7DFBL.js +0 -4894
- package/dist/chunk-3CN7DFBL.js.map +0 -1
- package/dist/chunk-4AZ4D7U5.js +0 -32
- package/dist/chunk-4AZ4D7U5.js.map +0 -1
- package/dist/chunk-6ON4XSOV.js +0 -63
- package/dist/chunk-6ON4XSOV.js.map +0 -1
- package/dist/chunk-DJQNGIXX.js +0 -4793
- package/dist/chunk-DJQNGIXX.js.map +0 -1
- package/dist/chunk-FKQP6AOQ.js +0 -32
- package/dist/chunk-FKQP6AOQ.js.map +0 -1
- package/dist/chunk-OVJ7JJBA.js +0 -35
- package/dist/chunk-OVJ7JJBA.js.map +0 -1
- package/dist/chunk-P4UZ7IXC.js +0 -42
- package/dist/chunk-YHJ2AEFR.js +0 -4933
- package/dist/chunk-YHJ2AEFR.js.map +0 -1
- package/dist/chunk-YVK7RYRO.js +0 -4973
- package/dist/chunk-YVK7RYRO.js.map +0 -1
- package/dist/code-assistant.json +0 -114
- package/dist/cohere.cjs +0 -72
- package/dist/cohere.cjs.map +0 -1
- package/dist/cohere.d.cts +0 -21
- package/dist/cohere.d.ts +0 -21
- package/dist/cohere.js +0 -21
- package/dist/cohere.js.map +0 -1
- package/dist/deepseek.cjs +0 -72
- package/dist/deepseek.cjs.map +0 -1
- package/dist/deepseek.d.cts +0 -21
- package/dist/deepseek.d.ts +0 -21
- package/dist/deepseek.js +0 -21
- package/dist/deepseek.js.map +0 -1
- package/dist/dist-65U7OYRG.js +0 -1257
- package/dist/dist-65U7OYRG.js.map +0 -1
- package/dist/fetchProvider-Cu4WkU5O.d.cts +0 -819
- package/dist/fetchProvider-Cu4WkU5O.d.ts +0 -819
- package/dist/frontend-ui-ux.json +0 -105
- package/dist/general-assistant.json +0 -95
- package/dist/git-master.json +0 -51
- package/dist/google-vertex.cjs +0 -72
- package/dist/google-vertex.cjs.map +0 -1
- package/dist/google-vertex.d.cts +0 -21
- package/dist/google-vertex.d.ts +0 -21
- package/dist/google-vertex.js +0 -21
- package/dist/google-vertex.js.map +0 -1
- package/dist/google.cjs +0 -72
- package/dist/google.cjs.map +0 -1
- package/dist/google.d.cts +0 -21
- package/dist/google.d.ts +0 -21
- package/dist/google.js +0 -21
- package/dist/google.js.map +0 -1
- package/dist/groq.cjs +0 -72
- package/dist/groq.cjs.map +0 -1
- package/dist/groq.d.cts +0 -21
- package/dist/groq.d.ts +0 -21
- package/dist/groq.js +0 -21
- package/dist/groq.js.map +0 -1
- package/dist/index.d.mts +0 -3203
- package/dist/index.mjs +0 -7064
- package/dist/index.mjs.map +0 -1
- package/dist/mistral.cjs +0 -72
- package/dist/mistral.cjs.map +0 -1
- package/dist/mistral.d.cts +0 -21
- package/dist/mistral.d.ts +0 -21
- package/dist/mistral.js +0 -21
- package/dist/mistral.js.map +0 -1
- package/dist/multipart-parser-EJCXIUHC.js +0 -372
- package/dist/multipart-parser-EJCXIUHC.js.map +0 -1
- package/dist/openai.cjs +0 -72
- package/dist/openai.cjs.map +0 -1
- package/dist/openai.d.cts +0 -21
- package/dist/openai.d.ts +0 -21
- package/dist/openai.js +0 -21
- package/dist/openai.js.map +0 -1
- package/dist/perplexity.cjs +0 -72
- package/dist/perplexity.cjs.map +0 -1
- package/dist/perplexity.d.cts +0 -21
- package/dist/perplexity.d.ts +0 -21
- package/dist/perplexity.js +0 -21
- package/dist/perplexity.js.map +0 -1
- package/dist/playwright.json +0 -52
- package/dist/promptConcat-BJdazTg5.d.cts +0 -1832
- package/dist/promptConcat-BJdazTg5.d.ts +0 -1832
- package/dist/promptConcat-CAkpni_8.d.cts +0 -1834
- package/dist/promptConcat-CAkpni_8.d.ts +0 -1834
- package/dist/promptConcat-CfH5-GAE.d.cts +0 -1036
- package/dist/promptConcat-ChcAZOOL.d.ts +0 -1036
- package/dist/promptConcat-G5TnJVRy.d.cts +0 -1800
- package/dist/promptConcat-G5TnJVRy.d.ts +0 -1800
- package/dist/promptConcat-L72eowzp.d.ts +0 -1090
- package/dist/promptConcat-eLHdN7K8.d.cts +0 -1090
- package/dist/src-VTSXKG72.js +0 -1409
- package/dist/src-VTSXKG72.js.map +0 -1
- package/dist/togetherai.cjs +0 -72
- package/dist/togetherai.cjs.map +0 -1
- package/dist/togetherai.d.cts +0 -21
- package/dist/togetherai.d.ts +0 -21
- package/dist/togetherai.js +0 -21
- package/dist/togetherai.js.map +0 -1
- package/dist/types-B0Jm2l38.d.cts +0 -767
- package/dist/types-B0Jm2l38.d.ts +0 -767
- package/dist/xai.cjs +0 -72
- package/dist/xai.cjs.map +0 -1
- package/dist/xai.d.cts +0 -21
- package/dist/xai.d.ts +0 -21
- package/dist/xai.js +0 -21
- package/dist/xai.js.map +0 -1
- /package/dist/{chunk-P4UZ7IXC.js.map → browser.js.map} +0 -0
package/dist/openai.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 OpenaiProviderConfig 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 OPENAI.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```ts
|
|
15
|
-
* import { createOpenaiProvider } from 'memeloop/openai';
|
|
16
|
-
* const provider = createOpenaiProvider({ name: 'my-openai', apiKey: '...' });
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
|
-
declare function createOpenaiProvider(config: OpenaiProviderConfig): ILLMProvider;
|
|
20
|
-
|
|
21
|
-
export { type OpenaiProviderConfig, createOpenaiProvider };
|
package/dist/openai.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 OpenaiProviderConfig 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 OPENAI.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```ts
|
|
15
|
-
* import { createOpenaiProvider } from 'memeloop/openai';
|
|
16
|
-
* const provider = createOpenaiProvider({ name: 'my-openai', apiKey: '...' });
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
|
-
declare function createOpenaiProvider(config: OpenaiProviderConfig): ILLMProvider;
|
|
20
|
-
|
|
21
|
-
export { type OpenaiProviderConfig, createOpenaiProvider };
|
package/dist/openai.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
createFetchLLMProvider
|
|
3
|
-
} from "./chunk-FKQP6AOQ.js";
|
|
4
|
-
|
|
5
|
-
// src/llm/providers/openai.ts
|
|
6
|
-
import { createOpenAI } from "@ai-sdk/openai";
|
|
7
|
-
function createOpenaiProvider(config) {
|
|
8
|
-
const sdk = createOpenAI({
|
|
9
|
-
baseURL: config.baseUrl ?? "https://api.openai.com/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
|
-
createOpenaiProvider
|
|
20
|
-
};
|
|
21
|
-
//# sourceMappingURL=openai.js.map
|
package/dist/openai.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/llm/providers/openai.ts"],"sourcesContent":["/**\n * Pre-built OPENAI provider — wraps @ai-sdk/openai.\n *\n * Import from 'memeloop/openai' (bundles only @ai-sdk/openai).\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 { createOpenAI } from '@ai-sdk/openai';\nimport { createFetchLLMProvider, type FetchLLMProviderConfig } from '../fetchProvider.js';\nimport type { ILLMProvider } from '../../types.js';\n\n// ─── Config ────────────────────────────────────────────────────────────\n\nexport interface OpenaiProviderConfig 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 OPENAI.\n *\n * @example\n * ```ts\n * import { createOpenaiProvider } from 'memeloop/openai';\n * const provider = createOpenaiProvider({ name: 'my-openai', apiKey: '...' });\n * ```\n */\nexport function createOpenaiProvider(config: OpenaiProviderConfig): ILLMProvider {\n const sdk = createOpenAI({\n baseURL: config.baseUrl ?? 'https://api.openai.com/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,oBAAoB;AAwBtB,SAAS,qBAAqB,QAA4C;AAC/E,QAAM,MAAM,aAAa;AAAA,IACvB,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/perplexity.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/perplexity.ts
|
|
21
|
-
var perplexity_exports = {};
|
|
22
|
-
__export(perplexity_exports, {
|
|
23
|
-
createPerplexityProvider: () => createPerplexityProvider
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(perplexity_exports);
|
|
26
|
-
var import_perplexity = require("@ai-sdk/perplexity");
|
|
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/perplexity.ts
|
|
57
|
-
function createPerplexityProvider(config) {
|
|
58
|
-
const sdk = (0, import_perplexity.createPerplexity)({
|
|
59
|
-
baseURL: config.baseUrl ?? "https://api.perplexity.ai",
|
|
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
|
-
createPerplexityProvider
|
|
71
|
-
});
|
|
72
|
-
//# sourceMappingURL=perplexity.cjs.map
|
package/dist/perplexity.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/llm/providers/perplexity.ts","../src/llm/fetchProvider.ts"],"sourcesContent":["/**\n * Pre-built PERPLEXITY provider — wraps @ai-sdk/perplexity.\n *\n * Import from 'memeloop/perplexity' (bundles only @ai-sdk/perplexity).\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 { createPerplexity } from '@ai-sdk/perplexity';\nimport { createFetchLLMProvider, type FetchLLMProviderConfig } from '../fetchProvider.js';\nimport type { ILLMProvider } from '../../types.js';\n\n// ─── Config ────────────────────────────────────────────────────────────\n\nexport interface PerplexityProviderConfig 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 PERPLEXITY.\n *\n * @example\n * ```ts\n * import { createPerplexityProvider } from 'memeloop/perplexity';\n * const provider = createPerplexityProvider({ name: 'my-perplexity', apiKey: '...' });\n * ```\n */\nexport function createPerplexityProvider(config: PerplexityProviderConfig): ILLMProvider {\n const sdk = createPerplexity({\n baseURL: config.baseUrl ?? 'https://api.perplexity.ai',\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,wBAAiC;;;ACkBjC,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,yBAAyB,QAAgD;AACvF,QAAM,UAAM,oCAAiB;AAAA,IAC3B,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/perplexity.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 PerplexityProviderConfig 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 PERPLEXITY.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```ts
|
|
15
|
-
* import { createPerplexityProvider } from 'memeloop/perplexity';
|
|
16
|
-
* const provider = createPerplexityProvider({ name: 'my-perplexity', apiKey: '...' });
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
|
-
declare function createPerplexityProvider(config: PerplexityProviderConfig): ILLMProvider;
|
|
20
|
-
|
|
21
|
-
export { type PerplexityProviderConfig, createPerplexityProvider };
|
package/dist/perplexity.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 PerplexityProviderConfig 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 PERPLEXITY.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```ts
|
|
15
|
-
* import { createPerplexityProvider } from 'memeloop/perplexity';
|
|
16
|
-
* const provider = createPerplexityProvider({ name: 'my-perplexity', apiKey: '...' });
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
|
-
declare function createPerplexityProvider(config: PerplexityProviderConfig): ILLMProvider;
|
|
20
|
-
|
|
21
|
-
export { type PerplexityProviderConfig, createPerplexityProvider };
|
package/dist/perplexity.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
createFetchLLMProvider
|
|
3
|
-
} from "./chunk-FKQP6AOQ.js";
|
|
4
|
-
|
|
5
|
-
// src/llm/providers/perplexity.ts
|
|
6
|
-
import { createPerplexity } from "@ai-sdk/perplexity";
|
|
7
|
-
function createPerplexityProvider(config) {
|
|
8
|
-
const sdk = createPerplexity({
|
|
9
|
-
baseURL: config.baseUrl ?? "https://api.perplexity.ai",
|
|
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
|
-
createPerplexityProvider
|
|
20
|
-
};
|
|
21
|
-
//# sourceMappingURL=perplexity.js.map
|
package/dist/perplexity.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/llm/providers/perplexity.ts"],"sourcesContent":["/**\n * Pre-built PERPLEXITY provider — wraps @ai-sdk/perplexity.\n *\n * Import from 'memeloop/perplexity' (bundles only @ai-sdk/perplexity).\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 { createPerplexity } from '@ai-sdk/perplexity';\nimport { createFetchLLMProvider, type FetchLLMProviderConfig } from '../fetchProvider.js';\nimport type { ILLMProvider } from '../../types.js';\n\n// ─── Config ────────────────────────────────────────────────────────────\n\nexport interface PerplexityProviderConfig 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 PERPLEXITY.\n *\n * @example\n * ```ts\n * import { createPerplexityProvider } from 'memeloop/perplexity';\n * const provider = createPerplexityProvider({ name: 'my-perplexity', apiKey: '...' });\n * ```\n */\nexport function createPerplexityProvider(config: PerplexityProviderConfig): ILLMProvider {\n const sdk = createPerplexity({\n baseURL: config.baseUrl ?? 'https://api.perplexity.ai',\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,wBAAwB;AAwB1B,SAAS,yBAAyB,QAAgD;AACvF,QAAM,MAAM,iBAAiB;AAAA,IAC3B,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/playwright.json
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "memeloop:playwright",
|
|
3
|
-
"name": "Playwright",
|
|
4
|
-
"description": "Browser automation via Playwright for verification, browsing, information gathering, web scraping, testing, and screenshots.",
|
|
5
|
-
"loopId": "agent-tool-loop",
|
|
6
|
-
"systemPrompt": "You have access to Playwright for browser automation. Use it for:\n\nBrowser Automation:\n- Navigate to URLs and verify page content\n- Fill forms, click buttons, and interact with page elements\n- Take screenshots of specific elements or full pages\n- Extract data from web pages (scraping)\n- Test web application functionality end-to-end\n- Automate browser workflows\n- Log into websites and maintain sessions\n\nBest Practices:\n- Use specific selectors (data-testid, id, or unique CSS selectors) over fragile XPath\n- Wait for elements to be visible before interacting\n- Handle page navigation and loading states explicitly\n- Take screenshots at key steps for debugging\n- Clean up browser resources when done\n- Handle timeouts and error states gracefully\n\nAvailable Playwright MCP Tools:\n- browser_navigate: Navigate to a URL\n- browser_click: Click an element\n- browser_type: Type into an input field\n- browser_snapshot: Take accessibility snapshot of page\n- browser_take_screenshot: Capture screenshot\n- browser_fill_form: Fill multiple form fields at once\n- browser_evaluate: Execute JavaScript in page context\n- browser_select_option: Select from dropdown\n- browser_drag: Drag and drop elements\n- browser_hover: Hover over an element\n- browser_press_key: Press a keyboard key\n- browser_handle_dialog: Handle browser dialogs (alert/confirm/prompt)\n- browser_close: Close the browser",
|
|
7
|
-
"tools": ["modelContextProtocol", "askQuestion"],
|
|
8
|
-
"plugins": [
|
|
9
|
-
{ "id": "builtin:mcp-client" },
|
|
10
|
-
{ "id": "builtin:mcp-forward" },
|
|
11
|
-
{ "id": "builtin:ask-question" }
|
|
12
|
-
],
|
|
13
|
-
"agentTools": [
|
|
14
|
-
{
|
|
15
|
-
"toolId": "modelContextProtocol",
|
|
16
|
-
"parameters": {
|
|
17
|
-
"modelContextProtocolParam": {
|
|
18
|
-
"serverUrl": "http://127.0.0.1:38385/mcp",
|
|
19
|
-
"timeoutSecond": 30,
|
|
20
|
-
"toolListPosition": { "targetId": "builtin-system", "position": "after" },
|
|
21
|
-
"toolResultDuration": 1
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
"toolId": "askQuestion",
|
|
27
|
-
"parameters": {
|
|
28
|
-
"askQuestionParam": {
|
|
29
|
-
"toolListPosition": { "targetId": "builtin-system", "position": "after" }
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
],
|
|
34
|
-
"agentFrameworkConfig": {
|
|
35
|
-
"prompts": [
|
|
36
|
-
{
|
|
37
|
-
"id": "builtin-system",
|
|
38
|
-
"role": "system",
|
|
39
|
-
"text": "You have access to Playwright for browser automation. Use it for:\n\nBrowser Automation:\n- Navigate to URLs and verify page content\n- Fill forms, click buttons, and interact with page elements\n- Take screenshots of specific elements or full pages\n- Extract data from web pages (scraping)\n- Test web application functionality end-to-end\n- Automate browser workflows\n- Log into websites and maintain sessions\n\nBest Practices:\n- Use specific selectors (data-testid, id, or unique CSS selectors) over fragile XPath\n- Wait for elements to be visible before interacting\n- Handle page navigation and loading states explicitly\n- Take screenshots at key steps for debugging\n- Clean up browser resources when done\n- Handle timeouts and error states gracefully\n\nAvailable Playwright MCP Tools:\n- browser_navigate: Navigate to a URL\n- browser_click: Click an element\n- browser_type: Type into an input field\n- browser_snapshot: Take accessibility snapshot of page\n- browser_take_screenshot: Capture screenshot\n- browser_fill_form: Fill multiple form fields at once\n- browser_evaluate: Execute JavaScript in page context\n- browser_select_option: Select from dropdown\n- browser_drag: Drag and drop elements\n- browser_hover: Hover over an element\n- browser_press_key: Press a keyboard key\n- browser_handle_dialog: Handle browser dialogs (alert/confirm/prompt)\n- browser_close: Close the browser"
|
|
40
|
-
}
|
|
41
|
-
],
|
|
42
|
-
"plugins": [],
|
|
43
|
-
"response": []
|
|
44
|
-
},
|
|
45
|
-
"modelConfig": {
|
|
46
|
-
"provider": "memeloop",
|
|
47
|
-
"model": "claude-opus-4.6",
|
|
48
|
-
"temperature": 0.3,
|
|
49
|
-
"maxTokens": 4096
|
|
50
|
-
},
|
|
51
|
-
"version": "1.0.0"
|
|
52
|
-
}
|