@dappermountain/payload-plugin-achievements 0.5.1 → 1.0.0-beta.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 (64) hide show
  1. package/README.md +298 -239
  2. package/dist/admin/LucideIconField.d.ts +3 -2
  3. package/dist/admin/LucideIconField.d.ts.map +1 -1
  4. package/dist/admin/LucideIconField.js +2 -2
  5. package/dist/catalog.d.ts +3 -0
  6. package/dist/catalog.d.ts.map +1 -1
  7. package/dist/catalog.js +8 -0
  8. package/dist/collections/EventTypes/access/index.d.ts +1 -11
  9. package/dist/collections/EventTypes/access/index.d.ts.map +1 -1
  10. package/dist/collections/Grants/hooks/afterGrantMutation.d.ts.map +1 -1
  11. package/dist/collections/Grants/hooks/afterGrantMutation.js +15 -0
  12. package/dist/collections/Logs/hooks/afterLogMutation.d.ts +4 -0
  13. package/dist/collections/Logs/hooks/afterLogMutation.d.ts.map +1 -0
  14. package/dist/collections/Logs/hooks/afterLogMutation.js +47 -0
  15. package/dist/collections/Logs/hooks/index.d.ts.map +1 -1
  16. package/dist/collections/Logs/hooks/index.js +3 -0
  17. package/dist/collections/Logs/index.js +1 -1
  18. package/dist/collections/Metrics/access/index.d.ts +1 -11
  19. package/dist/collections/Metrics/access/index.d.ts.map +1 -1
  20. package/dist/collections/Reactions/access/index.d.ts +2 -0
  21. package/dist/collections/Reactions/access/index.d.ts.map +1 -0
  22. package/dist/collections/Reactions/access/index.js +2 -0
  23. package/dist/collections/Reactions/index.d.ts +3 -0
  24. package/dist/collections/Reactions/index.d.ts.map +1 -0
  25. package/dist/collections/Reactions/index.js +97 -0
  26. package/dist/collections/fields/ruleFields.d.ts.map +1 -1
  27. package/dist/collections/fields/ruleFields.js +19 -0
  28. package/dist/collections/fields/whenSibling.d.ts +7 -0
  29. package/dist/collections/fields/whenSibling.d.ts.map +1 -0
  30. package/dist/collections/fields/whenSibling.js +21 -0
  31. package/dist/collections/index.d.ts.map +1 -1
  32. package/dist/collections/index.js +15 -1
  33. package/dist/collections/slugs.d.ts.map +1 -1
  34. package/dist/collections/slugs.js +1 -0
  35. package/dist/defaults.d.ts +10 -1
  36. package/dist/defaults.d.ts.map +1 -1
  37. package/dist/defaults.js +34 -5
  38. package/dist/extensions/actions.d.ts +8 -0
  39. package/dist/extensions/actions.d.ts.map +1 -0
  40. package/dist/extensions/actions.js +26 -0
  41. package/dist/extensions/registry.d.ts +2 -0
  42. package/dist/extensions/registry.d.ts.map +1 -1
  43. package/dist/extensions/registry.js +19 -0
  44. package/dist/index.d.ts +4 -4
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +3 -3
  47. package/dist/plugin.d.ts.map +1 -1
  48. package/dist/plugin.js +9 -3
  49. package/dist/services/achievement/eventTypeRequiresActor.d.ts +1 -0
  50. package/dist/services/achievement/eventTypeRequiresActor.d.ts.map +1 -1
  51. package/dist/services/achievement/eventTypeRequiresActor.js +2 -0
  52. package/dist/services/achievement/grantSideEffects.d.ts +11 -0
  53. package/dist/services/achievement/grantSideEffects.d.ts.map +1 -1
  54. package/dist/services/achievement/grantSideEffects.js +32 -0
  55. package/dist/services/achievement/index.d.ts +3 -1
  56. package/dist/services/achievement/index.d.ts.map +1 -1
  57. package/dist/services/achievement/index.js +2 -1
  58. package/dist/services/achievement/runReactions.d.ts +20 -0
  59. package/dist/services/achievement/runReactions.d.ts.map +1 -0
  60. package/dist/services/achievement/runReactions.js +86 -0
  61. package/dist/tsconfig.tsbuildinfo +1 -0
  62. package/dist/types.d.ts +47 -7
  63. package/dist/types.d.ts.map +1 -1
  64. package/package.json +10 -9
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { CollectionConfig, OptionLabel, Payload, PayloadRequest, TypedUser } from 'payload';
1
+ import type { CollectionConfig, Field, OptionLabel, Payload, PayloadRequest, User } from 'payload';
2
2
  /** Host-registered date anchors for computed elapsed metrics. */
