@extenshi/mcp 0.17.0 → 0.18.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 +5 -5
- package/dist/pay.d.ts +24 -21
- package/dist/pay.d.ts.map +1 -1
- package/dist/pay.js +14 -12
- package/dist/pay.js.map +1 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -178,21 +178,21 @@ These tools require a backend with standalone Pay support. A development project
|
|
|
178
178
|
| `link_pay_app` | `pay.write` | Link your Pay application to your development project. Existing purchases remain attached to the Pay application. |
|
|
179
179
|
| `unlink_pay_app` | `pay.write` | Remove the optional development-project link without deleting Pay data. |
|
|
180
180
|
| `archive_pay_app` | `pay.write` | Archive your application and stop new checkout. Preserve payment records and existing entitlements. |
|
|
181
|
-
| `export_pay_data` | `pay.read` | Export one page of your application data. Follow nextCursor until null for a complete export. Customer/payment data is sensitive: save only to an author-controlled destination; never paste into public issues. |
|
|
182
|
-
| `get_pay_seller` | `pay.read` | Read seller connection, public profile, offers and publishable SDK key. Agreement signing and KYC require the author in the browser. |
|
|
181
|
+
| `export_pay_data` | `pay.read` | Export one page of your application data. Follow nextCursor until null for a complete export. Offer rows include `sortOrder`, the offer's position on the paywall. Customer/payment data is sensitive: save only to an author-controlled destination; never paste into public issues. |
|
|
182
|
+
| `get_pay_seller` | `pay.read` | Read seller connection, public profile, offers (with `sortOrder`) and publishable SDK key. Agreement signing and KYC require the author in the browser. |
|
|
183
183
|
| `connect_pay_seller` | `pay.write` | Start Stripe Connect onboarding and return a browser action URL. The author must complete KYC and legal acceptance; never do these on their behalf. |
|
|
184
184
|
| `refresh_pay_seller` | `pay.write` | Refresh current payment-provider onboarding status. This does not complete KYC or accept agreements. |
|
|
185
185
|
| `set_pay_seller_profile` | `pay.write` | Save author-confirmed public seller identity, support and terms links. Never invent legal identity or terms. |
|
|
186
|
-
| `upsert_pay_offer` | `pay.write` | Create or update an offer by stable SKU. Price is in minor currency units. Use only the author-approved price, billing interval and features. |
|
|
186
|
+
| `upsert_pay_offer` | `pay.write` | Create or update an offer by stable SKU. On an existing offer, omitted fields keep their stored values: to change only the title or description, send the SKU and the new text, and the price, features and paywall order (`sortOrder`) stay as they are. A new SKU needs `kind`, `amountMinor`, `currency` and `title`. Price is in minor currency units. Use only the author-approved price, billing interval and features. |
|
|
187
187
|
| `archive_pay_offer` | `pay.write` | Stop offering a SKU for new checkout; preserve historical purchases. |
|
|
188
188
|
| `get_pay_offer_translations` | `pay.read` | The offers' title, description and features keyed `<sku>/<field>`, with translation status per project language; the paywall shows an offer in the buyer's browser language when the project ships it. |
|
|
189
|
-
| `set_pay_offer_translations` | `pay.write` | Save one language of the offers' translations; a save whose original changed since it was read is refused. Prices and SKUs are not changed. |
|
|
189
|
+
| `set_pay_offer_translations` | `pay.write` | Save one language of the offers' translations; a save whose original changed since it was read is refused. Answers with the saved language's translations and every language's status; pass `view: "all_locales"` to get every language's translations. Prices and SKUs are not changed. |
|
|
190
190
|
| `set_pay_enabled` | `pay.write` | Explicitly enable or disable new payments. Enabling is a live commerce change: only do so with author authorization and after checking readiness. Backend prerequisites remain enforced. |
|
|
191
191
|
| `rotate_pay_key` | `pay.write` | Generate a new publishable SDK key. Prior keys remain accepted for installed extension builds; this is not secret revocation. Never retry blindly. |
|
|
192
192
|
|
|
193
193
|
### Owner approval on the hosted connector
|
|
194
194
|
|
|
195
|
-
On the hosted connector (OAuth sign-in), the changes that move money or publish to the public are proposals, not immediate edits: `set_pay_enabled`, `upsert_pay_offer`, `archive_pay_offer`, `archive_pay_app`, `set_pay_seller_profile`, `publish_privacy_policy` and `set_legal_translations` (the privacy policy and the license terms). Each returns `status: "pending_approval"` with an `approvalId` and an `approvalUrl`. Nothing changes until the owner opens the link in Dojo and approves it; `get_approval` reports the outcome. A proposal expires after 24 hours (72 for a policy), and a newer proposal for the same thing replaces an older one. For a policy or a translation, the text is stored with the proposal, so the owner approves exactly the words that get published; a translation is also refused if its English text changed in between.
|
|
195
|
+
On the hosted connector (OAuth sign-in), the changes that move money or publish to the public are proposals, not immediate edits: `set_pay_enabled`, `upsert_pay_offer`, `archive_pay_offer`, `archive_pay_app`, `set_pay_seller_profile`, `publish_privacy_policy` and `set_legal_translations` (the privacy policy and the license terms). Each returns `status: "pending_approval"` with an `approvalId` and an `approvalUrl`. Nothing changes until the owner opens the link in Dojo and approves it; `get_approval` reports the outcome. A proposal expires after 24 hours (72 for a policy), and a newer proposal for the same thing replaces an older one. For a policy or a translation, the text is stored with the proposal, so the owner approves exactly the words that get published; a translation is also refused if its English text changed in between. An offer edit that names only some fields is stored with the offer's other terms as they were when it was proposed, price and paywall order included, so the owner approves every term it will save.
|
|
196
196
|
|
|
197
197
|
A local `ek_` API key from [API keys](https://dojo.extenshi.io/api-keys) acts directly, as before: whoever holds it is the owner's own tooling. No tool deletes a project or an extension.
|
|
198
198
|
|
package/dist/pay.d.ts
CHANGED
|
@@ -150,33 +150,33 @@ export declare const paySchemas: {
|
|
|
150
150
|
appId: z.ZodString;
|
|
151
151
|
} & {
|
|
152
152
|
sku: z.ZodString;
|
|
153
|
-
kind: z.ZodEnum<["one_time", "subscription", "lifetime"]
|
|
154
|
-
interval: z.
|
|
155
|
-
amountMinor: z.ZodNumber
|
|
156
|
-
currency: z.ZodEnum<["usd", "eur", "gbp"]
|
|
157
|
-
title: z.ZodString
|
|
158
|
-
description: z.
|
|
159
|
-
features: z.
|
|
160
|
-
sortOrder: z.
|
|
153
|
+
kind: z.ZodOptional<z.ZodEnum<["one_time", "subscription", "lifetime"]>>;
|
|
154
|
+
interval: z.ZodOptional<z.ZodNullable<z.ZodEnum<["month", "year"]>>>;
|
|
155
|
+
amountMinor: z.ZodOptional<z.ZodNumber>;
|
|
156
|
+
currency: z.ZodOptional<z.ZodEnum<["usd", "eur", "gbp"]>>;
|
|
157
|
+
title: z.ZodOptional<z.ZodString>;
|
|
158
|
+
description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
159
|
+
features: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
160
|
+
sortOrder: z.ZodOptional<z.ZodNumber>;
|
|
161
161
|
}, "strict", z.ZodTypeAny, {
|
|
162
162
|
appId: string;
|
|
163
163
|
sku: string;
|
|
164
|
-
kind
|
|
165
|
-
interval
|
|
166
|
-
amountMinor
|
|
167
|
-
currency
|
|
168
|
-
title
|
|
169
|
-
description
|
|
170
|
-
features
|
|
171
|
-
sortOrder
|
|
164
|
+
kind?: "one_time" | "subscription" | "lifetime" | undefined;
|
|
165
|
+
interval?: "month" | "year" | null | undefined;
|
|
166
|
+
amountMinor?: number | undefined;
|
|
167
|
+
currency?: "usd" | "eur" | "gbp" | undefined;
|
|
168
|
+
title?: string | undefined;
|
|
169
|
+
description?: string | null | undefined;
|
|
170
|
+
features?: string[] | undefined;
|
|
171
|
+
sortOrder?: number | undefined;
|
|
172
172
|
}, {
|
|
173
173
|
appId: string;
|
|
174
174
|
sku: string;
|
|
175
|
-
kind
|
|
176
|
-
amountMinor: number;
|
|
177
|
-
currency: "usd" | "eur" | "gbp";
|
|
178
|
-
title: string;
|
|
175
|
+
kind?: "one_time" | "subscription" | "lifetime" | undefined;
|
|
179
176
|
interval?: "month" | "year" | null | undefined;
|
|
177
|
+
amountMinor?: number | undefined;
|
|
178
|
+
currency?: "usd" | "eur" | "gbp" | undefined;
|
|
179
|
+
title?: string | undefined;
|
|
180
180
|
description?: string | null | undefined;
|
|
181
181
|
features?: string[] | undefined;
|
|
182
182
|
sortOrder?: number | undefined;
|
|
@@ -205,16 +205,19 @@ export declare const paySchemas: {
|
|
|
205
205
|
locale: z.ZodString;
|
|
206
206
|
translations: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
207
207
|
sources: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
208
|
+
view: z.ZodDefault<z.ZodEnum<["saved_locale", "all_locales"]>>;
|
|
208
209
|
}, "strict", z.ZodTypeAny, {
|
|
209
210
|
appId: string;
|
|
210
211
|
locale: string;
|
|
211
212
|
translations: Record<string, string>;
|
|
213
|
+
view: "saved_locale" | "all_locales";
|
|
212
214
|
sources?: Record<string, string> | undefined;
|
|
213
215
|
}, {
|
|
214
216
|
appId: string;
|
|
215
217
|
locale: string;
|
|
216
218
|
translations: Record<string, string>;
|
|
217
219
|
sources?: Record<string, string> | undefined;
|
|
220
|
+
view?: "saved_locale" | "all_locales" | undefined;
|
|
218
221
|
}>;
|
|
219
222
|
readonly setPayEnabled: z.ZodObject<{
|
|
220
223
|
appId: z.ZodString;
|
|
@@ -239,7 +242,7 @@ export type PayMethod = keyof typeof paySchemas;
|
|
|
239
242
|
export type PayBff = {
|
|
240
243
|
[M in PayMethod]: (input: z.infer<(typeof paySchemas)[M]>) => Promise<unknown>;
|
|
241
244
|
};
|
|
242
|
-
export declare const PAY_OPERATIONS: readonly [readonly ["listPayApps", "list_pay_apps", "list", "payApp.list", false, "List your independent Pay applications. No development project required. Paginated: nextCursor is set while more results exist."], readonly ["createPayApp", "create_pay_app", "create", "payApp.create", true, "Create an independent Pay application; linking a development project is optional. Not idempotent: each call creates a new application, including a call repeated after a timeout."], readonly ["getPayApp", "get_pay_app", "get", "payApp.get", false, "Read your Pay application and optional project link."], readonly ["getPayReadiness", "get_pay_readiness", "readiness", "payApp.readiness", false, "Check current checkout and launch prerequisites. A passing checkout check does not prove a live external purchase or SDK publication. `warnings` are non-blocking (`ready` ignores them): offer_translations lists offer text not yet translated into the project's languages, with counts per language and fixWith (get_pay_offer_translations → set_pay_offer_translations)."], readonly ["getPayPaymentEvidence", "get_pay_payment_evidence", "payment-evidence", "payApp.paymentEvidence", false, "Read what Extenshi's own payment ledger proves about this application's payment path, per mode: checkout completed, license issued, an installation received the signed license, restored on a second installation, refund revoked. Derived from provider-signed webhooks, not from any report; opaque IDs and timestamps only, no buyer data. Only a live-mode purchase can satisfy a release's payment requirement; test-mode purchases are listed without satisfying it."], readonly ["linkPayApp", "link_pay_app", "link", "payApp.link", true, "Link your Pay application to your development project. Existing purchases remain attached to the Pay application."], readonly ["unlinkPayApp", "unlink_pay_app", "unlink", "payApp.unlink", true, "Remove the optional development-project link without deleting Pay data."], readonly ["archivePayApp", "archive_pay_app", "archive", "payApp.archive", true, "Archive your application and stop new checkout. Payment records and existing entitlements are preserved."], readonly ["exportPayData", "export_pay_data", "export", "payApp.export", false, "Export one page of one resource (offers, payments, subscriptions, entitlements or customers). nextCursor is null on the last page. The output contains sensitive customer and payment data."], readonly ["getPaySeller", "get_pay_seller", "seller", "paySeller.get", false, "Read seller connection, public profile, offers, the publishable SDK key and the public entitlement verification key. Those two keys are the ones meant to be embedded in extension code; secret keys are not part of the response. Agreement signing and KYC take place in the browser."], readonly ["connectPaySeller", "connect_pay_seller", "connect", "paySeller.connect", true, "Start Stripe Connect onboarding and return a browser action URL. KYC and legal acceptance are completed by the author at that URL; this tool does not perform them."], readonly ["refreshPaySeller", "refresh_pay_seller", "refresh", "paySeller.refreshStatus", true, "Refresh current payment-provider onboarding status. This does not complete KYC or accept agreements."], readonly ["setPaySellerProfile", "set_pay_seller_profile", "profile", "paySeller.setPublicProfile", true, "Save the public seller profile: display name, support URL or email, and terms URL. The values are stored as provided and are publicly visible."], readonly ["upsertPayOffer", "upsert_pay_offer", "offer-upsert", "paySeller.upsertOffer", true, "Create or update an offer keyed by a stable SKU. Price is in minor currency units. Subscriptions keep the given billing interval; one-time and lifetime offers store no interval. Price and features are stored as provided. `features` are entitlement keys (e.g. `full`): the SDK checks them with hasFeature and extensions match offers by them, so they stay untranslated; localized paywall bullets come from the extension, via showPaywall({ features }) with text from its _locales. `followUps` names the translations a changed title or description left missing or outdated (set_pay_offer_translations)."], readonly ["archivePayOffer", "archive_pay_offer", "offer-archive", "paySeller.archiveOffer", true, "Stop offering a SKU for new checkout; historical purchases are preserved."], readonly ["getPayOfferTranslations", "get_pay_offer_translations", "offer-translations", "paySeller.getOfferTranslations", false, "Read the translatable text of the application's active offers (title, description) keyed `<sku>/<field>`, with the project's languages and each language's translated, missing and outdated fields. Feature keys are entitlement keys, listed under `notTranslated` and not counted as missing. The paywall shows an offer in the buyer's browser language when the project ships it; the SDK's own buttons and labels are already translated. get_project_state `localization` summarizes this with every other translated surface."], readonly ["setPayOfferTranslations", "set_pay_offer_translations", "offer-translate", "paySeller.setOfferTranslations", true, "Save one language of the offers' translations: `translations` maps `<sku>/<field>` keys from get_pay_offer_translations to text; `sources` (optional) carries the original each was translated from, and a save whose original has changed since is refused. An empty string removes a translation; a `<sku>/feature:<n>` key is refused (TRANSLATIONS_INVALID: features are entitlement keys). Prices, SKUs, plans and feature keys are not changed."], readonly ["setPayEnabled", "set_pay_enabled", "enable", "paySeller.setEnabled", true, "Enable or disable new payments for the application; requires a connected payment provider. Enabling re-reads the seller status from the provider (charges and payouts). It does not verify the public profile, agreement or offer sync: buyers can check out only when every readiness check reported by get_pay_readiness passes. Enabling is a live commerce change."], readonly ["rotatePayKey", "rotate_pay_key", "rotate-key", "paySeller.rotatePublishableKey", true, "Generate a new publishable SDK key. Not idempotent: each call issues another key. Prior keys remain accepted for installed extension builds; this does not revoke any secret."]];
|
|
245
|
+
export declare const PAY_OPERATIONS: readonly [readonly ["listPayApps", "list_pay_apps", "list", "payApp.list", false, "List your independent Pay applications. No development project required. Paginated: nextCursor is set while more results exist."], readonly ["createPayApp", "create_pay_app", "create", "payApp.create", true, "Create an independent Pay application; linking a development project is optional. Not idempotent: each call creates a new application, including a call repeated after a timeout."], readonly ["getPayApp", "get_pay_app", "get", "payApp.get", false, "Read your Pay application and optional project link."], readonly ["getPayReadiness", "get_pay_readiness", "readiness", "payApp.readiness", false, "Check current checkout and launch prerequisites. A passing checkout check does not prove a live external purchase or SDK publication. `warnings` are non-blocking (`ready` ignores them): offer_translations lists offer text not yet translated into the project's languages, with counts per language and fixWith (get_pay_offer_translations → set_pay_offer_translations)."], readonly ["getPayPaymentEvidence", "get_pay_payment_evidence", "payment-evidence", "payApp.paymentEvidence", false, "Read what Extenshi's own payment ledger proves about this application's payment path, per mode: checkout completed, license issued, an installation received the signed license, restored on a second installation, refund revoked. Derived from provider-signed webhooks, not from any report; opaque IDs and timestamps only, no buyer data. Only a live-mode purchase can satisfy a release's payment requirement; test-mode purchases are listed without satisfying it."], readonly ["linkPayApp", "link_pay_app", "link", "payApp.link", true, "Link your Pay application to your development project. Existing purchases remain attached to the Pay application."], readonly ["unlinkPayApp", "unlink_pay_app", "unlink", "payApp.unlink", true, "Remove the optional development-project link without deleting Pay data."], readonly ["archivePayApp", "archive_pay_app", "archive", "payApp.archive", true, "Archive your application and stop new checkout. Payment records and existing entitlements are preserved."], readonly ["exportPayData", "export_pay_data", "export", "payApp.export", false, "Export one page of one resource (offers, payments, subscriptions, entitlements or customers). nextCursor is null on the last page. Offer rows include sortOrder, their position on the paywall (lower shows first). The output contains sensitive customer and payment data."], readonly ["getPaySeller", "get_pay_seller", "seller", "paySeller.get", false, "Read seller connection, public profile, offers (terms, sortOrder, active and sync state), the publishable SDK key and the public entitlement verification key. Those two keys are the ones meant to be embedded in extension code; secret keys are not part of the response. Agreement signing and KYC take place in the browser."], readonly ["connectPaySeller", "connect_pay_seller", "connect", "paySeller.connect", true, "Start Stripe Connect onboarding and return a browser action URL. KYC and legal acceptance are completed by the author at that URL; this tool does not perform them."], readonly ["refreshPaySeller", "refresh_pay_seller", "refresh", "paySeller.refreshStatus", true, "Refresh current payment-provider onboarding status. This does not complete KYC or accept agreements."], readonly ["setPaySellerProfile", "set_pay_seller_profile", "profile", "paySeller.setPublicProfile", true, "Save the public seller profile: display name, support URL or email, and terms URL. The values are stored as provided and are publicly visible."], readonly ["upsertPayOffer", "upsert_pay_offer", "offer-upsert", "paySeller.upsertOffer", true, "Create or update an offer keyed by a stable SKU. On an existing offer every omitted field keeps its stored value: to change only the title or description, send appId, sku and the new text, and the price, features and paywall order (sortOrder) stay as they are; `description: null` clears the description. A new SKU needs kind, amountMinor, currency and title (and interval for a subscription), with sortOrder 0 when omitted (lower shows first). An archived SKU needs the same, since saving it puts it back on sale. Price is in minor currency units. Subscriptions keep the given billing interval; one-time and lifetime offers store no interval. Price and features are stored as provided. `features` are entitlement keys (e.g. `full`): the SDK checks them with hasFeature and extensions match offers by them, so they stay untranslated; localized paywall bullets come from the extension, via showPaywall({ features }) with text from its _locales. `followUps` names the translations a changed title or description left missing or outdated (set_pay_offer_translations)."], readonly ["archivePayOffer", "archive_pay_offer", "offer-archive", "paySeller.archiveOffer", true, "Stop offering a SKU for new checkout; historical purchases are preserved."], readonly ["getPayOfferTranslations", "get_pay_offer_translations", "offer-translations", "paySeller.getOfferTranslations", false, "Read the translatable text of the application's active offers (title, description) keyed `<sku>/<field>`, with the project's languages and each language's translated, missing and outdated fields. Feature keys are entitlement keys, listed under `notTranslated` and not counted as missing. The paywall shows an offer in the buyer's browser language when the project ships it; the SDK's own buttons and labels are already translated. get_project_state `localization` summarizes this with every other translated surface."], readonly ["setPayOfferTranslations", "set_pay_offer_translations", "offer-translate", "paySeller.setOfferTranslations", true, "Save one language of the offers' translations: `translations` maps `<sku>/<field>` keys from get_pay_offer_translations to text; `sources` (optional) carries the original each was translated from, and a save whose original has changed since is refused. An empty string removes a translation; a `<sku>/feature:<n>` key is refused (TRANSLATIONS_INVALID: features are entitlement keys). Prices, SKUs, plans and feature keys are not changed. Answers with the saved language's translations and every language's status (`view: 'saved_locale'`, the default); `view: 'all_locales'` returns every language's translations, as get_pay_offer_translations does."], readonly ["setPayEnabled", "set_pay_enabled", "enable", "paySeller.setEnabled", true, "Enable or disable new payments for the application; requires a connected payment provider. Enabling re-reads the seller status from the provider (charges and payouts). It does not verify the public profile, agreement or offer sync: buyers can check out only when every readiness check reported by get_pay_readiness passes. Enabling is a live commerce change."], readonly ["rotatePayKey", "rotate_pay_key", "rotate-key", "paySeller.rotatePublishableKey", true, "Generate a new publishable SDK key. Not idempotent: each call issues another key. Prior keys remain accepted for installed extension builds; this does not revoke any secret."]];
|
|
243
246
|
/** The legacy seller API uses projectId as the payment namespace. Never substitute a linked project ID. */
|
|
244
247
|
export declare function payWireInput(method: PayMethod, input: Record<string, unknown>): Record<string, unknown>;
|
|
245
248
|
//# sourceMappingURL=pay.d.ts.map
|
package/dist/pay.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../src/pay.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAavB,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../src/pay.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAavB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Db,CAAA;AACV,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,UAAU,CAAA;AAC/C,MAAM,MAAM,MAAM,GAAG;KAAG,CAAC,IAAI,SAAS,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;CAAE,CAAA;AACvG,eAAO,MAAM,cAAc,69NAyJjB,CAAA;AAEV,2GAA2G;AAC3G,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIvG"}
|
package/dist/pay.js
CHANGED
|
@@ -49,16 +49,17 @@ export const paySchemas = {
|
|
|
49
49
|
})
|
|
50
50
|
.strict(),
|
|
51
51
|
}),
|
|
52
|
+
// No defaults: an omitted field keeps the stored offer's value, so a default here would overwrite it.
|
|
52
53
|
upsertPayOffer: app.extend({
|
|
53
54
|
sku,
|
|
54
|
-
kind: z.enum(['one_time', 'subscription', 'lifetime']),
|
|
55
|
-
interval: z.enum(['month', 'year']).nullable().
|
|
56
|
-
amountMinor: z.number().int().min(199).max(100_000_00),
|
|
57
|
-
currency: z.enum(['usd', 'eur', 'gbp']),
|
|
58
|
-
title: z.string().trim().min(1).max(80),
|
|
59
|
-
description: z.string().trim().max(500).nullable().
|
|
60
|
-
features: z.array(z.string().trim().min(1).max(60)).max(20).
|
|
61
|
-
sortOrder: z.number().int().min(0).max(1000).
|
|
55
|
+
kind: z.enum(['one_time', 'subscription', 'lifetime']).optional(),
|
|
56
|
+
interval: z.enum(['month', 'year']).nullable().optional(),
|
|
57
|
+
amountMinor: z.number().int().min(199).max(100_000_00).optional(),
|
|
58
|
+
currency: z.enum(['usd', 'eur', 'gbp']).optional(),
|
|
59
|
+
title: z.string().trim().min(1).max(80).optional(),
|
|
60
|
+
description: z.string().trim().max(500).nullable().optional(),
|
|
61
|
+
features: z.array(z.string().trim().min(1).max(60)).max(20).optional(),
|
|
62
|
+
sortOrder: z.number().int().min(0).max(1000).optional(),
|
|
62
63
|
}),
|
|
63
64
|
archivePayOffer: app.extend({ sku }),
|
|
64
65
|
getPayOfferTranslations: app,
|
|
@@ -66,6 +67,7 @@ export const paySchemas = {
|
|
|
66
67
|
locale: z.string().max(35),
|
|
67
68
|
translations: z.record(z.string().max(120), z.string().max(500)),
|
|
68
69
|
sources: z.record(z.string().max(120), z.string().max(500)).optional(),
|
|
70
|
+
view: z.enum(['saved_locale', 'all_locales']).default('saved_locale'),
|
|
69
71
|
}),
|
|
70
72
|
setPayEnabled: app.extend({ enabled: z.boolean() }),
|
|
71
73
|
rotatePayKey: app,
|
|
@@ -141,7 +143,7 @@ export const PAY_OPERATIONS = [
|
|
|
141
143
|
'export',
|
|
142
144
|
'payApp.export',
|
|
143
145
|
false,
|
|
144
|
-
'Export one page of one resource (offers, payments, subscriptions, entitlements or customers). nextCursor is null on the last page. The output contains sensitive customer and payment data.',
|
|
146
|
+
'Export one page of one resource (offers, payments, subscriptions, entitlements or customers). nextCursor is null on the last page. Offer rows include sortOrder, their position on the paywall (lower shows first). The output contains sensitive customer and payment data.',
|
|
145
147
|
],
|
|
146
148
|
[
|
|
147
149
|
'getPaySeller',
|
|
@@ -149,7 +151,7 @@ export const PAY_OPERATIONS = [
|
|
|
149
151
|
'seller',
|
|
150
152
|
'paySeller.get',
|
|
151
153
|
false,
|
|
152
|
-
'Read seller connection, public profile, offers, the publishable SDK key and the public entitlement verification key. Those two keys are the ones meant to be embedded in extension code; secret keys are not part of the response. Agreement signing and KYC take place in the browser.',
|
|
154
|
+
'Read seller connection, public profile, offers (terms, sortOrder, active and sync state), the publishable SDK key and the public entitlement verification key. Those two keys are the ones meant to be embedded in extension code; secret keys are not part of the response. Agreement signing and KYC take place in the browser.',
|
|
153
155
|
],
|
|
154
156
|
[
|
|
155
157
|
'connectPaySeller',
|
|
@@ -181,7 +183,7 @@ export const PAY_OPERATIONS = [
|
|
|
181
183
|
'offer-upsert',
|
|
182
184
|
'paySeller.upsertOffer',
|
|
183
185
|
true,
|
|
184
|
-
'Create or update an offer keyed by a stable SKU. Price is in minor currency units. Subscriptions keep the given billing interval; one-time and lifetime offers store no interval. Price and features are stored as provided. `features` are entitlement keys (e.g. `full`): the SDK checks them with hasFeature and extensions match offers by them, so they stay untranslated; localized paywall bullets come from the extension, via showPaywall({ features }) with text from its _locales. `followUps` names the translations a changed title or description left missing or outdated (set_pay_offer_translations).',
|
|
186
|
+
'Create or update an offer keyed by a stable SKU. On an existing offer every omitted field keeps its stored value: to change only the title or description, send appId, sku and the new text, and the price, features and paywall order (sortOrder) stay as they are; `description: null` clears the description. A new SKU needs kind, amountMinor, currency and title (and interval for a subscription), with sortOrder 0 when omitted (lower shows first). An archived SKU needs the same, since saving it puts it back on sale. Price is in minor currency units. Subscriptions keep the given billing interval; one-time and lifetime offers store no interval. Price and features are stored as provided. `features` are entitlement keys (e.g. `full`): the SDK checks them with hasFeature and extensions match offers by them, so they stay untranslated; localized paywall bullets come from the extension, via showPaywall({ features }) with text from its _locales. `followUps` names the translations a changed title or description left missing or outdated (set_pay_offer_translations).',
|
|
185
187
|
],
|
|
186
188
|
[
|
|
187
189
|
'archivePayOffer',
|
|
@@ -205,7 +207,7 @@ export const PAY_OPERATIONS = [
|
|
|
205
207
|
'offer-translate',
|
|
206
208
|
'paySeller.setOfferTranslations',
|
|
207
209
|
true,
|
|
208
|
-
"Save one language of the offers' translations: `translations` maps `<sku>/<field>` keys from get_pay_offer_translations to text; `sources` (optional) carries the original each was translated from, and a save whose original has changed since is refused. An empty string removes a translation; a `<sku>/feature:<n>` key is refused (TRANSLATIONS_INVALID: features are entitlement keys). Prices, SKUs, plans and feature keys are not changed.",
|
|
210
|
+
"Save one language of the offers' translations: `translations` maps `<sku>/<field>` keys from get_pay_offer_translations to text; `sources` (optional) carries the original each was translated from, and a save whose original has changed since is refused. An empty string removes a translation; a `<sku>/feature:<n>` key is refused (TRANSLATIONS_INVALID: features are entitlement keys). Prices, SKUs, plans and feature keys are not changed. Answers with the saved language's translations and every language's status (`view: 'saved_locale'`, the default); `view: 'all_locales'` returns every language's translations, as get_pay_offer_translations does.",
|
|
209
211
|
],
|
|
210
212
|
[
|
|
211
213
|
'setPayEnabled',
|
package/dist/pay.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pay.js","sourceRoot":"","sources":["../src/pay.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pay.js","sourceRoot":"","sources":["../src/pay.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@extenshi/mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.18.0",
|
|
4
4
|
"description": "Extenshi MCP server — bring the extension catalog (search, security, market research) and pre-publish scanning into your AI tools",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -68,12 +68,12 @@
|
|
|
68
68
|
"dependencies": {
|
|
69
69
|
"@extenshi/contracts": "^0.2.1",
|
|
70
70
|
"@extenshi/publisher": "^0.9.0",
|
|
71
|
-
"@posthog/mcp": "0.
|
|
72
|
-
"@trpc/client": "^11.
|
|
73
|
-
"@trpc/server": "^11.
|
|
74
|
-
"fastmcp": "^4.
|
|
75
|
-
"posthog-node": "^5.
|
|
76
|
-
"undici": "^7.30.
|
|
71
|
+
"@posthog/mcp": "0.25.0",
|
|
72
|
+
"@trpc/client": "^11.22.1",
|
|
73
|
+
"@trpc/server": "^11.22.1",
|
|
74
|
+
"fastmcp": "^4.23.8",
|
|
75
|
+
"posthog-node": "^5.60.0",
|
|
76
|
+
"undici": "^7.30.1",
|
|
77
77
|
"zod": "^3.25.76",
|
|
78
78
|
"zod-to-json-schema": "^3.25.2"
|
|
79
79
|
},
|