@koda-sl/baker-cli 0.19.2 → 0.20.0-dev.250eed6a

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.
Files changed (84) hide show
  1. package/README.md +52 -0
  2. package/dist/cli.js +5 -2
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/actions/claim.d.ts +13 -0
  5. package/dist/commands/actions/claim.d.ts.map +1 -0
  6. package/dist/commands/actions/claim.js +38 -0
  7. package/dist/commands/actions/claim.js.map +1 -0
  8. package/dist/commands/actions/complete.d.ts +18 -0
  9. package/dist/commands/actions/complete.d.ts.map +1 -0
  10. package/dist/commands/actions/complete.js +40 -0
  11. package/dist/commands/actions/complete.js.map +1 -0
  12. package/dist/commands/actions/create.d.ts +29 -0
  13. package/dist/commands/actions/create.d.ts.map +1 -0
  14. package/dist/commands/actions/create.js +75 -0
  15. package/dist/commands/actions/create.js.map +1 -0
  16. package/dist/commands/actions/discard.d.ts +18 -0
  17. package/dist/commands/actions/discard.d.ts.map +1 -0
  18. package/dist/commands/actions/discard.js +44 -0
  19. package/dist/commands/actions/discard.js.map +1 -0
  20. package/dist/commands/actions/get.d.ts +13 -0
  21. package/dist/commands/actions/get.d.ts.map +1 -0
  22. package/dist/commands/actions/get.js +34 -0
  23. package/dist/commands/actions/get.js.map +1 -0
  24. package/dist/commands/actions/index.d.ts +2 -0
  25. package/dist/commands/actions/index.d.ts.map +1 -0
  26. package/dist/commands/actions/index.js +43 -0
  27. package/dist/commands/actions/index.js.map +1 -0
  28. package/dist/commands/actions/link.d.ts +13 -0
  29. package/dist/commands/actions/link.d.ts.map +1 -0
  30. package/dist/commands/actions/link.js +43 -0
  31. package/dist/commands/actions/link.js.map +1 -0
  32. package/dist/commands/actions/list.d.ts +19 -0
  33. package/dist/commands/actions/list.d.ts.map +1 -0
  34. package/dist/commands/actions/list.js +66 -0
  35. package/dist/commands/actions/list.js.map +1 -0
  36. package/dist/commands/actions/release.d.ts +13 -0
  37. package/dist/commands/actions/release.d.ts.map +1 -0
  38. package/dist/commands/actions/release.js +38 -0
  39. package/dist/commands/actions/release.js.map +1 -0
  40. package/dist/commands/actions/shared.d.ts +5 -0
  41. package/dist/commands/actions/shared.d.ts.map +1 -0
  42. package/dist/commands/actions/shared.js +25 -0
  43. package/dist/commands/actions/shared.js.map +1 -0
  44. package/dist/commands/actions/tag/add.d.ts +18 -0
  45. package/dist/commands/actions/tag/add.d.ts.map +1 -0
  46. package/dist/commands/actions/tag/add.js +47 -0
  47. package/dist/commands/actions/tag/add.js.map +1 -0
  48. package/dist/commands/actions/tag/create.d.ts +23 -0
  49. package/dist/commands/actions/tag/create.d.ts.map +1 -0
  50. package/dist/commands/actions/tag/create.js +50 -0
  51. package/dist/commands/actions/tag/create.js.map +1 -0
  52. package/dist/commands/actions/tag/delete.d.ts +13 -0
  53. package/dist/commands/actions/tag/delete.d.ts.map +1 -0
  54. package/dist/commands/actions/tag/delete.js +36 -0
  55. package/dist/commands/actions/tag/delete.js.map +1 -0
  56. package/dist/commands/actions/tag/index.d.ts +2 -0
  57. package/dist/commands/actions/tag/index.d.ts.map +1 -0
  58. package/dist/commands/actions/tag/index.js +32 -0
  59. package/dist/commands/actions/tag/index.js.map +1 -0
  60. package/dist/commands/actions/tag/list.d.ts +2 -0
  61. package/dist/commands/actions/tag/list.d.ts.map +1 -0
  62. package/dist/commands/actions/tag/list.js +24 -0
  63. package/dist/commands/actions/tag/list.js.map +1 -0
  64. package/dist/commands/actions/tag/remove.d.ts +18 -0
  65. package/dist/commands/actions/tag/remove.d.ts.map +1 -0
  66. package/dist/commands/actions/tag/remove.js +48 -0
  67. package/dist/commands/actions/tag/remove.js.map +1 -0
  68. package/dist/commands/actions/tag/update.d.ts +28 -0
  69. package/dist/commands/actions/tag/update.d.ts.map +1 -0
  70. package/dist/commands/actions/tag/update.js +50 -0
  71. package/dist/commands/actions/tag/update.js.map +1 -0
  72. package/dist/commands/actions/unlink.d.ts +13 -0
  73. package/dist/commands/actions/unlink.d.ts.map +1 -0
  74. package/dist/commands/actions/unlink.js +45 -0
  75. package/dist/commands/actions/unlink.js.map +1 -0
  76. package/dist/commands/actions/update.d.ts +28 -0
  77. package/dist/commands/actions/update.d.ts.map +1 -0
  78. package/dist/commands/actions/update.js +61 -0
  79. package/dist/commands/actions/update.js.map +1 -0
  80. package/dist/env.d.ts +2 -0
  81. package/dist/env.d.ts.map +1 -1
  82. package/dist/env.js +8 -0
  83. package/dist/env.js.map +1 -1
  84. package/package.json +1 -1
