@devflow-tools/database 0.18.19 → 0.18.20

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.
@@ -20,6 +20,15 @@ export interface BenchmarkReportRecord {
20
20
  status: 'completed';
21
21
  tasks: unknown[];
22
22
  }
23
+ export declare class RuntimeActivationConflictError extends Error {
24
+ readonly previousHash: string;
25
+ readonly nextHash: string;
26
+ readonly conflictingFields: string[];
27
+ readonly code = "ACTIVATION_CONFLICT";
28
+ readonly retryable = false;
29
+ readonly recoveryAction = "Call refresh_activation explicitly and invalidate downstream artifacts.";
30
+ constructor(previousHash: string, nextHash: string, conflictingFields: string[]);
31
+ }
23
32
  export interface BenchmarkReportMetaRecord {
24
33
  runId: string;
25
34
  suiteId: string;
package/dist/database.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DevFlowDatabase = void 0;
3
+ exports.DevFlowDatabase = exports.RuntimeActivationConflictError = void 0;
4
4
  exports.getGlobalDevFlowDbPath = getGlobalDevFlowDbPath;
5
5
  exports.openGlobalDevFlowDatabase = openGlobalDevFlowDatabase;
6
6
  exports.openGlobalDevFlowReadOnlyDatabase = openGlobalDevFlowReadOnlyDatabase;
@@ -18,6 +18,19 @@ const retrieval_ledger_1 = require("./retrieval-ledger");
18
18
  const task_semantic_control_1 = require("./task-semantic-control");
19
19
  const task_runtime_1 = require("./task-runtime");
20
20
  const sdk_1 = require("@devflow-tools/sdk");
21
+ class RuntimeActivationConflictError extends Error {
22
+ constructor(previousHash, nextHash, conflictingFields) {
23
+ super(`RUNTIME_ACTIVATION_CONFLICT:ACTIVATION_CONFLICT:${conflictingFields.join(',')}`);
24
+ this.previousHash = previousHash;
25
+ this.nextHash = nextHash;
26
+ this.conflictingFields = conflictingFields;
27
+ this.code = 'ACTIVATION_CONFLICT';
28
+ this.retryable = false;
29
+ this.recoveryAction = 'Call refresh_activation explicitly and invalidate downstream artifacts.';
30
+ this.name = 'RuntimeActivationConflictError';
31
+ }
32
+ }
33
+ exports.RuntimeActivationConflictError = RuntimeActivationConflictError;
21
34
  const CONTEXT_REQUIRED_SKILLS = new Set([
22
35
  'react', 'vue', 'nest', 'nextjs', 'graphql', 'typescript',
23
36
  ]);
@@ -4041,7 +4054,9 @@ class DevFlowDatabase {
4041
4054
  const existing = this.getRuntimeActivation(input.identity.projectRoot, input.identity.sessionId, input.identity.turnId, input.revision);
4042
4055
  if (existing) {
4043
4056
  if ((0, task_runtime_1.stableTaskRuntimeJson)(existing) !== (0, task_runtime_1.stableTaskRuntimeJson)(input.snapshot)) {
4044
- throw new Error('RUNTIME_ACTIVATION_CONFLICT');
4057
+ const fields = [...new Set([...Object.keys(existing), ...Object.keys(input.snapshot)])]
4058
+ .filter(field => (0, task_runtime_1.stableTaskRuntimeJson)(existing[field]) !== (0, task_runtime_1.stableTaskRuntimeJson)(input.snapshot[field]));
4059
+ throw new RuntimeActivationConflictError(existing.snapshotHash, input.snapshot.snapshotHash, fields);
4045
4060
  }
4046
4061
  return { snapshot: existing, replayed: true };
4047
4062
  }
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { DevFlowDatabase, getGlobalDevFlowDbPath, openGlobalDevFlowDatabase, openGlobalDevFlowReadOnlyDatabase, } from './database';
1
+ export { DevFlowDatabase, getGlobalDevFlowDbPath, openGlobalDevFlowDatabase, openGlobalDevFlowReadOnlyDatabase, RuntimeActivationConflictError, } from './database';
2
2
  export { LocalDataProvider } from './data/LocalDataProvider';
3
3
  export { DEVFLOW_SCHEMA_SQL, DEVFLOW_TABLE_NAMES } from './data/devflow-schema';
4
4
  export { DEFAULT_ENFORCER_RULES, seedDefaultEnforcerRules } from './data/default-enforcer-rules';
package/dist/index.js CHANGED
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.stableLearningJson = exports.mapLearningVersionRow = exports.mapLearningEvidenceRow = exports.mapLearningCandidateRow = exports.mapWorkflowWorkerRow = exports.mapWorkflowWorkerEventRow = exports.mapWorkflowMergeRow = exports.TERMINAL_WORKFLOW_WORKER_STATES = exports.LEGAL_WORKFLOW_WORKER_TRANSITIONS = exports.stableTaskRuntimeJson = exports.stableTaskRuntimeHash = exports.mapTaskRuntimeSnapshotRow = exports.mapTaskRuntimeEventRow = exports.stableSemanticJson = exports.mapTranscriptCheckpointRow = exports.mapToolNameResolutionRow = exports.mapTerminalTransitionRow = exports.mapTaskIntentArtifactRow = exports.mapChannelQueryPlanRow = exports.assertTaskIdentity = exports.normalizeTurnId = exports.mapSessionObligationRow = exports.isRetrievalSessionState = exports.RETRIEVAL_MAX_CYCLES = exports.serializeHostActionReport = exports.mapHostActionRow = exports.isHostActionState = exports.hostActionReportsEqual = exports.retrievalLedgerTransitionId = exports.seedDefaultEnforcerRules = exports.DEFAULT_ENFORCER_RULES = exports.DEVFLOW_TABLE_NAMES = exports.DEVFLOW_SCHEMA_SQL = exports.LocalDataProvider = exports.openGlobalDevFlowReadOnlyDatabase = exports.openGlobalDevFlowDatabase = exports.getGlobalDevFlowDbPath = exports.DevFlowDatabase = void 0;
3
+ exports.stableLearningJson = exports.mapLearningVersionRow = exports.mapLearningEvidenceRow = exports.mapLearningCandidateRow = exports.mapWorkflowWorkerRow = exports.mapWorkflowWorkerEventRow = exports.mapWorkflowMergeRow = exports.TERMINAL_WORKFLOW_WORKER_STATES = exports.LEGAL_WORKFLOW_WORKER_TRANSITIONS = exports.stableTaskRuntimeJson = exports.stableTaskRuntimeHash = exports.mapTaskRuntimeSnapshotRow = exports.mapTaskRuntimeEventRow = exports.stableSemanticJson = exports.mapTranscriptCheckpointRow = exports.mapToolNameResolutionRow = exports.mapTerminalTransitionRow = exports.mapTaskIntentArtifactRow = exports.mapChannelQueryPlanRow = exports.assertTaskIdentity = exports.normalizeTurnId = exports.mapSessionObligationRow = exports.isRetrievalSessionState = exports.RETRIEVAL_MAX_CYCLES = exports.serializeHostActionReport = exports.mapHostActionRow = exports.isHostActionState = exports.hostActionReportsEqual = exports.retrievalLedgerTransitionId = exports.seedDefaultEnforcerRules = exports.DEFAULT_ENFORCER_RULES = exports.DEVFLOW_TABLE_NAMES = exports.DEVFLOW_SCHEMA_SQL = exports.LocalDataProvider = exports.RuntimeActivationConflictError = exports.openGlobalDevFlowReadOnlyDatabase = exports.openGlobalDevFlowDatabase = exports.getGlobalDevFlowDbPath = exports.DevFlowDatabase = void 0;
4
4
  var database_1 = require("./database");
5
5
  Object.defineProperty(exports, "DevFlowDatabase", { enumerable: true, get: function () { return database_1.DevFlowDatabase; } });
6
6
  Object.defineProperty(exports, "getGlobalDevFlowDbPath", { enumerable: true, get: function () { return database_1.getGlobalDevFlowDbPath; } });
7
7
  Object.defineProperty(exports, "openGlobalDevFlowDatabase", { enumerable: true, get: function () { return database_1.openGlobalDevFlowDatabase; } });
8
8
  Object.defineProperty(exports, "openGlobalDevFlowReadOnlyDatabase", { enumerable: true, get: function () { return database_1.openGlobalDevFlowReadOnlyDatabase; } });
9
+ Object.defineProperty(exports, "RuntimeActivationConflictError", { enumerable: true, get: function () { return database_1.RuntimeActivationConflictError; } });
9
10
  var LocalDataProvider_1 = require("./data/LocalDataProvider");
10
11
  Object.defineProperty(exports, "LocalDataProvider", { enumerable: true, get: function () { return LocalDataProvider_1.LocalDataProvider; } });
11
12
  var devflow_schema_1 = require("./data/devflow-schema");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devflow-tools/database",
3
- "version": "0.18.19",
3
+ "version": "0.18.20",
4
4
  "description": "SQLite persistence primitives shared by DevFlow runtime packages.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -12,7 +12,7 @@
12
12
  "test": "vitest run"
13
13
  },
14
14
  "dependencies": {
15
- "@devflow-tools/sdk": "0.18.19"
15
+ "@devflow-tools/sdk": "0.18.20"
16
16
  },
17
17
  "devDependencies": {
18
18
  "@types/node": "^22.15.0",