@supportpages.io/wtfm 0.0.0-stage → 0.3.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/LICENSE +201 -0
- package/NOTICE +23 -0
- package/README.md +392 -2
- package/dist/actions.d.ts +98 -0
- package/dist/actions.js +86 -0
- package/dist/actions.js.map +1 -0
- package/dist/agent-settings.d.ts +22 -0
- package/dist/agent-settings.js +35 -0
- package/dist/agent-settings.js.map +1 -0
- package/dist/api.d.ts +14 -0
- package/dist/api.js +159 -0
- package/dist/api.js.map +1 -0
- package/dist/article-link.d.ts +16 -0
- package/dist/article-link.js +25 -0
- package/dist/article-link.js.map +1 -0
- package/dist/artifacts.d.ts +45 -0
- package/dist/artifacts.js +144 -0
- package/dist/artifacts.js.map +1 -0
- package/dist/brand.d.ts +4 -0
- package/dist/brand.js +9 -0
- package/dist/brand.js.map +1 -0
- package/dist/bridge.d.ts +2964 -0
- package/dist/bridge.js +1036 -0
- package/dist/bridge.js.map +1 -0
- package/dist/capacity.d.ts +5 -0
- package/dist/capacity.js +11 -0
- package/dist/capacity.js.map +1 -0
- package/dist/credentials.d.ts +13 -0
- package/dist/credentials.js +88 -0
- package/dist/credentials.js.map +1 -0
- package/dist/development-tls.d.ts +8 -0
- package/dist/development-tls.js +38 -0
- package/dist/development-tls.js.map +1 -0
- package/dist/errors.d.ts +15 -0
- package/dist/errors.js +18 -0
- package/dist/errors.js.map +1 -0
- package/dist/export.d.ts +11 -0
- package/dist/export.js +91 -0
- package/dist/export.js.map +1 -0
- package/dist/hosted-operations.d.ts +108 -0
- package/dist/hosted-operations.js +120 -0
- package/dist/hosted-operations.js.map +1 -0
- package/dist/hosting-benefits.d.ts +66 -0
- package/dist/hosting-benefits.js +67 -0
- package/dist/hosting-benefits.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -0
- package/dist/local-inventory.d.ts +22 -0
- package/dist/local-inventory.js +59 -0
- package/dist/local-inventory.js.map +1 -0
- package/dist/local-setup.d.ts +208 -0
- package/dist/local-setup.js +140 -0
- package/dist/local-setup.js.map +1 -0
- package/dist/pairing.d.ts +71 -0
- package/dist/pairing.js +235 -0
- package/dist/pairing.js.map +1 -0
- package/dist/preferences.d.ts +18 -0
- package/dist/preferences.js +44 -0
- package/dist/preferences.js.map +1 -0
- package/dist/progress.d.ts +205 -0
- package/dist/progress.js +224 -0
- package/dist/progress.js.map +1 -0
- package/dist/reminders.d.ts +31 -0
- package/dist/reminders.js +73 -0
- package/dist/reminders.js.map +1 -0
- package/dist/replace-connection.d.ts +6 -0
- package/dist/replace-connection.js +77 -0
- package/dist/replace-connection.js.map +1 -0
- package/dist/repository-actions.d.ts +18 -0
- package/dist/repository-actions.js +9 -0
- package/dist/repository-actions.js.map +1 -0
- package/dist/repository-benefits.d.ts +96 -0
- package/dist/repository-benefits.js +64 -0
- package/dist/repository-benefits.js.map +1 -0
- package/dist/run-update.d.ts +17 -0
- package/dist/run-update.js +27 -0
- package/dist/run-update.js.map +1 -0
- package/dist/runs.d.ts +541 -0
- package/dist/runs.js +146 -0
- package/dist/runs.js.map +1 -0
- package/dist/runtime.d.ts +12 -0
- package/dist/runtime.js +58 -0
- package/dist/runtime.js.map +1 -0
- package/dist/schema.d.ts +277 -0
- package/dist/schema.js +66 -0
- package/dist/schema.js.map +1 -0
- package/dist/server.d.ts +4 -0
- package/dist/server.js +298 -0
- package/dist/server.js.map +1 -0
- package/dist/session.d.ts +1714 -0
- package/dist/session.js +619 -0
- package/dist/session.js.map +1 -0
- package/dist/settings.d.ts +9 -0
- package/dist/settings.js +21 -0
- package/dist/settings.js.map +1 -0
- package/dist/sync.d.ts +495 -0
- package/dist/sync.js +191 -0
- package/dist/sync.js.map +1 -0
- package/dist/telemetry-scrub.d.ts +13 -0
- package/dist/telemetry-scrub.js +51 -0
- package/dist/telemetry-scrub.js.map +1 -0
- package/dist/telemetry.d.ts +73 -0
- package/dist/telemetry.js +173 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/walkthroughs.d.ts +224 -0
- package/dist/walkthroughs.js +109 -0
- package/dist/walkthroughs.js.map +1 -0
- package/dist/workspace.d.ts +14 -0
- package/dist/workspace.js +127 -0
- package/dist/workspace.js.map +1 -0
- package/dist/writer-agent.d.ts +21 -0
- package/dist/writer-agent.js +27 -0
- package/dist/writer-agent.js.map +1 -0
- package/dist/writer-entry.d.ts +171 -0
- package/dist/writer-entry.js +233 -0
- package/dist/writer-entry.js.map +1 -0
- package/dist/writing-style.d.ts +7 -0
- package/dist/writing-style.js +52 -0
- package/dist/writing-style.js.map +1 -0
- package/engine/SYNC.json +4 -0
- package/engine/VERSION +1 -0
- package/engine/detect-project/README.md +141 -0
- package/engine/detect-project/SKILL.md +1421 -0
- package/engine/detect-project/assets/desktop/desktop-frame.css +428 -0
- package/engine/detect-project/assets/game/game-frame.css +132 -0
- package/engine/detect-project/assets/macosui/LICENSE-puppertino.txt +21 -0
- package/engine/detect-project/assets/macosui/VERSIONS.txt +1 -0
- package/engine/detect-project/assets/macosui/fonts.css +15 -0
- package/engine/detect-project/assets/macosui/macos-frame.css +481 -0
- package/engine/detect-project/assets/macosui/puppertino.css +2153 -0
- package/engine/detect-project/assets/mobileui/LICENSE-fonts.txt +13 -0
- package/engine/detect-project/assets/mobileui/LICENSE-framework7.txt +52 -0
- package/engine/detect-project/assets/mobileui/VERSIONS.txt +6 -0
- package/engine/detect-project/assets/mobileui/device-frame.css +316 -0
- package/engine/detect-project/assets/mobileui/f7-color-theme.mjs +1345 -0
- package/engine/detect-project/assets/mobileui/f7-icons-names.json +1254 -0
- package/engine/detect-project/assets/mobileui/fonts.css +16 -0
- package/engine/detect-project/assets/mobileui/framework7-components.css +39 -0
- package/engine/detect-project/assets/mobileui/framework7-core.css +5245 -0
- package/engine/detect-project/assets/mobileui/icons.css +31 -0
- package/engine/detect-project/assets/mobileui/md3-defaults.css +89 -0
- package/engine/detect-project/assets/mobileui/platforms.json +46 -0
- package/engine/detect-project/assets/tailwind-fallback.css +1729 -0
- package/engine/detect-project/assets/webtui/LICENSE-webtui.txt +28 -0
- package/engine/detect-project/assets/webtui/VERSIONS.txt +7 -0
- package/engine/detect-project/assets/webtui/terminal-frame.css +195 -0
- package/engine/detect-project/assets/webtui/theme-catppuccin.css +1 -0
- package/engine/detect-project/assets/webtui/theme-everforest.css +1 -0
- package/engine/detect-project/assets/webtui/theme-gruvbox.css +1 -0
- package/engine/detect-project/assets/webtui/theme-nord.css +1 -0
- package/engine/detect-project/assets/webtui/theme-vitesse.css +1 -0
- package/engine/detect-project/assets/webtui/themes.json +37 -0
- package/engine/detect-project/assets/webtui/webtui-core.css +1 -0
- package/engine/detect-project/assets/win32ui/7css.css +2 -0
- package/engine/detect-project/assets/win32ui/LICENSE-7css.txt +21 -0
- package/engine/detect-project/assets/win32ui/VERSIONS.txt +1 -0
- package/engine/detect-project/assets/win32ui/win32-frame.css +278 -0
- package/engine/detect-project/package-lock.json +12 -0
- package/engine/detect-project/package.json +10 -0
- package/engine/detect-project/scripts/apply_runtime_profiles.js +313 -0
- package/engine/detect-project/scripts/check_css_health.js +412 -0
- package/engine/detect-project/scripts/check_project_map.js +150 -0
- package/engine/detect-project/scripts/check_runtime_coverage.js +311 -0
- package/engine/detect-project/scripts/check_runtime_recipe_quality.js +184 -0
- package/engine/detect-project/scripts/classify_app_type.sh +246 -0
- package/engine/detect-project/scripts/classify_surface.sh +95 -0
- package/engine/detect-project/scripts/classify_workspace.js +39 -0
- package/engine/detect-project/scripts/compile_css.sh +447 -0
- package/engine/detect-project/scripts/detect_static.js +645 -0
- package/engine/detect-project/scripts/detect_structure.js +187 -0
- package/engine/detect-project/scripts/include_census.js +451 -0
- package/engine/detect-project/scripts/json_get.js +142 -0
- package/engine/detect-project/scripts/merge_json.js +52 -0
- package/engine/detect-project/scripts/recommend_model_tier.js +252 -0
- package/engine/detect-project/scripts/resolve_route_chains.js +135 -0
- package/engine/detect-project/scripts/run_css_build.sh +40 -0
- package/engine/detect-project/scripts/sanitize_css.js +83 -0
- package/engine/detect-project/scripts/test_classify_surface.js +108 -0
- package/engine/detect-project/scripts/test_node_helpers.js +142 -0
- package/engine/detect-project/scripts/test_recommend_model_tier.js +119 -0
- package/engine/detect-project/scripts/test_resolve_route_chains.js +182 -0
- package/engine/detect-project/scripts/test_runtime_coverage.js +323 -0
- package/engine/detect-project/scripts/test_runtime_recipe_quality.js +187 -0
- package/engine/detect-project/scripts/theme_overrides.js +169 -0
- package/engine/detect-project/scripts/write_branding.js +129 -0
- package/engine/generate-illustrated-article/SKILL.md +461 -0
- package/engine/generate-illustrated-article/contracts/desktop.md +90 -0
- package/engine/generate-illustrated-article/contracts/game.md +38 -0
- package/engine/generate-illustrated-article/contracts/label-evidence.md +38 -0
- package/engine/generate-illustrated-article/contracts/macos.md +79 -0
- package/engine/generate-illustrated-article/contracts/mobile.md +40 -0
- package/engine/generate-illustrated-article/contracts/terminal.md +29 -0
- package/engine/generate-illustrated-article/contracts/win32.md +43 -0
- package/engine/generate-illustrated-article/package-lock.json +366 -0
- package/engine/generate-illustrated-article/package.json +15 -0
- package/engine/generate-illustrated-article/scripts/article_blocks.js +34 -0
- package/engine/generate-illustrated-article/scripts/check_article_json.js +105 -0
- package/engine/generate-illustrated-article/scripts/emit_walkthrough_signals.js +100 -0
- package/engine/generate-illustrated-article/scripts/extract_images.js +187 -0
- package/engine/generate-illustrated-article/scripts/generate_content_images.js +376 -0
- package/engine/generate-illustrated-article/scripts/include_census.js +451 -0
- package/engine/generate-illustrated-article/scripts/inject_assets.js +1691 -0
- package/engine/generate-illustrated-article/scripts/jit_mockup_css.js +191 -0
- package/engine/generate-illustrated-article/scripts/label_evidence.js +87 -0
- package/engine/generate-illustrated-article/scripts/lint_article_copy.js +252 -0
- package/engine/generate-illustrated-article/scripts/lint_mockup_fidelity.js +2403 -0
- package/engine/generate-illustrated-article/scripts/polish_tickets.js +1148 -0
- package/engine/generate-illustrated-article/scripts/related_repos.sh +52 -0
- package/engine/generate-illustrated-article/scripts/render_all.js +177 -0
- package/engine/generate-illustrated-article/scripts/render_mockup.js +665 -0
- package/engine/generate-illustrated-article/scripts/render_ready.js +164 -0
- package/engine/generate-illustrated-article/scripts/resolve_workspace.sh +86 -0
- package/engine/generate-illustrated-article/scripts/runtime_region_geometry.js +55 -0
- package/engine/generate-illustrated-article/scripts/source_paths.js +49 -0
- package/engine/generate-illustrated-article/scripts/test_control_visibility.js +30 -0
- package/engine/generate-illustrated-article/scripts/test_emit_walkthrough_signals.js +157 -0
- package/engine/generate-illustrated-article/scripts/test_generate_content_images.js +168 -0
- package/engine/generate-illustrated-article/scripts/test_include_census.js +126 -0
- package/engine/generate-illustrated-article/scripts/test_label_evidence.js +49 -0
- package/engine/generate-illustrated-article/scripts/test_lint_article_copy.js +138 -0
- package/engine/generate-illustrated-article/scripts/test_lint_mockup_fidelity.js +653 -0
- package/engine/generate-illustrated-article/scripts/test_node_ports.js +152 -0
- package/engine/generate-illustrated-article/scripts/test_polish_tickets.js +481 -0
- package/engine/generate-illustrated-article/scripts/test_related_repos.js +64 -0
- package/engine/generate-illustrated-article/scripts/test_render_ready.js +85 -0
- package/engine/generate-illustrated-article/scripts/test_source_paths.js +68 -0
- package/engine/generate-illustrated-article/scripts/trace_hook.js +79 -0
- package/engine/generate-illustrated-article/scripts/trace_hook.sh +4 -0
- package/engine/generate-illustrated-article/scripts/validate_html.js +114 -0
- package/engine/generate-illustrated-article/scripts/watermark.js +69 -0
- package/install.sh +14 -0
- package/package.json +57 -4
- package/scripts/auth.mjs +33 -0
- package/scripts/auto-update.mjs +7 -0
- package/scripts/build-plugin.mjs +58 -0
- package/scripts/build-release.mjs +94 -0
- package/scripts/check-release.mjs +40 -0
- package/scripts/check-runtime.mjs +10 -0
- package/scripts/cli.mjs +8 -0
- package/scripts/install.mjs +64 -0
- package/scripts/lib/agent-runner.mjs +181 -0
- package/scripts/lib/agent-settings.mjs +215 -0
- package/scripts/lib/article-skills.mjs +82 -0
- package/scripts/lib/auto-update.mjs +50 -0
- package/scripts/lib/brand.mjs +9 -0
- package/scripts/lib/browser.mjs +12 -0
- package/scripts/lib/claude-connection.mjs +33 -0
- package/scripts/lib/claude-permissions.mjs +47 -0
- package/scripts/lib/claude-plugin.mjs +15 -0
- package/scripts/lib/claude-writer.mjs +10 -0
- package/scripts/lib/cli-main.mjs +85 -0
- package/scripts/lib/cli.mjs +888 -0
- package/scripts/lib/codex-config.mjs +51 -0
- package/scripts/lib/codex-integration.mjs +61 -0
- package/scripts/lib/codex-skill.mjs +34 -0
- package/scripts/lib/harness-models.mjs +109 -0
- package/scripts/lib/install.mjs +269 -0
- package/scripts/lib/managed-writer.mjs +38 -0
- package/scripts/lib/planning.mjs +263 -0
- package/scripts/lib/prepare-update.mjs +85 -0
- package/scripts/lib/refresh-writers.mjs +12 -0
- package/scripts/lib/remove.mjs +167 -0
- package/scripts/lib/renderer.mjs +34 -0
- package/scripts/lib/terminal.mjs +252 -0
- package/scripts/lib/uninit.mjs +72 -0
- package/scripts/lib/update.mjs +55 -0
- package/scripts/lib/writer-recovery.mjs +35 -0
- package/scripts/lib/yolo.mjs +362 -0
- package/scripts/plugin-session.mjs +65 -0
- package/scripts/prepare-update.mjs +12 -0
- package/scripts/publish-release.mjs +92 -0
- package/scripts/skills/supportpages/SKILL.md +120 -0
- package/scripts/smoke-release.mjs +101 -0
- package/server.json +27 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Exercise real release payloads with only base shell tools on the client's PATH.
|
|
3
|
+
// A local curl stand-in supplies release downloads; no public release is needed.
|
|
4
|
+
import assert from 'node:assert/strict';
|
|
5
|
+
import { createHash } from 'node:crypto';
|
|
6
|
+
import { cp, mkdir, mkdtemp, readFile, readdir, rm, symlink, writeFile } from 'node:fs/promises';
|
|
7
|
+
import { spawnSync } from 'node:child_process';
|
|
8
|
+
import os from 'node:os';
|
|
9
|
+
import path from 'node:path';
|
|
10
|
+
import { parseArgs } from 'node:util';
|
|
11
|
+
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
12
|
+
|
|
13
|
+
const { values } = parseArgs({ options: { directory: { type: 'string' } } });
|
|
14
|
+
const directory = path.resolve(values.directory ?? 'release');
|
|
15
|
+
const sourceRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
|
|
16
|
+
const suffix = `-${process.platform}-${process.arch}.tar.gz`;
|
|
17
|
+
const archive = (await readdir(directory)).find(name => name.endsWith(suffix));
|
|
18
|
+
assert.ok(archive, `Missing ${suffix} release`);
|
|
19
|
+
const temporary = await mkdtemp(path.join(os.tmpdir(), "supportpages smoke ' "));
|
|
20
|
+
const checked = (executable, args, options = {}) => {
|
|
21
|
+
const result = spawnSync(executable, args, { encoding: 'utf8', timeout: 120_000, ...options });
|
|
22
|
+
assert.equal(result.status, 0, `${executable} failed: ${result.error ?? ''}\n${result.stdout}\n${result.stderr}`);
|
|
23
|
+
return result.stdout;
|
|
24
|
+
};
|
|
25
|
+
try {
|
|
26
|
+
const downloads = path.join(temporary, 'downloads');
|
|
27
|
+
const unpacked = path.join(temporary, 'unpacked');
|
|
28
|
+
const baseTools = path.join(temporary, 'base-tools');
|
|
29
|
+
const home = path.join(temporary, 'home');
|
|
30
|
+
for (const folder of [downloads, unpacked, baseTools, home]) await mkdir(folder);
|
|
31
|
+
for (const name of ['bash', 'tar', 'gzip', 'awk', 'sed', 'uname', 'mktemp', 'rm', 'rmdir', 'dirname', 'basename', 'cp', 'mkdir', 'chmod', 'cat', 'mv', 'ln', 'shasum', 'sha256sum']) {
|
|
32
|
+
const executable = spawnSync('/bin/sh', ['-c', `command -v ${name}`], { encoding: 'utf8' });
|
|
33
|
+
if (executable.status === 0) await symlink(executable.stdout.trim(), path.join(baseTools, name));
|
|
34
|
+
}
|
|
35
|
+
await writeFile(path.join(baseTools, 'curl'), `#!/bin/sh
|
|
36
|
+
url= output=
|
|
37
|
+
while [ "$#" -gt 0 ]; do
|
|
38
|
+
case "$1" in https://*) url="$1" ;; -o) shift; output="$1" ;; esac
|
|
39
|
+
shift
|
|
40
|
+
done
|
|
41
|
+
case "$url" in
|
|
42
|
+
https://downloads.example/cli/latest.txt) printf '%s\\n' "$SMOKE_LATEST" ;;
|
|
43
|
+
https://downloads.example/cli/*) cp "$SMOKE_DOWNLOADS/$(basename -- "$url")" "$output" ;;
|
|
44
|
+
*) exit 22 ;;
|
|
45
|
+
esac
|
|
46
|
+
`, { mode: 0o755 });
|
|
47
|
+
await cp(path.join(directory, archive), path.join(downloads, archive));
|
|
48
|
+
await cp(path.join(directory, archive + '.sha256'), path.join(downloads, archive + '.sha256'));
|
|
49
|
+
checked('tar', ['-xzf', path.join(directory, archive), '-C', unpacked]);
|
|
50
|
+
const pkg = path.join(unpacked, 'supportpages/mcp/package.json');
|
|
51
|
+
const metadata = JSON.parse(await readFile(pkg, 'utf8'));
|
|
52
|
+
const version = metadata.version;
|
|
53
|
+
assert.notEqual(version, '0.0.0', 'Smoke upgrade needs a release newer than 0.0.0');
|
|
54
|
+
await writeFile(pkg, JSON.stringify({ ...metadata, version: '0.0.0' }));
|
|
55
|
+
const previous = path.join(downloads, `supportpages-0.0.0${suffix}`);
|
|
56
|
+
checked('tar', ['-czf', previous, '-C', unpacked, 'supportpages']);
|
|
57
|
+
await writeFile(previous + '.sha256', `${createHash('sha256').update(await readFile(previous)).digest('hex')} ${path.basename(previous)}\n`);
|
|
58
|
+
const env = { ...process.env, HOME: home, PATH: baseTools, SHELL: '/bin/bash',
|
|
59
|
+
SUPPORTPAGES_CLI_RELEASE_URL: 'https://downloads.example/cli', SMOKE_DOWNLOADS: downloads, SMOKE_LATEST: '0.0.0' };
|
|
60
|
+
delete env.SUPPORTPAGES_CLI_HOME;
|
|
61
|
+
delete env.SUPPORTPAGES_API_TOKEN;
|
|
62
|
+
delete env.SUPPORTPAGES_API_TOKEN_FILE;
|
|
63
|
+
const data = path.join(temporary, 'custom data'), bin = path.join(temporary, 'custom bin');
|
|
64
|
+
const installer = await readFile(path.join(sourceRoot, 'install-cli.sh'), 'utf8');
|
|
65
|
+
checked('bash', ['-s', '--', '--yes', '--data-dir', data, '--bin-dir', bin], { input: installer, env });
|
|
66
|
+
const cli = path.join(bin, 'supportpages');
|
|
67
|
+
const checkTools = () => {
|
|
68
|
+
const release = path.join(data, 'current');
|
|
69
|
+
checked(path.join(release, 'runtime/bin/node'), [path.join(release, 'mcp/scripts/check-runtime.mjs')], {
|
|
70
|
+
env: { ...env, PATH: '' },
|
|
71
|
+
});
|
|
72
|
+
const doctor = JSON.parse(checked(path.join(release, 'runtime/bin/node'), [path.join(release, 'mcp/dist/index.js'), '--doctor', '--workspace', home], { env }));
|
|
73
|
+
// Git is a system prerequisite and may be absent from this minimal PATH; Node is bundled.
|
|
74
|
+
assert.ok(doctor.dependencies.find(item => item.command === 'node')?.available, JSON.stringify(doctor.dependencies));
|
|
75
|
+
// Exercise the same prerequisite checks as init without requiring an account or an agent.
|
|
76
|
+
const checks = JSON.parse(checked(path.join(release, 'runtime/bin/node'), ['--input-type=module', '-e', `
|
|
77
|
+
import { generationChecks } from ${JSON.stringify(pathToFileURL(path.join(release, 'mcp/scripts/lib/cli.mjs')).href)};
|
|
78
|
+
process.env.PATH = ${JSON.stringify(path.join(release, 'runtime/bin'))} + ':' + process.env.PATH;
|
|
79
|
+
console.log(JSON.stringify(await generationChecks(${JSON.stringify(path.join(release, 'mcp/engine'))})));
|
|
80
|
+
`], { env }));
|
|
81
|
+
// The bundled engine must be present; Chromium is downloaded later, at setup.
|
|
82
|
+
assert.ok(checks.find(item => item.name === 'article skills')?.available, JSON.stringify(checks));
|
|
83
|
+
};
|
|
84
|
+
assert.equal(checked(cli, ['--version'], { env }).trim(), '0.0.0');
|
|
85
|
+
checkTools();
|
|
86
|
+
assert.match(checked(cli, ['--help'], { env }), /update/);
|
|
87
|
+
const config = path.join(home, 'saved-configuration');
|
|
88
|
+
await writeFile(config, 'keep credentials and project links');
|
|
89
|
+
const registration = { command: path.join(data, 'current/runtime/bin/node'), args: [path.join(data, 'current/mcp/dist/index.js'), '--help'] };
|
|
90
|
+
env.SMOKE_LATEST = version;
|
|
91
|
+
assert.match(checked(cli, ['update'], { env }), /Restart running coding-agent sessions/);
|
|
92
|
+
assert.equal(checked(cli, ['--version'], { env }).trim(), version);
|
|
93
|
+
checkTools();
|
|
94
|
+
checked(registration.command, registration.args, { env });
|
|
95
|
+
assert.equal(await readFile(config, 'utf8'), 'keep credentials and project links');
|
|
96
|
+
assert.match(checked(cli, ['update'], { env }), /No update needed/);
|
|
97
|
+
env.SMOKE_LATEST = '0.0.0';
|
|
98
|
+
assert.match(checked(cli, ['update'], { env }), /No update needed/);
|
|
99
|
+
assert.equal(checked(cli, ['--version'], { env }).trim(), version);
|
|
100
|
+
process.stdout.write(`Install, update, stable MCP paths and repeat updates passed for ${process.platform}/${process.arch}.\n`);
|
|
101
|
+
} finally { await rm(temporary, { recursive: true, force: true }); }
|
package/server.json
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
|
+
"name": "io.github.supportpages-io/supportpages-writer",
|
|
4
|
+
"title": "SupportPages Writer",
|
|
5
|
+
"description": "Your coding agent writes illustrated help articles from your codebase, with screenshots rendered from the real interface code.",
|
|
6
|
+
"repository": {
|
|
7
|
+
"url": "https://github.com/SupportPages-io/wtfm",
|
|
8
|
+
"source": "github"
|
|
9
|
+
},
|
|
10
|
+
"version": "0.3.0",
|
|
11
|
+
"packages": [
|
|
12
|
+
{
|
|
13
|
+
"registryType": "npm",
|
|
14
|
+
"identifier": "@supportpages.io/wtfm",
|
|
15
|
+
"version": "0.3.0",
|
|
16
|
+
"transport": {
|
|
17
|
+
"type": "stdio"
|
|
18
|
+
},
|
|
19
|
+
"packageArguments": [
|
|
20
|
+
{
|
|
21
|
+
"type": "positional",
|
|
22
|
+
"value": "mcp"
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
}
|