logixlysia 6.10.0 → 6.10.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 6.10.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 83932be: Adapters without an `onError` hook now report every dropped entry on stderr. Previously a drop count that fell inside the 5-second rate limit was discarded, so during an outage stderr showed one small count and then only the failures. An `Error`, `Map` or `Set` in a record's context now reaches the backend with its content (an error's name, message, cause and own fields, a map as an object, a set as an array) instead of as `{}`, and the console's `{context}` text shows the same.
8
+ - 559a88e: A handler that forwards its request to another app with its own plugin (`inner.handle(request)`) no longer loses the outer app's access line, and with several plugin instances each module's routes are logged through that module's own instance, with its own context and transports, again. Since 6.10.0 every line went through the first instance. Creating one instance and sharing it is still the recommended setup.
9
+ - 9ec1a3b: `autoRedact` no longer takes quadratic time on a long run of `eyJ` in a header, path or value (a 100 KB header cost about a second per log line), and a getter or Proxy trap that throws no longer drops the whole record: only that field becomes `"[Unserializable]"`, as it does without `autoRedact`. A getter defined on an error is now redacted like any other field.
10
+ - bceda8d: A streamed or SSE response is now logged when the client disconnects, even while the generator is waiting for its next value. Since 6.10.0 such a request got no line until that wait ended, which for an SSE loop could be never. A generator whose cleanup throws is logged as an error whether the body was cancelled before or after its first read.
11
+ - d7ed8be: A `requestId.header` that is not a valid HTTP header name now throws when the plugin is created. Before, it made every request fail with `Invalid header name`. The HTTP adapters now also reject a `retries`, `timeout`, `flushIntervalMs` or `maxPendingBatches` that is not a usable number when they are created. Before, `maxPendingBatches: NaN` buffered without bound while the backend was down, `0` dropped almost every entry, and a `NaN` timeout failed every request.
12
+
3
13
  ## 6.10.0
4
14
 
5
15
  ### Minor Changes
package/dist/axiom.js CHANGED
@@ -1,4 +1,4 @@
1
- import{c as O,d as m,e as x,g as P}from"./shared/Logixlysia-xb08zg3q.js";import{k as N}from"./shared/Logixlysia-tqpczh9a.js";var W="https://api.axiom.co",Z=(k={})=>{let z=k.apiKey??m("AXIOM_API_KEY");if(!z)throw x("Axiom","missing API token. Set AXIOM_API_KEY or pass apiKey to createAxiomTransport()");let C=k.dataset??m("AXIOM_DATASET");if(!C)throw x("Axiom","missing dataset. Set AXIOM_DATASET or pass dataset to createAxiomTransport()");let Q=O(k.baseUrl??m("AXIOM_URL")??W),G=k.orgId??m("AXIOM_ORG_ID"),J={Authorization:`Bearer ${z}`,"Content-Type":"application/json"};if(G)J["X-Axiom-Org-Id"]=G;return P({body:(V)=>N(V.map((q)=>({...q.meta,_time:q.timestamp.toISOString(),level:q.level,message:q.message}))),headers:J,name:"Axiom",options:k,url:`${Q}/v1/datasets/${encodeURIComponent(C)}/ingest`})};export{Z as createAxiomTransport};
1
+ import{c as O,d as m,e as x,g as P}from"./shared/Logixlysia-5chm9a5f.js";import{k as N}from"./shared/Logixlysia-2826wx1s.js";var W="https://api.axiom.co",Z=(k={})=>{let z=k.apiKey??m("AXIOM_API_KEY");if(!z)throw x("Axiom","missing API token. Set AXIOM_API_KEY or pass apiKey to createAxiomTransport()");let C=k.dataset??m("AXIOM_DATASET");if(!C)throw x("Axiom","missing dataset. Set AXIOM_DATASET or pass dataset to createAxiomTransport()");let Q=O(k.baseUrl??m("AXIOM_URL")??W),G=k.orgId??m("AXIOM_ORG_ID"),J={Authorization:`Bearer ${z}`,"Content-Type":"application/json"};if(G)J["X-Axiom-Org-Id"]=G;return P({body:(V)=>N(V.map((q)=>({...q.meta,_time:q.timestamp.toISOString(),level:q.level,message:q.message}))),headers:J,name:"Axiom",options:k,url:`${Q}/v1/datasets/${encodeURIComponent(C)}/ingest`})};export{Z as createAxiomTransport};
2
2
 
3
3
  //# debugId=9DE441F47039740664756E2164756E21
