@framers/agentos 0.1.55 → 0.1.57
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 +67 -16
- package/dist/api/types/AgentOSResponse.d.ts +7 -0
- package/dist/api/types/AgentOSResponse.d.ts.map +1 -1
- package/dist/core/guardrails/IGuardrailService.d.ts +39 -0
- package/dist/core/guardrails/IGuardrailService.d.ts.map +1 -1
- package/dist/core/guardrails/ParallelGuardrailDispatcher.d.ts +92 -0
- package/dist/core/guardrails/ParallelGuardrailDispatcher.d.ts.map +1 -0
- package/dist/core/guardrails/ParallelGuardrailDispatcher.js +463 -0
- package/dist/core/guardrails/ParallelGuardrailDispatcher.js.map +1 -0
- package/dist/core/guardrails/guardrailDispatcher.d.ts +59 -1
- package/dist/core/guardrails/guardrailDispatcher.d.ts.map +1 -1
- package/dist/core/guardrails/guardrailDispatcher.js +49 -154
- package/dist/core/guardrails/guardrailDispatcher.js.map +1 -1
- package/dist/core/guardrails/index.d.ts +1 -0
- package/dist/core/guardrails/index.d.ts.map +1 -1
- package/dist/core/guardrails/index.js +2 -0
- package/dist/core/guardrails/index.js.map +1 -1
- package/dist/core/utils/index.d.ts +13 -0
- package/dist/core/utils/index.d.ts.map +1 -0
- package/dist/core/utils/index.js +13 -0
- package/dist/core/utils/index.js.map +1 -0
- package/dist/core/utils/text-utils.d.ts +164 -0
- package/dist/core/utils/text-utils.d.ts.map +1 -0
- package/dist/core/utils/text-utils.js +254 -0
- package/dist/core/utils/text-utils.js.map +1 -0
- package/dist/extensions/ExtensionManager.d.ts +1 -0
- package/dist/extensions/ExtensionManager.d.ts.map +1 -1
- package/dist/extensions/ExtensionManager.js +8 -0
- package/dist/extensions/ExtensionManager.js.map +1 -1
- package/dist/extensions/ISharedServiceRegistry.d.ts +35 -0
- package/dist/extensions/ISharedServiceRegistry.d.ts.map +1 -0
- package/dist/extensions/ISharedServiceRegistry.js +2 -0
- package/dist/extensions/ISharedServiceRegistry.js.map +1 -0
- package/dist/extensions/SharedServiceRegistry.d.ts +15 -0
- package/dist/extensions/SharedServiceRegistry.d.ts.map +1 -0
- package/dist/extensions/SharedServiceRegistry.js +63 -0
- package/dist/extensions/SharedServiceRegistry.js.map +1 -0
- package/dist/extensions/index.d.ts +2 -0
- package/dist/extensions/index.d.ts.map +1 -1
- package/dist/extensions/index.js +2 -0
- package/dist/extensions/index.js.map +1 -1
- package/dist/extensions/manifest.d.ts +2 -0
- package/dist/extensions/manifest.d.ts.map +1 -1
- package/dist/extensions/types.d.ts +5 -0
- package/dist/extensions/types.d.ts.map +1 -1
- package/dist/extensions/types.js.map +1 -1
- package/package.json +6 -1
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Shared text utility functions used across AgentOS modules.
|
|
3
|
+
*
|
|
4
|
+
* These utilities cover common text-processing operations: numeric clamping,
|
|
5
|
+
* safe JSON parsing (including markdown code-fence stripping), tokenisation,
|
|
6
|
+
* text normalisation, and a lightweight token-count estimator used wherever
|
|
7
|
+
* the exact subword count is not critical.
|
|
8
|
+
*
|
|
9
|
+
* All functions are pure (no side-effects) and operate synchronously so they
|
|
10
|
+
* can be called from any context — including hot paths and web workers.
|
|
11
|
+
*
|
|
12
|
+
* @module agentos/core/utils/text-utils
|
|
13
|
+
*/
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
// Numeric helpers
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
/**
|
|
18
|
+
* Clamps a numeric `value` to the closed interval [`min`, `max`].
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* clamp(5, 0, 10); // → 5
|
|
23
|
+
* clamp(-3, 0, 10); // → 0
|
|
24
|
+
* clamp(15, 0, 10); // → 10
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* @param value - The number to clamp.
|
|
28
|
+
* @param min - The inclusive lower bound.
|
|
29
|
+
* @param max - The inclusive upper bound.
|
|
30
|
+
* @returns The clamped value, guaranteed to satisfy `min <= result <= max`.
|
|
31
|
+
*/
|
|
32
|
+
export function clamp(value, min, max) {
|
|
33
|
+
// Guard: if min > max the range is degenerate; return min as a safe fallback.
|
|
34
|
+
if (min > max) {
|
|
35
|
+
return min;
|
|
36
|
+
}
|
|
37
|
+
return Math.min(Math.max(value, min), max);
|
|
38
|
+
}
|
|
39
|
+
// ---------------------------------------------------------------------------
|
|
40
|
+
// JSON parsing
|
|
41
|
+
// ---------------------------------------------------------------------------
|
|
42
|
+
/**
|
|
43
|
+
* Safely parses a JSON string, stripping markdown code fences if present.
|
|
44
|
+
*
|
|
45
|
+
* LLMs frequently wrap JSON in triple-backtick blocks (e.g. ` ```json … ``` `
|
|
46
|
+
* or ` ``` … ``` `). This function strips those fences before attempting
|
|
47
|
+
* `JSON.parse`, so callers do not need to pre-process LLM output.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```typescript
|
|
51
|
+
* // Plain JSON
|
|
52
|
+
* parseJsonResponse<{ ok: boolean }>('{"ok":true}'); // → { ok: true }
|
|
53
|
+
*
|
|
54
|
+
* // Markdown-fenced JSON
|
|
55
|
+
* parseJsonResponse('```json\n{"ok":true}\n```'); // → { ok: true }
|
|
56
|
+
*
|
|
57
|
+
* // Invalid input
|
|
58
|
+
* parseJsonResponse('not json'); // → null
|
|
59
|
+
* ```
|
|
60
|
+
*
|
|
61
|
+
* @typeParam T - Expected shape of the parsed value.
|
|
62
|
+
* @param response - Raw string that may contain JSON, optionally wrapped in
|
|
63
|
+
* markdown code fences.
|
|
64
|
+
* @returns The parsed value cast to `T`, or `null` if parsing fails for any
|
|
65
|
+
* reason (syntax error, empty input, etc.).
|
|
66
|
+
*/
|
|
67
|
+
export function parseJsonResponse(response) {
|
|
68
|
+
if (!response || typeof response !== 'string') {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
// Strip leading/trailing whitespace first.
|
|
72
|
+
let raw = response.trim();
|
|
73
|
+
// Remove markdown code fences. Handles both:
|
|
74
|
+
// ```json\n…\n``` and ```\n…\n```
|
|
75
|
+
const fencePattern = /^```(?:json|javascript|js|ts|typescript)?\s*\n?([\s\S]*?)\n?```$/i;
|
|
76
|
+
const fenceMatch = fencePattern.exec(raw);
|
|
77
|
+
if (fenceMatch) {
|
|
78
|
+
// fenceMatch[1] is the content between the fences.
|
|
79
|
+
raw = fenceMatch[1].trim();
|
|
80
|
+
}
|
|
81
|
+
try {
|
|
82
|
+
return JSON.parse(raw);
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
// Parsing failed — return null rather than throwing so callers can handle
|
|
86
|
+
// gracefully without a try/catch at every call site.
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// ---------------------------------------------------------------------------
|
|
91
|
+
// Tokenisation & normalisation
|
|
92
|
+
// ---------------------------------------------------------------------------
|
|
93
|
+
/**
|
|
94
|
+
* Splits text into lowercase word tokens, stripping punctuation.
|
|
95
|
+
*
|
|
96
|
+
* This is an intentionally simple, dependency-free tokeniser suited for tasks
|
|
97
|
+
* like keyword matching, vocabulary analysis, and lightweight NLP pipelines.
|
|
98
|
+
* It is *not* a subword tokeniser and does not respect language-specific rules.
|
|
99
|
+
*
|
|
100
|
+
* Steps performed:
|
|
101
|
+
* 1. Convert to lowercase.
|
|
102
|
+
* 2. Replace non-alphanumeric characters (except spaces) with spaces.
|
|
103
|
+
* 3. Split on whitespace.
|
|
104
|
+
* 4. Drop empty strings that can arise from consecutive separators.
|
|
105
|
+
*
|
|
106
|
+
* @example
|
|
107
|
+
* ```typescript
|
|
108
|
+
* tokenize('Hello, World!'); // → ['hello', 'world']
|
|
109
|
+
* tokenize('foo bar\tbaz'); // → ['foo', 'bar', 'baz']
|
|
110
|
+
* tokenize(''); // → []
|
|
111
|
+
* ```
|
|
112
|
+
*
|
|
113
|
+
* @param text - The string to tokenise.
|
|
114
|
+
* @returns An array of lowercase word tokens with punctuation removed.
|
|
115
|
+
*/
|
|
116
|
+
export function tokenize(text) {
|
|
117
|
+
if (!text || typeof text !== 'string') {
|
|
118
|
+
return [];
|
|
119
|
+
}
|
|
120
|
+
return (text
|
|
121
|
+
.toLowerCase()
|
|
122
|
+
// Replace every run of non-alphanumeric, non-space chars with a space.
|
|
123
|
+
.replace(/[^a-z0-9\s]/g, ' ')
|
|
124
|
+
// Split on any run of whitespace.
|
|
125
|
+
.split(/\s+/)
|
|
126
|
+
// Remove empty strings produced by leading/trailing whitespace or
|
|
127
|
+
// consecutive separators.
|
|
128
|
+
.filter((token) => token.length > 0));
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Normalises text by lowercasing, stripping punctuation, and collapsing
|
|
132
|
+
* internal whitespace runs to a single space.
|
|
133
|
+
*
|
|
134
|
+
* This produces a canonical form useful for fuzzy comparisons, deduplication,
|
|
135
|
+
* and pre-processing before embedding or classification.
|
|
136
|
+
*
|
|
137
|
+
* Steps performed:
|
|
138
|
+
* 1. Convert to lowercase.
|
|
139
|
+
* 2. Replace non-alphanumeric characters (except spaces) with spaces.
|
|
140
|
+
* 3. Collapse consecutive whitespace to a single space.
|
|
141
|
+
* 4. Trim leading and trailing whitespace.
|
|
142
|
+
*
|
|
143
|
+
* @example
|
|
144
|
+
* ```typescript
|
|
145
|
+
* normalizeText('Hello, World!'); // → 'hello world'
|
|
146
|
+
* normalizeText(' foo bar '); // → 'foo bar'
|
|
147
|
+
* normalizeText("it's a test!"); // → 'it s a test'
|
|
148
|
+
* ```
|
|
149
|
+
*
|
|
150
|
+
* @param text - The string to normalise.
|
|
151
|
+
* @returns A normalised string.
|
|
152
|
+
*/
|
|
153
|
+
export function normalizeText(text) {
|
|
154
|
+
if (!text || typeof text !== 'string') {
|
|
155
|
+
return '';
|
|
156
|
+
}
|
|
157
|
+
return (text
|
|
158
|
+
.toLowerCase()
|
|
159
|
+
// Replace punctuation/symbols with spaces.
|
|
160
|
+
.replace(/[^a-z0-9\s]/g, ' ')
|
|
161
|
+
// Collapse runs of whitespace to a single space.
|
|
162
|
+
.replace(/\s+/g, ' ')
|
|
163
|
+
.trim());
|
|
164
|
+
}
|
|
165
|
+
// ---------------------------------------------------------------------------
|
|
166
|
+
// Token estimation
|
|
167
|
+
// ---------------------------------------------------------------------------
|
|
168
|
+
/**
|
|
169
|
+
* Estimates the number of LLM tokens in a string using the rough heuristic
|
|
170
|
+
* of **1 token ≈ 4 characters** (the widely-cited GPT-family average).
|
|
171
|
+
*
|
|
172
|
+
* This is intentionally approximate. It is suitable for budget checks,
|
|
173
|
+
* sliding-window sizing, and other cost-control logic where precision is not
|
|
174
|
+
* required. For exact subword counts, use the model's native tokeniser.
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* ```typescript
|
|
178
|
+
* estimateTokens('Hello!'); // → 2 (6 chars / 4 → ceil(1.5) = 2)
|
|
179
|
+
* estimateTokens(''); // → 0
|
|
180
|
+
* estimateTokens('a'.repeat(8)); // → 2
|
|
181
|
+
* ```
|
|
182
|
+
*
|
|
183
|
+
* @param text - The string whose token count should be estimated.
|
|
184
|
+
* @returns A non-negative integer estimate of the token count.
|
|
185
|
+
* Returns `0` for empty or non-string input.
|
|
186
|
+
*/
|
|
187
|
+
export function estimateTokens(text) {
|
|
188
|
+
if (!text || typeof text !== 'string') {
|
|
189
|
+
return 0;
|
|
190
|
+
}
|
|
191
|
+
return Math.ceil(text.length / 4);
|
|
192
|
+
}
|
|
193
|
+
// ---------------------------------------------------------------------------
|
|
194
|
+
// Vector similarity
|
|
195
|
+
// ---------------------------------------------------------------------------
|
|
196
|
+
/**
|
|
197
|
+
* Computes the cosine similarity between two numeric vectors.
|
|
198
|
+
*
|
|
199
|
+
* Cosine similarity measures the cosine of the angle between two vectors in
|
|
200
|
+
* an inner-product space. It ranges from **-1.0** (perfectly opposite
|
|
201
|
+
* directions) to **1.0** (perfectly identical directions), with **0** meaning
|
|
202
|
+
* the vectors are orthogonal (no linear similarity).
|
|
203
|
+
*
|
|
204
|
+
* This single implementation consolidates 6+ duplicate `cosineSimilarity`
|
|
205
|
+
* helpers that previously existed across the AgentOS codebase (discovery,
|
|
206
|
+
* social-posting, rag, etc.), providing a single well-tested source of truth.
|
|
207
|
+
*
|
|
208
|
+
* ### Edge-case behaviour
|
|
209
|
+
* | Condition | Return value | Reason |
|
|
210
|
+
* |---|---|---|
|
|
211
|
+
* | Empty arrays | `0` | Division by zero is undefined; 0 is the safe neutral value. |
|
|
212
|
+
* | Mismatched dimensions | `0` | Meaningless to compare vectors in different spaces. |
|
|
213
|
+
* | Either vector is the zero vector | `0` | Magnitude is 0, denominator would be 0. |
|
|
214
|
+
*
|
|
215
|
+
* @example
|
|
216
|
+
* ```typescript
|
|
217
|
+
* // Identical unit vectors → 1
|
|
218
|
+
* cosineSimilarity([1, 0], [1, 0]); // → 1.0
|
|
219
|
+
*
|
|
220
|
+
* // Orthogonal vectors → 0
|
|
221
|
+
* cosineSimilarity([1, 0], [0, 1]); // → 0
|
|
222
|
+
*
|
|
223
|
+
* // Opposite unit vectors → -1
|
|
224
|
+
* cosineSimilarity([1, 0], [-1, 0]); // → -1.0
|
|
225
|
+
*
|
|
226
|
+
* // Non-unit but parallel vectors → 1
|
|
227
|
+
* cosineSimilarity([2, 4], [1, 2]); // → 1.0
|
|
228
|
+
* ```
|
|
229
|
+
*
|
|
230
|
+
* @param a - First numeric vector (any dimension ≥ 1).
|
|
231
|
+
* @param b - Second numeric vector — must have the same length as `a`.
|
|
232
|
+
* @returns Cosine similarity in the range `[-1, 1]`.
|
|
233
|
+
* Returns `0` for mismatched dimensions, empty arrays, or zero-magnitude vectors.
|
|
234
|
+
*/
|
|
235
|
+
export function cosineSimilarity(a, b) {
|
|
236
|
+
// Guard: vectors must be non-empty and share the same dimensionality.
|
|
237
|
+
if (a.length !== b.length || a.length === 0)
|
|
238
|
+
return 0;
|
|
239
|
+
// Accumulate dot product and squared norms in a single pass for efficiency.
|
|
240
|
+
let dot = 0;
|
|
241
|
+
let normA = 0;
|
|
242
|
+
let normB = 0;
|
|
243
|
+
for (let i = 0; i < a.length; i++) {
|
|
244
|
+
dot += a[i] * b[i]; // contribution to the dot product
|
|
245
|
+
normA += a[i] * a[i]; // squared magnitude of a
|
|
246
|
+
normB += b[i] * b[i]; // squared magnitude of b
|
|
247
|
+
}
|
|
248
|
+
// Denominator is the product of the two vector magnitudes.
|
|
249
|
+
const denom = Math.sqrt(normA) * Math.sqrt(normB);
|
|
250
|
+
// Guard: if either vector is the zero vector the denominator is 0.
|
|
251
|
+
// Cosine similarity is undefined in that case; return 0 as the neutral value.
|
|
252
|
+
return denom === 0 ? 0 : dot / denom;
|
|
253
|
+
}
|
|
254
|
+
//# sourceMappingURL=text-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-utils.js","sourceRoot":"","sources":["../../../src/core/utils/text-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ export declare class ExtensionManager {
|
|
|
17
17
|
private readonly options;
|
|
18
18
|
private readonly overrides?;
|
|
19
19
|
private readonly secrets;
|
|
20
|
+
private readonly services;
|
|
20
21
|
private readonly loadedPacks;
|
|
21
22
|
private readonly loadedPackKeys;
|
|
22
23
|
private readonly loadedPackRecords;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtensionManager.d.ts","sourceRoot":"","sources":["../../src/extensions/ExtensionManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"ExtensionManager.d.ts","sourceRoot":"","sources":["../../src/extensions/ExtensionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { EventEmitter } from 'node:events';
|
|
|
2
2
|
import * as path from 'node:path';
|
|
3
3
|
import { pathToFileURL } from 'node:url';
|
|
4
4
|
import { ExtensionRegistry } from './ExtensionRegistry.js';
|
|
5
|
+
import { SharedServiceRegistry } from './SharedServiceRegistry.js';
|
|
5
6
|
import { EXTENSION_KIND_WORKFLOW_EXECUTOR, EXTENSION_KIND_PLANNING_STRATEGY, EXTENSION_KIND_HITL_HANDLER, EXTENSION_KIND_COMM_CHANNEL, EXTENSION_KIND_MEMORY_PROVIDER, EXTENSION_KIND_MESSAGING_CHANNEL, EXTENSION_KIND_PROVENANCE, EXTENSION_KIND_STT_PROVIDER, EXTENSION_KIND_TTS_PROVIDER, EXTENSION_KIND_VAD_PROVIDER, EXTENSION_KIND_WAKE_WORD_PROVIDER, } from './types.js';
|
|
6
7
|
import { getSecretDefinition } from '../config/extensionSecrets.js';
|
|
7
8
|
const DEFAULT_EXTENSIONS_KIND_TOOL = 'tool';
|
|
@@ -28,6 +29,7 @@ export class ExtensionManager {
|
|
|
28
29
|
this.emitter = new EventEmitter();
|
|
29
30
|
this.registries = new Map();
|
|
30
31
|
this.secrets = new Map();
|
|
32
|
+
this.services = new SharedServiceRegistry();
|
|
31
33
|
this.loadedPacks = [];
|
|
32
34
|
this.loadedPackKeys = new Set();
|
|
33
35
|
this.loadedPackRecords = [];
|
|
@@ -219,6 +221,9 @@ export class ExtensionManager {
|
|
|
219
221
|
this.loadedPacks.length = 0;
|
|
220
222
|
this.loadedPackKeys.clear();
|
|
221
223
|
this.loadedPackRecords.length = 0;
|
|
224
|
+
await this.services.releaseAll().catch((err) => {
|
|
225
|
+
console.warn(`ExtensionManager: Failed releasing shared services during shutdown`, err);
|
|
226
|
+
});
|
|
222
227
|
}
|
|
223
228
|
ensureDefaultRegistries() {
|
|
224
229
|
this.getRegistry(DEFAULT_EXTENSIONS_KIND_TOOL);
|
|
@@ -279,6 +284,7 @@ export class ExtensionManager {
|
|
|
279
284
|
options: entry.options,
|
|
280
285
|
logger: lifecycleContext.logger,
|
|
281
286
|
getSecret: lifecycleContext.getSecret,
|
|
287
|
+
services: lifecycleContext.services,
|
|
282
288
|
};
|
|
283
289
|
return factory(packContext);
|
|
284
290
|
}
|
|
@@ -308,6 +314,7 @@ export class ExtensionManager {
|
|
|
308
314
|
options: entry.options,
|
|
309
315
|
logger: enrichedLifecycleContext.logger,
|
|
310
316
|
getSecret: enrichedLifecycleContext.getSecret,
|
|
317
|
+
services: enrichedLifecycleContext.services,
|
|
311
318
|
};
|
|
312
319
|
try {
|
|
313
320
|
for (const descriptor of pack.descriptors) {
|
|
@@ -362,6 +369,7 @@ export class ExtensionManager {
|
|
|
362
369
|
return {
|
|
363
370
|
...(context ?? {}),
|
|
364
371
|
getSecret: (id) => this.resolveSecret(id),
|
|
372
|
+
services: context?.services ?? this.services,
|
|
365
373
|
};
|
|
366
374
|
}
|
|
367
375
|
resolveSecret(id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtensionManager.js","sourceRoot":"","sources":["../../src/extensions/ExtensionManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ExtensionManager.js","sourceRoot":"","sources":["../../src/extensions/ExtensionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cleanup and discovery metadata for a shared service.
|
|
3
|
+
*/
|
|
4
|
+
export interface SharedServiceOptions {
|
|
5
|
+
/**
|
|
6
|
+
* Cleanup callback invoked when the service is released.
|
|
7
|
+
*/
|
|
8
|
+
dispose?: (instance: unknown) => Promise<void> | void;
|
|
9
|
+
/**
|
|
10
|
+
* Optional tags describing the service for diagnostics or tooling.
|
|
11
|
+
*/
|
|
12
|
+
tags?: string[];
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Registry for sharing heavyweight service instances across extensions.
|
|
16
|
+
*/
|
|
17
|
+
export interface ISharedServiceRegistry {
|
|
18
|
+
/**
|
|
19
|
+
* Return an existing service or lazily create it once.
|
|
20
|
+
*/
|
|
21
|
+
getOrCreate<T>(serviceId: string, factory: () => Promise<T> | T, options?: SharedServiceOptions): Promise<T>;
|
|
22
|
+
/**
|
|
23
|
+
* Return true when a service has already been initialized.
|
|
24
|
+
*/
|
|
25
|
+
has(serviceId: string): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Dispose a specific service if it exists.
|
|
28
|
+
*/
|
|
29
|
+
release(serviceId: string): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Dispose all registered services.
|
|
32
|
+
*/
|
|
33
|
+
releaseAll(): Promise<void>;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=ISharedServiceRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ISharedServiceRegistry.d.ts","sourceRoot":"","sources":["../../src/extensions/ISharedServiceRegistry.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACtD;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,WAAW,CAAC,CAAC,EACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAC7B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,CAAC,CAAC,CAAC;IAEd;;OAEG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAEhC;;OAEG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ISharedServiceRegistry.js","sourceRoot":"","sources":["../../src/extensions/ISharedServiceRegistry.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ISharedServiceRegistry, SharedServiceOptions } from './ISharedServiceRegistry';
|
|
2
|
+
/**
|
|
3
|
+
* Thread-safe shared-service registry for extension lifecycle context.
|
|
4
|
+
*/
|
|
5
|
+
export declare class SharedServiceRegistry implements ISharedServiceRegistry {
|
|
6
|
+
private readonly instances;
|
|
7
|
+
private readonly pending;
|
|
8
|
+
private readonly disposers;
|
|
9
|
+
private readonly tagMap;
|
|
10
|
+
getOrCreate<T>(serviceId: string, factory: () => Promise<T> | T, options?: SharedServiceOptions): Promise<T>;
|
|
11
|
+
has(serviceId: string): boolean;
|
|
12
|
+
release(serviceId: string): Promise<void>;
|
|
13
|
+
releaseAll(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=SharedServiceRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SharedServiceRegistry.d.ts","sourceRoot":"","sources":["../../src/extensions/SharedServiceRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAE7F;;GAEG;AACH,qBAAa,qBAAsB,YAAW,sBAAsB;IAClE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;IAC/D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkE;IAC5F,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IAEzC,WAAW,CAAC,CAAC,EACxB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAC7B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,CAAC,CAAC;IAiCN,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIzB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBzC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAIzC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thread-safe shared-service registry for extension lifecycle context.
|
|
3
|
+
*/
|
|
4
|
+
export class SharedServiceRegistry {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.instances = new Map();
|
|
7
|
+
this.pending = new Map();
|
|
8
|
+
this.disposers = new Map();
|
|
9
|
+
this.tagMap = new Map();
|
|
10
|
+
}
|
|
11
|
+
async getOrCreate(serviceId, factory, options) {
|
|
12
|
+
if (this.instances.has(serviceId)) {
|
|
13
|
+
return this.instances.get(serviceId);
|
|
14
|
+
}
|
|
15
|
+
const existing = this.pending.get(serviceId);
|
|
16
|
+
if (existing) {
|
|
17
|
+
return existing;
|
|
18
|
+
}
|
|
19
|
+
const promise = Promise.resolve(factory())
|
|
20
|
+
.then((instance) => {
|
|
21
|
+
this.instances.set(serviceId, instance);
|
|
22
|
+
this.pending.delete(serviceId);
|
|
23
|
+
if (options?.dispose) {
|
|
24
|
+
this.disposers.set(serviceId, options.dispose);
|
|
25
|
+
}
|
|
26
|
+
if (options?.tags) {
|
|
27
|
+
this.tagMap.set(serviceId, [...options.tags]);
|
|
28
|
+
}
|
|
29
|
+
return instance;
|
|
30
|
+
})
|
|
31
|
+
.catch((error) => {
|
|
32
|
+
this.pending.delete(serviceId);
|
|
33
|
+
throw error;
|
|
34
|
+
});
|
|
35
|
+
this.pending.set(serviceId, promise);
|
|
36
|
+
return promise;
|
|
37
|
+
}
|
|
38
|
+
has(serviceId) {
|
|
39
|
+
return this.instances.has(serviceId);
|
|
40
|
+
}
|
|
41
|
+
async release(serviceId) {
|
|
42
|
+
const pending = this.pending.get(serviceId);
|
|
43
|
+
if (pending) {
|
|
44
|
+
await Promise.allSettled([pending]);
|
|
45
|
+
}
|
|
46
|
+
const instance = this.instances.get(serviceId);
|
|
47
|
+
if (instance === undefined) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const disposer = this.disposers.get(serviceId);
|
|
51
|
+
if (disposer) {
|
|
52
|
+
await Promise.resolve(disposer(instance));
|
|
53
|
+
}
|
|
54
|
+
this.instances.delete(serviceId);
|
|
55
|
+
this.disposers.delete(serviceId);
|
|
56
|
+
this.tagMap.delete(serviceId);
|
|
57
|
+
}
|
|
58
|
+
async releaseAll() {
|
|
59
|
+
await Promise.allSettled([...this.pending.values()]);
|
|
60
|
+
await Promise.allSettled([...this.instances.keys()].map((serviceId) => this.release(serviceId)));
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=SharedServiceRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SharedServiceRegistry.js","sourceRoot":"","sources":["../../src/extensions/SharedServiceRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/extensions/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ExtensionDescriptor, ExtensionLifecycleContext, ExtensionSourceMetadata } from './types';
|
|
2
|
+
import type { ISharedServiceRegistry } from './ISharedServiceRegistry';
|
|
2
3
|
export type ExtensionPackResolver = {
|
|
3
4
|
package: string;
|
|
4
5
|
version?: string;
|
|
@@ -45,6 +46,7 @@ export interface ExtensionPackContext {
|
|
|
45
46
|
options?: Record<string, unknown>;
|
|
46
47
|
logger?: import('../logging/ILogger').ILogger;
|
|
47
48
|
getSecret?: (secretId: string) => string | undefined;
|
|
49
|
+
services?: ISharedServiceRegistry;
|
|
48
50
|
}
|
|
49
51
|
export interface ExtensionPack {
|
|
50
52
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/extensions/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/extensions/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACvG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEvE,MAAM,MAAM,qBAAqB,GAC7B;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,OAAO,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA;CAAE,CAAC;AAE9D,MAAM,MAAM,0BAA0B,GAAG,qBAAqB,GAAG;IAC/D;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,0BAA0B,EAAE,CAAC;IACpC,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,CAAC,EAAE,0BAA0B,CAAC;IAC3C,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,OAAO,oBAAoB,EAAE,OAAO,CAAC;IAC9C,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,EAAE,sBAAsB,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,UAAU,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,yBAAyB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3G,YAAY,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,yBAAyB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;CAC9G"}
|
|
@@ -4,6 +4,7 @@ import type { ITool } from '../core/tools/ITool';
|
|
|
4
4
|
import type { IncomingMessage, ServerResponse } from 'node:http';
|
|
5
5
|
import type { WorkflowDescriptorPayload, WorkflowInstance, WorkflowTaskDefinition, WorkflowTaskStatus } from '../core/workflows/WorkflowTypes';
|
|
6
6
|
import type { MessagingChannelPayload } from './MessagingChannelPayload';
|
|
7
|
+
import type { ISharedServiceRegistry } from './ISharedServiceRegistry';
|
|
7
8
|
import type { SpeechToTextProvider, SpeechVadProvider, TextToSpeechProvider, WakeWordProvider } from '../speech/types';
|
|
8
9
|
/**
|
|
9
10
|
* Represents the broad category an extension descriptor belongs to.
|
|
@@ -41,6 +42,10 @@ export interface ExtensionLifecycleContext {
|
|
|
41
42
|
* Returns `undefined` when a secret is not configured.
|
|
42
43
|
*/
|
|
43
44
|
getSecret?: (secretId: string) => string | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* Shared singleton registry for lazy-loading heavyweight extension services.
|
|
47
|
+
*/
|
|
48
|
+
services?: ISharedServiceRegistry;
|
|
44
49
|
}
|
|
45
50
|
/**
|
|
46
51
|
* Context passed to extension-pack factory helpers (e.g. `createExtensionPack()`).
|