@happyvertical/smrt-cli 0.55.10 → 0.55.12

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 (65) hide show
  1. package/AGENTS.md +11 -19
  2. package/README.md +4 -0
  3. package/agents/cookbook-apply.md +65 -0
  4. package/agents/kitchen.md +128 -0
  5. package/agents/process-fixture-isolation.md +29 -0
  6. package/cookbooks/bakery.cookbook.json +187 -0
  7. package/cookbooks/mechanic.cookbook.json +191 -0
  8. package/cookbooks/welder.cookbook.json +177 -0
  9. package/cookbooks/yoga-studio.cookbook.json +173 -0
  10. package/dist/{AuditLogCollection-WDHL-_AF-9sLdjeZF.js → AuditLogCollection-WDHL-_AF-BszXtso4.js} +1 -1
  11. package/dist/{OidcIdentity-BUblgQLs-QX0f44sA.js → OidcIdentity-BUblgQLs-BKQM3V05.js} +2 -2
  12. package/dist/{OidcIdentityCollection-ClOyaHeF-BfIHh4aA.js → OidcIdentityCollection-ClOyaHeF-Cl55iTxm.js} +1 -1
  13. package/dist/{ProfileAssetCollection-CRMcjLJ--Dobq-AgM.js → ProfileAssetCollection-CRMcjLJ--CEeWgEaI.js} +3 -3
  14. package/dist/{ProfileCollection-C4INKh7Y-DtWNBhg3.js → ProfileCollection-C4INKh7Y-BwsTQNNn.js} +17 -17
  15. package/dist/{ProfileLinkCollection-DFfZRsgv-DNiBQtmL.js → ProfileLinkCollection-DFfZRsgv-Cc-IoY9N.js} +2 -2
  16. package/dist/{ProfileMetadataCollection-BIYKy4Y3-CeQxYDL4.js → ProfileMetadataCollection-BIYKy4Y3-Defebkba.js} +1 -1
  17. package/dist/{ProfileMetafieldCollection-Buz7gzag-DP2ZYYv7.js → ProfileMetafieldCollection-Buz7gzag-Dp1xGqhO.js} +1 -1
  18. package/dist/{ProfileRelationshipCollection-C4g_QLI4-VbnpFG2C.js → ProfileRelationshipCollection-C4g_QLI4-BJkzyR5B.js} +1 -1
  19. package/dist/{ProfileTypeCollection-B7kwi1mU-DWalSOyP.js → ProfileTypeCollection-B7kwi1mU-DMXAvisH.js} +2 -2
  20. package/dist/apply-BNDIdixP.js +947 -0
  21. package/dist/cli-generator.d.ts.map +1 -1
  22. package/dist/commands/cookbook/apply.d.ts +102 -0
  23. package/dist/commands/cookbook/apply.d.ts.map +1 -0
  24. package/dist/commands/cookbook/recipe-index.d.ts +108 -0
  25. package/dist/commands/cookbook/recipe-index.d.ts.map +1 -0
  26. package/dist/commands/cookbook/registry.d.ts +69 -0
  27. package/dist/commands/cookbook/registry.d.ts.map +1 -0
  28. package/dist/commands/cookbook/shared.d.ts +23 -0
  29. package/dist/commands/cookbook/shared.d.ts.map +1 -0
  30. package/dist/commands/cookbook/validate.d.ts +25 -0
  31. package/dist/commands/cookbook/validate.d.ts.map +1 -0
  32. package/dist/commands/cookbook.d.ts +6 -0
  33. package/dist/commands/cookbook.d.ts.map +1 -0
  34. package/dist/commands/index.d.ts +2 -0
  35. package/dist/commands/index.d.ts.map +1 -1
  36. package/dist/commands/kitchen/ai.d.ts +34 -0
  37. package/dist/commands/kitchen/ai.d.ts.map +1 -0
  38. package/dist/commands/kitchen/apply.d.ts +52 -0
  39. package/dist/commands/kitchen/apply.d.ts.map +1 -0
  40. package/dist/commands/kitchen/mcp/catalog.d.ts +39 -0
  41. package/dist/commands/kitchen/mcp/catalog.d.ts.map +1 -0
  42. package/dist/commands/kitchen/mcp/server.d.ts +15 -0
  43. package/dist/commands/kitchen/mcp/server.d.ts.map +1 -0
  44. package/dist/commands/kitchen/mcp/tools.d.ts +68 -0
  45. package/dist/commands/kitchen/mcp/tools.d.ts.map +1 -0
  46. package/dist/commands/kitchen/planner.d.ts +71 -0
  47. package/dist/commands/kitchen/planner.d.ts.map +1 -0
  48. package/dist/commands/kitchen/run.d.ts +40 -0
  49. package/dist/commands/kitchen/run.d.ts.map +1 -0
  50. package/dist/commands/kitchen/server.d.ts +48 -0
  51. package/dist/commands/kitchen/server.d.ts.map +1 -0
  52. package/dist/commands/kitchen.d.ts +7 -0
  53. package/dist/commands/kitchen.d.ts.map +1 -0
  54. package/dist/{commands-n_7ZXru_.js → commands-D72vE9ew.js} +760 -9
  55. package/dist/{dist-gZP7Tw10.js → dist-BBhTd0bD.js} +2 -2
  56. package/dist/{dist-Bw1oCty_.js → dist-BP9F7quh.js} +3 -3
  57. package/dist/{dist-BsMQ4Itc.js → dist-ByGzc20I.js} +16 -16
  58. package/dist/dist-C75AUvCx.js +21 -0
  59. package/dist/{dist-DscvT_q_.js → dist-ZcbytynG.js} +4 -4
  60. package/dist/index.js +44 -16
  61. package/dist/{oidcProvisioningPrimitives-DNP9EZlU-w2kQ8oqV.js → oidcProvisioningPrimitives-DNP9EZlU-CUqct6Rk.js} +3 -3
  62. package/dist/{resolveIdentity-CkyqvctR-Cm591gNa.js → resolveIdentity-CkyqvctR-Zz28PljF.js} +14 -14
  63. package/dist/server-Dp096tZj.js +898 -0
  64. package/package.json +13 -10
  65. package/dist/dist-DsZbjZ9J.js +0 -21
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../../src/commands/kitchen/mcp/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAOL,KAAK,UAAU,EACf,KAAK,YAAY,EAElB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,aAAa,EAEnB,MAAM,cAAc,CAAC;AAEtB,8EAA8E;AAC9E,eAAO,MAAM,SAAS,KAAK,CAAC;AAE5B,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;CAC9C;AAED,4CAA4C;AAC5C,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,UAAU,CAAC;IACxB,YAAY,EAAE,UAAU,CAAC;IACzB,WAAW,EAAE,sBAAsB,CAAC;CACrC;AAED,mFAAmF;AACnF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC;CACd;AAiFD,eAAO,MAAM,aAAa,EAAE,SAAS,qBAAqB,EA8NzD,CAAC;AAiBF,oDAAoD;AACpD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAyB/D;AAwBD,mEAAmE;AACnE,qBAAa,cAAc;IAIb,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,MAAM,CAAC,CAAyB;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2B;gBAEpB,OAAO,EAAE,mBAAmB;IAEzD,wEAAwE;IACxE,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC;IAYjC,OAAO,CAAC,IAAI;IAYZ,4DAA4D;IAC5D,OAAO,CAAC,MAAM,CAAC,KAAK;IAUd,IAAI,CACR,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACjC,OAAO,CAAC,iBAAiB,CAAC;YAuBf,QAAQ;YAiCR,aAAa;YAkBb,aAAa;YA8Bb,SAAS;IAgCvB,OAAO,CAAC,WAAW;YA0DL,YAAY;IAiC1B,OAAO,CAAC,UAAU;YAqBJ,SAAS;CAgGxB"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Locating the planner for `smrt kitchen` (#3750).
3
+ *
4
+ * The planner package (`@happyvertical/smrt-planner`) carries a ~70 MB static
5
+ * app, so the CLI does not depend on it. It is found, in order:
6
+ *
7
+ * 1. `--planner <dir>`: a packaged checkout (`pnpm package` in the planner repo).
8
+ * 2. A cached copy under the user cache dir, one directory per version.
9
+ * 3. The registry that owns the `@happyvertical` scope: the newest version is
10
+ * downloaded and extracted into the cache (no install, no dependencies).
11
+ *
12
+ * If none is available the error says how to fix it.
13
+ */
14
+ import { type RegistryOptions } from '../cookbook/registry.js';
15
+ export declare const PLANNER_PACKAGE = "@happyvertical/smrt-planner";
16
+ export declare class PlannerError extends Error {
17
+ }
18
+ /** The parts of the planner's `./core` the kitchen server uses. */
19
+ export interface PlannerCore {
20
+ parseHostRequest(body: unknown): {
21
+ ok: true;
22
+ request: unknown;
23
+ } | {
24
+ ok: false;
25
+ error: string;
26
+ };
27
+ buildHostPrompt(request: unknown): {
28
+ system: string;
29
+ messages: Array<{
30
+ role: string;
31
+ content: string;
32
+ }>;
33
+ };
34
+ parseHostReply(text: string): {
35
+ ok: boolean;
36
+ reply: unknown;
37
+ issues: string[];
38
+ };
39
+ }
40
+ export interface PlannerInstall {
41
+ /** The package root (holds `package.json`, `dist/`, `app/`). */
42
+ root: string;
43
+ /** Directory of the prebuilt static app. */
44
+ appDir: string;
45
+ /** Absolute path of the `./core` entry (plain Node ESM). */
46
+ coreFile: string;
47
+ version?: string;
48
+ source: 'local' | 'cache' | 'registry';
49
+ }
50
+ /**
51
+ * Where downloaded planners live: `$SMRT_CACHE_DIR/planner`, else the platform
52
+ * user cache (`$XDG_CACHE_HOME`, `~/Library/Caches`, `%LOCALAPPDATA%`, `~/.cache`)
53
+ * `/smrt/planner`. Each version is a subdirectory.
54
+ */
55
+ export declare function plannerCacheDir(env?: NodeJS.ProcessEnv): string;
56
+ /** Validate a package directory as a packaged planner. */
57
+ export declare function inspectPlanner(root: string, source: PlannerInstall['source']): PlannerInstall;
58
+ export interface ResolvePlannerOptions {
59
+ /** `--planner`: a packaged planner directory. */
60
+ planner?: string;
61
+ cacheDir?: string;
62
+ /** Directory whose `.npmrc` chain picks the registry. */
63
+ dir?: string;
64
+ registry?: RegistryOptions;
65
+ log?: (message: string) => void;
66
+ }
67
+ /** Find the planner: `--planner`, the cache, then the registry. */
68
+ export declare function resolvePlanner(options?: ResolvePlannerOptions): Promise<PlannerInstall>;
69
+ /** Import the planner's plain-Node `./core`. */
70
+ export declare function loadPlannerCore(install: PlannerInstall): Promise<PlannerCore>;
71
+ //# sourceMappingURL=planner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../../src/commands/kitchen/planner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAcH,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,eAAe,gCAAgC,CAAC;AAE7D,qBAAa,YAAa,SAAQ,KAAK;CAAG;AAE1C,mEAAmE;AACnE,MAAM,WAAW,WAAW;IAC1B,gBAAgB,CACd,IAAI,EAAE,OAAO,GACZ;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG;QACjC,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACpD,CAAC;IACF,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG;QAC5B,EAAE,EAAE,OAAO,CAAC;QACZ,KAAK,EAAE,OAAO,CAAC;QACf,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;CACxC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAU5E;AAWD,0DAA0D;AAC1D,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAC/B,cAAc,CA6BhB;AAiCD,MAAM,WAAW,qBAAqB;IACpC,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,mEAAmE;AACnE,wBAAsB,cAAc,CAClC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,cAAc,CAAC,CAkDzB;AAED,gDAAgD;AAChD,wBAAsB,eAAe,CACnC,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,WAAW,CAAC,CAUtB"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * `smrt kitchen [dir]` (#3750): find the planner, serve it on localhost, let
3
+ * the visitor chat their way to a cookbook, apply what they send into `dir`.
4
+ */
5
+ import { type KitchenAI } from './ai.js';
6
+ import { type AppliedBody, type CookbookApplier } from './apply.js';
7
+ import { type PlannerCore, type PlannerInstall } from './planner.js';
8
+ import { type KitchenServer } from './server.js';
9
+ export interface KitchenRunOptions {
10
+ /** Project directory. */
11
+ dir: string;
12
+ /** `--planner`: a packaged planner directory. */
13
+ planner?: string;
14
+ template?: string;
15
+ install: boolean;
16
+ open: boolean;
17
+ manifests?: string[];
18
+ registry: boolean;
19
+ port?: number;
20
+ log?: (line: string) => void;
21
+ /** Called once the server is listening (tests read the URL and token here). */
22
+ onReady?: (server: KitchenServer) => void;
23
+ /** Replace the pieces that touch the outside world (tests). */
24
+ overrides?: {
25
+ planner?: PlannerInstall;
26
+ core?: PlannerCore;
27
+ ai?: KitchenAI | null;
28
+ apply?: CookbookApplier;
29
+ token?: string;
30
+ openBrowser?: (url: string) => void;
31
+ };
32
+ /** Rejecting this stops the kitchen (the CLI wires Ctrl-C to it). */
33
+ stop?: Promise<never>;
34
+ }
35
+ /** The target must be new (absent or empty) or an existing kitchen project. */
36
+ export declare function checkTargetDir(dir: string): void;
37
+ export declare function openInBrowser(url: string): void;
38
+ /** Run the kitchen until a cookbook was applied. Returns what was written. */
39
+ export declare function runKitchen(options: KitchenRunOptions): Promise<AppliedBody>;
40
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/commands/kitchen/run.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,SAAS,CAAC;AAC3D,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,eAAe,EAErB,MAAM,YAAY,CAAC;AACpB,OAAO,EAEL,KAAK,WAAW,EAEhB,KAAK,cAAc,EAEpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,aAAa,EAAsB,MAAM,aAAa,CAAC;AAErE,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,+EAA+E;IAC/E,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1C,+DAA+D;IAC/D,SAAS,CAAC,EAAE;QACV,OAAO,CAAC,EAAE,cAAc,CAAC;QACzB,IAAI,CAAC,EAAE,WAAW,CAAC;QACnB,EAAE,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;QACtB,KAAK,CAAC,EAAE,eAAe,CAAC;QACxB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;KACrC,CAAC;IACF,qEAAqE;IACrE,IAAI,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CACvB;AAED,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAWhD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAU/C;AAED,8EAA8E;AAC9E,wBAAsB,UAAU,CAC9B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,CA2DtB"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * The local server behind `smrt kitchen` (#3750): the planner's static app,
3
+ * the host-mode chat endpoint, and the one endpoint that receives the cookbook.
4
+ *
5
+ * It only ever listens on 127.0.0.1 (a random port) and every request must
6
+ * carry a `Host` of this server, which defeats DNS rebinding. State-changing
7
+ * requests are same-origin JSON; the cookbook also needs the one-time token.
8
+ */
9
+ import type { KitchenAI } from './ai.js';
10
+ import type { AppliedBody, CookbookApplier } from './apply.js';
11
+ import type { PlannerCore, PlannerInstall } from './planner.js';
12
+ export declare const CHAT_PATH = "/api/planner/chat";
13
+ export declare const COOKBOOK_PATH = "/api/kitchen/cookbook";
14
+ export declare const CONFIG_PATH = "/planner.config.json";
15
+ export declare const TOKEN_HEADER = "x-kitchen-token";
16
+ /** The fragment key the planner reads the one-time token from (`#kitchen=<token>`). */
17
+ export declare const KITCHEN_FRAGMENT = "kitchen";
18
+ export interface KitchenServerOptions {
19
+ planner: PlannerInstall;
20
+ core: PlannerCore;
21
+ /** The configured model; null serves the planner's in-browser model. */
22
+ ai: KitchenAI | null;
23
+ apply: CookbookApplier;
24
+ /** Fixed port (default: random). */
25
+ port?: number;
26
+ /** Fixed token (tests). Default: 32 random bytes, base64url. */
27
+ token?: string;
28
+ log?: (line: string) => void;
29
+ }
30
+ export interface KitchenServer {
31
+ /** The server's address, with no secret in it. */
32
+ url: string;
33
+ /**
34
+ * The address to open: `url` plus `#kitchen=<token>`. A fragment is never
35
+ * sent to a server, so the token reaches the page without being readable
36
+ * from any endpoint; the planner reads it from `location.hash` and strips it.
37
+ */
38
+ openUrl: string;
39
+ port: number;
40
+ token: string;
41
+ /** `host` when the chat endpoint is served, else `browser`. */
42
+ mode: 'host' | 'browser';
43
+ /** Resolves once a cookbook was applied and the answer sent to the page. */
44
+ applied: Promise<AppliedBody>;
45
+ close(): Promise<void>;
46
+ }
47
+ export declare function startKitchenServer(options: KitchenServerOptions): Promise<KitchenServer>;
48
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/commands/kitchen/server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEhE,eAAO,MAAM,SAAS,sBAAsB,CAAC;AAC7C,eAAO,MAAM,aAAa,0BAA0B,CAAC;AACrD,eAAO,MAAM,WAAW,yBAAyB,CAAC;AAClD,eAAO,MAAM,YAAY,oBAAoB,CAAC;AAC9C,uFAAuF;AACvF,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAK1C,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,WAAW,CAAC;IAClB,wEAAwE;IACxE,EAAE,EAAE,SAAS,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,eAAe,CAAC;IACvB,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,4EAA4E;IAC5E,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAsDD,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,aAAa,CAAC,CAqNxB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * `smrt kitchen [dir]` and `smrt kitchen apply <url|file> [dir]` (#3750).
3
+ * See `agents/kitchen.md`.
4
+ */
5
+ import type { CLICommand } from '../cli-generator.js';
6
+ export declare const kitchenCommands: Record<string, CLICommand>;
7
+ //# sourceMappingURL=kitchen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kitchen.d.ts","sourceRoot":"","sources":["../../src/commands/kitchen.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAoDtD,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CA0ItD,CAAC"}