@endge/core 1.2.7 → 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 (99) hide show
  1. package/dist/core.cjs +330 -256
  2. package/dist/core.js +27169 -24015
  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/RuntimeHostBase.d.ts +2 -0
  8. package/dist/domain/entities/runtime/hosts/ComponentSFCRuntimeHost.d.ts +10 -0
  9. package/dist/domain/entities/runtime/hosts/CompositionRuntimeHost.d.ts +18 -1
  10. package/dist/domain/entities/runtime/hosts/FilterViewRuntimeHost.d.ts +13 -0
  11. package/dist/domain/entities/runtime/hosts/StoreRuntimeHost.d.ts +16 -0
  12. package/dist/domain/entities/runtime/hosts/StreamRuntimeHost.d.ts +30 -0
  13. package/dist/domain/types/component/sfc/dependencies.types.d.ts +13 -0
  14. package/dist/domain/types/component/sfc/ir.types.d.ts +13 -0
  15. package/dist/domain/types/computation/computation-source.types.d.ts +3 -0
  16. package/dist/domain/types/document/document.types.d.ts +4 -2
  17. package/dist/domain/types/document/domain-export.type.d.ts +2 -0
  18. package/dist/domain/types/document/schema.types.d.ts +6 -0
  19. package/dist/domain/types/program/program.types.d.ts +5 -2
  20. package/dist/domain/types/runtime/action.types.d.ts +3 -0
  21. package/dist/domain/types/runtime/index.d.ts +1 -0
  22. package/dist/domain/types/runtime/runtime-entity-map.types.d.ts +3 -0
  23. package/dist/domain/types/runtime/runtime-host.types.d.ts +7 -0
  24. package/dist/domain/types/runtime/runtime-project-session.types.d.ts +3 -0
  25. package/dist/domain/types/runtime/runtime.types.d.ts +3 -2
  26. package/dist/domain/types/runtime/stream-runtime.types.d.ts +17 -0
  27. package/dist/domain/types/runtime/vocab-cache.types.d.ts +33 -0
  28. package/dist/domain/types/source/composition-source.types.d.ts +43 -1
  29. package/dist/domain/types/source/data-view-source.types.d.ts +6 -1
  30. package/dist/domain/types/source/filter-source.types.d.ts +47 -0
  31. package/dist/domain/types/source/index.d.ts +2 -0
  32. package/dist/domain/types/source/query-source.types.d.ts +2 -1
  33. package/dist/domain/types/source/source-engine.types.d.ts +2 -2
  34. package/dist/domain/types/source/source-expression.types.d.ts +4 -1
  35. package/dist/domain/types/source/store-source.types.d.ts +9 -0
  36. package/dist/domain/types/source/stream-source.types.d.ts +39 -0
  37. package/dist/domain/types/source/type-source.types.d.ts +6 -1
  38. package/dist/domain/types/source/update-source.types.d.ts +32 -0
  39. package/dist/main.d.ts +7 -0
  40. package/dist/model/db/repositories/Actions_Repository.d.ts +0 -7
  41. package/dist/model/db/repositories/Computations_Repository.d.ts +0 -2
  42. package/dist/model/db/repositories/PageTemplates_Repository.d.ts +1 -0
  43. package/dist/model/db/repositories/Pages_Repository.d.ts +1 -0
  44. package/dist/model/db/repositories/Streams_Repository.d.ts +27 -0
  45. package/dist/model/db/repositories/Types_Repository.d.ts +5 -8
  46. package/dist/model/db/repositories/Updates_Repository.d.ts +26 -0
  47. package/dist/model/endge/domain/endge-domain.d.ts +32 -0
  48. package/dist/model/endge/domain/endge-types.d.ts +12 -0
  49. package/dist/model/endge/domain/endge-vocabs.d.ts +24 -0
  50. package/dist/model/endge/kernel/endge.d.ts +3 -0
  51. package/dist/model/endge/program/endge-compiler.d.ts +13 -0
  52. package/dist/model/endge/program/endge-program.d.ts +6 -0
  53. package/dist/model/endge/runtime/core/endge-actions.d.ts +1 -0
  54. package/dist/model/endge/runtime/core/endge-bind.d.ts +1 -5
  55. package/dist/model/endge/runtime/execution/computation/EndgeComputation.d.ts +6 -0
  56. package/dist/model/services/compiler/component-sfc/component-sfc-expression.d.ts +2 -0
  57. package/dist/model/services/compiler/computation/computation-compile.d.ts +1 -3
  58. package/dist/model/services/compiler/type/type-program-validation.d.ts +5 -1
  59. package/dist/model/services/runtime/strategies/StreamRuntimeStrategy.d.ts +9 -0
  60. package/dist/model/services/runtime/transports/BrowserSseStreamTransportFactory.d.ts +5 -0
  61. package/dist/model/services/source-engine/compilers/source-field-compile.d.ts +4 -1
  62. package/dist/model/services/source-engine/compilers/stream-source-compile.d.ts +3 -0
  63. package/dist/model/services/source-engine/compilers/type-source-compile.d.ts +7 -1
  64. package/dist/model/services/source-engine/compilers/update-source-compile.d.ts +3 -0
  65. package/dist/model/services/source-engine/composition-source-patch.d.ts +6 -0
  66. package/dist/model/services/source-engine/filter-source-patch.d.ts +12 -0
  67. package/dist/model/services/source-engine/source-document-reference.d.ts +7 -0
  68. package/dist/model/services/source-engine/strategies/CompositionSourcePatchStrategy.d.ts +13 -0
  69. package/dist/model/services/source-engine/strategies/FilterSourcePatchStrategy.d.ts +10 -0
  70. package/dist/model/services/source-engine/strategies/StreamSourceEngineStrategy.d.ts +7 -0
  71. package/dist/model/services/source-engine/strategies/StreamSourceLanguageStrategy.d.ts +10 -0
  72. package/dist/model/services/source-engine/strategies/UpdateSourceEngineStrategy.d.ts +7 -0
  73. package/dist/model/services/source-engine/strategies/UpdateSourceLanguageStrategy.d.ts +10 -0
  74. package/dist/model/services/source-engine/templates/stream.default.source.d.ts +1 -0
  75. package/dist/model/services/source-engine/templates/update.default.source.d.ts +1 -0
  76. package/dist/test/component-sfc-table-visibility.test.d.ts +1 -0
  77. package/dist/test/domain/entities/runtime/ComponentSFCEventBoundary.test.d.ts +1 -0
  78. package/dist/test/domain/entity-meta.test.d.ts +1 -0
  79. package/dist/test/model/db/repositories/types-repository.test.d.ts +1 -0
  80. package/dist/test/model/endge/domain/type-identity-index.test.d.ts +1 -0
  81. package/dist/test/model/endge/program/endge-compiler-query-auth.test.d.ts +1 -0
  82. package/dist/test/model/endge/program/endge-compiler-type.test.d.ts +1 -0
  83. package/dist/test/model/endge/runtime/computation-source-preview.test.d.ts +1 -0
  84. package/dist/test/model/endge/schema/document-create.test.d.ts +1 -0
  85. package/dist/test/model/endge/schema/type-payload.test.d.ts +1 -0
  86. package/dist/test/model/services/compiler/computation/groundhandling-process-state.test.d.ts +1 -0
  87. package/dist/test/model/services/source-engine/component-sfc/component-sfc-metadata-source-patch.test.d.ts +1 -0
  88. package/dist/test/model/services/source-engine/component-sfc/component-sfc-ports-source-patch.test.d.ts +1 -0
  89. package/dist/test/model/services/source-engine/component-sfc/component-sfc-props-source-patch.test.d.ts +1 -0
  90. package/dist/test/model/services/source-engine/data-view-select-steps.test.d.ts +1 -0
  91. package/dist/test/model/services/source-engine/source-language-normalize.test.d.ts +1 -0
  92. package/dist/test/model/services/source-engine/type-source-compile.test.d.ts +1 -0
  93. package/dist/test/model/services/source-engine/typescript-type-source.test.d.ts +1 -0
  94. package/dist/test/model/services/source-engine/value-expression-operations.test.d.ts +1 -0
  95. package/dist/test/runtime/sfc-render-inspection-session.test.d.ts +1 -0
  96. package/dist/test/tools/type-import-source.test.d.ts +1 -0
  97. package/package.json +4 -3
  98. package/dist/model/seed/actions/console_log.d.ts +0 -3
  99. package/dist/model/seed/actions/load_vocabs.d.ts +0 -3
