@milaboratories/milaboratories.monetization-test.model 1.0.50 → 1.0.51

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.
@@ -1,16 +1,16 @@
1
1
   WARN  Issue while reading "/home/runner/_work/platforma/platforma/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @milaboratories/milaboratories.monetization-test.model@1.0.50 build /home/runner/_work/platforma/platforma/etc/blocks/monetization-test/model
3
+ > @milaboratories/milaboratories.monetization-test.model@1.0.51 build /home/runner/_work/platforma/platforma/etc/blocks/monetization-test/model
4
4
  > ts-builder build --target block-model && block-tools build-model
5
5
 
6
6
  Building block-model project...
7
7
  ↳ rollup -c /configs/rollup.block-model.config.js
8
8
  
9
9
  ./src/index.ts → dist, dist...
10
- created dist, dist in 4.4s
10
+ created dist, dist in 3.4s
11
11
  
12
12
  ./src/index.ts → dist...
13
13
  (!) Circular dependency
14
14
  ../../../../sdk/model/dist/components/PFrameForGraphs.js -> ../../../../sdk/model/dist/pframe_utils/columns.js -> ../../../../sdk/model/dist/components/PFrameForGraphs.js
15
- created dist in 4.3s
15
+ created dist in 4.5s
16
16
  Build completed successfully
@@ -1,5 +1,5 @@
1
1
   WARN  Issue while reading "/home/runner/_work/platforma/platforma/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @milaboratories/milaboratories.monetization-test.model@1.0.50 lint /home/runner/_work/platforma/platforma/etc/blocks/monetization-test/model
3
+ > @milaboratories/milaboratories.monetization-test.model@1.0.51 lint /home/runner/_work/platforma/platforma/etc/blocks/monetization-test/model
4
4
  > eslint .
5
5
 
@@ -1,6 +1,6 @@
1
1
   WARN  Issue while reading "/home/runner/_work/platforma/platforma/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @milaboratories/milaboratories.monetization-test.model@1.0.50 type-check /home/runner/_work/platforma/platforma/etc/blocks/monetization-test/model
3
+ > @milaboratories/milaboratories.monetization-test.model@1.0.51 type-check /home/runner/_work/platforma/platforma/etc/blocks/monetization-test/model
4
4
  > ts-builder types --target block-model
5
5
 
6
6
  ↳ tsc --noEmit --project ./tsconfig.json --customConditions ,
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @milaboratories/milaboratories.monetization-test.model
2
2
 
3
+ ## 1.0.51
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [a748b92]
8
+ - @platforma-sdk/model@1.53.1
9
+
3
10
  ## 1.0.50
4
11
 
5
12
  ### Patch Changes
package/dist/bundle.js CHANGED
@@ -27,6 +27,11 @@
27
27
  * Increment this when the storage structure itself changes (not block state migrations).
28
28
  */
29
29
  const BLOCK_STORAGE_SCHEMA_VERSION = 'v1';
30
+ /**
31
+ * Default data version for new blocks without migrations.
32
+ * Unique identifier ensures blocks are created via DataModel API.
33
+ */
34
+ const DATA_MODEL_DEFAULT_VERSION = '__pl_v1_d4e8f2a1__';
30
35
  /**
31
36
  * Type guard to check if a value is a valid BlockStorage object.
32
37
  * Checks for the discriminator key and valid schema version.
@@ -46,16 +51,32 @@
46
51
  * Creates a BlockStorage with the given initial data
47
52
  *
48
53
  * @param initialData - The initial data value (defaults to empty object)
49
- * @param version - The initial data version (defaults to 1)
54
+ * @param version - The initial data version key (defaults to DATA_MODEL_DEFAULT_VERSION)
50
55
  * @returns A new BlockStorage instance with discriminator key
51
56
  */
52
- function createBlockStorage(initialData = {}, version = 1) {
57
+ function createBlockStorage(initialData = {}, version = DATA_MODEL_DEFAULT_VERSION) {
53
58
  return {
54
59
  [BLOCK_STORAGE_KEY]: BLOCK_STORAGE_SCHEMA_VERSION,
55
60
  __dataVersion: version,
56
61
  __data: initialData,
57
62
  };
58
63
  }
64
+ /**
65
+ * Normalizes raw storage data to BlockStorage format.
66
+ * If the input is already a BlockStorage, returns it as-is.
67
+ * If the input is legacy format (raw state), wraps it in BlockStorage structure.
68
+ *
69
+ * @param raw - Raw storage data (may be legacy format or BlockStorage)
70
+ * @returns Normalized BlockStorage
71
+ */
72
+ function normalizeBlockStorage(raw) {
73
+ if (isBlockStorage(raw)) {
74
+ const storage = raw;
75
+ return { ...storage, __dataVersion: String(storage.__dataVersion) };
76
+ }
77
+ // Legacy format: raw is the state directly
78
+ return createBlockStorage(raw);
79
+ }
59
80
  // =============================================================================
60
81
  // Data Access & Update Functions
61
82
  // =============================================================================
@@ -7485,7 +7506,7 @@
7485
7506
  }
