@superglue/cli 1.1.15 → 1.1.17

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.
package/dist/cli.js CHANGED
@@ -2391,7 +2391,7 @@ Use parameterized queries with $1, $2, etc. placeholders:
2391
2391
 
2392
2392
  <div style="margin-top: 24px; padding: 20px; background: #fefce8; border-radius: 12px; border: 1px solid #fef08a;">
2393
2393
  <p style="margin: 0; color: #854d0e; font-size: 14px;">
2394
- <strong>\u{1F4A1} This is a demo tool!</strong> You just ran your first superglue workflow.
2394
+ <strong>\u{1F4A1} This is a demo tool!</strong> You just ran your first superglue tool.
2395
2395
  Edit this tool or create your own to automate any API integration.
2396
2396
  </p>
2397
2397
  </div>
@@ -4661,6 +4661,54 @@ API Base URLs:
4661
4661
  "api key"
4662
4662
  ]
4663
4663
  },
4664
+ datahub: {
4665
+ name: "datahub",
4666
+ apiUrl: "https://{your-datahub-host}",
4667
+ regex: "^.*(datahub|acryl\\.datahub|datahubproject|datahub-gms|acryl\\.io).*$",
4668
+ icon: "lucide:library-big",
4669
+ docsUrl: "https://docs.datahub.com/docs/api/openapi/openapi-usage-guide",
4670
+ preferredAuthType: "apikey",
4671
+ keywords: [
4672
+ "metadata",
4673
+ "catalog",
4674
+ "data discovery",
4675
+ "lineage",
4676
+ "dataset",
4677
+ "dashboard",
4678
+ "ml model",
4679
+ "governance",
4680
+ "entities",
4681
+ "aspects",
4682
+ "urn",
4683
+ "relationships",
4684
+ "schema",
4685
+ "openapi",
4686
+ "gms",
4687
+ "ingestion",
4688
+ "acryl",
4689
+ "oidc",
4690
+ "api key"
4691
+ ],
4692
+ systemSpecificInstructions: `DataHub is a metadata catalog (discovery, lineage, governance, quality, contracts). Programmatic access for REST-first workflows is the OpenAPI surface on the Metadata Service (GMS), not the marketing or docs site.
4693
+
4694
+ OSS vs Cloud (brief): Self-hosted (open-source) means you run DataHub in your environment (Docker/K8s/Helm, etc.) and own URLs, upgrades, and networking. DataHub Cloud (Acryl) is a managed instance: you typically get https://<your-domain>.acryl.io, onboarding from the integrations team, optional AWS PrivateLink into your VPC, and UI login via admin invite or OIDC \u2014 same metadata model and APIs in principle, different hostname, auth onboarding, and who operates the plane. Always use the base URL you were given, not generic doc sites.
4695
+
4696
+ DataHub Cloud UI access: Admin users receive an invite link; OIDC uses your IdP\u2019s Client ID, Client Secret, and Discovery URL (must resolve to \u2026/.well-known/openid-configuration). Register redirect/callback https://<your-acryl-domain>.acryl.io/callback/oidc in the IdP. As of current Cloud docs, LDAP/SAML are not supported for that login path \u2014 confirm with Acryl if your requirements differ. Support: http://support.datahub.com/
4697
+
4698
+ Ingestion & discovery: Cloud uses push-based ingestion \u2014 run DataHub\u2019s agent inside your network so secrets stay local, with scheduled Python ingestion jobs pushing metadata to your instance. Day-to-day discovery is search and browse in the UI; OpenAPI/GraphQL/Rest.li read and write the same underlying graph.
4699
+
4700
+ Base URL (critical): OpenAPI is under /openapi/ on the GMS origin (or the UI origin if it proxies /openapi). Local quickstart: http://localhost:8080/openapi/swagger-ui/index.html \u2014 API base is scheme+host+port only (e.g. https://gms.yourcompany.com, your Cloud hostname, or a frontend that proxies GMS).
4701
+
4702
+ Verify the base: {base}/openapi/v3/api-docs or {base}/openapi/v3/api-docs.yaml. No global openApiUrl \u2014 in superglue, import from your instance\u2019s /openapi/v3/api-docs (or .yaml).
4703
+
4704
+ Authentication: REST examples use Authorization: Bearer <token>. Token issuance depends on edition (PATs, OIDC/session, etc.); follow DataHub\u2019s authentication and access-token docs for your deployment.
4705
+
4706
+ Main OpenAPI groups (paths under /openapi/): entities/v1 \u2014 upsert/read/delete entity+aspect (POST; ?createEntityIfNotExists=true for create-only; GET \u2026/latest?urns&aspectNames; DELETE ?urns&soft=). relationships/v1 \u2014 graph navigation. timeline \u2014 aspect history. platform \u2014 metadata events. v3 adds batch get (/v3/entity/{entityName}/batchGet), conditional writes, JSON Patch-style updates (see OpenAPI guide).
4707
+
4708
+ Identifiers are URN-centric (e.g. urn:li:dataset:(...)). Also GraphQL and Rest.li \u2014 see the official API overview to pick an interface.
4709
+
4710
+ References: https://docs.datahub.com/docs/features \u2014 product context; https://docs.datahub.com/docs/api/openapi/openapi-usage-guide \u2014 OpenAPI usage; https://docs.datahub.com/docs/managed-datahub/welcome-acryl \u2014 DataHub Cloud getting started (URL pattern, OIDC callback, ingestion); https://docs.datahub.com/docs/managed-datahub/managed-datahub-overview \u2014 OSS vs Cloud feature comparison.`
4711
+ },
4664
4712
  looker: {
4665
4713
  name: "looker",
4666
4714
  apiUrl: "https://{your-domain}.looker.com/api",
package/dist/dist/cli.js CHANGED
@@ -2391,7 +2391,7 @@ Use parameterized queries with $1, $2, etc. placeholders:
2391
2391
 
2392
2392
  <div style="margin-top: 24px; padding: 20px; background: #fefce8; border-radius: 12px; border: 1px solid #fef08a;">
2393
2393
  <p style="margin: 0; color: #854d0e; font-size: 14px;">
2394
- <strong>\u{1F4A1} This is a demo tool!</strong> You just ran your first superglue workflow.
2394
+ <strong>\u{1F4A1} This is a demo tool!</strong> You just ran your first superglue tool.
2395
2395
  Edit this tool or create your own to automate any API integration.
2396
2396
  </p>
2397
2397
  </div>
@@ -4661,6 +4661,54 @@ API Base URLs:
4661
4661
  "api key"
4662
4662
  ]
