@schoolai/shipyard-mcp 0.1.3-next.452 → 0.1.3-next.454

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.
@@ -28479,7 +28479,7 @@ init_cjs_shims();
28479
28479
  // ../../packages/schema/dist/index.mjs
28480
28480
  init_cjs_shims();
28481
28481
 
28482
- // ../../packages/schema/dist/yjs-helpers-xzZyVQl7.mjs
28482
+ // ../../packages/schema/dist/yjs-helpers-BcPdNnX7.mjs
28483
28483
  init_cjs_shims();
28484
28484
 
28485
28485
  // ../../packages/schema/dist/plan.mjs
@@ -42650,7 +42650,7 @@ var PRReviewCommentSchema = external_exports.object({
42650
42650
  resolved: external_exports.boolean().optional()
42651
42651
  });
42652
42652
 
42653
- // ../../packages/schema/dist/yjs-helpers-xzZyVQl7.mjs
42653
+ // ../../packages/schema/dist/yjs-helpers-BcPdNnX7.mjs
42654
42654
  function assertNever2(value) {
42655
42655
  throw new Error(`Unhandled discriminated union member: ${JSON.stringify(value)}`);
42656
42656
  }
@@ -863,7 +863,7 @@ function createHandedOffConversationVersion(params) {
863
863
  return ConversationVersionSchema.parse(version);
864
864
  }
865
865
 
866
- // ../../packages/schema/dist/yjs-helpers-xzZyVQl7.mjs
866
+ // ../../packages/schema/dist/yjs-helpers-BcPdNnX7.mjs
867
867
  import { z as z2 } from "zod";
868
868
  import { nanoid as nanoid2 } from "nanoid";
869
869
  import * as Y from "yjs";
@@ -959,6 +959,7 @@ var CreateSubscriptionRequestSchema = z2.object({
959
959
  threshold: z2.number().positive().optional()
960
960
  });
961
961
  var CreateSubscriptionResponseSchema = z2.object({ clientId: z2.string() });
962
+ var DEFAULT_INPUT_REQUEST_TIMEOUT_SECONDS = 300;
962
963
  var InputRequestTypeValues = [
963
964
  "text",
964
965
  "multiline",
@@ -1700,6 +1701,34 @@ function cancelInputRequest(ydoc, requestId) {
1700
1701
  });
1701
1702
  return { success: true };
1702
1703
  }
1704
+ function declineInputRequest(ydoc, requestId) {
1705
+ const requestsArray = ydoc.getArray(YDOC_KEYS.INPUT_REQUESTS);
1706
+ const requests = requestsArray.toJSON();
1707
+ const index = requests.findIndex((r) => r.id === requestId);
1708
+ if (index === -1) return {
1709
+ success: false,
1710
+ error: "Request not found"
1711
+ };
1712
+ const request = requests[index];
1713
+ if (!request) return {
1714
+ success: false,
1715
+ error: "Request not found"
1716
+ };
1717
+ if (request.status !== "pending") return {
1718
+ success: false,
1719
+ error: `Request is not pending`
1720
+ };
1721
+ const declinedRequest = {
1722
+ ...request,
1723
+ status: "declined"
1724
+ };
1725
+ const validated = InputRequestSchema.parse(declinedRequest);
1726
+ ydoc.transact(() => {
1727
+ requestsArray.delete(index, 1);
1728
+ requestsArray.insert(index, [validated]);
1729
+ });
1730
+ return { success: true };
1731
+ }
1703
1732
 
1704
1733
  // ../../packages/schema/dist/url-encoding.mjs
1705
1734
  var import_lz_string = __toESM(require_lz_string(), 1);
