@wrongstack/core 0.310.1 → 0.313.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 (187) hide show
  1. package/dist/chronicle/index.js +84 -6391
  2. package/dist/chronicle/project-server.js +84 -4868
  3. package/dist/chunk-2BUUIMQB.js +225 -0
  4. package/dist/chunk-2FK4WTFF.js +207 -0
  5. package/dist/chunk-2FQL4PDC.js +292 -0
  6. package/dist/chunk-2KKODIQU.js +2256 -0
  7. package/dist/chunk-2YU4WVBW.js +134 -0
  8. package/dist/chunk-3E244UDA.js +356 -0
  9. package/dist/chunk-3XPVB7BA.js +135 -0
  10. package/dist/chunk-4LJJYBAU.js +388 -0
  11. package/dist/chunk-4VWO3ZXL.js +342 -0
  12. package/dist/chunk-4XV6IR37.js +187 -0
  13. package/dist/chunk-4ZHTKJHM.js +183 -0
  14. package/dist/chunk-52RTVH4M.js +361 -0
  15. package/dist/chunk-57GEWK5X.js +26 -0
  16. package/dist/chunk-5DSMEVA4.js +931 -0
  17. package/dist/chunk-5RP3QTRL.js +1223 -0
  18. package/dist/chunk-5S437PRC.js +50 -0
  19. package/dist/chunk-5XDUGTKN.js +511 -0
  20. package/dist/chunk-62V2AFVG.js +422 -0
  21. package/dist/chunk-65RDIOR2.js +2470 -0
  22. package/dist/chunk-6AKOTGLM.js +597 -0
  23. package/dist/chunk-7ZHZE5EO.js +28 -0
  24. package/dist/chunk-A455ATZB.js +140 -0
  25. package/dist/chunk-AD7ZFZCS.js +46 -0
  26. package/dist/chunk-AI4LLQ2U.js +856 -0
  27. package/dist/chunk-ASX6AW36.js +789 -0
  28. package/dist/chunk-AT4V4XGI.js +3522 -0
  29. package/dist/chunk-AWNQ6ED6.js +311 -0
  30. package/dist/chunk-B4AMLZPB.js +9 -0
  31. package/dist/chunk-BAKVJLEV.js +417 -0
  32. package/dist/chunk-BJHVULHO.js +55 -0
  33. package/dist/chunk-CB2HFKTP.js +9 -0
  34. package/dist/chunk-CE4ZOCOI.js +1640 -0
  35. package/dist/chunk-CQQL4ZOQ.js +151 -0
  36. package/dist/chunk-DEIQMBD2.js +65 -0
  37. package/dist/chunk-E6I5RXVK.js +58 -0
  38. package/dist/chunk-EFEHDQGY.js +1589 -0
  39. package/dist/chunk-EODDVJBM.js +82 -0
  40. package/dist/chunk-EPC3GZD4.js +308 -0
  41. package/dist/chunk-FAYRX2AD.js +13 -0
  42. package/dist/chunk-FFSX2QDQ.js +362 -0
  43. package/dist/chunk-FHAMQS7Q.js +5856 -0
  44. package/dist/chunk-FIV4IJL7.js +2263 -0
  45. package/dist/chunk-FNXVT7HF.js +52 -0
  46. package/dist/chunk-FSWCWSTS.js +395 -0
  47. package/dist/chunk-FW5LDDMJ.js +16464 -0
  48. package/dist/chunk-FXQLIX3K.js +211 -0
  49. package/dist/chunk-G5AAKEEZ.js +228 -0
  50. package/dist/chunk-G5S3S5ZN.js +38 -0
  51. package/dist/chunk-GAZEWQEZ.js +231 -0
  52. package/dist/chunk-GFJOMSHG.js +125 -0
  53. package/dist/chunk-GFXZTHNI.js +158 -0
  54. package/dist/chunk-GM54GJBU.js +960 -0
  55. package/dist/chunk-GPQ3NJPR.js +900 -0
  56. package/dist/chunk-GTCU6DZ3.js +1 -0
  57. package/dist/chunk-H5E77KUJ.js +15 -0
  58. package/dist/chunk-H72H4XDU.js +1023 -0
  59. package/dist/chunk-HA4ZYA6T.js +178 -0
  60. package/dist/chunk-I45KAW2N.js +5020 -0
  61. package/dist/chunk-IQ35HMQL.js +1396 -0
  62. package/dist/chunk-IYFBFX34.js +86 -0
  63. package/dist/chunk-JJPMWPB6.js +109 -0
  64. package/dist/chunk-JTHKOYWU.js +663 -0
  65. package/dist/chunk-JVGPR3TS.js +365 -0
  66. package/dist/chunk-JVKB2TBL.js +48 -0
  67. package/dist/chunk-JX7VBZDK.js +31 -0
  68. package/dist/chunk-K3G6JBUC.js +5232 -0
  69. package/dist/chunk-K4YUNKU7.js +589 -0
  70. package/dist/chunk-KBZGE6LN.js +710 -0
  71. package/dist/chunk-KDQJCT2J.js +45 -0
  72. package/dist/chunk-KI4L2DUL.js +560 -0
  73. package/dist/chunk-KJ2ZTQSL.js +47 -0
  74. package/dist/chunk-KSJ5UTP7.js +154 -0
  75. package/dist/chunk-LHOA5DWA.js +28 -0
  76. package/dist/chunk-LX5QWLBL.js +27 -0
  77. package/dist/chunk-LZDDLNCZ.js +279 -0
  78. package/dist/chunk-M2WF6AXG.js +115 -0
  79. package/dist/chunk-M7BS2K6U.js +1 -0
  80. package/dist/chunk-NDBIPFNY.js +102 -0
  81. package/dist/chunk-NEMIWEXC.js +1199 -0
  82. package/dist/chunk-NFAYHPRH.js +323 -0
  83. package/dist/chunk-O37BQ65S.js +21 -0
  84. package/dist/chunk-O74MJHXU.js +187 -0
  85. package/dist/chunk-OJZEX73F.js +112 -0
  86. package/dist/chunk-PAAWLLZX.js +74 -0
  87. package/dist/chunk-PFXFQQRT.js +339 -0
  88. package/dist/chunk-PFZO3C6H.js +14 -0
  89. package/dist/chunk-PHH7LD45.js +113 -0
  90. package/dist/chunk-QRTG4XTI.js +188 -0
  91. package/dist/chunk-QVOVMXJR.js +1351 -0
  92. package/dist/chunk-RCQYT2I4.js +757 -0
  93. package/dist/chunk-RD6DEE36.js +1178 -0
  94. package/dist/chunk-RJIZEJ42.js +30 -0
  95. package/dist/chunk-RPOA7IAE.js +150 -0
  96. package/dist/chunk-SN2DQRL6.js +1172 -0
  97. package/dist/chunk-SQJVFEBV.js +41 -0
  98. package/dist/chunk-SQP64RCS.js +5391 -0
  99. package/dist/chunk-SVT4RNTR.js +49 -0
  100. package/dist/chunk-SWUFN7XM.js +43 -0
  101. package/dist/chunk-SXMVYC5H.js +174 -0
  102. package/dist/chunk-SZ6AYUIZ.js +23 -0
  103. package/dist/chunk-T3KGZBU5.js +3171 -0
  104. package/dist/chunk-TBRL2RCC.js +9 -0
  105. package/dist/chunk-TRT2HRWZ.js +18 -0
  106. package/dist/chunk-TYW2GI5I.js +1077 -0
  107. package/dist/chunk-UIWONWVG.js +4959 -0
  108. package/dist/chunk-VB3H5WWB.js +151 -0
  109. package/dist/chunk-W4A6QA3D.js +258 -0
  110. package/dist/chunk-WBPVKEEE.js +227 -0
  111. package/dist/chunk-WEBMSQP2.js +123 -0
  112. package/dist/chunk-WOEZV3Q4.js +333 -0
  113. package/dist/chunk-WQQON3SV.js +473 -0
  114. package/dist/chunk-WQTOVMGV.js +119 -0
  115. package/dist/chunk-WZO23AWO.js +2779 -0
  116. package/dist/chunk-XBDP4QPW.js +7 -0
  117. package/dist/chunk-XEBHSJLT.js +103 -0
  118. package/dist/chunk-XQ2ECNK3.js +1 -0
  119. package/dist/chunk-XQ2XGIBF.js +2086 -0
  120. package/dist/chunk-Y2GE5TSI.js +355 -0
  121. package/dist/chunk-YBUJCZ57.js +351 -0
  122. package/dist/chunk-YNCVSFGF.js +149 -0
  123. package/dist/chunk-YUPMXOGP.js +282 -0
  124. package/dist/chunk-YY6APYUM.js +49 -0
  125. package/dist/chunk-Z2IJUO45.js +691 -0
  126. package/dist/chunk-ZEHUCJHY.js +129 -0
  127. package/dist/chunk-ZYU2YOJ6.js +1496 -0
  128. package/dist/chunk-ZZ4V3WIZ.js +163 -0
  129. package/dist/coordination/agents/index.js +145 -6260
  130. package/dist/coordination/index.js +365 -34323
  131. package/dist/coordination/mailbox-project-server.js +48 -3220
  132. package/dist/coordination/mailbox-types.d.ts +13 -1
  133. package/dist/coordination/provider-status-tracker.d.ts +4 -0
  134. package/dist/coordination/sqlite-mailbox.d.ts +2 -1
  135. package/dist/core/agent.d.ts +14 -1
  136. package/dist/core/index.js +267 -12479
  137. package/dist/core/model-ref.js +5 -23
  138. package/dist/core/provider-runner.d.ts +36 -1
  139. package/dist/design/index.js +50 -1087
  140. package/dist/execution/index.d.ts +1 -1
  141. package/dist/execution/index.js +1599 -21887
  142. package/dist/execution/prompt-enhancer.js +16 -535
  143. package/dist/execution/retry-policy.d.ts +31 -1
  144. package/dist/extension/index.js +7 -311
  145. package/dist/goal/index.js +33 -3435
  146. package/dist/hooks/index.js +14 -1138
  147. package/dist/hq/index.js +112 -5139
  148. package/dist/hq/protocol.js +21 -668
  149. package/dist/index.js +1410 -92655
  150. package/dist/infrastructure/index.js +64 -4811
  151. package/dist/kernel/events/provider-events.d.ts +15 -0
  152. package/dist/kernel/events/wrongtrace-events.d.ts +26 -0
  153. package/dist/kernel/events.d.ts +16 -7
  154. package/dist/kernel/index.js +14 -992
  155. package/dist/models/index.js +40 -1117
  156. package/dist/notifications/index.js +3 -108
  157. package/dist/observability/index.js +17 -279
  158. package/dist/plugin/index.js +584 -14835
  159. package/dist/prompts/index.js +14 -948
  160. package/dist/registry/index.js +9 -822
  161. package/dist/registry-R23UBE7H.js +14 -0
  162. package/dist/replay/index.js +6 -84
  163. package/dist/review-finding-store-DKAV3AS6.js +21 -0
  164. package/dist/review-report-store-OWY3EC3N.js +19 -0
  165. package/dist/security/index.js +114 -2202
  166. package/dist/session-catalog/index.js +36 -2103
  167. package/dist/session-catalog/project-server.js +42 -1435
  168. package/dist/skills/index.js +35 -1578
  169. package/dist/storage/index.js +182 -15600
  170. package/dist/tasking/index.js +10 -676
  171. package/dist/tools/index.js +52 -9589
  172. package/dist/types/config/autonomy.d.ts +5 -0
  173. package/dist/types/config/tools.d.ts +2 -2
  174. package/dist/types/config/ui.d.ts +1 -1
  175. package/dist/types/errors.d.ts +18 -0
  176. package/dist/types/index.js +121 -1341
  177. package/dist/types/provider-runner.d.ts +8 -0
  178. package/dist/types/session-markers.js +8 -144
  179. package/dist/utils/error.js +3 -4
  180. package/dist/utils/expect-defined.js +3 -9
  181. package/dist/utils/heap-watchdog.js +6 -706
  182. package/dist/utils/index.js +269 -5685
  183. package/dist/utils/sage-output-block.js +5 -42
  184. package/dist/wiring/proxy-rewrite.d.ts +92 -4
  185. package/dist/wiring/proxy-rewrite.js +20 -61
  186. package/dist/worktree/index.js +6 -887
  187. package/package.json +4 -4
