@pikku/inspector 0.9.6-next.0 → 0.10.1

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/CHANGELOG.md +14 -0
  2. package/dist/add/add-channel.d.ts +5 -1
  3. package/dist/add/add-channel.js +51 -32
  4. package/dist/add/add-cli.d.ts +4 -0
  5. package/dist/add/add-cli.js +128 -23
  6. package/dist/add/add-file-extends-core-type.js +3 -2
  7. package/dist/add/add-file-with-factory.d.ts +2 -2
  8. package/dist/add/add-file-with-factory.js +87 -1
  9. package/dist/add/add-functions.js +52 -5
  10. package/dist/add/add-http-route.js +19 -12
  11. package/dist/add/add-mcp-prompt.js +20 -13
  12. package/dist/add/add-mcp-resource.js +24 -14
  13. package/dist/add/add-mcp-tool.js +23 -13
  14. package/dist/add/add-middleware.js +51 -12
  15. package/dist/add/add-permission.d.ts +1 -2
  16. package/dist/add/add-permission.js +275 -19
  17. package/dist/add/add-queue-worker.js +10 -12
  18. package/dist/add/add-schedule.js +9 -10
  19. package/dist/error-codes.d.ts +35 -0
  20. package/dist/error-codes.js +40 -0
  21. package/dist/index.d.ts +4 -0
  22. package/dist/index.js +3 -0
  23. package/dist/inspector.js +20 -1
  24. package/dist/types.d.ts +31 -3
  25. package/dist/utils/ensure-function-metadata.d.ts +6 -0
  26. package/dist/utils/ensure-function-metadata.js +18 -0
  27. package/dist/utils/extract-function-name.d.ts +2 -2
  28. package/dist/utils/extract-function-name.js +13 -8
  29. package/dist/utils/filter-inspector-state.d.ts +6 -0
  30. package/dist/utils/filter-inspector-state.js +382 -0
  31. package/dist/utils/filter-utils.d.ts +10 -0
  32. package/dist/utils/filter-utils.js +66 -2
  33. package/dist/utils/find-root-dir.d.ts +23 -0
  34. package/dist/utils/find-root-dir.js +55 -0
  35. package/dist/utils/get-files-and-methods.d.ts +2 -1
  36. package/dist/utils/get-files-and-methods.js +4 -3
  37. package/dist/utils/get-property-value.d.ts +9 -0
  38. package/dist/utils/get-property-value.js +20 -0
  39. package/dist/utils/middleware.d.ts +1 -1
  40. package/dist/utils/middleware.js +7 -7
  41. package/dist/utils/permissions.d.ts +43 -0
  42. package/dist/utils/permissions.js +178 -0
  43. package/dist/utils/post-process.d.ts +16 -0
  44. package/dist/utils/post-process.js +132 -0
  45. package/dist/utils/serialize-inspector-state.d.ts +179 -0
  46. package/dist/utils/serialize-inspector-state.js +170 -0
  47. package/dist/visit.js +3 -2
  48. package/package.json +4 -4
  49. package/src/add/add-channel.ts +92 -40
  50. package/src/add/add-cli.ts +188 -29
  51. package/src/add/add-file-extends-core-type.ts +5 -2
  52. package/src/add/add-file-with-factory.ts +114 -2
  53. package/src/add/add-functions.ts +60 -5
  54. package/src/add/add-http-route.ts +46 -21
  55. package/src/add/add-mcp-prompt.ts +42 -21
  56. package/src/add/add-mcp-prompt.ts.tmp +0 -0
  57. package/src/add/add-mcp-resource.ts +50 -24
  58. package/src/add/add-mcp-resource.ts.tmp +0 -0
  59. package/src/add/add-mcp-tool.ts +48 -21
  60. package/src/add/add-middleware.ts +74 -15
  61. package/src/add/add-permission.ts +364 -22
  62. package/src/add/add-queue-worker.ts +22 -25
  63. package/src/add/add-schedule.ts +19 -20
  64. package/src/error-codes.ts +43 -0
  65. package/src/index.ts +7 -0
  66. package/src/inspector.ts +22 -1
  67. package/src/types.ts +38 -3
  68. package/src/utils/ensure-function-metadata.ts +24 -0
  69. package/src/utils/extract-function-name.ts +20 -8
  70. package/src/utils/filter-inspector-state.test.ts +1433 -0
  71. package/src/utils/filter-inspector-state.ts +526 -0
  72. package/src/utils/filter-utils.test.ts +350 -1
  73. package/src/utils/filter-utils.ts +82 -2
  74. package/src/utils/find-root-dir.ts +68 -0
  75. package/src/utils/get-files-and-methods.ts +10 -2
  76. package/src/utils/get-property-value.ts +27 -0
  77. package/src/utils/middleware.ts +14 -7
  78. package/src/utils/permissions.test.ts +327 -0
  79. package/src/utils/permissions.ts +262 -0
  80. package/src/utils/post-process.ts +178 -0
  81. package/src/utils/serialize-inspector-state.ts +375 -0
  82. package/src/utils/test-data/inspector-state.json +1680 -0
  83. package/src/visit.ts +4 -2
  84. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,1680 @@
