sneakoscope 4.0.13 → 4.0.14
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/README.md +10 -2
- package/crates/sks-core/Cargo.lock +1 -1
- package/crates/sks-core/Cargo.toml +1 -1
- package/crates/sks-core/src/main.rs +1 -1
- package/dist/bin/sks.js +1 -1
- package/dist/cli/global-mode-router.js +2 -1
- package/dist/core/commands/mad-sks-command.js +3 -0
- package/dist/core/fsx.js +1 -1
- package/dist/core/providers/glm/bench/glm-bench-model-lock-proof.js +32 -3
- package/dist/core/providers/glm/bench/glm-benchmark-runner.js +29 -5
- package/dist/core/providers/glm/bench/glm-benchmark-types.js +1 -1
- package/dist/core/providers/glm/naruto/glm-naruto-critical-path.js +51 -0
- package/dist/core/providers/glm/naruto/glm-naruto-final-seal.js +9 -2
- package/dist/core/providers/glm/naruto/glm-naruto-orchestrator.js +101 -15
- package/dist/core/providers/glm/naruto/glm-naruto-parallelism-summary.js +55 -0
- package/dist/core/providers/glm/naruto/glm-naruto-requirement-coverage.js +92 -0
- package/dist/core/providers/glm/naruto/glm-naruto-requirement-ledger.js +42 -0
- package/dist/core/providers/glm/naruto/glm-naruto-stage-scheduler.js +85 -0
- package/dist/core/providers/glm/naruto/glm-naruto-task-size-classifier.js +12 -0
- package/dist/core/providers/glm/naruto/glm-naruto-trace.js +4 -0
- package/dist/core/providers/glm/naruto/glm-naruto-verifier-output.js +5 -0
- package/dist/core/providers/glm/naruto/glm-naruto-worker-pool.js +130 -44
- package/dist/core/providers/glm/naruto/glm-naruto-worker-runtime.js +6 -2
- package/dist/core/routes/model-mode-router.js +44 -0
- package/dist/core/version.js +1 -1
- package/package.json +24 -1
- package/dist/scripts/agent-dynamic-pool-fixture.js +0 -80
- package/dist/scripts/agent-native-release-gate.js +0 -274
- package/dist/scripts/agent-patch-swarm-gate-lib.js +0 -113
- package/dist/scripts/agent-real-codex-patch-envelope-smoke.js +0 -126
- package/dist/scripts/agent-route-blackbox-lib.js +0 -132
- package/dist/scripts/blackbox-command-import-smoke.js +0 -143
- package/dist/scripts/blackbox-global-shim.js +0 -77
- package/dist/scripts/blackbox-matrix.js +0 -70
- package/dist/scripts/blackbox-npx-one-shot.js +0 -69
- package/dist/scripts/blackbox-pack-install.js +0 -174
- package/dist/scripts/build-dist.js +0 -64
- package/dist/scripts/check-architecture.js +0 -135
- package/dist/scripts/check-cli-entrypoint.js +0 -43
- package/dist/scripts/check-command-module-budget.js +0 -25
- package/dist/scripts/check-dist-runtime.js +0 -100
- package/dist/scripts/check-feature-quality.js +0 -53
- package/dist/scripts/check-legacy-free.js +0 -66
- package/dist/scripts/check-package-boundary.js +0 -108
- package/dist/scripts/check-pipeline-budget.js +0 -69
- package/dist/scripts/check-pipeline-runtime.js +0 -25
- package/dist/scripts/check-publish-tag.js +0 -30
- package/dist/scripts/check-route-modularity.js +0 -82
- package/dist/scripts/check-runtime-schemas.js +0 -87
- package/dist/scripts/check-source-runtime.js +0 -4
- package/dist/scripts/check-ts-contracts.js +0 -69
- package/dist/scripts/check-ts-suppressions.js +0 -58
- package/dist/scripts/clean-dist.js +0 -8
- package/dist/scripts/codex-0140-feature-gate-lib.js +0 -14
- package/dist/scripts/codex-config-eperm-fixture.js +0 -32
- package/dist/scripts/codex-lb-missing-env-regression.js +0 -40
- package/dist/scripts/codex-native-runtime-e2e-fixture.js +0 -75
- package/dist/scripts/codex-project-config-policy-merge-regression.js +0 -92
- package/dist/scripts/core-skill-legacy-promotion-api-audit.js +0 -54
- package/dist/scripts/ensure-bin-executable.js +0 -10
- package/dist/scripts/fixtures/fake-codex-config-loader.js +0 -51
- package/dist/scripts/github-release-body-helper.js +0 -65
- package/dist/scripts/gpt-image-2-real-file-smoke.js +0 -448
- package/dist/scripts/hooks-no-unsupported-handlers.js +0 -15
- package/dist/scripts/hooks-runtime-replay-warning-zero-v2.js +0 -26
- package/dist/scripts/hooks-runtime-replay-warning-zero.js +0 -10
- package/dist/scripts/hooks-trust-warning-zero.js +0 -14
- package/dist/scripts/lib/codex-sdk-gate-lib.js +0 -92
- package/dist/scripts/lib/ensure-dist-fresh.js +0 -142
- package/dist/scripts/lib/git-worktree-fixture.js +0 -33
- package/dist/scripts/lib/mad-sks-actual-executor-check-lib.js +0 -255
- package/dist/scripts/lib/native-cli-session-swarm-check-lib.js +0 -79
- package/dist/scripts/lib/real-codex-parallel-gate.js +0 -94
- package/dist/scripts/lib/real-codex-parallel-proof-fixture.js +0 -55
- package/dist/scripts/lib/valid-png-fixture.js +0 -25
- package/dist/scripts/mad-sks-live-protected-core-smoke.js +0 -5
- package/dist/scripts/naruto-real-local-gpt-final-smoke.js +0 -25
- package/dist/scripts/perf-gate.js +0 -39
- package/dist/scripts/prepublish-release-check-or-fast.js +0 -121
- package/dist/scripts/release-3112-required-gates.js +0 -30
- package/dist/scripts/release-3113-required-gates.js +0 -25
- package/dist/scripts/release-4000-required-gates.js +0 -36
- package/dist/scripts/release-4001-required-gates.js +0 -13
- package/dist/scripts/release-4002-required-gates.js +0 -14
- package/dist/scripts/release-check-dynamic-execute.js +0 -259
- package/dist/scripts/release-check-dynamic.js +0 -107
- package/dist/scripts/release-check-stamp.js +0 -261
- package/dist/scripts/release-gate-dag-runner.js +0 -56
- package/dist/scripts/release-gate-existence-audit.js +0 -111
- package/dist/scripts/release-gate-planner.js +0 -34
- package/dist/scripts/release-gate-worker.js +0 -10
- package/dist/scripts/release-speed-summary.js +0 -67
- package/dist/scripts/repo-audit.js +0 -83
- package/dist/scripts/rust-smoke.js +0 -5
- package/dist/scripts/sizecheck.js +0 -146
- package/dist/scripts/sks-1-11-gate-lib.js +0 -78
- package/dist/scripts/sks-1-18-gate-lib.js +0 -55
- package/dist/scripts/tmux-removal-inventory.js +0 -36
- package/dist/scripts/write-build-manifest.js +0 -71
- package/dist/scripts/zellij-dashboard-watch.js +0 -41
- package/dist/scripts/zellij-right-column-geometry-proof.js +0 -162
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
// @ts-nocheck
|
|
3
|
-
import fs from 'node:fs';
|
|
4
|
-
import fsp from 'node:fs/promises';
|
|
5
|
-
import path from 'node:path';
|
|
6
|
-
import crypto from 'node:crypto';
|
|
7
|
-
import { fileURLToPath } from 'node:url';
|
|
8
|
-
import { writeDistFreshStamp, sourceSnapshot } from './lib/ensure-dist-fresh.js';
|
|
9
|
-
const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', '..');
|
|
10
|
-
const pkg = JSON.parse(fs.readFileSync(path.join(root, 'package.json'), 'utf8'));
|
|
11
|
-
const distRoot = path.join(root, 'dist');
|
|
12
|
-
const srcRoot = path.join(root, 'src');
|
|
13
|
-
if (!fs.existsSync(distRoot)) {
|
|
14
|
-
throw new Error('dist directory does not exist; run npm run build first');
|
|
15
|
-
}
|
|
16
|
-
const files = [];
|
|
17
|
-
await collect(distRoot, files);
|
|
18
|
-
const sorted = files.sort();
|
|
19
|
-
const mjsRuntime = sorted.filter((f) => f.endsWith('.mjs')).length;
|
|
20
|
-
const compiledJsCount = sorted.filter((f) => f.endsWith('.js')).length;
|
|
21
|
-
const compiledDtsCount = sorted.filter((f) => f.endsWith('.d.ts')).length;
|
|
22
|
-
const source = sourceSnapshot();
|
|
23
|
-
const distStamp = writeDistFreshStamp();
|
|
24
|
-
const srcMjsRuntimeFiles = await collectSrcMjsRuntimeFiles();
|
|
25
|
-
await fsp.writeFile(path.join(distRoot, 'build-manifest.json'), `${JSON.stringify({
|
|
26
|
-
schema: 'sks.dist-build.v2',
|
|
27
|
-
version: pkg.version,
|
|
28
|
-
package_version: pkg.version,
|
|
29
|
-
typescript: true,
|
|
30
|
-
mjs_runtime_files: mjsRuntime,
|
|
31
|
-
compiled_file_count: compiledJsCount + compiledDtsCount,
|
|
32
|
-
compiled_js_count: compiledJsCount,
|
|
33
|
-
compiled_dts_count: compiledDtsCount,
|
|
34
|
-
source_digest: source.digest,
|
|
35
|
-
source_file_count: source.file_count,
|
|
36
|
-
source_files_hash: sha256(source.files.join('\n')),
|
|
37
|
-
source_list_hash: sha256(source.files.join('\n')),
|
|
38
|
-
src_mjs_runtime_files: srcMjsRuntimeFiles.length,
|
|
39
|
-
dist_stamp_schema: distStamp.schema,
|
|
40
|
-
files: sorted,
|
|
41
|
-
}, null, 2)}\n`);
|
|
42
|
-
async function collect(dir, out) {
|
|
43
|
-
for (const entry of await fsp.readdir(dir, { withFileTypes: true })) {
|
|
44
|
-
const file = path.join(dir, entry.name);
|
|
45
|
-
if (entry.isDirectory())
|
|
46
|
-
await collect(file, out);
|
|
47
|
-
else if (entry.isFile())
|
|
48
|
-
out.push(path.relative(distRoot, file).split(path.sep).join('/'));
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
async function collectSrcMjsRuntimeFiles() {
|
|
52
|
-
const out = [];
|
|
53
|
-
await collectSrcMjs(srcRoot, out);
|
|
54
|
-
return out.sort();
|
|
55
|
-
}
|
|
56
|
-
async function collectSrcMjs(dir, out) {
|
|
57
|
-
if (!fs.existsSync(dir))
|
|
58
|
-
return;
|
|
59
|
-
for (const entry of await fsp.readdir(dir, { withFileTypes: true })) {
|
|
60
|
-
const file = path.join(dir, entry.name);
|
|
61
|
-
if (entry.isDirectory())
|
|
62
|
-
await collectSrcMjs(file, out);
|
|
63
|
-
else if (entry.isFile() && entry.name.endsWith('.mjs')) {
|
|
64
|
-
out.push(path.relative(srcRoot, file).split(path.sep).join('/'));
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
function sha256(value) {
|
|
69
|
-
return crypto.createHash('sha256').update(value).digest('hex');
|
|
70
|
-
}
|
|
71
|
-
//# sourceMappingURL=write-build-manifest.js.map
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import fs from 'node:fs';
|
|
3
|
-
import path from 'node:path';
|
|
4
|
-
import { buildZellijDashboardSnapshot, renderZellijDashboardText } from '../core/zellij/zellij-dashboard-renderer.js';
|
|
5
|
-
const args = process.argv.slice(2);
|
|
6
|
-
const snapshotPath = path.resolve(String(readOption(args, '--snapshot', '') || ''));
|
|
7
|
-
const intervalMs = Math.max(250, Number(readOption(args, '--interval-ms', '1000')) || 1000);
|
|
8
|
-
const once = args.includes('--once');
|
|
9
|
-
if (!snapshotPath) {
|
|
10
|
-
console.error('Usage: zellij-dashboard-watch --snapshot <path> [--interval-ms 1000] [--once]');
|
|
11
|
-
process.exit(2);
|
|
12
|
-
}
|
|
13
|
-
render();
|
|
14
|
-
if (!once)
|
|
15
|
-
setInterval(render, intervalMs);
|
|
16
|
-
function render() {
|
|
17
|
-
const snapshot = readSnapshot(snapshotPath);
|
|
18
|
-
const text = renderZellijDashboardText(snapshot);
|
|
19
|
-
process.stdout.write(`\x1b[2J\x1b[H${text}\nUpdated: ${new Date().toISOString()}\n`);
|
|
20
|
-
}
|
|
21
|
-
function readSnapshot(file) {
|
|
22
|
-
try {
|
|
23
|
-
const parsed = JSON.parse(fs.readFileSync(file, 'utf8'));
|
|
24
|
-
return buildZellijDashboardSnapshot(parsed);
|
|
25
|
-
}
|
|
26
|
-
catch (err) {
|
|
27
|
-
return buildZellijDashboardSnapshot({
|
|
28
|
-
mission_id: path.basename(path.dirname(file)) || 'unknown',
|
|
29
|
-
mode: 'dashboard-watch',
|
|
30
|
-
latest_blockers: [`snapshot_read_failed:${err?.code || err?.message || String(err)}`]
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
function readOption(list, name, fallback) {
|
|
35
|
-
const index = list.indexOf(name);
|
|
36
|
-
if (index >= 0 && list[index + 1])
|
|
37
|
-
return list[index + 1];
|
|
38
|
-
const prefixed = list.find((arg) => arg.startsWith(`${name}=`));
|
|
39
|
-
return prefixed ? prefixed.slice(name.length + 1) : fallback;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=zellij-dashboard-watch.js.map
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
// @ts-nocheck
|
|
3
|
-
import os from 'node:os';
|
|
4
|
-
import path from 'node:path';
|
|
5
|
-
import { assertGate, emitGate } from './sks-1-18-gate-lib.js';
|
|
6
|
-
import { writeTextAtomic } from '../core/fsx.js';
|
|
7
|
-
import { checkZellijCapability } from '../core/zellij/zellij-capability.js';
|
|
8
|
-
import { runZellij } from '../core/zellij/zellij-command.js';
|
|
9
|
-
const requireReal = process.argv.includes('--require-real') || process.env.SKS_REQUIRE_ZELLIJ === '1';
|
|
10
|
-
const visiblePaneCap = Number(process.env.SKS_ZELLIJ_GEOMETRY_VISIBLE_CAP || 8);
|
|
11
|
-
const report = requireReal ? await realGeometryProof() : syntheticGeometryProof();
|
|
12
|
-
assertGate(report.ok, 'right-column geometry proof failed', report);
|
|
13
|
-
emitGate('zellij:right-column-geometry-proof', report);
|
|
14
|
-
function syntheticGeometryProof() {
|
|
15
|
-
const panes = [
|
|
16
|
-
{ pane_id: 'main', role: 'main', geometry: { x: 0, y: 0, width: 120, height: 60 }, name: 'orchestrator' },
|
|
17
|
-
{ pane_id: 'w1', role: 'worker', geometry: { x: 121, y: 0, width: 80, height: 15 }, name: 'slot-001' },
|
|
18
|
-
{ pane_id: 'w2', role: 'worker', geometry: { x: 121, y: 16, width: 80, height: 15 }, name: 'slot-002' }
|
|
19
|
-
];
|
|
20
|
-
return buildReport({ synthetic: true, panes, commands: [], listPanes: null, dumpScreen: null, blockers: [] });
|
|
21
|
-
}
|
|
22
|
-
async function realGeometryProof() {
|
|
23
|
-
const root = process.cwd();
|
|
24
|
-
const capability = await checkZellijCapability({ root, require: true, writeReport: false });
|
|
25
|
-
const sessionName = `sks-geom-${process.pid}-${Date.now()}`;
|
|
26
|
-
const tmpDir = await fsTempDir();
|
|
27
|
-
const layoutPath = path.join(tmpDir, 'layout.kdl');
|
|
28
|
-
const commands = [];
|
|
29
|
-
let listPanes = null;
|
|
30
|
-
let dumpScreen = null;
|
|
31
|
-
const blockers = [...(capability.blockers || [])];
|
|
32
|
-
try {
|
|
33
|
-
await writeTextAtomic(layoutPath, buildRealGeometryLayout(root));
|
|
34
|
-
await runZellij(['kill-session', sessionName], { cwd: root, timeoutMs: 2500, optional: true });
|
|
35
|
-
const launch = await runZellij(['attach', '--create-background', sessionName, 'options', '--default-layout', layoutPath], { cwd: root, timeoutMs: 5000, optional: false });
|
|
36
|
-
commands.push(launch);
|
|
37
|
-
if (!launch.ok)
|
|
38
|
-
blockers.push(...launch.blockers.map((blocker) => `zellij_geometry_launch_${blocker}`));
|
|
39
|
-
await sleep(1000);
|
|
40
|
-
listPanes = await runZellij(['--session', sessionName, 'action', 'list-panes', '--json', '--all'], { cwd: root, timeoutMs: 5000, optional: false });
|
|
41
|
-
commands.push(listPanes);
|
|
42
|
-
if (!listPanes.ok)
|
|
43
|
-
blockers.push(...listPanes.blockers.map((blocker) => `zellij_geometry_list_panes_${blocker}`));
|
|
44
|
-
dumpScreen = await runZellij(['--session', sessionName, 'action', 'dump-screen'], { cwd: root, timeoutMs: 5000, optional: false });
|
|
45
|
-
commands.push(dumpScreen);
|
|
46
|
-
if (!dumpScreen.ok)
|
|
47
|
-
blockers.push(...dumpScreen.blockers.map((blocker) => `zellij_geometry_dump_screen_${blocker}`));
|
|
48
|
-
const panes = parseRealPanes(listPanes.stdout_tail);
|
|
49
|
-
return buildReport({ synthetic: false, panes, commands, listPanes, dumpScreen, blockers });
|
|
50
|
-
}
|
|
51
|
-
finally {
|
|
52
|
-
commands.push(await runZellij(['kill-session', sessionName], { cwd: root, timeoutMs: 5000, optional: true }).catch((err) => ({
|
|
53
|
-
ok: false,
|
|
54
|
-
command: 'zellij',
|
|
55
|
-
args: ['kill-session', sessionName],
|
|
56
|
-
blockers: [`zellij_geometry_cleanup_exception:${err?.message || String(err)}`],
|
|
57
|
-
warnings: []
|
|
58
|
-
})));
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
function buildReport(input) {
|
|
62
|
-
const main = input.panes.find((pane) => pane.role === 'main') || null;
|
|
63
|
-
const workers = input.panes.filter((pane) => pane.role === 'worker');
|
|
64
|
-
const sameRightX = workers.length > 0 && workers.every((pane) => Math.abs(Number(pane.geometry.x) - Number(workers[0].geometry.x)) <= 2);
|
|
65
|
-
const rightOfMain = Boolean(main) && workers.length > 0 && workers.every((pane) => Number(pane.geometry.x) >= Number(main.geometry.x) + Number(main.geometry.width) - 2);
|
|
66
|
-
const increasingY = workers.every((pane, index) => index === 0 || Number(pane.geometry.y) > Number(workers[index - 1].geometry.y));
|
|
67
|
-
const capOk = workers.length <= visiblePaneCap;
|
|
68
|
-
const realEvidenceOk = input.synthetic || (input.listPanes?.ok === true && input.dumpScreen?.ok === true && workers.length >= 2);
|
|
69
|
-
const blockers = [
|
|
70
|
-
...input.blockers,
|
|
71
|
-
...(main ? [] : ['zellij_geometry_main_missing']),
|
|
72
|
-
...(workers.length >= 2 ? [] : ['zellij_geometry_workers_missing']),
|
|
73
|
-
...(sameRightX ? [] : ['zellij_geometry_worker_x_mismatch']),
|
|
74
|
-
...(rightOfMain ? [] : ['zellij_geometry_workers_not_right_of_main']),
|
|
75
|
-
...(increasingY ? [] : ['zellij_geometry_workers_not_stacked_down']),
|
|
76
|
-
...(capOk ? [] : ['zellij_geometry_visible_cap_exceeded']),
|
|
77
|
-
...(realEvidenceOk ? [] : ['zellij_geometry_real_evidence_missing'])
|
|
78
|
-
];
|
|
79
|
-
return {
|
|
80
|
-
schema: 'sks.zellij-right-column-geometry-proof.v1',
|
|
81
|
-
ok: blockers.length === 0,
|
|
82
|
-
gate: 'zellij:right-column-geometry-proof',
|
|
83
|
-
synthetic: input.synthetic,
|
|
84
|
-
same_right_x: sameRightX,
|
|
85
|
-
right_of_main: rightOfMain,
|
|
86
|
-
increasing_y: increasingY,
|
|
87
|
-
visible_cap_ok: capOk,
|
|
88
|
-
real_list_panes_json_observed: input.synthetic ? false : input.listPanes?.ok === true,
|
|
89
|
-
real_dump_screen_observed: input.synthetic ? false : input.dumpScreen?.ok === true,
|
|
90
|
-
panes: input.panes,
|
|
91
|
-
command_count: input.commands.length,
|
|
92
|
-
command_blockers: input.commands.flatMap((row) => row?.blockers || []),
|
|
93
|
-
blockers
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
function parseRealPanes(text) {
|
|
97
|
-
let rows = [];
|
|
98
|
-
try {
|
|
99
|
-
const parsed = JSON.parse(String(text || '[]'));
|
|
100
|
-
rows = Array.isArray(parsed) ? parsed : Array.isArray(parsed?.panes) ? parsed.panes : [];
|
|
101
|
-
}
|
|
102
|
-
catch {
|
|
103
|
-
rows = [];
|
|
104
|
-
}
|
|
105
|
-
return rows
|
|
106
|
-
.filter((row) => row && row.is_plugin !== true && row.exited !== true)
|
|
107
|
-
.map((row) => {
|
|
108
|
-
const title = String(row.title || row.name || row.pane_name || '');
|
|
109
|
-
return {
|
|
110
|
-
pane_id: String(row.pane_id ?? row.paneId ?? row.id ?? title),
|
|
111
|
-
role: /^slot-\d+/i.test(title) ? 'worker' : title === 'orchestrator' ? 'main' : 'unknown',
|
|
112
|
-
geometry: {
|
|
113
|
-
x: Number(row.pane_x ?? row.x ?? 0),
|
|
114
|
-
y: Number(row.pane_y ?? row.y ?? 0),
|
|
115
|
-
width: Number(row.pane_columns ?? row.width ?? 0),
|
|
116
|
-
height: Number(row.pane_rows ?? row.height ?? 0)
|
|
117
|
-
},
|
|
118
|
-
name: title,
|
|
119
|
-
pane_command: row.pane_command || row.terminal_command || null
|
|
120
|
-
};
|
|
121
|
-
})
|
|
122
|
-
.filter((row) => row.role === 'main' || row.role === 'worker')
|
|
123
|
-
.sort((a, b) => a.role === b.role ? a.geometry.y - b.geometry.y : a.role === 'main' ? -1 : 1);
|
|
124
|
-
}
|
|
125
|
-
function buildRealGeometryLayout(cwd) {
|
|
126
|
-
const hold = 'sleep 30';
|
|
127
|
-
return [
|
|
128
|
-
'layout {',
|
|
129
|
-
' default_tab_template {',
|
|
130
|
-
' pane size=1 borderless=true {',
|
|
131
|
-
' plugin location="zellij:tab-bar"',
|
|
132
|
-
' }',
|
|
133
|
-
' children',
|
|
134
|
-
' pane size=2 borderless=true {',
|
|
135
|
-
' plugin location="zellij:status-bar"',
|
|
136
|
-
' }',
|
|
137
|
-
' }',
|
|
138
|
-
` tab name="SKS geometry proof" cwd=${JSON.stringify(cwd)} split_direction="vertical" {`,
|
|
139
|
-
' pane name="orchestrator" command="sh" {',
|
|
140
|
-
` args "-lc" ${JSON.stringify(hold)}`,
|
|
141
|
-
' }',
|
|
142
|
-
' pane name="slot-column" split_direction="horizontal" {',
|
|
143
|
-
' pane name="slot-001" command="sh" {',
|
|
144
|
-
` args "-lc" ${JSON.stringify(hold)}`,
|
|
145
|
-
' }',
|
|
146
|
-
' pane name="slot-002" command="sh" {',
|
|
147
|
-
` args "-lc" ${JSON.stringify(hold)}`,
|
|
148
|
-
' }',
|
|
149
|
-
' }',
|
|
150
|
-
' }',
|
|
151
|
-
'}',
|
|
152
|
-
''
|
|
153
|
-
].join('\n');
|
|
154
|
-
}
|
|
155
|
-
async function fsTempDir() {
|
|
156
|
-
const fs = await import('node:fs/promises');
|
|
157
|
-
return fs.mkdtemp(path.join(os.tmpdir(), 'sks-zellij-geometry-'));
|
|
158
|
-
}
|
|
159
|
-
function sleep(ms) {
|
|
160
|
-
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
161
|
-
}
|
|
162
|
-
//# sourceMappingURL=zellij-right-column-geometry-proof.js.map
|