@endge/core 1.2.8 → 1.2.9

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 (58) hide show
  1. package/dist/core.cjs +326 -274
  2. package/dist/core.js +26108 -24155
  3. package/dist/domain/entities/reflect/RComputation.d.ts +0 -3
  4. package/dist/domain/entities/reflect/RStream.d.ts +8 -0
  5. package/dist/domain/entities/reflect/RType.d.ts +2 -9
  6. package/dist/domain/entities/reflect/RUpdate.d.ts +10 -0
  7. package/dist/domain/entities/runtime/hosts/CompositionRuntimeHost.d.ts +10 -0
  8. package/dist/domain/entities/runtime/hosts/StoreRuntimeHost.d.ts +16 -0
  9. package/dist/domain/entities/runtime/hosts/StreamRuntimeHost.d.ts +30 -0
  10. package/dist/domain/types/computation/computation-source.types.d.ts +3 -0
  11. package/dist/domain/types/document/document.types.d.ts +4 -2
  12. package/dist/domain/types/document/domain-export.type.d.ts +2 -0
  13. package/dist/domain/types/document/schema.types.d.ts +6 -0
  14. package/dist/domain/types/program/program.types.d.ts +5 -2
  15. package/dist/domain/types/runtime/runtime-entity-map.types.d.ts +3 -0
  16. package/dist/domain/types/runtime/runtime-host.types.d.ts +5 -0
  17. package/dist/domain/types/runtime/runtime.types.d.ts +3 -2
  18. package/dist/domain/types/runtime/stream-runtime.types.d.ts +17 -0
  19. package/dist/domain/types/source/composition-source.types.d.ts +8 -1
  20. package/dist/domain/types/source/data-view-source.types.d.ts +6 -1
  21. package/dist/domain/types/source/filter-source.types.d.ts +47 -0
  22. package/dist/domain/types/source/index.d.ts +2 -0
  23. package/dist/domain/types/source/query-source.types.d.ts +2 -1
  24. package/dist/domain/types/source/source-engine.types.d.ts +2 -2
  25. package/dist/domain/types/source/source-expression.types.d.ts +1 -1
  26. package/dist/domain/types/source/store-source.types.d.ts +9 -0
  27. package/dist/domain/types/source/stream-source.types.d.ts +39 -0
  28. package/dist/domain/types/source/update-source.types.d.ts +32 -0
  29. package/dist/main.d.ts +7 -0
  30. package/dist/model/db/repositories/Actions_Repository.d.ts +0 -7
  31. package/dist/model/db/repositories/Computations_Repository.d.ts +0 -2
  32. package/dist/model/db/repositories/Streams_Repository.d.ts +27 -0
  33. package/dist/model/db/repositories/Types_Repository.d.ts +5 -8
  34. package/dist/model/db/repositories/Updates_Repository.d.ts +26 -0
  35. package/dist/model/endge/domain/endge-domain.d.ts +32 -0
  36. package/dist/model/endge/domain/endge-types.d.ts +12 -0
  37. package/dist/model/endge/kernel/endge.d.ts +3 -0
  38. package/dist/model/endge/program/endge-compiler.d.ts +8 -0
  39. package/dist/model/endge/program/endge-program.d.ts +6 -0
  40. package/dist/model/endge/runtime/execution/computation/EndgeComputation.d.ts +6 -0
  41. package/dist/model/services/compiler/computation/computation-compile.d.ts +1 -3
  42. package/dist/model/services/runtime/strategies/StreamRuntimeStrategy.d.ts +9 -0
  43. package/dist/model/services/runtime/transports/BrowserSseStreamTransportFactory.d.ts +5 -0
  44. package/dist/model/services/source-engine/compilers/stream-source-compile.d.ts +3 -0
  45. package/dist/model/services/source-engine/compilers/update-source-compile.d.ts +3 -0
  46. package/dist/model/services/source-engine/filter-source-patch.d.ts +12 -0
  47. package/dist/model/services/source-engine/source-document-reference.d.ts +7 -0
  48. package/dist/model/services/source-engine/strategies/FilterSourcePatchStrategy.d.ts +10 -0
  49. package/dist/model/services/source-engine/strategies/StreamSourceEngineStrategy.d.ts +7 -0
  50. package/dist/model/services/source-engine/strategies/StreamSourceLanguageStrategy.d.ts +10 -0
  51. package/dist/model/services/source-engine/strategies/UpdateSourceEngineStrategy.d.ts +7 -0
  52. package/dist/model/services/source-engine/strategies/UpdateSourceLanguageStrategy.d.ts +10 -0
  53. package/dist/model/services/source-engine/templates/stream.default.source.d.ts +1 -0
  54. package/dist/model/services/source-engine/templates/update.default.source.d.ts +1 -0
  55. package/dist/test/model/endge/runtime/computation-source-preview.test.d.ts +1 -0
  56. package/dist/test/model/services/compiler/computation/groundhandling-process-state.test.d.ts +1 -0
  57. package/dist/test/model/services/source-engine/value-expression-operations.test.d.ts +1 -0
  58. package/package.json +4 -3
