@@ -32,6 +32,7 @@ import {
3232 type ApplyComplete ,
3333 AppSharingLevel ,
3434 type ExternalAuthProviderResource ,
35+ type GraphComplete ,
3536 type ParseComplete ,
3637 type PlanComplete ,
3738 type Resource ,
@@ -541,12 +542,14 @@ type RecursivePartial<T> = {
541542} ;
542543
543544interface EchoProvisionerResponses {
545+ init ?: RecursivePartial < Response > [ ] ;
544546 // parse is for observing any Terraform variables
545547 parse ?: RecursivePartial < Response > [ ] ;
546548 // plan occurs when the template is imported
547549 plan ?: RecursivePartial < Response > [ ] ;
548550 // apply occurs when the workspace is built
549551 apply ?: RecursivePartial < Response > [ ] ;
552+ graph ?: RecursivePartial < Response > [ ] ;
550553}
551554
552555const emptyPlan = new TextEncoder ( ) . encode ( "{}" ) ;
@@ -558,6 +561,13 @@ const emptyPlan = new TextEncoder().encode("{}");
558561const createTemplateVersionTar = async (
559562 responses : EchoProvisionerResponses = { } ,
560563) : Promise < Buffer > => {
564+ if ( ! responses . init ) {
565+ responses . init = [
566+ {
567+ init : { } ,
568+ } ,
569+ ] ;
570+ }
561571 if ( ! responses . parse ) {
562572 responses . parse = [
563573 {
@@ -573,17 +583,24 @@ const createTemplateVersionTar = async (
573583 ] ;
574584 }
575585 if ( ! responses . plan ) {
576- responses . plan = responses . apply . map ( ( response ) => {
586+ responses . plan = [
587+ {
588+ plan : { } ,
589+ } ,
590+ ] ;
591+ }
592+ if ( ! responses . graph ) {
593+ responses . graph = responses . apply . map ( ( response ) => {
577594 if ( response . log ) {
578595 return response ;
579596 }
580597 return {
581- plan : {
582- error : response . apply ?. error ?? "" ,
583- resources : response . apply ?. resources ?? [ ] ,
584- parameters : response . apply ?. parameters ?? [ ] ,
585- externalAuthProviders : response . apply ?. externalAuthProviders ?? [ ] ,
586- timings : response . apply ?. timings ?? [ ] ,
598+ graph : {
599+ error : response . graph ?. error ?? "" ,
600+ resources : response . graph ?. resources ?? [ ] ,
601+ parameters : response . graph ?. parameters ?? [ ] ,
602+ externalAuthProviders : response . graph ?. externalAuthProviders ?? [ ] ,
603+ timings : response . graph ?. timings ?? [ ] ,
587604 presets : [ ] ,
588605 resourceReplacements : [ ] ,
589606 plan : emptyPlan ,
@@ -689,25 +706,25 @@ const createTemplateVersionTar = async (
689706 } ;
690707
691708 responses . apply . forEach ( ( response , index ) => {
692- response . apply = {
709+ response . graph = {
693710 error : "" ,
694711 state : new Uint8Array ( ) ,
695712 resources : [ ] ,
696713 parameters : [ ] ,
697714 externalAuthProviders : [ ] ,
698715 timings : [ ] ,
699716 aiTasks : [ ] ,
700- ...response . apply ,
717+ ...response . graph ,
701718 } as ApplyComplete ;
702- response . apply . resources = response . apply . resources ?. map ( fillResource ) ;
719+ response . graph . resources = response . graph . resources ?. map ( fillResource ) ;
703720
704721 tar . addFile (
705722 `${ index } .apply.protobuf` ,
706723 Response . encode ( response as Response ) . finish ( ) ,
707724 ) ;
708725 } ) ;
709- responses . plan . forEach ( ( response , index ) => {
710- response . plan = {
726+ responses . graph . forEach ( ( response , index ) => {
727+ response . graph = {
711728 error : "" ,
712729 resources : [ ] ,
713730 parameters : [ ] ,
@@ -720,9 +737,9 @@ const createTemplateVersionTar = async (
720737 moduleFiles : new Uint8Array ( ) ,
721738 moduleFilesHash : new Uint8Array ( ) ,
722739 aiTasks : [ ] ,
723- ...response . plan ,
724- } as PlanComplete ;
725- response . plan . resources = response . plan . resources ?. map ( fillResource ) ;
740+ ...response . graph ,
741+ } as GraphComplete ;
742+ response . graph . resources = response . graph . resources ?. map ( fillResource ) ;
726743
727744 tar . addFile (
728745 `${ index } .plan.protobuf` ,
@@ -836,21 +853,22 @@ export const echoResponsesWithParameters = (
836853 parse : { } ,
837854 } ,
838855 ] ,
839- plan : [
856+ graph : [
840857 {
841- plan : {
858+ graph : {
842859 parameters : richParameters ,
860+ resources : [
861+ {
862+ name : "example" ,
863+ } ,
864+ ] ,
843865 } ,
844866 } ,
845867 ] ,
846868 apply : [
847869 {
848870 apply : {
849- resources : [
850- {
851- name : "example" ,
852- } ,
853- ] ,
871+
854872 } ,
855873 } ,
856874 ] ,
@@ -866,22 +884,22 @@ export const echoResponsesWithExternalAuth = (
866884 parse : { } ,
867885 } ,
868886 ] ,
869- plan : [
887+ graph : [
870888 {
871- plan : {
889+ graph : {
872890 externalAuthProviders : providers ,
891+ resources : [
892+ {
893+ name : "example" ,
894+ } ,
895+ ] ,
873896 } ,
874897 } ,
875898 ] ,
876899 apply : [
877900 {
878901 apply : {
879- externalAuthProviders : providers ,
880- resources : [
881- {
882- name : "example" ,
883- } ,
884- ] ,
902+
885903 } ,
886904 } ,
887905 ] ,
0 commit comments