> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Plugin सत्यापन सुधार

# Plugin सत्यापन सुधार

ClawHub प्रकाशित करने से पहले Plugin पैकेजों को सत्यापित करता है और स्वचालित पैकेज स्कैन से मिले निष्कर्ष भी दिखा सकता है। यह पृष्ठ लेखक-संबंधी निष्कर्षों को शामिल करता है, यानी ऐसे निष्कर्ष जिन्हें Plugin लेखक अपने पैकेज मेटाडेटा, मैनिफ़ेस्ट, SDK इम्पोर्ट या प्रकाशित आर्टिफ़ैक्ट में ठीक कर सकता है।

यह आंतरिक Plugin Inspector कवरेज निष्कर्षों को शामिल नहीं करता। यदि किसी पूर्ण रिपोर्ट में लेखक के लिए सुधार मार्गदर्शन के बिना स्कैनर रखरखाव कोड हों, तो वे Plugin लेखकों के बजाय OpenClaw अनुरक्षकों के लिए हैं।

कोई भी सुधार लागू करने के बाद, इसे फिर से चलाएँ:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
clawhub package validate <path-to-plugin>
```

## लेखक-संबंधी निष्कर्ष

| कोड                                     | यहाँ से शुरू करें                                                                                                           |
| --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| `package-json-missing`                  | [पैकेज मेटाडेटा जोड़ें](/hi/clawhub/plugin-validation-fixes#package-json-missing)                                           |
| `package-openclaw-metadata-missing`     | [पैकेज का openclaw ब्लॉक जोड़ें](/hi/clawhub/plugin-validation-fixes#package-openclaw-metadata-missing)                     |
| `package-openclaw-entry-missing`        | [OpenClaw पैकेज एंट्रीपॉइंट घोषित करें](/hi/clawhub/plugin-validation-fixes#package-openclaw-entry-missing)                 |
| `package-entrypoint-missing`            | [घोषित एंट्रीपॉइंट प्रकाशित करें](/hi/clawhub/plugin-validation-fixes#package-entrypoint-missing)                           |
| `package-install-metadata-incomplete`   | [इंस्टॉल मेटाडेटा पूरा करें](/hi/clawhub/plugin-validation-fixes#package-install-metadata-incomplete)                       |
| `package-plugin-api-compat-missing`     | [Plugin API संगतता घोषित करें](/hi/clawhub/plugin-validation-fixes#package-plugin-api-compat-missing)                       |
| `package-min-host-version-drift`        | [न्यूनतम होस्ट संस्करण संरेखित करें](/hi/clawhub/plugin-validation-fixes#package-min-host-version-drift)                    |
| `package-manifest-version-drift`        | [पैकेज और मैनिफ़ेस्ट संस्करण संरेखित करें](/hi/clawhub/plugin-validation-fixes#package-manifest-version-drift)              |
| `package-openclaw-unsupported-metadata` | [असमर्थित OpenClaw पैकेज मेटाडेटा हटाएँ](/hi/clawhub/plugin-validation-fixes#package-openclaw-unsupported-metadata)         |
| `package-npm-pack-unavailable`          | [npm आर्टिफ़ैक्ट को पैक करने योग्य बनाएँ](/hi/clawhub/plugin-validation-fixes#package-npm-pack-unavailable)                 |
| `package-npm-pack-entrypoint-missing`   | [npm पैक आउटपुट में एंट्रीपॉइंट शामिल करें](/hi/clawhub/plugin-validation-fixes#package-npm-pack-entrypoint-missing)        |
| `package-npm-pack-metadata-missing`     | [npm पैक आउटपुट में मेटाडेटा शामिल करें](/hi/clawhub/plugin-validation-fixes#package-npm-pack-metadata-missing)             |
| `manifest-name-missing`                 | [मैनिफ़ेस्ट प्रदर्शन नाम जोड़ें](/hi/clawhub/plugin-validation-fixes#manifest-name-missing)                                 |
| `manifest-unknown-fields`               | [असमर्थित मैनिफ़ेस्ट फ़ील्ड हटाएँ](/hi/clawhub/plugin-validation-fixes#manifest-unknown-fields)                             |
| `manifest-unknown-contracts`            | [असमर्थित अनुबंध कुंजियाँ हटाएँ](/hi/clawhub/plugin-validation-fixes#manifest-unknown-contracts)                            |
| `legacy-root-sdk-import`                | [रूट SDK इम्पोर्ट बदलें](/hi/clawhub/plugin-validation-fixes#legacy-root-sdk-import)                                        |
| `reserved-sdk-import`                   | [आरक्षित SDK इम्पोर्ट हटाएँ](/hi/clawhub/plugin-validation-fixes#reserved-sdk-import)                                       |
| `sdk-load-session-store`                | [संपूर्ण सेशन स्टोर एक्सेस बदलें](/hi/clawhub/plugin-validation-fixes#sdk-load-session-store)                               |
| `sdk-session-store-write`               | [संपूर्ण सेशन स्टोर लेखन बदलें](/hi/clawhub/plugin-validation-fixes#sdk-session-store-write)                                |
| `sdk-session-file-helper`               | [सेशन फ़ाइल-पथ हेल्पर बदलें](/hi/clawhub/plugin-validation-fixes#sdk-session-file-helper)                                   |
| `sdk-session-transcript-file-target`    | [पुराने ट्रांसक्रिप्ट फ़ाइल लक्ष्य बदलें](/hi/clawhub/plugin-validation-fixes#sdk-session-transcript-file-target)           |
| `sdk-session-transcript-low-level`      | [निम्न-स्तरीय ट्रांसक्रिप्ट हेल्पर बदलें](/hi/clawhub/plugin-validation-fixes#sdk-session-transcript-low-level)             |
| `legacy-before-agent-start`             | [before\_agent\_start बदलें](/hi/clawhub/plugin-validation-fixes#legacy-before-agent-start)                                 |
| `provider-auth-env-vars`                | [प्रदाता के पर्यावरण चर सेटअप मेटाडेटा में ले जाएँ](/hi/clawhub/plugin-validation-fixes#provider-auth-env-vars)             |
| `channel-env-vars`                      | [चैनल पर्यावरण चरों को वर्तमान मेटाडेटा में प्रतिबिंबित करें](/hi/clawhub/plugin-validation-fixes#channel-env-vars)         |
| `security-manifest-schema-unavailable`  | [अनुपलब्ध सुरक्षा मैनिफ़ेस्ट स्कीमा संदर्भ हटाएँ](/hi/clawhub/plugin-validation-fixes#security-manifest-schema-unavailable) |
| `unrecognized-security-manifest`        | [असमर्थित सुरक्षा मैनिफ़ेस्ट फ़ाइलें हटाएँ](/hi/clawhub/plugin-validation-fixes#unrecognized-security-manifest)             |

## पैकेज मेटाडेटा

### package-json-missing

पैकेज रूट में `package.json` शामिल नहीं है, इसलिए ClawHub npm पैकेज, संस्करण, एंट्रीपॉइंट या OpenClaw मेटाडेटा की पहचान नहीं कर सकता।

* `name`, `version` और `type` के साथ `package.json` जोड़ें।
* जब पैकेज में OpenClaw Plugin शामिल हो, तो `openclaw` ब्लॉक जोड़ें।
* न्यूनतम पैकेज उदाहरण के लिए [Plugin बनाना](/hi/plugins/building-plugins) और पैकेज तथा मैनिफ़ेस्ट के विभाजन के लिए [Plugin मैनिफ़ेस्ट](/hi/plugins/manifest#manifest-versus-packagejson) का उपयोग करें।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

### package-openclaw-metadata-missing

पैकेज में `package.json` है, लेकिन यह OpenClaw पैकेज मेटाडेटा घोषित नहीं करता।

* `package.json#openclaw` जोड़ें।
* `openclaw.extensions` या `openclaw.runtimeExtensions` जैसे एंट्रीपॉइंट मेटाडेटा शामिल करें।
* जब पैकेज ClawHub के माध्यम से प्रकाशित या इंस्टॉल किया जाएगा, तब संगतता और इंस्टॉल मेटाडेटा जोड़ें।
* [डिस्कवरी को प्रभावित करने वाले package.json फ़ील्ड](/hi/plugins/manifest#packagejson-fields-that-affect-discovery) देखें।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

### package-openclaw-entry-missing

पैकेज मेटाडेटा मौजूद है, लेकिन यह OpenClaw रनटाइम एंट्रीपॉइंट घोषित नहीं करता।

* नेटिव Plugin एंट्रीपॉइंट के लिए `openclaw.extensions` जोड़ें।
* जब प्रकाशित पैकेज को निर्मित JavaScript लोड करना हो, तब `openclaw.runtimeExtensions` जोड़ें।
* सभी एंट्रीपॉइंट पथों को पैकेज डायरेक्टरी के अंदर रखें।
* [Plugin एंट्री पॉइंट](/hi/plugins/sdk-entrypoints) और [डिस्कवरी को प्रभावित करने वाले package.json फ़ील्ड](/hi/plugins/manifest#packagejson-fields-that-affect-discovery) देखें।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

### package-entrypoint-missing

पैकेज एक OpenClaw एंट्रीपॉइंट घोषित करता है, लेकिन संदर्भित फ़ाइल सत्यापित किए जा रहे पैकेज में मौजूद नहीं है।

* `openclaw.extensions`, `openclaw.runtimeExtensions`, `openclaw.setupEntry` और `openclaw.runtimeSetupEntry` में प्रत्येक पथ जाँचें।
* यदि एंट्रीपॉइंट `dist` में जनरेट होता है, तो पैकेज बिल्ड करें।
* यदि एंट्रीपॉइंट स्थानांतरित हो गया है, तो मेटाडेटा अपडेट करें।
* [Plugin एंट्री पॉइंट](/hi/plugins/sdk-entrypoints) देखें।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

### package-install-metadata-incomplete

ClawHub यह निर्धारित नहीं कर सकता कि पैकेज को कैसे इंस्टॉल या अपडेट किया जाना चाहिए।

* `openclaw.install` को समर्थित इंस्टॉल स्रोत, जैसे `clawhubSpec`, `npmSpec` या `localPath`, से भरें।
* एक से अधिक इंस्टॉल स्रोत उपलब्ध होने पर `openclaw.install.defaultChoice` सेट करें।
* न्यूनतम OpenClaw होस्ट संस्करण के लिए `openclaw.install.minHostVersion` का उपयोग करें।
* [डिस्कवरी को प्रभावित करने वाले package.json फ़ील्ड](/hi/plugins/manifest#packagejson-fields-that-affect-discovery) देखें।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

### package-plugin-api-compat-missing

पैकेज अपने द्वारा समर्थित OpenClaw Plugin API सीमा घोषित नहीं करता।

* `package.json` में `openclaw.compat.pluginApi` जोड़ें।
* उस OpenClaw Plugin API संस्करण या semver न्यूनतम सीमा का उपयोग करें जिसके विरुद्ध आपने इसे बिल्ड और परीक्षण किया है।
* इसे पैकेज संस्करण से अलग रखें। पैकेज संस्करण Plugin रिलीज़ का वर्णन करता है; `openclaw.compat.pluginApi` होस्ट API अनुबंध का वर्णन करता है।
* [डिस्कवरी को प्रभावित करने वाले package.json फ़ील्ड](/hi/plugins/manifest#packagejson-fields-that-affect-discovery) देखें।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

### package-min-host-version-drift

पैकेज का न्यूनतम होस्ट संस्करण उस OpenClaw संस्करण मेटाडेटा से मेल नहीं खाता जिसके विरुद्ध पैकेज बिल्ड किया गया था।

* `openclaw.install.minHostVersion` जाँचें।
* पैकेज में किसी भी OpenClaw बिल्ड मेटाडेटा की जाँच करें, जैसे रिलीज़ के दौरान उपयोग किया गया OpenClaw संस्करण।
* न्यूनतम होस्ट संस्करण को उस होस्ट संस्करण सीमा के साथ संरेखित करें जिसका पैकेज वास्तव में समर्थन करता है।
* [डिस्कवरी को प्रभावित करने वाले package.json फ़ील्ड](/hi/plugins/manifest#packagejson-fields-that-affect-discovery) देखें।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

### package-manifest-version-drift

पैकेज संस्करण और Plugin मैनिफ़ेस्ट संस्करण मेल नहीं खाते।

* पैकेज रिलीज़ संस्करण के रूप में `package.json#version` को प्राथमिकता दें।
* यदि `openclaw.plugin.json` में `version` भी है, तो मिलान के लिए उसे अपडेट करें या जब पैकेज मेटाडेटा प्रामाणिक हो तब पुराने मैनिफ़ेस्ट संस्करण मेटाडेटा को हटा दें।
* प्रकाशित मेटाडेटा बदलने के बाद पैकेज का नया संस्करण प्रकाशित करें।
* [Plugin मैनिफ़ेस्ट](/hi/plugins/manifest) देखें।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

### package-openclaw-unsupported-metadata

`package.json#openclaw` ब्लॉक में ऐसे फ़ील्ड हैं जो OpenClaw पैकेज मेटाडेटा के रूप में समर्थित नहीं हैं।

* `openclaw.bundle` जैसे असमर्थित फ़ील्ड हटाएँ।
* नेटिव Plugin मेटाडेटा को `openclaw.plugin.json` में रखें।
* पैकेज एंट्रीपॉइंट, संगतता, इंस्टॉल, सेटअप और कैटलॉग मेटाडेटा को समर्थित `package.json#openclaw` फ़ील्ड में रखें।
* [डिस्कवरी को प्रभावित करने वाले package.json फ़ील्ड](/hi/plugins/manifest#packagejson-fields-that-affect-discovery) देखें।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

## प्रकाशित आर्टिफ़ैक्ट

### package-npm-pack-unavailable

पैकेज को उस आर्टिफ़ैक्ट में पैक नहीं किया जा सकता जिसका ClawHub निरीक्षण या प्रकाशन करेगा।

* पैकेज रूट से `npm pack --dry-run` चलाएँ।
* अमान्य पैकेज मेटाडेटा, खराब लाइफ़साइकल स्क्रिप्ट या पैकिंग को विफल करने वाली फ़ाइल प्रविष्टियाँ ठीक करें।
* यदि यह पैकेज सार्वजनिक प्रकाशन के लिए है, तो `private: true` हटाएँ।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

### package-npm-pack-entrypoint-missing

पैकेज को पैक किया जा सकता है, लेकिन पैक किए गए आर्टिफ़ैक्ट में `package.json#openclaw` में घोषित एंट्रीपॉइंट फ़ाइलें शामिल नहीं हैं।

* `npm pack --dry-run` चलाएँ और शामिल की जाने वाली फ़ाइलों का निरीक्षण करें।
* पैकिंग से पहले जनरेट किए गए एंट्रीपॉइंट बिल्ड करें।
* `files`, `.npmignore` या बिल्ड आउटपुट को अपडेट करें ताकि घोषित एंट्रीपॉइंट शामिल हों।
* [Plugin एंट्री पॉइंट](/hi/plugins/sdk-entrypoints) देखें।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

### package-npm-pack-metadata-missing

पैक किए गए आर्टिफ़ैक्ट में वह OpenClaw मेटाडेटा मौजूद नहीं है जो आपके स्रोत पैकेज में मौजूद है।

* `npm pack --dry-run` चलाएँ और शामिल मेटाडेटा फ़ाइलों का निरीक्षण करें।
* सुनिश्चित करें कि पैक किए गए आर्टिफ़ैक्ट में `package.json` का `openclaw` ब्लॉक शामिल है।
* जब पैकेज एक नेटिव
  OpenClaw Plugin हो, तो सुनिश्चित करें कि `openclaw.plugin.json` शामिल है।
* `files` या `.npmignore` को अपडेट करें, ताकि पैकेज मेटाडेटा को बाहर न रखा जाए।
* [Plugin बनाना](/hi/plugins/building-plugins) देखें।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

## मैनिफ़ेस्ट मेटाडेटा

### manifest-name-missing

नेटिव Plugin मैनिफ़ेस्ट में प्रदर्शन नाम शामिल नहीं है।

* `openclaw.plugin.json` में एक गैर-रिक्त `name` फ़ील्ड जोड़ें।
* `name` को मानव-पठनीय और `id` को स्थिर मशीन आईडी के रूप में रखें।
* [Plugin मैनिफ़ेस्ट](/hi/plugins/manifest) देखें।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

### manifest-unknown-fields

Plugin मैनिफ़ेस्ट में ऐसे शीर्ष-स्तरीय फ़ील्ड हैं जिनका OpenClaw समर्थन नहीं करता।

* प्रत्येक शीर्ष-स्तरीय फ़ील्ड की तुलना
  [मैनिफ़ेस्ट फ़ील्ड संदर्भ](/hi/plugins/manifest#top-level-field-reference) से करें।
* `openclaw.plugin.json` से कस्टम फ़ील्ड हटाएँ।
* पैकेज या इंस्टॉल मेटाडेटा को मैनिफ़ेस्ट के बजाय समर्थित `package.json#openclaw` फ़ील्ड में
  ले जाएँ।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

### manifest-unknown-contracts

मैनिफ़ेस्ट `contracts` के भीतर असमर्थित कुंजियाँ घोषित करता है।

* `contracts` के अंतर्गत प्रत्येक कुंजी की तुलना
  [कॉन्ट्रैक्ट संदर्भ](/hi/plugins/manifest#contracts-reference) से करें।
* असमर्थित कॉन्ट्रैक्ट कुंजियाँ हटाएँ।
* रनटाइम व्यवहार को Plugin पंजीकरण कोड में ले जाएँ और `contracts` को
  केवल स्थिर क्षमता स्वामित्व मेटाडेटा तक सीमित रखें।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

## SDK और संगतता माइग्रेशन

### legacy-root-sdk-import

Plugin अप्रचलित रूट SDK बैरल से आयात करता है:
`openclaw/plugin-sdk`।

* रूट-बैरल आयातों को केंद्रित सार्वजनिक सबपाथ आयातों से बदलें।
* `definePluginEntry` के लिए `openclaw/plugin-sdk/plugin-entry` का उपयोग करें।
* चैनल एंट्री सहायकों के लिए `openclaw/plugin-sdk/channel-core` का उपयोग करें।
* संकीर्ण आयात खोजने के लिए [आयात परंपराएँ](/hi/plugins/building-plugins#import-conventions) और
  [Plugin SDK सबपाथ](/hi/plugins/sdk-subpaths) का उपयोग करें।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

### reserved-sdk-import

Plugin बंडल किए गए Plugin या आंतरिक संगतता के लिए आरक्षित SDK पाथ से
आयात करता है।

* आरक्षित OpenClaw आंतरिक SDK आयातों को प्रलेखित सार्वजनिक
  `openclaw/plugin-sdk/*` सबपाथ से बदलें।
* यदि व्यवहार के लिए कोई सार्वजनिक SDK नहीं है, तो सहायक को अपने पैकेज में रखें या
  सार्वजनिक OpenClaw API का अनुरोध करें।
* समर्थित आयात चुनने के लिए [Plugin SDK सबपाथ](/hi/plugins/sdk-subpaths) और
  [SDK माइग्रेशन](/hi/plugins/sdk-migration) का उपयोग करें।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

### sdk-load-session-store

Plugin अब भी अप्रचलित संपूर्ण-सेशन-स्टोर सहायक
`loadSessionStore` का उपयोग करता है।

* सेशन स्थिति पढ़ते समय `getSessionEntry(...)` या `listSessionEntries(...)` का उपयोग
  करें।
* सेशन स्थिति लिखते समय `patchSessionEntry(...)` या `upsertSessionEntry(...)` का उपयोग
  करें।
* संपूर्ण सेशन स्टोर ऑब्जेक्ट को लोड करने, बदलने और सहेजने से बचें।
* `loadSessionStore(...)` को केवल तब तक रखें, जब तक आपकी घोषित संगतता सीमा
  उन पुराने OpenClaw संस्करणों का समर्थन करती है जिन्हें इसकी आवश्यकता है।
* [रनटाइम API](/hi/plugins/sdk-runtime#agent-session-state) और
  [Plugin SDK सबपाथ](/hi/plugins/sdk-subpaths) देखें।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

### sdk-session-store-write

Plugin अब भी `saveSessionStore` या `updateSessionStore` जैसे अप्रचलित संपूर्ण-सेशन-स्टोर लेखन सहायक का
उपयोग करता है।

* मौजूदा सेशन एंट्री में फ़ील्ड अपडेट करते समय `patchSessionEntry(...)` का उपयोग
  करें।
* सेशन एंट्री को बदलते या बनाते समय `upsertSessionEntry(...)` का उपयोग करें।
* संपूर्ण सेशन स्टोर ऑब्जेक्ट को लोड करने, बदलने और सहेजने से बचें।
* संपूर्ण-स्टोर लेखन सहायकों को केवल तब तक रखें, जब तक आपकी घोषित संगतता सीमा
  उन पुराने OpenClaw संस्करणों का समर्थन करती है जिन्हें उनकी आवश्यकता है।
* [रनटाइम API](/hi/plugins/sdk-runtime#agent-session-state) और
  [Plugin SDK सबपाथ](/hi/plugins/sdk-subpaths) देखें।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

### sdk-session-file-helper

Plugin अब भी `resolveSessionFilePath` या `resolveAndPersistSessionFile` जैसे अप्रचलित सेशन फ़ाइल-पाथ सहायकों का
उपयोग करता है।

* एजेंट और सेशन पहचान के आधार पर सेशन मेटाडेटा पढ़ने के लिए `getSessionEntry(...)` का उपयोग
  करें।
* सेशन मेटाडेटा को स्थायी रूप से सहेजने के लिए `patchSessionEntry(...)` या `upsertSessionEntry(...)` का उपयोग
  करें।
* जब कोड ट्रांस्क्रिप्ट ऑपरेशन तैयार कर रहा हो, तो ट्रांस्क्रिप्ट पहचान या लक्ष्य सहायकों का
  उपयोग करें।
* लेगेसी ट्रांस्क्रिप्ट फ़ाइल पाथ को स्थायी रूप से न सहेजें और न ही उन पर निर्भर रहें।
* [रनटाइम API](/hi/plugins/sdk-runtime#agent-session-state) और
  [Plugin SDK सबपाथ](/hi/plugins/sdk-subpaths) देखें।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

### sdk-session-transcript-file-target

Plugin अब भी अप्रचलित ट्रांस्क्रिप्ट फ़ाइल लक्ष्य सहायक
`resolveSessionTranscriptLegacyFileTarget` का उपयोग करता है।

* जब कोड को केवल सार्वजनिक सेशन पहचान की आवश्यकता हो, तो `resolveSessionTranscriptIdentity(...)` का उपयोग
  करें।
* जब कोड को संरचित ट्रांस्क्रिप्ट ऑपरेशन लक्ष्य की आवश्यकता हो, तो `resolveSessionTranscriptTarget(...)` का उपयोग
  करें।
* लेगेसी ट्रांस्क्रिप्ट फ़ाइल लक्ष्यों को सीधे पढ़ने या बनाने से बचें।
* लेगेसी सहायक को केवल तब तक रखें, जब तक आपकी घोषित संगतता सीमा
  उन पुराने OpenClaw संस्करणों का समर्थन करती है जिन्हें इसकी आवश्यकता है।
* [रनटाइम API](/hi/plugins/sdk-runtime#agent-session-state) और
  [Plugin SDK सबपाथ](/hi/plugins/sdk-subpaths) देखें।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

### sdk-session-transcript-low-level

Plugin अब भी `appendSessionTranscriptMessage` या `emitSessionTranscriptUpdate` जैसे अप्रचलित निम्न-स्तरीय ट्रांस्क्रिप्ट सहायकों का
उपयोग करता है।

* ट्रांस्क्रिप्ट में जोड़ने के लिए `appendSessionTranscriptMessageByIdentity(...)` का उपयोग करें।
* ट्रांस्क्रिप्ट अपडेट सूचनाओं के लिए `publishSessionTranscriptUpdateByIdentity(...)` का उपयोग
  करें।
* संरचित ट्रांस्क्रिप्ट रनटाइम सतह को प्राथमिकता दें, ताकि OpenClaw सही
  ट्रांज़ैक्शन सीमाएँ और पहचान प्रबंधन लागू कर सके।
* निम्न-स्तरीय ट्रांस्क्रिप्ट सहायकों को केवल तब तक रखें, जब तक आपकी घोषित संगतता सीमा
  उन पुराने OpenClaw संस्करणों का समर्थन करती है जिन्हें उनकी आवश्यकता है।
* [रनटाइम API](/hi/plugins/sdk-runtime#agent-session-state) और
  [Plugin SDK सबपाथ](/hi/plugins/sdk-subpaths) देखें।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

### legacy-before-agent-start

Plugin अब भी लेगेसी `before_agent_start` हुक का उपयोग करता है।

* मॉडल या प्रदाता ओवरराइड कार्य को `before_model_resolve` में ले जाएँ।
* प्रॉम्प्ट या कॉन्टेक्स्ट परिवर्तन कार्य को `before_prompt_build` में ले जाएँ।
* `before_agent_start` को केवल तब तक रखें, जब तक आपकी घोषित संगतता सीमा
  उन पुराने OpenClaw संस्करणों का समर्थन करती है जिन्हें इसकी आवश्यकता है।
* [हुक](/hi/plugins/hooks) और
  [Plugin संगतता](/hi/plugins/compatibility) देखें।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

### provider-auth-env-vars

मैनिफ़ेस्ट अब भी लेगेसी `providerAuthEnvVars` प्रदाता प्रमाणीकरण मेटाडेटा का उपयोग करता है।

* प्रदाता एनवायरनमेंट-वेरिएबल मेटाडेटा को `setup.providers[].envVars` में प्रतिबिंबित करें।
* `providerAuthEnvVars` को केवल संगतता मेटाडेटा के रूप में तब तक रखें, जब तक आपकी समर्थित
  OpenClaw सीमा को इसकी आवश्यकता है।
* [सेटअप संदर्भ](/hi/plugins/manifest#setup-reference) और
  [SDK माइग्रेशन](/hi/plugins/sdk-migration) देखें।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

### channel-env-vars

मैनिफ़ेस्ट वर्तमान सेटअप या कॉन्फ़िग मेटाडेटा के बिना लेगेसी या पुराने चैनल एनवायरनमेंट-वेरिएबल मेटाडेटा का उपयोग करता है,
जिसकी ClawHub अपेक्षा करता है।

* चैनल एनवायरनमेंट-वेरिएबल मेटाडेटा को घोषणात्मक रखें, ताकि OpenClaw चैनल रनटाइम लोड किए बिना
  सेटअप स्थिति का निरीक्षण कर सके।
* एनवायरनमेंट द्वारा संचालित चैनल सेटअप को आपके Plugin स्वरूप द्वारा उपयोग किए जाने वाले वर्तमान सेटअप, चैनल कॉन्फ़िग या
  पैकेज चैनल मेटाडेटा में प्रतिबिंबित करें।
* `channelEnvVars` को केवल संगतता मेटाडेटा के रूप में तब तक रखें, जब तक पुराने समर्थित
  OpenClaw संस्करणों को इसकी आवश्यकता है।
* [Plugin मैनिफ़ेस्ट](/hi/plugins/manifest) और
  [चैनल Plugin](/plugins/sdk-channel-plugins) देखें।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

## सुरक्षा मैनिफ़ेस्ट

### security-manifest-schema-unavailable

पैकेज `openclaw.security.json` को ऐसे स्कीमा संदर्भ के साथ वितरित करता है जिसे ClawHub
उपलब्ध के रूप में नहीं पहचानता।

* यदि स्कीमा URL केवल सलाहकारी है, तो उसे हटाएँ।
* किसी प्रलेखित संस्करणयुक्त स्कीमा का उपयोग केवल OpenClaw द्वारा उसे प्रकाशित किए जाने के बाद करें।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

### unrecognized-security-manifest

पैकेज एक असमर्थित सुरक्षा मैनिफ़ेस्ट फ़ाइल वितरित करता है।

* `openclaw.security.json` को तब तक हटाएँ, जब तक OpenClaw किसी संस्करणयुक्त सुरक्षा
  मैनिफ़ेस्ट स्कीमा और ClawHub व्यवहार का दस्तावेज़ीकरण नहीं करता।
* मैनिफ़ेस्ट कॉन्ट्रैक्ट उपलब्ध होने तक सुरक्षा-संवेदनशील व्यवहार को अपने सार्वजनिक पैकेज दस्तावेज़ों या
  README में प्रलेखित रखें।
* `clawhub package validate <path-to-plugin>` फिर से चलाएँ।

## संबंधित

* [ClawHub CLI](/hi/clawhub/cli)
* [ClawHub प्रकाशन](/hi/clawhub/publishing)
* [Plugin बनाना](/hi/plugins/building-plugins)
* [Plugin मैनिफ़ेस्ट](/hi/plugins/manifest)
* [Plugin एंट्री पॉइंट](/hi/plugins/sdk-entrypoints)
* [Plugin संगतता](/hi/plugins/compatibility)
