@littlebearapps/australian-history-mcp 0.6.0 → 0.6.1

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 (49) hide show
  1. package/package.json +1 -1
  2. package/dist/clients/datagovau_client.d.ts +0 -61
  3. package/dist/clients/datagovau_client.d.ts.map +0 -1
  4. package/dist/clients/datagovau_client.js +0 -421
  5. package/dist/clients/datagovau_client.js.map +0 -1
  6. package/dist/clients/prov_client.d.ts +0 -64
  7. package/dist/clients/prov_client.d.ts.map +0 -1
  8. package/dist/clients/prov_client.js +0 -393
  9. package/dist/clients/prov_client.js.map +0 -1
  10. package/dist/clients/trove_client.d.ts +0 -77
  11. package/dist/clients/trove_client.d.ts.map +0 -1
  12. package/dist/clients/trove_client.js +0 -374
  13. package/dist/clients/trove_client.js.map +0 -1
  14. package/dist/tools/datagovau_browse.d.ts +0 -96
  15. package/dist/tools/datagovau_browse.d.ts.map +0 -1
  16. package/dist/tools/datagovau_browse.js +0 -297
  17. package/dist/tools/datagovau_browse.js.map +0 -1
  18. package/dist/tools/datagovau_dataset.d.ts +0 -79
  19. package/dist/tools/datagovau_dataset.d.ts.map +0 -1
  20. package/dist/tools/datagovau_dataset.js +0 -246
  21. package/dist/tools/datagovau_dataset.js.map +0 -1
  22. package/dist/tools/datagovau_search.d.ts +0 -58
  23. package/dist/tools/datagovau_search.d.ts.map +0 -1
  24. package/dist/tools/datagovau_search.js +0 -112
  25. package/dist/tools/datagovau_search.js.map +0 -1
  26. package/dist/tools/harvest.d.ts +0 -175
  27. package/dist/tools/harvest.d.ts.map +0 -1
  28. package/dist/tools/harvest.js +0 -426
  29. package/dist/tools/harvest.js.map +0 -1
  30. package/dist/tools/prov_images.d.ts +0 -38
  31. package/dist/tools/prov_images.d.ts.map +0 -1
  32. package/dist/tools/prov_images.js +0 -87
  33. package/dist/tools/prov_images.js.map +0 -1
  34. package/dist/tools/prov_search.d.ts +0 -60
  35. package/dist/tools/prov_search.d.ts.map +0 -1
  36. package/dist/tools/prov_search.js +0 -131
  37. package/dist/tools/prov_search.js.map +0 -1
  38. package/dist/tools/trove_newspaper.d.ts +0 -100
  39. package/dist/tools/trove_newspaper.d.ts.map +0 -1
  40. package/dist/tools/trove_newspaper.js +0 -282
  41. package/dist/tools/trove_newspaper.js.map +0 -1
  42. package/dist/tools/trove_search.d.ts +0 -62
  43. package/dist/tools/trove_search.d.ts.map +0 -1
  44. package/dist/tools/trove_search.js +0 -143
  45. package/dist/tools/trove_search.js.map +0 -1
  46. package/dist/types.d.ts +0 -231
  47. package/dist/types.d.ts.map +0 -1
  48. package/dist/types.js +0 -5
  49. package/dist/types.js.map +0 -1
