@rsconcept/rstool 1.3.0 → 1.4.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 +4 -4
- package/dist/{agent-workflow-Gk0Vfnv1.d.ts → agent-workflow-D22FeODL.d.ts} +6 -6
- package/dist/{analysis-LLnPhmGa.d.ts → analysis-DA44pfgA.d.ts} +4 -3
- package/dist/common-D6TFl6l_.d.ts +11 -0
- package/dist/{constituenta-DnGR6bnM.d.ts → constituenta-QY5w1x91.d.ts} +7 -7
- package/dist/diagnostic-C6TRoBgt.d.ts +38 -0
- package/dist/diagnostic-assembly-DRunIcKQ.js +54 -0
- package/dist/diagnostic-assembly-DRunIcKQ.js.map +1 -0
- package/dist/{evaluation-Cns8BFm4.d.ts → evaluation-Cd4S7-3t.d.ts} +4 -3
- package/dist/index.d.ts +12 -12
- package/dist/index.js +4 -3
- package/dist/mappers/model-adapter.d.ts +3 -3
- package/dist/mappers/model-adapter.js +1 -199
- package/dist/mappers/schema-adapter.d.ts +5 -5
- package/dist/mappers/schema-adapter.js +8 -8
- package/dist/mappers/schema-adapter.js.map +1 -1
- package/dist/mappers/types.d.ts +6 -6
- package/dist/mappers/types.js +6 -10
- package/dist/mappers/types.js.map +1 -1
- package/dist/model-adapter-D-YmIvQW.js +225 -0
- package/dist/model-adapter-D-YmIvQW.js.map +1 -0
- package/dist/{model-value-BbonPzMz.d.ts → model-value-BUhr2IjA.d.ts} +2 -2
- package/dist/models/agent-workflow.d.ts +1 -1
- package/dist/models/analysis.d.ts +1 -1
- package/dist/models/common.d.ts +2 -2
- package/dist/models/common.js +1 -1
- package/dist/models/constituenta.d.ts +1 -1
- package/dist/models/diagnostic.d.ts +2 -2
- package/dist/models/diagnostic.js +3 -1
- package/dist/models/evaluation.d.ts +1 -1
- package/dist/models/index.d.ts +11 -11
- package/dist/models/index.js +3 -2
- package/dist/models/model-value.d.ts +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-9G6ur_pg.js → models-DTLctDmB.js} +72 -15
- package/dist/models-DTLctDmB.js.map +1 -0
- package/dist/{rstool-agent-D2cQze_b.d.ts → rstool-agent-BMVAyMAG.d.ts} +11 -10
- package/dist/session/session-store.d.ts +6 -6
- package/dist/session/session-store.js +1 -1
- package/dist/{session-ChexW8i7.d.ts → session-CI4rLYby.d.ts} +3 -3
- package/dist/{tool-contract-0uRGhEfW.d.ts → tool-contract-sQfr-DYD.d.ts} +12 -12
- package/dist/wrapper/stdio-wrapper.js +1 -1
- package/docs/DIAGNOSTICS.md +63 -20
- package/examples/README.md +2 -0
- package/examples/agent-client.ts +15 -3
- package/examples/audit-diagnostics.ts +40 -0
- package/examples/chocolate-nim/build-rsform.ts +15 -0
- package/examples/chocolate-nim/build-rsmodel.ts +15 -22
- package/examples/chocolate-nim/model-demo.ts +11 -0
- package/examples/chocolate-nim/rsform-session.json +329 -310
- package/examples/chocolate-nim/rsmodel-session.json +311 -311
- package/examples/diagnostics-utils.ts +25 -0
- package/examples/expression-bank/bank-constituents.ts +10 -10
- package/examples/expression-bank/build-rsform.ts +8 -0
- package/examples/expression-bank/rsform-session.json +1501 -1501
- package/examples/kinship/build-rsform.ts +16 -1
- package/examples/kinship/build-rsmodel.ts +15 -56
- package/examples/kinship/model-demo.ts +35 -0
- package/examples/kinship/rsform-session.json +300 -215
- package/examples/kinship/rsmodel-session.json +216 -216
- package/examples/movd/build-rsform.ts +15 -0
- package/examples/movd/build-rsmodel.ts +15 -46
- package/examples/movd/model-demo.ts +31 -0
- package/examples/movd/rsform-session.json +359 -270
- package/examples/movd/rsmodel-session.json +263 -263
- package/examples/sample/build-rsform.ts +43 -3
- package/examples/sample/build-rsmodel.ts +26 -2
- package/examples/sample/rsform-session.json +41 -12
- package/examples/sample/rsmodel-session.json +37 -37
- package/examples/template-apply/build-rsform.ts +26 -9
- package/examples/template-apply/rsform-session.json +100 -45
- package/package.json +3 -2
- package/skills/rstool-helper/EXAMPLES.md +3 -1
- package/skills/rstool-helper/GUIDE.md +7 -6
- package/skills/rstool-helper/REFERENCE.md +19 -19
- package/src/index.ts +7 -4
- package/src/mappers/diagnostic-assembly.ts +96 -0
- package/src/mappers/diagnostics-collector.test.ts +63 -0
- package/src/mappers/diagnostics-collector.ts +73 -0
- package/src/mappers/model-adapter.ts +28 -99
- package/src/mappers/rsform-builder.ts +127 -0
- package/src/mappers/schema-adapter.ts +19 -15
- package/src/mappers/types.ts +12 -12
- package/src/models/agent-workflow.ts +2 -2
- package/src/models/analysis.ts +3 -2
- package/src/models/common.ts +0 -12
- package/src/models/constituenta.ts +4 -4
- package/src/models/diagnostic.ts +15 -10
- package/src/models/evaluation.ts +3 -8
- package/src/models/index.ts +8 -2
- package/src/models/rstool-agent.test.ts +66 -5
- package/src/models/rstool-agent.ts +22 -10
- package/src/models/tool-contract.ts +4 -4
- package/src/session/persistence.ts +2 -2
- package/src/session/session-store.ts +14 -7
- package/dist/common-DHJalS-Q.d.ts +0 -22
- package/dist/diagnostic-D9yl_mEL.d.ts +0 -19
- package/dist/mappers/model-adapter.js.map +0 -1
- package/dist/models-9G6ur_pg.js.map +0 -1
|
@@ -6,6 +6,8 @@ import { CstType, RSToolWrapperClient, type AgentConstituentaPatch } from '../..
|
|
|
6
6
|
type DraftBatch = { draft: AgentConstituentaPatch };
|
|
7
7
|
|
|
8
8
|
import { DEFAULT_RSFORM_SESSION_PATH } from './constants';
|
|
9
|
+
import { KINSHIP_MODEL_SET } from './model-demo';
|
|
10
|
+
import { assertCleanDiagnostics } from '../diagnostics-utils';
|
|
9
11
|
|
|
10
12
|
async function run() {
|
|
11
13
|
const client = new RSToolWrapperClient({
|
|
@@ -573,7 +575,7 @@ async function run() {
|
|
|
573
575
|
alias: 'D12',
|
|
574
576
|
cstType: CstType.TERM,
|
|
575
577
|
definitionFormal: 'S2∆S3',
|
|
576
|
-
term: '
|
|
578
|
+
term: 'мужчины и женщины',
|
|
577
579
|
definitionText: 'Совокупность мужчин и женщин как симметрическая разность разбиения по полу'
|
|
578
580
|
}
|
|
579
581
|
},
|
|
@@ -670,6 +672,19 @@ async function run() {
|
|
|
670
672
|
throw new Error(`${failedAlias}: analysis failed: ${JSON.stringify(diags)}`);
|
|
671
673
|
}
|
|
672
674
|
|
|
675
|
+
await client.call('setModelValues', {
|
|
676
|
+
sessionId: session.sessionId,
|
|
677
|
+
set: [...KINSHIP_MODEL_SET]
|
|
678
|
+
});
|
|
679
|
+
await client.call('recalculateModel', { sessionId: session.sessionId });
|
|
680
|
+
|
|
681
|
+
await assertCleanDiagnostics(
|
|
682
|
+
client,
|
|
683
|
+
session.sessionId,
|
|
684
|
+
new Map(drafts.map(entry => [entry.draft.id!, entry.draft.alias])),
|
|
685
|
+
'kinship RSForm'
|
|
686
|
+
);
|
|
687
|
+
|
|
673
688
|
await client.call('commitStep', {
|
|
674
689
|
sessionId: session.sessionId,
|
|
675
690
|
message:
|
|
@@ -1,57 +1,11 @@
|
|
|
1
1
|
import { readFile, writeFile } from 'node:fs/promises';
|
|
2
2
|
import { resolve } from 'node:path';
|
|
3
3
|
|
|
4
|
-
import { TUPLE_ID } from '@rsconcept/domain';
|
|
5
|
-
|
|
6
4
|
import { EvalStatus, RSToolWrapperClient } from '../../src';
|
|
7
5
|
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
DEFAULT_RSFORM_SESSION_PATH,
|
|
12
|
-
DEFAULT_RSMODEL_SESSION_PATH,
|
|
13
|
-
S1_ID,
|
|
14
|
-
S2_ID,
|
|
15
|
-
S3_ID,
|
|
16
|
-
S4_ID,
|
|
17
|
-
X1_ID
|
|
18
|
-
} from './constants';
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Minimal family so D3 (внучатые племянники) is non-empty:
|
|
22
|
-
* - 0,1 Иван/Мария — общие родители 2,3
|
|
23
|
-
* - 2 Пётр, 3 Анна — сиблинги
|
|
24
|
-
* - 4 Олег — сын Петра
|
|
25
|
-
* - 5 Дарья — дочь Анны (племянница Петра)
|
|
26
|
-
* - 6 Семён — сын Дарьи (внучатый племянник Петра)
|
|
27
|
-
*/
|
|
28
|
-
const X1_BINDING = {
|
|
29
|
-
0: 'Иван',
|
|
30
|
-
1: 'Мария',
|
|
31
|
-
2: 'Пётр',
|
|
32
|
-
3: 'Анна',
|
|
33
|
-
4: 'Олег',
|
|
34
|
-
5: 'Дарья',
|
|
35
|
-
6: 'Семён'
|
|
36
|
-
} as const;
|
|
37
|
-
|
|
38
|
-
/** S1: (parent, child) pairs — numeric indices into X1. */
|
|
39
|
-
const S1_VALUE = [
|
|
40
|
-
[TUPLE_ID, 0, 2],
|
|
41
|
-
[TUPLE_ID, 1, 2],
|
|
42
|
-
[TUPLE_ID, 0, 3],
|
|
43
|
-
[TUPLE_ID, 1, 3],
|
|
44
|
-
[TUPLE_ID, 2, 4],
|
|
45
|
-
[TUPLE_ID, 3, 5],
|
|
46
|
-
[TUPLE_ID, 5, 6]
|
|
47
|
-
] as const;
|
|
48
|
-
|
|
49
|
-
/** S4: браки (муж, жена) — Иван (0) и Мария (1). */
|
|
50
|
-
const S4_VALUE = [[TUPLE_ID, 0, 1]] as const;
|
|
51
|
-
|
|
52
|
-
/** Indices of men and women in the sample family (Иван, Пётр, Олег, Семён — м; остальные — ж). */
|
|
53
|
-
const S2_VALUE = [0, 2, 4, 6] as const;
|
|
54
|
-
const S3_VALUE = [1, 3, 5] as const;
|
|
6
|
+
import { A1_ID, D3_ID, DEFAULT_RSFORM_SESSION_PATH, DEFAULT_RSMODEL_SESSION_PATH } from './constants';
|
|
7
|
+
import { KINSHIP_MODEL_SET } from './model-demo';
|
|
8
|
+
import { assertCleanDiagnostics } from '../diagnostics-utils';
|
|
55
9
|
|
|
56
10
|
async function run() {
|
|
57
11
|
const client = new RSToolWrapperClient({
|
|
@@ -69,13 +23,7 @@ async function run() {
|
|
|
69
23
|
|
|
70
24
|
await client.call('setModelValues', {
|
|
71
25
|
sessionId: imported.sessionId,
|
|
72
|
-
set: [
|
|
73
|
-
{ target: X1_ID, value: X1_BINDING },
|
|
74
|
-
{ target: S1_ID, value: S1_VALUE },
|
|
75
|
-
{ target: S2_ID, value: S2_VALUE },
|
|
76
|
-
{ target: S3_ID, value: S3_VALUE },
|
|
77
|
-
{ target: S4_ID, value: S4_VALUE }
|
|
78
|
-
]
|
|
26
|
+
set: [...KINSHIP_MODEL_SET]
|
|
79
27
|
});
|
|
80
28
|
|
|
81
29
|
const recalculated = await client.call<{
|
|
@@ -114,6 +62,17 @@ async function run() {
|
|
|
114
62
|
throw new Error(`Expected A1 card(X1)≤10 to hold; got ${JSON.stringify(a1Eval)}`);
|
|
115
63
|
}
|
|
116
64
|
|
|
65
|
+
const state = await client.call<{ items: Array<{ id: number; alias: string }> }>('getSessionState', {
|
|
66
|
+
sessionId: imported.sessionId,
|
|
67
|
+
detail: 'full'
|
|
68
|
+
});
|
|
69
|
+
await assertCleanDiagnostics(
|
|
70
|
+
client,
|
|
71
|
+
imported.sessionId,
|
|
72
|
+
new Map(state.items.map(item => [item.id, item.alias])),
|
|
73
|
+
'kinship RSModel'
|
|
74
|
+
);
|
|
75
|
+
|
|
117
76
|
await client.call('commitStep', {
|
|
118
77
|
sessionId: imported.sessionId,
|
|
119
78
|
message: 'Модель kinship: D3 непуст; A1 card(X1)≤10 выполняется'
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { TUPLE_ID } from '@rsconcept/domain';
|
|
2
|
+
|
|
3
|
+
import { S1_ID, S2_ID, S3_ID, S4_ID, X1_ID } from './constants';
|
|
4
|
+
|
|
5
|
+
export const KINSHIP_X1_BINDING = {
|
|
6
|
+
0: 'Иван',
|
|
7
|
+
1: 'Мария',
|
|
8
|
+
2: 'Пётр',
|
|
9
|
+
3: 'Анна',
|
|
10
|
+
4: 'Олег',
|
|
11
|
+
5: 'Дарья',
|
|
12
|
+
6: 'Семён'
|
|
13
|
+
} as const;
|
|
14
|
+
|
|
15
|
+
export const KINSHIP_S1_VALUE = [
|
|
16
|
+
[TUPLE_ID, 0, 2],
|
|
17
|
+
[TUPLE_ID, 1, 2],
|
|
18
|
+
[TUPLE_ID, 0, 3],
|
|
19
|
+
[TUPLE_ID, 1, 3],
|
|
20
|
+
[TUPLE_ID, 2, 4],
|
|
21
|
+
[TUPLE_ID, 3, 5],
|
|
22
|
+
[TUPLE_ID, 5, 6]
|
|
23
|
+
] as const;
|
|
24
|
+
|
|
25
|
+
export const KINSHIP_S4_VALUE = [[TUPLE_ID, 0, 1]] as const;
|
|
26
|
+
export const KINSHIP_S2_VALUE = [0, 2, 4, 6] as const;
|
|
27
|
+
export const KINSHIP_S3_VALUE = [1, 3, 5] as const;
|
|
28
|
+
|
|
29
|
+
export const KINSHIP_MODEL_SET = [
|
|
30
|
+
{ target: X1_ID, value: KINSHIP_X1_BINDING },
|
|
31
|
+
{ target: S1_ID, value: KINSHIP_S1_VALUE },
|
|
32
|
+
{ target: S2_ID, value: KINSHIP_S2_VALUE },
|
|
33
|
+
{ target: S3_ID, value: KINSHIP_S3_VALUE },
|
|
34
|
+
{ target: S4_ID, value: KINSHIP_S4_VALUE }
|
|
35
|
+
] as const;
|