@keystrokehq/retailed 0.1.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.
Files changed (82) hide show
  1. package/README.md +17 -0
  2. package/dist/action.cjs +21 -0
  3. package/dist/action.cjs.map +1 -0
  4. package/dist/action.mjs +21 -0
  5. package/dist/action.mjs.map +1 -0
  6. package/dist/actions/get-goat-prices.cjs +30 -0
  7. package/dist/actions/get-goat-prices.cjs.map +1 -0
  8. package/dist/actions/get-goat-prices.d.cts +9 -0
  9. package/dist/actions/get-goat-prices.d.cts.map +1 -0
  10. package/dist/actions/get-goat-prices.d.mts +9 -0
  11. package/dist/actions/get-goat-prices.d.mts.map +1 -0
  12. package/dist/actions/get-goat-prices.mjs +29 -0
  13. package/dist/actions/get-goat-prices.mjs.map +1 -0
  14. package/dist/actions/get-stock-x-product.cjs +33 -0
  15. package/dist/actions/get-stock-x-product.cjs.map +1 -0
  16. package/dist/actions/get-stock-x-product.d.cts +9 -0
  17. package/dist/actions/get-stock-x-product.d.cts.map +1 -0
  18. package/dist/actions/get-stock-x-product.d.mts +9 -0
  19. package/dist/actions/get-stock-x-product.d.mts.map +1 -0
  20. package/dist/actions/get-stock-x-product.mjs +32 -0
  21. package/dist/actions/get-stock-x-product.mjs.map +1 -0
  22. package/dist/actions/get-stockx-search.cjs +35 -0
  23. package/dist/actions/get-stockx-search.cjs.map +1 -0
  24. package/dist/actions/get-stockx-search.d.cts +9 -0
  25. package/dist/actions/get-stockx-search.d.cts.map +1 -0
  26. package/dist/actions/get-stockx-search.d.mts +9 -0
  27. package/dist/actions/get-stockx-search.d.mts.map +1 -0
  28. package/dist/actions/get-stockx-search.mjs +34 -0
  29. package/dist/actions/get-stockx-search.mjs.map +1 -0
  30. package/dist/actions/get-stockx-trends.cjs +32 -0
  31. package/dist/actions/get-stockx-trends.cjs.map +1 -0
  32. package/dist/actions/get-stockx-trends.d.cts +9 -0
  33. package/dist/actions/get-stockx-trends.d.cts.map +1 -0
  34. package/dist/actions/get-stockx-trends.d.mts +9 -0
  35. package/dist/actions/get-stockx-trends.d.mts.map +1 -0
  36. package/dist/actions/get-stockx-trends.mjs +31 -0
  37. package/dist/actions/get-stockx-trends.mjs.map +1 -0
  38. package/dist/actions/get-usage.cjs +19 -0
  39. package/dist/actions/get-usage.cjs.map +1 -0
  40. package/dist/actions/get-usage.d.cts +9 -0
  41. package/dist/actions/get-usage.d.cts.map +1 -0
  42. package/dist/actions/get-usage.d.mts +9 -0
  43. package/dist/actions/get-usage.d.mts.map +1 -0
  44. package/dist/actions/get-usage.mjs +16 -0
  45. package/dist/actions/get-usage.mjs.map +1 -0
  46. package/dist/actions/index.cjs +13 -0
  47. package/dist/actions/index.d.cts +7 -0
  48. package/dist/actions/index.d.mts +7 -0
  49. package/dist/actions/index.mjs +7 -0
  50. package/dist/actions/search-products.cjs +57 -0
  51. package/dist/actions/search-products.cjs.map +1 -0
  52. package/dist/actions/search-products.d.cts +9 -0
  53. package/dist/actions/search-products.d.cts.map +1 -0
  54. package/dist/actions/search-products.d.mts +9 -0
  55. package/dist/actions/search-products.d.mts.map +1 -0
  56. package/dist/actions/search-products.mjs +56 -0
  57. package/dist/actions/search-products.mjs.map +1 -0
  58. package/dist/app.cjs +9 -0
  59. package/dist/app.cjs.map +1 -0
  60. package/dist/app.d.cts +5 -0
  61. package/dist/app.d.cts.map +1 -0
  62. package/dist/app.d.mts +5 -0
  63. package/dist/app.d.mts.map +1 -0
  64. package/dist/app.mjs +10 -0
  65. package/dist/app.mjs.map +1 -0
  66. package/dist/catalog.cjs +15 -0
  67. package/dist/catalog.cjs.map +1 -0
  68. package/dist/catalog.d.cts +14 -0
  69. package/dist/catalog.d.cts.map +1 -0
  70. package/dist/catalog.d.mts +14 -0
  71. package/dist/catalog.d.mts.map +1 -0
  72. package/dist/catalog.mjs +15 -0
  73. package/dist/catalog.mjs.map +1 -0
  74. package/dist/execute.cjs +18 -0
  75. package/dist/execute.cjs.map +1 -0
  76. package/dist/execute.mjs +18 -0
  77. package/dist/execute.mjs.map +1 -0
  78. package/dist/index.cjs +18 -0
  79. package/dist/index.d.cts +9 -0
  80. package/dist/index.d.mts +9 -0
  81. package/dist/index.mjs +10 -0
  82. package/package.json +49 -0
