@yuhere/js-jsonrpc2 2.1.9 → 2.1.11

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 (53) hide show
  1. package/README.md +10 -2
  2. package/SKILL.md +21 -3
  3. package/dist/cli/cli.js +9 -1
  4. package/dist/cli/cli.js.map +1 -1
  5. package/dist/cli/demo-methods.d.ts.map +1 -1
  6. package/dist/cli/demo-methods.js +24 -25
  7. package/dist/cli/demo-methods.js.map +1 -1
  8. package/dist/core/Repository.d.ts +3 -7
  9. package/dist/core/Repository.d.ts.map +1 -1
  10. package/dist/core/Repository.js +159 -19
  11. package/dist/core/Repository.js.map +1 -1
  12. package/dist/core/descriptor.d.ts.map +1 -1
  13. package/dist/core/llm-tools.d.ts.map +1 -1
  14. package/dist/core/llm-tools.js +19 -14
  15. package/dist/core/llm-tools.js.map +1 -1
  16. package/dist/core/system-methods.d.ts.map +1 -1
  17. package/dist/core/system-methods.js +22 -6
  18. package/dist/core/system-methods.js.map +1 -1
  19. package/dist/metrics/memory.d.ts +59 -0
  20. package/dist/metrics/memory.d.ts.map +1 -0
  21. package/dist/metrics/memory.js +188 -0
  22. package/dist/metrics/memory.js.map +1 -0
  23. package/dist/metrics/prom.d.ts +1 -0
  24. package/dist/metrics/prom.d.ts.map +1 -0
  25. package/dist/metrics/prom.js +105 -0
  26. package/dist/metrics/prom.js.map +1 -0
  27. package/dist/schema/json/index.d.ts +1 -0
  28. package/dist/schema/json/index.d.ts.map +1 -1
  29. package/dist/schema/json/primitives.d.ts +81 -42
  30. package/dist/schema/json/primitives.d.ts.map +1 -1
  31. package/dist/schema/json/primitives.js +95 -67
  32. package/dist/schema/json/primitives.js.map +1 -1
  33. package/dist/schema/z/protocol.d.ts +1 -1
  34. package/dist/transport/express/middleware.d.ts +1 -1
  35. package/dist/transport/express/middleware.d.ts.map +1 -1
  36. package/dist/types.d.ts +26 -0
  37. package/dist/types.d.ts.map +1 -1
  38. package/htdoc/assets/{index-BAZmvr5x.css → index-Ck-39Igh.css} +221 -0
  39. package/htdoc/assets/{index-sVQlhxjI.js → index-Cr0Jnrgb.js} +716 -35
  40. package/htdoc/assets/index-Cr0Jnrgb.js.map +1 -0
  41. package/htdoc/index.html +2 -2
  42. package/package.json +3 -3
  43. package/webui/src/App.tsx +101 -20
  44. package/webui/src/api/glob.ts +90 -0
  45. package/webui/src/api/metrics.ts +135 -0
  46. package/webui/src/api/paramForm.ts +4 -3
  47. package/webui/src/components/MetricsPanel.md +126 -0
  48. package/webui/src/components/MetricsPanel.tsx +290 -0
  49. package/webui/src/components/SchemaForm.tsx +29 -27
  50. package/webui/src/components/SchemaView.tsx +3 -3
  51. package/webui/src/hooks/useMetrics.ts +91 -0
  52. package/webui/src/styles/geek.css +221 -0
  53. package/htdoc/assets/index-sVQlhxjI.js.map +0 -1
@@ -8,6 +8,7 @@ import { registerSystemMethods } from './system-methods.js';
8
8
  import { listLlmTools, invokeLlmTool } from './llm-tools.js';
9
9
  import { registerSchema } from '../schema/z/register.js';
10
10
  import { RPCVersion } from '../schema/z/protocol.js';
