@things-factory/headless-twin 10.0.11 โ 10.0.13
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-server/engine/canonical-ingest.d.ts +81 -3
- package/dist-server/engine/canonical-ingest.js +89 -10
- package/dist-server/engine/canonical-ingest.js.map +1 -1
- package/dist-server/engine/command-routing.js +1 -1
- package/dist-server/engine/command-routing.js.map +1 -1
- package/dist-server/engine/declared-stimulus.d.ts +43 -0
- package/dist-server/engine/declared-stimulus.js +57 -0
- package/dist-server/engine/declared-stimulus.js.map +1 -0
- package/dist-server/engine/index.d.ts +5 -0
- package/dist-server/engine/index.js +6 -0
- package/dist-server/engine/index.js.map +1 -1
- package/dist-server/engine/ingest-health.d.ts +335 -0
- package/dist-server/engine/ingest-health.js +434 -0
- package/dist-server/engine/ingest-health.js.map +1 -0
- package/dist-server/engine/integration-coverage.d.ts +76 -0
- package/dist-server/engine/integration-coverage.js +73 -0
- package/dist-server/engine/integration-coverage.js.map +1 -0
- package/dist-server/engine/integration-probes.d.ts +65 -0
- package/dist-server/engine/integration-probes.js +100 -0
- package/dist-server/engine/integration-probes.js.map +1 -0
- package/dist-server/engine/integration-runner.d.ts +45 -0
- package/dist-server/engine/integration-runner.js +59 -0
- package/dist-server/engine/integration-runner.js.map +1 -0
- package/dist-server/engine/integration-target-profile.d.ts +57 -0
- package/dist-server/engine/integration-target-profile.js +79 -0
- package/dist-server/engine/integration-target-profile.js.map +1 -0
- package/dist-server/engine/kpi-fold.d.ts +39 -0
- package/dist-server/engine/kpi-fold.js +68 -5
- package/dist-server/engine/kpi-fold.js.map +1 -1
- package/dist-server/engine/kpi-query.d.ts +3 -3
- package/dist-server/engine/kpi-query.js +132 -18
- package/dist-server/engine/kpi-query.js.map +1 -1
- package/dist-server/engine/live-feed-registry.d.ts +1 -1
- package/dist-server/engine/live-feed-registry.js +3 -17
- package/dist-server/engine/live-feed-registry.js.map +1 -1
- package/dist-server/engine/load-meter.d.ts +1 -1
- package/dist-server/engine/load-meter.js +12 -3
- package/dist-server/engine/load-meter.js.map +1 -1
- package/dist-server/engine/local-declarations.d.ts +3 -6
- package/dist-server/engine/local-declarations.js +97 -16
- package/dist-server/engine/local-declarations.js.map +1 -1
- package/dist-server/engine/log.d.ts +18 -0
- package/dist-server/engine/log.js +80 -0
- package/dist-server/engine/log.js.map +1 -0
- package/dist-server/engine/loop-lag.d.ts +54 -0
- package/dist-server/engine/loop-lag.js +87 -0
- package/dist-server/engine/loop-lag.js.map +1 -0
- package/dist-server/engine/measured-yield.d.ts +42 -0
- package/dist-server/engine/measured-yield.js +75 -0
- package/dist-server/engine/measured-yield.js.map +1 -0
- package/dist-server/engine/model-gap.d.ts +108 -0
- package/dist-server/engine/model-gap.js +95 -0
- package/dist-server/engine/model-gap.js.map +1 -0
- package/dist-server/engine/operation-basis.d.ts +16 -0
- package/dist-server/engine/operation-basis.js +20 -2
- package/dist-server/engine/operation-basis.js.map +1 -1
- package/dist-server/engine/property-effects.js +17 -0
- package/dist-server/engine/property-effects.js.map +1 -1
- package/dist-server/engine/restart-policy.d.ts +13 -0
- package/dist-server/engine/restart-policy.js +52 -0
- package/dist-server/engine/restart-policy.js.map +1 -0
- package/dist-server/engine/runtime-key.js +1 -1
- package/dist-server/engine/runtime-key.js.map +1 -1
- package/dist-server/engine/spec-coverage.d.ts +8 -0
- package/dist-server/engine/spec-coverage.js +3 -1
- package/dist-server/engine/spec-coverage.js.map +1 -1
- package/dist-server/engine/stage-path.d.ts +83 -0
- package/dist-server/engine/stage-path.js +118 -0
- package/dist-server/engine/stage-path.js.map +1 -0
- package/dist-server/engine/twin-engine.d.ts +400 -31
- package/dist-server/engine/twin-engine.js +1198 -187
- package/dist-server/engine/twin-engine.js.map +1 -1
- package/dist-server/index.js +35 -3
- package/dist-server/index.js.map +1 -1
- package/dist-server/migrations/1786100000000-PromoteEventActionAndSyncWarnings.d.ts +5 -0
- package/dist-server/migrations/1786100000000-PromoteEventActionAndSyncWarnings.js +58 -0
- package/dist-server/migrations/1786100000000-PromoteEventActionAndSyncWarnings.js.map +1 -0
- package/dist-server/migrations/1786200000000-CarryLiveFeedCursor.d.ts +5 -0
- package/dist-server/migrations/1786200000000-CarryLiveFeedCursor.js +55 -0
- package/dist-server/migrations/1786200000000-CarryLiveFeedCursor.js.map +1 -0
- package/dist-server/migrations/index.js +7 -1
- package/dist-server/migrations/index.js.map +1 -1
- package/dist-server/service/index.d.ts +5 -2
- package/dist-server/service/index.js +18 -7
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/reference/control-routing.d.ts +14 -0
- package/dist-server/service/reference/control-routing.js +64 -0
- package/dist-server/service/reference/control-routing.js.map +1 -0
- package/dist-server/service/reference/discovery-result.d.ts +1 -1
- package/dist-server/service/reference/discovery-result.js +1 -1
- package/dist-server/service/reference/discovery-result.js.map +1 -1
- package/dist-server/service/reference/index.d.ts +5 -1
- package/dist-server/service/reference/index.js +8 -1
- package/dist-server/service/reference/index.js.map +1 -1
- package/dist-server/service/reference/reference-adapter.d.ts +251 -3
- package/dist-server/service/reference/reference-adapter.js +43 -1
- package/dist-server/service/reference/reference-adapter.js.map +1 -1
- package/dist-server/service/reference/reference-assessment.d.ts +68 -0
- package/dist-server/service/reference/reference-assessment.js +136 -0
- package/dist-server/service/reference/reference-assessment.js.map +1 -0
- package/dist-server/service/reference/reference-live.d.ts +12 -1
- package/dist-server/service/reference/reference-live.js +119 -14
- package/dist-server/service/reference/reference-live.js.map +1 -1
- package/dist-server/service/reference/reference-master.d.ts +47 -1
- package/dist-server/service/reference/reference-master.js +34 -4
- package/dist-server/service/reference/reference-master.js.map +1 -1
- package/dist-server/service/reference/reference-probe.d.ts +92 -0
- package/dist-server/service/reference/reference-probe.js +186 -0
- package/dist-server/service/reference/reference-probe.js.map +1 -0
- package/dist-server/service/reference/reference-progress-subscription.d.ts +17 -0
- package/dist-server/service/reference/reference-progress-subscription.js +94 -0
- package/dist-server/service/reference/reference-progress-subscription.js.map +1 -0
- package/dist-server/service/reference/reference-progress.d.ts +38 -0
- package/dist-server/service/reference/reference-progress.js +71 -0
- package/dist-server/service/reference/reference-progress.js.map +1 -0
- package/dist-server/service/reference/reference-resolver.d.ts +3 -3
- package/dist-server/service/reference/reference-resolver.js +242 -58
- package/dist-server/service/reference/reference-resolver.js.map +1 -1
- package/dist-server/service/reference/twin-reference.d.ts +32 -0
- package/dist-server/service/reference/twin-reference.js +10 -0
- package/dist-server/service/reference/twin-reference.js.map +1 -1
- package/dist-server/service/twin-audit/command-audit.d.ts +34 -0
- package/dist-server/service/twin-audit/command-audit.js +15 -1
- package/dist-server/service/twin-audit/command-audit.js.map +1 -1
- package/dist-server/service/twin-audit/twin-audit-event.d.ts +3 -0
- package/dist-server/service/twin-audit/twin-audit-event.js +10 -0
- package/dist-server/service/twin-audit/twin-audit-event.js.map +1 -1
- package/dist-server/service/twin-control/twin-control-mutation.d.ts +15 -2
- package/dist-server/service/twin-control/twin-control-mutation.js +88 -36
- package/dist-server/service/twin-control/twin-control-mutation.js.map +1 -1
- package/dist-server/service/twin-event/journal-count.d.ts +21 -0
- package/dist-server/service/twin-event/journal-count.js +26 -0
- package/dist-server/service/twin-event/journal-count.js.map +1 -0
- package/dist-server/service/twin-event/twin-event-keys.d.ts +9 -0
- package/dist-server/service/twin-event/twin-event-keys.js +15 -18
- package/dist-server/service/twin-event/twin-event-keys.js.map +1 -1
- package/dist-server/service/twin-event/twin-event-type.d.ts +3 -1
- package/dist-server/service/twin-event/twin-event-type.js +18 -1
- package/dist-server/service/twin-event/twin-event-type.js.map +1 -1
- package/dist-server/service/twin-event/twin-event.d.ts +1 -0
- package/dist-server/service/twin-event/twin-event.js +9 -1
- package/dist-server/service/twin-event/twin-event.js.map +1 -1
- package/dist-server/service/twin-forecast/twin-forecast-query.js +2 -1
- package/dist-server/service/twin-forecast/twin-forecast-query.js.map +1 -1
- package/dist-server/service/twin-ingest-window/index.d.ts +5 -0
- package/dist-server/service/twin-ingest-window/index.js +10 -0
- package/dist-server/service/twin-ingest-window/index.js.map +1 -0
- package/dist-server/service/twin-ingest-window/twin-ingest-window-query.d.ts +12 -0
- package/dist-server/service/twin-ingest-window/twin-ingest-window-query.js +123 -0
- package/dist-server/service/twin-ingest-window/twin-ingest-window-query.js.map +1 -0
- package/dist-server/service/twin-ingest-window/twin-ingest-window-writer.d.ts +1 -0
- package/dist-server/service/twin-ingest-window/twin-ingest-window-writer.js +51 -0
- package/dist-server/service/twin-ingest-window/twin-ingest-window-writer.js.map +1 -0
- package/dist-server/service/twin-ingest-window/twin-ingest-window.d.ts +16 -0
- package/dist-server/service/twin-ingest-window/twin-ingest-window.js +108 -0
- package/dist-server/service/twin-ingest-window/twin-ingest-window.js.map +1 -0
- package/dist-server/service/twin-instance/twin-instance.d.ts +1 -1
- package/dist-server/service/twin-instance/twin-instance.js +2 -2
- package/dist-server/service/twin-instance/twin-instance.js.map +1 -1
- package/dist-server/service/twin-journal/twin-journal-query.js +58 -5
- package/dist-server/service/twin-journal/twin-journal-query.js.map +1 -1
- package/dist-server/service/twin-lifecycle/twin-lifecycle-mutation.d.ts +14 -0
- package/dist-server/service/twin-lifecycle/twin-lifecycle-mutation.js +74 -3
- package/dist-server/service/twin-lifecycle/twin-lifecycle-mutation.js.map +1 -1
- package/dist-server/service/twin-metrics/twin-metrics-query.d.ts +1 -0
- package/dist-server/service/twin-metrics/twin-metrics-query.js +78 -3
- package/dist-server/service/twin-metrics/twin-metrics-query.js.map +1 -1
- package/dist-server/service/twin-model/axis-journal-evidence.d.ts +2 -0
- package/dist-server/service/twin-model/axis-journal-evidence.js +89 -0
- package/dist-server/service/twin-model/axis-journal-evidence.js.map +1 -0
- package/dist-server/service/twin-model/epcis-coverage.d.ts +1 -1
- package/dist-server/service/twin-model/epcis-coverage.js +19 -7
- package/dist-server/service/twin-model/epcis-coverage.js.map +1 -1
- package/dist-server/service/twin-model/iec61850-coverage.d.ts +1 -1
- package/dist-server/service/twin-model/iec61850-coverage.js +18 -7
- package/dist-server/service/twin-model/iec61850-coverage.js.map +1 -1
- package/dist-server/service/twin-model/isa95-coverage.d.ts +14 -0
- package/dist-server/service/twin-model/isa95-coverage.js +23 -9
- package/dist-server/service/twin-model/isa95-coverage.js.map +1 -1
- package/dist-server/service/twin-model/item-ref.d.ts +24 -0
- package/dist-server/service/twin-model/item-ref.js +88 -0
- package/dist-server/service/twin-model/item-ref.js.map +1 -0
- package/dist-server/service/twin-model/name-index.d.ts +36 -0
- package/dist-server/service/twin-model/name-index.js +116 -0
- package/dist-server/service/twin-model/name-index.js.map +1 -0
- package/dist-server/service/twin-model/project-structure.js +1 -1
- package/dist-server/service/twin-model/project-structure.js.map +1 -1
- package/dist-server/service/twin-model/status-tally.d.ts +9 -0
- package/dist-server/service/twin-model/status-tally.js +37 -0
- package/dist-server/service/twin-model/status-tally.js.map +1 -0
- package/dist-server/service/twin-model/twin-lineage-query.js +40 -12
- package/dist-server/service/twin-model/twin-lineage-query.js.map +1 -1
- package/dist-server/service/twin-model/twin-model-item-query.js +38 -39
- package/dist-server/service/twin-model/twin-model-item-query.js.map +1 -1
- package/dist-server/service/twin-model/twin-model-query.js +157 -5
- package/dist-server/service/twin-model/twin-model-query.js.map +1 -1
- package/dist-server/service/twin-model/twin-model-tree-query.js +7 -0
- package/dist-server/service/twin-model/twin-model-tree-query.js.map +1 -1
- package/dist-server/service/twin-readiness/index.d.ts +2 -0
- package/dist-server/service/twin-readiness/index.js +6 -0
- package/dist-server/service/twin-readiness/index.js.map +1 -0
- package/dist-server/service/twin-readiness/twin-readiness-query.d.ts +3 -0
- package/dist-server/service/twin-readiness/twin-readiness-query.js +103 -0
- package/dist-server/service/twin-readiness/twin-readiness-query.js.map +1 -0
- package/dist-server/service/twin-space/twin-space-resolver.d.ts +2 -2
- package/dist-server/service/twin-space/twin-space-resolver.js +5 -4
- package/dist-server/service/twin-space/twin-space-resolver.js.map +1 -1
- package/dist-shared/entity-delta.d.ts +23 -3
- package/dist-shared/entity-delta.js +12 -8
- package/dist-shared/entity-delta.js.map +1 -1
- package/dist-shared/kpi-broadcast.js +1 -1
- package/dist-shared/kpi-broadcast.js.map +1 -1
- package/dist-shared/touched-items.d.ts +7 -0
- package/dist-shared/touched-items.js +80 -0
- package/dist-shared/touched-items.js.map +1 -0
- package/package.json +7 -7
- package/server/engine/canonical-ingest.ts +164 -15
- package/server/engine/command-routing.ts +1 -1
- package/server/engine/declared-stimulus.ts +66 -0
- package/server/engine/index.ts +6 -0
- package/server/engine/ingest-health.ts +704 -0
- package/server/engine/integration-coverage.ts +147 -0
- package/server/engine/integration-probes.ts +144 -0
- package/server/engine/integration-runner.ts +95 -0
- package/server/engine/integration-target-profile.ts +103 -0
- package/server/engine/kpi-fold.ts +101 -5
- package/server/engine/kpi-query.ts +137 -23
- package/server/engine/live-feed-registry.ts +4 -3
- package/server/engine/load-meter.ts +12 -3
- package/server/engine/local-declarations.ts +97 -19
- package/server/engine/log.ts +72 -0
- package/server/engine/loop-lag.ts +120 -0
- package/server/engine/measured-yield.ts +89 -0
- package/server/engine/model-gap.ts +168 -0
- package/server/engine/operation-basis.ts +33 -2
- package/server/engine/property-effects.ts +17 -0
- package/server/engine/restart-policy.ts +55 -0
- package/server/engine/runtime-key.ts +1 -1
- package/server/engine/spec-coverage.ts +23 -3
- package/server/engine/stage-path.ts +172 -0
- package/server/engine/twin-engine.ts +1318 -186
- package/server/index.ts +36 -3
- package/server/migrations/1786100000000-PromoteEventActionAndSyncWarnings.ts +54 -0
- package/server/migrations/1786200000000-CarryLiveFeedCursor.ts +53 -0
- package/server/migrations/index.ts +7 -1
- package/server/service/index.ts +11 -0
- package/server/service/reference/control-routing.ts +62 -0
- package/server/service/reference/discovery-result.ts +1 -1
- package/server/service/reference/index.ts +7 -1
- package/server/service/reference/reference-adapter.ts +275 -5
- package/server/service/reference/reference-assessment.ts +215 -0
- package/server/service/reference/reference-live.ts +126 -14
- package/server/service/reference/reference-master.ts +64 -4
- package/server/service/reference/reference-probe.ts +264 -0
- package/server/service/reference/reference-progress-subscription.ts +73 -0
- package/server/service/reference/reference-progress.ts +95 -0
- package/server/service/reference/reference-resolver.ts +246 -19
- package/server/service/reference/twin-reference.ts +39 -1
- package/server/service/twin-audit/command-audit.ts +34 -1
- package/server/service/twin-audit/twin-audit-event.ts +20 -0
- package/server/service/twin-control/twin-control-mutation.ts +78 -30
- package/server/service/twin-event/journal-count.ts +53 -0
- package/server/service/twin-event/twin-event-keys.ts +16 -1
- package/server/service/twin-event/twin-event-type.ts +26 -2
- package/server/service/twin-event/twin-event.ts +7 -0
- package/server/service/twin-forecast/twin-forecast-query.ts +2 -1
- package/server/service/twin-ingest-window/index.ts +7 -0
- package/server/service/twin-ingest-window/twin-ingest-window-query.ts +125 -0
- package/server/service/twin-ingest-window/twin-ingest-window-writer.ts +57 -0
- package/server/service/twin-ingest-window/twin-ingest-window.ts +113 -0
- package/server/service/twin-instance/twin-instance.ts +16 -10
- package/server/service/twin-journal/twin-journal-query.ts +59 -5
- package/server/service/twin-lifecycle/twin-lifecycle-mutation.ts +79 -4
- package/server/service/twin-metrics/twin-metrics-query.ts +81 -3
- package/server/service/twin-model/axis-journal-evidence.ts +57 -0
- package/server/service/twin-model/epcis-coverage.ts +2 -8
- package/server/service/twin-model/iec61850-coverage.ts +2 -8
- package/server/service/twin-model/isa95-coverage.ts +22 -9
- package/server/service/twin-model/item-ref.ts +80 -0
- package/server/service/twin-model/name-index.ts +94 -0
- package/server/service/twin-model/project-structure.ts +1 -1
- package/server/service/twin-model/status-tally.ts +37 -0
- package/server/service/twin-model/twin-lineage-query.ts +38 -9
- package/server/service/twin-model/twin-model-item-query.ts +26 -27
- package/server/service/twin-model/twin-model-query.ts +156 -5
- package/server/service/twin-model/twin-model-tree-query.ts +7 -0
- package/server/service/twin-readiness/index.ts +3 -0
- package/server/service/twin-readiness/twin-readiness-query.ts +96 -0
- package/server/service/twin-space/twin-space-resolver.ts +5 -4
- package/shared/entity-delta.ts +31 -7
- package/shared/kpi-broadcast.ts +1 -1
- package/shared/touched-items.ts +73 -0
- package/test/adopt-structure-live.test.ts +7 -7
- package/test/axis-journal-evidence.test.ts +71 -0
- package/test/axis-read.test.ts +101 -1
- package/test/boot-resume.test.ts +93 -27
- package/test/broadcast-cost-baseline.test.ts +200 -0
- package/test/broadcast-period.test.ts +58 -0
- package/test/canonical-ingest-vocabularies.test.ts +36 -1
- package/test/canonical-quantity-door.test.ts +61 -0
- package/test/command-routing.test.ts +1 -1
- package/test/control-capability.test.ts +103 -0
- package/test/declared-location-types.test.ts +89 -0
- package/test/declared-stimulus.test.ts +88 -0
- package/test/discovery-result.test.ts +1 -1
- package/test/duration-estimators.test.ts +1 -1
- package/test/entity-delta.test.ts +2 -2
- package/test/ingest-bench.test.ts +3 -3
- package/test/ingest-health-engine.test.ts +248 -0
- package/test/ingest-health-wiring.test.ts +119 -0
- package/test/ingest-health.test.ts +306 -0
- package/test/ingest-history.test.ts +247 -0
- package/test/ingest-running-guard.test.ts +5 -5
- package/test/instance-cache-lifecycle.test.ts +1 -1
- package/test/integration-probes.test.ts +103 -0
- package/test/integration-runner.test.ts +95 -0
- package/test/item-ref.test.ts +78 -0
- package/test/journal-read-discipline.test.ts +177 -0
- package/test/journal-retention.test.ts +133 -0
- package/test/journal-sort-axis.test.ts +142 -0
- package/test/journal-write-door.test.ts +110 -0
- package/test/journal-write-trend.test.ts +115 -0
- package/test/kernel-kind-guard.test.ts +4 -4
- package/test/kpi-baseline-db.test.ts +1 -1
- package/test/kpi-fold.test.ts +90 -3
- package/test/kpi-query-bench.test.ts +3 -3
- package/test/lineage-survives-restart.test.ts +20 -4
- package/test/live-cursor-wiring.test.ts +87 -0
- package/test/live-feed-registry.test.ts +15 -7
- package/test/live-kernel-facts.test.ts +7 -7
- package/test/live-mirror-parity.test.ts +6 -0
- package/test/load-meter.test.ts +29 -15
- package/test/local-declarations.test.ts +109 -2
- package/test/log-stamp.test.ts +59 -0
- package/test/loop-lag.test.ts +82 -0
- package/test/measured-yield.test.ts +90 -0
- package/test/model-gap.test.ts +153 -0
- package/test/oee-accumulator.test.ts +4 -0
- package/test/operation-basis.test.ts +28 -1
- package/test/operational-vocabulary.test.ts +108 -0
- package/test/operations-capability-db.test.ts +4 -4
- package/test/project-structure-db.test.ts +1 -1
- package/test/projection-reaches-screen.test.ts +1 -1
- package/test/property-effects.test.ts +28 -0
- package/test/read-failure-visible.test.ts +145 -0
- package/test/reference-grounding.test.ts +70 -0
- package/test/resolve-ts-siblings.mjs +52 -0
- package/test/restart-policy.test.ts +111 -0
- package/test/resync-origin-site.test.ts +7 -1
- package/test/revision-axis.test.ts +93 -0
- package/test/runtime-key.test.ts +2 -2
- package/test/scale-twin-bench.test.ts +2 -2
- package/test/source-outcome-audit.test.ts +104 -0
- package/test/spec-coverage.test.ts +1 -1
- package/test/stage-path.test.ts +95 -0
- package/test/standard-coverage.test.ts +15 -3
- package/test/status-tally.test.ts +55 -0
- package/test/structure-revision-db.test.ts +31 -27
- package/test/tenant-registry-db.test.ts +3 -3
- package/test/time-range.test.ts +152 -0
- package/test/touched-items.test.ts +61 -0
- package/test/twin-event-keys.test.ts +10 -2
- package/test/twin-model-item-db.test.ts +5 -3
- package/test/twin-model-tree-db.test.ts +7 -7
- package/test/twin-origin-resync.test.ts +4 -4
- package/test/warm-start-seam.test.ts +4 -0
- package/test/yield-loop.test.ts +199 -0
- package/tsconfig.shared.tsbuildinfo +1 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -2,10 +2,12 @@ import type { ReducerCheckpoint } from '@operato/twin-kernel';
|
|
|
2
2
|
import type { OeeCheckpoint } from './oee-accumulator.js';
|
|
3
3
|
import { type ReferenceMaster } from '../service/reference/reference-master.js';
|
|
4
4
|
import { type IngestWarning } from '../service/reference/reference-master.js';
|
|
5
|
+
import { type RestartPolicy } from './restart-policy.js';
|
|
5
6
|
import { type ModelBasis } from './model-basis.js';
|
|
6
7
|
import { type LoadMeter, type LoadPhase } from './load-meter.js';
|
|
7
8
|
import { type StructureDiff } from './structure-diff.js';
|
|
8
9
|
import { OeeAccumulator } from './oee-accumulator.js';
|
|
10
|
+
import { type IngestHealthView, type IngestWindow } from './ingest-health.js';
|
|
9
11
|
import type { TwinModelDef, StructureShift, TwinRuntime as TwinRuntimeType, CanonicalEnvelope } from '@operato/twin-kernel';
|
|
10
12
|
interface TwinMetrics {
|
|
11
13
|
ingestedTotal: number;
|
|
@@ -14,19 +16,30 @@ interface TwinMetrics {
|
|
|
14
16
|
ingestRate: number;
|
|
15
17
|
broadcastRate: number;
|
|
16
18
|
journalRate: number;
|
|
19
|
+
/**
|
|
20
|
+
* **์ง๊ธ ๋๊ธฐ ์ค์ธ** ์ ๋ ๊ฑด์ โ ์์ง DB ๋ก ๋๊ฐ์ง ์์ ๊ฒ.
|
|
21
|
+
*
|
|
22
|
+
* โโ ๋ฌด์์ด ํ๋ ธ์๋ (2026-08-21) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
23
|
+
* ์์ ์๋ ใ๋ง์ง๋ง flush ์์ ์ด ๊ฑด์ใ๋ฅผ ์ฌ๊ธฐ ๋ฃ์๋ค. ๊ทธ๋ฐ๋ฐ 200ms ๋ง๋ค ๋ชจ์ ํ ๋ฌธ์ผ๋ก ๋ฃ๋ ๊ฒ์
|
|
24
|
+
* **์ ์ ๋์**์ด๋ค(๊ทธ๋ ๊ฒ ๋ง๋ ๊ฒ์ด ์ด์ ๊ณ ์น ์ฑ๋ฅ ์์
์ด๋ค). ๊ทธ๋์ ์ ์์ ์ผ๋ก 10๊ฑด์ ์ด ์งํ
|
|
25
|
+
* ํ๋ฉด์ ใ๋ฐ๋ฆผ 10ใ ๊ฒฝ๊ณ ๊ฐ ๋ด๊ณ , ๋ค์ flush ๊น์ง ๊ทธ ๊ฐ์ด ๋จ์๋ค โ ํ๋ ์ด๋ฏธ 0 ์ธ๋ฐ๋.
|
|
26
|
+
*
|
|
27
|
+
* ์ด์์์๊ฒ ๊ทธ๊ฒ์ ใ์ ์ฅ์ด 10๊ฑด ๋ฐ๋ ค ์๋คใ๋ก ์ฝํ๋ค. ๊ฑฐ์ง ๊ฒฝ๋ณด๋ ์ฐธ ๊ฒฝ๋ณด๋ฅผ ์ฃฝ์ธ๋ค.
|
|
28
|
+
*
|
|
29
|
+
* ์ด์ ์ด ๊ฐ์ **์ง๊ธ ๋จ์ ์๋ ๊ฒ**์ด๋ค: ๋ค ๋๊ฐ์ผ๋ฉด 0 ์ด๊ณ , ์ ๋ง๋ก ์์ด๋ ์ค์ด๋ฉด ๊ทธ ์๊ฐ ์๋๋ค.
|
|
30
|
+
*/
|
|
17
31
|
backlog: number;
|
|
18
32
|
_accIngest: number;
|
|
19
33
|
_accBroadcast: number;
|
|
20
34
|
_accJournal: number;
|
|
21
35
|
_windowStartMs: number;
|
|
22
36
|
}
|
|
23
|
-
export type
|
|
24
|
-
export declare const DEFAULT_REALITY_MODE: RealityMode;
|
|
37
|
+
export type { RestartPolicy } from './restart-policy.js';
|
|
25
38
|
interface InstanceRuntime {
|
|
26
39
|
/** ๋ถํ ๊ณ๊ธฐํ โ ์์
๋ณ ์์. ์๋ฎฌยท๋ผ์ด๋ธ ๋ชจ๋ ๋ถ๋๋ค(๋๊ฐ ๋ฃจํ๋ฅผ ์ ์ ํ๋์ง ๋ณด๋ ค๋ฉด ๋ ๋ค ํ์ํ๋ค). */
|
|
27
40
|
load?: LoadMeter;
|
|
28
41
|
/** ํ์ค ์ถ์ฒ ์ ์ธ(ยง0 ํ๋ ์ โ ). ๋ถํ
๊ฑฐ๋(reset/resume/resync)์ ๊ทผ๊ฑฐ. */
|
|
29
|
-
|
|
42
|
+
restartPolicy?: RestartPolicy;
|
|
30
43
|
id: string;
|
|
31
44
|
domainId: string;
|
|
32
45
|
domain?: any;
|
|
@@ -50,8 +63,19 @@ interface InstanceRuntime {
|
|
|
50
63
|
timer?: any;
|
|
51
64
|
/** ์ํฐํฐ๋ณ ๋ง์ง๋ง ๋ฐํ ์๊ทธ๋์ฒ โ ๊ฐ์ด ๋ฐ๋ ์ํฐํฐ๋ง ์ฌ๋ฐํ(๋ฌด๋ณํ ๋ฐ๋ณต push ๋ฐฉ์ง). */
|
|
52
65
|
entitySigs?: Map<string, string>;
|
|
53
|
-
/** live
|
|
66
|
+
/** live ๋ธ๋ก๋์บ์คํ
๋ณํฉ(ingest-scale ยง4.4) โ ingest ๋ง๋ค ๋ธ๋ก๋์บ์คํ
ํ์ง ์๊ณ dirty ํ์ โ coalescer tick ์ด ์ฃผ๊ธฐ ๋ธ๋ก๋์บ์คํ
. */
|
|
54
67
|
dirty?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* ์ด ์ฐฝ์ **๊ฑด๋๋ฆฐ ๋ฌผํ ํ๊ทธ** โ ๋ธ๋ก๋์บ์คํ
์ด ๊ทธ๊ฒ๋ง ๋ง๋ ๋ค.
|
|
70
|
+
*
|
|
71
|
+
* `undefined` ๋ ใ๋งํ ์ ์๋คใ๋ค(๋ฏ์ ์ฌ๊ฑด์ด ํ๋๋ผ๋ ์๋ค) โ ์ ๋ถ ๋ง๋ ๋ค. ๋น ์งํฉ์ ใ๋ฌผํ์
|
|
72
|
+
* ํ๋๋ ๊ฑด๋๋ฆฌ์ง ์์๋คใ์ด๊ณ , ๊ทธ ๋์ ๋ค๋ฅธ ์ฌ์ค์ด๋ค.
|
|
73
|
+
*/
|
|
74
|
+
dirtyItems?: Set<string>;
|
|
75
|
+
/** ๋ค์ ๋ธ๋ก๋์บ์คํ
์์ ์ ๋ถ ๋ง๋ค์ด์ผ ํ๋ โ ์ฃผ๊ธฐ๋ง๋ค ํ ๋ฒ์ ๊ทธ๋ฌผ๋ก ์ ๋ถ ๋ง๋ ๋ค. */
|
|
76
|
+
fullBroadcastDue?: boolean;
|
|
77
|
+
/** ์ ๋ถ ๋ง๋ค๊ธฐ๊น์ง ๋จ์ ์ฐฝ ์. */
|
|
78
|
+
fullBroadcastCountdown?: number;
|
|
55
79
|
/** live ์ ๋ ๊ฒฐ์ โ ingest ์ด๋ฒคํธ๋ฅผ ๋ชจ์๋ค๊ฐ coalescer tick ์์ ๋ฐฐ์น ๊ธฐ๋ก(์ด๋ฒคํธ๋ง๋ค DB write ๊ธ์ง). */
|
|
56
80
|
pendingJournal?: any[];
|
|
57
81
|
/** live ์ ๋ revision ์นด์ดํฐ(sim ์ delta revision ๋์ โ ์๊ฐ์ฌํยทํ์คํ ๋ฆฌ ๋
ธ๋ธ ์ต์ปค). */
|
|
@@ -76,6 +100,15 @@ export declare class TwinEngine {
|
|
|
76
100
|
/** ์์คํํธ ์จ์ โ `instances` ์ **๊ฐ์ ํค**(๊ฒน์น๋ฉด ๋จ์ ์ค๋
์ท์ผ๋ก ์ฌ๊ณ ๊ฐ ์์ธ๋ค). */
|
|
77
101
|
static recovered: Record<string, any>;
|
|
78
102
|
static TICK_MS: number;
|
|
103
|
+
/** ๋ถํ
๋ ํธ์ ํ๋๋ฅผ ๋์ด๋ฆฐ ๋ค ๋ฃจํ๋ฅผ ๋น์ ์ฃผ๋ ์๊ฐ(ms) โ ๊ทธ ์ฌ์ด ๋์ฐฉํ ์์ฒญ์ด ์ฒ๋ฆฌ๋๋ค. */
|
|
104
|
+
static BOOT_YIELD_MS: number;
|
|
105
|
+
private static tickPhase;
|
|
106
|
+
/**
|
|
107
|
+
* ํฉ์ด์ง ์ฒซ ๋ฐํ ๋ค ์ฃผ๊ธฐ ํฑ. **ํธ๋ค์ ํญ์ ์ง์ง ํ์ด๋จธ**๋ค โ ์ ์งํ๋ ์ชฝ์ด `clearInterval(inst.timer)`
|
|
108
|
+
* ํ๋๋ก ๋๋ด์ผ ํ๋ฏ๋ก, ์ฒซ ๋ฐํ ์ ์๋ ๊ทธ `setTimeout` ์, ์ดํ์๋ `setInterval` ์ ๊ฐ์ ์๋ฆฌ์ ๋๋ค
|
|
109
|
+
* (๊ฐ์ผ ๊ฐ์ฒด๋ฅผ ์ฃผ๋ฉด `clearInterval` ์ด ์๋ฌด ์ผ๋ ํ์ง ์๊ณ ํธ์์ด ๋ฉ์ถ์ง ์๋๋ค โ ์กฐ์ฉํ ๊ฒฐํจ์ด ๋๋ค).
|
|
110
|
+
*/
|
|
111
|
+
private static startTickTimer;
|
|
79
112
|
/** ๊ตถ๊น ๋ฌธํฑ โ ํฑ ๊ฐ๊ฒฉ์ ๋ฐฐ์(1์ด ๊ฐ๊ฒฉ์ด๋ฉด 5์ด). ์ด ์๊ฐ๋งํผ ํธ์คํธ๊ฐ ๋ฉ์ถ๋ค. */
|
|
80
113
|
static STARVE_FACTOR: number;
|
|
81
114
|
/** ์ฐ์ ๋ช ๋ฒ์ด๋ฉด ๋ฉ์ถ๋ โ 3๋ฒ์ด๋ฉด 15์ด๋ฅผ ๊ตถ๊ธด ์
์ด๊ณ , ๊ทธ๊ฑด ์ฐ์ฐ์ด ์๋๋ค. */
|
|
@@ -93,6 +126,44 @@ export declare class TwinEngine {
|
|
|
93
126
|
static CHAIN_KEEP: number;
|
|
94
127
|
static SNAPSHOT_TTL_S: number;
|
|
95
128
|
static CHECKPOINT_MS: number;
|
|
129
|
+
/**
|
|
130
|
+
* **์ ๋ ๋ณด์กด โ ์ง์ฐ๋ ๊ฒ์ ์ ์ธ์ด ์์ ๋๋ง ํ๋ค.**
|
|
131
|
+
*
|
|
132
|
+
* โโ ์ ํ์ํ๊ฐ (2026-08-22 ์ค์ธก) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
133
|
+
* ๊ฐ๋ฐ ์ ๋์ด ์๊ฐ๋น **581,794ํ ยท 0.85GB** ๋ก ์๋๋ค(ํ๋ฃจ 20GB). ๋ฐ๋ชจ MES ํธ์ ์
์ด ์ ์ฒด์ **97%**
|
|
134
|
+
* ๋ฅผ ๋ง๋ค๊ณ ์ง์ฐ๋ ๊ฒ์ด ์์๋ค. ์ค๋ ๊ณ ์น ๊ฒ๋ค์ ใ๊ทธ ํฌ๊ธฐ์์๋ ์ง์๊ฐ ๋น ๋ฅด๊ฒใ์ด๊ณ , **ํฌ๊ธฐ ์์ฒด๋ฅผ
|
|
135
|
+
* ์ค์ด๋ ๊ฒ์ ์๋ฌด๊ฒ๋ ์์๋ค.** ๊ทธ๋ฌ๋ฉด ๋ฉฐ์น ๋ง๋ค ๊ฐ์ ์๋ฆฌ๋ก ๋์์จ๋ค.
|
|
136
|
+
*
|
|
137
|
+
* โโ ๊ทธ๋ฐ๋ฐ ์ ๋์ ์ง์ฐ๋ ๊ฒ์ ์ฌ์ค์ ์๋ ์ผ์ด๋ค โโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
138
|
+
* ๊ทธ๋์ ์ธ ๊ท์จ์ ์งํจ๋ค.
|
|
139
|
+
*
|
|
140
|
+
* โ **์ ์ธ์ด ์์ผ๋ฉด ์๋ฌด๊ฒ๋ ์ง์ฐ์ง ์๋๋ค.** ๊ธฐ๋ณธ๊ฐ์ ์์์ด๋ค โ ์กฐ์ฉํ ์ง์ฐ๋ ํธ์ด ์กฐ์ฉํ ์๋
|
|
141
|
+
* ๊ฒ๋ณด๋ค ๋์๋ค. ์ง์ฐ๋ ๊ฒ์ ์ฌ๋์ด ์ ํ๋ค.
|
|
142
|
+
* โก **์ฒดํฌํฌ์ธํธ๊ฐ ๋์ ํ ์ ์๋ ๋งํผ๋ง.** ์ค๋
์ท์ด ์๊ฑฐ๋ ๊ทธ ๋ฆฌ๋น์ ์ ๋๋ ์๋ฆฌ๋ ๊ฑด๋๋ฆฌ์ง ์๋๋ค.
|
|
143
|
+
* ์ฃผ์์ด ใ๋ง๋ฃ ์ ์ ๋ replay ํด๋ฐฑใ์ด๋ผ๊ณ ์ ์ด ๋ ๊ทธ๋๋ก โ ์ค๋
์ท์ด ์ฌ๋ผ์ง๋ฉด ์ ๋์ด **์ ์ผํ**
|
|
144
|
+
* ๋ณต๊ตฌ ์๋จ์ด๋ฏ๋ก, ๋์ ํจ๊ป ์์ผ๋ฉด ๊ทธ ํธ์์ ์ํ๋ ๋๋๋ฆด ์ ์๋ค.
|
|
145
|
+
* โข **์ง์ด ๊ฒ์ ๋งํ๋ค.** ๋ช ๊ฑด์ ์ด๋ ์๊ฐ๊น์ง ์ง์ ๋์ง ๋ก๊ทธ์ ๋จ๊ธด๋ค. ์กฐ์ฉํ ์ค์ด๋ ์ ๋์
|
|
146
|
+
* ใ์์๋ ์ผใ๊ณผ ๊ตฌ๋ณ๋์ง ์๋๋ค.
|
|
147
|
+
*
|
|
148
|
+
* ๊ทธ๋ฆฌ๊ณ ๋ณด์กด ๊ธฐ๊ฐ์ **์ค๋
์ท TTL(7์ผ)๋ณด๋ค ์งง์ ์ ์๋ค.** ๋ ์งง์ผ๋ฉด ์ค๋
์ท์ด ์ด์ ์๋๋ฐ ๊ทธ๊ฒ์ด
|
|
149
|
+
* ๊ฐ๋ฆฌํค๋ ์์ชฝ ์ ๋์ด ์๋ ๊ตฌ๊ฐ์ด ์๊ธฐ๊ณ , ์๊ฐ์ฌํยท๊ณ๋ณด ์ถ์ ์ด ๊ทธ ๊ตฌ๊ฐ์์ ์กฐ์ฉํ ๋น๋ค.
|
|
150
|
+
*/
|
|
151
|
+
static JOURNAL_RETENTION_DAYS?: number;
|
|
152
|
+
/**
|
|
153
|
+
* **๋๋ฉ์ธ๋ง๋ค ๋ค๋ฅธ ๋ณด์กด ๊ธฐ๊ฐ์ ์ฑ์ด ๋ตํ๋ค** โ ์์ง์ ๊ทธ ๊ฐ์ด ์ด๋์ ์ค๋์ง ๋ชจ๋ฅธ๋ค.
|
|
154
|
+
*
|
|
155
|
+
* ๋ณด์กด ๊ธฐ๊ฐ์ ํ
๋ํธ์ ์ ์ฑ
์ด๋ค: ํ ๊ณ ๊ฐ์ 30์ผ์ด ํ์ํ๊ณ ๋ค๋ฅธ ๊ณ ๊ฐ์ 7์ผ์ด๋ฉด ๋๋ค. ๊ทธ๋ฐ๋ฐ ์์ง์ด
|
|
156
|
+
* `Setting` ์ ์ฝ๊ฒ ๋ง๋ค๋ฉด **์์ง์ด ํ๋ฉด ๊ด์ฌ์ฌ๋ฅผ ์๊ฒ ๋๋ค** โ ๋ฐฉํฅ์ด ๊ฑฐ๊พธ๋ก๋ค(์์ง์ ์ปค๋์ ํธ์คํธ์ด๊ณ
|
|
157
|
+
* ๊ทธ ์์ ์ด๋ค ํ๋ฉด์ด ์๋์ง ๋ชฐ๋ผ์ผ ํ๋ค).
|
|
158
|
+
*
|
|
159
|
+
* ๊ทธ๋์ ์์์ ๋๋ค. ์ฑ์ด ์ด ํจ์๋ฅผ ์ฌ๊ณ , ๊ทธ ์์์ `Setting` ์ด๋ ๋ค๋ฅธ ๋ฌด์์ด๋ ์ฝ๋๋ค. ์ฌ์ง ์์ผ๋ฉด
|
|
160
|
+
* `JOURNAL_RETENTION_DAYS`(์ค์ ํ์ผ์์ ์จ ํ๋ก์ธ์ค ๊ธฐ๋ณธ๊ฐ)๊ฐ ๋ตํ๋ค.
|
|
161
|
+
*
|
|
162
|
+
* `undefined` ๋ฅผ ๋๋ ค์ฃผ๋ฉด **๊ทธ ๋๋ฉ์ธ์ ์ง์ฐ์ง ์๋๋ค** โ ใ๋ชจ๋ฅธ๋คใ๋ฅผ ใ์ง์๋ ๋๋คใ๋ก ์ฝ์ง ์๋๋ค.
|
|
163
|
+
*/
|
|
164
|
+
static retentionDaysOf?: (domainId: string) => Promise<number | undefined>;
|
|
165
|
+
static RETENTION_SWEEP_MS: number;
|
|
166
|
+
private static retentionTimer?;
|
|
96
167
|
private static checkpointTimer?;
|
|
97
168
|
/** ์ต์ ์ค๋
์ท์ cache-service ์ ์ฒดํฌํฌ์ธํธ(๋๋ฉ์ธ+instanceId ํค). display-onlyยท๋น์ฐจ๋จยท์ค๋ฅํก์. */
|
|
98
169
|
static persistSnapshot(domainId: string, instanceId: string): Promise<void>;
|
|
@@ -146,6 +217,42 @@ export declare class TwinEngine {
|
|
|
146
217
|
private static keepChainPoint;
|
|
147
218
|
/** ์ด ํธ์ ์ ๋์ ๋ ๋ฆฌ๋น์ ยท ์ต์ ๊ตฌ์กฐ ๋ฆฌ๋น์ โ ์ค๋
์ท์ด ์ง๊ธ์ ์ฌ์ค์ธ์ง ๊ฐ๋ฆฌ๋ ๋ ๊ฐ. */
|
|
148
219
|
private static tipOf;
|
|
220
|
+
/**
|
|
221
|
+
* **์ ๋์ ๋ณด์กด ๊ธฐ๊ฐ๊น์ง๋ง ๋๋ค** โ ์ฒดํฌํฌ์ธํธ๊ฐ ๋์ ํ ์ ์๋ ๋งํผ๋ง ์ง์ด๋ค.
|
|
222
|
+
*
|
|
223
|
+
* ํ ์ธ์คํด์ค์์ ์ง์ฐ๋ ์กฐ๊ฑด์ **๋ ๋ค** ๋ง์กฑํด์ผ ํ๋ค.
|
|
224
|
+
*
|
|
225
|
+
* ยท `createdAt` ์ด ๋ณด์กด ๊ธฐ๊ฐ๋ณด๋ค ์ค๋๋๋ค โ **ํ์ด ์ฐ์ธ ์ค์ ์๊ฐ**์ด ๊ธฐ์ค์ด๋ค
|
|
226
|
+
* ยท `revision` ์ด **์ฒดํฌํฌ์ธํธ ๋ฆฌ๋น์ ์ดํ**๋ค โ ๊ทธ ์์ ์ค๋
์ท์ด ๋์ ํ๋ค
|
|
227
|
+
*
|
|
228
|
+
* โโ ์ `eventTime` ์ด ์๋๋ผ `createdAt` ์ธ๊ฐ (2026-08-22 ์ค์ธก์ผ๋ก ๊ณ ์นจ) โโโโ
|
|
229
|
+
* ์ฒ์์ `eventTime` ์ผ๋ก ์ ์๋ค. ๊ทธ๊ฒ์ **ํธ์์ ์๊ณ**๋ค โ ์๋ฎฌ๋ ์ด์
์ ์๊ธฐ ์๊ณ๋ก ์ฌ๊ฑด์ ์ฐ๊ณ ,
|
|
230
|
+
* ๊ทธ ์๊ณ๋ ์ค์ ์๊ฐ๊ณผ ๋ฌด๊ดํ๊ฒ ์์๊ฑฐ๋ ๋ค์ ๋ค. ์ค์ธก:
|
|
231
|
+
*
|
|
232
|
+
* order-check ๊ฐ์ฅ ๋ฆ์ eventTime = 2027-06-08 โ ์ค์ ์๊ฐ๋ณด๋ค 10๊ฐ์ ์
|
|
233
|
+
* hatio-mx2 2026-01-01 ~ ์ง๊ธ โ 7๊ฐ์์น๋ฅผ ํ ๋ฒ์ ์ง์ฐ๊ฒ ๋๋ค
|
|
234
|
+
*
|
|
235
|
+
* ์ฆ ใ7์ผใ์ด ํธ์๋ง๋ค ๋ค๋ฅธ ๋ป์ด ๋๋ค: ์๊ณ๊ฐ ์์ ํธ์์ ์์ํ ์ง์์ง์ง ์๊ณ , ๊ณผ๊ฑฐ๋ถํฐ ์ฐ์ ํธ์์
|
|
236
|
+
* ๊ฑฐ์ ์ ๋ถ๊ฐ ํ ๋ฒ์ ์ง์์ง๋ค. **๋ณด์กด์ ์ ์ฅ ๋์ด์ ๋ฌธ์ **์ด๊ณ ์ ์ฅ ๋์ด๋ ์ค์ ์๊ณ๋ค.
|
|
237
|
+
*
|
|
238
|
+
* `createdAt` ์ ๊ทธ ํ์ด DB ์ ์ฐ์ธ ์๊ฐ์ด๊ณ 1,599๋ง ํ ์ ๋ถ ์ฑ์์ ธ ์๋ค(ํ์ธํจ). ๋๋ฉ์ธ ์๊ฐ์
|
|
239
|
+
* ์ ์ฑ
์ ์ฐ์ง ์๋๋ค โ ๊ทธ ๋์ ์์ผ๋ฉด ์๋ฎฌ๊ณผ ๋ฏธ๋ฌ์์ ๊ฐ์ ์ค์ ์ด ๋ค๋ฅด๊ฒ ๋์ํ๋ค.
|
|
240
|
+
*
|
|
241
|
+
* ์ค๋
์ท์ด ์์ผ๋ฉด **๊ทธ ์ธ์คํด์ค๋ ๊ฑด๋๋ฆฌ์ง ์๋๋ค.** ์ ๋์ด ์ ์ผํ ๋ณต๊ตฌ ์๋จ์ธ ์ํ์ด๋ฏ๋ก, ์ง์ฐ๋ฉด
|
|
242
|
+
* ๊ทธ ํธ์์ ์ํ๋ฅผ ๋๋๋ฆด ์ ์๋ค. ใ์ง์ธ ์ ์์๋คใ๋ ์ฌ์ค๋ ํจ๊ป ์ผ๋ค โ ์กฐ์ฉํ ๋๊ธฐ๋ฉด ใ๋ณด์กด์ด
|
|
243
|
+
* ๋๋๋ฐ ์ ์ ์ค์ด๋๋ใ๊ฐ ๋๋ค.
|
|
244
|
+
*
|
|
245
|
+
* `createdAt` ์ด ๋น ์ ํ์ **์ง์ฐ์ง ์๋๋ค**(์๊ฐ์ ๋ชจ๋ฅด๋ ๊ฒ์ ใ์ค๋๋๋คใ๋ก ์ฝ์ง ์๋๋ค).
|
|
246
|
+
*
|
|
247
|
+
* ๋๋ผ์ด๋ฒ ๋ค์ฏ์ ๋ค ์ง๋์ผ ํ๋ฏ๋ก raw SQL ์ ์ฐ์ง ์๋๋ค โ ์กฐ๊ฑด ์ญ์ ๋ ์ฟผ๋ฆฌ๋น๋๊ฐ ์ด์ํ๋ค.
|
|
248
|
+
*/
|
|
249
|
+
static pruneJournal(domainId: string): Promise<{
|
|
250
|
+
deleted: number;
|
|
251
|
+
instances: number;
|
|
252
|
+
skipped: string[];
|
|
253
|
+
}>;
|
|
254
|
+
/** ๋ณด์กด ์ ๋ฆฌ ์ฃผ๊ธฐ ๊ธฐ๋(1ํ) โ ์ ์ธ์ด ์์ผ๋ฉด ์๋ฌด๊ฒ๋ ํ์ง ์๋๋ค. */
|
|
255
|
+
static startRetentionLoop(domainId: string): void;
|
|
149
256
|
/** ์ฒดํฌํฌ์ธํธ ๋ฃจํ ๊ธฐ๋(1ํ) โ ๋ผ์ด๋ธ ์ธ์คํด์ค๋ค์ ์ต์ ์ค๋
์ท์ ์ฃผ๊ธฐ ์์. */
|
|
150
257
|
static startCheckpointLoop(): void;
|
|
151
258
|
/**
|
|
@@ -164,7 +271,7 @@ export declare class TwinEngine {
|
|
|
164
271
|
*
|
|
165
272
|
* โโ ๋ชจ๋๋ฅผ ์ง์ด๋ด์ง ์๋๋ค โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
166
273
|
* ๋ฏธ๋ฌ์๋ ํธ์์ ์๋ฎฌ๋ก ๋์ด๋ฆฌ๋ฉด **์๋ ์์ง์์ ๋ง๋ค์ด ๋ธ๋ค**(๊ด์ธก ํธ์์ด ์ค์ค๋ก ๋ฌผ๊ฑด์ ์ฎ๊ธด๋ค).
|
|
167
|
-
* ๊ทธ๋์ ์ ์ธ๋ `
|
|
274
|
+
* ๊ทธ๋์ ์ ์ธ๋ `restartPolicy` ๊ทธ๋๋ก ๋์ด๋ฆฐ๋ค โ ๋ฏธ๋ฌ๋ ๊ด์ธก ๊ตฌ๋์ผ๋ก, ์๋ฎฌ์ ์๋ฎฌ๋ก.
|
|
168
275
|
*
|
|
169
276
|
* โโ ๋์ด๋ฆด ์ ์์ผ๋ฉด ๊ทธ๋ ๊ฒ ์ ๋๋ค โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
170
277
|
* ์คํจ๋ฅผ ์ผํค๋ฉด ๋ฑ๋ก๋ถ๊ฐ ๊ณ์ `running` ์ด๋ผ ๋งํ๋ค โ ์ฐ๋ฆฌ๊ฐ ๊ณ ์น๋ ค๋ ๊ทธ ๊ฑฐ์ง๋ง์ด๋ค. ๊ทธ๋์ ์คํจํ
|
|
@@ -249,7 +356,31 @@ export declare class TwinEngine {
|
|
|
249
356
|
* ์ ์ ๊ท๋ชจ์์ ์๋ก ๋ฐ์ด๋ด๋ฉฐ ์บ์๊ฐ ๋ฌด์๋ฏธํด์ง๋ค(๊ทธ๊ฒ ๋ ๋์๋ค: ์กฐ์ฉํ ๋๋ ค์ง๋ค).
|
|
250
357
|
*/
|
|
251
358
|
private static readonly MEASURED_MAX;
|
|
359
|
+
/** ์ด ํธ์์ด ์ด๋ ฅ์์ ๋ฐฐ์ด ์ํ๋ฅ โ ์์์ **๊ฐ์ ํด๋ยท๊ฐ์ ์บ์**์์ ์จ๋ค(์ ๋์ ๋ ๋ฒ ์ ์ง ์๋๋ค). */
|
|
360
|
+
private static measuredYield;
|
|
252
361
|
private static measuredEstimator;
|
|
362
|
+
/**
|
|
363
|
+
* **์๋ณธ์ด ์ ์ธํ ์๊ทน์ ์ฃ๋๋ค** โ ์ฌ๊ธฐ๋ํด๋ ์ด์ ์๊ฒ (2026-08-19).
|
|
364
|
+
*
|
|
365
|
+
* โโ ๋ฌด์์ด ๋ฌ๋ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
366
|
+
* ๋ฐ๋ชจ์ ์๋๋ฆฌ์ค๋ ์๋ ์ฝ๋๊ฐ ๋ฉ๋ชจ๋ฆฌ์๋ง ์ค์๋ค. ๊ทธ๋์ ํธ์์ ์ฌ๊ธฐ๋ํ๋ฉด ์๊ทน์ด ์ฌ๋ผ์ง๊ณ ๊ตฌ์กฐ๋ง
|
|
367
|
+
* ์ ์๋ ํธ์์ด ๋จ์๋ค(์์
0ยท์ค๋ 0) โ ใ์ด์ ์๋ ๋ฐ๋ชจใ๊ฐ **์ฒซ ์ฌ๊ธฐ๋๊น์ง๋ง** ์ด์๋ค.
|
|
368
|
+
*
|
|
369
|
+
* ์๊ทน์ ์ง์ **์๋ณธ**์ด๋ค(`TwinReference.connectionConfig.scenario`, ADR-0029 ยท
|
|
370
|
+
* `plans/simulator-as-source.md` ยง4): ๋ฌด์์ด ๋ค์ด์ค๊ณ ๋ฌด์จ ์ฃผ๋ฌธ์ด ๋๋์ง๋ ์๋ฎฌ๋ ์ดํฐ๊ฐ ์ ํ๋ ์ฌ์ค์ด๊ณ
|
|
371
|
+
* ํธ์์ ๋ฐ์ํ๋ค. ํธ์์ ์ ์ถ์ ๋ง๋ค๋ฉด ADR-0029 ๊ฐ ๊ฑท์ด๋ด์ผ ํ ํ๋ฉด์ด ํ๋ ๋์ด๋๋ค.
|
|
372
|
+
*
|
|
373
|
+
* ํ์ ์ ์์ ํจ์๊ฐ ํ๋ค(`planStimulus`) โ ๋ฏธ๋ฌ์ ์ฃ์ง ์๊ณ , ๊ฒ์ฌ๋ฅผ ํต๊ณผํ์ง ๋ชปํ ์ ์ธ์ ํ์ฐ์ง ์๊ณ
|
|
374
|
+
* (๊ทธ ์ด๋ ฅ์ด ์๋ค: ์๋ชป๋ ์ ์ธ ํ๋๊ฐ ๋ค์ ํฑ์์ ์๋ฒ๋ฅผ ๋ด๋ ธ๋ค), ๋ชป ์ค์ ์ด์ ๋ **๋งํ๋ค.**
|
|
375
|
+
*/
|
|
376
|
+
private static installStimulus;
|
|
377
|
+
/**
|
|
378
|
+
* ์๊ทน์ **์๋ณธ์ ์ ์ธํ๋ค** โ ํ๋ก๋น์ ๋ยท๋ฐ๋ชจ ์๋๊ฐ ๋ถ๋ฅด๋ ๋ฌธ.
|
|
379
|
+
*
|
|
380
|
+
* ํธ์์ด ์๋๋ผ ์๋ณธ์ ์ ๋ ์ด์ ๋ ์์ ๊ฐ๋ค(ADR-0029). ์๋ณธ ํ์ด ์์ผ๋ฉด ๋ง๋ค์ง ์๋๋ค โ ์ด๋ค ์๋ณธ์์
|
|
381
|
+
* ์จ ํธ์์ธ์ง ๋ชจ๋ฅด๋ ์ฑ ์๊ทน์ ์ง์ด ๋ถ์ด๋ฉด, ๊ทธ ์๊ทน์ด ์ด๋์ ์๋์ง ์๋ฌด๋ ๋์ง์ ์ ์๋ค.
|
|
382
|
+
*/
|
|
383
|
+
static declareStimulus(domainId: string, instanceId: string, scenario: any): Promise<boolean>;
|
|
253
384
|
/**
|
|
254
385
|
* ์ด ํธ์์ด **์ด๋ ฅ์์ ์๊ฐ์ ๋ฐฐ์ด ์์
์ข
๋ฅ๋ค** โ ์ฌ๊ธฐ๋์๋ ๋จ๋ ๊ทผ๊ฑฐ.
|
|
255
386
|
*
|
|
@@ -313,7 +444,7 @@ export declare class TwinEngine {
|
|
|
313
444
|
* ์ปค๋์ด ๊ทธ ๋ฌธ์ ์ด์ด ๋์ง ์์์ผ๋ฉด ๊ทธ ์ฌ์ค๋ ๋งํ๋ค: ๊ทธ ํธ์์ ์ฌ๊ธฐ๋๋ง๋ค ์ด๋ฆฐ ๊ตฌ๊ฐ์ ์๋๋ค.
|
|
314
445
|
*/
|
|
315
446
|
private static seedLiveContinuity;
|
|
316
|
-
static start(id: string, domainId: string, kind: string, model: TwinModelDef,
|
|
447
|
+
static start(id: string, domainId: string, kind: string, model: TwinModelDef, restartPolicy?: RestartPolicy, purpose?: string, resumeFrom?: number): InstanceRuntime;
|
|
317
448
|
/**
|
|
318
449
|
* live-๋ชจ๋ ๊ธฐ๋ โ **๊ด์ธก ๋ชจ๋ ์ปค๋**๋ก ์ค ์ด๋ฒคํธ๋ฅผ ๋ฏธ๋ฌํ๋ค(ํตํฉ P2).
|
|
319
450
|
*
|
|
@@ -361,33 +492,94 @@ export declare class TwinEngine {
|
|
|
361
492
|
static withSpaceTimeBase(model: TwinModelDef, domainId: string, spaceId?: string): Promise<TwinModelDef>;
|
|
362
493
|
static startLive(id: string, domainId: string, kind: string, model: TwinModelDef): InstanceRuntime;
|
|
363
494
|
/**
|
|
364
|
-
* live ์ด๋ฒคํธ ์ธ์ ์คํธ โ projector ๊ตฌ๋ + data(tag)
|
|
495
|
+
* live ์ด๋ฒคํธ ์ธ์ ์คํธ โ projector ๊ตฌ๋ + data(tag) ๋ธ๋ก๋์บ์คํ
(ํ๋ฃจํ์ ์ธ๋ฐ์ด๋ ๋์ฐฉ ์ง์ , command-routing ยง8.2).
|
|
365
496
|
* reference ์ด๋ํฐ๊ฐ ๋ธ records โ ์ปค๋ face2-adapter.ingest โ CanonicalEnvelope ๋ฅผ ์ฌ๊ธฐ๋ก ๋ฐ์ด๋ฃ๋๋ค.
|
|
366
497
|
* (State ์ฑ๋ ๋ธํ/์ ๋ ๊ฒฐ์ ์ ํ์ โ ์ค์ผ๋ ํค์ data(tag) ๋ฏธ๋ฌ ์ค์ฌ.)
|
|
498
|
+
*
|
|
499
|
+
* โโ ๋ฃ์ ์๋ฅผ **๋ตํ๋ค** (2026-08-20) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
500
|
+
* ํธ์์ด ๋ผ์ด๋ธ๋ก ๋์ง ์์ผ๋ฉด ์ฌ๊ธฐ์ ๋ดํฌ๋ฅผ ๋ฒ๋ฆฐ๋ค. ๊ทธ๊ฒ ์์ฒด๋ ๋ง๋ค(๋ฃ์ ์ปค๋์ด ์๋ค). ๋ฌธ์ ๋
|
|
501
|
+
* **์กฐ์ฉํ** ๋ฒ๋ฆฐ ๊ฒ์ด์๋ค: ํธ์์ด ๋ฉ์ถ ๋ค์๋ ํผ๋๋ ๋จ์ ๋ ์ฝ๋๋ฅผ ๋๋ฅด๊ณ , ์ ์
์ฅ๋ถ๋ ๊ทธ๊ฒ์
|
|
502
|
+
* ใํต๊ณผใ๋ก ์
๋ค. ํ๋ฉด์ ๋ฉ์ถ ํธ์ ์์ ใ150 ํต๊ณผ ยท 100%ใ๋ผ๊ณ ์ ์๋ค โ ์ฌ์ค์ด ์ฌ๋ผ์ง๋ ๋์
|
|
503
|
+
* ํ๋ฉด์ด ์์ฌ์ํจ ๊ฒ์ด๋ค.
|
|
504
|
+
*
|
|
505
|
+
* ๊ทธ๋์ **๋ฃ์ ์๋ฅผ ๋๋ ค์ค๋ค.** ๋ถ๋ฅด๋ ์ชฝ์ด ์ ์ ์์ ๊ฒฌ์ฃผ์ด ๋ฒ๋ ค์ง ์๋ฅผ ์ฅ๋ถ์ ์ ๋๋ค. ๋ฐํ์
|
|
506
|
+
* ๋ฌด์ํ๋ ํธ์ถ๋ถ๋ ๊ทธ๋๋ก ๋์ํ๋ค(์ ๊ณผ ๊ฐ๋ค).
|
|
367
507
|
*/
|
|
368
|
-
static ingestLive(domainId: string, id: string, envelopes: CanonicalEnvelope[]):
|
|
508
|
+
static ingestLive(domainId: string, id: string, envelopes: CanonicalEnvelope[]): number;
|
|
369
509
|
/**
|
|
370
|
-
* ๊ตฌ๊ฐ ์ฑ๊ณผ
|
|
510
|
+
* ๊ตฌ๊ฐ ์ฑ๊ณผ ๋ธ๋ก๋์บ์คํ
์ **์์ด๋ค**(2026-08-06). ์นด๋๊ฐ `twinKpi` ๋ฅผ ์ง์ ๋ฌป๋๋ค.
|
|
371
511
|
*
|
|
372
|
-
* ์: ์นด๋๋ฅผ ์ฌ๋ฌ ๋จ๊ณ(๊ณต๊ฐยทํธ์ยท๊ตฌ์ญยท์๋ฆฌยท์ค๋น)์ ๋ถ์ด๋ ค๋ฉด
|
|
512
|
+
* ์: ์นด๋๋ฅผ ์ฌ๋ฌ ๋จ๊ณ(๊ณต๊ฐยทํธ์ยท๊ตฌ์ญยท์๋ฆฌยท์ค๋น)์ ๋ถ์ด๋ ค๋ฉด ๋ธ๋ก๋์บ์คํ
์ผ๋ก๋ ํ๊ทธ๊ฐ ํธ์๋น 1,200๊ฐ๊ฐ ๋๊ณ ,
|
|
373
513
|
* **๋ชจ๋ธ์ ์นด๋๋ฅผ ํ๋๋ ์ ๋์๋** 30์ด๋ง๋ค ํธ์๋ง๋ค ์ ๋์ ์ ์๋ค. ์ง์๋ก ๋ฐ๊พธ๋ ๋ณด๊ณ ์๋ ์นด๋
|
|
374
514
|
* ์๋งํผ๋ง ๋ค๊ณ , ๊ฐ์ (๋์ยท์ฐฝยท์ถ) ์ ํด๋ผ์ด์ธํธ๊ฐ ํ๋๋ก ํฉ์น๋ค.
|
|
375
515
|
*
|
|
376
516
|
* ๋ค์ผ๋ก ์ง์๋ง ํ ์ ์๋ ๊ฒ์ด ๋ ์๊ฒผ๋ค โ **๊ณผ๊ฑฐ ์๊ฐ**(`toTime`)๊ณผ **๊ณต๊ฐ ๋จ์ ํฉ์ฐ**(์ฌ๋ฌ ํธ์์
|
|
377
|
-
* ํ ๋ฒ์ ์ ๊ธฐ).
|
|
517
|
+
* ํ ๋ฒ์ ์ ๊ธฐ). ๋ธ๋ก๋์บ์คํ
๋ฃจํ๋ ํธ์๋ณ์ด๋ผ ๋ ๋ค ๋ชป ํ๋ค.
|
|
378
518
|
*
|
|
379
519
|
* ์ถ์ ๋๋ ๋ ํด๋ ๋น์ฉ์ด ๊ฐ๋ค๋ ์ค์ธก์ด ๊ทผ๊ฑฐ๋ค(`test/kpi-query-bench.test.ts`).
|
|
380
520
|
*/
|
|
381
|
-
/**
|
|
521
|
+
/**
|
|
522
|
+
* ๋ช ์ฐฝ๋ง๋ค ํ ๋ฒ์ **์ ๋ถ** ๋ง๋๋ โ ์ฌ๊ฑด ์์ด ๊ฐ์ด ๋ฐ๋๋ ์๋ฆฌ์ ๋ํ ๊ทธ๋ฌผ.
|
|
523
|
+
*
|
|
524
|
+
* 25 ์ฐฝ์ด๋ฉด ๊ธฐ๋ณธ ์ฃผ๊ธฐ์์ 5์ด๋ค. ๋ณด์ฅ์ด ์๋๋ผ ๊ทธ๋ฌผ์ด๋ค(์ `publishEntityData` ์ฃผ์).
|
|
525
|
+
*/
|
|
526
|
+
static FULL_BROADCAST_EVERY: number;
|
|
527
|
+
/** ์ ๋ถ ๋ง๋ ํ์ โ ๋ฒ์๋ฅผ ์ขํ์ง ๋ชปํ ์ฐฝ์ด ์ผ๋ง๋ ๋๋์ง ๊ฐ์ผ๋ก ๋จ๋๋ค. */
|
|
528
|
+
static broadcastFullPasses: number;
|
|
529
|
+
/**
|
|
530
|
+
* ๋ธ๋ก๋์บ์คํ
์ ๋ง๋ ํ์ ์ ๋ถ โ **์ ๋ถ ๋ง๋ ํ์์ ๋ถ๋ชจ.**
|
|
531
|
+
*
|
|
532
|
+
* ๋ถ์๋ง ๋ด๋ฉด ใ์ ๋ถ ๋ง๋ค๊ธฐ 1,200ํใ๊ฐ ๋ง์ ๊ฒ์ธ์ง ์ ์ ๊ฒ์ธ์ง ์ฝ์ ์ ์๋ค. ์ขํ๊ธฐ๊ฐ ๋ฃ๊ณ ์์ผ๋ฉด
|
|
533
|
+
* ์ด ๊ฐ์ `1/FULL_BROADCAST_EVERY` ์ฏค์ด ์ ๋ถ ๋ง๋ ํ์์ด๊ณ , ๋ ๊ฐ์ด ๋น์ทํ๋ฉด ๋ฒ์๋ฅผ ๊ฑฐ์ ๋ชป ์ขํ
|
|
534
|
+
* ๊ฒ์ด๋ค(์์ธ์ ๋๊ฐ ใ๋ชจ๋ฅธ๋คใ๋ก ๋จ์ด์ง๋ ์ฌ๊ฑด์ด๋ค).
|
|
535
|
+
*/
|
|
536
|
+
static broadcastPasses: number;
|
|
537
|
+
/**
|
|
538
|
+
* ์ด ์ฐฝ์ ๊ฑด๋๋ฆฐ ๋ฌผํ์ ๋ชจ์๋ค โ **๋งํ ์ ์์ผ๋ฉด ๋ฒ์๋ฅผ ๋ฒ๋ฆฐ๋ค(์ ๋ถ ๋ง๋ ๋ค).**
|
|
539
|
+
*
|
|
540
|
+
* `events` ๋ฅผ ์ฃผ์ง ์์ผ๋ฉด ใ๋ฌด์์ด ๋ฐ๋์๋์ง ๋ชจ๋ฅธ๋คใ๋ค(๊ตฌ์กฐ ์ ํ์ฒ๋ผ ์ํ ์ ๋ฐ์ด ๋ฌ๋ผ์ง๋ ์๋ฆฌ).
|
|
541
|
+
* ํ ์ฐฝ์์ ํ ๋ฒ ใ๋ชจ๋ฅธ๋คใ๊ฐ ๋๋ฉด ๊ทธ ์ฐฝ์ ๋๊น์ง ๋ชจ๋ฅด๋ ์ฑ๋ก ๋๋ค โ ๋ค์ ์จ ์ฌ๊ฑด์ผ๋ก ๋ฒ์๋ฅผ
|
|
542
|
+
* ๋์ด๋ฆฌ๋ฉด ์ ์ฌ๊ฑด์ด ๊ฑด๋๋ฆฐ ๊ฒ์ ๋น ๋จ๋ฆฐ๋ค.
|
|
543
|
+
*/
|
|
544
|
+
static markItemsDirty(inst: InstanceRuntime, events?: any[]): void;
|
|
545
|
+
/** ๋ธ๋ก๋์บ์คํ
๋ณํฉ ์ฃผ๊ธฐ(ms) โ ๋ธ๋ก๋์บ์คํ
๋ฅ ์ํ. ์ธ์ ์คํธ๊ฐ ์๋ฌด๋ฆฌ ๋นจ๋ผ๋ ์ด ์ฃผ๊ธฐ๋ก๋ง ๋ธ๋ก๋์บ์คํ
. */
|
|
382
546
|
static BROADCAST_COALESCE_MS: number;
|
|
547
|
+
/**
|
|
548
|
+
* โโ ๋ธ๋ก๋์บ์คํ
์ฃผ๊ธฐ๋ **์ฌ ๋ณธ ๋น์ฉ์ ๋ง์ถ๋ค** (2026-08-21 ์ค์ธก) โโโโโโโโโโโโโโโโโโโโ
|
|
549
|
+
* ํ ๋ฒ์ ๋ธ๋ก๋์บ์คํ
์ ์ํ ํฌ๊ธฐ์ ๋น๋กํ๋ค(์ค์ธก: ๋ฌผํ 2,400 ๊ฐ์ธ ํธ์ ํ๋๊ฐ 4.5ms โ ์ํ ํฌ์ 1.7ms,
|
|
550
|
+
* payload ๋ง๋ค๊ธฐ 1.8ms, ์๊ทธ๋์ฒ 1.0ms). ํธ์์ด ์ค๋ฌด ๊ฐ๋ฉด 200ms ๋ง๋ค 90ms ๊ฐ ๋ธ๋ก๋์บ์คํ
์ ๋ค์ด๊ฐ๊ณ ,
|
|
551
|
+
* ๊ทธ ์๊ฐ์๋ HTTP ๋ ๊ตฌ๋
๋ ์์ง ๋ชปํ๋ค.
|
|
552
|
+
*
|
|
553
|
+
* ๊ทธ๋์ ํ ์ฐฝ์์ ๋ธ๋ก๋์บ์คํ
์ ์ด ์๊ฐ์ด ์ฃผ๊ธฐ์ ์ผ์ ๋ชซ์ ๋์ผ๋ฉด **์ฃผ๊ธฐ๋ฅผ ๋๋ฆฐ๋ค**. ํ๋ฉด์ ์กฐ๊ธ ๋ฆ๊ฒ
|
|
554
|
+
* ๊ฐฑ์ ๋๊ณ (์ต์ -์ํ ์ฑ๋์ด๋ผ ๊ฐ์ ๋ง์ง๋ง ๊ฒ ํ๋๋ฟ์ด๋ฏ๋ก ๋ด์ฉ์ ๊ฐ๋ค), ๋๋ ธ๋ค๋ ๊ฒ์ ๊ณ๊ธฐํ์ด
|
|
555
|
+
* ๋งํ๋ค(`broadcastCoalesceMs`). ์ฌ์ ๊ฐ ์๊ธฐ๋ฉด ์๋ ์ฃผ๊ธฐ๋ก ๋๋๋ฆฐ๋ค.
|
|
556
|
+
*
|
|
557
|
+
* ์ด๊ฒ์ ๋ธ๋ก๋์บ์คํ
๋น์ฉ์ **์ค์ด๋ ๊ฒ์ด ์๋๋ค** โ ๋น์ฉ์ ์ค์ด๋ ๊ฒ์ ๋ณ๊ฒฝ๋ถ๋ง ๋ง๋๋ ์ผ์ด๊ณ ๊ทธ๊ฒ์ ๋ณ
|
|
558
|
+
* ์์
์ด๋ค. ์ฌ๊ธฐ์๋ ๊ทธ๋๊น์ง ํธ์คํธ๊ฐ ๊ตถ์ง ์๊ฒ ์ํ์ ๋๋ค.
|
|
559
|
+
*/
|
|
560
|
+
static BROADCAST_MAX_COALESCE_MS: number;
|
|
561
|
+
/** ์ฃผ๊ธฐ์ ๋ช ๋ชซ๊น์ง ๋ธ๋ก๋์บ์คํ
์ ์จ๋ ๋๋๊ฐ โ ๋์ผ๋ฉด ์ฃผ๊ธฐ๋ฅผ ๋๋ฆฐ๋ค(์ ๋ฐ์ด๋ฉด ๋๋จธ์ง ์ ๋ฐ์ ๋จ๊ธด๋ค). */
|
|
562
|
+
static BROADCAST_LOAD_RATIO: number;
|
|
563
|
+
/** ์ง๊ธ ์ฐ๊ณ ์๋ ์ฃผ๊ธฐ(ms) โ ๊ณ๊ธฐํ์ด ์ด ๊ฐ์ ์ฝ๋๋ค. ๋์ด๋ ์ฑ๋ก ์์ผ๋ฉด ๊ทธ๊ฒ์ด ์ฌ์ค์ด๋ค. */
|
|
564
|
+
static broadcastPeriodMs: number;
|
|
565
|
+
/** ์ฃผ๊ธฐ๋ฅผ ๋๋ฆฐ ํ์ โ ์กฐ์ฉํ ๋ฆ์ถ์ง ์๋๋ค. */
|
|
566
|
+
static broadcastBackoffs: number;
|
|
383
567
|
private static broadcastTimer?;
|
|
384
|
-
/** live
|
|
568
|
+
/** live ๋ธ๋ก๋์บ์คํ
coalescer โ dirty ์ธ live ์ธ์คํด์ค๋ง ์ฃผ๊ธฐ์ ์ผ๋ก 1ํ ๋ธ๋ก๋์บ์คํ
(entitySigs ๋ก ๋ณ๊ฒฝ ์ํฐํฐ๋ง). */
|
|
385
569
|
private static ensureBroadcastCoalescer;
|
|
386
570
|
/**
|
|
387
|
-
*
|
|
571
|
+
* ๋ธ๋ก๋์บ์คํ
์ ์ด ์๊ฐ์ ๋ณด๊ณ ์ฃผ๊ธฐ๋ฅผ ์ ํ๋ค โ **๋๋ฆฌ๋ ๊ฒ๋ ์ค์ด๋ ๊ฒ๋ ๊ฐ์ ๊ทผ๊ฑฐํ๋ค.**
|
|
388
572
|
*
|
|
389
|
-
*
|
|
390
|
-
*
|
|
573
|
+
* ํ ๋ฒ์ flush ๊ฐ ์ฃผ๊ธฐ์ `BROADCAST_LOAD_RATIO` ๋ฅผ ๋๊ฒ ์ฐ๋ฉด ์ฃผ๊ธฐ๋ฅผ ๋ ๋ฐฐ๋ก(์ํ๊น์ง), ๊ทธ ๋ชซ์
|
|
574
|
+
* ์ ๋ฐ ์๋๋ก ๋ด๋ ค์ค๋ฉด ์ ๋ฐ์ผ๋ก(์๋ ์ฃผ๊ธฐ๊น์ง) ๋๋๋ฆฐ๋ค. ๋ฌธํฑ์ ๋ ๊ฐ ๋๋ ์ด์ ๋ ํ๋๋ฉด ๊ฒฝ๊ณ์์
|
|
575
|
+
* ๋๋ฆฌ๊ณ ์ค์ด๊ธฐ๋ฅผ ๋ฐ๋ณตํ๊ธฐ ๋๋ฌธ์ด๋ค.
|
|
576
|
+
*/
|
|
577
|
+
private static adjustBroadcastPeriod;
|
|
578
|
+
/**
|
|
579
|
+
* dirty ์ธ์คํด์ค ๋ธ๋ก๋์บ์คํ
flush(์ฃผ๊ธฐ tick ๋๋ ๋ช
์ ํธ์ถ) โ **์๋ฎฌ๊ณผ ๋ผ์ด๋ธ ๋ ๋ค.**
|
|
580
|
+
*
|
|
581
|
+
* ์์ ์๋ ๋ผ์ด๋ธ๋ง ๋ดค๋ค(`mode !== 'live'` ๋ฉด ๊ฑด๋๋). ์๋ฎฌ์ delta ๋ง๋ค ๊ณง๋ฐ๋ก ๋ธ๋ก๋์บ์คํ
ํ๊ณ , ๊ทธ๊ฒ์ด
|
|
582
|
+
* ํ tick ์์ ์๋ฐฑ ๋ฒ ๋ฐ๋ณต๋๋ฉฐ ์ด๋ฒคํธ ๋ฃจํ๋ฅผ ๋ง์๋ค(์ `start()` ์ฃผ์์ 35์ด ํฑ). ๋ธ๋ก๋์บ์คํ
์ ๋ชจ์ผ๋
|
|
391
583
|
* ๊ท์จ์ ๋ชจ๋์ ์ฑ์ง์ด ์๋๋ผ **์ฑ๋์ ์ฑ์ง**์ด๋ค โ ์ต์ -์ํ ์ฑ๋์ด๋ฉด ์ค๊ฐ ์ํ๋ ๋ณด๋ผ ๊ฐ์ด ์๋ค.
|
|
392
584
|
*/
|
|
393
585
|
static flushLiveBroadcasts(): void;
|
|
@@ -405,12 +597,49 @@ export declare class TwinEngine {
|
|
|
405
597
|
* ์์ผ๋ฉด `undefined` ๋ค โ 0 ์ด ์๋๋ค. ๊ตฌ์กฐ ๋ฆฌ๋น์ ์ด ์๊ธฐ๊ธฐ ์ ์ ๋ง๋ค์ด์ง ํธ์์ ์์ง ๋ฆฌ๋น์ ์ด
|
|
406
598
|
* ์๊ณ , ๊ทธ ์ฌ์ค์ 0 ์ด๋ผ๋ **์ ํจํด ๋ณด์ด๋ ๋ฒํธ**๋ก ์์ฅํ๋ฉด ์ ๋๋ค.
|
|
407
599
|
*/
|
|
600
|
+
/** ๊ตฌ์กฐ ๋ฆฌ๋น์ ์บ์ โ `null` ์ **์๋ค๋ ๊ฒ์ ์๊ณ ์๋ค**๋ ๋ป์ด๋ค(๋ชจ๋ฆ๊ณผ ๊ตฌ๋ณํ๋ค, ยง7.1). */
|
|
408
601
|
private static structureRevCache;
|
|
409
602
|
static structureRevOf(domainId: string, instanceId: string): Promise<number | undefined>;
|
|
603
|
+
/** ๊ณ๊ธฐ ํ ๋ฒ โ **๋ ๊ตฌ๋์ด ๊ฐ์ ๊ฒ์ ๋ ๋ค**(ํ์ชฝ๋ง ๋ค๋ฉด ๊ทธ ๊ตฌ๋์ ๋ฌผ์ด๋ ๋ต์ด ์๋ค). */
|
|
604
|
+
private static newMetrics;
|
|
605
|
+
/**
|
|
606
|
+
* ๋ชจ์ ๋ ์ ๋์ **ํ ๋ฒ์** ์ด๋ค โ ๋ ๊ตฌ๋์ด ๊ฐ์ ๋ฌธ์ ์ด๋ค (ยง7.1).
|
|
607
|
+
*
|
|
608
|
+
* โโ ์ ํ ํจ์์ธ๊ฐ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
609
|
+
* ์ฐ๋ ์๋ฆฌ๊ฐ ๋์ด๋ฉด(์ฃผ๊ธฐ flush ยท ์ ์ง) ํ์ชฝ๋ง ๊ณ ์ณ์ง๊ณ , ๊ทธ ์ด๊ธ๋จ์ **์ฌ์ค์ด ์กฐ์ฉํ ์ฌ๋ผ์ง๋**
|
|
610
|
+
* ๋ชจ์์ผ๋ก ๋ํ๋๋ค. ๊ทธ๋์ ํ๋ฆฌ๋ ๊ท์น์ ์ฌ๊ธฐ ํ ๊ณณ์ ๋๋ค.
|
|
611
|
+
*
|
|
612
|
+
* โโ ๋ฆฌ๋น์ ์ ๋๊ฐ ๋งค๊ธฐ๋ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
613
|
+
* ยท ๋ผ์ด๋ธ โ ์์ฒ์ ๋ฆฌ๋น์ ์ ์ฃผ์ง ์์ผ๋ฏ๋ก **ํธ์คํธ๊ฐ** ์ด์ด ๋ถ์ธ๋ค(์ ๋ high-water ์์ ์๋).
|
|
614
|
+
* ยท ์๋ฎฌ โ **์ปค๋์ ๋ฆฌ๋น์ **์ด ์ค๋ ค ์จ๋ค(์ ๋์ด ๊ทธ๊ฒ์ผ๋ก ์ ํ๊ณ ์๊ฐ์ฌํ์ด ๊ทธ๊ฒ์ ๋๋๋ค).
|
|
615
|
+
* ๊ทธ๋์ ๋ฒํผ๋ ๋ ๋ชจ์์ ํจ๊ป ๋ ๋ค: ๋ดํฌ๋ง ์์ผ๋ฉด ๋ผ์ด๋ธ, `{ event, revision }` ์ด๋ฉด ์๋ฎฌ์ด๋ค.
|
|
616
|
+
*/
|
|
617
|
+
private static flushJournal;
|
|
618
|
+
/**
|
|
619
|
+
* ์ปค๋์ด ๋งค๊ธด ๋ฆฌ๋น์ ์ ๊ทธ๋๋ก ๋ค๊ณ ๋ฒํฌ ์ ์ฅ โ ์๋ฎฌ ๊ฒฝ๋ก.
|
|
620
|
+
*
|
|
621
|
+
* ์์ ์๋ ์ด ๊ฒฝ๋ก๊ฐ **๋ธํ๋ง๋ค ํ ํ์ฉ** ์ ์ฅํ๋ค(๊ทธ๋ฆฌ๊ณ ํ๋ง๋ค ๊ตฌ์กฐ ๋ฆฌ๋น์ ์ ๋ฌผ์๋ค). ๊ท๋ชจ์์ ๊ทธ๊ฒ์ด
|
|
622
|
+
* ํธ์คํธ๋ฅผ ๋จน์๋ค(ยง7.1 ์ค์ธก). ์ฌ๊ธฐ์ ๊ตฌ์กฐ ๋ฆฌ๋น์ ์ **ํ ๋ฒ๋ง** ๋ฌป๋๋ค.
|
|
623
|
+
*/
|
|
624
|
+
static persistCarried(domainId: string, instanceId: string, items: {
|
|
625
|
+
event: any;
|
|
626
|
+
revision: number;
|
|
627
|
+
}[]): Promise<void>;
|
|
628
|
+
/**
|
|
629
|
+
* ์ ๋ ํ์ ๋ฃ๋๋ค โ **๋ฃ๊ธฐ๋ง ํ๋ค**(2026-08-20).
|
|
630
|
+
*
|
|
631
|
+
* ์์ ์๋ `save()` ์๋ค. ๊ทธ๋ฐ๋ฐ `save` ๋ ๋ฃ์ ๋ค ์์ฑ ์ปฌ๋ผ์ ์ฝ์ผ๋ ค๊ณ **ํ๋ง๋ค SELECT ๋ฅผ ํ ๋ฒ ๋**
|
|
632
|
+
* ํ๋ค(์ํ ๋ก๊ทธ์์ ๊ทธ ์ง์๊ฐ ๊ทธ๋๋ก ๋ณด์๋ค: `SELECT โฆ FROM twin_events WHERE id = ?`). ์ ๋์
|
|
633
|
+
* append-only ์ด๊ณ ๋ถ๋ฅด๋ ์ชฝ์ ๋๋ ค๋ฐ์ ์ํฐํฐ๋ฅผ ์ฐ์ง ์์ผ๋ฏ๋ก ๊ทธ ์๋ณต์ด ์์ ๋ญ๋น๋ค.
|
|
634
|
+
*
|
|
635
|
+
* ๋ฌถ์์ **๋๋ ์** ๋ฃ๋๋ค: ํ ๋ฌธ์ ์ด์ด ์ด๋ค์ฏ์ธ ํ์ ์์ฒ ๊ฐ ์ค์ผ๋ฉด ๋๋ผ์ด๋ฒ์ ํ๋ผ๋ฏธํฐ ํ๊ณ์
|
|
636
|
+
* ๊ฑธ๋ฆฐ๋ค(pg ๋ 65,535๊ฐ). 500ํ์ด๋ฉด ์ด๋ ๋๋ผ์ด๋ฒ์์๋ ์์ ํ๋ค.
|
|
637
|
+
*/
|
|
638
|
+
private static insertRows;
|
|
410
639
|
/** live ์ ๋ ๋ฐฐ์น ๊ธฐ๋ก โ ๋ชจ์๋ CanonicalEnvelope ๋ค์ startRevision+1.. ์ ๋ถ์ฌํด ๋ฒํฌ ์ ์ฅ(coalescer tick ๋น 1ํ). */
|
|
411
640
|
static persistBatch(domainId: string, instanceId: string, envelopes: any[], startRevision: number): Promise<void>;
|
|
412
641
|
/** ๋ ์ง์คํธ๋ฆฌ upsert(๋๋ฉ์ธ+instanceId ์ ๋ํฌ). status ์ธ์๋ก provision(stopped)/start(running) ๊ณต์ฉ. */
|
|
413
|
-
static register(domainId: string, instanceId: string, kind: string, model: TwinModelDef, status?: 'running' | 'stopped',
|
|
642
|
+
static register(domainId: string, instanceId: string, kind: string, model: TwinModelDef, status?: 'running' | 'stopped', restartPolicy?: RestartPolicy, origin?: any, meta?: {
|
|
414
643
|
name?: string;
|
|
415
644
|
description?: string;
|
|
416
645
|
actor?: {
|
|
@@ -455,7 +684,15 @@ export declare class TwinEngine {
|
|
|
455
684
|
static adoptStructure(domainId: string, instanceId: string, model: TwinModelDef, comment?: string, origin?: any): Promise<{
|
|
456
685
|
rev: number;
|
|
457
686
|
} & StructureShift>;
|
|
458
|
-
static provision(domainId: string, instanceId: string, kind: string, model: TwinModelDef,
|
|
687
|
+
static provision(domainId: string, instanceId: string, kind: string, model: TwinModelDef,
|
|
688
|
+
/**
|
|
689
|
+
* **์ฌ๊ธฐ๋ ์ ์ฑ
์ ์์ฑ ์์ ์ ์ ์ธ์ด๋ค**(ADR-0029 ยง2) โ ํธ์์ ์ ์ฑ
์์ด ์กด์ฌํ ์ ์๋ค.
|
|
690
|
+
*
|
|
691
|
+
* ์์ ์๋ ์ด ์๋ฆฌ๊ฐ ์์๊ณ `register` ๊ฐ ๊ธฐ๋ณธ๊ฐ(`sim-experiment` = ์ ๋ ์ด๊ธฐํ)์ ๊ฐ์ธํ๋ค. ๊ทธ๋์
|
|
692
|
+
* ์ ์ธ์ ๋น ๋จ๋ฆฐ ํ๋ก๋น์ ๋์ด **์ฌ๊ธฐ๋๋ง๋ค ์ด๋ ฅ์ ์ง์ฐ๋ ํธ์**์ ์กฐ์ฉํ ๋ง๋ค์๋ค. ์ด์ ๋ง๋๋ ์ชฝ์ด
|
|
693
|
+
* ๋งํด์ผ ํ๋ค: ์ด ํธ์์ด ์๊ธฐ ๊ณผ๊ฑฐ๋ฅผ ์ด๋ป๊ฒ ๋ํ๋์ง๋ ๋ง๋๋ ์ฌ๋์ด ์๋ ์ฌ์ค์ด๋ค.
|
|
694
|
+
*/
|
|
695
|
+
restartPolicy: RestartPolicy, comment?: string, origin?: any,
|
|
459
696
|
/** ์ด๋ฆยท์ ์ โ ์
๋ฌดํค๋ฅผ ๋๋ ๋ ๋๊ฐ๋ก ์ด๋ฆ์ ํจ๊ป ๋จ๊ธด๋ค(`register` ์ `meta` ๊ทธ๋๋ก). */
|
|
460
697
|
meta?: {
|
|
461
698
|
name?: string;
|
|
@@ -497,18 +734,18 @@ export declare class TwinEngine {
|
|
|
497
734
|
private static structureFingerprint;
|
|
498
735
|
private static structureSignature;
|
|
499
736
|
/** ๋ ์ง์คํธ๋ฆฌ model ๋ก ๊ธฐ๋(ํ๋ก๋น์ ๋ ์ธ์คํด์ค start). model ์ธ์ ์์ด ์ ์ฅ๋ ๊ตฌ์กฐ๋ก ์ฌ๊ธฐ๋. */
|
|
500
|
-
static startFromRegistry(domainId: string, instanceId: string,
|
|
737
|
+
static startFromRegistry(domainId: string, instanceId: string, restartPolicy?: RestartPolicy): Promise<InstanceRuntime>;
|
|
501
738
|
/**
|
|
502
|
-
* ์ ์ธ ๊ธฐ๋ฐ ๋ถํ
(ยง0 ํ๋ ์ โ โ ๋ถํ
๊ฑฐ๋ ๋งคํ) โ ํธ์์ด ์ ์ธํ
|
|
739
|
+
* ์ ์ธ ๊ธฐ๋ฐ ๋ถํ
(ยง0 ํ๋ ์ โ โ ๋ถํ
๊ฑฐ๋ ๋งคํ) โ ํธ์์ด ์ ์ธํ restartPolicy ์ ๋ฐ๋ผ ์ฌ๊ธฐ๋ ๋ฐฉ์์ ๊ตฌ๋ถํ๋ค.
|
|
503
740
|
* ๋ถํ
๊ฒฝ๋ก๋ฅผ ํ ๊ณณ์ ๋ชจ์ "๋ฐํ์ โ ํ์ค" ๋ฒ์ฃผ์ค๋ฅ๋ฅผ ์ฝ๋๋ก ๊ฐ์ ํ๋ค.
|
|
504
|
-
* - '
|
|
505
|
-
* - '
|
|
741
|
+
* - 'resync' : ํ์ค=์ธ๋ถ ์ค๋ฌผ โ startLive(์ฌ๋๊ธฐ). ์ด๋ฒคํธ๋ ์ด๋ํฐ ingest ๋ก ์ ์
, ์ปค๋ tick ์์.
|
|
742
|
+
* - 'resume' : ์์ฑ ํ์๋ผ์ธ ์ง์ โ ์ ๋ ๋ณด์กด + resume(ํ์ค ์ด์ด๊ฐ).
|
|
506
743
|
* โ GATE(ยง8 โกโข): ์ปค๋ ์ํ ์ง๋ ฌํ/์ฌ๊ฐ๊ฐ ์์ง ์์ด ์ง์ง resume ๋ถ๊ฐ โ ์ค ํ์ยท์ค๋ถํ ์ ๊ตฌํ.
|
|
507
744
|
* ๊ทธ๋๊น์ง๋ ์ ๋์ ๋ณด์กดํ๋ revision ์ถฉ๋์ ํผํ๋ ค fresh ๋ก ๊ธฐ๋ํ๊ณ , ์ ์ธ๊ณผ ๊ตฌํ์ ๊ฐ๊ทน์ ํฌ๊ฒ ๊ฒฝ๊ณ ํ๋ค.
|
|
508
|
-
* - '
|
|
745
|
+
* - 'reset' : seed ์ฌํ โ resetJournal + fresh ๊ธฐ๋(๋ฐฑ์ง ์์์ด ๋ฒ๊ทธ๊ฐ ์๋๋ผ ์ ์ธ๋ ๊ฑฐ๋).
|
|
509
746
|
* ๋ฐํ: ๊ธฐ๋๋ InstanceRuntime.
|
|
510
747
|
*/
|
|
511
|
-
static bootDeclared(domainId: string, instanceId: string, mode
|
|
748
|
+
static bootDeclared(domainId: string, instanceId: string, mode: RestartPolicy): Promise<InstanceRuntime>;
|
|
512
749
|
/**
|
|
513
750
|
* ์ ๋ ์ด๊ธฐํ โ ์ธ์คํด์ค ์ด๋ฒคํธ ์ ๋ purge(๋ ์ง์คํธ๋ฆฌยท์ํ๋ ์ ์ง).
|
|
514
751
|
* ๋ฐ๋ชจ fresh-start ์ฉ: ๋งค ๋ถํ
seed ๋ถํฐ ์๋ก ์คํํ๋ ๋ฐ๋ชจ์์, ๋ณต๊ตฌ๋ณธ ํ๊ธฐ ํ revision 0 ๋ถํฐ ์ฌ์คํํ๋ฉด
|
|
@@ -571,7 +808,9 @@ export declare class TwinEngine {
|
|
|
571
808
|
* ๊ธฐ์กด ๊ณต๊ฐ์ผ๋ก ๋ค์ด๊ฐ ์ ์๋ค. ์๋ ๋ณํฉ์ ์๋ ๊ทธ ๊ฒฝ์ฐ๋ฅผ ์ํด ์์๋๋ฐ(N:1) ๋ง๋๋ ํ๋ฆ์์
|
|
572
809
|
* ๊ณต๊ฐ์ ๊ณ ๋ฅผ ๋ฐฉ๋ฒ์ด ์์๋ค โ ๋ง์คํฐ๊ฐ ํ์ํ id ๋ง ์ฐ์๋ค. ํ์ ์ `resolveIngestSpace`(์์).
|
|
573
810
|
*/
|
|
574
|
-
static ingestMaster(domainId: string, master: ReferenceMaster,
|
|
811
|
+
static ingestMaster(domainId: string, master: ReferenceMaster,
|
|
812
|
+
/** ๋ง๋ค์ด์ง๋ ํธ์์ ์ฌ๊ธฐ๋ ์ ์ฑ
โ ์๋ณธ์ด ์ ํ๋ ๊ฒ์ด ์๋๋ผ **๋ง๋๋ ์ชฝ์ ์ ์ธ**์ด๋ค(ADR-0029 ยง2). */
|
|
813
|
+
restartPolicy: RestartPolicy, into?: {
|
|
575
814
|
spaceId?: string;
|
|
576
815
|
},
|
|
577
816
|
/** ๋๊ฐ ์ธ์ ์คํธํ๋ โ ์ฌ๋์ด ์๋ ๊ฒฝ๋ก(๋ถํ
)๋ ์ฃผ์ง ์๋๋ค(๊ฐ์ฌ ๊ธฐ๋ก์ ์ง์ด๋ด์ง ์๋๋ค). */
|
|
@@ -589,14 +828,14 @@ export declare class TwinEngine {
|
|
|
589
828
|
* ๋ณด๋ ์ปดํฌ๋ํธ๊ฐ tag ๋ก ๊ตฌ๋
(board-ui provider)ํด `component.data` ๋ก ๋ผ์ด๋ธ ๊ฐฑ์ . delta ์์๋ง(ํฌ์).
|
|
590
829
|
* tag=์ํฐํฐ id(๋ฐ๋ชจ=๋จ์ผ ์ธ์คํด์ค). ๋ฉํฐ ์ธ์คํด์ค/๋ณด๋ ์ฌ์ฌ์ฉ ์ tag ๋ค์์คํ์ด์ค๋ ํ์.
|
|
591
830
|
*/
|
|
592
|
-
/**
|
|
831
|
+
/** ๋ธ๋ก๋์บ์คํ
์คํจ ๋ก๊ทธ ์กฐ์ โ ์ฐฝ๋ง๋ค ํ ์ค(๋งํ ๊ตฌ๋
์๋ ์ด๋น ์์ญ ๋ฒ ์คํจํ๋ค). */
|
|
593
832
|
private static publishDrops;
|
|
594
833
|
private static readonly PUBLISH_DROP_LOG_MS;
|
|
595
834
|
/**
|
|
596
|
-
* ํ ๋ฒ์
|
|
835
|
+
* ํ ๋ฒ์ ๋ธ๋ก๋์บ์คํ
โ **๊ตฌ๋
์ ํ๋๊ฐ ํธ์คํธ๋ฅผ ์ฃฝ์ด์ง ๋ชปํ๊ฒ.**
|
|
597
836
|
*
|
|
598
837
|
* โโ ๋ฌด์์ด ์ฃฝ์๋ (2026-08-14) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
599
|
-
* ๋ฐ๋ฆฐ push ๊ฐ 1024๋ฅผ ๋์ผ๋ฉด pubsub ์ด
|
|
838
|
+
* ๋ฐ๋ฆฐ push ๊ฐ 1024๋ฅผ ๋์ผ๋ฉด pubsub ์ด ์ค๋ฅ๋ฅผ ๋ธ๋ค(`RepeaterOverflowError`). ๊ทธ ๋ธ๋ก๋์บ์คํ
์ ํ์ด๋จธ ์ฝ๋ฐฑ
|
|
600
839
|
* ์์์ ์ผ์ด๋๋ฏ๋ก ์์ธ๊ฐ ์กํ๋ ๊ณณ ์์ด ์ฌ๋ผ๊ฐ **ํ๋ก์ธ์ค๊ฐ ๋๋ฌ๋ค** โ ํธ์ 14๊ฐ๊ฐ ๋๋ ํธ์คํธ๊ฐ
|
|
601
840
|
* ์๋น๋ฅผ ๋ฉ์ถ ๊ตฌ๋
์ ํ๋ ๋๋ฌธ์ ํต์งธ๋ก.
|
|
602
841
|
*
|
|
@@ -605,7 +844,6 @@ export declare class TwinEngine {
|
|
|
605
844
|
*/
|
|
606
845
|
private static publishGuarded;
|
|
607
846
|
static publishEntityData(inst: InstanceRuntime): void;
|
|
608
|
-
static persist(domainId: string, instanceId: string, msg: any): Promise<void>;
|
|
609
847
|
/**
|
|
610
848
|
* ์ฌ๋ถํ
๋ณต๊ตฌ / ์๊ฐ์ฌํ โ DB ์ ๋์ replay ํด ์ํ ์ฌ๊ตฌ์ฑ.
|
|
611
849
|
* model ๋ ๋ ์ง์คํธ๋ฆฌ(TwinInstance)์์, ์ด๋ฒคํธ๋ TwinEvent(revision ASC)์์.
|
|
@@ -618,6 +856,29 @@ export declare class TwinEngine {
|
|
|
618
856
|
/**
|
|
619
857
|
* ๊ณต๊ฐ(๊ณต๋๋ฐฐ์น) ์๊ฐ ๋ฒ์ โ ์คํฌ๋ฌ๋ฒ ์ต์ปค(runtime-state-model ยง4ยทยง6). ๊ทธ ๊ณต๊ฐ ์ ์ธ์คํด์ค ์ ๋์ min/max eventTime.
|
|
620
858
|
* ๋ฐํ {minTime, maxTime}(ISO) โ ์ด๋ฒคํธ/์๊ฐ ์์ผ๋ฉด null. ํด๋ผ ํ์คํ ๋ฆฌ ์คํฌ๋ฌ๋ฒ๊ฐ ์ด ๋ฒ์๋ฅผ ์๊ฐ์ถ์ผ๋ก ๊ทธ๋ฆฐ๋ค.
|
|
859
|
+
*
|
|
860
|
+
* โโ ๋ ์๋ฅผ ๊ตฌํ๋ ค๊ณ ์ ๋์ ๋ค ์ฝ์ง ์๋๋ค (2026-08-20 ์ค์ธก์ผ๋ก ์ก์) โโโโโโโโ
|
|
861
|
+
* ์ฌ๊ธฐ์ ์ธ์คํด์ค๋ง๋ค `find()` ๋ก **ํ์ ์ ๋ถ ์ํฐํฐ๋ก ํ์ด๋๋ ์ด์
**ํ ๋ค์ JS ์์ min/max ๋ฅผ
|
|
862
|
+
* ๊ณจ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ด ํจ์๋ ํ๋ฉด ์๋จ์ ์ปจํ
์คํธ ๋ ๊ฐ **4์ด๋ง๋ค** ๋ถ๋ฅธ๋ค. ์ค์ธกํ ๊ฐ๋ฐ ์๋ฒ์์
|
|
863
|
+
* `order-check` ํ ํธ์์ด 275,882ํ ยท `payload` 131MB ์๋ค โ 4์ด๋ง๋ค ๊ทธ JSON ์ ์ ๋ถ ํ์ฑํ ๊ฒ์ด๋ค.
|
|
864
|
+
*
|
|
865
|
+
* ๊ทธ ๊ฒฐ๊ณผ๊ฐ ์ด๋ฌ๋ค: ํ๋ก์ธ์ค CPU 81~152%, ์๋ฌด ์ผ๋ ํ์ง ์๋ ์ง์๊ฐ 8~14์ด. JS ํ๋กํ์ผ์ ์์๊ฐ
|
|
866
|
+
* TypeORM ์ `RelationIdLoader`ยท`RawSqlResultsToEntityTransformer`ยท`stringToSimpleJson`(= `payload`
|
|
867
|
+
* ํ์ฑ)์ด๊ณ GC ๊ฐ 16.7% ์๋ค. **ํธ์ ํฑ๋ ์ ๋ ์ฐ๊ธฐ๋ ์๋๋ผ ์ด ์ฝ๊ธฐ์๋ค.**
|
|
868
|
+
*
|
|
869
|
+
* ์ง๊ณ๋ DB ๊ฐ ํ๋ค. `(domain, instanceId, eventTime)` ์ธ๋ฑ์ค๊ฐ ์ด๋ฏธ ์์ด(`ix_twin_event_1`)
|
|
870
|
+
* ์ธ๋ฑ์ค์ **์ ๋์ ์ง๋๋ค** โ ํ์ ํ๋๋ ์ค์ด ์ค์ง ์๋๋ค.
|
|
871
|
+
*
|
|
872
|
+
* โโ ์ MIN ๊ณผ MAX ๋ฅผ ํ ๋ฌธ์ฅ์ ๋ฃ์ง ์๋ (์ค์ธก) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
873
|
+
* ์ฒ์์ `SELECT MIN(...), MAX(...) ... WHERE instanceId IN (...)` ํ ๋ฐฉ์ผ๋ก ๋์๋๋ **21ms** ์๋ค.
|
|
874
|
+
* ์ง๊ณ๊ฐ **๋์ด๋ฉด** ์ตํฐ๋ง์ด์ ์ ใ์ธ๋ฑ์ค ๋์ ์ง๋ใ ์ต์ ํ๊ฐ ๊ฑธ๋ฆฌ์ง ์์ ์ธ๋ฑ์ค ๊ตฌ๊ฐ์ ํ๋๋ค โ
|
|
875
|
+
* ์ฆ ๋น์ฉ์ด ์ฌ์ ํ **ํ ์์ ๋น๋ก**ํ๋ค. ํธ์๋ง๋ค ๋จ์ผ ์ง๊ณ๋ก ๋๋ ๋ฌผ์ผ๋ฉด **0.32ms**(ํธ์ 3๊ฐ ยท 6์๋ณต)
|
|
876
|
+
* ์ด๊ณ , ๋น์ฉ์ด **ํธ์ ์์ ๋น๋ก**ํ๋ค. ๊ท๋ชจ ๊ธฐ์ค(์ํฐํฐ 10๋ง)์์๋ ์ด ์ฐจ์ด๊ฐ ๋ณธ์ง์ด๋ค.
|
|
877
|
+
*
|
|
878
|
+
* ์๋ณต์ ํธ์๋น ๋์ด์ง๋ง **ํจ๊ป ๋์ด๋ค** โ ์๊ฒฉ DB ์์ ์ง๋ ฌ๋ก ๋๋ฉด ์๋ณต ์ง์ฐ์ด ๊ทธ๋๋ก ์์ธ๋ค.
|
|
879
|
+
*
|
|
880
|
+
* ๋๋ผ์ด๋ฒ ๋ค์ฏ์ ๋ค ์ง๋๊ฐ์ผ ํ๋ฏ๋ก raw SQL ์ ์ฐ์ง ์๋๋ค(์ฟผ๋ฆฌ๋น๋์ MIN/MAX ๋ ์ด์๋๋ค).
|
|
881
|
+
* ๋๋ ค์ฃผ๋ ๊ฐ์ **๋ชจ์์ ๋๋ผ์ด๋ฒ๋ง๋ค ๋ค๋ฅด๋ค**(๋ฌธ์์ดยทDate) โ ๋ฐ์ ๋ค์ ํ ๋ฒ ์ ๊ทํํ๋ค(`parseTime`).
|
|
621
882
|
*/
|
|
622
883
|
static timeRange(domainId: string, spaceId: string): Promise<{
|
|
623
884
|
minTime: string | null;
|
|
@@ -738,7 +999,116 @@ export declare class TwinEngine {
|
|
|
738
999
|
static countForks(domainId: string, id: string, count: number): void;
|
|
739
1000
|
/** ์์ง ๋ฐ(์์ธก ์ง์ ๋ฑ)์์ ๋ฌด๊ฑฐ์ด ์์
์ ์ฐ๋ค โ ๊ฐ์ ๊ณ๊ธฐํ์ ๋ชจ์ธ๋ค. */
|
|
740
1001
|
static recordLoad(domainId: string, id: string, phase: LoadPhase, tookMs: number): void;
|
|
741
|
-
|
|
1002
|
+
private static ingestLedgers;
|
|
1003
|
+
/** ์ฐฝ์ด ๋ซํ ๋ ๋ถ๋ฅผ ๊ณณ โ ์์ ๊ณ์ธต์ด ๋ถํ
์์ ํ ๋ฒ ๋ฑ๋กํ๋ค(์ปค๋ ์ธต์ ๊ทธ ๊ณ์ธต์ ๋ชจ๋ฅธ๋ค). */
|
|
1004
|
+
private static onWindowClosed?;
|
|
1005
|
+
/**
|
|
1006
|
+
* ๋ซํ ์ฐฝ์ ๋ฐ์ ๊ณณ์ ๋ฑ๋กํ๋ค โ **์์(B)์ด ๋ถ๋ ์ ์ผํ ๋ฌธ.**
|
|
1007
|
+
*
|
|
1008
|
+
* ์ด ํจํค์ง๋ ์ ์ฅ ๊ณ์ธต์ ๋ชจ๋ฅธ๋ค. ๋ฑ๋กํ๋ ์ชฝ์ด ์๊ธฐ ๋ฐฉ์์ผ๋ก ์ด๋ค. ํ
์ด ์ค๋ฅ๋ฅผ ๋ด๋ ์ฅ๋ถ๋ ๊ณ์ ๊ตด๋ฌ๊ฐ๋ค
|
|
1009
|
+
* (`rollIngestWindow` ๊ฐ ๊ฐ์ผ๋ค) โ ์์์ ์งํค๋ ค๊ณ ๊ด์ธก์ ๋ฉ์ถ์ง ์๋๋ค.
|
|
1010
|
+
*/
|
|
1011
|
+
static onIngestWindowClosed(fn: (at: {
|
|
1012
|
+
domainId: string;
|
|
1013
|
+
instanceId: string;
|
|
1014
|
+
}, closed: IngestWindow) => void): void;
|
|
1015
|
+
/**
|
|
1016
|
+
* ํ ๋ฒ์ ์ธ์ ์คํธ ๊ฒฐ๊ณผ๋ฅผ ์ฅ๋ถ์ ์ ๋๋ค.
|
|
1017
|
+
*
|
|
1018
|
+
* `offered` ๋ **์ ์๋ ๋ ์ฝ๋ ์**๋ค(๊ฑฐ๋ถ ์ฌ๋ถ ๋ฌด๊ด). ํต๊ณผ์จ์ ์๋ก ๋ค๋ฅธ ๋ ๊ณ์๊ธฐ์์ ๋๋ ๊ณ์ฐํ๋ฉด
|
|
1019
|
+
* ๋ถ๋ชจ์ ๋ถ์๊ฐ ๋ค๋ฅธ ๊ฒ์ ์ธ๊ฒ ๋๋ฏ๋ก, ํ์๋ฆฌ์์ ๋ณธ ์๋ฅผ ๊ทธ๋๋ก ๋๊ธด๋ค.
|
|
1020
|
+
*/
|
|
1021
|
+
static recordIngestResult(domainId: string, instanceId: string, offered: number, rejected: {
|
|
1022
|
+
record?: unknown;
|
|
1023
|
+
errors?: string[];
|
|
1024
|
+
}[] | undefined, nowMs?: number,
|
|
1025
|
+
/**
|
|
1026
|
+
* ๋งคํ์ ํต๊ณผํ๋๋ฐ **์ปค๋์ด ๋ฐ์ง ์์** ์(`ingestLive` ์ ๋ฐํ๊ณผ ๊ฒฌ์ฃผ์ด ์ป๋๋ค).
|
|
1027
|
+
*
|
|
1028
|
+
* ใํต๊ณผใ๋ก ์ธ์ง ์๋๋ค โ ํธ์์ด ๋ฉ์ถ ์ฌ์ด ์ฌ์ค์ด ์ฌ๋ผ์ง๋๋ฐ ํ๋ฉด์ด 100% ๋ผ๊ณ ๋งํ๊ฒ ๋๋ค.
|
|
1029
|
+
*/
|
|
1030
|
+
undelivered?: number): void;
|
|
1031
|
+
/**
|
|
1032
|
+
* **์๋ณธ์ ๋ฟ์ง ๋ชปํ๋ค**๋ฅผ ์ ๋๋ค โ ใ๋ฐ์ ๊ฒ์ด ์๋คใ์ ๊ฐ๋ฅธ๋ค(ยง`recordReadFailure`).
|
|
1033
|
+
*
|
|
1034
|
+
* ์ด ๋ฌธ์ด ์๋ ๋์ ์ค ์๋ณธ์ด ๋๊ฒจ๋ ํธ์์ ์กฐํ ๊ฐ๋ฅํ ์ํ์ ๊ทธ ์ฌ์ค์ด ์์๋ค. ํ๋ฉด์ด ๋ณผ ์ ์๋
|
|
1035
|
+
* ๊ฒ์ ใ์ ์ฌ์ค์ด ์๋คใ๋ฟ์ด์๊ณ ๊ทธ๊ฒ์ ใ์๋ณธ์ด ์กฐ์ฉํ๋คใ์ ๊ตฌ๋ณ๋์ง ์๋๋ค โ ์ค์ฆ ์ค์ ์๋ณธ์ด
|
|
1036
|
+
* ๋๊ธฐ๋ฉด ์ฌ์ฉ์๊ฐ ์์ธ์ ์ฐพ์ ์ ์๋ค.
|
|
1037
|
+
*
|
|
1038
|
+
* ๋ก๊ทธ๋ก๋ ๋งํ๊ณ ์์๋ค(์ด๋ํฐ๊ฐ ์ฌ์๋๋ฅผ ๊ฒฝ๊ณ ํ๋ค). ๊ทธ๋ฌ๋ **๋ก๊ทธ๋ ์ฌ๋์ด ๋ณผ ๋๋ง ๊ฐ์ด ์๋ค** โ
|
|
1039
|
+
* ํ๋ฉด์ด ๋งํ๋ ค๋ฉด ์ํ์ ์์ด์ผ ํ๋ค.
|
|
1040
|
+
*/
|
|
1041
|
+
static recordIngestReadFailure(domainId: string, instanceId: string, reason: string, nowMs?: number, stream?: string): void;
|
|
1042
|
+
/**
|
|
1043
|
+
* ์ฝ๊ธฐ๊ฐ ์ฑ๊ณตํ๋ค โ ๋จ์ ๊ธฐ๋ก์ ์ง์ด๋ค.
|
|
1044
|
+
*
|
|
1045
|
+
* **๋น ์ฝ๊ธฐ๋ ์ฑ๊ณต์ด๋ค.** ์๋ณธ์ด ใ์ ๊ฒ์ด ์๋คใ๊ณ ๋ตํ ๊ฒ์ ๋ฟ์๋ค๋ ๋ป์ด๋ฏ๋ก, ๊ทธ๋๋ ๋ถ๋ฅธ๋ค.
|
|
1046
|
+
* ๊ทธ ๋์ ๊ฐ๊ฒ ๋๋ฉด ์กฐ์ฉํ ์๋ณธ์ด ๋๊ธด ์๋ณธ์ผ๋ก ๋ณด์ธ๋ค.
|
|
1047
|
+
*/
|
|
1048
|
+
static clearIngestReadFailure(domainId: string, instanceId: string): void;
|
|
1049
|
+
/**
|
|
1050
|
+
* ์ ๋์ **์ ์ ๊ฒ**์ ๊ฐ์ ์ฅ๋ถ์ ๋จ๊ธด๋ค โ ์ ์
๊ณผ ๊ฐ์ 10๋ถ ์ฐฝ์.
|
|
1051
|
+
*
|
|
1052
|
+
* โโ ์ ์ ์
์ฅ๋ถ์ ๋ฃ๋ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
1053
|
+
* ์ ์ฅ๋ถ๋ฅผ ๋ง๋ค๋ฉด ใ๋ซํ ์ฐฝ๋ง ์ต๊ทผใยทใ0 ๊ณผ ์์์ ๊ฐ๋ฅธ๋คใยท์์์ ๋ ๋ฒ ์ง์ผ์ผ ํ๊ณ , ๊ทธ์ค ํ ๋ฒ๋ง
|
|
1054
|
+
* ๊ณ ์ณ์ง๋ ๊ฒ์ด ๋ณดํต์ด๋ค. ์ ์
์ฐฝ์ ๊ทธ ๊ท์จ์ด ์ด๋ฏธ ๋ค์ด ์๊ณ ๋ซํ ๋ ํ์ผ๋ก ๋จ๋๋ค.
|
|
1055
|
+
*
|
|
1056
|
+
* โโ ์ด ๊ฐ์ด ์์ผ๋ฉด ๋ฌด์์ ๋ชป ๋ณด๋ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
1057
|
+
* ๊ณ๊ธฐ(`journalRate`)๋ **์ง๊ธ**๋ง ๋ตํ๋ค. ํ๋ก์ธ์ค๋ฅผ ๋ค์ ๋์ฐ๋ฉด 0 ์์ ์์ํ๋ฏ๋ก ใ์ด์ ์ด ์๊ฐ์๋
|
|
1058
|
+
* ์ด๋ฌ๋ใยทใ๊ณ ์น ๋ค๋ก ์ค์๋ใ๋ฅผ ๋ฌผ์ ์๋ฆฌ๊ฐ ์๋ค. 2026-08-20 ์ ๊ณ ์น ๊ฒ์ด ๋ฐ๋ก ์ฐ๊ธฐ ๊ฒฝ๋ก์ด๋ฏ๋ก,
|
|
1059
|
+
* ๋๋์๊ฐ๋ ๊ฒ์ ๋ณผ ์ ์์ด์ผ ํ๋ค.
|
|
1060
|
+
*/
|
|
1061
|
+
static recordJournalWrite(domainId: string, instanceId: string, rows: number, nowMs?: number): void;
|
|
1062
|
+
/**
|
|
1063
|
+
* ใ์ด ํธ์์ด ํ์ฅ๊ณผ ๋ง์ถฐ์ง๊ณ ์๋ใ โ ํ๋ ํ์ + ์ถ์ด + ์ฌ์ + ํ๋ณธ.
|
|
1064
|
+
*
|
|
1065
|
+
* ์กฐํํ ๋ ์ฐฝ์ ํ ๋ฒ ๊ตด๋ฆฐ๋ค: ์ ์
์ด ๋ฉ์ถ๋ฉด ๋ค์ ์ธ์ ์คํธ๊ฐ ์์ด ์ฐฝ์ด ์์ํ ๋ซํ์ง ์๋๋ฐ, ๊ทธ๋ฌ๋ฉด
|
|
1066
|
+
* ใ์ต๊ทผใ์ด ์๊ฒ์ผ๋ก ๋จ๋๋ค. ํ์ด๋จธ๋ฅผ ๋์ง ์๋ ์ด์ ๋ ํธ์๋ง๋ค ํ์ด๋จธ๋ฅผ ๊ฑธ๋ฉด ๊ทธ ํ์ด๋จธ๋ค์ด ๋ค์
|
|
1067
|
+
* ๋ฉ์ธ ๋ฃจํ์ ์นํ๊ธฐ ๋๋ฌธ์ด๋ค(์ค๋ ํ์ธํ ๊ทธ ๋ถํ๋ฅผ ์ด ๊ธฐ๋ฅ์ด ๋ค์ ๋ง๋ค ์ด์ ๊ฐ ์๋ค).
|
|
1068
|
+
*/
|
|
1069
|
+
/**
|
|
1070
|
+
* ๋๋ฉ์ธ์ ํธ์๋ง๋ค **ํ ์ค ์์ฝ** โ ๋ชฉ๋ก ํ๋ฉด๊ณผ ๋ฏธ๋ ์ถ์ด์ฉ.
|
|
1071
|
+
*
|
|
1072
|
+
* โโ ์ ์์ธ์ ๋ฐ๋ก์ธ๊ฐ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
1073
|
+
* `ingestHealthOf` ๋ ์ฌ์ ๋ฌธ๊ตฌ์ **๋ ์ฝ๋ ์๋ฌธ ํ๋ณธ**๊น์ง ๋ธ๋ค. ๋ชฉ๋ก์ ํธ์์ด ์ค๋ฌด ๊ฐ๋ฉด ๊ทธ ์๋ฌธ์ด
|
|
1074
|
+
* ์ค๋ฌด ๋ฒ ์ค๋ ค ์กฐํ๊ฐ ๋ฌด๊ฑฐ์์ง๊ณ , ํ๋ฉด์ ์ด์ฐจํผ ๊ทธ๊ฒ์ ๊ทธ๋ฆฌ์ง ์๋๋ค. ๊ทธ๋์ ์ฌ๊ธฐ์๋ **์ซ์๋ง** ๋ธ๋ค.
|
|
1075
|
+
*
|
|
1076
|
+
* ์ถ์ด๋ ์ฐฝ๋น ์ซ์ ๋ท์ด๋ผ ์คํํฌ๋ผ์ธ ํ๋์ ์ถฉ๋ถํ๊ณ ๊ฐ๋ณ๋ค.
|
|
1077
|
+
*
|
|
1078
|
+
* โโ ๋ฑ๋ก๋ ํธ์์ ๊ธฐ์ค์ผ๋ก ํ๋๋ค โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
1079
|
+
* ๋๋ ํธ์๋ง ํ์ผ๋ฉด ใ๊ณ ์น๋ ค๊ณ ๋ฉ์ถฐ ๋ ํธ์ใ์ด ๋ชฉ๋ก์์ ์ฌ๋ผ์ง๋ค โ ์ฌ๋์ด ๋ฐฉ๊ธ ๋ฉ์ถ ๊ทธ๊ฒ์ ๋ณด๋ ค๊ณ
|
|
1080
|
+
* ๋ชฉ๋ก์ ์ฌ๋๋ฐ ์์ผ๋ฉด ๊ฒฐํจ์ผ๋ก ์ฝ๋๋ค. ๊ทธ๋์ ํธ์ถ๋ถ(๋ชฉ๋ก ํ๋ฉด)๊ฐ ์๋ instanceId ๋ค์ ๋ฐ๋๋ค.
|
|
1081
|
+
*/
|
|
1082
|
+
static ingestHealthBrief(domainId: string, instanceIds: string[]): {
|
|
1083
|
+
instanceId: string;
|
|
1084
|
+
verdict: string;
|
|
1085
|
+
acceptedRatio: number | null;
|
|
1086
|
+
trend: {
|
|
1087
|
+
offered: number;
|
|
1088
|
+
rejected: number;
|
|
1089
|
+
undelivered: number;
|
|
1090
|
+
rows: number;
|
|
1091
|
+
}[];
|
|
1092
|
+
lastAt: string | null;
|
|
1093
|
+
}[];
|
|
1094
|
+
/**
|
|
1095
|
+
* ํ ํธ์์ ๋๊ธฐํ ๊ฑด๊ฐ.
|
|
1096
|
+
*
|
|
1097
|
+
* โโ ์กฐํ๊ฐ ์ฅ๋ถ๋ฅผ ์ ์ง์ํจ๋ค(์๋) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
1098
|
+
* ์ฐฝ์ **๋ค์ ์ ์
์ด ์์ ๋** ๋ซํ๋ค. ๊ทธ๋์ ํผ๋๊ฐ ์ฃฝ์ผ๋ฉด ๋ง์ง๋ง ์ฐฝ์ด ์ด๋ฆฐ ์ฑ๋ก ๋จ์ ์์ํ ์์๋์ง
|
|
1099
|
+
* ์๊ณ , ์ถ์ด์๋ ๋ค์ด๊ฐ์ง ์๋๋ค. ์กฐํ ์์ ์ ํ ๋ฒ ๊ตด๋ ค ์ฃผ๋ฉด ๊ทธ ๋ง์ง๋ง ์ฐฝ์ด ๋ซํ๋ฉด์ ์์ ํ
๋ ๋ถ๋ฆฐ๋ค
|
|
1100
|
+
* โ ์ฆ **์ฃฝ์ ํผ๋์ ๋ง์ง๋ง ๊ตฌ๊ฐ์ ์์ง ์๊ธฐ ์ํด** ์ฝ๊ธฐ๊ฐ ๊ตด๋ฆฐ๋ค. ๋ถ์ํจ๊ณผ์ง๋ง ํ์ํ ๋ถ์ํจ๊ณผ๋ค.
|
|
1101
|
+
*
|
|
1102
|
+
* ์๊ฐ์ **ํ ๋ฒ๋ง ์ฝ์ด** ๊ตด๋ฆฌ๊ธฐ์ ํ์ ์ ๊ฐ์ ๊ฐ์ ์ด๋ค. ๋ ๋ฒ ์ฝ์ผ๋ฉด ๊ทธ ์ฌ์ด์ ์ฐฝ์ด ๋ซํ ํ์ ์ด
|
|
1103
|
+
* ๊ตด๋ฆฌ๊ธฐ ์ ์ํ๋ฅผ ๋ณด๋ ์ผ์ด ์๊ธด๋ค.
|
|
1104
|
+
*/
|
|
1105
|
+
static ingestHealthOf(domainId: string, instanceId: string): IngestHealthView;
|
|
1106
|
+
/**
|
|
1107
|
+
* ๋๋ ์ธ์คํด์ค ์ ์ฒด์ ๊ณ์ธก(๋ชจ๋ํฐ ๋์๋ณด๋์ฉ) โ **์๋ฎฌ๊ณผ ๋ฏธ๋ฌ๋ฅผ ํจ๊ป**.
|
|
1108
|
+
*
|
|
1109
|
+
* ์์ ์๋ ์๋ฎฌ์ ๊ณ๊ธฐ๊ฐ ์์ด ์ด ๋ชฉ๋ก์์ ์กฐ์ฉํ ๋น ์ก๋ค(๊ณ๊ธฐ๊ฐ `null` ์ด๋ผ ๊ฑธ๋ฌ์ก๋ค). ๋๋ ํธ์
|
|
1110
|
+
* ๋๋ถ๋ถ์ด ์๋ฎฌ์ธ ์๋ฒ์์ ๊ทธ ๋ชฉ๋ก์ ใ๋ถํ๊ฐ ๊ฑฐ์ ์๋คใ๋ก ๋ณด์๋ค.
|
|
1111
|
+
*/
|
|
742
1112
|
static allMetrics(domainId?: string): Promise<any[]>;
|
|
743
1113
|
/**
|
|
744
1114
|
* ์์ธก์ฉ ์ปค๋์ **์์ ์๊ฐ T ๊ธฐ์ค**์ผ๋ก ์ฌ๊ตฌ์ฑ โ ๊ณผ๊ฑฐ-vantage ์์ธก(๋ฐฑํ
์คํธ)ยท"๊ทธ๋ ์์ ๋ณธ ๋ฏธ๋".
|
|
@@ -749,4 +1119,3 @@ export declare class TwinEngine {
|
|
|
749
1119
|
/** ํ์ฌ ์ ์ฒด ์ค๋
์ท โ ๋ผ์ด๋ธ ์ฐ์ , ์์ผ๋ฉด ์ ๋ ๋ณต๊ตฌ ์บ์. */
|
|
750
1120
|
static snapshot(domainId: string, id: string): any;
|
|
751
1121
|
}
|
|
752
|
-
export {};
|