@farmslot/protocol 0.76.0 → 0.78.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/CHANGELOG.md +27 -0
- package/dist/client-cache/cache.d.ts.map +1 -1
- package/dist/client-cache/cache.js +174 -14
- package/dist/client-cache/cache.js.map +1 -1
- package/dist/client-cache/command-method.d.ts +1 -1
- package/dist/client-cache/command-method.d.ts.map +1 -1
- package/dist/client-cache/command-method.js +3 -0
- package/dist/client-cache/command-method.js.map +1 -1
- package/dist/client-cache/index.d.ts +1 -1
- package/dist/client-cache/index.d.ts.map +1 -1
- package/dist/client-cache/index.js +1 -1
- package/dist/client-cache/index.js.map +1 -1
- package/dist/client-cache/native-history.d.ts.map +1 -1
- package/dist/client-cache/native-history.js +1 -0
- package/dist/client-cache/native-history.js.map +1 -1
- package/dist/client-cache/prefetch.d.ts +13 -1
- package/dist/client-cache/prefetch.d.ts.map +1 -1
- package/dist/client-cache/prefetch.js +88 -26
- package/dist/client-cache/prefetch.js.map +1 -1
- package/dist/client-cache/read-stored.d.ts +5 -1
- package/dist/client-cache/read-stored.d.ts.map +1 -1
- package/dist/client-cache/read-stored.js +64 -1
- package/dist/client-cache/read-stored.js.map +1 -1
- package/dist/client-cache/registry.d.ts +29 -1
- package/dist/client-cache/registry.d.ts.map +1 -1
- package/dist/client-cache/registry.js +55 -4
- package/dist/client-cache/registry.js.map +1 -1
- package/dist/client-cache/store.d.ts +2 -0
- package/dist/client-cache/store.d.ts.map +1 -1
- package/dist/client-cache/store.js +9 -1
- package/dist/client-cache/store.js.map +1 -1
- package/dist/client-cache/transport.d.ts +3 -1
- package/dist/client-cache/transport.d.ts.map +1 -1
- package/dist/client-cache/transport.js +2 -1
- package/dist/client-cache/transport.js.map +1 -1
- package/dist/client-cache/types.d.ts +8 -1
- package/dist/client-cache/types.d.ts.map +1 -1
- package/dist/contracts/agents.d.ts +5 -2
- package/dist/contracts/agents.d.ts.map +1 -1
- package/dist/contracts/agents.js.map +1 -1
- package/dist/contracts/config.d.ts +3 -0
- package/dist/contracts/config.d.ts.map +1 -1
- package/dist/contracts/config.js +5 -1
- package/dist/contracts/config.js.map +1 -1
- package/dist/contracts/family.d.ts +55 -3
- package/dist/contracts/family.d.ts.map +1 -1
- package/dist/contracts/family.js.map +1 -1
- package/dist/contracts/review-workspace.d.ts +23 -1
- package/dist/contracts/review-workspace.d.ts.map +1 -1
- package/dist/contracts/review-workspace.js +3 -0
- package/dist/contracts/review-workspace.js.map +1 -1
- package/dist/contracts/reviews.d.ts +1 -0
- package/dist/contracts/reviews.d.ts.map +1 -1
- package/dist/contracts/reviews.js.map +1 -1
- package/dist/contracts/runs.d.ts +50 -10
- package/dist/contracts/runs.d.ts.map +1 -1
- package/dist/contracts/runs.js.map +1 -1
- package/dist/contracts/runtime-capabilities.d.ts +9 -0
- package/dist/contracts/runtime-capabilities.d.ts.map +1 -1
- package/dist/contracts/runtime-capabilities.js.map +1 -1
- package/dist/contracts/slot-recovery.d.ts +2 -2
- package/dist/contracts/slot-recovery.d.ts.map +1 -1
- package/dist/contracts/slot-recovery.js +5 -3
- package/dist/contracts/slot-recovery.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/performance/client.d.ts +18 -0
- package/dist/performance/client.d.ts.map +1 -0
- package/dist/performance/client.js +66 -0
- package/dist/performance/client.js.map +1 -0
- package/dist/performance/histogram.d.ts +5 -0
- package/dist/performance/histogram.d.ts.map +1 -0
- package/dist/performance/histogram.js +38 -0
- package/dist/performance/histogram.js.map +1 -0
- package/dist/performance/index.d.ts +10 -0
- package/dist/performance/index.d.ts.map +1 -0
- package/dist/performance/index.js +10 -0
- package/dist/performance/index.js.map +1 -0
- package/dist/performance/paint.d.ts +3 -0
- package/dist/performance/paint.d.ts.map +1 -0
- package/dist/performance/paint.js +14 -0
- package/dist/performance/paint.js.map +1 -0
- package/dist/performance/prometheus.d.ts +3 -0
- package/dist/performance/prometheus.d.ts.map +1 -0
- package/dist/performance/prometheus.js +53 -0
- package/dist/performance/prometheus.js.map +1 -0
- package/dist/performance/ranking.d.ts +26 -0
- package/dist/performance/ranking.d.ts.map +1 -0
- package/dist/performance/ranking.js +92 -0
- package/dist/performance/ranking.js.map +1 -0
- package/dist/performance/recorder.d.ts +43 -0
- package/dist/performance/recorder.d.ts.map +1 -0
- package/dist/performance/recorder.js +352 -0
- package/dist/performance/recorder.js.map +1 -0
- package/dist/performance/types.d.ts +93 -0
- package/dist/performance/types.d.ts.map +1 -0
- package/dist/performance/types.js +40 -0
- package/dist/performance/types.js.map +1 -0
- package/dist/performance/validation.d.ts +3 -0
- package/dist/performance/validation.d.ts.map +1 -0
- package/dist/performance/validation.js +55 -0
- package/dist/performance/validation.js.map +1 -0
- package/dist/recipes/step-io.d.ts +2 -0
- package/dist/recipes/step-io.d.ts.map +1 -1
- package/dist/recipes/step-io.js.map +1 -1
- package/dist/rpc/auth.d.ts +1 -0
- package/dist/rpc/auth.d.ts.map +1 -1
- package/dist/rpc/auth.js.map +1 -1
- package/dist/rpc/fs.d.ts +2 -0
- package/dist/rpc/fs.d.ts.map +1 -1
- package/dist/rpc/fs.js +2 -0
- package/dist/rpc/fs.js.map +1 -1
- package/dist/rpc/index.d.ts +1 -0
- package/dist/rpc/index.d.ts.map +1 -1
- package/dist/rpc/index.js +1 -0
- package/dist/rpc/index.js.map +1 -1
- package/dist/rpc/native-session.d.ts +17 -0
- package/dist/rpc/native-session.d.ts.map +1 -1
- package/dist/rpc/native-session.js.map +1 -1
- package/dist/rpc/performance.d.ts +6 -0
- package/dist/rpc/performance.d.ts.map +1 -0
- package/dist/rpc/performance.js +2 -0
- package/dist/rpc/performance.js.map +1 -0
- package/dist/rpc/registry.d.ts +3 -0
- package/dist/rpc/registry.d.ts.map +1 -1
- package/dist/rpc/registry.js +3 -0
- package/dist/rpc/registry.js.map +1 -1
- package/dist/rpc/run.d.ts +4 -0
- package/dist/rpc/run.d.ts.map +1 -1
- package/dist/rpc/runtime-capabilities.d.ts +6 -0
- package/dist/rpc/runtime-capabilities.d.ts.map +1 -1
- package/dist/rpc/runtime-capabilities.js.map +1 -1
- package/dist/rpc/slot.d.ts +2 -0
- package/dist/rpc/slot.d.ts.map +1 -1
- package/dist/rpc/tmux.d.ts +1 -1
- package/dist/rpc/tmux.d.ts.map +1 -1
- package/dist/runs/list-trim.d.ts.map +1 -1
- package/dist/runs/list-trim.js +1 -19
- package/dist/runs/list-trim.js.map +1 -1
- package/dist/runs/review-retries.d.ts +8 -2
- package/dist/runs/review-retries.d.ts.map +1 -1
- package/dist/runs/review-retries.js +140 -2
- package/dist/runs/review-retries.js.map +1 -1
- package/dist/surfaces/run-view-state.d.ts +22 -0
- package/dist/surfaces/run-view-state.d.ts.map +1 -0
- package/dist/surfaces/run-view-state.js +26 -0
- package/dist/surfaces/run-view-state.js.map +1 -0
- package/dist/surfaces/view-links.d.ts +1 -1
- package/dist/surfaces/view-links.d.ts.map +1 -1
- package/dist/surfaces/view-links.js +146 -17
- package/dist/surfaces/view-links.js.map +1 -1
- package/dist/surfaces/view-state.d.ts +50 -0
- package/dist/surfaces/view-state.d.ts.map +1 -0
- package/dist/surfaces/view-state.js +181 -0
- package/dist/surfaces/view-state.js.map +1 -0
- package/dist/transport/gateway-recovery.d.ts +39 -0
- package/dist/transport/gateway-recovery.d.ts.map +1 -0
- package/dist/transport/gateway-recovery.js +134 -0
- package/dist/transport/gateway-recovery.js.map +1 -0
- package/dist/utf8-byte-length.d.ts +2 -0
- package/dist/utf8-byte-length.d.ts.map +1 -0
- package/dist/utf8-byte-length.js +22 -0
- package/dist/utf8-byte-length.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +6 -1
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { BACKLOG_STATUSES } from '../contracts/backlog.js';
|
|
2
|
+
import { DECISION_EVIDENCE_RECIPE_RUN_PARAM, RUN_VIEW_FIELDS } from './run-view-state.js';
|
|
3
|
+
import { VIEW_STATE_PARAMETERS, viewListField, viewStateSearchParams } from './view-state.js';
|
|
2
4
|
// Full-view links preserve navigation state without exposing the app's private
|
|
3
5
|
// loopback origin or accepting connection credentials from an external link.
|
|
4
6
|
const routes = new Set([
|
|
@@ -35,7 +37,7 @@ export const ARTIFACT_BROWSER_PARAMS = [
|
|
|
35
37
|
'artifactPreview',
|
|
36
38
|
];
|
|
37
39
|
export const VIEW_QUERY_PARAMETERS = new Set([
|
|
38
|
-
...('cwd custom effort a b activity artifact artifactAc artifactRun artifactTrace artifactPhase artifactView assessment backlogProject backlogStatus capture create demo dispatchConfig draft draftMode file item resource runId contextId history historyRun host recipeRun recipeDependency ' +
|
|
40
|
+
...('cwd custom effort approvalMode a b activity artifact artifactAc artifactRun artifactTrace artifactPhase artifactView assessment backlogProject backlogStatus capture create demo dispatchConfig draft draftMode file item resource runId contextId history historyRun host recipeRun recipeDependency ' +
|
|
39
41
|
'recipeNode recipeArtifact recipeEvidenceMode recipeViewer recipeViewerMode recipeViewerPair review reviewAt reviewCheck reviewDrawer reviewFile comment commentFile commentLine commentHead ' +
|
|
40
42
|
'cmpSort cmpTab diffArtifact diffRun direction evidence evidencePreview family familyId flow flowType focus gate graph intent lane ' +
|
|
41
43
|
'layout lightboxIndex lightboxRecipeRunId machines modal mode model node panel parentRunId pr prDraft prEditor prHistory prHost project projects ' +
|
|
@@ -43,6 +45,8 @@ export const VIEW_QUERY_PARAMETERS = new Set([
|
|
|
43
45
|
'reviewValidationDepth round run runner runsTab slot sort start_ref startRef state status step suggestion tab tag ticket tokens trajectory transport ' +
|
|
44
46
|
'validationDepth variant view window worker group promote runnerPicker slotSelector spec workGraphProject wgSort wgDirection sharedView sessionId executionNodeId').split(' '),
|
|
45
47
|
...ARTIFACT_BROWSER_PARAMS,
|
|
48
|
+
RUN_VIEW_FIELDS.panels.key,
|
|
49
|
+
...VIEW_STATE_PARAMETERS,
|
|
46
50
|
]);
|
|
47
51
|
export function validViewRoute(route) {
|
|
48
52
|
if (typeof route !== 'string' ||
|
|
@@ -125,20 +129,39 @@ function companionViewRoute(location) {
|
|
|
125
129
|
};
|
|
126
130
|
const route = (name, values = {}) => {
|
|
127
131
|
const params = new URLSearchParams();
|
|
132
|
+
const selected = viewStateSearchParams(location.params);
|
|
128
133
|
if (name !== 'native') {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
134
|
+
const projects = viewListField('projects', [], 'csv');
|
|
135
|
+
const machines = viewListField('machines', [], 'csv');
|
|
136
|
+
projects.write(params, location.projects ?? projects.read(selected));
|
|
137
|
+
machines.write(params, location.machines ?? machines.read(selected));
|
|
133
138
|
}
|
|
134
139
|
for (const [key, value] of Object.entries(values))
|
|
135
140
|
if (value)
|
|
136
141
|
params.set(key, value);
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
+
for (const [key] of selected) {
|
|
143
|
+
if (!VIEW_QUERY_PARAMETERS.has(key) ||
|
|
144
|
+
params.has(key) ||
|
|
145
|
+
[
|
|
146
|
+
'projects',
|
|
147
|
+
'machines',
|
|
148
|
+
'draft',
|
|
149
|
+
'draftMode',
|
|
150
|
+
'cwd',
|
|
151
|
+
'custom',
|
|
152
|
+
'runner',
|
|
153
|
+
'model',
|
|
154
|
+
'effort',
|
|
155
|
+
'mode',
|
|
156
|
+
'approvalMode',
|
|
157
|
+
'runId',
|
|
158
|
+
'sessionId',
|
|
159
|
+
'executionNodeId',
|
|
160
|
+
'contextId',
|
|
161
|
+
].includes(key))
|
|
162
|
+
continue;
|
|
163
|
+
for (const value of selected.getAll(key))
|
|
164
|
+
params.append(key, value);
|
|
142
165
|
}
|
|
143
166
|
return `#${name}${params.toString() ? `?${params}` : ''}`;
|
|
144
167
|
};
|
|
@@ -299,29 +322,121 @@ function companionViewRoute(location) {
|
|
|
299
322
|
};
|
|
300
323
|
return collections[path] ? route(collections[path]) : null;
|
|
301
324
|
}
|
|
325
|
+
function configuredNativeScheme(value) {
|
|
326
|
+
const scheme = value?.trim().replace(/:\/\/$/, '');
|
|
327
|
+
return scheme &&
|
|
328
|
+
/^[a-z][a-z0-9+.-]*$/i.test(scheme) &&
|
|
329
|
+
!/^(unknown|https?|wss?|javascript|data|file|blob|about)$/i.test(scheme)
|
|
330
|
+
? scheme
|
|
331
|
+
: null;
|
|
332
|
+
}
|
|
333
|
+
/** Native links use existing Expo paths; virtual artifact selections open their real viewer. */
|
|
334
|
+
function nativeViewUrl(location, selection, scheme) {
|
|
335
|
+
const source = viewStateSearchParams(location.params);
|
|
336
|
+
const params = new URLSearchParams(selection);
|
|
337
|
+
const nativeSelectors = new Set([
|
|
338
|
+
'ac',
|
|
339
|
+
'evidenceDecision',
|
|
340
|
+
'evidenceExecution',
|
|
341
|
+
'path',
|
|
342
|
+
'filter',
|
|
343
|
+
'section',
|
|
344
|
+
]);
|
|
345
|
+
for (const [key] of source)
|
|
346
|
+
if (!params.has(key) &&
|
|
347
|
+
!privateSelectors.has(key) &&
|
|
348
|
+
(VIEW_QUERY_PARAMETERS.has(key) || nativeSelectors.has(key)))
|
|
349
|
+
for (const entry of source.getAll(key))
|
|
350
|
+
params.append(key, entry);
|
|
351
|
+
params.delete('sharedView');
|
|
352
|
+
let pathname = location.pathname.replace(/^\/\(tabs\)/, '') || '/';
|
|
353
|
+
if (location.artifactSelection) {
|
|
354
|
+
const artifact = location.artifactSelection;
|
|
355
|
+
if (!viewId.test(artifact.runId) ||
|
|
356
|
+
!artifact.path ||
|
|
357
|
+
artifact.path.startsWith('/') ||
|
|
358
|
+
/[\\\u0000-\u001f]/.test(artifact.path) ||
|
|
359
|
+
/^[a-z][a-z0-9+.-]*:/i.test(artifact.path) ||
|
|
360
|
+
artifact.path.split('/').includes('..') ||
|
|
361
|
+
(artifact.traceIndex !== undefined &&
|
|
362
|
+
(!Number.isSafeInteger(artifact.traceIndex) || artifact.traceIndex < 0)))
|
|
363
|
+
return null;
|
|
364
|
+
pathname = `/evidence/${artifact.runId}`;
|
|
365
|
+
params.set('evidence', artifact.path);
|
|
366
|
+
if (artifact.criterionId)
|
|
367
|
+
params.set('ac', artifact.criterionId);
|
|
368
|
+
params.set('recipeRun', artifact.recipeRunId ?? DECISION_EVIDENCE_RECIPE_RUN_PARAM);
|
|
369
|
+
}
|
|
370
|
+
const worker = params.get('worker');
|
|
371
|
+
if (location.workerSelection && worker)
|
|
372
|
+
params.set('workerRef', encodeURIComponent(worker));
|
|
373
|
+
let complete = true;
|
|
374
|
+
pathname = pathname.replace(/\[([^\]]+)\]/g, (segment, key) => {
|
|
375
|
+
const value = source.get(key);
|
|
376
|
+
if (!value || !viewId.test(value)) {
|
|
377
|
+
complete = false;
|
|
378
|
+
return segment;
|
|
379
|
+
}
|
|
380
|
+
params.delete(key);
|
|
381
|
+
return encodeURIComponent(value);
|
|
382
|
+
});
|
|
383
|
+
const supported = /^\/(?:fleet|runs|inbox|roadmap|backlog|work-graphs|dispatch-queue|prs|pr-automation|native|copilot|gate-review\/[^/]+|backlog\/edit\/[^/]+|(?:run|evidence|artifacts|visual-review|family|decision|roadmap|backlog|run-terminal|terminal|diff)\/[^/]+|diff\/slot\/[^/]+|workspace\/(?:run|slot)\/[^/]+\/(?:timeline|evidence|files|diff|gate|slot|terminal))$/.test(pathname);
|
|
384
|
+
return complete &&
|
|
385
|
+
supported &&
|
|
386
|
+
pathname
|
|
387
|
+
.split('/')
|
|
388
|
+
.filter(Boolean)
|
|
389
|
+
.every((part) => viewId.test(part))
|
|
390
|
+
? `${scheme}://${pathname}${params.size ? `?${params}` : ''}`
|
|
391
|
+
: null;
|
|
392
|
+
}
|
|
302
393
|
/** One mapping for Companion generation and Command Center receipt. */
|
|
303
|
-
export function resolveSharedViewLink(location, commandCenterUrl) {
|
|
304
|
-
|
|
394
|
+
export function resolveSharedViewLink(location, commandCenterUrl, appScheme) {
|
|
395
|
+
const webUrl = commandCenterUrl?.trim();
|
|
396
|
+
const nativeScheme = !webUrl && 'companion' in location ? configuredNativeScheme(appScheme) : null;
|
|
397
|
+
if (!webUrl && !nativeScheme)
|
|
305
398
|
return unavailable(noWebUrl, 'web-url-unset');
|
|
306
|
-
const error = commandCenterUrlError(
|
|
399
|
+
const error = webUrl ? commandCenterUrlError(webUrl) : null;
|
|
307
400
|
if (error)
|
|
308
401
|
return unavailable(`Web link unavailable: ${error}`, 'invalid-web-url');
|
|
309
|
-
const base = new URL(
|
|
402
|
+
const base = webUrl ? new URL(webUrl) : null;
|
|
310
403
|
let candidate;
|
|
311
404
|
if ('companion' in location) {
|
|
312
|
-
if (location.companion.unavailableMessage)
|
|
405
|
+
if (location.companion.unavailableMessage && !nativeScheme)
|
|
313
406
|
return unavailable(location.companion.unavailableMessage);
|
|
314
|
-
|
|
407
|
+
const companionPath = location.companion.pathname.replace(/^\/\(tabs\)/, '') || '/';
|
|
408
|
+
if (companionPath === '/native') {
|
|
315
409
|
if (location.companion.params.workerManaged === '1')
|
|
316
410
|
return unavailable('Web link unavailable: task conversations have no exact web route yet.');
|
|
317
411
|
if (location.companion.params.sessionObserved !== '1')
|
|
318
412
|
return unavailable('Web link unavailable: select a loaded conversation.');
|
|
319
413
|
}
|
|
320
414
|
candidate = companionViewRoute(location.companion);
|
|
415
|
+
if (nativeScheme) {
|
|
416
|
+
const native = location.companion;
|
|
417
|
+
if ((companionPath === '/native' || companionPath === '/terminal/worker') && !candidate)
|
|
418
|
+
return unavailable('This selection cannot be shared.', 'invalid-view');
|
|
419
|
+
const params = candidate && validViewRoute(candidate)
|
|
420
|
+
? new URLSearchParams(candidate.split('?')[1] ?? '')
|
|
421
|
+
: new URLSearchParams();
|
|
422
|
+
const url = nativeViewUrl(native, params, nativeScheme);
|
|
423
|
+
if (!url)
|
|
424
|
+
return unavailable('This view cannot be shared.', 'invalid-view');
|
|
425
|
+
const target = new URL(url);
|
|
426
|
+
return {
|
|
427
|
+
status: 'available',
|
|
428
|
+
route: candidate
|
|
429
|
+
? withoutSharedViewMarker(candidate)
|
|
430
|
+
: `${target.pathname}${target.search}`,
|
|
431
|
+
url,
|
|
432
|
+
};
|
|
433
|
+
}
|
|
321
434
|
}
|
|
322
435
|
else if ('route' in location)
|
|
323
436
|
candidate = location.route;
|
|
324
437
|
else {
|
|
438
|
+
if (!base)
|
|
439
|
+
return unavailable(noWebUrl, 'web-url-unset');
|
|
325
440
|
try {
|
|
326
441
|
const incoming = new URL(location.url);
|
|
327
442
|
if (incoming.origin !== base.origin ||
|
|
@@ -377,11 +492,25 @@ export function resolveSharedViewLink(location, commandCenterUrl) {
|
|
|
377
492
|
const params = new URLSearchParams(query);
|
|
378
493
|
const seen = new Set();
|
|
379
494
|
for (const [key] of params) {
|
|
380
|
-
if (privateSelectors.has(key) ||
|
|
495
|
+
if (privateSelectors.has(key) ||
|
|
496
|
+
(seen.has(key) &&
|
|
497
|
+
![
|
|
498
|
+
'round',
|
|
499
|
+
'treeOpen',
|
|
500
|
+
'branchFilesClosed',
|
|
501
|
+
'changesClosed',
|
|
502
|
+
'messages',
|
|
503
|
+
'turnFiles',
|
|
504
|
+
'rawClaims',
|
|
505
|
+
'devicePanes',
|
|
506
|
+
'claims',
|
|
507
|
+
].includes(key)))
|
|
381
508
|
return unavailable('Web link unavailable: this selection cannot be shared.', 'invalid-view');
|
|
382
509
|
seen.add(key);
|
|
383
510
|
}
|
|
384
511
|
const route = withoutSharedViewMarker(candidate);
|
|
512
|
+
if (!base)
|
|
513
|
+
return unavailable(noWebUrl, 'web-url-unset');
|
|
385
514
|
params.set('sharedView', '1');
|
|
386
515
|
base.hash = `${path}${params.toString() ? `?${params}` : ''}`;
|
|
387
516
|
return { status: 'available', route, url: base.href };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-links.js","sourceRoot":"","sources":["../../src/surfaces/view-links.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"view-links.js","sourceRoot":"","sources":["../../src/surfaces/view-links.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/** Persistent display choices. Contexts declare fields; platform adapters own navigation. */
|
|
2
|
+
export type ViewStateHistory = 'push' | 'replace';
|
|
3
|
+
export interface ViewStateField<T> {
|
|
4
|
+
readonly key: string;
|
|
5
|
+
read(params: URLSearchParams): T;
|
|
6
|
+
write(params: URLSearchParams, value: T): void;
|
|
7
|
+
}
|
|
8
|
+
export interface ViewStateValues {
|
|
9
|
+
get<T>(field: ViewStateField<T>): T;
|
|
10
|
+
set<T>(field: ViewStateField<T>, value: NoInfer<T>): void;
|
|
11
|
+
}
|
|
12
|
+
export interface ViewStateAdapter {
|
|
13
|
+
read(): URLSearchParams;
|
|
14
|
+
write(params: URLSearchParams, history: ViewStateHistory): void;
|
|
15
|
+
subscribe(listener: () => void): () => void;
|
|
16
|
+
}
|
|
17
|
+
export interface ViewStateContext {
|
|
18
|
+
get<T>(field: ViewStateField<T>): T;
|
|
19
|
+
set<T>(field: ViewStateField<T>, value: NoInfer<T>, history?: ViewStateHistory): void;
|
|
20
|
+
update(edit: (values: ViewStateValues) => void, history?: ViewStateHistory): void;
|
|
21
|
+
snapshot(): string;
|
|
22
|
+
subscribe(listener: () => void): () => void;
|
|
23
|
+
}
|
|
24
|
+
export declare function viewStateParams(source: URLSearchParams, edit: (values: ViewStateValues) => void): URLSearchParams;
|
|
25
|
+
export declare function createViewStateContext(adapter: ViewStateAdapter): ViewStateContext;
|
|
26
|
+
export declare function viewTextField(key: string, defaultValue?: string): ViewStateField<string>;
|
|
27
|
+
export declare function viewChoiceField<T extends string>(key: string, defaultValue: T, choices: readonly T[]): ViewStateField<T>;
|
|
28
|
+
export declare function viewListField(key: string, defaultValue?: readonly string[], encoding?: 'repeat' | 'csv'): ViewStateField<readonly string[]>;
|
|
29
|
+
/** A compact collection contains only toggles that differ from their context's defaults. */
|
|
30
|
+
export declare function viewToggleField(key: string, id: string, defaultValue: boolean): ViewStateField<boolean>;
|
|
31
|
+
/** Router adapters use the same repeated-value representation as browser query strings. */
|
|
32
|
+
export declare function viewStateSearchParams(values: Readonly<Record<string, string | readonly string[] | undefined>>): URLSearchParams;
|
|
33
|
+
/** Undefined entries remove old route parameters when a configured default is restored. */
|
|
34
|
+
export declare function viewStateRoutePatch(before: URLSearchParams, next: URLSearchParams): Record<string, string | string[] | undefined>;
|
|
35
|
+
export declare function viewNullableTextField(key: string): ViewStateField<string | null>;
|
|
36
|
+
export declare function viewIntegerField(key: string, defaultValue?: number): ViewStateField<number>;
|
|
37
|
+
/** Explicit per-entry overrides, such as opened/closed folds whose default depends on data. */
|
|
38
|
+
export declare function viewToggleMapField(key: string): ViewStateField<Readonly<Record<string, boolean>>>;
|
|
39
|
+
/** A status-derived default may change; an explicit disclosure choice must survive it. */
|
|
40
|
+
export declare function viewToggleOverrideField(key: string, id: string, defaultValue: boolean): ViewStateField<boolean>;
|
|
41
|
+
/** Display parameters carried across sibling workspace tabs; no action or authority inputs. */
|
|
42
|
+
export declare const VIEW_STATE_PARAMETERS: ReadonlySet<string>;
|
|
43
|
+
export declare function selectedViewStateParams(params: Readonly<Record<string, string | readonly string[] | undefined>>): Record<string, string | string[]>;
|
|
44
|
+
/** An explicit new selection has its own index; reloading the same selection keeps it. */
|
|
45
|
+
export declare function viewScopedIntegerField(key: string, scopeKey: string, scope: string, defaultValue?: number): ViewStateField<number>;
|
|
46
|
+
/** Explicit destination selectors win; current display options survive narrowed selections. */
|
|
47
|
+
export declare function mergeViewStateParams<T extends object>(params: Readonly<Record<string, string | readonly string[] | undefined>>, destination: T): {
|
|
48
|
+
[x: string]: string | string[];
|
|
49
|
+
} & T;
|
|
50
|
+
//# sourceMappingURL=view-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-state.d.ts","sourceRoot":"","sources":["../../src/surfaces/view-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
export function viewStateParams(source, edit) {
|
|
2
|
+
const params = new URLSearchParams(source);
|
|
3
|
+
edit({
|
|
4
|
+
get: (field) => field.read(params),
|
|
5
|
+
set: (field, value) => field.write(params, value),
|
|
6
|
+
});
|
|
7
|
+
return params;
|
|
8
|
+
}
|
|
9
|
+
export function createViewStateContext(adapter) {
|
|
10
|
+
const update = (edit, history = 'push') => {
|
|
11
|
+
const before = adapter.read();
|
|
12
|
+
const next = viewStateParams(before, edit);
|
|
13
|
+
if (before.toString() !== next.toString())
|
|
14
|
+
adapter.write(next, history);
|
|
15
|
+
};
|
|
16
|
+
return {
|
|
17
|
+
get: (field) => field.read(adapter.read()),
|
|
18
|
+
set: (field, value, history) => update((values) => values.set(field, value), history),
|
|
19
|
+
update,
|
|
20
|
+
snapshot: () => adapter.read().toString(),
|
|
21
|
+
subscribe: (listener) => adapter.subscribe(listener),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export function viewTextField(key, defaultValue = '') {
|
|
25
|
+
return {
|
|
26
|
+
key,
|
|
27
|
+
read: (params) => params.get(key) ?? defaultValue,
|
|
28
|
+
write: (params, value) => {
|
|
29
|
+
if (value === defaultValue)
|
|
30
|
+
params.delete(key);
|
|
31
|
+
else
|
|
32
|
+
params.set(key, value);
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export function viewChoiceField(key, defaultValue, choices) {
|
|
37
|
+
return {
|
|
38
|
+
...viewTextField(key, defaultValue),
|
|
39
|
+
read: (params) => choices.find((choice) => choice === params.get(key)) ?? defaultValue,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export function viewListField(key, defaultValue = [], encoding = 'repeat') {
|
|
43
|
+
return {
|
|
44
|
+
key,
|
|
45
|
+
read: (params) => {
|
|
46
|
+
if (!params.has(key))
|
|
47
|
+
return [...defaultValue];
|
|
48
|
+
const values = params.getAll(key);
|
|
49
|
+
return (encoding === 'csv' ? values.flatMap((value) => value.split(',')) : values).filter((value) => value !== '');
|
|
50
|
+
},
|
|
51
|
+
write: (params, values) => {
|
|
52
|
+
params.delete(key);
|
|
53
|
+
if (values.length === defaultValue.length &&
|
|
54
|
+
values.every((value, i) => value === defaultValue[i]))
|
|
55
|
+
return;
|
|
56
|
+
if (!values.length)
|
|
57
|
+
params.set(key, '');
|
|
58
|
+
else if (encoding === 'csv')
|
|
59
|
+
params.set(key, values.join(','));
|
|
60
|
+
else
|
|
61
|
+
for (const value of values)
|
|
62
|
+
params.append(key, value);
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/** A compact collection contains only toggles that differ from their context's defaults. */
|
|
67
|
+
export function viewToggleField(key, id, defaultValue) {
|
|
68
|
+
const entries = viewListField(key, [], 'csv');
|
|
69
|
+
const entryId = id.replaceAll('%', '%25').replaceAll(',', '%2C');
|
|
70
|
+
return {
|
|
71
|
+
key,
|
|
72
|
+
read: (params) => {
|
|
73
|
+
for (const value of entries.read(params).slice().reverse()) {
|
|
74
|
+
if (value === entryId)
|
|
75
|
+
return true;
|
|
76
|
+
if (value === `!${entryId}`)
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
return defaultValue;
|
|
80
|
+
},
|
|
81
|
+
write: (params, value) => {
|
|
82
|
+
const values = entries
|
|
83
|
+
.read(params)
|
|
84
|
+
.filter((entry) => entry !== entryId && entry !== `!${entryId}`);
|
|
85
|
+
if (value !== defaultValue)
|
|
86
|
+
values.push(value ? entryId : `!${entryId}`);
|
|
87
|
+
entries.write(params, [...new Set(values)].sort());
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/** Router adapters use the same repeated-value representation as browser query strings. */
|
|
92
|
+
export function viewStateSearchParams(values) {
|
|
93
|
+
const params = new URLSearchParams();
|
|
94
|
+
for (const [key, value] of Object.entries(values)) {
|
|
95
|
+
if (typeof value === 'string')
|
|
96
|
+
params.append(key, value);
|
|
97
|
+
else
|
|
98
|
+
for (const item of value ?? [])
|
|
99
|
+
params.append(key, item);
|
|
100
|
+
}
|
|
101
|
+
return params;
|
|
102
|
+
}
|
|
103
|
+
/** Undefined entries remove old route parameters when a configured default is restored. */
|
|
104
|
+
export function viewStateRoutePatch(before, next) {
|
|
105
|
+
const patch = {};
|
|
106
|
+
for (const key of new Set([...before.keys(), ...next.keys()])) {
|
|
107
|
+
const values = next.getAll(key);
|
|
108
|
+
patch[key] = values.length > 1 ? values : values[0];
|
|
109
|
+
}
|
|
110
|
+
return patch;
|
|
111
|
+
}
|
|
112
|
+
export function viewNullableTextField(key) {
|
|
113
|
+
const text = viewTextField(key);
|
|
114
|
+
return {
|
|
115
|
+
key,
|
|
116
|
+
read: (params) => text.read(params) || null,
|
|
117
|
+
write: (params, value) => text.write(params, value ?? ''),
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
export function viewIntegerField(key, defaultValue = 0) {
|
|
121
|
+
const text = viewTextField(key, String(defaultValue));
|
|
122
|
+
return {
|
|
123
|
+
key,
|
|
124
|
+
read: (params) => {
|
|
125
|
+
const value = Number(text.read(params));
|
|
126
|
+
return Number.isSafeInteger(value) && value >= 0 ? value : defaultValue;
|
|
127
|
+
},
|
|
128
|
+
write: (params, value) => text.write(params, String(value)),
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
/** Explicit per-entry overrides, such as opened/closed folds whose default depends on data. */
|
|
132
|
+
export function viewToggleMapField(key) {
|
|
133
|
+
const list = viewListField(key, [], 'csv');
|
|
134
|
+
return {
|
|
135
|
+
key,
|
|
136
|
+
read: (params) => Object.fromEntries(list
|
|
137
|
+
.read(params)
|
|
138
|
+
.map((entry) => entry.startsWith('!')
|
|
139
|
+
? [entry.slice(1).replaceAll('%2C', ',').replaceAll('%25', '%'), false]
|
|
140
|
+
: [entry.replaceAll('%2C', ',').replaceAll('%25', '%'), true])),
|
|
141
|
+
write: (params, values) => list.write(params, Object.entries(values)
|
|
142
|
+
.map(([id, value]) => value
|
|
143
|
+
? id.replaceAll('%', '%25').replaceAll(',', '%2C')
|
|
144
|
+
: `!${id.replaceAll('%', '%25').replaceAll(',', '%2C')}`)
|
|
145
|
+
.sort()),
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
/** A status-derived default may change; an explicit disclosure choice must survive it. */
|
|
149
|
+
export function viewToggleOverrideField(key, id, defaultValue) {
|
|
150
|
+
const field = viewToggleMapField(key);
|
|
151
|
+
return {
|
|
152
|
+
key,
|
|
153
|
+
read: (params) => field.read(params)[id] ?? defaultValue,
|
|
154
|
+
write: (params, value) => field.write(params, { ...field.read(params), [id]: value }),
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
/** Display parameters carried across sibling workspace tabs; no action or authority inputs. */
|
|
158
|
+
export const VIEW_STATE_PARAMETERS = new Set('panels round step section runsTab flow lane sort q tag workers treeOpen branchFilesView branchFilesClosed changesView changesClosed problemSource commentFilter commentAuthor commentThread logFilter compareStep workerSession expandedSlot messages turnFiles rawClaims prReviews prMonitors folds terminalView reviewReport stage delivery diffMode devicePanes deviceLayout sidebarWidth diffFilter diffQuery diffPath mobileDiffMode claims evidenceFilter compareIndex mediaIndex mediaSource prFilter subtasks mediaGroups familyCompareIndex assessmentConsumer finetuneProject flowNode nativeFilesTab nativeDirectory nativeFile nativeFileView projects machines'.split(' '));
|
|
159
|
+
export function selectedViewStateParams(params) {
|
|
160
|
+
return Object.fromEntries(Object.entries(params).flatMap(([key, value]) => VIEW_STATE_PARAMETERS.has(key) && value !== undefined
|
|
161
|
+
? [[key, typeof value === 'string' ? value : [...value]]]
|
|
162
|
+
: []));
|
|
163
|
+
}
|
|
164
|
+
/** An explicit new selection has its own index; reloading the same selection keeps it. */
|
|
165
|
+
export function viewScopedIntegerField(key, scopeKey, scope, defaultValue = 0) {
|
|
166
|
+
const index = viewIntegerField(key, defaultValue);
|
|
167
|
+
const owner = viewTextField(scopeKey);
|
|
168
|
+
return {
|
|
169
|
+
key,
|
|
170
|
+
read: (params) => (owner.read(params) === scope ? index.read(params) : defaultValue),
|
|
171
|
+
write: (params, value) => {
|
|
172
|
+
index.write(params, value);
|
|
173
|
+
owner.write(params, value === defaultValue ? '' : scope);
|
|
174
|
+
},
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
/** Explicit destination selectors win; current display options survive narrowed selections. */
|
|
178
|
+
export function mergeViewStateParams(params, destination) {
|
|
179
|
+
return { ...selectedViewStateParams(params), ...destination };
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=view-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-state.js","sourceRoot":"","sources":["../../src/surfaces/view-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/** One retry/liveness policy; platforms supply sockets and lifecycle/network wake events. */
|
|
2
|
+
export type GatewayRecoveryState = 'connecting' | 'connected' | 'disconnected';
|
|
3
|
+
export interface GatewayRecoveryOptions {
|
|
4
|
+
enabled(): boolean;
|
|
5
|
+
connect(): void;
|
|
6
|
+
retire(): void;
|
|
7
|
+
canProbe(): boolean;
|
|
8
|
+
ping(): Promise<unknown>;
|
|
9
|
+
onResponse?(latencyMs: number, completedAt: number): void;
|
|
10
|
+
}
|
|
11
|
+
export declare const GATEWAY_HEARTBEAT_MS = 30000;
|
|
12
|
+
export declare const GATEWAY_CONNECT_DEADLINE_MS = 20000;
|
|
13
|
+
export declare const GATEWAY_PING_DEADLINE_MS = 5000;
|
|
14
|
+
/** Network and RPC timeouts never revoke a saved login or its cached observations. */
|
|
15
|
+
export declare function gatewayAuthenticationRefused(error: unknown): boolean;
|
|
16
|
+
export declare const GATEWAY_OFFLINE_LABEL = "Gateway offline \u00B7 Reconnecting\u2026";
|
|
17
|
+
export declare function gatewayOfflineLabel(state: string, enabled: boolean): string | undefined;
|
|
18
|
+
export declare class GatewayRecovery {
|
|
19
|
+
private readonly options;
|
|
20
|
+
private state?;
|
|
21
|
+
private timer?;
|
|
22
|
+
private delay;
|
|
23
|
+
private generation;
|
|
24
|
+
private probing;
|
|
25
|
+
private disposed;
|
|
26
|
+
private lastWake;
|
|
27
|
+
constructor(options: GatewayRecoveryOptions);
|
|
28
|
+
update(state: GatewayRecoveryState): void;
|
|
29
|
+
/** Focus/visibility/network events bypass the wait, sharing one attempt or ping. */
|
|
30
|
+
wake(): void;
|
|
31
|
+
reset(): void;
|
|
32
|
+
dispose(): void;
|
|
33
|
+
private enabled;
|
|
34
|
+
private probe;
|
|
35
|
+
private fail;
|
|
36
|
+
private schedule;
|
|
37
|
+
private cancel;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=gateway-recovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway-recovery.d.ts","sourceRoot":"","sources":["../../src/transport/gateway-recovery.ts"],"names":[],"mappings":"AAEA,6FAA6F;AAC7F,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,CAAC;AAE/E,MAAM,WAAW,sBAAsB;IACrC,OAAO,IAAI,OAAO,CAAC;IACnB,OAAO,IAAI,IAAI,CAAC;IAChB,MAAM,IAAI,IAAI,CAAC;IACf,QAAQ,IAAI,OAAO,CAAC;IACpB,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACzB,UAAU,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3D;AAED,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAC3C,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAClD,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAE9C,sFAAsF;AACtF,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAQpE;AAED,eAAO,MAAM,qBAAqB,8CAAoC,CAAC;AAEvE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAEvF;AAED,qBAAa,eAAe;IASd,OAAO,CAAC,QAAQ,CAAC,OAAO;IARpC,OAAO,CAAC,KAAK,CAAC,CAAuB;IACrC,OAAO,CAAC,KAAK,CAAC,CAAgC;IAC9C,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAa;gBAEA,OAAO,EAAE,sBAAsB;IAE5D,MAAM,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAoBzC,oFAAoF;IACpF,IAAI,IAAI,IAAI;IAYZ,KAAK,IAAI,IAAI;IAOb,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,KAAK;IA6Bb,OAAO,CAAC,IAAI;IAOZ,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,MAAM;CAMf"}
|