@@ -0,0 +1,16 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ const retailedGetUsage = action("RETAILED_GET_USAGE", {
4
+ slug: "retailed-get-usage",
5
+ name: "Get API Usage",
6
+ description: "Tool to retrieve current API usage statistics. The only mechanism to check remaining API credits; call proactively before long-running analyses to prevent mid-run quota exhaustion.",
7
+ input: z.object({}).describe("Request parameters for retrieving API usage statistics."),
8
+ output: z.object({
9
+ plan: z.string().describe("Plan name"),
10
+ remaining: z.union([z.number().int(), z.string()])
11
+ }).describe("Response model for API usage statistics.")
12
+ });
13
+ //#endregion
14
+ export { retailedGetUsage };
15
+
16
+ //# sourceMappingURL=get-usage.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-usage.mjs","names":[],"sources":["../../src/actions/get-usage.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const RetailedGetUsageInput: z.ZodTypeAny = z.object({}).describe(\"Request parameters for retrieving API usage statistics.\");\nexport const RetailedGetUsageOutput: z.ZodTypeAny = z.object({\n plan: z.string().describe(\"Plan name\"),\n remaining: z.union([z.number().int(), z.string()]),\n}).describe(\"Response model for API usage statistics.\");\n\nexport const retailedGetUsage = action(\"RETAILED_GET_USAGE\", {\n slug: \"retailed-get-usage\",\n name: \"Get API Usage\",\n description: \"Tool to retrieve current API usage statistics. The only mechanism to check remaining API credits; call proactively before long-running analyses to prevent mid-run quota exhaustion.\",\n input: RetailedGetUsageInput,\n output: RetailedGetUsageOutput,\n});\n"],"mappings":";;AAUA,MAAa,mBAAmB,OAAO,sBAAsB;CAC3D,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAViD,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,yDAUhE;CACP,QAVkD,EAAE,OAAO;EAC3D,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,WAAW;EACrC,WAAW,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;CACnD,CAAC,CAAC,CAAC,SAAS,0CAOF;AACV,CAAC"}
@@ -0,0 +1,13 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_get_goat_prices = require("./get-goat-prices.cjs");
3
+ const require_get_stock_x_product = require("./get-stock-x-product.cjs");
4
+ const require_get_stockx_search = require("./get-stockx-search.cjs");
5
+ const require_get_stockx_trends = require("./get-stockx-trends.cjs");
6
+ const require_get_usage = require("./get-usage.cjs");
7
+ const require_search_products = require("./search-products.cjs");
8
+ exports.retailedGetGoatPrices = require_get_goat_prices.retailedGetGoatPrices;
9
+ exports.retailedGetStockXProduct = require_get_stock_x_product.retailedGetStockXProduct;
10
+ exports.retailedGetStockxSearch = require_get_stockx_search.retailedGetStockxSearch;
11
+ exports.retailedGetStockxTrends = require_get_stockx_trends.retailedGetStockxTrends;
12
+ exports.retailedGetUsage = require_get_usage.retailedGetUsage;
13
+ exports.retailedSearchProducts = require_search_products.retailedSearchProducts;
@@ -0,0 +1,7 @@
1
+ import { retailedGetGoatPrices } from "./get-goat-prices.cjs";
2
+ import { retailedGetStockXProduct } from "./get-stock-x-product.cjs";
3
+ import { retailedGetStockxSearch } from "./get-stockx-search.cjs";
4
+ import { retailedGetStockxTrends } from "./get-stockx-trends.cjs";
5
+ import { retailedGetUsage } from "./get-usage.cjs";
6
+ import { retailedSearchProducts } from "./search-products.cjs";
7
+ export { retailedGetGoatPrices, retailedGetStockXProduct, retailedGetStockxSearch, retailedGetStockxTrends, retailedGetUsage, retailedSearchProducts };
@@ -0,0 +1,7 @@
1
+ import { retailedGetGoatPrices } from "./get-goat-prices.mjs";
2
+ import { retailedGetStockXProduct } from "./get-stock-x-product.mjs";
3
+ import { retailedGetStockxSearch } from "./get-stockx-search.mjs";
4
+ import { retailedGetStockxTrends } from "./get-stockx-trends.mjs";
5
+ import { retailedGetUsage } from "./get-usage.mjs";
6
+ import { retailedSearchProducts } from "./search-products.mjs";
7
+ export { retailedGetGoatPrices, retailedGetStockXProduct, retailedGetStockxSearch, retailedGetStockxTrends, retailedGetUsage, retailedSearchProducts };
@@ -0,0 +1,7 @@
1
+ import { retailedGetGoatPrices } from "./get-goat-prices.mjs";
2
+ import { retailedGetStockXProduct } from "./get-stock-x-product.mjs";
3
+ import { retailedGetStockxSearch } from "./get-stockx-search.mjs";
4
+ import { retailedGetStockxTrends } from "./get-stockx-trends.mjs";
5
+ import { retailedGetUsage } from "./get-usage.mjs";
6
+ import { retailedSearchProducts } from "./search-products.mjs";
7
+ export { retailedGetGoatPrices, retailedGetStockXProduct, retailedGetStockxSearch, retailedGetStockxTrends, retailedGetUsage, retailedSearchProducts };
@@ -0,0 +1,57 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/search-products.ts
4
+ const RetailedSearchProductsInput = zod.z.object({
5
+ page: zod.z.number().int().default(1).describe("Page number for pagination (default: 1).").optional(),
6
+ sort: zod.z.string().describe("Field to sort by. Prefix with '-' for descending order.").optional(),
7
+ limit: zod.z.number().int().default(10).describe("Number of products per page (default: 10, max: 100). Queries with many matches silently return only the first page; always manage `page` and `limit` explicitly when iterating full result sets.").optional(),
8
+ domain: zod.z.string().describe("Filter by domain (e.g., 'stockx.com', 'goat.com').").optional(),
9
+ source: zod.z.string().describe("Filter by source/marketplace name (e.g., 'stockx-us', 'goat-us').").optional()
10
+ }).describe("Request parameters for searching products in Retailed database.\nUses Retailed's granular querying language for filtering.");
11
+ const RetailedSearchProducts_ProductSchema = zod.z.object({
12
+ id: zod.z.number().int().describe("Product database ID.").nullable().optional(),
13
+ sku: zod.z.string().describe("Product SKU.").nullable().optional(),
14
+ url: zod.z.string().describe("Product URL.").nullable().optional(),
15
+ name: zod.z.string().describe("Source name (e.g., stockx-us).").nullable().optional(),
16
+ price: zod.z.number().describe("Product price.").nullable().optional(),
17
+ title: zod.z.string().describe("Product title.").nullable().optional(),
18
+ domain: zod.z.string().describe("Source domain (e.g., stockx.com).").nullable().optional(),
19
+ images: zod.z.array(zod.z.string()).describe("Product image URLs.").nullable().optional(),
20
+ country: zod.z.string().describe("Country code.").nullable().optional(),
21
+ urlSlug: zod.z.string().describe("URL slug.").nullable().optional(),
22
+ currency: zod.z.string().describe("Currency code.").nullable().optional(),
23
+ variants: zod.z.array(zod.z.record(zod.z.string(), zod.z.unknown())).describe("Product variants.").nullable().optional(),
24
+ condition: zod.z.string().describe("Product condition.").nullable().optional(),
25
+ createdAt: zod.z.string().describe("Creation timestamp.").nullable().optional(),
26
+ productId: zod.z.string().describe("Unique product identifier.").nullable().optional(),
27
+ salePrice: zod.z.number().describe("Sale price.").nullable().optional(),
28
+ updatedAt: zod.z.string().describe("Last update timestamp.").nullable().optional(),
29
+ description: zod.z.string().describe("Product description.").nullable().optional(),
30
+ availability: zod.z.string().describe("Availability status.").nullable().optional(),
31
+ currencySymbol: zod.z.string().describe("Currency symbol.").nullable().optional(),
32
+ lowestRecordedPrice: zod.z.number().describe("Lowest recorded price.").nullable().optional(),
33
+ highestRecordedPrice: zod.z.number().describe("Highest recorded price.").nullable().optional()
34
+ }).passthrough().describe("Product data model from Retailed database.");
35
+ const RetailedSearchProductsOutput = zod.z.object({
36
+ docs: zod.z.array(RetailedSearchProducts_ProductSchema).describe("List of matching products.").nullable().optional(),
37
+ page: zod.z.number().int().describe("Current page number.").nullable().optional(),
38
+ limit: zod.z.number().int().describe("Number of products per page.").nullable().optional(),
39
+ nextPage: zod.z.number().int().describe("Next page number.").nullable().optional(),
40
+ prevPage: zod.z.number().int().describe("Previous page number.").nullable().optional(),
41
+ totalDocs: zod.z.number().int().describe("Total number of matched products.").nullable().optional(),
42
+ totalPages: zod.z.number().int().describe("Total number of pages.").nullable().optional(),
43
+ hasNextPage: zod.z.boolean().describe("Whether next page exists.").nullable().optional(),
44
+ hasPrevPage: zod.z.boolean().describe("Whether previous page exists.").nullable().optional(),
45
+ pagingCounter: zod.z.number().int().describe("Starting index.").nullable().optional()
46
+ }).passthrough().describe("Response model for Retailed database products search.");
47
+ const retailedSearchProducts = require_action.action("RETAILED_SEARCH_PRODUCTS", {
48
+ slug: "retailed-search-products",
49
+ name: "Search Products",
50
+ description: "Search for products in Retailed database matching query criteria. Uses Retailed's granular querying language with support for filtering by name, SKU, brand. SKUs and size labels are not standardized across sources; normalize product IDs and size labels before comparing results across marketplaces.",
51
+ input: RetailedSearchProductsInput,
52
+ output: RetailedSearchProductsOutput
53
+ });
54
+ //#endregion
55
+ exports.retailedSearchProducts = retailedSearchProducts;
56
+
57
+ //# sourceMappingURL=search-products.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-products.cjs","names":["z","action"],"sources":["../../src/actions/search-products.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const RetailedSearchProductsInput: z.ZodTypeAny = z.object({\n page: z.number().int().default(1).describe(\"Page number for pagination (default: 1).\").optional(),\n sort: z.string().describe(\"Field to sort by. Prefix with '-' for descending order.\").optional(),\n limit: z.number().int().default(10).describe(\"Number of products per page (default: 10, max: 100). Queries with many matches silently return only the first page; always manage `page` and `limit` explicitly when iterating full result sets.\").optional(),\n domain: z.string().describe(\"Filter by domain (e.g., 'stockx.com', 'goat.com').\").optional(),\n source: z.string().describe(\"Filter by source/marketplace name (e.g., 'stockx-us', 'goat-us').\").optional(),\n}).describe(\"Request parameters for searching products in Retailed database.\\nUses Retailed's granular querying language for filtering.\");\nconst RetailedSearchProducts_ProductSchema: z.ZodTypeAny = z.object({\n id: z.number().int().describe(\"Product database ID.\").nullable().optional(),\n sku: z.string().describe(\"Product SKU.\").nullable().optional(),\n url: z.string().describe(\"Product URL.\").nullable().optional(),\n name: z.string().describe(\"Source name (e.g., stockx-us).\").nullable().optional(),\n price: z.number().describe(\"Product price.\").nullable().optional(),\n title: z.string().describe(\"Product title.\").nullable().optional(),\n domain: z.string().describe(\"Source domain (e.g., stockx.com).\").nullable().optional(),\n images: z.array(z.string()).describe(\"Product image URLs.\").nullable().optional(),\n country: z.string().describe(\"Country code.\").nullable().optional(),\n urlSlug: z.string().describe(\"URL slug.\").nullable().optional(),\n currency: z.string().describe(\"Currency code.\").nullable().optional(),\n variants: z.array(z.record(z.string(), z.unknown())).describe(\"Product variants.\").nullable().optional(),\n condition: z.string().describe(\"Product condition.\").nullable().optional(),\n createdAt: z.string().describe(\"Creation timestamp.\").nullable().optional(),\n productId: z.string().describe(\"Unique product identifier.\").nullable().optional(),\n salePrice: z.number().describe(\"Sale price.\").nullable().optional(),\n updatedAt: z.string().describe(\"Last update timestamp.\").nullable().optional(),\n description: z.string().describe(\"Product description.\").nullable().optional(),\n availability: z.string().describe(\"Availability status.\").nullable().optional(),\n currencySymbol: z.string().describe(\"Currency symbol.\").nullable().optional(),\n lowestRecordedPrice: z.number().describe(\"Lowest recorded price.\").nullable().optional(),\n highestRecordedPrice: z.number().describe(\"Highest recorded price.\").nullable().optional(),\n}).passthrough().describe(\"Product data model from Retailed database.\");\nexport const RetailedSearchProductsOutput: z.ZodTypeAny = z.object({\n docs: z.array(RetailedSearchProducts_ProductSchema).describe(\"List of matching products.\").nullable().optional(),\n page: z.number().int().describe(\"Current page number.\").nullable().optional(),\n limit: z.number().int().describe(\"Number of products per page.\").nullable().optional(),\n nextPage: z.number().int().describe(\"Next page number.\").nullable().optional(),\n prevPage: z.number().int().describe(\"Previous page number.\").nullable().optional(),\n totalDocs: z.number().int().describe(\"Total number of matched products.\").nullable().optional(),\n totalPages: z.number().int().describe(\"Total number of pages.\").nullable().optional(),\n hasNextPage: z.boolean().describe(\"Whether next page exists.\").nullable().optional(),\n hasPrevPage: z.boolean().describe(\"Whether previous page exists.\").nullable().optional(),\n pagingCounter: z.number().int().describe(\"Starting index.\").nullable().optional(),\n}).passthrough().describe(\"Response model for Retailed database products search.\");\n\nexport const retailedSearchProducts = action(\"RETAILED_SEARCH_PRODUCTS\", {\n slug: \"retailed-search-products\",\n name: \"Search Products\",\n description: \"Search for products in Retailed database matching query criteria. Uses Retailed's granular querying language with support for filtering by name, SKU, brand. SKUs and size labels are not standardized across sources; normalize product IDs and size labels before comparing results across marketplaces.\",\n input: RetailedSearchProductsInput,\n output: RetailedSearchProductsOutput,\n});\n"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/search-products.d.ts
4
+ declare const RetailedSearchProductsInput: z.ZodTypeAny;
5
+ declare const RetailedSearchProductsOutput: z.ZodTypeAny;
6
+ declare const retailedSearchProducts: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { retailedSearchProducts };
9
+ //# sourceMappingURL=search-products.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-products.d.cts","names":[],"sources":["../../src/actions/search-products.ts"],"mappings":";;;cAIa,2BAAA,EAA6B,CAAA,CAAE,UAM6F;AAAA,cAyB5H,4BAAA,EAA8B,CAAA,CAAE,UAWqC;AAAA,cAErE,sBAAA,gCAAsB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/search-products.d.ts
4
+ declare const RetailedSearchProductsInput: z.ZodTypeAny;
5
+ declare const RetailedSearchProductsOutput: z.ZodTypeAny;
6
+ declare const retailedSearchProducts: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { retailedSearchProducts };
9
+ //# sourceMappingURL=search-products.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-products.d.mts","names":[],"sources":["../../src/actions/search-products.ts"],"mappings":";;;cAIa,2BAAA,EAA6B,CAAA,CAAE,UAM6F;AAAA,cAyB5H,4BAAA,EAA8B,CAAA,CAAE,UAWqC;AAAA,cAErE,sBAAA,gCAAsB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,56 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ //#region src/actions/search-products.ts
4
+ const RetailedSearchProductsInput = z.object({
5
+ page: z.number().int().default(1).describe("Page number for pagination (default: 1).").optional(),
6
+ sort: z.string().describe("Field to sort by. Prefix with '-' for descending order.").optional(),
7
+ limit: z.number().int().default(10).describe("Number of products per page (default: 10, max: 100). Queries with many matches silently return only the first page; always manage `page` and `limit` explicitly when iterating full result sets.").optional(),
8
+ domain: z.string().describe("Filter by domain (e.g., 'stockx.com', 'goat.com').").optional(),
9
+ source: z.string().describe("Filter by source/marketplace name (e.g., 'stockx-us', 'goat-us').").optional()
10
+ }).describe("Request parameters for searching products in Retailed database.\nUses Retailed's granular querying language for filtering.");
11
+ const RetailedSearchProducts_ProductSchema = z.object({
12
+ id: z.number().int().describe("Product database ID.").nullable().optional(),
13
+ sku: z.string().describe("Product SKU.").nullable().optional(),
14
+ url: z.string().describe("Product URL.").nullable().optional(),
15
+ name: z.string().describe("Source name (e.g., stockx-us).").nullable().optional(),
16
+ price: z.number().describe("Product price.").nullable().optional(),
17
+ title: z.string().describe("Product title.").nullable().optional(),
18
+ domain: z.string().describe("Source domain (e.g., stockx.com).").nullable().optional(),
19
+ images: z.array(z.string()).describe("Product image URLs.").nullable().optional(),
20
+ country: z.string().describe("Country code.").nullable().optional(),
21
+ urlSlug: z.string().describe("URL slug.").nullable().optional(),
22
+ currency: z.string().describe("Currency code.").nullable().optional(),
23
+ variants: z.array(z.record(z.string(), z.unknown())).describe("Product variants.").nullable().optional(),
24
+ condition: z.string().describe("Product condition.").nullable().optional(),
25
+ createdAt: z.string().describe("Creation timestamp.").nullable().optional(),
26
+ productId: z.string().describe("Unique product identifier.").nullable().optional(),
27
+ salePrice: z.number().describe("Sale price.").nullable().optional(),
28
+ updatedAt: z.string().describe("Last update timestamp.").nullable().optional(),
29
+ description: z.string().describe("Product description.").nullable().optional(),
30
+ availability: z.string().describe("Availability status.").nullable().optional(),
31
+ currencySymbol: z.string().describe("Currency symbol.").nullable().optional(),
32
+ lowestRecordedPrice: z.number().describe("Lowest recorded price.").nullable().optional(),
33
+ highestRecordedPrice: z.number().describe("Highest recorded price.").nullable().optional()
34
+ }).passthrough().describe("Product data model from Retailed database.");
35
+ const retailedSearchProducts = action("RETAILED_SEARCH_PRODUCTS", {
36
+ slug: "retailed-search-products",
37
+ name: "Search Products",
38
+ description: "Search for products in Retailed database matching query criteria. Uses Retailed's granular querying language with support for filtering by name, SKU, brand. SKUs and size labels are not standardized across sources; normalize product IDs and size labels before comparing results across marketplaces.",
39
+ input: RetailedSearchProductsInput,
40
+ output: z.object({
41
+ docs: z.array(RetailedSearchProducts_ProductSchema).describe("List of matching products.").nullable().optional(),
42
+ page: z.number().int().describe("Current page number.").nullable().optional(),
43
+ limit: z.number().int().describe("Number of products per page.").nullable().optional(),
44
+ nextPage: z.number().int().describe("Next page number.").nullable().optional(),
45
+ prevPage: z.number().int().describe("Previous page number.").nullable().optional(),
46
+ totalDocs: z.number().int().describe("Total number of matched products.").nullable().optional(),
47
+ totalPages: z.number().int().describe("Total number of pages.").nullable().optional(),
48
+ hasNextPage: z.boolean().describe("Whether next page exists.").nullable().optional(),
49
+ hasPrevPage: z.boolean().describe("Whether previous page exists.").nullable().optional(),
50
+ pagingCounter: z.number().int().describe("Starting index.").nullable().optional()
51
+ }).passthrough().describe("Response model for Retailed database products search.")
52
+ });
53
+ //#endregion
54
+ export { retailedSearchProducts };
55
+
56
+ //# sourceMappingURL=search-products.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-products.mjs","names":[],"sources":["../../src/actions/search-products.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const RetailedSearchProductsInput: z.ZodTypeAny = z.object({\n page: z.number().int().default(1).describe(\"Page number for pagination (default: 1).\").optional(),\n sort: z.string().describe(\"Field to sort by. Prefix with '-' for descending order.\").optional(),\n limit: z.number().int().default(10).describe(\"Number of products per page (default: 10, max: 100). Queries with many matches silently return only the first page; always manage `page` and `limit` explicitly when iterating full result sets.\").optional(),\n domain: z.string().describe(\"Filter by domain (e.g., 'stockx.com', 'goat.com').\").optional(),\n source: z.string().describe(\"Filter by source/marketplace name (e.g., 'stockx-us', 'goat-us').\").optional(),\n}).describe(\"Request parameters for searching products in Retailed database.\\nUses Retailed's granular querying language for filtering.\");\nconst RetailedSearchProducts_ProductSchema: z.ZodTypeAny = z.object({\n id: z.number().int().describe(\"Product database ID.\").nullable().optional(),\n sku: z.string().describe(\"Product SKU.\").nullable().optional(),\n url: z.string().describe(\"Product URL.\").nullable().optional(),\n name: z.string().describe(\"Source name (e.g., stockx-us).\").nullable().optional(),\n price: z.number().describe(\"Product price.\").nullable().optional(),\n title: z.string().describe(\"Product title.\").nullable().optional(),\n domain: z.string().describe(\"Source domain (e.g., stockx.com).\").nullable().optional(),\n images: z.array(z.string()).describe(\"Product image URLs.\").nullable().optional(),\n country: z.string().describe(\"Country code.\").nullable().optional(),\n urlSlug: z.string().describe(\"URL slug.\").nullable().optional(),\n currency: z.string().describe(\"Currency code.\").nullable().optional(),\n variants: z.array(z.record(z.string(), z.unknown())).describe(\"Product variants.\").nullable().optional(),\n condition: z.string().describe(\"Product condition.\").nullable().optional(),\n createdAt: z.string().describe(\"Creation timestamp.\").nullable().optional(),\n productId: z.string().describe(\"Unique product identifier.\").nullable().optional(),\n salePrice: z.number().describe(\"Sale price.\").nullable().optional(),\n updatedAt: z.string().describe(\"Last update timestamp.\").nullable().optional(),\n description: z.string().describe(\"Product description.\").nullable().optional(),\n availability: z.string().describe(\"Availability status.\").nullable().optional(),\n currencySymbol: z.string().describe(\"Currency symbol.\").nullable().optional(),\n lowestRecordedPrice: z.number().describe(\"Lowest recorded price.\").nullable().optional(),\n highestRecordedPrice: z.number().describe(\"Highest recorded price.\").nullable().optional(),\n}).passthrough().describe(\"Product data model from Retailed database.\");\nexport const RetailedSearchProductsOutput: z.ZodTypeAny = z.object({\n docs: z.array(RetailedSearchProducts_ProductSchema).describe(\"List of matching products.\").nullable().optional(),\n page: z.number().int().describe(\"Current page number.\").nullable().optional(),\n limit: z.number().int().describe(\"Number of products per page.\").nullable().optional(),\n nextPage: z.number().int().describe(\"Next page number.\").nullable().optional(),\n prevPage: z.number().int().describe(\"Previous page number.\").nullable().optional(),\n totalDocs: z.number().int().describe(\"Total number of matched products.\").nullable().optional(),\n totalPages: z.number().int().describe(\"Total number of pages.\").nullable().optional(),\n hasNextPage: z.boolean().describe(\"Whether next page exists.\").nullable().optional(),\n hasPrevPage: z.boolean().describe(\"Whether previous page exists.\").nullable().optional(),\n pagingCounter: z.number().int().describe(\"Starting index.\").nullable().optional(),\n}).passthrough().describe(\"Response model for Retailed database products search.\");\n\nexport const retailedSearchProducts = action(\"RETAILED_SEARCH_PRODUCTS\", {\n slug: \"retailed-search-products\",\n name: \"Search Products\",\n description: \"Search for products in Retailed database matching query criteria. Uses Retailed's granular querying language with support for filtering by name, SKU, brand. SKUs and size labels are not standardized across sources; normalize product IDs and size labels before comparing results across marketplaces.\",\n input: RetailedSearchProductsInput,\n output: RetailedSearchProductsOutput,\n});\n"],"mappings":"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"}
package/dist/app.cjs ADDED
@@ -0,0 +1,9 @@
1
+ //#region src/app.ts
2
+ const retailed = (0, require("@keystrokehq/keystroke/app").defineApp)({
3
+ slug: "retailed",
4
+ auth: "keystroke"
5
+ });
6
+ //#endregion
7
+ exports.retailed = retailed;
8
+
9
+ //# sourceMappingURL=app.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.cjs","names":[],"sources":["../src/app.ts"],"sourcesContent":["import { defineApp } from \"@keystrokehq/keystroke/app\";\n\nexport const retailed = defineApp({\n slug: \"retailed\",\n auth: \"keystroke\",\n});\n"],"mappings":";AAEA,MAAa,YAAA,uCAAA,CAAA,CAAA,UAAA,CAAqB;CAChC,MAAM;CACN,MAAM;AACR,CAAC"}
package/dist/app.d.cts ADDED
@@ -0,0 +1,5 @@
1
+ //#region src/app.d.ts
2
+ declare const retailed: import("@keystrokehq/app").App<import("@keystrokehq/shared").Credential>;
3
+ //#endregion
4
+ export { retailed };
5
+ //# sourceMappingURL=app.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.cts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,QAAA,6BAAQ,GAAA,+BAAA,UAAA"}
package/dist/app.d.mts ADDED
@@ -0,0 +1,5 @@
1
+ //#region src/app.d.ts
2
+ declare const retailed: import("@keystrokehq/app").App<import("@keystrokehq/shared").Credential>;
3
+ //#endregion
4
+ export { retailed };
5
+ //# sourceMappingURL=app.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.mts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,QAAA,6BAAQ,GAAA,+BAAA,UAAA"}
package/dist/app.mjs ADDED
@@ -0,0 +1,10 @@
1
+ import { defineApp } from "@keystrokehq/keystroke/app";
2
+ //#region src/app.ts
3
+ const retailed = defineApp({
4
+ slug: "retailed",
5
+ auth: "keystroke"
6
+ });
7
+ //#endregion
8
+ export { retailed };
9
+
10
+ //# sourceMappingURL=app.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.mjs","names":[],"sources":["../src/app.ts"],"sourcesContent":["import { defineApp } from \"@keystrokehq/keystroke/app\";\n\nexport const retailed = defineApp({\n slug: \"retailed\",\n auth: \"keystroke\",\n});\n"],"mappings":";;AAEA,MAAa,WAAW,UAAU;CAChC,MAAM;CACN,MAAM;AACR,CAAC"}
@@ -0,0 +1,15 @@
1
+ //#region src/catalog.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ const retailedCatalog = {
4
+ "slug": "retailed",
5
+ "name": "Retailed",
6
+ "description": "Retailed is a global developer-first platform providing retail and resale marketplace APIs with access to product data, pricing information, and inventory management from major platforms like StockX, GOAT, Chrono24, and 50+ retail websites including sneakers, streetwear, watches, and luxury goods.",
7
+ "category": "eCommerce",
8
+ "logo": "https://logos.composio.dev/api/retailed",
9
+ "authKind": "keystroke",
10
+ "oauthScopes": []
11
+ };
12
+ //#endregion
13
+ exports.retailedCatalog = retailedCatalog;
14
+
15
+ //# sourceMappingURL=catalog.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.cjs","names":[],"sources":["../src/catalog.ts"],"sourcesContent":["/** Generated — kept in sync with src/app.ts. */\nexport const retailedCatalog = {\n \"slug\": \"retailed\",\n \"name\": \"Retailed\",\n \"description\": \"Retailed is a global developer-first platform providing retail and resale marketplace APIs with access to product data, pricing information, and inventory management from major platforms like StockX, GOAT, Chrono24, and 50+ retail websites including sneakers, streetwear, watches, and luxury goods.\",\n \"category\": \"eCommerce\",\n \"logo\": \"https://logos.composio.dev/api/retailed\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,kBAAkB;CAC7B,QAAQ;CACR,QAAQ;CACR,eAAe;CACf,YAAY;CACZ,QAAQ;CACR,YAAY;CACZ,eAAe,CAAC;AAClB"}
@@ -0,0 +1,14 @@
1
+ //#region src/catalog.d.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ declare const retailedCatalog: {
4
+ readonly slug: "retailed";
5
+ readonly name: "Retailed";
6
+ readonly description: "Retailed is a global developer-first platform providing retail and resale marketplace APIs with access to product data, pricing information, and inventory management from major platforms like StockX, GOAT, Chrono24, and 50+ retail websites including sneakers, streetwear, watches, and luxury goods.";
7
+ readonly category: "eCommerce";
8
+ readonly logo: "https://logos.composio.dev/api/retailed";
9
+ readonly authKind: "keystroke";
10
+ readonly oauthScopes: readonly [];
11
+ };
12
+ //#endregion
13
+ export { retailedCatalog };
14
+ //# sourceMappingURL=catalog.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.cts","names":[],"sources":["../src/catalog.ts"],"mappings":";;cACa,eAAA;EAAA"}
@@ -0,0 +1,14 @@
1
+ //#region src/catalog.d.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ declare const retailedCatalog: {
4
+ readonly slug: "retailed";
5
+ readonly name: "Retailed";
6
+ readonly description: "Retailed is a global developer-first platform providing retail and resale marketplace APIs with access to product data, pricing information, and inventory management from major platforms like StockX, GOAT, Chrono24, and 50+ retail websites including sneakers, streetwear, watches, and luxury goods.";
7
+ readonly category: "eCommerce";
8
+ readonly logo: "https://logos.composio.dev/api/retailed";
9
+ readonly authKind: "keystroke";
10
+ readonly oauthScopes: readonly [];
11
+ };
12
+ //#endregion
13
+ export { retailedCatalog };
14
+ //# sourceMappingURL=catalog.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.mts","names":[],"sources":["../src/catalog.ts"],"mappings":";;cACa,eAAA;EAAA"}
@@ -0,0 +1,15 @@
1
+ //#region src/catalog.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ const retailedCatalog = {
4
+ "slug": "retailed",
5
+ "name": "Retailed",
6
+ "description": "Retailed is a global developer-first platform providing retail and resale marketplace APIs with access to product data, pricing information, and inventory management from major platforms like StockX, GOAT, Chrono24, and 50+ retail websites including sneakers, streetwear, watches, and luxury goods.",
7
+ "category": "eCommerce",
8
+ "logo": "https://logos.composio.dev/api/retailed",
9
+ "authKind": "keystroke",
10
+ "oauthScopes": []
11
+ };
12
+ //#endregion
13
+ export { retailedCatalog };
14
+
15
+ //# sourceMappingURL=catalog.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.mjs","names":[],"sources":["../src/catalog.ts"],"sourcesContent":["/** Generated — kept in sync with src/app.ts. */\nexport const retailedCatalog = {\n \"slug\": \"retailed\",\n \"name\": \"Retailed\",\n \"description\": \"Retailed is a global developer-first platform providing retail and resale marketplace APIs with access to product data, pricing information, and inventory management from major platforms like StockX, GOAT, Chrono24, and 50+ retail websites including sneakers, streetwear, watches, and luxury goods.\",\n \"category\": \"eCommerce\",\n \"logo\": \"https://logos.composio.dev/api/retailed\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,kBAAkB;CAC7B,QAAQ;CACR,QAAQ;CACR,eAAe;CACf,YAAY;CACZ,QAAQ;CACR,YAAY;CACZ,eAAe,CAAC;AAClB"}
@@ -0,0 +1,18 @@
1
+ let _keystrokehq_keystroke_client = require("@keystrokehq/keystroke/client");
2
+ //#region src/execute.ts
3
+ const APP_SLUG = "retailed";
4
+ /** Pinned app version — updated on regeneration. */
5
+ const APP_VERSION = "20260615_00";
6
+ async function executeRetailedTool(tool, args) {
7
+ const { result } = await (0, _keystrokehq_keystroke_client.createKeystrokeClient)().tools.execute({
8
+ app: APP_SLUG,
9
+ tool,
10
+ arguments: args,
11
+ version: APP_VERSION
12
+ });
13
+ return result;
14
+ }
15
+ //#endregion
16
+ exports.executeRetailedTool = executeRetailedTool;
17
+
18
+ //# sourceMappingURL=execute.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.cjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"retailed\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executeRetailedTool(\n tool: string,\n args: Record<string, unknown>,\n): Promise<unknown> {\n const { result } = await createKeystrokeClient().tools.execute({\n app: APP_SLUG,\n tool,\n arguments: args,\n version: APP_VERSION,\n });\n return result;\n}\n"],"mappings":";;AAEA,MAAM,WAAW;;AAEjB,MAAM,cAAc;AAEpB,eAAsB,oBACpB,MACA,MACkB;CAClB,MAAM,EAAE,WAAW,OAAA,GAAA,8BAAA,sBAAA,CAA4B,CAAC,CAAC,MAAM,QAAQ;EAC7D,KAAK;EACL;EACA,WAAW;EACX,SAAS;CACX,CAAC;CACD,OAAO;AACT"}
@@ -0,0 +1,18 @@
1
+ import { createKeystrokeClient } from "@keystrokehq/keystroke/client";
2
+ //#region src/execute.ts
3
+ const APP_SLUG = "retailed";
4
+ /** Pinned app version — updated on regeneration. */
5
+ const APP_VERSION = "20260615_00";
6
+ async function executeRetailedTool(tool, args) {
7
+ const { result } = await createKeystrokeClient().tools.execute({
8
+ app: APP_SLUG,
9
+ tool,
10
+ arguments: args,
11
+ version: APP_VERSION
12
+ });
13
+ return result;
14
+ }
15
+ //#endregion
16
+ export { executeRetailedTool };
17
+
18
+ //# sourceMappingURL=execute.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.mjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"retailed\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executeRetailedTool(\n tool: string,\n args: Record<string, unknown>,\n): Promise<unknown> {\n const { result } = await createKeystrokeClient().tools.execute({\n app: APP_SLUG,\n tool,\n arguments: args,\n version: APP_VERSION,\n });\n return result;\n}\n"],"mappings":";;AAEA,MAAM,WAAW;;AAEjB,MAAM,cAAc;AAEpB,eAAsB,oBACpB,MACA,MACkB;CAClB,MAAM,EAAE,WAAW,MAAM,sBAAsB,CAAC,CAAC,MAAM,QAAQ;EAC7D,KAAK;EACL;EACA,WAAW;EACX,SAAS;CACX,CAAC;CACD,OAAO;AACT"}
package/dist/index.cjs ADDED
@@ -0,0 +1,18 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_app = require("./app.cjs");
3
+ const require_catalog = require("./catalog.cjs");
4
+ const require_get_goat_prices = require("./actions/get-goat-prices.cjs");
5
+ const require_get_stock_x_product = require("./actions/get-stock-x-product.cjs");
6
+ const require_get_stockx_search = require("./actions/get-stockx-search.cjs");
7
+ const require_get_stockx_trends = require("./actions/get-stockx-trends.cjs");
8
+ const require_get_usage = require("./actions/get-usage.cjs");
9
+ const require_search_products = require("./actions/search-products.cjs");
10
+ require("./actions/index.cjs");
11
+ exports.retailed = require_app.retailed;
12
+ exports.retailedCatalog = require_catalog.retailedCatalog;
13
+ exports.retailedGetGoatPrices = require_get_goat_prices.retailedGetGoatPrices;
14
+ exports.retailedGetStockXProduct = require_get_stock_x_product.retailedGetStockXProduct;
15
+ exports.retailedGetStockxSearch = require_get_stockx_search.retailedGetStockxSearch;
16
+ exports.retailedGetStockxTrends = require_get_stockx_trends.retailedGetStockxTrends;
17
+ exports.retailedGetUsage = require_get_usage.retailedGetUsage;
18
+ exports.retailedSearchProducts = require_search_products.retailedSearchProducts;
@@ -0,0 +1,9 @@
1
+ import { retailedGetGoatPrices } from "./actions/get-goat-prices.cjs";
2
+ import { retailedGetStockXProduct } from "./actions/get-stock-x-product.cjs";
3
+ import { retailedGetStockxSearch } from "./actions/get-stockx-search.cjs";
4
+ import { retailedGetStockxTrends } from "./actions/get-stockx-trends.cjs";
5
+ import { retailedGetUsage } from "./actions/get-usage.cjs";
6
+ import { retailedSearchProducts } from "./actions/search-products.cjs";
7
+ import { retailed } from "./app.cjs";
8
+ import { retailedCatalog } from "./catalog.cjs";
9
+ export { retailed, retailedCatalog, retailedGetGoatPrices, retailedGetStockXProduct, retailedGetStockxSearch, retailedGetStockxTrends, retailedGetUsage, retailedSearchProducts };
@@ -0,0 +1,9 @@
1
+ import { retailedGetGoatPrices } from "./actions/get-goat-prices.mjs";
2
+ import { retailedGetStockXProduct } from "./actions/get-stock-x-product.mjs";
3
+ import { retailedGetStockxSearch } from "./actions/get-stockx-search.mjs";
4
+ import { retailedGetStockxTrends } from "./actions/get-stockx-trends.mjs";
5
+ import { retailedGetUsage } from "./actions/get-usage.mjs";
6
+ import { retailedSearchProducts } from "./actions/search-products.mjs";
7
+ import { retailed } from "./app.mjs";
8
+ import { retailedCatalog } from "./catalog.mjs";
9
+ export { retailed, retailedCatalog, retailedGetGoatPrices, retailedGetStockXProduct, retailedGetStockxSearch, retailedGetStockxTrends, retailedGetUsage, retailedSearchProducts };
package/dist/index.mjs ADDED
@@ -0,0 +1,10 @@
1
+ import { retailed } from "./app.mjs";
2
+ import { retailedCatalog } from "./catalog.mjs";
3
+ import { retailedGetGoatPrices } from "./actions/get-goat-prices.mjs";
4
+ import { retailedGetStockXProduct } from "./actions/get-stock-x-product.mjs";
5
+ import { retailedGetStockxSearch } from "./actions/get-stockx-search.mjs";
6
+ import { retailedGetStockxTrends } from "./actions/get-stockx-trends.mjs";
7
+ import { retailedGetUsage } from "./actions/get-usage.mjs";
8
+ import { retailedSearchProducts } from "./actions/search-products.mjs";
9
+ import "./actions/index.mjs";
10
+ export { retailed, retailedCatalog, retailedGetGoatPrices, retailedGetStockXProduct, retailedGetStockxSearch, retailedGetStockxTrends, retailedGetUsage, retailedSearchProducts };
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@keystrokehq/retailed",
3
+ "version": "0.1.0",
4
+ "publishConfig": {
5
+ "access": "public",
6
+ "registry": "https://registry.npmjs.org"
7
+ },
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/keystrokehq/keystroke.git",
11
+ "directory": "packages/integrations/retailed"
12
+ },
13
+ "files": [
14
+ "dist"
15
+ ],
16
+ "sideEffects": false,
17
+ "type": "module",
18
+ "main": "./dist/index.cjs",
19
+ "module": "./dist/index.mjs",
20
+ "types": "./dist/index.d.mts",
21
+ "exports": {
22
+ ".": {
23
+ "types": "./dist/index.d.mts",
24
+ "import": "./dist/index.mjs",
25
+ "require": "./dist/index.cjs"
26
+ },
27
+ "./actions": {
28
+ "types": "./dist/actions/index.d.mts",
29
+ "import": "./dist/actions/index.mjs",
30
+ "require": "./dist/actions/index.cjs"
31
+ }
32
+ },
33
+ "peerDependencies": {
34
+ "@keystrokehq/keystroke": "^0.1.4",
35
+ "zod": "^4.4.3"
36
+ },
37
+ "devDependencies": {
38
+ "@keystrokehq/keystroke": "link:../../keystroke",
39
+ "@types/node": "^25.9.1",
40
+ "tsdown": "^0.22.0",
41
+ "typescript": "^6.0.3",
42
+ "zod": "^4.4.3"
43
+ },
44
+ "scripts": {
45
+ "build": "tsdown",
46
+ "dev": "tsdown --watch --no-clean",
47
+ "typecheck": "tsc --noEmit"
48
+ }
49
+ }