foon-sdk 1.0.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/LICENSE +21 -0
- package/README.md +574 -0
- package/dist/cache/LRUCache.d.ts +36 -0
- package/dist/cache/LRUCache.d.ts.map +1 -0
- package/dist/cache/LRUCache.js +54 -0
- package/dist/cache/LRUCache.js.map +1 -0
- package/dist/cache/cache-key-generator.d.ts +9 -0
- package/dist/cache/cache-key-generator.d.ts.map +1 -0
- package/dist/cache/cache-key-generator.js +50 -0
- package/dist/cache/cache-key-generator.js.map +1 -0
- package/dist/cache/index.d.ts +3 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +21 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/engine/MappingEngine.d.ts +29 -0
- package/dist/engine/MappingEngine.d.ts.map +1 -0
- package/dist/engine/MappingEngine.js +196 -0
- package/dist/engine/MappingEngine.js.map +1 -0
- package/dist/engine/executor.d.ts +15 -0
- package/dist/engine/executor.d.ts.map +1 -0
- package/dist/engine/executor.js +137 -0
- package/dist/engine/executor.js.map +1 -0
- package/dist/engine/index.d.ts +5 -0
- package/dist/engine/index.d.ts.map +1 -0
- package/dist/engine/index.js +23 -0
- package/dist/engine/index.js.map +1 -0
- package/dist/engine/jsonpath.d.ts +17 -0
- package/dist/engine/jsonpath.d.ts.map +1 -0
- package/dist/engine/jsonpath.js +73 -0
- package/dist/engine/jsonpath.js.map +1 -0
- package/dist/engine/type-converter.d.ts +12 -0
- package/dist/engine/type-converter.d.ts.map +1 -0
- package/dist/engine/type-converter.js +106 -0
- package/dist/engine/type-converter.js.map +1 -0
- package/dist/errors/error-factory.d.ts +30 -0
- package/dist/errors/error-factory.d.ts.map +1 -0
- package/dist/errors/error-factory.js +53 -0
- package/dist/errors/error-factory.js.map +1 -0
- package/dist/errors/index.d.ts +3 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +22 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/express/FonRouter.d.ts +56 -0
- package/dist/express/FonRouter.d.ts.map +1 -0
- package/dist/express/FonRouter.js +151 -0
- package/dist/express/FonRouter.js.map +1 -0
- package/dist/express/error-handler.d.ts +10 -0
- package/dist/express/error-handler.d.ts.map +1 -0
- package/dist/express/error-handler.js +55 -0
- package/dist/express/error-handler.js.map +1 -0
- package/dist/express/index.d.ts +33 -0
- package/dist/express/index.d.ts.map +1 -0
- package/dist/express/index.js +41 -0
- package/dist/express/index.js.map +1 -0
- package/dist/express/route-registry.d.ts +33 -0
- package/dist/express/route-registry.d.ts.map +1 -0
- package/dist/express/route-registry.js +52 -0
- package/dist/express/route-registry.js.map +1 -0
- package/dist/express/transform-middleware.d.ts +21 -0
- package/dist/express/transform-middleware.d.ts.map +1 -0
- package/dist/express/transform-middleware.js +62 -0
- package/dist/express/transform-middleware.js.map +1 -0
- package/dist/express/types.d.ts +73 -0
- package/dist/express/types.d.ts.map +1 -0
- package/dist/express/types.js +3 -0
- package/dist/express/types.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +29 -0
- package/dist/index.js.map +1 -0
- package/dist/providers/base/Provider.d.ts +17 -0
- package/dist/providers/base/Provider.d.ts.map +1 -0
- package/dist/providers/base/Provider.js +43 -0
- package/dist/providers/base/Provider.js.map +1 -0
- package/dist/providers/base/index.d.ts +3 -0
- package/dist/providers/base/index.d.ts.map +1 -0
- package/dist/providers/base/index.js +21 -0
- package/dist/providers/base/index.js.map +1 -0
- package/dist/providers/base/prompt-builder.d.ts +22 -0
- package/dist/providers/base/prompt-builder.d.ts.map +1 -0
- package/dist/providers/base/prompt-builder.js +105 -0
- package/dist/providers/base/prompt-builder.js.map +1 -0
- package/dist/providers/gemini/GeminiProvider.d.ts +16 -0
- package/dist/providers/gemini/GeminiProvider.d.ts.map +1 -0
- package/dist/providers/gemini/GeminiProvider.js +48 -0
- package/dist/providers/gemini/GeminiProvider.js.map +1 -0
- package/dist/providers/gemini/gemini-client.d.ts +16 -0
- package/dist/providers/gemini/gemini-client.d.ts.map +1 -0
- package/dist/providers/gemini/gemini-client.js +83 -0
- package/dist/providers/gemini/gemini-client.js.map +1 -0
- package/dist/providers/gemini/index.d.ts +3 -0
- package/dist/providers/gemini/index.d.ts.map +1 -0
- package/dist/providers/gemini/index.js +8 -0
- package/dist/providers/gemini/index.js.map +1 -0
- package/dist/providers/index.d.ts +6 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +27 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/ollama/OllamaProvider.d.ts +17 -0
- package/dist/providers/ollama/OllamaProvider.d.ts.map +1 -0
- package/dist/providers/ollama/OllamaProvider.js +47 -0
- package/dist/providers/ollama/OllamaProvider.js.map +1 -0
- package/dist/providers/ollama/index.d.ts +3 -0
- package/dist/providers/ollama/index.d.ts.map +1 -0
- package/dist/providers/ollama/index.js +8 -0
- package/dist/providers/ollama/index.js.map +1 -0
- package/dist/providers/ollama/ollama-client.d.ts +17 -0
- package/dist/providers/ollama/ollama-client.d.ts.map +1 -0
- package/dist/providers/ollama/ollama-client.js +83 -0
- package/dist/providers/ollama/ollama-client.js.map +1 -0
- package/dist/providers/openai/OpenAIProvider.d.ts +16 -0
- package/dist/providers/openai/OpenAIProvider.d.ts.map +1 -0
- package/dist/providers/openai/OpenAIProvider.js +48 -0
- package/dist/providers/openai/OpenAIProvider.js.map +1 -0
- package/dist/providers/openai/index.d.ts +3 -0
- package/dist/providers/openai/index.d.ts.map +1 -0
- package/dist/providers/openai/index.js +8 -0
- package/dist/providers/openai/index.js.map +1 -0
- package/dist/providers/openai/openai-client.d.ts +16 -0
- package/dist/providers/openai/openai-client.d.ts.map +1 -0
- package/dist/providers/openai/openai-client.js +85 -0
- package/dist/providers/openai/openai-client.js.map +1 -0
- package/dist/schema/SchemaAdapter.d.ts +34 -0
- package/dist/schema/SchemaAdapter.d.ts.map +1 -0
- package/dist/schema/SchemaAdapter.js +59 -0
- package/dist/schema/SchemaAdapter.js.map +1 -0
- package/dist/schema/field-extractor.d.ts +10 -0
- package/dist/schema/field-extractor.d.ts.map +1 -0
- package/dist/schema/field-extractor.js +58 -0
- package/dist/schema/field-extractor.js.map +1 -0
- package/dist/schema/index.d.ts +5 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +13 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/normalizer.d.ts +6 -0
- package/dist/schema/normalizer.d.ts.map +1 -0
- package/dist/schema/normalizer.js +17 -0
- package/dist/schema/normalizer.js.map +1 -0
- package/dist/schema/validator.d.ts +17 -0
- package/dist/schema/validator.d.ts.map +1 -0
- package/dist/schema/validator.js +50 -0
- package/dist/schema/validator.js.map +1 -0
- package/dist/security/index.d.ts +5 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +21 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/input-validator.d.ts +6 -0
- package/dist/security/input-validator.d.ts.map +1 -0
- package/dist/security/input-validator.js +76 -0
- package/dist/security/input-validator.js.map +1 -0
- package/dist/security/prompt-sanitizer.d.ts +12 -0
- package/dist/security/prompt-sanitizer.d.ts.map +1 -0
- package/dist/security/prompt-sanitizer.js +66 -0
- package/dist/security/prompt-sanitizer.js.map +1 -0
- package/dist/security/redactor.d.ts +5 -0
- package/dist/security/redactor.d.ts.map +1 -0
- package/dist/security/redactor.js +37 -0
- package/dist/security/redactor.js.map +1 -0
- package/dist/security/security-config.d.ts +10 -0
- package/dist/security/security-config.d.ts.map +1 -0
- package/dist/security/security-config.js +26 -0
- package/dist/security/security-config.js.map +1 -0
- package/dist/trace/TraceBuilder.d.ts +58 -0
- package/dist/trace/TraceBuilder.d.ts.map +1 -0
- package/dist/trace/TraceBuilder.js +117 -0
- package/dist/trace/TraceBuilder.js.map +1 -0
- package/dist/trace/confidence-analyzer.d.ts +6 -0
- package/dist/trace/confidence-analyzer.d.ts.map +1 -0
- package/dist/trace/confidence-analyzer.js +30 -0
- package/dist/trace/confidence-analyzer.js.map +1 -0
- package/dist/trace/index.d.ts +4 -0
- package/dist/trace/index.d.ts.map +1 -0
- package/dist/trace/index.js +22 -0
- package/dist/trace/index.js.map +1 -0
- package/dist/trace/trace-utils.d.ts +20 -0
- package/dist/trace/trace-utils.d.ts.map +1 -0
- package/dist/trace/trace-utils.js +33 -0
- package/dist/trace/trace-utils.js.map +1 -0
- package/dist/transform.d.ts +30 -0
- package/dist/transform.d.ts.map +1 -0
- package/dist/transform.js +62 -0
- package/dist/transform.js.map +1 -0
- package/dist/types/cache.types.d.ts +41 -0
- package/dist/types/cache.types.d.ts.map +1 -0
- package/dist/types/cache.types.js +3 -0
- package/dist/types/cache.types.js.map +1 -0
- package/dist/types/errors.types.d.ts +22 -0
- package/dist/types/errors.types.d.ts.map +1 -0
- package/dist/types/errors.types.js +31 -0
- package/dist/types/errors.types.js.map +1 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/mapping.types.d.ts +48 -0
- package/dist/types/mapping.types.d.ts.map +1 -0
- package/dist/types/mapping.types.js +3 -0
- package/dist/types/mapping.types.js.map +1 -0
- package/dist/types/provider.types.d.ts +62 -0
- package/dist/types/provider.types.d.ts.map +1 -0
- package/dist/types/provider.types.js +3 -0
- package/dist/types/provider.types.js.map +1 -0
- package/dist/types/schema.types.d.ts +68 -0
- package/dist/types/schema.types.d.ts.map +1 -0
- package/dist/types/schema.types.js +3 -0
- package/dist/types/schema.types.js.map +1 -0
- package/dist/types/security.types.d.ts +32 -0
- package/dist/types/security.types.d.ts.map +1 -0
- package/dist/types/security.types.js +3 -0
- package/dist/types/security.types.js.map +1 -0
- package/dist/types/trace.types.d.ts +129 -0
- package/dist/types/trace.types.d.ts.map +1 -0
- package/dist/types/trace.types.js +3 -0
- package/dist/types/trace.types.js.map +1 -0
- package/dist/types/transform.types.d.ts +56 -0
- package/dist/types/transform.types.d.ts.map +1 -0
- package/dist/types/transform.types.js +3 -0
- package/dist/types/transform.types.js.map +1 -0
- package/package.json +107 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redactor.d.ts","sourceRoot":"","sources":["../../src/security/redactor.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAwBnF"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.redactSensitiveFields = redactSensitiveFields;
|
|
4
|
+
/**
|
|
5
|
+
* Redact sensitive fields from input
|
|
6
|
+
*/
|
|
7
|
+
function redactSensitiveFields(input, redactKeys) {
|
|
8
|
+
if (input === null || input === undefined)
|
|
9
|
+
return input;
|
|
10
|
+
if (Array.isArray(input)) {
|
|
11
|
+
return input.map((item) => redactSensitiveFields(item, redactKeys));
|
|
12
|
+
}
|
|
13
|
+
if (typeof input === 'object') {
|
|
14
|
+
const redacted = {};
|
|
15
|
+
for (const [key, value] of Object.entries(input)) {
|
|
16
|
+
if (shouldRedact(key, redactKeys)) {
|
|
17
|
+
redacted[key] = '***REDACTED***';
|
|
18
|
+
}
|
|
19
|
+
else if (value && typeof value === 'object') {
|
|
20
|
+
redacted[key] = redactSensitiveFields(value, redactKeys);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
redacted[key] = value;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return redacted;
|
|
27
|
+
}
|
|
28
|
+
return input;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Check if key should be redacted
|
|
32
|
+
*/
|
|
33
|
+
function shouldRedact(key, redactKeys) {
|
|
34
|
+
const lowerKey = key.toLowerCase();
|
|
35
|
+
return redactKeys.some((redactKey) => lowerKey.includes(redactKey.toLowerCase()));
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=redactor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redactor.js","sourceRoot":"","sources":["../../src/security/redactor.ts"],"names":[],"mappings":";;AAGA,sDAwBC;AA3BD;;GAEG;AACH,SAAgB,qBAAqB,CAAC,KAAc,EAAE,UAAoB;IACxE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAExD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAQ,EAAE,CAAC;QAEzB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,YAAY,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;gBAClC,QAAQ,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC;YACnC,CAAC;iBAAM,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9C,QAAQ,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACxB,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,GAAW,EAAE,UAAoB;IACrD,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AACpF,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SecurityOptions } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Default security settings
|
|
4
|
+
*/
|
|
5
|
+
export declare const DEFAULT_SECURITY_OPTIONS: Required<SecurityOptions>;
|
|
6
|
+
/**
|
|
7
|
+
* Merge user security options with defaults
|
|
8
|
+
*/
|
|
9
|
+
export declare function mergeSecurityOptions(options?: SecurityOptions): Required<SecurityOptions>;
|
|
10
|
+
//# sourceMappingURL=security-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-config.d.ts","sourceRoot":"","sources":["../../src/security/security-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,eAAe,CAQ9D,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC,CAKzF"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_SECURITY_OPTIONS = void 0;
|
|
4
|
+
exports.mergeSecurityOptions = mergeSecurityOptions;
|
|
5
|
+
/**
|
|
6
|
+
* Default security settings
|
|
7
|
+
*/
|
|
8
|
+
exports.DEFAULT_SECURITY_OPTIONS = {
|
|
9
|
+
maxInputSize: 1024 * 1024, // 1MB
|
|
10
|
+
maxDepth: 10,
|
|
11
|
+
maxKeys: 1000,
|
|
12
|
+
maxStringLength: 10000,
|
|
13
|
+
redactKeys: ['password', 'token', 'authorization', 'secret', 'apiKey', 'apiSecret', 'auth'],
|
|
14
|
+
sanitizePrompt: true,
|
|
15
|
+
includeValues: false,
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Merge user security options with defaults
|
|
19
|
+
*/
|
|
20
|
+
function mergeSecurityOptions(options) {
|
|
21
|
+
return {
|
|
22
|
+
...exports.DEFAULT_SECURITY_OPTIONS,
|
|
23
|
+
...options,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=security-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-config.js","sourceRoot":"","sources":["../../src/security/security-config.ts"],"names":[],"mappings":";;;AAkBA,oDAKC;AArBD;;GAEG;AACU,QAAA,wBAAwB,GAA8B;IACjE,YAAY,EAAE,IAAI,GAAG,IAAI,EAAE,MAAM;IACjC,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,IAAI;IACb,eAAe,EAAE,KAAK;IACtB,UAAU,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC;IAC3F,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,KAAK;CACrB,CAAC;AAEF;;GAEG;AACH,SAAgB,oBAAoB,CAAC,OAAyB;IAC5D,OAAO;QACL,GAAG,gCAAwB;QAC3B,GAAG,OAAO;KACX,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { TraceReport, MappingPlan, ExecutionTrace, ValidationTrace, CacheTrace, ConfidenceSummary, Timings } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Builder for constructing trace reports
|
|
4
|
+
*/
|
|
5
|
+
export declare class TraceBuilder {
|
|
6
|
+
private traceId;
|
|
7
|
+
private mode;
|
|
8
|
+
private provider;
|
|
9
|
+
private promptVersion;
|
|
10
|
+
private timings;
|
|
11
|
+
private mappingPlan?;
|
|
12
|
+
private execution?;
|
|
13
|
+
private validation?;
|
|
14
|
+
private cache?;
|
|
15
|
+
private confidenceSummary?;
|
|
16
|
+
constructor();
|
|
17
|
+
/**
|
|
18
|
+
* Get the trace ID
|
|
19
|
+
*/
|
|
20
|
+
getTraceId(): string;
|
|
21
|
+
/**
|
|
22
|
+
* Set provider information
|
|
23
|
+
*/
|
|
24
|
+
setProvider(name: string, promptVersion: string): this;
|
|
25
|
+
/**
|
|
26
|
+
* Set timings
|
|
27
|
+
*/
|
|
28
|
+
setTimings(timings: Timings): this;
|
|
29
|
+
/**
|
|
30
|
+
* Add partial timing
|
|
31
|
+
*/
|
|
32
|
+
addTiming(key: keyof Timings, value: number): this;
|
|
33
|
+
/**
|
|
34
|
+
* Set mapping plan
|
|
35
|
+
*/
|
|
36
|
+
setMappingPlan(raw: string, parsed: MappingPlan): this;
|
|
37
|
+
/**
|
|
38
|
+
* Set execution trace
|
|
39
|
+
*/
|
|
40
|
+
setExecution(execution: ExecutionTrace): this;
|
|
41
|
+
/**
|
|
42
|
+
* Set validation trace
|
|
43
|
+
*/
|
|
44
|
+
setValidation(validation: ValidationTrace): this;
|
|
45
|
+
/**
|
|
46
|
+
* Set cache trace
|
|
47
|
+
*/
|
|
48
|
+
setCache(cache: CacheTrace): this;
|
|
49
|
+
/**
|
|
50
|
+
* Set confidence summary
|
|
51
|
+
*/
|
|
52
|
+
setConfidenceSummary(summary: ConfidenceSummary): this;
|
|
53
|
+
/**
|
|
54
|
+
* Build the complete trace report
|
|
55
|
+
*/
|
|
56
|
+
build(): TraceReport;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=TraceBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TraceBuilder.d.ts","sourceRoot":"","sources":["../../src/trace/TraceBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,WAAW,EACX,cAAc,EACd,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,OAAO,EACR,MAAM,UAAU,CAAC;AAGlB;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,IAAI,CAA0B;IACtC,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,WAAW,CAAC,CAAuC;IAC3D,OAAO,CAAC,SAAS,CAAC,CAAiB;IACnC,OAAO,CAAC,UAAU,CAAC,CAAkB;IACrC,OAAO,CAAC,KAAK,CAAC,CAAa;IAC3B,OAAO,CAAC,iBAAiB,CAAC,CAAoB;;IAM9C;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAMtD;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAKlC;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKlD;;OAEG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAKtD;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IAK7C;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAKhD;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAKjC;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAKtD;;OAEG;IACH,KAAK,IAAI,WAAW;CAuCrB"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TraceBuilder = void 0;
|
|
4
|
+
const trace_utils_1 = require("./trace-utils");
|
|
5
|
+
/**
|
|
6
|
+
* Builder for constructing trace reports
|
|
7
|
+
*/
|
|
8
|
+
class TraceBuilder {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.mode = 'SEMANTIC';
|
|
11
|
+
this.provider = '';
|
|
12
|
+
this.promptVersion = '';
|
|
13
|
+
this.timings = {};
|
|
14
|
+
this.traceId = (0, trace_utils_1.generateTraceId)();
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Get the trace ID
|
|
18
|
+
*/
|
|
19
|
+
getTraceId() {
|
|
20
|
+
return this.traceId;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Set provider information
|
|
24
|
+
*/
|
|
25
|
+
setProvider(name, promptVersion) {
|
|
26
|
+
this.provider = name;
|
|
27
|
+
this.promptVersion = promptVersion;
|
|
28
|
+
return this;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Set timings
|
|
32
|
+
*/
|
|
33
|
+
setTimings(timings) {
|
|
34
|
+
this.timings = timings;
|
|
35
|
+
return this;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Add partial timing
|
|
39
|
+
*/
|
|
40
|
+
addTiming(key, value) {
|
|
41
|
+
this.timings[key] = value;
|
|
42
|
+
return this;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Set mapping plan
|
|
46
|
+
*/
|
|
47
|
+
setMappingPlan(raw, parsed) {
|
|
48
|
+
this.mappingPlan = { raw, parsed };
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Set execution trace
|
|
53
|
+
*/
|
|
54
|
+
setExecution(execution) {
|
|
55
|
+
this.execution = execution;
|
|
56
|
+
return this;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Set validation trace
|
|
60
|
+
*/
|
|
61
|
+
setValidation(validation) {
|
|
62
|
+
this.validation = validation;
|
|
63
|
+
return this;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Set cache trace
|
|
67
|
+
*/
|
|
68
|
+
setCache(cache) {
|
|
69
|
+
this.cache = cache;
|
|
70
|
+
return this;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Set confidence summary
|
|
74
|
+
*/
|
|
75
|
+
setConfidenceSummary(summary) {
|
|
76
|
+
this.confidenceSummary = summary;
|
|
77
|
+
return this;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Build the complete trace report
|
|
81
|
+
*/
|
|
82
|
+
build() {
|
|
83
|
+
// Ensure all required fields are present
|
|
84
|
+
if (!this.provider) {
|
|
85
|
+
throw new Error('Provider not set in trace');
|
|
86
|
+
}
|
|
87
|
+
if (!this.mappingPlan) {
|
|
88
|
+
throw new Error('Mapping plan not set in trace');
|
|
89
|
+
}
|
|
90
|
+
if (!this.execution) {
|
|
91
|
+
throw new Error('Execution trace not set in trace');
|
|
92
|
+
}
|
|
93
|
+
if (!this.validation) {
|
|
94
|
+
throw new Error('Validation trace not set in trace');
|
|
95
|
+
}
|
|
96
|
+
if (!this.cache) {
|
|
97
|
+
throw new Error('Cache trace not set in trace');
|
|
98
|
+
}
|
|
99
|
+
if (!this.confidenceSummary) {
|
|
100
|
+
throw new Error('Confidence summary not set in trace');
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
traceId: this.traceId,
|
|
104
|
+
mode: this.mode,
|
|
105
|
+
provider: this.provider,
|
|
106
|
+
promptVersion: this.promptVersion,
|
|
107
|
+
timings: this.timings,
|
|
108
|
+
mappingPlan: this.mappingPlan,
|
|
109
|
+
execution: this.execution,
|
|
110
|
+
validation: this.validation,
|
|
111
|
+
cache: this.cache,
|
|
112
|
+
confidenceSummary: this.confidenceSummary,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
exports.TraceBuilder = TraceBuilder;
|
|
117
|
+
//# sourceMappingURL=TraceBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TraceBuilder.js","sourceRoot":"","sources":["../../src/trace/TraceBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AssignmentTrace, ConfidenceSummary } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Analyze confidence scores from assignments
|
|
4
|
+
*/
|
|
5
|
+
export declare function analyzeConfidence(assignments: AssignmentTrace[], threshold: number): ConfidenceSummary;
|
|
6
|
+
//# sourceMappingURL=confidence-analyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confidence-analyzer.d.ts","sourceRoot":"","sources":["../../src/trace/confidence-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE9D;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,eAAe,EAAE,EAC9B,SAAS,EAAE,MAAM,GAChB,iBAAiB,CAyBnB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.analyzeConfidence = analyzeConfidence;
|
|
4
|
+
/**
|
|
5
|
+
* Analyze confidence scores from assignments
|
|
6
|
+
*/
|
|
7
|
+
function analyzeConfidence(assignments, threshold) {
|
|
8
|
+
if (assignments.length === 0) {
|
|
9
|
+
return {
|
|
10
|
+
min: 0,
|
|
11
|
+
max: 0,
|
|
12
|
+
avg: 0,
|
|
13
|
+
countBelowThreshold: 0,
|
|
14
|
+
threshold,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
const confidences = assignments.map((a) => a.assignment.confidence);
|
|
18
|
+
const min = Math.min(...confidences);
|
|
19
|
+
const max = Math.max(...confidences);
|
|
20
|
+
const avg = confidences.reduce((sum, c) => sum + c, 0) / confidences.length;
|
|
21
|
+
const countBelowThreshold = confidences.filter((c) => c < threshold).length;
|
|
22
|
+
return {
|
|
23
|
+
min,
|
|
24
|
+
max,
|
|
25
|
+
avg: Math.round(avg * 100) / 100, // Round to 2 decimal places
|
|
26
|
+
countBelowThreshold,
|
|
27
|
+
threshold,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=confidence-analyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confidence-analyzer.js","sourceRoot":"","sources":["../../src/trace/confidence-analyzer.ts"],"names":[],"mappings":";;AAKA,8CA4BC;AA/BD;;GAEG;AACH,SAAgB,iBAAiB,CAC/B,WAA8B,EAC9B,SAAiB;IAEjB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;YACN,mBAAmB,EAAE,CAAC;YACtB,SAAS;SACV,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAEpE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;IAC5E,MAAM,mBAAmB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,MAAM,CAAC;IAE5E,OAAO;QACL,GAAG;QACH,GAAG;QACH,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,4BAA4B;QAC9D,mBAAmB;QACnB,SAAS;KACV,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/trace/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.TraceBuilder = void 0;
|
|
18
|
+
var TraceBuilder_1 = require("./TraceBuilder");
|
|
19
|
+
Object.defineProperty(exports, "TraceBuilder", { enumerable: true, get: function () { return TraceBuilder_1.TraceBuilder; } });
|
|
20
|
+
__exportStar(require("./trace-utils"), exports);
|
|
21
|
+
__exportStar(require("./confidence-analyzer"), exports);
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/trace/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,gDAA8B;AAC9B,wDAAsC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate a unique trace ID
|
|
3
|
+
*/
|
|
4
|
+
export declare function generateTraceId(): string;
|
|
5
|
+
/**
|
|
6
|
+
* Simple timer for measuring execution time
|
|
7
|
+
*/
|
|
8
|
+
export declare class Timer {
|
|
9
|
+
private startTime;
|
|
10
|
+
constructor();
|
|
11
|
+
/**
|
|
12
|
+
* Get elapsed time in milliseconds
|
|
13
|
+
*/
|
|
14
|
+
elapsed(): number;
|
|
15
|
+
/**
|
|
16
|
+
* Reset the timer
|
|
17
|
+
*/
|
|
18
|
+
reset(): void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=trace-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-utils.d.ts","sourceRoot":"","sources":["../../src/trace/trace-utils.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;GAEG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,SAAS,CAAS;;IAM1B;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Timer = void 0;
|
|
4
|
+
exports.generateTraceId = generateTraceId;
|
|
5
|
+
const uuid_1 = require("uuid");
|
|
6
|
+
/**
|
|
7
|
+
* Generate a unique trace ID
|
|
8
|
+
*/
|
|
9
|
+
function generateTraceId() {
|
|
10
|
+
return (0, uuid_1.v4)();
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Simple timer for measuring execution time
|
|
14
|
+
*/
|
|
15
|
+
class Timer {
|
|
16
|
+
constructor() {
|
|
17
|
+
this.startTime = Date.now();
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Get elapsed time in milliseconds
|
|
21
|
+
*/
|
|
22
|
+
elapsed() {
|
|
23
|
+
return Date.now() - this.startTime;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Reset the timer
|
|
27
|
+
*/
|
|
28
|
+
reset() {
|
|
29
|
+
this.startTime = Date.now();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.Timer = Timer;
|
|
33
|
+
//# sourceMappingURL=trace-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-utils.js","sourceRoot":"","sources":["../../src/trace/trace-utils.ts"],"names":[],"mappings":";;;AAKA,0CAEC;AAPD,+BAAoC;AAEpC;;GAEG;AACH,SAAgB,eAAe;IAC7B,OAAO,IAAA,SAAM,GAAE,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAa,KAAK;IAGhB;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC9B,CAAC;CACF;AApBD,sBAoBC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { TransformOptions, TransformResult } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Transform input JSON to schema-compliant output using semantic mapping
|
|
4
|
+
*
|
|
5
|
+
* @param input - The input JSON to transform
|
|
6
|
+
* @param options - Transformation options
|
|
7
|
+
* @returns Promise<TransformResult> - Result with output or error + trace
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { transform, GeminiProvider } from 'fon-sdk';
|
|
12
|
+
*
|
|
13
|
+
* const result = await transform(
|
|
14
|
+
* { firstname: 'John', lastname: 'Doe' },
|
|
15
|
+
* {
|
|
16
|
+
* schema: userSchema,
|
|
17
|
+
* provider: new GeminiProvider({ apiKey: process.env.GEMINI_API_KEY }),
|
|
18
|
+
* confidenceThreshold: 0.85
|
|
19
|
+
* }
|
|
20
|
+
* );
|
|
21
|
+
*
|
|
22
|
+
* if (result.ok) {
|
|
23
|
+
* console.log('Transformed:', result.output);
|
|
24
|
+
* } else {
|
|
25
|
+
* console.error('Error:', result.error);
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare function transform(input: unknown, options: TransformOptions): Promise<TransformResult>;
|
|
30
|
+
//# sourceMappingURL=transform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG5D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,SAAS,CAC7B,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,CAmC1B"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.transform = transform;
|
|
4
|
+
const MappingEngine_1 = require("./engine/MappingEngine");
|
|
5
|
+
/**
|
|
6
|
+
* Transform input JSON to schema-compliant output using semantic mapping
|
|
7
|
+
*
|
|
8
|
+
* @param input - The input JSON to transform
|
|
9
|
+
* @param options - Transformation options
|
|
10
|
+
* @returns Promise<TransformResult> - Result with output or error + trace
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import { transform, GeminiProvider } from 'fon-sdk';
|
|
15
|
+
*
|
|
16
|
+
* const result = await transform(
|
|
17
|
+
* { firstname: 'John', lastname: 'Doe' },
|
|
18
|
+
* {
|
|
19
|
+
* schema: userSchema,
|
|
20
|
+
* provider: new GeminiProvider({ apiKey: process.env.GEMINI_API_KEY }),
|
|
21
|
+
* confidenceThreshold: 0.85
|
|
22
|
+
* }
|
|
23
|
+
* );
|
|
24
|
+
*
|
|
25
|
+
* if (result.ok) {
|
|
26
|
+
* console.log('Transformed:', result.output);
|
|
27
|
+
* } else {
|
|
28
|
+
* console.error('Error:', result.error);
|
|
29
|
+
* }
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
async function transform(input, options) {
|
|
33
|
+
// Validate required options
|
|
34
|
+
if (!options.provider) {
|
|
35
|
+
throw new Error('Provider is required');
|
|
36
|
+
}
|
|
37
|
+
if (!options.schema) {
|
|
38
|
+
throw new Error('Schema is required');
|
|
39
|
+
}
|
|
40
|
+
// Create mapping engine
|
|
41
|
+
const engine = new MappingEngine_1.MappingEngine({
|
|
42
|
+
provider: options.provider,
|
|
43
|
+
schema: options.schema,
|
|
44
|
+
confidenceThreshold: options.confidenceThreshold,
|
|
45
|
+
cache: options.cache,
|
|
46
|
+
security: options.security,
|
|
47
|
+
verbose: options.verbose,
|
|
48
|
+
});
|
|
49
|
+
// Execute transformation
|
|
50
|
+
const result = await engine.transform(input);
|
|
51
|
+
// Call hooks if provided
|
|
52
|
+
if (options.hooks) {
|
|
53
|
+
if (options.hooks.onTrace) {
|
|
54
|
+
options.hooks.onTrace(result.trace);
|
|
55
|
+
}
|
|
56
|
+
if (!result.ok && result.error && options.hooks.onError) {
|
|
57
|
+
options.hooks.onError(result.error, result.trace.traceId);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return result;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=transform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":";;AA8BA,8BAsCC;AAnED,0DAAuD;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACI,KAAK,UAAU,SAAS,CAC7B,KAAc,EACd,OAAyB;IAEzB,4BAA4B;IAC5B,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,wBAAwB;IACxB,MAAM,MAAM,GAAG,IAAI,6BAAa,CAAC;QAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC;IAEH,yBAAyB;IACzB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAE7C,yBAAyB;IACzB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACxD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { MappingPlan } from './mapping.types';
|
|
2
|
+
/**
|
|
3
|
+
* Cache interface for mapping plans
|
|
4
|
+
*/
|
|
5
|
+
export interface Cache {
|
|
6
|
+
/** Get cached mapping plan */
|
|
7
|
+
get(key: string): Promise<CachedMappingPlan | null>;
|
|
8
|
+
/** Store mapping plan in cache */
|
|
9
|
+
set(key: string, value: CachedMappingPlan, ttl?: number): Promise<void>;
|
|
10
|
+
/** Check if key exists in cache */
|
|
11
|
+
has(key: string): Promise<boolean>;
|
|
12
|
+
/** Delete a cached entry */
|
|
13
|
+
delete(key: string): Promise<boolean>;
|
|
14
|
+
/** Clear all cached entries */
|
|
15
|
+
clear(): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Cached mapping plan with metadata
|
|
19
|
+
*/
|
|
20
|
+
export interface CachedMappingPlan {
|
|
21
|
+
/** The mapping plan */
|
|
22
|
+
mappingPlan: MappingPlan;
|
|
23
|
+
/** Metadata about the cached entry */
|
|
24
|
+
metadata: CacheMetadata;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Metadata stored with cached mapping plan
|
|
28
|
+
*/
|
|
29
|
+
export interface CacheMetadata {
|
|
30
|
+
/** Timestamp when cached */
|
|
31
|
+
createdAt: number;
|
|
32
|
+
/** Provider name that generated the plan */
|
|
33
|
+
provider: string;
|
|
34
|
+
/** Prompt version used */
|
|
35
|
+
promptVersion: string;
|
|
36
|
+
/** Schema version/hash */
|
|
37
|
+
schemaVersion: string;
|
|
38
|
+
/** Input shape signature (hash of keys + structure) */
|
|
39
|
+
inputSignature: string;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=cache.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.types.d.ts","sourceRoot":"","sources":["../../src/types/cache.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,8BAA8B;IAC9B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAEpD,kCAAkC;IAClC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExE,mCAAmC;IACnC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEnC,4BAA4B;IAC5B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC,+BAA+B;IAC/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,uBAAuB;IACvB,WAAW,EAAE,WAAW,CAAC;IAEzB,sCAAsC;IACtC,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAElB,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IAEjB,0BAA0B;IAC1B,aAAa,EAAE,MAAM,CAAC;IAEtB,0BAA0B;IAC1B,aAAa,EAAE,MAAM,CAAC;IAEtB,uDAAuD;IACvD,cAAc,EAAE,MAAM,CAAC;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.types.js","sourceRoot":"","sources":["../../src/types/cache.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error categories for FOON SDK errors
|
|
3
|
+
*/
|
|
4
|
+
export declare enum ErrorCategory {
|
|
5
|
+
SCHEMA_LOAD_ERROR = "SCHEMA_LOAD_ERROR",
|
|
6
|
+
PROVIDER_ERROR = "PROVIDER_ERROR",
|
|
7
|
+
MAPPING_PLAN_PARSE_ERROR = "MAPPING_PLAN_PARSE_ERROR",
|
|
8
|
+
CONFIDENCE_TOO_LOW = "CONFIDENCE_TOO_LOW",
|
|
9
|
+
EXECUTION_ERROR = "EXECUTION_ERROR",
|
|
10
|
+
VALIDATION_ERROR = "VALIDATION_ERROR",
|
|
11
|
+
SECURITY_LIMIT_EXCEEDED = "SECURITY_LIMIT_EXCEEDED"
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Base error class for all FOON SDK errors
|
|
15
|
+
*/
|
|
16
|
+
export declare class FONError extends Error {
|
|
17
|
+
category: ErrorCategory;
|
|
18
|
+
details?: object | undefined;
|
|
19
|
+
traceId?: string | undefined;
|
|
20
|
+
constructor(category: ErrorCategory, message: string, details?: object | undefined, traceId?: string | undefined);
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=errors.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.types.d.ts","sourceRoot":"","sources":["../../src/types/errors.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,aAAa;IACvB,iBAAiB,sBAAsB;IACvC,cAAc,mBAAmB;IACjC,wBAAwB,6BAA6B;IACrD,kBAAkB,uBAAuB;IACzC,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,uBAAuB,4BAA4B;CACpD;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,KAAK;IAExB,QAAQ,EAAE,aAAa;IAEvB,OAAO,CAAC,EAAE,MAAM;IAChB,OAAO,CAAC,EAAE,MAAM;gBAHhB,QAAQ,EAAE,aAAa,EAC9B,OAAO,EAAE,MAAM,EACR,OAAO,CAAC,EAAE,MAAM,YAAA,EAChB,OAAO,CAAC,EAAE,MAAM,YAAA;CAM1B"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FONError = exports.ErrorCategory = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Error categories for FOON SDK errors
|
|
6
|
+
*/
|
|
7
|
+
var ErrorCategory;
|
|
8
|
+
(function (ErrorCategory) {
|
|
9
|
+
ErrorCategory["SCHEMA_LOAD_ERROR"] = "SCHEMA_LOAD_ERROR";
|
|
10
|
+
ErrorCategory["PROVIDER_ERROR"] = "PROVIDER_ERROR";
|
|
11
|
+
ErrorCategory["MAPPING_PLAN_PARSE_ERROR"] = "MAPPING_PLAN_PARSE_ERROR";
|
|
12
|
+
ErrorCategory["CONFIDENCE_TOO_LOW"] = "CONFIDENCE_TOO_LOW";
|
|
13
|
+
ErrorCategory["EXECUTION_ERROR"] = "EXECUTION_ERROR";
|
|
14
|
+
ErrorCategory["VALIDATION_ERROR"] = "VALIDATION_ERROR";
|
|
15
|
+
ErrorCategory["SECURITY_LIMIT_EXCEEDED"] = "SECURITY_LIMIT_EXCEEDED";
|
|
16
|
+
})(ErrorCategory || (exports.ErrorCategory = ErrorCategory = {}));
|
|
17
|
+
/**
|
|
18
|
+
* Base error class for all FOON SDK errors
|
|
19
|
+
*/
|
|
20
|
+
class FONError extends Error {
|
|
21
|
+
constructor(category, message, details, traceId) {
|
|
22
|
+
super(message);
|
|
23
|
+
this.category = category;
|
|
24
|
+
this.details = details;
|
|
25
|
+
this.traceId = traceId;
|
|
26
|
+
this.name = 'FONError';
|
|
27
|
+
Object.setPrototypeOf(this, FONError.prototype);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.FONError = FONError;
|
|
31
|
+
//# sourceMappingURL=errors.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.types.js","sourceRoot":"","sources":["../../src/types/errors.types.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,aAQX;AARD,WAAY,aAAa;IACvB,wDAAuC,CAAA;IACvC,kDAAiC,CAAA;IACjC,sEAAqD,CAAA;IACrD,0DAAyC,CAAA;IACzC,oDAAmC,CAAA;IACnC,sDAAqC,CAAA;IACrC,oEAAmD,CAAA;AACrD,CAAC,EARW,aAAa,6BAAb,aAAa,QAQxB;AAED;;GAEG;AACH,MAAa,QAAS,SAAQ,KAAK;IACjC,YACS,QAAuB,EAC9B,OAAe,EACR,OAAgB,EAChB,OAAgB;QAEvB,KAAK,CAAC,OAAO,CAAC,CAAC;QALR,aAAQ,GAAR,QAAQ,CAAe;QAEvB,YAAO,GAAP,OAAO,CAAS;QAChB,YAAO,GAAP,OAAO,CAAS;QAGvB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;CACF;AAXD,4BAWC"}
|