@endge/core 2.0.3 → 3.0.1

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 (75) hide show
  1. package/ReadMe.md +23 -0
  2. package/dist/core.cjs +381 -333
  3. package/dist/core.js +35196 -34321
  4. package/dist/domain/entities/reflect/RAction.d.ts +11 -29
  5. package/dist/domain/entities/reflect/RConverter.d.ts +3 -3
  6. package/dist/domain/entities/reflect/RVocabs.d.ts +10 -2
  7. package/dist/domain/entities/runtime/hosts/ActionRuntimeHost.d.ts +1 -1
  8. package/dist/domain/entities/runtime/hosts/CompositionRuntimeHost.d.ts +2 -0
  9. package/dist/domain/types/component/sfc/ir.types.d.ts +12 -2
  10. package/dist/domain/types/component/sfc/ports.types.d.ts +4 -0
  11. package/dist/domain/types/component/sfc/table-events.types.d.ts +13 -0
  12. package/dist/domain/types/component/sfc/tag-attribute-contract.types.d.ts +7 -0
  13. package/dist/domain/types/component/sfc/visual-projection.types.d.ts +13 -3
  14. package/dist/domain/types/program/action-program.types.d.ts +8 -0
  15. package/dist/domain/types/program/program.types.d.ts +12 -22
  16. package/dist/domain/types/runtime/action.types.d.ts +33 -4
  17. package/dist/domain/types/runtime/context-persistence.types.d.ts +4 -0
  18. package/dist/domain/types/runtime/runtime-host.types.d.ts +2 -11
  19. package/dist/domain/types/source/action-source.types.d.ts +40 -0
  20. package/dist/domain/types/source/composition-source.types.d.ts +24 -3
  21. package/dist/domain/types/source/query-source.types.d.ts +4 -0
  22. package/dist/domain/types/source/response-output.types.d.ts +10 -0
  23. package/dist/domain/types/source/source-engine.types.d.ts +23 -2
  24. package/dist/domain/types/source/source-expression.types.d.ts +9 -0
  25. package/dist/domain/types/source/vocab-source.types.d.ts +37 -0
  26. package/dist/domain/types/ui/context-menu.types.d.ts +1 -0
  27. package/dist/main.d.ts +10 -7
  28. package/dist/model/kernel/endge.d.ts +4 -15
  29. package/dist/model/modules/context/endge-context.d.ts +3 -1
  30. package/dist/model/modules/domain/endge-vocabs.d.ts +20 -1
  31. package/dist/model/modules/program/endge-compiler.d.ts +7 -1
  32. package/dist/model/modules/program/endge-program.d.ts +6 -6
  33. package/dist/model/modules/program/endge-source.d.ts +2 -1
  34. package/dist/model/modules/runtime/core/endge-actions.d.ts +16 -12
  35. package/dist/model/modules/runtime/core/endge-runtime.d.ts +5 -5
  36. package/dist/model/modules/runtime/execution/action/action-program-executor.d.ts +13 -0
  37. package/dist/model/modules/runtime/execution/computation/EndgeComputation.d.ts +36 -1
  38. package/dist/model/modules/runtime/execution/endge-converters.d.ts +36 -0
  39. package/dist/model/modules/runtime/execution/endge-data-view.d.ts +2 -0
  40. package/dist/model/modules/runtime/execution/endge-response-output.d.ts +5 -0
  41. package/dist/model/modules/runtime/implementation/endge-implementations.d.ts +3 -0
  42. package/dist/model/modules/runtime/operation/endge-operations.d.ts +18 -0
  43. package/dist/model/modules/runtime/operation/operation-history.d.ts +54 -0
  44. package/dist/model/services/compiler/action/action-compile.d.ts +3 -2
  45. package/dist/model/services/compiler/component-sfc/component-sfc-ports.d.ts +2 -0
  46. package/dist/model/services/compiler/component-sfc/component-sfc-table-menu.d.ts +6 -2
  47. package/dist/model/services/compiler/computation/computation-compile.d.ts +3 -0
  48. package/dist/model/services/source-engine/compilers/action-source-compile.d.ts +17 -0
  49. package/dist/model/services/source-engine/compilers/vocab-source-compile.d.ts +2 -0
  50. package/dist/model/services/source-engine/strategies/ActionSourceEngineStrategy.d.ts +7 -0
  51. package/dist/model/services/source-engine/strategies/ActionSourceLanguageStrategy.d.ts +23 -0
  52. package/dist/model/services/source-engine/strategies/VocabSourceEngineStrategy.d.ts +8 -0
  53. package/dist/model/services/source-engine/strategies/VocabSourceLanguageStrategy.d.ts +11 -0
  54. package/dist/model/services/source-engine/strategies/VocabSourcePatchStrategy.d.ts +9 -0
  55. package/dist/model/services/source-engine/templates/action.default.source.d.ts +1 -0
  56. package/dist/model/services/source-engine/templates/vocab.default.source.d.ts +1 -0
  57. package/dist/model/services/source-engine/vocab-source-patch.d.ts +10 -0
  58. package/dist/test/fixtures/action-source.d.ts +1 -0
  59. package/dist/test/model/modules/context/endge-context-theme-default.test.d.ts +1 -0
  60. package/dist/test/model/modules/domain/endge-vocabs-source.test.d.ts +1 -0
  61. package/dist/test/model/modules/runtime/action-runtime.test.d.ts +1 -0
  62. package/dist/test/model/modules/runtime/executable-implementations.test.d.ts +1 -0
  63. package/dist/test/model/modules/runtime/operation-history.test.d.ts +1 -0
  64. package/dist/test/model/services/compiler/component-sfc/component-sfc-action-reactions.test.d.ts +1 -0
  65. package/dist/test/model/services/source-engine/action-source-compile.test.d.ts +1 -0
  66. package/package.json +4 -4
  67. package/dist/domain/entities/action-flow/REndgeFlow.d.ts +0 -27
  68. package/dist/domain/types/flow/action.types.d.ts +0 -65
  69. package/dist/domain/types/flow/endge-flow-runtime.types.d.ts +0 -28
  70. package/dist/domain/types/flow/endge-flow.types.d.ts +0 -110
  71. package/dist/domain/types/flow/flow-condition.types.d.ts +0 -39
  72. package/dist/model/modules/runtime/core/endge-bind.d.ts +0 -39
  73. package/dist/model/modules/runtime/flow/endge-flow-registry.d.ts +0 -34
  74. package/dist/model/modules/runtime/flow/endge-flow.d.ts +0 -94
  75. /package/dist/test/{action-implementations.test.d.ts → domain/entities/runtime/composition-operation-history.integration.test.d.ts} +0 -0
