openxiangda-devkit-core 2.0.0-alpha.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 (46) hide show
  1. package/README.md +12 -0
  2. package/dist/application-services.d.ts +229 -0
  3. package/dist/application-services.d.ts.map +1 -0
  4. package/dist/application-services.js +660 -0
  5. package/dist/application-services.js.map +1 -0
  6. package/dist/command-registry.d.ts +460 -0
  7. package/dist/command-registry.d.ts.map +1 -0
  8. package/dist/command-registry.js +271 -0
  9. package/dist/command-registry.js.map +1 -0
  10. package/dist/config.d.ts +2 -0
  11. package/dist/config.d.ts.map +1 -0
  12. package/dist/config.js +2 -0
  13. package/dist/config.js.map +1 -0
  14. package/dist/control-plane-client.d.ts +446 -0
  15. package/dist/control-plane-client.d.ts.map +1 -0
  16. package/dist/control-plane-client.js +651 -0
  17. package/dist/control-plane-client.js.map +1 -0
  18. package/dist/deployment.d.ts +28 -0
  19. package/dist/deployment.d.ts.map +1 -0
  20. package/dist/deployment.js +177 -0
  21. package/dist/deployment.js.map +1 -0
  22. package/dist/index.d.ts +11 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +11 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/package-compiler.d.ts +2 -0
  27. package/dist/package-compiler.d.ts.map +1 -0
  28. package/dist/package-compiler.js +2 -0
  29. package/dist/package-compiler.js.map +1 -0
  30. package/dist/session.d.ts +20 -0
  31. package/dist/session.d.ts.map +1 -0
  32. package/dist/session.js +48 -0
  33. package/dist/session.js.map +1 -0
  34. package/dist/version.d.ts +3 -0
  35. package/dist/version.d.ts.map +1 -0
  36. package/dist/version.js +11 -0
  37. package/dist/version.js.map +1 -0
  38. package/dist/workspace-loader.d.ts +17 -0
  39. package/dist/workspace-loader.d.ts.map +1 -0
  40. package/dist/workspace-loader.js +123 -0
  41. package/dist/workspace-loader.js.map +1 -0
  42. package/dist/workspace.d.ts +15 -0
  43. package/dist/workspace.d.ts.map +1 -0
  44. package/dist/workspace.js +34 -0
  45. package/dist/workspace.js.map +1 -0
  46. package/package.json +37 -0