@@ -0,0 +1,178 @@
1
+ // src/observability/network-telemetry.ts
2
+ import { AsyncLocalStorage } from "node:async_hooks";
3
+ import { createHash, randomUUID } from "node:crypto";
4
+ import { channel } from "node:diagnostics_channel";
5
+ var storage = new AsyncLocalStorage();
6
+ var requests = /* @__PURE__ */ new WeakMap();
7
+ var users = 0;
8
+ var unsubscribe;
9
+ function runWithNetworkTelemetry(context, run) {
10
+ return storage.run(context, run);
11
+ }
12
+ function startNetworkTelemetryMonitor() {
13
+ users++;
14
+ if (!unsubscribe) unsubscribe = subscribe();
15
+ let stopped = false;
16
+ return () => {
17
+ if (stopped) return;
18
+ stopped = true;
19
+ users--;
20
+ if (users <= 0) {
21
+ unsubscribe?.();
22
+ unsubscribe = void 0;
23
+ users = 0;
24
+ }
25
+ };
26
+ }
27
+ function subscribe() {
28
+ const create = channel("undici:request:create");
29
+ const headers = channel("undici:request:headers");
30
+ const error = channel("undici:request:error");
31
+ const onCreate = (message) => {
32
+ const context = storage.getStore();
33
+ const request = objectField(message, "request");
34
+ if (!context || !request) return;
35
+ const target = safeTarget(request);
36
+ const startedAt = (/* @__PURE__ */ new Date()).toISOString();
37
+ const requestBytes = numberField(request, "contentLength");
38
+ const state = {
39
+ ...context,
40
+ requestId: randomUUID(),
41
+ ...target,
42
+ ...requestBytes !== void 0 ? { requestBytes } : {},
43
+ startedAt,
44
+ startedNs: process.hrtime.bigint()
45
+ };
46
+ requests.set(request, state);
47
+ context.events.emit("network.request.started", {
48
+ ...identity(state),
49
+ requestId: state.requestId,
50
+ method: state.method,
51
+ scheme: state.scheme,
52
+ serverAddress: state.serverAddress,
53
+ ...state.serverPort !== void 0 ? { serverPort: state.serverPort } : {},
54
+ pathHash: state.pathHash,
55
+ queryKeys: queryKeys(request),
56
+ ...state.requestBytes !== void 0 ? { requestBytes: state.requestBytes } : {},
57
+ startedAt
58
+ });
59
+ };
60
+ const onHeaders = (message) => {
61
+ const request = objectField(message, "request");
62
+ if (!request) return;
63
+ const state = requests.get(request);
64
+ if (!state) return;
65
+ requests.delete(request);
66
+ const response = objectField(message, "response");
67
+ const responseBytes = contentLength(response);
68
+ state.events.emit("network.request.completed", {
69
+ ...identity(state),
70
+ requestId: state.requestId,
71
+ method: state.method,
72
+ scheme: state.scheme,
73
+ serverAddress: state.serverAddress,
74
+ ...state.serverPort !== void 0 ? { serverPort: state.serverPort } : {},
75
+ pathHash: state.pathHash,
76
+ statusCode: numberField(response, "statusCode") ?? 0,
77
+ durationMs: elapsed(state.startedNs),
78
+ ...state.requestBytes !== void 0 ? { requestBytes: state.requestBytes } : {},
79
+ ...responseBytes !== void 0 ? { responseBytes } : {},
80
+ completedAt: (/* @__PURE__ */ new Date()).toISOString()
81
+ });
82
+ };
83
+ const onError = (message) => {
84
+ const request = objectField(message, "request");
85
+ if (!request) return;
86
+ const state = requests.get(request);
87
+ if (!state) return;
88
+ requests.delete(request);
89
+ const err = objectField(message, "error");
90
+ const errorCode = stringField(err, "code");
91
+ state.events.emit("network.request.failed", {
92
+ ...identity(state),
93
+ requestId: state.requestId,
94
+ method: state.method,
95
+ scheme: state.scheme,
96
+ serverAddress: state.serverAddress,
97
+ ...state.serverPort !== void 0 ? { serverPort: state.serverPort } : {},
98
+ pathHash: state.pathHash,
99
+ durationMs: elapsed(state.startedNs),
100
+ errorName: stringField(err, "name") ?? "Error",
101
+ ...errorCode ? { errorCode } : {},
102
+ failedAt: (/* @__PURE__ */ new Date()).toISOString()
103
+ });
104
+ };
105
+ create.subscribe(onCreate);
106
+ headers.subscribe(onHeaders);
107
+ error.subscribe(onError);
108
+ return () => {
109
+ create.unsubscribe(onCreate);
110
+ headers.unsubscribe(onHeaders);
111
+ error.unsubscribe(onError);
112
+ };
113
+ }
114
+ function identity(state) {
115
+ return {
116
+ sessionId: state.sessionId,
117
+ ...state.traceId ? { traceId: state.traceId } : {},
118
+ ...state.agentId ? { agentId: state.agentId } : {},
119
+ ...state.toolCallId ? { toolCallId: state.toolCallId } : {},
120
+ ...state.attemptId ? { attemptId: state.attemptId } : {},
121
+ initiator: state.initiator,
122
+ operationName: state.operationName
123
+ };
124
+ }
125
+ function safeTarget(request) {
126
+ const origin = String(request.origin ?? "");
127
+ const path = String(request.path ?? "");
128
+ let url;
129
+ try {
130
+ url = new URL(path, origin);
131
+ } catch {
132
+ url = new URL("http://invalid.local/");
133
+ }
134
+ return {
135
+ method: String(request.method ?? "GET").toUpperCase(),
136
+ scheme: url.protocol.replace(":", ""),
137
+ serverAddress: url.hostname,
138
+ ...url.port ? { serverPort: Number(url.port) } : {},
139
+ pathHash: hash(url.pathname)
140
+ };
141
+ }
142
+ function queryKeys(request) {
143
+ try {
144
+ return [...new URL(String(request.path ?? ""), String(request.origin ?? "")).searchParams.keys()].filter((v, i, a) => a.indexOf(v) === i).slice(0, 50);
145
+ } catch {
146
+ return [];
147
+ }
148
+ }
149
+ function contentLength(response) {
150
+ const raw = response?.headers;
151
+ if (!Array.isArray(raw)) return void 0;
152
+ for (let index = 0; index < raw.length - 1; index += 2) if (String(raw[index]).toLowerCase() === "content-length") {
153
+ const value = Number(String(raw[index + 1]));
154
+ return Number.isFinite(value) ? value : void 0;
155
+ }
156
+ return void 0;
157
+ }
158
+ function objectField(value, key) {
159
+ return value && typeof value === "object" && value[key] && typeof value[key] === "object" ? value[key] : void 0;
160
+ }
161
+ function stringField(value, key) {
162
+ return typeof value?.[key] === "string" ? value[key] : void 0;
163
+ }
164
+ function numberField(value, key) {
165
+ return typeof value?.[key] === "number" ? value[key] : void 0;
166
+ }
167
+ function elapsed(start) {
168
+ return Number(process.hrtime.bigint() - start) / 1e6;
169
+ }
170
+ function hash(value) {
171
+ return createHash("sha256").update(value).digest("hex");
172
+ }
173
+
174
+ export {
175
+ runWithNetworkTelemetry,
176
+ startNetworkTelemetryMonitor
177
+ };
178
+ //# sourceMappingURL=chunk-HA4ZYA6T.js.map