@sovara/runner 0.3.3 → 0.4.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.
Files changed (103) hide show
  1. package/README.md +30 -35
  2. package/dist/agentCredentials.d.ts +13 -0
  3. package/dist/agentCredentials.d.ts.map +1 -0
  4. package/dist/agentCredentials.js +90 -0
  5. package/dist/agentCredentials.js.map +1 -0
  6. package/dist/capture/responseEnvelope.d.ts +6 -1
  7. package/dist/capture/responseEnvelope.d.ts.map +1 -1
  8. package/dist/capture/responseEnvelope.js +24 -3
  9. package/dist/capture/responseEnvelope.js.map +1 -1
  10. package/dist/capture/sensitiveHeaders.d.ts +7 -0
  11. package/dist/capture/sensitiveHeaders.d.ts.map +1 -0
  12. package/dist/capture/sensitiveHeaders.js +41 -0
  13. package/dist/capture/sensitiveHeaders.js.map +1 -0
  14. package/dist/capture/streamNormalizers.d.ts +6 -0
  15. package/dist/capture/streamNormalizers.d.ts.map +1 -0
  16. package/dist/capture/streamNormalizers.js +301 -0
  17. package/dist/capture/streamNormalizers.js.map +1 -0
  18. package/dist/claudeAgentSdk/wrapper.d.ts.map +1 -1
  19. package/dist/claudeAgentSdk/wrapper.js +8 -20
  20. package/dist/claudeAgentSdk/wrapper.js.map +1 -1
  21. package/dist/codeVersion.d.ts +0 -2
  22. package/dist/codeVersion.d.ts.map +1 -1
  23. package/dist/codeVersion.js +0 -18
  24. package/dist/codeVersion.js.map +1 -1
  25. package/dist/constants.d.ts +0 -1
  26. package/dist/constants.d.ts.map +1 -1
  27. package/dist/constants.js +3 -4
  28. package/dist/constants.js.map +1 -1
  29. package/dist/context.d.ts +24 -15
  30. package/dist/context.d.ts.map +1 -1
  31. package/dist/context.js +231 -62
  32. package/dist/context.js.map +1 -1
  33. package/dist/env.d.ts +1 -2
  34. package/dist/env.d.ts.map +1 -1
  35. package/dist/env.js +2 -75
  36. package/dist/env.js.map +1 -1
  37. package/dist/failsafe.d.ts +8 -0
  38. package/dist/failsafe.d.ts.map +1 -0
  39. package/dist/failsafe.js +28 -0
  40. package/dist/failsafe.js.map +1 -0
  41. package/dist/index.d.ts +3 -5
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +11 -6
  44. package/dist/index.js.map +1 -1
  45. package/dist/lessons.d.ts +6 -0
  46. package/dist/lessons.d.ts.map +1 -0
  47. package/dist/lessons.js +68 -0
  48. package/dist/lessons.js.map +1 -0
  49. package/dist/lessonsBlockGuidance.json +3 -0
  50. package/dist/mcpPatch.d.ts.map +1 -1
  51. package/dist/mcpPatch.js +17 -13
  52. package/dist/mcpPatch.js.map +1 -1
  53. package/dist/payload/editIoExcludePatterns.json +3 -0
  54. package/dist/platformSession.d.ts +3 -0
  55. package/dist/platformSession.d.ts.map +1 -0
  56. package/dist/platformSession.js +15 -0
  57. package/dist/platformSession.js.map +1 -0
  58. package/dist/runtimeClient.d.ts +46 -36
  59. package/dist/runtimeClient.d.ts.map +1 -1
  60. package/dist/runtimeClient.js +106 -90
  61. package/dist/runtimeClient.js.map +1 -1
  62. package/dist/serverLifecycle.d.ts +11 -1
  63. package/dist/serverLifecycle.d.ts.map +1 -1
  64. package/dist/serverLifecycle.js +54 -14
  65. package/dist/serverLifecycle.js.map +1 -1
  66. package/dist/toolTraceUtils.d.ts.map +1 -1
  67. package/dist/toolTraceUtils.js +6 -4
  68. package/dist/toolTraceUtils.js.map +1 -1
  69. package/dist/transport/awsSdkHttp2Patch.d.ts.map +1 -1
  70. package/dist/transport/awsSdkHttp2Patch.js +34 -25
  71. package/dist/transport/awsSdkHttp2Patch.js.map +1 -1
  72. package/dist/transport/fetchPatch.d.ts.map +1 -1
  73. package/dist/transport/fetchPatch.js +33 -17
  74. package/dist/transport/fetchPatch.js.map +1 -1
  75. package/dist/transport/nodeHttpPatch.d.ts.map +1 -1
  76. package/dist/transport/nodeHttpPatch.js +19 -12
  77. package/dist/transport/nodeHttpPatch.js.map +1 -1
  78. package/package.json +5 -4
  79. package/dist/annotation.d.ts +0 -3
  80. package/dist/annotation.d.ts.map +0 -1
  81. package/dist/annotation.js +0 -27
  82. package/dist/annotation.js.map +0 -1
  83. package/dist/claudeAgentSdk/parseHook.d.ts +0 -20
  84. package/dist/claudeAgentSdk/parseHook.d.ts.map +0 -1
  85. package/dist/claudeAgentSdk/parseHook.js +0 -160
  86. package/dist/claudeAgentSdk/parseHook.js.map +0 -1
  87. package/dist/priors.d.ts +0 -7
  88. package/dist/priors.d.ts.map +0 -1
  89. package/dist/priors.js +0 -87
  90. package/dist/priors.js.map +0 -1
  91. package/dist/priorsBlockGuidance.json +0 -3
  92. package/dist/projectContext.d.ts +0 -14
  93. package/dist/projectContext.d.ts.map +0 -1
  94. package/dist/projectContext.js +0 -32
  95. package/dist/projectContext.js.map +0 -1
  96. package/dist/sseListener.d.ts +0 -9
  97. package/dist/sseListener.d.ts.map +0 -1
  98. package/dist/sseListener.js +0 -56
  99. package/dist/sseListener.js.map +0 -1
  100. package/dist/user.d.ts +0 -11
  101. package/dist/user.d.ts.map +0 -1
  102. package/dist/user.js +0 -31
  103. package/dist/user.js.map +0 -1
