@otonoma/paranet-client 2.16.0-rc.6 → 2.16.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 (52) hide show
  1. package/dist/cjs/client.d.ts +3 -0
  2. package/dist/cjs/client.d.ts.map +1 -1
  3. package/dist/cjs/graphql.d.ts.map +1 -1
  4. package/dist/cjs/index-Dz-_ygkd.cjs +27200 -0
  5. package/dist/cjs/index-Dz-_ygkd.cjs.map +1 -0
  6. package/dist/cjs/index.cjs +40 -3
  7. package/dist/cjs/index.cjs.map +1 -1
  8. package/dist/cjs/index.d.ts.map +1 -1
  9. package/dist/cjs/pncp.d.ts.map +1 -1
  10. package/dist/cjs/proto/broker.grpc.client.d.ts.map +1 -1
  11. package/dist/cjs/proto/broker.grpc.d.ts.map +1 -1
  12. package/dist/cjs/proto/broker_api.d.ts.map +1 -1
  13. package/dist/cjs/proto/google/protobuf/descriptor.d.ts.map +1 -1
  14. package/dist/cjs/proto/google/protobuf/timestamp.d.ts.map +1 -1
  15. package/dist/cjs/proto/grpc/health/v1/health.client.d.ts.map +1 -1
  16. package/dist/cjs/proto/grpc/health/v1/health.d.ts.map +1 -1
  17. package/dist/cjs/proto/identifiers.d.ts.map +1 -1
  18. package/dist/cjs/proto/mediums.d.ts.map +1 -1
  19. package/dist/cjs/proto/observation.d.ts.map +1 -1
  20. package/dist/cjs/proto/otonoma/common/value.d.ts.map +1 -1
  21. package/dist/cjs/proto/pncp.d.ts.map +1 -1
  22. package/dist/cjs/schema/paranet.d.ts.map +1 -1
  23. package/dist/cjs/util.d.ts.map +1 -1
  24. package/dist/client.d.ts +3 -0
  25. package/dist/client.d.ts.map +1 -1
  26. package/dist/client.js +40 -3
  27. package/dist/esm/client.d.ts +3 -0
  28. package/dist/esm/client.d.ts.map +1 -1
  29. package/dist/esm/graphql.d.ts.map +1 -1
  30. package/dist/esm/index-CO5PSAqf.mjs +27198 -0
  31. package/dist/esm/index-CO5PSAqf.mjs.map +1 -0
  32. package/dist/esm/index.d.ts.map +1 -1
  33. package/dist/esm/index.mjs +40 -3
  34. package/dist/esm/index.mjs.map +1 -1
  35. package/dist/esm/pncp.d.ts.map +1 -1
  36. package/dist/esm/proto/broker.grpc.client.d.ts.map +1 -1
  37. package/dist/esm/proto/broker.grpc.d.ts.map +1 -1
  38. package/dist/esm/proto/broker_api.d.ts.map +1 -1
  39. package/dist/esm/proto/google/protobuf/descriptor.d.ts.map +1 -1
  40. package/dist/esm/proto/google/protobuf/timestamp.d.ts.map +1 -1
  41. package/dist/esm/proto/grpc/health/v1/health.client.d.ts.map +1 -1
  42. package/dist/esm/proto/grpc/health/v1/health.d.ts.map +1 -1
  43. package/dist/esm/proto/identifiers.d.ts.map +1 -1
  44. package/dist/esm/proto/mediums.d.ts.map +1 -1
  45. package/dist/esm/proto/observation.d.ts.map +1 -1
  46. package/dist/esm/proto/otonoma/common/value.d.ts.map +1 -1
  47. package/dist/esm/proto/pncp.d.ts.map +1 -1
  48. package/dist/esm/schema/paranet.d.ts.map +1 -1
  49. package/dist/esm/util.d.ts.map +1 -1
  50. package/dist/index.d.cts +3 -0
  51. package/dist/index.d.mts +3 -0
  52. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAE1B,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,QAAQ,CAAC;AAEvB,cAAc,QAAQ,CAAC;AAEvB,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAE1B,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,QAAQ,CAAC;AAEvB,cAAc,QAAQ,CAAC;AAEvB,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
@@ -7148,16 +7148,36 @@ class HealthClient {
7148
7148
  }
