@northflare/runner 0.0.19 → 0.0.21
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/bin/northflare-runner +17 -3
- package/dist/components/claude-sdk-manager.d.ts +6 -3
- package/dist/components/claude-sdk-manager.d.ts.map +1 -1
- package/dist/components/claude-sdk-manager.js +62 -42
- package/dist/components/claude-sdk-manager.js.map +1 -1
- package/dist/components/codex-sdk-manager.d.ts +6 -3
- package/dist/components/codex-sdk-manager.d.ts.map +1 -1
- package/dist/components/codex-sdk-manager.js +60 -16
- package/dist/components/codex-sdk-manager.js.map +1 -1
- package/dist/components/enhanced-repository-manager.d.ts.map +1 -1
- package/dist/components/enhanced-repository-manager.js +2 -1
- package/dist/components/enhanced-repository-manager.js.map +1 -1
- package/dist/components/message-handler-sse.d.ts.map +1 -1
- package/dist/components/message-handler-sse.js +157 -116
- package/dist/components/message-handler-sse.js.map +1 -1
- package/dist/components/northflare-agent-sdk-manager.d.ts +10 -6
- package/dist/components/northflare-agent-sdk-manager.d.ts.map +1 -1
- package/dist/components/northflare-agent-sdk-manager.js +350 -98
- package/dist/components/northflare-agent-sdk-manager.js.map +1 -1
- package/dist/components/repository-manager.d.ts.map +1 -1
- package/dist/components/repository-manager.js +2 -1
- package/dist/components/repository-manager.js.map +1 -1
- package/dist/runner-sse.d.ts.map +1 -1
- package/dist/runner-sse.js +7 -0
- package/dist/runner-sse.js.map +1 -1
- package/dist/types/claude.d.ts +4 -1
- package/dist/types/claude.d.ts.map +1 -1
- package/dist/utils/console.d.ts +5 -8
- package/dist/utils/console.d.ts.map +1 -1
- package/dist/utils/console.js +28 -10
- package/dist/utils/console.js.map +1 -1
- package/dist/utils/debug.d.ts +10 -0
- package/dist/utils/debug.d.ts.map +1 -1
- package/dist/utils/debug.js +86 -8
- package/dist/utils/debug.js.map +1 -1
- package/dist/utils/logger.d.ts +2 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +43 -13
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/message-log.d.ts +23 -0
- package/dist/utils/message-log.d.ts.map +1 -0
- package/dist/utils/message-log.js +69 -0
- package/dist/utils/message-log.js.map +1 -0
- package/dist/utils/status-line.d.ts +5 -1
- package/dist/utils/status-line.d.ts.map +1 -1
- package/dist/utils/status-line.js +13 -3
- package/dist/utils/status-line.js.map +1 -1
- package/package.json +1 -2
package/dist/utils/debug.js
CHANGED
|
@@ -1,16 +1,94 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
const KNOWN_SUBSYSTEMS = new Set([
|
|
2
|
+
"runner",
|
|
3
|
+
"manager",
|
|
4
|
+
"rpc",
|
|
5
|
+
"sse",
|
|
6
|
+
"sdk",
|
|
7
|
+
"repo",
|
|
8
|
+
"state",
|
|
9
|
+
"messages",
|
|
10
|
+
]);
|
|
11
|
+
let cachedConfig = null;
|
|
12
|
+
export function getDebugConfig() {
|
|
13
|
+
// Only use cache if we have already parsed a non-empty debug value.
|
|
14
|
+
// This allows modules that load before CLI sets env vars to re-check
|
|
15
|
+
// the config later once the env vars are actually set.
|
|
16
|
+
if (cachedConfig && cachedConfig.enabled) {
|
|
17
|
+
return cachedConfig;
|
|
5
18
|
}
|
|
19
|
+
const explicitFlag = process.env["NORTHFLARE_RUNNER_DEBUG"];
|
|
6
20
|
const legacyFlag = process.env["DEBUG"];
|
|
7
|
-
|
|
8
|
-
|
|
21
|
+
const config = parseDebugValue(typeof explicitFlag === "string" ? explicitFlag : legacyFlag);
|
|
22
|
+
// Only cache if debug is enabled (meaning env vars were set)
|
|
23
|
+
if (config.enabled) {
|
|
24
|
+
cachedConfig = config;
|
|
9
25
|
}
|
|
10
|
-
return
|
|
26
|
+
return config;
|
|
27
|
+
}
|
|
28
|
+
export function isRunnerDebugEnabled() {
|
|
29
|
+
return getDebugConfig().enabled;
|
|
30
|
+
}
|
|
31
|
+
export function isDebugEnabledFor(subsystem) {
|
|
32
|
+
const config = getDebugConfig();
|
|
33
|
+
if (!config.enabled)
|
|
34
|
+
return false;
|
|
35
|
+
if (config.allowAll)
|
|
36
|
+
return true;
|
|
37
|
+
if (!subsystem)
|
|
38
|
+
return false;
|
|
39
|
+
const normalized = normalizeSubsystem(subsystem);
|
|
40
|
+
return config.subsystems.has(normalized);
|
|
41
|
+
}
|
|
42
|
+
function parseDebugValue(value) {
|
|
43
|
+
if (!value) {
|
|
44
|
+
return {
|
|
45
|
+
enabled: false,
|
|
46
|
+
allowAll: false,
|
|
47
|
+
subsystems: new Set(),
|
|
48
|
+
raw: "",
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
const trimmed = value.trim();
|
|
52
|
+
const normalized = trimmed.toLowerCase();
|
|
53
|
+
// Support boolean-style flags
|
|
54
|
+
if (isTruthy(normalized) || normalized === "*" || normalized === "all") {
|
|
55
|
+
return {
|
|
56
|
+
enabled: true,
|
|
57
|
+
allowAll: true,
|
|
58
|
+
subsystems: new Set(),
|
|
59
|
+
raw: trimmed,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
const parts = normalized
|
|
63
|
+
.split(",")
|
|
64
|
+
.map((part) => part.trim())
|
|
65
|
+
.filter(Boolean)
|
|
66
|
+
.map((part) => normalizeSubsystem(part));
|
|
67
|
+
return {
|
|
68
|
+
enabled: parts.length > 0,
|
|
69
|
+
allowAll: false,
|
|
70
|
+
subsystems: new Set(parts),
|
|
71
|
+
raw: trimmed,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function normalizeSubsystem(value) {
|
|
75
|
+
const normalized = value.trim().toLowerCase();
|
|
76
|
+
// Common aliases
|
|
77
|
+
if (normalized === "managers")
|
|
78
|
+
return "manager";
|
|
79
|
+
if (normalized === "repos" || normalized === "git")
|
|
80
|
+
return "repo";
|
|
81
|
+
if (normalized === "state-manager")
|
|
82
|
+
return "state";
|
|
83
|
+
if (normalized === "message" || normalized === "msg")
|
|
84
|
+
return "messages";
|
|
85
|
+
return KNOWN_SUBSYSTEMS.has(normalized) ? normalized : normalized;
|
|
11
86
|
}
|
|
12
87
|
function isTruthy(value) {
|
|
13
88
|
const normalized = value.trim().toLowerCase();
|
|
14
|
-
return normalized === "true" ||
|
|
89
|
+
return (normalized === "true" ||
|
|
90
|
+
normalized === "1" ||
|
|
91
|
+
normalized === "yes" ||
|
|
92
|
+
normalized === "on");
|
|
15
93
|
}
|
|
16
94
|
//# sourceMappingURL=debug.js.map
|
package/dist/utils/debug.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/logger.d.ts
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
* Logger configuration using Winston
|
|
3
3
|
*/
|
|
4
4
|
import winston from "winston";
|
|
5
|
+
import { DebugSubsystem } from './debug.js';
|
|
5
6
|
export declare const logger: winston.Logger;
|
|
6
7
|
export declare function configureFileLogging(logDir: string): void;
|
|
7
|
-
export declare function createLogger(component: string): winston.Logger;
|
|
8
|
+
export declare function createLogger(component: string, subsystem?: DebugSubsystem): winston.Logger;
|
|
8
9
|
export default logger;
|
|
9
10
|
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EACL,cAAc,EAGf,MAAM,YAAY,CAAC;AAiGpB,eAAO,MAAM,MAAM,gBAUjB,CAAC;AAGH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAkCzD;AAGD,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,cAAc,GACzB,OAAO,CAAC,MAAM,CAIhB;AAeD,eAAe,MAAM,CAAC"}
|
package/dist/utils/logger.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import winston from "winston";
|
|
5
5
|
import path from "path";
|
|
6
|
-
import {
|
|
6
|
+
import { getDebugConfig, isDebugEnabledFor, } from './debug.js';
|
|
7
7
|
// Custom log levels
|
|
8
8
|
const levels = {
|
|
9
9
|
error: 0,
|
|
@@ -25,17 +25,44 @@ const colors = {
|
|
|
25
25
|
silly: "gray",
|
|
26
26
|
};
|
|
27
27
|
winston.addColors(colors);
|
|
28
|
-
|
|
28
|
+
// Use a getter function so debug state is checked at call time, not module load time
|
|
29
|
+
function isDebugEnabled() {
|
|
30
|
+
return getDebugConfig().enabled;
|
|
31
|
+
}
|
|
32
|
+
const componentSubsystemMap = {
|
|
33
|
+
MessageHandler: "rpc",
|
|
34
|
+
RunnerApp: "runner",
|
|
35
|
+
SSEClient: "sse",
|
|
36
|
+
RunnerAPIClient: "rpc",
|
|
37
|
+
ConfigManager: "runner",
|
|
38
|
+
StateManager: "state",
|
|
39
|
+
MessageFlow: "messages",
|
|
40
|
+
};
|
|
41
|
+
function resolveSubsystem(value) {
|
|
42
|
+
if (value && typeof value === "string") {
|
|
43
|
+
return value.toLowerCase();
|
|
44
|
+
}
|
|
45
|
+
return "runner";
|
|
46
|
+
}
|
|
47
|
+
const subsystemFilter = winston.format((info) => {
|
|
48
|
+
if (info.level !== "debug")
|
|
49
|
+
return info;
|
|
50
|
+
const subsystem = resolveSubsystem(info.subsystem || info.component);
|
|
51
|
+
return isDebugEnabledFor(subsystem) ? info : false;
|
|
52
|
+
});
|
|
29
53
|
// Format for console output
|
|
30
|
-
const consoleFormat = winston.format.combine(winston.format.colorize({ all: true }), winston.format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" }), winston.format.printf(({ timestamp, level, message, stack, ...metadata }) => {
|
|
31
|
-
|
|
54
|
+
const consoleFormat = winston.format.combine(subsystemFilter(), winston.format.colorize({ all: true }), winston.format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" }), winston.format.printf(({ timestamp, level, message, stack, component, subsystem, ...metadata }) => {
|
|
55
|
+
const scopeParts = [subsystem, component].filter(Boolean);
|
|
56
|
+
const scope = scopeParts.length ? ` ${scopeParts.join('/')}` : "";
|
|
57
|
+
let msg = `${timestamp} [${level}]${scope}: ${message}`;
|
|
32
58
|
// Only show stack traces and metadata in debug mode
|
|
33
|
-
if (
|
|
59
|
+
if (isDebugEnabled()) {
|
|
34
60
|
if (stack) {
|
|
35
61
|
msg += `\n${stack}`;
|
|
36
62
|
}
|
|
37
63
|
const filteredMetadata = { ...metadata };
|
|
38
|
-
delete filteredMetadata["component"];
|
|
64
|
+
delete filteredMetadata["component"];
|
|
65
|
+
delete filteredMetadata["subsystem"];
|
|
39
66
|
if (Object.keys(filteredMetadata).length > 0) {
|
|
40
67
|
msg += ` ${JSON.stringify(filteredMetadata)}`;
|
|
41
68
|
}
|
|
@@ -43,16 +70,18 @@ const consoleFormat = winston.format.combine(winston.format.colorize({ all: true
|
|
|
43
70
|
return msg;
|
|
44
71
|
}));
|
|
45
72
|
// Format for file output
|
|
46
|
-
const fileFormat = winston.format.combine(winston.format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" }), winston.format.errors({ stack: true }), winston.format.json());
|
|
73
|
+
const fileFormat = winston.format.combine(subsystemFilter(), winston.format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" }), winston.format.errors({ stack: true }), winston.format.json());
|
|
47
74
|
// Create logger instance
|
|
75
|
+
// Set level to debug unconditionally - the subsystemFilter will decide what to actually output
|
|
76
|
+
// This avoids issues with env vars not being set at module load time
|
|
48
77
|
export const logger = winston.createLogger({
|
|
49
|
-
level:
|
|
78
|
+
level: "debug",
|
|
50
79
|
levels,
|
|
51
80
|
transports: [
|
|
52
|
-
//
|
|
81
|
+
// Console transport set to debug - subsystemFilter handles the actual filtering
|
|
53
82
|
new winston.transports.Console({
|
|
54
83
|
format: consoleFormat,
|
|
55
|
-
level:
|
|
84
|
+
level: "debug",
|
|
56
85
|
}),
|
|
57
86
|
],
|
|
58
87
|
});
|
|
@@ -74,7 +103,7 @@ export function configureFileLogging(logDir) {
|
|
|
74
103
|
maxFiles: 10,
|
|
75
104
|
}));
|
|
76
105
|
// Debug log file (only in debug mode)
|
|
77
|
-
if (
|
|
106
|
+
if (isDebugEnabled()) {
|
|
78
107
|
logger.add(new winston.transports.File({
|
|
79
108
|
filename: path.join(logDir, "debug.log"),
|
|
80
109
|
level: "debug",
|
|
@@ -85,8 +114,9 @@ export function configureFileLogging(logDir) {
|
|
|
85
114
|
}
|
|
86
115
|
}
|
|
87
116
|
// Create child logger for specific components
|
|
88
|
-
export function createLogger(component) {
|
|
89
|
-
|
|
117
|
+
export function createLogger(component, subsystem) {
|
|
118
|
+
const resolvedSubsystem = subsystem || componentSubsystemMap[component] || "runner";
|
|
119
|
+
return logger.child({ component, subsystem: resolvedSubsystem });
|
|
90
120
|
}
|
|
91
121
|
// Log unhandled errors
|
|
92
122
|
// Route unhandled exceptions/rejections to the console so we don't litter local
|
package/dist/utils/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { JsonRpcMessage, RunnerMessage } from '../types/index.js';
|
|
2
|
+
export declare const MESSAGE_LOG_SEGMENT = 500;
|
|
3
|
+
export declare const messageFlowLogger: import("winston").Logger;
|
|
4
|
+
export declare const messagesDebugEnabled: () => boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Trim a long string by keeping the first and last segments.
|
|
7
|
+
*/
|
|
8
|
+
export declare function trimStringForLog(value: string, segment?: number): string;
|
|
9
|
+
/**
|
|
10
|
+
* Recursively clone a payload for logging, trimming long string values when requested.
|
|
11
|
+
*/
|
|
12
|
+
export declare function clonePayloadForLog<T>(payload: T, options: {
|
|
13
|
+
trimLongStrings: boolean;
|
|
14
|
+
}): T;
|
|
15
|
+
/**
|
|
16
|
+
* Prepare a concise log entry for an incoming RunnerMessage.
|
|
17
|
+
*/
|
|
18
|
+
export declare function buildIncomingMessageLog(message: RunnerMessage): Record<string, unknown>;
|
|
19
|
+
/**
|
|
20
|
+
* Prepare a verbose log entry for an outgoing JsonRpcMessage.
|
|
21
|
+
*/
|
|
22
|
+
export declare function buildOutgoingMessageLog(message: JsonRpcMessage): Record<string, unknown>;
|
|
23
|
+
//# sourceMappingURL=message-log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-log.d.ts","sourceRoot":"","sources":["../../src/utils/message-log.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGvE,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAGvC,eAAO,MAAM,iBAAiB,0BAA0C,CAAC;AACzE,eAAO,MAAM,oBAAoB,QAAO,OAAwC,CAAC;AAEjF;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,MAA4B,GAAG,MAAM,CAI7F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE;IAAE,eAAe,EAAE,OAAO,CAAA;CAAE,GAAG,CAAC,CA0B1F;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWvF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASxF"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { createLogger } from './logger.js';
|
|
2
|
+
import { isDebugEnabledFor } from './debug.js';
|
|
3
|
+
// Limit used when trimming long content fields
|
|
4
|
+
export const MESSAGE_LOG_SEGMENT = 500;
|
|
5
|
+
// Shared logger + flag for message flow tracing
|
|
6
|
+
export const messageFlowLogger = createLogger("MessageFlow", "messages");
|
|
7
|
+
export const messagesDebugEnabled = () => isDebugEnabledFor("messages");
|
|
8
|
+
/**
|
|
9
|
+
* Trim a long string by keeping the first and last segments.
|
|
10
|
+
*/
|
|
11
|
+
export function trimStringForLog(value, segment = MESSAGE_LOG_SEGMENT) {
|
|
12
|
+
if (value.length <= segment * 2)
|
|
13
|
+
return value;
|
|
14
|
+
const omitted = value.length - segment * 2;
|
|
15
|
+
return `${value.slice(0, segment)}...[${omitted} chars trimmed]...${value.slice(-segment)}`;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Recursively clone a payload for logging, trimming long string values when requested.
|
|
19
|
+
*/
|
|
20
|
+
export function clonePayloadForLog(payload, options) {
|
|
21
|
+
if (!options.trimLongStrings) {
|
|
22
|
+
return payload;
|
|
23
|
+
}
|
|
24
|
+
const clone = (value) => {
|
|
25
|
+
if (typeof value === "string") {
|
|
26
|
+
return trimStringForLog(value);
|
|
27
|
+
}
|
|
28
|
+
if (Array.isArray(value)) {
|
|
29
|
+
return value.map(clone);
|
|
30
|
+
}
|
|
31
|
+
if (value && typeof value === "object") {
|
|
32
|
+
const result = {};
|
|
33
|
+
for (const [key, val] of Object.entries(value)) {
|
|
34
|
+
result[key] = clone(val);
|
|
35
|
+
}
|
|
36
|
+
return result;
|
|
37
|
+
}
|
|
38
|
+
return value;
|
|
39
|
+
};
|
|
40
|
+
return clone(payload);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Prepare a concise log entry for an incoming RunnerMessage.
|
|
44
|
+
*/
|
|
45
|
+
export function buildIncomingMessageLog(message) {
|
|
46
|
+
return {
|
|
47
|
+
direction: message.direction,
|
|
48
|
+
messageId: message.id,
|
|
49
|
+
method: message.payload?.method,
|
|
50
|
+
taskId: message.taskId,
|
|
51
|
+
conversationId: message.conversationId || message.payload?.params?.conversationId || null,
|
|
52
|
+
workspaceId: message.workspaceId,
|
|
53
|
+
payload: clonePayloadForLog(message.payload, { trimLongStrings: true }),
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Prepare a verbose log entry for an outgoing JsonRpcMessage.
|
|
58
|
+
*/
|
|
59
|
+
export function buildOutgoingMessageLog(message) {
|
|
60
|
+
return {
|
|
61
|
+
direction: "to_orchestrator",
|
|
62
|
+
method: message.method,
|
|
63
|
+
id: message.id,
|
|
64
|
+
params: message.params,
|
|
65
|
+
result: message.result,
|
|
66
|
+
error: message.error,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=message-log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-log.js","sourceRoot":"","sources":["../../src/utils/message-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C,+CAA+C;AAC/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEvC,gDAAgD;AAChD,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;AACzE,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAY,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;AAEjF;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,UAAkB,mBAAmB;IACnF,IAAI,KAAK,CAAC,MAAM,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC;IAC3C,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,OAAO,qBAAqB,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;AAC9F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAI,OAAU,EAAE,OAAqC;IACrF,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,KAAU,EAAO,EAAE;QAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,MAAM,GAAwB,EAAE,CAAC;YACvC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/C,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,OAAO,KAAK,CAAC,OAAO,CAAM,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAsB;IAC5D,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM;QAC/B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,cAAc,EACZ,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,IAAI,IAAI;QAC3E,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;KACxE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAuB;IAC7D,OAAO;QACL,SAAS,EAAE,iBAAiB;QAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC;AACJ,CAAC"}
|
|
@@ -3,8 +3,12 @@ export declare class StatusLineManager {
|
|
|
3
3
|
private alignTimeoutId?;
|
|
4
4
|
private activeCount;
|
|
5
5
|
private lastLine;
|
|
6
|
-
private
|
|
6
|
+
private isEnabledCached;
|
|
7
7
|
constructor();
|
|
8
|
+
/**
|
|
9
|
+
* Check if status line is enabled (only enabled when not in debug mode)
|
|
10
|
+
*/
|
|
11
|
+
private get isEnabled();
|
|
8
12
|
/**
|
|
9
13
|
* Updates the count of active conversations
|
|
10
14
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-line.d.ts","sourceRoot":"","sources":["../../src/utils/status-line.ts"],"names":[],"mappings":"AAUA,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,UAAU,CAAC,CAAiB;IACpC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"status-line.d.ts","sourceRoot":"","sources":["../../src/utils/status-line.ts"],"names":[],"mappings":"AAUA,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,UAAU,CAAC,CAAiB;IACpC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,eAAe,CAAwB;;IAO/C;;OAEG;IACH,OAAO,KAAK,SAAS,GAMpB;IAED;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAqBtC;;OAEG;IACH,OAAO,CAAC,aAAa;IAmBrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAWpB;;OAEG;IACH,OAAO,CAAC,UAAU;IAmClB;;OAEG;IACH,OAAO,IAAI,IAAI;CAOhB;AAGD,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
|
|
@@ -12,10 +12,20 @@ export class StatusLineManager {
|
|
|
12
12
|
alignTimeoutId;
|
|
13
13
|
activeCount = 0;
|
|
14
14
|
lastLine = "";
|
|
15
|
-
|
|
15
|
+
isEnabledCached = null;
|
|
16
16
|
constructor() {
|
|
17
|
-
//
|
|
18
|
-
|
|
17
|
+
// Don't cache debug state here - defer until first use
|
|
18
|
+
// This allows env vars to be set after module load
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Check if status line is enabled (only enabled when not in debug mode)
|
|
22
|
+
*/
|
|
23
|
+
get isEnabled() {
|
|
24
|
+
// Cache on first call, after env vars have been set
|
|
25
|
+
if (this.isEnabledCached === null) {
|
|
26
|
+
this.isEnabledCached = !isRunnerDebugEnabled();
|
|
27
|
+
}
|
|
28
|
+
return this.isEnabledCached;
|
|
19
29
|
}
|
|
20
30
|
/**
|
|
21
31
|
* Updates the count of active conversations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-line.js","sourceRoot":"","sources":["../../src/utils/status-line.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,OAAO,iBAAiB;IACpB,UAAU,CAAkB;IAC5B,cAAc,CAAkB;IAChC,WAAW,GAAW,CAAC,CAAC;IACxB,QAAQ,GAAW,EAAE,CAAC;IACtB,
|
|
1
|
+
{"version":3,"file":"status-line.js","sourceRoot":"","sources":["../../src/utils/status-line.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@northflare/runner",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.21",
|
|
4
4
|
"description": "Distributed conversation runner for Northflare",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
"@anthropic-ai/claude-agent-sdk": "0.1.51",
|
|
13
13
|
"@botanicastudios/claude-code-sdk-ts": "0.2.22-fork",
|
|
14
14
|
"@botanicastudios/mcp-host-rpc": "^0.4.0",
|
|
15
|
-
"@openai/codex-sdk": "^0.60.1",
|
|
16
15
|
"@openrouter/ai-sdk-provider": "^1.2.8",
|
|
17
16
|
"@tanstack/react-query": "^5.x.x",
|
|
18
17
|
"@types/jsonwebtoken": "^9.0.10",
|