@akinon/projectzero 1.114.0-snapshot-ZERO-3890-20251209002502 → 1.114.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.
package/CHANGELOG.md CHANGED
@@ -1,10 +1,6 @@
1
1
  # @akinon/projectzero
2
2
 
3
- ## 1.114.0-snapshot-ZERO-3890-20251209002502
4
-
5
- ### Minor Changes
6
-
7
- - b59bed4: ZERO-3878: Reintegrated similar products and removed localStorage checks and implemented props based showing of buttons
3
+ ## 1.114.0
8
4
 
9
5
  ## 1.113.0
10
6
 
@@ -1,5 +1,37 @@
1
1
  # projectzeronext
2
2
 
3
+ ## 1.114.0
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [65d3b862]
8
+ - Updated dependencies [43c182ee]
9
+ - Updated dependencies [eeb20bea]
10
+ - Updated dependencies [fdd255ee]
11
+ - @akinon/next@1.114.0
12
+ - @akinon/pz-virtual-try-on@1.114.0
13
+ - @akinon/pz-akifast@1.114.0
14
+ - @akinon/pz-apple-pay@1.114.0
15
+ - @akinon/pz-b2b@1.114.0
16
+ - @akinon/pz-basket-gift-pack@1.114.0
17
+ - @akinon/pz-bkm@1.114.0
18
+ - @akinon/pz-checkout-gift-pack@1.114.0
19
+ - @akinon/pz-click-collect@1.114.0
20
+ - @akinon/pz-credit-payment@1.114.0
21
+ - @akinon/pz-cybersource-uc@1.114.0
22
+ - @akinon/pz-flow-payment@1.114.0
23
+ - @akinon/pz-gpay@1.114.0
24
+ - @akinon/pz-hepsipay@1.114.0
25
+ - @akinon/pz-masterpass@1.114.0
26
+ - @akinon/pz-masterpass-rest@1.114.0
27
+ - @akinon/pz-multi-basket@1.114.0
28
+ - @akinon/pz-one-click-checkout@1.114.0
29
+ - @akinon/pz-otp@1.114.0
30
+ - @akinon/pz-pay-on-delivery@1.114.0
31
+ - @akinon/pz-saved-card@1.114.0
32
+ - @akinon/pz-tabby-extension@1.114.0
33
+ - @akinon/pz-tamara-extension@1.114.0
34
+
3
35
  ## 1.113.0
4
36
 
5
37
  ### Patch Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "projectzeronext",
3
- "version": "1.113.0",
3
+ "version": "1.114.0",
4
4
  "private": true,
5
5
  "license": "MIT",
6
6
  "scripts": {
@@ -24,29 +24,29 @@
24
24
  "test:middleware": "jest middleware-matcher.test.ts --bail"
25
25
  },
