@jezweb/mcp-integrations 0.1.1 → 0.1.2

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 (257) hide show
  1. package/README.md +10 -3
  2. package/dist/australia/business/clients/abr.d.ts +45 -0
  3. package/dist/australia/business/clients/abr.d.ts.map +1 -0
  4. package/dist/australia/business/clients/abr.js +167 -0
  5. package/dist/australia/business/clients/abr.js.map +1 -0
  6. package/dist/australia/business/clients/asic.d.ts +46 -0
  7. package/dist/australia/business/clients/asic.d.ts.map +1 -0
  8. package/dist/australia/business/clients/asic.js +128 -0
  9. package/dist/australia/business/clients/asic.js.map +1 -0
  10. package/dist/australia/business/index.d.ts +19 -0
  11. package/dist/australia/business/index.d.ts.map +1 -0
  12. package/dist/australia/business/index.js +14 -0
  13. package/dist/australia/business/index.js.map +1 -0
  14. package/dist/australia/business/tools/index.d.ts +29 -0
  15. package/dist/australia/business/tools/index.d.ts.map +1 -0
  16. package/dist/australia/business/tools/index.js +174 -0
  17. package/dist/australia/business/tools/index.js.map +1 -0
  18. package/dist/australia/datetime/clients/holidays.d.ts +85 -0
  19. package/dist/australia/datetime/clients/holidays.d.ts.map +1 -0
  20. package/dist/australia/datetime/clients/holidays.js +93 -0
  21. package/dist/australia/datetime/clients/holidays.js.map +1 -0
  22. package/dist/australia/datetime/index.d.ts +22 -0
  23. package/dist/australia/datetime/index.d.ts.map +1 -0
  24. package/dist/australia/datetime/index.js +14 -0
  25. package/dist/australia/datetime/index.js.map +1 -0
  26. package/dist/australia/datetime/tools/index.d.ts +55 -0
  27. package/dist/australia/datetime/tools/index.d.ts.map +1 -0
  28. package/dist/australia/datetime/tools/index.js +439 -0
  29. package/dist/australia/datetime/tools/index.js.map +1 -0
  30. package/dist/australia/index.d.ts +47 -0
  31. package/dist/australia/index.d.ts.map +1 -0
  32. package/dist/australia/index.js +29 -0
  33. package/dist/australia/index.js.map +1 -0
  34. package/dist/australia/ip/api-client.d.ts +130 -0
  35. package/dist/australia/ip/api-client.d.ts.map +1 -0
  36. package/dist/australia/ip/api-client.js +151 -0
  37. package/dist/australia/ip/api-client.js.map +1 -0
  38. package/dist/australia/ip/index.d.ts +19 -0
  39. package/dist/australia/ip/index.d.ts.map +1 -0
  40. package/dist/australia/ip/index.js +13 -0
  41. package/dist/australia/ip/index.js.map +1 -0
  42. package/dist/australia/ip/tools/index.d.ts +24 -0
  43. package/dist/australia/ip/tools/index.d.ts.map +1 -0
  44. package/dist/australia/ip/tools/index.js +279 -0
  45. package/dist/australia/ip/tools/index.js.map +1 -0
  46. package/dist/google/calendar/prompts.js +2 -2
  47. package/dist/google/calendar/prompts.js.map +1 -1
  48. package/dist/google/calendar/resources.js +1 -1
  49. package/dist/google/calendar/resources.js.map +1 -1
  50. package/dist/google/calendar/tools/calendars.js +1 -1
  51. package/dist/google/calendar/tools/calendars.js.map +1 -1
  52. package/dist/google/calendar/tools/events.d.ts.map +1 -1
  53. package/dist/google/calendar/tools/events.js +6 -5
  54. package/dist/google/calendar/tools/events.js.map +1 -1
  55. package/dist/google/chat/index.d.ts +46 -0
  56. package/dist/google/chat/index.d.ts.map +1 -0
  57. package/dist/google/chat/index.js +56 -0
  58. package/dist/google/chat/index.js.map +1 -0
  59. package/dist/google/chat/prompts.d.ts +71 -0
  60. package/dist/google/chat/prompts.d.ts.map +1 -0
  61. package/dist/google/chat/prompts.js +142 -0
  62. package/dist/google/chat/prompts.js.map +1 -0
  63. package/dist/google/chat/resources.d.ts +47 -0
  64. package/dist/google/chat/resources.d.ts.map +1 -0
  65. package/dist/google/chat/resources.js +95 -0
  66. package/dist/google/chat/resources.js.map +1 -0
  67. package/dist/google/chat/tools/index.d.ts +1122 -0
  68. package/dist/google/chat/tools/index.d.ts.map +1 -0
  69. package/dist/google/chat/tools/index.js +99 -0
  70. package/dist/google/chat/tools/index.js.map +1 -0
  71. package/dist/google/chat/tools/members.d.ts +50 -0
  72. package/dist/google/chat/tools/members.d.ts.map +1 -0
  73. package/dist/google/chat/tools/members.js +155 -0
  74. package/dist/google/chat/tools/members.js.map +1 -0
  75. package/dist/google/chat/tools/messages.d.ts +180 -0
  76. package/dist/google/chat/tools/messages.d.ts.map +1 -0
  77. package/dist/google/chat/tools/messages.js +340 -0
  78. package/dist/google/chat/tools/messages.js.map +1 -0
  79. package/dist/google/chat/tools/spaces.d.ts +51 -0
  80. package/dist/google/chat/tools/spaces.d.ts.map +1 -0
  81. package/dist/google/chat/tools/spaces.js +174 -0
  82. package/dist/google/chat/tools/spaces.js.map +1 -0
  83. package/dist/google/contacts/index.d.ts +27 -0
  84. package/dist/google/contacts/index.d.ts.map +1 -0
  85. package/dist/google/contacts/index.js +30 -0
  86. package/dist/google/contacts/index.js.map +1 -0
  87. package/dist/google/contacts/prompts.d.ts +71 -0
  88. package/dist/google/contacts/prompts.d.ts.map +1 -0
  89. package/dist/google/contacts/prompts.js +129 -0
  90. package/dist/google/contacts/prompts.js.map +1 -0
  91. package/dist/google/contacts/resources.d.ts +47 -0
  92. package/dist/google/contacts/resources.d.ts.map +1 -0
  93. package/dist/google/contacts/resources.js +128 -0
  94. package/dist/google/contacts/resources.js.map +1 -0
  95. package/dist/google/contacts/tools/contacts.d.ts +154 -0
  96. package/dist/google/contacts/tools/contacts.d.ts.map +1 -0
  97. package/dist/google/contacts/tools/contacts.js +416 -0
  98. package/dist/google/contacts/tools/contacts.js.map +1 -0
  99. package/dist/google/contacts/tools/index.d.ts +524 -0
  100. package/dist/google/contacts/tools/index.d.ts.map +1 -0
  101. package/dist/google/contacts/tools/index.js +63 -0
  102. package/dist/google/contacts/tools/index.js.map +1 -0
  103. package/dist/google/docs/index.d.ts +43 -0
  104. package/dist/google/docs/index.d.ts.map +1 -0
  105. package/dist/google/docs/index.js +51 -0
  106. package/dist/google/docs/index.js.map +1 -0
  107. package/dist/google/docs/prompts.d.ts +71 -0
  108. package/dist/google/docs/prompts.d.ts.map +1 -0
  109. package/dist/google/docs/prompts.js +154 -0
  110. package/dist/google/docs/prompts.js.map +1 -0
  111. package/dist/google/docs/resources.d.ts +48 -0
  112. package/dist/google/docs/resources.d.ts.map +1 -0
  113. package/dist/google/docs/resources.js +111 -0
  114. package/dist/google/docs/resources.js.map +1 -0
  115. package/dist/google/docs/tools/index.d.ts +738 -0
  116. package/dist/google/docs/tools/index.d.ts.map +1 -0
  117. package/dist/google/docs/tools/index.js +80 -0
  118. package/dist/google/docs/tools/index.js.map +1 -0
  119. package/dist/google/docs/tools/read.d.ts +47 -0
  120. package/dist/google/docs/tools/read.d.ts.map +1 -0
  121. package/dist/google/docs/tools/read.js +255 -0
  122. package/dist/google/docs/tools/read.js.map +1 -0
  123. package/dist/google/docs/tools/write.d.ts +182 -0
  124. package/dist/google/docs/tools/write.d.ts.map +1 -0
  125. package/dist/google/docs/tools/write.js +670 -0
  126. package/dist/google/docs/tools/write.js.map +1 -0
  127. package/dist/google/drive/index.d.ts +30 -0
  128. package/dist/google/drive/index.d.ts.map +1 -0
  129. package/dist/google/drive/index.js +42 -0
  130. package/dist/google/drive/index.js.map +1 -0
  131. package/dist/google/drive/prompts.d.ts +115 -0
  132. package/dist/google/drive/prompts.d.ts.map +1 -0
  133. package/dist/google/drive/prompts.js +193 -0
  134. package/dist/google/drive/prompts.js.map +1 -0
  135. package/dist/google/drive/resources.d.ts +48 -0
  136. package/dist/google/drive/resources.d.ts.map +1 -0
  137. package/dist/google/drive/resources.js +106 -0
  138. package/dist/google/drive/resources.js.map +1 -0
  139. package/dist/google/drive/tools/files.d.ts +142 -0
  140. package/dist/google/drive/tools/files.d.ts.map +1 -0
  141. package/dist/google/drive/tools/files.js +461 -0
  142. package/dist/google/drive/tools/files.js.map +1 -0
  143. package/dist/google/drive/tools/folders.d.ts +69 -0
  144. package/dist/google/drive/tools/folders.d.ts.map +1 -0
  145. package/dist/google/drive/tools/folders.js +217 -0
  146. package/dist/google/drive/tools/folders.js.map +1 -0
  147. package/dist/google/drive/tools/index.d.ts +1002 -0
  148. package/dist/google/drive/tools/index.d.ts.map +1 -0
  149. package/dist/google/drive/tools/index.js +97 -0
  150. package/dist/google/drive/tools/index.js.map +1 -0
  151. package/dist/google/drive/tools/sharing.d.ts +142 -0
  152. package/dist/google/drive/tools/sharing.d.ts.map +1 -0
  153. package/dist/google/drive/tools/sharing.js +304 -0
  154. package/dist/google/drive/tools/sharing.js.map +1 -0
  155. package/dist/google/gmail/index.d.ts +30 -0
  156. package/dist/google/gmail/index.d.ts.map +1 -0
  157. package/dist/google/gmail/index.js +44 -0
  158. package/dist/google/gmail/index.js.map +1 -0
  159. package/dist/google/gmail/prompts.d.ts +121 -0
  160. package/dist/google/gmail/prompts.d.ts.map +1 -0
  161. package/dist/google/gmail/prompts.js +179 -0
  162. package/dist/google/gmail/prompts.js.map +1 -0
  163. package/dist/google/gmail/resources.d.ts +13 -0
  164. package/dist/google/gmail/resources.d.ts.map +1 -0
  165. package/dist/google/gmail/resources.js +99 -0
  166. package/dist/google/gmail/resources.js.map +1 -0
  167. package/dist/google/gmail/tools/drafts.d.ts +101 -0
  168. package/dist/google/gmail/tools/drafts.d.ts.map +1 -0
  169. package/dist/google/gmail/tools/drafts.js +256 -0
  170. package/dist/google/gmail/tools/drafts.js.map +1 -0
  171. package/dist/google/gmail/tools/index.d.ts +732 -0
  172. package/dist/google/gmail/tools/index.d.ts.map +1 -0
  173. package/dist/google/gmail/tools/index.js +96 -0
  174. package/dist/google/gmail/tools/index.js.map +1 -0
  175. package/dist/google/gmail/tools/labels.d.ts +82 -0
  176. package/dist/google/gmail/tools/labels.d.ts.map +1 -0
  177. package/dist/google/gmail/tools/labels.js +213 -0
  178. package/dist/google/gmail/tools/labels.js.map +1 -0
  179. package/dist/google/gmail/tools/messages.d.ts +107 -0
  180. package/dist/google/gmail/tools/messages.d.ts.map +1 -0
  181. package/dist/google/gmail/tools/messages.js +327 -0
  182. package/dist/google/gmail/tools/messages.js.map +1 -0
  183. package/dist/google/gmail/tools/profile.d.ts +9 -0
  184. package/dist/google/gmail/tools/profile.d.ts.map +1 -0
  185. package/dist/google/gmail/tools/profile.js +31 -0
  186. package/dist/google/gmail/tools/profile.js.map +1 -0
  187. package/dist/google/gmail/tools/threads.d.ts +73 -0
  188. package/dist/google/gmail/tools/threads.d.ts.map +1 -0
  189. package/dist/google/gmail/tools/threads.js +254 -0
  190. package/dist/google/gmail/tools/threads.js.map +1 -0
  191. package/dist/google/index.d.ts +29 -1
  192. package/dist/google/index.d.ts.map +1 -1
  193. package/dist/google/index.js +29 -1
  194. package/dist/google/index.js.map +1 -1
  195. package/dist/google/sheets/index.d.ts +43 -0
  196. package/dist/google/sheets/index.d.ts.map +1 -0
  197. package/dist/google/sheets/index.js +53 -0
  198. package/dist/google/sheets/index.js.map +1 -0
  199. package/dist/google/sheets/prompts.d.ts +71 -0
  200. package/dist/google/sheets/prompts.d.ts.map +1 -0
  201. package/dist/google/sheets/prompts.js +171 -0
  202. package/dist/google/sheets/prompts.js.map +1 -0
  203. package/dist/google/sheets/resources.d.ts +49 -0
  204. package/dist/google/sheets/resources.d.ts.map +1 -0
  205. package/dist/google/sheets/resources.js +113 -0
  206. package/dist/google/sheets/resources.js.map +1 -0
  207. package/dist/google/sheets/tools/index.d.ts +1021 -0
  208. package/dist/google/sheets/tools/index.d.ts.map +1 -0
  209. package/dist/google/sheets/tools/index.js +99 -0
  210. package/dist/google/sheets/tools/index.js.map +1 -0
  211. package/dist/google/sheets/tools/manage.d.ts +104 -0
  212. package/dist/google/sheets/tools/manage.d.ts.map +1 -0
  213. package/dist/google/sheets/tools/manage.js +255 -0
  214. package/dist/google/sheets/tools/manage.js.map +1 -0
  215. package/dist/google/sheets/tools/read.d.ts +84 -0
  216. package/dist/google/sheets/tools/read.d.ts.map +1 -0
  217. package/dist/google/sheets/tools/read.js +204 -0
  218. package/dist/google/sheets/tools/read.js.map +1 -0
  219. package/dist/google/sheets/tools/write.d.ts +109 -0
  220. package/dist/google/sheets/tools/write.d.ts.map +1 -0
  221. package/dist/google/sheets/tools/write.js +205 -0
  222. package/dist/google/sheets/tools/write.js.map +1 -0
  223. package/dist/google/tasks/index.d.ts +28 -0
  224. package/dist/google/tasks/index.d.ts.map +1 -0
  225. package/dist/google/tasks/index.js +35 -0
  226. package/dist/google/tasks/index.js.map +1 -0
  227. package/dist/google/tasks/prompts.d.ts +71 -0
  228. package/dist/google/tasks/prompts.d.ts.map +1 -0
  229. package/dist/google/tasks/prompts.js +140 -0
  230. package/dist/google/tasks/prompts.js.map +1 -0
  231. package/dist/google/tasks/resources.d.ts +47 -0
  232. package/dist/google/tasks/resources.d.ts.map +1 -0
  233. package/dist/google/tasks/resources.js +128 -0
  234. package/dist/google/tasks/resources.js.map +1 -0
  235. package/dist/google/tasks/tools/index.d.ts +609 -0
  236. package/dist/google/tasks/tools/index.d.ts.map +1 -0
  237. package/dist/google/tasks/tools/index.js +95 -0
  238. package/dist/google/tasks/tools/index.js.map +1 -0
  239. package/dist/google/tasks/tools/lists.d.ts +61 -0
  240. package/dist/google/tasks/tools/lists.d.ts.map +1 -0
  241. package/dist/google/tasks/tools/lists.js +146 -0
  242. package/dist/google/tasks/tools/lists.js.map +1 -0
  243. package/dist/google/tasks/tools/tasks.d.ts +164 -0
  244. package/dist/google/tasks/tools/tasks.d.ts.map +1 -0
  245. package/dist/google/tasks/tools/tasks.js +368 -0
  246. package/dist/google/tasks/tools/tasks.js.map +1 -0
  247. package/dist/helpers.d.ts +35 -0
  248. package/dist/helpers.d.ts.map +1 -1
  249. package/dist/helpers.js +42 -0
  250. package/dist/helpers.js.map +1 -1
  251. package/dist/index.d.ts +3 -1
  252. package/dist/index.d.ts.map +1 -1
  253. package/dist/index.js +4 -1
  254. package/dist/index.js.map +1 -1
  255. package/dist/types.d.ts +13 -0
  256. package/dist/types.d.ts.map +1 -1
  257. package/package.json +19 -18
