@extenshi/mcp 0.21.0 → 0.22.1
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 +11 -5
- package/dist/bff.d.ts +39 -1
- package/dist/bff.d.ts.map +1 -1
- package/dist/bff.js +5 -0
- package/dist/bff.js.map +1 -1
- package/dist/development-guide.d.ts +36 -24
- package/dist/development-guide.d.ts.map +1 -1
- package/dist/development-guide.js +24 -4
- package/dist/development-guide.js.map +1 -1
- package/dist/feedback-form-tools.d.ts +101 -0
- package/dist/feedback-form-tools.d.ts.map +1 -0
- package/dist/feedback-form-tools.js +189 -0
- package/dist/feedback-form-tools.js.map +1 -0
- package/dist/pay.d.ts +15 -1
- package/dist/pay.d.ts.map +1 -1
- package/dist/pay.js +18 -3
- package/dist/pay.js.map +1 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +13 -7
- package/dist/tools.js.map +1 -1
- package/package.json +2 -2
|
@@ -68,10 +68,10 @@ export declare const DEVELOPMENT_SERVICES: readonly [{
|
|
|
68
68
|
readonly urls: readonly [string, string, string];
|
|
69
69
|
}, {
|
|
70
70
|
readonly id: "onboarding";
|
|
71
|
-
readonly purpose: "Welcome page, pin guide, install instructions and uninstall survey, with verified URLs wired into the extension.";
|
|
72
|
-
readonly tools: readonly ["generate_welcome_page_workflow", "generate_pin_guide", "get_project_state", "get_install_instructions", "publish_install_instructions", "unpublish_install_instructions", "get_page_translations", "set_page_translations", "list_uninstall_forms", "get_uninstall_form", "update_uninstall_form", "preview_uninstall_form", "list_uninstall_responses", "find_brand_mentions"];
|
|
73
|
-
readonly access: "Free welcome-page specification and pin guide kit (generate_pin_guide: offline SVG, CSP-safe HTML and chrome.i18n captions in 11 languages for a welcome page bundled in the extension). Editing, hosting and responses live in the cabinet where enabled; account/project limits apply. MCP returns specifications and saved state, and publishes the install instructions page (free; hosted.write) — the uninstall form is created and the welcome page is edited in the cabinet. An existing uninstall survey is read, previewed and changed over MCP (list/get/preview_uninstall_form; update_uninstall_form with dryRun, expectedUpdatedAt and an idempotencyKey; hosted.write), keeping its URL and responses; each change is listed for the owner in Dojo. Its answers are read with list_uninstall_responses (project.read): newest first, filtered by version and date, with counts by reason and version and the uninstalls that reached the page; the email a person left is returned to an API key only. After a rename, find_brand_mentions lists every hosted field still holding the old name and the tool that fixes it; get_project_state reports the same on its own in `staleNames`: the project keeps every name it took (Dojo settings, import_manifest), so earlier names are searched without being asked for. The hosted uninstall form, welcome page and install instructions open in the user’s browser language (the generated snippets pass chrome.i18n.getUILanguage() as `hl`) when the project offers it, otherwise in the project’s own language: built-in text is translated by Extenshi (en + 10 languages); the developer’s own text is translated per field with get_page_translations / set_page_translations (identity; hosted.write to save).";
|
|
74
|
-
readonly urls: readonly [string, string, string, string, string, string, string, string, string];
|
|
71
|
+
readonly purpose: "Welcome page, pin guide, install instructions, feedback form and uninstall survey, with verified URLs wired into the extension.";
|
|
72
|
+
readonly tools: readonly ["generate_welcome_page_workflow", "generate_pin_guide", "get_project_state", "get_install_instructions", "publish_install_instructions", "unpublish_install_instructions", "get_page_translations", "set_page_translations", "list_uninstall_forms", "get_uninstall_form", "update_uninstall_form", "preview_uninstall_form", "list_uninstall_responses", "list_feedback_forms", "get_feedback_form", "update_feedback_form", "preview_feedback_form", "list_feedback_responses", "find_brand_mentions"];
|
|
73
|
+
readonly access: "Free welcome-page specification and pin guide kit (generate_pin_guide: offline SVG, CSP-safe HTML and chrome.i18n captions in 11 languages for a welcome page bundled in the extension). Editing, hosting and responses live in the cabinet where enabled; account/project limits apply. MCP returns specifications and saved state, and publishes the install instructions page (free; hosted.write) — the uninstall form is created and the welcome page is edited in the cabinet. An existing uninstall survey is read, previewed and changed over MCP (list/get/preview_uninstall_form; update_uninstall_form with dryRun, expectedUpdatedAt and an idempotencyKey; hosted.write), keeping its URL and responses; each change is listed for the owner in Dojo. Its answers are read with list_uninstall_responses (project.read): newest first, filtered by version and date, with counts by reason and version and the uninstalls that reached the page; the email a person left is returned to an API key only. The feedback form (feedback.extenshi.io) is the same engine for users who still have the extension: it is created in the cabinet, opened from Options, the popup (\"Doesn’t work on this site?\" with `cat=site_not_working&site=<hostname>`), the trial-ended screen or a rating nudge, reads only the parameters v, src, cat, browser, lang and site, and is read, previewed, changed (update_feedback_form, hosted.write) and its answers listed (list_feedback_responses, filters by category, source, version and date) over MCP; its link is FEEDBACK_FORM_URL in the integration config, and REVIEW_URLS holds the review pages of the published store listings. While get_project_state lists FEEDBACK_FORM_URL in integration.unwired the project has no form: offer one to the author (they create it in the cabinet; never invent the URL), then wire the openSnippet from get_feedback_form into Options and the popup. After a rename, find_brand_mentions lists every hosted field still holding the old name and the tool that fixes it; get_project_state reports the same on its own in `staleNames`: the project keeps every name it took (Dojo settings, import_manifest), so earlier names are searched without being asked for. The hosted uninstall form, welcome page and install instructions open in the user’s browser language (the generated snippets pass chrome.i18n.getUILanguage() as `hl`) when the project offers it, otherwise in the project’s own language: built-in text is translated by Extenshi (en + 10 languages); the developer’s own text is translated per field with get_page_translations / set_page_translations (identity; hosted.write to save).";
|
|
74
|
+
readonly urls: readonly [string, string, string, string, string, string, string, string, string, string];
|
|
75
75
|
}, {
|
|
76
76
|
readonly id: "listing-and-marketing";
|
|
77
77
|
readonly purpose: "Listing copy, screenshots, landing page, support links and AI discovery assets.";
|
|
@@ -93,15 +93,21 @@ export declare const DEVELOPMENT_SERVICES: readonly [{
|
|
|
93
93
|
}, {
|
|
94
94
|
readonly id: "maintenance";
|
|
95
95
|
readonly purpose: "Listing claims, finding responses, reviews and uninstall feedback, policy updates and ongoing releases.";
|
|
96
|
-
readonly tools: readonly ["get_reviews", "get_security", "get_project_state", "list_uninstall_responses"];
|
|
96
|
+
readonly tools: readonly ["get_reviews", "get_security", "get_project_state", "list_uninstall_responses", "list_feedback_responses"];
|
|
97
97
|
readonly access: "Catalog reads are metered. Ownership, declarations, responses, badges and feedback management live in the cabinet and depend on account access.";
|
|
98
98
|
readonly urls: readonly [string, string, string, string, string];
|
|
99
99
|
}, {
|
|
100
100
|
readonly id: "monetization";
|
|
101
101
|
readonly purpose: "Optional paid-feature integration: seller setup, offers, checkout, signed entitlements and purchase verification.";
|
|
102
|
-
readonly tools: readonly ["list_pay_apps", "create_pay_app", "get_pay_app", "get_pay_readiness", "get_pay_payment_evidence", "link_pay_app", "unlink_pay_app", "archive_pay_app", "export_pay_data", "get_pay_seller", "connect_pay_seller", "refresh_pay_seller", "set_pay_seller_profile", "upsert_pay_offer", "archive_pay_offer", "get_pay_offer_translations", "set_pay_offer_translations", "set_pay_enabled", "rotate_pay_key", "get_license_terms_questionnaire", "draft_license_terms", "get_license_terms", "save_license_terms_draft", "request_license_terms_publication", "publish_license_terms", "verify_license_terms_live", "rollback_license_terms"];
|
|
102
|
+
readonly tools: readonly ["list_pay_apps", "create_pay_app", "get_pay_app", "get_pay_readiness", "get_pay_payment_evidence", "link_pay_app", "unlink_pay_app", "archive_pay_app", "export_pay_data", "get_pay_seller", "connect_pay_seller", "refresh_pay_seller", "set_pay_seller_profile", "upsert_pay_offer", "archive_pay_offer", "get_pay_offer_translations", "set_pay_offer_translations", "set_pay_enabled", "set_pay_trial", "rotate_pay_key", "get_license_terms_questionnaire", "draft_license_terms", "get_license_terms", "save_license_terms_draft", "request_license_terms_publication", "publish_license_terms", "verify_license_terms_live", "rollback_license_terms"];
|
|
103
103
|
readonly access: "Pay applications work independently of development projects. Explicit pay.read/pay.write permission is required; older connections and API keys have no Pay grant. The exceptions are get_license_terms_questionnaire and draft_license_terms: they need only project read access because they return the questions and an unsaved draft built from the answers in the call, not saved answers or Pay state. The saved terms are read with get_license_terms (pay.read) and saved with save_license_terms_draft (pay.write); the seller identity answers stay the owner’s. Publication goes through the owner: request_license_terms_publication returns an approval link, and the owner’s approval can also decide seller.terms. Only a developer key with the separate pay.legal.publish permission publishes directly (publish_license_terms, not on the hosted connector). verify_license_terms_live checks the page, the paywall links and the seller.terms decision; rollback_license_terms brings an earlier version back the same two ways. Readiness (get_pay_readiness) and the actual SDK distribution determine whether integration is possible. The author completes the seller agreement and Stripe KYC in the browser. Checkout is enabled only after offers and profile are configured, and only with explicit authorization. Registration does not prove production deployment or npm publication.";
|
|
104
104
|
readonly urls: readonly [string, "https://dojo.extenshi.io/payments"];
|
|
105
|
+
}, {
|
|
106
|
+
readonly id: "settings-storage";
|
|
107
|
+
readonly purpose: "Optional settings storage: @extenshi/storage keeps one record per key in chrome.storage on the device. Buyers of a license sold through Extenshi Pay can also turn on a cloud backup that restores their settings after a reinstall or in another browser.";
|
|
108
|
+
readonly tools: readonly [];
|
|
109
|
+
readonly access: "An npm package with no MCP tools; local storage needs no account. Cloud backup ships in @extenshi/storage 0.2.0 with @extenshi/pay 0.11.0, so check `npm view @extenshi/storage version` before offering it. It also needs a Pay application whose owner turned backup on in Dojo.";
|
|
110
|
+
readonly urls: readonly [string];
|
|
105
111
|
}];
|
|
106
112
|
/** Top-level sections of the full guide, selectable via the `sections` parameter. */
|
|
107
113
|
export declare const GUIDE_SECTIONS: readonly ["tools", "localActions", "services", "repository", "workflow", "buildMap", "handoff", "storeMedia"];
|
|
@@ -123,89 +129,95 @@ declare function buildSections(registeredTools: readonly GuideTool[]): {
|
|
|
123
129
|
docs: string;
|
|
124
130
|
}[];
|
|
125
131
|
services: ({
|
|
126
|
-
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
132
|
+
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "set_pay_trial" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "list_feedback_forms" | "get_feedback_form" | "update_feedback_form" | "preview_feedback_form" | "list_feedback_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
127
133
|
id: "documentation";
|
|
128
134
|
purpose: "Capabilities, extension shapes, exact CLI commands and reusable skill packages.";
|
|
129
135
|
access: "Free reference; no API key. Hosted transport still requires connector sign-in.";
|
|
130
136
|
urls: readonly [string, string, string];
|
|
131
137
|
} | {
|
|
132
|
-
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
138
|
+
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "set_pay_trial" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "list_feedback_forms" | "get_feedback_form" | "update_feedback_form" | "preview_feedback_form" | "list_feedback_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
133
139
|
id: "account";
|
|
134
140
|
purpose: "Sign-in, API keys for local tools, credit-pool balances ahead of paid work and where a proposed change (a pending_approval response) stands.";
|
|
135
141
|
access: "Balance lookup and get_approval are free and require identity; get_approval reads only the signed-in account’s own proposals. Catalog reads and scans use credit pools.";
|
|
136
142
|
urls: readonly [string, "https://dojo.extenshi.io/api-keys", "https://dojo.extenshi.io/billing"];
|
|
137
143
|
} | {
|
|
138
|
-
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
144
|
+
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "set_pay_trial" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "list_feedback_forms" | "get_feedback_form" | "update_feedback_form" | "preview_feedback_form" | "list_feedback_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
139
145
|
id: "research";
|
|
140
146
|
purpose: "Demand, competitors, user complaints, permissions and existing security findings.";
|
|
141
147
|
access: "Identity required. Catalog tools cost 1 read per call; get_security costs 3. Bulk risk: up to 40 per call. Chrome review text is unavailable; its aggregate rating is available.";
|
|
142
148
|
urls: readonly [string, "https://catalog.extenshi.io"];
|
|
143
149
|
} | {
|
|
144
|
-
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
150
|
+
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "set_pay_trial" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "list_feedback_forms" | "get_feedback_form" | "update_feedback_form" | "preview_feedback_form" | "list_feedback_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
145
151
|
id: "projects";
|
|
146
152
|
purpose: "Existing projects: selected browser types, manifests, repository binding, saved tool state, hosted URLs and starter files.";
|
|
147
153
|
access: "Own-project MCP reads are free and require identity. Projects are created in the cabinet or with create_project (idempotent, project.write). Owner decisions (AMO add-on id, license, seller identity, pricing, targets) are proposed by agents and decided only by the owner in the cabinet; release readiness reports undecided ones as blockers. Repository metadata, source/built manifests and scope synchronize through typed revisioned patches. project.write, evidence.write and hosted.write require explicit OAuth consent. Repository metadata does not grant GitHub access. CI evidence (source=ci) is written only by the verified ingest endpoint, which authenticates with a secret from create_ci_ingest_secret. Automated release-readiness access requires a Pro project.";
|
|
148
154
|
urls: readonly [string, "https://dojo.extenshi.io/projects", "https://dojo.extenshi.io/integrations"];
|
|
149
155
|
} | {
|
|
150
|
-
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
156
|
+
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "set_pay_trial" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "list_feedback_forms" | "get_feedback_form" | "update_feedback_form" | "preview_feedback_form" | "list_feedback_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
151
157
|
id: "manifest";
|
|
152
158
|
purpose: "Minimum permissions, target browsers and manifest entries, with every referenced file present.";
|
|
153
159
|
access: "Free template reference; project reads require identity. The cabinet also has a manifest editor.";
|
|
154
160
|
urls: readonly [string, string];
|
|
155
161
|
} | {
|
|
156
|
-
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
162
|
+
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "set_pay_trial" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "list_feedback_forms" | "get_feedback_form" | "update_feedback_form" | "preview_feedback_form" | "list_feedback_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
157
163
|
id: "localization";
|
|
158
164
|
purpose: "Translation of the extension’s own messages (local _locales files) and of the text stored on Extenshi: Pay offers, license terms, privacy policy, hosted pages and the landing page.";
|
|
159
165
|
access: "localize_workflow is a free static reference for the local _locales files only; local CLI validation requires no key or Extenshi credits, and translation uses the developer's own provider. Text stored on Extenshi is listed in get_project_state `localization`: every surface with missing and outdated counts per language and fixWith (its read and write tool); Pay surfaces need pay.read. Offer `features` are entitlement keys and stay untranslated.";
|
|
160
166
|
urls: readonly [string];
|
|
161
167
|
} | {
|
|
162
|
-
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
168
|
+
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "set_pay_trial" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "list_feedback_forms" | "get_feedback_form" | "update_feedback_form" | "preview_feedback_form" | "list_feedback_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
163
169
|
id: "icons";
|
|
164
170
|
purpose: "SVG icon design, toolbar-size preview and store-asset export with the local CLI.";
|
|
165
171
|
access: "Free. Drawing, browser preview and file export happen locally; the cabinet offers its own icon generator subject to availability and credits.";
|
|
166
172
|
urls: readonly [string, string];
|
|
167
173
|
} | {
|
|
168
|
-
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
174
|
+
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "set_pay_trial" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "list_feedback_forms" | "get_feedback_form" | "update_feedback_form" | "preview_feedback_form" | "list_feedback_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
169
175
|
id: "privacy";
|
|
170
176
|
purpose: "A policy that reflects actual data practices: generated and exported, or hosted with version history.";
|
|
171
177
|
access: "Hosted policy tools require an owned Pro project. Version reads spend no credit; AI updates have a per-project daily limit. publish_privacy_policy changes the live page. The browser generator supports export. The English policy (and Pay license terms) is the binding text at the base URL; translated copies for the project’s languages live at <url>/<locale> with a notice linking to the English original — Extenshi translates its template text, the developer translates edited sections and free-text answers with get_legal_translations / set_legal_translations.";
|
|
172
178
|
urls: readonly [string, string, string];
|
|
173
179
|
} | {
|
|
174
|
-
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
180
|
+
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "set_pay_trial" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "list_feedback_forms" | "get_feedback_form" | "update_feedback_form" | "preview_feedback_form" | "list_feedback_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
175
181
|
id: "onboarding";
|
|
176
|
-
purpose: "Welcome page, pin guide, install instructions and uninstall survey, with verified URLs wired into the extension.";
|
|
177
|
-
access: "Free welcome-page specification and pin guide kit (generate_pin_guide: offline SVG, CSP-safe HTML and chrome.i18n captions in 11 languages for a welcome page bundled in the extension). Editing, hosting and responses live in the cabinet where enabled; account/project limits apply. MCP returns specifications and saved state, and publishes the install instructions page (free; hosted.write) — the uninstall form is created and the welcome page is edited in the cabinet. An existing uninstall survey is read, previewed and changed over MCP (list/get/preview_uninstall_form; update_uninstall_form with dryRun, expectedUpdatedAt and an idempotencyKey; hosted.write), keeping its URL and responses; each change is listed for the owner in Dojo. Its answers are read with list_uninstall_responses (project.read): newest first, filtered by version and date, with counts by reason and version and the uninstalls that reached the page; the email a person left is returned to an API key only. After a rename, find_brand_mentions lists every hosted field still holding the old name and the tool that fixes it; get_project_state reports the same on its own in `staleNames`: the project keeps every name it took (Dojo settings, import_manifest), so earlier names are searched without being asked for. The hosted uninstall form, welcome page and install instructions open in the user’s browser language (the generated snippets pass chrome.i18n.getUILanguage() as `hl`) when the project offers it, otherwise in the project’s own language: built-in text is translated by Extenshi (en + 10 languages); the developer’s own text is translated per field with get_page_translations / set_page_translations (identity; hosted.write to save).";
|
|
178
|
-
urls: readonly [string, string, string, string, string, string, string, string, string];
|
|
182
|
+
purpose: "Welcome page, pin guide, install instructions, feedback form and uninstall survey, with verified URLs wired into the extension.";
|
|
183
|
+
access: "Free welcome-page specification and pin guide kit (generate_pin_guide: offline SVG, CSP-safe HTML and chrome.i18n captions in 11 languages for a welcome page bundled in the extension). Editing, hosting and responses live in the cabinet where enabled; account/project limits apply. MCP returns specifications and saved state, and publishes the install instructions page (free; hosted.write) — the uninstall form is created and the welcome page is edited in the cabinet. An existing uninstall survey is read, previewed and changed over MCP (list/get/preview_uninstall_form; update_uninstall_form with dryRun, expectedUpdatedAt and an idempotencyKey; hosted.write), keeping its URL and responses; each change is listed for the owner in Dojo. Its answers are read with list_uninstall_responses (project.read): newest first, filtered by version and date, with counts by reason and version and the uninstalls that reached the page; the email a person left is returned to an API key only. The feedback form (feedback.extenshi.io) is the same engine for users who still have the extension: it is created in the cabinet, opened from Options, the popup (\"Doesn’t work on this site?\" with `cat=site_not_working&site=<hostname>`), the trial-ended screen or a rating nudge, reads only the parameters v, src, cat, browser, lang and site, and is read, previewed, changed (update_feedback_form, hosted.write) and its answers listed (list_feedback_responses, filters by category, source, version and date) over MCP; its link is FEEDBACK_FORM_URL in the integration config, and REVIEW_URLS holds the review pages of the published store listings. While get_project_state lists FEEDBACK_FORM_URL in integration.unwired the project has no form: offer one to the author (they create it in the cabinet; never invent the URL), then wire the openSnippet from get_feedback_form into Options and the popup. After a rename, find_brand_mentions lists every hosted field still holding the old name and the tool that fixes it; get_project_state reports the same on its own in `staleNames`: the project keeps every name it took (Dojo settings, import_manifest), so earlier names are searched without being asked for. The hosted uninstall form, welcome page and install instructions open in the user’s browser language (the generated snippets pass chrome.i18n.getUILanguage() as `hl`) when the project offers it, otherwise in the project’s own language: built-in text is translated by Extenshi (en + 10 languages); the developer’s own text is translated per field with get_page_translations / set_page_translations (identity; hosted.write to save).";
|
|
184
|
+
urls: readonly [string, string, string, string, string, string, string, string, string, string];
|
|
179
185
|
} | {
|
|
180
|
-
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
186
|
+
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "set_pay_trial" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "list_feedback_forms" | "get_feedback_form" | "update_feedback_form" | "preview_feedback_form" | "list_feedback_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
181
187
|
id: "listing-and-marketing";
|
|
182
188
|
purpose: "Listing copy, screenshots, landing page, support links and AI discovery assets.";
|
|
183
189
|
access: "The landing-page generator is free and offline: it returns static HTML (CLI: extenshi page generate). Schema v2 (schemaVersion 2) makes it a full homepage: ordered sections (hero, about, features, screenshots, how-it-works, pricing bound to Pay offers by SKU, FAQ with FAQPage JSON-LD, attributed testimonials only, store badges, changelog, links), theme tokens from allowlists, SEO/OG fields, per-locale pages with hreflang, and llms.txt — all declarative, no HTML or JS. draft_landing_page (project.read; CLI: extenshi page draft) builds a v2 form from project state and lists what it could not fill; preview_landing_page (CLI: extenshi page preview) validates and renders exactly what publish would serve, with a path and fix per problem. The same page can be hosted by Extenshi at page.extenshi.io/{code} with publish_landing_page (identity and hosted.write; CLI: extenshi page publish), which also registers it as the project homepage; every publish is a version (list_landing_page_versions / rollback_landing_page; CLI: extenshi page versions / rollback). A custom domain (Pro, one per project; set/verify/get/remove_custom_domain, CLI: extenshi domain add|verify|status|remove) serves the homepage at the domain root after a TXT ownership check and an HTTPS certificate, and switches its canonical and HOMEPAGE_URL; ownership is re-checked every 6 hours and a domain that loses its TXT record is suspended; images there are store screenshots, Dojo uploads or files uploaded with upload_project_media (hosted.write; CLI: extenshi media upload, or page publish --upload-local) to the project's public media store. Store screenshots per locale come from CLI extenshi screenshots and listing artwork from CLI extenshi icon store-assets (formats and sizes: guide section storeMedia). A page hosted elsewhere on HTTPS is registered with upsert_hosted_page (CLI: extenshi page register). The registered homepage feeds HOMEPAGE_URL. Listing copy and store-risk review are covered by CLI generate-listing / review-risk and cabinet tools where enabled. MCP has no listing or SEO execution tool.";
|
|
184
190
|
urls: readonly [string, string, string, string, string, string];
|
|
185
191
|
} | {
|
|
186
|
-
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
192
|
+
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "set_pay_trial" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "list_feedback_forms" | "get_feedback_form" | "update_feedback_form" | "preview_feedback_form" | "list_feedback_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
187
193
|
id: "verification-and-ci";
|
|
188
194
|
purpose: "Reproducible per-browser packages, installed smoke tests of the exact package in Chromium, Edge and Firefox, store-risk review, final package scan, and release evidence recorded from those results.";
|
|
189
195
|
access: "Local CLI, free: `extenshi package <dir> --browser chrome,edge,firefox` writes byte-reproducible zips plus extenshi-packages.json (sha256 per browser; refuses a placeholder Firefox add-on ID; --fix-war expands wildcard web_accessible_resources). `extenshi test smoke <zip|extenshi-packages.json> --browser chromium|edge|firefox --json` installs that exact zip and checks service worker/background start, manifest errors and console errors on popup/options pages (Playwright for Chromium/Edge, any Firefox binary). `extenshi test run <zip|extenshi-packages.json> --browser chromium|edge|firefox [--scenario <file>] --json` runs the scenarios of extenshi.tests.json against that exact zip and prints one extenshi.test-cell result (Firefox runs only open, wait, waitSettle and expectNoConsoleError so far). `extenshi test scenarios draft <package>` presses up to 6 labelled controls per extension page, writes the control inventory to .extenshi/recon.json and evidence-quoted scenarios to extenshi.tests.draft.json; `extenshi test scenarios prompt <package>` prints a brief from which a coding agent writes extenshi.tests.agent.json plus extenshi.tests.agent.md with a mandatory \"Not checked and why\" section; `extenshi test scenarios migrate` turns a scenes.json into extenshi.tests.json. Drafted and agent-written scenarios run as not written by the author (evidence required, no eval or init, destructive-looking controls refused) until the author copies them into extenshi.tests.json. `--evidence` on scan, review-risk, generate-listing, test smoke and screenshots records scan / permissions / listing (per locale) / installed / screenshots (per locale and store) evidence for the project bound with `extenshi project bind` (advisory listing findings stay passed and are listed in the evidence summary); release prepare accepts extenshi-packages.json. Scan requires an API key and spends 1 scan credit. CI: the scaffold writes .github/workflows/extenshi-verify.yml and extenshi-evidence.yml; CI-sourced evidence arrives through `extenshi evidence ingest` with the create_ci_ingest_secret secret.";
|
|
190
196
|
urls: readonly [string, string, string];
|
|
191
197
|
} | {
|
|
192
|
-
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
198
|
+
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "set_pay_trial" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "list_feedback_forms" | "get_feedback_form" | "update_feedback_form" | "preview_feedback_form" | "list_feedback_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
193
199
|
id: "publishing";
|
|
194
200
|
purpose: "Store credential validation, submission of the exact tested package to Chrome Web Store, Firefox Add-ons and/or Edge Add-ons, and verification of review status and the public listing.";
|
|
195
201
|
access: string;
|
|
196
202
|
urls: readonly [string, string, string, string, string];
|
|
197
203
|
} | {
|
|
198
|
-
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
204
|
+
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "set_pay_trial" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "list_feedback_forms" | "get_feedback_form" | "update_feedback_form" | "preview_feedback_form" | "list_feedback_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
199
205
|
id: "maintenance";
|
|
200
206
|
purpose: "Listing claims, finding responses, reviews and uninstall feedback, policy updates and ongoing releases.";
|
|
201
207
|
access: "Catalog reads are metered. Ownership, declarations, responses, badges and feedback management live in the cabinet and depend on account access.";
|
|
202
208
|
urls: readonly [string, string, string, string, string];
|
|
203
209
|
} | {
|
|
204
|
-
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
210
|
+
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "set_pay_trial" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "list_feedback_forms" | "get_feedback_form" | "update_feedback_form" | "preview_feedback_form" | "list_feedback_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
205
211
|
id: "monetization";
|
|
206
212
|
purpose: "Optional paid-feature integration: seller setup, offers, checkout, signed entitlements and purchase verification.";
|
|
207
213
|
access: "Pay applications work independently of development projects. Explicit pay.read/pay.write permission is required; older connections and API keys have no Pay grant. The exceptions are get_license_terms_questionnaire and draft_license_terms: they need only project read access because they return the questions and an unsaved draft built from the answers in the call, not saved answers or Pay state. The saved terms are read with get_license_terms (pay.read) and saved with save_license_terms_draft (pay.write); the seller identity answers stay the owner’s. Publication goes through the owner: request_license_terms_publication returns an approval link, and the owner’s approval can also decide seller.terms. Only a developer key with the separate pay.legal.publish permission publishes directly (publish_license_terms, not on the hosted connector). verify_license_terms_live checks the page, the paywall links and the seller.terms decision; rollback_license_terms brings an earlier version back the same two ways. Readiness (get_pay_readiness) and the actual SDK distribution determine whether integration is possible. The author completes the seller agreement and Stripe KYC in the browser. Checkout is enabled only after offers and profile are configured, and only with explicit authorization. Registration does not prove production deployment or npm publication.";
|
|
208
214
|
urls: readonly [string, "https://dojo.extenshi.io/payments"];
|
|
215
|
+
} | {
|
|
216
|
+
toolsInThisConnection: ("list_pay_apps" | "create_pay_app" | "get_pay_app" | "get_pay_readiness" | "get_pay_payment_evidence" | "link_pay_app" | "unlink_pay_app" | "archive_pay_app" | "export_pay_data" | "get_pay_seller" | "connect_pay_seller" | "refresh_pay_seller" | "set_pay_seller_profile" | "upsert_pay_offer" | "archive_pay_offer" | "get_pay_offer_translations" | "set_pay_offer_translations" | "set_pay_enabled" | "set_pay_trial" | "rotate_pay_key" | "get_development_guide" | "search_docs" | "list_extension_templates" | "get_credit_balance" | "connection_diagnostics" | "get_approval" | "search_extensions" | "get_extension" | "get_reviews" | "get_security" | "get_risk_by_store_ids" | "market_overview" | "list_my_projects" | "create_project" | "get_project_state" | "get_project_scaffold" | "get_decisions" | "propose_decision" | "get_project_workspace" | "import_manifest" | "diff_project_state" | "apply_project_patch" | "record_project_evidence" | "create_ci_ingest_secret" | "upsert_hosted_page" | "verify_hosted_artifact" | "remove_hosted_page" | "list_hosted_pages" | "get_release_readiness" | "localize_workflow" | "get_legal_translations" | "set_legal_translations" | "get_page_translations" | "set_page_translations" | "generate_icon_workflow" | "list_privacy_policy_versions" | "get_privacy_policy_version" | "update_privacy_policy_with_ai" | "publish_privacy_policy" | "generate_welcome_page_workflow" | "generate_pin_guide" | "get_install_instructions" | "publish_install_instructions" | "unpublish_install_instructions" | "list_uninstall_forms" | "get_uninstall_form" | "update_uninstall_form" | "preview_uninstall_form" | "list_uninstall_responses" | "list_feedback_forms" | "get_feedback_form" | "update_feedback_form" | "preview_feedback_form" | "list_feedback_responses" | "find_brand_mentions" | "generate_landing_page" | "draft_landing_page" | "preview_landing_page" | "publish_landing_page" | "get_landing_page" | "list_landing_page_versions" | "rollback_landing_page" | "unpublish_landing_page" | "get_custom_domain" | "set_custom_domain" | "verify_custom_domain" | "remove_custom_domain" | "upload_project_media" | "scan_extension" | "publish_extension" | "get_license_terms_questionnaire" | "draft_license_terms" | "get_license_terms" | "save_license_terms_draft" | "request_license_terms_publication" | "publish_license_terms" | "verify_license_terms_live" | "rollback_license_terms")[];
|
|
217
|
+
id: "settings-storage";
|
|
218
|
+
purpose: "Optional settings storage: @extenshi/storage keeps one record per key in chrome.storage on the device. Buyers of a license sold through Extenshi Pay can also turn on a cloud backup that restores their settings after a reinstall or in another browser.";
|
|
219
|
+
access: "An npm package with no MCP tools; local storage needs no account. Cloud backup ships in @extenshi/storage 0.2.0 with @extenshi/pay 0.11.0, so check `npm view @extenshi/storage version` before offering it. It also needs a Pay application whose owner turned backup on in Dojo.";
|
|
220
|
+
urls: readonly [string];
|
|
209
221
|
})[];
|
|
210
222
|
repository: {
|
|
211
223
|
recommendation: string;
|
|
@@ -236,7 +248,7 @@ declare function buildSections(registeredTools: readonly GuideTool[]): {
|
|
|
236
248
|
readonly doneWhen: "Each manifest references real packaged files; browser variants and the project integration contract are preserved.";
|
|
237
249
|
}, {
|
|
238
250
|
readonly id: "implementation";
|
|
239
|
-
readonly actions: "Stage 5 — Implementation: the MVP, accessible popup/options, storage and error handling, tested on the actual target sites and across the extension lifecycle, including service-worker restart and permission denial. Localization covers message translation, structural validation and manual language/RTL review. Payments or user accounts depend on a verified supported integration with its prerequisites complete.";
|
|
251
|
+
readonly actions: "Stage 5 — Implementation: the MVP, accessible popup/options, settings storage (@extenshi/storage) and error handling, tested on the actual target sites and across the extension lifecycle, including service-worker restart and permission denial. Localization covers message translation, structural validation and manual language/RTL review. Payments or user accounts depend on a verified supported integration with its prerequisites complete.";
|
|
240
252
|
readonly relatedTools: readonly ["localize_workflow"];
|
|
241
253
|
readonly doneWhen: "Acceptance criteria pass on real target surfaces; optional integrations have end-to-end evidence or remain explicit blockers.";
|
|
242
254
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"development-guide.d.ts","sourceRoot":"","sources":["../src/development-guide.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE;QACZ,YAAY,CAAC,EAAE,OAAO,CAAA;QACtB,eAAe,CAAC,EAAE,OAAO,CAAA;KACzB,CAAA;CACD;AAKD,eAAO,MAAM,qBAAqB,QAA+B,CAAA;AAEjE,eAAO,MAAM,oBAAoB
|
|
1
|
+
{"version":3,"file":"development-guide.d.ts","sourceRoot":"","sources":["../src/development-guide.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE;QACZ,YAAY,CAAC,EAAE,OAAO,CAAA;QACtB,eAAe,CAAC,EAAE,OAAO,CAAA;KACzB,CAAA;CACD;AAKD,eAAO,MAAM,qBAAqB,QAA+B,CAAA;AAEjE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuRvB,CAAA;AA+JV,qFAAqF;AACrF,eAAO,MAAM,cAAc,+GASjB,CAAA;AACV,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAA;AA6F1D,iBAAS,aAAa,CAAC,eAAe,EAAE,SAAS,SAAS,EAAE;;;cA3iBrD,MAAM;qBACC,MAAM;qBACN;YACZ,YAAY,CAAC,EAAE,OAAO,CAAA;YACtB,eAAe,CAAC,EAAE,OAAO,CAAA;SACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkmBD;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAA;AAE5D,wFAAwF;AACxF,wBAAgB,oBAAoB,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,YAAY,EAAE,CAIlF;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACpC,eAAe,EAAE,SAAS,SAAS,EAAE,EACrC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,GAC3B;IAAE,aAAa,EAAE,CAAC,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,aAAa,CAAC,GAC5F,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuBvB"}
|
|
@@ -105,7 +105,7 @@ export const DEVELOPMENT_SERVICES = [
|
|
|
105
105
|
},
|
|
106
106
|
{
|
|
107
107
|
id: 'onboarding',
|
|
108
|
-
purpose: 'Welcome page, pin guide, install instructions and uninstall survey, with verified URLs wired into the extension.',
|
|
108
|
+
purpose: 'Welcome page, pin guide, install instructions, feedback form and uninstall survey, with verified URLs wired into the extension.',
|
|
109
109
|
tools: [
|
|
110
110
|
'generate_welcome_page_workflow',
|
|
111
111
|
'generate_pin_guide',
|
|
@@ -120,14 +120,20 @@ export const DEVELOPMENT_SERVICES = [
|
|
|
120
120
|
'update_uninstall_form',
|
|
121
121
|
'preview_uninstall_form',
|
|
122
122
|
'list_uninstall_responses',
|
|
123
|
+
'list_feedback_forms',
|
|
124
|
+
'get_feedback_form',
|
|
125
|
+
'update_feedback_form',
|
|
126
|
+
'preview_feedback_form',
|
|
127
|
+
'list_feedback_responses',
|
|
123
128
|
'find_brand_mentions',
|
|
124
129
|
],
|
|
125
|
-
access: 'Free welcome-page specification and pin guide kit (generate_pin_guide: offline SVG, CSP-safe HTML and chrome.i18n captions in 11 languages for a welcome page bundled in the extension). Editing, hosting and responses live in the cabinet where enabled; account/project limits apply. MCP returns specifications and saved state, and publishes the install instructions page (free; hosted.write) — the uninstall form is created and the welcome page is edited in the cabinet. An existing uninstall survey is read, previewed and changed over MCP (list/get/preview_uninstall_form; update_uninstall_form with dryRun, expectedUpdatedAt and an idempotencyKey; hosted.write), keeping its URL and responses; each change is listed for the owner in Dojo. Its answers are read with list_uninstall_responses (project.read): newest first, filtered by version and date, with counts by reason and version and the uninstalls that reached the page; the email a person left is returned to an API key only. After a rename, find_brand_mentions lists every hosted field still holding the old name and the tool that fixes it; get_project_state reports the same on its own in `staleNames`: the project keeps every name it took (Dojo settings, import_manifest), so earlier names are searched without being asked for. The hosted uninstall form, welcome page and install instructions open in the user’s browser language (the generated snippets pass chrome.i18n.getUILanguage() as `hl`) when the project offers it, otherwise in the project’s own language: built-in text is translated by Extenshi (en + 10 languages); the developer’s own text is translated per field with get_page_translations / set_page_translations (identity; hosted.write to save).',
|
|
130
|
+
access: 'Free welcome-page specification and pin guide kit (generate_pin_guide: offline SVG, CSP-safe HTML and chrome.i18n captions in 11 languages for a welcome page bundled in the extension). Editing, hosting and responses live in the cabinet where enabled; account/project limits apply. MCP returns specifications and saved state, and publishes the install instructions page (free; hosted.write) — the uninstall form is created and the welcome page is edited in the cabinet. An existing uninstall survey is read, previewed and changed over MCP (list/get/preview_uninstall_form; update_uninstall_form with dryRun, expectedUpdatedAt and an idempotencyKey; hosted.write), keeping its URL and responses; each change is listed for the owner in Dojo. Its answers are read with list_uninstall_responses (project.read): newest first, filtered by version and date, with counts by reason and version and the uninstalls that reached the page; the email a person left is returned to an API key only. The feedback form (feedback.extenshi.io) is the same engine for users who still have the extension: it is created in the cabinet, opened from Options, the popup ("Doesn’t work on this site?" with `cat=site_not_working&site=<hostname>`), the trial-ended screen or a rating nudge, reads only the parameters v, src, cat, browser, lang and site, and is read, previewed, changed (update_feedback_form, hosted.write) and its answers listed (list_feedback_responses, filters by category, source, version and date) over MCP; its link is FEEDBACK_FORM_URL in the integration config, and REVIEW_URLS holds the review pages of the published store listings. While get_project_state lists FEEDBACK_FORM_URL in integration.unwired the project has no form: offer one to the author (they create it in the cabinet; never invent the URL), then wire the openSnippet from get_feedback_form into Options and the popup. After a rename, find_brand_mentions lists every hosted field still holding the old name and the tool that fixes it; get_project_state reports the same on its own in `staleNames`: the project keeps every name it took (Dojo settings, import_manifest), so earlier names are searched without being asked for. The hosted uninstall form, welcome page and install instructions open in the user’s browser language (the generated snippets pass chrome.i18n.getUILanguage() as `hl`) when the project offers it, otherwise in the project’s own language: built-in text is translated by Extenshi (en + 10 languages); the developer’s own text is translated per field with get_page_translations / set_page_translations (identity; hosted.write to save).',
|
|
126
131
|
urls: [
|
|
127
132
|
DEVELOPMENT_GUIDE_URL,
|
|
128
133
|
docs('pin-guide'),
|
|
129
134
|
docs('install-instructions'),
|
|
130
135
|
docs('uninstall-feedback'),
|
|
136
|
+
docs('feedback-form'),
|
|
131
137
|
toolPage('onboarding-page'),
|
|
132
138
|
toolPage('instruction-generator'),
|
|
133
139
|
toolPage('install-instructions'),
|
|
@@ -191,7 +197,13 @@ export const DEVELOPMENT_SERVICES = [
|
|
|
191
197
|
{
|
|
192
198
|
id: 'maintenance',
|
|
193
199
|
purpose: 'Listing claims, finding responses, reviews and uninstall feedback, policy updates and ongoing releases.',
|
|
194
|
-
tools: [
|
|
200
|
+
tools: [
|
|
201
|
+
'get_reviews',
|
|
202
|
+
'get_security',
|
|
203
|
+
'get_project_state',
|
|
204
|
+
'list_uninstall_responses',
|
|
205
|
+
'list_feedback_responses',
|
|
206
|
+
],
|
|
195
207
|
access: 'Catalog reads are metered. Ownership, declarations, responses, badges and feedback management live in the cabinet and depend on account access.',
|
|
196
208
|
urls: [
|
|
197
209
|
docs('claim-your-extension'),
|
|
@@ -223,6 +235,7 @@ export const DEVELOPMENT_SERVICES = [
|
|
|
223
235
|
'get_pay_offer_translations',
|
|
224
236
|
'set_pay_offer_translations',
|
|
225
237
|
'set_pay_enabled',
|
|
238
|
+
'set_pay_trial',
|
|
226
239
|
'rotate_pay_key',
|
|
227
240
|
'get_license_terms_questionnaire',
|
|
228
241
|
'draft_license_terms',
|
|
@@ -236,6 +249,13 @@ export const DEVELOPMENT_SERVICES = [
|
|
|
236
249
|
access: 'Pay applications work independently of development projects. Explicit pay.read/pay.write permission is required; older connections and API keys have no Pay grant. The exceptions are get_license_terms_questionnaire and draft_license_terms: they need only project read access because they return the questions and an unsaved draft built from the answers in the call, not saved answers or Pay state. The saved terms are read with get_license_terms (pay.read) and saved with save_license_terms_draft (pay.write); the seller identity answers stay the owner’s. Publication goes through the owner: request_license_terms_publication returns an approval link, and the owner’s approval can also decide seller.terms. Only a developer key with the separate pay.legal.publish permission publishes directly (publish_license_terms, not on the hosted connector). verify_license_terms_live checks the page, the paywall links and the seller.terms decision; rollback_license_terms brings an earlier version back the same two ways. Readiness (get_pay_readiness) and the actual SDK distribution determine whether integration is possible. The author completes the seller agreement and Stripe KYC in the browser. Checkout is enabled only after offers and profile are configured, and only with explicit authorization. Registration does not prove production deployment or npm publication.',
|
|
237
250
|
urls: [docs('pay-sdk'), 'https://dojo.extenshi.io/payments'],
|
|
238
251
|
},
|
|
252
|
+
{
|
|
253
|
+
id: 'settings-storage',
|
|
254
|
+
purpose: 'Optional settings storage: @extenshi/storage keeps one record per key in chrome.storage on the device. Buyers of a license sold through Extenshi Pay can also turn on a cloud backup that restores their settings after a reinstall or in another browser.',
|
|
255
|
+
tools: [],
|
|
256
|
+
access: 'An npm package with no MCP tools; local storage needs no account. Cloud backup ships in @extenshi/storage 0.2.0 with @extenshi/pay 0.11.0, so check `npm view @extenshi/storage version` before offering it. It also needs a Pay application whose owner turned backup on in Dojo.',
|
|
257
|
+
urls: [docs('storage-sdk')],
|
|
258
|
+
},
|
|
239
259
|
];
|
|
240
260
|
/**
|
|
241
261
|
* The development lifecycle as a process description. `actions` describes what
|
|
@@ -277,7 +297,7 @@ const WORKFLOW = [
|
|
|
277
297
|
},
|
|
278
298
|
{
|
|
279
299
|
id: 'implementation',
|
|
280
|
-
actions: 'Stage 5 — Implementation: the MVP, accessible popup/options, storage and error handling, tested on the actual target sites and across the extension lifecycle, including service-worker restart and permission denial. Localization covers message translation, structural validation and manual language/RTL review. Payments or user accounts depend on a verified supported integration with its prerequisites complete.',
|
|
300
|
+
actions: 'Stage 5 — Implementation: the MVP, accessible popup/options, settings storage (@extenshi/storage) and error handling, tested on the actual target sites and across the extension lifecycle, including service-worker restart and permission denial. Localization covers message translation, structural validation and manual language/RTL review. Payments or user accounts depend on a verified supported integration with its prerequisites complete.',
|
|
281
301
|
relatedTools: ['localize_workflow'],
|
|
282
302
|
doneWhen: 'Acceptance criteria pass on real target surfaces; optional integrations have end-to-end evidence or remain explicit blockers.',
|
|
283
303
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"development-guide.js","sourceRoot":"","sources":["../src/development-guide.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"development-guide.js","sourceRoot":"","sources":["../src/development-guide.ts"],"names":[],"mappings":"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"}
|