@bstage-sdk/ai-toolkit 0.8.4 → 0.8.6

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.4";
52
+ var VERSION = "0.8.6";
53
53
 
54
54
  // src/skills/deploy.ts
55
55
  function deploySkillMd() {
@@ -135,7 +135,7 @@ 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.
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. \`portal.status\`\uAC00 \`error\`\uBA74 \uC9C4\uB2E8 \uC790\uCCB4\uAC00 \uC2E4\uD328\uD55C \uAC83\uC774\uB2E4 \u2014 \`reason\`\xB7\`placements[].error\`\uB97C \uC77D\uACE0, \uAD8C\uD55C \uBD80\uC871(401\xB7403)\uC774\uBA74 \uC2A4\uD14C\uC774\uC9C0 \uAD00\uB9AC \uAD8C\uD55C\uC774 \uC788\uB294 \uACC4\uC815\uC778\uC9C0\xB7CLI \uD1A0\uD070 \uB4F1\uAE09\uC774 \uB9DE\uB294\uC9C0\uBD80\uD130 \uD655\uC778\uD55C\uB2E4. doctor\uB294 \uC9C4\uB2E8\uC5D0 error \uD56D\uBAA9\uC774 \uC788\uAC70\uB098 \`portal.status\`\uAC00 \`error\`\uBA74 \uC885\uB8CC \uCF54\uB4DC 1\uB85C \uB05D\uB09C\uB2E4(\`skipped\`\xB7\`unsupported\`\xB7warn\xB7info\uB294 0).
139
139
 
140
140
  ## 5. \uB418\uB3CC\uB9AC\uAE30 \xB7 \uAC8C\uC2DC \uB044\uAE30
141
141
 
@@ -338,13 +338,15 @@ npx @bstage-sdk/cli@latest doctor --json
338
338
 
339
339
  \`bstage ai doctor\`\uB85C \uC2A4\uD0AC\xB7AGENTS.md\uAC00 \uCD5C\uC2E0\uC778\uC9C0\uB3C4 \uD568\uAED8 \uBCF8\uB2E4(stale\uC774\uBA74 \`bstage ai update\`).
340
340
 
341
- \uCD9C\uB825\uC5D0\uC11C \uC138 \uAC00\uC9C0\uB97C \uC5BB\uB294\uB2E4.
341
+ \uCD9C\uB825\uC5D0\uC11C \uB124 \uAC00\uC9C0\uB97C \uC5BB\uB294\uB2E4.
342
342
 
343
343
  - \`versions\` \u2014 \uB4A4\uCC98\uC9C4 \uD328\uD0A4\uC9C0\uC640 latest \uBC84\uC804
344
344
  - \`files\` \u2014 \uB204\uB77D\uB41C \uBCF4\uC77C\uB7EC\uD50C\uB808\uC774\uD2B8 \uD30C\uC77C
345
345
  - \`recommendedDeps\` \u2014 \uAD8C\uC7A5 \uC758\uC874\uC131\uC758 \uC120\uC5B8 \uC0C1\uD0DC(\`declared: false\`\uBA74 \uBBF8\uC120\uC5B8). **\uBC84\uC804 \uB300\uC870\uB85C\uB294 \uC548 \uC7A1\uD788\uB294 \uCD95**\uC774\uBBC0\uB85C \`migrations\`\uAC00 \uBE44\uC5B4 \uC788\uC5B4\uB3C4 \uB530\uB85C \uD655\uC778\uD55C\uB2E4
346
346
  - \`migrations\` \u2014 \uC801\uC6A9 \uAC00\uB2A5\uD55C \uB9C8\uC774\uADF8\uB808\uC774\uC158 \uD56D\uBAA9. \uAC01 \uD56D\uBAA9\uC740 \`label\`(\uD5E4\uB354 \uD45C\uAE30, \uC608: \`cli 0.43.0\` \uB610\uB294 \`core 0.32.0 \xB7 react 0.32.0\`) \xB7 \`requirements\`(\uC62C\uB824\uC57C \uD560 \uD328\uD0A4\uC9C0\xB7\uCD5C\uC18C \uBC84\uC804 \uC30D) \xB7 \`items\`(\uD56D\uBAA9 \uC81C\uBAA9)\uB97C \uAC00\uC9C4\uB2E4. \uD5E4\uB354\uC758 \uD328\uD0A4\uC9C0\uB97C \uADF8 \uBC84\uC804 \uC774\uC0C1\uC73C\uB85C \uC62C\uB9B0\uB2E4
347
347
 
348
+ **\uC885\uB8CC \uCF54\uB4DC 1\uC774\uC5B4\uB3C4 stdout\uC758 JSON\uC740 \uC815\uC0C1\uC774\uB2E4** \u2014 \uB85C\uADF8\uC778\xB7\uB9C1\uD06C\uB41C \uB808\uD3EC\uC5D0\uC11C\uB294 \uD3EC\uD138 \uC9C4\uB2E8(\`portal\`)\uC774 \uD568\uAED8 \uB3CC\uACE0, \uBC30\uCE58\uC5D0 error \uD56D\uBAA9\uC774 \uC788\uAC70\uB098 \uC9C4\uB2E8\uC774 \uC2E4\uD328\uD558\uBA74 1\uB85C \uB05D\uB09C\uB2E4. \`portal\`\uC740 \uBC30\uD3EC\uB41C \uBC30\uCE58\uC758 \uC0C1\uD0DC\uB77C \uB9C8\uC774\uADF8\uB808\uC774\uC158\uACFC \uBB34\uAD00\uD558\uBBC0\uB85C, 1\uC774 \uB098\uC654\uB2E4\uACE0 \uC9C4\uB2E8\uC744 \uC2E4\uD328\uB85C \uBCF4\uC9C0 \uB9D0\uACE0 JSON\uC744 \uADF8\uB300\uB85C \uC77D\uC5B4 \uC704 \uB124 \uD56D\uBAA9\uC73C\uB85C \uC9C4\uD589\uD55C\uB2E4(\uD3EC\uD138 \uBB38\uC81C\uB294 \uB530\uB85C \uC0AC\uC6A9\uC790\uC5D0\uAC8C \uC54C\uB9AC\uACE0 \`bstage-deploy\` \uC2A4\uD0AC\uB85C \uB118\uAE34\uB2E4).
349
+
348
350
  \`isBstageProject\`\uAC00 false\uBA74 bstage \uD504\uB85C\uC81D\uD2B8\uAC00 \uC544\uB2C8\uBBC0\uB85C \uC911\uB2E8\uD55C\uB2E4. \uB808\uC9C0\uC2A4\uD2B8\uB9AC \uC870\uD68C\uC5D0 \uC2E4\uD328\uD574 \`latestChecked\`\uAC00 false\uBA74 \uBC84\uC804 \uBE44\uAD50\uB97C \uBCF4\uB958\uD55C\uB2E4(\uBCF4\uC77C\uB7EC\uD50C\uB808\uC774\uD2B8\xB7\uD56D\uBAA9\uC740 \uACC4\uC18D \uC9C4\uD589 \uAC00\uB2A5).
349
351
 
350
352
  ## 1a. liquid \uB808\uD3EC\uC77C \uB54C
@@ -572,7 +574,7 @@ bstage deploy
572
574
 
573
575
  \uADF8 \uBC16\uC758 \uC9C4\uB2E8:
574
576
 
575
- - \`bstage doctor\` \u2014 SDK \uBC84\uC804 \uB4DC\uB9AC\uD504\uD2B8\xB7\uB204\uB77D \uD30C\uC77C \uC9C4\uB2E8(\uD30C\uC77C\uC744 \uACE0\uCE58\uC9C0 \uC54A\uB294\uB2E4)
577
+ - \`bstage doctor\` \u2014 SDK \uBC84\uC804 \uB4DC\uB9AC\uD504\uD2B8\xB7\uB204\uB77D \uD30C\uC77C \uC9C4\uB2E8, \uB85C\uADF8\uC778\xB7\uB9C1\uD06C\uB3FC \uC788\uC73C\uBA74 \uBC30\uCE58\uBCC4 \uD3EC\uD138 \uC9C4\uB2E8\uAE4C\uC9C0. \uD504\uB85C\uC81D\uD2B8 \uCF54\uB4DC\uB294 \uACE0\uCE58\uC9C0 \uC54A\uC9C0\uB9CC \`--json\` \uC5C6\uC774 \uC2E4\uD589\uD558\uBA74 SDK\uAC00 \uAD00\uB9AC\uD558\uB294 \uC2A4\uD0AC\xB7\`AGENTS.md\` \uAD00\uB9AC \uC601\uC5ED\uC774 \uB4A4\uCC98\uC84C\uC744 \uB54C \`bstage ai install\`\uACFC \uAC19\uC740 \uB3D9\uAE30\uD654\uB97C \uC790\uB3D9\uC73C\uB85C \uD55C\uB2E4
576
578
  - \`bstage ai doctor\` \u2014 \uC2A4\uD0AC\xB7\`AGENTS.md\`\uAC00 \uCD5C\uC2E0\uC778\uC9C0 \uD655\uC778(\uC624\uB798\uB410\uC73C\uBA74 \`bstage ai update\`)
577
579
  - \`bstage logs -f\` \u2014 \uCD5C\uADFC \uBE4C\uB4DC \uB85C\uADF8\uB97C \uB05D\uAE4C\uC9C0 \uB530\uB77C\uAC00\uBA70 \uBCF8\uB2E4
578
580
 
@@ -729,7 +731,7 @@ createTemplate(MyWidget, { name: 'my-widget' }) // Custom Element \uD0DC\uADF8\u
729
731
 
730
732
  - **\uD50C\uB7AB\uD3FC \uB124\uBE44\uAC8C\uC774\uC158**: \`useNavigation()\` \u2014 \`navigate\`/\`goBack\`/\`openExternal\`
731
733
  - **\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)
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\`). **\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.**
734
+ - **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.**
733
735
  - **\uC2AC\uB86F context**: \`useSlotContext<Id>()\` \u2014 \uD638\uC2A4\uD2B8\uAC00 \uB9C8\uC6B4\uD2B8 \uC2DC 1\uD68C \uC804\uB2EC\uD558\uB294 read-only \uAC12
734
736
  - **\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
735
737
  - **\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).
@@ -785,7 +787,7 @@ function skillsFor(kind) {
785
787
  }
786
788
 
787
789
  // src/agents/agentsMdRegion.ts
788
- var AGENTS_MANAGED_VERSION = 16;
790
+ var AGENTS_MANAGED_VERSION = 17;
789
791
  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. -->`;
790
792
  var END_MARKER = `<!-- BSTAGE:MANAGED:END -->`;
791
793
  var START_TOKEN = "BSTAGE:MANAGED:START";
@@ -898,7 +900,7 @@ var SDK_STRUCTURE_BLOCK = `src/
898
900
  main.tsx \u2014 App \uB9C8\uC6B4\uD2B8\uB9CC (\uC218\uC815 \uBD88\uD544\uC694)
899
901
  App.tsx \u2014 import.meta.glob \uAE30\uBC18 \uAC1C\uBC1C\uC6A9 \uBAA9\uB85D\xB7\uB77C\uC6B0\uD305 (\uC218\uC815 \uBD88\uD544\uC694)
900
902
  shared/
901
- client.ts \u2014 BstageClient \uC778\uC2A4\uD134\uC2A4 (API \uD0A4\uB294 .env\uC5D0\uC11C \uC8FC\uC785). \uC720\uC800\uB2E8 API\uB9CC \uC9C0\uC6D0
903
+ 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_)
902
904
  pages/
903
905
  {\uACBD\uB85C}/
904
906
  template.tsx \u2014 \uD398\uC774\uC9C0 (\uD3F4\uB354 \uAD6C\uC870\uAC00 \uACE7 \uBC30\uD3EC \uACBD\uB85C)
@@ -914,7 +916,7 @@ var SDK_ENV_SECTION = `\`.env\`(\uCEE4\uBC0B \uC548 \uB428)\uB294 phase\uC640 AP
914
916
  VITE_BSTAGE_PHASE=dev # dev | qa | real | sandbox
915
917
  \`\`\``;
916
918
  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.
917
- - \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.`;
919
+ - \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".`;
918
920
  var SDK_DOCS_SECTION = `## SDK \uBB38\uC11C
919
921
 
920
922
  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.4";
2
+ var VERSION = "0.8.6";
3
3
 
4
4
  // src/skills/deploy.ts
5
5
  function deploySkillMd() {
@@ -85,7 +85,7 @@ 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.
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. \`portal.status\`\uAC00 \`error\`\uBA74 \uC9C4\uB2E8 \uC790\uCCB4\uAC00 \uC2E4\uD328\uD55C \uAC83\uC774\uB2E4 \u2014 \`reason\`\xB7\`placements[].error\`\uB97C \uC77D\uACE0, \uAD8C\uD55C \uBD80\uC871(401\xB7403)\uC774\uBA74 \uC2A4\uD14C\uC774\uC9C0 \uAD00\uB9AC \uAD8C\uD55C\uC774 \uC788\uB294 \uACC4\uC815\uC778\uC9C0\xB7CLI \uD1A0\uD070 \uB4F1\uAE09\uC774 \uB9DE\uB294\uC9C0\uBD80\uD130 \uD655\uC778\uD55C\uB2E4. doctor\uB294 \uC9C4\uB2E8\uC5D0 error \uD56D\uBAA9\uC774 \uC788\uAC70\uB098 \`portal.status\`\uAC00 \`error\`\uBA74 \uC885\uB8CC \uCF54\uB4DC 1\uB85C \uB05D\uB09C\uB2E4(\`skipped\`\xB7\`unsupported\`\xB7warn\xB7info\uB294 0).
89
89
 
90
90
  ## 5. \uB418\uB3CC\uB9AC\uAE30 \xB7 \uAC8C\uC2DC \uB044\uAE30
91
91
 
@@ -288,13 +288,15 @@ npx @bstage-sdk/cli@latest doctor --json
288
288
 
289
289
  \`bstage ai doctor\`\uB85C \uC2A4\uD0AC\xB7AGENTS.md\uAC00 \uCD5C\uC2E0\uC778\uC9C0\uB3C4 \uD568\uAED8 \uBCF8\uB2E4(stale\uC774\uBA74 \`bstage ai update\`).
290
290
 
291
- \uCD9C\uB825\uC5D0\uC11C \uC138 \uAC00\uC9C0\uB97C \uC5BB\uB294\uB2E4.
291
+ \uCD9C\uB825\uC5D0\uC11C \uB124 \uAC00\uC9C0\uB97C \uC5BB\uB294\uB2E4.
292
292
 
293
293
  - \`versions\` \u2014 \uB4A4\uCC98\uC9C4 \uD328\uD0A4\uC9C0\uC640 latest \uBC84\uC804
294
294
  - \`files\` \u2014 \uB204\uB77D\uB41C \uBCF4\uC77C\uB7EC\uD50C\uB808\uC774\uD2B8 \uD30C\uC77C
295
295
  - \`recommendedDeps\` \u2014 \uAD8C\uC7A5 \uC758\uC874\uC131\uC758 \uC120\uC5B8 \uC0C1\uD0DC(\`declared: false\`\uBA74 \uBBF8\uC120\uC5B8). **\uBC84\uC804 \uB300\uC870\uB85C\uB294 \uC548 \uC7A1\uD788\uB294 \uCD95**\uC774\uBBC0\uB85C \`migrations\`\uAC00 \uBE44\uC5B4 \uC788\uC5B4\uB3C4 \uB530\uB85C \uD655\uC778\uD55C\uB2E4
296
296
  - \`migrations\` \u2014 \uC801\uC6A9 \uAC00\uB2A5\uD55C \uB9C8\uC774\uADF8\uB808\uC774\uC158 \uD56D\uBAA9. \uAC01 \uD56D\uBAA9\uC740 \`label\`(\uD5E4\uB354 \uD45C\uAE30, \uC608: \`cli 0.43.0\` \uB610\uB294 \`core 0.32.0 \xB7 react 0.32.0\`) \xB7 \`requirements\`(\uC62C\uB824\uC57C \uD560 \uD328\uD0A4\uC9C0\xB7\uCD5C\uC18C \uBC84\uC804 \uC30D) \xB7 \`items\`(\uD56D\uBAA9 \uC81C\uBAA9)\uB97C \uAC00\uC9C4\uB2E4. \uD5E4\uB354\uC758 \uD328\uD0A4\uC9C0\uB97C \uADF8 \uBC84\uC804 \uC774\uC0C1\uC73C\uB85C \uC62C\uB9B0\uB2E4
297
297
 
298
+ **\uC885\uB8CC \uCF54\uB4DC 1\uC774\uC5B4\uB3C4 stdout\uC758 JSON\uC740 \uC815\uC0C1\uC774\uB2E4** \u2014 \uB85C\uADF8\uC778\xB7\uB9C1\uD06C\uB41C \uB808\uD3EC\uC5D0\uC11C\uB294 \uD3EC\uD138 \uC9C4\uB2E8(\`portal\`)\uC774 \uD568\uAED8 \uB3CC\uACE0, \uBC30\uCE58\uC5D0 error \uD56D\uBAA9\uC774 \uC788\uAC70\uB098 \uC9C4\uB2E8\uC774 \uC2E4\uD328\uD558\uBA74 1\uB85C \uB05D\uB09C\uB2E4. \`portal\`\uC740 \uBC30\uD3EC\uB41C \uBC30\uCE58\uC758 \uC0C1\uD0DC\uB77C \uB9C8\uC774\uADF8\uB808\uC774\uC158\uACFC \uBB34\uAD00\uD558\uBBC0\uB85C, 1\uC774 \uB098\uC654\uB2E4\uACE0 \uC9C4\uB2E8\uC744 \uC2E4\uD328\uB85C \uBCF4\uC9C0 \uB9D0\uACE0 JSON\uC744 \uADF8\uB300\uB85C \uC77D\uC5B4 \uC704 \uB124 \uD56D\uBAA9\uC73C\uB85C \uC9C4\uD589\uD55C\uB2E4(\uD3EC\uD138 \uBB38\uC81C\uB294 \uB530\uB85C \uC0AC\uC6A9\uC790\uC5D0\uAC8C \uC54C\uB9AC\uACE0 \`bstage-deploy\` \uC2A4\uD0AC\uB85C \uB118\uAE34\uB2E4).
299
+
298
300
  \`isBstageProject\`\uAC00 false\uBA74 bstage \uD504\uB85C\uC81D\uD2B8\uAC00 \uC544\uB2C8\uBBC0\uB85C \uC911\uB2E8\uD55C\uB2E4. \uB808\uC9C0\uC2A4\uD2B8\uB9AC \uC870\uD68C\uC5D0 \uC2E4\uD328\uD574 \`latestChecked\`\uAC00 false\uBA74 \uBC84\uC804 \uBE44\uAD50\uB97C \uBCF4\uB958\uD55C\uB2E4(\uBCF4\uC77C\uB7EC\uD50C\uB808\uC774\uD2B8\xB7\uD56D\uBAA9\uC740 \uACC4\uC18D \uC9C4\uD589 \uAC00\uB2A5).
299
301
 
300
302
  ## 1a. liquid \uB808\uD3EC\uC77C \uB54C
@@ -522,7 +524,7 @@ bstage deploy
522
524
 
523
525
  \uADF8 \uBC16\uC758 \uC9C4\uB2E8:
524
526
 
525
- - \`bstage doctor\` \u2014 SDK \uBC84\uC804 \uB4DC\uB9AC\uD504\uD2B8\xB7\uB204\uB77D \uD30C\uC77C \uC9C4\uB2E8(\uD30C\uC77C\uC744 \uACE0\uCE58\uC9C0 \uC54A\uB294\uB2E4)
527
+ - \`bstage doctor\` \u2014 SDK \uBC84\uC804 \uB4DC\uB9AC\uD504\uD2B8\xB7\uB204\uB77D \uD30C\uC77C \uC9C4\uB2E8, \uB85C\uADF8\uC778\xB7\uB9C1\uD06C\uB3FC \uC788\uC73C\uBA74 \uBC30\uCE58\uBCC4 \uD3EC\uD138 \uC9C4\uB2E8\uAE4C\uC9C0. \uD504\uB85C\uC81D\uD2B8 \uCF54\uB4DC\uB294 \uACE0\uCE58\uC9C0 \uC54A\uC9C0\uB9CC \`--json\` \uC5C6\uC774 \uC2E4\uD589\uD558\uBA74 SDK\uAC00 \uAD00\uB9AC\uD558\uB294 \uC2A4\uD0AC\xB7\`AGENTS.md\` \uAD00\uB9AC \uC601\uC5ED\uC774 \uB4A4\uCC98\uC84C\uC744 \uB54C \`bstage ai install\`\uACFC \uAC19\uC740 \uB3D9\uAE30\uD654\uB97C \uC790\uB3D9\uC73C\uB85C \uD55C\uB2E4
526
528
  - \`bstage ai doctor\` \u2014 \uC2A4\uD0AC\xB7\`AGENTS.md\`\uAC00 \uCD5C\uC2E0\uC778\uC9C0 \uD655\uC778(\uC624\uB798\uB410\uC73C\uBA74 \`bstage ai update\`)
527
529
  - \`bstage logs -f\` \u2014 \uCD5C\uADFC \uBE4C\uB4DC \uB85C\uADF8\uB97C \uB05D\uAE4C\uC9C0 \uB530\uB77C\uAC00\uBA70 \uBCF8\uB2E4
528
530
 
@@ -679,7 +681,7 @@ createTemplate(MyWidget, { name: 'my-widget' }) // Custom Element \uD0DC\uADF8\u
679
681
 
680
682
  - **\uD50C\uB7AB\uD3FC \uB124\uBE44\uAC8C\uC774\uC158**: \`useNavigation()\` \u2014 \`navigate\`/\`goBack\`/\`openExternal\`
681
683
  - **\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)
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\`). **\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.**
684
+ - **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.**
683
685
  - **\uC2AC\uB86F context**: \`useSlotContext<Id>()\` \u2014 \uD638\uC2A4\uD2B8\uAC00 \uB9C8\uC6B4\uD2B8 \uC2DC 1\uD68C \uC804\uB2EC\uD558\uB294 read-only \uAC12
684
686
  - **\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
685
687
  - **\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).
@@ -735,7 +737,7 @@ function skillsFor(kind) {
735
737
  }
736
738
 
737
739
  // src/agents/agentsMdRegion.ts
738
- var AGENTS_MANAGED_VERSION = 16;
740
+ var AGENTS_MANAGED_VERSION = 17;
739
741
  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. -->`;
740
742
  var END_MARKER = `<!-- BSTAGE:MANAGED:END -->`;
741
743
  var START_TOKEN = "BSTAGE:MANAGED:START";
@@ -848,7 +850,7 @@ var SDK_STRUCTURE_BLOCK = `src/
848
850
  main.tsx \u2014 App \uB9C8\uC6B4\uD2B8\uB9CC (\uC218\uC815 \uBD88\uD544\uC694)
849
851
  App.tsx \u2014 import.meta.glob \uAE30\uBC18 \uAC1C\uBC1C\uC6A9 \uBAA9\uB85D\xB7\uB77C\uC6B0\uD305 (\uC218\uC815 \uBD88\uD544\uC694)
850
852
  shared/
851
- client.ts \u2014 BstageClient \uC778\uC2A4\uD134\uC2A4 (API \uD0A4\uB294 .env\uC5D0\uC11C \uC8FC\uC785). \uC720\uC800\uB2E8 API\uB9CC \uC9C0\uC6D0
853
+ 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_)
852
854
  pages/
853
855
  {\uACBD\uB85C}/
854
856
  template.tsx \u2014 \uD398\uC774\uC9C0 (\uD3F4\uB354 \uAD6C\uC870\uAC00 \uACE7 \uBC30\uD3EC \uACBD\uB85C)
@@ -864,7 +866,7 @@ var SDK_ENV_SECTION = `\`.env\`(\uCEE4\uBC0B \uC548 \uB428)\uB294 phase\uC640 AP
864
866
  VITE_BSTAGE_PHASE=dev # dev | qa | real | sandbox
865
867
  \`\`\``;
866
868
  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.
867
- - \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.`;
869
+ - \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".`;
868
870
  var SDK_DOCS_SECTION = `## SDK \uBB38\uC11C
869
871
 
870
872
  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.4",
3
+ "version": "0.8.6",
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.4"
37
+ "@bstage-sdk/design": "0.8.6"
38
38
  },
39
39
  "license": "MIT",
40
40
  "scripts": {