@sitepong/fastnode 0.3.0 → 0.3.2

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 (127) hide show
  1. package/README.md +6 -0
  2. package/dist/actions/index.cjs +81 -0
  3. package/dist/actions/index.cjs.map +1 -1
  4. package/dist/actions/index.mjs +82 -1
  5. package/dist/actions/index.mjs.map +1 -1
  6. package/dist/{apple-session-jUzBrql5.d.cts → apple-session-D6x7Jo3D.d.cts} +1 -1
  7. package/dist/{apple-session-jUzBrql5.d.ts → apple-session-D6x7Jo3D.d.ts} +1 -1
  8. package/dist/cert/index.cjs +92 -51
  9. package/dist/cert/index.cjs.map +1 -1
  10. package/dist/cert/index.d.cts +5 -5
  11. package/dist/cert/index.d.ts +5 -5
  12. package/dist/cert/index.mjs +92 -51
  13. package/dist/cert/index.mjs.map +1 -1
  14. package/dist/{cert-RvXmdMke.d.ts → cert-C-yRB-sO.d.ts} +2 -2
  15. package/dist/{cert-eOoxGMN1.d.cts → cert-C4hhKH1n.d.cts} +2 -2
  16. package/dist/cli/index.cjs +151 -47
  17. package/dist/cli/index.cjs.map +1 -1
  18. package/dist/cli/index.d.cts +3 -3
  19. package/dist/cli/index.d.ts +3 -3
  20. package/dist/cli/index.mjs +152 -48
  21. package/dist/cli/index.mjs.map +1 -1
  22. package/dist/client/index.cjs +77 -0
  23. package/dist/client/index.cjs.map +1 -1
  24. package/dist/client/index.d.cts +3 -3
  25. package/dist/client/index.d.ts +3 -3
  26. package/dist/client/index.mjs +72 -1
  27. package/dist/client/index.mjs.map +1 -1
  28. package/dist/core/index.d.cts +1 -1
  29. package/dist/core/index.d.ts +1 -1
  30. package/dist/deliver/index.d.cts +4 -4
  31. package/dist/deliver/index.d.ts +4 -4
  32. package/dist/{enums-yXNVh3UI.d.cts → enums-BlpayMTx.d.cts} +1 -1
  33. package/dist/{enums-yXNVh3UI.d.ts → enums-BlpayMTx.d.ts} +1 -1
  34. package/dist/frameit/index.d.cts +1 -1
  35. package/dist/frameit/index.d.ts +1 -1
  36. package/dist/gradle/index.d.cts +1 -1
  37. package/dist/gradle/index.d.ts +1 -1
  38. package/dist/gym/index.d.cts +2 -2
  39. package/dist/gym/index.d.ts +2 -2
  40. package/dist/{index-DnHQ2uT2.d.cts → index-258t9n7v.d.cts} +2 -2
  41. package/dist/{index-BvyZ4uiw.d.ts → index-6LKy36sE.d.ts} +4 -4
  42. package/dist/{index-icIH5e5V.d.cts → index-B74vgav6.d.cts} +4 -4
  43. package/dist/{index-BoU8qt8r.d.cts → index-B7ERdhh8.d.cts} +1 -1
  44. package/dist/{index-BoU8qt8r.d.ts → index-B7ERdhh8.d.ts} +1 -1
  45. package/dist/{index-laE3_wm9.d.cts → index-BIRpj0f2.d.cts} +2 -2
  46. package/dist/{index-CBf0-NUQ.d.ts → index-BJLHWMwL.d.ts} +3 -3
  47. package/dist/{index-mEEB7An6.d.ts → index-B_D_01oz.d.ts} +1 -1
  48. package/dist/{index-D1GHEM3c.d.ts → index-Ba1jHQYg.d.ts} +1 -1
  49. package/dist/{index-DGkgRnZp.d.cts → index-BawZaGqD.d.cts} +3 -3
  50. package/dist/{index-8djTPW8O.d.ts → index-BmrOdmNL.d.ts} +2 -2
  51. package/dist/{index-DjC_gmnL.d.ts → index-C8L03MBu.d.ts} +3 -3
  52. package/dist/{index-Cp6cjtd-.d.ts → index-CHLDQweM.d.cts} +1 -1
  53. package/dist/{index-Cp6cjtd-.d.cts → index-CHLDQweM.d.ts} +1 -1
  54. package/dist/{index-B6-MJpO4.d.cts → index-CRFfLsEG.d.cts} +1 -1
  55. package/dist/{index-CAEiXVWd.d.ts → index-CV6KnSy1.d.ts} +2 -2
  56. package/dist/index-CX2hUvvG.d.cts +287 -0
  57. package/dist/index-CX2hUvvG.d.ts +287 -0
  58. package/dist/{index-C9mHBJED.d.ts → index-ClhWjR7a.d.ts} +2 -2
  59. package/dist/{index-BGhV0gS-.d.ts → index-Cq-xo-9x.d.ts} +2 -2
  60. package/dist/{index-CR3BFPIz.d.ts → index-Cw7ojUY5.d.cts} +1 -1
  61. package/dist/{index-CR3BFPIz.d.cts → index-Cw7ojUY5.d.ts} +1 -1
  62. package/dist/{index-C2yG3wXA.d.cts → index-CwD7lG0y.d.cts} +1 -1
  63. package/dist/{index-C2yG3wXA.d.ts → index-CwD7lG0y.d.ts} +1 -1
  64. package/dist/{index-DLJso7Vs.d.cts → index-CxrqhkVF.d.cts} +1 -1
  65. package/dist/{index-BE7bwNff.d.cts → index-D3zyYCYs.d.cts} +2 -2
  66. package/dist/{index-BaNcf7jt.d.cts → index-DCrSWVMb.d.cts} +3 -3
  67. package/dist/{index-rTZOdMRE.d.ts → index-DP2f5ZsS.d.ts} +3 -3
  68. package/dist/{index-DfkIz7i0.d.cts → index-DRjXV9ej.d.cts} +3 -3
  69. package/dist/{index-Dv-Mek07.d.ts → index-DSXBQeur.d.cts} +1 -1
  70. package/dist/{index-Dv-Mek07.d.cts → index-DSXBQeur.d.ts} +1 -1
  71. package/dist/{index-BYonklf3.d.cts → index-Dvi-3DSM.d.cts} +1 -1
  72. package/dist/{index-BYonklf3.d.ts → index-Dvi-3DSM.d.ts} +1 -1
  73. package/dist/{index-C01Rkrir.d.ts → index-Dy8EWOnt.d.ts} +2 -2
  74. package/dist/{index-DrmS802s.d.cts → index-HWWl6HEL.d.cts} +34 -3
  75. package/dist/{index-DWOLZNlz.d.cts → index-QYgreJV3.d.cts} +2 -2
  76. package/dist/{index-lsuS2R1T.d.ts → index-SyCMBpNN.d.ts} +34 -3
  77. package/dist/{index-DFstwgGK.d.cts → index-yro2MWgt.d.cts} +2 -2
  78. package/dist/index.cjs +1543 -964
  79. package/dist/index.cjs.map +1 -1
  80. package/dist/index.d.cts +23 -23
  81. package/dist/index.d.ts +23 -23
  82. package/dist/index.mjs +1544 -965
  83. package/dist/index.mjs.map +1 -1
  84. package/dist/lane/index.cjs +81 -0
  85. package/dist/lane/index.cjs.map +1 -1
  86. package/dist/lane/index.mjs +82 -1
  87. package/dist/lane/index.mjs.map +1 -1
  88. package/dist/match/index.d.cts +6 -6
  89. package/dist/match/index.d.ts +6 -6
  90. package/dist/match/index.mjs +1 -1
  91. package/dist/pem/index.d.cts +4 -4
  92. package/dist/pem/index.d.ts +4 -4
  93. package/dist/pilot/index.d.cts +4 -4
  94. package/dist/pilot/index.d.ts +4 -4
  95. package/dist/playstore/index.cjs +18208 -1
  96. package/dist/playstore/index.cjs.map +1 -1
  97. package/dist/playstore/index.d.cts +1 -1
  98. package/dist/playstore/index.d.ts +1 -1
  99. package/dist/playstore/index.mjs +18196 -2
  100. package/dist/playstore/index.mjs.map +1 -1
  101. package/dist/precheck/index.d.cts +4 -4
  102. package/dist/precheck/index.d.ts +4 -4
  103. package/dist/privacy/index.cjs +32 -22
  104. package/dist/privacy/index.cjs.map +1 -1
  105. package/dist/privacy/index.d.cts +2 -2
  106. package/dist/privacy/index.d.ts +2 -2
  107. package/dist/privacy/index.mjs +32 -22
  108. package/dist/privacy/index.mjs.map +1 -1
  109. package/dist/produce/index.d.cts +4 -4
  110. package/dist/produce/index.d.ts +4 -4
  111. package/dist/review/index.cjs +32 -22
  112. package/dist/review/index.cjs.map +1 -1
  113. package/dist/review/index.d.cts +2 -2
  114. package/dist/review/index.d.ts +2 -2
  115. package/dist/review/index.mjs +32 -22
  116. package/dist/review/index.mjs.map +1 -1
  117. package/dist/sigh/index.d.cts +4 -4
  118. package/dist/sigh/index.d.ts +4 -4
  119. package/dist/snapshot/index.d.cts +1 -1
  120. package/dist/snapshot/index.d.ts +1 -1
  121. package/dist/trainer/index.d.cts +1 -1
  122. package/dist/trainer/index.d.ts +1 -1
  123. package/dist/xcode/index.d.cts +1 -1
  124. package/dist/xcode/index.d.ts +1 -1
  125. package/package.json +2 -2
  126. package/dist/index-CXJlvmB4.d.cts +0 -63
  127. package/dist/index-CXJlvmB4.d.ts +0 -63
