@owlmeans/basic-envelope 0.1.18-rc.43 → 0.1.18-rc.45

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/README.md CHANGED
@@ -11,7 +11,7 @@ Type-safe message envelope with TTL, signing, and Base64 encoding for cross-serv
11
11
  ## Installation
12
12
 
13
13
  ```bash
14
- bun add @owlmeans/basic-envelope@^0.1.18-rc.43
14
+ bun add @owlmeans/basic-envelope@^0.1.18-rc.45
15
15
  ```
16
16
 
17
17
  ## Usage
@@ -80,7 +80,7 @@ This package ships embedded agent skills under `agent-meta/`. After installing y
80
80
  your project's skill store (`.agents/skills/`):
81
81
 
82
82
  ```sh
83
- npx @owlmeans/agent-skills@^0.1.18-rc.46
83
+ npx @owlmeans/agent-skills@^0.1.18-rc.48
84
84
  ```
85
85
 
86
86
  The embedded files are version-matched to this package release. Do not edit them
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
3
  "package": "@owlmeans/basic-envelope",
4
- "version": "0.1.18-rc.43",
5
- "generatedAt": "2026-10-03T11:19:50.803Z",
4
+ "version": "0.1.18-rc.45",
5
+ "generatedAt": "2026-10-05T08:32:19.138Z",
6
6
  "canonicalRepo": "https://github.com/owlmeans/common",