@@ -1,7 +1,7 @@
1
1
  import { I18nCatalogProvenance, I18nRuntimeCatalog } from '../i18n.types';
2
2
  import { TypeSourceDefinition } from './type-source.types';
3
3
  /** Канонический тип source-документа, для которого выбирается source strategy. */
4
- export type SourceKind = 'query' | 'data-view' | 'filter' | 'composition' | 'store' | 'stream' | 'update' | 'computation' | 'style' | 'type' | 'configuration';
4
+ export type SourceKind = 'action' | 'query' | 'vocab' | 'data-view' | 'filter' | 'composition' | 'store' | 'stream' | 'update' | 'computation' | 'style' | 'type' | 'configuration';
5
5
  /** Тип нейтральной source completion без привязки к Monaco или другому editor API. */
6
6
  export type SourceLanguageCompletionKind = 'keyword' | 'function' | 'property' | 'value' | 'snippet';
7
7
  /** Позиция курсора внутри source-документа. */
@@ -28,6 +28,13 @@ export interface SourceLanguageContext {
28
28
  storage: 'id' | 'identity';
29
29
  };
30
30
  }>;
31
+ /** Installed storage and code definition catalog used by identity completions. */
32
+ documentSymbols?: Array<{
33
+ target: SourceDocumentReferenceTarget;
34
+ identity: string;
35
+ displayName?: string;
36
+ description?: string | null;
37
+ }>;
31
38
  /** Identity of the document that owns current source diagnostics. */
32
39
  ownerIdentity?: string;
33
40
  /** Effective translation catalogs for all current Project occurrences. */
@@ -58,8 +65,20 @@ export interface SourceLanguageCompletion {
58
65
  /** Документация completion item. */
59
66
  documentation?: string;
60
67
  }
68
+ export interface SourceLanguageSignatureHelp {
69
+ activeSignature: number;
70
+ activeParameter: number;
71
+ signatures: Array<{
72
+ label: string;
73
+ documentation?: string;
74
+ parameters: Array<{
75
+ label: string;
76
+ documentation?: string;
77
+ }>;
78
+ }>;
79
+ }
61
80
  /** Логический тип внешнего доменного документа, на который ссылается source. */
62
- export type SourceDocumentReferenceTarget = 'auth-profile' | 'component' | 'composition' | 'computation' | 'converter' | 'data-view' | 'filter' | 'i18n-bundles' | 'mock' | 'query' | 'store' | 'stream' | 'update' | 'style' | 'type' | 'vocabs';
81
+ export type SourceDocumentReferenceTarget = 'action' | 'auth-profile' | 'component' | 'composition' | 'computation' | 'converter' | 'data-view' | 'filter' | 'i18n-bundles' | 'mock' | 'query' | 'store' | 'stream' | 'update' | 'style' | 'type' | 'vocabs';
63
82
  /** Семантическая ссылка из source на внешний доменный документ. */
