@olane/o-lane 0.7.12-alpha.76 → 0.7.12

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.
Files changed (84) hide show
  1. package/dist/src/index.d.ts +1 -1
  2. package/dist/src/index.d.ts.map +1 -1
  3. package/dist/src/index.js +1 -2
  4. package/dist/src/prompts/agent.prompt.d.ts +11 -0
  5. package/dist/src/prompts/agent.prompt.d.ts.map +1 -1
  6. package/dist/src/prompts/agent.prompt.js +14 -3
  7. package/dist/src/prompts/configure.prompt.d.ts +7 -0
  8. package/dist/src/prompts/configure.prompt.d.ts.map +1 -1
  9. package/dist/src/prompts/configure.prompt.js +8 -1
  10. package/dist/src/prompts/custom.prompt.d.ts +7 -0
  11. package/dist/src/prompts/custom.prompt.d.ts.map +1 -1
  12. package/dist/src/prompts/custom.prompt.js +77 -0
  13. package/dist/src/storage/index.d.ts +8 -0
  14. package/dist/src/storage/index.d.ts.map +1 -0
  15. package/dist/src/storage/index.js +12 -0
  16. package/dist/src/storage/interfaces/prompt-storage.interface.d.ts +102 -0
  17. package/dist/src/storage/interfaces/prompt-storage.interface.d.ts.map +1 -0
  18. package/dist/src/storage/methods/prompt-storage.methods.d.ts +9 -0
  19. package/dist/src/storage/methods/prompt-storage.methods.d.ts.map +1 -0
  20. package/dist/src/storage/methods/prompt-storage.methods.js +338 -0
  21. package/dist/src/storage/prompt-loader.d.ts +40 -0
  22. package/dist/src/storage/prompt-loader.d.ts.map +1 -0
  23. package/dist/src/storage/prompt-loader.js +126 -0
  24. package/dist/src/storage/prompt-schema.d.ts +42 -0
  25. package/dist/src/storage/prompt-schema.d.ts.map +1 -0
  26. package/dist/src/storage/prompt-schema.js +29 -0
  27. package/dist/src/storage/prompt-seeder.d.ts +42 -0
  28. package/dist/src/storage/prompt-seeder.d.ts.map +1 -0
  29. package/dist/src/storage/prompt-seeder.js +141 -0
  30. package/dist/src/storage/prompt-storage-provider.tool.d.ts +99 -0
  31. package/dist/src/storage/prompt-storage-provider.tool.d.ts.map +1 -0
  32. package/dist/src/storage/prompt-storage-provider.tool.js +320 -0
  33. package/dist/test/prompt-seeder.spec.d.ts +2 -0
  34. package/dist/test/prompt-seeder.spec.d.ts.map +1 -0
  35. package/dist/test/prompt-seeder.spec.js +254 -0
  36. package/dist/test/prompt-storage-provider.spec.d.ts +2 -0
  37. package/dist/test/prompt-storage-provider.spec.d.ts.map +1 -0
  38. package/dist/test/prompt-storage-provider.spec.js +456 -0
  39. package/package.json +10 -7
  40. package/dist/src/ag-ui/ag-ui-constants.d.ts +0 -90
  41. package/dist/src/ag-ui/ag-ui-constants.d.ts.map +0 -1
  42. package/dist/src/ag-ui/ag-ui-constants.js +0 -113
  43. package/dist/src/ag-ui/ag-ui-event-mapper.d.ts +0 -88
  44. package/dist/src/ag-ui/ag-ui-event-mapper.d.ts.map +0 -1
  45. package/dist/src/ag-ui/ag-ui-event-mapper.js +0 -487
  46. package/dist/src/ag-ui/ag-ui-olane.tool.d.ts +0 -45
  47. package/dist/src/ag-ui/ag-ui-olane.tool.d.ts.map +0 -1
  48. package/dist/src/ag-ui/ag-ui-olane.tool.js +0 -257
  49. package/dist/src/ag-ui/ag-ui-stream-manager.d.ts +0 -99
  50. package/dist/src/ag-ui/ag-ui-stream-manager.d.ts.map +0 -1
  51. package/dist/src/ag-ui/ag-ui-stream-manager.js +0 -160
  52. package/dist/src/ag-ui/ag-ui-utils.d.ts +0 -50
  53. package/dist/src/ag-ui/ag-ui-utils.d.ts.map +0 -1
  54. package/dist/src/ag-ui/ag-ui-utils.js +0 -287
  55. package/dist/src/ag-ui/index.d.ts +0 -17
  56. package/dist/src/ag-ui/index.d.ts.map +0 -1
  57. package/dist/src/ag-ui/index.js +0 -21
  58. package/dist/src/ag-ui/transports/ag-ui-transport.interface.d.ts +0 -44
  59. package/dist/src/ag-ui/transports/ag-ui-transport.interface.d.ts.map +0 -1
  60. package/dist/src/ag-ui/transports/ag-ui-transport.interface.js +0 -26
  61. package/dist/src/ag-ui/transports/callback-transport.d.ts +0 -13
  62. package/dist/src/ag-ui/transports/callback-transport.d.ts.map +0 -1
  63. package/dist/src/ag-ui/transports/callback-transport.js +0 -26
  64. package/dist/src/ag-ui/transports/console-transport.d.ts +0 -14
  65. package/dist/src/ag-ui/transports/console-transport.d.ts.map +0 -1
  66. package/dist/src/ag-ui/transports/console-transport.js +0 -63
  67. package/dist/src/ag-ui/transports/index.d.ts +0 -5
  68. package/dist/src/ag-ui/transports/index.d.ts.map +0 -1
  69. package/dist/src/ag-ui/transports/index.js +0 -4
  70. package/dist/src/ag-ui/transports/onode-transport.d.ts +0 -34
  71. package/dist/src/ag-ui/transports/onode-transport.d.ts.map +0 -1
  72. package/dist/src/ag-ui/transports/onode-transport.js +0 -83
  73. package/dist/src/ag-ui/types/ag-ui-config.interface.d.ts +0 -105
  74. package/dist/src/ag-ui/types/ag-ui-config.interface.d.ts.map +0 -1
  75. package/dist/src/ag-ui/types/ag-ui-event.types.d.ts +0 -266
  76. package/dist/src/ag-ui/types/ag-ui-event.types.d.ts.map +0 -1
  77. package/dist/src/ag-ui/types/ag-ui-event.types.js +0 -6
  78. package/dist/src/ag-ui/types/index.d.ts +0 -3
  79. package/dist/src/ag-ui/types/index.d.ts.map +0 -1
  80. package/dist/src/ag-ui/types/index.js +0 -2
  81. package/dist/test/ai.spec.d.ts +0 -2
  82. package/dist/test/ai.spec.d.ts.map +0 -1
  83. package/dist/test/ai.spec.js +0 -19
  84. /package/dist/src/{ag-ui/types/ag-ui-config.interface.js → storage/interfaces/prompt-storage.interface.js} +0 -0
