@schoolai/shipyard-mcp 0.1.3-next.467 → 0.1.3-next.470

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.
@@ -45704,9 +45704,8 @@ init_cjs_shims();
45704
45704
 
45705
45705
  // src/config/env/web.ts
45706
45706
  init_cjs_shims();
45707
- var defaultWebUrl = process.env.NODE_ENV === "production" ? "https://schoolai.github.io/shipyard" : "http://localhost:5173";
45708
45707
  var schema3 = external_exports.object({
45709
- SHIPYARD_WEB_URL: external_exports.string().url().default(defaultWebUrl)
45708
+ SHIPYARD_WEB_URL: external_exports.string().url().default("https://schoolai.github.io/shipyard")
45710
45709
  });
45711
45710
  var webConfig = loadEnv(schema3);
45712
45711
 
@@ -1,5 +1,7 @@
1
1
  # Server Environment Variables
2
2
  # Copy this file to .env and adjust values for local development
3
+ #
4
+ # NOTE: Production URLs are the defaults. Only set these for local development.
3
5
 
4
6
  # Server configuration
5
7
  NODE_ENV=development
@@ -10,8 +12,15 @@ REGISTRY_PORT=32191
10
12
  SHIPYARD_STATE_DIR=~/.shipyard
11
13
 
12
14
  # Web UI URL (for links generated by server)
15
+ # Default: https://schoolai.github.io/shipyard (production)
16
+ # Uncomment for local development:
13
17
  SHIPYARD_WEB_URL=http://localhost:5173
14
18
 
19
+ # WebRTC signaling server
20
+ # Default: wss://shipyard-signaling.jacob-191.workers.dev (production)
21
+ # Uncomment for local development:
22
+ SIGNALING_URL=ws://localhost:4444
23
+
15
24
  # GitHub integration (optional - falls back to gh CLI)
16
25
  GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
17
26
 
@@ -559,9 +559,8 @@ import open from "open";
559
559
 
560
560
  // src/config/env/web.ts
561
561
  import { z as z2 } from "zod";
562
- var defaultWebUrl = process.env.NODE_ENV === "production" ? "https://schoolai.github.io/shipyard" : "http://localhost:5173";
563
562
  var schema2 = z2.object({
564
- SHIPYARD_WEB_URL: z2.string().url().default(defaultWebUrl)
563
+ SHIPYARD_WEB_URL: z2.string().url().default("https://schoolai.github.io/shipyard")
565
564
  });
566
565
  var webConfig = loadEnv(schema2);
567
566
 
@@ -2267,8 +2266,7 @@ async function isRegistryRunning() {
2267
2266
  // src/webrtc-provider.ts
2268
2267
  import wrtc from "@roamhq/wrtc";
2269
2268
  import { WebrtcProvider } from "y-webrtc";
2270
- var defaultSignaling = process.env.NODE_ENV === "production" ? "wss://shipyard-signaling.jacob-191.workers.dev" : "ws://localhost:4444";
2271
- var SIGNALING_SERVER = process.env.SIGNALING_URL || defaultSignaling;
2269
+ var SIGNALING_SERVER = process.env.SIGNALING_URL || "wss://shipyard-signaling.jacob-191.workers.dev";
2272
2270
  if (typeof globalThis.RTCPeerConnection === "undefined") {
2273
2271
  globalThis.RTCPeerConnection = wrtc.RTCPeerConnection;
2274
2272
  globalThis.RTCSessionDescription = wrtc.RTCSessionDescription;
@@ -2859,6 +2857,7 @@ Linked to deliverable: ${input.deliverableId}` : "";
2859
2857
  const fragment = doc.getXmlFragment("document");
2860
2858
  const blocks = editor.yXmlFragmentToBlocks(fragment);
2861
2859
  const artifacts = getArtifacts(doc);
2860
+ const hasLocalArtifacts = artifacts.some((a) => a.storage === "local");
2862
2861
  const completionSnapshot = createPlanSnapshot(
2863
2862
  doc,
2864
2863
  "Task completed - all deliverables fulfilled",
@@ -2944,7 +2943,7 @@ URL: ${artifactUrl}${linkedText}
2944
2943
  \u{1F389} ALL DELIVERABLES COMPLETE! Task auto-completed.${prText}
2945
2944
 
2946
2945
  Snapshot URL saved to: ${snapshotFile}
2947
- (Note: Very long URL - recommend not reading directly. Use file path to attach to PR or access later.)`
2946
+ (Note: Very long URL - recommend not reading directly. Use file path to attach to PR or access later.)${hasLocalArtifacts ? "\n\n\u26A0\uFE0F WARNING: This plan contains local artifacts that will not be visible to remote viewers. For full remote access, configure GITHUB_TOKEN to upload artifacts to GitHub." : ""}`
2948
2947
  }
2949
2948
  ],
2950
2949
  // Keep structured data for execute_code wrapper
@@ -3249,6 +3248,7 @@ RETURNS:
3249
3248
  };
3250
3249
  }
3251
3250
  const artifacts = getArtifacts(ydoc);
3251
+ const hasLocalArtifacts = artifacts.some((a) => a.storage === "local");
3252
3252
  if (artifacts.length === 0) {
3253
3253
  return {
3254
3254
  content: [
@@ -3368,6 +3368,9 @@ Generated with [Shipyard](https://github.com/SchoolAI/shipyard)"
3368
3368
  linkPR({ planId, sessionToken, prNumber: 42 })
3369
3369
  \`\`\``;
3370
3370
  }
3371
+ if (hasLocalArtifacts) {
3372
+ responseText += "\n\n\u26A0\uFE0F WARNING: This plan contains local artifacts that will not be visible to remote viewers. For full remote access, configure GITHUB_TOKEN to upload artifacts to GitHub.";
3373
+ }
3371
3374
  return {
3372
3375
  content: [{ type: "text", text: responseText }]
3373
3376
  };
@@ -5161,7 +5164,7 @@ async function addArtifact2(opts) {
5161
5164
  const metadata = getPlanMetadata(ydoc);
5162
5165
  let artifactUrl = "";
5163
5166
  if (addedArtifact) {
5164
- artifactUrl = addedArtifact.storage === "github" ? addedArtifact.url : `http://localhost:${process.env.REGISTRY_PORT || 3e3}/artifacts/${addedArtifact.localArtifactId}`;
5167
+ artifactUrl = addedArtifact.storage === "github" ? addedArtifact.url : `http://localhost:${registryConfig.REGISTRY_PORT[0]}/artifacts/${addedArtifact.localArtifactId}`;
5165
5168
  }
5166
5169
  return {
5167
5170
  artifactId: addedArtifact?.id || "",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@schoolai/shipyard-mcp",
3
- "version": "0.1.3-next.467",
3
+ "version": "0.1.3-next.470",
4
4
  "description": "Shipyard MCP server and CLI tools for distributed planning with CRDTs",
5
5
  "type": "module",
6
6
  "bin": {