@miller-tech/uap 1.5.5 → 1.5.7

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 (66) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/benchmarks/benchmark.d.ts +53 -53
  3. package/dist/bin/cli.js +6 -0
  4. package/dist/bin/cli.js.map +1 -1
  5. package/dist/bin/llama-server-optimize.js +0 -0
  6. package/dist/bin/policy.js +0 -0
  7. package/dist/bin/tool-calls.js +0 -0
  8. package/dist/cli/dashboard.d.ts +1 -0
  9. package/dist/cli/dashboard.d.ts.map +1 -1
  10. package/dist/cli/dashboard.js.map +1 -1
  11. package/dist/coordination/droid-validator.d.ts +1 -1
  12. package/dist/memory/active-context.d.ts +65 -0
  13. package/dist/memory/active-context.d.ts.map +1 -0
  14. package/dist/memory/active-context.js +126 -0
  15. package/dist/memory/active-context.js.map +1 -0
  16. package/dist/memory/dedup-detector.d.ts +57 -0
  17. package/dist/memory/dedup-detector.d.ts.map +1 -0
  18. package/dist/memory/dedup-detector.js +107 -0
  19. package/dist/memory/dedup-detector.js.map +1 -0
  20. package/dist/memory/dedup-memory.d.ts +89 -0
  21. package/dist/memory/dedup-memory.d.ts.map +1 -0
  22. package/dist/memory/dedup-memory.js +173 -0
  23. package/dist/memory/dedup-memory.js.map +1 -0
  24. package/dist/memory/merge-claude-md.d.ts +45 -0
  25. package/dist/memory/merge-claude-md.d.ts.map +1 -0
  26. package/dist/memory/merge-claude-md.js +118 -0
  27. package/dist/memory/merge-claude-md.js.map +1 -0
  28. package/dist/memory/patterns.d.ts +37 -0
  29. package/dist/memory/patterns.d.ts.map +1 -0
  30. package/dist/memory/patterns.js +81 -0
  31. package/dist/memory/patterns.js.map +1 -0
  32. package/dist/memory/semantic-edge-graph.d.ts +86 -0
  33. package/dist/memory/semantic-edge-graph.d.ts.map +1 -0
  34. package/dist/memory/semantic-edge-graph.js +168 -0
  35. package/dist/memory/semantic-edge-graph.js.map +1 -0
  36. package/dist/memory/semantic-retrieval.d.ts +70 -0
  37. package/dist/memory/semantic-retrieval.d.ts.map +1 -0
  38. package/dist/memory/semantic-retrieval.js +112 -0
  39. package/dist/memory/semantic-retrieval.js.map +1 -0
  40. package/dist/memory/smart-consolidator.d.ts +53 -0
  41. package/dist/memory/smart-consolidator.d.ts.map +1 -0
  42. package/dist/memory/smart-consolidator.js +144 -0
  43. package/dist/memory/smart-consolidator.js.map +1 -0
  44. package/dist/memory/view-memory.d.ts +80 -0
  45. package/dist/memory/view-memory.d.ts.map +1 -0
  46. package/dist/memory/view-memory.js +130 -0
  47. package/dist/memory/view-memory.js.map +1 -0
  48. package/dist/memory/wrapped-memory.d.ts +77 -0
  49. package/dist/memory/wrapped-memory.d.ts.map +1 -0
  50. package/dist/memory/wrapped-memory.js +127 -0
  51. package/dist/memory/wrapped-memory.js.map +1 -0
  52. package/dist/models/types.d.ts +57 -57
  53. package/dist/policies/schemas/policy.d.ts +18 -18
  54. package/dist/tasks/types.d.ts +23 -23
  55. package/dist/types/config.d.ts +416 -416
  56. package/dist/types/coordination.d.ts +22 -22
  57. package/dist/uap-droids-strict.d.ts +1 -1
  58. package/dist/utils/adaptive-cache.d.ts +67 -0
  59. package/dist/utils/adaptive-cache.d.ts.map +1 -0
  60. package/dist/utils/adaptive-cache.js +149 -0
  61. package/dist/utils/adaptive-cache.js.map +1 -0
  62. package/dist/utils/performance-monitor.d.ts +52 -0
  63. package/dist/utils/performance-monitor.d.ts.map +1 -0
  64. package/dist/utils/performance-monitor.js +103 -0
  65. package/dist/utils/performance-monitor.js.map +1 -0
  66. package/package.json +1 -1