@@ -0,0 +1,456 @@
1
+ import 'dotenv/config';
2
+ import { expect } from 'chai';
3
+ import { PromptStorageProvider } from '../src/storage/prompt-storage-provider.tool.js';
4
+ import { TestEnvironment, SimpleNodeBuilder, assertRunning, assertStopped, assertSuccess, assertError, } from '@olane/o-test';
5
+ import { oNodeAddress } from '@olane/o-node';
6
+ describe('PromptStorageProvider', () => {
7
+ const env = new TestEnvironment();
8
+ let storage;
9
+ beforeEach(async () => {
10
+ storage = await new SimpleNodeBuilder(PromptStorageProvider)
11
+ .withAddress(new oNodeAddress('o://prompt-storage-test'))
12
+ .build(env);
13
+ });
14
+ afterEach(async () => {
15
+ await env.cleanup();
16
+ });
17
+ describe('Lifecycle', () => {
18
+ it('should initialize successfully', () => {
19
+ expect(storage).to.exist;
20
+ assertRunning(storage);
21
+ expect(storage.address.toString()).to.equal('o://prompt-storage-test');
22
+ });
23
+ it('should stop successfully', async () => {
24
+ await storage.stop();
25
+ assertStopped(storage);
26
+ });
27
+ });
28
+ describe('Basic CRUD Operations', () => {
29
+ it('should store and retrieve data', async () => {
30
+ const putResult = await storage.use(storage.address, {
31
+ method: 'put',
32
+ params: {
33
+ promptId: 'test-prompt-1',
34
+ key: 'user_name',
35
+ value: 'Alice',
36
+ },
37
+ });
38
+ assertSuccess(putResult);
39
+ const response = await storage.use(storage.address, {
40
+ method: 'get',
41
+ params: {
42
+ promptId: 'test-prompt-1',
43
+ key: 'user_name',
44
+ },
45
+ });
46
+ assertSuccess(response);
47
+ expect(response.result.data.value).to.equal('Alice');
48
+ });
49
+ it('should return null for non-existent key', async () => {
50
+ const result = await storage.use(storage.address, {
51
+ method: 'get',
52
+ params: {
53
+ promptId: 'test-prompt-1',
54
+ key: 'nonexistent',
55
+ },
56
+ });
57
+ assertSuccess(result);
58
+ expect(result.result.data.value).to.be.null;
59
+ });
60
+ it('should return null for non-existent prompt', async () => {
61
+ const result = await storage.use(storage.address, {
62
+ method: 'get',
63
+ params: {
64
+ promptId: 'nonexistent-prompt',
65
+ key: 'some_key',
66
+ },
67
+ });
68
+ assertSuccess(result);
69
+ expect(result.result.data.value).to.be.null;
70
+ });
71
+ it('should delete data', async () => {
72
+ // Store data first
73
+ await storage.use(storage.address, {
74
+ method: 'put',
75
+ params: {
76
+ promptId: 'test-prompt-1',
77
+ key: 'temp_data',
78
+ value: 'temporary',
79
+ },
80
+ });
81
+ // Verify it exists
82
+ const beforeDelete = await storage.use(storage.address, {
83
+ method: 'get',
84
+ params: {
85
+ promptId: 'test-prompt-1',
86
+ key: 'temp_data',
87
+ },
88
+ });
89
+ assertSuccess(beforeDelete);
90
+ expect(beforeDelete.result.data.value).to.equal('temporary');
91
+ // Delete it
92
+ const deleteResult = await storage.use(storage.address, {
93
+ method: 'delete',
94
+ params: {
95
+ promptId: 'test-prompt-1',
96
+ key: 'temp_data',
97
+ },
98
+ });
99
+ assertSuccess(deleteResult);
100
+ // Verify it's gone
101
+ const afterDelete = await storage.use(storage.address, {
102
+ method: 'get',
103
+ params: {
104
+ promptId: 'test-prompt-1',
105
+ key: 'temp_data',
106
+ },
107
+ });
108
+ assertSuccess(afterDelete);
109
+ expect(afterDelete.result.data.value).to.be.null;
110
+ });
111
+ it('should check key existence with has', async () => {
112
+ // Check non-existent key
113
+ const beforePut = await storage.use(storage.address, {
114
+ method: 'has',
115
+ params: {
116
+ promptId: 'test-prompt-1',
117
+ key: 'test_key',
118
+ },
119
+ });
120
+ assertSuccess(beforePut);
121
+ expect(beforePut.result.data.success).to.be.false;
122
+ // Store data
123
+ await storage.use(storage.address, {
124
+ method: 'put',
125
+ params: {
126
+ promptId: 'test-prompt-1',
127
+ key: 'test_key',
128
+ value: 'test_value',
129
+ },
130
+ });
131
+ // Check existing key
132
+ const afterPut = await storage.use(storage.address, {
133
+ method: 'has',
134
+ params: {
135
+ promptId: 'test-prompt-1',
136
+ key: 'test_key',
137
+ },
138
+ });
139
+ assertSuccess(afterPut);
140
+ expect(afterPut.result.data.success).to.be.true;
141
+ });
142
+ });
143
+ describe('Prompt Isolation', () => {
144
+ it('should isolate data between different prompts', async () => {
145
+ // Store same key in different prompts
146
+ await storage.use(storage.address, {
147
+ method: 'put',
148
+ params: {
149
+ promptId: 'prompt-1',
150
+ key: 'shared_key',
151
+ value: 'value-1',
152
+ },
153
+ });
154
+ await storage.use(storage.address, {
155
+ method: 'put',
156
+ params: {
157
+ promptId: 'prompt-2',
158
+ key: 'shared_key',
159
+ value: 'value-2',
160
+ },
161
+ });
162
+ // Verify each prompt has its own value
163
+ const result1 = await storage.use(storage.address, {
164
+ method: 'get',
165
+ params: {
166
+ promptId: 'prompt-1',
167
+ key: 'shared_key',
168
+ },
169
+ });
170
+ expect(result1.result.data.value).to.equal('value-1');
171
+ const result2 = await storage.use(storage.address, {
172
+ method: 'get',
173
+ params: {
174
+ promptId: 'prompt-2',
175
+ key: 'shared_key',
176
+ },
177
+ });
178
+ expect(result2.result.data.value).to.equal('value-2');
179
+ });
180
+ it('should not leak data between prompts on delete', async () => {
181
+ // Store in both prompts
182
+ await storage.use(storage.address, {
183
+ method: 'put',
184
+ params: { promptId: 'prompt-1', key: 'key', value: 'value-1' },
185
+ });
186
+ await storage.use(storage.address, {
187
+ method: 'put',
188
+ params: { promptId: 'prompt-2', key: 'key', value: 'value-2' },
189
+ });
190
+ // Delete from prompt-1
191
+ await storage.use(storage.address, {
192
+ method: 'delete',
193
+ params: { promptId: 'prompt-1', key: 'key' },
194
+ });
195
+ // Verify prompt-1 is deleted
196
+ const result1 = await storage.use(storage.address, {
197
+ method: 'get',
198
+ params: { promptId: 'prompt-1', key: 'key' },
199
+ });
200
+ expect(result1.result.data.value).to.be.null;
201
+ // Verify prompt-2 is unaffected
202
+ const result2 = await storage.use(storage.address, {
203
+ method: 'get',
204
+ params: { promptId: 'prompt-2', key: 'key' },
205
+ });
206
+ expect(result2.result.data.value).to.equal('value-2');
207
+ });
208
+ });
209
+ describe('Prompt Management', () => {
210
+ it('should list all prompts', async () => {
211
+ // Store data in multiple prompts
212
+ await storage.use(storage.address, {
213
+ method: 'put',
214
+ params: { promptId: 'prompt-1', key: 'key1', value: 'value1' },
215
+ });
216
+ await storage.use(storage.address, {
217
+ method: 'put',
218
+ params: { promptId: 'prompt-2', key: 'key2', value: 'value2' },
219
+ });
220
+ await storage.use(storage.address, {
221
+ method: 'put',
222
+ params: { promptId: 'prompt-3', key: 'key3', value: 'value3' },
223
+ });
224
+ // List prompts
225
+ const result = await storage.use(storage.address, {
226
+ method: 'list_prompts',
227
+ params: {},
228
+ });
229
+ assertSuccess(result);
230
+ expect(result.result.data.count).to.equal(3);
231
+ expect(result.result.data.promptIds).to.have.members([
232
+ 'prompt-1',
233
+ 'prompt-2',
234
+ 'prompt-3',
235
+ ]);
236
+ });
237
+ it('should clear a specific prompt', async () => {
238
+ // Store multiple keys in a prompt
239
+ await storage.use(storage.address, {
240
+ method: 'put',
241
+ params: { promptId: 'prompt-1', key: 'key1', value: 'value1' },
242
+ });
243
+ await storage.use(storage.address, {
244
+ method: 'put',
245
+ params: { promptId: 'prompt-1', key: 'key2', value: 'value2' },
246
+ });
247
+ await storage.use(storage.address, {
248
+ method: 'put',
249
+ params: { promptId: 'prompt-1', key: 'key3', value: 'value3' },
250
+ });
251
+ // Clear the prompt
252
+ const clearResult = await storage.use(storage.address, {
253
+ method: 'clear_prompt',
254
+ params: { promptId: 'prompt-1' },
255
+ });
256
+ assertSuccess(clearResult);
257
+ expect(clearResult.result.data.success).to.be.true;
258
+ expect(clearResult.result.data.keysDeleted).to.equal(3);
259
+ // Verify all keys are gone
260
+ const getResult = await storage.use(storage.address, {
261
+ method: 'get',
262
+ params: { promptId: 'prompt-1', key: 'key1' },
263
+ });
264
+ assertSuccess(getResult);
265
+ expect(getResult.result.data.value).to.be.null;
266
+ });
267
+ it('should get keys for a specific prompt', async () => {
268
+ // Store multiple keys
269
+ await storage.use(storage.address, {
270
+ method: 'put',
271
+ params: { promptId: 'prompt-1', key: 'name', value: 'Alice' },
272
+ });
273
+ await storage.use(storage.address, {
274
+ method: 'put',
275
+ params: { promptId: 'prompt-1', key: 'email', value: 'alice@example.com' },
276
+ });
277
+ await storage.use(storage.address, {
278
+ method: 'put',
279
+ params: { promptId: 'prompt-1', key: 'role', value: 'admin' },
280
+ });
281
+ // Get keys
282
+ const result = await storage.use(storage.address, {
283
+ method: 'get_prompt_keys',
284
+ params: { promptId: 'prompt-1' },
285
+ });
286
+ assertSuccess(result);
287
+ expect(result.result.data.count).to.equal(3);
288
+ expect(result.result.data.keys).to.have.members(['name', 'email', 'role']);
289
+ });
290
+ it('should get stats for a specific prompt', async () => {
291
+ // Store some data
292
+ await storage.use(storage.address, {
293
+ method: 'put',
294
+ params: { promptId: 'prompt-1', key: 'key1', value: 'value1' },
295
+ });
296
+ await storage.use(storage.address, {
297
+ method: 'put',
298
+ params: { promptId: 'prompt-1', key: 'key2', value: 'value2' },
299
+ });
300
+ // Get stats
301
+ const result = await storage.use(storage.address, {
302
+ method: 'get_prompt_stats',
303
+ params: { promptId: 'prompt-1' },
304
+ });
305
+ assertSuccess(result);
306
+ expect(result.result.data.promptId).to.equal('prompt-1');
307
+ expect(result.result.data.keyCount).to.equal(2);
308
+ expect(result.result.data.exists).to.be.true;
309
+ expect(result.result.data.lastAccessed).to.be.a('number');
310
+ expect(result.result.data.createdAt).to.be.a('number');
311
+ });
312
+ it('should return empty stats for non-existent prompt', async () => {
313
+ const result = await storage.use(storage.address, {
314
+ method: 'get_prompt_stats',
315
+ params: { promptId: 'nonexistent' },
316
+ });
317
+ assertSuccess(result);
318
+ expect(result.result.data.exists).to.be.false;
319
+ expect(result.result.data.keyCount).to.equal(0);
320
+ });
321
+ });
322
+ describe('Validation', () => {
323
+ it('should throw error for missing promptId in put', async () => {
324
+ const response = await storage.use(storage.address, {
325
+ method: 'put',
326
+ params: { key: 'key', value: 'value' },
327
+ });
328
+ assertError(response, 'Missing required parameters');
329
+ });
330
+ it('should throw error for missing key in put', async () => {
331
+ const result = await storage.use(storage.address, {
332
+ method: 'put',
333
+ params: { promptId: 'prompt-1', value: 'value' },
334
+ });
335
+ assertError(result, 'Missing required parameters');
336
+ });
337
+ it('should throw error for missing value in put', async () => {
338
+ const result = await storage.use(storage.address, {
339
+ method: 'put',
340
+ params: { promptId: 'prompt-1', key: 'key' },
341
+ });
342
+ assertError(result, 'Missing required parameters');
343
+ });
344
+ it('should throw error for invalid promptId type', async () => {
345
+ const result = await storage.use(storage.address, {
346
+ method: 'get',
347
+ params: { promptId: 123, key: 'key' },
348
+ });
349
+ assertError(result, 'promptId is required and must be a string');
350
+ });
351
+ });
352
+ describe('Edge Cases', () => {
353
+ it('should handle empty prompt list', async () => {
354
+ const result = await storage.use(storage.address, {
355
+ method: 'list_prompts',
356
+ params: {},
357
+ });
358
+ assertSuccess(result);
359
+ expect(result.result.data.count).to.equal(0);
360
+ expect(result.result.data.promptIds).to.be.an('array').that.is.empty;
361
+ });
362
+ it('should handle clearing non-existent prompt', async () => {
363
+ const result = await storage.use(storage.address, {
364
+ method: 'clear_prompt',
365
+ params: { promptId: 'nonexistent' },
366
+ });
367
+ assertSuccess(result);
368
+ expect(result.result.data.keysDeleted).to.equal(0);
369
+ });
370
+ it('should handle deleting non-existent key', async () => {
371
+ const result = await storage.use(storage.address, {
372
+ method: 'delete',
373
+ params: { promptId: 'prompt-1', key: 'nonexistent' },
374
+ });
375
+ assertSuccess(result);
376
+ });
377
+ it('should handle overwriting existing value', async () => {
378
+ // Store initial value
379
+ await storage.use(storage.address, {
380
+ method: 'put',
381
+ params: { promptId: 'prompt-1', key: 'key', value: 'value1' },
382
+ });
383
+ // Overwrite with new value
384
+ await storage.use(storage.address, {
385
+ method: 'put',
386
+ params: { promptId: 'prompt-1', key: 'key', value: 'value2' },
387
+ });
388
+ // Verify new value
389
+ const result = await storage.use(storage.address, {
390
+ method: 'get',
391
+ params: { promptId: 'prompt-1', key: 'key' },
392
+ });
393
+ assertSuccess(result);
394
+ expect(result.result.data.value).to.equal('value2');
395
+ });
396
+ });
397
+ describe('Max Prompts Limit', () => {
398
+ it('should evict oldest prompt when max limit reached', async () => {
399
+ // Create storage with limit
400
+ await storage.stop();
401
+ storage = await new SimpleNodeBuilder(PromptStorageProvider)
402
+ .withAddress(new oNodeAddress('o://prompt-storage-test'))
403
+ .withConfig({ maxPrompts: 3 })
404
+ .build(env);
405
+ // Add 3 prompts
406
+ await storage.use(storage.address, {
407
+ method: 'put',
408
+ params: { promptId: 'prompt-1', key: 'key', value: 'value1' },
409
+ });
410
+ // Small delay to ensure different timestamps
411
+ await new Promise((resolve) => setTimeout(resolve, 10));
412
+ await storage.use(storage.address, {
413
+ method: 'put',
414
+ params: { promptId: 'prompt-2', key: 'key', value: 'value2' },
415
+ });
416
+ await new Promise((resolve) => setTimeout(resolve, 10));
417
+ await storage.use(storage.address, {
418
+ method: 'put',
419
+ params: { promptId: 'prompt-3', key: 'key', value: 'value3' },
420
+ });
421
+ // Verify all 3 exist
422
+ const before = await storage.use(storage.address, {
423
+ method: 'list_prompts',
424
+ params: {},
425
+ });
426
+ assertSuccess(before);
427
+ expect(before.result.data.count).to.equal(3);
428
+ // Add 4th prompt (should evict prompt-1)
429
+ await storage.use(storage.address, {
430
+ method: 'put',
431
+ params: { promptId: 'prompt-4', key: 'key', value: 'value4' },
432
+ });
433
+ // Verify only 3 prompts remain
434
+ const after = await storage.use(storage.address, {
435
+ method: 'list_prompts',
436
+ params: {},
437
+ });
438
+ assertSuccess(after);
439
+ expect(after.result.data.count).to.equal(3);
440
+ // Verify prompt-1 was evicted
441
+ const result1 = await storage.use(storage.address, {
442
+ method: 'get',
443
+ params: { promptId: 'prompt-1', key: 'key' },
444
+ });
445
+ assertSuccess(result1);
446
+ expect(result1.result.data.value).to.be.null;
447
+ // Verify prompt-4 exists
448
+ const result4 = await storage.use(storage.address, {
449
+ method: 'get',
450
+ params: { promptId: 'prompt-4', key: 'key' },
451
+ });
452
+ assertSuccess(result4);
453
+ expect(result4.result.data.value).to.equal('value4');
454
+ });
455
+ });
456
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@olane/o-lane",
3
- "version": "0.7.12-alpha.76",
3
+ "version": "0.7.12",
4
4
  "type": "module",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -36,11 +36,13 @@
36
36
  "devDependencies": {
37
37
  "@eslint/eslintrc": "^3.3.1",
38
38
  "@eslint/js": "^9.29.0",
39
+ "@olane/o-test": "0.7.12",
39
40
  "@tsconfig/node20": "^20.1.6",
40
41
  "@types/jest": "^30.0.0",
41
42
  "@typescript-eslint/eslint-plugin": "^8.34.1",
42
43
  "@typescript-eslint/parser": "^8.34.1",
43
44
  "aegir": "^47.0.21",
45
+ "chai": "^5.1.2",
44
46
  "eslint": "^9.29.0",
45
47
  "eslint-config-prettier": "^10.1.6",
46
48
  "eslint-plugin-prettier": "^5.5.0",
@@ -54,13 +56,14 @@
54
56
  "typescript": "5.4.5"
55
57
  },
56
58
  "dependencies": {
57
- "@olane/o-config": "0.7.12-alpha.76",
58
- "@olane/o-core": "0.7.12-alpha.76",
59
- "@olane/o-node": "0.7.12-alpha.76",
60
- "@olane/o-protocol": "0.7.12-alpha.76",
61
- "@olane/o-tool": "0.7.12-alpha.76",
59
+ "@olane/o-config": "0.7.12",
60
+ "@olane/o-core": "0.7.12",
61
+ "@olane/o-node": "0.7.12",
62
+ "@olane/o-protocol": "0.7.12",
63
+ "@olane/o-storage": "0.7.12",
64
+ "@olane/o-tool": "0.7.12",
62
65
  "debug": "^4.4.1",
63
66
  "dotenv": "^16.5.0"
64
67
  },
65
- "gitHead": "2824fcbb8216f9a579d37f5528f273d22419865d"
68
+ "gitHead": "580d8c51fe0a12695ba1d77f077029200f0c8af4"
66
69
  }
@@ -1,90 +0,0 @@
1
- /**
2
- * AG-UI Protocol Constants
3
- */
4
- /**
5
- * AG-UI protocol version this implementation supports
6
- */
7
- export declare const AG_UI_PROTOCOL_VERSION = "1.0.0";
8
- /**
9
- * Default configuration values
10
- */
11
- export declare const AG_UI_DEFAULTS: {
12
- /**
13
- * Default state snapshot interval (every N cycles)
14
- */
15
- STATE_SNAPSHOT_INTERVAL: number;
16
- /**
17
- * Maximum delta history to keep
18
- */
19
- MAX_DELTA_HISTORY: number;
20
- /**
21
- * Default text chunk size for streaming
22
- */
23
- TEXT_CHUNK_SIZE: number;
24
- /**
25
- * Enable debug logging by default
26
- */
27
- DEBUG_ENABLED: boolean;
28
- /**
29
- * Enable AG-UI by default
30
- */
31
- AGUI_ENABLED: boolean;
32
- /**
33
- * Emit activity events by default
34
- */
35
- EMIT_ACTIVITY_EVENTS: boolean;
36
- /**
37
- * Emit reasoning events by default
38
- */
39
- EMIT_REASONING_EVENTS: boolean;
40
- /**
41
- * Include raw events by default
42
- */
43
- INCLUDE_RAW_EVENTS: boolean;
44
- /**
45
- * Auto-generate thread ID by default
46
- */
47
- AUTO_GENERATE_THREAD_ID: boolean;
48
- };
49
- /**
50
- * Activity types for AG-UI activity events
51
- */
52
- export declare const ACTIVITY_TYPES: {
53
- readonly PLAN: "PLAN";
54
- readonly EXECUTE: "EXECUTE";
55
- readonly EVALUATE: "EVALUATE";
56
- readonly SEARCH: "SEARCH";
57
- readonly CONFIGURE: "CONFIGURE";
58
- readonly ERROR: "ERROR";
59
- readonly PROGRESS: "PROGRESS";
60
- };
61
- /**
62
- * Event type categories for filtering
63
- */
64
- export declare const EVENT_CATEGORIES: {
65
- readonly LIFECYCLE: readonly ["RunStarted", "RunFinished", "RunError", "StepStarted", "StepFinished"];
66
- readonly MESSAGES: readonly ["TextMessageStart", "TextMessageContent", "TextMessageEnd", "TextMessageChunk"];
67
- readonly TOOL_CALLS: readonly ["ToolCallStart", "ToolCallArgs", "ToolCallEnd", "ToolCallResult", "ToolCallChunk"];
68
- readonly STATE: readonly ["StateSnapshot", "StateDelta", "MessagesSnapshot"];
69
- readonly ACTIVITY: readonly ["ActivitySnapshot", "ActivityDelta"];
70
- readonly SPECIAL: readonly ["Raw", "Custom"];
71
- readonly REASONING: readonly ["ReasoningStart", "ReasoningEnd", "ReasoningMessageStart", "ReasoningMessageContent", "ReasoningMessageEnd", "ReasoningMessageChunk"];
72
- };
73
- /**
74
- * Default message roles
75
- */
76
- export declare const MESSAGE_ROLES: {
77
- readonly DEVELOPER: "developer";
78
- readonly SYSTEM: "system";
79
- readonly ASSISTANT: "assistant";
80
- readonly USER: "user";
81
- readonly TOOL: "tool";
82
- };
83
- /**
84
- * Run outcome types
85
- */
86
- export declare const RUN_OUTCOMES: {
87
- readonly SUCCESS: "success";
88
- readonly INTERRUPT: "interrupt";
89
- };
90
- //# sourceMappingURL=ag-ui-constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ag-ui-constants.d.ts","sourceRoot":"","sources":["../../../src/ag-ui/ag-ui-constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,cAAc;IACzB;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAEJ,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;CAQjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;CAgCnB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;CAMhB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY;;;CAGf,CAAC"}