@@ -1,27 +0,0 @@
1
- import { getCurrentRunScope } from "./context.js";
2
- import { warnOnce } from "./util/logger.js";
3
- function warnAnnotationRequestFailed(error) {
4
- warnOnce("evaluateAnnotation:request-failed", `[sovara] evaluateAnnotation() failed: ${error instanceof Error ? error.message : String(error)}`);
5
- }
6
- export function evaluateAnnotation() {
7
- const scope = getCurrentRunScope();
8
- if (!scope?.client.requestAnnotationEvaluation) {
9
- return;
10
- }
11
- void scope.client
12
- .requestAnnotationEvaluation({ runId: scope.runId })
13
- .catch(warnAnnotationRequestFailed);
14
- }
15
- export async function evaluateAnnotationAsync() {
16
- const scope = getCurrentRunScope();
17
- if (!scope?.client.requestAnnotationEvaluation) {
18
- return;
19
- }
20
- try {
21
- await scope.client.requestAnnotationEvaluation({ runId: scope.runId });
22
- }
23
- catch (error) {
24
- warnAnnotationRequestFailed(error);
25
- }
26
- }
27
- //# sourceMappingURL=annotation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"annotation.js","sourceRoot":"","sources":["../src/annotation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,SAAS,2BAA2B,CAAC,KAAc;IACjD,QAAQ,CACN,mCAAmC,EACnC,yCACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC;IACnC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,2BAA2B,EAAE,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,KAAK,KAAK,CAAC,MAAM;SACd,2BAA2B,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;SACnD,KAAK,CAAC,2BAA2B,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC;IACnC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,2BAA2B,EAAE,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,2BAA2B,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;AACH,CAAC"}
@@ -1,20 +0,0 @@
1
- import { type RunScope } from "../context.js";
2
- type ToolUseBlock = {
3
- id: string;
4
- name: string;
5
- input: unknown;
6
- };
7
- type ToolResultBlock = {
8
- toolUseId: string;
9
- content: unknown;
10
- isError: boolean;
11
- };
12
- export declare function extractClaudeSdkToolUseBlocks(message: unknown): ToolUseBlock[];
13
- export declare function extractClaudeSdkToolResultBlocks(message: unknown): ToolResultBlock[];
14
- export declare function normalizeToolResultContent(content: unknown): unknown;
15
- export declare function publishClaudeSdkMessage(message: unknown, options?: {
16
- scope?: RunScope;
17
- stackTrace?: string | null;
18
- }): Promise<void>;
19
- export {};
20
- //# sourceMappingURL=parseHook.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseHook.d.ts","sourceRoot":"","sources":["../../src/claudeAgentSdk/parseHook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIlE,KAAK,YAAY,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AA0DF,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,EAAE,CAoB9E;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe,EAAE,CAyDpF;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEpE;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,QAAQ,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACzD,OAAO,CAAC,IAAI,CAAC,CA8Cf"}
@@ -1,160 +0,0 @@
1
- import { getCurrentRunScope } from "../context.js";
2
- import { warnOnce } from "../util/logger.js";
3
- import { sanitizeStackTrace } from "../util/stackTrace.js";
4
- function isObject(value) {
5
- return !!value && typeof value === "object";
6
- }
7
- function toContentBlocks(message) {
8
- if (!isObject(message)) {
9
- return [];
10
- }
11
- const outerContent = message.content;
12
- if (Array.isArray(outerContent)) {
13
- return outerContent;
14
- }
15
- const wrappedMessage = message.message;
16
- if (isObject(wrappedMessage) && Array.isArray(wrappedMessage.content)) {
17
- return wrappedMessage.content;
18
- }
19
- return [];
20
- }
21
- function extractTopLevelToolUse(message) {
22
- if (!isObject(message) || message.type !== "tool_use") {
23
- return [];
24
- }
25
- const id = typeof message.id === "string" ? message.id : "";
26
- const name = typeof message.name === "string" ? message.name : "";
27
- if (!id || !name) {
28
- return [];
29
- }
30
- return [{ id, name, input: message.input }];
31
- }
32
- function extractTopLevelToolResult(message) {
33
- if (!isObject(message) || message.type !== "tool_result") {
34
- return [];
35
- }
36
- const toolUseId = typeof message.tool_use_id === "string"
37
- ? message.tool_use_id
38
- : typeof message.toolUseId === "string"
39
- ? message.toolUseId
40
- : "";
41
- if (!toolUseId) {
42
- return [];
43
- }
44
- return [
45
- {
46
- toolUseId,
47
- content: message.content,
48
- isError: Boolean(message.is_error ?? message.isError),
49
- },
50
- ];
51
- }
52
- export function extractClaudeSdkToolUseBlocks(message) {
53
- const topLevel = extractTopLevelToolUse(message);
54
- if (topLevel.length > 0) {
55
- return topLevel;
56
- }
57
- const blocks = toContentBlocks(message);
58
- const toolUses = [];
59
- for (const block of blocks) {
60
- if (!isObject(block) || block.type !== "tool_use") {
61
- continue;
62
- }
63
- const id = typeof block.id === "string" ? block.id : "";
64
- const name = typeof block.name === "string" ? block.name : "";
65
- if (!id || !name) {
66
- continue;
67
- }
68
- toolUses.push({ id, name, input: block.input });
69
- }
70
- return toolUses;
71
- }
72
- export function extractClaudeSdkToolResultBlocks(message) {
73
- const topLevel = extractTopLevelToolResult(message);
74
- if (topLevel.length > 0) {
75
- return topLevel;
76
- }
77
- const blocks = toContentBlocks(message);
78
- const toolResults = [];
79
- for (const block of blocks) {
80
- if (!isObject(block) || block.type !== "tool_result") {
81
- continue;
82
- }
83
- const toolUseId = typeof block.tool_use_id === "string"
84
- ? block.tool_use_id
85
- : typeof block.toolUseId === "string"
86
- ? block.toolUseId
87
- : "";
88
- if (!toolUseId) {
89
- continue;
90
- }
91
- toolResults.push({
92
- toolUseId,
93
- content: block.content,
94
- isError: Boolean(block.is_error ?? block.isError),
95
- });
96
- }
97
- if (toolResults.length > 0) {
98
- return toolResults;
99
- }
100
- if (!isObject(message)) {
101
- return [];
102
- }
103
- const maybeToolUseResult = message.tool_use_result;
104
- if (!isObject(maybeToolUseResult)) {
105
- return [];
106
- }
107
- const toolUseId = typeof maybeToolUseResult.tool_use_id === "string"
108
- ? maybeToolUseResult.tool_use_id
109
- : typeof maybeToolUseResult.toolUseId === "string"
110
- ? maybeToolUseResult.toolUseId
111
- : "";
112
- if (!toolUseId) {
113
- return [];
114
- }
115
- return [
116
- {
117
- toolUseId,
118
- content: maybeToolUseResult.content,
119
- isError: Boolean(maybeToolUseResult.is_error ?? maybeToolUseResult.isError),
120
- },
121
- ];
122
- }
123
- export function normalizeToolResultContent(content) {
124
- return content == null ? "" : content;
125
- }
126
- export async function publishClaudeSdkMessage(message, options) {
127
- const scope = options?.scope ?? getCurrentRunScope();
128
- if (!scope) {
129
- return;
130
- }
131
- const registerToolUse = scope.client.registerClaudeSdkToolUse;
132
- const finalizeToolResult = scope.client.finalizeClaudeSdkToolResult;
133
- if (typeof registerToolUse !== "function" && typeof finalizeToolResult !== "function") {
134
- return;
135
- }
136
- const stackTrace = options?.stackTrace ?? sanitizeStackTrace(new Error().stack);
137
- if (typeof registerToolUse === "function") {
138
- const toolUses = extractClaudeSdkToolUseBlocks(message);
139
- for (const block of toolUses) {
140
- try {
141
- await registerToolUse(scope.runId, block.id, block.name, block.input, stackTrace);
142
- }
143
- catch {
144
- warnOnce("claude-sdk-tool-use", "[sovara] Failed to register Claude SDK tool-use event.");
145
- }
146
- }
147
- }
148
- if (typeof finalizeToolResult === "function") {
149
- const toolResults = extractClaudeSdkToolResultBlocks(message);
150
- for (const block of toolResults) {
151
- try {
152
- await finalizeToolResult(scope.runId, block.toolUseId, normalizeToolResultContent(block.content), block.isError);
153
- }
154
- catch {
155
- warnOnce("claude-sdk-tool-result", "[sovara] Failed to finalize Claude SDK tool-result event.");
156
- }
157
- }
158
- }
159
- }
160
- //# sourceMappingURL=parseHook.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseHook.js","sourceRoot":"","sources":["../../src/claudeAgentSdk/parseHook.ts"],"names":[],"mappings":"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"}
package/dist/priors.d.ts DELETED
@@ -1,7 +0,0 @@
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
@@ -1 +0,0 @@
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 DELETED
@@ -1,87 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"priors.js","sourceRoot":"","sources":["../src/priors.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
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
- }
@@ -1,14 +0,0 @@
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, "getProject">, cwd: string, overrides?: {
9
- name?: string;
10
- description?: string;
11
- }, options?: {
12
- allowMissingProjectConfig?: boolean;
13
- }): Promise<ProjectContext>;
14
- //# sourceMappingURL=projectContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"projectContext.d.ts","sourceRoot":"","sources":["../src/projectContext.ts"],"names":[],"mappings":"AAEA,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,YAAY,CAAC,EACzC,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EACnD,OAAO,CAAC,EAAE;IAAE,yBAAyB,CAAC,EAAE,OAAO,CAAA;CAAE,GAChD,OAAO,CAAC,cAAc,CAAC,CA+BzB"}
@@ -1,32 +0,0 @@
1
- import { basename } from "node:path";
2
- import { findProjectRoot, readProjectId } from "./codeVersion.js";
3
- function suggestedInitCommand(projectRoot) {
4
- return `sovara init --project-root ${JSON.stringify(projectRoot)} --project-name <project-name>`;
5
- }
6
- export async function resolveProjectContext(client, cwd, overrides, options) {
7
- const projectRoot = findProjectRoot(cwd);
8
- if (!projectRoot) {
9
- if (options?.allowMissingProjectConfig) {
10
- return {
11
- projectId: "project-1",
12
- projectName: overrides?.name ?? "Project",
13
- projectDescription: overrides?.description ?? "",
14
- projectRoot: cwd,
15
- };
16
- }
17
- throw new Error(`Sovara project setup is missing for ${cwd}. Run \`${suggestedInitCommand(cwd)}\` and retry.`);
18
- }
19
- const projectId = readProjectId(projectRoot);
20
- const existingProject = await client.getProject(projectId);
21
- const existingName = typeof existingProject?.name === "string" && existingProject.name
22
- ? existingProject.name
23
- : null;
24
- const existingDescription = typeof existingProject?.description === "string" ? existingProject.description : "";
25
- return {
26
- projectId,
27
- projectName: overrides?.name ?? existingName ?? (basename(projectRoot) || "Project"),
28
- projectDescription: overrides?.description ?? existingDescription,
29
- projectRoot,
30
- };
31
- }
32
- //# sourceMappingURL=projectContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"projectContext.js","sourceRoot":"","sources":["../src/projectContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAUlE,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,MAAyC,EACzC,GAAW,EACX,SAAmD,EACnD,OAAiD;IAEjD,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAI,OAAO,EAAE,yBAAyB,EAAE,CAAC;YACvC,OAAO;gBACL,SAAS,EAAE,WAAW;gBACtB,WAAW,EAAE,SAAS,EAAE,IAAI,IAAI,SAAS;gBACzC,kBAAkB,EAAE,SAAS,EAAE,WAAW,IAAI,EAAE;gBAChD,WAAW,EAAE,GAAG;aACjB,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,KAAK,CACb,uCAAuC,GAAG,WAAW,oBAAoB,CAAC,GAAG,CAAC,eAAe,CAC9F,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC3D,MAAM,YAAY,GAChB,OAAO,eAAe,EAAE,IAAI,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI;QAC/D,CAAC,CAAC,eAAe,CAAC,IAAI;QACtB,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,mBAAmB,GACvB,OAAO,eAAe,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAEtF,OAAO;QACL,SAAS;QACT,WAAW,EAAE,SAAS,EAAE,IAAI,IAAI,YAAY,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC;QACpF,kBAAkB,EAAE,SAAS,EAAE,WAAW,IAAI,mBAAmB;QACjE,WAAW;KACZ,CAAC;AACJ,CAAC"}
@@ -1,9 +0,0 @@
1
- export type SseListenerHandle = {
2
- close: () => void;
3
- };
4
- export declare function startRunSseListener(args: {
5
- url: string;
6
- runId: string;
7
- onShutdown: () => void;
8
- }): SseListenerHandle;
9
- //# sourceMappingURL=sseListener.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sseListener.d.ts","sourceRoot":"","sources":["../src/sseListener.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAcF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,GAAG,iBAAiB,CAkDpB"}
@@ -1,56 +0,0 @@
1
- function getFetch() {
2
- const maybeOriginal = globalThis[Symbol.for("sovara.originalFetch")];
3
- if (typeof maybeOriginal === "function") {
4
- return maybeOriginal;
5
- }
6
- return fetch;
7
- }
8
- export function startRunSseListener(args) {
9
- const controller = new AbortController();
10
- void (async () => {
11
- try {
12
- const response = await getFetch()(`${args.url}/runner/events/${args.runId}`, {
13
- method: "GET",
14
- headers: { Accept: "text/event-stream" },
15
- signal: controller.signal,
16
- });
17
- if (!response.body) {
18
- return;
19
- }
20
- const reader = response.body.getReader();
21
- const decoder = new TextDecoder();
22
- let buffer = "";
23
- while (true) {
24
- const { done, value } = await reader.read();
25
- if (done) {
26
- break;
27
- }
28
- buffer += decoder.decode(value, { stream: true });
29
- const lines = buffer.split("\n");
30
- buffer = lines.pop() ?? "";
31
- for (const line of lines) {
32
- if (!line.startsWith("data:")) {
33
- continue;
34
- }
35
- const raw = line.slice(5).trim();
36
- try {
37
- const event = JSON.parse(raw);
38
- if (event.type === "shutdown") {
39
- args.onShutdown();
40
- }
41
- }
42
- catch {
43
- // ignore malformed events
44
- }
45
- }
46
- }
47
- }
48
- catch {
49
- // best effort: listener failures should not break user code
50
- }
51
- })();
52
- return {
53
- close: () => controller.abort(),
54
- };
55
- }
56
- //# sourceMappingURL=sseListener.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sseListener.js","sourceRoot":"","sources":["../src/sseListener.ts"],"names":[],"mappings":"AAMA,SAAS,QAAQ;IACf,MAAM,aAAa,GAAI,UAAyC,CAC9D,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CACnC,CAAC;IACF,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE,CAAC;QACxC,OAAO,aAA6B,CAAC;IACvC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAInC;IACC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IAEzC,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,kBAAkB,IAAI,CAAC,KAAK,EAAE,EAAE;gBAC3E,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE;gBACxC,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAClC,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM;gBACR,CAAC;gBACD,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC9B,SAAS;oBACX,CAAC;oBACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACjC,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAC;wBAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;4BAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;wBACpB,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,0BAA0B;oBAC5B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,4DAA4D;QAC9D,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO;QACL,KAAK,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE;KAChC,CAAC;AACJ,CAAC"}
package/dist/user.d.ts DELETED
@@ -1,11 +0,0 @@
1
- import type { RuntimeClient } from "./runtimeClient.js";
2
- export type ActiveUser = {
3
- userId: string;
4
- fullName: string;
5
- email: string;
6
- };
7
- export declare function resolveActiveUser(client: Pick<RuntimeClient, "getActiveUser">, overrides?: {
8
- fullName?: string;
9
- email?: string;
10
- }): Promise<ActiveUser>;
11
- //# sourceMappingURL=user.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAqBF,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,EAC5C,SAAS,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,OAAO,CAAC,UAAU,CAAC,CAoBrB"}
package/dist/user.js DELETED
@@ -1,31 +0,0 @@
1
- function parseUser(payload) {
2
- if (!payload) {
3
- return null;
4
- }
5
- const userId = payload.user_id;
6
- const fullName = payload.full_name;
7
- const email = payload.email;
8
- if (typeof userId !== "string" ||
9
- typeof fullName !== "string" ||
10
- typeof email !== "string") {
11
- return null;
12
- }
13
- return { userId, fullName, email };
14
- }
15
- export async function resolveActiveUser(client, overrides) {
16
- const current = parseUser(await client.getActiveUser());
17
- const fullName = overrides?.fullName ?? current?.fullName;
18
- const email = overrides?.email ?? current?.email;
19
- if (current && overrides?.fullName === undefined && overrides?.email === undefined) {
20
- return current;
21
- }
22
- if (current?.userId && fullName && email) {
23
- return {
24
- userId: current.userId,
25
- fullName,
26
- email,
27
- };
28
- }
29
- throw new Error("Sovara user setup is missing. Run `sovara init --user-name <full-name> --user-email <email>` and retry.");
30
- }
31
- //# sourceMappingURL=user.js.map
package/dist/user.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"AAQA,SAAS,SAAS,CAAC,OAAuC;IACxD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,OAAO,QAAQ,KAAK,QAAQ;QAC5B,OAAO,KAAK,KAAK,QAAQ,EACzB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAA4C,EAC5C,SAAiD;IAEjD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAG,SAAS,EAAE,QAAQ,IAAI,OAAO,EAAE,QAAQ,CAAC;IAC1D,MAAM,KAAK,GAAG,SAAS,EAAE,KAAK,IAAI,OAAO,EAAE,KAAK,CAAC;IACjD,IAAI,OAAO,IAAI,SAAS,EAAE,QAAQ,KAAK,SAAS,IAAI,SAAS,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;QACnF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,OAAO,EAAE,MAAM,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;QACzC,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ;YACR,KAAK;SACN,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,KAAK,CACb,yGAAyG,CAC1G,CAAC;AACJ,CAAC"}