minutework 0.1.38 → 0.1.40

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.
Files changed (35) hide show
  1. package/assets/claude-local/CLAUDE.md.template +13 -0
  2. package/assets/claude-local/skills/README.md +5 -0
  3. package/assets/claude-local/skills/ai-capability-defaults/SKILL.md +3 -0
  4. package/assets/claude-local/skills/generated-workspace-architecture/SKILL.md +8 -0
  5. package/assets/claude-local/skills/integration-broker-and-connectors/SKILL.md +122 -0
  6. package/assets/claude-local/skills/layering-and-import-modes/SKILL.md +4 -0
  7. package/assets/claude-local/skills/project-overview-and-strategy/SKILL.md +6 -0
  8. package/assets/claude-local/skills/runtime-capability-inventory/SKILL.md +8 -0
  9. package/assets/claude-local/skills/workspace-guidance-refresh/SKILL.md +6 -0
  10. package/dist/auth.d.ts +6 -0
  11. package/dist/auth.js +42 -6
  12. package/dist/auth.js.map +1 -1
  13. package/dist/cli-json.d.ts +1 -1
  14. package/dist/cli-json.js.map +1 -1
  15. package/dist/context-banner.d.ts +9 -0
  16. package/dist/context-banner.js +35 -0
  17. package/dist/context-banner.js.map +1 -0
  18. package/dist/deploy.js +20 -2
  19. package/dist/deploy.js.map +1 -1
  20. package/dist/developer-client.d.ts +28 -4
  21. package/dist/developer-client.js +22 -6
  22. package/dist/developer-client.js.map +1 -1
  23. package/dist/index.d.ts +2 -1
  24. package/dist/index.js +15 -3
  25. package/dist/index.js.map +1 -1
  26. package/dist/sandbox.d.ts +11 -1
  27. package/dist/sandbox.js +318 -1
  28. package/dist/sandbox.js.map +1 -1
  29. package/dist/state.d.ts +7 -0
  30. package/dist/state.js +43 -0
  31. package/dist/state.js.map +1 -1
  32. package/dist/workspace.d.ts +3 -2
  33. package/dist/workspace.js +73 -1
  34. package/dist/workspace.js.map +1 -1
  35. package/package.json +3 -3
package/dist/sandbox.js CHANGED
@@ -1,9 +1,17 @@
1
1
  import * as childProcess from "node:child_process";
2
+ import { randomUUID } from "node:crypto";
2
3
  import { promises as fs } from "node:fs";
3
4
  import path from "node:path";
5
+ import { createInterface } from "node:readline/promises";
4
6
  import { analyzeCompilerWorkspace, } from "@minutework/schema-compiler";
5
7
  import { collectLocalRuntimeStatus, createSha256Digest, loadLocalRuntimeStatusContext, } from "../vendor/workspace-mcp/index.js";
8
+ import { resolveWorkspaceRuntimeDefaults } from "./auth.js";
9
+ import { formatWorkspaceContext, loadOptionalWorkspaceContext, printWorkspaceContext } from "./context-banner.js";
6
10
  import { formatJson as formatCompilerJson, writeCodegenArtifacts, writeCompileGraph } from "./compile.js";
11
+ import { renderCliJsonEnvelope } from "./cli-json.js";
12
+ import { assertWorkspacePlatformMatchesAuthProfile, resolveOptionalCliWorkspaceConfig, } from "./config.js";
13
+ import { createDeveloperClient, } from "./developer-client.js";
14
+ import { findWorkspaceRoot, loadCurrentAuthProfile, writeWorkspaceBinding, } from "./state.js";
7
15
  export async function runSandboxCommand(options) {
8
16
  const [subcommand, ...rest] = options.args;
9
17
  if (!subcommand || subcommand === "--help" || subcommand === "-h" || subcommand === "help") {
@@ -19,6 +27,32 @@ export async function runSandboxCommand(options) {
19
27
  platform: options.platform,
20
28
  });
21
29
  }