7486
7507
  }
7487
7508
 
7488
- var version = "1.53.0";
7509
+ var version = "1.53.1";
7489
7510
 
7490
7511
  const PlatformaSDKVersion = version;
7491
7512
 
@@ -7751,7 +7772,7 @@
7751
7772
  *
7752
7773
  * Callbacks registered by DataModel.registerCallbacks():
7753
7774
  * - `__pl_data_initial`: () => initial data
7754
- * - `__pl_data_upgrade`: (versioned) => UpgradeResult
7775
+ * - `__pl_data_migrate`: (versioned) => DataMigrationResult
7755
7776
  * - `__pl_storage_initial`: () => initial BlockStorage as JSON string
7756
7777
  *
7757
7778
  * @module block_storage_vm
@@ -7787,7 +7808,8 @@
7787
7808
  }
7788
7809
  // Check for BlockStorage format (has discriminator)
7789
7810
  if (isBlockStorage(parsed)) {
7790
- return { storage: parsed, data: getStorageData(parsed) };
7811
+ const storage = normalizeBlockStorage(parsed);
7812
+ return { storage, data: getStorageData(storage) };
7791
7813
  }
7792
7814
  // Check for legacy V1/V2 format: { args, uiState }
7793
7815
  if (isLegacyModelV1ApiFormat(parsed)) {
@@ -7852,10 +7874,10 @@
7852
7874
  return getStorageDebugView(rawStorage);
7853
7875
  });
7854
7876
  /**
7855
- * Runs storage migration using the DataModel's upgrade callback.
7877
+ * Runs storage migration using the DataModel's migrate callback.
7856
7878
  * This is the main entry point for the middle layer to trigger migrations.
7857
7879
  *
7858
- * Uses the '__pl_data_upgrade' callback registered by DataModel.registerCallbacks() which:
7880
+ * Uses the '__pl_data_migrate' callback registered by DataModel.registerCallbacks() which:
7859
7881
  * - Handles all migration logic internally
7860
7882
  * - Returns { version, data, warning? } - warning present if reset to initial data
7861
7883
  *
@@ -7879,26 +7901,26 @@
7879
7901
  __data: data,
7880
7902
  });
7881
7903
  };
7882
- // Get the upgrade callback (registered by DataModel.registerCallbacks())
7883
- const upgradeCallback = ctx.callbackRegistry['__pl_data_upgrade'];
7884
- if (typeof upgradeCallback !== 'function') {
7885
- return { error: '__pl_data_upgrade callback not found (DataModel not registered)' };
7904
+ // Get the migrate callback (registered by DataModel.registerCallbacks())
7905
+ const migrateCallback = ctx.callbackRegistry['__pl_data_migrate'];
7906
+ if (typeof migrateCallback !== 'function') {
7907
+ return { error: '__pl_data_migrate callback not found (DataModel not registered)' };
7886
7908
  }
7887
- // Call the migrator's upgrade function
7909
+ // Call the migrator's migrate function
7888
7910
  let result;
7889
7911
  try {
7890
- result = upgradeCallback({ version: currentVersion, data: currentData });
7912
+ result = migrateCallback({ version: currentVersion, data: currentData });
7891
7913
  }
7892
7914
  catch (e) {
7893
7915
  const errorMsg = e instanceof Error ? e.message : String(e);
7894
- return { error: `upgrade() threw: ${errorMsg}` };
7916
+ return { error: `migrate() threw: ${errorMsg}` };
7895
7917
  }
7896
7918
  // Build info message
7897
7919
  const info = result.version === currentVersion
7898
- ? `No migration needed (v${currentVersion})`
7920
+ ? `No migration needed (${currentVersion})`
7899
7921
  : result.warning
7900
- ? `Reset to initial data (v${result.version})`
7901
- : `Migrated v${currentVersion}→v${result.version}`;
7922
+ ? `Reset to initial data (${result.version})`
7923
+ : `Migrated ${currentVersion}→${result.version}`;
7902
7924
  return {
7903
7925
  newStorageJson: createStorageJson(result.data, result.version),
7904
7926
  info,