@phpsandbox/sdk 0.2.1 → 0.2.3

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.
@@ -2,7 +2,7 @@ import type { Client } from '../index.js';
2
2
  import { PublicationInstance } from './instance.js';
3
3
  import { PublicationRun } from './run.js';
4
4
  import { PublicationResources } from './resources.js';
5
- import type { PlannedPublishInput, PublicationApplicationPlan, PublicationApplicationPlanInput, PublicationApplicationData, PublicationPlan, PublicationPlanInput, PublicationProviderName, PublicationReadiness, PublicationResourceCatalog } from './types.js';
5
+ import type { PlannedPublishInput, PublicationApplicationPlan, PublicationApplicationPlanInput, PublicationApplicationPublishInput, PublicationApplicationData, PublicationPlan, PublicationPlanInput, PublicationProviderName, PublicationReadiness, PublicationResourceCatalog } from './types.js';
6
6
  export declare class NotebookPublication {
7
7
  private readonly notebookId;
8
8
  private readonly client;
@@ -16,7 +16,7 @@ export declare class NotebookPublication {
16
16
  /** Review a multi-component publishing plan without creating resources or starting releases. */
17
17
  prepareApplication(input: PublicationApplicationPlanInput): Promise<PublicationApplicationPlan>;
18
18
  /** Publish every component in a reviewed application plan. */
19
- publishApplication(input: PublicationApplicationPlanInput): Promise<PublicationApplicationData>;
19
+ publishApplication(input: PublicationApplicationPublishInput): Promise<PublicationApplicationData>;
20
20
  application(applicationId: string): Promise<PublicationApplicationData>;
21
21
  /** Retry only failed components while leaving healthy components untouched. */
22
22
  retryApplication(applicationId: string): Promise<PublicationApplicationData>;
@@ -52,6 +52,13 @@ export interface PublicationReadiness {
52
52
  productionVariables: string[];
53
53
  missingVariables: string[];
54
54
  warnings: string[];
55
+ configuration?: PublicationConfigurationField[];
56
+ defaultBuild?: 'laravel' | 'dockerfile' | 'unresolved' | null;
57
+ }
58
+ export interface PublicationConfigurationField {
59
+ name: string;
60
+ requirement: 'required' | 'optional' | 'platform';
61
+ source: string;
55
62
  }
56
63
  export type PublicationResourceMode = 'none' | 'create' | 'reuse' | 'external' | 'enable';
57
64
  export interface PublicationResourceSelection {
@@ -232,13 +239,6 @@ export interface PublicationApplicationRouteInput {
232
239
  hostname: string;
233
240
  component: string;
234
241
  }
235
- export interface PublicationPlanAssumption {
236
- id: string;
237
- statement: string;
238
- basis?: string;
239
- confidence?: 'low' | 'medium' | 'high';
240
- requiresConfirmation?: boolean;
241
- }
242
242
  export interface PublicationApplicationPlanInput {
243
243
  schemaVersion: 1;
244
244
  slug?: string;
@@ -250,32 +250,31 @@ export interface PublicationApplicationPlanInput {
250
250
  components: PublicationApplicationComponentInput[];
251
251
  resources?: PublicationApplicationResourceInput[];
252
252
  routes?: PublicationApplicationRouteInput[];
253
- assumptions?: PublicationPlanAssumption[];
254
253
  }
255
- export interface PublicationApplicationComponentPlan extends PublicationApplicationComponentInput {
256
- sourceDependencies: string[];
257
- resources: string[];
258
- providerPlan: PublicationPlan;
259
- }
260
- export interface PublicationApplicationPlan {
261
- schemaVersion: 1;
262
- source: {
263
- repository: string | null;
264
- revision: string | null;
265
- root: string;
254
+ /** A draft becomes executable only through its server-owned review reference. */
255
+ export interface PublicationApplicationPlan extends PublicationApplicationPlanInput {
256
+ review: {
257
+ id: string;
258
+ ready: boolean;
259
+ blockers: Array<{
260
+ code: string;
261
+ message: string;
262
+ }>;
263
+ action: 'create' | 'update' | 'retry';
264
+ publicationId: string | null;
265
+ destinations: Record<string, string | null>;
266
+ productionVariables: string[];
267
+ configuration: PublicationConfigurationField[];
268
+ source: {
269
+ type: 'workspace' | 'git';
270
+ repository: string | null;
271
+ branch: string | null;
272
+ };
273
+ digest: string;
266
274
  };
267
- components: PublicationApplicationComponentPlan[];
268
- resources: PublicationApplicationResourceInput[];
269
- routes: PublicationApplicationRouteInput[];
270
- assumptions: PublicationPlanAssumption[];
271
- blockers: Array<{
272
- code: string;
273
- message: string;
274
- component?: string;
275
- resource?: string;
276
- }>;
277
- ready: boolean;
278
- input: PublicationApplicationPlanInput;
275
+ }
276
+ export interface PublicationApplicationPublishInput {
277
+ reviewId: string;
279
278
  }
280
279
  export interface PublicationApplicationComponentData {
281
280
  componentId: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@phpsandbox/sdk",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "The TypeScript SDK for PHPSandbox cloud development environments",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",