@sentropic/focus 0.3.0 → 0.5.0-rc.10

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.
Files changed (97) hide show
  1. package/README.md +9 -0
  2. package/dist/cli/index.d.ts.map +1 -1
  3. package/dist/editing/anchors.d.ts +14 -0
  4. package/dist/editing/anchors.d.ts.map +1 -0
  5. package/dist/editing/anchors.js +113 -0
  6. package/dist/editing/anchors.js.map +1 -0
  7. package/dist/editing/codec.d.ts +24 -0
  8. package/dist/editing/codec.d.ts.map +1 -0
  9. package/dist/editing/codec.js +143 -0
  10. package/dist/editing/codec.js.map +1 -0
  11. package/dist/editing/contract.d.ts +129 -0
  12. package/dist/editing/contract.d.ts.map +1 -0
  13. package/dist/editing/contract.js +76 -0
  14. package/dist/editing/contract.js.map +1 -0
  15. package/dist/editing/diff.d.ts +12 -0
  16. package/dist/editing/diff.d.ts.map +1 -0
  17. package/dist/editing/diff.js +125 -0
  18. package/dist/editing/diff.js.map +1 -0
  19. package/dist/editing/digest.d.ts +6 -0
  20. package/dist/editing/digest.d.ts.map +1 -0
  21. package/dist/editing/digest.js +56 -0
  22. package/dist/editing/digest.js.map +1 -0
  23. package/dist/editing/index.d.ts +7 -0
  24. package/dist/editing/index.d.ts.map +1 -0
  25. package/dist/editing/index.js +7 -0
  26. package/dist/editing/index.js.map +1 -0
  27. package/dist/editing/reconcile.d.ts +66 -0
  28. package/dist/editing/reconcile.d.ts.map +1 -0
  29. package/dist/editing/reconcile.js +167 -0
  30. package/dist/editing/reconcile.js.map +1 -0
  31. package/dist/editing/structure.d.ts +24 -0
  32. package/dist/editing/structure.d.ts.map +1 -0
  33. package/dist/editing/structure.js +71 -0
  34. package/dist/editing/structure.js.map +1 -0
  35. package/dist/index.d.ts +4 -1
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +2 -0
  38. package/dist/index.js.map +1 -1
  39. package/dist/model.d.ts +144 -2
  40. package/dist/model.d.ts.map +1 -1
  41. package/dist/model.js +1 -1
  42. package/dist/model.js.map +1 -1
  43. package/dist/registry/definitions.d.ts +159 -0
  44. package/dist/registry/definitions.d.ts.map +1 -0
  45. package/dist/registry/definitions.js +509 -0
  46. package/dist/registry/definitions.js.map +1 -0
  47. package/dist/render/evidence.d.ts +10 -0
  48. package/dist/render/evidence.d.ts.map +1 -0
  49. package/dist/render/evidence.js +37 -0
  50. package/dist/render/evidence.js.map +1 -0
  51. package/dist/render/html.d.ts.map +1 -1
  52. package/dist/render/html.js +14 -1
  53. package/dist/render/html.js.map +1 -1
  54. package/dist/render/md.d.ts.map +1 -1
  55. package/dist/render/md.js +15 -1
  56. package/dist/render/md.js.map +1 -1
  57. package/dist/render/presentation.d.ts +4 -0
  58. package/dist/render/presentation.d.ts.map +1 -0
  59. package/dist/render/presentation.js +25 -0
  60. package/dist/render/presentation.js.map +1 -0
  61. package/dist/render/terminal.d.ts.map +1 -1
  62. package/dist/render/terminal.js +15 -1
  63. package/dist/render/terminal.js.map +1 -1
  64. package/dist/track/index.d.ts.map +1 -1
  65. package/dist/track/index.js +24 -10
  66. package/dist/track/index.js.map +1 -1
  67. package/dist/validation/evidence-bytes.d.ts +5 -0
  68. package/dist/validation/evidence-bytes.d.ts.map +1 -0
  69. package/dist/validation/evidence-bytes.js +57 -0
  70. package/dist/validation/evidence-bytes.js.map +1 -0
  71. package/dist/validation/evidence-shape.d.ts +12 -0
  72. package/dist/validation/evidence-shape.d.ts.map +1 -0
  73. package/dist/validation/evidence-shape.js +54 -0
  74. package/dist/validation/evidence-shape.js.map +1 -0
  75. package/dist/validation/evidence-sources.d.ts +7 -0
  76. package/dist/validation/evidence-sources.d.ts.map +1 -0
  77. package/dist/validation/evidence-sources.js +56 -0
  78. package/dist/validation/evidence-sources.js.map +1 -0
  79. package/dist/validation/evidence.d.ts +5 -0
  80. package/dist/validation/evidence.d.ts.map +1 -0
  81. package/dist/validation/evidence.js +131 -0
  82. package/dist/validation/evidence.js.map +1 -0
  83. package/dist/validation/index.d.ts +59 -0
  84. package/dist/validation/index.d.ts.map +1 -0
  85. package/dist/validation/index.js +500 -0
  86. package/dist/validation/index.js.map +1 -0
  87. package/dist/validation/readability.d.ts +28 -0
  88. package/dist/validation/readability.d.ts.map +1 -0
  89. package/dist/validation/readability.js +265 -0
  90. package/dist/validation/readability.js.map +1 -0
  91. package/package.json +36 -8
  92. package/registry/entries.v1.json +140 -0
  93. package/schemas/decision-dossier-document.v1.schema.json +193 -0
  94. package/schemas/decision-dossier-document.v2.schema.json +925 -0
  95. package/schemas/focus-edit-return.v1.schema.json +950 -0
  96. package/schemas/focus-editing-manifest.v1.schema.json +167 -0
  97. package/skills/focus/SKILL.md +181 -0
