@extenshi/mcp 0.22.0 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/dist/build-map-agent.d.ts +117 -0
- package/dist/build-map-agent.d.ts.map +1 -0
- package/dist/build-map-agent.js +242 -0
- package/dist/build-map-agent.js.map +1 -0
- package/dist/build-map-store.d.ts +1 -1
- package/dist/build-map-store.js +1 -1
- package/dist/build-map-tools.d.ts +43 -0
- package/dist/build-map-tools.d.ts.map +1 -0
- package/dist/build-map-tools.js +149 -0
- package/dist/build-map-tools.js.map +1 -0
- package/dist/development-guide.d.ts +38 -21
- package/dist/development-guide.d.ts.map +1 -1
- package/dist/development-guide.js +20 -5
- package/dist/development-guide.js.map +1 -1
- package/dist/feedback-form-tools.d.ts +4 -4
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/tools.d.ts +9 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +142 -0
- package/dist/tools.js.map +1 -1
- package/dist/uninstall-form-tools.d.ts +4 -4
- package/package.json +2 -2
|
@@ -39,8 +39,8 @@ export declare const DEVELOPMENT_SERVICES: readonly [{
|
|
|
39
39
|
}, {
|
|
40
40
|
readonly id: "projects";
|
|
41
41
|
readonly purpose: "Existing projects: selected browser types, manifests, repository binding, saved tool state, hosted URLs and starter files.";
|
|
42
|
-
readonly tools: readonly ["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"];
|
|
43
|
-
readonly 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.";
|
|
42
|
+
readonly tools: readonly ["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", "get_build_map", "report_build_step", "request_build_review"];
|
|
43
|
+
readonly access: "The build map tools (get_build_map, report_build_step, request_build_review) exist on the local stdio server only, are free and need no key: they read and write .extenshi/build-map.json of the project directory (guide section buildMap). 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.";
|
|
44
44
|
readonly urls: readonly [string, "https://dojo.extenshi.io/projects", "https://dojo.extenshi.io/integrations"];
|
|
45
45
|
}, {
|
|
46
46
|
readonly id: "manifest";
|
|
@@ -102,6 +102,12 @@ export declare const DEVELOPMENT_SERVICES: readonly [{
|
|
|
102
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" | "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")[];
|
|
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" | "get_build_map" | "report_build_step" | "request_build_review" | "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" | "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")[];
|
|
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" | "get_build_map" | "report_build_step" | "request_build_review" | "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" | "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")[];
|
|
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" | "get_build_map" | "report_build_step" | "request_build_review" | "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" | "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")[];
|
|
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" | "get_build_map" | "report_build_step" | "request_build_review" | "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
|
-
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.";
|
|
153
|
+
access: "The build map tools (get_build_map, report_build_step, request_build_review) exist on the local stdio server only, are free and need no key: they read and write .extenshi/build-map.json of the project directory (guide section buildMap). 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" | "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")[];
|
|
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" | "get_build_map" | "report_build_step" | "request_build_review" | "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" | "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")[];
|
|
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" | "get_build_map" | "report_build_step" | "request_build_review" | "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" | "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")[];
|
|
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" | "get_build_map" | "report_build_step" | "request_build_review" | "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" | "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")[];
|
|
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" | "get_build_map" | "report_build_step" | "request_build_review" | "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" | "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")[];
|
|
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" | "get_build_map" | "report_build_step" | "request_build_review" | "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
182
|
purpose: "Welcome page, pin guide, install instructions, feedback form and uninstall survey, with verified URLs wired into the extension.";
|
|
177
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).";
|
|
178
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" | "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")[];
|
|
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" | "get_build_map" | "report_build_step" | "request_build_review" | "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" | "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")[];
|
|
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" | "get_build_map" | "report_build_step" | "request_build_review" | "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" | "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")[];
|
|
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" | "get_build_map" | "report_build_step" | "request_build_review" | "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" | "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")[];
|
|
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" | "get_build_map" | "report_build_step" | "request_build_review" | "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" | "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")[];
|
|
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" | "get_build_map" | "report_build_step" | "request_build_review" | "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" | "get_build_map" | "report_build_step" | "request_build_review" | "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
|
}, {
|
|
@@ -274,12 +286,17 @@ declare function buildSections(registeredTools: readonly GuideTool[]): {
|
|
|
274
286
|
readonly decline: "npx @extenshi/cli@latest map decline: records that the author declined the map.";
|
|
275
287
|
readonly stop: "npx @extenshi/cli@latest map stop: stops the server; the next start reuses its port, so open tabs and links keep working.";
|
|
276
288
|
readonly stepLink: "<map url>#node=<step id> opens one step, for example #node=iconConcepts.";
|
|
289
|
+
readonly step: "npx @extenshi/cli@latest map step <step> start|progress|done|stop --agent <label>: an agent reports on a step; `done` closes the current task, and --file proof is hashed into the evidence journal. Refused while the inputs of the step are not done.";
|
|
290
|
+
readonly review: "npx @extenshi/cli@latest map review <step> --variant \"<label>=<preview file>\" (1–8, --image for thumbnails): offers the author variants to choose from on the map (iconConcepts, screenshots, listing) and prints the link to the step.";
|
|
291
|
+
readonly wait: "npx @extenshi/cli@latest map wait <step>: waits until the author picks a variant or asks for another round, then prints the answer (--json, --timeout).";
|
|
292
|
+
readonly choose: "npx @extenshi/cli@latest map choose <step> <variant> | --redo \"<what to change>\": records the author’s answer given in the chat.";
|
|
277
293
|
};
|
|
278
294
|
readonly oneMapPerProject: "A project has exactly one map and one map server, however many agents work on it. The map lives in the main checkout: from a linked git worktree the CLI resolves the same directory in the main working tree, so every agent and every worktree reads the same .extenshi/build-map.json and reaches the same server. Running `map` again, from any terminal, agent or worktree, returns the server already running; simultaneous starts end with one server.";
|
|
279
|
-
readonly progress: "Statuses are derived on every read, not stored: from the project files in the main checkout (manifest and the files it names, icons, builds, packages, the store folder, CI workflows); from the Dojo project the directory is bound to (owner decisions, and release evidence and readiness gates while the map server runs with an API key, refreshed every minute); and from .extenshi/build-map.json, which holds per-step progress,
|
|
295
|
+
readonly progress: "Statuses are derived on every read, not stored: from the project files in the main checkout (manifest and the files it names, icons, builds, packages, the store folder, CI workflows); from the Dojo project the directory is bound to (owner decisions, and release evidence and readiness gates while the map server runs with an API key, refreshed every minute); and from .extenshi/build-map.json, which holds per-step progress, reviews, the offer record, the evidence journal and a log. Work on an agent branch appears once it is in the main checkout. Agents report on steps with `map step` (local stdio server: report_build_step), and the state file is written under .extenshi/build-map.lock.";
|
|
296
|
+
readonly reviews: "Visual choices (iconConcepts, screenshots, listing) are made on the map: the agent offers 1–8 variants, each a preview page or image inside the project or an https address (an `npx @extenshi/cli icon preview` page fits icons), with `map review` (request_build_review). The step then waits on the author, who opens each preview, picks one, or says what to change for another round. `map wait` returns the answer; get_build_map shows it under reviews. A pick that differs from an earlier one sends the steps built from the old pick back to run again. An agent never makes the pick for the author.";
|
|
280
297
|
readonly offer: "The map is an offer to the author, not a required step. It is offered once, after the extension idea is clear and before the first step that needs the author, in the author’s language and with a plain yes or no; the server starts only after a yes. After a no, the map comes up once more at the first visual choice (usually the icon), and after a second no it is not offered again. The answer is recorded in .extenshi/build-map.json (offer: count, acceptedAt, declinedAt): `map` records a yes and `map decline` a no, so a later agent session reads the answer instead of asking again.";
|
|
281
|
-
readonly withoutTheMap: "Everything also works in chat: previews are linked there
|
|
282
|
-
readonly localServerField: "On the local stdio server, create_project and get_project_state carry buildMap {running, url (while running), offered, declined, offers, home} for projectDir (default: the server’s working directory). The hosted connector has no access to the author’s files and
|
|
298
|
+
readonly withoutTheMap: "Everything also works in chat: previews are linked there, the author answers there, and the agent records the answer with `map choose` (report_build_step with choice or redo). The state file is kept either way, so a map opened later shows the whole history.";
|
|
299
|
+
readonly localServerField: "On the local stdio server, create_project and get_project_state carry buildMap {running, url (while running), offered, declined, offers, home} for projectDir (default: the server’s working directory), and get_build_map, report_build_step and request_build_review read and write the map. The hosted connector has no access to the author’s files and has none of these; there the map opens from a terminal on the author’s machine.";
|
|
283
300
|
readonly docs: `${string}#extenshi-map`;
|
|
284
301
|
};
|
|
285
302
|
storeMedia: {
|
|
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0RvB,CAAA;AAuKV,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;;;cAtjBrD,MAAM;qBACC,MAAM;qBACN;YACZ,YAAY,CAAC,EAAE,OAAO,CAAA;YACtB,eAAe,CAAC,EAAE,OAAO,CAAA;SACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6mBD;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"}
|
|
@@ -51,8 +51,11 @@ export const DEVELOPMENT_SERVICES = [
|
|
|
51
51
|
'remove_hosted_page',
|
|
52
52
|
'list_hosted_pages',
|
|
53
53
|
'get_release_readiness',
|
|
54
|
+
'get_build_map',
|
|
55
|
+
'report_build_step',
|
|
56
|
+
'request_build_review',
|
|
54
57
|
],
|
|
55
|
-
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.',
|
|
58
|
+
access: 'The build map tools (get_build_map, report_build_step, request_build_review) exist on the local stdio server only, are free and need no key: they read and write .extenshi/build-map.json of the project directory (guide section buildMap). 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.',
|
|
56
59
|
urls: [
|
|
57
60
|
DEVELOPMENT_GUIDE_URL,
|
|
58
61
|
'https://dojo.extenshi.io/projects',
|
|
@@ -249,6 +252,13 @@ export const DEVELOPMENT_SERVICES = [
|
|
|
249
252
|
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.',
|
|
250
253
|
urls: [docs('pay-sdk'), 'https://dojo.extenshi.io/payments'],
|
|
251
254
|
},
|
|
255
|
+
{
|
|
256
|
+
id: 'settings-storage',
|
|
257
|
+
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.',
|
|
258
|
+
tools: [],
|
|
259
|
+
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.',
|
|
260
|
+
urls: [docs('storage-sdk')],
|
|
261
|
+
},
|
|
252
262
|
];
|
|
253
263
|
/**
|
|
254
264
|
* The development lifecycle as a process description. `actions` describes what
|
|
@@ -290,7 +300,7 @@ const WORKFLOW = [
|
|
|
290
300
|
},
|
|
291
301
|
{
|
|
292
302
|
id: 'implementation',
|
|
293
|
-
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.',
|
|
303
|
+
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.',
|
|
294
304
|
relatedTools: ['localize_workflow'],
|
|
295
305
|
doneWhen: 'Acceptance criteria pass on real target surfaces; optional integrations have end-to-end evidence or remain explicit blockers.',
|
|
296
306
|
},
|
|
@@ -370,12 +380,17 @@ const BUILD_MAP = {
|
|
|
370
380
|
decline: 'npx @extenshi/cli@latest map decline: records that the author declined the map.',
|
|
371
381
|
stop: 'npx @extenshi/cli@latest map stop: stops the server; the next start reuses its port, so open tabs and links keep working.',
|
|
372
382
|
stepLink: '<map url>#node=<step id> opens one step, for example #node=iconConcepts.',
|
|
383
|
+
step: 'npx @extenshi/cli@latest map step <step> start|progress|done|stop --agent <label>: an agent reports on a step; `done` closes the current task, and --file proof is hashed into the evidence journal. Refused while the inputs of the step are not done.',
|
|
384
|
+
review: 'npx @extenshi/cli@latest map review <step> --variant "<label>=<preview file>" (1–8, --image for thumbnails): offers the author variants to choose from on the map (iconConcepts, screenshots, listing) and prints the link to the step.',
|
|
385
|
+
wait: 'npx @extenshi/cli@latest map wait <step>: waits until the author picks a variant or asks for another round, then prints the answer (--json, --timeout).',
|
|
386
|
+
choose: 'npx @extenshi/cli@latest map choose <step> <variant> | --redo "<what to change>": records the author’s answer given in the chat.',
|
|
373
387
|
},
|
|
374
388
|
oneMapPerProject: 'A project has exactly one map and one map server, however many agents work on it. The map lives in the main checkout: from a linked git worktree the CLI resolves the same directory in the main working tree, so every agent and every worktree reads the same .extenshi/build-map.json and reaches the same server. Running `map` again, from any terminal, agent or worktree, returns the server already running; simultaneous starts end with one server.',
|
|
375
|
-
progress: 'Statuses are derived on every read, not stored: from the project files in the main checkout (manifest and the files it names, icons, builds, packages, the store folder, CI workflows); from the Dojo project the directory is bound to (owner decisions, and release evidence and readiness gates while the map server runs with an API key, refreshed every minute); and from .extenshi/build-map.json, which holds per-step progress,
|
|
389
|
+
progress: 'Statuses are derived on every read, not stored: from the project files in the main checkout (manifest and the files it names, icons, builds, packages, the store folder, CI workflows); from the Dojo project the directory is bound to (owner decisions, and release evidence and readiness gates while the map server runs with an API key, refreshed every minute); and from .extenshi/build-map.json, which holds per-step progress, reviews, the offer record, the evidence journal and a log. Work on an agent branch appears once it is in the main checkout. Agents report on steps with `map step` (local stdio server: report_build_step), and the state file is written under .extenshi/build-map.lock.',
|
|
390
|
+
reviews: 'Visual choices (iconConcepts, screenshots, listing) are made on the map: the agent offers 1–8 variants, each a preview page or image inside the project or an https address (an `npx @extenshi/cli icon preview` page fits icons), with `map review` (request_build_review). The step then waits on the author, who opens each preview, picks one, or says what to change for another round. `map wait` returns the answer; get_build_map shows it under reviews. A pick that differs from an earlier one sends the steps built from the old pick back to run again. An agent never makes the pick for the author.',
|
|
376
391
|
offer: 'The map is an offer to the author, not a required step. It is offered once, after the extension idea is clear and before the first step that needs the author, in the author’s language and with a plain yes or no; the server starts only after a yes. After a no, the map comes up once more at the first visual choice (usually the icon), and after a second no it is not offered again. The answer is recorded in .extenshi/build-map.json (offer: count, acceptedAt, declinedAt): `map` records a yes and `map decline` a no, so a later agent session reads the answer instead of asking again.',
|
|
377
|
-
withoutTheMap: 'Everything also works in chat: previews are linked there
|
|
378
|
-
localServerField: 'On the local stdio server, create_project and get_project_state carry buildMap {running, url (while running), offered, declined, offers, home} for projectDir (default: the server’s working directory). The hosted connector has no access to the author’s files and
|
|
392
|
+
withoutTheMap: 'Everything also works in chat: previews are linked there, the author answers there, and the agent records the answer with `map choose` (report_build_step with choice or redo). The state file is kept either way, so a map opened later shows the whole history.',
|
|
393
|
+
localServerField: 'On the local stdio server, create_project and get_project_state carry buildMap {running, url (while running), offered, declined, offers, home} for projectDir (default: the server’s working directory), and get_build_map, report_build_step and request_build_review read and write the map. The hosted connector has no access to the author’s files and has none of these; there the map opens from a terminal on the author’s machine.',
|
|
379
394
|
docs: `${docs('cli')}#extenshi-map`,
|
|
380
395
|
};
|
|
381
396
|
/** Top-level sections of the full guide, selectable via the `sections` parameter. */
|
|
@@ -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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"}
|