11
+ import { createMemoryMetrics } from '../metrics/memory.js';
11
12
  function formatRegisterIssues(error) {
12
13
  return error.issues
13
14
  .map((issue) => {
@@ -19,13 +20,33 @@ function formatRegisterIssues(error) {
19
20
  function isAsyncIterable(v) {
20
21
  return v != null && typeof v[Symbol.asyncIterator] === 'function';
21
22
  }
23
+ function safeMetrics(fn) {
24
+ if (!fn)
25
+ return;
26
+ try {
27
+ fn();
28
+ }
29
+ catch (error) {
30
+ if (process.env['NODE_ENV'] !== 'production') {
31
+ console.error('RPCMetrics hook threw', error);
32
+ }
33
+ }
34
+ }
35
+ function now() {
36
+ return typeof performance !== 'undefined' ? performance.now() : Date.now();
37
+ }
22
38
  export class Repository {
23
39
  methods = new Map();
40
+ metrics;
24
41
  constructor(options = {}) {
42
+ this.metrics = options.metrics || createMemoryMetrics();
25
43
  if (options.withSystemMethods !== false) {
26
44
  registerSystemMethods(this);
27
45
  }
28
46
  }
47
+ getMetrics() {
48
+ return this.metrics;
49
+ }
29
50
  register(descriptor, fn) {
30
51
  const result = registerSchema.safeParse([descriptor, fn]);
31
52
  if (!result.success) {
@@ -48,8 +69,17 @@ export class Repository {
48
69
  }
49
70
  async invoke(input, options = {}) {
50
71
  const { injections = {}, errorTransform } = options;
72
+ const metrics = this.metrics;
73
+ const startedAt = metrics ? now() : 0;
74
+ let methodForMetrics = '<invalid>';
75
+ let callStartEmitted = false;
51
76
  try {
52
77
  const request = validateRequest(input);
78
+ methodForMetrics = request.method;
79
+ if (metrics) {
80
+ callStartEmitted = true;
81
+ safeMetrics(() => metrics.onCallStart({ method: methodForMetrics }));
82
+ }
53
83
  const id = request.id;
54
84
  try {
55
85
  const descriptor = lookup(this.methods, request.method);
@@ -59,35 +89,98 @@ export class Repository {
59
89
  const result = await descriptor.fn.apply(descriptor, converted);
60
90
  const isStreamReturn = descriptor.shouldStreamReturn && isAsyncIterable(result);
61
91
  if (isStreamReturn) {
62
- return this.streamSuccess(id, result);
92
+ if (metrics) {
93
+ const durationSeconds = (now() - startedAt) / 1000;
94
+ safeMetrics(() => metrics.onCallEnd({
95
+ method: methodForMetrics,
96
+ status: 'stream_opened',
97
+ durationSeconds,
98
+ }));
99
+ safeMetrics(() => metrics.onStreamEvent?.({
100
+ method: methodForMetrics,
101
+ event: 'opened',
102
+ chunks: 0,
103
+ durationSeconds,
104
+ }));
105
+ }
106
+ return this.streamSuccess(id, result, methodForMetrics, startedAt);
107
+ }
108
+ if (metrics) {
109
+ const durationSeconds = (now() - startedAt) / 1000;
110
+ safeMetrics(() => metrics.onCallEnd({
111
+ method: methodForMetrics,
112
+ status: 'success',
113
+ durationSeconds,
114
+ }));
63
115
  }
64
116
  return { jsonrpc: RPCVersion, id, result };
65
117
  }
66
118
  catch (e0) {
67
119
  if (errorTransform) {
68
120
  const transformed = errorTransform(e0);
69
- if (transformed)
121
+ if (transformed) {
122
+ if (metrics) {
123
+ const durationSeconds = (now() - startedAt) / 1000;
124
+ safeMetrics(() => metrics.onCallEnd({
125
+ method: methodForMetrics,
126
+ status: 'error',
127
+ code: transformed.code,
128
+ durationSeconds,
129
+ }));
130
+ }
70
131
  return this.failure(id, transformed);
132
+ }
71
133
  }
72
134
  throw e0;
73
135
  }
74
136
  }
75
137
  catch (error) {
76
138
  if (error instanceof RPCError) {
139
+ if (metrics) {
140
+ const durationSeconds = (now() - startedAt) / 1000;
141
+ safeMetrics(() => metrics.onCallEnd({
142
+ method: methodForMetrics,
143
+ status: 'error',
144
+ code: error.code,
145
+ durationSeconds,
146
+ }));
147
+ }
77
148
  return this.failure(id, error);
78
149
  }
79
150
  const message = error instanceof Error ? error.message : String(error);
80
151
  if (process.env['NODE_ENV'] !== 'production') {
81
152
  console.error('Internal JSON-RPC error when invoke method', message, error);
82
153
  }
154
+ if (metrics) {
155
+ const durationSeconds = (now() - startedAt) / 1000;
156
+ safeMetrics(() => metrics.onCallEnd({
157
+ method: methodForMetrics,
158
+ status: 'error',
159
+ code: INTERNAL_ERROR,
160
+ durationSeconds,
161
+ }));
162
+ }
83
163
  return this.failure(id, new RPCError(INTERNAL_ERROR, 'Internal error', message));
84
164
  }
85
165
  }
86
166
  catch (e1) {
87
- if (e1 instanceof RPCError) { //
167
+ if (metrics) {
168
+ if (!callStartEmitted) {
169
+ callStartEmitted = true;
170
+ safeMetrics(() => metrics.onCallStart({ method: '<invalid>' }));
171
+ }
172
+ const durationSeconds = (now() - startedAt) / 1000;
173
+ const code = e1 instanceof RPCError ? e1.code : INTERNAL_ERROR;
174
+ safeMetrics(() => metrics.onCallEnd({
175
+ method: methodForMetrics,
176
+ status: 'error',
177
+ code,
178
+ durationSeconds,
179
+ }));
180
+ }
181
+ if (e1 instanceof RPCError) {
88
182
  return this.failure(null, new RPCError(INVALID_REQUEST, 'Invalid Request', e1.message));
89
183
  }
90
- // ##############
91
184
  const message = e1 instanceof Error ? e1.message : String(e1);
92
185
  if (process.env['NODE_ENV'] !== 'production') {
93
186
  console.error('Internal JSON-RPC error when invoke method', message, e1);
@@ -101,47 +194,94 @@ export class Repository {
101
194
  async listLlmTools(injections, rawOptions) {
102
195
  return listLlmTools(this, injections, rawOptions);
103
196
  }
104
- /**
105
- * 把 handler 返回的 AsyncGenerator 包装成待消费的 chunk 流。
106
- * 每帧都是完整的 RPCStreamChunk(含 jsonrpc/id)。
107
- * 不做 chunk 的 schema 校验(按约定)。
108
- * 正常结束发 {done:true,index};异常终止发 {done:true,index?,error}。
109
- */
110
- async *streamChunks(id, source) {
111
- let index = 0;
197
+ async *streamChunks(id, source, method, startedAt) {
198
+ const metrics = this.metrics;
199
+ const streamStart = metrics ? now() : 0;
200
+ let timeToFirstChunk;
201
+ let chunks = 0;
202
+ let completed = false;
203
+ let failure;
112
204
  try {
113
205
  while (true) {
114
206
  const step = await source.next();
115
207
  if (step.done) {
116
- yield { jsonrpc: RPCVersion, id, done: true, index };
208
+ yield { jsonrpc: RPCVersion, id, done: true, index: chunks };
209
+ completed = true;
117
210
  return;
118
211
  }
119
- yield { jsonrpc: RPCVersion, id, done: false, index: index++, value: step.value };
212
+ if (chunks === 0 && metrics) {
213
+ timeToFirstChunk = (now() - streamStart) / 1000;
214
+ }
215
+ yield { jsonrpc: RPCVersion, id, done: false, index: chunks++, value: step.value };
120
216
  }
121
217
  }
122
218
  catch (error) {
123
- const message = error instanceof Error ? error.message : String(error);
219
+ failure = error instanceof Error ? error : new Error(String(error));
220
+ const message = failure.message;
124
221
  const code = error instanceof RPCError ? error.code : INTERNAL_ERROR;
125
222
  if (process.env['NODE_ENV'] !== 'production' && !(error instanceof RPCError)) {
126
223
  console.error('Internal JSON-RPC stream error', message, error);
127
224
  }
128
- yield { jsonrpc: RPCVersion, id, done: true, index, error: { code, message } };
225
+ yield { jsonrpc: RPCVersion, id, done: true, index: chunks, error: { code, message } };
226
+ if (metrics) {
227
+ const phase = chunks === 0 ? 'before_first_chunk' : 'mid_stream';
228
+ const durationSeconds = (now() - streamStart) / 1000;
229
+ safeMetrics(() => metrics.onStreamEvent?.({
230
+ method,
231
+ event: 'failed',
232
+ phase,
233
+ chunks,
234
+ durationSeconds,
235
+ ...(timeToFirstChunk !== undefined ? { timeToFirstChunkSeconds: timeToFirstChunk } : {}),
236
+ }));
237
+ if (phase === 'before_first_chunk') {
238
+ // 首帧即失败:onCallEnd 已由 stream_opened 发过,这里补一次 stream_error
239
+ // 让调用方按 status 区分(stream_opened 只减 inflight,stream_error 记 errors)
240
+ safeMetrics(() => metrics.onCallEnd({
241
+ method,
242
+ status: 'stream_error',
243
+ code,
244
+ durationSeconds: (now() - startedAt) / 1000,
245
+ }));
246
+ }
247
+ }
248
+ return;
129
249
  }
130
250
  finally {
131
- // 客户端断开或异常时,尽量让 handler 侧能感知并清理。
132
251
  try {
133
252
  await source.return?.(undefined);
134
253
  }
135
254
  catch {
136
255
  /* ignore cleanup errors */
137
256
  }
257
+ if (metrics) {
258
+ const durationSeconds = (now() - streamStart) / 1000;
259
+ if (completed) {
260
+ safeMetrics(() => metrics.onStreamEvent?.({
261
+ method,
262
+ event: 'completed',
263
+ chunks,
264
+ durationSeconds,
265
+ ...(timeToFirstChunk !== undefined ? { timeToFirstChunkSeconds: timeToFirstChunk } : {}),
266
+ }));
267
+ }
268
+ else if (!failure) {
269
+ safeMetrics(() => metrics.onStreamEvent?.({
270
+ method,
271
+ event: 'aborted',
272
+ chunks,
273
+ durationSeconds,
274
+ ...(timeToFirstChunk !== undefined ? { timeToFirstChunkSeconds: timeToFirstChunk } : {}),
275
+ }));
276
+ }
277
+ }
138
278
  }
139
279
  }
140
- streamSuccess(id, source) {
280
+ streamSuccess(id, source, method, startedAt) {
141
281
  return {
142
282
  jsonrpc: RPCVersion,
143
283
  id,
144
- chunks: this.streamChunks(id, source),
284
+ chunks: this.streamChunks(id, source, method, startedAt),
145
285
  };
146
286
  }
147
287
  failure(id, error) {
@@ -1 +1 @@
1
- {"version":3,"file":"Repository.js","sourceRoot":"","sources":["../../src/core/Repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Repository.js","sourceRoot":"","sources":["../../src/core/Repository.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"descriptor.d.ts","sourceRoot":"","sources":["../../src/core/descriptor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAA8C,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAA+B,MAAM,UAAU,CAAC;AAErG,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,EAAE,EAAE,UAAU,CAAC;IACf,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,YAAY,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAgBD,wBAAgB,eAAe,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,EAAE,UAAU,GAAG,gBAAgB,CAwC3F;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,EAAE,CAYnE;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAM/F;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAEvE"}
1
+ {"version":3,"file":"descriptor.d.ts","sourceRoot":"","sources":["../../src/core/descriptor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAA8C,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAgB,MAAM,UAAU,CAAC;AAEtF,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,EAAE,EAAE,UAAU,CAAC;IACf,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,YAAY,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAgBD,wBAAgB,eAAe,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,EAAE,UAAU,GAAG,gBAAgB,CAwC3F;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,EAAE,CAYnE;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAM/F;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAEvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"llm-tools.d.ts","sourceRoot":"","sources":["../../src/core/llm-tools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,KAAK,EAGR,WAAW,EAAE,QAAQ,EAAE,UAAU,EACpC,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,UAAU;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,oBAAoB,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAC5C,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AA0GD,wBAAsB,YAAY,CAC9B,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,UAAU,CAAC,EAAE,OAAO,GACrB,OAAO,CAAC,QAAQ,CAAC,CAiEnB;AAED,wBAAsB,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CA2CvH"}
1
+ {"version":3,"file":"llm-tools.d.ts","sourceRoot":"","sources":["../../src/core/llm-tools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,KAAK,EAGR,WAAW,EAAE,QAAQ,EAAE,UAAU,EACpC,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,UAAU;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,oBAAoB,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAC5C,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAgHD,wBAAsB,YAAY,CAC9B,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,UAAU,CAAC,EAAE,OAAO,GACrB,OAAO,CAAC,QAAQ,CAAC,CAiEnB;AAED,wBAAsB,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CA2CvH"}
@@ -35,7 +35,7 @@ function convert(desc) {
35
35
  case 'literal': {
36
36
  const value = desc.constraints.value;
37
37
  out.const = value;
38
- out.type = value === null ? 'null' : typeof value;
38
+ out.type = typeof value; // string | number | boolean
39
39
  break;
40
40
  }
41
41
  case 'enum': {
@@ -93,26 +93,31 @@ function convert(desc) {
93
93
  out.anyOf = options.map(convert);
94
94
  break;
95
95
  }
96
- case 'nullable': {
97
- const inner = convert(desc.children.inner);
98
- if (typeof inner.type === 'string') {
99
- inner.type = [inner.type, 'null'];
100
- }
101
- else if (Array.isArray(inner.type)) {
102
- inner.type = [...inner.type, 'null'];
103
- }
104
- else {
105
- inner.nullable = true;
106
- }
107
- return inner;
108
- }
109
96
  case 'unknown': {
110
97
  out.type = ['object', 'array', 'string', 'number', 'boolean', 'null'];
111
98
  break;
112
99
  }
100
+ case 'null': {
101
+ out.type = 'null';
102
+ break;
103
+ }
113
104
  default:
114
105
  throw new Error(`Unsupported schema kind for JSON Schema: ${desc.kind}`);
115
106
  }
107
+ if (desc.nullable) {
108
+ if (desc.kind === 'unknown' || desc.kind === 'null') {
109
+ // unknown 已包含 null;null 本身就是 null。不追加。
110
+ }
111
+ else if (typeof out.type === 'string') {
112
+ out.type = [out.type, 'null'];
113
+ }
114
+ else if (Array.isArray(out.type)) {
115
+ out.type = out.type.includes('null') ? out.type : [...out.type, 'null'];
116
+ }
117
+ else {
118
+ out.nullable = true;
119
+ }
120
+ }
116
121
  return out;
117
122
  }
118
123
  export async function listLlmTools(repository, injections, rawOptions) {
@@ -1 +1 @@
1
- {"version":3,"file":"llm-tools.js","sourceRoot":"","sources":["../../src/core/llm-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-tools.js","sourceRoot":"","sources":["../../src/core/llm-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"system-methods.d.ts","sourceRoot":"","sources":["../../src/core/system-methods.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAO/C,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAmGlE"}
1
+ {"version":3,"file":"system-methods.d.ts","sourceRoot":"","sources":["../../src/core/system-methods.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAO/C,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAwHlE"}
@@ -9,8 +9,8 @@ export function registerSystemMethods(repository) {
9
9
  repository.register({
10
10
  namespace: 'system.listMethods',
11
11
  document: 'This method returns an array of strings, one for each method supported by the RPC server.',
12
- signature: [s.array(s.string()), s.injectable('injections')],
13
- }, async function systemListMethods(injections) {
12
+ signature: [s.array(s.string()), s.injectable('repository'), s.injectable('injections')],
13
+ }, async function systemListMethods(repository, injections) {
14
14
  const visible = [];
15
15
  for (const name of repository.list()) {
16
16
  const descriptor = repository.get(name);
@@ -34,8 +34,8 @@ export function registerSystemMethods(repository) {
34
34
  'It returns an array of possible signatures for this method.\n' +
35
35
  'A signature is an array of types.\n' +
36
36
  'The first of these types is the return type of the method, the rest are parameters.\n',
37
- signature: [s.array(s.unknown()), s.string(), s.injectable('injections')],
38
- }, async function systemMethodSignature(namespace, injections) {
37
+ signature: [s.array(s.unknown()), s.string(), s.injectable('repository'), s.injectable('injections')],
38
+ }, async function systemMethodSignature(namespace, repository, injections) {
39
39
  const descriptor = repository.get(namespace);
40
40
  if (!descriptor)
41
41
  throw notFound(namespace);
@@ -48,8 +48,8 @@ export function registerSystemMethods(repository) {
48
48
  'It returns a documentation string describing the use of that method.\n' +
49
49
  'If no such string is available, an empty string is returned.\n' +
50
50
  'The documentation string may contain HTML markup.\n',
51
- signature: [s.string(), s.string(), s.injectable('injections')],
52
- }, async function systemMethodHelp(namespace, injections) {
51
+ signature: [s.string(), s.string(), s.injectable('repository'), s.injectable('injections')],
52
+ }, async function systemMethodHelp(namespace, repository, injections) {
53
53
  const descriptor = repository.get(namespace);
54
54
  if (!descriptor)
55
55
  throw notFound(namespace);
@@ -60,6 +60,22 @@ export function registerSystemMethods(repository) {
60
60
  }
61
61
  return document === undefined ? null : document;
62
62
  });
63
+ repository.register({
64
+ namespace: 'system.metrics',
65
+ document: 'This method takes one parameter, the name of a method implemented by the RPC server.\n\n' +
66
+ 'It returns a documentation string describing the use of that method.\n' +
67
+ 'If no such string is available, an empty string is returned.\n' +
68
+ 'The documentation string may contain HTML markup.\n',
69
+ signature: [s.unknown(), s.injectable('repository')],
70
+ }, async function systemMetrics(repository) {
71
+ function hasSnapshot(m) {
72
+ return !!m && typeof m.snapshot === 'function';
73
+ }
74
+ const metrics = repository.getMetrics();
75
+ if (hasSnapshot(metrics)) {
76
+ return metrics.snapshot();
77
+ }
78
+ });
63
79
  repository.register({
64
80
  namespace: 'llm.tools',
65
81
  document: 'Generate OpenAI-style tool/function definitions for all methods the caller can invoke.\n\n' +
@@ -1 +1 @@
1
- {"version":3,"file":"system-methods.js","sourceRoot":"","sources":["../../src/core/system-methods.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-methods.js","sourceRoot":"","sources":["../../src/core/system-methods.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import type { RPCMetrics } from '../types.js';
2
+ export interface HistogramSnapshot {
3
+ count: number;
4
+ sum: number;
5
+ min: number;
6
+ max: number;
7
+ /** 上界(含)→ 累计计数;最后一个桶是 +Inf。 */
8
+ buckets: Array<{
9
+ le: number;
10
+ count: number;
11
+ }>;
12
+ }
13
+ export interface MethodStats {
14
+ /** 调用总数(含成功与失败)。 */
15
+ calls: number;
16
+ /** 按 status 分组的调用数。 */
17
+ callsByStatus: Record<string, number>;
18
+ /** 按 error code 分组的错误数。 */
19
+ errorsByCode: Record<string, number>;
20
+ /** 普通(非流式)调用的耗时分布。 */
21
+ duration: HistogramSnapshot;
22
+ /** 流式调用计数。 */
23
+ streams: {
24
+ opened: number;
25
+ completed: number;
26
+ failed: number;
27
+ failedByPhase: Record<string, number>;
28
+ aborted: number;
29
+ };
30
+ /** 流式总时长分布。 */
31
+ streamDuration: HistogramSnapshot;
32
+ /** 首帧延迟分布。 */
33
+ streamTimeToFirstChunk: HistogramSnapshot;
34
+ /** 流式产出帧数总计(用于算均值)。 */
35
+ streamChunksTotal: number;
36
+ }
37
+ export interface MetricsSnapshot {
38
+ /** 进程启动到现在的毫秒数(用于计算速率)。 */
39
+ uptimeMs: number;
40
+ /** 按 method 聚合。 */
41
+ methods: Record<string, MethodStats>;
42
+ /** 无效请求(validateRequest 失败)的计数。 */
43
+ invalidRequests: number;
44
+ }
45
+ export interface MemoryMetricsOptions {
46
+ /**
47
+ * 允许对 method 名做归一化,用于合并高基数的方法名
48
+ * (例如 `user.get.42` → `user.get`)。默认原样返回。
49
+ */
50
+ normalizeMethod?: (method: string) => string;
51
+ }
52
+ export interface MemoryMetrics extends RPCMetrics {
53
+ /** 当前聚合状态的深拷贝快照。 */
54
+ snapshot(): MetricsSnapshot;
55
+ /** 清空所有计数(保留正常使用)。 */
56
+ reset(): void;
57
+ }
58
+ export declare function createMemoryMetrics(options?: MemoryMetricsOptions): MemoryMetrics;
59
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/metrics/memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAuB3C,MAAM,WAAW,iBAAiB;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,+BAA+B;IAC/B,OAAO,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,WAAW;IACxB,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,2BAA2B;IAC3B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,sBAAsB;IACtB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,cAAc;IACd,OAAO,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,OAAO,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,eAAe;IACf,cAAc,EAAE,iBAAiB,CAAC;IAClC,cAAc;IACd,sBAAsB,EAAE,iBAAiB,CAAC;IAC1C,uBAAuB;IACvB,iBAAiB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC5B,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrC,mCAAmC;IACnC,eAAe,EAAE,MAAM,CAAC;CAC3B;AAiGD,MAAM,WAAW,oBAAoB;IACjC;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;CAChD;AAED,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC7C,oBAAoB;IACpB,QAAQ,IAAI,eAAe,CAAC;IAC5B,sBAAsB;IACtB,KAAK,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,mBAAmB,CAC/B,OAAO,GAAE,oBAAyB,GACnC,aAAa,CAwHf"}