@lumi.ai/runner 0.15.16 → 0.15.17
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/dist/cli.js +39 -5
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -125,6 +125,25 @@ function effectiveAgentTools(agent) {
|
|
|
125
125
|
};
|
|
126
126
|
}
|
|
127
127
|
|
|
128
|
+
// ../shared/dist/assistant.js
|
|
129
|
+
var ASSISTANT_ACTOR_ID = "assistant";
|
|
130
|
+
var ASSISTANT_ACTOR = Object.freeze({
|
|
131
|
+
type: "agent",
|
|
132
|
+
id: ASSISTANT_ACTOR_ID
|
|
133
|
+
});
|
|
134
|
+
var ASSISTANT_PROFILE = Object.freeze({
|
|
135
|
+
autonomy: 2,
|
|
136
|
+
riskyActions: [],
|
|
137
|
+
tools: Object.freeze({
|
|
138
|
+
workspaceMcp: true,
|
|
139
|
+
github: Object.freeze({ enabled: false, repos: [] }),
|
|
140
|
+
bash: false,
|
|
141
|
+
webSearch: false,
|
|
142
|
+
extraMcps: [],
|
|
143
|
+
browser: false
|
|
144
|
+
})
|
|
145
|
+
});
|
|
146
|
+
|
|
128
147
|
// ../shared/dist/browser.js
|
|
129
148
|
var BROWSER_ONLINE_WINDOW_MS = 9e4;
|
|
130
149
|
var DEFAULT_BROWSER_CONSENT_MS = 60 * 60 * 1e3;
|
|
@@ -894,7 +913,7 @@ var WEBHOOK_ACK_REASONS = {
|
|
|
894
913
|
};
|
|
895
914
|
|
|
896
915
|
// ../shared/dist/workflow.js
|
|
897
|
-
var WORKFLOW_SENTINELS = ["generic", "assigned", "activity", "chat"];
|
|
916
|
+
var WORKFLOW_SENTINELS = ["generic", "assigned", "activity", "chat", "assistant"];
|
|
898
917
|
function isWorkflowSentinel(id) {
|
|
899
918
|
return WORKFLOW_SENTINELS.includes(id);
|
|
900
919
|
}
|
|
@@ -1019,7 +1038,7 @@ function mcpUrl(config2) {
|
|
|
1019
1038
|
}
|
|
1020
1039
|
|
|
1021
1040
|
// src/version.ts
|
|
1022
|
-
var RUNNER_VERSION = true ? "0.15.
|
|
1041
|
+
var RUNNER_VERSION = true ? "0.15.17" : "0.0.0-dev";
|
|
1023
1042
|
|
|
1024
1043
|
// src/auth.ts
|
|
1025
1044
|
import { signInWithCustomToken } from "firebase/auth";
|
|
@@ -2044,6 +2063,15 @@ function normalizeClaudeUsage(resultEvent, model, fallbackDurationS) {
|
|
|
2044
2063
|
const costReported = typeof result.total_cost_usd === "number";
|
|
2045
2064
|
const usage = {
|
|
2046
2065
|
engine: CLAUDE_DRIVER_ID,
|
|
2066
|
+
// The model the session was LAUNCHED with (§15.69), which is the parameter this function
|
|
2067
|
+
// already receives and used to drop on the floor. It is `engine`'s sibling: the pair is what
|
|
2068
|
+
// identifies a rate, and it is the only place the workspace assistant's model can come from,
|
|
2069
|
+
// since the assistant has no `agents/{id}` document to read one off.
|
|
2070
|
+
//
|
|
2071
|
+
// OUR REGISTRY'S ALIAS, not a resolved API id. The driver reads only the CLI's final `result`
|
|
2072
|
+
// event, and this file's header is explicit that the CLI is not a contract — so a reader
|
|
2073
|
+
// renders the registry LABEL and never invents a full version string.
|
|
2074
|
+
model,
|
|
2047
2075
|
inputTokens,
|
|
2048
2076
|
cachedInputTokens: cacheRead,
|
|
2049
2077
|
outputTokens,
|
|
@@ -3080,7 +3108,11 @@ async function markChatStopped(db, shipId, job, stoppedBy) {
|
|
|
3080
3108
|
author: { type: "agent", id: job.agentId },
|
|
3081
3109
|
content,
|
|
3082
3110
|
chars: content.length,
|
|
3083
|
-
createdAt: Date.now()
|
|
3111
|
+
createdAt: Date.now(),
|
|
3112
|
+
// The run that produced this message (§15.69) — the same join key `chat_send` stamps. These
|
|
3113
|
+
// three runner-written messages are exactly the ones a person most wants the run meta on,
|
|
3114
|
+
// because they are the ones explaining why a reply is missing or short.
|
|
3115
|
+
jobId: job.id
|
|
3084
3116
|
});
|
|
3085
3117
|
}
|
|
3086
3118
|
async function markChatFailed(db, shipId, job, error) {
|
|
@@ -3098,7 +3130,8 @@ Write again to start a fresh run.`;
|
|
|
3098
3130
|
author: { type: "agent", id: job.agentId },
|
|
3099
3131
|
content,
|
|
3100
3132
|
chars: content.length,
|
|
3101
|
-
createdAt: now
|
|
3133
|
+
createdAt: now,
|
|
3134
|
+
jobId: job.id
|
|
3102
3135
|
});
|
|
3103
3136
|
}
|
|
3104
3137
|
var REPLY_SCAN_LIMIT = 20;
|
|
@@ -3132,7 +3165,8 @@ async function ensureChatReply(db, shipId, job, resultText2) {
|
|
|
3132
3165
|
author: { type: "agent", id: job.agentId },
|
|
3133
3166
|
content,
|
|
3134
3167
|
chars: content.length,
|
|
3135
|
-
createdAt: Date.now()
|
|
3168
|
+
createdAt: Date.now(),
|
|
3169
|
+
jobId: job.id
|
|
3136
3170
|
});
|
|
3137
3171
|
return resultText2.trim() ? "posted-final-text" : "posted-silence-note";
|
|
3138
3172
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lumi.ai/runner",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.17",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Lumi Crew runner daemon — claims jobs from your Ships and executes them as headless Claude sessions on your own machine.",
|
|
6
6
|
"//name": "The ONLY package in this monorepo published to the public registry, so it is the one that does not follow the internal @lumi/crew-* convention: `@lumi` is not a scope we own, `@lumi.ai` is (the npm org). The workspace DIRECTORY stays packages/crew/runner — renaming the package is not renaming the folder.",
|