@n8n/db 1.22.1 → 1.23.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.
Files changed (50) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/entities/workflow-entity.d.ts +2 -1
  3. package/dist/entities/workflow-entity.js +4 -0
  4. package/dist/entities/workflow-entity.js.map +1 -1
  5. package/dist/entities/workflow-history.d.ts +2 -1
  6. package/dist/entities/workflow-history.js +4 -0
  7. package/dist/entities/workflow-history.js.map +1 -1
  8. package/dist/migrations/common/1784000000007-CreateInstanceAiCheckpointTable.d.ts +5 -0
  9. package/dist/migrations/common/1784000000007-CreateInstanceAiCheckpointTable.js +33 -0
  10. package/dist/migrations/common/1784000000007-CreateInstanceAiCheckpointTable.js.map +1 -0
  11. package/dist/migrations/common/1784000000008-ResetInstanceAiNativePersistence.d.ts +4 -0
  12. package/dist/migrations/common/1784000000008-ResetInstanceAiNativePersistence.js +21 -0
  13. package/dist/migrations/common/1784000000008-ResetInstanceAiNativePersistence.js.map +1 -0
  14. package/dist/migrations/common/1784000000009-CreateAgentMemoryEntryTables.d.ts +5 -0
  15. package/dist/migrations/common/1784000000009-CreateAgentMemoryEntryTables.js +97 -0
  16. package/dist/migrations/common/1784000000009-CreateAgentMemoryEntryTables.js.map +1 -0
  17. package/dist/migrations/common/1784000000010-RefactorAgentObservationScope.d.ts +11 -0
  18. package/dist/migrations/common/1784000000010-RefactorAgentObservationScope.js +230 -0
  19. package/dist/migrations/common/1784000000010-RefactorAgentObservationScope.js.map +1 -0
  20. package/dist/migrations/common/1784000000011-CreateAgentHistoryTable.d.ts +9 -0
  21. package/dist/migrations/common/1784000000011-CreateAgentHistoryTable.js +134 -0
  22. package/dist/migrations/common/1784000000011-CreateAgentHistoryTable.js.map +1 -0
  23. package/dist/migrations/common/1784000000012-CreateInstanceAiObservationTables.d.ts +5 -0
  24. package/dist/migrations/common/1784000000012-CreateInstanceAiObservationTables.js +58 -0
  25. package/dist/migrations/common/1784000000012-CreateInstanceAiObservationTables.js.map +1 -0
  26. package/dist/migrations/common/1784000000013-SplitRedactionScopeInCustomRoles.d.ts +5 -0
  27. package/dist/migrations/common/1784000000013-SplitRedactionScopeInCustomRoles.js +62 -0
  28. package/dist/migrations/common/1784000000013-SplitRedactionScopeInCustomRoles.js.map +1 -0
  29. package/dist/migrations/common/1784000000014-PersistInstanceAiPendingConfirmations.d.ts +6 -0
  30. package/dist/migrations/common/1784000000014-PersistInstanceAiPendingConfirmations.js +71 -0
  31. package/dist/migrations/common/1784000000014-PersistInstanceAiPendingConfirmations.js.map +1 -0
  32. package/dist/migrations/dsl/index.d.ts +3 -1
  33. package/dist/migrations/dsl/index.js +2 -0
  34. package/dist/migrations/dsl/index.js.map +1 -1
  35. package/dist/migrations/dsl/table.d.ts +11 -0
  36. package/dist/migrations/dsl/table.js +41 -13
  37. package/dist/migrations/dsl/table.js.map +1 -1
  38. package/dist/migrations/postgresdb/index.js +16 -0
  39. package/dist/migrations/postgresdb/index.js.map +1 -1
  40. package/dist/migrations/sqlite/1784000000011-CreateAgentHistoryTable.d.ts +4 -0
  41. package/dist/migrations/sqlite/1784000000011-CreateAgentHistoryTable.js +12 -0
  42. package/dist/migrations/sqlite/1784000000011-CreateAgentHistoryTable.js.map +1 -0
  43. package/dist/migrations/sqlite/index.js +16 -0
  44. package/dist/migrations/sqlite/index.js.map +1 -1
  45. package/dist/repositories/project.repository.d.ts +1 -0
  46. package/dist/repositories/project.repository.js +16 -0
  47. package/dist/repositories/project.repository.js.map +1 -1
  48. package/dist/services/auth.roles.service.js +12 -7
  49. package/dist/services/auth.roles.service.js.map +1 -1
  50. package/package.json +10 -10
@@ -1,5 +1,5 @@
1
1
  import { IConnections, IDataObject, IWorkflowSettings, WorkflowFEMeta } from 'n8n-workflow';
2
- import type { INode } from 'n8n-workflow';
2
+ import type { INode, IWorkflowGroup } from 'n8n-workflow';
3
3
  import { WithTimestampsAndStringId } from './abstract-entity';
4
4
  import { type Folder } from './folder';
5
5
  import type { SharedWorkflow } from './shared-workflow';
@@ -18,6 +18,7 @@ export declare class WorkflowEntity extends WithTimestampsAndStringId implements
18
18
  settings?: IWorkflowSettings;
19
19
  staticData?: IDataObject;
20
20
  meta?: WorkflowFEMeta;
21
+ nodeGroups: IWorkflowGroup[];
21
22
  tags?: TagEntity[];
