@ratio-app/cli 0.1.1

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 (182) hide show
  1. package/README.md +504 -0
  2. package/bin/run.mjs +5 -0
  3. package/dist/commands/__test__/throw.d.ts +25 -0
  4. package/dist/commands/__test__/throw.js +238 -0
  5. package/dist/commands/__test__/throw.js.map +1 -0
  6. package/dist/commands/app/create.d.ts +55 -0
  7. package/dist/commands/app/create.js +609 -0
  8. package/dist/commands/app/create.js.map +1 -0
  9. package/dist/commands/app/deploy.d.ts +14 -0
  10. package/dist/commands/app/deploy.js +179 -0
  11. package/dist/commands/app/deploy.js.map +1 -0
  12. package/dist/commands/app/dev.d.ts +28 -0
  13. package/dist/commands/app/dev.js +701 -0
  14. package/dist/commands/app/dev.js.map +1 -0
  15. package/dist/commands/app/generate.d.ts +14 -0
  16. package/dist/commands/app/generate.js +179 -0
  17. package/dist/commands/app/generate.js.map +1 -0
  18. package/dist/commands/app/info.d.ts +14 -0
  19. package/dist/commands/app/info.js +179 -0
  20. package/dist/commands/app/info.js.map +1 -0
  21. package/dist/commands/app/link.d.ts +118 -0
  22. package/dist/commands/app/link.js +1120 -0
  23. package/dist/commands/app/link.js.map +1 -0
  24. package/dist/commands/auth/login.d.ts +43 -0
  25. package/dist/commands/auth/login.js +987 -0
  26. package/dist/commands/auth/login.js.map +1 -0
  27. package/dist/commands/auth/logout.d.ts +15 -0
  28. package/dist/commands/auth/logout.js +486 -0
  29. package/dist/commands/auth/logout.js.map +1 -0
  30. package/dist/commands/auth/whoami.d.ts +16 -0
  31. package/dist/commands/auth/whoami.js +531 -0
  32. package/dist/commands/auth/whoami.js.map +1 -0
  33. package/dist/commands/dev/listen.d.ts +84 -0
  34. package/dist/commands/dev/listen.js +1187 -0
  35. package/dist/commands/dev/listen.js.map +1 -0
  36. package/dist/commands/dev/trigger.d.ts +88 -0
  37. package/dist/commands/dev/trigger.js +729 -0
  38. package/dist/commands/dev/trigger.js.map +1 -0
  39. package/dist/index.d.ts +14 -0
  40. package/dist/index.js +617 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/lib/auth/authorize-code-exchange.d.ts +50 -0
  43. package/dist/lib/auth/authorize-code-exchange.js +114 -0
  44. package/dist/lib/auth/authorize-code-exchange.js.map +1 -0
  45. package/dist/lib/auth/authorize-url.d.ts +42 -0
  46. package/dist/lib/auth/authorize-url.js +35 -0
  47. package/dist/lib/auth/authorize-url.js.map +1 -0
  48. package/dist/lib/auth/browser.d.ts +16 -0
  49. package/dist/lib/auth/browser.js +48 -0
  50. package/dist/lib/auth/browser.js.map +1 -0
  51. package/dist/lib/auth/config.d.ts +41 -0
  52. package/dist/lib/auth/config.js +21 -0
  53. package/dist/lib/auth/config.js.map +1 -0
  54. package/dist/lib/auth/http-refresher.d.ts +30 -0
  55. package/dist/lib/auth/http-refresher.js +103 -0
  56. package/dist/lib/auth/http-refresher.js.map +1 -0
  57. package/dist/lib/auth/identity.d.ts +26 -0
  58. package/dist/lib/auth/identity.js +10 -0
  59. package/dist/lib/auth/identity.js.map +1 -0
  60. package/dist/lib/auth/index.d.ts +13 -0
  61. package/dist/lib/auth/index.js +527 -0
  62. package/dist/lib/auth/index.js.map +1 -0
  63. package/dist/lib/auth/loopback-server.d.ts +65 -0
  64. package/dist/lib/auth/loopback-server.js +245 -0
  65. package/dist/lib/auth/loopback-server.js.map +1 -0
  66. package/dist/lib/auth/manual-prompt.d.ts +17 -0
  67. package/dist/lib/auth/manual-prompt.js +20 -0
  68. package/dist/lib/auth/manual-prompt.js.map +1 -0
  69. package/dist/lib/auth/pkce.d.ts +24 -0
  70. package/dist/lib/auth/pkce.js +15 -0
  71. package/dist/lib/auth/pkce.js.map +1 -0
  72. package/dist/lib/auth/state.d.ts +20 -0
  73. package/dist/lib/auth/state.js +19 -0
  74. package/dist/lib/auth/state.js.map +1 -0
  75. package/dist/lib/auth/verbose-trace.d.ts +25 -0
  76. package/dist/lib/auth/verbose-trace.js +17 -0
  77. package/dist/lib/auth/verbose-trace.js.map +1 -0
  78. package/dist/lib/credentials/clock.d.ts +18 -0
  79. package/dist/lib/credentials/clock.js +10 -0
  80. package/dist/lib/credentials/clock.js.map +1 -0
  81. package/dist/lib/credentials/index.d.ts +5 -0
  82. package/dist/lib/credentials/index.js +340 -0
  83. package/dist/lib/credentials/index.js.map +1 -0
  84. package/dist/lib/credentials/path.d.ts +26 -0
  85. package/dist/lib/credentials/path.js +32 -0
  86. package/dist/lib/credentials/path.js.map +1 -0
  87. package/dist/lib/credentials/refresher.d.ts +26 -0
  88. package/dist/lib/credentials/refresher.js +34 -0
  89. package/dist/lib/credentials/refresher.js.map +1 -0
  90. package/dist/lib/credentials/schema.d.ts +138 -0
  91. package/dist/lib/credentials/schema.js +85 -0
  92. package/dist/lib/credentials/schema.js.map +1 -0
  93. package/dist/lib/credentials/store.d.ts +102 -0
  94. package/dist/lib/credentials/store.js +337 -0
  95. package/dist/lib/credentials/store.js.map +1 -0
  96. package/dist/lib/credentials/types.d.ts +65 -0
  97. package/dist/lib/credentials/types.js +1 -0
  98. package/dist/lib/credentials/types.js.map +1 -0
  99. package/dist/lib/dev-store-gate.d.ts +66 -0
  100. package/dist/lib/dev-store-gate.js +15 -0
  101. package/dist/lib/dev-store-gate.js.map +1 -0
  102. package/dist/lib/errors.d.ts +60 -0
  103. package/dist/lib/errors.js +101 -0
  104. package/dist/lib/errors.js.map +1 -0
  105. package/dist/lib/manifest/index.d.ts +2 -0
  106. package/dist/lib/manifest/index.js +144 -0
  107. package/dist/lib/manifest/index.js.map +1 -0
  108. package/dist/lib/manifest/read-manifest.d.ts +32 -0
  109. package/dist/lib/manifest/read-manifest.js +87 -0
  110. package/dist/lib/manifest/read-manifest.js.map +1 -0
  111. package/dist/lib/manifest/write-client-id.d.ts +33 -0
  112. package/dist/lib/manifest/write-client-id.js +94 -0
  113. package/dist/lib/manifest/write-client-id.js.map +1 -0
  114. package/dist/lib/messages.d.ts +15 -0
  115. package/dist/lib/messages.js +16 -0
  116. package/dist/lib/messages.js.map +1 -0
  117. package/dist/lib/orchestrator/child-runner.d.ts +140 -0
  118. package/dist/lib/orchestrator/child-runner.js +471 -0
  119. package/dist/lib/orchestrator/child-runner.js.map +1 -0
  120. package/dist/lib/preview/index.d.ts +11 -0
  121. package/dist/lib/preview/index.js +17 -0
  122. package/dist/lib/preview/index.js.map +1 -0
  123. package/dist/lib/preview/types.d.ts +16 -0
  124. package/dist/lib/preview/types.js +11 -0
  125. package/dist/lib/preview/types.js.map +1 -0
  126. package/dist/lib/ratio-command.d.ts +52 -0
  127. package/dist/lib/ratio-command.js +141 -0
  128. package/dist/lib/ratio-command.js.map +1 -0
  129. package/dist/lib/relay/index.d.ts +7 -0
  130. package/dist/lib/relay/index.js +362 -0
  131. package/dist/lib/relay/index.js.map +1 -0
  132. package/dist/lib/relay/relay-client.d.ts +91 -0
  133. package/dist/lib/relay/relay-client.js +362 -0
  134. package/dist/lib/relay/relay-client.js.map +1 -0
  135. package/dist/lib/relay/types.d.ts +71 -0
  136. package/dist/lib/relay/types.js +1 -0
  137. package/dist/lib/relay/types.js.map +1 -0
  138. package/dist/lib/render-error.d.ts +35 -0
  139. package/dist/lib/render-error.js +115 -0
  140. package/dist/lib/render-error.js.map +1 -0
  141. package/dist/lib/verbose-flag.d.ts +12 -0
  142. package/dist/lib/verbose-flag.js +17 -0
  143. package/dist/lib/verbose-flag.js.map +1 -0
  144. package/dist/render-CrHGqTPH.d.ts +115 -0
  145. package/dist/templates/.gitkeep +0 -0
  146. package/dist/templates/minimal/.env.example.tmpl +4 -0
  147. package/dist/templates/minimal/README.md.tmpl +26 -0
  148. package/dist/templates/minimal/gitignore +5 -0
  149. package/dist/templates/minimal/manifest.json +5 -0
  150. package/dist/templates/minimal/package.json.tmpl +25 -0
  151. package/dist/templates/minimal/ratio.config.jsonc.tmpl +17 -0
  152. package/dist/templates/minimal/src/index.ts.tmpl +26 -0
  153. package/dist/templates/minimal/src/install.ts.tmpl +37 -0
  154. package/dist/templates/minimal/src/webhooks.ts.tmpl +57 -0
  155. package/dist/templates/minimal/tsconfig.json +17 -0
  156. package/dist/templates/serverless/README.md.tmpl +28 -0
  157. package/dist/templates/serverless/gitignore +6 -0
  158. package/dist/templates/serverless/manifest.json +5 -0
  159. package/dist/templates/serverless/package.json.tmpl +22 -0
  160. package/dist/templates/serverless/ratio.config.jsonc.tmpl +17 -0
  161. package/dist/templates/serverless/src/index.ts.tmpl +20 -0
  162. package/dist/templates/serverless/src/install.ts.tmpl +20 -0
  163. package/dist/templates/serverless/src/webhooks.ts.tmpl +36 -0
  164. package/dist/templates/serverless/tsconfig.json +18 -0
  165. package/dist/templates/serverless/wrangler.toml.tmpl +9 -0
  166. package/dist/templates/with-admin-ui/.env.example.tmpl +4 -0
  167. package/dist/templates/with-admin-ui/README.md.tmpl +28 -0
  168. package/dist/templates/with-admin-ui/gitignore +6 -0
  169. package/dist/templates/with-admin-ui/manifest.json +5 -0
  170. package/dist/templates/with-admin-ui/package.json.tmpl +31 -0
  171. package/dist/templates/with-admin-ui/ratio.config.jsonc.tmpl +17 -0
  172. package/dist/templates/with-admin-ui/src/admin/app/globals.css +19 -0
  173. package/dist/templates/with-admin-ui/src/admin/app/layout.tsx.tmpl +13 -0
  174. package/dist/templates/with-admin-ui/src/admin/app/page.tsx.tmpl +8 -0
  175. package/dist/templates/with-admin-ui/src/admin/next-env.d.ts.tmpl +5 -0
  176. package/dist/templates/with-admin-ui/src/admin/next.config.mjs +3 -0
  177. package/dist/templates/with-admin-ui/src/admin/tsconfig.json +20 -0
  178. package/dist/templates/with-admin-ui/src/index.ts.tmpl +26 -0
  179. package/dist/templates/with-admin-ui/src/install.ts.tmpl +37 -0
  180. package/dist/templates/with-admin-ui/src/webhooks.ts.tmpl +57 -0
  181. package/dist/templates/with-admin-ui/tsconfig.json +17 -0
  182. package/package.json +78 -0
