@stigmer/cli 3.8.0 → 3.9.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/local/daemon/components.d.ts.map +1 -1
- package/local/daemon/components.js +11 -0
- package/local/daemon/components.js.map +1 -1
- package/local/paths.d.ts +11 -0
- package/local/paths.d.ts.map +1 -1
- package/local/paths.js +13 -0
- package/local/paths.js.map +1 -1
- package/package.json +5 -5
- package/src/local/daemon/components.test.ts +19 -0
- package/src/local/daemon/components.ts +11 -0
- package/src/local/paths.ts +15 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/local/daemon/components.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/local/daemon/components.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAiB,MAAM,YAAY,CAAC;AAK/D;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAAC,UAAU,CAgB7G;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAAC,UAAU,CA0B7G;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,GAAE,MAAM,CAAC,UAAwB,GAAG,aAAa,EAAE,CAmC5G"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
// enforceable — mirroring test/e2e/fixtures/server-manager.ts.
|
|
9
9
|
import { dirname, join } from "node:path";
|
|
10
10
|
import { RUNNER_TASK_QUEUE, RUNNER_READY_MARKER, SERVER_PID_FILE, RUNNER_PID_FILE, SERVER_PORT, TEMPORAL_NAMESPACE } from "../constants.js";
|
|
11
|
+
import { ARTIFACTS_SUBDIR } from "../paths.js";
|
|
11
12
|
import { waitForTcp } from "../net/tcp.js";
|
|
12
13
|
/** How long the server has to open its gRPC port before startup aborts. */
|
|
13
14
|
const SERVER_GATE_TIMEOUT_MS = 30_000;
|
|
@@ -26,6 +27,10 @@ export function buildServerEnv(config, base = process.env) {
|
|
|
26
27
|
TEMPORAL_WORKFLOW_EXECUTION_RUNNER_TASK_QUEUE: RUNNER_TASK_QUEUE,
|
|
27
28
|
DB_PATH: join(configDir, "stigmer.db"),
|
|
28
29
|
STORAGE_PATH: join(configDir, "storage"),
|
|
30
|
+
// The artifact root the runner also reads (#285). Set explicitly rather
|
|
31
|
+
// than relying on the server's compiled default so the shared-store contract
|
|
32
|
+
// is visible and enforceable here, next to the runner's LOCAL_ARTIFACT_PATH.
|
|
33
|
+
ARTIFACT_LOCAL_BASE_PATH: join(config.dataDir, ARTIFACTS_SUBDIR),
|
|
29
34
|
};
|
|
30
35
|
}
|
|
31
36
|
/**
|
|
@@ -43,6 +48,12 @@ export function buildRunnerEnv(config, base = process.env) {
|
|
|
43
48
|
WORKSPACE_ROOT_DIR: join(config.dataDir, "workspace"),
|
|
44
49
|
STIGMER_TASK_QUEUE: RUNNER_TASK_QUEUE,
|
|
45
50
|
LOG_LEVEL: base.LOG_LEVEL ?? "info",
|
|
51
|
+
// Read artifacts from the exact directory the server writes to (#285), and
|
|
52
|
+
// pin the serve URL to the server's artifact HTTP port (GRPC_PORT + 1)
|
|
53
|
+
// rather than leaving two independent defaults to agree by luck.
|
|
54
|
+
ARTIFACT_STORAGE_TYPE: "local",
|
|
55
|
+
LOCAL_ARTIFACT_PATH: join(config.dataDir, ARTIFACTS_SUBDIR),
|
|
56
|
+
LOCAL_ARTIFACT_SERVE_URL: `http://localhost:${SERVER_PORT + 1}`,
|
|
46
57
|
};
|
|
47
58
|
if (config.cursorApiKey !== undefined)
|
|
48
59
|
env.CURSOR_API_KEY = config.cursorApiKey;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.js","sourceRoot":"","sources":["../../../src/local/daemon/components.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,EAAE;AACF,6EAA6E;AAC7E,kFAAkF;AAClF,gFAAgF;AAChF,4EAA4E;AAC5E,8EAA8E;AAC9E,+DAA+D;AAE/D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC5I,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAI3C,2EAA2E;AAC3E,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAEtC;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAoB,EAAE,OAA0B,OAAO,CAAC,GAAG;IACxF,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa;IACxD,OAAO;QACL,GAAG,IAAI;QACP,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC;QAC9B,kBAAkB,EAAE,MAAM,CAAC,eAAe;QAC1C,kBAAkB;QAClB,0CAA0C,EAAE,iBAAiB;QAC7D,6CAA6C,EAAE,iBAAiB;QAChE,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC;QACtC,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"components.js","sourceRoot":"","sources":["../../../src/local/daemon/components.ts"],"names":[],"mappings":"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"}
|
package/local/paths.d.ts
CHANGED
|
@@ -4,6 +4,17 @@ export { configDir, dataDir };
|
|
|
4
4
|
export declare function logDir(home?: string): string;
|
|
5
5
|
/** Working directory the runner is launched in (~/.stigmer/data/workspace). */
|
|
6
6
|
export declare function workspaceDir(home?: string): string;
|
|
7
|
+
/** Subdirectory name of the local artifact store under the data dir. */
|
|
8
|
+
export declare const ARTIFACTS_SUBDIR = "artifacts";
|
|
9
|
+
/**
|
|
10
|
+
* Local artifact store root (~/.stigmer/data/artifacts). This one directory is
|
|
11
|
+
* shared by both local processes: the stigmer-server writes to it (as its
|
|
12
|
+
* ARTIFACT_LOCAL_BASE_PATH) and the runner reads from it (as its
|
|
13
|
+
* LOCAL_ARTIFACT_PATH). Owning the path here — beside logDir() and
|
|
14
|
+
* workspaceDir() — is what keeps the two env vars from drifting apart, the
|
|
15
|
+
* regression behind stigmer/stigmer#285.
|
|
16
|
+
*/
|
|
17
|
+
export declare function artifactDir(home?: string): string;
|
|
7
18
|
/** Downloaded-binary directory for Temporal + stigmer-server (~/.stigmer/bin). */
|
|
8
19
|
export declare function binDir(home?: string): string;
|
|
9
20
|
/**
|
package/local/paths.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/local/paths.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAE9B,0EAA0E;AAC1E,wBAAgB,MAAM,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAEvD;AAED,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAE7D;AAED,kFAAkF;AAClF,wBAAgB,MAAM,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAE5D;AAED,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAEhE;AAED;mEACmE;AACnE,wBAAgB,eAAe,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAEhE;AAED,qEAAqE;AACrE,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAEjE;AAED,gFAAgF;AAChF,wBAAgB,YAAY,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAE7D;AAED,+EAA+E;AAC/E,wBAAgB,WAAW,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAE5D"}
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/local/paths.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAE9B,0EAA0E;AAC1E,wBAAgB,MAAM,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAEvD;AAED,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAE7D;AAED,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,cAAc,CAAC;AAE5C;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAE5D;AAED,kFAAkF;AAClF,wBAAgB,MAAM,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAE5D;AAED,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAEhE;AAED;mEACmE;AACnE,wBAAgB,eAAe,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAEhE;AAED,qEAAqE;AACrE,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAEjE;AAED,gFAAgF;AAChF,wBAAgB,YAAY,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAE7D;AAED,+EAA+E;AAC/E,wBAAgB,WAAW,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAE5D"}
|
package/local/paths.js
CHANGED
|
@@ -21,6 +21,19 @@ export function logDir(home = homedir()) {
|
|
|
21
21
|
export function workspaceDir(home = homedir()) {
|
|
22
22
|
return join(dataDir(home), "workspace");
|
|
23
23
|
}
|
|
24
|
+
/** Subdirectory name of the local artifact store under the data dir. */
|
|
25
|
+
export const ARTIFACTS_SUBDIR = "artifacts";
|
|
26
|
+
/**
|
|
27
|
+
* Local artifact store root (~/.stigmer/data/artifacts). This one directory is
|
|
28
|
+
* shared by both local processes: the stigmer-server writes to it (as its
|
|
29
|
+
* ARTIFACT_LOCAL_BASE_PATH) and the runner reads from it (as its
|
|
30
|
+
* LOCAL_ARTIFACT_PATH). Owning the path here — beside logDir() and
|
|
31
|
+
* workspaceDir() — is what keeps the two env vars from drifting apart, the
|
|
32
|
+
* regression behind stigmer/stigmer#285.
|
|
33
|
+
*/
|
|
34
|
+
export function artifactDir(home = homedir()) {
|
|
35
|
+
return join(dataDir(home), ARTIFACTS_SUBDIR);
|
|
36
|
+
}
|
|
24
37
|
/** Downloaded-binary directory for Temporal + stigmer-server (~/.stigmer/bin). */
|
|
25
38
|
export function binDir(home = homedir()) {
|
|
26
39
|
return join(configDir(home), "bin");
|
package/local/paths.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/local/paths.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,EAAE;AACF,wEAAwE;AACxE,wBAAwB;AACxB,gFAAgF;AAChF,mCAAmC;AACnC,8EAA8E;AAC9E,iCAAiC;AACjC,4EAA4E;AAC5E,4EAA4E;AAC5E,kCAAkC;AAElC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAE9B,0EAA0E;AAC1E,MAAM,UAAU,MAAM,CAAC,OAAe,OAAO,EAAE;IAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,YAAY,CAAC,OAAe,OAAO,EAAE;IACnD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;AAC1C,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,MAAM,CAAC,OAAe,OAAO,EAAE;IAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe,OAAO,EAAE;IAClD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;AAC3C,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,eAAe,CAAC,OAAe,OAAO,EAAE;IACtD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC;AAChD,CAAC;AAED;mEACmE;AACnE,MAAM,UAAU,eAAe,CAAC,OAAe,OAAO,EAAE;IACtD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC;AAC/C,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,gBAAgB,CAAC,OAAe,OAAO,EAAE;IACvD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC;AAChD,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,YAAY,CAAC,OAAe,OAAO,EAAE;IACnD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;AAC7C,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,WAAW,CAAC,OAAe,OAAO,EAAE;IAClD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;AAC1C,CAAC"}
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/local/paths.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,EAAE;AACF,wEAAwE;AACxE,wBAAwB;AACxB,gFAAgF;AAChF,mCAAmC;AACnC,8EAA8E;AAC9E,iCAAiC;AACjC,4EAA4E;AAC5E,4EAA4E;AAC5E,kCAAkC;AAElC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAE9B,0EAA0E;AAC1E,MAAM,UAAU,MAAM,CAAC,OAAe,OAAO,EAAE;IAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,YAAY,CAAC,OAAe,OAAO,EAAE;IACnD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;AAC1C,CAAC;AAED,wEAAwE;AACxE,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAE5C;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe,OAAO,EAAE;IAClD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAC/C,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,MAAM,CAAC,OAAe,OAAO,EAAE;IAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe,OAAO,EAAE;IAClD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;AAC3C,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,eAAe,CAAC,OAAe,OAAO,EAAE;IACtD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC;AAChD,CAAC;AAED;mEACmE;AACnE,MAAM,UAAU,eAAe,CAAC,OAAe,OAAO,EAAE;IACtD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC;AAC/C,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,gBAAgB,CAAC,OAAe,OAAO,EAAE;IACvD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC;AAChD,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,YAAY,CAAC,OAAe,OAAO,EAAE;IACnD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;AAC7C,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,WAAW,CAAC,OAAe,OAAO,EAAE;IAClD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;AAC1C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stigmer/cli",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.9.0",
|
|
4
4
|
"description": "Stigmer command-line interface — manage agents, workflows, MCP servers, skills, and executions from the terminal",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -35,10 +35,10 @@
|
|
|
35
35
|
"@connectrpc/connect": "^2.0.0",
|
|
36
36
|
"@connectrpc/connect-node": "^2.1.1",
|
|
37
37
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
38
|
-
"@stigmer/ink": "3.
|
|
39
|
-
"@stigmer/mcp-server": "3.
|
|
40
|
-
"@stigmer/protos": "3.
|
|
41
|
-
"@stigmer/sdk": "3.
|
|
38
|
+
"@stigmer/ink": "3.9.0",
|
|
39
|
+
"@stigmer/mcp-server": "3.9.0",
|
|
40
|
+
"@stigmer/protos": "3.9.0",
|
|
41
|
+
"@stigmer/sdk": "3.9.0",
|
|
42
42
|
"commander": "^12.1.0",
|
|
43
43
|
"fflate": "^0.8.3",
|
|
44
44
|
"ink": "^7.0.0",
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { join } from "node:path";
|
|
2
3
|
import { RUNNER_READY_MARKER, RUNNER_TASK_QUEUE } from "../constants.js";
|
|
3
4
|
import type { DaemonConfig } from "./env.js";
|
|
4
5
|
import { buildComponents, buildRunnerEnv, buildServerEnv } from "./components.js";
|
|
@@ -76,6 +77,24 @@ describe("buildRunnerEnv", () => {
|
|
|
76
77
|
expect(runnerEnv.STIGMER_TASK_QUEUE).toBe(serverEnv.TEMPORAL_AGENT_EXECUTION_RUNNER_TASK_QUEUE);
|
|
77
78
|
expect(runnerEnv.STIGMER_TASK_QUEUE).toBe(serverEnv.TEMPORAL_WORKFLOW_EXECUTION_RUNNER_TASK_QUEUE);
|
|
78
79
|
});
|
|
80
|
+
|
|
81
|
+
// #285 regression guard: the server's artifact base and the runner's artifact
|
|
82
|
+
// path must be the SAME directory, or a storage-key attachment the server
|
|
83
|
+
// wrote fails to resolve when the runner reads it back. Both must be defined
|
|
84
|
+
// (a naive `runnerEnv.X === serverEnv.Y` would pass vacuously on
|
|
85
|
+
// undefined === undefined) and equal to the ~/.stigmer/data/artifacts root.
|
|
86
|
+
it("pins the runner's artifact path to the server's artifact base", () => {
|
|
87
|
+
const serverEnv = buildServerEnv(config, {});
|
|
88
|
+
const runnerEnv = buildRunnerEnv(config, {});
|
|
89
|
+
const expected = join(config.dataDir, "artifacts");
|
|
90
|
+
|
|
91
|
+
expect(serverEnv.ARTIFACT_LOCAL_BASE_PATH).toBe(expected);
|
|
92
|
+
expect(runnerEnv.LOCAL_ARTIFACT_PATH).toBe(expected);
|
|
93
|
+
expect(runnerEnv.LOCAL_ARTIFACT_PATH).toBe(serverEnv.ARTIFACT_LOCAL_BASE_PATH);
|
|
94
|
+
expect(runnerEnv.ARTIFACT_STORAGE_TYPE).toBe("local");
|
|
95
|
+
// Serve URL pinned to the server's artifact HTTP port (GRPC_PORT + 1).
|
|
96
|
+
expect(runnerEnv.LOCAL_ARTIFACT_SERVE_URL).toBe("http://localhost:7235");
|
|
97
|
+
});
|
|
79
98
|
});
|
|
80
99
|
|
|
81
100
|
describe("buildComponents", () => {
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
import { dirname, join } from "node:path";
|
|
11
11
|
import { RUNNER_TASK_QUEUE, RUNNER_READY_MARKER, SERVER_PID_FILE, RUNNER_PID_FILE, SERVER_PORT, TEMPORAL_NAMESPACE } from "../constants.js";
|
|
12
|
+
import { ARTIFACTS_SUBDIR } from "../paths.js";
|
|
12
13
|
import { waitForTcp } from "../net/tcp.js";
|
|
13
14
|
import type { DaemonConfig } from "./env.js";
|
|
14
15
|
import type { ComponentSpec, ReadinessGate } from "./types.js";
|
|
@@ -31,6 +32,10 @@ export function buildServerEnv(config: DaemonConfig, base: NodeJS.ProcessEnv = p
|
|
|
31
32
|
TEMPORAL_WORKFLOW_EXECUTION_RUNNER_TASK_QUEUE: RUNNER_TASK_QUEUE,
|
|
32
33
|
DB_PATH: join(configDir, "stigmer.db"),
|
|
33
34
|
STORAGE_PATH: join(configDir, "storage"),
|
|
35
|
+
// The artifact root the runner also reads (#285). Set explicitly rather
|
|
36
|
+
// than relying on the server's compiled default so the shared-store contract
|
|
37
|
+
// is visible and enforceable here, next to the runner's LOCAL_ARTIFACT_PATH.
|
|
38
|
+
ARTIFACT_LOCAL_BASE_PATH: join(config.dataDir, ARTIFACTS_SUBDIR),
|
|
34
39
|
};
|
|
35
40
|
}
|
|
36
41
|
|
|
@@ -49,6 +54,12 @@ export function buildRunnerEnv(config: DaemonConfig, base: NodeJS.ProcessEnv = p
|
|
|
49
54
|
WORKSPACE_ROOT_DIR: join(config.dataDir, "workspace"),
|
|
50
55
|
STIGMER_TASK_QUEUE: RUNNER_TASK_QUEUE,
|
|
51
56
|
LOG_LEVEL: base.LOG_LEVEL ?? "info",
|
|
57
|
+
// Read artifacts from the exact directory the server writes to (#285), and
|
|
58
|
+
// pin the serve URL to the server's artifact HTTP port (GRPC_PORT + 1)
|
|
59
|
+
// rather than leaving two independent defaults to agree by luck.
|
|
60
|
+
ARTIFACT_STORAGE_TYPE: "local",
|
|
61
|
+
LOCAL_ARTIFACT_PATH: join(config.dataDir, ARTIFACTS_SUBDIR),
|
|
62
|
+
LOCAL_ARTIFACT_SERVE_URL: `http://localhost:${SERVER_PORT + 1}`,
|
|
52
63
|
};
|
|
53
64
|
if (config.cursorApiKey !== undefined) env.CURSOR_API_KEY = config.cursorApiKey;
|
|
54
65
|
// Explicit set (after the base spread) so the launcher-resolved key wins over any
|
package/src/local/paths.ts
CHANGED
|
@@ -26,6 +26,21 @@ export function workspaceDir(home: string = homedir()): string {
|
|
|
26
26
|
return join(dataDir(home), "workspace");
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
/** Subdirectory name of the local artifact store under the data dir. */
|
|
30
|
+
export const ARTIFACTS_SUBDIR = "artifacts";
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Local artifact store root (~/.stigmer/data/artifacts). This one directory is
|
|
34
|
+
* shared by both local processes: the stigmer-server writes to it (as its
|
|
35
|
+
* ARTIFACT_LOCAL_BASE_PATH) and the runner reads from it (as its
|
|
36
|
+
* LOCAL_ARTIFACT_PATH). Owning the path here — beside logDir() and
|
|
37
|
+
* workspaceDir() — is what keeps the two env vars from drifting apart, the
|
|
38
|
+
* regression behind stigmer/stigmer#285.
|
|
39
|
+
*/
|
|
40
|
+
export function artifactDir(home: string = homedir()): string {
|
|
41
|
+
return join(dataDir(home), ARTIFACTS_SUBDIR);
|
|
42
|
+
}
|
|
43
|
+
|
|
29
44
|
/** Downloaded-binary directory for Temporal + stigmer-server (~/.stigmer/bin). */
|
|
30
45
|
export function binDir(home: string = homedir()): string {
|
|
31
46
|
return join(configDir(home), "bin");
|