@micrantha/react-native-amaryllis 0.1.0 → 0.1.5
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 +43 -8
- package/android/src/main/java/com/micrantha/amaryllis/Amaryllis.kt +83 -8
- package/lib/module/Amaryllis.js +75 -20
- package/lib/module/Amaryllis.js.map +1 -1
- package/lib/module/AmaryllisContext.js +14 -4
- package/lib/module/AmaryllisContext.js.map +1 -1
- package/lib/module/AmaryllisHooks.js +87 -4
- package/lib/module/AmaryllisHooks.js.map +1 -1
- package/lib/module/AmaryllisRx.js +15 -14
- package/lib/module/AmaryllisRx.js.map +1 -1
- package/lib/module/ContextEngine.js +87 -0
- package/lib/module/ContextEngine.js.map +1 -0
- package/lib/module/ContextEngineContext.js +22 -0
- package/lib/module/ContextEngineContext.js.map +1 -0
- package/lib/module/ContextPolicies.js +46 -0
- package/lib/module/ContextPolicies.js.map +1 -0
- package/lib/module/ContextTypes.js +4 -0
- package/lib/module/ContextTypes.js.map +1 -0
- package/lib/module/ContextValidation.js +189 -0
- package/lib/module/ContextValidation.js.map +1 -0
- package/lib/module/Errors.js +46 -0
- package/lib/module/Errors.js.map +1 -0
- package/lib/module/NativeAmaryllis.js.map +1 -1
- package/lib/module/TypeConverters.js +80 -0
- package/lib/module/TypeConverters.js.map +1 -0
- package/lib/module/context.js +8 -0
- package/lib/module/context.js.map +1 -0
- package/lib/module/index.js +4 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/Amaryllis.d.ts.map +1 -1
- package/lib/typescript/src/AmaryllisContext.d.ts.map +1 -1
- package/lib/typescript/src/AmaryllisHooks.d.ts +8 -1
- package/lib/typescript/src/AmaryllisHooks.d.ts.map +1 -1
- package/lib/typescript/src/AmaryllisRx.d.ts.map +1 -1
- package/lib/typescript/src/ContextEngine.d.ts +19 -0
- package/lib/typescript/src/ContextEngine.d.ts.map +1 -0
- package/lib/typescript/src/ContextEngineContext.d.ts +9 -0
- package/lib/typescript/src/ContextEngineContext.d.ts.map +1 -0
- package/lib/typescript/src/ContextPolicies.d.ts +4 -0
- package/lib/typescript/src/ContextPolicies.d.ts.map +1 -0
- package/lib/typescript/src/ContextTypes.d.ts +92 -0
- package/lib/typescript/src/ContextTypes.d.ts.map +1 -0
- package/lib/typescript/src/ContextValidation.d.ts +9 -0
- package/lib/typescript/src/ContextValidation.d.ts.map +1 -0
- package/lib/typescript/src/Errors.d.ts +22 -0
- package/lib/typescript/src/Errors.d.ts.map +1 -0
- package/lib/typescript/src/NativeAmaryllis.d.ts +24 -4
- package/lib/typescript/src/NativeAmaryllis.d.ts.map +1 -1
- package/lib/typescript/src/TypeConverters.d.ts +43 -0
- package/lib/typescript/src/TypeConverters.d.ts.map +1 -0
- package/lib/typescript/src/Types.d.ts +14 -0
- package/lib/typescript/src/Types.d.ts.map +1 -1
- package/lib/typescript/src/context.d.ts +8 -0
- package/lib/typescript/src/context.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +5 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +34 -28
- package/src/Amaryllis.ts +75 -24
- package/src/AmaryllisContext.tsx +19 -4
- package/src/AmaryllisHooks.tsx +106 -5
- package/src/AmaryllisRx.ts +13 -9
- package/src/ContextEngine.ts +133 -0
- package/src/ContextEngineContext.tsx +31 -0
- package/src/ContextPolicies.ts +54 -0
- package/src/ContextTypes.ts +122 -0
- package/src/ContextValidation.ts +279 -0
- package/src/Errors.ts +55 -0
- package/src/NativeAmaryllis.ts +18 -4
- package/src/TypeConverters.ts +87 -0
- package/src/Types.ts +9 -0
- package/src/context.ts +14 -0
- package/src/index.tsx +5 -0
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { defaultContextScorer } from "./ContextPolicies.js";
|
|
4
|
+
import { validateContextItems, validateContextPolicy, validateContextQuery } from "./ContextValidation.js";
|
|
5
|
+
const formatMetadata = metadata => {
|
|
6
|
+
if (!metadata) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
const entries = Object.entries(metadata);
|
|
10
|
+
if (entries.length === 0) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
const pairs = entries.map(([key, value]) => `${key}=${value}`);
|
|
14
|
+
return `meta=${pairs.join(', ')}`;
|
|
15
|
+
};
|
|
16
|
+
const formatTags = tags => {
|
|
17
|
+
if (!tags || tags.length === 0) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
return `tags=${tags.join(', ')}`;
|
|
21
|
+
};
|
|
22
|
+
const formatContextItem = item => {
|
|
23
|
+
const parts = [item.text.trim(), formatTags(item.tags), formatMetadata(item.metadata)];
|
|
24
|
+
return parts.filter(part => Boolean(part && part.length > 0)).join(' | ');
|
|
25
|
+
};
|
|
26
|
+
export const defaultContextFormatter = params => {
|
|
27
|
+
if (params.items.length === 0) {
|
|
28
|
+
return params.request;
|
|
29
|
+
}
|
|
30
|
+
const lines = params.items.map(item => `- ${formatContextItem(item)}`);
|
|
31
|
+
const contextBlock = ['Context:', ...lines].join('\n');
|
|
32
|
+
const augmentedPrompt = [contextBlock, params.prompt].map(entry => entry.trim()).filter(entry => entry.length > 0).join('\n\n');
|
|
33
|
+
return {
|
|
34
|
+
...params.request,
|
|
35
|
+
prompt: augmentedPrompt
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
export class ContextEngine {
|
|
39
|
+
constructor(options) {
|
|
40
|
+
validateContextPolicy(options.policy);
|
|
41
|
+
this.store = options.store;
|
|
42
|
+
this.scorer = options.scorer ?? defaultContextScorer;
|
|
43
|
+
this.policy = options.policy ?? {};
|
|
44
|
+
this.formatter = options.formatter ?? defaultContextFormatter;
|
|
45
|
+
this.defaultQueryFactory = options.defaultQueryFactory;
|
|
46
|
+
}
|
|
47
|
+
async add(items) {
|
|
48
|
+
validateContextItems(items, this.policy);
|
|
49
|
+
await this.store.put(items);
|
|
50
|
+
}
|
|
51
|
+
async search(query) {
|
|
52
|
+
validateContextQuery(query);
|
|
53
|
+
const results = await this.store.query(query);
|
|
54
|
+
if (results.length <= 1) {
|
|
55
|
+
return results;
|
|
56
|
+
}
|
|
57
|
+
const scored = results.map((item, index) => ({
|
|
58
|
+
item,
|
|
59
|
+
index,
|
|
60
|
+
score: this.scorer.score(item, query)
|
|
61
|
+
}));
|
|
62
|
+
scored.sort((a, b) => {
|
|
63
|
+
if (a.score === b.score) {
|
|
64
|
+
return a.index - b.index;
|
|
65
|
+
}
|
|
66
|
+
return b.score - a.score;
|
|
67
|
+
});
|
|
68
|
+
return scored.map(entry => entry.item);
|
|
69
|
+
}
|
|
70
|
+
setPolicy(policy) {
|
|
71
|
+
validateContextPolicy(policy);
|
|
72
|
+
this.policy = policy ?? {};
|
|
73
|
+
}
|
|
74
|
+
async compact() {
|
|
75
|
+
await this.store.compact(this.policy ?? {});
|
|
76
|
+
}
|
|
77
|
+
formatRequest(params) {
|
|
78
|
+
return this.formatter(params);
|
|
79
|
+
}
|
|
80
|
+
deriveQuery(prompt, request) {
|
|
81
|
+
return this.defaultQueryFactory?.(prompt, request);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
export const createContextEngine = options => {
|
|
85
|
+
return new ContextEngine(options);
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=ContextEngine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["defaultContextScorer","validateContextItems","validateContextPolicy","validateContextQuery","formatMetadata","metadata","entries","Object","length","pairs","map","key","value","join","formatTags","tags","formatContextItem","item","parts","text","trim","filter","part","Boolean","defaultContextFormatter","params","items","request","lines","contextBlock","augmentedPrompt","prompt","entry","ContextEngine","constructor","options","policy","store","scorer","formatter","defaultQueryFactory","add","put","search","query","results","scored","index","score","sort","a","b","setPolicy","compact","formatRequest","deriveQuery","createContextEngine"],"sourceRoot":"../../src","sources":["ContextEngine.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { createContext, useContext } from 'react';
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
const ContextEngineContext = /*#__PURE__*/createContext({
|
|
6
|
+
engine: null
|
|
7
|
+
});
|
|
8
|
+
export const ContextEngineProvider = ({
|
|
9
|
+
engine,
|
|
10
|
+
children
|
|
11
|
+
}) => {
|
|
12
|
+
return /*#__PURE__*/_jsx(ContextEngineContext.Provider, {
|
|
13
|
+
value: {
|
|
14
|
+
engine
|
|
15
|
+
},
|
|
16
|
+
children: children
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
export const useContextEngine = () => {
|
|
20
|
+
return useContext(ContextEngineContext).engine;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=ContextEngineContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createContext","useContext","jsx","_jsx","ContextEngineContext","engine","ContextEngineProvider","children","Provider","value","useContextEngine"],"sourceRoot":"../../src","sources":["ContextEngineContext.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAalD,MAAMC,oBAAoB,gBAAGJ,aAAa,CAA4B;EACpEK,MAAM,EAAE;AACV,CAAC,CAAC;AAEF,OAAO,MAAMC,qBAAqB,GAAGA,CAAC;EACpCD,MAAM;EACNE;AAC0B,CAAC,KAAK;EAChC,oBACEJ,IAAA,CAACC,oBAAoB,CAACI,QAAQ;IAACC,KAAK,EAAE;MAAEJ;IAAO,CAAE;IAAAE,QAAA,EAC9CA;EAAQ,CACoB,CAAC;AAEpC,CAAC;AAED,OAAO,MAAMG,gBAAgB,GAAGA,CAAA,KAA4B;EAC1D,OAAOT,UAAU,CAACG,oBAAoB,CAAC,CAACC,MAAM;AAChD,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export const DEFAULT_RECENCY_BIAS = 0.35;
|
|
4
|
+
const clamp01 = value => {
|
|
5
|
+
if (value < 0) {
|
|
6
|
+
return 0;
|
|
7
|
+
}
|
|
8
|
+
if (value > 1) {
|
|
9
|
+
return 1;
|
|
10
|
+
}
|
|
11
|
+
return value;
|
|
12
|
+
};
|
|
13
|
+
const tokenize = text => {
|
|
14
|
+
return text.toLowerCase().split(/\\s+/).map(token => token.trim()).filter(token => token.length > 0);
|
|
15
|
+
};
|
|
16
|
+
const keywordScore = (item, query) => {
|
|
17
|
+
const queryTokens = tokenize(query.text);
|
|
18
|
+
if (queryTokens.length === 0) {
|
|
19
|
+
return 0;
|
|
20
|
+
}
|
|
21
|
+
const haystack = item.text.toLowerCase();
|
|
22
|
+
let hits = 0;
|
|
23
|
+
for (const token of queryTokens) {
|
|
24
|
+
if (haystack.includes(token)) {
|
|
25
|
+
hits += 1;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return hits / queryTokens.length;
|
|
29
|
+
};
|
|
30
|
+
const recencyScore = item => {
|
|
31
|
+
const ageMs = Date.now() - item.createdAt;
|
|
32
|
+
if (!Number.isFinite(ageMs) || ageMs < 0) {
|
|
33
|
+
return 0;
|
|
34
|
+
}
|
|
35
|
+
const ageHours = ageMs / (1000 * 60 * 60);
|
|
36
|
+
return 1 / (1 + ageHours);
|
|
37
|
+
};
|
|
38
|
+
export const defaultContextScorer = {
|
|
39
|
+
score: (item, query) => {
|
|
40
|
+
const bias = clamp01(query.recencyBias ?? DEFAULT_RECENCY_BIAS);
|
|
41
|
+
const recency = recencyScore(item);
|
|
42
|
+
const keyword = keywordScore(item, query);
|
|
43
|
+
return bias * recency + (1 - bias) * keyword;
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=ContextPolicies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DEFAULT_RECENCY_BIAS","clamp01","value","tokenize","text","toLowerCase","split","map","token","trim","filter","length","keywordScore","item","query","queryTokens","haystack","hits","includes","recencyScore","ageMs","Date","now","createdAt","Number","isFinite","ageHours","defaultContextScorer","score","bias","recencyBias","recency","keyword"],"sourceRoot":"../../src","sources":["ContextPolicies.ts"],"mappings":";;AAEA,OAAO,MAAMA,oBAAoB,GAAG,IAAI;AAExC,MAAMC,OAAO,GAAIC,KAAa,IAAa;EACzC,IAAIA,KAAK,GAAG,CAAC,EAAE;IACb,OAAO,CAAC;EACV;EACA,IAAIA,KAAK,GAAG,CAAC,EAAE;IACb,OAAO,CAAC;EACV;EACA,OAAOA,KAAK;AACd,CAAC;AAED,MAAMC,QAAQ,GAAIC,IAAY,IAAe;EAC3C,OAAOA,IAAI,CACRC,WAAW,CAAC,CAAC,CACbC,KAAK,CAAC,MAAM,CAAC,CACbC,GAAG,CAAEC,KAAK,IAAKA,KAAK,CAACC,IAAI,CAAC,CAAC,CAAC,CAC5BC,MAAM,CAAEF,KAAK,IAAKA,KAAK,CAACG,MAAM,GAAG,CAAC,CAAC;AACxC,CAAC;AAED,MAAMC,YAAY,GAAGA,CAACC,IAAiB,EAAEC,KAAmB,KAAa;EACvE,MAAMC,WAAW,GAAGZ,QAAQ,CAACW,KAAK,CAACV,IAAI,CAAC;EACxC,IAAIW,WAAW,CAACJ,MAAM,KAAK,CAAC,EAAE;IAC5B,OAAO,CAAC;EACV;EACA,MAAMK,QAAQ,GAAGH,IAAI,CAACT,IAAI,CAACC,WAAW,CAAC,CAAC;EACxC,IAAIY,IAAI,GAAG,CAAC;EACZ,KAAK,MAAMT,KAAK,IAAIO,WAAW,EAAE;IAC/B,IAAIC,QAAQ,CAACE,QAAQ,CAACV,KAAK,CAAC,EAAE;MAC5BS,IAAI,IAAI,CAAC;IACX;EACF;EACA,OAAOA,IAAI,GAAGF,WAAW,CAACJ,MAAM;AAClC,CAAC;AAED,MAAMQ,YAAY,GAAIN,IAAiB,IAAa;EAClD,MAAMO,KAAK,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGT,IAAI,CAACU,SAAS;EACzC,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACL,KAAK,CAAC,IAAIA,KAAK,GAAG,CAAC,EAAE;IACxC,OAAO,CAAC;EACV;EACA,MAAMM,QAAQ,GAAGN,KAAK,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;EACzC,OAAO,CAAC,IAAI,CAAC,GAAGM,QAAQ,CAAC;AAC3B,CAAC;AAED,OAAO,MAAMC,oBAAmC,GAAG;EACjDC,KAAK,EAAEA,CAACf,IAAiB,EAAEC,KAAmB,KAAa;IACzD,MAAMe,IAAI,GAAG5B,OAAO,CAACa,KAAK,CAACgB,WAAW,IAAI9B,oBAAoB,CAAC;IAC/D,MAAM+B,OAAO,GAAGZ,YAAY,CAACN,IAAI,CAAC;IAClC,MAAMmB,OAAO,GAAGpB,YAAY,CAACC,IAAI,EAAEC,KAAK,CAAC;IACzC,OAAOe,IAAI,GAAGE,OAAO,GAAG,CAAC,CAAC,GAAGF,IAAI,IAAIG,OAAO;EAC9C;AACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["ContextTypes.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { ValidationError } from "./Errors.js";
|
|
4
|
+
const SCHEME_REGEX = /^([a-zA-Z][a-zA-Z0-9+.-]*):/;
|
|
5
|
+
const isAbsolutePath = uri => {
|
|
6
|
+
return uri.startsWith('/') || /^[a-zA-Z]:\\\\/.test(uri);
|
|
7
|
+
};
|
|
8
|
+
const getScheme = uri => {
|
|
9
|
+
const match = uri.match(SCHEME_REGEX);
|
|
10
|
+
return match?.[1]?.toLowerCase();
|
|
11
|
+
};
|
|
12
|
+
const isPositiveNumber = value => {
|
|
13
|
+
return value !== undefined && Number.isFinite(value) && value > 0;
|
|
14
|
+
};
|
|
15
|
+
const isNonEmptyString = value => {
|
|
16
|
+
return value !== undefined && value.trim().length > 0;
|
|
17
|
+
};
|
|
18
|
+
const assertNonEmpty = (value, field) => {
|
|
19
|
+
if (!isNonEmptyString(value)) {
|
|
20
|
+
throw new ValidationError(`${field} must be a non-empty string`);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
const validateStringList = (values, field) => {
|
|
24
|
+
if (values.length === 0) {
|
|
25
|
+
throw new ValidationError(`${field} must not be empty`);
|
|
26
|
+
}
|
|
27
|
+
for (const value of values) {
|
|
28
|
+
assertNonEmpty(value, field);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
export const validateContextPolicy = policy => {
|
|
32
|
+
if (!policy) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const {
|
|
36
|
+
maxBytes,
|
|
37
|
+
maxItems,
|
|
38
|
+
defaultTtlSeconds,
|
|
39
|
+
evictionStrategy,
|
|
40
|
+
media
|
|
41
|
+
} = policy;
|
|
42
|
+
if (maxBytes !== undefined && !isPositiveNumber(maxBytes)) {
|
|
43
|
+
throw new ValidationError('maxBytes must be a positive number');
|
|
44
|
+
}
|
|
45
|
+
if (maxItems !== undefined && !isPositiveNumber(maxItems)) {
|
|
46
|
+
throw new ValidationError('maxItems must be a positive number');
|
|
47
|
+
}
|
|
48
|
+
if (defaultTtlSeconds !== undefined && !isPositiveNumber(defaultTtlSeconds)) {
|
|
49
|
+
throw new ValidationError('defaultTtlSeconds must be a positive number');
|
|
50
|
+
}
|
|
51
|
+
const hasEvictionStrategy = Object.prototype.hasOwnProperty.call(policy, 'evictionStrategy');
|
|
52
|
+
if (hasEvictionStrategy && evictionStrategy === undefined) {
|
|
53
|
+
throw new ValidationError('evictionStrategy is not supported');
|
|
54
|
+
}
|
|
55
|
+
if (evictionStrategy !== undefined && evictionStrategy !== 'lru' && evictionStrategy !== 'recency' && evictionStrategy !== 'size') {
|
|
56
|
+
throw new ValidationError('evictionStrategy is not supported');
|
|
57
|
+
}
|
|
58
|
+
validateMediaPolicy(media);
|
|
59
|
+
};
|
|
60
|
+
export const validateMediaPolicy = policy => {
|
|
61
|
+
if (!policy) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const {
|
|
65
|
+
allowedUriSchemes,
|
|
66
|
+
maxMediaBytes,
|
|
67
|
+
maxMediaWidth,
|
|
68
|
+
maxMediaHeight
|
|
69
|
+
} = policy;
|
|
70
|
+
if (allowedUriSchemes) {
|
|
71
|
+
if (allowedUriSchemes.length === 0) {
|
|
72
|
+
throw new ValidationError('allowedUriSchemes must not be empty');
|
|
73
|
+
}
|
|
74
|
+
for (const scheme of allowedUriSchemes) {
|
|
75
|
+
assertNonEmpty(scheme, 'allowedUriSchemes item');
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (maxMediaBytes !== undefined && !isPositiveNumber(maxMediaBytes)) {
|
|
79
|
+
throw new ValidationError('maxMediaBytes must be a positive number');
|
|
80
|
+
}
|
|
81
|
+
if (maxMediaWidth !== undefined && !isPositiveNumber(maxMediaWidth)) {
|
|
82
|
+
throw new ValidationError('maxMediaWidth must be a positive number');
|
|
83
|
+
}
|
|
84
|
+
if (maxMediaHeight !== undefined && !isPositiveNumber(maxMediaHeight)) {
|
|
85
|
+
throw new ValidationError('maxMediaHeight must be a positive number');
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
export const validateMediaReference = (reference, policy) => {
|
|
89
|
+
assertNonEmpty(reference.uri, 'MediaReference.uri');
|
|
90
|
+
if (policy?.requireAbsoluteUri) {
|
|
91
|
+
const scheme = getScheme(reference.uri);
|
|
92
|
+
if (!scheme && !isAbsolutePath(reference.uri)) {
|
|
93
|
+
throw new ValidationError('MediaReference.uri must be an absolute path or URI');
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
if (policy?.allowedUriSchemes) {
|
|
97
|
+
const scheme = getScheme(reference.uri);
|
|
98
|
+
if (!scheme) {
|
|
99
|
+
throw new ValidationError('MediaReference.uri must include a scheme when allowedUriSchemes is set');
|
|
100
|
+
}
|
|
101
|
+
const allowed = policy.allowedUriSchemes.map(item => item.toLowerCase());
|
|
102
|
+
if (!allowed.includes(scheme)) {
|
|
103
|
+
throw new ValidationError(`MediaReference.uri scheme not allowed: ${scheme}`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (reference.sizeBytes !== undefined && !isPositiveNumber(reference.sizeBytes)) {
|
|
107
|
+
throw new ValidationError('MediaReference.sizeBytes must be a positive number');
|
|
108
|
+
}
|
|
109
|
+
if (reference.width !== undefined && !isPositiveNumber(reference.width)) {
|
|
110
|
+
throw new ValidationError('MediaReference.width must be a positive number');
|
|
111
|
+
}
|
|
112
|
+
if (reference.height !== undefined && !isPositiveNumber(reference.height)) {
|
|
113
|
+
throw new ValidationError('MediaReference.height must be a positive number');
|
|
114
|
+
}
|
|
115
|
+
if (policy?.maxMediaBytes !== undefined && reference.sizeBytes !== undefined && reference.sizeBytes > policy.maxMediaBytes) {
|
|
116
|
+
throw new ValidationError('MediaReference.sizeBytes exceeds policy maxMediaBytes');
|
|
117
|
+
}
|
|
118
|
+
if (policy?.maxMediaWidth !== undefined && reference.width !== undefined && reference.width > policy.maxMediaWidth) {
|
|
119
|
+
throw new ValidationError('MediaReference.width exceeds policy maxMediaWidth');
|
|
120
|
+
}
|
|
121
|
+
if (policy?.maxMediaHeight !== undefined && reference.height !== undefined && reference.height > policy.maxMediaHeight) {
|
|
122
|
+
throw new ValidationError('MediaReference.height exceeds policy maxMediaHeight');
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
export const validateMediaReferences = (references, policy) => {
|
|
126
|
+
if (!references) {
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
if (references.length === 0) {
|
|
130
|
+
throw new ValidationError('media must not be an empty array');
|
|
131
|
+
}
|
|
132
|
+
validateMediaPolicy(policy);
|
|
133
|
+
for (const reference of references) {
|
|
134
|
+
validateMediaReference(reference, policy);
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
export const validateContextItem = (item, policy) => {
|
|
138
|
+
assertNonEmpty(item.id, 'ContextItem.id');
|
|
139
|
+
assertNonEmpty(item.text, 'ContextItem.text');
|
|
140
|
+
if (!Number.isFinite(item.createdAt) || item.createdAt <= 0) {
|
|
141
|
+
throw new ValidationError('ContextItem.createdAt must be a positive number');
|
|
142
|
+
}
|
|
143
|
+
if (item.updatedAt !== undefined && (!Number.isFinite(item.updatedAt) || item.updatedAt <= 0)) {
|
|
144
|
+
throw new ValidationError('ContextItem.updatedAt must be a positive number');
|
|
145
|
+
}
|
|
146
|
+
if (item.ttlSeconds !== undefined && !isPositiveNumber(item.ttlSeconds)) {
|
|
147
|
+
throw new ValidationError('ContextItem.ttlSeconds must be a positive number');
|
|
148
|
+
}
|
|
149
|
+
if (item.tags) {
|
|
150
|
+
validateStringList(item.tags, 'ContextItem.tags');
|
|
151
|
+
}
|
|
152
|
+
if (item.metadata) {
|
|
153
|
+
const entries = Object.entries(item.metadata);
|
|
154
|
+
for (const [key, value] of entries) {
|
|
155
|
+
assertNonEmpty(key, 'ContextItem.metadata key');
|
|
156
|
+
assertNonEmpty(value, 'ContextItem.metadata value');
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
validateMediaReferences(item.media, policy?.media);
|
|
160
|
+
};
|
|
161
|
+
export const validateContextItems = (items, policy) => {
|
|
162
|
+
if (items.length === 0) {
|
|
163
|
+
throw new ValidationError('items must not be empty');
|
|
164
|
+
}
|
|
165
|
+
validateContextPolicy(policy);
|
|
166
|
+
for (const item of items) {
|
|
167
|
+
validateContextItem(item, policy);
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
export const validateContextQuery = query => {
|
|
171
|
+
assertNonEmpty(query.text, 'ContextQuery.text');
|
|
172
|
+
if (query.limit !== undefined && !isPositiveNumber(query.limit)) {
|
|
173
|
+
throw new ValidationError('ContextQuery.limit must be a positive number');
|
|
174
|
+
}
|
|
175
|
+
if (query.recencyBias !== undefined && !Number.isFinite(query.recencyBias)) {
|
|
176
|
+
throw new ValidationError('ContextQuery.recencyBias must be a finite number');
|
|
177
|
+
}
|
|
178
|
+
if (query.tags) {
|
|
179
|
+
validateStringList(query.tags, 'ContextQuery.tags');
|
|
180
|
+
}
|
|
181
|
+
if (query.filters) {
|
|
182
|
+
const entries = Object.entries(query.filters);
|
|
183
|
+
for (const [key, value] of entries) {
|
|
184
|
+
assertNonEmpty(key, 'ContextQuery.filters key');
|
|
185
|
+
assertNonEmpty(value, 'ContextQuery.filters value');
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
//# sourceMappingURL=ContextValidation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ValidationError","SCHEME_REGEX","isAbsolutePath","uri","startsWith","test","getScheme","match","toLowerCase","isPositiveNumber","value","undefined","Number","isFinite","isNonEmptyString","trim","length","assertNonEmpty","field","validateStringList","values","validateContextPolicy","policy","maxBytes","maxItems","defaultTtlSeconds","evictionStrategy","media","hasEvictionStrategy","Object","prototype","hasOwnProperty","call","validateMediaPolicy","allowedUriSchemes","maxMediaBytes","maxMediaWidth","maxMediaHeight","scheme","validateMediaReference","reference","requireAbsoluteUri","allowed","map","item","includes","sizeBytes","width","height","validateMediaReferences","references","validateContextItem","id","text","createdAt","updatedAt","ttlSeconds","tags","metadata","entries","key","validateContextItems","items","validateContextQuery","query","limit","recencyBias","filters"],"sourceRoot":"../../src","sources":["ContextValidation.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export class AmaryllisError extends Error {
|
|
4
|
+
constructor(message, code) {
|
|
5
|
+
super(message);
|
|
6
|
+
this.code = code;
|
|
7
|
+
this.name = 'AmaryllisError';
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export class InitializationError extends AmaryllisError {
|
|
11
|
+
constructor(message) {
|
|
12
|
+
super(message, 'INIT_ERROR');
|
|
13
|
+
this.name = 'InitializationError';
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export class GenerationError extends AmaryllisError {
|
|
17
|
+
constructor(message) {
|
|
18
|
+
super(message, 'GENERATION_ERROR');
|
|
19
|
+
this.name = 'GenerationError';
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export class SessionError extends AmaryllisError {
|
|
23
|
+
constructor(message) {
|
|
24
|
+
super(message, 'SESSION_ERROR');
|
|
25
|
+
this.name = 'SessionError';
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export class ValidationError extends AmaryllisError {
|
|
29
|
+
constructor(message) {
|
|
30
|
+
super(message, 'VALIDATION_ERROR');
|
|
31
|
+
this.name = 'ValidationError';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export class ResourceError extends AmaryllisError {
|
|
35
|
+
constructor(message) {
|
|
36
|
+
super(message, 'RESOURCE_ERROR');
|
|
37
|
+
this.name = 'ResourceError';
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export function isAmaryllisError(error) {
|
|
41
|
+
return error instanceof AmaryllisError;
|
|
42
|
+
}
|
|
43
|
+
export function createError(message, code = 'UNKNOWN_ERROR') {
|
|
44
|
+
return new AmaryllisError(message, code);
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=Errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AmaryllisError","Error","constructor","message","code","name","InitializationError","GenerationError","SessionError","ValidationError","ResourceError","isAmaryllisError","error","createError"],"sourceRoot":"../../src","sources":["Errors.ts"],"mappings":";;AAAA,OAAO,MAAMA,cAAc,SAASC,KAAK,CAAC;EACxCC,WAAWA,CACTC,OAAe,EACCC,IAAY,EAC5B;IACA,KAAK,CAACD,OAAO,CAAC;IAAC,KAFCC,IAAY,GAAZA,IAAY;IAG5B,IAAI,CAACC,IAAI,GAAG,gBAAgB;EAC9B;AACF;AAEA,OAAO,MAAMC,mBAAmB,SAASN,cAAc,CAAC;EACtDE,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,EAAE,YAAY,CAAC;IAC5B,IAAI,CAACE,IAAI,GAAG,qBAAqB;EACnC;AACF;AAEA,OAAO,MAAME,eAAe,SAASP,cAAc,CAAC;EAClDE,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,EAAE,kBAAkB,CAAC;IAClC,IAAI,CAACE,IAAI,GAAG,iBAAiB;EAC/B;AACF;AAEA,OAAO,MAAMG,YAAY,SAASR,cAAc,CAAC;EAC/CE,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,EAAE,eAAe,CAAC;IAC/B,IAAI,CAACE,IAAI,GAAG,cAAc;EAC5B;AACF;AAEA,OAAO,MAAMI,eAAe,SAAST,cAAc,CAAC;EAClDE,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,EAAE,kBAAkB,CAAC;IAClC,IAAI,CAACE,IAAI,GAAG,iBAAiB;EAC/B;AACF;AAEA,OAAO,MAAMK,aAAa,SAASV,cAAc,CAAC;EAChDE,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,EAAE,gBAAgB,CAAC;IAChC,IAAI,CAACE,IAAI,GAAG,eAAe;EAC7B;AACF;AAEA,OAAO,SAASM,gBAAgBA,CAACC,KAAc,EAA2B;EACxE,OAAOA,KAAK,YAAYZ,cAAc;AACxC;AAEA,OAAO,SAASa,WAAWA,CACzBV,OAAe,EACfC,IAAY,GAAG,eAAe,EACd;EAChB,OAAO,IAAIJ,cAAc,CAACG,OAAO,EAAEC,IAAI,CAAC;AAC1C","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeAmaryllis.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeAmaryllis.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AA8BlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,WAAW,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Convert rich LlmEngineConfig to codegen-compatible object structure
|
|
5
|
+
*/
|
|
6
|
+
export function toNativeEngineConfig(config) {
|
|
7
|
+
return {
|
|
8
|
+
modelPath: config.modelPath,
|
|
9
|
+
maxTopK: config.maxTopK,
|
|
10
|
+
maxNumImages: config.maxNumImages,
|
|
11
|
+
maxTokens: config.maxTokens,
|
|
12
|
+
visionEncoderPath: config.visionEncoderPath,
|
|
13
|
+
visionAdapterPath: config.visionAdapterPath
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Convert codegen-compatible config object to rich LlmEngineConfig
|
|
19
|
+
*/
|
|
20
|
+
export function fromNativeEngineConfig(native) {
|
|
21
|
+
return {
|
|
22
|
+
modelPath: native.modelPath,
|
|
23
|
+
maxTopK: native.maxTopK,
|
|
24
|
+
maxNumImages: native.maxNumImages,
|
|
25
|
+
maxTokens: native.maxTokens,
|
|
26
|
+
visionEncoderPath: native.visionEncoderPath,
|
|
27
|
+
visionAdapterPath: native.visionAdapterPath
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Convert rich LlmSessionParams to codegen-compatible object structure
|
|
33
|
+
*/
|
|
34
|
+
export function toNativeSessionParams(params) {
|
|
35
|
+
if (!params) return undefined;
|
|
36
|
+
return {
|
|
37
|
+
topK: params.topK,
|
|
38
|
+
topP: params.topP,
|
|
39
|
+
temperature: params.temperature,
|
|
40
|
+
randomSeed: params.randomSeed,
|
|
41
|
+
loraPath: params.loraPath,
|
|
42
|
+
enableVisionModality: params.enableVisionModality
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Convert codegen-compatible session object to rich LlmSessionParams
|
|
48
|
+
*/
|
|
49
|
+
export function fromNativeSessionParams(native) {
|
|
50
|
+
if (!native) return undefined;
|
|
51
|
+
return {
|
|
52
|
+
topK: native.topK,
|
|
53
|
+
topP: native.topP,
|
|
54
|
+
temperature: native.temperature,
|
|
55
|
+
randomSeed: native.randomSeed,
|
|
56
|
+
loraPath: native.loraPath,
|
|
57
|
+
enableVisionModality: native.enableVisionModality
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Convert rich LlmRequestParams to codegen-compatible object structure
|
|
63
|
+
*/
|
|
64
|
+
export function toNativeRequestParams(params) {
|
|
65
|
+
return {
|
|
66
|
+
prompt: params.prompt,
|
|
67
|
+
images: params.images
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Convert codegen-compatible request object to rich LlmRequestParams
|
|
73
|
+
*/
|
|
74
|
+
export function fromNativeRequestParams(native) {
|
|
75
|
+
return {
|
|
76
|
+
prompt: native.prompt,
|
|
77
|
+
images: native.images
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=TypeConverters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["toNativeEngineConfig","config","modelPath","maxTopK","maxNumImages","maxTokens","visionEncoderPath","visionAdapterPath","fromNativeEngineConfig","native","toNativeSessionParams","params","undefined","topK","topP","temperature","randomSeed","loraPath","enableVisionModality","fromNativeSessionParams","toNativeRequestParams","prompt","images","fromNativeRequestParams"],"sourceRoot":"../../src","sources":["TypeConverters.ts"],"mappings":";;AAMA;AACA;AACA;AACA,OAAO,SAASA,oBAAoBA,CAACC,MAAuB,EAAE;EAC5D,OAAO;IACLC,SAAS,EAAED,MAAM,CAACC,SAAS;IAC3BC,OAAO,EAAEF,MAAM,CAACE,OAAO;IACvBC,YAAY,EAAEH,MAAM,CAACG,YAAY;IACjCC,SAAS,EAAEJ,MAAM,CAACI,SAAS;IAC3BC,iBAAiB,EAAEL,MAAM,CAACK,iBAAiB;IAC3CC,iBAAiB,EAAEN,MAAM,CAACM;EAC5B,CAAC;AACH;;AAEA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,MAAW,EAAmB;EACnE,OAAO;IACLP,SAAS,EAAEO,MAAM,CAACP,SAAS;IAC3BC,OAAO,EAAEM,MAAM,CAACN,OAAO;IACvBC,YAAY,EAAEK,MAAM,CAACL,YAAY;IACjCC,SAAS,EAAEI,MAAM,CAACJ,SAAS;IAC3BC,iBAAiB,EAAEG,MAAM,CAACH,iBAAiB;IAC3CC,iBAAiB,EAAEE,MAAM,CAACF;EAC5B,CAAC;AACH;;AAEA;AACA;AACA;AACA,OAAO,SAASG,qBAAqBA,CAACC,MAAyB,EAAE;EAC/D,IAAI,CAACA,MAAM,EAAE,OAAOC,SAAS;EAE7B,OAAO;IACLC,IAAI,EAAEF,MAAM,CAACE,IAAI;IACjBC,IAAI,EAAEH,MAAM,CAACG,IAAI;IACjBC,WAAW,EAAEJ,MAAM,CAACI,WAAW;IAC/BC,UAAU,EAAEL,MAAM,CAACK,UAAU;IAC7BC,QAAQ,EAAEN,MAAM,CAACM,QAAQ;IACzBC,oBAAoB,EAAEP,MAAM,CAACO;EAC/B,CAAC;AACH;;AAEA;AACA;AACA;AACA,OAAO,SAASC,uBAAuBA,CACrCV,MAAY,EACkB;EAC9B,IAAI,CAACA,MAAM,EAAE,OAAOG,SAAS;EAE7B,OAAO;IACLC,IAAI,EAAEJ,MAAM,CAACI,IAAI;IACjBC,IAAI,EAAEL,MAAM,CAACK,IAAI;IACjBC,WAAW,EAAEN,MAAM,CAACM,WAAW;IAC/BC,UAAU,EAAEP,MAAM,CAACO,UAAU;IAC7BC,QAAQ,EAAER,MAAM,CAACQ,QAAQ;IACzBC,oBAAoB,EAAET,MAAM,CAACS;EAC/B,CAAC;AACH;;AAEA;AACA;AACA;AACA,OAAO,SAASE,qBAAqBA,CAACT,MAAwB,EAAE;EAC9D,OAAO;IACLU,MAAM,EAAEV,MAAM,CAACU,MAAM;IACrBC,MAAM,EAAEX,MAAM,CAACW;EACjB,CAAC;AACH;;AAEA;AACA;AACA;AACA,OAAO,SAASC,uBAAuBA,CAACd,MAAW,EAAoB;EACrE,OAAO;IACLY,MAAM,EAAEZ,MAAM,CAACY,MAAM;IACrBC,MAAM,EAAEb,MAAM,CAACa;EACjB,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export { ContextEngine, createContextEngine, defaultContextFormatter } from "./ContextEngine.js";
|
|
4
|
+
export * from "./ContextEngineContext.js";
|
|
5
|
+
export * from "./ContextPolicies.js";
|
|
6
|
+
export * from "./ContextValidation.js";
|
|
7
|
+
export { useContextInference, useContextInferenceAsync } from "./AmaryllisHooks.js";
|
|
8
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ContextEngine","createContextEngine","defaultContextFormatter","useContextInference","useContextInferenceAsync"],"sourceRoot":"../../src","sources":["context.ts"],"mappings":";;AAAA,SACEA,aAAa,EACbC,mBAAmB,EACnBC,uBAAuB,QAClB,oBAAiB;AACxB,cAAc,2BAAwB;AACtC,cAAc,sBAAmB;AACjC,cAAc,wBAAqB;AACnC,SACEC,mBAAmB,EACnBC,wBAAwB,QACnB,qBAAkB","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -4,4 +4,8 @@ export { default as Amaryllis, LlmPipe } from "./Amaryllis.js";
|
|
|
4
4
|
export * from "./AmaryllisHooks.js";
|
|
5
5
|
export * from "./AmaryllisContext.js";
|
|
6
6
|
export * from "./AmaryllisRx.js";
|
|
7
|
+
export { createContextEngine } from "./ContextEngine.js";
|
|
8
|
+
export * from "./ContextEngineContext.js";
|
|
9
|
+
export * from "./ContextPolicies.js";
|
|
10
|
+
export * from "./ContextValidation.js";
|
|
7
11
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["default","Amaryllis","LlmPipe"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,SAAS,EAAEC,OAAO,QAAQ,gBAAa;AAC3D,cAAc,qBAAkB;AAChC,cAAc,uBAAoB;AAClC,cAAc,kBAAe","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["default","Amaryllis","LlmPipe","createContextEngine"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,SAAS,EAAEC,OAAO,QAAQ,gBAAa;AAC3D,cAAc,qBAAkB;AAChC,cAAc,uBAAoB;AAClC,cAAc,kBAAe;AAC7B,SAASC,mBAAmB,QAAQ,oBAAiB;AACrD,cAAc,2BAAwB;AACtC,cAAc,sBAAmB;AACjC,cAAc,wBAAqB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Amaryllis.d.ts","sourceRoot":"","sources":["../../../src/Amaryllis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,eAAe,EAChB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Amaryllis.d.ts","sourceRoot":"","sources":["../../../src/Amaryllis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,eAAe,EAChB,MAAM,SAAS,CAAC;AAWjB,qBAAa,OAAQ,YAAW,SAAS;IACvC,aAAa,EAAE,oBAAoB,EAAE,CAAM;IAC3C,UAAU,EAAE,eAAe,CAAC;IAC5B,SAAS,EAAE,eAAe,CAAC;gBAEf,MAAM,EAAE,aAAa;IAK3B,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlD,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7C,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IAKnD,aAAa,CACjB,MAAM,EAAE,gBAAgB,EACxB,SAAS,CAAC,EAAE,YAAY,GACvB,OAAO,CAAC,IAAI,CAAC;IAShB,KAAK,IAAI,IAAI;IAKb,WAAW,IAAI,IAAI;IAanB,mBAAmB,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;CA+DnD;AAED,eAAe,OAAO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmaryllisContext.d.ts","sourceRoot":"","sources":["../../../src/AmaryllisContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"AmaryllisContext.d.ts","sourceRoot":"","sources":["../../../src/AmaryllisContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAWjE,eAAO,MAAM,aAAa,uBAA+B,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,gCAIzB,gBAAgB,4CA6ClB,CAAC"}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { InferenceProps, LlmRequestParams } from './Types';
|
|
2
|
+
import type { ContextEngine, ContextQuery } from './ContextTypes';
|
|
3
|
+
export type ContextInferenceProps = InferenceProps & {
|
|
4
|
+
contextEngine?: ContextEngine;
|
|
5
|
+
query?: ContextQuery;
|
|
6
|
+
};
|
|
2
7
|
export declare const useInferenceAsync: (props?: InferenceProps) => (params: LlmRequestParams) => Promise<() => void>;
|
|
3
8
|
export declare const useInference: (props?: InferenceProps) => (params: LlmRequestParams) => Promise<() => void>;
|
|
9
|
+
export declare const useContextInferenceAsync: (props?: ContextInferenceProps) => (params: LlmRequestParams) => Promise<() => void>;
|
|
10
|
+
export declare const useContextInference: (props?: ContextInferenceProps) => (params: LlmRequestParams) => Promise<() => void>;
|
|
4
11
|
//# sourceMappingURL=AmaryllisHooks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmaryllisHooks.d.ts","sourceRoot":"","sources":["../../../src/AmaryllisHooks.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"AmaryllisHooks.d.ts","sourceRoot":"","sources":["../../../src/AmaryllisHooks.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAIhE,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAElE,MAAM,MAAM,qBAAqB,GAAG,cAAc,GAAG;IACnD,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB,CAAC;AA8BF,eAAO,MAAM,iBAAiB,GAAI,QAAO,cAAmB,cAOzC,gBAAgB,wBAuClC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,QAAO,cAAmB,cAWpC,gBAAgB,wBA2BlC,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,QAAO,qBAA0B,cAOvD,gBAAgB,wBAiBlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,QAAO,qBAA0B,cAOlD,gBAAgB,wBAiBlC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmaryllisRx.d.ts","sourceRoot":"","sources":["../../../src/AmaryllisRx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,mBAAmB,EAAa,MAAM,SAAS,CAAC;AAG5E,wBAAgB,mBAAmB,IAAI,mBAAmB,
|
|
1
|
+
{"version":3,"file":"AmaryllisRx.d.ts","sourceRoot":"","sources":["../../../src/AmaryllisRx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,mBAAmB,EAAa,MAAM,SAAS,CAAC;AAG5E,wBAAgB,mBAAmB,IAAI,mBAAmB,CAwBzD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ContextEngine as ContextEngineContract, ContextEngineOptions, ContextFormatParams, ContextItem, ContextQuery, ContextRequestFormatter } from './ContextTypes';
|
|
2
|
+
import type { LlmRequestParams } from './Types';
|
|
3
|
+
export declare const defaultContextFormatter: ContextRequestFormatter;
|
|
4
|
+
export declare class ContextEngine implements ContextEngineContract {
|
|
5
|
+
private readonly store;
|
|
6
|
+
private readonly scorer;
|
|
7
|
+
private policy;
|
|
8
|
+
private readonly formatter;
|
|
9
|
+
private readonly defaultQueryFactory?;
|
|
10
|
+
constructor(options: ContextEngineOptions);
|
|
11
|
+
add(items: ContextItem[]): Promise<void>;
|
|
12
|
+
search(query: ContextQuery): Promise<ContextItem[]>;
|
|
13
|
+
setPolicy(policy: ContextEngineOptions['policy']): void;
|
|
14
|
+
compact(): Promise<void>;
|
|
15
|
+
formatRequest(params: ContextFormatParams): LlmRequestParams;
|
|
16
|
+
deriveQuery(prompt: string, request: LlmRequestParams): ContextQuery | undefined;
|
|
17
|
+
}
|
|
18
|
+
export declare const createContextEngine: (options: ContextEngineOptions) => ContextEngineContract;
|
|
19
|
+
//# sourceMappingURL=ContextEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextEngine.d.ts","sourceRoot":"","sources":["../../../src/ContextEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,IAAI,qBAAqB,EACtC,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACX,YAAY,EAGZ,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAsChD,eAAO,MAAM,uBAAuB,EAAE,uBAgBrC,CAAC;AAEF,qBAAa,aAAc,YAAW,qBAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IACpD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAA6B;gBAEtD,OAAO,EAAE,oBAAoB;IASnC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxC,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAoBzD,SAAS,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GAAG,IAAI;IAKjD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,gBAAgB;IAI5D,WAAW,CACT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,GACxB,YAAY,GAAG,SAAS;CAG5B;AAED,eAAO,MAAM,mBAAmB,GAC9B,SAAS,oBAAoB,KAC5B,qBAEF,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { ContextEngine } from './ContextTypes';
|
|
3
|
+
export interface ContextEngineProviderProps {
|
|
4
|
+
engine: ContextEngine;
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export declare const ContextEngineProvider: ({ engine, children, }: ContextEngineProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare const useContextEngine: () => ContextEngine | null;
|
|
9
|
+
//# sourceMappingURL=ContextEngineContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextEngineContext.d.ts","sourceRoot":"","sources":["../../../src/ContextEngineContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAUD,eAAO,MAAM,qBAAqB,GAAI,uBAGnC,0BAA0B,4CAM5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAO,aAAa,GAAG,IAEnD,CAAC"}
|