@prave/shared 1.2.2 → 1.4.0

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.
@@ -457,4 +457,55 @@ export declare const mySkillsQuerySchema: z.ZodObject<{
457
457
  offset?: number | undefined;
458
458
  }>;
459
459
  export type MySkillsQuery = z.infer<typeof mySkillsQuerySchema>;
460
+ /**
461
+ * Auto-Skill — user can shape the generation via three optional
462
+ * wizard fields. None are required (the URL alone gives a working
463
+ * skill), but every one of them dramatically tightens the output to
464
+ * the user's actual codebase + workflow.
465
+ */
466
+ export declare const autoSkillFromRepoRequestSchema: z.ZodObject<{
467
+ repo_url: z.ZodEffects<z.ZodString, string, string>;
468
+ /**
469
+ * Optional category tag. UI auto-detects a default from the repo's
470
+ * primary language; user can override at wizard-step 1.
471
+ */
472
+ category: z.ZodOptional<z.ZodString>;
473
+ /**
474
+ * Wizard step 2 — free-form "what should this skill help with?".
475
+ * Examples: "writing tests with vitest + RTL", "auth flow only",
476
+ * "infrastructure / deploy scripts". Feeds the Claude prompt as
477
+ * an explicit `focus:` clause so the body of the generated
478
+ * SKILL.md is scoped tight rather than trying to cover the whole
479
+ * codebase.
480
+ */
481
+ focus: z.ZodOptional<z.ZodString>;
482
+ /**
483
+ * Wizard step 3 — when should Claude auto-load this skill? User
484
+ * can list file patterns (glob-style) or intent phrases ("when
485
+ * debugging auth", "in CI failure reviews"). If empty, Claude
486
+ * infers triggers from the repo file tree.
487
+ */
488
+ triggers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
489
+ /**
490
+ * Wizard step 4 — power-user prompt augmentation. Free-form text
491
+ * appended to the Claude system prompt for the generation. Use
492
+ * for project-specific quirks ("never recommend pnpm", "follow
493
+ * the repo's existing import ordering conventions"). Hidden
494
+ * behind an "Advanced" disclosure in the wizard.
495
+ */
496
+ custom_instructions: z.ZodOptional<z.ZodString>;
497
+ }, "strip", z.ZodTypeAny, {
498
+ repo_url: string;
499
+ category?: string | undefined;
500
+ focus?: string | undefined;
501
+ triggers?: string[] | undefined;
502
+ custom_instructions?: string | undefined;
503
+ }, {
504
+ repo_url: string;
505
+ category?: string | undefined;
506
+ focus?: string | undefined;
507
+ triggers?: string[] | undefined;
508
+ custom_instructions?: string | undefined;
509
+ }>;
510
+ export type AutoSkillFromRepoRequest = z.infer<typeof autoSkillFromRepoRequestSchema>;
460
511
  //# sourceMappingURL=skill.schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/skill.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,qBAAqB,kCAAgC,CAAA;AAClE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS1B,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD,iFAAiF;AACjF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;EAO5B,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;IAsBtB;;;;;OAKG;;;;IAIH,kEAAkE;;;;;;;;;;;;;;;;;;;;;;;IAElE,6DAA6D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAE7D,6EAA6E;;IAE7E,mEAAmE;;IAEnE,+EAA+E;;IAE/E,gGAAgG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAchG,CAAA;AACF,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA;AAE/C,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;IA4B/B,2EAA2E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW3E,CAAA;AACJ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEjC,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE,eAAO,MAAM,eAAe,2DAAyD,CAAA;AACrF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;EAOjC,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;EAE9B,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA"}
