service-bridge 0.1.5 → 1.0.9

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/index.js CHANGED
@@ -32808,8 +32808,25 @@ var protoLoader = __toESM(require_src5(), 1);
32808
32808
  var protobufjs = __toESM(require_index_light3(), 1);
32809
32809
  import { AsyncLocalStorage } from "node:async_hooks";
32810
32810
  import * as crypto from "node:crypto";
32811
- import { dirname, join } from "node:path";
32812
- import { fileURLToPath } from "node:url";
32811
+ import { createSocket } from "node:dgram";
32812
+
32813
+ // sdk/src/generated/servicebridge-package-definition.ts
32814
+ var DESCRIPTOR_SET_BASE64 = "Cp8qChNzZXJ2aWNlYnJpZGdlLnByb3RvEg1zZXJ2aWNlYnJpZGdlIk0KDUhhbmRsZVJlcXVlc3QSCgoCZm4YASABKAkSDwoHcGF5bG9hZBgCIAEoDBIPCgd0cmFjZUlkGAMgASgJEg4KBnNwYW5JZBgEIAEoCSJACg5IYW5kbGVSZXNwb25zZRIOCgZvdXRwdXQYASABKAwSDwoHc3VjY2VzcxgCIAEoCBINCgVlcnJvchgDIAEoCSLaAQoVRGVsaXZlck1lc3NhZ2VSZXF1ZXN0EhEKCW1lc3NhZ2VJZBgBIAEoCRIRCglncm91cE5hbWUYAiABKAkSDQoFdG9waWMYAyABKAkSDwoHcGF5bG9hZBgEIAEoDBIYCgdoZWFkZXJzGAUgAygLMgdIZWFkZXJzEg8KB3RyYWNlSWQYBiABKAkSFAoMcGFyZW50U3BhbklkGAcgASgJEg8KB2F0dGVtcHQYCCABKAUaKQoHSGVhZGVycxILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIs0BCg5QdWJsaXNoUmVxdWVzdBINCgV0b3BpYxgBIAEoCRIPCgdwYXlsb2FkGAIgASgMEhgKB2hlYWRlcnMYAyADKAsyB0hlYWRlcnMSDwoHdHJhY2VJZBgEIAEoCRIUCgxwYXJlbnRTcGFuSWQYBSABKAkSFwoPcHJvZHVjZXJTZXJ2aWNlGAYgASgJEhYKDmlkZW1wb3RlbmN5S2V5GAcgASgJGikKB0hlYWRlcnMSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASIkCg9QdWJsaXNoUmVzcG9uc2USEQoJbWVzc2FnZUlkGAEgASgJIlUKC0RlbGl2ZXJ5QWNrEgsKA2FjaxgBIAEoCBIUCgxyZXRyeUFmdGVyTXMYAiABKAUSFAoMcmVqZWN0UmVhc29uGAMgASgJEg0KBWVycm9yGAQgASgJIi0KFFdhdGNoUmVnaXN0cnlSZXF1ZXN0EhUKDWZ1bmN0aW9uTmFtZXMYASADKAkiJwoVTG9va3VwRnVuY3Rpb25SZXF1ZXN0Eg4KBmZuTmFtZRgBIAEoCSJfChZMb29rdXBGdW5jdGlvblJlc3BvbnNlEg0KBWZvdW5kGAEgASgIEhUKDWNhbm9uaWNhbE5hbWUYAiABKAkSHwoJZW5kcG9pbnRzGAMgASgLMgxFbmRwb2ludExpc3QihAEKD1JlZ2lzdHJ5TWVzc2FnZRIhCgRraW5kGAEgASgOMhNSZWdpc3RyeU1lc3NhZ2VLaW5kEhAKCHJldmlzaW9uGAIgASgDEh4KBGZ1bGwYAyABKAsyEFJlZ2lzdHJ5U25hcHNob3QSHAoFZGVsdGEYBCABKAsyDVJlZ2lzdHJ5RGVsdGEidAoNUmVnaXN0cnlEZWx0YRIYCgd1cHNlcnRzGAEgAygLMgdVcHNlcnRzEhAKCHJlbW92YWxzGAIgAygJGjcKB1Vwc2VydHMSCwoDa2V5GAEgASgJEhsKBXZhbHVlGAIgASgLMgxFbmRwb2ludExpc3Q6AjgBIlkKDldvcmtlckVuZHBvaW50EhAKCGVuZHBvaW50GAEgASgJEhEKCXRyYW5zcG9ydBgCIAEoCRISCgppbnN0YW5jZUlkGAMgASgJEg4KBndlaWdodBgEIAEoBSJZChBSZWdpc3RyeVNuYXBzaG90EhAKA3JwYxgBIAMoCzIDUnBjGjMKA1JwYxILCgNrZXkYASABKAkSGwoFdmFsdWUYAiABKAsyDEVuZHBvaW50TGlzdDoCOAEiggEKDEVuZHBvaW50TGlzdBIhCgllbmRwb2ludHMYASADKAsyDldvcmtlckVuZHBvaW50EhcKD2lucHV0U2NoZW1hSnNvbhgCIAEoCRIYChBvdXRwdXRTY2hlbWFKc29uGAMgASgJEhYKDmFsbG93ZWRDYWxsZXJzGAQgAygJSgQIBRAHIrcBChZSZXBvcnRDYWxsU3RhcnRSZXF1ZXN0Eg8KB3RyYWNlSWQYASABKAkSDgoGc3BhbklkGAIgASgJEgoKAmZuGAMgASgJEhMKC3NlcnZpY2VOYW1lGAQgASgJEhEKCXN0YXJ0ZWRBdBgFIAEoAxINCgVpbnB1dBgGIAEoDBIPCgdhdHRlbXB0GAcgASgFEhQKDHBhcmVudFNwYW5JZBgIIAEoCRISCgppbnN0YW5jZUlkGAkgASgJIuABChFSZXBvcnRDYWxsUmVxdWVzdBIPCgd0cmFjZUlkGAEgASgJEg4KBnNwYW5JZBgCIAEoCRIKCgJmbhgDIAEoCRITCgtzZXJ2aWNlTmFtZRgEIAEoCRIRCglzdGFydGVkQXQYBSABKAMSEgoKZHVyYXRpb25NcxgGIAEoAxIPCgdzdWNjZXNzGAcgASgIEg0KBWVycm9yGAggASgJEg0KBWlucHV0GAkgASgMEg4KBm91dHB1dBgKIAEoDBIPCgdhdHRlbXB0GAsgASgFEhIKCmluc3RhbmNlSWQYDCABKAkiFAoSUmVwb3J0Q2FsbFJlc3BvbnNlItcBCghMb2dFbnRyeRIPCgd0cmFjZUlkGAEgASgJEg4KBnNwYW5JZBgCIAEoCRITCgtzZXJ2aWNlTmFtZRgDIAEoCRINCgVsZXZlbBgEIAEoCRIPCgdtZXNzYWdlGAUgASgJEhMKC3RpbWVzdGFtcE5zGAYgASgDEh4KCmF0dHJpYnV0ZXMYByADKAsyCkF0dHJpYnV0ZXMSEgoKaW5zdGFuY2VJZBgIIAEoCRosCgpBdHRyaWJ1dGVzEgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiLQoQUmVwb3J0TG9nUmVxdWVzdBIZCgdlbnRyaWVzGAEgAygLMghMb2dFbnRyeSITChFSZXBvcnRMb2dSZXNwb25zZSK6AQoXUmVnaXN0ZXJGdW5jdGlvblJlcXVlc3QSDgoGZm5OYW1lGAEgASgJEhMKC3NlcnZpY2VOYW1lGAIgASgJEhIKCmluc3RhbmNlSWQYAyABKAkSEAoIZW5kcG9pbnQYBCABKAkSDgoGd2VpZ2h0GAUgASgFEhcKD2lucHV0U2NoZW1hSnNvbhgGIAEoCRIYChBvdXRwdXRTY2hlbWFKc29uGAcgASgJEhEKCXRyYW5zcG9ydBgIIAEoCSIaChhSZWdpc3RlckZ1bmN0aW9uUmVzcG9uc2UijgEKHFJlZ2lzdGVyQ29uc3VtZXJHcm91cFJlcXVlc3QSDAoEbmFtZRgBIAEoCRIPCgdwYXR0ZXJuGAIgASgJEgwKBG1vZGUYAyABKAkSFwoPcmV0cnlQb2xpY3lKc29uGAQgASgJEg4KBmFjdGl2ZRgGIAEoCBISCgpmaWx0ZXJFeHByGAcgASgJSgQIBRAFIh8KHVJlZ2lzdGVyQ29uc3VtZXJHcm91cFJlc3BvbnNlIo0BChpSZWdpc3Rlckdyb3VwTWVtYmVyUmVxdWVzdBIRCglncm91cE5hbWUYASABKAkSEwoLc2VydmljZU5hbWUYAiABKAkSEgoKaW5zdGFuY2VJZBgDIAEoCRIQCghlbmRwb2ludBgEIAEoCRIOCgZ3ZWlnaHQYBSABKAUSEQoJdHJhbnNwb3J0GAYgASgJIh0KG1JlZ2lzdGVyR3JvdXBNZW1iZXJSZXNwb25zZSLPAQoQSGVhcnRiZWF0UmVxdWVzdBITCgtzZXJ2aWNlTmFtZRgBIAEoCRISCgppbnN0YW5jZUlkGAIgASgJEhAKCGVuZHBvaW50GAMgASgJEhIKCmdyb3VwTmFtZXMYBCADKAkSFQoNZnVuY3Rpb25OYW1lcxgFIAMoCRIRCgl0cmFuc3BvcnQYBiABKAkSFgoKY3B1UGVyY2VudBgHIAEoAkIASAASEQoFcmFtTWIYCCABKAVCAEgBQg0KC19jcHVQZXJjZW50QggKBl9yYW1NYiITChFIZWFydGJlYXRSZXNwb25zZSJeChdSZWdpc3RlcldvcmtmbG93UmVxdWVzdBIMCgRuYW1lGAEgASgJEhIKCmRlZmluaXRpb24YAiABKAkSDAoEb3B0cxgDIAEoCRITCgtzZXJ2aWNlTmFtZRgEIAEoCSImChhSZWdpc3RlcldvcmtmbG93UmVzcG9uc2USCgoCaWQYASABKAkiRgoSUnVuV29ya2Zsb3dSZXF1ZXN0EgwKBG5hbWUYASABKAkSDQoFaW5wdXQYAiABKAwSEwoLc2VydmljZU5hbWUYAyABKAkiNQoTUnVuV29ya2Zsb3dSZXNwb25zZRINCgVydW5JZBgBIAEoCRIPCgd0cmFjZUlkGAIgASgJIrUBChJSZWdpc3RlckpvYlJlcXVlc3QSEAoIY3JvbkV4cHIYASABKAkSEAoIdGltZXpvbmUYAiABKAkSFQoNbWlzZmlyZVBvbGljeRgDIAEoCRISCgp0YXJnZXRUeXBlGAQgASgJEhEKCXRhcmdldFJlZhgFIAEoCRIPCgdkZWxheU1zGAYgASgFEhMKC3NlcnZpY2VOYW1lGAcgASgJEhcKD3JldHJ5UG9saWN5SnNvbhgIIAEoCSIhChNSZWdpc3RlckpvYlJlc3BvbnNlEgoKAmlkGAEgASgJIj8KE0FwcGVuZFN0cmVhbVJlcXVlc3QSDQoFcnVuSWQYASABKAkSCwoDa2V5GAIgASgJEgwKBGRhdGEYAyABKAwiFgoUQXBwZW5kU3RyZWFtUmVzcG9uc2UiQwoPV2F0Y2hSdW5SZXF1ZXN0Eg0KBXJ1bklkGAEgASgJEgsKA2tleRgCIAEoCRIUCgxmcm9tU2VxdWVuY2UYAyABKAMiZAoOUnVuU3RyZWFtQ2h1bmsSDAoEdHlwZRgBIAEoCRILCgNrZXkYAyABKAkSDAoEZGF0YRgEIAEoDBIQCghzZXF1ZW5jZRgFIAEoAxIRCglydW5TdGF0dXMYBiABKAlKBAgCEAIqKgoTUmVnaXN0cnlNZXNzYWdlS2luZBIICgRGVUxMEAASCQoFREVMVEEQATLeCgoNU2VydmljZUJyaWRnZRJjChBSZWdpc3RlckZ1bmN0aW9uEiYuc2VydmljZWJyaWRnZS5SZWdpc3RlckZ1bmN0aW9uUmVxdWVzdBonLnNlcnZpY2VicmlkZ2UuUmVnaXN0ZXJGdW5jdGlvblJlc3BvbnNlEnIKFVJlZ2lzdGVyQ29uc3VtZXJHcm91cBIrLnNlcnZpY2VicmlkZ2UuUmVnaXN0ZXJDb25zdW1lckdyb3VwUmVxdWVzdBosLnNlcnZpY2VicmlkZ2UuUmVnaXN0ZXJDb25zdW1lckdyb3VwUmVzcG9uc2USbAoTUmVnaXN0ZXJHcm91cE1lbWJlchIpLnNlcnZpY2VicmlkZ2UuUmVnaXN0ZXJHcm91cE1lbWJlclJlcXVlc3QaKi5zZXJ2aWNlYnJpZGdlLlJlZ2lzdGVyR3JvdXBNZW1iZXJSZXNwb25zZRJOCglIZWFydGJlYXQSHy5zZXJ2aWNlYnJpZGdlLkhlYXJ0YmVhdFJlcXVlc3QaIC5zZXJ2aWNlYnJpZGdlLkhlYXJ0YmVhdFJlc3BvbnNlEmMKEFJlZ2lzdGVyV29ya2Zsb3cSJi5zZXJ2aWNlYnJpZGdlLlJlZ2lzdGVyV29ya2Zsb3dSZXF1ZXN0Gicuc2VydmljZWJyaWRnZS5SZWdpc3RlcldvcmtmbG93UmVzcG9uc2USVAoLUnVuV29ya2Zsb3cSIS5zZXJ2aWNlYnJpZGdlLlJ1bldvcmtmbG93UmVxdWVzdBoiLnNlcnZpY2VicmlkZ2UuUnVuV29ya2Zsb3dSZXNwb25zZRJUCgtSZWdpc3RlckpvYhIhLnNlcnZpY2VicmlkZ2UuUmVnaXN0ZXJKb2JSZXF1ZXN0GiIuc2VydmljZWJyaWRnZS5SZWdpc3RlckpvYlJlc3BvbnNlElYKDVdhdGNoUmVnaXN0cnkSIy5zZXJ2aWNlYnJpZGdlLldhdGNoUmVnaXN0cnlSZXF1ZXN0Gh4uc2VydmljZWJyaWRnZS5SZWdpc3RyeU1lc3NhZ2UwARJdCg5Mb29rdXBGdW5jdGlvbhIkLnNlcnZpY2VicmlkZ2UuTG9va3VwRnVuY3Rpb25SZXF1ZXN0GiUuc2VydmljZWJyaWRnZS5Mb29rdXBGdW5jdGlvblJlc3BvbnNlElsKD1JlcG9ydENhbGxTdGFydBIlLnNlcnZpY2VicmlkZ2UuUmVwb3J0Q2FsbFN0YXJ0UmVxdWVzdBohLnNlcnZpY2VicmlkZ2UuUmVwb3J0Q2FsbFJlc3BvbnNlElEKClJlcG9ydENhbGwSIC5zZXJ2aWNlYnJpZGdlLlJlcG9ydENhbGxSZXF1ZXN0GiEuc2VydmljZWJyaWRnZS5SZXBvcnRDYWxsUmVzcG9uc2USTgoJUmVwb3J0TG9nEh8uc2VydmljZWJyaWRnZS5SZXBvcnRMb2dSZXF1ZXN0GiAuc2VydmljZWJyaWRnZS5SZXBvcnRMb2dSZXNwb25zZRJICgdQdWJsaXNoEh0uc2VydmljZWJyaWRnZS5QdWJsaXNoUmVxdWVzdBoeLnNlcnZpY2VicmlkZ2UuUHVibGlzaFJlc3BvbnNlElcKDEFwcGVuZFN0cmVhbRIiLnNlcnZpY2VicmlkZ2UuQXBwZW5kU3RyZWFtUmVxdWVzdBojLnNlcnZpY2VicmlkZ2UuQXBwZW5kU3RyZWFtUmVzcG9uc2USSwoIV2F0Y2hSdW4SHi5zZXJ2aWNlYnJpZGdlLldhdGNoUnVuUmVxdWVzdBodLnNlcnZpY2VicmlkZ2UuUnVuU3RyZWFtQ2h1bmswATKwAQoTU2VydmljZUJyaWRnZVdvcmtlchJFCgZIYW5kbGUSHC5zZXJ2aWNlYnJpZGdlLkhhbmRsZVJlcXVlc3QaHS5zZXJ2aWNlYnJpZGdlLkhhbmRsZVJlc3BvbnNlElIKDkRlbGl2ZXJNZXNzYWdlEiQuc2VydmljZWJyaWRnZS5EZWxpdmVyTWVzc2FnZVJlcXVlc3QaGi5zZXJ2aWNlYnJpZGdlLkRlbGl2ZXJ5QWNrQi1aK2dpdGh1Yi5jb20vc2VydmljZS1icmlkZ2UvZ28vaW50ZXJuYWwvcGI7cGJiBnByb3RvMw==";
32815
+
32816
+ // sdk/src/grpc-client.ts
32817
+ function outboundIP() {
32818
+ return new Promise((resolve) => {
32819
+ const s = createSocket("udp4");
32820
+ s.connect(53, "8.8.8.8", () => {
32821
+ resolve(s.address().address);
32822
+ s.close();
32823
+ });
32824
+ s.on("error", () => {
32825
+ s.close();
32826
+ resolve("");
32827
+ });
32828
+ });
32829
+ }
32813
32830
  var traceStorage = new AsyncLocalStorage;
