@goreal-ai/echo-pdk 0.3.1 → 0.5.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/dist/context/index.d.ts +1 -0
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +2 -0
- package/dist/context/index.js.map +1 -1
- package/dist/context/plp-resolver.d.ts +106 -0
- package/dist/context/plp-resolver.d.ts.map +1 -0
- package/dist/context/plp-resolver.js +275 -0
- package/dist/context/plp-resolver.js.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +38 -4
- package/dist/index.js.map +1 -1
- package/dist/renderer/renderer.d.ts +24 -1
- package/dist/renderer/renderer.d.ts.map +1 -1
- package/dist/renderer/renderer.js +139 -0
- package/dist/renderer/renderer.js.map +1 -1
- package/dist/types.d.ts +92 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -2
package/dist/context/index.d.ts
CHANGED
|
@@ -4,4 +4,5 @@
|
|
|
4
4
|
* This module provides utilities for resolving #context() references.
|
|
5
5
|
*/
|
|
6
6
|
export { type ContextResolver, type ContextResolveResult, type ContextBatchResult, isPlpReference, extractAssetId, validateContextPath, collectContextPaths, applyResolvedContext, MockContextResolver, } from './resolver.js';
|
|
7
|
+
export { type PlpResolverConfig, PlpContextResolver, createPlpResolver, } from './plp-resolver.js';
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EAGvB,cAAc,EACd,cAAc,EACd,mBAAmB,EAGnB,mBAAmB,EACnB,oBAAoB,EAGpB,mBAAmB,GACpB,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EAGvB,cAAc,EACd,cAAc,EACd,mBAAmB,EAGnB,mBAAmB,EACnB,oBAAoB,EAGpB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,KAAK,iBAAiB,EACtB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC"}
|
package/dist/context/index.js
CHANGED
|
@@ -10,4 +10,6 @@ isPlpReference, extractAssetId, validateContextPath,
|
|
|
10
10
|
collectContextPaths, applyResolvedContext,
|
|
11
11
|
// Mock Resolver
|
|
12
12
|
MockContextResolver, } from './resolver.js';
|
|
13
|
+
// PLP Resolver - Built-in resolver using PLP protocol
|
|
14
|
+
export { PlpContextResolver, createPlpResolver, } from './plp-resolver.js';
|
|
13
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO;AAML,aAAa;AACb,cAAc,EACd,cAAc,EACd,mBAAmB;AAEnB,cAAc;AACd,mBAAmB,EACnB,oBAAoB;AAEpB,gBAAgB;AAChB,mBAAmB,GACpB,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO;AAML,aAAa;AACb,cAAc,EACd,cAAc,EACd,mBAAmB;AAEnB,cAAc;AACd,mBAAmB,EACnB,oBAAoB;AAEpB,gBAAgB;AAChB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,sDAAsD;AACtD,OAAO,EAEL,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview PLP Context Resolver - Built-in resolver using PLP SDK
|
|
3
|
+
*
|
|
4
|
+
* This resolver fetches context from any PLP-compliant server.
|
|
5
|
+
* It uses the @goreal-ai/plp-client SDK internally.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { PLPClient } from '@goreal-ai/plp-client';
|
|
10
|
+
*
|
|
11
|
+
* // Option 1: Pass a PLPClient instance (preferred)
|
|
12
|
+
* const plpClient = new PLPClient('https://api.echostash.com', { apiKey: token });
|
|
13
|
+
* const echo = createEcho({
|
|
14
|
+
* plp: {
|
|
15
|
+
* client: plpClient,
|
|
16
|
+
* promptId: 123,
|
|
17
|
+
* }
|
|
18
|
+
* });
|
|
19
|
+
*
|
|
20
|
+
* // Option 2: Pass serverUrl and auth (legacy)
|
|
21
|
+
* const echo = createEcho({
|
|
22
|
+
* plp: {
|
|
23
|
+
* serverUrl: 'https://api.echostash.com',
|
|
24
|
+
* auth: userToken,
|
|
25
|
+
* }
|
|
26
|
+
* });
|
|
27
|
+
*
|
|
28
|
+
* // Now #context(plp://asset-id) will automatically fetch from the PLP server
|
|
29
|
+
* const output = await echo.render(template, variables);
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
import type { ContextResolver, ContextResolveResult, ContextBatchResult } from './resolver.js';
|
|
33
|
+
/**
|
|
34
|
+
* PLP resolver configuration.
|
|
35
|
+
*/
|
|
36
|
+
export interface PlpResolverConfig {
|
|
37
|
+
/** Pre-configured PLPClient instance (preferred) */
|
|
38
|
+
client?: import('@goreal-ai/plp-client').PLPClient;
|
|
39
|
+
/** The PLP server URL (e.g., 'https://api.echostash.com') - required if client not provided */
|
|
40
|
+
serverUrl?: string;
|
|
41
|
+
/** Authentication token or API key - required if client not provided */
|
|
42
|
+
auth?: string;
|
|
43
|
+
/** Optional: prompt ID for resolving context mappings */
|
|
44
|
+
promptId?: number | string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Built-in PLP context resolver.
|
|
48
|
+
*
|
|
49
|
+
* Fetches context from a PLP-compliant server using the PLPClient SDK:
|
|
50
|
+
* - client.getContextStoreAsset(assetId) - for plp:// references
|
|
51
|
+
* - client.resolvePromptContext(promptId, contextNames) - for prompt context mappings
|
|
52
|
+
*/
|
|
53
|
+
export declare class PlpContextResolver implements ContextResolver {
|
|
54
|
+
private client;
|
|
55
|
+
private config;
|
|
56
|
+
private initPromise;
|
|
57
|
+
constructor(config: PlpResolverConfig);
|
|
58
|
+
/**
|
|
59
|
+
* Initialize the PLPClient if not already provided.
|
|
60
|
+
* Uses dynamic import to keep @goreal-ai/plp-client optional.
|
|
61
|
+
*/
|
|
62
|
+
private ensureClient;
|
|
63
|
+
/**
|
|
64
|
+
* Resolve a single context reference.
|
|
65
|
+
*/
|
|
66
|
+
resolve(path: string): Promise<ContextResolveResult>;
|
|
67
|
+
/**
|
|
68
|
+
* Resolve multiple context references in batch.
|
|
69
|
+
*/
|
|
70
|
+
resolveBatch(paths: string[]): Promise<ContextBatchResult>;
|
|
71
|
+
/**
|
|
72
|
+
* Fetch from Context Store using PLPClient SDK.
|
|
73
|
+
*/
|
|
74
|
+
private resolveFromContextStore;
|
|
75
|
+
/**
|
|
76
|
+
* Resolve a single prompt context name.
|
|
77
|
+
*/
|
|
78
|
+
private resolveFromPromptContext;
|
|
79
|
+
/**
|
|
80
|
+
* Batch resolve prompt context using PLPClient SDK.
|
|
81
|
+
*/
|
|
82
|
+
private resolvePromptContextBatch;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Create a PLP context resolver.
|
|
86
|
+
*
|
|
87
|
+
* @param config - PLP resolver configuration (PLPClient instance or serverUrl+auth)
|
|
88
|
+
* @returns A configured PLP context resolver
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```typescript
|
|
92
|
+
* // Option 1: Pass a PLPClient instance (preferred)
|
|
93
|
+
* import { PLPClient } from '@goreal-ai/plp-client';
|
|
94
|
+
* const plpClient = new PLPClient('https://api.echostash.com', { apiKey: token });
|
|
95
|
+
* const resolver = createPlpResolver({ client: plpClient, promptId: 123 });
|
|
96
|
+
*
|
|
97
|
+
* // Option 2: Pass serverUrl and auth (client created internally)
|
|
98
|
+
* const resolver = createPlpResolver({
|
|
99
|
+
* serverUrl: 'https://api.echostash.com',
|
|
100
|
+
* auth: 'your-token',
|
|
101
|
+
* promptId: 123,
|
|
102
|
+
* });
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
export declare function createPlpResolver(config: PlpResolverConfig): PlpContextResolver;
|
|
106
|
+
//# sourceMappingURL=plp-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plp-resolver.d.ts","sourceRoot":"","sources":["../../src/context/plp-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAsB/F;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,oDAAoD;IACpD,MAAM,CAAC,EAAE,OAAO,uBAAuB,EAAE,SAAS,CAAC;IACnD,+FAA+F;IAC/F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAMD;;;;;;GAMG;AACH,qBAAa,kBAAmB,YAAW,eAAe;IACxD,OAAO,CAAC,MAAM,CAA0D;IACxE,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,WAAW,CAA8B;gBAErC,MAAM,EAAE,iBAAiB;IAOrC;;;OAGG;YACW,YAAY;IA0B1B;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA+B1D;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAiDhE;;OAEG;YACW,uBAAuB;IA2BrC;;OAEG;YACW,wBAAwB;IAKtC;;OAEG;YACW,yBAAyB;CA0CxC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,kBAAkB,CAM/E"}
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview PLP Context Resolver - Built-in resolver using PLP SDK
|
|
3
|
+
*
|
|
4
|
+
* This resolver fetches context from any PLP-compliant server.
|
|
5
|
+
* It uses the @goreal-ai/plp-client SDK internally.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { PLPClient } from '@goreal-ai/plp-client';
|
|
10
|
+
*
|
|
11
|
+
* // Option 1: Pass a PLPClient instance (preferred)
|
|
12
|
+
* const plpClient = new PLPClient('https://api.echostash.com', { apiKey: token });
|
|
13
|
+
* const echo = createEcho({
|
|
14
|
+
* plp: {
|
|
15
|
+
* client: plpClient,
|
|
16
|
+
* promptId: 123,
|
|
17
|
+
* }
|
|
18
|
+
* });
|
|
19
|
+
*
|
|
20
|
+
* // Option 2: Pass serverUrl and auth (legacy)
|
|
21
|
+
* const echo = createEcho({
|
|
22
|
+
* plp: {
|
|
23
|
+
* serverUrl: 'https://api.echostash.com',
|
|
24
|
+
* auth: userToken,
|
|
25
|
+
* }
|
|
26
|
+
* });
|
|
27
|
+
*
|
|
28
|
+
* // Now #context(plp://asset-id) will automatically fetch from the PLP server
|
|
29
|
+
* const output = await echo.render(template, variables);
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
import { isPlpReference, extractAssetId, validateContextPath } from './resolver.js';
|
|
33
|
+
// Dynamic import PLPClient to keep it optional
|
|
34
|
+
let PLPClientClass = null;
|
|
35
|
+
async function getPLPClient() {
|
|
36
|
+
if (PLPClientClass)
|
|
37
|
+
return PLPClientClass;
|
|
38
|
+
try {
|
|
39
|
+
const module = await import('@goreal-ai/plp-client');
|
|
40
|
+
PLPClientClass = module.PLPClient;
|
|
41
|
+
return PLPClientClass;
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// =============================================================================
|
|
48
|
+
// PLP CONTEXT RESOLVER
|
|
49
|
+
// =============================================================================
|
|
50
|
+
/**
|
|
51
|
+
* Built-in PLP context resolver.
|
|
52
|
+
*
|
|
53
|
+
* Fetches context from a PLP-compliant server using the PLPClient SDK:
|
|
54
|
+
* - client.getContextStoreAsset(assetId) - for plp:// references
|
|
55
|
+
* - client.resolvePromptContext(promptId, contextNames) - for prompt context mappings
|
|
56
|
+
*/
|
|
57
|
+
export class PlpContextResolver {
|
|
58
|
+
client = null;
|
|
59
|
+
config;
|
|
60
|
+
initPromise = null;
|
|
61
|
+
constructor(config) {
|
|
62
|
+
this.config = config;
|
|
63
|
+
if (config.client) {
|
|
64
|
+
this.client = config.client;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Initialize the PLPClient if not already provided.
|
|
69
|
+
* Uses dynamic import to keep @goreal-ai/plp-client optional.
|
|
70
|
+
*/
|
|
71
|
+
async ensureClient() {
|
|
72
|
+
if (this.client)
|
|
73
|
+
return;
|
|
74
|
+
if (this.initPromise) {
|
|
75
|
+
await this.initPromise;
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
this.initPromise = (async () => {
|
|
79
|
+
if (!this.config.serverUrl || !this.config.auth) {
|
|
80
|
+
throw new Error('PLPClient or serverUrl+auth required for PLP context resolution');
|
|
81
|
+
}
|
|
82
|
+
const PLPClient = await getPLPClient();
|
|
83
|
+
if (!PLPClient) {
|
|
84
|
+
throw new Error('PLPClient not available. Install @goreal-ai/plp-client or pass a client instance.');
|
|
85
|
+
}
|
|
86
|
+
this.client = new PLPClient(this.config.serverUrl, { apiKey: this.config.auth });
|
|
87
|
+
})();
|
|
88
|
+
await this.initPromise;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Resolve a single context reference.
|
|
92
|
+
*/
|
|
93
|
+
async resolve(path) {
|
|
94
|
+
// Validate the path first
|
|
95
|
+
const validation = validateContextPath(path);
|
|
96
|
+
if (!validation.isValid) {
|
|
97
|
+
return { success: false, error: validation.error };
|
|
98
|
+
}
|
|
99
|
+
try {
|
|
100
|
+
await this.ensureClient();
|
|
101
|
+
if (isPlpReference(path)) {
|
|
102
|
+
// Direct Context Store reference: plp://asset-id
|
|
103
|
+
return await this.resolveFromContextStore(extractAssetId(path));
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
// Prompt context mapping: requires promptId
|
|
107
|
+
if (!this.config.promptId) {
|
|
108
|
+
return {
|
|
109
|
+
success: false,
|
|
110
|
+
error: `Context name "${path}" requires a promptId to resolve. Use plp:// prefix for direct asset references.`,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
return await this.resolveFromPromptContext(path);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
return {
|
|
118
|
+
success: false,
|
|
119
|
+
error: error instanceof Error ? error.message : String(error),
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Resolve multiple context references in batch.
|
|
125
|
+
*/
|
|
126
|
+
async resolveBatch(paths) {
|
|
127
|
+
const results = new Map();
|
|
128
|
+
try {
|
|
129
|
+
await this.ensureClient();
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
133
|
+
for (const path of paths) {
|
|
134
|
+
results.set(path, { success: false, error: errorMsg });
|
|
135
|
+
}
|
|
136
|
+
return results;
|
|
137
|
+
}
|
|
138
|
+
// Separate plp:// references from prompt context names
|
|
139
|
+
const plpRefs = [];
|
|
140
|
+
const contextNames = [];
|
|
141
|
+
for (const path of paths) {
|
|
142
|
+
if (isPlpReference(path)) {
|
|
143
|
+
plpRefs.push(path);
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
contextNames.push(path);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
// Resolve plp:// references individually (no batch endpoint)
|
|
150
|
+
for (const path of plpRefs) {
|
|
151
|
+
results.set(path, await this.resolve(path));
|
|
152
|
+
}
|
|
153
|
+
// Resolve prompt context names in batch if we have a promptId
|
|
154
|
+
if (contextNames.length > 0 && this.config.promptId) {
|
|
155
|
+
const batchResults = await this.resolvePromptContextBatch(contextNames);
|
|
156
|
+
for (const [name, result] of batchResults) {
|
|
157
|
+
results.set(name, result);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
// No promptId - mark as errors
|
|
162
|
+
for (const name of contextNames) {
|
|
163
|
+
results.set(name, {
|
|
164
|
+
success: false,
|
|
165
|
+
error: `Context name "${name}" requires a promptId to resolve.`,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
return results;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Fetch from Context Store using PLPClient SDK.
|
|
173
|
+
*/
|
|
174
|
+
async resolveFromContextStore(assetId) {
|
|
175
|
+
if (!this.client) {
|
|
176
|
+
return { success: false, error: 'PLPClient not initialized' };
|
|
177
|
+
}
|
|
178
|
+
try {
|
|
179
|
+
const data = await this.client.getContextStoreAsset(assetId);
|
|
180
|
+
return {
|
|
181
|
+
success: true,
|
|
182
|
+
content: {
|
|
183
|
+
mimeType: data.mimeType,
|
|
184
|
+
dataUrl: data.dataUrl,
|
|
185
|
+
},
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
catch (error) {
|
|
189
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
190
|
+
if (message.includes('404') || message.toLowerCase().includes('not found')) {
|
|
191
|
+
return { success: false, error: `Asset not found: ${assetId}` };
|
|
192
|
+
}
|
|
193
|
+
if (message.includes('401') || message.includes('403') || message.toLowerCase().includes('unauthorized')) {
|
|
194
|
+
return { success: false, error: `Unauthorized to access asset: ${assetId}` };
|
|
195
|
+
}
|
|
196
|
+
return { success: false, error: `Failed to fetch asset: ${message}` };
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Resolve a single prompt context name.
|
|
201
|
+
*/
|
|
202
|
+
async resolveFromPromptContext(contextName) {
|
|
203
|
+
const results = await this.resolvePromptContextBatch([contextName]);
|
|
204
|
+
return results.get(contextName) ?? { success: false, error: 'Unknown error' };
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Batch resolve prompt context using PLPClient SDK.
|
|
208
|
+
*/
|
|
209
|
+
async resolvePromptContextBatch(contextNames) {
|
|
210
|
+
const results = new Map();
|
|
211
|
+
if (!this.client) {
|
|
212
|
+
const errorMsg = 'PLPClient not initialized';
|
|
213
|
+
for (const name of contextNames) {
|
|
214
|
+
results.set(name, { success: false, error: errorMsg });
|
|
215
|
+
}
|
|
216
|
+
return results;
|
|
217
|
+
}
|
|
218
|
+
try {
|
|
219
|
+
const data = await this.client.resolvePromptContext(String(this.config.promptId), contextNames);
|
|
220
|
+
for (const name of contextNames) {
|
|
221
|
+
const resolved = data[name];
|
|
222
|
+
if (resolved) {
|
|
223
|
+
const content = {
|
|
224
|
+
mimeType: resolved.mimeType,
|
|
225
|
+
};
|
|
226
|
+
if (resolved.dataUrl) {
|
|
227
|
+
content.dataUrl = resolved.dataUrl;
|
|
228
|
+
}
|
|
229
|
+
// Note: ResolvedContext from SDK uses dataUrl, not text
|
|
230
|
+
// For text content, dataUrl will be a data:text/... URL
|
|
231
|
+
results.set(name, { success: true, content });
|
|
232
|
+
}
|
|
233
|
+
else {
|
|
234
|
+
results.set(name, { success: false, error: `Context not found: ${name}` });
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
catch (error) {
|
|
239
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
240
|
+
for (const name of contextNames) {
|
|
241
|
+
results.set(name, { success: false, error: errorMsg });
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
return results;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Create a PLP context resolver.
|
|
249
|
+
*
|
|
250
|
+
* @param config - PLP resolver configuration (PLPClient instance or serverUrl+auth)
|
|
251
|
+
* @returns A configured PLP context resolver
|
|
252
|
+
*
|
|
253
|
+
* @example
|
|
254
|
+
* ```typescript
|
|
255
|
+
* // Option 1: Pass a PLPClient instance (preferred)
|
|
256
|
+
* import { PLPClient } from '@goreal-ai/plp-client';
|
|
257
|
+
* const plpClient = new PLPClient('https://api.echostash.com', { apiKey: token });
|
|
258
|
+
* const resolver = createPlpResolver({ client: plpClient, promptId: 123 });
|
|
259
|
+
*
|
|
260
|
+
* // Option 2: Pass serverUrl and auth (client created internally)
|
|
261
|
+
* const resolver = createPlpResolver({
|
|
262
|
+
* serverUrl: 'https://api.echostash.com',
|
|
263
|
+
* auth: 'your-token',
|
|
264
|
+
* promptId: 123,
|
|
265
|
+
* });
|
|
266
|
+
* ```
|
|
267
|
+
*/
|
|
268
|
+
export function createPlpResolver(config) {
|
|
269
|
+
// Validate that either client or serverUrl+auth is provided
|
|
270
|
+
if (!config.client && (!config.serverUrl || !config.auth)) {
|
|
271
|
+
throw new Error('PLPClient or serverUrl+auth required for PLP context resolution');
|
|
272
|
+
}
|
|
273
|
+
return new PlpContextResolver(config);
|
|
274
|
+
}
|
|
275
|
+
//# sourceMappingURL=plp-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plp-resolver.js","sourceRoot":"","sources":["../../src/context/plp-resolver.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -19,14 +19,14 @@
|
|
|
19
19
|
* const result = await echo.render(template, { name: 'Alice' });
|
|
20
20
|
* ```
|
|
21
21
|
*/
|
|
22
|
-
export type { ASTNode, TextNode, VariableNode, ConditionalNode, SectionNode, ImportNode, IncludeNode, ContextNode, ConditionExpr, SourceLocation, ResolvedContextContent, EchoConfig, AIProviderConfig, ParseResult, ValidationResult, EchoError, EchoWarning, OperatorDefinition, OperatorHandler, EchoPlugin, Echo, } from './types.js';
|
|
22
|
+
export type { ASTNode, TextNode, VariableNode, ConditionalNode, SectionNode, ImportNode, IncludeNode, ContextNode, ConditionExpr, SourceLocation, ResolvedContextContent, EchoConfig, AIProviderConfig, PlpConfig, ContentBlock, TextContentBlock, ImageUrlContentBlock, MultimodalContent, ParseResult, ValidationResult, EchoError, EchoWarning, OperatorDefinition, OperatorHandler, EchoPlugin, Echo, } from './types.js';
|
|
23
23
|
import type { Echo, EchoConfig, EchoPlugin } from './types.js';
|
|
24
24
|
export { parse } from './parser/parser.js';
|
|
25
25
|
export { evaluate, resolveVariable, type ResolveVariableOptions, } from './evaluator/evaluator.js';
|
|
26
|
-
export { render, renderTemplate, formatErrors } from './renderer/renderer.js';
|
|
26
|
+
export { render, renderMultimodal, renderTemplate, formatErrors } from './renderer/renderer.js';
|
|
27
27
|
export { builtinOperators, getOperator } from './evaluator/operators.js';
|
|
28
28
|
export { createTextNode, createVariableNode, createConditionalNode, createConditionExpr, createSectionNode, createImportNode, createIncludeNode, createContextNode, collectAiJudgeConditions, visitNode, visitNodes, prettyPrint, type ASTVisitor, } from './parser/ast.js';
|
|
29
|
-
export { type ContextResolver, type ContextResolveResult, type ContextBatchResult, isPlpReference, extractAssetId, validateContextPath, collectContextPaths, applyResolvedContext, MockContextResolver, } from './context/index.js';
|
|
29
|
+
export { type ContextResolver, type ContextResolveResult, type ContextBatchResult, type PlpResolverConfig, isPlpReference, extractAssetId, validateContextPath, collectContextPaths, applyResolvedContext, MockContextResolver, PlpContextResolver, createPlpResolver, } from './context/index.js';
|
|
30
30
|
/**
|
|
31
31
|
* Creates a new Echo instance with the given configuration.
|
|
32
32
|
*
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,YAAY,EAEV,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,cAAc,EAEd,sBAAsB,EAEtB,UAAU,EACV,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,YAAY,EAEV,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,cAAc,EAEd,sBAAsB,EAEtB,UAAU,EACV,gBAAgB,EAChB,SAAS,EAET,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EAEjB,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,WAAW,EAEX,kBAAkB,EAClB,eAAe,EACf,UAAU,EAEV,IAAI,GACL,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EACV,IAAI,EACJ,UAAU,EAIV,UAAU,EAGX,MAAM,YAAY,CAAC;AAoBpB,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EACL,QAAQ,EACR,eAAe,EACf,KAAK,sBAAsB,GAC5B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,SAAS,EACT,UAAU,EACV,WAAW,EACX,KAAK,UAAU,GAChB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EAEtB,cAAc,EACd,cAAc,EACd,mBAAmB,EAEnB,mBAAmB,EACnB,oBAAoB,EAEpB,mBAAmB,EAEnB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AA8C5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,wBAAgB,UAAU,CAAC,MAAM,GAAE,UAAe,GAAG,IAAI,CAkMxD;AAqMD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAE3D;AAOD,YAAY,EACV,WAAW,EACX,UAAU,EACV,QAAQ,EACR,WAAW,EACX,aAAa,EACb,aAAa,EACb,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,0BAA0B,EAC1B,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,SAAS,EACT,qBAAqB,EACrB,YAAY,EACZ,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -22,14 +22,14 @@
|
|
|
22
22
|
// Import submodules
|
|
23
23
|
import { parse } from './parser/parser.js';
|
|
24
24
|
import { evaluate } from './evaluator/evaluator.js';
|
|
25
|
-
import { render, formatErrors } from './renderer/renderer.js';
|
|
25
|
+
import { render, renderMultimodal, formatErrors } from './renderer/renderer.js';
|
|
26
26
|
import { builtinOperators, getOperator } from './evaluator/operators.js';
|
|
27
27
|
import { createOpenAIProvider, withCache } from './ai-judge/index.js';
|
|
28
|
-
import { validateContextPath, collectContextPaths, applyResolvedContext, } from './context/index.js';
|
|
28
|
+
import { validateContextPath, collectContextPaths, applyResolvedContext, createPlpResolver, } from './context/index.js';
|
|
29
29
|
// Re-export utilities for advanced usage
|
|
30
30
|
export { parse } from './parser/parser.js';
|
|
31
31
|
export { evaluate, resolveVariable, } from './evaluator/evaluator.js';
|
|
32
|
-
export { render, renderTemplate, formatErrors } from './renderer/renderer.js';
|
|
32
|
+
export { render, renderMultimodal, renderTemplate, formatErrors } from './renderer/renderer.js';
|
|
33
33
|
export { builtinOperators, getOperator } from './evaluator/operators.js';
|
|
34
34
|
export { createTextNode, createVariableNode, createConditionalNode, createConditionExpr, createSectionNode, createImportNode, createIncludeNode, createContextNode, collectAiJudgeConditions, visitNode, visitNodes, prettyPrint, } from './parser/ast.js';
|
|
35
35
|
// Re-export context module
|
|
@@ -39,7 +39,9 @@ isPlpReference, extractAssetId, validateContextPath,
|
|
|
39
39
|
// AST Helpers
|
|
40
40
|
collectContextPaths, applyResolvedContext,
|
|
41
41
|
// Mock Resolver
|
|
42
|
-
MockContextResolver,
|
|
42
|
+
MockContextResolver,
|
|
43
|
+
// PLP Resolver
|
|
44
|
+
PlpContextResolver, createPlpResolver, } from './context/index.js';
|
|
43
45
|
/**
|
|
44
46
|
* Environment variable name for API key.
|
|
45
47
|
*/
|
|
@@ -146,6 +148,14 @@ export function createEcho(config = {}) {
|
|
|
146
148
|
}
|
|
147
149
|
// Set up AI Judge operator if provider is configured
|
|
148
150
|
setupAiJudgeOperator(config, operators);
|
|
151
|
+
// Set up PLP resolver if plp config is provided and no custom resolver
|
|
152
|
+
if (config.plp && !config.contextResolver) {
|
|
153
|
+
config.contextResolver = createPlpResolver({
|
|
154
|
+
serverUrl: config.plp.serverUrl,
|
|
155
|
+
auth: config.plp.auth,
|
|
156
|
+
promptId: config.plp.promptId,
|
|
157
|
+
});
|
|
158
|
+
}
|
|
149
159
|
// Loaded plugins
|
|
150
160
|
const plugins = [];
|
|
151
161
|
// The Echo instance
|
|
@@ -180,6 +190,30 @@ export function createEcho(config = {}) {
|
|
|
180
190
|
collapseNewlines: true,
|
|
181
191
|
});
|
|
182
192
|
},
|
|
193
|
+
/**
|
|
194
|
+
* Render a template to multimodal content blocks.
|
|
195
|
+
*/
|
|
196
|
+
async renderMultimodal(template, context) {
|
|
197
|
+
// Step 1: Parse
|
|
198
|
+
const parseResult = parse(template);
|
|
199
|
+
if (!parseResult.success || !parseResult.ast) {
|
|
200
|
+
const formattedErrors = formatErrors(template, parseResult.errors);
|
|
201
|
+
throw new Error(`Parse error:\n${formattedErrors}`);
|
|
202
|
+
}
|
|
203
|
+
// Step 2: Evaluate
|
|
204
|
+
const { ast: evaluatedAst } = await evaluate(parseResult.ast, context, config, operators);
|
|
205
|
+
// Step 3: Resolve context references (if resolver provided)
|
|
206
|
+
if (config.contextResolver) {
|
|
207
|
+
await resolveContextNodes(evaluatedAst, config.contextResolver);
|
|
208
|
+
}
|
|
209
|
+
// Step 4: Render to multimodal blocks
|
|
210
|
+
return renderMultimodal(evaluatedAst, {
|
|
211
|
+
context,
|
|
212
|
+
config,
|
|
213
|
+
trim: false,
|
|
214
|
+
collapseNewlines: true,
|
|
215
|
+
});
|
|
216
|
+
},
|
|
183
217
|
/**
|
|
184
218
|
* Validate a template for syntax and semantic errors.
|
|
185
219
|
*/
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* 3. For variable nodes: substitute the value from context
|
|
16
16
|
* 4. Preserve whitespace (prompts are whitespace-sensitive)
|
|
17
17
|
*/
|
|
18
|
-
import type { ASTNode, EchoConfig, OperatorDefinition } from '../types.js';
|
|
18
|
+
import type { ASTNode, EchoConfig, OperatorDefinition, MultimodalContent } from '../types.js';
|
|
19
19
|
/**
|
|
20
20
|
* Options for the renderer.
|
|
21
21
|
*/
|
|
@@ -45,6 +45,29 @@ export interface RenderOptions {
|
|
|
45
45
|
* ```
|
|
46
46
|
*/
|
|
47
47
|
export declare function render(ast: ASTNode[], options: RenderOptions): string;
|
|
48
|
+
/**
|
|
49
|
+
* Render an evaluated AST to multimodal content blocks.
|
|
50
|
+
*
|
|
51
|
+
* This produces an array of ContentBlock objects compatible with
|
|
52
|
+
* OpenAI's multimodal message format. Text is grouped together,
|
|
53
|
+
* and images are separate image_url blocks.
|
|
54
|
+
*
|
|
55
|
+
* @param ast - The evaluated AST nodes
|
|
56
|
+
* @param options - Render options
|
|
57
|
+
* @returns Array of content blocks
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* const blocks = renderMultimodal(evaluatedAst, { context: {} });
|
|
62
|
+
* // Result:
|
|
63
|
+
* // [
|
|
64
|
+
* // { type: 'text', text: 'Analyze this image:' },
|
|
65
|
+
* // { type: 'image_url', image_url: { url: 'data:image/png;base64,...' } },
|
|
66
|
+
* // { type: 'text', text: 'What do you see?' }
|
|
67
|
+
* // ]
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
export declare function renderMultimodal(ast: ASTNode[], options: RenderOptions): MultimodalContent;
|
|
48
71
|
/**
|
|
49
72
|
* Full render pipeline: parse -> evaluate -> render.
|
|
50
73
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/renderer/renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EACV,OAAO,EAIP,UAAU,EACV,kBAAkB,
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/renderer/renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EACV,OAAO,EAIP,UAAU,EACV,kBAAkB,EAElB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAQrB;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,yBAAyB;IACzB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,mDAAmD;IACnD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CAsBrE;AAgGD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,aAAa,GAAG,iBAAiB,CAuH1F;AAiFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,GAAE,UAAe,EACvB,SAAS,GAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAa,GACrD,OAAO,CAAC,MAAM,CAAC,CAwBjB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EAAE,GACnF,MAAM,CAwBR"}
|
|
@@ -131,6 +131,145 @@ function renderContext(node, options) {
|
|
|
131
131
|
// Lenient mode: return placeholder
|
|
132
132
|
return `[CONTEXT: ${node.path}]`;
|
|
133
133
|
}
|
|
134
|
+
// =============================================================================
|
|
135
|
+
// MULTIMODAL RENDERING
|
|
136
|
+
// =============================================================================
|
|
137
|
+
/**
|
|
138
|
+
* Render an evaluated AST to multimodal content blocks.
|
|
139
|
+
*
|
|
140
|
+
* This produces an array of ContentBlock objects compatible with
|
|
141
|
+
* OpenAI's multimodal message format. Text is grouped together,
|
|
142
|
+
* and images are separate image_url blocks.
|
|
143
|
+
*
|
|
144
|
+
* @param ast - The evaluated AST nodes
|
|
145
|
+
* @param options - Render options
|
|
146
|
+
* @returns Array of content blocks
|
|
147
|
+
*
|
|
148
|
+
* @example
|
|
149
|
+
* ```typescript
|
|
150
|
+
* const blocks = renderMultimodal(evaluatedAst, { context: {} });
|
|
151
|
+
* // Result:
|
|
152
|
+
* // [
|
|
153
|
+
* // { type: 'text', text: 'Analyze this image:' },
|
|
154
|
+
* // { type: 'image_url', image_url: { url: 'data:image/png;base64,...' } },
|
|
155
|
+
* // { type: 'text', text: 'What do you see?' }
|
|
156
|
+
* // ]
|
|
157
|
+
* ```
|
|
158
|
+
*/
|
|
159
|
+
export function renderMultimodal(ast, options) {
|
|
160
|
+
const blocks = [];
|
|
161
|
+
let currentText = '';
|
|
162
|
+
/**
|
|
163
|
+
* Flush accumulated text to a text block.
|
|
164
|
+
*/
|
|
165
|
+
function flushText() {
|
|
166
|
+
if (currentText.length > 0) {
|
|
167
|
+
let text = currentText;
|
|
168
|
+
// Apply post-processing
|
|
169
|
+
if (options.collapseNewlines) {
|
|
170
|
+
text = collapseNewlines(text);
|
|
171
|
+
}
|
|
172
|
+
blocks.push({ type: 'text', text });
|
|
173
|
+
currentText = '';
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Process a single node.
|
|
178
|
+
*/
|
|
179
|
+
function processNode(node) {
|
|
180
|
+
switch (node.type) {
|
|
181
|
+
case 'text':
|
|
182
|
+
currentText += node.value;
|
|
183
|
+
break;
|
|
184
|
+
case 'variable':
|
|
185
|
+
currentText += renderVariable(node, options);
|
|
186
|
+
break;
|
|
187
|
+
case 'conditional':
|
|
188
|
+
// By the time we render, conditionals should have been evaluated
|
|
189
|
+
for (const child of node.consequent) {
|
|
190
|
+
processNode(child);
|
|
191
|
+
}
|
|
192
|
+
break;
|
|
193
|
+
case 'section':
|
|
194
|
+
// Section definitions are not rendered inline
|
|
195
|
+
break;
|
|
196
|
+
case 'import':
|
|
197
|
+
case 'include':
|
|
198
|
+
// Should be resolved before rendering
|
|
199
|
+
if (options.config?.strict) {
|
|
200
|
+
throw new Error(`Unresolved ${node.type}: ${node.type === 'import' ? node.path : node.name}`);
|
|
201
|
+
}
|
|
202
|
+
break;
|
|
203
|
+
case 'context':
|
|
204
|
+
// Context nodes become either text (inline) or image blocks
|
|
205
|
+
if (node.resolvedContent) {
|
|
206
|
+
if (node.resolvedContent.dataUrl && isImageMimeType(node.resolvedContent.mimeType)) {
|
|
207
|
+
// Image content: flush text and add image block
|
|
208
|
+
flushText();
|
|
209
|
+
blocks.push({
|
|
210
|
+
type: 'image_url',
|
|
211
|
+
image_url: {
|
|
212
|
+
url: node.resolvedContent.dataUrl,
|
|
213
|
+
},
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
else if (node.resolvedContent.text) {
|
|
217
|
+
// Text content: append to current text
|
|
218
|
+
currentText += node.resolvedContent.text;
|
|
219
|
+
}
|
|
220
|
+
else if (node.resolvedContent.dataUrl) {
|
|
221
|
+
// Non-image data URL (rare): append as text
|
|
222
|
+
currentText += node.resolvedContent.dataUrl;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
// Unresolved context
|
|
227
|
+
if (options.config?.strict) {
|
|
228
|
+
throw new Error(`Unresolved context: ${node.path}`);
|
|
229
|
+
}
|
|
230
|
+
currentText += `[CONTEXT: ${node.path}]`;
|
|
231
|
+
}
|
|
232
|
+
break;
|
|
233
|
+
default: {
|
|
234
|
+
// Exhaustiveness check
|
|
235
|
+
const _exhaustive = node;
|
|
236
|
+
throw new Error(`Unknown node type: ${_exhaustive.type}`);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
// Process all nodes
|
|
241
|
+
for (const node of ast) {
|
|
242
|
+
processNode(node);
|
|
243
|
+
}
|
|
244
|
+
// Flush any remaining text
|
|
245
|
+
flushText();
|
|
246
|
+
// Apply trim to first and last text blocks if requested
|
|
247
|
+
if (options.trim && blocks.length > 0) {
|
|
248
|
+
const first = blocks[0];
|
|
249
|
+
if (first && first.type === 'text') {
|
|
250
|
+
first.text = first.text.trimStart();
|
|
251
|
+
if (first.text.length === 0) {
|
|
252
|
+
blocks.shift();
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
if (blocks.length > 0) {
|
|
256
|
+
const last = blocks[blocks.length - 1];
|
|
257
|
+
if (last && last.type === 'text') {
|
|
258
|
+
last.text = last.text.trimEnd();
|
|
259
|
+
if (last.text.length === 0) {
|
|
260
|
+
blocks.pop();
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
return blocks;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Check if a MIME type is an image type.
|
|
269
|
+
*/
|
|
270
|
+
function isImageMimeType(mimeType) {
|
|
271
|
+
return mimeType.startsWith('image/');
|
|
272
|
+
}
|
|
134
273
|
/**
|
|
135
274
|
* Render a variable node.
|
|
136
275
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/renderer/renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/renderer/renderer.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -165,6 +165,45 @@ export interface AIProviderConfig {
|
|
|
165
165
|
/** Timeout in milliseconds */
|
|
166
166
|
timeout?: number;
|
|
167
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* PLP (Prompt Library Protocol) configuration for automatic context resolution.
|
|
170
|
+
*
|
|
171
|
+
* When configured, #context() directives will automatically fetch from the PLP server.
|
|
172
|
+
* You can provide either a pre-configured PLPClient instance (preferred) or
|
|
173
|
+
* server URL and auth token to create one internally.
|
|
174
|
+
*
|
|
175
|
+
* @example
|
|
176
|
+
* ```typescript
|
|
177
|
+
* // Option 1: Pass a PLPClient instance (preferred)
|
|
178
|
+
* import { PLPClient } from '@goreal-ai/plp-client';
|
|
179
|
+
* const plpClient = new PLPClient('https://api.echostash.com', { apiKey: token });
|
|
180
|
+
* const echo = createEcho({
|
|
181
|
+
* plp: {
|
|
182
|
+
* client: plpClient,
|
|
183
|
+
* promptId: 123, // Optional: for prompt-specific context mappings
|
|
184
|
+
* }
|
|
185
|
+
* });
|
|
186
|
+
*
|
|
187
|
+
* // Option 2: Pass serverUrl and auth (client created internally)
|
|
188
|
+
* const echo = createEcho({
|
|
189
|
+
* plp: {
|
|
190
|
+
* serverUrl: 'https://api.echostash.com',
|
|
191
|
+
* auth: userToken,
|
|
192
|
+
* promptId: 123,
|
|
193
|
+
* }
|
|
194
|
+
* });
|
|
195
|
+
* ```
|
|
196
|
+
*/
|
|
197
|
+
export interface PlpConfig {
|
|
198
|
+
/** Pre-configured PLPClient instance (preferred) */
|
|
199
|
+
client?: import('@goreal-ai/plp-client').PLPClient;
|
|
200
|
+
/** The PLP server URL (e.g., 'https://api.echostash.com') - required if client not provided */
|
|
201
|
+
serverUrl?: string;
|
|
202
|
+
/** Authentication token or API key - required if client not provided */
|
|
203
|
+
auth?: string;
|
|
204
|
+
/** Optional: prompt ID for resolving context mappings */
|
|
205
|
+
promptId?: number | string;
|
|
206
|
+
}
|
|
168
207
|
/**
|
|
169
208
|
* Main Echo configuration object.
|
|
170
209
|
*/
|
|
@@ -173,13 +212,44 @@ export interface EchoConfig {
|
|
|
173
212
|
strict?: boolean;
|
|
174
213
|
/** AI provider configuration for #ai_judge */
|
|
175
214
|
aiProvider?: AIProviderConfig;
|
|
215
|
+
/** PLP configuration for automatic context resolution */
|
|
216
|
+
plp?: PlpConfig;
|
|
176
217
|
/** Plugin paths to load */
|
|
177
218
|
plugins?: string[];
|
|
178
219
|
/** Language definition file path */
|
|
179
220
|
languagePath?: string;
|
|
180
|
-
/** Context resolver for #context() directives */
|
|
221
|
+
/** Context resolver for #context() directives (overrides plp config if both provided) */
|
|
181
222
|
contextResolver?: import('./context/resolver.js').ContextResolver;
|
|
182
223
|
}
|
|
224
|
+
/**
|
|
225
|
+
* Text content block.
|
|
226
|
+
*/
|
|
227
|
+
export interface TextContentBlock {
|
|
228
|
+
type: 'text';
|
|
229
|
+
text: string;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Image URL content block (OpenAI-compatible format).
|
|
233
|
+
*/
|
|
234
|
+
export interface ImageUrlContentBlock {
|
|
235
|
+
type: 'image_url';
|
|
236
|
+
image_url: {
|
|
237
|
+
/** The image URL - can be a data URL (base64) or http(s) URL */
|
|
238
|
+
url: string;
|
|
239
|
+
/** Optional detail level for vision models */
|
|
240
|
+
detail?: 'auto' | 'low' | 'high';
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Union of all content block types.
|
|
245
|
+
* Compatible with OpenAI's multimodal message format.
|
|
246
|
+
*/
|
|
247
|
+
export type ContentBlock = TextContentBlock | ImageUrlContentBlock;
|
|
248
|
+
/**
|
|
249
|
+
* Multimodal render result.
|
|
250
|
+
* An array of content blocks that can be passed directly to LLM APIs.
|
|
251
|
+
*/
|
|
252
|
+
export type MultimodalContent = ContentBlock[];
|
|
183
253
|
/**
|
|
184
254
|
* Result of parsing a template.
|
|
185
255
|
*/
|
|
@@ -258,6 +328,27 @@ export interface Echo {
|
|
|
258
328
|
* @returns The rendered string
|
|
259
329
|
*/
|
|
260
330
|
render(template: string, context: Record<string, unknown>): Promise<string>;
|
|
331
|
+
/**
|
|
332
|
+
* Render a template with the given context to multimodal content blocks.
|
|
333
|
+
*
|
|
334
|
+
* Returns an array of ContentBlock objects compatible with OpenAI's
|
|
335
|
+
* multimodal message format. Images from #context() become image_url blocks.
|
|
336
|
+
*
|
|
337
|
+
* @param template - The Echo template string
|
|
338
|
+
* @param context - Variables to substitute
|
|
339
|
+
* @returns Array of content blocks (text and image_url)
|
|
340
|
+
*
|
|
341
|
+
* @example
|
|
342
|
+
* ```typescript
|
|
343
|
+
* const blocks = await echo.renderMultimodal(template, { name: 'Alice' });
|
|
344
|
+
* // Result:
|
|
345
|
+
* // [
|
|
346
|
+
* // { type: 'text', text: 'Hello Alice, analyze this:' },
|
|
347
|
+
* // { type: 'image_url', image_url: { url: 'data:image/png;base64,...' } }
|
|
348
|
+
* // ]
|
|
349
|
+
* ```
|
|
350
|
+
*/
|
|
351
|
+
renderMultimodal(template: string, context: Record<string, unknown>): Promise<MultimodalContent>;
|
|
261
352
|
/**
|
|
262
353
|
* Validate a template for syntax and semantic errors.
|
|
263
354
|
* @param template - The Echo template string
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@goreal-ai/echo-pdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Echo PDK core rendering engine - parser, evaluator, and renderer",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -34,11 +34,15 @@
|
|
|
34
34
|
"yaml": "^2.3.0"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
|
-
"openai": "^4.0.0"
|
|
37
|
+
"openai": "^4.0.0",
|
|
38
|
+
"@goreal-ai/plp-client": "^1.2.0"
|
|
38
39
|
},
|
|
39
40
|
"peerDependenciesMeta": {
|
|
40
41
|
"openai": {
|
|
41
42
|
"optional": true
|
|
43
|
+
},
|
|
44
|
+
"@goreal-ai/plp-client": {
|
|
45
|
+
"optional": true
|
|
42
46
|
}
|
|
43
47
|
},
|
|
44
48
|
"devDependencies": {
|