@@ -0,0 +1,193 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "urn:sentropic:focus:DecisionDossierDocument:1.0.0",
4
+ "title": "DecisionDossierDocument",
5
+ "description": "Read-only decision-dossier snapshot published by @sentropic/focus. Closed: unknown fields refuse. Snapshot interactions are disabled metadata (enabled:false); live decisions, signatures and amendments require separately qualified runtime capabilities.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": ["ref", "subject", "title", "hash", "cursor", "sections", "interactions", "provenance", "amendmentTrace"],
9
+ "properties": {
10
+ "ref": { "type": "string" },
11
+ "subject": { "type": "string" },
12
+ "title": { "type": "string" },
13
+ "hash": { "type": "string" },
14
+ "cursor": { "type": "string" },
15
+ "sections": { "type": "array", "items": { "$ref": "#/$defs/section" } },
16
+ "interactions": { "type": "array", "items": { "$ref": "#/$defs/interaction" } },
17
+ "provenance": { "$ref": "#/$defs/provenance" },
18
+ "amendmentTrace": { "type": "array", "items": { "$ref": "#/$defs/amendmentStep" } },
19
+ "readability": { "$ref": "#/$defs/readability" }
20
+ },
21
+ "$defs": {
22
+ "readability": {
23
+ "type": "object",
24
+ "additionalProperties": false,
25
+ "properties": {
26
+ "ownerRequestQuote": { "type": "string" },
27
+ "noOwnerRequest": { "type": "boolean" },
28
+ "stakes": { "type": "string" },
29
+ "stakesLevel": { "enum": ["low", "medium", "high"] },
30
+ "readingBudgetMinutes": { "type": "number" },
31
+ "glossary": { "type": "array", "items": { "$ref": "#/$defs/glossaryEntry" } }
32
+ }
33
+ },
34
+ "glossaryEntry": {
35
+ "type": "object",
36
+ "additionalProperties": false,
37
+ "required": ["term", "definition"],
38
+ "properties": {
39
+ "term": { "type": "string" },
40
+ "definition": { "type": "string" }
41
+ }
42
+ },
43
+ "section": {
44
+ "oneOf": [
45
+ { "$ref": "#/$defs/proseNode" },
46
+ { "$ref": "#/$defs/questionNode" },
47
+ { "$ref": "#/$defs/optionSetNode" },
48
+ { "$ref": "#/$defs/outcomeNode" },
49
+ { "$ref": "#/$defs/amendmentTraceNode" },
50
+ { "$ref": "#/$defs/diagramNode" }
51
+ ]
52
+ },
53
+ "proseNode": {
54
+ "type": "object",
55
+ "additionalProperties": false,
56
+ "required": ["kind", "id", "targetRef", "markdown"],
57
+ "properties": {
58
+ "kind": { "const": "prose" },
59
+ "id": { "type": "string" },
60
+ "targetRef": { "type": "string" },
61
+ "markdown": { "type": "string" },
62
+ "questionId": { "type": "string" }
63
+ }
64
+ },
65
+ "questionNode": {
66
+ "type": "object",
67
+ "additionalProperties": false,
68
+ "required": ["kind", "id", "targetRef", "question", "state"],
69
+ "properties": {
70
+ "kind": { "const": "question" },
71
+ "id": { "type": "string" },
72
+ "targetRef": { "type": "string" },
73
+ "question": { "type": "string" },
74
+ "recommendedAnswer": { "type": "string" },
75
+ "answer": { "type": "string" },
76
+ "state": { "enum": ["open", "answered", "validated"] },
77
+ "context": { "type": "string" },
78
+ "readingTimeMinutes": { "type": "number" },
79
+ "recommendedOptionId": { "type": "string" }
80
+ }
81
+ },
82
+ "optionNode": {
83
+ "type": "object",
84
+ "additionalProperties": false,
85
+ "required": ["kind", "id", "targetRef", "label", "annotation"],
86
+ "properties": {
87
+ "kind": { "const": "option" },
88
+ "id": { "type": "string" },
89
+ "targetRef": { "type": "string" },
90
+ "label": { "type": "string" },
91
+ "body": { "type": "string" },
92
+ "annotation": { "enum": ["none", "accept", "reject", "comment"] },
93
+ "annotationComment": { "type": "string" },
94
+ "consequence": { "type": "string" }
95
+ }
96
+ },
97
+ "optionSetNode": {
98
+ "type": "object",
99
+ "additionalProperties": false,
100
+ "required": ["kind", "id", "targetRef", "options"],
101
+ "properties": {
102
+ "kind": { "const": "optionSet" },
103
+ "id": { "type": "string" },
104
+ "targetRef": { "type": "string" },
105
+ "title": { "type": "string" },
106
+ "options": { "type": "array", "items": { "$ref": "#/$defs/optionNode" } },
107
+ "questionId": { "type": "string" }
108
+ }
109
+ },
110
+ "outcomeNode": {
111
+ "type": "object",
112
+ "additionalProperties": false,
113
+ "required": ["kind", "id", "targetRef", "modality", "statement"],
114
+ "properties": {
115
+ "kind": { "const": "outcome" },
116
+ "id": { "type": "string" },
117
+ "targetRef": { "type": "string" },
118
+ "modality": { "enum": ["decision", "orientation", "amendment", "comment"] },
119
+ "statement": { "type": "string" },
120
+ "questionId": { "type": "string" }
121
+ }
122
+ },
123
+ "amendmentTraceNode": {
124
+ "type": "object",
125
+ "additionalProperties": false,
126
+ "required": ["kind", "id", "targetRef", "steps"],
127
+ "properties": {
128
+ "kind": { "const": "amendmentTrace" },
129
+ "id": { "type": "string" },
130
+ "targetRef": { "type": "string" },
131
+ "steps": { "type": "array", "items": { "$ref": "#/$defs/amendmentStep" } }
132
+ }
133
+ },
134
+ "diagramNode": {
135
+ "type": "object",
136
+ "additionalProperties": false,
137
+ "required": ["kind", "id", "targetRef", "syntax", "source", "alt"],
138
+ "properties": {
139
+ "kind": { "const": "diagram" },
140
+ "id": { "type": "string" },
141
+ "targetRef": { "type": "string" },
142
+ "syntax": { "enum": ["mermaid", "plantuml"] },
143
+ "source": { "type": "string" },
144
+ "alt": { "type": "string" },
145
+ "scene": {
146
+ "type": "object",
147
+ "description": "diagram-core SemanticDocument, profile generic@1, without views, geometry or layout hints. Opaque JSON until the design-system publishes its authoritative schema; no Focus-specific scene model."
148
+ }
149
+ }
150
+ },
151
+ "interaction": {
152
+ "type": "object",
153
+ "additionalProperties": false,
154
+ "required": ["name", "targetRef", "label", "enabled"],
155
+ "properties": {
156
+ "name": { "type": "string" },
157
+ "targetRef": { "type": "string" },
158
+ "label": { "type": "string" },
159
+ "enabled": { "const": false }
160
+ }
161
+ },
162
+ "comprehensionEvidence": {
163
+ "type": "object",
164
+ "additionalProperties": false,
165
+ "required": ["subject", "dossierHash"],
166
+ "properties": {
167
+ "subject": { "type": "string" },
168
+ "dossierHash": { "type": "string" },
169
+ "signature": { "type": "string" }
170
+ }
171
+ },
172
+ "provenance": {
173
+ "type": "object",
174
+ "additionalProperties": false,
175
+ "required": ["source", "readAt"],
176
+ "properties": {
177
+ "source": { "type": "string" },
178
+ "readAt": { "type": "string" },
179
+ "comprehensionEvidence": { "$ref": "#/$defs/comprehensionEvidence" }
180
+ }
181
+ },
182
+ "amendmentStep": {
183
+ "type": "object",
184
+ "additionalProperties": false,
185
+ "required": ["at", "author", "summary"],
186
+ "properties": {
187
+ "at": { "type": "string" },
188
+ "author": { "type": "string" },
189
+ "summary": { "type": "string" }
190
+ }
191
+ }
192
+ }
193
+ }