garmin-connect-client 1.2.0 → 2.0.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.
Files changed (50) hide show
  1. package/README.md +13 -11
  2. package/dist/auth-html-parser.d.ts +18 -0
  3. package/dist/auth-html-parser.d.ts.map +1 -0
  4. package/dist/auth-html-parser.js +88 -0
  5. package/dist/auth-html-parser.js.map +1 -0
  6. package/dist/authentication-service.d.ts +9 -24
  7. package/dist/authentication-service.d.ts.map +1 -1
  8. package/dist/authentication-service.js +87 -299
  9. package/dist/authentication-service.js.map +1 -1
  10. package/dist/client.d.ts +3 -2
  11. package/dist/client.d.ts.map +1 -1
  12. package/dist/client.js +6 -33
  13. package/dist/client.js.map +1 -1
  14. package/dist/curl-client.d.ts +16 -0
  15. package/dist/curl-client.d.ts.map +1 -0
  16. package/dist/curl-client.js +116 -0
  17. package/dist/curl-client.js.map +1 -0
  18. package/dist/errors.d.ts +0 -6
  19. package/dist/errors.d.ts.map +1 -1
  20. package/dist/errors.js +1 -12
  21. package/dist/errors.js.map +1 -1
  22. package/dist/http-client.d.ts +4 -7
  23. package/dist/http-client.d.ts.map +1 -1
  24. package/dist/http-client.js +22 -75
  25. package/dist/http-client.js.map +1 -1
  26. package/dist/index.d.ts +13 -7
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +19 -39
  29. package/dist/index.js.map +1 -1
  30. package/dist/oauth-utils.d.ts +3 -8
  31. package/dist/oauth-utils.d.ts.map +1 -1
  32. package/dist/oauth-utils.js +14 -38
  33. package/dist/oauth-utils.js.map +1 -1
  34. package/dist/oauth2-exchanger.d.ts +9 -0
  35. package/dist/oauth2-exchanger.d.ts.map +1 -0
  36. package/dist/oauth2-exchanger.js +58 -0
  37. package/dist/oauth2-exchanger.js.map +1 -0
  38. package/dist/types.d.ts +25 -13
  39. package/dist/types.d.ts.map +1 -1
  40. package/dist/types.js +8 -1
  41. package/dist/types.js.map +1 -1
  42. package/dist/urls.d.ts +7 -14
  43. package/dist/urls.d.ts.map +1 -1
  44. package/dist/urls.js +71 -60
  45. package/dist/urls.js.map +1 -1
  46. package/package.json +4 -2
  47. package/dist/auth-context.d.ts +0 -23
  48. package/dist/auth-context.d.ts.map +0 -1
  49. package/dist/auth-context.js +0 -53
  50. package/dist/auth-context.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -1,12 +1,18 @@
1
1
  export type { Activity, ActivityType, AcuteTrainingLoadDTO, BodyBattery, BodyBatteryActivityEvent, BodyBatteryDynamicFeedbackEvent, Calories, EventType, Floors, GolfSummaryHole, GolfActivitiesPage, GolfCourseSnapshotListItem, GolfCourseSnapshot, GolfCourseSnapshotsList, GolfCourseSnapshotsPage, GolfCourseSummary, GolfHandicapType, GolfCourseTee, GolfDrivingRangeActivity, GolfScorecardHoleEntry, GolfScorecardDetail, GolfScorecardDetailsResponse, GolfScorecardDetailWithSnapshot, GolfScorecardActivity, GolfRound, GolfRoundsPage, GarminConnectClient, GarminConnectClientConfig, PersistedSession, HeartRate, HeartRateZoneScalar, Hydration, IntensityMinutes, Movement, Privacy, PulseOx, RecordedDevice, Respiration, Steps, Stress, TrainingStatusData, TrainingStatusDailyScalar, TrainingStatusWeeklyScalar, UserDailySummary, WellnessChronology, } from './types';
2
2
  export { ActivityTypeKey, EventTypeKey, PrivacyTypeKey, StressQualifier, BodyBatteryLevel, TrainingStatus, FitnessTrend, AcwrStatus, TrainingStatusFeedbackPhrase, AcwrStatusFeedback, BodyBatteryFeedbackType, BodyBatteryShortFeedback, BodyBatteryEventType, HrvStatus, Sport, SubSport, ChangeState, TrainingMethod, ActivitySchema, ActivityTypeSchema, EventTypeSchema, PrivacySchema, GolfSummaryHoleSchema, GolfActivitiesPageSchema, GolfCourseSnapshotListItemSchema, GolfCourseSnapshotSchema, GolfCourseSnapshotsListSchema, GolfCourseSnapshotsPageSchema, GolfCourseSummarySchema, GolfHandicapTypeSchema, GolfCourseTeeSchema, GolfDrivingRangeActivitySchema, GolfScorecardHoleEntrySchema, GolfScorecardDetailSchema, GolfScorecardDetailsResponseSchema, GolfScorecardActivitySchema, StepsSchema, FloorsSchema, MovementSchema, CaloriesSchema, HeartRateSchema, IntensityMinutesSchema, StressSchema, BodyBatteryDynamicFeedbackEventSchema, BodyBatteryActivityEventSchema, BodyBatterySchema, HydrationSchema, RespirationSchema, PulseOxSchema, WellnessChronologySchema, UserDailySummarySchema, AcuteTrainingLoadDTOSchema, TrainingStatusDataSchema, RecordedDeviceSchema, TrainingStatusDailyScalarSchema, TrainingStatusWeeklyScalarSchema, HeartRateZoneScalarSchema, } from './types';
