@jskit-ai/connectors-catalog 0.1.67 → 0.2.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/CHANGELOG.md +1722 -0
- package/README.md +11 -0
- package/locales/en.json +3139 -0
- package/package.json +7 -6
- package/src/server/ai.js +4 -4
- package/src/server/amazon-redshift.js +5 -5
- package/src/server/apify.js +1 -1
- package/src/server/apollo-io.js +1 -1
- package/src/server/asana.js +3 -3
- package/src/server/ashby.js +3 -3
- package/src/server/attention.js +2 -2
- package/src/server/aws-athena.js +3 -3
- package/src/server/aws-s3.js +1 -1
- package/src/server/awsTransport.js +9 -9
- package/src/server/brevo.js +3 -3
- package/src/server/calendly.js +2 -2
- package/src/server/chargebee.js +1 -1
- package/src/server/databricks.js +2 -2
- package/src/server/dbt-semantic-layer.js +8 -8
- package/src/server/elevenlabs.js +4 -4
- package/src/server/firebase-cloud-messaging.js +8 -8
- package/src/server/firecrawl.js +2 -2
- package/src/server/gatewayapi.js +4 -4
- package/src/server/github-api.js +3 -3
- package/src/server/gitlab-api.js +1 -1
- package/src/server/gmail.js +1 -1
- package/src/server/gong.js +4 -4
- package/src/server/google-ads-search.js +16 -16
- package/src/server/google-ads.js +7 -7
- package/src/server/google-drive.js +8 -6
- package/src/server/google-maps-platform.js +5 -5
- package/src/server/google-search-console.js +1 -1
- package/src/server/google-sheets.js +3 -2
- package/src/server/google.js +3 -2
- package/src/server/granola.js +5 -5
- package/src/server/hubspot.js +5 -3
- package/src/server/inngest.js +4 -4
- package/src/server/klipy.js +1 -1
- package/src/server/lightspeed.js +4 -4
- package/src/server/linear.js +2 -2
- package/src/server/linkedin.js +6 -6
- package/src/server/mapbox.js +1 -1
- package/src/server/mcpRegistration.js +3 -2
- package/src/server/mcpTransport.js +1 -1
- package/src/server/microsoft-fabric.js +3 -3
- package/src/server/microsoft-onedrive.js +1 -1
- package/src/server/microsoft-onenote.js +1 -1
- package/src/server/microsoft-outlook.js +1 -1
- package/src/server/microsoft.js +4 -3
- package/src/server/n8n.js +4 -4
- package/src/server/oura.js +1 -1
- package/src/server/paddle.js +1 -1
- package/src/server/pipedrive.js +4 -4
- package/src/server/posthog.js +3 -3
- package/src/server/salesforce.js +8 -8
- package/src/server/semrush.js +25 -25
- package/src/server/shopify.js +6 -6
- package/src/server/slack.js +10 -10
- package/src/server/snowflake.js +5 -5
- package/src/server/tally.js +1 -1
- package/src/server/telegram.js +1 -1
- package/src/server/tiktok.js +14 -14
- package/src/server/twilio.js +3 -3
- package/src/server/twitch.js +22 -21
- package/src/server/wave.js +34 -34
- package/src/server/wix.js +73 -73
- package/src/server/wiz.js +18 -18
- package/src/server/woocommerce.js +23 -23
- package/src/server/wordpress-com.js +3 -3
- package/src/server/wordpress-self-hosted.js +2 -2
- package/src/server/workday.js +3 -3
- package/src/server/x-twitter.js +6 -6
- package/src/server/xero.js +15 -15
- package/src/server/zoho-books.js +8 -8
- package/src/server/zoho-crm.js +5 -5
- package/src/server/zohoOAuth.js +1 -1
- package/src/shared/ai.js +24 -13
- package/src/shared/algolia.js +4 -4
- package/src/shared/amazon-redshift.js +16 -16
- package/src/shared/amplitude.js +6 -6
- package/src/shared/atlassian.js +19 -19
- package/src/shared/aws.js +18 -18
- package/src/shared/canva.js +18 -18
- package/src/shared/chargebee.js +3 -3
- package/src/shared/clickhouse.js +9 -9
- package/src/shared/confidence.js +6 -6
- package/src/shared/databricks.js +8 -8
- package/src/shared/dbt-semantic-layer.js +7 -7
- package/src/shared/english-ai.js +6 -0
- package/src/shared/english-definitions.js +34 -0
- package/src/shared/english-texts.js +7 -0
- package/src/shared/figma.js +2 -2
- package/src/shared/firebase-cloud-messaging.js +11 -11
- package/src/shared/firecrawl.js +1 -1
- package/src/shared/gemini-enterprise.js +7 -7
- package/src/shared/gong.js +5 -5
- package/src/shared/google-ads.js +5 -5
- package/src/shared/google-maps-platform.js +7 -7
- package/src/shared/google.js +40 -40
- package/src/shared/granola.js +5 -5
- package/src/shared/hex.js +7 -7
- package/src/shared/inngest.js +8 -8
- package/src/shared/lightspeed.js +52 -52
- package/src/shared/linkedin.js +6 -6
- package/src/shared/logo-dev.js +3 -3
- package/src/shared/mapbox.js +6 -6
- package/src/shared/mcp.js +9 -9
- package/src/shared/microsoft-fabric.js +9 -9
- package/src/shared/microsoft.js +52 -52
- package/src/shared/miro.js +5 -5
- package/src/shared/oura.js +5 -5
- package/src/shared/posthog.js +9 -9
- package/src/shared/prestashop.js +5 -5
- package/src/shared/resend.js +1 -1
- package/src/shared/salesforce.js +8 -8
- package/src/shared/semrush.js +6 -6
- package/src/shared/shopify.js +26 -26
- package/src/shared/slack.js +61 -61
- package/src/shared/snowflake.js +15 -15
- package/src/shared/tiktok.js +7 -7
- package/src/shared/tokens.js +126 -126
- package/src/shared/twilio.js +7 -7
- package/src/shared/twitch.js +24 -24
- package/src/shared/wave.js +33 -33
- package/src/shared/wix.js +5 -5
- package/src/shared/wiz.js +14 -14
- package/src/shared/wordpress-com.js +9 -9
- package/src/shared/wordpress.js +11 -11
- package/src/shared/workday.js +8 -8
- package/src/shared/x-twitter.js +5 -5
- package/src/shared/xero.js +25 -25
- package/src/shared/zoho-books.js +10 -10
- package/src/shared/zoho-crm.js +16 -16
- package/src/shared/zoho-regions.js +8 -8
- package/test/englishDefinitions.test.js +37 -0
- package/test/i18nCatalog.test.js +16 -0
- package/test/shopify.test.js +3 -1
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import assert from "node:assert/strict";
|
|
2
|
+
import test from "node:test";
|
|
3
|
+
import { MESSAGE_KEY_SOURCE } from "../../connectors-core/src/shared/configuration.js";
|
|
4
|
+
import * as keyed from "../src/shared/definitions.js";
|
|
5
|
+
import * as english from "../src/shared/english-definitions.js";
|
|
6
|
+
import * as englishAi from "../src/shared/english-ai.js";
|
|
7
|
+
import { aiAccessLabels as keyedAccessLabels } from "../src/shared/ai.js";
|
|
8
|
+
|
|
9
|
+
function strings(value, found = [], seen = new Set()) {
|
|
10
|
+
if (typeof value === "string") {
|
|
11
|
+
found.push(value);
|
|
12
|
+
} else if (typeof value === "function") {
|
|
13
|
+
try { strings(value({}), found, seen); } catch { /* settings-specific function */ }
|
|
14
|
+
} else if (value && typeof value === "object" && !seen.has(value) && [Object.prototype, Array.prototype].includes(Object.getPrototypeOf(value))) {
|
|
15
|
+
seen.add(value);
|
|
16
|
+
Object.values(value).forEach((inner) => strings(inner, found, seen));
|
|
17
|
+
}
|
|
18
|
+
return found;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
test("the public catalog exports every definition, in English", () => {
|
|
22
|
+
assert.deepEqual(Object.keys(english).sort(), Object.keys(keyed).sort());
|
|
23
|
+
const keys = strings(english.connectorDefinitions).filter((text) => text.startsWith("jskit."));
|
|
24
|
+
assert.deepEqual(keys, []);
|
|
25
|
+
assert.equal(englishAi.aiAccessLabels.paid, "Paid · connection required");
|
|
26
|
+
assert.equal(englishAi.aiDefinition, english.aiDefinition);
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
test("an English definition keeps its keyed original, and a copy does not", () => {
|
|
30
|
+
const mapbox = english.connectorDefinitions.find((definition) => definition.id === "mapbox");
|
|
31
|
+
assert.equal(mapbox.description, "Validate a backend access token and look up places or coordinates.");
|
|
32
|
+
assert.equal(mapbox[MESSAGE_KEY_SOURCE], keyed.mapboxDefinition);
|
|
33
|
+
assert.equal(mapbox[MESSAGE_KEY_SOURCE].description, "jskit.connectors.mapbox.description");
|
|
34
|
+
assert.equal({ ...mapbox }[MESSAGE_KEY_SOURCE], undefined);
|
|
35
|
+
assert.equal(englishAi.aiAccessLabels[MESSAGE_KEY_SOURCE], keyedAccessLabels);
|
|
36
|
+
assert.ok(Object.isFrozen(mapbox));
|
|
37
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import assert from "node:assert/strict";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import test from "node:test";
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
5
|
+
import { evaluateI18nCatalogContract } from "../../../tooling/test-support/i18nCatalogContract.mjs";
|
|
6
|
+
|
|
7
|
+
const TEST_DIRECTORY = path.dirname(fileURLToPath(import.meta.url));
|
|
8
|
+
const REPO_ROOT = path.resolve(TEST_DIRECTORY, "..", "..", "..");
|
|
9
|
+
|
|
10
|
+
test("connectors-catalog English catalog matches its source", () => {
|
|
11
|
+
const { problems } = evaluateI18nCatalogContract({
|
|
12
|
+
repoRoot: REPO_ROOT,
|
|
13
|
+
packageDir: path.join(REPO_ROOT, "packages", "connectors-catalog")
|
|
14
|
+
});
|
|
15
|
+
assert.deepEqual(problems, []);
|
|
16
|
+
});
|
package/test/shopify.test.js
CHANGED
|
@@ -7,6 +7,8 @@ import { createConnectionService } from "../../connectors-core/src/server/index.
|
|
|
7
7
|
import { createFileConnectionStore, createCredentialProtection } from "../../connectors-core/src/server/fileStorage.js";
|
|
8
8
|
import { parseIntegrationConfiguration } from "../../connectors-core/src/shared/configuration.js";
|
|
9
9
|
import { shopifyProvider } from "../src/server/shopify.js";
|
|
10
|
+
import { catalogMessage } from "../../kernel/shared/i18n/index.js";
|
|
11
|
+
import en from "../locales/en.json" with { type: "json" };
|
|
10
12
|
|
|
11
13
|
const context = { applicationId: "app-one", subjectId: "store-one" };
|
|
12
14
|
const args = { context, integrationId: "shopify" };
|
|
@@ -130,7 +132,7 @@ test("Shopify packaged guide uses the actual portable schema and all captured as
|
|
|
130
132
|
const config = JSON.parse([...guide.matchAll(/```json\n([\s\S]*?)\n```/gu)][0][1]);
|
|
131
133
|
assert.deepEqual(parseIntegrationConfiguration(JSON.stringify(config), { providers: [shopifyProvider] }), config);
|
|
132
134
|
assert.equal(shopifyProvider.assistantActions.length, 16);
|
|
133
|
-
const labels = shopifyProvider.assistantActions.map((action) => action.label);
|
|
135
|
+
const labels = shopifyProvider.assistantActions.map((action) => catalogMessage(en, action.label));
|
|
134
136
|
for (const label of ["Enable Shopify", "Connect your Shopify store", "Claim your store", "Create product", "Update product", "Delete product",
|
|
135
137
|
"Add product variant", "Update product variant", "Delete product variant", "Create discount code", "Update discount code", "Delete discount code",
|
|
136
138
|
"Create price rule", "Update price rule", "Delete price rule"]) assert.ok(labels.includes(label));
|