mimi-seed 0.15.5 → 0.16.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.
@@ -519,6 +519,48 @@ var CREDENTIALS = [
519
519
  docsAnchor: "threads",
520
520
  detect: (home, startDir) => detectProjectSocialToken(home, startDir, "threads")
521
521
  },
522
+ {
523
+ id: "tiktok",
524
+ label: {
525
+ ko: "TikTok Business",
526
+ en: "TikTok Business"
527
+ },
528
+ requirement: "optional",
529
+ group: "marketing",
530
+ file: "~/.mimi-seed/tiktok-business.json",
531
+ fix: "mimi-seed auth tiktok",
532
+ setup: { kind: "mcp-bin", bin: "mimi-seed-tiktok-business-auth" },
533
+ obtain: {
534
+ ko: [
535
+ "TikTok for Business Developer \uC571\uC744 \uB9CC\uB4E4\uACE0 Organic API \uC811\uADFC \uC2B9\uC778\uC744 \uBC1B\uB294\uB2E4.",
536
+ "TikTok Accounts > Business Content > Video Publish \uAD8C\uD55C\uACFC account holder redirect URL\uC744 \uC124\uC815\uD55C\uB2E4.",
537
+ "owned Business Account\uB97C \uC2B9\uC778\uD55C callback URL\uC758 auth_code\uB97C \uC5F0\uACB0 \uB9C8\uBC95\uC0AC\uC5D0 \uC785\uB825\uD55C\uB2E4."
538
+ ],
539
+ en: [
540
+ "Create a TikTok for Business developer app and obtain Organic API approval.",
541
+ "Enable TikTok Accounts > Business Content > Video Publish and configure the account-holder redirect URL.",
542
+ "Authorize the owned Business Account, then paste the callback auth_code into the setup wizard."
543
+ ]
544
+ },
545
+ docsAnchor: "tiktok-business",
546
+ detect: (home) => {
547
+ const cfg = readJson(
548
+ home,
549
+ "tiktok-business.json"
550
+ );
551
+ if (!cfg?.openId || !cfg.refreshTokenExpiresAt) return { present: false };
552
+ const refreshRemaining = Date.parse(cfg.refreshTokenExpiresAt) - Date.now();
553
+ if (!Number.isFinite(refreshRemaining) || refreshRemaining <= 0) {
554
+ return { present: true, detail: cfg.openId, freshness: "expired", daysRemaining: 0 };
555
+ }
556
+ const accessRemaining = cfg.accessTokenExpiresAt ? Date.parse(cfg.accessTokenExpiresAt) - Date.now() : NaN;
557
+ const daysRemaining = Math.max(1, Math.ceil(refreshRemaining / 864e5));
558
+ if (Number.isFinite(accessRemaining) && accessRemaining <= 0) {
559
+ return { present: true, detail: `${cfg.openId} (access token \uC790\uB3D9 \uAC31\uC2E0 \uC608\uC815)`, freshness: "fresh", daysRemaining };
560
+ }
561
+ return { present: true, detail: cfg.openId, freshness: "fresh", daysRemaining };
562
+ }
563
+ },
522
564
  {
523
565
  id: "anthropic",
524
566
  label: {
package/dist/index.js CHANGED
@@ -22,7 +22,7 @@ import {
22
22
  runMcpBin,
23
23
  tryCredById,
24
24
  writeConfig
25
- } from "./chunk-XOELSMVF.js";
25
+ } from "./chunk-OXYELVMI.js";
26
26
  import {
27
27
  catalog,
28
28
  isLang,
@@ -973,6 +973,7 @@ ${kleur5.bold("\uBE4C\uB4DC / \uB9C8\uCF00\uD305:")}
973
973
  ${kleur5.cyan("mimi-seed auth facebook")} Facebook \uD398\uC774\uC9C0
974
974
  ${kleur5.cyan("mimi-seed auth instagram")} Instagram
975
975
  ${kleur5.cyan("mimi-seed auth threads")} Threads
976
+ ${kleur5.cyan("mimi-seed auth tiktok")} TikTok Business Organic API
976
977
  ${kleur5.dim(" Instagram/Threads: --profile <id>\uB85C \uD2B9\uC815 \uC18C\uC15C \uD504\uB85C\uD544 \uC800\uC7A5/\uAC31\uC2E0")}
977
978
 
978
979
  ${kleur5.bold("\uC804\uCCB4 \uC0C1\uD0DC:")}
@@ -1012,6 +1013,7 @@ ${kleur5.bold("Build / marketing:")}
1012
1013
  ${kleur5.cyan("mimi-seed auth facebook")} Facebook Page
1013
1014
  ${kleur5.cyan("mimi-seed auth instagram")} Instagram
1014
1015
  ${kleur5.cyan("mimi-seed auth threads")} Threads
1016
+ ${kleur5.cyan("mimi-seed auth tiktok")} TikTok Business Organic API
1015
1017
  ${kleur5.dim(" Instagram/Threads: use --profile <id> to save or refresh a named social profile")}
1016
1018
 
1017
1019
  ${kleur5.bold("Everything at a glance:")}
@@ -1064,8 +1066,9 @@ async function cmdAuth(args) {
1064
1066
  if (sub === "facebook") return void exitWith(await runMcpBin("mimi-seed-social-auth", ["facebook", ...rest]));
1065
1067
  if (sub === "instagram") return void exitWith(await runMcpBin("mimi-seed-social-auth", ["instagram", ...rest]));
1066
1068
  if (sub === "threads") return void exitWith(await runMcpBin("mimi-seed-social-auth", ["threads", ...rest]));
1069
+ if (sub === "tiktok") return void exitWith(await runMcpBin("mimi-seed-tiktok-business-auth", rest));
1067
1070
  if (sub === "ci") {
1068
- const { cmdSetup: cmdSetup2 } = await import("./setup-MH3XTOBW.js");
1071
+ const { cmdSetup: cmdSetup2 } = await import("./setup-PEHGP5MD.js");
1069
1072
  await cmdSetup2(["--only", "github,gitlab", "--reconnect", "github,gitlab"]);
1070
1073
  return;
1071
1074
  }
@@ -3,7 +3,7 @@ import {
3
3
  cmdSetup,
4
4
  parseSetupArgs,
5
5
  resolveMode
6
- } from "./chunk-XOELSMVF.js";
6
+ } from "./chunk-OXYELVMI.js";
7
7
  import "./chunk-ZGMPOJRY.js";
8
8
  export {
9
9
  cmdSetup,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mimi-seed",
3
- "version": "0.15.5",
3
+ "version": "0.16.0",
4
4
  "description": "Mimi Seed CLI \u2014 Claude Code\uc640 Codex\uc5d0\uc11c \uc571 \ucd9c\uc2dc \uc6b4\uc601\uc744 \uad00\ub9ac\ud569\ub2c8\ub2e4.",
5
5
  "bin": {
6
6
  "mimi-seed": "dist/index.js"