package/dist/main.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './model/endge/kernel/endge';
2
2
  export * from './model/endge/domain/endge-domain';
3
+ export * from './model/endge/domain/endge-types';
3
4
  export * from './model/endge/domain/resolved/resolved-entity-index';
4
5
  export * from './model/endge/runtime/implementation/endge-implementations';
5
6
  export * from './model/endge/program/endge-program';
@@ -57,6 +58,8 @@ export * from './domain/entities/reflect/RQuery';
57
58
  export * from './domain/entities/reflect/RDataView';
58
59
  export * from './domain/entities/reflect/RComposition';
59
60
  export * from './domain/entities/reflect/RStore';
61
+ export * from './domain/entities/reflect/RStream';
62
+ export * from './domain/entities/reflect/RUpdate';
60
63
  export * from './domain/entities/reflect/RMock';
61
64
  export * from './domain/entities/reflect/RQueryFilter';
62
65
  export * from './domain/entities/reflect/RType';
@@ -140,6 +143,7 @@ export * from './model/services/compiler/component-sfc/component-sfc-forward';
140
143
  export * from './model/services/compiler/computation/computation-compile';
141
144
  export * from './model/services/style';
142
145
  export * from './model/services/source-engine/source-expression-evaluate';
146
+ export * from './model/services/source-engine/filter-source-patch';
143
147
  export * from './model/services/source-engine/type-source-serialize';
144
148
  export * from './model/services/source-engine/typescript-type-source';
145
149
  export * from './model/services/source-engine/component-sfc/component-sfc-visual-projection';
@@ -158,6 +162,9 @@ export * from './model/services/runtime/strategies/QueryRuntimeStrategy';
158
162
  export * from './model/services/runtime/strategies/FilterRuntimeStrategy';
159
163
  export * from './model/services/runtime/strategies/CompositionRuntimeStrategy';
160
164
  export * from './model/services/runtime/strategies/StoreRuntimeStrategy';
165
+ export * from './model/services/runtime/strategies/StreamRuntimeStrategy';
166
+ export * from './domain/entities/runtime/hosts/StreamRuntimeHost';
167
+ export * from './domain/types/runtime/stream-runtime.types';
161
168
  export * from './model/db/schema-database/PayloadSchemaAdapter';
162
169
  export * from './model/db/schema-database/BaseSchemaRepositoriy';
163
170
  export * from './model/db/schema-database/SchemaStorageAdapter';
@@ -1,17 +1,10 @@
1
1
  import { AxiosInstance } from 'axios';
2
2
  import { ActionFlowDefinition } from '../../../domain/types/flow/endge-flow.types';
