@dappermountain/payload-plugin-achievements 0.2.2 → 0.2.3

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 (133) hide show
  1. package/README.md +2 -0
  2. package/dist/access/index.d.ts +2 -2
  3. package/dist/access/index.d.ts.map +1 -1
  4. package/dist/access/index.js +2 -2
  5. package/dist/access/roles/index.d.ts +1 -1
  6. package/dist/access/roles/index.d.ts.map +1 -1
  7. package/dist/access/roles/index.js +4 -4
  8. package/dist/admin/ActorField.js +1 -1
  9. package/dist/admin/MetricChangeField.js +1 -1
  10. package/dist/admin/MetricField.js +1 -1
  11. package/dist/cli/index.d.ts +2 -2
  12. package/dist/cli/index.d.ts.map +1 -1
  13. package/dist/cli/index.js +1 -1
  14. package/dist/cli/reconcile.d.ts +1 -1
  15. package/dist/cli/reconcile.d.ts.map +1 -1
  16. package/dist/cli/reconcile.js +1 -1
  17. package/dist/collections/AchievementRequests/access/index.js +2 -2
  18. package/dist/collections/AchievementRequests/hooks/index.js +1 -1
  19. package/dist/collections/AchievementRequests/hooks/prepareAchievementRequest.js +5 -5
  20. package/dist/collections/AchievementRequests/index.js +4 -4
  21. package/dist/collections/Achievements/access/index.js +1 -1
  22. package/dist/collections/Achievements/hooks/afterRequiresReviewDisabled.js +1 -1
  23. package/dist/collections/Achievements/hooks/index.js +2 -2
  24. package/dist/collections/Achievements/hooks/validateEligibilityRules.js +1 -1
  25. package/dist/collections/Achievements/index.js +4 -4
  26. package/dist/collections/EventTypes/access/index.js +1 -1
  27. package/dist/collections/EventTypes/hooks/index.js +2 -2
  28. package/dist/collections/EventTypes/index.js +4 -4
  29. package/dist/collections/Grants/access/index.js +2 -2
  30. package/dist/collections/Grants/hooks/afterGrantMutation.js +3 -3
  31. package/dist/collections/Grants/hooks/ensureUniqueGrant.js +2 -2
  32. package/dist/collections/Grants/hooks/index.js +3 -3
  33. package/dist/collections/Grants/hooks/setGrantTitle.js +2 -2
  34. package/dist/collections/Grants/index.js +5 -5
  35. package/dist/collections/Logs/access/index.js +2 -2
  36. package/dist/collections/Logs/fields/validators.js +2 -2
  37. package/dist/collections/Logs/hooks/ensureTypeRequirements.js +2 -2
  38. package/dist/collections/Logs/hooks/index.js +1 -1
  39. package/dist/collections/Logs/index.js +7 -7
  40. package/dist/collections/Metrics/access/index.js +1 -1
  41. package/dist/collections/Metrics/hooks/index.js +2 -2
  42. package/dist/collections/Metrics/index.js +4 -4
  43. package/dist/collections/TierRequests/access/index.js +2 -2
  44. package/dist/collections/TierRequests/hooks/index.js +1 -1
  45. package/dist/collections/TierRequests/hooks/prepareTierRequest.js +4 -4
  46. package/dist/collections/TierRequests/index.js +4 -4
  47. package/dist/collections/Tiers/access/index.js +1 -1
  48. package/dist/collections/Tiers/hooks/afterRequiresReviewDisabled.js +1 -1
  49. package/dist/collections/Tiers/hooks/index.js +2 -2
  50. package/dist/collections/Tiers/hooks/validateUnlockRules.js +1 -1
  51. package/dist/collections/Tiers/index.js +5 -5
  52. package/dist/collections/access/definitions.d.ts +1 -1
  53. package/dist/collections/access/definitions.d.ts.map +1 -1
  54. package/dist/collections/access/definitions.js +2 -2
  55. package/dist/collections/applyOverrides.d.ts +1 -1
  56. package/dist/collections/applyOverrides.d.ts.map +1 -1
  57. package/dist/collections/fields/catalogFilter.js +1 -1
  58. package/dist/collections/fields/index.d.ts +5 -5
  59. package/dist/collections/fields/index.d.ts.map +1 -1
  60. package/dist/collections/fields/index.js +5 -5
  61. package/dist/collections/fields/ruleFields.js +2 -2
  62. package/dist/collections/fields/scopeField.js +1 -1
  63. package/dist/collections/fields/userField.js +1 -1
  64. package/dist/collections/fields/usersAchievementsGroup.d.ts +1 -1
  65. package/dist/collections/fields/usersAchievementsGroup.d.ts.map +1 -1
  66. package/dist/collections/helpers.d.ts +1 -1
  67. package/dist/collections/helpers.d.ts.map +1 -1
  68. package/dist/collections/helpers.js +1 -1
  69. package/dist/collections/hooks/index.d.ts +3 -3
  70. package/dist/collections/hooks/index.d.ts.map +1 -1
  71. package/dist/collections/hooks/index.js +3 -3
  72. package/dist/collections/hooks/preventCatalogDelete.js +3 -3
  73. package/dist/collections/index.js +10 -10
  74. package/dist/collections/slugs.d.ts +1 -1
  75. package/dist/collections/slugs.d.ts.map +1 -1
  76. package/dist/defaults.d.ts +2 -2
  77. package/dist/defaults.d.ts.map +1 -1
  78. package/dist/defaults.js +1 -1
  79. package/dist/enabled.js +2 -2
  80. package/dist/endpoints/index.d.ts +1 -1
  81. package/dist/endpoints/index.d.ts.map +1 -1
  82. package/dist/endpoints/index.js +2 -2
  83. package/dist/endpoints/me.js +2 -2
  84. package/dist/endpoints/reconcile.js +3 -3
  85. package/dist/exports/client.d.ts +4 -4
  86. package/dist/exports/client.d.ts.map +1 -1
  87. package/dist/exports/client.js +4 -4
  88. package/dist/extensions/registry.d.ts +1 -1
  89. package/dist/extensions/registry.d.ts.map +1 -1
  90. package/dist/extensions/registry.js +2 -2
  91. package/dist/index.d.ts +12 -12
  92. package/dist/index.d.ts.map +1 -1
  93. package/dist/index.js +8 -8
  94. package/dist/options-store.d.ts +2 -2
  95. package/dist/options-store.d.ts.map +1 -1
  96. package/dist/options-store.js +1 -1
  97. package/dist/plugin.d.ts +1 -1
  98. package/dist/plugin.d.ts.map +1 -1
  99. package/dist/plugin.js +5 -5
  100. package/dist/seed/index.js +3 -3
  101. package/dist/services/achievement/buildCatalogProgressGroups.js +2 -2
  102. package/dist/services/achievement/builtInRules.d.ts +1 -1
  103. package/dist/services/achievement/builtInRules.d.ts.map +1 -1
  104. package/dist/services/achievement/builtInRules.js +5 -5
  105. package/dist/services/achievement/evaluateRules.js +2 -2
  106. package/dist/services/achievement/eventTypeRequiresActor.js +2 -2
  107. package/dist/services/achievement/getUserProgress.js +4 -4
  108. package/dist/services/achievement/grantSideEffects.d.ts +1 -1
  109. package/dist/services/achievement/grantSideEffects.d.ts.map +1 -1
  110. package/dist/services/achievement/grantSideEffects.js +9 -9
  111. package/dist/services/achievement/index.d.ts +21 -21
  112. package/dist/services/achievement/index.d.ts.map +1 -1
  113. package/dist/services/achievement/index.js +14 -14
  114. package/dist/services/achievement/reconcile.js +8 -8
  115. package/dist/services/achievement/recordEvent.js +8 -8
  116. package/dist/services/achievement/releaseReviewGate.js +2 -2
  117. package/dist/services/achievement/resolveCatalog.d.ts +1 -1
  118. package/dist/services/achievement/resolveCatalog.d.ts.map +1 -1
  119. package/dist/services/achievement/resolveCatalog.js +1 -1
  120. package/dist/services/achievement/resolveCurrentTier.js +4 -4
  121. package/dist/services/achievement/resolveTierProgress.d.ts +1 -1
  122. package/dist/services/achievement/resolveTierProgress.d.ts.map +1 -1
  123. package/dist/services/achievement/resolveTierProgress.js +4 -4
  124. package/dist/services/achievement/reviewAchievementRequest.js +3 -3
  125. package/dist/services/achievement/submitAchievementRequest.js +2 -2
  126. package/dist/services/achievement/tierApproval.js +1 -1
  127. package/dist/services/achievement/tierProgression.d.ts +1 -1
  128. package/dist/services/achievement/tierProgression.d.ts.map +1 -1
  129. package/dist/services/achievement/tierProgression.js +5 -5
  130. package/dist/services/achievement/validateRules.d.ts +1 -1
  131. package/dist/services/achievement/validateRules.d.ts.map +1 -1
  132. package/dist/services/achievement/validateRules.js +2 -2
  133. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import type { Field } from 'payload';
