@opentiny/next-remoter 0.2.10 → 0.3.0
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/dist/components/TinyRobotChat.vue.d.ts +0 -19
- package/dist/composable/CustomAgentModelProvider.d.ts +0 -7
- package/dist/composable/useBuiltinMcpServer.d.ts +28 -0
- package/dist/composable/usePlugin.d.ts +1 -0
- package/dist/composable/useRouteBasedTools.d.ts +3 -35
- package/dist/next-remoter-runtime.es.js +72487 -71908
- package/dist/next-remoter.cjs.js +44 -43
- package/dist/next-remoter.css +1 -1
- package/dist/next-remoter.es.js +7960 -7700
- package/dist/style.css +1 -1
- package/package.json +2 -2
|
@@ -135,15 +135,6 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
|
|
|
135
135
|
type: BooleanConstructor;
|
|
136
136
|
default: boolean;
|
|
137
137
|
};
|
|
138
|
-
/**
|
|
139
|
-
* 开启页面工具按需加载:仅当前激活路由对应的 withPageTools 工具对 LLM 可见,
|
|
140
|
-
* 并在插件面板中展示;未加载页面的工具不会暴露给模型,也不显示在面板上。
|
|
141
|
-
* 默认 false(关闭),需显式传入 :pageToolsOnDemand="true" 开启。
|
|
142
|
-
*/
|
|
143
|
-
pageToolsOnDemand: {
|
|
144
|
-
type: BooleanConstructor;
|
|
145
|
-
default: boolean;
|
|
146
|
-
};
|
|
147
138
|
/** 自定义欢迎区建议卡片(与 tr-prompts 的 items 格式一致)。不传则使用内置默认文案 */
|
|
148
139
|
promptItems: {
|
|
149
140
|
type: ArrayConstructor;
|
|
@@ -392,15 +383,6 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
|
|
|
392
383
|
type: BooleanConstructor;
|
|
393
384
|
default: boolean;
|
|
394
385
|
};
|
|
395
|
-
/**
|
|
396
|
-
* 开启页面工具按需加载:仅当前激活路由对应的 withPageTools 工具对 LLM 可见,
|
|
397
|
-
* 并在插件面板中展示;未加载页面的工具不会暴露给模型,也不显示在面板上。
|
|
398
|
-
* 默认 false(关闭),需显式传入 :pageToolsOnDemand="true" 开启。
|
|
399
|
-
*/
|
|
400
|
-
pageToolsOnDemand: {
|
|
401
|
-
type: BooleanConstructor;
|
|
402
|
-
default: boolean;
|
|
403
|
-
};
|
|
404
386
|
/** 自定义欢迎区建议卡片(与 tr-prompts 的 items 格式一致)。不传则使用内置默认文案 */
|
|
405
387
|
promptItems: {
|
|
406
388
|
type: ArrayConstructor;
|
|
@@ -437,7 +419,6 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
|
|
|
437
419
|
skills: Record<string, string>;
|
|
438
420
|
layoutMode: "absolute" | "fixed" | "static" | "relative" | "sticky";
|
|
439
421
|
debugStream: boolean;
|
|
440
|
-
pageToolsOnDemand: boolean;
|
|
441
422
|
promptItems: unknown[];
|
|
442
423
|
pillItems: unknown[];
|
|
443
424
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ChatCompletionResponse, ChatCompletionRequest, StreamHandler, BaseModelProvider, AIModelConfig } from '@opentiny/tiny-robot-kit';
|
|
2
2
|
import { Ref } from 'vue';
|
|
3
3
|
import { AgentModelProvider } from '@opentiny/next-sdk';
|
|
4
|
-
import { getRemoteRouteState } from './useRouteBasedTools';
|
|
5
4
|
import { ICustomAgentModelProviderLlmConfig } from '../types/type';
|
|
6
5
|
import { ProviderV2 } from '@ai-sdk/provider';
|
|
7
6
|
import { PromptManager } from './promptManager';
|
|
@@ -16,12 +15,6 @@ export declare class CustomAgentModelProvider extends BaseModelProvider {
|
|
|
16
15
|
/** 生成式UI启用状态 */
|
|
17
16
|
isGenuiEnabled?: Ref<boolean>;
|
|
18
17
|
debugStream: boolean;
|
|
19
|
-
/** 开启页面工具按需加载 */
|
|
20
|
-
pageToolsOnDemand: boolean;
|
|
21
|
-
/** 实例级路由状态 getter,由 useRouteBasedTools 注入,实现多 remoter 隔离 */
|
|
22
|
-
private _getRouteState;
|
|
23
|
-
/** 由 useRouteBasedTools 注入实例级 getRemoteRouteState,实现多实例隔离 */
|
|
24
|
-
setRouteStateGetter(fn: () => ReturnType<typeof getRemoteRouteState>): void;
|
|
25
18
|
constructor(config: AIModelConfig, systemPrompt: string, llmConfig?: ICustomAgentModelProviderLlmConfig);
|
|
26
19
|
/**
|
|
27
20
|
* 更新大语言模型配置
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { AgentModelProvider } from '@opentiny/next-sdk';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 检测当前浏览器是否支持内置 WebMCP(`navigator.modelContextTesting`)。
|
|
5
|
+
*/
|
|
6
|
+
export declare function isBuiltinMcpSupported(): boolean;
|
|
7
|
+
/**
|
|
8
|
+
* 将浏览器内置 WebMCP(`navigator.modelContextTesting`)作为一个 MCP Server
|
|
9
|
+
* 注入到 AgentModelProvider,使 AI 可以调用浏览器原生工具。
|
|
10
|
+
*
|
|
11
|
+
* 特点:
|
|
12
|
+
* - 类型为 `{ type: 'builtin', client: navigator.modelContextTesting }`
|
|
13
|
+
* - 工具列表通过 `modelContextTesting.listTools()` / `getTools()` 获取
|
|
14
|
+
* - 工具执行通过 `modelContextTesting.executeTool(name, input)` 代理
|
|
15
|
+
*
|
|
16
|
+
* @param agent - AgentModelProvider 实例
|
|
17
|
+
* @param serverName - MCP server 名称,默认 'mcp-server-builtin-webmcp'
|
|
18
|
+
* @returns Promise<boolean> 是否成功注入(浏览器不支持时返回 false)
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* import { useBuiltinMcpServer } from '@opentiny/next-remoter/composable/useBuiltinMcpServer'
|
|
23
|
+
*
|
|
24
|
+
* const agent = new AgentModelProvider({ llmConfig })
|
|
25
|
+
* await useBuiltinMcpServer(agent)
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare function useBuiltinMcpServer(agent: AgentModelProvider, serverName?: string): Promise<boolean>;
|
|
@@ -1,39 +1,7 @@
|
|
|
1
|
-
import { Ref } from 'vue';
|
|
2
|
-
import { PluginInfo } from '@opentiny/tiny-robot';
|
|
3
|
-
|
|
4
|
-
/** 路由状态结构;initialized 为 true 表示已收到有效快照(如同窗口本地 map 或 iframe 收到 MSG_ROUTE_STATE_INITIAL) */
|
|
5
|
-
export type RemoteRouteState = {
|
|
6
|
-
toolRouteMap: Map<string, string>;
|
|
7
|
-
activeRoutes: Set<string>;
|
|
8
|
-
/** 是否已就绪:iframe 下收到父窗口快照后为 true,未收到前为 false,用于 fail closed */
|
|
9
|
-
initialized: boolean;
|
|
10
|
-
} | null;
|
|
11
1
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*/
|
|
15
|
-
export declare const getRemoteRouteState: (instanceKey?: symbol) => RemoteRouteState;
|
|
16
|
-
/**
|
|
17
|
-
* 路由感知工具过滤 composable
|
|
18
|
-
*
|
|
19
|
-
* 支持两种场景:
|
|
20
|
-
* - 同窗口:业务页面与 Remoter 在同一 window,直接读取 getToolRouteMap/getActiveRoutes
|
|
21
|
-
* - iframe:Remoter 在 iframe 内,通过 remoter-ready 握手获取父窗口的路由状态,
|
|
22
|
-
* 并接收父窗口广播的 page-ready/page-leave,实现按需加载
|
|
23
|
-
*
|
|
24
|
-
* 默认关闭(enabled = false),需显式传入 :pageToolsOnDemand="true" 开启。
|
|
2
|
+
* 简化后的工具同步:
|
|
3
|
+
* - 仅监听工具目录变化并触发 remoter 侧 refresh
|
|
25
4
|
*/
|
|
26
5
|
export declare function useRouteBasedTools(options: {
|
|
27
|
-
|
|
28
|
-
enabled: Ref<boolean>;
|
|
29
|
-
/** 仅依赖 ignoreToolnames 的最小 Agent 约束 */
|
|
30
|
-
agent: {
|
|
31
|
-
ignoreToolnames: string[];
|
|
32
|
-
};
|
|
33
|
-
/** 已安装插件列表的响应式引用,用于同步 UI 开关状态 */
|
|
34
|
-
installedPlugins: Ref<PluginInfo[]>;
|
|
35
|
-
/** 可选,CustomAgentModelProvider 实例,用于注入实例级 getRemoteRouteState,实现多实例隔离 */
|
|
36
|
-
customAgentProvider?: {
|
|
37
|
-
setRouteStateGetter: (fn: () => RemoteRouteState) => void;
|
|
38
|
-
};
|
|
6
|
+
onToolCatalogChanged?: () => void | Promise<void>;
|
|
39
7
|
}): void;
|