@devpad/mcp 2.0.3 → 2.1.1

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 (2) hide show
  1. package/dist/index.js +92 -58
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -4,25 +4,43 @@ var __getProtoOf = Object.getPrototypeOf;
4
4
  var __defProp = Object.defineProperty;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ function __accessProp(key) {
8
+ return this[key];
9
+ }
10
+ var __toESMCache_node;
11
+ var __toESMCache_esm;
7
12
  var __toESM = (mod, isNodeMode, target) => {
13
+ var canCache = mod != null && typeof mod === "object";
14
+ if (canCache) {
15
+ var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
16
+ var cached = cache.get(mod);
17
+ if (cached)
18
+ return cached;
19
+ }
8
20
  target = mod != null ? __create(__getProtoOf(mod)) : {};
9
21
  const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
10
22
  for (let key of __getOwnPropNames(mod))
11
23
  if (!__hasOwnProp.call(to, key))
12
24
  __defProp(to, key, {
13
- get: () => mod[key],
25
+ get: __accessProp.bind(mod, key),
14
26
  enumerable: true
15
27
  });
28
+ if (canCache)
29
+ cache.set(mod, to);
16
30
  return to;
17
31
  };
18
32
  var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
33
+ var __returnValue = (v) => v;
34
+ function __exportSetter(name, newValue) {
35
+ this[name] = __returnValue.bind(null, newValue);
36
+ }
19
37
  var __export = (target, all) => {
20
38
  for (var name in all)
21
39
  __defProp(target, name, {
22
40
  get: all[name],
23
41
  enumerable: true,
24
42
  configurable: true,
25
- set: (newValue) => all[name] = () => newValue
43
+ set: __exportSetter.bind(all, name)
26
44
  });
27
45
  };
28
46
 
@@ -10166,47 +10184,7 @@ var coerce = {
10166
10184
  date: (arg) => ZodDate.create({ ...arg, coerce: true })
10167
10185
  };
10168
10186
  var NEVER = INVALID;
