@lssm/example.kb-update-pipeline 0.0.0-canary-20251217080011 → 1.41.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.log +24 -26
- package/dist/contracts/index.js +1 -3
- package/dist/contracts/pipeline.js +1 -185
- package/dist/docs/index.js +1 -1
- package/dist/docs/kb-update-pipeline.docblock.js +17 -29
- package/dist/entities/index.js +1 -3
- package/dist/entities/models.js +1 -76
- package/dist/events.js +1 -127
- package/dist/example.js +1 -42
- package/dist/feature.js +1 -78
- package/dist/handlers/index.js +1 -3
- package/dist/handlers/memory.handlers.js +1 -92
- package/dist/index.js +1 -11
- package/dist/kb-update-pipeline.feature.js +1 -78
- package/package.json +20 -22
- package/tsconfig.tsbuildinfo +1 -1
- package/.turbo/turbo-build$colon$bundle.log +0 -228
- package/CHANGELOG.md +0 -15
- package/dist/contracts/index.d.ts +0 -2
- package/dist/contracts/pipeline.d.ts +0 -136
- package/dist/docs/index.d.ts +0 -1
- package/dist/docs/kb-update-pipeline.docblock.d.ts +0 -1
- package/dist/entities/index.d.ts +0 -2
- package/dist/entities/models.d.ts +0 -60
- package/dist/events.d.ts +0 -73
- package/dist/example.d.ts +0 -35
- package/dist/feature.d.ts +0 -6
- package/dist/handlers/index.d.ts +0 -2
- package/dist/handlers/memory.handlers.d.ts +0 -67
- package/dist/index.d.ts +0 -7
- package/dist/kb-update-pipeline.feature.d.ts +0 -6
- package/dist/libs/contracts/dist/capabilities/openbanking.js +0 -88
- package/dist/libs/contracts/dist/client/index.js +0 -5
- package/dist/libs/contracts/dist/client/react/feature-render.js +0 -2
- package/dist/libs/contracts/dist/client/react/form-render.js +0 -4
- package/dist/libs/contracts/dist/client/react/index.js +0 -4
- package/dist/libs/contracts/dist/contract-registry/index.js +0 -1
- package/dist/libs/contracts/dist/contract-registry/schemas.js +0 -60
- package/dist/libs/contracts/dist/docs/PUBLISHING.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/index.js +0 -29
- package/dist/libs/contracts/dist/docs/presentations.js +0 -71
- package/dist/libs/contracts/dist/docs/registry.js +0 -44
- package/dist/libs/contracts/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +0 -80
- package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +0 -57
- package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js +0 -357
- package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js +0 -37
- package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js +0 -16
- package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js +0 -20
- package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js +0 -48
- package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +0 -79
- package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +0 -84
- package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +0 -45
- package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js +0 -67
- package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +0 -40
- package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js +0 -69
- package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +0 -47
- package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js +0 -62
- package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js +0 -155
- package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js +0 -20
- package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js +0 -101
- package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js +0 -20
- package/dist/libs/contracts/dist/events.js +0 -10
- package/dist/libs/contracts/dist/experiments/evaluator.js +0 -1
- package/dist/libs/contracts/dist/index.js +0 -71
- package/dist/libs/contracts/dist/install.js +0 -2
- package/dist/libs/contracts/dist/integrations/contracts.js +0 -377
- package/dist/libs/contracts/dist/integrations/index.js +0 -18
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +0 -228
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +0 -159
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/index.js +0 -3
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +0 -210
- package/dist/libs/contracts/dist/integrations/openbanking/models.js +0 -242
- package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js +0 -13
- package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js +0 -52
- package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js +0 -75
- package/dist/libs/contracts/dist/integrations/providers/gmail.js +0 -87
- package/dist/libs/contracts/dist/integrations/providers/google-calendar.js +0 -66
- package/dist/libs/contracts/dist/integrations/providers/index.js +0 -11
- package/dist/libs/contracts/dist/integrations/providers/mistral.js +0 -68
- package/dist/libs/contracts/dist/integrations/providers/postmark.js +0 -68
- package/dist/libs/contracts/dist/integrations/providers/powens.js +0 -116
- package/dist/libs/contracts/dist/integrations/providers/qdrant.js +0 -73
- package/dist/libs/contracts/dist/integrations/providers/registry.js +0 -10
- package/dist/libs/contracts/dist/integrations/providers/stripe.js +0 -83
- package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js +0 -61
- package/dist/libs/contracts/dist/jsonschema.js +0 -1
- package/dist/libs/contracts/dist/knowledge/contracts.js +0 -306
- package/dist/libs/contracts/dist/knowledge/index.js +0 -7
- package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js +0 -34
- package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js +0 -34
- package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js +0 -38
- package/dist/libs/contracts/dist/knowledge/spaces/index.js +0 -6
- package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js +0 -34
- package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js +0 -37
- package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js +0 -34
- package/dist/libs/contracts/dist/llm/exporters.js +0 -19
- package/dist/libs/contracts/dist/llm/index.js +0 -2
- package/dist/libs/contracts/dist/llm/prompts.js +0 -1
- package/dist/libs/contracts/dist/onboarding-base.js +0 -196
- package/dist/libs/contracts/dist/openapi.js +0 -1
- package/dist/libs/contracts/dist/ownership.js +0 -21
- package/dist/libs/contracts/dist/presentations.js +0 -1
- package/dist/libs/contracts/dist/presentations.v2.js +0 -11
- package/dist/libs/contracts/dist/prompt.js +0 -1
- package/dist/libs/contracts/dist/promptRegistry.js +0 -1
- package/dist/libs/contracts/dist/regenerator/index.js +0 -1
- package/dist/libs/contracts/dist/regenerator/service.js +0 -6
- package/dist/libs/contracts/dist/registry.js +0 -2
- package/dist/libs/contracts/dist/resources.js +0 -1
- package/dist/libs/contracts/dist/schema/dist/EnumType.js +0 -2
- package/dist/libs/contracts/dist/schema/dist/FieldType.js +0 -49
- package/dist/libs/contracts/dist/schema/dist/ScalarTypeEnum.js +0 -236
- package/dist/libs/contracts/dist/schema/dist/SchemaModel.js +0 -39
- package/dist/libs/contracts/dist/schema/dist/entity/defineEntity.js +0 -1
- package/dist/libs/contracts/dist/schema/dist/entity/index.js +0 -2
- package/dist/libs/contracts/dist/schema/dist/entity/types.js +0 -1
- package/dist/libs/contracts/dist/schema/dist/index.js +0 -6
- package/dist/libs/contracts/dist/server/graphql-pothos.js +0 -6
- package/dist/libs/contracts/dist/server/index.js +0 -8
- package/dist/libs/contracts/dist/server/mcp/createMcpServer.js +0 -4
- package/dist/libs/contracts/dist/server/mcp/registerPresentations.js +0 -2
- package/dist/libs/contracts/dist/server/mcp/registerPrompts.js +0 -1
- package/dist/libs/contracts/dist/server/mcp/registerResources.js +0 -2
- package/dist/libs/contracts/dist/server/mcp/registerTools.js +0 -1
- package/dist/libs/contracts/dist/server/provider-mcp.js +0 -1
- package/dist/libs/contracts/dist/server/rest-elysia.js +0 -1
- package/dist/libs/contracts/dist/server/rest-express.js +0 -1
- package/dist/libs/contracts/dist/server/rest-generic.js +0 -1
- package/dist/libs/contracts/dist/server/rest-next-app.js +0 -1
- package/dist/libs/contracts/dist/server/rest-next-pages.js +0 -1
- package/dist/libs/contracts/dist/spec.js +0 -34
- package/dist/libs/contracts/dist/telemetry/index.js +0 -1
- package/dist/libs/contracts/dist/telemetry/tracker.js +0 -1
- package/dist/libs/contracts/dist/tests/index.js +0 -1
- package/dist/libs/contracts/dist/tests/runner.js +0 -2
- package/dist/libs/contracts/dist/workflow/index.js +0 -1
- package/dist/libs/contracts/dist/workflow/runner.js +0 -1
- package/dist/libs/schema/dist/EnumType.js +0 -56
- package/dist/libs/schema/dist/FieldType.js +0 -49
- package/dist/libs/schema/dist/ScalarTypeEnum.js +0 -236
- package/dist/libs/schema/dist/SchemaModel.js +0 -39
- package/dist/libs/schema/dist/entity/defineEntity.js +0 -1
- package/dist/libs/schema/dist/entity/index.js +0 -2
- package/dist/libs/schema/dist/entity/types.js +0 -1
- package/dist/libs/schema/dist/index.js +0 -6
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,26 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
[
|
|
4
|
-
[34mℹ[39m
|
|
5
|
-
[34mℹ[39m
|
|
6
|
-
[34mℹ[39m
|
|
7
|
-
[34mℹ[39m
|
|
8
|
-
[34mℹ[39m
|
|
9
|
-
[34mℹ[39m
|
|
10
|
-
[34mℹ[39m
|
|
11
|
-
[34mℹ[39m [2mdist/[22m[
|
|
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
|
|
23
|
-
[
|
|
24
|
-
|
|
25
|
-
[32m✔[39m Build complete in [32m357ms[39m
|
|
26
|
-
[0m[2m[35m$[0m [2m[1mtsc --noEmit[0m
|
|
1
|
+
$ bun build:bundle && bun build:types
|
|
2
|
+
$ tsdown
|
|
3
|
+
[34mℹ[39m tsdown [2mv0.17.4[22m powered by rolldown [2mv1.0.0-beta.53[22m
|
|
4
|
+
[34mℹ[39m config file: [4m/home/runner/work/contractspec/contractspec/packages/examples/kb-update-pipeline/tsdown.config.js[24m
|
|
5
|
+
[34mℹ[39m entry: [34msrc/events.ts, src/example.ts, src/feature.ts, src/index.ts, src/kb-update-pipeline.feature.ts, src/docs/index.ts, src/docs/kb-update-pipeline.docblock.ts, src/entities/index.ts, src/entities/models.ts, src/contracts/index.ts, src/contracts/pipeline.ts, src/handlers/index.ts, src/handlers/memory.handlers.ts[39m
|
|
6
|
+
[34mℹ[39m target: [34mesnext[39m
|
|
7
|
+
[34mℹ[39m tsconfig: [34mtsconfig.json[39m
|
|
8
|
+
[34mℹ[39m Build start
|
|
9
|
+
[34mℹ[39m [2mdist/[22m[1mcontracts/pipeline.js[22m [2m3.44 kB[22m [2m│ gzip: 1.18 kB[22m
|
|
10
|
+
[34mℹ[39m [2mdist/[22m[1mhandlers/memory.handlers.js[22m [2m2.27 kB[22m [2m│ gzip: 0.87 kB[22m
|
|
11
|
+
[34mℹ[39m [2mdist/[22m[1mevents.js[22m [2m2.02 kB[22m [2m│ gzip: 0.54 kB[22m
|
|
12
|
+
[34mℹ[39m [2mdist/[22m[1mindex.js[22m [2m1.32 kB[22m [2m│ gzip: 0.46 kB[22m
|
|
13
|
+
[34mℹ[39m [2mdist/[22m[1mdocs/kb-update-pipeline.docblock.js[22m [2m1.26 kB[22m [2m│ gzip: 0.64 kB[22m
|
|
14
|
+
[34mℹ[39m [2mdist/[22m[1mentities/models.js[22m [2m1.11 kB[22m [2m│ gzip: 0.44 kB[22m
|
|
15
|
+
[34mℹ[39m [2mdist/[22m[1mfeature.js[22m [2m0.92 kB[22m [2m│ gzip: 0.45 kB[22m
|
|
16
|
+
[34mℹ[39m [2mdist/[22m[1mkb-update-pipeline.feature.js[22m [2m0.92 kB[22m [2m│ gzip: 0.45 kB[22m
|
|
17
|
+
[34mℹ[39m [2mdist/[22m[1mexample.js[22m [2m0.58 kB[22m [2m│ gzip: 0.36 kB[22m
|
|
18
|
+
[34mℹ[39m [2mdist/[22m[1mcontracts/index.js[22m [2m0.33 kB[22m [2m│ gzip: 0.16 kB[22m
|
|
19
|
+
[34mℹ[39m [2mdist/[22m[1mentities/index.js[22m [2m0.28 kB[22m [2m│ gzip: 0.16 kB[22m
|
|
20
|
+
[34mℹ[39m [2mdist/[22m[1mhandlers/index.js[22m [2m0.17 kB[22m [2m│ gzip: 0.11 kB[22m
|
|
21
|
+
[34mℹ[39m [2mdist/[22m[1mdocs/index.js[22m [2m0.04 kB[22m [2m│ gzip: 0.06 kB[22m
|
|
22
|
+
[34mℹ[39m 13 files, total: 14.66 kB
|
|
23
|
+
[32m✔[39m Build complete in [32m44ms[39m
|
|
24
|
+
$ tsc --noEmit
|
package/dist/contracts/index.js
CHANGED
|
@@ -1,3 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export { KbPipelineCreateReviewTaskContract, KbPipelinePublishIfReadyContract, KbPipelineRunWatchContract, KbPipelineSubmitDecisionContract };
|
|
1
|
+
import{KbPipelineCreateReviewTaskContract as e,KbPipelinePublishIfReadyContract as t,KbPipelineRunWatchContract as n,KbPipelineSubmitDecisionContract as r}from"./pipeline.js";export{e as KbPipelineCreateReviewTaskContract,t as KbPipelinePublishIfReadyContract,n as KbPipelineRunWatchContract,r as KbPipelineSubmitDecisionContract};
|
|
@@ -1,185 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import "../libs/contracts/dist/index.js";
|
|
3
|
-
import { ScalarTypeEnum } from "../libs/schema/dist/ScalarTypeEnum.js";
|
|
4
|
-
import { defineSchemaModel } from "../libs/schema/dist/SchemaModel.js";
|
|
5
|
-
import "../libs/schema/dist/index.js";
|
|
6
|
-
import { ChangeCandidateModel, ReviewDecisionEnum, ReviewTaskModel } from "../entities/models.js";
|
|
7
|
-
|
|
8
|
-
//#region src/contracts/pipeline.ts
|
|
9
|
-
const RunWatchInput = defineSchemaModel({
|
|
10
|
-
name: "KbPipelineRunWatchInput",
|
|
11
|
-
description: "Trigger a watch cycle for KB sources (demo).",
|
|
12
|
-
fields: { jurisdiction: {
|
|
13
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
14
|
-
isOptional: false
|
|
15
|
-
} }
|
|
16
|
-
});
|
|
17
|
-
const RunWatchOutput = defineSchemaModel({
|
|
18
|
-
name: "KbPipelineRunWatchOutput",
|
|
19
|
-
description: "Output containing detected changes.",
|
|
20
|
-
fields: { candidates: {
|
|
21
|
-
type: ChangeCandidateModel,
|
|
22
|
-
isArray: true,
|
|
23
|
-
isOptional: false
|
|
24
|
-
} }
|
|
25
|
-
});
|
|
26
|
-
const CreateReviewTaskInput = defineSchemaModel({
|
|
27
|
-
name: "KbPipelineCreateReviewTaskInput",
|
|
28
|
-
description: "Create a review task for a change candidate.",
|
|
29
|
-
fields: { changeCandidateId: {
|
|
30
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
31
|
-
isOptional: false
|
|
32
|
-
} }
|
|
33
|
-
});
|
|
34
|
-
const SubmitDecisionInput = defineSchemaModel({
|
|
35
|
-
name: "KbPipelineSubmitDecisionInput",
|
|
36
|
-
description: "Submit a decision for a review task.",
|
|
37
|
-
fields: {
|
|
38
|
-
reviewTaskId: {
|
|
39
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
40
|
-
isOptional: false
|
|
41
|
-
},
|
|
42
|
-
decision: {
|
|
43
|
-
type: ReviewDecisionEnum,
|
|
44
|
-
isOptional: false
|
|
45
|
-
},
|
|
46
|
-
decidedBy: {
|
|
47
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
48
|
-
isOptional: false
|
|
49
|
-
},
|
|
50
|
-
decidedByRole: {
|
|
51
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
52
|
-
isOptional: false
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
const PublishIfReadyInput = defineSchemaModel({
|
|
57
|
-
name: "KbPipelinePublishIfReadyInput",
|
|
58
|
-
description: "Publish snapshot if approvals are satisfied for a jurisdiction.",
|
|
59
|
-
fields: { jurisdiction: {
|
|
60
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
61
|
-
isOptional: false
|
|
62
|
-
} }
|
|
63
|
-
});
|
|
64
|
-
const PublishIfReadyOutput = defineSchemaModel({
|
|
65
|
-
name: "KbPipelinePublishIfReadyOutput",
|
|
66
|
-
description: "Output for publish-if-ready operation.",
|
|
67
|
-
fields: {
|
|
68
|
-
published: {
|
|
69
|
-
type: ScalarTypeEnum.Boolean(),
|
|
70
|
-
isOptional: false
|
|
71
|
-
},
|
|
72
|
-
reason: {
|
|
73
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
74
|
-
isOptional: true
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
const KbPipelineRunWatchContract = defineCommand({
|
|
79
|
-
meta: {
|
|
80
|
-
name: "kbPipeline.runWatch",
|
|
81
|
-
version: 1,
|
|
82
|
-
stability: "experimental",
|
|
83
|
-
owners: ["examples"],
|
|
84
|
-
tags: [
|
|
85
|
-
"knowledge",
|
|
86
|
-
"pipeline",
|
|
87
|
-
"jobs"
|
|
88
|
-
],
|
|
89
|
-
description: "Detect source changes and create change candidates.",
|
|
90
|
-
goal: "Automate discovery of updates needing review.",
|
|
91
|
-
context: "Scheduled job or manual trigger in demos."
|
|
92
|
-
},
|
|
93
|
-
io: {
|
|
94
|
-
input: RunWatchInput,
|
|
95
|
-
output: RunWatchOutput
|
|
96
|
-
},
|
|
97
|
-
policy: { auth: "user" }
|
|
98
|
-
});
|
|
99
|
-
const KbPipelineCreateReviewTaskContract = defineCommand({
|
|
100
|
-
meta: {
|
|
101
|
-
name: "kbPipeline.createReviewTask",
|
|
102
|
-
version: 1,
|
|
103
|
-
stability: "experimental",
|
|
104
|
-
owners: ["examples"],
|
|
105
|
-
tags: [
|
|
106
|
-
"knowledge",
|
|
107
|
-
"pipeline",
|
|
108
|
-
"hitl"
|
|
109
|
-
],
|
|
110
|
-
description: "Create a review task for a detected change.",
|
|
111
|
-
goal: "Route work to human verifiers.",
|
|
112
|
-
context: "Called after change detection or manual selection."
|
|
113
|
-
},
|
|
114
|
-
io: {
|
|
115
|
-
input: CreateReviewTaskInput,
|
|
116
|
-
output: ReviewTaskModel
|
|
117
|
-
},
|
|
118
|
-
policy: { auth: "user" }
|
|
119
|
-
});
|
|
120
|
-
const KbPipelineSubmitDecisionContract = defineCommand({
|
|
121
|
-
meta: {
|
|
122
|
-
name: "kbPipeline.submitDecision",
|
|
123
|
-
version: 1,
|
|
124
|
-
stability: "experimental",
|
|
125
|
-
owners: ["examples"],
|
|
126
|
-
tags: [
|
|
127
|
-
"knowledge",
|
|
128
|
-
"pipeline",
|
|
129
|
-
"hitl",
|
|
130
|
-
"rbac"
|
|
131
|
-
],
|
|
132
|
-
description: "Submit approve/reject decision for a review task.",
|
|
133
|
-
goal: "Ensure humans verify before publishing.",
|
|
134
|
-
context: "Curator/expert reviews and decides."
|
|
135
|
-
},
|
|
136
|
-
io: {
|
|
137
|
-
input: SubmitDecisionInput,
|
|
138
|
-
output: ReviewTaskModel,
|
|
139
|
-
errors: {
|
|
140
|
-
FORBIDDEN_ROLE: {
|
|
141
|
-
description: "Role not allowed to approve the given risk level",
|
|
142
|
-
http: 403,
|
|
143
|
-
gqlCode: "FORBIDDEN_ROLE",
|
|
144
|
-
when: "curator attempts to approve a high-risk change"
|
|
145
|
-
},
|
|
146
|
-
REVIEW_TASK_NOT_FOUND: {
|
|
147
|
-
description: "Review task not found",
|
|
148
|
-
http: 404,
|
|
149
|
-
gqlCode: "REVIEW_TASK_NOT_FOUND",
|
|
150
|
-
when: "reviewTaskId is invalid"
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
},
|
|
154
|
-
policy: { auth: "user" }
|
|
155
|
-
});
|
|
156
|
-
const KbPipelinePublishIfReadyContract = defineCommand({
|
|
157
|
-
meta: {
|
|
158
|
-
name: "kbPipeline.publishIfReady",
|
|
159
|
-
version: 1,
|
|
160
|
-
stability: "experimental",
|
|
161
|
-
owners: ["examples"],
|
|
162
|
-
tags: [
|
|
163
|
-
"knowledge",
|
|
164
|
-
"pipeline",
|
|
165
|
-
"publishing"
|
|
166
|
-
],
|
|
167
|
-
description: "Publish snapshot if ready (all approvals satisfied).",
|
|
168
|
-
goal: "Prevent publishing until all required approvals exist.",
|
|
169
|
-
context: "Called by job or UI to attempt publish."
|
|
170
|
-
},
|
|
171
|
-
io: {
|
|
172
|
-
input: PublishIfReadyInput,
|
|
173
|
-
output: PublishIfReadyOutput,
|
|
174
|
-
errors: { NOT_READY: {
|
|
175
|
-
description: "Publishing is blocked because approvals are incomplete",
|
|
176
|
-
http: 409,
|
|
177
|
-
gqlCode: "NOT_READY",
|
|
178
|
-
when: "there are open review tasks or unapproved rule versions"
|
|
179
|
-
} }
|
|
180
|
-
},
|
|
181
|
-
policy: { auth: "user" }
|
|
182
|
-
});
|
|
183
|
-
|
|
184
|
-
//#endregion
|
|
185
|
-
export { KbPipelineCreateReviewTaskContract, KbPipelinePublishIfReadyContract, KbPipelineRunWatchContract, KbPipelineSubmitDecisionContract };
|
|
1
|
+
import{ChangeCandidateModel as e,ReviewDecisionEnum as t,ReviewTaskModel as n}from"../entities/models.js";import{defineCommand as r}from"@lssm/lib.contracts";import{ScalarTypeEnum as i,defineSchemaModel as a}from"@lssm/lib.schema";const o=a({name:`KbPipelineRunWatchInput`,description:`Trigger a watch cycle for KB sources (demo).`,fields:{jurisdiction:{type:i.String_unsecure(),isOptional:!1}}}),s=a({name:`KbPipelineRunWatchOutput`,description:`Output containing detected changes.`,fields:{candidates:{type:e,isArray:!0,isOptional:!1}}}),c=a({name:`KbPipelineCreateReviewTaskInput`,description:`Create a review task for a change candidate.`,fields:{changeCandidateId:{type:i.String_unsecure(),isOptional:!1}}}),l=a({name:`KbPipelineSubmitDecisionInput`,description:`Submit a decision for a review task.`,fields:{reviewTaskId:{type:i.String_unsecure(),isOptional:!1},decision:{type:t,isOptional:!1},decidedBy:{type:i.String_unsecure(),isOptional:!1},decidedByRole:{type:i.String_unsecure(),isOptional:!1}}}),u=a({name:`KbPipelinePublishIfReadyInput`,description:`Publish snapshot if approvals are satisfied for a jurisdiction.`,fields:{jurisdiction:{type:i.String_unsecure(),isOptional:!1}}}),d=a({name:`KbPipelinePublishIfReadyOutput`,description:`Output for publish-if-ready operation.`,fields:{published:{type:i.Boolean(),isOptional:!1},reason:{type:i.String_unsecure(),isOptional:!0}}}),f=r({meta:{name:`kbPipeline.runWatch`,version:1,stability:`experimental`,owners:[`examples`],tags:[`knowledge`,`pipeline`,`jobs`],description:`Detect source changes and create change candidates.`,goal:`Automate discovery of updates needing review.`,context:`Scheduled job or manual trigger in demos.`},io:{input:o,output:s},policy:{auth:`user`}}),p=r({meta:{name:`kbPipeline.createReviewTask`,version:1,stability:`experimental`,owners:[`examples`],tags:[`knowledge`,`pipeline`,`hitl`],description:`Create a review task for a detected change.`,goal:`Route work to human verifiers.`,context:`Called after change detection or manual selection.`},io:{input:c,output:n},policy:{auth:`user`}}),m=r({meta:{name:`kbPipeline.submitDecision`,version:1,stability:`experimental`,owners:[`examples`],tags:[`knowledge`,`pipeline`,`hitl`,`rbac`],description:`Submit approve/reject decision for a review task.`,goal:`Ensure humans verify before publishing.`,context:`Curator/expert reviews and decides.`},io:{input:l,output:n,errors:{FORBIDDEN_ROLE:{description:`Role not allowed to approve the given risk level`,http:403,gqlCode:`FORBIDDEN_ROLE`,when:`curator attempts to approve a high-risk change`},REVIEW_TASK_NOT_FOUND:{description:`Review task not found`,http:404,gqlCode:`REVIEW_TASK_NOT_FOUND`,when:`reviewTaskId is invalid`}}},policy:{auth:`user`}}),h=r({meta:{name:`kbPipeline.publishIfReady`,version:1,stability:`experimental`,owners:[`examples`],tags:[`knowledge`,`pipeline`,`publishing`],description:`Publish snapshot if ready (all approvals satisfied).`,goal:`Prevent publishing until all required approvals exist.`,context:`Called by job or UI to attempt publish.`},io:{input:u,output:d,errors:{NOT_READY:{description:`Publishing is blocked because approvals are incomplete`,http:409,gqlCode:`NOT_READY`,when:`there are open review tasks or unapproved rule versions`}}},policy:{auth:`user`}});export{p as KbPipelineCreateReviewTaskContract,h as KbPipelinePublishIfReadyContract,f as KbPipelineRunWatchContract,m as KbPipelineSubmitDecisionContract};
|
package/dist/docs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import"./kb-update-pipeline.docblock.js";
|
|
@@ -1,31 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import{registerDocBlocks as e}from"@lssm/lib.contracts/docs";e([{id:`docs.examples.kb-update-pipeline.goal`,title:`KB Update Pipeline — Goal`,summary:`Automation proposes KB patches; humans verify; publishing is blocked until approvals are complete.`,kind:`goal`,visibility:`public`,route:`/docs/examples/kb-update-pipeline/goal`,tags:[`knowledge`,`pipeline`,`hitl`,`audit`],body:`## Why it matters
|
|
2
|
+
- Keeps humans as the verifiers (HITL) while automation does the busywork.
|
|
3
|
+
- Produces an auditable chain: source change -> diff -> proposal -> review -> publish.
|
|
3
4
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
tags: [
|
|
13
|
-
"knowledge",
|
|
14
|
-
"pipeline",
|
|
15
|
-
"hitl",
|
|
16
|
-
"audit"
|
|
17
|
-
],
|
|
18
|
-
body: `## Why it matters
|
|
19
|
-
- Keeps humans as the verifiers (HITL) while automation does the busywork.\n- Produces an auditable chain: source change -> diff -> proposal -> review -> publish.\n\n## Guardrails\n- High-risk changes require expert approval.\n- Publishing fails if any included rule versions are not approved.\n- Review requests emit notifications/events.`
|
|
20
|
-
}, {
|
|
21
|
-
id: "docs.examples.kb-update-pipeline.reference",
|
|
22
|
-
title: "KB Update Pipeline — Reference",
|
|
23
|
-
summary: "Entities, contracts, and events for the KB update pipeline example.",
|
|
24
|
-
kind: "reference",
|
|
25
|
-
visibility: "public",
|
|
26
|
-
route: "/docs/examples/kb-update-pipeline",
|
|
27
|
-
tags: ["knowledge", "reference"],
|
|
28
|
-
body: `## Contracts\n- kbPipeline.runWatch\n- kbPipeline.createReviewTask\n- kbPipeline.submitDecision\n- kbPipeline.publishIfReady\n\n## Events\n- kb.change.detected\n- kb.change.summarized\n- kb.patch.proposed\n- kb.review.requested\n- kb.review.decided`
|
|
29
|
-
}]);
|
|
5
|
+
## Guardrails
|
|
6
|
+
- High-risk changes require expert approval.
|
|
7
|
+
- Publishing fails if any included rule versions are not approved.
|
|
8
|
+
- Review requests emit notifications/events.`},{id:`docs.examples.kb-update-pipeline.reference`,title:`KB Update Pipeline — Reference`,summary:`Entities, contracts, and events for the KB update pipeline example.`,kind:`reference`,visibility:`public`,route:`/docs/examples/kb-update-pipeline`,tags:[`knowledge`,`reference`],body:`## Contracts
|
|
9
|
+
- kbPipeline.runWatch
|
|
10
|
+
- kbPipeline.createReviewTask
|
|
11
|
+
- kbPipeline.submitDecision
|
|
12
|
+
- kbPipeline.publishIfReady
|
|
30
13
|
|
|
31
|
-
|
|
14
|
+
## Events
|
|
15
|
+
- kb.change.detected
|
|
16
|
+
- kb.change.summarized
|
|
17
|
+
- kb.patch.proposed
|
|
18
|
+
- kb.review.requested
|
|
19
|
+
- kb.review.decided`}]);
|
package/dist/entities/index.js
CHANGED
|
@@ -1,3 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export { ChangeCandidateModel, ChangeRiskLevelEnum, ReviewAssignedRoleEnum, ReviewDecisionEnum, ReviewTaskModel };
|
|
1
|
+
import{ChangeCandidateModel as e,ChangeRiskLevelEnum as t,ReviewAssignedRoleEnum as n,ReviewDecisionEnum as r,ReviewTaskModel as i}from"./models.js";export{e as ChangeCandidateModel,t as ChangeRiskLevelEnum,n as ReviewAssignedRoleEnum,r as ReviewDecisionEnum,i as ReviewTaskModel};
|
package/dist/entities/models.js
CHANGED
|
@@ -1,76 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { ScalarTypeEnum } from "../libs/schema/dist/ScalarTypeEnum.js";
|
|
3
|
-
import { defineSchemaModel } from "../libs/schema/dist/SchemaModel.js";
|
|
4
|
-
import "../libs/schema/dist/index.js";
|
|
5
|
-
|
|
6
|
-
//#region src/entities/models.ts
|
|
7
|
-
const ChangeRiskLevelEnum = defineEnum("ChangeRiskLevel", [
|
|
8
|
-
"low",
|
|
9
|
-
"medium",
|
|
10
|
-
"high"
|
|
11
|
-
]);
|
|
12
|
-
const ReviewAssignedRoleEnum = defineEnum("ReviewAssignedRole", ["curator", "expert"]);
|
|
13
|
-
const ReviewDecisionEnum = defineEnum("ReviewDecision", ["approve", "reject"]);
|
|
14
|
-
const ChangeCandidateModel = defineSchemaModel({
|
|
15
|
-
name: "ChangeCandidate",
|
|
16
|
-
description: "Candidate change detected in a source document.",
|
|
17
|
-
fields: {
|
|
18
|
-
id: {
|
|
19
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
20
|
-
isOptional: false
|
|
21
|
-
},
|
|
22
|
-
sourceDocumentId: {
|
|
23
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
24
|
-
isOptional: false
|
|
25
|
-
},
|
|
26
|
-
detectedAt: {
|
|
27
|
-
type: ScalarTypeEnum.DateTime(),
|
|
28
|
-
isOptional: false
|
|
29
|
-
},
|
|
30
|
-
diffSummary: {
|
|
31
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
32
|
-
isOptional: false
|
|
33
|
-
},
|
|
34
|
-
riskLevel: {
|
|
35
|
-
type: ChangeRiskLevelEnum,
|
|
36
|
-
isOptional: false
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
const ReviewTaskModel = defineSchemaModel({
|
|
41
|
-
name: "ReviewTask",
|
|
42
|
-
description: "Human verification task for a change candidate.",
|
|
43
|
-
fields: {
|
|
44
|
-
id: {
|
|
45
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
46
|
-
isOptional: false
|
|
47
|
-
},
|
|
48
|
-
changeCandidateId: {
|
|
49
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
50
|
-
isOptional: false
|
|
51
|
-
},
|
|
52
|
-
status: {
|
|
53
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
54
|
-
isOptional: false
|
|
55
|
-
},
|
|
56
|
-
assignedRole: {
|
|
57
|
-
type: ReviewAssignedRoleEnum,
|
|
58
|
-
isOptional: false
|
|
59
|
-
},
|
|
60
|
-
decision: {
|
|
61
|
-
type: ReviewDecisionEnum,
|
|
62
|
-
isOptional: true
|
|
63
|
-
},
|
|
64
|
-
decidedAt: {
|
|
65
|
-
type: ScalarTypeEnum.DateTime(),
|
|
66
|
-
isOptional: true
|
|
67
|
-
},
|
|
68
|
-
decidedBy: {
|
|
69
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
70
|
-
isOptional: true
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
//#endregion
|
|
76
|
-
export { ChangeCandidateModel, ChangeRiskLevelEnum, ReviewAssignedRoleEnum, ReviewDecisionEnum, ReviewTaskModel };
|
|
1
|
+
import{ScalarTypeEnum as e,defineEnum as t,defineSchemaModel as n}from"@lssm/lib.schema";const r=t(`ChangeRiskLevel`,[`low`,`medium`,`high`]),i=t(`ReviewAssignedRole`,[`curator`,`expert`]),a=t(`ReviewDecision`,[`approve`,`reject`]),o=n({name:`ChangeCandidate`,description:`Candidate change detected in a source document.`,fields:{id:{type:e.String_unsecure(),isOptional:!1},sourceDocumentId:{type:e.String_unsecure(),isOptional:!1},detectedAt:{type:e.DateTime(),isOptional:!1},diffSummary:{type:e.String_unsecure(),isOptional:!1},riskLevel:{type:r,isOptional:!1}}}),s=n({name:`ReviewTask`,description:`Human verification task for a change candidate.`,fields:{id:{type:e.String_unsecure(),isOptional:!1},changeCandidateId:{type:e.String_unsecure(),isOptional:!1},status:{type:e.String_unsecure(),isOptional:!1},assignedRole:{type:i,isOptional:!1},decision:{type:a,isOptional:!0},decidedAt:{type:e.DateTime(),isOptional:!0},decidedBy:{type:e.String_unsecure(),isOptional:!0}}});export{o as ChangeCandidateModel,r as ChangeRiskLevelEnum,i as ReviewAssignedRoleEnum,a as ReviewDecisionEnum,s as ReviewTaskModel};
|
package/dist/events.js
CHANGED
|
@@ -1,127 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { defineEvent } from "./libs/contracts/dist/events.js";
|
|
3
|
-
import "./libs/contracts/dist/index.js";
|
|
4
|
-
import { ScalarTypeEnum } from "./libs/schema/dist/ScalarTypeEnum.js";
|
|
5
|
-
import "./libs/schema/dist/index.js";
|
|
6
|
-
|
|
7
|
-
//#region src/events.ts
|
|
8
|
-
const KbChangeDetectedPayload = defineSchemaModel({
|
|
9
|
-
name: "KbChangeDetectedPayload",
|
|
10
|
-
description: "Emitted when a source change is detected.",
|
|
11
|
-
fields: {
|
|
12
|
-
changeCandidateId: {
|
|
13
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
14
|
-
isOptional: false
|
|
15
|
-
},
|
|
16
|
-
sourceDocumentId: {
|
|
17
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
18
|
-
isOptional: false
|
|
19
|
-
},
|
|
20
|
-
riskLevel: {
|
|
21
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
22
|
-
isOptional: false
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
const KbChangeDetectedEvent = defineEvent({
|
|
27
|
-
name: "kb.change.detected",
|
|
28
|
-
version: 1,
|
|
29
|
-
description: "KB source change detected.",
|
|
30
|
-
payload: KbChangeDetectedPayload
|
|
31
|
-
});
|
|
32
|
-
const KbChangeSummarizedPayload = defineSchemaModel({
|
|
33
|
-
name: "KbChangeSummarizedPayload",
|
|
34
|
-
description: "Emitted when a change summary is produced.",
|
|
35
|
-
fields: {
|
|
36
|
-
changeCandidateId: {
|
|
37
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
38
|
-
isOptional: false
|
|
39
|
-
},
|
|
40
|
-
summary: {
|
|
41
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
42
|
-
isOptional: false
|
|
43
|
-
},
|
|
44
|
-
riskLevel: {
|
|
45
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
46
|
-
isOptional: false
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
const KbChangeSummarizedEvent = defineEvent({
|
|
51
|
-
name: "kb.change.summarized",
|
|
52
|
-
version: 1,
|
|
53
|
-
description: "KB change summarized.",
|
|
54
|
-
payload: KbChangeSummarizedPayload
|
|
55
|
-
});
|
|
56
|
-
const KbPatchProposedPayload = defineSchemaModel({
|
|
57
|
-
name: "KbPatchProposedPayload",
|
|
58
|
-
description: "Emitted when draft rule patches are proposed.",
|
|
59
|
-
fields: {
|
|
60
|
-
changeCandidateId: {
|
|
61
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
62
|
-
isOptional: false
|
|
63
|
-
},
|
|
64
|
-
proposedRuleVersionIds: {
|
|
65
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
66
|
-
isArray: true,
|
|
67
|
-
isOptional: false
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
const KbPatchProposedEvent = defineEvent({
|
|
72
|
-
name: "kb.patch.proposed",
|
|
73
|
-
version: 1,
|
|
74
|
-
description: "KB rule patch proposed (draft versions created).",
|
|
75
|
-
payload: KbPatchProposedPayload
|
|
76
|
-
});
|
|
77
|
-
const KbReviewRequestedPayload = defineSchemaModel({
|
|
78
|
-
name: "KbReviewRequestedPayload",
|
|
79
|
-
description: "Emitted when a review is requested.",
|
|
80
|
-
fields: {
|
|
81
|
-
reviewTaskId: {
|
|
82
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
83
|
-
isOptional: false
|
|
84
|
-
},
|
|
85
|
-
changeCandidateId: {
|
|
86
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
87
|
-
isOptional: false
|
|
88
|
-
},
|
|
89
|
-
assignedRole: {
|
|
90
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
91
|
-
isOptional: false
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
const KbReviewRequestedEvent = defineEvent({
|
|
96
|
-
name: "kb.review.requested",
|
|
97
|
-
version: 1,
|
|
98
|
-
description: "KB review requested.",
|
|
99
|
-
payload: KbReviewRequestedPayload
|
|
100
|
-
});
|
|
101
|
-
const KbReviewDecidedPayload = defineSchemaModel({
|
|
102
|
-
name: "KbReviewDecidedPayload",
|
|
103
|
-
description: "Emitted when a review task is decided.",
|
|
104
|
-
fields: {
|
|
105
|
-
reviewTaskId: {
|
|
106
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
107
|
-
isOptional: false
|
|
108
|
-
},
|
|
109
|
-
decision: {
|
|
110
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
111
|
-
isOptional: false
|
|
112
|
-
},
|
|
113
|
-
decidedBy: {
|
|
114
|
-
type: ScalarTypeEnum.String_unsecure(),
|
|
115
|
-
isOptional: false
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
const KbReviewDecidedEvent = defineEvent({
|
|
120
|
-
name: "kb.review.decided",
|
|
121
|
-
version: 1,
|
|
122
|
-
description: "KB review decided.",
|
|
123
|
-
payload: KbReviewDecidedPayload
|
|
124
|
-
});
|
|
125
|
-
|
|
126
|
-
//#endregion
|
|
127
|
-
export { KbChangeDetectedEvent, KbChangeSummarizedEvent, KbPatchProposedEvent, KbReviewDecidedEvent, KbReviewRequestedEvent };
|
|
1
|
+
import{defineEvent as e,defineSchemaModel as t}from"@lssm/lib.contracts";import{ScalarTypeEnum as n}from"@lssm/lib.schema";const r=e({name:`kb.change.detected`,version:1,description:`KB source change detected.`,payload:t({name:`KbChangeDetectedPayload`,description:`Emitted when a source change is detected.`,fields:{changeCandidateId:{type:n.String_unsecure(),isOptional:!1},sourceDocumentId:{type:n.String_unsecure(),isOptional:!1},riskLevel:{type:n.String_unsecure(),isOptional:!1}}})}),i=e({name:`kb.change.summarized`,version:1,description:`KB change summarized.`,payload:t({name:`KbChangeSummarizedPayload`,description:`Emitted when a change summary is produced.`,fields:{changeCandidateId:{type:n.String_unsecure(),isOptional:!1},summary:{type:n.String_unsecure(),isOptional:!1},riskLevel:{type:n.String_unsecure(),isOptional:!1}}})}),a=e({name:`kb.patch.proposed`,version:1,description:`KB rule patch proposed (draft versions created).`,payload:t({name:`KbPatchProposedPayload`,description:`Emitted when draft rule patches are proposed.`,fields:{changeCandidateId:{type:n.String_unsecure(),isOptional:!1},proposedRuleVersionIds:{type:n.String_unsecure(),isArray:!0,isOptional:!1}}})}),o=e({name:`kb.review.requested`,version:1,description:`KB review requested.`,payload:t({name:`KbReviewRequestedPayload`,description:`Emitted when a review is requested.`,fields:{reviewTaskId:{type:n.String_unsecure(),isOptional:!1},changeCandidateId:{type:n.String_unsecure(),isOptional:!1},assignedRole:{type:n.String_unsecure(),isOptional:!1}}})}),s=e({name:`kb.review.decided`,version:1,description:`KB review decided.`,payload:t({name:`KbReviewDecidedPayload`,description:`Emitted when a review task is decided.`,fields:{reviewTaskId:{type:n.String_unsecure(),isOptional:!1},decision:{type:n.String_unsecure(),isOptional:!1},decidedBy:{type:n.String_unsecure(),isOptional:!1}}})});export{r as KbChangeDetectedEvent,i as KbChangeSummarizedEvent,a as KbPatchProposedEvent,s as KbReviewDecidedEvent,o as KbReviewRequestedEvent};
|
package/dist/example.js
CHANGED
|
@@ -1,42 +1 @@
|
|
|
1
|
-
|
|
2
|
-
const example = {
|
|
3
|
-
id: "kb-update-pipeline",
|
|
4
|
-
title: "KB Update Pipeline",
|
|
5
|
-
summary: "Automation proposes KB updates; humans verify; everything audited and notified.",
|
|
6
|
-
tags: [
|
|
7
|
-
"knowledge",
|
|
8
|
-
"pipeline",
|
|
9
|
-
"hitl",
|
|
10
|
-
"audit"
|
|
11
|
-
],
|
|
12
|
-
kind: "knowledge",
|
|
13
|
-
visibility: "public",
|
|
14
|
-
docs: { rootDocId: "docs.examples.kb-update-pipeline" },
|
|
15
|
-
entrypoints: {
|
|
16
|
-
packageName: "@lssm/example.kb-update-pipeline",
|
|
17
|
-
feature: "./feature",
|
|
18
|
-
contracts: "./contracts",
|
|
19
|
-
handlers: "./handlers",
|
|
20
|
-
docs: "./docs"
|
|
21
|
-
},
|
|
22
|
-
surfaces: {
|
|
23
|
-
templates: true,
|
|
24
|
-
sandbox: {
|
|
25
|
-
enabled: true,
|
|
26
|
-
modes: [
|
|
27
|
-
"markdown",
|
|
28
|
-
"specs",
|
|
29
|
-
"builder"
|
|
30
|
-
]
|
|
31
|
-
},
|
|
32
|
-
studio: {
|
|
33
|
-
enabled: true,
|
|
34
|
-
installable: true
|
|
35
|
-
},
|
|
36
|
-
mcp: { enabled: true }
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
var example_default = example;
|
|
40
|
-
|
|
41
|
-
//#endregion
|
|
42
|
-
export { example_default as default };
|
|
1
|
+
var e={id:`kb-update-pipeline`,title:`KB Update Pipeline`,summary:`Automation proposes KB updates; humans verify; everything audited and notified.`,tags:[`knowledge`,`pipeline`,`hitl`,`audit`],kind:`knowledge`,visibility:`public`,docs:{rootDocId:`docs.examples.kb-update-pipeline`},entrypoints:{packageName:`@lssm/example.kb-update-pipeline`,feature:`./feature`,contracts:`./contracts`,handlers:`./handlers`,docs:`./docs`},surfaces:{templates:!0,sandbox:{enabled:!0,modes:[`markdown`,`specs`,`builder`]},studio:{enabled:!0,installable:!0},mcp:{enabled:!0}}};export{e as default};
|
package/dist/feature.js
CHANGED
|
@@ -1,78 +1 @@
|
|
|
1
|
-
|
|
2
|
-
const KbUpdatePipelineFeature = {
|
|
3
|
-
meta: {
|
|
4
|
-
key: "kb-update-pipeline",
|
|
5
|
-
title: "KB Update Pipeline (HITL)",
|
|
6
|
-
description: "Automation proposes KB patches; humans verify; publishing is blocked until approvals are complete.",
|
|
7
|
-
domain: "knowledge",
|
|
8
|
-
owners: ["@examples"],
|
|
9
|
-
tags: [
|
|
10
|
-
"knowledge",
|
|
11
|
-
"pipeline",
|
|
12
|
-
"hitl",
|
|
13
|
-
"audit",
|
|
14
|
-
"notifications"
|
|
15
|
-
],
|
|
16
|
-
stability: "experimental"
|
|
17
|
-
},
|
|
18
|
-
operations: [
|
|
19
|
-
{
|
|
20
|
-
name: "kbPipeline.runWatch",
|
|
21
|
-
version: 1
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
name: "kbPipeline.createReviewTask",
|
|
25
|
-
version: 1
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
name: "kbPipeline.submitDecision",
|
|
29
|
-
version: 1
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
name: "kbPipeline.publishIfReady",
|
|
33
|
-
version: 1
|
|
34
|
-
}
|
|
35
|
-
],
|
|
36
|
-
events: [
|
|
37
|
-
{
|
|
38
|
-
name: "kb.change.detected",
|
|
39
|
-
version: 1
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
name: "kb.change.summarized",
|
|
43
|
-
version: 1
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
name: "kb.patch.proposed",
|
|
47
|
-
version: 1
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
name: "kb.review.requested",
|
|
51
|
-
version: 1
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
name: "kb.review.decided",
|
|
55
|
-
version: 1
|
|
56
|
-
}
|
|
57
|
-
],
|
|
58
|
-
presentations: [],
|
|
59
|
-
opToPresentation: [],
|
|
60
|
-
presentationsTargets: [],
|
|
61
|
-
capabilities: { requires: [
|
|
62
|
-
{
|
|
63
|
-
key: "identity",
|
|
64
|
-
version: 1
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
key: "notifications",
|
|
68
|
-
version: 1
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
key: "audit-trail",
|
|
72
|
-
version: 1
|
|
73
|
-
}
|
|
74
|
-
] }
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
//#endregion
|
|
78
|
-
export { KbUpdatePipelineFeature };
|
|
1
|
+
const e={meta:{key:`kb-update-pipeline`,title:`KB Update Pipeline (HITL)`,description:`Automation proposes KB patches; humans verify; publishing is blocked until approvals are complete.`,domain:`knowledge`,owners:[`@examples`],tags:[`knowledge`,`pipeline`,`hitl`,`audit`,`notifications`],stability:`experimental`},operations:[{name:`kbPipeline.runWatch`,version:1},{name:`kbPipeline.createReviewTask`,version:1},{name:`kbPipeline.submitDecision`,version:1},{name:`kbPipeline.publishIfReady`,version:1}],events:[{name:`kb.change.detected`,version:1},{name:`kb.change.summarized`,version:1},{name:`kb.patch.proposed`,version:1},{name:`kb.review.requested`,version:1},{name:`kb.review.decided`,version:1}],presentations:[],opToPresentation:[],presentationsTargets:[],capabilities:{requires:[{key:`identity`,version:1},{key:`notifications`,version:1},{key:`audit-trail`,version:1}]}};export{e as KbUpdatePipelineFeature};
|
package/dist/handlers/index.js
CHANGED
|
@@ -1,3 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export { createPipelineMemoryHandlers, createPipelineMemoryStore };
|
|
1
|
+
import{createPipelineMemoryHandlers as e,createPipelineMemoryStore as t}from"./memory.handlers.js";export{e as createPipelineMemoryHandlers,t as createPipelineMemoryStore};
|