funifier-mcp 0.2.24 → 0.2.25

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 (51) hide show
  1. package/.cursor/rules/funifier.mdc +1 -0
  2. package/.github/copilot-instructions.md +1 -0
  3. package/AGENTS.md +1 -0
  4. package/datasource-funifier-docs/.search-index.json +5588 -4475
  5. package/datasource-funifier-docs/.skills-map.json +3 -1
  6. package/datasource-funifier-docs/knowledge/guides/trigger-examples.md +511 -0
  7. package/datasource-funifier-docs/knowledge/guides/triggers-guide.md +1 -1
  8. package/datasource-funifier-docs/knowledge/modules/action.md +96 -39
  9. package/datasource-funifier-docs/knowledge/modules/challenge.md +285 -48
  10. package/datasource-funifier-docs/knowledge/modules/leaderboard.md +173 -71
  11. package/datasource-funifier-docs/knowledge/modules/point.md +108 -37
  12. package/datasource-funifier-docs/knowledge/modules/trigger.md +1 -1
  13. package/dist/cli/init.d.ts +1 -1
  14. package/dist/cli/init.d.ts.map +1 -1
  15. package/dist/cli/init.js +11 -4
  16. package/dist/cli/init.js.map +1 -1
  17. package/dist/core/api-client.d.ts.map +1 -1
  18. package/dist/core/api-client.js +1 -1
  19. package/dist/core/api-client.js.map +1 -1
  20. package/dist/core/constants.d.ts +1 -0
  21. package/dist/core/constants.d.ts.map +1 -1
  22. package/dist/core/constants.js +1 -0
  23. package/dist/core/constants.js.map +1 -1
  24. package/dist/mcp/bundle.js +68 -67
  25. package/dist/mcp/index.js +2 -1
  26. package/dist/mcp/index.js.map +1 -1
  27. package/dist/mcp/tools/get.d.ts.map +1 -1
  28. package/dist/mcp/tools/get.js +22 -8
  29. package/dist/mcp/tools/get.js.map +1 -1
  30. package/dist/mcp/tools/list.d.ts.map +1 -1
  31. package/dist/mcp/tools/list.js +9 -2
  32. package/dist/mcp/tools/list.js.map +1 -1
  33. package/dist/mcp/tools/save.d.ts.map +1 -1
  34. package/dist/mcp/tools/save.js +88 -7
  35. package/dist/mcp/tools/save.js.map +1 -1
  36. package/package.json +3 -2
  37. package/skills/funifier-create-action/SKILL.md +58 -18
  38. package/skills/funifier-create-aggregate/SKILL.md +1 -0
  39. package/skills/funifier-create-challenge/SKILL.md +1 -0
  40. package/skills/funifier-create-custom-page/SKILL.md +1 -0
  41. package/skills/funifier-create-leaderboard/SKILL.md +90 -18
  42. package/skills/funifier-create-level/SKILL.md +1 -0
  43. package/skills/funifier-create-point/SKILL.md +60 -18
  44. package/skills/funifier-create-quiz/SKILL.md +1 -0
  45. package/skills/funifier-create-scheduler/SKILL.md +1 -0
  46. package/skills/funifier-create-trigger/SKILL.md +110 -19
  47. package/skills/funifier-create-virtual-good/SKILL.md +1 -0
  48. package/skills/funifier-debug/SKILL.md +2 -0
  49. package/skills/funifier-help/SKILL.md +1 -0
  50. package/skills/funifier-implement-frontend/SKILL.md +1 -0
  51. package/skills/funifier-index/SKILL.md +9 -1
