@procwire/transport 0.1.1 → 0.2.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.
Files changed (70) hide show
  1. package/README.md +130 -4
  2. package/dist/channel/builder.d.ts +23 -0
  3. package/dist/channel/builder.d.ts.map +1 -1
  4. package/dist/channel/builder.js +46 -0
  5. package/dist/channel/builder.js.map +1 -1
  6. package/dist/channel/index.d.ts +1 -1
  7. package/dist/channel/index.d.ts.map +1 -1
  8. package/dist/channel/index.js +1 -1
  9. package/dist/channel/index.js.map +1 -1
  10. package/dist/channel/quickstart.d.ts.map +1 -1
  11. package/dist/channel/quickstart.js +16 -10
  12. package/dist/channel/quickstart.js.map +1 -1
  13. package/dist/channel/request-channel.d.ts +10 -1
  14. package/dist/channel/request-channel.d.ts.map +1 -1
  15. package/dist/channel/request-channel.js +161 -35
  16. package/dist/channel/request-channel.js.map +1 -1
  17. package/dist/channel/types.d.ts +135 -7
  18. package/dist/channel/types.d.ts.map +1 -1
  19. package/dist/framing/length-prefixed.d.ts +5 -1
  20. package/dist/framing/length-prefixed.d.ts.map +1 -1
  21. package/dist/framing/length-prefixed.js +94 -15
  22. package/dist/framing/length-prefixed.js.map +1 -1
  23. package/dist/framing/line-delimited.d.ts +4 -1
  24. package/dist/framing/line-delimited.d.ts.map +1 -1
  25. package/dist/framing/line-delimited.js +89 -23
  26. package/dist/framing/line-delimited.js.map +1 -1
  27. package/dist/index.d.ts +3 -0
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +3 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/process/handle.d.ts.map +1 -1
  32. package/dist/process/handle.js.map +1 -1
  33. package/dist/process/manager.d.ts +16 -0
  34. package/dist/process/manager.d.ts.map +1 -1
  35. package/dist/process/manager.js +140 -81
  36. package/dist/process/manager.js.map +1 -1
  37. package/dist/process/types.d.ts +110 -1
  38. package/dist/process/types.d.ts.map +1 -1
  39. package/dist/protocol/jsonrpc.d.ts.map +1 -1
  40. package/dist/protocol/jsonrpc.js.map +1 -1
  41. package/dist/protocol/simple.d.ts.map +1 -1
  42. package/dist/protocol/simple.js.map +1 -1
  43. package/dist/serialization/json.d.ts.map +1 -1
  44. package/dist/serialization/json.js.map +1 -1
  45. package/dist/transport/socket-server.d.ts.map +1 -1
  46. package/dist/transport/socket-server.js.map +1 -1
  47. package/dist/transport/socket-transport.d.ts +11 -13
  48. package/dist/transport/socket-transport.d.ts.map +1 -1
  49. package/dist/transport/socket-transport.js +57 -26
  50. package/dist/transport/socket-transport.js.map +1 -1
  51. package/dist/transport/stdio-transport.d.ts +12 -19
  52. package/dist/transport/stdio-transport.d.ts.map +1 -1
  53. package/dist/transport/stdio-transport.js +54 -33
  54. package/dist/transport/stdio-transport.js.map +1 -1
  55. package/dist/utils/index.d.ts +1 -0
  56. package/dist/utils/index.d.ts.map +1 -1
  57. package/dist/utils/index.js +1 -0
  58. package/dist/utils/index.js.map +1 -1
  59. package/dist/utils/metrics.d.ts +6 -0
  60. package/dist/utils/metrics.d.ts.map +1 -0
  61. package/dist/utils/metrics.js +2 -0
  62. package/dist/utils/metrics.js.map +1 -0
  63. package/dist/utils/pipe-path.d.ts +8 -2
  64. package/dist/utils/pipe-path.d.ts.map +1 -1
  65. package/dist/utils/pipe-path.js +27 -4
  66. package/dist/utils/pipe-path.js.map +1 -1
  67. package/dist/utils/platform.d.ts.map +1 -1
  68. package/dist/utils/platform.js +1 -1
  69. package/dist/utils/platform.js.map +1 -1
  70. package/package.json +6 -5
