@xemahq/service-registry-nest 0.2.0 → 0.3.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.
package/dist/index.d.ts CHANGED
@@ -11,5 +11,5 @@ export { resolveHttpUrlEagerly, type EagerResolveOptions } from './lib/resolve-h
11
11
  export { KernelStateServiceRegistry } from './lib/service-registry-impl';
12
12
  export { EnvServiceTokenProvider, SERVICE_TOKEN_ENV_VAR, type ServiceTokenProvider, } from './lib/service-token-provider';
13
13
  export { ServiceUnavailableError } from './lib/service-unavailable.error';
14
- export { TypedServiceClient, TypedServiceClientMethod, type TypedServiceClientOptions, } from './lib/typed-service-client';
14
+ export { TypedServiceClient, TypedServiceClientMethod, type TypedServiceClientOptions, type ScopedRequestInit, } from './lib/typed-service-client';
15
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,EAChC,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,wBAAwB,EACxB,+BAA+B,EAC/B,wBAAwB,EACxB,KAAK,UAAU,GAChB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,aAAa,EACb,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,kBAAkB,EAClB,KAAK,kBAAkB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,4BAA4B,EAC5B,KAAK,iCAAiC,EACtC,KAAK,4BAA4B,GAClC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,kCAAkC,EAClC,KAAK,mBAAmB,GACzB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,oBAAoB,GAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,yBAAyB,GAC/B,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,EAChC,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,wBAAwB,EACxB,+BAA+B,EAC/B,wBAAwB,EACxB,KAAK,UAAU,GAChB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,aAAa,EACb,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,kBAAkB,EAClB,KAAK,kBAAkB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,4BAA4B,EAC5B,KAAK,iCAAiC,EACtC,KAAK,4BAA4B,GAClC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,kCAAkC,EAClC,KAAK,mBAAmB,GACzB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,oBAAoB,GAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,GACvB,MAAM,4BAA4B,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mDAI4B;AAH1B,0HAAA,0BAA0B,OAAA;AAC1B,gIAAA,gCAAgC,OAAA;AAChC,kHAAA,kBAAkB,OAAA;AAEpB,yEAKuC;AAJrC,mIAAA,wBAAwB,OAAA;AACxB,0IAAA,+BAA+B,OAAA;AAC/B,mIAAA,wBAAwB,OAAA;AAG1B,2EAGwC;AAFtC,yHAAA,aAAa,OAAA;AACb,mIAAA,uBAAuB,OAAA;AAEzB,+DAGkC;AAFhC,wHAAA,kBAAkB,OAAA;AAGpB,yEAOuC;AANrC,mIAAA,wBAAwB,OAAA;AACxB,gIAAA,qBAAqB,OAAA;AACrB,iIAAA,sBAAsB,OAAA;AACtB,uIAAA,4BAA4B,OAAA;AAI9B,uGAGsD;AAFpD,4JAAA,kCAAkC,OAAA;AAGpC,qEAAwE;AAA/D,kIAAA,yBAAyB,OAAA;AAClC,+EAA2E;AAAlE,qIAAA,uBAAuB,OAAA;AAChC,2DAAwD;AAA/C,kHAAA,cAAc,OAAA;AACvB,2EAAiG;AAAxF,iIAAA,qBAAqB,OAAA;AAC9B,qEAAyE;AAAhE,mIAAA,0BAA0B,OAAA;AACnC,uEAIsC;AAHpC,iIAAA,uBAAuB,OAAA;AACvB,+HAAA,qBAAqB,OAAA;AAGvB,6EAA0E;AAAjE,oIAAA,uBAAuB,OAAA;AAChC,mEAIoC;AAHlC,0HAAA,kBAAkB,OAAA;AAClB,gIAAA,wBAAwB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mDAI4B;AAH1B,0HAAA,0BAA0B,OAAA;AAC1B,gIAAA,gCAAgC,OAAA;AAChC,kHAAA,kBAAkB,OAAA;AAEpB,yEAKuC;AAJrC,mIAAA,wBAAwB,OAAA;AACxB,0IAAA,+BAA+B,OAAA;AAC/B,mIAAA,wBAAwB,OAAA;AAG1B,2EAGwC;AAFtC,yHAAA,aAAa,OAAA;AACb,mIAAA,uBAAuB,OAAA;AAEzB,+DAGkC;AAFhC,wHAAA,kBAAkB,OAAA;AAGpB,yEAOuC;AANrC,mIAAA,wBAAwB,OAAA;AACxB,gIAAA,qBAAqB,OAAA;AACrB,iIAAA,sBAAsB,OAAA;AACtB,uIAAA,4BAA4B,OAAA;AAI9B,uGAGsD;AAFpD,4JAAA,kCAAkC,OAAA;AAGpC,qEAAwE;AAA/D,kIAAA,yBAAyB,OAAA;AAClC,+EAA2E;AAAlE,qIAAA,uBAAuB,OAAA;AAChC,2DAAwD;AAA/C,kHAAA,cAAc,OAAA;AACvB,2EAAiG;AAAxF,iIAAA,qBAAqB,OAAA;AAC9B,qEAAyE;AAAhE,mIAAA,0BAA0B,OAAA;AACnC,uEAIsC;AAHpC,iIAAA,uBAAuB,OAAA;AACvB,+HAAA,qBAAqB,OAAA;AAGvB,6EAA0E;AAAjE,oIAAA,uBAAuB,OAAA;AAChC,mEAKoC;AAJlC,0HAAA,kBAAkB,OAAA;AAClB,gIAAA,wBAAwB,OAAA"}
@@ -1,10 +1,16 @@
1
1
  import type { ServiceTokenProvider } from './service-token-provider';
