From 14a447d4d29e0e566e64c6d37209a7df59054e07 Mon Sep 17 00:00:00 2001 From: Michelle Bergeron Date: Wed, 19 Nov 2025 17:58:19 -0500 Subject: [PATCH 1/4] new components --- .../create-document/create-document.mjs | 58 ++++++++++++ .../actions/get-document/get-document.mjs | 42 +++++++++ .../actions/query-dataset/query-dataset.mjs | 41 +++++++++ components/sanity/common/constants.mjs | 7 ++ components/sanity/common/utils.mjs | 31 +++++++ components/sanity/package.json | 7 +- components/sanity/sanity.app.mjs | 92 ++++++++++++++++++- components/sanity/sources/common/base.mjs | 74 +++++++++++++++ .../new-document-event/new-document-event.mjs | 59 ++++++++++++ .../sources/new-document-event/test-event.mjs | 24 +++++ 10 files changed, 428 insertions(+), 7 deletions(-) create mode 100644 components/sanity/actions/create-document/create-document.mjs create mode 100644 components/sanity/actions/get-document/get-document.mjs create mode 100644 components/sanity/actions/query-dataset/query-dataset.mjs create mode 100644 components/sanity/common/constants.mjs create mode 100644 components/sanity/common/utils.mjs create mode 100644 components/sanity/sources/common/base.mjs create mode 100644 components/sanity/sources/new-document-event/new-document-event.mjs create mode 100644 components/sanity/sources/new-document-event/test-event.mjs diff --git a/components/sanity/actions/create-document/create-document.mjs b/components/sanity/actions/create-document/create-document.mjs new file mode 100644 index 0000000000000..b8edf65618378 --- /dev/null +++ b/components/sanity/actions/create-document/create-document.mjs @@ -0,0 +1,58 @@ +import sanity from "../../sanity.app.mjs"; +import { ConfigurationError } from "@pipedream/platform"; +import { parseObject } from "../../common/utils.mjs"; + +export default { + key: "sanity-create-document", + name: "Create Document", + description: "Create a document in a dataset in Sanity. [See the documentation](https://www.sanity.io/docs/http-reference/actions)", + version: "0.0.1", + type: "action", + annotations: { + destructiveHint: false, + openWorldHint: true, + readOnlyHint: false, + }, + props: { + sanity, + dataset: { + propDefinition: [ + sanity, + "dataset", + ], + }, + publishId: { + type: "string", + label: "Publish ID", + description: "The publish ID of the document to create", + }, + document: { + type: "object", + label: "Document", + description: "The document to create. Must include `_type` and `_id` fields. Example: `{\"_type\":\"post\",\"_id\":\"drafts.post-123\",\"title\":\"My First Post\",\"slug\":{\"current\":\"my-first-post\"},\"body\":[{\"_type\":\"block\",\"children\":[{\"_type\":\"span\",\"text\":\"Hello world!\"}]}]}`", + }, + }, + async run({ $ }) { + const document = parseObject(this.document); + if (!document._type || !document._id) { + throw new ConfigurationError("Document must include `_type` and `_id` fields"); + } + + const response = await this.sanity.createDocument({ + $, + dataset: this.dataset, + data: { + actions: [ + { + actionType: "sanity.action.document.create", + publishedId: this.publishId, + document, + }, + ], + }, + }); + + $.export("$summary", "Successfully created document"); + return response; + }, +}; diff --git a/components/sanity/actions/get-document/get-document.mjs b/components/sanity/actions/get-document/get-document.mjs new file mode 100644 index 0000000000000..b531a225f0a05 --- /dev/null +++ b/components/sanity/actions/get-document/get-document.mjs @@ -0,0 +1,42 @@ +import sanity from "../../sanity.app.mjs"; + +export default { + key: "sanity-get-document", + name: "Get Document", + description: "Get a document from a dataset in Sanity. [See the documentation](https://www.sanity.io/docs/http-reference/doc#getDocuments)", + version: "0.0.1", + type: "action", + annotations: { + destructiveHint: false, + openWorldHint: true, + readOnlyHint: true, + }, + props: { + sanity, + dataset: { + propDefinition: [ + sanity, + "dataset", + ], + }, + documentId: { + propDefinition: [ + sanity, + "documentId", + ({ dataset }) => ({ + dataset, + }), + ], + }, + }, + async run({ $ }) { + const response = await this.sanity.getDocument({ + $, + dataset: this.dataset, + documentId: this.documentId, + }); + + $.export("$summary", "Successfully retrieved document"); + return response; + }, +}; diff --git a/components/sanity/actions/query-dataset/query-dataset.mjs b/components/sanity/actions/query-dataset/query-dataset.mjs new file mode 100644 index 0000000000000..d5f0b0743c3b9 --- /dev/null +++ b/components/sanity/actions/query-dataset/query-dataset.mjs @@ -0,0 +1,41 @@ +import sanity from "../../sanity.app.mjs"; + +export default { + key: "sanity-query-dataset", + name: "Query Dataset", + description: "Query a dataset in Sanity. [See the documentation](https://www.sanity.io/docs/http-reference/query)", + version: "0.0.1", + type: "action", + annotations: { + destructiveHint: false, + openWorldHint: true, + readOnlyHint: true, + }, + props: { + sanity, + dataset: { + propDefinition: [ + sanity, + "dataset", + ], + }, + query: { + type: "string", + label: "Query", + description: "The GROQ query to run. Example: `*[_type == 'movie']`", + default: "*", + }, + }, + async run({ $ }) { + const response = await this.sanity.queryDataset({ + $, + dataset: this.dataset, + params: { + query: this.query, + }, + }); + + $.export("$summary", "Successfully queried dataset"); + return response; + }, +}; diff --git a/components/sanity/common/constants.mjs b/components/sanity/common/constants.mjs new file mode 100644 index 0000000000000..4dc9869164b2b --- /dev/null +++ b/components/sanity/common/constants.mjs @@ -0,0 +1,7 @@ +const API_VERSION = "v2025-02-19"; +const DEFAULT_LIMIT = 50; + +export { + API_VERSION, + DEFAULT_LIMIT, +}; diff --git a/components/sanity/common/utils.mjs b/components/sanity/common/utils.mjs new file mode 100644 index 0000000000000..4fdf339c45632 --- /dev/null +++ b/components/sanity/common/utils.mjs @@ -0,0 +1,31 @@ +const parseObject = (obj) => { + if (!obj) { + return undefined; + } + if (typeof obj === "string") { + try { + return JSON.parse(obj); + } catch (e) { + return obj; + } + } + if (Array.isArray(obj)) { + return obj.map(parseObject); + } + if (typeof obj === "object") { + return Object.fromEntries( + Object.entries(obj).map(([ + key, + value, + ]) => [ + key, + parseObject(value), + ]), + ); + } + return obj; +}; + +export { + parseObject, +}; diff --git a/components/sanity/package.json b/components/sanity/package.json index 64abcab91c1b7..ba2788469fc53 100644 --- a/components/sanity/package.json +++ b/components/sanity/package.json @@ -1,6 +1,6 @@ { "name": "@pipedream/sanity", - "version": "0.0.1", + "version": "0.1.0", "description": "Pipedream Sanity Components", "main": "sanity.app.mjs", "keywords": [ @@ -11,5 +11,8 @@ "author": "Pipedream (https://pipedream.com/)", "publishConfig": { "access": "public" + }, + "dependencies": { + "@pipedream/platform": "^3.1.1" } -} \ No newline at end of file +} diff --git a/components/sanity/sanity.app.mjs b/components/sanity/sanity.app.mjs index 30c018480b5cf..5838c9404d36f 100644 --- a/components/sanity/sanity.app.mjs +++ b/components/sanity/sanity.app.mjs @@ -1,11 +1,93 @@ +import { axios } from "@pipedream/platform"; +import { + API_VERSION, DEFAULT_LIMIT, +} from "./common/constants.mjs"; + export default { type: "app", app: "sanity", - propDefinitions: {}, + propDefinitions: { + dataset: { + type: "string", + label: "Dataset", + description: "The dataset to use", + }, + documentId: { + type: "string", + label: "Document ID", + description: "The document ID to use", + async options({ + dataset, page, + }) { + const response = await this.queryDataset({ + dataset, + params: { + query: `* | order(_id) [${DEFAULT_LIMIT * page}...${DEFAULT_LIMIT * (page + 1)}]`, + }, + }); + return response.result.map(({ _id }) => _id); + }, + }, + }, methods: { - // this.$auth contains connected account data - authKeys() { - console.log(Object.keys(this.$auth)); + _projectId() { + return this.$auth.project_id; + }, + _baseUrl(version = API_VERSION) { + return `https://${this._projectId()}.api.sanity.io/${version}`; + }, + _makeRequest({ + $ = this, path, version, ...opts + }) { + return axios($, { + url: `${this._baseUrl(version)}${path}`, + headers: { + "Authorization": `Bearer ${this.$auth.api_token}`, + "Content-Type": "application/json", + }, + ...opts, + }); + }, + createWebhook(opts = {}) { + return this._makeRequest({ + path: `/hooks/projects/${this._projectId()}`, + method: "POST", + ...opts, + }); + }, + deleteWebhook({ + hookId, ...opts + }) { + return this._makeRequest({ + path: `/hooks/projects/${this._projectId()}/${hookId}`, + method: "DELETE", + ...opts, + }); + }, + getDocument({ + dataset, documentId, ...opts + }) { + return this._makeRequest({ + path: `/data/doc/${dataset}/${documentId}`, + ...opts, + }); + }, + queryDataset({ + dataset, ...opts + }) { + return this._makeRequest({ + path: `/data/query/${dataset}`, + ...opts, + }); + }, + createDocument({ + dataset, ...opts + }) { + return this._makeRequest({ + path: `/data/actions/${dataset}`, + method: "POST", + ...opts, + }); }, }, -}; \ No newline at end of file +}; diff --git a/components/sanity/sources/common/base.mjs b/components/sanity/sources/common/base.mjs new file mode 100644 index 0000000000000..58c12abf98f6f --- /dev/null +++ b/components/sanity/sources/common/base.mjs @@ -0,0 +1,74 @@ +import sanity from "../../sanity.app.mjs"; +import { ConfigurationError } from "@pipedream/platform"; +import { API_VERSION } from "../../common/constants.mjs"; + +export default { + props: { + sanity, + db: "$.service.db", + http: { + type: "$.interface.http", + customResponse: true, + }, + name: { + type: "string", + label: "Webhook Name", + description: "The name of the webhook", + }, + dataset: { + propDefinition: [ + sanity, + "dataset", + ], + }, + }, + methods: { + _getHookId() { + return this.db.get("hookId"); + }, + _setHookId(hookId) { + this.db.set("hookId", hookId); + }, + getWebhookArgs() { + throw new ConfigurationError("getWebhookArgs is not implemented"); + }, + generateMeta() { + throw new ConfigurationError("generateMeta is not implemented"); + }, + }, + hooks: { + async activate() { + const webhookArgs = this.getWebhookArgs(); + const { id } = await this.sanity.createWebhook({ + data: { + name: this.name, + url: this.http.endpoint, + dataset: this.dataset, + apiVersion: API_VERSION, + ...webhookArgs, + }, + }); + this._setHookId(id); + }, + async deactivate() { + const hookId = this._getHookId(); + if (hookId) { + await this.sanity.deleteWebhook({ + hookId, + }); + } + }, + }, + async run({ body }) { + if (!body) { + return; + } + + this.http.respond({ + status: 200, + }); + + const meta = this.generateMeta(body); + this.$emit(body, meta); + }, +}; diff --git a/components/sanity/sources/new-document-event/new-document-event.mjs b/components/sanity/sources/new-document-event/new-document-event.mjs new file mode 100644 index 0000000000000..851f415f7f3a9 --- /dev/null +++ b/components/sanity/sources/new-document-event/new-document-event.mjs @@ -0,0 +1,59 @@ +import common from "../common/base.mjs"; +import sampleEmit from "./test-event.mjs"; + +export default { + ...common, + key: "sanity-new-document-event", + name: "New Document Event (Instant)", + description: "Emit new event when a new document is created. [See the documentation](https://www.sanity.io/docs/http-reference/webhooks#createWebhook)", + version: "0.0.1", + type: "source", + dedupe: "unique", + props: { + ...common.props, + on: { + type: "string[]", + label: "Type", + description: "The type of document event(s)to listen for", + options: [ + "create", + "update", + "delete", + ], + }, + includeDrafts: { + type: "boolean", + label: "Include Drafts", + description: "Set to `true` to trigger on changes to draft documents", + optional: true, + }, + includeAllVersions: { + type: "boolean", + label: "Include All Versions", + description: "Set `true` to trigger on changes to version documents", + optional: true, + }, + }, + methods: { + ...common.methods, + getWebhookArgs() { + return { + type: "document", + rule: { + on: this.on, + }, + includeDrafts: this.includeDrafts, + includeAllVersions: this.includeAllVersions, + }; + }, + generateMeta(event) { + const ts = Date.parse(event._updatedAt); + return { + id: `${event._id}-${ts}`, + summary: `New Event ID: ${event._id}`, + ts, + }; + }, + }, + sampleEmit, +}; diff --git a/components/sanity/sources/new-document-event/test-event.mjs b/components/sanity/sources/new-document-event/test-event.mjs new file mode 100644 index 0000000000000..4393071be20ce --- /dev/null +++ b/components/sanity/sources/new-document-event/test-event.mjs @@ -0,0 +1,24 @@ +export default { + "slug": { + "current": "my-first-post" + }, + "body": [ + { + "children": [ + { + "text": "Hello world!", + "_type": "span", + "_key": "EvPfkr19v0Rx2q9dajuwVI" + } + ], + "_key": "EvPfkr19v0Rx2q9dajuwQ7", + "_type": "block" + } + ], + "_createdAt": "2025-11-19T22:56:17Z", + "_updatedAt": "2025-11-19T22:56:17Z", + "_rev": "EvPfkr19v0Rx2q9dajuwKw", + "_type": "post", + "_id": "drafts.post-123456", + "title": "My First Post" +} \ No newline at end of file From 909b661e5c77e17d31d2c819d348f976abfc87ca Mon Sep 17 00:00:00 2001 From: Michelle Bergeron Date: Wed, 19 Nov 2025 17:58:53 -0500 Subject: [PATCH 2/4] pnpm-lock.yaml --- pnpm-lock.yaml | 319 +++++++++++++++++++++++++++++++++++++------------ 1 file changed, 243 insertions(+), 76 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 07fbf0d8b3272..1bacaf1648c7c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8374,7 +8374,7 @@ importers: dependencies: linkup-sdk: specifier: ^1.0.3 - version: 1.2.0(@types/node@20.19.25)(typescript@5.6.3) + version: 1.2.0(@types/node@22.19.1)(typescript@5.9.3) components/linkupapi: dependencies: @@ -12863,7 +12863,11 @@ importers: specifier: ^3.1.1 version: 3.1.1 - components/sanity: {} + components/sanity: + dependencies: + '@pipedream/platform': + specifier: ^3.1.1 + version: 3.1.1 components/sap_s_4hana_cloud: {} @@ -17423,7 +17427,7 @@ importers: version: 3.1.11 ts-jest: specifier: ^29.2.5 - version: 29.4.5(@babel/core@7.28.5)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.28.5))(esbuild@0.25.12)(jest-util@29.7.0)(jest@29.7.0(@types/node@20.19.25)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.25)(typescript@5.6.3)))(typescript@5.6.3) + version: 29.4.5(@babel/core@7.28.5)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.28.5))(jest-util@29.7.0)(jest@29.7.0(@types/node@20.19.25)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.25)(typescript@5.6.3)))(typescript@5.6.3) tsup: specifier: ^8.3.6 version: 8.5.0(@microsoft/api-extractor@7.55.0(@types/node@20.19.25))(jiti@2.6.1)(postcss@8.5.6)(tsx@4.20.6)(typescript@5.6.3)(yaml@2.8.1) @@ -34784,7 +34788,7 @@ snapshots: '@babel/types': 7.28.5 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -34804,7 +34808,7 @@ snapshots: '@jridgewell/remapping': 2.3.5 '@types/gensync': 1.0.4 convert-source-map: 2.0.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 7.7.3 @@ -34881,7 +34885,7 @@ snapshots: '@babel/core': 7.28.5 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) lodash.debounce: 4.0.8 resolve: 1.22.11 transitivePeerDependencies: @@ -35646,7 +35650,7 @@ snapshots: '@babel/parser': 7.28.5 '@babel/template': 7.27.2 '@babel/types': 7.28.5 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) transitivePeerDependencies: - supports-color @@ -35658,7 +35662,7 @@ snapshots: '@babel/parser': 8.0.0-beta.3 '@babel/template': 8.0.0-beta.3 '@babel/types': 8.0.0-beta.3 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) transitivePeerDependencies: - supports-color @@ -35786,6 +35790,19 @@ snapshots: - '@types/node' - typescript + '@commitlint/cli@19.8.1(@types/node@22.19.1)(typescript@5.9.3)': + dependencies: + '@commitlint/format': 19.8.1 + '@commitlint/lint': 19.8.1 + '@commitlint/load': 19.8.1(@types/node@22.19.1)(typescript@5.9.3) + '@commitlint/read': 19.8.1 + '@commitlint/types': 19.8.1 + tinyexec: 1.0.2 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - typescript + '@commitlint/config-conventional@19.8.1': dependencies: '@commitlint/types': 19.8.1 @@ -35840,6 +35857,22 @@ snapshots: - '@types/node' - typescript + '@commitlint/load@19.8.1(@types/node@22.19.1)(typescript@5.9.3)': + dependencies: + '@commitlint/config-validator': 19.8.1 + '@commitlint/execute-rule': 19.8.1 + '@commitlint/resolve-extends': 19.8.1 + '@commitlint/types': 19.8.1 + chalk: 5.6.2 + cosmiconfig: 9.0.0(typescript@5.9.3) + cosmiconfig-typescript-loader: 6.2.0(@types/node@22.19.1)(cosmiconfig@9.0.0(typescript@5.9.3))(typescript@5.9.3) + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + lodash.uniq: 4.5.0 + transitivePeerDependencies: + - '@types/node' + - typescript + '@commitlint/message@19.8.1': {} '@commitlint/parse@19.8.1': @@ -36317,7 +36350,7 @@ snapshots: '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) espree: 9.6.1 globals: 13.24.0 ignore: 5.3.2 @@ -36331,7 +36364,7 @@ snapshots: '@eslint/eslintrc@3.3.1': dependencies: ajv: 6.12.6 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 @@ -36820,7 +36853,7 @@ snapshots: '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -38536,7 +38569,7 @@ snapshots: '@pnpm/tabtab@0.5.4': dependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) enquirer: 2.4.1 minimist: 1.2.8 untildify: 4.0.0 @@ -38617,7 +38650,7 @@ snapshots: '@puppeteer/browsers@2.10.13': dependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) extract-zip: 2.0.1 progress: 2.0.3 proxy-agent: 6.5.0 @@ -38710,7 +38743,7 @@ snapshots: '@putout/babel': 3.2.0 '@putout/engine-parser': 12.6.0 '@putout/operate': 13.5.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) jessy: 4.1.0 nessy: 5.3.0 transitivePeerDependencies: @@ -38721,7 +38754,7 @@ snapshots: '@putout/babel': 3.2.0 '@putout/engine-parser': 13.1.0(rolldown@1.0.0-beta.9)(rollup@4.53.2) '@putout/operate': 13.5.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) jessy: 4.1.0 nessy: 5.3.0 transitivePeerDependencies: @@ -38734,7 +38767,7 @@ snapshots: '@putout/babel': 4.5.2(rolldown@1.0.0-beta.9)(rollup@4.53.2) '@putout/engine-parser': 14.2.0(rolldown@1.0.0-beta.9)(rollup@4.53.2) '@putout/operate': 14.2.0(rolldown@1.0.0-beta.9)(rollup@4.53.2) - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) jessy: 4.1.0 nessy: 5.3.0 transitivePeerDependencies: @@ -38831,7 +38864,7 @@ snapshots: '@putout/operator-filesystem': 9.0.1(putout@40.13.0(eslint@8.57.1)(rolldown@1.0.0-beta.9)(rollup@4.53.2)(typescript@5.6.3))(rolldown@1.0.0-beta.9)(rollup@4.53.2) '@putout/operator-json': 2.2.0 '@putout/plugin-filesystem': 11.0.1(putout@40.13.0(eslint@8.57.1)(rolldown@1.0.0-beta.9)(rollup@4.53.2)(typescript@5.6.3))(rolldown@1.0.0-beta.9)(rollup@4.53.2) - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) fullstore: 3.0.0 jessy: 4.1.0 nessy: 5.3.0 @@ -39038,6 +39071,7 @@ snapshots: transitivePeerDependencies: - rolldown - rollup + - supports-color '@putout/operator-parens@2.0.0(rolldown@1.0.0-beta.9)(rollup@4.53.2)': dependencies: @@ -39994,7 +40028,7 @@ snapshots: conventional-changelog-writer: 8.2.0 conventional-commits-filter: 5.0.0 conventional-commits-parser: 6.2.1 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) import-from-esm: 2.0.0 lodash-es: 4.17.21 micromatch: 4.0.8 @@ -40002,6 +40036,20 @@ snapshots: transitivePeerDependencies: - supports-color + '@semantic-release/commit-analyzer@13.0.1(semantic-release@24.2.9(typescript@5.9.3))': + dependencies: + conventional-changelog-angular: 8.1.0 + conventional-changelog-writer: 8.2.0 + conventional-commits-filter: 5.0.0 + conventional-commits-parser: 6.2.1 + debug: 4.4.3(supports-color@9.4.0) + import-from-esm: 2.0.0 + lodash-es: 4.17.21 + micromatch: 4.0.8 + semantic-release: 24.2.9(typescript@5.9.3) + transitivePeerDependencies: + - supports-color + '@semantic-release/error@4.0.0': {} '@semantic-release/github@11.0.6(semantic-release@24.2.9(typescript@5.6.3))': @@ -40012,7 +40060,7 @@ snapshots: '@octokit/plugin-throttling': 11.0.3(@octokit/core@7.0.6) '@semantic-release/error': 4.0.0 aggregate-error: 5.0.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) dir-glob: 3.0.1 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -40026,6 +40074,28 @@ snapshots: transitivePeerDependencies: - supports-color + '@semantic-release/github@11.0.6(semantic-release@24.2.9(typescript@5.9.3))': + dependencies: + '@octokit/core': 7.0.6 + '@octokit/plugin-paginate-rest': 13.2.1(@octokit/core@7.0.6) + '@octokit/plugin-retry': 8.0.3(@octokit/core@7.0.6) + '@octokit/plugin-throttling': 11.0.3(@octokit/core@7.0.6) + '@semantic-release/error': 4.0.0 + aggregate-error: 5.0.0 + debug: 4.4.3(supports-color@9.4.0) + dir-glob: 3.0.1 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + issue-parser: 7.0.1 + lodash-es: 4.17.21 + mime: 4.1.0 + p-filter: 4.1.0 + semantic-release: 24.2.9(typescript@5.9.3) + tinyglobby: 0.2.15 + url-join: 5.0.0 + transitivePeerDependencies: + - supports-color + '@semantic-release/npm@12.0.2(semantic-release@24.2.9(typescript@5.6.3))': dependencies: '@semantic-release/error': 4.0.0 @@ -40043,13 +40113,30 @@ snapshots: semver: 7.7.3 tempy: 3.1.0 + '@semantic-release/npm@12.0.2(semantic-release@24.2.9(typescript@5.9.3))': + dependencies: + '@semantic-release/error': 4.0.0 + aggregate-error: 5.0.0 + execa: 9.6.0 + fs-extra: 11.3.2 + lodash-es: 4.17.21 + nerf-dart: 1.0.0 + normalize-url: 8.1.0 + npm: 10.9.4 + rc: 1.2.8 + read-pkg: 9.0.1 + registry-auth-token: 5.1.0 + semantic-release: 24.2.9(typescript@5.9.3) + semver: 7.7.3 + tempy: 3.1.0 + '@semantic-release/release-notes-generator@14.1.0(semantic-release@24.2.9(typescript@5.6.3))': dependencies: conventional-changelog-angular: 8.1.0 conventional-changelog-writer: 8.2.0 conventional-commits-filter: 5.0.0 conventional-commits-parser: 6.2.1 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) get-stream: 7.0.1 import-from-esm: 2.0.0 into-stream: 7.0.0 @@ -40059,6 +40146,22 @@ snapshots: transitivePeerDependencies: - supports-color + '@semantic-release/release-notes-generator@14.1.0(semantic-release@24.2.9(typescript@5.9.3))': + dependencies: + conventional-changelog-angular: 8.1.0 + conventional-changelog-writer: 8.2.0 + conventional-commits-filter: 5.0.0 + conventional-commits-parser: 6.2.1 + debug: 4.4.3(supports-color@9.4.0) + get-stream: 7.0.1 + import-from-esm: 2.0.0 + into-stream: 7.0.0 + lodash-es: 4.17.21 + read-package-up: 11.0.0 + semantic-release: 24.2.9(typescript@5.9.3) + transitivePeerDependencies: + - supports-color + '@sendgrid/client@7.7.0': dependencies: '@sendgrid/helpers': 7.7.0 @@ -40687,7 +40790,7 @@ snapshots: '@tokenizer/inflate@0.3.1': dependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) fflate: 0.8.2 token-types: 6.1.1 transitivePeerDependencies: @@ -41104,7 +41207,7 @@ snapshots: '@typescript-eslint/types': 8.46.4 '@typescript-eslint/typescript-estree': 8.46.4(typescript@5.6.3) '@typescript-eslint/visitor-keys': 8.46.4 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) eslint: 8.57.1 typescript: 5.6.3 transitivePeerDependencies: @@ -41116,7 +41219,7 @@ snapshots: '@typescript-eslint/types': 8.46.4 '@typescript-eslint/typescript-estree': 8.46.4(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.46.4 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) eslint: 8.57.1 typescript: 5.9.3 transitivePeerDependencies: @@ -41135,7 +41238,7 @@ snapshots: dependencies: '@typescript-eslint/tsconfig-utils': 8.46.4(typescript@5.6.3) '@typescript-eslint/types': 8.46.4 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) typescript: 5.6.3 transitivePeerDependencies: - supports-color @@ -41144,7 +41247,7 @@ snapshots: dependencies: '@typescript-eslint/tsconfig-utils': 8.46.4(typescript@5.9.3) '@typescript-eslint/types': 8.46.4 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -41167,7 +41270,7 @@ snapshots: '@typescript-eslint/types': 8.46.4 '@typescript-eslint/typescript-estree': 8.46.4(typescript@5.6.3) '@typescript-eslint/utils': 8.46.4(eslint@8.57.1)(typescript@5.6.3) - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) eslint: 8.57.1 ts-api-utils: 2.1.0(typescript@5.6.3) typescript: 5.6.3 @@ -41179,7 +41282,7 @@ snapshots: '@typescript-eslint/types': 8.46.4 '@typescript-eslint/typescript-estree': 8.46.4(typescript@5.9.3) '@typescript-eslint/utils': 8.46.4(eslint@8.57.1)(typescript@5.9.3) - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) eslint: 8.57.1 ts-api-utils: 2.1.0(typescript@5.9.3) typescript: 5.9.3 @@ -41210,7 +41313,7 @@ snapshots: '@typescript-eslint/tsconfig-utils': 8.46.4(typescript@5.6.3) '@typescript-eslint/types': 8.46.4 '@typescript-eslint/visitor-keys': 8.46.4 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 @@ -41226,7 +41329,7 @@ snapshots: '@typescript-eslint/tsconfig-utils': 8.46.4(typescript@5.9.3) '@typescript-eslint/types': 8.46.4 '@typescript-eslint/visitor-keys': 8.46.4 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 @@ -41265,7 +41368,7 @@ snapshots: '@typescript/vfs@1.6.2(typescript@5.4.5)': dependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -41632,7 +41735,7 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) transitivePeerDependencies: - supports-color @@ -42390,7 +42493,7 @@ snapshots: dependencies: bytes: 3.1.2 content-type: 1.0.5 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) http-errors: 2.0.0 iconv-lite: 0.6.3 on-finished: 2.4.1 @@ -43177,6 +43280,13 @@ snapshots: jiti: 2.6.1 typescript: 5.6.3 + cosmiconfig-typescript-loader@6.2.0(@types/node@22.19.1)(cosmiconfig@9.0.0(typescript@5.9.3))(typescript@5.9.3): + dependencies: + '@types/node': 22.19.1 + cosmiconfig: 9.0.0(typescript@5.9.3) + jiti: 2.6.1 + typescript: 5.9.3 + cosmiconfig@5.2.1: dependencies: import-fresh: 2.0.0 @@ -43201,6 +43311,15 @@ snapshots: optionalDependencies: typescript: 5.6.3 + cosmiconfig@9.0.0(typescript@5.9.3): + dependencies: + env-paths: 2.2.1 + import-fresh: 3.3.1 + js-yaml: 4.1.1 + parse-json: 5.2.0 + optionalDependencies: + typescript: 5.9.3 + cp-file@6.2.0: dependencies: graceful-fs: 4.2.11 @@ -44318,7 +44437,7 @@ snapshots: eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@8.57.1): dependencies: '@nolyfill/is-core-module': 1.0.39 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) eslint: 8.57.1 get-tsconfig: 4.13.0 is-bun-module: 2.0.0 @@ -44591,7 +44710,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -44860,7 +44979,7 @@ snapshots: content-type: 1.0.5 cookie: 0.7.2 cookie-signature: 1.2.2 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 @@ -45176,7 +45295,7 @@ snapshots: finalhandler@2.1.0: dependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) encodeurl: 2.0.0 escape-html: 1.0.3 on-finished: 2.4.1 @@ -45289,7 +45408,7 @@ snapshots: dependencies: '@putout/engine-loader': 16.2.1(putout@40.13.0(eslint@8.57.1)(rolldown@1.0.0-beta.9)(rollup@4.53.2)(typescript@5.6.3)) '@putout/operator-keyword': 2.2.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) js-tokens: 9.0.1 transitivePeerDependencies: - putout @@ -45311,7 +45430,7 @@ snapshots: follow-redirects@1.15.11(debug@4.4.3): optionalDependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) for-each@0.3.5: dependencies: @@ -45628,7 +45747,7 @@ snapshots: dependencies: basic-ftp: 5.0.5 data-uri-to-buffer: 6.0.2 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) transitivePeerDependencies: - supports-color @@ -46370,14 +46489,14 @@ snapshots: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) transitivePeerDependencies: - supports-color http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.4 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) transitivePeerDependencies: - supports-color @@ -46430,14 +46549,14 @@ snapshots: https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) transitivePeerDependencies: - supports-color https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.4 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) transitivePeerDependencies: - supports-color @@ -46525,7 +46644,7 @@ snapshots: import-from-esm@2.0.0: dependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) import-meta-resolve: 4.2.0 transitivePeerDependencies: - supports-color @@ -47048,7 +47167,7 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -47749,7 +47868,7 @@ snapshots: dependencies: '@types/express': 4.17.25 '@types/jsonwebtoken': 9.0.10 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) jose: 4.15.9 limiter: 1.1.5 lru-memoizer: 2.3.0 @@ -47928,6 +48047,20 @@ snapshots: - supports-color - typescript + linkup-sdk@1.2.0(@types/node@22.19.1)(typescript@5.9.3): + dependencies: + '@commitlint/cli': 19.8.1(@types/node@22.19.1)(typescript@5.9.3) + '@commitlint/config-conventional': 19.8.1 + axios: 1.13.2(debug@3.2.7) + semantic-release: 24.2.9(typescript@5.9.3) + zod: 3.25.76 + zod-to-json-schema: 3.24.6(zod@3.25.76) + transitivePeerDependencies: + - '@types/node' + - debug + - supports-color + - typescript + lint-staged@12.5.0(enquirer@2.4.1): dependencies: cli-truncate: 3.1.0 @@ -48170,7 +48303,7 @@ snapshots: log4js@6.4.4: dependencies: date-format: 4.0.14 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) flatted: 3.3.3 rfdc: 1.4.1 streamroller: 3.1.5 @@ -48751,7 +48884,7 @@ snapshots: micromark@2.11.4: dependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) parse-entities: 2.0.0 transitivePeerDependencies: - supports-color @@ -48759,7 +48892,7 @@ snapshots: micromark@4.0.2: dependencies: '@types/debug': 4.1.12 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) decode-named-character-reference: 1.2.0 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 @@ -48951,7 +49084,7 @@ snapshots: mqtt-packet@6.10.0: dependencies: bl: 4.1.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) process-nextick-args: 2.0.1 transitivePeerDependencies: - supports-color @@ -48960,7 +49093,7 @@ snapshots: dependencies: commist: 1.1.0 concat-stream: 2.0.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) duplexify: 4.1.3 help-me: 3.0.0 inherits: 2.0.4 @@ -48999,7 +49132,7 @@ snapshots: dependencies: '@tediousjs/connection-string': 0.5.0 commander: 11.1.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) rfdc: 1.4.1 tarn: 3.0.2 tedious: 16.7.1 @@ -49146,7 +49279,7 @@ snapshots: content-type: 1.0.5 cookie: 1.0.2 cron-parser: 4.9.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) decache: 4.6.2 dot-prop: 9.0.0 dotenv: 17.2.3 @@ -49464,7 +49597,7 @@ snapshots: number-allocator@1.0.14: dependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) js-sdsl: 4.3.0 transitivePeerDependencies: - supports-color @@ -49919,7 +50052,7 @@ snapshots: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 agent-base: 7.1.4 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) get-uri: 6.0.5 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -50513,7 +50646,7 @@ snapshots: proxy-agent@6.5.0: dependencies: agent-base: 7.1.4 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 lru-cache: 7.18.3 @@ -50610,7 +50743,7 @@ snapshots: dependencies: '@puppeteer/browsers': 2.10.13 chromium-bidi: 10.5.1(devtools-protocol@0.0.1521046) - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) devtools-protocol: 0.0.1521046 typed-query-selector: 2.12.0 webdriver-bidi-protocol: 0.3.8 @@ -50774,7 +50907,7 @@ snapshots: '@putout/traverse': 14.0.0(rolldown@1.0.0-beta.9)(rollup@4.53.2) ajv: 8.17.1 ci-info: 4.3.1 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) deepmerge: 4.3.1 escalade: 3.2.0 fast-glob: 3.3.3 @@ -51458,7 +51591,7 @@ snapshots: retry-request@5.0.2: dependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) extend: 3.0.2 transitivePeerDependencies: - supports-color @@ -51519,7 +51652,7 @@ snapshots: '@babel/types': 7.28.5 ast-kit: 2.2.0 birpc: 2.8.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) dts-resolver: 2.1.3 get-tsconfig: 4.13.0 rolldown: 1.0.0-beta.9 @@ -51588,7 +51721,7 @@ snapshots: router@2.2.0: dependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) depd: 2.0.0 is-promise: 4.0.0 parseurl: 1.3.3 @@ -51722,7 +51855,42 @@ snapshots: '@semantic-release/release-notes-generator': 14.1.0(semantic-release@24.2.9(typescript@5.6.3)) aggregate-error: 5.0.0 cosmiconfig: 9.0.0(typescript@5.6.3) - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) + env-ci: 11.2.0 + execa: 9.6.0 + figures: 6.1.0 + find-versions: 6.0.0 + get-stream: 6.0.1 + git-log-parser: 1.2.1 + hook-std: 4.0.0 + hosted-git-info: 8.1.0 + import-from-esm: 2.0.0 + lodash-es: 4.17.21 + marked: 15.0.12 + marked-terminal: 7.3.0(marked@15.0.12) + micromatch: 4.0.8 + p-each-series: 3.0.0 + p-reduce: 3.0.0 + read-package-up: 11.0.0 + resolve-from: 5.0.0 + semver: 7.7.3 + semver-diff: 5.0.0 + signale: 1.4.0 + yargs: 17.7.2 + transitivePeerDependencies: + - supports-color + - typescript + + semantic-release@24.2.9(typescript@5.9.3): + dependencies: + '@semantic-release/commit-analyzer': 13.0.1(semantic-release@24.2.9(typescript@5.9.3)) + '@semantic-release/error': 4.0.0 + '@semantic-release/github': 11.0.6(semantic-release@24.2.9(typescript@5.9.3)) + '@semantic-release/npm': 12.0.2(semantic-release@24.2.9(typescript@5.9.3)) + '@semantic-release/release-notes-generator': 14.1.0(semantic-release@24.2.9(typescript@5.9.3)) + aggregate-error: 5.0.0 + cosmiconfig: 9.0.0(typescript@5.9.3) + debug: 4.4.3(supports-color@9.4.0) env-ci: 11.2.0 execa: 9.6.0 figures: 6.1.0 @@ -51788,7 +51956,7 @@ snapshots: send@1.2.0: dependencies: - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 @@ -52073,7 +52241,7 @@ snapshots: socks-proxy-agent@8.0.5: dependencies: agent-base: 7.1.4 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) socks: 2.8.7 transitivePeerDependencies: - supports-color @@ -52289,7 +52457,7 @@ snapshots: streamroller@3.1.5: dependencies: date-format: 4.0.14 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) fs-extra: 8.1.0 transitivePeerDependencies: - supports-color @@ -52508,7 +52676,7 @@ snapshots: cosmiconfig: 9.0.0(typescript@5.6.3) css-functions-list: 3.2.3 css-tree: 3.1.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) fast-glob: 3.3.3 fastest-levenshtein: 1.0.16 file-entry-cache: 10.1.4 @@ -52583,7 +52751,7 @@ snapshots: dependencies: component-emitter: 1.3.1 cookiejar: 2.1.4 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) form-data: 2.5.4 formidable: 1.2.6 methods: 1.1.2 @@ -52597,7 +52765,7 @@ snapshots: dependencies: component-emitter: 1.3.1 cookiejar: 2.1.4 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) fast-safe-stringify: 2.1.1 form-data: 3.0.4 formidable: 1.2.6 @@ -52944,7 +53112,7 @@ snapshots: dependencies: '@aws-sdk/client-s3': 3.929.0(aws-crt@1.27.5) '@aws-sdk/s3-request-presigner': 3.929.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) form-data: 4.0.4 got: 14.4.9 into-stream: 9.0.0 @@ -52997,7 +53165,7 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-jest@29.4.5(@babel/core@7.28.5)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.28.5))(esbuild@0.25.12)(jest-util@29.7.0)(jest@29.7.0(@types/node@20.19.25)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.25)(typescript@5.6.3)))(typescript@5.6.3): + ts-jest@29.4.5(@babel/core@7.28.5)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.28.5))(jest-util@29.7.0)(jest@29.7.0(@types/node@20.19.25)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.25)(typescript@5.6.3)))(typescript@5.6.3): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 @@ -53015,7 +53183,6 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.28.5) - esbuild: 0.25.12 jest-util: 29.7.0 ts-jest@29.4.5(@babel/core@8.0.0-beta.3)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@8.0.0-beta.3))(jest-util@29.7.0)(jest@29.7.0(@types/node@20.19.25)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.19.25)(typescript@5.6.3)))(typescript@5.6.3): @@ -53124,7 +53291,7 @@ snapshots: ansis: 4.2.0 cac: 6.7.14 chokidar: 4.0.3 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) diff: 8.0.2 empathic: 1.1.0 hookable: 5.5.3 @@ -53189,7 +53356,7 @@ snapshots: cac: 6.7.14 chokidar: 4.0.3 consola: 3.4.2 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) esbuild: 0.25.12 fix-dts-default-cjs-exports: 1.0.1 joycon: 3.1.1 @@ -53218,7 +53385,7 @@ snapshots: cac: 6.7.14 chokidar: 4.0.3 consola: 3.4.2 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) esbuild: 0.25.12 fix-dts-default-cjs-exports: 1.0.1 joycon: 3.1.1 @@ -53894,7 +54061,7 @@ snapshots: '@volar/typescript': 2.4.23 '@vue/language-core': 2.2.0(typescript@5.9.3) compare-versions: 6.1.1 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) kolorist: 1.8.0 local-pkg: 1.1.2 magic-string: 0.30.21 @@ -53926,7 +54093,7 @@ snapshots: dependencies: chalk: 4.1.2 commander: 9.5.0 - debug: 4.4.3(supports-color@5.5.0) + debug: 4.4.3(supports-color@9.4.0) transitivePeerDependencies: - supports-color From f07d31bcb6c3ae20ffdc6301ea6793d8c7261d52 Mon Sep 17 00:00:00 2001 From: Michelle Bergeron Date: Wed, 19 Nov 2025 18:19:41 -0500 Subject: [PATCH 3/4] updates --- components/sanity/actions/query-dataset/query-dataset.mjs | 2 +- components/sanity/sanity.app.mjs | 4 ++-- .../sanity/sources/new-document-event/new-document-event.mjs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/components/sanity/actions/query-dataset/query-dataset.mjs b/components/sanity/actions/query-dataset/query-dataset.mjs index d5f0b0743c3b9..7ca0f35bbe1f4 100644 --- a/components/sanity/actions/query-dataset/query-dataset.mjs +++ b/components/sanity/actions/query-dataset/query-dataset.mjs @@ -22,7 +22,7 @@ export default { query: { type: "string", label: "Query", - description: "The GROQ query to run. Example: `*[_type == 'movie']`", + description: "The GROQ query to run. Example: `*[_type == 'movie']`. Note: The default query `*` returns all documents in the dataset.", default: "*", }, }, diff --git a/components/sanity/sanity.app.mjs b/components/sanity/sanity.app.mjs index 5838c9404d36f..6783dd44c55f0 100644 --- a/components/sanity/sanity.app.mjs +++ b/components/sanity/sanity.app.mjs @@ -22,10 +22,10 @@ export default { const response = await this.queryDataset({ dataset, params: { - query: `* | order(_id) [${DEFAULT_LIMIT * page}...${DEFAULT_LIMIT * (page + 1)}]`, + query: `* | order(_id) [${DEFAULT_LIMIT * page}...${DEFAULT_LIMIT * (page + 1)}]`, }, }); - return response.result.map(({ _id }) => _id); + return response.result?.map(({ _id }) => _id) || []; }, }, }, diff --git a/components/sanity/sources/new-document-event/new-document-event.mjs b/components/sanity/sources/new-document-event/new-document-event.mjs index 851f415f7f3a9..c64620cea8b6d 100644 --- a/components/sanity/sources/new-document-event/new-document-event.mjs +++ b/components/sanity/sources/new-document-event/new-document-event.mjs @@ -14,7 +14,7 @@ export default { on: { type: "string[]", label: "Type", - description: "The type of document event(s)to listen for", + description: "The type of document event(s) to listen for", options: [ "create", "update", From 8381c8e04acf31087a5d63a00292a8270acf7c31 Mon Sep 17 00:00:00 2001 From: Michelle Bergeron Date: Fri, 21 Nov 2025 11:21:50 -0500 Subject: [PATCH 4/4] updates --- .../create-document/create-document.mjs | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/components/sanity/actions/create-document/create-document.mjs b/components/sanity/actions/create-document/create-document.mjs index b8edf65618378..f52365b81d4d7 100644 --- a/components/sanity/actions/create-document/create-document.mjs +++ b/components/sanity/actions/create-document/create-document.mjs @@ -1,5 +1,4 @@ import sanity from "../../sanity.app.mjs"; -import { ConfigurationError } from "@pipedream/platform"; import { parseObject } from "../../common/utils.mjs"; export default { @@ -21,23 +20,24 @@ export default { "dataset", ], }, - publishId: { + documentId: { type: "string", - label: "Publish ID", - description: "The publish ID of the document to create", + label: "Document ID", + description: "A unique identifier for the document to create", }, - document: { + type: { + type: "string", + label: "Type", + description: "The type of document to create. Example: `post`", + }, + additionalFields: { type: "object", - label: "Document", - description: "The document to create. Must include `_type` and `_id` fields. Example: `{\"_type\":\"post\",\"_id\":\"drafts.post-123\",\"title\":\"My First Post\",\"slug\":{\"current\":\"my-first-post\"},\"body\":[{\"_type\":\"block\",\"children\":[{\"_type\":\"span\",\"text\":\"Hello world!\"}]}]}`", + label: "Additional Fields", + description: "Additional fields to add to the document. Example: `{\"title\":\"My First Post\",\"slug\":{\"current\":\"my-first-post\"},\"body\":[{\"_type\":\"block\",\"children\":[{\"_type\":\"span\",\"text\":\"Hello world!\"}]}]}`", + optional: true, }, }, async run({ $ }) { - const document = parseObject(this.document); - if (!document._type || !document._id) { - throw new ConfigurationError("Document must include `_type` and `_id` fields"); - } - const response = await this.sanity.createDocument({ $, dataset: this.dataset, @@ -45,8 +45,12 @@ export default { actions: [ { actionType: "sanity.action.document.create", - publishedId: this.publishId, - document, + publishedId: this.documentId, + document: { + _id: `drafts.${this.documentId}`, + _type: this.type, + ...parseObject(this.additionalFields), + }, }, ], },