22
23
  tagMappings: WorkflowTagMapping[];
23
24
  shared: SharedWorkflow[];
@@ -63,6 +63,10 @@ __decorate([
63
63
  }),
64
64
  __metadata("design:type", Object)
65
65
  ], WorkflowEntity.prototype, "meta", void 0);
66
+ __decorate([
67
+ (0, abstract_entity_1.JsonColumn)({ default: '[]' }),
68
+ __metadata("design:type", Array)
69
+ ], WorkflowEntity.prototype, "nodeGroups", void 0);
66
70
  __decorate([
67
71
  (0, typeorm_1.ManyToMany)('TagEntity', 'workflows'),
68
72
  (0, typeorm_1.JoinTable)({
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-entity.js","sourceRoot":"","sources":["../../src/entities/workflow-entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-entity.js","sourceRoot":"","sources":["../../src/entities/workflow-entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CASsB;AACtB,qDAAyC;AAIzC,uDAAkF;AAQlF,wDAAgE;AAGzD,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,2CAAyB;CAuG5D,CAAA;AAvGY,wCAAc;AAM1B;IALC,IAAA,eAAK,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACvB,IAAA,wBAAM,EAAC,CAAC,EAAE,GAAG,EAAE;QACf,OAAO,EAAE,qEAAqE;KAC9E,CAAC;IACD,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;4CACX;AAGb;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACd;AAI3B;IADC,IAAA,gBAAM,GAAE;;8CACO;AAUhB;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;kDACP;AAGpB;IADC,IAAA,4BAAU,GAAE;;6CACE;AAGf;IADC,IAAA,4BAAU,GAAE;;mDACa;AAG1B;IADC,IAAA,4BAAU,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACF;AAM7B;IAJC,IAAA,4BAAU,EAAC;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,8BAAe;KAC5B,CAAC;;kDACuB;AAMzB;IAJC,IAAA,4BAAU,EAAC;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,8BAAe;KAC5B,CAAC;;4CACoB;AAGtB;IADC,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;kDACD;AAc7B;IAZC,IAAA,oBAAU,EAAC,WAAW,EAAE,WAAW,CAAC;IACpC,IAAA,mBAAS,EAAC;QACV,IAAI,EAAE,gBAAgB;QACtB,UAAU,EAAE;YACX,IAAI,EAAE,YAAY;YAClB,oBAAoB,EAAE,IAAI;SAC1B;QACD,iBAAiB,EAAE;YAClB,IAAI,EAAE,OAAO;YACb,oBAAoB,EAAE,IAAI;SAC1B;KACD,CAAC;;4CACiB;AAGnB;IADC,IAAA,mBAAS,EAAC,oBAAoB,EAAE,WAAW,CAAC;;mDACX;AAGlC;IADC,IAAA,mBAAS,EAAC,gBAAgB,EAAE,UAAU,CAAC;;8CACf;AAOzB;IALC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,wBAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QAC3C,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,qBAAM,CAAC,UAAU;KAC9B,CAAC;;+CAC2B;AAG7B;IADC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;;iDACL;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACjC;AAI/B;IAFC,IAAA,mBAAS,EAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,WAAW,EAAE,CAAC;;qDACrC;AAGtC;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;sDACA;AAKvB;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;oDACF;AAOrB;IALC,IAAA,mBAAS,EAAC,QAAQ,EAAE,WAAW,EAAE;QACjC,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,SAAS;KACnB,CAAC;IACD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;;oDACX;AAG5B;IADC,IAAA,mBAAS,EAAC,SAAS,EAAE,UAAU,CAAC;;gDACb;yBAtGR,cAAc;IAD1B,IAAA,gBAAM,GAAE;GACI,cAAc,CAuG1B"}
@@ -1,6 +1,6 @@
1
1
  import { Relation } from '@n8n/typeorm';
2
2
  import { IConnections } from 'n8n-workflow';
3
- import type { INode } from 'n8n-workflow';
3
+ import type { INode, IWorkflowGroup } from 'n8n-workflow';
4
4
  import { WithTimestamps } from './abstract-entity';
5
5
  import { WorkflowEntity } from './workflow-entity';
6
6
  import type { WorkflowPublishHistory } from './workflow-publish-history';
@@ -9,6 +9,7 @@ export declare class WorkflowHistory extends WithTimestamps {
9
9
  workflowId: string;
10
10
  nodes: INode[];
11
11
  connections: IConnections;
12
+ nodeGroups: IWorkflowGroup[];
12
13
  authors: string;
13
14
  name: string | null;
14
15
  description: string | null;
@@ -32,6 +32,10 @@ __decorate([
32
32
  (0, abstract_entity_1.JsonColumn)(),
33
33
  __metadata("design:type", Object)
34
34
  ], WorkflowHistory.prototype, "connections", void 0);
35
+ __decorate([
36
+ (0, abstract_entity_1.JsonColumn)({ default: '[]' }),
37
+ __metadata("design:type", Array)
38
+ ], WorkflowHistory.prototype, "nodeGroups", void 0);
35
39
  __decorate([
36
40
  (0, typeorm_1.Column)(),
37
41
  __metadata("design:type", String)
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-history.js","sourceRoot":"","sources":["../../src/entities/workflow-history.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAA6F;AAI7F,uDAA+D;AAC/D,uDAAmD;AAI5C,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,gCAAc;CAgClD,CAAA;AAhCY,0CAAe;AAE3B;IADC,IAAA,uBAAa,GAAE;;kDACE;AAGlB;IADC,IAAA,gBAAM,GAAE;;mDACU;AAGnB;IADC,IAAA,4BAAU,GAAE;;8CACE;AAGf;IADC,IAAA,4BAAU,GAAE;;oDACa;AAG1B;IADC,IAAA,gBAAM,GAAE;;gDACO;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACrB;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACd;AAG3B;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;kDACR;AAKnB;IAHC,IAAA,mBAAS,EAAC,gBAAgB,EAAE;QAC5B,QAAQ,EAAE,SAAS;KACnB,CAAC;8BACQ,gCAAc;iDAAC;AAGzB;IADC,IAAA,mBAAS,EAAC,wBAAwB,EAAE,iBAAiB,CAAC;;+DACI;0BA/B/C,eAAe;IAD3B,IAAA,gBAAM,GAAE;GACI,eAAe,CAgC3B"}
1
+ {"version":3,"file":"workflow-history.js","sourceRoot":"","sources":["../../src/entities/workflow-history.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAA6F;AAI7F,uDAA+D;AAC/D,uDAAmD;AAI5C,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,gCAAc;CAmClD,CAAA;AAnCY,0CAAe;AAE3B;IADC,IAAA,uBAAa,GAAE;;kDACE;AAGlB;IADC,IAAA,gBAAM,GAAE;;mDACU;AAGnB;IADC,IAAA,4BAAU,GAAE;;8CACE;AAGf;IADC,IAAA,4BAAU,GAAE;;oDACa;AAG1B;IADC,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;mDACD;AAG7B;IADC,IAAA,gBAAM,GAAE;;gDACO;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACrB;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACd;AAG3B;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;kDACR;AAKnB;IAHC,IAAA,mBAAS,EAAC,gBAAgB,EAAE;QAC5B,QAAQ,EAAE,SAAS;KACnB,CAAC;8BACQ,gCAAc;iDAAC;AAGzB;IADC,IAAA,mBAAS,EAAC,wBAAwB,EAAE,iBAAiB,CAAC;;+DACI;0BAlC/C,eAAe;IAD3B,IAAA,gBAAM,GAAE;GACI,eAAe,CAmC3B"}
@@ -0,0 +1,5 @@
1
+ import type { MigrationContext, ReversibleMigration } from '../migration-types';
2
+ export declare class CreateInstanceAiCheckpointTable1784000000007 implements ReversibleMigration {
3
+ up({ schemaBuilder: { createTable, addColumns, column } }: MigrationContext): Promise<void>;
4
+ down({ schemaBuilder: { dropTable, dropColumns } }: MigrationContext): Promise<void>;
5
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateInstanceAiCheckpointTable1784000000007 = void 0;
4
+ const checkpointTable = 'instance_ai_checkpoints';
5
+ const runSnapshotsTable = 'instance_ai_run_snapshots';
6
+ class CreateInstanceAiCheckpointTable1784000000007 {
7
+ async up({ schemaBuilder: { createTable, addColumns, column } }) {
8
+ await addColumns(runSnapshotsTable, [
9
+ column('traceId').varchar(64).comment('OpenTelemetry trace ID for the root Instance AI run.'),
10
+ column('spanId').varchar(64).comment('OpenTelemetry span ID for the root Instance AI run.'),
11
+ ]);
12
+ await createTable(checkpointTable)
13
+ .withColumns(column('key')
14
+ .varchar(255)
15
+ .primary.notNull.comment('Opaque checkpoint key from the agent runtime.'), column('runId')
16
+ .varchar(255)
17
+ .comment('Run ID parsed from the checkpoint key when available.'), column('threadId').uuid.notNull.comment('Instance AI thread that owns the checkpoint.'), column('resourceId').varchar(255).comment('Resource ID recorded by the agent runtime.'), column('state').json.notNull.comment('Serializable agent state snapshot stored as JSON.'))
18
+ .withIndexOn('runId')
19
+ .withIndexOn('threadId')
20
+ .withForeignKey('threadId', {
21
+ tableName: 'instance_ai_threads',
22
+ columnName: 'id',
23
+ onDelete: 'CASCADE',
24
+ })
25
+ .withIndexOn('resourceId').withTimestamps;
26
+ }
27
+ async down({ schemaBuilder: { dropTable, dropColumns } }) {
28
+ await dropTable(checkpointTable);
29
+ await dropColumns(runSnapshotsTable, ['traceId', 'spanId']);
30
+ }
31
+ }
32
+ exports.CreateInstanceAiCheckpointTable1784000000007 = CreateInstanceAiCheckpointTable1784000000007;
33
+ //# sourceMappingURL=1784000000007-CreateInstanceAiCheckpointTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1784000000007-CreateInstanceAiCheckpointTable.js","sourceRoot":"","sources":["../../../src/migrations/common/1784000000007-CreateInstanceAiCheckpointTable.ts"],"names":[],"mappings":";;;AAEA,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAClD,MAAM,iBAAiB,GAAG,2BAA2B,CAAC;AAEtD,MAAa,4CAA4C;IACxD,KAAK,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,EAAoB;QAChF,MAAM,UAAU,CAAC,iBAAiB,EAAE;YACnC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,sDAAsD,CAAC;YAC7F,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,qDAAqD,CAAC;SAC3F,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,eAAe,CAAC;aAChC,WAAW,CACX,MAAM,CAAC,KAAK,CAAC;aACX,OAAO,CAAC,GAAG,CAAC;aACZ,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,+CAA+C,CAAC,EAC1E,MAAM,CAAC,OAAO,CAAC;aACb,OAAO,CAAC,GAAG,CAAC;aACZ,OAAO,CAAC,uDAAuD,CAAC,EAClE,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,8CAA8C,CAAC,EACvF,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,4CAA4C,CAAC,EACvF,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,mDAAmD,CAAC,CACzF;aACA,WAAW,CAAC,OAAO,CAAC;aACpB,WAAW,CAAC,UAAU,CAAC;aACvB,cAAc,CAAC,UAAU,EAAE;YAC3B,SAAS,EAAE,qBAAqB;YAChC,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,SAAS;SACnB,CAAC;aACD,WAAW,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,EAAoB;QACzE,MAAM,SAAS,CAAC,eAAe,CAAC,CAAC;QACjC,MAAM,WAAW,CAAC,iBAAiB,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7D,CAAC;CACD;AAjCD,oGAiCC"}
@@ -0,0 +1,4 @@
1
+ import type { IrreversibleMigration, MigrationContext } from '../migration-types';
2
+ export declare class ResetInstanceAiNativePersistence1784000000008 implements IrreversibleMigration {
3
+ up({ queryRunner, escape }: MigrationContext): Promise<void>;
4
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ResetInstanceAiNativePersistence1784000000008 = void 0;
4
+ const runtimeTables = [
5
+ 'ai_builder_temporary_workflow',
6
+ 'instance_ai_checkpoints',
7
+ 'instance_ai_iteration_logs',
8
+ 'instance_ai_run_snapshots',
9
+ 'instance_ai_messages',
10
+ 'instance_ai_resources',
11
+ 'instance_ai_threads',
12
+ ];
13
+ class ResetInstanceAiNativePersistence1784000000008 {
14
+ async up({ queryRunner, escape }) {
15
+ for (const table of runtimeTables) {
16
+ await queryRunner.query(`DELETE FROM ${escape.tableName(table)}`);
17
+ }
18
+ }
19
+ }
20
+ exports.ResetInstanceAiNativePersistence1784000000008 = ResetInstanceAiNativePersistence1784000000008;
21
+ //# sourceMappingURL=1784000000008-ResetInstanceAiNativePersistence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1784000000008-ResetInstanceAiNativePersistence.js","sourceRoot":"","sources":["../../../src/migrations/common/1784000000008-ResetInstanceAiNativePersistence.ts"],"names":[],"mappings":";;;AAEA,MAAM,aAAa,GAAG;IACrB,+BAA+B;IAC/B,yBAAyB;IACzB,4BAA4B;IAC5B,2BAA2B;IAC3B,sBAAsB;IACtB,uBAAuB;IACvB,qBAAqB;CACZ,CAAC;AAEX,MAAa,6CAA6C;IACzD,KAAK,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAoB;QACjD,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YACnC,MAAM,WAAW,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC;IACF,CAAC;CACD;AAND,sGAMC"}
@@ -0,0 +1,5 @@
1
+ import type { MigrationContext, ReversibleMigration } from '../migration-types';
2
+ export declare class CreateAgentMemoryEntryTables1784000000009 implements ReversibleMigration {
3
+ up({ schemaBuilder: { createTable, column } }: MigrationContext): Promise<void>;
4
+ down({ schemaBuilder: { dropTable } }: MigrationContext): Promise<void>;
5
+ }
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateAgentMemoryEntryTables1784000000009 = void 0;
4
+ const MEMORY_ENTRY_STATUSES = ['active', 'superseded', 'dropped'];
5
+ const OBSERVATION_SCOPE_KINDS = ['thread', 'resource'];
6
+ class CreateAgentMemoryEntryTables1784000000009 {
7
+ async up({ schemaBuilder: { createTable, column } }) {
8
+ await createTable('agents_memory_entries')
9
+ .withColumns(column('id').varchar(36).primary.notNull, column('agentId').varchar(36).notNull, column('resourceId')
10
+ .varchar(255)
11
+ .notNull.comment('agents_resources.id partition used for episodic recall scope'), column('content').text.notNull, column('contentHash').varchar(64).notNull, column('status').varchar(16).notNull.withEnumCheck(MEMORY_ENTRY_STATUSES), column('supersededBy').varchar(36).comment('Self-reference to replacement memory entry'), column('embeddingModel').varchar(128).comment('Embedding model used to produce embedding'), column('embedding').json.comment('Embedding vector for episodic recall'), column('metadata').json.comment('Optional system metadata for ranking and debugging'), column('lastSeenAt')
12
+ .timestampTimezone(3)
13
+ .notNull.comment('Last time equivalent content was observed; updatedAt tracks row mutation time'))
14
+ .withIndexOn(['agentId', 'resourceId', 'status', 'createdAt', 'id'])
15
+ .withIndexOn(['agentId', 'resourceId', 'contentHash'], true)
16
+ .withIndexOn('supersededBy')
17
+ .withForeignKey('agentId', {
18
+ tableName: 'agents',
19
+ columnName: 'id',
20
+ onDelete: 'CASCADE',
21
+ })
22
+ .withForeignKey('resourceId', {
23
+ tableName: 'agents_resources',
24
+ columnName: 'id',
25
+ onDelete: 'CASCADE',
26
+ })
27
+ .withForeignKey('supersededBy', {
28
+ tableName: 'agents_memory_entries',
29
+ columnName: 'id',
30
+ }).withTimestamps;
31
+ await createTable('agents_memory_entry_locks')
32
+ .withColumns(column('agentId').varchar(36).notNull.primary, column('resourceId')
33
+ .varchar(255)
34
+ .notNull.primary.comment('agents_resources.id partition locked for episodic indexing'), column('holderId')
35
+ .varchar(64)
36
+ .notNull.comment('Ephemeral background-task lock owner token'), column('heldUntil').timestampTimezone(3).notNull)
37
+ .withForeignKey('agentId', {
38
+ tableName: 'agents',
39
+ columnName: 'id',
40
+ onDelete: 'CASCADE',
41
+ })
42
+ .withForeignKey('resourceId', {
43
+ tableName: 'agents_resources',
44
+ columnName: 'id',
45
+ onDelete: 'CASCADE',
46
+ }).withTimestamps;
47
+ await createTable('agents_memory_entry_sources')
48
+ .withColumns(column('id').varchar(36).primary.notNull, column('agentId')
49
+ .varchar(36)
50
+ .notNull.comment('Agent that owns the linked episodic memory entry source'), column('memoryEntryId').varchar(36).notNull, column('observationId').varchar(36).notNull, column('threadId')
51
+ .varchar(255)
52
+ .notNull.comment('Source conversation thread that produced the linked observation'), column('evidenceHash')
53
+ .varchar(64)
54
+ .notNull.comment('Bounded hash used to deduplicate exact evidence links'), column('evidenceText').text.notNull.comment('Exact source evidence text from the observation, not recall scope'))
55
+ .withIndexOn(['memoryEntryId', 'observationId', 'evidenceHash'], true)
56
+ .withIndexOn('observationId')
57
+ .withIndexOn(['agentId', 'threadId'])
58
+ .withForeignKey('agentId', {
59
+ tableName: 'agents',
60
+ columnName: 'id',
61
+ onDelete: 'CASCADE',
62
+ })
63
+ .withForeignKey('memoryEntryId', {
64
+ tableName: 'agents_memory_entries',
65
+ columnName: 'id',
66
+ onDelete: 'CASCADE',
67
+ })
68
+ .withForeignKey('observationId', {
69
+ tableName: 'agents_observations',
70
+ columnName: 'id',
71
+ onDelete: 'CASCADE',
72
+ })
73
+ .withForeignKey('threadId', {
74
+ tableName: 'agents_threads',
75
+ columnName: 'id',
76
+ onDelete: 'CASCADE',
77
+ }).withTimestamps;
78
+ await createTable('agents_memory_entry_cursors').withColumns(column('scopeKind')
79
+ .varchar(20)
80
+ .notNull.primary.withEnumCheck(OBSERVATION_SCOPE_KINDS)
81
+ .comment('Observation-log scope kind being indexed into episodic memory'), column('scopeId')
82
+ .varchar(255)
83
+ .notNull.primary.comment('Observation-log scope ID being indexed into episodic memory'), column('lastIndexedObservationId')
84
+ .varchar(36)
85
+ .notNull.comment('Last observation-log row indexed into episodic memory'), column('lastIndexedObservationCreatedAt')
86
+ .timestampTimezone(3)
87
+ .notNull.comment('Creation timestamp for the last indexed observation-log row')).withTimestamps;
88
+ }
89
+ async down({ schemaBuilder: { dropTable } }) {
90
+ await dropTable('agents_memory_entry_cursors');
91
+ await dropTable('agents_memory_entry_locks');
92
+ await dropTable('agents_memory_entry_sources');
93
+ await dropTable('agents_memory_entries');
94
+ }
95
+ }
96
+ exports.CreateAgentMemoryEntryTables1784000000009 = CreateAgentMemoryEntryTables1784000000009;
97
+ //# sourceMappingURL=1784000000009-CreateAgentMemoryEntryTables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1784000000009-CreateAgentMemoryEntryTables.js","sourceRoot":"","sources":["../../../src/migrations/common/1784000000009-CreateAgentMemoryEntryTables.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { MigrationContext, ReversibleMigration } from '../migration-types';
2
+ export declare class RefactorAgentObservationScope1784000000010 implements ReversibleMigration {
3
+ up({ escape, isPostgres, runQuery, schemaBuilder: { createTable, column }, }: MigrationContext): Promise<void>;
4
+ down({ escape, isPostgres, runQuery, schemaBuilder: { createTable, column }, }: MigrationContext): Promise<void>;
5
+ private dropDerivedMemoryTables;
6
+ private createObservationLogTables;
7
+ private createLegacyObservationLogTables;
8
+ private createEpisodicMemoryTables;
9
+ private createAgentBoundMemoryEntryCursorTable;
10
+ private createLegacyMemoryEntryCursorTable;
11
+ }
@@ -0,0 +1,230 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RefactorAgentObservationScope1784000000010 = void 0;
4
+ const OBSERVATION_MARKERS = ['critical', 'important', 'info', 'completion'];
5
+ const OBSERVATION_STATUSES = ['active', 'superseded', 'dropped'];
6
+ const OBSERVATION_TASK_KINDS = ['observer', 'reflector'];
7
+ const MEMORY_ENTRY_STATUSES = ['active', 'superseded', 'dropped'];
8
+ const OBSERVATION_SCOPE_KINDS = ['thread', 'resource'];
9
+ class RefactorAgentObservationScope1784000000010 {
10
+ async up({ escape, isPostgres, runQuery, schemaBuilder: { createTable, column }, }) {
11
+ await this.dropDerivedMemoryTables(runQuery, escape, isPostgres);
12
+ await this.createObservationLogTables(createTable, column);
13
+ await this.createEpisodicMemoryTables(createTable, column);
14
+ await this.createAgentBoundMemoryEntryCursorTable(createTable, column);
15
+ }
16
+ async down({ escape, isPostgres, runQuery, schemaBuilder: { createTable, column }, }) {
17
+ await this.dropDerivedMemoryTables(runQuery, escape, isPostgres);
18
+ await this.createLegacyObservationLogTables(createTable, column);
19
+ await this.createEpisodicMemoryTables(createTable, column);
20
+ await this.createLegacyMemoryEntryCursorTable(createTable, column);
21
+ }
22
+ async dropDerivedMemoryTables(runQuery, escape, isPostgres) {
23
+ const cascade = isPostgres ? ' CASCADE' : '';
24
+ await runQuery(`DROP TABLE IF EXISTS ${escape.tableName('agents_memory_entry_cursors')}${cascade}`);
25
+ await runQuery(`DROP TABLE IF EXISTS ${escape.tableName('agents_memory_entry_sources')}${cascade}`);
26
+ await runQuery(`DROP TABLE IF EXISTS ${escape.tableName('agents_memory_entry_locks')}${cascade}`);
27
+ await runQuery(`DROP TABLE IF EXISTS ${escape.tableName('agents_memory_entries')}${cascade}`);
28
+ await runQuery(`DROP TABLE IF EXISTS ${escape.tableName('agents_observation_locks')}${cascade}`);
29
+ await runQuery(`DROP TABLE IF EXISTS ${escape.tableName('agents_observation_cursors')}${cascade}`);
30
+ await runQuery(`DROP TABLE IF EXISTS ${escape.tableName('agents_observations')}${cascade}`);
31
+ }
32
+ async createObservationLogTables(createTable, column) {
33
+ await createTable('agents_observations')
34
+ .withColumns(column('id')
35
+ .varchar(36)
36
+ .primary.notNull.comment('Application-generated n8n string ID, not a database UUID'), column('agentId').varchar(36).notNull.comment('Agent that owns this observation row'), column('observationScopeId')
37
+ .varchar(255)
38
+ .notNull.comment('agents_threads.id source stream for this observation log'), column('marker').varchar(16).notNull.withEnumCheck(OBSERVATION_MARKERS), column('text').text.notNull, column('parentId').varchar(36), column('tokenCount').int.notNull.default(0), column('status').varchar(16).notNull.withEnumCheck(OBSERVATION_STATUSES), column('supersededBy').varchar(36))
39
+ .withIndexOn(['agentId', 'observationScopeId', 'status'])
40
+ .withIndexOn('observationScopeId')
41
+ .withIndexOn('parentId')
42
+ .withIndexOn('supersededBy')
43
+ .withForeignKey('agentId', {
44
+ tableName: 'agents',
45
+ columnName: 'id',
46
+ onDelete: 'CASCADE',
47
+ })
48
+ .withForeignKey('observationScopeId', {
49
+ tableName: 'agents_threads',
50
+ columnName: 'id',
51
+ onDelete: 'CASCADE',
52
+ })
53
+ .withForeignKey('parentId', {
54
+ tableName: 'agents_observations',
55
+ columnName: 'id',
56
+ })
57
+ .withForeignKey('supersededBy', {
58
+ tableName: 'agents_observations',
59
+ columnName: 'id',
60
+ }).withTimestamps;
61
+ await createTable('agents_observation_cursors')
62
+ .withColumns(column('agentId').varchar(36).notNull.primary.comment('Agent that owns this cursor'), column('observationScopeId')
63
+ .varchar(255)
64
+ .notNull.primary.comment('agents_threads.id source stream checkpointed by this cursor'), column('lastObservedMessageId').varchar(36).notNull, column('lastObservedAt').timestampTimezone(3).notNull)
65
+ .withIndexOn('observationScopeId')
66
+ .withForeignKey('agentId', {
67
+ tableName: 'agents',
68
+ columnName: 'id',
69
+ onDelete: 'CASCADE',
70
+ })
71
+ .withForeignKey('observationScopeId', {
72
+ tableName: 'agents_threads',
73
+ columnName: 'id',
74
+ onDelete: 'CASCADE',
75
+ }).withTimestamps;
76
+ await createTable('agents_observation_locks')
77
+ .withColumns(column('agentId').varchar(36).notNull.primary.comment('Agent that owns this lock'), column('observationScopeId')
78
+ .varchar(255)
79
+ .notNull.primary.comment('agents_threads.id source stream locked for observation tasks'), column('taskKind').varchar(20).notNull.primary.withEnumCheck(OBSERVATION_TASK_KINDS), column('holderId')
80
+ .varchar(64)
81
+ .notNull.comment('Ephemeral background-task lock owner token, not a user ID'), column('heldUntil').timestampTimezone(3).notNull)
82
+ .withIndexOn('observationScopeId')
83
+ .withForeignKey('agentId', {
84
+ tableName: 'agents',
85
+ columnName: 'id',
86
+ onDelete: 'CASCADE',
87
+ })
88
+ .withForeignKey('observationScopeId', {
89
+ tableName: 'agents_threads',
90
+ columnName: 'id',
91
+ onDelete: 'CASCADE',
92
+ }).withTimestamps;
93
+ }
94
+ async createLegacyObservationLogTables(createTable, column) {
95
+ await createTable('agents_observations')
96
+ .withColumns(column('id')
97
+ .varchar(36)
98
+ .primary.notNull.comment('Application-generated n8n string ID, not a database UUID'), column('scopeKind').varchar(20).notNull.withEnumCheck(OBSERVATION_SCOPE_KINDS), column('scopeId').varchar(255).notNull, column('marker').varchar(16).notNull.withEnumCheck(OBSERVATION_MARKERS), column('text').text.notNull, column('parentId').varchar(36), column('tokenCount').int.notNull.default(0), column('status').varchar(16).notNull.withEnumCheck(OBSERVATION_STATUSES), column('supersededBy').varchar(36))
99
+ .withIndexOn(['scopeKind', 'scopeId', 'status', 'createdAt', 'id'])
100
+ .withIndexOn(['scopeKind', 'scopeId', 'createdAt', 'id'])
101
+ .withIndexOn('parentId')
102
+ .withIndexOn('supersededBy')
103
+ .withForeignKey('parentId', {
104
+ tableName: 'agents_observations',
105
+ columnName: 'id',
106
+ })
107
+ .withForeignKey('supersededBy', {
108
+ tableName: 'agents_observations',
109
+ columnName: 'id',
110
+ }).withTimestamps;
111
+ await createTable('agents_observation_cursors').withColumns(column('scopeKind').varchar(20).notNull.primary.withEnumCheck(OBSERVATION_SCOPE_KINDS), column('scopeId').varchar(255).notNull.primary, column('lastObservedMessageId').varchar(36).notNull, column('lastObservedAt').timestampTimezone(3).notNull).withTimestamps;
112
+ await createTable('agents_observation_locks').withColumns(column('scopeKind').varchar(20).notNull.primary.withEnumCheck(OBSERVATION_SCOPE_KINDS), column('scopeId').varchar(255).notNull.primary, column('taskKind').varchar(20).notNull.primary.withEnumCheck(OBSERVATION_TASK_KINDS), column('holderId')
113
+ .varchar(64)
114
+ .notNull.comment('Ephemeral background-task lock owner token, not a user ID'), column('heldUntil').timestampTimezone(3).notNull).withTimestamps;
115
+ }
116
+ async createEpisodicMemoryTables(createTable, column) {
117
+ await createTable('agents_memory_entries')
118
+ .withColumns(column('id').varchar(36).primary.notNull, column('agentId').varchar(36).notNull.comment('Agent that owns this episodic memory entry'), column('resourceId')
119
+ .varchar(255)
120
+ .notNull.comment('agents_resources.id partition used for episodic recall scope'), column('content').text.notNull, column('contentHash').varchar(64).notNull, column('status').varchar(16).notNull.withEnumCheck(MEMORY_ENTRY_STATUSES), column('supersededBy').varchar(36).comment('Self-reference to replacement memory entry'), column('embeddingModel').varchar(128).comment('Embedding model used to produce embedding'), column('embedding').json.comment('Embedding vector for episodic recall'), column('metadata').json.comment('Optional system metadata for ranking and debugging'), column('lastSeenAt')
121
+ .timestampTimezone(3)
122
+ .notNull.comment('Last time equivalent content was observed; updatedAt tracks row mutation time'))
123
+ .withIndexOn(['agentId', 'resourceId', 'status', 'createdAt', 'id'])
124
+ .withIndexOn(['agentId', 'resourceId', 'contentHash'], true)
125
+ .withIndexOn('resourceId')
126
+ .withIndexOn('supersededBy')
127
+ .withForeignKey('agentId', {
128
+ tableName: 'agents',
129
+ columnName: 'id',
130
+ onDelete: 'CASCADE',
131
+ })
132
+ .withForeignKey('resourceId', {
133
+ tableName: 'agents_resources',
134
+ columnName: 'id',
135
+ onDelete: 'CASCADE',
136
+ })
137
+ .withForeignKey('supersededBy', {
138
+ tableName: 'agents_memory_entries',
139
+ columnName: 'id',
140
+ }).withTimestamps;
141
+ await createTable('agents_memory_entry_locks')
142
+ .withColumns(column('agentId').varchar(36).notNull.primary.comment('Agent that owns this lock'), column('resourceId')
143
+ .varchar(255)
144
+ .notNull.primary.comment('agents_resources.id partition locked for episodic indexing'), column('holderId')
145
+ .varchar(64)
146
+ .notNull.comment('Ephemeral background-task lock owner token'), column('heldUntil').timestampTimezone(3).notNull)
147
+ .withIndexOn('resourceId')
148
+ .withForeignKey('agentId', {
149
+ tableName: 'agents',
150
+ columnName: 'id',
151
+ onDelete: 'CASCADE',
152
+ })
153
+ .withForeignKey('resourceId', {
154
+ tableName: 'agents_resources',
155
+ columnName: 'id',
156
+ onDelete: 'CASCADE',
157
+ }).withTimestamps;
158
+ await createTable('agents_memory_entry_sources')
159
+ .withColumns(column('id').varchar(36).primary.notNull, column('agentId')
160
+ .varchar(36)
161
+ .notNull.comment('Agent that owns the linked episodic memory entry source'), column('memoryEntryId')
162
+ .varchar(36)
163
+ .notNull.comment('Episodic memory entry linked to this source evidence'), column('observationId')
164
+ .varchar(36)
165
+ .notNull.comment('Observation-log row used as source evidence'), column('threadId')
166
+ .varchar(255)
167
+ .notNull.comment('Source conversation thread that produced the linked observation'), column('evidenceHash')
168
+ .varchar(64)
169
+ .notNull.comment('Bounded hash used to deduplicate exact evidence links'), column('evidenceText').text.notNull.comment('Exact source evidence text from the observation, not recall scope'))
170
+ .withIndexOn(['memoryEntryId', 'observationId', 'evidenceHash'], true)
171
+ .withIndexOn('observationId')
172
+ .withIndexOn(['agentId', 'threadId'])
173
+ .withIndexOn('threadId')
174
+ .withForeignKey('agentId', {
175
+ tableName: 'agents',
176
+ columnName: 'id',
177
+ onDelete: 'CASCADE',
178
+ })
179
+ .withForeignKey('memoryEntryId', {
180
+ tableName: 'agents_memory_entries',
181
+ columnName: 'id',
182
+ onDelete: 'CASCADE',
183
+ })
184
+ .withForeignKey('observationId', {
185
+ tableName: 'agents_observations',
186
+ columnName: 'id',
187
+ onDelete: 'CASCADE',
188
+ })
189
+ .withForeignKey('threadId', {
190
+ tableName: 'agents_threads',
191
+ columnName: 'id',
192
+ onDelete: 'CASCADE',
193
+ }).withTimestamps;
194
+ }
195
+ async createAgentBoundMemoryEntryCursorTable(createTable, column) {
196
+ await createTable('agents_memory_entry_cursors')
197
+ .withColumns(column('agentId').varchar(36).notNull.primary.comment('Agent that owns this cursor'), column('observationScopeId')
198
+ .varchar(255)
199
+ .notNull.primary.comment('agents_threads.id source stream indexed into episodic memory'), column('lastIndexedObservationId')
200
+ .varchar(36)
201
+ .notNull.comment('Last observation-log row indexed into episodic memory'), column('lastIndexedObservationCreatedAt')
202
+ .timestampTimezone(3)
203
+ .notNull.comment('Creation timestamp for the last indexed observation-log row'))
204
+ .withIndexOn('observationScopeId')
205
+ .withForeignKey('agentId', {
206
+ tableName: 'agents',
207
+ columnName: 'id',
208
+ onDelete: 'CASCADE',
209
+ })
210
+ .withForeignKey('observationScopeId', {
211
+ tableName: 'agents_threads',
212
+ columnName: 'id',
213
+ onDelete: 'CASCADE',
214
+ }).withTimestamps;
215
+ }
216
+ async createLegacyMemoryEntryCursorTable(createTable, column) {
217
+ await createTable('agents_memory_entry_cursors').withColumns(column('scopeKind')
218
+ .varchar(20)
219
+ .notNull.primary.withEnumCheck(OBSERVATION_SCOPE_KINDS)
220
+ .comment('Observation-log scope kind being indexed into episodic memory'), column('scopeId')
221
+ .varchar(255)
222
+ .notNull.primary.comment('Observation-log scope ID being indexed into episodic memory'), column('lastIndexedObservationId')
223
+ .varchar(36)
224
+ .notNull.comment('Last observation-log row indexed into episodic memory'), column('lastIndexedObservationCreatedAt')
225
+ .timestampTimezone(3)
226
+ .notNull.comment('Creation timestamp for the last indexed observation-log row')).withTimestamps;
227
+ }
228
+ }
229
+ exports.RefactorAgentObservationScope1784000000010 = RefactorAgentObservationScope1784000000010;
230
+ //# sourceMappingURL=1784000000010-RefactorAgentObservationScope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1784000000010-RefactorAgentObservationScope.js","sourceRoot":"","sources":["../../../src/migrations/common/1784000000010-RefactorAgentObservationScope.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { MigrationContext, ReversibleMigration } from '../migration-types';
2
+ export declare class CreateAgentHistoryTable1784000000011 implements ReversibleMigration {
3
+ up(ctx: MigrationContext): Promise<void>;
4
+ down(ctx: MigrationContext): Promise<void>;
5
+ private copyAgentPublishedVersionToHistory;
6
+ private backfillActiveVersionId;
7
+ private assertHistoryMatchesPublishedVersion;
8
+ private restoreActiveHistoryToPublishedVersion;
9
+ }