@keystrokehq/splitwise 0.1.4 → 0.1.5

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 (229) hide show
  1. package/dist/action.cjs.map +1 -1
  2. package/dist/action.mjs.map +1 -1
  3. package/dist/actions/add-friend.cjs +1 -0
  4. package/dist/actions/add-friend.cjs.map +1 -1
  5. package/dist/actions/add-friend.d.cts +3 -17
  6. package/dist/actions/add-friend.d.cts.map +1 -1
  7. package/dist/actions/add-friend.d.mts +3 -17
  8. package/dist/actions/add-friend.d.mts.map +1 -1
  9. package/dist/actions/add-friend.mjs +1 -0
  10. package/dist/actions/add-friend.mjs.map +1 -1
  11. package/dist/actions/add-user-to-group.cjs +1 -0
  12. package/dist/actions/add-user-to-group.cjs.map +1 -1
  13. package/dist/actions/add-user-to-group.d.cts +3 -16
  14. package/dist/actions/add-user-to-group.d.cts.map +1 -1
  15. package/dist/actions/add-user-to-group.d.mts +3 -16
  16. package/dist/actions/add-user-to-group.d.mts.map +1 -1
  17. package/dist/actions/add-user-to-group.mjs +1 -0
  18. package/dist/actions/add-user-to-group.mjs.map +1 -1
  19. package/dist/actions/create-comment.cjs +1 -0
  20. package/dist/actions/create-comment.cjs.map +1 -1
  21. package/dist/actions/create-comment.d.cts +3 -16
  22. package/dist/actions/create-comment.d.cts.map +1 -1
  23. package/dist/actions/create-comment.d.mts +3 -16
  24. package/dist/actions/create-comment.d.mts.map +1 -1
  25. package/dist/actions/create-comment.mjs +1 -0
  26. package/dist/actions/create-comment.mjs.map +1 -1
  27. package/dist/actions/create-expense.cjs +1 -0
  28. package/dist/actions/create-expense.cjs.map +1 -1
  29. package/dist/actions/create-expense.d.cts +3 -32
  30. package/dist/actions/create-expense.d.cts.map +1 -1
  31. package/dist/actions/create-expense.d.mts +3 -32
  32. package/dist/actions/create-expense.d.mts.map +1 -1
  33. package/dist/actions/create-expense.mjs +1 -0
  34. package/dist/actions/create-expense.mjs.map +1 -1
  35. package/dist/actions/create-friends.cjs +1 -0
  36. package/dist/actions/create-friends.cjs.map +1 -1
  37. package/dist/actions/create-friends.d.cts +3 -20
  38. package/dist/actions/create-friends.d.cts.map +1 -1
  39. package/dist/actions/create-friends.d.mts +3 -20
  40. package/dist/actions/create-friends.d.mts.map +1 -1
  41. package/dist/actions/create-friends.mjs +1 -0
  42. package/dist/actions/create-friends.mjs.map +1 -1
  43. package/dist/actions/create-group.cjs +1 -0
  44. package/dist/actions/create-group.cjs.map +1 -1
  45. package/dist/actions/create-group.d.cts +3 -24
  46. package/dist/actions/create-group.d.cts.map +1 -1
  47. package/dist/actions/create-group.d.mts +3 -24
  48. package/dist/actions/create-group.d.mts.map +1 -1
  49. package/dist/actions/create-group.mjs +1 -0
  50. package/dist/actions/create-group.mjs.map +1 -1
  51. package/dist/actions/delete-comment.cjs +1 -0
  52. package/dist/actions/delete-comment.cjs.map +1 -1
  53. package/dist/actions/delete-comment.d.cts +3 -15
  54. package/dist/actions/delete-comment.d.cts.map +1 -1
  55. package/dist/actions/delete-comment.d.mts +3 -15
  56. package/dist/actions/delete-comment.d.mts.map +1 -1
  57. package/dist/actions/delete-comment.mjs +1 -0
  58. package/dist/actions/delete-comment.mjs.map +1 -1
  59. package/dist/actions/delete-expense.cjs +1 -0
  60. package/dist/actions/delete-expense.cjs.map +1 -1
  61. package/dist/actions/delete-expense.d.cts +3 -15
  62. package/dist/actions/delete-expense.d.cts.map +1 -1
  63. package/dist/actions/delete-expense.d.mts +3 -15
  64. package/dist/actions/delete-expense.d.mts.map +1 -1
  65. package/dist/actions/delete-expense.mjs +1 -0
  66. package/dist/actions/delete-expense.mjs.map +1 -1
  67. package/dist/actions/delete-friend.cjs +1 -0
  68. package/dist/actions/delete-friend.cjs.map +1 -1
  69. package/dist/actions/delete-friend.d.cts +3 -15
  70. package/dist/actions/delete-friend.d.cts.map +1 -1
  71. package/dist/actions/delete-friend.d.mts +3 -15
  72. package/dist/actions/delete-friend.d.mts.map +1 -1
  73. package/dist/actions/delete-friend.mjs +1 -0
  74. package/dist/actions/delete-friend.mjs.map +1 -1
  75. package/dist/actions/delete-group.cjs +1 -0
  76. package/dist/actions/delete-group.cjs.map +1 -1
  77. package/dist/actions/delete-group.d.cts +3 -15
  78. package/dist/actions/delete-group.d.cts.map +1 -1
  79. package/dist/actions/delete-group.d.mts +3 -15
  80. package/dist/actions/delete-group.d.mts.map +1 -1
  81. package/dist/actions/delete-group.mjs +1 -0
  82. package/dist/actions/delete-group.mjs.map +1 -1
  83. package/dist/actions/get-categories.cjs +1 -0
  84. package/dist/actions/get-categories.cjs.map +1 -1
  85. package/dist/actions/get-categories.d.cts +3 -13
  86. package/dist/actions/get-categories.d.cts.map +1 -1
  87. package/dist/actions/get-categories.d.mts +3 -13
  88. package/dist/actions/get-categories.d.mts.map +1 -1
  89. package/dist/actions/get-categories.mjs +1 -0
  90. package/dist/actions/get-categories.mjs.map +1 -1
  91. package/dist/actions/get-comments.cjs +1 -0
  92. package/dist/actions/get-comments.cjs.map +1 -1
  93. package/dist/actions/get-comments.d.cts +3 -15
  94. package/dist/actions/get-comments.d.cts.map +1 -1
  95. package/dist/actions/get-comments.d.mts +3 -15
  96. package/dist/actions/get-comments.d.mts.map +1 -1
  97. package/dist/actions/get-comments.mjs +1 -0
  98. package/dist/actions/get-comments.mjs.map +1 -1
  99. package/dist/actions/get-currencies.cjs +1 -0
  100. package/dist/actions/get-currencies.cjs.map +1 -1
  101. package/dist/actions/get-currencies.d.cts +3 -13
  102. package/dist/actions/get-currencies.d.cts.map +1 -1
  103. package/dist/actions/get-currencies.d.mts +3 -13
  104. package/dist/actions/get-currencies.d.mts.map +1 -1
  105. package/dist/actions/get-currencies.mjs +1 -0
  106. package/dist/actions/get-currencies.mjs.map +1 -1
  107. package/dist/actions/get-current-user.cjs +1 -0
  108. package/dist/actions/get-current-user.cjs.map +1 -1
  109. package/dist/actions/get-current-user.d.cts +3 -13
  110. package/dist/actions/get-current-user.d.cts.map +1 -1
  111. package/dist/actions/get-current-user.d.mts +3 -13
  112. package/dist/actions/get-current-user.d.mts.map +1 -1
  113. package/dist/actions/get-current-user.mjs +1 -0
  114. package/dist/actions/get-current-user.mjs.map +1 -1
  115. package/dist/actions/get-expense.cjs +1 -0
  116. package/dist/actions/get-expense.cjs.map +1 -1
  117. package/dist/actions/get-expense.d.cts +3 -15
  118. package/dist/actions/get-expense.d.cts.map +1 -1
  119. package/dist/actions/get-expense.d.mts +3 -15
  120. package/dist/actions/get-expense.d.mts.map +1 -1
  121. package/dist/actions/get-expense.mjs +1 -0
  122. package/dist/actions/get-expense.mjs.map +1 -1
  123. package/dist/actions/get-expenses.cjs +1 -0
  124. package/dist/actions/get-expenses.cjs.map +1 -1
  125. package/dist/actions/get-expenses.d.cts +3 -23
  126. package/dist/actions/get-expenses.d.cts.map +1 -1
  127. package/dist/actions/get-expenses.d.mts +3 -23
  128. package/dist/actions/get-expenses.d.mts.map +1 -1
  129. package/dist/actions/get-expenses.mjs +1 -0
  130. package/dist/actions/get-expenses.mjs.map +1 -1
  131. package/dist/actions/get-friend.cjs +1 -0
  132. package/dist/actions/get-friend.cjs.map +1 -1
  133. package/dist/actions/get-friend.d.cts +3 -15
  134. package/dist/actions/get-friend.d.cts.map +1 -1
  135. package/dist/actions/get-friend.d.mts +3 -15
  136. package/dist/actions/get-friend.d.mts.map +1 -1
  137. package/dist/actions/get-friend.mjs +1 -0
  138. package/dist/actions/get-friend.mjs.map +1 -1
  139. package/dist/actions/get-friends.cjs +1 -0
  140. package/dist/actions/get-friends.cjs.map +1 -1
  141. package/dist/actions/get-friends.d.cts +3 -13
  142. package/dist/actions/get-friends.d.cts.map +1 -1
  143. package/dist/actions/get-friends.d.mts +3 -13
  144. package/dist/actions/get-friends.d.mts.map +1 -1
  145. package/dist/actions/get-friends.mjs +1 -0
  146. package/dist/actions/get-friends.mjs.map +1 -1
  147. package/dist/actions/get-group.cjs +1 -0
  148. package/dist/actions/get-group.cjs.map +1 -1
  149. package/dist/actions/get-group.d.cts +3 -15
  150. package/dist/actions/get-group.d.cts.map +1 -1
  151. package/dist/actions/get-group.d.mts +3 -15
  152. package/dist/actions/get-group.d.mts.map +1 -1
  153. package/dist/actions/get-group.mjs +1 -0
  154. package/dist/actions/get-group.mjs.map +1 -1
  155. package/dist/actions/get-groups.cjs +1 -0
  156. package/dist/actions/get-groups.cjs.map +1 -1
  157. package/dist/actions/get-groups.d.cts +3 -13
  158. package/dist/actions/get-groups.d.cts.map +1 -1
  159. package/dist/actions/get-groups.d.mts +3 -13
  160. package/dist/actions/get-groups.d.mts.map +1 -1
  161. package/dist/actions/get-groups.mjs +1 -0
  162. package/dist/actions/get-groups.mjs.map +1 -1
  163. package/dist/actions/get-notifications.cjs +1 -0
  164. package/dist/actions/get-notifications.cjs.map +1 -1
  165. package/dist/actions/get-notifications.d.cts +3 -16
  166. package/dist/actions/get-notifications.d.cts.map +1 -1
  167. package/dist/actions/get-notifications.d.mts +3 -16
  168. package/dist/actions/get-notifications.d.mts.map +1 -1
  169. package/dist/actions/get-notifications.mjs +1 -0
  170. package/dist/actions/get-notifications.mjs.map +1 -1
  171. package/dist/actions/get-user.cjs +1 -0
  172. package/dist/actions/get-user.cjs.map +1 -1
  173. package/dist/actions/get-user.d.cts +3 -15
  174. package/dist/actions/get-user.d.cts.map +1 -1
  175. package/dist/actions/get-user.d.mts +3 -15
  176. package/dist/actions/get-user.d.mts.map +1 -1
  177. package/dist/actions/get-user.mjs +1 -0
  178. package/dist/actions/get-user.mjs.map +1 -1
  179. package/dist/actions/remove-user-from-group.cjs +1 -0
  180. package/dist/actions/remove-user-from-group.cjs.map +1 -1
  181. package/dist/actions/remove-user-from-group.d.cts +3 -16
  182. package/dist/actions/remove-user-from-group.d.cts.map +1 -1
  183. package/dist/actions/remove-user-from-group.d.mts +3 -16
  184. package/dist/actions/remove-user-from-group.d.mts.map +1 -1
  185. package/dist/actions/remove-user-from-group.mjs +1 -0
  186. package/dist/actions/remove-user-from-group.mjs.map +1 -1
  187. package/dist/actions/undelete-expense.cjs +1 -0
  188. package/dist/actions/undelete-expense.cjs.map +1 -1
  189. package/dist/actions/undelete-expense.d.cts +3 -15
  190. package/dist/actions/undelete-expense.d.cts.map +1 -1
  191. package/dist/actions/undelete-expense.d.mts +3 -15
  192. package/dist/actions/undelete-expense.d.mts.map +1 -1
  193. package/dist/actions/undelete-expense.mjs +1 -0
  194. package/dist/actions/undelete-expense.mjs.map +1 -1
  195. package/dist/actions/undelete-group.cjs +1 -0
  196. package/dist/actions/undelete-group.cjs.map +1 -1
  197. package/dist/actions/undelete-group.d.cts +3 -15
  198. package/dist/actions/undelete-group.d.cts.map +1 -1
  199. package/dist/actions/undelete-group.d.mts +3 -15
  200. package/dist/actions/undelete-group.d.mts.map +1 -1
  201. package/dist/actions/undelete-group.mjs +1 -0
  202. package/dist/actions/undelete-group.mjs.map +1 -1
  203. package/dist/actions/update-expense.cjs +1 -0
  204. package/dist/actions/update-expense.cjs.map +1 -1
  205. package/dist/actions/update-expense.d.cts +3 -32
  206. package/dist/actions/update-expense.d.cts.map +1 -1
  207. package/dist/actions/update-expense.d.mts +3 -32
  208. package/dist/actions/update-expense.d.mts.map +1 -1
  209. package/dist/actions/update-expense.mjs +1 -0
  210. package/dist/actions/update-expense.mjs.map +1 -1
  211. package/dist/actions/update-user.cjs +1 -0
  212. package/dist/actions/update-user.cjs.map +1 -1
  213. package/dist/actions/update-user.d.cts +3 -21
  214. package/dist/actions/update-user.d.cts.map +1 -1
  215. package/dist/actions/update-user.d.mts +3 -21
  216. package/dist/actions/update-user.d.mts.map +1 -1
  217. package/dist/actions/update-user.mjs +1 -0
  218. package/dist/actions/update-user.mjs.map +1 -1
  219. package/dist/app.cjs +2 -2
  220. package/dist/app.cjs.map +1 -1
  221. package/dist/app.d.cts +4 -6
  222. package/dist/app.d.cts.map +1 -1
  223. package/dist/app.d.mts +4 -6
  224. package/dist/app.d.mts.map +1 -1
  225. package/dist/app.mjs +0 -1
  226. package/dist/app.mjs.map +1 -1
  227. package/dist/index.d.cts +1 -1
  228. package/dist/index.d.mts +1 -1
  229. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"action.cjs","names":["splitwise","executeSplitwiseTool"],"sources":["../src/action.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { splitwise } from \"./app\";\nimport { executeSplitwiseTool } from \"./execute\";\n\n/** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */\nexport function action<TInput extends z.ZodType>(\n tool: string,\n def: {\n slug: string;\n name: string;\n description: string;\n input: TInput;\n output: z.ZodType;\n },\n) {\n return splitwise.action({\n slug: def.slug,\n name: def.name,\n description: def.description,\n input: def.input,\n output: def.output as z.ZodTypeAny,\n async run(input) {\n return def.output.parse(await executeSplitwiseTool(tool, input as Record<string, unknown>));\n },\n });\n}\n"],"mappings":";;;;;AAMA,SAAgB,OACd,MACA,KAOA;CACA,OAAOA,YAAAA,UAAU,OAAO;EACtB,MAAM,IAAI;EACV,MAAM,IAAI;EACV,aAAa,IAAI;EACjB,OAAO,IAAI;EACX,QAAQ,IAAI;EACZ,MAAM,IAAI,OAAO;GACf,OAAO,IAAI,OAAO,MAAM,MAAMC,gBAAAA,qBAAqB,MAAM,KAAgC,CAAC;EAC5F;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"action.cjs","names":["splitwise","executeSplitwiseTool"],"sources":["../src/action.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { splitwise } from \"./app\";\nimport { executeSplitwiseTool } from \"./execute\";\n\n/** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */\nexport function action<TInput extends z.ZodType, TOutput extends z.ZodType>(\n tool: string,\n def: {\n slug: string;\n name: string;\n description: string;\n input: TInput;\n output: TOutput;\n },\n): AppAction<TInput, TOutput, typeof splitwise.credential> {\n return splitwise.action({\n slug: def.slug,\n name: def.name,\n description: def.description,\n input: def.input,\n output: def.output,\n async run(input) {\n return def.output.parse(await executeSplitwiseTool(tool, input as Record<string, unknown>));\n },\n });\n}\n"],"mappings":";;;;;AAOA,SAAgB,OACd,MACA,KAOyD;CACzD,OAAOA,YAAAA,UAAU,OAAO;EACtB,MAAM,IAAI;EACV,MAAM,IAAI;EACV,aAAa,IAAI;EACjB,OAAO,IAAI;EACX,QAAQ,IAAI;EACZ,MAAM,IAAI,OAAO;GACf,OAAO,IAAI,OAAO,MAAM,MAAMC,gBAAAA,qBAAqB,MAAM,KAAgC,CAAC;EAC5F;CACF,CAAC;AACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"action.mjs","names":[],"sources":["../src/action.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { splitwise } from \"./app\";\nimport { executeSplitwiseTool } from \"./execute\";\n\n/** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */\nexport function action<TInput extends z.ZodType>(\n tool: string,\n def: {\n slug: string;\n name: string;\n description: string;\n input: TInput;\n output: z.ZodType;\n },\n) {\n return splitwise.action({\n slug: def.slug,\n name: def.name,\n description: def.description,\n input: def.input,\n output: def.output as z.ZodTypeAny,\n async run(input) {\n return def.output.parse(await executeSplitwiseTool(tool, input as Record<string, unknown>));\n },\n });\n}\n"],"mappings":";;;;;AAMA,SAAgB,OACd,MACA,KAOA;CACA,OAAO,UAAU,OAAO;EACtB,MAAM,IAAI;EACV,MAAM,IAAI;EACV,aAAa,IAAI;EACjB,OAAO,IAAI;EACX,QAAQ,IAAI;EACZ,MAAM,IAAI,OAAO;GACf,OAAO,IAAI,OAAO,MAAM,MAAM,qBAAqB,MAAM,KAAgC,CAAC;EAC5F;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"action.mjs","names":[],"sources":["../src/action.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { splitwise } from \"./app\";\nimport { executeSplitwiseTool } from \"./execute\";\n\n/** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */\nexport function action<TInput extends z.ZodType, TOutput extends z.ZodType>(\n tool: string,\n def: {\n slug: string;\n name: string;\n description: string;\n input: TInput;\n output: TOutput;\n },\n): AppAction<TInput, TOutput, typeof splitwise.credential> {\n return splitwise.action({\n slug: def.slug,\n name: def.name,\n description: def.description,\n input: def.input,\n output: def.output,\n async run(input) {\n return def.output.parse(await executeSplitwiseTool(tool, input as Record<string, unknown>));\n },\n });\n}\n"],"mappings":";;;;;AAOA,SAAgB,OACd,MACA,KAOyD;CACzD,OAAO,UAAU,OAAO;EACtB,MAAM,IAAI;EACV,MAAM,IAAI;EACV,aAAa,IAAI;EACjB,OAAO,IAAI;EACX,QAAQ,IAAI;EACZ,MAAM,IAAI,OAAO;GACf,OAAO,IAAI,OAAO,MAAM,MAAM,qBAAqB,MAAM,KAAgC,CAAC;EAC5F;CACF,CAAC;AACH"}