2
- import type { ResolvedAchievementOptions } from '../../defaults';
2
+ import type { ResolvedAchievementOptions } from '../../defaults.js';
3
3
  /**
4
4
  * Group on the users collection: reverse joins into grants + requests.
5
5
  * Nested JSON shape: `user.achievements.grants` / `.requests`.
@@ -1 +1 @@
1
- {"version":3,"file":"usersAchievementsGroup.d.ts","sourceRoot":"","sources":["../../../src/collections/fields/usersAchievementsGroup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AAEhE;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,0BAA0B,GAAG,KAAK,CAgCjF"}
1
+ {"version":3,"file":"usersAchievementsGroup.d.ts","sourceRoot":"","sources":["../../../src/collections/fields/usersAchievementsGroup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAEnE;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,0BAA0B,GAAG,KAAK,CAgCjF"}
@@ -1,5 +1,5 @@
1
1
  import type { CollectionConfig, Field } from 'payload';
2
- import type { AchievementCollectionKey } from '../types';
2
+ import type { AchievementCollectionKey } from '../types.js';
3
3
  /** Resolved slug for a logical achievement collection. */
4
4
  export declare function slugOf(key: AchievementCollectionKey): string;
5
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/collections/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEtD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAA;AAGxD,0DAA0D;AAC1D,wBAAgB,MAAM,CAAC,GAAG,EAAE,wBAAwB,GAAG,MAAM,CAE5D;AAED;;;GAGG;AAEH,wBAAgB,YAAY,CAAC,GAAG,EAAE,wBAAwB,GAAG,GAAG,CAE/D;AAED,4DAA4D;AAC5D,wBAAgB,cAAc,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,KAAK,EAAE,CAElF;AAED,gGAAgG;AAChG,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAGpE;AAED,4DAA4D;AAC5D,wBAAgB,eAAe,CAC7B,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAC5C,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAMxC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/collections/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEtD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAG3D,0DAA0D;AAC1D,wBAAgB,MAAM,CAAC,GAAG,EAAE,wBAAwB,GAAG,MAAM,CAE5D;AAED;;;GAGG;AAEH,wBAAgB,YAAY,CAAC,GAAG,EAAE,wBAAwB,GAAG,GAAG,CAE/D;AAED,4DAA4D;AAC5D,wBAAgB,cAAc,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,KAAK,EAAE,CAElF;AAED,gGAAgG;AAChG,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAGpE;AAED,4DAA4D;AAC5D,wBAAgB,eAAe,CAC7B,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAC5C,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAMxC"}
@@ -1,4 +1,4 @@
1
- import { getAchievementOptions } from '../options-store';
1
+ import { getAchievementOptions } from '../options-store.js';
2
2
  /** Resolved slug for a logical achievement collection. */