1
+ {"version":3,"file":"skill.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/skill.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,qBAAqB,kCAAgC,CAAA;AAClE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS1B,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD,iFAAiF;AACjF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;EAO5B,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;IAsBtB;;;;;OAKG;;;;IAIH,kEAAkE;;;;;;;;;;;;;;;;;;;;;;;IAElE,6DAA6D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAE7D,6EAA6E;;IAE7E,mEAAmE;;IAEnE,+EAA+E;;IAE/E,gGAAgG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAchG,CAAA;AACF,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA;AAE/C,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;IA4B/B,2EAA2E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW3E,CAAA;AACJ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEjC,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE,eAAO,MAAM,eAAe,2DAAyD,CAAA;AACrF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;EAOjC,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;EAE9B,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAI/D;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B;;IAQzC;;;OAGG;;IAEH;;;;;;;OAOG;;IAEH;;;;;OAKG;;IAEH;;;;;;OAMG;;;;;;;;;;;;;;EAEH,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAA"}
@@ -131,3 +131,45 @@ export const skillSearchQuerySchema = z.object({
131
131
  export const mySkillsQuerySchema = skillSearchQuerySchema.extend({
132
132
  visibility: z.enum(['public', 'private']).optional(),
133
133
  });
134
+ /* ─── Auto-Skill from Repo ──────────────────────────────────────── */
135
+ /**
136
+ * Auto-Skill — user can shape the generation via three optional
137
+ * wizard fields. None are required (the URL alone gives a working
138
+ * skill), but every one of them dramatically tightens the output to
139
+ * the user's actual codebase + workflow.
140
+ */
141
+ export const autoSkillFromRepoRequestSchema = z.object({
142
+ repo_url: z
143
+ .string()
144
+ .url()
145
+ .refine((s) => /^https?:\/\/(www\.)?github\.com\//i.test(s), 'Only GitHub repository URLs are supported'),
146
+ /**
147
+ * Optional category tag. UI auto-detects a default from the repo's
148
+ * primary language; user can override at wizard-step 1.
149
+ */
150
+ category: z.string().min(1).max(64).optional(),
151
+ /**
152
+ * Wizard step 2 — free-form "what should this skill help with?".
153
+ * Examples: "writing tests with vitest + RTL", "auth flow only",
154
+ * "infrastructure / deploy scripts". Feeds the Claude prompt as
155
+ * an explicit `focus:` clause so the body of the generated
156
+ * SKILL.md is scoped tight rather than trying to cover the whole
157
+ * codebase.
158
+ */
159
+ focus: z.string().min(1).max(400).optional(),
160
+ /**
161
+ * Wizard step 3 — when should Claude auto-load this skill? User
162
+ * can list file patterns (glob-style) or intent phrases ("when
163
+ * debugging auth", "in CI failure reviews"). If empty, Claude
164
+ * infers triggers from the repo file tree.
165
+ */
166
+ triggers: z.array(z.string().min(1).max(120)).max(10).optional(),
167
+ /**
168
+ * Wizard step 4 — power-user prompt augmentation. Free-form text
169
+ * appended to the Claude system prompt for the generation. Use
170
+ * for project-specific quirks ("never recommend pnpm", "follow
171
+ * the repo's existing import ordering conventions"). Hidden
172
+ * behind an "Advanced" disclosure in the wizard.
173
+ */
174
+ custom_instructions: z.string().min(1).max(800).optional(),
175
+ });
@@ -92,6 +92,13 @@ export interface PlanLimits {
92
92
  * but don't appear in conflict/optimizer outputs.
93
93
  */
94
94
  intelligence_indexed_max: number | null;
95
+ /**
96
+ * Monthly cap on Auto-Skill-from-Repo generations (server-side
97
+ * Anthropic-API-backed). `null` = unlimited. Free: 3, Pro: 30,
98
+ * Max: unlimited. Counter resets on month rollover via the
99
+ * `tick_auto_skill_quota` RPC.
100
+ */
101
+ auto_skill_monthly_limit: number | null;
95
102
  /** "Apply all suggestions" batch run on the editor. */
96
103
  can_apply_all: boolean;
97
104
  /** Hook + scanner usage tracking. */
@@ -118,6 +125,26 @@ export interface PlanLimits {
118
125
  has_priority_support: boolean;
119
126
  /** Early access to in-development features. */
120
127
  has_early_access: boolean;
128
+ /**
129
+ * Max number of active Runs (deployed schedules) per user. 0 = the
130
+ * feature is locked behind an upgrade — the user can still browse
131
+ * the section but the "Schedule a run" CTA opens an upgrade modal.
132
+ */
133
+ runs_max_active: number;
134
+ /**
135
+ * Smallest schedule interval the user can pick. Strings map to the
136
+ * wizard's preset list:
137
+ * 'none' — Runs feature disabled entirely
138
+ * 'daily' — daily / weekly / monthly only
139
+ * 'hourly' — adds the hourly preset (Max-tier)
140
+ * 'custom' — adds the custom-cron field (Max-tier)
141
+ * The UI uses this to hide presets the plan doesn't allow.
142
+ */
143
+ runs_min_frequency: 'none' | 'daily' | 'hourly' | 'custom';
144
+ /** Hard timeout cap (seconds) per single execution. */
145
+ runs_max_timeout_seconds: number;
146
+ /** Max stdout/stderr captured per execution (bytes). */
147
+ runs_max_log_bytes: number;
121
148
  }
122
149
  export declare const PLAN_LIMITS: Record<Plan, PlanLimits>;
123
150
  export declare const PLAN_RANK: Record<Plan, number>;
@@ -1 +1 @@
1
- {"version":3,"file":"plan-limits.d.ts","sourceRoot":"","sources":["../../src/types/plan-limits.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-limits.d.ts","sourceRoot":"","sources":["../../src/types/plan-limits.ts"],"names":[],"mappings":"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"}
@@ -20,18 +20,26 @@ export const PLAN_LIMITS = {
20
20
  can_cli_sync: false,
21
21
  can_cli_update: false,
22
22
  can_cross_machine_sync: false,
23
+ // Free can author *one* private skill — enough to try the editor,
24
+ // not enough to fill the catalogue. Public publishing + versioning
25
+ // stay locked behind Pro because that's where Skill Intelligence
26
+ // (token audit + conflict detection) starts paying for itself.
23
27
  can_authoring_public: false,
24
- can_authoring_private: false,
25
- authoring_max_skills: 0,
28
+ can_authoring_private: true,
29
+ authoring_max_skills: 1,
26
30
  can_versioning: false,
27
31
  can_ai_description: false,
28
32
  can_pull_requests: false,
29
- tester_credits_monthly: 0,
33
+ // Free gets a single Tester run / month — one taste of the agent
34
+ // sandbox so the upgrade prompt isn't an abstract "you've never
35
+ // seen this" wall. 1 run = 5 credits = ~$0.02 LLM cost to us.
36
+ tester_credits_monthly: 5,
30
37
  tester_cost_per_run: 5,
31
- tester_cooldown_seconds: 0,
38
+ tester_cooldown_seconds: 600,
32
39
  can_byo_tester_key: false,
33
40
  can_intelligence: false,
34
41
  intelligence_indexed_max: 0,
42
+ auto_skill_monthly_limit: 3,
35
43
  can_apply_all: false,
36
44
  can_usage_tracking: false,
37
45
  usage_history_days: 0,
@@ -42,6 +50,10 @@ export const PLAN_LIMITS = {
42
50
  has_priority_badge: false,
43
51
  has_priority_support: false,
44
52
  has_early_access: false,
53
+ runs_max_active: 0,
54
+ runs_min_frequency: 'none',
55
+ runs_max_timeout_seconds: 0,
56
+ runs_max_log_bytes: 0,
45
57
  },
46
58
  // ── Pro (internally `explorer`) ───────────────────────────────────
47
59
  explorer: {
@@ -77,6 +89,7 @@ export const PLAN_LIMITS = {
77
89
  can_byo_tester_key: false,
78
90
  can_intelligence: true,
79
91
  intelligence_indexed_max: 25,
92
+ auto_skill_monthly_limit: 30,
80
93
  can_apply_all: false,
81
94
  can_usage_tracking: true,
82
95
  usage_history_days: 30,
@@ -87,6 +100,10 @@ export const PLAN_LIMITS = {
87
100
  has_priority_badge: false,
88
101
  has_priority_support: false,
89
102
  has_early_access: false,
103
+ runs_max_active: 3,
104
+ runs_min_frequency: 'daily',
105
+ runs_max_timeout_seconds: 60,
106
+ runs_max_log_bytes: 65_536,
90
107
  },
91
108
  // ── Max (internally `creator`) ────────────────────────────────────
92
109
  creator: {
@@ -120,6 +137,7 @@ export const PLAN_LIMITS = {
120
137
  can_byo_tester_key: true,
121
138
  can_intelligence: true,
122
139
  intelligence_indexed_max: null,
140
+ auto_skill_monthly_limit: null,
123
141
  can_apply_all: true,
124
142
  can_usage_tracking: true,
125
143
  usage_history_days: null,
@@ -130,6 +148,10 @@ export const PLAN_LIMITS = {
130
148
  has_priority_badge: true,
131
149
  has_priority_support: true,
132
150
  has_early_access: true,
151
+ runs_max_active: 25,
152
+ runs_min_frequency: 'custom',
153
+ runs_max_timeout_seconds: 300,
154
+ runs_max_log_bytes: 262_144,
133
155
  },
134
156
  };
135
157
  export const PLAN_RANK = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prave/shared",
3
- "version": "1.2.2",
3
+ "version": "1.4.0",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"