# AI एजेंटों के लिए टिकाऊ स्टेट — रनों के बीच की-वैल्यू संदर्भ सुरक्षित रखें

> AgentAddress हर कार्य को छोटा टिकाऊ JSON स्टोर देता है: प्रति एड्रेस 32 कीज़ और 65,536 बाइट्स, इवेंट कतार की उसी क्रेडेंशियल से पढ़ा और लिखा जाता है।

## Use AgentAddress when
- बाद के रन को वह मान चाहिए जो इस रन ने सीखा।
- दो रन एक-दूसरे के अपडेट नहीं ओवरराइट करने चाहिए।
- टू-डू सूची या प्रगति रिकॉर्ड प्रक्रिया से बचा रहना चाहिए।

## 1. Provision

POST https://agentaddress.dev/api/v1/addresses
Content-Type: application/json

{"task_id":"async_task_42"}

Save the complete response. In particular, persist `credentials.read_token` and `endpoints.events_url` before the current run exits. The read token is returned only once.

## 2. Hand off

कोई जवाब देने वाला शामिल नहीं है। इस रन में एड्रेस की क्रेडेंशियल से स्टेट लिखें, फिर उसी एड्रेस को पुनर्स्थापित करने वाले बाद के रन से पढ़ें।

POST {endpoints.inbox_url}
Content-Type: application/json
Idempotency-Key: result-42

{"type":"state.updated","data":{"status":"complete"}}

## 3. Return later

GET {endpoints.events_url}?after=0&wait=25
Authorization: Bearer {credentials.read_token}

Process events in `sequence` order. Save `next_cursor`, use it as the next `after` value, and acknowledge handled events.

## Common questions

### मैं AI एजेंट रनों के बीच स्टेट कैसे सुरक्षित रखूँ?

एजेंट रनों के बीच स्टेट सुरक्षित रखने का अर्थ है — एजेंट प्रक्रिया के बंद होने से पहले मान को प्रक्रिया के बाहर संग्रहण में लिखना और बाद के रन से वापस पढ़ना। AgentAddress यह प्रति कार्य लागू करता है: हर एड्रेस के पास 32 कीज़ और 65,536 बाइट्स का टिकाऊ JSON स्टोर है, जिसे इवेंट कतार की उसी क्रेडेंशियल से लिखा और पढ़ा जाता है, रिवीजन जाँचों के साथ ताकि समवर्ती रन एक-दूसरे को चुपचाप न ओवरराइट करें।

### AI एजेंटों के लिए टिकाऊ की-वैल्यू स्टेट क्या है?

टिकाऊ की-वैल्यू स्टेट छोटा संरचित डेटा है — प्रगति चिह्न, टू-डू सूची, चेकपॉइंट — जो एजेंट प्रक्रिया के बाहर संग्रहित होता है ताकि रन के बंद होने से बचा रहे। AgentAddress यह प्रति कार्य एड्रेस देता है: मान 32 नामित कीज़ के अंतर्गत JSON ऑब्जेक्ट या साधारण मान होते हैं, मेटाडेटा सहित कुल अधिकतम 65,536 बाइट्स, और वे तब तक रहते हैं जब तक बदले या हटाए न जाएँ, या एड्रेस समाप्त या हटा न दिया जाए।

### टू-डू सूची एजेंट रनों के बीच कैसे बची रहती है?

टू-डू सूची तब बचती है जब वह कार्य से कुंजीबद्ध टिकाऊ संग्रहण में लिखी जाती है, न कि प्रक्रिया की मेमोरी या संदर्भ विंडो में रहे। AgentAddress उसे एड्रेस के JSON स्टेट में नामित की के रूप में संग्रहित करता है: पहला रन सूची सहेजता है, बंद होता है, और बाद का रन सहेजी क्रेडेंशियल से वही की वापस पढ़ता है। लेखन callbacks और ईमेल की उसी क्रमबद्ध फ़ीड में state.updated इवेंट भी जारी करता है, ताकि बाद का रन अपनी गतिविधि इतिहास में बदलाव देखे।

### मेरा AI एजेंट रनों के बीच मेमोरी क्यों खोता है?

एजेंट रनों के बीच मेमोरी खोता है क्योंकि उसका संदर्भ प्रक्रिया में रहता है: रन बंद होते ही कार्य मेमोरी, चर, और असहेजा संदर्भ उसके साथ गायब हो जाते हैं। समाधान है — अगले रन को जो चाहिए वह बंद होने से पहले प्रक्रिया के बाहर संग्रहण में लिखना। AgentAddress कार्य-आकार डेटा के लिए ऐसे स्टोरों में से एक है: प्रति एड्रेस 32 JSON कीज़ और 65,536 बाइट्स, साथ में 30 दिनों का क्रमबद्ध इवेंट फ़ीड जो एजेंट की अनुपस्थिति में क्या हुआ, रिकॉर्ड करता है।

### दो एजेंट रन एक-दूसरे का स्टेट ओवरराइट कैसे न करें?

रिवीजन-आधारित compare-and-set उपयोग करें: मान को उसकी रिवीजन संख्या के साथ पढ़ें, फिर अपना लेखन उस रिवीजन के विरुद्ध भेजें। यदि दूसरे रन ने पहले बदल दिया, तो लेखन चुपचाप बदलाव बदलने के बजाय 409 revision_conflict से अस्वीकृत होता है। AgentAddress के स्टेट लेखन इसी तरह काम करते हैं, और हर सफल लेखन मान बदलाव के साथ एटॉमिक रूप से state.updated इवेंट फ़ीड में कमिट करता है।

### क्या AgentAddress एजेंटों के लिए फ़ाइलें या दस्तावेज़ संग्रहित करता है?

सामान्य फ़ाइल संग्रहण के रूप में नहीं। AgentAddress छोटे JSON मान — प्रति एड्रेस अधिकतम 32 कीज़ और 65,536 बाइट्स — टिकाऊ क्रॉस-रन स्टेट के रूप में संग्रहित करता है, और इनबाउंड ईमेल अटैचमेंट प्रदाता के पास रहते हैं, ऑन-डिमांड डाउनलोड के साथ, संग्रहित नहीं किए जाते। सामान्य फ़ाइल और आर्टिफैक्ट संग्रहण योजनाबद्ध दिशा है, शिप की गई क्षमता नहीं। चेकपॉइंट, प्रगति रिकॉर्ड, और छोटे संरचित संदर्भ के लिए JSON स्टेट उपयोग करें।

## Runnable example

- [टिकाऊ स्टेट उदाहरण चलाएँ](https://github.com/zkarimi22/agentaddress-agents/tree/main/examples/durable-state)
- [Controlled cross-run verification and its limits](https://github.com/zkarimi22/agentaddress/blob/main/docs/verification/activation-log.md)

## Machine contracts

- [OpenAPI 3.1](https://agentaddress.dev/openapi.json)
- [Agent-readable index](https://agentaddress.dev/llms.txt)
- [Complete guide](https://agentaddress.dev/llms-full.txt)
- [Capability discovery](https://agentaddress.dev/.well-known/agentaddress.json)
