@cubis/foundry 0.3.54 → 0.3.55

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.
@@ -32,6 +32,9 @@ export function buildInitExecutionPlan({ selections, dryRun, target, }) {
32
32
  mcpFallback: "local",
33
33
  mcpBuildLocal: wantsPostman || stitchEnabled ? selections.mcpBuildLocal : false,
34
34
  postmanMode: wantsPostman ? selections.postmanMode : undefined,
35
+ postmanWorkspaceId: wantsPostman
36
+ ? selections.postmanWorkspaceId
37
+ : undefined,
35
38
  initWizardMode: true,
36
39
  };
37
40
  planItems.push({
@@ -45,6 +48,7 @@ export function buildInitExecutionPlan({ selections, dryRun, target, }) {
45
48
  };
46
49
  }
47
50
  export function formatInitSummary(selections) {
51
+ const postmanSelected = selections.selectedMcps.includes("postman");
48
52
  return [
49
53
  "Init plan summary:",
50
54
  `- Bundle: ${selections.bundleId}`,
@@ -54,7 +58,8 @@ export function formatInitSummary(selections) {
54
58
  `- MCP scope: ${selections.mcpScope}`,
55
59
  `- MCP runtime: ${selections.mcpRuntime}${selections.mcpRuntime === "docker" ? selections.mcpBuildLocal ? " (build local image)" : " (pull image)" : ""}`,
56
60
  `- MCP selections: ${selections.selectedMcps.length > 0 ? selections.selectedMcps.join(", ") : "(none)"}`,
57
- `- Postman mode: ${selections.postmanMode}`,
61
+ `- Postman mode: ${postmanSelected ? selections.postmanMode : "(not selected)"}`,
62
+ `- Postman workspace: ${postmanSelected ? selections.postmanWorkspaceId === null ? "null" : selections.postmanWorkspaceId : "(not selected)"}`,
58
63
  ].join("\n");
59
64
  }
60
65
  //# sourceMappingURL=execute.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../src/cli/init/execute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../src/cli/init/execute.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cubis/foundry",
3
- "version": "0.3.54",
3
+ "version": "0.3.55",
4
4
  "description": "Cubis Foundry CLI for workflow-first AI agent environments",
5
5
  "type": "module",
6
6
  "bin": {
@@ -67,6 +67,10 @@ export function registerCommands(deps: CliRegistrationDeps) {
67
67
  "comma-separated MCP selections: cubis-foundry,postman,stitch",
68
68
  )
69
69
  .option("--postman-mode <mode>", "Postman mode: full|minimal")
70
+ .option(
71
+ "--postman-workspace-id <id|null>",
72
+ "optional: set default Postman workspace ID (use 'null' for no default)",
73
+ )
70
74
  .option("--mcp-runtime <runtime>", "MCP runtime: docker|local")
71
75
  .option(
72
76
  "--mcp-build-local",
package/src/cli/core.ts CHANGED
@@ -4574,6 +4574,81 @@ async function fetchPostmanWorkspaces({
4574
4574
  }
4575
4575
  }
4576
4576
 
4577
+ async function promptPostmanWorkspaceSelection({
4578
+ apiKey,
4579
+ defaultWorkspaceId = null,
4580
+ }) {
4581
+ let selectedWorkspaceId = normalizePostmanWorkspaceId(defaultWorkspaceId);
4582
+ let usedWorkspaceSelector = false;
4583
+ const warnings = [];
4584
+ const selectableApiKey = normalizePostmanApiKey(apiKey);
4585
+
4586
+ if (selectableApiKey) {
4587
+ try {
4588
+ const fetchedWorkspaces = await fetchPostmanWorkspaces({
4589
+ apiKey: selectableApiKey,
4590
+ });
4591
+ if (fetchedWorkspaces.length > 0) {
4592
+ usedWorkspaceSelector = true;
4593
+ const sortedWorkspaces = [...fetchedWorkspaces].sort((a, b) =>
4594
+ a.name.localeCompare(b.name),
4595
+ );
4596
+ const workspaceChoice = await select({
4597
+ message: "Choose default Postman workspace for this install:",
4598
+ choices: [
4599
+ { name: "No default workspace (null)", value: null },
4600
+ ...sortedWorkspaces.map((workspace) => {
4601
+ const details = [workspace.type, workspace.visibility]
4602
+ .filter(Boolean)
4603
+ .join(", ");
4604
+ const suffix = details ? ` - ${details}` : "";
4605
+ return {
4606
+ name: `${workspace.name} (${workspace.id})${suffix}`,
4607
+ value: workspace.id,
4608
+ };
4609
+ }),
4610
+ {
4611
+ name: "Enter workspace ID manually",
4612
+ value: POSTMAN_WORKSPACE_MANUAL_CHOICE,
4613
+ },
4614
+ ],
4615
+ default: selectedWorkspaceId,
4616
+ });
4617
+
4618
+ if (workspaceChoice === POSTMAN_WORKSPACE_MANUAL_CHOICE) {
4619
+ const promptedWorkspaceId = await input({
4620
+ message:
4621
+ "Default Postman workspace ID (optional, leave blank for null):",
4622
+ default: selectedWorkspaceId || "",
4623
+ });
4624
+ selectedWorkspaceId =
4625
+ normalizePostmanWorkspaceId(promptedWorkspaceId);
4626
+ } else {
4627
+ selectedWorkspaceId = normalizePostmanWorkspaceId(workspaceChoice);
4628
+ }
4629
+ }
4630
+ } catch (error) {
4631
+ warnings.push(
4632
+ `Could not load Postman workspaces for selection: ${error.message}`,
4633
+ );
4634
+ }
4635
+ }
4636
+
4637
+ if (!usedWorkspaceSelector) {
4638
+ const promptedWorkspaceId = await input({
4639
+ message:
4640
+ "Default Postman workspace ID (optional, leave blank for null):",
4641
+ default: selectedWorkspaceId || "",
4642
+ });
4643
+ selectedWorkspaceId = normalizePostmanWorkspaceId(promptedWorkspaceId);
4644
+ }
4645
+
4646
+ return {
4647
+ workspaceId: selectedWorkspaceId,
4648
+ warnings,
4649
+ };
4650
+ }
4651
+
4577
4652
  function parseJsonLenient(raw) {
4578
4653
  try {
4579
4654
  return {
@@ -5043,71 +5118,12 @@ async function resolvePostmanInstallSelection({
5043
5118
 
5044
5119
  const canPrompt = !options.yes && process.stdin.isTTY;
5045
5120
  if (postmanRequested && canPrompt && !hasWorkspaceOption) {
5046
- const selectableApiKey = normalizePostmanApiKey(envApiKey);
5047
- let usedWorkspaceSelector = false;
5048
- let selectedWorkspaceId = defaultWorkspaceId;
5049
-
5050
- if (selectableApiKey) {
5051
- try {
5052
- const fetchedWorkspaces = await fetchPostmanWorkspaces({
5053
- apiKey: selectableApiKey,
5054
- });
5055
- if (fetchedWorkspaces.length > 0) {
5056
- usedWorkspaceSelector = true;
5057
- const sortedWorkspaces = [...fetchedWorkspaces].sort((a, b) =>
5058
- a.name.localeCompare(b.name),
5059
- );
5060
- const workspaceChoice = await select({
5061
- message: "Choose default Postman workspace for this install:",
5062
- choices: [
5063
- { name: "No default workspace (null)", value: null },
5064
- ...sortedWorkspaces.map((workspace) => {
5065
- const details = [workspace.type, workspace.visibility]
5066
- .filter(Boolean)
5067
- .join(", ");
5068
- const suffix = details ? ` - ${details}` : "";
5069
- return {
5070
- name: `${workspace.name} (${workspace.id})${suffix}`,
5071
- value: workspace.id,
5072
- };
5073
- }),
5074
- {
5075
- name: "Enter workspace ID manually",
5076
- value: POSTMAN_WORKSPACE_MANUAL_CHOICE,
5077
- },
5078
- ],
5079
- default: null,
5080
- });
5081
-
5082
- if (workspaceChoice === POSTMAN_WORKSPACE_MANUAL_CHOICE) {
5083
- const promptedWorkspaceId = await input({
5084
- message:
5085
- "Default Postman workspace ID (optional, leave blank for null):",
5086
- default: "",
5087
- });
5088
- selectedWorkspaceId =
5089
- normalizePostmanWorkspaceId(promptedWorkspaceId);
5090
- } else {
5091
- selectedWorkspaceId = normalizePostmanWorkspaceId(workspaceChoice);
5092
- }
5093
- }
5094
- } catch (error) {
5095
- warnings.push(
5096
- `Could not load Postman workspaces for selection: ${error.message}`,
5097
- );
5098
- }
5099
- }
5100
-
5101
- if (!usedWorkspaceSelector) {
5102
- const promptedWorkspaceId = await input({
5103
- message:
5104
- "Default Postman workspace ID (optional, leave blank for null):",
5105
- default: "",
5106
- });
5107
- selectedWorkspaceId = normalizePostmanWorkspaceId(promptedWorkspaceId);
5108
- }
5109
-
5110
- defaultWorkspaceId = selectedWorkspaceId;
5121
+ const workspaceSelection = await promptPostmanWorkspaceSelection({
5122
+ apiKey: envApiKey,
5123
+ defaultWorkspaceId,
5124
+ });
5125
+ defaultWorkspaceId = workspaceSelection.workspaceId;
5126
+ warnings.push(...workspaceSelection.warnings);
5111
5127
  workspaceSelectionSource = "interactive";
5112
5128
  }
5113
5129
 
@@ -10987,6 +11003,10 @@ async function runInitWizard(options) {
10987
11003
  normalizeMcpScope(options.mcpScope, defaultSkillsScope) === "global"
10988
11004
  ? "global"
10989
11005
  : "project";
11006
+ const defaultPostmanWorkspaceId =
11007
+ options.postmanWorkspaceId !== undefined
11008
+ ? normalizePostmanWorkspaceId(options.postmanWorkspaceId)
11009
+ : null;
10990
11010
  const defaultMcpSelections = normalizeInitMcpSelections(options.mcps);
10991
11011
  const defaultPlatforms = normalizeInitPlatforms(options.platforms);
10992
11012
  const defaultMcpRuntime = normalizeMcpRuntime(
@@ -11035,9 +11055,11 @@ async function runInitWizard(options) {
11035
11055
  options.postmanMode && normalizePostmanMode(options.postmanMode)
11036
11056
  ? normalizePostmanMode(options.postmanMode)
11037
11057
  : "full",
11058
+ postmanWorkspaceId: defaultPostmanWorkspaceId,
11038
11059
  postmanApiKey: null,
11039
11060
  stitchApiKey: null,
11040
11061
  };
11062
+ const initWarnings = [];
11041
11063
 
11042
11064
  if (selections.platforms.length === 0) {
11043
11065
  throw new Error("No platforms selected.");
@@ -11066,6 +11088,20 @@ async function runInitWizard(options) {
11066
11088
  selections.postmanApiKey = await promptOptionalSecret(
11067
11089
  "Postman API key (optional, leave blank to keep existing env/profile state):",
11068
11090
  );
11091
+ const postmanLookupApiKey =
11092
+ normalizePostmanApiKey(selections.postmanApiKey) ||
11093
+ normalizePostmanApiKey(
11094
+ process.env[
11095
+ profileEnvVarAlias("postman", DEFAULT_CREDENTIAL_PROFILE_NAME)
11096
+ ],
11097
+ ) ||
11098
+ normalizePostmanApiKey(process.env[POSTMAN_API_KEY_ENV_VAR]);
11099
+ const postmanWorkspaceSelection = await promptPostmanWorkspaceSelection({
11100
+ apiKey: postmanLookupApiKey,
11101
+ defaultWorkspaceId: selections.postmanWorkspaceId,
11102
+ });
11103
+ selections.postmanWorkspaceId = postmanWorkspaceSelection.workspaceId;
11104
+ initWarnings.push(...postmanWorkspaceSelection.warnings);
11069
11105
  }
11070
11106
 
11071
11107
  if (selections.selectedMcps.includes("stitch") && isInteractive) {
@@ -11090,6 +11126,12 @@ async function runInitWizard(options) {
11090
11126
  });
11091
11127
 
11092
11128
  const initSummary = formatInitSummary(selections);
11129
+ if (initWarnings.length > 0) {
11130
+ console.log("\nInit warnings:");
11131
+ for (const warning of initWarnings) {
11132
+ console.log(`- ${warning}`);
11133
+ }
11134
+ }
11093
11135
  if (!options.yes && isInteractive) {
11094
11136
  const proceed = await promptInitApplyConfirmation(initSummary);
11095
11137
  if (!proceed) {
@@ -53,6 +53,9 @@ export function buildInitExecutionPlan({
53
53
  mcpBuildLocal:
54
54
  wantsPostman || stitchEnabled ? selections.mcpBuildLocal : false,
55
55
  postmanMode: wantsPostman ? selections.postmanMode : undefined,
56
+ postmanWorkspaceId: wantsPostman
57
+ ? selections.postmanWorkspaceId
58
+ : undefined,
56
59
  initWizardMode: true,
57
60
  };
58
61
 
@@ -69,6 +72,7 @@ export function buildInitExecutionPlan({
69
72
  }
70
73
 
71
74
  export function formatInitSummary(selections: InitWizardSelections) {
75
+ const postmanSelected = selections.selectedMcps.includes("postman");
72
76
  return [
73
77
  "Init plan summary:",
74
78
  `- Bundle: ${selections.bundleId}`,
@@ -78,6 +82,7 @@ export function formatInitSummary(selections: InitWizardSelections) {
78
82
  `- MCP scope: ${selections.mcpScope}`,
79
83
  `- MCP runtime: ${selections.mcpRuntime}${selections.mcpRuntime === "docker" ? selections.mcpBuildLocal ? " (build local image)" : " (pull image)" : ""}`,
80
84
  `- MCP selections: ${selections.selectedMcps.length > 0 ? selections.selectedMcps.join(", ") : "(none)"}`,
81
- `- Postman mode: ${selections.postmanMode}`,
85
+ `- Postman mode: ${postmanSelected ? selections.postmanMode : "(not selected)"}`,
86
+ `- Postman workspace: ${postmanSelected ? selections.postmanWorkspaceId === null ? "null" : selections.postmanWorkspaceId : "(not selected)"}`,
82
87
  ].join("\n");
83
88
  }
@@ -15,6 +15,7 @@ export interface InitWizardSelections {
15
15
  mcpBuildLocal: boolean;
16
16
  selectedMcps: InitMcpId[];
17
17
  postmanMode: InitPostmanMode;
18
+ postmanWorkspaceId: string | null;
18
19
  postmanApiKey: string | null;
19
20
  stitchApiKey: string | null;
20
21
  }