@keystrokehq/taggun 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 (146) 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/add-merchant-name.cjs +16 -0
  7. package/dist/actions/add-merchant-name.cjs.map +1 -0
  8. package/dist/actions/add-merchant-name.d.cts +9 -0
  9. package/dist/actions/add-merchant-name.d.cts.map +1 -0
  10. package/dist/actions/add-merchant-name.d.mts +9 -0
  11. package/dist/actions/add-merchant-name.d.mts.map +1 -0
  12. package/dist/actions/add-merchant-name.mjs +13 -0
  13. package/dist/actions/add-merchant-name.mjs.map +1 -0
  14. package/dist/actions/export-known-merchants.cjs +16 -0
  15. package/dist/actions/export-known-merchants.cjs.map +1 -0
  16. package/dist/actions/export-known-merchants.d.cts +9 -0
  17. package/dist/actions/export-known-merchants.d.cts.map +1 -0
  18. package/dist/actions/export-known-merchants.d.mts +9 -0
  19. package/dist/actions/export-known-merchants.d.mts.map +1 -0
  20. package/dist/actions/export-known-merchants.mjs +13 -0
  21. package/dist/actions/export-known-merchants.mjs.map +1 -0
  22. package/dist/actions/export-known-product-codes.cjs +16 -0
  23. package/dist/actions/export-known-product-codes.cjs.map +1 -0
  24. package/dist/actions/export-known-product-codes.d.cts +9 -0
  25. package/dist/actions/export-known-product-codes.d.cts.map +1 -0
  26. package/dist/actions/export-known-product-codes.d.mts +9 -0
  27. package/dist/actions/export-known-product-codes.d.mts.map +1 -0
  28. package/dist/actions/export-known-product-codes.mjs +13 -0
  29. package/dist/actions/export-known-product-codes.mjs.map +1 -0
  30. package/dist/actions/export-product-categories.cjs +16 -0
  31. package/dist/actions/export-product-categories.cjs.map +1 -0
  32. package/dist/actions/export-product-categories.d.cts +9 -0
  33. package/dist/actions/export-product-categories.d.cts.map +1 -0
  34. package/dist/actions/export-product-categories.d.mts +9 -0
  35. package/dist/actions/export-product-categories.d.mts.map +1 -0
  36. package/dist/actions/export-product-categories.mjs +13 -0
  37. package/dist/actions/export-product-categories.mjs.map +1 -0
  38. package/dist/actions/generate-merchants-csv.cjs +20 -0
  39. package/dist/actions/generate-merchants-csv.cjs.map +1 -0
  40. package/dist/actions/generate-merchants-csv.d.cts +9 -0
  41. package/dist/actions/generate-merchants-csv.d.cts.map +1 -0
  42. package/dist/actions/generate-merchants-csv.d.mts +9 -0
  43. package/dist/actions/generate-merchants-csv.d.mts.map +1 -0
  44. package/dist/actions/generate-merchants-csv.mjs +17 -0
  45. package/dist/actions/generate-merchants-csv.mjs.map +1 -0
  46. package/dist/actions/import-known-merchants.cjs +20 -0
  47. package/dist/actions/import-known-merchants.cjs.map +1 -0
  48. package/dist/actions/import-known-merchants.d.cts +9 -0
  49. package/dist/actions/import-known-merchants.d.cts.map +1 -0
  50. package/dist/actions/import-known-merchants.d.mts +9 -0
  51. package/dist/actions/import-known-merchants.d.mts.map +1 -0
  52. package/dist/actions/import-known-merchants.mjs +17 -0
  53. package/dist/actions/import-known-merchants.mjs.map +1 -0
  54. package/dist/actions/import-known-product-codes.cjs +25 -0
  55. package/dist/actions/import-known-product-codes.cjs.map +1 -0
  56. package/dist/actions/import-known-product-codes.d.cts +9 -0
  57. package/dist/actions/import-known-product-codes.d.cts.map +1 -0
  58. package/dist/actions/import-known-product-codes.d.mts +9 -0
  59. package/dist/actions/import-known-product-codes.d.mts.map +1 -0
  60. package/dist/actions/import-known-product-codes.mjs +22 -0
  61. package/dist/actions/import-known-product-codes.mjs.map +1 -0
  62. package/dist/actions/import-product-categories.cjs +25 -0
  63. package/dist/actions/import-product-categories.cjs.map +1 -0
  64. package/dist/actions/import-product-categories.d.cts +9 -0
  65. package/dist/actions/import-product-categories.d.cts.map +1 -0
  66. package/dist/actions/import-product-categories.d.mts +9 -0
  67. package/dist/actions/import-product-categories.d.mts.map +1 -0
  68. package/dist/actions/import-product-categories.mjs +22 -0
  69. package/dist/actions/import-product-categories.mjs.map +1 -0
  70. package/dist/actions/index.cjs +29 -0
  71. package/dist/actions/index.d.cts +15 -0
  72. package/dist/actions/index.d.mts +15 -0
  73. package/dist/actions/index.mjs +15 -0
  74. package/dist/actions/transcribe-receipt-encoded-simple.cjs +51 -0
  75. package/dist/actions/transcribe-receipt-encoded-simple.cjs.map +1 -0
  76. package/dist/actions/transcribe-receipt-encoded-simple.d.cts +9 -0
  77. package/dist/actions/transcribe-receipt-encoded-simple.d.cts.map +1 -0
  78. package/dist/actions/transcribe-receipt-encoded-simple.d.mts +9 -0
  79. package/dist/actions/transcribe-receipt-encoded-simple.d.mts.map +1 -0
  80. package/dist/actions/transcribe-receipt-encoded-simple.mjs +50 -0
  81. package/dist/actions/transcribe-receipt-encoded-simple.mjs.map +1 -0
  82. package/dist/actions/transcribe-receipt-encoded-verbose.cjs +50 -0
  83. package/dist/actions/transcribe-receipt-encoded-verbose.cjs.map +1 -0
  84. package/dist/actions/transcribe-receipt-encoded-verbose.d.cts +9 -0
  85. package/dist/actions/transcribe-receipt-encoded-verbose.d.cts.map +1 -0
  86. package/dist/actions/transcribe-receipt-encoded-verbose.d.mts +9 -0
  87. package/dist/actions/transcribe-receipt-encoded-verbose.d.mts.map +1 -0
  88. package/dist/actions/transcribe-receipt-encoded-verbose.mjs +47 -0
  89. package/dist/actions/transcribe-receipt-encoded-verbose.mjs.map +1 -0
  90. package/dist/actions/transcribe-receipt-file-simple.cjs +65 -0
  91. package/dist/actions/transcribe-receipt-file-simple.cjs.map +1 -0
  92. package/dist/actions/transcribe-receipt-file-simple.d.cts +9 -0
  93. package/dist/actions/transcribe-receipt-file-simple.d.cts.map +1 -0
  94. package/dist/actions/transcribe-receipt-file-simple.d.mts +9 -0
  95. package/dist/actions/transcribe-receipt-file-simple.d.mts.map +1 -0
  96. package/dist/actions/transcribe-receipt-file-simple.mjs +64 -0
  97. package/dist/actions/transcribe-receipt-file-simple.mjs.map +1 -0
  98. package/dist/actions/url-validation.cjs +37 -0
  99. package/dist/actions/url-validation.cjs.map +1 -0
  100. package/dist/actions/url-validation.d.cts +9 -0
  101. package/dist/actions/url-validation.d.cts.map +1 -0
  102. package/dist/actions/url-validation.d.mts +9 -0
  103. package/dist/actions/url-validation.d.mts.map +1 -0
  104. package/dist/actions/url-validation.mjs +36 -0
  105. package/dist/actions/url-validation.mjs.map +1 -0
  106. package/dist/actions/url-verbose.cjs +44 -0
  107. package/dist/actions/url-verbose.cjs.map +1 -0
  108. package/dist/actions/url-verbose.d.cts +9 -0
  109. package/dist/actions/url-verbose.d.cts.map +1 -0
  110. package/dist/actions/url-verbose.d.mts +9 -0
  111. package/dist/actions/url-verbose.d.mts.map +1 -0
  112. package/dist/actions/url-verbose.mjs +41 -0
  113. package/dist/actions/url-verbose.mjs.map +1 -0
  114. package/dist/actions/url.cjs +45 -0
  115. package/dist/actions/url.cjs.map +1 -0
  116. package/dist/actions/url.d.cts +9 -0
  117. package/dist/actions/url.d.cts.map +1 -0
  118. package/dist/actions/url.d.mts +9 -0
  119. package/dist/actions/url.d.mts.map +1 -0
  120. package/dist/actions/url.mjs +44 -0
  121. package/dist/actions/url.mjs.map +1 -0
  122. package/dist/app.cjs +9 -0
  123. package/dist/app.cjs.map +1 -0
  124. package/dist/app.d.cts +5 -0
  125. package/dist/app.d.cts.map +1 -0
  126. package/dist/app.d.mts +5 -0
  127. package/dist/app.d.mts.map +1 -0
  128. package/dist/app.mjs +10 -0
  129. package/dist/app.mjs.map +1 -0
  130. package/dist/catalog.cjs +15 -0
  131. package/dist/catalog.cjs.map +1 -0
  132. package/dist/catalog.d.cts +14 -0
  133. package/dist/catalog.d.cts.map +1 -0
  134. package/dist/catalog.d.mts +14 -0
  135. package/dist/catalog.d.mts.map +1 -0
  136. package/dist/catalog.mjs +15 -0
  137. package/dist/catalog.mjs.map +1 -0
  138. package/dist/execute.cjs +18 -0
  139. package/dist/execute.cjs.map +1 -0
  140. package/dist/execute.mjs +18 -0
  141. package/dist/execute.mjs.map +1 -0
  142. package/dist/index.cjs +34 -0
  143. package/dist/index.d.cts +17 -0
  144. package/dist/index.d.mts +17 -0
  145. package/dist/index.mjs +18 -0
  146. package/package.json +49 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.d.mts","names":[],"sources":["../../src/actions/url.ts"],"mappings":";;;cAIa,cAAA,EAAgB,CAAA,CAAE,UAK0D;AAAA,cAa5E,eAAA,EAAiB,CAAA,CAAE,UAYyD;AAAA,cAE5E,SAAA,gCAAS,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,44 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ //#region src/actions/url.ts
