@contractspec/example.policy-safe-knowledge-assistant 1.46.1 → 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 +50 -30
- package/.turbo/turbo-build.log +49 -29
- package/CHANGELOG.md +46 -0
- package/README.md +7 -8
- package/dist/example.d.ts +2 -2
- package/dist/example.d.ts.map +1 -1
- package/dist/example.js +5 -3
- package/dist/example.js.map +1 -1
- package/dist/handlers/index.d.ts +2 -0
- package/dist/handlers/index.js +3 -0
- package/dist/handlers/policy-safe-knowledge-assistant.handlers.d.ts +127 -0
- package/dist/handlers/policy-safe-knowledge-assistant.handlers.d.ts.map +1 -0
- package/dist/handlers/policy-safe-knowledge-assistant.handlers.js +264 -0
- package/dist/handlers/policy-safe-knowledge-assistant.handlers.js.map +1 -0
- package/dist/index.d.ts +5 -2
- package/dist/index.js +5 -2
- package/dist/orchestrator/buildAnswer.js.map +1 -1
- package/dist/policy-safe-knowledge-assistant.feature.d.ts +7 -0
- package/dist/policy-safe-knowledge-assistant.feature.d.ts.map +1 -0
- package/dist/{feature.js → policy-safe-knowledge-assistant.feature.js} +6 -4
- package/dist/policy-safe-knowledge-assistant.feature.js.map +1 -0
- package/dist/seeders/index.d.ts +10 -0
- package/dist/seeders/index.d.ts.map +1 -0
- package/dist/seeders/index.js +16 -0
- package/dist/seeders/index.js.map +1 -0
- package/dist/ui/PolicySafeKnowledgeAssistantDashboard.d.ts +7 -0
- package/dist/ui/PolicySafeKnowledgeAssistantDashboard.d.ts.map +1 -0
- package/dist/ui/PolicySafeKnowledgeAssistantDashboard.js +231 -0
- package/dist/ui/PolicySafeKnowledgeAssistantDashboard.js.map +1 -0
- package/dist/ui/hooks/usePolicySafeKnowledgeAssistant.d.ts +55 -0
- package/dist/ui/hooks/usePolicySafeKnowledgeAssistant.d.ts.map +1 -0
- package/dist/ui/hooks/usePolicySafeKnowledgeAssistant.js +193 -0
- package/dist/ui/hooks/usePolicySafeKnowledgeAssistant.js.map +1 -0
- package/dist/ui/index.d.ts +2 -0
- package/dist/ui/index.js +3 -0
- package/package.json +27 -15
- package/src/example.ts +4 -4
- package/src/handlers/index.ts +1 -0
- package/src/handlers/policy-safe-knowledge-assistant.handlers.ts +476 -0
- package/src/index.ts +3 -1
- package/src/{feature.ts → policy-safe-knowledge-assistant.feature.ts} +3 -3
- package/src/seeders/index.ts +20 -0
- package/src/ui/PolicySafeKnowledgeAssistantDashboard.tsx +206 -0
- package/src/ui/hooks/usePolicySafeKnowledgeAssistant.ts +229 -0
- package/src/ui/index.ts +1 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/IMPLEMENTATION_SKETCH.md +0 -40
- package/dist/feature.d.ts +0 -7
- package/dist/feature.d.ts.map +0 -1
- package/dist/feature.js.map +0 -1
package/IMPLEMENTATION_SKETCH.md
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
## Implementation sketch — Policy-safe Knowledge Assistant (example)
|
|
2
|
-
|
|
3
|
-
This example package is **spec-first** and demonstrates how to compose:
|
|
4
|
-
|
|
5
|
-
- `@contractspec/example.locale-jurisdiction-gate`
|
|
6
|
-
- `@contractspec/example.versioned-knowledge-base`
|
|
7
|
-
- `@contractspec/example.kb-update-pipeline`
|
|
8
|
-
- `@contractspec/example.learning-patterns`
|
|
9
|
-
|
|
10
|
-
The runnable **sandbox UI/runtime** lives in `@contractspec/bundle.studio` (wired later).
|
|
11
|
-
|
|
12
|
-
### Package boundaries
|
|
13
|
-
|
|
14
|
-
- **Gate**: validates `locale`, `jurisdiction`, `kbSnapshotId`, `allowedScope`. Refuses if citations are missing or scope is violated.
|
|
15
|
-
- **Versioned KB**: stores immutable sources and versioned rules; publishes snapshots containing only approved rule versions.
|
|
16
|
-
- **Update Pipeline (HITL)**: detects changes, creates review tasks, gates approvals by risk level; publishing remains blocked until all proposed rule versions are approved.
|
|
17
|
-
- **Learning patterns**: drills/coach/quests as event-driven Learning Journey tracks.
|
|
18
|
-
|
|
19
|
-
### Key invariants (fail-closed)
|
|
20
|
-
|
|
21
|
-
- No assistant call without explicit `locale` and `jurisdiction`.
|
|
22
|
-
- No assistant answer without at least one citation referencing a **KB snapshot**.
|
|
23
|
-
- Snapshot publishing includes only approved rule versions and is jurisdiction-scoped.
|
|
24
|
-
- High-risk KB changes require expert approval.
|
|
25
|
-
|
|
26
|
-
### What is stubbed vs real
|
|
27
|
-
|
|
28
|
-
- **LLM**: stubbed/deterministic (no external calls). Answers are derived from KB search results.
|
|
29
|
-
- **Source fetching**: stubbed/offline fixtures (no web truth).
|
|
30
|
-
- **Storage**: in tests, in-memory stores; in sandbox, browser SQLite + IndexedDB.
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
package/dist/feature.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { FeatureModuleSpec } from "@contractspec/lib.contracts";
|
|
2
|
-
|
|
3
|
-
//#region src/feature.d.ts
|
|
4
|
-
declare const PolicySafeKnowledgeAssistantFeature: FeatureModuleSpec;
|
|
5
|
-
//#endregion
|
|
6
|
-
export { PolicySafeKnowledgeAssistantFeature };
|
|
7
|
-
//# sourceMappingURL=feature.d.ts.map
|
package/dist/feature.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"feature.d.ts","names":[],"sources":["../src/feature.ts"],"sourcesContent":[],"mappings":";;;cAEa,qCAAqC"}
|
package/dist/feature.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"feature.js","names":["PolicySafeKnowledgeAssistantFeature: FeatureModuleSpec"],"sources":["../src/feature.ts"],"sourcesContent":["import type { FeatureModuleSpec } from '@contractspec/lib.contracts';\n\nexport const PolicySafeKnowledgeAssistantFeature: FeatureModuleSpec = {\n meta: {\n key: 'policy-safe-knowledge-assistant',\n version: '1.0.0',\n title: 'Policy-safe Knowledge Assistant',\n description:\n 'All-in-one example composing locale/jurisdiction gate + versioned KB + HITL pipeline + learning hub.',\n domain: 'knowledge',\n owners: ['@examples'],\n tags: ['assistant', 'knowledge', 'policy', 'hitl', 'learning'],\n stability: 'experimental',\n },\n operations: [\n // Gate\n { key: 'assistant.answer', version: '1.0.0' },\n { key: 'assistant.explainConcept', version: '1.0.0' },\n // KB\n { key: 'kb.ingestSource', version: '1.0.0' },\n { key: 'kb.upsertRuleVersion', version: '1.0.0' },\n { key: 'kb.approveRuleVersion', version: '1.0.0' },\n { key: 'kb.publishSnapshot', version: '1.0.0' },\n { key: 'kb.search', version: '1.0.0' },\n // Pipeline\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: 'assistant.answer.requested', version: '1.0.0' },\n { key: 'assistant.answer.blocked', version: '1.0.0' },\n { key: 'assistant.answer.delivered', version: '1.0.0' },\n { key: 'kb.source.ingested', version: '1.0.0' },\n { key: 'kb.ruleVersion.created', version: '1.0.0' },\n { key: 'kb.ruleVersion.approved', version: '1.0.0' },\n { key: 'kb.snapshot.published', version: '1.0.0' },\n { key: 'kb.change.detected', 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 opToPresentation: [],\n presentationsTargets: [],\n capabilities: {\n requires: [\n { key: 'identity', version: '1.0.0' },\n { key: 'audit-trail', version: '1.0.0' },\n { key: 'notifications', version: '1.0.0' },\n { key: 'jobs', version: '1.0.0' },\n { key: 'feature-flags', version: '1.0.0' },\n { key: 'files', version: '1.0.0' },\n { key: 'metering', version: '1.0.0' },\n { key: 'learning-journey', version: '1.0.0' },\n ],\n },\n};\n"],"mappings":";AAEA,MAAaA,sCAAyD;CACpE,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aACE;EACF,QAAQ;EACR,QAAQ,CAAC,YAAY;EACrB,MAAM;GAAC;GAAa;GAAa;GAAU;GAAQ;GAAW;EAC9D,WAAW;EACZ;CACD,YAAY;EAEV;GAAE,KAAK;GAAoB,SAAS;GAAS;EAC7C;GAAE,KAAK;GAA4B,SAAS;GAAS;EAErD;GAAE,KAAK;GAAmB,SAAS;GAAS;EAC5C;GAAE,KAAK;GAAwB,SAAS;GAAS;EACjD;GAAE,KAAK;GAAyB,SAAS;GAAS;EAClD;GAAE,KAAK;GAAsB,SAAS;GAAS;EAC/C;GAAE,KAAK;GAAa,SAAS;GAAS;EAEtC;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;GAA8B,SAAS;GAAS;EACvD;GAAE,KAAK;GAA4B,SAAS;GAAS;EACrD;GAAE,KAAK;GAA8B,SAAS;GAAS;EACvD;GAAE,KAAK;GAAsB,SAAS;GAAS;EAC/C;GAAE,KAAK;GAA0B,SAAS;GAAS;EACnD;GAAE,KAAK;GAA2B,SAAS;GAAS;EACpD;GAAE,KAAK;GAAyB,SAAS;GAAS;EAClD;GAAE,KAAK;GAAsB,SAAS;GAAS;EAC/C;GAAE,KAAK;GAAuB,SAAS;GAAS;EAChD;GAAE,KAAK;GAAqB,SAAS;GAAS;EAC/C;CACD,eAAe,EAAE;CACjB,kBAAkB,EAAE;CACpB,sBAAsB,EAAE;CACxB,cAAc,EACZ,UAAU;EACR;GAAE,KAAK;GAAY,SAAS;GAAS;EACrC;GAAE,KAAK;GAAe,SAAS;GAAS;EACxC;GAAE,KAAK;GAAiB,SAAS;GAAS;EAC1C;GAAE,KAAK;GAAQ,SAAS;GAAS;EACjC;GAAE,KAAK;GAAiB,SAAS;GAAS;EAC1C;GAAE,KAAK;GAAS,SAAS;GAAS;EAClC;GAAE,KAAK;GAAY,SAAS;GAAS;EACrC;GAAE,KAAK;GAAoB,SAAS;GAAS;EAC9C,EACF;CACF"}
|