ai.muna.muna 0.0.47 → 0.0.49

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.
Files changed (83) hide show
  1. package/Plugins/Android/Muna.aar +0 -0
  2. package/Plugins/Linux/arm64/libFunction.so +0 -0
  3. package/Plugins/Linux/x86_64/libFunction.so +0 -0
  4. package/Plugins/Web/libFunction.a +0 -0
  5. package/Plugins/Windows/arm64/Function.dll +0 -0
  6. package/Plugins/Windows/x86_64/Function.dll +0 -0
  7. package/Plugins/iOS/Function.xcframework/Info.plist +10 -12
  8. package/Plugins/iOS/Function.xcframework/ios-arm64/Function.framework/Function +0 -0
  9. package/Plugins/iOS/Function.xcframework/ios-arm64/Function.framework/Headers/FXNConfiguration.h +15 -15
  10. package/Plugins/iOS/Function.xcframework/ios-arm64/Function.framework/Headers/FXNPrediction.h +8 -8
  11. package/Plugins/iOS/Function.xcframework/ios-arm64/Function.framework/Headers/FXNPredictionStream.h +3 -3
  12. package/Plugins/iOS/Function.xcframework/ios-arm64/Function.framework/Headers/FXNPredictor.h +5 -5
  13. package/Plugins/iOS/Function.xcframework/ios-arm64/Function.framework/Headers/FXNStatus.h +1 -1
  14. package/Plugins/iOS/Function.xcframework/ios-arm64/Function.framework/Headers/FXNValue.h +117 -33
  15. package/Plugins/iOS/Function.xcframework/ios-arm64/Function.framework/Headers/FXNValueList.h +87 -0
  16. package/Plugins/iOS/Function.xcframework/ios-arm64/Function.framework/Headers/FXNValueMap.h +8 -37
  17. package/Plugins/iOS/Function.xcframework/ios-arm64/Function.framework/Headers/FXNVersion.h +3 -3
  18. package/Plugins/iOS/Function.xcframework/ios-arm64/Function.framework/Headers/Function.h +2 -1
  19. package/Plugins/iOS/Function.xcframework/ios-arm64/Function.framework/Info.plist +0 -0
  20. package/Plugins/iOS/Function.xcframework/ios-arm64/Function.framework/_CodeSignature/CodeResources +30 -19
  21. package/Plugins/iOS/Function.xcframework/ios-arm64-simulator/Function.framework/Function +0 -0
  22. package/Plugins/iOS/Function.xcframework/ios-arm64-simulator/Function.framework/Headers/FXNConfiguration.h +313 -0
  23. package/Plugins/iOS/Function.xcframework/ios-arm64-simulator/Function.framework/Headers/FXNPrediction.h +165 -0
  24. package/Plugins/iOS/Function.xcframework/ios-arm64-simulator/Function.framework/Headers/FXNPredictionStream.h +63 -0
  25. package/Plugins/iOS/Function.xcframework/ios-arm64-simulator/Function.framework/Headers/FXNPredictor.h +108 -0
  26. package/Plugins/iOS/Function.xcframework/ios-arm64-simulator/Function.framework/Headers/FXNStatus.h +42 -0
  27. package/Plugins/iOS/Function.xcframework/ios-arm64-simulator/Function.framework/Headers/FXNValue.h +479 -0
  28. package/Plugins/iOS/Function.xcframework/ios-arm64-simulator/Function.framework/Headers/FXNValueList.h +87 -0
  29. package/Plugins/iOS/Function.xcframework/ios-arm64-simulator/Function.framework/Headers/FXNValueMap.h +119 -0
  30. package/Plugins/iOS/Function.xcframework/ios-arm64-simulator/Function.framework/Headers/FXNVersion.h +26 -0
  31. package/Plugins/iOS/Function.xcframework/ios-arm64-simulator/Function.framework/Headers/Function.h +19 -0
  32. package/Plugins/iOS/Function.xcframework/ios-arm64-simulator/Function.framework/Info.plist +0 -0
  33. package/Plugins/iOS/Function.xcframework/ios-arm64-simulator/Function.framework/Modules/module.modulemap +6 -0
  34. package/Plugins/iOS/Function.xcframework/ios-arm64-simulator/Function.framework/PrivacyInfo.xcprivacy +36 -0
  35. package/Plugins/iOS/Function.xcframework/ios-arm64-simulator/Function.framework/_CodeSignature/CodeResources +234 -0
  36. package/Plugins/iOS/Function.xcframework/xros-arm64/Function.framework/Function +0 -0
  37. package/Plugins/iOS/Function.xcframework/xros-arm64/Function.framework/Headers/FXNConfiguration.h +15 -15
  38. package/Plugins/iOS/Function.xcframework/xros-arm64/Function.framework/Headers/FXNPrediction.h +8 -8
  39. package/Plugins/iOS/Function.xcframework/xros-arm64/Function.framework/Headers/FXNPredictionStream.h +3 -3
  40. package/Plugins/iOS/Function.xcframework/xros-arm64/Function.framework/Headers/FXNPredictor.h +5 -5
  41. package/Plugins/iOS/Function.xcframework/xros-arm64/Function.framework/Headers/FXNStatus.h +1 -1
  42. package/Plugins/iOS/Function.xcframework/xros-arm64/Function.framework/Headers/FXNValue.h +117 -33
  43. package/Plugins/iOS/Function.xcframework/xros-arm64/Function.framework/Headers/FXNValueList.h +87 -0
  44. package/Plugins/iOS/Function.xcframework/xros-arm64/Function.framework/Headers/FXNValueMap.h +8 -37
  45. package/Plugins/iOS/Function.xcframework/xros-arm64/Function.framework/Headers/FXNVersion.h +3 -3
  46. package/Plugins/iOS/Function.xcframework/xros-arm64/Function.framework/Headers/Function.h +2 -1
  47. package/Plugins/iOS/Function.xcframework/xros-arm64/Function.framework/Info.plist +0 -0
  48. package/Plugins/iOS/Function.xcframework/xros-arm64/Function.framework/_CodeSignature/CodeResources +30 -19
  49. package/Plugins/iOS/Function.xcframework/xros-arm64-simulator/Function.framework/Function +0 -0
  50. package/Plugins/iOS/Function.xcframework/xros-arm64-simulator/Function.framework/Headers/FXNConfiguration.h +313 -0
  51. package/Plugins/iOS/Function.xcframework/xros-arm64-simulator/Function.framework/Headers/FXNPrediction.h +165 -0
  52. package/Plugins/iOS/Function.xcframework/xros-arm64-simulator/Function.framework/Headers/FXNPredictionStream.h +63 -0
  53. package/Plugins/iOS/Function.xcframework/xros-arm64-simulator/Function.framework/Headers/FXNPredictor.h +108 -0
  54. package/Plugins/iOS/Function.xcframework/xros-arm64-simulator/Function.framework/Headers/FXNStatus.h +42 -0
  55. package/Plugins/iOS/Function.xcframework/xros-arm64-simulator/Function.framework/Headers/FXNValue.h +479 -0
  56. package/Plugins/iOS/Function.xcframework/xros-arm64-simulator/Function.framework/Headers/FXNValueList.h +87 -0
  57. package/Plugins/iOS/Function.xcframework/xros-arm64-simulator/Function.framework/Headers/FXNValueMap.h +119 -0
  58. package/Plugins/iOS/Function.xcframework/xros-arm64-simulator/Function.framework/Headers/FXNVersion.h +26 -0
  59. package/Plugins/iOS/Function.xcframework/xros-arm64-simulator/Function.framework/Headers/Function.h +19 -0
  60. package/Plugins/iOS/Function.xcframework/xros-arm64-simulator/Function.framework/Info.plist +0 -0
  61. package/Plugins/iOS/Function.xcframework/xros-arm64-simulator/Function.framework/Modules/module.modulemap +6 -0
  62. package/Plugins/iOS/Function.xcframework/xros-arm64-simulator/Function.framework/PrivacyInfo.xcprivacy +36 -0
  63. package/Plugins/iOS/Function.xcframework/xros-arm64-simulator/Function.framework/_CodeSignature/CodeResources +234 -0
  64. package/Plugins/macOS/Function.dylib +0 -0
  65. package/README.md +1 -1
  66. package/Runtime/C/Configuration.cs +3 -3
  67. package/Runtime/C/Function.cs +25 -5
  68. package/Runtime/C/PredictionStream.cs +1 -1
  69. package/Runtime/C/Predictor.cs +1 -1
  70. package/Runtime/C/Value.cs +18 -4
  71. package/Runtime/C/ValueList.cs +40 -0
  72. package/Runtime/C/ValueList.cs.meta +2 -0
  73. package/Runtime/C/ValueMap.cs +2 -2
  74. package/Runtime/Muna.cs +1 -1
  75. package/Runtime/Types/Dtype.cs +29 -24
  76. package/Runtime/Types/Image.cs +1 -1
  77. package/Runtime/Types/Parameter.cs +1 -1
  78. package/Runtime/Types/Prediction.cs +1 -1
  79. package/Runtime/Types/Predictor.cs +1 -1
  80. package/Runtime/Types/Tensor.cs +1 -1
  81. package/Runtime/Types/User.cs +1 -1
  82. package/Unity/Internal/PredictionCache.cs +10 -9
  83. package/package.json +1 -1
