@usestatemachines/cli 0.0.0-stage → 0.1.0

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 (169) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +34 -2
  3. package/dist/agents/bundled.d.ts +5 -0
  4. package/dist/agents/bundled.js +6 -0
  5. package/dist/agents/destinations.d.ts +13 -0
  6. package/dist/agents/destinations.js +16 -0
  7. package/dist/api-internal.d.ts +62 -0
  8. package/dist/api-internal.js +348 -0
  9. package/dist/bin.d.ts +2 -0
  10. package/dist/bin.js +4 -0
  11. package/dist/command.d.ts +119 -0
  12. package/dist/command.js +195 -0
  13. package/dist/commands/api/command.d.ts +15 -0
  14. package/dist/commands/api/command.js +38 -0
  15. package/dist/commands/api/run.d.ts +4 -0
  16. package/dist/commands/api/run.js +24 -0
  17. package/dist/commands/apps/command.d.ts +19 -0
  18. package/dist/commands/apps/command.js +29 -0
  19. package/dist/commands/apps/list.d.ts +8 -0
  20. package/dist/commands/apps/list.js +10 -0
  21. package/dist/commands/connect/command.d.ts +34 -0
  22. package/dist/commands/connect/command.js +70 -0
  23. package/dist/commands/connect/run.d.ts +10 -0
  24. package/dist/commands/connect/run.js +71 -0
  25. package/dist/commands/doctor/command.d.ts +29 -0
  26. package/dist/commands/doctor/command.js +36 -0
  27. package/dist/commands/doctor/run.d.ts +13 -0
  28. package/dist/commands/doctor/run.js +12 -0
  29. package/dist/commands/env/command.d.ts +5 -0
  30. package/dist/commands/env/command.js +19 -0
  31. package/dist/commands/env/pull.d.ts +6 -0
  32. package/dist/commands/env/pull.js +6 -0
  33. package/dist/commands/environments/command.d.ts +121 -0
  34. package/dist/commands/environments/command.js +170 -0
  35. package/dist/commands/environments/create.d.ts +9 -0
  36. package/dist/commands/environments/create.js +42 -0
  37. package/dist/commands/environments/delete.d.ts +7 -0
  38. package/dist/commands/environments/delete.js +48 -0
  39. package/dist/commands/environments/get.d.ts +39 -0
  40. package/dist/commands/environments/get.js +5 -0
  41. package/dist/commands/environments/list.d.ts +41 -0
  42. package/dist/commands/environments/list.js +18 -0
  43. package/dist/commands/environments/wait.d.ts +39 -0
  44. package/dist/commands/environments/wait.js +21 -0
  45. package/dist/commands/init/command.d.ts +68 -0
  46. package/dist/commands/init/command.js +90 -0
  47. package/dist/commands/init/run.d.ts +8 -0
  48. package/dist/commands/init/run.js +422 -0
  49. package/dist/commands/link/command.d.ts +13 -0
  50. package/dist/commands/link/command.js +32 -0
  51. package/dist/commands/link/run.d.ts +12 -0
  52. package/dist/commands/link/run.js +7 -0
  53. package/dist/commands/login/command.d.ts +1 -0
  54. package/dist/commands/login/command.js +43 -0
  55. package/dist/commands/login/run.d.ts +30 -0
  56. package/dist/commands/login/run.js +43 -0
  57. package/dist/commands/login/schema.d.ts +33 -0
  58. package/dist/commands/login/schema.js +33 -0
  59. package/dist/commands/logout/command.d.ts +1 -0
  60. package/dist/commands/logout/command.js +24 -0
  61. package/dist/commands/logout/run.d.ts +10 -0
  62. package/dist/commands/logout/run.js +19 -0
  63. package/dist/commands/logout/schema.d.ts +10 -0
  64. package/dist/commands/logout/schema.js +10 -0
  65. package/dist/commands/profiles/command.d.ts +2 -0
  66. package/dist/commands/profiles/command.js +29 -0
  67. package/dist/commands/profiles/list.d.ts +20 -0
  68. package/dist/commands/profiles/list.js +10 -0
  69. package/dist/commands/profiles/schema.d.ts +24 -0
  70. package/dist/commands/profiles/schema.js +19 -0
  71. package/dist/commands/profiles/use.d.ts +7 -0
  72. package/dist/commands/profiles/use.js +7 -0
  73. package/dist/commands/requests/command.d.ts +39 -0
  74. package/dist/commands/requests/command.js +65 -0
  75. package/dist/commands/requests/get.d.ts +32 -0
  76. package/dist/commands/requests/get.js +15 -0
  77. package/dist/commands/requests/list.d.ts +27 -0
  78. package/dist/commands/requests/list.js +25 -0
  79. package/dist/commands/snapshots/command.d.ts +48 -0
  80. package/dist/commands/snapshots/command.js +80 -0
  81. package/dist/commands/snapshots/create.d.ts +7 -0
  82. package/dist/commands/snapshots/create.js +26 -0
  83. package/dist/commands/snapshots/delete.d.ts +34 -0
  84. package/dist/commands/snapshots/delete.js +8 -0
  85. package/dist/commands/snapshots/get.d.ts +35 -0
  86. package/dist/commands/snapshots/get.js +5 -0
  87. package/dist/commands/snapshots/list.d.ts +37 -0
  88. package/dist/commands/snapshots/list.js +10 -0
  89. package/dist/commands/unlink/command.d.ts +1 -0
  90. package/dist/commands/unlink/command.js +15 -0
  91. package/dist/commands/unlink/run.d.ts +7 -0
  92. package/dist/commands/unlink/run.js +8 -0
  93. package/dist/commands/whoami/command.d.ts +28 -0
  94. package/dist/commands/whoami/command.js +44 -0
  95. package/dist/commands/whoami/run.d.ts +5 -0
  96. package/dist/commands/whoami/run.js +39 -0
  97. package/dist/commands/workspaces/command.d.ts +33 -0
  98. package/dist/commands/workspaces/command.js +73 -0
  99. package/dist/commands/workspaces/list.d.ts +5 -0
  100. package/dist/commands/workspaces/list.js +42 -0
  101. package/dist/commands/workspaces/use.d.ts +5 -0
  102. package/dist/commands/workspaces/use.js +18 -0
  103. package/dist/config/project.d.ts +21 -0
  104. package/dist/config/project.js +105 -0
  105. package/dist/config/schema.d.ts +616 -0
  106. package/dist/config/schema.js +282 -0
  107. package/dist/context-types.d.ts +89 -0
  108. package/dist/context-types.js +56 -0
  109. package/dist/context.d.ts +13 -0
  110. package/dist/context.js +290 -0
  111. package/dist/credentials/sealing.d.ts +10 -0
  112. package/dist/credentials/sealing.js +72 -0
  113. package/dist/credentials/store.d.ts +17 -0
  114. package/dist/credentials/store.js +156 -0
  115. package/dist/doctor.d.ts +4 -0
  116. package/dist/doctor.js +239 -0
  117. package/dist/env-file.d.ts +10 -0
  118. package/dist/env-file.js +254 -0
  119. package/dist/errors.d.ts +784 -0
  120. package/dist/errors.js +459 -0
  121. package/dist/flags.d.ts +22 -0
  122. package/dist/flags.js +56 -0
  123. package/dist/generated/internal.d.ts +138 -0
  124. package/dist/generated/internal.js +2627 -0
  125. package/dist/generated/retry.d.ts +1 -0
  126. package/dist/generated/retry.js +11 -0
  127. package/dist/help.d.ts +408 -0
  128. package/dist/help.js +220 -0
  129. package/dist/io-types.d.ts +127 -0
  130. package/dist/io-types.js +1 -0
  131. package/dist/io.d.ts +13 -0
  132. package/dist/io.js +1017 -0
  133. package/dist/keys.d.ts +50 -0
  134. package/dist/keys.js +691 -0
  135. package/dist/link.d.ts +6 -0
  136. package/dist/link.js +58 -0
  137. package/dist/login.d.ts +92 -0
  138. package/dist/login.js +965 -0
  139. package/dist/main.d.ts +2 -0
  140. package/dist/main.js +126 -0
  141. package/dist/native-helper.d.ts +1 -0
  142. package/dist/native-helper.js +2 -0
  143. package/dist/output.d.ts +8 -0
  144. package/dist/output.js +135 -0
  145. package/dist/parser.d.ts +28 -0
  146. package/dist/parser.js +250 -0
  147. package/dist/program-types.d.ts +67 -0
  148. package/dist/program-types.js +14 -0
  149. package/dist/programs.d.ts +2 -0
  150. package/dist/programs.js +44 -0
  151. package/dist/project-roots.d.ts +3 -0
  152. package/dist/project-roots.js +26 -0
  153. package/dist/prompt.d.ts +3 -0
  154. package/dist/prompt.js +61 -0
  155. package/dist/registry.d.ts +2 -0
  156. package/dist/registry.js +44 -0
  157. package/dist/resources/create.d.ts +9 -0
  158. package/dist/resources/create.js +55 -0
  159. package/dist/resources/read.d.ts +15 -0
  160. package/dist/resources/read.js +69 -0
  161. package/dist/resources/schema.d.ts +177 -0
  162. package/dist/resources/schema.js +158 -0
  163. package/dist/text.d.ts +3 -0
  164. package/dist/text.js +19 -0
  165. package/dist/update.d.ts +22 -0
  166. package/dist/update.js +126 -0
  167. package/dist/version.d.ts +2 -0
  168. package/dist/version.js +2 -0
  169. package/package.json +52 -3
