@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
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type Diagnostic, type RSToolWrapperClient } from '../src';
|
|
2
|
+
|
|
3
|
+
export type ExampleDiagnostic = Diagnostic;
|
|
4
|
+
|
|
5
|
+
export function formatDiagnostics(diags: ExampleDiagnostic[]): string {
|
|
6
|
+
return diags
|
|
7
|
+
.map(d => {
|
|
8
|
+
const alias = d.alias ?? (d.constituentId !== undefined ? '?' : '(scratch)');
|
|
9
|
+
return `[${d.kind}] ${alias} ${d.name} ${JSON.stringify(d.params ?? [])}`;
|
|
10
|
+
})
|
|
11
|
+
.join('\n');
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export async function assertCleanDiagnostics(
|
|
15
|
+
client: RSToolWrapperClient,
|
|
16
|
+
sessionId: string,
|
|
17
|
+
_aliasById: Map<number, string>,
|
|
18
|
+
context: string
|
|
19
|
+
): Promise<void> {
|
|
20
|
+
const diags = await client.call<ExampleDiagnostic[]>('listDiagnostics', { sessionId });
|
|
21
|
+
if (diags.length === 0) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
throw new Error(`${context}: ${diags.length} diagnostic(s)\n${formatDiagnostics(diags)}`);
|
|
25
|
+
}
|
|
@@ -54,7 +54,7 @@ const rows: BankRow[] = [
|
|
|
54
54
|
},
|
|
55
55
|
|
|
56
56
|
// T2 — бинарные отношения двух множеств
|
|
57
|
-
{ id: 5, alias: 'T2', cstType: CstType.STATEMENT, term: 'Бинарные отношения двух множеств', definitionFormal: '
|
|
57
|
+
{ id: 5, alias: 'T2', cstType: CstType.STATEMENT, term: 'Бинарные отношения двух множеств', definitionFormal: '2=2' },
|
|
58
58
|
{
|
|
59
59
|
id: 6,
|
|
60
60
|
alias: 'F4',
|
|
@@ -148,7 +148,7 @@ const rows: BankRow[] = [
|
|
|
148
148
|
},
|
|
149
149
|
|
|
150
150
|
// T3 — бинарные отношения на множестве
|
|
151
|
-
{ id: 19, alias: 'T3', cstType: CstType.STATEMENT, term: 'Бинарные отношения на множестве', definitionFormal: '
|
|
151
|
+
{ id: 19, alias: 'T3', cstType: CstType.STATEMENT, term: 'Бинарные отношения на множестве', definitionFormal: '3=3' },
|
|
152
152
|
{
|
|
153
153
|
id: 20,
|
|
154
154
|
alias: 'F12',
|
|
@@ -252,7 +252,7 @@ const rows: BankRow[] = [
|
|
|
252
252
|
},
|
|
253
253
|
|
|
254
254
|
// T4 — цепочки
|
|
255
|
-
{ id: 34, alias: 'T4', cstType: CstType.STATEMENT, term: 'Цепочки', definitionFormal: '
|
|
255
|
+
{ id: 34, alias: 'T4', cstType: CstType.STATEMENT, term: 'Цепочки', definitionFormal: '4=4' },
|
|
256
256
|
{
|
|
257
257
|
id: 35,
|
|
258
258
|
alias: 'P19',
|
|
@@ -291,7 +291,7 @@ const rows: BankRow[] = [
|
|
|
291
291
|
},
|
|
292
292
|
|
|
293
293
|
// T5 — графы
|
|
294
|
-
{ id: 40, alias: 'T5', cstType: CstType.STATEMENT, term: 'Графы', definitionFormal: '
|
|
294
|
+
{ id: 40, alias: 'T5', cstType: CstType.STATEMENT, term: 'Графы', definitionFormal: '5=5' },
|
|
295
295
|
{
|
|
296
296
|
id: 41,
|
|
297
297
|
alias: 'P20',
|
|
@@ -319,7 +319,7 @@ const rows: BankRow[] = [
|
|
|
319
319
|
alias: 'F23',
|
|
320
320
|
cstType: CstType.FUNCTION,
|
|
321
321
|
term: 'потребители',
|
|
322
|
-
definitionFormal: '[α∈R1, σ∈ℬ(R1×R1)]
|
|
322
|
+
definitionFormal: '[α∈R1, σ∈ℬ(R1×R1)] F15[α, σ]'
|
|
323
323
|
},
|
|
324
324
|
{
|
|
325
325
|
id: 46,
|
|
@@ -367,7 +367,7 @@ const rows: BankRow[] = [
|
|
|
367
367
|
},
|
|
368
368
|
|
|
369
369
|
// T6 — целые числа
|
|
370
|
-
{ id: 52, alias: 'T6', cstType: CstType.STATEMENT, term: 'Целые числа', definitionFormal: '
|
|
370
|
+
{ id: 52, alias: 'T6', cstType: CstType.STATEMENT, term: 'Целые числа', definitionFormal: '6=6' },
|
|
371
371
|
{
|
|
372
372
|
id: 53,
|
|
373
373
|
alias: 'F31',
|
|
@@ -405,7 +405,7 @@ const rows: BankRow[] = [
|
|
|
405
405
|
},
|
|
406
406
|
|
|
407
407
|
// T7 — последовательности
|
|
408
|
-
{ id: 58, alias: 'T7', cstType: CstType.STATEMENT, term: 'Последовательности', definitionFormal: '
|
|
408
|
+
{ id: 58, alias: 'T7', cstType: CstType.STATEMENT, term: 'Последовательности', definitionFormal: '7=7' },
|
|
409
409
|
{
|
|
410
410
|
id: 59,
|
|
411
411
|
alias: 'P26',
|
|
@@ -448,7 +448,7 @@ const rows: BankRow[] = [
|
|
|
448
448
|
alias: 'T8',
|
|
449
449
|
cstType: CstType.STATEMENT,
|
|
450
450
|
term: 'Групповые операции',
|
|
451
|
-
definitionFormal: '
|
|
451
|
+
definitionFormal: '8=8',
|
|
452
452
|
convention: 'Условия для левых и правых свойств через конкатенацию'
|
|
453
453
|
},
|
|
454
454
|
{
|
|
@@ -545,7 +545,7 @@ const rows: BankRow[] = [
|
|
|
545
545
|
alias: 'T9',
|
|
546
546
|
cstType: CstType.STATEMENT,
|
|
547
547
|
term: 'Кольца',
|
|
548
|
-
definitionFormal: '
|
|
548
|
+
definitionFormal: '9=9',
|
|
549
549
|
convention: 'Операции по умолчанию — группоиды'
|
|
550
550
|
},
|
|
551
551
|
{
|
|
@@ -566,7 +566,7 @@ const rows: BankRow[] = [
|
|
|
566
566
|
},
|
|
567
567
|
|
|
568
568
|
// T10 — множества подмножеств
|
|
569
|
-
{ id: 80, alias: 'T10', cstType: CstType.STATEMENT, term: 'Множества подмножеств', definitionFormal: '
|
|
569
|
+
{ id: 80, alias: 'T10', cstType: CstType.STATEMENT, term: 'Множества подмножеств', definitionFormal: '10=10' },
|
|
570
570
|
{
|
|
571
571
|
id: 81,
|
|
572
572
|
alias: 'P46',
|
|
@@ -5,6 +5,7 @@ import { RSToolWrapperClient } from '../../src';
|
|
|
5
5
|
|
|
6
6
|
import { BANK_DRAFTS } from './bank-constituents';
|
|
7
7
|
import { DEFAULT_RSFORM_SESSION_PATH } from './constants';
|
|
8
|
+
import { assertCleanDiagnostics } from '../diagnostics-utils';
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* Банк шаблонов выражений (Portal rsforms/42, alias БВ).
|
|
@@ -40,6 +41,13 @@ async function run() {
|
|
|
40
41
|
throw new Error(`${failedAlias}: analysis failed`);
|
|
41
42
|
}
|
|
42
43
|
|
|
44
|
+
await assertCleanDiagnostics(
|
|
45
|
+
client,
|
|
46
|
+
session.sessionId,
|
|
47
|
+
new Map(BANK_DRAFTS.map(entry => [entry.draft.id!, entry.draft.alias])),
|
|
48
|
+
'expression bank'
|
|
49
|
+
);
|
|
50
|
+
|
|
43
51
|
await client.call('commitStep', {
|
|
44
52
|
sessionId: session.sessionId,
|
|
45
53
|
message: 'Банк выражений (rsforms/42): шаблоны T1–T10 на радикалах R1–R3'
|