@@ -115,23 +115,23 @@ export declare const AgentRegistryEntrySchema: z.ZodObject<{
115
115
  lastHeartbeat: z.ZodString;
116
116
  capabilities: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
117
117
  }, "strip", z.ZodTypeAny, {
118
- status: "active" | "idle" | "completed" | "failed";
119
118
  name: string;
120
119
  id: string;
120
+ status: "failed" | "active" | "idle" | "completed";
121
121
  sessionId: string;
122
122
  startedAt: string;
123
123
  lastHeartbeat: string;
124
- capabilities?: string[] | undefined;
125
124
  currentTask?: string | undefined;
125
+ capabilities?: string[] | undefined;
126
126
  }, {
127
- status: "active" | "idle" | "completed" | "failed";
128
127
  name: string;
129
128
  id: string;
129
+ status: "failed" | "active" | "idle" | "completed";
130
130
  sessionId: string;
131
131
  startedAt: string;
132
132
  lastHeartbeat: string;
133
- capabilities?: string[] | undefined;
134
133
  currentTask?: string | undefined;
134
+ capabilities?: string[] | undefined;
135
135
  }>;
136
136
  export declare const MessagePayloadSchema: z.ZodObject<{
137
137
  action: z.ZodString;
@@ -139,12 +139,12 @@ export declare const MessagePayloadSchema: z.ZodObject<{
139
139
  data: z.ZodOptional<z.ZodUnknown>;
140
140
  }, "strip", z.ZodTypeAny, {
141
141
  action: string;
142
- resource?: string | undefined;
143
142
  data?: unknown;
143
+ resource?: string | undefined;
144
144
  }, {
145
145
  action: string;
146
- resource?: string | undefined;
147
146
  data?: unknown;
147
+ resource?: string | undefined;
148
148
  }>;
149
149
  export declare const AgentMessageSchema: z.ZodObject<{
150
150
  id: z.ZodNumber;
@@ -158,42 +158,42 @@ export declare const AgentMessageSchema: z.ZodObject<{
158
158
  data: z.ZodOptional<z.ZodUnknown>;
159
159
  }, "strip", z.ZodTypeAny, {
160
160
  action: string;
161
- resource?: string | undefined;
162
161
  data?: unknown;
162
+ resource?: string | undefined;
163
163
  }, {
164
164
  action: string;
165
- resource?: string | undefined;
166
165
  data?: unknown;
166
+ resource?: string | undefined;
167
167
  }>;
168
168
  priority: z.ZodDefault<z.ZodNumber>;
169
169
  createdAt: z.ZodString;
170
170
  readAt: z.ZodOptional<z.ZodString>;
171
171
  expiresAt: z.ZodOptional<z.ZodString>;
172
172
  }, "strip", z.ZodTypeAny, {
173
- type: "request" | "response" | "notification" | "claim" | "release";
174
173
  id: number;
174
+ type: "release" | "claim" | "notification" | "request" | "response";
175
+ createdAt: string;
175
176
  priority: number;
176
- channel: "deploy" | "review" | "broadcast" | "direct" | "coordination";
177
+ channel: "deploy" | "coordination" | "broadcast" | "review" | "direct";
177
178
  payload: {
178
179
  action: string;
179
- resource?: string | undefined;
180
180
  data?: unknown;
181
+ resource?: string | undefined;
181
182
  };
182
- createdAt: string;
183
183
  fromAgent?: string | undefined;
184
184
  toAgent?: string | undefined;
185
185
  readAt?: string | undefined;
186
186
  expiresAt?: string | undefined;
187
187
  }, {
188
- type: "request" | "response" | "notification" | "claim" | "release";
189
188
  id: number;
190
- channel: "deploy" | "review" | "broadcast" | "direct" | "coordination";
189
+ type: "release" | "claim" | "notification" | "request" | "response";
190
+ createdAt: string;
191
+ channel: "deploy" | "coordination" | "broadcast" | "review" | "direct";
191
192
  payload: {
192
193
  action: string;
193
- resource?: string | undefined;
194
194
  data?: unknown;
195
+ resource?: string | undefined;
195
196
  };
196
- createdAt: string;
197
197
  priority?: number | undefined;
198
198
  fromAgent?: string | undefined;
199
199
  toAgent?: string | undefined;
@@ -213,28 +213,28 @@ export declare const DeployActionSchema: z.ZodObject<{
213
213
  priority: z.ZodDefault<z.ZodNumber>;
214
214
  dependencies: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
215
215
  }, "strip", z.ZodTypeAny, {
216
- status: "completed" | "failed" | "pending" | "batched" | "executing";
217
216
  id: number;
217
+ status: "failed" | "completed" | "pending" | "batched" | "executing";
218
218
  priority: number;
219
219
  agentId: string;
220
- actionType: "push" | "commit" | "merge" | "workflow" | "deploy";
220
+ actionType: "deploy" | "push" | "commit" | "merge" | "workflow";
221
221
  target: string;
222
222
  queuedAt: string;
223
223
  payload?: Record<any, any> | undefined;
224
+ dependencies?: string[] | undefined;
224
225
  batchId?: string | undefined;
225
226
  executeAfter?: string | undefined;
226
- dependencies?: string[] | undefined;
227
227
  }, {
228
- status: "completed" | "failed" | "pending" | "batched" | "executing";
229
228
  id: number;
229
+ status: "failed" | "completed" | "pending" | "batched" | "executing";
230
230
  agentId: string;
231
- actionType: "push" | "commit" | "merge" | "workflow" | "deploy";
231
+ actionType: "deploy" | "push" | "commit" | "merge" | "workflow";
232
232
  target: string;
233
233
  queuedAt: string;
234
234
  priority?: number | undefined;
235
235
  payload?: Record<any, any> | undefined;
236
+ dependencies?: string[] | undefined;
236
237
  batchId?: string | undefined;
237
238
  executeAfter?: string | undefined;
238
- dependencies?: string[] | undefined;
239
239
  }>;
240
240
  //# sourceMappingURL=coordination.d.ts.map
@@ -29,12 +29,12 @@ export declare const DROID_SCHEMA: z.ZodObject<{
29
29
  }, {
30
30
  name: string;
31
31
  description: string;
32
- model?: "inherit" | "dedicated" | undefined;
33
32
  coordination?: {
34
33
  channels?: string[] | undefined;
35
34
  claims?: ("exclusive" | "shared")[] | undefined;
36
35
  batches_deploy?: boolean | undefined;
37
36
  } | undefined;
37
+ model?: "inherit" | "dedicated" | undefined;
38
38
  }>;
39
39
  interface DroidMeta {
40
40
  name: string;
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Adaptive cache with usage-based TTL and priority eviction
3
+ */
4
+ export interface CacheEntry<V> {
5
+ value: V;
6
+ lastAccessed: Date;
7
+ lastModified: Date;
8
+ usageCount: number;
9
+ priority: number;
10
+ }
11
+ export interface AdaptiveCacheOptions {
12
+ maxEntries: number;
13
+ defaultTTL?: number;
14
+ hotThreshold?: number;
15
+ coldEvictionRatio?: number;
16
+ }
17
+ export declare class AdaptiveCache<K, V> {
18
+ private cache;
19
+ private options;
20
+ private evictionInterval;
21
+ constructor(options: AdaptiveCacheOptions);
22
+ /**
23
+ * Get value from cache with adaptive TTL
24
+ */
25
+ get(key: K): V | null;
26
+ /**
27
+ * Set value in cache
28
+ */
29
+ set(key: K, value: V, priority?: number): void;
30
+ /**
31
+ * Delete value from cache
32
+ */
33
+ delete(key: K): boolean;
34
+ /**
35
+ * Clear all entries
36
+ */
37
+ clear(): void;
38
+ /**
39
+ * Get cache size
40
+ */
41
+ get size(): number;
42
+ /**
43
+ * Calculate adaptive TTL based on usage patterns
44
+ */
45
+ private getAdaptiveTTL;
46
+ /**
47
+ * Evict entries based on priority and access patterns
48
+ */
49
+ private evict;
50
+ /**
51
+ * Start periodic eviction
52
+ */
53
+ private startEviction;
54
+ /**
55
+ * Stop eviction interval
56
+ */
57
+ stop(): void;
58
+ }
59
+ /**
60
+ * Create a cache instance with common defaults for pattern matching
61
+ */
62
+ export declare function createPatternCache(maxEntries?: number): AdaptiveCache<string, any>;
63
+ /**
64
+ * Create a cache instance for short-term query results
65
+ */
66
+ export declare function createQueryCache(maxEntries?: number): AdaptiveCache<string, any>;
67
+ //# sourceMappingURL=adaptive-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adaptive-cache.d.ts","sourceRoot":"","sources":["../../src/utils/adaptive-cache.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC;IACT,YAAY,EAAE,IAAI,CAAC;IACnB,YAAY,EAAE,IAAI,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,qBAAa,aAAa,CAAC,CAAC,EAAE,CAAC;IAC7B,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,gBAAgB,CAA+B;gBAE3C,OAAO,EAAE,oBAAoB;IAmBzC;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI;IAoBrB;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,GAAE,MAAU,GAAG,IAAI;IAejD;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAIvB;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,OAAO,CAAC,KAAK;IAgCb;;OAEG;IACH,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,IAAI,IAAI,IAAI;CAMb;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,GAAE,MAAY,GAAG,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,CAOvF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,GAAE,MAAW,GAAG,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,CAOpF"}
@@ -0,0 +1,149 @@
1
+ export class AdaptiveCache {
2
+ cache;
3
+ options;
4
+ evictionInterval = null;
5
+ constructor(options) {
6
+ const { maxEntries, defaultTTL = 300000, // 5 minutes
7
+ hotThreshold = 10, coldEvictionRatio = 0.5, } = options;
8
+ this.options = {
9
+ maxEntries,
10
+ defaultTTL,
11
+ hotThreshold,
12
+ coldEvictionRatio,
13
+ };
14
+ this.cache = new Map();
15
+ this.startEviction();
16
+ }
17
+ /**
18
+ * Get value from cache with adaptive TTL
19
+ */
20
+ get(key) {
21
+ const entry = this.cache.get(key);
22
+ if (!entry)
23
+ return null;
24
+ // Check if expired
25
+ const age = Date.now() - entry.lastModified.getTime();
26
+ const ttl = this.getAdaptiveTTL(entry);
27
+ if (age > ttl) {
28
+ this.cache.delete(key);
29
+ return null;
30
+ }
31
+ // Update access metadata
32
+ entry.lastAccessed = new Date();
33
+ entry.usageCount++;
34
+ return entry.value;
35
+ }
36
+ /**
37
+ * Set value in cache
38
+ */
39
+ set(key, value, priority = 1) {
40
+ // Evict if at capacity
41
+ if (this.cache.size >= this.options.maxEntries) {
42
+ this.evict();
43
+ }
44
+ this.cache.set(key, {
45
+ value,
46
+ lastAccessed: new Date(),
47
+ lastModified: new Date(),
48
+ usageCount: 0,
49
+ priority,
50
+ });
51
+ }
52
+ /**
53
+ * Delete value from cache
54
+ */
55
+ delete(key) {
56
+ return this.cache.delete(key);
57
+ }
58
+ /**
59
+ * Clear all entries
60
+ */
61
+ clear() {
62
+ this.cache.clear();
63
+ }
64
+ /**
65
+ * Get cache size
66
+ */
67
+ get size() {
68
+ return this.cache.size;
69
+ }
70
+ /**
71
+ * Calculate adaptive TTL based on usage patterns
72
+ */
73
+ getAdaptiveTTL(entry) {
74
+ if (entry.usageCount >= this.options.hotThreshold) {
75
+ return this.options.defaultTTL * 12; // 1 hour for hot entries
76
+ }
77
+ if (entry.usageCount >= this.options.hotThreshold / 2) {
78
+ return this.options.defaultTTL * 3; // 15 minutes for warm entries
79
+ }
80
+ return this.options.defaultTTL; // 5 minutes default
81
+ }
82
+ /**
83
+ * Evict entries based on priority and access patterns
84
+ */
85
+ evict() {
86
+ const entries = [...this.cache.entries()];
87
+ if (entries.length === 0)
88
+ return;
89
+ // Separate hot vs cold entries
90
+ const coldEntries = entries.filter(([_, entry]) => entry.usageCount < this.options.hotThreshold / 2);
91
+ // hotEntries unused - kept for future expansion
92
+ // Evict cold first
93
+ if (coldEntries.length > Math.floor(this.options.maxEntries * this.options.coldEvictionRatio)) {
94
+ // Sort by last access time
95
+ coldEntries.sort((a, b) => a[1].lastAccessed.getTime() - b[1].lastAccessed.getTime());
96
+ const toRemove = Math.floor(coldEntries.length / 2);
97
+ for (let i = 0; i < toRemove; i++) {
98
+ this.cache.delete(coldEntries[i][0]);
99
+ }
100
+ return;
101
+ }
102
+ // If not enough cold entries, evict LRU from all
103
+ entries.sort((a, b) => a[1].lastAccessed.getTime() - b[1].lastAccessed.getTime());
104
+ const toRemove = Math.ceil(entries.length * 0.3);
105
+ for (let i = 0; i < toRemove; i++) {
106
+ this.cache.delete(entries[i][0]);
107
+ }
108
+ }
109
+ /**
110
+ * Start periodic eviction
111
+ */
112
+ startEviction() {
113
+ this.evictionInterval = setInterval(() => {
114
+ this.evict();
115
+ }, 60000); // Run every minute
116
+ }
117
+ /**
118
+ * Stop eviction interval
119
+ */
120
+ stop() {
121
+ if (this.evictionInterval) {
122
+ clearInterval(this.evictionInterval);
123
+ this.evictionInterval = null;
124
+ }
125
+ }
126
+ }
127
+ /**
128
+ * Create a cache instance with common defaults for pattern matching
129
+ */
130
+ export function createPatternCache(maxEntries = 100) {
131
+ return new AdaptiveCache({
132
+ maxEntries,
133
+ defaultTTL: 300000, // 5 minutes
134
+ hotThreshold: 10,
135
+ coldEvictionRatio: 0.5,
136
+ });
137
+ }
138
+ /**
139
+ * Create a cache instance for short-term query results
140
+ */
141
+ export function createQueryCache(maxEntries = 50) {
142
+ return new AdaptiveCache({
143
+ maxEntries,
144
+ defaultTTL: 60000, // 1 minute
145
+ hotThreshold: 5,
146
+ coldEvictionRatio: 0.7,
147
+ });
148
+ }
149
+ //# sourceMappingURL=adaptive-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adaptive-cache.js","sourceRoot":"","sources":["../../src/utils/adaptive-cache.ts"],"names":[],"mappings":"AAkBA,MAAM,OAAO,aAAa;IAChB,KAAK,CAAwB;IAC7B,OAAO,CAAiC;IACxC,gBAAgB,GAA0B,IAAI,CAAC;IAEvD,YAAY,OAA6B;QACvC,MAAM,EACJ,UAAU,EACV,UAAU,GAAG,MAAM,EAAE,YAAY;QACjC,YAAY,GAAG,EAAE,EACjB,iBAAiB,GAAG,GAAG,GACxB,GAAG,OAAO,CAAC;QAEZ,IAAI,CAAC,OAAO,GAAG;YACb,UAAU;YACV,UAAU;YACV,YAAY;YACZ,iBAAiB;SAClB,CAAC;QAEF,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,GAAM;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,mBAAmB;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAEvC,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,yBAAyB;QACzB,KAAK,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;QAChC,KAAK,CAAC,UAAU,EAAE,CAAC;QAEnB,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,GAAM,EAAE,KAAQ,EAAE,WAAmB,CAAC;QACxC,uBAAuB;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK;YACL,YAAY,EAAE,IAAI,IAAI,EAAE;YACxB,YAAY,EAAE,IAAI,IAAI,EAAE;YACxB,UAAU,EAAE,CAAC;YACb,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAM;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,KAAoB;QACzC,IAAI,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,yBAAyB;QAChE,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,8BAA8B;QACpE,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,oBAAoB;IACtD,CAAC;IAED;;OAEG;IACK,KAAK;QACX,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAE1C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEjC,+BAA+B;QAC/B,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAChC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,CACjE,CAAC;QACF,gDAAgD;QAEhD,mBAAmB;QACnB,IAAI,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC9F,2BAA2B;YAC3B,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;YAEtF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC;YACD,OAAO;QACT,CAAC;QAED,iDAAiD;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;QAElF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;YACvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,mBAAmB;IAChC,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACrC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC/B,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,aAAqB,GAAG;IACzD,OAAO,IAAI,aAAa,CAAC;QACvB,UAAU;QACV,UAAU,EAAE,MAAM,EAAE,YAAY;QAChC,YAAY,EAAE,EAAE;QAChB,iBAAiB,EAAE,GAAG;KACvB,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,aAAqB,EAAE;IACtD,OAAO,IAAI,aAAa,CAAC;QACvB,UAAU;QACV,UAAU,EAAE,KAAK,EAAE,WAAW;QAC9B,YAAY,EAAE,CAAC;QACf,iBAAiB,EAAE,GAAG;KACvB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Performance monitoring utilities for measuring and analyzing operation metrics
3
+ */
4
+ export interface PerformanceMetrics {
5
+ avg: number;
6
+ p50: number;
7
+ p95: number;
8
+ p99: number;
9
+ min: number;
10
+ max: number;
11
+ count: number;
12
+ }
13
+ /**
14
+ * Monitor performance of operations with percentile tracking
15
+ */
16
+ export declare class PerformanceMonitor {
17
+ private metrics;
18
+ private readonly maxSamples;
19
+ constructor(options?: {
20
+ maxSamples?: number;
21
+ });
22
+ /**
23
+ * Measure and record duration of an async operation
24
+ */
25
+ measure<T>(name: string, fn: () => Promise<T>): Promise<T>;
26
+ /**
27
+ * Record a metric directly
28
+ */
29
+ record(metric: string, duration: number): void;
30
+ /**
31
+ * Get statistics for a metric
32
+ */
33
+ getStats(metric: string): PerformanceMetrics | null;
34
+ /**
35
+ * Get all metric names
36
+ */
37
+ getMetrics(): string[];
38
+ /**
39
+ * Clear all metrics
40
+ */
41
+ clear(): void;
42
+ /**
43
+ * Export metrics as JSON
44
+ */
45
+ exportMetrics(): Record<string, PerformanceMetrics>;
46
+ }
47
+ export declare function getPerformanceMonitor(): PerformanceMonitor;
48
+ /**
49
+ * Helper to wrap any function with performance monitoring
50
+ */
51
+ export declare function monitorFunction<T extends (...args: unknown[]) => Promise<unknown>>(fn: T, name?: string): T;
52
+ //# sourceMappingURL=performance-monitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance-monitor.d.ts","sourceRoot":"","sources":["../../src/utils/performance-monitor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAI7C;;OAEG;IACG,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAUhE;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAa9C;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IAkBnD;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE;IAItB;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC;CAYpD;AAOD,wBAAgB,qBAAqB,IAAI,kBAAkB,CAK1D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,EAChF,EAAE,EAAE,CAAC,EACL,IAAI,CAAC,EAAE,MAAM,GACZ,CAAC,CAOH"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Performance monitoring utilities for measuring and analyzing operation metrics
3
+ */
4
+ /**
5
+ * Monitor performance of operations with percentile tracking
6
+ */
7
+ export class PerformanceMonitor {
8
+ metrics = new Map();
9
+ maxSamples;
10
+ constructor(options) {
11
+ this.maxSamples = options?.maxSamples ?? 1000;
12
+ }
13
+ /**
14
+ * Measure and record duration of an async operation
15
+ */
16
+ async measure(name, fn) {
17
+ const start = performance.now();
18
+ try {
19
+ return await fn();
20
+ }
21
+ finally {
22
+ const duration = performance.now() - start;
23
+ this.record(name, duration);
24
+ }
25
+ }
26
+ /**
27
+ * Record a metric directly
28
+ */
29
+ record(metric, duration) {
30
+ const entries = this.metrics.get(metric) || [];
31
+ entries.push(duration);
32
+ // Keep last N samples
33
+ if (entries.length > this.maxSamples) {
34
+ entries.shift();
35
+ }
36
+ this.metrics.set(metric, entries);
37
+ }
38
+ /**
39
+ * Get statistics for a metric
40
+ */
41
+ getStats(metric) {
42
+ const entries = this.metrics.get(metric);
43
+ if (!entries || entries.length === 0)
44
+ return null;
45
+ const sorted = [...entries].sort((a, b) => a - b);
46
+ const count = sorted.length;
47
+ return {
48
+ avg: sorted.reduce((a, b) => a + b, 0) / count,
49
+ p50: sorted[Math.floor(count * 0.5)] ?? 0,
50
+ p95: sorted[Math.floor(count * 0.95)] ?? 0,
51
+ p99: sorted[Math.floor(count * 0.99)] ?? 0,
52
+ min: sorted[0] ?? 0,
53
+ max: sorted[count - 1] ?? 0,
54
+ count,
55
+ };
56
+ }
57
+ /**
58
+ * Get all metric names
59
+ */
60
+ getMetrics() {
61
+ return [...this.metrics.keys()];
62
+ }
63
+ /**
64
+ * Clear all metrics
65
+ */
66
+ clear() {
67
+ this.metrics.clear();
68
+ }
69
+ /**
70
+ * Export metrics as JSON
71
+ */
72
+ exportMetrics() {
73
+ const result = {};
74
+ for (const metric of this.metrics.keys()) {
75
+ const stats = this.getStats(metric);
76
+ if (stats) {
77
+ result[metric] = stats;
78
+ }
79
+ }
80
+ return result;
81
+ }
82
+ }
83
+ /**
84
+ * Global performance monitor instance
85
+ */
86
+ let globalMonitor = null;
87
+ export function getPerformanceMonitor() {
88
+ if (!globalMonitor) {
89
+ globalMonitor = new PerformanceMonitor();
90
+ }
91
+ return globalMonitor;
92
+ }
93
+ /**
94
+ * Helper to wrap any function with performance monitoring
95
+ */
96
+ export function monitorFunction(fn, name) {
97
+ const monitor = getPerformanceMonitor();
98
+ const metricName = (name ?? fn.name) || 'anonymous';
99
+ return (async (...args) => {
100
+ return monitor.measure(metricName, async () => await fn(...args));
101
+ });
102
+ }
103
+ //# sourceMappingURL=performance-monitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance-monitor.js","sourceRoot":"","sources":["../../src/utils/performance-monitor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH;;GAEG;AACH,MAAM,OAAO,kBAAkB;IACrB,OAAO,GAA0B,IAAI,GAAG,EAAE,CAAC;IAClC,UAAU,CAAS;IAEpC,YAAY,OAAiC;QAC3C,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,IAAI,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAI,IAAY,EAAE,EAAoB;QACjD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;gBAAS,CAAC;YACT,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAc,EAAE,QAAgB;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAE/C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvB,sBAAsB;QACtB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,MAAc;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAElD,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAE5B,OAAO;YACL,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK;YAC9C,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC;YACzC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC;YAC1C,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC;YAC1C,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YACnB,GAAG,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC;YAC3B,KAAK;SACN,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,aAAa;QACX,MAAM,MAAM,GAAuC,EAAE,CAAC;QAEtD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YACzB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED;;GAEG;AACH,IAAI,aAAa,GAA8B,IAAI,CAAC;AAEpD,MAAM,UAAU,qBAAqB;IACnC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,aAAa,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAC3C,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,EAAK,EACL,IAAa;IAEb,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IACxC,MAAM,UAAU,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC;IAEpD,OAAO,CAAC,KAAK,EAAE,GAAG,IAAmB,EAA0B,EAAE;QAC/D,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAkB,CAAC;IACrF,CAAC,CAAM,CAAC;AACV,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miller-tech/uap",
3
- "version": "1.5.5",
3
+ "version": "1.5.7",
4
4
  "description": "Autonomous AI agent memory system with CLAUDE.md protocol enforcement",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",