@world-engines/tmw 0.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/LICENSE +46 -0
  2. package/dist/activation.d.ts +50 -0
  3. package/dist/activation.js +113 -0
  4. package/dist/audio-presentation-projection.d.ts +23 -0
  5. package/dist/audio-presentation-projection.js +39 -0
  6. package/dist/author-scenario-source-v3.d.ts +34 -0
  7. package/dist/author-scenario-source-v3.js +1 -0
  8. package/dist/authoring-runtime.d.ts +76 -0
  9. package/dist/authoring-runtime.js +282 -0
  10. package/dist/builder-diagnostics.d.ts +3 -0
  11. package/dist/builder-diagnostics.js +8 -0
  12. package/dist/builder-node.d.ts +178 -0
  13. package/dist/builder-node.js +212 -0
  14. package/dist/builder.d.ts +32 -0
  15. package/dist/builder.js +127 -0
  16. package/dist/capability-registry.d.ts +32 -0
  17. package/dist/capability-registry.js +33 -0
  18. package/dist/compile-target-profile.d.ts +16 -0
  19. package/dist/compile-target-profile.js +70 -0
  20. package/dist/compiled-plan.d.ts +44 -0
  21. package/dist/compiled-plan.js +1 -0
  22. package/dist/compiler-compatibility-gate.d.ts +96 -0
  23. package/dist/compiler-compatibility-gate.js +609 -0
  24. package/dist/compiler-release-authority.d.ts +212 -0
  25. package/dist/compiler-release-authority.js +676 -0
  26. package/dist/compiler-stage-cache.d.ts +42 -0
  27. package/dist/compiler-stage-cache.js +100 -0
  28. package/dist/compiler-stage-registry.d.ts +48 -0
  29. package/dist/compiler-stage-registry.js +126 -0
  30. package/dist/compiler.d.ts +7 -0
  31. package/dist/compiler.js +68 -0
  32. package/dist/condition-graph.d.ts +46 -0
  33. package/dist/condition-graph.js +135 -0
  34. package/dist/diagnostics.d.ts +20 -0
  35. package/dist/diagnostics.js +20 -0
  36. package/dist/durable-intent.d.ts +29 -0
  37. package/dist/durable-intent.js +60 -0
  38. package/dist/effect-flow.d.ts +69 -0
  39. package/dist/effect-flow.js +98 -0
  40. package/dist/event-fabric.d.ts +81 -0
  41. package/dist/event-fabric.js +227 -0
  42. package/dist/event-lifecycle.d.ts +59 -0
  43. package/dist/event-lifecycle.js +161 -0
  44. package/dist/evidence.d.ts +37 -0
  45. package/dist/evidence.js +92 -0
  46. package/dist/gameplay-state.d.ts +127 -0
  47. package/dist/gameplay-state.js +214 -0
  48. package/dist/index.d.ts +66 -0
  49. package/dist/index.js +52 -0
  50. package/dist/isolated-replay.d.ts +81 -0
  51. package/dist/isolated-replay.js +316 -0
  52. package/dist/music-candidate-set.d.ts +38 -0
  53. package/dist/music-candidate-set.js +102 -0
  54. package/dist/natural-language-chunking.d.ts +10 -0
  55. package/dist/natural-language-chunking.js +62 -0
  56. package/dist/natural-language-ingestion.d.ts +14 -0
  57. package/dist/natural-language-ingestion.js +128 -0
  58. package/dist/natural-language-structured-decode.d.ts +2 -0
  59. package/dist/natural-language-structured-decode.js +69 -0
  60. package/dist/natural-language-world-types.d.ts +142 -0
  61. package/dist/natural-language-world-types.js +2 -0
  62. package/dist/neutral-source-compiler.d.ts +135 -0
  63. package/dist/neutral-source-compiler.js +608 -0
  64. package/dist/presentation-intent.d.ts +42 -0
  65. package/dist/presentation-intent.js +137 -0
  66. package/dist/recall-query-envelope.d.ts +32 -0
  67. package/dist/recall-query-envelope.js +51 -0
  68. package/dist/rewrite-compensation.d.ts +28 -0
  69. package/dist/rewrite-compensation.js +85 -0
  70. package/dist/runtime-contract.d.ts +56 -0
  71. package/dist/runtime-contract.js +96 -0
  72. package/dist/runtime-domain-capabilities.d.ts +12 -0
  73. package/dist/runtime-domain-capabilities.js +20 -0
  74. package/dist/runtime-sav.d.ts +117 -0
  75. package/dist/runtime-sav.js +356 -0
  76. package/dist/runtime-trace.d.ts +44 -0
  77. package/dist/runtime-trace.js +119 -0
  78. package/dist/runtime.d.ts +238 -0
  79. package/dist/runtime.js +1887 -0
  80. package/dist/scene-author-source.d.ts +13 -0
  81. package/dist/scene-author-source.js +25 -0
  82. package/dist/scene-state.d.ts +275 -0
  83. package/dist/scene-state.js +334 -0
  84. package/dist/scheduler.d.ts +55 -0
  85. package/dist/scheduler.js +235 -0
  86. package/dist/selector-ast.d.ts +24 -0
  87. package/dist/selector-ast.js +18 -0
  88. package/dist/semantic-verdict.d.ts +48 -0
  89. package/dist/semantic-verdict.js +101 -0
  90. package/dist/simulator.d.ts +45 -0
  91. package/dist/simulator.js +58 -0
  92. package/dist/source-canonical.d.ts +4 -0
  93. package/dist/source-canonical.js +51 -0
  94. package/dist/source-crypto.d.ts +20 -0
  95. package/dist/source-crypto.js +17 -0
  96. package/dist/source-revision.d.ts +22 -0
  97. package/dist/source-revision.js +43 -0
  98. package/dist/spatial-impact-receipt.d.ts +38 -0
  99. package/dist/spatial-impact-receipt.js +67 -0
  100. package/dist/temporal-rewrite.d.ts +59 -0
  101. package/dist/temporal-rewrite.js +214 -0
  102. package/dist/time-domains.d.ts +37 -0
  103. package/dist/time-domains.js +142 -0
  104. package/dist/timeline-revision.d.ts +28 -0
  105. package/dist/timeline-revision.js +59 -0
  106. package/dist/trigger-document-v3.d.ts +99 -0
  107. package/dist/trigger-document-v3.js +334 -0
  108. package/dist/turn-commit.d.ts +56 -0
  109. package/dist/turn-commit.js +190 -0
  110. package/dist/validator.d.ts +7 -0
  111. package/dist/validator.js +142 -0
  112. package/dist/value-graph.d.ts +98 -0
  113. package/dist/value-graph.js +318 -0
  114. package/dist/view-event-delivery.d.ts +47 -0
  115. package/dist/view-event-delivery.js +197 -0
  116. package/dist/view-interaction-manifest-v3.d.ts +60 -0
  117. package/dist/view-interaction-manifest-v3.js +198 -0
  118. package/dist/view-payload-schema.d.ts +17 -0
  119. package/dist/view-payload-schema.js +84 -0
  120. package/package.json +62 -0