4
4
  //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL2F4aW9tLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWwogICAgImltcG9ydCB7XG4gIGNyZWF0ZUh0dHBUcmFuc3BvcnQsXG4gIGVudlN0cmluZyxcbiAgc3RyaXBUcmFpbGluZ1NsYXNoZXMsXG4gIHRyYW5zcG9ydEVycm9yXG59IGZyb20gJy4vYWRhcHRlcnMvc2hhcmVkJ1xuaW1wb3J0IHR5cGUgeyBBZGFwdGVyVHJhbnNwb3J0LCBCYXRjaFRyYW5zcG9ydE9wdGlvbnMgfSBmcm9tICcuL2FkYXB0ZXJzL3NoYXJlZCdcbmltcG9ydCB7IHN0cmluZ2lmeUZvckxvZyB9IGZyb20gJy4vdXRpbHMvanNvbidcblxuY29uc3QgREVGQVVMVF9CQVNFX1VSTCA9ICdodHRwczovL2FwaS5heGlvbS5jbydcblxuZXhwb3J0IGludGVyZmFjZSBBeGlvbVRyYW5zcG9ydE9wdGlvbnMgZXh0ZW5kcyBCYXRjaFRyYW5zcG9ydE9wdGlvbnMge1xuICAvKipcbiAgICogQXhpb20gQVBJIHRva2VuIHdpdGggaW5nZXN0IHBlcm1pc3Npb24gKGB4YWF0LeKApmApLlxuICAgKiBGYWxscyBiYWNrIHRvIHRoZSBgQVhJT01fQVBJX0tFWWAgZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gICAqL1xuICBhcGlLZXk/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEFQSSBiYXNlIFVSTC5cbiAgICogRmFsbHMgYmFjayB0byBgQVhJT01fVVJMYC5cbiAgICogQGRlZmF1bHQgJ2h0dHBzOi8vYXBpLmF4aW9tLmNvJ1xuICAgKi9cbiAgYmFzZVVybD86IHN0cmluZ1xuICAvKipcbiAgICogVGFyZ2V0IGRhdGFzZXQgbmFtZS5cbiAgICogRmFsbHMgYmFjayB0byBgQVhJT01fREFUQVNFVGAuXG4gICAqL1xuICBkYXRhc2V0Pzogc3RyaW5nXG4gIC8qKlxuICAgKiBPcmdhbml6YXRpb24gSUQg4oCUIHJlcXVpcmVkIHdoZW4gdXNpbmcgYSBwZXJzb25hbCBhY2Nlc3MgdG9rZW4uXG4gICAqIEZhbGxzIGJhY2sgdG8gYEFYSU9NX09SR19JRGAuXG4gICAqL1xuICBvcmdJZD86IHN0cmluZ1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSB0cmFuc3BvcnQgdGhhdCBzaGlwcyBsb2dzIHRvIGFuIEF4aW9tIGRhdGFzZXQgdmlhIHRoZSBpbmdlc3QgQVBJLlxuICogRXZlbnRzIGtlZXAgdGhlaXIgbmVzdGVkIHN0cnVjdHVyZSDigJQgQXhpb20gaW5kZXhlcyBldmVyeSBmaWVsZCB3aXRob3V0IGFcbiAqIHNjaGVtYSwgc28gYHJlcXVlc3QubWV0aG9kYCwgYGNvbnRleHQucmVxdWVzdElkYCwgZXRjLiBhcmUgYWxsIHF1ZXJ5YWJsZS5cbiAqXG4gKiBAdGhyb3dzIHtFcnJvcn0gV2hlbiBubyBBUEkgdG9rZW4gb3IgZGF0YXNldCBpcyBjb25maWd1cmVkLlxuICovXG5leHBvcnQgY29uc3QgY3JlYXRlQXhpb21UcmFuc3BvcnQgPSAoXG4gIG9wdGlvbnM6IEF4aW9tVHJhbnNwb3J0T3B0aW9ucyA9IHt9XG4pOiBBZGFwdGVyVHJhbnNwb3J0ID0+IHtcbiAgY29uc3QgYXBpS2V5ID0gb3B0aW9ucy5hcGlLZXkgPz8gZW52U3RyaW5nKCdBWElPTV9BUElfS0VZJylcbiAgaWYgKCFhcGlLZXkpIHtcbiAgICB0aHJvdyB0cmFuc3BvcnRFcnJvcihcbiAgICAgICdBeGlvbScsXG4gICAgICAnbWlzc2luZyBBUEkgdG9rZW4uIFNldCBBWElPTV9BUElfS0VZIG9yIHBhc3MgYXBpS2V5IHRvIGNyZWF0ZUF4aW9tVHJhbnNwb3J0KCknXG4gICAgKVxuICB9XG4gIGNvbnN0IGRhdGFzZXQgPSBvcHRpb25zLmRhdGFzZXQgPz8gZW52U3RyaW5nKCdBWElPTV9EQVRBU0VUJylcbiAgaWYgKCFkYXRhc2V0KSB7XG4gICAgdGhyb3cgdHJhbnNwb3J0RXJyb3IoXG4gICAgICAnQXhpb20nLFxuICAgICAgJ21pc3NpbmcgZGF0YXNldC4gU2V0IEFYSU9NX0RBVEFTRVQgb3IgcGFzcyBkYXRhc2V0IHRvIGNyZWF0ZUF4aW9tVHJhbnNwb3J0KCknXG4gICAgKVxuICB9XG4gIGNvbnN0IGJhc2VVcmwgPSBzdHJpcFRyYWlsaW5nU2xhc2hlcyhcbiAgICBvcHRpb25zLmJhc2VVcmwgPz8gZW52U3RyaW5nKCdBWElPTV9VUkwnKSA/PyBERUZBVUxUX0JBU0VfVVJMXG4gIClcbiAgY29uc3Qgb3JnSWQgPSBvcHRpb25zLm9yZ0lkID8/IGVudlN0cmluZygnQVhJT01fT1JHX0lEJylcblxuICBjb25zdCBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHthcGlLZXl9YCxcbiAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gIH1cbiAgaWYgKG9yZ0lkKSB7XG4gICAgaGVhZGVyc1snWC1BeGlvbS1PcmctSWQnXSA9IG9yZ0lkXG4gIH1cblxuICByZXR1cm4gY3JlYXRlSHR0cFRyYW5zcG9ydCh7XG4gICAgYm9keTogZW50cmllcyA9PlxuICAgICAgc3RyaW5naWZ5Rm9yTG9nKFxuICAgICAgICAvLyBNZXRhIGZpcnN0IHNvIHRoZSBhZGFwdGVyLW93bmVkIGZpZWxkcyBiZWxvdyBhbHdheXMgd2luIG9uIGNvbGxpc2lvbi5cbiAgICAgICAgZW50cmllcy5tYXAoZW50cnkgPT4gKHtcbiAgICAgICAgICAuLi5lbnRyeS5tZXRhLFxuICAgICAgICAgIF90aW1lOiBlbnRyeS50aW1lc3RhbXAudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICBsZXZlbDogZW50cnkubGV2ZWwsXG4gICAgICAgICAgbWVzc2FnZTogZW50cnkubWVzc2FnZVxuICAgICAgICB9KSlcbiAgICAgICksXG4gICAgaGVhZGVycyxcbiAgICBuYW1lOiAnQXhpb20nLFxuICAgIG9wdGlvbnMsXG4gICAgdXJsOiBgJHtiYXNlVXJsfS92MS9kYXRhc2V0cy8ke2VuY29kZVVSSUNvbXBvbmVudChkYXRhc2V0KX0vaW5nZXN0YFxuICB9KVxufVxuXG5leHBvcnQgdHlwZSB7IEFkYXB0ZXJUcmFuc3BvcnQgfSBmcm9tICcuL2FkYXB0ZXJzL3NoYXJlZCdcbiIKICBdLAogICJtYXBwaW5ncyI6ICJ1SEFTQSxVQUFNLEVBQW1CLHVCQWlDWixFQUF1QixDQUNsQyxFQUFpQyxDQUFDLElBQ2IsQ0FDckIsSUFBTSxFQUFTLEVBQVEsUUFBVSxFQUFVLGVBQWUsRUFDMUQsR0FBSSxDQUFDLEVBQ0gsTUFBTSxFQUNKLFFBQ0EsK0VBQ0YsRUFFRixJQUFNLEVBQVUsRUFBUSxTQUFXLEVBQVUsZUFBZSxFQUM1RCxHQUFJLENBQUMsRUFDSCxNQUFNLEVBQ0osUUFDQSw4RUFDRixFQUVGLElBQU0sRUFBVSxFQUNkLEVBQVEsU0FBVyxFQUFVLFdBQVcsR0FBSyxDQUMvQyxFQUNNLEVBQVEsRUFBUSxPQUFTLEVBQVUsY0FBYyxFQUVqRCxFQUFrQyxDQUN0QyxjQUFlLFVBQVUsSUFDekIsZUFBZ0Isa0JBQ2xCLEVBQ0EsR0FBSSxFQUNGLEVBQVEsa0JBQW9CLEVBRzlCLE9BQU8sRUFBb0IsQ0FDekIsS0FBTSxLQUNKLEVBRUUsRUFBUSxJQUFJLE1BQVUsSUFDakIsRUFBTSxLQUNULE1BQU8sRUFBTSxVQUFVLFlBQVksRUFDbkMsTUFBTyxFQUFNLE1BQ2IsUUFBUyxFQUFNLE9BQ2pCLEVBQUUsQ0FDSixFQUNGLFVBQ0EsS0FBTSxRQUNOLFVBQ0EsSUFBSyxHQUFHLGlCQUF1QixtQkFBbUIsQ0FBTyxVQUMzRCxDQUFDIiwKICAiZGVidWdJZCI6ICI5REU0NDFGNDcwMzk3NDA2NjQ3NTZFMjE2NDc1NkUyMSIsCiAgIm5hbWVzIjogW10KfQ==
