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