@inline-openclaw/inline 0.0.70 → 0.0.71-alpha.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/README.md +14 -13
- package/dist/account-inspect-api.js +1069 -1034
- package/dist/account-inspect-api.js.map +4 -4
- package/dist/approval-handler.runtime.js +1586 -2828
- package/dist/approval-handler.runtime.js.map +7 -8
- package/dist/channel-plugin-api.js +1602 -2833
- package/dist/channel-plugin-api.js.map +9 -10
- package/dist/configured-state.js +28 -8
- package/dist/configured-state.js.map +2 -2
- package/dist/index.js +28 -8
- package/dist/index.js.map +2 -2
- package/dist/runtime-register-api.js +1660 -2833
- package/dist/runtime-register-api.js.map +8 -9
- package/dist/runtime-setter-api.js +28 -8
- package/dist/runtime-setter-api.js.map +2 -2
- package/dist/secret-contract-api.js +30 -10
- package/dist/secret-contract-api.js.map +2 -2
- package/dist/setup-entry.js +28 -8
- package/dist/setup-entry.js.map +2 -2
- package/dist/setup-plugin-api.js +1069 -1034
- package/dist/setup-plugin-api.js.map +4 -4
- package/package.json +4 -4
package/dist/configured-state.js
CHANGED
|
@@ -4,25 +4,45 @@ var __getProtoOf = Object.getPrototypeOf;
|
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
function __accessProp(key) {
|
|
8
|
+
return this[key];
|
|
9
|
+
}
|
|
10
|
+
var __toESMCache_node;
|
|
11
|
+
var __toESMCache_esm;
|
|
7
12
|
var __toESM = (mod, isNodeMode, target) => {
|
|
13
|
+
var canCache = mod != null && typeof mod === "object";
|
|
14
|
+
if (canCache) {
|
|
15
|
+
var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
|
|
16
|
+
var cached = cache.get(mod);
|
|
17
|
+
if (cached)
|
|
18
|
+
return cached;
|
|
19
|
+
}
|
|
8
20
|
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
9
21
|
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
22
|
+
if (mod && typeof mod === "object" || typeof mod === "function") {
|
|
23
|
+
for (let key of __getOwnPropNames(mod))
|
|
24
|
+
if (!__hasOwnProp.call(to, key))
|
|
25
|
+
__defProp(to, key, {
|
|
26
|
+
get: __accessProp.bind(mod, key),
|
|
27
|
+
enumerable: true
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
if (canCache)
|
|
31
|
+
cache.set(mod, to);
|
|
16
32
|
return to;
|
|
17
33
|
};
|
|
18
34
|
var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
35
|
+
var __returnValue = (v) => v;
|
|
36
|
+
function __exportSetter(name, newValue) {
|
|
37
|
+
this[name] = __returnValue.bind(null, newValue);
|
|
38
|
+
}
|
|
19
39
|
var __export = (target, all) => {
|
|
20
40
|
for (var name in all)
|
|
21
41
|
__defProp(target, name, {
|
|
22
42
|
get: all[name],
|
|
23
43
|
enumerable: true,
|
|
24
44
|
configurable: true,
|
|
25
|
-
set: (
|
|
45
|
+
set: __exportSetter.bind(all, name)
|
|
26
46
|
});
|
|
27
47
|
};
|
|
28
48
|
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
@@ -39,5 +59,5 @@ export {
|
|
|
39
59
|
hasInlineConfiguredState
|
|
40
60
|
};
|
|
41
61
|
|
|
42
|
-
//# debugId=
|
|
62
|
+
//# debugId=A0F27FD0C9885E6564756E2164756E21
|
|
43
63
|
//# sourceMappingURL=configured-state.js.map
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"const INLINE_CONFIGURED_ENV_KEYS = [\"INLINE_TOKEN\", \"INLINE_BOT_TOKEN\"] as const\n\nexport function hasInlineConfiguredState(params: { env?: NodeJS.ProcessEnv }): boolean {\n return INLINE_CONFIGURED_ENV_KEYS.some((key) => {\n const value = params.env?.[key]\n return typeof value === \"string\" && value.trim().length > 0\n })\n}\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM,6BAA6B,CAAC,gBAAgB,kBAAkB;AAE/D,SAAS,wBAAwB,CAAC,QAA8C;AAAA,EACrF,OAAO,2BAA2B,KAAK,CAAC,QAAQ;AAAA,IAC9C,MAAM,QAAQ,OAAO,MAAM;AAAA,IAC3B,OAAO,OAAO,UAAU,YAAY,MAAM,KAAK,EAAE,SAAS;AAAA,GAC3D;AAAA;",
|
|
8
|
+
"debugId": "A0F27FD0C9885E6564756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
package/dist/index.js
CHANGED
|
@@ -4,25 +4,45 @@ var __getProtoOf = Object.getPrototypeOf;
|
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
function __accessProp(key) {
|
|
8
|
+
return this[key];
|
|
9
|
+
}
|
|
10
|
+
var __toESMCache_node;
|
|
11
|
+
var __toESMCache_esm;
|
|
7
12
|
var __toESM = (mod, isNodeMode, target) => {
|
|
13
|
+
var canCache = mod != null && typeof mod === "object";
|
|
14
|
+
if (canCache) {
|
|
15
|
+
var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
|
|
16
|
+
var cached = cache.get(mod);
|
|
17
|
+
if (cached)
|
|
18
|
+
return cached;
|
|
19
|
+
}
|
|
8
20
|
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
9
21
|
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
22
|
+
if (mod && typeof mod === "object" || typeof mod === "function") {
|
|
23
|
+
for (let key of __getOwnPropNames(mod))
|
|
24
|
+
if (!__hasOwnProp.call(to, key))
|
|
25
|
+
__defProp(to, key, {
|
|
26
|
+
get: __accessProp.bind(mod, key),
|
|
27
|
+
enumerable: true
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
if (canCache)
|
|
31
|
+
cache.set(mod, to);
|
|
16
32
|
return to;
|
|
17
33
|
};
|
|
18
34
|
var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
35
|
+
var __returnValue = (v) => v;
|
|
36
|
+
function __exportSetter(name, newValue) {
|
|
37
|
+
this[name] = __returnValue.bind(null, newValue);
|
|
38
|
+
}
|
|
19
39
|
var __export = (target, all) => {
|
|
20
40
|
for (var name in all)
|
|
21
41
|
__defProp(target, name, {
|
|
22
42
|
get: all[name],
|
|
23
43
|
enumerable: true,
|
|
24
44
|
configurable: true,
|
|
25
|
-
set: (
|
|
45
|
+
set: __exportSetter.bind(all, name)
|
|
26
46
|
});
|
|
27
47
|
};
|
|
28
48
|
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
@@ -342,5 +362,5 @@ export {
|
|
|
342
362
|
src_default as default
|
|
343
363
|
};
|
|
344
364
|
|
|
345
|
-
//# debugId=
|
|
365
|
+
//# debugId=3D422B1CBF4C444664756E2164756E21
|
|
346
366
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"import {\n defineBundledChannelEntry,\n loadBundledEntryExportSync,\n type OpenClawPluginApi,\n} from \"openclaw/plugin-sdk/channel-entry-contract\"\nimport {\n instrumentOpenClawPluginApi,\n reportOpenClawRegistrationError,\n} from \"./telemetry.js\"\n\nfunction registerInlinePluginFull(api: OpenClawPluginApi): void {\n const register = loadBundledEntryExportSync<(api: OpenClawPluginApi) => void>(import.meta.url, {\n specifier: \"./runtime-register-api.js\",\n exportName: \"registerInlinePluginFull\",\n })\n try {\n register(instrumentOpenClawPluginApi(api))\n } catch (error) {\n reportOpenClawRegistrationError(error)\n throw error\n }\n}\n\nexport default defineBundledChannelEntry({\n id: \"inline\",\n name: \"Inline\",\n description: \"Inline channel plugin for OpenClaw bots.\",\n importMetaUrl: import.meta.url,\n plugin: {\n specifier: \"./channel-plugin-api.js\",\n exportName: \"inlineChannelPlugin\",\n },\n secrets: {\n specifier: \"./secret-contract-api.js\",\n exportName: \"channelSecrets\",\n },\n runtime: {\n specifier: \"./runtime-setter-api.js\",\n exportName: \"setInlineRuntime\",\n },\n accountInspect: {\n specifier: \"./account-inspect-api.js\",\n exportName: \"inspectInlineReadOnlyAccount\",\n },\n registerFull: registerInlinePluginFull,\n})\n",
|
|
6
6
|
"import { randomUUID } from \"node:crypto\"\nimport { readFile } from \"node:fs/promises\"\n\nconst TELEMETRY_TIMEOUT_MS = 2_000\nconst TELEMETRY_DEDUP_MS = 5 * 60_000\nconst MAX_ERROR_MESSAGE_LENGTH = 8_000\nconst MAX_STACK_FRAMES = 80\nconst SENSITIVE_ENV_NAME = /(?:token|secret|password|api[_-]?key|authorization)/i\n\ntype TelemetryFrame = {\n filename: string\n abs_path: string\n function: string\n lineno: number\n colno?: number\n in_app: boolean\n}\n\ntype OpenClawTelemetryEvent = {\n event_id: string\n timestamp: string\n platform: \"javascript\"\n level: \"error\"\n logger: \"inline.openclaw.plugin\"\n release?: string\n exception: {\n values: Array<{\n type: string\n value: string\n mechanism: { type: \"inline_plugin_boundary\"; handled: boolean }\n stacktrace?: { frames: TelemetryFrame[] }\n }>\n }\n tags: Record<string, string>\n sdk: { name: \"inline.plugin.telemetry\"; version: \"1\" }\n}\n\nconst lastReports = new Map<string, number>()\nlet releasePromise: Promise<string | undefined> | undefined\n\nfunction telemetryDisabled(env: NodeJS.ProcessEnv = process.env): boolean {\n const disabled = (value: string | undefined) =>\n value != null && [\"1\", \"true\", \"yes\", \"on\"].includes(value.trim().toLowerCase())\n const optedOut = (value: string | undefined) =>\n value != null && [\"0\", \"false\", \"off\"].includes(value.trim().toLowerCase())\n return disabled(env.DO_NOT_TRACK) || optedOut(env.INLINE_PLUGIN_TELEMETRY)\n}\n\nfunction resolveDsn(env: NodeJS.ProcessEnv = process.env): string {\n if (telemetryDisabled(env)) return \"\"\n return env.INLINE_OPENCLAW_SENTRY_DSN?.trim() ?? \"\"\n}\n\nfunction sensitiveValues(env: NodeJS.ProcessEnv = process.env): string[] {\n return Object.entries(env)\n .filter(([name, value]) => SENSITIVE_ENV_NAME.test(name) && (value?.length ?? 0) >= 8)\n .map(([, value]) => value!)\n}\n\nexport function redactOpenClawTelemetryText(\n value: unknown,\n env: NodeJS.ProcessEnv = process.env,\n): string {\n let text = String(value ?? \"\")\n .replace(/\\b(Authorization\\s*[:=]\\s*)(?:Basic|Bearer)\\s+\\S+/gi, \"$1[REDACTED]\")\n .replace(/\\b((?:Basic|Bearer)\\s+)\\S+/gi, \"$1[REDACTED]\")\n .replace(/(https?:\\/\\/)[^/\\s:@]+:[^@\\s/]+@/gi, \"$1[REDACTED]@\")\n .replace(\n /([?&](?:access_token|auth|authorization|key|password|secret|token)[^=\\s&]*)=([^&\\s]+)/gi,\n \"$1=[REDACTED]\",\n )\n .replace(\n /\\b([A-Za-z0-9_-]*(?:token|secret|password|api[_-]?key|authorization)[A-Za-z0-9_-]*)\\s*([=:])\\s*\\S+/gi,\n \"$1$2[REDACTED]\",\n )\n for (const secret of sensitiveValues(env)) {\n text = text.replaceAll(secret, \"[REDACTED]\")\n }\n return text.slice(0, MAX_ERROR_MESSAGE_LENGTH)\n}\n\nfunction safeTag(value: string): string {\n const normalized = value.trim().toLowerCase()\n return normalized.length > 0 && normalized.length <= 80 && /^[a-z0-9._-]+$/.test(normalized)\n ? normalized\n : \"unknown\"\n}\n\nfunction parseStack(error: Error, env: NodeJS.ProcessEnv): TelemetryFrame[] {\n const stack = error.stack ?? \"\"\n const frames: TelemetryFrame[] = []\n for (const rawLine of stack.split(\"\\n\").slice(1)) {\n const line = redactOpenClawTelemetryText(rawLine.trim(), env)\n const match = /^at\\s+(?:(.*?)\\s+\\()?(.+?):(\\d+):(\\d+)\\)?$/.exec(line)\n if (!match) continue\n const filename = match[2]!\n const frame: TelemetryFrame = {\n filename,\n abs_path: filename,\n function: match[1] || \"<anonymous>\",\n lineno: Number(match[3]),\n colno: Number(match[4]),\n in_app:\n filename.includes(\"@inline-openclaw/inline\") ||\n filename.includes(\"/openclaw/\") ||\n /\\/(?:channel-plugin-api|runtime-register-api|index)\\.js$/.test(filename),\n }\n frames.push(frame)\n if (frames.length >= MAX_STACK_FRAMES) break\n }\n // Sentry's event protocol expects oldest frames first.\n return frames.reverse()\n}\n\nexport function buildOpenClawTelemetryEvent(\n operation: string,\n error: unknown,\n options: { handled?: boolean; env?: NodeJS.ProcessEnv } = {},\n): OpenClawTelemetryEvent {\n const env = options.env ?? process.env\n const exception = error instanceof Error ? error : new Error(String(error ?? \"Unknown error\"))\n const frames = parseStack(exception, env)\n return {\n event_id: randomUUID().replaceAll(\"-\", \"\"),\n timestamp: new Date().toISOString(),\n platform: \"javascript\",\n level: \"error\",\n logger: \"inline.openclaw.plugin\",\n exception: {\n values: [{\n type: redactOpenClawTelemetryText(exception.name || \"Error\", env),\n value: redactOpenClawTelemetryText(exception.message || String(error), env),\n mechanism: {\n type: \"inline_plugin_boundary\",\n handled: options.handled ?? true,\n },\n ...(frames.length > 0 ? { stacktrace: { frames } } : {}),\n }],\n },\n tags: {\n operation: safeTag(operation),\n runtime: \"node\",\n os: process.platform,\n arch: process.arch,\n },\n sdk: { name: \"inline.plugin.telemetry\", version: \"1\" },\n }\n}\n\nasync function resolveRelease(): Promise<string | undefined> {\n releasePromise ??= (async () => {\n try {\n const parsed = JSON.parse(\n await readFile(new URL(\"../package.json\", import.meta.url), \"utf8\"),\n ) as { version?: unknown }\n if (typeof parsed.version === \"string\" && parsed.version.trim()) {\n return `inline-openclaw-plugin@${parsed.version.trim()}`\n }\n } catch {\n // Release metadata is helpful but must never interfere with reporting.\n }\n return undefined\n })()\n return releasePromise\n}\n\nfunction parseSentryDsn(dsn: string): { endpoint: string; publicKey: string } | null {\n try {\n const parsed = new URL(dsn)\n if (!/^https?:$/.test(parsed.protocol) || !parsed.username) return null\n const parts = parsed.pathname.split(\"/\").filter(Boolean)\n const projectId = parts.pop()\n if (!projectId || !/^\\d+$/.test(projectId)) return null\n const prefix = parts.length > 0 ? `/${parts.join(\"/\")}` : \"\"\n return {\n endpoint: `${parsed.origin}${prefix}/api/${projectId}/envelope/`,\n publicKey: parsed.username,\n }\n } catch {\n return null\n }\n}\n\nexport async function sendOpenClawPluginError(\n operation: string,\n error: unknown,\n options: { handled?: boolean; env?: NodeJS.ProcessEnv } = {},\n): Promise<boolean> {\n const env = options.env ?? process.env\n const dsn = resolveDsn(env)\n const target = parseSentryDsn(dsn)\n if (!target) return false\n\n const event = buildOpenClawTelemetryEvent(operation, error, options)\n const release = await resolveRelease()\n if (release) event.release = release\n const envelope = [\n JSON.stringify({ event_id: event.event_id, dsn, sent_at: event.timestamp }),\n JSON.stringify({ type: \"event\", content_type: \"application/json\" }),\n JSON.stringify(event),\n ].join(\"\\n\")\n const controller = new AbortController()\n const timeout = setTimeout(() => controller.abort(), TELEMETRY_TIMEOUT_MS)\n timeout.unref?.()\n try {\n const response = await fetch(target.endpoint, {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/x-sentry-envelope\",\n \"x-sentry-auth\": `Sentry sentry_version=7, sentry_key=${target.publicKey}, sentry_client=inline.plugin.telemetry/1`,\n },\n body: envelope,\n signal: controller.signal,\n })\n return response.ok\n } catch {\n return false\n } finally {\n clearTimeout(timeout)\n }\n}\n\nexport function reportOpenClawPluginError(\n operation: string,\n error: unknown,\n options: { handled?: boolean } = {},\n): void {\n try {\n const exception = error instanceof Error ? error : new Error(String(error ?? \"Unknown error\"))\n const key = `${safeTag(operation)}\\0${exception.name}\\0${redactOpenClawTelemetryText(exception.message)}`\n const now = Date.now()\n if (now - (lastReports.get(key) ?? 0) < TELEMETRY_DEDUP_MS) return\n lastReports.set(key, now)\n void sendOpenClawPluginError(operation, exception, options).catch(() => {})\n } catch {\n // Observability must never alter host plugin behavior.\n }\n}\n\nfunction wrapCallback<T extends (...args: never[]) => unknown>(operation: string, callback: T): T {\n return function (this: unknown, ...args: Parameters<T>): ReturnType<T> {\n try {\n const result = Reflect.apply(callback, this, args) as ReturnType<T>\n if (result && typeof (result as { then?: unknown }).then === \"function\") {\n return Promise.resolve(result).catch((error) => {\n reportOpenClawPluginError(operation, error)\n throw error\n }) as ReturnType<T>\n }\n return result\n } catch (error) {\n reportOpenClawPluginError(operation, error)\n throw error\n }\n } as T\n}\n\nfunction wrapSurface<T extends object>(prefix: string, surface: T): T {\n const wrapped = { ...surface } as Record<string, unknown>\n for (const [name, member] of Object.entries(wrapped)) {\n if (typeof member === \"function\") {\n wrapped[name] = wrapCallback(`${prefix}.${name}`, member as (...args: never[]) => unknown)\n }\n }\n return wrapped as T\n}\n\nfunction instrumentToolValue(value: unknown): unknown {\n if (Array.isArray(value)) return value.map(instrumentToolValue)\n if (!value || typeof value !== \"object\") return value\n\n const tool = value as Record<string, unknown>\n const execute = tool.execute\n if (typeof execute !== \"function\") return value\n const name = typeof tool.name === \"string\" ? safeTag(tool.name) : \"unknown\"\n return new Proxy(tool, {\n get(target, property, receiver) {\n if (property === \"execute\") {\n return wrapCallback(`tool.${name}`, execute as (...args: never[]) => unknown)\n }\n return Reflect.get(target, property, receiver)\n },\n })\n}\n\nexport function instrumentOpenClawPluginApi<T extends object>(value: T): T {\n const api = value as Record<string, unknown>\n return new Proxy(api, {\n get(target, property, receiver) {\n const member = Reflect.get(target, property, receiver)\n if (property === \"registerTool\" && typeof member === \"function\") {\n return (toolOrFactory: unknown, options?: unknown) => {\n const wrapped = typeof toolOrFactory === \"function\"\n ? wrapCallback(\"tool.factory\", (...args: never[]) =>\n instrumentToolValue(Reflect.apply(toolOrFactory, undefined, args)))\n : instrumentToolValue(toolOrFactory)\n return Reflect.apply(member, target, [wrapped, options])\n }\n }\n if (property === \"registerCommand\" && typeof member === \"function\") {\n return (command: Record<string, unknown>) => {\n const handler = command.handler\n const name = typeof command.name === \"string\" ? safeTag(command.name) : \"unknown\"\n const wrapped = typeof handler === \"function\"\n ? { ...command, handler: wrapCallback(`command.${name}`, handler as (...args: never[]) => unknown) }\n : command\n return Reflect.apply(member, target, [wrapped])\n }\n }\n if (property === \"on\" && typeof member === \"function\") {\n return (event: string, handler: (...args: never[]) => unknown) =>\n Reflect.apply(member, target, [event, wrapCallback(`hook.${safeTag(event)}`, handler)])\n }\n return member\n },\n }) as T\n}\n\nexport function instrumentOpenClawChannelPlugin<T extends object>(value: T): T {\n const plugin = { ...value } as Record<string, unknown>\n for (const name of [\n \"lifecycle\",\n \"pairing\",\n \"outbound\",\n \"heartbeat\",\n \"directory\",\n \"resolver\",\n \"allowlist\",\n \"status\",\n \"gateway\",\n ]) {\n const surface = plugin[name]\n if (surface && typeof surface === \"object\") {\n plugin[name] = wrapSurface(name, surface)\n }\n }\n const message = plugin.message\n if (message && typeof message === \"object\") {\n const wrappedMessage = { ...message } as Record<string, unknown>\n const send = wrappedMessage.send\n if (send && typeof send === \"object\") {\n wrappedMessage.send = wrapSurface(\"message.send\", send)\n }\n plugin.message = wrappedMessage\n }\n return plugin as T\n}\n\nexport function reportOpenClawRegistrationError(error: unknown): void {\n reportOpenClawPluginError(\"plugin.register\", error, { handled: false })\n}\n"
|
|
7
7
|
],
|
|
8
|
-
"mappings": "
|
|
9
|
-
"debugId": "
|
|
8
|
+
"mappings": "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",
|
|
9
|
+
"debugId": "3D422B1CBF4C444664756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|