@urateam/core 0.1.53 → 0.1.55

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.
@@ -3,32 +3,35 @@ import { eq } from "drizzle-orm";
3
3
  import { createDb } from "../db/client.js";
4
4
  import { pipelineRuns } from "../db/schema.js";
5
5
  /**
6
- * BEC-227 — Task 5 verification.
6
+ * BEC-227 — agent_session_id minting + opt-out flag semantics.
7
7
  *
8
- * `runner.start()` mints an `agent_session_id` UUID and persists it on the
9
- * `pipeline_runs` row when `URATEAM_ENABLE_AGENT_SESSION_RESUME=true`. This
10
- * test simulates the row state directly (rather than invoking `start()`
11
- * which requires reconstructing 6 positional params + a queue + executor)
12
- * and asserts the column behaviour — the runner-level integration is
13
- * verified by typecheck + existing pipeline tests.
8
+ * Phase 3: default ON. `runner.start()` mints an `agent_session_id` UUID
9
+ * for every pipeline run unless the operator sets
10
+ * `URATEAM_DISABLE_AGENT_SESSION_RESUME=true`. The strict equality semantics
11
+ * mirror the BEC-218 precedent (`URATEAM_DISABLE_TIER_6E`).
12
+ *
13
+ * This test simulates the row state directly (rather than invoking
14
+ * `start()` which requires reconstructing 6 positional params + a queue +
15
+ * executor) and asserts the column behaviour — the runner-level
16
+ * integration is verified by typecheck + existing pipeline tests.
14
17
  */
