@probelabs/visor 0.1.182-ee → 0.1.183-ee

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 (205) hide show
  1. package/defaults/assistant.yaml +2 -1
  2. package/defaults/code-talk.yaml +6 -0
  3. package/defaults/skills/task-progress.yaml +39 -0
  4. package/dist/agent-protocol/task-evaluator.d.ts +2 -1
  5. package/dist/agent-protocol/task-evaluator.d.ts.map +1 -1
  6. package/dist/agent-protocol/task-progress-tool.d.ts +29 -0
  7. package/dist/agent-protocol/task-progress-tool.d.ts.map +1 -0
  8. package/dist/agent-protocol/task-store.d.ts +8 -0
  9. package/dist/agent-protocol/task-store.d.ts.map +1 -1
  10. package/dist/agent-protocol/tasks-cli-handler.d.ts.map +1 -1
  11. package/dist/agent-protocol/trace-serializer.d.ts +5 -2
  12. package/dist/agent-protocol/trace-serializer.d.ts.map +1 -1
  13. package/dist/agent-protocol/track-execution.d.ts +1 -1
  14. package/dist/agent-protocol/track-execution.d.ts.map +1 -1
  15. package/dist/ai-review-service.d.ts.map +1 -1
  16. package/dist/cli-main.d.ts.map +1 -1
  17. package/dist/debug-visualizer/trace-reader.d.ts.map +1 -1
  18. package/dist/defaults/assistant.yaml +2 -1
  19. package/dist/defaults/code-talk.yaml +6 -0
  20. package/dist/defaults/skills/task-progress.yaml +39 -0
  21. package/dist/docs/telemetry-live-spans-plan.md +510 -0
  22. package/dist/generated/config-schema.json +43 -6
  23. package/dist/index.js +3545 -701
  24. package/dist/providers/ai-check-provider.d.ts.map +1 -1
  25. package/dist/providers/git-checkout-provider.d.ts.map +1 -1
  26. package/dist/providers/mcp-custom-sse-server.d.ts.map +1 -1
  27. package/dist/reviewer.d.ts +2 -0
  28. package/dist/reviewer.d.ts.map +1 -1
  29. package/dist/runners/process-cli-handler.d.ts +2 -0
  30. package/dist/runners/process-cli-handler.d.ts.map +1 -0
  31. package/dist/runners/process-discovery.d.ts +29 -0
  32. package/dist/runners/process-discovery.d.ts.map +1 -0
  33. package/dist/sandbox/check-runner.d.ts.map +1 -1
  34. package/dist/sandbox/sandbox-telemetry.d.ts +7 -0
  35. package/dist/sandbox/sandbox-telemetry.d.ts.map +1 -1
  36. package/dist/sandbox/trace-ingester.d.ts +28 -15
  37. package/dist/sandbox/trace-ingester.d.ts.map +1 -1
  38. package/dist/scheduler/schedule-tool.d.ts +5 -0
  39. package/dist/scheduler/schedule-tool.d.ts.map +1 -1
  40. package/dist/sdk/{a2a-frontend-MU5EO2HZ.mjs → a2a-frontend-5YDHFQXD.mjs} +47 -8
  41. package/dist/sdk/{a2a-frontend-MU5EO2HZ.mjs.map → a2a-frontend-5YDHFQXD.mjs.map} +1 -1
  42. package/dist/sdk/{a2a-frontend-4LP3MLTS.mjs → a2a-frontend-6LWBIPMS.mjs} +19 -3
  43. package/dist/sdk/a2a-frontend-6LWBIPMS.mjs.map +1 -0
  44. package/dist/sdk/check-provider-registry-WSEVHJEV.mjs +31 -0
  45. package/dist/sdk/{check-provider-registry-I4BCWKRU.mjs → check-provider-registry-YRADEEQY.mjs} +6 -6
  46. package/dist/sdk/chunk-4BN2XI4X.mjs +459 -0
  47. package/dist/sdk/chunk-4BN2XI4X.mjs.map +1 -0
  48. package/dist/sdk/chunk-54KOAC4W.mjs +665 -0
  49. package/dist/sdk/chunk-54KOAC4W.mjs.map +1 -0
  50. package/dist/sdk/chunk-6C3R6E42.mjs +1700 -0
  51. package/dist/sdk/chunk-6C3R6E42.mjs.map +1 -0
  52. package/dist/sdk/{chunk-4I3TJ7UJ.mjs → chunk-7W5QCO4Y.mjs} +47 -10
  53. package/dist/sdk/chunk-7W5QCO4Y.mjs.map +1 -0
  54. package/dist/sdk/chunk-B2OUZAWY.mjs +237 -0
  55. package/dist/sdk/chunk-B2OUZAWY.mjs.map +1 -0
  56. package/dist/sdk/chunk-FWWLD555.mjs +244 -0
  57. package/dist/sdk/chunk-FWWLD555.mjs.map +1 -0
  58. package/dist/sdk/{chunk-QXT47ZHR.mjs → chunk-G7GSN3SK.mjs} +2 -2
  59. package/dist/sdk/{chunk-QXT47ZHR.mjs.map → chunk-G7GSN3SK.mjs.map} +1 -1
  60. package/dist/sdk/{chunk-DHETLQIX.mjs → chunk-GA2TYKSR.mjs} +5 -5
  61. package/dist/sdk/{chunk-6DPPP7LD.mjs → chunk-IDL3AA3G.mjs} +203 -42
  62. package/dist/sdk/chunk-IDL3AA3G.mjs.map +1 -0
  63. package/dist/sdk/chunk-MEB2TTIE.mjs +157 -0
  64. package/dist/sdk/chunk-MEB2TTIE.mjs.map +1 -0
  65. package/dist/sdk/{chunk-3JFK6KCD.mjs → chunk-MFXPJUUE.mjs} +150 -280
  66. package/dist/sdk/chunk-MFXPJUUE.mjs.map +1 -0
  67. package/dist/sdk/{chunk-KBGQJKIZ.mjs → chunk-NPSLGKXB.mjs} +3 -3
  68. package/dist/sdk/chunk-P2K4VOMU.mjs +825 -0
  69. package/dist/sdk/chunk-P2K4VOMU.mjs.map +1 -0
  70. package/dist/sdk/chunk-RI4ONH5X.mjs +482 -0
  71. package/dist/sdk/chunk-RI4ONH5X.mjs.map +1 -0
  72. package/dist/sdk/chunk-S5FSRHMY.mjs +139 -0
  73. package/dist/sdk/chunk-S5FSRHMY.mjs.map +1 -0
  74. package/dist/sdk/{chunk-7ERVRLDV.mjs → chunk-TFUQ2D5L.mjs} +13 -2
  75. package/dist/sdk/chunk-TFUQ2D5L.mjs.map +1 -0
  76. package/dist/sdk/{chunk-TQQNSHQV.mjs → chunk-UXB4XWEE.mjs} +1044 -179
  77. package/dist/sdk/chunk-UXB4XWEE.mjs.map +1 -0
  78. package/dist/sdk/{chunk-U6K5SK7X.mjs → chunk-V45TITKX.mjs} +2 -2
  79. package/dist/sdk/{chunk-ANUT54HW.mjs → chunk-WKLJ57WF.mjs} +6 -6
  80. package/dist/sdk/chunk-XOAEKFKB.mjs +1150 -0
  81. package/dist/sdk/chunk-XOAEKFKB.mjs.map +1 -0
  82. package/dist/sdk/chunk-ZPYODGYA.mjs +251 -0
  83. package/dist/sdk/chunk-ZPYODGYA.mjs.map +1 -0
  84. package/dist/sdk/command-executor-YNJOS77A.mjs +14 -0
  85. package/dist/sdk/{config-2STD74CJ.mjs → config-PCP6O6Y6.mjs} +4 -4
  86. package/dist/sdk/{failure-condition-evaluator-FFWJRAEQ.mjs → failure-condition-evaluator-H3PBFBYT.mjs} +4 -4
  87. package/dist/sdk/failure-condition-evaluator-IRFKTYZD.mjs +18 -0
  88. package/dist/sdk/github-auth-BJQBLK2V.mjs +196 -0
  89. package/dist/sdk/github-auth-BJQBLK2V.mjs.map +1 -0
  90. package/dist/sdk/{github-frontend-L3F5JXPJ.mjs → github-frontend-DECYOBRN.mjs} +8 -8
  91. package/dist/sdk/{github-frontend-KGV2R5Z6.mjs → github-frontend-TZRBOQCN.mjs} +4 -4
  92. package/dist/sdk/{host-QBJ7TOWG.mjs → host-CFM2ASDI.mjs} +4 -4
  93. package/dist/sdk/{host-X5ZZCEWN.mjs → host-T4LNVU2H.mjs} +3 -3
  94. package/dist/sdk/{knex-store-QCEW4I4R.mjs → knex-store-OEWSZEBY.mjs} +3 -3
  95. package/dist/sdk/lazy-otel-5RDTVS5L.mjs +24 -0
  96. package/dist/sdk/liquid-extensions-E3AKRX7P.mjs +25 -0
  97. package/dist/sdk/{loader-ZNKKJEZ3.mjs → loader-WRGI244P.mjs} +5 -5
  98. package/dist/sdk/memory-store-OHUIXCWJ.mjs +12 -0
  99. package/dist/sdk/metrics-MYUPQBBV.mjs +41 -0
  100. package/dist/sdk/{opa-policy-engine-QCSSIMUF.mjs → opa-policy-engine-IVMCGVNA.mjs} +3 -3
  101. package/dist/sdk/prompt-state-LN57DQF3.mjs +16 -0
  102. package/dist/sdk/renderer-schema-BT2IXMLW.mjs +51 -0
  103. package/dist/sdk/renderer-schema-BT2IXMLW.mjs.map +1 -0
  104. package/dist/sdk/routing-H2PQ57OA.mjs +26 -0
  105. package/dist/sdk/{routing-CVQT4KHX.mjs → routing-JMZ7HDCC.mjs} +5 -5
  106. package/dist/sdk/schedule-tool-2DPNSU63.mjs +37 -0
  107. package/dist/sdk/{schedule-tool-AECLFHSY.mjs → schedule-tool-4M45RK3E.mjs} +6 -6
  108. package/dist/sdk/{schedule-tool-handler-6QLZRTQA.mjs → schedule-tool-handler-KLHE2SOW.mjs} +6 -6
  109. package/dist/sdk/schedule-tool-handler-KLHE2SOW.mjs.map +1 -0
  110. package/dist/sdk/{schedule-tool-handler-J4NUETJ6.mjs → schedule-tool-handler-NBEO46RV.mjs} +16 -16
  111. package/dist/sdk/schedule-tool-handler-NBEO46RV.mjs.map +1 -0
  112. package/dist/sdk/sdk.d.mts +2 -0
  113. package/dist/sdk/sdk.d.ts +2 -0
  114. package/dist/sdk/sdk.js +3125 -666
  115. package/dist/sdk/sdk.js.map +1 -1
  116. package/dist/sdk/sdk.mjs +15 -15
  117. package/dist/sdk/slack-frontend-DF5VL4OF.mjs +929 -0
  118. package/dist/sdk/slack-frontend-DF5VL4OF.mjs.map +1 -0
  119. package/dist/sdk/{task-evaluator-HLNXKKVV.mjs → task-evaluator-GQYDOSGT.mjs} +138 -24
  120. package/dist/sdk/task-evaluator-GQYDOSGT.mjs.map +1 -0
  121. package/dist/sdk/task-evaluator-OVMG7S56.mjs +263 -0
  122. package/dist/sdk/task-evaluator-OVMG7S56.mjs.map +1 -0
  123. package/dist/sdk/{trace-helpers-WJXYVV4S.mjs → trace-helpers-26ZCAE2V.mjs} +7 -5
  124. package/dist/sdk/trace-helpers-26ZCAE2V.mjs.map +1 -0
  125. package/dist/sdk/{trace-helpers-3FFAI7X3.mjs → trace-helpers-XV5GAX5L.mjs} +3 -3
  126. package/dist/sdk/trace-helpers-XV5GAX5L.mjs.map +1 -0
  127. package/dist/sdk/{trace-reader-ZY77OFNM.mjs → trace-reader-OVE4DL2D.mjs} +6 -2
  128. package/dist/sdk/trace-reader-OVE4DL2D.mjs.map +1 -0
  129. package/dist/sdk/trace-serializer-KKBJHM7J.mjs +24 -0
  130. package/dist/sdk/trace-serializer-KKBJHM7J.mjs.map +1 -0
  131. package/dist/sdk/{track-execution-AMQQNXKE.mjs → track-execution-3EC24C2X.mjs} +68 -7
  132. package/dist/sdk/track-execution-3EC24C2X.mjs.map +1 -0
  133. package/dist/sdk/{track-execution-MKIQXP2C.mjs → track-execution-66RLL6QT.mjs} +10 -3
  134. package/dist/sdk/track-execution-66RLL6QT.mjs.map +1 -0
  135. package/dist/sdk/utcp-check-provider-WI3QZ3W6.mjs +16 -0
  136. package/dist/sdk/utcp-check-provider-WI3QZ3W6.mjs.map +1 -0
  137. package/dist/sdk/workflow-check-provider-X2UREEH7.mjs +31 -0
  138. package/dist/sdk/workflow-check-provider-X2UREEH7.mjs.map +1 -0
  139. package/dist/sdk/{workflow-check-provider-EXMC6JIS.mjs → workflow-check-provider-YXALZNAQ.mjs} +6 -6
  140. package/dist/sdk/workflow-check-provider-YXALZNAQ.mjs.map +1 -0
  141. package/dist/sdk/workflow-registry-YCZ3FCJC.mjs +12 -0
  142. package/dist/sdk/workflow-registry-YCZ3FCJC.mjs.map +1 -0
  143. package/dist/slack/socket-runner.d.ts.map +1 -1
  144. package/dist/state-machine/dispatch/sandbox-routing.d.ts.map +1 -1
  145. package/dist/state-machine/states/level-dispatch.d.ts.map +1 -1
  146. package/dist/telemetry/fallback-ndjson.d.ts +21 -0
  147. package/dist/telemetry/fallback-ndjson.d.ts.map +1 -1
  148. package/dist/telemetry/lazy-otel.d.ts +2 -0
  149. package/dist/telemetry/lazy-otel.d.ts.map +1 -1
  150. package/dist/telemetry/opentelemetry.d.ts +5 -0
  151. package/dist/telemetry/opentelemetry.d.ts.map +1 -1
  152. package/dist/telemetry/trace-helpers.d.ts +10 -0
  153. package/dist/telemetry/trace-helpers.d.ts.map +1 -1
  154. package/dist/test-runner/conversation-sugar.d.ts +7 -0
  155. package/dist/test-runner/conversation-sugar.d.ts.map +1 -1
  156. package/dist/test-runner/core/flow-stage.d.ts.map +1 -1
  157. package/dist/test-runner/index.d.ts.map +1 -1
  158. package/dist/test-runner/validator.d.ts.map +1 -1
  159. package/dist/types/git-checkout.d.ts +2 -0
  160. package/dist/types/git-checkout.d.ts.map +1 -1
  161. package/dist/utils/script-tool-environment.d.ts.map +1 -1
  162. package/package.json +2 -2
  163. package/dist/sdk/a2a-frontend-4LP3MLTS.mjs.map +0 -1
  164. package/dist/sdk/check-provider-registry-RRWCXSTG.mjs +0 -31
  165. package/dist/sdk/chunk-3JFK6KCD.mjs.map +0 -1
  166. package/dist/sdk/chunk-4I3TJ7UJ.mjs.map +0 -1
  167. package/dist/sdk/chunk-6DPPP7LD.mjs.map +0 -1
  168. package/dist/sdk/chunk-6VVXKXTI.mjs +0 -164
  169. package/dist/sdk/chunk-6VVXKXTI.mjs.map +0 -1
  170. package/dist/sdk/chunk-7ERVRLDV.mjs.map +0 -1
  171. package/dist/sdk/chunk-TQQNSHQV.mjs.map +0 -1
  172. package/dist/sdk/failure-condition-evaluator-5DZYMCGW.mjs +0 -18
  173. package/dist/sdk/routing-XALEDC2G.mjs +0 -26
  174. package/dist/sdk/schedule-tool-Z6QYL2B3.mjs +0 -37
  175. package/dist/sdk/task-evaluator-HLNXKKVV.mjs.map +0 -1
  176. package/dist/sdk/trace-reader-ZY77OFNM.mjs.map +0 -1
  177. package/dist/sdk/track-execution-AMQQNXKE.mjs.map +0 -1
  178. package/dist/sdk/track-execution-MKIQXP2C.mjs.map +0 -1
  179. package/dist/sdk/workflow-check-provider-VKYGI5GK.mjs +0 -31
  180. /package/dist/sdk/{check-provider-registry-I4BCWKRU.mjs.map → check-provider-registry-WSEVHJEV.mjs.map} +0 -0
  181. /package/dist/sdk/{check-provider-registry-RRWCXSTG.mjs.map → check-provider-registry-YRADEEQY.mjs.map} +0 -0
  182. /package/dist/sdk/{chunk-DHETLQIX.mjs.map → chunk-GA2TYKSR.mjs.map} +0 -0
  183. /package/dist/sdk/{chunk-ANUT54HW.mjs.map → chunk-NPSLGKXB.mjs.map} +0 -0
  184. /package/dist/sdk/{chunk-U6K5SK7X.mjs.map → chunk-V45TITKX.mjs.map} +0 -0
  185. /package/dist/sdk/{chunk-KBGQJKIZ.mjs.map → chunk-WKLJ57WF.mjs.map} +0 -0
  186. /package/dist/sdk/{config-2STD74CJ.mjs.map → command-executor-YNJOS77A.mjs.map} +0 -0
  187. /package/dist/sdk/{failure-condition-evaluator-5DZYMCGW.mjs.map → config-PCP6O6Y6.mjs.map} +0 -0
  188. /package/dist/sdk/{failure-condition-evaluator-FFWJRAEQ.mjs.map → failure-condition-evaluator-H3PBFBYT.mjs.map} +0 -0
  189. /package/dist/sdk/{routing-CVQT4KHX.mjs.map → failure-condition-evaluator-IRFKTYZD.mjs.map} +0 -0
  190. /package/dist/sdk/{github-frontend-KGV2R5Z6.mjs.map → github-frontend-DECYOBRN.mjs.map} +0 -0
  191. /package/dist/sdk/{github-frontend-L3F5JXPJ.mjs.map → github-frontend-TZRBOQCN.mjs.map} +0 -0
  192. /package/dist/sdk/{host-QBJ7TOWG.mjs.map → host-CFM2ASDI.mjs.map} +0 -0
  193. /package/dist/sdk/{host-X5ZZCEWN.mjs.map → host-T4LNVU2H.mjs.map} +0 -0
  194. /package/dist/sdk/{knex-store-QCEW4I4R.mjs.map → knex-store-OEWSZEBY.mjs.map} +0 -0
  195. /package/dist/sdk/{routing-XALEDC2G.mjs.map → lazy-otel-5RDTVS5L.mjs.map} +0 -0
  196. /package/dist/sdk/{schedule-tool-AECLFHSY.mjs.map → liquid-extensions-E3AKRX7P.mjs.map} +0 -0
  197. /package/dist/sdk/{loader-ZNKKJEZ3.mjs.map → loader-WRGI244P.mjs.map} +0 -0
  198. /package/dist/sdk/{schedule-tool-Z6QYL2B3.mjs.map → memory-store-OHUIXCWJ.mjs.map} +0 -0
  199. /package/dist/sdk/{schedule-tool-handler-6QLZRTQA.mjs.map → metrics-MYUPQBBV.mjs.map} +0 -0
  200. /package/dist/sdk/{opa-policy-engine-QCSSIMUF.mjs.map → opa-policy-engine-IVMCGVNA.mjs.map} +0 -0
  201. /package/dist/sdk/{schedule-tool-handler-J4NUETJ6.mjs.map → prompt-state-LN57DQF3.mjs.map} +0 -0
  202. /package/dist/sdk/{trace-helpers-3FFAI7X3.mjs.map → routing-H2PQ57OA.mjs.map} +0 -0
  203. /package/dist/sdk/{trace-helpers-WJXYVV4S.mjs.map → routing-JMZ7HDCC.mjs.map} +0 -0
  204. /package/dist/sdk/{workflow-check-provider-EXMC6JIS.mjs.map → schedule-tool-2DPNSU63.mjs.map} +0 -0
  205. /package/dist/sdk/{workflow-check-provider-VKYGI5GK.mjs.map → schedule-tool-4M45RK3E.mjs.map} +0 -0
