dremiojs 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/.eslintrc.json +14 -0
  2. package/.prettierrc +7 -0
  3. package/README.md +59 -0
  4. package/dremiodocs/dremio-cloud/cloud-api-reference.md +748 -0
  5. package/dremiodocs/dremio-cloud/dremio-cloud-about.md +225 -0
  6. package/dremiodocs/dremio-cloud/dremio-cloud-admin.md +3754 -0
  7. package/dremiodocs/dremio-cloud/dremio-cloud-bring-data.md +6098 -0
  8. package/dremiodocs/dremio-cloud/dremio-cloud-changelog.md +32 -0
  9. package/dremiodocs/dremio-cloud/dremio-cloud-developer.md +1147 -0
  10. package/dremiodocs/dremio-cloud/dremio-cloud-explore-analyze.md +2522 -0
  11. package/dremiodocs/dremio-cloud/dremio-cloud-get-started.md +300 -0
  12. package/dremiodocs/dremio-cloud/dremio-cloud-help-support.md +869 -0
  13. package/dremiodocs/dremio-cloud/dremio-cloud-manage-govern.md +800 -0
  14. package/dremiodocs/dremio-cloud/dremio-cloud-overview.md +36 -0
  15. package/dremiodocs/dremio-cloud/dremio-cloud-security.md +1844 -0
  16. package/dremiodocs/dremio-cloud/sql-docs.md +7180 -0
  17. package/dremiodocs/dremio-software/dremio-software-acceleration.md +1575 -0
  18. package/dremiodocs/dremio-software/dremio-software-admin.md +884 -0
  19. package/dremiodocs/dremio-software/dremio-software-client-applications.md +3277 -0
  20. package/dremiodocs/dremio-software/dremio-software-data-products.md +560 -0
  21. package/dremiodocs/dremio-software/dremio-software-data-sources.md +8701 -0
  22. package/dremiodocs/dremio-software/dremio-software-deploy-dremio.md +3446 -0
  23. package/dremiodocs/dremio-software/dremio-software-get-started.md +848 -0
  24. package/dremiodocs/dremio-software/dremio-software-monitoring.md +422 -0
  25. package/dremiodocs/dremio-software/dremio-software-reference.md +677 -0
  26. package/dremiodocs/dremio-software/dremio-software-security.md +2074 -0
  27. package/dremiodocs/dremio-software/dremio-software-v25-api.md +32637 -0
  28. package/dremiodocs/dremio-software/dremio-software-v26-api.md +36757 -0
  29. package/jest.config.js +10 -0
  30. package/package.json +25 -0
  31. package/src/api/catalog.ts +74 -0
  32. package/src/api/jobs.ts +105 -0
  33. package/src/api/reflection.ts +77 -0
  34. package/src/api/source.ts +61 -0
  35. package/src/api/user.ts +32 -0
  36. package/src/client/base.ts +66 -0
  37. package/src/client/cloud.ts +37 -0
  38. package/src/client/software.ts +73 -0
  39. package/src/index.ts +16 -0
  40. package/src/types/catalog.ts +31 -0
  41. package/src/types/config.ts +18 -0
  42. package/src/types/job.ts +18 -0
  43. package/src/types/reflection.ts +29 -0
  44. package/tests/integration_manual.ts +95 -0
  45. package/tsconfig.json +19 -0
