@n8r/surface 0.0.0-stage → 0.1.0-experimental.5

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 (181) hide show
  1. package/LICENSE +202 -0
  2. package/LICENSE-DOCS +395 -0
  3. package/LICENSING.md +36 -0
  4. package/README.md +207 -2
  5. package/dist/activity.d.ts +16 -0
  6. package/dist/activity.js +44 -0
  7. package/dist/cli.d.ts +2 -0
  8. package/dist/cli.js +412 -0
  9. package/dist/codec.d.ts +6 -0
  10. package/dist/codec.js +56 -0
  11. package/dist/codex.d.ts +72 -0
  12. package/dist/codex.js +526 -0
  13. package/dist/contracts.d.ts +235 -0
  14. package/dist/contracts.js +1 -0
  15. package/dist/cyclonedx-schemas/bom-1.7.schema.json +6700 -0
  16. package/dist/cyclonedx-schemas/cryptography-defs.schema.json +576 -0
  17. package/dist/cyclonedx-schemas/jsf-0.82.schema.json +240 -0
  18. package/dist/cyclonedx-schemas/spdx.schema.json +786 -0
  19. package/dist/cyclonedx-validation.d.ts +1 -0
  20. package/dist/cyclonedx-validation.js +45 -0
  21. package/dist/html.d.ts +5 -0
  22. package/dist/html.js +74 -0
  23. package/dist/index.d.ts +7 -0
  24. package/dist/index.js +5 -0
  25. package/dist/notes.d.ts +52 -0
  26. package/dist/notes.js +184 -0
  27. package/dist/portable.d.ts +10 -0
  28. package/dist/portable.js +71 -0
  29. package/dist/recent.d.ts +9 -0
  30. package/dist/recent.js +71 -0
  31. package/dist/revisions.d.ts +2 -0
  32. package/dist/revisions.js +60 -0
  33. package/dist/settings.d.ts +23 -0
  34. package/dist/settings.js +100 -0
  35. package/dist/setup.d.ts +9 -0
  36. package/dist/setup.js +161 -0
  37. package/dist/skill-artifacts-cli.d.ts +1 -0
  38. package/dist/skill-artifacts-cli.js +13 -0
  39. package/dist/skill-artifacts.d.ts +15 -0
  40. package/dist/skill-artifacts.js +184 -0
  41. package/dist/skill-cyclonedx.d.ts +26 -0
  42. package/dist/skill-cyclonedx.js +214 -0
  43. package/dist/skill-presentation.d.ts +10 -0
  44. package/dist/skill-presentation.js +108 -0
  45. package/dist/skill-surface-cli.d.ts +1 -0
  46. package/dist/skill-surface-cli.js +37 -0
  47. package/dist/skill-surface-store.d.ts +7 -0
  48. package/dist/skill-surface-store.js +126 -0
  49. package/dist/source-tools.d.ts +102 -0
  50. package/dist/source-tools.js +201 -0
  51. package/dist/startup.d.ts +7 -0
  52. package/dist/startup.js +74 -0
  53. package/dist/surface-bom.d.ts +73 -0
  54. package/dist/surface-bom.js +139 -0
  55. package/dist/surface-draft.d.ts +22 -0
  56. package/dist/surface-draft.js +112 -0
  57. package/dist/surface-instructions.d.ts +3 -0
  58. package/dist/surface-instructions.js +32 -0
  59. package/dist/surface-overview.d.ts +15 -0
  60. package/dist/surface-overview.js +86 -0
  61. package/dist/surface-store.d.ts +34 -0
  62. package/dist/surface-store.js +213 -0
  63. package/dist/surface-view.d.ts +3 -0
  64. package/dist/surface-view.js +50 -0
  65. package/dist/validate.d.ts +4 -0
  66. package/dist/validate.js +482 -0
  67. package/docs/n8r-surface/README.md +133 -0
  68. package/docs/n8r-surface/cli-bundles.md +72 -0
  69. package/docs/n8r-surface/codex-research-transcript.md +51 -0
  70. package/docs/n8r-surface/codex-research-verification.md +176 -0
  71. package/docs/n8r-surface/command-outcomes.md +711 -0
  72. package/docs/n8r-surface/contracts.md +220 -0
  73. package/docs/n8r-surface/critical-path.md +184 -0
  74. package/docs/n8r-surface/design.md +289 -0
  75. package/docs/n8r-surface/first-use-access.md +143 -0
  76. package/docs/n8r-surface/first-use-overview.md +262 -0
  77. package/docs/n8r-surface/getting-started.md +74 -0
  78. package/docs/n8r-surface/guided-journey-verification.md +137 -0
  79. package/docs/n8r-surface/host-contract.md +176 -0
  80. package/docs/n8r-surface/implementation-decisions.md +96 -0
  81. package/docs/n8r-surface/instance-first-research.md +209 -0
  82. package/docs/n8r-surface/npm-distribution.md +107 -0
  83. package/docs/n8r-surface/npm-release.md +315 -0
  84. package/docs/n8r-surface/product-direction.md +327 -0
  85. package/docs/n8r-surface/recreation-handoff.md +117 -0
  86. package/docs/n8r-surface/researcher-discovery.md +157 -0
  87. package/docs/n8r-surface/researcher-prepared-check.md +117 -0
  88. package/docs/n8r-surface/researcher-reconciliation-trial.md +149 -0
  89. package/docs/n8r-surface/researcher-repository-check.md +95 -0
  90. package/docs/n8r-surface/researcher-skeleton-check.md +84 -0
  91. package/docs/n8r-surface/researcher-skill-verification.md +725 -0
  92. package/docs/n8r-surface/researcher-skill.md +309 -0
  93. package/docs/n8r-surface/researcher-vault.md +134 -0
  94. package/docs/n8r-surface/save-reopen-transcript.md +211 -0
  95. package/docs/n8r-surface/save-reopen-verification.md +152 -0
  96. package/docs/n8r-surface/security-assurance-strategy.md +267 -0
  97. package/docs/n8r-surface/skill-bom-verification.md +142 -0
  98. package/docs/n8r-surface/skill-cyclonedx-verification.md +144 -0
  99. package/docs/n8r-surface/skill-cyclonedx.md +85 -0
  100. package/docs/n8r-surface/skill-manual.md +129 -0
  101. package/docs/n8r-surface/skill-surface-artifacts.md +234 -0
  102. package/docs/n8r-surface/skill-usefulness-verification.md +135 -0
  103. package/docs/n8r-surface/skill-workspace-automation.md +359 -0
  104. package/docs/n8r-surface/startup-human-check.md +172 -0
  105. package/docs/n8r-surface/startup-verification.md +161 -0
  106. package/docs/n8r-surface/startup.md +151 -0
  107. package/docs/n8r-surface/surface-description-contract.md +224 -0
  108. package/docs/n8r-surface/surface-descriptions.md +173 -0
  109. package/docs/n8r-surface/surface-relationships.md +231 -0
  110. package/docs/n8r-surface/surface-revisions-transcript.md +552 -0
  111. package/docs/n8r-surface/surface-revisions-verification.md +161 -0
  112. package/docs/n8r-surface/tester-candidate.md +158 -0
  113. package/docs/n8r-surface/vault-setup-verification.md +210 -0
  114. package/docs/n8r-surface/verification.md +117 -0
  115. package/docs/n8r-surface/versioning.md +172 -0
  116. package/docs/n8r-surface/workspace-human-check.md +101 -0
  117. package/docs/n8r-surface/workspace-installation.md +68 -0
  118. package/docs/n8r-surface/workspace-verification.md +350 -0
  119. package/docs/n8r-surface/workspace.md +83 -0
  120. package/examples/researcher/README.md +100 -0
  121. package/examples/researcher/composed.surface.json +430 -0
  122. package/examples/researcher/composed.surface.yaml +283 -0
  123. package/examples/researcher/cyclonedx/configured/README.md +7 -0
  124. package/examples/researcher/cyclonedx/configured/manifest.json +10 -0
  125. package/examples/researcher/cyclonedx/configured/mapping.json +323 -0
  126. package/examples/researcher/cyclonedx/configured/surface-records.json +1275 -0
  127. package/examples/researcher/cyclonedx/configured/surface.cdx.json +79 -0
  128. package/examples/researcher/descriptions/README.md +29 -0
  129. package/examples/researcher/descriptions/bound-r1.json +141 -0
  130. package/examples/researcher/descriptions/bound-r2.json +153 -0
  131. package/examples/researcher/descriptions/capability.json +167 -0
  132. package/examples/researcher/descriptions/research-r1.json +153 -0
  133. package/examples/researcher/descriptions/research-r2.json +157 -0
  134. package/examples/researcher/descriptions/sources.md +24 -0
  135. package/examples/researcher/harbor-r1.research.html +193 -0
  136. package/examples/researcher/harbor-r2.research.html +226 -0
  137. package/examples/researcher/lumen-manual-edit.pending.html +271 -0
  138. package/examples/researcher/lumen-r1.research.html +271 -0
  139. package/examples/researcher/lumen-r2.research.html +280 -0
  140. package/examples/researcher/relationships/README.md +34 -0
  141. package/examples/researcher/relationships/bound-r1.json +346 -0
  142. package/examples/researcher/relationships/bound-r2.json +358 -0
  143. package/examples/researcher/relationships/capability.json +325 -0
  144. package/examples/researcher/relationships/config/assistant.env.example +4 -0
  145. package/examples/researcher/relationships/research-r1.json +300 -0
  146. package/examples/researcher/relationships/research-r2.json +304 -0
  147. package/examples/researcher/relationships/sources.md +38 -0
  148. package/examples/researcher/sources/harbor-api.md +16 -0
  149. package/examples/researcher/sources/harbor-auth.md +8 -0
  150. package/examples/researcher/sources/lumen-guide.md +28 -0
  151. package/examples/researcher/sources/lumen-settings.md +9 -0
  152. package/examples/researcher/surface-bom/README.md +17 -0
  153. package/examples/researcher/surface-bom/initial.cdx.json +188 -0
  154. package/package.json +45 -4
  155. package/plugins/n8r-surface/.codex-plugin/plugin.json +31 -0
  156. package/plugins/n8r-surface/LICENSE +202 -0
  157. package/plugins/n8r-surface/LICENSE-DOCS +395 -0
  158. package/plugins/n8r-surface/LICENSING.md +39 -0
  159. package/plugins/n8r-surface/assets/icon.svg +5 -0
  160. package/plugins/n8r-surface/plugin.json +27 -0
  161. package/plugins/n8r-surface/skills/research/SKILL.md +163 -0
  162. package/plugins/n8r-surface/skills/research/agents/openai.yaml +4 -0
  163. package/plugins/n8r-surface/skills/research/references/artifacts.md +152 -0
  164. package/plugins/n8r-surface/skills/research/references/cyclonedx.md +207 -0
  165. package/plugins/n8r-surface/skills/research/references/discovery-map.md +178 -0
  166. package/plugins/n8r-surface/skills/research/references/examples/bound-r1.json +346 -0
  167. package/plugins/n8r-surface/skills/research/references/examples/capability.json +325 -0
  168. package/plugins/n8r-surface/skills/research/references/examples/research-r1.json +300 -0
  169. package/plugins/n8r-surface/skills/research/references/examples/surface.cdx.json +188 -0
  170. package/plugins/n8r-surface/skills/research/references/first-use-access.md +97 -0
  171. package/plugins/n8r-surface/skills/research/references/first-use-overview.md +101 -0
  172. package/plugins/n8r-surface/skills/research/references/instance-first.md +125 -0
  173. package/plugins/n8r-surface/skills/research/references/model-meanings.md +55 -0
  174. package/plugins/n8r-surface/skills/research/references/skeleton-surface.md +105 -0
  175. package/plugins/n8r-surface/skills/research/references/working-notes.md +121 -0
  176. package/plugins/n8r-surface/skills/research/references/workspace.md +89 -0
  177. package/plugins/n8r-surface/skills/research/scripts/THIRD-PARTY-NOTICES.txt +273 -0
  178. package/plugins/n8r-surface/skills/research/scripts/artifacts.mjs +8348 -0
  179. package/plugins/n8r-surface/skills/research/scripts/cyclonedx.mjs +28113 -0
  180. package/plugins/n8r-surface/skills/research/scripts/surface.mjs +27800 -0
  181. package/plugins/n8r-surface/skills/research/scripts/workspace.mjs +120 -0