26
26
  "dependencies": {
27
- "@akinon/next": "1.113.0",
28
- "@akinon/pz-akifast": "1.113.0",
29
- "@akinon/pz-apple-pay": "1.113.0",
30
- "@akinon/pz-b2b": "1.113.0",
31
- "@akinon/pz-basket-gift-pack": "1.113.0",
32
- "@akinon/pz-bkm": "1.113.0",
33
- "@akinon/pz-checkout-gift-pack": "1.113.0",
34
- "@akinon/pz-click-collect": "1.113.0",
35
- "@akinon/pz-credit-payment": "1.113.0",
36
- "@akinon/pz-cybersource-uc": "1.113.0",
37
- "@akinon/pz-flow-payment": "1.113.0",
38
- "@akinon/pz-gpay": "1.113.0",
39
- "@akinon/pz-hepsipay": "1.113.0",
40
- "@akinon/pz-masterpass": "1.113.0",
41
- "@akinon/pz-masterpass-rest": "1.113.0",
42
- "@akinon/pz-multi-basket": "1.113.0",
43
- "@akinon/pz-one-click-checkout": "1.113.0",
44
- "@akinon/pz-otp": "1.113.0",
45
- "@akinon/pz-pay-on-delivery": "1.113.0",
46
- "@akinon/pz-saved-card": "1.113.0",
47
- "@akinon/pz-tabby-extension": "1.113.0",
48
- "@akinon/pz-tamara-extension": "1.113.0",
49
- "@akinon/pz-virtual-try-on": "1.113.0",
27
+ "@akinon/next": "1.114.0",
28
+ "@akinon/pz-akifast": "1.114.0",
29
+ "@akinon/pz-apple-pay": "1.114.0",
30
+ "@akinon/pz-b2b": "1.114.0",
31
+ "@akinon/pz-basket-gift-pack": "1.114.0",
32
+ "@akinon/pz-bkm": "1.114.0",
33
+ "@akinon/pz-checkout-gift-pack": "1.114.0",
34
+ "@akinon/pz-click-collect": "1.114.0",
35
+ "@akinon/pz-credit-payment": "1.114.0",
36
+ "@akinon/pz-cybersource-uc": "1.114.0",
37
+ "@akinon/pz-flow-payment": "1.114.0",
38
+ "@akinon/pz-gpay": "1.114.0",
39
+ "@akinon/pz-hepsipay": "1.114.0",
40
+ "@akinon/pz-masterpass": "1.114.0",
41
+ "@akinon/pz-masterpass-rest": "1.114.0",
42
+ "@akinon/pz-multi-basket": "1.114.0",
43
+ "@akinon/pz-one-click-checkout": "1.114.0",
44
+ "@akinon/pz-otp": "1.114.0",
45
+ "@akinon/pz-pay-on-delivery": "1.114.0",
46
+ "@akinon/pz-saved-card": "1.114.0",
47
+ "@akinon/pz-tabby-extension": "1.114.0",
48
+ "@akinon/pz-tamara-extension": "1.114.0",
49
+ "@akinon/pz-virtual-try-on": "1.114.0",
50
50
  "@hookform/resolvers": "2.9.0",
51
51
  "@next/third-parties": "14.1.0",
52
52
  "@react-google-maps/api": "2.17.1",
@@ -69,7 +69,7 @@
69
69
  "yup": "0.32.11"
70
70
  },