@@ -0,0 +1,95 @@
1
+ import { DremioCloudClient } from '../src/client/cloud';
2
+ import { DremioSoftwareClient } from '../src/client/software';
3
+ import * as dotenv from 'dotenv';
4
+ import path from 'path';
5
+
6
+ // Load .env from project root
7
+ dotenv.config({ path: path.resolve(__dirname, '../.env') });
8
+
9
+ const runTests = async () => {
10
+ console.log('Starting DremioJS Integration Tests...');
11
+
12
+ // 1. Test Dremio Cloud
13
+ if (process.env.DREMIO_CLOUD_TOKEN && process.env.DREMIO_CLOUD_PROJECTID) {
14
+ console.log('\nTesting Dremio Cloud...');
15
+ try {
16
+ const cloudClient = new DremioCloudClient({
17
+ baseUrl: process.env.DREMIO_CLOUD_BASE_URL || 'https://api.dremio.cloud/v0',
18
+ authToken: process.env.DREMIO_CLOUD_TOKEN,
19
+ projectId: process.env.DREMIO_CLOUD_PROJECTID
20
+ });
21
+
22
+ console.log(' - Validating connection (Catalog Root)...');
23
+ const catalog = await cloudClient.catalog.getByPath([]);
24
+ console.log(' Success! Root contains', catalog.children?.length, 'items');
25
+
26
+ console.log(' - Validating Sources...');
27
+ try {
28
+ const sources = await cloudClient.sources.list();
29
+ console.log(' Success! Found', sources.length, 'sources');
30
+ } catch (e: any) {
31
+ console.warn(' Warning: Could not list sources (may differ in Cloud/Project scope):', e.message);
32
+ }
33
+
34
+ console.log(' - Validating Reflections...');
35
+ try {
36
+ const reflections = await cloudClient.reflections.list();
37
+ console.log(' Success! Found', reflections.length, 'reflections');
38
+ } catch (e: any) {
39
+ console.warn(' Warning: Could not list reflections:', e.message);
40
+ }
41
+
42
+ console.log(' - Running Test Query: SELECT 1');
43
+ const results = await cloudClient.jobs.executeQuery('SELECT 1');
44
+ console.log(' Query Success! Result:', results);
45
+
46
+ } catch (error: any) {
47
+ console.error(' Cloud Test Failed:', error.message);
48
+ }
49
+ } else {
50
+ console.log('Skipping Dremio Cloud tests (missing credentials)');
51
+ }
52
+
53
+ // 2. Test Dremio Software
54
+ if (process.env.DREMIO_SOFTWARE_TOKEN && process.env.DREMIO_SOFTWARE_BASE_URL) {
55
+ console.log('\nTesting Dremio Software...');
56
+ try {
57
+ const softwareClient = new DremioSoftwareClient({
58
+ baseUrl: process.env.DREMIO_SOFTWARE_BASE_URL,
59
+ authToken: process.env.DREMIO_SOFTWARE_TOKEN,
60
+ checkSSLCerts: false // In case of self-signed
61
+ });
62
+
63
+ console.log(' - Validating connection (Catalog Root)...');
64
+ const catalog = await softwareClient.catalog.getByPath([]);
65
+ console.log(' Success! Root contains', catalog.children?.length, 'items');
66
+
67
+ console.log(' - Validating Sources...');
68
+ try {
69
+ const sources = await softwareClient.sources.list();
70
+ console.log(' Success! Found', sources.length, 'sources');
71
+ } catch (e: any) {
72
+ console.warn(' Warning: Could not list sources:', e.message);
73
+ }
74
+
75
+ console.log(' - Validating Reflections...');
76
+ try {
77
+ const reflections = await softwareClient.reflections.list();
78
+ console.log(' Success! Found', reflections.length, 'reflections');
79
+ } catch (e: any) {
80
+ console.warn(' Warning: Could not list reflections:', e.message);
81
+ }
82
+
83
+ console.log(' - Running Test Query: SELECT 1');
84
+ const results = await softwareClient.jobs.executeQuery('SELECT 1');
85
+ console.log(' Query Success! Result:', results);
86
+
87
+ } catch (error: any) {
88
+ console.error(' Software Test Failed:', error.message);
89
+ }
90
+ } else {
91
+ console.log('Skipping Dremio Software tests (missing credentials)');
92
+ }
93
+ };
94
+
95
+ runTests();
package/tsconfig.json ADDED
@@ -0,0 +1,19 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "es2020",
4
+ "module": "commonjs",
5
+ "lib": ["es2020", "dom"],
6
+ "declaration": true,
7
+ "declarationMap": true,
8
+ "sourceMap": true,
9
+ "outDir": "./dist",
10
+ "rootDir": "./src",
11
+ "strict": true,
12
+ "noImplicitAny": true,
13
+ "esModuleInterop": true,
14
+ "skipLibCheck": true,
15
+ "forceConsistentCasingInFileNames": true
16
+ },
17
+ "include": ["src/**/*"],
18
+ "exclude": ["node_modules", "**/*.test.ts"]
19
+ }