@@ -28,7 +28,7 @@ ALTER TASK IF EXISTS incm_deploy_cortex_agent SUSPEND;
2828create or replace task incm_root_daily_incremental_refresh
2929 warehouse=< % ctx .env .dbt_pipeline_wh %>
3030 schedule= ' <% ctx.env.daily_refresh_cron_schedule %>'
31- config= ' {dbt_project_name: "<% ctx.env.dbt_project_name %>", target: "<% ctx.env.dbt_target %>"}'
31+ config= ' {" dbt_project_name" : "<% ctx.env.dbt_project_name %>", " target" : "<% ctx.env.dbt_target %>"}'
3232 as SELECT 1 ;
3333
3434
@@ -64,7 +64,7 @@ create or replace task incm_daily_models_refresh
6464-- Triggered Task for document based model refreshes
6565create or replace task incm_root_triggered_docs_processing
6666 warehouse=< % ctx .env .dbt_pipeline_wh %>
67- config= ' {dbt_project_name: "<% ctx.env.dbt_project_name %>", target: "<% ctx.env.dbt_target %>"}'
67+ config= ' {" dbt_project_name" : "<% ctx.env.dbt_project_name %>", " target" : "<% ctx.env.dbt_target %>"}'
6868 WHEN SYSTEM$STREAM_HAS_DATA(' INCIDENT_MANAGEMENT.bronze_zone.documents_stream' )
6969 as SELECT 1 ;
7070
@@ -85,7 +85,7 @@ CREATE OR REPLACE TASK incm_triggered_docs_processing
8585-- No schedule — invoke manually via: EXECUTE TASK incm_root_deploy_cortex_services;
8686create or replace task incm_root_deploy_cortex_tools
8787 warehouse=< % ctx .env .dbt_pipeline_wh %>
88- config= ' {dbt_project_name: "<% ctx.env.dbt_project_name %>", target: "<% ctx.env.dbt_target %>", cortex_search_wh: "<% ctx.env.cortex_search_wh %>", cortex_search_service_name: "<% ctx.env.cortex_search_service_name %>"}'
88+ config= ' {" dbt_project_name" : "<% ctx.env.dbt_project_name %>", " target" : "<% ctx.env.dbt_target %>", " cortex_search_wh" : "<% ctx.env.cortex_search_wh %>", " cortex_search_service_name" : "<% ctx.env.cortex_search_service_name %>"}'
8989 as SELECT 1 ;
9090
9191create or replace task incm_deploy_semantic_view
@@ -124,39 +124,48 @@ create or replace task incm_deploy_search_service
124124
125125create or replace task incm_deploy_cortex_agent
126126 warehouse=< % ctx .env .dbt_pipeline_wh %>
127- config= ' {dbt_project_name: "<% ctx.env.dbt_project_name %>", target: "<% ctx.env.dbt_target %>", database: "<% ctx.env.dbt_project_database %>", schema: "gold_zone", stage_name: "agent_specs", agent_spec_file: "incm360_agent_v200.yml"}'
127+ config= ' {" dbt_project_name" : "<% ctx.env.dbt_project_name %>", " target" : "<% ctx.env.dbt_target %>", " database" : "<% ctx.env.dbt_project_database %>", " schema" : "gold_zone", " stage_name" : "agent_specs", " agent_spec_file" : "incm360_agent_v200.yml"}'
128128 as
129129 EXECUTE IMMEDIATE
130130 $$
131- BEGIN
132- LET next_version := (SELECT
133- ' v' || ' _' ||
134- ARRAY_CONSTRUCT(
135- ' phoenix' ,' aurora' ,' nebula' ,' titan' ,' vortex' ,' zenith' ,' blaze' ,' comet' ,
136- ' spark' ,' nova' ,' echo' ,' pulse' ,' drift' ,' frost' ,' surge' ,' lunar' ,
137- ' storm' ,' ember' ,' orbit' ,' flare' ,' prism' ,' bolt' ,' crest' ,' dusk' ,
138- ' apex' ,' onyx' ,' reef' ,' haze' ,' peak' ,' glow' ,' rift' ,' wave'
139- )[ABS(MOD(RANDOM(), 32 ))]::STRING || ' _' ||
140- ARRAY_CONSTRUCT(
141- ' falcon' ,' panther' ,' dragon' ,' wolf' ,' hawk' ,' tiger' ,' cobra' ,' raven' ,
142- ' shark' ,' eagle' ,' viper' ,' bear' ,' lynx' ,' fox' ,' orca' ,' jaguar' ,
143- ' puma' ,' mantis' ,' osprey' ,' bison' ,' crane' ,' otter' ,' badger' ,' heron'
144- )[ABS(MOD(RANDOM(), 24 ))]::STRING
145- AS version_name);
146-
147- LET command := ' run-operation create_cortex_agent --args ' ||
148- ' "{' ||
149- ' agent_name: incident_management_agent, ' ||
150- ' database: ' || SYSTEM$GET_TASK_GRAPH_CONFIG(' database' ) || ' , ' ||
151- ' schema: ' || SYSTEM$GET_TASK_GRAPH_CONFIG(' schema' ) || ' , ' ||
152- ' stage_name: ' || SYSTEM$GET_TASK_GRAPH_CONFIG(' stage_name' ) || ' , ' ||
153- ' agent_spec_file: ' || SYSTEM$GET_TASK_GRAPH_CONFIG(' agent_spec_file' ) || ' , ' ||
154- ' next_version: ' || next_version ||
155- ' }' ||
156- ' --target ' || SYSTEM$GET_TASK_GRAPH_CONFIG(' target' );
157-
158- EXECUTE DBT PROJECT SYSTEM$GET_TASK_GRAPH_CONFIG(' dbt_project_name' ) args= :command;
159- END;
131+ BEGIN
132+ LET next_version VARCHAR := (SELECT
133+ ' v' || ' _' ||
134+ ARRAY_CONSTRUCT(
135+ ' phoenix' ,' aurora' ,' nebula' ,' titan' ,' vortex' ,' zenith' ,' blaze' ,' comet' ,
136+ ' spark' ,' nova' ,' echo' ,' pulse' ,' drift' ,' frost' ,' surge' ,' lunar' ,
137+ ' storm' ,' ember' ,' orbit' ,' flare' ,' prism' ,' bolt' ,' crest' ,' dusk' ,
138+ ' apex' ,' onyx' ,' reef' ,' haze' ,' peak' ,' glow' ,' rift' ,' wave'
139+ )[ABS(MOD(RANDOM(), 32 ))]::STRING || ' _' ||
140+ ARRAY_CONSTRUCT(
141+ ' falcon' ,' panther' ,' dragon' ,' wolf' ,' hawk' ,' tiger' ,' cobra' ,' raven' ,
142+ ' shark' ,' eagle' ,' viper' ,' bear' ,' lynx' ,' fox' ,' orca' ,' jaguar' ,
143+ ' puma' ,' mantis' ,' osprey' ,' bison' ,' crane' ,' otter' ,' badger' ,' heron'
144+ )[ABS(MOD(RANDOM(), 24 ))]::STRING
145+ AS version_name);
146+
147+ LET db VARCHAR := SYSTEM$GET_TASK_GRAPH_CONFIG(' database' );
148+ LET sch VARCHAR := SYSTEM$GET_TASK_GRAPH_CONFIG(' schema' );
149+ LET stage VARCHAR := SYSTEM$GET_TASK_GRAPH_CONFIG(' stage_name' );
150+ LET spec_file VARCHAR := SYSTEM$GET_TASK_GRAPH_CONFIG(' agent_spec_file' );
151+ LET target VARCHAR := SYSTEM$GET_TASK_GRAPH_CONFIG(' target' );
152+ LET dbt_project VARCHAR := SYSTEM$GET_TASK_GRAPH_CONFIG(' dbt_project_name' );
153+
154+ LET dq VARCHAR := CHR(34 );
155+
156+ LET args_yaml VARCHAR := :dq || ' {agent_name: incident_management_agent, ' ||
157+ ' database: ' || :db || ' , ' ||
158+ ' schema: ' || :sch || ' , ' ||
159+ ' stage_name: ' || :stage || ' , ' ||
160+ ' agent_spec_file: ' || :spec_file || ' , ' ||
161+ ' next_version: ' || :next_version || ' }' || :dq;
162+
163+ LET command VARCHAR := ' run-operation create_cortex_agent --args ' || :args_yaml || ' --target ' || :target;
164+
165+ LET stmt VARCHAR := ' EXECUTE DBT PROJECT ' || :dbt_project || ' ARGS = ' ' ' || REPLACE(:command, ' ' ' ' , ' ' ' ' ' ' ) || ' ' ' ' ;
166+
167+ EXECUTE IMMEDIATE :stmt;
168+ END;
160169 $$
161170 ;
162171
0 commit comments