@@ -1,3 +1,4 @@
1
+ require("../app.cjs");
1
2
  const require_action = require("../action.cjs");
2
3
  let zod = require("zod");
3
4
  //#region src/actions/add-friend.ts
@@ -1 +1 @@
1
- {"version":3,"file":"add-friend.cjs","names":["z","action"],"sources":["../../src/actions/add-friend.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SplitwiseAddFriendInput = z.object({\n user_email: z.string().describe(\"Email address of the friend to add\"),\n user_last_name: z.string().describe(\"Last name of the friend (optional)\").optional(),\n user_first_name: z.string().describe(\"First name of the friend; required by Splitwise to create a new friend entry\"),\n}).describe(\"Request parameters for adding a new friend to Splitwise.\");\nconst SplitwiseAddFriend_BalanceItemSchema = z.object({\n amount: z.string().describe(\"Balance amount as string\").nullable(),\n currency_code: z.string().describe(\"Currency code, e.g., 'USD'\").nullable(),\n}).passthrough().describe(\"A balance amount in a given currency.\");\nconst SplitwiseAddFriend_GroupItemSchema = z.object({\n balance: z.array(SplitwiseAddFriend_BalanceItemSchema).describe(\"List of balances within this group\"),\n group_id: z.number().int().describe(\"Unique ID of the group\").nullable(),\n}).passthrough().describe(\"Group membership and balances for the friend.\");\nconst SplitwiseAddFriend_PictureSchema = z.object({\n large: z.string().describe(\"URL for large profile picture\").nullable().optional(),\n small: z.string().describe(\"URL for small profile picture\").nullable().optional(),\n medium: z.string().describe(\"URL for medium profile picture\").nullable().optional(),\n}).passthrough().describe(\"URLs for different sizes of the user’s profile picture.\");\nconst SplitwiseAddFriend_FriendSchema = z.object({\n id: z.number().int().describe(\"Unique friend ID\").nullable().optional(),\n email: z.string().describe(\"Email address of the friend\").nullable().optional(),\n errors: z.array(z.string()).describe(\"List of error messages if the friend creation failed\").nullable().optional(),\n groups: z.array(SplitwiseAddFriend_GroupItemSchema).describe(\"Groups the friend belongs to\").nullable().optional(),\n balance: z.array(SplitwiseAddFriend_BalanceItemSchema).describe(\"Overall balances with this friend\").nullable().optional(),\n picture: SplitwiseAddFriend_PictureSchema.nullable(),\n last_name: z.string().describe(\"Last name of the friend\").nullable().optional(),\n first_name: z.string().describe(\"First name of the friend\").nullable().optional(),\n updated_at: z.string().describe(\"Timestamp of last update to this friend\").nullable(),\n custom_picture: z.boolean().describe(\"Whether they have a custom profile picture\").nullable(),\n registration_status: z.string().describe(\"Registration status, e.g., 'registered'\").nullable().optional(),\n}).passthrough().describe(\"Full friend object returned by Splitwise.\");\nexport const SplitwiseAddFriendOutput = z.object({\n friend: SplitwiseAddFriend_FriendSchema.nullable(),\n}).passthrough().describe(\"Response wrapper for the newly created friend.\");\n\nexport const splitwiseAddFriend = action(\"SPLITWISE_ADD_FRIEND\", {\n slug: \"splitwise-add-friend\",\n name: \"Add Friend\",\n description: \"Tool to add a new friend to Splitwise. Use when you have the friend's email and name details ready.\",\n input: SplitwiseAddFriendInput,\n output: SplitwiseAddFriendOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"add-friend.cjs","names":["z","action"],"sources":["../../src/actions/add-friend.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { splitwise } from \"../app\";\n\nexport const SplitwiseAddFriendInput = z.object({\n user_email: z.string().describe(\"Email address of the friend to add\"),\n user_last_name: z.string().describe(\"Last name of the friend (optional)\").optional(),\n user_first_name: z.string().describe(\"First name of the friend; required by Splitwise to create a new friend entry\"),\n}).describe(\"Request parameters for adding a new friend to Splitwise.\");\nconst SplitwiseAddFriend_BalanceItemSchema = z.object({\n amount: z.string().describe(\"Balance amount as string\").nullable(),\n currency_code: z.string().describe(\"Currency code, e.g., 'USD'\").nullable(),\n}).passthrough().describe(\"A balance amount in a given currency.\");\nconst SplitwiseAddFriend_GroupItemSchema = z.object({\n balance: z.array(SplitwiseAddFriend_BalanceItemSchema).describe(\"List of balances within this group\"),\n group_id: z.number().int().describe(\"Unique ID of the group\").nullable(),\n}).passthrough().describe(\"Group membership and balances for the friend.\");\nconst SplitwiseAddFriend_PictureSchema = z.object({\n large: z.string().describe(\"URL for large profile picture\").nullable().optional(),\n small: z.string().describe(\"URL for small profile picture\").nullable().optional(),\n medium: z.string().describe(\"URL for medium profile picture\").nullable().optional(),\n}).passthrough().describe(\"URLs for different sizes of the user’s profile picture.\");\nconst SplitwiseAddFriend_FriendSchema = z.object({\n id: z.number().int().describe(\"Unique friend ID\").nullable().optional(),\n email: z.string().describe(\"Email address of the friend\").nullable().optional(),\n errors: z.array(z.string()).describe(\"List of error messages if the friend creation failed\").nullable().optional(),\n groups: z.array(SplitwiseAddFriend_GroupItemSchema).describe(\"Groups the friend belongs to\").nullable().optional(),\n balance: z.array(SplitwiseAddFriend_BalanceItemSchema).describe(\"Overall balances with this friend\").nullable().optional(),\n picture: SplitwiseAddFriend_PictureSchema.nullable(),\n last_name: z.string().describe(\"Last name of the friend\").nullable().optional(),\n first_name: z.string().describe(\"First name of the friend\").nullable().optional(),\n updated_at: z.string().describe(\"Timestamp of last update to this friend\").nullable(),\n custom_picture: z.boolean().describe(\"Whether they have a custom profile picture\").nullable(),\n registration_status: z.string().describe(\"Registration status, e.g., 'registered'\").nullable().optional(),\n}).passthrough().describe(\"Full friend object returned by Splitwise.\");\nexport const SplitwiseAddFriendOutput = z.object({\n friend: SplitwiseAddFriend_FriendSchema.nullable(),\n}).passthrough().describe(\"Response wrapper for the newly created friend.\");\n\nexport const splitwiseAddFriend: AppAction<\n typeof SplitwiseAddFriendInput,\n typeof SplitwiseAddFriendOutput,\n typeof splitwise.credential\n> = action(\"SPLITWISE_ADD_FRIEND\", {\n slug: \"splitwise-add-friend\",\n name: \"Add Friend\",\n description: \"Tool to add a new friend to Splitwise. Use when you have the friend's email and name details ready.\",\n input: SplitwiseAddFriendInput,\n output: SplitwiseAddFriendOutput,\n});\n"],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { splitwise } from "../app.cjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/add-friend.d.ts
@@ -34,23 +36,7 @@ declare const SplitwiseAddFriendOutput: z.ZodObject<{
34
36
  registration_status: z.ZodOptional<z.ZodNullable<z.ZodString>>;
35
37
  }, z.core.$loose>>;
36
38
  }, z.core.$loose>;