@@ -1,164 +0,0 @@
1
- import {
2
- __esm
3
- } from "./chunk-J7LXIPZS.mjs";
4
-
5
- // src/utils/human-id.ts
6
- function randomSuffix() {
7
- const chars = "abcdefghjkmnpqrstuvwxyz23456789";
8
- let result = "";
9
- for (let i = 0; i < 4; i++) {
10
- result += chars[Math.floor(Math.random() * chars.length)];
11
- }
12
- return result;
13
- }
14
- function generateHumanId() {
15
- const adj = adjectives[Math.floor(Math.random() * adjectives.length)];
16
- const noun = nouns[Math.floor(Math.random() * nouns.length)];
17
- const suffix = randomSuffix();
18
- return `${adj}-${noun}-${suffix}`;
19
- }
20
- function generateShortHumanId() {
21
- const adj = adjectives[Math.floor(Math.random() * adjectives.length)];
22
- const noun = nouns[Math.floor(Math.random() * nouns.length)];
23
- return `${adj}-${noun}`;
24
- }
25
- var adjectives, nouns;
26
- var init_human_id = __esm({
27
- "src/utils/human-id.ts"() {
28
- "use strict";
29
- adjectives = [
30
- "bold",
31
- "calm",
32
- "cool",
33
- "dark",
34
- "fast",
35
- "gold",
36
- "green",
37
- "happy",
38
- "kind",
39
- "loud",
40
- "mild",
41
- "neat",
42
- "nice",
43
- "pink",
44
- "pure",
45
- "quick",
46
- "rare",
47
- "rich",
48
- "safe",
49
- "slim",
50
- "soft",
51
- "tall",
52
- "tidy",
53
- "tiny",
54
- "warm",
55
- "wise",
56
- "young",
57
- "able",
58
- "blue",
59
- "brave",
60
- "busy",
61
- "clean",
62
- "crisp",
63
- "eager",
64
- "fair",
65
- "fresh",
66
- "glad",
67
- "grand",
68
- "keen",
69
- "lush",
70
- "prime",
71
- "proud",
72
- "sharp",
73
- "sleek",
74
- "smart",
75
- "solid",
76
- "swift",
77
- "vivid",
78
- "wild",
79
- "witty",
80
- "zesty"
81
- ];
82
- nouns = [
83
- "ant",
84
- "bat",
85
- "bear",
86
- "bee",
87
- "bird",
88
- "bull",
89
- "cat",
90
- "cow",
91
- "crab",
92
- "crow",
93
- "deer",
94
- "dog",
95
- "dove",
96
- "duck",
97
- "eagle",
98
- "elk",
99
- "fish",
100
- "fox",
101
- "frog",
102
- "goat",
103
- "hawk",
104
- "hare",
105
- "horse",
106
- "jay",
107
- "lark",
108
- "lion",
109
- "lynx",
110
- "mole",
111
- "moth",
112
- "mouse",
113
- "newt",
114
- "owl",
115
- "panda",
116
- "pig",
117
- "puma",
118
- "rat",
119
- "raven",
120
- "seal",
121
- "shark",
122
- "sheep",
123
- "sloth",
124
- "snail",
125
- "snake",
126
- "spider",
127
- "swan",
128
- "tiger",
129
- "toad",
130
- "trout",
131
- "viper",
132
- "wasp",
133
- "whale",
134
- "wolf",
135
- "wren",
136
- "yak",
137
- "zebra"
138
- ];
139
- }
140
- });
141
-
142
- // src/utils/instance-id.ts
143
- function getInstanceId() {
144
- if (!_instanceId) {
145
- _instanceId = generateHumanId();
146
- }
147
- return _instanceId;
148
- }
149
- var _instanceId;
150
- var init_instance_id = __esm({
151
- "src/utils/instance-id.ts"() {
152
- "use strict";
153
- init_human_id();
154
- }
155
- });
156
-
157
- export {
158
- generateHumanId,
159
- generateShortHumanId,
160
- init_human_id,
161
- getInstanceId,
162
- init_instance_id
163
- };
164
- //# sourceMappingURL=chunk-6VVXKXTI.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/human-id.ts","../../src/utils/instance-id.ts"],"sourcesContent":["/**\n * Generate human-readable IDs like Kubernetes (e.g., \"happy-panda-7x3k\")\n */\n\nconst adjectives = [\n 'bold',\n 'calm',\n 'cool',\n 'dark',\n 'fast',\n 'gold',\n 'green',\n 'happy',\n 'kind',\n 'loud',\n 'mild',\n 'neat',\n 'nice',\n 'pink',\n 'pure',\n 'quick',\n 'rare',\n 'rich',\n 'safe',\n 'slim',\n 'soft',\n 'tall',\n 'tidy',\n 'tiny',\n 'warm',\n 'wise',\n 'young',\n 'able',\n 'blue',\n 'brave',\n 'busy',\n 'clean',\n 'crisp',\n 'eager',\n 'fair',\n 'fresh',\n 'glad',\n 'grand',\n 'keen',\n 'lush',\n 'prime',\n 'proud',\n 'sharp',\n 'sleek',\n 'smart',\n 'solid',\n 'swift',\n 'vivid',\n 'wild',\n 'witty',\n 'zesty',\n];\n\nconst nouns = [\n 'ant',\n 'bat',\n 'bear',\n 'bee',\n 'bird',\n 'bull',\n 'cat',\n 'cow',\n 'crab',\n 'crow',\n 'deer',\n 'dog',\n 'dove',\n 'duck',\n 'eagle',\n 'elk',\n 'fish',\n 'fox',\n 'frog',\n 'goat',\n 'hawk',\n 'hare',\n 'horse',\n 'jay',\n 'lark',\n 'lion',\n 'lynx',\n 'mole',\n 'moth',\n 'mouse',\n 'newt',\n 'owl',\n 'panda',\n 'pig',\n 'puma',\n 'rat',\n 'raven',\n 'seal',\n 'shark',\n 'sheep',\n 'sloth',\n 'snail',\n 'snake',\n 'spider',\n 'swan',\n 'tiger',\n 'toad',\n 'trout',\n 'viper',\n 'wasp',\n 'whale',\n 'wolf',\n 'wren',\n 'yak',\n 'zebra',\n];\n\n/**\n * Generate a random alphanumeric suffix (4 chars)\n */\nfunction randomSuffix(): string {\n const chars = 'abcdefghjkmnpqrstuvwxyz23456789'; // no i,l,o,0,1 to avoid confusion\n let result = '';\n for (let i = 0; i < 4; i++) {\n result += chars[Math.floor(Math.random() * chars.length)];\n }\n return result;\n}\n\n/**\n * Generate a human-readable ID like \"happy-panda-7x3k\"\n */\nexport function generateHumanId(): string {\n const adj = adjectives[Math.floor(Math.random() * adjectives.length)];\n const noun = nouns[Math.floor(Math.random() * nouns.length)];\n const suffix = randomSuffix();\n return `${adj}-${noun}-${suffix}`;\n}\n\n/**\n * Generate a short human-readable ID like \"happy-panda\" (no suffix)\n */\nexport function generateShortHumanId(): string {\n const adj = adjectives[Math.floor(Math.random() * adjectives.length)];\n const noun = nouns[Math.floor(Math.random() * nouns.length)];\n return `${adj}-${noun}`;\n}\n","/**\n * Visor instance ID — unique per process lifetime.\n *\n * Used to identify which visor instance created/owns a task,\n * especially in multi-node environments.\n */\n\nimport { generateHumanId } from './human-id';\n\nlet _instanceId: string | undefined;\n\n/** Get or generate the visor instance ID for this process. */\nexport function getInstanceId(): string {\n if (!_instanceId) {\n _instanceId = generateHumanId();\n }\n return _instanceId;\n}\n"],"mappings":";;;;;AAuHA,SAAS,eAAuB;AAC9B,QAAM,QAAQ;AACd,MAAI,SAAS;AACb,WAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AAC1B,cAAU,MAAM,KAAK,MAAM,KAAK,OAAO,IAAI,MAAM,MAAM,CAAC;AAAA,EAC1D;AACA,SAAO;AACT;AAKO,SAAS,kBAA0B;AACxC,QAAM,MAAM,WAAW,KAAK,MAAM,KAAK,OAAO,IAAI,WAAW,MAAM,CAAC;AACpE,QAAM,OAAO,MAAM,KAAK,MAAM,KAAK,OAAO,IAAI,MAAM,MAAM,CAAC;AAC3D,QAAM,SAAS,aAAa;AAC5B,SAAO,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM;AACjC;AAKO,SAAS,uBAA+B;AAC7C,QAAM,MAAM,WAAW,KAAK,MAAM,KAAK,OAAO,IAAI,WAAW,MAAM,CAAC;AACpE,QAAM,OAAO,MAAM,KAAK,MAAM,KAAK,OAAO,IAAI,MAAM,MAAM,CAAC;AAC3D,SAAO,GAAG,GAAG,IAAI,IAAI;AACvB;AAjJA,IAIM,YAsDA;AA1DN;AAAA;AAAA;AAIA,IAAM,aAAa;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,IAAM,QAAQ;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA;AAAA;;;ACtGO,SAAS,gBAAwB;AACtC,MAAI,CAAC,aAAa;AAChB,kBAAc,gBAAgB;AAAA,EAChC;AACA,SAAO;AACT;AAjBA,IASI;AATJ;AAAA;AAAA;AAOA;AAAA;AAAA;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/telemetry/fallback-ndjson.ts","../../src/telemetry/trace-helpers.ts"],"sourcesContent":["import * as fs from 'fs';\nimport * as path from 'path';\n\nlet CURRENT_FILE: string | null = null;\nlet dirReady = false;\nlet writeChain: Promise<void> = Promise.resolve();\nfunction resolveTargetPath(outDir: string): string {\n if (process.env.VISOR_FALLBACK_TRACE_FILE) {\n CURRENT_FILE = process.env.VISOR_FALLBACK_TRACE_FILE;\n return CURRENT_FILE;\n }\n if (CURRENT_FILE) return CURRENT_FILE;\n const ts = new Date().toISOString().replace(/[:.]/g, '-');\n CURRENT_FILE = path.join(outDir, `${ts}.ndjson`);\n return CURRENT_FILE;\n}\n\nfunction isEnabled(): boolean {\n // Enable when CLI set a fallback file (serverless mode), or when explicit file sink is enabled\n if (process.env.VISOR_FALLBACK_TRACE_FILE) return true;\n return (\n process.env.VISOR_TELEMETRY_ENABLED === 'true' &&\n (process.env.VISOR_TELEMETRY_SINK || 'file') === 'file'\n );\n}\n\nfunction appendAsync(outDir: string, line: string): void {\n writeChain = writeChain\n .then(async () => {\n if (!dirReady) {\n try {\n await fs.promises.mkdir(outDir, { recursive: true });\n } catch {}\n dirReady = true;\n }\n const target = resolveTargetPath(outDir);\n await fs.promises.appendFile(target, line, 'utf8');\n })\n .catch(() => {});\n}\n\nexport async function flushNdjson(): Promise<void> {\n try {\n await writeChain;\n } catch {}\n}\n\nexport function emitNdjsonFallback(name: string, attrs: Record<string, unknown>): void {\n try {\n if (!isEnabled()) return;\n const outDir = process.env.VISOR_TRACE_DIR || path.join(process.cwd(), 'output', 'traces');\n const line = JSON.stringify({ name, attributes: attrs }) + '\\n';\n appendAsync(outDir, line);\n } catch {\n // ignore\n }\n}\n\nexport function emitNdjsonSpanWithEvents(\n name: string,\n attrs: Record<string, unknown>,\n events: Array<{ name: string; attrs?: Record<string, unknown> }>\n): void {\n try {\n if (!isEnabled()) return;\n const outDir = process.env.VISOR_TRACE_DIR || path.join(process.cwd(), 'output', 'traces');\n const line = JSON.stringify({ name, attributes: attrs, events }) + '\\n';\n appendAsync(outDir, line);\n } catch {\n // ignore\n }\n}\n","import { context as otContext, Span, SpanStatusCode, trace, Attributes } from './lazy-otel';\nimport { getInstanceId } from '../utils/instance-id';\n\nexport function getTracer() {\n return trace.getTracer('visor');\n}\n\nexport async function withActiveSpan<T>(\n name: string,\n attrs: Record<string, unknown> | undefined,\n fn: (span: Span) => Promise<T>\n): Promise<T> {\n const tracer = getTracer();\n // Preserve parent context via tracer API; avoid logging parent IDs to stdout\n // Avoid noisy stdout logs that break JSON consumers\n return await new Promise<T>((resolve, reject) => {\n const callback = async (span: Span) => {\n // console.debug(`[trace] Span callback invoked for: [trace_id=${ctx.traceId} span_id=${ctx.spanId}] ${name} span: true`);\n try {\n const res = await fn(span);\n // console.debug('[trace] Span execution completed for:', name);\n resolve(res);\n } catch (err) {\n // console.debug('[trace] Span execution errored for:', name, err);\n try {\n if (err instanceof Error) span.recordException(err);\n span.setStatus({ code: SpanStatusCode.ERROR });\n } catch {}\n reject(err);\n } finally {\n try {\n // console.debug('[trace] Ending span:', name);\n span.end();\n } catch {}\n }\n };\n // startActiveSpan should use the current active context to set parent automatically\n const options = attrs ? { attributes: attrs as Attributes } : {};\n tracer.startActiveSpan(name, options, callback);\n });\n}\n\nexport function addEvent(name: string, attrs?: Record<string, unknown>): void {\n const span = trace.getSpan(otContext.active());\n if (span) {\n try {\n span.addEvent(name, attrs as Attributes);\n } catch {\n // ignore\n }\n }\n // Fallback NDJSON emission for serverless/file sink when SDK may be inactive\n try {\n const { emitNdjsonSpanWithEvents } = require('./fallback-ndjson');\n emitNdjsonSpanWithEvents('visor.event', {}, [{ name, attrs }]);\n if (name === 'fail_if.triggered') {\n emitNdjsonSpanWithEvents('visor.event', {}, [\n { name: 'fail_if.evaluated', attrs },\n { name: 'fail_if.triggered', attrs },\n ]);\n }\n } catch {}\n}\n\nexport function setSpanAttributes(attrs: Record<string, unknown>): void {\n const span = trace.getSpan(otContext.active());\n if (!span) return;\n try {\n for (const [k, v] of Object.entries(attrs)) span.setAttribute(k, v as never);\n } catch {\n // ignore\n }\n}\n\nexport function setSpanError(err: unknown): void {\n const span = trace.getSpan(otContext.active());\n if (!span) return;\n try {\n if (err instanceof Error) span.recordException(err);\n span.setStatus({ code: SpanStatusCode.ERROR });\n } catch {\n // ignore\n }\n}\n\n/**\n * Return standard visor.* resource attributes for the root `visor.run` span.\n * Reads version from package.json / env and git commit short SHA from env.\n */\nexport function getVisorRunAttributes(): Record<string, string> {\n const attrs: Record<string, string> = {};\n try {\n attrs['visor.version'] =\n process.env.VISOR_VERSION || (require('../../package.json')?.version ?? 'dev');\n } catch {\n attrs['visor.version'] = 'dev';\n }\n const commitShort = process.env.VISOR_COMMIT_SHORT || '';\n const commitFull = process.env.VISOR_COMMIT_SHA || process.env.VISOR_COMMIT || '';\n if (commitShort) {\n attrs['visor.commit'] = commitShort;\n }\n if (commitFull) {\n attrs['visor.commit.sha'] = commitFull;\n }\n attrs['visor.instance_id'] = getInstanceId();\n return attrs;\n}\n\n/**\n * Wraps a visor.run span with automatic run metrics (counter + duration histogram).\n * Use this instead of raw `withActiveSpan('visor.run', ...)` to get metrics for free.\n */\nexport async function withVisorRun<T>(\n attrs: Record<string, unknown>,\n runMeta: {\n source?: string;\n userId?: string;\n userName?: string;\n workflowId?: string;\n },\n fn: (span: Span) => Promise<T>\n): Promise<T> {\n const {\n recordRunStart,\n recordRunDuration,\n resetRunAiCalls,\n recordRunAiCalls,\n getRunAiCalls,\n } = require('./metrics');\n const instanceId = getInstanceId();\n recordRunStart({\n source: runMeta.source,\n userId: runMeta.userId,\n userName: runMeta.userName,\n workflowId: runMeta.workflowId,\n instanceId,\n });\n resetRunAiCalls();\n const startMs = Date.now();\n let success = true;\n try {\n return await withActiveSpan('visor.run', attrs, async span => {\n try {\n return await fn(span);\n } finally {\n // Record AI call count as span attribute for trace visibility\n try {\n span.setAttribute('visor.run.ai_calls', getRunAiCalls());\n span.setAttribute('visor.run.duration_ms', Date.now() - startMs);\n } catch {}\n }\n });\n } catch (err) {\n success = false;\n throw err;\n } finally {\n recordRunAiCalls({\n source: runMeta.source,\n workflowId: runMeta.workflowId,\n });\n recordRunDuration(Date.now() - startMs, {\n source: runMeta.source,\n userId: runMeta.userId,\n workflowId: runMeta.workflowId,\n success,\n });\n }\n}\n\n// Internal helper for tests: write a minimal run marker to NDJSON when using file sink\nlet __ndjsonPath: string | null = null;\nexport function __getOrCreateNdjsonPath(): string | null {\n try {\n // If sink is explicitly set to non-file, skip. If unset, still allow when a trace dir/file is configured.\n if (process.env.VISOR_TELEMETRY_SINK && process.env.VISOR_TELEMETRY_SINK !== 'file')\n return null;\n const path = require('path');\n const fs = require('fs');\n // Prefer explicit fallback file path if set by the CLI\n if (process.env.VISOR_FALLBACK_TRACE_FILE) {\n __ndjsonPath = process.env.VISOR_FALLBACK_TRACE_FILE;\n const dir = path.dirname(__ndjsonPath);\n if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });\n return __ndjsonPath;\n }\n const outDir = process.env.VISOR_TRACE_DIR || path.join(process.cwd(), 'output', 'traces');\n if (!fs.existsSync(outDir)) fs.mkdirSync(outDir, { recursive: true });\n if (!__ndjsonPath) {\n const ts = new Date().toISOString().replace(/[:.]/g, '-');\n __ndjsonPath = path.join(outDir, `${ts}.ndjson`);\n }\n return __ndjsonPath;\n } catch {\n return null;\n }\n}\nexport function _appendRunMarker(): void {\n try {\n const fs = require('fs');\n const p = __getOrCreateNdjsonPath();\n if (!p) return;\n const line = { name: 'visor.run', attributes: { started: true } };\n fs.appendFileSync(p, JSON.stringify(line) + '\\n', 'utf8');\n } catch {}\n}\n"],"mappings":"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","names":["emitNdjsonSpanWithEvents","path","fs"]}