@frontera-sdk/cli 1.52.35 → 1.52.36

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frontera-sdk/cli",
3
- "version": "1.52.35",
3
+ "version": "1.52.36",
4
4
  "description": "The frontera CLI — scaffold, pull, save and deploy Frontera apps and automations.",
5
5
  "keywords": [
6
6
  "frontera",
@@ -40,14 +40,14 @@
40
40
  "dependencies": {
41
41
  "@anthropic-ai/claude-agent-sdk": "^0.3.251",
42
42
  "@faker-js/faker": "10.6.0",
43
- "@frontera-sdk/core": "1.52.35",
44
- "@frontera-sdk/functions": "1.52.35",
43
+ "@frontera-sdk/core": "1.52.36",
44
+ "@frontera-sdk/functions": "1.52.36",
45
45
  "ai": "^6.0.116",
46
46
  "gray-matter": "^4.0.3",
47
47
  "yaml": "^2.9.0"
48
48
  },
49
49
  "devDependencies": {
50
- "@frontera-sdk/forge-contracts": "1.52.35",
50
+ "@frontera-sdk/forge-contracts": "1.52.36",
51
51
  "@types/bun": "^1.3.14",
52
52
  "typescript": "^5.9.3"
53
53
  }
@@ -360,7 +360,16 @@ export const blueprintPublish: Command = {
360
360
  // A release that discards changes needs an instruction per discarded change.
361
361
  instruction: ctx.flags.instruction as string | undefined,
362
362
  })
363
- return { data: released, text: `Published release "${label}".` }
363
+ const lifecycle = released as { activeRelease?: { releaseLabel?: string }; alreadyPublished?: boolean } | null
364
+ if (!lifecycle?.alreadyPublished) {
365
+ return { data: released, text: `Published release "${label}".` }
366
+ }
367
+ // A retry of a publish that already went through is answered with the release
368
+ // that is live, which carries the label it was published with, not this run's.
369
+ // One made after newer Draft edits is refused by the service as stale.
370
+ const activeReleaseLabel = lifecycle.activeRelease?.releaseLabel ?? label
371
+ const nothingPublished = `Release "${activeReleaseLabel}" is already active; nothing was published.`
372
+ return { data: released, text: nothingPublished }
364
373
  },
365
374
  }
366
375