@sovara/runner 0.1.0
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.
- package/LICENSE +202 -0
- package/README.md +331 -0
- package/dist/apiTypes.d.ts +4 -0
- package/dist/apiTypes.d.ts.map +1 -0
- package/dist/apiTypes.js +4 -0
- package/dist/apiTypes.js.map +1 -0
- package/dist/capture/requestEnvelope.d.ts +10 -0
- package/dist/capture/requestEnvelope.d.ts.map +1 -0
- package/dist/capture/requestEnvelope.js +79 -0
- package/dist/capture/requestEnvelope.js.map +1 -0
- package/dist/capture/responseEnvelope.d.ts +14 -0
- package/dist/capture/responseEnvelope.d.ts.map +1 -0
- package/dist/capture/responseEnvelope.js +43 -0
- package/dist/capture/responseEnvelope.js.map +1 -0
- package/dist/capture/sseUtils.d.ts +3 -0
- package/dist/capture/sseUtils.d.ts.map +1 -0
- package/dist/capture/sseUtils.js +69 -0
- package/dist/capture/sseUtils.js.map +1 -0
- package/dist/capture/streamCapture.d.ts +5 -0
- package/dist/capture/streamCapture.d.ts.map +1 -0
- package/dist/capture/streamCapture.js +19 -0
- package/dist/capture/streamCapture.js.map +1 -0
- package/dist/claudeAgentSdk/parseHook.d.ts +20 -0
- package/dist/claudeAgentSdk/parseHook.d.ts.map +1 -0
- package/dist/claudeAgentSdk/parseHook.js +160 -0
- package/dist/claudeAgentSdk/parseHook.js.map +1 -0
- package/dist/claudeAgentSdk/wrapper.d.ts +17 -0
- package/dist/claudeAgentSdk/wrapper.d.ts.map +1 -0
- package/dist/claudeAgentSdk/wrapper.js +219 -0
- package/dist/claudeAgentSdk/wrapper.js.map +1 -0
- package/dist/constants.d.ts +6 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +7 -0
- package/dist/constants.js.map +1 -0
- package/dist/context.d.ts +34 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +106 -0
- package/dist/context.js.map +1 -0
- package/dist/endpointPatterns.json +82 -0
- package/dist/endpointWhitelist.d.ts +2 -0
- package/dist/endpointWhitelist.d.ts.map +1 -0
- package/dist/endpointWhitelist.js +11 -0
- package/dist/endpointWhitelist.js.map +1 -0
- package/dist/env.d.ts +7 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +10 -0
- package/dist/env.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/mcpPatch.d.ts +2 -0
- package/dist/mcpPatch.d.ts.map +1 -0
- package/dist/mcpPatch.js +195 -0
- package/dist/mcpPatch.js.map +1 -0
- package/dist/payload/editIoExcludePatterns.json +292 -0
- package/dist/payload/filterDict.d.ts +3 -0
- package/dist/payload/filterDict.d.ts.map +1 -0
- package/dist/payload/filterDict.js +26 -0
- package/dist/payload/filterDict.js.map +1 -0
- package/dist/payload/flatten.d.ts +6 -0
- package/dist/payload/flatten.d.ts.map +1 -0
- package/dist/payload/flatten.js +79 -0
- package/dist/payload/flatten.js.map +1 -0
- package/dist/payload/wrap.d.ts +6 -0
- package/dist/payload/wrap.d.ts.map +1 -0
- package/dist/payload/wrap.js +8 -0
- package/dist/payload/wrap.js.map +1 -0
- package/dist/priors.d.ts +7 -0
- package/dist/priors.d.ts.map +1 -0
- package/dist/priors.js +87 -0
- package/dist/priors.js.map +1 -0
- package/dist/priorsBlockGuidance.json +3 -0
- package/dist/projectContext.d.ts +12 -0
- package/dist/projectContext.d.ts.map +1 -0
- package/dist/projectContext.js +26 -0
- package/dist/projectContext.js.map +1 -0
- package/dist/runLogCapture.d.ts +10 -0
- package/dist/runLogCapture.d.ts.map +1 -0
- package/dist/runLogCapture.js +117 -0
- package/dist/runLogCapture.js.map +1 -0
- package/dist/runtimeClient.d.ts +103 -0
- package/dist/runtimeClient.d.ts.map +1 -0
- package/dist/runtimeClient.js +202 -0
- package/dist/runtimeClient.js.map +1 -0
- package/dist/serverLifecycle.d.ts +2 -0
- package/dist/serverLifecycle.d.ts.map +1 -0
- package/dist/serverLifecycle.js +59 -0
- package/dist/serverLifecycle.js.map +1 -0
- package/dist/sseListener.d.ts +9 -0
- package/dist/sseListener.d.ts.map +1 -0
- package/dist/sseListener.js +56 -0
- package/dist/sseListener.js.map +1 -0
- package/dist/transport/awsSdkHttp2Patch.d.ts +2 -0
- package/dist/transport/awsSdkHttp2Patch.d.ts.map +1 -0
- package/dist/transport/awsSdkHttp2Patch.js +428 -0
- package/dist/transport/awsSdkHttp2Patch.js.map +1 -0
- package/dist/transport/fetchPatch.d.ts +3 -0
- package/dist/transport/fetchPatch.d.ts.map +1 -0
- package/dist/transport/fetchPatch.js +237 -0
- package/dist/transport/fetchPatch.js.map +1 -0
- package/dist/transport/nodeHttpPatch.d.ts +3 -0
- package/dist/transport/nodeHttpPatch.d.ts.map +1 -0
- package/dist/transport/nodeHttpPatch.js +522 -0
- package/dist/transport/nodeHttpPatch.js.map +1 -0
- package/dist/user.d.ts +11 -0
- package/dist/user.d.ts.map +1 -0
- package/dist/user.js +31 -0
- package/dist/user.js.map +1 -0
- package/dist/util/logger.d.ts +2 -0
- package/dist/util/logger.d.ts.map +1 -0
- package/dist/util/logger.js +9 -0
- package/dist/util/logger.js.map +1 -0
- package/dist/util/stableJson.d.ts +2 -0
- package/dist/util/stableJson.d.ts.map +1 -0
- package/dist/util/stableJson.js +22 -0
- package/dist/util/stableJson.js.map +1 -0
- package/dist/util/stackTrace.d.ts +2 -0
- package/dist/util/stackTrace.d.ts.map +1 -0
- package/dist/util/stackTrace.js +11 -0
- package/dist/util/stackTrace.js.map +1 -0
- package/package.json +74 -0
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"pattern": "^_.*"
|
|
4
|
+
},
|
|
5
|
+
{
|
|
6
|
+
"pattern": "^sse(\\.|$)"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"pattern": "(^|.*\\.)[^.]*encrypted[^.]*($|\\.)",
|
|
10
|
+
"flags": "i"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"pattern": "^url$"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"pattern": "(^|.*\\.)(?:urls)(?:\\.|$)"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"pattern": "(^|.*\\.)(?:[^.]+_url|[^.]+Url)$"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"pattern": "^max_tokens$"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"pattern": "^stream$"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"pattern": "^temperature$"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"pattern": "^metadata\\.user_id$"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"pattern": "^thinking(\\.|$)"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"pattern": "^context_management(\\.|$)"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"pattern": "^output_config\\.(?!effort$).+"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"pattern": "^body\\.metadata\\.user_id$"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"pattern": "^body\\.thinking(\\.|$)"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"pattern": "^body\\.context_management(\\.|$)"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"pattern": "^body\\.output_config\\.(?!effort$).+"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"pattern": "^body\\.stream$"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"pattern": "^body\\.contents\\.\\d+\\.parts\\.\\d+\\.thoughtSignature$"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"pattern": "^body\\.messages\\.\\d+\\.content\\.\\d+\\.signature$"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"pattern": "^body\\.inferenceConfig\\.(maxTokens|temperature)$"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"pattern": "^content\\.id$"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"pattern": "^content\\.type$"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"pattern": "^content\\.object$"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"pattern": "^content\\.created(_at)?$"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"pattern": "^content\\.completed_at$"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"pattern": "^content\\.model$"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"pattern": "^content\\.modelVersion$"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"pattern": "^content\\.status$"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"pattern": "^content\\.background$"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"pattern": "^content\\.context(\\.|$)"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"pattern": "^content\\.error$"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"pattern": "^content\\.instructions$"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"pattern": "^content\\.metadata"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"pattern": "^content\\.moderation$"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"pattern": "^content\\.request_id$"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"pattern": "^content\\.usage"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"pattern": "^content\\.service_tier$"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"pattern": "^content\\.system_fingerprint$"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"pattern": "^content\\.stop_sequence$"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"pattern": "^content\\.billing"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"pattern": "^content\\.max_output_tokens$"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"pattern": "^content\\.max_tool_calls$"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"pattern": "^content\\.createTime$"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"pattern": "^content\\.frequency_penalty$"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"pattern": "^content\\.incomplete_details(\\.|$)"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"pattern": "^content\\.parallel_tool_calls$"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"pattern": "^content\\.presence_penalty$"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"pattern": "^content\\.previous_response_id$"
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"pattern": "^content\\.prompt_cache"
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"pattern": "^content\\.reasoning\\.(effort|summary)$"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"pattern": "^content\\.safety_identifier$"
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"pattern": "^content\\.signature$"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"pattern": "^content\\.store$"
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"pattern": "^content\\.temperature$"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"pattern": "^content\\.text\\.(format\\.type|verbosity)$"
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"pattern": "^content\\.tool_choice$"
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"pattern": "^content\\.tools(\\.|$)"
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"pattern": "^content\\.top_(logprobs|p)$"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"pattern": "^content\\.truncation$"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"pattern": "^content\\.user$"
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"pattern": "^content\\.responseId$"
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"pattern": "^content\\.metrics(\\.|$)"
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"pattern": "^content\\.stopReason$"
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"pattern": "^content\\.\\d+\\.signature$"
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"pattern": "^content\\.content\\.\\d+\\.(type|id|signature)$"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"pattern": "^content\\.content\\.\\d+\\.content\\.\\d+\\.type$"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"pattern": "^content\\.choices\\.\\d+\\.index$"
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"pattern": "^content\\.choices\\.\\d+\\.finish_reason$"
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"pattern": "^content\\.choices\\.\\d+\\.message\\.(refusal|annotations|reasoning)$"
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"pattern": "^content\\.choices\\.\\d+\\.(logprobs|seed)$"
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"pattern": "^content\\.output\\.\\d+\\.(id|type|status)$"
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"pattern": "^content\\.output\\.\\d+\\.content\\.\\d+\\.(type|annotations|logprobs)$"
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"pattern": "^content\\.candidates\\.\\d+\\.avgLogprobs$"
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
"pattern": "^content\\.candidates\\.\\d+\\.(finishReason|index)$"
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"pattern": "^content\\.candidates\\.\\d+\\.content\\.parts\\.\\d+\\.thoughtSignature$"
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"pattern": "^content\\.usageMetadata"
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"pattern": "^tools\\.\\d+\\.parameters\\.(additionalProperties|properties|required|type)$"
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"pattern": "^tools\\.\\d+\\.strict$"
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
"pattern": "^content\\.done$"
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"pattern": "^content\\.done_reason$"
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"pattern": "^content\\.eval_count$"
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
"pattern": "^content\\.eval_duration$"
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"pattern": "^content\\.load_duration$"
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"pattern": "^content\\.prompt_eval_count$"
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"pattern": "^content\\.prompt_eval_duration$"
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
"pattern": "^content\\.total_duration$"
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"pattern": "^headers(\\.|$)",
|
|
266
|
+
"flags": "i"
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"pattern": "^client_message(_type)?(\\.|$)"
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"pattern": "^content\\.output_transcription_segments(\\.|$)"
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"pattern": "^protocol$"
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"pattern": "^server_messages(\\.|$)"
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"pattern": "^setup(\\.|$)"
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"pattern": "^uri$"
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"pattern": "^(method|path|pool_(host|port|scheme))$"
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"pattern": "^(reason|reason_phrase|request_url|status|status_code|version|version_string)$"
|
|
291
|
+
}
|
|
292
|
+
]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filterDict.d.ts","sourceRoot":"","sources":["../../src/payload/filterDict.ts"],"names":[],"mappings":"AAiBA,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiBlE"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { fileURLToPath } from "node:url";
|
|
3
|
+
import { flatten, flattenKeepList, orderedUnflattenList } from "./flatten.js";
|
|
4
|
+
const patternSpec = JSON.parse(readFileSync(fileURLToPath(new URL("./editIoExcludePatterns.json", import.meta.url)), "utf8"));
|
|
5
|
+
const EDIT_IO_EXCLUDE_PATTERNS = patternSpec.map((entry) => new RegExp(entry.pattern, entry.flags ?? ""));
|
|
6
|
+
export function shouldExcludeKey(key) {
|
|
7
|
+
return EDIT_IO_EXCLUDE_PATTERNS.some((pattern) => pattern.test(key));
|
|
8
|
+
}
|
|
9
|
+
export function filterDict(input) {
|
|
10
|
+
const flat = flatten(input, ".");
|
|
11
|
+
const filteredEntries = Object.entries(flat).filter(([key, value]) => {
|
|
12
|
+
if (shouldExcludeKey(key)) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
if (Array.isArray(value) && value.length === 0) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
if (value && typeof value === "object" && !Array.isArray(value) && Object.keys(value).length === 0) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
return true;
|
|
22
|
+
});
|
|
23
|
+
const unflattened = orderedUnflattenList(Object.fromEntries(filteredEntries), ".");
|
|
24
|
+
return flattenKeepList(unflattened);
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=filterDict.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filterDict.js","sourceRoot":"","sources":["../../src/payload/filterDict.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAI9E,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,YAAY,CACV,aAAa,CAAC,IAAI,GAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACvE,MAAM,CACP,CACgB,CAAC;AAEpB,MAAM,wBAAwB,GAAa,WAAW,CAAC,GAAG,CACxD,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CACxD,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACjC,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACnE,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnG,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,CAAC;IACnF,OAAO,eAAe,CAAC,WAAW,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function flatten(input: unknown, separator?: string): Record<string, unknown>;
|
|
2
|
+
export declare function unflatten(flat: Record<string, unknown>, separator?: string): Record<string, unknown>;
|
|
3
|
+
export declare function flattenKeepList(input: unknown): Record<string, unknown>;
|
|
4
|
+
export declare function convertDenseNumericDictsToLists(value: unknown): unknown;
|
|
5
|
+
export declare function orderedUnflattenList(flatDict: Record<string, unknown>, separator?: string): unknown;
|
|
6
|
+
//# sourceMappingURL=flatten.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flatten.d.ts","sourceRoot":"","sources":["../../src/payload/flatten.ts"],"names":[],"mappings":"AAMA,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,SAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKhF;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,SAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEjG;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA6BvE;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAmCvE;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,SAAM,GAAG,OAAO,CAKhG"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { flatten as flatFlatten, unflatten as flatUnflatten } from "flat";
|
|
2
|
+
function isPlainObject(value) {
|
|
3
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
4
|
+
}
|
|
5
|
+
export function flatten(input, separator = ".") {
|
|
6
|
+
if (isPlainObject(input) || Array.isArray(input)) {
|
|
7
|
+
return flatFlatten(input, { delimiter: separator });
|
|
8
|
+
}
|
|
9
|
+
return {};
|
|
10
|
+
}
|
|
11
|
+
export function unflatten(flat, separator = ".") {
|
|
12
|
+
return flatUnflatten(flat, { delimiter: separator });
|
|
13
|
+
}
|
|
14
|
+
export function flattenKeepList(input) {
|
|
15
|
+
function recurse(value) {
|
|
16
|
+
if (isPlainObject(value)) {
|
|
17
|
+
const out = {};
|
|
18
|
+
const walk = (node, prefix) => {
|
|
19
|
+
for (const [key, child] of Object.entries(node)) {
|
|
20
|
+
const path = prefix ? `${prefix}.${key}` : key;
|
|
21
|
+
if (Array.isArray(child)) {
|
|
22
|
+
out[path] = child.map((item) => recurse(item));
|
|
23
|
+
}
|
|
24
|
+
else if (isPlainObject(child)) {
|
|
25
|
+
walk(child, path);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
out[path] = child;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
walk(value, "");
|
|
33
|
+
return out;
|
|
34
|
+
}
|
|
35
|
+
if (Array.isArray(value)) {
|
|
36
|
+
return value.map((item) => recurse(item));
|
|
37
|
+
}
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
const result = recurse(input);
|
|
41
|
+
return isPlainObject(result) ? result : {};
|
|
42
|
+
}
|
|
43
|
+
export function convertDenseNumericDictsToLists(value) {
|
|
44
|
+
if (Array.isArray(value)) {
|
|
45
|
+
return value.map((item) => convertDenseNumericDictsToLists(item));
|
|
46
|
+
}
|
|
47
|
+
if (!isPlainObject(value)) {
|
|
48
|
+
return value;
|
|
49
|
+
}
|
|
50
|
+
const converted = {};
|
|
51
|
+
for (const [key, child] of Object.entries(value)) {
|
|
52
|
+
converted[key] = convertDenseNumericDictsToLists(child);
|
|
53
|
+
}
|
|
54
|
+
const keys = Object.keys(converted);
|
|
55
|
+
if (keys.length === 0) {
|
|
56
|
+
return converted;
|
|
57
|
+
}
|
|
58
|
+
const numericIndexes = [];
|
|
59
|
+
for (const key of keys) {
|
|
60
|
+
if (!/^\d+$/.test(key)) {
|
|
61
|
+
return converted;
|
|
62
|
+
}
|
|
63
|
+
numericIndexes.push(Number(key));
|
|
64
|
+
}
|
|
65
|
+
numericIndexes.sort((a, b) => a - b);
|
|
66
|
+
for (let i = 0; i < numericIndexes.length; i += 1) {
|
|
67
|
+
if (numericIndexes[i] !== i) {
|
|
68
|
+
return converted;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return numericIndexes.map((index) => converted[String(index)]);
|
|
72
|
+
}
|
|
73
|
+
export function orderedUnflattenList(flatDict, separator = ".") {
|
|
74
|
+
if (Object.keys(flatDict).length === 0) {
|
|
75
|
+
return {};
|
|
76
|
+
}
|
|
77
|
+
return convertDenseNumericDictsToLists(unflatten(flatDict, separator));
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=flatten.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flatten.js","sourceRoot":"","sources":["../../src/payload/flatten.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../../src/payload/wrap.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,OAAO,IAAI;IACzC,GAAG,EAAE,CAAC,CAAC;IACP,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAK5D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrap.js","sourceRoot":"","sources":["../../src/payload/wrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAO7C,MAAM,UAAU,cAAc,CAAI,GAAM;IACtC,OAAO;QACL,GAAG;QACH,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC;KACzB,CAAC;AACJ,CAAC"}
|
package/dist/priors.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { PriorRecord } from "./runtimeClient.js";
|
|
2
|
+
export type InjectPriorsMethod = "retrieve" | "all" | "none";
|
|
3
|
+
export declare function renderPriorsBlock(priors: PriorRecord[], options?: {
|
|
4
|
+
manual?: boolean;
|
|
5
|
+
}): string;
|
|
6
|
+
export declare function injectPriors(path?: string | null, context?: unknown, method?: InjectPriorsMethod): Promise<string>;
|
|
7
|
+
//# sourceMappingURL=priors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"priors.d.ts","sourceRoot":"","sources":["../src/priors.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAUtD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,KAAK,GAAG,MAAM,CAAC;AAE7D,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EAAE,EACrB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACjC,MAAM,CA6BR;AAaD,wBAAsB,YAAY,CAChC,IAAI,GAAE,MAAM,GAAG,IAAW,EAC1B,OAAO,GAAE,OAAc,EACvB,MAAM,GAAE,kBAA+B,GACtC,OAAO,CAAC,MAAM,CAAC,CAsDjB"}
|
package/dist/priors.js
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { fileURLToPath } from "node:url";
|
|
3
|
+
import { getCurrentRunScope } from "./context.js";
|
|
4
|
+
import { warnOnce } from "./util/logger.js";
|
|
5
|
+
const PRIORS_BLOCK_GUIDANCE = JSON.parse(readFileSync(fileURLToPath(new URL("./priorsBlockGuidance.json", import.meta.url)), "utf8")).guidance;
|
|
6
|
+
export function renderPriorsBlock(priors, options = {}) {
|
|
7
|
+
if (priors.length === 0) {
|
|
8
|
+
return "";
|
|
9
|
+
}
|
|
10
|
+
const manifest = {
|
|
11
|
+
priors: priors
|
|
12
|
+
.filter((prior) => typeof prior.prior_id === "string" && prior.prior_id.length > 0)
|
|
13
|
+
.map((prior) => ({ prior_id: prior.prior_id })),
|
|
14
|
+
};
|
|
15
|
+
if (options.manual) {
|
|
16
|
+
manifest.manual = true;
|
|
17
|
+
}
|
|
18
|
+
const blocks = priors
|
|
19
|
+
.map((prior) => {
|
|
20
|
+
const heading = prior.title ?? prior.name ?? prior.prior_id ?? "Untitled";
|
|
21
|
+
const body = prior.content ?? "";
|
|
22
|
+
return `## ${heading}\n${body}`;
|
|
23
|
+
})
|
|
24
|
+
.join("\n\n");
|
|
25
|
+
return ("<sovara-priors>\n" +
|
|
26
|
+
`<!-- ${JSON.stringify(manifest)} -->\n` +
|
|
27
|
+
`${PRIORS_BLOCK_GUIDANCE}\n\n` +
|
|
28
|
+
`${blocks}\n` +
|
|
29
|
+
"</sovara-priors>");
|
|
30
|
+
}
|
|
31
|
+
function stringifyContext(context) {
|
|
32
|
+
if (typeof context === "string") {
|
|
33
|
+
return context;
|
|
34
|
+
}
|
|
35
|
+
try {
|
|
36
|
+
return JSON.stringify(context, null, 2);
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
return String(context);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export async function injectPriors(path = null, context = null, method = "retrieve") {
|
|
43
|
+
if (method === "none") {
|
|
44
|
+
return "";
|
|
45
|
+
}
|
|
46
|
+
const scope = getCurrentRunScope();
|
|
47
|
+
if (!scope) {
|
|
48
|
+
warnOnce("injectPriors:no-active-run", "[sovara] injectPriors() called outside of withSovaraRun(); returning empty context.");
|
|
49
|
+
return "";
|
|
50
|
+
}
|
|
51
|
+
const { client } = scope;
|
|
52
|
+
try {
|
|
53
|
+
if (method === "retrieve") {
|
|
54
|
+
if (context === null || context === undefined) {
|
|
55
|
+
throw new Error("context is required when method='retrieve'");
|
|
56
|
+
}
|
|
57
|
+
if (!client.retrievePriors) {
|
|
58
|
+
return "";
|
|
59
|
+
}
|
|
60
|
+
const { priors } = await client.retrievePriors({
|
|
61
|
+
runId: scope.runId,
|
|
62
|
+
path,
|
|
63
|
+
context: stringifyContext(context),
|
|
64
|
+
});
|
|
65
|
+
return renderPriorsBlock(priors, { manual: true });
|
|
66
|
+
}
|
|
67
|
+
if (method === "all") {
|
|
68
|
+
if (!client.queryPriors) {
|
|
69
|
+
return "";
|
|
70
|
+
}
|
|
71
|
+
const { priors } = await client.queryPriors({ runId: scope.runId, path });
|
|
72
|
+
return renderPriorsBlock(priors, { manual: true });
|
|
73
|
+
}
|
|
74
|
+
throw new Error(`Unknown method: ${method}`);
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
if (error instanceof Error && error.message.startsWith("context is required")) {
|
|
78
|
+
throw error;
|
|
79
|
+
}
|
|
80
|
+
if (error instanceof Error && error.message.startsWith("Unknown method:")) {
|
|
81
|
+
throw error;
|
|
82
|
+
}
|
|
83
|
+
warnOnce("injectPriors:fetch-failed", `[sovara] injectPriors() failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
84
|
+
return "";
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=priors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"priors.js","sourceRoot":"","sources":["../src/priors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
{
|
|
2
|
+
"guidance": "These retrieved priors are mandatory operating constraints for the current task when relevant. Because they were retrieved for this prompt, assume they are relevant unless there is a clear reason they do not apply. Before answering, identify internally which priors apply and use them to shape the response. If a relevant prior conflicts with your default reasoning, source phrasing, or broader habits, follow the prior unless the user explicitly asks otherwise. Do not add content or framing that weakens, bypasses, or contradicts a relevant prior."
|
|
3
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { RuntimeClient } from "./runtimeClient.js";
|
|
2
|
+
export type ProjectContext = {
|
|
3
|
+
projectId: string;
|
|
4
|
+
projectName: string;
|
|
5
|
+
projectDescription: string;
|
|
6
|
+
projectRoot: string;
|
|
7
|
+
};
|
|
8
|
+
export declare function resolveProjectContext(client: Pick<RuntimeClient, "resolveProjectLocation">, cwd: string, overrides?: {
|
|
9
|
+
name?: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
}): Promise<ProjectContext>;
|
|
12
|
+
//# sourceMappingURL=projectContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectContext.d.ts","sourceRoot":"","sources":["../src/projectContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAMF,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,wBAAwB,CAAC,EACrD,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAClD,OAAO,CAAC,cAAc,CAAC,CA6BzB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
function suggestedInitCommand(projectRoot) {
|
|
2
|
+
return `so-cli init --project-root ${JSON.stringify(projectRoot)} --project-name <project-name>`;
|
|
3
|
+
}
|
|
4
|
+
export async function resolveProjectContext(client, cwd, overrides) {
|
|
5
|
+
const payload = await client.resolveProjectLocation(cwd);
|
|
6
|
+
const status = payload.status;
|
|
7
|
+
if (status === "missing") {
|
|
8
|
+
throw new Error(`Sovara project setup is missing for ${cwd}. Run \`${suggestedInitCommand(cwd)}\` and retry.`);
|
|
9
|
+
}
|
|
10
|
+
const project = payload.project;
|
|
11
|
+
const projectRoot = payload.project_root;
|
|
12
|
+
if (!project ||
|
|
13
|
+
typeof project.project_id !== "string" ||
|
|
14
|
+
typeof project.name !== "string" ||
|
|
15
|
+
typeof projectRoot !== "string") {
|
|
16
|
+
throw new Error("Invalid project payload from server.");
|
|
17
|
+
}
|
|
18
|
+
return {
|
|
19
|
+
projectId: project.project_id,
|
|
20
|
+
projectName: overrides?.name ?? project.name,
|
|
21
|
+
projectDescription: overrides?.description ??
|
|
22
|
+
(typeof project.description === "string" ? project.description : ""),
|
|
23
|
+
projectRoot,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=projectContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectContext.js","sourceRoot":"","sources":["../src/projectContext.ts"],"names":[],"mappings":"AASA,SAAS,oBAAoB,CAAC,WAAmB;IAC/C,OAAO,8BAA8B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,gCAAgC,CAAC;AACnG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAqD,EACrD,GAAW,EACX,SAAmD;IAEnD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAE9B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,uCAAuC,GAAG,WAAW,oBAAoB,CAAC,GAAG,CAAC,eAAe,CAC9F,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAA8C,CAAC;IACvE,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IACzC,IACE,CAAC,OAAO;QACR,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ;QACtC,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ;QAChC,OAAO,WAAW,KAAK,QAAQ,EAC/B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,UAAU;QAC7B,WAAW,EAAE,SAAS,EAAE,IAAI,IAAI,OAAO,CAAC,IAAI;QAC5C,kBAAkB,EAChB,SAAS,EAAE,WAAW;YACtB,CAAC,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,WAAW;KACZ,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
type AppendCallback = (runId: string, chunk: string) => void;
|
|
2
|
+
type InstallOptions = {
|
|
3
|
+
runId: string;
|
|
4
|
+
onAppend: AppendCallback;
|
|
5
|
+
flushIntervalMs?: number;
|
|
6
|
+
resolveRunId?: () => string | undefined;
|
|
7
|
+
};
|
|
8
|
+
export declare function installRunLogCapture(options: InstallOptions): () => void;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=runLogCapture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runLogCapture.d.ts","sourceRoot":"","sources":["../src/runLogCapture.ts"],"names":[],"mappings":"AAAA,KAAK,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAE7D,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,cAAc,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACzC,CAAC;AAyIF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,IAAI,CAmBxE"}
|