minutework 0.1.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/EXTERNAL_ALPHA.md +74 -0
- package/README.md +57 -0
- package/assets/claude-local/CLAUDE.md.template +45 -0
- package/assets/claude-local/bundle.json +22 -0
- package/assets/claude-local/skills/README.md +6 -0
- package/assets/claude-local/skills/app-pack-authoring.md +8 -0
- package/assets/claude-local/skills/event-bus.md +8 -0
- package/assets/claude-local/skills/ontology-mapping.md +8 -0
- package/assets/claude-local/skills/openclaw-skill-importer.md +7 -0
- package/assets/claude-local/skills/schema-engine.md +8 -0
- package/assets/claude-local/skills/secrets-runtime-bridge.md +9 -0
- package/assets/claude-local/skills/sidecar-generation.md +9 -0
- package/assets/templates/fastapi-sidecar/.env.example +8 -0
- package/assets/templates/fastapi-sidecar/README.md +77 -0
- package/assets/templates/fastapi-sidecar/poetry.lock +757 -0
- package/assets/templates/fastapi-sidecar/pyproject.toml +42 -0
- package/assets/templates/fastapi-sidecar/src/fastapi_sidecar/__init__.py +3 -0
- package/assets/templates/fastapi-sidecar/src/fastapi_sidecar/auth.py +70 -0
- package/assets/templates/fastapi-sidecar/src/fastapi_sidecar/bridge/__init__.py +3 -0
- package/assets/templates/fastapi-sidecar/src/fastapi_sidecar/bridge/client.py +71 -0
- package/assets/templates/fastapi-sidecar/src/fastapi_sidecar/logging_utils.py +25 -0
- package/assets/templates/fastapi-sidecar/src/fastapi_sidecar/main.py +85 -0
- package/assets/templates/fastapi-sidecar/src/fastapi_sidecar/receipts.py +24 -0
- package/assets/templates/fastapi-sidecar/src/fastapi_sidecar/settings.py +41 -0
- package/assets/templates/fastapi-sidecar/src/fastapi_sidecar/template_validation.py +26 -0
- package/assets/templates/fastapi-sidecar/src/fastapi_sidecar/worker.py +33 -0
- package/assets/templates/fastapi-sidecar/template.json +43 -0
- package/assets/templates/fastapi-sidecar/template.schema.json +160 -0
- package/assets/templates/fastapi-sidecar/tests/conftest.py +36 -0
- package/assets/templates/fastapi-sidecar/tests/test_app.py +39 -0
- package/assets/templates/fastapi-sidecar/tests/test_auth.py +32 -0
- package/assets/templates/fastapi-sidecar/tests/test_bridge_client.py +31 -0
- package/assets/templates/fastapi-sidecar/tests/test_materialization.py +55 -0
- package/assets/templates/fastapi-sidecar/tests/test_template_contract.py +49 -0
- package/assets/templates/fastapi-sidecar/tests/test_worker.py +7 -0
- package/assets/templates/fastapi-sidecar/tools/template/validate_template.py +20 -0
- package/assets/templates/next-tenant-app/.env.example +8 -0
- package/assets/templates/next-tenant-app/.storybook/main.ts +19 -0
- package/assets/templates/next-tenant-app/.storybook/preview.tsx +38 -0
- package/assets/templates/next-tenant-app/README.md +115 -0
- package/assets/templates/next-tenant-app/components.json +21 -0
- package/assets/templates/next-tenant-app/eslint.config.mjs +41 -0
- package/assets/templates/next-tenant-app/next-env.d.ts +6 -0
- package/assets/templates/next-tenant-app/next.config.ts +8 -0
- package/assets/templates/next-tenant-app/package-lock.json +9682 -0
- package/assets/templates/next-tenant-app/package.json +59 -0
- package/assets/templates/next-tenant-app/pnpm-lock.yaml +6062 -0
- package/assets/templates/next-tenant-app/postcss.config.mjs +8 -0
- package/assets/templates/next-tenant-app/src/app/api/auth/context/route.test.ts +90 -0
- package/assets/templates/next-tenant-app/src/app/api/auth/context/route.ts +78 -0
- package/assets/templates/next-tenant-app/src/app/api/auth/login/route.ts +31 -0
- package/assets/templates/next-tenant-app/src/app/api/auth/logout/route.ts +16 -0
- package/assets/templates/next-tenant-app/src/app/api/auth/password-change/route.test.ts +79 -0
- package/assets/templates/next-tenant-app/src/app/api/auth/password-change/route.ts +40 -0
- package/assets/templates/next-tenant-app/src/app/api/auth/password-status/route.test.ts +42 -0
- package/assets/templates/next-tenant-app/src/app/api/auth/password-status/route.ts +29 -0
- package/assets/templates/next-tenant-app/src/app/api/auth/session/route.ts +26 -0
- package/assets/templates/next-tenant-app/src/app/api/gateway/commands/[runId]/route.test.ts +40 -0
- package/assets/templates/next-tenant-app/src/app/api/gateway/commands/[runId]/route.ts +47 -0
- package/assets/templates/next-tenant-app/src/app/api/gateway/commands/route.test.ts +43 -0
- package/assets/templates/next-tenant-app/src/app/api/gateway/commands/route.ts +45 -0
- package/assets/templates/next-tenant-app/src/app/app/examples/runtime-commands/page.test.ts +83 -0
- package/assets/templates/next-tenant-app/src/app/app/examples/runtime-commands/page.tsx +30 -0
- package/assets/templates/next-tenant-app/src/app/app/layout.tsx +20 -0
- package/assets/templates/next-tenant-app/src/app/app/page.test.ts +62 -0
- package/assets/templates/next-tenant-app/src/app/app/page.tsx +24 -0
- package/assets/templates/next-tenant-app/src/app/blog/[slug]/page.test.ts +70 -0
- package/assets/templates/next-tenant-app/src/app/blog/[slug]/page.tsx +57 -0
- package/assets/templates/next-tenant-app/src/app/blog/page.test.ts +42 -0
- package/assets/templates/next-tenant-app/src/app/blog/page.tsx +37 -0
- package/assets/templates/next-tenant-app/src/app/docs/[...slug]/page.test.ts +70 -0
- package/assets/templates/next-tenant-app/src/app/docs/[...slug]/page.tsx +55 -0
- package/assets/templates/next-tenant-app/src/app/docs/page.test.ts +42 -0
- package/assets/templates/next-tenant-app/src/app/docs/page.tsx +37 -0
- package/assets/templates/next-tenant-app/src/app/globals.css +70 -0
- package/assets/templates/next-tenant-app/src/app/layout.tsx +69 -0
- package/assets/templates/next-tenant-app/src/app/login/page.test.ts +55 -0
- package/assets/templates/next-tenant-app/src/app/login/page.tsx +33 -0
- package/assets/templates/next-tenant-app/src/app/page.test.ts +56 -0
- package/assets/templates/next-tenant-app/src/app/page.tsx +35 -0
- package/assets/templates/next-tenant-app/src/app/pricing/page.test.ts +55 -0
- package/assets/templates/next-tenant-app/src/app/pricing/page.tsx +35 -0
- package/assets/templates/next-tenant-app/src/app/providers.tsx +25 -0
- package/assets/templates/next-tenant-app/src/app/robots.test.ts +20 -0
- package/assets/templates/next-tenant-app/src/app/robots.ts +18 -0
- package/assets/templates/next-tenant-app/src/app/sitemap.test.ts +49 -0
- package/assets/templates/next-tenant-app/src/app/sitemap.ts +54 -0
- package/assets/templates/next-tenant-app/src/components/ui/button.tsx +59 -0
- package/assets/templates/next-tenant-app/src/components/ui/input.tsx +21 -0
- package/assets/templates/next-tenant-app/src/design-system/docs/governance.mdx +26 -0
- package/assets/templates/next-tenant-app/src/design-system/patterns/panel-frame.stories.tsx +48 -0
- package/assets/templates/next-tenant-app/src/design-system/patterns/panel-frame.tsx +26 -0
- package/assets/templates/next-tenant-app/src/design-system/patterns/status-badge.stories.tsx +26 -0
- package/assets/templates/next-tenant-app/src/design-system/patterns/status-badge.tsx +35 -0
- package/assets/templates/next-tenant-app/src/design-system/patterns/theme-mode-toggle.stories.tsx +21 -0
- package/assets/templates/next-tenant-app/src/design-system/patterns/theme-mode-toggle.tsx +75 -0
- package/assets/templates/next-tenant-app/src/design-system/primitives/button.stories.tsx +37 -0
- package/assets/templates/next-tenant-app/src/design-system/primitives/button.ts +1 -0
- package/assets/templates/next-tenant-app/src/design-system/primitives/input.stories.tsx +26 -0
- package/assets/templates/next-tenant-app/src/design-system/primitives/input.ts +1 -0
- package/assets/templates/next-tenant-app/src/design-system/recipes/chrome.ts +28 -0
- package/assets/templates/next-tenant-app/src/design-system/tokens/foundation.css +31 -0
- package/assets/templates/next-tenant-app/src/design-system/tokens/index.css +3 -0
- package/assets/templates/next-tenant-app/src/design-system/tokens/manifest.json +85 -0
- package/assets/templates/next-tenant-app/src/design-system/tokens/manifest.ts +87 -0
- package/assets/templates/next-tenant-app/src/design-system/tokens/semantic.css +105 -0
- package/assets/templates/next-tenant-app/src/design-system/tokens/theme.css +59 -0
- package/assets/templates/next-tenant-app/src/design-system/tokens/tokens.stories.tsx +71 -0
- package/assets/templates/next-tenant-app/src/features/auth/components/login-screen.tsx +198 -0
- package/assets/templates/next-tenant-app/src/features/dashboard/components/tenant-dashboard.tsx +153 -0
- package/assets/templates/next-tenant-app/src/features/examples/runtime-command-demo/components/runtime-command-demo.tsx +342 -0
- package/assets/templates/next-tenant-app/src/features/public-shell/components/content-article.tsx +66 -0
- package/assets/templates/next-tenant-app/src/features/public-shell/components/content-collection.tsx +108 -0
- package/assets/templates/next-tenant-app/src/features/public-shell/components/marketing-page-canvas.tsx +111 -0
- package/assets/templates/next-tenant-app/src/features/public-shell/components/public-site-shell.tsx +111 -0
- package/assets/templates/next-tenant-app/src/features/shell/components/private-app-shell.tsx +624 -0
- package/assets/templates/next-tenant-app/src/lib/app-routes.test.ts +20 -0
- package/assets/templates/next-tenant-app/src/lib/app-routes.ts +59 -0
- package/assets/templates/next-tenant-app/src/lib/content/__fixtures__/public-site-snapshot.ts +189 -0
- package/assets/templates/next-tenant-app/src/lib/content/adapter.server.test.ts +318 -0
- package/assets/templates/next-tenant-app/src/lib/content/adapter.server.ts +232 -0
- package/assets/templates/next-tenant-app/src/lib/content/contracts.ts +339 -0
- package/assets/templates/next-tenant-app/src/lib/content/custom-adapter.ts +5 -0
- package/assets/templates/next-tenant-app/src/lib/content/empty-state.ts +96 -0
- package/assets/templates/next-tenant-app/src/lib/platform/auth.server.test.ts +75 -0
- package/assets/templates/next-tenant-app/src/lib/platform/auth.server.ts +25 -0
- package/assets/templates/next-tenant-app/src/lib/platform/client.server.test.ts +170 -0
- package/assets/templates/next-tenant-app/src/lib/platform/client.server.ts +661 -0
- package/assets/templates/next-tenant-app/src/lib/platform/contracts.ts +131 -0
- package/assets/templates/next-tenant-app/src/lib/platform/endpoints.server.ts +34 -0
- package/assets/templates/next-tenant-app/src/lib/platform/env.server.test.ts +102 -0
- package/assets/templates/next-tenant-app/src/lib/platform/env.server.ts +87 -0
- package/assets/templates/next-tenant-app/src/lib/platform/route-response.ts +33 -0
- package/assets/templates/next-tenant-app/src/lib/platform/session.server.ts +108 -0
- package/assets/templates/next-tenant-app/src/lib/public-site.test.ts +20 -0
- package/assets/templates/next-tenant-app/src/lib/public-site.ts +49 -0
- package/assets/templates/next-tenant-app/src/lib/theme-config.ts +10 -0
- package/assets/templates/next-tenant-app/src/lib/theme.tsx +159 -0
- package/assets/templates/next-tenant-app/src/lib/utils.ts +6 -0
- package/assets/templates/next-tenant-app/template.json +27 -0
- package/assets/templates/next-tenant-app/template.schema.json +160 -0
- package/assets/templates/next-tenant-app/test/server-only-stub.ts +1 -0
- package/assets/templates/next-tenant-app/tools/design-system/build-token-manifest.mjs +3 -0
- package/assets/templates/next-tenant-app/tools/design-system/check-imports.mjs +9 -0
- package/assets/templates/next-tenant-app/tools/design-system/check-stories.mjs +9 -0
- package/assets/templates/next-tenant-app/tools/design-system/check-values.mjs +9 -0
- package/assets/templates/next-tenant-app/tools/design-system/checks.mjs +238 -0
- package/assets/templates/next-tenant-app/tools/design-system/eslint-plugin-design-system.mjs +184 -0
- package/assets/templates/next-tenant-app/tools/design-system/playwright.config.mjs +34 -0
- package/assets/templates/next-tenant-app/tools/design-system/run-checks.mjs +22 -0
- package/assets/templates/next-tenant-app/tools/design-system/shared.mjs +166 -0
- package/assets/templates/next-tenant-app/tools/design-system/visual.spec.ts +41 -0
- package/assets/templates/next-tenant-app/tools/template/validate-route-contract.mjs +39 -0
- package/assets/templates/next-tenant-app/tools/template/validate-template.mjs +45 -0
- package/assets/templates/next-tenant-app/tsconfig.json +42 -0
- package/assets/templates/next-tenant-app/vitest.config.ts +25 -0
- package/bin/minutework.js +40 -0
- package/dist/auth.d.ts +59 -0
- package/dist/auth.js +338 -0
- package/dist/auth.js.map +1 -0
- package/dist/browser.d.ts +1 -0
- package/dist/browser.js +26 -0
- package/dist/browser.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +5 -0
- package/dist/cli.js.map +1 -0
- package/dist/compile.d.ts +20 -0
- package/dist/compile.js +121 -0
- package/dist/compile.js.map +1 -0
- package/dist/config.d.ts +25 -0
- package/dist/config.js +102 -0
- package/dist/config.js.map +1 -0
- package/dist/deploy-state.d.ts +35 -0
- package/dist/deploy-state.js +30 -0
- package/dist/deploy-state.js.map +1 -0
- package/dist/deploy.d.ts +22 -0
- package/dist/deploy.js +308 -0
- package/dist/deploy.js.map +1 -0
- package/dist/developer-client.d.ts +88 -0
- package/dist/developer-client.js +78 -0
- package/dist/developer-client.js.map +1 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.js +290 -0
- package/dist/index.js.map +1 -0
- package/dist/init.d.ts +22 -0
- package/dist/init.js +421 -0
- package/dist/init.js.map +1 -0
- package/dist/launcher.d.ts +1 -0
- package/dist/launcher.js +50 -0
- package/dist/launcher.js.map +1 -0
- package/dist/paths.d.ts +12 -0
- package/dist/paths.js +33 -0
- package/dist/paths.js.map +1 -0
- package/dist/sandbox.d.ts +30 -0
- package/dist/sandbox.js +852 -0
- package/dist/sandbox.js.map +1 -0
- package/dist/state.d.ts +46 -0
- package/dist/state.js +82 -0
- package/dist/state.js.map +1 -0
- package/dist/tokens.d.ts +14 -0
- package/dist/tokens.js +293 -0
- package/dist/tokens.js.map +1 -0
- package/package.json +43 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
export function createDeveloperClient(options) {
|
|
2
|
+
const fetchImpl = options.dependencies?.fetchImpl ?? fetch;
|
|
3
|
+
const tenantId = options.profile.tenantId;
|
|
4
|
+
const headers = {
|
|
5
|
+
Authorization: `Bearer ${options.profile.token}`,
|
|
6
|
+
"Content-Type": "application/json",
|
|
7
|
+
"X-Tenant-Id": tenantId,
|
|
8
|
+
};
|
|
9
|
+
async function requestJson(requestPath, init, actionLabel) {
|
|
10
|
+
const response = await fetchImpl(new URL(requestPath, `${options.profile.platformBaseUrl}/`).toString(), {
|
|
11
|
+
...init,
|
|
12
|
+
headers: {
|
|
13
|
+
...headers,
|
|
14
|
+
...(init.headers || {}),
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
const payload = (await response.json().catch(() => ({})));
|
|
18
|
+
if (!response.ok) {
|
|
19
|
+
throw developerApiRequestError({
|
|
20
|
+
actionLabel,
|
|
21
|
+
detail: String(payload.detail || ""),
|
|
22
|
+
status: response.status,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
return payload;
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
getPreviewDeployReceipt(propertyKey, receiptId) {
|
|
29
|
+
return requestJson(`/api/v1/developer/public-sites/${encodeURIComponent(propertyKey)}/deployments/${encodeURIComponent(receiptId)}/`, { method: "GET" }, "poll preview deploy receipt");
|
|
30
|
+
},
|
|
31
|
+
getPreviewDeployStatus(propertyKey) {
|
|
32
|
+
return requestJson(`/api/v1/developer/public-sites/${encodeURIComponent(propertyKey)}/deploy-status/`, { method: "GET" }, "load preview deploy status");
|
|
33
|
+
},
|
|
34
|
+
linkPublicSite(input) {
|
|
35
|
+
return requestJson("/api/v1/developer/public-sites/link/", {
|
|
36
|
+
method: "POST",
|
|
37
|
+
body: JSON.stringify({
|
|
38
|
+
default_release_class: input.defaultReleaseClass,
|
|
39
|
+
display_name: input.displayName,
|
|
40
|
+
property_key: input.propertyKey,
|
|
41
|
+
}),
|
|
42
|
+
}, "link public-site property");
|
|
43
|
+
},
|
|
44
|
+
submitPreviewDeploy(input) {
|
|
45
|
+
return requestJson(`/api/v1/developer/public-sites/${encodeURIComponent(input.propertyKey)}/deployments/preview/`, {
|
|
46
|
+
method: "POST",
|
|
47
|
+
body: JSON.stringify({
|
|
48
|
+
app_id: input.appId,
|
|
49
|
+
display_name: input.displayName,
|
|
50
|
+
environment: "preview",
|
|
51
|
+
property_key: input.propertyKey,
|
|
52
|
+
release_class: input.releaseClass,
|
|
53
|
+
release_digest: input.releaseDigest,
|
|
54
|
+
release_key: input.releaseKey,
|
|
55
|
+
runtime_content_ref: input.runtimeContentRef,
|
|
56
|
+
source_digest: input.sourceDigest,
|
|
57
|
+
starter_id: input.starterId,
|
|
58
|
+
version: input.version,
|
|
59
|
+
workspace_name: input.workspaceName,
|
|
60
|
+
}),
|
|
61
|
+
}, "submit preview deploy");
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
function developerApiRequestError(options) {
|
|
66
|
+
const detail = options.detail.trim();
|
|
67
|
+
if (options.status === 401) {
|
|
68
|
+
return new Error(`Authentication failed while attempting to ${options.actionLabel}. Run \`minutework login\` first.`);
|
|
69
|
+
}
|
|
70
|
+
if (options.status === 403) {
|
|
71
|
+
return new Error(detail || `You are not allowed to ${options.actionLabel} with the active CLI auth profile.`);
|
|
72
|
+
}
|
|
73
|
+
if (options.status === 404) {
|
|
74
|
+
return new Error(detail || `Unable to ${options.actionLabel}: the requested MinuteWork resource was not found.`);
|
|
75
|
+
}
|
|
76
|
+
return new Error(detail || `Unable to ${options.actionLabel}.`);
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=developer-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"developer-client.js","sourceRoot":"","sources":["../src/developer-client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type LinkDependencies, type LoginDependencies } from "./auth.js";
|
|
2
|
+
import { type DeployDependencies } from "./deploy.js";
|
|
3
|
+
import { resolveCliStatePaths, type PlatformName } from "./paths.js";
|
|
4
|
+
import { type LocalRuntimeDependencies } from "./sandbox.js";
|
|
5
|
+
import { type TokensDependencies } from "./tokens.js";
|
|
6
|
+
export type CliIo = {
|
|
7
|
+
stdout: (message: string) => void;
|
|
8
|
+
stderr: (message: string) => void;
|
|
9
|
+
};
|
|
10
|
+
export type RunCliOptions = {
|
|
11
|
+
cwd?: string;
|
|
12
|
+
deployDependencies?: DeployDependencies;
|
|
13
|
+
env?: NodeJS.ProcessEnv;
|
|
14
|
+
linkDependencies?: LinkDependencies;
|
|
15
|
+
loginDependencies?: LoginDependencies;
|
|
16
|
+
localRuntimeDependencies?: LocalRuntimeDependencies;
|
|
17
|
+
mcpCommandRunner?: (options: {
|
|
18
|
+
args?: string[];
|
|
19
|
+
cwd?: string;
|
|
20
|
+
env?: NodeJS.ProcessEnv;
|
|
21
|
+
platform?: PlatformName;
|
|
22
|
+
}) => Promise<number>;
|
|
23
|
+
platform?: PlatformName;
|
|
24
|
+
tokensDependencies?: TokensDependencies;
|
|
25
|
+
};
|
|
26
|
+
export declare function runCli(argv: string[], options?: RunCliOptions, io?: CliIo): Promise<number>;
|
|
27
|
+
export { resolveCliStatePaths };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { runWorkspaceMcpCli } from "@minutework/workspace-mcp";
|
|
3
|
+
import { runEnvUseCommand, runLinkCommand, runLoginCommand, } from "./auth.js";
|
|
4
|
+
import { runCodegenCommand, runCompileCommand, runValidateCommand } from "./compile.js";
|
|
5
|
+
import { runDeployCommand } from "./deploy.js";
|
|
6
|
+
import { STARTER_IDS, isStarterId, runInit } from "./init.js";
|
|
7
|
+
import { resolveCliStatePaths } from "./paths.js";
|
|
8
|
+
import { runDevCommand, runSandboxCommand, runTestCommand, } from "./sandbox.js";
|
|
9
|
+
import { runTokensCommand } from "./tokens.js";
|
|
10
|
+
export async function runCli(argv, options = {}, io = defaultIo) {
|
|
11
|
+
const cwd = options.cwd ?? process.cwd();
|
|
12
|
+
const env = options.env ?? process.env;
|
|
13
|
+
const platform = options.platform ?? process.platform;
|
|
14
|
+
const cliStatePaths = resolveCliStatePaths({ env, platform });
|
|
15
|
+
const args = [...argv];
|
|
16
|
+
if (args.length === 0 || args[0] === "--help" || args[0] === "-h" || args[0] === "help") {
|
|
17
|
+
io.stdout(renderHelp());
|
|
18
|
+
return 0;
|
|
19
|
+
}
|
|
20
|
+
const [command, ...rest] = args;
|
|
21
|
+
try {
|
|
22
|
+
if (command === "init") {
|
|
23
|
+
return await runInitCommand(rest, { cwd, env }, io);
|
|
24
|
+
}
|
|
25
|
+
if (command === "login") {
|
|
26
|
+
return await runLoginCommand({
|
|
27
|
+
args: rest,
|
|
28
|
+
cwd,
|
|
29
|
+
dependencies: options.loginDependencies,
|
|
30
|
+
env,
|
|
31
|
+
io,
|
|
32
|
+
paths: cliStatePaths,
|
|
33
|
+
platform,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
if (command === "link") {
|
|
37
|
+
return await runLinkCommand({
|
|
38
|
+
args: rest,
|
|
39
|
+
cwd,
|
|
40
|
+
dependencies: options.linkDependencies,
|
|
41
|
+
env,
|
|
42
|
+
io,
|
|
43
|
+
paths: cliStatePaths,
|
|
44
|
+
platform,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
if (command === "mcp") {
|
|
48
|
+
return await runMcpCommand(rest, options, io);
|
|
49
|
+
}
|
|
50
|
+
if (command === "tokens") {
|
|
51
|
+
return await runTokensCommand({
|
|
52
|
+
args: rest,
|
|
53
|
+
cwd,
|
|
54
|
+
dependencies: options.tokensDependencies,
|
|
55
|
+
env,
|
|
56
|
+
io,
|
|
57
|
+
paths: cliStatePaths,
|
|
58
|
+
platform,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
if (command === "validate") {
|
|
62
|
+
return await runValidateCommand({
|
|
63
|
+
args: rest,
|
|
64
|
+
cwd,
|
|
65
|
+
io,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
if (command === "compile") {
|
|
69
|
+
return await runCompileCommand({
|
|
70
|
+
args: rest,
|
|
71
|
+
cwd,
|
|
72
|
+
io,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
if (command === "codegen") {
|
|
76
|
+
return await runCodegenCommand({
|
|
77
|
+
args: rest,
|
|
78
|
+
cwd,
|
|
79
|
+
io,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
if (command === "sandbox") {
|
|
83
|
+
return await runSandboxCommand({
|
|
84
|
+
args: rest,
|
|
85
|
+
cwd,
|
|
86
|
+
env,
|
|
87
|
+
io,
|
|
88
|
+
platform,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
if (command === "dev") {
|
|
92
|
+
return await runDevCommand({
|
|
93
|
+
args: rest,
|
|
94
|
+
cwd,
|
|
95
|
+
dependencies: options.localRuntimeDependencies,
|
|
96
|
+
env,
|
|
97
|
+
io,
|
|
98
|
+
platform,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
if (command === "test") {
|
|
102
|
+
return await runTestCommand({
|
|
103
|
+
args: rest,
|
|
104
|
+
cwd,
|
|
105
|
+
dependencies: options.localRuntimeDependencies,
|
|
106
|
+
env,
|
|
107
|
+
io,
|
|
108
|
+
platform,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
if (command === "deploy") {
|
|
112
|
+
return await runDeployCommand({
|
|
113
|
+
args: rest,
|
|
114
|
+
cwd,
|
|
115
|
+
dependencies: options.deployDependencies,
|
|
116
|
+
env,
|
|
117
|
+
io,
|
|
118
|
+
paths: cliStatePaths,
|
|
119
|
+
platform,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
if (command === "env") {
|
|
123
|
+
if (rest[0] === "use") {
|
|
124
|
+
return await runEnvUseCommand({
|
|
125
|
+
args: rest.slice(1),
|
|
126
|
+
cwd,
|
|
127
|
+
io,
|
|
128
|
+
platform,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
io.stderr('Unknown "env" subcommand. Reserved surface: minutework env use');
|
|
132
|
+
return 1;
|
|
133
|
+
}
|
|
134
|
+
io.stderr(`Unknown command: ${command}`);
|
|
135
|
+
io.stderr("");
|
|
136
|
+
io.stderr(renderHelp());
|
|
137
|
+
return 1;
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
io.stderr(error instanceof Error ? error.message : String(error));
|
|
141
|
+
return 1;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
export { resolveCliStatePaths };
|
|
145
|
+
async function runInitCommand(args, options, io) {
|
|
146
|
+
let targetDirectory = ".";
|
|
147
|
+
const selectedStarters = new Set();
|
|
148
|
+
let sawTarget = false;
|
|
149
|
+
for (let index = 0; index < args.length; index += 1) {
|
|
150
|
+
const arg = args[index];
|
|
151
|
+
if (arg === "--starter") {
|
|
152
|
+
const starterValue = args[index + 1];
|
|
153
|
+
if (!starterValue || starterValue.startsWith("--")) {
|
|
154
|
+
throw new Error(`Init option "--starter" requires a value. Supported starters: ${STARTER_IDS.join(", ")}.`);
|
|
155
|
+
}
|
|
156
|
+
selectedStarters.add(parseStarterId(starterValue));
|
|
157
|
+
index += 1;
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
160
|
+
if (arg.startsWith("--starter=")) {
|
|
161
|
+
selectedStarters.add(parseStarterId(arg.slice("--starter=".length)));
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
if (arg === "--tenant-app") {
|
|
165
|
+
selectedStarters.add("tenant-app");
|
|
166
|
+
continue;
|
|
167
|
+
}
|
|
168
|
+
if (arg === "--sidecar") {
|
|
169
|
+
selectedStarters.add("sidecar");
|
|
170
|
+
continue;
|
|
171
|
+
}
|
|
172
|
+
if (arg === "--help" || arg === "-h") {
|
|
173
|
+
io.stdout(renderInitHelp());
|
|
174
|
+
return 0;
|
|
175
|
+
}
|
|
176
|
+
if (arg.startsWith("--")) {
|
|
177
|
+
throw new Error(`Unknown init option: ${arg}`);
|
|
178
|
+
}
|
|
179
|
+
if (sawTarget) {
|
|
180
|
+
throw new Error("Init accepts at most one target directory.");
|
|
181
|
+
}
|
|
182
|
+
targetDirectory = arg;
|
|
183
|
+
sawTarget = true;
|
|
184
|
+
}
|
|
185
|
+
const result = await runInit({
|
|
186
|
+
cwd: options.cwd,
|
|
187
|
+
targetDirectory,
|
|
188
|
+
starters: {
|
|
189
|
+
tenantApp: selectedStarters.has("tenant-app"),
|
|
190
|
+
sidecar: selectedStarters.has("sidecar"),
|
|
191
|
+
},
|
|
192
|
+
});
|
|
193
|
+
io.stdout(`Initialized MinuteWork workspace in ${path.relative(options.cwd, result.rootDirectory) || "."}.`);
|
|
194
|
+
io.stdout(`Workspace slug: ${result.workspaceSlug}`);
|
|
195
|
+
io.stdout(`Selected starters: ${formatStarters({
|
|
196
|
+
tenantApp: selectedStarters.has("tenant-app"),
|
|
197
|
+
sidecar: selectedStarters.has("sidecar"),
|
|
198
|
+
})}`);
|
|
199
|
+
if (selectedStarters.size === 0) {
|
|
200
|
+
io.stdout("No app starters were selected. This workspace contains only the base MinuteWork repo contract.");
|
|
201
|
+
}
|
|
202
|
+
return 0;
|
|
203
|
+
}
|
|
204
|
+
async function runMcpCommand(args, options, io) {
|
|
205
|
+
const runner = options.mcpCommandRunner ?? runWorkspaceMcpCli;
|
|
206
|
+
return runner({
|
|
207
|
+
args,
|
|
208
|
+
cwd: options.cwd,
|
|
209
|
+
env: options.env,
|
|
210
|
+
platform: options.platform,
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
function formatStarters(starters) {
|
|
214
|
+
const selected = [
|
|
215
|
+
starters.tenantApp ? "tenant-app" : null,
|
|
216
|
+
starters.sidecar ? "sidecar" : null,
|
|
217
|
+
].filter(Boolean);
|
|
218
|
+
return selected.length > 0 ? selected.join(", ") : "base workspace only";
|
|
219
|
+
}
|
|
220
|
+
function renderHelp() {
|
|
221
|
+
return `MinuteWork CLI
|
|
222
|
+
|
|
223
|
+
Usage:
|
|
224
|
+
minutework init [directory] [--starter <tenant-app|sidecar>]...
|
|
225
|
+
minutework login [--platform <url>]
|
|
226
|
+
minutework link
|
|
227
|
+
minutework validate
|
|
228
|
+
minutework compile
|
|
229
|
+
minutework codegen
|
|
230
|
+
minutework dev
|
|
231
|
+
minutework test
|
|
232
|
+
minutework deploy --preview
|
|
233
|
+
minutework sandbox status
|
|
234
|
+
minutework env use
|
|
235
|
+
minutework tokens
|
|
236
|
+
minutework mcp
|
|
237
|
+
|
|
238
|
+
Wave 2 status:
|
|
239
|
+
init Available
|
|
240
|
+
login Available
|
|
241
|
+
link Available
|
|
242
|
+
validate Available
|
|
243
|
+
compile Available
|
|
244
|
+
codegen Available
|
|
245
|
+
dev Available
|
|
246
|
+
test Available
|
|
247
|
+
deploy Preview available
|
|
248
|
+
sandbox Status available
|
|
249
|
+
env use Available
|
|
250
|
+
tokens Available
|
|
251
|
+
mcp Available
|
|
252
|
+
|
|
253
|
+
Starter notes:
|
|
254
|
+
tenant-app Combined web starter with public root routes and a private /app workspace
|
|
255
|
+
sidecar Internal FastAPI sidecar starter
|
|
256
|
+
`;
|
|
257
|
+
}
|
|
258
|
+
function renderInitHelp() {
|
|
259
|
+
return `Usage:
|
|
260
|
+
minutework init [directory] [--starter <tenant-app|sidecar>]...
|
|
261
|
+
|
|
262
|
+
Schema input:
|
|
263
|
+
The default scaffolded authoring input is schemas/schema.ts using the TypeScript-first builder DSL.
|
|
264
|
+
A root schema.mw file is supported as a compact alternative input, but init does not create both.
|
|
265
|
+
|
|
266
|
+
Starters:
|
|
267
|
+
tenant-app Combined web starter with root-level marketing/docs/blog routes, published-snapshot-ready public content, and a private /app surface.
|
|
268
|
+
sidecar Internal FastAPI sidecar starter.
|
|
269
|
+
|
|
270
|
+
Options:
|
|
271
|
+
--starter Materialize a starter into the generated workspace. Repeat for multiple starters.
|
|
272
|
+
--tenant-app Compatibility alias for "--starter tenant-app"
|
|
273
|
+
--sidecar Compatibility alias for "--starter sidecar"
|
|
274
|
+
`;
|
|
275
|
+
}
|
|
276
|
+
function parseStarterId(value) {
|
|
277
|
+
if (isStarterId(value)) {
|
|
278
|
+
return value;
|
|
279
|
+
}
|
|
280
|
+
throw new Error(`Unknown starter "${value}". Supported starters: ${STARTER_IDS.join(", ")}.`);
|
|
281
|
+
}
|
|
282
|
+
const defaultIo = {
|
|
283
|
+
stdout(message) {
|
|
284
|
+
process.stdout.write(`${message}\n`);
|
|
285
|
+
},
|
|
286
|
+
stderr(message) {
|
|
287
|
+
process.stderr.write(`${message}\n`);
|
|
288
|
+
},
|
|
289
|
+
};
|
|
290
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/init.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
type StarterSelection = {
|
|
2
|
+
tenantApp: boolean;
|
|
3
|
+
sidecar: boolean;
|
|
4
|
+
};
|
|
5
|
+
export declare const STARTER_IDS: readonly ["tenant-app", "sidecar"];
|
|
6
|
+
export type StarterId = (typeof STARTER_IDS)[number];
|
|
7
|
+
export type InitOptions = {
|
|
8
|
+
cwd: string;
|
|
9
|
+
targetDirectory: string;
|
|
10
|
+
starters: StarterSelection;
|
|
11
|
+
};
|
|
12
|
+
export declare function runInit(options: InitOptions): Promise<{
|
|
13
|
+
rootDirectory: string;
|
|
14
|
+
workspaceSlug: string;
|
|
15
|
+
}>;
|
|
16
|
+
export declare function deriveWorkspaceSlug(targetDirectory: string): string;
|
|
17
|
+
export declare function isStarterId(value: string): value is StarterId;
|
|
18
|
+
export declare function resolveCliPackageRoot(moduleUrl: string): string;
|
|
19
|
+
export declare function resolveBundledStarterTemplateRoot(moduleUrl: string, starterId: StarterId): string;
|
|
20
|
+
export declare function resolveBundledBuilderBundleRoot(moduleUrl: string): string;
|
|
21
|
+
export declare function shouldSkipStarterMaterializationPath(starterId: StarterId, relativePath: string): boolean;
|
|
22
|
+
export {};
|