@kb-labs/commit-contracts 2.118.2 → 2.119.0-canary.0c078654e

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,"sources":["../src/version.ts","../src/contract.ts"],"names":[],"mappings":"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","file":"contract.js","sourcesContent":["export const contractsSchemaId = \"kb.plugin.contracts/1\" as const;\n\nexport type ContractsSchemaId = typeof contractsSchemaId;\n\nexport const contractsVersion = \"1.0.0\" as const;\n","import type { PluginContracts } from \"./types\";\nimport { contractsSchemaId, contractsVersion } from \"./version\";\n\n/**\n * KB Labs Commit Plugin - Contracts Manifest\n *\n * Level 2: Type-safe contracts with as const for type extraction.\n * Defines artifacts, commands, and their relationships.\n */\nexport const pluginContractsManifest = {\n schema: contractsSchemaId,\n pluginId: \"@kb-labs/commit\",\n contractsVersion,\n artifacts: {\n \"commit.plan.json\": {\n id: \"commit.plan.json\",\n kind: \"json\",\n description:\n \"Current commit plan generated by LLM analysis of git changes.\",\n pathPattern: \".kb/commit/current/plan.json\",\n mediaType: \"application/json\",\n schemaRef: \"@kb-labs/commit-contracts/schema#CommitPlan\",\n example: {\n summary: \"Example commit plan with two commits\",\n payload: {\n schemaVersion: \"1.0\",\n commits: [\n {\n id: \"c1\",\n type: \"feat\",\n scope: \"ui\",\n message: \"add button component\",\n files: [\"src/components/Button.tsx\"],\n releaseHint: \"minor\",\n },\n ],\n },\n },\n },\n \"commit.status.json\": {\n id: \"commit.status.json\",\n kind: \"json\",\n description: \"Git status snapshot at plan generation time.\",\n pathPattern: \".kb/commit/current/status.json\",\n mediaType: \"application/json\",\n schemaRef: \"@kb-labs/commit-contracts/schema#GitStatusSnapshot\",\n },\n \"commit.history\": {\n id: \"commit.history\",\n kind: \"dir\",\n description: \"History of applied commit plans with results.\",\n pathPattern: \".kb/commit/history/\",\n },\n },\n commands: {\n commit: {\n id: \"commit\",\n description: \"Generate and apply commits (default flow).\",\n input: {\n ref: \"@kb-labs/commit-contracts/schema#CommitRunInput\",\n format: \"zod\",\n },\n output: {\n ref: \"@kb-labs/commit-contracts/schema#CommitRunOutput\",\n format: \"zod\",\n },\n produces: [\"commit.plan.json\", \"commit.status.json\"],\n examples: [\"kb commit\", \"kb commit --dry-run\", \"kb commit --with-push\"],\n },\n \"commit:generate\": {\n id: \"commit:generate\",\n description: \"Generate commit plan from git changes using LLM.\",\n input: {\n ref: \"@kb-labs/commit-contracts/schema#GenerateInput\",\n format: \"zod\",\n },\n output: {\n ref: \"@kb-labs/commit-contracts/schema#GenerateOutput\",\n format: \"zod\",\n },\n produces: [\"commit.plan.json\", \"commit.status.json\"],\n examples: [\n \"kb commit generate\",\n \"kb commit generate --json\",\n \"kb commit generate --scope src/**\",\n ],\n },\n \"commit:apply\": {\n id: \"commit:apply\",\n description: \"Apply current commit plan (create local git commits).\",\n input: {\n ref: \"@kb-labs/commit-contracts/schema#ApplyInput\",\n format: \"zod\",\n },\n output: {\n ref: \"@kb-labs/commit-contracts/schema#ApplyOutput\",\n format: \"zod\",\n },\n produces: [],\n examples: [\"kb commit apply\", \"kb commit apply --force\"],\n },\n \"commit:push\": {\n id: \"commit:push\",\n description: \"Push commits to remote repository.\",\n input: {\n ref: \"@kb-labs/commit-contracts/schema#PushInput\",\n format: \"zod\",\n },\n output: {\n ref: \"@kb-labs/commit-contracts/schema#PushOutput\",\n format: \"zod\",\n },\n produces: [],\n examples: [\"kb commit push\", \"kb commit push --force\"],\n },\n \"commit:open\": {\n id: \"commit:open\",\n description: \"Show current commit plan.\",\n input: {\n ref: \"@kb-labs/commit-contracts/schema#OpenInput\",\n format: \"zod\",\n },\n output: {\n ref: \"@kb-labs/commit-contracts/schema#OpenOutput\",\n format: \"zod\",\n },\n produces: [],\n examples: [\"kb commit open\", \"kb commit open --json\"],\n },\n \"commit:reset\": {\n id: \"commit:reset\",\n description: \"Clear current commit plan.\",\n output: {\n ref: \"@kb-labs/commit-contracts/schema#ResetOutput\",\n format: \"zod\",\n },\n produces: [],\n examples: [\"kb commit reset\"],\n },\n },\n} as const satisfies PluginContracts;\n\n// Extract types for use in manifest and commands\nexport type PluginArtifactIds = keyof typeof pluginContractsManifest.artifacts;\nexport type PluginCommandIds = keyof typeof pluginContractsManifest.commands;\n"]}
1
+ {"version":3,"sources":["../../home/runner/work/kb-labs/kb-labs/plugins/commit/contracts/src/version.ts","../../home/runner/work/kb-labs/kb-labs/plugins/commit/contracts/src/contract.ts"],"names":[],"mappings":"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","file":"contract.js","sourcesContent":["export const contractsSchemaId = \"kb.plugin.contracts/1\" as const;\n\nexport type ContractsSchemaId = typeof contractsSchemaId;\n\nexport const contractsVersion = \"1.0.0\" as const;\n","import type { PluginContracts } from \"./types\";\nimport { contractsSchemaId, contractsVersion } from \"./version\";\n\n/**\n * KB Labs Commit Plugin - Contracts Manifest\n *\n * Level 2: Type-safe contracts with as const for type extraction.\n * Defines artifacts, commands, and their relationships.\n */\nexport const pluginContractsManifest = {\n schema: contractsSchemaId,\n pluginId: \"@kb-labs/commit\",\n contractsVersion,\n artifacts: {\n \"commit.plan.json\": {\n id: \"commit.plan.json\",\n kind: \"json\",\n description:\n \"Current commit plan generated by LLM analysis of git changes.\",\n pathPattern: \".kb/commit/current/plan.json\",\n mediaType: \"application/json\",\n schemaRef: \"@kb-labs/commit-contracts/schema#CommitPlan\",\n example: {\n summary: \"Example commit plan with two commits\",\n payload: {\n schemaVersion: \"1.0\",\n commits: [\n {\n id: \"c1\",\n type: \"feat\",\n scope: \"ui\",\n message: \"add button component\",\n files: [\"src/components/Button.tsx\"],\n releaseHint: \"minor\",\n },\n ],\n },\n },\n },\n \"commit.status.json\": {\n id: \"commit.status.json\",\n kind: \"json\",\n description: \"Git status snapshot at plan generation time.\",\n pathPattern: \".kb/commit/current/status.json\",\n mediaType: \"application/json\",\n schemaRef: \"@kb-labs/commit-contracts/schema#GitStatusSnapshot\",\n },\n \"commit.history\": {\n id: \"commit.history\",\n kind: \"dir\",\n description: \"History of applied commit plans with results.\",\n pathPattern: \".kb/commit/history/\",\n },\n },\n commands: {\n commit: {\n id: \"commit\",\n description: \"Generate and apply commits (default flow).\",\n input: {\n ref: \"@kb-labs/commit-contracts/schema#CommitRunInput\",\n format: \"zod\",\n },\n output: {\n ref: \"@kb-labs/commit-contracts/schema#CommitRunOutput\",\n format: \"zod\",\n },\n produces: [\"commit.plan.json\", \"commit.status.json\"],\n examples: [\"kb commit\", \"kb commit --dry-run\", \"kb commit --with-push\"],\n },\n \"commit:generate\": {\n id: \"commit:generate\",\n description: \"Generate commit plan from git changes using LLM.\",\n input: {\n ref: \"@kb-labs/commit-contracts/schema#GenerateInput\",\n format: \"zod\",\n },\n output: {\n ref: \"@kb-labs/commit-contracts/schema#GenerateOutput\",\n format: \"zod\",\n },\n produces: [\"commit.plan.json\", \"commit.status.json\"],\n examples: [\n \"kb commit generate\",\n \"kb commit generate --json\",\n \"kb commit generate --scope src/**\",\n ],\n },\n \"commit:apply\": {\n id: \"commit:apply\",\n description: \"Apply current commit plan (create local git commits).\",\n input: {\n ref: \"@kb-labs/commit-contracts/schema#ApplyInput\",\n format: \"zod\",\n },\n output: {\n ref: \"@kb-labs/commit-contracts/schema#ApplyOutput\",\n format: \"zod\",\n },\n produces: [],\n examples: [\"kb commit apply\", \"kb commit apply --force\"],\n },\n \"commit:push\": {\n id: \"commit:push\",\n description: \"Push commits to remote repository.\",\n input: {\n ref: \"@kb-labs/commit-contracts/schema#PushInput\",\n format: \"zod\",\n },\n output: {\n ref: \"@kb-labs/commit-contracts/schema#PushOutput\",\n format: \"zod\",\n },\n produces: [],\n examples: [\"kb commit push\", \"kb commit push --force\"],\n },\n \"commit:open\": {\n id: \"commit:open\",\n description: \"Show current commit plan.\",\n input: {\n ref: \"@kb-labs/commit-contracts/schema#OpenInput\",\n format: \"zod\",\n },\n output: {\n ref: \"@kb-labs/commit-contracts/schema#OpenOutput\",\n format: \"zod\",\n },\n produces: [],\n examples: [\"kb commit open\", \"kb commit open --json\"],\n },\n \"commit:reset\": {\n id: \"commit:reset\",\n description: \"Clear current commit plan.\",\n output: {\n ref: \"@kb-labs/commit-contracts/schema#ResetOutput\",\n format: \"zod\",\n },\n produces: [],\n examples: [\"kb commit reset\"],\n },\n },\n} as const satisfies PluginContracts;\n\n// Extract types for use in manifest and commands\nexport type PluginArtifactIds = keyof typeof pluginContractsManifest.artifacts;\nexport type PluginCommandIds = keyof typeof pluginContractsManifest.commands;\n"]}
package/dist/index.d.ts CHANGED
@@ -208,7 +208,7 @@ declare const pluginContractsSchema: z.ZodObject<{
208
208
  }>>;