@@ -1,4 +1,5 @@
1
1
  import { EndgeModule } from '../../../domain/entities/endge/EndgeModule';
2
+ import { VocabCacheOperationResult, VocabLoadPolicy, VocabReference } from '../../../domain/types/runtime/vocab-cache.types';
2
3
  /**
3
4
  * Модуль загрузки и чтения external vocabs в Raph cache.
4
5
  */
@@ -9,6 +10,10 @@ export declare class EndgeVocabs extends EndgeModule {
9
10
  */
10
11
  private index;
11
12
  private byIdCache;
13
+ private readonly loadedIdentities;
14
+ private readonly loadedAtByIdentity;
15
+ private readonly inFlight;
16
+ private readonly cacheVersions;
12
17
  private _loadingRequests;
13
18
  loading: boolean;
14
19
  /**
@@ -57,6 +62,18 @@ export declare class EndgeVocabs extends EndgeModule {
57
62
  * Очищает cache словаря по id.
58
63
  */
59
64
  clearCacheById(vocabId: string | number): void;
65
+ /**
66
+ * Загружает отсутствующие справочники параллельно и переиспользует cache.
67
+ */
68
+ acquire(vocabs: readonly VocabReference[], policy?: Partial<VocabLoadPolicy>): Promise<VocabCacheOperationResult[]>;
69
+ /**
70
+ * Принудительно обновляет справочники параллельно, сохраняя дедупликацию одновременных запросов.
71
+ */
72
+ refresh(vocabs: readonly VocabReference[]): Promise<VocabCacheOperationResult[]>;
73
+ /**
74
+ * Удаляет справочники только из runtime cache, не выполняя сетевых запросов.
75
+ */
76
+ invalidate(vocabs: readonly VocabReference[]): VocabCacheOperationResult[];
60
77
  /**
61
78
  * Загружает словарь по id и кладет результат в Raph cache.
62
79
  */
@@ -75,6 +92,13 @@ export declare class EndgeVocabs extends EndgeModule {
75
92
  * Нормализует Vocab Id.
76
93
  */
77
94
  private normalizeVocabId;
95
+ private normalizeReferences;
96
+ private requireVocabConfig;
97
+ private loadShared;
98
+ private bumpCacheVersion;
99
+ private normalizePolicy;
100
+ private isFresh;
101
+ private markLoaded;
78
102
  /**
79
103
  * Устанавливает By Identity Cache.
80
104
  */
@@ -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,10 +58,19 @@ 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. */
60
68
  buildComposition(entity: RComposition): ProgramArtifact<CompositionProgramPayload>;
69
+ /**
70
+ * Компилирует transient Composition artifact без публикации в Endge.program.
71
+ * Используется runtime session overlays, которым нельзя менять общий build.
72
+ */
73
+ compileCompositionArtifact(entity: RComposition): ProgramArtifact<CompositionProgramPayload>;
61
74
  /** Compiles one global source-first EndgeCSS document. */
62
75
  buildStyle(entity: RStyle): ProgramArtifact<EndgeStyleProgramPayload>;
63
76
  /**
@@ -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. */
@@ -65,6 +65,7 @@ export declare class EndgeActions extends Subscribable {
65
65
  /** Bridges typed Action invocation to the legacy context-menu adapter during migration. */
66
66
  private _tableInvocationContext;
67
67
  private _registerCoreActions;
68
+ private _vocabReferences;
68
69
  private _syncResolvedIndex;
69
70
  private _legacyAction;
70
71
  private _isLegacyContext;
@@ -9,17 +9,13 @@ import { RAction } from '../../../../domain/entities/reflect/RAction';
9
9
  export declare class EndgeBind extends EndgeModule {
10
10
  private readonly computationOverrides;
11
11
  /**
12
- * Регистрирует built-in converters и runtime action handlers после загрузки домена.
12
+ * Регистрирует built-in converters после загрузки домена.
13
13
  */
14
14
  start(): void;
15
15
  /**
16
16
  * Регистрирует Default Converters.
17
17
  */
18
18
  private registerDefaultConverters;
19
- /**
20
- * Регистрирует Default Actions.
21
- */
22
- private registerDefaultActions;
23
19
  /**
24
20
  * Находит конвертер по identity и ставит кастомный обработчик (setCustom).
25
21
  * @param identity - id конвертера в домене
@@ -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;
@@ -16,5 +16,7 @@ export interface ComponentSFCExpressionCompileResult {
16
16
  /** Diagnostics, найденные при анализе expression. */
17
17
  diagnostics: RComponentDiagnostic[];
18
18
  }
19
+ /** Возвращает статический fallback из `t(key, fallback)` без i18n/runtime-контекста. */
20
+ export declare function readComponentSFCTranslationFallback(source: string): string | null;
19
21
  /** Компилирует expression и извлекает reactive reads для runtime-подписок. */
20
22
  export declare function compileComponentSFCExpression(source: string, context?: ComponentSFCExpressionContext): ComponentSFCExpressionCompileResult;
@@ -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;
@@ -1,10 +1,14 @@
1
- import { TypeProgramCatalogEntry, TypeSourceDefinition } from '../../../../domain/types/source/type-source.types';
1
+ import { TypeProgramCatalogEntry, TypeSourceDefinition, TypeSourceExpression } from '../../../../domain/types/source/type-source.types';
2
2
  import { ProgramDiagnostic } from '../../../../domain/types/program/program.types';
3
3
  type DiagnosticDraft = Omit<ProgramDiagnostic, 'entityRef'>;
4
4
  /** Returns every named reference without expanding the referenced document. */
5
5
  export declare function collectTypeDefinitionReferences(definition: TypeSourceDefinition | null): string[];
6
+ /** Returns every named reference from one recursive source type expression. */
7
+ export declare function collectTypeSourceExpressionReferences(expression: TypeSourceExpression | null | undefined): string[];
6
8
  /** Semantic diagnostics for one Type Source against the compiled/domain catalog. */
7
9
  export declare function validateTypeDefinitionReferences(definition: TypeSourceDefinition | null, knownIdentities: ReadonlySet<string>): DiagnosticDraft[];
10
+ /** Diagnostics for a structural inline type expression owned by Query or another source document. */
11
+ export declare function validateTypeSourceExpressionUsage(expression: TypeSourceExpression | null | undefined, catalog: readonly TypeProgramCatalogEntry[], sourcePath: string): DiagnosticDraft[];
8
12
  /** Diagnostics for a type expression owned by Action, Computation, SFC or another document. */
9
13
  export declare function validateTypeExpressionUsage(expression: string | null | undefined, catalog: readonly TypeProgramCatalogEntry[], sourcePath: string): DiagnosticDraft[];
10
14
  /** Named registry references used by Type Program dependency indexing. */
@@ -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
+ }
@@ -6,6 +6,9 @@ export interface SourceFieldParseResult {
6
6
  field: SourceFieldDefinition;
7
7
  defaultSource?: SourceFieldDefaultSource;
8
8
  }
9
+ interface SourceFieldCompileOptions {
10
+ allowInlineTypeExpressions?: boolean;
11
+ }
9
12
  /** Компилирует chain field(...).optional().array()... в общий field contract. */
10
- export declare function compileSourceField(key: string, raw: t.Expression, source: string, diagnostics: DiagnosticDraft[], sourcePath: string): SourceFieldParseResult | null;
13
+ export declare function compileSourceField(key: string, raw: t.Expression, source: string, diagnostics: DiagnosticDraft[], sourcePath: string, options?: SourceFieldCompileOptions): SourceFieldParseResult | null;
11
14
  export {};
@@ -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;
@@ -1,3 +1,9 @@
1
- import { TypeSourceCompileResult } from '../../../../domain/types/source/type-source.types';
1
+ import { TypeSourceCompileResult, TypeSourceExpression } from '../../../../domain/types/source/type-source.types';
2
+ import { ProgramDiagnostic } from '../../../../domain/types/program/program.types';
3
+ import * as t from '@babel/types';
4
+ type DiagnosticDraft = Omit<ProgramDiagnostic, 'entityRef'>;
2
5
  /** Компилирует Type Source v1 без выполнения пользовательского JavaScript. */
3
6
  export declare function compileTypeSource(source: string, sourceVersion?: number): TypeSourceCompileResult;
7
+ /** Компилирует одно рекурсивное inline type expression без выполнения JavaScript. */
8
+ export declare function compileTypeSourceExpression(raw: t.Expression, diagnostics: DiagnosticDraft[], sourcePath: string): TypeSourceExpression | null;
9
+ export {};
@@ -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,6 @@
1
+ import { CompositionSourceDocument, CompositionSourcePatch } from '../../../domain/types/source/composition-source.types';
2
+ import { SourceParseResult, SourcePatchResult } from '../../../domain/types/source/source-engine.types';
3
+ /** Парсит Composition source в normalized editor document. */
4
+ export declare function parseCompositionSource(source: string): SourceParseResult<CompositionSourceDocument>;
5
+ /** Атомарно добавляет dependencies, сохраняя нетронутые участки Composition source. */
6
+ export declare function patchCompositionSource(source: string, patch: CompositionSourcePatch): SourcePatchResult<CompositionSourceDocument>;
@@ -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,13 @@
1
+ import { CompositionSourceDocument, CompositionSourcePatch } from '../../../../domain/types/source/composition-source.types';
2
+ import { SourceKind, SourceParseResult, SourcePatchResult, SourcePatchStrategy } from '../../../../domain/types/source/source-engine.types';
3
+ /** Source patch strategy для RComposition/source-kind=composition. */
4
+ export declare class CompositionSourcePatchStrategy implements SourcePatchStrategy<CompositionSourcePatch, CompositionSourceDocument> {
5
+ readonly id = "source-patch:composition";
6
+ readonly sourceKind: SourceKind;
7
+ /** Проверяет, что strategy обслуживает Composition source. */
8
+ supports(sourceKind: SourceKind | string): boolean;
9
+ /** Парсит Composition source в normalized document. */
10
+ parse(source: string): SourceParseResult<CompositionSourceDocument>;
11
+ /** Атомарно добавляет Composition dependencies. */
12
+ patch(source: string, patch: CompositionSourcePatch): SourcePatchResult<CompositionSourceDocument>;
13
+ }
@@ -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";
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@endge/core",
3
- "version": "1.2.7",
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",
@@ -1,3 +0,0 @@
1
- import { ActionRuntimeHostContext } from '../../../domain/types/runtime/runtime-host.types';
2
- /** Логирует полный контекст шага (в т.ч. context.input). */
3
- export declare function consoleLog(context: ActionRuntimeHostContext): void;
@@ -1,3 +0,0 @@
1
- import { ActionRuntimeHostContext } from '../../../domain/types/runtime/runtime-host.types';
2
- /** Берёт вход из context.input (массив id справочников), при необходимости — из context.input.input. */
3
- export declare function loadVocabs(context: ActionRuntimeHostContext): Promise<void>;