7
7
  "entries": [
8
8
  {
@@ -8,7 +8,7 @@ user-invocable: false
8
8
  # @owlmeans/basic-envelope
9
9
 
10
10
  **Layer:** Core
11
- **Install:** `"@owlmeans/basic-envelope": "^0.1.18-rc.43"` in `dependencies`
11
+ **Install:** `"@owlmeans/basic-envelope": "^0.1.18-rc.45"` in `dependencies`
12
12
 
13
13
  An envelope is a signed, self-expiring container: a type tag, an encoded message, a timestamp and a
14
14
  TTL, plus the signature over all of it. It is what carries auth challenges and tokens between
package/build/model.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { base64, utf8 } from '@scure/base';
2
2
  import { DEFAULT_TTL, EnvelopeKind } from './consts.js';
3
- import { tokenize, untokenize, unwrap, wrap } from './utils/model.js';
3
+ import { utilsModelHelper } from './utils/model.js';
4
4
  export const makeEnvelopeModel = (type, kind) => {
5
5
  const model = {
6
6
  envelope: kind == null ? {
@@ -9,7 +9,7 @@ export const makeEnvelopeModel = (type, kind) => {
9
9
  dt: new Date().getTime(),
10
10
  ttl: DEFAULT_TTL
11
11
  } : kind === EnvelopeKind.Wrap
12
- ? unwrap(type) : untokenize(type),
12
+ ? utilsModelHelper.unwrap(type) : utilsModelHelper.untokenize(type),
13
13
  send: (msg, ttl) => {
14
14
  model.envelope.msg = typeof msg == 'string' ? msg : base64.encode(utf8.decode(JSON.stringify(msg)));
15
15
  if (typeof ttl !== 'undefined') {
@@ -29,8 +29,8 @@ export const makeEnvelopeModel = (type, kind) => {
29
29
  }
30
30
  },
31
31
  type: () => model.envelope.t,
32
- wrap: () => wrap(model.envelope),
33
- tokenize: () => tokenize(model.envelope),
32
+ wrap: () => utilsModelHelper.wrap(model.envelope),
33
+ tokenize: () => utilsModelHelper.tokenize(model.envelope),
34
34
  sign: async (key, kind) => {
35
35
  model.envelope.sig = await key.sign(model.envelope);
36
36
  switch (kind) {
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,19 @@
1
1
  import type { Envelope } from '../types.js';
2
- export declare const wrap: (object: Envelope) => string;
3
- export declare const tokenize: (object: Envelope) => string;
4
- export declare const untokenize: (token: string) => Envelope;
5
- export declare const unwrap: (envelope: string) => Envelope;
2
+ declare const wrap: (object: Envelope) => string;
3
+ declare const tokenize: (object: Envelope) => string;
4
+ declare const untokenize: (token: string) => Envelope;
5
+ declare const unwrap: (envelope: string) => Envelope;
6
+ export declare const createUtilsModelHelper: () => {
7
+ wrap: typeof wrap;
8
+ tokenize: typeof tokenize;
9
+ untokenize: typeof untokenize;
10
+ unwrap: typeof unwrap;
11
+ };
12
+ export declare const utilsModelHelper: {
13
+ wrap: typeof wrap;
14
+ tokenize: typeof tokenize;
15
+ untokenize: typeof untokenize;
16
+ unwrap: typeof unwrap;
17
+ };
18
+ export {};
6
19
  //# sourceMappingURL=model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/utils/model.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,eAAO,MAAM,IAAI,WAAY,QAAQ,KAAG,MACY,CAAA;AAEpD,eAAO,MAAM,QAAQ,WAAY,QAAQ,KAAG,MACgB,CAAA;AAE5D,eAAO,MAAM,UAAU,UAAW,MAAM,KAAG,QACY,CAAA;AAEvD,eAAO,MAAM,MAAM,aAAc,MAAM,KAAG,QACQ,CAAA"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/utils/model.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,QAAA,MAAM,IAAI,WAAY,QAAQ,KAAG,MACmB,CAAA;AAEpD,QAAA,MAAM,QAAQ,WAAY,QAAQ,KAAG,MACuB,CAAA;AAE5D,QAAA,MAAM,UAAU,UAAW,MAAM,KAAG,QACmB,CAAA;AAEvD,QAAA,MAAM,MAAM,aAAc,MAAM,KAAG,QACe,CAAA;AAElD,eAAO,MAAM,sBAAsB;;;;;CAAiD,CAAA;AAEpF,eAAO,MAAM,gBAAgB;;;;;CAA2B,CAAA"}
@@ -1,6 +1,8 @@
1
1
  import { base64, base64urlnopad, utf8 } from '@scure/base';
2
- export const wrap = (object) => base64.encode(utf8.decode(JSON.stringify(object)));
3
- export const tokenize = (object) => base64urlnopad.encode(utf8.decode(JSON.stringify(object)));
4
- export const untokenize = (token) => JSON.parse(utf8.encode(base64urlnopad.decode(token)));
5
- export const unwrap = (envelope) => JSON.parse(utf8.encode(base64.decode(envelope)));
2
+ const wrap = (object) => base64.encode(utf8.decode(JSON.stringify(object)));
3
+ const tokenize = (object) => base64urlnopad.encode(utf8.decode(JSON.stringify(object)));
4
+ const untokenize = (token) => JSON.parse(utf8.encode(base64urlnopad.decode(token)));
5
+ const unwrap = (envelope) => JSON.parse(utf8.encode(base64.decode(envelope)));
6
+ export const createUtilsModelHelper = () => ({ wrap, tokenize, untokenize, unwrap });
7
+ export const utilsModelHelper = createUtilsModelHelper();
6
8
  //# sourceMappingURL=model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/utils/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAG1D,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,MAAgB,EAAU,EAAE,CAC/C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAEpD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,MAAgB,EAAU,EAAE,CACnD,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAE5D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAa,EAAY,EAAE,CACpD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAEvD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,QAAgB,EAAY,EAAE,CACnD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/utils/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAG1D,MAAM,IAAI,GAAG,CAAC,MAAgB,EAAU,EAAE,CACxC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAEpD,MAAM,QAAQ,GAAG,CAAC,MAAgB,EAAU,EAAE,CAC5C,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAE5D,MAAM,UAAU,GAAG,CAAC,KAAa,EAAY,EAAE,CAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAEvD,MAAM,MAAM,GAAG,CAAC,QAAgB,EAAY,EAAE,CAC5C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;AAElD,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAA;AAEpF,MAAM,CAAC,MAAM,gBAAgB,GAAG,sBAAsB,EAAE,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { createUtilsModelHelper } from './model.js';
2
+ export type UtilsModelHelper = ReturnType<typeof createUtilsModelHelper>;
3
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAExD,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@owlmeans/basic-envelope",
3
- "version": "0.1.18-rc.43",
3
+ "version": "0.1.18-rc.45",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -23,16 +23,16 @@
23
23
  },
24
24
  "devDependencies": {
25
25
  "@owlmeans/dep-config": "workspace:*",
26
- "@owlmeans/test-auth": "^0.1.18-rc.43",
27
- "@types/bun": "^1.4.0",
26
+ "@owlmeans/test-auth": "^0.1.18-rc.45",
27
+ "@types/bun": "^1.4.2",
28
28
  "nodemon": "^3.1.14",
29
29
  "typescript": "^7.0.2"
30
30
  },
31
31
  "dependencies": {
32
- "@noble/curves": "^1.6.0",
33
- "@noble/hashes": "^1.5.0",
34
- "@owlmeans/basic-keys": "^0.1.18-rc.45",
35
- "@scure/base": "^2.3.0"
32
+ "@noble/curves": "^2.4.0",
33
+ "@noble/hashes": "^2.4.0",
34
+ "@owlmeans/basic-keys": "^0.1.18-rc.47",
35
+ "@scure/base": "^2.4.0"
36
36
  },
37
37
  "publishConfig": {
38
38
  "access": "public"
package/src/model.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { base64, utf8 } from '@scure/base'
2
2
  import { DEFAULT_TTL, EnvelopeKind } from './consts.js'
3
3
  import type { EnvelopeModel } from './types.js'
4
- import { tokenize, untokenize, unwrap, wrap } from './utils/model.js'
4
+ import { utilsModelHelper } from './utils/model.js'
5
5
 
6
6
  export const makeEnvelopeModel = <T extends {} | string = string>(
7
7
  type: string, kind?: EnvelopeKind
@@ -13,7 +13,7 @@ export const makeEnvelopeModel = <T extends {} | string = string>(
13
13
  dt: new Date().getTime(),
14
14
  ttl: DEFAULT_TTL
15
15
  } : kind === EnvelopeKind.Wrap
16
- ? unwrap(type) : untokenize(type),
16
+ ? utilsModelHelper.unwrap(type) : utilsModelHelper.untokenize(type),
17
17
 
18
18
  send: (msg, ttl) => {
19
19
  model.envelope.msg = typeof msg == 'string' ? msg : base64.encode(utf8.decode(JSON.stringify(msg)))
@@ -37,9 +37,9 @@ export const makeEnvelopeModel = <T extends {} | string = string>(
37
37
 
38
38
  type: () => model.envelope.t,
39
39
 
40
- wrap: () => wrap(model.envelope),
40
+ wrap: () => utilsModelHelper.wrap(model.envelope),
41
41
 
42
- tokenize: () => tokenize(model.envelope),
42
+ tokenize: () => utilsModelHelper.tokenize(model.envelope),
43
43
 
44
44
  sign: async (key, kind) => {
45
45
  model.envelope.sig = await key.sign(model.envelope)
@@ -1,14 +1,18 @@
1
1
  import { base64, base64urlnopad, utf8 } from '@scure/base'
2
2
  import type { Envelope } from '../types.js'
3
3
 
4
- export const wrap = (object: Envelope): string =>
4
+ const wrap = (object: Envelope): string =>
5
5
  base64.encode(utf8.decode(JSON.stringify(object)))
6
6
 
7
- export const tokenize = (object: Envelope): string =>
7
+ const tokenize = (object: Envelope): string =>
8
8
  base64urlnopad.encode(utf8.decode(JSON.stringify(object)))
9
9
 
10
- export const untokenize = (token: string): Envelope =>
10
+ const untokenize = (token: string): Envelope =>
11
11
  JSON.parse(utf8.encode(base64urlnopad.decode(token)))
12
12
 
13
- export const unwrap = (envelope: string): Envelope =>
13
+ const unwrap = (envelope: string): Envelope =>
14
14
  JSON.parse(utf8.encode(base64.decode(envelope)))
15
+
16
+ export const createUtilsModelHelper = () => ({ wrap, tokenize, untokenize, unwrap })
17
+
18
+ export const utilsModelHelper = createUtilsModelHelper()
@@ -0,0 +1,3 @@
1
+ import type { createUtilsModelHelper } from './model.js'
2
+
3
+ export type UtilsModelHelper = ReturnType<typeof createUtilsModelHelper>