@@ -0,0 +1,50 @@
1
+ import { defineCommand } from "citty";
2
+ import { apiPost, validateConvexId } from "../../../client.js";
3
+ import { registerSchema } from "../../../schemas.js";
4
+ import { failApi, failValidation, writeOk } from "../shared.js";
5
+ registerSchema({
6
+ command: "actions.tag.update",
7
+ description: "Update a tag's label, color, or description. Applies immediately.",
8
+ args: {
9
+ id: { type: "string", description: "Tag ID", required: true },
10
+ label: { type: "string", description: "New label", required: false },
11
+ color: { type: "string", description: "New hex color", required: false },
12
+ description: { type: "string", description: "New description", required: false },
13
+ },
14
+ });
15
+ export const updateCommand = defineCommand({
16
+ meta: {
17
+ name: "update",
18
+ description: 'Update a tag. Example: baker actions tag update <tag-id> --label "Copywriting"',
19
+ },
20
+ args: {
21
+ id: { type: "positional", description: "Tag ID", required: false },
22
+ "tag-id": { type: "string", description: "Tag ID", required: false },
23
+ label: { type: "string", description: "New label", required: false },
24
+ color: { type: "string", description: "New hex color", required: false },
25
+ description: { type: "string", description: "New description", required: false },
26
+ },
27
+ run: async ({ args }) => {
28
+ try {
29
+ const id = args.id || args["tag-id"];
30
+ if (!id) {
31
+ failValidation("Tag ID is required.");
32
+ }
33
+ validateConvexId(id);
34
+ if (args.label === undefined && args.color === undefined && args.description === undefined) {
35
+ failValidation("Provide at least one of --label, --color, --description.");
36
+ }
37
+ await apiPost("/api/actions/tag/update", {
38
+ tagId: id,
39
+ label: args.label,
40
+ color: args.color,
41
+ description: args.description,
42
+ });
43
+ writeOk();
44
+ }
45
+ catch (err) {
46
+ failApi(err);
47
+ }
48
+ },
49
+ });
50
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/commands/actions/tag/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEhE,cAAc,CAAC;IACb,OAAO,EAAE,oBAAoB;IAC7B,WAAW,EAAE,mEAAmE;IAChF,IAAI,EAAE;QACJ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7D,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE;QACpE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE;QACxE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE;KACjF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;IACzC,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,gFAAgF;KAC9F;IACD,IAAI,EAAE;QACJ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;QAClE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;QACpE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE;QACpE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE;QACxE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE;KACjF;IACD,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACtB,IAAI,CAAC;YACH,MAAM,EAAE,GAAI,IAAI,CAAC,EAAyB,IAAK,IAAI,CAAC,QAAQ,CAAwB,CAAC;YACrF,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,cAAc,CAAC,qBAAqB,CAAC,CAAC;YACxC,CAAC;YACD,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACrB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC3F,cAAc,CAAC,0DAA0D,CAAC,CAAC;YAC7E,CAAC;YACD,MAAM,OAAO,CAAe,yBAAyB,EAAE;gBACrD,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ export declare const unlinkCommand: import("citty").CommandDef<{
2
+ readonly blocker: {
3
+ readonly type: "string";
4
+ readonly description: "Blocker action ID";
5
+ readonly required: false;
6
+ };
7
+ readonly blocked: {
8
+ readonly type: "string";
9
+ readonly description: "Blocked action ID";
10
+ readonly required: false;
11
+ };
12
+ }>;
13
+ //# sourceMappingURL=unlink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unlink.d.ts","sourceRoot":"","sources":["../../../src/commands/actions/unlink.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,aAAa;;;;;;;;;;;EA6BxB,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { defineCommand } from "citty";
2
+ import { apiPost, validateConvexId } from "../../client.js";
3
+ import { requireChatId } from "../../env.js";
4
+ import { registerSchema } from "../../schemas.js";
5
+ import { failApi, failValidation, writeOk } from "./shared.js";
6
+ registerSchema({
7
+ command: "actions.unlink",
8
+ description: "Stage removal of a 'blocker -> blocked' dependency. The blocked action must be claimed by current chat.",
9
+ args: {
10
+ blocker: { type: "string", description: "Blocker action ID", required: true },
11
+ blocked: { type: "string", description: "Blocked action ID (must be claimed by current chat)", required: true },
12
+ },
13
+ });
14
+ export const unlinkCommand = defineCommand({
15
+ meta: {
16
+ name: "unlink",
17
+ description: "Stage removal of a dependency. Example: baker actions unlink --blocker <id> --blocked <id>",
18
+ },
19
+ args: {
20
+ blocker: { type: "string", description: "Blocker action ID", required: false },
21
+ blocked: { type: "string", description: "Blocked action ID", required: false },
22
+ },
23
+ run: async ({ args }) => {
24
+ try {
25
+ const blocker = args.blocker;
26
+ const blocked = args.blocked;
27
+ if (!blocker || !blocked) {
28
+ failValidation("--blocker and --blocked are required.");
29
+ }
30
+ validateConvexId(blocker);
31
+ validateConvexId(blocked);
32
+ const chatId = requireChatId();
33
+ await apiPost("/api/actions/unlink", {
34
+ chatId,
35
+ blockerId: blocker,
36
+ blockedId: blocked,
37
+ });
38
+ writeOk();
39
+ }
40
+ catch (err) {
41
+ failApi(err);
42
+ }
43
+ },
44
+ });
45
+ //# sourceMappingURL=unlink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unlink.js","sourceRoot":"","sources":["../../../src/commands/actions/unlink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE/D,cAAc,CAAC;IACb,OAAO,EAAE,gBAAgB;IACzB,WAAW,EACT,yGAAyG;IAC3G,IAAI,EAAE;QACJ,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7E,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qDAAqD,EAAE,QAAQ,EAAE,IAAI,EAAE;KAChH;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;IACzC,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,4FAA4F;KAC1G;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC9E,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC/E;IACD,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACtB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAA6B,CAAC;YACnD,MAAM,OAAO,GAAG,IAAI,CAAC,OAA6B,CAAC;YACnD,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;gBACzB,cAAc,CAAC,uCAAuC,CAAC,CAAC;YAC1D,CAAC;YACD,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC1B,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;YAC/B,MAAM,OAAO,CAAe,qBAAqB,EAAE;gBACjD,MAAM;gBACN,SAAS,EAAE,OAAO;gBAClB,SAAS,EAAE,OAAO;aACnB,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,28 @@
1
+ export declare const updateCommand: import("citty").CommandDef<{
2
+ readonly id: {
3
+ readonly type: "positional";
4
+ readonly description: "Action ID";
5
+ readonly required: false;
6
+ };
7
+ readonly "action-id": {
8
+ readonly type: "string";
9
+ readonly description: "Action ID";
10
+ readonly required: false;
11
+ };
12
+ readonly name: {
13
+ readonly type: "string";
14
+ readonly description: "New name";
15
+ readonly required: false;
16
+ };
17
+ readonly description: {
18
+ readonly type: "string";
19
+ readonly description: "New description";
20
+ readonly required: false;
21
+ };
22
+ readonly executor: {
23
+ readonly type: "string";
24
+ readonly description: "Reclassify: 'agent' or 'human'";
25
+ readonly required: false;
26
+ };
27
+ }>;
28
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/actions/update.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCxB,CAAC"}
@@ -0,0 +1,61 @@
1
+ import { defineCommand } from "citty";
2
+ import { apiPost, validateConvexId } from "../../client.js";
3
+ import { requireChatId } from "../../env.js";
4
+ import { registerSchema } from "../../schemas.js";
5
+ import { failApi, failValidation, writeOk } from "./shared.js";
6
+ registerSchema({
7
+ command: "actions.update",
8
+ description: "Stage an update on a claimed action (name, description, and/or executor). Applies on publish. Use --executor to reclassify if you discover the action's executor was wrong: switch to 'agent' if you realize the agent can contribute (draft, build, scaffold, prepare); switch to 'human' only if you realize the agent contributes literally zero.",
9
+ args: {
10
+ id: { type: "string", description: "Action ID (must be claimed by current chat)", required: true },
11
+ name: { type: "string", description: "New name", required: false },
12
+ description: { type: "string", description: "New description", required: false },
13
+ executor: {
14
+ type: "string",
15
+ description: "Reclassify executor. 'agent' if the agent contributes anything (draft, build, scaffold) — even when a human does the final UI click. 'human' only when the agent contributes literally zero (sign, authorize, attend).",
16
+ required: false,
17
+ },
18
+ },
19
+ });
20
+ export const updateCommand = defineCommand({
21
+ meta: {
22
+ name: "update",
23
+ description: 'Stage an update on a claimed action. Example: baker actions update <id> --name "New name"',
24
+ },
25
+ args: {
26
+ id: { type: "positional", description: "Action ID", required: false },
27
+ "action-id": { type: "string", description: "Action ID", required: false },
28
+ name: { type: "string", description: "New name", required: false },
29
+ description: { type: "string", description: "New description", required: false },
30
+ executor: { type: "string", description: "Reclassify: 'agent' or 'human'", required: false },
31
+ },
32
+ run: async ({ args }) => {
33
+ try {
34
+ const id = args.id || args["action-id"];
35
+ if (!id) {
36
+ failValidation("Action ID is required.");
37
+ }
38
+ validateConvexId(id);
39
+ const executor = args.executor;
40
+ if (executor !== undefined && executor !== "agent" && executor !== "human") {
41
+ failValidation("--executor must be 'agent' or 'human'.");
42
+ }
43
+ if (args.name === undefined && args.description === undefined && executor === undefined) {
44
+ failValidation("Provide at least one of --name, --description, --executor.");
45
+ }
46
+ const chatId = requireChatId();
47
+ await apiPost("/api/actions/update", {
48
+ chatId,
49
+ actionId: id,
50
+ name: args.name,
51
+ description: args.description,
52
+ ...(executor !== undefined ? { requiresHuman: executor === "human" } : {}),
53
+ });
54
+ writeOk();
55
+ }
56
+ catch (err) {
57
+ failApi(err);
58
+ }
59
+ },
60
+ });
61
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/actions/update.ts"],"names":[],"mappings":"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"}
package/dist/env.d.ts CHANGED
@@ -1,10 +1,12 @@
1
1
  type Env = {
2
2
  BAKER_API_KEY: string;
3
3
  BAKER_API_URL: string;
4
+ BAKER_CHAT_ID?: string;
4
5
  BAKER_GOOGLE_ADS_CUSTOMER_ID?: string;
5
6
  BAKER_GA4_PROPERTY_ID?: string;
6
7
  BAKER_GSC_SITE_URL?: string;
7
8
  };