2
2
  export interface IdentityTokenSource {
3
3
  getAccessToken(): Promise<string>;
4
+ getScopedAccessToken?(params: {
5
+ scopedClaims: Record<string, string>;
6
+ realm?: string;
7
+ }): Promise<{
8
+ accessToken: string;
9
+ }>;
4
10
  }
5
11
  export declare class IdentityBackedServiceTokenProvider implements ServiceTokenProvider {
6
12
  private readonly identity;
7
13
  constructor(identity: IdentityTokenSource);
8
- getToken(targetService: string): Promise<string>;
14
+ getToken(targetService: string, scopedClaims?: Record<string, string>): Promise<string>;
9
15
  }
10
16
  //# sourceMappingURL=identity-backed-service-token-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity-backed-service-token-provider.d.ts","sourceRoot":"","sources":["../../src/lib/identity-backed-service-token-provider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAiBrE,MAAM,WAAW,mBAAmB;IAClC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACnC;AAyBD,qBACa,kCACX,YAAW,oBAAoB;IAEZ,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,mBAAmB;IAEpD,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAY9D"}
1
+ {"version":3,"file":"identity-backed-service-token-provider.d.ts","sourceRoot":"","sources":["../../src/lib/identity-backed-service-token-provider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAiBrE,MAAM,WAAW,mBAAmB;IAClC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAQlC,oBAAoB,CAAC,CAAC,MAAM,EAAE;QAC5B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtC;AAyBD,qBACa,kCACX,YAAW,oBAAoB;IAEZ,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,mBAAmB;IAEpD,QAAQ,CACnB,aAAa,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,OAAO,CAAC,MAAM,CAAC;CAkCnB"}
@@ -16,7 +16,23 @@ let IdentityBackedServiceTokenProvider = class IdentityBackedServiceTokenProvide
16
16
  constructor(identity) {
17
17
  this.identity = identity;
18
18
  }
19
- async getToken(targetService) {
19
+ async getToken(targetService, scopedClaims) {
20
+ if (scopedClaims && Object.keys(scopedClaims).length > 0) {
21
+ if (typeof this.identity.getScopedAccessToken !== 'function') {
22
+ throw new Error('[service-registry-nest] scoped claims were requested for ' +
23
+ `"${targetService}" (${Object.keys(scopedClaims).join(', ')}) but the ` +
24
+ 'identity source does not support getScopedAccessToken(); refusing to ' +
25
+ 'downgrade to an unscoped token.');
26
+ }
27
+ const { accessToken } = await this.identity.getScopedAccessToken({
28
+ scopedClaims,
29
+ });
30
+ if (typeof accessToken !== 'string' || accessToken.length === 0) {
31
+ throw new Error('[service-registry-nest] identity bootstrap getScopedAccessToken() ' +
32
+ `returned no token; cannot mint a scoped bearer for "${targetService}".`);
33
+ }
34
+ return accessToken;
35
+ }
20
36
  const token = await this.identity.getAccessToken();
21
37
  if (typeof token !== 'string' || token.length === 0) {
22
38
  throw new Error('[service-registry-nest] identity bootstrap getAccessToken() ' +
@@ -1 +1 @@
1
- {"version":3,"file":"identity-backed-service-token-provider.js","sourceRoot":"","sources":["../../src/lib/identity-backed-service-token-provider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AA+CrC,IAAM,kCAAkC,GAAxC,MAAM,kCAAkC;IAGT;IAApC,YAAoC,QAA6B;QAA7B,aAAQ,GAAR,QAAQ,CAAqB;IAAG,CAAC;IAE9D,KAAK,CAAC,QAAQ,CAAC,aAAqB;QACzC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CACb,8DAA8D;gBAC5D,wDAAwD,aAAa,KAAK;gBAC1E,iEAAiE;gBACjE,0CAA0C,CAC7C,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AAjBY,gFAAkC;6CAAlC,kCAAkC;IAD9C,IAAA,mBAAU,GAAE;;GACA,kCAAkC,CAiB9C"}
1
+ {"version":3,"file":"identity-backed-service-token-provider.js","sourceRoot":"","sources":["../../src/lib/identity-backed-service-token-provider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AA0DrC,IAAM,kCAAkC,GAAxC,MAAM,kCAAkC;IAGT;IAApC,YAAoC,QAA6B;QAA7B,aAAQ,GAAR,QAAQ,CAAqB;IAAG,CAAC;IAE9D,KAAK,CAAC,QAAQ,CACnB,aAAqB,EACrB,YAAqC;QAErC,IAAI,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAEzD,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,oBAAoB,KAAK,UAAU,EAAE,CAAC;gBAC7D,MAAM,IAAI,KAAK,CACb,2DAA2D;oBACzD,IAAI,aAAa,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY;oBACvE,uEAAuE;oBACvE,iCAAiC,CACpC,CAAC;YACJ,CAAC;YACD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC;gBAC/D,YAAY;aACb,CAAC,CAAC;YACH,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChE,MAAM,IAAI,KAAK,CACb,oEAAoE;oBAClE,uDAAuD,aAAa,IAAI,CAC3E,CAAC;YACJ,CAAC;YACD,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CACb,8DAA8D;gBAC5D,wDAAwD,aAAa,KAAK;gBAC1E,iEAAiE;gBACjE,0CAA0C,CAC7C,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AA1CY,gFAAkC;6CAAlC,kCAAkC;IAD9C,IAAA,mBAAU,GAAE;;GACA,kCAAkC,CA0C9C"}
@@ -1,8 +1,8 @@
1
1
  export interface ServiceTokenProvider {
2
- getToken(targetService: string): Promise<string>;
2
+ getToken(targetService: string, scopedClaims?: Record<string, string>): Promise<string>;
3
3
  }
4
4
  export declare const SERVICE_TOKEN_ENV_VAR: "XEMA_SERVICE_TOKEN";
5
5
  export declare class EnvServiceTokenProvider implements ServiceTokenProvider {
6
- getToken(targetService: string): Promise<string>;
6
+ getToken(targetService: string, scopedClaims?: Record<string, string>): Promise<string>;
7
7
  }
8
8
  //# sourceMappingURL=service-token-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service-token-provider.d.ts","sourceRoot":"","sources":["../../src/lib/service-token-provider.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,oBAAoB;IAMnC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAClD;AAWD,eAAO,MAAM,qBAAqB,EAAG,oBAA6B,CAAC;AAWnE,qBAAa,uBAAwB,YAAW,oBAAoB;IACrD,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAU9D"}
1
+ {"version":3,"file":"service-token-provider.d.ts","sourceRoot":"","sources":["../../src/lib/service-token-provider.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,oBAAoB;IAWnC,QAAQ,CACN,aAAa,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,OAAO,CAAC,MAAM,CAAC,CAAC;CACpB;AAWD,eAAO,MAAM,qBAAqB,EAAG,oBAA6B,CAAC;AAWnE,qBAAa,uBAAwB,YAAW,oBAAoB;IACrD,QAAQ,CACnB,aAAa,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,OAAO,CAAC,MAAM,CAAC;CAoBnB"}
@@ -3,7 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EnvServiceTokenProvider = exports.SERVICE_TOKEN_ENV_VAR = void 0;
4
4
  exports.SERVICE_TOKEN_ENV_VAR = 'XEMA_SERVICE_TOKEN';
5
5
  class EnvServiceTokenProvider {
6
- async getToken(targetService) {
6
+ async getToken(targetService, scopedClaims) {
7
+ if (scopedClaims && Object.keys(scopedClaims).length > 0) {
8
+ throw new Error(`[service-registry-nest] ${exports.SERVICE_TOKEN_ENV_VAR} provider cannot mint ` +
9
+ `scoped claims (${Object.keys(scopedClaims).join(', ')}) for ` +
10
+ `"${targetService}"; wire an identity-backed ServiceTokenProvider.`);
11
+ }
7
12
  const token = process.env[exports.SERVICE_TOKEN_ENV_VAR];
8
13
  if (typeof token !== 'string' || token.length === 0) {
9
14
  throw new Error(`[service-registry-nest] ${exports.SERVICE_TOKEN_ENV_VAR} is not set; ` +
@@ -1 +1 @@
1
- {"version":3,"file":"service-token-provider.js","sourceRoot":"","sources":["../../src/lib/service-token-provider.ts"],"names":[],"mappings":";;;AA4Ba,QAAA,qBAAqB,GAAG,oBAA6B,CAAC;AAWnE,MAAa,uBAAuB;IAC3B,KAAK,CAAC,QAAQ,CAAC,aAAqB;QACzC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,6BAAqB,CAAC,CAAC;QACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CACb,2BAA2B,6BAAqB,eAAe;gBAC7D,mCAAmC,aAAa,IAAI,CACvD,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAXD,0DAWC"}
1
+ {"version":3,"file":"service-token-provider.js","sourceRoot":"","sources":["../../src/lib/service-token-provider.ts"],"names":[],"mappings":";;;AAoCa,QAAA,qBAAqB,GAAG,oBAA6B,CAAC;AAWnE,MAAa,uBAAuB;IAC3B,KAAK,CAAC,QAAQ,CACnB,aAAqB,EACrB,YAAqC;QAKrC,IAAI,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CACb,2BAA2B,6BAAqB,wBAAwB;gBACtE,kBAAkB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAC9D,IAAI,aAAa,kDAAkD,CACtE,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,6BAAqB,CAAC,CAAC;QACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CACb,2BAA2B,6BAAqB,eAAe;gBAC7D,mCAAmC,aAAa,IAAI,CACvD,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAxBD,0DAwBC"}
@@ -12,15 +12,18 @@ export interface TypedServiceClientOptions {
12
12
  readonly registry: ServiceRegistry;
13
13
  readonly tokenProvider: ServiceTokenProvider;
14
14
  }
15
+ export type ScopedRequestInit = RequestInit & {
16
+ scopedClaims?: Record<string, string>;
17
+ };
15
18
  export declare class TypedServiceClient {
16
19
  private readonly opts;
17
20
  constructor(opts: TypedServiceClientOptions);
18
21
  get<T>(path: string, init?: RequestInit): Promise<T>;
19
- post<TResponse, TBody = unknown>(path: string, body: TBody, init?: RequestInit): Promise<TResponse>;
20
- put<TResponse, TBody = unknown>(path: string, body: TBody, init?: RequestInit): Promise<TResponse>;
21
- patch<TResponse, TBody = unknown>(path: string, body: TBody, init?: RequestInit): Promise<TResponse>;
22
+ post<TResponse, TBody = unknown>(path: string, body: TBody, init?: ScopedRequestInit): Promise<TResponse>;
23
+ put<TResponse, TBody = unknown>(path: string, body: TBody, init?: ScopedRequestInit): Promise<TResponse>;
24
+ patch<TResponse, TBody = unknown>(path: string, body: TBody, init?: ScopedRequestInit): Promise<TResponse>;
22
25
  delete<T>(path: string, init?: RequestInit): Promise<T>;
23
- request<T>(method: TypedServiceClientMethod, path: string, init?: RequestInit): Promise<T>;
26
+ request<T>(method: TypedServiceClientMethod, path: string, init?: ScopedRequestInit): Promise<T>;
24
27
  private requestWithBody;
25
28
  }
26
29
  //# sourceMappingURL=typed-service-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typed-service-client.d.ts","sourceRoot":"","sources":["../../src/lib/typed-service-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,2CAA2C,CAAC;AAMnD,oBAAY,wBAAwB;IAClC,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAiBD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC;CAC9C;AAkBD,qBAAa,kBAAkB;IACV,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,yBAAyB;IAE5D,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;IAIpD,IAAI,CAAC,SAAS,EAAE,KAAK,GAAG,OAAO,EACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,KAAK,EACX,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,SAAS,CAAC;IASd,GAAG,CAAC,SAAS,EAAE,KAAK,GAAG,OAAO,EACnC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,KAAK,EACX,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,SAAS,CAAC;IASd,KAAK,CAAC,SAAS,EAAE,KAAK,GAAG,OAAO,EACrC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,KAAK,EACX,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,SAAS,CAAC;IASd,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjD,OAAO,CAAC,CAAC,EACpB,MAAM,EAAE,wBAAwB,EAChC,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,CAAC,CAAC;IA2Cb,OAAO,CAAC,eAAe;CAgBxB"}
1
+ {"version":3,"file":"typed-service-client.d.ts","sourceRoot":"","sources":["../../src/lib/typed-service-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,2CAA2C,CAAC;AAMnD,oBAAY,wBAAwB;IAClC,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAiBD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC;CAC9C;AAQD,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC,CAAC;AAkBF,qBAAa,kBAAkB;IACV,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,yBAAyB;IAE5D,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;IAIpD,IAAI,CAAC,SAAS,EAAE,KAAK,GAAG,OAAO,EACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,KAAK,EACX,IAAI,CAAC,EAAE,iBAAiB,GACvB,OAAO,CAAC,SAAS,CAAC;IASd,GAAG,CAAC,SAAS,EAAE,KAAK,GAAG,OAAO,EACnC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,KAAK,EACX,IAAI,CAAC,EAAE,iBAAiB,GACvB,OAAO,CAAC,SAAS,CAAC;IASd,KAAK,CAAC,SAAS,EAAE,KAAK,GAAG,OAAO,EACrC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,KAAK,EACX,IAAI,CAAC,EAAE,iBAAiB,GACvB,OAAO,CAAC,SAAS,CAAC;IASd,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjD,OAAO,CAAC,CAAC,EACpB,MAAM,EAAE,wBAAwB,EAChC,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,iBAAiB,GACvB,OAAO,CAAC,CAAC,CAAC;IAiDb,OAAO,CAAC,eAAe;CAgBxB"}
@@ -34,11 +34,12 @@ class TypedServiceClient {
34
34
  return this.request(TypedServiceClientMethod.Delete, path, init);
35
35
  }
36
36
  async request(method, path, init) {
37
+ const { scopedClaims, ...requestInit } = init ?? {};
37
38
  const resolved = await this.opts.registry.resolve(this.opts.serviceName);
38
39
  const baseUrl = pickHttpEndpoint(resolved);
39
- const token = await this.opts.tokenProvider.getToken(this.opts.serviceName);
40
+ const token = await this.opts.tokenProvider.getToken(this.opts.serviceName, scopedClaims);
40
41
  const url = joinUrl(baseUrl, path);
41
- const headers = new Headers(init?.headers);
42
+ const headers = new Headers(requestInit.headers);
42
43
  headers.set('Authorization', `Bearer ${token}`);
43
44
  if (!headers.has('Accept')) {
44
45
  headers.set('Accept', 'application/json');
@@ -46,7 +47,7 @@ class TypedServiceClient {
46
47
  let lastError;
47
48
  for (let attempt = 1; attempt <= MAX_RETRY_ATTEMPTS; attempt += 1) {
48
49
  try {
49
- const response = await fetch(url, { ...init, method, headers });
50
+ const response = await fetch(url, { ...requestInit, method, headers });
50
51
  if (response.ok) {
51
52
  return (await parseResponse(response));
52
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"typed-service-client.js","sourceRoot":"","sources":["../../src/lib/typed-service-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typed-service-client.js","sourceRoot":"","sources":["../../src/lib/typed-service-client.ts"],"names":[],"mappings":";;;AAAA,2EAAsE;AAEtE,gFAKmD;AAMnD,IAAY,wBAMX;AAND,WAAY,wBAAwB;IAClC,uCAAW,CAAA;IACX,yCAAa,CAAA;IACb,uCAAW,CAAA;IACX,2CAAe,CAAA;IACf,6CAAiB,CAAA;AACnB,CAAC,EANW,wBAAwB,wCAAxB,wBAAwB,QAMnC;AAOD,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAQ7B,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAkChC,MAAa,kBAAkB;IACO;IAApC,YAAoC,IAA+B;QAA/B,SAAI,GAAJ,IAAI,CAA2B;IAAG,CAAC;IAEhE,GAAG,CAAI,IAAY,EAAE,IAAkB;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAI,wBAAwB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAEM,IAAI,CACT,IAAY,EACZ,IAAW,EACX,IAAwB;QAExB,OAAO,IAAI,CAAC,eAAe,CACzB,wBAAwB,CAAC,IAAI,EAC7B,IAAI,EACJ,IAAI,EACJ,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,GAAG,CACR,IAAY,EACZ,IAAW,EACX,IAAwB;QAExB,OAAO,IAAI,CAAC,eAAe,CACzB,wBAAwB,CAAC,GAAG,EAC5B,IAAI,EACJ,IAAI,EACJ,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,KAAK,CACV,IAAY,EACZ,IAAW,EACX,IAAwB;QAExB,OAAO,IAAI,CAAC,eAAe,CACzB,wBAAwB,CAAC,KAAK,EAC9B,IAAI,EACJ,IAAI,EACJ,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAI,IAAY,EAAE,IAAkB;QAC/C,OAAO,IAAI,CAAC,OAAO,CAAI,wBAAwB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;IAEM,KAAK,CAAC,OAAO,CAClB,MAAgC,EAChC,IAAY,EACZ,IAAwB;QAGxB,MAAM,EAAE,YAAY,EAAE,GAAG,WAAW,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;QAEpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAClD,IAAI,CAAC,IAAI,CAAC,WAAW,EACrB,YAAY,CACb,CAAC;QACF,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEnC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,SAAkB,CAAC;QACvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,kBAAkB,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;gBACvE,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;oBAChB,OAAO,CAAC,MAAM,aAAa,CAAI,QAAQ,CAAC,CAAM,CAAC;gBACjD,CAAC;gBAED,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;oBACpD,MAAM,IAAI,KAAK,CACb,2BAA2B,MAAM,IAAI,GAAG,aAAa,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAC9F,CAAC;gBACJ,CAAC;gBAED,SAAS,GAAG,IAAI,KAAK,CACnB,2BAA2B,MAAM,IAAI,GAAG,aAAa,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAC9F,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,SAAS,GAAG,GAAG,CAAC;YAClB,CAAC;YACD,IAAI,OAAO,GAAG,kBAAkB,EAAE,CAAC;gBACjC,MAAM,KAAK,CAAC,mBAAmB,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QACD,MAAM,SAAS,YAAY,KAAK;YAC9B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,KAAK,CACP,2BAA2B,MAAM,IAAI,GAAG,iBAAiB,kBAAkB,YAAY,CACxF,CAAC;IACR,CAAC;IAEO,eAAe,CACrB,MAAgC,EAChC,IAAY,EACZ,IAAW,EACX,IAAwB;QAExB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAY,MAAM,EAAE,IAAI,EAAE;YAC3C,GAAG,IAAI;YACP,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;IACL,CAAC;CACF;AAvHD,gDAuHC;AAED,SAAS,gBAAgB,CAAC,QAAyB;IACjD,MAAM,QAAQ,GAAgC,QAAQ,CAAC,SAAS,CAAC,IAAI,CACnE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,0CAAuB,CAAC,IAAI,CACnD,CAAC;IACF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,mDAAuB,CAC/B,QAAQ,CAAC,IAAI,EACb,YAAY,QAAQ,CAAC,IAAI,eAAe,QAAQ,CAAC,UAAU,8BAA8B;YACvF,wBAAwB,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAClF,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC;AACtB,CAAC;AAED,SAAS,OAAO,CAAC,OAAe,EAAE,IAAY;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACpE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IACxD,OAAO,GAAG,IAAI,GAAG,MAAM,EAAE,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,aAAa,CAAI,QAAkB;IAChD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC/D,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;IACtC,CAAC;IACD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAiB,CAAC;AACjD,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xemahq/service-registry-nest",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "NestJS runtime SDK for the Xema OS Service Registry (Phase B.2). Provides `ServiceRegistryModule.forRootAsync()` — registers the host service's `ServiceDescriptor` against KernelState at boot, renews the lease on a heartbeat, removes the entry on shutdown, and exposes the `@InjectService(name)` decorator that hands consumers a typed HTTP client whose base URL is resolved dynamically from the registry on every call. The SDK is adapter-agnostic; the `KernelState` instance is injected via a factory so the same code runs against a SQLite-backed dev adapter and an etcd-backed cluster adapter.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/",
@@ -21,7 +21,7 @@
21
21
  "reflect-metadata": "0.2.2",
22
22
  "ts-jest": "^29.4.9",
23
23
  "typescript": "5.9.3",
24
- "@xemahq/kernel-contracts": "^0.14.0"
24
+ "@xemahq/kernel-contracts": "^0.22.3"
25
25
  },
26
26
  "peerDependencies": {
27
27
  "@nestjs/common": "^10 || ^11",