knitting 0.1.53 → 0.1.55

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 (135) hide show
  1. package/README.md +38 -27
  2. package/knitting.d.ts +797 -5
  3. package/knitting.js +9780 -5
  4. package/map.md +9 -12
  5. package/package.json +14 -13
  6. package/shared-memory.d.ts +155 -0
  7. package/shared-memory.js +1342 -0
  8. package/unsafe.d.ts +71 -1
  9. package/unsafe.js +878 -1
  10. package/utils.d.ts +31 -1
  11. package/utils.js +116 -1
  12. package/process-shared-buffer.d.ts +0 -1
  13. package/process-shared-buffer.js +0 -1
  14. package/src/api.d.ts +0 -69
  15. package/src/api.js +0 -555
  16. package/src/common/envelope.d.ts +0 -17
  17. package/src/common/envelope.js +0 -22
  18. package/src/common/module-url.d.ts +0 -1
  19. package/src/common/module-url.js +0 -24
  20. package/src/common/node-compat.d.ts +0 -20
  21. package/src/common/node-compat.js +0 -24
  22. package/src/common/path-canonical.d.ts +0 -6
  23. package/src/common/path-canonical.js +0 -41
  24. package/src/common/runtime.d.ts +0 -15
  25. package/src/common/runtime.js +0 -91
  26. package/src/common/shared-buffer-region.d.ts +0 -11
  27. package/src/common/shared-buffer-region.js +0 -21
  28. package/src/common/shared-buffer-text.d.ts +0 -16
  29. package/src/common/shared-buffer-text.js +0 -65
  30. package/src/common/task-source.d.ts +0 -3
  31. package/src/common/task-source.js +0 -84
  32. package/src/common/task-symbol.d.ts +0 -1
  33. package/src/common/task-symbol.js +0 -1
  34. package/src/common/with-resolvers.d.ts +0 -9
  35. package/src/common/with-resolvers.js +0 -23
  36. package/src/common/worker-runtime.d.ts +0 -42
  37. package/src/common/worker-runtime.js +0 -61
  38. package/src/connections/buffer-reference-native.d.ts +0 -56
  39. package/src/connections/buffer-reference-native.js +0 -217
  40. package/src/connections/buffer-reference.d.ts +0 -78
  41. package/src/connections/buffer-reference.js +0 -461
  42. package/src/connections/bun.d.ts +0 -22
  43. package/src/connections/bun.js +0 -214
  44. package/src/connections/deno.d.ts +0 -22
  45. package/src/connections/deno.js +0 -205
  46. package/src/connections/file-descriptor.d.ts +0 -39
  47. package/src/connections/file-descriptor.js +0 -161
  48. package/src/connections/index.d.ts +0 -4
  49. package/src/connections/index.js +0 -4
  50. package/src/connections/node-addons.d.ts +0 -5
  51. package/src/connections/node-addons.js +0 -43
  52. package/src/connections/node-buffer-pointer.d.ts +0 -20
  53. package/src/connections/node-buffer-pointer.js +0 -16
  54. package/src/connections/node.d.ts +0 -30
  55. package/src/connections/node.js +0 -62
  56. package/src/connections/posix.d.ts +0 -32
  57. package/src/connections/posix.js +0 -77
  58. package/src/connections/process-shared-buffer.d.ts +0 -75
  59. package/src/connections/process-shared-buffer.js +0 -279
  60. package/src/connections/shared-array-buffer-payload.d.ts +0 -36
  61. package/src/connections/shared-array-buffer-payload.js +0 -235
  62. package/src/connections/types.d.ts +0 -50
  63. package/src/connections/types.js +0 -37
  64. package/src/connections/windows.d.ts +0 -28
  65. package/src/connections/windows.js +0 -224
  66. package/src/debug/env-diff.d.ts +0 -26
  67. package/src/debug/env-diff.js +0 -49
  68. package/src/debug/gate.d.ts +0 -18
  69. package/src/debug/gate.js +0 -69
  70. package/src/debug/handle.d.ts +0 -23
  71. package/src/debug/handle.js +0 -48
  72. package/src/error.d.ts +0 -13
  73. package/src/error.js +0 -49
  74. package/src/ipc/tools/ring-queue.d.ts +0 -33
  75. package/src/ipc/tools/ring-queue.js +0 -159
  76. package/src/ipc/transport/shared-memory.d.ts +0 -23
  77. package/src/ipc/transport/shared-memory.js +0 -35
  78. package/src/memory/byte-carpet.d.ts +0 -73
  79. package/src/memory/byte-carpet.js +0 -157
  80. package/src/memory/lock.d.ts +0 -201
  81. package/src/memory/lock.js +0 -739
  82. package/src/memory/payload-config.d.ts +0 -31
  83. package/src/memory/payload-config.js +0 -67
  84. package/src/memory/payloadCodec.d.ts +0 -46
  85. package/src/memory/payloadCodec.js +0 -1334
  86. package/src/memory/regionRegistry.d.ts +0 -17
  87. package/src/memory/regionRegistry.js +0 -285
  88. package/src/memory/shared-buffer-io.d.ts +0 -55
  89. package/src/memory/shared-buffer-io.js +0 -403
  90. package/src/permission/index.d.ts +0 -2
  91. package/src/permission/index.js +0 -2
  92. package/src/permission/protocol.d.ts +0 -166
  93. package/src/permission/protocol.js +0 -650
  94. package/src/runtime/balancer.d.ts +0 -19
  95. package/src/runtime/balancer.js +0 -149
  96. package/src/runtime/dispatcher.d.ts +0 -34
  97. package/src/runtime/dispatcher.js +0 -142
  98. package/src/runtime/inline-executor.d.ts +0 -10
  99. package/src/runtime/inline-executor.js +0 -282
  100. package/src/runtime/pool.d.ts +0 -30
  101. package/src/runtime/pool.js +0 -391
  102. package/src/runtime/process-worker.d.ts +0 -92
  103. package/src/runtime/process-worker.js +0 -673
  104. package/src/runtime/tx-queue.d.ts +0 -26
  105. package/src/runtime/tx-queue.js +0 -151
  106. package/src/shared/abortSignal.d.ts +0 -23
  107. package/src/shared/abortSignal.js +0 -134
  108. package/src/types.d.ts +0 -346
  109. package/src/types.js +0 -2
  110. package/src/utils/http.d.ts +0 -29
  111. package/src/utils/http.js +0 -100
  112. package/src/worker/bootstrap.d.ts +0 -5
  113. package/src/worker/bootstrap.js +0 -78
  114. package/src/worker/composable-runners.d.ts +0 -12
  115. package/src/worker/composable-runners.js +0 -97
  116. package/src/worker/loop.d.ts +0 -2
  117. package/src/worker/loop.js +0 -382
  118. package/src/worker/process-worker-bootstrap.d.ts +0 -8
  119. package/src/worker/process-worker-bootstrap.js +0 -160
  120. package/src/worker/rx-queue.d.ts +0 -25
  121. package/src/worker/rx-queue.js +0 -173
  122. package/src/worker/safety/index.d.ts +0 -4
  123. package/src/worker/safety/index.js +0 -4
  124. package/src/worker/safety/performance.d.ts +0 -1
  125. package/src/worker/safety/performance.js +0 -17
  126. package/src/worker/safety/process.d.ts +0 -2
  127. package/src/worker/safety/process.js +0 -79
  128. package/src/worker/safety/startup.d.ts +0 -16
  129. package/src/worker/safety/startup.js +0 -30
  130. package/src/worker/safety/worker-data.d.ts +0 -2
  131. package/src/worker/safety/worker-data.js +0 -36
  132. package/src/worker/task-loader.d.ts +0 -27
  133. package/src/worker/task-loader.js +0 -78
  134. package/src/worker/timers.d.ts +0 -18
  135. package/src/worker/timers.js +0 -116