@@ -0,0 +1,118 @@
1
+ import * as _oclif_core_interfaces from '@oclif/core/interfaces';
2
+ import { z } from 'zod';
3
+ import { CredentialStore } from '../../lib/credentials/store.js';
4
+ import { RatioCommand } from '../../lib/ratio-command.js';
5
+ import '../../lib/credentials/clock.js';
6
+ import '../../lib/credentials/refresher.js';
7
+ import '../../lib/credentials/types.js';
8
+ import '@oclif/core';
9
+
10
+ /** Per-request budget for platform HTTP calls; slower responses time out. */
11
+ declare const REQUEST_TIMEOUT_MS = 10000;
12
+ /** Compiled-in default server for app-link when nothing else resolves. */
13
+ declare const DEFAULT_LINK_SERVER = "https://api.ratio.app";
14
+ /** Developer sessions live 24 hours from issue; computed at persist time. */
15
+ declare const DEVELOPER_SESSION_TTL_MS: number;
16
+ /** Fallback description when the user provides none at create time. */
17
+ declare const DEFAULT_APP_DESCRIPTION = "A Ratio app scaffolded via ratio-cli.";
18
+ /** Default category slug used at create time; override with --category. */
19
+ declare const DEFAULT_CATEGORY_SLUG = "general";
20
+ declare const signinResponseSchema: z.ZodObject<{
21
+ accessToken: z.ZodString;
22
+ developer: z.ZodObject<{
23
+ id: z.ZodString;
24
+ email: z.ZodString;
25
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
26
+ id: z.ZodString;
27
+ email: z.ZodString;
28
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
29
+ id: z.ZodString;
30
+ email: z.ZodString;
31
+ }, z.ZodTypeAny, "passthrough">>;
32
+ }, "strip", z.ZodTypeAny, {
33
+ accessToken: string;
34
+ developer: {
35
+ email: string;
36
+ id: string;
37
+ } & {
38
+ [k: string]: unknown;
39
+ };
40
+ }, {
41
+ accessToken: string;
42
+ developer: {
43
+ email: string;
44
+ id: string;
45
+ } & {
46
+ [k: string]: unknown;
47
+ };
48
+ }>;
49
+ type SigninResponse = z.infer<typeof signinResponseSchema>;
50
+ declare const applicationSummarySchema: z.ZodObject<{
51
+ id: z.ZodString;
52
+ name: z.ZodString;
53
+ clientId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
54
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
55
+ id: z.ZodString;
56
+ name: z.ZodString;
57
+ clientId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
58
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
59
+ id: z.ZodString;
60
+ name: z.ZodString;
61
+ clientId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
62
+ }, z.ZodTypeAny, "passthrough">>;
63
+ type ApplicationSummary = z.infer<typeof applicationSummarySchema>;
64
+ /** Compute the session expiry from the moment the token was obtained. */
65
+ declare function computeSessionExpiresAt(obtainedAtIso: string): string;
66
+ /** Interactive input seam. Tests inject a scripted fake. */
67
+ interface LinkPrompter {
68
+ /** Ask a visible-echo question (email, name, selection). */
69
+ text(question: string): Promise<string>;
70
+ /** Ask a masked question (password). Input is never echoed. */
71
+ masked(question: string): Promise<string>;
72
+ }
73
+ /**
74
+ * Production prompter. Questions render on stderr so stdout stays reserved
75
+ * for the final human line or the machine-readable JSON envelope. The masked
76
+ * variant reads raw stdin and never echoes a character; the entered value is
77
+ * never logged and never persisted.
78
+ */
79
+ declare function defaultLinkPrompter(): LinkPrompter;
80
+ declare class AppLink extends RatioCommand {
81
+ static description: string;
82
+ static examples: string[];
83
+ static flags: {
84
+ email: _oclif_core_interfaces.OptionFlag<string | undefined, _oclif_core_interfaces.CustomOptions>;
85
+ 'client-id': _oclif_core_interfaces.OptionFlag<string | undefined, _oclif_core_interfaces.CustomOptions>;
86
+ 'app-id': _oclif_core_interfaces.OptionFlag<string | undefined, _oclif_core_interfaces.CustomOptions>;
87
+ category: _oclif_core_interfaces.OptionFlag<string | undefined, _oclif_core_interfaces.CustomOptions>;
88
+ json: _oclif_core_interfaces.BooleanFlag<boolean>;
89
+ verbose: _oclif_core_interfaces.BooleanFlag<boolean>;
90
+ };
91
+ writeOut: (chunk: string) => void;
92
+ writeErr: (chunk: string) => void;
93
+ makeCredentialStore: () => CredentialStore;
94
+ prompter: LinkPrompter;
95
+ isInteractive: () => boolean;
96
+ envReader: () => Readonly<Record<string, string | undefined>>;
97
+ getCwd: () => string;
98
+ run(): Promise<void>;
99
+ private readManifest;
100
+ private writeAndReport;
101
+ private resolveServer;
102
+ private acquireBearer;
103
+ private signinInteractive;
104
+ private signin;
105
+ /**
106
+ * Run one app-management call; on a 401 re-prompt the password ONCE
107
+ * (email already known when possible), retry ONCE, and fail typed on a
108
+ * second 401. Unattended runs (env token / non-TTY) fail typed directly.
109
+ */
110
+ private withAuthRetry;
111
+ private fetchAppClientId;
112
+ private listApplications;
113
+ private createApplication;
114
+ private pickOrCreateApp;
115
+ private createFlow;
116
+ }
117
+
118
+ export { type ApplicationSummary, DEFAULT_APP_DESCRIPTION, DEFAULT_CATEGORY_SLUG, DEFAULT_LINK_SERVER, DEVELOPER_SESSION_TTL_MS, type LinkPrompter, REQUEST_TIMEOUT_MS, type SigninResponse, computeSessionExpiresAt, AppLink as default, defaultLinkPrompter };