@camstack/server 1.2.709 → 1.2.711
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/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.2.711] - 2026-10-31
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- Creating a second instance of a single-instance integration is refused with a typed conflict
|
|
15
|
+
|
|
16
|
+
## [1.2.710] - 2026-10-31
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- The schedulers capability is served over the API (list, create, update, delete, enable, preview, conflicts, status, traces)
|
|
21
|
+
|
|
10
22
|
## [1.2.709] - 2026-10-31
|
|
11
23
|
|
|
12
24
|
### Changed
|
|
@@ -922,7 +922,10 @@ function buildIntegrationsProvider(ar, eb, loggingService, capabilityRegistry) {
|
|
|
922
922
|
tags: { addonId: input.addonId, integrationId: existing[0].id },
|
|
923
923
|
meta: { phase: 'create' },
|
|
924
924
|
});
|
|
925
|
-
throw new
|
|
925
|
+
throw new server_1.TRPCError({
|
|
926
|
+
code: 'CONFLICT',
|
|
927
|
+
message: `Addon "${input.addonId}" is unique-instance and already has an integration (${existing[0].id})`,
|
|
928
|
+
});
|
|
926
929
|
}
|
|
927
930
|
}
|
|
928
931
|
// ── the gate ────────────────────────────────────────────────────
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// AUTO-GENERATED by scripts/generate-cap-mounts.ts — DO NOT EDIT
|
|
3
3
|
// Re-run: npx tsx scripts/generate-cap-mounts.ts
|
|
4
4
|
//
|
|
5
|
-
// Mounted:
|
|
5
|
+
// Mounted: 191 Skipped (legacy): 3
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.LEGACY_SHAPE_SKIP = void 0;
|
|
8
8
|
exports.mountAllCaps = mountAllCaps;
|
|
@@ -549,6 +549,7 @@ function mountAllCaps(services) {
|
|
|
549
549
|
}, remoteCapProxy),
|
|
550
550
|
runningState: (0, generated_cap_routers_js_1.createCapRouter_runningState)((_ctx) => (0, cap_mount_helpers_js_1.requireDeviceScoped)(reg, 'running-state'), remoteCapProxy),
|
|
551
551
|
sceneMonitor: (0, generated_cap_routers_js_1.createCapRouter_sceneMonitor)((_ctx) => (0, cap_mount_helpers_js_1.requireDeviceScoped)(reg, 'scene-monitor'), remoteCapProxy),
|
|
552
|
+
schedulers: (0, generated_cap_routers_js_1.createCapRouter_schedulers)((_ctx) => reg?.getSingleton('schedulers') ?? null, remoteCapProxy),
|
|
552
553
|
scriptRunner: (0, generated_cap_routers_js_1.createCapRouter_scriptRunner)((_ctx) => (0, cap_mount_helpers_js_1.requireDeviceScoped)(reg, 'script-runner'), remoteCapProxy),
|
|
553
554
|
serverManagement: (0, generated_cap_routers_js_1.createCapRouter_serverManagement)((_ctx) => reg?.getSingleton('server-management') ??
|
|
554
555
|
null, remoteCapProxy),
|