@@ -0,0 +1,6 @@
1
+ framework module Function {
2
+ umbrella header "Function.h"
3
+ export *
4
+
5
+ module * { export * }
6
+ }
@@ -0,0 +1,36 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>NSPrivacyCollectedDataTypes</key>
6
+ <array>
7
+ <dict>
8
+ <key>NSPrivacyCollectedDataType</key>
9
+ <string>NSPrivacyCollectedDataTypeDeviceID</string>
10
+ <key>NSPrivacyCollectedDataTypeLinked</key>
11
+ <false/>
12
+ <key>NSPrivacyCollectedDataTypeTracking</key>
13
+ <false/>
14
+ <key>NSPrivacyCollectedDataTypePurposes</key>
15
+ <array>
16
+ <string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
17
+ </array>
18
+ </dict>
19
+ </array>
20
+ <key>NSPrivacyAccessedAPITypes</key>
21
+ <array>
22
+ <dict>
23
+ <key>NSPrivacyAccessedAPITypeReasons</key>
24
+ <array>
25
+ <string>35F9.1</string>
26
+ </array>
27
+ <key>NSPrivacyAccessedAPIType</key>
28
+ <string>NSPrivacyAccessedAPICategorySystemBootTime</string>
29
+ </dict>
30
+ </array>
31
+ <key>NSPrivacyTrackingDomains</key>
32
+ <array/>
33
+ <key>NSPrivacyTracking</key>
34
+ <false/>
35
+ </dict>
36
+ </plist>
@@ -0,0 +1,234 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>files</key>
6
+ <dict>
7
+ <key>Headers/FXNConfiguration.h</key>
8
+ <data>
9
+ EbS43j0cFG4OOKyLtGP86eGSvNM=
10
+ </data>
11
+ <key>Headers/FXNPrediction.h</key>
12
+ <data>
13
+ v1B/+UYieWkZ7HQJHfEy5HrDomc=
14
+ </data>
15
+ <key>Headers/FXNPredictionStream.h</key>
16
+ <data>
17
+ Greg+YaffvPKKH+luOZQp3yXNCU=
18
+ </data>
19
+ <key>Headers/FXNPredictor.h</key>
20
+ <data>
21
+ o41IirofuUe5IxqtetPnX/kov8U=
22
+ </data>
23
+ <key>Headers/FXNStatus.h</key>
24
+ <data>
25
+ VApmhu5x/w5IRn/cjMqF52VtzTc=
26
+ </data>
27
+ <key>Headers/FXNValue.h</key>
28
+ <data>
29
+ jyJIY0QMD9+wveprF48DXJEUDPY=
30
+ </data>
31
+ <key>Headers/FXNValueList.h</key>
32
+ <data>
33
+ ld0JDWdJIswhucKkyw89ueUPbi4=
34
+ </data>
35
+ <key>Headers/FXNValueMap.h</key>
36
+ <data>
37
+ yEs3fRfrIfvL764zB4ttl+wYOMQ=
38
+ </data>
39
+ <key>Headers/FXNVersion.h</key>
40
+ <data>
41
+ xyxbK7tXG5fHBwwlpfD8qmDrpZI=
42
+ </data>
43
+ <key>Headers/Function.h</key>
44
+ <data>
45
+ 86RjZyv42zhJTCJlE+ae3Y3ehcs=
46
+ </data>
47
+ <key>Info.plist</key>
48
+ <data>
49
+ XJ/h6qRXcA3SbMoLTP9OOIzRZ3k=
50
+ </data>
51
+ <key>Modules/module.modulemap</key>
52
+ <data>
53
+ AKzc5jOgJSpNHAbJqkVwxBvrAVo=
54
+ </data>
55
+ <key>PrivacyInfo.xcprivacy</key>
56
+ <data>
57
+ hu5TqjQtsozL0nV+trjikU4pE0Q=
58
+ </data>
59
+ </dict>
60
+ <key>files2</key>
61
+ <dict>
62
+ <key>Headers/FXNConfiguration.h</key>
63
+ <dict>
64
+ <key>hash2</key>
65
+ <data>
66
+ y9ybe3TrcDp/r4fokSfYRP4Yk6rWRcJgkVdE9kqE20I=
67
+ </data>
68
+ </dict>
69
+ <key>Headers/FXNPrediction.h</key>
70
+ <dict>
71
+ <key>hash2</key>
72
+ <data>
73
+ gKQW6DY0xZuGqErUuQWj8WiuTJqF4WJbwI1a+HBZqLQ=
74
+ </data>
75
+ </dict>
76
+ <key>Headers/FXNPredictionStream.h</key>
77
+ <dict>
78
+ <key>hash2</key>
79
+ <data>
80
+ zK5eqCAOrXG9XsfKGFCQEl5DhsvTI52ZGZvnkwoMQBk=
81
+ </data>
82
+ </dict>
83
+ <key>Headers/FXNPredictor.h</key>
84
+ <dict>
85
+ <key>hash2</key>
86
+ <data>
87
+ KV7gRJRltk/1F1Di7yCqc3kLgNU34TZvFWIGnMfn8y4=
88
+ </data>
89
+ </dict>
90
+ <key>Headers/FXNStatus.h</key>
91
+ <dict>
92
+ <key>hash2</key>
93
+ <data>
94
+ Sqaogg1mx4UIkBxAGM1fDq1HW6/8ERp7EIJr4j+cYpw=
95
+ </data>
96
+ </dict>
97
+ <key>Headers/FXNValue.h</key>
98
+ <dict>
99
+ <key>hash2</key>
100
+ <data>
101
+ vNsG8bHy88vkUE9tjrQgagbBqdpMUoJaxn7BGtopA1w=
102
+ </data>
103
+ </dict>
104
+ <key>Headers/FXNValueList.h</key>
105
+ <dict>
106
+ <key>hash2</key>
107
+ <data>
108
+ IymyAX4E0KWKDkPyFP8CGHv7wQeQZRm+1wgzHd7zAKk=
109
+ </data>
110
+ </dict>
111
+ <key>Headers/FXNValueMap.h</key>
112
+ <dict>
113
+ <key>hash2</key>
114
+ <data>
115
+ ACZlHVK3fEOQ3rDv5QOxjD+KnTuMDXkNWm6I8dFo2rk=
116
+ </data>
117
+ </dict>
118
+ <key>Headers/FXNVersion.h</key>
119
+ <dict>
120
+ <key>hash2</key>
121
+ <data>
122
+ mZnAnYFeC3h2GusDoaqoDj5Oh2AeoT21Ql5UINOKH+E=
123
+ </data>
124
+ </dict>
125
+ <key>Headers/Function.h</key>
126
+ <dict>
127
+ <key>hash2</key>
128
+ <data>
129
+ utJBegbI3h5PQCi/FCnJvDnbpE0E+WYvG0LBKnI2NAQ=
130
+ </data>
131
+ </dict>
132
+ <key>Modules/module.modulemap</key>
133
+ <dict>
134
+ <key>hash2</key>
135
+ <data>
136
+ DOSlApa0B8DW0tZrkleMTg4bOHTSkqsPYpLLNC+RDss=
137
+ </data>
138
+ </dict>
139
+ <key>PrivacyInfo.xcprivacy</key>
140
+ <dict>
141
+ <key>hash2</key>
142
+ <data>
143
+ 2yC3crbcQ94cl0m/hQ+bCdpTgq9RzCBBT72IgRXThVY=
144
+ </data>
145
+ </dict>
146
+ </dict>
147
+ <key>rules</key>
148
+ <dict>
149
+ <key>^.*</key>
150
+ <true/>
151
+ <key>^.*\.lproj/</key>
152
+ <dict>
153
+ <key>optional</key>
154
+ <true/>
155
+ <key>weight</key>
156
+ <real>1000</real>
157
+ </dict>
158
+ <key>^.*\.lproj/locversion.plist$</key>
159
+ <dict>
160
+ <key>omit</key>
161
+ <true/>
162
+ <key>weight</key>
163
+ <real>1100</real>
164
+ </dict>
165
+ <key>^Base\.lproj/</key>
166
+ <dict>
167
+ <key>weight</key>
168
+ <real>1010</real>
169
+ </dict>
170
+ <key>^version.plist$</key>
171
+ <true/>
172
+ </dict>
173
+ <key>rules2</key>
174
+ <dict>
175
+ <key>.*\.dSYM($|/)</key>
176
+ <dict>
177
+ <key>weight</key>
178
+ <real>11</real>
179
+ </dict>
180
+ <key>^(.*/)?\.DS_Store$</key>
181
+ <dict>
182
+ <key>omit</key>
183
+ <true/>
184
+ <key>weight</key>
185
+ <real>2000</real>
186
+ </dict>
187
+ <key>^.*</key>
188
+ <true/>
189
+ <key>^.*\.lproj/</key>
190
+ <dict>
191
+ <key>optional</key>
192
+ <true/>
193
+ <key>weight</key>
194
+ <real>1000</real>
195
+ </dict>
196
+ <key>^.*\.lproj/locversion.plist$</key>
197
+ <dict>
198
+ <key>omit</key>
199
+ <true/>
200
+ <key>weight</key>
201
+ <real>1100</real>
202
+ </dict>
203
+ <key>^Base\.lproj/</key>
204
+ <dict>
205
+ <key>weight</key>
206
+ <real>1010</real>
207
+ </dict>
208
+ <key>^Info\.plist$</key>
209
+ <dict>
210
+ <key>omit</key>
211
+ <true/>
212
+ <key>weight</key>
213
+ <real>20</real>
214
+ </dict>
215
+ <key>^PkgInfo$</key>
216
+ <dict>
217
+ <key>omit</key>
218
+ <true/>
219
+ <key>weight</key>
220
+ <real>20</real>
221
+ </dict>
222
+ <key>^embedded\.provisionprofile$</key>
223
+ <dict>
224
+ <key>weight</key>
225
+ <real>20</real>
226
+ </dict>
227
+ <key>^version\.plist$</key>
228
+ <dict>
229
+ <key>weight</key>
230
+ <real>20</real>
231
+ </dict>
232
+ </dict>
233
+ </dict>
234
+ </plist>
Binary file
package/README.md CHANGED
@@ -16,7 +16,7 @@ Add the following items to your Unity project's `Packages/manifest.json`:
16
16
  }