4
+ const TaggunUrlInput = z.object({
5
+ url: z.string().describe("Public HTTPS URL of the receipt/invoice image. Supported formats: JPEG, PNG, PDF, GIF. URL must be publicly accessible and point directly to the image file."),
6
+ refresh: z.boolean().default(false).describe("Set to true to bypass Taggun's cache and force fresh OCR processing of the image. Default is false (uses cached results if available).").optional(),
7
+ filename: z.string().describe("Optional filename for reference purposes (e.g., 'receipt.jpg'). Does not affect processing.").optional(),
8
+ contentType: z.string().describe("Optional MIME type of the image file (e.g., 'image/jpeg', 'image/png', 'application/pdf'). Auto-detected if not provided.").optional()
9
+ }).describe("Request model for processing a receipt or invoice image from a public URL.");
10
+ const TaggunUrl_LineItemSchema = z.object({
11
+ name: z.string().describe("Item description or name, as detected by OCR").nullable().optional(),
12
+ price: z.number().describe("Unit price of the item, if available").nullable().optional(),
13
+ quantity: z.number().describe("Quantity purchased, if available").nullable().optional(),
14
+ totalAmount: z.number().describe("Total amount for this line item").nullable().optional()
15
+ }).describe("A single line item from the receipt or invoice.");
16
+ const TaggunUrl_ConfidenceSchema = z.object({
17
+ date: z.number().describe("Confidence score for date").nullable().optional(),
18
+ total: z.number().describe("Confidence score for total amount").nullable().optional(),
19
+ merchant_name: z.number().describe("Confidence score for merchant name").nullable().optional(),
20
+ invoice_number: z.number().describe("Confidence score for invoice number").nullable().optional()
21
+ }).describe("Confidence scores for various extracted fields.");
22
+ const taggunUrl = action("TAGGUN_URL", {
23
+ slug: "taggun-url",
24
+ name: "Process Receipt via URL",
25
+ description: "Extract structured data from a receipt or invoice image using OCR. Provide a public URL to a receipt/invoice image (JPEG, PNG, PDF, GIF) and get back extracted fields like total amount, date, merchant name, tax, line items, and confidence scores. Use this when you need to digitize receipt/invoice data from a publicly accessible image URL. The API uses machine learning OCR to detect and extract key fields automatically.",
26
+ input: TaggunUrlInput,
27
+ output: z.object({
28
+ date: z.string().describe("Detected purchase date in ISO 8601 format").nullable().optional(),
29
+ rawText: z.string().describe("Raw OCR text extracted from the document").nullable().optional(),
30
+ currency: z.string().describe("Detected currency code (ISO 4217)").nullable().optional(),
31
+ lineItems: z.array(TaggunUrl_LineItemSchema).describe("List of detected line items").nullable().optional(),
32
+ taxAmount: z.number().describe("Detected total tax amount").nullable().optional(),
33
+ tipAmount: z.number().describe("Detected tip amount, if any").nullable().optional(),
34
+ confidence: TaggunUrl_ConfidenceSchema.nullable().optional(),
35
+ totalAmount: z.number().describe("Detected total amount").nullable().optional(),
36
+ merchantName: z.string().describe("Detected merchant or store name").nullable().optional(),
37
+ invoiceNumber: z.string().describe("Detected invoice or receipt number").nullable().optional(),
38
+ subTotalAmount: z.number().describe("Detected subtotal amount before tax").nullable().optional()
39
+ }).describe("Response model for basic data extracted from a receipt or invoice via URL.")
40
+ });
41
+ //#endregion
42
+ export { taggunUrl };
43
+
44
+ //# sourceMappingURL=url.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.mjs","names":[],"sources":["../../src/actions/url.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const TaggunUrlInput: z.ZodTypeAny = z.object({\n url: z.string().describe(\"Public HTTPS URL of the receipt/invoice image. Supported formats: JPEG, PNG, PDF, GIF. URL must be publicly accessible and point directly to the image file.\"),\n refresh: z.boolean().default(false).describe(\"Set to true to bypass Taggun's cache and force fresh OCR processing of the image. Default is false (uses cached results if available).\").optional(),\n filename: z.string().describe(\"Optional filename for reference purposes (e.g., 'receipt.jpg'). Does not affect processing.\").optional(),\n contentType: z.string().describe(\"Optional MIME type of the image file (e.g., 'image/jpeg', 'image/png', 'application/pdf'). Auto-detected if not provided.\").optional(),\n}).describe(\"Request model for processing a receipt or invoice image from a public URL.\");\nconst TaggunUrl_LineItemSchema: z.ZodTypeAny = z.object({\n name: z.string().describe(\"Item description or name, as detected by OCR\").nullable().optional(),\n price: z.number().describe(\"Unit price of the item, if available\").nullable().optional(),\n quantity: z.number().describe(\"Quantity purchased, if available\").nullable().optional(),\n totalAmount: z.number().describe(\"Total amount for this line item\").nullable().optional(),\n}).describe(\"A single line item from the receipt or invoice.\");\nconst TaggunUrl_ConfidenceSchema: z.ZodTypeAny = z.object({\n date: z.number().describe(\"Confidence score for date\").nullable().optional(),\n total: z.number().describe(\"Confidence score for total amount\").nullable().optional(),\n merchant_name: z.number().describe(\"Confidence score for merchant name\").nullable().optional(),\n invoice_number: z.number().describe(\"Confidence score for invoice number\").nullable().optional(),\n}).describe(\"Confidence scores for various extracted fields.\");\nexport const TaggunUrlOutput: z.ZodTypeAny = z.object({\n date: z.string().describe(\"Detected purchase date in ISO 8601 format\").nullable().optional(),\n rawText: z.string().describe(\"Raw OCR text extracted from the document\").nullable().optional(),\n currency: z.string().describe(\"Detected currency code (ISO 4217)\").nullable().optional(),\n lineItems: z.array(TaggunUrl_LineItemSchema).describe(\"List of detected line items\").nullable().optional(),\n taxAmount: z.number().describe(\"Detected total tax amount\").nullable().optional(),\n tipAmount: z.number().describe(\"Detected tip amount, if any\").nullable().optional(),\n confidence: TaggunUrl_ConfidenceSchema.nullable().optional(),\n totalAmount: z.number().describe(\"Detected total amount\").nullable().optional(),\n merchantName: z.string().describe(\"Detected merchant or store name\").nullable().optional(),\n invoiceNumber: z.string().describe(\"Detected invoice or receipt number\").nullable().optional(),\n subTotalAmount: z.number().describe(\"Detected subtotal amount before tax\").nullable().optional(),\n}).describe(\"Response model for basic data extracted from a receipt or invoice via URL.\");\n\nexport const taggunUrl = action(\"TAGGUN_URL\", {\n slug: \"taggun-url\",\n name: \"Process Receipt via URL\",\n description: \"Extract structured data from a receipt or invoice image using OCR. Provide a public URL to a receipt/invoice image (JPEG, PNG, PDF, GIF) and get back extracted fields like total amount, date, merchant name, tax, line items, and confidence scores. Use this when you need to digitize receipt/invoice data from a publicly accessible image URL. The API uses machine learning OCR to detect and extract key fields automatically.\",\n input: TaggunUrlInput,\n output: TaggunUrlOutput,\n});\n"],"mappings":";;;AAIA,MAAa,iBAA+B,EAAE,OAAO;CACnD,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,8JAA8J;CACvL,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,wIAAwI,CAAC,CAAC,SAAS;CAChM,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,6FAA6F,CAAC,CAAC,SAAS;CACtI,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,2HAA2H,CAAC,CAAC,SAAS;AACzK,CAAC,CAAC,CAAC,SAAS,4EAA4E;AACxF,MAAM,2BAAyC,EAAE,OAAO;CACtD,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,8CAA8C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9F,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvF,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtF,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC1F,CAAC,CAAC,CAAC,SAAS,iDAAiD;AAC7D,MAAM,6BAA2C,EAAE,OAAO;CACxD,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC3E,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,mCAAmC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACpF,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7F,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACjG,CAAC,CAAC,CAAC,SAAS,iDAAiD;AAe7D,MAAa,YAAY,OAAO,cAAc;CAC5C,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAnB2C,EAAE,OAAO;EACpD,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC3F,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC7F,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,mCAAmC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACvF,WAAW,EAAE,MAAM,wBAAwB,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACzG,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAChF,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAClF,YAAY,2BAA2B,SAAS,CAAC,CAAC,SAAS;EAC3D,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC9E,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACzF,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC7F,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjG,CAAC,CAAC,CAAC,SAAS,4EAOF;AACV,CAAC"}
package/dist/app.cjs ADDED
@@ -0,0 +1,9 @@
1
+ //#region src/app.ts
2
+ const taggun = (0, require("@keystrokehq/keystroke/app").defineApp)({
3
+ slug: "taggun",
4
+ auth: "keystroke"
5
+ });
6
+ //#endregion
7
+ exports.taggun = taggun;
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 taggun = defineApp({\n slug: \"taggun\",\n auth: \"keystroke\",\n});\n"],"mappings":";AAEA,MAAa,UAAA,uCAAA,CAAA,CAAA,UAAA,CAAmB;CAC9B,MAAM;CACN,MAAM;AACR,CAAC"}
package/dist/app.d.cts ADDED
@@ -0,0 +1,5 @@
1
+ //#region src/app.d.ts
2
+ declare const taggun: import("@keystrokehq/app").App<import("@keystrokehq/shared").Credential>;
3
+ //#endregion
4
+ export { taggun };
5
+ //# sourceMappingURL=app.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.cts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,MAAA,6BAAM,GAAA,+BAAA,UAAA"}
package/dist/app.d.mts ADDED
@@ -0,0 +1,5 @@
1
+ //#region src/app.d.ts
2
+ declare const taggun: import("@keystrokehq/app").App<import("@keystrokehq/shared").Credential>;
3
+ //#endregion
4
+ export { taggun };
5
+ //# sourceMappingURL=app.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.mts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,MAAA,6BAAM,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 taggun = defineApp({
4
+ slug: "taggun",
5
+ auth: "keystroke"
6
+ });
7
+ //#endregion
8
+ export { taggun };
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 taggun = defineApp({\n slug: \"taggun\",\n auth: \"keystroke\",\n});\n"],"mappings":";;AAEA,MAAa,SAAS,UAAU;CAC9B,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 taggunCatalog = {
4
+ "slug": "taggun",
5
+ "name": "Taggun",
6
+ "description": "Taggun is an AI-powered receipt OCR API that extracts structured data from receipt and invoice images in real-time. It supports 85+ languages, fraud detection, and automated expense tracking.",
7
+ "category": "AI Document Extraction",
8
+ "logo": "https://logos.composio.dev/api/taggun",
9
+ "authKind": "keystroke",
10
+ "oauthScopes": []
11
+ };
12
+ //#endregion
13
+ exports.taggunCatalog = taggunCatalog;
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 taggunCatalog = {\n \"slug\": \"taggun\",\n \"name\": \"Taggun\",\n \"description\": \"Taggun is an AI-powered receipt OCR API that extracts structured data from receipt and invoice images in real-time. It supports 85+ languages, fraud detection, and automated expense tracking.\",\n \"category\": \"AI Document Extraction\",\n \"logo\": \"https://logos.composio.dev/api/taggun\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,gBAAgB;CAC3B,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 taggunCatalog: {
4
+ readonly slug: "taggun";
5
+ readonly name: "Taggun";
6
+ readonly description: "Taggun is an AI-powered receipt OCR API that extracts structured data from receipt and invoice images in real-time. It supports 85+ languages, fraud detection, and automated expense tracking.";
7
+ readonly category: "AI Document Extraction";
8
+ readonly logo: "https://logos.composio.dev/api/taggun";
9
+ readonly authKind: "keystroke";
10
+ readonly oauthScopes: readonly [];
11
+ };
12
+ //#endregion
13
+ export { taggunCatalog };
14
+ //# sourceMappingURL=catalog.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.cts","names":[],"sources":["../src/catalog.ts"],"mappings":";;cACa,aAAA;EAAA"}
@@ -0,0 +1,14 @@
1
+ //#region src/catalog.d.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ declare const taggunCatalog: {
4
+ readonly slug: "taggun";
5
+ readonly name: "Taggun";
6
+ readonly description: "Taggun is an AI-powered receipt OCR API that extracts structured data from receipt and invoice images in real-time. It supports 85+ languages, fraud detection, and automated expense tracking.";
7
+ readonly category: "AI Document Extraction";
8
+ readonly logo: "https://logos.composio.dev/api/taggun";
9
+ readonly authKind: "keystroke";
10
+ readonly oauthScopes: readonly [];
11
+ };
12
+ //#endregion
13
+ export { taggunCatalog };
14
+ //# sourceMappingURL=catalog.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.mts","names":[],"sources":["../src/catalog.ts"],"mappings":";;cACa,aAAA;EAAA"}
@@ -0,0 +1,15 @@
1
+ //#region src/catalog.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ const taggunCatalog = {
4
+ "slug": "taggun",
5
+ "name": "Taggun",
6
+ "description": "Taggun is an AI-powered receipt OCR API that extracts structured data from receipt and invoice images in real-time. It supports 85+ languages, fraud detection, and automated expense tracking.",
7
+ "category": "AI Document Extraction",
8
+ "logo": "https://logos.composio.dev/api/taggun",
9
+ "authKind": "keystroke",
10
+ "oauthScopes": []
11
+ };
12
+ //#endregion
13
+ export { taggunCatalog };
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 taggunCatalog = {\n \"slug\": \"taggun\",\n \"name\": \"Taggun\",\n \"description\": \"Taggun is an AI-powered receipt OCR API that extracts structured data from receipt and invoice images in real-time. It supports 85+ languages, fraud detection, and automated expense tracking.\",\n \"category\": \"AI Document Extraction\",\n \"logo\": \"https://logos.composio.dev/api/taggun\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,gBAAgB;CAC3B,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 = "taggun";
4
+ /** Pinned app version — updated on regeneration. */
5
+ const APP_VERSION = "20260615_00";
6
+ async function executeTaggunTool(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.executeTaggunTool = executeTaggunTool;
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 = \"taggun\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executeTaggunTool(\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,kBACpB,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 = "taggun";
4
+ /** Pinned app version — updated on regeneration. */
5
+ const APP_VERSION = "20260615_00";
6
+ async function executeTaggunTool(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 { executeTaggunTool };
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 = \"taggun\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executeTaggunTool(\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,kBACpB,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,34 @@
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_add_merchant_name = require("./actions/add-merchant-name.cjs");
5
+ const require_export_known_merchants = require("./actions/export-known-merchants.cjs");
6
+ const require_export_known_product_codes = require("./actions/export-known-product-codes.cjs");
7
+ const require_export_product_categories = require("./actions/export-product-categories.cjs");
8
+ const require_generate_merchants_csv = require("./actions/generate-merchants-csv.cjs");
9
+ const require_import_known_merchants = require("./actions/import-known-merchants.cjs");
10
+ const require_import_known_product_codes = require("./actions/import-known-product-codes.cjs");
11
+ const require_import_product_categories = require("./actions/import-product-categories.cjs");
12
+ const require_transcribe_receipt_encoded_simple = require("./actions/transcribe-receipt-encoded-simple.cjs");
13
+ const require_transcribe_receipt_encoded_verbose = require("./actions/transcribe-receipt-encoded-verbose.cjs");
14
+ const require_transcribe_receipt_file_simple = require("./actions/transcribe-receipt-file-simple.cjs");
15
+ const require_url = require("./actions/url.cjs");
16
+ const require_url_validation = require("./actions/url-validation.cjs");
17
+ const require_url_verbose = require("./actions/url-verbose.cjs");
18
+ require("./actions/index.cjs");
19
+ exports.taggun = require_app.taggun;
20
+ exports.taggunAddMerchantName = require_add_merchant_name.taggunAddMerchantName;
21
+ exports.taggunCatalog = require_catalog.taggunCatalog;
22
+ exports.taggunExportKnownMerchants = require_export_known_merchants.taggunExportKnownMerchants;
23
+ exports.taggunExportKnownProductCodes = require_export_known_product_codes.taggunExportKnownProductCodes;
24
+ exports.taggunExportProductCategories = require_export_product_categories.taggunExportProductCategories;
25
+ exports.taggunGenerateMerchantsCsv = require_generate_merchants_csv.taggunGenerateMerchantsCsv;
26
+ exports.taggunImportKnownMerchants = require_import_known_merchants.taggunImportKnownMerchants;
27
+ exports.taggunImportKnownProductCodes = require_import_known_product_codes.taggunImportKnownProductCodes;
28
+ exports.taggunImportProductCategories = require_import_product_categories.taggunImportProductCategories;
29
+ exports.taggunTranscribeReceiptEncodedSimple = require_transcribe_receipt_encoded_simple.taggunTranscribeReceiptEncodedSimple;
30
+ exports.taggunTranscribeReceiptEncodedVerbose = require_transcribe_receipt_encoded_verbose.taggunTranscribeReceiptEncodedVerbose;
31
+ exports.taggunTranscribeReceiptFileSimple = require_transcribe_receipt_file_simple.taggunTranscribeReceiptFileSimple;
32
+ exports.taggunUrl = require_url.taggunUrl;
33
+ exports.taggunUrlValidation = require_url_validation.taggunUrlValidation;
34
+ exports.taggunUrlVerbose = require_url_verbose.taggunUrlVerbose;
@@ -0,0 +1,17 @@
1
+ import { taggunAddMerchantName } from "./actions/add-merchant-name.cjs";
2
+ import { taggunExportKnownMerchants } from "./actions/export-known-merchants.cjs";
3
+ import { taggunExportKnownProductCodes } from "./actions/export-known-product-codes.cjs";
4
+ import { taggunExportProductCategories } from "./actions/export-product-categories.cjs";
5
+ import { taggunGenerateMerchantsCsv } from "./actions/generate-merchants-csv.cjs";
6
+ import { taggunImportKnownMerchants } from "./actions/import-known-merchants.cjs";
7
+ import { taggunImportKnownProductCodes } from "./actions/import-known-product-codes.cjs";
8
+ import { taggunImportProductCategories } from "./actions/import-product-categories.cjs";
9
+ import { taggunTranscribeReceiptEncodedSimple } from "./actions/transcribe-receipt-encoded-simple.cjs";
10
+ import { taggunTranscribeReceiptEncodedVerbose } from "./actions/transcribe-receipt-encoded-verbose.cjs";
11
+ import { taggunTranscribeReceiptFileSimple } from "./actions/transcribe-receipt-file-simple.cjs";
12
+ import { taggunUrl } from "./actions/url.cjs";
13
+ import { taggunUrlValidation } from "./actions/url-validation.cjs";
14
+ import { taggunUrlVerbose } from "./actions/url-verbose.cjs";
15
+ import { taggun } from "./app.cjs";
16
+ import { taggunCatalog } from "./catalog.cjs";
17
+ export { taggun, taggunAddMerchantName, taggunCatalog, taggunExportKnownMerchants, taggunExportKnownProductCodes, taggunExportProductCategories, taggunGenerateMerchantsCsv, taggunImportKnownMerchants, taggunImportKnownProductCodes, taggunImportProductCategories, taggunTranscribeReceiptEncodedSimple, taggunTranscribeReceiptEncodedVerbose, taggunTranscribeReceiptFileSimple, taggunUrl, taggunUrlValidation, taggunUrlVerbose };
@@ -0,0 +1,17 @@
1
+ import { taggunAddMerchantName } from "./actions/add-merchant-name.mjs";
2
+ import { taggunExportKnownMerchants } from "./actions/export-known-merchants.mjs";
3
+ import { taggunExportKnownProductCodes } from "./actions/export-known-product-codes.mjs";
4
+ import { taggunExportProductCategories } from "./actions/export-product-categories.mjs";
5
+ import { taggunGenerateMerchantsCsv } from "./actions/generate-merchants-csv.mjs";
6
+ import { taggunImportKnownMerchants } from "./actions/import-known-merchants.mjs";
7
+ import { taggunImportKnownProductCodes } from "./actions/import-known-product-codes.mjs";
8
+ import { taggunImportProductCategories } from "./actions/import-product-categories.mjs";
9
+ import { taggunTranscribeReceiptEncodedSimple } from "./actions/transcribe-receipt-encoded-simple.mjs";
10
+ import { taggunTranscribeReceiptEncodedVerbose } from "./actions/transcribe-receipt-encoded-verbose.mjs";
11
+ import { taggunTranscribeReceiptFileSimple } from "./actions/transcribe-receipt-file-simple.mjs";
12
+ import { taggunUrl } from "./actions/url.mjs";
13
+ import { taggunUrlValidation } from "./actions/url-validation.mjs";
14
+ import { taggunUrlVerbose } from "./actions/url-verbose.mjs";
15
+ import { taggun } from "./app.mjs";
16
+ import { taggunCatalog } from "./catalog.mjs";
17
+ export { taggun, taggunAddMerchantName, taggunCatalog, taggunExportKnownMerchants, taggunExportKnownProductCodes, taggunExportProductCategories, taggunGenerateMerchantsCsv, taggunImportKnownMerchants, taggunImportKnownProductCodes, taggunImportProductCategories, taggunTranscribeReceiptEncodedSimple, taggunTranscribeReceiptEncodedVerbose, taggunTranscribeReceiptFileSimple, taggunUrl, taggunUrlValidation, taggunUrlVerbose };
package/dist/index.mjs ADDED
@@ -0,0 +1,18 @@
1
+ import { taggun } from "./app.mjs";
2
+ import { taggunCatalog } from "./catalog.mjs";
3
+ import { taggunAddMerchantName } from "./actions/add-merchant-name.mjs";
4
+ import { taggunExportKnownMerchants } from "./actions/export-known-merchants.mjs";
5
+ import { taggunExportKnownProductCodes } from "./actions/export-known-product-codes.mjs";
6
+ import { taggunExportProductCategories } from "./actions/export-product-categories.mjs";
7
+ import { taggunGenerateMerchantsCsv } from "./actions/generate-merchants-csv.mjs";
8
+ import { taggunImportKnownMerchants } from "./actions/import-known-merchants.mjs";
9
+ import { taggunImportKnownProductCodes } from "./actions/import-known-product-codes.mjs";
10
+ import { taggunImportProductCategories } from "./actions/import-product-categories.mjs";
11
+ import { taggunTranscribeReceiptEncodedSimple } from "./actions/transcribe-receipt-encoded-simple.mjs";
12
+ import { taggunTranscribeReceiptEncodedVerbose } from "./actions/transcribe-receipt-encoded-verbose.mjs";
13
+ import { taggunTranscribeReceiptFileSimple } from "./actions/transcribe-receipt-file-simple.mjs";
14
+ import { taggunUrl } from "./actions/url.mjs";
15
+ import { taggunUrlValidation } from "./actions/url-validation.mjs";
16
+ import { taggunUrlVerbose } from "./actions/url-verbose.mjs";
17
+ import "./actions/index.mjs";
18
+ export { taggun, taggunAddMerchantName, taggunCatalog, taggunExportKnownMerchants, taggunExportKnownProductCodes, taggunExportProductCategories, taggunGenerateMerchantsCsv, taggunImportKnownMerchants, taggunImportKnownProductCodes, taggunImportProductCategories, taggunTranscribeReceiptEncodedSimple, taggunTranscribeReceiptEncodedVerbose, taggunTranscribeReceiptFileSimple, taggunUrl, taggunUrlValidation, taggunUrlVerbose };
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@keystrokehq/taggun",
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/taggun"
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
+ }