package/README.md ADDED
@@ -0,0 +1,12 @@
1
+ # openxiangda-devkit-core
2
+
3
+ Application services shared by the OpenXiangda 2.0 CLI and MCP server:
4
+
5
+ - validate `openxiangda-app.config.ts`;
6
+ - create a deterministic `WorkspaceContext`;
7
+ - compile and digest an `AppPackage`;
8
+ - negotiate platform capabilities;
9
+ - upload immutable artifacts and create/query a durable `DeploymentRun`.
10
+ - call the current application backend through the platform gateway with an explicit `RoleSession`.
11
+
12
+ The package has no console, prompt or global process-state dependencies.
@@ -0,0 +1,229 @@
1
+ import { type AppArtifact, type DeploymentRun, type DevkitResult, type Diagnostic, type WorkspaceIdentity } from "openxiangda-contracts";
2
+ import { type CompiledAppPackage } from "openxiangda-compiler";
3
+ import { OpenXiangdaControlPlaneClient, type CreateApplicationSecretInput, type CreateOAuthClientInput, type ControlPlaneClientOptions, type RotateApplicationSecretInput, type UpdateApplicationSecretInput, type UpdateOAuthClientInput } from "./control-plane-client.js";
4
+ export interface GenerateOptions {
5
+ root?: string;
6
+ check?: boolean;
7
+ }
8
+ export interface BuildOptions {
9
+ root?: string;
10
+ backendImage?: string;
11
+ skipWorkspaceBuild?: boolean;
12
+ write?: boolean;
13
+ }
14
+ export interface BuiltApplication {
15
+ package: CompiledAppPackage;
16
+ outputDirectory?: string;
17
+ }
18
+ interface SealedApplication extends BuiltApplication {
19
+ artifactContent: Record<string, string>;
20
+ }
21
+ export interface DeployOptions extends BuildOptions {
22
+ environment: "development" | "preproduction" | "production";
23
+ environmentId?: string;
24
+ idempotencyKey?: string;
25
+ requestId?: string;
26
+ }
27
+ export declare class OpenXiangdaApplicationServices {
28
+ private readonly options;
29
+ constructor(options?: {
30
+ toolchainVersion?: string;
31
+ client?: OpenXiangdaControlPlaneClient;
32
+ clientOptions?: ControlPlaneClientOptions;
33
+ });
34
+ workspaceContext(root?: string): Promise<DevkitResult<import("openxiangda-contracts").WorkspaceContext>>;
35
+ contractDescribe(root?: string): Promise<DevkitResult<{
36
+ configDigest: string;
37
+ contractDigest: string;
38
+ contract: import("openxiangda-compiler").ContractBundleV2;
39
+ counts: {
40
+ backendSecrets: number;
41
+ dataResources: number;
42
+ eventSubscriptions: number;
43
+ timerSubscriptions: number;
44
+ workflowDefinitions: number;
45
+ workflowBindings: number;
46
+ workflowProviders: number;
47
+ };
48
+ }>>;
49
+ platformCapabilities(root?: string): Promise<DevkitResult<import("openxiangda-contracts").PlatformCapabilities>>;
50
+ provisionApplication(root?: string): Promise<DevkitResult<import("openxiangda-contracts").ProvisionedApplication>>;
51
+ oauthClients(root?: string): Promise<DevkitResult<{
52
+ items: import("openxiangda-contracts").OAuthClient[];
53
+ total: number;
54
+ reservedScopes: string[];
55
+ appCapabilityScopePrefix: string;
56
+ }>>;
57
+ runtimeOAuthCredentialStatus(root: string | undefined, environmentKey: string): Promise<DevkitResult<import("openxiangda-contracts").RuntimeOAuthCredentialStatus>>;
58
+ rotateRuntimeOAuthCredential(root: string | undefined, input: {
59
+ environmentKey: string;
60
+ gracePeriodSeconds?: number;
61
+ idempotencyKey: string;
62
+ }): Promise<DevkitResult<{
63
+ rotation: import("openxiangda-contracts").RuntimeOAuthCredentialStatus;
64
+ deployment: DeploymentRun;
65
+ next: {
66
+ command: string;
67
+ credentialActivatesDuringDeployment: boolean;
68
+ };
69
+ }>>;
70
+ createOAuthClient(root: string | undefined, input: CreateOAuthClientInput): Promise<DevkitResult<import("./control-plane-client.js").OAuthClientSecretResult>>;
71
+ updateOAuthClient(root: string | undefined, clientId: string, input: UpdateOAuthClientInput): Promise<DevkitResult<import("openxiangda-contracts").OAuthClient>>;
72
+ rotateOAuthClientSecret(root: string | undefined, clientId: string, gracePeriodSeconds?: number): Promise<DevkitResult<import("./control-plane-client.js").OAuthClientSecretResult>>;
73
+ revokeOAuthClient(root: string | undefined, clientId: string): Promise<DevkitResult<import("openxiangda-contracts").OAuthClient>>;
74
+ oauthAuditEvents(root: string | undefined, input?: {
75
+ environmentKey?: string;
76
+ clientId?: string;
77
+ limit?: number;
78
+ }): Promise<DevkitResult<{
79
+ items: import("openxiangda-contracts").OAuthAuditEvent[];
80
+ limit: number;
81
+ }>>;
82
+ applicationSecrets(root: string | undefined, environmentKey: string): Promise<DevkitResult<{
83
+ items: import("openxiangda-contracts").ApplicationSecret[];
84
+ total: number;
85
+ }>>;
86
+ createApplicationSecret(root: string | undefined, environmentKey: string, input: CreateApplicationSecretInput): Promise<DevkitResult<import("openxiangda-contracts").ApplicationSecret>>;
87
+ updateApplicationSecret(root: string | undefined, environmentKey: string, name: string, input: UpdateApplicationSecretInput): Promise<DevkitResult<import("openxiangda-contracts").ApplicationSecret>>;
88
+ rotateApplicationSecret(root: string | undefined, environmentKey: string, name: string, input: RotateApplicationSecretInput): Promise<DevkitResult<import("openxiangda-contracts").ApplicationSecret>>;
89
+ deleteApplicationSecret(root: string | undefined, environmentKey: string, name: string, input: {
90
+ expectedRevision: number;
91
+ reason?: string;
92
+ }): Promise<DevkitResult<import("openxiangda-contracts").ApplicationSecret>>;
93
+ applicationSecretAuditEvents(root: string | undefined, environmentKey: string, name: string, limit?: number): Promise<DevkitResult<{
94
+ items: import("openxiangda-contracts").ApplicationSecretAuditEvent[];
95
+ }>>;
96
+ eventSubscriptions(root?: string): Promise<DevkitResult<{
97
+ items: import("openxiangda-contracts").EventSubscription[];
98
+ }>>;
99
+ setEventSubscriptionStatus(root: string | undefined, subscriptionId: string, input: {
100
+ expectedRevision: number;
101
+ status: "active" | "paused";
102
+ }): Promise<DevkitResult<import("openxiangda-contracts").EventSubscription>>;
103
+ rotateEventSubscriptionSecret(root: string | undefined, subscriptionId: string, input: {
104
+ expectedRevision: number;
105
+ idempotencyKey: string;
106
+ gracePeriodSeconds?: number;
107
+ }): Promise<DevkitResult<import("openxiangda-contracts").EventSubscription>>;
108
+ eventDeliveries(root: string | undefined, limit?: number): Promise<DevkitResult<{
109
+ items: import("openxiangda-contracts").EventDelivery[];
110
+ }>>;
111
+ replayEventDelivery(root: string | undefined, deliveryId: string, idempotencyKey?: string): Promise<DevkitResult<import("openxiangda-contracts").EventDelivery>>;
112
+ timerSubscriptions(root?: string): Promise<DevkitResult<{
113
+ items: import("openxiangda-contracts").TimerSubscription[];
114
+ }>>;
115
+ setTimerSubscriptionStatus(root: string | undefined, timerId: string, input: {
116
+ expectedRevision: number;
117
+ status: "active" | "paused";
118
+ }): Promise<DevkitResult<import("openxiangda-contracts").TimerSubscription>>;
119
+ workflowAssigneeProviders(root: string | undefined, environmentKey: string): Promise<DevkitResult<{
120
+ items: import("openxiangda-contracts").WorkflowAssigneeProvider[];
121
+ }>>;
122
+ rotateWorkflowAssigneeProviderSecret(root: string | undefined, providerCode: string, input: {
123
+ environmentKey: string;
124
+ expectedRevision: number;
125
+ idempotencyKey: string;
126
+ }): Promise<DevkitResult<import("openxiangda-contracts").WorkflowAssigneeProvider>>;
127
+ linkApplication(root: string | undefined, input: {
128
+ baseUrl: string;
129
+ environments?: Array<{
130
+ id?: string;
131
+ name: string;
132
+ kind: "development" | "preproduction" | "production";
133
+ }>;
134
+ }): Promise<DevkitResult<{
135
+ schemaVersion: number;
136
+ appCode: string;
137
+ baseUrl: string;
138
+ environments: {
139
+ id?: string;
140
+ name: string;
141
+ kind: "development" | "preproduction" | "production";
142
+ }[];
143
+ path: string;
144
+ }>>;
145
+ generate(input?: GenerateOptions): Promise<DevkitResult<{
146
+ output: string;
147
+ changed: boolean;
148
+ contractDigest: string;
149
+ }>>;
150
+ check(root?: string): Promise<DevkitResult<{
151
+ stages: {
152
+ ok: boolean;
153
+ exitCode: number;
154
+ output: string;
155
+ name: string;
156
+ }[];
157
+ }>>;
158
+ test(root?: string): Promise<DevkitResult<{
159
+ ok: boolean;
160
+ exitCode: number;
161
+ output: string;
162
+ }>>;
163
+ build(input?: BuildOptions): Promise<DevkitResult<BuiltApplication>>;
164
+ private buildSealed;
165
+ deploymentPlan(input: BuildOptions & {
166
+ environment: string;
167
+ }): Promise<DevkitResult<BuiltApplication> | {
168
+ operation: string;
169
+ data: {
170
+ environment: string;
171
+ packageDigest: string;
172
+ appCode: string;
173
+ artifacts: AppArtifact[];
174
+ requiredCapabilities: string[];
175
+ };
176
+ ok: boolean;
177
+ workspace: WorkspaceIdentity;
178
+ diagnostics: Diagnostic[];
179
+ nextActions: import("openxiangda-contracts").NextAction[];
180
+ traceId?: string;
181
+ }>;
182
+ deploy(input: DeployOptions): Promise<DevkitResult<SealedApplication> | DevkitResult<undefined> | DevkitResult<DeploymentRun>>;
183
+ deploymentStatus(root: string | undefined, deploymentId?: string): Promise<DevkitResult<DeploymentRun | {
184
+ items: DeploymentRun[];
185
+ total: number;
186
+ }>>;
187
+ deploymentLogs(root: string | undefined, deploymentId: string): Promise<{
188
+ operation: string;
189
+ data: {
190
+ deploymentId: string;
191
+ status: import("openxiangda-contracts").DeploymentStatus;
192
+ stage: string;
193
+ checkpoints: import("openxiangda-contracts").DeploymentCheckpoint[];
194
+ failure: import("openxiangda-contracts").DeploymentFailure | undefined;
195
+ traceId: unknown;
196
+ };
197
+ ok: boolean;
198
+ workspace: WorkspaceIdentity;
199
+ diagnostics: Diagnostic[];
200
+ nextActions: import("openxiangda-contracts").NextAction[];
201
+ traceId?: string;
202
+ }>;
203
+ retry(root: string | undefined, deploymentId: string): Promise<DevkitResult<DeploymentRun>>;
204
+ cancel(root: string | undefined, deploymentId: string): Promise<DevkitResult<DeploymentRun>>;
205
+ promote(root: string | undefined, deploymentId: string, environment: "preproduction" | "production"): Promise<DevkitResult<DeploymentRun>>;
206
+ rollback(root: string | undefined, environment: "development" | "preproduction" | "production", appVersionId: string): Promise<DevkitResult<DeploymentRun>>;
207
+ doctor(root?: string): Promise<DevkitResult<{
208
+ commands: {
209
+ command: string;
210
+ ok: boolean;
211
+ version: string;
212
+ }[];
213
+ platform: Record<string, unknown>;
214
+ }>>;
215
+ dev(root?: string): Promise<DevkitResult<{
216
+ exitCode: number;
217
+ }>>;
218
+ private workspace;
219
+ private client;
220
+ private get toolchainVersion();
221
+ private runPackageScript;
222
+ private directoryBundle;
223
+ private versionTrainDiagnostics;
224
+ private diagnostic;
225
+ private ok;
226
+ private result;
227
+ }
228
+ export {};
229
+ //# sourceMappingURL=application-services.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application-services.d.ts","sourceRoot":"","sources":["../src/application-services.ts"],"names":[],"mappings":"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"}