package/README.md CHANGED
@@ -25,11 +25,18 @@ tools.all.forEach(tool => {
25
25
 
26
26
  | Integration | Import Path | Tools | Status |
27
27
  |-------------|-------------|-------|--------|
28
- | Google Calendar | `@jezweb/mcp-integrations/google/calendar` | 5 | ✅ Ready |
29
- | Google Gmail | `@jezweb/mcp-integrations/google/gmail` | - | 🔜 Planned |
30
- | Google Sheets | `@jezweb/mcp-integrations/google/sheets` | - | 🔜 Planned |
28
+ | Google Calendar | `@jezweb/mcp-integrations/google/calendar` | 6 | ✅ Ready |
29
+ | Google Gmail | `@jezweb/mcp-integrations/google/gmail` | 16 | Ready |
30
+ | Google Drive | `@jezweb/mcp-integrations/google/drive` | 12 | Ready |
31
+ | Google Tasks | `@jezweb/mcp-integrations/google/tasks` | 12 | ✅ Ready |
32
+ | Google Contacts | `@jezweb/mcp-integrations/google/contacts` | 8 | ✅ Ready |
33
+ | Google Sheets | `@jezweb/mcp-integrations/google/sheets` | 11 | ✅ Ready |
34
+ | Google Docs | `@jezweb/mcp-integrations/google/docs` | 8 | ✅ Ready |
35
+ | Google Chat | `@jezweb/mcp-integrations/google/chat` | 14 | ✅ Ready |
31
36
  | Xero | `@jezweb/mcp-integrations/xero` | - | 🔜 Planned |
32
37
 
38
+ **Total: 87 tools across 8 Google Workspace integrations**
39
+
33
40
  ## Tool Presets
34
41
 
35
42
  Each integration exports tool presets for different access levels:
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Australian Business Register (ABR) API Client
3
+ *
4
+ * Lookup Australian business details using ABN or ACN.
5
+ * Provides company entity type, trading names, GST status, and more.
6
+ *
7
+ * API Docs: https://abr.business.gov.au/Documentation/WebServiceMethods
8
+ * Registration: https://abr.business.gov.au/Documentation/WebServiceRegistration
9
+ */
10
+ export interface ABRBusinessInfo {
11
+ abn: string;
12
+ abnStatus: string;
13
+ abnStatusEffectiveFrom?: Date;
14
+ entityName: string;
15
+ entityType: string;
16
+ entityTypeCode: string;
17
+ tradingNames: string[];
18
+ gstRegistered: boolean;
19
+ gstRegisteredFrom?: Date;
20
+ state?: string;
21
+ postcode?: string;
22
+ }
23
+ export interface ABRSearchResult {
24
+ abn: string;
25
+ name: string;
26
+ nameType: string;
27
+ state?: string;
28
+ postcode?: string;
29
+ score: number;
30
+ }
31
+ /**
32
+ * Australian Business Register (ABR) API Client
33
+ */
34
+ export declare class ABRClient {
35
+ private guid;
36
+ constructor(guid: string);
37
+ private normalizeABN;
38
+ private parseDate;
39
+ private parseBusinessInfo;
40
+ lookupABN(abn: string): Promise<ABRBusinessInfo | null>;
41
+ lookupACN(acn: string): Promise<ABRBusinessInfo | null>;
42
+ searchByName(name: string, limit?: number): Promise<ABRSearchResult[]>;
43
+ }
44
+ export declare function createABRClient(guid: string): ABRClient;
45
+ //# sourceMappingURL=abr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abr.d.ts","sourceRoot":"","sources":["../../../../src/australia/business/clients/abr.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB,CAAC,EAAE,IAAI,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AA8BD;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,IAAI,CAAS;gBAET,IAAI,EAAE,MAAM;IAIxB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,iBAAiB;IAgCnB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAoCvD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAoCvD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CA2CjF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAEvD"}
@@ -0,0 +1,167 @@
1
+ /**
2
+ * Australian Business Register (ABR) API Client
3
+ *
4
+ * Lookup Australian business details using ABN or ACN.
5
+ * Provides company entity type, trading names, GST status, and more.
6
+ *
7
+ * API Docs: https://abr.business.gov.au/Documentation/WebServiceMethods
8
+ * Registration: https://abr.business.gov.au/Documentation/WebServiceRegistration
9
+ */
10
+ const ABR_BASE_URL = 'https://abr.business.gov.au/json';
11
+ /**
12
+ * Australian Business Register (ABR) API Client
13
+ */
14
+ export class ABRClient {
15
+ guid;
16
+ constructor(guid) {
17
+ this.guid = guid;
18
+ }
19
+ normalizeABN(abn) {
20
+ return abn.replace(/\s/g, '').replace(/[^0-9]/g, '');
21
+ }
22
+ parseDate(dateStr) {
23
+ if (!dateStr || dateStr === '0001-01-01')
24
+ return undefined;
25
+ const date = new Date(dateStr);
26
+ return isNaN(date.getTime()) ? undefined : date;
27
+ }
28
+ parseBusinessInfo(data) {
29
+ if (!data.Abn || data.Message)
30
+ return null;
31
+ const tradingNames = [];
32
+ if (data.BusinessName && Array.isArray(data.BusinessName)) {
33
+ for (const bn of data.BusinessName) {
34
+ if (typeof bn === 'string') {
35
+ tradingNames.push(bn);
36
+ }
37
+ else if (bn && typeof bn === 'object' && bn.organisationName) {
38
+ tradingNames.push(bn.organisationName);
39
+ }
40
+ }
41
+ }
42
+ const gstDate = this.parseDate(data.Gst);
43
+ const gstRegistered = !!gstDate;
44
+ return {
45
+ abn: data.Abn,
46
+ abnStatus: data.AbnStatus || 'Unknown',
47
+ abnStatusEffectiveFrom: this.parseDate(data.AbnStatusEffectiveFrom),
48
+ entityName: data.EntityName || '',
49
+ entityType: data.EntityTypeName || '',
50
+ entityTypeCode: data.EntityTypeCode || '',
51
+ tradingNames,
52
+ gstRegistered,
53
+ gstRegisteredFrom: gstDate,
54
+ state: data.AddressState,
55
+ postcode: data.AddressPostcode,
56
+ };
57
+ }
58
+ async lookupABN(abn) {
59
+ const normalizedABN = this.normalizeABN(abn);
60
+ if (normalizedABN.length !== 11) {
61
+ throw new Error(`Invalid ABN: must be 11 digits, got ${normalizedABN.length}`);
62
+ }
63
+ const url = `${ABR_BASE_URL}/AbnDetails.aspx?abn=${normalizedABN}&guid=${this.guid}`;
64
+ try {
65
+ const response = await fetch(url);
66
+ if (!response.ok) {
67
+ throw new Error(`ABR API error: ${response.status} ${response.statusText}`);
68
+ }
69
+ const text = await response.text();
70
+ const jsonMatch = text.match(/callback\((.*)\)/);
71
+ if (!jsonMatch || !jsonMatch[1]) {
72
+ try {
73
+ const data = JSON.parse(text);
74
+ return this.parseBusinessInfo(data);
75
+ }
76
+ catch {
77
+ throw new Error('Invalid response format from ABR API');
78
+ }
79
+ }
80
+ const data = JSON.parse(jsonMatch[1]);
81
+ return this.parseBusinessInfo(data);
82
+ }
83
+ catch (error) {
84
+ if (error instanceof Error) {
85
+ throw new Error(`ABR lookup failed: ${error.message}`);
86
+ }
87
+ throw error;
88
+ }
89
+ }
90
+ async lookupACN(acn) {
91
+ const normalizedACN = acn.replace(/\s/g, '').replace(/[^0-9]/g, '');
92
+ if (normalizedACN.length !== 9) {
93
+ throw new Error(`Invalid ACN: must be 9 digits, got ${normalizedACN.length}`);
94
+ }
95
+ const url = `${ABR_BASE_URL}/AcnDetails.aspx?acn=${normalizedACN}&guid=${this.guid}`;
96
+ try {
97
+ const response = await fetch(url);
98
+ if (!response.ok) {
99
+ throw new Error(`ABR API error: ${response.status} ${response.statusText}`);
100
+ }
101
+ const text = await response.text();
102
+ const jsonMatch = text.match(/callback\((.*)\)/);
103
+ if (!jsonMatch || !jsonMatch[1]) {
104
+ try {
105
+ const data = JSON.parse(text);
106
+ return this.parseBusinessInfo(data);
107
+ }
108
+ catch {
109
+ throw new Error('Invalid response format from ABR API');
110
+ }
111
+ }
112
+ const data = JSON.parse(jsonMatch[1]);
113
+ return this.parseBusinessInfo(data);
114
+ }
115
+ catch (error) {
116
+ if (error instanceof Error) {
117
+ throw new Error(`ABR lookup failed: ${error.message}`);
118
+ }
119
+ throw error;
120
+ }
121
+ }
122
+ async searchByName(name, limit = 10) {
123
+ const encodedName = encodeURIComponent(name);
124
+ const url = `${ABR_BASE_URL}/MatchingNames.aspx?name=${encodedName}&maxResults=${limit}&guid=${this.guid}`;
125
+ try {
126
+ const response = await fetch(url);
127
+ if (!response.ok) {
128
+ throw new Error(`ABR API error: ${response.status} ${response.statusText}`);
129
+ }
130
+ const text = await response.text();
131
+ const jsonMatch = text.match(/callback\((.*)\)/);
132
+ let data;
133
+ if (!jsonMatch || !jsonMatch[1]) {
134
+ try {
135
+ data = JSON.parse(text);
136
+ }
137
+ catch {
138
+ throw new Error('Invalid response format from ABR API');
139
+ }
140
+ }
141
+ else {
142
+ data = JSON.parse(jsonMatch[1]);
143
+ }
144
+ if (data.Message || !data.Names || !Array.isArray(data.Names)) {
145
+ return [];
146
+ }
147
+ return data.Names.map((item) => ({
148
+ abn: item.Abn,
149
+ name: item.Name,
150
+ nameType: item.NameType,
151
+ state: item.State,
152
+ postcode: item.Postcode,
153
+ score: item.Score,
154
+ }));
155
+ }
156
+ catch (error) {
157
+ if (error instanceof Error) {
158
+ throw new Error(`ABR search failed: ${error.message}`);
159
+ }
160
+ throw error;
161
+ }
162
+ }
163
+ }
164
+ export function createABRClient(guid) {
165
+ return new ABRClient(guid);
166
+ }
167
+ //# sourceMappingURL=abr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abr.js","sourceRoot":"","sources":["../../../../src/australia/business/clients/abr.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Australian Securities & Investments Commission (ASIC) Client
3
+ *
4
+ * Lookup Australian company registration data using ACN.
5
+ * Uses the data.gov.au CKAN API to query the ASIC Companies dataset.
6
+ *
7
+ * Dataset: https://data.gov.au/data/dataset/asic-companies
8
+ * API Docs: https://docs.ckan.org/en/latest/api/
9
+ *
10
+ * Note: Data is updated weekly (Tuesdays). No API key required.
11
+ */
12
+ export interface ASICCompanyInfo {
13
+ acn: string;
14
+ companyName: string;
15
+ type: string;
16
+ class: string;
17
+ subClass?: string;
18
+ status: string;
19
+ registrationDate?: Date;
20
+ deregistrationDate?: Date;
21
+ abn?: string;
22
+ previousState?: string;
23
+ stateRegistrationNumber?: string;
24
+ }
25
+ export interface ASICSearchResult {
26
+ acn: string;
27
+ companyName: string;
28
+ type: string;
29
+ status: string;
30
+ abn?: string;
31
+ }
32
+ /**
33
+ * ASIC Client for querying company registration data
34
+ */
35
+ export declare class ASICClient {
36
+ private resourceId;
37
+ constructor(resourceId?: string);
38
+ private normalizeACN;
39
+ private formatACN;
40
+ private parseDate;
41
+ private parseRecord;
42
+ lookupACN(acn: string): Promise<ASICCompanyInfo | null>;
43
+ searchByName(name: string, limit?: number): Promise<ASICSearchResult[]>;
44
+ }
45
+ export declare function createASICClient(): ASICClient;
46
+ //# sourceMappingURL=asic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asic.d.ts","sourceRoot":"","sources":["../../../../src/australia/business/clients/asic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,IAAI,CAAC;IACxB,kBAAkB,CAAC,EAAE,IAAI,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AA8BD;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,UAAU,CAAS;gBAEf,UAAU,GAAE,MAAyB;IAIjD,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,WAAW;IAgBb,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAwCvD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAmClF;AAED,wBAAgB,gBAAgB,IAAI,UAAU,CAE7C"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Australian Securities & Investments Commission (ASIC) Client
3
+ *
4
+ * Lookup Australian company registration data using ACN.
5
+ * Uses the data.gov.au CKAN API to query the ASIC Companies dataset.
6
+ *
7
+ * Dataset: https://data.gov.au/data/dataset/asic-companies
8
+ * API Docs: https://docs.ckan.org/en/latest/api/
9
+ *
10
+ * Note: Data is updated weekly (Tuesdays). No API key required.
11
+ */
12
+ const CKAN_API_BASE = 'https://data.gov.au/data/api/3/action/datastore_search';
13
+ const ASIC_RESOURCE_ID = '5c3914e6-413e-4a2c-b890-bf8efe3eabf2';
14
+ /**
15
+ * ASIC Client for querying company registration data
16
+ */
17
+ export class ASICClient {
18
+ resourceId;
19
+ constructor(resourceId = ASIC_RESOURCE_ID) {
20
+ this.resourceId = resourceId;
21
+ }
22
+ normalizeACN(acn) {
23
+ return acn.replace(/\s/g, '').replace(/[^0-9]/g, '');
24
+ }
25
+ formatACN(acn) {
26
+ const normalized = this.normalizeACN(acn);
27
+ if (normalized.length !== 9)
28
+ return acn;
29
+ return `${normalized.slice(0, 3)} ${normalized.slice(3, 6)} ${normalized.slice(6, 9)}`;
30
+ }
31
+ parseDate(dateStr) {
32
+ if (!dateStr || dateStr.trim() === '')
33
+ return undefined;
34
+ const parts = dateStr.split('/');
35
+ if (parts.length === 3) {
36
+ const day = parts[0] || '1';
37
+ const month = parts[1] || '1';
38
+ const year = parts[2] || '1970';
39
+ const date = new Date(parseInt(year), parseInt(month) - 1, parseInt(day));
40
+ return isNaN(date.getTime()) ? undefined : date;
41
+ }
42
+ const date = new Date(dateStr);
43
+ return isNaN(date.getTime()) ? undefined : date;
44
+ }
45
+ parseRecord(record) {
46
+ return {
47
+ acn: this.normalizeACN(record['ACN'] || ''),
48
+ companyName: record['Company Name'] || '',
49
+ type: record['Type'] || '',
50
+ class: record['Class'] || '',
51
+ subClass: record['Sub Class'] || undefined,
52
+ status: record['Status'] || '',
53
+ registrationDate: this.parseDate(record['Date of Registration']),
54
+ deregistrationDate: this.parseDate(record['Date of Deregistration']),
55
+ abn: record['ABN'] || undefined,
56
+ previousState: record['Previous State of Registration'] || undefined,
57
+ stateRegistrationNumber: record['State Registration number'] || undefined,
58
+ };
59
+ }
60
+ async lookupACN(acn) {
61
+ const normalizedACN = this.normalizeACN(acn);
62
+ if (normalizedACN.length !== 9) {
63
+ throw new Error(`Invalid ACN: must be 9 digits, got ${normalizedACN.length}`);
64
+ }
65
+ const formattedACN = this.formatACN(normalizedACN);
66
+ const params = new URLSearchParams({
67
+ resource_id: this.resourceId,
68
+ filters: JSON.stringify({ ACN: formattedACN }),
69
+ limit: '1',
70
+ });
71
+ const url = `${CKAN_API_BASE}?${params.toString()}`;
72
+ try {
73
+ const response = await fetch(url);
74
+ if (!response.ok) {
75
+ throw new Error(`ASIC API error: ${response.status} ${response.statusText}`);
76
+ }
77
+ const data = (await response.json());
78
+ if (!data.success || !data.result?.records?.length) {
79
+ return null;
80
+ }
81
+ const firstRecord = data.result.records[0];
82
+ if (!firstRecord)
83
+ return null;
84
+ return this.parseRecord(firstRecord);
85
+ }
86
+ catch (error) {
87
+ if (error instanceof Error) {
88
+ throw new Error(`ASIC lookup failed: ${error.message}`);
89
+ }
90
+ throw error;
91
+ }
92
+ }
93
+ async searchByName(name, limit = 10) {
94
+ const params = new URLSearchParams({
95
+ resource_id: this.resourceId,
96
+ q: name,
97
+ limit: String(Math.min(limit, 100)),
98
+ });
99
+ const url = `${CKAN_API_BASE}?${params.toString()}`;
100
+ try {
101
+ const response = await fetch(url);
102
+ if (!response.ok) {
103
+ throw new Error(`ASIC API error: ${response.status} ${response.statusText}`);
104
+ }
105
+ const data = (await response.json());
106
+ if (!data.success || !data.result?.records) {
107
+ return [];
108
+ }
109
+ return data.result.records.map((record) => ({
110
+ acn: this.normalizeACN(record['ACN'] || ''),
111
+ companyName: record['Company Name'] || '',
112
+ type: record['Type'] || '',
113
+ status: record['Status'] || '',
114
+ abn: record['ABN'] || undefined,
115
+ }));
116
+ }
117
+ catch (error) {
118
+ if (error instanceof Error) {
119
+ throw new Error(`ASIC search failed: ${error.message}`);
120
+ }
121
+ throw error;
122
+ }
123
+ }
124
+ }
125
+ export function createASICClient() {
126
+ return new ASICClient();
127
+ }
128
+ //# sourceMappingURL=asic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asic.js","sourceRoot":"","sources":["../../../../src/australia/business/clients/asic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Australian Business Integration
3
+ *
4
+ * Tools for ABN/ACN lookups via ABR and ASIC registries.
5
+ */
6
+ export * from './tools';
7
+ export * from './clients/abr';
8
+ export * from './clients/asic';
9
+ export declare const business: {
10
+ tools: {
11
+ all: import("../..").ToolDefinition<import("zod").ZodType<any, import("zod").ZodTypeDef, any>>[];
12
+ abnLookup: import("../..").ToolDefinition<import("zod").ZodType<any, import("zod").ZodTypeDef, any>>;
13
+ acnLookup: import("../..").ToolDefinition<import("zod").ZodType<any, import("zod").ZodTypeDef, any>>;
14
+ searchBusiness: import("../..").ToolDefinition<import("zod").ZodType<any, import("zod").ZodTypeDef, any>>;
15
+ searchCompany: import("../..").ToolDefinition<import("zod").ZodType<any, import("zod").ZodTypeDef, any>>;
16
+ };
17
+ };
18
+ export default business;
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/australia/business/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAI/B,eAAO,MAAM,QAAQ;;;;;;;;CAEpB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Australian Business Integration
3
+ *
4
+ * Tools for ABN/ACN lookups via ABR and ASIC registries.
5
+ */
6
+ export * from './tools';
7
+ export * from './clients/abr';
8
+ export * from './clients/asic';
9
+ import tools from './tools';
10
+ export const business = {
11
+ tools,
12
+ };
13
+ export default business;
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/australia/business/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAE/B,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK;CACN,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Australian Business Tools (ABN/ACN)
3
+ *
4
+ * Tools for looking up businesses in the Australian Business Register (ABR)
5
+ * and Australian Securities & Investments Commission (ASIC) registry.
6
+ */
7
+ import { z } from 'zod';
8
+ import type { ToolDefinition } from '../../../types';
9
+ /**
10
+ * Business tools require ABR_API_GUID in env for ABR lookups.
11
+ * ASIC lookups work without any API key.
12
+ */
13
+ export interface BusinessToolEnv {
14
+ ABR_API_GUID?: string;
15
+ }
16
+ export declare const abnLookup: ToolDefinition;
17
+ export declare const acnLookup: ToolDefinition;
18
+ export declare const searchBusiness: ToolDefinition;
19
+ export declare const searchCompany: ToolDefinition;
20
+ export declare const all: ToolDefinition<z.ZodType<any, z.ZodTypeDef, any>>[];
21
+ declare const _default: {
22
+ all: ToolDefinition<z.ZodType<any, z.ZodTypeDef, any>>[];
23
+ abnLookup: ToolDefinition<z.ZodType<any, z.ZodTypeDef, any>>;
24
+ acnLookup: ToolDefinition<z.ZodType<any, z.ZodTypeDef, any>>;
25
+ searchBusiness: ToolDefinition<z.ZodType<any, z.ZodTypeDef, any>>;
26
+ searchCompany: ToolDefinition<z.ZodType<any, z.ZodTypeDef, any>>;
27
+ };
28
+ export default _default;
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/australia/business/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAIlE;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,eAAO,MAAM,SAAS,EAAE,cA0CvB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,cA6DvB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,cA2C5B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,cAkC3B,CAAC;AAGF,eAAO,MAAM,GAAG,qDAAwD,CAAC;;;;;;;;AAEzE,wBAA4E"}