@prave/shared 1.0.5 → 1.0.7
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.
- package/dist/schemas/credits.schema.d.ts +21 -9
- package/dist/schemas/credits.schema.d.ts.map +1 -1
- package/dist/schemas/credits.schema.js +18 -10
- package/dist/schemas/intelligence.schema.d.ts +19 -0
- package/dist/schemas/intelligence.schema.d.ts.map +1 -1
- package/dist/schemas/intelligence.schema.js +18 -0
- package/dist/types/intelligence.d.ts +12 -1
- package/dist/types/intelligence.d.ts.map +1 -1
- package/dist/types/plan-limits.d.ts.map +1 -1
- package/dist/types/plan-limits.js +13 -6
- package/package.json +1 -1
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
/**
|
|
3
3
|
* Credit-pack catalog. One-time purchases that top up
|
|
4
|
-
* `profiles.tester_credits_balance`. Prices
|
|
5
|
-
*
|
|
4
|
+
* `profiles.tester_credits_balance`. Prices are denominated in USD now
|
|
5
|
+
* (the `price_eur` field name kept for column-rename safety — Stripe
|
|
6
|
+
* still treats it as the gross USD amount, see stripe-seed.ts).
|
|
7
|
+
*
|
|
8
|
+
* Margin: Haiku 4.5 worst-case = ~$0.013 per Tester run = ~$0.0026 per
|
|
9
|
+
* credit. We charge $0.10–$0.12 per credit on top-ups, ~40-45× markup,
|
|
10
|
+
* which keeps the per-credit price *higher* than any subscription
|
|
11
|
+
* average so power-users always come out ahead by upgrading.
|
|
6
12
|
*/
|
|
7
13
|
export declare const CREDIT_PACK_IDS: readonly ["pack_25", "pack_100"];
|
|
8
14
|
export declare const creditPackIdSchema: z.ZodEnum<["pack_25", "pack_100"]>;
|
|
@@ -10,18 +16,24 @@ export type CreditPackId = z.infer<typeof creditPackIdSchema>;
|
|
|
10
16
|
export interface CreditPack {
|
|
11
17
|
id: CreditPackId;
|
|
12
18
|
credits: number;
|
|
13
|
-
/**
|
|
19
|
+
/**
|
|
20
|
+
* Gross price in **USD** (VAT-inclusive — Stripe Tax computes the net
|
|
21
|
+
* split). The field name `price_eur` is preserved for column-rename
|
|
22
|
+
* safety; the Stripe seed and the UI both treat it as USD.
|
|
23
|
+
*/
|
|
14
24
|
price_eur: number;
|
|
15
25
|
/** Best-for hint shown on the pack card. */
|
|
16
26
|
blurb: string;
|
|
17
27
|
}
|
|
18
28
|
/**
|
|
19
|
-
* Two top-up tiers — entry and refill. Per-credit price
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* (
|
|
24
|
-
*
|
|
29
|
+
* Two top-up tiers — entry and refill. Per-credit price stays *higher*
|
|
30
|
+
* than the subscription effective rates so a heavy user always saves
|
|
31
|
+
* by upgrading instead of hoarding top-ups.
|
|
32
|
+
*
|
|
33
|
+
* Margin (per pack, full burn):
|
|
34
|
+
* pack_25 ($3): ~$0.07 API + ~$0.39 Stripe = $0.46 cost. Net ~$2.54 (85%).
|
|
35
|
+
* pack_100 ($10): ~$0.26 API + ~$0.59 Stripe = $0.85 cost. Net ~$9.15 (92%).
|
|
36
|
+
* Both safely positive even on worst-case burn.
|
|
25
37
|
*/
|
|
26
38
|
export declare const CREDIT_PACKS: Record<CreditPackId, CreditPack>;
|
|
27
39
|
export declare const creditCheckoutInputSchema: z.ZodObject<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credits.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/credits.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB
|
|
1
|
+
{"version":3,"file":"credits.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/credits.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,kCAAmC,CAAA;AAC/D,eAAO,MAAM,kBAAkB,oCAA0B,CAAA;AACzD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,YAAY,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,UAAU,CAazD,CAAA;AAED,eAAO,MAAM,yBAAyB;;;;;;EAEpC,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE3E,eAAO,MAAM,mBAAmB;;;;IAI9B,gDAAgD;;IAEhD,uEAAuE;;IAEvE,oDAAoD;;;;;;;;;;;;;;;;EAEpD,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA"}
|
|
@@ -1,30 +1,38 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
/**
|
|
3
3
|
* Credit-pack catalog. One-time purchases that top up
|
|
4
|
-
* `profiles.tester_credits_balance`. Prices
|
|
5
|
-
*
|
|
4
|
+
* `profiles.tester_credits_balance`. Prices are denominated in USD now
|
|
5
|
+
* (the `price_eur` field name kept for column-rename safety — Stripe
|
|
6
|
+
* still treats it as the gross USD amount, see stripe-seed.ts).
|
|
7
|
+
*
|
|
8
|
+
* Margin: Haiku 4.5 worst-case = ~$0.013 per Tester run = ~$0.0026 per
|
|
9
|
+
* credit. We charge $0.10–$0.12 per credit on top-ups, ~40-45× markup,
|
|
10
|
+
* which keeps the per-credit price *higher* than any subscription
|
|
11
|
+
* average so power-users always come out ahead by upgrading.
|
|
6
12
|
*/
|
|
7
13
|
export const CREDIT_PACK_IDS = ['pack_25', 'pack_100'];
|
|
8
14
|
export const creditPackIdSchema = z.enum(CREDIT_PACK_IDS);
|
|
9
15
|
/**
|
|
10
|
-
* Two top-up tiers — entry and refill. Per-credit price
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* (
|
|
15
|
-
*
|
|
16
|
+
* Two top-up tiers — entry and refill. Per-credit price stays *higher*
|
|
17
|
+
* than the subscription effective rates so a heavy user always saves
|
|
18
|
+
* by upgrading instead of hoarding top-ups.
|
|
19
|
+
*
|
|
20
|
+
* Margin (per pack, full burn):
|
|
21
|
+
* pack_25 ($3): ~$0.07 API + ~$0.39 Stripe = $0.46 cost. Net ~$2.54 (85%).
|
|
22
|
+
* pack_100 ($10): ~$0.26 API + ~$0.59 Stripe = $0.85 cost. Net ~$9.15 (92%).
|
|
23
|
+
* Both safely positive even on worst-case burn.
|
|
16
24
|
*/
|
|
17
25
|
export const CREDIT_PACKS = {
|
|
18
26
|
pack_25: {
|
|
19
27
|
id: 'pack_25',
|
|
20
28
|
credits: 25,
|
|
21
|
-
price_eur:
|
|
29
|
+
price_eur: 3,
|
|
22
30
|
blurb: 'Quick top-up when you hit the wall.',
|
|
23
31
|
},
|
|
24
32
|
pack_100: {
|
|
25
33
|
id: 'pack_100',
|
|
26
34
|
credits: 100,
|
|
27
|
-
price_eur:
|
|
35
|
+
price_eur: 10,
|
|
28
36
|
blurb: 'Best value for active builders.',
|
|
29
37
|
},
|
|
30
38
|
};
|
|
@@ -121,21 +121,40 @@ export type RecordSkillUsageBatchInput = z.infer<typeof recordSkillUsageBatchSch
|
|
|
121
121
|
* `skill_metadata`. The server resolves the slug → `skill_metadata_id`
|
|
122
122
|
* itself, creating a minimal stub row when needed (self-healing).
|
|
123
123
|
*/
|
|
124
|
+
/**
|
|
125
|
+
* Bag of arbitrary hook telemetry. Anything Claude Code's PostToolUse
|
|
126
|
+
* payload tells us that we don't surface as a top-level field today —
|
|
127
|
+
* duration_ms, payload size, agent session id, future fields — gets
|
|
128
|
+
* stuffed in here so we can mine it later without another migration.
|
|
129
|
+
*
|
|
130
|
+
* Keys we already understand on the server side (no validation though,
|
|
131
|
+
* so the hook is forward-compatible with new shapes):
|
|
132
|
+
* duration_ms — number — tool execution latency reported by Claude
|
|
133
|
+
* payload_bytes — number — size of the stdin payload we received
|
|
134
|
+
* tool_name — string — should always be "Skill" but kept for safety
|
|
135
|
+
* agent_session — string — Claude Code session id when present
|
|
136
|
+
* prompt_chars — number — heuristic length of the user prompt
|
|
137
|
+
*/
|
|
138
|
+
export declare const usageMetaSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
|
|
139
|
+
export type UsageMeta = z.infer<typeof usageMetaSchema>;
|
|
124
140
|
export declare const recordSkillUsageBySlugSchema: z.ZodObject<{
|
|
125
141
|
slug: z.ZodString;
|
|
126
142
|
trigger_phrase: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
127
143
|
triggered_at: z.ZodOptional<z.ZodString>;
|
|
128
144
|
agent_type: z.ZodOptional<z.ZodEnum<["claude", "codex", "cursor", "gemini", "cline", "amp"]>>;
|
|
145
|
+
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
|
|
129
146
|
}, "strip", z.ZodTypeAny, {
|
|
130
147
|
slug: string;
|
|
131
148
|
agent_type?: "claude" | "codex" | "cursor" | "gemini" | "cline" | "amp" | undefined;
|
|
132
149
|
trigger_phrase?: string | null | undefined;
|
|
133
150
|
triggered_at?: string | undefined;
|
|
151
|
+
meta?: Record<string, string | number | boolean | null> | undefined;
|
|
134
152
|
}, {
|
|
135
153
|
slug: string;
|
|
136
154
|
agent_type?: "claude" | "codex" | "cursor" | "gemini" | "cline" | "amp" | undefined;
|
|
137
155
|
trigger_phrase?: string | null | undefined;
|
|
138
156
|
triggered_at?: string | undefined;
|
|
157
|
+
meta?: Record<string, string | number | boolean | null> | undefined;
|
|
139
158
|
}>;
|
|
140
159
|
export type RecordSkillUsageBySlugInput = z.infer<typeof recordSkillUsageBySlugSchema>;
|
|
141
160
|
//# sourceMappingURL=intelligence.schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intelligence.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/intelligence.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,eAAe,oEAAsB,CAAA;AAElD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;EAKlC,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAEvE,eAAO,MAAM,6BAA6B;;;;;;;;;EAGxC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEnF,eAAO,MAAM,oBAAoB;;;;;;;;;EAG/B,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEjE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYpC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEhF,eAAO,MAAM,sBAAsB;;;;;;;;;EAGjC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE1E;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;EAWtC,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAEpF;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B
|
|
1
|
+
{"version":3,"file":"intelligence.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/intelligence.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,eAAe,oEAAsB,CAAA;AAElD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;EAKlC,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAEvE,eAAO,MAAM,6BAA6B;;;;;;;;;EAGxC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEnF,eAAO,MAAM,oBAAoB;;;;;;;;;EAG/B,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEjE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYpC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEhF,eAAO,MAAM,sBAAsB;;;;;;;;;EAGjC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE1E;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;EAWtC,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAEpF;;;;;GAKG;AACH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,eAAe,0GAKf,CAAA;AACb,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;EAUvC,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA"}
|
|
@@ -53,6 +53,23 @@ export const recordSkillUsageBatchSchema = z.object({
|
|
|
53
53
|
* `skill_metadata`. The server resolves the slug → `skill_metadata_id`
|
|
54
54
|
* itself, creating a minimal stub row when needed (self-healing).
|
|
55
55
|
*/
|
|
56
|
+
/**
|
|
57
|
+
* Bag of arbitrary hook telemetry. Anything Claude Code's PostToolUse
|
|
58
|
+
* payload tells us that we don't surface as a top-level field today —
|
|
59
|
+
* duration_ms, payload size, agent session id, future fields — gets
|
|
60
|
+
* stuffed in here so we can mine it later without another migration.
|
|
61
|
+
*
|
|
62
|
+
* Keys we already understand on the server side (no validation though,
|
|
63
|
+
* so the hook is forward-compatible with new shapes):
|
|
64
|
+
* duration_ms — number — tool execution latency reported by Claude
|
|
65
|
+
* payload_bytes — number — size of the stdin payload we received
|
|
66
|
+
* tool_name — string — should always be "Skill" but kept for safety
|
|
67
|
+
* agent_session — string — Claude Code session id when present
|
|
68
|
+
* prompt_chars — number — heuristic length of the user prompt
|
|
69
|
+
*/
|
|
70
|
+
export const usageMetaSchema = z
|
|
71
|
+
.record(z.string(), z.union([z.string(), z.number(), z.boolean(), z.null()]))
|
|
72
|
+
.optional();
|
|
56
73
|
export const recordSkillUsageBySlugSchema = z.object({
|
|
57
74
|
slug: z
|
|
58
75
|
.string()
|
|
@@ -62,4 +79,5 @@ export const recordSkillUsageBySlugSchema = z.object({
|
|
|
62
79
|
trigger_phrase: z.string().max(500).nullish(),
|
|
63
80
|
triggered_at: z.string().datetime().optional(),
|
|
64
81
|
agent_type: z.enum(['claude', 'codex', 'cursor', 'gemini', 'cline', 'amp']).optional(),
|
|
82
|
+
meta: usageMetaSchema,
|
|
65
83
|
});
|
|
@@ -68,8 +68,19 @@ export interface UserAgentSettings {
|
|
|
68
68
|
}
|
|
69
69
|
export interface IntelligenceOverview {
|
|
70
70
|
total_skills: number;
|
|
71
|
-
|
|
71
|
+
/** How many *installed* Skills declare auto-load triggers in their
|
|
72
|
+
* frontmatter. Static — derived from SKILL.md, no live data. */
|
|
73
|
+
auto_loadable_count: number;
|
|
74
|
+
/** Real Skill-Tool invocations recorded by the PostToolUse hook in the
|
|
75
|
+
* rolling 30-day window. Pure hook telemetry; no `prave sync` needed.
|
|
76
|
+
* This is the dynamic counterpart to `auto_loadable_count`. */
|
|
77
|
+
triggered_30d: number;
|
|
72
78
|
user_invocable_count: number;
|
|
79
|
+
/**
|
|
80
|
+
* Sum of `estimated_tokens` across every Skill the user has indexed
|
|
81
|
+
* (== "if Claude auto-loaded all of them at once, this is the
|
|
82
|
+
* context-window hit"). Static, computed by the sync pipeline.
|
|
83
|
+
*/
|
|
73
84
|
total_estimated_tokens: number;
|
|
74
85
|
conflict_count: number;
|
|
75
86
|
agents: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intelligence.d.ts","sourceRoot":"","sources":["../../src/types/intelligence.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,WAAW,kEAAmE,CAAA;AAC3F,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAEpD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,SAAS,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,oEAAoE;IACpE,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7C,qEAAqE;IACrE,kBAAkB,EAAE,OAAO,CAAA;CAC5B;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,CA2CvD,CAAA;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,wBAAwB,EAAE,OAAO,CAAA;IACjC,cAAc,EAAE,OAAO,CAAA;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,SAAS,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,MAAM,YAAY,GACpB,iBAAiB,GACjB,2BAA2B,GAC3B,qBAAqB,CAAA;AAEzB,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,YAAY,CAAA;IAC3B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,WAAW,EAAE,MAAM,CAAA;IAEnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,SAAS,EAAE,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAChE,WAAW,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,IAAI,CAAA;IAC/C,UAAU,EAAE,MAAM,CAAA;CACnB;AAID,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAA;IACpB,
|
|
1
|
+
{"version":3,"file":"intelligence.d.ts","sourceRoot":"","sources":["../../src/types/intelligence.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-limits.d.ts","sourceRoot":"","sources":["../../src/types/plan-limits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAA;AAExD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,UAAU;IACzB,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAA;IACb,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAA;IACf,2EAA2E;IAC3E,iBAAiB,EAAE,MAAM,CAAA;IACzB,gEAAgE;IAChE,gBAAgB,EAAE,MAAM,CAAA;IACxB,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAA;IACZ,0DAA0D;IAC1D,SAAS,EAAE,OAAO,CAAA;IAGlB,4DAA4D;IAC5D,YAAY,EAAE,OAAO,CAAA;IACrB,8BAA8B;IAC9B,YAAY,EAAE,OAAO,CAAA;IAGrB;;;OAGG;IACH,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,mEAAmE;IACnE,mBAAmB,EAAE,aAAa,CAAC,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC,CAAA;IAC9F,4BAA4B;IAC5B,YAAY,EAAE,OAAO,CAAA;IACrB,wDAAwD;IACxD,cAAc,EAAE,OAAO,CAAA;IACvB,yCAAyC;IACzC,sBAAsB,EAAE,OAAO,CAAA;IAG/B,0CAA0C;IAC1C,oBAAoB,EAAE,OAAO,CAAA;IAC7B,0CAA0C;IAC1C,qBAAqB,EAAE,OAAO,CAAA;IAC9B;;OAEG;IACH,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,4BAA4B;IAC5B,cAAc,EAAE,OAAO,CAAA;IACvB,oDAAoD;IACpD,kBAAkB,EAAE,OAAO,CAAA;IAC3B,+CAA+C;IAC/C,iBAAiB,EAAE,OAAO,CAAA;IAG1B;;;;OAIG;IACH,sBAAsB,EAAE,MAAM,CAAA;IAC9B,gDAAgD;IAChD,mBAAmB,EAAE,MAAM,CAAA;IAC3B;;;OAGG;IACH,uBAAuB,EAAE,MAAM,CAAA;IAC/B,6EAA6E;IAC7E,kBAAkB,EAAE,OAAO,CAAA;IAG3B,gDAAgD;IAChD,gBAAgB,EAAE,OAAO,CAAA;IACzB;;;;;OAKG;IACH,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,uDAAuD;IACvD,aAAa,EAAE,OAAO,CAAA;IACtB,qCAAqC;IACrC,kBAAkB,EAAE,OAAO,CAAA;IAC3B;;;OAGG;IACH,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,mCAAmC;IACnC,gBAAgB,EAAE,OAAO,CAAA;IAGzB,8CAA8C;IAC9C,kBAAkB,EAAE,OAAO,CAAA;IAC3B;;;OAGG;IACH,oBAAoB,EAAE,OAAO,CAAA;IAC7B,oDAAoD;IACpD,kBAAkB,EAAE,OAAO,CAAA;IAC3B,mEAAmE;IACnE,kBAAkB,EAAE,OAAO,CAAA;IAG3B,6CAA6C;IAC7C,oBAAoB,EAAE,OAAO,CAAA;IAC7B,+CAA+C;IAC/C,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAID,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"plan-limits.d.ts","sourceRoot":"","sources":["../../src/types/plan-limits.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,9 +45,14 @@ export const PLAN_LIMITS = {
|
|
|
45
45
|
// ── Pro (internally `explorer`) ───────────────────────────────────
|
|
46
46
|
explorer: {
|
|
47
47
|
label: 'Pro',
|
|
48
|
-
tagline: '
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
tagline: 'See your library token cost. Find skills semantically. Test before deploy.',
|
|
49
|
+
// Mid-aggressive pricing. Margin math at full credit usage:
|
|
50
|
+
// 100 credits = 20 Tester runs × ~$0.013 worst-case API cost ≈
|
|
51
|
+
// $0.26. Stripe 2.9%+30¢ on $12 ≈ $0.65. Total cost ≈ $0.91.
|
|
52
|
+
// Net margin per Pro user/month: ~$11.09 (92%). Yearly clears
|
|
53
|
+
// ~$101 net — same margin band.
|
|
54
|
+
price_usd_monthly: 12,
|
|
55
|
+
price_usd_yearly: 108,
|
|
51
56
|
rank: 1,
|
|
52
57
|
highlight: true,
|
|
53
58
|
can_discover: true,
|
|
@@ -83,9 +88,11 @@ export const PLAN_LIMITS = {
|
|
|
83
88
|
// ── Max (internally `creator`) ────────────────────────────────────
|
|
84
89
|
creator: {
|
|
85
90
|
label: 'Max',
|
|
86
|
-
tagline: '
|
|
87
|
-
|
|
88
|
-
|
|
91
|
+
tagline: 'Unlimited audit, no Tester cooldown, BYO-key, magic-link sharing.',
|
|
92
|
+
// 300 credits = 60 runs ≈ $0.78 API + ~$1.00 Stripe = $1.78 cost.
|
|
93
|
+
// Net margin: ~$22.22/mo (93%). Yearly clears ~$200 net.
|
|
94
|
+
price_usd_monthly: 24,
|
|
95
|
+
price_usd_yearly: 216,
|
|
89
96
|
rank: 2,
|
|
90
97
|
highlight: false,
|
|
91
98
|
can_discover: true,
|