17
17
  ],
18
18
  "dependencies": {
19
- "ai.muna.muna": "0.0.47"
19
+ "ai.muna.muna": "0.0.49"
20
20
  }
21
21
  }
22
22
  ```
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * Muna
3
- * Copyright © 2025 NatML Inc. All rights reserved.
3
+ * Copyright © 2026 NatML Inc. All rights reserved.
4
4
  */
5
5
 
6
6
  #nullable enable
@@ -68,7 +68,7 @@ namespace Muna.C {
68
68
  var context = GCHandle.Alloc(tcs, GCHandleType.Normal);
69
69
  SetInitializationHandler(OnFunctionInitialized, (IntPtr)context);
70
70
  return tcs.Task;
71
- [DllImport(Muna.Assembly, EntryPoint = @"FXNSetInitializationHandler")]
71
+ [DllImport(Function.Assembly, EntryPoint = @"FXNSetInitializationHandler")]
72
72
  static extern Status SetInitializationHandler (Action<IntPtr> handler, IntPtr context);
73
73
  #else
74
74
  return Task.CompletedTask;
@@ -87,7 +87,7 @@ namespace Muna.C {
87
87
  var context = GCHandle.Alloc(tcs, GCHandleType.Normal);
88
88
  AddConfigurationResource(configuration, type, path, OnAddConfigurationResource, (IntPtr)context);
89
89
  return tcs.Task;
90
- [DllImport(Muna.Assembly, EntryPoint = @"FXNConfigurationAddResourceAsync")]
90
+ [DllImport(Function.Assembly, EntryPoint = @"FXNConfigurationAddResourceAsync")]
91
91
  static extern Status AddConfigurationResource(
92
92
  IntPtr configuration,
93
93
  [MarshalAs(UnmanagedType.LPUTF8Str)] string type,
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * Muna
3
- * Copyright © 2025 NatML Inc. All rights reserved.
3
+ * Copyright © 2026 NatML Inc. All rights reserved.
4
4
  */
5
5
 
6
6
  #nullable enable
@@ -100,14 +100,34 @@ namespace Muna.C {
100
100
  );
101
101
  [DllImport(Assembly, EntryPoint = @"FXNValueCreateNull")]
102
102
  public static extern Status CreateNullValue(out IntPtr value);
103
+ [DllImport(Assembly, EntryPoint = @"FXNValueCreateValueList")]
104
+ public static extern Status CreateValueList(out IntPtr value);
105
+ [DllImport(Assembly, EntryPoint = @"FXNValueCreateValueMap")]
106
+ public static extern Status CreateValueMap(out IntPtr map);
107
+ #endregion
108
+
109
+
110
+ #region --FXNValueList--
111
+ [DllImport(Assembly, EntryPoint = @"FXNValueListGetSize")]
112
+ public static extern Status GetValueListSize(
113
+ this IntPtr list,
114
+ out int size
115
+ );
116
+ [DllImport(Assembly, EntryPoint = @"FXNValueListGetValue")]
117
+ public static extern Status GetValueListValue(
118
+ this IntPtr list,
119
+ int index,
120
+ out IntPtr value
121
+ );
122
+ [DllImport(Assembly, EntryPoint = @"FXNValueListAppendValue")]
123
+ public static extern Status AppendValueListValue(
124
+ this IntPtr list,
125
+ IntPtr value
126
+ );
103
127
  #endregion
104
128
 
105
129
 
106
130
  #region --FXNValueMap--
107
- [DllImport(Assembly, EntryPoint = @"FXNValueMapCreate")]
108
- public static extern Status CreateValueMap(out IntPtr map);
109
- [DllImport(Assembly, EntryPoint = @"FXNValueMapRelease")]
110
- public static extern Status ReleaseValueMap(this IntPtr map);
111
131
  [DllImport(Assembly, EntryPoint = @"FXNValueMapGetSize")]
112
132
  public static extern Status GetValueMapSize(
113
133
  this IntPtr map,
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * Muna
3
- * Copyright © 2025 NatML Inc. All rights reserved.
3
+ * Copyright © 2026 NatML Inc. All rights reserved.
4
4
  */
5
5
 
6
6
  #nullable enable
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * Muna
3
- * Copyright © 2025 NatML Inc. All rights reserved.
3
+ * Copyright © 2026 NatML Inc. All rights reserved.
4
4
  */
5
5
 
6
6
  #nullable enable
@@ -90,6 +90,7 @@ namespace Muna.C {
90
90
  Flags flags = Flags.None
91
91
  ) where T : unmanaged {
92
92
  IntPtr value = default;
93
+ flags |= tensor.data != null ? Flags.CopyData : 0; // GC can move managed memory
93
94
  fixed (T* data = tensor)
94
95
  CreateArrayValue(
95
96
  data,
@@ -119,21 +120,28 @@ namespace Muna.C {
119
120
  return new Value(value);
120
121
  }
121
122
 
122
- public static Value CreateImage(in Image image) {
123
+ public static Value CreateImage(
124
+ in Image image,
125
+ Flags flags = Flags.None
126
+ ) {
123
127
  IntPtr value = default;
128
+ flags |= image.data != null ? Flags.CopyData : 0; // GC can move managed memory
124
129
  fixed (byte* data = image)
125
130
  CreateImageValue(
126
131
  data,
127
132
  image.width,
128
133
  image.height,
129
134
  image.channels,
130
- image.data != null ? Flags.CopyData : Flags.None,
135
+ flags,
131
136
  out value
132
137
  ).Throw();
133
138
  return new Value(value);
134
139
  }
135
140
 
136
- public static Value CreateBinary(Stream stream) {
141
+ public static Value CreateBinary(
142
+ Stream stream,
143
+ Flags flags = Flags.None
144
+ ) {
137
145
  byte[] data;
138
146
  if (stream is MemoryStream memoryStream)
139
147
  data = memoryStream.ToArray();
@@ -142,7 +150,13 @@ namespace Muna.C {
142
150
  stream.CopyTo(dstStream);
143
151
  data = dstStream.ToArray();
144
152
  }
145
- CreateBinaryValue(data, data.Length, Flags.CopyData, out var value).Throw();
153
+ flags |= Flags.CopyData;
154
+ CreateBinaryValue(
155
+ data,
156
+ data.Length,
157
+ flags,
158
+ out var value
159
+ ).Throw();
146
160
  return new Value(value);
147
161
  }
148
162
 
@@ -0,0 +1,40 @@
1
+ /*
2
+ * Muna
3
+ * Copyright © 2026 NatML Inc. All rights reserved.
4
+ */
5
+
6
+ #nullable enable
7
+
8
+ namespace Muna.C {
9
+
10
+ using System;
11
+ using static Function;
12
+
13
+ public sealed class ValueList : IDisposable {
14
+
15
+ #region --Client API--
16
+
17
+ public Value this[int index] {
18
+ get {
19
+ list.GetValueListValue(index, out var value).Throw();
20
+ return new Value(value);
21
+ }
22
+ }
23
+
24
+ public int size => list.GetValueListSize(out var size).Throw() == Status.Ok ? size : default;
25
+
26
+ public void Add(Value value) => list.AppendValueListValue(value).Throw();
27
+
28
+ public void Dispose () => list.ReleaseValue();
29
+ #endregion
30
+
31
+
32
+ #region --Operations--
33
+ private readonly IntPtr list;
34
+
35
+ internal ValueList(IntPtr list) => this.list = list;
36
+
37
+ public static implicit operator IntPtr(ValueList list) => list.list;
38
+ #endregion
39
+ }
40
+ }
@@ -0,0 +1,2 @@
1
+ fileFormatVersion: 2
2
+ guid: a4fd3baddf57d46a789ca57d06e28f7b
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * Muna
3
- * Copyright © 2025 NatML Inc. All rights reserved.
3
+ * Copyright © 2026 NatML Inc. All rights reserved.
4
4
  */
5
5
 
6
6
  #nullable enable
@@ -35,7 +35,7 @@ namespace Muna.C {
35
35
  return new Value(value);
36
36
  }
37
37
 
38
- public void Dispose () => map.ReleaseValueMap();
38
+ public void Dispose () => map.ReleaseValue();
39
39
  #endregion
40
40
 
41
41
 
package/Runtime/Muna.cs CHANGED
@@ -94,7 +94,7 @@ namespace Muna {
94
94
 
95
95
  #region --Operations--
96
96
  public readonly MunaClient client;
97
- public const string Version = @"0.0.47";
97
+ public const string Version = @"0.0.49";
98
98
  internal const string URL = @"https://api.muna.ai/v1";
99
99
  #endregion
100
100
  }
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * Muna
3
- * Copyright © 2025 NatML Inc. All rights reserved.
3
+ * Copyright © 2026 NatML Inc. All rights reserved.
4
4
  */
5
5
 
6
6
  namespace Muna {
@@ -20,99 +20,104 @@ namespace Muna {
20
20
  [EnumMember(Value = @"null")]
21
21
  Null = 0,
22
22
  /// <summary>
23
- /// Type is a generic half-precision float.
23
+ /// IEEE 754 half precision 16-bit float.
24
24
  /// </summary>
25
25
  [EnumMember(Value = @"float16")]
26
26
  Float16 = 1,
27
27
  /// <summary>
28
- /// Type is `float` in C/C++/C#.
28
+ /// IEEE 754 single precision 32-bit float.
29
29
  /// </summary>
30
30
  [EnumMember(Value = @"float32")]
31
31
  Float32 = 2,
32
32
  /// <summary>
33
- /// Type is `double` in C/C++/C#.
33
+ /// IEEE 754 double precision 64-bit float.
34
34
  /// </summary>
35
35
  [EnumMember(Value = @"float64")]
36
36
  Float64 = 3,
37
37
  /// <summary>
38
- /// Type is a `int8_t` in C/C++ and `sbyte` in C#.
38
+ /// Signed 8-bit integer.
39
39
  /// </summary>
40
40
  [EnumMember(Value = @"int8")]
41
41
  Int8 = 4,
42
42
  /// <summary>
43
- /// Type is `int16_t` in C/C++ and `short` in C#.
43
+ /// Signed 16-bit integer.
44
44
  /// </summary>
45
45
  [EnumMember(Value = @"int16")]
46
46
  Int16 = 5,
47
47
  /// <summary>
48
- /// Type is `int32_t` in C/C++ and `int` in C#.
48
+ /// Signed 32-bit integer.
49
49
  /// </summary>
50
50
  [EnumMember(Value = @"int32")]
51
51
  Int32 = 6,
52
52
  /// <summary>
53
- /// Type is `int64_t` in C/C++ and `long` in C#.
53
+ /// Signed 64-bit integer.
54
54
  /// </summary>
55
55
  [EnumMember(Value = @"int64")]
56
56
  Int64 = 7,
57
57
  /// <summary>
58
- /// Type is `uint8_t` in C/C++ and `byte` in C#.
58
+ /// Unsigned 8-bit integer.
59
59
  /// </summary>
60
60
  [EnumMember(Value = @"uint8")]
61
61
  Uint8 = 8,
62
62
  /// <summary>
63
- /// Type is a `uint16_t` in C/C++ and `ushort` in C#.
63
+ /// Unsigned 16-bit integer.
64
64
  /// </summary>
65
65
  [EnumMember(Value = @"uint16")]
66
66
  Uint16 = 9,
67
67
  /// <summary>
68
- /// Type is a `uint32_t` in C/C++ and `uint` in C#.
68
+ /// Unsigned 32-bit integer.
69
69
  /// </summary>
70
70
  [EnumMember(Value = @"uint32")]
71
71
  Uint32 = 10,
72
72
  /// <summary>
73
- /// Type is a `uint64_t` in C/C++ and `ulong` in C#.
73
+ /// Unsigned 64-bit integer.
74
74
  /// </summary>
75
75
  [EnumMember(Value = @"uint64")]
76
76
  Uint64 = 11,
77
77
  /// <summary>
78
- /// Type is a `bool` in C/C++/C#.
78
+ /// 8-bit boolean where zero is `false` and non-zero is `true`.
79
79
  /// </summary>
80
80
  [EnumMember(Value = @"bool")]
81
81
  Bool = 12,
82
82
  /// <summary>
83
- /// Type is `std::string` in C++ and `string` in C#.
83
+ /// UTF-8 encoded string.
84
84
  /// </summary>
85
85
  [EnumMember(Value = @"string")]
86
86
  String = 13,
87
87
  /// <summary>
88
- /// Type is a generic list.
88
+ /// JSON-serializable list.
89
89
  /// </summary>
90
90
  [EnumMember(Value = @"list")]
91
91
  List = 14,
92
92
  /// <summary>
93
- /// Type is a generic dictionary.
93
+ /// JSON-serializable dictionary.
94
94
  /// </summary>
95
95
  [EnumMember(Value = @"dict")]
96
96
  Dict = 15,
97
97
  /// <summary>
98
- /// Type is an encoded image.
98
+ /// Pixel buffer with 8 bits per intensity, interleaved by channel.
99
99
  /// </summary>
100
100
  [EnumMember(Value = @"image")]
101
101
  Image = 16,
102
102
  /// <summary>
103
- /// Type is a binary blob.
103
+ /// Binary blob.
104
104
  /// </summary>
105
105
  [EnumMember(Value = @"binary")]
106
106
  Binary = 17,
107
107
  /// <summary>
108
- /// Type is an encoded audio.
108
+ /// 16-bit brain float.
109
109
  /// </summary>
110
- [EnumMember(Value = @"audio")]
111
- Audio = 18,
110
+ [EnumMember(Value = @"bfloat16")]
111
+ BFloat16 = 18,
112
112
  /// <summary>
113
- /// Type is an encoded video.
113
+ /// Prediction value list.
114
114
  /// </summary>
115
- [EnumMember(Value = @"video")]
116
- Video = 19,
115
+ [EnumMember(Value = @"value_list")]
116
+ ValueList = 19,
117
+ /// <summary>
118
+ /// Prediction value map.
119
+ /// </summary>
120
+ [EnumMember(Value = @"value_map")]
121
+ ValueMap = 20,
117
122
  }
118
123
  }
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * Muna
3
- * Copyright © 2025 NatML Inc. All rights reserved.
3
+ * Copyright © 2026 NatML Inc. All rights reserved.
4
4
  */
5
5
 
6
6
  #nullable enable
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * Muna
3
- * Copyright © 2025 NatML Inc. All rights reserved.
3
+ * Copyright © 2026 NatML Inc. All rights reserved.
4
4
  */
5
5
 
6
6
  #nullable enable
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * Muna
3
- * Copyright © 2025 NatML Inc. All rights reserved.
3
+ * Copyright © 2026 NatML Inc. All rights reserved.
4
4
  */
5
5
 
6
6
  #nullable enable