@@ -0,0 +1,238 @@
1
+ import { TMW_RUNTIME_GENERATION } from "./runtime-contract.js";
2
+ import type { TmwCapabilityRegistryV3 } from "./capability-registry.js";
3
+ import type { CompiledPlanV3 } from "./compiled-plan.js";
4
+ import { type TmwValueContextV1, type TmwValueGraphV1 } from "./value-graph.js";
5
+ import { type CommittedEventEnvelope, type EventFabricAppendReceipt, type EventFabricSnapshot } from "./event-fabric.js";
6
+ import { type EffectFlowInput, type EffectPlan } from "./effect-flow.js";
7
+ import { type ConditionEvaluationResult, type ConditionGraph, type EvaluationSnapshot } from "./condition-graph.js";
8
+ import type { RuntimeSavPayloadV3 } from "./runtime-sav.js";
9
+ import { type TmwActivationAtomicPort, type TmwActivationCandidateV3, type TmwActivationReceiptV3 } from "./activation.js";
10
+ import type { DurableIntentV3 } from "./durable-intent.js";
11
+ import type { TmwJsonValue } from "./runtime-trace.js";
12
+ import type { TmwConditionExpressionV3, TmwSemanticConditionExpressionV3 } from "./trigger-document-v3.js";
13
+ import { type EventEffectiveTime } from "./time-domains.js";
14
+ import { type TemporalRewriteDraftV3, type TemporalRewriteInterval } from "./temporal-rewrite.js";
15
+ import { type TmwCommittedWriterNoteConsumptionV1, type TmwPendingSceneClockCrossingV1 } from "./scene-state.js";
16
+ export interface TmwRuntimeBindingV3 {
17
+ readonly epoch: number;
18
+ readonly runtimeGeneration: typeof TMW_RUNTIME_GENERATION;
19
+ readonly runtimeContractHash: string;
20
+ readonly artifactDigest: string;
21
+ readonly sourceRevision: string;
22
+ readonly timelineRevision: string;
23
+ readonly leaseId: string;
24
+ }
25
+ export interface TmwRuntimeActivationResult {
26
+ readonly condition: ConditionEvaluationResult;
27
+ readonly effectPlan: EffectPlan;
28
+ }
29
+ export interface TmwRuntimeSemanticPredicateRequest {
30
+ readonly predicateKey: string;
31
+ readonly condition: TmwSemanticConditionExpressionV3;
32
+ readonly evidenceIdentity: Readonly<{
33
+ readonly eventId: string;
34
+ readonly eventPayloadHash: string;
35
+ readonly sourceOperationId: string;
36
+ }>;
37
+ }
38
+ export interface TmwRuntimeSemanticPredicateVerdict {
39
+ readonly predicateKey: string;
40
+ readonly sourceOperationId: string;
41
+ readonly evidenceSetDigest: string;
42
+ readonly truth: "true" | "false" | "unknown";
43
+ readonly confidenceMillionths: number;
44
+ }
45
+ export interface TmwRuntimeSemanticJudgeReceipt {
46
+ /** Revision 2 receipts. Legacy predicateValues are accepted structurally but never trusted. */
47
+ readonly verdicts?: ReadonlyArray<TmwRuntimeSemanticPredicateVerdict>;
48
+ readonly predicateValues?: Readonly<Record<string, "true" | "false" | "unknown">>;
49
+ readonly budgetReceiptDigest: string;
50
+ readonly evidenceSetDigest: string;
51
+ readonly providerReceiptDigest: string;
52
+ readonly verdictDigest: string;
53
+ }
54
+ export interface TmwRuntimeSemanticJudgePort {
55
+ judge(input: Readonly<{
56
+ event: CommittedEventEnvelope;
57
+ turnId: string;
58
+ operationId: string;
59
+ intentId: string;
60
+ idempotencyKey: string;
61
+ predicates: ReadonlyArray<TmwRuntimeSemanticPredicateRequest>;
62
+ /** Compatibility projection for legacy callers; it does not carry enough evidence to be trusted. */
63
+ predicateKeys: ReadonlyArray<string>;
64
+ }>): Promise<TmwRuntimeSemanticJudgeReceipt>;
65
+ }
66
+ export interface TmwRuntimeEffectCommitReceipt {
67
+ readonly preActivationTerminalDigest: string;
68
+ readonly worldMutationRecoveryOperation: TmwJsonValue | null;
69
+ }
70
+ export interface TmwPreparedWorldMutationBinding {
71
+ readonly bindingId: string;
72
+ readonly operationId: string;
73
+ readonly turnId: string;
74
+ }
75
+ export interface TmwRuntimeEffectCommitPort {
76
+ prepareWorldMutation(input: Readonly<{
77
+ epoch: number;
78
+ runtimeContractHash: string;
79
+ artifactDigest: string;
80
+ event: CommittedEventEnvelope;
81
+ turnId: string;
82
+ operationId: string;
83
+ worldEffectNodeIds: ReadonlyArray<string>;
84
+ }>): Promise<TmwPreparedWorldMutationBinding>;
85
+ stage(input: Readonly<{
86
+ event: CommittedEventEnvelope;
87
+ turnId: string;
88
+ operationId: string;
89
+ preparedWorldMutation: TmwPreparedWorldMutationBinding | null;
90
+ plans: ReadonlyArray<EffectPlan>;
91
+ durableIntents: ReadonlyArray<DurableIntentV3>;
92
+ }>): Promise<TmwRuntimeEffectCommitReceipt>;
93
+ finalizeWorldMutation(input: Readonly<{
94
+ operationId: string;
95
+ preparedWorldMutation: TmwPreparedWorldMutationBinding | null;
96
+ }>): Promise<void>;
97
+ rollbackWorldMutation(input: Readonly<{
98
+ operationId: string;
99
+ preparedWorldMutation: TmwPreparedWorldMutationBinding | null;
100
+ reason: "activation_conflict" | "activation_failed";
101
+ }>): Promise<void>;
102
+ }
103
+ /** 已由 Runtime 验证、可与 activation 同一事务消费的作者到 View 下行投影。 */
104
+ export interface TmwVerifiedAuthorViewEvent {
105
+ readonly eventId: string;
106
+ readonly eventType: string;
107
+ readonly viewVisiblePayload: Readonly<Record<string, null | boolean | number | string>>;
108
+ }
109
+ /**
110
+ * 可选的 activation outbox 暂存 seam。Runtime 只在 verified projection 后暂存;
111
+ * 真正持久化必须由同一个 activation.commitAtomic 事务消费。
112
+ */
113
+ export interface TmwVerifiedAuthorViewOutboxPort {
114
+ stage(input: Readonly<{
115
+ operationId: string;
116
+ binding: Readonly<{
117
+ epoch: number;
118
+ artifactDigest: string;
119
+ sourceRevision: string;
120
+ timelineRevision: string;
121
+ saveId: string;
122
+ worldlineId: string;
123
+ }>;
124
+ events: ReadonlyArray<TmwVerifiedAuthorViewEvent>;
125
+ }>): Promise<void>;
126
+ rollback(input: Readonly<{
127
+ operationId: string;
128
+ }>): Promise<void>;
129
+ }
130
+ export interface TmwRuntimeExecutionPorts {
131
+ readonly semanticJudge: TmwRuntimeSemanticJudgePort;
132
+ readonly effectCommit: TmwRuntimeEffectCommitPort;
133
+ readonly activation: TmwActivationAtomicPort;
134
+ readonly verifiedAuthorViewOutbox?: TmwVerifiedAuthorViewOutboxPort;
135
+ }
136
+ export interface TmwRuntimeTemporalRewriteDraftPort {
137
+ generate(input: Readonly<{
138
+ epoch: number;
139
+ runtimeGeneration: typeof TMW_RUNTIME_GENERATION;
140
+ runtimeContractHash: string;
141
+ artifactDigest: string;
142
+ scenarioId: string;
143
+ sourceRevision: string;
144
+ timelineRevision: string;
145
+ eventLedgerDigest: string;
146
+ interval: TemporalRewriteInterval;
147
+ turnId: string;
148
+ operationId: string;
149
+ idempotencyKey: string;
150
+ boundedContext: TmwJsonValue;
151
+ }>): Promise<TemporalRewriteDraftV3>;
152
+ }
153
+ export interface TmwRuntimeTemporalRewritePorts {
154
+ readonly draft: TmwRuntimeTemporalRewriteDraftPort;
155
+ readonly semanticJudge: TmwRuntimeSemanticJudgePort;
156
+ readonly effectCommit: TmwRuntimeEffectCommitPort;
157
+ readonly activation: TmwActivationAtomicPort;
158
+ }
159
+ export interface TmwCommittedEventExecutionReceipt {
160
+ readonly eventReceipt: EventFabricAppendReceipt;
161
+ readonly activation: TmwActivationReceiptV3;
162
+ readonly candidate: TmwActivationCandidateV3;
163
+ /** 仅在本次成功提交消费到 Runtime3 生成的 author projection 时返回。 */
164
+ readonly authorViewEvents: ReadonlyArray<TmwVerifiedAuthorViewEvent>;
165
+ }
166
+ export interface TmwTemporalRewriteExecutionReceipt {
167
+ readonly draft: TemporalRewriteDraftV3;
168
+ readonly activation: TmwActivationReceiptV3;
169
+ readonly candidate: TmwActivationCandidateV3;
170
+ }
171
+ export interface TmwSuccessfulWriterTurnCommitV1 {
172
+ readonly operationId: string;
173
+ readonly turnId: string;
174
+ readonly worldlineId: string;
175
+ readonly logicalSeq: number;
176
+ readonly worldTime: number | null;
177
+ readonly writerReceiptDigest: string;
178
+ readonly noteConsumption: Omit<TmwCommittedWriterNoteConsumptionV1, "writerReceiptDigest"> | null;
179
+ readonly pendingClockCrossings: ReadonlyArray<TmwPendingSceneClockCrossingV1>;
180
+ }
181
+ export interface TmwSuccessfulWriterTurnCommitReceiptV1 {
182
+ readonly status: "committed" | "already_committed";
183
+ readonly activation: TmwActivationReceiptV3;
184
+ /** null only for an idempotent replay whose candidate was committed by an earlier host call. */
185
+ readonly candidate: TmwActivationCandidateV3 | null;
186
+ }
187
+ export interface TmwRuntimeHostV3 {
188
+ readonly binding: TmwRuntimeBindingV3;
189
+ readonly compiledPlan: CompiledPlanV3;
190
+ restore(payload: RuntimeSavPayloadV3): void;
191
+ restoredSav(): RuntimeSavPayloadV3 | null;
192
+ materializeSav(input: Readonly<{
193
+ turnId: string;
194
+ preActivationTerminalDigest: string;
195
+ }>): RuntimeSavPayloadV3;
196
+ viewEventCommitContext(eventType: string, observation: Readonly<{
197
+ coordinates: CommittedEventEnvelope["coordinates"];
198
+ crossingDirection: CommittedEventEnvelope["crossingDirection"];
199
+ }>): Readonly<{
200
+ timelineRevision: string;
201
+ hardFact: boolean;
202
+ effectiveTime: EventEffectiveTime;
203
+ coordinates: CommittedEventEnvelope["coordinates"];
204
+ crossingDirection: CommittedEventEnvelope["crossingDirection"];
205
+ }>;
206
+ ingestCommittedEvent(event: CommittedEventEnvelope): Promise<EventFabricAppendReceipt>;
207
+ executeCommittedEvent(event: CommittedEventEnvelope, ports: TmwRuntimeExecutionPorts): Promise<TmwCommittedEventExecutionReceipt>;
208
+ commitSuccessfulWriterTurn(input: TmwSuccessfulWriterTurnCommitV1, activation: TmwActivationAtomicPort): Promise<TmwSuccessfulWriterTurnCommitReceiptV1>;
209
+ rewriteTimeline(input: Readonly<{
210
+ scenarioId: string;
211
+ targetWorldTime: number;
212
+ turnId: string;
213
+ operationId: string;
214
+ deadlineEpochMs: number;
215
+ }>, ports: TmwRuntimeTemporalRewritePorts): Promise<TmwTemporalRewriteExecutionReceipt>;
216
+ evaluate(input: Readonly<{
217
+ graph: ConditionGraph;
218
+ snapshot: EvaluationSnapshot;
219
+ effectFlow: Omit<EffectFlowInput, "conditionTruth">;
220
+ }>): TmwRuntimeActivationResult;
221
+ snapshot(): EventFabricSnapshot;
222
+ dispose(): void;
223
+ }
224
+ export interface TmwConditionExpressionSnapshotV3 {
225
+ readonly graph: ConditionGraph;
226
+ readonly values: Readonly<Record<string, "true" | "false" | "unknown">>;
227
+ readonly semanticPredicates: ReadonlyArray<Readonly<{
228
+ predicateKey: string;
229
+ condition: TmwSemanticConditionExpressionV3;
230
+ }>>;
231
+ }
232
+ export declare function buildTmwConditionExpressionSnapshotV3(expression: TmwConditionExpressionV3, eventPayload: Readonly<Record<string, TmwJsonValue>>, prefix: string, positiveSemanticLatches?: ReadonlySet<string>, valueContext?: TmwValueContextV1, valueGraph?: TmwValueGraphV1): TmwConditionExpressionSnapshotV3;
233
+ export declare function resolveTmwSemanticPredicateValues(predicates: ReadonlyArray<TmwRuntimeSemanticPredicateRequest>, receipt: TmwRuntimeSemanticJudgeReceipt): Readonly<Record<string, "true" | "false" | "unknown">>;
234
+ export declare function createTmwRuntimeHost(input: Readonly<{
235
+ binding: TmwRuntimeBindingV3;
236
+ compiledPlan: CompiledPlanV3;
237
+ capabilityRegistry: TmwCapabilityRegistryV3;
238
+ }>): TmwRuntimeHostV3;