gsxdsm
7334cffebd
FN-8660: add credential instance selection persistence
Persist optional credential-instance selections across model configuration without changing runtime credential behavior.
- Add credential instance IDs to global, project, task, preset, and workflow IR model lanes.
- Preserve selected instance IDs through model resolution and task persistence.
- Add PostgreSQL migration coverage, unit tests, documentation, and a minor changeset.
Files changed:
.../fn-8660-credential-instance-selection.md | 7 ++
docs/settings-reference.md | 17 +++++
.../core/src/__tests__/model-resolution.test.ts | 37 ++++++++++
.../credential-instance-selection.pg.test.ts | 81 +++++++++++++++++++++
.../postgres/settings-persistence.pg.test.ts | 83 ++++++++++++++++++++++
.../src/__tests__/workflow-ir-settings.test.ts | 66 +++++++++++++++++
packages/core/src/builtin-workflow-settings.ts | 41 +++++++++++
packages/core/src/model-resolution.ts | 57 ++++++++++++++-
.../0039_fn_8660_credential_instance_selection.sql | 9 +++
packages/core/src/postgres/schema-applier.ts | 14 +++-
packages/core/src/postgres/schema/project.ts | 4 ++
packages/core/src/settings-schema.ts | 25 +++++++
packages/core/src/store.ts | 2 +-
.../core/src/task-store/archive-lifecycle-2.ts | 8 +++
.../core/src/task-store/branch-and-pr-entities.ts | 2 +-
packages/core/src/task-store/persistence.ts | 8 +++
packages/core/src/task-store/serialization.ts | 6 ++
packages/core/src/task-store/settings-ops.ts | 30 ++++++++
packages/core/src/task-store/task-creation.ts | 18 ++++-
packages/core/src/task-store/task-mutation-ops.ts | 6 +-
packages/core/src/task-store/task-row-mappers.ts | 6 +-
packages/core/src/task-store/task-update.ts | 24 +++++++
packages/core/src/types/archive-planning.ts | 5 ++
packages/core/src/types/settings-scope.ts | 40 +++++++++++
packages/core/src/types/task-core.ts | 30 ++++++++
packages/core/src/types/workflow-steps.ts | 9 +++
packages/core/src/workflow-ir.ts | 18 +++++
packages/core/src/workflow-settings.ts | 10 +++
28 files changed, 650 insertions(+), 13 deletions(-)
Fusion-Task-Id: FN-8660
Fusion-Task-Lineage: a3f625eb-018c-4084-954e-488b1d37691e
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-31 23:08:51 -07:00
..
2026-07-08 23:39:35 -07:00
2026-07-31 23:08:51 -07:00
2026-07-15 10:36:10 -07:00
2026-06-07 18:51:46 -07:00
2026-07-30 08:09:36 -07:00
2026-07-04 10:42:21 -07:00
2026-07-21 23:10:08 -07:00
2026-07-09 19:58:07 -07:00
2026-07-21 18:03:36 -07:00
2026-07-16 14:44:07 -07:00
2026-07-19 13:47:38 -07:00
2026-07-24 23:57:49 -07:00
2026-07-21 23:10:34 -07:00
2026-07-16 03:23:25 -07:00
2026-07-30 09:28:27 -07:00
2026-07-19 13:34:25 -07:00
2026-07-26 15:38:05 -07:00
2026-07-30 21:50:37 -07:00
2026-07-30 13:55:10 -07:00
2026-07-24 11:15:43 -07:00
2026-07-16 17:05:29 -07:00
2026-07-31 10:30:30 -07:00
2026-07-31 04:56:25 -07:00
2026-06-21 19:19:55 -07:00
2026-07-30 12:02:53 -07:00
2026-07-29 10:26:46 -07:00
2026-07-14 08:23:11 -07:00
2026-06-26 02:45:29 -07:00
2026-06-21 13:32:19 -07:00
2026-07-16 16:34:09 -07:00
2026-07-16 16:34:09 -07:00
2026-07-29 22:41:17 -07:00
2026-07-30 12:02:53 -07:00
2026-06-07 20:43:44 -07:00
2026-06-03 13:51:13 -07:00
2026-06-03 13:51:13 -07:00
2026-07-28 23:23:00 -07:00
2026-07-05 11:31:48 -07:00
2026-07-26 02:04:40 -07:00
2026-07-21 13:36:05 -07:00
2026-07-05 16:58:42 -07:00
2026-07-01 11:28:03 -07:00
2026-06-08 23:38:32 -07:00
2026-07-16 01:32:23 -07:00
2026-07-29 09:39:20 -07:00
2026-07-31 12:54:58 -07:00
2026-07-29 22:41:17 -07:00
2026-07-30 03:10:35 -07:00
2026-07-30 02:38:58 -07:00
2026-07-31 04:06:40 -07:00
2026-06-05 13:59:50 -07:00
2026-07-30 03:01:36 -07:00
2026-07-16 21:39:49 -07:00
2026-07-18 11:34:42 -07:00
2026-07-02 11:38:33 -07:00
2026-07-19 11:50:52 -07:00
2026-07-13 19:07:58 -07:00
2026-07-26 02:04:40 -07:00
2026-07-29 19:03:03 -07:00
2026-07-30 09:28:27 -07:00
2026-06-08 22:35:04 -07:00
2026-06-08 22:35:04 -07:00
2026-07-30 12:25:00 -07:00
2026-07-22 19:28:51 -07:00
2026-07-30 09:28:27 -07:00
2026-07-10 11:26:16 -07:00
2026-07-30 13:55:10 -07:00
2026-07-31 04:29:21 -07:00
2026-07-19 12:16:51 -07:00
2026-07-26 10:23:00 -07:00
2026-07-21 18:48:47 -07:00
2026-07-16 16:01:29 -07:00
2026-06-26 00:06:31 -07:00
2026-07-09 19:58:05 -07:00
2026-07-19 18:45:27 -07:00
2026-07-17 23:56:34 -07:00
2026-06-24 08:36:55 -07:00
2026-07-02 19:01:09 -07:00
2026-07-13 19:07:58 -07:00
2026-06-05 00:30:27 -07:00
2026-06-25 21:56:27 -07:00
2026-07-21 18:33:22 -07:00
2026-07-08 23:39:34 -07:00
2026-07-09 21:36:14 -07:00
2026-07-09 19:58:03 -07:00
2026-06-28 16:51:49 -07:00
2026-07-26 08:56:58 -07:00
2026-07-30 21:11:42 -07:00
2026-07-30 22:25:24 -07:00
2026-06-09 12:51:20 -07:00
2026-07-30 12:02:53 -07:00
2026-07-31 17:50:33 -07:00
2026-07-30 12:02:53 -07:00
2026-07-31 10:44:08 -07:00
2026-07-31 08:45:31 -07:00
2026-07-31 07:18:54 -07:00
2026-07-29 22:39:14 -07:00
2026-07-30 02:38:58 -07:00
2026-06-03 17:33:16 -07:00
2026-07-31 10:27:31 -07:00
2026-07-30 02:38:58 -07:00
2026-07-26 09:50:43 -07:00
2026-07-16 20:37:05 -07:00
2026-07-22 15:25:20 -07:00
2026-06-26 11:56:12 -07:00
2026-07-31 03:40:11 -07:00
2026-07-28 18:52:31 -07:00
2026-07-30 07:08:16 -07:00
2026-07-26 17:48:46 -07:00
2026-07-21 23:09:30 -07:00
2026-07-18 08:01:44 -07:00
2026-07-23 14:39:44 -07:00
2026-07-23 13:21:10 -07:00
2026-07-18 19:18:57 -07:00
2026-07-16 19:48:11 -07:00
2026-07-31 23:08:51 -07:00
2026-07-30 12:25:00 -07:00
2026-07-29 19:03:03 -07:00
2026-07-30 02:38:58 -07:00
2026-06-25 03:44:22 -07:00
2026-07-16 19:36:02 -07:00
2026-07-30 02:38:58 -07:00
2026-07-28 23:23:25 -07:00
2026-06-13 02:54:57 -07:00
2026-07-19 11:50:52 -07:00
2026-07-17 09:54:44 -07:00
2026-07-31 01:08:54 -07:00
2026-07-13 19:07:58 -07:00
2026-07-21 00:00:08 -07:00
2026-07-31 21:56:30 -07:00
2026-07-14 08:18:52 -07:00
2026-07-16 18:13:37 -07:00
2026-07-30 02:38:58 -07:00
2026-07-18 11:49:11 -07:00
2026-07-26 20:33:25 -07:00
2026-07-31 22:38:52 -07:00
2026-06-15 20:59:57 -07:00
2026-07-14 20:27:35 -07:00
2026-07-13 19:07:58 -07:00
2026-07-09 19:58:05 -07:00
2026-07-15 21:33:11 -07:00
2026-07-04 13:51:09 -07:00
2026-07-14 22:13:30 -07:00
2026-07-14 22:16:16 -07:00
2026-07-04 21:28:15 -07:00
2026-07-11 22:16:48 -07:00
2026-07-29 22:39:14 -07:00
2026-07-15 12:27:15 -07:00
2026-07-04 12:38:14 -07:00
2026-07-20 17:35:06 -07:00
2026-07-22 15:25:20 -07:00
2026-07-14 22:13:30 -07:00
2026-07-26 08:35:04 -07:00
2026-07-22 15:25:20 -07:00
2026-07-30 21:50:37 -07:00
2026-07-26 08:35:04 -07:00
2026-07-10 07:46:52 -07:00
2026-07-12 11:52:24 -07:00
2026-07-30 21:50:37 -07:00
2026-06-03 17:57:29 -07:00
2026-07-29 21:07:28 -07:00
2026-07-14 22:13:30 -07:00
2026-06-15 19:44:17 -07:00
2026-06-12 13:50:24 -07:00
2026-07-14 22:13:30 -07:00
2026-07-30 20:17:18 -07:00
2026-07-23 11:41:15 -07:00
2026-07-30 06:48:00 -07:00
2026-07-08 23:39:34 -07:00
2026-07-08 23:39:35 -07:00
2026-07-30 08:35:24 -07:00
2026-06-04 22:53:02 -07:00
2026-07-04 21:28:15 -07:00
2026-07-30 08:35:24 -07:00
2026-07-30 15:16:24 -07:00
2026-07-18 16:18:15 -07:00
2026-07-30 01:33:03 -07:00
2026-07-15 20:53:05 -07:00
2026-07-18 13:09:38 -07:00
2026-07-19 11:50:52 -07:00
2026-07-29 09:39:20 -07:00
2026-07-29 22:52:30 -07:00
2026-07-13 19:07:58 -07:00
2026-07-21 23:33:05 -07:00
2026-07-30 02:08:26 -07:00
2026-07-31 11:50:02 -07:00
2026-07-31 07:13:01 -07:00
2026-07-14 20:27:35 -07:00
2026-07-30 21:50:37 -07:00
2026-07-30 02:30:20 -07:00
2026-07-30 05:33:27 -07:00
2026-07-01 09:45:30 -07:00
2026-07-15 13:32:33 -07:00
2026-07-15 10:38:04 -07:00
2026-07-16 20:37:05 -07:00
2026-07-16 20:37:05 -07:00
2026-07-14 22:13:30 -07:00
2026-07-27 14:19:32 -07:00
2026-07-31 02:39:33 -07:00
2026-07-31 12:14:40 -07:00
2026-07-30 07:36:00 -07:00
2026-07-29 21:39:57 -07:00
2026-07-16 05:52:17 -07:00
2026-07-29 00:04:28 -07:00
2026-07-30 09:28:27 -07:00
2026-07-14 22:13:30 -07:00
2026-07-29 21:39:57 -07:00
2026-07-13 19:07:58 -07:00
2026-07-14 00:11:06 -07:00
2026-06-05 13:56:05 -07:00
2026-07-19 15:20:39 -07:00
2026-07-30 12:03:07 -07:00
2026-07-31 22:19:32 -07:00
2026-07-31 05:24:05 -07:00
2026-06-21 13:32:19 -07:00
2026-07-31 07:06:48 -07:00
2026-07-30 03:47:20 -07:00
2026-07-30 03:47:20 -07:00
2026-07-29 23:03:03 -07:00
2026-07-13 19:07:58 -07:00
2026-06-28 01:43:08 -07:00
2026-06-18 03:24:57 -07:00
2026-07-09 19:58:04 -07:00
2026-07-30 09:28:27 -07:00
2026-07-09 19:58:08 -07:00
2026-07-30 12:03:07 -07:00
2026-07-31 10:47:15 -07:00
2026-07-26 13:15:36 -07:00
2026-07-27 14:19:32 -07:00
2026-07-31 10:27:18 -07:00
2026-07-30 02:38:58 -07:00
2026-07-26 09:06:41 -07:00
2026-07-31 21:42:24 -07:00
2026-07-30 09:28:27 -07:00
2026-06-19 16:47:34 -07:00
2026-07-26 16:16:27 -07:00
2026-06-04 00:19:57 -07:00
2026-07-30 07:53:28 -07:00
2026-07-29 09:39:20 -07:00
2026-06-03 13:33:38 -07:00
2026-06-18 01:20:03 -07:00
2026-06-17 19:19:05 -07:00
2026-07-20 18:16:58 -07:00
2026-07-28 19:09:06 -07:00
2026-07-21 20:05:39 -07:00
2026-07-31 08:34:04 -07:00
2026-07-28 17:35:07 -07:00
2026-06-07 21:19:10 -07:00
2026-06-04 23:35:32 -07:00
2026-07-27 15:06:19 -07:00
2026-06-27 09:28:31 -07:00
2026-06-08 13:32:58 -07:00
2026-06-08 00:19:50 -07:00
2026-06-27 13:05:50 -07:00
2026-07-30 13:01:54 -07:00
2026-07-30 14:20:18 -07:00
2026-07-31 23:08:51 -07:00
2026-07-28 19:09:06 -07:00
2026-07-22 22:37:51 -07:00
2026-07-10 01:49:15 -07:00
2026-07-30 08:25:08 -07:00
2026-06-29 12:23:20 -07:00
2026-07-26 09:40:37 -07:00
2026-06-29 12:47:21 -07:00
2026-07-29 22:39:33 -07:00
2026-07-01 11:28:03 -07:00
2026-07-23 08:53:06 -07:00
2026-07-09 19:58:05 -07:00
2026-07-10 01:49:15 -07:00
2026-07-28 18:52:46 -07:00
2026-07-26 00:46:07 -07:00
2026-07-27 21:39:21 -07:00
2026-07-26 00:46:07 -07:00
2026-07-30 03:10:35 -07:00
2026-07-16 15:37:42 -07:00
2026-07-16 15:27:03 -07:00
2026-06-13 21:17:20 -07:00