10169
- // ../api/dist/chunk-INGCIUMX.js
10170
- var ArrayBufferedQueue = class {
10171
- constructor(_capacity) {
10172
- this._capacity = _capacity;
10173
- this._entries = [];
10174
- this._head = 0;
10175
- this._tail = 0;
10176
- this._size = 0;
10177
- }
10178
- latest() {
10179
- if (this._size === 0)
10180
- return null;
10181
- return this._entries[this._tail - 1] ?? null;
10182
- }
10183
- list() {
10184
- if (this._size === 0)
10185
- return [];
10186
- if (this._head < this._tail) {
10187
- return this._entries.slice(this._head, this._tail);
10188
- }
10189
- return this._entries.slice(this._head).concat(this._entries.slice(0, this._tail));
10190
- }
10191
- add(item) {
10192
- if (this._size === this._capacity) {
10193
- this._head = (this._head + 1) % this._capacity;
10194
- } else {
10195
- this._size++;
10196
- }
10197
- this._entries[this._tail] = item;
10198
- this._tail = (this._tail + 1) % this._capacity;
10199
- }
10200
- size() {
10201
- return this._size;
10202
- }
10203
- clear() {
10204
- this._entries = [];
10205
- this._head = 0;
10206
- this._tail = 0;
10207
- this._size = 0;
10208
- }
10209
- };
10187
+ // ../api/dist/chunk-7SQVSGWV.js
10210
10188
  var upsert_project = exports_external.object({
10211
10189
  id: exports_external.string().optional().nullable(),
10212
10190
  project_id: exports_external.string(),
@@ -10222,7 +10200,8 @@ var upsert_project = exports_external.object({
10222
10200
  link_url: exports_external.string().nullable(),
10223
10201
  link_text: exports_external.string().nullable(),
10224
10202
  visibility: exports_external.union([exports_external.literal("PUBLIC"), exports_external.literal("PRIVATE"), exports_external.literal("HIDDEN"), exports_external.literal("ARCHIVED"), exports_external.literal("DRAFT"), exports_external.literal("DELETED")]).optional(),
10225
- current_version: exports_external.string().nullable()
10203
+ current_version: exports_external.string().nullable(),
10204
+ force: exports_external.boolean().optional().describe("Override protection on user-modified entities")
10226
10205
  });
10227
10206
  var upsert_todo = exports_external.object({
10228
10207
  id: exports_external.string().optional().nullable(),
@@ -10236,16 +10215,10 @@ var upsert_todo = exports_external.object({
10236
10215
  priority: exports_external.union([exports_external.literal("LOW"), exports_external.literal("MEDIUM"), exports_external.literal("HIGH")]).optional(),
10237
10216
  owner_id: exports_external.string(),
10238
10217
  project_id: exports_external.string().optional().nullable(),
10239
- goal_id: exports_external.string().optional().nullable()
10218
+ goal_id: exports_external.string().optional().nullable(),
10219
+ force: exports_external.boolean().optional().describe("Override protection on user-modified entities")
10240
10220
  });
10241
10221
  var update_action = exports_external.union([exports_external.literal("CONFIRM"), exports_external.literal("UNLINK"), exports_external.literal("CREATE"), exports_external.literal("IGNORE"), exports_external.literal("DELETE"), exports_external.literal("COMPLETE")]);
10242
- var ConfigSchema = exports_external.object({
10243
- tags: exports_external.array(exports_external.object({
10244
- name: exports_external.string(),
10245
- match: exports_external.array(exports_external.string())
10246
- })),
10247
- ignore: exports_external.array(exports_external.string().regex(/^[^]*$/, "Invalid path"))
10248
- });
10249
10222
  var upsert_tag = exports_external.object({
10250
10223
  id: exports_external.string().optional(),
10251
10224
  title: exports_external.string(),
@@ -10289,7 +10262,8 @@ var upsert_milestone = exports_external.object({
10289
10262
  target_time: exports_external.string().nullable().optional(),
10290
10263
  target_version: exports_external.string().nullable().optional(),
10291
10264
  finished_at: exports_external.string().nullable().optional(),
10292
- after_id: exports_external.string().nullable().optional()
10265
+ after_id: exports_external.string().nullable().optional(),
10266
+ force: exports_external.boolean().optional().describe("Override protection on user-modified entities")
10293
10267
  });
10294
10268
  var upsert_goal = exports_external.object({
10295
10269
  id: exports_external.string().optional().nullable(),
@@ -10297,7 +10271,8 @@ var upsert_goal = exports_external.object({
10297
10271
  name: exports_external.string().min(1).max(200),
10298
10272
  description: exports_external.string().nullable().optional(),
10299
10273
  target_time: exports_external.string().nullable().optional(),
10300
- finished_at: exports_external.string().nullable().optional()
10274
+ finished_at: exports_external.string().nullable().optional(),
10275
+ force: exports_external.boolean().optional().describe("Override protection on user-modified entities")
10301
10276
  });
10302
10277
 
10303
10278
  // ../../node_modules/@f0rbit/corpus/dist/types.js
@@ -11805,6 +11780,46 @@ function handleNetworkError(error) {
11805
11780
  const message = error instanceof Error ? error.message : "Unknown network error";
11806
11781
  throw new NetworkError(message);
11807
11782
  }
11783
+ var ArrayBufferedQueue = class {
11784
+ constructor(_capacity) {
11785
+ this._capacity = _capacity;
11786
+ this._entries = [];
11787
+ this._head = 0;
11788
+ this._tail = 0;
11789
+ this._size = 0;
11790
+ }
11791
+ latest() {
11792
+ if (this._size === 0)
11793
+ return null;
11794
+ return this._entries[this._tail - 1] ?? null;
11795
+ }
11796
+ list() {
11797
+ if (this._size === 0)
11798
+ return [];
11799
+ if (this._head < this._tail) {
11800
+ return this._entries.slice(this._head, this._tail);
11801
+ }
11802
+ return this._entries.slice(this._head).concat(this._entries.slice(0, this._tail));
11803
+ }
11804
+ add(item) {
11805
+ if (this._size === this._capacity) {
11806
+ this._head = (this._head + 1) % this._capacity;
11807
+ } else {
11808
+ this._size++;
11809
+ }
11810
+ this._entries[this._tail] = item;
11811
+ this._tail = (this._tail + 1) % this._capacity;
11812
+ }
11813
+ size() {
11814
+ return this._size;
11815
+ }
11816
+ clear() {
11817
+ this._entries = [];
11818
+ this._head = 0;
11819
+ this._tail = 0;
11820
+ this._size = 0;
11821
+ }
11822
+ };
11808
11823
  var ApiClient = class {
11809
11824
  constructor(options) {
11810
11825
  this.category = "api";
@@ -12332,6 +12347,16 @@ var ApiClient2 = class {
12332
12347
  }))
12333
12348
  }
12334
12349
  };
12350
+ this.activity = {
12351
+ ai: (options2) => wrap(() => {
12352
+ const query = {};
12353
+ if (options2?.limit)
12354
+ query.limit = String(options2.limit);
12355
+ if (options2?.since)
12356
+ query.since = options2.since;
12357
+ return this.clients.projects.get("/activity/ai", Object.keys(query).length ? { query } : {});
12358
+ })
12359
+ };
12335
12360
  this.user = {
12336
12361
  history: () => wrap(() => this.clients.auth.get("/user/history")),
12337
12362
  preferences: (data) => wrap(() => this.clients.auth.patch("/user/preferences", { body: data }))
@@ -12425,7 +12450,7 @@ var tools = {
12425
12450
  },
12426
12451
  devpad_projects_upsert: {
12427
12452
  name: "devpad_projects_upsert",
12428
- description: "Create or update a project (set deleted=true to delete)",
12453
+ description: "Create or update a project (set deleted=true to delete). Returns 409 if entity is protected by user - pass force=true to override.",
12429
12454
  inputSchema: upsert_project,
12430
12455
  execute: async (client, input) => unwrap2(await client.projects.upsert(input))
12431
12456
  },
@@ -12452,7 +12477,7 @@ var tools = {
12452
12477
  },
12453
12478
  devpad_tasks_upsert: {
12454
12479
  name: "devpad_tasks_upsert",
12455
- description: "Create or update a task (set deleted=true to delete)",
12480
+ description: "Create or update a task (set deleted=true to delete). Returns 409 if entity is protected by user - pass force=true to override.",
12456
12481
  inputSchema: upsert_todo,
12457
12482
  execute: async (client, input) => unwrap2(await client.tasks.upsert(input))
12458
12483
  },
@@ -12479,7 +12504,7 @@ var tools = {
12479
12504
  },
12480
12505
  devpad_milestones_upsert: {
12481
12506
  name: "devpad_milestones_upsert",
12482
- description: "Create or update a milestone",
12507
+ description: "Create or update a milestone. Returns 409 if entity is protected by user - pass force=true to override.",
12483
12508
  inputSchema: upsert_milestone,
12484
12509
  execute: async (client, input) => unwrap2(input.id ? await client.milestones.update(input.id, {
12485
12510
  name: input.name,
@@ -12508,7 +12533,7 @@ var tools = {
12508
12533
  },
12509
12534
  devpad_goals_upsert: {
12510
12535
  name: "devpad_goals_upsert",
12511
- description: "Create or update a goal",
12536
+ description: "Create or update a goal. Returns 409 if entity is protected by user - pass force=true to override.",
12512
12537
  inputSchema: upsert_goal,
12513
12538
  execute: async (client, input) => unwrap2(input.id ? await client.goals.update(input.id, {
12514
12539
  name: input.name,
@@ -12638,6 +12663,15 @@ var tools = {
12638
12663
  }),
12639
12664
  execute: async (client, input) => unwrap2(await client.user.preferences(input))
12640
12665
  },
12666
+ devpad_activity_ai: {
12667
+ name: "devpad_activity_ai",
12668
+ description: "Get AI activity feed - shows recent actions made via API/MCP grouped into sessions by time window",
12669
+ inputSchema: exports_external.object({
12670
+ limit: exports_external.number().optional().describe("Max sessions to return (default 20)"),
12671
+ since: exports_external.string().optional().describe("Only show activity after this ISO date")
12672
+ }),
12673
+ execute: async (client, input) => unwrap2(await client.activity.ai(input))
12674
+ },
12641
12675
  devpad_blog_posts_list: {
12642
12676
  name: "devpad_blog_posts_list",
12643
12677
  description: "List blog posts with optional filters",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devpad/mcp",
3
- "version": "2.0.3",
3
+ "version": "2.1.1",
4
4
  "description": "MCP server for devpad - exposes devpad API functionality via Model Context Protocol",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",