3
3
  export type AchievementMetricAnchor = (args: {
4
4
  payload: Payload;
@@ -48,9 +48,43 @@ export type AchievementRuleType = {
48
48
  * They are omitted from AND averages. Default: `requirement`.
49
49
  */
50
50
  progressRole?: 'requirement' | 'gate';
51
+ /**
52
+ * Admin select label. Payload {@link OptionLabel}: string, `{ en, es }`, or `({ t }) => t(…)`.
53
+ * Defaults to `type` when omitted.
54
+ */
55
+ label?: OptionLabel;
56
+ /**
57
+ * Admin fields shown when this leaf `type` is selected.
58
+ * Merged into the rule row; plugin ANDs visibility with `type === this.type`.
59
+ */
60
+ fields?: Field[];
61
+ };
62
+ export type AchievementReactionTrigger = 'event' | 'achievement.granted' | 'achievement.revoked';
63
+ export type AchievementActionRunArgs = {
64
+ payload: PayloadRequest['payload'];
65
+ req: PayloadRequest;
66
+ userId: string;
67
+ scopeId: string | null;
68
+ trigger: AchievementReactionTrigger;
69
+ /** Reaction catalog row (flat plugin fields plus host param fields). */
70
+ reaction: Record<string, unknown>;
71
+ /** Present when `trigger` is `event`. */
72
+ log?: Record<string, unknown> | null;
73
+ /** Present when `trigger` is grant/revoke. */
74
+ achievementId?: string | null;
75
+ };
76
+ /**
77
+ * Host (or built-in) side effect when a reaction matches.
78
+ * `run` must be **set-based / idempotent** — the plugin does not store reaction run history.
79
+ */
80
+ export type AchievementAction = {
81
+ type: string;
82
+ label?: OptionLabel;
83
+ fields?: Field[];
84
+ run: (args: AchievementActionRunArgs) => Promise<void> | void;
51
85
  };
52
86
  /** Logical collection ids — map to configurable slugs via `collections`. */
53
- export type AchievementCollectionKey = 'tiers' | 'achievements' | 'grants' | 'achievementRequests' | 'tierRequests' | 'logs' | 'eventTypes' | 'metrics' | 'metricBalances';
87
+ export type AchievementCollectionKey = 'tiers' | 'achievements' | 'grants' | 'achievementRequests' | 'tierRequests' | 'logs' | 'eventTypes' | 'metrics' | 'metricBalances' | 'reactions';
54
88
  /**
55
89
  * Host overrides layered onto a plugin collection (Form Builder–style).
56
90
  * Access/admin merge shallowly; hook arrays are appended after plugin hooks.
@@ -117,16 +151,17 @@ export type AchievementEndpointsOptions = {
117
151
  export type AchievementSubjectsOptions = {
118
152
  /**
119
153
  * Collection slugs allowed on log `subject.relationTo` (e.g. `posts`, `comments`).
154
+ * `'all'` = every collection on the host Config except plugin collections and `payload-*`.
120
155
  * Event types pick a subset via `subjectRelationTo`; validation rejects anything outside this list.
121
156
  */
122
- collections?: string[];
157
+ collections?: 'all' | string[];
123
158
  };
124
159
  export type AchievementPluginOptions = {
125
160
  /**
126
161
  * Whether the user may review requests and manage achievement catalogs for a scope.
127
162
  * Required for catalog edits and request approval. When omitted, those writes are denied.
128
163
  */
129
- canReview?: (user: TypedUser, scopeId: string | null) => boolean | Promise<boolean>;
164
+ canReview?: (user: User, scopeId: string | null) => boolean | Promise<boolean>;
130
165
  /** Collection slug / admin grouping config. */
131
166
  collections?: AchievementCollectionsOptions;
132
167
  enabled?: boolean;
@@ -138,13 +173,18 @@ export type AchievementPluginOptions = {
138
173
  */
139
174
  subjects?: AchievementSubjectsOptions;
140
175
  extensions?: {
141
- /** Custom rule evaluators merged with built-ins. */
176
+ /** Custom rule evaluators merged with built-ins. `label` / `fields` surface in Admin. */
142
177
  ruleTypes?: AchievementRuleType[];
143
178
  /**
144
- * Named date anchors for computed `elapsed` metrics.
145
- * Keys appear in Admin `since` selects; missing keys resolve to null at eval time.
179
+ * Named date anchors for computed `elapsed` metrics.
180
+ * Keys appear in Admin `since` selects; missing keys resolve to null at eval time.
146
181
  */
147
182
  metricAnchors?: Record<string, AchievementMetricAnchorEntry>;
183
+ /**
184
+ * Side-effect commands for the reactions catalog (e.g. `accessGroup.addMember`).
185
+ * Built-in `achievement.grant` is always available. `run` must be idempotent.
186
+ */
187
+ actions?: AchievementAction[];
148
188
  };
149
189
  /**
150
190
  * When true (default), ensure system metrics + event types exist on Payload `onInit`
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEhG,iEAAiE;AACjE,MAAM,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE;IAC3C,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB,KAAK,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;AAExC;;;;GAIG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,EAAE,WAAW,CAAA;IAClB,OAAO,EAAE,uBAAuB,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG,uBAAuB,GAAG,6BAA6B,CAAA;AAElG,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;IAClC,GAAG,EAAE,cAAc,CAAA;IACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,+FAA+F;IAC/F,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IACvE;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;IACtE;;;OAGG;IACH,YAAY,CAAC,EAAE,aAAa,GAAG,MAAM,CAAA;CACtC,CAAA;AAED,4EAA4E;AAC5E,MAAM,MAAM,wBAAwB,GAChC,OAAO,GACP,cAAc,GACd,QAAQ,GACR,qBAAqB,GACrB,cAAc,GACd,MAAM,GACN,YAAY,GACZ,SAAS,GACT,gBAAgB,CAAA;AAEpB;;;GAGG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IACnC,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACjC,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACjC,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IAC3B,8DAA8D;IAC9D,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC,CAAA;IACzD;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,wBAAwB,EAAE,6BAA6B,CAAC,CAAC,CAAA;CACrF,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC;;;;OAIG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IAC5B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;CAC3B,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACvC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACnF,+CAA+C;IAC/C,WAAW,CAAC,EAAE,6BAA6B,CAAA;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,uDAAuD;IACvD,SAAS,CAAC,EAAE,2BAA2B,CAAA;IACvC;;;OAGG;IACH,QAAQ,CAAC,EAAE,0BAA0B,CAAA;IACrC,UAAU,CAAC,EAAE;QACX,oDAAoD;QACpD,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAA;QACjC;;;WAGG;QACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAA;KAC7D,CAAA;IACD;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,KAAK,CAAC,EAAE,sBAAsB,CAAA;IAC9B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gDAAgD;IAChD,KAAK,CAAC,EAAE,uBAAuB,CAAA;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,eAAe,GACvB,sBAAsB,GACtB,aAAa,GACb,gBAAgB,GAChB,eAAe,CAAA;AAEnB,qEAAqE;AACrE,MAAM,MAAM,gBAAgB,GACxB,qBAAqB,GACrB,qBAAqB,GACrB,cAAc,GACd,cAAc,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dappermountain/payload-plugin-achievements",
3
- "version": "0.5.1",
3
+ "version": "1.0.0-beta.1",
4
4
  "description": "A robust, Admin-configured achievements engine for Payload: composable unlock rules, derived rank progress, request/review grants, metrics, and scoped multi-tenant support.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -69,26 +69,27 @@
69
69
  "skills:check": "bunx skills check -p"
70
70
  },
71
71
  "peerDependencies": {
72
- "@payloadcms/richtext-lexical": "^3.89.0",
73
- "@payloadcms/ui": "^3.89.0",
72
+ "@payloadcms/richtext-lexical": "^4.0.0-beta.1 || ^4.0.0",
73
+ "@payloadcms/ui": "^4.0.0-beta.1 || ^4.0.0",
74
74
  "lucide-react": "^0.543.0",
75
- "payload": "^3.89.0",
75
+ "payload": "^4.0.0-beta.1 || ^4.0.0",
76
76
  "react": "^19.0.0"
77
77
  },
78
78
  "devDependencies": {
79
79
  "@dappermountain/agent-payload": "^0.1.5",
80
80
  "@dappermountain/agent-practices": "^0.1.2",
81
- "@payloadcms/richtext-lexical": "3.89.0",
82
- "@payloadcms/ui": "3.89.0",
81
+ "@payloadcms/richtext-lexical": "4.0.0-beta.1",
82
+ "@payloadcms/ui": "4.0.0-beta.1",
83
83
  "@types/bun": "1.4.0",
84
84
  "@types/react": "^19.0.0",
85
85
  "lucide-react": "0.543.0",
86
- "payload": "3.89.0",
86
+ "payload": "4.0.0-beta.1",
87
87
  "prettier": "^3.6.2",
88
88
  "react": "19.2.4",
89
- "typescript": "5.9.2"
89
+ "typescript": "6.0.3"
90
90
  },
91
91
  "engines": {
92
- "node": ">=20"
92
+ "node": ">=20",
93
+ "bun": ">=1.4.0"
93
94
  }
94
95
  }