3
- export { AuthenticationError, AuthenticationContextError, ClientError, CsrfTokenError, GarminConnectError, HttpError, InvalidCredentialsError, MfaCodeError, MfaCodeInvalidError, MfaError, MfaRequiredError, NotAuthenticatedError, NotImplementedError, OAuthError, OAuthIdentityError, OAuthTokenError, } from './errors';
3
+ export { AuthenticationError, ClientError, CsrfTokenError, GarminConnectError, HttpError, InvalidCredentialsError, MfaCodeError, MfaCodeInvalidError, MfaError, MfaRequiredError, NotAuthenticatedError, NotImplementedError, OAuthError, OAuthIdentityError, OAuthTokenError, } from './errors';
4
4
  export * from './sleep';
5
- import { AuthContext } from './auth-context';
6
5
  import type { GarminConnectClient, GarminConnectClientConfig, PersistedSession } from './types';
7
- export declare function createAuthContext(config: GarminConnectClientConfig): Promise<AuthContext>;
8
- export declare function create(context: AuthContext, mfaCode?: string): Promise<GarminConnectClient>;
9
- export declare function createFromSession(session: PersistedSession): GarminConnectClient;
10
- export { AuthContext, MfaMethod, parseMfaMethod } from './auth-context';
11
- export type { AuthenticationParameters } from './authentication-service';
6
+ export interface LoginSuccess {
7
+ readonly mfaRequired: false;
8
+ readonly client: GarminConnectClient;
9
+ }
10
+ export interface MfaPending {
11
+ readonly mfaRequired: true;
12
+ readonly cookies: string;
13
+ }
14
+ export type LoginResult = LoginSuccess | MfaPending;
15
+ export declare function login(config: GarminConnectClientConfig): Promise<LoginResult>;
16
+ export declare function login(pending: MfaPending, mfaCode: string): Promise<GarminConnectClient>;
17
+ export declare function fromSession(session: PersistedSession): GarminConnectClient;
12
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,wBAAwB,EACxB,+BAA+B,EAC/B,QAAQ,EACR,SAAS,EACT,MAAM,EACN,eAAe,EACf,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,4BAA4B,EAC5B,+BAA+B,EAC/B,qBAAqB,EACrB,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EAChB,SAAS,EACT,mBAAmB,EACnB,SAAS,EACT,gBAAgB,EAChB,QAAQ,EACR,OAAO,EACP,OAAO,EACP,cAAc,EACd,WAAW,EACX,KAAK,EACL,MAAM,EACN,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,eAAe,EACf,YAAY,EACZ,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,UAAU,EACV,4BAA4B,EAC5B,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,SAAS,EACT,KAAK,EACL,QAAQ,EACR,WAAW,EACX,cAAc,EAEd,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EACxB,gCAAgC,EAChC,wBAAwB,EACxB,6BAA6B,EAC7B,6BAA6B,EAC7B,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,8BAA8B,EAC9B,4BAA4B,EAC5B,yBAAyB,EACzB,kCAAkC,EAClC,2BAA2B,EAC3B,WAAW,EACX,YAAY,EACZ,cAAc,EACd,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,YAAY,EACZ,qCAAqC,EACrC,8BAA8B,EAC9B,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,oBAAoB,EACpB,+BAA+B,EAC/B,gCAAgC,EAChC,yBAAyB,GAC1B,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,QAAQ,EACR,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,UAAU,EACV,kBAAkB,EAClB,eAAe,GAChB,MAAM,UAAU,CAAC;AAGlB,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAchG,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,WAAW,CAAC,CAQ/F;AAQD,wBAAsB,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAGjG;AAID,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,mBAAmB,CAEhF;AAED,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAExE,YAAY,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -15,10 +15,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.WellnessChronologySchema = exports.PulseOxSchema = exports.RespirationSchema = exports.HydrationSchema = exports.BodyBatterySchema = exports.BodyBatteryActivityEventSchema = exports.BodyBatteryDynamicFeedbackEventSchema = exports.StressSchema = exports.IntensityMinutesSchema = exports.HeartRateSchema = exports.CaloriesSchema = exports.MovementSchema = exports.FloorsSchema = exports.StepsSchema = exports.GolfScorecardActivitySchema = exports.GolfScorecardDetailsResponseSchema = exports.GolfScorecardDetailSchema = exports.GolfScorecardHoleEntrySchema = exports.GolfDrivingRangeActivitySchema = exports.GolfCourseTeeSchema = exports.GolfHandicapTypeSchema = exports.GolfCourseSummarySchema = exports.GolfCourseSnapshotsPageSchema = exports.GolfCourseSnapshotsListSchema = exports.GolfCourseSnapshotSchema = exports.GolfCourseSnapshotListItemSchema = exports.GolfActivitiesPageSchema = exports.GolfSummaryHoleSchema = exports.PrivacySchema = exports.EventTypeSchema = exports.ActivityTypeSchema = exports.ActivitySchema = exports.TrainingMethod = exports.ChangeState = exports.SubSport = exports.Sport = exports.HrvStatus = exports.BodyBatteryEventType = exports.BodyBatteryShortFeedback = exports.BodyBatteryFeedbackType = exports.AcwrStatusFeedback = exports.TrainingStatusFeedbackPhrase = exports.AcwrStatus = exports.FitnessTrend = exports.TrainingStatus = exports.BodyBatteryLevel = exports.StressQualifier = exports.PrivacyTypeKey = exports.EventTypeKey = exports.ActivityTypeKey = void 0;
18
- exports.parseMfaMethod = exports.MfaMethod = exports.AuthContext = exports.OAuthTokenError = exports.OAuthIdentityError = exports.OAuthError = exports.NotImplementedError = exports.NotAuthenticatedError = exports.MfaRequiredError = exports.MfaError = exports.MfaCodeInvalidError = exports.MfaCodeError = exports.InvalidCredentialsError = exports.HttpError = exports.GarminConnectError = exports.CsrfTokenError = exports.ClientError = exports.AuthenticationContextError = exports.AuthenticationError = exports.HeartRateZoneScalarSchema = exports.TrainingStatusWeeklyScalarSchema = exports.TrainingStatusDailyScalarSchema = exports.RecordedDeviceSchema = exports.TrainingStatusDataSchema = exports.AcuteTrainingLoadDTOSchema = exports.UserDailySummarySchema = void 0;
19
- exports.createAuthContext = createAuthContext;
20
- exports.create = create;
21
- exports.createFromSession = createFromSession;
18
+ exports.OAuthTokenError = exports.OAuthIdentityError = exports.OAuthError = exports.NotImplementedError = exports.NotAuthenticatedError = exports.MfaRequiredError = exports.MfaError = exports.MfaCodeInvalidError = exports.MfaCodeError = exports.InvalidCredentialsError = exports.HttpError = exports.GarminConnectError = exports.CsrfTokenError = exports.ClientError = exports.AuthenticationError = exports.HeartRateZoneScalarSchema = exports.TrainingStatusWeeklyScalarSchema = exports.TrainingStatusDailyScalarSchema = exports.RecordedDeviceSchema = exports.TrainingStatusDataSchema = exports.AcuteTrainingLoadDTOSchema = exports.UserDailySummarySchema = void 0;
19
+ exports.login = login;
20
+ exports.fromSession = fromSession;
22
21
  var types_1 = require("./types");