1
+ {
2
+ "rootDir": "src",
3
+ "singletonServicesTypeImportMap": [
4
+ [
5
+ "/Users/yasser/git/pikku/pikku/templates/functions/types/application-types.d.ts",
6
+ [
7
+ {
8
+ "variable": "SingletonServices",
9
+ "type": "SingletonServices",
10
+ "typePath": "/Users/yasser/git/pikku/pikku/templates/functions/types/application-types.d.ts"
11
+ }
12
+ ]
13
+ ]
14
+ ],
15
+ "sessionServicesTypeImportMap": [
16
+ [
17
+ "/Users/yasser/git/pikku/pikku/templates/functions/types/application-types.d.ts",
18
+ [
19
+ {
20
+ "variable": "Services",
21
+ "type": "Services",
22
+ "typePath": "/Users/yasser/git/pikku/pikku/templates/functions/types/application-types.d.ts"
23
+ }
24
+ ]
25
+ ]
26
+ ],
27
+ "userSessionTypeImportMap": [
28
+ [
29
+ "/Users/yasser/git/pikku/pikku/templates/functions/types/application-types.d.ts",
30
+ [
31
+ {
32
+ "variable": "UserSession",
33
+ "type": "UserSession",
34
+ "typePath": "/Users/yasser/git/pikku/pikku/templates/functions/types/application-types.d.ts"
35
+ }
36
+ ]
37
+ ]
38
+ ],
39
+ "configTypeImportMap": [
40
+ [
41
+ "/Users/yasser/git/pikku/pikku/templates/functions/types/application-types.d.ts",
42
+ [
43
+ {
44
+ "variable": "Config",
45
+ "type": "Config",
46
+ "typePath": "/Users/yasser/git/pikku/pikku/templates/functions/types/application-types.d.ts"
47
+ }
48
+ ]
49
+ ]
50
+ ],
51
+ "singletonServicesFactories": [
52
+ [
53
+ "src/services.ts",
54
+ [
55
+ {
56
+ "variable": "createSingletonServices",
57
+ "type": "CreateSingletonServices",
58
+ "typePath": "src/services.ts"
59
+ }
60
+ ]
61
+ ]
62
+ ],
63
+ "sessionServicesFactories": [
64
+ [
65
+ "src/services.ts",
66
+ [
67
+ {
68
+ "variable": "createSessionServices",
69
+ "type": "CreateSessionServices",
70
+ "typePath": "src/services.ts"
71
+ }
72
+ ]
73
+ ]
74
+ ],
75
+ "sessionServicesMeta": [["createSessionServices", []]],
76
+ "configFactories": [
77
+ [
78
+ "src/services.ts",
79
+ [
80
+ {
81
+ "variable": "createConfig",
82
+ "type": "CreateConfig",
83
+ "typePath": "src/services.ts"
84
+ }
85
+ ]
86
+ ]
87
+ ],
88
+ "filesAndMethods": {
89
+ "userSessionType": {
90
+ "file": "/Users/yasser/git/pikku/pikku/templates/functions/types/application-types.d.ts",
91
+ "type": "UserSession",
92
+ "variable": "UserSession",
93
+ "typePath": "/Users/yasser/git/pikku/pikku/templates/functions/types/application-types.d.ts"
94
+ },
95
+ "singletonServicesType": {
96
+ "file": "/Users/yasser/git/pikku/pikku/templates/functions/types/application-types.d.ts",
97
+ "type": "SingletonServices",
98
+ "variable": "SingletonServices",
99
+ "typePath": "/Users/yasser/git/pikku/pikku/templates/functions/types/application-types.d.ts"
100
+ },
101
+ "sessionServicesType": {
102
+ "file": "/Users/yasser/git/pikku/pikku/templates/functions/types/application-types.d.ts",
103
+ "type": "Services",
104
+ "variable": "Services",
105
+ "typePath": "/Users/yasser/git/pikku/pikku/templates/functions/types/application-types.d.ts"
106
+ },
107
+ "pikkuConfigType": {
108
+ "file": "/Users/yasser/git/pikku/pikku/templates/functions/types/application-types.d.ts",
109
+ "type": "Config",
110
+ "variable": "Config",
111
+ "typePath": "/Users/yasser/git/pikku/pikku/templates/functions/types/application-types.d.ts"
112
+ },
113
+ "pikkuConfigFactory": {
114
+ "file": "src/services.ts",
115
+ "type": "CreateConfig",
116
+ "variable": "createConfig",
117
+ "typePath": "src/services.ts"
118
+ },
119
+ "singletonServicesFactory": {
120
+ "file": "src/services.ts",
121
+ "type": "CreateSingletonServices",
122
+ "variable": "createSingletonServices",
123
+ "typePath": "src/services.ts"
124
+ },
125
+ "sessionServicesFactory": {
126
+ "file": "src/services.ts",
127
+ "type": "CreateSessionServices",
128
+ "variable": "createSessionServices",
129
+ "typePath": "src/services.ts"
130
+ }
131
+ },
132
+ "filesAndMethodsErrors": [],
133
+ "functions": {
134
+ "typesMap": {
135
+ "map": [
136
+ [
137
+ "__object_4eav85",
138
+ {
139
+ "originalName": "__object",
140
+ "path": "src/mcp.functions.ts"
141
+ }
142
+ ]
143
+ ],
144
+ "customTypes": [
145
+ [
146
+ "OnConnectInput",
147
+ {
148
+ "type": "\"hello!\"",
149
+ "references": []
150
+ }
151
+ ],
152
+ [
153
+ "AuthenticateInput",
154
+ {
155
+ "type": "{ token: string; userId: string; }",
156
+ "references": []
157
+ }
158
+ ],
159
+ [
160
+ "AuthenticateOutput",
161
+ {
162
+ "type": "{ authResult: boolean; action: \"auth\"; }",
163
+ "references": []
164
+ }
165
+ ],
166
+ [
167
+ "LogoutOutput",
168
+ {
169
+ "type": "{ action: \"auth\"; }",
170
+ "references": []
171
+ }
172
+ ],
173
+ [
174
+ "SubscribeInput",
175
+ {
176
+ "type": "{ name: string; }",
177
+ "references": []
178
+ }
179
+ ],
180
+ [
181
+ "UnsubscribeInput",
182
+ {
183
+ "type": "{ name: string; }",
184
+ "references": []
185
+ }
186
+ ],
187
+ [
188
+ "UnsubscribeOutput",
189
+ {
190
+ "type": "\"valid\"",
191
+ "references": []
192
+ }
193
+ ],
194
+ [
195
+ "EmitMessageInput",
196
+ {
197
+ "type": "{ name: string; }",
198
+ "references": []
199
+ }
200
+ ],
201
+ [
202
+ "EmitMessageOutput",
203
+ {
204
+ "type": "{ timestamp: string; from: string; } | { message: string; }",
205
+ "references": []
206
+ }
207
+ ],
208
+ [
209
+ "OnMessageInput",
210
+ {
211
+ "type": "\"hello\"",
212
+ "references": []
213
+ }
214
+ ],
215
+ [
216
+ "OnMessageOutput",
217
+ {
218
+ "type": "\"hey\"",
219
+ "references": []
220
+ }
221
+ ],
222
+ [
223
+ "GreetUserInput",
224
+ {
225
+ "type": "{ name: string; loud: boolean; }",
226
+ "references": []
227
+ }
228
+ ],
229
+ [
230
+ "GreetUserOutput",
231
+ {
232
+ "type": "{ message: string; timestamp: string; }",
233
+ "references": []
234
+ }
235
+ ],
236
+ [
237
+ "AddNumbersInput",
238
+ {
239
+ "type": "{ a: number; b: number; }",
240
+ "references": []
241
+ }
242
+ ],
243
+ [
244
+ "AddNumbersOutput",
245
+ {
246
+ "type": "{ operation: string; operands: number[]; result: number; expression: string; }",
247
+ "references": []
248
+ }
249
+ ],
250
+ [
251
+ "SubtractNumbersInput",
252
+ {
253
+ "type": "{ a: number; b: number; }",
254
+ "references": []
255
+ }
256
+ ],
257
+ [
258
+ "SubtractNumbersOutput",
259
+ {
260
+ "type": "{ operation: string; operands: number[]; result: number; expression: string; }",
261
+ "references": []
262
+ }
263
+ ],
264
+ [
265
+ "MultiplyNumbersInput",
266
+ {
267
+ "type": "{ a: number; b: number; }",
268
+ "references": []
269
+ }
270
+ ],
271
+ [
272
+ "MultiplyNumbersOutput",
273
+ {
274
+ "type": "{ operation: string; operands: number[]; result: number; expression: string; }",
275
+ "references": []
276
+ }
277
+ ],
278
+ [
279
+ "DivideNumbersInput",
280
+ {
281
+ "type": "{ a: number; b: number; }",
282
+ "references": []
283
+ }
284
+ ],
285
+ [
286
+ "DivideNumbersOutput",
287
+ {
288
+ "type": "{ operation: string; operands: number[]; result: number; expression: string; }",
289
+ "references": []
290
+ }
291
+ ],
292
+ [
293
+ "CreateUserInput",
294
+ {
295
+ "type": "{ username: string; email: string; admin?: boolean; }",
296
+ "references": []
297
+ }
298
+ ],
299
+ [
300
+ "CreateUserOutput",
301
+ {
302
+ "type": "{ id: number; username: string; email: string; admin: boolean; created: string; }",
303
+ "references": []
304
+ }
305
+ ],
306
+ [
307
+ "ListUsersInput",
308
+ {
309
+ "type": "{ limit?: number; admin?: boolean; }",
310
+ "references": []
311
+ }
312
+ ],
313
+ [
314
+ "ListUsersOutput",
315
+ {
316
+ "type": "{ users: any[]; total: number; filtered: boolean; }",
317
+ "references": []
318
+ }
319
+ ],
320
+ [
321
+ "ProcessFileInput",
322
+ {
323
+ "type": "{ path: string; action: \"read\" | \"info\" | \"delete\"; backup?: boolean; }",
324
+ "references": []
325
+ }
326
+ ],
327
+ [
328
+ "ProcessFileOutput",
329
+ {
330
+ "type": "{ path: string; action: string; backup: boolean; processed: boolean; timestamp: string; size: number; }",
331
+ "references": []
332
+ }
333
+ ],
334
+ [
335
+ "ProgressiveEnhancementExampleOutput",
336
+ {
337
+ "type": "{ state: \"initial\" | \"pending\" | \"done\"; }",
338
+ "references": []
339
+ }
340
+ ],
341
+ [
342
+ "TimeSinceOpenedOutput",
343
+ {
344
+ "type": "{ count: number; }",
345
+ "references": []
346
+ }
347
+ ],
348
+ [
349
+ "SayHelloInput",
350
+ {
351
+ "type": "{ name?: string; }",
352
+ "references": []
353
+ }
354
+ ],
355
+ [
356
+ "SayHelloOutput",
357
+ {
358
+ "type": "{ type: string; text: string; }[]",
359
+ "references": ["__object_4eav85", "__object_4eav85"]
360
+ }
361
+ ],
362
+ [
363
+ "DisableToolInput",
364
+ {
365
+ "type": "{ name: string; }",
366
+ "references": []
367
+ }
368
+ ],
369
+ [
370
+ "DisableToolOutput",
371
+ {
372
+ "type": "{ type: string; text: string; }[]",
373
+ "references": ["__object_4eav85", "__object_4eav85"]
374
+ }
375
+ ],
376
+ [
377
+ "CalculateInput",
378
+ {
379
+ "type": "{ operation: \"add\" | \"subtract\" | \"multiply\" | \"divide\"; a: number; b: number; }",
380
+ "references": []
381
+ }
382
+ ],
383
+ [
384
+ "CalculateOutput",
385
+ {
386
+ "type": "{ type: string; text: string; }[]",
387
+ "references": ["__object_4eav85", "__object_4eav85"]
388
+ }
389
+ ],
390
+ [
391
+ "GetStaticResourceOutput",
392
+ {
393
+ "type": "{ uri: any; text: string; }[]",
394
+ "references": ["__object_4eav85", "__object_4eav85"]
395
+ }
396
+ ],
397
+ [
398
+ "GetUserInfoInput",
399
+ {
400
+ "type": "{ userId: string; }",
401
+ "references": []
402
+ }
403
+ ],
404
+ [
405
+ "GetUserInfoOutput",
406
+ {
407
+ "type": "{ uri: string; text: string; }[]",
408
+ "references": ["__object_4eav85", "__object_4eav85"]
409
+ }
410
+ ],
411
+ [
412
+ "StaticPromptGeneratorOutput",
413
+ {
414
+ "type": "{ role: string; content: { type: string; text: string; }; }[]",
415
+ "references": ["__object_4eav85", "__object_4eav85"]
416
+ }
417
+ ],
418
+ [
419
+ "DynamicPromptGeneratorInput",
420
+ {
421
+ "type": "{ topic: string; complexity: \"beginner\" | \"intermediate\" | \"advanced\"; includeExamples?: string; }",
422
+ "references": []
423
+ }
424
+ ],
425
+ [
426
+ "DynamicPromptGeneratorOutput",
427
+ {
428
+ "type": "{ role: \"user\"; content: { type: \"text\"; text: string; }; }[]",
429
+ "references": ["__object_4eav85", "__object_4eav85"]
430
+ }
431
+ ],
432
+ [
433
+ "QueueWorkerInput",
434
+ {
435
+ "type": "{ message: string; fail: boolean; }",
436
+ "references": []
437
+ }
438
+ ],
439
+ [
440
+ "QueueWorkerOutput",
441
+ {
442
+ "type": "{ result: string; }",
443
+ "references": []
444
+ }
445
+ ],
446
+ [
447
+ "QueueWorkerWithMiddlewareInput",
448
+ {
449
+ "type": "{ message: string; }",
450
+ "references": []
451
+ }
452
+ ],
453
+ [
454
+ "QueueWorkerWithMiddlewareOutput",
455
+ {
456
+ "type": "{ result: string; }",
457
+ "references": []
458
+ }
459
+ ],
460
+ [
461
+ "RpcTestInput",
462
+ {
463
+ "type": "{ in: number; }",
464
+ "references": []
465
+ }
466
+ ],
467
+ [
468
+ "RpcCallerInput",
469
+ {
470
+ "type": "{ name: string; data: unknown; }",
471
+ "references": []
472
+ }
473
+ ]
474
+ ]
475
+ },
476
+ "meta": {
477
+ "onConnect": {
478
+ "pikkuFuncName": "onConnect",
479
+ "name": "onConnect",
480
+ "services": {
481
+ "optimized": true,
482
+ "services": ["logger", "channel"]
483
+ },
484
+ "inputSchemaName": "OnConnectInput",
485
+ "outputSchemaName": null,
486
+ "inputs": ["OnConnectInput"],
487
+ "outputs": [],
488
+ "isDirectFunction": true
489
+ },
490
+ "onDisconnect": {
491
+ "pikkuFuncName": "onDisconnect",
492
+ "name": "onDisconnect",
493
+ "services": {
494
+ "optimized": true,
495
+ "services": ["logger", "channel"]
496
+ },
497
+ "inputSchemaName": null,
498
+ "outputSchemaName": null,
499
+ "inputs": [],
500
+ "outputs": [],
501
+ "isDirectFunction": true
502
+ },
503
+ "authenticate": {
504
+ "pikkuFuncName": "authenticate",
505
+ "name": "authenticate",
506
+ "services": {
507
+ "optimized": true,
508
+ "services": ["userSession"]
509
+ },
510
+ "inputSchemaName": "AuthenticateInput",
511
+ "outputSchemaName": "AuthenticateOutput",
512
+ "inputs": ["AuthenticateInput"],
513
+ "outputs": ["AuthenticateOutput"],
514
+ "isDirectFunction": true
515
+ },
516
+ "logout": {
517
+ "pikkuFuncName": "logout",
518
+ "name": "logout",
519
+ "services": {
520
+ "optimized": true,
521
+ "services": ["userSession"]
522
+ },
523
+ "inputSchemaName": null,
524
+ "outputSchemaName": "LogoutOutput",
525
+ "inputs": [],
526
+ "outputs": ["LogoutOutput"],
527
+ "isDirectFunction": false
528
+ },
529
+ "subscribe": {
530
+ "pikkuFuncName": "subscribe",
531
+ "name": "subscribe",
532
+ "services": {
533
+ "optimized": true,
534
+ "services": ["eventHub", "channel"]
535
+ },
536
+ "inputSchemaName": "SubscribeInput",
537
+ "outputSchemaName": null,
538
+ "inputs": ["SubscribeInput"],
539
+ "outputs": [],
540
+ "isDirectFunction": true
541
+ },
542
+ "unsubscribe": {
543
+ "pikkuFuncName": "unsubscribe",
544
+ "name": "unsubscribe",
545
+ "services": {
546
+ "optimized": true,
547
+ "services": ["channel", "eventHub"]
548
+ },
549
+ "inputSchemaName": "UnsubscribeInput",
550
+ "outputSchemaName": "UnsubscribeOutput",
551
+ "inputs": ["UnsubscribeInput"],
552
+ "outputs": ["UnsubscribeOutput"],
553
+ "isDirectFunction": true
554
+ },
555
+ "emitMessage": {
556
+ "pikkuFuncName": "emitMessage",
557
+ "name": "emitMessage",
558
+ "services": {
559
+ "optimized": true,
560
+ "services": ["userSession", "eventHub", "channel"]
561
+ },
562
+ "inputSchemaName": "EmitMessageInput",
563
+ "outputSchemaName": "EmitMessageOutput",
564
+ "inputs": ["EmitMessageInput"],
565
+ "outputs": ["EmitMessageOutput"],
566
+ "isDirectFunction": true
567
+ },
568
+ "onMessage": {
569
+ "pikkuFuncName": "onMessage",
570
+ "name": "onMessage",
571
+ "services": {
572
+ "optimized": true,
573
+ "services": ["logger", "channel"]
574
+ },
575
+ "inputSchemaName": "OnMessageInput",
576
+ "outputSchemaName": "OnMessageOutput",
577
+ "inputs": ["OnMessageInput"],
578
+ "outputs": ["OnMessageOutput"],
579
+ "isDirectFunction": true
580
+ },
581
+ "greetUser": {
582
+ "pikkuFuncName": "greetUser",
583
+ "name": "greetUser",
584
+ "services": {
585
+ "optimized": false,
586
+ "services": []
587
+ },
588
+ "inputSchemaName": "GreetUserInput",
589
+ "outputSchemaName": "GreetUserOutput",
590
+ "inputs": ["GreetUserInput"],
591
+ "outputs": ["GreetUserOutput"],
592
+ "isDirectFunction": false
593
+ },
594
+ "addNumbers": {
595
+ "pikkuFuncName": "addNumbers",
596
+ "name": "addNumbers",
597
+ "services": {
598
+ "optimized": false,
599
+ "services": []
600
+ },
601
+ "inputSchemaName": "AddNumbersInput",
602
+ "outputSchemaName": "AddNumbersOutput",
603
+ "inputs": ["AddNumbersInput"],
604
+ "outputs": ["AddNumbersOutput"],
605
+ "isDirectFunction": false
606
+ },
607
+ "subtractNumbers": {
608
+ "pikkuFuncName": "subtractNumbers",
609
+ "name": "subtractNumbers",
610
+ "services": {
611
+ "optimized": false,
612
+ "services": []
613
+ },
614
+ "inputSchemaName": "SubtractNumbersInput",
615
+ "outputSchemaName": "SubtractNumbersOutput",
616
+ "inputs": ["SubtractNumbersInput"],
617
+ "outputs": ["SubtractNumbersOutput"],
618
+ "isDirectFunction": false
619
+ },
620
+ "multiplyNumbers": {
621
+ "pikkuFuncName": "multiplyNumbers",
622
+ "name": "multiplyNumbers",
623
+ "services": {
624
+ "optimized": false,
625
+ "services": []
626
+ },
627
+ "inputSchemaName": "MultiplyNumbersInput",
628
+ "outputSchemaName": "MultiplyNumbersOutput",
629
+ "inputs": ["MultiplyNumbersInput"],
630
+ "outputs": ["MultiplyNumbersOutput"],
631
+ "isDirectFunction": false
632
+ },
633
+ "divideNumbers": {
634
+ "pikkuFuncName": "divideNumbers",
635
+ "name": "divideNumbers",
636
+ "services": {
637
+ "optimized": false,
638
+ "services": []
639
+ },
640
+ "inputSchemaName": "DivideNumbersInput",
641
+ "outputSchemaName": "DivideNumbersOutput",
642
+ "inputs": ["DivideNumbersInput"],
643
+ "outputs": ["DivideNumbersOutput"],
644
+ "isDirectFunction": false
645
+ },
646
+ "createUser": {
647
+ "pikkuFuncName": "createUser",
648
+ "name": "createUser",
649
+ "services": {
650
+ "optimized": false,
651
+ "services": []
652
+ },
653
+ "inputSchemaName": "CreateUserInput",
654
+ "outputSchemaName": "CreateUserOutput",
655
+ "inputs": ["CreateUserInput"],
656
+ "outputs": ["CreateUserOutput"],
657
+ "isDirectFunction": false
658
+ },
659
+ "listUsers": {
660
+ "pikkuFuncName": "listUsers",
661
+ "name": "listUsers",
662
+ "services": {
663
+ "optimized": false,
664
+ "services": []
665
+ },
666
+ "inputSchemaName": "ListUsersInput",
667
+ "outputSchemaName": "ListUsersOutput",
668
+ "inputs": ["ListUsersInput"],
669
+ "outputs": ["ListUsersOutput"],
670
+ "isDirectFunction": false
671
+ },
672
+ "processFile": {
673
+ "pikkuFuncName": "processFile",
674
+ "name": "processFile",
675
+ "services": {
676
+ "optimized": false,
677
+ "services": []
678
+ },
679
+ "inputSchemaName": "ProcessFileInput",
680
+ "outputSchemaName": "ProcessFileOutput",
681
+ "inputs": ["ProcessFileInput"],
682
+ "outputs": ["ProcessFileOutput"],
683
+ "isDirectFunction": false
684
+ },
685
+ "progressiveEnhancementExample": {
686
+ "pikkuFuncName": "progressiveEnhancementExample",
687
+ "name": "progressiveEnhancementExample",
688
+ "services": {
689
+ "optimized": false,
690
+ "services": []
691
+ },
692
+ "inputSchemaName": null,
693
+ "outputSchemaName": "ProgressiveEnhancementExampleOutput",
694
+ "inputs": [],
695
+ "outputs": ["ProgressiveEnhancementExampleOutput"],
696
+ "isDirectFunction": true
697
+ },
698
+ "timeSinceOpened": {
699
+ "pikkuFuncName": "timeSinceOpened",
700
+ "name": "timeSinceOpened",
701
+ "services": {
702
+ "optimized": true,
703
+ "services": ["channel"]
704
+ },
705
+ "inputSchemaName": null,
706
+ "outputSchemaName": "TimeSinceOpenedOutput",
707
+ "inputs": [],
708
+ "outputs": ["TimeSinceOpenedOutput"],
709
+ "isDirectFunction": true
710
+ },
711
+ "welcomeToPikku": {
712
+ "pikkuFuncName": "welcomeToPikku",
713
+ "name": "welcomeToPikku",
714
+ "services": {
715
+ "optimized": true,
716
+ "services": []
717
+ },
718
+ "inputSchemaName": null,
719
+ "outputSchemaName": "string",
720
+ "inputs": [],
721
+ "outputs": ["string"],
722
+ "isDirectFunction": true
723
+ },
724
+ "helloWorld": {
725
+ "pikkuFuncName": "helloWorld",
726
+ "name": "helloWorld",
727
+ "services": {
728
+ "optimized": true,
729
+ "services": []
730
+ },
731
+ "inputSchemaName": null,
732
+ "outputSchemaName": "string",
733
+ "inputs": [],
734
+ "outputs": ["string"],
735
+ "isDirectFunction": true
736
+ },
737
+ "sayHello": {
738
+ "pikkuFuncName": "sayHello",
739
+ "name": "sayHello",
740
+ "services": {
741
+ "optimized": false,
742
+ "services": []
743
+ },
744
+ "inputSchemaName": "SayHelloInput",
745
+ "outputSchemaName": "SayHelloOutput",
746
+ "inputs": ["SayHelloInput"],
747
+ "outputs": ["SayHelloOutput"],
748
+ "isDirectFunction": true
749
+ },
750
+ "disableTool": {
751
+ "pikkuFuncName": "disableTool",
752
+ "name": "disableTool",
753
+ "services": {
754
+ "optimized": false,
755
+ "services": []
756
+ },
757
+ "inputSchemaName": "DisableToolInput",
758
+ "outputSchemaName": "DisableToolOutput",
759
+ "inputs": ["DisableToolInput"],
760
+ "outputs": ["DisableToolOutput"],
761
+ "isDirectFunction": true
762
+ },
763
+ "calculate": {
764
+ "pikkuFuncName": "calculate",
765
+ "name": "calculate",
766
+ "services": {
767
+ "optimized": true,
768
+ "services": ["logger"]
769
+ },
770
+ "inputSchemaName": "CalculateInput",
771
+ "outputSchemaName": "CalculateOutput",
772
+ "inputs": ["CalculateInput"],
773
+ "outputs": ["CalculateOutput"],
774
+ "isDirectFunction": true
775
+ },
776
+ "getStaticResource": {
777
+ "pikkuFuncName": "getStaticResource",
778
+ "name": "getStaticResource",
779
+ "services": {
780
+ "optimized": true,
781
+ "services": ["mcp"]
782
+ },
783
+ "inputSchemaName": null,
784
+ "outputSchemaName": "GetStaticResourceOutput",
785
+ "inputs": [],
786
+ "outputs": ["GetStaticResourceOutput"],
787
+ "isDirectFunction": true
788
+ },
789
+ "getUserInfo": {
790
+ "pikkuFuncName": "getUserInfo",
791
+ "name": "getUserInfo",
792
+ "services": {
793
+ "optimized": false,
794
+ "services": []
795
+ },
796
+ "inputSchemaName": "GetUserInfoInput",
797
+ "outputSchemaName": "GetUserInfoOutput",
798
+ "inputs": ["GetUserInfoInput"],
799
+ "outputs": ["GetUserInfoOutput"],
800
+ "isDirectFunction": true
801
+ },
802
+ "staticPromptGenerator": {
803
+ "pikkuFuncName": "staticPromptGenerator",
804
+ "name": "staticPromptGenerator",
805
+ "services": {
806
+ "optimized": true,
807
+ "services": []
808
+ },
809
+ "inputSchemaName": null,
810
+ "outputSchemaName": "StaticPromptGeneratorOutput",
811
+ "inputs": [],
812
+ "outputs": ["StaticPromptGeneratorOutput"],
813
+ "isDirectFunction": true
814
+ },
815
+ "dynamicPromptGenerator": {
816
+ "pikkuFuncName": "dynamicPromptGenerator",
817
+ "name": "dynamicPromptGenerator",
818
+ "services": {
819
+ "optimized": false,
820
+ "services": []
821
+ },
822
+ "inputSchemaName": "DynamicPromptGeneratorInput",
823
+ "outputSchemaName": "DynamicPromptGeneratorOutput",
824
+ "inputs": ["DynamicPromptGeneratorInput"],
825
+ "outputs": ["DynamicPromptGeneratorOutput"],
826
+ "isDirectFunction": true
827
+ },
828
+ "queueWorker": {
829
+ "pikkuFuncName": "queueWorker",
830
+ "name": "queueWorker",
831
+ "services": {
832
+ "optimized": true,
833
+ "services": []
834
+ },
835
+ "inputSchemaName": "QueueWorkerInput",
836
+ "outputSchemaName": "QueueWorkerOutput",
837
+ "inputs": ["QueueWorkerInput"],
838
+ "outputs": ["QueueWorkerOutput"],
839
+ "isDirectFunction": true
840
+ },
841
+ "queueWorkerWithMiddleware": {
842
+ "pikkuFuncName": "queueWorkerWithMiddleware",
843
+ "name": "queueWorkerWithMiddleware",
844
+ "services": {
845
+ "optimized": true,
846
+ "services": ["logger"]
847
+ },
848
+ "inputSchemaName": "QueueWorkerWithMiddlewareInput",
849
+ "outputSchemaName": "QueueWorkerWithMiddlewareOutput",
850
+ "inputs": ["QueueWorkerWithMiddlewareInput"],
851
+ "outputs": ["QueueWorkerWithMiddlewareOutput"],
852
+ "isDirectFunction": false,
853
+ "middleware": [
854
+ {
855
+ "type": "wire",
856
+ "name": "loggingMiddleware",
857
+ "inline": false
858
+ }
859
+ ]
860
+ },
861
+ "rpcTest": {
862
+ "pikkuFuncName": "rpcTest",
863
+ "name": "rpcTest",
864
+ "services": {
865
+ "optimized": true,
866
+ "services": ["logger", "rpc"]
867
+ },
868
+ "inputSchemaName": "RpcTestInput",
869
+ "outputSchemaName": null,
870
+ "inputs": ["RpcTestInput"],
871
+ "outputs": [],
872
+ "expose": true,
873
+ "isDirectFunction": false
874
+ },
875
+ "rpcCaller": {
876
+ "pikkuFuncName": "rpcCaller",
877
+ "name": "rpcCaller",
878
+ "services": {
879
+ "optimized": true,
880
+ "services": ["rpc"]
881
+ },
882
+ "inputSchemaName": "RpcCallerInput",
883
+ "outputSchemaName": null,
884
+ "inputs": ["RpcCallerInput"],
885
+ "outputs": [],
886
+ "isDirectFunction": true
887
+ },
888
+ "myScheduledTask": {
889
+ "pikkuFuncName": "myScheduledTask",
890
+ "name": "myScheduledTask",
891
+ "services": {
892
+ "optimized": true,
893
+ "services": ["logger"]
894
+ },
895
+ "inputSchemaName": null,
896
+ "outputSchemaName": null,
897
+ "inputs": [],
898
+ "outputs": [],
899
+ "isDirectFunction": true
900
+ }
901
+ },
902
+ "files": [
903
+ [
904
+ "onConnect",
905
+ {
906
+ "path": "src/channel.functions.ts",
907
+ "exportedName": "onConnect"
908
+ }
909
+ ],
910
+ [
911
+ "onDisconnect",
912
+ {
913
+ "path": "src/channel.functions.ts",
914
+ "exportedName": "onDisconnect"
915
+ }
916
+ ],
917
+ [
918
+ "authenticate",
919
+ {
920
+ "path": "src/channel.functions.ts",
921
+ "exportedName": "authenticate"
922
+ }
923
+ ],
924
+ [
925
+ "logout",
926
+ {
927
+ "path": "src/channel.functions.ts",
928
+ "exportedName": "logout"
929
+ }
930
+ ],
931
+ [
932
+ "subscribe",
933
+ {
934
+ "path": "src/channel.functions.ts",
935
+ "exportedName": "subscribe"
936
+ }
937
+ ],
938
+ [
939
+ "unsubscribe",
940
+ {
941
+ "path": "src/channel.functions.ts",
942
+ "exportedName": "unsubscribe"
943
+ }
944
+ ],
945
+ [
946
+ "emitMessage",
947
+ {
948
+ "path": "src/channel.functions.ts",
949
+ "exportedName": "emitMessage"
950
+ }
951
+ ],
952
+ [
953
+ "onMessage",
954
+ {
955
+ "path": "src/channel.functions.ts",
956
+ "exportedName": "onMessage"
957
+ }
958
+ ],
959
+ [
960
+ "greetUser",
961
+ {
962
+ "path": "src/cli.functions.ts",
963
+ "exportedName": "greetUser"
964
+ }
965
+ ],
966
+ [
967
+ "addNumbers",
968
+ {
969
+ "path": "src/cli.functions.ts",
970
+ "exportedName": "addNumbers"
971
+ }
972
+ ],
973
+ [
974
+ "subtractNumbers",
975
+ {
976
+ "path": "src/cli.functions.ts",
977
+ "exportedName": "subtractNumbers"
978
+ }
979
+ ],
980
+ [
981
+ "multiplyNumbers",
982
+ {
983
+ "path": "src/cli.functions.ts",
984
+ "exportedName": "multiplyNumbers"
985
+ }
986
+ ],
987
+ [
988
+ "divideNumbers",
989
+ {
990
+ "path": "src/cli.functions.ts",
991
+ "exportedName": "divideNumbers"
992
+ }
993
+ ],
994
+ [
995
+ "createUser",
996
+ {
997
+ "path": "src/cli.functions.ts",
998
+ "exportedName": "createUser"
999
+ }
1000
+ ],
1001
+ [
1002
+ "listUsers",
1003
+ {
1004
+ "path": "src/cli.functions.ts",
1005
+ "exportedName": "listUsers"
1006
+ }
1007
+ ],
1008
+ [
1009
+ "processFile",
1010
+ {
1011
+ "path": "src/cli.functions.ts",
1012
+ "exportedName": "processFile"
1013
+ }
1014
+ ],
1015
+ [
1016
+ "progressiveEnhancementExample",
1017
+ {
1018
+ "path": "src/http-progressive-enhancement.functions.ts",
1019
+ "exportedName": "progressiveEnhancementExample"
1020
+ }
1021
+ ],
1022
+ [
1023
+ "timeSinceOpened",
1024
+ {
1025
+ "path": "src/http-sse.functions.ts",
1026
+ "exportedName": "timeSinceOpened"
1027
+ }
1028
+ ],
1029
+ [
1030
+ "welcomeToPikku",
1031
+ {
1032
+ "path": "src/http.functions.ts",
1033
+ "exportedName": "welcomeToPikku"
1034
+ }
1035
+ ],
1036
+ [
1037
+ "helloWorld",
1038
+ {
1039
+ "path": "src/http.functions.ts",
1040
+ "exportedName": "helloWorld"
1041
+ }
1042
+ ],
1043
+ [
1044
+ "sayHello",
1045
+ {
1046
+ "path": "src/mcp.functions.ts",
1047
+ "exportedName": "sayHello"
1048
+ }
1049
+ ],
1050
+ [
1051
+ "disableTool",
1052
+ {
1053
+ "path": "src/mcp.functions.ts",
1054
+ "exportedName": "disableTool"
1055
+ }
1056
+ ],
1057
+ [
1058
+ "calculate",
1059
+ {
1060
+ "path": "src/mcp.functions.ts",
1061
+ "exportedName": "calculate"
1062
+ }
1063
+ ],
1064
+ [
1065
+ "getStaticResource",
1066
+ {
1067
+ "path": "src/mcp.functions.ts",
1068
+ "exportedName": "getStaticResource"
1069
+ }
1070
+ ],
1071
+ [
1072
+ "getUserInfo",
1073
+ {
1074
+ "path": "src/mcp.functions.ts",
1075
+ "exportedName": "getUserInfo"
1076
+ }
1077
+ ],
1078
+ [
1079
+ "staticPromptGenerator",
1080
+ {
1081
+ "path": "src/mcp.functions.ts",
1082
+ "exportedName": "staticPromptGenerator"
1083
+ }
1084
+ ],
1085
+ [
1086
+ "dynamicPromptGenerator",
1087
+ {
1088
+ "path": "src/mcp.functions.ts",
1089
+ "exportedName": "dynamicPromptGenerator"
1090
+ }
1091
+ ],
1092
+ [
1093
+ "queueWorker",
1094
+ {
1095
+ "path": "src/queue-worker.functions.ts",
1096
+ "exportedName": "queueWorker"
1097
+ }
1098
+ ],
1099
+ [
1100
+ "queueWorkerWithMiddleware",
1101
+ {
1102
+ "path": "src/queue-worker.functions.ts",
1103
+ "exportedName": "queueWorkerWithMiddleware"
1104
+ }
1105
+ ],
1106
+ [
1107
+ "rpcTest",
1108
+ {
1109
+ "path": "src/rpc.functions.ts",
1110
+ "exportedName": "rpcTest"
1111
+ }
1112
+ ],
1113
+ [
1114
+ "rpcCaller",
1115
+ {
1116
+ "path": "src/rpc.wiring.ts",
1117
+ "exportedName": "rpcCaller"
1118
+ }
1119
+ ],
1120
+ [
1121
+ "myScheduledTask",
1122
+ {
1123
+ "path": "src/scheduled-task.functions.ts",
1124
+ "exportedName": "myScheduledTask"
1125
+ }
1126
+ ]
1127
+ ]
1128
+ },
1129
+ "http": {
1130
+ "metaInputTypes": [
1131
+ [
1132
+ "RpcCallerInput",
1133
+ {
1134
+ "query": [],
1135
+ "params": [],
1136
+ "body": []
1137
+ }
1138
+ ]
1139
+ ],
1140
+ "meta": {
1141
+ "get": {
1142
+ "/status/sse": {
1143
+ "pikkuFuncName": "progressiveEnhancementExample",
1144
+ "route": "/status/sse",
1145
+ "method": "get"
1146
+ },
1147
+ "/status/http": {
1148
+ "pikkuFuncName": "progressiveEnhancementExample",
1149
+ "route": "/status/http",
1150
+ "method": "get"
1151
+ },
1152
+ "/sse": {
1153
+ "pikkuFuncName": "timeSinceOpened",
1154
+ "route": "/sse",
1155
+ "method": "get"
1156
+ },
1157
+ "/": {
1158
+ "pikkuFuncName": "welcomeToPikku",
1159
+ "route": "/",
1160
+ "method": "get",
1161
+ "tags": ["welcome"]
1162
+ },
1163
+ "/hello-world": {
1164
+ "pikkuFuncName": "helloWorld",
1165
+ "route": "/hello-world",
1166
+ "method": "get",
1167
+ "tags": ["hello"]
1168
+ }
1169
+ },
1170
+ "post": {
1171
+ "/rpc": {
1172
+ "pikkuFuncName": "rpcCaller",
1173
+ "route": "/rpc",
1174
+ "method": "post"
1175
+ }
1176
+ },
1177
+ "put": {},
1178
+ "delete": {},
1179
+ "head": {},
1180
+ "patch": {},
1181
+ "options": {}
1182
+ },
1183
+ "files": [
1184
+ "src/http-progressive-enhancement.wiring.ts",
1185
+ "src/http-sse.wiring.ts",
1186
+ "src/http.wiring.ts",
1187
+ "src/rpc.wiring.ts"
1188
+ ],
1189
+ "routeMiddleware": [],
1190
+ "routePermissions": []
1191
+ },
1192
+ "channels": {
1193
+ "files": [
1194
+ "src/channel.wiring.ts",
1195
+ "src/http-progressive-enhancement.wiring.ts"
1196
+ ],
1197
+ "meta": {
1198
+ "events": {
1199
+ "name": "events",
1200
+ "route": "/",
1201
+ "input": null,
1202
+ "connect": null,
1203
+ "disconnect": null,
1204
+ "message": null,
1205
+ "messageWirings": {
1206
+ "action": {
1207
+ "auth": {
1208
+ "pikkuFuncName": "authenticate"
1209
+ },
1210
+ "logout": {
1211
+ "pikkuFuncName": "logout"
1212
+ },
1213
+ "subscribe": {
1214
+ "pikkuFuncName": "subscribe"
1215
+ },
1216
+ "unsubscribe": {
1217
+ "pikkuFuncName": "unsubscribe"
1218
+ },
1219
+ "emit": {
1220
+ "pikkuFuncName": "emitMessage"
1221
+ }
1222
+ }
1223
+ },
1224
+ "tags": ["events"]
1225
+ },
1226
+ "progressive-enhancement": {
1227
+ "name": "progressive-enhancement",
1228
+ "route": "/status/websocket",
1229
+ "input": null,
1230
+ "connect": null,
1231
+ "disconnect": null,
1232
+ "message": null,
1233
+ "messageWirings": {
1234
+ "action": {
1235
+ "status": {
1236
+ "pikkuFuncName": "progressiveEnhancementExample"
1237
+ }
1238
+ }
1239
+ }
1240
+ }
1241
+ }
1242
+ },
1243
+ "scheduledTasks": {
1244
+ "meta": {
1245
+ "myScheduledTask": {
1246
+ "pikkuFuncName": "myScheduledTask",
1247
+ "name": "myScheduledTask",
1248
+ "schedule": "*/1 * * * *",
1249
+ "tags": ["hello"]
1250
+ }
1251
+ },
1252
+ "files": ["src/scheduled-task.wiring.ts"]
1253
+ },
1254
+ "queueWorkers": {
1255
+ "meta": {
1256
+ "hello-world-queue": {
1257
+ "pikkuFuncName": "queueWorker",
1258
+ "queueName": "hello-world-queue"
1259
+ }
1260
+ },
1261
+ "files": ["src/queue-worker.wiring.ts"]
1262
+ },
1263
+ "rpc": {
1264
+ "internalMeta": {
1265
+ "onConnect": "onConnect",
1266
+ "onDisconnect": "onDisconnect",
1267
+ "authenticate": "authenticate",
1268
+ "logout": "logout",
1269
+ "subscribe": "subscribe",
1270
+ "unsubscribe": "unsubscribe",
1271
+ "emitMessage": "emitMessage",
1272
+ "onMessage": "onMessage",
1273
+ "greetUser": "greetUser",
1274
+ "addNumbers": "addNumbers",
1275
+ "subtractNumbers": "subtractNumbers",
1276
+ "multiplyNumbers": "multiplyNumbers",
1277
+ "divideNumbers": "divideNumbers",
1278
+ "createUser": "createUser",
1279
+ "listUsers": "listUsers",
1280
+ "processFile": "processFile",
1281
+ "progressiveEnhancementExample": "progressiveEnhancementExample",
1282
+ "timeSinceOpened": "timeSinceOpened",
1283
+ "welcomeToPikku": "welcomeToPikku",
1284
+ "helloWorld": "helloWorld",
1285
+ "sayHello": "sayHello",
1286
+ "disableTool": "disableTool",
1287
+ "calculate": "calculate",
1288
+ "getStaticResource": "getStaticResource",
1289
+ "getUserInfo": "getUserInfo",
1290
+ "staticPromptGenerator": "staticPromptGenerator",
1291
+ "dynamicPromptGenerator": "dynamicPromptGenerator",
1292
+ "queueWorker": "queueWorker",
1293
+ "queueWorkerWithMiddleware": "queueWorkerWithMiddleware",
1294
+ "rpcTest": "rpcTest",
1295
+ "rpcCaller": "rpcCaller",
1296
+ "myScheduledTask": "myScheduledTask"
1297
+ },
1298
+ "internalFiles": [
1299
+ [
1300
+ "rpcTest",
1301
+ {
1302
+ "path": "src/rpc.functions.ts",
1303
+ "exportedName": "rpcTest"
1304
+ }
1305
+ ]
1306
+ ],
1307
+ "exposedMeta": {
1308
+ "rpcTest": "rpcTest"
1309
+ },
1310
+ "exposedFiles": [
1311
+ [
1312
+ "rpcTest",
1313
+ {
1314
+ "path": "src/rpc.functions.ts",
1315
+ "exportedName": "rpcTest"
1316
+ }
1317
+ ]
1318
+ ],
1319
+ "invokedFunctions": ["rpcTest"]
1320
+ },
1321
+ "mcpEndpoints": {
1322
+ "resourcesMeta": {
1323
+ "getStaticResource": {
1324
+ "pikkuFuncName": "getStaticResource",
1325
+ "uri": "getStaticResource",
1326
+ "title": "Static Resource",
1327
+ "description": "Gets a static resource with predefined data",
1328
+ "inputSchema": null,
1329
+ "outputSchema": "GetStaticResourceOutput"
1330
+ },
1331
+ "getUserInfo/{userId}": {
1332
+ "pikkuFuncName": "getUserInfo",
1333
+ "uri": "getUserInfo/{userId}",
1334
+ "title": "User Information",
1335
+ "description": "Retrieve user information by user ID",
1336
+ "tags": ["user", "profile", "data"],
1337
+ "inputSchema": "GetUserInfoInput",
1338
+ "outputSchema": "GetUserInfoOutput"
1339
+ }
1340
+ },
1341
+ "toolsMeta": {
1342
+ "sayHello": {
1343
+ "pikkuFuncName": "sayHello",
1344
+ "name": "sayHello",
1345
+ "description": "Greet someone with a friendly hello message",
1346
+ "tags": ["greeting", "hello", "demo"],
1347
+ "inputSchema": "SayHelloInput",
1348
+ "outputSchema": "SayHelloOutput"
1349
+ },
1350
+ "disableTool": {
1351
+ "pikkuFuncName": "disableTool",
1352
+ "name": "disableTool",
1353
+ "description": "Disable a tool by name",
1354
+ "inputSchema": "DisableToolInput",
1355
+ "outputSchema": "DisableToolOutput"
1356
+ },
1357
+ "calculate": {
1358
+ "pikkuFuncName": "calculate",
1359
+ "name": "calculate",
1360
+ "description": "Perform basic mathematical operations (add, subtract, multiply, divide)",
1361
+ "tags": ["math", "calculator", "arithmetic"],
1362
+ "inputSchema": "CalculateInput",
1363
+ "outputSchema": "CalculateOutput"
1364
+ }
1365
+ },
1366
+ "promptsMeta": {
1367
+ "getStaticResource": {
1368
+ "pikkuFuncName": "staticPromptGenerator",
1369
+ "name": "getStaticResource",
1370
+ "description": "A static prompt that returns a predefined message",
1371
+ "inputSchema": null,
1372
+ "outputSchema": "StaticPromptGeneratorOutput",
1373
+ "arguments": []
1374
+ },
1375
+ "dynamicPromptGenerator": {
1376
+ "pikkuFuncName": "dynamicPromptGenerator",
1377
+ "name": "dynamicPromptGenerator",
1378
+ "description": "Generate educational content with progressive complexity and optional examples",
1379
+ "tags": ["education", "content", "progressive", "examples"],
1380
+ "inputSchema": "DynamicPromptGeneratorInput",
1381
+ "outputSchema": "DynamicPromptGeneratorOutput",
1382
+ "arguments": []
1383
+ }
1384
+ },
1385
+ "files": ["src/mcp.wiring.ts"]
1386
+ },
1387
+ "cli": {
1388
+ "meta": {
1389
+ "programs": {
1390
+ "my-cli": {
1391
+ "program": "my-cli",
1392
+ "commands": {
1393
+ "greet": {
1394
+ "pikkuFuncName": "greetUser",
1395
+ "positionals": [
1396
+ {
1397
+ "name": "name",
1398
+ "required": true
1399
+ }
1400
+ ],
1401
+ "options": {
1402
+ "loud": {
1403
+ "description": "Use loud greeting (uppercase)",
1404
+ "short": "l",
1405
+ "default": false
1406
+ }
1407
+ },
1408
+ "parameters": "<name>",
1409
+ "description": "Greet a user by name",
1410
+ "renderName": "greetRenderer"
1411
+ },
1412
+ "calc": {
1413
+ "pikkuFuncName": "",
1414
+ "positionals": [],
1415
+ "options": {},
1416
+ "description": "Mathematical calculations",
1417
+ "subcommands": {
1418
+ "add": {
1419
+ "pikkuFuncName": "addNumbers",
1420
+ "positionals": [
1421
+ {
1422
+ "name": "a",
1423
+ "required": true
1424
+ },
1425
+ {
1426
+ "name": "b",
1427
+ "required": true
1428
+ }
1429
+ ],
1430
+ "options": {},
1431
+ "parameters": "<a> <b>",
1432
+ "description": "Add two numbers",
1433
+ "renderName": "calcRenderer"
1434
+ },
1435
+ "subtract": {
1436
+ "pikkuFuncName": "subtractNumbers",
1437
+ "positionals": [
1438
+ {
1439
+ "name": "a",
1440
+ "required": true
1441
+ },
1442
+ {
1443
+ "name": "b",
1444
+ "required": true
1445
+ }
1446
+ ],
1447
+ "options": {},
1448
+ "parameters": "<a> <b>",
1449
+ "description": "Subtract two numbers",
1450
+ "renderName": "calcRenderer"
1451
+ },
1452
+ "multiply": {
1453
+ "pikkuFuncName": "multiplyNumbers",
1454
+ "positionals": [
1455
+ {
1456
+ "name": "a",
1457
+ "required": true
1458
+ },
1459
+ {
1460
+ "name": "b",
1461
+ "required": true
1462
+ }
1463
+ ],
1464
+ "options": {},
1465
+ "parameters": "<a> <b>",
1466
+ "description": "Multiply two numbers",
1467
+ "renderName": "calcRenderer"
1468
+ },
1469
+ "divide": {
1470
+ "pikkuFuncName": "divideNumbers",
1471
+ "positionals": [
1472
+ {
1473
+ "name": "a",
1474
+ "required": true
1475
+ },
1476
+ {
1477
+ "name": "b",
1478
+ "required": true
1479
+ }
1480
+ ],
1481
+ "options": {},
1482
+ "parameters": "<a> <b>",
1483
+ "description": "Divide two numbers",
1484
+ "renderName": "calcRenderer"
1485
+ }
1486
+ }
1487
+ },
1488
+ "user": {
1489
+ "pikkuFuncName": "",
1490
+ "positionals": [],
1491
+ "options": {},
1492
+ "description": "User management commands",
1493
+ "subcommands": {
1494
+ "create": {
1495
+ "pikkuFuncName": "createUser",
1496
+ "positionals": [
1497
+ {
1498
+ "name": "username",
1499
+ "required": true
1500
+ },
1501
+ {
1502
+ "name": "email",
1503
+ "required": true
1504
+ }
1505
+ ],
1506
+ "options": {
1507
+ "admin": {
1508
+ "description": "Create user as admin",
1509
+ "short": "a",
1510
+ "default": false
1511
+ }
1512
+ },
1513
+ "parameters": "<username> <email>",
1514
+ "description": "Create a new user",
1515
+ "renderName": "userRenderer"
1516
+ },
1517
+ "list": {
1518
+ "pikkuFuncName": "listUsers",
1519
+ "positionals": [],
1520
+ "options": {
1521
+ "limit": {
1522
+ "description": "Limit number of users shown",
1523
+ "short": "l"
1524
+ },
1525
+ "admin": {
1526
+ "description": "Show only admin users",
1527
+ "short": "a",
1528
+ "default": false
1529
+ }
1530
+ },
1531
+ "description": "List all users",
1532
+ "renderName": "userRenderer"
1533
+ }
1534
+ }
1535
+ },
1536
+ "file": {
1537
+ "pikkuFuncName": "processFile",
1538
+ "positionals": [
1539
+ {
1540
+ "name": "path",
1541
+ "required": true
1542
+ }
1543
+ ],
1544
+ "options": {
1545
+ "action": {
1546
+ "description": "Action to perform on file",
1547
+ "short": "a",
1548
+ "choices": ["read", "info", "delete"]
1549
+ },
1550
+ "backup": {
1551
+ "description": "Create backup before processing",
1552
+ "short": "b",
1553
+ "default": false
1554
+ }
1555
+ },
1556
+ "parameters": "<path>",
1557
+ "description": "Process a file",
1558
+ "renderName": "fileRenderer"
1559
+ }
1560
+ },
1561
+ "options": {
1562
+ "verbose": {
1563
+ "description": "Enable verbose output",
1564
+ "short": "v",
1565
+ "default": false
1566
+ },
1567
+ "config": {
1568
+ "description": "Configuration file path",
1569
+ "short": "c",
1570
+ "default": "./config.json"
1571
+ }
1572
+ },
1573
+ "defaultRenderName": "jsonRenderer"
1574
+ }
1575
+ },
1576
+ "renderers": {
1577
+ "jsonRenderer": {
1578
+ "name": "jsonRenderer",
1579
+ "exportedName": "jsonRenderer",
1580
+ "services": {
1581
+ "optimized": true,
1582
+ "services": []
1583
+ },
1584
+ "filePath": "src/cli.render.ts"
1585
+ },
1586
+ "userRenderer": {
1587
+ "name": "userRenderer",
1588
+ "exportedName": "userRenderer",
1589
+ "services": {
1590
+ "optimized": true,
1591
+ "services": []
1592
+ },
1593
+ "filePath": "src/cli.render.ts"
1594
+ },
1595
+ "greetRenderer": {
1596
+ "name": "greetRenderer",
1597
+ "exportedName": "greetRenderer",
1598
+ "services": {
1599
+ "optimized": true,
1600
+ "services": []
1601
+ },
1602
+ "filePath": "src/cli.render.ts"
1603
+ },
1604
+ "calcRenderer": {
1605
+ "name": "calcRenderer",
1606
+ "exportedName": "calcRenderer",
1607
+ "services": {
1608
+ "optimized": true,
1609
+ "services": []
1610
+ },
1611
+ "filePath": "src/cli.render.ts"
1612
+ },
1613
+ "fileRenderer": {
1614
+ "name": "fileRenderer",
1615
+ "exportedName": "fileRenderer",
1616
+ "services": {
1617
+ "optimized": true,
1618
+ "services": []
1619
+ },
1620
+ "filePath": "src/cli.render.ts"
1621
+ }
1622
+ }
1623
+ },
1624
+ "files": ["src/cli.render.ts", "src/cli.wiring.ts"]
1625
+ },
1626
+ "middleware": {
1627
+ "meta": {
1628
+ "loggingMiddleware": {
1629
+ "services": {
1630
+ "optimized": false,
1631
+ "services": []
1632
+ },
1633
+ "sourceFile": "src/middleware.ts",
1634
+ "position": 513,
1635
+ "exportedName": "loggingMiddleware"
1636
+ }
1637
+ },
1638
+ "tagMiddleware": []
1639
+ },
1640
+ "permissions": {
1641
+ "meta": {},
1642
+ "tagPermissions": []
1643
+ },
1644
+ "serviceAggregation": {
1645
+ "requiredServices": ["eventHub", "logger"],
1646
+ "usedFunctions": [
1647
+ "authenticate",
1648
+ "logout",
1649
+ "subscribe",
1650
+ "unsubscribe",
1651
+ "emitMessage",
1652
+ "greetUser",
1653
+ "addNumbers",
1654
+ "subtractNumbers",
1655
+ "multiplyNumbers",
1656
+ "divideNumbers",
1657
+ "",
1658
+ "createUser",
1659
+ "listUsers",
1660
+ "processFile",
1661
+ "progressiveEnhancementExample",
1662
+ "timeSinceOpened",
1663
+ "welcomeToPikku",
1664
+ "helloWorld",
1665
+ "sayHello",
1666
+ "disableTool",
1667
+ "calculate",
1668
+ "getStaticResource",
1669
+ "getUserInfo",
1670
+ "staticPromptGenerator",
1671
+ "dynamicPromptGenerator",
1672
+ "queueWorker",
1673
+ "rpcTest",
1674
+ "rpcCaller",
1675
+ "myScheduledTask"
1676
+ ],
1677
+ "usedMiddleware": [],
1678
+ "usedPermissions": []
1679
+ }
1680
+ }