@kosdev-code/kos-ui-sdk 3.0.4 → 3.0.6
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/.kos.json +286 -0
- package/common/events/async-event-bus.d.ts +1 -1
- package/common/events/async-event-bus.d.ts.map +1 -1
- package/core/core/kos-registration.d.ts.map +1 -1
- package/core/core/kosCore.d.ts.map +1 -1
- package/core/core/model/kos-http-route-manager.d.ts.map +1 -1
- package/core/core/model/kos-subscription-manager.d.ts.map +1 -1
- package/core/core/model/service-response-store.d.ts.map +1 -1
- package/core/core/model-instantiator.d.ts.map +1 -1
- package/core/core/transport/webSocketTransport.d.ts.map +1 -1
- package/core/util/index.d.ts +0 -1
- package/core/util/index.d.ts.map +1 -1
- package/index.cjs +96 -80
- package/index.cjs.map +1 -1
- package/index.js +96 -80
- package/index.js.map +1 -1
- package/models/models/canvas-dispatcher/canvas-dispatcher-model.d.ts.map +1 -1
- package/models/models/canvas-dispatcher/utils/color-utils.d.ts.map +1 -1
- package/models/models/canvas-dispatcher/utils/renderers/looping-video-renderer.d.ts.map +1 -1
- package/models/models/canvas-dispatcher/utils/renderers/matrix-renderer.d.ts.map +1 -1
- package/models/models/canvas-dispatcher/utils/renderers/overlay-renderer.d.ts.map +1 -1
- package/models/models/canvas-dispatcher/utils/renderers/scrolling-image-renderer.d.ts.map +1 -1
- package/models/models/canvas-dispatcher/utils/renderers/scrolling-text-renderer.d.ts.map +1 -1
- package/models/models/canvas-dispatcher/utils/renderers/sequence-renderer.d.ts.map +1 -1
- package/models/models/canvas-dispatcher/utils/renderers/solid-color-renderer.d.ts.map +1 -1
- package/models/models/canvas-renderer/canvas-renderer-model.d.ts.map +1 -1
- package/models/models/future/future-model.d.ts.map +1 -1
- package/models/models/future/future-types.d.ts +7 -7
- package/models/models/gpio-chip/gpio-chip-container-model.d.ts.map +1 -1
- package/models/models/gpio-chip/services/gpio-chip-services.d.ts +8 -8
- package/models/models/gpio-chip/services/gpio-chip-services.d.ts.map +1 -1
- package/models/models/kos-time/services/kos-time-services.d.ts.map +1 -1
- package/models/models/log-block/types/index.d.ts +20 -20
- package/models/models/log-stream/types/index.d.ts +9 -9
- package/models/models/studio-properties/services/studio-properties-services.d.ts.map +1 -1
- package/models/models/studio-properties/types/index.d.ts +2 -2
- package/models/utils/conversion-utils.d.ts +26 -0
- package/models/utils/conversion-utils.d.ts.map +1 -1
- package/package.json +3 -3
- package/ui/contexts/kos-core-context.d.ts.map +1 -1
- package/ui/features/canvas/hooks/use-solid-color-renderer.d.ts.map +1 -1
- package/ui/features/canvas/utils/preview-decoder.d.ts.map +1 -1
- package/ui/hooks/translation-container/trans.d.ts.map +1 -1
- package/ui/policies/reload-on-disconnect-policy.d.ts.map +1 -1
- package/core/util/kos-org-utils.d.ts +0 -3
- package/core/util/kos-org-utils.d.ts.map +0 -1
package/index.js
CHANGED
|
@@ -1548,7 +1548,7 @@ function kosServiceRequest$9(params2) {
|
|
|
1548
1548
|
throw new Error("Service request metadata not found for method");
|
|
1549
1549
|
}
|
|
1550
1550
|
try {
|
|
1551
|
-
const { default: API } = await Promise.resolve().then(() => service$
|
|
1551
|
+
const { default: API } = await Promise.resolve().then(() => service$8);
|
|
1552
1552
|
const { resolvedPath, apiParams, finalBody, finalRequestOptions } = resolveServiceRequestParameters(
|
|
1553
1553
|
currentMetadata,
|
|
1554
1554
|
this,
|
|
@@ -5635,7 +5635,9 @@ class KosHttpRouteManager {
|
|
|
5635
5635
|
*/
|
|
5636
5636
|
dispose() {
|
|
5637
5637
|
if (this.router && this.registeredRoutes.length > 0) {
|
|
5638
|
-
this.logger.debug(
|
|
5638
|
+
this.logger.debug(
|
|
5639
|
+
`Removing ${this.registeredRoutes.length} HTTP routes for model ${this.model.id || "unknown"}`
|
|
5640
|
+
);
|
|
5639
5641
|
let totalRemoved = 0;
|
|
5640
5642
|
for (const route of this.registeredRoutes) {
|
|
5641
5643
|
const removed = this.router.remove(route.method, route.path);
|
|
@@ -5643,10 +5645,14 @@ class KosHttpRouteManager {
|
|
|
5643
5645
|
if (removed > 0) {
|
|
5644
5646
|
this.logger.debug(`Removed route: ${route.method} ${route.path}`);
|
|
5645
5647
|
} else {
|
|
5646
|
-
this.logger.warn(
|
|
5648
|
+
this.logger.warn(
|
|
5649
|
+
`Failed to remove route: ${route.method} ${route.path} (not found)`
|
|
5650
|
+
);
|
|
5647
5651
|
}
|
|
5648
5652
|
}
|
|
5649
|
-
this.logger.debug(
|
|
5653
|
+
this.logger.debug(
|
|
5654
|
+
`Successfully removed ${totalRemoved} routes from browser router`
|
|
5655
|
+
);
|
|
5650
5656
|
}
|
|
5651
5657
|
this.registered = false;
|
|
5652
5658
|
this.registeredRoutes = [];
|
|
@@ -6700,7 +6706,7 @@ const api$9 = createClient();
|
|
|
6700
6706
|
function kosServiceRequest$8(params2) {
|
|
6701
6707
|
return kosServiceRequest$9(params2);
|
|
6702
6708
|
}
|
|
6703
|
-
const service$
|
|
6709
|
+
const service$8 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
6704
6710
|
__proto__: null,
|
|
6705
6711
|
default: api$9,
|
|
6706
6712
|
kosServiceRequest: kosServiceRequest$8
|
|
@@ -8156,15 +8162,11 @@ class KosSubscriptionManager {
|
|
|
8156
8162
|
if (lifecycle && lifecycle !== topicLifecycle) return;
|
|
8157
8163
|
const resolvedTopic = this.resolvePropKey(topic);
|
|
8158
8164
|
if (this.onceTopics.has(resolvedTopic)) {
|
|
8159
|
-
this.log.debug(
|
|
8160
|
-
`Skipping once topic (already fired): ${resolvedTopic}`
|
|
8161
|
-
);
|
|
8165
|
+
this.log.debug(`Skipping once topic (already fired): ${resolvedTopic}`);
|
|
8162
8166
|
return;
|
|
8163
8167
|
}
|
|
8164
8168
|
if (this.registeredTopics.has(resolvedTopic)) {
|
|
8165
|
-
this.log.debug(
|
|
8166
|
-
`Skipping duplicate subscription for ${resolvedTopic}`
|
|
8167
|
-
);
|
|
8169
|
+
this.log.debug(`Skipping duplicate subscription for ${resolvedTopic}`);
|
|
8168
8170
|
return;
|
|
8169
8171
|
}
|
|
8170
8172
|
this.registeredTopics.add(resolvedTopic);
|
|
@@ -8214,7 +8216,7 @@ class KosSubscriptionManager {
|
|
|
8214
8216
|
this.log.debug(
|
|
8215
8217
|
`Disposing ${allDisposers.length} subscriptions for ${this.modelId}`
|
|
8216
8218
|
);
|
|
8217
|
-
for (const [topic,
|
|
8219
|
+
for (const [topic, _controller] of this.flowControllers) {
|
|
8218
8220
|
this.log.debug(`Disposing flow controller for ${topic}`);
|
|
8219
8221
|
}
|
|
8220
8222
|
this.flowControllers.clear();
|
|
@@ -8286,6 +8288,7 @@ class KosSubscriptionManager {
|
|
|
8286
8288
|
payload
|
|
8287
8289
|
);
|
|
8288
8290
|
}
|
|
8291
|
+
return void 0;
|
|
8289
8292
|
};
|
|
8290
8293
|
this.offlineQueue.enqueue(offlineHandler, resolvedTopic, payload);
|
|
8291
8294
|
} else {
|
|
@@ -8303,6 +8306,7 @@ class KosSubscriptionManager {
|
|
|
8303
8306
|
} catch (e) {
|
|
8304
8307
|
this.log.error(`Error handling subscription for ${resolvedTopic}`, e);
|
|
8305
8308
|
}
|
|
8309
|
+
return void 0;
|
|
8306
8310
|
};
|
|
8307
8311
|
}
|
|
8308
8312
|
extractWildcardCapture(resolvedTopic, payload, subscription) {
|
|
@@ -8419,20 +8423,18 @@ class KosSubscriptionManager {
|
|
|
8419
8423
|
return async (processedData) => {
|
|
8420
8424
|
try {
|
|
8421
8425
|
if (config2.condition && !config2.condition(processedData, this.modelData, processedData)) {
|
|
8422
|
-
return;
|
|
8426
|
+
return void 0;
|
|
8423
8427
|
}
|
|
8424
8428
|
if (!this.model.isReady()) {
|
|
8425
8429
|
this.log.warn(
|
|
8426
8430
|
`Model ${this.modelId} not ready. Queuing flow-controlled message for ${resolvedTopic}`
|
|
8427
8431
|
);
|
|
8428
|
-
const offlineHandler = () =>
|
|
8429
|
-
|
|
8430
|
-
|
|
8431
|
-
|
|
8432
|
-
|
|
8433
|
-
|
|
8434
|
-
);
|
|
8435
|
-
};
|
|
8432
|
+
const offlineHandler = () => config2.handler.call(
|
|
8433
|
+
this.modelData,
|
|
8434
|
+
processedData,
|
|
8435
|
+
processedData,
|
|
8436
|
+
this.modelData
|
|
8437
|
+
);
|
|
8436
8438
|
this.offlineQueue.enqueue(
|
|
8437
8439
|
offlineHandler,
|
|
8438
8440
|
resolvedTopic,
|
|
@@ -8457,6 +8459,7 @@ class KosSubscriptionManager {
|
|
|
8457
8459
|
throw error;
|
|
8458
8460
|
}
|
|
8459
8461
|
}
|
|
8462
|
+
return void 0;
|
|
8460
8463
|
};
|
|
8461
8464
|
}
|
|
8462
8465
|
async retryHandler(config2, data, originalError) {
|
|
@@ -11491,16 +11494,6 @@ const syncPublish = async ({
|
|
|
11491
11494
|
}
|
|
11492
11495
|
return response;
|
|
11493
11496
|
};
|
|
11494
|
-
const WHITELISTED_ORGS = new Set(
|
|
11495
|
-
process.env.KOS_TOOL_ACCESS_WHITELIST?.split(",") || []
|
|
11496
|
-
);
|
|
11497
|
-
const getWhitelistedOrgs = () => {
|
|
11498
|
-
return WHITELISTED_ORGS;
|
|
11499
|
-
};
|
|
11500
|
-
const checkOrgAuthorization = (userOrgIds = []) => {
|
|
11501
|
-
const ids = Array.isArray(userOrgIds) ? userOrgIds : [userOrgIds];
|
|
11502
|
-
return ids.some((id) => WHITELISTED_ORGS.has(id));
|
|
11503
|
-
};
|
|
11504
11497
|
const contextMap = /* @__PURE__ */ new Map();
|
|
11505
11498
|
class KosContextBean {
|
|
11506
11499
|
_context;
|
|
@@ -12360,7 +12353,7 @@ async function waitForAppsToStart(appIds, options = {}) {
|
|
|
12360
12353
|
const startedApps = await waitForAllWithState(eventTopics, {
|
|
12361
12354
|
getCurrentState: async () => {
|
|
12362
12355
|
try {
|
|
12363
|
-
const { default: api2 } = await Promise.resolve().then(() => service$
|
|
12356
|
+
const { default: api2 } = await Promise.resolve().then(() => service$8);
|
|
12364
12357
|
const [error, data] = await api2.get("/api/kos/apps/started");
|
|
12365
12358
|
if (error) {
|
|
12366
12359
|
log$q.error("Error fetching started apps:", error);
|
|
@@ -14813,7 +14806,11 @@ let FutureModel = class {
|
|
|
14813
14806
|
await kosWhen(() => this.futureId !== FUTURE_NOT_ASSIGNED);
|
|
14814
14807
|
const response = await this._cancelFuture(this.futureId, path);
|
|
14815
14808
|
if (response?.status !== 200) {
|
|
14816
|
-
log$i.error(
|
|
14809
|
+
log$i.error(
|
|
14810
|
+
`Failed to cancel Future ${this.id}. Response: ${JSON.stringify(
|
|
14811
|
+
response
|
|
14812
|
+
)}`
|
|
14813
|
+
);
|
|
14817
14814
|
}
|
|
14818
14815
|
}
|
|
14819
14816
|
/**
|
|
@@ -17331,7 +17328,6 @@ let KosLogManagerModelImpl = class {
|
|
|
17331
17328
|
*/
|
|
17332
17329
|
async load() {
|
|
17333
17330
|
this.logger.debug(`loading kos-log-manager ${this.id}`);
|
|
17334
|
-
this.resolveLoggers();
|
|
17335
17331
|
const [error, overrides] = await getLogOverrides();
|
|
17336
17332
|
if (error) {
|
|
17337
17333
|
this.logger.error("Failed to load log overrides", error);
|
|
@@ -17379,10 +17375,6 @@ const { URL: URL$8 } = resolveServiceUrl();
|
|
|
17379
17375
|
const { postModel: postModel$2, getOne: getOne$2 } = ServiceFactory.build({
|
|
17380
17376
|
basePath: `${URL$8}/api/kos-time`
|
|
17381
17377
|
});
|
|
17382
|
-
KosLog.createLogger({
|
|
17383
|
-
name: "kos-time-service",
|
|
17384
|
-
group: "Services"
|
|
17385
|
-
});
|
|
17386
17378
|
const setTime = async (time) => {
|
|
17387
17379
|
const response = await postModel$2({
|
|
17388
17380
|
model: time,
|
|
@@ -19626,7 +19618,10 @@ class LoopingVideoRenderer extends VideoRendererBase {
|
|
|
19626
19618
|
this.video.currentTime = this.startTime;
|
|
19627
19619
|
}
|
|
19628
19620
|
if (this.endTime !== null) {
|
|
19629
|
-
this.video.addEventListener(
|
|
19621
|
+
this.video.addEventListener(
|
|
19622
|
+
"timeupdate",
|
|
19623
|
+
this.handleTimeUpdate.bind(this)
|
|
19624
|
+
);
|
|
19630
19625
|
}
|
|
19631
19626
|
}
|
|
19632
19627
|
handleTimeUpdate() {
|
|
@@ -19805,7 +19800,10 @@ class OverlayRenderer {
|
|
|
19805
19800
|
completionCallback = null;
|
|
19806
19801
|
hasSignaledCompletion = false;
|
|
19807
19802
|
constructor(data, rendererFactory) {
|
|
19808
|
-
this.baseRenderer = rendererFactory(
|
|
19803
|
+
this.baseRenderer = rendererFactory(
|
|
19804
|
+
data.baseRenderer.type,
|
|
19805
|
+
data.baseRenderer.data
|
|
19806
|
+
);
|
|
19809
19807
|
this.overlayConfigs = data.overlays;
|
|
19810
19808
|
this.persistOverlaysOnComplete = data.persistOverlaysOnComplete !== false;
|
|
19811
19809
|
this.canvas = document.createElement("canvas");
|
|
@@ -19906,7 +19904,11 @@ class OverlayRenderer {
|
|
|
19906
19904
|
this.baseRenderer.renderFrame(width, height);
|
|
19907
19905
|
const basePixels = this.baseRenderer.readPixels(width, height);
|
|
19908
19906
|
if (basePixels && basePixels.length > 0) {
|
|
19909
|
-
const imageData = new ImageData(
|
|
19907
|
+
const imageData = new ImageData(
|
|
19908
|
+
basePixels,
|
|
19909
|
+
width,
|
|
19910
|
+
height
|
|
19911
|
+
);
|
|
19910
19912
|
this.ctx.putImageData(imageData, 0, 0);
|
|
19911
19913
|
}
|
|
19912
19914
|
this.renderOverlays(width, height);
|
|
@@ -19921,7 +19923,11 @@ class OverlayRenderer {
|
|
|
19921
19923
|
if (!img || !this.loadedIcons.has(overlay.src)) {
|
|
19922
19924
|
continue;
|
|
19923
19925
|
}
|
|
19924
|
-
const position = this.calculateOverlayPosition(
|
|
19926
|
+
const position = this.calculateOverlayPosition(
|
|
19927
|
+
overlay,
|
|
19928
|
+
canvasWidth,
|
|
19929
|
+
canvasHeight
|
|
19930
|
+
);
|
|
19925
19931
|
this.ctx.save();
|
|
19926
19932
|
if (overlay.opacity !== void 0) {
|
|
19927
19933
|
this.ctx.globalAlpha = Math.max(0, Math.min(1, overlay.opacity));
|
|
@@ -20253,22 +20259,26 @@ class ScrollingImageRenderer extends Canvas2DRendererBase {
|
|
|
20253
20259
|
let isOffScreen = false;
|
|
20254
20260
|
const buffer2 = 1;
|
|
20255
20261
|
switch (direction) {
|
|
20256
|
-
case "left":
|
|
20262
|
+
case "left": {
|
|
20257
20263
|
const xPosLeft = width - this.position;
|
|
20258
20264
|
isOffScreen = xPosLeft < -drawWidth - buffer2;
|
|
20259
20265
|
break;
|
|
20260
|
-
|
|
20266
|
+
}
|
|
20267
|
+
case "right": {
|
|
20261
20268
|
const xPosRight = -drawWidth + this.position;
|
|
20262
20269
|
isOffScreen = xPosRight > width + buffer2;
|
|
20263
20270
|
break;
|
|
20264
|
-
|
|
20271
|
+
}
|
|
20272
|
+
case "up": {
|
|
20265
20273
|
const yPosUp = height - this.position;
|
|
20266
20274
|
isOffScreen = yPosUp < -drawHeight - buffer2;
|
|
20267
20275
|
break;
|
|
20268
|
-
|
|
20276
|
+
}
|
|
20277
|
+
case "down": {
|
|
20269
20278
|
const yPosDown = -drawHeight + this.position;
|
|
20270
20279
|
isOffScreen = yPosDown > height + buffer2;
|
|
20271
20280
|
break;
|
|
20281
|
+
}
|
|
20272
20282
|
}
|
|
20273
20283
|
if (isOffScreen) {
|
|
20274
20284
|
if (this.loopConfig === false || typeof this.loopConfig === "number" && this.loopConfig === 1) {
|
|
@@ -20324,7 +20334,7 @@ class ScrollingImageRenderer extends Canvas2DRendererBase {
|
|
|
20324
20334
|
return svgContent;
|
|
20325
20335
|
}
|
|
20326
20336
|
const newColor = toRgbString(this.colorOverride);
|
|
20327
|
-
|
|
20337
|
+
const processedSvg = svgContent.replace(/fill\s*=\s*["'][^"']*["']/gi, `fill="${newColor}"`).replace(/fill\s*:\s*[^;"]*/gi, `fill:${newColor}`).replace(/stroke\s*=\s*["'][^"']*["']/gi, `stroke="${newColor}"`).replace(/stroke\s*:\s*[^;"]*/gi, `stroke:${newColor}`);
|
|
20328
20338
|
return processedSvg;
|
|
20329
20339
|
}
|
|
20330
20340
|
dispose() {
|
|
@@ -20468,7 +20478,7 @@ class ScrollingTextRenderer extends Canvas2DRendererBase {
|
|
|
20468
20478
|
this.ctx.fillStyle = this.textColor;
|
|
20469
20479
|
this.ctx.textBaseline = "top";
|
|
20470
20480
|
const totalTextHeight = this.textHeight;
|
|
20471
|
-
|
|
20481
|
+
const startY = (height - totalTextHeight) / 2;
|
|
20472
20482
|
for (let i = 0; i < this.lines.length; i++) {
|
|
20473
20483
|
const line = this.lines[i];
|
|
20474
20484
|
const lineWidth = this.lineWidths[i];
|
|
@@ -20584,22 +20594,26 @@ class ScrollingTextRenderer extends Canvas2DRendererBase {
|
|
|
20584
20594
|
let isOffScreen = false;
|
|
20585
20595
|
const buffer2 = 1;
|
|
20586
20596
|
switch (direction) {
|
|
20587
|
-
case "left":
|
|
20597
|
+
case "left": {
|
|
20588
20598
|
const xPosLeft = width - this.position;
|
|
20589
20599
|
isOffScreen = xPosLeft < -this.textWidth - buffer2;
|
|
20590
20600
|
break;
|
|
20591
|
-
|
|
20601
|
+
}
|
|
20602
|
+
case "right": {
|
|
20592
20603
|
const xPosRight = -this.textWidth + this.position;
|
|
20593
20604
|
isOffScreen = xPosRight > width + buffer2;
|
|
20594
20605
|
break;
|
|
20595
|
-
|
|
20606
|
+
}
|
|
20607
|
+
case "up": {
|
|
20596
20608
|
const yPosUp = height - this.position;
|
|
20597
20609
|
isOffScreen = yPosUp < -this.textHeight - buffer2;
|
|
20598
20610
|
break;
|
|
20599
|
-
|
|
20611
|
+
}
|
|
20612
|
+
case "down": {
|
|
20600
20613
|
const yPosDown = -this.textHeight + this.position;
|
|
20601
20614
|
isOffScreen = yPosDown > height + buffer2;
|
|
20602
20615
|
break;
|
|
20616
|
+
}
|
|
20603
20617
|
}
|
|
20604
20618
|
if (isOffScreen) {
|
|
20605
20619
|
if (this.loopConfig === false || typeof this.loopConfig === "number" && this.loopConfig === 1) {
|
|
@@ -20701,7 +20715,10 @@ class SequenceRenderer {
|
|
|
20701
20715
|
}
|
|
20702
20716
|
}
|
|
20703
20717
|
} catch (error) {
|
|
20704
|
-
console.error(
|
|
20718
|
+
console.error(
|
|
20719
|
+
`Failed to create renderer for pattern "${patternId}":`,
|
|
20720
|
+
error
|
|
20721
|
+
);
|
|
20705
20722
|
this.moveToNextPattern();
|
|
20706
20723
|
}
|
|
20707
20724
|
}
|
|
@@ -21087,7 +21104,10 @@ let CanvasDispatcherModelImpl = class {
|
|
|
21087
21104
|
const patternData = this._patterns.get(pattern);
|
|
21088
21105
|
const mode = patternData.type;
|
|
21089
21106
|
const requestData = req.body || {};
|
|
21090
|
-
this.data = {
|
|
21107
|
+
this.data = {
|
|
21108
|
+
...patternData.data,
|
|
21109
|
+
...requestData
|
|
21110
|
+
};
|
|
21091
21111
|
const rendererData = mode === "sequence" ? { ...this.data, patternStore: this._patterns } : this.data;
|
|
21092
21112
|
rendererModel.renderer = getRenderer({
|
|
21093
21113
|
mode,
|
|
@@ -22872,14 +22892,14 @@ const updateRegion = async (region) => {
|
|
|
22872
22892
|
regionInfo.updateProperty(region);
|
|
22873
22893
|
};
|
|
22874
22894
|
async function getKosServiceApi() {
|
|
22875
|
-
const { default: API } = await Promise.resolve().then(() => service$
|
|
22895
|
+
const { default: API } = await Promise.resolve().then(() => service$8);
|
|
22876
22896
|
return API;
|
|
22877
22897
|
}
|
|
22878
22898
|
function kosServiceRequest$7(params2) {
|
|
22879
22899
|
return kosServiceRequest$9(params2);
|
|
22880
22900
|
}
|
|
22881
22901
|
const api$7 = createClient();
|
|
22882
|
-
const service$
|
|
22902
|
+
const service$7 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
22883
22903
|
__proto__: null,
|
|
22884
22904
|
api: api$7,
|
|
22885
22905
|
default: api$7,
|
|
@@ -22889,7 +22909,7 @@ function kosServiceRequest$6(params2) {
|
|
|
22889
22909
|
return kosServiceRequest$9(params2);
|
|
22890
22910
|
}
|
|
22891
22911
|
const api$6 = createClient();
|
|
22892
|
-
const service$
|
|
22912
|
+
const service$6 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
22893
22913
|
__proto__: null,
|
|
22894
22914
|
api: api$6,
|
|
22895
22915
|
default: api$6,
|
|
@@ -22899,7 +22919,7 @@ function kosServiceRequest$5(params2) {
|
|
|
22899
22919
|
return kosServiceRequest$9(params2);
|
|
22900
22920
|
}
|
|
22901
22921
|
const api$5 = createClient();
|
|
22902
|
-
const
|
|
22922
|
+
const service$5 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
22903
22923
|
__proto__: null,
|
|
22904
22924
|
api: api$5,
|
|
22905
22925
|
default: api$5,
|
|
@@ -23713,10 +23733,6 @@ GpioChipModelImpl = __decorateClass$2([
|
|
|
23713
23733
|
kosLoggerAware()
|
|
23714
23734
|
], GpioChipModelImpl);
|
|
23715
23735
|
const GpioChip = GpioChipModelImpl.Registration;
|
|
23716
|
-
KosLog.createLogger({
|
|
23717
|
-
name: "gpio-chip-container-service",
|
|
23718
|
-
group: "Services"
|
|
23719
|
-
});
|
|
23720
23736
|
const GPIO_CHIP_PATH = "/api/kos/gpio/chips";
|
|
23721
23737
|
const GPIO_PIN_PATH = "/api/kos/gpio/pins";
|
|
23722
23738
|
const gpioServiceRequest = kosServiceRequest$5;
|
|
@@ -23840,9 +23856,11 @@ __decorateClass$1([
|
|
|
23840
23856
|
defaultValue: []
|
|
23841
23857
|
},
|
|
23842
23858
|
lifecycle: DependencyLifecycle.INIT,
|
|
23843
|
-
requestOptions: (model) =>
|
|
23844
|
-
|
|
23845
|
-
|
|
23859
|
+
requestOptions: (model) => {
|
|
23860
|
+
return {
|
|
23861
|
+
destinationAddress: model.destinationAddress
|
|
23862
|
+
};
|
|
23863
|
+
}
|
|
23846
23864
|
})
|
|
23847
23865
|
], GpioChipContainerModelImpl.prototype, "handleGpioChipInit", 1);
|
|
23848
23866
|
GpioChipContainerModelImpl = __decorateClass$1([
|
|
@@ -24230,10 +24248,9 @@ const initKosProvider = (registration = { models: {}, preloadModels: [] }, alias
|
|
|
24230
24248
|
disposer();
|
|
24231
24249
|
};
|
|
24232
24250
|
}, [kosCore]);
|
|
24233
|
-
const value = useMemo(
|
|
24234
|
-
|
|
24235
|
-
|
|
24236
|
-
);
|
|
24251
|
+
const value = useMemo(() => {
|
|
24252
|
+
return { kosCore, online };
|
|
24253
|
+
}, [kosCore, online]);
|
|
24237
24254
|
return /* @__PURE__ */ jsx(KosContext.Provider, { value, children });
|
|
24238
24255
|
};
|
|
24239
24256
|
return { KosCoreContextProvider: observer(KosCoreContextProvider) };
|
|
@@ -24292,10 +24309,7 @@ const ReloadOnDisconnectPolicy = ({
|
|
|
24292
24309
|
try {
|
|
24293
24310
|
onBeforeReload?.(info);
|
|
24294
24311
|
} catch (err) {
|
|
24295
|
-
KosLog.error(
|
|
24296
|
-
"ReloadOnDisconnectPolicy: onBeforeReload threw",
|
|
24297
|
-
err
|
|
24298
|
-
);
|
|
24312
|
+
KosLog.error("ReloadOnDisconnectPolicy: onBeforeReload threw", err);
|
|
24299
24313
|
}
|
|
24300
24314
|
reloadFn();
|
|
24301
24315
|
}, graceMs);
|
|
@@ -24477,7 +24491,7 @@ function useSuspenseData$1(key, fetcher) {
|
|
|
24477
24491
|
return data;
|
|
24478
24492
|
}
|
|
24479
24493
|
async function fetchModel$1(kosCore, modelOptions) {
|
|
24480
|
-
const { modelId, factory, modelType, options
|
|
24494
|
+
const { modelId, factory, modelType, options } = modelOptions;
|
|
24481
24495
|
let retryCount = 0;
|
|
24482
24496
|
await kosCore.whenReady();
|
|
24483
24497
|
let _model;
|
|
@@ -24818,7 +24832,11 @@ function renderDecodedPreview({
|
|
|
24818
24832
|
pixelSize
|
|
24819
24833
|
}) {
|
|
24820
24834
|
const decode = decodeBase64RGB(dataString, width, height);
|
|
24821
|
-
const img = new ImageData(
|
|
24835
|
+
const img = new ImageData(
|
|
24836
|
+
decode,
|
|
24837
|
+
width,
|
|
24838
|
+
height
|
|
24839
|
+
);
|
|
24822
24840
|
const tempCanvas = document.createElement("canvas");
|
|
24823
24841
|
tempCanvas.width = width;
|
|
24824
24842
|
tempCanvas.height = height;
|
|
@@ -26660,9 +26678,9 @@ export {
|
|
|
26660
26678
|
KOS_MODEL_ID,
|
|
26661
26679
|
KOS_RECOVERING_SESSION_KEY,
|
|
26662
26680
|
service$4 as KOS_SERVICE,
|
|
26663
|
-
service$
|
|
26664
|
-
service$
|
|
26665
|
-
|
|
26681
|
+
service$7 as KOS_SERVICE_1_6_5,
|
|
26682
|
+
service$6 as KOS_SERVICE_1_8_1,
|
|
26683
|
+
service$5 as KOS_SERVICE_1_9_X,
|
|
26666
26684
|
KeyValue,
|
|
26667
26685
|
index$c as KeyValueServices,
|
|
26668
26686
|
Kos,
|
|
@@ -26830,7 +26848,6 @@ export {
|
|
|
26830
26848
|
buildFutureModel$1 as buildFutureModel,
|
|
26831
26849
|
cancelFuture,
|
|
26832
26850
|
checkAppsStarted,
|
|
26833
|
-
checkOrgAuthorization,
|
|
26834
26851
|
checkWildcardPattern,
|
|
26835
26852
|
clearAllServiceResponses,
|
|
26836
26853
|
clearPath,
|
|
@@ -26907,7 +26924,6 @@ export {
|
|
|
26907
26924
|
getServiceResponse,
|
|
26908
26925
|
getStartedApps,
|
|
26909
26926
|
getTranslations,
|
|
26910
|
-
getWhitelistedOrgs,
|
|
26911
26927
|
getYearsArray,
|
|
26912
26928
|
handleServiceRequestError,
|
|
26913
26929
|
hasCachedResponse,
|