71
71
  "devDependencies": {
72
- "@akinon/eslint-plugin-projectzero": "1.113.0",
72
+ "@akinon/eslint-plugin-projectzero": "1.114.0",
73
73
  "@semantic-release/changelog": "6.0.2",
74
74
  "@semantic-release/exec": "6.0.3",
75
75
  "@semantic-release/git": "10.0.1",
@@ -77,10 +77,10 @@
77
77
  "photo_preview": "Photo Preview",
78
78
  "error_title": "An Error Occurred",
79
79
  "legal": {
80
- "title": "Consent Statement",
81
- "text": "I hereby declare that I give my <strong>explicit consent</strong> for the image I will upload to be used for <strong>AI-powered processing, enhancement, analysis, and content creation</strong> purposes.",
80
+ "title": "Terms & Conditions",
81
+ "text": "By using this virtual try-on feature, you agree to our terms and conditions. Your image will be processed securely and not stored permanently. We use your photo only to generate the virtual try-on result.",
82
82
  "accept": "Accept",
83
- "error": "Please accept the consent statement."
83
+ "error": "Please accept the terms and conditions."
84
84
  },
85
85
  "multiple_results_title": "Virtual Try-On Results",
86
86
  "multiple_results_subtitle": "Try-on completed for {{count}} products",
@@ -80,7 +80,7 @@
80
80
  "cabin": "Sanal Deneme Kabini",
81
81
  "legal": {
82
82
  "title": "Açık Rıza Metni",
83
- "text": "Yükleyeceğim görselin, <strong>yapay zekâ destekli işleme, iyileştirme, analiz ve içerik oluşturma</strong> amaçlarıyla kullanılmasına <strong>açık rıza verdiğimi</strong> beyan ederim.",
83
+ "text": "Açık rıza metnini okudum ve onaylıyorum.",
84
84
  "accept": "Onayla",
85
85
  "error": "Lütfen açık rıza metnini onaylayın."
86
86
  },
@@ -152,14 +152,6 @@ export default async () => {
152
152
  {
153
153
  name: 'Masterpass Rest',
154
154
  value: 'pz-masterpass-rest'
155
- },
156
- {
157
- name: 'Similar Products',
158
- value: 'pz-similar-products'
159
- },
160
- {
161
- name: 'Haso Payment Gateway',
162
- value: 'pz-haso'
163
155
  }
164
156
  ];
165
157
 
@@ -1,274 +1,196 @@
1
- 'use strict';
2
- var __createBinding =
3
- (this && this.__createBinding) ||
4
- (Object.create
5
- ? function (o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (
9
- !desc ||
10
- ('get' in desc ? !m.__esModule : desc.writable || desc.configurable)
11
- ) {
12
- desc = {
13
- enumerable: true,
14
- get: function () {
15
- return m[k];
16
- }
17
- };
18
- }
19
- Object.defineProperty(o, k2, desc);
20
- }
21
- : function (o, m, k, k2) {
22
- if (k2 === undefined) k2 = k;
23
- o[k2] = m[k];
24
- });
25
- var __setModuleDefault =
26
- (this && this.__setModuleDefault) ||
27
- (Object.create
28
- ? function (o, v) {
29
- Object.defineProperty(o, 'default', { enumerable: true, value: v });
30
- }
31
- : function (o, v) {
32
- o['default'] = v;
33
- });
34
- var __importStar =
35
- (this && this.__importStar) ||
36
- function (mod) {
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
37
19
  if (mod && mod.__esModule) return mod;
38
20
  var result = {};
39
- if (mod != null)
40
- for (var k in mod)
41
- if (k !== 'default' && Object.prototype.hasOwnProperty.call(mod, k))
42
- __createBinding(result, mod, k);
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
43
22
  __setModuleDefault(result, mod);
44
23
  return result;
45
- };
46
- var __awaiter =
47
- (this && this.__awaiter) ||
48
- function (thisArg, _arguments, P, generator) {
49
- function adopt(value) {
50
- return value instanceof P
51
- ? value
52
- : new P(function (resolve) {
53
- resolve(value);
54
- });
55
- }
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
56
27
  return new (P || (P = Promise))(function (resolve, reject) {
57
- function fulfilled(value) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ const fs = __importStar(require("fs"));
39
+ const path_1 = __importDefault(require("path"));
40
+ const child_process_1 = require("child_process");
41
+ const semver_1 = __importDefault(require("semver"));
42
+ const prompts_1 = require("@inquirer/prompts");
43
+ const rootDir = path_1.default.resolve(process.cwd());
44
+ function checkVersion(pkg) {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ const packageName = '@akinon/next';
47
+ const registryUrl = `https://registry.npmjs.org/${packageName}`;
58
48
  try {
59
- step(generator.next(value));
60
- } catch (e) {
61
- reject(e);
49
+ const response = yield fetch(registryUrl);
50
+ const pkgInfo = (yield response.json());
51
+ const latestVersion = pkgInfo['dist-tags'].latest;
52
+ if (!semver_1.default.satisfies(pkg.dependencies['@akinon/next'], latestVersion)) {
53
+ console.warn(`\x1b[43mWarning: The "${packageName}" package is currently at version ${pkg.dependencies['@akinon/next']}. Please upgrade it to the latest version (${latestVersion}) to ensure plugin compatibility.`, '\x1b[0m\n');
54
+ }
62
55
  }
63
- }
64
- function rejected(value) {
65
- try {
66
- step(generator['throw'](value));
67
- } catch (e) {
68
- reject(e);
56
+ catch (error) {
57
+ console.error(`\x1b[41mError: ${error === null || error === void 0 ? void 0 : error.message}`, '\x1b[0m\n');
69
58
  }
70
- }
71
- function step(result) {
72
- result.done
73
- ? resolve(result.value)
74
- : adopt(result.value).then(fulfilled, rejected);
75
- }
76
- step((generator = generator.apply(thisArg, _arguments || [])).next());
77
59
  });
78
- };
79
- var __importDefault =
80
- (this && this.__importDefault) ||
81
- function (mod) {
82
- return mod && mod.__esModule ? mod : { default: mod };
83
- };
84
- Object.defineProperty(exports, '__esModule', { value: true });
85
- const fs = __importStar(require('fs'));
86
- const path_1 = __importDefault(require('path'));
87
- const child_process_1 = require('child_process');
88
- const semver_1 = __importDefault(require('semver'));
89
- const prompts_1 = require('@inquirer/prompts');
90
- const rootDir = path_1.default.resolve(process.cwd());
91
- function checkVersion(pkg) {
92
- return __awaiter(this, void 0, void 0, function* () {
93
- const packageName = '@akinon/next';
94
- const registryUrl = `https://registry.npmjs.org/${packageName}`;
95
- try {
96
- const response = yield fetch(registryUrl);
97
- const pkgInfo = yield response.json();
98
- const latestVersion = pkgInfo['dist-tags'].latest;
99
- if (
100
- !semver_1.default.satisfies(
101
- pkg.dependencies['@akinon/next'],
102
- latestVersion
103
- )
104
- ) {
105
- console.warn(
106
- `\x1b[43mWarning: The "${packageName}" package is currently at version ${pkg.dependencies['@akinon/next']}. Please upgrade it to the latest version (${latestVersion}) to ensure plugin compatibility.`,
107
- '\x1b[0m\n'
108
- );
109
- }
110
- } catch (error) {
111
- console.error(
112
- `\x1b[41mError: ${
113
- error === null || error === void 0 ? void 0 : error.message
114
- }`,
115
- '\x1b[0m\n'
116
- );
117
- }
118
- });
119
60
  }
120
- exports.default = () =>
121
- __awaiter(void 0, void 0, void 0, function* () {
61
+ exports.default = () => __awaiter(void 0, void 0, void 0, function* () {
122
62
  function findPluginsFilePath() {
123
- const option1 = path_1.default.resolve(rootDir, './src/plugins.js');
124
- const option2 = path_1.default.resolve(
125
- rootDir,
126
- './packages/akinon-next/plugins.js'
127
- );
128
- if (fs.existsSync(option1)) {
129
- return option1;
130
- } else if (fs.existsSync(option2)) {
131
- return option2;
132
- } else {
133
- throw new Error(
134
- 'plugins.js was not found in either of the expected locations.'
135
- );
136
- }
63
+ const option1 = path_1.default.resolve(rootDir, './src/plugins.js');
64
+ const option2 = path_1.default.resolve(rootDir, './packages/akinon-next/plugins.js');
65
+ if (fs.existsSync(option1)) {
66
+ return option1;
67
+ }
68
+ else if (fs.existsSync(option2)) {
69
+ return option2;
70
+ }
71
+ else {
72
+ throw new Error('plugins.js was not found in either of the expected locations.');
73
+ }
137
74
  }
138
75
  const pkg = require(path_1.default.resolve(rootDir, './package.json'));
139
76
  yield checkVersion(pkg);
140
77
  const pluginsFilePath = findPluginsFilePath();
141
78
  let installedPlugins = [];
142
79
  try {
143
- installedPlugins = require(pluginsFilePath);
144
- } catch (error) {
145
- console.error('Error loading installed plugins:', error);
146
- process.exit(1);
80
+ installedPlugins = require(pluginsFilePath);
81
+ }
82
+ catch (error) {
83
+ console.error('Error loading installed plugins:', error);
84
+ process.exit(1);
147
85
  }
148
86
  const definedPlugins = [
149
- {
150
- name: 'Akifast',
151
- value: 'pz-akifast'
152
- },
153
- {
154
- name: 'Apple Pay',
155
- value: 'pz-apple-pay'
156
- },
157
- {
158
- name: 'B2B',
159
- value: 'pz-b2b'
160
- },
161
- {
162
- name: 'Basket Gift Pack',
163
- value: 'pz-basket-gift-pack'
164
- },
165
- {
166
- name: 'BKM Express',
167
- value: 'pz-bkm'
168
- },
169
- {
170
- name: 'Checkout Gift Pack',
171
- value: 'pz-checkout-gift-pack'
172
- },
173
- {
174
- name: 'Click & Collect',
175
- value: 'pz-click-collect'
176
- },
177
- {
178
- name: 'Credit Payment',
179
- value: 'pz-credit-payment'
180
- },
181
- {
182
- name: 'Garanti Pay',
183
- value: 'pz-gpay'
184
- },
185
- {
186
- name: 'Masterpass',
187
- value: 'pz-masterpass'
188
- },
189
- {
190
- name: 'Multi Basket',
191
- value: 'pz-multi-basket'
192
- },
193
- {
194
- name: 'One Click Checkout',
195
- value: 'pz-one-click-checkout'
196
- },
197
- {
198
- name: 'Otp',
199
- value: 'pz-otp'
200
- },
201
- {
202
- name: 'Pay On Delivery',
203
- value: 'pz-pay-on-delivery'
204
- },
205
- {
206
- name: 'Saved Card',
207
- value: 'pz-saved-card'
208
- },
209
- {
210
- name: 'Tabby Payment Extension',
211
- value: 'pz-tabby-extension'
212
- },
213
- {
214
- name: 'Tamara Payment Extension',
215
- value: 'pz-tamara-extension'
216
- },
217
- {
218
- name: 'Hepsipay',
219
- value: 'pz-hepsipay'
220
- },
221
- {
222
- name: 'Flow Payment',
223
- value: 'pz-flow-payment'
224
- },
225
- {
226
- name: 'Virtual Try-On',
227
- value: 'pz-virtual-try-on'
228
- },
229
- {
230
- name: 'Masterpass Rest',
231
- value: 'pz-masterpass-rest'
232
- },
233
- {
234
- name: 'Similar Products',
235
- value: 'pz-similar-products'
236
- },
237
- {
238
- name: 'Haso Payment Gateway',
239
- value: 'pz-haso'
240
- }
87
+ {
88
+ name: 'Akifast',
89
+ value: 'pz-akifast'
90
+ },
91
+ {
92
+ name: 'Apple Pay',
93
+ value: 'pz-apple-pay'
94
+ },
95
+ {
96
+ name: 'B2B',
97
+ value: 'pz-b2b'
98
+ },
99
+ {
100
+ name: 'Basket Gift Pack',
101
+ value: 'pz-basket-gift-pack'
102
+ },
103
+ {
104
+ name: 'BKM Express',
105
+ value: 'pz-bkm'
106
+ },
107
+ {
108
+ name: 'Checkout Gift Pack',
109
+ value: 'pz-checkout-gift-pack'
110
+ },
111
+ {
112
+ name: 'Click & Collect',
113
+ value: 'pz-click-collect'
114
+ },
115
+ {
116
+ name: 'Credit Payment',
117
+ value: 'pz-credit-payment'
118
+ },
119
+ {
120
+ name: 'Garanti Pay',
121
+ value: 'pz-gpay'
122
+ },
123
+ {
124
+ name: 'Masterpass',
125
+ value: 'pz-masterpass'
126
+ },
127
+ {
128
+ name: 'Multi Basket',
129
+ value: 'pz-multi-basket'
130
+ },
131
+ {
132
+ name: 'One Click Checkout',
133
+ value: 'pz-one-click-checkout'
134
+ },
135
+ {
136
+ name: 'Otp',
137
+ value: 'pz-otp'
138
+ },
139
+ {
140
+ name: 'Pay On Delivery',
141
+ value: 'pz-pay-on-delivery'
142
+ },
143
+ {
144
+ name: 'Saved Card',
145
+ value: 'pz-saved-card'
146
+ },
147
+ {
148
+ name: 'Tabby Payment Extension',
149
+ value: 'pz-tabby-extension'
150
+ },
151
+ {
152
+ name: 'Tamara Payment Extension',
153
+ value: 'pz-tamara-extension'
154
+ },
155
+ {
156
+ name: 'Hepsipay',
157
+ value: 'pz-hepsipay'
158
+ },
159
+ {
160
+ name: 'Flow Payment',
161
+ value: 'pz-flow-payment'
162
+ },
163
+ {
164
+ name: 'Virtual Try-On',
165
+ value: 'pz-virtual-try-on'
166
+ },
167
+ {
168
+ name: 'Masterpass Rest',
169
+ value: 'pz-masterpass-rest'
170
+ }
241
171
  ];
242
172
  try {
243
- const answers = yield (0, prompts_1.checkbox)({
244
- message: 'Please check/uncheck plugins to install/uninstall.',
245
- choices: definedPlugins.map((plugin) => ({
246
- name: plugin.name,
247
- value: plugin.value,
248
- checked: installedPlugins.includes(plugin.value)
249
- }))
250
- });
251
- if (!answers.length) {
252
- console.log('\x1b[33m%s\x1b[0m', `\nUninstalling all plugins.`);
253
- }
254
- console.log('\x1b[36m%s\x1b[0m', `\nPlease wait...`);
255
- fs.writeFileSync(
256
- pluginsFilePath,
257
- `module.exports = ${JSON.stringify(answers)};\n`,
258
- {
259
- encoding: 'utf-8'
173
+ const answers = yield (0, prompts_1.checkbox)({
174
+ message: 'Please check/uncheck plugins to install/uninstall.',
175
+ choices: definedPlugins.map((plugin) => ({
176
+ name: plugin.name,
177
+ value: plugin.value,
178
+ checked: installedPlugins.includes(plugin.value)
179
+ }))
180
+ });
181
+ if (!answers.length) {
182
+ console.log('\x1b[33m%s\x1b[0m', `\nUninstalling all plugins.`);
260
183
  }
261
- );
262
- (0, child_process_1.execSync)('yarn install', { stdio: 'pipe' });
263
- console.log(
264
- '\x1b[32m%s\x1b[0m',
265
- `\n✓ ${
266
- answers.length
184
+ console.log('\x1b[36m%s\x1b[0m', `\nPlease wait...`);
185
+ fs.writeFileSync(pluginsFilePath, `module.exports = ${JSON.stringify(answers)};\n`, {
186
+ encoding: 'utf-8'
187
+ });
188
+ (0, child_process_1.execSync)('yarn install', { stdio: 'pipe' });
189
+ console.log('\x1b[32m%s\x1b[0m', `\n✓ ${answers.length
267
190
  ? 'Installed selected plugins'
268
- : 'Uninstalled all plugins'
269
- }.\n`
270
- );
271
- } catch (error) {
272
- process.exit(1);
191
+ : 'Uninstalled all plugins'}.\n`);
192
+ }
193
+ catch (error) {
194
+ process.exit(1);
273
195
  }
274
- });
196
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@akinon/projectzero",
3
- "version": "1.114.0-snapshot-ZERO-3890-20251209002502",
3
+ "version": "1.114.0",
4
4
  "private": false,
5
5
  "description": "CLI tool to manage your Project Zero Next project",
6
6
  "bin": {