@@ -0,0 +1,127 @@
1
+ export interface EffectOptions {
2
+ readonly signal: AbortSignal;
3
+ readonly deadline: number | null;
4
+ }
5
+ export interface ProcessOwner {
6
+ readonly hostname: string;
7
+ readonly pid: number;
8
+ }
9
+ export interface HostSnapshot {
10
+ readonly environment: Readonly<Record<string, string | undefined>>;
11
+ readonly terminal: 'both' | 'stdin' | 'stdout' | 'none';
12
+ readonly platform: 'linux' | 'darwin' | 'win32';
13
+ readonly cwd: string;
14
+ readonly home: string;
15
+ readonly configHome: string;
16
+ readonly nodeVersion: string;
17
+ readonly owner: ProcessOwner;
18
+ }
19
+ export interface OutputStream {
20
+ write(value: string | Uint8Array): Promise<void>;
21
+ }
22
+ export type FileInspection = {
23
+ readonly kind: 'missing';
24
+ } | {
25
+ readonly kind: 'file' | 'directory' | 'symlink' | 'other';
26
+ readonly mode: number;
27
+ };
28
+ export interface SafeFiles {
29
+ read(path: string, options: EffectOptions): Promise<string | null>;
30
+ readBytes(path: string, options: EffectOptions): Promise<Uint8Array | null>;
31
+ atomicWrite(path: string, content: string, privacy: 'private' | 'private-file' | 'public', options: EffectOptions): Promise<void>;
32
+ createIfMissing(path: string, content: string, privacy: 'private' | 'private-file' | 'public', options: EffectOptions): Promise<boolean>;
33
+ remove(path: string, options: EffectOptions): Promise<void>;
34
+ inspect(path: string, options: EffectOptions): Promise<FileInspection>;
35
+ withLock<Value>(path: string, options: EffectOptions, action: () => Promise<Value>): Promise<Value>;
36
+ findRepositoryRoot(from: string, options: EffectOptions): Promise<string | null>;
37
+ }
38
+ export interface ProxyConfig {
39
+ readonly http: string | null;
40
+ readonly https: string | null;
41
+ readonly noProxy: string | null;
42
+ }
43
+ export interface HttpLease {
44
+ readonly fetch: typeof fetch;
45
+ close(): Promise<void>;
46
+ }
47
+ export type KeychainRequest = {
48
+ readonly kind: 'probe';
49
+ } | {
50
+ readonly kind: 'get' | 'delete';
51
+ readonly service: string;
52
+ readonly account: string;
53
+ } | {
54
+ readonly kind: 'set';
55
+ readonly service: string;
56
+ readonly account: string;
57
+ readonly value: string;
58
+ };
59
+ export type KeychainResult = {
60
+ readonly kind: 'value';
61
+ readonly value: string;
62
+ } | {
63
+ readonly kind: 'available' | 'missing' | 'written' | 'deleted' | 'module-unavailable' | 'operation-failed' | 'timed-out' | 'invalid-helper-response';
64
+ };
65
+ export interface NativeKeychainEffects {
66
+ executeInChild(request: KeychainRequest, options: EffectOptions): Promise<KeychainResult>;
67
+ }
68
+ export interface Prompter {
69
+ confirm(question: string, options: EffectOptions): Promise<boolean>;
70
+ select<Value extends string>(question: string, choices: readonly {
71
+ readonly value: Value;
72
+ readonly label: string;
73
+ }[], options: EffectOptions): Promise<Value>;
74
+ multiselect<Value extends string>(question: string, choices: readonly {
75
+ readonly value: Value;
76
+ readonly label: string;
77
+ }[], initialValues: readonly Value[], options: EffectOptions): Promise<readonly Value[]>;
78
+ }
79
+ export interface ChildHost {
80
+ run(spec: {
81
+ readonly command: string;
82
+ readonly args: readonly string[];
83
+ readonly environment: Readonly<Record<string, string>>;
84
+ readonly cwd: string;
85
+ readonly stdin: 'inherit' | 'ignore';
86
+ readonly output: 'inherit' | 'stderr';
87
+ readonly options: EffectOptions;
88
+ }): Promise<ChildResult>;
89
+ liveness(owner: ProcessOwner, options: EffectOptions): Promise<'alive' | 'dead' | 'unknown'>;
90
+ }
91
+ export type ChildResult = {
92
+ readonly kind: 'exit';
93
+ readonly code: number;
94
+ } | {
95
+ readonly kind: 'signal';
96
+ readonly signal: NodeJS.Signals;
97
+ };
98
+ export interface GitHost {
99
+ fileStatus(target: {
100
+ readonly repositoryRoot: string;
101
+ readonly path: string;
102
+ }, options: EffectOptions): Promise<{
103
+ readonly tracked: boolean;
104
+ readonly ignored: boolean;
105
+ }>;
106
+ }
107
+ export interface Io {
108
+ readonly host: HostSnapshot;
109
+ readonly stdout: OutputStream;
110
+ readonly stderr: OutputStream;
111
+ readonly stdin: AsyncIterable<Uint8Array>;
112
+ readonly signal: AbortSignal;
113
+ readonly files: SafeFiles;
114
+ readonly nativeKeychain: NativeKeychainEffects;
115
+ readonly prompt: Prompter;
116
+ readonly child: ChildHost;
117
+ readonly git: GitHost;
118
+ now(): number;
119
+ sleep(milliseconds: number, options: EffectOptions): Promise<void>;
120
+ randomBytes(length: number): Uint8Array;
121
+ http(proxy: ProxyConfig, options: EffectOptions): Promise<HttpLease>;
122
+ detectAgent(): Promise<{
123
+ readonly name: string;
124
+ } | null>;
125
+ openBrowser(url: string, options: EffectOptions): Promise<'opened' | 'failed'>;
126
+ close(): Promise<void>;
127
+ }
@@ -0,0 +1 @@
1
+ export {};
package/dist/io.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ import type { ChildResult, EffectOptions, GitHost, HttpLease, Io, KeychainRequest, KeychainResult, ProcessOwner, ProxyConfig, SafeFiles } from './io-types.js';
2
+ export declare function createSystemFiles(local?: ProcessOwner): SafeFiles;
3
+ export declare function createSystemGit(): GitHost;
4
+ export declare function createNativeExecutor(helper?: URL): (request: KeychainRequest, options: EffectOptions) => Promise<KeychainResult>;
5
+ type NativeModule = {
6
+ readonly Entry: new (service: string, account: string, options?: import('@napi-rs/keyring').EntryOptions) => Pick<import('@napi-rs/keyring').Entry, 'getPassword' | 'setPassword' | 'deleteCredential'>;
7
+ };
8
+ export declare function nativeOperation(request: KeychainRequest, load?: () => Promise<NativeModule>): Promise<KeychainResult>;
9
+ export declare function runNativeHelper(): void;
10
+ export declare function createHttpLease(proxy: ProxyConfig, options: EffectOptions): Promise<HttpLease>;
11
+ export declare function createSystemIo(): Io;
12
+ export declare function runProcess(main: (argv: readonly string[], io: Io) => Promise<number | ChildResult>): Promise<void>;
13
+ export {};