A previous release had provenance metadata, but this release does not. View details.
Nova v0.1.0 — Initial Public Prototype
Nova لغة ونظام تشغيل تجريبيان لتنفيذ وكلاء واعين بالقدرات. تجعل Nova الوكلاء والرسائل والقدرات الخطية والعقود والتفاوض والأدلة جزءًا من نموذج التنفيذ بدل تركها اتفاقيات خارجية بين التطبيقات.
لماذا Nova؟
تواجه الأنظمة متعددة الوكلاء صعوبة في ضبط الصلاحيات، ومنع إعادة استخدام الموارد الحساسة، وإثبات ما حدث أثناء التنفيذ. تقدم Nova نواة حتمية صغيرة تجمع بين فحص ساكن للأنواع والقدرات، وBytecode VM بإطارات محلية، ورسائل موثقة، وسلسلة Evidence قابلة للتحقق.
التثبيت من wheel
بعد بناء المشروع محليًا:
python -m pip install dist/nova_agent_language-0.1.0-py3-none-any.whl
nova --help
تجربة سريعة
nova check examples/hello.nova
nova run examples/hello.nova
python -m unittest discover -s tests -v
Architecture
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 الوكلاء والأفعال والقدرات والرسائل، مثل:
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 عبر:
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.
البناء والنشر
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. اختبر التثبيت في بيئة منفصلة قبل أي نشر خارجي:
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.
Metadata
Release files for nova-agent-language 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Loss of provenance
These files do not have provenance metadata, despite files in a prior release including this data.
We recommend further investigation before installing these files. View details.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| nova_agent_language-0.1.1.tar.gz | 24.1 kB | Without provenance | Details for nova_agent_language-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| nova_agent_language-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for nova_agent_language-0.1.1-py3-none-any.whl |
Total release size: 45.0 kB
Release files / nova_agent_language-0.1.1.tar.gz
Loss of provenance
This file belongs to a release without provenance metadata, despite a prior release including this data.
We recommend further investigation before installing this file. View details.
| Download URL | nova_agent_language-0.1.1.tar.gz |
|---|---|
| Size | 24.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
37c64913b9bb5f189dcf2a14fc66830294794695d9e94ef400b05becd08f565f
|
|
BLAKE2b-256 checksum How to use checksums |
f12bef057c9e7626c874e8a538808c878b9a1eae252425ad067a0363d9035e05
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / nova_agent_language-0.1.1-py3-none-any.whl
Loss of provenance
This file belongs to a release without provenance metadata, despite a prior release including this data.
We recommend further investigation before installing this file. View details.
| Download URL | nova_agent_language-0.1.1-py3-none-any.whl |
|---|---|
| Size | 20.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
54a9e5f4c1e1945c675b43a15f002f1560f9905c9d0e341245cb4427d83835f6
|
|
BLAKE2b-256 checksum How to use checksums |
e7840aeedb21b31ab46fee65c99c66eb88ad0e803eca476816a13ab19b4993d6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Security for nova-agent-language 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Loss of provenance
A previous release of these files had provenance metadata, but this release does not.
While this could reflect a routine change by the project maintainers, it may also indicate that the release files have been compromised.
Release comparison
- Removed 0.1.0 2 files With provenance
- Added 0.1.1 2 files Without provenance
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.