@kb-labs/commit-contracts 2.103.0 → 2.105.0-canary.f6d35e31

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":["../../../../../../Users/kirillbaranov/Desktop/work/kb-labs-workspace/plugins/commit/contracts/src/version.ts","../../../../../../Users/kirillbaranov/Desktop/work/kb-labs-workspace/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: "binary" | "json" | "file" | "markdown" | "dir" | "log";
211
+ kind: "file" | "json" | "markdown" | "binary" | "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: "binary" | "json" | "file" | "markdown" | "dir" | "log";
222
+ kind: "file" | "json" | "markdown" | "binary" | "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: "binary" | "json" | "file" | "markdown" | "dir" | "log";
509
+ kind: "file" | "json" | "markdown" | "binary" | "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: "binary" | "json" | "file" | "markdown" | "dir" | "log";
578
+ kind: "file" | "json" | "markdown" | "binary" | "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: "binary" | "json" | "file" | "markdown" | "dir" | "log";
648
+ kind: "file" | "json" | "markdown" | "binary" | "dir" | "log";
649
649
  description?: string | undefined;
650
650
  pathPattern?: string | undefined;
651
651
  mediaType?: string | undefined;
@@ -1100,16 +1100,16 @@ declare const SecretMatchSchema: z.ZodObject<{
1100
1100
  matched: z.ZodString;
1101
1101
  context: z.ZodString;
1102
1102
  }, "strip", z.ZodTypeAny, {
1103
- type: string;
1104
1103
  file: string;
1104
+ type: string;
1105
1105
  line: number;
1106
1106
  column: number;
1107
1107
  pattern: string;
1108
1108
  matched: string;
1109
1109
  context: string;
1110
1110
  }, {
1111
- type: string;
1112
1111
  file: string;
1112
+ type: string;
1113
1113
  line: number;
1114
1114
  column: number;
1115
1115
  pattern: string;
@@ -1172,7 +1172,7 @@ declare const GenerateResponseSchema: z.ZodObject<{
1172
1172
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
1173
1173
  id: string;
1174
1174
  files: string[];
1175
- releaseHint: "none" | "patch" | "minor" | "major";
1175
+ releaseHint: "minor" | "none" | "patch" | "major";
1176
1176
  breaking: boolean;
1177
1177
  scope?: string | undefined;
1178
1178
  body?: string | undefined;
@@ -1190,7 +1190,7 @@ declare const GenerateResponseSchema: z.ZodObject<{
1190
1190
  files: string[];
1191
1191
  scope?: string | undefined;
1192
1192
  body?: string | undefined;
1193
- releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
1193
+ releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
1194
1194
  breaking?: boolean | undefined;
1195
1195
  reasoning?: {
1196
1196
  newBehavior?: boolean | undefined;
@@ -1233,7 +1233,7 @@ declare const GenerateResponseSchema: z.ZodObject<{
1233
1233
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
1234
1234
  id: string;
1235
1235
  files: string[];
1236
- releaseHint: "none" | "patch" | "minor" | "major";
1236
+ releaseHint: "minor" | "none" | "patch" | "major";
1237
1237
  breaking: boolean;
1238
1238
  scope?: string | undefined;
1239
1239
  body?: string | undefined;
@@ -1268,7 +1268,7 @@ declare const GenerateResponseSchema: z.ZodObject<{
1268
1268
  files: string[];
1269
1269
  scope?: string | undefined;
1270
1270
  body?: string | undefined;
1271
- releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
1271
+ releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
1272
1272
  breaking?: boolean | undefined;
1273
1273
  reasoning?: {
1274
1274
  newBehavior?: boolean | undefined;
@@ -1298,16 +1298,16 @@ declare const GenerateResponseSchema: z.ZodObject<{
1298
1298
  matched: z.ZodString;
1299
1299
  context: z.ZodString;
1300
1300
  }, "strip", z.ZodTypeAny, {
1301
- type: string;
1302
1301
  file: string;
1302
+ type: string;
1303
1303
  line: number;
1304
1304
  column: number;
1305
1305
  pattern: string;
1306
1306
  matched: string;
1307
1307
  context: string;
1308
1308
  }, {
1309
- type: string;
1310
1309
  file: string;
1310
+ type: string;
1311
1311
  line: number;
1312
1312
  column: number;
1313
1313
  pattern: string;
@@ -1334,7 +1334,7 @@ declare const GenerateResponseSchema: z.ZodObject<{
1334
1334
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
1335
1335
  id: string;
1336
1336
  files: string[];
1337
- releaseHint: "none" | "patch" | "minor" | "major";
1337
+ releaseHint: "minor" | "none" | "patch" | "major";
1338
1338
  breaking: boolean;
1339
1339
  scope?: string | undefined;
1340
1340
  body?: string | undefined;
@@ -1356,8 +1356,8 @@ declare const GenerateResponseSchema: z.ZodObject<{
1356
1356
  } | undefined;
1357
1357
  planPath?: string | undefined;
1358
1358
  secrets?: {
1359
- type: string;
1360
1359
  file: string;
1360
+ type: string;
1361
1361
  line: number;
1362
1362
  column: number;
1363
1363
  pattern: string;
@@ -1366,8 +1366,8 @@ declare const GenerateResponseSchema: z.ZodObject<{
1366
1366
  }[] | undefined;
1367
1367
  }, {
1368
1368
  success: boolean;
1369
- message?: string | undefined;
1370
1369
  scope?: string | undefined;
1370
+ message?: string | undefined;
1371
1371
  plan?: {
1372
1372
  schemaVersion: "1.0";
1373
1373
  createdAt: string;
@@ -1384,7 +1384,7 @@ declare const GenerateResponseSchema: z.ZodObject<{
1384
1384
  files: string[];
1385
1385
  scope?: string | undefined;
1386
1386
  body?: string | undefined;
1387
- releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
1387
+ releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
1388
1388
  breaking?: boolean | undefined;
1389
1389
  reasoning?: {
1390
1390
  newBehavior?: boolean | undefined;
@@ -1405,8 +1405,8 @@ declare const GenerateResponseSchema: z.ZodObject<{
1405
1405
  planPath?: string | undefined;
1406
1406
  secretsDetected?: boolean | undefined;
1407
1407
  secrets?: {
1408
- type: string;
1409
1408
  file: string;
1409
+ type: string;
1410
1410
  line: number;
1411
1411
  column: number;
1412
1412
  pattern: string;
@@ -1470,7 +1470,7 @@ declare const PlanResponseSchema: z.ZodObject<{
1470
1470
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
1471
1471
  id: string;
1472
1472
  files: string[];
1473
- releaseHint: "none" | "patch" | "minor" | "major";
1473
+ releaseHint: "minor" | "none" | "patch" | "major";
1474
1474
  breaking: boolean;
1475
1475
  scope?: string | undefined;
1476
1476
  body?: string | undefined;
@@ -1488,7 +1488,7 @@ declare const PlanResponseSchema: z.ZodObject<{
1488
1488
  files: string[];
1489
1489
  scope?: string | undefined;
1490
1490
  body?: string | undefined;
1491
- releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
1491
+ releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
1492
1492
  breaking?: boolean | undefined;
1493
1493
  reasoning?: {
1494
1494
  newBehavior?: boolean | undefined;
@@ -1531,7 +1531,7 @@ declare const PlanResponseSchema: z.ZodObject<{
1531
1531
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
1532
1532
  id: string;
1533
1533
  files: string[];
1534
- releaseHint: "none" | "patch" | "minor" | "major";
1534
+ releaseHint: "minor" | "none" | "patch" | "major";
1535
1535
  breaking: boolean;
1536
1536
  scope?: string | undefined;
1537
1537
  body?: string | undefined;
@@ -1566,7 +1566,7 @@ declare const PlanResponseSchema: z.ZodObject<{
1566
1566
  files: string[];
1567
1567
  scope?: string | undefined;
1568
1568
  body?: string | undefined;
1569
- releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
1569
+ releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
1570
1570
  breaking?: boolean | undefined;
1571
1571
  reasoning?: {
1572
1572
  newBehavior?: boolean | undefined;
@@ -1602,7 +1602,7 @@ declare const PlanResponseSchema: z.ZodObject<{
1602
1602
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
1603
1603
  id: string;
1604
1604
  files: string[];
1605
- releaseHint: "none" | "patch" | "minor" | "major";
1605
+ releaseHint: "minor" | "none" | "patch" | "major";
1606
1606
  breaking: boolean;
1607
1607
  scope?: string | undefined;
1608
1608
  body?: string | undefined;
@@ -1641,7 +1641,7 @@ declare const PlanResponseSchema: z.ZodObject<{
1641
1641
  files: string[];
1642
1642
  scope?: string | undefined;
1643
1643
  body?: string | undefined;
1644
- releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
1644
+ releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
1645
1645
  breaking?: boolean | undefined;
1646
1646
  reasoning?: {
1647
1647
  newBehavior?: boolean | undefined;
@@ -1680,9 +1680,9 @@ declare const PatchPlanRequestSchema: z.ZodObject<{
1680
1680
  scope_?: string | undefined;
1681
1681
  }, {
1682
1682
  commitId: string;
1683
+ scope?: string | undefined;
1683
1684
  message?: string | undefined;
1684
1685
  type?: string | undefined;
1685
- scope?: string | undefined;
1686
1686
  body?: string | undefined;
1687
1687
  scope_?: string | undefined;
1688
1688
  }>;
@@ -1761,7 +1761,7 @@ declare const RegenerateCommitResponseSchema: z.ZodObject<{
1761
1761
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
1762
1762
  id: string;
1763
1763
  files: string[];
1764
- releaseHint: "none" | "patch" | "minor" | "major";
1764
+ releaseHint: "minor" | "none" | "patch" | "major";
1765
1765
  breaking: boolean;
1766
1766
  scope?: string | undefined;
1767
1767
  body?: string | undefined;
@@ -1779,7 +1779,7 @@ declare const RegenerateCommitResponseSchema: z.ZodObject<{
1779
1779
  files: string[];
1780
1780
  scope?: string | undefined;
1781
1781
  body?: string | undefined;
1782
- releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
1782
+ releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
1783
1783
  breaking?: boolean | undefined;
1784
1784
  reasoning?: {
1785
1785
  newBehavior?: boolean | undefined;
@@ -1798,7 +1798,7 @@ declare const RegenerateCommitResponseSchema: z.ZodObject<{
1798
1798
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
1799
1799
  id: string;
1800
1800
  files: string[];
1801
- releaseHint: "none" | "patch" | "minor" | "major";
1801
+ releaseHint: "minor" | "none" | "patch" | "major";
1802
1802
  breaking: boolean;
1803
1803
  scope?: string | undefined;
1804
1804
  body?: string | undefined;
@@ -1821,7 +1821,7 @@ declare const RegenerateCommitResponseSchema: z.ZodObject<{
1821
1821
  files: string[];
1822
1822
  scope?: string | undefined;
1823
1823
  body?: string | undefined;
1824
- releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
1824
+ releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
1825
1825
  breaking?: boolean | undefined;
1826
1826
  reasoning?: {
1827
1827
  newBehavior?: boolean | undefined;
@@ -1982,8 +1982,8 @@ declare const ResetResponseSchema: z.ZodObject<{
1982
1982
  message: z.ZodString;
1983
1983
  scope: z.ZodDefault<z.ZodString>;
1984
1984
  }, "strip", z.ZodTypeAny, {
1985
- message: string;
1986
1985
  scope: string;
1986
+ message: string;
1987
1987
  success: boolean;
1988
1988
  }, {
1989
1989
  message: string;
@@ -2017,11 +2017,11 @@ declare const GitStatusResponseSchema: z.ZodObject<{
2017
2017
  binary: z.ZodDefault<z.ZodBoolean>;
2018
2018
  isNewFile: z.ZodDefault<z.ZodBoolean>;
2019
2019
  }, "strip", z.ZodTypeAny, {
2020
+ binary: boolean;
2020
2021
  path: string;
2021
2022
  status: "added" | "modified" | "deleted" | "renamed" | "copied";
2022
2023
  additions: number;
2023
2024
  deletions: number;
2024
- binary: boolean;
2025
2025
  isNewFile: boolean;
2026
2026
  }, {
2027
2027
  path: string;
@@ -2033,19 +2033,19 @@ declare const GitStatusResponseSchema: z.ZodObject<{
2033
2033
  }>, "many">;
2034
2034
  totalFiles: z.ZodNumber;
2035
2035
  }, "strip", z.ZodTypeAny, {
2036
+ scope: string;
2036
2037
  status: {
2037
2038
  staged: string[];
2038
2039
  unstaged: string[];
2039
2040
  untracked: string[];
2040
2041
  };
2041
- scope: string;
2042
2042
  totalFiles: number;
2043
2043
  summaries: {
2044
+ binary: boolean;
2044
2045
  path: string;
2045
2046
  status: "added" | "modified" | "deleted" | "renamed" | "copied";
2046
2047
  additions: number;
2047
2048
  deletions: number;
2048
- binary: boolean;
2049
2049
  isNewFile: boolean;
2050
2050
  }[];
2051
2051
  }, {
@@ -2076,17 +2076,17 @@ declare const FileDiffResponseSchema: z.ZodObject<{
2076
2076
  additions: z.ZodDefault<z.ZodNumber>;
2077
2077
  deletions: z.ZodDefault<z.ZodNumber>;
2078
2078
  }, "strip", z.ZodTypeAny, {
2079
+ file: string;
2080
+ scope: string;
2079
2081
  additions: number;
2080
2082
  deletions: number;
2081
- scope: string;
2082
- file: string;
2083
2083
  diff: string;
2084
2084
  }, {
2085
2085
  file: string;
2086
2086
  diff: string;
2087
+ scope?: string | undefined;
2087
2088
  additions?: number | undefined;
2088
2089
  deletions?: number | undefined;
2089
- scope?: string | undefined;
2090
2090
  }>;
2091
2091
  type FileDiffResponse = z.infer<typeof FileDiffResponseSchema>;
2092
2092
  /**
@@ -2100,8 +2100,8 @@ declare const SummarizeRequestSchema: z.ZodObject<{
2100
2100
  scope: string;
2101
2101
  file?: string | undefined;
2102
2102
  }, {
2103
- scope?: string | undefined;
2104
2103
  file?: string | undefined;
2104
+ scope?: string | undefined;
2105
2105
  }>;
2106
2106
  type SummarizeRequest = z.infer<typeof SummarizeRequestSchema>;
2107
2107
  /**
@@ -2116,13 +2116,13 @@ declare const SummarizeResponseSchema: z.ZodObject<{
2116
2116
  }, "strip", z.ZodTypeAny, {
2117
2117
  scope: string;
2118
2118
  summary: string;
2119
- tokensUsed?: number | undefined;
2120
2119
  file?: string | undefined;
2120
+ tokensUsed?: number | undefined;
2121
2121
  }, {
2122
2122
  summary: string;
2123
+ file?: string | undefined;
2123
2124
  scope?: string | undefined;
2124
2125
  tokensUsed?: number | undefined;
2125
- file?: string | undefined;
2126
2126
  }>;
2127
2127
  type SummarizeResponse = z.infer<typeof SummarizeResponseSchema>;
2128
2128
 
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});\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});\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":["../../../../../../Users/kirillbaranov/Desktop/work/kb-labs-workspace/plugins/commit/contracts/src/version.ts","../../../../../../Users/kirillbaranov/Desktop/work/kb-labs-workspace/plugins/commit/contracts/src/contract.ts","../../../../../../Users/kirillbaranov/Desktop/work/kb-labs-workspace/plugins/commit/contracts/src/helpers.ts","../../../../../../Users/kirillbaranov/Desktop/work/kb-labs-workspace/plugins/commit/contracts/src/schema/api.schema.ts","../../../../../../Users/kirillbaranov/Desktop/work/kb-labs-workspace/plugins/commit/contracts/src/schema/artifacts.schema.ts","../../../../../../Users/kirillbaranov/Desktop/work/kb-labs-workspace/plugins/commit/contracts/src/schema/commands.schema.ts","../../../../../../Users/kirillbaranov/Desktop/work/kb-labs-workspace/plugins/commit/contracts/src/schema/workflows.schema.ts","../../../../../../Users/kirillbaranov/Desktop/work/kb-labs-workspace/plugins/commit/contracts/src/schema/contract.schema.ts","../../../../../../Users/kirillbaranov/Desktop/work/kb-labs-workspace/plugins/commit/contracts/src/types/config.ts","../../../../../../Users/kirillbaranov/Desktop/work/kb-labs-workspace/plugins/commit/contracts/src/schema.ts","../../../../../../Users/kirillbaranov/Desktop/work/kb-labs-workspace/plugins/commit/contracts/src/schema/rest.schema.ts","../../../../../../Users/kirillbaranov/Desktop/work/kb-labs-workspace/plugins/commit/contracts/src/flags.ts","../../../../../../Users/kirillbaranov/Desktop/work/kb-labs-workspace/plugins/commit/contracts/src/env.ts","../../../../../../Users/kirillbaranov/Desktop/work/kb-labs-workspace/plugins/commit/contracts/src/routes.ts","../../../../../../Users/kirillbaranov/Desktop/work/kb-labs-workspace/plugins/commit/contracts/src/events.ts","../../../../../../Users/kirillbaranov/Desktop/work/kb-labs-workspace/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});\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});\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;
42
43
  path: string;
43
44
  status: "added" | "modified" | "deleted" | "renamed" | "copied";
44
45
  additions: number;
45
46
  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: "none" | "patch" | "minor" | "major";
127
+ releaseHint: "minor" | "none" | "patch" | "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?: "none" | "patch" | "minor" | "major" | undefined;
145
+ releaseHint?: "minor" | "none" | "patch" | "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: "none" | "patch" | "minor" | "major";
215
+ releaseHint: "minor" | "none" | "patch" | "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?: "none" | "patch" | "minor" | "major" | undefined;
233
+ releaseHint?: "minor" | "none" | "patch" | "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: "none" | "patch" | "minor" | "major";
277
+ releaseHint: "minor" | "none" | "patch" | "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?: "none" | "patch" | "minor" | "major" | undefined;
312
+ releaseHint?: "minor" | "none" | "patch" | "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;
359
360
  path: string;
360
361
  status: "added" | "modified" | "deleted" | "renamed" | "copied";
361
362
  additions: number;
362
363
  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;
382
383
  path: string;
383
384
  status: "added" | "modified" | "deleted" | "renamed" | "copied";
384
385
  additions: number;
385
386
  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: "none" | "patch" | "minor" | "major";
478
+ releaseHint: "minor" | "none" | "patch" | "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?: "none" | "patch" | "minor" | "major" | undefined;
496
+ releaseHint?: "minor" | "none" | "patch" | "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: "none" | "patch" | "minor" | "major";
540
+ releaseHint: "minor" | "none" | "patch" | "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?: "none" | "patch" | "minor" | "major" | undefined;
575
+ releaseHint?: "minor" | "none" | "patch" | "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: "none" | "patch" | "minor" | "major";
628
+ releaseHint: "minor" | "none" | "patch" | "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?: "none" | "patch" | "minor" | "major" | undefined;
672
+ releaseHint?: "minor" | "none" | "patch" | "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: "none" | "patch" | "minor" | "major";
759
+ releaseHint: "minor" | "none" | "patch" | "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?: "none" | "patch" | "minor" | "major" | undefined;
777
+ releaseHint?: "minor" | "none" | "patch" | "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: "none" | "patch" | "minor" | "major";
821
+ releaseHint: "minor" | "none" | "patch" | "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?: "none" | "patch" | "minor" | "major" | undefined;
856
+ releaseHint?: "minor" | "none" | "patch" | "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: "none" | "patch" | "minor" | "major";
890
+ releaseHint: "minor" | "none" | "patch" | "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?: "none" | "patch" | "minor" | "major" | undefined;
928
+ releaseHint?: "minor" | "none" | "patch" | "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: "none" | "patch" | "minor" | "major";
1082
+ releaseHint: "minor" | "none" | "patch" | "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?: "none" | "patch" | "minor" | "major" | undefined;
1100
+ releaseHint?: "minor" | "none" | "patch" | "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: "none" | "patch" | "minor" | "major";
1144
+ releaseHint: "minor" | "none" | "patch" | "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?: "none" | "patch" | "minor" | "major" | undefined;
1179
+ releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
1180
1180
  breaking?: boolean | undefined;
1181
1181
  reasoning?: {
1182
1182
  newBehavior?: boolean | undefined;
@@ -1211,7 +1211,7 @@ declare const OpenOutputSchema: z.ZodObject<{
1211
1211
  type: "feat" | "fix" | "refactor" | "chore" | "docs" | "test" | "build" | "ci" | "perf";
1212
1212
  id: string;
1213
1213
  files: string[];
1214
- releaseHint: "none" | "patch" | "minor" | "major";
1214
+ releaseHint: "minor" | "none" | "patch" | "major";
1215
1215
  breaking: boolean;
1216
1216
  scope?: string | undefined;
1217
1217
  body?: string | undefined;
@@ -1250,7 +1250,7 @@ declare const OpenOutputSchema: z.ZodObject<{
1250
1250
  files: string[];
1251
1251
  scope?: string | undefined;
1252
1252
  body?: string | undefined;
1253
- releaseHint?: "none" | "patch" | "minor" | "major" | undefined;
1253
+ releaseHint?: "minor" | "none" | "patch" | "major" | undefined;
1254
1254
  breaking?: boolean | undefined;
1255
1255
  reasoning?: {
1256
1256
  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});\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":["../../../../../../Users/kirillbaranov/Desktop/work/kb-labs-workspace/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});\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.103.0",
4
+ "version": "2.105.0-canary.f6d35e31",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
@@ -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.103.0"
39
+ "@kb-labs/devkit": "2.104.0"
40
40
  },
41
41
  "engines": {
42
42
  "node": ">=20.0.0",