8
9
  export declare function getEnv(): Env;
10
+ export declare function requireChatId(): string;
9
11
  export {};
10
12
  //# sourceMappingURL=env.d.ts.map
package/dist/env.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAGA,KAAK,GAAG,GAAG;IACT,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAIF,wBAAgB,MAAM,IAAI,GAAG,CAiB5B"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAGA,KAAK,GAAG,GAAG;IACT,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAIF,wBAAgB,MAAM,IAAI,GAAG,CAkB5B;AAED,wBAAgB,aAAa,IAAI,MAAM,CAQtC"}
package/dist/env.js CHANGED
@@ -7,6 +7,7 @@ export function getEnv() {
7
7
  server: {
8
8
  BAKER_API_KEY: z.string().startsWith("bk_", "API key must start with 'bk_'"),
9
9
  BAKER_API_URL: z.url("BAKER_API_URL must be a valid URL"),
10
+ BAKER_CHAT_ID: z.string().optional(),
10
11
  BAKER_GOOGLE_ADS_CUSTOMER_ID: z
11
12
  .string()
12
13
  .regex(/^\d{10}$/)
@@ -19,4 +20,11 @@ export function getEnv() {
19
20
  }
20
21
  return cached;
21
22
  }
23
+ export function requireChatId() {
24
+ const env = getEnv();
25
+ if (!env.BAKER_CHAT_ID) {
26
+ throw new Error("BAKER_CHAT_ID is not set. This command stages changes against a chat — run it from a chat-attached environment.");
27
+ }
28
+ return env.BAKER_CHAT_ID;
29
+ }
22
30
  //# sourceMappingURL=env.js.map
package/dist/env.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,IAAI,MAAuB,CAAC;AAE5B,MAAM,UAAU,MAAM;IACpB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,SAAS,CAAC;YACjB,MAAM,EAAE;gBACN,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,+BAA+B,CAAC;gBAC5E,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,mCAAmC,CAAC;gBACzD,4BAA4B,EAAE,CAAC;qBAC5B,MAAM,EAAE;qBACR,KAAK,CAAC,UAAU,CAAC;qBACjB,QAAQ,EAAE;gBACb,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC5C,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC1C;YACD,UAAU,EAAE,OAAO,CAAC,GAAG;SACxB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,IAAI,MAAuB,CAAC;AAE5B,MAAM,UAAU,MAAM;IACpB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,SAAS,CAAC;YACjB,MAAM,EAAE;gBACN,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,+BAA+B,CAAC;gBAC5E,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,mCAAmC,CAAC;gBACzD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACpC,4BAA4B,EAAE,CAAC;qBAC5B,MAAM,EAAE;qBACR,KAAK,CAAC,UAAU,CAAC;qBACjB,QAAQ,EAAE;gBACb,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC5C,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC1C;YACD,UAAU,EAAE,OAAO,CAAC,GAAG;SACxB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,iHAAiH,CAClH,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC,aAAa,CAAC;AAC3B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koda-sl/baker-cli",
3
- "version": "0.19.2",
3
+ "version": "0.20.0-dev.250eed6a",
4
4
  "description": "AI-agent-first CLI for interacting with Baker",
5
5
  "type": "module",
6
6
  "bin": {