@contractspec/example.kb-update-pipeline 1.46.2 → 1.47.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/.turbo/turbo-build$colon$bundle.log +24 -20
- package/.turbo/turbo-build.log +56 -54
- package/CHANGELOG.md +22 -0
- package/dist/entities/models.d.ts +18 -18
- package/dist/events.d.ts +21 -21
- package/dist/events.d.ts.map +1 -1
- package/dist/example.d.ts +2 -2
- package/dist/example.d.ts.map +1 -1
- package/dist/example.js +4 -2
- package/dist/example.js.map +1 -1
- package/dist/handlers/memory.handlers.js.map +1 -1
- package/dist/kb-update-pipeline.feature.d.ts +2 -2
- package/dist/kb-update-pipeline.feature.d.ts.map +1 -1
- package/dist/kb-update-pipeline.feature.js +4 -2
- package/dist/kb-update-pipeline.feature.js.map +1 -1
- package/dist/operations/pipeline.d.ts +39 -39
- package/dist/operations/pipeline.d.ts.map +1 -1
- package/dist/presentations.d.ts +4 -4
- package/dist/presentations.d.ts.map +1 -1
- package/dist/presentations.js +7 -7
- package/dist/presentations.js.map +1 -1
- package/dist/tests/operations.test-spec.d.ts +9 -0
- package/dist/tests/operations.test-spec.d.ts.map +1 -0
- package/dist/tests/operations.test-spec.js +94 -0
- package/dist/tests/operations.test-spec.js.map +1 -0
- package/package.json +7 -8
- package/src/example.ts +3 -3
- package/src/kb-update-pipeline.feature.ts +3 -3
- package/src/presentations.ts +7 -8
- package/src/tests/operations.test-spec.ts +82 -0
- package/tsconfig.tsbuildinfo +1 -0
|
@@ -1,51 +1,55 @@
|
|
|
1
1
|
$ tsdown
|
|
2
|
-
[34mℹ[39m tsdown [2mv0.
|
|
2
|
+
[34mℹ[39m tsdown [2mv0.19.0[22m powered by rolldown [2mv1.0.0-beta.59[22m
|
|
3
3
|
[34mℹ[39m config file: [4m/home/runner/work/contractspec/contractspec/packages/examples/kb-update-pipeline/tsdown.config.js[24m
|
|
4
|
-
[34mℹ[39m entry: [34msrc/events.ts, src/example.ts, src/index.ts, src/kb-update-pipeline.feature.ts, src/presentations.ts, src/docs/index.ts, src/docs/kb-update-pipeline.docblock.ts, src/entities/index.ts, src/entities/models.ts, src/handlers/index.ts, src/handlers/memory.handlers.ts, src/operations/index.ts, src/operations/pipeline.ts[39m
|
|
4
|
+
[34mℹ[39m entry: [34msrc/events.ts, src/example.ts, src/index.ts, src/kb-update-pipeline.feature.ts, src/presentations.ts, src/docs/index.ts, src/docs/kb-update-pipeline.docblock.ts, src/entities/index.ts, src/entities/models.ts, src/handlers/index.ts, src/handlers/memory.handlers.ts, src/operations/index.ts, src/operations/pipeline.ts, src/tests/operations.test-spec.ts[39m
|
|
5
5
|
[34mℹ[39m target: [34mesnext[39m
|
|
6
6
|
[34mℹ[39m tsconfig: [34mtsconfig.json[39m
|
|
7
7
|
[34mℹ[39m Build start
|
|
8
|
-
[34mℹ[39m Cleaning
|
|
8
|
+
[34mℹ[39m Cleaning 50 files
|
|
9
9
|
[34mℹ[39m [2mdist/[22m[1moperations/pipeline.js[22m [2m4.95 kB[22m [2m│ gzip: 1.37 kB[22m
|
|
10
10
|
[34mℹ[39m [2mdist/[22m[1mevents.js[22m [2m3.69 kB[22m [2m│ gzip: 0.73 kB[22m
|
|
11
11
|
[34mℹ[39m [2mdist/[22m[1mhandlers/memory.handlers.js[22m [2m3.37 kB[22m [2m│ gzip: 1.12 kB[22m
|
|
12
|
-
[34mℹ[39m [2mdist/[22m[1mkb-update-pipeline.feature.js[22m [2m2.
|
|
13
|
-
[34mℹ[39m [2mdist/[22m[
|
|
12
|
+
[34mℹ[39m [2mdist/[22m[1mkb-update-pipeline.feature.js[22m [2m2.35 kB[22m [2m│ gzip: 0.68 kB[22m
|
|
13
|
+
[34mℹ[39m [2mdist/[22m[1mtests/operations.test-spec.js[22m [2m2.13 kB[22m [2m│ gzip: 0.50 kB[22m
|
|
14
|
+
[34mℹ[39m [2mdist/[22m[1mpresentations.js[22m [2m1.90 kB[22m [2m│ gzip: 0.63 kB[22m
|
|
14
15
|
[34mℹ[39m [2mdist/[22m[1mentities/models.js[22m [2m1.81 kB[22m [2m│ gzip: 0.53 kB[22m
|
|
15
16
|
[34mℹ[39m [2mdist/[22m[1mdocs/kb-update-pipeline.docblock.js[22m [2m1.49 kB[22m [2m│ gzip: 0.71 kB[22m
|
|
16
17
|
[34mℹ[39m [2mdist/[22m[1mindex.js[22m [2m1.44 kB[22m [2m│ gzip: 0.42 kB[22m
|
|
17
|
-
[34mℹ[39m [2mdist/[22m[1mexample.js[22m [
|
|
18
|
+
[34mℹ[39m [2mdist/[22m[1mexample.js[22m [2m1.05 kB[22m [2m│ gzip: 0.55 kB[22m
|
|
18
19
|
[34mℹ[39m [2mdist/[22m[1moperations/index.js[22m [2m0.31 kB[22m [2m│ gzip: 0.14 kB[22m
|
|
19
20
|
[34mℹ[39m [2mdist/[22m[1mentities/index.js[22m [2m0.25 kB[22m [2m│ gzip: 0.13 kB[22m
|
|
20
21
|
[34mℹ[39m [2mdist/[22m[1mhandlers/index.js[22m [2m0.16 kB[22m [2m│ gzip: 0.10 kB[22m
|
|
21
22
|
[34mℹ[39m [2mdist/[22m[1mdocs/index.js[22m [2m0.04 kB[22m [2m│ gzip: 0.06 kB[22m
|
|
22
|
-
[34mℹ[39m [2mdist/[22mhandlers/memory.handlers.js.map [2m8.
|
|
23
|
+
[34mℹ[39m [2mdist/[22mhandlers/memory.handlers.js.map [2m8.13 kB[22m [2m│ gzip: 2.34 kB[22m
|
|
23
24
|
[34mℹ[39m [2mdist/[22moperations/pipeline.js.map [2m7.20 kB[22m [2m│ gzip: 1.81 kB[22m
|
|
24
25
|
[34mℹ[39m [2mdist/[22mevents.js.map [2m5.65 kB[22m [2m│ gzip: 1.04 kB[22m
|
|
25
|
-
[34mℹ[39m [2mdist/[
|
|
26
|
-
[34mℹ[39m [2mdist/[
|
|
26
|
+
[34mℹ[39m [2mdist/[22mtests/operations.test-spec.js.map [2m3.64 kB[22m [2m│ gzip: 0.76 kB[22m
|
|
27
|
+
[34mℹ[39m [2mdist/[22mkb-update-pipeline.feature.js.map [2m3.48 kB[22m [2m│ gzip: 1.02 kB[22m
|
|
28
|
+
[34mℹ[39m [2mdist/[22mpresentations.js.map [2m2.87 kB[22m [2m│ gzip: 0.83 kB[22m
|
|
27
29
|
[34mℹ[39m [2mdist/[22mentities/models.js.map [2m2.68 kB[22m [2m│ gzip: 0.81 kB[22m
|
|
28
30
|
[34mℹ[39m [2mdist/[22mdocs/kb-update-pipeline.docblock.js.map [2m2.00 kB[22m [2m│ gzip: 0.89 kB[22m
|
|
29
|
-
[34mℹ[39m [2mdist/[22mexample.js.map [2m1.
|
|
31
|
+
[34mℹ[39m [2mdist/[22mexample.js.map [2m1.51 kB[22m [2m│ gzip: 0.75 kB[22m
|
|
30
32
|
[34mℹ[39m [2mdist/[22mhandlers/memory.handlers.d.ts.map [2m0.92 kB[22m [2m│ gzip: 0.44 kB[22m
|
|
31
33
|
[34mℹ[39m [2mdist/[22mevents.d.ts.map [2m0.81 kB[22m [2m│ gzip: 0.33 kB[22m
|
|
32
34
|
[34mℹ[39m [2mdist/[22moperations/pipeline.d.ts.map [2m0.76 kB[22m [2m│ gzip: 0.33 kB[22m
|
|
33
35
|
[34mℹ[39m [2mdist/[22mentities/models.d.ts.map [2m0.47 kB[22m [2m│ gzip: 0.28 kB[22m
|
|
34
|
-
[34mℹ[39m [2mdist/[
|
|
35
|
-
[34mℹ[39m [2mdist/[
|
|
36
|
-
[34mℹ[39m [2mdist/[
|
|
37
|
-
[34mℹ[39m [2mdist/[
|
|
38
|
-
[34mℹ[39m [2mdist/[22m[32m[
|
|
36
|
+
[34mℹ[39m [2mdist/[22mtests/operations.test-spec.d.ts.map [2m0.23 kB[22m [2m│ gzip: 0.16 kB[22m
|
|
37
|
+
[34mℹ[39m [2mdist/[22mpresentations.d.ts.map [2m0.20 kB[22m [2m│ gzip: 0.15 kB[22m
|
|
38
|
+
[34mℹ[39m [2mdist/[22mkb-update-pipeline.feature.d.ts.map [2m0.18 kB[22m [2m│ gzip: 0.15 kB[22m
|
|
39
|
+
[34mℹ[39m [2mdist/[22mexample.d.ts.map [2m0.14 kB[22m [2m│ gzip: 0.13 kB[22m
|
|
40
|
+
[34mℹ[39m [2mdist/[22m[32m[1moperations/pipeline.d.ts[22m[39m [2m4.38 kB[22m [2m│ gzip: 0.58 kB[22m
|
|
41
|
+
[34mℹ[39m [2mdist/[22m[32m[1mevents.d.ts[22m[39m [2m2.52 kB[22m [2m│ gzip: 0.42 kB[22m
|
|
39
42
|
[34mℹ[39m [2mdist/[22m[32m[1mentities/models.d.ts[22m[39m [2m2.00 kB[22m [2m│ gzip: 0.41 kB[22m
|
|
40
43
|
[34mℹ[39m [2mdist/[22m[32m[1mhandlers/memory.handlers.d.ts[22m[39m [2m1.94 kB[22m [2m│ gzip: 0.64 kB[22m
|
|
41
44
|
[34mℹ[39m [2mdist/[22m[32m[1mindex.d.ts[22m[39m [2m1.48 kB[22m [2m│ gzip: 0.41 kB[22m
|
|
42
|
-
[34mℹ[39m [2mdist/[22m[32m[1mpresentations.d.ts[22m[39m [2m0.
|
|
45
|
+
[34mℹ[39m [2mdist/[22m[32m[1mpresentations.d.ts[22m[39m [2m0.52 kB[22m [2m│ gzip: 0.20 kB[22m
|
|
46
|
+
[34mℹ[39m [2mdist/[22m[32m[1mtests/operations.test-spec.d.ts[22m[39m [2m0.47 kB[22m [2m│ gzip: 0.22 kB[22m
|
|
47
|
+
[34mℹ[39m [2mdist/[22m[32m[1mkb-update-pipeline.feature.d.ts[22m[39m [2m0.32 kB[22m [2m│ gzip: 0.19 kB[22m
|
|
43
48
|
[34mℹ[39m [2mdist/[22m[32m[1moperations/index.d.ts[22m[39m [2m0.31 kB[22m [2m│ gzip: 0.13 kB[22m
|
|
44
|
-
[34mℹ[39m [2mdist/[22m[32m[1mkb-update-pipeline.feature.d.ts[22m[39m [2m0.28 kB[22m [2m│ gzip: 0.18 kB[22m
|
|
45
49
|
[34mℹ[39m [2mdist/[22m[32m[1mhandlers/index.d.ts[22m[39m [2m0.25 kB[22m [2m│ gzip: 0.10 kB[22m
|
|
50
|
+
[34mℹ[39m [2mdist/[22m[32m[1mexample.d.ts[22m[39m [2m0.25 kB[22m [2m│ gzip: 0.17 kB[22m
|
|
46
51
|
[34mℹ[39m [2mdist/[22m[32m[1mentities/index.d.ts[22m[39m [2m0.25 kB[22m [2m│ gzip: 0.13 kB[22m
|
|
47
|
-
[34mℹ[39m [2mdist/[22m[32m[1mexample.d.ts[22m[39m [2m0.20 kB[22m [2m│ gzip: 0.16 kB[22m
|
|
48
52
|
[34mℹ[39m [2mdist/[22m[32m[1mdocs/index.d.ts[22m[39m [2m0.01 kB[22m [2m│ gzip: 0.03 kB[22m
|
|
49
53
|
[34mℹ[39m [2mdist/[22m[32m[1mdocs/kb-update-pipeline.docblock.d.ts[22m[39m [2m0.01 kB[22m [2m│ gzip: 0.03 kB[22m
|
|
50
|
-
[34mℹ[39m
|
|
51
|
-
[32m✔[39m Build complete in [
|
|
54
|
+
[34mℹ[39m 45 files, total: 80.49 kB
|
|
55
|
+
[32m✔[39m Build complete in [32m28255ms[39m
|
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,54 +1,56 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
[
|
|
5
|
-
[34mℹ[39m
|
|
6
|
-
[34mℹ[39m
|
|
7
|
-
[34mℹ[39m
|
|
8
|
-
[34mℹ[39m
|
|
9
|
-
[34mℹ[39m
|
|
10
|
-
[34mℹ[39m
|
|
11
|
-
[34mℹ[39m
|
|
12
|
-
[34mℹ[39m [2mdist/[22m[
|
|
13
|
-
[34mℹ[39m [2mdist/[22m[
|
|
14
|
-
[34mℹ[39m [2mdist/[22m[
|
|
15
|
-
[34mℹ[39m [2mdist/[22m[
|
|
16
|
-
[34mℹ[39m [2mdist/[22m[
|
|
17
|
-
[34mℹ[39m [2mdist/[22m[
|
|
18
|
-
[34mℹ[39m [2mdist/[22m[
|
|
19
|
-
[34mℹ[39m [2mdist/[22m[
|
|
20
|
-
[34mℹ[39m [2mdist/[22m[
|
|
21
|
-
[34mℹ[39m [2mdist/[22m[
|
|
22
|
-
[34mℹ[39m [2mdist/[22m[
|
|
23
|
-
[34mℹ[39m [2mdist/[22m[
|
|
24
|
-
[34mℹ[39m [2mdist/[
|
|
25
|
-
[34mℹ[39m [2mdist/[
|
|
26
|
-
[34mℹ[39m [2mdist/[
|
|
27
|
-
[34mℹ[39m [2mdist/[
|
|
28
|
-
[34mℹ[39m [2mdist/[22mkb-update-pipeline.feature.js.map [2m3.
|
|
29
|
-
[34mℹ[39m [2mdist/[22mpresentations.js.map [
|
|
30
|
-
[34mℹ[39m [2mdist/[22mentities/models.js.map [2m2.68 kB[22m [2m│ gzip: 0.81 kB[22m
|
|
31
|
-
[34mℹ[39m [2mdist/[22mdocs/kb-update-pipeline.docblock.js.map [2m2.00 kB[22m [2m│ gzip: 0.89 kB[22m
|
|
32
|
-
[34mℹ[39m [2mdist/[22mexample.js.map [2m1.
|
|
33
|
-
[34mℹ[39m [2mdist/[22mhandlers/memory.handlers.d.ts.map [2m0.92 kB[22m [2m│ gzip: 0.44 kB[22m
|
|
34
|
-
[34mℹ[39m [2mdist/[22mevents.d.ts.map [2m0.81 kB[22m [2m│ gzip: 0.33 kB[22m
|
|
35
|
-
[34mℹ[39m [2mdist/[22moperations/pipeline.d.ts.map [2m0.76 kB[22m [2m│ gzip: 0.33 kB[22m
|
|
36
|
-
[34mℹ[39m [2mdist/[22mentities/models.d.ts.map [2m0.47 kB[22m [2m│ gzip: 0.28 kB[22m
|
|
37
|
-
[34mℹ[39m [2mdist/[
|
|
38
|
-
[34mℹ[39m [2mdist/[
|
|
39
|
-
[34mℹ[39m [2mdist/[
|
|
40
|
-
[34mℹ[39m [2mdist/[
|
|
41
|
-
[34mℹ[39m [2mdist/[22m[32m[
|
|
42
|
-
[34mℹ[39m [2mdist/[22m[32m[
|
|
43
|
-
[34mℹ[39m [2mdist/[22m[32m[
|
|
44
|
-
[34mℹ[39m [2mdist/[22m[32m[
|
|
45
|
-
[34mℹ[39m [2mdist/[22m[32m[
|
|
46
|
-
[34mℹ[39m [2mdist/[22m[32m[
|
|
47
|
-
[34mℹ[39m [2mdist/[22m[32m[
|
|
48
|
-
[34mℹ[39m [2mdist/[22m[32m[
|
|
49
|
-
[34mℹ[39m [2mdist/[22m[32m[
|
|
50
|
-
[34mℹ[39m [2mdist/[22m[32m[
|
|
51
|
-
[34mℹ[39m [2mdist/[22m[32m[
|
|
52
|
-
[34mℹ[39m [2mdist/[22m[32m[
|
|
53
|
-
[34mℹ[39m
|
|
54
|
-
[32m
|
|
1
|
+
$ bun build:types && bun build:bundle
|
|
2
|
+
$ tsc --noEmit
|
|
3
|
+
$ tsdown
|
|
4
|
+
[34mℹ[39m tsdown [2mv0.19.0[22m powered by rolldown [2mv1.0.0-beta.59[22m
|
|
5
|
+
[34mℹ[39m config file: [4m/home/runner/work/contractspec/contractspec/packages/examples/kb-update-pipeline/tsdown.config.js[24m
|
|
6
|
+
[34mℹ[39m entry: [34msrc/events.ts, src/example.ts, src/index.ts, src/kb-update-pipeline.feature.ts, src/presentations.ts, src/docs/index.ts, src/docs/kb-update-pipeline.docblock.ts, src/entities/index.ts, src/entities/models.ts, src/handlers/index.ts, src/handlers/memory.handlers.ts, src/operations/index.ts, src/operations/pipeline.ts, src/tests/operations.test-spec.ts[39m
|
|
7
|
+
[34mℹ[39m target: [34mesnext[39m
|
|
8
|
+
[34mℹ[39m tsconfig: [34mtsconfig.json[39m
|
|
9
|
+
[34mℹ[39m Build start
|
|
10
|
+
[34mℹ[39m [2mdist/[22m[1moperations/pipeline.js[22m [2m4.95 kB[22m [2m│ gzip: 1.37 kB[22m
|
|
11
|
+
[34mℹ[39m [2mdist/[22m[1mevents.js[22m [2m3.69 kB[22m [2m│ gzip: 0.73 kB[22m
|
|
12
|
+
[34mℹ[39m [2mdist/[22m[1mhandlers/memory.handlers.js[22m [2m3.37 kB[22m [2m│ gzip: 1.12 kB[22m
|
|
13
|
+
[34mℹ[39m [2mdist/[22m[1mkb-update-pipeline.feature.js[22m [2m2.35 kB[22m [2m│ gzip: 0.68 kB[22m
|
|
14
|
+
[34mℹ[39m [2mdist/[22m[1mtests/operations.test-spec.js[22m [2m2.13 kB[22m [2m│ gzip: 0.50 kB[22m
|
|
15
|
+
[34mℹ[39m [2mdist/[22m[1mpresentations.js[22m [2m1.90 kB[22m [2m│ gzip: 0.63 kB[22m
|
|
16
|
+
[34mℹ[39m [2mdist/[22m[1mentities/models.js[22m [2m1.81 kB[22m [2m│ gzip: 0.53 kB[22m
|
|
17
|
+
[34mℹ[39m [2mdist/[22m[1mdocs/kb-update-pipeline.docblock.js[22m [2m1.49 kB[22m [2m│ gzip: 0.71 kB[22m
|
|
18
|
+
[34mℹ[39m [2mdist/[22m[1mindex.js[22m [2m1.44 kB[22m [2m│ gzip: 0.42 kB[22m
|
|
19
|
+
[34mℹ[39m [2mdist/[22m[1mexample.js[22m [2m1.05 kB[22m [2m│ gzip: 0.55 kB[22m
|
|
20
|
+
[34mℹ[39m [2mdist/[22m[1moperations/index.js[22m [2m0.31 kB[22m [2m│ gzip: 0.14 kB[22m
|
|
21
|
+
[34mℹ[39m [2mdist/[22m[1mentities/index.js[22m [2m0.25 kB[22m [2m│ gzip: 0.13 kB[22m
|
|
22
|
+
[34mℹ[39m [2mdist/[22m[1mhandlers/index.js[22m [2m0.16 kB[22m [2m│ gzip: 0.10 kB[22m
|
|
23
|
+
[34mℹ[39m [2mdist/[22m[1mdocs/index.js[22m [2m0.04 kB[22m [2m│ gzip: 0.06 kB[22m
|
|
24
|
+
[34mℹ[39m [2mdist/[22mhandlers/memory.handlers.js.map [2m8.13 kB[22m [2m│ gzip: 2.34 kB[22m
|
|
25
|
+
[34mℹ[39m [2mdist/[22moperations/pipeline.js.map [2m7.20 kB[22m [2m│ gzip: 1.81 kB[22m
|
|
26
|
+
[34mℹ[39m [2mdist/[22mevents.js.map [2m5.65 kB[22m [2m│ gzip: 1.04 kB[22m
|
|
27
|
+
[34mℹ[39m [2mdist/[22mtests/operations.test-spec.js.map [2m3.64 kB[22m [2m│ gzip: 0.76 kB[22m
|
|
28
|
+
[34mℹ[39m [2mdist/[22mkb-update-pipeline.feature.js.map [2m3.48 kB[22m [2m│ gzip: 1.02 kB[22m
|
|
29
|
+
[34mℹ[39m [2mdist/[22mpresentations.js.map [2m2.87 kB[22m [2m│ gzip: 0.83 kB[22m
|
|
30
|
+
[34mℹ[39m [2mdist/[22mentities/models.js.map [2m2.68 kB[22m [2m│ gzip: 0.81 kB[22m
|
|
31
|
+
[34mℹ[39m [2mdist/[22mdocs/kb-update-pipeline.docblock.js.map [2m2.00 kB[22m [2m│ gzip: 0.89 kB[22m
|
|
32
|
+
[34mℹ[39m [2mdist/[22mexample.js.map [2m1.51 kB[22m [2m│ gzip: 0.75 kB[22m
|
|
33
|
+
[34mℹ[39m [2mdist/[22mhandlers/memory.handlers.d.ts.map [2m0.92 kB[22m [2m│ gzip: 0.44 kB[22m
|
|
34
|
+
[34mℹ[39m [2mdist/[22mevents.d.ts.map [2m0.81 kB[22m [2m│ gzip: 0.33 kB[22m
|
|
35
|
+
[34mℹ[39m [2mdist/[22moperations/pipeline.d.ts.map [2m0.76 kB[22m [2m│ gzip: 0.33 kB[22m
|
|
36
|
+
[34mℹ[39m [2mdist/[22mentities/models.d.ts.map [2m0.47 kB[22m [2m│ gzip: 0.28 kB[22m
|
|
37
|
+
[34mℹ[39m [2mdist/[22mtests/operations.test-spec.d.ts.map [2m0.23 kB[22m [2m│ gzip: 0.16 kB[22m
|
|
38
|
+
[34mℹ[39m [2mdist/[22mpresentations.d.ts.map [2m0.20 kB[22m [2m│ gzip: 0.15 kB[22m
|
|
39
|
+
[34mℹ[39m [2mdist/[22mkb-update-pipeline.feature.d.ts.map [2m0.18 kB[22m [2m│ gzip: 0.15 kB[22m
|
|
40
|
+
[34mℹ[39m [2mdist/[22mexample.d.ts.map [2m0.14 kB[22m [2m│ gzip: 0.13 kB[22m
|
|
41
|
+
[34mℹ[39m [2mdist/[22m[32m[1moperations/pipeline.d.ts[22m[39m [2m4.38 kB[22m [2m│ gzip: 0.58 kB[22m
|
|
42
|
+
[34mℹ[39m [2mdist/[22m[32m[1mevents.d.ts[22m[39m [2m2.52 kB[22m [2m│ gzip: 0.42 kB[22m
|
|
43
|
+
[34mℹ[39m [2mdist/[22m[32m[1mentities/models.d.ts[22m[39m [2m2.00 kB[22m [2m│ gzip: 0.41 kB[22m
|
|
44
|
+
[34mℹ[39m [2mdist/[22m[32m[1mhandlers/memory.handlers.d.ts[22m[39m [2m1.94 kB[22m [2m│ gzip: 0.64 kB[22m
|
|
45
|
+
[34mℹ[39m [2mdist/[22m[32m[1mindex.d.ts[22m[39m [2m1.48 kB[22m [2m│ gzip: 0.41 kB[22m
|
|
46
|
+
[34mℹ[39m [2mdist/[22m[32m[1mpresentations.d.ts[22m[39m [2m0.52 kB[22m [2m│ gzip: 0.20 kB[22m
|
|
47
|
+
[34mℹ[39m [2mdist/[22m[32m[1mtests/operations.test-spec.d.ts[22m[39m [2m0.47 kB[22m [2m│ gzip: 0.22 kB[22m
|
|
48
|
+
[34mℹ[39m [2mdist/[22m[32m[1mkb-update-pipeline.feature.d.ts[22m[39m [2m0.32 kB[22m [2m│ gzip: 0.19 kB[22m
|
|
49
|
+
[34mℹ[39m [2mdist/[22m[32m[1moperations/index.d.ts[22m[39m [2m0.31 kB[22m [2m│ gzip: 0.13 kB[22m
|
|
50
|
+
[34mℹ[39m [2mdist/[22m[32m[1mhandlers/index.d.ts[22m[39m [2m0.25 kB[22m [2m│ gzip: 0.10 kB[22m
|
|
51
|
+
[34mℹ[39m [2mdist/[22m[32m[1mexample.d.ts[22m[39m [2m0.25 kB[22m [2m│ gzip: 0.17 kB[22m
|
|
52
|
+
[34mℹ[39m [2mdist/[22m[32m[1mentities/index.d.ts[22m[39m [2m0.25 kB[22m [2m│ gzip: 0.13 kB[22m
|
|
53
|
+
[34mℹ[39m [2mdist/[22m[32m[1mdocs/index.d.ts[22m[39m [2m0.01 kB[22m [2m│ gzip: 0.03 kB[22m
|
|
54
|
+
[34mℹ[39m [2mdist/[22m[32m[1mdocs/kb-update-pipeline.docblock.d.ts[22m[39m [2m0.01 kB[22m [2m│ gzip: 0.03 kB[22m
|
|
55
|
+
[34mℹ[39m 45 files, total: 80.49 kB
|
|
56
|
+
[32m✔[39m Build complete in [32m26275ms[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# @contractspec/example.kb-update-pipeline
|
|
2
2
|
|
|
3
|
+
## 1.47.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- caf8701: feat: add cli vibe command to run workflow
|
|
8
|
+
- c69b849: feat: add api web services (mcp & website)
|
|
9
|
+
- 42b8d78: feat: add cli `contractspec vibe` workflow to simplify usage
|
|
10
|
+
- fd38e85: feat: auto-fix contractspec issues
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- e7ded36: feat: improve stability (adding ts-morph)
|
|
15
|
+
- c231a8b: test: improve workspace stability
|
|
16
|
+
- Updated dependencies [e7ded36]
|
|
17
|
+
- Updated dependencies [caf8701]
|
|
18
|
+
- Updated dependencies [c69b849]
|
|
19
|
+
- Updated dependencies [c231a8b]
|
|
20
|
+
- Updated dependencies [42b8d78]
|
|
21
|
+
- Updated dependencies [fd38e85]
|
|
22
|
+
- @contractspec/lib.contracts@1.47.0
|
|
23
|
+
- @contractspec/lib.schema@1.47.0
|
|
24
|
+
|
|
3
25
|
## 1.46.2
|
|
4
26
|
|
|
5
27
|
### Patch Changes
|
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _contractspec_lib_schema18 from "@contractspec/lib.schema";
|
|
2
2
|
|
|
3
3
|
//#region src/entities/models.d.ts
|
|
4
|
-
declare const ChangeRiskLevelEnum:
|
|
5
|
-
declare const ReviewAssignedRoleEnum:
|
|
6
|
-
declare const ReviewDecisionEnum:
|
|
7
|
-
declare const ChangeCandidateModel:
|
|
4
|
+
declare const ChangeRiskLevelEnum: _contractspec_lib_schema18.EnumType<[string, string, string]>;
|
|
5
|
+
declare const ReviewAssignedRoleEnum: _contractspec_lib_schema18.EnumType<[string, string]>;
|
|
6
|
+
declare const ReviewDecisionEnum: _contractspec_lib_schema18.EnumType<[string, string]>;
|
|
7
|
+
declare const ChangeCandidateModel: _contractspec_lib_schema18.SchemaModel<{
|
|
8
8
|
id: {
|
|
9
|
-
type:
|
|
9
|
+
type: _contractspec_lib_schema18.FieldType<string, string>;
|
|
10
10
|
isOptional: false;
|
|
11
11
|
};
|
|
12
12
|
sourceDocumentId: {
|
|
13
|
-
type:
|
|
13
|
+
type: _contractspec_lib_schema18.FieldType<string, string>;
|
|
14
14
|
isOptional: false;
|
|
15
15
|
};
|
|
16
16
|
detectedAt: {
|
|
17
|
-
type:
|
|
17
|
+
type: _contractspec_lib_schema18.FieldType<Date, string>;
|
|
18
18
|
isOptional: false;
|
|
19
19
|
};
|
|
20
20
|
diffSummary: {
|
|
21
|
-
type:
|
|
21
|
+
type: _contractspec_lib_schema18.FieldType<string, string>;
|
|
22
22
|
isOptional: false;
|
|
23
23
|
};
|
|
24
24
|
riskLevel: {
|
|
25
|
-
type:
|
|
25
|
+
type: _contractspec_lib_schema18.EnumType<[string, string, string]>;
|
|
26
26
|
isOptional: false;
|
|
27
27
|
};
|
|
28
28
|
}>;
|
|
29
|
-
declare const ReviewTaskModel:
|
|
29
|
+
declare const ReviewTaskModel: _contractspec_lib_schema18.SchemaModel<{
|
|
30
30
|
id: {
|
|
31
|
-
type:
|
|
31
|
+
type: _contractspec_lib_schema18.FieldType<string, string>;
|
|
32
32
|
isOptional: false;
|
|
33
33
|
};
|
|
34
34
|
changeCandidateId: {
|
|
35
|
-
type:
|
|
35
|
+
type: _contractspec_lib_schema18.FieldType<string, string>;
|
|
36
36
|
isOptional: false;
|
|
37
37
|
};
|
|
38
38
|
status: {
|
|
39
|
-
type:
|
|
39
|
+
type: _contractspec_lib_schema18.FieldType<string, string>;
|
|
40
40
|
isOptional: false;
|
|
41
41
|
};
|
|
42
42
|
assignedRole: {
|
|
43
|
-
type:
|
|
43
|
+
type: _contractspec_lib_schema18.EnumType<[string, string]>;
|
|
44
44
|
isOptional: false;
|
|
45
45
|
};
|
|
46
46
|
decision: {
|
|
47
|
-
type:
|
|
47
|
+
type: _contractspec_lib_schema18.EnumType<[string, string]>;
|
|
48
48
|
isOptional: true;
|
|
49
49
|
};
|
|
50
50
|
decidedAt: {
|
|
51
|
-
type:
|
|
51
|
+
type: _contractspec_lib_schema18.FieldType<Date, string>;
|
|
52
52
|
isOptional: true;
|
|
53
53
|
};
|
|
54
54
|
decidedBy: {
|
|
55
|
-
type:
|
|
55
|
+
type: _contractspec_lib_schema18.FieldType<string, string>;
|
|
56
56
|
isOptional: true;
|
|
57
57
|
};
|
|
58
58
|
}>;
|
package/dist/events.d.ts
CHANGED
|
@@ -1,71 +1,71 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as
|
|
1
|
+
import * as _contractspec_lib_contracts2 from "@contractspec/lib.contracts";
|
|
2
|
+
import * as _contractspec_lib_schema0 from "@contractspec/lib.schema";
|
|
3
3
|
|
|
4
4
|
//#region src/events.d.ts
|
|
5
|
-
declare const KbChangeDetectedEvent:
|
|
5
|
+
declare const KbChangeDetectedEvent: _contractspec_lib_contracts2.EventSpec<_contractspec_lib_schema0.SchemaModel<{
|
|
6
6
|
changeCandidateId: {
|
|
7
|
-
type:
|
|
7
|
+
type: _contractspec_lib_schema0.FieldType<string, string>;
|
|
8
8
|
isOptional: false;
|
|
9
9
|
};
|
|
10
10
|
sourceDocumentId: {
|
|
11
|
-
type:
|
|
11
|
+
type: _contractspec_lib_schema0.FieldType<string, string>;
|
|
12
12
|
isOptional: false;
|
|
13
13
|
};
|
|
14
14
|
riskLevel: {
|
|
15
|
-
type:
|
|
15
|
+
type: _contractspec_lib_schema0.FieldType<string, string>;
|
|
16
16
|
isOptional: false;
|
|
17
17
|
};
|
|
18
18
|
}>>;
|
|
19
|
-
declare const KbChangeSummarizedEvent:
|
|
19
|
+
declare const KbChangeSummarizedEvent: _contractspec_lib_contracts2.EventSpec<_contractspec_lib_schema0.SchemaModel<{
|
|
20
20
|
changeCandidateId: {
|
|
21
|
-
type:
|
|
21
|
+
type: _contractspec_lib_schema0.FieldType<string, string>;
|
|
22
22
|
isOptional: false;
|
|
23
23
|
};
|
|
24
24
|
summary: {
|
|
25
|
-
type:
|
|
25
|
+
type: _contractspec_lib_schema0.FieldType<string, string>;
|
|
26
26
|
isOptional: false;
|
|
27
27
|
};
|
|
28
28
|
riskLevel: {
|
|
29
|
-
type:
|
|
29
|
+
type: _contractspec_lib_schema0.FieldType<string, string>;
|
|
30
30
|
isOptional: false;
|
|
31
31
|
};
|
|
32
32
|
}>>;
|
|
33
|
-
declare const KbPatchProposedEvent:
|
|
33
|
+
declare const KbPatchProposedEvent: _contractspec_lib_contracts2.EventSpec<_contractspec_lib_schema0.SchemaModel<{
|
|
34
34
|
changeCandidateId: {
|
|
35
|
-
type:
|
|
35
|
+
type: _contractspec_lib_schema0.FieldType<string, string>;
|
|
36
36
|
isOptional: false;
|
|
37
37
|
};
|
|
38
38
|
proposedRuleVersionIds: {
|
|
39
|
-
type:
|
|
39
|
+
type: _contractspec_lib_schema0.FieldType<string, string>;
|
|
40
40
|
isArray: true;
|
|
41
41
|
isOptional: false;
|
|
42
42
|
};
|
|
43
43
|
}>>;
|
|
44
|
-
declare const KbReviewRequestedEvent:
|
|
44
|
+
declare const KbReviewRequestedEvent: _contractspec_lib_contracts2.EventSpec<_contractspec_lib_schema0.SchemaModel<{
|
|
45
45
|
reviewTaskId: {
|
|
46
|
-
type:
|
|
46
|
+
type: _contractspec_lib_schema0.FieldType<string, string>;
|
|
47
47
|
isOptional: false;
|
|
48
48
|
};
|
|
49
49
|
changeCandidateId: {
|
|
50
|
-
type:
|
|
50
|
+
type: _contractspec_lib_schema0.FieldType<string, string>;
|
|
51
51
|
isOptional: false;
|
|
52
52
|
};
|
|
53
53
|
assignedRole: {
|
|
54
|
-
type:
|
|
54
|
+
type: _contractspec_lib_schema0.FieldType<string, string>;
|
|
55
55
|
isOptional: false;
|
|
56
56
|
};
|
|
57
57
|
}>>;
|
|
58
|
-
declare const KbReviewDecidedEvent:
|
|
58
|
+
declare const KbReviewDecidedEvent: _contractspec_lib_contracts2.EventSpec<_contractspec_lib_schema0.SchemaModel<{
|
|
59
59
|
reviewTaskId: {
|
|
60
|
-
type:
|
|
60
|
+
type: _contractspec_lib_schema0.FieldType<string, string>;
|
|
61
61
|
isOptional: false;
|
|
62
62
|
};
|
|
63
63
|
decision: {
|
|
64
|
-
type:
|
|
64
|
+
type: _contractspec_lib_schema0.FieldType<string, string>;
|
|
65
65
|
isOptional: false;
|
|
66
66
|
};
|
|
67
67
|
decidedBy: {
|
|
68
|
-
type:
|
|
68
|
+
type: _contractspec_lib_schema0.FieldType<string, string>;
|
|
69
69
|
isOptional: false;
|
|
70
70
|
};
|
|
71
71
|
}>>;
|
package/dist/events.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","names":[],"sources":["../src/events.ts"],"sourcesContent":[],"mappings":";;;;cAuBa,uBAAqB,4BAAA,CAAA,
|
|
1
|
+
{"version":3,"file":"events.d.ts","names":[],"sources":["../src/events.ts"],"sourcesContent":[],"mappings":";;;;cAuBa,uBAAqB,4BAAA,CAAA,oCAAA;;UAUhC,yBAAA,CAAA;;EAVW,CAAA;EAUX,gBAAA,EAAA;;;;EAVgC,SAAA,EAAA;IAAA,IAAA,qCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;IAyBrB,UAAA,EAAA,KAAA;EAUX,CAAA;;cAVW,yBAAuB,4BAAA,CAAA,oCAAA;;IAAA,IAAA,EAUlC,yBAAA,CAAA,SAVkC,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;EA4BvB,CAAA;EAUX,OAAA,EAAA;;;EAV+B,CAAA;EAAA,SAAA,EAAA;IAyBpB,IAAA,qCAUX,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;cAnCW,oBAyBsB,EAzBF,4BAAA,CAAA,SAyBE,2BAzBF,WAyBE,CAAA;EAAA,iBAAA,EAAA;IAAA,IAAA,EAfjC,yBAAA,CAAA,SAeiC,CAAA,MAAA,EAAA,MAAA,CAAA;IAsBtB,UAAA,EAAA,KAAA;EAUX,CAAA;;;;IAV+B,UAAA,EAAA,KAAA;EAAA,CAAA;;cAtBpB,wBAAsB,4BAAA,CAAA,oCAAA;;UAUjC,yBAAA,CAAA;;;;;;;;;;;;cAYW,sBAAoB,4BAAA,CAAA,oCAAA;;UAU/B,yBAAA,CAAA"}
|
package/dist/example.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as _contractspec_lib_contracts7 from "@contractspec/lib.contracts";
|
|
2
2
|
|
|
3
3
|
//#region src/example.d.ts
|
|
4
|
-
declare const example: ExampleSpec;
|
|
4
|
+
declare const example: _contractspec_lib_contracts7.ExampleSpec;
|
|
5
5
|
//#endregion
|
|
6
6
|
export { example as default };
|
|
7
7
|
//# sourceMappingURL=example.d.ts.map
|
package/dist/example.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example.d.ts","names":[],"sources":["../src/example.ts"],"sourcesContent":[],"mappings":";;;cAEM,
|
|
1
|
+
{"version":3,"file":"example.d.ts","names":[],"sources":["../src/example.ts"],"sourcesContent":[],"mappings":";;;cAEM,SA6BJ,4BAAA,CA7BW"}
|
package/dist/example.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { defineExample } from "@contractspec/lib.contracts";
|
|
2
|
+
|
|
1
3
|
//#region src/example.ts
|
|
2
|
-
const example = {
|
|
4
|
+
const example = defineExample({
|
|
3
5
|
meta: {
|
|
4
6
|
key: "kb-update-pipeline",
|
|
5
7
|
version: "1.0.0",
|
|
@@ -40,7 +42,7 @@ const example = {
|
|
|
40
42
|
},
|
|
41
43
|
mcp: { enabled: true }
|
|
42
44
|
}
|
|
43
|
-
};
|
|
45
|
+
});
|
|
44
46
|
var example_default = example;
|
|
45
47
|
|
|
46
48
|
//#endregion
|
package/dist/example.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example.js","names":[
|
|
1
|
+
{"version":3,"file":"example.js","names":[],"sources":["../src/example.ts"],"sourcesContent":["import { defineExample } from '@contractspec/lib.contracts';\n\nconst example = defineExample({\n meta: {\n key: 'kb-update-pipeline',\n version: '1.0.0',\n title: 'KB Update Pipeline',\n description:\n 'Automation proposes KB updates; humans verify; everything audited and notified.',\n kind: 'knowledge',\n visibility: 'public',\n stability: 'experimental',\n owners: ['@platform.core'],\n tags: ['knowledge', 'pipeline', 'hitl', 'audit'],\n },\n docs: {\n rootDocId: 'docs.examples.kb-update-pipeline',\n },\n entrypoints: {\n packageName: '@contractspec/example.kb-update-pipeline',\n feature: './feature',\n contracts: './contracts',\n handlers: './handlers',\n docs: './docs',\n },\n surfaces: {\n templates: true,\n sandbox: { enabled: true, modes: ['markdown', 'specs', 'builder'] },\n studio: { enabled: true, installable: true },\n mcp: { enabled: true },\n },\n});\n\nexport default example;\n"],"mappings":";;;AAEA,MAAM,UAAU,cAAc;CAC5B,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aACE;EACF,MAAM;EACN,YAAY;EACZ,WAAW;EACX,QAAQ,CAAC,iBAAiB;EAC1B,MAAM;GAAC;GAAa;GAAY;GAAQ;GAAQ;EACjD;CACD,MAAM,EACJ,WAAW,oCACZ;CACD,aAAa;EACX,aAAa;EACb,SAAS;EACT,WAAW;EACX,UAAU;EACV,MAAM;EACP;CACD,UAAU;EACR,WAAW;EACX,SAAS;GAAE,SAAS;GAAM,OAAO;IAAC;IAAY;IAAS;IAAU;GAAE;EACnE,QAAQ;GAAE,SAAS;GAAM,aAAa;GAAM;EAC5C,KAAK,EAAE,SAAS,MAAM;EACvB;CACF,CAAC;AAEF,sBAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.handlers.js","names":[
|
|
1
|
+
{"version":3,"file":"memory.handlers.js","names":[],"sources":["../../src/handlers/memory.handlers.ts"],"sourcesContent":["interface ChangeCandidate {\n id: string;\n sourceDocumentId: string;\n detectedAt: Date;\n diffSummary: string;\n riskLevel: 'low' | 'medium' | 'high';\n}\n\ninterface ReviewTask {\n id: string;\n changeCandidateId: string;\n status: 'open' | 'decided';\n assignedRole: 'curator' | 'expert';\n decision?: 'approve' | 'reject';\n decidedAt?: Date;\n decidedBy?: string;\n}\n\nexport interface PipelineMemoryStore {\n candidates: Map<string, ChangeCandidate>;\n reviewTasks: Map<string, ReviewTask>;\n proposedRuleVersionIdsByCandidate: Map<string, string[]>;\n approvedRuleVersionIds: Set<string>;\n notifications: {\n kind: 'kb.review.requested';\n reviewTaskId: string;\n changeCandidateId: string;\n assignedRole: 'curator' | 'expert';\n createdAt: Date;\n }[];\n}\n\nexport function createPipelineMemoryStore(): PipelineMemoryStore {\n return {\n candidates: new Map(),\n reviewTasks: new Map(),\n proposedRuleVersionIdsByCandidate: new Map(),\n approvedRuleVersionIds: new Set(),\n notifications: [],\n };\n}\n\nfunction stableId(prefix: string, value: string): string {\n return `${prefix}_${value.replace(/[^a-zA-Z0-9_-]/g, '_')}`;\n}\n\nexport interface PipelineMemoryHandlers {\n runWatch(input: {\n jurisdiction: string;\n }): Promise<{ candidates: ChangeCandidate[] }>;\n createReviewTask(input: { changeCandidateId: string }): Promise<ReviewTask>;\n proposeRulePatch(input: {\n changeCandidateId: string;\n proposedRuleVersionIds: string[];\n }): Promise<{ proposedRuleVersionIds: string[] }>;\n markRuleVersionApproved(input: {\n ruleVersionId: string;\n }): Promise<{ ruleVersionId: string }>;\n submitDecision(input: {\n reviewTaskId: string;\n decision: 'approve' | 'reject';\n decidedBy: string;\n decidedByRole: 'curator' | 'expert';\n }): Promise<ReviewTask>;\n publishIfReady(input: {\n jurisdiction: string;\n }): Promise<{ published: boolean; reason?: string }>;\n}\n\nexport function createPipelineMemoryHandlers(\n store: PipelineMemoryStore\n): PipelineMemoryHandlers {\n async function runWatch(input: { jurisdiction: string }) {\n // demo: always returns empty unless caller pre-seeds candidates\n const candidates = [...store.candidates.values()].filter(\n (c) => c.sourceDocumentId.startsWith(`${input.jurisdiction}_`) || true\n );\n return { candidates };\n }\n\n async function createReviewTask(input: { changeCandidateId: string }) {\n const candidate = store.candidates.get(input.changeCandidateId);\n if (!candidate) throw new Error('CHANGE_CANDIDATE_NOT_FOUND');\n const assignedRole = candidate.riskLevel === 'high' ? 'expert' : 'curator';\n const id = stableId('review', input.changeCandidateId);\n const task: ReviewTask = {\n id,\n changeCandidateId: input.changeCandidateId,\n status: 'open',\n assignedRole,\n decision: undefined,\n decidedAt: undefined,\n decidedBy: undefined,\n };\n store.reviewTasks.set(id, task);\n store.notifications.push({\n kind: 'kb.review.requested',\n reviewTaskId: id,\n changeCandidateId: input.changeCandidateId,\n assignedRole,\n createdAt: new Date(),\n });\n return task;\n }\n\n async function proposeRulePatch(input: {\n changeCandidateId: string;\n proposedRuleVersionIds: string[];\n }): Promise<{ proposedRuleVersionIds: string[] }> {\n if (!store.candidates.has(input.changeCandidateId)) {\n throw new Error('CHANGE_CANDIDATE_NOT_FOUND');\n }\n store.proposedRuleVersionIdsByCandidate.set(input.changeCandidateId, [\n ...input.proposedRuleVersionIds,\n ]);\n return { proposedRuleVersionIds: [...input.proposedRuleVersionIds] };\n }\n\n async function markRuleVersionApproved(input: {\n ruleVersionId: string;\n }): Promise<{ ruleVersionId: string }> {\n store.approvedRuleVersionIds.add(input.ruleVersionId);\n return { ruleVersionId: input.ruleVersionId };\n }\n\n async function submitDecision(input: {\n reviewTaskId: string;\n decision: 'approve' | 'reject';\n decidedBy: string;\n decidedByRole: 'curator' | 'expert';\n }) {\n const task = store.reviewTasks.get(input.reviewTaskId);\n if (!task) throw new Error('REVIEW_TASK_NOT_FOUND');\n const candidate = store.candidates.get(task.changeCandidateId);\n if (!candidate) throw new Error('CHANGE_CANDIDATE_NOT_FOUND');\n if (candidate.riskLevel === 'high' && input.decision === 'approve') {\n if (input.decidedByRole !== 'expert') throw new Error('FORBIDDEN_ROLE');\n }\n const decided: ReviewTask = {\n ...task,\n status: 'decided',\n decision: input.decision,\n decidedAt: new Date(),\n decidedBy: input.decidedBy,\n };\n store.reviewTasks.set(decided.id, decided);\n return decided;\n }\n\n async function publishIfReady(_input: { jurisdiction: string }) {\n const openTasks = [...store.reviewTasks.values()].filter(\n (t) => t.status !== 'decided'\n );\n if (openTasks.length) {\n throw new Error('NOT_READY');\n }\n const rejected = [...store.reviewTasks.values()].some(\n (t) => t.decision === 'reject'\n );\n if (rejected) return { published: false, reason: 'REJECTED' };\n\n // Ensure every proposed rule version is approved before publishing.\n for (const task of store.reviewTasks.values()) {\n if (task.decision !== 'approve') continue;\n const proposed =\n store.proposedRuleVersionIdsByCandidate.get(task.changeCandidateId) ??\n [];\n const unapproved = proposed.filter(\n (id) => !store.approvedRuleVersionIds.has(id)\n );\n if (unapproved.length) {\n throw new Error('NOT_READY');\n }\n }\n return { published: true };\n }\n\n return {\n runWatch,\n createReviewTask,\n proposeRulePatch,\n markRuleVersionApproved,\n submitDecision,\n publishIfReady,\n };\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as _contractspec_lib_contracts8 from "@contractspec/lib.contracts";
|
|
2
2
|
|
|
3
3
|
//#region src/kb-update-pipeline.feature.d.ts
|
|
4
|
-
declare const KbUpdatePipelineFeature: FeatureModuleSpec;
|
|
4
|
+
declare const KbUpdatePipelineFeature: _contractspec_lib_contracts8.FeatureModuleSpec;
|
|
5
5
|
//#endregion
|
|
6
6
|
export { KbUpdatePipelineFeature };
|
|
7
7
|
//# sourceMappingURL=kb-update-pipeline.feature.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kb-update-pipeline.feature.d.ts","names":[],"sources":["../src/kb-update-pipeline.feature.ts"],"sourcesContent":[],"mappings":";;;cAEa,
|
|
1
|
+
{"version":3,"file":"kb-update-pipeline.feature.d.ts","names":[],"sources":["../src/kb-update-pipeline.feature.ts"],"sourcesContent":[],"mappings":";;;cAEa,yBAwDX,4BAAA,CAxDkC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { defineFeature } from "@contractspec/lib.contracts";
|
|
2
|
+
|
|
1
3
|
//#region src/kb-update-pipeline.feature.ts
|
|
2
|
-
const KbUpdatePipelineFeature = {
|
|
4
|
+
const KbUpdatePipelineFeature = defineFeature({
|
|
3
5
|
meta: {
|
|
4
6
|
key: "kb-update-pipeline",
|
|
5
7
|
version: "1.0.0",
|
|
@@ -133,7 +135,7 @@ const KbUpdatePipelineFeature = {
|
|
|
133
135
|
version: "1.0.0"
|
|
134
136
|
}
|
|
135
137
|
] }
|
|
136
|
-
};
|
|
138
|
+
});
|
|
137
139
|
|
|
138
140
|
//#endregion
|
|
139
141
|
export { KbUpdatePipelineFeature };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kb-update-pipeline.feature.js","names":[
|
|
1
|
+
{"version":3,"file":"kb-update-pipeline.feature.js","names":[],"sources":["../src/kb-update-pipeline.feature.ts"],"sourcesContent":["import { defineFeature } from '@contractspec/lib.contracts';\n\nexport const KbUpdatePipelineFeature = defineFeature({\n meta: {\n key: 'kb-update-pipeline',\n version: '1.0.0',\n title: 'KB Update Pipeline (HITL)',\n description:\n 'Automation proposes KB patches; humans verify; publishing is blocked until approvals are complete.',\n domain: 'knowledge',\n owners: ['@examples'],\n tags: ['knowledge', 'pipeline', 'hitl', 'audit', 'notifications'],\n stability: 'experimental',\n },\n operations: [\n { key: 'kbPipeline.runWatch', version: '1.0.0' },\n { key: 'kbPipeline.createReviewTask', version: '1.0.0' },\n { key: 'kbPipeline.submitDecision', version: '1.0.0' },\n { key: 'kbPipeline.publishIfReady', version: '1.0.0' },\n ],\n events: [\n { key: 'kb.change.detected', version: '1.0.0' },\n { key: 'kb.change.summarized', version: '1.0.0' },\n { key: 'kb.patch.proposed', version: '1.0.0' },\n { key: 'kb.review.requested', version: '1.0.0' },\n { key: 'kb.review.decided', version: '1.0.0' },\n ],\n presentations: [\n { key: 'kb.dashboard', version: '1.0.0' },\n { key: 'kb.review.list', version: '1.0.0' },\n { key: 'kb.review.form', version: '1.0.0' },\n ],\n opToPresentation: [\n {\n op: { key: 'kbPipeline.runWatch', version: '1.0.0' },\n pres: { key: 'kb.dashboard', version: '1.0.0' },\n },\n {\n op: { key: 'kbPipeline.createReviewTask', version: '1.0.0' },\n pres: { key: 'kb.review.list', version: '1.0.0' },\n },\n {\n op: { key: 'kbPipeline.submitDecision', version: '1.0.0' },\n pres: { key: 'kb.review.form', version: '1.0.0' },\n },\n ],\n presentationsTargets: [\n { key: 'kb.dashboard', version: '1.0.0', targets: ['react', 'markdown'] },\n { key: 'kb.review.list', version: '1.0.0', targets: ['react', 'markdown'] },\n { key: 'kb.review.form', version: '1.0.0', targets: ['react'] },\n ],\n capabilities: {\n requires: [\n { key: 'identity', version: '1.0.0' },\n { key: 'notifications', version: '1.0.0' },\n { key: 'audit-trail', version: '1.0.0' },\n ],\n },\n});\n"],"mappings":";;;AAEA,MAAa,0BAA0B,cAAc;CACnD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aACE;EACF,QAAQ;EACR,QAAQ,CAAC,YAAY;EACrB,MAAM;GAAC;GAAa;GAAY;GAAQ;GAAS;GAAgB;EACjE,WAAW;EACZ;CACD,YAAY;EACV;GAAE,KAAK;GAAuB,SAAS;GAAS;EAChD;GAAE,KAAK;GAA+B,SAAS;GAAS;EACxD;GAAE,KAAK;GAA6B,SAAS;GAAS;EACtD;GAAE,KAAK;GAA6B,SAAS;GAAS;EACvD;CACD,QAAQ;EACN;GAAE,KAAK;GAAsB,SAAS;GAAS;EAC/C;GAAE,KAAK;GAAwB,SAAS;GAAS;EACjD;GAAE,KAAK;GAAqB,SAAS;GAAS;EAC9C;GAAE,KAAK;GAAuB,SAAS;GAAS;EAChD;GAAE,KAAK;GAAqB,SAAS;GAAS;EAC/C;CACD,eAAe;EACb;GAAE,KAAK;GAAgB,SAAS;GAAS;EACzC;GAAE,KAAK;GAAkB,SAAS;GAAS;EAC3C;GAAE,KAAK;GAAkB,SAAS;GAAS;EAC5C;CACD,kBAAkB;EAChB;GACE,IAAI;IAAE,KAAK;IAAuB,SAAS;IAAS;GACpD,MAAM;IAAE,KAAK;IAAgB,SAAS;IAAS;GAChD;EACD;GACE,IAAI;IAAE,KAAK;IAA+B,SAAS;IAAS;GAC5D,MAAM;IAAE,KAAK;IAAkB,SAAS;IAAS;GAClD;EACD;GACE,IAAI;IAAE,KAAK;IAA6B,SAAS;IAAS;GAC1D,MAAM;IAAE,KAAK;IAAkB,SAAS;IAAS;GAClD;EACF;CACD,sBAAsB;EACpB;GAAE,KAAK;GAAgB,SAAS;GAAS,SAAS,CAAC,SAAS,WAAW;GAAE;EACzE;GAAE,KAAK;GAAkB,SAAS;GAAS,SAAS,CAAC,SAAS,WAAW;GAAE;EAC3E;GAAE,KAAK;GAAkB,SAAS;GAAS,SAAS,CAAC,QAAQ;GAAE;EAChE;CACD,cAAc,EACZ,UAAU;EACR;GAAE,KAAK;GAAY,SAAS;GAAS;EACrC;GAAE,KAAK;GAAiB,SAAS;GAAS;EAC1C;GAAE,KAAK;GAAe,SAAS;GAAS;EACzC,EACF;CACF,CAAC"}
|