@agent-native/dispatch 0.40.40 → 0.40.41-beta-dispatch-embed-01a15dc9-20261027050558
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/CHANGELOG.md +42 -0
- package/dist/actions/create_embed_session.js +1 -0
- package/dist/actions/create_embed_session.js.map +1 -1
- package/dist/actions/delete-destination.d.ts +12 -12
- package/dist/actions/provider-api-register.d.ts +13 -13
- package/dist/components/layout/Layout.d.ts.map +1 -1
- package/dist/components/layout/Layout.js +8 -11
- package/dist/components/layout/Layout.js.map +1 -1
- package/dist/components/workspace-app-host.d.ts.map +1 -1
- package/dist/components/workspace-app-host.js +23 -10
- package/dist/components/workspace-app-host.js.map +1 -1
- package/dist/lib/workspace-apps.d.ts +2 -2
- package/dist/lib/workspace-apps.d.ts.map +1 -1
- package/dist/lib/workspace-apps.js +35 -5
- package/dist/lib/workspace-apps.js.map +1 -1
- package/dist/server/lib/app-creation-store.d.ts.map +1 -1
- package/dist/server/lib/app-creation-store.js +173 -48
- package/dist/server/lib/app-creation-store.js.map +1 -1
- package/dist/server/lib/community-apps.js +1 -1
- package/dist/server/lib/community-apps.js.map +1 -1
- package/dist/server/lib/mcp-gateway.d.ts +1 -0
- package/dist/server/lib/mcp-gateway.d.ts.map +1 -1
- package/dist/server/lib/mcp-gateway.js +170 -38
- package/dist/server/lib/mcp-gateway.js.map +1 -1
- package/dist/server/lib/provider-api.d.ts +2 -2
- package/dist/shared/workspace-app-route.d.ts +2 -0
- package/dist/shared/workspace-app-route.d.ts.map +1 -0
- package/dist/shared/workspace-app-route.js +4 -0
- package/dist/shared/workspace-app-route.js.map +1 -0
- package/package.json +4 -4
- package/src/actions/create_embed_session.ts +1 -0
- package/src/actions/index.spec.ts +3 -0
- package/src/components/layout/Layout.spec.tsx +39 -9
- package/src/components/layout/Layout.tsx +19 -40
- package/src/components/workspace-app-host.spec.tsx +88 -1
- package/src/components/workspace-app-host.tsx +30 -9
- package/src/lib/workspace-apps.spec.ts +64 -5
- package/src/lib/workspace-apps.ts +36 -6
- package/src/routes/pages/apps.$appId.spec.tsx +21 -3
- package/src/server/lib/app-creation-store.spec.ts +502 -11
- package/src/server/lib/app-creation-store.ts +198 -50
- package/src/server/lib/community-apps.ts +1 -1
- package/src/server/lib/mcp-gateway.spec.ts +396 -9
- package/src/server/lib/mcp-gateway.ts +209 -45
- package/src/shared/workspace-app-route.ts +3 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,47 @@
|
|
|
1
1
|
# @agent-native/dispatch
|
|
2
2
|
|
|
3
|
+
## 0.40.41-beta-dispatch-embed-01a15dc9-20261027050558
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 64b6332: Route Workspace app links through Dispatch's nested app route so child pages resolve on mounted deployments.
|
|
8
|
+
- 1fe5d77: Support member-scoped MCP identity delegation and preserve Workspace app deep links through flat route shells.
|
|
9
|
+
- e086032: Apps that Dispatch creates keep first-run onboarding off in development, like the first-party templates, so a local run opens straight into the app.
|
|
10
|
+
- e548712: Embed a workspace app by its own path when its registry `url` is this Dispatch's page for it. The embed request was rejected and the fallback framed Dispatch inside Dispatch, so apps with a home page of `/` rendered blank and apps with another home page returned 404.
|
|
11
|
+
- 0ab7e59: Chat history row menus in the Dispatch sidebar now use text-only menu items that join arrow-key navigation and typeahead, so Copy session ID and Watch session are reachable from the keyboard. Archiving a chat from that menu is no longer styled as a destructive action, since archived chats can be restored.
|
|
12
|
+
- f635856: Allow Dispatch to pair with the next Core prerelease series.
|
|
13
|
+
- f635856: Preserve app-only visibility when Dispatch overrides the built-in embed helper so Workspace app sessions reach their iframe without exposing the one-time ticket to the model.
|
|
14
|
+
- 2e8f454: Compile with `noImplicitOverride` and `noFallthroughCasesInSwitch`, and, where the code already passes them, `noUncheckedIndexedAccess` and `exactOptionalPropertyTypes`. Optional fields that legitimately hold `undefined` are now typed `T | undefined`. No runtime behavior changes.
|
|
15
|
+
- 62b1459: Fix embedded workspace app chats on path-mounted deployments.
|
|
16
|
+
- Updated dependencies [0ab7e59]
|
|
17
|
+
- Updated dependencies [f717042]
|
|
18
|
+
- Updated dependencies [0ab7e59]
|
|
19
|
+
- Updated dependencies [0ab7e59]
|
|
20
|
+
- Updated dependencies [0ab7e59]
|
|
21
|
+
- Updated dependencies [0ab7e59]
|
|
22
|
+
- Updated dependencies [0ab7e59]
|
|
23
|
+
- Updated dependencies [0ab7e59]
|
|
24
|
+
- Updated dependencies [0ab7e59]
|
|
25
|
+
- Updated dependencies [0ab7e59]
|
|
26
|
+
- Updated dependencies [c2a6e7e]
|
|
27
|
+
- Updated dependencies [c2a6e7e]
|
|
28
|
+
- Updated dependencies [369ceab]
|
|
29
|
+
- Updated dependencies [d569c61]
|
|
30
|
+
- Updated dependencies [e086032]
|
|
31
|
+
- Updated dependencies [ee67a21]
|
|
32
|
+
- Updated dependencies [ef8111a]
|
|
33
|
+
- Updated dependencies [0ab7e59]
|
|
34
|
+
- Updated dependencies [7199312]
|
|
35
|
+
- Updated dependencies [0ab7e59]
|
|
36
|
+
- Updated dependencies [f20824d]
|
|
37
|
+
- Updated dependencies [0ab7e59]
|
|
38
|
+
- Updated dependencies [a9c0fa9]
|
|
39
|
+
- Updated dependencies [eaa780a]
|
|
40
|
+
- Updated dependencies [82efd47]
|
|
41
|
+
- Updated dependencies [0ab7e59]
|
|
42
|
+
- Updated dependencies [2e8f454]
|
|
43
|
+
- @agent-native/toolkit@0.221.0-beta-dispatch-embed-01a15dc9-20261027050558
|
|
44
|
+
|
|
3
45
|
## 0.40.40
|
|
4
46
|
|
|
5
47
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create_embed_session.js","sourceRoot":"","sources":["../../src/actions/create_embed_session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oCAAoC,EAAE,MAAM,8BAA8B,CAAC;AAEpF,eAAe,YAAY,CAAC;IAC1B,WAAW,EACT,iJAAiJ;IACnJ,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,oDAAoD,CAAC;QACjE,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0DAA0D,CAAC;QACvE,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,2DAA2D,CAAC;QACxE,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;aACzB,QAAQ,EAAE;aACV,QAAQ,CAAC,4CAA4C,CAAC;KAC1D,CAAC;IACF,QAAQ,EAAE,KAAK;IACf,YAAY,EAAE,IAAI;IAClB,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,oCAAoC,CAAC,IAAI,CAAC;CAChE,CAAC,CAAC","sourcesContent":["import { defineAction } from \"@agent-native/core/action\";\nimport { z } from \"zod\";\n\nimport { createGrantedDispatchMcpEmbedSession } from \"../server/lib/mcp-gateway.js\";\n\nexport default defineAction({\n description:\n \"MCP Apps helper: create a browser embed session for a Dispatch-granted app URL. Usually called by an MCP App iframe, not directly by the model.\",\n schema: z.object({\n app: z\n .string()\n .optional()\n .describe(\"Optional granted app id when path is app-relative.\"),\n url: z\n .string()\n .optional()\n .describe(\"Absolute URL returned by open_app, or app-relative path.\"),\n path: z\n .string()\n .optional()\n .describe(\"App-relative path. Requires app when url is not provided.\"),\n chrome: z\n .enum([\"full\", \"minimal\"])\n .optional()\n .describe(\"Embed chrome preference. Defaults to full.\"),\n }),\n readOnly: false,\n parallelSafe: true,\n run: async (args) => createGrantedDispatchMcpEmbedSession(args),\n});\n"]}
|
|
1
|
+
{"version":3,"file":"create_embed_session.js","sourceRoot":"","sources":["../../src/actions/create_embed_session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oCAAoC,EAAE,MAAM,8BAA8B,CAAC;AAEpF,eAAe,YAAY,CAAC;IAC1B,WAAW,EACT,iJAAiJ;IACnJ,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,oDAAoD,CAAC;QACjE,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0DAA0D,CAAC;QACvE,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,2DAA2D,CAAC;QACxE,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;aACzB,QAAQ,EAAE;aACV,QAAQ,CAAC,4CAA4C,CAAC;KAC1D,CAAC;IACF,QAAQ,EAAE,KAAK;IACf,YAAY,EAAE,IAAI;IAClB,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE;IAC/B,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,oCAAoC,CAAC,IAAI,CAAC;CAChE,CAAC,CAAC","sourcesContent":["import { defineAction } from \"@agent-native/core/action\";\nimport { z } from \"zod\";\n\nimport { createGrantedDispatchMcpEmbedSession } from \"../server/lib/mcp-gateway.js\";\n\nexport default defineAction({\n description:\n \"MCP Apps helper: create a browser embed session for a Dispatch-granted app URL. Usually called by an MCP App iframe, not directly by the model.\",\n schema: z.object({\n app: z\n .string()\n .optional()\n .describe(\"Optional granted app id when path is app-relative.\"),\n url: z\n .string()\n .optional()\n .describe(\"Absolute URL returned by open_app, or app-relative path.\"),\n path: z\n .string()\n .optional()\n .describe(\"App-relative path. Requires app when url is not provided.\"),\n chrome: z\n .enum([\"full\", \"minimal\"])\n .optional()\n .describe(\"Embed chrome preference. Defaults to full.\"),\n }),\n readOnly: false,\n parallelSafe: true,\n mcpApp: { visibility: [\"app\"] },\n run: async (args) => createGrantedDispatchMcpEmbedSession(args),\n});\n"]}
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
declare const _default: import("@agent-native/core/action").ActionDefinition<{
|
|
2
2
|
id: string;
|
|
3
3
|
}, {
|
|
4
|
+
id: string;
|
|
5
|
+
ownerEmail: string;
|
|
6
|
+
orgId: string | null;
|
|
7
|
+
name: string;
|
|
8
|
+
platform: string;
|
|
9
|
+
destination: string;
|
|
10
|
+
threadRef: string | null;
|
|
11
|
+
notes: string | null;
|
|
12
|
+
createdBy: string;
|
|
13
|
+
createdAt: number;
|
|
14
|
+
updatedAt: number;
|
|
15
|
+
} | {
|
|
4
16
|
id: string;
|
|
5
17
|
ownerEmail: string;
|
|
6
18
|
orgId: string | null;
|
|
@@ -17,18 +29,6 @@ declare const _default: import("@agent-native/core/action").ActionDefinition<{
|
|
|
17
29
|
reviewedAt: number | null;
|
|
18
30
|
createdAt: number;
|
|
19
31
|
updatedAt: number;
|
|
20
|
-
} | {
|
|
21
|
-
id: string;
|
|
22
|
-
ownerEmail: string;
|
|
23
|
-
orgId: string | null;
|
|
24
|
-
name: string;
|
|
25
|
-
platform: string;
|
|
26
|
-
destination: string;
|
|
27
|
-
threadRef: string | null;
|
|
28
|
-
notes: string | null;
|
|
29
|
-
createdBy: string;
|
|
30
|
-
createdAt: number;
|
|
31
|
-
updatedAt: number;
|
|
32
32
|
}>;
|
|
33
33
|
export default _default;
|
|
34
34
|
//# sourceMappingURL=delete-destination.d.ts.map
|
|
@@ -47,10 +47,8 @@ declare const _default: import("node_modules/@agent-native/core/dist").ActionDef
|
|
|
47
47
|
notes?: string | undefined;
|
|
48
48
|
scope?: "org" | "user" | undefined;
|
|
49
49
|
}, {
|
|
50
|
-
message?: undefined;
|
|
51
|
-
id?: undefined;
|
|
52
|
-
deleted?: undefined;
|
|
53
50
|
provider?: undefined;
|
|
51
|
+
id?: undefined;
|
|
54
52
|
providers: {
|
|
55
53
|
id: string;
|
|
56
54
|
label: string;
|
|
@@ -62,44 +60,46 @@ declare const _default: import("node_modules/@agent-native/core/dist").ActionDef
|
|
|
62
60
|
}[];
|
|
63
61
|
count: number;
|
|
64
62
|
found?: undefined;
|
|
63
|
+
deleted?: undefined;
|
|
65
64
|
registered?: undefined;
|
|
66
65
|
label?: undefined;
|
|
67
|
-
} | {
|
|
68
66
|
message?: undefined;
|
|
67
|
+
} | {
|
|
69
68
|
id?: undefined;
|
|
70
|
-
deleted?: undefined;
|
|
71
|
-
count?: undefined;
|
|
72
69
|
providers?: undefined;
|
|
70
|
+
count?: undefined;
|
|
73
71
|
found: boolean;
|
|
74
72
|
provider: import("node_modules/@agent-native/core/dist/provider-api").CustomProviderConfig;
|
|
73
|
+
deleted?: undefined;
|
|
75
74
|
registered?: undefined;
|
|
76
75
|
label?: undefined;
|
|
77
|
-
} | {
|
|
78
76
|
message?: undefined;
|
|
79
|
-
|
|
77
|
+
} | {
|
|
80
78
|
provider?: undefined;
|
|
81
|
-
count?: undefined;
|
|
82
79
|
providers?: undefined;
|
|
80
|
+
count?: undefined;
|
|
83
81
|
found: boolean;
|
|
84
82
|
id: string;
|
|
83
|
+
deleted?: undefined;
|
|
85
84
|
registered?: undefined;
|
|
86
85
|
label?: undefined;
|
|
87
|
-
} | {
|
|
88
86
|
message?: undefined;
|
|
87
|
+
} | {
|
|
89
88
|
provider?: undefined;
|
|
90
|
-
count?: undefined;
|
|
91
89
|
providers?: undefined;
|
|
90
|
+
count?: undefined;
|
|
92
91
|
found?: undefined;
|
|
93
92
|
deleted: boolean;
|
|
94
93
|
id: string;
|
|
95
94
|
registered?: undefined;
|
|
96
95
|
label?: undefined;
|
|
96
|
+
message?: undefined;
|
|
97
97
|
} | {
|
|
98
|
-
deleted?: undefined;
|
|
99
98
|
provider?: undefined;
|
|
100
|
-
count?: undefined;
|
|
101
99
|
providers?: undefined;
|
|
100
|
+
count?: undefined;
|
|
102
101
|
found?: undefined;
|
|
102
|
+
deleted?: undefined;
|
|
103
103
|
registered: boolean;
|
|
104
104
|
id: string;
|
|
105
105
|
label: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layout.d.ts","sourceRoot":"","sources":["../../../src/components/layout/Layout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAiBL,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EAWlC,MAAM,sCAAsC,CAAC;AAM9C,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,yCAAyC,CAAC;AAWjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AACjG,OAAO,KAAK,EAEV,gBAAgB,EAChB,aAAa,EAEd,MAAM,iDAAiD,CAAC;
|
|
1
|
+
{"version":3,"file":"Layout.d.ts","sourceRoot":"","sources":["../../../src/components/layout/Layout.tsx"],"names":[],"mappings":"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"}
|
|
@@ -14,8 +14,9 @@ import { InvitationBanner, OrgSwitcher } from "@agent-native/toolkit/app/org";
|
|
|
14
14
|
import { RunsTray } from "@agent-native/toolkit/app/progress";
|
|
15
15
|
import { isSettingsPathname } from "@agent-native/toolkit/app/settings";
|
|
16
16
|
import { AppSidebarFooter, AppSidebarHeader, openCommandMenu, } from "@agent-native/toolkit/app/shared";
|
|
17
|
+
import { ChatHistoryMenuItem } from "@agent-native/toolkit/chat-history";
|
|
17
18
|
import { writeClipboardText } from "@agent-native/toolkit/clipboard";
|
|
18
|
-
import { IconApps, IconBrandSlack, IconBrandTelegram,
|
|
19
|
+
import { IconApps, IconBrandSlack, IconBrandTelegram, IconHierarchy2, IconMessageQuestion, IconBroadcast, IconLayoutSidebar, IconLayoutSidebarLeftCollapse, IconLayoutSidebarLeftExpand, IconSettings, IconShield, IconWorld, IconDeviceDesktop, IconPlus, } from "@tabler/icons-react";
|
|
19
20
|
import { createContext, useEffect, useMemo, useRef, useState, useContext, useCallback, } from "react";
|
|
20
21
|
import { Link, useLocation, useNavigate } from "react-router";
|
|
21
22
|
import { toast } from "sonner";
|
|
@@ -452,22 +453,20 @@ function DispatchChatsSection({ onNavigate, showNewChat = false, prelude, chatFi
|
|
|
452
453
|
pin: t("agentChat.contextXray.pin"),
|
|
453
454
|
unpin: t("agentChat.contextXray.unpin"),
|
|
454
455
|
delete: t("extensions.delete"),
|
|
455
|
-
}, renderAdditionalRowActions: (item
|
|
456
|
-
closeMenu();
|
|
456
|
+
}, renderAdditionalRowActions: (item) => (_jsxs(_Fragment, { children: [_jsx(ChatHistoryMenuItem, { onSelect: () => {
|
|
457
457
|
void writeClipboardText(item.id).then((copied) => {
|
|
458
458
|
toast[copied ? "success" : "error"](copied
|
|
459
459
|
? chatFirstCopy("sessionIdCopied")
|
|
460
460
|
: t("agentChat.recovery.copyFailed"));
|
|
461
461
|
});
|
|
462
|
-
}, children:
|
|
463
|
-
closeMenu();
|
|
462
|
+
}, children: chatFirstCopy("copySessionId") }), !chatFirstEmbedded ? (_jsx(ChatHistoryMenuItem, { onSelect: () => {
|
|
464
463
|
emitChatFirstSessionWatch({
|
|
465
464
|
sessionId: item.id,
|
|
466
465
|
title: item.titleText,
|
|
467
466
|
kind: "agent-chat",
|
|
468
467
|
sourceSessionId: displayedActiveThreadId ?? undefined,
|
|
469
468
|
});
|
|
470
|
-
}, children:
|
|
469
|
+
}, children: chatFirstCopy("watchSession") })) : null] })), className: "min-w-0 px-2" })) : !collapsedChatFirst && !chatFirstMode ? (_jsx(OwnershipChatHistoryRail, { sections: history.sections, listProps: listProps, activeId: displayedActiveThreadId, onSelect: (threadId) => openThread(threadId), onNewChat: () => void handleNewChat(), railLabels: {
|
|
471
470
|
newChat: t("dispatch.sidebar.newChat"),
|
|
472
471
|
}, renameMaxLength: 160, labels: {
|
|
473
472
|
options: (item) => t("dispatch.sidebar.chatOptions", {
|
|
@@ -480,22 +479,20 @@ function DispatchChatsSection({ onNavigate, showNewChat = false, prelude, chatFi
|
|
|
480
479
|
pin: t("agentChat.contextXray.pin"),
|
|
481
480
|
unpin: t("agentChat.contextXray.unpin"),
|
|
482
481
|
delete: t("extensions.delete"),
|
|
483
|
-
}, renderAdditionalRowActions: (item
|
|
484
|
-
closeMenu();
|
|
482
|
+
}, renderAdditionalRowActions: (item) => (_jsxs(_Fragment, { children: [_jsx(ChatHistoryMenuItem, { onSelect: () => {
|
|
485
483
|
void writeClipboardText(item.id).then((copied) => {
|
|
486
484
|
toast[copied ? "success" : "error"](copied
|
|
487
485
|
? chatFirstCopy("sessionIdCopied")
|
|
488
486
|
: t("agentChat.recovery.copyFailed"));
|
|
489
487
|
});
|
|
490
|
-
}, children:
|
|
491
|
-
closeMenu();
|
|
488
|
+
}, children: chatFirstCopy("copySessionId") }), chatFirstMode && !chatFirstEmbedded ? (_jsx(ChatHistoryMenuItem, { onSelect: () => {
|
|
492
489
|
emitChatFirstSessionWatch({
|
|
493
490
|
sessionId: item.id,
|
|
494
491
|
title: item.titleText,
|
|
495
492
|
kind: "agent-chat",
|
|
496
493
|
sourceSessionId: displayedActiveThreadId ?? undefined,
|
|
497
494
|
});
|
|
498
|
-
}, children:
|
|
495
|
+
}, children: chatFirstCopy("watchSession") })) : null] })), className: "min-w-0 px-2" })) : null] }));
|
|
499
496
|
}
|
|
500
497
|
export function NavContent({ onNavigate, extensions, brandName = DISPATCH_SIDEBAR_LABEL, brandIcon, chatFirstMode = false, chatFirstEmbedded = false, collapsed = false, collapsible = false, onCollapsedChange, chatFirstAppLayout, onChatFirstAppLayoutChange, chatFirstApps = [], chatFirstAppsLoading = false, chatFirstAppsError, chatFirstActiveAppId, chatFirstActivePrimaryTab, onChatFirstNewChat, onChatFirstAppOpen, onChatFirstAppsRetry, }) {
|
|
501
498
|
const t = useT();
|