@tryterra/react-native 0.0.0-stage → 2.2.1

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 (112) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +142 -2
  3. package/TerraReactNative.podspec +48 -0
  4. package/android/build.gradle +87 -0
  5. package/android/src/bridgeCore/kotlin/README.md +1 -0
  6. package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/BridgeBootstrap.kt +133 -0
  7. package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/BridgeHost.kt +32 -0
  8. package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/Conversions.kt +557 -0
  9. package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/LauncherSlots.kt +41 -0
  10. package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/ReadConversions.kt +250 -0
  11. package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/Rejections.kt +150 -0
  12. package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/StreamRegistry.kt +77 -0
  13. package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/TerraBridge.kt +86 -0
  14. package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/TerraBridgeOpsImpl.kt +300 -0
  15. package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/TerraBridgeStreamsImpl.kt +50 -0
  16. package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/TokenBroker.kt +198 -0
  17. package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/generated/BridgeErrors.kt +217 -0
  18. package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/generated/BridgeOps.kt +582 -0
  19. package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/generated/BridgeTypes.kt +1569 -0
  20. package/android/src/healthConnectOnly/kotlin/co/tryterra/sdk/reactnative/TerraStores.kt +11 -0
  21. package/android/src/main/AndroidManifest.xml +24 -0
  22. package/android/src/main/java/co/tryterra/sdk/reactnative/TerraBridgeModule.kt +96 -0
  23. package/android/src/main/java/co/tryterra/sdk/reactnative/TerraReactNativePackage.kt +26 -0
  24. package/android/src/main/java/co/tryterra/sdk/reactnative/TerraStartup.kt +46 -0
  25. package/android/src/samsung/kotlin/co/tryterra/sdk/reactnative/TerraStores.kt +13 -0
  26. package/docs/availability.md +396 -0
  27. package/frameworks/TerraSDK.xcframework/Info.plist +48 -0
  28. package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/Info.plist +0 -0
  29. package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios.abi.json +82672 -0
  30. package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios.package.swiftinterface +2186 -0
  31. package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios.private.swiftinterface +2186 -0
  32. package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  33. package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios.swiftinterface +2163 -0
  34. package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/PrivacyInfo.xcprivacy +96 -0
  35. package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/TerraSDK +0 -0
  36. package/frameworks/TerraSDK.xcframework/ios-arm64/dSYMs/TerraSDK.framework.dSYM/Contents/Info.plist +20 -0
  37. package/frameworks/TerraSDK.xcframework/ios-arm64/dSYMs/TerraSDK.framework.dSYM/Contents/Resources/DWARF/TerraSDK +0 -0
  38. package/frameworks/TerraSDK.xcframework/ios-arm64/dSYMs/TerraSDK.framework.dSYM/Contents/Resources/Relocations/aarch64/TerraSDK.yml +6594 -0
  39. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Info.plist +0 -0
  40. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios-simulator.abi.json +82672 -0
  41. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios-simulator.package.swiftinterface +2186 -0
  42. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +2186 -0
  43. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  44. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface +2163 -0
  45. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/x86_64-apple-ios-simulator.abi.json +82672 -0
  46. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/x86_64-apple-ios-simulator.package.swiftinterface +2186 -0
  47. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +2186 -0
  48. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  49. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +2163 -0
  50. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/PrivacyInfo.xcprivacy +96 -0
  51. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/TerraSDK +0 -0
  52. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/_CodeSignature/CodeResources +223 -0
  53. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/TerraSDK.framework.dSYM/Contents/Info.plist +20 -0
  54. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/TerraSDK.framework.dSYM/Contents/Resources/DWARF/TerraSDK +0 -0
  55. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/TerraSDK.framework.dSYM/Contents/Resources/Relocations/aarch64/TerraSDK.yml +6595 -0
  56. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/TerraSDK.framework.dSYM/Contents/Resources/Relocations/x86_64/TerraSDK.yml +6513 -0
  57. package/ios/TerraBridgeCore/BridgeBootstrap.swift +89 -0
  58. package/ios/TerraBridgeCore/BridgeHost.swift +13 -0
  59. package/ios/TerraBridgeCore/Conversions+Reads.swift +259 -0
  60. package/ios/TerraBridgeCore/Conversions.swift +594 -0
  61. package/ios/TerraBridgeCore/Generated/BridgeErrors.swift +179 -0
  62. package/ios/TerraBridgeCore/Generated/BridgeOps.swift +967 -0
  63. package/ios/TerraBridgeCore/Generated/BridgeTypes.swift +2050 -0
  64. package/ios/TerraBridgeCore/Locked.swift +15 -0
  65. package/ios/TerraBridgeCore/README.md +1 -0
  66. package/ios/TerraBridgeCore/Rejections.swift +130 -0
  67. package/ios/TerraBridgeCore/RuntimeAttachment.swift +60 -0
  68. package/ios/TerraBridgeCore/StreamRegistry.swift +59 -0
  69. package/ios/TerraBridgeCore/TerraBridge.swift +122 -0
  70. package/ios/TerraBridgeCore/TerraBridgeOpsImpl.swift +318 -0
  71. package/ios/TerraBridgeCore/TerraBridgeStreamsImpl.swift +60 -0
  72. package/ios/TerraBridgeCore/TokenBroker.swift +147 -0
  73. package/ios/TerraBridgeModule.mm +79 -0
  74. package/ios/TerraBridgeModuleImpl.swift +49 -0
  75. package/ios/TerraReactNative.swift +19 -0
  76. package/lib/EndUser.d.ts +12 -0
  77. package/lib/EndUser.js +13 -0
  78. package/lib/NativeTerraBridge.d.ts +23 -0
  79. package/lib/NativeTerraBridge.js +13 -0
  80. package/lib/Terra.d.ts +223 -0
  81. package/lib/Terra.js +336 -0
  82. package/lib/TerraError.d.ts +42 -0
  83. package/lib/TerraError.js +95 -0
  84. package/lib/createTerra.d.ts +8 -0
  85. package/lib/createTerra.js +19 -0
  86. package/lib/generated/client.d.ts +128 -0
  87. package/lib/generated/client.js +256 -0
  88. package/lib/generated/codecs.d.ts +219 -0
  89. package/lib/generated/codecs.js +2066 -0
  90. package/lib/generated/errors.d.ts +13 -0
  91. package/lib/generated/errors.js +68 -0
  92. package/lib/generated/ops.d.ts +13 -0
  93. package/lib/generated/ops.js +161 -0
  94. package/lib/generated/streams.d.ts +23 -0
  95. package/lib/generated/streams.js +58 -0
  96. package/lib/generated/types.d.ts +794 -0
  97. package/lib/generated/types.js +224 -0
  98. package/lib/index.d.ts +29 -0
  99. package/lib/index.js +55 -0
  100. package/package.json +71 -4
  101. package/src/EndUser.ts +15 -0
  102. package/src/NativeTerraBridge.ts +27 -0
  103. package/src/Terra.ts +592 -0
  104. package/src/TerraError.ts +116 -0
  105. package/src/createTerra.ts +18 -0
  106. package/src/generated/client.ts +315 -0
  107. package/src/generated/codecs.ts +1989 -0
  108. package/src/generated/errors.ts +113 -0
  109. package/src/generated/ops.ts +233 -0
  110. package/src/generated/streams.ts +74 -0
  111. package/src/generated/types.ts +1222 -0
  112. package/src/index.ts +54 -0