@@ -0,0 +1,6 @@
1
+ export interface MetricsCollector {
2
+ incrementCounter(name: string, value?: number, tags?: Record<string, string>): void;
3
+ recordGauge(name: string, value: number, tags?: Record<string, string>): void;
4
+ recordHistogram(name: string, value: number, tags?: Record<string, string>): void;
5
+ }
6
+ //# sourceMappingURL=metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/utils/metrics.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACpF,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAC9E,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CACnF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/utils/metrics.ts"],"names":[],"mappings":""}
@@ -8,20 +8,26 @@ export declare class PipePath {
8
8
  * Generates a platform-specific pipe/socket path for a module.
9
9
  *
10
10
  * Windows: `\\.\pipe\<namespace>-<moduleId>`
11
- * Unix: `/tmp/<namespace>-<moduleId>.sock`
11
+ * Unix: `<baseDir>/<namespace>-<moduleId>.sock`
12
12
  *
13
13
  * @param namespace - Application namespace (e.g., 'procwire')
14
14
  * @param moduleId - Module identifier (e.g., 'worker-1')
15
+ * @param baseDir - Optional base directory for Unix sockets. Defaults to `os.tmpdir()`.
16
+ * Ignored on Windows (Named Pipes are virtual).
15
17
  * @returns Platform-specific pipe/socket path
18
+ * @throws Error if Unix socket path exceeds 104 characters (system limit)
16
19
  *
17
20
  * @example
18
21
  * ```ts
19
22
  * // Windows: \\.\pipe\procwire-worker-1
20
23
  * // Unix: /tmp/procwire-worker-1.sock
21
24
  * const path = PipePath.forModule('procwire', 'worker-1');
25
+ *
26
+ * // Custom base directory (Unix only)
27
+ * const path = PipePath.forModule('procwire', 'worker-1', '/var/run/myapp');
22
28
  * ```
23
29
  */
24
- static forModule(namespace: string, moduleId: string): string;
30
+ static forModule(namespace: string, moduleId: string, baseDir?: string): string;
25
31
  /**
26
32
  * Cleans up a pipe/socket path (Unix only).
27
33
  *
@@ -1 +1 @@
1
- {"version":3,"file":"pipe-path.d.ts","sourceRoot":"","sources":["../../src/utils/pipe-path.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,qBAAa,QAAQ;IACnB;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAe7D;;;;;;;;;;;;OAYG;WACU,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBrD;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ;CAMxB"}
1
+ {"version":3,"file":"pipe-path.d.ts","sourceRoot":"","sources":["../../src/utils/pipe-path.ts"],"names":[],"mappings":"AAYA;;;;GAIG;AACH,qBAAa,QAAQ;IACnB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IA6B/E;;;;;;;;;;;;OAYG;WACU,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBrD;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ;CAMxB"}
@@ -1,6 +1,13 @@
1
1
  import * as fs from "node:fs/promises";
2
2
  import * as path from "node:path";
3
+ import { tmpdir } from "node:os";
3
4
  import { isWindows } from "./platform.js";
5
+ /**
6
+ * Maximum Unix socket path length.
7
+ * Linux: 108 bytes, macOS: 104 bytes.
8
+ * We use the lower limit (104) to ensure cross-platform compatibility.
9
+ */
10
+ const UNIX_SOCKET_MAX_PATH_LENGTH = 104;
4
11
  /**
5
12
  * Cross-platform pipe path utilities for Named Pipes (Windows) and Unix Domain Sockets.
6
13
  *
@@ -11,31 +18,47 @@ export class PipePath {
11
18
  * Generates a platform-specific pipe/socket path for a module.
12
19
  *
13
20
  * Windows: `\\.\pipe\<namespace>-<moduleId>`
14
- * Unix: `/tmp/<namespace>-<moduleId>.sock`
21
+ * Unix: `<baseDir>/<namespace>-<moduleId>.sock`
15
22
  *
16
23
  * @param namespace - Application namespace (e.g., 'procwire')
17
24
  * @param moduleId - Module identifier (e.g., 'worker-1')
25
+ * @param baseDir - Optional base directory for Unix sockets. Defaults to `os.tmpdir()`.
26
+ * Ignored on Windows (Named Pipes are virtual).
18
27
  * @returns Platform-specific pipe/socket path
28
+ * @throws Error if Unix socket path exceeds 104 characters (system limit)
19
29
  *
20
30
  * @example
21
31
  * ```ts
22
32
  * // Windows: \\.\pipe\procwire-worker-1
23
33
  * // Unix: /tmp/procwire-worker-1.sock
24
34
  * const path = PipePath.forModule('procwire', 'worker-1');
35
+ *
36
+ * // Custom base directory (Unix only)
37
+ * const path = PipePath.forModule('procwire', 'worker-1', '/var/run/myapp');
25
38
  * ```
26
39
  */
27
- static forModule(namespace, moduleId) {
40
+ static forModule(namespace, moduleId, baseDir) {
28
41
  // Sanitize inputs to remove problematic characters
29
42
  const sanitizedNamespace = this.sanitize(namespace);
30
43
  const sanitizedModuleId = this.sanitize(moduleId);
31
44
  const name = `${sanitizedNamespace}-${sanitizedModuleId}`;
32
45
  if (isWindows()) {
33
46
  // Windows Named Pipe: \\.\pipe\<name>
47
+ // Named Pipes are virtual and don't have path length limits
34
48
  return `\\\\.\\pipe\\${name}`;
35
49
  }
36
50
  else {
37
- // Unix Domain Socket: /tmp/<name>.sock
38
- return path.join("/tmp", `${name}.sock`);
51
+ // Unix Domain Socket: <baseDir>/<name>.sock
52
+ const effectiveBaseDir = baseDir ?? tmpdir();
53
+ const socketPath = path.join(effectiveBaseDir, `${name}.sock`);
54
+ // Validate path length (Linux: 108, macOS: 104 - use lower limit)
55
+ if (socketPath.length > UNIX_SOCKET_MAX_PATH_LENGTH) {
56
+ throw new Error(`Unix socket path exceeds maximum length of ${UNIX_SOCKET_MAX_PATH_LENGTH} characters. ` +
57
+ `Current length: ${socketPath.length}. ` +
58
+ `Path: "${socketPath}". ` +
59
+ `Consider shortening namespace or moduleId.`);
60
+ }
61
+ return socketPath;
39
62
  }
40
63
  }
41
64
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"pipe-path.js","sourceRoot":"","sources":["../../src/utils/pipe-path.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C;;;;GAIG;AACH,MAAM,OAAO,QAAQ;IACnB;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,SAAS,CAAC,SAAiB,EAAE,QAAgB;QAClD,mDAAmD;QACnD,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,GAAG,kBAAkB,IAAI,iBAAiB,EAAE,CAAC;QAE1D,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,sCAAsC;YACtC,OAAO,gBAAgB,IAAI,EAAE,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,uCAAuC;YACvC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAgB;QACnC,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,qDAAqD;YACrD,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,uCAAuC;YACvC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACrB,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,8DAA8D;YAC9D,4BAA4B;YAC5B,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvD,wCAAwC;gBACxC,mDAAmD;YACrD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,QAAQ,CAAC,KAAa;QACnC,OAAO,KAAK;aACT,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,mDAAmD;aACnF,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,2CAA2C;aAClE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,kCAAkC;IAChE,CAAC;CACF"}
1
+ {"version":3,"file":"pipe-path.js","sourceRoot":"","sources":["../../src/utils/pipe-path.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C;;;;GAIG;AACH,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAExC;;;;GAIG;AACH,MAAM,OAAO,QAAQ;IACnB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,SAAS,CAAC,SAAiB,EAAE,QAAgB,EAAE,OAAgB;QACpE,mDAAmD;QACnD,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,GAAG,kBAAkB,IAAI,iBAAiB,EAAE,CAAC;QAE1D,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,sCAAsC;YACtC,4DAA4D;YAC5D,OAAO,gBAAgB,IAAI,EAAE,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,4CAA4C;YAC5C,MAAM,gBAAgB,GAAG,OAAO,IAAI,MAAM,EAAE,CAAC;YAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;YAE/D,kEAAkE;YAClE,IAAI,UAAU,CAAC,MAAM,GAAG,2BAA2B,EAAE,CAAC;gBACpD,MAAM,IAAI,KAAK,CACb,8CAA8C,2BAA2B,eAAe;oBACtF,mBAAmB,UAAU,CAAC,MAAM,IAAI;oBACxC,UAAU,UAAU,KAAK;oBACzB,4CAA4C,CAC/C,CAAC;YACJ,CAAC;YAED,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAgB;QACnC,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,qDAAqD;YACrD,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,uCAAuC;YACvC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACrB,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,8DAA8D;YAC9D,4BAA4B;YAC5B,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvD,wCAAwC;gBACxC,mDAAmD;YACrD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,QAAQ,CAAC,KAAa;QACnC,OAAO,KAAK;aACT,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,mDAAmD;aACnF,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,2CAA2C;aAClE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,kCAAkC;IAChE,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/utils/platform.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;GAEG;AACH,wBAAgB,MAAM,IAAI,OAAO,CAEhC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAAC,QAAQ,CAE7C"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/utils/platform.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;GAEG;AACH,wBAAgB,MAAM,IAAI,OAAO,CAIhC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAAC,QAAQ,CAE7C"}
@@ -11,7 +11,7 @@ export function isWindows() {
11
11
  * Returns true if running on Unix-like platform (Linux, macOS, BSD).
12
12
  */
13
13
  export function isUnix() {
14
- return process.platform === "darwin" || process.platform === "linux" || process.platform === "freebsd";
14
+ return (process.platform === "darwin" || process.platform === "linux" || process.platform === "freebsd");
15
15
  }
16
16
  /**
17
17
  * Returns current platform identifier.
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/utils/platform.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM;IACpB,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC;AACzG,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,OAAO,CAAC,QAAQ,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/utils/platform.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM;IACpB,OAAO,CACL,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,CAChG,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,OAAO,CAAC,QAAQ,CAAC;AAC1B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@procwire/transport",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "Standalone IPC transport building blocks for Node.js (core; zero runtime dependencies).",
5
5
  "keywords": [
6
6
  "ipc",
@@ -16,13 +16,13 @@
16
16
  "author": "Sebastian Webdev",
17
17
  "repository": {
18
18
  "type": "git",
19
- "url": "https://github.com/SebastianWebdev/procwire.git",
20
- "directory": "transport"
19
+ "url": "git+https://github.com/SebastianWebdev/procwire.git",
20
+ "directory": "packages/transport"
21
21
  },
22
22
  "bugs": {
23
23
  "url": "https://github.com/SebastianWebdev/procwire/issues"
24
24
  },
25
- "homepage": "https://github.com/SebastianWebdev/procwire/tree/main/transport#readme",
25
+ "homepage": "https://www.procwire.dev",
26
26
  "type": "module",
27
27
  "sideEffects": false,
28
28
  "license": "MIT",
@@ -67,7 +67,8 @@
67
67
  "LICENSE"
68
68
  ],
69
69
  "publishConfig": {
70
- "access": "public"
70
+ "access": "public",
71
+ "provenance": true
71
72
  },
72
73
  "dependencies": {},
73
74
  "devDependencies": {