30
+ if (subcommand === "create" || subcommand === "connect") {
31
+ try {
32
+ return await runSandboxCreateCommand({
33
+ args: rest,
34
+ createIfMissing: subcommand === "create",
35
+ cwd: options.cwd,
36
+ dependencies: options.dependencies,
37
+ env: options.env,
38
+ io: options.io,
39
+ paths: options.paths,
40
+ platform: options.platform,
41
+ });
42
+ }
43
+ catch (error) {
44
+ if (!rest.includes("--json")) {
45
+ throw error;
46
+ }
47
+ options.io.stdout(renderCliJsonEnvelope({
48
+ command: "sandbox",
49
+ ok: false,
50
+ status: "error",
51
+ error: { message: error instanceof Error ? error.message : String(error) },
52
+ }));
53
+ return 1;
54
+ }
55
+ }
22
56
  options.io.stderr(`Unknown "sandbox" subcommand: ${subcommand}`);
23
57
  options.io.stderr("");
24
58
  options.io.stderr(renderSandboxHelp());
@@ -30,6 +64,70 @@ export async function runDevCommand(options) {
30
64
  export async function runTestCommand(options) {
31
65
  return runLocalRuntimeCommand("test", options);
32
66
  }
67
+ async function runSandboxCreateCommand(options) {
68
+ const parsed = parseSandboxCreateArgs(options.args);
69
+ if (parsed.help) {
70
+ options.io.stdout(renderSandboxCreateHelp());
71
+ return 0;
72
+ }
73
+ const workspaceRoot = await findWorkspaceRoot(path.resolve(options.cwd, parsed.workspacePath ?? "."));
74
+ const resolvedWorkspaceConfig = await resolveOptionalCliWorkspaceConfig({
75
+ cwd: workspaceRoot,
76
+ env: options.env,
77
+ });
78
+ const profile = await loadCurrentAuthProfile(options.paths);
79
+ assertWorkspacePlatformMatchesAuthProfile({
80
+ commandLabel: "minutework sandbox create",
81
+ profilePlatformBaseUrl: profile.platformBaseUrl,
82
+ resolvedWorkspaceConfig,
83
+ });
84
+ const client = createDeveloperClient({
85
+ dependencies: options.dependencies,
86
+ profile,
87
+ });
88
+ const initialStatus = options.createIfMissing
89
+ ? await client.createSandboxRuntime({
90
+ idempotencyKey: parsed.idempotencyKey || (options.dependencies?.uuidFactory ?? randomUUID)(),
91
+ retry: parsed.retry,
92
+ })
93
+ : await client.getSandboxRuntimeStatus();
94
+ if (!options.createIfMissing && initialStatus.status === "not_provisioned") {
95
+ throw new Error("No sandbox runtime exists yet. Run `minutework sandbox create` first.");
96
+ }
97
+ const finalStatus = await waitForSandboxRuntime({
98
+ client,
99
+ initialStatus,
100
+ io: options.io,
101
+ json: parsed.json,
102
+ maxAttempts: parsed.maxAttempts,
103
+ sleep: options.dependencies?.sleep ?? defaultSleep,
104
+ });
105
+ const binding = await linkSandboxRuntimeWorkspace({
106
+ client,
107
+ platform: options.platform,
108
+ profile,
109
+ workspaceRoot,
110
+ });
111
+ if (parsed.json) {
112
+ options.io.stdout(renderCliJsonEnvelope({
113
+ command: "sandbox",
114
+ ok: true,
115
+ status: "linked",
116
+ result: {
117
+ binding,
118
+ sandbox: finalStatus,
119
+ },
120
+ }));
121
+ return 0;
122
+ }
123
+ options.io.stdout(`Sandbox runtime status: ${finalStatus.status}`);
124
+ if (finalStatus.sandbox_url) {
125
+ options.io.stdout(`Sandbox URL: ${finalStatus.sandbox_url}`);
126
+ }
127
+ options.io.stdout(`Linked workspace ${path.basename(workspaceRoot)} to sandbox runtime ${binding.runtimeId}.`);
128
+ printWorkspaceContext(options.io, binding);
129
+ return 0;
130
+ }
33
131
  async function runSandboxStatusCommand(options) {
34
132
  const parsed = parseSandboxStatusArgs(options.args);
35
133
  if (parsed.help) {
@@ -43,6 +141,13 @@ async function runSandboxStatusCommand(options) {
43
141
  workspacePath: parsed.workspacePath,
44
142
  });
45
143
  const status = collectLocalRuntimeStatus(context);
144
+ const binding = await loadOptionalWorkspaceContext({
145
+ platform: options.platform,
146
+ workspaceRoot: context.workspaceRoot,
147
+ });
148
+ if (binding) {
149
+ options.io.stderr(formatWorkspaceContext(binding));
150
+ }
46
151
  options.io.stdout(formatLocalRuntimeJson(status));
47
152
  return status.status === "ready" ? 0 : 1;
48
153
  }
@@ -58,6 +163,25 @@ async function runLocalRuntimeCommand(commandName, options) {
58
163
  platform: options.platform,
59
164
  workspacePath: parsed.workspacePath,
60
165
  });