@@ -1,4 +1,4 @@
1
- import{c as G,d as x,e as J,g as K,j as Q}from"./shared/Logixlysia-xb08zg3q.js";import{k as C}from"./shared/Logixlysia-tqpczh9a.js";var V="https://in.logs.betterstack.com",Y=(q={})=>{let z=q.sourceToken??x("BETTER_STACK_SOURCE_TOKEN");if(!z)throw J("Better Stack","missing source token. Set BETTER_STACK_SOURCE_TOKEN or pass sourceToken to createBetterStackTransport()");return K({body:(R)=>C(R.map((m)=>({...m.meta,dt:m.timestamp.toISOString(),level:m.level,message:Q(m)}))),headers:{Authorization:`Bearer ${z}`,"Content-Type":"application/json"},name:"Better Stack",options:q,url:G(q.endpoint??x("BETTER_STACK_INGESTING_HOST")??V)})};export{Y as createBetterStackTransport};
1
+ import{c as G,d as x,e as J,g as K,j as Q}from"./shared/Logixlysia-5chm9a5f.js";import{k as C}from"./shared/Logixlysia-2826wx1s.js";var V="https://in.logs.betterstack.com",Y=(q={})=>{let z=q.sourceToken??x("BETTER_STACK_SOURCE_TOKEN");if(!z)throw J("Better Stack","missing source token. Set BETTER_STACK_SOURCE_TOKEN or pass sourceToken to createBetterStackTransport()");return K({body:(R)=>C(R.map((m)=>({...m.meta,dt:m.timestamp.toISOString(),level:m.level,message:Q(m)}))),headers:{Authorization:`Bearer ${z}`,"Content-Type":"application/json"},name:"Better Stack",options:q,url:G(q.endpoint??x("BETTER_STACK_INGESTING_HOST")??V)})};export{Y as createBetterStackTransport};
2
2
 
3
3
  //# debugId=45939F6D5FC2E8D764756E2164756E21