209
209
  }, "strip", z.ZodTypeAny, {
210
210
  id: string;
211
- kind: "file" | "json" | "markdown" | "binary" | "dir" | "log";
211
+ kind: "binary" | "json" | "file" | "markdown" | "dir" | "log";
212
212
  description?: string | undefined;
213
213
  pathPattern?: string | undefined;
214
214
  mediaType?: string | undefined;
@@ -219,7 +219,7 @@ declare const pluginContractsSchema: z.ZodObject<{
219
219
  } | undefined;
220
220
  }, {
221
221
  id: string;
222
- kind: "file" | "json" | "markdown" | "binary" | "dir" | "log";
222
+ kind: "binary" | "json" | "file" | "markdown" | "dir" | "log";
223
223
  description?: string | undefined;
224
224
  pathPattern?: string | undefined;
225
225
  mediaType?: string | undefined;
@@ -506,7 +506,7 @@ declare const pluginContractsSchema: z.ZodObject<{
506
506
  contractsVersion: string;
507
507
  artifacts: Record<string, {
508
508
  id: string;
509
- kind: "file" | "json" | "markdown" | "binary" | "dir" | "log";
509
+ kind: "binary" | "json" | "file" | "markdown" | "dir" | "log";
510
510
  description?: string | undefined;
511
511
  pathPattern?: string | undefined;
512
512
  mediaType?: string | undefined;
@@ -575,7 +575,7 @@ declare const pluginContractsSchema: z.ZodObject<{
575
575
  contractsVersion: string;
576
576
  artifacts: Record<string, {
577
577
  id: string;
578
- kind: "file" | "json" | "markdown" | "binary" | "dir" | "log";
578
+ kind: "binary" | "json" | "file" | "markdown" | "dir" | "log";
579
579
  description?: string | undefined;
580
580
  pathPattern?: string | undefined;
581
581
  mediaType?: string | undefined;
@@ -645,7 +645,7 @@ declare function parsePluginContracts(input: unknown): {
645
645
  contractsVersion: string;
646
646
  artifacts: Record<string, {
647
647
  id: string;
648
- kind: "file" | "json" | "markdown" | "binary" | "dir" | "log";
648
+ kind: "binary" | "json" | "file" | "markdown" | "dir" | "log";
649
649
  description?: string | undefined;
650
650
  pathPattern?: string | undefined;
651
651
  mediaType?: string | undefined;
@@ -1112,16 +1112,16 @@ declare const SecretMatchSchema: z.ZodObject<{
1112
1112
  matched: z.ZodString;
1113
1113
  context: z.ZodString;
1114
1114
  }, "strip", z.ZodTypeAny, {
1115
- file: string;
1116
1115
  type: string;
1116
+ file: string;
1117
1117
  line: number;
1118
1118
  column: number;
1119
1119
  pattern: string;
1120
1120
  matched: string;
1121
1121
  context: string;
1122
1122
  }, {
1123
- file: string;
1124
1123
  type: string;
1124
+ file: string;
1125
1125
  line: number;
1126
1126
  column: number;
1127
1127
  pattern: string;
@@ -1184,7 +1184,7 @@ declare const GenerateResponseSchema: z.ZodObject<{
1184
1184
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
1185
1185
  id: string;
1186
1186
  files: string[];
1187
- releaseHint: "minor" | "none" | "patch" | "major";
1187
+ releaseHint: "none" | "patch" | "minor" | "major";
1188
1188
  breaking: boolean;
1189
1189
  scope?: string | undefined;
1190
1190
  body?: string | undefined;
@@ -1202,7 +1202,7 @@ declare const GenerateResponseSchema: z.ZodObject<{
1202
1202
  files: string[];
1203
1203
  scope?: string | undefined;
1204
1204
  body?: string | undefined;
1205
- releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
1205
+ releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
1206
1206
  breaking?: boolean | undefined;
1207
1207
  reasoning?: {
1208
1208
  newBehavior?: boolean | undefined;
@@ -1245,7 +1245,7 @@ declare const GenerateResponseSchema: z.ZodObject<{
1245
1245
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
1246
1246
  id: string;
1247
1247
  files: string[];
1248
- releaseHint: "minor" | "none" | "patch" | "major";
1248
+ releaseHint: "none" | "patch" | "minor" | "major";
1249
1249
  breaking: boolean;
1250
1250
  scope?: string | undefined;
1251
1251
  body?: string | undefined;
@@ -1280,7 +1280,7 @@ declare const GenerateResponseSchema: z.ZodObject<{
1280
1280
  files: string[];
1281
1281
  scope?: string | undefined;
1282
1282
  body?: string | undefined;
1283
- releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
1283
+ releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
1284
1284
  breaking?: boolean | undefined;
1285
1285
  reasoning?: {
1286
1286
  newBehavior?: boolean | undefined;
@@ -1310,16 +1310,16 @@ declare const GenerateResponseSchema: z.ZodObject<{
1310
1310
  matched: z.ZodString;
1311
1311
  context: z.ZodString;
1312
1312
  }, "strip", z.ZodTypeAny, {
1313
- file: string;
1314
1313
  type: string;
1314
+ file: string;
1315
1315
  line: number;
1316
1316
  column: number;
1317
1317
  pattern: string;
1318
1318
  matched: string;
1319
1319
  context: string;
1320
1320
  }, {
1321
- file: string;
1322
1321
  type: string;
1322
+ file: string;
1323
1323
  line: number;
1324
1324
  column: number;
1325
1325
  pattern: string;
@@ -1346,7 +1346,7 @@ declare const GenerateResponseSchema: z.ZodObject<{
1346
1346
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
1347
1347
  id: string;
1348
1348
  files: string[];
1349
- releaseHint: "minor" | "none" | "patch" | "major";
1349
+ releaseHint: "none" | "patch" | "minor" | "major";
1350
1350
  breaking: boolean;
1351
1351
  scope?: string | undefined;
1352
1352
  body?: string | undefined;
@@ -1368,8 +1368,8 @@ declare const GenerateResponseSchema: z.ZodObject<{
1368
1368
  } | undefined;
1369
1369
  planPath?: string | undefined;
1370
1370
  secrets?: {
1371
- file: string;
1372
1371
  type: string;
1372
+ file: string;
1373
1373
  line: number;
1374
1374
  column: number;
1375
1375
  pattern: string;
@@ -1378,8 +1378,8 @@ declare const GenerateResponseSchema: z.ZodObject<{
1378
1378
  }[] | undefined;
1379
1379
  }, {
1380
1380
  success: boolean;
1381
- scope?: string | undefined;
1382
1381
  message?: string | undefined;
1382
+ scope?: string | undefined;
1383
1383
  plan?: {
1384
1384
  schemaVersion: "1.0";
1385
1385
  createdAt: string;
@@ -1396,7 +1396,7 @@ declare const GenerateResponseSchema: z.ZodObject<{
1396
1396
  files: string[];
1397
1397
  scope?: string | undefined;
1398
1398
  body?: string | undefined;
1399
- releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
1399
+ releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
1400
1400
  breaking?: boolean | undefined;
1401
1401
  reasoning?: {
1402
1402
  newBehavior?: boolean | undefined;
@@ -1417,8 +1417,8 @@ declare const GenerateResponseSchema: z.ZodObject<{
1417
1417
  planPath?: string | undefined;
1418
1418
  secretsDetected?: boolean | undefined;
1419
1419
  secrets?: {
1420
- file: string;
1421
1420
  type: string;
1421
+ file: string;
1422
1422
  line: number;
1423
1423
  column: number;
1424
1424
  pattern: string;
@@ -1482,7 +1482,7 @@ declare const PlanResponseSchema: z.ZodObject<{
1482
1482
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
1483
1483
  id: string;
1484
1484
  files: string[];
1485
- releaseHint: "minor" | "none" | "patch" | "major";
1485
+ releaseHint: "none" | "patch" | "minor" | "major";
1486
1486
  breaking: boolean;
1487
1487
  scope?: string | undefined;
1488
1488
  body?: string | undefined;
@@ -1500,7 +1500,7 @@ declare const PlanResponseSchema: z.ZodObject<{
1500
1500
  files: string[];
1501
1501
  scope?: string | undefined;
1502
1502
  body?: string | undefined;
1503
- releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
1503
+ releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
1504
1504
  breaking?: boolean | undefined;
1505
1505
  reasoning?: {
1506
1506
  newBehavior?: boolean | undefined;
@@ -1543,7 +1543,7 @@ declare const PlanResponseSchema: z.ZodObject<{
1543
1543
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
1544
1544
  id: string;
1545
1545
  files: string[];
1546
- releaseHint: "minor" | "none" | "patch" | "major";
1546
+ releaseHint: "none" | "patch" | "minor" | "major";
1547
1547
  breaking: boolean;
1548
1548
  scope?: string | undefined;
1549
1549
  body?: string | undefined;
@@ -1578,7 +1578,7 @@ declare const PlanResponseSchema: z.ZodObject<{
1578
1578
  files: string[];
1579
1579
  scope?: string | undefined;
1580
1580
  body?: string | undefined;
1581
- releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
1581
+ releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
1582
1582
  breaking?: boolean | undefined;
1583
1583
  reasoning?: {
1584
1584
  newBehavior?: boolean | undefined;
@@ -1614,7 +1614,7 @@ declare const PlanResponseSchema: z.ZodObject<{
1614
1614
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
1615
1615
  id: string;
1616
1616
  files: string[];
1617
- releaseHint: "minor" | "none" | "patch" | "major";
1617
+ releaseHint: "none" | "patch" | "minor" | "major";
1618
1618
  breaking: boolean;
1619
1619
  scope?: string | undefined;
1620
1620
  body?: string | undefined;
@@ -1653,7 +1653,7 @@ declare const PlanResponseSchema: z.ZodObject<{
1653
1653
  files: string[];
1654
1654
  scope?: string | undefined;
1655
1655
  body?: string | undefined;
1656
- releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
1656
+ releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
1657
1657
  breaking?: boolean | undefined;
1658
1658
  reasoning?: {
1659
1659
  newBehavior?: boolean | undefined;
@@ -1692,9 +1692,9 @@ declare const PatchPlanRequestSchema: z.ZodObject<{
1692
1692
  scope_?: string | undefined;
1693
1693
  }, {
1694
1694
  commitId: string;
1695
- scope?: string | undefined;
1696
1695
  message?: string | undefined;
1697
1696
  type?: string | undefined;
1697
+ scope?: string | undefined;
1698
1698
  body?: string | undefined;
1699
1699
  scope_?: string | undefined;
1700
1700
  }>;
@@ -1773,7 +1773,7 @@ declare const RegenerateCommitResponseSchema: z.ZodObject<{
1773
1773
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
1774
1774
  id: string;
1775
1775
  files: string[];
1776
- releaseHint: "minor" | "none" | "patch" | "major";
1776
+ releaseHint: "none" | "patch" | "minor" | "major";
1777
1777
  breaking: boolean;
1778
1778
  scope?: string | undefined;
1779
1779
  body?: string | undefined;
@@ -1791,7 +1791,7 @@ declare const RegenerateCommitResponseSchema: z.ZodObject<{
1791
1791
  files: string[];
1792
1792
  scope?: string | undefined;
1793
1793
  body?: string | undefined;
1794
- releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
1794
+ releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
1795
1795
  breaking?: boolean | undefined;
1796
1796
  reasoning?: {
1797
1797
  newBehavior?: boolean | undefined;
@@ -1810,7 +1810,7 @@ declare const RegenerateCommitResponseSchema: z.ZodObject<{
1810
1810
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
1811
1811
  id: string;
1812
1812
  files: string[];
1813
- releaseHint: "minor" | "none" | "patch" | "major";
1813
+ releaseHint: "none" | "patch" | "minor" | "major";
1814
1814
  breaking: boolean;
1815
1815
  scope?: string | undefined;
1816
1816
  body?: string | undefined;
@@ -1833,7 +1833,7 @@ declare const RegenerateCommitResponseSchema: z.ZodObject<{
1833
1833
  files: string[];
1834
1834
  scope?: string | undefined;
1835
1835
  body?: string | undefined;
1836
- releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
1836
+ releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
1837
1837
  breaking?: boolean | undefined;
1838
1838
  reasoning?: {
1839
1839
  newBehavior?: boolean | undefined;
@@ -1994,8 +1994,8 @@ declare const ResetResponseSchema: z.ZodObject<{
1994
1994
  message: z.ZodString;
1995
1995
  scope: z.ZodDefault<z.ZodString>;
1996
1996
  }, "strip", z.ZodTypeAny, {
1997
- scope: string;
1998
1997
  message: string;
1998
+ scope: string;
1999
1999
  success: boolean;
2000
2000
  }, {
2001
2001
  message: string;
@@ -2029,11 +2029,11 @@ declare const GitStatusResponseSchema: z.ZodObject<{
2029
2029
  binary: z.ZodDefault<z.ZodBoolean>;
2030
2030
  isNewFile: z.ZodDefault<z.ZodBoolean>;
2031
2031
  }, "strip", z.ZodTypeAny, {
2032
- binary: boolean;
2033
2032
  path: string;
2034
2033
  status: "added" | "modified" | "deleted" | "renamed" | "copied";
2035
2034
  additions: number;
2036
2035
  deletions: number;
2036
+ binary: boolean;
2037
2037
  isNewFile: boolean;
2038
2038
  }, {
2039
2039
  path: string;
@@ -2045,19 +2045,19 @@ declare const GitStatusResponseSchema: z.ZodObject<{
2045
2045
  }>, "many">;
2046
2046
  totalFiles: z.ZodNumber;
2047
2047
  }, "strip", z.ZodTypeAny, {
2048
- scope: string;
2049
2048
  status: {
2050
2049
  staged: string[];
2051
2050
  unstaged: string[];
2052
2051
  untracked: string[];
2053
2052
  };
2053
+ scope: string;
2054
2054
  totalFiles: number;
2055
2055
  summaries: {
2056
- binary: boolean;
2057
2056
  path: string;
2058
2057
  status: "added" | "modified" | "deleted" | "renamed" | "copied";
2059
2058
  additions: number;
2060
2059
  deletions: number;
2060
+ binary: boolean;
2061
2061
  isNewFile: boolean;
2062
2062
  }[];
2063
2063
  }, {
@@ -2088,17 +2088,17 @@ declare const FileDiffResponseSchema: z.ZodObject<{
2088
2088
  additions: z.ZodDefault<z.ZodNumber>;
2089
2089
  deletions: z.ZodDefault<z.ZodNumber>;
2090
2090
  }, "strip", z.ZodTypeAny, {
2091
- file: string;
2092
- scope: string;
2093
2091
  additions: number;
2094
2092
  deletions: number;
2093
+ scope: string;
2094
+ file: string;
2095
2095
  diff: string;
2096
2096
  }, {
2097
2097
  file: string;
2098
2098
  diff: string;
2099
- scope?: string | undefined;
2100
2099
  additions?: number | undefined;
2101
2100
  deletions?: number | undefined;
2101
+ scope?: string | undefined;
2102
2102
  }>;
2103
2103
  type FileDiffResponse = z.infer<typeof FileDiffResponseSchema>;
2104
2104
  /**
@@ -2112,8 +2112,8 @@ declare const SummarizeRequestSchema: z.ZodObject<{
2112
2112
  scope: string;
2113
2113
  file?: string | undefined;
2114
2114
  }, {
2115
- file?: string | undefined;
2116
2115
  scope?: string | undefined;
2116
+ file?: string | undefined;
2117
2117
  }>;
2118
2118
  type SummarizeRequest = z.infer<typeof SummarizeRequestSchema>;
2119
2119
  /**
@@ -2128,13 +2128,13 @@ declare const SummarizeResponseSchema: z.ZodObject<{
2128
2128
  }, "strip", z.ZodTypeAny, {
2129
2129
  scope: string;
2130
2130
  summary: string;
2131
- file?: string | undefined;
2132
2131
  tokensUsed?: number | undefined;
2132
+ file?: string | undefined;
2133
2133
  }, {
2134
2134
  summary: string;
2135
- file?: string | undefined;
2136
2135
  scope?: string | undefined;
2137
2136
  tokensUsed?: number | undefined;
2137
+ file?: string | undefined;
2138
2138
  }>;
2139
2139
  type SummarizeResponse = z.infer<typeof SummarizeResponseSchema>;
2140
2140
 
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/version.ts","../src/contract.ts","../src/helpers.ts","../src/schema/api.schema.ts","../src/schema/artifacts.schema.ts","../src/schema/commands.schema.ts","../src/schema/workflows.schema.ts","../src/schema/contract.schema.ts","../src/types/config.ts","../src/schema.ts","../src/schema/rest.schema.ts","../src/flags.ts","../src/env.ts","../src/routes.ts","../src/events.ts","../src/index.ts"],"names":["z"],"mappings":"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","file":"index.js","sourcesContent":["export const contractsSchemaId = \"kb.plugin.contracts/1\" as const;\n\nexport type ContractsSchemaId = typeof contractsSchemaId;\n\nexport const contractsVersion = \"1.0.0\" as const;\n","import type { PluginContracts } from \"./types\";\nimport { contractsSchemaId, contractsVersion } from \"./version\";\n\n/**\n * KB Labs Commit Plugin - Contracts Manifest\n *\n * Level 2: Type-safe contracts with as const for type extraction.\n * Defines artifacts, commands, and their relationships.\n */\nexport const pluginContractsManifest = {\n schema: contractsSchemaId,\n pluginId: \"@kb-labs/commit\",\n contractsVersion,\n artifacts: {\n \"commit.plan.json\": {\n id: \"commit.plan.json\",\n kind: \"json\",\n description:\n \"Current commit plan generated by LLM analysis of git changes.\",\n pathPattern: \".kb/commit/current/plan.json\",\n mediaType: \"application/json\",\n schemaRef: \"@kb-labs/commit-contracts/schema#CommitPlan\",\n example: {\n summary: \"Example commit plan with two commits\",\n payload: {\n schemaVersion: \"1.0\",\n commits: [\n {\n id: \"c1\",\n type: \"feat\",\n scope: \"ui\",\n message: \"add button component\",\n files: [\"src/components/Button.tsx\"],\n releaseHint: \"minor\",\n },\n ],\n },\n },\n },\n \"commit.status.json\": {\n id: \"commit.status.json\",\n kind: \"json\",\n description: \"Git status snapshot at plan generation time.\",\n pathPattern: \".kb/commit/current/status.json\",\n mediaType: \"application/json\",\n schemaRef: \"@kb-labs/commit-contracts/schema#GitStatusSnapshot\",\n },\n \"commit.history\": {\n id: \"commit.history\",\n kind: \"dir\",\n description: \"History of applied commit plans with results.\",\n pathPattern: \".kb/commit/history/\",\n },\n },\n commands: {\n commit: {\n id: \"commit\",\n description: \"Generate and apply commits (default flow).\",\n input: {\n ref: \"@kb-labs/commit-contracts/schema#CommitRunInput\",\n format: \"zod\",\n },\n output: {\n ref: \"@kb-labs/commit-contracts/schema#CommitRunOutput\",\n format: \"zod\",\n },\n produces: [\"commit.plan.json\", \"commit.status.json\"],\n examples: [\"kb commit\", \"kb commit --dry-run\", \"kb commit --with-push\"],\n },\n \"commit:generate\": {\n id: \"commit:generate\",\n description: \"Generate commit plan from git changes using LLM.\",\n input: {\n ref: \"@kb-labs/commit-contracts/schema#GenerateInput\",\n format: \"zod\",\n },\n output: {\n ref: \"@kb-labs/commit-contracts/schema#GenerateOutput\",\n format: \"zod\",\n },\n produces: [\"commit.plan.json\", \"commit.status.json\"],\n examples: [\n \"kb commit generate\",\n \"kb commit generate --json\",\n \"kb commit generate --scope src/**\",\n ],\n },\n \"commit:apply\": {\n id: \"commit:apply\",\n description: \"Apply current commit plan (create local git commits).\",\n input: {\n ref: \"@kb-labs/commit-contracts/schema#ApplyInput\",\n format: \"zod\",\n },\n output: {\n ref: \"@kb-labs/commit-contracts/schema#ApplyOutput\",\n format: \"zod\",\n },\n produces: [],\n examples: [\"kb commit apply\", \"kb commit apply --force\"],\n },\n \"commit:push\": {\n id: \"commit:push\",\n description: \"Push commits to remote repository.\",\n input: {\n ref: \"@kb-labs/commit-contracts/schema#PushInput\",\n format: \"zod\",\n },\n output: {\n ref: \"@kb-labs/commit-contracts/schema#PushOutput\",\n format: \"zod\",\n },\n produces: [],\n examples: [\"kb commit push\", \"kb commit push --force\"],\n },\n \"commit:open\": {\n id: \"commit:open\",\n description: \"Show current commit plan.\",\n input: {\n ref: \"@kb-labs/commit-contracts/schema#OpenInput\",\n format: \"zod\",\n },\n output: {\n ref: \"@kb-labs/commit-contracts/schema#OpenOutput\",\n format: \"zod\",\n },\n produces: [],\n examples: [\"kb commit open\", \"kb commit open --json\"],\n },\n \"commit:reset\": {\n id: \"commit:reset\",\n description: \"Clear current commit plan.\",\n output: {\n ref: \"@kb-labs/commit-contracts/schema#ResetOutput\",\n format: \"zod\",\n },\n produces: [],\n examples: [\"kb commit reset\"],\n },\n },\n} as const satisfies PluginContracts;\n\n// Extract types for use in manifest and commands\nexport type PluginArtifactIds = keyof typeof pluginContractsManifest.artifacts;\nexport type PluginCommandIds = keyof typeof pluginContractsManifest.commands;\n","/**\n * Type-safe helper functions for contracts\n * @module @kb-labs/commit-contracts/helpers\n */\n\nimport {\n pluginContractsManifest,\n type PluginArtifactIds,\n type PluginCommandIds,\n} from \"./contract\";\n\n/**\n * Get artifact path pattern by ID (type-safe)\n *\n * @example\n * const path = getArtifactPath('commit.plan.json');\n * // Returns: '.kb/commit/current/plan.json'\n */\nexport function getArtifactPath<T extends PluginArtifactIds>(id: T): string {\n const artifact = pluginContractsManifest.artifacts[id];\n if (!artifact) {\n throw new Error(`Artifact ${String(id)} not found in contracts`);\n }\n return artifact.pathPattern;\n}\n\n/**\n * Get artifact metadata by ID (type-safe)\n *\n * @example\n * const artifact = getArtifact('commit.plan.json');\n * // artifact.kind, artifact.description, etc.\n */\nexport function getArtifact<T extends PluginArtifactIds>(id: T) {\n const artifact = pluginContractsManifest.artifacts[id];\n if (!artifact) {\n throw new Error(`Artifact ${String(id)} not found in contracts`);\n }\n return artifact;\n}\n\n/**\n * Check if artifact ID exists in contracts (type-safe)\n *\n * @example\n * if (hasArtifact('commit.plan.json')) {\n * // TypeScript knows the type!\n * }\n */\nexport function hasArtifact(id: string): id is PluginArtifactIds {\n return id in pluginContractsManifest.artifacts;\n}\n\n/**\n * Get command metadata by ID (type-safe)\n *\n * @example\n * const command = getCommand('commit:generate');\n * // command.description, command.input, command.output, etc.\n */\nexport function getCommand<T extends PluginCommandIds>(id: T) {\n if (!pluginContractsManifest.commands) {\n throw new Error(\"Commands not defined in contracts\");\n }\n const command = pluginContractsManifest.commands[id];\n if (!command) {\n throw new Error(`Command ${String(id)} not found in contracts`);\n }\n return command;\n}\n\n/**\n * Check if command ID exists in contracts (type-safe)\n *\n * @example\n * if (hasCommand('commit:generate')) {\n * // TypeScript knows the type!\n * }\n */\nexport function hasCommand(id: string): id is PluginCommandIds {\n return (\n pluginContractsManifest.commands !== undefined &&\n id in pluginContractsManifest.commands\n );\n}\n\n/**\n * Type-safe identity function for command IDs (useful for validation)\n *\n * @example\n * const cmdId = getCommandId('commit:generate'); // Compile-time validation!\n */\nexport function getCommandId<T extends PluginCommandIds>(id: T): T {\n return id;\n}\n\n/**\n * Type-safe identity function for artifact IDs (useful for validation)\n *\n * @example\n * const artifactId = getArtifactId('commit.plan.json'); // Compile-time validation!\n */\nexport function getArtifactId<T extends PluginArtifactIds>(id: T): T {\n return id;\n}\n","import { z } from \"zod\";\n\nexport const schemaReferenceSchema = z.object({\n ref: z.string().min(1),\n format: z.enum([\"zod\", \"json-schema\", \"openapi\"]).optional(),\n description: z.string().optional(),\n});\n\nexport const restRouteContractSchema = z.object({\n id: z.string().min(1),\n method: z.string().min(1),\n path: z.string().min(1),\n description: z.string().optional(),\n request: schemaReferenceSchema.optional(),\n response: schemaReferenceSchema.optional(),\n produces: z.array(z.string().min(1)).optional(),\n consumes: z.array(z.string().min(1)).optional(),\n});\n\nexport const restApiContractSchema = z.object({\n basePath: z.string().min(1),\n routes: z.record(restRouteContractSchema),\n});\n\nexport const apiContractSchema = z.object({\n rest: restApiContractSchema.optional(),\n});\n","import { z } from \"zod\";\n\nexport const artifactExampleSchema = z.object({\n summary: z.string().optional(),\n payload: z.unknown().optional(),\n});\n\nexport const artifactContractSchema = z.object({\n id: z.string().min(1),\n kind: z.enum([\"file\", \"json\", \"markdown\", \"binary\", \"dir\", \"log\"]),\n description: z.string().optional(),\n pathPattern: z.string().min(1).optional(),\n mediaType: z.string().min(1).optional(),\n schemaRef: z.string().min(1).optional(),\n example: artifactExampleSchema.optional(),\n});\n\nexport const artifactsContractMapSchema = z.record(artifactContractSchema);\n","import { z } from \"zod\";\nimport { schemaReferenceSchema } from \"./api.schema\";\n\nexport const commandContractSchema = z.object({\n id: z.string().min(1),\n description: z.string().optional(),\n input: schemaReferenceSchema.optional(),\n output: schemaReferenceSchema.optional(),\n produces: z.array(z.string().min(1)).optional(),\n consumes: z.array(z.string().min(1)).optional(),\n examples: z.array(z.string().min(1)).optional(),\n});\n\nexport const commandContractMapSchema = z.record(commandContractSchema);\n","import { z } from \"zod\";\n\nexport const workflowStepSchema = z.object({\n id: z.string().min(1),\n description: z.string().optional(),\n commandId: z.string().min(1).optional(),\n consumes: z.array(z.string().min(1)).optional(),\n produces: z.array(z.string().min(1)).optional(),\n});\n\nexport const workflowContractSchema = z.object({\n id: z.string().min(1),\n description: z.string().optional(),\n consumes: z.array(z.string().min(1)).optional(),\n produces: z.array(z.string().min(1)).optional(),\n steps: z.array(workflowStepSchema).optional(),\n});\n\nexport const workflowContractMapSchema = z.record(workflowContractSchema);\n","import { z } from \"zod\";\nimport { apiContractSchema } from \"./api.schema\";\nimport { artifactsContractMapSchema } from \"./artifacts.schema\";\nimport { commandContractMapSchema } from \"./commands.schema\";\nimport { workflowContractMapSchema } from \"./workflows.schema\";\nimport { contractsSchemaId } from \"../version\";\n\nexport const pluginContractsSchema = z\n .object({\n schema: z.literal(contractsSchemaId),\n pluginId: z.string().min(1),\n contractsVersion: z.string().min(1),\n artifacts: artifactsContractMapSchema,\n commands: commandContractMapSchema.optional(),\n workflows: workflowContractMapSchema.optional(),\n api: apiContractSchema.optional(),\n })\n .strict();\n\nexport type PluginContractsSchema = z.infer<typeof pluginContractsSchema>;\n\nexport function parsePluginContracts(input: unknown) {\n return pluginContractsSchema.parse(input);\n}\n","/**\n * Plugin Configuration Contract\n *\n * Defines the shape of plugin configuration stored in kb.config.json\n * under plugins.commit section.\n *\n * This type is the single source of truth for:\n * - defineSetup (setup handler knows what config to create)\n * - defineCommand (commands can access typed config)\n */\n\n/**\n * LLM configuration for commit generation\n */\nexport interface LLMConfig {\n /** Whether to use LLM for commit generation (default: true) */\n enabled: boolean;\n /** Temperature for LLM responses (0-1, default: 0.3) */\n temperature: number;\n /** Maximum tokens for LLM response (default: 2000) */\n maxTokens: number;\n}\n\n/**\n * Storage configuration\n */\nexport interface StorageConfig {\n /** Directory for commit plugin data (default: .kb/commit) */\n directory: string;\n}\n\n/**\n * Git configuration\n */\nexport interface GitConfig {\n /** Protected branches that require confirmation (default: ['main', 'master']) */\n protectedBranches: string[];\n /** Whether to auto-stage all changes before commit (default: false) */\n autoStage: boolean;\n}\n\n/**\n * A single commit scope definition\n */\nexport interface CommitScope {\n /** Scope identifier — used as value in selector and in API requests */\n id: string;\n /** Display label shown in Studio UI */\n label: string;\n /**\n * Relative path from workspace root to the target git repository.\n * Use \".\" for the workspace root itself.\n * @example \".\"\n * @example \"public/kb-labs\"\n * @example \"plugins/kb-labs-mind\"\n */\n path: string;\n /** Optional description shown in Studio selector */\n description?: string;\n}\n\n/**\n * Scope configuration\n */\nexport interface ScopeConfig {\n /** Default scope id to pre-select in Studio and use when not specified via CLI */\n default?: string;\n /**\n * Explicit list of available scopes.\n * If not provided, falls back to a single \"root\" scope (workspace root).\n *\n * @example\n * ```json\n * \"scopes\": [\n * { \"id\": \"root\", \"label\": \"workspace root\", \"path\": \".\" },\n * { \"id\": \"public/kb-labs\", \"label\": \"kb-labs (public)\", \"path\": \"public/kb-labs\" }\n * ]\n * ```\n */\n scopes?: CommitScope[];\n}\n\n/**\n * Plugin configuration stored in kb.config.json\n *\n * @example\n * ```json\n * {\n * \"plugins\": {\n * \"commit\": {\n * \"enabled\": true,\n * \"llm\": {\n * \"enabled\": true,\n * \"temperature\": 0.3,\n * \"maxTokens\": 2000\n * },\n * \"storage\": {\n * \"directory\": \".kb/commit\"\n * },\n * \"git\": {\n * \"protectedBranches\": [\"main\", \"master\"],\n * \"autoStage\": false\n * },\n * \"scope\": {\n * \"default\": \"kb-labs-commit-plugin\"\n * }\n * }\n * }\n * }\n * ```\n */\nexport interface CommitPluginConfig {\n /** Whether the plugin is enabled */\n enabled: boolean;\n /** LLM configuration */\n llm: LLMConfig;\n /** Storage configuration */\n storage: StorageConfig;\n /** Git configuration */\n git: GitConfig;\n /** Scope configuration */\n scope?: ScopeConfig;\n}\n\n/**\n * Environment variables supported by commit plugin\n * Must be declared in manifest.permissions.env.allow\n */\nexport const COMMIT_ENV_VARS = [\n \"KB_COMMIT_LLM_ENABLED\",\n \"KB_COMMIT_LLM_TEMPERATURE\",\n \"KB_COMMIT_LLM_MAX_TOKENS\",\n \"KB_COMMIT_STORAGE_DIR\",\n \"KB_COMMIT_AUTO_STAGE\",\n] as const;\n\nexport type CommitEnvVar = (typeof COMMIT_ENV_VARS)[number];\n\n/**\n * Default plugin configuration values\n */\nexport const defaultCommitConfig: CommitPluginConfig = {\n enabled: true,\n llm: {\n enabled: true,\n temperature: 0.3,\n maxTokens: 2000,\n },\n storage: {\n directory: \".kb/commit\",\n },\n git: {\n protectedBranches: [\"main\", \"master\"],\n autoStage: false,\n },\n scope: {\n default: 'root',\n scopes: [{ id: 'root', label: 'root', path: '.' }],\n },\n};\n\n/**\n * Resolve config with env variable overrides\n *\n * @param fileConfig - Config from kb.config.json (via useConfig)\n * @param env - Environment variables (from commitEnv.parse(runtime))\n */\nexport function resolveCommitConfig(\n fileConfig: Partial<CommitPluginConfig> = {},\n env: Partial<{\n KB_COMMIT_LLM_ENABLED: boolean;\n KB_COMMIT_LLM_TEMPERATURE: number;\n KB_COMMIT_LLM_MAX_TOKENS: number;\n KB_COMMIT_STORAGE_DIR: string;\n KB_COMMIT_AUTO_STAGE: boolean;\n }> = {},\n): CommitPluginConfig {\n const config: CommitPluginConfig = {\n enabled: fileConfig.enabled ?? defaultCommitConfig.enabled,\n llm: {\n enabled:\n env.KB_COMMIT_LLM_ENABLED ??\n fileConfig.llm?.enabled ??\n defaultCommitConfig.llm.enabled,\n temperature:\n env.KB_COMMIT_LLM_TEMPERATURE ??\n fileConfig.llm?.temperature ??\n defaultCommitConfig.llm.temperature,\n maxTokens:\n env.KB_COMMIT_LLM_MAX_TOKENS ??\n fileConfig.llm?.maxTokens ??\n defaultCommitConfig.llm.maxTokens,\n },\n storage: {\n directory:\n env.KB_COMMIT_STORAGE_DIR ??\n fileConfig.storage?.directory ??\n defaultCommitConfig.storage.directory,\n },\n git: {\n protectedBranches:\n fileConfig.git?.protectedBranches ??\n defaultCommitConfig.git.protectedBranches,\n autoStage:\n env.KB_COMMIT_AUTO_STAGE ??\n fileConfig.git?.autoStage ??\n defaultCommitConfig.git.autoStage,\n },\n scope: {\n default: fileConfig.scope?.default ?? defaultCommitConfig.scope?.default,\n scopes: fileConfig.scope?.scopes ?? defaultCommitConfig.scope?.scopes,\n },\n };\n\n return config;\n}\n","import { z } from \"zod\";\n\n// ============================================================================\n// Core Types\n// ============================================================================\n\n/**\n * Conventional commit types\n */\nexport const ConventionalTypeSchema = z.enum([\n \"feat\",\n \"fix\",\n \"refactor\",\n \"chore\",\n \"docs\",\n \"test\",\n \"build\",\n \"ci\",\n \"perf\",\n]);\n\nexport type ConventionalType = z.infer<typeof ConventionalTypeSchema>;\n\n/**\n * Release hint for semantic versioning\n */\nexport const ReleaseHintSchema = z.enum([\"none\", \"patch\", \"minor\", \"major\"]);\n\nexport type ReleaseHint = z.infer<typeof ReleaseHintSchema>;\n\n// ============================================================================\n// Git Status\n// ============================================================================\n\n/**\n * Git status snapshot\n */\nexport const GitStatusSchema = z.object({\n staged: z.array(z.string()),\n unstaged: z.array(z.string()),\n untracked: z.array(z.string()),\n});\n\nexport type GitStatus = z.infer<typeof GitStatusSchema>;\n\n/**\n * File summary with diff stats\n */\nexport const FileSummarySchema = z.object({\n path: z.string(),\n status: z.enum([\"added\", \"modified\", \"deleted\", \"renamed\", \"copied\"]),\n additions: z.number().int().min(0),\n deletions: z.number().int().min(0),\n binary: z.boolean().default(false),\n /** Whether file is truly new (never existed in repo history) */\n isNewFile: z.boolean().default(false),\n});\n\nexport type FileSummary = z.infer<typeof FileSummarySchema>;\n\n// ============================================================================\n// Commit Plan\n// ============================================================================\n\n/**\n * Reasoning for commit type classification\n */\nexport const CommitReasoningSchema = z.object({\n /** Does this change add NEW user-visible behavior? */\n newBehavior: z.boolean().default(false),\n /** Does this change fix BROKEN functionality? */\n fixesBug: z.boolean().default(false),\n /** Is this only INTERNAL restructuring? */\n internalOnly: z.boolean().default(false),\n /** Human-readable explanation of why this type was chosen */\n explanation: z.string().default(''),\n /** LLM confidence in this classification (0.0-1.0) */\n confidence: z.number().min(0).max(1).default(0.5),\n});\n\nexport type CommitReasoning = z.infer<typeof CommitReasoningSchema>;\n\n/**\n * A single commit group in the plan\n */\nexport const CommitGroupSchema = z.object({\n id: z.string(),\n type: ConventionalTypeSchema,\n scope: z.string().optional(),\n message: z.string().min(1),\n body: z.string().optional(),\n files: z.array(z.string()).min(1),\n releaseHint: ReleaseHintSchema.default(\"none\"),\n breaking: z.boolean().default(false),\n /** Reasoning for commit type classification (optional, added by LLM) */\n reasoning: CommitReasoningSchema.optional(),\n});\n\nexport type CommitGroup = z.infer<typeof CommitGroupSchema>;\n\n/**\n * Complete commit plan\n */\nexport const CommitPlanSchema = z.object({\n schemaVersion: z.literal(\"1.0\"),\n createdAt: z.string().datetime(),\n repoRoot: z.string(),\n gitStatus: GitStatusSchema,\n commits: z.array(CommitGroupSchema),\n metadata: z.object({\n totalFiles: z.number().int().min(0),\n totalCommits: z.number().int().min(0),\n llmUsed: z.boolean(),\n tokensUsed: z.number().int().min(0).optional(),\n /** Whether LLM escalated to Phase 2 (requested diff for more context) */\n escalated: z.boolean().optional(),\n }),\n});\n\nexport type CommitPlan = z.infer<typeof CommitPlanSchema>;\n\n/**\n * Git status snapshot for storage\n */\nexport const GitStatusSnapshotSchema = z.object({\n schemaVersion: z.literal(\"1.0\"),\n createdAt: z.string().datetime(),\n status: GitStatusSchema,\n summaries: z.array(FileSummarySchema),\n});\n\nexport type GitStatusSnapshot = z.infer<typeof GitStatusSnapshotSchema>;\n\n// ============================================================================\n// Command Input/Output Schemas\n// ============================================================================\n\n// --- commit (run) ---\nexport const CommitRunInputSchema = z.object({\n scope: z.string().optional(),\n dryRun: z.boolean().default(false),\n withPush: z.boolean().default(false),\n});\n\nexport type CommitRunInput = z.infer<typeof CommitRunInputSchema>;\n\nexport const CommitRunOutputSchema = z.object({\n plan: CommitPlanSchema,\n applied: z.boolean(),\n pushed: z.boolean(),\n commits: z.array(\n z.object({\n id: z.string(),\n sha: z.string().optional(),\n message: z.string(),\n }),\n ),\n});\n\nexport type CommitRunOutput = z.infer<typeof CommitRunOutputSchema>;\n\n// --- commit:generate ---\nexport const GenerateInputSchema = z.object({\n scope: z.string().optional(),\n});\n\nexport type GenerateInput = z.infer<typeof GenerateInputSchema>;\n\nexport const GenerateOutputSchema = z.object({\n plan: CommitPlanSchema,\n planPath: z.string(),\n});\n\nexport type GenerateOutput = z.infer<typeof GenerateOutputSchema>;\n\n// --- commit:apply ---\nexport const ApplyInputSchema = z.object({\n force: z.boolean().default(false),\n});\n\nexport type ApplyInput = z.infer<typeof ApplyInputSchema>;\n\nexport const ApplyOutputSchema = z.object({\n success: z.boolean(),\n commits: z.array(\n z.object({\n id: z.string(),\n sha: z.string(),\n message: z.string(),\n }),\n ),\n errors: z.array(z.string()).default([]),\n});\n\nexport type ApplyOutput = z.infer<typeof ApplyOutputSchema>;\n\n// --- commit:push ---\nexport const PushInputSchema = z.object({\n force: z.boolean().default(false),\n});\n\nexport type PushInput = z.infer<typeof PushInputSchema>;\n\nexport const PushOutputSchema = z.object({\n success: z.boolean(),\n remote: z.string(),\n branch: z.string(),\n commits: z.number().int().min(0),\n});\n\nexport type PushOutput = z.infer<typeof PushOutputSchema>;\n\n// --- commit:open ---\nexport const OpenInputSchema = z.object({\n json: z.boolean().default(false),\n});\n\nexport type OpenInput = z.infer<typeof OpenInputSchema>;\n\nexport const OpenOutputSchema = z.object({\n hasPlan: z.boolean(),\n plan: CommitPlanSchema.optional(),\n planPath: z.string().optional(),\n stale: z.boolean().optional(),\n staleReason: z.string().optional(),\n});\n\nexport type OpenOutput = z.infer<typeof OpenOutputSchema>;\n\n// --- commit:reset ---\nexport const ResetOutputSchema = z.object({\n success: z.boolean(),\n message: z.string(),\n});\n\nexport type ResetOutput = z.infer<typeof ResetOutputSchema>;\n\n// ============================================================================\n// Result Types (for core package)\n// ============================================================================\n\nexport const ApplyResultSchema = z.object({\n success: z.boolean(),\n appliedCommits: z.array(\n z.object({\n groupId: z.string(),\n sha: z.string(),\n message: z.string(),\n }),\n ),\n errors: z.array(z.string()),\n});\n\nexport type ApplyResult = z.infer<typeof ApplyResultSchema>;\n\nexport const PushResultSchema = z.object({\n success: z.boolean(),\n remote: z.string(),\n branch: z.string(),\n commitsPushed: z.number().int().min(0),\n error: z.string().optional(),\n});\n\nexport type PushResult = z.infer<typeof PushResultSchema>;\n\n// ============================================================================\n// REST API Responses\n// ============================================================================\n\n/**\n * GET /actions response\n * Returns empty object for actions widget (widget only needs action buttons)\n */\nexport const ActionsResponseSchema = z.object({\n scope: z.string().optional(),\n});\n\nexport type ActionsResponse = z.infer<typeof ActionsResponseSchema>;\n","import { z } from \"zod\";\nimport {\n CommitPlanSchema,\n GitStatusSchema,\n FileSummarySchema,\n ApplyResultSchema,\n PushResultSchema,\n} from \"../schema\";\n\n// ============================================================================\n// Scopes\n// ============================================================================\n\n/**\n * Single scope entry\n */\nexport const ScopeSchema = z.object({\n id: z.string().min(1),\n name: z.string().min(1),\n path: z.string().min(1),\n description: z.string().optional(),\n});\n\nexport type Scope = z.infer<typeof ScopeSchema>;\n\n/**\n * GET /scopes response\n */\nexport const ScopesResponseSchema = z.object({\n scopes: z.array(ScopeSchema),\n});\n\nexport type ScopesResponse = z.infer<typeof ScopesResponseSchema>;\n\n// ============================================================================\n// Status\n// ============================================================================\n\n/**\n * Plan status lifecycle\n * - idle: No plan exists, need to generate\n * - ready: Plan generated, ready to apply\n * - applied: Plan applied as commits, ready to push\n * - pushed: Commits pushed to remote\n */\nexport const PlanStatusSchema = z.enum([\"idle\", \"ready\", \"applied\", \"pushed\"]);\n\nexport type PlanStatus = z.infer<typeof PlanStatusSchema>;\n\n/**\n * GET /status?scope=X response\n */\nexport const StatusResponseSchema = z.object({\n scope: z.string().default(\"root\"),\n hasPlan: z.boolean(),\n planStatus: PlanStatusSchema.default(\"idle\"),\n planTimestamp: z.string().datetime().optional(),\n gitStatus: GitStatusSchema.optional(),\n filesChanged: z.number().int().min(0).default(0),\n commitsInPlan: z.number().int().min(0).default(0),\n commitsApplied: z.number().int().min(0).default(0),\n branch: z.string().optional(),\n workingDir: z.string().optional(),\n planStale: z.boolean().optional(),\n planStaleReason: z.string().optional(),\n});\n\nexport type StatusResponse = z.infer<typeof StatusResponseSchema>;\n\n// ============================================================================\n// Generate Plan\n// ============================================================================\n\n/**\n * POST /generate request body\n */\nexport const GenerateRequestSchema = z.object({\n scope: z.string().default(\"root\"),\n dryRun: z.boolean().default(false),\n allowSecrets: z.boolean().default(false),\n autoConfirm: z.boolean().default(false),\n});\n\nexport type GenerateRequest = z.infer<typeof GenerateRequestSchema>;\n\n/**\n * Secret match location\n */\nexport const SecretMatchSchema = z.object({\n file: z.string(),\n line: z.number(),\n column: z.number(),\n type: z.string(),\n pattern: z.string(),\n matched: z.string(),\n context: z.string(),\n});\n\nexport type SecretMatch = z.infer<typeof SecretMatchSchema>;\n\n/**\n * POST /generate response\n */\nexport const GenerateResponseSchema = z.object({\n success: z.boolean(),\n // Success fields (when success=true)\n plan: CommitPlanSchema.optional(),\n planPath: z.string().optional(),\n scope: z.string().default(\"root\"),\n // Secrets detected fields (when success=false)\n secretsDetected: z.boolean().default(false),\n secrets: z.array(SecretMatchSchema).optional(),\n message: z.string().optional(),\n});\n\nexport type GenerateResponse = z.infer<typeof GenerateResponseSchema>;\n\n// ============================================================================\n// Get Plan\n// ============================================================================\n\n/**\n * GET /plan?scope=X response\n */\nexport const PlanResponseSchema = z.object({\n hasPlan: z.boolean(),\n plan: CommitPlanSchema.optional(),\n scope: z.string().default(\"root\"),\n});\n\nexport type PlanResponse = z.infer<typeof PlanResponseSchema>;\n\n// ============================================================================\n// Patch Plan (Edit Commit)\n// ============================================================================\n\n/**\n * PATCH /plan request body — edit a single commit in the plan\n */\nexport const PatchPlanRequestSchema = z.object({\n scope: z.string().default(\"root\"),\n commitId: z.string().min(1),\n message: z.string().min(1).optional(),\n type: z.string().optional(),\n scope_: z.string().optional(),\n body: z.string().optional(),\n});\n\nexport type PatchPlanRequest = z.infer<typeof PatchPlanRequestSchema>;\n\n/**\n * PATCH /plan response\n */\nexport const PatchPlanResponseSchema = z.object({\n success: z.boolean(),\n scope: z.string().default(\"root\"),\n commitId: z.string(),\n});\n\nexport type PatchPlanResponse = z.infer<typeof PatchPlanResponseSchema>;\n\n// ============================================================================\n// Regenerate Commit\n// ============================================================================\n\n/**\n * POST /regenerate-commit request body\n */\nexport const RegenerateCommitRequestSchema = z.object({\n scope: z.string().default(\"root\"),\n commitId: z.string().min(1),\n instruction: z.string().optional(),\n});\n\nexport type RegenerateCommitRequest = z.infer<typeof RegenerateCommitRequestSchema>;\n\n/**\n * POST /regenerate-commit response\n */\nexport const RegenerateCommitResponseSchema = z.object({\n success: z.boolean(),\n scope: z.string().default(\"root\"),\n commitId: z.string(),\n commit: CommitPlanSchema.shape.commits.element.optional(),\n});\n\nexport type RegenerateCommitResponse = z.infer<typeof RegenerateCommitResponseSchema>;\n\n// ============================================================================\n// Apply Commits\n// ============================================================================\n\n/**\n * POST /apply request body\n */\nexport const ApplyRequestSchema = z.object({\n scope: z.string().default(\"root\"),\n force: z.boolean().default(false),\n /** Optional: apply only specific commits by ID. If omitted, applies all. */\n commitIds: z.array(z.string()).optional(),\n});\n\nexport type ApplyRequest = z.infer<typeof ApplyRequestSchema>;\n\n/**\n * POST /apply response\n */\nexport const ApplyResponseSchema = z.object({\n result: ApplyResultSchema,\n scope: z.string().default(\"root\"),\n});\n\nexport type ApplyResponse = z.infer<typeof ApplyResponseSchema>;\n\n// ============================================================================\n// Push Commits\n// ============================================================================\n\n/**\n * POST /push request body\n */\nexport const PushRequestSchema = z.object({\n scope: z.string().default(\"root\"),\n remote: z.string().default(\"origin\"),\n force: z.boolean().default(false),\n});\n\nexport type PushRequest = z.infer<typeof PushRequestSchema>;\n\n/**\n * POST /push response\n */\nexport const PushResponseSchema = z.object({\n result: PushResultSchema,\n scope: z.string().default(\"root\"),\n});\n\nexport type PushResponse = z.infer<typeof PushResponseSchema>;\n\n// ============================================================================\n// Reset Plan\n// ============================================================================\n\n/**\n * DELETE /plan?scope=X response\n */\nexport const ResetResponseSchema = z.object({\n success: z.boolean(),\n message: z.string(),\n scope: z.string().default(\"root\"),\n});\n\nexport type ResetResponse = z.infer<typeof ResetResponseSchema>;\n\n// ============================================================================\n// Git Status\n// ============================================================================\n\n/**\n * GET /git-status?scope=X response\n */\nexport const GitStatusResponseSchema = z.object({\n scope: z.string().default(\"root\"),\n status: GitStatusSchema,\n summaries: z.array(FileSummarySchema),\n totalFiles: z.number().int().min(0),\n});\n\nexport type GitStatusResponse = z.infer<typeof GitStatusResponseSchema>;\n\n// ============================================================================\n// File Diff\n// ============================================================================\n\n/**\n * GET /diff?scope=X&file=Y response\n */\nexport const FileDiffResponseSchema = z.object({\n scope: z.string().default(\"root\"),\n file: z.string(),\n diff: z.string(),\n additions: z.number().int().min(0).default(0),\n deletions: z.number().int().min(0).default(0),\n});\n\nexport type FileDiffResponse = z.infer<typeof FileDiffResponseSchema>;\n\n// ============================================================================\n// Summarize Changes\n// ============================================================================\n\n/**\n * POST /summarize request body\n */\nexport const SummarizeRequestSchema = z.object({\n scope: z.string().default(\"root\"),\n /** Optional file path - if provided, summarize only this file */\n file: z.string().optional(),\n});\n\nexport type SummarizeRequest = z.infer<typeof SummarizeRequestSchema>;\n\n/**\n * POST /summarize response\n */\nexport const SummarizeResponseSchema = z.object({\n scope: z.string().default(\"root\"),\n file: z.string().optional(),\n summary: z.string(),\n /** Token usage for the LLM call */\n tokensUsed: z.number().int().min(0).optional(),\n});\n\nexport type SummarizeResponse = z.infer<typeof SummarizeResponseSchema>;\n","/**\n * Declarative flag definitions for commit plugin commands\n *\n * Using the new defineFlags system from @kb-labs/sdk for:\n * - Type safety\n * - Runtime validation\n * - Automatic type inference\n * - Consistent DX across commands\n */\n\nimport { defineFlags } from \"@kb-labs/sdk\";\n\n/**\n * Flags for commit:commit (run) command\n *\n * @example\n * ```bash\n * kb commit commit --scope=\"@kb-labs/core\" --dry-run --with-push\n * ```\n */\nexport const commitFlags = defineFlags({\n scope: {\n type: \"string\",\n description: \"Limit commits to specific package or path pattern\",\n examples: [\"@kb-labs/core\", \"packages/**\", \"kb-labs-mind/**\"],\n },\n json: {\n type: \"boolean\",\n description: \"Output result as JSON instead of formatted text\",\n default: false,\n },\n \"dry-run\": {\n type: \"boolean\",\n description: \"Preview commits without applying them to git\",\n default: false,\n },\n \"with-push\": {\n type: \"boolean\",\n description: \"Push commits to remote after applying\",\n default: false,\n },\n \"allow-secrets\": {\n type: \"boolean\",\n description:\n \"Allow committing files with detected secrets (requires manual confirmation). Use with caution after reviewing detected locations.\",\n default: false,\n },\n yes: {\n type: \"boolean\",\n description: \"Automatically confirm all prompts (non-interactive mode)\",\n default: false,\n },\n});\n\n/**\n * Inferred TypeScript type for commit command input\n *\n * Type resolves to:\n * {\n * scope?: string;\n * json: boolean;\n * 'dry-run': boolean;\n * 'with-push': boolean;\n * }\n */\nexport type CommitFlags = typeof commitFlags.infer;\n\n/**\n * Flags for commit:generate command\n *\n * @example\n * ```bash\n * kb commit generate --scope=\"@kb-labs/cli\" --json\n * ```\n */\nexport const generateFlags = defineFlags({\n scope: {\n type: \"string\",\n description: \"Limit analysis to specific package or path pattern\",\n examples: [\"@kb-labs/core\", \"packages/**\", \"kb-labs-mind/**\"],\n },\n json: {\n type: \"boolean\",\n description: \"Output commit plan as JSON instead of formatted text\",\n default: false,\n },\n \"allow-secrets\": {\n type: \"boolean\",\n description:\n \"Allow generating commits for files with detected secrets (requires manual confirmation). Use with caution after reviewing detected locations.\",\n default: false,\n },\n yes: {\n type: \"boolean\",\n description: \"Automatically confirm all prompts (non-interactive mode)\",\n default: false,\n },\n});\n\n/**\n * Inferred TypeScript type for generate command input\n *\n * Type resolves to:\n * {\n * scope?: string;\n * json: boolean;\n * }\n */\nexport type GenerateFlags = typeof generateFlags.infer;\n","/**\n * Environment variable definitions for commit plugin\n */\n\nimport { defineEnv } from \"@kb-labs/sdk\";\n\nexport const commitEnv = defineEnv({\n KB_COMMIT_LLM_ENABLED: {\n type: \"boolean\",\n default: true,\n description: \"Enable LLM-powered commit analysis\",\n },\n KB_COMMIT_LLM_TEMPERATURE: {\n type: \"number\",\n default: 0.3,\n description: \"LLM temperature for commit message generation (0-1)\",\n validate: (v) => {\n if (v < 0 || v > 1) {\n throw new Error(\"KB_COMMIT_LLM_TEMPERATURE must be between 0 and 1\");\n }\n },\n },\n KB_COMMIT_LLM_MAX_TOKENS: {\n type: \"number\",\n default: 2000,\n description: \"Maximum tokens for LLM commit analysis\",\n },\n KB_COMMIT_STORAGE_DIR: {\n type: \"string\",\n default: \".kb/commit\",\n description: \"Directory for storing commit history\",\n },\n KB_COMMIT_AUTO_STAGE: {\n type: \"boolean\",\n default: false,\n description: \"Automatically stage files before committing\",\n },\n});\n\nexport type CommitEnv = typeof commitEnv.type;\n","/**\n * @module @kb-labs/commit-contracts/routes\n * REST API route constants for commit plugin\n */\n\n/**\n * REST API base path for commit plugin\n */\nexport const COMMIT_BASE_PATH = \"/v1/plugins/commit\" as const;\n\n/**\n * REST API route paths (relative to basePath)\n *\n * These are used in both:\n * - manifest.rest.routes[].path (route definitions)\n * - manifest.studio.widgets[].data.source.routeId (widget data sources)\n * - manifest.studio.widgets[].actions[].endpoint.routeId (widget actions)\n */\nexport const COMMIT_ROUTES = {\n /** GET /scopes - List available scopes */\n SCOPES: \"/scopes\",\n\n /** GET /status - Get current status (plan + git) */\n STATUS: \"/status\",\n\n /** GET /plan - Get current commit plan */\n PLAN: \"/plan\",\n\n /** GET /git-status - Get git status with file details */\n GIT_STATUS: \"/git-status\",\n\n /** GET /files - Get file tree with diff statistics */\n FILES: \"/files\",\n\n /** GET /diff - Get diff for a specific file */\n DIFF: \"/diff\",\n\n /** POST /summarize - Summarize changes using LLM */\n SUMMARIZE: \"/summarize\",\n\n /** GET /actions - Get actions widget data */\n ACTIONS: \"/actions\",\n\n /** POST /generate - Generate new commit plan */\n GENERATE: \"/generate\",\n\n /** POST /apply - Apply commit plan */\n APPLY: \"/apply\",\n\n /** POST /push - Push commits to remote */\n PUSH: \"/push\",\n\n /** DELETE /plan - Delete current plan */\n RESET: \"/plan\",\n\n /** PATCH /plan - Edit a single commit in the plan */\n PATCH_PLAN: \"/plan\",\n\n /** POST /regenerate-commit - Regenerate a single commit */\n REGENERATE_COMMIT: \"/regenerate-commit\",\n} as const;\n\n/**\n * Full REST API URLs (basePath + route)\n * Useful for testing and documentation\n */\nexport const COMMIT_FULL_ROUTES = {\n SCOPES: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.SCOPES}`,\n STATUS: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.STATUS}`,\n PLAN: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.PLAN}`,\n GIT_STATUS: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.GIT_STATUS}`,\n FILES: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.FILES}`,\n DIFF: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.DIFF}`,\n SUMMARIZE: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.SUMMARIZE}`,\n ACTIONS: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.ACTIONS}`,\n GENERATE: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.GENERATE}`,\n APPLY: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.APPLY}`,\n PUSH: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.PUSH}`,\n RESET: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.RESET}`,\n PATCH_PLAN: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.PATCH_PLAN}`,\n REGENERATE_COMMIT: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.REGENERATE_COMMIT}`,\n} as const;\n\n/**\n * Widget-friendly route IDs (without leading slash)\n * Use these in manifest.studio.widgets[].data.source.routeId\n */\nexport const COMMIT_WIDGET_ROUTES = {\n SCOPES: \"scopes\",\n STATUS: \"status\",\n PLAN: \"plan\",\n GIT_STATUS: \"git-status\",\n FILES: \"files\",\n DIFF: \"diff\",\n SUMMARIZE: \"summarize\",\n ACTIONS: \"actions\",\n GENERATE: \"generate\",\n APPLY: \"apply\",\n PUSH: \"push\",\n RESET: \"plan\",\n PATCH_PLAN: \"plan\",\n REGENERATE_COMMIT: \"regenerate-commit\",\n} as const;\n\nexport type CommitRoute = (typeof COMMIT_ROUTES)[keyof typeof COMMIT_ROUTES];\nexport type CommitWidgetRoute =\n (typeof COMMIT_WIDGET_ROUTES)[keyof typeof COMMIT_WIDGET_ROUTES];\n","/**\n * @module @kb-labs/commit-contracts/events\n * Studio event definitions for commit plugin\n */\n\n/**\n * Event names for commit plugin widgets\n */\nexport const COMMIT_EVENTS = {\n /** Scope selector changed */\n SCOPE_CHANGED: \"scope:changed\",\n /** Form submitted (actions widget) */\n FORM_SUBMITTED: \"form:submitted\",\n /** Commit plan generated */\n PLAN_GENERATED: \"plan:generated\",\n} as const;\n\nexport type CommitEventName =\n (typeof COMMIT_EVENTS)[keyof typeof COMMIT_EVENTS];\n\n/**\n * Event payload types\n */\n\n/** Payload for scope:changed event */\nexport interface ScopeChangedPayload {\n /** Selected scope ID */\n scope: string;\n}\n\n/** Payload for form:submitted event */\nexport interface FormSubmittedPayload {\n /** Action ID that was submitted */\n action: string;\n /** Form data (if any) */\n data?: Record<string, unknown>;\n}\n\n/** Payload for plan:generated event */\nexport interface PlanGeneratedPayload {\n /** The generated commit plan */\n plan: {\n commits: Array<{\n type: string;\n scope?: string;\n message: string;\n body?: string;\n files: string[];\n }>;\n };\n /** Scope where plan was generated */\n scope: string;\n}\n\n/**\n * Union type for all commit event payloads\n */\nexport type CommitEventPayload =\n | ScopeChangedPayload\n | FormSubmittedPayload\n | PlanGeneratedPayload;\n","export {\n pluginContractsManifest,\n type PluginArtifactIds,\n type PluginCommandIds,\n} from \"./contract\";\nexport {\n getArtifactPath,\n getArtifact,\n hasArtifact,\n getCommand,\n hasCommand,\n getCommandId,\n getArtifactId,\n} from \"./helpers\";\nexport {\n parsePluginContracts,\n pluginContractsSchema,\n} from \"./schema/contract.schema\";\nexport { contractsSchemaId, contractsVersion } from \"./version\";\nexport * from \"./types\";\nexport * from \"./schema\";\nexport * from \"./schema/rest.schema\";\nexport * from \"./flags\";\nexport * from \"./env\";\nexport * from \"./routes\";\nexport * from \"./events\";\n\n/**\n * Cache key prefix for commit plugin\n * Used for platform cache namespacing: commit:git-status:*, commit:plan-applied:*\n */\nexport const COMMIT_CACHE_PREFIX = \"commit:\" as const;\n"]}
1
+ {"version":3,"sources":["../../home/runner/work/kb-labs/kb-labs/plugins/commit/contracts/src/version.ts","../../home/runner/work/kb-labs/kb-labs/plugins/commit/contracts/src/contract.ts","../../home/runner/work/kb-labs/kb-labs/plugins/commit/contracts/src/helpers.ts","../../home/runner/work/kb-labs/kb-labs/plugins/commit/contracts/src/schema/api.schema.ts","../../home/runner/work/kb-labs/kb-labs/plugins/commit/contracts/src/schema/artifacts.schema.ts","../../home/runner/work/kb-labs/kb-labs/plugins/commit/contracts/src/schema/commands.schema.ts","../../home/runner/work/kb-labs/kb-labs/plugins/commit/contracts/src/schema/workflows.schema.ts","../../home/runner/work/kb-labs/kb-labs/plugins/commit/contracts/src/schema/contract.schema.ts","../../home/runner/work/kb-labs/kb-labs/plugins/commit/contracts/src/types/config.ts","../../home/runner/work/kb-labs/kb-labs/plugins/commit/contracts/src/schema.ts","../../home/runner/work/kb-labs/kb-labs/plugins/commit/contracts/src/schema/rest.schema.ts","../../home/runner/work/kb-labs/kb-labs/plugins/commit/contracts/src/flags.ts","../../home/runner/work/kb-labs/kb-labs/plugins/commit/contracts/src/env.ts","../../home/runner/work/kb-labs/kb-labs/plugins/commit/contracts/src/routes.ts","../../home/runner/work/kb-labs/kb-labs/plugins/commit/contracts/src/events.ts","../../home/runner/work/kb-labs/kb-labs/plugins/commit/contracts/src/index.ts"],"names":["z"],"mappings":"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","file":"index.js","sourcesContent":["export const contractsSchemaId = \"kb.plugin.contracts/1\" as const;\n\nexport type ContractsSchemaId = typeof contractsSchemaId;\n\nexport const contractsVersion = \"1.0.0\" as const;\n","import type { PluginContracts } from \"./types\";\nimport { contractsSchemaId, contractsVersion } from \"./version\";\n\n/**\n * KB Labs Commit Plugin - Contracts Manifest\n *\n * Level 2: Type-safe contracts with as const for type extraction.\n * Defines artifacts, commands, and their relationships.\n */\nexport const pluginContractsManifest = {\n schema: contractsSchemaId,\n pluginId: \"@kb-labs/commit\",\n contractsVersion,\n artifacts: {\n \"commit.plan.json\": {\n id: \"commit.plan.json\",\n kind: \"json\",\n description:\n \"Current commit plan generated by LLM analysis of git changes.\",\n pathPattern: \".kb/commit/current/plan.json\",\n mediaType: \"application/json\",\n schemaRef: \"@kb-labs/commit-contracts/schema#CommitPlan\",\n example: {\n summary: \"Example commit plan with two commits\",\n payload: {\n schemaVersion: \"1.0\",\n commits: [\n {\n id: \"c1\",\n type: \"feat\",\n scope: \"ui\",\n message: \"add button component\",\n files: [\"src/components/Button.tsx\"],\n releaseHint: \"minor\",\n },\n ],\n },\n },\n },\n \"commit.status.json\": {\n id: \"commit.status.json\",\n kind: \"json\",\n description: \"Git status snapshot at plan generation time.\",\n pathPattern: \".kb/commit/current/status.json\",\n mediaType: \"application/json\",\n schemaRef: \"@kb-labs/commit-contracts/schema#GitStatusSnapshot\",\n },\n \"commit.history\": {\n id: \"commit.history\",\n kind: \"dir\",\n description: \"History of applied commit plans with results.\",\n pathPattern: \".kb/commit/history/\",\n },\n },\n commands: {\n commit: {\n id: \"commit\",\n description: \"Generate and apply commits (default flow).\",\n input: {\n ref: \"@kb-labs/commit-contracts/schema#CommitRunInput\",\n format: \"zod\",\n },\n output: {\n ref: \"@kb-labs/commit-contracts/schema#CommitRunOutput\",\n format: \"zod\",\n },\n produces: [\"commit.plan.json\", \"commit.status.json\"],\n examples: [\"kb commit\", \"kb commit --dry-run\", \"kb commit --with-push\"],\n },\n \"commit:generate\": {\n id: \"commit:generate\",\n description: \"Generate commit plan from git changes using LLM.\",\n input: {\n ref: \"@kb-labs/commit-contracts/schema#GenerateInput\",\n format: \"zod\",\n },\n output: {\n ref: \"@kb-labs/commit-contracts/schema#GenerateOutput\",\n format: \"zod\",\n },\n produces: [\"commit.plan.json\", \"commit.status.json\"],\n examples: [\n \"kb commit generate\",\n \"kb commit generate --json\",\n \"kb commit generate --scope src/**\",\n ],\n },\n \"commit:apply\": {\n id: \"commit:apply\",\n description: \"Apply current commit plan (create local git commits).\",\n input: {\n ref: \"@kb-labs/commit-contracts/schema#ApplyInput\",\n format: \"zod\",\n },\n output: {\n ref: \"@kb-labs/commit-contracts/schema#ApplyOutput\",\n format: \"zod\",\n },\n produces: [],\n examples: [\"kb commit apply\", \"kb commit apply --force\"],\n },\n \"commit:push\": {\n id: \"commit:push\",\n description: \"Push commits to remote repository.\",\n input: {\n ref: \"@kb-labs/commit-contracts/schema#PushInput\",\n format: \"zod\",\n },\n output: {\n ref: \"@kb-labs/commit-contracts/schema#PushOutput\",\n format: \"zod\",\n },\n produces: [],\n examples: [\"kb commit push\", \"kb commit push --force\"],\n },\n \"commit:open\": {\n id: \"commit:open\",\n description: \"Show current commit plan.\",\n input: {\n ref: \"@kb-labs/commit-contracts/schema#OpenInput\",\n format: \"zod\",\n },\n output: {\n ref: \"@kb-labs/commit-contracts/schema#OpenOutput\",\n format: \"zod\",\n },\n produces: [],\n examples: [\"kb commit open\", \"kb commit open --json\"],\n },\n \"commit:reset\": {\n id: \"commit:reset\",\n description: \"Clear current commit plan.\",\n output: {\n ref: \"@kb-labs/commit-contracts/schema#ResetOutput\",\n format: \"zod\",\n },\n produces: [],\n examples: [\"kb commit reset\"],\n },\n },\n} as const satisfies PluginContracts;\n\n// Extract types for use in manifest and commands\nexport type PluginArtifactIds = keyof typeof pluginContractsManifest.artifacts;\nexport type PluginCommandIds = keyof typeof pluginContractsManifest.commands;\n","/**\n * Type-safe helper functions for contracts\n * @module @kb-labs/commit-contracts/helpers\n */\n\nimport {\n pluginContractsManifest,\n type PluginArtifactIds,\n type PluginCommandIds,\n} from \"./contract\";\n\n/**\n * Get artifact path pattern by ID (type-safe)\n *\n * @example\n * const path = getArtifactPath('commit.plan.json');\n * // Returns: '.kb/commit/current/plan.json'\n */\nexport function getArtifactPath<T extends PluginArtifactIds>(id: T): string {\n const artifact = pluginContractsManifest.artifacts[id];\n if (!artifact) {\n throw new Error(`Artifact ${String(id)} not found in contracts`);\n }\n return artifact.pathPattern;\n}\n\n/**\n * Get artifact metadata by ID (type-safe)\n *\n * @example\n * const artifact = getArtifact('commit.plan.json');\n * // artifact.kind, artifact.description, etc.\n */\nexport function getArtifact<T extends PluginArtifactIds>(id: T) {\n const artifact = pluginContractsManifest.artifacts[id];\n if (!artifact) {\n throw new Error(`Artifact ${String(id)} not found in contracts`);\n }\n return artifact;\n}\n\n/**\n * Check if artifact ID exists in contracts (type-safe)\n *\n * @example\n * if (hasArtifact('commit.plan.json')) {\n * // TypeScript knows the type!\n * }\n */\nexport function hasArtifact(id: string): id is PluginArtifactIds {\n return id in pluginContractsManifest.artifacts;\n}\n\n/**\n * Get command metadata by ID (type-safe)\n *\n * @example\n * const command = getCommand('commit:generate');\n * // command.description, command.input, command.output, etc.\n */\nexport function getCommand<T extends PluginCommandIds>(id: T) {\n if (!pluginContractsManifest.commands) {\n throw new Error(\"Commands not defined in contracts\");\n }\n const command = pluginContractsManifest.commands[id];\n if (!command) {\n throw new Error(`Command ${String(id)} not found in contracts`);\n }\n return command;\n}\n\n/**\n * Check if command ID exists in contracts (type-safe)\n *\n * @example\n * if (hasCommand('commit:generate')) {\n * // TypeScript knows the type!\n * }\n */\nexport function hasCommand(id: string): id is PluginCommandIds {\n return (\n pluginContractsManifest.commands !== undefined &&\n id in pluginContractsManifest.commands\n );\n}\n\n/**\n * Type-safe identity function for command IDs (useful for validation)\n *\n * @example\n * const cmdId = getCommandId('commit:generate'); // Compile-time validation!\n */\nexport function getCommandId<T extends PluginCommandIds>(id: T): T {\n return id;\n}\n\n/**\n * Type-safe identity function for artifact IDs (useful for validation)\n *\n * @example\n * const artifactId = getArtifactId('commit.plan.json'); // Compile-time validation!\n */\nexport function getArtifactId<T extends PluginArtifactIds>(id: T): T {\n return id;\n}\n","import { z } from \"zod\";\n\nexport const schemaReferenceSchema = z.object({\n ref: z.string().min(1),\n format: z.enum([\"zod\", \"json-schema\", \"openapi\"]).optional(),\n description: z.string().optional(),\n});\n\nexport const restRouteContractSchema = z.object({\n id: z.string().min(1),\n method: z.string().min(1),\n path: z.string().min(1),\n description: z.string().optional(),\n request: schemaReferenceSchema.optional(),\n response: schemaReferenceSchema.optional(),\n produces: z.array(z.string().min(1)).optional(),\n consumes: z.array(z.string().min(1)).optional(),\n});\n\nexport const restApiContractSchema = z.object({\n basePath: z.string().min(1),\n routes: z.record(restRouteContractSchema),\n});\n\nexport const apiContractSchema = z.object({\n rest: restApiContractSchema.optional(),\n});\n","import { z } from \"zod\";\n\nexport const artifactExampleSchema = z.object({\n summary: z.string().optional(),\n payload: z.unknown().optional(),\n});\n\nexport const artifactContractSchema = z.object({\n id: z.string().min(1),\n kind: z.enum([\"file\", \"json\", \"markdown\", \"binary\", \"dir\", \"log\"]),\n description: z.string().optional(),\n pathPattern: z.string().min(1).optional(),\n mediaType: z.string().min(1).optional(),\n schemaRef: z.string().min(1).optional(),\n example: artifactExampleSchema.optional(),\n});\n\nexport const artifactsContractMapSchema = z.record(artifactContractSchema);\n","import { z } from \"zod\";\nimport { schemaReferenceSchema } from \"./api.schema\";\n\nexport const commandContractSchema = z.object({\n id: z.string().min(1),\n description: z.string().optional(),\n input: schemaReferenceSchema.optional(),\n output: schemaReferenceSchema.optional(),\n produces: z.array(z.string().min(1)).optional(),\n consumes: z.array(z.string().min(1)).optional(),\n examples: z.array(z.string().min(1)).optional(),\n});\n\nexport const commandContractMapSchema = z.record(commandContractSchema);\n","import { z } from \"zod\";\n\nexport const workflowStepSchema = z.object({\n id: z.string().min(1),\n description: z.string().optional(),\n commandId: z.string().min(1).optional(),\n consumes: z.array(z.string().min(1)).optional(),\n produces: z.array(z.string().min(1)).optional(),\n});\n\nexport const workflowContractSchema = z.object({\n id: z.string().min(1),\n description: z.string().optional(),\n consumes: z.array(z.string().min(1)).optional(),\n produces: z.array(z.string().min(1)).optional(),\n steps: z.array(workflowStepSchema).optional(),\n});\n\nexport const workflowContractMapSchema = z.record(workflowContractSchema);\n","import { z } from \"zod\";\nimport { apiContractSchema } from \"./api.schema\";\nimport { artifactsContractMapSchema } from \"./artifacts.schema\";\nimport { commandContractMapSchema } from \"./commands.schema\";\nimport { workflowContractMapSchema } from \"./workflows.schema\";\nimport { contractsSchemaId } from \"../version\";\n\nexport const pluginContractsSchema = z\n .object({\n schema: z.literal(contractsSchemaId),\n pluginId: z.string().min(1),\n contractsVersion: z.string().min(1),\n artifacts: artifactsContractMapSchema,\n commands: commandContractMapSchema.optional(),\n workflows: workflowContractMapSchema.optional(),\n api: apiContractSchema.optional(),\n })\n .strict();\n\nexport type PluginContractsSchema = z.infer<typeof pluginContractsSchema>;\n\nexport function parsePluginContracts(input: unknown) {\n return pluginContractsSchema.parse(input);\n}\n","/**\n * Plugin Configuration Contract\n *\n * Defines the shape of plugin configuration stored in kb.config.json\n * under plugins.commit section.\n *\n * This type is the single source of truth for:\n * - defineSetup (setup handler knows what config to create)\n * - defineCommand (commands can access typed config)\n */\n\n/**\n * LLM configuration for commit generation\n */\nexport interface LLMConfig {\n /** Whether to use LLM for commit generation (default: true) */\n enabled: boolean;\n /** Temperature for LLM responses (0-1, default: 0.3) */\n temperature: number;\n /** Maximum tokens for LLM response (default: 2000) */\n maxTokens: number;\n}\n\n/**\n * Storage configuration\n */\nexport interface StorageConfig {\n /** Directory for commit plugin data (default: .kb/commit) */\n directory: string;\n}\n\n/**\n * Git configuration\n */\nexport interface GitConfig {\n /** Protected branches that require confirmation (default: ['main', 'master']) */\n protectedBranches: string[];\n /** Whether to auto-stage all changes before commit (default: false) */\n autoStage: boolean;\n}\n\n/**\n * A single commit scope definition\n */\nexport interface CommitScope {\n /** Scope identifier — used as value in selector and in API requests */\n id: string;\n /** Display label shown in Studio UI */\n label: string;\n /**\n * Relative path from workspace root to the target git repository.\n * Use \".\" for the workspace root itself.\n * @example \".\"\n * @example \"public/kb-labs\"\n * @example \"plugins/kb-labs-mind\"\n */\n path: string;\n /** Optional description shown in Studio selector */\n description?: string;\n}\n\n/**\n * Scope configuration\n */\nexport interface ScopeConfig {\n /** Default scope id to pre-select in Studio and use when not specified via CLI */\n default?: string;\n /**\n * Explicit list of available scopes.\n * If not provided, falls back to a single \"root\" scope (workspace root).\n *\n * @example\n * ```json\n * \"scopes\": [\n * { \"id\": \"root\", \"label\": \"workspace root\", \"path\": \".\" },\n * { \"id\": \"public/kb-labs\", \"label\": \"kb-labs (public)\", \"path\": \"public/kb-labs\" }\n * ]\n * ```\n */\n scopes?: CommitScope[];\n}\n\n/**\n * Plugin configuration stored in kb.config.json\n *\n * @example\n * ```json\n * {\n * \"plugins\": {\n * \"commit\": {\n * \"enabled\": true,\n * \"llm\": {\n * \"enabled\": true,\n * \"temperature\": 0.3,\n * \"maxTokens\": 2000\n * },\n * \"storage\": {\n * \"directory\": \".kb/commit\"\n * },\n * \"git\": {\n * \"protectedBranches\": [\"main\", \"master\"],\n * \"autoStage\": false\n * },\n * \"scope\": {\n * \"default\": \"kb-labs-commit-plugin\"\n * }\n * }\n * }\n * }\n * ```\n */\nexport interface CommitPluginConfig {\n /** Whether the plugin is enabled */\n enabled: boolean;\n /** LLM configuration */\n llm: LLMConfig;\n /** Storage configuration */\n storage: StorageConfig;\n /** Git configuration */\n git: GitConfig;\n /** Scope configuration */\n scope?: ScopeConfig;\n}\n\n/**\n * Environment variables supported by commit plugin\n * Must be declared in manifest.permissions.env.allow\n */\nexport const COMMIT_ENV_VARS = [\n \"KB_COMMIT_LLM_ENABLED\",\n \"KB_COMMIT_LLM_TEMPERATURE\",\n \"KB_COMMIT_LLM_MAX_TOKENS\",\n \"KB_COMMIT_STORAGE_DIR\",\n \"KB_COMMIT_AUTO_STAGE\",\n] as const;\n\nexport type CommitEnvVar = (typeof COMMIT_ENV_VARS)[number];\n\n/**\n * Default plugin configuration values\n */\nexport const defaultCommitConfig: CommitPluginConfig = {\n enabled: true,\n llm: {\n enabled: true,\n temperature: 0.3,\n maxTokens: 2000,\n },\n storage: {\n directory: \".kb/commit\",\n },\n git: {\n protectedBranches: [\"main\", \"master\"],\n autoStage: false,\n },\n scope: {\n default: 'root',\n scopes: [{ id: 'root', label: 'root', path: '.' }],\n },\n};\n\n/**\n * Resolve config with env variable overrides\n *\n * @param fileConfig - Config from kb.config.json (via useConfig)\n * @param env - Environment variables (from commitEnv.parse(runtime))\n */\nexport function resolveCommitConfig(\n fileConfig: Partial<CommitPluginConfig> = {},\n env: Partial<{\n KB_COMMIT_LLM_ENABLED: boolean;\n KB_COMMIT_LLM_TEMPERATURE: number;\n KB_COMMIT_LLM_MAX_TOKENS: number;\n KB_COMMIT_STORAGE_DIR: string;\n KB_COMMIT_AUTO_STAGE: boolean;\n }> = {},\n): CommitPluginConfig {\n const config: CommitPluginConfig = {\n enabled: fileConfig.enabled ?? defaultCommitConfig.enabled,\n llm: {\n enabled:\n env.KB_COMMIT_LLM_ENABLED ??\n fileConfig.llm?.enabled ??\n defaultCommitConfig.llm.enabled,\n temperature:\n env.KB_COMMIT_LLM_TEMPERATURE ??\n fileConfig.llm?.temperature ??\n defaultCommitConfig.llm.temperature,\n maxTokens:\n env.KB_COMMIT_LLM_MAX_TOKENS ??\n fileConfig.llm?.maxTokens ??\n defaultCommitConfig.llm.maxTokens,\n },\n storage: {\n directory:\n env.KB_COMMIT_STORAGE_DIR ??\n fileConfig.storage?.directory ??\n defaultCommitConfig.storage.directory,\n },\n git: {\n protectedBranches:\n fileConfig.git?.protectedBranches ??\n defaultCommitConfig.git.protectedBranches,\n autoStage:\n env.KB_COMMIT_AUTO_STAGE ??\n fileConfig.git?.autoStage ??\n defaultCommitConfig.git.autoStage,\n },\n scope: {\n default: fileConfig.scope?.default ?? defaultCommitConfig.scope?.default,\n scopes: fileConfig.scope?.scopes ?? defaultCommitConfig.scope?.scopes,\n },\n };\n\n return config;\n}\n","import { z } from \"zod\";\n\n// ============================================================================\n// Core Types\n// ============================================================================\n\n/**\n * Conventional commit types\n */\nexport const ConventionalTypeSchema = z.enum([\n \"feat\",\n \"fix\",\n \"refactor\",\n \"chore\",\n \"docs\",\n \"test\",\n \"build\",\n \"ci\",\n \"perf\",\n]);\n\nexport type ConventionalType = z.infer<typeof ConventionalTypeSchema>;\n\n/**\n * Release hint for semantic versioning\n */\nexport const ReleaseHintSchema = z.enum([\"none\", \"patch\", \"minor\", \"major\"]);\n\nexport type ReleaseHint = z.infer<typeof ReleaseHintSchema>;\n\n// ============================================================================\n// Git Status\n// ============================================================================\n\n/**\n * Git status snapshot\n */\nexport const GitStatusSchema = z.object({\n staged: z.array(z.string()),\n unstaged: z.array(z.string()),\n untracked: z.array(z.string()),\n});\n\nexport type GitStatus = z.infer<typeof GitStatusSchema>;\n\n/**\n * File summary with diff stats\n */\nexport const FileSummarySchema = z.object({\n path: z.string(),\n status: z.enum([\"added\", \"modified\", \"deleted\", \"renamed\", \"copied\"]),\n additions: z.number().int().min(0),\n deletions: z.number().int().min(0),\n binary: z.boolean().default(false),\n /** Whether file is truly new (never existed in repo history) */\n isNewFile: z.boolean().default(false),\n});\n\nexport type FileSummary = z.infer<typeof FileSummarySchema>;\n\n// ============================================================================\n// Commit Plan\n// ============================================================================\n\n/**\n * Reasoning for commit type classification\n */\nexport const CommitReasoningSchema = z.object({\n /** Does this change add NEW user-visible behavior? */\n newBehavior: z.boolean().default(false),\n /** Does this change fix BROKEN functionality? */\n fixesBug: z.boolean().default(false),\n /** Is this only INTERNAL restructuring? */\n internalOnly: z.boolean().default(false),\n /** Human-readable explanation of why this type was chosen */\n explanation: z.string().default(''),\n /** LLM confidence in this classification (0.0-1.0) */\n confidence: z.number().min(0).max(1).default(0.5),\n});\n\nexport type CommitReasoning = z.infer<typeof CommitReasoningSchema>;\n\n/**\n * A single commit group in the plan\n */\nexport const CommitGroupSchema = z.object({\n id: z.string(),\n type: ConventionalTypeSchema,\n scope: z.string().optional(),\n message: z.string().min(1),\n body: z.string().optional(),\n files: z.array(z.string()).min(1),\n releaseHint: ReleaseHintSchema.default(\"none\"),\n breaking: z.boolean().default(false),\n /** Reasoning for commit type classification (optional, added by LLM) */\n reasoning: CommitReasoningSchema.optional(),\n});\n\nexport type CommitGroup = z.infer<typeof CommitGroupSchema>;\n\n/**\n * Complete commit plan\n */\nexport const CommitPlanSchema = z.object({\n schemaVersion: z.literal(\"1.0\"),\n createdAt: z.string().datetime(),\n repoRoot: z.string(),\n gitStatus: GitStatusSchema,\n commits: z.array(CommitGroupSchema),\n metadata: z.object({\n totalFiles: z.number().int().min(0),\n totalCommits: z.number().int().min(0),\n llmUsed: z.boolean(),\n tokensUsed: z.number().int().min(0).optional(),\n /** Whether LLM escalated to Phase 2 (requested diff for more context) */\n escalated: z.boolean().optional(),\n }),\n});\n\nexport type CommitPlan = z.infer<typeof CommitPlanSchema>;\n\n/**\n * Git status snapshot for storage\n */\nexport const GitStatusSnapshotSchema = z.object({\n schemaVersion: z.literal(\"1.0\"),\n createdAt: z.string().datetime(),\n status: GitStatusSchema,\n summaries: z.array(FileSummarySchema),\n});\n\nexport type GitStatusSnapshot = z.infer<typeof GitStatusSnapshotSchema>;\n\n// ============================================================================\n// Command Input/Output Schemas\n// ============================================================================\n\n// --- commit (run) ---\nexport const CommitRunInputSchema = z.object({\n scope: z.string().optional(),\n dryRun: z.boolean().default(false),\n withPush: z.boolean().default(false),\n});\n\nexport type CommitRunInput = z.infer<typeof CommitRunInputSchema>;\n\nexport const CommitRunOutputSchema = z.object({\n plan: CommitPlanSchema,\n applied: z.boolean(),\n pushed: z.boolean(),\n commits: z.array(\n z.object({\n id: z.string(),\n sha: z.string().optional(),\n message: z.string(),\n }),\n ),\n});\n\nexport type CommitRunOutput = z.infer<typeof CommitRunOutputSchema>;\n\n// --- commit:generate ---\nexport const GenerateInputSchema = z.object({\n scope: z.string().optional(),\n});\n\nexport type GenerateInput = z.infer<typeof GenerateInputSchema>;\n\nexport const GenerateOutputSchema = z.object({\n plan: CommitPlanSchema,\n planPath: z.string(),\n});\n\nexport type GenerateOutput = z.infer<typeof GenerateOutputSchema>;\n\n// --- commit:apply ---\nexport const ApplyInputSchema = z.object({\n force: z.boolean().default(false),\n});\n\nexport type ApplyInput = z.infer<typeof ApplyInputSchema>;\n\nexport const ApplyOutputSchema = z.object({\n success: z.boolean(),\n commits: z.array(\n z.object({\n id: z.string(),\n sha: z.string(),\n message: z.string(),\n }),\n ),\n errors: z.array(z.string()).default([]),\n});\n\nexport type ApplyOutput = z.infer<typeof ApplyOutputSchema>;\n\n// --- commit:push ---\nexport const PushInputSchema = z.object({\n force: z.boolean().default(false),\n});\n\nexport type PushInput = z.infer<typeof PushInputSchema>;\n\nexport const PushOutputSchema = z.object({\n success: z.boolean(),\n remote: z.string(),\n branch: z.string(),\n commits: z.number().int().min(0),\n});\n\nexport type PushOutput = z.infer<typeof PushOutputSchema>;\n\n// --- commit:open ---\nexport const OpenInputSchema = z.object({\n json: z.boolean().default(false),\n});\n\nexport type OpenInput = z.infer<typeof OpenInputSchema>;\n\nexport const OpenOutputSchema = z.object({\n hasPlan: z.boolean(),\n plan: CommitPlanSchema.optional(),\n planPath: z.string().optional(),\n stale: z.boolean().optional(),\n staleReason: z.string().optional(),\n});\n\nexport type OpenOutput = z.infer<typeof OpenOutputSchema>;\n\n// --- commit:reset ---\nexport const ResetOutputSchema = z.object({\n success: z.boolean(),\n message: z.string(),\n});\n\nexport type ResetOutput = z.infer<typeof ResetOutputSchema>;\n\n// ============================================================================\n// Result Types (for core package)\n// ============================================================================\n\nexport const ApplyResultSchema = z.object({\n success: z.boolean(),\n appliedCommits: z.array(\n z.object({\n groupId: z.string(),\n sha: z.string(),\n message: z.string(),\n }),\n ),\n errors: z.array(z.string()),\n});\n\nexport type ApplyResult = z.infer<typeof ApplyResultSchema>;\n\nexport const PushResultSchema = z.object({\n success: z.boolean(),\n remote: z.string(),\n branch: z.string(),\n commitsPushed: z.number().int().min(0),\n error: z.string().optional(),\n});\n\nexport type PushResult = z.infer<typeof PushResultSchema>;\n\n// ============================================================================\n// REST API Responses\n// ============================================================================\n\n/**\n * GET /actions response\n * Returns empty object for actions widget (widget only needs action buttons)\n */\nexport const ActionsResponseSchema = z.object({\n scope: z.string().optional(),\n});\n\nexport type ActionsResponse = z.infer<typeof ActionsResponseSchema>;\n","import { z } from \"zod\";\nimport {\n CommitPlanSchema,\n GitStatusSchema,\n FileSummarySchema,\n ApplyResultSchema,\n PushResultSchema,\n} from \"../schema\";\n\n// ============================================================================\n// Scopes\n// ============================================================================\n\n/**\n * Single scope entry\n */\nexport const ScopeSchema = z.object({\n id: z.string().min(1),\n name: z.string().min(1),\n path: z.string().min(1),\n description: z.string().optional(),\n});\n\nexport type Scope = z.infer<typeof ScopeSchema>;\n\n/**\n * GET /scopes response\n */\nexport const ScopesResponseSchema = z.object({\n scopes: z.array(ScopeSchema),\n});\n\nexport type ScopesResponse = z.infer<typeof ScopesResponseSchema>;\n\n// ============================================================================\n// Status\n// ============================================================================\n\n/**\n * Plan status lifecycle\n * - idle: No plan exists, need to generate\n * - ready: Plan generated, ready to apply\n * - applied: Plan applied as commits, ready to push\n * - pushed: Commits pushed to remote\n */\nexport const PlanStatusSchema = z.enum([\"idle\", \"ready\", \"applied\", \"pushed\"]);\n\nexport type PlanStatus = z.infer<typeof PlanStatusSchema>;\n\n/**\n * GET /status?scope=X response\n */\nexport const StatusResponseSchema = z.object({\n scope: z.string().default(\"root\"),\n hasPlan: z.boolean(),\n planStatus: PlanStatusSchema.default(\"idle\"),\n planTimestamp: z.string().datetime().optional(),\n gitStatus: GitStatusSchema.optional(),\n filesChanged: z.number().int().min(0).default(0),\n commitsInPlan: z.number().int().min(0).default(0),\n commitsApplied: z.number().int().min(0).default(0),\n branch: z.string().optional(),\n workingDir: z.string().optional(),\n planStale: z.boolean().optional(),\n planStaleReason: z.string().optional(),\n});\n\nexport type StatusResponse = z.infer<typeof StatusResponseSchema>;\n\n// ============================================================================\n// Generate Plan\n// ============================================================================\n\n/**\n * POST /generate request body\n */\nexport const GenerateRequestSchema = z.object({\n scope: z.string().default(\"root\"),\n dryRun: z.boolean().default(false),\n allowSecrets: z.boolean().default(false),\n autoConfirm: z.boolean().default(false),\n});\n\nexport type GenerateRequest = z.infer<typeof GenerateRequestSchema>;\n\n/**\n * Secret match location\n */\nexport const SecretMatchSchema = z.object({\n file: z.string(),\n line: z.number(),\n column: z.number(),\n type: z.string(),\n pattern: z.string(),\n matched: z.string(),\n context: z.string(),\n});\n\nexport type SecretMatch = z.infer<typeof SecretMatchSchema>;\n\n/**\n * POST /generate response\n */\nexport const GenerateResponseSchema = z.object({\n success: z.boolean(),\n // Success fields (when success=true)\n plan: CommitPlanSchema.optional(),\n planPath: z.string().optional(),\n scope: z.string().default(\"root\"),\n // Secrets detected fields (when success=false)\n secretsDetected: z.boolean().default(false),\n secrets: z.array(SecretMatchSchema).optional(),\n message: z.string().optional(),\n});\n\nexport type GenerateResponse = z.infer<typeof GenerateResponseSchema>;\n\n// ============================================================================\n// Get Plan\n// ============================================================================\n\n/**\n * GET /plan?scope=X response\n */\nexport const PlanResponseSchema = z.object({\n hasPlan: z.boolean(),\n plan: CommitPlanSchema.optional(),\n scope: z.string().default(\"root\"),\n});\n\nexport type PlanResponse = z.infer<typeof PlanResponseSchema>;\n\n// ============================================================================\n// Patch Plan (Edit Commit)\n// ============================================================================\n\n/**\n * PATCH /plan request body — edit a single commit in the plan\n */\nexport const PatchPlanRequestSchema = z.object({\n scope: z.string().default(\"root\"),\n commitId: z.string().min(1),\n message: z.string().min(1).optional(),\n type: z.string().optional(),\n scope_: z.string().optional(),\n body: z.string().optional(),\n});\n\nexport type PatchPlanRequest = z.infer<typeof PatchPlanRequestSchema>;\n\n/**\n * PATCH /plan response\n */\nexport const PatchPlanResponseSchema = z.object({\n success: z.boolean(),\n scope: z.string().default(\"root\"),\n commitId: z.string(),\n});\n\nexport type PatchPlanResponse = z.infer<typeof PatchPlanResponseSchema>;\n\n// ============================================================================\n// Regenerate Commit\n// ============================================================================\n\n/**\n * POST /regenerate-commit request body\n */\nexport const RegenerateCommitRequestSchema = z.object({\n scope: z.string().default(\"root\"),\n commitId: z.string().min(1),\n instruction: z.string().optional(),\n});\n\nexport type RegenerateCommitRequest = z.infer<typeof RegenerateCommitRequestSchema>;\n\n/**\n * POST /regenerate-commit response\n */\nexport const RegenerateCommitResponseSchema = z.object({\n success: z.boolean(),\n scope: z.string().default(\"root\"),\n commitId: z.string(),\n commit: CommitPlanSchema.shape.commits.element.optional(),\n});\n\nexport type RegenerateCommitResponse = z.infer<typeof RegenerateCommitResponseSchema>;\n\n// ============================================================================\n// Apply Commits\n// ============================================================================\n\n/**\n * POST /apply request body\n */\nexport const ApplyRequestSchema = z.object({\n scope: z.string().default(\"root\"),\n force: z.boolean().default(false),\n /** Optional: apply only specific commits by ID. If omitted, applies all. */\n commitIds: z.array(z.string()).optional(),\n});\n\nexport type ApplyRequest = z.infer<typeof ApplyRequestSchema>;\n\n/**\n * POST /apply response\n */\nexport const ApplyResponseSchema = z.object({\n result: ApplyResultSchema,\n scope: z.string().default(\"root\"),\n});\n\nexport type ApplyResponse = z.infer<typeof ApplyResponseSchema>;\n\n// ============================================================================\n// Push Commits\n// ============================================================================\n\n/**\n * POST /push request body\n */\nexport const PushRequestSchema = z.object({\n scope: z.string().default(\"root\"),\n remote: z.string().default(\"origin\"),\n force: z.boolean().default(false),\n});\n\nexport type PushRequest = z.infer<typeof PushRequestSchema>;\n\n/**\n * POST /push response\n */\nexport const PushResponseSchema = z.object({\n result: PushResultSchema,\n scope: z.string().default(\"root\"),\n});\n\nexport type PushResponse = z.infer<typeof PushResponseSchema>;\n\n// ============================================================================\n// Reset Plan\n// ============================================================================\n\n/**\n * DELETE /plan?scope=X response\n */\nexport const ResetResponseSchema = z.object({\n success: z.boolean(),\n message: z.string(),\n scope: z.string().default(\"root\"),\n});\n\nexport type ResetResponse = z.infer<typeof ResetResponseSchema>;\n\n// ============================================================================\n// Git Status\n// ============================================================================\n\n/**\n * GET /git-status?scope=X response\n */\nexport const GitStatusResponseSchema = z.object({\n scope: z.string().default(\"root\"),\n status: GitStatusSchema,\n summaries: z.array(FileSummarySchema),\n totalFiles: z.number().int().min(0),\n});\n\nexport type GitStatusResponse = z.infer<typeof GitStatusResponseSchema>;\n\n// ============================================================================\n// File Diff\n// ============================================================================\n\n/**\n * GET /diff?scope=X&file=Y response\n */\nexport const FileDiffResponseSchema = z.object({\n scope: z.string().default(\"root\"),\n file: z.string(),\n diff: z.string(),\n additions: z.number().int().min(0).default(0),\n deletions: z.number().int().min(0).default(0),\n});\n\nexport type FileDiffResponse = z.infer<typeof FileDiffResponseSchema>;\n\n// ============================================================================\n// Summarize Changes\n// ============================================================================\n\n/**\n * POST /summarize request body\n */\nexport const SummarizeRequestSchema = z.object({\n scope: z.string().default(\"root\"),\n /** Optional file path - if provided, summarize only this file */\n file: z.string().optional(),\n});\n\nexport type SummarizeRequest = z.infer<typeof SummarizeRequestSchema>;\n\n/**\n * POST /summarize response\n */\nexport const SummarizeResponseSchema = z.object({\n scope: z.string().default(\"root\"),\n file: z.string().optional(),\n summary: z.string(),\n /** Token usage for the LLM call */\n tokensUsed: z.number().int().min(0).optional(),\n});\n\nexport type SummarizeResponse = z.infer<typeof SummarizeResponseSchema>;\n","/**\n * Declarative flag definitions for commit plugin commands\n *\n * Using the new defineFlags system from @kb-labs/sdk for:\n * - Type safety\n * - Runtime validation\n * - Automatic type inference\n * - Consistent DX across commands\n */\n\nimport { defineFlags } from \"@kb-labs/sdk\";\n\n/**\n * Flags for commit:commit (run) command\n *\n * @example\n * ```bash\n * kb commit commit --scope=\"@kb-labs/core\" --dry-run --with-push\n * ```\n */\nexport const commitFlags = defineFlags({\n scope: {\n type: \"string\",\n description: \"Limit commits to specific package or path pattern\",\n examples: [\"@kb-labs/core\", \"packages/**\", \"kb-labs-mind/**\"],\n },\n json: {\n type: \"boolean\",\n description: \"Output result as JSON instead of formatted text\",\n default: false,\n },\n \"dry-run\": {\n type: \"boolean\",\n description: \"Preview commits without applying them to git\",\n default: false,\n },\n \"with-push\": {\n type: \"boolean\",\n description: \"Push commits to remote after applying\",\n default: false,\n },\n \"allow-secrets\": {\n type: \"boolean\",\n description:\n \"Allow committing files with detected secrets (requires manual confirmation). Use with caution after reviewing detected locations.\",\n default: false,\n },\n yes: {\n type: \"boolean\",\n description: \"Automatically confirm all prompts (non-interactive mode)\",\n default: false,\n },\n});\n\n/**\n * Inferred TypeScript type for commit command input\n *\n * Type resolves to:\n * {\n * scope?: string;\n * json: boolean;\n * 'dry-run': boolean;\n * 'with-push': boolean;\n * }\n */\nexport type CommitFlags = typeof commitFlags.infer;\n\n/**\n * Flags for commit:generate command\n *\n * @example\n * ```bash\n * kb commit generate --scope=\"@kb-labs/cli\" --json\n * ```\n */\nexport const generateFlags = defineFlags({\n scope: {\n type: \"string\",\n description: \"Limit analysis to specific package or path pattern\",\n examples: [\"@kb-labs/core\", \"packages/**\", \"kb-labs-mind/**\"],\n },\n json: {\n type: \"boolean\",\n description: \"Output commit plan as JSON instead of formatted text\",\n default: false,\n },\n \"allow-secrets\": {\n type: \"boolean\",\n description:\n \"Allow generating commits for files with detected secrets (requires manual confirmation). Use with caution after reviewing detected locations.\",\n default: false,\n },\n yes: {\n type: \"boolean\",\n description: \"Automatically confirm all prompts (non-interactive mode)\",\n default: false,\n },\n});\n\n/**\n * Inferred TypeScript type for generate command input\n *\n * Type resolves to:\n * {\n * scope?: string;\n * json: boolean;\n * }\n */\nexport type GenerateFlags = typeof generateFlags.infer;\n","/**\n * Environment variable definitions for commit plugin\n */\n\nimport { defineEnv } from \"@kb-labs/sdk\";\n\nexport const commitEnv = defineEnv({\n KB_COMMIT_LLM_ENABLED: {\n type: \"boolean\",\n default: true,\n description: \"Enable LLM-powered commit analysis\",\n },\n KB_COMMIT_LLM_TEMPERATURE: {\n type: \"number\",\n default: 0.3,\n description: \"LLM temperature for commit message generation (0-1)\",\n validate: (v) => {\n if (v < 0 || v > 1) {\n throw new Error(\"KB_COMMIT_LLM_TEMPERATURE must be between 0 and 1\");\n }\n },\n },\n KB_COMMIT_LLM_MAX_TOKENS: {\n type: \"number\",\n default: 2000,\n description: \"Maximum tokens for LLM commit analysis\",\n },\n KB_COMMIT_STORAGE_DIR: {\n type: \"string\",\n default: \".kb/commit\",\n description: \"Directory for storing commit history\",\n },\n KB_COMMIT_AUTO_STAGE: {\n type: \"boolean\",\n default: false,\n description: \"Automatically stage files before committing\",\n },\n});\n\nexport type CommitEnv = typeof commitEnv.type;\n","/**\n * @module @kb-labs/commit-contracts/routes\n * REST API route constants for commit plugin\n */\n\n/**\n * REST API base path for commit plugin\n */\nexport const COMMIT_BASE_PATH = \"/v1/plugins/commit\" as const;\n\n/**\n * REST API route paths (relative to basePath)\n *\n * These are used in both:\n * - manifest.rest.routes[].path (route definitions)\n * - manifest.studio.widgets[].data.source.routeId (widget data sources)\n * - manifest.studio.widgets[].actions[].endpoint.routeId (widget actions)\n */\nexport const COMMIT_ROUTES = {\n /** GET /scopes - List available scopes */\n SCOPES: \"/scopes\",\n\n /** GET /status - Get current status (plan + git) */\n STATUS: \"/status\",\n\n /** GET /plan - Get current commit plan */\n PLAN: \"/plan\",\n\n /** GET /git-status - Get git status with file details */\n GIT_STATUS: \"/git-status\",\n\n /** GET /files - Get file tree with diff statistics */\n FILES: \"/files\",\n\n /** GET /diff - Get diff for a specific file */\n DIFF: \"/diff\",\n\n /** POST /summarize - Summarize changes using LLM */\n SUMMARIZE: \"/summarize\",\n\n /** GET /actions - Get actions widget data */\n ACTIONS: \"/actions\",\n\n /** POST /generate - Generate new commit plan */\n GENERATE: \"/generate\",\n\n /** POST /apply - Apply commit plan */\n APPLY: \"/apply\",\n\n /** POST /push - Push commits to remote */\n PUSH: \"/push\",\n\n /** DELETE /plan - Delete current plan */\n RESET: \"/plan\",\n\n /** PATCH /plan - Edit a single commit in the plan */\n PATCH_PLAN: \"/plan\",\n\n /** POST /regenerate-commit - Regenerate a single commit */\n REGENERATE_COMMIT: \"/regenerate-commit\",\n} as const;\n\n/**\n * Full REST API URLs (basePath + route)\n * Useful for testing and documentation\n */\nexport const COMMIT_FULL_ROUTES = {\n SCOPES: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.SCOPES}`,\n STATUS: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.STATUS}`,\n PLAN: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.PLAN}`,\n GIT_STATUS: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.GIT_STATUS}`,\n FILES: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.FILES}`,\n DIFF: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.DIFF}`,\n SUMMARIZE: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.SUMMARIZE}`,\n ACTIONS: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.ACTIONS}`,\n GENERATE: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.GENERATE}`,\n APPLY: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.APPLY}`,\n PUSH: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.PUSH}`,\n RESET: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.RESET}`,\n PATCH_PLAN: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.PATCH_PLAN}`,\n REGENERATE_COMMIT: `${COMMIT_BASE_PATH}${COMMIT_ROUTES.REGENERATE_COMMIT}`,\n} as const;\n\n/**\n * Widget-friendly route IDs (without leading slash)\n * Use these in manifest.studio.widgets[].data.source.routeId\n */\nexport const COMMIT_WIDGET_ROUTES = {\n SCOPES: \"scopes\",\n STATUS: \"status\",\n PLAN: \"plan\",\n GIT_STATUS: \"git-status\",\n FILES: \"files\",\n DIFF: \"diff\",\n SUMMARIZE: \"summarize\",\n ACTIONS: \"actions\",\n GENERATE: \"generate\",\n APPLY: \"apply\",\n PUSH: \"push\",\n RESET: \"plan\",\n PATCH_PLAN: \"plan\",\n REGENERATE_COMMIT: \"regenerate-commit\",\n} as const;\n\nexport type CommitRoute = (typeof COMMIT_ROUTES)[keyof typeof COMMIT_ROUTES];\nexport type CommitWidgetRoute =\n (typeof COMMIT_WIDGET_ROUTES)[keyof typeof COMMIT_WIDGET_ROUTES];\n","/**\n * @module @kb-labs/commit-contracts/events\n * Studio event definitions for commit plugin\n */\n\n/**\n * Event names for commit plugin widgets\n */\nexport const COMMIT_EVENTS = {\n /** Scope selector changed */\n SCOPE_CHANGED: \"scope:changed\",\n /** Form submitted (actions widget) */\n FORM_SUBMITTED: \"form:submitted\",\n /** Commit plan generated */\n PLAN_GENERATED: \"plan:generated\",\n} as const;\n\nexport type CommitEventName =\n (typeof COMMIT_EVENTS)[keyof typeof COMMIT_EVENTS];\n\n/**\n * Event payload types\n */\n\n/** Payload for scope:changed event */\nexport interface ScopeChangedPayload {\n /** Selected scope ID */\n scope: string;\n}\n\n/** Payload for form:submitted event */\nexport interface FormSubmittedPayload {\n /** Action ID that was submitted */\n action: string;\n /** Form data (if any) */\n data?: Record<string, unknown>;\n}\n\n/** Payload for plan:generated event */\nexport interface PlanGeneratedPayload {\n /** The generated commit plan */\n plan: {\n commits: Array<{\n type: string;\n scope?: string;\n message: string;\n body?: string;\n files: string[];\n }>;\n };\n /** Scope where plan was generated */\n scope: string;\n}\n\n/**\n * Union type for all commit event payloads\n */\nexport type CommitEventPayload =\n | ScopeChangedPayload\n | FormSubmittedPayload\n | PlanGeneratedPayload;\n","export {\n pluginContractsManifest,\n type PluginArtifactIds,\n type PluginCommandIds,\n} from \"./contract\";\nexport {\n getArtifactPath,\n getArtifact,\n hasArtifact,\n getCommand,\n hasCommand,\n getCommandId,\n getArtifactId,\n} from \"./helpers\";\nexport {\n parsePluginContracts,\n pluginContractsSchema,\n} from \"./schema/contract.schema\";\nexport { contractsSchemaId, contractsVersion } from \"./version\";\nexport * from \"./types\";\nexport * from \"./schema\";\nexport * from \"./schema/rest.schema\";\nexport * from \"./flags\";\nexport * from \"./env\";\nexport * from \"./routes\";\nexport * from \"./events\";\n\n/**\n * Cache key prefix for commit plugin\n * Used for platform cache namespacing: commit:git-status:*, commit:plan-applied:*\n */\nexport const COMMIT_CACHE_PREFIX = \"commit:\" as const;\n"]}
package/dist/schema.d.ts CHANGED
@@ -39,11 +39,11 @@ declare const FileSummarySchema: z.ZodObject<{
39
39
  /** Whether file is truly new (never existed in repo history) */
40
40
  isNewFile: z.ZodDefault<z.ZodBoolean>;
41
41
  }, "strip", z.ZodTypeAny, {
42
- binary: boolean;
43
42
  path: string;
44
43
  status: "added" | "modified" | "deleted" | "renamed" | "copied";
45
44
  additions: number;
46
45
  deletions: number;
46
+ binary: boolean;
47
47
  isNewFile: boolean;
48
48
  }, {
49
49
  path: string;
@@ -124,7 +124,7 @@ declare const CommitGroupSchema: z.ZodObject<{
124
124
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
125
125
  id: string;
126
126
  files: string[];
127
- releaseHint: "minor" | "none" | "patch" | "major";
127
+ releaseHint: "none" | "patch" | "minor" | "major";
128
128
  breaking: boolean;
129
129
  scope?: string | undefined;
130
130
  body?: string | undefined;
@@ -142,7 +142,7 @@ declare const CommitGroupSchema: z.ZodObject<{
142
142
  files: string[];
143
143
  scope?: string | undefined;
144
144
  body?: string | undefined;
145
- releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
145
+ releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
146
146
  breaking?: boolean | undefined;
147
147
  reasoning?: {
148
148
  newBehavior?: boolean | undefined;
@@ -212,7 +212,7 @@ declare const CommitPlanSchema: z.ZodObject<{
212
212
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
213
213
  id: string;
214
214
  files: string[];
215
- releaseHint: "minor" | "none" | "patch" | "major";
215
+ releaseHint: "none" | "patch" | "minor" | "major";
216
216
  breaking: boolean;
217
217
  scope?: string | undefined;
218
218
  body?: string | undefined;
@@ -230,7 +230,7 @@ declare const CommitPlanSchema: z.ZodObject<{
230
230
  files: string[];
231
231
  scope?: string | undefined;
232
232
  body?: string | undefined;
233
- releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
233
+ releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
234
234
  breaking?: boolean | undefined;
235
235
  reasoning?: {
236
236
  newBehavior?: boolean | undefined;
@@ -274,7 +274,7 @@ declare const CommitPlanSchema: z.ZodObject<{
274
274
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
275
275
  id: string;
276
276
  files: string[];
277
- releaseHint: "minor" | "none" | "patch" | "major";
277
+ releaseHint: "none" | "patch" | "minor" | "major";
278
278
  breaking: boolean;
279
279
  scope?: string | undefined;
280
280
  body?: string | undefined;
@@ -309,7 +309,7 @@ declare const CommitPlanSchema: z.ZodObject<{
309
309
  files: string[];
310
310
  scope?: string | undefined;
311
311
  body?: string | undefined;
312
- releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
312
+ releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
313
313
  breaking?: boolean | undefined;
314
314
  reasoning?: {
315
315
  newBehavior?: boolean | undefined;
@@ -356,11 +356,11 @@ declare const GitStatusSnapshotSchema: z.ZodObject<{
356
356
  /** Whether file is truly new (never existed in repo history) */
357
357
  isNewFile: z.ZodDefault<z.ZodBoolean>;
358
358
  }, "strip", z.ZodTypeAny, {
359
- binary: boolean;
360
359
  path: string;
361
360
  status: "added" | "modified" | "deleted" | "renamed" | "copied";
362
361
  additions: number;
363
362
  deletions: number;
363
+ binary: boolean;
364
364
  isNewFile: boolean;
365
365
  }, {
366
366
  path: string;
@@ -379,11 +379,11 @@ declare const GitStatusSnapshotSchema: z.ZodObject<{
379
379
  schemaVersion: "1.0";
380
380
  createdAt: string;
381
381
  summaries: {
382
- binary: boolean;
383
382
  path: string;
384
383
  status: "added" | "modified" | "deleted" | "renamed" | "copied";
385
384
  additions: number;
386
385
  deletions: number;
386
+ binary: boolean;
387
387
  isNewFile: boolean;
388
388
  }[];
389
389
  }, {
@@ -475,7 +475,7 @@ declare const CommitRunOutputSchema: z.ZodObject<{
475
475
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
476
476
  id: string;
477
477
  files: string[];
478
- releaseHint: "minor" | "none" | "patch" | "major";
478
+ releaseHint: "none" | "patch" | "minor" | "major";
479
479
  breaking: boolean;
480
480
  scope?: string | undefined;
481
481
  body?: string | undefined;
@@ -493,7 +493,7 @@ declare const CommitRunOutputSchema: z.ZodObject<{
493
493
  files: string[];
494
494
  scope?: string | undefined;
495
495
  body?: string | undefined;
496
- releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
496
+ releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
497
497
  breaking?: boolean | undefined;
498
498
  reasoning?: {
499
499
  newBehavior?: boolean | undefined;
@@ -537,7 +537,7 @@ declare const CommitRunOutputSchema: z.ZodObject<{
537
537
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
538
538
  id: string;
539
539
  files: string[];
540
- releaseHint: "minor" | "none" | "patch" | "major";
540
+ releaseHint: "none" | "patch" | "minor" | "major";
541
541
  breaking: boolean;
542
542
  scope?: string | undefined;
543
543
  body?: string | undefined;
@@ -572,7 +572,7 @@ declare const CommitRunOutputSchema: z.ZodObject<{
572
572
  files: string[];
573
573
  scope?: string | undefined;
574
574
  body?: string | undefined;
575
- releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
575
+ releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
576
576
  breaking?: boolean | undefined;
577
577
  reasoning?: {
578
578
  newBehavior?: boolean | undefined;
@@ -625,7 +625,7 @@ declare const CommitRunOutputSchema: z.ZodObject<{
625
625
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
626
626
  id: string;
627
627
  files: string[];
628
- releaseHint: "minor" | "none" | "patch" | "major";
628
+ releaseHint: "none" | "patch" | "minor" | "major";
629
629
  breaking: boolean;
630
630
  scope?: string | undefined;
631
631
  body?: string | undefined;
@@ -669,7 +669,7 @@ declare const CommitRunOutputSchema: z.ZodObject<{
669
669
  files: string[];
670
670
  scope?: string | undefined;
671
671
  body?: string | undefined;
672
- releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
672
+ releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
673
673
  breaking?: boolean | undefined;
674
674
  reasoning?: {
675
675
  newBehavior?: boolean | undefined;
@@ -756,7 +756,7 @@ declare const GenerateOutputSchema: z.ZodObject<{
756
756
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
757
757
  id: string;
758
758
  files: string[];
759
- releaseHint: "minor" | "none" | "patch" | "major";
759
+ releaseHint: "none" | "patch" | "minor" | "major";
760
760
  breaking: boolean;
761
761
  scope?: string | undefined;
762
762
  body?: string | undefined;
@@ -774,7 +774,7 @@ declare const GenerateOutputSchema: z.ZodObject<{
774
774
  files: string[];
775
775
  scope?: string | undefined;
776
776
  body?: string | undefined;
777
- releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
777
+ releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
778
778
  breaking?: boolean | undefined;
779
779
  reasoning?: {
780
780
  newBehavior?: boolean | undefined;
@@ -818,7 +818,7 @@ declare const GenerateOutputSchema: z.ZodObject<{
818
818
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
819
819
  id: string;
820
820
  files: string[];
821
- releaseHint: "minor" | "none" | "patch" | "major";
821
+ releaseHint: "none" | "patch" | "minor" | "major";
822
822
  breaking: boolean;
823
823
  scope?: string | undefined;
824
824
  body?: string | undefined;
@@ -853,7 +853,7 @@ declare const GenerateOutputSchema: z.ZodObject<{
853
853
  files: string[];
854
854
  scope?: string | undefined;
855
855
  body?: string | undefined;
856
- releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
856
+ releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
857
857
  breaking?: boolean | undefined;
858
858
  reasoning?: {
859
859
  newBehavior?: boolean | undefined;
@@ -887,7 +887,7 @@ declare const GenerateOutputSchema: z.ZodObject<{
887
887
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
888
888
  id: string;
889
889
  files: string[];
890
- releaseHint: "minor" | "none" | "patch" | "major";
890
+ releaseHint: "none" | "patch" | "minor" | "major";
891
891
  breaking: boolean;
892
892
  scope?: string | undefined;
893
893
  body?: string | undefined;
@@ -925,7 +925,7 @@ declare const GenerateOutputSchema: z.ZodObject<{
925
925
  files: string[];
926
926
  scope?: string | undefined;
927
927
  body?: string | undefined;
928
- releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
928
+ releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
929
929
  breaking?: boolean | undefined;
930
930
  reasoning?: {
931
931
  newBehavior?: boolean | undefined;
@@ -1079,7 +1079,7 @@ declare const OpenOutputSchema: z.ZodObject<{
1079
1079
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
1080
1080
  id: string;
1081
1081
  files: string[];
1082
- releaseHint: "minor" | "none" | "patch" | "major";
1082
+ releaseHint: "none" | "patch" | "minor" | "major";
1083
1083
  breaking: boolean;
1084
1084
  scope?: string | undefined;
1085
1085
  body?: string | undefined;
@@ -1097,7 +1097,7 @@ declare const OpenOutputSchema: z.ZodObject<{
1097
1097
  files: string[];
1098
1098
  scope?: string | undefined;
1099
1099
  body?: string | undefined;
1100
- releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
1100
+ releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
1101
1101
  breaking?: boolean | undefined;
1102
1102
  reasoning?: {
1103
1103
  newBehavior?: boolean | undefined;
@@ -1141,7 +1141,7 @@ declare const OpenOutputSchema: z.ZodObject<{
1141
1141
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
1142
1142
  id: string;
1143
1143
  files: string[];
1144
- releaseHint: "minor" | "none" | "patch" | "major";
1144
+ releaseHint: "none" | "patch" | "minor" | "major";
1145
1145
  breaking: boolean;
1146
1146
  scope?: string | undefined;
1147
1147
  body?: string | undefined;
@@ -1176,7 +1176,7 @@ declare const OpenOutputSchema: z.ZodObject<{
1176
1176
  files: string[];
1177
1177
  scope?: string | undefined;
1178
1178
  body?: string | undefined;
1179
- releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
1179
+ releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
1180
1180
  breaking?: boolean | undefined;
1181
1181
  reasoning?: {
1182
1182
  newBehavior?: boolean | undefined;
@@ -1213,7 +1213,7 @@ declare const OpenOutputSchema: z.ZodObject<{
1213
1213
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
1214
1214
  id: string;
1215
1215
  files: string[];
1216
- releaseHint: "minor" | "none" | "patch" | "major";
1216
+ releaseHint: "none" | "patch" | "minor" | "major";
1217
1217
  breaking: boolean;
1218
1218
  scope?: string | undefined;
1219
1219
  body?: string | undefined;
@@ -1254,7 +1254,7 @@ declare const OpenOutputSchema: z.ZodObject<{
1254
1254
  files: string[];
1255
1255
  scope?: string | undefined;
1256
1256
  body?: string | undefined;
1257
- releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
1257
+ releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
1258
1258
  breaking?: boolean | undefined;
1259
1259
  reasoning?: {
1260
1260
  newBehavior?: boolean | undefined;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/schema.ts"],"names":[],"mappings":"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","file":"schema.js","sourcesContent":["import { z } from \"zod\";\n\n// ============================================================================\n// Core Types\n// ============================================================================\n\n/**\n * Conventional commit types\n */\nexport const ConventionalTypeSchema = z.enum([\n \"feat\",\n \"fix\",\n \"refactor\",\n \"chore\",\n \"docs\",\n \"test\",\n \"build\",\n \"ci\",\n \"perf\",\n]);\n\nexport type ConventionalType = z.infer<typeof ConventionalTypeSchema>;\n\n/**\n * Release hint for semantic versioning\n */\nexport const ReleaseHintSchema = z.enum([\"none\", \"patch\", \"minor\", \"major\"]);\n\nexport type ReleaseHint = z.infer<typeof ReleaseHintSchema>;\n\n// ============================================================================\n// Git Status\n// ============================================================================\n\n/**\n * Git status snapshot\n */\nexport const GitStatusSchema = z.object({\n staged: z.array(z.string()),\n unstaged: z.array(z.string()),\n untracked: z.array(z.string()),\n});\n\nexport type GitStatus = z.infer<typeof GitStatusSchema>;\n\n/**\n * File summary with diff stats\n */\nexport const FileSummarySchema = z.object({\n path: z.string(),\n status: z.enum([\"added\", \"modified\", \"deleted\", \"renamed\", \"copied\"]),\n additions: z.number().int().min(0),\n deletions: z.number().int().min(0),\n binary: z.boolean().default(false),\n /** Whether file is truly new (never existed in repo history) */\n isNewFile: z.boolean().default(false),\n});\n\nexport type FileSummary = z.infer<typeof FileSummarySchema>;\n\n// ============================================================================\n// Commit Plan\n// ============================================================================\n\n/**\n * Reasoning for commit type classification\n */\nexport const CommitReasoningSchema = z.object({\n /** Does this change add NEW user-visible behavior? */\n newBehavior: z.boolean().default(false),\n /** Does this change fix BROKEN functionality? */\n fixesBug: z.boolean().default(false),\n /** Is this only INTERNAL restructuring? */\n internalOnly: z.boolean().default(false),\n /** Human-readable explanation of why this type was chosen */\n explanation: z.string().default(''),\n /** LLM confidence in this classification (0.0-1.0) */\n confidence: z.number().min(0).max(1).default(0.5),\n});\n\nexport type CommitReasoning = z.infer<typeof CommitReasoningSchema>;\n\n/**\n * A single commit group in the plan\n */\nexport const CommitGroupSchema = z.object({\n id: z.string(),\n type: ConventionalTypeSchema,\n scope: z.string().optional(),\n message: z.string().min(1),\n body: z.string().optional(),\n files: z.array(z.string()).min(1),\n releaseHint: ReleaseHintSchema.default(\"none\"),\n breaking: z.boolean().default(false),\n /** Reasoning for commit type classification (optional, added by LLM) */\n reasoning: CommitReasoningSchema.optional(),\n});\n\nexport type CommitGroup = z.infer<typeof CommitGroupSchema>;\n\n/**\n * Complete commit plan\n */\nexport const CommitPlanSchema = z.object({\n schemaVersion: z.literal(\"1.0\"),\n createdAt: z.string().datetime(),\n repoRoot: z.string(),\n gitStatus: GitStatusSchema,\n commits: z.array(CommitGroupSchema),\n metadata: z.object({\n totalFiles: z.number().int().min(0),\n totalCommits: z.number().int().min(0),\n llmUsed: z.boolean(),\n tokensUsed: z.number().int().min(0).optional(),\n /** Whether LLM escalated to Phase 2 (requested diff for more context) */\n escalated: z.boolean().optional(),\n }),\n});\n\nexport type CommitPlan = z.infer<typeof CommitPlanSchema>;\n\n/**\n * Git status snapshot for storage\n */\nexport const GitStatusSnapshotSchema = z.object({\n schemaVersion: z.literal(\"1.0\"),\n createdAt: z.string().datetime(),\n status: GitStatusSchema,\n summaries: z.array(FileSummarySchema),\n});\n\nexport type GitStatusSnapshot = z.infer<typeof GitStatusSnapshotSchema>;\n\n// ============================================================================\n// Command Input/Output Schemas\n// ============================================================================\n\n// --- commit (run) ---\nexport const CommitRunInputSchema = z.object({\n scope: z.string().optional(),\n dryRun: z.boolean().default(false),\n withPush: z.boolean().default(false),\n});\n\nexport type CommitRunInput = z.infer<typeof CommitRunInputSchema>;\n\nexport const CommitRunOutputSchema = z.object({\n plan: CommitPlanSchema,\n applied: z.boolean(),\n pushed: z.boolean(),\n commits: z.array(\n z.object({\n id: z.string(),\n sha: z.string().optional(),\n message: z.string(),\n }),\n ),\n});\n\nexport type CommitRunOutput = z.infer<typeof CommitRunOutputSchema>;\n\n// --- commit:generate ---\nexport const GenerateInputSchema = z.object({\n scope: z.string().optional(),\n});\n\nexport type GenerateInput = z.infer<typeof GenerateInputSchema>;\n\nexport const GenerateOutputSchema = z.object({\n plan: CommitPlanSchema,\n planPath: z.string(),\n});\n\nexport type GenerateOutput = z.infer<typeof GenerateOutputSchema>;\n\n// --- commit:apply ---\nexport const ApplyInputSchema = z.object({\n force: z.boolean().default(false),\n});\n\nexport type ApplyInput = z.infer<typeof ApplyInputSchema>;\n\nexport const ApplyOutputSchema = z.object({\n success: z.boolean(),\n commits: z.array(\n z.object({\n id: z.string(),\n sha: z.string(),\n message: z.string(),\n }),\n ),\n errors: z.array(z.string()).default([]),\n});\n\nexport type ApplyOutput = z.infer<typeof ApplyOutputSchema>;\n\n// --- commit:push ---\nexport const PushInputSchema = z.object({\n force: z.boolean().default(false),\n});\n\nexport type PushInput = z.infer<typeof PushInputSchema>;\n\nexport const PushOutputSchema = z.object({\n success: z.boolean(),\n remote: z.string(),\n branch: z.string(),\n commits: z.number().int().min(0),\n});\n\nexport type PushOutput = z.infer<typeof PushOutputSchema>;\n\n// --- commit:open ---\nexport const OpenInputSchema = z.object({\n json: z.boolean().default(false),\n});\n\nexport type OpenInput = z.infer<typeof OpenInputSchema>;\n\nexport const OpenOutputSchema = z.object({\n hasPlan: z.boolean(),\n plan: CommitPlanSchema.optional(),\n planPath: z.string().optional(),\n stale: z.boolean().optional(),\n staleReason: z.string().optional(),\n});\n\nexport type OpenOutput = z.infer<typeof OpenOutputSchema>;\n\n// --- commit:reset ---\nexport const ResetOutputSchema = z.object({\n success: z.boolean(),\n message: z.string(),\n});\n\nexport type ResetOutput = z.infer<typeof ResetOutputSchema>;\n\n// ============================================================================\n// Result Types (for core package)\n// ============================================================================\n\nexport const ApplyResultSchema = z.object({\n success: z.boolean(),\n appliedCommits: z.array(\n z.object({\n groupId: z.string(),\n sha: z.string(),\n message: z.string(),\n }),\n ),\n errors: z.array(z.string()),\n});\n\nexport type ApplyResult = z.infer<typeof ApplyResultSchema>;\n\nexport const PushResultSchema = z.object({\n success: z.boolean(),\n remote: z.string(),\n branch: z.string(),\n commitsPushed: z.number().int().min(0),\n error: z.string().optional(),\n});\n\nexport type PushResult = z.infer<typeof PushResultSchema>;\n\n// ============================================================================\n// REST API Responses\n// ============================================================================\n\n/**\n * GET /actions response\n * Returns empty object for actions widget (widget only needs action buttons)\n */\nexport const ActionsResponseSchema = z.object({\n scope: z.string().optional(),\n});\n\nexport type ActionsResponse = z.infer<typeof ActionsResponseSchema>;\n"]}
1
+ {"version":3,"sources":["../../home/runner/work/kb-labs/kb-labs/plugins/commit/contracts/src/schema.ts"],"names":[],"mappings":"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","file":"schema.js","sourcesContent":["import { z } from \"zod\";\n\n// ============================================================================\n// Core Types\n// ============================================================================\n\n/**\n * Conventional commit types\n */\nexport const ConventionalTypeSchema = z.enum([\n \"feat\",\n \"fix\",\n \"refactor\",\n \"chore\",\n \"docs\",\n \"test\",\n \"build\",\n \"ci\",\n \"perf\",\n]);\n\nexport type ConventionalType = z.infer<typeof ConventionalTypeSchema>;\n\n/**\n * Release hint for semantic versioning\n */\nexport const ReleaseHintSchema = z.enum([\"none\", \"patch\", \"minor\", \"major\"]);\n\nexport type ReleaseHint = z.infer<typeof ReleaseHintSchema>;\n\n// ============================================================================\n// Git Status\n// ============================================================================\n\n/**\n * Git status snapshot\n */\nexport const GitStatusSchema = z.object({\n staged: z.array(z.string()),\n unstaged: z.array(z.string()),\n untracked: z.array(z.string()),\n});\n\nexport type GitStatus = z.infer<typeof GitStatusSchema>;\n\n/**\n * File summary with diff stats\n */\nexport const FileSummarySchema = z.object({\n path: z.string(),\n status: z.enum([\"added\", \"modified\", \"deleted\", \"renamed\", \"copied\"]),\n additions: z.number().int().min(0),\n deletions: z.number().int().min(0),\n binary: z.boolean().default(false),\n /** Whether file is truly new (never existed in repo history) */\n isNewFile: z.boolean().default(false),\n});\n\nexport type FileSummary = z.infer<typeof FileSummarySchema>;\n\n// ============================================================================\n// Commit Plan\n// ============================================================================\n\n/**\n * Reasoning for commit type classification\n */\nexport const CommitReasoningSchema = z.object({\n /** Does this change add NEW user-visible behavior? */\n newBehavior: z.boolean().default(false),\n /** Does this change fix BROKEN functionality? */\n fixesBug: z.boolean().default(false),\n /** Is this only INTERNAL restructuring? */\n internalOnly: z.boolean().default(false),\n /** Human-readable explanation of why this type was chosen */\n explanation: z.string().default(''),\n /** LLM confidence in this classification (0.0-1.0) */\n confidence: z.number().min(0).max(1).default(0.5),\n});\n\nexport type CommitReasoning = z.infer<typeof CommitReasoningSchema>;\n\n/**\n * A single commit group in the plan\n */\nexport const CommitGroupSchema = z.object({\n id: z.string(),\n type: ConventionalTypeSchema,\n scope: z.string().optional(),\n message: z.string().min(1),\n body: z.string().optional(),\n files: z.array(z.string()).min(1),\n releaseHint: ReleaseHintSchema.default(\"none\"),\n breaking: z.boolean().default(false),\n /** Reasoning for commit type classification (optional, added by LLM) */\n reasoning: CommitReasoningSchema.optional(),\n});\n\nexport type CommitGroup = z.infer<typeof CommitGroupSchema>;\n\n/**\n * Complete commit plan\n */\nexport const CommitPlanSchema = z.object({\n schemaVersion: z.literal(\"1.0\"),\n createdAt: z.string().datetime(),\n repoRoot: z.string(),\n gitStatus: GitStatusSchema,\n commits: z.array(CommitGroupSchema),\n metadata: z.object({\n totalFiles: z.number().int().min(0),\n totalCommits: z.number().int().min(0),\n llmUsed: z.boolean(),\n tokensUsed: z.number().int().min(0).optional(),\n /** Whether LLM escalated to Phase 2 (requested diff for more context) */\n escalated: z.boolean().optional(),\n }),\n});\n\nexport type CommitPlan = z.infer<typeof CommitPlanSchema>;\n\n/**\n * Git status snapshot for storage\n */\nexport const GitStatusSnapshotSchema = z.object({\n schemaVersion: z.literal(\"1.0\"),\n createdAt: z.string().datetime(),\n status: GitStatusSchema,\n summaries: z.array(FileSummarySchema),\n});\n\nexport type GitStatusSnapshot = z.infer<typeof GitStatusSnapshotSchema>;\n\n// ============================================================================\n// Command Input/Output Schemas\n// ============================================================================\n\n// --- commit (run) ---\nexport const CommitRunInputSchema = z.object({\n scope: z.string().optional(),\n dryRun: z.boolean().default(false),\n withPush: z.boolean().default(false),\n});\n\nexport type CommitRunInput = z.infer<typeof CommitRunInputSchema>;\n\nexport const CommitRunOutputSchema = z.object({\n plan: CommitPlanSchema,\n applied: z.boolean(),\n pushed: z.boolean(),\n commits: z.array(\n z.object({\n id: z.string(),\n sha: z.string().optional(),\n message: z.string(),\n }),\n ),\n});\n\nexport type CommitRunOutput = z.infer<typeof CommitRunOutputSchema>;\n\n// --- commit:generate ---\nexport const GenerateInputSchema = z.object({\n scope: z.string().optional(),\n});\n\nexport type GenerateInput = z.infer<typeof GenerateInputSchema>;\n\nexport const GenerateOutputSchema = z.object({\n plan: CommitPlanSchema,\n planPath: z.string(),\n});\n\nexport type GenerateOutput = z.infer<typeof GenerateOutputSchema>;\n\n// --- commit:apply ---\nexport const ApplyInputSchema = z.object({\n force: z.boolean().default(false),\n});\n\nexport type ApplyInput = z.infer<typeof ApplyInputSchema>;\n\nexport const ApplyOutputSchema = z.object({\n success: z.boolean(),\n commits: z.array(\n z.object({\n id: z.string(),\n sha: z.string(),\n message: z.string(),\n }),\n ),\n errors: z.array(z.string()).default([]),\n});\n\nexport type ApplyOutput = z.infer<typeof ApplyOutputSchema>;\n\n// --- commit:push ---\nexport const PushInputSchema = z.object({\n force: z.boolean().default(false),\n});\n\nexport type PushInput = z.infer<typeof PushInputSchema>;\n\nexport const PushOutputSchema = z.object({\n success: z.boolean(),\n remote: z.string(),\n branch: z.string(),\n commits: z.number().int().min(0),\n});\n\nexport type PushOutput = z.infer<typeof PushOutputSchema>;\n\n// --- commit:open ---\nexport const OpenInputSchema = z.object({\n json: z.boolean().default(false),\n});\n\nexport type OpenInput = z.infer<typeof OpenInputSchema>;\n\nexport const OpenOutputSchema = z.object({\n hasPlan: z.boolean(),\n plan: CommitPlanSchema.optional(),\n planPath: z.string().optional(),\n stale: z.boolean().optional(),\n staleReason: z.string().optional(),\n});\n\nexport type OpenOutput = z.infer<typeof OpenOutputSchema>;\n\n// --- commit:reset ---\nexport const ResetOutputSchema = z.object({\n success: z.boolean(),\n message: z.string(),\n});\n\nexport type ResetOutput = z.infer<typeof ResetOutputSchema>;\n\n// ============================================================================\n// Result Types (for core package)\n// ============================================================================\n\nexport const ApplyResultSchema = z.object({\n success: z.boolean(),\n appliedCommits: z.array(\n z.object({\n groupId: z.string(),\n sha: z.string(),\n message: z.string(),\n }),\n ),\n errors: z.array(z.string()),\n});\n\nexport type ApplyResult = z.infer<typeof ApplyResultSchema>;\n\nexport const PushResultSchema = z.object({\n success: z.boolean(),\n remote: z.string(),\n branch: z.string(),\n commitsPushed: z.number().int().min(0),\n error: z.string().optional(),\n});\n\nexport type PushResult = z.infer<typeof PushResultSchema>;\n\n// ============================================================================\n// REST API Responses\n// ============================================================================\n\n/**\n * GET /actions response\n * Returns empty object for actions widget (widget only needs action buttons)\n */\nexport const ActionsResponseSchema = z.object({\n scope: z.string().optional(),\n});\n\nexport type ActionsResponse = z.infer<typeof ActionsResponseSchema>;\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kb-labs/commit-contracts",
3
3
  "description": "Public contracts package for KB Labs Commit plugin. Provides typed guarantees about artifacts, commands, and APIs.",
4
- "version": "2.118.2",
4
+ "version": "2.119.0-canary.0c078654e",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
@@ -27,7 +27,7 @@
27
27
  ],
28
28
  "dependencies": {
29
29
  "zod": "^3.25.76",
30
- "@kb-labs/sdk": "2.115.3"
30
+ "@kb-labs/sdk": "2.115.4"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@types/node": "^24.3.3",
@@ -36,7 +36,7 @@
36
36
  "tsup": "^8.5.0",
37
37
  "typescript": "^5.6.3",
38
38
  "vitest": "^3.2.6",
39
- "@kb-labs/devkit": "2.118.2"
39
+ "@kb-labs/devkit": "2.119.0-canary.0c078654e"
40
40
  },
41
41
  "engines": {
42
42
  "node": ">=22.0.0",