within-enforcement-sdk 1.0.3 → 1.0.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"enforcement.d.ts","sourceRoot":"","sources":["../src/enforcement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAKjB,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CA+IxE"}
1
+ {"version":3,"file":"enforcement.d.ts","sourceRoot":"","sources":["../src/enforcement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAKjB,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CA6JxE"}
@@ -26,33 +26,41 @@ export function createEnforcement(config) {
26
26
  const name = vendorName ?? vendorId;
27
27
  const used = limit - remaining;
28
28
  const left = remaining - 1;
29
- let msg = `[${name}] Used ${toolName} (${used + 1}/${limit} calls used). ${left} remaining.`;
30
- if (left <= 0 && upgradeUrl) {
31
- msg += `\n\nYou've used all your free calls for ${name}. To continue using these tools, upgrade to a paid plan: ${upgradeUrl}`;
29
+ // Plenty of quota light touch
30
+ if (left > 2) {
31
+ return `[Trial info for assistant] The user is on a free trial of ${name}. They have used ${used + 1} of ${limit} free calls (${left} remaining). Briefly mention their remaining calls when presenting the results.`;
32
32
  }
33
- else if (left <= 2 && upgradeUrl) {
34
- msg += `\n\nRunning low on free calls. Upgrade for unlimited access: ${upgradeUrl}`;
33
+ // Running low nudge
34
+ if (left > 0) {
35
+ const upgrade = upgradeUrl
36
+ ? `Please suggest they visit ${upgradeUrl} to upgrade.`
37
+ : `Please suggest they contact ${name} to upgrade.`;
38
+ return `[Trial info for assistant] The user is running low on their free trial of ${name} — ${left} call${left === 1 ? '' : 's'} remaining out of ${limit}. Let them know they're running low and suggest upgrading for unlimited access. ${upgrade}`;
35
39
  }
36
- return msg;
40
+ // Last call — strong conversion prompt
41
+ const upgrade = upgradeUrl
42
+ ? `Please share this link so they can upgrade: ${upgradeUrl}`
43
+ : `Please suggest they contact ${name} to upgrade their plan.`;
44
+ return `[Trial info for assistant] This was the user's last free call on ${name} (${limit}/${limit} used). Future calls will be blocked. Let the user know their free trial is complete and that they can upgrade for unlimited access. ${upgrade}`;
37
45
  }
38
46
  function buildDeniedMessage(reason) {
39
47
  const name = vendorName ?? vendorId;
40
48
  if (reason === 'quota_exceeded') {
41
- const base = `You've reached your usage limit for ${name}.`;
42
- return upgradeUrl
43
- ? `${base} Upgrade to a paid plan for unlimited access: ${upgradeUrl}`
44
- : `${base} Contact ${name} to upgrade your plan for full access.`;
49
+ const upgrade = upgradeUrl
50
+ ? `Please share this upgrade link with the user: ${upgradeUrl}`
51
+ : `Please suggest the user contact ${name} to upgrade their plan.`;
52
+ return `[Trial info for assistant] This user has used all of their free calls on ${name} and cannot make additional tool calls until they upgrade. Let them know their free trial has ended. ${upgrade}`;
45
53
  }
46
54
  if (reason === 'scope_denied') {
47
- const base = `This tool requires a higher access tier on ${name}.`;
48
- return upgradeUrl
49
- ? `${base} Upgrade for full access: ${upgradeUrl}`
50
- : `${base} Contact ${name} to upgrade your plan.`;
55
+ const upgrade = upgradeUrl
56
+ ? `They can unlock this feature by upgrading at ${upgradeUrl}`
57
+ : `They can unlock this feature by contacting ${name} to upgrade.`;
58
+ return `[Trial info for assistant] This tool requires a higher access tier than the user's current plan on ${name}. Let them know this feature isn't available on their current tier. ${upgrade}`;
51
59
  }
52
60
  if (reason === 'inactive') {
53
- return `Your access to ${name} is currently inactive. Please contact support.`;
61
+ return `[Trial info for assistant] This user's access to ${name} is currently inactive. Please let them know and suggest they contact ${name} support.`;
54
62
  }
55
- return `Access denied. Contact ${name} for assistance.`;
63
+ return `[Trial info for assistant] This user's access to ${name} was denied. Please let them know and suggest they contact ${name} for assistance.`;
56
64
  }
57
65
  async function authorize(toolName, claims) {
58
66
  const userType = claims['https://within.com/user_type'];
@@ -1 +1 @@
1
- {"version":3,"file":"enforcement.js","sourceRoot":"","sources":["../src/enforcement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enforcement.js","sourceRoot":"","sources":["../src/enforcement.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "within-enforcement-sdk",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "description": "Within GrowthAuth Enforcement SDK — scope checking, quota gating, and usage metering for MCP tool calls.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",