@wrongstack/core 0.313.0 → 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 (182) 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 -34324
  131. package/dist/coordination/mailbox-project-server.js +48 -3276
  132. package/dist/coordination/provider-status-tracker.d.ts +4 -0
  133. package/dist/core/agent.d.ts +14 -1
  134. package/dist/core/index.js +267 -12480
  135. package/dist/core/model-ref.js +5 -23
  136. package/dist/core/provider-runner.d.ts +36 -1
  137. package/dist/design/index.js +50 -1087
  138. package/dist/execution/index.d.ts +1 -1
  139. package/dist/execution/index.js +1599 -21888
  140. package/dist/execution/prompt-enhancer.js +16 -535
  141. package/dist/execution/retry-policy.d.ts +31 -1
  142. package/dist/extension/index.js +7 -311
  143. package/dist/goal/index.js +33 -3435
  144. package/dist/hooks/index.js +14 -1138
  145. package/dist/hq/index.js +112 -5139
  146. package/dist/hq/protocol.js +21 -668
  147. package/dist/index.js +1410 -92656
  148. package/dist/infrastructure/index.js +64 -4811
  149. package/dist/kernel/events/provider-events.d.ts +15 -0
  150. package/dist/kernel/index.js +14 -992
  151. package/dist/models/index.js +40 -1117
  152. package/dist/notifications/index.js +3 -108
  153. package/dist/observability/index.js +17 -279
  154. package/dist/plugin/index.js +584 -14835
  155. package/dist/prompts/index.js +14 -948
  156. package/dist/registry/index.js +9 -822
  157. package/dist/registry-R23UBE7H.js +14 -0
  158. package/dist/replay/index.js +6 -84
  159. package/dist/review-finding-store-DKAV3AS6.js +21 -0
  160. package/dist/review-report-store-OWY3EC3N.js +19 -0
  161. package/dist/security/index.js +114 -2202
  162. package/dist/session-catalog/index.js +36 -2103
  163. package/dist/session-catalog/project-server.js +42 -1435
  164. package/dist/skills/index.js +35 -1578
  165. package/dist/storage/index.js +182 -15600
  166. package/dist/tasking/index.js +10 -676
  167. package/dist/tools/index.js +52 -9590
  168. package/dist/types/config/autonomy.d.ts +5 -0
  169. package/dist/types/config/ui.d.ts +1 -1
  170. package/dist/types/errors.d.ts +18 -0
  171. package/dist/types/index.js +121 -1342
  172. package/dist/types/provider-runner.d.ts +8 -0
  173. package/dist/types/session-markers.js +8 -144
  174. package/dist/utils/error.js +3 -4
  175. package/dist/utils/expect-defined.js +3 -9
  176. package/dist/utils/heap-watchdog.js +6 -706
  177. package/dist/utils/index.js +269 -5685
  178. package/dist/utils/sage-output-block.js +5 -42
  179. package/dist/wiring/proxy-rewrite.d.ts +18 -0
  180. package/dist/wiring/proxy-rewrite.js +18 -121
  181. package/dist/worktree/index.js +6 -887
  182. 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