23
22
  Object.defineProperty(exports, "ActivityTypeKey", { enumerable: true, get: function () { return types_1.ActivityTypeKey; } });
24
23
  Object.defineProperty(exports, "EventTypeKey", { enumerable: true, get: function () { return types_1.EventTypeKey; } });
@@ -81,7 +80,6 @@ Object.defineProperty(exports, "HeartRateZoneScalarSchema", { enumerable: true,
81
80
  // Export all custom exceptions
82
81
  var errors_1 = require("./errors");
83
82
  Object.defineProperty(exports, "AuthenticationError", { enumerable: true, get: function () { return errors_1.AuthenticationError; } });
84
- Object.defineProperty(exports, "AuthenticationContextError", { enumerable: true, get: function () { return errors_1.AuthenticationContextError; } });
85
83
  Object.defineProperty(exports, "ClientError", { enumerable: true, get: function () { return errors_1.ClientError; } });
86
84
  Object.defineProperty(exports, "CsrfTokenError", { enumerable: true, get: function () { return errors_1.CsrfTokenError; } });
87
85
  Object.defineProperty(exports, "GarminConnectError", { enumerable: true, get: function () { return errors_1.GarminConnectError; } });
@@ -98,46 +96,28 @@ Object.defineProperty(exports, "OAuthIdentityError", { enumerable: true, get: fu
98
96
  Object.defineProperty(exports, "OAuthTokenError", { enumerable: true, get: function () { return errors_1.OAuthTokenError; } });
99
97
  // Sleep service
100
98
  __exportStar(require("./sleep"), exports);
101
- const auth_context_1 = require("./auth-context");
102
99
  const authentication_service_1 = require("./authentication-service");
103
100
  const client_1 = require("./client");
104
101
  const urls_1 = require("./urls");
105
- // Creates an authentication context by starting the login process
106
- // Returns Promise resolving to an AuthContext with mfaRequired flag
107
- //
108
- // Example:
109
- // const authContext = await createAuthContext({ username, password });
110
- // if (authContext.mfaRequired) {
111
- // const mfaCode = await getUserMfaCode();
112
- // const client = await create(authContext, mfaCode);
113
- // } else {
114
- // const client = await create(authContext);
115
- // }
116
- async function createAuthContext(config) {
117
- const urls = new urls_1.GarminUrls();
118
- const result = await authentication_service_1.AuthenticationService.startAuthentication(urls, config.username, config.password);
119
- // Authentication succeeded - no MFA required, or MFA required
120
- return result instanceof authentication_service_1.AuthenticationSuccess
121
- ? new auth_context_1.AuthContext(false, result.cookies, undefined, result.ticket)
122
- : new auth_context_1.AuthContext(true, result.cookies, result.mfaMethod);
102
+ function isMfaPending(value) {
103
+ return 'mfaRequired' in value && value.mfaRequired === true;
123
104
  }
124
- // Creates a new Garmin Connect client using an authentication context
125
- // Returns Promise resolving to an authenticated client instance
126
- //
127
- // Example:
128
- // const authContext = await createAuthContext({ username, password });
129
- // const client = await create(authContext, authContext.mfaRequired ? mfaCode : undefined);
130
- async function create(context, mfaCode) {
105
+ async function login(configOrPending, mfaCode) {
131
106
  const urls = new urls_1.GarminUrls();
132
- return client_1.GarminConnectClientImpl.create(context, urls, mfaCode);
107
+ if (isMfaPending(configOrPending)) {
108
+ const httpClient = await authentication_service_1.AuthenticationService.completeAuthentication(urls, configOrPending, mfaCode);
109
+ return client_1.GarminConnectClientImpl.fromHttpClient(httpClient, urls);
110
+ }
111
+ const context = await authentication_service_1.AuthenticationService.startAuthentication(urls, configOrPending.username, configOrPending.password);
112
+ if (context.mfaRequired) {
113
+ return { mfaRequired: true, cookies: context.cookies };
114
+ }
115
+ const httpClient = await authentication_service_1.AuthenticationService.completeAuthentication(urls, context);
116
+ return { mfaRequired: false, client: client_1.GarminConnectClientImpl.fromHttpClient(httpClient, urls) };
133
117
  }
134
- // Creates a client from persisted session data.
135
- // Use client.getSession() to obtain session data after authenticating
136
- function createFromSession(session) {
118
+ // Restores a client from a previously-persisted session (no network calls).
119
+ // Use `client.getSession()` to obtain the session after authenticating.
120
+ function fromSession(session) {
137
121
  return client_1.GarminConnectClientImpl.fromSession(session);
138
122
  }
139
- var auth_context_2 = require("./auth-context");
140
- Object.defineProperty(exports, "AuthContext", { enumerable: true, get: function () { return auth_context_2.AuthContext; } });
141
- Object.defineProperty(exports, "MfaMethod", { enumerable: true, get: function () { return auth_context_2.MfaMethod; } });
142
- Object.defineProperty(exports, "parseMfaMethod", { enumerable: true, get: function () { return auth_context_2.parseMfaMethod; } });
143
123
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,5 @@
1
- import OAuth from 'oauth-1.0a';
2
- import type { OAuth1AppIdentity, OAuth2Token } from './types';
3
- export declare const USER_AGENT_CONNECTMOBILE = "com.garmin.android.apps.connectmobile";
4
- export declare const USER_AGENT_MOBILE_IOS = "Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148";
5
- export declare const OAUTH_CONSUMER_KEY = "fc3e99d2-118c-44b8-8ae3-03370dde24c0";
6
- export declare const OAUTH_CONSUMER_SECRET = "E08WAR897WEy2knn7aFBrvegVAf0AFdWBBF";
7
- export declare function getAppOauthIdentity(): OAuth1AppIdentity;
8
- export declare function createOauthClient(appIdentity: OAuth1AppIdentity): OAuth;
1
+ import type { OAuth2Token } from './types';
2
+ export declare const DI_CLIENT_IDS: readonly ["GARMIN_CONNECT_MOBILE_ANDROID_DI_2025Q2", "GARMIN_CONNECT_MOBILE_ANDROID_DI_2024Q4", "GARMIN_CONNECT_MOBILE_ANDROID_DI", "GARMIN_CONNECT_MOBILE_IOS_DI"];
3
+ export declare const DI_GRANT_TYPE = "https://connectapi.garmin.com/di-oauth2-service/oauth/grant/service_ticket";
9
4
  export declare function setOauth2TokenExpiresAt(token: OAuth2Token): OAuth2Token;
10
5
  //# sourceMappingURL=oauth-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-utils.d.ts","sourceRoot":"","sources":["../src/oauth-utils.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG9D,eAAO,MAAM,wBAAwB,0CAA0C,CAAC;AAGhF,eAAO,MAAM,qBAAqB,kHAC+E,CAAC;AAIlH,eAAO,MAAM,kBAAkB,yCAAyC,CAAC;AACzE,eAAO,MAAM,qBAAqB,wCAAwC,CAAC;AAG3E,wBAAgB,mBAAmB,IAAI,iBAAiB,CAKvD;AAGD,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,iBAAiB,GAAG,KAAK,CAQvE;AAMD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAUvE"}
1
+ {"version":3,"file":"oauth-utils.d.ts","sourceRoot":"","sources":["../src/oauth-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAK3C,eAAO,MAAM,aAAa,qKAKhB,CAAC;AAGX,eAAO,MAAM,aAAa,+EAA+E,CAAC;AAM1G,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAUvE"}
@@ -1,47 +1,23 @@
1
1
  "use strict";
2
2
  // Shared OAuth utilities for Garmin Connect authentication
3
- //
4
- // Contains OAuth constants, user agents, and helper functions used
5
- // across authentication-service.ts and http-client.ts
6
- var __importDefault = (this && this.__importDefault) || function (mod) {
7
- return (mod && mod.__esModule) ? mod : { "default": mod };
8
- };
9
3
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.OAUTH_CONSUMER_SECRET = exports.OAUTH_CONSUMER_KEY = exports.USER_AGENT_MOBILE_IOS = exports.USER_AGENT_CONNECTMOBILE = void 0;
11
- exports.getAppOauthIdentity = getAppOauthIdentity;
12
- exports.createOauthClient = createOauthClient;
4
+ exports.DI_GRANT_TYPE = exports.DI_CLIENT_IDS = void 0;
13
5
  exports.setOauth2TokenExpiresAt = setOauth2TokenExpiresAt;
14
- const node_crypto_1 = __importDefault(require("node:crypto"));
15
- const oauth_1_0a_1 = __importDefault(require("oauth-1.0a"));
16
- // User agent string for Garmin Connect Mobile app
17
- exports.USER_AGENT_CONNECTMOBILE = 'com.garmin.android.apps.connectmobile';
18
- // User agent string for iOS mobile browser
19
- exports.USER_AGENT_MOBILE_IOS = 'Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148';
20
- // OAuth 1.0 consumer credentials
21
- // These are public values used for authentication and can be safely included in client applications
22
- exports.OAUTH_CONSUMER_KEY = 'fc3e99d2-118c-44b8-8ae3-03370dde24c0';
23
- exports.OAUTH_CONSUMER_SECRET = 'E08WAR897WEy2knn7aFBrvegVAf0AFdWBBF';
24
- // Helper function to create OAuth app identity
25
- function getAppOauthIdentity() {
26
- return {
27
- key: exports.OAUTH_CONSUMER_KEY,
28
- secret: exports.OAUTH_CONSUMER_SECRET,
29
- };
30
- }
31
- // Creates an OAuth 1.0a client instance with HMAC-SHA1 signature method
32
- function createOauthClient(appIdentity) {
33
- return new oauth_1_0a_1.default({
34
- consumer: appIdentity,
35
- signature_method: 'HMAC-SHA1',
36
- hash_function(base_string, key) {
37
- return node_crypto_1.default.createHmac('sha1', key).update(base_string).digest('base64');
38
- },
39
- });
40
- }
41
- // Adds expiration timestamps to an OAuth 2.0 token
6
+ // Device-identity client IDs tried in rotation order for the diauth.garmin.com
7
+ // token exchange. Garmin mobile apps cycle through quarterly-rotated IDs; if
8
+ // one is rejected we try the next until one succeeds.
9
+ exports.DI_CLIENT_IDS = [
10
+ 'GARMIN_CONNECT_MOBILE_ANDROID_DI_2025Q2',
11
+ 'GARMIN_CONNECT_MOBILE_ANDROID_DI_2024Q4',
12
+ 'GARMIN_CONNECT_MOBILE_ANDROID_DI',
13
+ 'GARMIN_CONNECT_MOBILE_IOS_DI',
14
+ ];
15
+ // OAuth2 grant type for exchanging a CAS service ticket via the device-identity endpoint.
16
+ exports.DI_GRANT_TYPE = 'https://connectapi.garmin.com/di-oauth2-service/oauth/grant/service_ticket';
17
+ // Adds expiration timestamps to an OAuth2 token.
42
18
  //
43
19
  // Converts relative expiration times (expires_in in seconds) to absolute
44
- // timestamps for easier expiration checking
20
+ // timestamps for easier expiration checking.
45
21
  function setOauth2TokenExpiresAt(token) {
46
22
  const now = Math.floor(Date.now() / 1000);
47
23
  const expiresAt = now + token.expires_in;
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-utils.js","sourceRoot":"","sources":["../src/oauth-utils.ts"],"names":[],"mappings":";AAAA,2DAA2D;AAC3D,EAAE;AACF,mEAAmE;AACnE,sDAAsD;;;;;;AAqBtD,kDAKC;AAGD,8CAQC;AAMD,0DAUC;AAnDD,8DAAiC;AAEjC,4DAA+B;AAI/B,kDAAkD;AACrC,QAAA,wBAAwB,GAAG,uCAAuC,CAAC;AAEhF,2CAA2C;AAC9B,QAAA,qBAAqB,GAChC,+GAA+G,CAAC;AAElH,iCAAiC;AACjC,oGAAoG;AACvF,QAAA,kBAAkB,GAAG,sCAAsC,CAAC;AAC5D,QAAA,qBAAqB,GAAG,qCAAqC,CAAC;AAE3E,+CAA+C;AAC/C,SAAgB,mBAAmB;IACjC,OAAO;QACL,GAAG,EAAE,0BAAkB;QACvB,MAAM,EAAE,6BAAqB;KAC9B,CAAC;AACJ,CAAC;AAED,wEAAwE;AACxE,SAAgB,iBAAiB,CAAC,WAA8B;IAC9D,OAAO,IAAI,oBAAK,CAAC;QACf,QAAQ,EAAE,WAAW;QACrB,gBAAgB,EAAE,WAAW;QAC7B,aAAa,CAAC,WAAmB,EAAE,GAAW;YAC5C,OAAO,qBAAM,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7E,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,mDAAmD;AACnD,EAAE;AACF,yEAAyE;AACzE,4CAA4C;AAC5C,SAAgB,uBAAuB,CAAC,KAAkB;IACxD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;IACzC,MAAM,gBAAgB,GAAG,GAAG,GAAG,KAAK,CAAC,wBAAwB,CAAC;IAE9D,KAAK,CAAC,gBAAgB,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClD,KAAK,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9D,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;IAC7B,KAAK,CAAC,wBAAwB,GAAG,gBAAgB,CAAC;IAClD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"oauth-utils.js","sourceRoot":"","sources":["../src/oauth-utils.ts"],"names":[],"mappings":";AAAA,2DAA2D;;;AAqB3D,0DAUC;AA3BD,+EAA+E;AAC/E,6EAA6E;AAC7E,sDAAsD;AACzC,QAAA,aAAa,GAAG;IAC3B,yCAAyC;IACzC,yCAAyC;IACzC,kCAAkC;IAClC,8BAA8B;CACtB,CAAC;AAEX,0FAA0F;AAC7E,QAAA,aAAa,GAAG,4EAA4E,CAAC;AAE1G,iDAAiD;AACjD,EAAE;AACF,yEAAyE;AACzE,6CAA6C;AAC7C,SAAgB,uBAAuB,CAAC,KAAkB;IACxD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;IACzC,MAAM,gBAAgB,GAAG,GAAG,GAAG,KAAK,CAAC,wBAAwB,CAAC;IAE9D,KAAK,CAAC,gBAAgB,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClD,KAAK,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9D,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;IAC7B,KAAK,CAAC,wBAAwB,GAAG,gBAAgB,CAAC;IAClD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { type OAuth2Token } from './types';
2
+ import type { GarminUrls } from './urls';
3
+ export interface DiTokenResult {
4
+ oauth2Token: OAuth2Token;
5
+ diClientId: string;
6
+ }
7
+ export declare function exchangeDiToken(urls: GarminUrls, ticket: string): Promise<DiTokenResult>;
8
+ export declare function refreshDiToken(urls: GarminUrls, refreshToken: string, diClientId: string): Promise<OAuth2Token>;
9
+ //# sourceMappingURL=oauth2-exchanger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth2-exchanger.d.ts","sourceRoot":"","sources":["../src/oauth2-exchanger.ts"],"names":[],"mappings":"AAYA,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzC,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,wBAAsB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAyB9F;AAGD,wBAAsB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAUrH"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ // Exchanges a Garmin CAS service ticket for an OAuth2 bearer token via the
3
+ // device-identity endpoint (diauth.garmin.com), and provides token refresh.
4
+ //
5
+ // Device-identity client IDs are tried in rotation order; the first that
6
+ // succeeds is stored so refresh can reuse it.
7
+ //
8
+ // See docs/authentication.md for the full protocol.
9
+ var __importDefault = (this && this.__importDefault) || function (mod) {
10
+ return (mod && mod.__esModule) ? mod : { "default": mod };
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.exchangeDiToken = exchangeDiToken;
14
+ exports.refreshDiToken = refreshDiToken;
15
+ const axios_1 = __importDefault(require("axios"));
16
+ const errors_1 = require("./errors");
17
+ const oauth_utils_1 = require("./oauth-utils");
18
+ const types_1 = require("./types");
19
+ // Exchanges a CAS service ticket for an OAuth2 token via the device-identity endpoint.
20
+ // Tries each device-identity client ID in turn; the first success wins.
21
+ async function exchangeDiToken(urls, ticket) {
22
+ const serviceUrl = `${urls.SSO_BASE}/embed`;
23
+ const errors = [];
24
+ for (const clientId of oauth_utils_1.DI_CLIENT_IDS) {
25
+ try {
26
+ const oauth2Token = await postDiGrant(urls, {
27
+ grant_type: oauth_utils_1.DI_GRANT_TYPE,
28
+ service_ticket: ticket,
29
+ service_url: serviceUrl,
30
+ client_id: clientId,
31
+ }, clientId);
32
+ return { oauth2Token, diClientId: clientId };
33
+ }
34
+ catch (error) {
35
+ errors.push(error instanceof Error ? error : new Error(String(error)));
36
+ }
37
+ }
38
+ throw new errors_1.OAuthError(`Device-identity token exchange failed with all client IDs:\n${errors.map(error => error.message).join('\n')}`);
39
+ }
40
+ // Refreshes an OAuth2 token via the device-identity endpoint using the stored client ID.
41
+ async function refreshDiToken(urls, refreshToken, diClientId) {
42
+ return postDiGrant(urls, {
43
+ grant_type: 'refresh_token',
44
+ refresh_token: refreshToken,
45
+ client_id: diClientId,
46
+ }, diClientId);
47
+ }
48
+ async function postDiGrant(urls, parameters, clientId) {
49
+ const authorization = `Basic ${Buffer.from(`${clientId}:`).toString('base64')}`;
50
+ const response = await axios_1.default.post(urls.DIAUTH_TOKEN_URL(), new URLSearchParams(parameters).toString(), {
51
+ headers: {
52
+ Authorization: authorization,
53
+ 'Content-Type': 'application/x-www-form-urlencoded',
54
+ },
55
+ });
56
+ return (0, oauth_utils_1.setOauth2TokenExpiresAt)(types_1.OAuth2TokenSchema.parse(response.data));
57
+ }
58
+ //# sourceMappingURL=oauth2-exchanger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth2-exchanger.js","sourceRoot":"","sources":["../src/oauth2-exchanger.ts"],"names":[],"mappings":";AAAA,2EAA2E;AAC3E,4EAA4E;AAC5E,EAAE;AACF,yEAAyE;AACzE,8CAA8C;AAC9C,EAAE;AACF,oDAAoD;;;;;AAgBpD,0CAyBC;AAGD,wCAUC;AApDD,kDAA0B;AAE1B,qCAAsC;AACtC,+CAAsF;AACtF,mCAA8D;AAQ9D,uFAAuF;AACvF,wEAAwE;AACjE,KAAK,UAAU,eAAe,CAAC,IAAgB,EAAE,MAAc;IACpE,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,QAAQ,QAAQ,CAAC;IAC5C,MAAM,MAAM,GAAY,EAAE,CAAC;IAE3B,KAAK,MAAM,QAAQ,IAAI,2BAAa,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,WAAW,CACnC,IAAI,EACJ;gBACE,UAAU,EAAE,2BAAa;gBACzB,cAAc,EAAE,MAAM;gBACtB,WAAW,EAAE,UAAU;gBACvB,SAAS,EAAE,QAAQ;aACpB,EACD,QAAQ,CACT,CAAC;YACF,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,MAAM,IAAI,mBAAU,CAClB,+DAA+D,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/G,CAAC;AACJ,CAAC;AAED,yFAAyF;AAClF,KAAK,UAAU,cAAc,CAAC,IAAgB,EAAE,YAAoB,EAAE,UAAkB;IAC7F,OAAO,WAAW,CAChB,IAAI,EACJ;QACE,UAAU,EAAE,eAAe;QAC3B,aAAa,EAAE,YAAY;QAC3B,SAAS,EAAE,UAAU;KACtB,EACD,UAAU,CACX,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,IAAgB,EAChB,UAAkC,EAClC,QAAgB;IAEhB,MAAM,aAAa,GAAG,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IAChF,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,EAAE;QACrG,OAAO,EAAE;YACP,aAAa,EAAE,aAAa;YAC5B,cAAc,EAAE,mCAAmC;SACpD;KACF,CAAC,CAAC;IACH,OAAO,IAAA,qCAAuB,EAAC,yBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACzE,CAAC"}
package/dist/types.d.ts CHANGED
@@ -4194,6 +4194,7 @@ export declare const UserDailySummarySchema: z.ZodObject<{
4194
4194
  }>>;
4195
4195
  jetLag: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNever>>;
4196
4196
  }, "strip", z.ZodTypeAny, {
4197
+ source: string;
4197
4198
  userProfilePk: number;
4198
4199
  calendarDate: string;
4199
4200
  calories: {
@@ -4204,7 +4205,6 @@ export declare const UserDailySummarySchema: z.ZodObject<{
4204
4205
  consumedRemaining: number;
4205
4206
  };
4206
4207
  uuid: string;
4207
- source: string;
4208
4208
  includesWellnessData: boolean;
4209
4209
  includesActivityData: boolean;
4210
4210
  wellnessChronology: {
@@ -4314,6 +4314,7 @@ export declare const UserDailySummarySchema: z.ZodObject<{
4314
4314
  } | undefined;
4315
4315
  jetLag?: Record<string, never> | undefined;
4316
4316
  }, {
4317
+ source: string;
4317
4318
  userProfilePk: number;
4318
4319
  calendarDate: string;
4319
4320
  calories: {
@@ -4324,7 +4325,6 @@ export declare const UserDailySummarySchema: z.ZodObject<{
4324
4325
  consumedRemaining: number;
4325
4326
  };
4326
4327
  uuid: string;
4327
- source: string;
4328
4328
  includesWellnessData: boolean;
4329
4329
  includesActivityData: boolean;
4330
4330
  wellnessChronology: {
@@ -5052,14 +5052,7 @@ export interface GarminConnectClient {
5052
5052
  getGolfScorecardDetail(scorecardId: number, locale?: string): Promise<GolfScorecardDetailWithSnapshot>;
5053
5053
  getGolfRounds(page?: number, perPage?: number, locale?: string): Promise<GolfRoundsPage>;
5054
5054
  getSession(): PersistedSession;
5055
- }
5056
- export interface OAuth1AppIdentity {
5057
- key: string;
5058
- secret: string;
5059
- }
5060
- export interface OAuth1Token {
5061
- oauth_token: string;
5062
- oauth_token_secret: string;
5055
+ onSessionUpdate(callback: (session: PersistedSession) => void | Promise<void>): void;
5063
5056
  }
5064
5057
  export interface OAuth2Token {
5065
5058
  access_token: string;
@@ -5072,13 +5065,32 @@ export interface OAuth2Token {
5072
5065
  last_update_date?: string;
5073
5066
  expires_date?: string;
5074
5067
  }
5068
+ export declare const OAuth2TokenSchema: z.ZodObject<{
5069
+ access_token: z.ZodString;
5070
+ token_type: z.ZodString;
5071
+ expires_in: z.ZodNumber;
5072
+ refresh_token: z.ZodString;
5073
+ refresh_token_expires_in: z.ZodNumber;
5074
+ }, "strip", z.ZodTypeAny, {
5075
+ access_token: string;
5076
+ token_type: string;
5077
+ expires_in: number;
5078
+ refresh_token: string;
5079
+ refresh_token_expires_in: number;
5080
+ }, {
5081
+ access_token: string;
5082
+ token_type: string;
5083
+ expires_in: number;
5084
+ refresh_token: string;
5085
+ refresh_token_expires_in: number;
5086
+ }>;
5075
5087
  /**
5076
5088
  * Serializable session data for persistence.
5077
- * Store this (e.g. in a file or secure storage) and use `createFromSession()` to restore a client.
5089
+ * Store this (e.g. in a file or secure storage) and use `fromSession()` to restore a client.
5078
5090
  */
5079
5091
  export interface PersistedSession {
5080
- cookies: string;
5081
- oauth1Token: OAuth1Token;
5092
+ cookies?: string;
5082
5093
  oauth2Token: OAuth2Token;
5094
+ diClientId: string;
5083
5095
  }
5084
5096
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
package/dist/types.js CHANGED
@@ -2,7 +2,7 @@
2
2
  // Type definitions for Garmin Connect
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.WellnessChronologySchema = exports.PulseOxSchema = exports.RespirationSchema = exports.HydrationSchema = exports.BodyBatterySchema = exports.BodyBatteryActivityEventSchema = exports.BodyBatteryDynamicFeedbackEventSchema = exports.StressSchema = exports.IntensityMinutesSchema = exports.HeartRateSchema = exports.CaloriesSchema = exports.MovementSchema = exports.FloorsSchema = exports.StepsSchema = exports.GolfActivitiesPageSchema = exports.GolfDrivingRangeActivitySchema = exports.GolfScorecardDetailsResponseSchema = exports.GolfScorecardDetailSchema = exports.GolfScorecardActivitySchema = exports.GolfScorecardHoleEntrySchema = exports.GolfSummaryHoleSchema = exports.GolfCourseSummarySchema = exports.GolfCourseSnapshotsListSchema = exports.GolfCourseSnapshotSchema = exports.GolfCourseTeeSchema = exports.GolfHandicapTypeSchema = exports.GolfCourseSnapshotsPageSchema = exports.GolfCourseSnapshotListItemSchema = exports.ActivitySchema = exports.PrivacySchema = exports.EventTypeSchema = exports.ActivityTypeSchema = exports.TrainingMethod = exports.ChangeState = exports.SubSport = exports.Sport = exports.HrvStatus = exports.BodyBatteryEventType = exports.BodyBatteryShortFeedback = exports.BodyBatteryFeedbackType = exports.AcwrStatusFeedback = exports.TrainingStatusFeedbackPhrase = exports.AcwrStatus = exports.FitnessTrend = exports.TrainingStatus = exports.BodyBatteryLevel = exports.StressQualifier = exports.PrivacyTypeKey = exports.EventTypeKey = exports.ActivityTypeKey = void 0;
5
- exports.HeartRateZoneScalarSchema = exports.TrainingStatusWeeklyScalarSchema = exports.TrainingStatusDailyScalarSchema = exports.RecordedDeviceSchema = exports.TrainingStatusDataSchema = exports.AcuteTrainingLoadDTOSchema = exports.UserDailySummarySchema = void 0;
5
+ exports.OAuth2TokenSchema = exports.HeartRateZoneScalarSchema = exports.TrainingStatusWeeklyScalarSchema = exports.TrainingStatusDailyScalarSchema = exports.RecordedDeviceSchema = exports.TrainingStatusDataSchema = exports.AcuteTrainingLoadDTOSchema = exports.UserDailySummarySchema = void 0;
6
6
  const zod_1 = require("zod");
7
7
  // ============================================================================
8
8
  // Enums
@@ -805,4 +805,11 @@ exports.HeartRateZoneScalarSchema = zod_1.z.object({
805
805
  sport: zod_1.z.nativeEnum(Sport),
806
806
  changeState: zod_1.z.nativeEnum(ChangeState),
807
807
  });
808
+ exports.OAuth2TokenSchema = zod_1.z.object({
809
+ access_token: zod_1.z.string(),
810
+ token_type: zod_1.z.string(),
811
+ expires_in: zod_1.z.number(),
812
+ refresh_token: zod_1.z.string(),
813
+ refresh_token_expires_in: zod_1.z.number(),
814
+ });
808
815
  //# sourceMappingURL=types.js.map