@@ -0,0 +1,179 @@
1
+ // Generated from surface/terra-surface.json by surface/gen. Do not edit by hand.
2
+ // Regenerate with: node surface/gen/src/cli.ts generate
3
+
4
+ import Foundation
5
+
6
+ /// The codes the bridge itself raises, as opposed to the ones it forwards from the SDK.
7
+ ///
8
+ /// Namespaced under `bridge.` so that they can never collide with a code the SDK grows later.
9
+ public enum BridgeError: Error, Equatable, Sendable {
10
+ /// The native bootstrap did not run, so there is no client to attach to. On iOS the host is
11
+ /// missing TerraReactNative.bootstrap() in its app delegate; details.line carries the exact
12
+ /// line to add.
13
+ case notBootstrapped(line: String)
14
+ /// The op exists in the surface and this platform's SDK has no entry point for it. A temporary
15
+ /// gap, unlike a structurally absent member, which is typed optional instead.
16
+ case unsupportedOnPlatform(op: String)
17
+ /// The JS token provider did not answer inside its budget. Distinct from token_provider_failed,
18
+ /// which is the provider answering with an error.
19
+ case tokenTimeout(timeoutMs: Int)
20
+ /// A request did not decode against its declared type. `path` identifies the malformed field
21
+ /// (for example, `$.field[index]`); values are omitted because they may be health samples.
22
+ case invalidPayload(path: String)
23
+
24
+ public var code: String {
25
+ switch self {
26
+ case .notBootstrapped: return "bridge.not_bootstrapped"
27
+ case .unsupportedOnPlatform: return "bridge.unsupported_on_platform"
28
+ case .tokenTimeout: return "bridge.token_timeout"
29
+ case .invalidPayload: return "bridge.invalid_payload"
30
+ }
31
+ }
32
+
33
+ public var isRetryable: Bool {
34
+ switch self {
35
+ case .notBootstrapped: return false
36
+ case .unsupportedOnPlatform: return false
37
+ case .tokenTimeout: return false
38
+ case .invalidPayload: return false
39
+ }
40
+ }
41
+ }
42
+
43
+ /// Every code in the surface, for the parity test that reads the same list out of the schema.
44
+ public enum BridgeErrorCodes {
45
+ public static let all: [String] = [
46
+ "health_data_unavailable",
47
+ "not_connected",
48
+ "route_awaiting_converter",
49
+ "token_unavailable",
50
+ "token_rejected",
51
+ "token_provider_failed",
52
+ "user_limit_reached",
53
+ "upgrade_required",
54
+ "platform",
55
+ "device_key_unavailable",
56
+ "signature_rejected",
57
+ "clock_skewed",
58
+ "link_revoked",
59
+ "dev_id_mismatch",
60
+ "link_conflict",
61
+ "sync_already_running",
62
+ "link_already_running",
63
+ "store_locked",
64
+ "store_unreadable",
65
+ "deadline_exceeded",
66
+ "read_quota_exceeded",
67
+ "permission_denied",
68
+ "authorization_not_determined",
69
+ "sample_not_found",
70
+ "rollback_incomplete",
71
+ "distance_not_attributable",
72
+ "blood_pressure_incomplete",
73
+ "authorization_unavailable_in_extension",
74
+ "planned_workout_unnamed",
75
+ "network.transport",
76
+ "network.throttled",
77
+ "network.server_error",
78
+ "network.malformed_response",
79
+ "network.offline",
80
+ "network.timed_out",
81
+ "bridge.not_bootstrapped",
82
+ "bridge.unsupported_on_platform",
83
+ "bridge.no_activity",
84
+ "bridge.permission_sheet_unavailable",
85
+ "bridge.token_timeout",
86
+ "bridge.invalid_payload",
87
+ ]
88
+
89
+ /// Codes this platform can produce. A code the other platform owns must never be raised here.
90
+ public static let onThisPlatform: [String] = [
91
+ "health_data_unavailable",
92
+ "not_connected",
93
+ "route_awaiting_converter",
94
+ "token_unavailable",
95
+ "token_rejected",
96
+ "token_provider_failed",
97
+ "user_limit_reached",
98
+ "upgrade_required",
99
+ "platform",
100
+ "device_key_unavailable",
101
+ "signature_rejected",
102
+ "clock_skewed",
103
+ "link_revoked",
104
+ "dev_id_mismatch",
105
+ "link_conflict",
106
+ "sync_already_running",
107
+ "link_already_running",
108
+ "store_locked",
109
+ "store_unreadable",
110
+ "deadline_exceeded",
111
+ "permission_denied",
112
+ "authorization_not_determined",
113
+ "sample_not_found",
114
+ "rollback_incomplete",
115
+ "distance_not_attributable",
116
+ "blood_pressure_incomplete",
117
+ "authorization_unavailable_in_extension",
118
+ "planned_workout_unnamed",
119
+ "network.transport",
120
+ "network.throttled",
121
+ "network.server_error",
122
+ "network.malformed_response",
123
+ "network.offline",
124
+ "network.timed_out",
125
+ "bridge.not_bootstrapped",
126
+ "bridge.unsupported_on_platform",
127
+ "bridge.token_timeout",
128
+ "bridge.invalid_payload",
129
+ ]
130
+
131
+ public static let retryable: [String: Bool] = [
132
+ "health_data_unavailable": false,
133
+ "not_connected": false,
134
+ "route_awaiting_converter": false,
135
+ "token_unavailable": false,
136
+ "token_rejected": false,
137
+ "token_provider_failed": false,
138
+ "user_limit_reached": false,
139
+ "upgrade_required": false,
140
+ "platform": false,
141
+ "device_key_unavailable": false,
142
+ "signature_rejected": false,
143
+ "clock_skewed": false,
144
+ "link_revoked": false,
145
+ "dev_id_mismatch": false,
146
+ "link_conflict": true,
147
+ "sync_already_running": false,
148
+ "link_already_running": false,
149
+ "store_locked": true,
150
+ "store_unreadable": false,
151
+ "deadline_exceeded": true,
152
+ "read_quota_exceeded": true,
153
+ "permission_denied": false,
154
+ "authorization_not_determined": false,
155
+ "sample_not_found": false,
156
+ "rollback_incomplete": false,
157
+ "distance_not_attributable": false,
158
+ "blood_pressure_incomplete": false,
159
+ "authorization_unavailable_in_extension": false,
160
+ "planned_workout_unnamed": false,
161
+ "network.transport": true,
162
+ "network.throttled": true,
163
+ "network.malformed_response": false,
164
+ "network.offline": true,
165
+ "network.timed_out": true,
166
+ "bridge.not_bootstrapped": false,
167
+ "bridge.unsupported_on_platform": false,
168
+ "bridge.no_activity": true,
169
+ "bridge.permission_sheet_unavailable": true,
170
+ "bridge.token_timeout": false,
171
+ "bridge.invalid_payload": false,
172
+ ]
173
+
174
+ /// Codes whose retryability is decided per instance; read the value, not this table.
175
+ public static let carried: [String] = [
176
+ "network.server_error",
177
+ ]
178
+ }
179
+