@telia-ace/alliance-internal-node-utilities 4.0.0-next.6 → 4.0.0-next.8

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
@@ -147,7 +147,8 @@ declare enum AllianceHeaders {
147
147
  TargetApp = "alliance-target-app",
148
148
  TargetWorkspace = "alliance-target-workspace",
149
149
  TargetOrganization = "alliance-target-organization",
150
- TargetProxy = "alliance-target-proxy"
150
+ TargetProxy = "alliance-target-proxy",
151
+ Language = "alliance-language"
151
152
  }
152
153
 
153
154
  declare function createIndexHtml(apps: AppImportInfo[]): string;
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { createRequire as c__createRequire } from 'node:module';
2
2
  const require = c__createRequire(import.meta.url);
3
- import{a as C,f as ce,g as le,h as P,i as ge}from"./chunk-FUASCPVV.js";import"./chunk-COPUUGH4.js";import{createPublicKey as fe}from"crypto";import pe from"jsonwebtoken";var me=C.enum(["true","false"]).transform(e=>e==="true"),I=C.string().min(1),K=C.object({AUTH_COOKIE_NAME:I.default("alliance-auth"),AUTH_COOKIE_SECRET:I.default("zlLZBlk7wt8lypP5lA4D"),DB_ENDPOINT:I,JWT_PRIVATE_KEY:I.default("MIIEogIBAAKCAQEAsGqOzjnfQtCYlDqhgGAnKuJOCiPt2WpCmL1Cs+SLBQlyoNn6LT8BJ6ZRj8t/vK8Sw0p51Uq/3k0tazh7bLGkWNMBLY3BqFiNRMMnCqHJfvGIUi/itNXNe2kbP7H3rbyQTu4O7yH/ZAMitdpF2KLucVRlFxrQ/ggZjxwEGso4JUnCwmAnoKct/uupKz9Y2PMTr00WWN79aPfD4LcKi570VJqBT3ISSucdwFLYNqnOkQnEa8O8xbthQhiI0k1GGJT+GCQcATUPeEbaCFXonOrJm+CyuMmQWYLFF3NbE5NllU1jz9PYHzp2hAgAx8WGeretTvpEA1dE2gvXNESGbQ8FxQIDAQABAoIBAAjTJmud1348eGAfLV8CRaij2MAxxenJ9/ozVXfcPIa2+fCelsuBSv8pwbYODvNoVT7xpcs2nwccGI6JgnBl09EhqlMWCT7w7GLT2aBy3A/T6JF76xJICQGzDfWPYygMtlyhv0YqZDUjjFlJHun+/ysqIUMY81AR0FLUAEc6yw41ChcdSvTgIqBM9f5PsBRK7zOgdW1vcVQiZbf2Vqr+7wTJ+6b9A4rWnnAqesGDXqYupx3UJEu3x0wRNQB8FeiG9iJrw4cyD9SmM95doTyKosQ2PWWnUO1NMgmWCR/mWcKZAUcfZUpnQ8rz75WAWept8ZIOOdha8UZ1B/kw3EsVdEECgYEA3iN0BRUqMN0J69bazvlNOWtI+Chc1lYMt/tZ4p78pIJpAZvc3rQ9lAp6JvOEno2IglULA4I+ZLUmpz+lfu7XxKMNOI3cnG7WdiGbiIlwOSwuxzeO1FJqhtnc0U6mNkIjptV8b2etj8U2/SXAC3CC8XgsawAj9A/I7awlCL3NXdECgYEAy07gun3rcd3Y0ISmd3+SbAn/MbGf8uRLcfSc2ls9B6m3pXj25prXJWIrB6DyGuL/HQmHzffQkOeXmwFGHFXyiIFOIITX4z8b9lMnavgUZoPDY+ZFsxp6I7vMn75AetB8wYXpOFFeCG/Ck/VSIYP7oAN8kLw8EHdOuNbZYbu34bUCgYBYd14ZOBiZZS4yUlrJ2tc6atOgoNJ4OcTO8LcXXaHYEmenUF9iAf4UGygSoyDJ1CvtW9kLCK+4g7xlFx/dsVkU4qq9PyIA2tNmMHQ0qCedXU8z35huTnRGSDV81gmzyhtQsezgoTWp8Cy6HHKjG6fKasWlx2SKKk8m+Eu3c396QQKBgBMY2asq4M7VU+RiUXCwHwTe+4Wjda7PGvcdTw6Du3vYyVNVxXtr2AG+8uPIjnVQFT6ZApSqToEOAAOjXv6SZDHGU5xiXhUOfIXq0a0OmHv4rIXZv3pPZmGs5k+rA0uGAfH7riiIHBkWxmQ3ivty9lPVgAHobIvvaQmbxNeVVnRxAoGAUzUmcBiUAiODfjulrpYvWG0tCn5B//yk7g1Tm3Chrh9huA1qGEN3jDoqSsTd5k4Yi5foyAZt5ORgoiUVm4IsfS56aoxIco1CtFG3zeMQRy4uKzTsvUTOdsJ4RlQdjNwpngXR44VL0WelgCDqTqJwn5ubzPvuIHuTj3cBpmJCjOo="),JWT_PUBLIC_CSP_KEY:C.string().min(1).default("BgIAAACkAABSU0ExAAgAAAEAAQDFBQ9thkQ01wvaRFcDRPpOrbd6hsXHAAiEdjof2NPPY02VZZMTW3MXxYJZkMm4suCbyeqc6FUI2kZ4DzUBHCQY/pQYRk3SiBhCYbvFvMNrxAmRzqk22FLAHedKEnJPgZpU9J6LCrfgw/do/d5YFk2vE/PYWD8rqev+LaegJ2DCwkklOMoaBByPGQj+0BoXZVRx7qLYRdq1IgNk/yHvDu5OkLyt97E/G2l7zdW04i9SiPF+yaEKJ8NEjViowY0tAdNYpLFsezhrLU3ev0rVeUrDEq+8f8uPUaYnAT8t+tmgcgkFi+SzQr2YQmrZ7SMKTuIqJ2CAoTqUmNBC3znOjmqw"),SERVICE_LOG_LEVEL:C.enum(["silent","fatal","error","warn","info","debug","trace"]).default("trace"),SERVICE_PORT:I.transform(Number).default("3000"),REDIS_HOST:I,REDIS_PASSWORD:I.optional()});var S=(c=>(c.TargetUrl="alliance-target-url",c.TargetApp="alliance-target-app",c.TargetWorkspace="alliance-target-workspace",c.TargetOrganization="alliance-target-organization",c.TargetProxy="alliance-target-proxy",c))(S||{});var Xe=K.pick({JWT_PRIVATE_KEY:!0,JWT_PUBLIC_CSP_KEY:!0});function de({privateKey:e,audience:t,user:n,workspace:u,organization:g,expiration:c="1h"}){return`Bearer ${pe.sign({iss:"Alliance",aud:t,sub:n.id,firstName:n.firstName,lastName:n.lastName,accessToken:n.accessToken,email:n.email,permissions:n.permissions,workspace:u.slug,organization:g.slug,workspaceName:u.name},e,{expiresIn:c,algorithm:"RS256"})}`}function V(e){return`-----BEGIN RSA PRIVATE KEY-----
3
+ import{a as C,f as ce,g as ge,h as P,i as le}from"./chunk-FUASCPVV.js";import"./chunk-COPUUGH4.js";import{createPublicKey as fe}from"crypto";import pe from"jsonwebtoken";var me=C.enum(["true","false"]).transform(e=>e==="true"),I=C.string().min(1),K=C.object({AUTH_COOKIE_NAME:I.default("alliance-auth"),AUTH_COOKIE_SECRET:I.default("zlLZBlk7wt8lypP5lA4D"),DB_ENDPOINT:I,JWT_PRIVATE_KEY:I.default("MIIEogIBAAKCAQEAsGqOzjnfQtCYlDqhgGAnKuJOCiPt2WpCmL1Cs+SLBQlyoNn6LT8BJ6ZRj8t/vK8Sw0p51Uq/3k0tazh7bLGkWNMBLY3BqFiNRMMnCqHJfvGIUi/itNXNe2kbP7H3rbyQTu4O7yH/ZAMitdpF2KLucVRlFxrQ/ggZjxwEGso4JUnCwmAnoKct/uupKz9Y2PMTr00WWN79aPfD4LcKi570VJqBT3ISSucdwFLYNqnOkQnEa8O8xbthQhiI0k1GGJT+GCQcATUPeEbaCFXonOrJm+CyuMmQWYLFF3NbE5NllU1jz9PYHzp2hAgAx8WGeretTvpEA1dE2gvXNESGbQ8FxQIDAQABAoIBAAjTJmud1348eGAfLV8CRaij2MAxxenJ9/ozVXfcPIa2+fCelsuBSv8pwbYODvNoVT7xpcs2nwccGI6JgnBl09EhqlMWCT7w7GLT2aBy3A/T6JF76xJICQGzDfWPYygMtlyhv0YqZDUjjFlJHun+/ysqIUMY81AR0FLUAEc6yw41ChcdSvTgIqBM9f5PsBRK7zOgdW1vcVQiZbf2Vqr+7wTJ+6b9A4rWnnAqesGDXqYupx3UJEu3x0wRNQB8FeiG9iJrw4cyD9SmM95doTyKosQ2PWWnUO1NMgmWCR/mWcKZAUcfZUpnQ8rz75WAWept8ZIOOdha8UZ1B/kw3EsVdEECgYEA3iN0BRUqMN0J69bazvlNOWtI+Chc1lYMt/tZ4p78pIJpAZvc3rQ9lAp6JvOEno2IglULA4I+ZLUmpz+lfu7XxKMNOI3cnG7WdiGbiIlwOSwuxzeO1FJqhtnc0U6mNkIjptV8b2etj8U2/SXAC3CC8XgsawAj9A/I7awlCL3NXdECgYEAy07gun3rcd3Y0ISmd3+SbAn/MbGf8uRLcfSc2ls9B6m3pXj25prXJWIrB6DyGuL/HQmHzffQkOeXmwFGHFXyiIFOIITX4z8b9lMnavgUZoPDY+ZFsxp6I7vMn75AetB8wYXpOFFeCG/Ck/VSIYP7oAN8kLw8EHdOuNbZYbu34bUCgYBYd14ZOBiZZS4yUlrJ2tc6atOgoNJ4OcTO8LcXXaHYEmenUF9iAf4UGygSoyDJ1CvtW9kLCK+4g7xlFx/dsVkU4qq9PyIA2tNmMHQ0qCedXU8z35huTnRGSDV81gmzyhtQsezgoTWp8Cy6HHKjG6fKasWlx2SKKk8m+Eu3c396QQKBgBMY2asq4M7VU+RiUXCwHwTe+4Wjda7PGvcdTw6Du3vYyVNVxXtr2AG+8uPIjnVQFT6ZApSqToEOAAOjXv6SZDHGU5xiXhUOfIXq0a0OmHv4rIXZv3pPZmGs5k+rA0uGAfH7riiIHBkWxmQ3ivty9lPVgAHobIvvaQmbxNeVVnRxAoGAUzUmcBiUAiODfjulrpYvWG0tCn5B//yk7g1Tm3Chrh9huA1qGEN3jDoqSsTd5k4Yi5foyAZt5ORgoiUVm4IsfS56aoxIco1CtFG3zeMQRy4uKzTsvUTOdsJ4RlQdjNwpngXR44VL0WelgCDqTqJwn5ubzPvuIHuTj3cBpmJCjOo="),JWT_PUBLIC_CSP_KEY:C.string().min(1).default("BgIAAACkAABSU0ExAAgAAAEAAQDFBQ9thkQ01wvaRFcDRPpOrbd6hsXHAAiEdjof2NPPY02VZZMTW3MXxYJZkMm4suCbyeqc6FUI2kZ4DzUBHCQY/pQYRk3SiBhCYbvFvMNrxAmRzqk22FLAHedKEnJPgZpU9J6LCrfgw/do/d5YFk2vE/PYWD8rqev+LaegJ2DCwkklOMoaBByPGQj+0BoXZVRx7qLYRdq1IgNk/yHvDu5OkLyt97E/G2l7zdW04i9SiPF+yaEKJ8NEjViowY0tAdNYpLFsezhrLU3ev0rVeUrDEq+8f8uPUaYnAT8t+tmgcgkFi+SzQr2YQmrZ7SMKTuIqJ2CAoTqUmNBC3znOjmqw"),SERVICE_LOG_LEVEL:C.enum(["silent","fatal","error","warn","info","debug","trace"]).default("trace"),SERVICE_PORT:I.transform(Number).default("3000"),REDIS_HOST:I,REDIS_PASSWORD:I.optional()});var S=(m=>(m.TargetUrl="alliance-target-url",m.TargetApp="alliance-target-app",m.TargetWorkspace="alliance-target-workspace",m.TargetOrganization="alliance-target-organization",m.TargetProxy="alliance-target-proxy",m.Language="alliance-language",m))(S||{});var Xe=K.pick({JWT_PRIVATE_KEY:!0,JWT_PUBLIC_CSP_KEY:!0});function de({privateKey:e,audience:t,user:n,workspace:u,organization:g,expiration:l="1h"}){return`Bearer ${pe.sign({iss:"Alliance",aud:t,sub:n.id,firstName:n.firstName,lastName:n.lastName,accessToken:n.accessToken,email:n.email,permissions:n.permissions,workspace:u.slug,organization:g.slug,workspaceName:u.name},e,{expiresIn:l,algorithm:"RS256"})}`}function V(e){return`-----BEGIN RSA PRIVATE KEY-----
4
4
  ${e.JWT_PRIVATE_KEY}
5
5
  -----END RSA PRIVATE KEY-----`}function ve(e){let t=V(e),n=fe(t);return{pkcs:n.export({type:"pkcs1",format:"pem"}).toString().trim(),spki:n.export({type:"spki",format:"pem"}).toString().trim(),csp:e.JWT_PUBLIC_CSP_KEY}}function ye(e,t){return t[e].replace("-----BEGIN RSA PUBLIC KEY-----","").replace("-----END RSA PUBLIC KEY-----","").replace("-----BEGIN PUBLIC KEY-----","").replace("-----END PUBLIC KEY-----","").trim().replaceAll(`
6
- `,"")}var W=(i=>(i[i.NoObjectId=10001]="NoObjectId",i[i.NoTargetAppHeader=10002]="NoTargetAppHeader",i[i.NoTargetWorkspaceHeader=10003]="NoTargetWorkspaceHeader",i[i.NoManifest=10006]="NoManifest",i[i.NoRequestContext=10007]="NoRequestContext",i[i.NoUserInRequestContext=10008]="NoUserInRequestContext",i[i.NoAppInRequestContext=10009]="NoAppInRequestContext",i[i.NoWorkspaceInRequestContext=10010]="NoWorkspaceInRequestContext",i[i.NoUserPermissionsInRequestContext=10012]="NoUserPermissionsInRequestContext",i[i.WorkspacePermissionDenied=10013]="WorkspacePermissionDenied",i[i.NoTargetUrlHeader=10014]="NoTargetUrlHeader",i[i.NoSessionInRedisCache=10015]="NoSessionInRedisCache",i[i.ProhibitedTargetDomain=10016]="ProhibitedTargetDomain",i[i.NoOrganizationInRequestContext=10017]="NoOrganizationInRequestContext",i))(W||{}),F=(n=>(n[n.NoPublicKey=11e3]="NoPublicKey",n[n.NoAuthHeader=11001]="NoAuthHeader",n))(F||{});var Y={10001:{statusCode:401,msg:"No object id available on authenticated user."},10002:{statusCode:400,msg:"Request missing header 'alliance-target-app'."},10003:{statusCode:400,msg:"Request missing header 'alliance-target-workspace'."},10014:{statusCode:400,msg:"Request missing header 'alliance-target-url'."},10015:{statusCode:401,msg:"Could not find user session in Redis server."},10006:{statusCode:500,msg:"Could not find manifest for app '{{appSlug}}'."},10007:{statusCode:500,msg:"No request context."},10008:{statusCode:500,msg:"No user in request context."},10009:{statusCode:500,msg:"No app in request context."},10010:{statusCode:500,msg:"No workspace in request context."},10017:{statusCode:500,msg:"No organization in request context."},10012:{statusCode:500,msg:"No user permissions in request context."},10013:{statusCode:403,msg:"User does not have access to the current workspace."},10016:{statusCode:403,msg:"Request prohibited - REQUEST_DOMAIN_WHITE_LIST does not contain '{{domain}}'."},11e3:{statusCode:401,msg:"No public key available to decode JWT."},11001:{statusCode:401,msg:"No authorization header found."},12e3:{statusCode:401,msg:"No object id found in user claims."}};var z=class extends Error{constructor(n,u={}){let{msg:g,statusCode:c}=Y[n],f=he(g,u);super(f);this.errorCode=n;this.message=f,this.statusCode=c,this.info=`https://github.com/telia-company/ace-alliance-sdk/wiki/error-codes#${this.errorCode}`}info;statusCode};function he(e,t){return Object.entries(t).reduce((n,[u,g])=>n.replaceAll(`{{${u}}}`,g),e)}function Ie(e){let t=[e.status,e.statusCode,e.code];for(let n of t)if(typeof n=="number"&&Number.isInteger(n))return n;return 500}function we(e){return(t,n,u,g)=>{let c={cause:t.cause,message:t.message,status:Ie(t),info:t.info};e.error("error when processing request",{url:n.url,body:n.body,error:c}),u.status(c.status).json(c)}}import{homedir as Be,tmpdir as Oe}from"os";import{resolve as qe}from"path";function xe(e){return!e||typeof e.then!="function"?Promise.resolve(e):e}function m(e,...t){try{return xe(e(...t))}catch(n){return Promise.reject(n)}}function Ce(e){let t=typeof e;return e===null||t!=="object"&&t!=="function"}function Ee(e){let t=Object.getPrototypeOf(e);return!t||t.isPrototypeOf(Object)}function R(e){if(Ce(e))return String(e);if(Ee(e)||Array.isArray(e))return JSON.stringify(e);if(typeof e.toJSON=="function")return R(e.toJSON());throw new Error("[unstorage] Cannot stringify value!")}var L="base64:";function _(e){return typeof e=="string"?e:L+Ne(e)}function J(e){return typeof e!="string"||!e.startsWith(L)?e:Ae(e.slice(L.length))}function Ae(e){return globalThis.Buffer?Buffer.from(e,"base64"):Uint8Array.from(globalThis.atob(e),t=>t.codePointAt(0))}function Ne(e){return globalThis.Buffer?Buffer.from(e).toString("base64"):globalThis.btoa(String.fromCodePoint(...e))}var Pe=["has","hasItem","get","getItem","getItemRaw","set","setItem","setItemRaw","del","remove","removeItem","getMeta","setMeta","removeMeta","getKeys","clear","mount","unmount"];function k(e,t){if(t=E(t),!t)return e;let n={...e};for(let u of Pe)n[u]=(g="",...c)=>e[u](t+g,...c);return n.getKeys=(u="",...g)=>e.getKeys(t+u,...g).then(c=>c.map(f=>f.slice(t.length))),n.getItems=async(u,g)=>{let c=u.map(d=>typeof d=="string"?t+d:{...d,key:t+d.key});return(await e.getItems(c,g)).map(d=>({key:d.key.slice(t.length),value:d.value}))},n.setItems=async(u,g)=>{let c=u.map(f=>({key:t+f.key,value:f.value,options:f.options}));return e.setItems(c,g)},n}function p(e){return e&&e.split("?")[0]?.replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,"")||""}function H(...e){return p(e.join(":"))}function E(e){return e=p(e),e?e+":":""}function Q(e,t){if(t===void 0)return!0;let n=0,u=e.indexOf(":");for(;u>-1;)n++,u=e.indexOf(":",u+1);return n<=t}function G(e,t){return t?e.startsWith(t)&&e[e.length-1]!=="$":e[e.length-1]!=="$"}var Re="memory",Te=()=>{let e=new Map;return{name:Re,getInstance:()=>e,hasItem(t){return e.has(t)},getItem(t){return e.get(t)??null},getItemRaw(t){return e.get(t)??null},setItem(t,n){e.set(t,n)},setItemRaw(t,n){e.set(t,n)},removeItem(t){e.delete(t)},getKeys(){return[...e.keys()]},clear(){e.clear()},dispose(){e.clear()}}};function $(e={}){let t={mounts:{"":e.driver||Te()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},n=r=>{for(let o of t.mountpoints)if(r.startsWith(o))return{base:o,relativeKey:r.slice(o.length),driver:t.mounts[o]};return{base:"",relativeKey:r,driver:t.mounts[""]}},u=(r,o)=>t.mountpoints.filter(s=>s.startsWith(r)||o&&r.startsWith(s)).map(s=>({relativeBase:r.length>s.length?r.slice(s.length):void 0,mountpoint:s,driver:t.mounts[s]})),g=(r,o)=>{if(t.watching){o=p(o);for(let s of t.watchListeners)s(r,o)}},c=async()=>{if(!t.watching){t.watching=!0;for(let r in t.mounts)t.unwatch[r]=await Z(t.mounts[r],g,r)}},f=async()=>{if(t.watching){for(let r in t.unwatch)await t.unwatch[r]();t.unwatch={},t.watching=!1}},d=(r,o,s)=>{let a=new Map,l=i=>{let y=a.get(i.base);return y||(y={driver:i.driver,base:i.base,items:[]},a.set(i.base,y)),y};for(let i of r){let y=typeof i=="string",h=p(y?i:i.key),b=y?void 0:i.value,A=y||!i.options?o:{...o,...i.options},N=n(h);l(N).items.push({key:h,value:b,relativeKey:N.relativeKey,options:A})}return Promise.all([...a.values()].map(i=>s(i))).then(i=>i.flat())},v={hasItem(r,o={}){r=p(r);let{relativeKey:s,driver:a}=n(r);return m(a.hasItem,s,o)},getItem(r,o={}){r=p(r);let{relativeKey:s,driver:a}=n(r);return m(a.getItem,s,o).then(l=>P(l))},getItems(r,o={}){return d(r,o,s=>s.driver.getItems?m(s.driver.getItems,s.items.map(a=>({key:a.relativeKey,options:a.options})),o).then(a=>a.map(l=>({key:H(s.base,l.key),value:P(l.value)}))):Promise.all(s.items.map(a=>m(s.driver.getItem,a.relativeKey,a.options).then(l=>({key:a.key,value:P(l)})))))},getItemRaw(r,o={}){r=p(r);let{relativeKey:s,driver:a}=n(r);return a.getItemRaw?m(a.getItemRaw,s,o):m(a.getItem,s,o).then(l=>J(l))},async setItem(r,o,s={}){if(o===void 0)return v.removeItem(r);r=p(r);let{relativeKey:a,driver:l}=n(r);l.setItem&&(await m(l.setItem,a,R(o),s),l.watch||g("update",r))},async setItems(r,o){await d(r,o,async s=>{if(s.driver.setItems)return m(s.driver.setItems,s.items.map(a=>({key:a.relativeKey,value:R(a.value),options:a.options})),o);s.driver.setItem&&await Promise.all(s.items.map(a=>m(s.driver.setItem,a.relativeKey,R(a.value),a.options)))})},async setItemRaw(r,o,s={}){if(o===void 0)return v.removeItem(r,s);r=p(r);let{relativeKey:a,driver:l}=n(r);if(l.setItemRaw)await m(l.setItemRaw,a,o,s);else if(l.setItem)await m(l.setItem,a,_(o),s);else return;l.watch||g("update",r)},async removeItem(r,o={}){typeof o=="boolean"&&(o={removeMeta:o}),r=p(r);let{relativeKey:s,driver:a}=n(r);a.removeItem&&(await m(a.removeItem,s,o),(o.removeMeta||o.removeMata)&&await m(a.removeItem,s+"$",o),a.watch||g("remove",r))},async getMeta(r,o={}){typeof o=="boolean"&&(o={nativeOnly:o}),r=p(r);let{relativeKey:s,driver:a}=n(r),l=Object.create(null);if(a.getMeta&&Object.assign(l,await m(a.getMeta,s,o)),!o.nativeOnly){let i=await m(a.getItem,s+"$",o).then(y=>P(y));i&&typeof i=="object"&&(typeof i.atime=="string"&&(i.atime=new Date(i.atime)),typeof i.mtime=="string"&&(i.mtime=new Date(i.mtime)),Object.assign(l,i))}return l},setMeta(r,o,s={}){return this.setItem(r+"$",o,s)},removeMeta(r,o={}){return this.removeItem(r+"$",o)},async getKeys(r,o={}){r=E(r);let s=u(r,!0),a=[],l=[],i=!0;for(let h of s){h.driver.flags?.maxDepth||(i=!1);let b=await m(h.driver.getKeys,h.relativeBase,o);for(let A of b){let N=h.mountpoint+p(A);a.some(ue=>N.startsWith(ue))||l.push(N)}a=[h.mountpoint,...a.filter(A=>!A.startsWith(h.mountpoint))]}let y=o.maxDepth!==void 0&&!i;return l.filter(h=>(!y||Q(h,o.maxDepth))&&G(h,r))},async clear(r,o={}){r=E(r),await Promise.all(u(r,!1).map(async s=>{if(s.driver.clear)return m(s.driver.clear,s.relativeBase,o);if(s.driver.removeItem){let a=await s.driver.getKeys(s.relativeBase||"",o);return Promise.all(a.map(l=>s.driver.removeItem(l,o)))}}))},async dispose(){await Promise.all(Object.values(t.mounts).map(r=>X(r)))},async watch(r){return await c(),t.watchListeners.push(r),async()=>{t.watchListeners=t.watchListeners.filter(o=>o!==r),t.watchListeners.length===0&&await f()}},async unwatch(){t.watchListeners=[],await f()},mount(r,o){if(r=E(r),r&&t.mounts[r])throw new Error(`already mounted at ${r}`);return r&&(t.mountpoints.push(r),t.mountpoints.sort((s,a)=>a.length-s.length)),t.mounts[r]=o,t.watching&&Promise.resolve(Z(o,g,r)).then(s=>{t.unwatch[r]=s}).catch(console.error),v},async unmount(r,o=!0){r=E(r),!(!r||!t.mounts[r])&&(t.watching&&r in t.unwatch&&(t.unwatch[r]?.(),delete t.unwatch[r]),o&&await X(t.mounts[r]),t.mountpoints=t.mountpoints.filter(s=>s!==r),delete t.mounts[r])},getMount(r=""){r=p(r)+":";let o=n(r);return{driver:o.driver,base:o.base}},getMounts(r="",o={}){return r=p(r),u(r,o.parents).map(a=>({driver:a.driver,base:a.mountpoint}))},keys:(r,o={})=>v.getKeys(r,o),get:(r,o={})=>v.getItem(r,o),set:(r,o,s={})=>v.setItem(r,o,s),has:(r,o={})=>v.hasItem(r,o),del:(r,o={})=>v.removeItem(r,o),remove:(r,o={})=>v.removeItem(r,o)};return v}function Z(e,t,n){return e.watch?e.watch((u,g)=>t(u,n+g)):()=>{}}async function X(e){typeof e.dispose=="function"&&await m(e.dispose)}import{existsSync as Ke,promises as Se}from"fs";import{resolve as ze,join as Le}from"path";function T(e,t,n){let u=new Error(`[unstorage] [${e}] ${t}`,n);return Error.captureStackTrace&&Error.captureStackTrace(u,T),u}function ee(e,t){return Array.isArray(t)?T(e,`Missing some of the required options ${t.map(n=>"`"+n+"`").join(", ")}`):T(e,`Missing required option \`${t}\`.`)}import{existsSync as be,promises as w}from"fs";import{resolve as re,dirname as ne}from"path";function B(e){return e.code==="ENOENT"||e.code==="EISDIR"?null:e}function te(e){return e.code==="EEXIST"?null:e}async function O(e,t,n){return await ie(ne(e)),w.writeFile(e,t,n)}function q(e,t){return w.readFile(e,t).catch(B)}function oe(e){return w.unlink(e).catch(B)}function se(e){return w.readdir(e,{withFileTypes:!0}).catch(B).then(t=>t||[])}async function ie(e){be(e)||(await ie(ne(e)).catch(te),await w.mkdir(e).catch(te))}async function U(e,t,n){if(t&&t(e))return[];let u=await se(e),g=[];return await Promise.all(u.map(async c=>{let f=re(e,c.name);if(c.isDirectory()){if(n===void 0||n>0){let d=await U(f,t,n===void 0?void 0:n-1);g.push(...d.map(v=>c.name+"/"+v))}}else t&&t(c.name)||g.push(c.name)})),g}async function M(e){let t=await se(e);await Promise.all(t.map(n=>{let u=re(e,n.name);return n.isDirectory()?M(u).then(()=>w.rmdir(u)):w.unlink(u)}))}var ke=/\.\.:|\.\.$/,j="fs-lite",ae=(e={})=>{if(!e.base)throw ee(j,"base");e.base=ze(e.base);let t=n=>{if(ke.test(n))throw T(j,`Invalid key: ${JSON.stringify(n)}. It should not contain .. segments`);return Le(e.base,n.replace(/:/g,"/"))};return{name:j,options:e,flags:{maxDepth:!0},hasItem(n){return Ke(t(n))},getItem(n){return q(t(n),"utf8")},getItemRaw(n){return q(t(n))},async getMeta(n){let{atime:u,mtime:g,size:c,birthtime:f,ctime:d}=await Se.stat(t(n)).catch(()=>({}));return{atime:u,mtime:g,size:c,birthtime:f,ctime:d}},setItem(n,u){if(!e.readOnly)return O(t(n),u,"utf8")},setItemRaw(n,u){if(!e.readOnly)return O(t(n),u)},removeItem(n){if(!e.readOnly)return oe(t(n))},getKeys(n,u){return U(t("."),e.ignore,u?.maxDepth)},async clear(){e.readOnly||e.noClear||await M(t("."))}}};function Ue({prefix:e,logger:t}){return k($({driver:ae({base:Me({logger:t})})}),e)}function Me({logger:e}){let t="";try{t=Be()}catch(n){e.error("could not use homedir, trying tmpdir",{error:n?.message})}if(!t)try{t=Oe()}catch(n){e.error("could not use tmpdir, trying process.cwd",{error:n?.message})}if(!t)try{t=process.cwd()}catch(n){e.error("could not use process.cwd, exiting",{error:n?.message}),process.exit(1)}return qe(t,".alliance")}import je from"pino";function x(e){return t=>(n,u)=>e[t]({...u,msg:n})}function De(e){return D(e,{target:"pino-pretty",options:{colorize:!0,ignore:"time,pid,hostname",messageFormat:"{msg}"}})}function D(e,t){let n=je({level:e.SERVICE_LOG_LEVEL,redact:["authorization","headers.authorization","req.headers.authorization","res.headers.authorization","req.headers.cookie",'res.headers["set-cookie"]'],transport:t});return{fatal:x(n)("fatal"),error:x(n)("error"),warn:x(n)("warn"),info:x(n)("info"),debug:x(n)("debug"),trace:x(n)("trace"),silent:x(n)("silent"),child:()=>D(e),level:e.SERVICE_LOG_LEVEL}}function Ve(e){return(t,n,u)=>(e.trace("received request",{url:t.url,params:t.params,query:t.query,body:t.body}),u())}export{z as AllianceError,S as AllianceHeaders,F as DataErrorCode,W as GatewayErrorCode,de as createBearerToken,Ue as createFileStorage,le as createIndexHtml,D as createLogger,De as createPrettyLogger,ve as createPublicKeys,ge as getAppManifests,ye as getCleanPublicKey,V as getPrivateKey,we as requestErrorHandler,Ve as requestLoggerHandler,ce as slugify,me as zBooleanEnum,I as zNonEmptyString,K as zSharedConfig};
6
+ `,"")}var W=(i=>(i[i.NoObjectId=10001]="NoObjectId",i[i.NoTargetAppHeader=10002]="NoTargetAppHeader",i[i.NoTargetWorkspaceHeader=10003]="NoTargetWorkspaceHeader",i[i.NoManifest=10006]="NoManifest",i[i.NoRequestContext=10007]="NoRequestContext",i[i.NoUserInRequestContext=10008]="NoUserInRequestContext",i[i.NoAppInRequestContext=10009]="NoAppInRequestContext",i[i.NoWorkspaceInRequestContext=10010]="NoWorkspaceInRequestContext",i[i.NoUserPermissionsInRequestContext=10012]="NoUserPermissionsInRequestContext",i[i.WorkspacePermissionDenied=10013]="WorkspacePermissionDenied",i[i.NoTargetUrlHeader=10014]="NoTargetUrlHeader",i[i.NoSessionInRedisCache=10015]="NoSessionInRedisCache",i[i.ProhibitedTargetDomain=10016]="ProhibitedTargetDomain",i[i.NoOrganizationInRequestContext=10017]="NoOrganizationInRequestContext",i))(W||{}),F=(n=>(n[n.NoPublicKey=11e3]="NoPublicKey",n[n.NoAuthHeader=11001]="NoAuthHeader",n))(F||{});var Y={10001:{statusCode:401,msg:"No object id available on authenticated user."},10002:{statusCode:400,msg:"Request missing header 'alliance-target-app'."},10003:{statusCode:400,msg:"Request missing header 'alliance-target-workspace'."},10014:{statusCode:400,msg:"Request missing header 'alliance-target-url'."},10015:{statusCode:401,msg:"Could not find user session in Redis server."},10006:{statusCode:500,msg:"Could not find manifest for app '{{appSlug}}'."},10007:{statusCode:500,msg:"No request context."},10008:{statusCode:500,msg:"No user in request context."},10009:{statusCode:500,msg:"No app in request context."},10010:{statusCode:500,msg:"No workspace in request context."},10017:{statusCode:500,msg:"No organization in request context."},10012:{statusCode:500,msg:"No user permissions in request context."},10013:{statusCode:403,msg:"User does not have access to the current workspace."},10016:{statusCode:403,msg:"Request prohibited - REQUEST_DOMAIN_WHITE_LIST does not contain '{{domain}}'."},11e3:{statusCode:401,msg:"No public key available to decode JWT."},11001:{statusCode:401,msg:"No authorization header found."},12e3:{statusCode:401,msg:"No object id found in user claims."}};var z=class extends Error{constructor(n,u={}){let{msg:g,statusCode:l}=Y[n],m=he(g,u);super(m);this.errorCode=n;this.message=m,this.statusCode=l,this.info=`https://github.com/telia-company/ace-alliance-sdk/wiki/error-codes#${this.errorCode}`}info;statusCode};function he(e,t){return Object.entries(t).reduce((n,[u,g])=>n.replaceAll(`{{${u}}}`,g),e)}function Ie(e){let t=[e.status,e.statusCode,e.code];for(let n of t)if(typeof n=="number"&&Number.isInteger(n))return n;return 500}function we(e){return(t,n,u,g)=>{let l={cause:t.cause,message:t.message,status:Ie(t),info:t.info};e.error("error when processing request",{url:n.url,body:n.body,error:l}),u.status(l.status).json(l)}}import{homedir as Be,tmpdir as Oe}from"os";import{resolve as qe}from"path";function xe(e){return!e||typeof e.then!="function"?Promise.resolve(e):e}function f(e,...t){try{return xe(e(...t))}catch(n){return Promise.reject(n)}}function Ce(e){let t=typeof e;return e===null||t!=="object"&&t!=="function"}function Ee(e){let t=Object.getPrototypeOf(e);return!t||t.isPrototypeOf(Object)}function R(e){if(Ce(e))return String(e);if(Ee(e)||Array.isArray(e))return JSON.stringify(e);if(typeof e.toJSON=="function")return R(e.toJSON());throw new Error("[unstorage] Cannot stringify value!")}var L="base64:";function _(e){return typeof e=="string"?e:L+Ne(e)}function J(e){return typeof e!="string"||!e.startsWith(L)?e:Ae(e.slice(L.length))}function Ae(e){return globalThis.Buffer?Buffer.from(e,"base64"):Uint8Array.from(globalThis.atob(e),t=>t.codePointAt(0))}function Ne(e){return globalThis.Buffer?Buffer.from(e).toString("base64"):globalThis.btoa(String.fromCodePoint(...e))}var Pe=["has","hasItem","get","getItem","getItemRaw","set","setItem","setItemRaw","del","remove","removeItem","getMeta","setMeta","removeMeta","getKeys","clear","mount","unmount"];function k(e,t){if(t=E(t),!t)return e;let n={...e};for(let u of Pe)n[u]=(g="",...l)=>e[u](t+g,...l);return n.getKeys=(u="",...g)=>e.getKeys(t+u,...g).then(l=>l.map(m=>m.slice(t.length))),n.getItems=async(u,g)=>{let l=u.map(d=>typeof d=="string"?t+d:{...d,key:t+d.key});return(await e.getItems(l,g)).map(d=>({key:d.key.slice(t.length),value:d.value}))},n.setItems=async(u,g)=>{let l=u.map(m=>({key:t+m.key,value:m.value,options:m.options}));return e.setItems(l,g)},n}function p(e){return e&&e.split("?")[0]?.replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,"")||""}function H(...e){return p(e.join(":"))}function E(e){return e=p(e),e?e+":":""}function Q(e,t){if(t===void 0)return!0;let n=0,u=e.indexOf(":");for(;u>-1;)n++,u=e.indexOf(":",u+1);return n<=t}function G(e,t){return t?e.startsWith(t)&&e[e.length-1]!=="$":e[e.length-1]!=="$"}var Re="memory",Te=()=>{let e=new Map;return{name:Re,getInstance:()=>e,hasItem(t){return e.has(t)},getItem(t){return e.get(t)??null},getItemRaw(t){return e.get(t)??null},setItem(t,n){e.set(t,n)},setItemRaw(t,n){e.set(t,n)},removeItem(t){e.delete(t)},getKeys(){return[...e.keys()]},clear(){e.clear()},dispose(){e.clear()}}};function $(e={}){let t={mounts:{"":e.driver||Te()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},n=r=>{for(let o of t.mountpoints)if(r.startsWith(o))return{base:o,relativeKey:r.slice(o.length),driver:t.mounts[o]};return{base:"",relativeKey:r,driver:t.mounts[""]}},u=(r,o)=>t.mountpoints.filter(s=>s.startsWith(r)||o&&r.startsWith(s)).map(s=>({relativeBase:r.length>s.length?r.slice(s.length):void 0,mountpoint:s,driver:t.mounts[s]})),g=(r,o)=>{if(t.watching){o=p(o);for(let s of t.watchListeners)s(r,o)}},l=async()=>{if(!t.watching){t.watching=!0;for(let r in t.mounts)t.unwatch[r]=await Z(t.mounts[r],g,r)}},m=async()=>{if(t.watching){for(let r in t.unwatch)await t.unwatch[r]();t.unwatch={},t.watching=!1}},d=(r,o,s)=>{let a=new Map,c=i=>{let y=a.get(i.base);return y||(y={driver:i.driver,base:i.base,items:[]},a.set(i.base,y)),y};for(let i of r){let y=typeof i=="string",h=p(y?i:i.key),b=y?void 0:i.value,A=y||!i.options?o:{...o,...i.options},N=n(h);c(N).items.push({key:h,value:b,relativeKey:N.relativeKey,options:A})}return Promise.all([...a.values()].map(i=>s(i))).then(i=>i.flat())},v={hasItem(r,o={}){r=p(r);let{relativeKey:s,driver:a}=n(r);return f(a.hasItem,s,o)},getItem(r,o={}){r=p(r);let{relativeKey:s,driver:a}=n(r);return f(a.getItem,s,o).then(c=>P(c))},getItems(r,o={}){return d(r,o,s=>s.driver.getItems?f(s.driver.getItems,s.items.map(a=>({key:a.relativeKey,options:a.options})),o).then(a=>a.map(c=>({key:H(s.base,c.key),value:P(c.value)}))):Promise.all(s.items.map(a=>f(s.driver.getItem,a.relativeKey,a.options).then(c=>({key:a.key,value:P(c)})))))},getItemRaw(r,o={}){r=p(r);let{relativeKey:s,driver:a}=n(r);return a.getItemRaw?f(a.getItemRaw,s,o):f(a.getItem,s,o).then(c=>J(c))},async setItem(r,o,s={}){if(o===void 0)return v.removeItem(r);r=p(r);let{relativeKey:a,driver:c}=n(r);c.setItem&&(await f(c.setItem,a,R(o),s),c.watch||g("update",r))},async setItems(r,o){await d(r,o,async s=>{if(s.driver.setItems)return f(s.driver.setItems,s.items.map(a=>({key:a.relativeKey,value:R(a.value),options:a.options})),o);s.driver.setItem&&await Promise.all(s.items.map(a=>f(s.driver.setItem,a.relativeKey,R(a.value),a.options)))})},async setItemRaw(r,o,s={}){if(o===void 0)return v.removeItem(r,s);r=p(r);let{relativeKey:a,driver:c}=n(r);if(c.setItemRaw)await f(c.setItemRaw,a,o,s);else if(c.setItem)await f(c.setItem,a,_(o),s);else return;c.watch||g("update",r)},async removeItem(r,o={}){typeof o=="boolean"&&(o={removeMeta:o}),r=p(r);let{relativeKey:s,driver:a}=n(r);a.removeItem&&(await f(a.removeItem,s,o),(o.removeMeta||o.removeMata)&&await f(a.removeItem,s+"$",o),a.watch||g("remove",r))},async getMeta(r,o={}){typeof o=="boolean"&&(o={nativeOnly:o}),r=p(r);let{relativeKey:s,driver:a}=n(r),c=Object.create(null);if(a.getMeta&&Object.assign(c,await f(a.getMeta,s,o)),!o.nativeOnly){let i=await f(a.getItem,s+"$",o).then(y=>P(y));i&&typeof i=="object"&&(typeof i.atime=="string"&&(i.atime=new Date(i.atime)),typeof i.mtime=="string"&&(i.mtime=new Date(i.mtime)),Object.assign(c,i))}return c},setMeta(r,o,s={}){return this.setItem(r+"$",o,s)},removeMeta(r,o={}){return this.removeItem(r+"$",o)},async getKeys(r,o={}){r=E(r);let s=u(r,!0),a=[],c=[],i=!0;for(let h of s){h.driver.flags?.maxDepth||(i=!1);let b=await f(h.driver.getKeys,h.relativeBase,o);for(let A of b){let N=h.mountpoint+p(A);a.some(ue=>N.startsWith(ue))||c.push(N)}a=[h.mountpoint,...a.filter(A=>!A.startsWith(h.mountpoint))]}let y=o.maxDepth!==void 0&&!i;return c.filter(h=>(!y||Q(h,o.maxDepth))&&G(h,r))},async clear(r,o={}){r=E(r),await Promise.all(u(r,!1).map(async s=>{if(s.driver.clear)return f(s.driver.clear,s.relativeBase,o);if(s.driver.removeItem){let a=await s.driver.getKeys(s.relativeBase||"",o);return Promise.all(a.map(c=>s.driver.removeItem(c,o)))}}))},async dispose(){await Promise.all(Object.values(t.mounts).map(r=>X(r)))},async watch(r){return await l(),t.watchListeners.push(r),async()=>{t.watchListeners=t.watchListeners.filter(o=>o!==r),t.watchListeners.length===0&&await m()}},async unwatch(){t.watchListeners=[],await m()},mount(r,o){if(r=E(r),r&&t.mounts[r])throw new Error(`already mounted at ${r}`);return r&&(t.mountpoints.push(r),t.mountpoints.sort((s,a)=>a.length-s.length)),t.mounts[r]=o,t.watching&&Promise.resolve(Z(o,g,r)).then(s=>{t.unwatch[r]=s}).catch(console.error),v},async unmount(r,o=!0){r=E(r),!(!r||!t.mounts[r])&&(t.watching&&r in t.unwatch&&(t.unwatch[r]?.(),delete t.unwatch[r]),o&&await X(t.mounts[r]),t.mountpoints=t.mountpoints.filter(s=>s!==r),delete t.mounts[r])},getMount(r=""){r=p(r)+":";let o=n(r);return{driver:o.driver,base:o.base}},getMounts(r="",o={}){return r=p(r),u(r,o.parents).map(a=>({driver:a.driver,base:a.mountpoint}))},keys:(r,o={})=>v.getKeys(r,o),get:(r,o={})=>v.getItem(r,o),set:(r,o,s={})=>v.setItem(r,o,s),has:(r,o={})=>v.hasItem(r,o),del:(r,o={})=>v.removeItem(r,o),remove:(r,o={})=>v.removeItem(r,o)};return v}function Z(e,t,n){return e.watch?e.watch((u,g)=>t(u,n+g)):()=>{}}async function X(e){typeof e.dispose=="function"&&await f(e.dispose)}import{existsSync as Ke,promises as Se}from"fs";import{resolve as ze,join as Le}from"path";function T(e,t,n){let u=new Error(`[unstorage] [${e}] ${t}`,n);return Error.captureStackTrace&&Error.captureStackTrace(u,T),u}function ee(e,t){return Array.isArray(t)?T(e,`Missing some of the required options ${t.map(n=>"`"+n+"`").join(", ")}`):T(e,`Missing required option \`${t}\`.`)}import{existsSync as be,promises as w}from"fs";import{resolve as re,dirname as ne}from"path";function B(e){return e.code==="ENOENT"||e.code==="EISDIR"?null:e}function te(e){return e.code==="EEXIST"?null:e}async function O(e,t,n){return await ie(ne(e)),w.writeFile(e,t,n)}function q(e,t){return w.readFile(e,t).catch(B)}function oe(e){return w.unlink(e).catch(B)}function se(e){return w.readdir(e,{withFileTypes:!0}).catch(B).then(t=>t||[])}async function ie(e){be(e)||(await ie(ne(e)).catch(te),await w.mkdir(e).catch(te))}async function U(e,t,n){if(t&&t(e))return[];let u=await se(e),g=[];return await Promise.all(u.map(async l=>{let m=re(e,l.name);if(l.isDirectory()){if(n===void 0||n>0){let d=await U(m,t,n===void 0?void 0:n-1);g.push(...d.map(v=>l.name+"/"+v))}}else t&&t(l.name)||g.push(l.name)})),g}async function M(e){let t=await se(e);await Promise.all(t.map(n=>{let u=re(e,n.name);return n.isDirectory()?M(u).then(()=>w.rmdir(u)):w.unlink(u)}))}var ke=/\.\.:|\.\.$/,j="fs-lite",ae=(e={})=>{if(!e.base)throw ee(j,"base");e.base=ze(e.base);let t=n=>{if(ke.test(n))throw T(j,`Invalid key: ${JSON.stringify(n)}. It should not contain .. segments`);return Le(e.base,n.replace(/:/g,"/"))};return{name:j,options:e,flags:{maxDepth:!0},hasItem(n){return Ke(t(n))},getItem(n){return q(t(n),"utf8")},getItemRaw(n){return q(t(n))},async getMeta(n){let{atime:u,mtime:g,size:l,birthtime:m,ctime:d}=await Se.stat(t(n)).catch(()=>({}));return{atime:u,mtime:g,size:l,birthtime:m,ctime:d}},setItem(n,u){if(!e.readOnly)return O(t(n),u,"utf8")},setItemRaw(n,u){if(!e.readOnly)return O(t(n),u)},removeItem(n){if(!e.readOnly)return oe(t(n))},getKeys(n,u){return U(t("."),e.ignore,u?.maxDepth)},async clear(){e.readOnly||e.noClear||await M(t("."))}}};function Ue({prefix:e,logger:t}){return k($({driver:ae({base:Me({logger:t})})}),e)}function Me({logger:e}){let t="";try{t=Be()}catch(n){e.error("could not use homedir, trying tmpdir",{error:n?.message})}if(!t)try{t=Oe()}catch(n){e.error("could not use tmpdir, trying process.cwd",{error:n?.message})}if(!t)try{t=process.cwd()}catch(n){e.error("could not use process.cwd, exiting",{error:n?.message}),process.exit(1)}return qe(t,".alliance")}import je from"pino";function x(e){return t=>(n,u)=>e[t]({...u,msg:n})}function De(e){return D(e,{target:"pino-pretty",options:{colorize:!0,ignore:"time,pid,hostname",messageFormat:"{msg}"}})}function D(e,t){let n=je({level:e.SERVICE_LOG_LEVEL,redact:["authorization","headers.authorization","req.headers.authorization","res.headers.authorization","req.headers.cookie",'res.headers["set-cookie"]'],transport:t});return{fatal:x(n)("fatal"),error:x(n)("error"),warn:x(n)("warn"),info:x(n)("info"),debug:x(n)("debug"),trace:x(n)("trace"),silent:x(n)("silent"),child:()=>D(e),level:e.SERVICE_LOG_LEVEL}}function Ve(e){return(t,n,u)=>(e.trace("received request",{url:t.url,params:t.params,query:t.query,body:t.body}),u())}export{z as AllianceError,S as AllianceHeaders,F as DataErrorCode,W as GatewayErrorCode,de as createBearerToken,Ue as createFileStorage,ge as createIndexHtml,D as createLogger,De as createPrettyLogger,ve as createPublicKeys,le as getAppManifests,ye as getCleanPublicKey,V as getPrivateKey,we as requestErrorHandler,Ve as requestLoggerHandler,ce as slugify,me as zBooleanEnum,I as zNonEmptyString,K as zSharedConfig};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telia-ace/alliance-internal-node-utilities",
3
- "version": "4.0.0-next.6",
3
+ "version": "4.0.0-next.8",
4
4
  "description": "Utilities used internally by packages developed by team Alliance.",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "author": "Telia Company AB",
@@ -27,7 +27,7 @@
27
27
  "import-from-esm": "^2.0.0",
28
28
  "pino-pretty": "^13.0.0",
29
29
  "pkg-types": "^2.1.0",
30
- "@telia-ace/alliance-framework": "^4.0.0-next.6"
30
+ "@telia-ace/alliance-framework": "^4.0.0-next.8"
31
31
  },
32
32
  "publishConfig": {
33
33
  "access": "public"