3
3
  export function slugOf(key) {
4
4
  return getAchievementOptions().collectionSlugs[key];
@@ -1,4 +1,4 @@
1
- export { eachRuleLeaf } from './eachRuleLeaf';
2
- export { lockSystemCatalogFields } from './lockSystemCatalogFields';
3
- export { preventCatalogDelete } from './preventCatalogDelete';
1
+ export { eachRuleLeaf } from './eachRuleLeaf.js';
2
+ export { lockSystemCatalogFields } from './lockSystemCatalogFields.js';
3
+ export { preventCatalogDelete } from './preventCatalogDelete.js';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/collections/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/collections/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA"}
@@ -1,3 +1,3 @@
1
- export { eachRuleLeaf } from './eachRuleLeaf';
2
- export { lockSystemCatalogFields } from './lockSystemCatalogFields';
3
- export { preventCatalogDelete } from './preventCatalogDelete';
1
+ export { eachRuleLeaf } from './eachRuleLeaf.js';
2
+ export { lockSystemCatalogFields } from './lockSystemCatalogFields.js';
3
+ export { preventCatalogDelete } from './preventCatalogDelete.js';
@@ -1,7 +1,7 @@
1
1
  import { APIError } from 'payload';
2
- import { collectionOf } from '../helpers';
3
- import { relationId } from '../../services/achievement/relationId';
4
- import { eachRuleLeaf } from './eachRuleLeaf';
2
+ import { collectionOf } from '../helpers.js';
3
+ import { relationId } from '../../services/achievement/relationId.js';
4
+ import { eachRuleLeaf } from './eachRuleLeaf.js';
5
5
  async function countMatchingLeaves(args) {
6
6
  let count = 0;
7
7
  const visit = (rule) => {
@@ -1,13 +1,13 @@
1
- import { getAchievementOptions } from '../options-store';
2
- import { applyCollectionOverrides } from './applyOverrides';
3
- import { buildAchievementRequestsCollection } from './AchievementRequests/index';
4
- import { buildAchievementsCollection } from './Achievements/index';
5
- import { buildEventTypesCollection } from './EventTypes/index';
6
- import { buildGrantsCollection } from './Grants/index';
7
- import { buildLogsCollection } from './Logs/index';
8
- import { buildMetricsCollection } from './Metrics/index';
9
- import { buildTierRequestsCollection } from './TierRequests/index';
10
- import { buildTiersCollection } from './Tiers/index';
1
+ import { getAchievementOptions } from '../options-store.js';
2
+ import { applyCollectionOverrides } from './applyOverrides.js';
3
+ import { buildAchievementRequestsCollection } from './AchievementRequests/index.js';
4
+ import { buildAchievementsCollection } from './Achievements/index.js';
5
+ import { buildEventTypesCollection } from './EventTypes/index.js';
6
+ import { buildGrantsCollection } from './Grants/index.js';
7
+ import { buildLogsCollection } from './Logs/index.js';
8
+ import { buildMetricsCollection } from './Metrics/index.js';
9
+ import { buildTierRequestsCollection } from './TierRequests/index.js';
10
+ import { buildTiersCollection } from './Tiers/index.js';
11
11
  const builders = {
12
12
  metrics: buildMetricsCollection,
13
13
  eventTypes: buildEventTypesCollection,
@@ -1,4 +1,4 @@
1
- import type { AchievementCollectionKey, AchievementPluginOptions } from '../types';
1
+ import type { AchievementCollectionKey, AchievementPluginOptions } from '../types.js';
2
2
  /**
3
3
  * Default slug prefix — always applied unless a per-collection `slugs` override is set.
4
4
  * Drives collection slug, REST `/api/{slug}`, and default DB table names.
@@ -1 +1 @@
1
- {"version":3,"file":"slugs.d.ts","sourceRoot":"","sources":["../../src/collections/slugs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAA;AAElF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,gBAAgB,CAAA;AAEtD;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,wBAAwB,EAAE,MAAM,CASlF,CAAA;AAED,eAAO,MAAM,mBAAmB,iBAAiB,CAAA;AAEjD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,wBAA6B,GACrC,MAAM,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAkB1C;AAED,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,wBAA6B,GAAG,MAAM,GAAG,KAAK,CAMxF"}
1
+ {"version":3,"file":"slugs.d.ts","sourceRoot":"","sources":["../../src/collections/slugs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAErF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,gBAAgB,CAAA;AAEtD;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,wBAAwB,EAAE,MAAM,CASlF,CAAA;AAED,eAAO,MAAM,mBAAmB,iBAAiB,CAAA;AAEjD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,wBAA6B,GACrC,MAAM,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAkB1C;AAED,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,wBAA6B,GAAG,MAAM,GAAG,KAAK,CAMxF"}
@@ -1,5 +1,5 @@
1
- import type { AchievementPluginOptions } from './types';
2
- import { resolveCollectionSlugs } from './collections/slugs';
1
+ import type { AchievementPluginOptions } from './types.js';
2
+ import { resolveCollectionSlugs } from './collections/slugs.js';
3
3
  export declare const DEFAULT_USERS_COLLECTION = "users";
4
4
  export declare const DEFAULT_ME_ENDPOINT_PATH = "/achievements/me";
5
5
  export declare const DEFAULT_RECONCILE_ENDPOINT_PATH = "/achievements/reconcile";
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AACvD,OAAO,EAEL,sBAAsB,EACvB,MAAM,qBAAqB,CAAA;AAE5B,eAAO,MAAM,wBAAwB,UAAU,CAAA;AAC/C,eAAO,MAAM,wBAAwB,qBAAqB,CAAA;AAC1D,eAAO,MAAM,+BAA+B,4BAA4B,CAAA;AAExE,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,wBAAwB,EAAE,OAAO,GAAG,WAAW,CAAC,GAAG;IAC/F,OAAO,EAAE,OAAO,CAAA;IAChB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,KAAK,EAAE;QAAE,YAAY,EAAE,OAAO,CAAA;KAAE,CAAA;IAChC,+DAA+D;IAC/D,eAAe,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAA;IAC1D,oEAAoE;IACpE,UAAU,EAAE,MAAM,GAAG,KAAK,CAAA;IAC1B,SAAS,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,KAAK,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAAA;KAAE,CAAA;CAC7D,CAAA;AAQD,wBAAgB,qBAAqB,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAIzE;AAED,wBAAgB,4BAA4B,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAIlF;AAED,wBAAgB,cAAc,CAAC,OAAO,GAAE,wBAA6B,GAAG,0BAA0B,CAejG"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAEL,sBAAsB,EACvB,MAAM,wBAAwB,CAAA;AAE/B,eAAO,MAAM,wBAAwB,UAAU,CAAA;AAC/C,eAAO,MAAM,wBAAwB,qBAAqB,CAAA;AAC1D,eAAO,MAAM,+BAA+B,4BAA4B,CAAA;AAExE,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,wBAAwB,EAAE,OAAO,GAAG,WAAW,CAAC,GAAG;IAC/F,OAAO,EAAE,OAAO,CAAA;IAChB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,KAAK,EAAE;QAAE,YAAY,EAAE,OAAO,CAAA;KAAE,CAAA;IAChC,+DAA+D;IAC/D,eAAe,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAA;IAC1D,oEAAoE;IACpE,UAAU,EAAE,MAAM,GAAG,KAAK,CAAA;IAC1B,SAAS,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,KAAK,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAAA;KAAE,CAAA;CAC7D,CAAA;AAQD,wBAAgB,qBAAqB,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAIzE;AAED,wBAAgB,4BAA4B,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAIlF;AAED,wBAAgB,cAAc,CAAC,OAAO,GAAE,wBAA6B,GAAG,0BAA0B,CAejG"}
package/dist/defaults.js CHANGED
@@ -1,4 +1,4 @@
1
- import { resolveAdminGroup, resolveCollectionSlugs, } from './collections/slugs';
1
+ import { resolveAdminGroup, resolveCollectionSlugs, } from './collections/slugs.js';
2
2
  export const DEFAULT_USERS_COLLECTION = 'users';
3
3
  export const DEFAULT_ME_ENDPOINT_PATH = '/achievements/me';
4
4
  export const DEFAULT_RECONCILE_ENDPOINT_PATH = '/achievements/reconcile';
package/dist/enabled.js CHANGED
@@ -1,5 +1,5 @@
1
- import { slugOf } from './collections/helpers';
2
- import { getAchievementOptions } from './options-store';
1
+ import { slugOf } from './collections/helpers.js';
2
+ import { getAchievementOptions } from './options-store.js';
3
3
  /** True when the plugin is opted in and its collections are on this Payload config. */
4
4
  export function isAchievementPluginEnabled(payload) {
5
5
  if (!getAchievementOptions().enabled)
@@ -1,4 +1,4 @@
1
1
  import type { Endpoint } from 'payload';
2
- import type { ResolvedAchievementOptions } from '../defaults';
2
+ import type { ResolvedAchievementOptions } from '../defaults.js';
3
3
  export declare function buildAchievementEndpoints(options: ResolvedAchievementOptions): Endpoint[];
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/endpoints/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAI7D,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,GAAG,QAAQ,EAAE,CASzF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/endpoints/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AAIhE,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,GAAG,QAAQ,EAAE,CASzF"}
@@ -1,5 +1,5 @@
1
- import { buildMeEndpoint } from './me';
2
- import { buildReconcileEndpoint } from './reconcile';
1
+ import { buildMeEndpoint } from './me.js';
2
+ import { buildReconcileEndpoint } from './reconcile.js';
3
3
  export function buildAchievementEndpoints(options) {
4
4
  const endpoints = [];
5
5
  if (options.endpoints.me !== false) {
@@ -1,5 +1,5 @@
1
- import { getUserId } from '../access/helpers/index';
2
- import { getUserProgress } from '../services/achievement/getUserProgress';
1
+ import { getUserId } from '../access/helpers/index.js';
2
+ import { getUserProgress } from '../services/achievement/getUserProgress.js';
3
3
  function requestUrl(req) {
4
4
  return req.url ? new URL(req.url, 'http://local') : null;
5
5
  }
@@ -1,6 +1,6 @@
1
- import { getUserId } from '../access/helpers/index';
2
- import { getAchievementOptions } from '../options-store';
3
- import { reconcileProgression } from '../services/achievement/reconcile';
1
+ import { getUserId } from '../access/helpers/index.js';
2
+ import { getAchievementOptions } from '../options-store.js';
3
+ import { reconcileProgression } from '../services/achievement/reconcile.js';
4
4
  function requestUrl(req) {
5
5
  return req.url ? new URL(req.url, 'http://local') : null;
6
6
  }
@@ -1,5 +1,5 @@
1
- export { ActorField } from '../admin/ActorField';
2
- export { MetricChangeField } from '../admin/MetricChangeField';
3
- export { MetricField } from '../admin/MetricField';
4
- export { ReconcileProgressionButton } from '../admin/ReconcileProgressionButton';
1
+ export { ActorField } from '../admin/ActorField.js';
2
+ export { MetricChangeField } from '../admin/MetricChangeField.js';
3
+ export { MetricField } from '../admin/MetricField.js';
4
+ export { ReconcileProgressionButton } from '../admin/ReconcileProgressionButton.js';
5
5
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/exports/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/exports/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAA"}
@@ -1,4 +1,4 @@
1
- export { ActorField } from '../admin/ActorField';
2
- export { MetricChangeField } from '../admin/MetricChangeField';
3
- export { MetricField } from '../admin/MetricField';
4
- export { ReconcileProgressionButton } from '../admin/ReconcileProgressionButton';
1
+ export { ActorField } from '../admin/ActorField.js';
2
+ export { MetricChangeField } from '../admin/MetricChangeField.js';
3
+ export { MetricField } from '../admin/MetricField.js';
4
+ export { ReconcileProgressionButton } from '../admin/ReconcileProgressionButton.js';
@@ -1,3 +1,3 @@
1
- import type { AchievementRuleType } from '../types';
1
+ import type { AchievementRuleType } from '../types.js';
2
2
  export declare function getRuleTypeMap(): Map<string, AchievementRuleType>;
3
3
  //# sourceMappingURL=registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/extensions/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAInD,wBAAgB,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CASjE"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/extensions/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAItD,wBAAgB,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CASjE"}
@@ -1,5 +1,5 @@
1
- import { getAchievementOptions } from '../options-store';
2
- import { builtInRuleTypes } from '../services/achievement/builtInRules';
1
+ import { getAchievementOptions } from '../options-store.js';
2
+ import { builtInRuleTypes } from '../services/achievement/builtInRules.js';
3
3
  export function getRuleTypeMap() {
4
4
  const map = new Map();
5
5
  for (const rule of builtInRuleTypes) {
package/dist/index.d.ts CHANGED
@@ -1,13 +1,13 @@
1
- export { DEFAULT_ACHIEVEMENT_METRIC, DEFAULT_ACHIEVEMENT_METRIC_SLUG, ENGINE_EVENT_TYPES, ENGINE_METRICS, } from './catalog';
2
- export type { EngineEventTypeSlug, EngineMetricSlug } from './catalog';
3
- export { achievementPlugin } from './plugin';
4
- export { seedAchievementCatalog, seedAchievements } from './seed/index';
5
- export type { AchievementSeedAchievement, AchievementSeedCatalogRow, AchievementSeedInput, AchievementSeedLocalizedText, AchievementSeedTier, } from './seed/index';
6
- export { evaluateRules, evaluateRuleProgress, collectAchievementCompleteRefs, buildCatalogProgressGroups, getUserProgress, grantAchievement, recordEvent, recordLog, recordMetricChange, reconcileProgression, reconcileUserProgression, releasePendingAchievementReviews, releasePendingTierReviews, resolveCurrentTier, resolveTierProgress, reviewAchievementRequest, submitAchievementRequest, syncTierChangedLog, syncTierProgression, syncCompositeProgression, catalogRef, transitionLogData, transitionToId, validateRuleGroup, validateRuleNode, } from './services/achievement/index';
7
- export type { ResolvedTier, RuleGroup, TierLadderProgress, CatalogProgressGroup, CatalogProgressItem, CatalogRef, TransitionLogData, ReconcileProgressionArgs, ReconcileProgressionResult, ReleaseReviewGateResult, } from './services/achievement/index';
8
- export type { BuiltInEventType, BuiltInRuleType, AchievementCollectionKey, AchievementCollectionOverride, AchievementCollectionsOptions, AchievementEndpointsOptions, AchievementPluginOptions, AchievementRuleType, AchievementScopeConfig, AchievementUsersOptions, } from './types';
9
- export { DEFAULT_COLLECTION_BASE_SLUGS, DEFAULT_COLLECTION_PREFIX, DEFAULT_ADMIN_GROUP } from './collections/slugs';
10
- export { DEFAULT_ME_ENDPOINT_PATH, DEFAULT_RECONCILE_ENDPOINT_PATH } from './defaults';
11
- export { collectionOf, slugOf } from './collections/helpers';
12
- export { isAchievementPluginEnabled } from './enabled';
1
+ export { DEFAULT_ACHIEVEMENT_METRIC, DEFAULT_ACHIEVEMENT_METRIC_SLUG, ENGINE_EVENT_TYPES, ENGINE_METRICS, } from './catalog.js';
2
+ export type { EngineEventTypeSlug, EngineMetricSlug } from './catalog.js';
3
+ export { achievementPlugin } from './plugin.js';
4
+ export { seedAchievementCatalog, seedAchievements } from './seed/index.js';
5
+ export type { AchievementSeedAchievement, AchievementSeedCatalogRow, AchievementSeedInput, AchievementSeedLocalizedText, AchievementSeedTier, } from './seed/index.js';
6
+ export { evaluateRules, evaluateRuleProgress, collectAchievementCompleteRefs, buildCatalogProgressGroups, getUserProgress, grantAchievement, recordEvent, recordLog, recordMetricChange, reconcileProgression, reconcileUserProgression, releasePendingAchievementReviews, releasePendingTierReviews, resolveCurrentTier, resolveTierProgress, reviewAchievementRequest, submitAchievementRequest, syncTierChangedLog, syncTierProgression, syncCompositeProgression, catalogRef, transitionLogData, transitionToId, validateRuleGroup, validateRuleNode, } from './services/achievement/index.js';
7
+ export type { ResolvedTier, RuleGroup, TierLadderProgress, CatalogProgressGroup, CatalogProgressItem, CatalogRef, TransitionLogData, ReconcileProgressionArgs, ReconcileProgressionResult, ReleaseReviewGateResult, } from './services/achievement/index.js';
8
+ export type { BuiltInEventType, BuiltInRuleType, AchievementCollectionKey, AchievementCollectionOverride, AchievementCollectionsOptions, AchievementEndpointsOptions, AchievementPluginOptions, AchievementRuleType, AchievementScopeConfig, AchievementUsersOptions, } from './types.js';
9
+ export { DEFAULT_COLLECTION_BASE_SLUGS, DEFAULT_COLLECTION_PREFIX, DEFAULT_ADMIN_GROUP } from './collections/slugs.js';
10
+ export { DEFAULT_ME_ENDPOINT_PATH, DEFAULT_RECONCILE_ENDPOINT_PATH } from './defaults.js';
11
+ export { collectionOf, slugOf } from './collections/helpers.js';
12
+ export { isAchievementPluginEnabled } from './enabled.js';
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,+BAA+B,EAC/B,kBAAkB,EAClB,cAAc,GACf,MAAM,WAAW,CAAA;AAClB,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACvE,YAAY,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,8BAA8B,EAC9B,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,gCAAgC,EAChC,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,8BAA8B,CAAA;AACrC,YAAY,EACV,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,wBAAwB,EACxB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,8BAA8B,CAAA;AACrC,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,6BAA6B,EAC7B,6BAA6B,EAC7B,2BAA2B,EAC3B,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACnH,OAAO,EAAE,wBAAwB,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,+BAA+B,EAC/B,kBAAkB,EAClB,cAAc,GACf,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAC1E,YAAY,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,8BAA8B,EAC9B,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,gCAAgC,EAChC,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,iCAAiC,CAAA;AACxC,YAAY,EACV,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,wBAAwB,EACxB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,iCAAiC,CAAA;AACxC,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,6BAA6B,EAC7B,6BAA6B,EAC7B,2BAA2B,EAC3B,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACtH,OAAO,EAAE,wBAAwB,EAAE,+BAA+B,EAAE,MAAM,eAAe,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA"}
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
- export { DEFAULT_ACHIEVEMENT_METRIC, DEFAULT_ACHIEVEMENT_METRIC_SLUG, ENGINE_EVENT_TYPES, ENGINE_METRICS, } from './catalog';
2
- export { achievementPlugin } from './plugin';
3
- export { seedAchievementCatalog, seedAchievements } from './seed/index';
4
- export { evaluateRules, evaluateRuleProgress, collectAchievementCompleteRefs, buildCatalogProgressGroups, getUserProgress, grantAchievement, recordEvent, recordLog, recordMetricChange, reconcileProgression, reconcileUserProgression, releasePendingAchievementReviews, releasePendingTierReviews, resolveCurrentTier, resolveTierProgress, reviewAchievementRequest, submitAchievementRequest, syncTierChangedLog, syncTierProgression, syncCompositeProgression, catalogRef, transitionLogData, transitionToId, validateRuleGroup, validateRuleNode, } from './services/achievement/index';
5
- export { DEFAULT_COLLECTION_BASE_SLUGS, DEFAULT_COLLECTION_PREFIX, DEFAULT_ADMIN_GROUP } from './collections/slugs';
6
- export { DEFAULT_ME_ENDPOINT_PATH, DEFAULT_RECONCILE_ENDPOINT_PATH } from './defaults';
7
- export { collectionOf, slugOf } from './collections/helpers';
8
- export { isAchievementPluginEnabled } from './enabled';
1
+ export { DEFAULT_ACHIEVEMENT_METRIC, DEFAULT_ACHIEVEMENT_METRIC_SLUG, ENGINE_EVENT_TYPES, ENGINE_METRICS, } from './catalog.js';
2
+ export { achievementPlugin } from './plugin.js';
3
+ export { seedAchievementCatalog, seedAchievements } from './seed/index.js';
4
+ export { evaluateRules, evaluateRuleProgress, collectAchievementCompleteRefs, buildCatalogProgressGroups, getUserProgress, grantAchievement, recordEvent, recordLog, recordMetricChange, reconcileProgression, reconcileUserProgression, releasePendingAchievementReviews, releasePendingTierReviews, resolveCurrentTier, resolveTierProgress, reviewAchievementRequest, submitAchievementRequest, syncTierChangedLog, syncTierProgression, syncCompositeProgression, catalogRef, transitionLogData, transitionToId, validateRuleGroup, validateRuleNode, } from './services/achievement/index.js';
5
+ export { DEFAULT_COLLECTION_BASE_SLUGS, DEFAULT_COLLECTION_PREFIX, DEFAULT_ADMIN_GROUP } from './collections/slugs.js';
6
+ export { DEFAULT_ME_ENDPOINT_PATH, DEFAULT_RECONCILE_ENDPOINT_PATH } from './defaults.js';
7
+ export { collectionOf, slugOf } from './collections/helpers.js';
8
+ export { isAchievementPluginEnabled } from './enabled.js';
@@ -1,5 +1,5 @@
1
- import type { AchievementPluginOptions } from './types';
2
- import { type ResolvedAchievementOptions } from './defaults';
1
+ import type { AchievementPluginOptions } from './types.js';
2
+ import { type ResolvedAchievementOptions } from './defaults.js';
3
3
  export declare function setAchievementOptions(options: AchievementPluginOptions): void;
4
4
  /** Test helper — clears the process-wide options singleton. */
5
5
  export declare function resetAchievementOptions(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"options-store.d.ts","sourceRoot":"","sources":["../src/options-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AACvD,OAAO,EAAkB,KAAK,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAI5E,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAE7E;AAED,+DAA+D;AAC/D,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED,wBAAgB,qBAAqB,IAAI,0BAA0B,CAKlE"}
1
+ {"version":3,"file":"options-store.d.ts","sourceRoot":"","sources":["../src/options-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAkB,KAAK,0BAA0B,EAAE,MAAM,eAAe,CAAA;AAI/E,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAE7E;AAED,+DAA+D;AAC/D,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED,wBAAgB,qBAAqB,IAAI,0BAA0B,CAKlE"}
@@ -1,4 +1,4 @@
1
- import { resolveOptions } from './defaults';
1
+ import { resolveOptions } from './defaults.js';
2
2
  let stored = null;
3
3
  export function setAchievementOptions(options) {
4
4
  stored = resolveOptions(options);
package/dist/plugin.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Plugin } from 'payload';
2
- import type { AchievementPluginOptions } from './types';
2
+ import type { AchievementPluginOptions } from './types.js';
3
3
  /**
4
4
  * Payload achievements plugin — merges collections (hooks own request/grant flow)
5
5
  * and an optional current-user grants endpoint.
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,SAAS,CAAA;AAO7C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAEvD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC3B,UAAS,wBAA6B,KAAG,MA0BzC,CAAA"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,SAAS,CAAA;AAO7C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAE1D;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC3B,UAAS,wBAA6B,KAAG,MA0BzC,CAAA"}
package/dist/plugin.js CHANGED
@@ -1,8 +1,8 @@
1
- import { buildAchievementCollections } from './collections/index';
2
- import { usersAchievementsGroup } from './collections/fields/usersAchievementsGroup';
3
- import { resolveOptions } from './defaults';
4
- import { buildAchievementEndpoints } from './endpoints/index';
5
- import { setAchievementOptions } from './options-store';
1
+ import { buildAchievementCollections } from './collections/index.js';
2
+ import { usersAchievementsGroup } from './collections/fields/usersAchievementsGroup.js';
3
+ import { resolveOptions } from './defaults.js';
4
+ import { buildAchievementEndpoints } from './endpoints/index.js';
5
+ import { setAchievementOptions } from './options-store.js';
6
6
  /**
7
7
  * Payload achievements plugin — merges collections (hooks own request/grant flow)
8
8
  * and an optional current-user grants endpoint.
@@ -1,6 +1,6 @@
1
- import { ENGINE_EVENT_TYPES, ENGINE_METRICS } from '../catalog';
2
- import { collectionOf } from '../collections/helpers';
3
- import { normalizeRuleGroup } from '../services/achievement/evaluateRules';
1
+ import { ENGINE_EVENT_TYPES, ENGINE_METRICS } from '../catalog.js';
2
+ import { collectionOf } from '../collections/helpers.js';
3
+ import { normalizeRuleGroup } from '../services/achievement/evaluateRules.js';
4
4
  function localizedParts(value) {
5
5
  if (value == null)
6
6
  return {};
@@ -1,5 +1,5 @@
1
- import { relationId } from './relationId';
2
- import { collectAchievementCompleteRefs } from './evaluateRules';
1
+ import { relationId } from './relationId.js';
2
+ import { collectAchievementCompleteRefs } from './evaluateRules.js';
3
3
  function grantKey(achievement) {
4
4
  const id = relationId(achievement);
5
5
  const slug = achievement && typeof achievement === 'object' && 'slug' in achievement
@@ -1,3 +1,3 @@
1
- import type { AchievementRuleType } from '../../types';
1
+ import type { AchievementRuleType } from '../../types.js';
2
2
  export declare const builtInRuleTypes: AchievementRuleType[];
3
3
  //# sourceMappingURL=builtInRules.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builtInRules.d.ts","sourceRoot":"","sources":["../../../src/services/achievement/builtInRules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2B,mBAAmB,EAAE,MAAM,aAAa,CAAA;AA2K/E,eAAO,MAAM,gBAAgB,EAAE,mBAAmB,EAiJjD,CAAA"}
1
+ {"version":3,"file":"builtInRules.d.ts","sourceRoot":"","sources":["../../../src/services/achievement/builtInRules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2B,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AA2KlF,eAAO,MAAM,gBAAgB,EAAE,mBAAmB,EAiJjD,CAAA"}
@@ -1,6 +1,6 @@
1
- import { collectionOf } from '../../collections/helpers';
2
- import { relationId } from './relationId';
3
- import { userScopeIncludingUnscopedWhere, userScopeWhere } from './where';
1
+ import { collectionOf } from '../../collections/helpers.js';
2
+ import { relationId } from './relationId.js';
3
+ import { userScopeIncludingUnscopedWhere, userScopeWhere } from './where.js';
4
4
  function clamp01(value) {
5
5
  if (!Number.isFinite(value))
6
6
  return 0;
@@ -163,7 +163,7 @@ export const builtInRuleTypes = [
163
163
  return false;
164
164
  let currentRank = ladderRank;
165
165
  if (currentRank === undefined) {
166
- const { resolveCurrentTier } = await import('./resolveCurrentTier');
166
+ const { resolveCurrentTier } = await import('./resolveCurrentTier.js');
167
167
  const current = await resolveCurrentTier({
168
168
  payload,
169
169
  req,
@@ -206,7 +206,7 @@ export const builtInRuleTypes = [
206
206
  if (visited.has(visitKey))
207
207
  return 0;
208
208
  visited.add(visitKey);
209
- const { evaluateRuleProgress, ruleGroupHasProgressRequirements } = await import('./evaluateRules');
209
+ const { evaluateRuleProgress, ruleGroupHasProgressRequirements } = await import('./evaluateRules.js');
210
210
  const composition = ruleGroupHasProgressRequirements(ref.completionRules)
211
211
  ? ref.completionRules
212
212
  : ref.eligibilityRules;
@@ -1,5 +1,5 @@
1
- import { relationId } from './relationId';
2
- import { getRuleTypeMap } from '../../extensions/registry';
1
+ import { relationId } from './relationId.js';
2
+ import { getRuleTypeMap } from '../../extensions/registry.js';
3
3
  export function normalizeRuleGroup(input) {
4
4
  if (!input)
5
5
  return { combinator: 'and', rules: [] };
@@ -1,5 +1,5 @@
1
- import { collectionOf } from '../../collections/helpers';
2
- import { relationId } from './relationId';
1
+ import { collectionOf } from '../../collections/helpers.js';
2
+ import { relationId } from './relationId.js';
3
3
  /** Read flags from a loaded event-type document (or populated relationship). */
4
4
  export function readEventTypeFlags(doc) {
5
5
  if (!doc || typeof doc !== 'object')
@@ -1,7 +1,7 @@
1
- import { collectionOf } from '../../collections/helpers';
2
- import { relationId } from './relationId';
3
- import { resolveCurrentTier } from './resolveCurrentTier';
4
- import { userScopeWhere } from './where';
1
+ import { collectionOf } from '../../collections/helpers.js';
2
+ import { relationId } from './relationId.js';
3
+ import { resolveCurrentTier } from './resolveCurrentTier.js';
4
+ import { userScopeWhere } from './where.js';
5
5
  function leanCatalog(value) {
6
6
  const id = relationId(value);
7
7
  if (!id)
@@ -1,5 +1,5 @@
1
1
  import type { PayloadRequest } from 'payload';
2
- export { CTX_CASCADING_REVOKE, CTX_SKIP_GRANT_SIDE_EFFECTS, CTX_SYSTEM_REQUEST } from './contextFlags';
2
+ export { CTX_CASCADING_REVOKE, CTX_SKIP_GRANT_SIDE_EFFECTS, CTX_SYSTEM_REQUEST } from './contextFlags.js';
3
3
  /** Create a grant row only — side effects run in Grants afterChange. */
4
4
  export declare function createGrantRow(args: {
5
5
  req: PayloadRequest;
@@ -1 +1 @@
1
- {"version":3,"file":"grantSideEffects.d.ts","sourceRoot":"","sources":["../../../src/services/achievement/grantSideEffects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAS,MAAM,SAAS,CAAA;AAWpD,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAStG,wEAAwE;AACxE,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA+BnC;AAED,6EAA6E;AAC7E,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAuC9D;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAsElD;AAED,oFAAoF;AACpF,wBAAsB,0BAA0B,CAAC,IAAI,EAAE;IACrD,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB,GAAG,OAAO,CAAC,MAAM,CAAC,CAiDlB;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BhB;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuChB"}
1
+ {"version":3,"file":"grantSideEffects.d.ts","sourceRoot":"","sources":["../../../src/services/achievement/grantSideEffects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAS,MAAM,SAAS,CAAA;AAWpD,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AASzG,wEAAwE;AACxE,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA+BnC;AAED,6EAA6E;AAC7E,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAuC9D;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAsElD;AAED,oFAAoF;AACpF,wBAAsB,0BAA0B,CAAC,IAAI,EAAE;IACrD,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB,GAAG,OAAO,CAAC,MAAM,CAAC,CAiDlB;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BhB;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuChB"}
@@ -1,12 +1,12 @@
1
- import { collectionOf } from '../../collections/helpers';
2
- import { CTX_CASCADING_REVOKE, CTX_SYSTEM_REQUEST } from './contextFlags';
3
- import { evaluateRules, ruleGroupHasProgressRequirements } from './evaluateRules';
4
- import { transitionLogData } from './logData';
5
- import { recordLog, syncTierChangedLog } from './recordEvent';
6
- import { relationId } from './relationId';
7
- import { syncTierProgression } from './tierProgression';
8
- import { userScopeWhere } from './where';
9
- export { CTX_CASCADING_REVOKE, CTX_SKIP_GRANT_SIDE_EFFECTS, CTX_SYSTEM_REQUEST } from './contextFlags';
1
+ import { collectionOf } from '../../collections/helpers.js';
2
+ import { CTX_CASCADING_REVOKE, CTX_SYSTEM_REQUEST } from './contextFlags.js';
3
+ import { evaluateRules, ruleGroupHasProgressRequirements } from './evaluateRules.js';
4
+ import { transitionLogData } from './logData.js';
5
+ import { recordLog, syncTierChangedLog } from './recordEvent.js';
6
+ import { relationId } from './relationId.js';
7
+ import { syncTierProgression } from './tierProgression.js';
8
+ import { userScopeWhere } from './where.js';
9
+ export { CTX_CASCADING_REVOKE, CTX_SKIP_GRANT_SIDE_EFFECTS, CTX_SYSTEM_REQUEST } from './contextFlags.js';
10
10
  /** Create a grant row only — side effects run in Grants afterChange. */
11
11
  export async function createGrantRow(args) {
12
12
  const scopeId = args.scopeId ?? null;
@@ -1,22 +1,22 @@
1
- export { evaluateRules, evaluateRuleProgress, normalizeRuleGroup, collectAchievementCompleteRefs } from './evaluateRules';
2
- export type { RuleGroup, AchievementCompleteRef } from './evaluateRules';
3
- export { buildCatalogProgressGroups } from './buildCatalogProgressGroups';
4
- export type { CatalogProgressGroup, CatalogProgressItem } from './buildCatalogProgressGroups';
5
- export { getUserProgress } from './getUserProgress';
6
- export { recordEvent, recordLog, recordMetricChange, syncTierChangedLog } from './recordEvent';
7
- export { resolveCurrentTier } from './resolveCurrentTier';
8
- export type { ResolvedTier } from './resolveCurrentTier';
9
- export { resolveTierProgress } from './resolveTierProgress';
10
- export type { TierLadderProgress } from './resolveTierProgress';
11
- export { grantAchievement, submitAchievementRequest } from './submitAchievementRequest';
12
- export { reviewAchievementRequest } from './reviewAchievementRequest';
13
- export { validateRuleGroup, validateRuleNode } from './validateRules';
14
- export { syncCompositeProgression } from './grantSideEffects';
15
- export { syncTierProgression } from './tierProgression';
16
- export { reconcileProgression, reconcileUserProgression } from './reconcile';
17
- export type { ReconcileProgressionArgs, ReconcileProgressionResult } from './reconcile';
18
- export { didDisableRequiresReview, releasePendingAchievementReviews, releasePendingTierReviews, } from './releaseReviewGate';
19
- export type { ReleaseReviewGateResult } from './releaseReviewGate';
20
- export { catalogRef, transitionLogData, transitionToId, } from './logData';
21
- export type { CatalogRef, TransitionLogData } from './logData';
1
+ export { evaluateRules, evaluateRuleProgress, normalizeRuleGroup, collectAchievementCompleteRefs } from './evaluateRules.js';
2
+ export type { RuleGroup, AchievementCompleteRef } from './evaluateRules.js';
3
+ export { buildCatalogProgressGroups } from './buildCatalogProgressGroups.js';
4
+ export type { CatalogProgressGroup, CatalogProgressItem } from './buildCatalogProgressGroups.js';
5
+ export { getUserProgress } from './getUserProgress.js';
6
+ export { recordEvent, recordLog, recordMetricChange, syncTierChangedLog } from './recordEvent.js';
7
+ export { resolveCurrentTier } from './resolveCurrentTier.js';
8
+ export type { ResolvedTier } from './resolveCurrentTier.js';
9
+ export { resolveTierProgress } from './resolveTierProgress.js';
10
+ export type { TierLadderProgress } from './resolveTierProgress.js';
11
+ export { grantAchievement, submitAchievementRequest } from './submitAchievementRequest.js';
12
+ export { reviewAchievementRequest } from './reviewAchievementRequest.js';
13
+ export { validateRuleGroup, validateRuleNode } from './validateRules.js';
14
+ export { syncCompositeProgression } from './grantSideEffects.js';
15
+ export { syncTierProgression } from './tierProgression.js';
16
+ export { reconcileProgression, reconcileUserProgression } from './reconcile.js';
17
+ export type { ReconcileProgressionArgs, ReconcileProgressionResult } from './reconcile.js';
18
+ export { didDisableRequiresReview, releasePendingAchievementReviews, releasePendingTierReviews, } from './releaseReviewGate.js';
19
+ export type { ReleaseReviewGateResult } from './releaseReviewGate.js';
20
+ export { catalogRef, transitionLogData, transitionToId, } from './logData.js';
21
+ export type { CatalogRef, TransitionLogData } from './logData.js';
22
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/achievement/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAA;AACzH,YAAY,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAC5E,YAAY,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AACvF,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EAChC,yBAAyB,GAC1B,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,cAAc,GACf,MAAM,WAAW,CAAA;AAClB,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/achievement/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAA;AAC5H,YAAY,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC5E,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AAChG,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,YAAY,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAC1F,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AAC/E,YAAY,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AAC1F,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EAChC,yBAAyB,GAC1B,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,cAAc,GACf,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA"}
@@ -1,14 +1,14 @@
1
- export { evaluateRules, evaluateRuleProgress, normalizeRuleGroup, collectAchievementCompleteRefs } from './evaluateRules';
2
- export { buildCatalogProgressGroups } from './buildCatalogProgressGroups';
3
- export { getUserProgress } from './getUserProgress';
4
- export { recordEvent, recordLog, recordMetricChange, syncTierChangedLog } from './recordEvent';
5
- export { resolveCurrentTier } from './resolveCurrentTier';
6
- export { resolveTierProgress } from './resolveTierProgress';
7
- export { grantAchievement, submitAchievementRequest } from './submitAchievementRequest';
8
- export { reviewAchievementRequest } from './reviewAchievementRequest';
9
- export { validateRuleGroup, validateRuleNode } from './validateRules';
10
- export { syncCompositeProgression } from './grantSideEffects';
11
- export { syncTierProgression } from './tierProgression';
12
- export { reconcileProgression, reconcileUserProgression } from './reconcile';
13
- export { didDisableRequiresReview, releasePendingAchievementReviews, releasePendingTierReviews, } from './releaseReviewGate';
14
- export { catalogRef, transitionLogData, transitionToId, } from './logData';
1
+ export { evaluateRules, evaluateRuleProgress, normalizeRuleGroup, collectAchievementCompleteRefs } from './evaluateRules.js';
2
+ export { buildCatalogProgressGroups } from './buildCatalogProgressGroups.js';
3
+ export { getUserProgress } from './getUserProgress.js';
4
+ export { recordEvent, recordLog, recordMetricChange, syncTierChangedLog } from './recordEvent.js';
5
+ export { resolveCurrentTier } from './resolveCurrentTier.js';
6
+ export { resolveTierProgress } from './resolveTierProgress.js';
7
+ export { grantAchievement, submitAchievementRequest } from './submitAchievementRequest.js';
8
+ export { reviewAchievementRequest } from './reviewAchievementRequest.js';
9
+ export { validateRuleGroup, validateRuleNode } from './validateRules.js';
10
+ export { syncCompositeProgression } from './grantSideEffects.js';
11
+ export { syncTierProgression } from './tierProgression.js';
12
+ export { reconcileProgression, reconcileUserProgression } from './reconcile.js';
13
+ export { didDisableRequiresReview, releasePendingAchievementReviews, releasePendingTierReviews, } from './releaseReviewGate.js';
14
+ export { catalogRef, transitionLogData, transitionToId, } from './logData.js';