@opentiny/next-sdk 0.2.6-beta.0 → 0.2.6-beta.2
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/index.es.dev.js +60 -6
- package/dist/index.es.js +3930 -3887
- package/dist/index.js +1500 -1457
- package/dist/index.umd.dev.js +60 -6
- package/dist/index.umd.js +39 -39
- package/dist/page-tool-bridge.d.ts +30 -3
- package/package.json +1 -1
- package/page-tool-bridge.ts +108 -16
package/dist/index.es.dev.js
CHANGED
|
@@ -50158,7 +50158,52 @@ ${observationText}
|
|
|
50158
50158
|
const MSG_TOOL_CALL = "next-sdk:tool-call";
|
|
50159
50159
|
const MSG_TOOL_RESPONSE = "next-sdk:tool-response";
|
|
50160
50160
|
const MSG_PAGE_READY = "next-sdk:page-ready";
|
|
50161
|
+
const MSG_PAGE_LEAVE = "next-sdk:page-leave";
|
|
50162
|
+
const MSG_REMOTER_READY = "next-sdk:remoter-ready";
|
|
50163
|
+
const MSG_ROUTE_STATE_INITIAL = "next-sdk:route-state-initial";
|
|
50161
50164
|
const activePages = /* @__PURE__ */ new Map();
|
|
50165
|
+
const broadcastTargets = /* @__PURE__ */ new Set();
|
|
50166
|
+
function initBroadcastTargets() {
|
|
50167
|
+
if (typeof window !== "undefined") {
|
|
50168
|
+
broadcastTargets.add(window);
|
|
50169
|
+
}
|
|
50170
|
+
}
|
|
50171
|
+
initBroadcastTargets();
|
|
50172
|
+
function broadcastRouteChange(type2, route) {
|
|
50173
|
+
const msg = { type: type2, route };
|
|
50174
|
+
const origin = window.location.origin || "*";
|
|
50175
|
+
broadcastTargets.forEach((target) => {
|
|
50176
|
+
try {
|
|
50177
|
+
target.postMessage(msg, origin);
|
|
50178
|
+
} catch {
|
|
50179
|
+
}
|
|
50180
|
+
});
|
|
50181
|
+
}
|
|
50182
|
+
function setupIframeRemoterBridge() {
|
|
50183
|
+
if (typeof window === "undefined") return;
|
|
50184
|
+
window.addEventListener("message", (event) => {
|
|
50185
|
+
if (event.data?.type !== MSG_REMOTER_READY || !event.source) return;
|
|
50186
|
+
const target = event.source;
|
|
50187
|
+
broadcastTargets.add(target);
|
|
50188
|
+
const payload = {
|
|
50189
|
+
type: MSG_ROUTE_STATE_INITIAL,
|
|
50190
|
+
toolRouteMap: Array.from(toolRouteMap.entries()),
|
|
50191
|
+
activeRoutes: Array.from(activePages.keys())
|
|
50192
|
+
};
|
|
50193
|
+
try {
|
|
50194
|
+
target.postMessage(payload, window.location.origin || "*");
|
|
50195
|
+
} catch {
|
|
50196
|
+
}
|
|
50197
|
+
});
|
|
50198
|
+
}
|
|
50199
|
+
setupIframeRemoterBridge();
|
|
50200
|
+
const toolRouteMap = /* @__PURE__ */ new Map();
|
|
50201
|
+
function getToolRouteMap() {
|
|
50202
|
+
return toolRouteMap;
|
|
50203
|
+
}
|
|
50204
|
+
function getActiveRoutes() {
|
|
50205
|
+
return new Set(activePages.keys());
|
|
50206
|
+
}
|
|
50162
50207
|
let _navigator = null;
|
|
50163
50208
|
function setNavigator(fn) {
|
|
50164
50209
|
_navigator = fn;
|
|
@@ -50230,11 +50275,13 @@ function withPageTools(server) {
|
|
|
50230
50275
|
get(target, prop, receiver) {
|
|
50231
50276
|
if (prop === "registerTool") {
|
|
50232
50277
|
return (name16, config2, handlerOrRoute) => {
|
|
50278
|
+
const rawRegister = target.registerTool.bind(target);
|
|
50233
50279
|
if (typeof handlerOrRoute === "function") {
|
|
50234
|
-
return
|
|
50280
|
+
return rawRegister(name16, config2, handlerOrRoute);
|
|
50235
50281
|
}
|
|
50236
50282
|
const { route, timeout } = handlerOrRoute;
|
|
50237
|
-
|
|
50283
|
+
toolRouteMap.set(name16, route);
|
|
50284
|
+
return rawRegister(name16, config2, buildPageHandler(name16, route, timeout));
|
|
50238
50285
|
};
|
|
50239
50286
|
}
|
|
50240
50287
|
return Reflect.get(target, prop, receiver);
|
|
@@ -50242,10 +50289,11 @@ function withPageTools(server) {
|
|
|
50242
50289
|
});
|
|
50243
50290
|
}
|
|
50244
50291
|
function registerPageTool(options) {
|
|
50245
|
-
const { handlers } = options;
|
|
50246
|
-
const
|
|
50292
|
+
const { route: routeOption, handlers } = options;
|
|
50293
|
+
const normalizeRoute = (value) => value.replace(/\/+$/, "") || "/";
|
|
50294
|
+
const route = normalizeRoute(routeOption ?? window.location.pathname);
|
|
50247
50295
|
const handleMessage = async (event) => {
|
|
50248
|
-
if (event.source !== window || event.data?.type !== MSG_TOOL_CALL || event.data?.route !== route || !(event.data.toolName in handlers)) {
|
|
50296
|
+
if (event.source !== window || event.data?.type !== MSG_TOOL_CALL || normalizeRoute(String(event.data?.route ?? "")) !== route || !(event.data.toolName in handlers)) {
|
|
50249
50297
|
return;
|
|
50250
50298
|
}
|
|
50251
50299
|
const { callId, toolName, input } = event.data;
|
|
@@ -50265,10 +50313,11 @@ function registerPageTool(options) {
|
|
|
50265
50313
|
};
|
|
50266
50314
|
activePages.set(route, true);
|
|
50267
50315
|
window.addEventListener("message", handleMessage);
|
|
50268
|
-
|
|
50316
|
+
broadcastRouteChange(MSG_PAGE_READY, route);
|
|
50269
50317
|
return () => {
|
|
50270
50318
|
activePages.delete(route);
|
|
50271
50319
|
window.removeEventListener("message", handleMessage);
|
|
50320
|
+
broadcastRouteChange(MSG_PAGE_LEAVE, route);
|
|
50272
50321
|
};
|
|
50273
50322
|
}
|
|
50274
50323
|
const MAIN_SKILL_PATH_REG = /^\.\/[^/]+\/SKILL\.md$/;
|
|
@@ -50371,6 +50420,9 @@ export {
|
|
|
50371
50420
|
ExtensionClientTransport,
|
|
50372
50421
|
ExtensionPageServerTransport,
|
|
50373
50422
|
InMemoryTransport,
|
|
50423
|
+
MSG_PAGE_LEAVE,
|
|
50424
|
+
MSG_REMOTER_READY,
|
|
50425
|
+
MSG_ROUTE_STATE_INITIAL,
|
|
50374
50426
|
QrCode,
|
|
50375
50427
|
ResourceTemplate,
|
|
50376
50428
|
UriTemplate,
|
|
@@ -50386,12 +50438,14 @@ export {
|
|
|
50386
50438
|
createStreamableHTTPClientTransport,
|
|
50387
50439
|
formatSkillsForSystemPrompt,
|
|
50388
50440
|
getAISDKTools,
|
|
50441
|
+
getActiveRoutes,
|
|
50389
50442
|
getDisplayName,
|
|
50390
50443
|
getMainSkillPathByName,
|
|
50391
50444
|
getMainSkillPaths,
|
|
50392
50445
|
getSkillMdContent,
|
|
50393
50446
|
getSkillMdPaths,
|
|
50394
50447
|
getSkillOverviews,
|
|
50448
|
+
getToolRouteMap,
|
|
50395
50449
|
isMcpClient,
|
|
50396
50450
|
isMcpServer,
|
|
50397
50451
|
isMessageChannelClientTransport,
|