4
4
  //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL2JldHRlci1zdGFjay50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsKICAgICJpbXBvcnQge1xuICBjcmVhdGVIdHRwVHJhbnNwb3J0LFxuICBkZWZhdWx0Qm9keSxcbiAgZW52U3RyaW5nLFxuICBzdHJpcFRyYWlsaW5nU2xhc2hlcyxcbiAgdHJhbnNwb3J0RXJyb3Jcbn0gZnJvbSAnLi9hZGFwdGVycy9zaGFyZWQnXG5pbXBvcnQgdHlwZSB7IEFkYXB0ZXJUcmFuc3BvcnQsIEJhdGNoVHJhbnNwb3J0T3B0aW9ucyB9IGZyb20gJy4vYWRhcHRlcnMvc2hhcmVkJ1xuaW1wb3J0IHsgc3RyaW5naWZ5Rm9yTG9nIH0gZnJvbSAnLi91dGlscy9qc29uJ1xuXG5jb25zdCBERUZBVUxUX0VORFBPSU5UID0gJ2h0dHBzOi8vaW4ubG9ncy5iZXR0ZXJzdGFjay5jb20nXG5cbmV4cG9ydCBpbnRlcmZhY2UgQmV0dGVyU3RhY2tUcmFuc3BvcnRPcHRpb25zIGV4dGVuZHMgQmF0Y2hUcmFuc3BvcnRPcHRpb25zIHtcbiAgLyoqXG4gICAqIEluZ2VzdGluZyBVUkwgc2hvd24gbmV4dCB0byB0aGUgc291cmNlIHRva2VuIOKAlCBuZXdlciBzb3VyY2VzIGdldCBhXG4gICAqIGRlZGljYXRlZCBob3N0IGxpa2UgYGh0dHBzOi8vczEyMzQ1Ni5ldS1uYmctMi5iZXR0ZXJzdGFja2RhdGEuY29tYC5cbiAgICogRmFsbHMgYmFjayB0byBgQkVUVEVSX1NUQUNLX0lOR0VTVElOR19IT1NUYC5cbiAgICogQGRlZmF1bHQgJ2h0dHBzOi8vaW4ubG9ncy5iZXR0ZXJzdGFjay5jb20nXG4gICAqL1xuICBlbmRwb2ludD86IHN0cmluZ1xuICAvKipcbiAgICogU291cmNlIHRva2VuIGZyb20gdGhlIEJldHRlciBTdGFjayBzb3VyY2Ugc2V0dGluZ3MsIHNlbnQgYXMgYSBCZWFyZXJcbiAgICogdG9rZW4uIEZhbGxzIGJhY2sgdG8gdGhlIGBCRVRURVJfU1RBQ0tfU09VUkNFX1RPS0VOYCBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAgICovXG4gIHNvdXJjZVRva2VuPzogc3RyaW5nXG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIHRyYW5zcG9ydCB0aGF0IHNoaXBzIGxvZ3MgdG8gQmV0dGVyIFN0YWNrIChUZWxlbWV0cnkgLyBMb2dzKS5cbiAqIEVhY2ggbG9nIHBvc3RzIGFzIEpTT04gd2l0aCBhIGBkdGAgdGltZXN0YW1wLCBgbGV2ZWxgLCBgbWVzc2FnZWAsIGFuZCB0aGVcbiAqIGZ1bGwgbWV0YSBvYmplY3Qg4oCUIGFsbCBxdWVyeWFibGUgaW4gTGl2ZSB0YWlsIGFuZCBTUUwuXG4gKlxuICogQHRocm93cyB7RXJyb3J9IFdoZW4gbm8gc291cmNlIHRva2VuIGlzIGNvbmZpZ3VyZWQuXG4gKi9cbmV4cG9ydCBjb25zdCBjcmVhdGVCZXR0ZXJTdGFja1RyYW5zcG9ydCA9IChcbiAgb3B0aW9uczogQmV0dGVyU3RhY2tUcmFuc3BvcnRPcHRpb25zID0ge31cbik6IEFkYXB0ZXJUcmFuc3BvcnQgPT4ge1xuICBjb25zdCBzb3VyY2VUb2tlbiA9XG4gICAgb3B0aW9ucy5zb3VyY2VUb2tlbiA/PyBlbnZTdHJpbmcoJ0JFVFRFUl9TVEFDS19TT1VSQ0VfVE9LRU4nKVxuICBpZiAoIXNvdXJjZVRva2VuKSB7XG4gICAgdGhyb3cgdHJhbnNwb3J0RXJyb3IoXG4gICAgICAnQmV0dGVyIFN0YWNrJyxcbiAgICAgICdtaXNzaW5nIHNvdXJjZSB0b2tlbi4gU2V0IEJFVFRFUl9TVEFDS19TT1VSQ0VfVE9LRU4gb3IgcGFzcyBzb3VyY2VUb2tlbiB0byBjcmVhdGVCZXR0ZXJTdGFja1RyYW5zcG9ydCgpJ1xuICAgIClcbiAgfVxuXG4gIHJldHVybiBjcmVhdGVIdHRwVHJhbnNwb3J0KHtcbiAgICBib2R5OiBlbnRyaWVzID0+XG4gICAgICBzdHJpbmdpZnlGb3JMb2coXG4gICAgICAgIC8vIE1ldGEgZmlyc3Qgc28gdGhlIGFkYXB0ZXItb3duZWQgZmllbGRzIGJlbG93IGFsd2F5cyB3aW4gb24gY29sbGlzaW9uLlxuICAgICAgICBlbnRyaWVzLm1hcChlbnRyeSA9PiAoe1xuICAgICAgICAgIC4uLmVudHJ5Lm1ldGEsXG4gICAgICAgICAgZHQ6IGVudHJ5LnRpbWVzdGFtcC50b0lTT1N0cmluZygpLFxuICAgICAgICAgIGxldmVsOiBlbnRyeS5sZXZlbCxcbiAgICAgICAgICBtZXNzYWdlOiBkZWZhdWx0Qm9keShlbnRyeSlcbiAgICAgICAgfSkpXG4gICAgICApLFxuICAgIGhlYWRlcnM6IHtcbiAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHtzb3VyY2VUb2tlbn1gLFxuICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgIH0sXG4gICAgbmFtZTogJ0JldHRlciBTdGFjaycsXG4gICAgb3B0aW9ucyxcbiAgICB1cmw6IHN0cmlwVHJhaWxpbmdTbGFzaGVzKFxuICAgICAgb3B0aW9ucy5lbmRwb2ludCA/P1xuICAgICAgICBlbnZTdHJpbmcoJ0JFVFRFUl9TVEFDS19JTkdFU1RJTkdfSE9TVCcpID8/XG4gICAgICAgIERFRkFVTFRfRU5EUE9JTlRcbiAgICApXG4gIH0pXG59XG5cbmV4cG9ydCB0eXBlIHsgQWRhcHRlclRyYW5zcG9ydCB9IGZyb20gJy4vYWRhcHRlcnMvc2hhcmVkJ1xuIgogIF0sCiAgIm1hcHBpbmdzIjogIjhIQVVBLFVBQU0sRUFBbUIsa0NBd0JaLEVBQTZCLENBQ3hDLEVBQXVDLENBQUMsSUFDbkIsQ0FDckIsSUFBTSxFQUNKLEVBQVEsYUFBZSxFQUFVLDJCQUEyQixFQUM5RCxHQUFJLENBQUMsRUFDSCxNQUFNLEVBQ0osZUFDQSx5R0FDRixFQUdGLE9BQU8sRUFBb0IsQ0FDekIsS0FBTSxLQUNKLEVBRUUsRUFBUSxJQUFJLE1BQVUsSUFDakIsRUFBTSxLQUNULEdBQUksRUFBTSxVQUFVLFlBQVksRUFDaEMsTUFBTyxFQUFNLE1BQ2IsUUFBUyxFQUFZLENBQUssQ0FDNUIsRUFBRSxDQUNKLEVBQ0YsUUFBUyxDQUNQLGNBQWUsVUFBVSxJQUN6QixlQUFnQixrQkFDbEIsRUFDQSxLQUFNLGVBQ04sVUFDQSxJQUFLLEVBQ0gsRUFBUSxVQUNOLEVBQVUsNkJBQTZCLEdBQ3ZDLENBQ0osQ0FDRixDQUFDIiwKICAiZGVidWdJZCI6ICI0NTkzOUY2RDVGQzJFOEQ3NjQ3NTZFMjE2NDc1NkUyMSIsCiAgIm5hbWVzIjogW10KfQ==