64
83
  export interface SourceDocumentReference {
65
84
  /** Логический тип цели; UI может уточнить concrete document type через domain. */
@@ -210,6 +229,8 @@ export interface SourceLanguageStrategy {
210
229
  validate: (source: string, context?: SourceLanguageContext) => SourceLanguageValidationResult;
211
230
  /** Возвращает доступные подсказки языка в нейтральном формате. */
212
231
  completions: (context: SourceLanguageContext) => SourceLanguageCompletion[];
232
+ /** Returns call signature information at the current cursor position. */
233
+ signatureHelp?: (context: SourceLanguageContext) => SourceLanguageSignatureHelp | null;
213
234
  /** Возвращает внешнюю document reference под курсором, если язык её поддерживает. */
214
235
  resolveReference?: (context: SourceLanguageContext) => SourceDocumentReference | null;
215
236
  /** Возвращает semantic highlights без привязки к конкретному editor adapter. */
@@ -25,6 +25,12 @@ export type SourceExpressionIR = {
25
25
  source: SourceExpressionReadKind;
26
26
  path: string;
27
27
  parameters?: string[];
28
+ } | {
29
+ type: 'transform';
30
+ transform: 'data-view' | 'converter';
31
+ identity: string;
32
+ input: SourceExpressionIR;
33
+ options?: SourceExpressionIR;
28
34
  } | {
29
35
  type: 'operation';
30
36
  operation: SourceExpressionOperation;
@@ -91,6 +97,9 @@ export interface SourceExpressionContext {
91
97
  read?: (expression: Extract<SourceExpressionIR, {
92
98
  type: 'read';
93
99
  }>) => unknown;
100
+ transform?: (expression: Extract<SourceExpressionIR, {
101
+ type: 'transform';
102
+ }>, input: unknown, options: unknown) => unknown;
94
103
  onWarning?: (warning: SourceExpressionWarning) => void;
95
104
  }
96
105
  /** Публичное имя общего декларативного value DSL. */
@@ -0,0 +1,37 @@
1
+ import { RQueryAuth } from '../document/query.types';
2
+ import { ProgramDiagnostic, QueryProgramOutput } from '../program/program.types';
3
+ import { ProgramMetadataMap } from '../program/program-metadata.types';
4
+ export type VocabProviderBaseUrl = string | {
5
+ kind: 'env';
6
+ name: string;
7
+ };
8
+ export interface VocabPayloadProvider {
9
+ kind: 'payload';
10
+ baseUrl: VocabProviderBaseUrl;
11
+ collection: string;
12
+ auth: RQueryAuth;
13
+ }
14
+ export interface VocabMockReference {
15
+ identity: string;
16
+ path: string | null;
17
+ }
18
+ export interface VocabSourceDocument {
19
+ sourceVersion: 1;
20
+ provider: VocabPayloadProvider | null;
21
+ mock: VocabMockReference | null;
22
+ outputs: QueryProgramOutput[];
23
+ }
24
+ export interface VocabProgramPayload extends VocabSourceDocument {
25
+ ast?: unknown;
26
+ sourceDocument?: VocabSourceDocument | null;
27
+ }
28
+ export interface VocabSourceCompileResult {
29
+ ast: unknown;
30
+ document: VocabSourceDocument | null;
31
+ artifact: VocabProgramPayload | null;
32
+ metadata: ProgramMetadataMap;
33
+ diagnostics: Array<Omit<ProgramDiagnostic, 'entityRef'>>;
34
+ }
35
+ export interface VocabSourcePatch {
36
+ mock: VocabMockReference | null;
37
+ }
@@ -12,6 +12,7 @@ export interface ContextMenuItemDescriptor {
12
12
  action: RuntimeActionId;
13
13
  input?: unknown;
14
14
  icon?: string;
15
+ disabled?: boolean;
15
16
  }
16
17
  export interface ContextMenuSeparatorDescriptor {
17
18
  kind: 'separator';
package/dist/main.d.ts CHANGED
@@ -11,8 +11,12 @@ export * from './model/modules/mock/EndgeMock';
11
11
  export * from './model/modules/runtime/execution/endge-composition';
12
12
  export * from './model/modules/runtime/execution/endge-project';
13
13
  export * from './model/modules/runtime/execution/endge-data-view';
14
+ export * from './model/modules/runtime/execution/endge-response-output';
14
15
  export * from './model/modules/runtime/execution/endge-query';
15
16
  export * from './model/modules/runtime/execution/endge-computation';
17
+ export * from './model/modules/runtime/execution/endge-converters';
18
+ export * from './model/modules/runtime/operation/operation-history';
19
+ export * from './model/modules/runtime/operation/endge-operations';
16
20
  export * from './model/modules/runtime/core/endge-runtime';
17
21
  export * from './model/modules/security/endge-auth';
18
22
  export * from './model/modules/security/auth/AuthInteractionRequiredError';
@@ -70,20 +74,18 @@ export * from './domain/types/document/filter.types';
70
74
  export * from './domain/types/document/navigation.types';
71
75
  export * from './domain/types/document/query.types';
72
76
  export * from './domain/types/document/workspace.types';
73
- export * from './domain/types/flow/action.types';
74
- export * from './domain/types/flow/endge-flow.types';
75
- export * from './domain/types/flow/endge-flow-runtime.types';
76
- export * from './domain/types/flow/flow-condition.types';
77
77
  export * from './domain/types/kernel/bootstrap.types';
78
78
  export * from './domain/types/kernel/endge-modules.types';
79
79
  export * from './domain/types/kernel/events.types';
80
80
  export * from './domain/types/kernel/federation.types';
81
81
  export * from './domain/types/mock/mock-data.type';
82
82
  export * from './domain/types/program/program.types';
83
+ export * from './domain/types/program/action-program.types';
83
84
  export * from './domain/types/program/program-metadata.types';
84
85
  export * from './domain/types/runtime/action.types';
85
86
  export * from './domain/types/runtime/vocab-cache.types';
86
87
  export * from './domain/types/runtime/implementation.types';
88
+ export * from './domain/types/source/action-source.types';
87
89
  export * from './domain/types/runtime/context-persistence.types';
88
90
  export * from './domain/types/runtime/execution-context.types';
89
91
  export * from './domain/types/runtime/query-execution.types';
@@ -103,6 +105,8 @@ export * from './domain/types/source/composition-source.types';
103
105
  export * from './domain/types/source/data-view-source.types';
104
106
  export * from './domain/types/source/filter-source.types';
105
107
  export * from './domain/types/source/query-source.types';
108
+ export * from './domain/types/source/response-output.types';
109
+ export * from './domain/types/source/vocab-source.types';
106
110
  export * from './domain/types/source/source-engine.types';
107
111
  export * from './domain/types/source/source-expression.types';
108
112
  export * from './domain/types/source/store-source.types';
@@ -165,7 +169,6 @@ export * from './domain/entities/reflect/RVersion';
165
169
  export * from './domain/entities/reflect/RPageTemplate';
166
170
  export * from './domain/entities/reflect/RPage';
167
171
  export * from './domain/entities/reflect/RNavigation';
168
- export * from './domain/entities/action-flow/REndgeFlow';
169
172
  export * from './tools/openapi-parser';
170
173
  export * from './tools/graphql-parser';
171
174
  export * from './tools/ScheduleUpdate-sse-generator';
@@ -226,6 +229,8 @@ export * from './model/services/style/endgecss-compile';
226
229
  export * from './model/services/style/endgecss-match';
227
230
  export * from './model/services/source-engine/source-expression-evaluate';
228
231
  export * from './model/services/source-engine/filter-source-patch';
232
+ export * from './model/services/source-engine/vocab-source-patch';
233
+ export * from './model/services/source-engine/compilers/vocab-source-compile';
229
234
  export * from './model/services/source-engine/type-source-serialize';
230
235
  export * from './model/services/source-engine/configuration-source-patch';
231
236
  export * from './model/services/source-engine/typescript-type-source';
@@ -248,5 +253,3 @@ export * from './model/services/runtime/strategies/StoreRuntimeStrategy';
248
253
  export * from './model/services/runtime/strategies/StreamRuntimeStrategy';
249
254
  export * from './domain/entities/runtime/hosts/StreamRuntimeHost';
250
255
  export * from './domain/types/runtime/stream-runtime.types';
251
- export * from './model/modules/runtime/flow/endge-flow';
252
- export * from './model/modules/runtime/flow/endge-flow-registry';
@@ -2,7 +2,6 @@ import { EndgeFederation } from '../../domain/entities/endge/EndgeFederation';
2
2
  import { EndgeBootContext } from '../../domain/types/kernel/bootstrap.types';
3
3
  import { EndgeDomainSelection } from '../../domain/types/document/domain-export.type';
4
4
  import { EndgeAuth } from '../modules/security/endge-auth';
5
- import { EndgeBind } from '../modules/runtime/core/endge-bind';
6
5
  import { EndgeActions } from '../modules/runtime/core/endge-actions';
7
6
  import { EndgeContext } from '../modules/context/endge-context';
8
7
  import { EndgeConfigurationModule } from '../modules/context/endge-configuration';
@@ -13,8 +12,6 @@ import { EndgeDiagnostics } from '../modules/diagnostics/endge-diagnostics';
13
12
  import { EndgeDomain } from '../modules/domain/endge-domain';
14
13
  import { EndgeTypes } from '../modules/domain/endge-types';
15
14
  import { EndgeEvents } from '../modules/events/endge-events';
16
- import { EndgeFlow } from '../modules/runtime/flow/endge-flow';
17
- import { EndgeFlowRegistry } from '../modules/runtime/flow/endge-flow-registry';
18
15
  import { EndgeI18n } from '../modules/context/endge-i18n';
19
16
  import { EndgeMock } from '../modules/mock/EndgeMock';
20
17
  import { EndgeProgram } from '../modules/program/endge-program';
@@ -31,6 +28,8 @@ import { EndgeVocabs } from '../modules/domain/endge-vocabs';
31
28
  import { EndgeWorkspace } from '../modules/context/endge-workspace';
32
29
  import { EndgeUIRegistry } from '../modules/ui/endge-ui-registry';
33
30
  import { EndgeComposition } from '../modules/runtime/execution/endge-composition';
31
+ import { EndgeComputation } from '../modules/runtime/execution/endge-computation';
32
+ import { EndgeConverters } from '../modules/runtime/execution/endge-converters';
34
33
  /**
35
34
  * Единая статическая федерация Endge.
36
35
  * Хост живёт в `globalThis`, поэтому `Endge` не дублируется даже если пакет подтянут из разных зависимостей.
@@ -109,14 +108,6 @@ export declare class Endge extends EndgeFederation {
109
108
  * Доступ к модулю переводов из доменных i18n-bundles.
110
109
  */
111
110
  static get i18n(): EndgeI18n;
112
- /**
113
- * @deprecated Используйте Endge.runtime.flowRegistry.
114
- */
115
- static get flowRegistry(): EndgeFlowRegistry;
116
- /**
117
- * @deprecated Используйте Endge.runtime.flow.
118
- */
119
- static get flow(): EndgeFlow;
120
111
  /**
121
112
  * Доступ к runtime host manager.
122
113
  */
@@ -159,12 +150,10 @@ export declare class Endge extends EndgeFederation {
159
150
  * Доступ к UI registry компонентов, renderers и presets.
160
151
  */
161
152
  static get uiRegistry(): EndgeUIRegistry;
162
- /**
163
- * Доступ к registry runtime bindings.
164
- */
165
- static get bind(): EndgeBind;
166
153
  /** Доступ к единому registry вызываемых runtime Actions. */
167
154
  static get actions(): EndgeActions;
155
+ static get computations(): EndgeComputation;
156
+ static get converters(): EndgeConverters;
168
157
  /**
169
158
  * Доступ к runtime debugger.
170
159
  */
@@ -22,7 +22,7 @@ export declare class EndgeContext extends EndgeModule {
22
22
  private _currentLocale;
23
23
  private _pendingLocale;
24
24
  private _currentTheme;
25
- private _pendingTheme;
25
+ private _themePreference;
26
26
  private _currentTimezone;
27
27
  private _pendingTimezone;
28
28
  private _workspaceDataMode;
@@ -145,6 +145,8 @@ export declare class EndgeContext extends EndgeModule {
145
145
  private _normalizeLocale;
146
146
  private _normalizeTheme;
147
147
  private _normalizeTimezone;
148
+ /** Persists only an explicit preference; the effective default remains configuration-owned. */
149
+ private _serializeForPersistence;
148
150
  /** Выбирает storage adapter для заданной persistence policy. */
149
151
  private resolveAdapter;
150
152
  private _syncPersistentContextToRaph;
@@ -1,5 +1,8 @@
1
1
  import { EndgeModule } from '../../../domain/entities/endge/EndgeModule';
2
2
  import { VocabCacheOperationResult, VocabLoadPolicy, VocabReference } from '../../../domain/types/runtime/vocab-cache.types';
3
+ export interface VocabAcquireOptions {
4
+ dataMode?: 'live' | 'mock';
5
+ }
3
6
  /**
4
7
  * Модуль загрузки и чтения external vocabs в Raph cache.
5
8
  */
@@ -12,6 +15,7 @@ export declare class EndgeVocabs extends EndgeModule {
12
15
  private byIdCache;
13
16
  private readonly loadedIdentities;
14
17
  private readonly loadedAtByIdentity;
18
+ private readonly loadedModeByIdentity;
15
19
  private readonly inFlight;
16
20
  private readonly cacheVersions;
17
21
  private _loadingRequests;
@@ -65,7 +69,7 @@ export declare class EndgeVocabs extends EndgeModule {
65
69
  /**
66
70
  * Загружает отсутствующие справочники параллельно и переиспользует cache.
67
71
  */
68
- acquire(vocabs: readonly VocabReference[], policy?: Partial<VocabLoadPolicy>): Promise<VocabCacheOperationResult[]>;
72
+ acquire(vocabs: readonly VocabReference[], policy?: Partial<VocabLoadPolicy>, options?: VocabAcquireOptions): Promise<VocabCacheOperationResult[]>;
69
73
  /**
70
74
  * Принудительно обновляет справочники параллельно, сохраняя дедупликацию одновременных запросов.
71
75
  */
@@ -87,7 +91,17 @@ export declare class EndgeVocabs extends EndgeModule {
87
91
  */
88
92
  loadVocab(idOrIdentity: string | number, options?: {
89
93
  throwOnError?: boolean;
94
+ dataMode?: 'live' | 'mock';
90
95
  }): Promise<any[]>;
96
+ /** Загружает raw Payload без output pipeline; используется authoring preview и Mock generator. */
97
+ loadRawVocab(idOrIdentity: string | number, options?: {
98
+ limit?: number;
99
+ throwOnError?: boolean;
100
+ }): Promise<unknown>;
101
+ /** Применяет pipeline source-outputs и проверяет обязательный массив items. */
102
+ private applyOutputs;
103
+ /** Читает explicit Mock JSON; отсутствие ссылки штатно означает пустой Vocab. */
104
+ private resolveMockValue;
91
105
  /**
92
106
  * Нормализует Vocab Id.
93
107
  */
@@ -103,6 +117,10 @@ export declare class EndgeVocabs extends EndgeModule {
103
117
  * Устанавливает By Identity Cache.
104
118
  */
105
119
  private setByIdentityCache;
120
+ /** Пишет canonical identity cache и переходный alias provider.collection. */
121
+ private setCache;
122
+ /** Читает canonical identity cache с переходным fallback на collection alias. */
123
+ private getCache;
106
124
  /**
107
125
  * Разрешает Vocab Config By Id.
108
126
  */
@@ -111,6 +129,7 @@ export declare class EndgeVocabs extends EndgeModule {
111
129
  * Разрешает Vocab Config By Id Or Identity.
112
130
  */
113
131
  private resolveVocabConfigByIdOrIdentity;
132
+ private createRuntimeConfig;
114
133
  /** Находит runtime config справочника по identity или collection slug. */
115
134
  private resolveVocabConfigByIdentityOrSlug;
116
135
  /** Собирает auth headers для обращения к внешнему справочнику. */
@@ -6,12 +6,14 @@ import { StreamSourceArtifact } from '../../../domain/types/source/stream-source
6
6
  import { UpdateSourceArtifact } from '../../../domain/types/source/update-source.types';
7
7
  import { TypeProgramPayload } from '../../../domain/types/source/type-source.types';
8
8
  import { ComponentSFCProgramPayload, ActionProgramPayload, ComputationProgramPayload, DataViewProgramPayload, ProgramArtifact, QueryProgramPayload, EndgeStyleProgramPayload } from '../../../domain/types/program/program.types';
9
+ import { VocabProgramPayload } from '../../../domain/types/source/vocab-source.types';
9
10
  import { EndgeModule } from '../../../domain/entities/endge/EndgeModule';
10
11
  import { RComponentSFC } from '../../../domain/entities/reflect/RComponentSFC';
11
12
  import { RAction } from '../../../domain/entities/reflect/RAction';
12
13
  import { RComputation } from '../../../domain/entities/reflect/RComputation';
13
14
  import { RDataView } from '../../../domain/entities/reflect/RDataView';
14
15
  import { RQuery } from '../../../domain/entities/reflect/RQuery';
16
+ import { RVocabs } from '../../../domain/entities/reflect/RVocabs';
15
17
  import { RFilter } from '../../../domain/entities/reflect/RFilter';
16
18
  import { RComposition } from '../../../domain/entities/reflect/RComposition';
17
19
  import { RStore } from '../../../domain/entities/reflect/RStore';
@@ -46,6 +48,8 @@ export declare class EndgeCompiler extends EndgeModule {
46
48
  build(_ctx: EndgeBootContext): void;
47
49
  /** Компилирует один query source в Endge.program без запуска остальных compiler-фаз. */
48
50
  buildQuery(entity: RQuery): ProgramArtifact<QueryProgramPayload>;
51
+ /** Компилирует один Vocab source в Endge.program. */
52
+ buildVocab(entity: RVocabs): ProgramArtifact<VocabProgramPayload>;
49
53
  /** Компилирует одну Computation в безопасный runtime artifact. */
50
54
  buildComputation(entity: RComputation): ProgramArtifact<ComputationProgramPayload>;
51
55
  /** Compiles one Type Source into the shared Type Registry. */
@@ -145,6 +149,8 @@ export declare class EndgeCompiler extends EndgeModule {
145
149
  private _prepareComponentTagRegistry;
146
150
  /** Добавляет build diagnostic владельцу persisted SFC tag. */
147
151
  private _addComponentTagDiagnostic;
152
+ /** Links every external Action step against storage or installed code catalogs. */
153
+ private _linkActionDependencies;
148
154
  /**
149
155
  * Создает унифицированный `ProgramArtifact` из доменной сущности и payload.
150
156
  *
@@ -153,7 +159,7 @@ export declare class EndgeCompiler extends EndgeModule {
153
159
  */
154
160
  private _makeArtifact;
155
161
  /** Материализует локальные DataView внутри query output graph в child artifacts. */
156
- private _materializeQueryLocalDataViews;
162
+ private _materializeResponseOutputDataViews;
157
163
  /** Сворачивает цепочку DataView: byKey допустим только при одинаковом доказанном ключе. */
158
164
  private _resolveDataViewChainStrategy;
159
165
  /** Рекурсивно ищет локальный DataView artifact среди дочерних artifacts. */
@@ -1,12 +1,12 @@
1
- import { ActionCompiledFlow } from '../../../domain/types/flow/action.types';
2
1
  import { FilterProgramPayload } from '../../../domain/types/source/filter-source.types';
3
2
  import { CompositionProgramPayload } from '../../../domain/types/source/composition-source.types';
4
3
  import { StoreSourceArtifact } from '../../../domain/types/source/store-source.types';
5
4
  import { StreamSourceArtifact } from '../../../domain/types/source/stream-source.types';
6
5
  import { UpdateSourceArtifact } from '../../../domain/types/source/update-source.types';
7
6
  import { TypeProgramCatalogEntry, TypeProgramPayload } from '../../../domain/types/source/type-source.types';
7
+ import { VocabProgramPayload } from '../../../domain/types/source/vocab-source.types';
8
8
  import { EndgeModule } from '../../../domain/entities/endge/EndgeModule';
9
- import { DataViewProgramPayload, EndgeProgramSnapshot, ProgramArtifact, ProgramArtifactRef, ProgramArtifactStatus, ComponentSFCTagRegistryEntry, ComputationProgramPayload, ProgramDiagnostic, ProgramEntityType, QueryProgramPayload, EndgeStyleProgramPayload } from '../../../domain/types/program/program.types';
9
+ import { DataViewProgramPayload, EndgeProgramSnapshot, ProgramArtifact, ProgramArtifactRef, ProgramArtifactStatus, ComponentSFCTagRegistryEntry, ComputationProgramPayload, ActionProgramPayload, ProgramDiagnostic, ProgramEntityType, QueryProgramPayload, EndgeStyleProgramPayload } from '../../../domain/types/program/program.types';
10
10
  /**
11
11
  * Хранилище compiled artifacts, полученных после компиляции домена.
12
12
  */
@@ -55,12 +55,12 @@ export declare class EndgeProgram extends EndgeModule {
55
55
  id?: string | number;
56
56
  identity?: string;
57
57
  }): ProgramArtifact<TPayload> | null;
58
- /**
59
- * Возвращает compiled flow для action.
60
- */
61
- getActionFlow(idOrIdentity: string | number): ActionCompiledFlow | null;
58
+ /** Returns a compiled Action artifact by id or identity. */
59
+ getActionArtifact(idOrIdentity: string | number): ProgramArtifact<ActionProgramPayload> | null;
62
60
  /** Возвращает compiled query artifact по id или identity. */
63
61
  getQueryArtifact(idOrIdentity: string | number): ProgramArtifact<QueryProgramPayload> | null;
62
+ /** Возвращает compiled Vocab artifact по id или identity. */
63
+ getVocabArtifact(idOrIdentity: string | number): ProgramArtifact<VocabProgramPayload> | null;
64
64
  /** Returns a compiled Computation artifact by id or identity. */
65
65
  getComputationArtifact(idOrIdentity: string | number): ProgramArtifact<ComputationProgramPayload> | null;
66
66
  /** Возвращает compiled DataView artifact по id или identity. */
@@ -1,4 +1,4 @@
1
- import { SourceEngineCompileResult, SourceEngineGenerateResult, SourceEngineStrategy, SourceLanguageCompletion, SourceLanguageContext, SourceLanguageInlineHint, SourceLanguageSemanticHighlight, SourceDocumentReference, SourceLanguageStrategy, SourceLanguageValidationResult, SourceKind, SourceParseResult, SourcePatchResult, SourcePatchStrategy } from '../../../domain/types/source/source-engine.types';
1
+ import { SourceEngineCompileResult, SourceEngineGenerateResult, SourceEngineStrategy, SourceLanguageCompletion, SourceLanguageContext, SourceLanguageInlineHint, SourceLanguageSignatureHelp, SourceLanguageSemanticHighlight, SourceDocumentReference, SourceLanguageStrategy, SourceLanguageValidationResult, SourceKind, SourceParseResult, SourcePatchResult, SourcePatchStrategy } from '../../../domain/types/source/source-engine.types';
2
2
  import { EndgeModule } from '../../../domain/entities/endge/EndgeModule';
3
3
  /** Модуль authoring-операций над source-документами Endge. */
4
4
  export declare class EndgeSource extends EndgeModule {
@@ -41,6 +41,7 @@ export declare class EndgeSource extends EndgeModule {
41
41
  validate(sourceKind: SourceKind | string, source: string, context?: Omit<SourceLanguageContext, 'source'>): SourceLanguageValidationResult;
42
42
  /** Возвращает editor-facing completion items для указанного source-kind. */
43
43
  completions(sourceKind: SourceKind | string, context: SourceLanguageContext): SourceLanguageCompletion[];
44
+ signatureHelp(sourceKind: SourceKind | string, context: SourceLanguageContext): SourceLanguageSignatureHelp | null;
44
45
  /** Возвращает семантическую ссылку на внешний документ под курсором. */
45
46
  referenceAt(sourceKind: SourceKind | string, context: SourceLanguageContext): SourceDocumentReference | null;
46
47
  /** Возвращает renderer-neutral semantic highlights для source-документа. */
@@ -1,6 +1,7 @@
1
1
  import { RAction } from '../../../../domain/entities/reflect/RAction';
2
2
  import { ActionDefinitionInput, ActionExecuteOptions, ImplementationBindingScope, ResolvedActionDescriptor, RuntimeAction, RuntimeActionContext, RuntimeActionId, RuntimeActionRegistrySnapshot } from '../../../../domain/types/runtime/action.types';
3
3
  import { ImplementationProvider } from '../../../../domain/types/runtime/implementation.types';
4
+ import { EntityOrigin } from '../../../../domain/types/document/entity-management.type';
4
5
  import { Subscribable } from '@endge/utils';
5
6
  import { EndgeImplementations } from '../implementation/endge-implementations';
6
7
  export interface CodeActionDefinition extends Omit<ActionDefinitionInput, 'owner'> {
@@ -11,14 +12,19 @@ export interface CodeActionDefinition extends Omit<ActionDefinitionInput, 'owner
11
12
  canExecute?: ImplementationProvider['canExecute'];
12
13
  }
13
14
  export interface ActionOverrideInput {
14
- owner: string;
15
- providerKey?: string;
16
- execute?: ImplementationProvider['execute'];
17
- canExecute?: ImplementationProvider['canExecute'];
15
+ identity: string;
16
+ providerKey: string;
18
17
  scope?: Exclude<ImplementationBindingScope, 'default' | 'invocation'>;
19
18
  scopeIdentity?: string;
20
19
  priority?: number;
21
20
  }
21
+ export interface ActionDefinitionDescriptor extends ActionDefinitionInput {
22
+ origin: EntityOrigin;
23
+ catalogPath?: readonly string[];
24
+ }
25
+ export interface ActionProviderDescriptor extends Omit<ImplementationProvider, 'contract'> {
26
+ identity: string;
27
+ }
22
28
  /** Action-specific facade over semantic definitions and generic implementations. */
23
29
  export declare class EndgeActions extends Subscribable {
24
30
  private readonly _implementations;
@@ -27,15 +33,16 @@ export declare class EndgeActions extends Subscribable {
27
33
  private readonly _codeActionDisposers;
28
34
  private readonly _providerDisposers;
29
35
  private _hasSynchronizedResolvedIndex;
36
+ private readonly _sourceExecutor;
30
37
  constructor(_implementations: EndgeImplementations);
31
38
  /** Rebuilds code-owned defaults. Local application code registers again after reset. */
32
39
  reset(): void;
33
- /** Defines a core/plugin Action that has no Payload record. */
34
- defineBuiltin(definition: CodeActionDefinition): () => void;
35
- /** Defines a session-local Action. Identity collisions must use explicit override(). */
36
- defineLocal(definition: CodeActionDefinition): () => void;
40
+ /** Installs a serializable code-owned semantic definition without executable code. */
41
+ define(definition: ActionDefinitionDescriptor): () => void;
42
+ /** Installs executable code separately from its semantic definition. */
43
+ provide(provider: ActionProviderDescriptor): () => void;
37
44
  /** Binds local code over an existing Action without mutating its definition. */
38
- override(identity: string, override: ActionOverrideInput): () => void;
45
+ override(override: ActionOverrideInput): () => void;
39
46
  /** Executes a resolved Action through the generic implementation pipeline. */
40
47
  execute<TResult = unknown>(identity: RuntimeActionId, optionsOrContext?: ActionExecuteOptions | RuntimeActionContext, legacyPayload?: unknown): Promise<TResult | undefined>;
41
48
  /** Returns effective definitions for palettes and the Domain Widget. */
@@ -51,9 +58,6 @@ export declare class EndgeActions extends Subscribable {
51
58
  /** Returns the semantic definition regardless of storage origin. */
52
59
  getDefinition(identity: string): RAction | null;
53
60
  canExecute(id: RuntimeActionId, context: RuntimeActionContext, payload?: unknown): boolean;
54
- /** @deprecated Use defineLocal(), defineBuiltin() or override(). */
55
- register(action: RuntimeAction): () => void;
56
- unregister(id: RuntimeActionId): void;
57
61
  serialize(): RuntimeActionRegistrySnapshot;
58
62
  private _defineCodeAction;
59
63
  private _findAction;
@@ -15,19 +15,19 @@ import { EndgeProject } from '../execution/endge-project';
15
15
  import { EndgeDataView } from '../execution/endge-data-view';
16
16
  import { EndgeQuery } from '../execution/endge-query';
17
17
  import { EndgeComputation } from '../execution/endge-computation';
18
- import { EndgeFlow } from '../flow/endge-flow';
19
- import { EndgeFlowRegistry } from '../flow/endge-flow-registry';
18
+ import { EndgeConverters } from '../execution/endge-converters';
19
+ import { EndgeOperations } from '../operation/endge-operations';
20
20
  /** Модуль создания, регистрации и уничтожения runtime hosts и app scopes. */
21
21
  export declare class EndgeRuntime extends EndgeModule {
22
+ readonly implementations: EndgeImplementations;
22
23
  readonly computation: EndgeComputation;
24
+ readonly converters: EndgeConverters;
23
25
  readonly query: EndgeQuery;
24
26
  readonly dataView: EndgeDataView;
25
27
  readonly composition: EndgeComposition;
26
28
  readonly project: EndgeProject;
27
- readonly flowRegistry: EndgeFlowRegistry;
28
- readonly flow: EndgeFlow;
29
- readonly implementations: EndgeImplementations;
30
29
  readonly actions: EndgeActions;
30
+ readonly operations: EndgeOperations;
31
31
  readonly scopes: RuntimeScopeRegistry;
32
32
  private _hosts;
33
33
  private _strategies;
@@ -0,0 +1,13 @@
1
+ import { RuntimeHost } from '../../../../../domain/types/runtime/runtime-host.types';
2
+ import { ActionProgramPayload } from '../../../../../domain/types/program/action-program.types';
3
+ /** Executes compiler-produced Action IR without interpreting Source. */
4
+ export declare class ActionProgramExecutor {
5
+ run(payload: ActionProgramPayload, input: unknown, parent: RuntimeHost<any, any> | null): Promise<unknown>;
6
+ private runBlock;
7
+ private runStep;
8
+ private runOperation;
9
+ private evaluate;
10
+ private findComposition;
11
+ private requireObject;
12
+ private optionalObject;
13
+ }
@@ -1,12 +1,45 @@
1
- import { ComputationSandboxAdapter, ComputationSandboxRequest } from '../../../../../domain/types/computation/computation-runtime.types';
1
+ import { ComputationSandboxAdapter, ComputationSandboxRequest, ComputationOverride } from '../../../../../domain/types/computation/computation-runtime.types';
2
+ import { EntityOrigin } from '../../../../../domain/types/document/entity-management.type';
3
+ import { ImplementationBindingScope } from '../../../../../domain/types/runtime/action.types';
2
4
  import { ComputationProgramPayload } from '../../../../../domain/types/computation/computation-program.types';
3
5
  import { ProgramArtifact } from '../../../../../domain/types/program/program.types';
4
6
  import { ComputationResourceState } from './ComputationResource';
7
+ import { EndgeImplementations } from '../../implementation/endge-implementations';
5
8
  /** Executes compiled computation graphs and creates renderer-neutral resources. */
6
9
  export declare class EndgeComputation {
10
+ private readonly implementations;
11
+ private readonly definitions;
12
+ private readonly providers;
13
+ private readonly providerDisposers;
14
+ private readonly definitionDisposers;
15
+ private readonly bindingDisposers;
7
16
  private sandbox;
8
17
  private readonly executor;
9
18
  private readonly api;
19
+ constructor(implementations: EndgeImplementations);
20
+ hasDefinition(identity: string): boolean;
21
+ /** Installs a serializable code-owned Computation definition. */
22
+ define(definition: {
23
+ identity: string;
24
+ origin: EntityOrigin;
25
+ defaultProviderKey?: string;
26
+ execution?: 'sync' | 'async';
27
+ }): VoidFunction;
28
+ /** Installs executable code separately from a Computation definition. */
29
+ provide(provider: {
30
+ identity: string;
31
+ key: string;
32
+ origin?: EntityOrigin;
33
+ implementation: ComputationOverride;
34
+ }): VoidFunction;
35
+ /** Selects one previously provided implementation without redefining semantics. */
36
+ override(binding: {
37
+ identity: string;
38
+ providerKey: string;
39
+ scope?: Exclude<ImplementationBindingScope, 'default' | 'invocation'>;
40
+ scopeIdentity?: string;
41
+ priority?: number;
42
+ }): VoidFunction;
10
43
  setSandboxAdapter(adapter: ComputationSandboxAdapter | null): void;
11
44
  /** Executes an already compiler-validated function in the shared isolated sandbox. */
12
45
  executeSandbox(request: ComputationSandboxRequest): Promise<unknown>;
@@ -29,4 +62,6 @@ export declare class EndgeComputation {
29
62
  private _enterExecution;
30
63
  private runOverrideSync;
31
64
  private runOverride;
65
+ private resolveProvider;
66
+ reset(): void;
32
67
  }
@@ -0,0 +1,36 @@
1
+ import { EntityOrigin } from '../../../../domain/types/document/entity-management.type';
2
+ import { ImplementationBindingScope } from '../../../../domain/types/runtime/action.types';
3
+ import { EndgeImplementations } from '../implementation/endge-implementations';
4
+ type ConverterProvider = (value: unknown, options?: Record<string, unknown>) => unknown;
5
+ /** Synchronous Converter facade with separate definitions, providers and bindings. */
6
+ export declare class EndgeConverters {
7
+ private readonly implementations;
8
+ private readonly definitions;
9
+ private readonly providerDisposers;
10
+ private readonly definitionDisposers;
11
+ private started;
12
+ constructor(implementations: EndgeImplementations);
13
+ has(identity: string): boolean;
14
+ define(definition: {
15
+ identity: string;
16
+ origin: EntityOrigin;
17
+ defaultProviderKey?: string;
18
+ }): VoidFunction;
19
+ provide(provider: {
20
+ identity: string;
21
+ key: string;
22
+ origin: EntityOrigin;
23
+ convert: ConverterProvider;
24
+ }): VoidFunction;
25
+ override(binding: {
26
+ identity: string;
27
+ providerKey: string;
28
+ scope?: Exclude<ImplementationBindingScope, 'default' | 'invocation'>;
29
+ scopeIdentity?: string;
30
+ priority?: number;
31
+ }): VoidFunction;
32
+ execute(identity: string, value: unknown, options?: Record<string, unknown>): unknown;
33
+ start(): void;
34
+ reset(): void;
35
+ }
36
+ export {};
@@ -45,6 +45,8 @@ export declare class EndgeDataView {
45
45
  private _createTools;
46
46
  /** Минимальные built-in converters для preview v1. */
47
47
  private _convert;
48
+ /** Applies one registered Converter to the current value as a whole. */
49
+ convert(identity: string, value: unknown, options?: Record<string, unknown>): unknown;
48
50
  /** Читает dot-path из object/array без выбрасывания ошибок. */
49
51
  private _path;
50
52
  /** Ищет локальный DataView artifact среди child artifacts, включая вложенные children. */
@@ -0,0 +1,5 @@
1
+ import { ProgramArtifact } from '../../../../domain/types/program/program.types';
2
+ import { DataViewRef } from '../../../../domain/types/source/data-view-source.types';
3
+ import { ResponseOutputTransform } from '../../../../domain/types/source/response-output.types';
4
+ /** Applies ordered Query/Vocab transforms without implicit array mapping. */
5
+ export declare function runResponseOutputTransforms(transforms: readonly ResponseOutputTransform[] | undefined, legacyDataViews: readonly DataViewRef[], value: unknown, children?: readonly ProgramArtifact[]): unknown;