4663
4663
  },
4664
+ datahub: {
4665
+ name: "datahub",
4666
+ apiUrl: "https://{your-datahub-host}",
4667
+ regex: "^.*(datahub|acryl\\.datahub|datahubproject|datahub-gms|acryl\\.io).*$",
4668
+ icon: "lucide:library-big",
4669
+ docsUrl: "https://docs.datahub.com/docs/api/openapi/openapi-usage-guide",
4670
+ preferredAuthType: "apikey",
4671
+ keywords: [
4672
+ "metadata",
4673
+ "catalog",
4674
+ "data discovery",
4675
+ "lineage",
4676
+ "dataset",
4677
+ "dashboard",
4678
+ "ml model",
4679
+ "governance",
4680
+ "entities",
4681
+ "aspects",
4682
+ "urn",
4683
+ "relationships",
4684
+ "schema",
4685
+ "openapi",
4686
+ "gms",
4687
+ "ingestion",
4688
+ "acryl",
4689
+ "oidc",
4690
+ "api key"
4691
+ ],
4692
+ systemSpecificInstructions: `DataHub is a metadata catalog (discovery, lineage, governance, quality, contracts). Programmatic access for REST-first workflows is the OpenAPI surface on the Metadata Service (GMS), not the marketing or docs site.
4693
+
4694
+ OSS vs Cloud (brief): Self-hosted (open-source) means you run DataHub in your environment (Docker/K8s/Helm, etc.) and own URLs, upgrades, and networking. DataHub Cloud (Acryl) is a managed instance: you typically get https://<your-domain>.acryl.io, onboarding from the integrations team, optional AWS PrivateLink into your VPC, and UI login via admin invite or OIDC \u2014 same metadata model and APIs in principle, different hostname, auth onboarding, and who operates the plane. Always use the base URL you were given, not generic doc sites.
4695
+
4696
+ DataHub Cloud UI access: Admin users receive an invite link; OIDC uses your IdP\u2019s Client ID, Client Secret, and Discovery URL (must resolve to \u2026/.well-known/openid-configuration). Register redirect/callback https://<your-acryl-domain>.acryl.io/callback/oidc in the IdP. As of current Cloud docs, LDAP/SAML are not supported for that login path \u2014 confirm with Acryl if your requirements differ. Support: http://support.datahub.com/
4697
+
4698
+ Ingestion & discovery: Cloud uses push-based ingestion \u2014 run DataHub\u2019s agent inside your network so secrets stay local, with scheduled Python ingestion jobs pushing metadata to your instance. Day-to-day discovery is search and browse in the UI; OpenAPI/GraphQL/Rest.li read and write the same underlying graph.
4699
+
4700
+ Base URL (critical): OpenAPI is under /openapi/ on the GMS origin (or the UI origin if it proxies /openapi). Local quickstart: http://localhost:8080/openapi/swagger-ui/index.html \u2014 API base is scheme+host+port only (e.g. https://gms.yourcompany.com, your Cloud hostname, or a frontend that proxies GMS).
4701
+
4702
+ Verify the base: {base}/openapi/v3/api-docs or {base}/openapi/v3/api-docs.yaml. No global openApiUrl \u2014 in superglue, import from your instance\u2019s /openapi/v3/api-docs (or .yaml).
4703
+
4704
+ Authentication: REST examples use Authorization: Bearer <token>. Token issuance depends on edition (PATs, OIDC/session, etc.); follow DataHub\u2019s authentication and access-token docs for your deployment.
4705
+
4706
+ Main OpenAPI groups (paths under /openapi/): entities/v1 \u2014 upsert/read/delete entity+aspect (POST; ?createEntityIfNotExists=true for create-only; GET \u2026/latest?urns&aspectNames; DELETE ?urns&soft=). relationships/v1 \u2014 graph navigation. timeline \u2014 aspect history. platform \u2014 metadata events. v3 adds batch get (/v3/entity/{entityName}/batchGet), conditional writes, JSON Patch-style updates (see OpenAPI guide).
4707
+
4708
+ Identifiers are URN-centric (e.g. urn:li:dataset:(...)). Also GraphQL and Rest.li \u2014 see the official API overview to pick an interface.
4709
+
4710
+ References: https://docs.datahub.com/docs/features \u2014 product context; https://docs.datahub.com/docs/api/openapi/openapi-usage-guide \u2014 OpenAPI usage; https://docs.datahub.com/docs/managed-datahub/welcome-acryl \u2014 DataHub Cloud getting started (URL pattern, OIDC callback, ingestion); https://docs.datahub.com/docs/managed-datahub/managed-datahub-overview \u2014 OSS vs Cloud feature comparison.`
4711
+ },
4664
4712
  looker: {
4665
4713
  name: "looker",
4666
4714
  apiUrl: "https://{your-domain}.looker.com/api",
@@ -66,9 +66,20 @@ This prompts for:
66
66
 
67
67
  It verifies the connection before saving. On success it creates the config file, a `drafts/` directory, and updates `.gitignore` if using local config.
68
68
 
69
- **Option B: Environment variables (recommended for CI and AI agents)**
69
+ **Option B: Non-interactive init (recommended for CI and AI agents)**
70
70
 
71
- If `sg init` is not practical (non-interactive environments, CI, AI agents), set these env vars instead:
71
+ Pass the global `--api-key` flag to skip interactive prompts and save a config file:
72
+
73
+ ```bash
74
+ sg init --api-key "your-api-key" --global
75
+ sg init --api-key "your-api-key" --endpoint "https://custom.endpoint.com" --global
76
+ ```
77
+
78
+ > **Note:** `--api-key` and `--endpoint` are global flags (not shown in `sg init --help`). They work on all subcommands including `init`.
79
+
80
+ **Option C: Environment variables (no config file)**
81
+
82
+ If you don't need a persistent config file, set these env vars instead:
72
83
 
73
84
  ```bash
74
85
  export SUPERGLUE_API_KEY="your-api-key"
@@ -66,9 +66,20 @@ This prompts for:
66
66
 
67
67
  It verifies the connection before saving. On success it creates the config file, a `drafts/` directory, and updates `.gitignore` if using local config.
68
68
 
69
- **Option B: Environment variables (recommended for CI and AI agents)**
69
+ **Option B: Non-interactive init (recommended for CI and AI agents)**
70
70
 
71
- If `sg init` is not practical (non-interactive environments, CI, AI agents), set these env vars instead:
71
+ Pass the global `--api-key` flag to skip interactive prompts and save a config file:
72
+
73
+ ```bash
74
+ sg init --api-key "your-api-key" --global
75
+ sg init --api-key "your-api-key" --endpoint "https://custom.endpoint.com" --global
76
+ ```
77
+
78
+ > **Note:** `--api-key` and `--endpoint` are global flags (not shown in `sg init --help`). They work on all subcommands including `init`.
79
+
80
+ **Option C: Environment variables (no config file)**
81
+
82
+ If you don't need a persistent config file, set these env vars instead:
72
83
 
73
84
  ```bash
74
85
  export SUPERGLUE_API_KEY="your-api-key"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superglue/cli",
3
- "version": "1.1.15",
3
+ "version": "1.1.17",
4
4
  "bin": {
5
5
  "sg": "./dist/cli.js"
6
6
  },
@@ -66,9 +66,20 @@ This prompts for:
66
66
 
67
67
  It verifies the connection before saving. On success it creates the config file, a `drafts/` directory, and updates `.gitignore` if using local config.
68
68
 
69
- **Option B: Environment variables (recommended for CI and AI agents)**
69
+ **Option B: Non-interactive init (recommended for CI and AI agents)**
70
70
 
71
- If `sg init` is not practical (non-interactive environments, CI, AI agents), set these env vars instead:
71
+ Pass the global `--api-key` flag to skip interactive prompts and save a config file:
72
+
73
+ ```bash
74
+ sg init --api-key "your-api-key" --global
75
+ sg init --api-key "your-api-key" --endpoint "https://custom.endpoint.com" --global
76
+ ```
77
+
78
+ > **Note:** `--api-key` and `--endpoint` are global flags (not shown in `sg init --help`). They work on all subcommands including `init`.
79
+
80
+ **Option C: Environment variables (no config file)**
81
+
82
+ If you don't need a persistent config file, set these env vars instead:
72
83
 
73
84
  ```bash
74
85
  export SUPERGLUE_API_KEY="your-api-key"