@rsconcept/rstool 1.5.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -4
- package/dist/agent-workflow-DY-hfAap.d.ts +116 -0
- package/dist/{analysis-DA44pfgA.d.ts → analysis-ktWFu4BY.d.ts} +2 -2
- package/dist/{constituenta-QY5w1x91.d.ts → constituenta-HTnFtmxt.d.ts} +3 -3
- package/dist/{diagnostic-C6TRoBgt.d.ts → diagnostic-CODFUU-Q.d.ts} +5 -4
- package/dist/{diagnostic-assembly-DRunIcKQ.js → diagnostic-assembly-B-6vIA5I.js} +3 -1
- package/dist/diagnostic-assembly-B-6vIA5I.js.map +1 -0
- package/dist/{evaluation-Cd4S7-3t.d.ts → evaluation-6A7rK4t7.d.ts} +2 -2
- package/dist/index.d.ts +9 -9
- package/dist/index.js +1 -1
- package/dist/mappers/model-adapter.d.ts +2 -2
- package/dist/mappers/model-adapter.js +127 -1
- package/dist/mappers/model-adapter.js.map +1 -0
- package/dist/mappers/schema-adapter.d.ts +9 -5
- package/dist/mappers/schema-adapter.js +44 -11
- package/dist/mappers/schema-adapter.js.map +1 -1
- package/dist/mappers/types.d.ts +2 -2
- package/dist/mappers/types.js +1 -1
- package/dist/models/agent-workflow.d.ts +2 -2
- package/dist/models/analysis.d.ts +1 -1
- package/dist/models/constituenta.d.ts +1 -1
- package/dist/models/diagnostic.d.ts +1 -1
- package/dist/models/diagnostic.js +1 -1
- package/dist/models/evaluation.d.ts +1 -1
- package/dist/models/index.d.ts +9 -9
- package/dist/models/index.js +1 -1
- package/dist/models/rstool-agent.d.ts +1 -1
- package/dist/models/rstool-agent.js +1 -1
- package/dist/models/session.d.ts +1 -1
- package/dist/models/tool-contract.d.ts +1 -1
- package/dist/models/tool-contract.js +1 -1
- package/dist/models/tool-contract.js.map +1 -1
- package/dist/{models-B255GaEC.js → models-BKmWx92e.js} +138 -4
- package/dist/models-BKmWx92e.js.map +1 -0
- package/dist/rsform-builder-DKwZfJvN.js +102 -0
- package/dist/rsform-builder-DKwZfJvN.js.map +1 -0
- package/dist/{rstool-agent-BGQAzFly.d.ts → rstool-agent-D-w4DlEo.d.ts} +14 -8
- package/dist/session/session-store.d.ts +2 -2
- package/dist/session/session-store.js +1 -1
- package/dist/{session-CI4rLYby.d.ts → session-Uc_vHrq9.d.ts} +2 -2
- package/dist/{tool-contract-sQfr-DYD.d.ts → tool-contract-i0v2gbWs.d.ts} +18 -8
- package/dist/wrapper/stdio-wrapper.js +14 -2
- package/dist/wrapper/stdio-wrapper.js.map +1 -1
- package/docs/DIAGNOSTICS.md +32 -31
- package/docs/DOMAIN.md +9 -2
- package/docs/README.md +1 -1
- package/package.json +1 -1
- package/skills/rstool-helper/EXAMPLES.md +26 -0
- package/skills/rstool-helper/GUIDE.md +2 -1
- package/skills/rstool-helper/REFERENCE.md +65 -19
- package/src/index.ts +4 -1
- package/src/mappers/diagnostic-assembly.ts +7 -4
- package/src/mappers/rsform-builder.ts +1 -1
- package/src/mappers/schema-adapter.ts +48 -16
- package/src/models/agent-workflow.ts +53 -0
- package/src/models/index.ts +6 -9
- package/src/models/rstool-agent.test.ts +83 -0
- package/src/models/rstool-agent.ts +182 -1
- package/src/models/tool-contract.ts +17 -2
- package/src/wrapper/stdio-handler.ts +15 -1
- package/dist/agent-workflow-D22FeODL.d.ts +0 -64
- package/dist/diagnostic-assembly-DRunIcKQ.js.map +0 -1
- package/dist/model-adapter-D-YmIvQW.js +0 -225
- package/dist/model-adapter-D-YmIvQW.js.map +0 -1
- package/dist/models-B255GaEC.js.map +0 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Agent-facing library for **incremental RSForm construction**, **RSLang expression analysis**, **diagnostics**, **modeling**, and **evaluation**. It wraps [`@rsconcept/domain`](https://www.npmjs.com/package/@rsconcept/domain) with a deterministic session contract and a stdio JSON wrapper for LLM agents. MCP hosts can use it through [`@rsconcept/rstool-mcp`](https://www.npmjs.com/package/@rsconcept/rstool-mcp).
|
|
4
4
|
|
|
5
|
-
**Contract version:** `3.
|
|
5
|
+
**Contract version:** `3.2.0` — see [skills/rstool-helper/REFERENCE.md](./skills/rstool-helper/REFERENCE.md) for the full v3 API.
|
|
6
6
|
|
|
7
7
|
## Agent skill
|
|
8
8
|
|
|
@@ -77,7 +77,7 @@ Maintainers: see [PUBLISHING.md](./PUBLISHING.md) for npm release steps.
|
|
|
77
77
|
- If a session method is called without an active session, rstool creates one lazily.
|
|
78
78
|
- On startup, a ready handshake is printed.
|
|
79
79
|
|
|
80
|
-
Supported methods (contract `3.
|
|
80
|
+
Supported methods (contract `3.2.0`):
|
|
81
81
|
|
|
82
82
|
- `ping`
|
|
83
83
|
- `methods`
|
|
@@ -97,6 +97,8 @@ Supported methods (contract `3.0.0`):
|
|
|
97
97
|
- `getModelState`
|
|
98
98
|
- `evaluate`
|
|
99
99
|
- `recalculateModel`
|
|
100
|
+
- `restoreOrder`
|
|
101
|
+
- `synthesize`
|
|
100
102
|
|
|
101
103
|
Params are **flat** at the top level (no `params.input` wrapper). Optional `sessionId` sits alongside method fields.
|
|
102
104
|
|
|
@@ -111,7 +113,7 @@ Request:
|
|
|
111
113
|
Response:
|
|
112
114
|
|
|
113
115
|
```json
|
|
114
|
-
{ "id": "1", "ok": true, "result": { "sessionId": "...", "contractVersion": "3.
|
|
116
|
+
{ "id": "1", "ok": true, "result": { "sessionId": "...", "contractVersion": "3.2.0" } }
|
|
115
117
|
```
|
|
116
118
|
|
|
117
119
|
Example `applySchemaPatch`:
|
|
@@ -140,7 +142,7 @@ Response:
|
|
|
140
142
|
"ok": true,
|
|
141
143
|
"result": {
|
|
142
144
|
"success": true,
|
|
143
|
-
"session": { "sessionId": "...", "contractVersion": "3.
|
|
145
|
+
"session": { "sessionId": "...", "contractVersion": "3.2.0" },
|
|
144
146
|
"summary": { "itemCount": 3 }
|
|
145
147
|
}
|
|
146
148
|
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { a as Diagnostic } from "./diagnostic-CODFUU-Q.js";
|
|
2
|
+
import { n as CstType } from "./common-D6TFl6l_.js";
|
|
3
|
+
import { a as ApplyConstituentsResult, i as ApplyConstituentsMode, o as ConstituentaDraft } from "./constituenta-HTnFtmxt.js";
|
|
4
|
+
import { n as SessionRevision, r as SessionState, t as SessionHandle } from "./session-Uc_vHrq9.js";
|
|
5
|
+
|
|
6
|
+
//#region src/models/agent-workflow.d.ts
|
|
7
|
+
/** Level of detail returned by {@link RSToolAgent.getSessionState}. */
|
|
8
|
+
type SessionStateDetail = 'summary' | 'full';
|
|
9
|
+
/** Result of `getSessionState`: compact summary or full cloned session state. */
|
|
10
|
+
type SessionStateResult = SessionSummary | SessionState;
|
|
11
|
+
/**
|
|
12
|
+
* Partial constituent update used in {@link ApplySchemaPatchInput}.
|
|
13
|
+
*
|
|
14
|
+
* `alias` is required; other fields are merged with any existing constituent
|
|
15
|
+
* or inferred from the alias prefix when omitted.
|
|
16
|
+
*/
|
|
17
|
+
interface AgentConstituentaPatch extends Omit<Partial<ConstituentaDraft>, 'alias'> {
|
|
18
|
+
alias: string;
|
|
19
|
+
}
|
|
20
|
+
/** Input for {@link RSToolAgent.applySchemaPatch}. */
|
|
21
|
+
interface ApplySchemaPatchInput {
|
|
22
|
+
/** Metadata used only when a new session is created for this patch. */
|
|
23
|
+
initial?: {
|
|
24
|
+
alias?: string;
|
|
25
|
+
title?: string;
|
|
26
|
+
comment?: string;
|
|
27
|
+
};
|
|
28
|
+
/** Constituent patches to apply in dependency order. */
|
|
29
|
+
items: AgentConstituentaPatch[];
|
|
30
|
+
/** atomic: rollback on first failure; best_effort applies valid drafts. Default: atomic. */
|
|
31
|
+
mode?: ApplyConstituentsMode;
|
|
32
|
+
/** When set, a revision is recorded after a successful patch. */
|
|
33
|
+
commitMessage?: string;
|
|
34
|
+
}
|
|
35
|
+
/** Result of {@link RSToolAgent.restoreOrder}. */
|
|
36
|
+
interface RestoreOrderResult {
|
|
37
|
+
/** Constituent ids in the restored declaration order. */
|
|
38
|
+
orderedIds: number[];
|
|
39
|
+
/** Aliases in the same order as {@link orderedIds}. */
|
|
40
|
+
orderedAliases: string[];
|
|
41
|
+
}
|
|
42
|
+
/** One row of an identification (substitution) table, by alias. */
|
|
43
|
+
interface SynthesisSubstitution {
|
|
44
|
+
/** Alias of the constituenta being replaced (deleted). */
|
|
45
|
+
original: string;
|
|
46
|
+
/** Alias of the surviving constituenta. */
|
|
47
|
+
substitution: string;
|
|
48
|
+
}
|
|
49
|
+
/** Input for {@link RSToolAgent.synthesize}. */
|
|
50
|
+
interface SynthesizeInput {
|
|
51
|
+
/** Session whose constituents are merged into the receiver. */
|
|
52
|
+
sourceSessionId: string;
|
|
53
|
+
/**
|
|
54
|
+
* Optional subset of source aliases to import.
|
|
55
|
+
* Omit or pass an empty array to import all source constituents.
|
|
56
|
+
*/
|
|
57
|
+
items?: string[];
|
|
58
|
+
/**
|
|
59
|
+
* Identification table: one endpoint is a source alias, the other a receiver alias
|
|
60
|
+
* (same rules as Portal schema embedding / «Встраивание схемы»).
|
|
61
|
+
*/
|
|
62
|
+
substitutions?: SynthesisSubstitution[];
|
|
63
|
+
/** When set, a revision is recorded after a successful synthesis. */
|
|
64
|
+
commitMessage?: string;
|
|
65
|
+
}
|
|
66
|
+
/** Result of {@link RSToolAgent.synthesize}. */
|
|
67
|
+
interface SynthesizeResult {
|
|
68
|
+
session: SessionHandle;
|
|
69
|
+
summary: SessionSummary;
|
|
70
|
+
/** False when some constituents failed re-analysis after embedding (best-effort). */
|
|
71
|
+
success: boolean;
|
|
72
|
+
/** Drafts that failed analysis after embedding; empty when {@link success} is true. */
|
|
73
|
+
failed: Array<{
|
|
74
|
+
draft: ConstituentaDraft;
|
|
75
|
+
diagnostics: Diagnostic[];
|
|
76
|
+
}>;
|
|
77
|
+
/** Source constituent id → inserted id in the receiver (before substitutions). */
|
|
78
|
+
idMap: Record<number, number>;
|
|
79
|
+
/** Alias remapping applied to imported constituents. */
|
|
80
|
+
aliasMapping: Record<string, string>;
|
|
81
|
+
/** Ids removed by substitutions. */
|
|
82
|
+
deletedIds: number[];
|
|
83
|
+
/** Ids of constituents inserted from the source (may include later-deleted ones). */
|
|
84
|
+
insertedIds: number[];
|
|
85
|
+
revision?: SessionRevision;
|
|
86
|
+
}
|
|
87
|
+
/** Compact view of one constituent in a session summary. */
|
|
88
|
+
interface SessionSummaryItem {
|
|
89
|
+
id: number;
|
|
90
|
+
alias: string;
|
|
91
|
+
cstType: CstType;
|
|
92
|
+
analysisSuccess: boolean;
|
|
93
|
+
}
|
|
94
|
+
/** Compact session overview returned by default from `getSessionState`. */
|
|
95
|
+
interface SessionSummary {
|
|
96
|
+
sessionId: string;
|
|
97
|
+
contractVersion: string;
|
|
98
|
+
alias: string;
|
|
99
|
+
title: string;
|
|
100
|
+
comment: string;
|
|
101
|
+
itemCount: number;
|
|
102
|
+
modelItemCount: number;
|
|
103
|
+
diagnosticsCount: number;
|
|
104
|
+
items: SessionSummaryItem[];
|
|
105
|
+
diagnostics: Diagnostic[];
|
|
106
|
+
lastRevision?: SessionRevision;
|
|
107
|
+
}
|
|
108
|
+
/** Result of {@link RSToolAgent.applySchemaPatch}. */
|
|
109
|
+
interface ApplySchemaPatchResult extends ApplyConstituentsResult {
|
|
110
|
+
session: SessionHandle;
|
|
111
|
+
summary: SessionSummary;
|
|
112
|
+
revision?: SessionRevision;
|
|
113
|
+
}
|
|
114
|
+
//#endregion
|
|
115
|
+
export { SessionStateDetail as a, SessionSummaryItem as c, SynthesizeResult as d, RestoreOrderResult as i, SynthesisSubstitution as l, ApplySchemaPatchInput as n, SessionStateResult as o, ApplySchemaPatchResult as r, SessionSummary as s, AgentConstituentaPatch as t, SynthesizeInput as u };
|
|
116
|
+
//# sourceMappingURL=agent-workflow-DY-hfAap.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as Diagnostic } from "./diagnostic-
|
|
1
|
+
import { a as Diagnostic } from "./diagnostic-CODFUU-Q.js";
|
|
2
2
|
import { n as CstType, o as ValueClass } from "./common-D6TFl6l_.js";
|
|
3
3
|
|
|
4
4
|
//#region src/models/analysis.d.ts
|
|
@@ -21,4 +21,4 @@ interface AnalysisResult {
|
|
|
21
21
|
}
|
|
22
22
|
//#endregion
|
|
23
23
|
export { AnalyzeExpressionInput as n, AnalysisResult as t };
|
|
24
|
-
//# sourceMappingURL=analysis-
|
|
24
|
+
//# sourceMappingURL=analysis-ktWFu4BY.d.ts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as Diagnostic } from "./diagnostic-
|
|
1
|
+
import { a as Diagnostic } from "./diagnostic-CODFUU-Q.js";
|
|
2
2
|
import { n as CstType } from "./common-D6TFl6l_.js";
|
|
3
|
-
import { t as AnalysisResult } from "./analysis-
|
|
3
|
+
import { t as AnalysisResult } from "./analysis-ktWFu4BY.js";
|
|
4
4
|
|
|
5
5
|
//#region src/models/constituenta.d.ts
|
|
6
6
|
/** Constituent payload before analysis and merge into session state. */
|
|
@@ -51,4 +51,4 @@ interface ApplyConstituentsResult {
|
|
|
51
51
|
}
|
|
52
52
|
//#endregion
|
|
53
53
|
export { ApplyConstituentsResult as a, ApplyConstituentsMode as i, AddOrUpdateConstituentaResult as n, ConstituentaDraft as o, ApplyConstituentsInput as r, ConstituentaState as s, AddOrUpdateConstituentaInput as t };
|
|
54
|
-
//# sourceMappingURL=constituenta-
|
|
54
|
+
//# sourceMappingURL=constituenta-HTnFtmxt.d.ts.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CstDiagnostic, CstDiagnostic as CstDiagnostic$1, DiagnosticKind, DiagnosticKind as DiagnosticKind$1, RSDiagnosticCode, RSDiagnosticCode as RSDiagnosticCode$1 } from "@rsconcept/domain/library";
|
|
2
2
|
import { RSErrorDescription } from "@rsconcept/domain/rslang/error";
|
|
3
3
|
import { EvalStatus } from "@rsconcept/domain/library/rsmodel";
|
|
4
|
+
import { DiagnosticSourceFields } from "@rsconcept/domain/library/rsform-api";
|
|
4
5
|
|
|
5
6
|
//#region src/mappers/diagnostic-assembly.d.ts
|
|
6
7
|
/** Severity of a {@link Diagnostic}. */
|
|
@@ -22,9 +23,9 @@ interface DiagnosticTarget {
|
|
|
22
23
|
}
|
|
23
24
|
declare function getDiagnosticName(code: number): string;
|
|
24
25
|
declare function getDiagnosticSeverity(code: number): DiagnosticSeverity;
|
|
25
|
-
declare function expandCstDiagnostic(cst:
|
|
26
|
+
declare function expandCstDiagnostic(cst: DiagnosticSourceFields, diagnostic: CstDiagnostic): Diagnostic;
|
|
26
27
|
declare function expressionDiagnostic(error: RSErrorDescription, expression: string, target?: DiagnosticTarget): Diagnostic;
|
|
27
|
-
declare function modelStatusDiagnostic(status: EvalStatus, cst:
|
|
28
|
+
declare function modelStatusDiagnostic(status: EvalStatus, cst: DiagnosticSourceFields): Diagnostic | null;
|
|
28
29
|
//#endregion
|
|
29
30
|
//#region src/models/diagnostic.d.ts
|
|
30
31
|
/** Filters for {@link RSToolAgent.listDiagnostics}. */
|
|
@@ -35,4 +36,4 @@ interface ListDiagnosticsFilters {
|
|
|
35
36
|
}
|
|
36
37
|
//#endregion
|
|
37
38
|
export { Diagnostic as a, expandCstDiagnostic as c, getDiagnosticSeverity as d, modelStatusDiagnostic as f, RSDiagnosticCode as i, expressionDiagnostic as l, DiagnosticKind as n, DiagnosticSeverity as o, ListDiagnosticsFilters as r, DiagnosticTarget as s, CstDiagnostic$1 as t, getDiagnosticName as u };
|
|
38
|
-
//# sourceMappingURL=diagnostic-
|
|
39
|
+
//# sourceMappingURL=diagnostic-CODFUU-Q.d.ts.map
|
|
@@ -45,10 +45,12 @@ function expressionForCstDiagnostic(cst, diagnostic) {
|
|
|
45
45
|
case RSDiagnosticCode.schemaMissingTerm: return cst.term_resolved;
|
|
46
46
|
case RSDiagnosticCode.schemaMissingConvention: return cst.convention;
|
|
47
47
|
case RSDiagnosticCode.schemaTypeMismatch: return cst.typification_manual;
|
|
48
|
+
case RSDiagnosticCode.schemaDependencyCycle:
|
|
49
|
+
case RSDiagnosticCode.schemaFormalDuplicate: return cst.definition_formal;
|
|
48
50
|
default: return cst.definition_formal;
|
|
49
51
|
}
|
|
50
52
|
}
|
|
51
53
|
//#endregion
|
|
52
54
|
export { getDiagnosticSeverity as a, getDiagnosticName as i, expandCstDiagnostic as n, modelStatusDiagnostic as o, expressionDiagnostic as r, DiagnosticKind as t };
|
|
53
55
|
|
|
54
|
-
//# sourceMappingURL=diagnostic-assembly-
|
|
56
|
+
//# sourceMappingURL=diagnostic-assembly-B-6vIA5I.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostic-assembly-B-6vIA5I.js","names":[],"sources":["../src/mappers/diagnostic-assembly.ts"],"sourcesContent":["import {\n type CstDiagnostic,\n DiagnosticKind,\n modelStatusCstDiagnostic,\n RSDiagnosticCode\n} from '@rsconcept/domain/library';\nimport { type DiagnosticSourceFields } from '@rsconcept/domain/library/rsform-api';\nimport { EvalStatus } from '@rsconcept/domain/library/rsmodel';\nimport { isCritical, RSErrorCode, type RSErrorDescription } from '@rsconcept/domain/rslang/error';\n\nexport { DiagnosticKind, RSDiagnosticCode };\n\n/** Severity of a {@link Diagnostic}. */\nexport type DiagnosticSeverity = 'error' | 'warning';\n\n/** Agent-facing diagnostic with redundant fields for autonomous repair. */\nexport interface Diagnostic extends CstDiagnostic {\n name: string;\n severity: DiagnosticSeverity;\n constituentId?: number;\n alias?: string;\n expression: string;\n from: number;\n to: number;\n}\n\n/** Context for attributing a {@link Diagnostic} to a constituent. */\nexport interface DiagnosticTarget {\n constituentId?: number;\n alias?: string;\n}\n\nconst DIAGNOSTIC_NAMES: ReadonlyMap<number, string> = new Map([\n ...Object.entries(RSErrorCode).map(([name, code]) => [code, name] as const),\n ...Object.entries(RSDiagnosticCode).map(([name, code]) => [code, name] as const)\n]);\n\nexport function getDiagnosticName(code: number): string {\n return DIAGNOSTIC_NAMES.get(code) ?? `0x${code.toString(16).toUpperCase()}`;\n}\n\nexport function getDiagnosticSeverity(code: number): DiagnosticSeverity {\n return isCritical(code as RSErrorCode) ? 'error' : 'warning';\n}\n\nexport function expandCstDiagnostic(cst: DiagnosticSourceFields, diagnostic: CstDiagnostic): Diagnostic {\n const expression = expressionForCstDiagnostic(cst, diagnostic);\n return {\n ...diagnostic,\n name: getDiagnosticName(diagnostic.code),\n severity: getDiagnosticSeverity(diagnostic.code),\n constituentId: cst.id,\n alias: cst.alias,\n expression,\n from: 0,\n to: diagnostic.kind === DiagnosticKind.MODEL ? 0 : Math.max(expression.length, 1)\n };\n}\n\nexport function expressionDiagnostic(\n error: RSErrorDescription,\n expression: string,\n target?: DiagnosticTarget\n): Diagnostic {\n return {\n kind: DiagnosticKind.EXPRESSION,\n code: error.code,\n name: getDiagnosticName(error.code),\n severity: getDiagnosticSeverity(error.code),\n constituentId: target?.constituentId,\n alias: target?.alias,\n expression,\n from: error.from,\n to: error.to,\n ...(error.params ? { params: error.params } : {})\n };\n}\n\nexport function modelStatusDiagnostic(status: EvalStatus, cst: DiagnosticSourceFields): Diagnostic | null {\n const base = modelStatusCstDiagnostic(status, cst.cst_type);\n return base ? expandCstDiagnostic(cst, base) : null;\n}\n\nfunction expressionForCstDiagnostic(cst: DiagnosticSourceFields, diagnostic: CstDiagnostic): string {\n switch (diagnostic.code) {\n case RSDiagnosticCode.schemaHomonym:\n case RSDiagnosticCode.schemaMissingTerm:\n return cst.term_resolved;\n case RSDiagnosticCode.schemaMissingConvention:\n return cst.convention;\n case RSDiagnosticCode.schemaTypeMismatch:\n return cst.typification_manual;\n case RSDiagnosticCode.schemaDependencyCycle:\n case RSDiagnosticCode.schemaFormalDuplicate:\n return cst.definition_formal;\n default:\n return cst.definition_formal;\n }\n}\n"],"mappings":";;;AAgCA,MAAM,mBAAgD,IAAI,IAAI,CAC5D,GAAG,OAAO,QAAQ,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,UAAU,CAAC,MAAM,IAAI,CAAU,GAC1E,GAAG,OAAO,QAAQ,gBAAgB,CAAC,CAAC,KAAK,CAAC,MAAM,UAAU,CAAC,MAAM,IAAI,CAAU,CACjF,CAAC;AAED,SAAgB,kBAAkB,MAAsB;CACtD,OAAO,iBAAiB,IAAI,IAAI,KAAK,KAAK,KAAK,SAAS,EAAE,CAAC,CAAC,YAAY;AAC1E;AAEA,SAAgB,sBAAsB,MAAkC;CACtE,OAAO,WAAW,IAAmB,IAAI,UAAU;AACrD;AAEA,SAAgB,oBAAoB,KAA6B,YAAuC;CACtG,MAAM,aAAa,2BAA2B,KAAK,UAAU;CAC7D,OAAO;EACL,GAAG;EACH,MAAM,kBAAkB,WAAW,IAAI;EACvC,UAAU,sBAAsB,WAAW,IAAI;EAC/C,eAAe,IAAI;EACnB,OAAO,IAAI;EACX;EACA,MAAM;EACN,IAAI,WAAW,SAAS,eAAe,QAAQ,IAAI,KAAK,IAAI,WAAW,QAAQ,CAAC;CAClF;AACF;AAEA,SAAgB,qBACd,OACA,YACA,QACY;CACZ,OAAO;EACL,MAAM,eAAe;EACrB,MAAM,MAAM;EACZ,MAAM,kBAAkB,MAAM,IAAI;EAClC,UAAU,sBAAsB,MAAM,IAAI;EAC1C,eAAe,QAAQ;EACvB,OAAO,QAAQ;EACf;EACA,MAAM,MAAM;EACZ,IAAI,MAAM;EACV,GAAI,MAAM,SAAS,EAAE,QAAQ,MAAM,OAAO,IAAI,CAAC;CACjD;AACF;AAEA,SAAgB,sBAAsB,QAAoB,KAAgD;CACxG,MAAM,OAAO,yBAAyB,QAAQ,IAAI,QAAQ;CAC1D,OAAO,OAAO,oBAAoB,KAAK,IAAI,IAAI;AACjD;AAEA,SAAS,2BAA2B,KAA6B,YAAmC;CAClG,QAAQ,WAAW,MAAnB;EACE,KAAK,iBAAiB;EACtB,KAAK,iBAAiB,mBACpB,OAAO,IAAI;EACb,KAAK,iBAAiB,yBACpB,OAAO,IAAI;EACb,KAAK,iBAAiB,oBACpB,OAAO,IAAI;EACb,KAAK,iBAAiB;EACtB,KAAK,iBAAiB,uBACpB,OAAO,IAAI;EACb,SACE,OAAO,IAAI;CACf;AACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as Diagnostic } from "./diagnostic-
|
|
1
|
+
import { a as Diagnostic } from "./diagnostic-CODFUU-Q.js";
|
|
2
2
|
import { a as RSToolValue, n as CstType, r as EvalStatus, t as BasicBinding } from "./common-D6TFl6l_.js";
|
|
3
3
|
|
|
4
4
|
//#region src/models/evaluation.d.ts
|
|
@@ -29,4 +29,4 @@ interface EvaluationResult {
|
|
|
29
29
|
}
|
|
30
30
|
//#endregion
|
|
31
31
|
export { EvaluationResult as i, EvaluateExpressionInput as n, EvaluateInput as r, EvaluateConstituentaInput as t };
|
|
32
|
-
//# sourceMappingURL=evaluation-
|
|
32
|
+
//# sourceMappingURL=evaluation-6A7rK4t7.d.ts.map
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { a as Diagnostic, i as RSDiagnosticCode, n as DiagnosticKind, o as DiagnosticSeverity, r as ListDiagnosticsFilters, t as CstDiagnostic } from "./diagnostic-
|
|
1
|
+
import { a as Diagnostic, i as RSDiagnosticCode, n as DiagnosticKind, o as DiagnosticSeverity, r as ListDiagnosticsFilters, t as CstDiagnostic } from "./diagnostic-CODFUU-Q.js";
|
|
2
2
|
import { a as RSToolValue, i as RSErrorCode, n as CstType, o as ValueClass, r as EvalStatus, t as BasicBinding } from "./common-D6TFl6l_.js";
|
|
3
|
-
import { n as AnalyzeExpressionInput, t as AnalysisResult } from "./analysis-
|
|
4
|
-
import { o as ConstituentaDraft, s as ConstituentaState } from "./constituenta-
|
|
3
|
+
import { n as AnalyzeExpressionInput, t as AnalysisResult } from "./analysis-ktWFu4BY.js";
|
|
4
|
+
import { o as ConstituentaDraft, s as ConstituentaState } from "./constituenta-HTnFtmxt.js";
|
|
5
5
|
import { a as SetConstituentaValueInput, i as SessionModelState, n as ModelValueState, r as RecalculateModelResult, s as SetModelValuesInput } from "./model-value-BUhr2IjA.js";
|
|
6
|
-
import { n as SessionRevision, r as SessionState, t as SessionHandle } from "./session-
|
|
7
|
-
import { a as
|
|
8
|
-
import { i as EvaluationResult, r as EvaluateInput } from "./evaluation-
|
|
9
|
-
import { a as ExportPortalInput, c as PortalExportKind, d as PortalModelImportData, f as PortalRsformDetails, h as PortalTermForm, i as ExportFormat, l as PORTAL_JSON_CONTRACT_VERSION, m as PortalSchemaImportData, n as RSToolAgentContract, o as ExportPortalResult, p as PortalSchemaConstituenta, r as RSToolAgentOptions, s as ImportDataKind, t as CONTRACT_VERSION, u as PortalImportMetadata } from "./tool-contract-
|
|
10
|
-
import { t as RSToolAgent } from "./rstool-agent-
|
|
6
|
+
import { n as SessionRevision, r as SessionState, t as SessionHandle } from "./session-Uc_vHrq9.js";
|
|
7
|
+
import { a as SessionStateDetail, c as SessionSummaryItem, d as SynthesizeResult, l as SynthesisSubstitution, n as ApplySchemaPatchInput, o as SessionStateResult, r as ApplySchemaPatchResult, s as SessionSummary, t as AgentConstituentaPatch, u as SynthesizeInput } from "./agent-workflow-DY-hfAap.js";
|
|
8
|
+
import { i as EvaluationResult, r as EvaluateInput } from "./evaluation-6A7rK4t7.js";
|
|
9
|
+
import { a as ExportPortalInput, c as PortalExportKind, d as PortalModelImportData, f as PortalRsformDetails, h as PortalTermForm, i as ExportFormat, l as PORTAL_JSON_CONTRACT_VERSION, m as PortalSchemaImportData, n as RSToolAgentContract, o as ExportPortalResult, p as PortalSchemaConstituenta, r as RSToolAgentOptions, s as ImportDataKind, t as CONTRACT_VERSION, u as PortalImportMetadata } from "./tool-contract-i0v2gbWs.js";
|
|
10
|
+
import { t as RSToolAgent } from "./rstool-agent-D-w4DlEo.js";
|
|
11
11
|
import { DomainAnalysisLike, DomainErrorLike, toDiagnostic, toPublicAnalysis } from "./mappers/types.js";
|
|
12
12
|
import { RSToolWrapperClient, RSToolWrapperClientOptions, WrapperResponse } from "./wrapper/client.js";
|
|
13
|
-
export { type AgentConstituentaPatch, type AnalysisResult, type AnalyzeExpressionInput, type ApplySchemaPatchInput, type ApplySchemaPatchResult, type BasicBinding, CONTRACT_VERSION, type ConstituentaDraft, type ConstituentaState, type CstDiagnostic, CstType, type Diagnostic, DiagnosticKind, type DiagnosticSeverity, type DomainAnalysisLike, type DomainErrorLike, EvalStatus, type EvaluateInput, type EvaluationResult, type ExportFormat, type ExportPortalInput, type ExportPortalResult, type ImportDataKind, type ListDiagnosticsFilters, type ModelValueState, PORTAL_JSON_CONTRACT_VERSION, type PortalExportKind, type PortalImportMetadata, type PortalModelImportData, type PortalRsformDetails, type PortalSchemaConstituenta, type PortalSchemaImportData, type PortalTermForm, RSDiagnosticCode, RSErrorCode, RSToolAgent, type RSToolAgentContract, type RSToolAgentOptions, type RSToolValue, RSToolWrapperClient, type RSToolWrapperClientOptions, type RecalculateModelResult, type SessionHandle, type SessionModelState, type SessionRevision, type SessionState, type SessionStateDetail, type SessionStateResult, type SessionSummary, type SessionSummaryItem, type SetConstituentaValueInput, type SetModelValuesInput, ValueClass, type WrapperResponse, toDiagnostic, toPublicAnalysis };
|
|
13
|
+
export { type AgentConstituentaPatch, type AnalysisResult, type AnalyzeExpressionInput, type ApplySchemaPatchInput, type ApplySchemaPatchResult, type BasicBinding, CONTRACT_VERSION, type ConstituentaDraft, type ConstituentaState, type CstDiagnostic, CstType, type Diagnostic, DiagnosticKind, type DiagnosticSeverity, type DomainAnalysisLike, type DomainErrorLike, EvalStatus, type EvaluateInput, type EvaluationResult, type ExportFormat, type ExportPortalInput, type ExportPortalResult, type ImportDataKind, type ListDiagnosticsFilters, type ModelValueState, PORTAL_JSON_CONTRACT_VERSION, type PortalExportKind, type PortalImportMetadata, type PortalModelImportData, type PortalRsformDetails, type PortalSchemaConstituenta, type PortalSchemaImportData, type PortalTermForm, RSDiagnosticCode, RSErrorCode, RSToolAgent, type RSToolAgentContract, type RSToolAgentOptions, type RSToolValue, RSToolWrapperClient, type RSToolWrapperClientOptions, type RecalculateModelResult, type SessionHandle, type SessionModelState, type SessionRevision, type SessionState, type SessionStateDetail, type SessionStateResult, type SessionSummary, type SessionSummaryItem, type SetConstituentaValueInput, type SetModelValuesInput, type SynthesisSubstitution, type SynthesizeInput, type SynthesizeResult, ValueClass, type WrapperResponse, toDiagnostic, toPublicAnalysis };
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { toDiagnostic, toPublicAnalysis } from "./mappers/types.js";
|
|
2
2
|
import { CstType, EvalStatus, RSErrorCode, ValueClass } from "./models/common.js";
|
|
3
3
|
import { DiagnosticKind, RSDiagnosticCode } from "./models/diagnostic.js";
|
|
4
|
-
import { r as PORTAL_JSON_CONTRACT_VERSION, t as RSToolAgent } from "./models-
|
|
4
|
+
import { r as PORTAL_JSON_CONTRACT_VERSION, t as RSToolAgent } from "./models-BKmWx92e.js";
|
|
5
5
|
import { CONTRACT_VERSION } from "./models/tool-contract.js";
|
|
6
6
|
import { RSToolWrapperClient } from "./wrapper/client.js";
|
|
7
7
|
export { CONTRACT_VERSION, CstType, DiagnosticKind, EvalStatus, PORTAL_JSON_CONTRACT_VERSION, RSDiagnosticCode, RSErrorCode, RSToolAgent, RSToolWrapperClient, ValueClass, toDiagnostic, toPublicAnalysis };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as SetConstituentaValueInput, i as SessionModelState, r as RecalculateModelResult } from "../model-value-BUhr2IjA.js";
|
|
2
|
-
import { r as SessionState } from "../session-
|
|
3
|
-
import { i as EvaluationResult } from "../evaluation-
|
|
2
|
+
import { r as SessionState } from "../session-Uc_vHrq9.js";
|
|
3
|
+
import { i as EvaluationResult } from "../evaluation-6A7rK4t7.js";
|
|
4
4
|
import { CstType } from "@rsconcept/domain/library/rsform";
|
|
5
5
|
import { RSEngine } from "@rsconcept/domain/library/rsengine";
|
|
6
6
|
|
|
@@ -1,2 +1,128 @@
|
|
|
1
|
-
import { t as
|
|
1
|
+
import { r as expressionDiagnostic, t as DiagnosticKind } from "../diagnostic-assembly-B-6vIA5I.js";
|
|
2
|
+
import { t as buildRSFormFromSession } from "../rsform-builder-DKwZfJvN.js";
|
|
3
|
+
import { EvalStatus } from "@rsconcept/domain/library/rsmodel";
|
|
4
|
+
import { isBaseSet } from "@rsconcept/domain/library/rsform-api";
|
|
5
|
+
import { isInferrable, isInterpretable, toBasicBinding, validateBasicBindingData, validateValueData } from "@rsconcept/domain/library/rsmodel-api";
|
|
6
|
+
import { RSEngine } from "@rsconcept/domain/library/rsengine";
|
|
7
|
+
//#region src/mappers/model-adapter.ts
|
|
8
|
+
const SESSION_MODEL_ID = 0;
|
|
9
|
+
var ModelAdapter = class {
|
|
10
|
+
async setConstituentaValue(session, input) {
|
|
11
|
+
this.validateSetInput(session, input);
|
|
12
|
+
const engine = this.createEngine(session);
|
|
13
|
+
const frontendType = session.items.find((item) => item.id === input.target).cstType;
|
|
14
|
+
if (isBaseSet(frontendType)) {
|
|
15
|
+
const binding = toBasicBinding(input.value);
|
|
16
|
+
await engine.setBasicValue(input.target, binding);
|
|
17
|
+
} else await engine.setStructureValue(input.target, input.value);
|
|
18
|
+
session.updatedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
19
|
+
return structuredClone(session.model);
|
|
20
|
+
}
|
|
21
|
+
async setConstituentaValues(session, input) {
|
|
22
|
+
for (const item of input.items) await this.setConstituentaValue(session, item);
|
|
23
|
+
return structuredClone(session.model);
|
|
24
|
+
}
|
|
25
|
+
async clearConstituentaValues(session, ids) {
|
|
26
|
+
const engine = this.createEngine(session);
|
|
27
|
+
for (const id of ids) {
|
|
28
|
+
await engine.resetValue(id);
|
|
29
|
+
session.updatedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
30
|
+
}
|
|
31
|
+
return structuredClone(session.model);
|
|
32
|
+
}
|
|
33
|
+
evaluateExpression(session, expression, cstType) {
|
|
34
|
+
const result = this.createEngine(session).evaluateExpression(expression, cstType);
|
|
35
|
+
const status = result.value === null ? result.errors.length > 0 ? EvalStatus.EVAL_FAIL : EvalStatus.EMPTY : EvalStatus.HAS_DATA;
|
|
36
|
+
return toPublicEvaluationResult(result.value, result.errors, result.iterations, result.cacheHits, status, expression);
|
|
37
|
+
}
|
|
38
|
+
evaluateConstituenta(session, constituentId) {
|
|
39
|
+
const cst = session.items.find((item) => item.id === constituentId);
|
|
40
|
+
if (!cst) throw new Error(`Unknown constituent: ${constituentId}`);
|
|
41
|
+
const engine = this.createEngine(session);
|
|
42
|
+
const result = engine.calculateCst(constituentId);
|
|
43
|
+
const status = engine.getCstStatus(constituentId);
|
|
44
|
+
return toPublicEvaluationResult(result.value, result.errors, result.iterations, result.cacheHits, status, cst.definitionFormal, {
|
|
45
|
+
constituentId: cst.id,
|
|
46
|
+
alias: cst.alias
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
recalculateModel(session) {
|
|
50
|
+
const engine = this.createEngine(session);
|
|
51
|
+
engine.recalculateAll();
|
|
52
|
+
return { items: session.items.map((item) => ({
|
|
53
|
+
id: item.id,
|
|
54
|
+
alias: item.alias,
|
|
55
|
+
value: engine.getCstValue(item.id),
|
|
56
|
+
status: engine.getCstStatus(item.id)
|
|
57
|
+
})) };
|
|
58
|
+
}
|
|
59
|
+
createEngine(session) {
|
|
60
|
+
const schema = buildRSFormFromSession(session);
|
|
61
|
+
const model = buildRSModelFromSession(session);
|
|
62
|
+
const engine = new RSEngine(SESSION_MODEL_ID, createInMemoryServices(session));
|
|
63
|
+
engine.loadData(schema, model);
|
|
64
|
+
return engine;
|
|
65
|
+
}
|
|
66
|
+
validateSetInput(session, input) {
|
|
67
|
+
const cst = session.items.find((item) => item.id === input.target);
|
|
68
|
+
if (!cst) throw new Error(`Unknown constituent: ${input.target}`);
|
|
69
|
+
const frontendType = cst.cstType;
|
|
70
|
+
if (!isInterpretable(frontendType)) throw new Error(`Constituent ${cst.alias} is not interpretable`);
|
|
71
|
+
if (isInferrable(frontendType)) throw new Error(`Constituent ${cst.alias} is inferrable and cannot be set directly`);
|
|
72
|
+
if (isBaseSet(frontendType)) {
|
|
73
|
+
if (!validateBasicBindingData(input.value)) throw new Error(`Invalid basic binding for ${cst.alias}`);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (!validateValueData(input.value)) throw new Error(`Invalid structured value for ${cst.alias}`);
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
function createInMemoryServices(session) {
|
|
80
|
+
return {
|
|
81
|
+
setCstValue: async ({ data }) => {
|
|
82
|
+
for (const item of data) {
|
|
83
|
+
const entry = {
|
|
84
|
+
id: item.target,
|
|
85
|
+
type: item.type,
|
|
86
|
+
value: item.data
|
|
87
|
+
};
|
|
88
|
+
const index = session.model.items.findIndex((existing) => existing.id === item.target);
|
|
89
|
+
if (index === -1) session.model.items.push(entry);
|
|
90
|
+
else session.model.items[index] = entry;
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
clearValues: async ({ data }) => {
|
|
94
|
+
const ids = new Set(data.items);
|
|
95
|
+
session.model.items = session.model.items.filter((item) => !ids.has(item.id));
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
function buildRSModelFromSession(session) {
|
|
100
|
+
return {
|
|
101
|
+
id: SESSION_MODEL_ID,
|
|
102
|
+
schema: 0,
|
|
103
|
+
editors: [],
|
|
104
|
+
items: session.model.items.map((item) => ({
|
|
105
|
+
id: item.id,
|
|
106
|
+
type: item.type,
|
|
107
|
+
value: item.value
|
|
108
|
+
}))
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
function toPublicEvaluationResult(value, errors, iterations, cacheHits, status, expression, target) {
|
|
112
|
+
const diagnostics = errors.map((error) => ({
|
|
113
|
+
...expressionDiagnostic(error, expression, target),
|
|
114
|
+
kind: DiagnosticKind.MODEL
|
|
115
|
+
}));
|
|
116
|
+
return {
|
|
117
|
+
success: diagnostics.length === 0 && value !== null,
|
|
118
|
+
value,
|
|
119
|
+
status,
|
|
120
|
+
iterations,
|
|
121
|
+
cacheHits,
|
|
122
|
+
diagnostics
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
//#endregion
|
|
2
126
|
export { ModelAdapter };
|
|
127
|
+
|
|
128
|
+
//# sourceMappingURL=model-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-adapter.js","names":[],"sources":["../../src/mappers/model-adapter.ts"],"sourcesContent":["import { DiagnosticKind, expressionDiagnostic } from './diagnostic-assembly';\nimport { type RSErrorDescription, type Value } from '@rsconcept/domain/rslang';\nimport { isBaseSet } from '@rsconcept/domain/library/rsform-api';\nimport { CstType, type RSForm } from '@rsconcept/domain/library/rsform';\nimport { RSEngine, type RSEngineServices } from '@rsconcept/domain/library/rsengine';\nimport { type BasicBinding, EvalStatus, type RSModel } from '@rsconcept/domain/library/rsmodel';\nimport {\n isInferrable,\n isInterpretable,\n toBasicBinding,\n validateBasicBindingData,\n validateValueData\n} from '@rsconcept/domain/library/rsmodel-api';\n\nimport {\n type EvaluationResult,\n type RecalculateModelResult,\n type SessionModelState,\n type SessionState,\n type SetConstituentaValueInput\n} from '../models';\nimport { buildRSFormFromSession } from './rsform-builder';\n\nconst SESSION_MODEL_ID = 0;\n\nexport class ModelAdapter {\n public async setConstituentaValue(\n session: SessionState,\n input: SetConstituentaValueInput\n ): Promise<SessionModelState> {\n this.validateSetInput(session, input);\n const engine = this.createEngine(session);\n const cst = session.items.find(item => item.id === input.target)!;\n const frontendType = cst.cstType;\n\n if (isBaseSet(frontendType)) {\n const binding = toBasicBinding(input.value as Record<string | number, string>);\n await engine.setBasicValue(input.target, binding);\n } else {\n await engine.setStructureValue(input.target, input.value as Value);\n }\n session.updatedAt = new Date().toISOString();\n return structuredClone(session.model);\n }\n\n public async setConstituentaValues(\n session: SessionState,\n input: { items: SetConstituentaValueInput[] }\n ): Promise<SessionModelState> {\n for (const item of input.items) {\n await this.setConstituentaValue(session, item);\n }\n return structuredClone(session.model);\n }\n\n public async clearConstituentaValues(session: SessionState, ids: number[]): Promise<SessionModelState> {\n const engine = this.createEngine(session);\n for (const id of ids) {\n await engine.resetValue(id);\n session.updatedAt = new Date().toISOString();\n }\n return structuredClone(session.model);\n }\n\n public evaluateExpression(session: SessionState, expression: string, cstType: CstType): EvaluationResult {\n const engine = this.createEngine(session);\n const result = engine.evaluateExpression(expression, cstType);\n const status =\n result.value === null\n ? result.errors.length > 0\n ? EvalStatus.EVAL_FAIL\n : EvalStatus.EMPTY\n : EvalStatus.HAS_DATA;\n return toPublicEvaluationResult(\n result.value,\n result.errors,\n result.iterations,\n result.cacheHits,\n status,\n expression\n );\n }\n\n public evaluateConstituenta(session: SessionState, constituentId: number): EvaluationResult {\n const cst = session.items.find(item => item.id === constituentId);\n if (!cst) {\n throw new Error(`Unknown constituent: ${constituentId}`);\n }\n const engine = this.createEngine(session);\n const result = engine.calculateCst(constituentId);\n const status = engine.getCstStatus(constituentId);\n return toPublicEvaluationResult(\n result.value,\n result.errors,\n result.iterations,\n result.cacheHits,\n status,\n cst.definitionFormal,\n { constituentId: cst.id, alias: cst.alias }\n );\n }\n\n public recalculateModel(session: SessionState): RecalculateModelResult {\n const engine = this.createEngine(session);\n engine.recalculateAll();\n const items = session.items.map(item => ({\n id: item.id,\n alias: item.alias,\n value: engine.getCstValue(item.id) as number | number[] | null,\n status: engine.getCstStatus(item.id)\n }));\n return { items };\n }\n\n public createEngine(session: SessionState): RSEngine {\n const schema = buildRSFormFromSession(session);\n const model = buildRSModelFromSession(session);\n const engine = new RSEngine(SESSION_MODEL_ID, createInMemoryServices(session));\n engine.loadData(schema, model);\n return engine;\n }\n\n private validateSetInput(session: SessionState, input: SetConstituentaValueInput): void {\n const cst = session.items.find(item => item.id === input.target);\n if (!cst) {\n throw new Error(`Unknown constituent: ${input.target}`);\n }\n const frontendType = cst.cstType;\n if (!isInterpretable(frontendType)) {\n throw new Error(`Constituent ${cst.alias} is not interpretable`);\n }\n if (isInferrable(frontendType)) {\n throw new Error(`Constituent ${cst.alias} is inferrable and cannot be set directly`);\n }\n if (isBaseSet(frontendType)) {\n if (!validateBasicBindingData(input.value)) {\n throw new Error(`Invalid basic binding for ${cst.alias}`);\n }\n return;\n }\n if (!validateValueData(input.value)) {\n throw new Error(`Invalid structured value for ${cst.alias}`);\n }\n }\n}\n\nfunction createInMemoryServices(session: SessionState): RSEngineServices {\n return {\n setCstValue: async ({ data }) => {\n for (const item of data) {\n const entry = {\n id: item.target,\n type: item.type,\n value: item.data as Value | BasicBinding\n };\n const index = session.model.items.findIndex(existing => existing.id === item.target);\n if (index === -1) {\n session.model.items.push(entry);\n } else {\n session.model.items[index] = entry;\n }\n }\n },\n clearValues: async ({ data }) => {\n const ids = new Set(data.items);\n session.model.items = session.model.items.filter(item => !ids.has(item.id));\n }\n };\n}\n\nfunction buildRSModelFromSession(session: SessionState): RSModel {\n return {\n id: SESSION_MODEL_ID,\n schema: 0,\n editors: [],\n items: session.model.items.map(item => ({\n id: item.id,\n type: item.type,\n value: item.value as Value | BasicBinding\n }))\n } as unknown as RSModel;\n}\n\nfunction toPublicEvaluationResult(\n value: Value | null,\n errors: RSErrorDescription[],\n iterations: number,\n cacheHits: number,\n status: EvalStatus,\n expression: string,\n target?: { constituentId?: number; alias?: string }\n): EvaluationResult {\n const diagnostics = errors.map(error => ({\n ...expressionDiagnostic(error, expression, target),\n kind: DiagnosticKind.MODEL\n }));\n return {\n success: diagnostics.length === 0 && value !== null,\n value: value as EvaluationResult['value'],\n status,\n iterations,\n cacheHits,\n diagnostics\n };\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { a as Diagnostic } from "../diagnostic-
|
|
2
|
-
import { t as AnalysisResult } from "../analysis-
|
|
3
|
-
import { o as ConstituentaDraft, s as ConstituentaState } from "../constituenta-
|
|
4
|
-
import { r as SessionState } from "../session-
|
|
1
|
+
import { a as Diagnostic } from "../diagnostic-CODFUU-Q.js";
|
|
2
|
+
import { t as AnalysisResult } from "../analysis-ktWFu4BY.js";
|
|
3
|
+
import { o as ConstituentaDraft, s as ConstituentaState } from "../constituenta-HTnFtmxt.js";
|
|
4
|
+
import { r as SessionState } from "../session-Uc_vHrq9.js";
|
|
5
5
|
import { RSForm } from "@rsconcept/domain/library/rsform";
|
|
6
6
|
import { RSLangAnalyzer } from "@rsconcept/domain/rslang";
|
|
7
7
|
|
|
@@ -13,7 +13,11 @@ declare class SchemaAdapter {
|
|
|
13
13
|
};
|
|
14
14
|
mergeStateWithDraft(session: SessionState, draft: ConstituentaDraft, analysis: AnalysisResult): ConstituentaState;
|
|
15
15
|
toPseudoRSFormState(session: SessionState, analyzer: RSLangAnalyzer): Pick<RSForm, 'items' | 'cstByAlias' | 'analyzer'>;
|
|
16
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Schema view for analysis: session items with the draft expression merged in so the
|
|
18
|
+
* dependency graph (and cycle diagnostics) reflect the expression under check.
|
|
19
|
+
*/
|
|
20
|
+
private toAnalysisSchema;
|
|
17
21
|
}
|
|
18
22
|
//#endregion
|
|
19
23
|
export { SchemaAdapter };
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { toPublicAnalysis } from "./types.js";
|
|
2
|
-
import {
|
|
3
|
-
import { RSLangAnalyzer } from "@rsconcept/domain/rslang";
|
|
2
|
+
import { t as buildRSFormFromSession } from "../rsform-builder-DKwZfJvN.js";
|
|
4
3
|
import { getAnalysisFor } from "@rsconcept/domain/library/rsform-api";
|
|
5
4
|
//#region src/mappers/schema-adapter.ts
|
|
6
5
|
var SchemaAdapter = class {
|
|
7
6
|
analyzeAgainstSession(session, draft) {
|
|
8
|
-
const
|
|
9
|
-
const schema = this.toPseudoRSFormState(session, analyzer);
|
|
7
|
+
const schema = this.toAnalysisSchema(session, draft);
|
|
10
8
|
const analysis = getAnalysisFor(draft.definitionFormal, draft.cstType, schema, draft.alias);
|
|
11
9
|
const target = {
|
|
12
10
|
constituentId: draft.id,
|
|
@@ -45,13 +43,48 @@ var SchemaAdapter = class {
|
|
|
45
43
|
analyzer
|
|
46
44
|
};
|
|
47
45
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
46
|
+
/**
|
|
47
|
+
* Schema view for analysis: session items with the draft expression merged in so the
|
|
48
|
+
* dependency graph (and cycle diagnostics) reflect the expression under check.
|
|
49
|
+
*/
|
|
50
|
+
toAnalysisSchema(session, draft) {
|
|
51
|
+
const items = session.items.map((item) => {
|
|
52
|
+
if (item.id !== draft.id) return item;
|
|
53
|
+
return {
|
|
54
|
+
...item,
|
|
55
|
+
alias: draft.alias,
|
|
56
|
+
cstType: draft.cstType,
|
|
57
|
+
definitionFormal: draft.definitionFormal,
|
|
58
|
+
term: draft.term ?? item.term,
|
|
59
|
+
definitionText: draft.definitionText ?? item.definitionText,
|
|
60
|
+
convention: draft.convention ?? item.convention,
|
|
61
|
+
analysis: {
|
|
62
|
+
...item.analysis,
|
|
63
|
+
success: false,
|
|
64
|
+
type: null,
|
|
65
|
+
valueClass: null
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
});
|
|
69
|
+
if (!items.some((item) => item.id === draft.id)) items.push({
|
|
70
|
+
id: draft.id,
|
|
71
|
+
alias: draft.alias,
|
|
72
|
+
cstType: draft.cstType,
|
|
73
|
+
definitionFormal: draft.definitionFormal,
|
|
74
|
+
term: draft.term ?? "",
|
|
75
|
+
definitionText: draft.definitionText ?? "",
|
|
76
|
+
convention: draft.convention ?? "",
|
|
77
|
+
analysis: {
|
|
78
|
+
success: false,
|
|
79
|
+
type: null,
|
|
80
|
+
valueClass: null,
|
|
81
|
+
diagnostics: []
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
return buildRSFormFromSession({
|
|
85
|
+
...session,
|
|
86
|
+
items
|
|
87
|
+
});
|
|
55
88
|
}
|
|
56
89
|
};
|
|
57
90
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-adapter.js","names":[],"sources":["../../src/mappers/schema-adapter.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"schema-adapter.js","names":[],"sources":["../../src/mappers/schema-adapter.ts"],"sourcesContent":["import { getAnalysisFor } from '@rsconcept/domain/library/rsform-api';\nimport { type RSForm } from '@rsconcept/domain/library/rsform';\nimport { RSLangAnalyzer } from '@rsconcept/domain/rslang';\n\nimport {\n type AnalysisResult,\n type ConstituentaDraft,\n type ConstituentaState,\n type Diagnostic,\n type SessionState\n} from '../models';\nimport { buildRSFormFromSession } from './rsform-builder';\nimport { toPublicAnalysis } from './types';\n\nexport class SchemaAdapter {\n public analyzeAgainstSession(\n session: SessionState,\n draft: ConstituentaDraft\n ): { result: AnalysisResult; diagnostics: Diagnostic[] } {\n const schema = this.toAnalysisSchema(session, draft);\n const analysis = getAnalysisFor(draft.definitionFormal, draft.cstType, schema, draft.alias);\n const target = { constituentId: draft.id, alias: draft.alias };\n const result = toPublicAnalysis(\n {\n success: analysis.success,\n type: analysis.type as Record<string, unknown> | null,\n valueClass: analysis.valueClass,\n errors: analysis.errors\n },\n draft.definitionFormal,\n target\n );\n return {\n result,\n diagnostics: result.diagnostics\n };\n }\n\n public mergeStateWithDraft(\n session: SessionState,\n draft: ConstituentaDraft,\n analysis: AnalysisResult\n ): ConstituentaState {\n const state: ConstituentaState = {\n ...draft,\n term: draft.term ?? '',\n definitionText: draft.definitionText ?? '',\n convention: draft.convention ?? '',\n analysis\n };\n const index = session.items.findIndex(item => item.id === draft.id);\n if (index === -1) {\n session.items.push(state);\n } else {\n session.items[index] = state;\n }\n session.updatedAt = new Date().toISOString();\n return state;\n }\n\n public toPseudoRSFormState(\n session: SessionState,\n analyzer: RSLangAnalyzer\n ): Pick<RSForm, 'items' | 'cstByAlias' | 'analyzer'> {\n const cstByAlias = new Map(session.items.map(item => [item.alias, item]));\n return {\n items: session.items as unknown as RSForm['items'],\n cstByAlias: cstByAlias as unknown as RSForm['cstByAlias'],\n analyzer\n };\n }\n\n /**\n * Schema view for analysis: session items with the draft expression merged in so the\n * dependency graph (and cycle diagnostics) reflect the expression under check.\n */\n private toAnalysisSchema(session: SessionState, draft: ConstituentaDraft): RSForm {\n const items = session.items.map(item => {\n if (item.id !== draft.id) {\n return item;\n }\n return {\n ...item,\n alias: draft.alias,\n cstType: draft.cstType,\n definitionFormal: draft.definitionFormal,\n term: draft.term ?? item.term,\n definitionText: draft.definitionText ?? item.definitionText,\n convention: draft.convention ?? item.convention,\n // Drop cached type so mutual references surface as untyped → cycle.\n analysis: {\n ...item.analysis,\n success: false,\n type: null,\n valueClass: null\n }\n };\n });\n if (!items.some(item => item.id === draft.id)) {\n items.push({\n id: draft.id,\n alias: draft.alias,\n cstType: draft.cstType,\n definitionFormal: draft.definitionFormal,\n term: draft.term ?? '',\n definitionText: draft.definitionText ?? '',\n convention: draft.convention ?? '',\n analysis: {\n success: false,\n type: null,\n valueClass: null,\n diagnostics: []\n }\n });\n }\n\n return buildRSFormFromSession({ ...session, items });\n }\n}\n"],"mappings":";;;;AAcA,IAAa,gBAAb,MAA2B;CACzB,sBACE,SACA,OACuD;EACvD,MAAM,SAAS,KAAK,iBAAiB,SAAS,KAAK;EACnD,MAAM,WAAW,eAAe,MAAM,kBAAkB,MAAM,SAAS,QAAQ,MAAM,KAAK;EAC1F,MAAM,SAAS;GAAE,eAAe,MAAM;GAAI,OAAO,MAAM;EAAM;EAC7D,MAAM,SAAS,iBACb;GACE,SAAS,SAAS;GAClB,MAAM,SAAS;GACf,YAAY,SAAS;GACrB,QAAQ,SAAS;EACnB,GACA,MAAM,kBACN,MACF;EACA,OAAO;GACL;GACA,aAAa,OAAO;EACtB;CACF;CAEA,oBACE,SACA,OACA,UACmB;EACnB,MAAM,QAA2B;GAC/B,GAAG;GACH,MAAM,MAAM,QAAQ;GACpB,gBAAgB,MAAM,kBAAkB;GACxC,YAAY,MAAM,cAAc;GAChC;EACF;EACA,MAAM,QAAQ,QAAQ,MAAM,WAAU,SAAQ,KAAK,OAAO,MAAM,EAAE;EAClE,IAAI,UAAU,IACZ,QAAQ,MAAM,KAAK,KAAK;OAExB,QAAQ,MAAM,SAAS;EAEzB,QAAQ,6BAAY,IAAI,KAAK,EAAC,CAAC,YAAY;EAC3C,OAAO;CACT;CAEA,oBACE,SACA,UACmD;EACnD,MAAM,aAAa,IAAI,IAAI,QAAQ,MAAM,KAAI,SAAQ,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC;EACxE,OAAO;GACL,OAAO,QAAQ;GACH;GACZ;EACF;CACF;;;;;CAMA,iBAAyB,SAAuB,OAAkC;EAChF,MAAM,QAAQ,QAAQ,MAAM,KAAI,SAAQ;GACtC,IAAI,KAAK,OAAO,MAAM,IACpB,OAAO;GAET,OAAO;IACL,GAAG;IACH,OAAO,MAAM;IACb,SAAS,MAAM;IACf,kBAAkB,MAAM;IACxB,MAAM,MAAM,QAAQ,KAAK;IACzB,gBAAgB,MAAM,kBAAkB,KAAK;IAC7C,YAAY,MAAM,cAAc,KAAK;IAErC,UAAU;KACR,GAAG,KAAK;KACR,SAAS;KACT,MAAM;KACN,YAAY;IACd;GACF;EACF,CAAC;EACD,IAAI,CAAC,MAAM,MAAK,SAAQ,KAAK,OAAO,MAAM,EAAE,GAC1C,MAAM,KAAK;GACT,IAAI,MAAM;GACV,OAAO,MAAM;GACb,SAAS,MAAM;GACf,kBAAkB,MAAM;GACxB,MAAM,MAAM,QAAQ;GACpB,gBAAgB,MAAM,kBAAkB;GACxC,YAAY,MAAM,cAAc;GAChC,UAAU;IACR,SAAS;IACT,MAAM;IACN,YAAY;IACZ,aAAa,CAAC;GAChB;EACF,CAAC;EAGH,OAAO,uBAAuB;GAAE,GAAG;GAAS;EAAM,CAAC;CACrD;AACF"}
|
package/dist/mappers/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as Diagnostic, s as DiagnosticTarget } from "../diagnostic-
|
|
2
|
-
import { t as AnalysisResult } from "../analysis-
|
|
1
|
+
import { a as Diagnostic, s as DiagnosticTarget } from "../diagnostic-CODFUU-Q.js";
|
|
2
|
+
import { t as AnalysisResult } from "../analysis-ktWFu4BY.js";
|
|
3
3
|
import { ValueClass } from "@rsconcept/domain/rslang";
|
|
4
4
|
|
|
5
5
|
//#region src/mappers/types.d.ts
|
package/dist/mappers/types.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as expressionDiagnostic } from "../diagnostic-assembly-
|
|
1
|
+
import { r as expressionDiagnostic } from "../diagnostic-assembly-B-6vIA5I.js";
|
|
2
2
|
//#region src/mappers/types.ts
|
|
3
3
|
/** Map a domain parser/semantic error to the public diagnostic shape. */
|
|
4
4
|
function toDiagnostic(error, expression, target) {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as
|
|
2
|
-
export { AgentConstituentaPatch, ApplySchemaPatchInput, ApplySchemaPatchResult, SessionStateDetail, SessionStateResult, SessionSummary, SessionSummaryItem };
|
|
1
|
+
import { a as SessionStateDetail, c as SessionSummaryItem, d as SynthesizeResult, i as RestoreOrderResult, l as SynthesisSubstitution, n as ApplySchemaPatchInput, o as SessionStateResult, r as ApplySchemaPatchResult, s as SessionSummary, t as AgentConstituentaPatch, u as SynthesizeInput } from "../agent-workflow-DY-hfAap.js";
|
|
2
|
+
export { AgentConstituentaPatch, ApplySchemaPatchInput, ApplySchemaPatchResult, RestoreOrderResult, SessionStateDetail, SessionStateResult, SessionSummary, SessionSummaryItem, SynthesisSubstitution, SynthesizeInput, SynthesizeResult };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as AnalyzeExpressionInput, t as AnalysisResult } from "../analysis-
|
|
1
|
+
import { n as AnalyzeExpressionInput, t as AnalysisResult } from "../analysis-ktWFu4BY.js";
|
|
2
2
|
export { AnalysisResult, AnalyzeExpressionInput };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as ApplyConstituentsResult, i as ApplyConstituentsMode, n as AddOrUpdateConstituentaResult, o as ConstituentaDraft, r as ApplyConstituentsInput, s as ConstituentaState, t as AddOrUpdateConstituentaInput } from "../constituenta-
|
|
1
|
+
import { a as ApplyConstituentsResult, i as ApplyConstituentsMode, n as AddOrUpdateConstituentaResult, o as ConstituentaDraft, r as ApplyConstituentsInput, s as ConstituentaState, t as AddOrUpdateConstituentaInput } from "../constituenta-HTnFtmxt.js";
|
|
2
2
|
export { AddOrUpdateConstituentaInput, AddOrUpdateConstituentaResult, ApplyConstituentsInput, ApplyConstituentsMode, ApplyConstituentsResult, ConstituentaDraft, ConstituentaState };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as Diagnostic, c as expandCstDiagnostic, d as getDiagnosticSeverity, f as modelStatusDiagnostic, i as RSDiagnosticCode, l as expressionDiagnostic, n as DiagnosticKind, o as DiagnosticSeverity, r as ListDiagnosticsFilters, s as DiagnosticTarget, t as CstDiagnostic, u as getDiagnosticName } from "../diagnostic-
|
|
1
|
+
import { a as Diagnostic, c as expandCstDiagnostic, d as getDiagnosticSeverity, f as modelStatusDiagnostic, i as RSDiagnosticCode, l as expressionDiagnostic, n as DiagnosticKind, o as DiagnosticSeverity, r as ListDiagnosticsFilters, s as DiagnosticTarget, t as CstDiagnostic, u as getDiagnosticName } from "../diagnostic-CODFUU-Q.js";
|
|
2
2
|
export { type CstDiagnostic, type Diagnostic, DiagnosticKind, type DiagnosticSeverity, type DiagnosticTarget, ListDiagnosticsFilters, RSDiagnosticCode, expandCstDiagnostic, expressionDiagnostic, getDiagnosticName, getDiagnosticSeverity, modelStatusDiagnostic };
|