package/unsafe.d.ts CHANGED
@@ -1 +1,71 @@
1
- export { BUFFER_REFERENCE_CODEC_ID, BUFFER_REFERENCE_KIND, BufferReference, type BufferReferenceMetadata, BufferReferenceReturn, type BufferReferenceRuntime, isBufferReferenceMetadata, } from "./src/connections/buffer-reference.js";
1
+ export type BufferReferenceRuntime = "node" | "deno" | "bun";
2
+ export declare const BUFFER_REFERENCE_KIND: "knitting.bufferReference";
3
+ /** Named values for the `unsafe.BufferReferenceReturn` pool option. */
4
+ export declare const BufferReferenceReturn: {
5
+ /** Safe default: Deno/Bun copy the returned bytes so they outlive the worker. */
6
+ readonly Copy: "copy";
7
+ /** Zero-copy: borrow the worker's backing store until the reference is released. */
8
+ readonly Borrow: "borrow";
9
+ };
10
+ export type BufferReferenceReturn = (typeof BufferReferenceReturn)[keyof typeof BufferReferenceReturn];
11
+ declare const BUFFER_REFERENCE_NUMERIC_TRANSFER: unique symbol;
12
+ declare const EXTERNAL_PAYLOAD_BRAND: unique symbol;
13
+ export declare const BUFFER_REFERENCE_CODEC_ID: "knitting.bufferReference";
14
+ type BufferReferenceNumericMetadata = readonly [
15
+ pointerLow: number,
16
+ pointerHigh: number,
17
+ tokenLow: number,
18
+ tokenHigh: number,
19
+ byteOffset: number,
20
+ byteLength: number,
21
+ runtime: number,
22
+ originPid: number
23
+ ];
24
+ export type BufferReferenceMetadata = {
25
+ readonly kind: typeof BUFFER_REFERENCE_KIND;
26
+ readonly origin: string;
27
+ readonly runtime: BufferReferenceRuntime;
28
+ readonly pointer: string;
29
+ /** Producer-side release handle (process-local). */
30
+ readonly token: string;
31
+ readonly byteOffset: number;
32
+ readonly byteLength: number;
33
+ };
34
+ type BufferReferenceReturnReleaser = (token: bigint) => void;
35
+ type BufferSource$1 = ArrayBufferView | ArrayBuffer;
36
+ declare const PAYLOAD_TRANSPORT_FINALIZER: unique symbol;
37
+ export declare const isBufferReferenceMetadata: (value: unknown) => value is BufferReferenceMetadata;
38
+ /**
39
+ * Zero-copy handle for moving ArrayBuffer bytes to/from **thread** workers.
40
+ *
41
+ * Construction detaches the source. Consumers materialize the moved region in
42
+ * their isolate: owning on Node, alias/copy on Deno/Bun. Return a
43
+ * `BufferReference` for large binary results to avoid copying back through the
44
+ * transport. Use `ProcessSharedBuffer` across process boundaries.
45
+ */
46
+ export declare class BufferReference {
47
+ #private;
48
+ readonly [EXTERNAL_PAYLOAD_BRAND]: "knitting.bufferReference";
49
+ readonly runtime: BufferReferenceRuntime;
50
+ readonly origin: string;
51
+ readonly pointer: bigint;
52
+ readonly byteOffset: number;
53
+ readonly byteLength: number;
54
+ constructor(source: BufferSource$1);
55
+ constructor(source: BufferSource$1 | undefined, meta: BufferReferenceMetadata);
56
+ static fromMetadata(meta: BufferReferenceMetadata): BufferReference;
57
+ toMetadata(): BufferReferenceMetadata;
58
+ [BUFFER_REFERENCE_NUMERIC_TRANSFER](): BufferReferenceNumericMetadata | undefined;
59
+ get isLocal(): boolean;
60
+ /** Prepare a returned reference before the worker-side producer hold drains. */
61
+ claimOwnership(releaser?: BufferReferenceReturnReleaser): this;
62
+ toArrayBuffer(): ArrayBuffer;
63
+ toUint8Array(): Uint8Array;
64
+ /** The source is moved on construction, so it is never retained here. */
65
+ get source(): undefined;
66
+ release(): void;
67
+ [Symbol.dispose](): void;
68
+ [PAYLOAD_TRANSPORT_FINALIZER](): (() => void) | undefined;
69
+ }
70
+
71
+ export {};