@world-engines/scenario-review-snapshot 0.0.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.
@@ -0,0 +1,180 @@
1
+ import { type NeutralSourceCompileInput } from "@world-engines/scenario-author-source";
2
+ import { type CompileNeutralScenarioSourceOutcome, type CompileTargetProfile, type MusicCandidateSourceV3, type NeutralCompiledSpatialBase, type NeutralSourceCompilerReceipt, type TriggerDocumentV3, type ViewInteractionManifestV3, type ViewInteractionSourceV3 } from "@world-engines/tmw";
3
+ import { type FrozenPublishInput, type FrozenPublishResource, type FrozenRuntimeIdentity, type FrozenSystemPrompt } from "./artifact.js";
4
+ import type { JsonValue } from "./types.js";
5
+ export declare const NEUTRAL_ARTIFACT_EMBEDDING_INDEX_PATH: "__derived__/embedding-index-v1.json";
6
+ export declare const FRESH_RUNTIME3_PLAYER_TURN_POLICY_SCHEMA_VERSION: 1;
7
+ export interface FrozenArtifactEmbeddingSourceIdentity {
8
+ readonly owner_id: string;
9
+ readonly scenario_id: string;
10
+ readonly source_revision: number;
11
+ readonly revision_digest: string;
12
+ }
13
+ export interface FrozenArtifactEmbeddingRequestEntity {
14
+ readonly entity_id: string;
15
+ readonly source_kind: "entity" | "chunk" | "statement" | "edge_assertion";
16
+ readonly source_text: string;
17
+ readonly source_text_sha256: string;
18
+ }
19
+ export interface FrozenArtifactEmbeddingBatchRequest {
20
+ readonly source: FrozenArtifactEmbeddingSourceIdentity;
21
+ readonly entities: readonly FrozenArtifactEmbeddingRequestEntity[];
22
+ readonly signal?: AbortSignal;
23
+ }
24
+ export interface FrozenArtifactEmbeddingDescriptor {
25
+ readonly provider: string;
26
+ readonly model: string;
27
+ readonly dimension: number;
28
+ readonly descriptor_sha256: string;
29
+ readonly source_revision: number;
30
+ readonly source_revision_digest: string;
31
+ }
32
+ export interface FrozenArtifactEmbeddingEntry {
33
+ readonly entity_id: string;
34
+ readonly source_kind: FrozenArtifactEmbeddingRequestEntity["source_kind"];
35
+ readonly source_text_sha256: string;
36
+ readonly vector: readonly number[];
37
+ }
38
+ export interface FrozenArtifactEmbeddingBatchResult {
39
+ readonly descriptor: FrozenArtifactEmbeddingDescriptor;
40
+ readonly entries: readonly FrozenArtifactEmbeddingEntry[];
41
+ }
42
+ export type FrozenArtifactEmbeddingBatch = (request: FrozenArtifactEmbeddingBatchRequest) => Promise<FrozenArtifactEmbeddingBatchResult>;
43
+ export interface NeutralArtifactGraphProjection {
44
+ readonly entities: readonly JsonValue[];
45
+ readonly relations: readonly JsonValue[];
46
+ }
47
+ export interface NeutralArtifactEmbeddingMaterialization {
48
+ readonly descriptor: FrozenArtifactEmbeddingDescriptor;
49
+ readonly vector_by_entity_id: ReadonlyMap<string, readonly number[]>;
50
+ readonly index_resource: FrozenPublishResource;
51
+ }
52
+ /** `scenario-database-codec Rust crate` WASM 的唯一调用 seam;Browser 与 Node 注入同一 adapter。 */
53
+ export interface FrozenDatabaseCodecV1Input {
54
+ readonly graph_v5_json: Uint8Array;
55
+ readonly embedding_index_v1_json: Uint8Array;
56
+ readonly vector_values: Float64Array;
57
+ readonly sidecar_v5_json: Uint8Array;
58
+ }
59
+ export interface FrozenDatabaseCodecV1Result {
60
+ readonly codec: "frozen-database-v1";
61
+ readonly vector_dtype: "f32-le" | "f64-le";
62
+ readonly bytes: Uint8Array;
63
+ }
64
+ export type PackFrozenDatabase = (input: FrozenDatabaseCodecV1Input) => Promise<FrozenDatabaseCodecV1Result>;
65
+ export declare const FROZEN_DATABASE_VIEW_ACCESS_POLICY_SCHEMA_VERSION: 3;
66
+ /**
67
+ * 新 frozen database 只传 graph-v5 的 policy identity。Player/Edge 必须从同一
68
+ * graph 完整还原 V2 subjects 并校验 digest;旧 V2 full-subject wire 仅供 reader 兼容。
69
+ */
70
+ export interface FrozenDatabaseDerivedViewAccessPolicyV3 {
71
+ readonly schemaVersion: typeof FROZEN_DATABASE_VIEW_ACCESS_POLICY_SCHEMA_VERSION;
72
+ readonly derivation: "graph-v5";
73
+ readonly policySha256: readonly number[];
74
+ }
75
+ /** 已通过同一深模块完整校验,可供 Host 只读 query adapter 消费;读取不会触发 provider。 */
76
+ export interface PreparedNeutralArtifactEmbeddingSnapshot {
77
+ readonly source: FrozenArtifactEmbeddingSourceIdentity;
78
+ readonly batch: FrozenArtifactEmbeddingBatchResult;
79
+ readonly materialization: NeutralArtifactEmbeddingMaterialization;
80
+ }
81
+ export interface NeutralArtifactCompiler<TProfile, TResult> {
82
+ compile(input: NeutralSourceCompileInput, profile: TProfile): Promise<TResult>;
83
+ }
84
+ export interface CapturedNeutralArtifactCompilation<TResult> {
85
+ readonly source: NeutralSourceCompileInput;
86
+ readonly compilation: TResult;
87
+ }
88
+ export declare const NEUTRAL_ARTIFACT_DERIVED_RESOURCE_PREFIX: "__derived__/";
89
+ export interface NeutralArtifactRuntimeDefinitions {
90
+ readonly triggers: readonly JsonValue[];
91
+ readonly trigger_variables_schema: readonly JsonValue[];
92
+ readonly cg_defs: readonly JsonValue[];
93
+ readonly achievement_defs: readonly JsonValue[];
94
+ readonly transaction_defs: readonly JsonValue[];
95
+ }
96
+ export interface NeutralArtifactSourceModel<TViewProject = unknown> {
97
+ readonly metadata: JsonValue;
98
+ readonly protagonist: JsonValue;
99
+ readonly system_prompts: readonly FrozenSystemPrompt[];
100
+ readonly graph: NeutralArtifactGraphProjection;
101
+ readonly trigger_document: TriggerDocumentV3;
102
+ readonly compiled_plan: JsonValue;
103
+ readonly view_project: TViewProject;
104
+ readonly view_source_bytes: Uint8Array;
105
+ readonly view_interaction_mobile: ViewInteractionSourceV3 | null;
106
+ readonly view_interaction_pc: ViewInteractionSourceV3 | null;
107
+ readonly music_candidate_source: MusicCandidateSourceV3;
108
+ readonly retrieval: JsonValue;
109
+ readonly runtime_definitions: NeutralArtifactRuntimeDefinitions;
110
+ readonly source_metadata: Readonly<Record<string, JsonValue>>;
111
+ readonly resources: readonly FrozenPublishResource[];
112
+ readonly spatial_world: NeutralCompiledSpatialBase | null;
113
+ }
114
+ export interface NeutralArtifactCompilation<TViewProject = unknown> {
115
+ readonly profile: CompileTargetProfile;
116
+ readonly profile_digest: string;
117
+ readonly receipt: NeutralSourceCompilerReceipt;
118
+ readonly model: NeutralArtifactSourceModel<TViewProject>;
119
+ readonly witness_resources: readonly FrozenPublishResource[];
120
+ }
121
+ export interface NeutralArtifactCompilerWitnessInput {
122
+ readonly source: NeutralSourceCompileInput;
123
+ readonly target_profile_bytes: Uint8Array;
124
+ readonly target_profile_digest: string;
125
+ readonly compiler_receipt_bytes: Uint8Array;
126
+ readonly compiler_receipt_digest: string;
127
+ }
128
+ export type NeutralArtifactViewProjectAdapter<TViewProject> = (canonicalGzipTar: Uint8Array) => Promise<TViewProject>;
129
+ export interface AssembleNeutralFrozenPublishInput<TViewProject = unknown> {
130
+ readonly source: NeutralSourceCompileInput;
131
+ readonly content_epoch: number;
132
+ readonly compilation: NeutralArtifactCompilation<TViewProject>;
133
+ readonly embedding: NeutralArtifactEmbeddingMaterialization;
134
+ readonly database_bytes: Uint8Array;
135
+ readonly database_delivery_bytes: Uint8Array;
136
+ readonly view_publish_mobile_bytes: Uint8Array;
137
+ readonly view_publish_pc_bytes: Uint8Array;
138
+ readonly runtime_identity: FrozenRuntimeIdentity;
139
+ }
140
+ export interface EncodeNeutralReviewDatabaseInput<TViewProject = unknown> {
141
+ readonly source: NeutralSourceCompileInput;
142
+ readonly content_epoch: number;
143
+ readonly compilation: NeutralArtifactCompilation<TViewProject>;
144
+ readonly embedding: NeutralArtifactEmbeddingMaterialization;
145
+ readonly packFrozenDatabase: PackFrozenDatabase;
146
+ }
147
+ /** ADR-0148 canonical source text: enabled incident relations enrich both endpoint entities. */
148
+ export declare function deriveNeutralArtifactEntityEmbeddingSourceText(entityValue: JsonValue, graph: NeutralArtifactGraphProjection): string;
149
+ export declare function compileCapturedNeutralSource<TProfile, TResult>(source: NeutralSourceCompileInput, profile: TProfile, compiler: NeutralArtifactCompiler<TProfile, TResult>): Promise<CapturedNeutralArtifactCompilation<TResult>>;
150
+ /**
151
+ * Runtime3 的 player turn 只消费已编译计划中的 policy 段;不回读 ArtifactV5 中
152
+ * 已退役的 metadata/system_prompts identity pair。policy digest 只覆盖可执行作者语义
153
+ * 与 runtime contract,Artifact/head/five-object identity 由 Edge verified reader 再绑定。
154
+ */
155
+ export declare function attachFreshRuntime3PlayerTurnPolicy(compiledPlan: JsonValue, prompts: readonly FrozenSystemPrompt[], runtimeContractHash: string): JsonValue;
156
+ /**
157
+ * 把一次成功 compiler outcome 物化为 Browser/Node 共用的发布模型。
158
+ * gzip-tar 解包是唯一外部 seam;调用方不能重写 compiler derived-object 解释规则。
159
+ */
160
+ export declare function materializeNeutralArtifactCompilation<TViewProject>(source: NeutralSourceCompileInput, profile: CompileTargetProfile, outcome: Extract<CompileNeutralScenarioSourceOutcome, {
161
+ readonly ok: true;
162
+ }>, unpackViewProject: NeutralArtifactViewProjectAdapter<TViewProject>): Promise<NeutralArtifactCompilation<TViewProject>>;
163
+ export declare function buildNeutralArtifactWitnessResources(input: NeutralArtifactCompilerWitnessInput): Promise<readonly FrozenPublishResource[]>;
164
+ export declare function mergeNeutralArtifactResources(authorResources: readonly FrozenPublishResource[], witnessResources: readonly FrozenPublishResource[], derivedResources?: readonly FrozenPublishResource[]): readonly FrozenPublishResource[];
165
+ /**
166
+ * 编译产物取得最终 epoch/artifact identity 时,保留 source 中的完整下行声明。
167
+ * source digest 先验证,避免 compiler 以未签名声明扩展 View SDK 面。
168
+ */
169
+ export declare function bindViewInteractionManifestForFrozenArtifact(source: ViewInteractionSourceV3 | null, epoch: number, runtimeContractHash: string, artifactBytes: Uint8Array): Promise<ViewInteractionManifestV3 | null>;
170
+ /**
171
+ * 由 compiler materialization 直接生成 fresh-only compact database v1;Browser
172
+ * 与 Node 必须注入同一 Rust/WASM adapter,禁止在 JS 内先拼出含向量的完整 JSON。
173
+ */
174
+ export declare function encodeNeutralReviewDatabaseSnapshot<TViewProject>(input: EncodeNeutralReviewDatabaseInput<TViewProject>): Promise<Uint8Array>;
175
+ /** 最终 FrozenPublishInput 唯一共享装配点;返回前执行 ArtifactV5 全量 normalization。 */
176
+ export declare function assembleNeutralFrozenPublishInput<TViewProject>(input: AssembleNeutralFrozenPublishInput<TViewProject>): Promise<FrozenPublishInput>;
177
+ /** Formal freeze 与本地 authoring recall 共用的唯一 corpus 文本投影;关系索引每批只构建一次。 */
178
+ export declare function projectNeutralArtifactEmbeddingSources(graph: NeutralArtifactGraphProjection): readonly Readonly<Pick<FrozenArtifactEmbeddingRequestEntity, "entity_id" | "source_kind" | "source_text">>[];
179
+ export declare function prepareNeutralArtifactEmbeddingSnapshot(graph: NeutralArtifactGraphProjection, source: FrozenArtifactEmbeddingSourceIdentity, runBatch: FrozenArtifactEmbeddingBatch, signal?: AbortSignal): Promise<PreparedNeutralArtifactEmbeddingSnapshot>;
180
+ export declare function materializeNeutralArtifactEmbeddings(graph: NeutralArtifactGraphProjection, source: FrozenArtifactEmbeddingSourceIdentity, runBatch: FrozenArtifactEmbeddingBatch, signal?: AbortSignal): Promise<NeutralArtifactEmbeddingMaterialization>;