Metadata-Version: 2.4
Name: nova-agent-language
Version: 0.1.0
Summary: A deterministic runtime for capability-aware agent execution
Author: Nova Contributors
License: MIT
Keywords: agents,capabilities,runtime,deterministic,programming-language
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: License :: OSI Approved :: MIT License
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cryptography>=42
Dynamic: license-file

# Nova v0.1.0 — Initial Public Prototype

**Nova** لغة ونظام تشغيل تجريبيان لتنفيذ وكلاء واعين بالقدرات. تجعل Nova الوكلاء والرسائل والقدرات الخطية والعقود والتفاوض والأدلة جزءًا من نموذج التنفيذ بدل تركها اتفاقيات خارجية بين التطبيقات.

## لماذا Nova؟

تواجه الأنظمة متعددة الوكلاء صعوبة في ضبط الصلاحيات، ومنع إعادة استخدام الموارد الحساسة، وإثبات ما حدث أثناء التنفيذ. تقدم Nova نواة حتمية صغيرة تجمع بين فحص ساكن للأنواع والقدرات، وBytecode VM بإطارات محلية، ورسائل موثقة، وسلسلة Evidence قابلة للتحقق.

## التثبيت من wheel

بعد بناء المشروع محليًا:

```bash
python -m pip install dist/nova_agent_language-0.1.0-py3-none-any.whl
nova --help
```

## تجربة سريعة

```bash
nova check examples/hello.nova
nova run examples/hello.nova
python -m unittest discover -s tests -v
```

## Architecture

```text
Nova source → Lexer → Parser → AST → Type/Capability Checker
            → Nova IR → Bytecode → deterministic VM
            → Proof/Evidence and optional authenticated transport
```

يحتوي المستودع على `nova/ast.py` للنماذج، و`lexer.py` و`parser.py` للغة، و`runtime.py` للفحص والترجمة والتنفيذ، و`distributed.py` للنقل الموثق، و`tests/` لاختبارات اللغة وhardening.

## Syntax مختصرة

تعرّف Nova الوكلاء والأفعال والقدرات والرسائل، مثل:

```nova
agent Greeter {
  action hello(name: Int) -> Proof {
    return proof
  }
}
```

يدعم parser أيضًا `if/else`، التعبيرات الحسابية والمنطقية، `send` و`receive`، `negotiate`، حالات `accept/reject/counter/defer/retry`، واستدعاء الأفعال مع arguments.

## Runtime وVM

يحوّل Compiler كل action إلى منطقة Bytecode مستقلة. ينفذ VM `CONST`, `LOAD`, `STORE`, العمليات الحسابية والمنطقية، القفزات، `CALL`, `RETURN`, `SEND`, `RECEIVE`, `CAP_RESTRICT`, `CAP_CONSUME`, العقود، التفاوض، Proof وEvidence. يستخدم كل استدعاء frame محليًا، ويطبق حد recursion، ويستعيد `env` و`stack` و`call_stack` عند النجاح أو الاستثناء.

## Capabilities وContracts

القدرات موارد خطية قابلة للمنح والتقييد والاستهلاك. لا يمكن استهلاك capability خطية مرتين، ولا يمكن لـ`restrict` توسيع `max/limit` أو `scope` المصدر، وتُرفض capability المفقودة. تفحص العقود شروطها وقت التشغيل، بما في ذلك التعبيرات البسيطة، قبل دخول التنفيذ.

## Negotiation وEvidence

تسجل حالات التفاوض المعلنة في Evidence، كما تسجل العمليات الحساسة مثل `CALL`, `SEND`, `RECEIVE`, `CAP_RESTRICT` و`CAP_CONSUME`. كل Proof يحمل `proof_id` حتميًا؛ **Proof references are deterministic identifiers and are not production zero-knowledge proofs.**

## Distributed messaging

يوفر `DistributedNode` توقيع Ed25519، ربط هوية peer، nonce وحماية replay، routing يعتمد receiver المسجل، والتحقق من الرسائل المشوهة أو receiver المزور.

> **DistributedNode provides authenticated point-to-point transport; it is not a Byzantine fault-tolerant consensus protocol.**

## Security model

تتضمن النواة فحصًا ساكنًا للأنواع والقدرات، ownership محافظًا عبر الفروع، runtime policy enforcement، canonical message payloads، Ed25519 peer authentication، replay protection، وEvidence chain تعتمد SHA-256. راجع `docs/hardening.md` و`security/threat_model.md` للتفاصيل.

## الاختبارات والجودة

شغّل كامل suite عبر:

```bash
python -m unittest discover -s tests -v
```

وتتضمن الاختبارات syntax وtype errors وlinear capabilities وnested CALL وrecursion cleanup وcontracts وnegotiation وProof IDs وSEND/RECEIVE وDistributedNode routing وforged receiver وmalformed messages وreplay. كما يمكن تشغيل `coverage run -m unittest discover -s tests`.

## البناء والنشر

```bash
python -m pip install --upgrade build
python -m build
```

ينتج ذلك `dist/nova_agent_language-0.1.0.tar.gz` و`dist/nova_agent_language-0.1.0-py3-none-any.whl`. اختبر التثبيت في بيئة منفصلة قبل أي نشر خارجي:

```bash
python -m venv test-env
source test-env/bin/activate
python -m pip install dist/nova_agent_language-0.1.0-py3-none-any.whl
python -c "import nova; print('Nova OK')"
```

بعد مراجعة metadata والتوقيع والاختبار، يمكن لمالك المشروع نشر الملفات إلى PyPI عبر `twine` وإنشاء GitHub Release باسم `v0.1.0`. لا تنفذ هذه الخطوة تلقائيًا لأنّها نشر خارجي يتطلب حساب المستخدم وموافقته.

## Limitations

هذه **Initial Public Prototype** وليست 1.0.0. لا يدعي الإصدار وجود zero-knowledge proofs إنتاجية، أو Byzantine consensus، أو sandboxing إنتاجي، أو public package registry، أو self-hosting كامل. النقل الموزع نموذج authenticated point-to-point، والـProof reference معرف حتمي لأغراض البحث والاختبار.

## الترخيص

المشروع مرخص بموجب MIT License. راجع `LICENSE`.