37
- declare const splitwiseAddFriend: import("@keystrokehq/action").WorkflowActionDefinition<{
38
- user_email: string;
39
- user_first_name: string;
40
- user_last_name?: string | undefined;
41
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"splitwise", z.ZodObject<{
42
- connectionId: z.ZodString;
43
- entityId: z.ZodString;
44
- instanceId: z.ZodString;
45
- }, z.core.$strip>, z.ZodObject<{
46
- accessToken: z.ZodString;
47
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"splitwise", z.ZodObject<{
48
- connectionId: z.ZodString;
49
- entityId: z.ZodString;
50
- instanceId: z.ZodString;
51
- }, z.core.$strip>, z.ZodObject<{
52
- accessToken: z.ZodString;
53
- }, z.core.$strip>>]>;
39
+ declare const splitwiseAddFriend: AppAction<typeof SplitwiseAddFriendInput, typeof SplitwiseAddFriendOutput, typeof splitwise.credential>;
54
40
  //#endregion
55
41
  export { splitwiseAddFriend };
56
42
  //# sourceMappingURL=add-friend.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-friend.d.cts","names":[],"sources":["../../src/actions/add-friend.ts"],"mappings":";;;cAIa,uBAAA,EAAuB,CAAA,CAAA,SAAA;;;;;cA+BvB,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAIxB,kBAAA,gCAAkB,wBAAA"}
1
+ {"version":3,"file":"add-friend.d.cts","names":[],"sources":["../../src/actions/add-friend.ts"],"mappings":";;;;;cAMa,uBAAA,EAAuB,CAAA,CAAA,SAAA;;;;;cA+BvB,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAIxB,kBAAA,EAAoB,SAAA,QACxB,uBAAA,SACA,wBAAA,SACA,SAAA,CAAU,UAAA"}
@@ -1,3 +1,5 @@
1
+ import { splitwise } from "../app.mjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/add-friend.d.ts
@@ -34,23 +36,7 @@ declare const SplitwiseAddFriendOutput: z.ZodObject<{
34
36
  registration_status: z.ZodOptional<z.ZodNullable<z.ZodString>>;
35
37
  }, z.core.$loose>>;
36
38
  }, z.core.$loose>;