package/dist/mcp/index.js CHANGED
@@ -11,7 +11,8 @@ async function main() {
11
11
  const subcommand = process.argv[2];
12
12
  if (subcommand === "init") {
13
13
  const { default: runInit } = require("../cli/init");
14
- await runInit();
14
+ const devPkgRoot = process.env.FUNIFIER_DEV_ROOT;
15
+ await runInit(process.argv[3], devPkgRoot);
15
16
  return;
16
17
  }
17
18
  if (subcommand === "search") {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";;;AAEA,oEAAoE;AACpE,wEAAiF;AACjF,6CAAyC;AACzC,mCAAwC;AACxC,6DAA8D;AAC9D,mDAAsD;AAEtD,KAAK,UAAU,IAAI;IACjB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,OAAO,EAAE,CAAC;QAChB,OAAO;IACT,CAAC;IACD,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QACxD,SAAS,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IACD,IAAI,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACtD,8DAA8D;QAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IACD,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;QACxF,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;QAC9F,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IAED,mDAAmD;IACnD,MAAM,SAAS,GAAG,IAAI,sBAAS,EAAE,CAAC;IAElC,oEAAoE;IACpE,MAAM,aAAa,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;IAEjD,wBAAwB;IACxB,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC;QAC3B,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,6CAA6C;IAC7C,IAAA,qBAAa,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjC,IAAA,iCAAiB,EAAC,MAAM,CAAC,CAAC;IAC1B,IAAA,2BAAe,EAAC,MAAM,CAAC,CAAC;IAExB,6BAA6B;IAC7B,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CACX,wFAAwF,CACzF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;IAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";;;AAEA,oEAAoE;AACpE,wEAAiF;AACjF,6CAAyC;AACzC,mCAAwC;AACxC,6DAA8D;AAC9D,mDAAsD;AAEtD,KAAK,UAAU,IAAI;IACjB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACjD,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAC3C,OAAO;IACT,CAAC;IACD,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QACxD,SAAS,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IACD,IAAI,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACtD,8DAA8D;QAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IACD,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;QACxF,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;QAC9F,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IAED,mDAAmD;IACnD,MAAM,SAAS,GAAG,IAAI,sBAAS,EAAE,CAAC;IAElC,oEAAoE;IACpE,MAAM,aAAa,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;IAEjD,wBAAwB;IACxB,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC;QAC3B,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,6CAA6C;IAC7C,IAAA,qBAAa,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjC,IAAA,iCAAiB,EAAC,MAAM,CAAC,CAAC;IAC1B,IAAA,2BAAe,EAAC,MAAM,CAAC,CAAC;IAExB,6BAA6B;IAC7B,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CACX,wFAAwF,CACzF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;IAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/get.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAwE1C,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAqItE"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/get.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAsF1C,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAsItE"}
@@ -87,14 +87,28 @@ const RESOURCE_TYPES = [
87
87
  "virtual-good-catalog",
88
88
  "virtual-good-item",
89
89
  ];
90
- function findItems(items, idOrName, limit) {
91
- const byId = items.filter((i) => i._id === idOrName);
92
- if (byId.length > 0)
93
- return byId.slice(0, limit);
94
- const query = idOrName.toLowerCase();
90
+ function findItems(items, idOrName, type, limit) {
91
+ // 1. Exact _id match
92
+ const byIdExact = items.filter((i) => i._id === idOrName);
93
+ if (byIdExact.length > 0)
94
+ return byIdExact.slice(0, limit);
95
+ // 2. Case-insensitive _id match
96
+ const q = idOrName.toLowerCase();
97
+ const byIdCI = items.filter((i) => typeof i._id === "string" && i._id.toLowerCase() === q);
98
+ if (byIdCI.length > 0)
99
+ return byIdCI.slice(0, limit);
100
+ // 3. Name/title match — includes type-specific name fields
95
101
  const byName = items.filter((i) => {
96
- const name = (i.name || i.title || "").toLowerCase();
97
- return name === query || name.includes(query);
102
+ const candidates = [
103
+ i.name,
104
+ i.title,
105
+ i.action, // action type
106
+ i.challenge, // challenge type
107
+ i.level, // level type
108
+ i.catalog, // virtual-good-catalog type
109
+ i.category, // point type
110
+ ].filter(Boolean).map((s) => s.toLowerCase());
111
+ return candidates.some((c) => c === q || c.includes(q));
98
112
  });
99
113
  return byName.slice(0, limit);
100
114
  }
@@ -170,7 +184,7 @@ function registerGetTool(server, apiHolder) {
170
184
  isError: true,
171
185
  };
172
186
  }
173
- const found = findItems(items, id, limit ?? 1);
187
+ const found = findItems(items, id, type, limit ?? 1);
174
188
  if (found.length === 0) {
175
189
  return {
176
190
  content: [{ type: "text", text: `Resource not found: ${type} with id or name "${id}"` }],
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/mcp/tools/get.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/mcp/tools/get.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAsK1C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAuGvE"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AA6K1C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAuGvE"}
@@ -146,7 +146,8 @@ function summarizeItems(items, type) {
146
146
  * entity, event, collection, and _id fields (case-insensitive).
147
147
  */
148
148
  function filterItems(items, query) {
149
- const q = query.toLowerCase();
149
+ // Support comma-separated OR terms: "watch video, login" matches either
150
+ const terms = query.split(",").map((t) => t.trim().toLowerCase()).filter(Boolean);
150
151
  return items.filter((item) => {
151
152
  const searchable = [
152
153
  item._id,
@@ -156,11 +157,17 @@ function filterItems(items, query) {
156
157
  item.entity,
157
158
  item.event,
158
159
  item.collection,
160
+ item.action,
161
+ item.challenge,
162
+ item.category,
163
+ item.shortName,
164
+ item.level,
165
+ item.catalog,
159
166
  ]
160
167
  .filter(Boolean)
161
168
  .join(" ")
162
169
  .toLowerCase();
163
- return searchable.includes(q);
170
+ return terms.some((t) => searchable.includes(t));
164
171
  });
165
172
  }
166
173
  function registerListTool(server, apiHolder) {
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/mcp/tools/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/mcp/tools/list.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/save.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AA2F1C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAyDvE"}
1
+ {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/save.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AA6K1C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QA4DvE"}
@@ -78,6 +78,86 @@ function mergeCompanions(jsonPath, type, doc) {
78
78
  }
79
79
  return merged;
80
80
  }
81
+ // Operator/enum maps for challenge fields
82
+ const RULE_OPERATORS = { ">=": 5, "gte": 5, "=": 1, "eq": 1, "%": 40, "percent": 40 };
83
+ const FILTER_OPERATORS = {
84
+ "is": 1, "equals": 1, "contains": 3, "greater_than": 4, ">": 4,
85
+ "greater_than_equal": 5, ">=": 5, "less_than": 6, "<": 6,
86
+ "less_than_equal": 7, "<=": 7, "is_not": 8, "!=": 8,
87
+ "exists": 9, "does_not_exist": 10, "near_in_meters": 20,
88
+ };
89
+ const RANGE_VALUES = {
90
+ "complete_all": 0, "complete all": 0, "complete_any": 1, "complete any": 1,
91
+ "complete_all_in_order": 2, "complete all in order": 2,
92
+ };
93
+ const POINT_OPERATIONS = {
94
+ "none": 0, "multiply_by": 1, "multiply by": 1, "divide_by": 2, "divide by": 2,
95
+ };
96
+ const LIMIT_PER_TYPES = { "player": 0, "team": 1, "gamification": 2 };
97
+ const TIME_SCALES = {
98
+ "none": 0, "second": 2, "seconds": 2, "minute": 3, "minutes": 3,
99
+ "hour": 4, "hours": 4, "day": 5, "days": 5, "week": 6, "weeks": 6,
100
+ "month": 7, "months": 7, "year": 8, "years": 8,
101
+ };
102
+ const NOTIFICATION_EVENTS = { "on_win": 0, "on win": 0, "on_create": 1, "on create": 1, "on_change": 2, "on change": 2 };
103
+ const NOTIFICATION_SCOPES = { "private": 0, "newsfeed": 1, "custom": 99 };
104
+ function coerceEnum(value, map) {
105
+ if (typeof value === "number")
106
+ return value;
107
+ if (typeof value === "string") {
108
+ const key = value.toLowerCase().trim();
109
+ if (key in map)
110
+ return map[key];
111
+ }
112
+ return undefined;
113
+ }
114
+ function sanitizeChallenge(data) {
115
+ const d = { ...data };
116
+ if (typeof d.range !== "undefined") {
117
+ const v = coerceEnum(d.range, RANGE_VALUES);
118
+ if (v !== undefined)
119
+ d.range = v;
120
+ }
121
+ if (typeof d.limitPerType !== "undefined") {
122
+ const v = coerceEnum(d.limitPerType, LIMIT_PER_TYPES);
123
+ if (v !== undefined)
124
+ d.limitPerType = v;
125
+ }
126
+ if (typeof d.limitTimeScale !== "undefined") {
127
+ const v = coerceEnum(d.limitTimeScale, TIME_SCALES);
128
+ if (v !== undefined)
129
+ d.limitTimeScale = v;
130
+ }
131
+ if (Array.isArray(d.rules)) {
132
+ d.rules = d.rules.map((rule) => {
133
+ const r = { ...rule };
134
+ const op = coerceEnum(r.operator, RULE_OPERATORS);
135
+ if (op !== undefined)
136
+ r.operator = op;
137
+ if (Array.isArray(r.filters)) {
138
+ r.filters = r.filters.map((f) => {
139
+ const fo = coerceEnum(f.operator, FILTER_OPERATORS);
140
+ return fo !== undefined ? { ...f, operator: fo } : f;
141
+ });
142
+ }
143
+ return r;
144
+ });
145
+ }
146
+ if (Array.isArray(d.points)) {
147
+ d.points = d.points.map((p) => {
148
+ const op = coerceEnum(p.operation, POINT_OPERATIONS);
149
+ return op !== undefined ? { ...p, operation: op } : p;
150
+ });
151
+ }
152
+ if (Array.isArray(d.notifications)) {
153
+ d.notifications = d.notifications.map((n) => {
154
+ const ev = coerceEnum(n.event, NOTIFICATION_EVENTS);
155
+ const sc = coerceEnum(n.scope, NOTIFICATION_SCOPES);
156
+ return { ...n, ...(ev !== undefined && { event: ev }), ...(sc !== undefined && { scope: sc }) };
157
+ });
158
+ }
159
+ return d;
160
+ }
81
161
  async function dispatchSave(api, type, data) {
82
162
  switch (type) {
83
163
  case "trigger":
@@ -139,18 +219,19 @@ function registerSaveTool(server, apiHolder) {
139
219
  // funifier_get saves an array; unwrap if needed
140
220
  const unwrapped = Array.isArray(parsed) ? parsed[0] : parsed;
141
221
  const data = file ? mergeCompanions(file, type, unwrapped) : unwrapped;
142
- let toSave = data;
143
- if (data._id) {
144
- const current = await (0, _fetch_current_1.fetchCurrentById)(api, type, data._id);
222
+ let toSave = type === "challenge" ? sanitizeChallenge(data) : data;
223
+ if (toSave._id) {
224
+ const current = await (0, _fetch_current_1.fetchCurrentById)(api, type, toSave._id);
145
225
  if (current) {
146
- toSave = (0, _merge_1.mergeResource)(current, data);
226
+ toSave = (0, _merge_1.mergeResource)(current, toSave);
147
227
  }
148
228
  // if current is null: _id is user-defined for a new resource — create as-is
149
229
  }
150
230
  const result = await dispatchSave(api, type, toSave);
151
- // Funifier sometimes returns 200/201 with status: "ERROR" in the body
152
- if (result?.status === "ERROR" || result?.status === "error") {
153
- const errorMsg = result?.message || result?.error || JSON.stringify(result);
231
+ // Funifier sometimes returns 200/201 with an error body
232
+ if (result?.status === "ERROR" || result?.status === "error" ||
233
+ result?.errorCode != null || result?.errorMessage != null) {
234
+ const errorMsg = result?.errorMessage || result?.message || result?.error || JSON.stringify(result);
154
235
  return {
155
236
  content: [{ type: "text", text: `Error saving ${type}: ${errorMsg}` }],
156
237
  isError: true,
@@ -1 +1 @@
1
- {"version":3,"file":"save.js","sourceRoot":"","sources":["../../../src/mcp/tools/save.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"save.js","sourceRoot":"","sources":["../../../src/mcp/tools/save.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "funifier-mcp",
3
- "version": "0.2.24",
3
+ "version": "0.2.25",
4
4
  "description": "Funifier AI toolkit — MCP server, API client, and Claude Code skills for the Funifier gamification platform",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -39,7 +39,8 @@
39
39
  "test:watch": "vitest watch",
40
40
  "build:skills": "tsx scripts/build-skills.ts",
41
41
  "build:skills:force": "tsx scripts/build-skills.ts --force",
42
- "search:docs": "tsx scripts/search-docs.ts"
42
+ "search:docs": "tsx scripts/search-docs.ts",
43
+ "dev:init": "npm run build && node scripts/dev-init.js"
43
44
  },
44
45
  "keywords": [
45
46
  "funifier",
@@ -48,35 +48,74 @@ If search returns insufficient results, read directly:
48
48
 
49
49
  ## Steps
50
50
 
51
- ### 1. Understand the requirement
51
+ ### Rules follow exactly, no exceptions
52
52
 
53
- Ask the user what they want to create or accomplish. Gather:
54
- - The name/title
55
- - The purpose and behavior
56
- - Any specific configuration or constraints
53
+ **_id format:** lowercase, no spaces, no accents use `_` as separator.
54
+ - `watch_video`, `login`, `acessar_feed`
55
+ - `Watch Video`, `assistir vídeo`, `WatchVideo`
57
56
 
58
- ### 2. Search for relevant documentation
57
+ **When to add attributes:** only if a challenge will need to filter or sum values from this action.
58
+ - Simple action (no attributes needed): `login`, `watch_video`, `acessar_feed`, `jogar_mini`
59
+ - Action with attributes: `sell` needs `product` (String) and `price` (Number) so challenges can filter "sell books" or sum revenue
59
60
 
60
- Run the lexical search (command shown above) and read the returned files.
61
+ **Attribute types:** `String`, `Number`, `Boolean` nothing else.
61
62
 
62
- ### 3. Check existing resources (if MCP available)
63
+ **Upsert behavior:** POST with an existing `_id` updates the action. It never errors on duplicate.
63
64
 
64
- Use `funifier_list` with the relevant type and a `search` parameter to see
65
- if a similar resource already exists. Never list all resources without a search term.
65
+ ---
66
+
67
+ ### 1. Collect what you need
68
+
69
+ Ask (or infer from context):
70
+ - Name/title of the action (human-readable, e.g. "Watch Video")
71
+ - Whether any challenge will filter or aggregate values from this action → if yes, what attributes
72
+
73
+ ### 2. Check if it already exists
74
+
75
+ ```
76
+ funifier_list type=action search=<name or _id>
77
+ ```
78
+
79
+ If it exists and looks correct, stop — no need to recreate.
66
80
 
67
- ### 4. Design and confirm
81
+ ### 3. Build the payload
68
82
 
69
- Based on the docs, outline the configuration to the user and confirm before saving.
83
+ Simple action (most cases):
84
+ ```json
85
+ {
86
+ "_id": "watch_video",
87
+ "action": "Watch Video",
88
+ "active": true,
89
+ "attributes": []
90
+ }
91
+ ```
92
+
93
+ Action with attributes:
94
+ ```json
95
+ {
96
+ "_id": "sell",
97
+ "action": "Sell",
98
+ "active": true,
99
+ "attributes": [
100
+ { "name": "product", "type": "String" },
101
+ { "name": "price", "type": "Number" }
102
+ ]
103
+ }
104
+ ```
105
+
106
+ ### 4. Save
70
107
 
71
- ### 5. Create or update
108
+ ```
109
+ funifier_save type=action payload=<json>
110
+ ```
72
111
 
73
- Use `funifier_save` with the appropriate type and a JSON payload to create or
74
- update the resource. If MCP is unavailable, show the complete JSON for manual use.
112
+ ### 5. Validate
75
113
 
76
- ### 6. Validate
114
+ ```
115
+ funifier_list type=action search=<_id>
116
+ ```
77
117
 
78
- Use `funifier_logs` (for triggers/schedulers) or `funifier_get` to confirm
79
- the resource was saved correctly and executed without errors.
118
+ Do NOT use `funifier_logs` — that is only for triggers and schedulers.
80
119
 
81
120
  ## MCP
82
121
 
@@ -84,3 +123,4 @@ If Funifier MCP tools are available (`funifier_list`, `funifier_save`, `funifier
84
123
  - Use MCP for live server data
85
124
  - Use docs for correct patterns and syntax
86
125
  - Never learn patterns from existing live resources — docs are authoritative
126
+ - **For any new Funifier task, check `/funifier-index` first** — there may be a skill with the correct enums, examples, and workflow already defined
@@ -124,3 +124,4 @@ If Funifier MCP tools are available (`funifier_list`, `funifier_save`, `funifier
124
124
  - Use MCP for live server data
125
125
  - Use docs for correct patterns and syntax
126
126
  - Never learn patterns from existing live resources — docs are authoritative
127
+ - **For any new Funifier task, check `/funifier-index` first** — there may be a skill with the correct enums, examples, and workflow already defined
@@ -85,3 +85,4 @@ If Funifier MCP tools are available (`funifier_list`, `funifier_save`, `funifier
85
85
  - Use MCP for live server data
86
86
  - Use docs for correct patterns and syntax
87
87
  - Never learn patterns from existing live resources — docs are authoritative
88
+ - **For any new Funifier task, check `/funifier-index` first** — there may be a skill with the correct enums, examples, and workflow already defined
@@ -124,3 +124,4 @@ If Funifier MCP tools are available (`funifier_list`, `funifier_save`, `funifier
124
124
  - Use MCP for live server data
125
125
  - Use docs for correct patterns and syntax
126
126
  - Never learn patterns from existing live resources — docs are authoritative
127
+ - **For any new Funifier task, check `/funifier-index` first** — there may be a skill with the correct enums, examples, and workflow already defined
@@ -49,35 +49,106 @@ If search returns insufficient results, read directly:
49
49
 
50
50
  ## Steps
51
51
 
52
- ### 1. Understand the requirement
52
+ ### Rules follow exactly, no exceptions
53
53
 
54
- Ask the user what they want to create or accomplish. Gather:
55
- - The name/title
56
- - The purpose and behavior
57
- - Any specific configuration or constraints
54
+ **`techniques`** is always `["GT03"]` the only valid value, always required.
58
55
 
59
- ### 2. Search for relevant documentation
56
+ **`principalType`:** `0` = Player, `1` = Team
60
57
 
61
- Run the lexical search (command shown above) and read the returned files.
58
+ **`operation.type` how to calculate the score:**
62
59
 
63
- ### 3. Check existing resources (if MCP available)
60
+ | Value | Meaning | Use when |
61
+ |---|---|---|
62
+ | `1` | Count Actions | rank by how many times an action was done |
63
+ | `2` | Sum of attributes | rank by sum of a numeric action attribute |
64
+ | `3` | Sum achievements | rank by accumulated points/challenges (**most common**) |
65
+ | `4` | Average of attributes | rank by average of a numeric action attribute |
66
+ | `10` | Prepared KPI | rank by a pre-configured KPI |
64
67
 
65
- Use `funifier_list` with the relevant type and a `search` parameter to see
66
- if a similar resource already exists. Never list all resources without a search term.
68
+ **`operation.achievement_type`** (only when `operation.type = 3`):
69
+ `0` = Point, `1` = Challenge, `2` = Catalog Item, `3` = Level, `5` = Lottery, `9` = Competition
67
70
 
68
- ### 4. Design and confirm
71
+ **`operation.item`:** always the `_id` of the point or action — never the category name or title.
69
72
 
70
- Based on the docs, outline the configuration to the user and confirm before saving.
73
+ **`operation.sort`:** `-1` = highest first (default), `1` = lowest first
71
74
 
72
- ### 5. Create or update
75
+ **`operation.sub`:** `false` = gross total (default), `true` = net balance (deducts debits)
73
76
 
74
- Use `funifier_save` with the appropriate type and a JSON payload to create or
75
- update the resource. If MCP is unavailable, show the complete JSON for manual use.
77
+ **`period.timeScale`:** `4`=Hour, `5`=Day, `6`=Week, `7`=Month, `8`=Year
76
78
 
77
- ### 6. Validate
79
+ **`period.type`:** `0` = Variable (last N periods), `1` = Fixed (date range)
78
80
 
79
- Use `funifier_logs` (for triggers/schedulers) or `funifier_get` to confirm
80
- the resource was saved correctly and executed without errors.
81
+ ---
82
+
83
+ ### 1. Gather requirements
84
+
85
+ Ask (or infer):
86
+ - Rank players or teams? → `principalType`
87
+ - By points, action count, or attribute sum? → `operation.type`
88
+ - Which point/action? → `operation.item` (need its `_id`)
89
+ - What period? (weekly, monthly, daily…) → `period.timeScale`
90
+
91
+ Check the point/action `_id` with:
92
+ ```
93
+ funifier_list type=point search=<name>
94
+ funifier_list type=action search=<name>
95
+ ```
96
+
97
+ ### 2. Check if it already exists
98
+
99
+ ```
100
+ funifier_list type=leaderboard search=<title>
101
+ ```
102
+
103
+ ### 3. Build the payload
104
+
105
+ Most common — ranking by points (weekly):
106
+ ```json
107
+ {
108
+ "title": "Top Players",
109
+ "principalType": 0,
110
+ "operation": {
111
+ "type": 3,
112
+ "achievement_type": 0,
113
+ "item": "<point _id>",
114
+ "sort": -1,
115
+ "sub": false,
116
+ "filters": []
117
+ },
118
+ "period": { "type": 0, "timeAmount": 1, "timeScale": 6 },
119
+ "techniques": ["GT03"]
120
+ }
121
+ ```
122
+
123
+ Ranking by action count (daily):
124
+ ```json
125
+ {
126
+ "title": "Most Active",
127
+ "principalType": 0,
128
+ "operation": {
129
+ "type": 1,
130
+ "item": "<action _id>",
131
+ "sort": -1,
132
+ "filters": []
133
+ },
134
+ "period": { "type": 0, "timeAmount": 1, "timeScale": 5 },
135
+ "techniques": ["GT03"]
136
+ }
137
+ ```
138
+
139
+ ### 4. Save
140
+
141
+ ```
142
+ funifier_save type=leaderboard payload=<json>
143
+ ```
144
+
145
+ ### 5. Validate
146
+
147
+ ```
148
+ funifier_list type=leaderboard search=<title>
149
+ ```
150
+
151
+ If scores look wrong, reset cache: `GET /v3/leaderboard/reset`
81
152
 
82
153
  ## MCP
83
154
 
@@ -85,3 +156,4 @@ If Funifier MCP tools are available (`funifier_list`, `funifier_save`, `funifier
85
156
  - Use MCP for live server data
86
157
  - Use docs for correct patterns and syntax
87
158
  - Never learn patterns from existing live resources — docs are authoritative
159
+ - **For any new Funifier task, check `/funifier-index` first** — there may be a skill with the correct enums, examples, and workflow already defined
@@ -84,3 +84,4 @@ If Funifier MCP tools are available (`funifier_list`, `funifier_save`, `funifier
84
84
  - Use MCP for live server data
85
85
  - Use docs for correct patterns and syntax
86
86
  - Never learn patterns from existing live resources — docs are authoritative
87
+ - **For any new Funifier task, check `/funifier-index` first** — there may be a skill with the correct enums, examples, and workflow already defined