166
+ const initialBinding = await loadOptionalWorkspaceContext({
167
+ platform: options.platform,
168
+ workspaceRoot: initialContext.workspaceRoot,
169
+ });
170
+ if (initialBinding) {
171
+ printWorkspaceContext(options.io, initialBinding);
172
+ }
173
+ else if (commandName === "dev" && (await shouldCreateSandboxInteractively())) {
174
+ await runSandboxCreateCommand({
175
+ args: [initialContext.workspaceRoot, "--yes"],
176
+ createIfMissing: true,
177
+ cwd: options.cwd,
178
+ dependencies: options.sandboxDependencies,
179
+ env: options.env,
180
+ io: options.io,
181
+ paths: options.paths,
182
+ platform: options.platform,
183
+ });
184
+ }
61
185
  const initialStatus = collectLocalRuntimeStatus(initialContext);
62
186
  const initialPlan = getLocalRuntimeCommandPlan(initialStatus, commandName);
63
187
  const currentActivity = getLocalRuntimeActivitySummary(initialStatus, commandName);
@@ -203,6 +327,183 @@ function parseSandboxStatusArgs(args) {
203
327
  workspacePath,
204
328
  };
205
329
  }
330
+ function parseSandboxCreateArgs(args) {
331
+ let help = false;
332
+ let idempotencyKey = "";
333
+ let json = false;
334
+ let maxAttempts = 60;
335
+ let retry = false;
336
+ let workspacePath;
337
+ const setWorkspacePath = (value) => {
338
+ if (workspacePath) {
339
+ throw new Error('The "sandbox create" command accepts at most one workspace path.');
340
+ }
341
+ workspacePath = value;
342
+ };
343
+ for (let index = 0; index < args.length; index += 1) {
344
+ const arg = args[index];
345
+ if (arg === "--help" || arg === "-h") {
346
+ help = true;
347
+ continue;
348
+ }
349
+ if (arg === "--json") {
350
+ json = true;
351
+ continue;
352
+ }
353
+ if (arg === "--retry") {
354
+ retry = true;
355
+ continue;
356
+ }
357
+ if (arg === "--yes") {
358
+ continue;
359
+ }
360
+ if (arg === "--idempotency-key") {
361
+ const next = args[index + 1];
362
+ if (!next || next.startsWith("--")) {
363
+ throw new Error('The "sandbox create" command requires a value after --idempotency-key.');
364
+ }
365
+ idempotencyKey = next;
366
+ index += 1;
367
+ continue;
368
+ }
369
+ if (arg.startsWith("--idempotency-key=")) {
370
+ idempotencyKey = arg.slice("--idempotency-key=".length);
371
+ if (!idempotencyKey) {
372
+ throw new Error('The "sandbox create" command requires a non-empty --idempotency-key.');
373
+ }
374
+ continue;
375
+ }
376
+ if (arg === "--max-attempts") {
377
+ const next = args[index + 1];
378
+ if (!next || next.startsWith("--")) {
379
+ throw new Error('The "sandbox create" command requires a number after --max-attempts.');
380
+ }
381
+ maxAttempts = parsePositiveInteger(next, "--max-attempts");
382
+ index += 1;
383
+ continue;
384
+ }
385
+ if (arg.startsWith("--max-attempts=")) {
386
+ maxAttempts = parsePositiveInteger(arg.slice("--max-attempts=".length), "--max-attempts");
387
+ continue;
388
+ }
389
+ if (arg === "--workspace") {
390
+ const next = args[index + 1];
391
+ if (!next || next.startsWith("--")) {
392
+ throw new Error('The "sandbox create" command requires a path after --workspace.');
393
+ }
394
+ setWorkspacePath(next);
395
+ index += 1;
396
+ continue;
397
+ }
398
+ if (arg.startsWith("--workspace=")) {
399
+ const value = arg.slice("--workspace=".length);
400
+ if (!value) {
401
+ throw new Error('The "sandbox create" command requires a path after --workspace.');
402
+ }
403
+ setWorkspacePath(value);
404
+ continue;
405
+ }
406
+ if (arg.startsWith("--")) {
407
+ throw new Error(`Unknown sandbox create option: ${arg}`);
408
+ }
409
+ setWorkspacePath(arg);
410
+ }
411
+ return {
412
+ help,
413
+ idempotencyKey,
414
+ json,
415
+ maxAttempts,
416
+ retry,
417
+ workspacePath,
418
+ };
419
+ }
420
+ async function waitForSandboxRuntime(options) {
421
+ let current = options.initialStatus;
422
+ if (!options.json) {
423
+ options.io.stdout(`Sandbox runtime status: ${current.status}`);
424
+ }
425
+ for (let attempt = 0; attempt < options.maxAttempts; attempt += 1) {
426
+ if (isSandboxRuntimeReady(current)) {
427
+ return current;
428
+ }
429
+ if (current.status === "failed") {
430
+ throw new Error(sandboxFailureMessage(current));
431
+ }
432
+ await options.sleep(2_000);
433
+ current = await options.client.getSandboxRuntimeStatus();
434
+ if (!options.json) {
435
+ options.io.stdout(`Sandbox runtime status: ${current.status}`);
436
+ }
437
+ if (isSandboxRuntimeReady(current)) {
438
+ return current;
439
+ }
440
+ if (current.status === "failed") {
441
+ throw new Error(sandboxFailureMessage(current));
442
+ }
443
+ }
444
+ throw new Error(`Sandbox runtime did not become ready after ${options.maxAttempts} polling attempts.`);
445
+ }
446
+ async function linkSandboxRuntimeWorkspace(options) {
447
+ const linkDefaults = await resolveWorkspaceRuntimeDefaults(options.workspaceRoot);
448
+ const linkedRuntime = await options.client.linkRuntimeApp({ tier: "sandbox" });
449
+ const binding = {
450
+ authProfileId: options.profile.id,
451
+ environment: "preview",
452
+ platformBaseUrl: options.profile.platformBaseUrl,
453
+ ...(linkDefaults.propertyKey ? { propertyKey: linkDefaults.propertyKey } : {}),
454
+ ...(linkDefaults.publicRoutePathPrefix
455
+ ? { publicRoutePathPrefix: linkDefaults.publicRoutePathPrefix }
456
+ : {}),
457
+ releaseClass: linkDefaults.releaseClass,
458
+ runtimeId: linkedRuntime.target.runtime_id,
459
+ targetKind: "runtime_app",
460
+ tenantId: options.profile.tenantId,
461
+ tenantSlug: options.profile.tenantSlug,
462
+ tier: "sandbox",
463
+ workspaceName: options.profile.tenantName,
464
+ };
465
+ await writeWorkspaceBinding({
466
+ binding,
467
+ platform: options.platform,
468
+ workspaceRoot: options.workspaceRoot,
469
+ });
470
+ return binding;
471
+ }
472
+ function isSandboxRuntimeReady(status) {
473
+ return status.status === "healthy" || status.status === "active";
474
+ }
475
+ function sandboxFailureMessage(status) {
476
+ const lastError = String(status.diagnostics?.last_error || "").trim();
477
+ return lastError ? `Sandbox runtime provisioning failed: ${lastError}` : "Sandbox runtime provisioning failed.";
478
+ }
479
+ async function defaultSleep(milliseconds) {
480
+ await new Promise((resolve) => setTimeout(resolve, milliseconds));
481
+ }
482
+ async function shouldCreateSandboxInteractively() {
483
+ if (!process.stdin.isTTY || !process.stdout.isTTY) {
484
+ return false;
485
+ }
486
+ const readline = createInterface({
487
+ input: process.stdin,
488
+ output: process.stdout,
489
+ });
490
+ try {
491
+ const answer = (await readline.question("Create and link a free hosted sandbox runtime? [Y/n] "))
492
+ .trim()
493
+ .toLowerCase();
494
+ return answer === "" || answer === "y" || answer === "yes";
495
+ }
496
+ finally {
497
+ readline.close();
498
+ }
499
+ }
500
+ function parsePositiveInteger(value, flagName) {
501
+ const parsed = Number.parseInt(value, 10);
502
+ if (!Number.isFinite(parsed) || parsed <= 0) {
503
+ throw new Error(`The "${flagName}" option requires a positive integer.`);
504
+ }
505
+ return parsed;
506
+ }
206
507
  function parseLocalRuntimeCommandArgs(args, commandName) {
207
508
  let workspacePath;
208
509
  const setWorkspacePath = (value) => {
@@ -685,9 +986,25 @@ function getSuccessStatus(commandName) {
685
986
  }
686
987
  function renderSandboxHelp() {
687
988
  return `Usage:
989
+ minutework sandbox create [workspace] [--workspace <path>] [--retry] [--yes] [--json]
990
+ minutework sandbox connect [workspace] [--workspace <path>] [--yes] [--json]
688
991
  minutework sandbox status [workspace] [--workspace <path>]
689
992
 
690
- Inspect local sandbox topology and readiness for the current MinuteWork workspace.`;
993
+ Inspect local sandbox topology, or create/connect the hosted free sandbox runtime for the active workspace.`;
994
+ }
995
+ function renderSandboxCreateHelp() {
996
+ return `Usage:
997
+ minutework sandbox create [workspace] [--workspace <path>] [--retry] [--yes] [--json]
998
+ minutework sandbox connect [workspace] [--workspace <path>] [--yes] [--json]
999
+
1000
+ Creates or connects the hosted free sandbox runtime for the active workspace, polls until it is ready, and writes a sandbox-tier runtime binding.
1001
+
1002
+ Options:
1003
+ --retry Retry a failed sandbox provisioning intent.
1004
+ --yes Run non-interactively.
1005
+ --json Emit a single JSON result on stdout.
1006
+ --idempotency-key Override the generated idempotency key.
1007
+ --max-attempts Override polling attempts; default 60.`;
691
1008
  }
692
1009
  function renderSandboxStatusHelp() {
693
1010
  return `Usage:
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
package/dist/state.d.ts CHANGED
@@ -17,12 +17,14 @@ export type StoredAuthProfile = {
17
17
  username: string;
18
18
  };
19
19
  };
20
+ export type WorkspaceRuntimeTier = "primary" | "sandbox";
20
21
  export type WorkspaceBinding = {
21
22
  authProfileId: string;
22
23
  environment: "live" | "preview";
23
24
  platformBaseUrl: string;
24
25
  tenantId: string;
25
26
  tenantSlug: string;
27
+ tier: WorkspaceRuntimeTier;
26
28
  workspaceName: string;
27
29
  } & ({
28
30
  propertyKey: string;
@@ -42,6 +44,11 @@ export declare function saveAuthProfile(options: {
42
44
  }): Promise<string>;
43
45
  export declare function loadCurrentAuthProfile(paths: CliStatePaths): Promise<StoredAuthProfile>;
44
46
  export declare function loadOptionalCurrentAuthProfile(paths: CliStatePaths): Promise<StoredAuthProfile | null>;
47
+ export declare function listAuthProfiles(paths: CliStatePaths): Promise<StoredAuthProfile[]>;
48
+ export declare function setCurrentAuthProfile(options: {
49
+ paths: CliStatePaths;
50
+ profile: StoredAuthProfile;
51
+ }): Promise<string>;
45
52
  export declare function writeWorkspaceBinding(options: {
46
53
  binding: WorkspaceBinding;
47
54
  platform: PlatformName;
package/dist/state.js CHANGED
@@ -30,6 +30,41 @@ export async function loadOptionalCurrentAuthProfile(paths) {
30
30
  return null;
31
31
  }
32
32
  }
33
+ export async function listAuthProfiles(paths) {
34
+ let entries;
35
+ try {
36
+ entries = await fs.readdir(paths.authRoot);
37
+ }
38
+ catch (error) {
39
+ const errno = error;
40
+ if (errno.code === "ENOENT") {
41
+ return [];
42
+ }
43
+ throw error;
44
+ }
45
+ const profiles = await Promise.all(entries
46
+ .filter((entry) => entry.endsWith(".json") && entry !== "current-profile.json")
47
+ .map(async (entry) => {
48
+ const profilePath = pathForPlatform(paths.platform, paths.authRoot, entry);
49
+ return readJsonFile(profilePath, "");
50
+ }));
51
+ return profiles.sort((left, right) => {
52
+ const bySlug = left.tenantSlug.localeCompare(right.tenantSlug);
53
+ if (bySlug !== 0) {
54
+ return bySlug;
55
+ }
56
+ return left.id.localeCompare(right.id);
57
+ });
58
+ }
59
+ export async function setCurrentAuthProfile(options) {
60
+ await fs.mkdir(options.paths.authRoot, { recursive: true });
61
+ const currentPath = pathForPlatform(options.paths.platform, options.paths.authRoot, "current-profile.json");
62
+ await writeJsonFile(currentPath, {
63
+ platformBaseUrl: options.profile.platformBaseUrl,
64
+ profileId: options.profile.id,
65
+ }, { platform: options.paths.platform, ownerOnly: true });
66
+ return currentPath;
67
+ }
33
68
  export async function writeWorkspaceBinding(options) {
34
69
  const bindingDirectory = await resolveWorkspaceLocalStateDirectory(options.workspaceRoot, options.platform);
35
70
  const bindingPath = pathForPlatform(options.platform, bindingDirectory, "binding.json");
@@ -90,14 +125,19 @@ function pathForPlatform(platform, root, ...segments) {
90
125
  }
91
126
  function normalizeWorkspaceBinding(rawBinding) {
92
127
  const targetKind = String(rawBinding.targetKind || "").trim() === "runtime_app" ? "runtime_app" : "public_site";
128
+ const tier = normalizeRuntimeTier(rawBinding.tier);
93
129
  const shared = {
94
130
  authProfileId: String(rawBinding.authProfileId || "").trim(),
95
131
  environment: normalizeEnvironment(rawBinding.environment),
96
132
  platformBaseUrl: String(rawBinding.platformBaseUrl || "").trim(),
97
133
  tenantId: String(rawBinding.tenantId || "").trim(),
98
134
  tenantSlug: String(rawBinding.tenantSlug || "").trim(),
135
+ tier,
99
136
  workspaceName: String(rawBinding.workspaceName || "").trim(),
100
137
  };
138
+ if (shared.tier === "sandbox" && shared.environment === "live") {
139
+ throw new Error("Sandbox runtime bindings only support the preview environment.");
140
+ }
101
141
  if (targetKind === "runtime_app") {
102
142
  return {
103
143
  ...shared,
@@ -125,4 +165,7 @@ function normalizeRuntimeReleaseClass(value) {
125
165
  ? "runtime_local_sidecar"
126
166
  : "runtime_internal";
127
167
  }
168
+ function normalizeRuntimeTier(value) {
169
+ return String(value || "").trim().toLowerCase() === "sandbox" ? "sandbox" : "primary";
170
+ }
128
171
  //# sourceMappingURL=state.js.map
package/dist/state.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}