@@ -1,7 +1,7 @@
1
1
  import * as x509 from '@peculiar/x509';
2
2
  import { randomUUID, createHash, webcrypto, randomBytes, pbkdf2Sync, createCipheriv, createDecipheriv } from 'crypto';
3
3
  import { spawn, execFile, execFileSync } from 'child_process';
4
- import { existsSync, mkdirSync, writeFileSync, readFileSync, readdirSync, copyFileSync, mkdtempSync, rmSync, chmodSync } from 'fs';
4
+ import { existsSync, mkdirSync, writeFileSync, readFileSync, readdirSync, copyFileSync, chmodSync, unlinkSync, mkdtempSync, rmSync } from 'fs';
5
5
  import { join, extname, resolve, basename, relative } from 'path';
6
6
  import { homedir, tmpdir } from 'os';
7
7
  import { promisify } from 'util';
@@ -6928,6 +6928,79 @@ var init_app_asset_library_placements = __esm({
6928
6928
  };
6929
6929
  }
6930
6930
  });
6931
+ function sessionDir() {
6932
+ return process.env.FASTNODE_SESSION_DIR || join(homedir(), ".fastnode", "sessions");
6933
+ }
6934
+ function fileFor(email) {
6935
+ const key = createHash("sha256").update(email.trim().toLowerCase()).digest("hex").slice(0, 16);
6936
+ return join(sessionDir(), `${key}.json`);
6937
+ }
6938
+ function ensureDir() {
6939
+ const dir = sessionDir();
6940
+ if (!existsSync(dir)) mkdirSync(dir, { recursive: true, mode: 448 });
6941
+ chmodSync(dir, 448);
6942
+ }
6943
+ function saveAppleSession(session) {
6944
+ ensureDir();
6945
+ const stored = { email: session.userEmail, savedAt: (/* @__PURE__ */ new Date()).toISOString(), session };
6946
+ const path = fileFor(session.userEmail);
6947
+ writeFileSync(path, JSON.stringify(stored), { mode: 384 });
6948
+ chmodSync(path, 384);
6949
+ writeFileSync(join(sessionDir(), "last-apple-id"), session.userEmail, { mode: 384 });
6950
+ }
6951
+ function clearAppleSession(email) {
6952
+ const path = fileFor(email);
6953
+ if (existsSync(path)) unlinkSync(path);
6954
+ }
6955
+ function lastAppleId() {
6956
+ try {
6957
+ return readFileSync(join(sessionDir(), "last-apple-id"), "utf8").trim() || null;
6958
+ } catch {
6959
+ return null;
6960
+ }
6961
+ }
6962
+ async function loadAppleSession(email, fetchImpl = fetch) {
6963
+ const path = fileFor(email);
6964
+ if (!existsSync(path)) return null;
6965
+ let stored;
6966
+ try {
6967
+ stored = JSON.parse(readFileSync(path, "utf8"));
6968
+ } catch {
6969
+ return null;
6970
+ }
6971
+ const cookie = Object.entries(stored.session.cookies).map(([k, v]) => `${k}=${v}`).join("; ");
6972
+ try {
6973
+ const res = await fetchImpl(OLYMPUS_SESSION2, { headers: { Cookie: cookie, Accept: "application/json" } });
6974
+ if (!res.ok) {
6975
+ clearAppleSession(email);
6976
+ return null;
6977
+ }
6978
+ } catch {
6979
+ return null;
6980
+ }
6981
+ return stored.session;
6982
+ }
6983
+ async function signInWithAppleId(options) {
6984
+ const email = options.email || lastAppleId() || await options.askEmail();
6985
+ if (!options.fresh) {
6986
+ const saved = await loadAppleSession(email);
6987
+ if (saved) {
6988
+ options.onLog?.(`Using saved Apple ID session for ${email}`);
6989
+ return saved;
6990
+ }
6991
+ }
6992
+ const password = await options.askPassword(email);
6993
+ const session = await loginWithAppleId({ email, password, onLog: options.onLog });
6994
+ saveAppleSession(session);
6995
+ return session;
6996
+ }
6997
+ var OLYMPUS_SESSION2;
6998
+ var init_session_store = __esm({
6999
+ "src/client/session-store.ts"() {
7000
+ init_apple_session();
7001
+ OLYMPUS_SESSION2 = "https://appstoreconnect.apple.com/olympus/v1/session";
7002
+ }
7003
+ });
6931
7004
 