7149
7149
 
7150
7150
  // Wrapper client around the paranet broker and data service.
7151
+ // undici is loaded dynamically only in Node.js when insecure mode is needed
7152
+ let undiciModule = null;
7153
+ async function getUndici() {
7154
+ if (!undiciModule) {
7155
+ undiciModule = await import('./index-CO5PSAqf.mjs').then(function (n) { return n.i; });
7156
+ }
7157
+ return undiciModule;
7158
+ }
7151
7159
  class PncpClient {
7152
7160
  constructor(init) {
7153
7161
  this.actorId = init.actorId;
7154
7162
  this.endpoint = init.endpoint;
7155
7163
  this.actorVersion = init.actorVersion;
7164
+ var fetchFn = init.fetch;
7165
+ // Note: insecure TLS bypass only works in Node.js with undici
7166
+ // In browser environments, insecure mode is ignored (browsers don't allow TLS bypass)
7167
+ if (!fetchFn && init.insecure && init.endpoint.startsWith("https") && typeof globalThis.process !== 'undefined' && globalThis.process?.versions?.node) {
7168
+ // Synchronously check if undici is already loaded, otherwise load it lazily on first request
7169
+ fetchFn = async (request, options) => {
7170
+ const undici = await getUndici();
7171
+ var fetchOptions = options || {};
7172
+ fetchOptions.dispatcher = new undici.Agent({ connect: { rejectUnauthorized: false } });
7173
+ return undici.fetch(request, fetchOptions);
7174
+ };
7175
+ }
7156
7176
  // TODO: Consider passing in transport config.
7157
7177
  this.transport = new GrpcWebFetchTransport({
7158
7178
  baseUrl: init.endpoint,
7159
7179
  format: "binary",
7160
- fetch: init.fetch,
7180
+ fetch: fetchFn,
7161
7181
  // TODO: Consider other methods here.
7162
7182
  });
7163
7183
  this.inner = new BrokerClient(this.transport);
@@ -7264,6 +7284,9 @@ class PncpClient {
7264
7284
  case "password":
7265
7285
  secret = { oneofKind: "password", password: creds.secret };
7266
7286
  break;
7287
+ case "jwt":
7288
+ secret = { oneofKind: "jwt", jwt: creds.secret };
7289
+ break;
7267
7290
  default:
7268
7291
  throw new Error("Invalid creds type");
7269
7292
  }
@@ -7488,6 +7511,7 @@ class BaseClient {
7488
7511
  constructor(init) {
7489
7512
  this.endpoint = cleanUrl(init.endpoint);
7490
7513
  this.actorId = init.actorId;
7514
+ this.insecure = init.insecure ?? false;
7491
7515
  }
7492
7516
  getEndpoint() {
7493
7517
  return this.endpoint;
@@ -7561,14 +7585,27 @@ class BaseClient {
7561
7585
  }
7562
7586
  async fetch(path, method, body, headers) {
7563
7587
  let url = `${this.endpoint}/${path}`;
7564
- const mkFetch = () => fetch(url, {
7588
+ // Build fetch options, with optional TLS bypass for Node.js
7589
+ let fetchOptions = {
7565
7590
  method,
7566
7591
  body,
7567
7592
  headers: {
7568
7593
  ...(headers || {}),
7569
7594
  ...this.getHeaders(),
7570
7595
  },
7571
- });
7596
+ };
7597
+ // For Node.js: bypass certificate verification if insecure mode is enabled
7598
+ // Must use undici.fetch (not global fetch) for dispatcher option to work
7599
+ // In browser environments, insecure mode is ignored (browsers don't allow TLS bypass)
7600
+ const isNode = typeof globalThis.process !== 'undefined' && globalThis.process?.versions?.node;
7601
+ const mkFetch = async () => {
7602
+ if (this.insecure && isNode) {
7603
+ const undici = await getUndici();
7604
+ fetchOptions.dispatcher = new undici.Agent({ connect: { rejectUnauthorized: false } });
7605
+ return undici.fetch(url, fetchOptions);
7606
+ }
7607
+ return fetch(url, fetchOptions);
7608
+ };
7572
7609
  let response = await mkFetch();
7573
7610
  if (response.status == 401) {
7574
7611
  await this.refreshAuth();