15
- describe("agent_session_id minting (BEC-227)", () => {
18
+ describe("agent_session_id minting (BEC-227 Phase 3 — default ON)", () => {
16
19
  let originalEnv;
17
20
  beforeEach(() => {
18
- originalEnv = process.env.URATEAM_ENABLE_AGENT_SESSION_RESUME;
21
+ originalEnv = process.env.URATEAM_DISABLE_AGENT_SESSION_RESUME;
19
22
  });
20
23
  afterEach(() => {
21
24
  if (originalEnv === undefined) {
22
- delete process.env.URATEAM_ENABLE_AGENT_SESSION_RESUME;
25
+ delete process.env.URATEAM_DISABLE_AGENT_SESSION_RESUME;
23
26
  }
24
27
  else {
25
- process.env.URATEAM_ENABLE_AGENT_SESSION_RESUME = originalEnv;
28
+ process.env.URATEAM_DISABLE_AGENT_SESSION_RESUME = originalEnv;
26
29
  }
27
30
  });
28
- it("flag on → mints UUID and persists on pipeline_runs row", async () => {
29
- process.env.URATEAM_ENABLE_AGENT_SESSION_RESUME = "true";
31
+ it("default (env unset) → mints UUID and persists on pipeline_runs row", async () => {
32
+ delete process.env.URATEAM_DISABLE_AGENT_SESSION_RESUME;
30
33
  const db = await createDb({ driver: "sqlite", connectionString: ":memory:" });
31
- const runId = "test-run-with-session";
34
+ const runId = "test-run-default-on";
32
35
  await db.insert(pipelineRuns).values({
33
36
  id: runId,
34
37
  issueId: "BEC-227",
@@ -37,7 +40,7 @@ describe("agent_session_id minting (BEC-227)", () => {
37
40
  pipelineKey: "auto-implement",
38
41
  status: "queued",
39
42
  startedAt: new Date(),
40
- agentSessionId: "expected-uuid", // simulate what start() writes
43
+ agentSessionId: "expected-uuid", // simulate what start() writes when default-on
41
44
  });
42
45
  const [row] = await db
43
46
  .select()
@@ -45,10 +48,10 @@ describe("agent_session_id minting (BEC-227)", () => {
45
48
  .where(eq(pipelineRuns.id, runId));
46
49
  expect(row.agentSessionId).toBe("expected-uuid");
47
50
  });
48
- it("flag off → agentSessionId stays null", async () => {
49
- delete process.env.URATEAM_ENABLE_AGENT_SESSION_RESUME;
51
+ it("explicit opt-out via DISABLE=true → agentSessionId can be null", async () => {
52
+ process.env.URATEAM_DISABLE_AGENT_SESSION_RESUME = "true";
50
53
  const db = await createDb({ driver: "sqlite", connectionString: ":memory:" });
51
- const runId = "test-run-legacy";
54
+ const runId = "test-run-opt-out";
52
55
  await db.insert(pipelineRuns).values({
53
56
  id: runId,
54
57
  issueId: "BEC-227",
@@ -57,6 +60,7 @@ describe("agent_session_id minting (BEC-227)", () => {
57
60
  pipelineKey: "auto-implement",
58
61
  status: "queued",
59
62
  startedAt: new Date(),
63
+ // start() under opt-out leaves agent_session_id null
60
64
  });
61
65
  const [row] = await db
62
66
  .select()
@@ -64,24 +68,45 @@ describe("agent_session_id minting (BEC-227)", () => {
64
68
  .where(eq(pipelineRuns.id, runId));
65
69
  expect(row.agentSessionId).toBeNull();
66
70
  });
67
- it("isAgentSessionResumeEnabled reads env at call time (strict equality 'true')", async () => {
71
+ it("isAgentSessionResumeEnabled is default-on with strict opt-out (BEC-227 Phase 3)", async () => {
68
72
  const { isAgentSessionResumeEnabled } = await import("../executor/session-policy.js");
73
+ // Default ON when var is unset or any value other than literal "true".
74
+ expect(isAgentSessionResumeEnabled({})).toBe(true);
69
75
  expect(isAgentSessionResumeEnabled({
70
- URATEAM_ENABLE_AGENT_SESSION_RESUME: "true",
76
+ URATEAM_DISABLE_AGENT_SESSION_RESUME: "",
71
77
  })).toBe(true);
72
78
  expect(isAgentSessionResumeEnabled({
73
- URATEAM_ENABLE_AGENT_SESSION_RESUME: "1",
74
- })).toBe(false);
79
+ URATEAM_DISABLE_AGENT_SESSION_RESUME: "false",
80
+ })).toBe(true);
75
81
  expect(isAgentSessionResumeEnabled({
76
- URATEAM_ENABLE_AGENT_SESSION_RESUME: "yes",
77
- })).toBe(false);
82
+ URATEAM_DISABLE_AGENT_SESSION_RESUME: "1",
83
+ })).toBe(true);
84
+ expect(isAgentSessionResumeEnabled({
85
+ URATEAM_DISABLE_AGENT_SESSION_RESUME: "yes",
86
+ })).toBe(true);
87
+ expect(isAgentSessionResumeEnabled({
88
+ URATEAM_DISABLE_AGENT_SESSION_RESUME: "TRUE",
89
+ })).toBe(true);
90
+ // Off only on literal "true" (strict equality, matches BEC-218 precedent).
78
91
  expect(isAgentSessionResumeEnabled({
79
- URATEAM_ENABLE_AGENT_SESSION_RESUME: "TRUE",
92
+ URATEAM_DISABLE_AGENT_SESSION_RESUME: "true",
80
93
  })).toBe(false);
94
+ });
95
+ it("legacy URATEAM_ENABLE_AGENT_SESSION_RESUME is ignored under Phase 3", async () => {
96
+ const { isAgentSessionResumeEnabled } = await import("../executor/session-policy.js");
97
+ // Phase 1/2 operators may still have URATEAM_ENABLE_AGENT_SESSION_RESUME
98
+ // set in their .env. Under Phase 3 it is ignored; default-on applies.
81
99
  expect(isAgentSessionResumeEnabled({
82
- URATEAM_ENABLE_AGENT_SESSION_RESUME: "",
100
+ URATEAM_ENABLE_AGENT_SESSION_RESUME: "true",
101
+ })).toBe(true);
102
+ expect(isAgentSessionResumeEnabled({
103
+ URATEAM_ENABLE_AGENT_SESSION_RESUME: "false",
104
+ })).toBe(true);
105
+ // The new var still wins.
106
+ expect(isAgentSessionResumeEnabled({
107
+ URATEAM_ENABLE_AGENT_SESSION_RESUME: "true",
108
+ URATEAM_DISABLE_AGENT_SESSION_RESUME: "true",
83
109
  })).toBe(false);
84
- expect(isAgentSessionResumeEnabled({})).toBe(false);
85
110
  });
86
111
  });
87
112
  //# sourceMappingURL=session-resume-flag.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-resume-flag.test.js","sourceRoot":"","sources":["../../src/__tests__/session-resume-flag.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-resume-flag.test.js","sourceRoot":"","sources":["../../src/__tests__/session-resume-flag.test.ts"],"names":[],"mappings":"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"}
@@ -27,12 +27,23 @@ export declare function isAlwaysFreshStage(stage: string): boolean;
27
27
  */
28
28
  export declare function isResumable(stage: string, model: string): boolean;
29
29
  /**
30
- * Returns true iff the env enables agent session resume (BEC-227).
30
+ * Returns true iff agent session resume (BEC-227) is enabled for this run.
31
31
  *
32
- * Strict equality on `"true"` mirrors BEC-218 / BEC-225 precedent so
33
- * `"1"` / `"yes"` / `"TRUE"` / `""` do NOT enable the flag. The env is
34
- * read at call time so flipping the var takes effect on the next pipeline
35
- * run without a daemon restart.
32
+ * BEC-227 Phase 3: default ON. After the Phase 2 dogfood soak verified the
33
+ * mechanism works end-to-end (combined with the BEC-231 + BEC-232 fixes),
34
+ * the default flipped from opt-in to opt-out. Operators who want to disable
35
+ * session resume can set `URATEAM_DISABLE_AGENT_SESSION_RESUME=true`.
36
+ *
37
+ * Strict equality on `"true"` — mirrors BEC-218 precedent so `"1"` /
38
+ * `"yes"` / `"TRUE"` / `""` do NOT disable the flag. The env is read at
39
+ * call time so flipping the var takes effect on the next pipeline run
40
+ * without a daemon restart.
41
+ *
42
+ * The previous Phase-1/2 env var `URATEAM_ENABLE_AGENT_SESSION_RESUME` is
43
+ * ignored under Phase 3. Operators with `URATEAM_ENABLE_AGENT_SESSION_RESUME=true`
44
+ * in their `.env` will see no behavior change (the new default is on);
45
+ * operators relying on the old default-off can switch to
46
+ * `URATEAM_DISABLE_AGENT_SESSION_RESUME=true`.
36
47
  */
37
48
  export declare function isAgentSessionResumeEnabled(env?: NodeJS.ProcessEnv): boolean;
38
49
  //# sourceMappingURL=session-policy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-policy.d.ts","sourceRoot":"","sources":["../../src/executor/session-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,4EAA4E;AAC5E,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAGlD,CAAC;AAEH,oEAAoE;AACpE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEzD;AAkBD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAGjE;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAET"}
1
+ {"version":3,"file":"session-policy.d.ts","sourceRoot":"","sources":["../../src/executor/session-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,4EAA4E;AAC5E,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAGlD,CAAC;AAEH,oEAAoE;AACpE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEzD;AAkBD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAGjE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAET"}
@@ -53,14 +53,25 @@ export function isResumable(stage, model) {
53
53
  return modelFamily(model) === "claude";
54
54
  }
55
55
  /**
56
- * Returns true iff the env enables agent session resume (BEC-227).
56
+ * Returns true iff agent session resume (BEC-227) is enabled for this run.
57
57
  *
58
- * Strict equality on `"true"` mirrors BEC-218 / BEC-225 precedent so
59
- * `"1"` / `"yes"` / `"TRUE"` / `""` do NOT enable the flag. The env is
60
- * read at call time so flipping the var takes effect on the next pipeline
61
- * run without a daemon restart.
58
+ * BEC-227 Phase 3: default ON. After the Phase 2 dogfood soak verified the
59
+ * mechanism works end-to-end (combined with the BEC-231 + BEC-232 fixes),
60
+ * the default flipped from opt-in to opt-out. Operators who want to disable
61
+ * session resume can set `URATEAM_DISABLE_AGENT_SESSION_RESUME=true`.
62
+ *
63
+ * Strict equality on `"true"` — mirrors BEC-218 precedent so `"1"` /
64
+ * `"yes"` / `"TRUE"` / `""` do NOT disable the flag. The env is read at
65
+ * call time so flipping the var takes effect on the next pipeline run
66
+ * without a daemon restart.
67
+ *
68
+ * The previous Phase-1/2 env var `URATEAM_ENABLE_AGENT_SESSION_RESUME` is
69
+ * ignored under Phase 3. Operators with `URATEAM_ENABLE_AGENT_SESSION_RESUME=true`
70
+ * in their `.env` will see no behavior change (the new default is on);
71
+ * operators relying on the old default-off can switch to
72
+ * `URATEAM_DISABLE_AGENT_SESSION_RESUME=true`.
62
73
  */
63
74
  export function isAgentSessionResumeEnabled(env = process.env) {
64
- return env.URATEAM_ENABLE_AGENT_SESSION_RESUME === "true";
75
+ return env.URATEAM_DISABLE_AGENT_SESSION_RESUME !== "true";
65
76
  }
66
77
  //# sourceMappingURL=session-policy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-policy.js","sourceRoot":"","sources":["../../src/executor/session-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,4EAA4E;AAC5E,MAAM,CAAC,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC;IAC9D,UAAU,EAAE,iDAAiD;IAC7D,aAAa,EAAE,uDAAuD;CACvE,CAAC,CAAC;AAEH,oEAAoE;AACpE,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC;QAAE,OAAO,OAAO,CAAC;IACrD,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,QAAQ,CAAC;IACjD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,KAAa;IACtD,IAAI,kBAAkB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,WAAW,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC;AACzC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAyB,OAAO,CAAC,GAAG;IAEpC,OAAO,GAAG,CAAC,mCAAmC,KAAK,MAAM,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"session-policy.js","sourceRoot":"","sources":["../../src/executor/session-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,4EAA4E;AAC5E,MAAM,CAAC,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC;IAC9D,UAAU,EAAE,iDAAiD;IAC7D,aAAa,EAAE,uDAAuD;CACvE,CAAC,CAAC;AAEH,oEAAoE;AACpE,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC;QAAE,OAAO,OAAO,CAAC;IACrD,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,QAAQ,CAAC;IACjD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,KAAa;IACtD,IAAI,kBAAkB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,WAAW,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC;AACzC,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAyB,OAAO,CAAC,GAAG;IAEpC,OAAO,GAAG,CAAC,oCAAoC,KAAK,MAAM,CAAC;AAC7D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@urateam/core",
3
- "version": "0.1.53",
3
+ "version": "0.1.55",
4
4
  "license": "BUSL-1.1",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",