@lumi.ai/runner 0.15.2 → 0.15.4
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 +21 -2
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -99,8 +99,9 @@ function effectiveAgentTools(agent) {
|
|
|
99
99
|
const { capabilities } = getEngine(agent.engine);
|
|
100
100
|
const tools = { ...DEFAULT_AGENT_TOOLS, ...agent.tools };
|
|
101
101
|
const github = { ...DEFAULT_AGENT_TOOLS.github, ...tools.github };
|
|
102
|
+
const { agentWrite, ...spreadableTools } = tools;
|
|
102
103
|
return {
|
|
103
|
-
...
|
|
104
|
+
...spreadableTools,
|
|
104
105
|
workspaceMcp: tools.workspaceMcp && capabilities.mcp,
|
|
105
106
|
bash: tools.bash && capabilities.bash,
|
|
106
107
|
webSearch: tools.webSearch && capabilities.webSearch,
|
|
@@ -117,6 +118,9 @@ function effectiveAgentTools(agent) {
|
|
|
117
118
|
// browser tools are served by Crew's own Workspace MCP, so an engine that cannot speak MCP
|
|
118
119
|
// cannot reach them however the captain has configured the agent.
|
|
119
120
|
browser: tools.browser && capabilities.mcp,
|
|
121
|
+
// §15.45, and intersected with `capabilities.mcp` for `browser`'s reason: `agent_write` is a
|
|
122
|
+
// Workspace MCP tool, so an engine that cannot speak MCP cannot reach it however this is set.
|
|
123
|
+
...agentWrite && capabilities.mcp ? { agentWrite } : {},
|
|
120
124
|
github: { ...github, repos: [...github.repos], enabled: github.enabled && capabilities.bash }
|
|
121
125
|
};
|
|
122
126
|
}
|
|
@@ -295,6 +299,21 @@ var COLLECTIONS = {
|
|
|
295
299
|
* test that exists to catch a forgotten credential-bearing collection.
|
|
296
300
|
*/
|
|
297
301
|
mcpServers: "mcp_servers",
|
|
302
|
+
/**
|
|
303
|
+
* `ships/{shipId}/oauth_grants/{grantId}` — a person's standing authorization for one OAuth
|
|
304
|
+
* client to reach this Ship's Workspace MCP (PRD §15.46).
|
|
305
|
+
*
|
|
306
|
+
* SHIP-SCOPED, unlike the three root-level collections the flow also uses, and for one reason:
|
|
307
|
+
* it must die with the Ship. The pending request and the authorization code both live at the
|
|
308
|
+
* root because neither has a Ship yet (choosing one is what consent is FOR) or lives longer than
|
|
309
|
+
* a minute; a grant is the durable half and outlives both.
|
|
310
|
+
*
|
|
311
|
+
* The row here is the NON-SECRET half — who, which client, when last used — so a member can see
|
|
312
|
+
* "connected apps" without a privileged read. The refresh token's hash lives beside it in
|
|
313
|
+
* `secrets/oauth_grant_{grantId}`, which no client may read at all, exactly the way a registered
|
|
314
|
+
* MCP connection splits from `secrets/mcp_srv_{key}`.
|
|
315
|
+
*/
|
|
316
|
+
oauthGrants: "oauth_grants",
|
|
298
317
|
/** Top-level `users/{uid}/...` — per-user docs (runner machine registry). */
|
|
299
318
|
users: "users",
|
|
300
319
|
/** Top-level `githubInstallStates/{stateId}` — single-use install-flow nonces (backend only). */
|
|
@@ -919,7 +938,7 @@ function mcpUrl(config2) {
|
|
|
919
938
|
}
|
|
920
939
|
|
|
921
940
|
// src/version.ts
|
|
922
|
-
var RUNNER_VERSION = true ? "0.15.
|
|
941
|
+
var RUNNER_VERSION = true ? "0.15.4" : "0.0.0-dev";
|
|
923
942
|
|
|
924
943
|
// src/auth.ts
|
|
925
944
|
import { signInWithCustomToken } from "firebase/auth";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lumi.ai/runner",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.4",
|
|
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.",
|