minutework 0.1.31 → 0.1.32
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/EXTERNAL_ALPHA.md +33 -33
- package/README.md +34 -34
- package/assets/claude-local/CLAUDE.md.template +12 -12
- package/assets/claude-local/skills/README.md +1 -1
- package/assets/claude-local/skills/app-pack-authoring/SKILL.md +3 -3
- package/assets/claude-local/skills/capability-gap-reporting/SKILL.md +3 -3
- package/assets/claude-local/skills/generated-workspace-architecture/SKILL.md +2 -2
- package/assets/claude-local/skills/layering-and-import-modes/SKILL.md +2 -2
- package/assets/claude-local/skills/openclaw-skill-importer/SKILL.md +2 -2
- package/assets/claude-local/skills/project-overview-and-strategy/SKILL.md +8 -8
- package/assets/claude-local/skills/published-web-and-mw-core-site/SKILL.md +2 -2
- package/assets/claude-local/skills/standalone-mobile-client/SKILL.md +1 -1
- package/assets/claude-local/skills/vuilder-discovery-output-contract/SKILL.md +6 -6
- package/assets/claude-local/skills/workspace-guidance-refresh/SKILL.md +4 -4
- package/assets/templates/fastapi-sidecar/pyproject.toml +1 -1
- package/assets/templates/fastapi-sidecar/src/fastapi_sidecar/main.py +1 -1
- package/assets/templates/mobile-app/.env.example +4 -4
- package/assets/templates/mobile-app/AGENTS.md +3 -3
- package/assets/templates/mobile-app/README.md +10 -10
- package/assets/templates/mobile-app/app/(app)/_layout.tsx +2 -2
- package/assets/templates/mobile-app/app/(app)/index.tsx +2 -2
- package/assets/templates/mobile-app/app/(auth)/login.tsx +3 -3
- package/assets/templates/mobile-app/app/_layout.tsx +1 -1
- package/assets/templates/mobile-app/babel.config.js +1 -1
- package/assets/templates/mobile-app/eas.json +1 -1
- package/assets/templates/mobile-app/expo-env.d.ts +1 -1
- package/assets/templates/mobile-app/metro.config.js +2 -2
- package/assets/templates/mobile-app/package.json +1 -1
- package/assets/templates/mobile-app/src/mw/client.ts +3 -3
- package/assets/templates/mobile-app/src/mw/contracts.ts +2 -2
- package/assets/templates/mobile-app/src/mw/endpoints.ts +2 -2
- package/assets/templates/mobile-app/src/mw/env.ts +4 -4
- package/assets/templates/mobile-app/src/mw/session.ts +1 -1
- package/assets/templates/mobile-app/template.json +1 -1
- package/assets/templates/mobile-app/tools/template/validate-template.mjs +2 -2
- package/assets/templates/mobile-app/tsconfig.json +1 -1
- package/assets/templates/next-tenant-app/.env.example +1 -1
- package/assets/templates/next-tenant-app/README.md +3 -3
- package/assets/templates/next-tenant-app/src/app/app/examples/runtime-commands/page.test.ts +2 -2
- package/assets/templates/next-tenant-app/src/app/app/page.test.ts +1 -1
- package/assets/templates/next-tenant-app/src/app/app/page.tsx +1 -1
- package/assets/templates/next-tenant-app/src/app/blog/[slug]/page.test.ts +1 -1
- package/assets/templates/next-tenant-app/src/app/docs/[...slug]/page.test.ts +1 -1
- package/assets/templates/next-tenant-app/src/app/login/page.test.ts +1 -1
- package/assets/templates/next-tenant-app/src/app/login/page.tsx +1 -1
- package/assets/templates/next-tenant-app/src/app/page.test.ts +2 -2
- package/assets/templates/next-tenant-app/src/app/pricing/page.test.ts +2 -2
- package/assets/templates/next-tenant-app/src/lib/content/__fixtures__/public-site-snapshot.ts +14 -14
- package/assets/templates/next-tenant-app/src/lib/content/adapter.server.test.ts +3 -3
- package/assets/templates/next-tenant-app/src/lib/content/adapter.server.ts +1 -1
- package/assets/templates/next-tenant-app/src/lib/content/empty-state.ts +3 -3
- package/assets/templates/next-tenant-app/src/lib/platform/env.server.test.ts +2 -2
- package/assets/templates/next-tenant-app/src/lib/platform/env.server.ts +1 -1
- package/assets/templates/next-tenant-app/src/lib/public-site.test.ts +1 -1
- package/assets/templates/next-tenant-app/tools/template/with-public-site-fixture.mjs +2 -2
- package/bin/minutework.js +1 -1
- package/dist/agent.js +7 -7
- package/dist/agent.js.map +1 -1
- package/dist/auth.js +7 -7
- package/dist/auth.js.map +1 -1
- package/dist/compile.js +5 -5
- package/dist/config.js +6 -6
- package/dist/config.js.map +1 -1
- package/dist/deploy.js +7 -7
- package/dist/deploy.js.map +1 -1
- package/dist/developer-client.js +2 -2
- package/dist/developer-client.js.map +1 -1
- package/dist/index.js +30 -30
- package/dist/index.js.map +1 -1
- package/dist/init.js +10 -10
- package/dist/init.js.map +1 -1
- package/dist/launcher.js +1 -1
- package/dist/launcher.js.map +1 -1
- package/dist/managed-engine.js +6 -6
- package/dist/managed-engine.js.map +1 -1
- package/dist/orchestrator-context.js +1 -1
- package/dist/orchestrator-context.js.map +1 -1
- package/dist/orchestrator.js +15 -15
- package/dist/orchestrator.js.map +1 -1
- package/dist/paths.js +1 -1
- package/dist/paths.js.map +1 -1
- package/dist/publish.js +3 -3
- package/dist/publish.js.map +1 -1
- package/dist/reporting.js +8 -8
- package/dist/reporting.js.map +1 -1
- package/dist/sandbox.js +5 -5
- package/dist/sandbox.js.map +1 -1
- package/dist/state.js +1 -1
- package/dist/state.js.map +1 -1
- package/dist/tokens.js +9 -9
- package/dist/tokens.js.map +1 -1
- package/dist/workspace-assets.js +6 -6
- package/dist/workspace-assets.js.map +1 -1
- package/dist/workspace.js +3 -3
- package/dist/workspace.js.map +1 -1
- package/package.json +2 -2
- package/vendor/workspace-mcp/context.d.ts +6 -6
- package/vendor/workspace-mcp/context.js +56 -56
- package/vendor/workspace-mcp/context.js.map +1 -1
|
@@ -26,11 +26,11 @@ export class WorkspaceMcpError extends Error {
|
|
|
26
26
|
}
|
|
27
27
|
export const WORKSPACE_MCP_TOOL_SPECS = [
|
|
28
28
|
{
|
|
29
|
-
description: "Return
|
|
29
|
+
description: "Return MinuteWork workspace metadata, local binding/auth status, starter flags, and top-level diagnostics.",
|
|
30
30
|
id: "minutework_workspace_snapshot",
|
|
31
31
|
},
|
|
32
32
|
{
|
|
33
|
-
description: "Return
|
|
33
|
+
description: "Return MinuteWork schema entrypoint status, validate report, compiled schema graph when available, and artifact readiness for compile/codegen outputs.",
|
|
34
34
|
id: "minutework_schema_status",
|
|
35
35
|
},
|
|
36
36
|
{
|
|
@@ -38,15 +38,15 @@ export const WORKSPACE_MCP_TOOL_SPECS = [
|
|
|
38
38
|
id: "minutework_local_runtime_status",
|
|
39
39
|
},
|
|
40
40
|
{
|
|
41
|
-
description: "Return current
|
|
41
|
+
description: "Return current MinuteWork deploy target context plus preview/live placeholder status objects.",
|
|
42
42
|
id: "minutework_deploy_status",
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
|
-
description: "Return aggregated
|
|
45
|
+
description: "Return aggregated MinuteWork workspace diagnostics and recommended next actions.",
|
|
46
46
|
id: "minutework_workspace_doctor",
|
|
47
47
|
},
|
|
48
48
|
{
|
|
49
|
-
description: "Return a truthful
|
|
49
|
+
description: "Return a truthful MinuteWork capability inventory for the generated workspace, including local manifest surface, preview/publication posture, blind spots, and gap-report contract details.",
|
|
50
50
|
id: "minutework_capability_inventory",
|
|
51
51
|
},
|
|
52
52
|
];
|
|
@@ -84,12 +84,12 @@ export function parseWorkspaceMcpCliArgs(args) {
|
|
|
84
84
|
};
|
|
85
85
|
}
|
|
86
86
|
export function renderWorkspaceMcpHelp() {
|
|
87
|
-
return `
|
|
87
|
+
return `MinuteWork workspace MCP
|
|
88
88
|
|
|
89
89
|
Usage:
|
|
90
|
-
|
|
90
|
+
minutework mcp [--workspace <path>]
|
|
91
91
|
|
|
92
|
-
Starts a read-only local MCP server over stdio for
|
|
92
|
+
Starts a read-only local MCP server over stdio for MinuteWork-aware IDE tools.
|
|
93
93
|
`;
|
|
94
94
|
}
|
|
95
95
|
export async function loadWorkspaceContext(options = {}) {
|
|
@@ -401,7 +401,7 @@ export function collectLocalRuntimeStatus(context) {
|
|
|
401
401
|
: hasMissingPreviewSurfacePath
|
|
402
402
|
? "The local sandbox cannot start preview surfaces until the enabled starter paths exist."
|
|
403
403
|
: "The local sandbox does not have any enabled preview surfaces yet. Add a tenant-app or sidecar starter before running dev."
|
|
404
|
-
: "The local sandbox needs a current canonical compile graph before preview surfaces can start. Run `
|
|
404
|
+
: "The local sandbox needs a current canonical compile graph before preview surfaces can start. Run `minutework compile` first."
|
|
405
405
|
: "The local sandbox cannot start until the workspace has exactly one supported schema input.",
|
|
406
406
|
name: "dev",
|
|
407
407
|
prerequisiteCodes: hasSelectedInput
|
|
@@ -419,7 +419,7 @@ export function collectLocalRuntimeStatus(context) {
|
|
|
419
419
|
? "The local sandbox can run schema smoke checks and starter-local tests from the current canonical compile graph."
|
|
420
420
|
: "The local sandbox can run schema smoke checks from the current canonical compile graph even without enabled preview surfaces."
|
|
421
421
|
: hasSelectedInput
|
|
422
|
-
? "The local sandbox test loop needs a current canonical compile graph. Run `
|
|
422
|
+
? "The local sandbox test loop needs a current canonical compile graph. Run `minutework compile` first."
|
|
423
423
|
: "The local sandbox test loop is blocked until the workspace has exactly one supported schema input.",
|
|
424
424
|
name: "test",
|
|
425
425
|
prerequisiteCodes: hasCurrentCompileGraph
|
|
@@ -477,8 +477,8 @@ function buildLocalRuntimeActivitySummary(command, state, currentCompileGraphDig
|
|
|
477
477
|
compileGraphDigest: null,
|
|
478
478
|
controllerPid: null,
|
|
479
479
|
detail: command === "dev"
|
|
480
|
-
? "The persisted local dev session file is malformed. The next `
|
|
481
|
-
: "The persisted local test run file is malformed. The next `
|
|
480
|
+
? "The persisted local dev session file is malformed. The next `minutework dev` run will replace it."
|
|
481
|
+
: "The persisted local test run file is malformed. The next `minutework test` run will replace it.",
|
|
482
482
|
endedAt: null,
|
|
483
483
|
filePath: state.filePath,
|
|
484
484
|
graphStatus: "missing",
|
|
@@ -558,7 +558,7 @@ function resolveLocalRuntimeActivityGraphStatus(recordedDigest, currentCompileGr
|
|
|
558
558
|
function buildLocalRuntimeCompileGraphState(context, compileGraphPath) {
|
|
559
559
|
if (context.persistedCompileGraphCorrupted) {
|
|
560
560
|
return {
|
|
561
|
-
detail: "The persisted compile graph is malformed. Regenerate it with `
|
|
561
|
+
detail: "The persisted compile graph is malformed. Regenerate it with `minutework compile` before depending on it.",
|
|
562
562
|
path: compileGraphPath,
|
|
563
563
|
status: "corrupted",
|
|
564
564
|
};
|
|
@@ -579,13 +579,13 @@ function buildLocalRuntimeCompileGraphState(context, compileGraphPath) {
|
|
|
579
579
|
}
|
|
580
580
|
if (context.compileGraphArtifactExists) {
|
|
581
581
|
return {
|
|
582
|
-
detail: "A persisted compile graph exists on disk, but it is stale relative to the current config or selected-input digests. Refresh it with `
|
|
582
|
+
detail: "A persisted compile graph exists on disk, but it is stale relative to the current config or selected-input digests. Refresh it with `minutework compile`.",
|
|
583
583
|
path: compileGraphPath,
|
|
584
584
|
status: "stale",
|
|
585
585
|
};
|
|
586
586
|
}
|
|
587
587
|
return {
|
|
588
|
-
detail: "No compile graph is persisted yet. Generate the canonical local sandbox artifact with `
|
|
588
|
+
detail: "No compile graph is persisted yet. Generate the canonical local sandbox artifact with `minutework compile`.",
|
|
589
589
|
path: compileGraphPath,
|
|
590
590
|
status: "missing",
|
|
591
591
|
};
|
|
@@ -836,7 +836,7 @@ export function collectCapabilityInventory(context) {
|
|
|
836
836
|
],
|
|
837
837
|
detail: "Generated workspaces can inspect local authoring, compile-graph, and preview deploy posture, but they do not imply full live runtime descriptor or live-public deployment coverage.",
|
|
838
838
|
hostedPreviewDeploy: "Hosted preview/deploy remains narrower than local authoring: the current external alpha lane centers on tenant-app preview deploys and does not imply sidecar, mobile, or runtime-backed deploy support.",
|
|
839
|
-
localAuthoring: "Developer-local
|
|
839
|
+
localAuthoring: "Developer-local MinuteWork authoring currently supports tenant-app, sidecar, mobile, or combinations through the broker plus the local sandbox/workspace MCP lane. Mobile is a standalone native client, not a hosted deploy lane.",
|
|
840
840
|
supportedLocalAuthoringSurfaces: ["tenant-app", "sidecar", "mobile", "combinations"],
|
|
841
841
|
},
|
|
842
842
|
authAndBindingInventory: {
|
|
@@ -902,7 +902,7 @@ function buildArtifactStatus(context, id, relativePathFromWorkspaceRoot, prerequ
|
|
|
902
902
|
if (id === "compile_graph" && existsOnDisk && context.persistedCompileGraphCorrupted) {
|
|
903
903
|
return {
|
|
904
904
|
canonicalPath,
|
|
905
|
-
detail: "A compile graph artifact exists on disk, but it is malformed. Regenerate it with `
|
|
905
|
+
detail: "A compile graph artifact exists on disk, but it is malformed. Regenerate it with `minutework compile`.",
|
|
906
906
|
exists: true,
|
|
907
907
|
id,
|
|
908
908
|
prerequisiteCodes,
|
|
@@ -924,8 +924,8 @@ function buildArtifactStatus(context, id, relativePathFromWorkspaceRoot, prerequ
|
|
|
924
924
|
canonicalPath,
|
|
925
925
|
detail: compileEligible
|
|
926
926
|
? existsOnDisk
|
|
927
|
-
? "A compile graph exists on disk, but it no longer matches the current source digests. Rerun `
|
|
928
|
-
: "The compile graph can be generated from the current local schema source by running `
|
|
927
|
+
? "A compile graph exists on disk, but it no longer matches the current source digests. Rerun `minutework compile`."
|
|
928
|
+
: "The compile graph can be generated from the current local schema source by running `minutework compile`."
|
|
929
929
|
: existsOnDisk
|
|
930
930
|
? "A compile graph exists on disk, but the current local schema source no longer validates cleanly."
|
|
931
931
|
: "The compile graph is blocked until the local schema source validates cleanly.",
|
|
@@ -951,8 +951,8 @@ function buildArtifactStatus(context, id, relativePathFromWorkspaceRoot, prerequ
|
|
|
951
951
|
return {
|
|
952
952
|
canonicalPath,
|
|
953
953
|
detail: existsOnDisk
|
|
954
|
-
? "A generated artifact exists on disk, but the canonical compile graph is missing or stale. Rerun `
|
|
955
|
-
: "Generated codegen artifacts become available once the canonical compile graph is current and `
|
|
954
|
+
? "A generated artifact exists on disk, but the canonical compile graph is missing or stale. Rerun `minutework codegen`."
|
|
955
|
+
: "Generated codegen artifacts become available once the canonical compile graph is current and `minutework codegen` has been run.",
|
|
956
956
|
exists: existsOnDisk,
|
|
957
957
|
id,
|
|
958
958
|
prerequisiteCodes,
|
|
@@ -975,9 +975,9 @@ function buildArtifactStatus(context, id, relativePathFromWorkspaceRoot, prerequ
|
|
|
975
975
|
canonicalPath,
|
|
976
976
|
detail: existsOnDisk
|
|
977
977
|
? artifactIsCorrupted
|
|
978
|
-
? "A generated OpenAPI artifact exists on disk, but it is malformed. Regenerate it with `
|
|
979
|
-
: "A generated artifact exists on disk, but it no longer matches the current compile graph. Rerun `
|
|
980
|
-
: "This generated artifact can be produced from the current compile graph by running `
|
|
978
|
+
? "A generated OpenAPI artifact exists on disk, but it is malformed. Regenerate it with `minutework codegen`."
|
|
979
|
+
: "A generated artifact exists on disk, but it no longer matches the current compile graph. Rerun `minutework codegen`."
|
|
980
|
+
: "This generated artifact can be produced from the current compile graph by running `minutework codegen`.",
|
|
981
981
|
exists: existsOnDisk,
|
|
982
982
|
id,
|
|
983
983
|
prerequisiteCodes,
|
|
@@ -1063,7 +1063,7 @@ function buildPreviewDeployTargetStatus(options) {
|
|
|
1063
1063
|
compiledRelease: null,
|
|
1064
1064
|
currentPreviewUrl: previewUrl,
|
|
1065
1065
|
currentTarget: options.currentTarget,
|
|
1066
|
-
detail: "The linked preview target does not have current hosted release metadata. Re-run `
|
|
1066
|
+
detail: "The linked preview target does not have current hosted release metadata. Re-run `minutework compile` after confirming tenant-app preview env defaults.",
|
|
1067
1067
|
environment: "preview",
|
|
1068
1068
|
lastRequestedAt: options.previewState?.lastRequestedAt ?? null,
|
|
1069
1069
|
lastRequestedReceiptId: options.previewState?.lastRequestedReceiptId ?? null,
|
|
@@ -1123,7 +1123,7 @@ function buildPreviewDeployTargetStatus(options) {
|
|
|
1123
1123
|
? "The preview target is configured, but the persisted preview deploy state is malformed. The next deploy will replace it."
|
|
1124
1124
|
: options.previewState?.lastRequestedReceiptId
|
|
1125
1125
|
? "The preview target is configured and has recorded deploy history."
|
|
1126
|
-
: "The preview target is configured and ready for `
|
|
1126
|
+
: "The preview target is configured and ready for `minutework deploy --preview`.",
|
|
1127
1127
|
environment: "preview",
|
|
1128
1128
|
lastRequestedAt: options.previewState?.lastRequestedAt ?? null,
|
|
1129
1129
|
lastRequestedReceiptId: options.previewState?.lastRequestedReceiptId ?? null,
|
|
@@ -1141,7 +1141,7 @@ function buildLiveDeployTargetStatus(context, currentTarget) {
|
|
|
1141
1141
|
compiledRelease: null,
|
|
1142
1142
|
currentPreviewUrl: null,
|
|
1143
1143
|
currentTarget,
|
|
1144
|
-
detail: "`
|
|
1144
|
+
detail: "`minutework deploy --live` remains intentionally blocked for the external alpha.",
|
|
1145
1145
|
environment: "live",
|
|
1146
1146
|
lastRequestedAt: null,
|
|
1147
1147
|
lastRequestedReceiptId: null,
|
|
@@ -1206,7 +1206,7 @@ function buildDiagnostics(options) {
|
|
|
1206
1206
|
const diagnostics = [];
|
|
1207
1207
|
if (!options.cursorConfigExists) {
|
|
1208
1208
|
diagnostics.push({
|
|
1209
|
-
action: "Restore `.cursor/mcp.json` or run `
|
|
1209
|
+
action: "Restore `.cursor/mcp.json` or run `minutework workspace sync-assets` for this workspace.",
|
|
1210
1210
|
code: "workspace.mcp.cursor_config_missing",
|
|
1211
1211
|
detail: "Cursor MCP wiring is missing from the generated workspace contract.",
|
|
1212
1212
|
path: options.cursorConfigPath,
|
|
@@ -1216,7 +1216,7 @@ function buildDiagnostics(options) {
|
|
|
1216
1216
|
}
|
|
1217
1217
|
if (!options.claudeDesktopSampleExists) {
|
|
1218
1218
|
diagnostics.push({
|
|
1219
|
-
action: "Restore `mcp/claude-desktop.sample.json` or run `
|
|
1219
|
+
action: "Restore `mcp/claude-desktop.sample.json` or run `minutework workspace sync-assets` for this workspace.",
|
|
1220
1220
|
code: "workspace.mcp.claude_sample_missing",
|
|
1221
1221
|
detail: "The generated Claude Desktop MCP sample file is missing.",
|
|
1222
1222
|
path: options.claudeDesktopSamplePath,
|
|
@@ -1226,7 +1226,7 @@ function buildDiagnostics(options) {
|
|
|
1226
1226
|
}
|
|
1227
1227
|
if (options.bindingStatus.status === "missing" && !options.bindingStateMalformed) {
|
|
1228
1228
|
diagnostics.push({
|
|
1229
|
-
action: "Run `
|
|
1229
|
+
action: "Run `minutework link` from the workspace root.",
|
|
1230
1230
|
code: "workspace.binding.missing",
|
|
1231
1231
|
detail: "The repo-local binding file does not exist yet.",
|
|
1232
1232
|
path: options.bindingStatus.path,
|
|
@@ -1236,7 +1236,7 @@ function buildDiagnostics(options) {
|
|
|
1236
1236
|
}
|
|
1237
1237
|
if (options.authStatus.status === "missing" && !options.authStateMalformed) {
|
|
1238
1238
|
diagnostics.push({
|
|
1239
|
-
action: "Run `
|
|
1239
|
+
action: "Run `minutework login` on this machine.",
|
|
1240
1240
|
code: "workspace.auth.missing",
|
|
1241
1241
|
detail: "No active machine-local CLI auth profile is available.",
|
|
1242
1242
|
path: options.authStatus.currentProfilePath,
|
|
@@ -1246,7 +1246,7 @@ function buildDiagnostics(options) {
|
|
|
1246
1246
|
}
|
|
1247
1247
|
if (options.authStatus.status === "expired") {
|
|
1248
1248
|
diagnostics.push({
|
|
1249
|
-
action: "Run `
|
|
1249
|
+
action: "Run `minutework login` to refresh the local auth profile.",
|
|
1250
1250
|
code: "workspace.auth.expired",
|
|
1251
1251
|
detail: "The active CLI auth profile is present but expired.",
|
|
1252
1252
|
path: options.authStatus.profilePath ?? options.authStatus.currentProfilePath,
|
|
@@ -1258,7 +1258,7 @@ function buildDiagnostics(options) {
|
|
|
1258
1258
|
options.authStatus.profile &&
|
|
1259
1259
|
options.bindingStatus.matchesActiveAuthProfile === false) {
|
|
1260
1260
|
diagnostics.push({
|
|
1261
|
-
action: "Run `
|
|
1261
|
+
action: "Run `minutework link` or switch the active CLI auth profile.",
|
|
1262
1262
|
code: "workspace.auth.binding_mismatch",
|
|
1263
1263
|
detail: "The repo binding points at a different auth profile than the current active CLI profile.",
|
|
1264
1264
|
path: options.bindingStatus.path,
|
|
@@ -1288,7 +1288,7 @@ function buildDiagnostics(options) {
|
|
|
1288
1288
|
}
|
|
1289
1289
|
if (options.persistedCompileGraphCorrupted) {
|
|
1290
1290
|
diagnostics.push({
|
|
1291
|
-
action: "Delete the malformed compile graph or rerun `
|
|
1291
|
+
action: "Delete the malformed compile graph or rerun `minutework compile` to regenerate it.",
|
|
1292
1292
|
code: "workspace.schema.compile_graph_corrupted",
|
|
1293
1293
|
detail: "The on-disk compile graph exists but could not be parsed.",
|
|
1294
1294
|
severity: "warning",
|
|
@@ -1304,11 +1304,11 @@ function buildRecommendedActions(diagnostics) {
|
|
|
1304
1304
|
diagnostic.code === "workspace.auth.expired" ||
|
|
1305
1305
|
diagnostic.code === "workspace.auth.pointer_malformed" ||
|
|
1306
1306
|
diagnostic.code === "workspace.auth.profile_malformed") {
|
|
1307
|
-
actions.add("Run `
|
|
1307
|
+
actions.add("Run `minutework login` to refresh the machine-local auth profile.");
|
|
1308
1308
|
continue;
|
|
1309
1309
|
}
|
|
1310
1310
|
if (diagnostic.code === "workspace.binding.missing" || diagnostic.code === "workspace.binding.malformed") {
|
|
1311
|
-
actions.add("Run `
|
|
1311
|
+
actions.add("Run `minutework link` to bind this repo to the active tenant/environment.");
|
|
1312
1312
|
continue;
|
|
1313
1313
|
}
|
|
1314
1314
|
if (diagnostic.code === "workspace.schema.directory_missing" ||
|
|
@@ -1318,19 +1318,19 @@ function buildRecommendedActions(diagnostics) {
|
|
|
1318
1318
|
}
|
|
1319
1319
|
if (diagnostic.code === "workspace.mcp.cursor_config_missing" ||
|
|
1320
1320
|
diagnostic.code === "workspace.mcp.claude_sample_missing") {
|
|
1321
|
-
actions.add("Restore the generated MCP wiring files with `
|
|
1321
|
+
actions.add("Restore the generated MCP wiring files with `minutework workspace sync-assets`.");
|
|
1322
1322
|
continue;
|
|
1323
1323
|
}
|
|
1324
1324
|
if (diagnostic.code === "workspace.auth.binding_mismatch") {
|
|
1325
|
-
actions.add("Align the active CLI auth profile with the repo binding via `
|
|
1325
|
+
actions.add("Align the active CLI auth profile with the repo binding via `minutework link`.");
|
|
1326
1326
|
continue;
|
|
1327
1327
|
}
|
|
1328
1328
|
if (diagnostic.code === "workspace.auth.platform_mismatch") {
|
|
1329
|
-
actions.add("Run `
|
|
1329
|
+
actions.add("Run `minutework login` for the wired workspace platform, or remove any legacy platform override.");
|
|
1330
1330
|
continue;
|
|
1331
1331
|
}
|
|
1332
1332
|
if (diagnostic.code === "workspace.schema.compile_graph_corrupted") {
|
|
1333
|
-
actions.add("Delete the malformed compile graph or rerun `
|
|
1333
|
+
actions.add("Delete the malformed compile graph or rerun `minutework compile` to regenerate it.");
|
|
1334
1334
|
continue;
|
|
1335
1335
|
}
|
|
1336
1336
|
if (diagnostic.code === "compiler.input.conflict") {
|
|
@@ -1346,11 +1346,11 @@ function buildRecommendedActions(diagnostics) {
|
|
|
1346
1346
|
diagnostic.code === "compiler.source.load_failed" ||
|
|
1347
1347
|
diagnostic.code === "compiler.source.parse_failed" ||
|
|
1348
1348
|
diagnostic.code === "compiler.schema.duplicate_key") {
|
|
1349
|
-
actions.add("Fix the local schema authoring source until `
|
|
1349
|
+
actions.add("Fix the local schema authoring source until `minutework validate` succeeds.");
|
|
1350
1350
|
continue;
|
|
1351
1351
|
}
|
|
1352
1352
|
if (diagnostic.code.startsWith("compiler.")) {
|
|
1353
|
-
actions.add("Fix the local schema authoring source until `
|
|
1353
|
+
actions.add("Fix the local schema authoring source until `minutework validate` succeeds.");
|
|
1354
1354
|
}
|
|
1355
1355
|
}
|
|
1356
1356
|
return [...actions];
|
|
@@ -1422,7 +1422,7 @@ function buildCapabilityInventoryUnknowns(context) {
|
|
|
1422
1422
|
unknowns.push({
|
|
1423
1423
|
detail: "Because auth or repo binding is incomplete, the workspace cannot confidently resolve tenant-scoped runtime/publication state.",
|
|
1424
1424
|
id: "linked_tenant_runtime",
|
|
1425
|
-
nextCheck: "Run `
|
|
1425
|
+
nextCheck: "Run `minutework login` and `minutework link`, then refresh the capability inventory.",
|
|
1426
1426
|
});
|
|
1427
1427
|
}
|
|
1428
1428
|
return unknowns;
|
|
@@ -1430,17 +1430,17 @@ function buildCapabilityInventoryUnknowns(context) {
|
|
|
1430
1430
|
function buildCapabilityInventoryRecommendedChecks(context, localRuntimeStatus, unknowns) {
|
|
1431
1431
|
const checks = new Set();
|
|
1432
1432
|
if (context.authStatus.status !== "active") {
|
|
1433
|
-
checks.add("Run `
|
|
1433
|
+
checks.add("Run `minutework login` to refresh the machine-local auth profile.");
|
|
1434
1434
|
}
|
|
1435
1435
|
if (context.bindingStatus.status !== "linked") {
|
|
1436
|
-
checks.add("Run `
|
|
1436
|
+
checks.add("Run `minutework link` to bind this repo to the active tenant/environment.");
|
|
1437
1437
|
}
|
|
1438
1438
|
if (!context.persistedCompileGraphCurrent) {
|
|
1439
|
-
checks.add("Run `
|
|
1439
|
+
checks.add("Run `minutework compile` to refresh the authoritative local compile graph.");
|
|
1440
1440
|
}
|
|
1441
1441
|
if (context.persistedCompileGraphCurrent &&
|
|
1442
1442
|
(!context.persistedOpenapiCurrent || !context.persistedClientTypesCurrent)) {
|
|
1443
|
-
checks.add("Run `
|
|
1443
|
+
checks.add("Run `minutework codegen` to refresh deterministic OpenAPI and client-type artifacts.");
|
|
1444
1444
|
}
|
|
1445
1445
|
if (localRuntimeStatus.surfaces.some((surface) => surface.status === "missing")) {
|
|
1446
1446
|
checks.add("Restore the missing starter paths or scaffold a fresh workspace before relying on local sandbox surfaces.");
|
|
@@ -1518,15 +1518,15 @@ function describeResolvedPlatformSource(resolvedWorkspaceCliConfig) {
|
|
|
1518
1518
|
case "workspaceConfig":
|
|
1519
1519
|
return "minutework.config.ts";
|
|
1520
1520
|
case "workspaceDefault":
|
|
1521
|
-
return "the
|
|
1521
|
+
return "the MinuteWork local platform wiring";
|
|
1522
1522
|
default:
|
|
1523
1523
|
return "the workspace";
|
|
1524
1524
|
}
|
|
1525
1525
|
}
|
|
1526
1526
|
function buildPlatformMismatchAction(resolvedWorkspaceCliConfig) {
|
|
1527
1527
|
return resolvedWorkspaceCliConfig.hasLegacyPlatformOverride
|
|
1528
|
-
? `Run \`
|
|
1529
|
-
: "Run `
|
|
1528
|
+
? `Run \`minutework login --platform ${resolvedWorkspaceCliConfig.platformBaseUrl}\` or remove the legacy platform override.`
|
|
1529
|
+
: "Run `minutework login` to refresh auth for the wired workspace platform.";
|
|
1530
1530
|
}
|
|
1531
1531
|
async function exists(targetPath) {
|
|
1532
1532
|
try {
|
|
@@ -1546,7 +1546,7 @@ async function loadWorkspaceConfig(configPath) {
|
|
|
1546
1546
|
return await loadSharedWorkspaceConfig(configPath);
|
|
1547
1547
|
}
|
|
1548
1548
|
catch (error) {
|
|
1549
|
-
throw new WorkspaceMcpError(`
|
|
1549
|
+
throw new WorkspaceMcpError(`MinuteWork config could not be loaded from ${configPath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
1550
1550
|
}
|
|
1551
1551
|
}
|
|
1552
1552
|
async function loadCurrentAuthProfile(paths) {
|
|
@@ -1570,7 +1570,7 @@ async function loadCurrentAuthProfile(paths) {
|
|
|
1570
1570
|
catch (error) {
|
|
1571
1571
|
if (error instanceof WorkspaceMcpError) {
|
|
1572
1572
|
diagnostics.push({
|
|
1573
|
-
action: "Run `
|
|
1573
|
+
action: "Run `minutework login` to recreate the active CLI auth profile.",
|
|
1574
1574
|
code: "workspace.auth.pointer_malformed",
|
|
1575
1575
|
detail: error.message,
|
|
1576
1576
|
path: currentProfilePath,
|
|
@@ -1607,7 +1607,7 @@ async function loadCurrentAuthProfile(paths) {
|
|
|
1607
1607
|
catch (error) {
|
|
1608
1608
|
if (error instanceof WorkspaceMcpError) {
|
|
1609
1609
|
diagnostics.push({
|
|
1610
|
-
action: "Run `
|
|
1610
|
+
action: "Run `minutework login` to refresh the malformed CLI auth profile.",
|
|
1611
1611
|
code: "workspace.auth.profile_malformed",
|
|
1612
1612
|
detail: error.message,
|
|
1613
1613
|
path: profilePath,
|
|
@@ -1668,7 +1668,7 @@ async function readOptionalWorkspaceBinding(targetPath) {
|
|
|
1668
1668
|
binding: null,
|
|
1669
1669
|
diagnostics: [
|
|
1670
1670
|
{
|
|
1671
|
-
action: "Run `
|
|
1671
|
+
action: "Run `minutework link` to recreate the repo-local binding.",
|
|
1672
1672
|
code: "workspace.binding.malformed",
|
|
1673
1673
|
detail: error.message,
|
|
1674
1674
|
path: targetPath,
|
|
@@ -1817,7 +1817,7 @@ function resolveCliStatePaths(options) {
|
|
|
1817
1817
|
minuteworkHome = path.win32.join(windowsBase, "MinuteWork");
|
|
1818
1818
|
}
|
|
1819
1819
|
else {
|
|
1820
|
-
throw new WorkspaceMcpError(`Unsupported platform for
|
|
1820
|
+
throw new WorkspaceMcpError(`Unsupported platform for MinuteWork CLI state: ${platform}`);
|
|
1821
1821
|
}
|
|
1822
1822
|
return {
|
|
1823
1823
|
authRoot: joinForPlatform(platform, minuteworkHome, "cli", "auth"),
|
|
@@ -1831,7 +1831,7 @@ async function resolveWorkspaceRoot(options) {
|
|
|
1831
1831
|
return await discoverCompilerWorkspaceRoot(startPath);
|
|
1832
1832
|
}
|
|
1833
1833
|
catch (error) {
|
|
1834
|
-
throw new WorkspaceMcpError(error instanceof Error ? error.message : "No
|
|
1834
|
+
throw new WorkspaceMcpError(error instanceof Error ? error.message : "No MinuteWork workspace was found from the current directory upward.");
|
|
1835
1835
|
}
|
|
1836
1836
|
}
|
|
1837
1837
|
function sanitizeAuthProfile(profile) {
|