37
- declare const splitwiseAddFriend: import("@keystrokehq/action").WorkflowActionDefinition<{
38
- user_email: string;
39
- user_first_name: string;
40
- user_last_name?: string | undefined;
41
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"splitwise", z.ZodObject<{
42
- connectionId: z.ZodString;
43
- entityId: z.ZodString;
44
- instanceId: z.ZodString;
45
- }, z.core.$strip>, z.ZodObject<{
46
- accessToken: z.ZodString;
47
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"splitwise", z.ZodObject<{
48
- connectionId: z.ZodString;
49
- entityId: z.ZodString;
50
- instanceId: z.ZodString;
51
- }, z.core.$strip>, z.ZodObject<{
52
- accessToken: z.ZodString;
53
- }, z.core.$strip>>]>;
39
+ declare const splitwiseAddFriend: AppAction<typeof SplitwiseAddFriendInput, typeof SplitwiseAddFriendOutput, typeof splitwise.credential>;
54
40
  //#endregion
55
41
  export { splitwiseAddFriend };
56
42
  //# sourceMappingURL=add-friend.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-friend.d.mts","names":[],"sources":["../../src/actions/add-friend.ts"],"mappings":";;;cAIa,uBAAA,EAAuB,CAAA,CAAA,SAAA;;;;;cA+BvB,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAIxB,kBAAA,gCAAkB,wBAAA"}
1
+ {"version":3,"file":"add-friend.d.mts","names":[],"sources":["../../src/actions/add-friend.ts"],"mappings":";;;;;cAMa,uBAAA,EAAuB,CAAA,CAAA,SAAA;;;;;cA+BvB,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAIxB,kBAAA,EAAoB,SAAA,QACxB,uBAAA,SACA,wBAAA,SACA,SAAA,CAAU,UAAA"}
@@ -1,3 +1,4 @@
1
+ import "../app.mjs";
1
2
  import { action } from "../action.mjs";
2
3
  import { z } from "zod";
3
4
  //#region src/actions/add-friend.ts
@@ -1 +1 @@
1
- {"version":3,"file":"add-friend.mjs","names":[],"sources":["../../src/actions/add-friend.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SplitwiseAddFriendInput = z.object({\n user_email: z.string().describe(\"Email address of the friend to add\"),\n user_last_name: z.string().describe(\"Last name of the friend (optional)\").optional(),\n user_first_name: z.string().describe(\"First name of the friend; required by Splitwise to create a new friend entry\"),\n}).describe(\"Request parameters for adding a new friend to Splitwise.\");\nconst SplitwiseAddFriend_BalanceItemSchema = z.object({\n amount: z.string().describe(\"Balance amount as string\").nullable(),\n currency_code: z.string().describe(\"Currency code, e.g., 'USD'\").nullable(),\n}).passthrough().describe(\"A balance amount in a given currency.\");\nconst SplitwiseAddFriend_GroupItemSchema = z.object({\n balance: z.array(SplitwiseAddFriend_BalanceItemSchema).describe(\"List of balances within this group\"),\n group_id: z.number().int().describe(\"Unique ID of the group\").nullable(),\n}).passthrough().describe(\"Group membership and balances for the friend.\");\nconst SplitwiseAddFriend_PictureSchema = z.object({\n large: z.string().describe(\"URL for large profile picture\").nullable().optional(),\n small: z.string().describe(\"URL for small profile picture\").nullable().optional(),\n medium: z.string().describe(\"URL for medium profile picture\").nullable().optional(),\n}).passthrough().describe(\"URLs for different sizes of the user’s profile picture.\");\nconst SplitwiseAddFriend_FriendSchema = z.object({\n id: z.number().int().describe(\"Unique friend ID\").nullable().optional(),\n email: z.string().describe(\"Email address of the friend\").nullable().optional(),\n errors: z.array(z.string()).describe(\"List of error messages if the friend creation failed\").nullable().optional(),\n groups: z.array(SplitwiseAddFriend_GroupItemSchema).describe(\"Groups the friend belongs to\").nullable().optional(),\n balance: z.array(SplitwiseAddFriend_BalanceItemSchema).describe(\"Overall balances with this friend\").nullable().optional(),\n picture: SplitwiseAddFriend_PictureSchema.nullable(),\n last_name: z.string().describe(\"Last name of the friend\").nullable().optional(),\n first_name: z.string().describe(\"First name of the friend\").nullable().optional(),\n updated_at: z.string().describe(\"Timestamp of last update to this friend\").nullable(),\n custom_picture: z.boolean().describe(\"Whether they have a custom profile picture\").nullable(),\n registration_status: z.string().describe(\"Registration status, e.g., 'registered'\").nullable().optional(),\n}).passthrough().describe(\"Full friend object returned by Splitwise.\");\nexport const SplitwiseAddFriendOutput = z.object({\n friend: SplitwiseAddFriend_FriendSchema.nullable(),\n}).passthrough().describe(\"Response wrapper for the newly created friend.\");\n\nexport const splitwiseAddFriend = action(\"SPLITWISE_ADD_FRIEND\", {\n slug: \"splitwise-add-friend\",\n name: \"Add Friend\",\n description: \"Tool to add a new friend to Splitwise. Use when you have the friend's email and name details ready.\",\n input: SplitwiseAddFriendInput,\n output: SplitwiseAddFriendOutput,\n});\n"],"mappings":";;;AAIA,MAAa,0BAA0B,EAAE,OAAO;CAC9C,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC;CACpE,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS;CACnF,iBAAiB,EAAE,OAAO,CAAC,CAAC,SAAS,8EAA8E;AACrH,CAAC,CAAC,CAAC,SAAS,0DAA0D;AACtE,MAAM,uCAAuC,EAAE,OAAO;CACpD,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS;CACjE,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,4BAA4B,CAAC,CAAC,SAAS;AAC5E,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,uCAAuC;AACjE,MAAM,qCAAqC,EAAE,OAAO;CAClD,SAAS,EAAE,MAAM,oCAAoC,CAAC,CAAC,SAAS,oCAAoC;CACpG,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,SAAS;AACzE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,+CAA+C;AACzE,MAAM,mCAAmC,EAAE,OAAO;CAChD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChF,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChF,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACpF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,yDAAyD;AACnF,MAAM,kCAAkC,EAAE,OAAO;CAC/C,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtE,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9E,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjH,QAAQ,EAAE,MAAM,kCAAkC,CAAC,CAAC,SAAS,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjH,SAAS,EAAE,MAAM,oCAAoC,CAAC,CAAC,SAAS,mCAAmC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACzH,SAAS,iCAAiC,SAAS;CACnD,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9E,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChF,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS;CACpF,gBAAgB,EAAE,QAAQ,CAAC,CAAC,SAAS,4CAA4C,CAAC,CAAC,SAAS;CAC5F,qBAAqB,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC1G,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,2CAA2C;AAKrE,MAAa,qBAAqB,OAAO,wBAAwB;CAC/D,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QATsC,EAAE,OAAO,EAC/C,QAAQ,gCAAgC,SAAS,EACnD,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gDAOhB;AACV,CAAC"}
1
+ {"version":3,"file":"add-friend.mjs","names":[],"sources":["../../src/actions/add-friend.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { splitwise } from \"../app\";\n\nexport const SplitwiseAddFriendInput = z.object({\n user_email: z.string().describe(\"Email address of the friend to add\"),\n user_last_name: z.string().describe(\"Last name of the friend (optional)\").optional(),\n user_first_name: z.string().describe(\"First name of the friend; required by Splitwise to create a new friend entry\"),\n}).describe(\"Request parameters for adding a new friend to Splitwise.\");\nconst SplitwiseAddFriend_BalanceItemSchema = z.object({\n amount: z.string().describe(\"Balance amount as string\").nullable(),\n currency_code: z.string().describe(\"Currency code, e.g., 'USD'\").nullable(),\n}).passthrough().describe(\"A balance amount in a given currency.\");\nconst SplitwiseAddFriend_GroupItemSchema = z.object({\n balance: z.array(SplitwiseAddFriend_BalanceItemSchema).describe(\"List of balances within this group\"),\n group_id: z.number().int().describe(\"Unique ID of the group\").nullable(),\n}).passthrough().describe(\"Group membership and balances for the friend.\");\nconst SplitwiseAddFriend_PictureSchema = z.object({\n large: z.string().describe(\"URL for large profile picture\").nullable().optional(),\n small: z.string().describe(\"URL for small profile picture\").nullable().optional(),\n medium: z.string().describe(\"URL for medium profile picture\").nullable().optional(),\n}).passthrough().describe(\"URLs for different sizes of the user’s profile picture.\");\nconst SplitwiseAddFriend_FriendSchema = z.object({\n id: z.number().int().describe(\"Unique friend ID\").nullable().optional(),\n email: z.string().describe(\"Email address of the friend\").nullable().optional(),\n errors: z.array(z.string()).describe(\"List of error messages if the friend creation failed\").nullable().optional(),\n groups: z.array(SplitwiseAddFriend_GroupItemSchema).describe(\"Groups the friend belongs to\").nullable().optional(),\n balance: z.array(SplitwiseAddFriend_BalanceItemSchema).describe(\"Overall balances with this friend\").nullable().optional(),\n picture: SplitwiseAddFriend_PictureSchema.nullable(),\n last_name: z.string().describe(\"Last name of the friend\").nullable().optional(),\n first_name: z.string().describe(\"First name of the friend\").nullable().optional(),\n updated_at: z.string().describe(\"Timestamp of last update to this friend\").nullable(),\n custom_picture: z.boolean().describe(\"Whether they have a custom profile picture\").nullable(),\n registration_status: z.string().describe(\"Registration status, e.g., 'registered'\").nullable().optional(),\n}).passthrough().describe(\"Full friend object returned by Splitwise.\");\nexport const SplitwiseAddFriendOutput = z.object({\n friend: SplitwiseAddFriend_FriendSchema.nullable(),\n}).passthrough().describe(\"Response wrapper for the newly created friend.\");\n\nexport const splitwiseAddFriend: AppAction<\n typeof SplitwiseAddFriendInput,\n typeof SplitwiseAddFriendOutput,\n typeof splitwise.credential\n> = action(\"SPLITWISE_ADD_FRIEND\", {\n slug: \"splitwise-add-friend\",\n name: \"Add Friend\",\n description: \"Tool to add a new friend to Splitwise. Use when you have the friend's email and name details ready.\",\n input: SplitwiseAddFriendInput,\n output: SplitwiseAddFriendOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,0BAA0B,EAAE,OAAO;CAC9C,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC;CACpE,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS;CACnF,iBAAiB,EAAE,OAAO,CAAC,CAAC,SAAS,8EAA8E;AACrH,CAAC,CAAC,CAAC,SAAS,0DAA0D;AACtE,MAAM,uCAAuC,EAAE,OAAO;CACpD,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS;CACjE,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,4BAA4B,CAAC,CAAC,SAAS;AAC5E,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,uCAAuC;AACjE,MAAM,qCAAqC,EAAE,OAAO;CAClD,SAAS,EAAE,MAAM,oCAAoC,CAAC,CAAC,SAAS,oCAAoC;CACpG,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,SAAS;AACzE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,+CAA+C;AACzE,MAAM,mCAAmC,EAAE,OAAO;CAChD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChF,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChF,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACpF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,yDAAyD;AACnF,MAAM,kCAAkC,EAAE,OAAO;CAC/C,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtE,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9E,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjH,QAAQ,EAAE,MAAM,kCAAkC,CAAC,CAAC,SAAS,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjH,SAAS,EAAE,MAAM,oCAAoC,CAAC,CAAC,SAAS,mCAAmC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACzH,SAAS,iCAAiC,SAAS;CACnD,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9E,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChF,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS;CACpF,gBAAgB,EAAE,QAAQ,CAAC,CAAC,SAAS,4CAA4C,CAAC,CAAC,SAAS;CAC5F,qBAAqB,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC1G,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,2CAA2C;AAKrE,MAAa,qBAIT,OAAO,wBAAwB;CACjC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAbsC,EAAE,OAAO,EAC/C,QAAQ,gCAAgC,SAAS,EACnD,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gDAWhB;AACV,CAAC"}
@@ -1,3 +1,4 @@
1
+ require("../app.cjs");
1
2
  const require_action = require("../action.cjs");
2
3
  let zod = require("zod");
3
4
  //#region src/actions/add-user-to-group.ts
@@ -1 +1 @@
1
- {"version":3,"file":"add-user-to-group.cjs","names":["z","action"],"sources":["../../src/actions/add-user-to-group.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SplitwiseAddUserToGroupInput = z.object({\n user_id: z.number().int().describe(\"The ID of the user being added to the group\"),\n group_id: z.number().int().describe(\"The ID of the group to add the user to\"),\n}).describe(\"Request parameters for adding a user to a group.\");\nconst SplitwiseAddUserToGroup_PictureSchema = z.object({\n large: z.string().describe(\"URL for large-sized profile picture\").nullable().optional(),\n small: z.string().describe(\"URL for small-sized profile picture\").nullable().optional(),\n medium: z.string().describe(\"URL for medium-sized profile picture\").nullable().optional(),\n}).passthrough().describe(\"User profile picture URLs in different sizes.\");\nconst SplitwiseAddUserToGroup_UserSchema = z.object({\n id: z.number().int().describe(\"Unique user ID\").nullable(),\n email: z.string().describe(\"Email address of the user\").nullable().optional(),\n balance: z.array(z.unknown()).describe(\"User's balance in the group\").nullable().optional(),\n picture: SplitwiseAddUserToGroup_PictureSchema.nullable().optional(),\n last_name: z.string().describe(\"Last name of the user\").nullable().optional(),\n first_name: z.string().describe(\"First name of the user\").nullable().optional(),\n custom_picture: z.boolean().describe(\"Whether the user has a custom profile picture\").nullable().optional(),\n registration_status: z.string().describe(\"Registration status of the user (e.g., 'confirmed', 'dummy', 'invited')\").nullable().optional(),\n}).passthrough().describe(\"User object returned when adding to a group.\");\nexport const SplitwiseAddUserToGroupOutput = z.object({\n user: SplitwiseAddUserToGroup_UserSchema.nullable().optional(),\n errors: z.record(z.string(), z.unknown()).describe(\"Any errors encountered during the operation, keyed by error type (e.g., 'base' for general errors)\").nullable().optional(),\n success: z.boolean().describe(\"Indicates whether the operation succeeded. Always check this field as 200 OK does not guarantee success.\").nullable(),\n}).passthrough().describe(\"Response model for adding a user to a group.\");\n\nexport const splitwiseAddUserToGroup = action(\"SPLITWISE_ADD_USER_TO_GROUP\", {\n slug: \"splitwise-add-user-to-group\",\n name: \"Add User to Group\",\n description: \"Tool to add a user to a group. Use when you need to add an existing Splitwise user to a specific group. Note: 200 OK does not indicate success; always check the response 'success' field.\",\n input: SplitwiseAddUserToGroupInput,\n output: SplitwiseAddUserToGroupOutput,\n});\n"],"mappings":";;;AAIA,MAAa,+BAA+BA,IAAAA,EAAE,OAAO;CACnD,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,6CAA6C;CAChF,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wCAAwC;AAC9E,CAAC,CAAC,CAAC,SAAS,kDAAkD;AAC9D,MAAM,wCAAwCA,IAAAA,EAAE,OAAO;CACrD,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtF,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtF,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC1F,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,+CAA+C;AACzE,MAAM,qCAAqCA,IAAAA,EAAE,OAAO;CAClD,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,gBAAgB,CAAC,CAAC,SAAS;CACzD,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC5E,SAASA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1F,SAAS,sCAAsC,SAAS,CAAC,CAAC,SAAS;CACnE,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC5E,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9E,gBAAgBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,+CAA+C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1G,qBAAqBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yEAAyE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC1I,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,8CAA8C;AACxE,MAAa,gCAAgCA,IAAAA,EAAE,OAAO;CACpD,MAAM,mCAAmC,SAAS,CAAC,CAAC,SAAS;CAC7D,QAAQA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,oGAAoG,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7K,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,0GAA0G,CAAC,CAAC,SAAS;AACrJ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,8CAA8C;AAExE,MAAa,0BAA0BC,eAAAA,OAAO,+BAA+B;CAC3E,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
1
+ {"version":3,"file":"add-user-to-group.cjs","names":["z","action"],"sources":["../../src/actions/add-user-to-group.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { splitwise } from \"../app\";\n\nexport const SplitwiseAddUserToGroupInput = z.object({\n user_id: z.number().int().describe(\"The ID of the user being added to the group\"),\n group_id: z.number().int().describe(\"The ID of the group to add the user to\"),\n}).describe(\"Request parameters for adding a user to a group.\");\nconst SplitwiseAddUserToGroup_PictureSchema = z.object({\n large: z.string().describe(\"URL for large-sized profile picture\").nullable().optional(),\n small: z.string().describe(\"URL for small-sized profile picture\").nullable().optional(),\n medium: z.string().describe(\"URL for medium-sized profile picture\").nullable().optional(),\n}).passthrough().describe(\"User profile picture URLs in different sizes.\");\nconst SplitwiseAddUserToGroup_UserSchema = z.object({\n id: z.number().int().describe(\"Unique user ID\").nullable(),\n email: z.string().describe(\"Email address of the user\").nullable().optional(),\n balance: z.array(z.unknown()).describe(\"User's balance in the group\").nullable().optional(),\n picture: SplitwiseAddUserToGroup_PictureSchema.nullable().optional(),\n last_name: z.string().describe(\"Last name of the user\").nullable().optional(),\n first_name: z.string().describe(\"First name of the user\").nullable().optional(),\n custom_picture: z.boolean().describe(\"Whether the user has a custom profile picture\").nullable().optional(),\n registration_status: z.string().describe(\"Registration status of the user (e.g., 'confirmed', 'dummy', 'invited')\").nullable().optional(),\n}).passthrough().describe(\"User object returned when adding to a group.\");\nexport const SplitwiseAddUserToGroupOutput = z.object({\n user: SplitwiseAddUserToGroup_UserSchema.nullable().optional(),\n errors: z.record(z.string(), z.unknown()).describe(\"Any errors encountered during the operation, keyed by error type (e.g., 'base' for general errors)\").nullable().optional(),\n success: z.boolean().describe(\"Indicates whether the operation succeeded. Always check this field as 200 OK does not guarantee success.\").nullable(),\n}).passthrough().describe(\"Response model for adding a user to a group.\");\n\nexport const splitwiseAddUserToGroup: AppAction<\n typeof SplitwiseAddUserToGroupInput,\n typeof SplitwiseAddUserToGroupOutput,\n typeof splitwise.credential\n> = action(\"SPLITWISE_ADD_USER_TO_GROUP\", {\n slug: \"splitwise-add-user-to-group\",\n name: \"Add User to Group\",\n description: \"Tool to add a user to a group. Use when you need to add an existing Splitwise user to a specific group. Note: 200 OK does not indicate success; always check the response 'success' field.\",\n input: SplitwiseAddUserToGroupInput,\n output: SplitwiseAddUserToGroupOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,+BAA+BA,IAAAA,EAAE,OAAO;CACnD,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,6CAA6C;CAChF,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wCAAwC;AAC9E,CAAC,CAAC,CAAC,SAAS,kDAAkD;AAC9D,MAAM,wCAAwCA,IAAAA,EAAE,OAAO;CACrD,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtF,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtF,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC1F,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,+CAA+C;AACzE,MAAM,qCAAqCA,IAAAA,EAAE,OAAO;CAClD,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,gBAAgB,CAAC,CAAC,SAAS;CACzD,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC5E,SAASA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1F,SAAS,sCAAsC,SAAS,CAAC,CAAC,SAAS;CACnE,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC5E,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9E,gBAAgBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,+CAA+C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1G,qBAAqBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yEAAyE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC1I,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,8CAA8C;AACxE,MAAa,gCAAgCA,IAAAA,EAAE,OAAO;CACpD,MAAM,mCAAmC,SAAS,CAAC,CAAC,SAAS;CAC7D,QAAQA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,oGAAoG,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7K,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,0GAA0G,CAAC,CAAC,SAAS;AACrJ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,8CAA8C;AAExE,MAAa,0BAITC,eAAAA,OAAO,+BAA+B;CACxC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { splitwise } from "../app.cjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/add-user-to-group.d.ts
@@ -23,22 +25,7 @@ declare const SplitwiseAddUserToGroupOutput: z.ZodObject<{
23
25
  errors: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
24
26
  success: z.ZodNullable<z.ZodBoolean>;
25
27
  }, z.core.$loose>;
26
- declare const splitwiseAddUserToGroup: import("@keystrokehq/action").WorkflowActionDefinition<{
27
- user_id: number;
28
- group_id: number;
29
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"splitwise", z.ZodObject<{
30
- connectionId: z.ZodString;
31
- entityId: z.ZodString;
32
- instanceId: z.ZodString;
33
- }, z.core.$strip>, z.ZodObject<{
34
- accessToken: z.ZodString;
35
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"splitwise", z.ZodObject<{
36
- connectionId: z.ZodString;
37
- entityId: z.ZodString;
38
- instanceId: z.ZodString;
39
- }, z.core.$strip>, z.ZodObject<{
40
- accessToken: z.ZodString;
41
- }, z.core.$strip>>]>;
28
+ declare const splitwiseAddUserToGroup: AppAction<typeof SplitwiseAddUserToGroupInput, typeof SplitwiseAddUserToGroupOutput, typeof splitwise.credential>;
42
29
  //#endregion
43
30
  export { splitwiseAddUserToGroup };
44
31
  //# sourceMappingURL=add-user-to-group.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-user-to-group.d.cts","names":[],"sources":["../../src/actions/add-user-to-group.ts"],"mappings":";;;cAIa,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;;cAmB5B,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;cAM7B,uBAAA,gCAAuB,wBAAA"}
1
+ {"version":3,"file":"add-user-to-group.d.cts","names":[],"sources":["../../src/actions/add-user-to-group.ts"],"mappings":";;;;;cAMa,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;;cAmB5B,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;cAM7B,uBAAA,EAAyB,SAAA,QAC7B,4BAAA,SACA,6BAAA,SACA,SAAA,CAAU,UAAA"}
@@ -1,3 +1,5 @@
1
+ import { splitwise } from "../app.mjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/add-user-to-group.d.ts
@@ -23,22 +25,7 @@ declare const SplitwiseAddUserToGroupOutput: z.ZodObject<{
23
25
  errors: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
24
26
  success: z.ZodNullable<z.ZodBoolean>;
25
27
  }, z.core.$loose>;
26
- declare const splitwiseAddUserToGroup: import("@keystrokehq/action").WorkflowActionDefinition<{
27
- user_id: number;
28
- group_id: number;
29
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"splitwise", z.ZodObject<{
30
- connectionId: z.ZodString;
31
- entityId: z.ZodString;
32
- instanceId: z.ZodString;
33
- }, z.core.$strip>, z.ZodObject<{
34
- accessToken: z.ZodString;
35
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"splitwise", z.ZodObject<{
36
- connectionId: z.ZodString;
37
- entityId: z.ZodString;
38
- instanceId: z.ZodString;
39
- }, z.core.$strip>, z.ZodObject<{
40
- accessToken: z.ZodString;
41
- }, z.core.$strip>>]>;
28
+ declare const splitwiseAddUserToGroup: AppAction<typeof SplitwiseAddUserToGroupInput, typeof SplitwiseAddUserToGroupOutput, typeof splitwise.credential>;
42
29
  //#endregion
43
30
  export { splitwiseAddUserToGroup };
44
31
  //# sourceMappingURL=add-user-to-group.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-user-to-group.d.mts","names":[],"sources":["../../src/actions/add-user-to-group.ts"],"mappings":";;;cAIa,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;;cAmB5B,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;cAM7B,uBAAA,gCAAuB,wBAAA"}
1
+ {"version":3,"file":"add-user-to-group.d.mts","names":[],"sources":["../../src/actions/add-user-to-group.ts"],"mappings":";;;;;cAMa,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;;cAmB5B,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;cAM7B,uBAAA,EAAyB,SAAA,QAC7B,4BAAA,SACA,6BAAA,SACA,SAAA,CAAU,UAAA"}
@@ -1,3 +1,4 @@
1
+ import "../app.mjs";
1
2
  import { action } from "../action.mjs";
2
3
  import { z } from "zod";
3
4
  //#region src/actions/add-user-to-group.ts
@@ -1 +1 @@
1
- {"version":3,"file":"add-user-to-group.mjs","names":[],"sources":["../../src/actions/add-user-to-group.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SplitwiseAddUserToGroupInput = z.object({\n user_id: z.number().int().describe(\"The ID of the user being added to the group\"),\n group_id: z.number().int().describe(\"The ID of the group to add the user to\"),\n}).describe(\"Request parameters for adding a user to a group.\");\nconst SplitwiseAddUserToGroup_PictureSchema = z.object({\n large: z.string().describe(\"URL for large-sized profile picture\").nullable().optional(),\n small: z.string().describe(\"URL for small-sized profile picture\").nullable().optional(),\n medium: z.string().describe(\"URL for medium-sized profile picture\").nullable().optional(),\n}).passthrough().describe(\"User profile picture URLs in different sizes.\");\nconst SplitwiseAddUserToGroup_UserSchema = z.object({\n id: z.number().int().describe(\"Unique user ID\").nullable(),\n email: z.string().describe(\"Email address of the user\").nullable().optional(),\n balance: z.array(z.unknown()).describe(\"User's balance in the group\").nullable().optional(),\n picture: SplitwiseAddUserToGroup_PictureSchema.nullable().optional(),\n last_name: z.string().describe(\"Last name of the user\").nullable().optional(),\n first_name: z.string().describe(\"First name of the user\").nullable().optional(),\n custom_picture: z.boolean().describe(\"Whether the user has a custom profile picture\").nullable().optional(),\n registration_status: z.string().describe(\"Registration status of the user (e.g., 'confirmed', 'dummy', 'invited')\").nullable().optional(),\n}).passthrough().describe(\"User object returned when adding to a group.\");\nexport const SplitwiseAddUserToGroupOutput = z.object({\n user: SplitwiseAddUserToGroup_UserSchema.nullable().optional(),\n errors: z.record(z.string(), z.unknown()).describe(\"Any errors encountered during the operation, keyed by error type (e.g., 'base' for general errors)\").nullable().optional(),\n success: z.boolean().describe(\"Indicates whether the operation succeeded. Always check this field as 200 OK does not guarantee success.\").nullable(),\n}).passthrough().describe(\"Response model for adding a user to a group.\");\n\nexport const splitwiseAddUserToGroup = action(\"SPLITWISE_ADD_USER_TO_GROUP\", {\n slug: \"splitwise-add-user-to-group\",\n name: \"Add User to Group\",\n description: \"Tool to add a user to a group. Use when you need to add an existing Splitwise user to a specific group. Note: 200 OK does not indicate success; always check the response 'success' field.\",\n input: SplitwiseAddUserToGroupInput,\n output: SplitwiseAddUserToGroupOutput,\n});\n"],"mappings":";;;AAIA,MAAa,+BAA+B,EAAE,OAAO;CACnD,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,6CAA6C;CAChF,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wCAAwC;AAC9E,CAAC,CAAC,CAAC,SAAS,kDAAkD;AAC9D,MAAM,wCAAwC,EAAE,OAAO;CACrD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtF,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtF,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC1F,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,+CAA+C;AACzE,MAAM,qCAAqC,EAAE,OAAO;CAClD,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,gBAAgB,CAAC,CAAC,SAAS;CACzD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC5E,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1F,SAAS,sCAAsC,SAAS,CAAC,CAAC,SAAS;CACnE,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC5E,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9E,gBAAgB,EAAE,QAAQ,CAAC,CAAC,SAAS,+CAA+C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1G,qBAAqB,EAAE,OAAO,CAAC,CAAC,SAAS,yEAAyE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC1I,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,8CAA8C;AAOxE,MAAa,0BAA0B,OAAO,+BAA+B;CAC3E,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAX2C,EAAE,OAAO;EACpD,MAAM,mCAAmC,SAAS,CAAC,CAAC,SAAS;EAC7D,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,oGAAoG,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC7K,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,0GAA0G,CAAC,CAAC,SAAS;CACrJ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,8CAOhB;AACV,CAAC"}
1
+ {"version":3,"file":"add-user-to-group.mjs","names":[],"sources":["../../src/actions/add-user-to-group.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { splitwise } from \"../app\";\n\nexport const SplitwiseAddUserToGroupInput = z.object({\n user_id: z.number().int().describe(\"The ID of the user being added to the group\"),\n group_id: z.number().int().describe(\"The ID of the group to add the user to\"),\n}).describe(\"Request parameters for adding a user to a group.\");\nconst SplitwiseAddUserToGroup_PictureSchema = z.object({\n large: z.string().describe(\"URL for large-sized profile picture\").nullable().optional(),\n small: z.string().describe(\"URL for small-sized profile picture\").nullable().optional(),\n medium: z.string().describe(\"URL for medium-sized profile picture\").nullable().optional(),\n}).passthrough().describe(\"User profile picture URLs in different sizes.\");\nconst SplitwiseAddUserToGroup_UserSchema = z.object({\n id: z.number().int().describe(\"Unique user ID\").nullable(),\n email: z.string().describe(\"Email address of the user\").nullable().optional(),\n balance: z.array(z.unknown()).describe(\"User's balance in the group\").nullable().optional(),\n picture: SplitwiseAddUserToGroup_PictureSchema.nullable().optional(),\n last_name: z.string().describe(\"Last name of the user\").nullable().optional(),\n first_name: z.string().describe(\"First name of the user\").nullable().optional(),\n custom_picture: z.boolean().describe(\"Whether the user has a custom profile picture\").nullable().optional(),\n registration_status: z.string().describe(\"Registration status of the user (e.g., 'confirmed', 'dummy', 'invited')\").nullable().optional(),\n}).passthrough().describe(\"User object returned when adding to a group.\");\nexport const SplitwiseAddUserToGroupOutput = z.object({\n user: SplitwiseAddUserToGroup_UserSchema.nullable().optional(),\n errors: z.record(z.string(), z.unknown()).describe(\"Any errors encountered during the operation, keyed by error type (e.g., 'base' for general errors)\").nullable().optional(),\n success: z.boolean().describe(\"Indicates whether the operation succeeded. Always check this field as 200 OK does not guarantee success.\").nullable(),\n}).passthrough().describe(\"Response model for adding a user to a group.\");\n\nexport const splitwiseAddUserToGroup: AppAction<\n typeof SplitwiseAddUserToGroupInput,\n typeof SplitwiseAddUserToGroupOutput,\n typeof splitwise.credential\n> = action(\"SPLITWISE_ADD_USER_TO_GROUP\", {\n slug: \"splitwise-add-user-to-group\",\n name: \"Add User to Group\",\n description: \"Tool to add a user to a group. Use when you need to add an existing Splitwise user to a specific group. Note: 200 OK does not indicate success; always check the response 'success' field.\",\n input: SplitwiseAddUserToGroupInput,\n output: SplitwiseAddUserToGroupOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,+BAA+B,EAAE,OAAO;CACnD,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,6CAA6C;CAChF,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wCAAwC;AAC9E,CAAC,CAAC,CAAC,SAAS,kDAAkD;AAC9D,MAAM,wCAAwC,EAAE,OAAO;CACrD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtF,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtF,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC1F,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,+CAA+C;AACzE,MAAM,qCAAqC,EAAE,OAAO;CAClD,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,gBAAgB,CAAC,CAAC,SAAS;CACzD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC5E,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1F,SAAS,sCAAsC,SAAS,CAAC,CAAC,SAAS;CACnE,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC5E,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9E,gBAAgB,EAAE,QAAQ,CAAC,CAAC,SAAS,+CAA+C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1G,qBAAqB,EAAE,OAAO,CAAC,CAAC,SAAS,yEAAyE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC1I,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,8CAA8C;AAOxE,MAAa,0BAIT,OAAO,+BAA+B;CACxC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAf2C,EAAE,OAAO;EACpD,MAAM,mCAAmC,SAAS,CAAC,CAAC,SAAS;EAC7D,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,oGAAoG,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC7K,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,0GAA0G,CAAC,CAAC,SAAS;CACrJ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,8CAWhB;AACV,CAAC"}
@@ -1,3 +1,4 @@
1
+ require("../app.cjs");
1
2
  const require_action = require("../action.cjs");
2
3
  let zod = require("zod");
3
4
  //#region src/actions/create-comment.ts
@@ -1 +1 @@
1
- {"version":3,"file":"create-comment.cjs","names":["z","action"],"sources":["../../src/actions/create-comment.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SplitwiseCreateCommentInput = z.object({\n content: z.string().describe(\"The text content of the comment.\"),\n expense_id: z.number().int().describe(\"The ID of the expense to which the comment will be added.\"),\n}).describe(\"Request model for creating a comment on an expense.\");\nconst SplitwiseCreateComment_PictureSchema = z.object({\n large: z.string().describe(\"URL for large-sized profile picture.\").nullable().optional(),\n small: z.string().describe(\"URL for small-sized profile picture.\").nullable().optional(),\n medium: z.string().describe(\"URL for medium-sized profile picture.\").nullable().optional(),\n}).passthrough().describe(\"URLs for user profile pictures in different sizes.\");\nconst SplitwiseCreateComment_UserObjectSchema = z.object({\n id: z.number().int().describe(\"User ID.\").nullable(),\n email: z.string().describe(\"User's email address.\").nullable().optional(),\n picture: SplitwiseCreateComment_PictureSchema.nullable().optional(),\n last_name: z.string().describe(\"User's last name.\").nullable().optional(),\n first_name: z.string().describe(\"User's first name.\").nullable().optional(),\n custom_picture: z.boolean().describe(\"Whether user has custom picture.\").nullable().optional(),\n registration_status: z.string().describe(\"Registration status.\").nullable().optional(),\n}).passthrough().describe(\"Represents a user object in the comment.\");\nexport const SplitwiseCreateCommentOutput = z.object({\n id: z.number().int().describe(\"Unique identifier for the comment.\").nullable(),\n user: SplitwiseCreateComment_UserObjectSchema.nullable(),\n content: z.string().describe(\"The text content of the comment.\").nullable(),\n created_at: z.string().describe(\"Timestamp when the comment was created.\").nullable(),\n deleted_at: z.string().describe(\"Timestamp when the comment was deleted (null if not deleted).\").nullable().optional(),\n relation_id: z.number().int().describe(\"ID of the subject of the comment (the expense ID).\").nullable(),\n comment_type: z.string().describe(\"Type of comment. Can be 'System' for system-generated comments or 'User' for user-authored messages.\").nullable(),\n relation_type: z.string().describe(\"Subject type of the comment. Typically 'ExpenseComment'.\").nullable(),\n}).passthrough().describe(\"Response model for creating a comment.\");\n\nexport const splitwiseCreateComment = action(\"SPLITWISE_CREATE_COMMENT\", {\n slug: \"splitwise-create-comment\",\n name: \"Create Comment\",\n description: \"Tool to create a comment on a specific expense. Use when you need to add a comment or note to an existing expense.\",\n input: SplitwiseCreateCommentInput,\n output: SplitwiseCreateCommentOutput,\n});\n"],"mappings":";;;AAIA,MAAa,8BAA8BA,IAAAA,EAAE,OAAO;CAClD,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC;CAC/D,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,2DAA2D;AACnG,CAAC,CAAC,CAAC,SAAS,qDAAqD;AACjE,MAAM,uCAAuCA,IAAAA,EAAE,OAAO;CACpD,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvF,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvF,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC3F,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,oDAAoD;AAC9E,MAAM,0CAA0CA,IAAAA,EAAE,OAAO;CACvD,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,SAAS;CACnD,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxE,SAAS,qCAAqC,SAAS,CAAC,CAAC,SAAS;CAClE,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxE,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1E,gBAAgBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7F,qBAAqBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACvF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,0CAA0C;AACpE,MAAa,+BAA+BA,IAAAA,EAAE,OAAO;CACnD,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS;CAC7E,MAAM,wCAAwC,SAAS;CACvD,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS;CAC1E,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS;CACpF,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACrH,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;CACtG,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sGAAsG,CAAC,CAAC,SAAS;CACnJ,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;AAC1G,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wCAAwC;AAElE,MAAa,yBAAyBC,eAAAA,OAAO,4BAA4B;CACvE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
1
+ {"version":3,"file":"create-comment.cjs","names":["z","action"],"sources":["../../src/actions/create-comment.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { splitwise } from \"../app\";\n\nexport const SplitwiseCreateCommentInput = z.object({\n content: z.string().describe(\"The text content of the comment.\"),\n expense_id: z.number().int().describe(\"The ID of the expense to which the comment will be added.\"),\n}).describe(\"Request model for creating a comment on an expense.\");\nconst SplitwiseCreateComment_PictureSchema = z.object({\n large: z.string().describe(\"URL for large-sized profile picture.\").nullable().optional(),\n small: z.string().describe(\"URL for small-sized profile picture.\").nullable().optional(),\n medium: z.string().describe(\"URL for medium-sized profile picture.\").nullable().optional(),\n}).passthrough().describe(\"URLs for user profile pictures in different sizes.\");\nconst SplitwiseCreateComment_UserObjectSchema = z.object({\n id: z.number().int().describe(\"User ID.\").nullable(),\n email: z.string().describe(\"User's email address.\").nullable().optional(),\n picture: SplitwiseCreateComment_PictureSchema.nullable().optional(),\n last_name: z.string().describe(\"User's last name.\").nullable().optional(),\n first_name: z.string().describe(\"User's first name.\").nullable().optional(),\n custom_picture: z.boolean().describe(\"Whether user has custom picture.\").nullable().optional(),\n registration_status: z.string().describe(\"Registration status.\").nullable().optional(),\n}).passthrough().describe(\"Represents a user object in the comment.\");\nexport const SplitwiseCreateCommentOutput = z.object({\n id: z.number().int().describe(\"Unique identifier for the comment.\").nullable(),\n user: SplitwiseCreateComment_UserObjectSchema.nullable(),\n content: z.string().describe(\"The text content of the comment.\").nullable(),\n created_at: z.string().describe(\"Timestamp when the comment was created.\").nullable(),\n deleted_at: z.string().describe(\"Timestamp when the comment was deleted (null if not deleted).\").nullable().optional(),\n relation_id: z.number().int().describe(\"ID of the subject of the comment (the expense ID).\").nullable(),\n comment_type: z.string().describe(\"Type of comment. Can be 'System' for system-generated comments or 'User' for user-authored messages.\").nullable(),\n relation_type: z.string().describe(\"Subject type of the comment. Typically 'ExpenseComment'.\").nullable(),\n}).passthrough().describe(\"Response model for creating a comment.\");\n\nexport const splitwiseCreateComment: AppAction<\n typeof SplitwiseCreateCommentInput,\n typeof SplitwiseCreateCommentOutput,\n typeof splitwise.credential\n> = action(\"SPLITWISE_CREATE_COMMENT\", {\n slug: \"splitwise-create-comment\",\n name: \"Create Comment\",\n description: \"Tool to create a comment on a specific expense. Use when you need to add a comment or note to an existing expense.\",\n input: SplitwiseCreateCommentInput,\n output: SplitwiseCreateCommentOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,8BAA8BA,IAAAA,EAAE,OAAO;CAClD,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC;CAC/D,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,2DAA2D;AACnG,CAAC,CAAC,CAAC,SAAS,qDAAqD;AACjE,MAAM,uCAAuCA,IAAAA,EAAE,OAAO;CACpD,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvF,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvF,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC3F,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,oDAAoD;AAC9E,MAAM,0CAA0CA,IAAAA,EAAE,OAAO;CACvD,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,SAAS;CACnD,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxE,SAAS,qCAAqC,SAAS,CAAC,CAAC,SAAS;CAClE,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxE,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1E,gBAAgBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7F,qBAAqBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACvF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,0CAA0C;AACpE,MAAa,+BAA+BA,IAAAA,EAAE,OAAO;CACnD,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS;CAC7E,MAAM,wCAAwC,SAAS;CACvD,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS;CAC1E,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS;CACpF,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACrH,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;CACtG,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sGAAsG,CAAC,CAAC,SAAS;CACnJ,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;AAC1G,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wCAAwC;AAElE,MAAa,yBAITC,eAAAA,OAAO,4BAA4B;CACrC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { splitwise } from "../app.cjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/create-comment.d.ts
@@ -27,22 +29,7 @@ declare const SplitwiseCreateCommentOutput: z.ZodObject<{
27
29
  comment_type: z.ZodNullable<z.ZodString>;
28
30
  relation_type: z.ZodNullable<z.ZodString>;
29
31
  }, z.core.$loose>;
30
- declare const splitwiseCreateComment: import("@keystrokehq/action").WorkflowActionDefinition<{
31
- content: string;
32
- expense_id: number;
33
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"splitwise", z.ZodObject<{
34
- connectionId: z.ZodString;
35
- entityId: z.ZodString;
36
- instanceId: z.ZodString;
37
- }, z.core.$strip>, z.ZodObject<{
38
- accessToken: z.ZodString;
39
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"splitwise", z.ZodObject<{
40
- connectionId: z.ZodString;
41
- entityId: z.ZodString;
42
- instanceId: z.ZodString;
43
- }, z.core.$strip>, z.ZodObject<{
44
- accessToken: z.ZodString;
45
- }, z.core.$strip>>]>;
32
+ declare const splitwiseCreateComment: AppAction<typeof SplitwiseCreateCommentInput, typeof SplitwiseCreateCommentOutput, typeof splitwise.credential>;
46
33
  //#endregion
47
34
  export { splitwiseCreateComment };
48
35
  //# sourceMappingURL=create-comment.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-comment.d.cts","names":[],"sources":["../../src/actions/create-comment.ts"],"mappings":";;;cAIa,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;cAkB3B,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;cAW5B,sBAAA,gCAAsB,wBAAA"}
1
+ {"version":3,"file":"create-comment.d.cts","names":[],"sources":["../../src/actions/create-comment.ts"],"mappings":";;;;;cAMa,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;cAkB3B,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;cAW5B,sBAAA,EAAwB,SAAA,QAC5B,2BAAA,SACA,4BAAA,SACA,SAAA,CAAU,UAAA"}
@@ -1,3 +1,5 @@
1
+ import { splitwise } from "../app.mjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/create-comment.d.ts
@@ -27,22 +29,7 @@ declare const SplitwiseCreateCommentOutput: z.ZodObject<{
27
29
  comment_type: z.ZodNullable<z.ZodString>;
28
30
  relation_type: z.ZodNullable<z.ZodString>;
29
31
  }, z.core.$loose>;
30
- declare const splitwiseCreateComment: import("@keystrokehq/action").WorkflowActionDefinition<{
31
- content: string;
32
- expense_id: number;
33
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"splitwise", z.ZodObject<{
34
- connectionId: z.ZodString;
35
- entityId: z.ZodString;
36
- instanceId: z.ZodString;
37
- }, z.core.$strip>, z.ZodObject<{
38
- accessToken: z.ZodString;
39
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"splitwise", z.ZodObject<{
40
- connectionId: z.ZodString;
41
- entityId: z.ZodString;
42
- instanceId: z.ZodString;
43
- }, z.core.$strip>, z.ZodObject<{
44
- accessToken: z.ZodString;
45
- }, z.core.$strip>>]>;
32
+ declare const splitwiseCreateComment: AppAction<typeof SplitwiseCreateCommentInput, typeof SplitwiseCreateCommentOutput, typeof splitwise.credential>;
46
33
  //#endregion
47
34
  export { splitwiseCreateComment };
48
35
  //# sourceMappingURL=create-comment.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-comment.d.mts","names":[],"sources":["../../src/actions/create-comment.ts"],"mappings":";;;cAIa,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;cAkB3B,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;cAW5B,sBAAA,gCAAsB,wBAAA"}
1
+ {"version":3,"file":"create-comment.d.mts","names":[],"sources":["../../src/actions/create-comment.ts"],"mappings":";;;;;cAMa,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;cAkB3B,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;cAW5B,sBAAA,EAAwB,SAAA,QAC5B,2BAAA,SACA,4BAAA,SACA,SAAA,CAAU,UAAA"}
@@ -1,3 +1,4 @@
1
+ import "../app.mjs";
1
2
  import { action } from "../action.mjs";
2
3
  import { z } from "zod";
3
4
  //#region src/actions/create-comment.ts
@@ -1 +1 @@
1
- {"version":3,"file":"create-comment.mjs","names":[],"sources":["../../src/actions/create-comment.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SplitwiseCreateCommentInput = z.object({\n content: z.string().describe(\"The text content of the comment.\"),\n expense_id: z.number().int().describe(\"The ID of the expense to which the comment will be added.\"),\n}).describe(\"Request model for creating a comment on an expense.\");\nconst SplitwiseCreateComment_PictureSchema = z.object({\n large: z.string().describe(\"URL for large-sized profile picture.\").nullable().optional(),\n small: z.string().describe(\"URL for small-sized profile picture.\").nullable().optional(),\n medium: z.string().describe(\"URL for medium-sized profile picture.\").nullable().optional(),\n}).passthrough().describe(\"URLs for user profile pictures in different sizes.\");\nconst SplitwiseCreateComment_UserObjectSchema = z.object({\n id: z.number().int().describe(\"User ID.\").nullable(),\n email: z.string().describe(\"User's email address.\").nullable().optional(),\n picture: SplitwiseCreateComment_PictureSchema.nullable().optional(),\n last_name: z.string().describe(\"User's last name.\").nullable().optional(),\n first_name: z.string().describe(\"User's first name.\").nullable().optional(),\n custom_picture: z.boolean().describe(\"Whether user has custom picture.\").nullable().optional(),\n registration_status: z.string().describe(\"Registration status.\").nullable().optional(),\n}).passthrough().describe(\"Represents a user object in the comment.\");\nexport const SplitwiseCreateCommentOutput = z.object({\n id: z.number().int().describe(\"Unique identifier for the comment.\").nullable(),\n user: SplitwiseCreateComment_UserObjectSchema.nullable(),\n content: z.string().describe(\"The text content of the comment.\").nullable(),\n created_at: z.string().describe(\"Timestamp when the comment was created.\").nullable(),\n deleted_at: z.string().describe(\"Timestamp when the comment was deleted (null if not deleted).\").nullable().optional(),\n relation_id: z.number().int().describe(\"ID of the subject of the comment (the expense ID).\").nullable(),\n comment_type: z.string().describe(\"Type of comment. Can be 'System' for system-generated comments or 'User' for user-authored messages.\").nullable(),\n relation_type: z.string().describe(\"Subject type of the comment. Typically 'ExpenseComment'.\").nullable(),\n}).passthrough().describe(\"Response model for creating a comment.\");\n\nexport const splitwiseCreateComment = action(\"SPLITWISE_CREATE_COMMENT\", {\n slug: \"splitwise-create-comment\",\n name: \"Create Comment\",\n description: \"Tool to create a comment on a specific expense. Use when you need to add a comment or note to an existing expense.\",\n input: SplitwiseCreateCommentInput,\n output: SplitwiseCreateCommentOutput,\n});\n"],"mappings":";;;AAIA,MAAa,8BAA8B,EAAE,OAAO;CAClD,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC;CAC/D,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,2DAA2D;AACnG,CAAC,CAAC,CAAC,SAAS,qDAAqD;AACjE,MAAM,uCAAuC,EAAE,OAAO;CACpD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvF,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvF,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC3F,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,oDAAoD;AAC9E,MAAM,0CAA0C,EAAE,OAAO;CACvD,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,SAAS;CACnD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxE,SAAS,qCAAqC,SAAS,CAAC,CAAC,SAAS;CAClE,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxE,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1E,gBAAgB,EAAE,QAAQ,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7F,qBAAqB,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACvF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,0CAA0C;AAYpE,MAAa,yBAAyB,OAAO,4BAA4B;CACvE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAhB0C,EAAE,OAAO;EACnD,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS;EAC7E,MAAM,wCAAwC,SAAS;EACvD,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS;EAC1E,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS;EACpF,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACrH,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;EACtG,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,sGAAsG,CAAC,CAAC,SAAS;EACnJ,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;CAC1G,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wCAOhB;AACV,CAAC"}
1
+ {"version":3,"file":"create-comment.mjs","names":[],"sources":["../../src/actions/create-comment.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { splitwise } from \"../app\";\n\nexport const SplitwiseCreateCommentInput = z.object({\n content: z.string().describe(\"The text content of the comment.\"),\n expense_id: z.number().int().describe(\"The ID of the expense to which the comment will be added.\"),\n}).describe(\"Request model for creating a comment on an expense.\");\nconst SplitwiseCreateComment_PictureSchema = z.object({\n large: z.string().describe(\"URL for large-sized profile picture.\").nullable().optional(),\n small: z.string().describe(\"URL for small-sized profile picture.\").nullable().optional(),\n medium: z.string().describe(\"URL for medium-sized profile picture.\").nullable().optional(),\n}).passthrough().describe(\"URLs for user profile pictures in different sizes.\");\nconst SplitwiseCreateComment_UserObjectSchema = z.object({\n id: z.number().int().describe(\"User ID.\").nullable(),\n email: z.string().describe(\"User's email address.\").nullable().optional(),\n picture: SplitwiseCreateComment_PictureSchema.nullable().optional(),\n last_name: z.string().describe(\"User's last name.\").nullable().optional(),\n first_name: z.string().describe(\"User's first name.\").nullable().optional(),\n custom_picture: z.boolean().describe(\"Whether user has custom picture.\").nullable().optional(),\n registration_status: z.string().describe(\"Registration status.\").nullable().optional(),\n}).passthrough().describe(\"Represents a user object in the comment.\");\nexport const SplitwiseCreateCommentOutput = z.object({\n id: z.number().int().describe(\"Unique identifier for the comment.\").nullable(),\n user: SplitwiseCreateComment_UserObjectSchema.nullable(),\n content: z.string().describe(\"The text content of the comment.\").nullable(),\n created_at: z.string().describe(\"Timestamp when the comment was created.\").nullable(),\n deleted_at: z.string().describe(\"Timestamp when the comment was deleted (null if not deleted).\").nullable().optional(),\n relation_id: z.number().int().describe(\"ID of the subject of the comment (the expense ID).\").nullable(),\n comment_type: z.string().describe(\"Type of comment. Can be 'System' for system-generated comments or 'User' for user-authored messages.\").nullable(),\n relation_type: z.string().describe(\"Subject type of the comment. Typically 'ExpenseComment'.\").nullable(),\n}).passthrough().describe(\"Response model for creating a comment.\");\n\nexport const splitwiseCreateComment: AppAction<\n typeof SplitwiseCreateCommentInput,\n typeof SplitwiseCreateCommentOutput,\n typeof splitwise.credential\n> = action(\"SPLITWISE_CREATE_COMMENT\", {\n slug: \"splitwise-create-comment\",\n name: \"Create Comment\",\n description: \"Tool to create a comment on a specific expense. Use when you need to add a comment or note to an existing expense.\",\n input: SplitwiseCreateCommentInput,\n output: SplitwiseCreateCommentOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,8BAA8B,EAAE,OAAO;CAClD,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC;CAC/D,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,2DAA2D;AACnG,CAAC,CAAC,CAAC,SAAS,qDAAqD;AACjE,MAAM,uCAAuC,EAAE,OAAO;CACpD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvF,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvF,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC3F,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,oDAAoD;AAC9E,MAAM,0CAA0C,EAAE,OAAO;CACvD,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,SAAS;CACnD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxE,SAAS,qCAAqC,SAAS,CAAC,CAAC,SAAS;CAClE,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxE,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1E,gBAAgB,EAAE,QAAQ,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7F,qBAAqB,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACvF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,0CAA0C;AAYpE,MAAa,yBAIT,OAAO,4BAA4B;CACrC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QApB0C,EAAE,OAAO;EACnD,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS;EAC7E,MAAM,wCAAwC,SAAS;EACvD,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS;EAC1E,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS;EACpF,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACrH,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;EACtG,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,sGAAsG,CAAC,CAAC,SAAS;EACnJ,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;CAC1G,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wCAWhB;AACV,CAAC"}
@@ -1,3 +1,4 @@
1
+ require("../app.cjs");
1
2
  const require_action = require("../action.cjs");
2
3
  let zod = require("zod");
3
4
  //#region src/actions/create-expense.ts
@@ -1 +1 @@
1
- {"version":3,"file":"create-expense.cjs","names":["z","action"],"sources":["../../src/actions/create-expense.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SplitwiseCreateExpenseInput = z.object({\n cost: z.string().describe(\"Total cost as string decimal (up to 2 decimal places)\"),\n date: z.string().describe(\"Date when the expense occurred (ISO 8601 format). Defaults to current time if omitted\").optional(),\n users: z.array(z.object({\n email: z.string().describe(\"Email address (required when adding new users without user_id)\").optional(),\n user_id: z.number().int().describe(\"Splitwise user ID of an existing friend or group member\").optional(),\n last_name: z.string().describe(\"Last name (required when adding new users without user_id)\").optional(),\n first_name: z.string().describe(\"First name (required when adding new users without user_id)\").optional(),\n owed_share: z.string().describe(\"Amount this participant owes for their portion of the expense (decimal string, up to 2 decimal places)\"),\n paid_share: z.string().describe(\"Amount this participant actually paid towards the expense (decimal string, up to 2 decimal places)\"),\n}).passthrough().describe(\"Represents a participant's share in an expense, specifying what they paid and what they owe.\\nMust include either user_id (for existing users) or all three fields: email, first_name, and last_name (for new users).\")).describe(\"List of participants with custom share amounts. Required when using custom splits instead of split_equally Each user object must include `paid_share` and `owed_share` as decimal strings with up to 2 decimal places (e.g., '25.00').\").optional(),\n details: z.string().describe(\"Additional notes or details about the expense\").optional(),\n group_id: z.number().int().describe(\"ID of the group to add this expense to. Use 0 for expenses between friends (not in a group)\"),\n category_id: z.number().int().describe(\"Expense category ID (use get_categories action to retrieve valid IDs). Defaults to 'General'\").optional(),\n description: z.string().describe(\"Brief description of what the expense is for\"),\n currency_code: z.string().describe(\"3-letter ISO currency code (e.g., USD, EUR, GBP). Defaults to user's default currency\").optional(),\n split_equally: z.boolean().describe(\"Set to true to split cost equally. When group_id=0, you must also provide users list to specify participants\").optional(),\n repeat_interval: z.enum([\"never\", \"weekly\", \"fortnightly\", \"monthly\", \"yearly\"]).describe(\"How often this expense repeats. Use 'never' or omit for one-time expenses\").optional(),\n}).describe(\"Request model for creating a new expense.\\nExactly one of split_equally or users must be provided.\");\nconst SplitwiseCreateExpense_PictureSchema = z.object({\n medium: z.string().describe(\"Medium-sized profile picture URL\").nullable().optional(),\n}).passthrough().describe(\"Profile picture URLs.\");\nconst SplitwiseCreateExpense_UserInfoSchema = z.object({\n id: z.number().int().describe(\"User ID\").nullable(),\n picture: SplitwiseCreateExpense_PictureSchema.nullable(),\n last_name: z.string().describe(\"User's last name\").nullable().optional(),\n first_name: z.string().describe(\"User's first name\").nullable(),\n custom_picture: z.boolean().describe(\"Whether the user has a custom picture\").nullable().optional(),\n}).passthrough().describe(\"Basic user information within an expense.\");\nconst SplitwiseCreateExpense_ExpenseUserSchema = z.object({\n user: SplitwiseCreateExpense_UserInfoSchema.nullable(),\n user_id: z.number().int().describe(\"User ID\").nullable(),\n owed_share: z.string().describe(\"Amount this user owes\").nullable(),\n paid_share: z.string().describe(\"Amount this user paid\").nullable(),\n net_balance: z.string().describe(\"Net balance for this user in the expense\").nullable(),\n}).passthrough().describe(\"User's share details in an expense.\");\nconst SplitwiseCreateExpense_ReceiptSchema = z.object({\n large: z.string().describe(\"Large receipt image URL\").nullable().optional(),\n original: z.string().describe(\"Original receipt image URL\").nullable().optional(),\n}).passthrough().describe(\"Receipt image URLs.\");\nconst SplitwiseCreateExpense_CategorySchema = z.object({\n id: z.number().int().describe(\"Category ID\").nullable(),\n name: z.string().describe(\"Category name\").nullable(),\n}).passthrough().describe(\"Expense category information.\");\nconst SplitwiseCreateExpense_RepaymentSchema = z.object({\n to: z.number().int().describe(\"User ID who is owed money\").nullable(),\n from: z.number().int().describe(\"User ID who owes money\").nullable(),\n amount: z.string().describe(\"Amount to be repaid\").nullable(),\n}).passthrough().describe(\"Repayment information showing who owes whom.\");\nconst SplitwiseCreateExpense_ExpenseSchema = z.object({\n id: z.number().int().describe(\"Unique expense ID\").nullable(),\n cost: z.string().describe(\"Total cost of the expense\").nullable(),\n date: z.string().describe(\"Date the expense occurred (ISO 8601)\").nullable(),\n users: z.array(SplitwiseCreateExpense_ExpenseUserSchema).describe(\"List of users involved in this expense with their shares\"),\n details: z.string().describe(\"Additional details or notes\").nullable().optional(),\n payment: z.boolean().describe(\"Whether this is a payment (vs. an expense)\").nullable(),\n receipt: SplitwiseCreateExpense_ReceiptSchema.nullable(),\n repeats: z.boolean().describe(\"Whether this expense repeats\").nullable(),\n category: SplitwiseCreateExpense_CategorySchema.nullable(),\n group_id: z.number().int().describe(\"Group ID, null if not in a group\").nullable().optional(),\n created_at: z.string().describe(\"Date the expense was created (ISO 8601)\").nullable(),\n created_by: SplitwiseCreateExpense_UserInfoSchema.nullable(),\n deleted_at: z.string().describe(\"Date the expense was deleted\").nullable().optional(),\n deleted_by: SplitwiseCreateExpense_UserInfoSchema.nullable().optional(),\n repayments: z.array(SplitwiseCreateExpense_RepaymentSchema).describe(\"List of repayments required to settle this expense\"),\n updated_at: z.string().describe(\"Date the expense was last updated (ISO 8601)\").nullable(),\n updated_by: SplitwiseCreateExpense_UserInfoSchema.nullable().optional(),\n description: z.string().describe(\"Expense description\").nullable(),\n next_repeat: z.string().describe(\"Date of next repeat\").nullable().optional(),\n currency_code: z.string().describe(\"Currency code (e.g., 'USD')\").nullable(),\n comments_count: z.number().int().describe(\"Number of comments on this expense\").nullable(),\n email_reminder: z.boolean().describe(\"Whether email reminders are enabled\").nullable(),\n transaction_id: z.string().describe(\"External transaction ID\").nullable().optional(),\n creation_method: z.string().describe(\"How the expense was created\").nullable().optional(),\n repeat_interval: z.string().describe(\"Repeat interval if applicable\").nullable().optional(),\n expense_bundle_id: z.number().int().describe(\"Bundle ID if part of a recurring expense\").nullable().optional(),\n transaction_method: z.string().describe(\"Transaction method (e.g., 'offline')\").nullable(),\n transaction_status: z.string().describe(\"Transaction status\").nullable().optional(),\n transaction_confirmed: z.boolean().describe(\"Whether the transaction is confirmed\").nullable(),\n email_reminder_in_advance: z.number().int().describe(\"Days in advance for email reminder\").nullable(),\n}).passthrough().describe(\"Complete expense object with all details.\");\nexport const SplitwiseCreateExpenseOutput = z.object({\n errors: z.record(z.string(), z.unknown()).describe(\"Errors returned by the API; empty if none\"),\n expenses: z.array(SplitwiseCreateExpense_ExpenseSchema).describe(\"List of created expense objects\"),\n}).passthrough().describe(\"Response model for create_expense action.\");\n\nexport const splitwiseCreateExpense = action(\"SPLITWISE_CREATE_EXPENSE\", {\n slug: \"splitwise-create-expense\",\n name: \"Create Expense\",\n description: \"Tool to create a new Splitwise expense. Use when you need to record a payment or bill in a group or between users. Provide exactly one of split_equally or users for shares — supplying both or neither causes a validation error and no expense is created.\",\n input: SplitwiseCreateExpenseInput,\n output: SplitwiseCreateExpenseOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"create-expense.cjs","names":["z","action"],"sources":["../../src/actions/create-expense.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { splitwise } from \"../app\";\n\nexport const SplitwiseCreateExpenseInput = z.object({\n cost: z.string().describe(\"Total cost as string decimal (up to 2 decimal places)\"),\n date: z.string().describe(\"Date when the expense occurred (ISO 8601 format). Defaults to current time if omitted\").optional(),\n users: z.array(z.object({\n email: z.string().describe(\"Email address (required when adding new users without user_id)\").optional(),\n user_id: z.number().int().describe(\"Splitwise user ID of an existing friend or group member\").optional(),\n last_name: z.string().describe(\"Last name (required when adding new users without user_id)\").optional(),\n first_name: z.string().describe(\"First name (required when adding new users without user_id)\").optional(),\n owed_share: z.string().describe(\"Amount this participant owes for their portion of the expense (decimal string, up to 2 decimal places)\"),\n paid_share: z.string().describe(\"Amount this participant actually paid towards the expense (decimal string, up to 2 decimal places)\"),\n}).passthrough().describe(\"Represents a participant's share in an expense, specifying what they paid and what they owe.\\nMust include either user_id (for existing users) or all three fields: email, first_name, and last_name (for new users).\")).describe(\"List of participants with custom share amounts. Required when using custom splits instead of split_equally Each user object must include `paid_share` and `owed_share` as decimal strings with up to 2 decimal places (e.g., '25.00').\").optional(),\n details: z.string().describe(\"Additional notes or details about the expense\").optional(),\n group_id: z.number().int().describe(\"ID of the group to add this expense to. Use 0 for expenses between friends (not in a group)\"),\n category_id: z.number().int().describe(\"Expense category ID (use get_categories action to retrieve valid IDs). Defaults to 'General'\").optional(),\n description: z.string().describe(\"Brief description of what the expense is for\"),\n currency_code: z.string().describe(\"3-letter ISO currency code (e.g., USD, EUR, GBP). Defaults to user's default currency\").optional(),\n split_equally: z.boolean().describe(\"Set to true to split cost equally. When group_id=0, you must also provide users list to specify participants\").optional(),\n repeat_interval: z.enum([\"never\", \"weekly\", \"fortnightly\", \"monthly\", \"yearly\"]).describe(\"How often this expense repeats. Use 'never' or omit for one-time expenses\").optional(),\n}).describe(\"Request model for creating a new expense.\\nExactly one of split_equally or users must be provided.\");\nconst SplitwiseCreateExpense_PictureSchema = z.object({\n medium: z.string().describe(\"Medium-sized profile picture URL\").nullable().optional(),\n}).passthrough().describe(\"Profile picture URLs.\");\nconst SplitwiseCreateExpense_UserInfoSchema = z.object({\n id: z.number().int().describe(\"User ID\").nullable(),\n picture: SplitwiseCreateExpense_PictureSchema.nullable(),\n last_name: z.string().describe(\"User's last name\").nullable().optional(),\n first_name: z.string().describe(\"User's first name\").nullable(),\n custom_picture: z.boolean().describe(\"Whether the user has a custom picture\").nullable().optional(),\n}).passthrough().describe(\"Basic user information within an expense.\");\nconst SplitwiseCreateExpense_ExpenseUserSchema = z.object({\n user: SplitwiseCreateExpense_UserInfoSchema.nullable(),\n user_id: z.number().int().describe(\"User ID\").nullable(),\n owed_share: z.string().describe(\"Amount this user owes\").nullable(),\n paid_share: z.string().describe(\"Amount this user paid\").nullable(),\n net_balance: z.string().describe(\"Net balance for this user in the expense\").nullable(),\n}).passthrough().describe(\"User's share details in an expense.\");\nconst SplitwiseCreateExpense_ReceiptSchema = z.object({\n large: z.string().describe(\"Large receipt image URL\").nullable().optional(),\n original: z.string().describe(\"Original receipt image URL\").nullable().optional(),\n}).passthrough().describe(\"Receipt image URLs.\");\nconst SplitwiseCreateExpense_CategorySchema = z.object({\n id: z.number().int().describe(\"Category ID\").nullable(),\n name: z.string().describe(\"Category name\").nullable(),\n}).passthrough().describe(\"Expense category information.\");\nconst SplitwiseCreateExpense_RepaymentSchema = z.object({\n to: z.number().int().describe(\"User ID who is owed money\").nullable(),\n from: z.number().int().describe(\"User ID who owes money\").nullable(),\n amount: z.string().describe(\"Amount to be repaid\").nullable(),\n}).passthrough().describe(\"Repayment information showing who owes whom.\");\nconst SplitwiseCreateExpense_ExpenseSchema = z.object({\n id: z.number().int().describe(\"Unique expense ID\").nullable(),\n cost: z.string().describe(\"Total cost of the expense\").nullable(),\n date: z.string().describe(\"Date the expense occurred (ISO 8601)\").nullable(),\n users: z.array(SplitwiseCreateExpense_ExpenseUserSchema).describe(\"List of users involved in this expense with their shares\"),\n details: z.string().describe(\"Additional details or notes\").nullable().optional(),\n payment: z.boolean().describe(\"Whether this is a payment (vs. an expense)\").nullable(),\n receipt: SplitwiseCreateExpense_ReceiptSchema.nullable(),\n repeats: z.boolean().describe(\"Whether this expense repeats\").nullable(),\n category: SplitwiseCreateExpense_CategorySchema.nullable(),\n group_id: z.number().int().describe(\"Group ID, null if not in a group\").nullable().optional(),\n created_at: z.string().describe(\"Date the expense was created (ISO 8601)\").nullable(),\n created_by: SplitwiseCreateExpense_UserInfoSchema.nullable(),\n deleted_at: z.string().describe(\"Date the expense was deleted\").nullable().optional(),\n deleted_by: SplitwiseCreateExpense_UserInfoSchema.nullable().optional(),\n repayments: z.array(SplitwiseCreateExpense_RepaymentSchema).describe(\"List of repayments required to settle this expense\"),\n updated_at: z.string().describe(\"Date the expense was last updated (ISO 8601)\").nullable(),\n updated_by: SplitwiseCreateExpense_UserInfoSchema.nullable().optional(),\n description: z.string().describe(\"Expense description\").nullable(),\n next_repeat: z.string().describe(\"Date of next repeat\").nullable().optional(),\n currency_code: z.string().describe(\"Currency code (e.g., 'USD')\").nullable(),\n comments_count: z.number().int().describe(\"Number of comments on this expense\").nullable(),\n email_reminder: z.boolean().describe(\"Whether email reminders are enabled\").nullable(),\n transaction_id: z.string().describe(\"External transaction ID\").nullable().optional(),\n creation_method: z.string().describe(\"How the expense was created\").nullable().optional(),\n repeat_interval: z.string().describe(\"Repeat interval if applicable\").nullable().optional(),\n expense_bundle_id: z.number().int().describe(\"Bundle ID if part of a recurring expense\").nullable().optional(),\n transaction_method: z.string().describe(\"Transaction method (e.g., 'offline')\").nullable(),\n transaction_status: z.string().describe(\"Transaction status\").nullable().optional(),\n transaction_confirmed: z.boolean().describe(\"Whether the transaction is confirmed\").nullable(),\n email_reminder_in_advance: z.number().int().describe(\"Days in advance for email reminder\").nullable(),\n}).passthrough().describe(\"Complete expense object with all details.\");\nexport const SplitwiseCreateExpenseOutput = z.object({\n errors: z.record(z.string(), z.unknown()).describe(\"Errors returned by the API; empty if none\"),\n expenses: z.array(SplitwiseCreateExpense_ExpenseSchema).describe(\"List of created expense objects\"),\n}).passthrough().describe(\"Response model for create_expense action.\");\n\nexport const splitwiseCreateExpense: AppAction<\n typeof SplitwiseCreateExpenseInput,\n typeof SplitwiseCreateExpenseOutput,\n typeof splitwise.credential\n> = action(\"SPLITWISE_CREATE_EXPENSE\", {\n slug: \"splitwise-create-expense\",\n name: \"Create Expense\",\n description: \"Tool to create a new Splitwise expense. Use when you need to record a payment or bill in a group or between users. Provide exactly one of split_equally or users for shares — supplying both or neither causes a validation error and no expense is created.\",\n input: SplitwiseCreateExpenseInput,\n output: SplitwiseCreateExpenseOutput,\n});\n"],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { splitwise } from "../app.cjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/create-expense.d.ts
@@ -109,38 +111,7 @@ declare const SplitwiseCreateExpenseOutput: z.ZodObject<{
109
111
  email_reminder_in_advance: z.ZodNullable<z.ZodNumber>;
110
112
  }, z.core.$loose>>;
111
113
  }, z.core.$loose>;
112
- declare const splitwiseCreateExpense: import("@keystrokehq/action").WorkflowActionDefinition<{
113
- cost: string;
114
- group_id: number;
115
- description: string;
116
- date?: string | undefined;
117
- users?: {
118
- [x: string]: unknown;
119
- owed_share: string;
120
- paid_share: string;
121
- email?: string | undefined;
122
- user_id?: number | undefined;
123
- last_name?: string | undefined;
124
- first_name?: string | undefined;
125
- }[] | undefined;
126
- details?: string | undefined;
127
- category_id?: number | undefined;
128
- currency_code?: string | undefined;
129
- split_equally?: boolean | undefined;
130
- repeat_interval?: "never" | "weekly" | "fortnightly" | "monthly" | "yearly" | undefined;
131
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential<"splitwise", z.ZodObject<{
132
- connectionId: z.ZodString;
133
- entityId: z.ZodString;
134
- instanceId: z.ZodString;
135
- }, z.core.$strip>, z.ZodObject<{
136
- accessToken: z.ZodString;
137
- }, z.core.$strip>>]>, readonly [import("@keystrokehq/shared").Credential<"splitwise", z.ZodObject<{
138
- connectionId: z.ZodString;
139
- entityId: z.ZodString;
140
- instanceId: z.ZodString;
141
- }, z.core.$strip>, z.ZodObject<{
142
- accessToken: z.ZodString;
143
- }, z.core.$strip>>]>;
114
+ declare const splitwiseCreateExpense: AppAction<typeof SplitwiseCreateExpenseInput, typeof SplitwiseCreateExpenseOutput, typeof splitwise.credential>;
144
115
  //#endregion
145
116
  export { splitwiseCreateExpense };
146
117
  //# sourceMappingURL=create-expense.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-expense.d.cts","names":[],"sources":["../../src/actions/create-expense.ts"],"mappings":";;;cAIa,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;cAiF3B,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAK5B,sBAAA,gCAAsB,wBAAA"}
1
+ {"version":3,"file":"create-expense.d.cts","names":[],"sources":["../../src/actions/create-expense.ts"],"mappings":";;;;;cAMa,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;cAiF3B,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAK5B,sBAAA,EAAwB,SAAA,QAC5B,2BAAA,SACA,4BAAA,SACA,SAAA,CAAU,UAAA"}