32814
32831
  function getTraceContext() {
32815
32832
  return traceStorage.getStore();
@@ -32817,9 +32834,7 @@ function getTraceContext() {
32817
32834
  function runWithTraceContext(ctx, fn) {
32818
32835
  return traceStorage.run(ctx, fn);
32819
32836
  }
32820
- var _sdkRoot = join(dirname(fileURLToPath(import.meta.url)), "..", "..", "..");
32821
- var protoPath = join(_sdkRoot, "proto", "servicebridge.proto");
32822
- var servicebridgePackageDefinition = protoLoader.loadSync(protoPath, {
32837
+ var servicebridgePackageDefinition = protoLoader.loadFileDescriptorSetFromBuffer(Buffer.from(DESCRIPTOR_SET_BASE64, "base64"), {
32823
32838
  keepCase: true,
32824
32839
  longs: String,
32825
32840
  enums: String,
@@ -34032,7 +34047,9 @@ function servicebridge(url, serviceKey, service = "", globalOpts = {}) {
34032
34047
  }
34033
34048
  server.bindAsync(`${host}:0`, serverCreds, (err, p) => err ? reject(err) : resolve(p));
34034
34049
  });
34035
- const endpoint = `${host}:${port}`;
34050
+ const isWildcard = host === "0.0.0.0" || host === "::";
34051
+ const advertiseHost = isWildcard ? await outboundIP() || host : host;
34052
+ const endpoint = `${advertiseHost}:${port}`;
34036
34053
  const instanceId = opts.instanceId || Array.from(crypto.getRandomValues(new Uint8Array(3))).map((b) => b.toString(16).padStart(2, "0")).join("");
34037
34054
  serveState = { endpoint, transport: workerTransport, opts, instanceId };
34038
34055
  await syncRegistrations("initial");
package/http/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicebridge/http-node",
3
- "version": "0.1.0",
3
+ "version": "1.0.7",
4
4
  "type": "module",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "publishConfig": {
@@ -26,7 +26,7 @@
26
26
  "build": "bun build src/index.ts src/express.ts src/fastify.ts --outdir=dist --target=node"
27
27
  },
28
28
  "dependencies": {
29
- "@servicebridge/sdk-node": "^0.1.0"
29
+ "@servicebridge/sdk-node": "^1.0.7"
30
30
  },
31
31
  "peerDependencies": {
32
32
  "express": ">=4.0.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "service-bridge",
3
- "version": "0.1.5",
3
+ "version": "1.0.9",
4
4
  "type": "module",
5
5
  "description": "ServiceBridge SDK for Node.js — production-ready RPC, durable events, workflows, jobs, and distributed tracing. One Go runtime + PostgreSQL replaces Istio, RabbitMQ, Temporal, and Jaeger.",
6
6
  "keywords": [