3
- export interface ActionRepositoryFieldContract {
4
- type: number | string | null;
5
- isArray?: boolean;
6
- optional?: boolean;
7
- }
8
3
  export interface ActionRepositoryPayload {
9
4
  identity: string;
10
5
  displayName: string;
11
6
  description?: string | null;
12
7
  definition: ActionFlowDefinition;
13
- input?: ActionRepositoryFieldContract | null;
14
- output?: ActionRepositoryFieldContract | null;
15
8
  target?: Array<{
16
9
  type: string;
17
10
  identity?: string;
@@ -6,8 +6,6 @@ export interface ComputationsPayloadFields {
6
6
  source: string;
7
7
  sourceVersion: number;
8
8
  contractVersion: number;
9
- input?: Record<string, unknown> | null;
10
- output?: Record<string, unknown> | null;
11
9
  folder?: string | number | null;
12
10
  meta?: Record<string, unknown>;
13
11
  author?: string | null;
@@ -0,0 +1,27 @@
1
+ import { AxiosInstance } from 'axios';
2
+ export interface StreamsPayloadFields {
3
+ identity: string;
4
+ displayName: string;
5
+ description?: string | null;
6
+ source: string;
7
+ sourceVersion: number;
8
+ folder?: string | number | null;
9
+ meta?: Record<string, unknown>;
10
+ author?: string | null;
11
+ active?: boolean;
12
+ deletedAt?: string | null;
13
+ }
14
+ /** Репозиторий Payload-коллекции streams. */
15
+ export declare class Streams_Repository {
16
+ private readonly api;
17
+ constructor(api: AxiosInstance);
18
+ findByIdentity(identity: string): Promise<any>;
19
+ findAll(params?: Record<string, any>): Promise<any>;
20
+ create(data: StreamsPayloadFields): Promise<any>;
21
+ update(id: string | number, data: Partial<StreamsPayloadFields>): Promise<any>;
22
+ upsert(data: StreamsPayloadFields): Promise<any>;
23
+ patchFolder(id: string | number, folder: string | number | null): Promise<any>;
24
+ softDelete(identity: string, folder?: string | number): Promise<void>;
25
+ hardDelete(identity: string): Promise<void>;
26
+ restore(identity: string, folder: string | number): Promise<void>;
27
+ }
@@ -8,13 +8,12 @@ export declare class Types_Repository {
8
8
  create(data: {
9
9
  identity: string;
10
10
  displayName: string;
11
- schema: any;
12
- source?: string;
11
+ description?: string | null;
12
+ source: string;
13
13
  sourceVersion?: number;
14
14
  author?: string;
15
15
  folder?: number | string;
16
16
  active?: boolean;
17
- isPrimitive?: boolean;
18
17
  managedBy?: ManagedBy;
19
18
  managedById?: string | null;
20
19
  meta?: Record<string, unknown>;
@@ -23,13 +22,12 @@ export declare class Types_Repository {
23
22
  update(id: number | string, data: Partial<{
24
23
  identity: string;
25
24
  displayName: string;
26
- schema: any;
25
+ description: string | null;
27
26
  source: string;
28
27
  sourceVersion: number;
29
28
  author?: string;
30
29
  folder: number | string;
31
30
  active: boolean;
32
- isPrimitive: boolean;
33
31
  managedBy: ManagedBy;
34
32
  managedById: string | null;
35
33
  meta: Record<string, unknown>;
@@ -37,13 +35,12 @@ export declare class Types_Repository {
37
35
  upsert(data: {
38
36
  identity: string;
39
37
  displayName: string;
40
- schema: any;
41
- source?: string;
38
+ description?: string | null;
39
+ source: string;
42
40
  sourceVersion?: number;
43
41
  author?: string;
44
42
  folder?: number | string;
45
43
  active?: boolean;
46
- isPrimitive?: boolean;
47
44
  managedBy?: ManagedBy;
48
45
  managedById?: string | null;
49
46
  meta?: Record<string, unknown>;
@@ -0,0 +1,26 @@
1
+ import { AxiosInstance } from 'axios';
2
+ export interface UpdatesPayloadFields {
3
+ identity: string;
4
+ displayName: string;
5
+ description?: string | null;
6
+ store: string | number;
7
+ source: string;
8
+ sourceVersion: number;
9
+ meta?: Record<string, unknown>;
10
+ author?: string | null;
11
+ active?: boolean;
12
+ deletedAt?: string | null;
13
+ }
14
+ /** Репозиторий Store-owned Payload-коллекции updates. */
15
+ export declare class Updates_Repository {
16
+ private readonly api;
17
+ constructor(api: AxiosInstance);
18
+ findByIdentity(identity: string): Promise<any>;
19
+ findAll(params?: Record<string, any>): Promise<any>;
20
+ create(data: UpdatesPayloadFields): Promise<any>;
21
+ update(id: string | number, data: Partial<UpdatesPayloadFields>): Promise<any>;
22
+ upsert(data: UpdatesPayloadFields): Promise<any>;
23
+ softDelete(identity: string): Promise<void>;
24
+ hardDelete(identity: string): Promise<void>;
25
+ restore(identity: string): Promise<void>;
26
+ }
@@ -12,6 +12,8 @@ import { RConverter } from '../../../domain/entities/reflect/RConverter';
12
12
  import { RDataView } from '../../../domain/entities/reflect/RDataView';
13
13
  import { RComposition } from '../../../domain/entities/reflect/RComposition';
14
14
  import { RStore } from '../../../domain/entities/reflect/RStore';
15
+ import { RStream } from '../../../domain/entities/reflect/RStream';
16
+ import { RUpdate } from '../../../domain/entities/reflect/RUpdate';
15
17
  import { RMock } from '../../../domain/entities/reflect/RMock';
16
18
  import { RComputation } from '../../../domain/entities/reflect/RComputation';
17
19
  import { REnvironment } from '../../../domain/entities/reflect/REnvironment';
@@ -38,6 +40,10 @@ export declare function dataViewPayloadDocToPlain(doc: any): any;
38
40
  export declare function compositionPayloadDocToPlain(doc: any): any;
39
41
  /** Собирает plain-объект Store из документа Payload. */
40
42
  export declare function storePayloadDocToPlain(doc: any): any;
43
+ /** Собирает plain-объект Stream из документа Payload. */
44
+ export declare function streamPayloadDocToPlain(doc: any): any;
45
+ /** Собирает plain-объект Update и его persisted Store-owner из Payload. */
46
+ export declare function updatePayloadDocToPlain(doc: any): any;
41
47
  /** Собирает plain-объект Mock из документа Payload. */
42
48
  export declare function mockPayloadDocToPlain(doc: any): any;
43
49
  /** Собирает plain-объект Computation из документа Payload. */
@@ -59,6 +65,8 @@ export interface EndgeDomainParsed {
59
65
  dataViews: RDataView[];
60
66
  compositions: RComposition[];
61
67
  stores: RStore[];
68
+ streams: RStream[];
69
+ updates: RUpdate[];
62
70
  mocks: RMock[];
63
71
  computations: RComputation[];
64
72
  actions: RAction[];
@@ -94,6 +102,11 @@ export declare class EndgeDomain extends EndgeModule {
94
102
  private _compositionsByIdentity;
95
103
  private _storesById;
96
104
  private _storesByIdentity;
105
+ private _streamsById;
106
+ private _streamsByIdentity;
107
+ private _updatesById;
108
+ private _updatesByIdentity;
109
+ private _updatesByStoreIdentity;
97
110
  private _mocksById;
98
111
  private _mocksByIdentity;
99
112
  private _computationsById;
@@ -355,6 +368,25 @@ export declare class EndgeDomain extends EndgeModule {
355
368
  removeStoreByIdentity(identity: string): void;
356
369
  /** Удаляет Store по id или identity. */
357
370
  removeStore(idOrIdentity: string | number): void;
371
+ /** Возвращает все Stream-документы. */
372
+ getStreams(): RStream[];
373
+ getStreamById(id: string | number): RStream | null;
374
+ getStreamByIdentity(identity: string): RStream | null;
375
+ getStream(idOrIdentity: string | number): RStream | null;
376
+ addStream(stream: RStream): void;
377
+ removeStreamById(id: string | number): void;
378
+ removeStreamByIdentity(identity: string): void;
379
+ removeStream(idOrIdentity: string | number): void;
380
+ /** Возвращает все Update-документы независимо от Store-owner. */
381
+ getUpdates(): RUpdate[];
382
+ getUpdatesByStoreIdentity(storeIdentity: string): RUpdate[];
383
+ getUpdateById(id: string | number): RUpdate | null;
384
+ getUpdateByIdentity(identity: string): RUpdate | null;
385
+ getUpdate(idOrIdentity: string | number): RUpdate | null;
386
+ addUpdate(update: RUpdate): void;
387
+ removeUpdateById(id: string | number): void;
388
+ removeUpdateByIdentity(identity: string): void;
389
+ removeUpdate(idOrIdentity: string | number): void;
358
390
  /** Возвращает все Mock-документы. */
359
391
  getMocks(): RMock[];
360
392
  /** Возвращает Mock по Payload id. */
@@ -0,0 +1,12 @@
1
+ import { RType } from '../../../domain/entities/reflect/RType';
2
+ import { EndgeModule } from '../../../domain/entities/endge/EndgeModule';
3
+ /** Effective Type Registry: code-owned built-ins plus persisted user Types. */
4
+ export declare class EndgeTypes extends EndgeModule {
5
+ private readonly builtins;
6
+ constructor();
7
+ listBuiltins(): RType[];
8
+ listResolved(): RType[];
9
+ getCodeDefinition(identity: string): RType | null;
10
+ getDefinition(identity: string): RType | null;
11
+ private createBuiltin;
12
+ }
@@ -11,6 +11,7 @@ import { EndgeDataView } from '../runtime/execution/endge-data-view';
11
11
  import { EndgeCompiler } from '../program/endge-compiler';
12
12
  import { EndgeDiagnostics } from '../diagnostics/endge-diagnostics';
13
13
  import { EndgeDomain } from '../domain/endge-domain';
14
+ import { EndgeTypes } from '../domain/endge-types';
14
15
  import { EndgeEvents } from './endge-events';
15
16
  import { EndgeFlow } from '../runtime/flow/endge-flow';
16
17
  import { EndgeFlowRegistry } from '../runtime/flow/endge-flow-registry';
@@ -79,6 +80,8 @@ export declare class Endge extends EndgeFederation {
79
80
  * Доступ к persisted domain model.
80
81
  */
81
82
  static get domain(): EndgeDomain;
83
+ /** Доступ к effective registry встроенных и пользовательских типов. */
84
+ static get types(): EndgeTypes;
82
85
  /**
83
86
  * Доступ к compiled program read-model.
84
87
  */
@@ -2,6 +2,8 @@ import { EndgeBootContext } from '../../../domain/types/kernel/bootstrap.types';
2
2
  import { FilterProgramPayload } from '../../../domain/types/source/filter-source.types';
3
3
  import { CompositionProgramPayload } from '../../../domain/types/source/composition-source.types';
4
4
  import { StoreSourceArtifact } from '../../../domain/types/source/store-source.types';
5
+ import { StreamSourceArtifact } from '../../../domain/types/source/stream-source.types';
6
+ import { UpdateSourceArtifact } from '../../../domain/types/source/update-source.types';
5
7
  import { TypeProgramPayload } from '../../../domain/types/source/type-source.types';
6
8
  import { ComponentSFCProgramPayload, ActionProgramPayload, ComputationProgramPayload, DataViewProgramPayload, ProgramArtifact, QueryProgramPayload, EndgeStyleProgramPayload } from '../../../domain/types/program/program.types';
7
9
  import { EndgeModule } from '../../../domain/entities/endge/EndgeModule';
@@ -13,6 +15,8 @@ import { RQuery } from '../../../domain/entities/reflect/RQuery';
13
15
  import { RFilter } from '../../../domain/entities/reflect/RFilter';
14
16
  import { RComposition } from '../../../domain/entities/reflect/RComposition';
15
17
  import { RStore } from '../../../domain/entities/reflect/RStore';
18
+ import { RStream } from '../../../domain/entities/reflect/RStream';
19
+ import { RUpdate } from '../../../domain/entities/reflect/RUpdate';
16
20
  import { RStyle } from '../../../domain/entities/reflect/RStyle';
17
21
  import { RType } from '../../../domain/entities/reflect/RType';
18
22
  /**
@@ -54,6 +58,10 @@ export declare class EndgeCompiler extends EndgeModule {
54
58
  buildDataView(entity: RDataView): ProgramArtifact<DataViewProgramPayload>;
55
59
  /** Компилирует один Store source в Endge.program. */
56
60
  buildStore(entity: RStore): ProgramArtifact<StoreSourceArtifact>;
61
+ /** Компилирует один Stream source в Endge.program. */
62
+ buildStream(entity: RStream): ProgramArtifact<StreamSourceArtifact>;
63
+ /** Компилирует один дочерний Update source в Endge.program. */
64
+ buildUpdate(entity: RUpdate): ProgramArtifact<UpdateSourceArtifact>;
57
65
  /** Компилирует один Filter source в Endge.program. */
58
66
  buildFilter(entity: RFilter): ProgramArtifact<FilterProgramPayload>;
59
67
  /** Компилирует один Composition source в Endge.program. */
@@ -2,6 +2,8 @@ import { ActionCompiledFlow } from '../../../domain/types/flow/action.types';
2
2
  import { FilterProgramPayload } from '../../../domain/types/source/filter-source.types';
3
3
  import { CompositionProgramPayload } from '../../../domain/types/source/composition-source.types';
4
4
  import { StoreSourceArtifact } from '../../../domain/types/source/store-source.types';
5
+ import { StreamSourceArtifact } from '../../../domain/types/source/stream-source.types';
6
+ import { UpdateSourceArtifact } from '../../../domain/types/source/update-source.types';
5
7
  import { TypeProgramCatalogEntry, TypeProgramPayload } from '../../../domain/types/source/type-source.types';
6
8
  import { EndgeModule } from '../../../domain/entities/endge/EndgeModule';
7
9
  import { DataViewProgramPayload, EndgeProgramSnapshot, ProgramArtifact, ProgramArtifactRef, ProgramArtifactStatus, ComponentSFCTagRegistryEntry, ComputationProgramPayload, ProgramDiagnostic, ProgramEntityType, QueryProgramPayload, EndgeStyleProgramPayload } from '../../../domain/types/program/program.types';
@@ -65,6 +67,10 @@ export declare class EndgeProgram extends EndgeModule {
65
67
  getDataViewArtifact(idOrIdentity: string | number): ProgramArtifact<DataViewProgramPayload> | null;
66
68
  /** Возвращает compiled Store artifact по id или identity. */
67
69
  getStoreArtifact(idOrIdentity: string | number): ProgramArtifact<StoreSourceArtifact> | null;
70
+ /** Возвращает compiled Stream artifact по id или identity. */
71
+ getStreamArtifact(idOrIdentity: string | number): ProgramArtifact<StreamSourceArtifact> | null;
72
+ /** Возвращает compiled Update artifact по id или identity. */
73
+ getUpdateArtifact(idOrIdentity: string | number): ProgramArtifact<UpdateSourceArtifact> | null;
68
74
  /** Возвращает compiled Filter artifact по id или identity. */
69
75
  getFilterArtifact(idOrIdentity: string | number): ProgramArtifact<FilterProgramPayload> | null;
70
76
  /** Возвращает compiled Composition artifact по id или identity. */
@@ -11,6 +11,12 @@ export declare class EndgeComputation {
11
11
  executeSandbox(request: ComputationSandboxRequest): Promise<unknown>;
12
12
  run(idOrIdentity: string | number, input: unknown): Promise<unknown>;
13
13
  runArtifact(artifact: ProgramArtifact<ComputationProgramPayload>, input: unknown): Promise<unknown>;
14
+ /**
15
+ * Компилирует и выполняет transient source без публикации в Endge.program.
16
+ *
17
+ * Используется редакторами и preview-инструментами для несохранённого draft.
18
+ */
19
+ runSource(source: string, input: unknown, identity?: string): Promise<unknown>;
14
20
  runSync(idOrIdentity: string | number, input: unknown): unknown;
15
21
  runArtifactSync(artifact: ProgramArtifact<ComputationProgramPayload>, input: unknown): unknown;
16
22
  private _run;
@@ -1,10 +1,8 @@
1
- import { ComputationContractField, ComputationProgramPayload } from '../../../../domain/types/computation';
1
+ import { ComputationProgramPayload } from '../../../../domain/types/computation';
2
2
  import { ProgramDiagnostic } from '../../../../domain/types/program/program.types';
3
3
  type DiagnosticDraft = Omit<ProgramDiagnostic, 'entityRef'>;
4
4
  export interface ComputationCompileInput {
5
5
  source: string;
6
- input: ComputationContractField | null;
7
- output: ComputationContractField | null;
8
6
  }
9
7
  export interface ComputationCompileResult {
10
8
  payload: ComputationProgramPayload;
@@ -0,0 +1,9 @@
1
+ import { RStream } from '../../../../domain/entities/reflect/RStream';
2
+ import { StreamRuntimeHost } from '../../../../domain/entities/runtime/hosts/StreamRuntimeHost';
3
+ import { RuntimeStrategy } from '../../../../domain/types/runtime/runtime-strategy.types';
4
+ export declare class StreamRuntimeStrategy implements RuntimeStrategy<RStream, StreamRuntimeHost> {
5
+ readonly id = "runtime:stream";
6
+ readonly entityType: "stream";
7
+ supports(model: unknown): model is RStream;
8
+ create(ctx: Parameters<RuntimeStrategy<RStream, StreamRuntimeHost>['create']>[0]): StreamRuntimeHost | null;
9
+ }
@@ -0,0 +1,5 @@
1
+ import { StreamTransportConnection, StreamTransportFactory } from '../../../../domain/types/runtime/stream-runtime.types';
2
+ /** Browser adapter that owns native EventSource and converts it to a Core transport port. */
3
+ export declare class BrowserSseStreamTransportFactory implements StreamTransportFactory {
4
+ open(artifact: Parameters<StreamTransportFactory['open']>[0], callbacks: Parameters<StreamTransportFactory['open']>[1]): StreamTransportConnection;
5
+ }
@@ -0,0 +1,3 @@
1
+ import { StreamSourceCompileResult } from '../../../../domain/types/source/stream-source.types';
2
+ /** Compiles declarative Stream source without opening a transport. */
3
+ export declare function compileStreamSource(source: string, sourceVersion?: number): StreamSourceCompileResult;
@@ -0,0 +1,3 @@
1
+ import { UpdateSourceCompileResult } from '../../../../domain/types/source/update-source.types';
2
+ /** Compiles one Store-owned update recipe into a runtime-ready mutation descriptor. */
3
+ export declare function compileUpdateSource(source: string, sourceVersion?: number): UpdateSourceCompileResult;
@@ -0,0 +1,12 @@
1
+ import { FilterSourceEditorDocument, FilterSourcePatch } from '../../../domain/types/source/filter-source.types';
2
+ import { SourcePatchResult } from '../../../domain/types/source/source-engine.types';
3
+ /** Парсит Filter source в проекцию с абсолютными source ranges. */
4
+ export declare function parseFilterSourceForEditor(source: string): {
5
+ ok: boolean;
6
+ ast: {} | undefined;
7
+ document: FilterSourceEditorDocument | undefined;
8
+ diagnostics: Omit<import('../../../main').ProgramDiagnostic, "entityRef">[];
9
+ message: string | undefined;
10
+ };
11
+ /** Применяет visual-editor patch, не создавая вторую persisted-модель Filter. */
12
+ export declare function patchFilterSource(source: string, patch: FilterSourcePatch): SourcePatchResult<FilterSourceEditorDocument>;
@@ -10,3 +10,10 @@ export interface SourceDocumentReferenceRules {
10
10
  }
11
11
  /** Разрешает внешнюю document reference под курсором по AST и правилам DSL. */
12
12
  export declare function resolveSourceDocumentReference(context: SourceLanguageContext, rules: SourceDocumentReferenceRules): SourceDocumentReference | null;
13
+ /**
14
+ * Разрешает ссылки типизированного DSL-документа.
15
+ *
16
+ * `field(TypeIdentity)` является общим source-контрактом Type Registry,
17
+ * поэтому каждый новый типизированный язык не должен регистрировать его отдельно.
18
+ */
19
+ export declare function resolveTypedSourceDocumentReference(context: SourceLanguageContext, rules?: SourceDocumentReferenceRules): SourceDocumentReference | null;
@@ -0,0 +1,10 @@
1
+ import { FilterSourceEditorDocument, FilterSourcePatch } from '../../../../domain/types/source/filter-source.types';
2
+ import { SourceKind, SourceParseResult, SourcePatchResult, SourcePatchStrategy } from '../../../../domain/types/source/source-engine.types';
3
+ /** Source patch strategy для RFilter/source-kind=filter. */
4
+ export declare class FilterSourcePatchStrategy implements SourcePatchStrategy<FilterSourcePatch, FilterSourceEditorDocument> {
5
+ readonly id = "source-patch:filter";
6
+ readonly sourceKind: SourceKind;
7
+ supports(sourceKind: SourceKind | string): boolean;
8
+ parse(source: string): SourceParseResult<FilterSourceEditorDocument>;
9
+ patch(source: string, patch: FilterSourcePatch): SourcePatchResult<FilterSourceEditorDocument>;
10
+ }
@@ -0,0 +1,7 @@
1
+ import { SourceEngineCompileResult, SourceEngineStrategy, SourceKind } from '../../../../domain/types/source/source-engine.types';
2
+ export declare class StreamSourceEngineStrategy implements SourceEngineStrategy {
3
+ readonly id = "source:stream";
4
+ readonly sourceKind: SourceKind;
5
+ supports(sourceKind: SourceKind | string): boolean;
6
+ compile(source: string): SourceEngineCompileResult;
7
+ }
@@ -0,0 +1,10 @@
1
+ import { SourceKind, SourceLanguageCompletion, SourceLanguageContext, SourceLanguageStrategy, SourceLanguageValidationResult } from '../../../../domain/types/source/source-engine.types';
2
+ export declare class StreamSourceLanguageStrategy implements SourceLanguageStrategy {
3
+ readonly id = "source-language:stream";
4
+ readonly sourceKind: SourceKind;
5
+ readonly syntax: import('../../../../domain/types/source/source-engine.types').SourceLanguageSyntaxDefinition;
6
+ supports(sourceKind: SourceKind | string): boolean;
7
+ createDefaultSource(): string;
8
+ validate(source: string): SourceLanguageValidationResult;
9
+ completions(_context: SourceLanguageContext): SourceLanguageCompletion[];
10
+ }
@@ -0,0 +1,7 @@
1
+ import { SourceEngineCompileResult, SourceEngineStrategy, SourceKind } from '../../../../domain/types/source/source-engine.types';
2
+ export declare class UpdateSourceEngineStrategy implements SourceEngineStrategy {
3
+ readonly id = "source:update";
4
+ readonly sourceKind: SourceKind;
5
+ supports(sourceKind: SourceKind | string): boolean;
6
+ compile(source: string): SourceEngineCompileResult;
7
+ }
@@ -0,0 +1,10 @@
1
+ import { SourceKind, SourceLanguageCompletion, SourceLanguageContext, SourceLanguageStrategy, SourceLanguageValidationResult } from '../../../../domain/types/source/source-engine.types';
2
+ export declare class UpdateSourceLanguageStrategy implements SourceLanguageStrategy {
3
+ readonly id = "source-language:update";
4
+ readonly sourceKind: SourceKind;
5
+ readonly syntax: import('../../../../domain/types/source/source-engine.types').SourceLanguageSyntaxDefinition;
6
+ supports(sourceKind: SourceKind | string): boolean;
7
+ createDefaultSource(): string;
8
+ validate(source: string): SourceLanguageValidationResult;
9
+ completions(_context: SourceLanguageContext): SourceLanguageCompletion[];
10
+ }
@@ -0,0 +1 @@
1
+ export declare const STREAM_DEFAULT_SOURCE = "defineStream({\n transport: sse({\n url: env('ENDPOINT_SSE'),\n withCredentials: false,\n auth: 'inherit',\n }),\n\n events: {\n message: event({\n typeFrom: 'eventInfo.name',\n payloadFrom: '',\n }),\n },\n})\n";
@@ -0,0 +1 @@
1
+ export declare const UPDATE_DEFAULT_SOURCE = "defineUpdate({\n handles: [],\n mutations: [\n {\n strategy: 'merge',\n target: 'items[id=$id]',\n ifExists: null,\n valueFrom: '',\n vars: {\n id: 'id',\n },\n },\n ],\n})\n";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@endge/core",
3
- "version": "1.2.8",
3
+ "version": "1.2.9",
4
4
  "private": false,
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -20,7 +20,7 @@
20
20
  "dependencies": {
21
21
  "@babel/parser": "^7.27.2",
22
22
  "@babel/types": "^7.27.1",
23
- "@endge/utils": "^0.24.3",
23
+ "@endge/utils": "^0.24.5",
24
24
  "@vue/compiler-dom": "^3.5.24",
25
25
  "@vue/compiler-sfc": "^3.5.24",
26
26
  "axios": "^1.13.2",
@@ -37,7 +37,7 @@
37
37
  "yaml": "^2.8.1"
38
38
  },
39
39
  "peerDependencies": {
40
- "@endge/raph": "^3.0.2",
40
+ "@endge/raph": "^3.0.4",
41
41
  "@endge/utils": "^0.24.3",
42
42
  "@primevue/themes": "^4.0.0-rc.1",
43
43
  "class-transformer": "^0.5.1",
@@ -59,6 +59,7 @@
59
59
  "vitest": "^2.1.9",
60
60
  "vue-tsc": "^2.2.0"
61
61
  },
62
+ "packageManager": "pnpm@8.8.0",
62
63
  "scripts": {
63
64
  "clean": "rimraf dist tsconfig.tsbuildinfo",
64
65
  "dev": "vite build --watch",