buckyos 0.7.126 → 0.7.128
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/cli/dist/cli.mjs +116 -31
- package/cli/dist/cli.mjs.map +1 -1
- package/cli/launcher.mjs +0 -0
- package/cli/modules/pikg.ts +5 -0
- package/cli/modules/pikg_protocol.ts +40 -0
- package/cli/runtime/host_deno.ts +16 -31
- package/cli/runtime/host_node.ts +15 -30
- package/cli/runtime/path_policy.ts +49 -0
- package/cli/version.ts +1 -1
- package/dist/aicc_client.d.ts +1 -0
- package/dist/aicc_client.d.ts.map +1 -1
- package/dist/app-frame.cjs +2 -0
- package/dist/app-frame.cjs.map +1 -0
- package/dist/app-frame.d.ts +82 -0
- package/dist/app-frame.d.ts.map +1 -0
- package/dist/app-frame.mjs +189 -0
- package/dist/app-frame.mjs.map +1 -0
- package/dist/browser.cjs +1 -1
- package/dist/browser.mjs +2 -2
- package/dist/content.cjs +2 -0
- package/dist/content.cjs.map +1 -0
- package/dist/content.d.ts +148 -0
- package/dist/content.d.ts.map +1 -0
- package/dist/content.mjs +361 -0
- package/dist/content.mjs.map +1 -0
- package/dist/content_mime.d.ts +4 -0
- package/dist/content_mime.d.ts.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +2 -2
- package/dist/msg_queue_client.d.ts +2 -0
- package/dist/msg_queue_client.d.ts.map +1 -1
- package/dist/{ndm_proxy-54e7d13f.mjs → ndm_proxy-3caceb0a.mjs} +8 -3
- package/dist/ndm_proxy-3caceb0a.mjs.map +1 -0
- package/dist/{ndm_proxy-52a07229.js → ndm_proxy-d37a0204.js} +2 -2
- package/dist/ndm_proxy-d37a0204.js.map +1 -0
- package/dist/nfsp.cjs +2 -0
- package/dist/nfsp.cjs.map +1 -0
- package/dist/nfsp.d.ts +484 -0
- package/dist/nfsp.d.ts.map +1 -0
- package/dist/nfsp.mjs +466 -0
- package/dist/nfsp.mjs.map +1 -0
- package/dist/node.cjs +1 -1
- package/dist/node.mjs +2 -2
- package/dist/runtime.d.ts.map +1 -1
- package/package.json +18 -2
- package/dist/ndm_proxy-52a07229.js.map +0 -1
- package/dist/ndm_proxy-54e7d13f.mjs.map +0 -1
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { isOpenRequest } from "./content.mjs";
|
|
2
|
+
const envelope = (type, payload, extra = {}) => ({ protocol: "buckyos.app-frame", version: 1, type, payload, ...extra });
|
|
3
|
+
const isMessage = (value) => {
|
|
4
|
+
if (!value || typeof value !== "object")
|
|
5
|
+
return false;
|
|
6
|
+
const v = value;
|
|
7
|
+
return v.protocol === "buckyos.app-frame" && v.version === 1 && typeof v.type === "string" && !!v.payload && typeof v.payload === "object";
|
|
8
|
+
};
|
|
9
|
+
class AppFrameHost {
|
|
10
|
+
constructor(options) {
|
|
11
|
+
this.options = options;
|
|
12
|
+
this.ready = false;
|
|
13
|
+
this.capabilities = [];
|
|
14
|
+
this.pending = /* @__PURE__ */ new Map();
|
|
15
|
+
this.listener = (event) => this.receive(event);
|
|
16
|
+
this.opens = [];
|
|
17
|
+
window.addEventListener("message", this.listener);
|
|
18
|
+
}
|
|
19
|
+
receive(event) {
|
|
20
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
21
|
+
if (event.source !== this.options.target() || event.origin !== this.options.origin || !isMessage(event.data))
|
|
22
|
+
return;
|
|
23
|
+
const m = event.data;
|
|
24
|
+
const p = m.payload;
|
|
25
|
+
if (m.type === "frame.hello") {
|
|
26
|
+
if (p.nonce !== this.options.init.nonce || !Array.isArray(p.appCapabilities))
|
|
27
|
+
return;
|
|
28
|
+
this.ready = true;
|
|
29
|
+
this.capabilities = p.appCapabilities.filter((c) => typeof c === "string");
|
|
30
|
+
this.send("frame.init", this.options.init);
|
|
31
|
+
(_b = (_a = this.options).onReady) == null ? void 0 : _b.call(_a);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (!this.ready)
|
|
35
|
+
return;
|
|
36
|
+
if (m.replyTo) {
|
|
37
|
+
const pending = this.pending.get(m.replyTo);
|
|
38
|
+
if (pending && m.type === pending.type + "Result") {
|
|
39
|
+
clearTimeout(pending.timer);
|
|
40
|
+
this.pending.delete(m.replyTo);
|
|
41
|
+
pending.resolve(m.payload);
|
|
42
|
+
}
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
if (m.type === "window.setTitle" && typeof p.title === "string")
|
|
46
|
+
(_d = (_c = this.options).onTitle) == null ? void 0 : _d.call(_c, p.title.slice(0, 256), p.dirty === true);
|
|
47
|
+
if (m.type === "window.requestClose")
|
|
48
|
+
(_f = (_e = this.options).onRequestClose) == null ? void 0 : _f.call(_e);
|
|
49
|
+
if (m.type === "content.open" && (p.target === "default" || p.target === "preview")) {
|
|
50
|
+
const request = { ...p.request, requestId: crypto.randomUUID() };
|
|
51
|
+
if (!isOpenRequest(request))
|
|
52
|
+
return;
|
|
53
|
+
this.opens = this.opens.filter((t) => t > Date.now() - 1e4);
|
|
54
|
+
if (this.opens.length >= 5)
|
|
55
|
+
return;
|
|
56
|
+
this.opens.push(Date.now());
|
|
57
|
+
(_h = (_g = this.options).onContentOpen) == null ? void 0 : _h.call(_g, request, p.target, p.newWindow === true);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
update(init) {
|
|
61
|
+
this.options.init = { ...this.options.init, ...init };
|
|
62
|
+
}
|
|
63
|
+
send(type, payload) {
|
|
64
|
+
var _a;
|
|
65
|
+
if (this.ready)
|
|
66
|
+
(_a = this.options.target()) == null ? void 0 : _a.postMessage(envelope(type, payload), this.options.origin);
|
|
67
|
+
}
|
|
68
|
+
request(type, payload, timeout = 3e3) {
|
|
69
|
+
if (!this.ready)
|
|
70
|
+
return Promise.reject(new Error("App frame is not ready"));
|
|
71
|
+
const id = crypto.randomUUID();
|
|
72
|
+
return new Promise((resolve, reject) => {
|
|
73
|
+
var _a;
|
|
74
|
+
const timer = setTimeout(() => {
|
|
75
|
+
this.pending.delete(id);
|
|
76
|
+
reject(new Error("App frame timed out"));
|
|
77
|
+
}, timeout);
|
|
78
|
+
this.pending.set(id, { resolve, reject, timer, type });
|
|
79
|
+
(_a = this.options.target()) == null ? void 0 : _a.postMessage(envelope(type, payload, { id }), this.options.origin);
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
async open(request) {
|
|
83
|
+
if (!this.capabilities.includes("open"))
|
|
84
|
+
return { accepted: false };
|
|
85
|
+
return await this.request("frame.open", { request });
|
|
86
|
+
}
|
|
87
|
+
async beforeClose(reason = "user") {
|
|
88
|
+
if (!this.ready || !this.capabilities.includes("beforeClose"))
|
|
89
|
+
return "allow";
|
|
90
|
+
const r = await this.request("frame.beforeClose", { reason });
|
|
91
|
+
return r.decision === "allow" || r.decision === "pending" ? r.decision : "deny";
|
|
92
|
+
}
|
|
93
|
+
async back() {
|
|
94
|
+
if (!this.capabilities.includes("back"))
|
|
95
|
+
return false;
|
|
96
|
+
return (await this.request("frame.back", {})).handled === true;
|
|
97
|
+
}
|
|
98
|
+
dispose() {
|
|
99
|
+
window.removeEventListener("message", this.listener);
|
|
100
|
+
this.pending.forEach((p) => {
|
|
101
|
+
clearTimeout(p.timer);
|
|
102
|
+
p.reject(new Error("App frame disposed"));
|
|
103
|
+
});
|
|
104
|
+
this.pending.clear();
|
|
105
|
+
this.ready = false;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
class AppFrameClient {
|
|
109
|
+
constructor(options) {
|
|
110
|
+
this.options = options;
|
|
111
|
+
this.listener = (event) => {
|
|
112
|
+
void this.receive(event);
|
|
113
|
+
};
|
|
114
|
+
this.origin = new URL(options.shellOrigin).origin;
|
|
115
|
+
this.nonce = new URLSearchParams(window.location.hash.slice(1)).get("bfp");
|
|
116
|
+
window.addEventListener("message", this.listener);
|
|
117
|
+
if (window.parent !== window && this.nonce) {
|
|
118
|
+
const hello = () => window.parent.postMessage(envelope("frame.hello", { nonce: this.nonce, appCapabilities: [
|
|
119
|
+
...options.onOpen ? ["open"] : [],
|
|
120
|
+
...options.onBeforeClose ? ["beforeClose"] : [],
|
|
121
|
+
...options.onBack ? ["back"] : []
|
|
122
|
+
] }), this.origin);
|
|
123
|
+
hello();
|
|
124
|
+
this.helloTimer = setInterval(hello, 250);
|
|
125
|
+
this.helloDeadline = setTimeout(() => clearInterval(this.helloTimer), 1500);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
async receive(event) {
|
|
129
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
|
|
130
|
+
if (event.source !== window.parent || event.origin !== this.origin || !isMessage(event.data))
|
|
131
|
+
return;
|
|
132
|
+
const m = event.data;
|
|
133
|
+
const p = m.payload;
|
|
134
|
+
if (m.type === "frame.init") {
|
|
135
|
+
if (!this.nonce || p.nonce !== this.nonce || typeof p.locale !== "string" || !p.theme || typeof p.windowId !== "string" || p.launch && !isOpenRequest(p.launch))
|
|
136
|
+
return;
|
|
137
|
+
clearInterval(this.helloTimer);
|
|
138
|
+
clearTimeout(this.helloDeadline);
|
|
139
|
+
this.init = p;
|
|
140
|
+
(_b = (_a = this.options).onInit) == null ? void 0 : _b.call(_a, this.init);
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
if (!this.init)
|
|
144
|
+
return;
|
|
145
|
+
const reply = (payload) => window.parent.postMessage(envelope(m.type + "Result", payload, { replyTo: m.id }), this.origin);
|
|
146
|
+
try {
|
|
147
|
+
if (m.type === "frame.open" && isOpenRequest(p.request))
|
|
148
|
+
reply(await ((_d = (_c = this.options).onOpen) == null ? void 0 : _d.call(_c, p.request)) ?? { accepted: false });
|
|
149
|
+
if (m.type === "frame.beforeClose")
|
|
150
|
+
reply({ decision: await ((_f = (_e = this.options).onBeforeClose) == null ? void 0 : _f.call(_e, p.reason)) ?? "allow" });
|
|
151
|
+
if (m.type === "frame.back")
|
|
152
|
+
reply({ handled: await ((_h = (_g = this.options).onBack) == null ? void 0 : _h.call(_g)) ?? false });
|
|
153
|
+
if (m.type === "frame.themeChanged" && (p.mode === "dark" || p.mode === "light"))
|
|
154
|
+
(_j = (_i = this.options).onTheme) == null ? void 0 : _j.call(_i, p);
|
|
155
|
+
if (m.type === "frame.localeChanged" && typeof p.locale === "string")
|
|
156
|
+
(_l = (_k = this.options).onLocale) == null ? void 0 : _l.call(_k, p.locale);
|
|
157
|
+
if (m.type === "frame.focusChanged")
|
|
158
|
+
(_n = (_m = this.options).onFocus) == null ? void 0 : _n.call(_m, p.focused === true);
|
|
159
|
+
} catch {
|
|
160
|
+
if (m.type === "frame.open")
|
|
161
|
+
reply({ accepted: false, fallback: "preview" });
|
|
162
|
+
if (m.type === "frame.beforeClose")
|
|
163
|
+
reply({ decision: "deny" });
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
send(type, payload) {
|
|
167
|
+
if (this.init)
|
|
168
|
+
window.parent.postMessage(envelope(type, payload), this.origin);
|
|
169
|
+
}
|
|
170
|
+
setTitle(title, dirty = false) {
|
|
171
|
+
this.send("window.setTitle", { title, dirty });
|
|
172
|
+
}
|
|
173
|
+
requestClose() {
|
|
174
|
+
this.send("window.requestClose", {});
|
|
175
|
+
}
|
|
176
|
+
openContent(request, target = "default", newWindow = false) {
|
|
177
|
+
this.send("content.open", { request, target, newWindow });
|
|
178
|
+
}
|
|
179
|
+
dispose() {
|
|
180
|
+
clearInterval(this.helloTimer);
|
|
181
|
+
clearTimeout(this.helloDeadline);
|
|
182
|
+
window.removeEventListener("message", this.listener);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
export {
|
|
186
|
+
AppFrameClient,
|
|
187
|
+
AppFrameHost
|
|
188
|
+
};
|
|
189
|
+
//# sourceMappingURL=app-frame.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-frame.mjs","sources":["../src/app-frame.ts"],"sourcesContent":["import { isOpenRequest, type OpenRequest } from './content'\nexport interface AppFrameMessage<T extends string = string, P = unknown> {\n protocol: 'buckyos.app-frame'; version: 1; type: T; id?: string; replyTo?: string; payload: P\n}\nexport interface FrameInit {\n nonce: string\n windowId: string\n formFactor: 'desktop' | 'mobile'\n theme: { mode: 'light' | 'dark'; accent?: string }\n locale: string\n launch?: OpenRequest\n shellCapabilities: string[]\n}\nexport type CloseDecision = 'allow' | 'deny' | 'pending'\nconst envelope = (type: string, payload: unknown, extra: { id?: string; replyTo?: string } = {}): AppFrameMessage =>\n ({ protocol: 'buckyos.app-frame', version: 1, type, payload, ...extra })\nconst isMessage = (value: unknown): value is AppFrameMessage => {\n if (!value || typeof value !== 'object') return false\n const v = value as AppFrameMessage\n return v.protocol === 'buckyos.app-frame' && v.version === 1 && typeof v.type === 'string' && !!v.payload && typeof v.payload === 'object'\n}\nexport class AppFrameHost {\n ready = false\n capabilities: string[] = []\n private pending = new Map<string, { resolve: (v: unknown) => void; reject: (e: Error) => void; timer: ReturnType<typeof setTimeout>; type: string }>()\n private listener = (event: MessageEvent) => this.receive(event)\n private opens: number[] = []\n constructor(private options: {\n target: () => Window | null; origin: string; init: FrameInit\n onReady?: () => void\n onTitle?: (title: string, dirty: boolean) => void\n onRequestClose?: () => void\n onContentOpen?: (request: OpenRequest, target: 'default' | 'preview', newWindow: boolean) => void\n }) { window.addEventListener('message', this.listener) }\n private receive(event: MessageEvent): void {\n if (event.source !== this.options.target() || event.origin !== this.options.origin || !isMessage(event.data)) return\n const m = event.data\n const p = m.payload as Record<string, unknown>\n if (m.type === 'frame.hello') {\n if (p.nonce !== this.options.init.nonce || !Array.isArray(p.appCapabilities)) return\n this.ready = true\n this.capabilities = p.appCapabilities.filter((c): c is string => typeof c === 'string')\n this.send('frame.init', this.options.init)\n this.options.onReady?.()\n return\n }\n if (!this.ready) return\n if (m.replyTo) {\n const pending = this.pending.get(m.replyTo)\n if (pending && m.type === pending.type + 'Result') {\n clearTimeout(pending.timer); this.pending.delete(m.replyTo); pending.resolve(m.payload)\n }\n return\n }\n if (m.type === 'window.setTitle' && typeof p.title === 'string') this.options.onTitle?.(p.title.slice(0, 256), p.dirty === true)\n if (m.type === 'window.requestClose') this.options.onRequestClose?.()\n if (m.type === 'content.open' && (p.target === 'default' || p.target === 'preview')) {\n const request = { ...(p.request as object), requestId: crypto.randomUUID() }\n if (!isOpenRequest(request)) return\n this.opens = this.opens.filter(t => t > Date.now() - 10000)\n if (this.opens.length >= 5) return\n this.opens.push(Date.now())\n this.options.onContentOpen?.(request, p.target, p.newWindow === true)\n }\n }\n update(init: Partial<FrameInit>): void { this.options.init = { ...this.options.init, ...init } }\n send(type: string, payload: unknown): void {\n if (this.ready) this.options.target()?.postMessage(envelope(type, payload), this.options.origin)\n }\n request(type: string, payload: unknown, timeout = 3000): Promise<unknown> {\n if (!this.ready) return Promise.reject(new Error('App frame is not ready'))\n const id = crypto.randomUUID()\n return new Promise((resolve, reject) => {\n const timer = setTimeout(() => { this.pending.delete(id); reject(new Error('App frame timed out')) }, timeout)\n this.pending.set(id, { resolve, reject, timer, type })\n this.options.target()?.postMessage(envelope(type, payload, { id }), this.options.origin)\n })\n }\n async open(request: OpenRequest): Promise<{ accepted: boolean; fallback?: 'preview' }> {\n if (!this.capabilities.includes('open')) return { accepted: false }\n return await this.request('frame.open', { request }) as { accepted: boolean; fallback?: 'preview' }\n }\n async beforeClose(reason: 'user' | 'logout' | 'shell' = 'user'): Promise<CloseDecision> {\n if (!this.ready || !this.capabilities.includes('beforeClose')) return 'allow'\n const r = await this.request('frame.beforeClose', { reason }) as { decision?: CloseDecision }\n return r.decision === 'allow' || r.decision === 'pending' ? r.decision : 'deny'\n }\n async back(): Promise<boolean> {\n if (!this.capabilities.includes('back')) return false\n return (await this.request('frame.back', {}) as { handled?: boolean }).handled === true\n }\n dispose(): void {\n window.removeEventListener('message', this.listener)\n this.pending.forEach(p => { clearTimeout(p.timer); p.reject(new Error('App frame disposed')) })\n this.pending.clear(); this.ready = false\n }\n}\nexport class AppFrameClient {\n init?: FrameInit\n private helloTimer?: ReturnType<typeof setInterval>\n private helloDeadline?: ReturnType<typeof setTimeout>\n private readonly nonce: string | null\n private readonly origin: string\n private readonly listener = (event: MessageEvent) => { void this.receive(event) }\n constructor(private options: {\n shellOrigin: string\n onInit?: (init: FrameInit) => void\n onOpen?: (request: OpenRequest) => Promise<{ accepted: boolean; fallback?: 'preview' }> | { accepted: boolean; fallback?: 'preview' }\n onBeforeClose?: (reason: 'user' | 'logout' | 'shell') => Promise<CloseDecision> | CloseDecision\n onBack?: () => Promise<boolean> | boolean\n onTheme?: (theme: FrameInit['theme']) => void\n onLocale?: (locale: string) => void\n onFocus?: (focused: boolean) => void\n }) {\n this.origin = new URL(options.shellOrigin).origin\n this.nonce = new URLSearchParams(window.location.hash.slice(1)).get('bfp')\n window.addEventListener('message', this.listener)\n if (window.parent !== window && this.nonce) {\n const hello = () => window.parent.postMessage(envelope('frame.hello', { nonce: this.nonce, appCapabilities: [\n ...options.onOpen ? ['open'] : [], ...options.onBeforeClose ? ['beforeClose'] : [], ...options.onBack ? ['back'] : [],\n ] }), this.origin)\n hello()\n this.helloTimer = setInterval(hello, 250)\n this.helloDeadline = setTimeout(() => clearInterval(this.helloTimer), 1500)\n }\n }\n private async receive(event: MessageEvent): Promise<void> {\n if (event.source !== window.parent || event.origin !== this.origin || !isMessage(event.data)) return\n const m = event.data\n const p = m.payload as Record<string, unknown>\n if (m.type === 'frame.init') {\n if (!this.nonce || p.nonce !== this.nonce || typeof p.locale !== 'string' || !p.theme || typeof p.windowId !== 'string' || p.launch && !isOpenRequest(p.launch)) return\n clearInterval(this.helloTimer); clearTimeout(this.helloDeadline)\n this.init = p as unknown as FrameInit\n this.options.onInit?.(this.init)\n return\n }\n if (!this.init) return\n const reply = (payload: unknown) => window.parent.postMessage(envelope(m.type + 'Result', payload, { replyTo: m.id }), this.origin)\n try {\n if (m.type === 'frame.open' && isOpenRequest(p.request)) reply(await this.options.onOpen?.(p.request) ?? { accepted: false })\n if (m.type === 'frame.beforeClose') reply({ decision: await this.options.onBeforeClose?.(p.reason as 'user') ?? 'allow' })\n if (m.type === 'frame.back') reply({ handled: await this.options.onBack?.() ?? false })\n if (m.type === 'frame.themeChanged' && (p.mode === 'dark' || p.mode === 'light')) this.options.onTheme?.(p as FrameInit['theme'])\n if (m.type === 'frame.localeChanged' && typeof p.locale === 'string') this.options.onLocale?.(p.locale)\n if (m.type === 'frame.focusChanged') this.options.onFocus?.(p.focused === true)\n } catch {\n if (m.type === 'frame.open') reply({ accepted: false, fallback: 'preview' })\n if (m.type === 'frame.beforeClose') reply({ decision: 'deny' })\n }\n }\n send(type: string, payload: unknown): void {\n if (this.init) window.parent.postMessage(envelope(type, payload), this.origin)\n }\n setTitle(title: string, dirty = false): void { this.send('window.setTitle', { title, dirty }) }\n requestClose(): void { this.send('window.requestClose', {}) }\n openContent(request: Omit<OpenRequest, 'requestId'>, target: 'default' | 'preview' = 'default', newWindow = false): void {\n this.send('content.open', { request, target, newWindow })\n }\n dispose(): void { clearInterval(this.helloTimer); clearTimeout(this.helloDeadline); window.removeEventListener('message', this.listener) }\n}\n"],"names":[],"mappings":"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"}
|
package/dist/browser.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./ndm_proxy-52a07229.js"),t=require("./ndn_types-44c69036.js"),_=e.createSDKModule("browser"),o=_.buckyos,s=_.initBuckyOS,r=_.getBuckyOSConfig,E=_.getRuntimeType,A=_.getAppId,S=_.getAppDid,T=_.getAppInstanceId,p=_.getAppDataDir,n=_.getKEventClient,i=_.createEventReader,C=_.create_event_reader,D=_.subscribeKEvent,x=_.attachEvent,I=_.removeEvent,a=_.getAccountInfo,R=_.loginByPassword,O=_.loginByBrowserSSO,c=_.loginByRuntimeSession,M=_.login,l=_.logout,N=_.getAppSetting,u=_.setAppSetting,K=_.getCurrentWalletUser,d=_.resolve_did,H=_.walletSignWithActiveDid,k=_.openExternalUrl,g=_.getZoneHostName,B=_.getZoneServiceURL,P=_.getServiceRpcClient,L=_.getVerifyHubClient,W=_.getSystemConfigClient,U=_.getTaskManagerClient,m=_.getWorkflowClient;exports.AGENT_DELEGATE_TASK_SCHEMA_ID=e.AGENT_DELEGATE_TASK_SCHEMA_ID,exports.AICC_AI_METHODS=e.AICC_AI_METHODS,exports.AICC_COMPUTE_TASK_SCHEMA_ID=e.AICC_COMPUTE_TASK_SCHEMA_ID,exports.AICC_CORE_METHODS=e.AICC_CORE_METHODS,exports.AICC_EXECUTION_MODES=e.AICC_EXECUTION_MODES,exports.AICC_FEATURES=e.AICC_FEATURES,exports.AICC_MANAGEMENT_METHODS=e.AICC_MANAGEMENT_METHODS,exports.AICC_METHODS=e.AICC_METHODS,exports.AICC_SERVICE_SERVICE_NAME=e.AICC_SERVICE_SERVICE_NAME,exports.AICC_SERVICE_SERVICE_PORT=e.AICC_SERVICE_SERVICE_PORT,exports.AICC_SERVICE_UNIQUE_ID=e.AICC_SERVICE_UNIQUE_ID,exports.APP_INSTALL_TASK_SCHEMA_ID=e.APP_INSTALL_TASK_SCHEMA_ID,exports.APP_START_TASK_SCHEMA_ID=e.APP_START_TASK_SCHEMA_ID,exports.APP_UNINSTALL_TASK_SCHEMA_ID=e.APP_UNINSTALL_TASK_SCHEMA_ID,exports.APP_UPDATE_BATCH_TASK_SCHEMA_ID=e.APP_UPDATE_BATCH_TASK_SCHEMA_ID,exports.APP_UPDATE_TASK_SCHEMA_ID=e.APP_UPDATE_TASK_SCHEMA_ID,exports.AiccClient=e.AiccClient,exports.BNS_DNS_TXT_DEFAULT_TTL=e.BNS_DNS_TXT_DEFAULT_TTL,exports.BNS_DNS_TXT_DOC_TYPE=e.BNS_DNS_TXT_DOC_TYPE,exports.BNS_EVM_DEFAULT_GAS_LIMIT=e.BNS_EVM_DEFAULT_GAS_LIMIT,exports.BNS_EVM_DEFAULT_MAX_FEE_PER_GAS=e.BNS_EVM_DEFAULT_MAX_FEE_PER_GAS,exports.BNS_EVM_DEFAULT_MAX_PRIORITY_FEE_PER_GAS=e.BNS_EVM_DEFAULT_MAX_PRIORITY_FEE_PER_GAS,exports.BNS_MAX_INLINE_DOCUMENT_BYTES=e.BNS_MAX_INLINE_DOCUMENT_BYTES,exports.BNS_PUBLISH_DOCUMENT_ABI=e.BNS_PUBLISH_DOCUMENT_ABI,exports.BS_SERVICE_TASK_MANAGER=e.BS_SERVICE_TASK_MANAGER,exports.BS_SERVICE_VERIFY_HUB=e.BS_SERVICE_VERIFY_HUB,exports.BnsEvmTxBuilder=e.BnsEvmTxBuilder,exports.BnsEvmTxError=e.BnsEvmTxError,exports.BnsTxExecutor=e.BnsTxExecutor,exports.BnsTxExecutorError=e.BnsTxExecutorError,exports.BuckyOSSDK=e.BuckyOSSDK,exports.DEFAULT_CHILD_CONTROL_POLICY=e.DEFAULT_CHILD_CONTROL_POLICY,exports.DOWNLOAD_TASK_SCHEMA_ID=e.DOWNLOAD_TASK_SCHEMA_ID,exports.HUMAN_APPROVAL_SCHEMA_ID=e.HUMAN_APPROVAL_SCHEMA_ID,exports.HUMAN_INPUT_TASK_SCHEMA_ID=e.HUMAN_INPUT_TASK_SCHEMA_ID,exports.KEventClient=e.KEventClient,exports.KEventReader=e.KEventReader,exports.MsgCenterClient=e.MsgCenterClient,exports.MsgQueueClient=e.MsgQueueClient,exports.OPENDAN_ASYNC_TOOL_TASK_SCHEMA_ID=e.OPENDAN_ASYNC_TOOL_TASK_SCHEMA_ID,exports.OPENDAN_COMMAND_TASK_SCHEMA_ID=e.OPENDAN_COMMAND_TASK_SCHEMA_ID,exports.RAW_TASK_SCHEMA_ID=e.RAW_TASK_SCHEMA_ID,exports.RepoClient=e.RepoClient,exports.RuntimeType=e.RuntimeType,exports.SCHEDULER_DISPATCH_THUNK_TASK_SCHEMA_ID=e.SCHEDULER_DISPATCH_THUNK_TASK_SCHEMA_ID,exports.StorageDomain=e.StorageDomain,exports.SystemConfigClient=e.SystemConfigClient,exports.TASK_ERR_ALREADY_COMPLETED=e.TASK_ERR_ALREADY_COMPLETED,exports.TASK_ERR_CONTROL_ALREADY_PENDING=e.TASK_ERR_CONTROL_ALREADY_PENDING,exports.TASK_ERR_CONTROL_NOT_AVAILABLE=e.TASK_ERR_CONTROL_NOT_AVAILABLE,exports.TASK_ERR_IDEMPOTENCY_CONFLICT=e.TASK_ERR_IDEMPOTENCY_CONFLICT,exports.TASK_ERR_INPUT_SCHEMA_MISMATCH=e.TASK_ERR_INPUT_SCHEMA_MISMATCH,exports.TASK_ERR_INVALID_PHASE=e.TASK_ERR_INVALID_PHASE,exports.TASK_ERR_NOT_FOUND=e.TASK_ERR_NOT_FOUND,exports.TASK_ERR_PERMISSION_DENIED=e.TASK_ERR_PERMISSION_DENIED,exports.TASK_ERR_RESULT_SCHEMA_MISMATCH=e.TASK_ERR_RESULT_SCHEMA_MISMATCH,exports.TASK_ERR_REVISION_CONFLICT=e.TASK_ERR_REVISION_CONFLICT,exports.TASK_ERR_SCHEMA_NOT_FOUND=e.TASK_ERR_SCHEMA_NOT_FOUND,exports.TASK_ERR_STALE_RUNNER_EPOCH=e.TASK_ERR_STALE_RUNNER_EPOCH,exports.TASK_MANAGER_SERVICE_NAME=e.TASK_MANAGER_SERVICE_NAME,exports.TASK_MANAGER_SERVICE_PORT=e.TASK_MANAGER_SERVICE_PORT,exports.TASK_MANAGER_SERVICE_UNIQUE_ID=e.TASK_MANAGER_SERVICE_UNIQUE_ID,exports.TASK_MGR_ERROR_CODES=e.TASK_MGR_ERROR_CODES,exports.TASK_POLICY_PRESET_COLLABORATIVE_TREE_V1=e.TASK_POLICY_PRESET_COLLABORATIVE_TREE_V1,exports.TOOL_EXEC_BASH_TASK_SCHEMA_ID=e.TOOL_EXEC_BASH_TASK_SCHEMA_ID,exports.TaskAction=e.TaskAction,exports.TaskControlAction=e.TaskControlAction,exports.TaskDataScope=e.TaskDataScope,exports.TaskEventType=e.TaskEventType,exports.TaskExecutorKind=e.TaskExecutorKind,exports.TaskGrantScope=e.TaskGrantScope,exports.TaskManagerClient=e.TaskManagerClient,exports.TaskOutcome=e.TaskOutcome,exports.TaskPhase=e.TaskPhase,exports.TaskWaitReasonKind=e.TaskWaitReasonKind,exports.VerifyHubClient=e.VerifyHubClient,exports.WEB3_BRIDGE_HOST=e.WEB3_BRIDGE_HOST,exports.WORKFLOW_EXECUTE_RPC_TASK_SCHEMA_ID=e.WORKFLOW_EXECUTE_RPC_TASK_SCHEMA_ID,exports.WORKFLOW_MAP_SHARD_TASK_SCHEMA_ID=e.WORKFLOW_MAP_SHARD_TASK_SCHEMA_ID,exports.WORKFLOW_RUN_TARGET_TASK_SCHEMA_ID=e.WORKFLOW_RUN_TARGET_TASK_SCHEMA_ID,exports.WORKFLOW_RUN_TREE_TASK_SCHEMA_ID=e.WORKFLOW_RUN_TREE_TASK_SCHEMA_ID,exports.WORKFLOW_SCHEDULE_TASK_SCHEMA_ID=e.WORKFLOW_SCHEDULE_TASK_SCHEMA_ID,exports.WORKFLOW_SEND_MESSAGE_TASK_SCHEMA_ID=e.WORKFLOW_SEND_MESSAGE_TASK_SCHEMA_ID,exports.WORKFLOW_SERVICE_NAME=e.WORKFLOW_SERVICE_NAME,exports.WORKFLOW_STEP_TASK_SCHEMA_ID=e.WORKFLOW_STEP_TASK_SCHEMA_ID,exports.WORKFLOW_THUNK_TASK_SCHEMA_ID=e.WORKFLOW_THUNK_TASK_SCHEMA_ID,exports.WorkflowClient=e.WorkflowClient,exports.WorkflowDefinitionStatus=e.WorkflowDefinitionStatus,exports.WorkflowHumanActionKind=e.WorkflowHumanActionKind,exports.WorkflowJoinMode=e.WorkflowJoinMode,exports.WorkflowNodeRunState=e.WorkflowNodeRunState,exports.WorkflowOutputMode=e.WorkflowOutputMode,exports.WorkflowRetryFallback=e.WorkflowRetryFallback,exports.WorkflowRunStatus=e.WorkflowRunStatus,exports.WorkflowScheduledTaskFireStatus=e.WorkflowScheduledTaskFireStatus,exports.WorkflowScheduledTaskMisfirePolicy=e.WorkflowScheduledTaskMisfirePolicy,exports.WorkflowScheduledTaskStatus=e.WorkflowScheduledTaskStatus,exports.WorkflowStepType=e.WorkflowStepType,exports.aiccMessageFirstText=e.aiccMessageFirstText,exports.aiccMessageTextContent=e.aiccMessageTextContent,exports.aiccTextMessage=e.aiccTextMessage,exports.appDidFromId=e.appDidFromId,exports.appIdFromDid=e.appIdFromDid,exports.baselineTaskControlProfile=e.baselineTaskControlProfile,exports.bns=e.bns_client,exports.createAppInstanceId=e.createAppInstanceId,exports.createSDKModule=e.createSDKModule,exports.decisionRequirements=e.decisionRequirements,exports.decodeBnsPublishDocumentCalldata=e.decodeBnsPublishDocumentCalldata,exports.getActiveRuntimeType=e.getActiveRuntimeType,exports.getActiveSessionToken=e.getActiveSessionToken,exports.getActiveZoneGatewayOrigin=e.getActiveZoneGatewayOrigin,exports.getCurrentWalletUserFromHost=e.getCurrentWalletUserFromHost,exports.isAiccAiMethod=e.isAiccAiMethod,exports.isTerminalTaskPhase=e.isTerminalTaskPhase,exports.mailboxAddress=e.mailboxAddress,exports.mailboxResource=e.mailboxResource,exports.ndm=e.ndm_client,exports.ndm_proxy=e.ndm_proxy,exports.parseAppId=e.parseAppId,exports.parseAppInstanceId=e.parseAppInstanceId,exports.parseSessionTokenClaims=e.parseSessionTokenClaims,exports.resolveDidFromHost=e.resolveDidFromHost,exports.sn=e.sn_client,exports.taskMgrErrorCode=e.taskMgrErrorCode,exports.taskMgrTaskEventPath=e.taskMgrTaskEventPath,exports.taskMgrTreeEventPath=e.taskMgrTreeEventPath,exports.validateAiccMessage=e.validateAiccMessage,exports.validateDecisionAnswers=e.validateDecisionAnswers,exports.validateDecisionRequest=e.validateDecisionRequest,exports.walletUserHasSnAccount=e.walletUserHasSnAccount,exports.DID_OBJECT_SERVICE_ID=t.DID_OBJECT_SERVICE_ID,exports.DID_OBJECT_SERVICE_TYPE=t.DID_OBJECT_SERVICE_TYPE,exports.NODE_IDENTITY_SCHEMA_V2=t.NODE_IDENTITY_SCHEMA_V2,exports.getDidIdentifier=t.getDidIdentifier,exports.getDidMethod=t.getDidMethod,exports.hashPassword=t.hashPassword,exports.isBuckyOSAgentDocument=t.isBuckyOSAgentDocument,exports.isBuckyOSDIDObjectCard=t.isBuckyOSDIDObjectCard,exports.isBuckyOSDeviceDocument=t.isBuckyOSDeviceDocument,exports.isBuckyOSDeviceMiniDocument=t.isBuckyOSDeviceMiniDocument,exports.isBuckyOSLocalNodeIdentityConfig=t.isBuckyOSLocalNodeIdentityConfig,exports.isBuckyOSNodeIdentityConfig=t.isBuckyOSNodeIdentityConfig,exports.isBuckyOSOwnerDocument=t.isBuckyOSOwnerDocument,exports.isBuckyOSZoneBootDocument=t.isBuckyOSZoneBootDocument,exports.isBuckyOSZoneConfig=t.isBuckyOSZoneConfig,exports.isBuckyOSZoneDocument=t.isBuckyOSZoneDocument,exports.isW3CDIDDocumentBase=t.isW3CDIDDocumentBase,exports.namelib=t.namelib,exports.ndn=t.ndn_types,exports.parseBuckyOSDIDDocument=t.parseBuckyOSDIDDocument,exports.parseBuckyOSDeviceMiniDocument=t.parseBuckyOSDeviceMiniDocument,exports.parseBuckyOSOwnerDocument=t.parseBuckyOSOwnerDocument,exports.parseW3CDIDDocumentBase=t.parseW3CDIDDocumentBase,exports.attachEvent=x,exports.buckyos=o,exports.createEventReader=i,exports.create_event_reader=C,exports.getAccountInfo=a,exports.getAppDataDir=p,exports.getAppDid=S,exports.getAppId=A,exports.getAppInstanceId=T,exports.getAppSetting=N,exports.getBuckyOSConfig=r,exports.getCurrentWalletUser=K,exports.getKEventClient=n,exports.getRuntimeType=E,exports.getServiceRpcClient=P,exports.getSystemConfigClient=W,exports.getTaskManagerClient=U,exports.getVerifyHubClient=L,exports.getWorkflowClient=m,exports.getZoneHostName=g,exports.getZoneServiceURL=B,exports.initBuckyOS=s,exports.login=M,exports.loginByBrowserSSO=O,exports.loginByPassword=R,exports.loginByRuntimeSession=c,exports.logout=l,exports.openExternalUrl=k,exports.removeEvent=I,exports.resolve_did=d,exports.setAppSetting=u,exports.subscribeKEvent=D,exports.walletSignWithActiveDid=H;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./ndm_proxy-d37a0204.js"),t=require("./ndn_types-44c69036.js"),_=e.createSDKModule("browser"),o=_.buckyos,s=_.initBuckyOS,r=_.getBuckyOSConfig,E=_.getRuntimeType,A=_.getAppId,S=_.getAppDid,T=_.getAppInstanceId,p=_.getAppDataDir,n=_.getKEventClient,i=_.createEventReader,C=_.create_event_reader,D=_.subscribeKEvent,x=_.attachEvent,I=_.removeEvent,a=_.getAccountInfo,R=_.loginByPassword,O=_.loginByBrowserSSO,c=_.loginByRuntimeSession,M=_.login,l=_.logout,N=_.getAppSetting,u=_.setAppSetting,K=_.getCurrentWalletUser,d=_.resolve_did,H=_.walletSignWithActiveDid,k=_.openExternalUrl,g=_.getZoneHostName,B=_.getZoneServiceURL,P=_.getServiceRpcClient,L=_.getVerifyHubClient,W=_.getSystemConfigClient,U=_.getTaskManagerClient,m=_.getWorkflowClient;exports.AGENT_DELEGATE_TASK_SCHEMA_ID=e.AGENT_DELEGATE_TASK_SCHEMA_ID,exports.AICC_AI_METHODS=e.AICC_AI_METHODS,exports.AICC_COMPUTE_TASK_SCHEMA_ID=e.AICC_COMPUTE_TASK_SCHEMA_ID,exports.AICC_CORE_METHODS=e.AICC_CORE_METHODS,exports.AICC_EXECUTION_MODES=e.AICC_EXECUTION_MODES,exports.AICC_FEATURES=e.AICC_FEATURES,exports.AICC_MANAGEMENT_METHODS=e.AICC_MANAGEMENT_METHODS,exports.AICC_METHODS=e.AICC_METHODS,exports.AICC_SERVICE_SERVICE_NAME=e.AICC_SERVICE_SERVICE_NAME,exports.AICC_SERVICE_SERVICE_PORT=e.AICC_SERVICE_SERVICE_PORT,exports.AICC_SERVICE_UNIQUE_ID=e.AICC_SERVICE_UNIQUE_ID,exports.APP_INSTALL_TASK_SCHEMA_ID=e.APP_INSTALL_TASK_SCHEMA_ID,exports.APP_START_TASK_SCHEMA_ID=e.APP_START_TASK_SCHEMA_ID,exports.APP_UNINSTALL_TASK_SCHEMA_ID=e.APP_UNINSTALL_TASK_SCHEMA_ID,exports.APP_UPDATE_BATCH_TASK_SCHEMA_ID=e.APP_UPDATE_BATCH_TASK_SCHEMA_ID,exports.APP_UPDATE_TASK_SCHEMA_ID=e.APP_UPDATE_TASK_SCHEMA_ID,exports.AiccClient=e.AiccClient,exports.BNS_DNS_TXT_DEFAULT_TTL=e.BNS_DNS_TXT_DEFAULT_TTL,exports.BNS_DNS_TXT_DOC_TYPE=e.BNS_DNS_TXT_DOC_TYPE,exports.BNS_EVM_DEFAULT_GAS_LIMIT=e.BNS_EVM_DEFAULT_GAS_LIMIT,exports.BNS_EVM_DEFAULT_MAX_FEE_PER_GAS=e.BNS_EVM_DEFAULT_MAX_FEE_PER_GAS,exports.BNS_EVM_DEFAULT_MAX_PRIORITY_FEE_PER_GAS=e.BNS_EVM_DEFAULT_MAX_PRIORITY_FEE_PER_GAS,exports.BNS_MAX_INLINE_DOCUMENT_BYTES=e.BNS_MAX_INLINE_DOCUMENT_BYTES,exports.BNS_PUBLISH_DOCUMENT_ABI=e.BNS_PUBLISH_DOCUMENT_ABI,exports.BS_SERVICE_TASK_MANAGER=e.BS_SERVICE_TASK_MANAGER,exports.BS_SERVICE_VERIFY_HUB=e.BS_SERVICE_VERIFY_HUB,exports.BnsEvmTxBuilder=e.BnsEvmTxBuilder,exports.BnsEvmTxError=e.BnsEvmTxError,exports.BnsTxExecutor=e.BnsTxExecutor,exports.BnsTxExecutorError=e.BnsTxExecutorError,exports.BuckyOSSDK=e.BuckyOSSDK,exports.DEFAULT_CHILD_CONTROL_POLICY=e.DEFAULT_CHILD_CONTROL_POLICY,exports.DOWNLOAD_TASK_SCHEMA_ID=e.DOWNLOAD_TASK_SCHEMA_ID,exports.HUMAN_APPROVAL_SCHEMA_ID=e.HUMAN_APPROVAL_SCHEMA_ID,exports.HUMAN_INPUT_TASK_SCHEMA_ID=e.HUMAN_INPUT_TASK_SCHEMA_ID,exports.KEventClient=e.KEventClient,exports.KEventReader=e.KEventReader,exports.MsgCenterClient=e.MsgCenterClient,exports.MsgQueueClient=e.MsgQueueClient,exports.OPENDAN_ASYNC_TOOL_TASK_SCHEMA_ID=e.OPENDAN_ASYNC_TOOL_TASK_SCHEMA_ID,exports.OPENDAN_COMMAND_TASK_SCHEMA_ID=e.OPENDAN_COMMAND_TASK_SCHEMA_ID,exports.RAW_TASK_SCHEMA_ID=e.RAW_TASK_SCHEMA_ID,exports.RepoClient=e.RepoClient,exports.RuntimeType=e.RuntimeType,exports.SCHEDULER_DISPATCH_THUNK_TASK_SCHEMA_ID=e.SCHEDULER_DISPATCH_THUNK_TASK_SCHEMA_ID,exports.StorageDomain=e.StorageDomain,exports.SystemConfigClient=e.SystemConfigClient,exports.TASK_ERR_ALREADY_COMPLETED=e.TASK_ERR_ALREADY_COMPLETED,exports.TASK_ERR_CONTROL_ALREADY_PENDING=e.TASK_ERR_CONTROL_ALREADY_PENDING,exports.TASK_ERR_CONTROL_NOT_AVAILABLE=e.TASK_ERR_CONTROL_NOT_AVAILABLE,exports.TASK_ERR_IDEMPOTENCY_CONFLICT=e.TASK_ERR_IDEMPOTENCY_CONFLICT,exports.TASK_ERR_INPUT_SCHEMA_MISMATCH=e.TASK_ERR_INPUT_SCHEMA_MISMATCH,exports.TASK_ERR_INVALID_PHASE=e.TASK_ERR_INVALID_PHASE,exports.TASK_ERR_NOT_FOUND=e.TASK_ERR_NOT_FOUND,exports.TASK_ERR_PERMISSION_DENIED=e.TASK_ERR_PERMISSION_DENIED,exports.TASK_ERR_RESULT_SCHEMA_MISMATCH=e.TASK_ERR_RESULT_SCHEMA_MISMATCH,exports.TASK_ERR_REVISION_CONFLICT=e.TASK_ERR_REVISION_CONFLICT,exports.TASK_ERR_SCHEMA_NOT_FOUND=e.TASK_ERR_SCHEMA_NOT_FOUND,exports.TASK_ERR_STALE_RUNNER_EPOCH=e.TASK_ERR_STALE_RUNNER_EPOCH,exports.TASK_MANAGER_SERVICE_NAME=e.TASK_MANAGER_SERVICE_NAME,exports.TASK_MANAGER_SERVICE_PORT=e.TASK_MANAGER_SERVICE_PORT,exports.TASK_MANAGER_SERVICE_UNIQUE_ID=e.TASK_MANAGER_SERVICE_UNIQUE_ID,exports.TASK_MGR_ERROR_CODES=e.TASK_MGR_ERROR_CODES,exports.TASK_POLICY_PRESET_COLLABORATIVE_TREE_V1=e.TASK_POLICY_PRESET_COLLABORATIVE_TREE_V1,exports.TOOL_EXEC_BASH_TASK_SCHEMA_ID=e.TOOL_EXEC_BASH_TASK_SCHEMA_ID,exports.TaskAction=e.TaskAction,exports.TaskControlAction=e.TaskControlAction,exports.TaskDataScope=e.TaskDataScope,exports.TaskEventType=e.TaskEventType,exports.TaskExecutorKind=e.TaskExecutorKind,exports.TaskGrantScope=e.TaskGrantScope,exports.TaskManagerClient=e.TaskManagerClient,exports.TaskOutcome=e.TaskOutcome,exports.TaskPhase=e.TaskPhase,exports.TaskWaitReasonKind=e.TaskWaitReasonKind,exports.VerifyHubClient=e.VerifyHubClient,exports.WEB3_BRIDGE_HOST=e.WEB3_BRIDGE_HOST,exports.WORKFLOW_EXECUTE_RPC_TASK_SCHEMA_ID=e.WORKFLOW_EXECUTE_RPC_TASK_SCHEMA_ID,exports.WORKFLOW_MAP_SHARD_TASK_SCHEMA_ID=e.WORKFLOW_MAP_SHARD_TASK_SCHEMA_ID,exports.WORKFLOW_RUN_TARGET_TASK_SCHEMA_ID=e.WORKFLOW_RUN_TARGET_TASK_SCHEMA_ID,exports.WORKFLOW_RUN_TREE_TASK_SCHEMA_ID=e.WORKFLOW_RUN_TREE_TASK_SCHEMA_ID,exports.WORKFLOW_SCHEDULE_TASK_SCHEMA_ID=e.WORKFLOW_SCHEDULE_TASK_SCHEMA_ID,exports.WORKFLOW_SEND_MESSAGE_TASK_SCHEMA_ID=e.WORKFLOW_SEND_MESSAGE_TASK_SCHEMA_ID,exports.WORKFLOW_SERVICE_NAME=e.WORKFLOW_SERVICE_NAME,exports.WORKFLOW_STEP_TASK_SCHEMA_ID=e.WORKFLOW_STEP_TASK_SCHEMA_ID,exports.WORKFLOW_THUNK_TASK_SCHEMA_ID=e.WORKFLOW_THUNK_TASK_SCHEMA_ID,exports.WorkflowClient=e.WorkflowClient,exports.WorkflowDefinitionStatus=e.WorkflowDefinitionStatus,exports.WorkflowHumanActionKind=e.WorkflowHumanActionKind,exports.WorkflowJoinMode=e.WorkflowJoinMode,exports.WorkflowNodeRunState=e.WorkflowNodeRunState,exports.WorkflowOutputMode=e.WorkflowOutputMode,exports.WorkflowRetryFallback=e.WorkflowRetryFallback,exports.WorkflowRunStatus=e.WorkflowRunStatus,exports.WorkflowScheduledTaskFireStatus=e.WorkflowScheduledTaskFireStatus,exports.WorkflowScheduledTaskMisfirePolicy=e.WorkflowScheduledTaskMisfirePolicy,exports.WorkflowScheduledTaskStatus=e.WorkflowScheduledTaskStatus,exports.WorkflowStepType=e.WorkflowStepType,exports.aiccMessageFirstText=e.aiccMessageFirstText,exports.aiccMessageTextContent=e.aiccMessageTextContent,exports.aiccTextMessage=e.aiccTextMessage,exports.appDidFromId=e.appDidFromId,exports.appIdFromDid=e.appIdFromDid,exports.baselineTaskControlProfile=e.baselineTaskControlProfile,exports.bns=e.bns_client,exports.createAppInstanceId=e.createAppInstanceId,exports.createSDKModule=e.createSDKModule,exports.decisionRequirements=e.decisionRequirements,exports.decodeBnsPublishDocumentCalldata=e.decodeBnsPublishDocumentCalldata,exports.getActiveRuntimeType=e.getActiveRuntimeType,exports.getActiveSessionToken=e.getActiveSessionToken,exports.getActiveZoneGatewayOrigin=e.getActiveZoneGatewayOrigin,exports.getCurrentWalletUserFromHost=e.getCurrentWalletUserFromHost,exports.isAiccAiMethod=e.isAiccAiMethod,exports.isTerminalTaskPhase=e.isTerminalTaskPhase,exports.mailboxAddress=e.mailboxAddress,exports.mailboxResource=e.mailboxResource,exports.ndm=e.ndm_client,exports.ndm_proxy=e.ndm_proxy,exports.parseAppId=e.parseAppId,exports.parseAppInstanceId=e.parseAppInstanceId,exports.parseSessionTokenClaims=e.parseSessionTokenClaims,exports.resolveDidFromHost=e.resolveDidFromHost,exports.sn=e.sn_client,exports.taskMgrErrorCode=e.taskMgrErrorCode,exports.taskMgrTaskEventPath=e.taskMgrTaskEventPath,exports.taskMgrTreeEventPath=e.taskMgrTreeEventPath,exports.validateAiccMessage=e.validateAiccMessage,exports.validateDecisionAnswers=e.validateDecisionAnswers,exports.validateDecisionRequest=e.validateDecisionRequest,exports.walletUserHasSnAccount=e.walletUserHasSnAccount,exports.DID_OBJECT_SERVICE_ID=t.DID_OBJECT_SERVICE_ID,exports.DID_OBJECT_SERVICE_TYPE=t.DID_OBJECT_SERVICE_TYPE,exports.NODE_IDENTITY_SCHEMA_V2=t.NODE_IDENTITY_SCHEMA_V2,exports.getDidIdentifier=t.getDidIdentifier,exports.getDidMethod=t.getDidMethod,exports.hashPassword=t.hashPassword,exports.isBuckyOSAgentDocument=t.isBuckyOSAgentDocument,exports.isBuckyOSDIDObjectCard=t.isBuckyOSDIDObjectCard,exports.isBuckyOSDeviceDocument=t.isBuckyOSDeviceDocument,exports.isBuckyOSDeviceMiniDocument=t.isBuckyOSDeviceMiniDocument,exports.isBuckyOSLocalNodeIdentityConfig=t.isBuckyOSLocalNodeIdentityConfig,exports.isBuckyOSNodeIdentityConfig=t.isBuckyOSNodeIdentityConfig,exports.isBuckyOSOwnerDocument=t.isBuckyOSOwnerDocument,exports.isBuckyOSZoneBootDocument=t.isBuckyOSZoneBootDocument,exports.isBuckyOSZoneConfig=t.isBuckyOSZoneConfig,exports.isBuckyOSZoneDocument=t.isBuckyOSZoneDocument,exports.isW3CDIDDocumentBase=t.isW3CDIDDocumentBase,exports.namelib=t.namelib,exports.ndn=t.ndn_types,exports.parseBuckyOSDIDDocument=t.parseBuckyOSDIDDocument,exports.parseBuckyOSDeviceMiniDocument=t.parseBuckyOSDeviceMiniDocument,exports.parseBuckyOSOwnerDocument=t.parseBuckyOSOwnerDocument,exports.parseW3CDIDDocumentBase=t.parseW3CDIDDocumentBase,exports.attachEvent=x,exports.buckyos=o,exports.createEventReader=i,exports.create_event_reader=C,exports.getAccountInfo=a,exports.getAppDataDir=p,exports.getAppDid=S,exports.getAppId=A,exports.getAppInstanceId=T,exports.getAppSetting=N,exports.getBuckyOSConfig=r,exports.getCurrentWalletUser=K,exports.getKEventClient=n,exports.getRuntimeType=E,exports.getServiceRpcClient=P,exports.getSystemConfigClient=W,exports.getTaskManagerClient=U,exports.getVerifyHubClient=L,exports.getWorkflowClient=m,exports.getZoneHostName=g,exports.getZoneServiceURL=B,exports.initBuckyOS=s,exports.login=M,exports.loginByBrowserSSO=O,exports.loginByPassword=R,exports.loginByRuntimeSession=c,exports.logout=l,exports.openExternalUrl=k,exports.removeEvent=I,exports.resolve_did=d,exports.setAppSetting=u,exports.subscribeKEvent=D,exports.walletSignWithActiveDid=H;
|
|
2
2
|
//# sourceMappingURL=browser.cjs.map
|
package/dist/browser.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as createSDKModule } from "./ndm_proxy-
|
|
2
|
-
import { G, aG, L, aH, aL, aK, aI, aJ, aE, aF, aD, N, Q, P, X, U, aR, b4, b5, b0, b1, b2, b3, b6, d, B, b8, b7, bc, ba, i, aj, D, H, I, aW, aV, k, M, O, J, u, j, R, v, an, S, a3, a2, a1, a6, a4, a0, Y, Z, a5, _, a7, $, o, q, T, a8, t, K, ak, ah, am, ao, ac, al, ap, ag, ad, af, V, W, E, y, F, w, A, C, aq, x, z, aC, av, ay, at, ax, as, au, aw, aB, aA, az, ar, aP, aO, aN, aZ, aX, ai, b, a_, aS, b9, e, h, f, g, aM, ae, m, l, n, a, aY, a$, p, r, s, ab, a9, aa, aQ, aU, aT, bb } from "./ndm_proxy-
|
|
1
|
+
import { c as createSDKModule } from "./ndm_proxy-3caceb0a.mjs";
|
|
2
|
+
import { G, aG, L, aH, aL, aK, aI, aJ, aE, aF, aD, N, Q, P, X, U, aR, b4, b5, b0, b1, b2, b3, b6, d, B, b8, b7, bc, ba, i, aj, D, H, I, aW, aV, k, M, O, J, u, j, R, v, an, S, a3, a2, a1, a6, a4, a0, Y, Z, a5, _, a7, $, o, q, T, a8, t, K, ak, ah, am, ao, ac, al, ap, ag, ad, af, V, W, E, y, F, w, A, C, aq, x, z, aC, av, ay, at, ax, as, au, aw, aB, aA, az, ar, aP, aO, aN, aZ, aX, ai, b, a_, aS, b9, e, h, f, g, aM, ae, m, l, n, a, aY, a$, p, r, s, ab, a9, aa, aQ, aU, aT, bb } from "./ndm_proxy-3caceb0a.mjs";
|
|
3
3
|
import { b as b10, D as D2, N as N2, u as u2, t as t2, h as h2, k as k2, m as m2, j as j2, d as d2, g as g2, f as f2, c, e as e2, o as o2, l as l2, i as i2, n as n2, a as a10, s as s2, r as r2, q as q2, p as p2 } from "./ndn_types-d768245f.mjs";
|
|
4
4
|
const sdkModule = createSDKModule("browser");
|
|
5
5
|
const buckyos = sdkModule.buckyos;
|
package/dist/content.cjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=["txt","text","log","ini","conf","cfg","env","csv","tsv","md","markdown","rst","adoc","json","jsonc","json5","xml","yaml","yml","toml","ts","tsx","js","jsx","mjs","cjs","rs","py","go","c","h","cc","cpp","hpp","java","kt","swift","rb","php","sql","sh","bash","zsh","ps1","bat","css","scss","less","vue","svelte","lua","dart","r","scala","ex","exs","dockerfile","makefile","gitignore","editorconfig","lock"],t={png:"image/png",apng:"image/apng",jpg:"image/jpeg",jpeg:"image/jpeg",jfif:"image/jpeg",gif:"image/gif",webp:"image/webp",bmp:"image/bmp",ico:"image/x-icon",avif:"image/avif",heic:"image/heic",heif:"image/heif",tif:"image/tiff",tiff:"image/tiff",psd:"image/vnd.adobe.photoshop",svg:"image/svg+xml",mp4:"video/mp4",m4v:"video/mp4",webm:"video/webm",mov:"video/quicktime",mkv:"video/x-matroska",avi:"video/x-msvideo",ogv:"video/ogg",mp3:"audio/mpeg",wav:"audio/wav",flac:"audio/flac",ogg:"audio/ogg",oga:"audio/ogg",opus:"audio/ogg",m4a:"audio/mp4",aac:"audio/aac",pdf:"application/pdf",html:"text/html",htm:"text/html",xhtml:"application/xhtml+xml",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",pptx:"application/vnd.openxmlformats-officedocument.presentationml.presentation",doc:"application/msword",xls:"application/vnd.ms-excel",ppt:"application/vnd.ms-powerpoint",odt:"application/vnd.oasis.opendocument.text",zip:"application/zip",tar:"application/x-tar",gz:"application/gzip","7z":"application/x-7z-compressed",rar:"application/vnd.rar",epub:"application/epub+zip",md:"text/markdown",markdown:"text/markdown",json:"application/json",xml:"application/xml",csv:"text/csv",yaml:"application/yaml",yml:"application/yaml",toml:"application/toml",js:"text/javascript",mjs:"text/javascript",cjs:"text/javascript",css:"text/css"};for(const u of e)t[u]||(t[u]=`text/x-${u}`);function i(e){if(!e)return"";const t=e.split("/").pop()??e,i=t.lastIndexOf(".");return i<=0?"":t.slice(i+1).toLowerCase()}function s(e){return t[e.toLowerCase()]}const n={provider:"system",handler_id:"preview",handler_version:1,selectors:[{mime:"*/*"}],enabled:!0,intents:{open:{entry:{type:"builtin",target:"preview"},modes:["view"],fidelity:"partial",window:"reuse",priority:90}}},o=()=>({schema_version:1,defaults:{},disabled:[]}),r=e=>"cyfs-path"===e.kind?e.path:`obj://${e.objectId}`;function a(e){if(!e||"object"!=typeof e)return!1;const t=e;return"cyfs-path"===t.kind&&"string"==typeof t.path&&/^cyfs:\/\/\/[^\0]*$/.test(t.path)||"object-id"===t.kind&&"string"==typeof t.objectId&&/^[\w.-]+:[\w-]+$/.test(t.objectId)}function c(e){if(!e||"object"!=typeof e)return!1;const t=e;return"single"===t.kind||"container"===t.kind&&a(t.container)&&a(t.current)||"list"===t.kind&&Array.isArray(t.items)&&t.items.every((e=>e&&a(e.source)))&&Number.isInteger(t.currentIndex)&&t.currentIndex>=0&&t.currentIndex<t.items.length}const p=e=>void 0===e?[]:Array.isArray(e)?e:[e];function d(e,t){var i;if(void 0!==e.maxSize&&void 0!==t.size&&t.size>e.maxSize)return 0;if(e.objType&&!p(e.objType).includes(t.objType??""))return 0;let s=e.objType?2:1;if(e.schema){const i=p(e.schema).filter((e=>{var i;return e.endsWith("*")?null==(i=t.schema)?void 0:i.startsWith(e.slice(0,-1)):t.schema===e}));if(!i.length)return 0;s=i.some((e=>e===t.schema))?7:6}if(e.mime){const i=(t.mime??"").toLowerCase().split(";")[0].trim(),n=p(e.mime).map((t=>"*/*"===(t=t.toLowerCase())?1:t.split(";")[0].trim()===i?e.objType?6:5:t.includes("/*+")&&i.startsWith(t.split("/")[0]+"/")&&i.endsWith(t.slice(t.indexOf("+")))?4:t.endsWith("/*")&&i.startsWith(t.slice(0,-1))?3:0)),o=Math.max(...n,0);if(!o)return 0;s=Math.max(s,o)}return e.mime||e.objType||e.schema||(null==(i=e.ext)?void 0:i.includes(t.ext??""))?s:0}function l(e){const t={};for(const i of e.split(";")){const e=i.indexOf(":"),s=i.slice(0,e),n=i.slice(e+1);if("obj"===s)t.objType=n;else if("mime"===s)t.mime=n;else if("schema"===s)t.schema=n;else{if("ext"!==s)return{};t.ext=[n]}}return t}function m(e){if("cyfs-path"!==e.kind)return;const t=e.path.lastIndexOf("/");return t>=7?{kind:"cyfs-path",path:e.path.slice(0,t)||"cyfs:///"}:void 0}function f(e,t){if(!e)return"";const i=e=>btoa(Array.from((new TextEncoder).encode(JSON.stringify(e)),(e=>String.fromCharCode(e))).join("")).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),s=i(e);if(s.length<=2048||"list"!==e.kind)return s;const n=m(t);return n&&e.items.every((e=>r(m(e.source)??e.source)===r(n)))?i({kind:"container",container:n,current:t}):""}exports.ContentRegistryClient=class{constructor(e,t){this.config=e,this.userId=t,this.registry={schema_version:1,handlers:{}},this.defaults={schema_version:1,defaults:{},disabled:[]},this.updatedAt=0,this.listeners=new Set}async refresh(){const[e,t]=await Promise.all([this.config.get("system/content_registry"),this.config.get(`users/${this.userId}/content_defaults`).catch((e=>{if(/not found|not_found/i.test(String(e)))return null;throw e}))]);this.registry=JSON.parse(e.value),this.defaults=t?JSON.parse(t.value):{schema_version:1,defaults:{},disabled:[]},this.updatedAt=Date.now(),this.listeners.forEach((e=>e()))}async setDefault(e,t,i){await this.refresh();const s={...this.defaults.defaults[e]};i?s[t]=i:delete s[t],await this.persist({...this.defaults,defaults:{...this.defaults.defaults,[e]:s}})}async setEnabled(e,t){await this.refresh(),await this.persist({...this.defaults,disabled:[...new Set([...this.defaults.disabled.filter((t=>t!==e)),...t?[]:[e]])]})}onChanged(e){return this.listeners.add(e),()=>this.listeners.delete(e)}async persist(e){await this.config.set(`users/${this.userId}/content_defaults`,JSON.stringify(e)),this.defaults=e,this.listeners.forEach((e=>e()))}},exports.TEXT_CODE_EXTENSIONS=e,exports.contentDescriptor=function(e,t={}){const n=t.name??r(e).split("/").pop()??"",o=i(n);return{source:e,name:n,size:t.size,ext:o?`.${o}`:void 0,objType:"cyfs-path"===e.kind?"cyfile":e.objectId.split(":")[0],mime:t.mime||s(o)||"application/octet-stream"}},exports.contentRefString=r,exports.emptyDefaults=o,exports.encodeSession=f,exports.expandOpenPath=function(e,t,i=["view","edit"]){if(!e.startsWith("/")||e.startsWith("//")||/(?:\.\.|\\|[\r\n])/.test(decodeURIComponent(e)))throw new Error("Invalid App entry path");const s={source:r(t.source),mode:t.mode??(i.includes("edit")?"edit":"view"),session:f(t.session,t.source)},n=e.replace(/\{(source|mode|session)\}/g,((e,t)=>encodeURIComponent(s[t])));return n+(n.includes("?")?"&":"?")+"requestId="+encodeURIComponent(t.requestId)},exports.extensionOf=i,exports.isOpenRequest=function(e){if(!e||"object"!=typeof e)return!1;const t=e;return"string"==typeof t.requestId&&a(t.source)&&(void 0===t.mode||"view"===t.mode||"edit"===t.mode)&&(void 0===t.session||c(t.session))},exports.isTransferableRef=a,exports.isTransferableSession=c,exports.matchSelector=d,exports.mediaTypeFromExtension=s,exports.parentSource=m,exports.previewHandler=n,exports.resolveContentHandlers=function(e,t,i,s="open",o={},r=[]){var a;const c=new Set(r),p={...e.handlers,"system#preview":n},m=Object.entries(t.defaults.open??{}).map((([e,t])=>({key:t,score:d(l(e),i)}))).filter((e=>e.score>0)).sort(((e,t)=>t.score-e.score||e.key.localeCompare(t.key))),f=Object.entries(p).flatMap((([e,n])=>{const o=n.intents[s];if(!o||!n.enabled||"system#preview"!==e&&t.disabled.includes(e))return[];if(!("app"!==n.provider||n.app_instance_id&&c.has(n.app_instance_id)&&"web"===o.entry.type))return[];const r=n.selectors.map((e=>({selector:e,specificity:d(e,i)}))).filter((e=>e.specificity>0)).sort(((e,t)=>t.specificity-e.specificity));return r.length?[{key:e,h:n,binding:o,matched:r[0]}]:[]})),u=null==(a=m.find((e=>f.some((t=>t.key===e.key)))))?void 0:a.key;return f.sort(((e,t)=>Number(t.key===u)-Number(e.key===u)||Number(t.matched.specificity>1||"system"===t.h.provider)-Number(e.matched.specificity>1||"system"===e.h.provider)||t.matched.specificity-e.matched.specificity||(t.binding.priority??0)-(e.binding.priority??0)||Number("system"===t.h.provider)-Number("system"===e.h.provider)||(e.h.registered_at??0)-(t.h.registered_at??0)||e.key.localeCompare(t.key))),f.map((e=>{var t;return{handlerKey:e.key,handlerRef:`${(null==(t=e.h.app_instance_id)?void 0:t.split("@")[0])??"system"}#${e.h.handler_id}`,appInstanceId:e.h.app_instance_id,appDocObjectId:e.h.app_doc_object_id,handlerVersion:e.h.handler_version,intent:s,binding:e.binding,matched:e.matched,reason:e.key===u?"user-default":"system"===e.h.provider?"system-default":"ranked"}}))};
|
|
2
|
+
//# sourceMappingURL=content.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content.cjs","sources":["../src/content_mime.ts","../src/content.ts"],"sourcesContent":["export const TEXT_CODE_EXTENSIONS = [\n 'txt', 'text', 'log', 'ini', 'conf', 'cfg', 'env', 'csv', 'tsv',\n 'md', 'markdown', 'rst', 'adoc',\n 'json', 'jsonc', 'json5', 'xml', 'yaml', 'yml', 'toml',\n 'ts', 'tsx', 'js', 'jsx', 'mjs', 'cjs', 'rs', 'py', 'go', 'c', 'h', 'cc', 'cpp', 'hpp',\n 'java', 'kt', 'swift', 'rb', 'php', 'sql', 'sh', 'bash', 'zsh', 'ps1', 'bat',\n 'css', 'scss', 'less', 'vue', 'svelte', 'lua', 'dart', 'r', 'scala', 'ex', 'exs',\n 'dockerfile', 'makefile', 'gitignore', 'editorconfig', 'lock',\n]\n\nconst MEDIA_TYPE_BY_EXTENSION: Record<string, string> = {\n png: 'image/png',\n apng: 'image/apng',\n jpg: 'image/jpeg',\n jpeg: 'image/jpeg',\n jfif: 'image/jpeg',\n gif: 'image/gif',\n webp: 'image/webp',\n bmp: 'image/bmp',\n ico: 'image/x-icon',\n avif: 'image/avif',\n heic: 'image/heic',\n heif: 'image/heif',\n tif: 'image/tiff',\n tiff: 'image/tiff',\n psd: 'image/vnd.adobe.photoshop',\n svg: 'image/svg+xml',\n mp4: 'video/mp4',\n m4v: 'video/mp4',\n webm: 'video/webm',\n mov: 'video/quicktime',\n mkv: 'video/x-matroska',\n avi: 'video/x-msvideo',\n ogv: 'video/ogg',\n mp3: 'audio/mpeg',\n wav: 'audio/wav',\n flac: 'audio/flac',\n ogg: 'audio/ogg',\n oga: 'audio/ogg',\n opus: 'audio/ogg',\n m4a: 'audio/mp4',\n aac: 'audio/aac',\n pdf: 'application/pdf',\n html: 'text/html',\n htm: 'text/html',\n xhtml: 'application/xhtml+xml',\n docx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n pptx: 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n doc: 'application/msword',\n xls: 'application/vnd.ms-excel',\n ppt: 'application/vnd.ms-powerpoint',\n odt: 'application/vnd.oasis.opendocument.text',\n zip: 'application/zip',\n tar: 'application/x-tar',\n gz: 'application/gzip',\n '7z': 'application/x-7z-compressed',\n rar: 'application/vnd.rar',\n epub: 'application/epub+zip',\n md: 'text/markdown',\n markdown: 'text/markdown',\n json: 'application/json',\n xml: 'application/xml',\n csv: 'text/csv',\n yaml: 'application/yaml',\n yml: 'application/yaml',\n toml: 'application/toml',\n js: 'text/javascript',\n mjs: 'text/javascript',\n cjs: 'text/javascript',\n css: 'text/css',\n}\n\nfor (const ext of TEXT_CODE_EXTENSIONS) {\n if (!MEDIA_TYPE_BY_EXTENSION[ext]) MEDIA_TYPE_BY_EXTENSION[ext] = `text/x-${ext}`\n}\n\n\nexport function extensionOf(name: string | undefined): string {\n if (!name) return ''\n const base = name.split('/').pop() ?? name\n const dot = base.lastIndexOf('.')\n if (dot <= 0) return ''\n return base.slice(dot + 1).toLowerCase()\n}\n\nexport function mediaTypeFromExtension(ext: string): string | undefined {\n return MEDIA_TYPE_BY_EXTENSION[ext.toLowerCase()]\n}\n","import { extensionOf, mediaTypeFromExtension } from './content_mime'\nexport { extensionOf, mediaTypeFromExtension, TEXT_CODE_EXTENSIONS } from './content_mime'\n\nexport type TransferableContentRef =\n | { kind: 'cyfs-path'; path: string; version?: string }\n | { kind: 'object-id'; objectId: string; version?: string }\nexport type TransferableSessionContext =\n | { kind: 'single' }\n | { kind: 'container'; container: TransferableContentRef; current: TransferableContentRef; sort?: unknown; navigation?: 'wrap' | 'bounded' }\n | { kind: 'list'; sessionId?: string; version?: string; items: Array<{ id?: string; source: TransferableContentRef; title?: string }>; currentIndex: number; navigation?: 'wrap' | 'bounded' }\nexport interface OpenRequest {\n requestId: string\n source: TransferableContentRef\n session?: TransferableSessionContext\n mode?: 'view' | 'edit'\n origin?: { appInstanceId?: string; windowId?: string; hostContext?: string }\n}\nexport interface ContentSelector {\n objType?: string | string[]\n mime?: string | string[]\n schema?: string | string[]\n ext?: string[]\n maxSize?: number\n}\nexport interface ContentDescriptor {\n source: TransferableContentRef\n objType?: string\n mime?: string\n schema?: string\n ext?: string\n name?: string\n size?: number\n}\nexport interface OpenBinding {\n entry: { type: 'web'; path: string } | { type: 'builtin'; target: string }\n modes?: Array<'view' | 'edit'>\n fidelity?: 'full' | 'partial'\n window?: 'reuse' | 'new'\n multiSource?: boolean\n priority?: number\n}\nexport interface ContentHandlerEntry {\n provider: 'app' | 'system'\n app_instance_id?: string\n app_doc_object_id?: string\n app_version?: string\n handler_id: string\n handler_version: number\n selectors: ContentSelector[]\n intents: { open?: OpenBinding }\n permissions?: string[]\n enabled: boolean\n registered_at?: number\n}\nexport interface ContentRegistry { schema_version: 1; updated_at?: number; handlers: Record<string, ContentHandlerEntry> }\nexport interface ContentDefaults { schema_version: 1; defaults: { open?: Record<string, string> }; disabled: string[] }\nexport interface HandlerPlan {\n handlerKey: string\n handlerRef: string\n appInstanceId?: string\n appDocObjectId?: string\n handlerVersion: number\n intent: 'open'\n binding: OpenBinding\n matched: { selector: ContentSelector; specificity: number }\n reason: 'user-default' | 'system-default' | 'ranked'\n}\nexport const previewHandler: ContentHandlerEntry = {\n provider: 'system', handler_id: 'preview', handler_version: 1,\n selectors: [{ mime: '*/*' }], enabled: true,\n intents: { open: { entry: { type: 'builtin', target: 'preview' }, modes: ['view'], fidelity: 'partial', window: 'reuse', priority: 90 } },\n}\nexport const emptyDefaults = (): ContentDefaults => ({ schema_version: 1, defaults: {}, disabled: [] })\nexport const contentRefString = (ref: TransferableContentRef): string => ref.kind === 'cyfs-path' ? ref.path : `obj://${ref.objectId}`\nexport function isTransferableRef(value: unknown): value is TransferableContentRef {\n if (!value || typeof value !== 'object') return false\n const v = value as TransferableContentRef\n return (v.kind === 'cyfs-path' && typeof v.path === 'string' && /^cyfs:\\/\\/\\/[^\\0]*$/.test(v.path)) ||\n (v.kind === 'object-id' && typeof v.objectId === 'string' && /^[\\w.-]+:[\\w-]+$/.test(v.objectId))\n}\nexport function isOpenRequest(value: unknown): value is OpenRequest {\n if (!value || typeof value !== 'object') return false\n const v = value as OpenRequest\n return typeof v.requestId === 'string' && isTransferableRef(v.source) &&\n (v.mode === undefined || v.mode === 'view' || v.mode === 'edit') &&\n (v.session === undefined || isTransferableSession(v.session))\n}\nexport function isTransferableSession(value: unknown): value is TransferableSessionContext {\n if (!value || typeof value !== 'object') return false\n const v = value as TransferableSessionContext\n return v.kind === 'single' ||\n (v.kind === 'container' && isTransferableRef(v.container) && isTransferableRef(v.current)) ||\n (v.kind === 'list' && Array.isArray(v.items) && v.items.every(i => i && isTransferableRef(i.source)) &&\n Number.isInteger(v.currentIndex) && v.currentIndex >= 0 && v.currentIndex < v.items.length)\n}\nexport function contentDescriptor(source: TransferableContentRef, hints: { name?: string; mime?: string; size?: number } = {}): ContentDescriptor {\n const name = hints.name ?? contentRefString(source).split('/').pop() ?? ''\n const ext = extensionOf(name)\n return { source, name, size: hints.size, ext: ext ? `.${ext}` : undefined,\n objType: source.kind === 'cyfs-path' ? 'cyfile' : source.objectId.split(':')[0],\n mime: hints.mime || mediaTypeFromExtension(ext) || 'application/octet-stream' }\n}\nconst values = (v?: string | string[]) => v === undefined ? [] : Array.isArray(v) ? v : [v]\nexport function matchSelector(s: ContentSelector, d: ContentDescriptor): number {\n if (s.maxSize !== undefined && d.size !== undefined && d.size > s.maxSize) return 0\n if (s.objType && !values(s.objType).includes(d.objType ?? '')) return 0\n let score = s.objType ? 2 : 1\n if (s.schema) {\n const matches = values(s.schema).filter(v => v.endsWith('*') ? d.schema?.startsWith(v.slice(0, -1)) : d.schema === v)\n if (!matches.length) return 0\n score = matches.some(v => v === d.schema) ? 7 : 6\n }\n if (s.mime) {\n const mime = (d.mime ?? '').toLowerCase().split(';')[0].trim()\n const scores = values(s.mime).map(v => {\n v = v.toLowerCase()\n if (v === '*/*') return 1\n if (v.split(';')[0].trim() === mime) return s.objType ? 6 : 5\n if (v.includes('/*+') && mime.startsWith(v.split('/')[0] + '/') && mime.endsWith(v.slice(v.indexOf('+')))) return 4\n if (v.endsWith('/*') && mime.startsWith(v.slice(0, -1))) return 3\n return 0\n })\n const best = Math.max(...scores, 0)\n if (!best) return 0\n score = Math.max(score, best)\n }\n if (!s.mime && !s.objType && !s.schema && !s.ext?.includes(d.ext ?? '')) return 0\n return score\n}\nfunction compactSelector(value: string): ContentSelector {\n const out: ContentSelector = {}\n for (const part of value.split(';')) {\n const i = part.indexOf(':'); const key = part.slice(0, i); const v = part.slice(i + 1)\n if (key === 'obj') out.objType = v\n else if (key === 'mime') out.mime = v\n else if (key === 'schema') out.schema = v\n else if (key === 'ext') out.ext = [v]\n else return {}\n }\n return out\n}\nexport function resolveContentHandlers(registry: ContentRegistry, defaults: ContentDefaults, descriptor: ContentDescriptor,\n intent: 'open' = 'open', _host: unknown = {}, availableApps: Iterable<string> = []): HandlerPlan[] {\n const visible = new Set(availableApps)\n const handlers = { ...registry.handlers, 'system#preview': previewHandler }\n const preferred = Object.entries(defaults.defaults.open ?? {})\n .map(([s, key]) => ({ key, score: matchSelector(compactSelector(s), descriptor) }))\n .filter(v => v.score > 0).sort((a, b) => b.score - a.score || a.key.localeCompare(b.key))\n const matches = Object.entries(handlers).flatMap(([key, h]) => {\n const binding = h.intents[intent]\n if (!binding || !h.enabled || (key !== 'system#preview' && defaults.disabled.includes(key))) return []\n if (h.provider === 'app' && (!h.app_instance_id || !visible.has(h.app_instance_id) || binding.entry.type !== 'web')) return []\n const selectors = h.selectors.map(selector => ({ selector, specificity: matchSelector(selector, descriptor) }))\n .filter(s => s.specificity > 0).sort((a, b) => b.specificity - a.specificity)\n if (!selectors.length) return []\n return [{ key, h, binding, matched: selectors[0] }]\n })\n const preferredKey = preferred.find(p => matches.some(m => m.key === p.key))?.key\n matches.sort((a, b) => Number(b.key === preferredKey) - Number(a.key === preferredKey) ||\n Number(b.matched.specificity > 1 || b.h.provider === 'system') - Number(a.matched.specificity > 1 || a.h.provider === 'system') ||\n b.matched.specificity - a.matched.specificity || (b.binding.priority ?? 0) - (a.binding.priority ?? 0) ||\n Number(b.h.provider === 'system') - Number(a.h.provider === 'system') ||\n (a.h.registered_at ?? 0) - (b.h.registered_at ?? 0) || a.key.localeCompare(b.key))\n return matches.map(m => ({ handlerKey: m.key, handlerRef: `${m.h.app_instance_id?.split('@')[0] ?? 'system'}#${m.h.handler_id}`,\n appInstanceId: m.h.app_instance_id, appDocObjectId: m.h.app_doc_object_id, handlerVersion: m.h.handler_version,\n intent, binding: m.binding, matched: m.matched,\n reason: m.key === preferredKey ? 'user-default' : m.h.provider === 'system' ? 'system-default' : 'ranked' }))\n}\nexport function parentSource(source: TransferableContentRef): TransferableContentRef | undefined {\n if (source.kind !== 'cyfs-path') return undefined\n const i = source.path.lastIndexOf('/')\n return i >= 7 ? { kind: 'cyfs-path', path: source.path.slice(0, i) || 'cyfs:///' } : undefined\n}\nexport function encodeSession(session: TransferableSessionContext | undefined, source: TransferableContentRef): string {\n if (!session) return ''\n const encode = (v: TransferableSessionContext) => btoa(Array.from(new TextEncoder().encode(JSON.stringify(v)), b => String.fromCharCode(b)).join(''))\n .replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=+$/, '')\n const encoded = encode(session)\n if (encoded.length <= 2048 || session.kind !== 'list') return encoded\n const parent = parentSource(source)\n if (parent && session.items.every(i => contentRefString(parentSource(i.source) ?? i.source) === contentRefString(parent))) {\n return encode({ kind: 'container', container: parent, current: source })\n }\n return ''\n}\nexport function expandOpenPath(path: string, request: OpenRequest, modes: Array<'view' | 'edit'> = ['view', 'edit']): string {\n if (!path.startsWith('/') || path.startsWith('//') || /(?:\\.\\.|\\\\|[\\r\\n])/.test(decodeURIComponent(path))) throw new Error('Invalid App entry path')\n const params: Record<string, string> = { source: contentRefString(request.source), mode: request.mode ?? (modes.includes('edit') ? 'edit' : 'view'), session: encodeSession(request.session, request.source) }\n const expanded = path.replace(/\\{(source|mode|session)\\}/g, (_, key: string) => encodeURIComponent(params[key]))\n return expanded + (expanded.includes('?') ? '&' : '?') + 'requestId=' + encodeURIComponent(request.requestId)\n}\nexport class ContentRegistryClient {\n registry: ContentRegistry = { schema_version: 1, handlers: {} }\n defaults = emptyDefaults()\n updatedAt = 0\n private listeners = new Set<() => void>()\n constructor(private config: { get(key: string): Promise<{ value: string }>; set(key: string, value: string): Promise<unknown> }, private userId: string) {}\n async refresh(): Promise<void> {\n const [registry, defaults] = await Promise.all([this.config.get('system/content_registry'), this.config.get(`users/${this.userId}/content_defaults`).catch(error => { if (/not found|not_found/i.test(String(error))) return null; throw error })])\n this.registry = JSON.parse(registry.value)\n this.defaults = defaults ? JSON.parse(defaults.value) : emptyDefaults()\n this.updatedAt = Date.now()\n this.listeners.forEach(cb => cb())\n }\n async setDefault(intent: 'open', selector: string, handlerKey: string | null): Promise<void> {\n await this.refresh()\n const next = { ...this.defaults.defaults[intent] }\n if (handlerKey) next[selector] = handlerKey\n else delete next[selector]\n await this.persist({ ...this.defaults, defaults: { ...this.defaults.defaults, [intent]: next } })\n }\n async setEnabled(key: string, enabled: boolean): Promise<void> {\n await this.refresh()\n await this.persist({ ...this.defaults, disabled: [...new Set([...this.defaults.disabled.filter(k => k !== key), ...enabled ? [] : [key]])] })\n }\n onChanged(cb: () => void): () => void { this.listeners.add(cb); return () => this.listeners.delete(cb) }\n private async persist(next: ContentDefaults): Promise<void> {\n await this.config.set(`users/${this.userId}/content_defaults`, JSON.stringify(next))\n this.defaults = next\n this.listeners.forEach(cb => cb())\n }\n}\n"],"names":["TEXT_CODE_EXTENSIONS","MEDIA_TYPE_BY_EXTENSION","png","apng","jpg","jpeg","jfif","gif","webp","bmp","ico","avif","heic","heif","tif","tiff","psd","svg","mp4","m4v","webm","mov","mkv","avi","ogv","mp3","wav","flac","ogg","oga","opus","m4a","aac","pdf","html","htm","xhtml","docx","xlsx","pptx","doc","xls","ppt","odt","zip","tar","gz","rar","epub","md","markdown","json","xml","csv","yaml","yml","toml","js","mjs","cjs","css","ext","extensionOf","name","base","split","pop","dot","lastIndexOf","slice","toLowerCase","mediaTypeFromExtension","previewHandler","provider","handler_id","handler_version","selectors","mime","enabled","intents","open","entry","type","target","modes","fidelity","window","priority","emptyDefaults","schema_version","defaults","disabled","contentRefString","ref","kind","path","objectId","isTransferableRef","value","v","test","isTransferableSession","container","current","Array","isArray","items","every","i","source","Number","isInteger","currentIndex","length","values","matchSelector","s","d","maxSize","size","objType","includes","score","schema","matches","filter","endsWith","_a","startsWith","some","trim","scores","map","indexOf","best","Math","max","compactSelector","out","part","key","parentSource","encodeSession","session","encode","btoa","from","TextEncoder","JSON","stringify","b","String","fromCharCode","join","replace","encoded","parent","constructor","config","userId","this","registry","handlers","updatedAt","listeners","Set","refresh","Promise","all","get","catch","error","parse","Date","now","forEach","cb","setDefault","intent","selector","handlerKey","next","persist","setEnabled","k","onChanged","add","delete","set","hints","request","decodeURIComponent","Error","params","mode","expanded","_","encodeURIComponent","requestId","descriptor","_host","availableApps","visible","preferred","Object","entries","sort","a","localeCompare","flatMap","h","binding","app_instance_id","has","specificity","matched","preferredKey","find","p","m","registered_at","handlerRef","appInstanceId","appDocObjectId","app_doc_object_id","handlerVersion","reason"],"mappings":"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"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
export { extensionOf, mediaTypeFromExtension, TEXT_CODE_EXTENSIONS } from './content_mime';
|
|
2
|
+
export type TransferableContentRef = {
|
|
3
|
+
kind: 'cyfs-path';
|
|
4
|
+
path: string;
|
|
5
|
+
version?: string;
|
|
6
|
+
} | {
|
|
7
|
+
kind: 'object-id';
|
|
8
|
+
objectId: string;
|
|
9
|
+
version?: string;
|
|
10
|
+
};
|
|
11
|
+
export type TransferableSessionContext = {
|
|
12
|
+
kind: 'single';
|
|
13
|
+
} | {
|
|
14
|
+
kind: 'container';
|
|
15
|
+
container: TransferableContentRef;
|
|
16
|
+
current: TransferableContentRef;
|
|
17
|
+
sort?: unknown;
|
|
18
|
+
navigation?: 'wrap' | 'bounded';
|
|
19
|
+
} | {
|
|
20
|
+
kind: 'list';
|
|
21
|
+
sessionId?: string;
|
|
22
|
+
version?: string;
|
|
23
|
+
items: Array<{
|
|
24
|
+
id?: string;
|
|
25
|
+
source: TransferableContentRef;
|
|
26
|
+
title?: string;
|
|
27
|
+
}>;
|
|
28
|
+
currentIndex: number;
|
|
29
|
+
navigation?: 'wrap' | 'bounded';
|
|
30
|
+
};
|
|
31
|
+
export interface OpenRequest {
|
|
32
|
+
requestId: string;
|
|
33
|
+
source: TransferableContentRef;
|
|
34
|
+
session?: TransferableSessionContext;
|
|
35
|
+
mode?: 'view' | 'edit';
|
|
36
|
+
origin?: {
|
|
37
|
+
appInstanceId?: string;
|
|
38
|
+
windowId?: string;
|
|
39
|
+
hostContext?: string;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export interface ContentSelector {
|
|
43
|
+
objType?: string | string[];
|
|
44
|
+
mime?: string | string[];
|
|
45
|
+
schema?: string | string[];
|
|
46
|
+
ext?: string[];
|
|
47
|
+
maxSize?: number;
|
|
48
|
+
}
|
|
49
|
+
export interface ContentDescriptor {
|
|
50
|
+
source: TransferableContentRef;
|
|
51
|
+
objType?: string;
|
|
52
|
+
mime?: string;
|
|
53
|
+
schema?: string;
|
|
54
|
+
ext?: string;
|
|
55
|
+
name?: string;
|
|
56
|
+
size?: number;
|
|
57
|
+
}
|
|
58
|
+
export interface OpenBinding {
|
|
59
|
+
entry: {
|
|
60
|
+
type: 'web';
|
|
61
|
+
path: string;
|
|
62
|
+
} | {
|
|
63
|
+
type: 'builtin';
|
|
64
|
+
target: string;
|
|
65
|
+
};
|
|
66
|
+
modes?: Array<'view' | 'edit'>;
|
|
67
|
+
fidelity?: 'full' | 'partial';
|
|
68
|
+
window?: 'reuse' | 'new';
|
|
69
|
+
multiSource?: boolean;
|
|
70
|
+
priority?: number;
|
|
71
|
+
}
|
|
72
|
+
export interface ContentHandlerEntry {
|
|
73
|
+
provider: 'app' | 'system';
|
|
74
|
+
app_instance_id?: string;
|
|
75
|
+
app_doc_object_id?: string;
|
|
76
|
+
app_version?: string;
|
|
77
|
+
handler_id: string;
|
|
78
|
+
handler_version: number;
|
|
79
|
+
selectors: ContentSelector[];
|
|
80
|
+
intents: {
|
|
81
|
+
open?: OpenBinding;
|
|
82
|
+
};
|
|
83
|
+
permissions?: string[];
|
|
84
|
+
enabled: boolean;
|
|
85
|
+
registered_at?: number;
|
|
86
|
+
}
|
|
87
|
+
export interface ContentRegistry {
|
|
88
|
+
schema_version: 1;
|
|
89
|
+
updated_at?: number;
|
|
90
|
+
handlers: Record<string, ContentHandlerEntry>;
|
|
91
|
+
}
|
|
92
|
+
export interface ContentDefaults {
|
|
93
|
+
schema_version: 1;
|
|
94
|
+
defaults: {
|
|
95
|
+
open?: Record<string, string>;
|
|
96
|
+
};
|
|
97
|
+
disabled: string[];
|
|
98
|
+
}
|
|
99
|
+
export interface HandlerPlan {
|
|
100
|
+
handlerKey: string;
|
|
101
|
+
handlerRef: string;
|
|
102
|
+
appInstanceId?: string;
|
|
103
|
+
appDocObjectId?: string;
|
|
104
|
+
handlerVersion: number;
|
|
105
|
+
intent: 'open';
|
|
106
|
+
binding: OpenBinding;
|
|
107
|
+
matched: {
|
|
108
|
+
selector: ContentSelector;
|
|
109
|
+
specificity: number;
|
|
110
|
+
};
|
|
111
|
+
reason: 'user-default' | 'system-default' | 'ranked';
|
|
112
|
+
}
|
|
113
|
+
export declare const previewHandler: ContentHandlerEntry;
|
|
114
|
+
export declare const emptyDefaults: () => ContentDefaults;
|
|
115
|
+
export declare const contentRefString: (ref: TransferableContentRef) => string;
|
|
116
|
+
export declare function isTransferableRef(value: unknown): value is TransferableContentRef;
|
|
117
|
+
export declare function isOpenRequest(value: unknown): value is OpenRequest;
|
|
118
|
+
export declare function isTransferableSession(value: unknown): value is TransferableSessionContext;
|
|
119
|
+
export declare function contentDescriptor(source: TransferableContentRef, hints?: {
|
|
120
|
+
name?: string;
|
|
121
|
+
mime?: string;
|
|
122
|
+
size?: number;
|
|
123
|
+
}): ContentDescriptor;
|
|
124
|
+
export declare function matchSelector(s: ContentSelector, d: ContentDescriptor): number;
|
|
125
|
+
export declare function resolveContentHandlers(registry: ContentRegistry, defaults: ContentDefaults, descriptor: ContentDescriptor, intent?: 'open', _host?: unknown, availableApps?: Iterable<string>): HandlerPlan[];
|
|
126
|
+
export declare function parentSource(source: TransferableContentRef): TransferableContentRef | undefined;
|
|
127
|
+
export declare function encodeSession(session: TransferableSessionContext | undefined, source: TransferableContentRef): string;
|
|
128
|
+
export declare function expandOpenPath(path: string, request: OpenRequest, modes?: Array<'view' | 'edit'>): string;
|
|
129
|
+
export declare class ContentRegistryClient {
|
|
130
|
+
private config;
|
|
131
|
+
private userId;
|
|
132
|
+
registry: ContentRegistry;
|
|
133
|
+
defaults: ContentDefaults;
|
|
134
|
+
updatedAt: number;
|
|
135
|
+
private listeners;
|
|
136
|
+
constructor(config: {
|
|
137
|
+
get(key: string): Promise<{
|
|
138
|
+
value: string;
|
|
139
|
+
}>;
|
|
140
|
+
set(key: string, value: string): Promise<unknown>;
|
|
141
|
+
}, userId: string);
|
|
142
|
+
refresh(): Promise<void>;
|
|
143
|
+
setDefault(intent: 'open', selector: string, handlerKey: string | null): Promise<void>;
|
|
144
|
+
setEnabled(key: string, enabled: boolean): Promise<void>;
|
|
145
|
+
onChanged(cb: () => void): () => void;
|
|
146
|
+
private persist;
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=content.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../src/content.ts"],"names":[],"mappings":"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"}
|