@productbrain/cli 0.1.0-beta.109 → 0.1.0-beta.1093
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/dist/__tests__/audit.test.js +5 -0
- package/dist/__tests__/audit.test.js.map +1 -1
- package/dist/__tests__/config.test.js +272 -2
- package/dist/__tests__/config.test.js.map +1 -1
- package/dist/__tests__/handshake-augment.test.d.ts +2 -0
- package/dist/__tests__/handshake-augment.test.d.ts.map +1 -0
- package/dist/__tests__/handshake-augment.test.js +423 -0
- package/dist/__tests__/handshake-augment.test.js.map +1 -0
- package/dist/__tests__/handshake-dormancy.test.d.ts +2 -0
- package/dist/__tests__/handshake-dormancy.test.d.ts.map +1 -0
- package/dist/__tests__/handshake-dormancy.test.js +207 -0
- package/dist/__tests__/handshake-dormancy.test.js.map +1 -0
- package/dist/__tests__/handshake-formatter.test.d.ts +2 -0
- package/dist/__tests__/handshake-formatter.test.d.ts.map +1 -0
- package/dist/__tests__/handshake-formatter.test.js +67 -0
- package/dist/__tests__/handshake-formatter.test.js.map +1 -0
- package/dist/__tests__/handshake-preview.test.js +65 -3
- package/dist/__tests__/handshake-preview.test.js.map +1 -1
- package/dist/__tests__/handshake.e2e.test.js +998 -3
- package/dist/__tests__/handshake.e2e.test.js.map +1 -1
- package/dist/__tests__/handshake.test.js +4 -4
- package/dist/__tests__/handshake.test.js.map +1 -1
- package/dist/__tests__/notice-marker.test.d.ts +2 -0
- package/dist/__tests__/notice-marker.test.d.ts.map +1 -0
- package/dist/__tests__/notice-marker.test.js +41 -0
- package/dist/__tests__/notice-marker.test.js.map +1 -0
- package/dist/__tests__/onboarding-path-b.test.js +4 -4
- package/dist/__tests__/onboarding-path-b.test.js.map +1 -1
- package/dist/__tests__/orient.test.js +52 -2
- package/dist/__tests__/orient.test.js.map +1 -1
- package/dist/__tests__/perimeter.test.js +23 -1
- package/dist/__tests__/perimeter.test.js.map +1 -1
- package/dist/__tests__/preview-key-refresh.test.d.ts +2 -0
- package/dist/__tests__/preview-key-refresh.test.d.ts.map +1 -0
- package/dist/__tests__/preview-key-refresh.test.js +126 -0
- package/dist/__tests__/preview-key-refresh.test.js.map +1 -0
- package/dist/__tests__/profiles.test.js +106 -2
- package/dist/__tests__/profiles.test.js.map +1 -1
- package/dist/__tests__/proof-run.test.d.ts +2 -0
- package/dist/__tests__/proof-run.test.d.ts.map +1 -0
- package/dist/__tests__/proof-run.test.js +255 -0
- package/dist/__tests__/proof-run.test.js.map +1 -0
- package/dist/__tests__/session-reset.test.d.ts +2 -0
- package/dist/__tests__/session-reset.test.d.ts.map +1 -0
- package/dist/__tests__/session-reset.test.js +122 -0
- package/dist/__tests__/session-reset.test.js.map +1 -0
- package/dist/__tests__/session-resume-backstop.test.d.ts +2 -0
- package/dist/__tests__/session-resume-backstop.test.d.ts.map +1 -0
- package/dist/__tests__/session-resume-backstop.test.js +97 -0
- package/dist/__tests__/session-resume-backstop.test.js.map +1 -0
- package/dist/__tests__/session-start-key-refresh.test.d.ts +2 -0
- package/dist/__tests__/session-start-key-refresh.test.d.ts.map +1 -0
- package/dist/__tests__/session-start-key-refresh.test.js +178 -0
- package/dist/__tests__/session-start-key-refresh.test.js.map +1 -0
- package/dist/__tests__/session-state-machine.test.js +45 -1
- package/dist/__tests__/session-state-machine.test.js.map +1 -1
- package/dist/__tests__/session-switch.test.d.ts +2 -0
- package/dist/__tests__/session-switch.test.d.ts.map +1 -0
- package/dist/__tests__/session-switch.test.js +130 -0
- package/dist/__tests__/session-switch.test.js.map +1 -0
- package/dist/__tests__/update-check.test.js +160 -1
- package/dist/__tests__/update-check.test.js.map +1 -1
- package/dist/__tests__/upgrade-runner.test.js +12 -0
- package/dist/__tests__/upgrade-runner.test.js.map +1 -1
- package/dist/__tests__/upgrade.test.d.ts +2 -0
- package/dist/__tests__/upgrade.test.d.ts.map +1 -0
- package/dist/__tests__/upgrade.test.js +56 -0
- package/dist/__tests__/upgrade.test.js.map +1 -0
- package/dist/__tests__/vocabulary-leak.test.d.ts +27 -13
- package/dist/__tests__/vocabulary-leak.test.d.ts.map +1 -1
- package/dist/__tests__/vocabulary-leak.test.js +169 -14
- package/dist/__tests__/vocabulary-leak.test.js.map +1 -1
- package/dist/commands/__tests__/setup-detect-surfaces.test.d.ts +15 -0
- package/dist/commands/__tests__/setup-detect-surfaces.test.d.ts.map +1 -0
- package/dist/commands/__tests__/setup-detect-surfaces.test.js +149 -0
- package/dist/commands/__tests__/setup-detect-surfaces.test.js.map +1 -0
- package/dist/commands/admin/seedRegistryEntries.generated.js +2 -2
- package/dist/commands/admin/seedRegistryEntries.generated.js.map +1 -1
- package/dist/commands/admin/seedRegistryEntries.test.js +1 -1
- package/dist/commands/admin/seedRegistryEntries.test.js.map +1 -1
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +30 -3
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/authority-domains.d.ts.map +1 -1
- package/dist/commands/authority-domains.js +2 -1
- package/dist/commands/authority-domains.js.map +1 -1
- package/dist/commands/capture.d.ts +2 -0
- package/dist/commands/capture.d.ts.map +1 -1
- package/dist/commands/capture.js +5 -1
- package/dist/commands/capture.js.map +1 -1
- package/dist/commands/connect-config.test.d.ts +2 -0
- package/dist/commands/connect-config.test.d.ts.map +1 -0
- package/dist/commands/connect-config.test.js +44 -0
- package/dist/commands/connect-config.test.js.map +1 -0
- package/dist/commands/connect-context.d.ts +45 -0
- package/dist/commands/connect-context.d.ts.map +1 -0
- package/dist/commands/connect-context.js +64 -0
- package/dist/commands/connect-context.js.map +1 -0
- package/dist/commands/connect-context.test.d.ts +2 -0
- package/dist/commands/connect-context.test.d.ts.map +1 -0
- package/dist/commands/connect-context.test.js +110 -0
- package/dist/commands/connect-context.test.js.map +1 -0
- package/dist/commands/connect-screens.d.ts +5 -6
- package/dist/commands/connect-screens.d.ts.map +1 -1
- package/dist/commands/connect-screens.js +28 -35
- package/dist/commands/connect-screens.js.map +1 -1
- package/dist/commands/connect.d.ts +16 -0
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +21 -20
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/doctor.js +2 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/doctor.test.js +19 -0
- package/dist/commands/doctor.test.js.map +1 -1
- package/dist/commands/handshake.d.ts +59 -4
- package/dist/commands/handshake.d.ts.map +1 -1
- package/dist/commands/handshake.js +392 -97
- package/dist/commands/handshake.js.map +1 -1
- package/dist/commands/method.d.ts.map +1 -1
- package/dist/commands/method.js +2 -1
- package/dist/commands/method.js.map +1 -1
- package/dist/commands/orient.d.ts +48 -0
- package/dist/commands/orient.d.ts.map +1 -1
- package/dist/commands/orient.js +25 -5
- package/dist/commands/orient.js.map +1 -1
- package/dist/commands/profile.d.ts +1 -14
- package/dist/commands/profile.d.ts.map +1 -1
- package/dist/commands/profile.js +89 -72
- package/dist/commands/profile.js.map +1 -1
- package/dist/commands/proof-run.d.ts +51 -0
- package/dist/commands/proof-run.d.ts.map +1 -0
- package/dist/commands/proof-run.js +209 -0
- package/dist/commands/proof-run.js.map +1 -0
- package/dist/commands/reject.d.ts.map +1 -1
- package/dist/commands/reject.js +2 -1
- package/dist/commands/reject.js.map +1 -1
- package/dist/commands/relate.d.ts.map +1 -1
- package/dist/commands/relate.js +4 -2
- package/dist/commands/relate.js.map +1 -1
- package/dist/commands/session.d.ts +26 -2
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +216 -31
- package/dist/commands/session.js.map +1 -1
- package/dist/commands/setup-audit.d.ts +59 -0
- package/dist/commands/setup-audit.d.ts.map +1 -0
- package/dist/commands/setup-audit.js +250 -0
- package/dist/commands/setup-audit.js.map +1 -0
- package/dist/commands/setup-detect-surfaces.d.ts.map +1 -1
- package/dist/commands/setup-detect-surfaces.js +10 -1
- package/dist/commands/setup-detect-surfaces.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +2 -1
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/upgrade.d.ts.map +1 -1
- package/dist/commands/upgrade.js +31 -10
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +2 -1
- package/dist/commands/verify.js.map +1 -1
- package/dist/commands/whoami.d.ts +12 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +70 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/commands/whoami.test.d.ts +2 -0
- package/dist/commands/whoami.test.d.ts.map +1 -0
- package/dist/commands/whoami.test.js +50 -0
- package/dist/commands/whoami.test.js.map +1 -0
- package/dist/formatters/__tests__/orient-provenance.test.d.ts +7 -0
- package/dist/formatters/__tests__/orient-provenance.test.d.ts.map +1 -0
- package/dist/formatters/__tests__/orient-provenance.test.js +454 -0
- package/dist/formatters/__tests__/orient-provenance.test.js.map +1 -0
- package/dist/formatters/audit.d.ts +6 -0
- package/dist/formatters/audit.d.ts.map +1 -1
- package/dist/formatters/audit.js.map +1 -1
- package/dist/formatters/entry.d.ts +21 -0
- package/dist/formatters/entry.d.ts.map +1 -1
- package/dist/formatters/entry.js +46 -5
- package/dist/formatters/entry.js.map +1 -1
- package/dist/formatters/handshake.d.ts +7 -3
- package/dist/formatters/handshake.d.ts.map +1 -1
- package/dist/formatters/handshake.js +26 -23
- package/dist/formatters/handshake.js.map +1 -1
- package/dist/formatters/orient.d.ts +54 -0
- package/dist/formatters/orient.d.ts.map +1 -1
- package/dist/formatters/orient.js +71 -2
- package/dist/formatters/orient.js.map +1 -1
- package/dist/generators/adapters.js +4 -4
- package/dist/generators/region-projections.d.ts +18 -0
- package/dist/generators/region-projections.d.ts.map +1 -0
- package/dist/generators/region-projections.js +49 -0
- package/dist/generators/region-projections.js.map +1 -0
- package/dist/generators/region-projections.test.d.ts +2 -0
- package/dist/generators/region-projections.test.d.ts.map +1 -0
- package/dist/generators/region-projections.test.js +63 -0
- package/dist/generators/region-projections.test.js.map +1 -0
- package/dist/generators/region.d.ts +24 -0
- package/dist/generators/region.d.ts.map +1 -0
- package/dist/generators/region.js +87 -0
- package/dist/generators/region.js.map +1 -0
- package/dist/generators/region.test.d.ts +2 -0
- package/dist/generators/region.test.d.ts.map +1 -0
- package/dist/generators/region.test.js +126 -0
- package/dist/generators/region.test.js.map +1 -0
- package/dist/index.js +111 -9
- package/dist/index.js.map +1 -1
- package/dist/lib/config.d.ts +101 -4
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +225 -11
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/notice-marker.d.ts +3 -0
- package/dist/lib/notice-marker.d.ts.map +1 -0
- package/dist/lib/notice-marker.js +53 -0
- package/dist/lib/notice-marker.js.map +1 -0
- package/dist/lib/onboarding-path-b.d.ts.map +1 -1
- package/dist/lib/onboarding-path-b.js +0 -1
- package/dist/lib/onboarding-path-b.js.map +1 -1
- package/dist/lib/onboarding-shared.d.ts +0 -1
- package/dist/lib/onboarding-shared.d.ts.map +1 -1
- package/dist/lib/onboarding-shared.js +0 -16
- package/dist/lib/onboarding-shared.js.map +1 -1
- package/dist/lib/profiles.d.ts +3 -1
- package/dist/lib/profiles.d.ts.map +1 -1
- package/dist/lib/profiles.js +9 -6
- package/dist/lib/profiles.js.map +1 -1
- package/dist/lib/session.d.ts +10 -0
- package/dist/lib/session.d.ts.map +1 -1
- package/dist/lib/session.js +26 -1
- package/dist/lib/session.js.map +1 -1
- package/dist/lib/tokenConstants.d.ts +2 -0
- package/dist/lib/tokenConstants.d.ts.map +1 -1
- package/dist/lib/tokenConstants.js +2 -0
- package/dist/lib/tokenConstants.js.map +1 -1
- package/dist/lib/update-check.d.ts +26 -11
- package/dist/lib/update-check.d.ts.map +1 -1
- package/dist/lib/update-check.js +123 -73
- package/dist/lib/update-check.js.map +1 -1
- package/dist/lib/upgrade-runner.d.ts +2 -1
- package/dist/lib/upgrade-runner.d.ts.map +1 -1
- package/dist/lib/upgrade-runner.js +8 -7
- package/dist/lib/upgrade-runner.js.map +1 -1
- package/dist/setup/perimeter.d.ts +10 -0
- package/dist/setup/perimeter.d.ts.map +1 -1
- package/dist/setup/perimeter.js +21 -6
- package/dist/setup/perimeter.js.map +1 -1
- package/package.json +2 -1
- package/dist/__tests__/setup.test.d.ts +0 -2
- package/dist/__tests__/setup.test.d.ts.map +0 -1
- package/dist/__tests__/setup.test.js +0 -141
- package/dist/__tests__/setup.test.js.map +0 -1
- package/dist/generators/__tests__/surface-profiles.test.d.ts +0 -2
- package/dist/generators/__tests__/surface-profiles.test.d.ts.map +0 -1
- package/dist/generators/__tests__/surface-profiles.test.js +0 -89
- package/dist/generators/__tests__/surface-profiles.test.js.map +0 -1
- package/dist/lib/onboarding-phases.d.ts +0 -9
- package/dist/lib/onboarding-phases.d.ts.map +0 -1
- package/dist/lib/onboarding-phases.js +0 -120
- package/dist/lib/onboarding-phases.js.map +0 -1
|
@@ -36,6 +36,10 @@ export interface OrientViewFromApi {
|
|
|
36
36
|
preview?: string;
|
|
37
37
|
scoreFlags?: string[];
|
|
38
38
|
origin?: 'human' | 'agent' | 'external';
|
|
39
|
+
provenance?: 'authoritative' | 'provisional' | 'floor';
|
|
40
|
+
anchoredBy?: string;
|
|
41
|
+
why?: string;
|
|
42
|
+
whyQuality?: 'rationale' | 'missing' | 'restated';
|
|
39
43
|
}>;
|
|
40
44
|
standards: Array<{
|
|
41
45
|
entryId: string | null;
|
|
@@ -45,6 +49,10 @@ export interface OrientViewFromApi {
|
|
|
45
49
|
preview?: string;
|
|
46
50
|
scoreFlags?: string[];
|
|
47
51
|
origin?: 'human' | 'agent' | 'external';
|
|
52
|
+
provenance?: 'authoritative' | 'provisional' | 'floor';
|
|
53
|
+
anchoredBy?: string;
|
|
54
|
+
why?: string;
|
|
55
|
+
whyQuality?: 'rationale' | 'missing' | 'restated';
|
|
48
56
|
}>;
|
|
49
57
|
businessRules: Array<{
|
|
50
58
|
entryId: string | null;
|
|
@@ -54,6 +62,10 @@ export interface OrientViewFromApi {
|
|
|
54
62
|
preview?: string;
|
|
55
63
|
scoreFlags?: string[];
|
|
56
64
|
origin?: 'human' | 'agent' | 'external';
|
|
65
|
+
provenance?: 'authoritative' | 'provisional' | 'floor';
|
|
66
|
+
anchoredBy?: string;
|
|
67
|
+
why?: string;
|
|
68
|
+
whyQuality?: 'rationale' | 'missing' | 'restated';
|
|
57
69
|
}>;
|
|
58
70
|
};
|
|
59
71
|
tensions?: Array<{
|
|
@@ -64,6 +76,10 @@ export interface OrientViewFromApi {
|
|
|
64
76
|
entryId: string | null;
|
|
65
77
|
name: string;
|
|
66
78
|
preview?: string;
|
|
79
|
+
provenance?: 'authoritative' | 'provisional' | 'floor';
|
|
80
|
+
anchoredBy?: string;
|
|
81
|
+
why?: string;
|
|
82
|
+
whyQuality?: 'rationale' | 'missing' | 'restated';
|
|
67
83
|
}>;
|
|
68
84
|
proposals?: Array<{
|
|
69
85
|
targetEntryName: string;
|
|
@@ -84,6 +100,10 @@ export interface OrientViewFromApi {
|
|
|
84
100
|
entryId: string | null;
|
|
85
101
|
name: string;
|
|
86
102
|
collectionSlug: string | null;
|
|
103
|
+
provenance?: 'authoritative' | 'provisional' | 'floor';
|
|
104
|
+
anchoredBy?: string;
|
|
105
|
+
why?: string;
|
|
106
|
+
whyQuality?: 'rationale' | 'missing' | 'restated';
|
|
87
107
|
}>;
|
|
88
108
|
bindingGovernance: {
|
|
89
109
|
principles: Array<{
|
|
@@ -91,18 +111,30 @@ export interface OrientViewFromApi {
|
|
|
91
111
|
name: string;
|
|
92
112
|
collectionSlug: string | null;
|
|
93
113
|
preview?: string;
|
|
114
|
+
provenance?: 'authoritative' | 'provisional' | 'floor';
|
|
115
|
+
anchoredBy?: string;
|
|
116
|
+
why?: string;
|
|
117
|
+
whyQuality?: 'rationale' | 'missing' | 'restated';
|
|
94
118
|
}>;
|
|
95
119
|
standards: Array<{
|
|
96
120
|
entryId: string | null;
|
|
97
121
|
name: string;
|
|
98
122
|
collectionSlug: string | null;
|
|
99
123
|
preview?: string;
|
|
124
|
+
provenance?: 'authoritative' | 'provisional' | 'floor';
|
|
125
|
+
anchoredBy?: string;
|
|
126
|
+
why?: string;
|
|
127
|
+
whyQuality?: 'rationale' | 'missing' | 'restated';
|
|
100
128
|
}>;
|
|
101
129
|
businessRules: Array<{
|
|
102
130
|
entryId: string | null;
|
|
103
131
|
name: string;
|
|
104
132
|
collectionSlug: string | null;
|
|
105
133
|
preview?: string;
|
|
134
|
+
provenance?: 'authoritative' | 'provisional' | 'floor';
|
|
135
|
+
anchoredBy?: string;
|
|
136
|
+
why?: string;
|
|
137
|
+
whyQuality?: 'rationale' | 'missing' | 'restated';
|
|
106
138
|
}>;
|
|
107
139
|
};
|
|
108
140
|
steeringContext: Array<{
|
|
@@ -134,6 +166,10 @@ export interface OrientViewFromApi {
|
|
|
134
166
|
entryId: string | null;
|
|
135
167
|
name: string;
|
|
136
168
|
collectionSlug: string | null;
|
|
169
|
+
provenance?: 'authoritative' | 'provisional' | 'floor';
|
|
170
|
+
anchoredBy?: string;
|
|
171
|
+
why?: string;
|
|
172
|
+
whyQuality?: 'rationale' | 'missing' | 'restated';
|
|
137
173
|
}>;
|
|
138
174
|
context: Array<{
|
|
139
175
|
entryId: string | null;
|
|
@@ -142,14 +178,26 @@ export interface OrientViewFromApi {
|
|
|
142
178
|
score: number;
|
|
143
179
|
hop: number;
|
|
144
180
|
origin?: 'human' | 'agent' | 'external';
|
|
181
|
+
provenance?: 'authoritative' | 'provisional' | 'floor';
|
|
182
|
+
anchoredBy?: string;
|
|
183
|
+
why?: string;
|
|
184
|
+
whyQuality?: 'rationale' | 'missing' | 'restated';
|
|
145
185
|
}>;
|
|
146
186
|
totalFound: number;
|
|
147
187
|
confidence: string;
|
|
188
|
+
/** STD-219 §4 (DEC-1147): set when taskContext is a truncation stub, not full grounding. */
|
|
189
|
+
isGroundingStub?: true;
|
|
190
|
+
groundingNote?: string;
|
|
148
191
|
};
|
|
149
192
|
plannedWork?: {
|
|
150
193
|
uncommittedDrafts: Array<{
|
|
151
194
|
name: string;
|
|
152
195
|
collection: string;
|
|
196
|
+
why?: string;
|
|
197
|
+
whyQuality?: 'rationale' | 'missing' | 'restated';
|
|
198
|
+
visibility?: string;
|
|
199
|
+
provenance?: 'authoritative' | 'provisional' | 'floor';
|
|
200
|
+
anchoredBy?: string;
|
|
153
201
|
}>;
|
|
154
202
|
inProgressEntries: Array<{
|
|
155
203
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orient.d.ts","sourceRoot":"","sources":["../../src/commands/orient.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE;QAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,8DAA8D;QAC9D,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,kBAAkB,EAAE,MAAM,CAAC;QAC3B,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,8DAA8D;IAC9D,kBAAkB,EAAE,KAAK,CAAC;QACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;QACxC,cAAc,CAAC,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAClE,CAAC,CAAC;IACH,UAAU,CAAC,EAAE;QACX,UAAU,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;YAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,CAAA;SAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"orient.d.ts","sourceRoot":"","sources":["../../src/commands/orient.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/orient.js
CHANGED
|
@@ -25,7 +25,17 @@ import { getOrFetchVocabCtx } from '../lib/workspaceVocabCache.js';
|
|
|
25
25
|
* clerkUserId from the bearer token, so the surface only sends payload bytes
|
|
26
26
|
* + truncation flag. Auth and identity stay server-side.
|
|
27
27
|
*/
|
|
28
|
-
|
|
28
|
+
// PREDICATE-MIRROR: convex/agentKnowledge/orientBudget.ts → NON_MEANINGFUL_TASK_RE +
|
|
29
|
+
// taskIsMeaningful. Mirrored here because packages/* has no documented import path
|
|
30
|
+
// into convex/. Keep in sync; drift risk captured as a residual TEN (DEC-NEW).
|
|
31
|
+
const NON_MEANINGFUL_TASK_RE = /^[\s]*$/u;
|
|
32
|
+
function taskIsMeaningful(task) {
|
|
33
|
+
if (typeof task !== 'string')
|
|
34
|
+
return false;
|
|
35
|
+
return !NON_MEANINGFUL_TASK_RE.test(task);
|
|
36
|
+
}
|
|
37
|
+
// DEC-NEW: reports the resolved tier + task-presence alongside bytes + truncated.
|
|
38
|
+
function reportOrientCliBytes(bytes, truncated, tier, taskProvided) {
|
|
29
39
|
let apiKey;
|
|
30
40
|
let siteUrl;
|
|
31
41
|
try {
|
|
@@ -43,7 +53,7 @@ function reportOrientCliBytes(bytes, truncated) {
|
|
|
43
53
|
},
|
|
44
54
|
body: JSON.stringify({
|
|
45
55
|
fn: 'agent.reportOrientMetric',
|
|
46
|
-
args: { bytes, truncated },
|
|
56
|
+
args: { bytes, truncated, tier, taskProvided },
|
|
47
57
|
}),
|
|
48
58
|
}).catch(() => {
|
|
49
59
|
// Best-effort — silently swallow.
|
|
@@ -104,13 +114,20 @@ export async function runOrient(options = {}) {
|
|
|
104
114
|
callArgs.task = options.task;
|
|
105
115
|
if (options.scope)
|
|
106
116
|
callArgs.scope = options.scope;
|
|
107
|
-
|
|
117
|
+
// STD-219 §5 chain-versioned by DEC-NEW: surface forwards tier by key omission;
|
|
118
|
+
// kernel applies the task-conditional default via resolveEffectiveTier when tier unset.
|
|
119
|
+
if (options.full)
|
|
120
|
+
callArgs.tier = 'full';
|
|
108
121
|
const raw = await kernelCall('chain.getOrientView', Object.keys(callArgs).length > 0 ? callArgs : {});
|
|
109
122
|
// Normalize before output in any mode — ensures JSON keys are stable
|
|
110
123
|
// for agent consumers (optional sections become empty arrays, not absent).
|
|
111
124
|
const view = normalizeView(raw);
|
|
112
125
|
capturedView = view;
|
|
113
|
-
|
|
126
|
+
// BET-β S3b parity with MCP: prefer the tier-budget signal (_budget.truncated),
|
|
127
|
+
// fall back to the legacy input-scan flag (_truncated). Summary-tier section
|
|
128
|
+
// dropping is reported via _budget.truncated only, so reading _truncated alone
|
|
129
|
+
// recorded lastOrientTruncated:false on the main path this change introduces.
|
|
130
|
+
capturedTruncated = raw._budget?.truncated ?? raw._truncated === true;
|
|
114
131
|
return view;
|
|
115
132
|
},
|
|
116
133
|
formatPretty: (view) => {
|
|
@@ -129,7 +146,10 @@ export async function runOrient(options = {}) {
|
|
|
129
146
|
rendered = options.brief ? formatOrientBrief(capturedView, vocabCtx) : formatOrient(capturedView, vocabCtx);
|
|
130
147
|
}
|
|
131
148
|
const bytes = Buffer.byteLength(rendered, 'utf8');
|
|
132
|
-
|
|
149
|
+
// DEC-NEW: resolved tier mirrors the kernel rule (the response carries no
|
|
150
|
+
// tier field) — explicit --full, else task-conditional default.
|
|
151
|
+
const resolvedTier = options.full ? 'full' : taskIsMeaningful(options.task) ? 'summary' : 'standard';
|
|
152
|
+
reportOrientCliBytes(bytes, capturedTruncated, resolvedTier, taskIsMeaningful(options.task));
|
|
133
153
|
}
|
|
134
154
|
catch {
|
|
135
155
|
// Best-effort observability — never fail the command on measurement.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orient.js","sourceRoot":"","sources":["../../src/commands/orient.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAqC,MAAM,yBAAyB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"orient.js","sourceRoot":"","sources":["../../src/commands/orient.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,23 +21,10 @@ export declare function runProfileCreate(opts: {
|
|
|
21
21
|
apiKey: string;
|
|
22
22
|
url?: string;
|
|
23
23
|
}): Promise<void>;
|
|
24
|
-
/**
|
|
25
|
-
* pb profile use <name> [--local]
|
|
26
|
-
*
|
|
27
|
-
* Without --local (default): switch global active profile.
|
|
28
|
-
* - Closes any active session (TEN-1277: session orphaning)
|
|
29
|
-
* - Resets config cache so next getConfig() reads the new profile
|
|
30
|
-
* - Clears env vars so they get re-read from the new profile
|
|
31
|
-
*
|
|
32
|
-
* With --local: write profile pin to .productbrain/config.local.json
|
|
33
|
-
* in the walked-up project root.
|
|
34
|
-
* - Does NOT update global active-profile
|
|
35
|
-
* - Does NOT close session (local switch doesn't orphan server session)
|
|
36
|
-
* - Throws CLIError if no project root found
|
|
37
|
-
*/
|
|
38
24
|
export declare function runProfileUse(opts: {
|
|
39
25
|
name: string;
|
|
40
26
|
local?: boolean;
|
|
27
|
+
global?: boolean;
|
|
41
28
|
}): Promise<void>;
|
|
42
29
|
/** pb profile delete <name> */
|
|
43
30
|
export declare function runProfileDelete(opts: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/commands/profile.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/commands/profile.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC3C,CAAC;AAEF,wBAAgB,uBAAuB,IAAI,iBAAiB,CAQ3D;AAED,4DAA4D;AAC5D,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAuBpD;AAED,6DAA6D;AAC7D,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhB;AAaD,wBAAsB,aAAa,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8F5G;AAUD,+BAA+B;AAC/B,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ5E"}
|
package/dist/commands/profile.js
CHANGED
|
@@ -5,12 +5,11 @@
|
|
|
5
5
|
* Uses runCliCommand pattern from runner.ts for JSON/pretty output.
|
|
6
6
|
* Uses CLIError from errors.ts for structured error reporting.
|
|
7
7
|
*/
|
|
8
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
|
|
9
|
-
import { resolve } from 'path';
|
|
10
8
|
import { runCliCommand } from '../lib/runner.js';
|
|
11
9
|
import { listProfiles, getActiveProfile, createProfile, useProfile, deleteProfile, } from '../lib/profiles.js';
|
|
12
|
-
import { readSession,
|
|
13
|
-
import { resetConfigCache, findProjectRoot, readLocalProjectConfig } from '../lib/config.js';
|
|
10
|
+
import { readSession, discardSession, sessionFileExists } from '../lib/session.js';
|
|
11
|
+
import { resetConfigCache, findProjectRoot, readLocalProjectConfig, setLocalProfilePin } from '../lib/config.js';
|
|
12
|
+
import { probeWorkspace } from '../lib/workspace-probe.js';
|
|
14
13
|
import { CLIError, ErrorCode } from '../lib/errors.js';
|
|
15
14
|
export function resolveProfileListState() {
|
|
16
15
|
const profiles = listProfiles();
|
|
@@ -55,86 +54,104 @@ export async function runProfileCreate(opts) {
|
|
|
55
54
|
formatPretty: (data) => `Profile "${data.name}" created.`,
|
|
56
55
|
});
|
|
57
56
|
}
|
|
58
|
-
/**
|
|
59
|
-
* pb profile use <name> [--local]
|
|
60
|
-
*
|
|
61
|
-
* Without --local (default): switch global active profile.
|
|
62
|
-
* - Closes any active session (TEN-1277: session orphaning)
|
|
63
|
-
* - Resets config cache so next getConfig() reads the new profile
|
|
64
|
-
* - Clears env vars so they get re-read from the new profile
|
|
65
|
-
*
|
|
66
|
-
* With --local: write profile pin to .productbrain/config.local.json
|
|
67
|
-
* in the walked-up project root.
|
|
68
|
-
* - Does NOT update global active-profile
|
|
69
|
-
* - Does NOT close session (local switch doesn't orphan server session)
|
|
70
|
-
* - Throws CLIError if no project root found
|
|
71
|
-
*/
|
|
72
57
|
export async function runProfileUse(opts) {
|
|
73
|
-
if (opts.local) {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
throw new CLIError('No .productbrain/ directory found in this directory tree. Run `pb connect` first or use `pb profile use <name>` (without --local) to switch globally.', {
|
|
79
|
-
code: ErrorCode.CONFIG_INVALID,
|
|
80
|
-
category: 'config',
|
|
81
|
-
guidance: 'Run `pb connect <token>` to set up a project workspace, or omit --local to switch globally.',
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
const configDir = resolve(projectRoot, '.productbrain');
|
|
85
|
-
const localConfigPath = resolve(configDir, 'config.local.json');
|
|
86
|
-
// Read existing local config to preserve other fields
|
|
87
|
-
let existingLocal = {};
|
|
88
|
-
if (existsSync(localConfigPath)) {
|
|
89
|
-
try {
|
|
90
|
-
existingLocal = JSON.parse(readFileSync(localConfigPath, 'utf8'));
|
|
91
|
-
}
|
|
92
|
-
catch { /* ignore parse errors */ }
|
|
93
|
-
}
|
|
94
|
-
const localConfig = { ...existingLocal, profile: opts.name };
|
|
95
|
-
mkdirSync(configDir, { recursive: true });
|
|
96
|
-
writeFileSync(localConfigPath, JSON.stringify(localConfig, null, 2) + '\n');
|
|
97
|
-
return {
|
|
98
|
-
name: opts.name,
|
|
99
|
-
local: true,
|
|
100
|
-
projectRoot,
|
|
101
|
-
};
|
|
102
|
-
},
|
|
103
|
-
formatPretty: (data) => {
|
|
104
|
-
return `Local profile set to "${data.name}" in ${data.projectRoot}/.productbrain/config.local.json`;
|
|
105
|
-
},
|
|
58
|
+
if (opts.local && opts.global) {
|
|
59
|
+
throw new CLIError('Cannot use both --local and --global.', {
|
|
60
|
+
code: ErrorCode.VALIDATION_FAILED,
|
|
61
|
+
category: 'validation',
|
|
62
|
+
guidance: 'Pick one: --local (repo pin only), --global (global only), or neither (reconcile both).',
|
|
106
63
|
});
|
|
107
|
-
return;
|
|
108
64
|
}
|
|
109
|
-
// Default: global profile switch
|
|
110
65
|
await runCliCommand({
|
|
111
66
|
fn: async () => {
|
|
112
|
-
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
|
|
67
|
+
const projectRoot = findProjectRoot(process.cwd());
|
|
68
|
+
const localPin = readLocalProjectConfig()?.profile ?? null;
|
|
69
|
+
// PB_PROFILE always wins resolution (by design). If it's set, ANY profile write
|
|
70
|
+
// here is shadowed — surface that instead of failing silently (the TEN-2163 trap).
|
|
71
|
+
const PB_PROFILE = process.env.PB_PROFILE?.trim() || null;
|
|
72
|
+
const resetEnv = () => {
|
|
73
|
+
resetConfigCache();
|
|
74
|
+
delete process.env.PRODUCTBRAIN_API_KEY;
|
|
75
|
+
delete process.env.CONVEX_SITE_URL;
|
|
76
|
+
};
|
|
77
|
+
// Discard ANY session file (active OR stale closed marker) — a closed marker would
|
|
78
|
+
// let the 2h auto-resume re-pin the old workspace. Report only an ACTIVE session
|
|
79
|
+
// in the print line.
|
|
80
|
+
const discardSessionState = () => {
|
|
81
|
+
const hadActive = readSession() !== null;
|
|
82
|
+
if (sessionFileExists())
|
|
83
|
+
discardSession();
|
|
84
|
+
return hadActive;
|
|
85
|
+
};
|
|
86
|
+
// --- --local: repo pin only ---
|
|
87
|
+
if (opts.local) {
|
|
88
|
+
if (!projectRoot) {
|
|
89
|
+
throw new CLIError('No .productbrain/ directory found in this directory tree. Run `pb connect` first or use `pb use <name> --global` to switch globally.', { code: ErrorCode.CONFIG_INVALID, category: 'config',
|
|
90
|
+
guidance: 'Run `pb connect <token>` to set up a project workspace, or use --global.' });
|
|
91
|
+
}
|
|
92
|
+
setLocalProfilePin(projectRoot, opts.name);
|
|
93
|
+
const sessionCleared = discardSessionState();
|
|
94
|
+
resetEnv();
|
|
95
|
+
return { name: opts.name, scope: 'local', reconciledLocalPin: false,
|
|
96
|
+
sessionCleared, workspace: await safeProbe(), pinnedElsewhere: null, 'PB_PROFILE': PB_PROFILE };
|
|
116
97
|
}
|
|
98
|
+
// --- --global: global only (does not change a locally-pinned repo) ---
|
|
99
|
+
if (opts.global) {
|
|
100
|
+
useProfile(opts.name);
|
|
101
|
+
const pinnedElsewhere = localPin && localPin !== opts.name ? localPin : null;
|
|
102
|
+
// The repo's effective workspace only changes when it is NOT pinned elsewhere.
|
|
103
|
+
const sessionCleared = pinnedElsewhere ? false : discardSessionState();
|
|
104
|
+
resetEnv();
|
|
105
|
+
const workspace = pinnedElsewhere ? null : await safeProbe();
|
|
106
|
+
return { name: opts.name, scope: 'global', reconciledLocalPin: false,
|
|
107
|
+
sessionCleared, workspace, pinnedElsewhere, 'PB_PROFILE': PB_PROFILE };
|
|
108
|
+
}
|
|
109
|
+
// --- default: flip global AND reconcile the repo pin if one exists ---
|
|
117
110
|
useProfile(opts.name);
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
};
|
|
111
|
+
let reconciledLocalPin = false;
|
|
112
|
+
if (projectRoot && localPin) {
|
|
113
|
+
setLocalProfilePin(projectRoot, opts.name);
|
|
114
|
+
reconciledLocalPin = true;
|
|
115
|
+
}
|
|
116
|
+
const sessionCleared = discardSessionState();
|
|
117
|
+
resetEnv();
|
|
118
|
+
return { name: opts.name, scope: 'reconcile', reconciledLocalPin,
|
|
119
|
+
sessionCleared, workspace: await safeProbe(), pinnedElsewhere: null, 'PB_PROFILE': PB_PROFILE };
|
|
128
120
|
},
|
|
129
|
-
formatPretty: (
|
|
130
|
-
|
|
131
|
-
if (
|
|
132
|
-
|
|
121
|
+
formatPretty: (d) => {
|
|
122
|
+
const lines = [];
|
|
123
|
+
if (d.scope === 'global') {
|
|
124
|
+
const arrow = d.workspace ? ` → ${d.workspace}` : '';
|
|
125
|
+
lines.push(`Switched global profile to "${d.name}"${arrow}.`);
|
|
126
|
+
if (d.pinnedElsewhere) {
|
|
127
|
+
lines.push(`Note: this repo is pinned to "${d.pinnedElsewhere}" via config.local.json — the global switch won't change it here.`);
|
|
128
|
+
lines.push(`Run \`pb use ${d.name}\` (no flag) to switch this repo too.`);
|
|
129
|
+
}
|
|
133
130
|
}
|
|
134
|
-
|
|
131
|
+
else {
|
|
132
|
+
const arrow = d.workspace ? ` → ${d.workspace}` : '';
|
|
133
|
+
const where = d.scope === 'local' ? ' (repo-local)' : '';
|
|
134
|
+
lines.push(`Now using "${d.name}"${where}${arrow}`);
|
|
135
|
+
if (d.reconciledLocalPin)
|
|
136
|
+
lines.push('(updated repo-local pin in .productbrain/config.local.json)');
|
|
137
|
+
}
|
|
138
|
+
if (d.sessionCleared)
|
|
139
|
+
lines.push('(previous session closed)');
|
|
140
|
+
if (d['PB_PROFILE']) {
|
|
141
|
+
lines.push(`⚠ PB_PROFILE is set to "${d['PB_PROFILE']}" in your environment and overrides profile resolution.`);
|
|
142
|
+
lines.push(` This switch won't take effect until you unset it: \`unset PB_PROFILE\`.`);
|
|
143
|
+
}
|
|
144
|
+
return lines.join('\n');
|
|
135
145
|
},
|
|
136
146
|
});
|
|
137
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* Best-effort workspace name after a profile switch; null on any failure.
|
|
150
|
+
* probeWorkspace() already swallows network/auth errors and returns null, so this is offline-safe.
|
|
151
|
+
*/
|
|
152
|
+
async function safeProbe() {
|
|
153
|
+
return (await probeWorkspace())?.name ?? null;
|
|
154
|
+
}
|
|
138
155
|
/** pb profile delete <name> */
|
|
139
156
|
export async function runProfileDelete(opts) {
|
|
140
157
|
await runCliCommand({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/commands/profile.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/commands/profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pb proof-run <proof-name> — run an admin-only proof against the seeded preview
|
|
3
|
+
* via the WP-459 proof bridge.
|
|
4
|
+
*
|
|
5
|
+
* NOT a kernel/MCP call: the bridge is a token-gated httpAction with a SIMPLER
|
|
6
|
+
* envelope than /api/aki. It authenticates with the short-lived preview admin
|
|
7
|
+
* token (pb_pat_…) minted into .productbrain/preview-admin.json by the seed
|
|
8
|
+
* (scripts/seed-preview.mjs step 7) — NOT the pb API key. So this command does
|
|
9
|
+
* not call getConfig()/kernelCall(); it reads the throwaway token from disk and
|
|
10
|
+
* POSTs directly to {siteUrl}/api/admin/proof-run.
|
|
11
|
+
*
|
|
12
|
+
* Success → HTTP 200 { data: <verdict> } (verdict may carry zeroHandAuthoringProven)
|
|
13
|
+
* Failure → non-200 { error, code }
|
|
14
|
+
*
|
|
15
|
+
* Chain: WP-459 (Admin-proof bridge).
|
|
16
|
+
*/
|
|
17
|
+
/** Resolved inputs for a proof-bridge call. */
|
|
18
|
+
export interface ProofBridgeInputs {
|
|
19
|
+
siteUrl: string;
|
|
20
|
+
rawToken: string;
|
|
21
|
+
workspaceId: string;
|
|
22
|
+
/** Server-enforced expiry (ms epoch), if the token record carried one. */
|
|
23
|
+
expiresAt?: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Resolve the proof-bridge inputs (siteUrl, rawToken, workspaceId) from the
|
|
27
|
+
* worktree's seed sidecars. Pure + testable: takes the project root explicitly,
|
|
28
|
+
* throws CLIError with actionable guidance on any missing/invalid file.
|
|
29
|
+
*/
|
|
30
|
+
export declare function resolveProofBridgeInputs(projectRoot: string): ProofBridgeInputs;
|
|
31
|
+
/** Parsed bridge response — discriminated on `ok`. */
|
|
32
|
+
type BridgeResult = {
|
|
33
|
+
ok: true;
|
|
34
|
+
data: unknown;
|
|
35
|
+
} | {
|
|
36
|
+
ok: false;
|
|
37
|
+
error: string;
|
|
38
|
+
code: string;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* POST to the proof bridge and parse its simple envelope ({ data } / { error, code }).
|
|
42
|
+
* Uses an AbortController timeout (mirrors lib/client.js). Network / non-JSON
|
|
43
|
+
* failures surface as a structured { ok: false } so the caller can exit non-zero.
|
|
44
|
+
*/
|
|
45
|
+
export declare function callProofBridge(inputs: ProofBridgeInputs, proofName: string, timeoutMs?: number): Promise<BridgeResult>;
|
|
46
|
+
interface ProofRunOptions {
|
|
47
|
+
proofName: string;
|
|
48
|
+
}
|
|
49
|
+
export declare function runProofRun(options: ProofRunOptions): Promise<void>;
|
|
50
|
+
export {};
|
|
51
|
+
//# sourceMappingURL=proof-run.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proof-run.d.ts","sourceRoot":"","sources":["../../src/commands/proof-run.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAuBH,+CAA+C;AAC/C,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAeD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,CA8E/E;AAED,sDAAsD;AACtD,KAAK,YAAY,GACb;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC3B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/C;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,MAAM,EACjB,SAAS,SAAS,GACjB,OAAO,CAAC,YAAY,CAAC,CA8CvB;AAED,UAAU,eAAe;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAgEzE"}
|