@@ -1,297 +0,0 @@
1
- /**
2
- * data.gov.au Browse Tools - Explore organisations, groups, and tags
3
- */
4
- import { dataGovAUClient } from '../clients/datagovau_client.js';
5
- // ============================================================================
6
- // List Organizations Tool
7
- // ============================================================================
8
- export const dataGovAUListOrganizationsSchema = {
9
- name: 'datagovau_list_organizations',
10
- description: `List organisations that publish data on data.gov.au.
11
-
12
- Returns 800+ government organisations including:
13
- - Federal agencies (ABS, BOM, Geoscience Australia)
14
- - State government departments
15
- - Local councils
16
- - Research institutions
17
-
18
- Use the organisation slug to filter search results.`,
19
- inputSchema: {
20
- type: 'object',
21
- properties: {
22
- limit: {
23
- type: 'number',
24
- description: 'Maximum organisations to return (default: 50)',
25
- default: 50,
26
- },
27
- },
28
- required: [],
29
- },
30
- };
31
- export async function executeDataGovAUListOrganizations(input) {
32
- try {
33
- const organizations = await dataGovAUClient.listOrganizations(true, input.limit ?? 50);
34
- // Sort by package count descending
35
- const sorted = organizations.sort((a, b) => b.packageCount - a.packageCount);
36
- return {
37
- content: [{
38
- type: 'text',
39
- text: JSON.stringify({
40
- source: 'datagovau',
41
- count: sorted.length,
42
- organizations: sorted.map(o => ({
43
- name: o.name,
44
- title: o.title,
45
- datasetCount: o.packageCount,
46
- description: o.description?.substring(0, 150),
47
- })),
48
- tip: 'Use the "name" field to filter searches with organization parameter',
49
- }, null, 2),
50
- }],
51
- };
52
- }
53
- catch (error) {
54
- return {
55
- content: [{
56
- type: 'text',
57
- text: JSON.stringify({
58
- error: error instanceof Error ? error.message : 'Unknown error',
59
- }),
60
- }],
61
- isError: true,
62
- };
63
- }
64
- }
65
- // ============================================================================
66
- // Get Organization Tool
67
- // ============================================================================
68
- export const dataGovAUGetOrganizationSchema = {
69
- name: 'datagovau_get_organization',
70
- description: `Get details about a specific organisation on data.gov.au.
71
-
72
- Returns organisation metadata and optionally their published datasets.`,
73
- inputSchema: {
74
- type: 'object',
75
- properties: {
76
- organization: {
77
- type: 'string',
78
- description: 'Organisation ID or slug (e.g., "abs", "bom")',
79
- },
80
- includeDatasets: {
81
- type: 'boolean',
82
- description: 'Include list of datasets (default: false)',
83
- default: false,
84
- },
85
- },
86
- required: ['organization'],
87
- },
88
- };
89
- export async function executeDataGovAUGetOrganization(input) {
90
- try {
91
- const org = await dataGovAUClient.getOrganization(input.organization, input.includeDatasets ?? false);
92
- if (!org) {
93
- return {
94
- content: [{
95
- type: 'text',
96
- text: JSON.stringify({
97
- error: `Organisation not found: ${input.organization}`,
98
- }),
99
- }],
100
- isError: true,
101
- };
102
- }
103
- return {
104
- content: [{
105
- type: 'text',
106
- text: JSON.stringify({
107
- source: 'datagovau',
108
- organization: {
109
- id: org.id,
110
- name: org.name,
111
- title: org.title,
112
- description: org.description,
113
- datasetCount: org.packageCount,
114
- created: org.created,
115
- url: `https://data.gov.au/organization/${org.name}`,
116
- },
117
- }, null, 2),
118
- }],
119
- };
120
- }
121
- catch (error) {
122
- return {
123
- content: [{
124
- type: 'text',
125
- text: JSON.stringify({
126
- error: error instanceof Error ? error.message : 'Unknown error',
127
- }),
128
- }],
129
- isError: true,
130
- };
131
- }
132
- }
133
- // ============================================================================
134
- // List Groups Tool
135
- // ============================================================================
136
- export const dataGovAUListGroupsSchema = {
137
- name: 'datagovau_list_groups',
138
- description: `List dataset groups (categories) on data.gov.au.
139
-
140
- Groups are thematic categories that datasets can belong to.
141
- Use group names to filter search results.`,
142
- inputSchema: {
143
- type: 'object',
144
- properties: {},
145
- required: [],
146
- },
147
- };
148
- export async function executeDataGovAUListGroups(_input) {
149
- try {
150
- const groups = await dataGovAUClient.listGroups(true);
151
- // Sort by package count descending
152
- const sorted = groups.sort((a, b) => b.packageCount - a.packageCount);
153
- return {
154
- content: [{
155
- type: 'text',
156
- text: JSON.stringify({
157
- source: 'datagovau',
158
- count: sorted.length,
159
- groups: sorted.map(g => ({
160
- name: g.name,
161
- title: g.title,
162
- datasetCount: g.packageCount,
163
- description: g.description?.substring(0, 150),
164
- })),
165
- tip: 'Use group names in the "groups" parameter when searching',
166
- }, null, 2),
167
- }],
168
- };
169
- }
170
- catch (error) {
171
- return {
172
- content: [{
173
- type: 'text',
174
- text: JSON.stringify({
175
- error: error instanceof Error ? error.message : 'Unknown error',
176
- }),
177
- }],
178
- isError: true,
179
- };
180
- }
181
- }
182
- // ============================================================================
183
- // Get Group Tool
184
- // ============================================================================
185
- export const dataGovAUGetGroupSchema = {
186
- name: 'datagovau_get_group',
187
- description: `Get details about a specific group (category) on data.gov.au.
188
-
189
- Returns group metadata and optionally datasets in this group.`,
190
- inputSchema: {
191
- type: 'object',
192
- properties: {
193
- group: {
194
- type: 'string',
195
- description: 'Group ID or slug',
196
- },
197
- includeDatasets: {
198
- type: 'boolean',
199
- description: 'Include list of datasets (default: false)',
200
- default: false,
201
- },
202
- },
203
- required: ['group'],
204
- },
205
- };
206
- export async function executeDataGovAUGetGroup(input) {
207
- try {
208
- const group = await dataGovAUClient.getGroup(input.group, input.includeDatasets ?? false);
209
- if (!group) {
210
- return {
211
- content: [{
212
- type: 'text',
213
- text: JSON.stringify({
214
- error: `Group not found: ${input.group}`,
215
- }),
216
- }],
217
- isError: true,
218
- };
219
- }
220
- return {
221
- content: [{
222
- type: 'text',
223
- text: JSON.stringify({
224
- source: 'datagovau',
225
- group: {
226
- id: group.id,
227
- name: group.name,
228
- title: group.title,
229
- description: group.description,
230
- datasetCount: group.packageCount,
231
- url: `https://data.gov.au/group/${group.name}`,
232
- },
233
- }, null, 2),
234
- }],
235
- };
236
- }
237
- catch (error) {
238
- return {
239
- content: [{
240
- type: 'text',
241
- text: JSON.stringify({
242
- error: error instanceof Error ? error.message : 'Unknown error',
243
- }),
244
- }],
245
- isError: true,
246
- };
247
- }
248
- }
249
- // ============================================================================
250
- // List Tags Tool
251
- // ============================================================================
252
- export const dataGovAUListTagsSchema = {
253
- name: 'datagovau_list_tags',
254
- description: `List popular tags used on data.gov.au datasets.
255
-
256
- Tags help categorise and discover datasets.
257
- Use tags to filter search results.`,
258
- inputSchema: {
259
- type: 'object',
260
- properties: {
261
- query: {
262
- type: 'string',
263
- description: 'Filter tags matching this text',
264
- },
265
- },
266
- required: [],
267
- },
268
- };
269
- export async function executeDataGovAUListTags(input) {
270
- try {
271
- const tags = await dataGovAUClient.listTags(input.query);
272
- return {
273
- content: [{
274
- type: 'text',
275
- text: JSON.stringify({
276
- source: 'datagovau',
277
- query: input.query || null,
278
- count: tags.length,
279
- tags: tags.slice(0, 100), // Limit output
280
- tip: 'Use these tags in the "tags" parameter when searching',
281
- }, null, 2),
282
- }],
283
- };
284
- }
285
- catch (error) {
286
- return {
287
- content: [{
288
- type: 'text',
289
- text: JSON.stringify({
290
- error: error instanceof Error ? error.message : 'Unknown error',
291
- }),
292
- }],
293
- isError: true,
294
- };
295
- }
296
- }
297
- //# sourceMappingURL=datagovau_browse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"datagovau_browse.js","sourceRoot":"","sources":["../../src/tools/datagovau_browse.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,IAAI,EAAE,8BAA8B;IACpC,WAAW,EAAE;;;;;;;;oDAQqC;IAClD,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+CAA+C;gBAC5D,OAAO,EAAE,EAAE;aACZ;SACF;QACD,QAAQ,EAAE,EAAE;KACb;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,iCAAiC,CAAC,KAEvD;IACC,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAEvF,mCAAmC;QACnC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;QAE7E,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,MAAM,EAAE,WAAW;wBACnB,KAAK,EAAE,MAAM,CAAC,MAAM;wBACpB,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;4BAC9B,IAAI,EAAE,CAAC,CAAC,IAAI;4BACZ,KAAK,EAAE,CAAC,CAAC,KAAK;4BACd,YAAY,EAAE,CAAC,CAAC,YAAY;4BAC5B,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;yBAC9C,CAAC,CAAC;wBACH,GAAG,EAAE,qEAAqE;qBAC3E,EAAE,IAAI,EAAE,CAAC,CAAC;iBACZ,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAChE,CAAC;iBACH,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,IAAI,EAAE,4BAA4B;IAClC,WAAW,EAAE;;uEAEwD;IACrE,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8CAA8C;aAC5D;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,2CAA2C;gBACxD,OAAO,EAAE,KAAK;aACf;SACF;QACD,QAAQ,EAAE,CAAC,cAAc,CAAC;KAC3B;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAC,KAGrD;IACC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,eAAe,CAC/C,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,eAAe,IAAI,KAAK,CAC/B,CAAC;QAEF,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,KAAK,EAAE,2BAA2B,KAAK,CAAC,YAAY,EAAE;yBACvD,CAAC;qBACH,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,MAAM,EAAE,WAAW;wBACnB,YAAY,EAAE;4BACZ,EAAE,EAAE,GAAG,CAAC,EAAE;4BACV,IAAI,EAAE,GAAG,CAAC,IAAI;4BACd,KAAK,EAAE,GAAG,CAAC,KAAK;4BAChB,WAAW,EAAE,GAAG,CAAC,WAAW;4BAC5B,YAAY,EAAE,GAAG,CAAC,YAAY;4BAC9B,OAAO,EAAE,GAAG,CAAC,OAAO;4BACpB,GAAG,EAAE,oCAAoC,GAAG,CAAC,IAAI,EAAE;yBACpD;qBACF,EAAE,IAAI,EAAE,CAAC,CAAC;iBACZ,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAChE,CAAC;iBACH,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE;;;0CAG2B;IACxC,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE;KACb;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,MAA6B;IAC5E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAEtD,mCAAmC;QACnC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;QAEtE,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,MAAM,EAAE,WAAW;wBACnB,KAAK,EAAE,MAAM,CAAC,MAAM;wBACpB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;4BACvB,IAAI,EAAE,CAAC,CAAC,IAAI;4BACZ,KAAK,EAAE,CAAC,CAAC,KAAK;4BACd,YAAY,EAAE,CAAC,CAAC,YAAY;4BAC5B,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;yBAC9C,CAAC,CAAC;wBACH,GAAG,EAAE,0DAA0D;qBAChE,EAAE,IAAI,EAAE,CAAC,CAAC;iBACZ,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAChE,CAAC;iBACH,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE;;8DAE+C;IAC5D,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kBAAkB;aAChC;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,2CAA2C;gBACxD,OAAO,EAAE,KAAK;aACf;SACF;QACD,QAAQ,EAAE,CAAC,OAAO,CAAC;KACpB;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,KAG9C;IACC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,QAAQ,CAC1C,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,eAAe,IAAI,KAAK,CAC/B,CAAC;QAEF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,KAAK,EAAE,oBAAoB,KAAK,CAAC,KAAK,EAAE;yBACzC,CAAC;qBACH,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,MAAM,EAAE,WAAW;wBACnB,KAAK,EAAE;4BACL,EAAE,EAAE,KAAK,CAAC,EAAE;4BACZ,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,KAAK,EAAE,KAAK,CAAC,KAAK;4BAClB,WAAW,EAAE,KAAK,CAAC,WAAW;4BAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;4BAChC,GAAG,EAAE,6BAA6B,KAAK,CAAC,IAAI,EAAE;yBAC/C;qBACF,EAAE,IAAI,EAAE,CAAC,CAAC;iBACZ,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAChE,CAAC;iBACH,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE;;;mCAGoB;IACjC,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gCAAgC;aAC9C;SACF;QACD,QAAQ,EAAE,EAAE;KACb;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,KAE9C;IACC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEzD,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,MAAM,EAAE,WAAW;wBACnB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI;wBAC1B,KAAK,EAAE,IAAI,CAAC,MAAM;wBAClB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,eAAe;wBACzC,GAAG,EAAE,uDAAuD;qBAC7D,EAAE,IAAI,EAAE,CAAC,CAAC;iBACZ,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAChE,CAAC;iBACH,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1,79 +0,0 @@
1
- /**
2
- * data.gov.au Dataset Tools - Get dataset details, resources, and query datastore
3
- */
4
- import type { MCPToolResponse } from '../types.js';
5
- export declare const dataGovAUGetDatasetSchema: {
6
- name: string;
7
- description: string;
8
- inputSchema: {
9
- type: "object";
10
- properties: {
11
- dataset: {
12
- type: string;
13
- description: string;
14
- };
15
- };
16
- required: string[];
17
- };
18
- };
19
- export declare function executeDataGovAUGetDataset(input: {
20
- dataset: string;
21
- }): Promise<MCPToolResponse>;
22
- export declare const dataGovAUGetResourceSchema: {
23
- name: string;
24
- description: string;
25
- inputSchema: {
26
- type: "object";
27
- properties: {
28
- resourceId: {
29
- type: string;
30
- description: string;
31
- };
32
- };
33
- required: string[];
34
- };
35
- };
36
- export declare function executeDataGovAUGetResource(input: {
37
- resourceId: string;
38
- }): Promise<MCPToolResponse>;
39
- export declare const dataGovAUDatastoreSearchSchema: {
40
- name: string;
41
- description: string;
42
- inputSchema: {
43
- type: "object";
44
- properties: {
45
- resourceId: {
46
- type: string;
47
- description: string;
48
- };
49
- query: {
50
- type: string;
51
- description: string;
52
- };
53
- filters: {
54
- type: string;
55
- description: string;
56
- additionalProperties: boolean;
57
- };
58
- limit: {
59
- type: string;
60
- description: string;
61
- default: number;
62
- };
63
- offset: {
64
- type: string;
65
- description: string;
66
- default: number;
67
- };
68
- };
69
- required: string[];
70
- };
71
- };
72
- export declare function executeDataGovAUDatastoreSearch(input: {
73
- resourceId: string;
74
- query?: string;
75
- filters?: Record<string, string | string[]>;
76
- limit?: number;
77
- offset?: number;
78
- }): Promise<MCPToolResponse>;
79
- //# sourceMappingURL=datagovau_dataset.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"datagovau_dataset.d.ts","sourceRoot":"","sources":["../../src/tools/datagovau_dataset.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAMnD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;CAmBrC,CAAC;AAEF,wBAAsB,0BAA0B,CAAC,KAAK,EAAE;IACtD,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,eAAe,CAAC,CA2D3B;AAMD,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;CAgBtC,CAAC;AAEF,wBAAsB,2BAA2B,CAAC,KAAK,EAAE;IACvD,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,eAAe,CAAC,CAgD3B;AAMD,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqC1C,CAAC;AAEF,wBAAsB,+BAA+B,CAAC,KAAK,EAAE;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,eAAe,CAAC,CAkD3B"}
@@ -1,246 +0,0 @@
1
- /**
2
- * data.gov.au Dataset Tools - Get dataset details, resources, and query datastore
3
- */
4
- import { dataGovAUClient } from '../clients/datagovau_client.js';
5
- // ============================================================================
6
- // Get Dataset Tool
7
- // ============================================================================
8
- export const dataGovAUGetDatasetSchema = {
9
- name: 'datagovau_get_dataset',
10
- description: `Get full details of a specific dataset from data.gov.au.
11
-
12
- Returns complete metadata including:
13
- - All resources (files, APIs) with download URLs
14
- - Full description and documentation
15
- - Organization and contact details
16
- - License information`,
17
- inputSchema: {
18
- type: 'object',
19
- properties: {
20
- dataset: {
21
- type: 'string',
22
- description: 'Dataset ID or name (e.g., "heritage-inventory" or UUID)',
23
- },
24
- },
25
- required: ['dataset'],
26
- },
27
- };
28
- export async function executeDataGovAUGetDataset(input) {
29
- try {
30
- const dataset = await dataGovAUClient.getDataset(input.dataset);
31
- if (!dataset) {
32
- return {
33
- content: [{
34
- type: 'text',
35
- text: JSON.stringify({
36
- error: `Dataset not found: ${input.dataset}`,
37
- }),
38
- }],
39
- isError: true,
40
- };
41
- }
42
- return {
43
- content: [{
44
- type: 'text',
45
- text: JSON.stringify({
46
- source: 'datagovau',
47
- dataset: {
48
- id: dataset.id,
49
- name: dataset.name,
50
- title: dataset.title,
51
- description: dataset.notes,
52
- organization: dataset.organization,
53
- author: dataset.author,
54
- maintainer: dataset.maintainer,
55
- license: dataset.licenseTitle || dataset.licenseId,
56
- created: dataset.metadataCreated,
57
- modified: dataset.metadataModified,
58
- tags: dataset.tags,
59
- url: `https://data.gov.au/dataset/${dataset.name}`,
60
- resources: dataset.resources.map(r => ({
61
- id: r.id,
62
- name: r.name,
63
- description: r.description?.substring(0, 200),
64
- format: r.format,
65
- url: r.url,
66
- size: r.size,
67
- lastModified: r.lastModified,
68
- datastoreEnabled: r.datastoreActive,
69
- })),
70
- },
71
- }, null, 2),
72
- }],
73
- };
74
- }
75
- catch (error) {
76
- return {
77
- content: [{
78
- type: 'text',
79
- text: JSON.stringify({
80
- error: error instanceof Error ? error.message : 'Unknown error',
81
- }),
82
- }],
83
- isError: true,
84
- };
85
- }
86
- }
87
- // ============================================================================
88
- // Get Resource Tool
89
- // ============================================================================
90
- export const dataGovAUGetResourceSchema = {
91
- name: 'datagovau_get_resource',
92
- description: `Get details of a specific resource (file or API) from data.gov.au.
93
-
94
- Resources are the actual data files within a dataset - CSV, JSON, GeoJSON, APIs, etc.
95
- Use this to get the download URL and check if datastore querying is available.`,
96
- inputSchema: {
97
- type: 'object',
98
- properties: {
99
- resourceId: {
100
- type: 'string',
101
- description: 'Resource ID (UUID)',
102
- },
103
- },
104
- required: ['resourceId'],
105
- },
106
- };
107
- export async function executeDataGovAUGetResource(input) {
108
- try {
109
- const resource = await dataGovAUClient.getResource(input.resourceId);
110
- if (!resource) {
111
- return {
112
- content: [{
113
- type: 'text',
114
- text: JSON.stringify({
115
- error: `Resource not found: ${input.resourceId}`,
116
- }),
117
- }],
118
- isError: true,
119
- };
120
- }
121
- return {
122
- content: [{
123
- type: 'text',
124
- text: JSON.stringify({
125
- source: 'datagovau',
126
- resource: {
127
- id: resource.id,
128
- name: resource.name,
129
- description: resource.description,
130
- format: resource.format,
131
- url: resource.url,
132
- size: resource.size,
133
- lastModified: resource.lastModified,
134
- datastoreEnabled: resource.datastoreActive,
135
- tip: resource.datastoreActive
136
- ? 'Use datagovau_datastore_search to query this resource directly'
137
- : 'Download the file from the URL to access the data',
138
- },
139
- }, null, 2),
140
- }],
141
- };
142
- }
143
- catch (error) {
144
- return {
145
- content: [{
146
- type: 'text',
147
- text: JSON.stringify({
148
- error: error instanceof Error ? error.message : 'Unknown error',
149
- }),
150
- }],
151
- isError: true,
152
- };
153
- }
154
- }
155
- // ============================================================================
156
- // Datastore Search Tool
157
- // ============================================================================
158
- export const dataGovAUDatastoreSearchSchema = {
159
- name: 'datagovau_datastore_search',
160
- description: `Query tabular data directly from a data.gov.au resource.
161
-
162
- Only works for resources with datastore enabled (typically CSV files that have been imported).
163
- Returns rows of data with pagination support.
164
-
165
- Note: Not all resources have datastore enabled. Use datagovau_get_resource to check.`,
166
- inputSchema: {
167
- type: 'object',
168
- properties: {
169
- resourceId: {
170
- type: 'string',
171
- description: 'Resource ID (UUID) - must have datastore enabled',
172
- },
173
- query: {
174
- type: 'string',
175
- description: 'Full-text search query within the data',
176
- },
177
- filters: {
178
- type: 'object',
179
- description: 'Field-value filters (e.g., {"state": "VIC", "year": "2020"})',
180
- additionalProperties: true,
181
- },
182
- limit: {
183
- type: 'number',
184
- description: 'Maximum rows to return (1-100)',
185
- default: 20,
186
- },
187
- offset: {
188
- type: 'number',
189
- description: 'Number of rows to skip (for pagination)',
190
- default: 0,
191
- },
192
- },
193
- required: ['resourceId'],
194
- },
195
- };
196
- export async function executeDataGovAUDatastoreSearch(input) {
197
- try {
198
- const result = await dataGovAUClient.datastoreSearch({
199
- resourceId: input.resourceId,
200
- query: input.query,
201
- filters: input.filters,
202
- limit: Math.min(input.limit ?? 20, 100),
203
- offset: input.offset ?? 0,
204
- });
205
- if (!result) {
206
- return {
207
- content: [{
208
- type: 'text',
209
- text: JSON.stringify({
210
- error: `Datastore not available for resource: ${input.resourceId}. The resource may not have datastore enabled or the ID is invalid.`,
211
- }),
212
- }],
213
- isError: true,
214
- };
215
- }
216
- return {
217
- content: [{
218
- type: 'text',
219
- text: JSON.stringify({
220
- source: 'datagovau',
221
- resourceId: result.resourceId,
222
- total: result.total,
223
- returned: result.records.length,
224
- offset: input.offset ?? 0,
225
- fields: result.fields.map(f => ({
226
- name: f.id,
227
- type: f.type,
228
- })),
229
- records: result.records,
230
- }, null, 2),
231
- }],
232
- };
233
- }
234
- catch (error) {
235
- return {
236
- content: [{
237
- type: 'text',
238
- text: JSON.stringify({
239
- error: error instanceof Error ? error.message : 'Unknown error',
240
- }),
241
- }],
242
- isError: true,
243
- };
244
- }
245
- }
246
- //# sourceMappingURL=datagovau_dataset.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"datagovau_dataset.js","sourceRoot":"","sources":["../../src/tools/datagovau_dataset.ts"],"names":[],"mappings":"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"}