@n8n/db 1.45.3 → 1.46.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/dist/build.tsbuildinfo +1 -1
- package/dist/connection/db-connection.d.ts +7 -0
- package/dist/connection/db-connection.js +16 -0
- package/dist/connection/db-connection.js.map +1 -1
- package/dist/entities/binary-data-file.d.ts +1 -1
- package/dist/entities/binary-data-file.js +1 -0
- package/dist/entities/binary-data-file.js.map +1 -1
- package/dist/entities/index.d.ts +6 -2
- package/dist/entities/index.js +8 -2
- package/dist/entities/index.js.map +1 -1
- package/dist/entities/person.d.ts +3 -0
- package/dist/entities/person.js +18 -0
- package/dist/entities/person.js.map +1 -0
- package/dist/entities/poller-state.js +2 -1
- package/dist/entities/poller-state.js.map +1 -1
- package/dist/entities/scheduled-job.js +4 -4
- package/dist/entities/scheduled-job.js.map +1 -1
- package/dist/entities/service-account.d.ts +5 -0
- package/dist/entities/service-account.js +25 -0
- package/dist/entities/service-account.js.map +1 -0
- package/dist/entities/types-db.d.ts +3 -1
- package/dist/entities/user.d.ts +3 -1
- package/dist/entities/user.js +10 -1
- package/dist/entities/user.js.map +1 -1
- package/dist/entities/workflow-publication-trigger-status.js +2 -1
- package/dist/entities/workflow-publication-trigger-status.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/migrations/common/1738709609940-CreateFolderTable.d.ts +1 -1
- package/dist/migrations/common/1738709609940-CreateFolderTable.js +3 -1
- package/dist/migrations/common/1738709609940-CreateFolderTable.js.map +1 -1
- package/dist/migrations/common/1792417570699-ReplacePromotionConnectionsWithEnvironments.d.ts +11 -0
- package/dist/migrations/common/1792417570699-ReplacePromotionConnectionsWithEnvironments.js +260 -0
- package/dist/migrations/common/1792417570699-ReplacePromotionConnectionsWithEnvironments.js.map +1 -0
- package/dist/migrations/common/1792418677997-AddSkillAssistantAvailability.d.ts +5 -0
- package/dist/migrations/common/1792418677997-AddSkillAssistantAvailability.js +18 -0
- package/dist/migrations/common/1792418677997-AddSkillAssistantAvailability.js.map +1 -0
- package/dist/migrations/common/1792496430067-CreateApps.d.ts +6 -0
- package/dist/migrations/common/1792496430067-CreateApps.js +86 -0
- package/dist/migrations/common/1792496430067-CreateApps.js.map +1 -0
- package/dist/migrations/common/1792578704944-CreateSelfHealingInvestigationTable.d.ts +5 -0
- package/dist/migrations/common/1792578704944-CreateSelfHealingInvestigationTable.js +43 -0
- package/dist/migrations/common/1792578704944-CreateSelfHealingInvestigationTable.js.map +1 -0
- package/dist/migrations/common/1792584485669-AddSourceExecutionToAgentBackgroundJob.d.ts +5 -0
- package/dist/migrations/common/1792584485669-AddSourceExecutionToAgentBackgroundJob.js +18 -0
- package/dist/migrations/common/1792584485669-AddSourceExecutionToAgentBackgroundJob.js.map +1 -0
- package/dist/migrations/common/1792584485670-AddTaskStopToAgentExecutionThreads.d.ts +5 -0
- package/dist/migrations/common/1792584485670-AddTaskStopToAgentExecutionThreads.js +17 -0
- package/dist/migrations/common/1792584485670-AddTaskStopToAgentExecutionThreads.js.map +1 -0
- package/dist/migrations/common/1792584485671-AddPlanTaskToAgentBackgroundJob.d.ts +5 -0
- package/dist/migrations/common/1792584485671-AddPlanTaskToAgentBackgroundJob.js +21 -0
- package/dist/migrations/common/1792584485671-AddPlanTaskToAgentBackgroundJob.js.map +1 -0
- package/dist/migrations/common/1792597769231-AddGuardrailStopToAgentExecution.d.ts +5 -0
- package/dist/migrations/common/1792597769231-AddGuardrailStopToAgentExecution.js +23 -0
- package/dist/migrations/common/1792597769231-AddGuardrailStopToAgentExecution.js.map +1 -0
- package/dist/migrations/common/1792597769232-RemoveUnusedInstanceAiSettings.d.ts +6 -0
- package/dist/migrations/common/1792597769232-RemoveUnusedInstanceAiSettings.js +87 -0
- package/dist/migrations/common/1792597769232-RemoveUnusedInstanceAiSettings.js.map +1 -0
- package/dist/migrations/common/1792679908817-AddAgentExecutionUsageAndLinks.d.ts +5 -0
- package/dist/migrations/common/1792679908817-AddAgentExecutionUsageAndLinks.js +29 -0
- package/dist/migrations/common/1792679908817-AddAgentExecutionUsageAndLinks.js.map +1 -0
- package/dist/migrations/common/1792742505678-CreateSelfHealingConfigurations.d.ts +5 -0
- package/dist/migrations/common/1792742505678-CreateSelfHealingConfigurations.js +66 -0
- package/dist/migrations/common/1792742505678-CreateSelfHealingConfigurations.js.map +1 -0
- package/dist/migrations/common/1792742505679-AddKindToUserTable.d.ts +5 -0
- package/dist/migrations/common/1792742505679-AddKindToUserTable.js +25 -0
- package/dist/migrations/common/1792742505679-AddKindToUserTable.js.map +1 -0
- package/dist/migrations/common/1792750863544-ReplaceSelfHealingInvestigationBaseline.d.ts +5 -0
- package/dist/migrations/common/1792750863544-ReplaceSelfHealingInvestigationBaseline.js +24 -0
- package/dist/migrations/common/1792750863544-ReplaceSelfHealingInvestigationBaseline.js.map +1 -0
- package/dist/migrations/common/1792764566513-MigrateAgentSkillsToHub.d.ts +16 -0
- package/dist/migrations/common/1792764566513-MigrateAgentSkillsToHub.js +330 -0
- package/dist/migrations/common/1792764566513-MigrateAgentSkillsToHub.js.map +1 -0
- package/dist/migrations/common/1793000146414-AddSkillMcpAvailability.d.ts +5 -0
- package/dist/migrations/common/1793000146414-AddSkillMcpAvailability.js +18 -0
- package/dist/migrations/common/1793000146414-AddSkillMcpAvailability.js.map +1 -0
- package/dist/migrations/postgresdb/1792738285739-ExpandNodeIdColumns.d.ts +7 -0
- package/dist/migrations/postgresdb/1792738285739-ExpandNodeIdColumns.js +37 -0
- package/dist/migrations/postgresdb/1792738285739-ExpandNodeIdColumns.js.map +1 -0
- package/dist/migrations/postgresdb/index.js +33 -1
- package/dist/migrations/postgresdb/index.js.map +1 -1
- package/dist/migrations/sqlite/1792679908817-AddAgentExecutionUsageAndLinks.d.ts +4 -0
- package/dist/migrations/sqlite/1792679908817-AddAgentExecutionUsageAndLinks.js +12 -0
- package/dist/migrations/sqlite/1792679908817-AddAgentExecutionUsageAndLinks.js.map +1 -0
- package/dist/migrations/sqlite/1792742505678-CreateSelfHealingConfigurations.d.ts +4 -0
- package/dist/migrations/sqlite/1792742505678-CreateSelfHealingConfigurations.js +12 -0
- package/dist/migrations/sqlite/1792742505678-CreateSelfHealingConfigurations.js.map +1 -0
- package/dist/migrations/sqlite/index.js +31 -1
- package/dist/migrations/sqlite/index.js.map +1 -1
- package/dist/repositories/ai-preference.repository.d.ts +1 -0
- package/dist/repositories/ai-preference.repository.js +12 -2
- package/dist/repositories/ai-preference.repository.js.map +1 -1
- package/dist/repositories/base-repository.d.ts +1 -1
- package/dist/repositories/base-repository.js.map +1 -1
- package/dist/repositories/credentials.repository.d.ts +1 -0
- package/dist/repositories/credentials.repository.js +15 -0
- package/dist/repositories/credentials.repository.js.map +1 -1
- package/dist/repositories/deployment-key.repository.js +3 -6
- package/dist/repositories/deployment-key.repository.js.map +1 -1
- package/dist/repositories/execution.repository.d.ts +3 -4
- package/dist/repositories/execution.repository.js +4 -14
- package/dist/repositories/execution.repository.js.map +1 -1
- package/dist/repositories/index.d.ts +2 -0
- package/dist/repositories/index.js +5 -1
- package/dist/repositories/index.js.map +1 -1
- package/dist/repositories/license-metrics.repository.js +3 -2
- package/dist/repositories/license-metrics.repository.js.map +1 -1
- package/dist/repositories/person.repository.d.ts +8 -0
- package/dist/repositories/person.repository.js +39 -0
- package/dist/repositories/person.repository.js.map +1 -0
- package/dist/repositories/project-relation.repository.d.ts +6 -3
- package/dist/repositories/project-relation.repository.js +12 -4
- package/dist/repositories/project-relation.repository.js.map +1 -1
- package/dist/repositories/project.repository.d.ts +5 -0
- package/dist/repositories/project.repository.js +55 -0
- package/dist/repositories/project.repository.js.map +1 -1
- package/dist/repositories/service-account.repository.d.ts +8 -0
- package/dist/repositories/service-account.repository.js +39 -0
- package/dist/repositories/service-account.repository.js.map +1 -0
- package/dist/repositories/settings.repository.d.ts +1 -1
- package/dist/repositories/settings.repository.js +9 -2
- package/dist/repositories/settings.repository.js.map +1 -1
- package/dist/repositories/test-case-execution.repository.ee.d.ts +7 -4
- package/dist/repositories/test-case-execution.repository.ee.js +8 -7
- package/dist/repositories/test-case-execution.repository.ee.js.map +1 -1
- package/dist/repositories/test-run.repository.ee.d.ts +8 -5
- package/dist/repositories/test-run.repository.ee.js +15 -7
- package/dist/repositories/test-run.repository.ee.js.map +1 -1
- package/dist/repositories/user.repository.d.ts +3 -2
- package/dist/repositories/user.repository.js +17 -5
- package/dist/repositories/user.repository.js.map +1 -1
- package/dist/repositories/workflow-dependency.repository.js +8 -1
- package/dist/repositories/workflow-dependency.repository.js.map +1 -1
- package/dist/repositories/workflow.repository.d.ts +5 -0
- package/dist/repositories/workflow.repository.js +21 -0
- package/dist/repositories/workflow.repository.js.map +1 -1
- package/dist/services/db-lock.service.d.ts +2 -0
- package/dist/services/db-lock.service.js +1 -0
- package/dist/services/db-lock.service.js.map +1 -1
- package/dist/utils/account-guards.d.ts +4 -0
- package/dist/utils/account-guards.js +12 -0
- package/dist/utils/account-guards.js.map +1 -0
- package/dist/utils/principal-from-user.js +1 -1
- package/dist/utils/principal-from-user.js.map +1 -1
- package/package.json +14 -14
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReplacePromotionConnectionsWithEnvironments1792417570699 = void 0;
|
|
4
|
+
const providerTable = 'promotion_provider';
|
|
5
|
+
const environmentTable = 'promotion_environment';
|
|
6
|
+
const environmentProjectTable = 'promotion_environment_project';
|
|
7
|
+
const reviewTable = 'promotion_review';
|
|
8
|
+
const runTable = 'promotion_run';
|
|
9
|
+
const connectionTable = 'promotion_connection';
|
|
10
|
+
const connectionProjectTable = 'promotion_connection_project';
|
|
11
|
+
const configTable = 'promotion_config';
|
|
12
|
+
const userTable = 'user';
|
|
13
|
+
const directions = ['apply', 'promote'];
|
|
14
|
+
const scopes = ['instance', 'projects'];
|
|
15
|
+
const reviewTypes = ['gitlab'];
|
|
16
|
+
const reviewStates = ['open', 'changes_requested', 'merged', 'closed'];
|
|
17
|
+
const runTypes = ['git'];
|
|
18
|
+
class ReplacePromotionConnectionsWithEnvironments1792417570699 {
|
|
19
|
+
async up(context) {
|
|
20
|
+
const { schemaBuilder: { dropTable }, } = context;
|
|
21
|
+
await dropTable(runTable);
|
|
22
|
+
await dropTable(reviewTable);
|
|
23
|
+
await dropTable(connectionProjectTable);
|
|
24
|
+
await dropTable(configTable);
|
|
25
|
+
await dropTable(connectionTable);
|
|
26
|
+
await this.createEnvironmentTable(context);
|
|
27
|
+
await this.createEnvironmentProjectTable(context);
|
|
28
|
+
await this.createReviewTable(context);
|
|
29
|
+
await this.createRunTable(context);
|
|
30
|
+
}
|
|
31
|
+
async down(context) {
|
|
32
|
+
const { schemaBuilder: { dropTable }, } = context;
|
|
33
|
+
await dropTable(runTable);
|
|
34
|
+
await dropTable(reviewTable);
|
|
35
|
+
await dropTable(environmentProjectTable);
|
|
36
|
+
await dropTable(environmentTable);
|
|
37
|
+
await this.recreateConnectionTables(context);
|
|
38
|
+
await this.recreateRunAndReviewTables(context);
|
|
39
|
+
}
|
|
40
|
+
async createEnvironmentTable({ schemaBuilder: { createTable, createIndex, column }, tablePrefix, escape, }) {
|
|
41
|
+
await createTable(environmentTable)
|
|
42
|
+
.withColumns(column('id').uuid.primary.comment('Also the name of the local checkout directory.'), column('name').varchar(128).notNull, column('providerId')
|
|
43
|
+
.varchar(36)
|
|
44
|
+
.notNull.comment('The provider whose credentials this environment uses.'), column('direction')
|
|
45
|
+
.varchar(16)
|
|
46
|
+
.notNull.withEnumCheck(directions)
|
|
47
|
+
.comment('PromotionDirection enum: "apply", "promote". Cannot change after creation.'), column('scope')
|
|
48
|
+
.varchar(16)
|
|
49
|
+
.notNull.withEnumCheck(scopes)
|
|
50
|
+
.comment('PromotionEnvironmentScope enum: "instance", "projects". Cannot change after creation.'), column('remote').json.notNull.comment('Where to push and pull. The provider type picks the shape: plain Git stores remoteUrl, a Git host stores repositoryPath. Has its own schemaVersion.'), column('settings').json.notNull.comment('Settings of one direction. direction picks the shape: apply stores branchName, promote stores baseBranchName and createBranchOnPromotion. Has its own schemaVersion. Validated in code.'))
|
|
51
|
+
.withTimestamps.withForeignKey('providerId', {
|
|
52
|
+
tableName: providerTable,
|
|
53
|
+
columnName: 'id',
|
|
54
|
+
onDelete: 'RESTRICT',
|
|
55
|
+
name: `FK_${tablePrefix}promotion_environment_providerId`,
|
|
56
|
+
})
|
|
57
|
+
.withIndexOn(['providerId']);
|
|
58
|
+
await createIndex(environmentTable, ['direction'], true, undefined, `${escape.columnName('scope')} = 'instance'`);
|
|
59
|
+
}
|
|
60
|
+
async createEnvironmentProjectTable({ schemaBuilder: { createTable, column }, tablePrefix, }) {
|
|
61
|
+
await createTable(environmentProjectTable)
|
|
62
|
+
.withColumns(column('projectId').varchar(36).primary, column('direction')
|
|
63
|
+
.varchar(16)
|
|
64
|
+
.primary.withEnumCheck(directions)
|
|
65
|
+
.comment('PromotionDirection enum: "apply", "promote". The direction of the environment.'), column('environmentId').uuid.notNull)
|
|
66
|
+
.withTimestamps.withForeignKey('projectId', {
|
|
67
|
+
tableName: 'project',
|
|
68
|
+
columnName: 'id',
|
|
69
|
+
onDelete: 'CASCADE',
|
|
70
|
+
name: `FK_${tablePrefix}promotion_environment_project_projectId`,
|
|
71
|
+
})
|
|
72
|
+
.withForeignKey('environmentId', {
|
|
73
|
+
tableName: environmentTable,
|
|
74
|
+
columnName: 'id',
|
|
75
|
+
onDelete: 'CASCADE',
|
|
76
|
+
name: `FK_${tablePrefix}promotion_environment_project_environmentId`,
|
|
77
|
+
})
|
|
78
|
+
.withIndexOn(['environmentId']);
|
|
79
|
+
}
|
|
80
|
+
async createReviewTable({ schemaBuilder: { createTable, column, createIndex }, tablePrefix, escape, }) {
|
|
81
|
+
await createTable(reviewTable)
|
|
82
|
+
.withColumns(column('id').uuid.primary, column('environmentId').uuid.comment('The environment that remoteReviewId resolves through. NULL after the environment is deleted.'), column('type')
|
|
83
|
+
.varchar(16)
|
|
84
|
+
.notNull.withEnumCheck(reviewTypes)
|
|
85
|
+
.comment('PromotionReviewType enum: "gitlab".'), column('remoteReviewId')
|
|
86
|
+
.varchar(255)
|
|
87
|
+
.comment('Host reference for type. GitLab stores "<projectId>!<iid>". NULL when the review lives in n8n.'), column('state')
|
|
88
|
+
.varchar(32)
|
|
89
|
+
.notNull.default("'open'")
|
|
90
|
+
.withEnumCheck(reviewStates)
|
|
91
|
+
.comment('PromotionReviewState enum: "open", "changes_requested", "merged", "closed". "merged" and "closed" are terminal.'), column('lastStateChangeAt')
|
|
92
|
+
.timestampTimezone()
|
|
93
|
+
.comment('Time of the latest state change. Covers every transition, including changes_requested and a reopened review. NULL until the first change.'), column('createdById').uuid.comment('The n8n user whose Promote opened this review. NULL after that user is deleted.'), column('approvedById').uuid.comment('The one n8n user who approved the review in n8n. NULL until then. n8n does not copy an approver from the host.'), column('approvedAt').timestampTimezone().comment('When the n8n user approved the review.'))
|
|
94
|
+
.withCreatedAt.withForeignKey('environmentId', {
|
|
95
|
+
tableName: environmentTable,
|
|
96
|
+
columnName: 'id',
|
|
97
|
+
onDelete: 'SET NULL',
|
|
98
|
+
name: `FK_${tablePrefix}promotion_review_environmentId`,
|
|
99
|
+
})
|
|
100
|
+
.withForeignKey('createdById', {
|
|
101
|
+
tableName: userTable,
|
|
102
|
+
columnName: 'id',
|
|
103
|
+
onDelete: 'SET NULL',
|
|
104
|
+
name: `FK_${tablePrefix}promotion_review_createdById`,
|
|
105
|
+
})
|
|
106
|
+
.withForeignKey('approvedById', {
|
|
107
|
+
tableName: userTable,
|
|
108
|
+
columnName: 'id',
|
|
109
|
+
onDelete: 'SET NULL',
|
|
110
|
+
name: `FK_${tablePrefix}promotion_review_approvedById`,
|
|
111
|
+
})
|
|
112
|
+
.withIndexOn(['state', 'createdAt'])
|
|
113
|
+
.withIndexOn(['environmentId']);
|
|
114
|
+
await createIndex(reviewTable, ['environmentId', 'remoteReviewId'], true, undefined, `${escape.columnName('remoteReviewId')} IS NOT NULL`);
|
|
115
|
+
}
|
|
116
|
+
async createRunTable({ schemaBuilder: { createTable, column }, tablePrefix, }) {
|
|
117
|
+
await createTable(runTable)
|
|
118
|
+
.withColumns(column('id').uuid.primary, column('environmentId').uuid.comment('The environment this run used. NULL after the environment is deleted.'), column('direction')
|
|
119
|
+
.varchar(16)
|
|
120
|
+
.notNull.withEnumCheck(directions)
|
|
121
|
+
.comment('PromotionDirection enum: "promote" pushes to the remote, "apply" imports from it. Copied from the environment when the run is written.'), column('type')
|
|
122
|
+
.varchar(16)
|
|
123
|
+
.notNull.withEnumCheck(runTypes)
|
|
124
|
+
.comment('PromotionRunType enum: "git". Git covers GitHub, GitLab and plain Git.'), column('createdById').uuid.comment('The user who ran Promote or Apply.'), column('details').json.comment('Payload for type. A git run stores schemaVersion, branchName and commitSha. NULL when the type has no details.'), column('reviewId').uuid.comment('The review this run belongs to. NULL when the push has no review. Not unique: an amend adds another run.'))
|
|
125
|
+
.withCreatedAt.withForeignKey('environmentId', {
|
|
126
|
+
tableName: environmentTable,
|
|
127
|
+
columnName: 'id',
|
|
128
|
+
onDelete: 'SET NULL',
|
|
129
|
+
name: `FK_${tablePrefix}promotion_run_environmentId`,
|
|
130
|
+
})
|
|
131
|
+
.withForeignKey('createdById', {
|
|
132
|
+
tableName: userTable,
|
|
133
|
+
columnName: 'id',
|
|
134
|
+
onDelete: 'SET NULL',
|
|
135
|
+
name: `FK_${tablePrefix}promotion_run_createdById`,
|
|
136
|
+
})
|
|
137
|
+
.withForeignKey('reviewId', {
|
|
138
|
+
tableName: reviewTable,
|
|
139
|
+
columnName: 'id',
|
|
140
|
+
onDelete: 'SET NULL',
|
|
141
|
+
name: `FK_${tablePrefix}promotion_run_reviewId`,
|
|
142
|
+
})
|
|
143
|
+
.withIndexOn(['environmentId'])
|
|
144
|
+
.withIndexOn(['reviewId']);
|
|
145
|
+
}
|
|
146
|
+
async recreateConnectionTables({ schemaBuilder: { createTable, createIndex, column }, tablePrefix, escape, }) {
|
|
147
|
+
await createTable(connectionTable)
|
|
148
|
+
.withColumns(column('id').varchar(36).primary, column('name').varchar(128).notNull, column('providerId')
|
|
149
|
+
.varchar(36)
|
|
150
|
+
.notNull.comment('The provider whose credentials this connection uses.'), column('scope')
|
|
151
|
+
.varchar(16)
|
|
152
|
+
.notNull.withEnumCheck(scopes)
|
|
153
|
+
.comment('PromotionConnectionScope enum: "instance", "projects". Cannot change after creation.'), column('target').json.notNull.comment('Where to push and pull, with its own schemaVersion. Plain Git stores the full remote URL.'))
|
|
154
|
+
.withTimestamps.withForeignKey('providerId', {
|
|
155
|
+
tableName: providerTable,
|
|
156
|
+
columnName: 'id',
|
|
157
|
+
onDelete: 'RESTRICT',
|
|
158
|
+
name: `FK_${tablePrefix}promotion_connection_providerId`,
|
|
159
|
+
})
|
|
160
|
+
.withIndexOn(['providerId']);
|
|
161
|
+
await createIndex(connectionTable, ['scope'], true, undefined, `${escape.columnName('scope')} = 'instance'`);
|
|
162
|
+
await createTable(connectionProjectTable)
|
|
163
|
+
.withColumns(column('projectId').varchar(36).primary, column('connectionId').varchar(36).notNull)
|
|
164
|
+
.withTimestamps.withForeignKey('projectId', {
|
|
165
|
+
tableName: 'project',
|
|
166
|
+
columnName: 'id',
|
|
167
|
+
onDelete: 'CASCADE',
|
|
168
|
+
name: `FK_${tablePrefix}promotion_connection_project_projectId`,
|
|
169
|
+
})
|
|
170
|
+
.withForeignKey('connectionId', {
|
|
171
|
+
tableName: connectionTable,
|
|
172
|
+
columnName: 'id',
|
|
173
|
+
onDelete: 'CASCADE',
|
|
174
|
+
name: `FK_${tablePrefix}promotion_connection_project_connectionId`,
|
|
175
|
+
})
|
|
176
|
+
.withIndexOn(['connectionId']);
|
|
177
|
+
await createTable(configTable)
|
|
178
|
+
.withColumns(column('id').varchar(36).primary.comment('Also the name of the local checkout directory.'), column('connectionId').varchar(36).notNull, column('name').varchar(128).notNull, column('direction')
|
|
179
|
+
.varchar(16)
|
|
180
|
+
.notNull.withEnumCheck(directions)
|
|
181
|
+
.comment('PromotionDirection enum: "apply", "promote". Cannot change after creation.'), column('settings').json.notNull.comment('Branch settings for this direction, with their own schemaVersion. Validated in code.'))
|
|
182
|
+
.withTimestamps.withForeignKey('connectionId', {
|
|
183
|
+
tableName: connectionTable,
|
|
184
|
+
columnName: 'id',
|
|
185
|
+
onDelete: 'CASCADE',
|
|
186
|
+
name: `FK_${tablePrefix}promotion_config_connectionId`,
|
|
187
|
+
});
|
|
188
|
+
await createIndex(configTable, ['connectionId', 'direction'], true);
|
|
189
|
+
}
|
|
190
|
+
async recreateRunAndReviewTables({ schemaBuilder: { createTable, column, createIndex }, tablePrefix, escape, }) {
|
|
191
|
+
await createTable(reviewTable)
|
|
192
|
+
.withColumns(column('id').uuid.primary, column('connectionId')
|
|
193
|
+
.varchar(36)
|
|
194
|
+
.comment('The connection that remoteReviewId resolves through. NULL after the connection is deleted.'), column('type')
|
|
195
|
+
.varchar(16)
|
|
196
|
+
.notNull.withEnumCheck(reviewTypes)
|
|
197
|
+
.comment('PromotionReviewType enum: "gitlab".'), column('remoteReviewId')
|
|
198
|
+
.varchar(255)
|
|
199
|
+
.comment('Host reference for type. GitLab stores "<projectId>!<iid>". NULL when the review lives in n8n.'), column('state')
|
|
200
|
+
.varchar(32)
|
|
201
|
+
.notNull.default("'open'")
|
|
202
|
+
.withEnumCheck(reviewStates)
|
|
203
|
+
.comment('PromotionReviewState enum: "open", "changes_requested", "merged", "closed". "merged" and "closed" are terminal.'), column('lastStateChangeAt')
|
|
204
|
+
.timestampTimezone()
|
|
205
|
+
.comment('Time of the latest state change. Covers every transition, including changes_requested and a reopened review. NULL until the first change.'), column('createdById').uuid.comment('The n8n user whose Promote opened this review. NULL after that user is deleted.'), column('approvedById').uuid.comment('The one n8n user who approved the review in n8n. NULL until then. n8n does not copy an approver from the host.'), column('approvedAt').timestampTimezone().comment('When the n8n user approved the review.'))
|
|
206
|
+
.withCreatedAt.withForeignKey('connectionId', {
|
|
207
|
+
tableName: connectionTable,
|
|
208
|
+
columnName: 'id',
|
|
209
|
+
onDelete: 'SET NULL',
|
|
210
|
+
name: `FK_${tablePrefix}promotion_review_connectionId`,
|
|
211
|
+
})
|
|
212
|
+
.withForeignKey('createdById', {
|
|
213
|
+
tableName: userTable,
|
|
214
|
+
columnName: 'id',
|
|
215
|
+
onDelete: 'SET NULL',
|
|
216
|
+
name: `FK_${tablePrefix}promotion_review_createdById`,
|
|
217
|
+
})
|
|
218
|
+
.withForeignKey('approvedById', {
|
|
219
|
+
tableName: userTable,
|
|
220
|
+
columnName: 'id',
|
|
221
|
+
onDelete: 'SET NULL',
|
|
222
|
+
name: `FK_${tablePrefix}promotion_review_approvedById`,
|
|
223
|
+
})
|
|
224
|
+
.withIndexOn(['state', 'createdAt'])
|
|
225
|
+
.withIndexOn(['connectionId']);
|
|
226
|
+
await createIndex(reviewTable, ['connectionId', 'remoteReviewId'], true, undefined, `${escape.columnName('remoteReviewId')} IS NOT NULL`);
|
|
227
|
+
await createTable(runTable)
|
|
228
|
+
.withColumns(column('id').uuid.primary, column('configId')
|
|
229
|
+
.varchar(36)
|
|
230
|
+
.comment('The config this run used. NULL after the config is deleted.'), column('direction')
|
|
231
|
+
.varchar(16)
|
|
232
|
+
.notNull.withEnumCheck(directions)
|
|
233
|
+
.comment('PromotionDirection enum: "promote" pushes to the remote, "apply" imports from it. Copied from the config when the run is written.'), column('type')
|
|
234
|
+
.varchar(16)
|
|
235
|
+
.notNull.withEnumCheck(runTypes)
|
|
236
|
+
.comment('PromotionRunType enum: "git". Git covers GitHub, GitLab and plain Git.'), column('createdById').uuid.comment('The user who ran Promote or Apply.'), column('details').json.comment('Payload for type. A git run stores schemaVersion, branchName and commitSha. NULL when the type has no details.'), column('reviewId').uuid.comment('The review this run belongs to. NULL when the push has no review. Not unique: an amend adds another run.'))
|
|
237
|
+
.withCreatedAt.withForeignKey('configId', {
|
|
238
|
+
tableName: configTable,
|
|
239
|
+
columnName: 'id',
|
|
240
|
+
onDelete: 'SET NULL',
|
|
241
|
+
name: `FK_${tablePrefix}promotion_run_configId`,
|
|
242
|
+
})
|
|
243
|
+
.withForeignKey('createdById', {
|
|
244
|
+
tableName: userTable,
|
|
245
|
+
columnName: 'id',
|
|
246
|
+
onDelete: 'SET NULL',
|
|
247
|
+
name: `FK_${tablePrefix}promotion_run_createdById`,
|
|
248
|
+
})
|
|
249
|
+
.withForeignKey('reviewId', {
|
|
250
|
+
tableName: reviewTable,
|
|
251
|
+
columnName: 'id',
|
|
252
|
+
onDelete: 'SET NULL',
|
|
253
|
+
name: `FK_${tablePrefix}promotion_run_reviewId`,
|
|
254
|
+
})
|
|
255
|
+
.withIndexOn(['configId'])
|
|
256
|
+
.withIndexOn(['reviewId']);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
exports.ReplacePromotionConnectionsWithEnvironments1792417570699 = ReplacePromotionConnectionsWithEnvironments1792417570699;
|
|
260
|
+
//# sourceMappingURL=1792417570699-ReplacePromotionConnectionsWithEnvironments.js.map
|
package/dist/migrations/common/1792417570699-ReplacePromotionConnectionsWithEnvironments.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1792417570699-ReplacePromotionConnectionsWithEnvironments.js","sourceRoot":"","sources":["../../../src/migrations/common/1792417570699-ReplacePromotionConnectionsWithEnvironments.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { MigrationContext, ReversibleMigration } from '../migration-types';
|
|
2
|
+
export declare class AddSkillAssistantAvailability1792418677997 implements ReversibleMigration {
|
|
3
|
+
up({ runQuery, escape, isPostgres }: MigrationContext): Promise<void>;
|
|
4
|
+
down({ runQuery, escape }: MigrationContext): Promise<void>;
|
|
5
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AddSkillAssistantAvailability1792418677997 = void 0;
|
|
4
|
+
class AddSkillAssistantAvailability1792418677997 {
|
|
5
|
+
async up({ runQuery, escape, isPostgres }) {
|
|
6
|
+
const table = escape.tableName('skill');
|
|
7
|
+
const column = escape.columnName('availableToAssistant');
|
|
8
|
+
await runQuery(`ALTER TABLE ${table} ADD COLUMN ${column} boolean NOT NULL DEFAULT false`);
|
|
9
|
+
if (isPostgres) {
|
|
10
|
+
await runQuery(`COMMENT ON COLUMN ${table}.${column} IS 'Whether a user has enabled this skill for the n8n Assistant. Scope and permissions still apply.'`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
async down({ runQuery, escape }) {
|
|
14
|
+
await runQuery(`ALTER TABLE ${escape.tableName('skill')} DROP COLUMN ${escape.columnName('availableToAssistant')}`);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.AddSkillAssistantAvailability1792418677997 = AddSkillAssistantAvailability1792418677997;
|
|
18
|
+
//# sourceMappingURL=1792418677997-AddSkillAssistantAvailability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1792418677997-AddSkillAssistantAvailability.js","sourceRoot":"","sources":["../../../src/migrations/common/1792418677997-AddSkillAssistantAvailability.ts"],"names":[],"mappings":";;;AAEA;IACC,KAAK,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAoB;QAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QAGzD,MAAM,QAAQ,CAAC,eAAe,KAAK,eAAe,MAAM,iCAAiC,CAAC,CAAC;QAC3F,IAAI,UAAU,EAAE,CAAC;YAChB,MAAM,QAAQ,CACb,qBAAqB,KAAK,IAAI,MAAM,uGAAuG,CAC3I,CAAC;QACH,CAAC;IACF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAoB;QAChD,MAAM,QAAQ,CACb,eAAe,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CACnG,CAAC;IACH,CAAC;CACD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { MigrationContext, ReversibleMigration } from '../migration-types';
|
|
2
|
+
export declare class CreateApps1792496430067 implements ReversibleMigration {
|
|
3
|
+
up(ctx: MigrationContext): Promise<void>;
|
|
4
|
+
down(ctx: MigrationContext): Promise<void>;
|
|
5
|
+
private replaceSourceTypeCheck;
|
|
6
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CreateApps1792496430067 = void 0;
|
|
4
|
+
const sourceTypesBefore = [
|
|
5
|
+
'execution',
|
|
6
|
+
'chat_message_attachment',
|
|
7
|
+
'agent_file',
|
|
8
|
+
'agent_chat_attachment',
|
|
9
|
+
];
|
|
10
|
+
class CreateApps1792496430067 {
|
|
11
|
+
async up(ctx) {
|
|
12
|
+
const { createTable, column, addForeignKey } = ctx.schemaBuilder;
|
|
13
|
+
await createTable('app')
|
|
14
|
+
.withColumns(column('id').uuid.primary, column('name').varchar(128).notNull, column('namespace').varchar(128).notNull.comment('Unique URL path segment for the app'), column('visibility')
|
|
15
|
+
.varchar(16)
|
|
16
|
+
.notNull.default("'project'")
|
|
17
|
+
.withEnumCheck(['public', 'project', 'instance'])
|
|
18
|
+
.comment('App access: everyone, project members, or instance users'), column('projectId').varchar(36).notNull, column('draftVersionId').uuid.comment('Current working app version'), column('publishedVersionId').uuid.comment('Published app version; null when unpublished'))
|
|
19
|
+
.withTimestamps.withIndexOn('namespace', true)
|
|
20
|
+
.withIndexOn('projectId')
|
|
21
|
+
.withIndexOn('draftVersionId')
|
|
22
|
+
.withIndexOn('publishedVersionId')
|
|
23
|
+
.withForeignKey('projectId', {
|
|
24
|
+
tableName: 'project',
|
|
25
|
+
columnName: 'id',
|
|
26
|
+
onDelete: 'CASCADE',
|
|
27
|
+
});
|
|
28
|
+
await createTable('app_artifact').withColumns(column('id').int.primary.autoGenerate2, column('appId').uuid.notNull.comment('No foreign key so the owning app ID remains available for cleanup after app deletion.'), column('storedAt')
|
|
29
|
+
.varchar(2)
|
|
30
|
+
.notNull.withEnumCheck(['db', 'fs', 's3', 'az'])
|
|
31
|
+
.comment('Storage backend: database, filesystem, S3, or Azure'), column('storageKey').text.notNull.comment('Reference to the object within its storage backend'), column('sizeBytes').int.notNull, column('uploadStatus')
|
|
32
|
+
.varchar(16)
|
|
33
|
+
.notNull.default("'pending'")
|
|
34
|
+
.withEnumCheck(['pending', 'completed'])
|
|
35
|
+
.comment('Upload state: pending or completed')).withTimestamps;
|
|
36
|
+
await createTable('app_version')
|
|
37
|
+
.withColumns(column('id').uuid.primary, column('appId').uuid.notNull, column('label').varchar(255), column('sourceArtifactId').int.notNull, column('bundleArtifactId').int, column('buildAttempts').int.notNull.default(0), column('buildStatus')
|
|
38
|
+
.varchar(16)
|
|
39
|
+
.notNull.default("'queued'")
|
|
40
|
+
.withEnumCheck(['queued', 'running', 'succeeded', 'failed'])
|
|
41
|
+
.comment('Build state: queued, running, succeeded, or failed'), column('buildStatusUpdatedAt').timestampTimezone())
|
|
42
|
+
.withTimestamps.withIndexOn('appId')
|
|
43
|
+
.withIndexOn('sourceArtifactId')
|
|
44
|
+
.withIndexOn('bundleArtifactId')
|
|
45
|
+
.withForeignKey('appId', {
|
|
46
|
+
tableName: 'app',
|
|
47
|
+
columnName: 'id',
|
|
48
|
+
onDelete: 'CASCADE',
|
|
49
|
+
})
|
|
50
|
+
.withForeignKey('sourceArtifactId', {
|
|
51
|
+
tableName: 'app_artifact',
|
|
52
|
+
columnName: 'id',
|
|
53
|
+
onDelete: 'RESTRICT',
|
|
54
|
+
})
|
|
55
|
+
.withForeignKey('bundleArtifactId', {
|
|
56
|
+
tableName: 'app_artifact',
|
|
57
|
+
columnName: 'id',
|
|
58
|
+
onDelete: 'SET NULL',
|
|
59
|
+
});
|
|
60
|
+
await addForeignKey('app', 'draftVersionId', ['app_version', 'id'], 'app_draftVersionId_foreign', 'SET NULL');
|
|
61
|
+
await addForeignKey('app', 'publishedVersionId', ['app_version', 'id'], 'app_publishedVersionId_foreign', 'SET NULL');
|
|
62
|
+
await this.replaceSourceTypeCheck(ctx, [...sourceTypesBefore, 'app_artifact']);
|
|
63
|
+
}
|
|
64
|
+
async down(ctx) {
|
|
65
|
+
const { dropForeignKey, dropTable } = ctx.schemaBuilder;
|
|
66
|
+
await ctx.runQuery(`DELETE FROM ${ctx.escape.tableName('binary_data')} WHERE ${ctx.escape.columnName('sourceType')} = 'app_artifact'`);
|
|
67
|
+
await this.replaceSourceTypeCheck(ctx, sourceTypesBefore);
|
|
68
|
+
await dropForeignKey('app', 'publishedVersionId', ['app_version', 'id'], 'app_publishedVersionId_foreign');
|
|
69
|
+
await dropForeignKey('app', 'draftVersionId', ['app_version', 'id'], 'app_draftVersionId_foreign');
|
|
70
|
+
await dropTable('app_version');
|
|
71
|
+
await dropTable('app_artifact');
|
|
72
|
+
await dropTable('app');
|
|
73
|
+
}
|
|
74
|
+
async replaceSourceTypeCheck({ schemaBuilder: { dropEnumCheck, addEnumCheck }, isPostgres, runQuery, escape, tablePrefix, }, values) {
|
|
75
|
+
await dropEnumCheck('binary_data', 'sourceType', { recreatesOnSqlite: true });
|
|
76
|
+
if (isPostgres) {
|
|
77
|
+
const constraintName = escape.columnName(`CHK_${tablePrefix}binary_data_sourceType`);
|
|
78
|
+
const allowedValues = values.map((value) => `'${value}'`).join(', ');
|
|
79
|
+
await runQuery(`ALTER TABLE ${escape.tableName('binary_data')} ADD CONSTRAINT ${constraintName} CHECK (${escape.columnName('sourceType')} IN (${allowedValues})) NOT VALID`);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
await addEnumCheck('binary_data', 'sourceType', values, { recreatesOnSqlite: true });
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.CreateApps1792496430067 = CreateApps1792496430067;
|
|
86
|
+
//# sourceMappingURL=1792496430067-CreateApps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1792496430067-CreateApps.js","sourceRoot":"","sources":["../../../src/migrations/common/1792496430067-CreateApps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { MigrationContext, ReversibleMigration } from '../migration-types';
|
|
2
|
+
export declare class CreateSelfHealingInvestigationTable1792578704944 implements ReversibleMigration {
|
|
3
|
+
up({ schemaBuilder: { createTable, column, createIndex }, escape }: MigrationContext): Promise<void>;
|
|
4
|
+
down({ schemaBuilder: { dropTable } }: MigrationContext): Promise<void>;
|
|
5
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CreateSelfHealingInvestigationTable1792578704944 = void 0;
|
|
4
|
+
class CreateSelfHealingInvestigationTable1792578704944 {
|
|
5
|
+
async up({ schemaBuilder: { createTable, column, createIndex }, escape }) {
|
|
6
|
+
await createTable('self_healing_investigation')
|
|
7
|
+
.withColumns(column('id').varchar(36).primary, column('workflowId').varchar(36).notNull.comment('Investigated workflow'), column('projectId').varchar(36).notNull.comment('Workflow owner project at admission'), column('backgroundUserId').uuid.notNull.comment('User who enabled the investigation'), column('executionId')
|
|
8
|
+
.varchar(36)
|
|
9
|
+
.notNull.comment('Original execution reference retained after pruning; supports both execution engines'), column('threadId').uuid.notNull.comment('Private Assistant thread ID; retained after deletion'), column('runId').uuid.notNull.comment('Assistant run ID; technical status stays in run events'), column('baseline').json.notNull.comment('Workflow snapshot and version checks captured at admission'), column('resultId').varchar(36).comment('Result saved by atomic investigation completion'), column('finishedAt')
|
|
10
|
+
.timestampTimezone()
|
|
11
|
+
.comment('When the investigation released its workflow claim'), column('createdAt').timestampTimezone().notNull.default('NOW()'), column('updatedAt').timestampTimezone().notNull.default('NOW()'))
|
|
12
|
+
.withIndexOn(['workflowId', 'executionId'], true)
|
|
13
|
+
.withIndexOn('projectId')
|
|
14
|
+
.withIndexOn('backgroundUserId')
|
|
15
|
+
.withForeignKey('workflowId', {
|
|
16
|
+
tableName: 'workflow_entity',
|
|
17
|
+
columnName: 'id',
|
|
18
|
+
onDelete: 'CASCADE',
|
|
19
|
+
})
|
|
20
|
+
.withForeignKey('projectId', {
|
|
21
|
+
tableName: 'project',
|
|
22
|
+
columnName: 'id',
|
|
23
|
+
onDelete: 'CASCADE',
|
|
24
|
+
})
|
|
25
|
+
.withForeignKey('backgroundUserId', {
|
|
26
|
+
tableName: 'user',
|
|
27
|
+
columnName: 'id',
|
|
28
|
+
onDelete: 'CASCADE',
|
|
29
|
+
})
|
|
30
|
+
.withForeignKey('resultId', {
|
|
31
|
+
tableName: 'self_healing_result',
|
|
32
|
+
columnName: 'id',
|
|
33
|
+
onDelete: 'CASCADE',
|
|
34
|
+
});
|
|
35
|
+
await createIndex('self_healing_investigation', ['workflowId'], true, undefined, `${escape.columnName('finishedAt')} IS NULL`);
|
|
36
|
+
await createIndex('self_healing_investigation', ['resultId'], true, undefined, `${escape.columnName('resultId')} IS NOT NULL`);
|
|
37
|
+
}
|
|
38
|
+
async down({ schemaBuilder: { dropTable } }) {
|
|
39
|
+
await dropTable('self_healing_investigation');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.CreateSelfHealingInvestigationTable1792578704944 = CreateSelfHealingInvestigationTable1792578704944;
|
|
43
|
+
//# sourceMappingURL=1792578704944-CreateSelfHealingInvestigationTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1792578704944-CreateSelfHealingInvestigationTable.js","sourceRoot":"","sources":["../../../src/migrations/common/1792578704944-CreateSelfHealingInvestigationTable.ts"],"names":[],"mappings":";;;AAEA;IACC,KAAK,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,MAAM,EAAoB;QACzF,MAAM,WAAW,CAAC,4BAA4B,CAAC;aAC7C,WAAW,CACX,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAChC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,EACzE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,qCAAqC,CAAC,EACtF,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oCAAoC,CAAC,EACrF,MAAM,CAAC,aAAa,CAAC;aACnB,OAAO,CAAC,EAAE,CAAC;aACX,OAAO,CAAC,OAAO,CACf,sFAAsF,CACtF,EACF,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CACtC,sDAAsD,CACtD,EACD,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CACnC,wDAAwD,CACxD,EACD,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CACtC,4DAA4D,CAC5D,EACD,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,iDAAiD,CAAC,EACzF,MAAM,CAAC,YAAY,CAAC;aAClB,iBAAiB,EAAE;aACnB,OAAO,CAAC,oDAAoD,CAAC,EAC/D,MAAM,CAAC,WAAW,CAAC,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAChE,MAAM,CAAC,WAAW,CAAC,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAChE;aACA,WAAW,CAAC,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC;aAChD,WAAW,CAAC,WAAW,CAAC;aACxB,WAAW,CAAC,kBAAkB,CAAC;aAC/B,cAAc,CAAC,YAAY,EAAE;YAC7B,SAAS,EAAE,iBAAiB;YAC5B,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,SAAS;SACnB,CAAC;aACD,cAAc,CAAC,WAAW,EAAE;YAC5B,SAAS,EAAE,SAAS;YACpB,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,SAAS;SACnB,CAAC;aACD,cAAc,CAAC,kBAAkB,EAAE;YACnC,SAAS,EAAE,MAAM;YACjB,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,SAAS;SACnB,CAAC;aACD,cAAc,CAAC,UAAU,EAAE;YAC3B,SAAS,EAAE,qBAAqB;YAChC,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,SAAS;SACnB,CAAC,CAAC;QACJ,MAAM,WAAW,CAChB,4BAA4B,EAC5B,CAAC,YAAY,CAAC,EACd,IAAI,EACJ,SAAS,EACT,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAC5C,CAAC;QACF,MAAM,WAAW,CAChB,4BAA4B,EAC5B,CAAC,UAAU,CAAC,EACZ,IAAI,EACJ,SAAS,EACT,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,CAC9C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,EAAoB;QAC5D,MAAM,SAAS,CAAC,4BAA4B,CAAC,CAAC;IAC/C,CAAC;CACD"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { MigrationContext, ReversibleMigration } from '../migration-types';
|
|
2
|
+
export declare class AddSourceExecutionToAgentBackgroundJob1792584485669 implements ReversibleMigration {
|
|
3
|
+
up({ schemaBuilder: { addColumns, addForeignKey, column, createIndex }, }: MigrationContext): Promise<void>;
|
|
4
|
+
down({ schemaBuilder: { dropColumns, dropIndex } }: MigrationContext): Promise<void>;
|
|
5
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AddSourceExecutionToAgentBackgroundJob1792584485669 = void 0;
|
|
4
|
+
class AddSourceExecutionToAgentBackgroundJob1792584485669 {
|
|
5
|
+
async up({ schemaBuilder: { addColumns, addForeignKey, column, createIndex }, }) {
|
|
6
|
+
await addColumns('agent_background_job', [column('sourceExecutionId').varchar(36).comment('Execution that dispatched this job')], { recreatesOnSqlite: true });
|
|
7
|
+
await addForeignKey('agent_background_job', 'sourceExecutionId', ['agent_execution', 'id'], undefined, 'SET NULL');
|
|
8
|
+
await createIndex('agent_background_job', ['sourceExecutionId']);
|
|
9
|
+
}
|
|
10
|
+
async down({ schemaBuilder: { dropColumns, dropIndex } }) {
|
|
11
|
+
await dropIndex('agent_background_job', ['sourceExecutionId']);
|
|
12
|
+
await dropColumns('agent_background_job', ['sourceExecutionId'], {
|
|
13
|
+
recreatesOnSqlite: true,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.AddSourceExecutionToAgentBackgroundJob1792584485669 = AddSourceExecutionToAgentBackgroundJob1792584485669;
|
|
18
|
+
//# sourceMappingURL=1792584485669-AddSourceExecutionToAgentBackgroundJob.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1792584485669-AddSourceExecutionToAgentBackgroundJob.js","sourceRoot":"","sources":["../../../src/migrations/common/1792584485669-AddSourceExecutionToAgentBackgroundJob.ts"],"names":[],"mappings":";;;AAEA;IACC,KAAK,CAAC,EAAE,CAAC,EACR,aAAa,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,GAC/C;QAClB,MAAM,UAAU,CACf,sBAAsB,EACtB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,EACvF,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAC3B,CAAC;QACF,MAAM,aAAa,CAClB,sBAAsB,EACtB,mBAAmB,EACnB,CAAC,iBAAiB,EAAE,IAAI,CAAC,EACzB,SAAS,EACT,UAAU,CACV,CAAC;QACF,MAAM,WAAW,CAAC,sBAAsB,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,EAAoB;QACzE,MAAM,SAAS,CAAC,sBAAsB,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC/D,MAAM,WAAW,CAAC,sBAAsB,EAAE,CAAC,mBAAmB,CAAC,EAAE;YAChE,iBAAiB,EAAE,IAAI;SACvB,CAAC,CAAC;IACJ,CAAC;CACD"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { MigrationContext, ReversibleMigration } from '../migration-types';
|
|
2
|
+
export declare class AddTaskStopToAgentExecutionThreads1792584485670 implements ReversibleMigration {
|
|
3
|
+
up({ schemaBuilder: { addColumns, column }, isSqlite, escape, runQuery, }: MigrationContext): Promise<void>;
|
|
4
|
+
down({ escape, runQuery }: MigrationContext): Promise<void>;
|
|
5
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AddTaskStopToAgentExecutionThreads1792584485670 = void 0;
|
|
4
|
+
class AddTaskStopToAgentExecutionThreads1792584485670 {
|
|
5
|
+
async up({ schemaBuilder: { addColumns, column }, isSqlite, escape, runQuery, }) {
|
|
6
|
+
if (isSqlite) {
|
|
7
|
+
await runQuery(`ALTER TABLE ${escape.tableName('agent_execution_threads')} ADD COLUMN ${escape.columnName('taskStop')} TEXT`);
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
await addColumns('agent_execution_threads', [column('taskStop').json.comment('Latest task stop boundary and unresolved stop errors')], { recreatesOnSqlite: true });
|
|
11
|
+
}
|
|
12
|
+
async down({ escape, runQuery }) {
|
|
13
|
+
await runQuery(`ALTER TABLE ${escape.tableName('agent_execution_threads')} DROP COLUMN ${escape.columnName('taskStop')}`);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.AddTaskStopToAgentExecutionThreads1792584485670 = AddTaskStopToAgentExecutionThreads1792584485670;
|
|
17
|
+
//# sourceMappingURL=1792584485670-AddTaskStopToAgentExecutionThreads.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1792584485670-AddTaskStopToAgentExecutionThreads.js","sourceRoot":"","sources":["../../../src/migrations/common/1792584485670-AddTaskStopToAgentExecutionThreads.ts"],"names":[],"mappings":";;;AAEA;IACC,KAAK,CAAC,EAAE,CAAC,EACR,aAAa,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EACrC,QAAQ,EACR,MAAM,EACN,QAAQ,GACU;QAElB,IAAI,QAAQ,EAAE,CAAC;YACd,MAAM,QAAQ,CACb,eAAe,MAAM,CAAC,SAAS,CAAC,yBAAyB,CAAC,eAAe,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAC7G,CAAC;YACF,OAAO;QACR,CAAC;QACD,MAAM,UAAU,CACf,yBAAyB,EACzB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC,EACzF,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAC3B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAoB;QAChD,MAAM,QAAQ,CACb,eAAe,MAAM,CAAC,SAAS,CAAC,yBAAyB,CAAC,gBAAgB,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CACzG,CAAC;IACH,CAAC;CACD"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { MigrationContext, ReversibleMigration } from '../migration-types';
|
|
2
|
+
export declare class AddPlanTaskToAgentBackgroundJob1792584485671 implements ReversibleMigration {
|
|
3
|
+
up({ schemaBuilder: { addColumns, column, addForeignKey, createIndex }, }: MigrationContext): Promise<void>;
|
|
4
|
+
down({ schemaBuilder: { dropIndex, dropColumns } }: MigrationContext): Promise<void>;
|
|
5
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AddPlanTaskToAgentBackgroundJob1792584485671 = void 0;
|
|
4
|
+
class AddPlanTaskToAgentBackgroundJob1792584485671 {
|
|
5
|
+
async up({ schemaBuilder: { addColumns, column, addForeignKey, createIndex }, }) {
|
|
6
|
+
await addColumns('agent_background_job', [
|
|
7
|
+
column('planId').uuid.comment('Plan that owns this work'),
|
|
8
|
+
column('planTaskId').uuid.comment('Task ID in the saved plan document'),
|
|
9
|
+
], { recreatesOnSqlite: true });
|
|
10
|
+
await addForeignKey('agent_background_job', 'planId', ['agent_plan', 'id'], undefined, 'SET NULL');
|
|
11
|
+
await createIndex('agent_background_job', ['planId', 'planTaskId']);
|
|
12
|
+
}
|
|
13
|
+
async down({ schemaBuilder: { dropIndex, dropColumns } }) {
|
|
14
|
+
await dropIndex('agent_background_job', ['planId', 'planTaskId']);
|
|
15
|
+
await dropColumns('agent_background_job', ['planId', 'planTaskId'], {
|
|
16
|
+
recreatesOnSqlite: true,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.AddPlanTaskToAgentBackgroundJob1792584485671 = AddPlanTaskToAgentBackgroundJob1792584485671;
|
|
21
|
+
//# sourceMappingURL=1792584485671-AddPlanTaskToAgentBackgroundJob.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1792584485671-AddPlanTaskToAgentBackgroundJob.js","sourceRoot":"","sources":["../../../src/migrations/common/1792584485671-AddPlanTaskToAgentBackgroundJob.ts"],"names":[],"mappings":";;;AAEA;IACC,KAAK,CAAC,EAAE,CAAC,EACR,aAAa,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAC/C;QAClB,MAAM,UAAU,CACf,sBAAsB,EACtB;YACC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC;YACzD,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,oCAAoC,CAAC;SACvE,EACD,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAC3B,CAAC;QACF,MAAM,aAAa,CAClB,sBAAsB,EACtB,QAAQ,EACR,CAAC,YAAY,EAAE,IAAI,CAAC,EACpB,SAAS,EACT,UAAU,CACV,CAAC;QACF,MAAM,WAAW,CAAC,sBAAsB,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,EAAoB;QACzE,MAAM,SAAS,CAAC,sBAAsB,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;QAClE,MAAM,WAAW,CAAC,sBAAsB,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE;YACnE,iBAAiB,EAAE,IAAI;SACvB,CAAC,CAAC;IACJ,CAAC;CACD"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { MigrationContext, ReversibleMigration } from '../migration-types';
|
|
2
|
+
export declare class AddGuardrailStopToAgentExecution1792597769231 implements ReversibleMigration {
|
|
3
|
+
up({ escape, runQuery, isPostgres }: MigrationContext): Promise<void>;
|
|
4
|
+
down({ escape, runQuery }: MigrationContext): Promise<void>;
|
|
5
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AddGuardrailStopToAgentExecution1792597769231 = void 0;
|
|
4
|
+
class AddGuardrailStopToAgentExecution1792597769231 {
|
|
5
|
+
async up({ escape, runQuery, isPostgres }) {
|
|
6
|
+
const agentExecution = escape.tableName('agent_execution');
|
|
7
|
+
const finishReason = escape.columnName('finishReason');
|
|
8
|
+
const guardrailCode = escape.columnName('guardrailCode');
|
|
9
|
+
await runQuery(`ALTER TABLE ${agentExecution} ADD COLUMN ${finishReason} VARCHAR(32)`);
|
|
10
|
+
await runQuery(`ALTER TABLE ${agentExecution} ADD COLUMN ${guardrailCode} VARCHAR(64)`);
|
|
11
|
+
if (isPostgres) {
|
|
12
|
+
await runQuery(`COMMENT ON COLUMN ${agentExecution}.${finishReason} IS 'Why the run ended, e.g. stop or guardrail. Null for older runs.'`);
|
|
13
|
+
await runQuery(`COMMENT ON COLUMN ${agentExecution}.${guardrailCode} IS 'Code of the guardrail that stopped the run, e.g. budget.session.'`);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
async down({ escape, runQuery }) {
|
|
17
|
+
const agentExecution = escape.tableName('agent_execution');
|
|
18
|
+
await runQuery(`ALTER TABLE ${agentExecution} DROP COLUMN ${escape.columnName('guardrailCode')}`);
|
|
19
|
+
await runQuery(`ALTER TABLE ${agentExecution} DROP COLUMN ${escape.columnName('finishReason')}`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.AddGuardrailStopToAgentExecution1792597769231 = AddGuardrailStopToAgentExecution1792597769231;
|
|
23
|
+
//# sourceMappingURL=1792597769231-AddGuardrailStopToAgentExecution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1792597769231-AddGuardrailStopToAgentExecution.js","sourceRoot":"","sources":["../../../src/migrations/common/1792597769231-AddGuardrailStopToAgentExecution.ts"],"names":[],"mappings":";;;AAEA;IACC,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAoB;QAC1D,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAGzD,MAAM,QAAQ,CAAC,eAAe,cAAc,eAAe,YAAY,cAAc,CAAC,CAAC;QACvF,MAAM,QAAQ,CAAC,eAAe,cAAc,eAAe,aAAa,cAAc,CAAC,CAAC;QACxF,IAAI,UAAU,EAAE,CAAC;YAChB,MAAM,QAAQ,CACb,qBAAqB,cAAc,IAAI,YAAY,uEAAuE,CAC1H,CAAC;YACF,MAAM,QAAQ,CACb,qBAAqB,cAAc,IAAI,aAAa,wEAAwE,CAC5H,CAAC;QACH,CAAC;IACF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAoB;QAChD,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAE3D,MAAM,QAAQ,CACb,eAAe,cAAc,gBAAgB,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CACjF,CAAC;QACF,MAAM,QAAQ,CACb,eAAe,cAAc,gBAAgB,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAChF,CAAC;IACH,CAAC;CACD"}
|