@12-apps/mcp 3.10.0 → 3.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-WUNMAHQG.js +325 -0
- package/dist/chunk-WUNMAHQG.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +17 -1
- package/dist/index.js.map +1 -1
- package/dist/locales-eKE_OJw4.d.ts +64 -0
- package/dist/react/index.d.ts +20 -2
- package/dist/react/index.js +129 -1
- package/dist/react/index.js.map +1 -1
- package/package.json +5 -4
- package/src/en-US.ts +204 -0
- package/src/index.ts +12 -0
- package/src/locales.ts +58 -0
- package/src/react/en-US.ts +125 -0
- package/src/react/index.ts +18 -0
- package/src/react/locales.ts +17 -0
- package/dist/chunk-HRAQKMDC.js +0 -154
- package/dist/chunk-HRAQKMDC.js.map +0 -1
- package/dist/pt-BR-e1RnV2v8.d.ts +0 -25
package/src/en-US.ts
ADDED
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
AiCapability,
|
|
3
|
+
AiConnectPromptSpec,
|
|
4
|
+
AiHostConfigureStage,
|
|
5
|
+
AiHostGuide,
|
|
6
|
+
AiPermissionModel,
|
|
7
|
+
} from "./guide";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* The en-US pack for the AI-integration surface — NAMED constants a host passes
|
|
11
|
+
* by hand, never defaults.
|
|
12
|
+
*
|
|
13
|
+
* The guides are DATA as much as copy: which assistants are offered, their
|
|
14
|
+
* stage ids, their brands and their LINKS. Both halves travel together because
|
|
15
|
+
* a step label and the stage it labels are useless apart — and the parts that
|
|
16
|
+
* are not words do not change between languages:
|
|
17
|
+
*
|
|
18
|
+
* - `id` and `brand` are the package's own keys, matched on by the component;
|
|
19
|
+
* - the URLs point at Anthropic's and OpenAI's own pages;
|
|
20
|
+
* - the UI labels a reader must FIND in those products stay in the product's
|
|
21
|
+
* own English (`Add custom connector`, `Settings › Security and login`,
|
|
22
|
+
* `Sign in with …`), which is the same rule that keeps a vendor's field name
|
|
23
|
+
* untranslated everywhere else here.
|
|
24
|
+
*
|
|
25
|
+
* The pt-BR pack quotes those same labels in English for exactly this reason;
|
|
26
|
+
* what differs between the two packs is the instruction around them.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
const CONNECTOR_TAIL: readonly string[] = [
|
|
30
|
+
"Leave OAuth Client ID and Client Secret blank — there are no credentials to generate: the store registers the connector automatically on first access.",
|
|
31
|
+
"Confirm and click Connect: the store's sign-in screen opens — sign in with YOUR own owner account and authorise the access.",
|
|
32
|
+
"Done: enable the connector in the chat so the assistant can query and operate your store.",
|
|
33
|
+
];
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* ChatGPT's two-stage configuration (Developer mode is now required before a
|
|
37
|
+
* connector can be created). Stage 1 enables Developer mode in Security & login;
|
|
38
|
+
* stage 2 creates the connector and signs in — which registers the connection on
|
|
39
|
+
* the store side, so no prompt needs to be pasted afterwards.
|
|
40
|
+
*/
|
|
41
|
+
function chatgptConfigureStages(
|
|
42
|
+
platformName: string,
|
|
43
|
+
): readonly AiHostConfigureStage[] {
|
|
44
|
+
return [
|
|
45
|
+
{
|
|
46
|
+
id: "enable-dev-mode",
|
|
47
|
+
label: "enable developer mode",
|
|
48
|
+
link: {
|
|
49
|
+
url: "https://chatgpt.com/plugins#settings/Security",
|
|
50
|
+
label: "Open Security and login",
|
|
51
|
+
},
|
|
52
|
+
steps: [
|
|
53
|
+
"Turn on Developer mode under Settings › Security and login.",
|
|
54
|
+
],
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
id: "configurar",
|
|
58
|
+
label: "configure",
|
|
59
|
+
link: {
|
|
60
|
+
url: "https://chatgpt.com/plugins#settings/Connectors?create-connector=true&redirectAfter=%2Fplugins",
|
|
61
|
+
label: "Create the connector",
|
|
62
|
+
},
|
|
63
|
+
steps: [
|
|
64
|
+
"That opens a popup to create a new plugin. Give it your store's name, and put the link you copied in the previous step in the MCP field.",
|
|
65
|
+
'Tick "I understand and want to continue" — OpenAI has not reviewed this MCP server; they warn that sites may try to steal your data or push the model into harmful actions, including destroying data.',
|
|
66
|
+
`Click "Sign in with ${platformName}" and sign in with your owner account to authorise access. That is it: the connection is registered automatically.`,
|
|
67
|
+
],
|
|
68
|
+
},
|
|
69
|
+
];
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* The AI hosts a store owner can connect, in recommended order. Same OAuth flow
|
|
74
|
+
* everywhere (the host drives it) — only the menu path differs per app.
|
|
75
|
+
*
|
|
76
|
+
* A FUNCTION of the platform's name, because one step is not generic: the
|
|
77
|
+
* ChatGPT connector's consent screen shows an OAuth button labelled with
|
|
78
|
+
* whoever operates the server, and the owner is told which button to click. It
|
|
79
|
+
* used to name one particular STORE on one particular deployment — not even the
|
|
80
|
+
* product, a tenant of it — so every other adopter instructed its owners to
|
|
81
|
+
* click a button that does not exist.
|
|
82
|
+
*/
|
|
83
|
+
export function EN_US_AI_HOST_GUIDES(platformName: string): readonly AiHostGuide[] {
|
|
84
|
+
const chatgptStages = chatgptConfigureStages(platformName);
|
|
85
|
+
return [
|
|
86
|
+
{
|
|
87
|
+
id: "claude",
|
|
88
|
+
label: "Claude.ai",
|
|
89
|
+
brand: "claude",
|
|
90
|
+
kind: "In the browser",
|
|
91
|
+
link: {
|
|
92
|
+
url: "https://claude.ai/new?modal=add-custom-connector#settings/customize-connectors",
|
|
93
|
+
label: "Open Claude's connectors",
|
|
94
|
+
},
|
|
95
|
+
docs: {
|
|
96
|
+
url: "https://support.anthropic.com/en/articles/11175166-how-do-i-connect-mcp-servers-to-claude-ai",
|
|
97
|
+
label: "Anthropic's own documentation — custom connectors",
|
|
98
|
+
},
|
|
99
|
+
steps: [
|
|
100
|
+
"Click the button above (or go to Settings › Customize › Connectors) and choose Add custom connector.",
|
|
101
|
+
"Name the connector (your store's name works) and paste your store's MCP server URL (copy it above) into the URL field.",
|
|
102
|
+
...CONNECTOR_TAIL,
|
|
103
|
+
],
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
id: "claude-desktop",
|
|
107
|
+
label: "Claude Desktop",
|
|
108
|
+
brand: "claude",
|
|
109
|
+
kind: "App (Windows/Mac)",
|
|
110
|
+
docs: {
|
|
111
|
+
url: "https://support.anthropic.com/en/articles/11175166-how-do-i-connect-mcp-servers-to-claude-ai",
|
|
112
|
+
label: "Anthropic's own documentation — custom connectors",
|
|
113
|
+
},
|
|
114
|
+
steps: [
|
|
115
|
+
"Open Claude Desktop and go to Settings (⚙️) › Connectors.",
|
|
116
|
+
"Click Add custom connector and paste your store's MCP server URL (copy it above).",
|
|
117
|
+
...CONNECTOR_TAIL,
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
id: "chatgpt",
|
|
122
|
+
label: "ChatGPT",
|
|
123
|
+
brand: "openai",
|
|
124
|
+
kind: "In the browser",
|
|
125
|
+
link: {
|
|
126
|
+
url: "https://chatgpt.com/plugins",
|
|
127
|
+
label: "Open ChatGPT's plugins",
|
|
128
|
+
},
|
|
129
|
+
docs: {
|
|
130
|
+
url: "https://developers.openai.com/apps-sdk/deploy/connect-chatgpt",
|
|
131
|
+
label: "OpenAI's own documentation — connecting an MCP server to ChatGPT",
|
|
132
|
+
},
|
|
133
|
+
configureStages: chatgptStages,
|
|
134
|
+
// Mirrors the flattened stage instructions so the MCP connect guide
|
|
135
|
+
// (`connectToChatGpt`) can never drift from what owners see in the wizard.
|
|
136
|
+
steps: chatgptStages.flatMap((stage) => stage.steps),
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
id: "codex",
|
|
140
|
+
label: "Codex",
|
|
141
|
+
brand: "openai",
|
|
142
|
+
kind: "Developer app / CLI",
|
|
143
|
+
link: {
|
|
144
|
+
url: "https://developers.openai.com/codex",
|
|
145
|
+
label: "Codex documentation",
|
|
146
|
+
},
|
|
147
|
+
docs: {
|
|
148
|
+
url: "https://developers.openai.com/apps-sdk/deploy/connect-chatgpt",
|
|
149
|
+
label: "OpenAI's own documentation — connecting an MCP server",
|
|
150
|
+
},
|
|
151
|
+
steps: [
|
|
152
|
+
"In Codex, open the MCP settings (Settings › MCP in the app, or the config file on the CLI).",
|
|
153
|
+
"Add an MCP server and paste your store's MCP server URL (copy it above) as a remote (HTTP) connector.",
|
|
154
|
+
...CONNECTOR_TAIL,
|
|
155
|
+
],
|
|
156
|
+
},
|
|
157
|
+
];
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
export const EN_US_AI_CAPABILITIES: readonly AiCapability[] = [
|
|
161
|
+
// The `detail` of each is a QUESTION a reader could paste verbatim, so it is
|
|
162
|
+
// written as one rather than described.
|
|
163
|
+
{
|
|
164
|
+
id: "orders",
|
|
165
|
+
title: "Follow your orders",
|
|
166
|
+
detail: '"Which orders came in today?"',
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
id: "inventory",
|
|
170
|
+
title: "Keep on top of stock",
|
|
171
|
+
detail: '"How much of product X is left? Record 20 units received."',
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
id: "catalog",
|
|
175
|
+
title: "Manage the catalog",
|
|
176
|
+
detail: "Create and edit products and categories by chatting.",
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
id: "sales",
|
|
180
|
+
title: "Understand your sales",
|
|
181
|
+
detail: '"What was this week\'s revenue?"',
|
|
182
|
+
},
|
|
183
|
+
];
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* The permission model in one line, shown prominently: the assistant acts AS
|
|
187
|
+
* the signed-in owner (auth-passthrough) — it can do exactly what the owner
|
|
188
|
+
* can, nothing more, and no extra credential/API key is ever created.
|
|
189
|
+
*/
|
|
190
|
+
export const EN_US_AI_PERMISSION_MODEL: AiPermissionModel =
|
|
191
|
+
"The assistant acts on your behalf with exactly your permissions: it can do what you can do in your store — and nothing beyond that. There is no key or extra credential to create; the authorisation uses your own login.";
|
|
192
|
+
|
|
193
|
+
/** The en-US paste-in prompt, built from the host's own tool names. */
|
|
194
|
+
export function EN_US_AI_CONNECT_PROMPT(spec: AiConnectPromptSpec): string {
|
|
195
|
+
// The TOOL NAMES are the host's own identifiers and are interpolated, never
|
|
196
|
+
// translated: the assistant has to call them by the name they are registered
|
|
197
|
+
// under, so a translated verb here is a prompt that does nothing.
|
|
198
|
+
return (
|
|
199
|
+
"You now have access to my store's MCP connector. Do the following, in order:\n" +
|
|
200
|
+
`1) Run the ${spec.announceTool} tool, saying which assistant you are (host: "chatgpt", "claude" or "codex"), to register the connection with my store.\n` +
|
|
201
|
+
`2) Run the ${spec.probeTool} tool to confirm access to ${spec.probeSubject}.\n` +
|
|
202
|
+
`If you need the store identifier, ask me for the ${spec.identifierName}.`
|
|
203
|
+
);
|
|
204
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -104,3 +104,15 @@ export {
|
|
|
104
104
|
PT_BR_AI_HOST_GUIDES,
|
|
105
105
|
PT_BR_AI_PERMISSION_MODEL,
|
|
106
106
|
} from "./pt-BR";
|
|
107
|
+
export {
|
|
108
|
+
EN_US_AI_CAPABILITIES,
|
|
109
|
+
EN_US_AI_CONNECT_PROMPT,
|
|
110
|
+
EN_US_AI_HOST_GUIDES,
|
|
111
|
+
EN_US_AI_PERMISSION_MODEL,
|
|
112
|
+
} from "./en-US";
|
|
113
|
+
export {
|
|
114
|
+
AI_CAPABILITIES,
|
|
115
|
+
AI_CONNECT_PROMPT,
|
|
116
|
+
AI_HOST_GUIDES,
|
|
117
|
+
AI_PERMISSION_MODEL,
|
|
118
|
+
} from "./locales";
|
package/src/locales.ts
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import {
|
|
2
|
+
EN_US_AI_CAPABILITIES,
|
|
3
|
+
EN_US_AI_CONNECT_PROMPT,
|
|
4
|
+
EN_US_AI_HOST_GUIDES,
|
|
5
|
+
EN_US_AI_PERMISSION_MODEL,
|
|
6
|
+
} from "./en-US";
|
|
7
|
+
import type {
|
|
8
|
+
AiCapability,
|
|
9
|
+
AiConnectPromptSpec,
|
|
10
|
+
AiHostGuide,
|
|
11
|
+
AiPermissionModel,
|
|
12
|
+
} from "./guide";
|
|
13
|
+
import {
|
|
14
|
+
PT_BR_AI_CAPABILITIES,
|
|
15
|
+
PT_BR_AI_CONNECT_PROMPT,
|
|
16
|
+
PT_BR_AI_HOST_GUIDES,
|
|
17
|
+
PT_BR_AI_PERMISSION_MODEL,
|
|
18
|
+
} from "./pt-BR";
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* The AI-integration surface in both languages, keyed by tag — what a host
|
|
22
|
+
* hands to `@12-apps/i18n` when the reader's language is a property of the
|
|
23
|
+
* request rather than of the deployment.
|
|
24
|
+
*
|
|
25
|
+
* Two of these are FUNCTIONS rather than tables, and stay so:
|
|
26
|
+
*
|
|
27
|
+
* - `AI_HOST_GUIDES` takes the platform's name, because the ChatGPT consent
|
|
28
|
+
* screen shows an OAuth button labelled with whoever operates the server and
|
|
29
|
+
* the owner is told which button to click. It once named one particular
|
|
30
|
+
* tenant of one deployment, so every other adopter instructed its owners to
|
|
31
|
+
* click a button that does not exist.
|
|
32
|
+
* - `AI_CONNECT_PROMPT` takes the host's own tool names, which the assistant
|
|
33
|
+
* must call by the name they are registered under.
|
|
34
|
+
*
|
|
35
|
+
* `LocalePack` is mirrored here rather than imported so the package stays
|
|
36
|
+
* liftable into a repo that has never heard of `@12-apps/i18n`.
|
|
37
|
+
*/
|
|
38
|
+
type LocalePack<T> = { readonly "pt-BR": T; readonly "en-US": T };
|
|
39
|
+
|
|
40
|
+
export const AI_HOST_GUIDES = {
|
|
41
|
+
"pt-BR": PT_BR_AI_HOST_GUIDES,
|
|
42
|
+
"en-US": EN_US_AI_HOST_GUIDES,
|
|
43
|
+
} as const satisfies LocalePack<(platformName: string) => readonly AiHostGuide[]>;
|
|
44
|
+
|
|
45
|
+
export const AI_CONNECT_PROMPT = {
|
|
46
|
+
"pt-BR": PT_BR_AI_CONNECT_PROMPT,
|
|
47
|
+
"en-US": EN_US_AI_CONNECT_PROMPT,
|
|
48
|
+
} as const satisfies LocalePack<(spec: AiConnectPromptSpec) => string>;
|
|
49
|
+
|
|
50
|
+
export const AI_CAPABILITIES = {
|
|
51
|
+
"pt-BR": PT_BR_AI_CAPABILITIES,
|
|
52
|
+
"en-US": EN_US_AI_CAPABILITIES,
|
|
53
|
+
} as const satisfies LocalePack<readonly AiCapability[]>;
|
|
54
|
+
|
|
55
|
+
export const AI_PERMISSION_MODEL = {
|
|
56
|
+
"pt-BR": PT_BR_AI_PERMISSION_MODEL,
|
|
57
|
+
"en-US": EN_US_AI_PERMISSION_MODEL,
|
|
58
|
+
} as const satisfies LocalePack<AiPermissionModel>;
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { EN_US_CONFIRM_ACTION_COPY } from "@12-apps/ui/en-US";
|
|
2
|
+
|
|
3
|
+
import type { McpAiCopy } from "./copy";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* The en-US pack for the AI-integration screens — a NAMED constant a host
|
|
7
|
+
* passes by hand, never a default.
|
|
8
|
+
*
|
|
9
|
+
* `statusBoard.confirmAction` composes `@12-apps/ui`'s own English pack rather
|
|
10
|
+
* than restating it, exactly as the pt-BR side composes the Portuguese one.
|
|
11
|
+
*
|
|
12
|
+
* The assistant NAMES (Claude, ChatGPT, Codex) are products, not words: they
|
|
13
|
+
* are spelled the same in every language, and `hostLabel` arrives as an
|
|
14
|
+
* argument so a sentence can place it where its own grammar wants.
|
|
15
|
+
*/
|
|
16
|
+
export const EN_US_MCP_AI_COPY: McpAiCopy = {
|
|
17
|
+
capabilities: {
|
|
18
|
+
heading: "What the assistant does for you",
|
|
19
|
+
subheading: "No spreadsheets, no clicking — just ask it in the chat.",
|
|
20
|
+
},
|
|
21
|
+
landing: {
|
|
22
|
+
eyebrow: "AI integration",
|
|
23
|
+
// Three fragments the heading renders around an emphasised middle, so the
|
|
24
|
+
// seam has to survive: "Connect / AI assistants / to your store".
|
|
25
|
+
titleLead: "Connect",
|
|
26
|
+
titleEmphasis: "AI assistants",
|
|
27
|
+
titleTail: "to your store",
|
|
28
|
+
lede:
|
|
29
|
+
"Let Claude, ChatGPT and other assistants answer questions about your menu, stock and " +
|
|
30
|
+
"orders — and take actions for you, right in the chat. Securely, with nothing to install.",
|
|
31
|
+
trust: [
|
|
32
|
+
// The `id`s are the package's own and are NOT words: the component keys
|
|
33
|
+
// its icons off them.
|
|
34
|
+
{
|
|
35
|
+
id: "login",
|
|
36
|
+
label: "Uses your own login",
|
|
37
|
+
caption: "No extra keys or credentials",
|
|
38
|
+
},
|
|
39
|
+
{ id: "install", label: "Nothing to install", caption: "Connects in minutes" },
|
|
40
|
+
{
|
|
41
|
+
id: "permissions",
|
|
42
|
+
label: "Only what you can do",
|
|
43
|
+
caption: "Your permissions, nothing beyond them",
|
|
44
|
+
},
|
|
45
|
+
{ id: "surface", label: "Browser or app", caption: "Claude, ChatGPT, Codex" },
|
|
46
|
+
],
|
|
47
|
+
start: "Get started",
|
|
48
|
+
},
|
|
49
|
+
flow: {
|
|
50
|
+
steps: {
|
|
51
|
+
select: "Choose",
|
|
52
|
+
copyUrl: "Copy URL",
|
|
53
|
+
configure: "Configure",
|
|
54
|
+
connect: "Connect",
|
|
55
|
+
install: "Install",
|
|
56
|
+
confirm: "Confirm",
|
|
57
|
+
},
|
|
58
|
+
back: "Back",
|
|
59
|
+
next: "Next",
|
|
60
|
+
advance: "Continue",
|
|
61
|
+
finish: "Finish",
|
|
62
|
+
copyUrl: "Copy URL",
|
|
63
|
+
copied: "Copied",
|
|
64
|
+
copyMessage: "Copy message",
|
|
65
|
+
copyUrlTitle: "Copy your store's URL",
|
|
66
|
+
urlCaption:
|
|
67
|
+
"It is the only thing you paste into the assistant — copying it moves you to the next step.",
|
|
68
|
+
promptCaption:
|
|
69
|
+
"That is how it connects, identifies itself (Claude, ChatGPT…) and how we record the connection.",
|
|
70
|
+
askTitle: "Ask the assistant to connect",
|
|
71
|
+
installBody:
|
|
72
|
+
"Open your store's plugin, click Install and authorise access — no URL to copy, no credentials to generate.",
|
|
73
|
+
installAction: "Install the store plugin",
|
|
74
|
+
pasteTitle: "Paste this message into the assistant",
|
|
75
|
+
pasteInstallCaption:
|
|
76
|
+
"Paste it into the assistant so it connects, identifies itself and confirms access.",
|
|
77
|
+
connectedTo: (hostLabel) => `${hostLabel} is connected to your store.`,
|
|
78
|
+
waitingTitle: "Waiting for the connection",
|
|
79
|
+
waitingBody: (hostLabel) =>
|
|
80
|
+
`As soon as you authorise access in ${hostLabel}, it appears here automatically.`,
|
|
81
|
+
testNow: "Test it now",
|
|
82
|
+
},
|
|
83
|
+
statusBoard: {
|
|
84
|
+
instructions: "Instructions",
|
|
85
|
+
connected: "Connected",
|
|
86
|
+
notConnected: "Not connected yet",
|
|
87
|
+
connect: "Connect",
|
|
88
|
+
disconnect: "Disconnect",
|
|
89
|
+
disconnectTitle: "Disconnect this assistant?",
|
|
90
|
+
disconnectBody:
|
|
91
|
+
"It loses access to your store immediately. To use it again you will have to connect it afresh.",
|
|
92
|
+
disconnectConfirm: "Disconnect",
|
|
93
|
+
disconnectError: "Could not disconnect. Try again.",
|
|
94
|
+
boardTitle: "Connected assistants",
|
|
95
|
+
boardCaption:
|
|
96
|
+
"Green are the ones already working with your store; red are the ones still to connect.",
|
|
97
|
+
confirmAction: EN_US_CONFIRM_ACTION_COPY,
|
|
98
|
+
},
|
|
99
|
+
summary: {
|
|
100
|
+
activeNow: "active now",
|
|
101
|
+
activeMinutes: (minutes) => `active ${minutes} min ago`,
|
|
102
|
+
activeHours: (hours) => `active ${hours} h ago`,
|
|
103
|
+
activeDays: (days) => `active ${days} days ago`,
|
|
104
|
+
configured: "Integration configured",
|
|
105
|
+
connectedSuffix: "Connected",
|
|
106
|
+
connectedSeveral: (names) => `${names} connected`,
|
|
107
|
+
connectedGeneric: "AI connected",
|
|
108
|
+
},
|
|
109
|
+
hostSelect: {
|
|
110
|
+
heading: "Choose your assistant",
|
|
111
|
+
caption: "Pick where you use AI — the walkthrough is tailored to it.",
|
|
112
|
+
},
|
|
113
|
+
connectGuide: {
|
|
114
|
+
urlLabel: "Your store's server URL",
|
|
115
|
+
urlHint: "Copy this URL and paste it into your assistant to connect it to the store.",
|
|
116
|
+
// Ends mid-sentence: the screen renders a documentation link straight after.
|
|
117
|
+
moreInfo: "For more, see the",
|
|
118
|
+
connectOn: (hostLabel) => `Connect in ${hostLabel}`,
|
|
119
|
+
},
|
|
120
|
+
onboarding: {
|
|
121
|
+
title: "Connect AI assistants to your store",
|
|
122
|
+
editLabel: "Connect AI",
|
|
123
|
+
collapseLabel: "Hide",
|
|
124
|
+
},
|
|
125
|
+
};
|
package/src/react/index.ts
CHANGED
|
@@ -47,6 +47,22 @@ export {
|
|
|
47
47
|
PT_BR_AI_PERMISSION_MODEL,
|
|
48
48
|
} from "../pt-BR";
|
|
49
49
|
|
|
50
|
+
// The English twins and the tag-keyed records, re-exported beside them so a
|
|
51
|
+
// screen reaching for the AI surface finds all of it on one subpath — which is
|
|
52
|
+
// how the pt-BR names have always been reachable from here.
|
|
53
|
+
export {
|
|
54
|
+
EN_US_AI_CAPABILITIES,
|
|
55
|
+
EN_US_AI_CONNECT_PROMPT,
|
|
56
|
+
EN_US_AI_HOST_GUIDES,
|
|
57
|
+
EN_US_AI_PERMISSION_MODEL,
|
|
58
|
+
} from "../en-US";
|
|
59
|
+
export {
|
|
60
|
+
AI_CAPABILITIES,
|
|
61
|
+
AI_CONNECT_PROMPT,
|
|
62
|
+
AI_HOST_GUIDES,
|
|
63
|
+
AI_PERMISSION_MODEL,
|
|
64
|
+
} from "../locales";
|
|
65
|
+
|
|
50
66
|
export type {
|
|
51
67
|
AiCapabilitiesCopy,
|
|
52
68
|
AiConnectGuideCopy,
|
|
@@ -60,3 +76,5 @@ export type {
|
|
|
60
76
|
McpAiCopy,
|
|
61
77
|
} from "./copy";
|
|
62
78
|
export { PT_BR_MCP_AI_COPY } from "./pt-BR";
|
|
79
|
+
export { EN_US_MCP_AI_COPY } from "./en-US";
|
|
80
|
+
export { MCP_AI_COPY } from "./locales";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { McpAiCopy } from "./copy";
|
|
2
|
+
import { EN_US_MCP_AI_COPY } from "./en-US";
|
|
3
|
+
import { PT_BR_MCP_AI_COPY } from "./pt-BR";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* The AI-integration screens in both languages, keyed by tag.
|
|
7
|
+
*
|
|
8
|
+
* `LocalePack` is mirrored here rather than imported so the package stays
|
|
9
|
+
* liftable into a repo that has never heard of `@12-apps/i18n`. The named
|
|
10
|
+
* single-language packs stay exported and unchanged.
|
|
11
|
+
*/
|
|
12
|
+
type LocalePack<T> = { readonly "pt-BR": T; readonly "en-US": T };
|
|
13
|
+
|
|
14
|
+
export const MCP_AI_COPY = {
|
|
15
|
+
"pt-BR": PT_BR_MCP_AI_COPY,
|
|
16
|
+
"en-US": EN_US_MCP_AI_COPY,
|
|
17
|
+
} as const satisfies LocalePack<McpAiCopy>;
|
package/dist/chunk-HRAQKMDC.js
DELETED
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__name
|
|
3
|
-
} from "./chunk-7QVYU63E.js";
|
|
4
|
-
|
|
5
|
-
// src/pt-BR.ts
|
|
6
|
-
var CONNECTOR_TAIL = [
|
|
7
|
-
"Deixe OAuth Client ID e Client Secret em branco \u2014 n\xE3o \xE9 preciso gerar credenciais: a loja registra o conector automaticamente no primeiro acesso.",
|
|
8
|
-
"Confirme e clique em Connect: abre a tela de login da loja \u2014 entre com a SUA conta de lojista e autorize o acesso.",
|
|
9
|
-
"Pronto: ative o conector na conversa para o assistente consultar e operar a sua loja."
|
|
10
|
-
];
|
|
11
|
-
function chatgptConfigureStages(platformName) {
|
|
12
|
-
return [
|
|
13
|
-
{
|
|
14
|
-
id: "enable-dev-mode",
|
|
15
|
-
label: "enable developer mode",
|
|
16
|
-
link: {
|
|
17
|
-
url: "https://chatgpt.com/plugins#settings/Security",
|
|
18
|
-
label: "Abrir Seguran\xE7a e login"
|
|
19
|
-
},
|
|
20
|
-
steps: [
|
|
21
|
-
"Ative o Modo desenvolvedor em Settings \u203A Security and login (Seguran\xE7a e login)."
|
|
22
|
-
]
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
id: "configurar",
|
|
26
|
-
label: "configurar",
|
|
27
|
-
link: {
|
|
28
|
-
url: "https://chatgpt.com/plugins#settings/Connectors?create-connector=true&redirectAfter=%2Fplugins",
|
|
29
|
-
label: "Criar o conector"
|
|
30
|
-
},
|
|
31
|
-
steps: [
|
|
32
|
-
"Isso vai abrir um popup para voc\xEA criar um plugin novo. Coloque como nome o nome da sua loja e, no campo MCP, o link copiado no passo anterior.",
|
|
33
|
-
'Marque a caixa "I understand and want to continue" \u2014 a OpenAI n\xE3o revisou este servidor MCP; ela avisa que sites podem tentar roubar seus dados ou induzir o modelo a a\xE7\xF5es indevidas, incluindo destruir dados.',
|
|
34
|
-
`Clique em "Sign in with ${platformName}" e entre com a sua conta de lojista para autorizar o acesso. Pronto: a conex\xE3o \xE9 registrada automaticamente.`
|
|
35
|
-
]
|
|
36
|
-
}
|
|
37
|
-
];
|
|
38
|
-
}
|
|
39
|
-
__name(chatgptConfigureStages, "chatgptConfigureStages");
|
|
40
|
-
function PT_BR_AI_HOST_GUIDES(platformName) {
|
|
41
|
-
const chatgptStages = chatgptConfigureStages(platformName);
|
|
42
|
-
return [
|
|
43
|
-
{
|
|
44
|
-
id: "claude",
|
|
45
|
-
label: "Claude.ai",
|
|
46
|
-
brand: "claude",
|
|
47
|
-
kind: "No navegador",
|
|
48
|
-
link: {
|
|
49
|
-
url: "https://claude.ai/new?modal=add-custom-connector#settings/customize-connectors",
|
|
50
|
-
label: "Abrir os conectores do Claude"
|
|
51
|
-
},
|
|
52
|
-
docs: {
|
|
53
|
-
url: "https://support.anthropic.com/en/articles/11175166-how-do-i-connect-mcp-servers-to-claude-ai",
|
|
54
|
-
label: "documenta\xE7\xE3o oficial da Anthropic \u2014 conectores personalizados"
|
|
55
|
-
},
|
|
56
|
-
steps: [
|
|
57
|
-
"Clique no bot\xE3o acima (ou v\xE1 em Settings \u203A Customize \u203A Connectors) e escolha Add custom connector.",
|
|
58
|
-
"D\xEA um nome ao conector (ex.: o nome da sua loja) e cole a URL do servidor MCP da sua loja (copie acima) no campo de URL.",
|
|
59
|
-
...CONNECTOR_TAIL
|
|
60
|
-
]
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
id: "claude-desktop",
|
|
64
|
-
label: "Claude Desktop",
|
|
65
|
-
brand: "claude",
|
|
66
|
-
kind: "Aplicativo (Windows/Mac)",
|
|
67
|
-
docs: {
|
|
68
|
-
url: "https://support.anthropic.com/en/articles/11175166-how-do-i-connect-mcp-servers-to-claude-ai",
|
|
69
|
-
label: "documenta\xE7\xE3o oficial da Anthropic \u2014 conectores personalizados"
|
|
70
|
-
},
|
|
71
|
-
steps: [
|
|
72
|
-
"Abra o Claude Desktop e v\xE1 em Settings (\u2699\uFE0F) \u203A Connectors.",
|
|
73
|
-
"Clique em Add custom connector e cole a URL do servidor MCP da sua loja (copie acima).",
|
|
74
|
-
...CONNECTOR_TAIL
|
|
75
|
-
]
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
id: "chatgpt",
|
|
79
|
-
label: "ChatGPT",
|
|
80
|
-
brand: "openai",
|
|
81
|
-
kind: "No navegador",
|
|
82
|
-
link: {
|
|
83
|
-
url: "https://chatgpt.com/plugins",
|
|
84
|
-
label: "Abrir os plugins do ChatGPT"
|
|
85
|
-
},
|
|
86
|
-
docs: {
|
|
87
|
-
url: "https://developers.openai.com/apps-sdk/deploy/connect-chatgpt",
|
|
88
|
-
label: "documenta\xE7\xE3o oficial da OpenAI \u2014 conectar um servidor MCP ao ChatGPT"
|
|
89
|
-
},
|
|
90
|
-
configureStages: chatgptStages,
|
|
91
|
-
// Mirrors the flattened stage instructions so the MCP connect guide
|
|
92
|
-
// (`connectToChatGpt`) can never drift from what owners see in the wizard.
|
|
93
|
-
steps: chatgptStages.flatMap((stage) => stage.steps)
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
id: "codex",
|
|
97
|
-
label: "Codex",
|
|
98
|
-
brand: "openai",
|
|
99
|
-
kind: "App / CLI de desenvolvedor",
|
|
100
|
-
link: {
|
|
101
|
-
url: "https://developers.openai.com/codex",
|
|
102
|
-
label: "Documenta\xE7\xE3o do Codex"
|
|
103
|
-
},
|
|
104
|
-
docs: {
|
|
105
|
-
url: "https://developers.openai.com/apps-sdk/deploy/connect-chatgpt",
|
|
106
|
-
label: "documenta\xE7\xE3o oficial da OpenAI \u2014 conectar um servidor MCP"
|
|
107
|
-
},
|
|
108
|
-
steps: [
|
|
109
|
-
"No Codex, abra as configura\xE7\xF5es de MCP (Settings \u203A MCP no app, ou o arquivo de configura\xE7\xE3o na CLI).",
|
|
110
|
-
"Adicione um servidor MCP e cole a URL do servidor MCP da sua loja (copie acima) como um conector remoto (HTTP).",
|
|
111
|
-
...CONNECTOR_TAIL
|
|
112
|
-
]
|
|
113
|
-
}
|
|
114
|
-
];
|
|
115
|
-
}
|
|
116
|
-
__name(PT_BR_AI_HOST_GUIDES, "PT_BR_AI_HOST_GUIDES");
|
|
117
|
-
var PT_BR_AI_CAPABILITIES = [
|
|
118
|
-
{
|
|
119
|
-
id: "orders",
|
|
120
|
-
title: "Acompanhe seus pedidos",
|
|
121
|
-
detail: '"Quais pedidos entraram hoje?"'
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
id: "inventory",
|
|
125
|
-
title: "Controle o estoque",
|
|
126
|
-
detail: '"Quanto ainda tenho do produto X? Registre a entrada de 20 unidades."'
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
id: "catalog",
|
|
130
|
-
title: "Gerencie o cat\xE1logo",
|
|
131
|
-
detail: "Crie e edite produtos e categorias conversando."
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
id: "sales",
|
|
135
|
-
title: "Entenda suas vendas",
|
|
136
|
-
detail: '"Qual foi o faturamento da semana?"'
|
|
137
|
-
}
|
|
138
|
-
];
|
|
139
|
-
var PT_BR_AI_PERMISSION_MODEL = "O assistente age em seu nome, com exatamente as suas permiss\xF5es: ele pode fazer o que voc\xEA pode fazer na sua loja \u2014 nada al\xE9m disso. N\xE3o \xE9 preciso criar nenhuma chave ou credencial extra; a autoriza\xE7\xE3o usa o seu pr\xF3prio login.";
|
|
140
|
-
function PT_BR_AI_CONNECT_PROMPT(spec) {
|
|
141
|
-
return `Voc\xEA agora tem acesso ao conector MCP da minha loja. Fa\xE7a, nesta ordem:
|
|
142
|
-
1) Execute a ferramenta ${spec.announceTool} informando qual assistente voc\xEA \xE9 (host: "chatgpt", "claude" ou "codex") para registrar a conex\xE3o com a minha loja.
|
|
143
|
-
2) Execute a ferramenta ${spec.probeTool} para confirmar o acesso a ${spec.probeSubject}.
|
|
144
|
-
Se precisar do identificador da loja, me pergunte o ${spec.identifierName}.`;
|
|
145
|
-
}
|
|
146
|
-
__name(PT_BR_AI_CONNECT_PROMPT, "PT_BR_AI_CONNECT_PROMPT");
|
|
147
|
-
|
|
148
|
-
export {
|
|
149
|
-
PT_BR_AI_HOST_GUIDES,
|
|
150
|
-
PT_BR_AI_CAPABILITIES,
|
|
151
|
-
PT_BR_AI_PERMISSION_MODEL,
|
|
152
|
-
PT_BR_AI_CONNECT_PROMPT
|
|
153
|
-
};
|
|
154
|
-
//# sourceMappingURL=chunk-HRAQKMDC.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/pt-BR.ts"],"sourcesContent":["import type {\n AiCapability,\n AiConnectPromptSpec,\n AiHostConfigureStage,\n AiHostGuide,\n AiPermissionModel,\n} from \"./guide\";\n\n/**\n * The pt-BR pack for the AI-integration surface — NAMED constants a host passes\n * by hand, never defaults (FUT-760).\n *\n * The filename is what exempts this file from the copy-portability gate:\n * Portuguese may ship, it may not be silent. Every sentence here is VERBATIM\n * what `guide.ts` used to compile in, so a host adopting it sees no change on\n * screen — what changes is that the walkthrough is chosen in a diff.\n *\n * The guides are DATA as much as copy: which assistants are offered, their\n * stage ids and brands. Both halves travel together because a step label and\n * the stage it labels are useless apart.\n */\n\nconst CONNECTOR_TAIL: readonly string[] = [\n \"Deixe OAuth Client ID e Client Secret em branco — não é preciso gerar credenciais: a loja registra o conector automaticamente no primeiro acesso.\",\n \"Confirme e clique em Connect: abre a tela de login da loja — entre com a SUA conta de lojista e autorize o acesso.\",\n \"Pronto: ative o conector na conversa para o assistente consultar e operar a sua loja.\",\n];\n\n/**\n * ChatGPT's two-stage configuration (Developer mode is now required before a\n * connector can be created). Stage 1 enables Developer mode in Security & login;\n * stage 2 creates the connector and signs in — which registers the connection on\n * the store side, so no prompt needs to be pasted afterwards.\n */\nfunction chatgptConfigureStages(\n platformName: string,\n): readonly AiHostConfigureStage[] {\n return [\n {\n id: \"enable-dev-mode\",\n label: \"enable developer mode\",\n link: {\n url: \"https://chatgpt.com/plugins#settings/Security\",\n label: \"Abrir Segurança e login\",\n },\n steps: [\n \"Ative o Modo desenvolvedor em Settings › Security and login (Segurança e login).\",\n ],\n },\n {\n id: \"configurar\",\n label: \"configurar\",\n link: {\n url: \"https://chatgpt.com/plugins#settings/Connectors?create-connector=true&redirectAfter=%2Fplugins\",\n label: \"Criar o conector\",\n },\n steps: [\n \"Isso vai abrir um popup para você criar um plugin novo. Coloque como nome o nome da sua loja e, no campo MCP, o link copiado no passo anterior.\",\n 'Marque a caixa \"I understand and want to continue\" — a OpenAI não revisou este servidor MCP; ela avisa que sites podem tentar roubar seus dados ou induzir o modelo a ações indevidas, incluindo destruir dados.',\n `Clique em \"Sign in with ${platformName}\" e entre com a sua conta de lojista para autorizar o acesso. Pronto: a conexão é registrada automaticamente.`,\n ],\n },\n ];\n}\n\n/**\n * The AI hosts a store owner can connect, in recommended order. Same OAuth flow\n * everywhere (the host drives it) — only the menu path differs per app.\n *\n * A FUNCTION of the platform's name, because one step is not generic: the\n * ChatGPT connector's consent screen shows an OAuth button labelled with\n * whoever operates the server, and the owner is told which button to click. It\n * used to name one particular STORE on one particular deployment — not even the\n * product, a tenant of it — so every other adopter instructed its owners to\n * click a button that does not exist.\n */\nexport function PT_BR_AI_HOST_GUIDES(platformName: string): readonly AiHostGuide[] {\n const chatgptStages = chatgptConfigureStages(platformName);\n return [\n {\n id: \"claude\",\n label: \"Claude.ai\",\n brand: \"claude\",\n kind: \"No navegador\",\n link: {\n url: \"https://claude.ai/new?modal=add-custom-connector#settings/customize-connectors\",\n label: \"Abrir os conectores do Claude\",\n },\n docs: {\n url: \"https://support.anthropic.com/en/articles/11175166-how-do-i-connect-mcp-servers-to-claude-ai\",\n label: \"documentação oficial da Anthropic — conectores personalizados\",\n },\n steps: [\n \"Clique no botão acima (ou vá em Settings › Customize › Connectors) e escolha Add custom connector.\",\n \"Dê um nome ao conector (ex.: o nome da sua loja) e cole a URL do servidor MCP da sua loja (copie acima) no campo de URL.\",\n ...CONNECTOR_TAIL,\n ],\n },\n {\n id: \"claude-desktop\",\n label: \"Claude Desktop\",\n brand: \"claude\",\n kind: \"Aplicativo (Windows/Mac)\",\n docs: {\n url: \"https://support.anthropic.com/en/articles/11175166-how-do-i-connect-mcp-servers-to-claude-ai\",\n label: \"documentação oficial da Anthropic — conectores personalizados\",\n },\n steps: [\n \"Abra o Claude Desktop e vá em Settings (⚙️) › Connectors.\",\n \"Clique em Add custom connector e cole a URL do servidor MCP da sua loja (copie acima).\",\n ...CONNECTOR_TAIL,\n ],\n },\n {\n id: \"chatgpt\",\n label: \"ChatGPT\",\n brand: \"openai\",\n kind: \"No navegador\",\n link: {\n url: \"https://chatgpt.com/plugins\",\n label: \"Abrir os plugins do ChatGPT\",\n },\n docs: {\n url: \"https://developers.openai.com/apps-sdk/deploy/connect-chatgpt\",\n label:\n \"documentação oficial da OpenAI — conectar um servidor MCP ao ChatGPT\",\n },\n configureStages: chatgptStages,\n // Mirrors the flattened stage instructions so the MCP connect guide\n // (`connectToChatGpt`) can never drift from what owners see in the wizard.\n steps: chatgptStages.flatMap((stage) => stage.steps),\n },\n {\n id: \"codex\",\n label: \"Codex\",\n brand: \"openai\",\n kind: \"App / CLI de desenvolvedor\",\n link: {\n url: \"https://developers.openai.com/codex\",\n label: \"Documentação do Codex\",\n },\n docs: {\n url: \"https://developers.openai.com/apps-sdk/deploy/connect-chatgpt\",\n label: \"documentação oficial da OpenAI — conectar um servidor MCP\",\n },\n steps: [\n \"No Codex, abra as configurações de MCP (Settings › MCP no app, ou o arquivo de configuração na CLI).\",\n \"Adicione um servidor MCP e cole a URL do servidor MCP da sua loja (copie acima) como um conector remoto (HTTP).\",\n ...CONNECTOR_TAIL,\n ],\n },\n ];\n}\n\nexport const PT_BR_AI_CAPABILITIES: readonly AiCapability[] = [\n {\n id: \"orders\",\n title: \"Acompanhe seus pedidos\",\n detail: '\"Quais pedidos entraram hoje?\"',\n },\n {\n id: \"inventory\",\n title: \"Controle o estoque\",\n detail:\n '\"Quanto ainda tenho do produto X? Registre a entrada de 20 unidades.\"',\n },\n {\n id: \"catalog\",\n title: \"Gerencie o catálogo\",\n detail: \"Crie e edite produtos e categorias conversando.\",\n },\n {\n id: \"sales\",\n title: \"Entenda suas vendas\",\n detail: '\"Qual foi o faturamento da semana?\"',\n },\n];\n\n/**\n * The permission model in one line, shown prominently: the assistant acts AS\n * the signed-in owner (auth-passthrough) — it can do exactly what the owner\n * can, nothing more, and no extra credential/API key is ever created.\n */\nexport const PT_BR_AI_PERMISSION_MODEL: AiPermissionModel =\n \"O assistente age em seu nome, com exatamente as suas permissões: ele pode fazer o que você pode fazer na sua loja — nada além disso. Não é preciso criar nenhuma chave ou credencial extra; a autorização usa o seu próprio login.\";\n\n/** The pt-BR paste-in prompt, built from the host's own tool names. */\nexport function PT_BR_AI_CONNECT_PROMPT(spec: AiConnectPromptSpec): string {\n return (\n \"Você agora tem acesso ao conector MCP da minha loja. Faça, nesta ordem:\\n\" +\n `1) Execute a ferramenta ${spec.announceTool} informando qual assistente você é (host: \"chatgpt\", \"claude\" ou \"codex\") para registrar a conexão com a minha loja.\\n` +\n `2) Execute a ferramenta ${spec.probeTool} para confirmar o acesso a ${spec.probeSubject}.\\n` +\n `Se precisar do identificador da loja, me pergunte o ${spec.identifierName}.`\n );\n}\n"],"mappings":";;;;;AAsBA,IAAM,iBAAoC;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AACF;AAQA,SAAS,uBACP,cACiC;AACjC,SAAO;AAAA,IACL;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,MAAM;AAAA,QACJ,KAAK;AAAA,QACL,OAAO;AAAA,MACT;AAAA,MACA,OAAO;AAAA,QACL;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,MAAM;AAAA,QACJ,KAAK;AAAA,QACL,OAAO;AAAA,MACT;AAAA,MACA,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA,2BAA2B,YAAY;AAAA,MACzC;AAAA,IACF;AAAA,EACF;AACF;AA7BS;AA0CF,SAAS,qBAAqB,cAA8C;AACjF,QAAM,gBAAgB,uBAAuB,YAAY;AACzD,SAAO;AAAA,IACL;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,QACJ,KAAK;AAAA,QACL,OAAO;AAAA,MACT;AAAA,MACA,MAAM;AAAA,QACJ,KAAK;AAAA,QACL,OAAO;AAAA,MACT;AAAA,MACA,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA,GAAG;AAAA,MACL;AAAA,IACF;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,QACJ,KAAK;AAAA,QACL,OAAO;AAAA,MACT;AAAA,MACA,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA,GAAG;AAAA,MACL;AAAA,IACF;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,QACJ,KAAK;AAAA,QACL,OAAO;AAAA,MACT;AAAA,MACA,MAAM;AAAA,QACJ,KAAK;AAAA,QACL,OACE;AAAA,MACJ;AAAA,MACA,iBAAiB;AAAA;AAAA;AAAA,MAGjB,OAAO,cAAc,QAAQ,CAAC,UAAU,MAAM,KAAK;AAAA,IACrD;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,QACJ,KAAK;AAAA,QACL,OAAO;AAAA,MACT;AAAA,MACA,MAAM;AAAA,QACJ,KAAK;AAAA,QACL,OAAO;AAAA,MACT;AAAA,MACA,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA,GAAG;AAAA,MACL;AAAA,IACF;AAAA,EACF;AACF;AA5EgB;AA8ET,IAAM,wBAAiD;AAAA,EAC5D;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,QACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,QAAQ;AAAA,EACV;AACF;AAOO,IAAM,4BACX;AAGK,SAAS,wBAAwB,MAAmC;AACzE,SACE;AAAA,0BAC2B,KAAK,YAAY;AAAA,0BACjB,KAAK,SAAS,8BAA8B,KAAK,YAAY;AAAA,sDACjC,KAAK,cAAc;AAE9E;AAPgB;","names":[]}
|
package/dist/pt-BR-e1RnV2v8.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { A as AiCapability, b as AiConnectPromptSpec, e as AiHostGuide, i as AiPermissionModel } from './guide-KQNcXlMG.js';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* The AI hosts a store owner can connect, in recommended order. Same OAuth flow
|
|
5
|
-
* everywhere (the host drives it) — only the menu path differs per app.
|
|
6
|
-
*
|
|
7
|
-
* A FUNCTION of the platform's name, because one step is not generic: the
|
|
8
|
-
* ChatGPT connector's consent screen shows an OAuth button labelled with
|
|
9
|
-
* whoever operates the server, and the owner is told which button to click. It
|
|
10
|
-
* used to name one particular STORE on one particular deployment — not even the
|
|
11
|
-
* product, a tenant of it — so every other adopter instructed its owners to
|
|
12
|
-
* click a button that does not exist.
|
|
13
|
-
*/
|
|
14
|
-
declare function PT_BR_AI_HOST_GUIDES(platformName: string): readonly AiHostGuide[];
|
|
15
|
-
declare const PT_BR_AI_CAPABILITIES: readonly AiCapability[];
|
|
16
|
-
/**
|
|
17
|
-
* The permission model in one line, shown prominently: the assistant acts AS
|
|
18
|
-
* the signed-in owner (auth-passthrough) — it can do exactly what the owner
|
|
19
|
-
* can, nothing more, and no extra credential/API key is ever created.
|
|
20
|
-
*/
|
|
21
|
-
declare const PT_BR_AI_PERMISSION_MODEL: AiPermissionModel;
|
|
22
|
-
/** The pt-BR paste-in prompt, built from the host's own tool names. */
|
|
23
|
-
declare function PT_BR_AI_CONNECT_PROMPT(spec: AiConnectPromptSpec): string;
|
|
24
|
-
|
|
25
|
-
export { PT_BR_AI_CAPABILITIES as P, PT_BR_AI_CONNECT_PROMPT as a, PT_BR_AI_HOST_GUIDES as b, PT_BR_AI_PERMISSION_MODEL as c };
|