@@ -2770,6 +2799,7 @@ export {
2770
2799
  UnregisterServerResponseSchema,
2771
2800
  CreateSubscriptionRequestSchema,
2772
2801
  CreateSubscriptionResponseSchema,
2802
+ DEFAULT_INPUT_REQUEST_TIMEOUT_SECONDS,
2773
2803
  InputRequestTypeValues,
2774
2804
  InputRequestStatusValues,
2775
2805
  InputRequestSchema,
@@ -2840,6 +2870,7 @@ export {
2840
2870
  unarchivePlan,
2841
2871
  answerInputRequest,
2842
2872
  cancelInputRequest,
2873
+ declineInputRequest,
2843
2874
  isUrlEncodedPlanV1,
2844
2875
  isUrlEncodedPlanV2,
2845
2876
  encodePlan,
@@ -3,7 +3,7 @@ import {
3
3
  YDOC_KEYS,
4
4
  createInputRequest,
5
5
  logPlanEvent
6
- } from "./chunk-LTC26IRQ.js";
6
+ } from "./chunk-DYIXTO56.js";
7
7
  import {
8
8
  logger
9
9
  } from "./chunk-GSGLHRWX.js";
@@ -156,10 +156,9 @@ var InputRequestManager = class {
156
156
  const handleTimeout = () => {
157
157
  if (resolved) return;
158
158
  logger.warn({ requestId, timeout: effectiveTimeout }, "Input request timed out");
159
- markRequestAsCancelled();
160
- if (resolved) return;
161
159
  resolved = true;
162
160
  cleanup();
161
+ markRequestAsCancelled();
163
162
  const timeStr = formatDuration(effectiveTimeout);
164
163
  resolve({
165
164
  success: false,
@@ -169,7 +168,6 @@ var InputRequestManager = class {
169
168
  };
170
169
  const markRequestAsCancelled = () => {
171
170
  ydoc.transact(() => {
172
- if (resolved) return;
173
171
  const currentRequest = findRequest();
174
172
  if (!currentRequest || currentRequest.status !== "pending") {
175
173
  return;
@@ -23,6 +23,7 @@ import {
23
23
  CreateSubscriptionRequestSchema,
24
24
  CreateSubscriptionResponseSchema,
25
25
  CursorOriginMetadataSchema,
26
+ DEFAULT_INPUT_REQUEST_TIMEOUT_SECONDS,
26
27
  DeleteSubscriptionResponseSchema,
27
28
  DeliverableSchema,
28
29
  DevinOriginMetadataSchema,
@@ -108,6 +109,7 @@ import {
108
109
  createPlanUrl,
109
110
  createPlanUrlWithHistory,
110
111
  createUserResolver,
112
+ declineInputRequest,
111
113
  decodeChunkMessage,
112
114
  decodeExportEndMessage,
113
115
  decodeExportStartMessage,
@@ -201,7 +203,7 @@ import {
201
203
  updateLinkedPRStatus,
202
204
  updatePlanIndexViewedBy,
203
205
  validateA2AMessages
204
- } from "./chunk-LTC26IRQ.js";
206
+ } from "./chunk-DYIXTO56.js";
205
207
  import "./chunk-JSBRDJBE.js";
206
208
  export {
207
209
  A2ADataPartSchema,
@@ -228,6 +230,7 @@ export {
228
230
  CreateSubscriptionRequestSchema,
229
231
  CreateSubscriptionResponseSchema,
230
232
  CursorOriginMetadataSchema,
233
+ DEFAULT_INPUT_REQUEST_TIMEOUT_SECONDS,
231
234
  DeleteSubscriptionResponseSchema,
232
235
  DeliverableSchema,
233
236
  DevinOriginMetadataSchema,
@@ -313,6 +316,7 @@ export {
313
316
  createPlanUrl,
314
317
  createPlanUrlWithHistory,
315
318
  createUserResolver,
319
+ declineInputRequest,
316
320
  decodeChunkMessage,
317
321
  decodeExportEndMessage,
318
322
  decodeExportStartMessage,
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-EBNL5ZX7.js";
19
19
  import {
20
20
  InputRequestManager
21
- } from "./chunk-N44DCU4J.js";
21
+ } from "./chunk-O54HNUOM.js";
22
22
  import {
23
23
  ArtifactSchema,
24
24
  DeliverableSchema,
@@ -67,7 +67,7 @@ import {
67
67
  setPlanMetadata,
68
68
  touchPlanIndexEntry,
69
69
  transitionPlanStatus
70
- } from "./chunk-LTC26IRQ.js";
70
+ } from "./chunk-DYIXTO56.js";
71
71
  import {
72
72
  loadEnv,
73
73
  logger
@@ -5062,7 +5062,7 @@ async function setupReviewNotification(planId, pollIntervalSeconds) {
5062
5062
  return { script, fullResponse: text };
5063
5063
  }
5064
5064
  async function requestUserInput(opts) {
5065
- const { InputRequestManager: InputRequestManager2 } = await import("./input-request-manager-MVKPYLFW.js");
5065
+ const { InputRequestManager: InputRequestManager2 } = await import("./input-request-manager-4DWWEEXS.js");
5066
5066
  const ydoc = await getOrCreateDoc3(PLAN_INDEX_DOC_NAME);
5067
5067
  const manager = new InputRequestManager2();
5068
5068
  const params = opts.type === "choice" ? {
@@ -5106,7 +5106,7 @@ async function requestUserInput(opts) {
5106
5106
  };
5107
5107
  }
5108
5108
  async function postActivityUpdate(opts) {
5109
- const { logPlanEvent: logPlanEvent2 } = await import("./dist-LQBXUHLR.js");
5109
+ const { logPlanEvent: logPlanEvent2 } = await import("./dist-FMDQHG7P.js");
5110
5110
  const { getGitHubUsername: getGitHubUsername2 } = await import("./server-identity-KUXYHULN.js");
5111
5111
  const { nanoid: nanoid7 } = await import("nanoid");
5112
5112
  const doc = await getOrCreateDoc3(opts.planId);
@@ -5129,7 +5129,7 @@ async function postActivityUpdate(opts) {
5129
5129
  return { success: true, eventId, requestId };
5130
5130
  }
5131
5131
  async function resolveActivityRequest(opts) {
5132
- const { logPlanEvent: logPlanEvent2, getPlanEvents } = await import("./dist-LQBXUHLR.js");
5132
+ const { logPlanEvent: logPlanEvent2, getPlanEvents } = await import("./dist-FMDQHG7P.js");
5133
5133
  const { getGitHubUsername: getGitHubUsername2 } = await import("./server-identity-KUXYHULN.js");
5134
5134
  const doc = await getOrCreateDoc3(opts.planId);
5135
5135
  const actorName = await getGitHubUsername2();
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  InputRequestManager
3
- } from "./chunk-N44DCU4J.js";
4
- import "./chunk-LTC26IRQ.js";
3
+ } from "./chunk-O54HNUOM.js";
4
+ import "./chunk-DYIXTO56.js";
5
5
  import "./chunk-GSGLHRWX.js";
6
6
  import "./chunk-JSBRDJBE.js";
7
7
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@schoolai/shipyard-mcp",
3
- "version": "0.1.3-next.452",
3
+ "version": "0.1.3-next.454",
4
4
  "description": "Shipyard MCP server and CLI tools for distributed planning with CRDTs",
5
5
  "type": "module",
6
6
  "bin": {