atabey-shared 0.0.37 → 0.1.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.
- package/README.md +64 -25
- package/dist/agent-identity.d.ts +1 -0
- package/dist/agent-identity.js +2 -0
- package/dist/agent-identity.js.map +1 -0
- package/dist/api-catalog.d.ts +1 -0
- package/dist/api-catalog.js +2 -0
- package/dist/api-catalog.js.map +1 -0
- package/dist/audit-chain.d.ts +1 -51
- package/dist/audit-chain.js +1 -84
- package/dist/audit-chain.js.map +1 -1
- package/dist/audit.d.ts +1 -113
- package/dist/audit.js +1 -284
- package/dist/audit.js.map +1 -1
- package/dist/constants.d.ts +1 -152
- package/dist/constants.js +1 -215
- package/dist/constants.js.map +1 -1
- package/dist/database.d.ts +1 -5
- package/dist/database.js +1 -12
- package/dist/database.js.map +1 -1
- package/dist/errors.d.ts +1 -46
- package/dist/errors.js +1 -68
- package/dist/errors.js.map +1 -1
- package/dist/file-lock.d.ts +1 -88
- package/dist/file-lock.js +1 -250
- package/dist/file-lock.js.map +1 -1
- package/dist/fs.d.ts +1 -9
- package/dist/fs.js +1 -53
- package/dist/fs.js.map +1 -1
- package/dist/index.d.ts +2 -22
- package/dist/index.js +2 -22
- package/dist/index.js.map +1 -1
- package/dist/job-queue.d.ts +1 -53
- package/dist/job-queue.js +1 -126
- package/dist/job-queue.js.map +1 -1
- package/dist/lock.d.ts +1 -82
- package/dist/lock.js +1 -158
- package/dist/lock.js.map +1 -1
- package/dist/logger.d.ts +1 -30
- package/dist/logger.js +1 -126
- package/dist/logger.js.map +1 -1
- package/dist/memory-prune.d.ts +1 -0
- package/dist/memory-prune.js +2 -0
- package/dist/memory-prune.js.map +1 -0
- package/dist/migrations.d.ts +1 -0
- package/dist/migrations.js +2 -0
- package/dist/migrations.js.map +1 -0
- package/dist/modules/agent/agent-identity.d.ts +34 -0
- package/dist/modules/agent/agent-identity.js +77 -0
- package/dist/modules/agent/agent-identity.js.map +1 -0
- package/dist/modules/agent/api-catalog.d.ts +57 -0
- package/dist/modules/agent/api-catalog.js +254 -0
- package/dist/modules/agent/api-catalog.js.map +1 -0
- package/dist/modules/agent/index.d.ts +3 -0
- package/dist/modules/agent/index.js +4 -0
- package/dist/modules/agent/index.js.map +1 -0
- package/dist/modules/agent/tokenizer.d.ts +54 -0
- package/dist/modules/agent/tokenizer.js +272 -0
- package/dist/modules/agent/tokenizer.js.map +1 -0
- package/dist/modules/concurrency/file-lock.d.ts +93 -0
- package/dist/modules/concurrency/file-lock.js +240 -0
- package/dist/modules/concurrency/file-lock.js.map +1 -0
- package/dist/modules/concurrency/index.d.ts +6 -0
- package/dist/modules/concurrency/index.js +7 -0
- package/dist/modules/concurrency/index.js.map +1 -0
- package/dist/modules/concurrency/job-queue.d.ts +76 -0
- package/dist/modules/concurrency/job-queue.js +200 -0
- package/dist/modules/concurrency/job-queue.js.map +1 -0
- package/dist/modules/concurrency/lock.d.ts +82 -0
- package/dist/modules/concurrency/lock.js +159 -0
- package/dist/modules/concurrency/lock.js.map +1 -0
- package/dist/modules/concurrency/resilience.d.ts +84 -0
- package/dist/modules/concurrency/resilience.js +217 -0
- package/dist/modules/concurrency/resilience.js.map +1 -0
- package/dist/modules/concurrency/worker-pool.d.ts +52 -0
- package/dist/modules/concurrency/worker-pool.js +229 -0
- package/dist/modules/concurrency/worker-pool.js.map +1 -0
- package/dist/modules/concurrency/worker-thread.d.ts +21 -0
- package/dist/modules/concurrency/worker-thread.js +67 -0
- package/dist/modules/concurrency/worker-thread.js.map +1 -0
- package/dist/modules/index.d.ts +14 -0
- package/dist/modules/index.js +15 -0
- package/dist/modules/index.js.map +1 -0
- package/dist/modules/observability/audit-chain.d.ts +80 -0
- package/dist/modules/observability/audit-chain.js +262 -0
- package/dist/modules/observability/audit-chain.js.map +1 -0
- package/dist/modules/observability/audit.d.ts +121 -0
- package/dist/modules/observability/audit.js +322 -0
- package/dist/modules/observability/audit.js.map +1 -0
- package/dist/modules/observability/index.d.ts +4 -0
- package/dist/modules/observability/index.js +5 -0
- package/dist/modules/observability/index.js.map +1 -0
- package/dist/modules/observability/logger.d.ts +31 -0
- package/dist/modules/observability/logger.js +153 -0
- package/dist/modules/observability/logger.js.map +1 -0
- package/dist/modules/observability/otel.d.ts +39 -0
- package/dist/modules/observability/otel.js +93 -0
- package/dist/modules/observability/otel.js.map +1 -0
- package/dist/modules/primitives/constants.d.ts +150 -0
- package/dist/modules/primitives/constants.js +212 -0
- package/dist/modules/primitives/constants.js.map +1 -0
- package/dist/modules/primitives/errors.d.ts +46 -0
- package/dist/modules/primitives/errors.js +69 -0
- package/dist/modules/primitives/errors.js.map +1 -0
- package/dist/modules/primitives/fs.d.ts +9 -0
- package/dist/modules/primitives/fs.js +54 -0
- package/dist/modules/primitives/fs.js.map +1 -0
- package/dist/modules/primitives/index.d.ts +7 -0
- package/dist/modules/primitives/index.js +8 -0
- package/dist/modules/primitives/index.js.map +1 -0
- package/dist/modules/primitives/outbound-http.d.ts +32 -0
- package/dist/modules/primitives/outbound-http.js +88 -0
- package/dist/modules/primitives/outbound-http.js.map +1 -0
- package/dist/modules/primitives/string.d.ts +1 -0
- package/dist/modules/primitives/string.js +30 -0
- package/dist/modules/primitives/string.js.map +1 -0
- package/dist/modules/primitives/time.d.ts +5 -0
- package/dist/modules/primitives/time.js +35 -0
- package/dist/modules/primitives/time.js.map +1 -0
- package/dist/modules/primitives/types.d.ts +27 -0
- package/dist/modules/primitives/types.js +17 -0
- package/dist/modules/primitives/types.js.map +1 -0
- package/dist/modules/sandbox/index.d.ts +3 -0
- package/dist/modules/sandbox/index.js +4 -0
- package/dist/modules/sandbox/index.js.map +1 -0
- package/dist/modules/sandbox/sandbox-fs.d.ts +28 -0
- package/dist/modules/sandbox/sandbox-fs.js +143 -0
- package/dist/modules/sandbox/sandbox-fs.js.map +1 -0
- package/dist/modules/sandbox/sandbox-runtime.d.ts +78 -0
- package/dist/modules/sandbox/sandbox-runtime.js +282 -0
- package/dist/modules/sandbox/sandbox-runtime.js.map +1 -0
- package/dist/modules/sandbox/sandbox.d.ts +54 -0
- package/dist/modules/sandbox/sandbox.js +179 -0
- package/dist/modules/sandbox/sandbox.js.map +1 -0
- package/dist/modules/security/index.d.ts +5 -0
- package/dist/modules/security/index.js +6 -0
- package/dist/modules/security/index.js.map +1 -0
- package/dist/modules/security/pii.d.ts +70 -0
- package/dist/modules/security/pii.js +276 -0
- package/dist/modules/security/pii.js.map +1 -0
- package/dist/modules/security/policy-gate.d.ts +42 -0
- package/dist/modules/security/policy-gate.js +172 -0
- package/dist/modules/security/policy-gate.js.map +1 -0
- package/dist/modules/security/retention.d.ts +68 -0
- package/dist/modules/security/retention.js +218 -0
- package/dist/modules/security/retention.js.map +1 -0
- package/dist/modules/security/secrets.d.ts +99 -0
- package/dist/modules/security/secrets.js +371 -0
- package/dist/modules/security/secrets.js.map +1 -0
- package/dist/modules/security/tls.d.ts +87 -0
- package/dist/modules/security/tls.js +154 -0
- package/dist/modules/security/tls.js.map +1 -0
- package/dist/modules/storage/database.d.ts +6 -0
- package/dist/modules/storage/database.js +16 -0
- package/dist/modules/storage/database.js.map +1 -0
- package/dist/modules/storage/index.d.ts +4 -0
- package/dist/modules/storage/index.js +5 -0
- package/dist/modules/storage/index.js.map +1 -0
- package/dist/modules/storage/memory-prune.d.ts +18 -0
- package/dist/modules/storage/memory-prune.js +48 -0
- package/dist/modules/storage/memory-prune.js.map +1 -0
- package/dist/modules/storage/migrations.d.ts +69 -0
- package/dist/modules/storage/migrations.js +394 -0
- package/dist/modules/storage/migrations.js.map +1 -0
- package/dist/modules/storage/storage.d.ts +341 -0
- package/dist/modules/storage/storage.js +1004 -0
- package/dist/modules/storage/storage.js.map +1 -0
- package/dist/otel.d.ts +1 -0
- package/dist/otel.js +2 -0
- package/dist/otel.js.map +1 -0
- package/dist/outbound-http.d.ts +1 -0
- package/dist/outbound-http.js +2 -0
- package/dist/outbound-http.js.map +1 -0
- package/dist/pii.d.ts +1 -69
- package/dist/pii.js +1 -219
- package/dist/pii.js.map +1 -1
- package/dist/policy-gate.d.ts +1 -42
- package/dist/policy-gate.js +1 -147
- package/dist/policy-gate.js.map +1 -1
- package/dist/resilience.d.ts +1 -84
- package/dist/resilience.js +1 -216
- package/dist/resilience.js.map +1 -1
- package/dist/retention.d.ts +1 -63
- package/dist/retention.js +1 -170
- package/dist/retention.js.map +1 -1
- package/dist/sandbox-fs.d.ts +1 -28
- package/dist/sandbox-fs.js +1 -149
- package/dist/sandbox-fs.js.map +1 -1
- package/dist/sandbox-runtime.d.ts +1 -85
- package/dist/sandbox-runtime.js +1 -249
- package/dist/sandbox-runtime.js.map +1 -1
- package/dist/sandbox.d.ts +1 -54
- package/dist/sandbox.js +1 -178
- package/dist/sandbox.js.map +1 -1
- package/dist/secrets.d.ts +1 -0
- package/dist/secrets.js +2 -0
- package/dist/secrets.js.map +1 -0
- package/dist/storage.d.ts +1 -274
- package/dist/storage.js +1 -723
- package/dist/storage.js.map +1 -1
- package/dist/string.d.ts +1 -1
- package/dist/string.js +1 -29
- package/dist/string.js.map +1 -1
- package/dist/time.d.ts +1 -5
- package/dist/time.js +1 -30
- package/dist/time.js.map +1 -1
- package/dist/tls.d.ts +1 -0
- package/dist/tls.js +2 -0
- package/dist/tls.js.map +1 -0
- package/dist/tokenizer.d.ts +1 -0
- package/dist/tokenizer.js +2 -0
- package/dist/tokenizer.js.map +1 -0
- package/dist/types.d.ts +1 -27
- package/dist/types.js +1 -16
- package/dist/types.js.map +1 -1
- package/dist/worker-pool.d.ts +1 -52
- package/dist/worker-pool.js +1 -209
- package/dist/worker-pool.js.map +1 -1
- package/dist/worker-thread.d.ts +1 -21
- package/dist/worker-thread.js +1 -66
- package/dist/worker-thread.js.map +1 -1
- package/package.json +51 -29
package/dist/storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC"}
|
package/dist/string.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export * from "./modules/primitives/string.js";
|
package/dist/string.js
CHANGED
|
@@ -1,30 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
// Regex to find markdown code blocks (```lang ... ```) and extract their content.
|
|
3
|
-
// Handles cases where LLMs might wrap JSON in such blocks.
|
|
4
|
-
const markdownCodeBlockRegex = /```(?:\w+)?\s*([\s\S]*?)\s*```/g;
|
|
5
|
-
// Attempt to extract content from a single markdown code block.
|
|
6
|
-
const cleanedText = text.replace(markdownCodeBlockRegex, "$1").trim();
|
|
7
|
-
// If after stripping, it looks like JSON, return it.
|
|
8
|
-
if ((cleanedText.startsWith("{") && cleanedText.endsWith("}")) || (cleanedText.startsWith("[") && cleanedText.endsWith("]"))) {
|
|
9
|
-
return cleanedText;
|
|
10
|
-
}
|
|
11
|
-
// Fallback: If the original text itself was valid JSON (without being in a code block)
|
|
12
|
-
// or if the stripping made it valid, this check helps.
|
|
13
|
-
try {
|
|
14
|
-
JSON.parse(text.trim());
|
|
15
|
-
return text.trim(); // Original text was valid JSON
|
|
16
|
-
}
|
|
17
|
-
catch {
|
|
18
|
-
// Continue if original text wasn't valid JSON
|
|
19
|
-
}
|
|
20
|
-
// Try a more specific JSON code block extraction if the generic one didn't yield valid JSON
|
|
21
|
-
const specificJsonCodeBlockRegex = /```json\s*(\{[\s\S]*?\}|\[[\s\S]*?\])\s*```/g;
|
|
22
|
-
const specificMatch = text.match(specificJsonCodeBlockRegex);
|
|
23
|
-
if (specificMatch && specificMatch[1]) {
|
|
24
|
-
return specificMatch[1].trim();
|
|
25
|
-
}
|
|
26
|
-
// If all else fails, return the most aggressively stripped version.
|
|
27
|
-
// JSON.parse will fail if it's not valid, which is the expected behavior.
|
|
28
|
-
return cleanedText;
|
|
29
|
-
}
|
|
1
|
+
export * from "./modules/primitives/string.js";
|
|
30
2
|
//# sourceMappingURL=string.js.map
|
package/dist/string.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string.js","sourceRoot":"","sources":["../src/string.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"string.js","sourceRoot":"","sources":["../src/string.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC"}
|
package/dist/time.d.ts
CHANGED
package/dist/time.js
CHANGED
|
@@ -1,31 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* Time and unique ID utilities shared across Atabey CLI and MCP servers.
|
|
3
|
-
*/
|
|
4
|
-
export function generateULID(seedTime = Date.now(), seed) {
|
|
5
|
-
const ENCODING = "0123456789ABCDEFGHJKMNPQRSTVWXYZ";
|
|
6
|
-
const ENCODING_LEN = ENCODING.length;
|
|
7
|
-
let time = seedTime;
|
|
8
|
-
const timeChars = new Array(10);
|
|
9
|
-
for (let i = 9; i >= 0; i--) {
|
|
10
|
-
timeChars[i] = ENCODING.charAt(time % ENCODING_LEN);
|
|
11
|
-
time = Math.floor(time / ENCODING_LEN);
|
|
12
|
-
}
|
|
13
|
-
const randomChars = new Array(16);
|
|
14
|
-
if (seed) {
|
|
15
|
-
let pseudoRandom = seed;
|
|
16
|
-
for (let i = 0; i < 16; i++) {
|
|
17
|
-
pseudoRandom = (pseudoRandom * 16807) % 2147483647;
|
|
18
|
-
randomChars[i] = ENCODING.charAt(pseudoRandom % ENCODING_LEN);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
for (let i = 0; i < 16; i++) {
|
|
23
|
-
randomChars[i] = ENCODING.charAt(Math.floor(Math.random() * ENCODING_LEN));
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return timeChars.join("") + randomChars.join("");
|
|
27
|
-
}
|
|
28
|
-
export function sleep(ms) {
|
|
29
|
-
Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms);
|
|
30
|
-
}
|
|
1
|
+
export * from "./modules/primitives/time.js";
|
|
31
2
|
//# sourceMappingURL=time.js.map
|
package/dist/time.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.js","sourceRoot":"","sources":["../src/time.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"time.js","sourceRoot":"","sources":["../src/time.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC"}
|
package/dist/tls.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./modules/security/tls.js";
|
package/dist/tls.js
ADDED
package/dist/tls.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tls.js","sourceRoot":"","sources":["../src/tls.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./modules/agent/tokenizer.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../src/tokenizer.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,27 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* Agent Atabey Framework — Internal Branded Types
|
|
3
|
-
* Used to enforce absolute type safety within the core orchestration logic.
|
|
4
|
-
*/
|
|
5
|
-
export type Brand<K, T> = K & {
|
|
6
|
-
__brand: T;
|
|
7
|
-
};
|
|
8
|
-
export type TraceID = Brand<string, "TraceID">;
|
|
9
|
-
export type AgentID = Brand<string, "AgentID">;
|
|
10
|
-
export type PhaseID = Brand<string, "PhaseID">;
|
|
11
|
-
export type ProjectPath = Brand<string, "ProjectPath">;
|
|
12
|
-
export type MessageID = Brand<number, "MessageID">;
|
|
13
|
-
export type TaskID = Brand<string, "TaskID">;
|
|
14
|
-
export type LogID = Brand<number, "LogID">;
|
|
15
|
-
export type PlanID = Brand<string, "PlanID">;
|
|
16
|
-
/**
|
|
17
|
-
* Casts a raw string to a Branded Type.
|
|
18
|
-
* Use this only at the boundaries of the system.
|
|
19
|
-
*/
|
|
20
|
-
export declare function asTraceID(val: string): TraceID;
|
|
21
|
-
export declare function asAgentID(val: string): AgentID;
|
|
22
|
-
export declare function asPhaseID(val: string): PhaseID;
|
|
23
|
-
export declare function asProjectPath(val: string): ProjectPath;
|
|
24
|
-
export declare function asMessageID(val: number): MessageID;
|
|
25
|
-
export declare function asTaskID(val: string): TaskID;
|
|
26
|
-
export declare function asLogID(val: number): LogID;
|
|
27
|
-
export declare function asPlanID(val: string): PlanID;
|
|
1
|
+
export * from "./modules/primitives/types.js";
|
package/dist/types.js
CHANGED
|
@@ -1,17 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* Agent Atabey Framework — Internal Branded Types
|
|
3
|
-
* Used to enforce absolute type safety within the core orchestration logic.
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Casts a raw string to a Branded Type.
|
|
7
|
-
* Use this only at the boundaries of the system.
|
|
8
|
-
*/
|
|
9
|
-
export function asTraceID(val) { return val; }
|
|
10
|
-
export function asAgentID(val) { return val; }
|
|
11
|
-
export function asPhaseID(val) { return val; }
|
|
12
|
-
export function asProjectPath(val) { return val; }
|
|
13
|
-
export function asMessageID(val) { return val; }
|
|
14
|
-
export function asTaskID(val) { return val; }
|
|
15
|
-
export function asLogID(val) { return val; }
|
|
16
|
-
export function asPlanID(val) { return val; }
|
|
1
|
+
export * from "./modules/primitives/types.js";
|
|
17
2
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC"}
|
package/dist/worker-pool.d.ts
CHANGED
|
@@ -1,52 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* In-Memory Worker Pool — worker_threads based, no Redis/BullMQ.
|
|
3
|
-
*
|
|
4
|
-
* Heavy / isolable work runs off the main thread. Concurrency is capped
|
|
5
|
-
* (default os.cpus().length) via an internal queue so RAM/CPU stay bounded.
|
|
6
|
-
*
|
|
7
|
-
* Thread-safety note: SQLite (better-sqlite3) bindings are NOT thread-safe.
|
|
8
|
-
* Worker threads MUST NOT access AtabeyStorage or any SQLite connection.
|
|
9
|
-
* Only CPU-bound isolable work (hash, tokenize, etc.) should be dispatched
|
|
10
|
-
* to the worker pool.
|
|
11
|
-
*/
|
|
12
|
-
export interface WorkerPoolOptions {
|
|
13
|
-
/** Max concurrent worker jobs. Default: os.cpus().length (clamped 1–16). */
|
|
14
|
-
maxConcurrency?: number;
|
|
15
|
-
/** Idle workers retained in the pool. Default: min(2, maxConcurrency). */
|
|
16
|
-
minWorkers?: number;
|
|
17
|
-
/** Per-job timeout in ms. Default: 30_000. */
|
|
18
|
-
jobTimeoutMs?: number;
|
|
19
|
-
/** Optional absolute path to worker script (tests / monorepo layouts). */
|
|
20
|
-
workerScript?: string;
|
|
21
|
-
}
|
|
22
|
-
export declare class WorkerPool {
|
|
23
|
-
private readonly maxConcurrency;
|
|
24
|
-
private readonly minWorkers;
|
|
25
|
-
private readonly jobTimeoutMs;
|
|
26
|
-
private readonly workerScript;
|
|
27
|
-
private readonly workers;
|
|
28
|
-
private readonly queue;
|
|
29
|
-
private readonly inflight;
|
|
30
|
-
private jobSeq;
|
|
31
|
-
private closed;
|
|
32
|
-
constructor(options?: WorkerPoolOptions);
|
|
33
|
-
/**
|
|
34
|
-
* Run a named job type on a worker thread.
|
|
35
|
-
* Returns when the worker posts a result (or on timeout/error).
|
|
36
|
-
*/
|
|
37
|
-
run<T = unknown>(type: string, payload?: unknown): Promise<T>;
|
|
38
|
-
getStats(): {
|
|
39
|
-
maxConcurrency: number;
|
|
40
|
-
workers: number;
|
|
41
|
-
busy: number;
|
|
42
|
-
pending: number;
|
|
43
|
-
inflight: number;
|
|
44
|
-
};
|
|
45
|
-
close(): Promise<void>;
|
|
46
|
-
private failWorkerJob;
|
|
47
|
-
private spawnWorker;
|
|
48
|
-
private removeWorker;
|
|
49
|
-
private dispatch;
|
|
50
|
-
}
|
|
51
|
-
export declare function getDefaultWorkerPool(options?: WorkerPoolOptions): WorkerPool;
|
|
52
|
-
export declare function resetDefaultWorkerPool(): Promise<void>;
|
|
1
|
+
export * from "./modules/concurrency/worker-pool.js";
|
package/dist/worker-pool.js
CHANGED
|
@@ -1,210 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* In-Memory Worker Pool — worker_threads based, no Redis/BullMQ.
|
|
3
|
-
*
|
|
4
|
-
* Heavy / isolable work runs off the main thread. Concurrency is capped
|
|
5
|
-
* (default os.cpus().length) via an internal queue so RAM/CPU stay bounded.
|
|
6
|
-
*
|
|
7
|
-
* Thread-safety note: SQLite (better-sqlite3) bindings are NOT thread-safe.
|
|
8
|
-
* Worker threads MUST NOT access AtabeyStorage or any SQLite connection.
|
|
9
|
-
* Only CPU-bound isolable work (hash, tokenize, etc.) should be dispatched
|
|
10
|
-
* to the worker pool.
|
|
11
|
-
*/
|
|
12
|
-
import fs from "fs";
|
|
13
|
-
import os from "os";
|
|
14
|
-
import path from "path";
|
|
15
|
-
import { fileURLToPath } from "url";
|
|
16
|
-
import { Worker } from "worker_threads";
|
|
17
|
-
function defaultWorkerScript() {
|
|
18
|
-
// Compiled ESM layout: dist/worker-thread.js next to this module
|
|
19
|
-
const here = path.dirname(fileURLToPath(import.meta.url));
|
|
20
|
-
const jsScript = path.join(here, "worker-thread.js");
|
|
21
|
-
const tsScript = path.join(here, "worker-thread.ts");
|
|
22
|
-
// Prefer compiled JS; fall back to TS for dev (tsx/ts-node)
|
|
23
|
-
if (fs.existsSync(jsScript))
|
|
24
|
-
return jsScript;
|
|
25
|
-
if (fs.existsSync(tsScript))
|
|
26
|
-
return tsScript;
|
|
27
|
-
// Fallback: try resolving via import.meta.resolve for monorepo layouts
|
|
28
|
-
try {
|
|
29
|
-
const resolved = import.meta.resolve("./worker-thread.js");
|
|
30
|
-
if (resolved)
|
|
31
|
-
return new URL(resolved).pathname;
|
|
32
|
-
}
|
|
33
|
-
catch {
|
|
34
|
-
// ignore
|
|
35
|
-
}
|
|
36
|
-
return jsScript;
|
|
37
|
-
}
|
|
38
|
-
export class WorkerPool {
|
|
39
|
-
maxConcurrency;
|
|
40
|
-
minWorkers;
|
|
41
|
-
jobTimeoutMs;
|
|
42
|
-
workerScript;
|
|
43
|
-
workers = [];
|
|
44
|
-
queue = [];
|
|
45
|
-
inflight = new Map();
|
|
46
|
-
jobSeq = 0;
|
|
47
|
-
closed = false;
|
|
48
|
-
constructor(options = {}) {
|
|
49
|
-
const cpus = Math.max(1, os.cpus()?.length || 1);
|
|
50
|
-
const requested = options.maxConcurrency ?? cpus;
|
|
51
|
-
this.maxConcurrency = Math.max(1, Math.min(requested, 16));
|
|
52
|
-
this.minWorkers = Math.max(0, Math.min(options.minWorkers ?? Math.min(2, this.maxConcurrency), this.maxConcurrency));
|
|
53
|
-
this.jobTimeoutMs = options.jobTimeoutMs ?? 30_000;
|
|
54
|
-
this.workerScript = options.workerScript ?? defaultWorkerScript();
|
|
55
|
-
for (let i = 0; i < this.minWorkers; i++) {
|
|
56
|
-
this.spawnWorker();
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Run a named job type on a worker thread.
|
|
61
|
-
* Returns when the worker posts a result (or on timeout/error).
|
|
62
|
-
*/
|
|
63
|
-
run(type, payload) {
|
|
64
|
-
if (this.closed) {
|
|
65
|
-
return Promise.reject(new Error("[WorkerPool] Pool is closed."));
|
|
66
|
-
}
|
|
67
|
-
const id = `wjob-${++this.jobSeq}-${Date.now()}`;
|
|
68
|
-
const job = { id, type, payload };
|
|
69
|
-
return new Promise((resolve, reject) => {
|
|
70
|
-
const timer = setTimeout(() => {
|
|
71
|
-
this.inflight.delete(id);
|
|
72
|
-
reject(new Error(`[WorkerPool] Job ${id} timed out after ${this.jobTimeoutMs}ms`));
|
|
73
|
-
}, this.jobTimeoutMs);
|
|
74
|
-
const pending = {
|
|
75
|
-
job,
|
|
76
|
-
resolve: (v) => resolve(v),
|
|
77
|
-
reject,
|
|
78
|
-
timer,
|
|
79
|
-
};
|
|
80
|
-
this.queue.push(pending);
|
|
81
|
-
this.dispatch();
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
getStats() {
|
|
85
|
-
return {
|
|
86
|
-
maxConcurrency: this.maxConcurrency,
|
|
87
|
-
workers: this.workers.length,
|
|
88
|
-
busy: this.workers.filter((w) => w.busy).length,
|
|
89
|
-
pending: this.queue.length,
|
|
90
|
-
inflight: this.inflight.size,
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
async close() {
|
|
94
|
-
this.closed = true;
|
|
95
|
-
while (this.queue.length > 0) {
|
|
96
|
-
const p = this.queue.shift();
|
|
97
|
-
if (p) {
|
|
98
|
-
clearTimeout(p.timer);
|
|
99
|
-
p.reject(new Error("[WorkerPool] Pool closed while job was queued."));
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
await Promise.all(this.workers.map((pw) => new Promise((resolve) => {
|
|
103
|
-
pw.worker.once("exit", () => resolve());
|
|
104
|
-
void pw.worker.terminate();
|
|
105
|
-
})));
|
|
106
|
-
this.workers.length = 0;
|
|
107
|
-
}
|
|
108
|
-
failWorkerJob(pw, error) {
|
|
109
|
-
const jobId = pw.currentJobId;
|
|
110
|
-
pw.busy = false;
|
|
111
|
-
pw.currentJobId = null;
|
|
112
|
-
if (!jobId)
|
|
113
|
-
return;
|
|
114
|
-
const pending = this.inflight.get(jobId);
|
|
115
|
-
if (!pending)
|
|
116
|
-
return;
|
|
117
|
-
clearTimeout(pending.timer);
|
|
118
|
-
this.inflight.delete(jobId);
|
|
119
|
-
pending.reject(error);
|
|
120
|
-
}
|
|
121
|
-
spawnWorker() {
|
|
122
|
-
const worker = new Worker(this.workerScript);
|
|
123
|
-
const pw = { worker, busy: false, currentJobId: null };
|
|
124
|
-
worker.on("message", (msg) => {
|
|
125
|
-
const pending = this.inflight.get(msg.id);
|
|
126
|
-
pw.busy = false;
|
|
127
|
-
pw.currentJobId = null;
|
|
128
|
-
if (!pending) {
|
|
129
|
-
this.dispatch();
|
|
130
|
-
return;
|
|
131
|
-
}
|
|
132
|
-
clearTimeout(pending.timer);
|
|
133
|
-
this.inflight.delete(msg.id);
|
|
134
|
-
if (msg.ok) {
|
|
135
|
-
pending.resolve(msg.result);
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
pending.reject(new Error(msg.error || "Worker job failed"));
|
|
139
|
-
}
|
|
140
|
-
this.dispatch();
|
|
141
|
-
});
|
|
142
|
-
worker.on("error", (err) => {
|
|
143
|
-
this.failWorkerJob(pw, err instanceof Error ? err : new Error(String(err)));
|
|
144
|
-
this.removeWorker(pw);
|
|
145
|
-
if (!this.closed) {
|
|
146
|
-
this.spawnWorker();
|
|
147
|
-
}
|
|
148
|
-
this.dispatch();
|
|
149
|
-
});
|
|
150
|
-
worker.on("exit", (code) => {
|
|
151
|
-
if (pw.busy && pw.currentJobId) {
|
|
152
|
-
this.failWorkerJob(pw, new Error(`[WorkerPool] Worker exited with code ${code} while running job ${pw.currentJobId}`));
|
|
153
|
-
}
|
|
154
|
-
this.removeWorker(pw);
|
|
155
|
-
if (!this.closed && code !== 0) {
|
|
156
|
-
// Replace crashed worker so pool size recovers
|
|
157
|
-
if (this.workers.length < this.minWorkers) {
|
|
158
|
-
this.spawnWorker();
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
this.dispatch();
|
|
162
|
-
});
|
|
163
|
-
this.workers.push(pw);
|
|
164
|
-
return pw;
|
|
165
|
-
}
|
|
166
|
-
removeWorker(pw) {
|
|
167
|
-
const idx = this.workers.indexOf(pw);
|
|
168
|
-
if (idx >= 0)
|
|
169
|
-
this.workers.splice(idx, 1);
|
|
170
|
-
}
|
|
171
|
-
dispatch() {
|
|
172
|
-
if (this.closed)
|
|
173
|
-
return;
|
|
174
|
-
while (this.queue.length > 0) {
|
|
175
|
-
let free = this.workers.find((w) => !w.busy);
|
|
176
|
-
if (!free && this.workers.length < this.maxConcurrency) {
|
|
177
|
-
free = this.spawnWorker();
|
|
178
|
-
}
|
|
179
|
-
if (!free)
|
|
180
|
-
break;
|
|
181
|
-
const pending = this.queue.shift();
|
|
182
|
-
if (!pending)
|
|
183
|
-
break;
|
|
184
|
-
free.busy = true;
|
|
185
|
-
free.currentJobId = pending.job.id;
|
|
186
|
-
this.inflight.set(pending.job.id, pending);
|
|
187
|
-
free.worker.postMessage(pending.job);
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
let defaultPool = null;
|
|
192
|
-
export function getDefaultWorkerPool(options) {
|
|
193
|
-
if (!defaultPool) {
|
|
194
|
-
const fromEnv = process.env.ATABEY_WORKER_CONCURRENCY
|
|
195
|
-
? parseInt(process.env.ATABEY_WORKER_CONCURRENCY, 10)
|
|
196
|
-
: undefined;
|
|
197
|
-
defaultPool = new WorkerPool({
|
|
198
|
-
maxConcurrency: options?.maxConcurrency ?? (Number.isFinite(fromEnv) ? fromEnv : undefined),
|
|
199
|
-
...options,
|
|
200
|
-
});
|
|
201
|
-
}
|
|
202
|
-
return defaultPool;
|
|
203
|
-
}
|
|
204
|
-
export async function resetDefaultWorkerPool() {
|
|
205
|
-
if (defaultPool) {
|
|
206
|
-
await defaultPool.close();
|
|
207
|
-
defaultPool = null;
|
|
208
|
-
}
|
|
209
|
-
}
|
|
1
|
+
export * from "./modules/concurrency/worker-pool.js";
|
|
210
2
|
//# sourceMappingURL=worker-pool.js.map
|
package/dist/worker-pool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-pool.js","sourceRoot":"","sources":["../src/worker-pool.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"worker-pool.js","sourceRoot":"","sources":["../src/worker-pool.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC"}
|
package/dist/worker-thread.d.ts
CHANGED
|
@@ -1,21 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* Generic worker_threads entrypoint for Atabey WorkerPool.
|
|
3
|
-
* Receives serializable jobs and returns serializable results.
|
|
4
|
-
*
|
|
5
|
-
* Supported job types (extensible):
|
|
6
|
-
* - "ping" — health check
|
|
7
|
-
* - "hash" — simple string hash (CPU sample)
|
|
8
|
-
* - "tokenize" — tokenization for TF-IDF style work
|
|
9
|
-
* - "sleep" — test helper
|
|
10
|
-
*/
|
|
11
|
-
export interface WorkerJob {
|
|
12
|
-
id: string;
|
|
13
|
-
type: string;
|
|
14
|
-
payload?: unknown;
|
|
15
|
-
}
|
|
16
|
-
export interface WorkerResult {
|
|
17
|
-
id: string;
|
|
18
|
-
ok: boolean;
|
|
19
|
-
result?: unknown;
|
|
20
|
-
error?: string;
|
|
21
|
-
}
|
|
1
|
+
export * from "./modules/concurrency/worker-thread.js";
|
package/dist/worker-thread.js
CHANGED
|
@@ -1,67 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* Generic worker_threads entrypoint for Atabey WorkerPool.
|
|
3
|
-
* Receives serializable jobs and returns serializable results.
|
|
4
|
-
*
|
|
5
|
-
* Supported job types (extensible):
|
|
6
|
-
* - "ping" — health check
|
|
7
|
-
* - "hash" — simple string hash (CPU sample)
|
|
8
|
-
* - "tokenize" — tokenization for TF-IDF style work
|
|
9
|
-
* - "sleep" — test helper
|
|
10
|
-
*/
|
|
11
|
-
import { parentPort } from "worker_threads";
|
|
12
|
-
function tokenize(text) {
|
|
13
|
-
return text
|
|
14
|
-
.toLowerCase()
|
|
15
|
-
.replace(/[^\w\s-]/g, " ")
|
|
16
|
-
.split(/\s+/)
|
|
17
|
-
.filter((t) => t.length > 1);
|
|
18
|
-
}
|
|
19
|
-
function simpleHash(input) {
|
|
20
|
-
let h = 0;
|
|
21
|
-
for (let i = 0; i < input.length; i++) {
|
|
22
|
-
h = (Math.imul(31, h) + input.charCodeAt(i)) | 0;
|
|
23
|
-
}
|
|
24
|
-
return h >>> 0;
|
|
25
|
-
}
|
|
26
|
-
async function handleJob(job) {
|
|
27
|
-
switch (job.type) {
|
|
28
|
-
case "ping":
|
|
29
|
-
return { pong: true, pid: process.pid, ts: Date.now() };
|
|
30
|
-
case "hash": {
|
|
31
|
-
const text = String(job.payload?.text ?? "");
|
|
32
|
-
return { hash: simpleHash(text), length: text.length };
|
|
33
|
-
}
|
|
34
|
-
case "tokenize": {
|
|
35
|
-
const text = String(job.payload?.text ?? "");
|
|
36
|
-
const tokens = tokenize(text);
|
|
37
|
-
return { tokens, count: tokens.length };
|
|
38
|
-
}
|
|
39
|
-
case "sleep": {
|
|
40
|
-
const ms = Math.min(10_000, Math.max(0, Number(job.payload?.ms ?? 0)));
|
|
41
|
-
await new Promise((r) => setTimeout(r, ms));
|
|
42
|
-
return { slept: ms };
|
|
43
|
-
}
|
|
44
|
-
default:
|
|
45
|
-
throw new Error(`Unknown worker job type: ${job.type}`);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
if (parentPort) {
|
|
49
|
-
parentPort.on("message", (job) => {
|
|
50
|
-
void (async () => {
|
|
51
|
-
try {
|
|
52
|
-
const result = await handleJob(job);
|
|
53
|
-
const msg = { id: job.id, ok: true, result };
|
|
54
|
-
parentPort.postMessage(msg);
|
|
55
|
-
}
|
|
56
|
-
catch (err) {
|
|
57
|
-
const msg = {
|
|
58
|
-
id: job.id,
|
|
59
|
-
ok: false,
|
|
60
|
-
error: err instanceof Error ? err.message : String(err),
|
|
61
|
-
};
|
|
62
|
-
parentPort.postMessage(msg);
|
|
63
|
-
}
|
|
64
|
-
})();
|
|
65
|
-
});
|
|
66
|
-
}
|
|
1
|
+
export * from "./modules/concurrency/worker-thread.js";
|
|
67
2
|
//# sourceMappingURL=worker-thread.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-thread.js","sourceRoot":"","sources":["../src/worker-thread.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"worker-thread.js","sourceRoot":"","sources":["../src/worker-thread.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC"}
|