@bstage-sdk/ai-toolkit 0.8.3 → 0.8.5

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/dist/index.cjs CHANGED
@@ -49,7 +49,7 @@ __export(index_exports, {
49
49
  module.exports = __toCommonJS(index_exports);
50
50
 
51
51
  // src/version.ts
52
- var VERSION = "0.8.3";
52
+ var VERSION = "0.8.5";
53
53
 
54
54
  // src/skills/deploy.ts
55
55
  function deploySkillMd() {
@@ -135,6 +135,8 @@ bstage deploy
135
135
 
136
136
  \uBE4C\uB4DC \uB85C\uADF8\uB294 \`bstage logs\`\uB85C \uBCF8\uB2E4(\uBE4C\uB4DC id \uC0DD\uB7B5 \uC2DC \uCD5C\uADFC \uBE4C\uB4DC, \`-f\`\uB85C \uB05D\uB0A0 \uB54C\uAE4C\uC9C0 \uB530\uB77C\uAC10).
137
137
 
138
+ \uBC30\uD3EC\uB294 \uC131\uACF5\uD588\uB294\uB370 API\uAC00 401\uB85C \uC2E4\uD328\uD558\uAC70\uB098 \uD398\uC774\uC9C0\uAC00 \uAE30\uB300\uC640 \uB2E4\uB974\uBA74(\uC548 \uB738\xB7\uC61B \uD654\uBA74) **\uCD94\uCE21\uC73C\uB85C \uACE0\uCE58\uAE30 \uC804\uC5D0** \`bstage doctor --json\`\uC744 \uC2E4\uD589\uD55C\uB2E4. \`portal.placements[].findings\`\uC758 \`id\`(\uC608: \`appkey.expired\`\xB7\`env.not_rebuilt\`\xB7\`build.update_pending\`)\uB85C \uC6D0\uC778\uC744 \uAC00\uB974\uACE0 \`fix\`\uAC00 \uB9D0\uD558\uB294 \uC870\uCE58\uB97C \uB530\uB978\uB2E4. \`portal.status\`\uAC00 \`skipped\`\uBA74 \`hint\`(\uB85C\uADF8\uC778\xB7\uB9C1\uD06C)\uBD80\uD130, \`unsupported\`\uBA74 \uD3EC\uD138\uC774 \uC544\uC9C1 \uC9C4\uB2E8\uC744 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uAC83\uC774\uB2C8 \uC704 \uD45C\uC640 \uB85C\uADF8\uB85C \uB418\uC9DA\uB294\uB2E4. \uC9C4\uB2E8\uC5D0 error \uD56D\uBAA9\uC774 \uC788\uC73C\uBA74 doctor\uB294 \uC885\uB8CC \uCF54\uB4DC 1\uB85C \uB05D\uB09C\uB2E4.
139
+
138
140
  ## 5. \uB418\uB3CC\uB9AC\uAE30 \xB7 \uAC8C\uC2DC \uB044\uAE30
139
141
 
140
142
  - \`bstage rollback\` \u2014 \uC9C1\uC804 \uC131\uACF5 \uBE4C\uB4DC\uB97C \uB2E4\uC2DC \uB77C\uC774\uBE0C\uB85C \uC801\uC6A9\uD55C\uB2E4. \uD2B9\uC815 \uBE4C\uB4DC\uB85C \uB418\uB3CC\uB9AC\uB824\uBA74 \uBE4C\uB4DC id\uB97C \uC778\uC790\uB85C \uC900\uB2E4(\`bstage list\`\uC5D0\uC11C \uD655\uC778).
@@ -727,7 +729,7 @@ createTemplate(MyWidget, { name: 'my-widget' }) // Custom Element \uD0DC\uADF8\u
727
729
 
728
730
  - **\uD50C\uB7AB\uD3FC \uB124\uBE44\uAC8C\uC774\uC158**: \`useNavigation()\` \u2014 \`navigate\`/\`goBack\`/\`openExternal\`
729
731
  - **\uD50C\uB7AB\uD3FC \uC774\uBCA4\uD2B8**: \`useBstageContext()\`\uC758 \`bridge\`\uB85C \`emit\`(\uD15C\uD50C\uB9BF\u2192\uD50C\uB7AB\uD3FC), \uAD6C\uB3C5\uC740 \`usePlatformEvent()\`(\uD50C\uB7AB\uD3FC\u2192\uD15C\uD50C\uB9BF)
730
- - **API \uD638\uCD9C**: \`shared/client.ts\`\uC758 \`client\` \uC778\uC2A4\uD134\uC2A4\uB97C import\uD574 \uC9C1\uC811 \uD638\uCD9C(\`client.get<T>(...)\`). \`BstageClient\`\uB294 \uC778\uC99D fetch\xB7\uAC8C\uC774\uD2B8\uC6E8\uC774 base URL\uC744 \uC2A4\uC2A4\uB85C \uD574\uC11D\uD558\uBBC0\uB85C \uBCC4\uB3C4 \uBC30\uC120\uC774 \uD544\uC694 \uC5C6\uB2E4. **\uACBD\uB85C\xB7\uC751\uB2F5 \uBAA8\uC591\uC740 SDK\uAC00 \uB4E4\uACE0 \uC788\uC9C0 \uC54A\uB2E4** \u2014 \uAC8C\uC774\uD2B8\uC6E8\uC774 API Reference Doc\uC774 \uCD9C\uCC98\uC774\uACE0, \uC751\uB2F5 \uD0C0\uC785\uC740 \uC81C\uB124\uB9AD\uC73C\uB85C \uBA85\uC2DC\uD55C\uB2E4(\uC0DD\uB7B5\uD558\uBA74 \`unknown\`). **\uC720\uC800\uB2E8 API\uB9CC \uC9C0\uC6D0.** **\uC5B4\uB4DC\uBBFC\uC6A9 API\uB294 \uBBF8\uC9C0\uC6D0 \u2014 \uD544\uC694\uD558\uBA74 \uACBD\uB85C\uB97C \uCD94\uCE21\uD558\uC9C0 \uB9D0\uACE0 \uBC18\uB4DC\uC2DC \uC0AC\uC6A9\uC790\uC5D0\uAC8C \uBA3C\uC800 \uD655\uC778\uD560 \uAC83.**
732
+ - **API \uD638\uCD9C**: \`shared/client.ts\`\uC758 \`client\` \uC778\uC2A4\uD134\uC2A4\uB97C import\uD574 \uC9C1\uC811 \uD638\uCD9C(\`client.get<T>(...)\`). \`BstageClient\`\uB294 \uC778\uC99D fetch\xB7\uAC8C\uC774\uD2B8\uC6E8\uC774 base URL\uC744 \uC2A4\uC2A4\uB85C \uD574\uC11D\uD558\uBBC0\uB85C \uBCC4\uB3C4 \uBC30\uC120\uC774 \uD544\uC694 \uC5C6\uB2E4. **\uACBD\uB85C\xB7\uC751\uB2F5 \uBAA8\uC591\uC740 SDK\uAC00 \uB4E4\uACE0 \uC788\uC9C0 \uC54A\uB2E4** \u2014 \uAC8C\uC774\uD2B8\uC6E8\uC774 API Reference Doc\uC774 \uCD9C\uCC98\uC774\uACE0, \uC751\uB2F5 \uD0C0\uC785\uC740 \uC81C\uB124\uB9AD\uC73C\uB85C \uBA85\uC2DC\uD55C\uB2E4(\uC0DD\uB7B5\uD558\uBA74 \`unknown\`). **\uC5B4\uB4DC\uBBFC \uD15C\uD50C\uB9BF\uB3C4 \uAC19\uC740 \uD074\uB77C\uC774\uC5B8\uD2B8** \u2014 \uC5B4\uB4DC\uBBFC \uB3C4\uBA54\uC778\uC5D0\uC11C\uB294 \uC5B4\uB4DC\uBBFC \uAC8C\uC774\uD2B8\uC6E8\uC774\uB97C \uBD80\uB974\uBA70 MANAGEMENT \uD0A4(\`bsm_\`) + \uC5B4\uB4DC\uBBFC \uB85C\uADF8\uC778 \uC138\uC158\uC774 \uD544\uC694\uD558\uB2E4(PUBLIC \uD0A4\uB294 \`KEY_TYPE_NOT_ALLOWED\`, \uC0C1\uC138\uB294 GETTING_STARTED.md \xA78 "API \uD638\uCD9C"). **\uBAA9\uB85D\uC5D0 \uC5C6\uB294 API\uB294 \uACBD\uB85C\uB97C \uCD94\uCE21\uD558\uC9C0 \uB9D0\uACE0 \uBC18\uB4DC\uC2DC \uC0AC\uC6A9\uC790\uC5D0\uAC8C \uBA3C\uC800 \uD655\uC778\uD560 \uAC83.**
731
733
  - **\uC2AC\uB86F context**: \`useSlotContext<Id>()\` \u2014 \uD638\uC2A4\uD2B8\uAC00 \uB9C8\uC6B4\uD2B8 \uC2DC 1\uD68C \uC804\uB2EC\uD558\uB294 read-only \uAC12
732
734
  - **\uB2E4\uAD6D\uC5B4**: \uB85C\uCF00\uC77C \uD6C5(\`useLocale\`/\`useMessages\`/\`useBstageTranslations\`)\uC740 **\uBC18\uB4DC\uC2DC \`<BstageLocaleProvider>\` \uD558\uC704\uC5D0\uC11C** \uD638\uCD9C\uD55C\uB2E4(\uBC16\uC774\uBA74 throw). \uC720\uC800 \uD15C\uD50C\uB9BF\uC740 \`<BstageLocaleProvider>\`(target \uC0DD\uB7B5), \uC5B4\uB4DC\uBBFC\uC740 \`<BstageLocaleProvider target="admin">\`. \uC790\uCCB4 \uBB38\uAD6C\uB294 \`useMessages\`(\uC900\uBE44 \uBD88\uD544\uC694). \uD50C\uB7AB\uD3FC \uACF5\uC6A9 \uBB38\uAD6C\uB97C \uC4F0\uB824\uBA74 **\uBA3C\uC800 \`bstage i18n pull\`\uC744 \uC2E4\uD589**\uD574 \uBC88\uC5ED \uD0A4\xB7\uD0C0\uC785\xB7\uB85C\uCEEC \uCE90\uC2DC(\`.bstage/i18n\`)\uB97C \uB9CC\uB4E0 \uB4A4 \`useBstageTranslations\`\uB97C \uC4F4\uB2E4 \u2014 \uC548 \uD558\uBA74 \uB85C\uCEEC dev\uC5D0\uC11C \uBC88\uC5ED\uC774 \uC548 \uB728\uACE0 \uD0A4\uB3C4 \uC54C \uC218 \uC5C6\uB2E4. **\uC720\uC800 \uC2AC\uB86F \uD15C\uD50C\uB9BF\uC740 \`--target user\`(\uAE30\uBCF8, Bxxxxx), \uC5B4\uB4DC\uBBFC \uC2AC\uB86F \uD15C\uD50C\uB9BF\uC740 \`--target admin\`(Axxxxx)** \u2014 Provider \`target\`\uACFC \uAC19\uC740 \uCD95. \uD604\uC7AC \uC5B8\uC5B4\uB9CC \uD544\uC694\uD558\uBA74 \`useLocale\`. \uC0C1\uC138 \uC6CC\uD06C\uD50C\uB85C\uB294 I18N.md
733
735
  - **\uB2E4\uAD6D\uC5B4 \uBB38\uAD6C \uBC30\uBD84 (\uC791\uC5C5 \uC804 \uACB0\uC815)**: "\uB2E4\uAD6D\uC5B4 \uCC98\uB9AC\uD574\uC918" \uB958 \uC694\uCCAD\uC744 \uBC1B\uC73C\uBA74 \uC804\uBD80 \`useMessages\`\uB85C \uB9CC\uB4E4\uC9C0 \uB9D0\uACE0, **\uD50C\uB7AB\uD3FC \uD0A4 \uB300\uC870\uBD80\uD130** \uD55C\uB2E4 \u2014 \`bstage i18n pull\` \uC2E4\uD589 \u2192 \uC0DD\uC131\uB41C \`src/bstage-i18n.ts\`\uC5D0\uC11C \uB300\uC0C1 \uBB38\uAD6C\uC758 \uC6D0\uBB38 \uAC80\uC0C9 \u2192 \uB9E4\uCE6D\uB418\uB294 \uD0A4\uAC00 \uC788\uC73C\uBA74 \uACF5\uC6A9 \uD0A4(\`useBstageTranslations\`), \uC5C6\uB294 \uBB38\uAD6C\uB9CC \`useMessages\`\uC5D0 \uCD94\uAC00. \uC800\uC7A5\xB7\uCDE8\uC18C\xB7\uC801\uC6A9\uD558\uAE30 \uAC19\uC740 \uACF5\uC6A9 UI \uB77C\uBCA8\uC740 \uB300\uBD80\uBD84 \uD50C\uB7AB\uD3FC \uD0A4\uAC00 \uC774\uBBF8 \uC788\uB2E4. \uACF5\uC6A9 \uD0A4\uAC00 \uC788\uB294 \uBB38\uAD6C\uB97C \`useMessages\`\uC5D0 \uBCF5\uC0AC\uD574 \uB36E\uC5B4\uC4F0\uBA74 \uD50C\uB7AB\uD3FC \uBC88\uC5ED \uC218\uC815\uC774 \uD15C\uD50C\uB9BF\uC5D0 \uBC18\uC601\uB418\uC9C0 \uC54A\uB294\uB2E4(\uD63C\uC6A9 \uD328\uD134\uC740 I18N.md).
@@ -783,7 +785,7 @@ function skillsFor(kind) {
783
785
  }
784
786
 
785
787
  // src/agents/agentsMdRegion.ts
786
- var AGENTS_MANAGED_VERSION = 16;
788
+ var AGENTS_MANAGED_VERSION = 17;
787
789
  var START_MARKER = `<!-- BSTAGE:MANAGED:START v=${AGENTS_MANAGED_VERSION} \u2014 SDK\uAC00 \uAD00\uB9AC\uD558\uB294 \uC601\uC5ED\uC785\uB2C8\uB2E4. \`bstage ai install\` / \`bstage ai update\`\uAC00 \uC7AC\uC0DD\uC131\uD558\uBBC0\uB85C \uC9C1\uC811 \uD3B8\uC9D1\uD558\uC9C0 \uB9C8\uC138\uC694(\uAC31\uC2E0 \uC2DC \uB36E\uC5B4\uC4F0\uC785\uB2C8\uB2E4). \uD504\uB85C\uC81D\uD2B8 \uACE0\uC720 \uADDC\uCE59\uC740 \uC544\uB798 \uC790\uC720 \uC601\uC5ED\uC5D0 \uC801\uC73C\uC138\uC694. -->`;
788
790
  var END_MARKER = `<!-- BSTAGE:MANAGED:END -->`;
789
791
  var START_TOKEN = "BSTAGE:MANAGED:START";
@@ -896,7 +898,7 @@ var SDK_STRUCTURE_BLOCK = `src/
896
898
  main.tsx \u2014 App \uB9C8\uC6B4\uD2B8\uB9CC (\uC218\uC815 \uBD88\uD544\uC694)
897
899
  App.tsx \u2014 import.meta.glob \uAE30\uBC18 \uAC1C\uBC1C\uC6A9 \uBAA9\uB85D\xB7\uB77C\uC6B0\uD305 (\uC218\uC815 \uBD88\uD544\uC694)
898
900
  shared/
899
- client.ts \u2014 BstageClient \uC778\uC2A4\uD134\uC2A4 (API \uD0A4\uB294 .env\uC5D0\uC11C \uC8FC\uC785). \uC720\uC800\uB2E8 API\uB9CC \uC9C0\uC6D0
901
+ client.ts \u2014 BstageClient \uC778\uC2A4\uD134\uC2A4 (API \uD0A4\uB294 .env\uC5D0\uC11C \uC8FC\uC785 \u2014 \uC720\uC800 \uB808\uD3EC\uB294 PUBLIC bsp_, \uC5B4\uB4DC\uBBFC \uB808\uD3EC\uB294 MANAGEMENT bsm_)
900
902
  pages/
901
903
  {\uACBD\uB85C}/
902
904
  template.tsx \u2014 \uD398\uC774\uC9C0 (\uD3F4\uB354 \uAD6C\uC870\uAC00 \uACE7 \uBC30\uD3EC \uACBD\uB85C)
@@ -912,7 +914,7 @@ var SDK_ENV_SECTION = `\`.env\`(\uCEE4\uBC0B \uC548 \uB428)\uB294 phase\uC640 AP
912
914
  VITE_BSTAGE_PHASE=dev # dev | qa | real | sandbox
913
915
  \`\`\``;
914
916
  var SDK_API_FORBID_BULLETS = `- \uACBD\uB85C\xB7\uC751\uB2F5 \uBAA8\uC591\uC744 \uCD94\uCE21\uD574 \uD638\uCD9C\uD558\uC9C0 \uC54A\uB294\uB2E4 \u2014 SDK\uB294 API \uACBD\uB85C \uBAA9\uB85D\uC744 \uB4E4\uACE0 \uC788\uC9C0 \uC54A\uB2E4(\uC790\uB3D9\uC644\uC131 \uC5C6\uC74C). \uCD9C\uCC98\uB294 \uAC8C\uC774\uD2B8\uC6E8\uC774 API Reference Doc\uC774\uACE0, \uC751\uB2F5 \uD0C0\uC785\uC740 \`client.get<T>(...)\`\uCC98\uB7FC \uC81C\uB124\uB9AD\uC73C\uB85C \uBA85\uC2DC\uD55C\uB2E4.
915
- - \uC5B4\uB4DC\uBBFC\uC6A9 API\uB97C \uCD94\uCE21\uD574 \uD638\uCD9C\uD558\uC9C0 \uC54A\uB294\uB2E4 \u2014 BstageClient\uB294 **\uC720\uC800\uB2E8 API\uB9CC \uC9C0\uC6D0**\uD55C\uB2E4. \uC5B4\uB4DC\uBBFC API\uAC00 \uD544\uC694\uD558\uBA74 \uACBD\uB85C\uB97C \uC784\uC758\uB85C \uB9CC\uB4E4\uC9C0 \uB9D0\uACE0 **\uBC18\uB4DC\uC2DC \uC0AC\uC6A9\uC790\uC5D0\uAC8C \uBA3C\uC800 \uD655\uC778**\uD55C\uB2E4.`;
917
+ - \uC5B4\uB4DC\uBBFC API\uB3C4 \uAC19\uC740 \`BstageClient\`\uB85C \uBD80\uB978\uB2E4 \u2014 \uC5B4\uB4DC\uBBFC \uB3C4\uBA54\uC778\uC5D0 \uC784\uBCA0\uB4DC\uB418\uBA74 \`baseUrl\` \uAE30\uBCF8\uAC12\uC774 \uC5B4\uB4DC\uBBFC \uAC8C\uC774\uD2B8\uC6E8\uC774(\`/gw\`)\uAC00 \uB418\uACE0, \uAC8C\uC774\uD2B8\uC6E8\uC774\uAC00 \uC5B4\uB4DC\uBBFC \uB85C\uADF8\uC778 \uCFE0\uD0A4\uC640 **MANAGEMENT \uD0A4(\`bsm_\`)**\uB97C \uD568\uAED8 \uD655\uC778\uD55C\uB2E4(PUBLIC \uD0A4\uB294 \`KEY_TYPE_NOT_ALLOWED\`, \uB85C\uCEEC dev\xB7\uD3EC\uD138 \uBBF8\uB9AC\uBCF4\uAE30\uC5D0\uC11C\uB294 \uC751\uB2F5\uC774 \uC624\uC9C0 \uC54A\uB294\uB2E4). \uC5B4\uB290 \uCABD\uC774\uB4E0 **\uD3EC\uD138 API \uB808\uD37C\uB7F0\uC2A4(\uC720\uC800/\uC6B4\uC601\uC790 \uD0ED)\uC5D0 \uC788\uB294 \uACBD\uB85C\uB9CC** \uC4F0\uACE0, \uBAA9\uB85D\uC5D0 \uC5C6\uB294 API\uAC00 \uD544\uC694\uD558\uBA74 \uACBD\uB85C\uB97C \uC784\uC758\uB85C \uB9CC\uB4E4\uC9C0 \uB9D0\uACE0 **\uBC18\uB4DC\uC2DC \uC0AC\uC6A9\uC790\uC5D0\uAC8C \uBA3C\uC800 \uD655\uC778**\uD55C\uB2E4. \uC0C1\uC138\uB294 GETTING_STARTED.md "8. \uC5B4\uB4DC\uBBFC \uD15C\uD50C\uB9BF \u203A API \uD638\uCD9C".`;
916
918
  var SDK_DOCS_SECTION = `## SDK \uBB38\uC11C
917
919
 
918
920
  SDK\uC758 API, hooks, \uC2AC\uB86F \uC2DC\uC2A4\uD15C, \uBE4C\uB4DC \uD30C\uC774\uD504\uB77C\uC778 \uB4F1 **SDK\uC640 \uAD00\uB828\uB41C \uBAA8\uB4E0 \uB0B4\uC6A9**\uC740 \uC124\uCE58\uB41C \uD328\uD0A4\uC9C0\uC758 \uBB38\uC11C\uB97C \uCC38\uC870\uD55C\uB2E4. \uC774 \uBB38\uC11C\uB4E4\uC774 \uD56D\uC0C1 \uCD5C\uC2E0\uC774\uBA70 \uC678\uBD80 \uAC80\uC0C9 \uACB0\uACFC\uBCF4\uB2E4 \uC2E0\uB8B0\uD560 \uC218 \uC788\uB2E4.
package/dist/index.d.cts CHANGED
@@ -96,7 +96,7 @@ declare function agentsMd(opts: AgentsMdOptions): string;
96
96
  * 결정론적으로 판단하는 근거. (본문은 space/projectName로 파라미터화되므로 내용 직접 비교 대신
97
97
  * 버전 토큰으로 staleness를 본다.)
98
98
  */
99
- declare const AGENTS_MANAGED_VERSION = 16;
99
+ declare const AGENTS_MANAGED_VERSION = 17;
100
100
  /** 본문을 관리 영역 마커로 감싼다. */
101
101
  declare function wrapManaged(body: string): string;
102
102
  /** init이 새 프로젝트에 까는 기본 자유 영역 스캐폴드(빈 섹션). */
package/dist/index.d.ts CHANGED
@@ -96,7 +96,7 @@ declare function agentsMd(opts: AgentsMdOptions): string;
96
96
  * 결정론적으로 판단하는 근거. (본문은 space/projectName로 파라미터화되므로 내용 직접 비교 대신
97
97
  * 버전 토큰으로 staleness를 본다.)
98
98
  */
99
- declare const AGENTS_MANAGED_VERSION = 16;
99
+ declare const AGENTS_MANAGED_VERSION = 17;
100
100
  /** 본문을 관리 영역 마커로 감싼다. */
101
101
  declare function wrapManaged(body: string): string;
102
102
  /** init이 새 프로젝트에 까는 기본 자유 영역 스캐폴드(빈 섹션). */
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // src/version.ts
2
- var VERSION = "0.8.3";
2
+ var VERSION = "0.8.5";
3
3
 
4
4
  // src/skills/deploy.ts
5
5
  function deploySkillMd() {
@@ -85,6 +85,8 @@ bstage deploy
85
85
 
86
86
  \uBE4C\uB4DC \uB85C\uADF8\uB294 \`bstage logs\`\uB85C \uBCF8\uB2E4(\uBE4C\uB4DC id \uC0DD\uB7B5 \uC2DC \uCD5C\uADFC \uBE4C\uB4DC, \`-f\`\uB85C \uB05D\uB0A0 \uB54C\uAE4C\uC9C0 \uB530\uB77C\uAC10).
87
87
 
88
+ \uBC30\uD3EC\uB294 \uC131\uACF5\uD588\uB294\uB370 API\uAC00 401\uB85C \uC2E4\uD328\uD558\uAC70\uB098 \uD398\uC774\uC9C0\uAC00 \uAE30\uB300\uC640 \uB2E4\uB974\uBA74(\uC548 \uB738\xB7\uC61B \uD654\uBA74) **\uCD94\uCE21\uC73C\uB85C \uACE0\uCE58\uAE30 \uC804\uC5D0** \`bstage doctor --json\`\uC744 \uC2E4\uD589\uD55C\uB2E4. \`portal.placements[].findings\`\uC758 \`id\`(\uC608: \`appkey.expired\`\xB7\`env.not_rebuilt\`\xB7\`build.update_pending\`)\uB85C \uC6D0\uC778\uC744 \uAC00\uB974\uACE0 \`fix\`\uAC00 \uB9D0\uD558\uB294 \uC870\uCE58\uB97C \uB530\uB978\uB2E4. \`portal.status\`\uAC00 \`skipped\`\uBA74 \`hint\`(\uB85C\uADF8\uC778\xB7\uB9C1\uD06C)\uBD80\uD130, \`unsupported\`\uBA74 \uD3EC\uD138\uC774 \uC544\uC9C1 \uC9C4\uB2E8\uC744 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uAC83\uC774\uB2C8 \uC704 \uD45C\uC640 \uB85C\uADF8\uB85C \uB418\uC9DA\uB294\uB2E4. \uC9C4\uB2E8\uC5D0 error \uD56D\uBAA9\uC774 \uC788\uC73C\uBA74 doctor\uB294 \uC885\uB8CC \uCF54\uB4DC 1\uB85C \uB05D\uB09C\uB2E4.
89
+
88
90
  ## 5. \uB418\uB3CC\uB9AC\uAE30 \xB7 \uAC8C\uC2DC \uB044\uAE30
89
91
 
90
92
  - \`bstage rollback\` \u2014 \uC9C1\uC804 \uC131\uACF5 \uBE4C\uB4DC\uB97C \uB2E4\uC2DC \uB77C\uC774\uBE0C\uB85C \uC801\uC6A9\uD55C\uB2E4. \uD2B9\uC815 \uBE4C\uB4DC\uB85C \uB418\uB3CC\uB9AC\uB824\uBA74 \uBE4C\uB4DC id\uB97C \uC778\uC790\uB85C \uC900\uB2E4(\`bstage list\`\uC5D0\uC11C \uD655\uC778).
@@ -677,7 +679,7 @@ createTemplate(MyWidget, { name: 'my-widget' }) // Custom Element \uD0DC\uADF8\u
677
679
 
678
680
  - **\uD50C\uB7AB\uD3FC \uB124\uBE44\uAC8C\uC774\uC158**: \`useNavigation()\` \u2014 \`navigate\`/\`goBack\`/\`openExternal\`
679
681
  - **\uD50C\uB7AB\uD3FC \uC774\uBCA4\uD2B8**: \`useBstageContext()\`\uC758 \`bridge\`\uB85C \`emit\`(\uD15C\uD50C\uB9BF\u2192\uD50C\uB7AB\uD3FC), \uAD6C\uB3C5\uC740 \`usePlatformEvent()\`(\uD50C\uB7AB\uD3FC\u2192\uD15C\uD50C\uB9BF)
680
- - **API \uD638\uCD9C**: \`shared/client.ts\`\uC758 \`client\` \uC778\uC2A4\uD134\uC2A4\uB97C import\uD574 \uC9C1\uC811 \uD638\uCD9C(\`client.get<T>(...)\`). \`BstageClient\`\uB294 \uC778\uC99D fetch\xB7\uAC8C\uC774\uD2B8\uC6E8\uC774 base URL\uC744 \uC2A4\uC2A4\uB85C \uD574\uC11D\uD558\uBBC0\uB85C \uBCC4\uB3C4 \uBC30\uC120\uC774 \uD544\uC694 \uC5C6\uB2E4. **\uACBD\uB85C\xB7\uC751\uB2F5 \uBAA8\uC591\uC740 SDK\uAC00 \uB4E4\uACE0 \uC788\uC9C0 \uC54A\uB2E4** \u2014 \uAC8C\uC774\uD2B8\uC6E8\uC774 API Reference Doc\uC774 \uCD9C\uCC98\uC774\uACE0, \uC751\uB2F5 \uD0C0\uC785\uC740 \uC81C\uB124\uB9AD\uC73C\uB85C \uBA85\uC2DC\uD55C\uB2E4(\uC0DD\uB7B5\uD558\uBA74 \`unknown\`). **\uC720\uC800\uB2E8 API\uB9CC \uC9C0\uC6D0.** **\uC5B4\uB4DC\uBBFC\uC6A9 API\uB294 \uBBF8\uC9C0\uC6D0 \u2014 \uD544\uC694\uD558\uBA74 \uACBD\uB85C\uB97C \uCD94\uCE21\uD558\uC9C0 \uB9D0\uACE0 \uBC18\uB4DC\uC2DC \uC0AC\uC6A9\uC790\uC5D0\uAC8C \uBA3C\uC800 \uD655\uC778\uD560 \uAC83.**
682
+ - **API \uD638\uCD9C**: \`shared/client.ts\`\uC758 \`client\` \uC778\uC2A4\uD134\uC2A4\uB97C import\uD574 \uC9C1\uC811 \uD638\uCD9C(\`client.get<T>(...)\`). \`BstageClient\`\uB294 \uC778\uC99D fetch\xB7\uAC8C\uC774\uD2B8\uC6E8\uC774 base URL\uC744 \uC2A4\uC2A4\uB85C \uD574\uC11D\uD558\uBBC0\uB85C \uBCC4\uB3C4 \uBC30\uC120\uC774 \uD544\uC694 \uC5C6\uB2E4. **\uACBD\uB85C\xB7\uC751\uB2F5 \uBAA8\uC591\uC740 SDK\uAC00 \uB4E4\uACE0 \uC788\uC9C0 \uC54A\uB2E4** \u2014 \uAC8C\uC774\uD2B8\uC6E8\uC774 API Reference Doc\uC774 \uCD9C\uCC98\uC774\uACE0, \uC751\uB2F5 \uD0C0\uC785\uC740 \uC81C\uB124\uB9AD\uC73C\uB85C \uBA85\uC2DC\uD55C\uB2E4(\uC0DD\uB7B5\uD558\uBA74 \`unknown\`). **\uC5B4\uB4DC\uBBFC \uD15C\uD50C\uB9BF\uB3C4 \uAC19\uC740 \uD074\uB77C\uC774\uC5B8\uD2B8** \u2014 \uC5B4\uB4DC\uBBFC \uB3C4\uBA54\uC778\uC5D0\uC11C\uB294 \uC5B4\uB4DC\uBBFC \uAC8C\uC774\uD2B8\uC6E8\uC774\uB97C \uBD80\uB974\uBA70 MANAGEMENT \uD0A4(\`bsm_\`) + \uC5B4\uB4DC\uBBFC \uB85C\uADF8\uC778 \uC138\uC158\uC774 \uD544\uC694\uD558\uB2E4(PUBLIC \uD0A4\uB294 \`KEY_TYPE_NOT_ALLOWED\`, \uC0C1\uC138\uB294 GETTING_STARTED.md \xA78 "API \uD638\uCD9C"). **\uBAA9\uB85D\uC5D0 \uC5C6\uB294 API\uB294 \uACBD\uB85C\uB97C \uCD94\uCE21\uD558\uC9C0 \uB9D0\uACE0 \uBC18\uB4DC\uC2DC \uC0AC\uC6A9\uC790\uC5D0\uAC8C \uBA3C\uC800 \uD655\uC778\uD560 \uAC83.**
681
683
  - **\uC2AC\uB86F context**: \`useSlotContext<Id>()\` \u2014 \uD638\uC2A4\uD2B8\uAC00 \uB9C8\uC6B4\uD2B8 \uC2DC 1\uD68C \uC804\uB2EC\uD558\uB294 read-only \uAC12
682
684
  - **\uB2E4\uAD6D\uC5B4**: \uB85C\uCF00\uC77C \uD6C5(\`useLocale\`/\`useMessages\`/\`useBstageTranslations\`)\uC740 **\uBC18\uB4DC\uC2DC \`<BstageLocaleProvider>\` \uD558\uC704\uC5D0\uC11C** \uD638\uCD9C\uD55C\uB2E4(\uBC16\uC774\uBA74 throw). \uC720\uC800 \uD15C\uD50C\uB9BF\uC740 \`<BstageLocaleProvider>\`(target \uC0DD\uB7B5), \uC5B4\uB4DC\uBBFC\uC740 \`<BstageLocaleProvider target="admin">\`. \uC790\uCCB4 \uBB38\uAD6C\uB294 \`useMessages\`(\uC900\uBE44 \uBD88\uD544\uC694). \uD50C\uB7AB\uD3FC \uACF5\uC6A9 \uBB38\uAD6C\uB97C \uC4F0\uB824\uBA74 **\uBA3C\uC800 \`bstage i18n pull\`\uC744 \uC2E4\uD589**\uD574 \uBC88\uC5ED \uD0A4\xB7\uD0C0\uC785\xB7\uB85C\uCEEC \uCE90\uC2DC(\`.bstage/i18n\`)\uB97C \uB9CC\uB4E0 \uB4A4 \`useBstageTranslations\`\uB97C \uC4F4\uB2E4 \u2014 \uC548 \uD558\uBA74 \uB85C\uCEEC dev\uC5D0\uC11C \uBC88\uC5ED\uC774 \uC548 \uB728\uACE0 \uD0A4\uB3C4 \uC54C \uC218 \uC5C6\uB2E4. **\uC720\uC800 \uC2AC\uB86F \uD15C\uD50C\uB9BF\uC740 \`--target user\`(\uAE30\uBCF8, Bxxxxx), \uC5B4\uB4DC\uBBFC \uC2AC\uB86F \uD15C\uD50C\uB9BF\uC740 \`--target admin\`(Axxxxx)** \u2014 Provider \`target\`\uACFC \uAC19\uC740 \uCD95. \uD604\uC7AC \uC5B8\uC5B4\uB9CC \uD544\uC694\uD558\uBA74 \`useLocale\`. \uC0C1\uC138 \uC6CC\uD06C\uD50C\uB85C\uB294 I18N.md
683
685
  - **\uB2E4\uAD6D\uC5B4 \uBB38\uAD6C \uBC30\uBD84 (\uC791\uC5C5 \uC804 \uACB0\uC815)**: "\uB2E4\uAD6D\uC5B4 \uCC98\uB9AC\uD574\uC918" \uB958 \uC694\uCCAD\uC744 \uBC1B\uC73C\uBA74 \uC804\uBD80 \`useMessages\`\uB85C \uB9CC\uB4E4\uC9C0 \uB9D0\uACE0, **\uD50C\uB7AB\uD3FC \uD0A4 \uB300\uC870\uBD80\uD130** \uD55C\uB2E4 \u2014 \`bstage i18n pull\` \uC2E4\uD589 \u2192 \uC0DD\uC131\uB41C \`src/bstage-i18n.ts\`\uC5D0\uC11C \uB300\uC0C1 \uBB38\uAD6C\uC758 \uC6D0\uBB38 \uAC80\uC0C9 \u2192 \uB9E4\uCE6D\uB418\uB294 \uD0A4\uAC00 \uC788\uC73C\uBA74 \uACF5\uC6A9 \uD0A4(\`useBstageTranslations\`), \uC5C6\uB294 \uBB38\uAD6C\uB9CC \`useMessages\`\uC5D0 \uCD94\uAC00. \uC800\uC7A5\xB7\uCDE8\uC18C\xB7\uC801\uC6A9\uD558\uAE30 \uAC19\uC740 \uACF5\uC6A9 UI \uB77C\uBCA8\uC740 \uB300\uBD80\uBD84 \uD50C\uB7AB\uD3FC \uD0A4\uAC00 \uC774\uBBF8 \uC788\uB2E4. \uACF5\uC6A9 \uD0A4\uAC00 \uC788\uB294 \uBB38\uAD6C\uB97C \`useMessages\`\uC5D0 \uBCF5\uC0AC\uD574 \uB36E\uC5B4\uC4F0\uBA74 \uD50C\uB7AB\uD3FC \uBC88\uC5ED \uC218\uC815\uC774 \uD15C\uD50C\uB9BF\uC5D0 \uBC18\uC601\uB418\uC9C0 \uC54A\uB294\uB2E4(\uD63C\uC6A9 \uD328\uD134\uC740 I18N.md).
@@ -733,7 +735,7 @@ function skillsFor(kind) {
733
735
  }
734
736
 
735
737
  // src/agents/agentsMdRegion.ts
736
- var AGENTS_MANAGED_VERSION = 16;
738
+ var AGENTS_MANAGED_VERSION = 17;
737
739
  var START_MARKER = `<!-- BSTAGE:MANAGED:START v=${AGENTS_MANAGED_VERSION} \u2014 SDK\uAC00 \uAD00\uB9AC\uD558\uB294 \uC601\uC5ED\uC785\uB2C8\uB2E4. \`bstage ai install\` / \`bstage ai update\`\uAC00 \uC7AC\uC0DD\uC131\uD558\uBBC0\uB85C \uC9C1\uC811 \uD3B8\uC9D1\uD558\uC9C0 \uB9C8\uC138\uC694(\uAC31\uC2E0 \uC2DC \uB36E\uC5B4\uC4F0\uC785\uB2C8\uB2E4). \uD504\uB85C\uC81D\uD2B8 \uACE0\uC720 \uADDC\uCE59\uC740 \uC544\uB798 \uC790\uC720 \uC601\uC5ED\uC5D0 \uC801\uC73C\uC138\uC694. -->`;
738
740
  var END_MARKER = `<!-- BSTAGE:MANAGED:END -->`;
739
741
  var START_TOKEN = "BSTAGE:MANAGED:START";
@@ -846,7 +848,7 @@ var SDK_STRUCTURE_BLOCK = `src/
846
848
  main.tsx \u2014 App \uB9C8\uC6B4\uD2B8\uB9CC (\uC218\uC815 \uBD88\uD544\uC694)
847
849
  App.tsx \u2014 import.meta.glob \uAE30\uBC18 \uAC1C\uBC1C\uC6A9 \uBAA9\uB85D\xB7\uB77C\uC6B0\uD305 (\uC218\uC815 \uBD88\uD544\uC694)
848
850
  shared/
849
- client.ts \u2014 BstageClient \uC778\uC2A4\uD134\uC2A4 (API \uD0A4\uB294 .env\uC5D0\uC11C \uC8FC\uC785). \uC720\uC800\uB2E8 API\uB9CC \uC9C0\uC6D0
851
+ client.ts \u2014 BstageClient \uC778\uC2A4\uD134\uC2A4 (API \uD0A4\uB294 .env\uC5D0\uC11C \uC8FC\uC785 \u2014 \uC720\uC800 \uB808\uD3EC\uB294 PUBLIC bsp_, \uC5B4\uB4DC\uBBFC \uB808\uD3EC\uB294 MANAGEMENT bsm_)
850
852
  pages/
851
853
  {\uACBD\uB85C}/
852
854
  template.tsx \u2014 \uD398\uC774\uC9C0 (\uD3F4\uB354 \uAD6C\uC870\uAC00 \uACE7 \uBC30\uD3EC \uACBD\uB85C)
@@ -862,7 +864,7 @@ var SDK_ENV_SECTION = `\`.env\`(\uCEE4\uBC0B \uC548 \uB428)\uB294 phase\uC640 AP
862
864
  VITE_BSTAGE_PHASE=dev # dev | qa | real | sandbox
863
865
  \`\`\``;
864
866
  var SDK_API_FORBID_BULLETS = `- \uACBD\uB85C\xB7\uC751\uB2F5 \uBAA8\uC591\uC744 \uCD94\uCE21\uD574 \uD638\uCD9C\uD558\uC9C0 \uC54A\uB294\uB2E4 \u2014 SDK\uB294 API \uACBD\uB85C \uBAA9\uB85D\uC744 \uB4E4\uACE0 \uC788\uC9C0 \uC54A\uB2E4(\uC790\uB3D9\uC644\uC131 \uC5C6\uC74C). \uCD9C\uCC98\uB294 \uAC8C\uC774\uD2B8\uC6E8\uC774 API Reference Doc\uC774\uACE0, \uC751\uB2F5 \uD0C0\uC785\uC740 \`client.get<T>(...)\`\uCC98\uB7FC \uC81C\uB124\uB9AD\uC73C\uB85C \uBA85\uC2DC\uD55C\uB2E4.
865
- - \uC5B4\uB4DC\uBBFC\uC6A9 API\uB97C \uCD94\uCE21\uD574 \uD638\uCD9C\uD558\uC9C0 \uC54A\uB294\uB2E4 \u2014 BstageClient\uB294 **\uC720\uC800\uB2E8 API\uB9CC \uC9C0\uC6D0**\uD55C\uB2E4. \uC5B4\uB4DC\uBBFC API\uAC00 \uD544\uC694\uD558\uBA74 \uACBD\uB85C\uB97C \uC784\uC758\uB85C \uB9CC\uB4E4\uC9C0 \uB9D0\uACE0 **\uBC18\uB4DC\uC2DC \uC0AC\uC6A9\uC790\uC5D0\uAC8C \uBA3C\uC800 \uD655\uC778**\uD55C\uB2E4.`;
867
+ - \uC5B4\uB4DC\uBBFC API\uB3C4 \uAC19\uC740 \`BstageClient\`\uB85C \uBD80\uB978\uB2E4 \u2014 \uC5B4\uB4DC\uBBFC \uB3C4\uBA54\uC778\uC5D0 \uC784\uBCA0\uB4DC\uB418\uBA74 \`baseUrl\` \uAE30\uBCF8\uAC12\uC774 \uC5B4\uB4DC\uBBFC \uAC8C\uC774\uD2B8\uC6E8\uC774(\`/gw\`)\uAC00 \uB418\uACE0, \uAC8C\uC774\uD2B8\uC6E8\uC774\uAC00 \uC5B4\uB4DC\uBBFC \uB85C\uADF8\uC778 \uCFE0\uD0A4\uC640 **MANAGEMENT \uD0A4(\`bsm_\`)**\uB97C \uD568\uAED8 \uD655\uC778\uD55C\uB2E4(PUBLIC \uD0A4\uB294 \`KEY_TYPE_NOT_ALLOWED\`, \uB85C\uCEEC dev\xB7\uD3EC\uD138 \uBBF8\uB9AC\uBCF4\uAE30\uC5D0\uC11C\uB294 \uC751\uB2F5\uC774 \uC624\uC9C0 \uC54A\uB294\uB2E4). \uC5B4\uB290 \uCABD\uC774\uB4E0 **\uD3EC\uD138 API \uB808\uD37C\uB7F0\uC2A4(\uC720\uC800/\uC6B4\uC601\uC790 \uD0ED)\uC5D0 \uC788\uB294 \uACBD\uB85C\uB9CC** \uC4F0\uACE0, \uBAA9\uB85D\uC5D0 \uC5C6\uB294 API\uAC00 \uD544\uC694\uD558\uBA74 \uACBD\uB85C\uB97C \uC784\uC758\uB85C \uB9CC\uB4E4\uC9C0 \uB9D0\uACE0 **\uBC18\uB4DC\uC2DC \uC0AC\uC6A9\uC790\uC5D0\uAC8C \uBA3C\uC800 \uD655\uC778**\uD55C\uB2E4. \uC0C1\uC138\uB294 GETTING_STARTED.md "8. \uC5B4\uB4DC\uBBFC \uD15C\uD50C\uB9BF \u203A API \uD638\uCD9C".`;
866
868
  var SDK_DOCS_SECTION = `## SDK \uBB38\uC11C
867
869
 
868
870
  SDK\uC758 API, hooks, \uC2AC\uB86F \uC2DC\uC2A4\uD15C, \uBE4C\uB4DC \uD30C\uC774\uD504\uB77C\uC778 \uB4F1 **SDK\uC640 \uAD00\uB828\uB41C \uBAA8\uB4E0 \uB0B4\uC6A9**\uC740 \uC124\uCE58\uB41C \uD328\uD0A4\uC9C0\uC758 \uBB38\uC11C\uB97C \uCC38\uC870\uD55C\uB2E4. \uC774 \uBB38\uC11C\uB4E4\uC774 \uD56D\uC0C1 \uCD5C\uC2E0\uC774\uBA70 \uC678\uBD80 \uAC80\uC0C9 \uACB0\uACFC\uBCF4\uB2E4 \uC2E0\uB8B0\uD560 \uC218 \uC788\uB2E4.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bstage-sdk/ai-toolkit",
3
- "version": "0.8.3",
3
+ "version": "0.8.5",
4
4
  "description": "bstage SDK ai-toolkit — 에이전트용 스킬·AGENTS.md 콘텐츠(cli가 소비)",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -34,7 +34,7 @@
34
34
  "@types/node": "^25.5.0",
35
35
  "tsup": "^8.0.0",
36
36
  "typescript": "^5.5.0",
37
- "@bstage-sdk/design": "0.8.3"
37
+ "@bstage-sdk/design": "0.8.5"
38
38
  },
39
39
  "license": "MIT",
40
40
  "scripts": {