@@ -1,4 +1,4 @@
1
- import{c as $,d as G,e as x,g as J,h as M,j as O}from"./shared/Logixlysia-xb08zg3q.js";import"./shared/Logixlysia-tqpczh9a.js";var C="http://localhost:8123",N="default",q="logs",B=/^[A-Za-z0-9_]+$/u,Z=(j,z)=>{if(!B.test(j))throw x("ClickHouse",`invalid ${z} '${j}'. Only letters, digits, and underscores are allowed`);return j},H=(j)=>{let z={};for(let[K,Q]of Object.entries(M(j.meta)))z[K]=String(Q);return JSON.stringify({attributes:z,level:j.level,message:O(j),timestamp:j.timestamp.toISOString()})},k=(j={})=>{let z=$(j.url??G("CLICKHOUSE_URL")??C),K=Z(j.database??G("CLICKHOUSE_DATABASE")??N,"database"),Q=Z(j.table??G("CLICKHOUSE_TABLE")??q,"table"),X=j.username??G("CLICKHOUSE_USERNAME"),Y=j.password??G("CLICKHOUSE_PASSWORD"),P=new URLSearchParams({date_time_input_format:"best_effort",query:`INSERT INTO ${K}.${Q} FORMAT JSONEachRow`}),V={"Content-Type":"application/json"};if(X)V["X-ClickHouse-User"]=X;if(Y)V["X-ClickHouse-Key"]=Y;return J({body:(W)=>W.map(H).join(`
1
+ import{c as $,d as G,e as x,g as J,h as M,j as O}from"./shared/Logixlysia-5chm9a5f.js";import"./shared/Logixlysia-2826wx1s.js";var C="http://localhost:8123",N="default",q="logs",B=/^[A-Za-z0-9_]+$/u,Z=(j,z)=>{if(!B.test(j))throw x("ClickHouse",`invalid ${z} '${j}'. Only letters, digits, and underscores are allowed`);return j},H=(j)=>{let z={};for(let[K,Q]of Object.entries(M(j.meta)))z[K]=String(Q);return JSON.stringify({attributes:z,level:j.level,message:O(j),timestamp:j.timestamp.toISOString()})},k=(j={})=>{let z=$(j.url??G("CLICKHOUSE_URL")??C),K=Z(j.database??G("CLICKHOUSE_DATABASE")??N,"database"),Q=Z(j.table??G("CLICKHOUSE_TABLE")??q,"table"),X=j.username??G("CLICKHOUSE_USERNAME"),Y=j.password??G("CLICKHOUSE_PASSWORD"),P=new URLSearchParams({date_time_input_format:"best_effort",query:`INSERT INTO ${K}.${Q} FORMAT JSONEachRow`}),V={"Content-Type":"application/json"};if(X)V["X-ClickHouse-User"]=X;if(Y)V["X-ClickHouse-Key"]=Y;return J({body:(W)=>W.map(H).join(`
2
2
  `),headers:V,name:"ClickHouse",options:j,url:`${z}/?${P.toString()}`})};export{k as createClickHouseTransport};
3
3
 
4
4
  //# debugId=1B6FC943015B221464756E2164756E21
package/dist/datadog.js CHANGED
@@ -1,4 +1,4 @@
1
- import{d as z,e as V,g as W,j as X}from"./shared/Logixlysia-xb08zg3q.js";import{k as Q}from"./shared/Logixlysia-tqpczh9a.js";var B="datadoghq.com",N="logixlysia",b=(w={})=>{let G=w.apiKey??z("DD_API_KEY");if(!G)throw V("Datadog","missing API key. Set DD_API_KEY or pass apiKey to createDatadogTransport()");let Y=w.site??z("DD_SITE")??B,Z=w.service??z("DD_SERVICE")??N,J=w.hostname??z("DD_HOSTNAME"),$=w.source??N,M=Object.entries(w.tags??{}).map(([q,x])=>`${q}:${x}`).join(","),j=(q)=>{let x={...q.meta,ddsource:$,message:X(q),service:Z,status:q.level.toLowerCase(),timestamp:q.timestamp.toISOString()};if(M)x.ddtags=M;if(J)x.hostname=J;if(typeof q.meta.status==="number")x.http={status_code:q.meta.status};return x};return W({body:(q)=>Q(q.map(j)),headers:{"Content-Type":"application/json","DD-API-KEY":G},name:"Datadog",options:w,url:`https://http-intake.logs.${Y}/api/v2/logs`})};export{b as createDatadogTransport};
1
+ import{d as z,e as V,g as W,j as X}from"./shared/Logixlysia-5chm9a5f.js";import{k as Q}from"./shared/Logixlysia-2826wx1s.js";var B="datadoghq.com",N="logixlysia",b=(w={})=>{let G=w.apiKey??z("DD_API_KEY");if(!G)throw V("Datadog","missing API key. Set DD_API_KEY or pass apiKey to createDatadogTransport()");let Y=w.site??z("DD_SITE")??B,Z=w.service??z("DD_SERVICE")??N,J=w.hostname??z("DD_HOSTNAME"),$=w.source??N,M=Object.entries(w.tags??{}).map(([q,x])=>`${q}:${x}`).join(","),j=(q)=>{let x={...q.meta,ddsource:$,message:X(q),service:Z,status:q.level.toLowerCase(),timestamp:q.timestamp.toISOString()};if(M)x.ddtags=M;if(J)x.hostname=J;if(typeof q.meta.status==="number")x.http={status_code:q.meta.status};return x};return W({body:(q)=>Q(q.map(j)),headers:{"Content-Type":"application/json","DD-API-KEY":G},name:"Datadog",options:w,url:`https://http-intake.logs.${Y}/api/v2/logs`})};export{b as createDatadogTransport};
2
2
 
3
3
  //# debugId=2A62BE9F1CA2BFC064756E2164756E21
4
4
  //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL2RhdGFkb2cudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbCiAgICAiaW1wb3J0IHtcbiAgY3JlYXRlSHR0cFRyYW5zcG9ydCxcbiAgZGVmYXVsdEJvZHksXG4gIGVudlN0cmluZyxcbiAgdHJhbnNwb3J0RXJyb3Jcbn0gZnJvbSAnLi9hZGFwdGVycy9zaGFyZWQnXG5pbXBvcnQgdHlwZSB7XG4gIEFkYXB0ZXJUcmFuc3BvcnQsXG4gIEJhdGNoVHJhbnNwb3J0T3B0aW9ucyxcbiAgTG9nRW50cnlcbn0gZnJvbSAnLi9hZGFwdGVycy9zaGFyZWQnXG5pbXBvcnQgeyBzdHJpbmdpZnlGb3JMb2cgfSBmcm9tICcuL3V0aWxzL2pzb24nXG5cbmNvbnN0IERFRkFVTFRfU0lURSA9ICdkYXRhZG9naHEuY29tJ1xuY29uc3QgREVGQVVMVF9TT1VSQ0UgPSAnbG9naXhseXNpYSdcblxuZXhwb3J0IGludGVyZmFjZSBEYXRhZG9nVHJhbnNwb3J0T3B0aW9ucyBleHRlbmRzIEJhdGNoVHJhbnNwb3J0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBEYXRhZG9nIEFQSSBrZXksIHNlbnQgYXMgdGhlIGBERC1BUEktS0VZYCBoZWFkZXIuXG4gICAqIEZhbGxzIGJhY2sgdG8gdGhlIGBERF9BUElfS0VZYCBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAgICovXG4gIGFwaUtleT86IHN0cmluZ1xuICAvKipcbiAgICogSG9zdG5hbWUgcmVwb3J0ZWQgd2l0aCBlYWNoIGxvZy5cbiAgICogRmFsbHMgYmFjayB0byBgRERfSE9TVE5BTUVgOyBvbWl0dGVkIHdoZW4gdW5zZXQuXG4gICAqL1xuICBob3N0bmFtZT86IHN0cmluZ1xuICAvKipcbiAgICogYHNlcnZpY2VgIGZhY2V0IG9uIGVhY2ggbG9nLlxuICAgKiBGYWxscyBiYWNrIHRvIGBERF9TRVJWSUNFYC5cbiAgICogQGRlZmF1bHQgJ2xvZ2l4bHlzaWEnXG4gICAqL1xuICBzZXJ2aWNlPzogc3RyaW5nXG4gIC8qKlxuICAgKiBEYXRhZG9nIHNpdGU6IGBkYXRhZG9naHEuY29tYCAoVVMxKSwgYGRhdGFkb2docS5ldWAgKEVVKSxcbiAgICogYHVzMy5kYXRhZG9naHEuY29tYCwgYHVzNS5kYXRhZG9naHEuY29tYCwgYGFwMS5kYXRhZG9naHEuY29tYCwg4oCmXG4gICAqIEZhbGxzIGJhY2sgdG8gYEREX1NJVEVgLlxuICAgKiBAZGVmYXVsdCAnZGF0YWRvZ2hxLmNvbSdcbiAgICovXG4gIHNpdGU/OiBzdHJpbmdcbiAgLyoqIGBkZHNvdXJjZWAgZmFjZXQgb24gZWFjaCBsb2cuIEBkZWZhdWx0ICdsb2dpeGx5c2lhJyAqL1xuICBzb3VyY2U/OiBzdHJpbmdcbiAgLyoqIFRhZ3MgcmVuZGVyZWQgaW50byBgZGR0YWdzYCBhcyBga2V5OnZhbHVlLGtleTI6dmFsdWUyYC4gKi9cbiAgdGFncz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgdHJhbnNwb3J0IHRoYXQgc2hpcHMgbG9ncyB0byBEYXRhZG9nIHZpYSB0aGUgdjIgbG9ncyBpbnRha2UgQVBJLlxuICogVGhlIGxvZyBsZXZlbCBsYW5kcyBpbiB0aGUgYHN0YXR1c2AgYXR0cmlidXRlIChEYXRhZG9nJ3MgZGVmYXVsdCBzdGF0dXNcbiAqIHJlbWFwcGVyKSwgYW5kIHRoZSBmdWxsIG1ldGEgb2JqZWN0IHJpZGVzIGFsb25nIGFzIHNlYXJjaGFibGUgYXR0cmlidXRlcy5cbiAqXG4gKiBAdGhyb3dzIHtFcnJvcn0gV2hlbiBubyBBUEkga2V5IGlzIGNvbmZpZ3VyZWQuXG4gKi9cbmV4cG9ydCBjb25zdCBjcmVhdGVEYXRhZG9nVHJhbnNwb3J0ID0gKFxuICBvcHRpb25zOiBEYXRhZG9nVHJhbnNwb3J0T3B0aW9ucyA9IHt9XG4pOiBBZGFwdGVyVHJhbnNwb3J0ID0+IHtcbiAgY29uc3QgYXBpS2V5ID0gb3B0aW9ucy5hcGlLZXkgPz8gZW52U3RyaW5nKCdERF9BUElfS0VZJylcbiAgaWYgKCFhcGlLZXkpIHtcbiAgICB0aHJvdyB0cmFuc3BvcnRFcnJvcihcbiAgICAgICdEYXRhZG9nJyxcbiAgICAgICdtaXNzaW5nIEFQSSBrZXkuIFNldCBERF9BUElfS0VZIG9yIHBhc3MgYXBpS2V5IHRvIGNyZWF0ZURhdGFkb2dUcmFuc3BvcnQoKSdcbiAgICApXG4gIH1cbiAgY29uc3Qgc2l0ZSA9IG9wdGlvbnMuc2l0ZSA/PyBlbnZTdHJpbmcoJ0REX1NJVEUnKSA/PyBERUZBVUxUX1NJVEVcbiAgY29uc3Qgc2VydmljZSA9IG9wdGlvbnMuc2VydmljZSA/PyBlbnZTdHJpbmcoJ0REX1NFUlZJQ0UnKSA/PyBERUZBVUxUX1NPVVJDRVxuICBjb25zdCBob3N0bmFtZSA9IG9wdGlvbnMuaG9zdG5hbWUgPz8gZW52U3RyaW5nKCdERF9IT1NUTkFNRScpXG4gIGNvbnN0IHNvdXJjZSA9IG9wdGlvbnMuc291cmNlID8/IERFRkFVTFRfU09VUkNFXG4gIGNvbnN0IGRkdGFncyA9IE9iamVjdC5lbnRyaWVzKG9wdGlvbnMudGFncyA/PyB7fSlcbiAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IGAke2tleX06JHt2YWx1ZX1gKVxuICAgIC5qb2luKCcsJylcblxuICBjb25zdCB0b0V2ZW50ID0gKGVudHJ5OiBMb2dFbnRyeSk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0+IHtcbiAgICAvLyBNZXRhIGZpcnN0IHNvIHRoZSBhZGFwdGVyLW93bmVkIGZhY2V0cyBiZWxvdyBhbHdheXMgd2luIOKAlCBhY2Nlc3MtbG9nXG4gICAgLy8gbWV0YSBjYXJyaWVzIGFuIEhUVFAgYHN0YXR1c2AgdGhhdCBtdXN0IG5vdCBjbG9iYmVyIERhdGFkb2cncyBzdGF0dXMuXG4gICAgY29uc3QgZXZlbnQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuICAgICAgLi4uZW50cnkubWV0YSxcbiAgICAgIGRkc291cmNlOiBzb3VyY2UsXG4gICAgICBtZXNzYWdlOiBkZWZhdWx0Qm9keShlbnRyeSksXG4gICAgICBzZXJ2aWNlLFxuICAgICAgc3RhdHVzOiBlbnRyeS5sZXZlbC50b0xvd2VyQ2FzZSgpLFxuICAgICAgdGltZXN0YW1wOiBlbnRyeS50aW1lc3RhbXAudG9JU09TdHJpbmcoKVxuICAgIH1cbiAgICBpZiAoZGR0YWdzKSB7XG4gICAgICBldmVudC5kZHRhZ3MgPSBkZHRhZ3NcbiAgICB9XG4gICAgaWYgKGhvc3RuYW1lKSB7XG4gICAgICBldmVudC5ob3N0bmFtZSA9IGhvc3RuYW1lXG4gICAgfVxuICAgIGlmICh0eXBlb2YgZW50cnkubWV0YS5zdGF0dXMgPT09ICdudW1iZXInKSB7XG4gICAgICBldmVudC5odHRwID0geyBzdGF0dXNfY29kZTogZW50cnkubWV0YS5zdGF0dXMgfVxuICAgIH1cbiAgICByZXR1cm4gZXZlbnRcbiAgfVxuXG4gIHJldHVybiBjcmVhdGVIdHRwVHJhbnNwb3J0KHtcbiAgICBib2R5OiBlbnRyaWVzID0+IHN0cmluZ2lmeUZvckxvZyhlbnRyaWVzLm1hcCh0b0V2ZW50KSksXG4gICAgaGVhZGVyczoge1xuICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICdERC1BUEktS0VZJzogYXBpS2V5XG4gICAgfSxcbiAgICBuYW1lOiAnRGF0YWRvZycsXG4gICAgb3B0aW9ucyxcbiAgICB1cmw6IGBodHRwczovL2h0dHAtaW50YWtlLmxvZ3MuJHtzaXRlfS9hcGkvdjIvbG9nc2BcbiAgfSlcbn1cblxuZXhwb3J0IHR5cGUgeyBBZGFwdGVyVHJhbnNwb3J0IH0gZnJvbSAnLi9hZGFwdGVycy9zaGFyZWQnXG4iCiAgXSwKICAibWFwcGluZ3MiOiAidUhBYUEsVUFBTSxFQUFlLGdCQUNmLEVBQWlCLGFBdUNWLEVBQXlCLENBQ3BDLEVBQW1DLENBQUMsSUFDZixDQUNyQixJQUFNLEVBQVMsRUFBUSxRQUFVLEVBQVUsWUFBWSxFQUN2RCxHQUFJLENBQUMsRUFDSCxNQUFNLEVBQ0osVUFDQSw0RUFDRixFQUVGLElBQU0sRUFBTyxFQUFRLE1BQVEsRUFBVSxTQUFTLEdBQUssRUFDL0MsRUFBVSxFQUFRLFNBQVcsRUFBVSxZQUFZLEdBQUssRUFDeEQsRUFBVyxFQUFRLFVBQVksRUFBVSxhQUFhLEVBQ3RELEVBQVMsRUFBUSxRQUFVLEVBQzNCLEVBQVMsT0FBTyxRQUFRLEVBQVEsTUFBUSxDQUFDLENBQUMsRUFDN0MsSUFBSSxFQUFFLEVBQUssS0FBVyxHQUFHLEtBQU8sR0FBTyxFQUN2QyxLQUFLLEdBQUcsRUFFTCxFQUFVLENBQUMsSUFBNkMsQ0FHNUQsSUFBTSxFQUFpQyxJQUNsQyxFQUFNLEtBQ1QsU0FBVSxFQUNWLFFBQVMsRUFBWSxDQUFLLEVBQzFCLFVBQ0EsT0FBUSxFQUFNLE1BQU0sWUFBWSxFQUNoQyxVQUFXLEVBQU0sVUFBVSxZQUFZLENBQ3pDLEVBQ0EsR0FBSSxFQUNGLEVBQU0sT0FBUyxFQUVqQixHQUFJLEVBQ0YsRUFBTSxTQUFXLEVBRW5CLEdBQUksT0FBTyxFQUFNLEtBQUssU0FBVyxTQUMvQixFQUFNLEtBQU8sQ0FBRSxZQUFhLEVBQU0sS0FBSyxNQUFPLEVBRWhELE9BQU8sR0FHVCxPQUFPLEVBQW9CLENBQ3pCLEtBQU0sS0FBVyxFQUFnQixFQUFRLElBQUksQ0FBTyxDQUFDLEVBQ3JELFFBQVMsQ0FDUCxlQUFnQixtQkFDaEIsYUFBYyxDQUNoQixFQUNBLEtBQU0sVUFDTixVQUNBLElBQUssNEJBQTRCLGVBQ25DLENBQUMiLAogICJkZWJ1Z0lkIjogIjJBNjJCRTlGMUNBMkJGQzA2NDc1NkUyMTY0NzU2RTIxIiwKICAibmFtZXMiOiBbXQp9
package/dist/hyperdx.js CHANGED
@@ -1,4 +1,4 @@
1
- import{a as V}from"./shared/Logixlysia-pa8v7y86.js";import{c as G,d as z,e as Q}from"./shared/Logixlysia-xb08zg3q.js";import"./shared/Logixlysia-tqpczh9a.js";var Z="https://in-otel.hyperdx.io",w=(j={})=>{let B=j.apiKey??z("HYPERDX_API_KEY");if(!B)throw Q("HyperDX","missing API key. Set HYPERDX_API_KEY or pass apiKey to createHyperDXTransport()");let Y=G(j.endpoint??z("HYPERDX_OTLP_ENDPOINT")??Z);return V({headers:{authorization:B},name:"HyperDX",options:j,resourceAttributes:j.resourceAttributes??{},serviceName:j.serviceName??z("HYPERDX_SERVICE_NAME")??z("OTEL_SERVICE_NAME")??"logixlysia",url:`${Y}/v1/logs`})};export{w as createHyperDXTransport};
1
+ import{a as V}from"./shared/Logixlysia-86ne98c6.js";import{c as G,d as z,e as Q}from"./shared/Logixlysia-5chm9a5f.js";import"./shared/Logixlysia-2826wx1s.js";var Z="https://in-otel.hyperdx.io",w=(j={})=>{let B=j.apiKey??z("HYPERDX_API_KEY");if(!B)throw Q("HyperDX","missing API key. Set HYPERDX_API_KEY or pass apiKey to createHyperDXTransport()");let Y=G(j.endpoint??z("HYPERDX_OTLP_ENDPOINT")??Z);return V({headers:{authorization:B},name:"HyperDX",options:j,resourceAttributes:j.resourceAttributes??{},serviceName:j.serviceName??z("HYPERDX_SERVICE_NAME")??z("OTEL_SERVICE_NAME")??"logixlysia",url:`${Y}/v1/logs`})};export{w as createHyperDXTransport};
2
2
 
3
3
  //# debugId=F0CC0AB3AC4FB4E264756E2164756E21
4
4
  //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL2h5cGVyZHgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbCiAgICAiaW1wb3J0IHsgY3JlYXRlT3RscENvcmUgfSBmcm9tICcuL2FkYXB0ZXJzL290bHAtY29yZSdcbmltcG9ydCB7XG4gIGVudlN0cmluZyxcbiAgc3RyaXBUcmFpbGluZ1NsYXNoZXMsXG4gIHRyYW5zcG9ydEVycm9yXG59IGZyb20gJy4vYWRhcHRlcnMvc2hhcmVkJ1xuaW1wb3J0IHR5cGUgeyBBZGFwdGVyVHJhbnNwb3J0LCBCYXRjaFRyYW5zcG9ydE9wdGlvbnMgfSBmcm9tICcuL2FkYXB0ZXJzL3NoYXJlZCdcblxuY29uc3QgREVGQVVMVF9FTkRQT0lOVCA9ICdodHRwczovL2luLW90ZWwuaHlwZXJkeC5pbydcblxuZXhwb3J0IGludGVyZmFjZSBIeXBlckRYVHJhbnNwb3J0T3B0aW9ucyBleHRlbmRzIEJhdGNoVHJhbnNwb3J0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBIeXBlckRYIGluZ2VzdGlvbiBBUEkga2V5LCBzZW50IGFzIHRoZSBgYXV0aG9yaXphdGlvbmAgaGVhZGVyLlxuICAgKiBGYWxscyBiYWNrIHRvIHRoZSBgSFlQRVJEWF9BUElfS0VZYCBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAgICovXG4gIGFwaUtleT86IHN0cmluZ1xuICAvKipcbiAgICogT1RMUCBIVFRQIGJhc2UgVVJMIOKAlCB0aGUgYWRhcHRlciBhcHBlbmRzIGAvdjEvbG9nc2AuIEZvciBzZWxmLWhvc3RlZFxuICAgKiBjb2xsZWN0b3JzIHBhc3MgdGhlIGJhc2UgVVJMIG9ubHkgKHBvcnQgNDMxOCBieSBkZWZhdWx0KS5cbiAgICogRmFsbHMgYmFjayB0byBgSFlQRVJEWF9PVExQX0VORFBPSU5UYC5cbiAgICogQGRlZmF1bHQgJ2h0dHBzOi8vaW4tb3RlbC5oeXBlcmR4LmlvJ1xuICAgKi9cbiAgZW5kcG9pbnQ/OiBzdHJpbmdcbiAgLyoqIEV4dHJhIE9UTFAgcmVzb3VyY2UgYXR0cmlidXRlcyBtZXJnZWQgbmV4dCB0byBgc2VydmljZS5uYW1lYC4gKi9cbiAgcmVzb3VyY2VBdHRyaWJ1dGVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICAvKipcbiAgICogVmFsdWUgb2YgdGhlIGBzZXJ2aWNlLm5hbWVgIHJlc291cmNlIGF0dHJpYnV0ZS5cbiAgICogRmFsbHMgYmFjayB0byBgSFlQRVJEWF9TRVJWSUNFX05BTUVgLCB0aGVuIGBPVEVMX1NFUlZJQ0VfTkFNRWAuXG4gICAqIEBkZWZhdWx0ICdsb2dpeGx5c2lhJ1xuICAgKi9cbiAgc2VydmljZU5hbWU/OiBzdHJpbmdcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgdHJhbnNwb3J0IHRoYXQgc2hpcHMgbG9ncyB0byBIeXBlckRYIGFzIE9UTFAgSlNPTlxuICogKGBFeHBvcnRMb2dzU2VydmljZVJlcXVlc3RgKSBvdmVyIEhUVFAuIE1ldGEgZmllbGRzIGJlY29tZSBkb3Qtbm90YXRpb24gbG9nXG4gKiBhdHRyaWJ1dGVzIChgcmVxdWVzdC5tZXRob2RgLCBgY29udGV4dC5yZXF1ZXN0SWRgLCDigKYpIHNvIHRoZXkgYXJlIHNlYXJjaGFibGVcbiAqIGluIHRoZSBIeXBlckRYIFVJLlxuICpcbiAqIEB0aHJvd3Mge0Vycm9yfSBXaGVuIG5vIEFQSSBrZXkgaXMgY29uZmlndXJlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IGNyZWF0ZUh5cGVyRFhUcmFuc3BvcnQgPSAoXG4gIG9wdGlvbnM6IEh5cGVyRFhUcmFuc3BvcnRPcHRpb25zID0ge31cbik6IEFkYXB0ZXJUcmFuc3BvcnQgPT4ge1xuICBjb25zdCBhcGlLZXkgPSBvcHRpb25zLmFwaUtleSA/PyBlbnZTdHJpbmcoJ0hZUEVSRFhfQVBJX0tFWScpXG4gIGlmICghYXBpS2V5KSB7XG4gICAgdGhyb3cgdHJhbnNwb3J0RXJyb3IoXG4gICAgICAnSHlwZXJEWCcsXG4gICAgICAnbWlzc2luZyBBUEkga2V5LiBTZXQgSFlQRVJEWF9BUElfS0VZIG9yIHBhc3MgYXBpS2V5IHRvIGNyZWF0ZUh5cGVyRFhUcmFuc3BvcnQoKSdcbiAgICApXG4gIH1cblxuICBjb25zdCBlbmRwb2ludCA9IHN0cmlwVHJhaWxpbmdTbGFzaGVzKFxuICAgIG9wdGlvbnMuZW5kcG9pbnQgPz8gZW52U3RyaW5nKCdIWVBFUkRYX09UTFBfRU5EUE9JTlQnKSA/PyBERUZBVUxUX0VORFBPSU5UXG4gIClcblxuICByZXR1cm4gY3JlYXRlT3RscENvcmUoe1xuICAgIGhlYWRlcnM6IHsgYXV0aG9yaXphdGlvbjogYXBpS2V5IH0sXG4gICAgbmFtZTogJ0h5cGVyRFgnLFxuICAgIG9wdGlvbnMsXG4gICAgcmVzb3VyY2VBdHRyaWJ1dGVzOiBvcHRpb25zLnJlc291cmNlQXR0cmlidXRlcyA/PyB7fSxcbiAgICBzZXJ2aWNlTmFtZTpcbiAgICAgIG9wdGlvbnMuc2VydmljZU5hbWUgPz9cbiAgICAgIGVudlN0cmluZygnSFlQRVJEWF9TRVJWSUNFX05BTUUnKSA/P1xuICAgICAgZW52U3RyaW5nKCdPVEVMX1NFUlZJQ0VfTkFNRScpID8/XG4gICAgICAnbG9naXhseXNpYScsXG4gICAgdXJsOiBgJHtlbmRwb2ludH0vdjEvbG9nc2BcbiAgfSlcbn1cblxuZXhwb3J0IHR5cGUgeyBBZGFwdGVyVHJhbnNwb3J0IH0gZnJvbSAnLi9hZGFwdGVycy9zaGFyZWQnXG4iCiAgXSwKICAibWFwcGluZ3MiOiAia0pBUUEsVUFBTSxRQUFtQiw2QkFpQ1osRUFBeUIsQ0FDcEMsRUFBbUMsQ0FBQyxJQUNmLENBQ3JCLElBQU0sRUFBUyxFQUFRLFFBQVUsRUFBVSxpQkFBaUIsRUFDNUQsR0FBSSxDQUFDLEVBQ0gsTUFBTSxFQUNKLFVBQ0EsaUZBQ0YsRUFHRixJQUFNLEVBQVcsRUFDZixFQUFRLFVBQVksRUFBVSx1QkFBdUIsR0FBSyxDQUM1RCxFQUVBLE9BQU8sRUFBZSxDQUNwQixRQUFTLENBQUUsY0FBZSxDQUFPLEVBQ2pDLEtBQU0sVUFDTixVQUNBLG1CQUFvQixFQUFRLG9CQUFzQixDQUFDLEVBQ25ELFlBQ0UsRUFBUSxhQUNSLEVBQVUsc0JBQXNCLEdBQ2hDLEVBQVUsbUJBQW1CLEdBQzdCLGFBQ0YsSUFBSyxHQUFHLFdBQ1YsQ0FBQyIsCiAgImRlYnVnSWQiOiAiRjBDQzBBQjNBQzRGQjRFMjY0NzU2RTIxNjQ3NTZFMjEiLAogICJuYW1lcyI6IFtdCn0=