modeldispatcher-browser-agent 0.6.6 → 0.6.7
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 +5 -2
- package/dist/externalChat.js +9 -0
- package/dist/externalChat.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/package.json +1 -1
- package/src/externalChat.ts +9 -0
- package/src/types.ts +1 -1
package/README.md
CHANGED
|
@@ -102,8 +102,11 @@ const result = await openExternalChat("claude", "Summarise this in one sentence:
|
|
|
102
102
|
// result.copiedToClipboard — true if it's also on the clipboard, for pasting
|
|
103
103
|
```
|
|
104
104
|
|
|
105
|
-
`EXTERNAL_CHAT_PROVIDERS` lists the
|
|
106
|
-
picker, the same way `PROVIDERS` does for the BYOK providers above
|
|
105
|
+
`EXTERNAL_CHAT_PROVIDERS` lists the five supported products for rendering a
|
|
106
|
+
picker, the same way `PROVIDERS` does for the BYOK providers above: ChatGPT,
|
|
107
|
+
Claude, Gemini (Google AI Mode's `udm=50` search, the only reliable prefill
|
|
108
|
+
target for "ask Google's AI this"), Gemini (the real `gemini.google.com/app`,
|
|
109
|
+
under id `geminiApp`, distinct from the AI-Mode entry), and Groq.
|
|
107
110
|
|
|
108
111
|
**Why this needs a clipboard fallback at all:** the URL query parameters that
|
|
109
112
|
pre-fill a provider's chat box (`claude.ai/new?q=...`, `chatgpt.com/?q=...`,
|
package/dist/externalChat.js
CHANGED
|
@@ -36,6 +36,15 @@ export const EXTERNAL_CHAT_PROVIDERS = {
|
|
|
36
36
|
// "ask Google's AI this" — that's what this actually opens.
|
|
37
37
|
buildUrl: (question) => `https://www.google.com/search?${new URLSearchParams({ q: question, udm: "50" })}`,
|
|
38
38
|
},
|
|
39
|
+
geminiApp: {
|
|
40
|
+
id: "geminiApp",
|
|
41
|
+
name: "Gemini",
|
|
42
|
+
homeUrl: "https://gemini.google.com/app",
|
|
43
|
+
// The real Gemini app, distinct from the AI-Mode entry above. It has no
|
|
44
|
+
// known query-prefill parameter — opens the plain app; the question
|
|
45
|
+
// still goes to the clipboard.
|
|
46
|
+
buildUrl: null,
|
|
47
|
+
},
|
|
39
48
|
groq: {
|
|
40
49
|
id: "groq",
|
|
41
50
|
name: "Groq",
|
package/dist/externalChat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"externalChat.js","sourceRoot":"","sources":["../src/externalChat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,CAAC,MAAM,uBAAuB,GAA6D;IAC/F,OAAO,EAAE;QACP,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,sBAAsB;QAC/B,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,wBAAwB,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE;KACxG;IACD,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,uBAAuB;QAChC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,yBAAyB,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE;KACxF;IACD,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,yBAAyB;QAClC,kEAAkE;QAClE,wEAAwE;QACxE,4DAA4D;QAC5D,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,iCAAiC,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE;KAC3G;IACD,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,mBAAmB;QAC5B,sEAAsE;QACtE,sEAAsE;QACtE,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAqBF,SAAS,WAAW,CAAC,GAAW;IAC9B,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO;IAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,gBAAgB,CACvB,SAA6C;IAE7C,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC,SAAS,CAAC;IACxF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAgC,EAChC,QAAgB,EAChB,OAA6B,EAAE;IAE/B,MAAM,IAAI,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;IAEnE,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnD,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACpC,iBAAiB,GAAG,IAAI,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB,GAAG,KAAK,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,CAAC,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC;IAEhC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;AACzD,CAAC"}
|
|
1
|
+
{"version":3,"file":"externalChat.js","sourceRoot":"","sources":["../src/externalChat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,CAAC,MAAM,uBAAuB,GAA6D;IAC/F,OAAO,EAAE;QACP,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,sBAAsB;QAC/B,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,wBAAwB,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE;KACxG;IACD,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,uBAAuB;QAChC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,yBAAyB,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE;KACxF;IACD,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,yBAAyB;QAClC,kEAAkE;QAClE,wEAAwE;QACxE,4DAA4D;QAC5D,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,iCAAiC,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE;KAC3G;IACD,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,+BAA+B;QACxC,wEAAwE;QACxE,oEAAoE;QACpE,+BAA+B;QAC/B,QAAQ,EAAE,IAAI;KACf;IACD,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,mBAAmB;QAC5B,sEAAsE;QACtE,sEAAsE;QACtE,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAqBF,SAAS,WAAW,CAAC,GAAW;IAC9B,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO;IAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,gBAAgB,CACvB,SAA6C;IAE7C,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC,SAAS,CAAC;IACxF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAgC,EAChC,QAAgB,EAChB,OAA6B,EAAE;IAE/B,MAAM,IAAI,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;IAEnE,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnD,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACpC,iBAAiB,GAAG,IAAI,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB,GAAG,KAAK,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,CAAC,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC;IAEhC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;AACzD,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -81,7 +81,7 @@ export interface StreamOptions extends RequestOptions {
|
|
|
81
81
|
/** A free, public AI chat web product `openExternalChat` can hand a question
|
|
82
82
|
* off to — the no-API-key escape hatch, distinct from the `ProviderId`s above
|
|
83
83
|
* (which all require a BYOK credential). */
|
|
84
|
-
export type ExternalChatProviderId = "chatgpt" | "claude" | "gemini" | "groq";
|
|
84
|
+
export type ExternalChatProviderId = "chatgpt" | "claude" | "gemini" | "geminiApp" | "groq";
|
|
85
85
|
/** Static metadata about one external chat provider. */
|
|
86
86
|
export interface ExternalChatProviderInfo {
|
|
87
87
|
readonly id: ExternalChatProviderId;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "modeldispatcher-browser-agent",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.7",
|
|
4
4
|
"description": "Browser-native, bring-your-own-key AI agent core with cross-provider/cross-key fallback dispatch: multi-provider (Gemini/OpenAI/Anthropic/Groq/Ollama), streaming and non-streaming, no backend and no vendor SDK required. The client-side sibling to model-dispatcher for apps with no server to run it on.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
package/src/externalChat.ts
CHANGED
|
@@ -39,6 +39,15 @@ export const EXTERNAL_CHAT_PROVIDERS: Record<ExternalChatProviderId, ExternalCha
|
|
|
39
39
|
// "ask Google's AI this" — that's what this actually opens.
|
|
40
40
|
buildUrl: (question) => `https://www.google.com/search?${new URLSearchParams({ q: question, udm: "50" })}`,
|
|
41
41
|
},
|
|
42
|
+
geminiApp: {
|
|
43
|
+
id: "geminiApp",
|
|
44
|
+
name: "Gemini",
|
|
45
|
+
homeUrl: "https://gemini.google.com/app",
|
|
46
|
+
// The real Gemini app, distinct from the AI-Mode entry above. It has no
|
|
47
|
+
// known query-prefill parameter — opens the plain app; the question
|
|
48
|
+
// still goes to the clipboard.
|
|
49
|
+
buildUrl: null,
|
|
50
|
+
},
|
|
42
51
|
groq: {
|
|
43
52
|
id: "groq",
|
|
44
53
|
name: "Groq",
|
package/src/types.ts
CHANGED
|
@@ -91,7 +91,7 @@ export interface StreamOptions extends RequestOptions {
|
|
|
91
91
|
/** A free, public AI chat web product `openExternalChat` can hand a question
|
|
92
92
|
* off to — the no-API-key escape hatch, distinct from the `ProviderId`s above
|
|
93
93
|
* (which all require a BYOK credential). */
|
|
94
|
-
export type ExternalChatProviderId = "chatgpt" | "claude" | "gemini" | "groq";
|
|
94
|
+
export type ExternalChatProviderId = "chatgpt" | "claude" | "gemini" | "geminiApp" | "groq";
|
|
95
95
|
|
|
96
96
|
/** Static metadata about one external chat provider. */
|
|
97
97
|
export interface ExternalChatProviderInfo {
|