# 套件

套件會把一個 Mini App 和它的 Extension、技能一起安裝。這個模組讓 Mini App 讀取自己所屬的套件，從而知道哪些 Extension 是和它一起來的。

## MAESTROSDK.package.get() <Badge type="warning" text="尚未發布" />

回傳這個 Mini App 安裝來源的套件。Cowork 依它所在的分頁判斷是哪個 Mini App 在呼叫；頁面無法查詢其他套件。

### 參數

無。

### 回傳值

`Promise<PackageInfo | null>`

| 欄位 | 類型 | 說明 |
|---|---|---|
| `name` | `string` | 套件名稱，來自它的 `package.json` |
| `version` | `string` | 套件版本 |
| `resources[].kind` | `'extension' \| 'skill' \| 'miniapp'` | 資源是什麼 |
| `resources[].name` | `string` | Extension 名稱、技能資料夾名稱，或 Mini App 的 `appId` |

`resources` 只列出這個套件實際載入的內容。名稱已被另外單獨安裝的副本佔用的資源，或自身資訊清單無法讀取的資源，不會列出。不會回傳任何路徑或安裝來源。

### 回傳 `null` 的情況

| 情況 |
|---|
| 這個 Mini App 是單獨安裝的，不是來自套件 |
| 頁面不是已安裝的 Mini App（是內建 Mini App 或網頁） |
| 套件已解除安裝，或它的資料夾已不存在 |
| 呼叫失敗 |

### 示例

```js
const info = await MAESTROSDK.package.get();
if (info) {
  const extensions = info.resources.filter((r) => r.kind === 'extension').map((r) => r.name);
  title.textContent = `${info.name} ${info.version}`;
  list.textContent = extensions.join(', ');
}
```

結果是唯讀的。它不會啟動、停止或核准 Extension；這些仍在 **設定 › 擴充功能** 裡進行。

## 相關

- [Extension SDK](https://docs.micromeet.ai/zh-tw/extension-sdk/overview.md): 那些 Extension 可以呼叫什麼
- [概覽](https://docs.micromeet.ai/zh-tw/miniapp-sdk/overview.md): Mini App SDK 的所有模組