6932
7005
  // src/client/portal.ts
6933
7006
  function pickUniqueKeyName(base, taken) {
@@ -7696,6 +7769,7 @@ var init_iris = __esm({
7696
7769
  session;
7697
7770
  cookieStr;
7698
7771
  buildHeaders() {
7772
+ this.cookieStr = Object.entries(this.session.cookies).map(([k, v]) => `${k}=${v}`).join("; ");
7699
7773
  return {
7700
7774
  Cookie: this.cookieStr,
7701
7775
  Accept: "application/vnd.api+json, application/json, text/plain, */*",
@@ -8006,8 +8080,14 @@ __export(client_exports, {
8006
8080
  TokenManager: () => TokenManager,
8007
8081
  beginLogin: () => beginLogin,
8008
8082
  checkPortalResponse: () => checkPortalResponse,
8083
+ clearAppleSession: () => clearAppleSession,
8084
+ lastAppleId: () => lastAppleId,
8085
+ loadAppleSession: () => loadAppleSession,
8009
8086
  loginWithAppleId: () => loginWithAppleId,
8010
8087
  requestSmsCode: () => requestSmsCode,
8088
+ saveAppleSession: () => saveAppleSession,
8089
+ sessionDir: () => sessionDir,
8090
+ signInWithAppleId: () => signInWithAppleId,
8011
8091
  submitTwoFactorCode: () => submitTwoFactorCode
8012
8092
  });
8013
8093
  var AppStoreConnectClient;
@@ -8055,6 +8135,7 @@ var init_client = __esm({
8055
8135
  init_auth();
8056
8136
  init_request();
8057
8137
  init_apple_session();
8138
+ init_session_store();
8058
8139
  init_portal();
8059
8140
  init_iris();
8060
8141
  AppStoreConnectClient = class {