windmill-cli 1.535.0 → 1.536.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.
@@ -32,7 +32,7 @@ export const OpenAPI = {
32
32
  PASSWORD: undefined,
33
33
  TOKEN: getEnv("WM_TOKEN"),
34
34
  USERNAME: undefined,
35
- VERSION: '1.535.0',
35
+ VERSION: '1.536.0',
36
36
  WITH_CREDENTIALS: true,
37
37
  interceptors: {
38
38
  request: new Interceptors(),
@@ -6,7 +6,9 @@ import { resolveWorkspace, validatePath } from "../../core/context.js";
6
6
  import { colors, Command, log, SEP, Table } from "../../../deps.js";
7
7
  import * as wmill from "../../../gen/services.gen.js";
8
8
  import { readInlinePathSync } from "../../utils/utils.js";
9
- export async function pushResource(workspace, remotePath, resource, localResource) {
9
+ import { isBranchSpecificFile } from "../../core/specific_items.js";
10
+ import { getCurrentGitBranch } from "../../utils/git.js";
11
+ export async function pushResource(workspace, remotePath, resource, localResource, originalLocalPath) {
10
12
  remotePath = removeType(remotePath, "resource");
11
13
  try {
12
14
  resource = await wmill.getResource({
@@ -17,14 +19,33 @@ export async function pushResource(workspace, remotePath, resource, localResourc
17
19
  catch {
18
20
  // flow doesn't exist
19
21
  }
20
- if (localResource.value["content"]?.startsWith("!inline ")) {
21
- const basePath = localResource.value["content"].split(" ")[1];
22
- localResource.value["content"] = readInlinePathSync(basePath);
23
- }
22
+ // Helper function to resolve inline content
23
+ const resolveInlineContent = async () => {
24
+ if (localResource.value["content"]?.startsWith("!inline ")) {
25
+ const basePath = localResource.value["content"].split(" ")[1];
26
+ // If we're processing a branch-specific metadata file, read from branch-specific resource file
27
+ let pathToRead = basePath;
28
+ if (originalLocalPath && isBranchSpecificFile(originalLocalPath)) {
29
+ const currentBranch = getCurrentGitBranch();
30
+ if (currentBranch) {
31
+ // Directly construct branch-specific resource file path
32
+ const resourcePathSegments = basePath.split(".");
33
+ if (resourcePathSegments.length >= 4 && resourcePathSegments[resourcePathSegments.length - 3] === "resource" && resourcePathSegments[resourcePathSegments.length - 2] === "file") {
34
+ const fileBaseParts = resourcePathSegments.slice(0, -3);
35
+ const fileExt = resourcePathSegments.slice(-3);
36
+ pathToRead = [...fileBaseParts, currentBranch, ...fileExt].join(".");
37
+ }
38
+ }
39
+ }
40
+ localResource.value["content"] = readInlinePathSync(pathToRead);
41
+ }
42
+ };
24
43
  if (resource) {
25
44
  if (isSuperset(localResource, resource)) {
26
45
  return;
27
46
  }
47
+ // Only resolve inline content if we're actually updating
48
+ await resolveInlineContent();
28
49
  await wmill.updateResource({
29
50
  workspace: workspace,
30
51
  path: remotePath.replaceAll(SEP, "/"),
@@ -32,6 +53,8 @@ export async function pushResource(workspace, remotePath, resource, localResourc
32
53
  });
33
54
  }
34
55
  else {
56
+ // New resource - resolve inline content
57
+ await resolveInlineContent();
35
58
  if (localResource.is_oauth) {
36
59
  log.info(colors.yellow("! is_oauth has been removed in newer versions. Ignoring."));
37
60
  }
@@ -56,7 +79,8 @@ async function push(opts, filePath, remotePath) {
56
79
  throw new Error("file path must refer to a file.");
57
80
  }
58
81
  log.info(colors.bold.yellow("Pushing resource..."));
59
- await pushResource(workspace.workspaceId, remotePath, undefined, parseFromFile(filePath));
82
+ await pushResource(workspace.workspaceId, remotePath, undefined, parseFromFile(filePath), filePath // Pass the local file path for branch-specific inline content resolution
83
+ );
60
84
  log.info(colors.bold.underline.green(`Resource ${remotePath} pushed`));
61
85
  }
62
86
  async function list(opts) {
@@ -5,6 +5,8 @@ import { resolveWorkspace, validatePath } from "../../core/context.js";
5
5
  import { colors, Command, Confirm, log, readAll, SEP, Table, writeAllSync, yamlStringify, } from "../../../deps.js";
6
6
  import { deepEqual } from "../../utils/utils.js";
7
7
  import * as wmill from "../../../gen/services.gen.js";
8
+ import * as specificItems from "../../core/specific_items.js";
9
+ import { getCurrentGitBranch } from "../../utils/git.js";
8
10
  import { defaultScriptMetadata, scriptBootstrapCode, } from "../../../bootstrap/script_bootstrap.js";
9
11
  import { generateScriptMetadataInternal, parseMetadataFile, } from "../../utils/metadata.js";
10
12
  import { inferContentTypeFromFilePath, languagesWithRawReqsSupport, } from "../../utils/script_common.js";
@@ -36,9 +38,18 @@ async function push(opts, filePath) {
36
38
  }
37
39
  export async function findResourceFile(path) {
38
40
  const splitPath = path.split(".");
39
- const contentBasePathJSON = splitPath[0] + "." + splitPath[1] + ".json";
40
- const contentBasePathYAML = splitPath[0] + "." + splitPath[1] + ".yaml";
41
- const validCandidates = (await Promise.all([contentBasePathJSON, contentBasePathYAML].map((x) => {
41
+ let contentBasePathJSON = splitPath[0] + "." + splitPath[1] + ".json";
42
+ let contentBasePathYAML = splitPath[0] + "." + splitPath[1] + ".yaml";
43
+ // Check for branch-specific metadata files first
44
+ const currentBranch = getCurrentGitBranch();
45
+ const candidates = [contentBasePathJSON, contentBasePathYAML];
46
+ if (currentBranch) {
47
+ // Add branch-specific candidates at the beginning (higher priority)
48
+ const branchSpecificJSON = specificItems.toBranchSpecificPath(contentBasePathJSON, currentBranch);
49
+ const branchSpecificYAML = specificItems.toBranchSpecificPath(contentBasePathYAML, currentBranch);
50
+ candidates.unshift(branchSpecificJSON, branchSpecificYAML);
51
+ }
52
+ const validCandidates = (await Promise.all(candidates.map((x) => {
42
53
  return dntShim.Deno.stat(x)
43
54
  .catch(() => undefined)
44
55
  .then((x) => x?.isFile)
@@ -410,7 +421,7 @@ export function filePathExtensionFromContentType(language, defaultTs) {
410
421
  }
411
422
  else if (language === "ruby") {
412
423
  return ".rb";
413
- // for related places search: ADD_NEW_LANG
424
+ // for related places search: ADD_NEW_LANG
414
425
  }
415
426
  else {
416
427
  throw new Error("Invalid language: " + language);
@@ -441,7 +452,7 @@ export const exts = [
441
452
  ".playbook.yml",
442
453
  ".java",
443
454
  ".rb"
444
- // for related places search: ADD_NEW_LANG
455
+ // for related places search: ADD_NEW_LANG
445
456
  ];
446
457
  export function removeExtensionToPath(path) {
447
458
  for (const ext of exts) {
@@ -1505,7 +1505,14 @@ export async function push(opts) {
1505
1505
  if (!alreadySynced.includes(resourceFilePath)) {
1506
1506
  alreadySynced.push(resourceFilePath);
1507
1507
  const newObj = parseFromPath(resourceFilePath, await dntShim.Deno.readTextFile(resourceFilePath));
1508
- await pushResource(workspace.workspaceId, resourceFilePath, undefined, newObj);
1508
+ // For branch-specific resources, push to the base path on the workspace server
1509
+ // This ensures branch-specific files are stored with their base names in the workspace
1510
+ let serverPath = resourceFilePath;
1511
+ const currentBranch = getCurrentGitBranch();
1512
+ if (currentBranch && isBranchSpecificFile(resourceFilePath)) {
1513
+ serverPath = fromBranchSpecificPath(resourceFilePath, currentBranch);
1514
+ }
1515
+ await pushResource(workspace.workspaceId, serverPath, undefined, newObj, resourceFilePath);
1509
1516
  if (stateTarget) {
1510
1517
  await dntShim.Deno.writeTextFile(stateTarget, change.after);
1511
1518
  }
@@ -1514,7 +1521,12 @@ export async function push(opts) {
1514
1521
  }
1515
1522
  const oldObj = parseFromPath(change.path, change.before);
1516
1523
  const newObj = parseFromPath(change.path, change.after);
1517
- await pushObj(workspace.workspaceId, change.path, oldObj, newObj, opts.plainSecrets ?? false, alreadySynced, opts.message);
1524
+ // Check if this is a branch-specific item and get the original branch-specific path
1525
+ let originalBranchSpecificPath;
1526
+ if (specificItems && isSpecificItem(change.path, specificItems)) {
1527
+ originalBranchSpecificPath = getBranchSpecificPath(change.path, specificItems);
1528
+ }
1529
+ await pushObj(workspace.workspaceId, change.path, oldObj, newObj, opts.plainSecrets ?? false, alreadySynced, opts.message, originalBranchSpecificPath);
1518
1530
  if (stateTarget) {
1519
1531
  await dntShim.Deno.writeTextFile(stateTarget, change.after);
1520
1532
  }
@@ -1534,7 +1546,17 @@ export async function push(opts) {
1534
1546
  log.info(`Adding ${getTypeStrFromPath(change.path)} ${change.path}`);
1535
1547
  }
1536
1548
  const obj = parseFromPath(change.path, change.content);
1537
- await pushObj(workspace.workspaceId, change.path, undefined, obj, opts.plainSecrets ?? false, [], opts.message);
1549
+ // Determine the actual local file path for this change
1550
+ // For branch-specific items, we read from branch-specific files but push to base server paths
1551
+ let localFilePath = change.path;
1552
+ if (specificItems && isSpecificItem(change.path, specificItems)) {
1553
+ const branchSpecificPath = getBranchSpecificPath(change.path, specificItems);
1554
+ if (branchSpecificPath) {
1555
+ localFilePath = branchSpecificPath;
1556
+ }
1557
+ }
1558
+ await pushObj(workspace.workspaceId, change.path, undefined, obj, opts.plainSecrets ?? false, [], opts.message, localFilePath // Pass the actual local file path
1559
+ );
1538
1560
  if (stateTarget) {
1539
1561
  await dntShim.Deno.writeTextFile(stateTarget, change.content);
1540
1562
  }
@@ -1,7 +1,9 @@
1
1
  import * as dntShim from "../../../_dnt.shims.js";
2
2
  import * as wmill from "../../../gen/services.gen.js";
3
3
  import { colors, Command, log, SEP, Table } from "../../../deps.js";
4
- import { isSuperset, parseFromFile, removeType, } from "../../types.js";
4
+ import { isSuperset, parseFromFile, removeType, TRIGGER_TYPES, } from "../../types.js";
5
+ import { fromBranchSpecificPath, isBranchSpecificFile } from "../../core/specific_items.js";
6
+ import { getCurrentGitBranch } from "../../utils/git.js";
5
7
  import { requireLogin } from "../../core/auth.js";
6
8
  import { validatePath, resolveWorkspace } from "../../core/context.js";
7
9
  async function getTrigger(triggerType, workspace, path) {
@@ -138,23 +140,26 @@ async function list(opts) {
138
140
  .render();
139
141
  }
140
142
  function checkIfValidTrigger(kind) {
141
- if (kind &&
142
- [
143
- "http",
144
- "websocket",
145
- "kafka",
146
- "nats",
147
- "postgres",
148
- "mqtt",
149
- "sqs",
150
- "gcp",
151
- ].includes(kind)) {
143
+ if (kind && TRIGGER_TYPES.includes(kind)) {
152
144
  return true;
153
145
  }
154
146
  else {
155
147
  return false;
156
148
  }
157
149
  }
150
+ function extractTriggerKindFromPath(filePath) {
151
+ let pathToAnalyze = filePath;
152
+ // If this is a branch-specific file, convert it to the base path first
153
+ if (isBranchSpecificFile(filePath)) {
154
+ const currentBranch = getCurrentGitBranch();
155
+ if (currentBranch) {
156
+ pathToAnalyze = fromBranchSpecificPath(filePath, currentBranch);
157
+ }
158
+ }
159
+ // Now extract trigger type from the base path: "something.kafka_trigger.yaml" -> "kafka"
160
+ const triggerMatch = pathToAnalyze.match(/\.(\w+)_trigger\.yaml$/);
161
+ return triggerMatch ? triggerMatch[1] : undefined;
162
+ }
158
163
  async function push(opts, filePath, remotePath) {
159
164
  const workspace = await resolveWorkspace(opts);
160
165
  await requireLogin(opts);
@@ -166,7 +171,7 @@ async function push(opts, filePath, remotePath) {
166
171
  throw new Error("file path must refer to a file.");
167
172
  }
168
173
  console.log(colors.bold.yellow("Pushing trigger..."));
169
- const triggerKind = filePath.split(".")[1].split("_")[0];
174
+ const triggerKind = extractTriggerKindFromPath(filePath);
170
175
  if (!checkIfValidTrigger(triggerKind)) {
171
176
  throw new Error("Invalid trigger kind: " + triggerKind);
172
177
  }
@@ -59,14 +59,11 @@ async function tryResolveWorkspace(opts) {
59
59
  opts.__secret_workspace = e;
60
60
  return { isError: false, value: e };
61
61
  }
62
- const defaultWorkspace = await getActiveWorkspace(opts);
63
- if (!defaultWorkspace) {
64
- return {
65
- isError: true,
66
- error: colors.red.underline("No workspace given and no default set."),
67
- };
68
- }
69
- return { isError: false, value: defaultWorkspace };
62
+ // Only check for explicit workspace, don't fallback to active workspace here
63
+ return {
64
+ isError: true,
65
+ error: colors.red.underline("No explicit workspace given."),
66
+ };
70
67
  }
71
68
  async function tryResolveBranchWorkspace(opts) {
72
69
  // Only try branch-based resolution if in a Git repository
@@ -160,6 +157,9 @@ async function tryResolveBranchWorkspace(opts) {
160
157
  return selectedProfile;
161
158
  }
162
159
  export async function resolveWorkspace(opts) {
160
+ const cache = opts.__secret_workspace;
161
+ if (cache)
162
+ return cache;
163
163
  if (opts.baseUrl) {
164
164
  if (opts.workspace && opts.token) {
165
165
  let normalizedBaseUrl;
@@ -209,18 +209,25 @@ export async function resolveWorkspace(opts) {
209
209
  return dntShim.Deno.exit(-1);
210
210
  }
211
211
  }
212
- // Try explicit workspace flag first (should override branch-based resolution)
212
+ // Try explicit workspace flag first (highest priority)
213
213
  const res = await tryResolveWorkspace(opts);
214
214
  if (!res.isError) {
215
215
  return res.value;
216
216
  }
217
- // Fall back to branch-based resolution if no explicit workspace
217
+ // Try branch-based resolution (medium priority)
218
218
  const branchWorkspace = await tryResolveBranchWorkspace(opts);
219
219
  if (branchWorkspace) {
220
+ opts.__secret_workspace = branchWorkspace;
220
221
  return branchWorkspace;
221
222
  }
222
- // If both failed, show the original error from explicit workspace resolution
223
- log.info(colors.red.bold(res.error));
223
+ // Fall back to active workspace (lowest priority)
224
+ const activeWorkspace = await getActiveWorkspace(opts);
225
+ if (activeWorkspace) {
226
+ opts.__secret_workspace = activeWorkspace;
227
+ return activeWorkspace;
228
+ }
229
+ // If everything failed, show error
230
+ log.info(colors.red.bold("No workspace given and no default set."));
224
231
  return dntShim.Deno.exit(-1);
225
232
  }
226
233
  export async function fetchVersion(baseUrl) {
@@ -1,5 +1,45 @@
1
1
  import { minimatch } from "../../deps.js";
2
2
  import { getCurrentGitBranch, isGitRepository } from "../utils/git.js";
3
+ import { isFileResource } from "../utils/utils.js";
4
+ import { TRIGGER_TYPES } from "../types.js";
5
+ // Define all branch-specific file types (computed lazily)
6
+ function getBranchSpecificTypes() {
7
+ return {
8
+ variable: '.variable.yaml',
9
+ resource: '.resource.yaml',
10
+ // Generate trigger patterns from the list
11
+ ...Object.fromEntries(TRIGGER_TYPES.map(t => [`${t}_trigger`, `.${t}_trigger.yaml`]))
12
+ };
13
+ }
14
+ /**
15
+ * Check if a path ends with any trigger type
16
+ */
17
+ function isTriggerFile(path) {
18
+ return TRIGGER_TYPES.some(type => path.endsWith(`.${type}_trigger.yaml`));
19
+ }
20
+ /**
21
+ * Extract the file type suffix from a path
22
+ */
23
+ function getFileTypeSuffix(path) {
24
+ for (const [_, suffix] of Object.entries(getBranchSpecificTypes())) {
25
+ if (path.endsWith(suffix)) {
26
+ return suffix;
27
+ }
28
+ }
29
+ const resourceFileMatch = path.match(/(\\.resource\\.file\\..+)$/);
30
+ if (resourceFileMatch) {
31
+ return resourceFileMatch[1];
32
+ }
33
+ return null;
34
+ }
35
+ /**
36
+ * Build regex pattern for all supported yaml file types
37
+ */
38
+ function buildYamlTypePattern() {
39
+ const basicTypes = ['variable', 'resource'];
40
+ const triggerTypes = TRIGGER_TYPES.map(t => `${t}_trigger`);
41
+ return `((${basicTypes.join('|')})|(${triggerTypes.join('|')}))`;
42
+ }
3
43
  /**
4
44
  * Get the specific items configuration for the current git branch
5
45
  * Merges commonSpecificItems with branch-specific specificItems
@@ -27,6 +67,9 @@ export function getSpecificItemsForCurrentBranch(config) {
27
67
  if (commonItems?.resources) {
28
68
  merged.resources = [...commonItems.resources];
29
69
  }
70
+ if (commonItems?.triggers) {
71
+ merged.triggers = [...commonItems.triggers];
72
+ }
30
73
  // Add branch-specific items (extending common items)
31
74
  if (branchItems?.variables) {
32
75
  merged.variables = [...(merged.variables || []), ...branchItems.variables];
@@ -34,6 +77,9 @@ export function getSpecificItemsForCurrentBranch(config) {
34
77
  if (branchItems?.resources) {
35
78
  merged.resources = [...(merged.resources || []), ...branchItems.resources];
36
79
  }
80
+ if (branchItems?.triggers) {
81
+ merged.triggers = [...(merged.triggers || []), ...branchItems.triggers];
82
+ }
37
83
  return merged;
38
84
  }
39
85
  /**
@@ -56,19 +102,42 @@ export function isSpecificItem(path, specificItems) {
56
102
  if (path.endsWith('.resource.yaml')) {
57
103
  return specificItems.resources ? matchesPatterns(path, specificItems.resources) : false;
58
104
  }
105
+ // Check for any trigger type
106
+ if (isTriggerFile(path)) {
107
+ return specificItems.triggers ? matchesPatterns(path, specificItems.triggers) : false;
108
+ }
109
+ // Check for resource files using the standard detection function
110
+ if (isFileResource(path)) {
111
+ // Extract the base path without the file extension to match against patterns
112
+ const basePathMatch = path.match(/^(.+?)\.resource\.file\./);
113
+ if (basePathMatch && specificItems.resources) {
114
+ const basePath = basePathMatch[1] + '.resource.yaml';
115
+ return matchesPatterns(basePath, specificItems.resources);
116
+ }
117
+ }
59
118
  return false;
60
119
  }
61
120
  /**
62
121
  * Convert a base path to a branch-specific path
63
122
  */
64
123
  export function toBranchSpecificPath(basePath, branchName) {
65
- // Extract the extension (e.g., ".variable.yaml" or ".resource.yaml")
66
- const extensionMatch = basePath.match(/(\.(variable|resource)\.yaml)$/);
67
- if (!extensionMatch) {
68
- return basePath; // Return unchanged if no recognized extension
124
+ // Check for resource file pattern (e.g., .resource.file.ini)
125
+ const resourceFileMatch = basePath.match(/^(.+?)(\.resource\.file\..+)$/);
126
+ let extension;
127
+ let pathWithoutExtension;
128
+ if (resourceFileMatch) {
129
+ // Handle resource files
130
+ extension = resourceFileMatch[2];
131
+ pathWithoutExtension = resourceFileMatch[1];
132
+ }
133
+ else {
134
+ const suffix = getFileTypeSuffix(basePath);
135
+ if (!suffix) {
136
+ return basePath;
137
+ }
138
+ extension = suffix;
139
+ pathWithoutExtension = basePath.substring(0, basePath.length - extension.length);
69
140
  }
70
- const extension = extensionMatch[1];
71
- const pathWithoutExtension = basePath.substring(0, basePath.length - extension.length);
72
141
  // Sanitize branch name to be filesystem-safe
73
142
  const sanitizedBranchName = branchName.replace(/[\/\\:*?"<>|.]/g, '_');
74
143
  // Warn about potential collisions if sanitization occurred
@@ -83,14 +152,21 @@ export function toBranchSpecificPath(basePath, branchName) {
83
152
  export function fromBranchSpecificPath(branchSpecificPath, branchName) {
84
153
  // Sanitize branch name the same way as in toBranchSpecificPath
85
154
  const sanitizedBranchName = branchName.replace(/[\/\\:*?"<>|.]/g, '_');
86
- // Pattern: path.sanitizedBranchName.extension
87
155
  const escapedBranchName = sanitizedBranchName.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
88
- const pattern = new RegExp(`\\.${escapedBranchName}(\\.(variable|resource)\\.yaml)$`);
89
- const match = branchSpecificPath.match(pattern);
90
- if (!match) {
156
+ // Check for resource file pattern first
157
+ const resourceFilePattern = new RegExp(`\\.${escapedBranchName}(\\.resource\\.file\\..+)$`);
158
+ const resourceFileMatch = branchSpecificPath.match(resourceFilePattern);
159
+ if (resourceFileMatch) {
160
+ const extension = resourceFileMatch[1];
161
+ const pathWithoutBranchAndExtension = branchSpecificPath.substring(0, branchSpecificPath.length - `.${sanitizedBranchName}${extension}`.length);
162
+ return `${pathWithoutBranchAndExtension}${extension}`;
163
+ }
164
+ const yamlPattern = new RegExp(`\\.${escapedBranchName}(\\.${buildYamlTypePattern()}\\.yaml)$`);
165
+ const yamlMatch = branchSpecificPath.match(yamlPattern);
166
+ if (!yamlMatch) {
91
167
  return branchSpecificPath; // Return unchanged if not a branch-specific path
92
168
  }
93
- const extension = match[1];
169
+ const extension = yamlMatch[1];
94
170
  const pathWithoutBranchAndExtension = branchSpecificPath.substring(0, branchSpecificPath.length - `.${sanitizedBranchName}${extension}`.length);
95
171
  return `${pathWithoutBranchAndExtension}${extension}`;
96
172
  }
@@ -123,10 +199,13 @@ export function isCurrentBranchFile(path) {
123
199
  if (!currentBranch) {
124
200
  return false;
125
201
  }
202
+ // Sanitize branch name to match what would be used in file naming
203
+ const sanitizedBranchName = currentBranch.replace(/[\/\\:*?"<>|.]/g, '_');
204
+ const escapedBranchName = sanitizedBranchName.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
126
205
  // Use cached pattern or create and cache new one
127
206
  let pattern = branchPatternCache.get(currentBranch);
128
207
  if (!pattern) {
129
- pattern = new RegExp(`\\.${currentBranch}\\.(variable|resource)\\.yaml$`);
208
+ pattern = new RegExp(`\\.${escapedBranchName}\\.${buildYamlTypePattern()}\\.yaml$|\\.${escapedBranchName}\\.resource\\.file\\..+$`);
130
209
  branchPatternCache.set(currentBranch, pattern);
131
210
  }
132
211
  return pattern.test(path);
@@ -136,6 +215,6 @@ export function isCurrentBranchFile(path) {
136
215
  * Used to identify and skip files from other branches during sync operations
137
216
  */
138
217
  export function isBranchSpecificFile(path) {
139
- // Pattern: *.branchName.variable.yaml or *.branchName.resource.yaml
140
- return /\.[^.]+\.(variable|resource)\.yaml$/.test(path);
218
+ const yamlTypePattern = buildYamlTypePattern();
219
+ return new RegExp(`\\.[^.]+\\.${yamlTypePattern}\\.yaml$|\\.[^.]+\\.resource\\.file\\..+$`).test(path);
141
220
  }
package/esm/src/main.js CHANGED
@@ -38,7 +38,7 @@ export { flow, app, script, workspace, resource, resourceType, user, variable, h
38
38
  // console.error(JSON.stringify(event.error, null, 4));
39
39
  // }
40
40
  // });
41
- export const VERSION = "1.535.0";
41
+ export const VERSION = "1.536.0";
42
42
  const command = new Command()
43
43
  .name("wmill")
44
44
  .action(() => log.info(`Welcome to Windmill CLI ${VERSION}. Use -h for help.`))
package/esm/src/types.js CHANGED
@@ -15,6 +15,16 @@ import { pushWorkspaceUser } from "./commands/user/user.js";
15
15
  import { pushGroup } from "./commands/user/user.js";
16
16
  import { pushWorkspaceSettings, pushWorkspaceKey } from "./core/settings.js";
17
17
  import { pushTrigger } from "./commands/trigger/trigger.js";
18
+ export const TRIGGER_TYPES = [
19
+ 'http',
20
+ 'websocket',
21
+ 'kafka',
22
+ 'nats',
23
+ 'postgres',
24
+ 'mqtt',
25
+ 'sqs',
26
+ 'gcp'
27
+ ];
18
28
  export function isSuperset(subset, superset) {
19
29
  return Object.keys(subset).every((key) => {
20
30
  const eq = deepEqual(subset[key], superset[key]);
@@ -66,7 +76,18 @@ export function showConflict(path, local, remote) {
66
76
  log.info("\x1b[31mlocal\x1b[31m - \x1b[32mremote\x1b[32m");
67
77
  log.info("\n");
68
78
  }
69
- export async function pushObj(workspace, p, befObj, newObj, plainSecrets, alreadySynced, message) {
79
+ /**
80
+ * Pushes an object to the workspace server based on its type
81
+ * @param workspace - The workspace ID to push to
82
+ * @param p - The server path (base path for branch-specific items)
83
+ * @param befObj - The previous object state (for updates)
84
+ * @param newObj - The new object state to push
85
+ * @param plainSecrets - Whether to store secrets in plain text
86
+ * @param alreadySynced - Array to track already synced items
87
+ * @param message - Optional commit/update message
88
+ * @param originalLocalPath - The original local file path (used for branch-specific resource file resolution)
89
+ */
90
+ export async function pushObj(workspace, p, befObj, newObj, plainSecrets, alreadySynced, message, originalLocalPath) {
70
91
  const typeEnding = getTypeStrFromPath(p);
71
92
  if (typeEnding === "app") {
72
93
  const appName = p.split(".app" + SEP)[0];
@@ -85,7 +106,7 @@ export async function pushObj(workspace, p, befObj, newObj, plainSecrets, alread
85
106
  else if (typeEnding === "resource") {
86
107
  if (!alreadySynced.includes(p)) {
87
108
  alreadySynced.push(p);
88
- await pushResource(workspace, p, befObj, newObj);
109
+ await pushResource(workspace, p, befObj, newObj, originalLocalPath || p);
89
110
  }
90
111
  }
91
112
  else if (typeEnding === "resource-type") {
@@ -124,9 +124,10 @@ export function sleep(ms) {
124
124
  }
125
125
  export function isFileResource(path) {
126
126
  const splitPath = path.split(".");
127
+ // Check for pattern: *.resource.file.* (handles both base and branch-specific)
127
128
  return (splitPath.length >= 4 &&
128
- splitPath[1] == "resource" &&
129
- splitPath[2] == "file");
129
+ splitPath[splitPath.length - 3] == "resource" &&
130
+ splitPath[splitPath.length - 2] == "file");
130
131
  }
131
132
  export function printSync(input, to = dntShim.Deno.stdout) {
132
133
  let bytesWritten = 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "windmill-cli",
3
- "version": "1.535.0",
3
+ "version": "1.536.0",
4
4
  "description": "CLI for Windmill",
5
5
  "repository": {
6
6
  "type": "git",
@@ -6,7 +6,7 @@ export interface ResourceFile {
6
6
  resource_type: string;
7
7
  is_oauth?: boolean;
8
8
  }
9
- export declare function pushResource(workspace: string, remotePath: string, resource: ResourceFile | Resource | undefined, localResource: ResourceFile): Promise<void>;
9
+ export declare function pushResource(workspace: string, remotePath: string, resource: ResourceFile | Resource | undefined, localResource: ResourceFile, originalLocalPath?: string): Promise<void>;
10
10
  declare const command: Command<void, void, void, [import("../../../deps/jsr.io/@windmill-labs/cliffy-command/1.0.0-rc.5/mod.js").StringType, import("../../../deps/jsr.io/@windmill-labs/cliffy-command/1.0.0-rc.5/mod.js").StringType], void, void, void, Command<void, void, void, [], void, {
11
11
  number: number;
12
12
  integer: number;
@@ -1 +1 @@
1
- {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../../src/src/commands/resource/resource.ts"],"names":[],"mappings":"AAWA,OAAO,EAAU,OAAO,EAAmB,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGrD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,GAAG,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,YAAY,GAAG,QAAQ,GAAG,SAAS,EAC7C,aAAa,EAAE,YAAY,GAC1B,OAAO,CAAC,IAAI,CAAC,CA2Cf;AAsDD,QAAA,MAAM,OAAO;;;;;;oBAQS,CAAC;AAEvB,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../../src/src/commands/resource/resource.ts"],"names":[],"mappings":"AAWA,OAAO,EAAU,OAAO,EAAmB,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAKrD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,GAAG,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,YAAY,GAAG,QAAQ,GAAG,SAAS,EAC7C,aAAa,EAAE,YAAY,EAC3B,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,IAAI,CAAC,CAuEf;AAuDD,QAAA,MAAM,OAAO;;;;;;oBAQS,CAAC;AAEvB,eAAe,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../../../src/src/commands/script/script.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,EAEL,OAAO,EAQR,MAAM,kBAAkB,CAAC;AAS1B,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAKtD,OAAO,EACH,0BAA0B,EAC5B,cAAc,EAGf,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAIL,KAAK,EAEN,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EAAE,YAAY,EAAqB,MAAM,yBAAyB,CAAC;AAO1E,MAAM,WAAW,UAAU;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;CAClE;AAsCD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,mBA8BlD;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,MAAM,EAAE,EACvB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,YAAY,EAAE,EACzB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,OAAO,CAAC,CAmBlB;AAED,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,MAAM,EAAE,EACvB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,IAAI,EAAE,CAAC,aAAa,GAAG;IAAE,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC,GAAG,SAAS,EAC1E,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,YAAY,EAAE,GACxB,OAAO,CAAC,OAAO,CAAC,CAoPlB;AA6ED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,mBAiCrD;AAED,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,GACpC,MAAM,CAyDR;AAED,eAAO,MAAM,IAAI,UA0BhB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO1D;AAuCD,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAiBzE;AA8CD,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,iBA6E5D;AAuED,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEjF,wBAAsB,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,CA2B1D;AAuGD,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;oBA8CqB,CAAC;AAEnC,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../../../src/src/commands/script/script.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,EAEL,OAAO,EAQR,MAAM,kBAAkB,CAAC;AAW1B,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAKtD,OAAO,EACH,0BAA0B,EAC5B,cAAc,EAGf,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAIL,KAAK,EAEN,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EAAE,YAAY,EAAqB,MAAM,yBAAyB,CAAC;AAO1E,MAAM,WAAW,UAAU;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;CAClE;AAsCD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,mBA0ClD;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,MAAM,EAAE,EACvB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,YAAY,EAAE,EACzB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,OAAO,CAAC,CAmBlB;AAED,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,MAAM,EAAE,EACvB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,IAAI,EAAE,CAAC,aAAa,GAAG;IAAE,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC,GAAG,SAAS,EAC1E,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,YAAY,EAAE,GACxB,OAAO,CAAC,OAAO,CAAC,CAoPlB;AA6ED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,mBAiCrD;AAED,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,GACpC,MAAM,CAyDR;AAED,eAAO,MAAM,IAAI,UA0BhB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO1D;AAuCD,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAiBzE;AA8CD,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,iBA6E5D;AAuED,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEjF,wBAAsB,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,CA2B1D;AAuGD,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;oBA8CqB,CAAC;AAEnC,eAAe,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../src/src/commands/sync/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../src/src/commands/sync/sync.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"trigger.d.ts","sourceRoot":"","sources":["../../../../src/src/commands/trigger/trigger.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,EACX,eAAe,EACf,UAAU,EACV,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAU,OAAO,EAAmB,MAAM,kBAAkB,CAAC;AAUpE,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,eAAe,CAAC;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,EAAE,UAAU,CAAC;IAChB,GAAG,EAAE,UAAU,CAAC;CACjB,CAAC;AAEF,KAAK,WAAW,CAAC,CAAC,SAAS,WAAW,IAAI,IAAI,CAC5C,OAAO,CAAC,CAAC,CAAC,EACR,MAAM,GACN,WAAW,GACX,WAAW,GACX,WAAW,GACX,OAAO,GACP,kBAAkB,GAClB,WAAW,CACd,CAAC;AAEF,KAAK,WAAW,GAAG,MAAM,OAAO,CAAC;AAoFjC,wBAAsB,WAAW,CAAC,CAAC,SAAS,WAAW,EACrD,WAAW,EAAE,CAAC,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,EAChD,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,GAC3B,OAAO,CAAC,IAAI,CAAC,CAyCf;AAkGD,QAAA,MAAM,OAAO;;;;;;oBAQS,CAAC;AAEvB,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"trigger.d.ts","sourceRoot":"","sources":["../../../../src/src/commands/trigger/trigger.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,EACX,eAAe,EACf,UAAU,EACV,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAU,OAAO,EAAmB,MAAM,kBAAkB,CAAC;AAapE,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,eAAe,CAAC;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,EAAE,UAAU,CAAC;IAChB,GAAG,EAAE,UAAU,CAAC;CACjB,CAAC;AAEF,KAAK,WAAW,CAAC,CAAC,SAAS,WAAW,IAAI,IAAI,CAC5C,OAAO,CAAC,CAAC,CAAC,EACR,MAAM,GACN,WAAW,GACX,WAAW,GACX,WAAW,GACX,OAAO,GACP,kBAAkB,GAClB,WAAW,CACd,CAAC;AAEF,KAAK,WAAW,GAAG,MAAM,OAAO,CAAC;AAoFjC,wBAAsB,WAAW,CAAC,CAAC,SAAS,WAAW,EACrD,WAAW,EAAE,CAAC,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,EAChD,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,GAC3B,OAAO,CAAC,IAAI,CAAC,CAyCf;AAsGD,QAAA,MAAM,OAAO;;;;;;oBAQS,CAAC;AAEvB,eAAe,OAAO,CAAC"}
@@ -35,6 +35,7 @@ export interface SyncOptions {
35
35
  commonSpecificItems?: {
36
36
  variables?: string[];
37
37
  resources?: string[];
38
+ triggers?: string[];
38
39
  };
39
40
  } & {
40
41
  [branchName: string]: SyncOptions & {
@@ -45,6 +46,7 @@ export interface SyncOptions {
45
46
  specificItems?: {
46
47
  variables?: string[];
47
48
  resources?: string[];
49
+ triggers?: string[];
48
50
  };
49
51
  };
50
52
  };
@@ -52,6 +54,7 @@ export interface SyncOptions {
52
54
  commonSpecificItems?: {
53
55
  variables?: string[];
54
56
  resources?: string[];
57
+ triggers?: string[];
55
58
  };
56
59
  } & {
57
60
  [branchName: string]: SyncOptions & {
@@ -62,6 +65,7 @@ export interface SyncOptions {
62
65
  specificItems?: {
63
66
  variables?: string[];
64
67
  resources?: string[];
68
+ triggers?: string[];
65
69
  };
66
70
  };
67
71
  };
@@ -1 +1 @@
1
- {"version":3,"file":"conf.d.ts","sourceRoot":"","sources":["../../../src/src/core/conf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conf.d.ts","sourceRoot":"","sources":["../../../src/src/core/conf.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/src/core/context.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EAGL,SAAS,EAGV,MAAM,oCAAoC,CAAC;AAuE5C,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAyKF,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,SAAS,CAAC,CAqFpB;AAGD,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBnE;AACD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAgB7B;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAWlD"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/src/core/context.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EAGL,SAAS,EAGV,MAAM,oCAAoC,CAAC;AAuE5C,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAqKF,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,SAAS,CAAC,CAgGpB;AAGD,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBnE;AACD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAgB7B;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAWlD"}
@@ -2,6 +2,7 @@ import { SyncOptions } from "./conf.js";
2
2
  export interface SpecificItemsConfig {
3
3
  variables?: string[];
4
4
  resources?: string[];
5
+ triggers?: string[];
5
6
  }
6
7
  /**
7
8
  * Get the specific items configuration for the current git branch
@@ -1 +1 @@
1
- {"version":3,"file":"specific_items.d.ts","sourceRoot":"","sources":["../../../src/src/core/specific_items.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,WAAW,GAAG,mBAAmB,GAAG,SAAS,CAsCrG;AASD;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,mBAAmB,GAAG,SAAS,GAAG,OAAO,CAepG;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAmBjF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAoB7F;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,mBAAmB,GAAG,SAAS,GAC7C,MAAM,GAAG,SAAS,CAepB;AAKD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAkBzD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG1D"}
1
+ {"version":3,"file":"specific_items.d.ts","sourceRoot":"","sources":["../../../src/src/core/specific_items.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAgDD;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,WAAW,GAAG,mBAAmB,GAAG,SAAS,CA4CrG;AASD;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,mBAAmB,GAAG,SAAS,GAAG,OAAO,CA8BpG;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CA6BjF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAgC7F;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,mBAAmB,GAAG,SAAS,GAC7C,MAAM,GAAG,SAAS,CAepB;AAKD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAsBzD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG1D"}
@@ -22,7 +22,7 @@ import { pull as hubPull } from "./commands/hub/hub.js";
22
22
  import { pull, push } from "./commands/sync/sync.js";
23
23
  import { add as workspaceAdd } from "./commands/workspace/workspace.js";
24
24
  export { flow, app, script, workspace, resource, resourceType, user, variable, hub, folder, schedule, trigger, sync, gitsyncSettings, instance, dev, hubPull, pull, push, workspaceAdd, };
25
- export declare const VERSION = "1.535.0";
25
+ export declare const VERSION = "1.536.0";
26
26
  declare const command: Command<{
27
27
  workspace?: (import("../deps/jsr.io/@windmill-labs/cliffy-command/1.0.0-rc.5/mod.js").StringType & string) | undefined;
28
28
  } & {
@@ -15,6 +15,7 @@ export interface DifferenceChange {
15
15
  oldValue: any;
16
16
  }
17
17
  export type Difference = DifferenceCreate | DifferenceRemove | DifferenceChange;
18
+ export declare const TRIGGER_TYPES: readonly ["http", "websocket", "kafka", "nats", "postgres", "mqtt", "sqs", "gcp"];
18
19
  export type GlobalOptions = {
19
20
  baseUrl: string | undefined;
20
21
  workspace: string | undefined;
@@ -24,7 +25,18 @@ export type GlobalOptions = {
24
25
  export declare function isSuperset(subset: Record<string, any>, superset: Record<string, any>): boolean;
25
26
  export declare function showDiff(local: string, remote: string): void;
26
27
  export declare function showConflict(path: string, local: string, remote: string): void;
27
- export declare function pushObj(workspace: string, p: string, befObj: any, newObj: any, plainSecrets: boolean, alreadySynced: string[], message?: string): Promise<void>;
28
+ /**
29
+ * Pushes an object to the workspace server based on its type
30
+ * @param workspace - The workspace ID to push to
31
+ * @param p - The server path (base path for branch-specific items)
32
+ * @param befObj - The previous object state (for updates)
33
+ * @param newObj - The new object state to push
34
+ * @param plainSecrets - Whether to store secrets in plain text
35
+ * @param alreadySynced - Array to track already synced items
36
+ * @param message - Optional commit/update message
37
+ * @param originalLocalPath - The original local file path (used for branch-specific resource file resolution)
38
+ */
39
+ export declare function pushObj(workspace: string, p: string, befObj: any, newObj: any, plainSecrets: boolean, alreadySynced: string[], message?: string, originalLocalPath?: string): Promise<void>;
28
40
  export declare function parseFromPath(p: string, content: string): any;
29
41
  export declare function parseFromFile(p: string): any;
30
42
  export declare function getTypeStrFromPath(p: string): "script" | "variable" | "flow" | "resource" | "resource-type" | "folder" | "app" | "schedule" | "http_trigger" | "websocket_trigger" | "kafka_trigger" | "nats_trigger" | "postgres_trigger" | "mqtt_trigger" | "sqs_trigger" | "gcp_trigger" | "user" | "group" | "settings" | "encryption_key";
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/src/types.ts"],"names":[],"mappings":"AA4BA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC1B,QAAQ,EAAE,GAAG,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE,GAAG,CAAC;CACf;AAED,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAEhF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEF,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC5B,OAAO,CAkBT;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QA2BrD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAKvE;AAED,wBAAsB,OAAO,CAC3B,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,GAAG,EACX,YAAY,EAAE,OAAO,EACrB,aAAa,EAAE,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,MAAM,iBAoDjB;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,GAAG,CAM7D;AACD,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAQ5C;AACD,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,MAAM,GAEP,QAAQ,GACR,UAAU,GACV,MAAM,GACN,UAAU,GACV,eAAe,GACf,QAAQ,GACR,KAAK,GACL,UAAU,GACV,cAAc,GACd,mBAAmB,GACnB,eAAe,GACf,cAAc,GACd,kBAAkB,GAClB,cAAc,GACd,aAAa,GACb,aAAa,GACb,MAAM,GACN,OAAO,GACP,UAAU,GACV,gBAAgB,CA4DnB;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAQnD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAK3D"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/src/types.ts"],"names":[],"mappings":"AA4BA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC1B,QAAQ,EAAE,GAAG,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE,GAAG,CAAC;CACf;AAED,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAEhF,eAAO,MAAM,aAAa,mFAShB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEF,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC5B,OAAO,CAkBT;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QA2BrD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAKvE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,OAAO,CAC3B,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,GAAG,EACX,YAAY,EAAE,OAAO,EACrB,aAAa,EAAE,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,MAAM,EAChB,iBAAiB,CAAC,EAAE,MAAM,iBAoD3B;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,GAAG,CAM7D;AACD,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAQ5C;AACD,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,MAAM,GAEP,QAAQ,GACR,UAAU,GACV,MAAM,GACN,UAAU,GACV,eAAe,GACf,QAAQ,GACR,KAAK,GACL,UAAU,GACV,cAAc,GACd,mBAAmB,GACnB,eAAe,GACf,cAAc,GACd,kBAAkB,GAClB,cAAc,GACd,aAAa,GACb,aAAa,GACb,MAAM,GACN,OAAO,GACP,UAAU,GACV,gBAAgB,CA4DnB;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAQnD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAK3D"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/src/utils/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAO/C,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CA2EhD;AAED,wBAAgB,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAa/D;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,mBAWzD;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGnE;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,MAAM,CAAC,CAGjB;AAMD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,oBAE/B;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOpD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,EAAE;;;;CAAsB,QAM7E;AAGD,MAAM,WAAW,UAAU;IACzB,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAGD,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,UAAU,EACzD,YAAY,EAAE,CAAC,EAAE,EACjB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,CAAC,CAoCZ;AAGD,wBAAsB,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAMjD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/src/utils/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAO/C,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CA2EhD;AAED,wBAAgB,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAa/D;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,mBAWzD;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGnE;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,MAAM,CAAC,CAGjB;AAMD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,oBAE/B;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CASpD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,EAAE;;;;CAAsB,QAM7E;AAGD,MAAM,WAAW,UAAU;IACzB,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAGD,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,UAAU,EACzD,YAAY,EAAE,CAAC,EAAE,EACjB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,CAAC,CAoCZ;AAGD,wBAAsB,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAMjD"}