@@ -0,0 +1,235 @@
1
+ /** Experimental bounded contracts, not a universal AI Surface Model schema. */
2
+ export type Value = null | boolean | number | string | Value[] | {
3
+ [key: string]: Value;
4
+ };
5
+ export type State = 'known' | 'unknown' | 'omitted' | 'redacted' | 'absent' | 'out-of-scope';
6
+ export interface RevisionRef {
7
+ id: string;
8
+ revision: string;
9
+ digest: string;
10
+ }
11
+ export interface Revision {
12
+ id: string;
13
+ parent: RevisionRef | null;
14
+ createdAt: string;
15
+ author: string;
16
+ reason: string;
17
+ }
18
+ export interface Envelope {
19
+ id: string;
20
+ title: string;
21
+ revision: Revision;
22
+ scope: string;
23
+ extensions: {
24
+ [namespace: string]: Value;
25
+ };
26
+ }
27
+ export interface Source {
28
+ id: string;
29
+ location: string;
30
+ version: string;
31
+ digest: string;
32
+ inspectedAt: string;
33
+ coverage: {
34
+ path: string;
35
+ status: 'inspected' | 'missing' | 'unreadable' | 'excluded' | 'truncated' | 'unsupported';
36
+ note: string;
37
+ }[];
38
+ }
39
+ export interface Finding {
40
+ id: string;
41
+ subject: string;
42
+ property: string;
43
+ state: State | 'conflicting';
44
+ note: string;
45
+ claims: {
46
+ value: Value;
47
+ evidence: {
48
+ source: string;
49
+ locator: string;
50
+ }[];
51
+ }[];
52
+ }
53
+ export interface ResearchRecord extends Envelope {
54
+ contract: 'n8r.research/0.1';
55
+ sources: Source[];
56
+ findings: Finding[];
57
+ alternatives: {
58
+ id: string;
59
+ title: string;
60
+ findings: string[];
61
+ requirements: string[];
62
+ }[];
63
+ decisions: {
64
+ id: string;
65
+ alternative: string;
66
+ choice: 'selected' | 'rejected' | 'deferred';
67
+ reason: string;
68
+ by: string;
69
+ at: string;
70
+ }[];
71
+ questions: {
72
+ id: string;
73
+ text: string;
74
+ findings: string[];
75
+ }[];
76
+ notes: {
77
+ by: string;
78
+ at: string;
79
+ text: string;
80
+ }[];
81
+ }
82
+ export interface Fact {
83
+ state: State;
84
+ value?: Value;
85
+ note: string;
86
+ }
87
+ export interface Basis {
88
+ record: string;
89
+ revision: string;
90
+ items: string[];
91
+ }
92
+ export interface Entity {
93
+ id: string;
94
+ type: {
95
+ vocabulary: string;
96
+ term: string;
97
+ };
98
+ attributes: {
99
+ [property: string]: Fact;
100
+ };
101
+ basis: Basis[];
102
+ requirements: string[];
103
+ }
104
+ export interface SurfaceDefinition extends Envelope {
105
+ contract: 'n8r.surface/0.1';
106
+ kind: 'definition';
107
+ records: RevisionRef[];
108
+ vocabularies: {
109
+ id: string;
110
+ version: string;
111
+ }[];
112
+ nodes: (Entity & {
113
+ label: string;
114
+ })[];
115
+ relationships: (Entity & {
116
+ from: string;
117
+ to: string;
118
+ claim: 'declared';
119
+ })[];
120
+ requirements: {
121
+ id: string;
122
+ kind: 'secret' | 'resource' | 'configuration';
123
+ description: string;
124
+ state: State;
125
+ }[];
126
+ coverage: string[];
127
+ gaps: string[];
128
+ }
129
+ /** JSON-only descriptions; no settings values or opaque extensions in this profile. */
130
+ export interface DescriptionNode {
131
+ id: string;
132
+ label: string;
133
+ type: {
134
+ vocabulary: string;
135
+ term: string;
136
+ };
137
+ }
138
+ export interface DescriptionEnvelope extends Envelope {
139
+ contract: 'n8r.surface/0.2';
140
+ records: RevisionRef[];
141
+ vocabularies: {
142
+ id: string;
143
+ version: string;
144
+ }[];
145
+ nodes: DescriptionNode[];
146
+ coverage: string[];
147
+ gaps: string[];
148
+ }
149
+ export interface CapabilitySurface extends DescriptionEnvelope {
150
+ kind: 'capability';
151
+ capabilities: {
152
+ id: string;
153
+ from: string;
154
+ to: string;
155
+ type: {
156
+ vocabulary: string;
157
+ term: string;
158
+ };
159
+ state: 'possible' | Exclude<State, 'known'> | 'conflicting';
160
+ basis: Basis[];
161
+ conditions: string[];
162
+ note: string;
163
+ }[];
164
+ exclusiveGroups: {
165
+ id: string;
166
+ members: string[];
167
+ }[];
168
+ }
169
+ export interface BoundSurface extends DescriptionEnvelope {
170
+ kind: 'bound';
171
+ capability: RevisionRef;
172
+ instance: {
173
+ id: string;
174
+ label: string;
175
+ };
176
+ bindings: {
177
+ id: string;
178
+ capability: string;
179
+ state: 'configured' | Exclude<State, 'known' | 'absent'> | 'conflicting';
180
+ claims: {
181
+ target: string;
182
+ basis: Basis[];
183
+ }[];
184
+ decisions: Basis[];
185
+ note: string;
186
+ }[];
187
+ }
188
+ export type SurfaceDescription = CapabilitySurface | BoundSurface;
189
+ /** Shared node/edge contract; setting names and safe locations, never values. */
190
+ export interface ConfigurationReference {
191
+ owner: string;
192
+ mechanism: 'environment-variable' | 'file-key' | 'argument' | 'admin-setting' | 'code';
193
+ key: string;
194
+ location: string;
195
+ }
196
+ export interface RelationshipDetail<T> {
197
+ state: State | 'conflicting';
198
+ claims: {
199
+ value: T;
200
+ basis: Basis[];
201
+ }[];
202
+ note: string;
203
+ }
204
+ export interface DescriptionRelationship {
205
+ id: string;
206
+ from: string;
207
+ to: string;
208
+ type: DescriptionNode['type'];
209
+ purpose: RelationshipDetail<string>;
210
+ integration: RelationshipDetail<string>;
211
+ configuration: RelationshipDetail<ConfigurationReference[]>;
212
+ basis: Basis[];
213
+ conditions: string[];
214
+ note: string;
215
+ }
216
+ export interface GraphEnvelope extends Omit<DescriptionEnvelope, 'contract'> {
217
+ contract: 'n8r.surface/0.3';
218
+ }
219
+ export interface CapabilityGraph extends GraphEnvelope {
220
+ kind: 'capability';
221
+ relationships: (DescriptionRelationship & {
222
+ state: CapabilitySurface['capabilities'][number]['state'];
223
+ })[];
224
+ exclusiveGroups: CapabilitySurface['exclusiveGroups'];
225
+ }
226
+ export interface BoundGraph extends GraphEnvelope {
227
+ kind: 'bound';
228
+ capability: RevisionRef;
229
+ instance: BoundSurface['instance'];
230
+ relationships: (DescriptionRelationship & {
231
+ binding: Omit<BoundSurface['bindings'][number], 'id' | 'capability'>;
232
+ })[];
233
+ }
234
+ export type SurfaceGraph = CapabilityGraph | BoundGraph;
235
+ export type Artefact = ResearchRecord | SurfaceDefinition | SurfaceDescription | SurfaceGraph;
@@ -0,0 +1 @@
1
+ export {};