@tera-system/core 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +54 -8
- package/MANIFEST.json +1 -1
- package/README.md +64 -13
- package/RELEASES.md +20 -3
- package/package.json +1 -1
package/LICENSE.md
CHANGED
|
@@ -1,13 +1,59 @@
|
|
|
1
1
|
# License
|
|
2
2
|
|
|
3
|
-
© 2026 Majed — Tera System. All rights reserved.
|
|
3
|
+
© 2026 Majed Khaireddin — Tera System. All rights reserved.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
Redistribution, resale, or reuse of its content (governance documents, agent definitions,
|
|
7
|
-
commands, and tools) without a valid license agreement is prohibited.
|
|
5
|
+
## النموذج: كود مفتوح + ترخيص مدفوع
|
|
8
6
|
|
|
9
|
-
|
|
10
|
-
defined in **Phase 3** of the product roadmap (see `tera-product/06_IP_PROTECTION_LICENSING.md`
|
|
11
|
-
and decision **D-006**: layered defense — contract + activation key + reduced exposure).
|
|
7
|
+
هذا الحزمة (`@tera-system/core`) مفتوحة المصدر لكنها **خاضعة لترخيص تجاري**.
|
|
12
8
|
|
|
13
|
-
|
|
9
|
+
### ماذا يعني ذلك عملياً:
|
|
10
|
+
|
|
11
|
+
| ما هو مسموح | ما هو ممنوع |
|
|
12
|
+
|-------------|-------------|
|
|
13
|
+
| قراءة الكود | إعادة بيع الحزمة كمنتج مستقل |
|
|
14
|
+
| تثبيت الحزمة على مشاريعك | نسخ المحتوى (الوكلاء/الأوامر/الحوكمة) لمنتج منافس |
|
|
15
|
+
| استخدامها في مشاريعك الخاصة | توزيعها دون اتفاق ترخيص |
|
|
16
|
+
| تعديلها لاحتياجاتك | استخدام اسم "Tera" في منتجاتك |
|
|
17
|
+
|
|
18
|
+
### الحماية:
|
|
19
|
+
|
|
20
|
+
1. **ترخيص برنامج** — هذا العقد يحدد استخدامك للحزمة
|
|
21
|
+
2. **مفتاح تفعيل** — Ed25519 (تحقق بدون اتصال) — المفتاح الخاص عند المالك فقط
|
|
22
|
+
3. **اشتراك سنوي لكل مشروع** — Pricing model محدد
|
|
23
|
+
|
|
24
|
+
### للاستخدام الكامل:
|
|
25
|
+
|
|
26
|
+
- **بدون مفتاح**: تعمل في **وضع تجريبي** (Trial)
|
|
27
|
+
- **مع مفتاح**: تعمل بالكامل (Active/Grace/Expired)
|
|
28
|
+
|
|
29
|
+
### التفعيل:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# توليد رخصة (المالك فقط)
|
|
33
|
+
node scripts/tera-license.mjs gen --tier premium --project <name> --expires 2027-08-18
|
|
34
|
+
|
|
35
|
+
# تحقق (العميل — بلا اتصال)
|
|
36
|
+
node scripts/tera-license.mjs check --key <key>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### الشروط:
|
|
40
|
+
|
|
41
|
+
- **المفتاح الخاص** (`production-private-key.pem`) محفوظ عند المالك فقط
|
|
42
|
+
- **المفتاح العام** مدمج في الحزمة (للتحقق)
|
|
43
|
+
- **لا يمكن توليد رخصة** بدون المفتاح الخاص
|
|
44
|
+
- **الاشتراك**: سنوي لكل مشروع — يتجدد تلقائياً
|
|
45
|
+
|
|
46
|
+
### الإنهاء:
|
|
47
|
+
|
|
48
|
+
- ينتهي الاشتراك → تنتهي الصلاحيات
|
|
49
|
+
- فترات السماح: 7 أيام بعد انتهاء الاشتراك
|
|
50
|
+
- بعد انتهاء السماح: التحديثات تتوقف
|
|
51
|
+
|
|
52
|
+
### القانون الحاكم:
|
|
53
|
+
|
|
54
|
+
هذا الترخيص خاضع لقوانين المملكة الأردنية الهاشمية.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
> **للتواصل حول الترخيص والأسعار:**
|
|
59
|
+
> majed@terasystem.com
|
package/MANIFEST.json
CHANGED
package/README.md
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
# @tera/core
|
|
1
|
+
# @tera-system/core
|
|
2
2
|
|
|
3
|
-
**Tera System OpenCode Plugin** — مكوّن (Component) يحمل منظومة Tera كاملة: النواة الحوكمية + 20 عميلاً +
|
|
4
|
-
|
|
5
|
-
> مشروع تحويل منظومة Tera إلى مكوّن قابل للتثبيت (انظر `tera-product/` في المستودع الحاضن).
|
|
3
|
+
**Tera System OpenCode Plugin** — مكوّن (Component) يحمل منظومة Tera كاملة: النواة الحوكمية + 20 عميلاً + 11 أوامر `tera-*` + أدوات التوزيع.
|
|
6
4
|
|
|
7
5
|
## التثبيت (أمر واحد)
|
|
8
6
|
|
|
9
7
|
```bash
|
|
10
|
-
npm install @tera/core
|
|
8
|
+
npm install @tera-system/core
|
|
11
9
|
```
|
|
12
10
|
|
|
13
11
|
عند التثبيت، يعمل سكربت `postinstall` تلقائياً على مساحة العمل (المجلد الذي نُفّذ فيه `npm install`).
|
|
@@ -15,7 +13,7 @@ npm install @tera/core
|
|
|
15
13
|
يمكن ضبط الوجهة صراحةً:
|
|
16
14
|
|
|
17
15
|
```bash
|
|
18
|
-
TERA_TARGET_DIR=/path/to/workspace npm install @tera/core
|
|
16
|
+
TERA_TARGET_DIR=/path/to/workspace npm install @tera-system/core
|
|
19
17
|
# أو مباشرة من المصدر:
|
|
20
18
|
node scripts/install.js --target /path/to/workspace
|
|
21
19
|
```
|
|
@@ -25,7 +23,7 @@ node scripts/install.js --target /path/to/workspace
|
|
|
25
23
|
| المحتوى | الوجهة (نسبة إلى جذر مساحة العمل) |
|
|
26
24
|
|---|---|
|
|
27
25
|
| 20 عميلاً | `.opencode/agents/` |
|
|
28
|
-
|
|
|
26
|
+
| 11 أوامر `tera-*` | `.opencode/commands/` |
|
|
29
27
|
| تكوين MCP (قالب) | `.opencode/opencode.json` *(فقط إن لم يوجد)* + نسخة مرجعية `opencode.tera.example.json` دائماً |
|
|
30
28
|
| النواة الحوكمية (110 ملفاً) | `tera-system/` |
|
|
31
29
|
| هيكل `project-control/` (قوالب) | `project-control/` *(فقط إن لم يوجد — حالة خاصة بكل عميل)* |
|
|
@@ -35,7 +33,7 @@ node scripts/install.js --target /path/to/workspace
|
|
|
35
33
|
## سلوك المثبّت (غير مدمر + واعٍ بالملكية)
|
|
36
34
|
|
|
37
35
|
- **لا يحذف أي شيء أبداً.**
|
|
38
|
-
- **لا يكتب فوق أي ملف غير مملوك له:** أي ملف موجود باسم يتعارض مع حزمة `@tera/core` (ولم تثبّته الحزمة سابقاً) يُترك كما هو ويُسجَّل كـ `CONFLICT` في تقرير التركيب.
|
|
36
|
+
- **لا يكتب فوق أي ملف غير مملوك له:** أي ملف موجود باسم يتعارض مع حزمة `@tera-system/core` (ولم تثبّته الحزمة سابقاً) يُترك كما هو ويُسجَّل كـ `CONFLICT` في تقرير التركيب.
|
|
39
37
|
- **يفرّق بين ملفاته وملفات المستخدم** عبر سجل الملكية `.opencode/tera-core.manifest.json`.
|
|
40
38
|
- **الملفات المملوكة للحزمة فقط** تُحدَّث عند اختلافها، مع **نسخة احتياطية** (`*.tera-bak-<ts>`) قبل أي تحديث.
|
|
41
39
|
- **إعادة التشغيل آمنة (idempotent):** الملفات المتطابقة تُتخطّى.
|
|
@@ -51,17 +49,70 @@ node scripts/install.js --target /path/to/workspace
|
|
|
51
49
|
|
|
52
50
|
تجزيئات SHA256 لكل مجموعة محتوى في `MANIFEST.json` (agents / commands / core/tera-system / tools / project-control).
|
|
53
51
|
|
|
54
|
-
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## الترخيص والتفعيل
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
### النموذج: كود مفتوح + ترخيص مدفوع
|
|
57
|
+
|
|
58
|
+
| ما هو مسموح | ما هو ممنوع |
|
|
59
|
+
|-------------|-------------|
|
|
60
|
+
| قراءة الكود | إعادة بيع الحزمة كمنتج مستقل |
|
|
61
|
+
| تثبيت الحزمة على مشاريعك | نسخ المحتوى لمنتج منافس |
|
|
62
|
+
| استخدامها في مشاريعك | توزيعها دون اتفاق ترخيص |
|
|
57
63
|
|
|
58
64
|
### آلية التفعيل (مُطبَّقة — SCP-005)
|
|
65
|
+
|
|
59
66
|
- **عبر اتصال/بلا اتصال:** تحقق Ed25519 — المصدّر يوقّع بالمفتاح الخاص، والعميل يتحقق بالمفتاح العام المُشحَن (بلا شبكة).
|
|
60
67
|
- **الأداة:**
|
|
61
68
|
```bash
|
|
69
|
+
# توليد رخصة (المالك فقط)
|
|
62
70
|
node scripts/tera-license.mjs gen --tier premium --project <name> --expires 2027-08-18
|
|
71
|
+
|
|
72
|
+
# تحقق (العميل — بلا اتصال)
|
|
63
73
|
node scripts/tera-license.mjs check --key <key>
|
|
64
74
|
```
|
|
65
|
-
- **الحالة تُخزَّن في** `.tera/license.state.json` أثناء التثبيت
|
|
66
|
-
-
|
|
67
|
-
-
|
|
75
|
+
- **الحالة تُخزَّن في** `.tera/license.state.json` أثناء التثبيت
|
|
76
|
+
- **بدون مفتاح**: يعمل في **وضع تجريبي** (Trial)
|
|
77
|
+
- **مع مفتاح**: يعمل بالكامل
|
|
78
|
+
|
|
79
|
+
### التحديث
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
# كشف التحديثات المتاحة
|
|
83
|
+
/tera-update
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### التحديث اليدوي
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
npm install @tera-system/core@latest
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## التحديث
|
|
95
|
+
|
|
96
|
+
للحصول على أحدث إصدار:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
npm install @tera-system/core@latest
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
أو استخدم الأمر المدمج:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
/tera-update
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## الدعم
|
|
109
|
+
|
|
110
|
+
- **الوثائق**: `tera-system/TERA_USER_GUIDE.md`
|
|
111
|
+
- **الأوامر**: `tera-help`
|
|
112
|
+
- **المشكلات**: `tera-diagnose`
|
|
113
|
+
- **التحديثات**: `tera-update`
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
> **للتواصل حول الترخيص والأسعار:**
|
|
118
|
+
> majed@terasystem.com
|
package/RELEASES.md
CHANGED
|
@@ -1,9 +1,26 @@
|
|
|
1
|
-
# @tera/core — سجل الإصدارات (Releases)
|
|
1
|
+
# @tera-system/core — سجل الإصدارات (Releases)
|
|
2
2
|
|
|
3
3
|
> هذا الملف يُحمَّل مع الحزمة ويُعرض لـ `/tera-update`.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## 0.1.1 (2026-08-21)
|
|
8
|
+
|
|
9
|
+
### تحديث: توضيح الترخيص والتوثيق
|
|
10
|
+
|
|
11
|
+
**ما تم تحسينه:**
|
|
12
|
+
- تحديث `LICENSE.md` — توضيح نموذج "كود مفتوح + ترخيص مدفوع"
|
|
13
|
+
- تحديث `README.md` — جدولة الترخيص والتفعيل والاستخدام
|
|
14
|
+
- إضافة `tera-update` command — كشف التحديثات وإرشاد العميل
|
|
15
|
+
- إضافة `RELEASES.md` — سجل التغييرات (هذا الملف)
|
|
16
|
+
- تغيير الاسم: `@tera/core` → `@tera-system/core`
|
|
17
|
+
|
|
18
|
+
**لماذا هذا التحديث:**
|
|
19
|
+
- العملاء يحتاجون لتوضيح ما المسموح وما الممنوع
|
|
20
|
+
- آلية التحديث يجب أن تكون واضحة ومُوثّقة
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
7
24
|
## 0.1.0 (2026-08-20)
|
|
8
25
|
|
|
9
26
|
### الإصدار الأول
|
|
@@ -11,7 +28,7 @@
|
|
|
11
28
|
**ما تم تضمينه:**
|
|
12
29
|
- نظام حوكمة كامل (`tera-system/` — 110 ملف)
|
|
13
30
|
- 20 وكيلاً ذكياً متخصصاً (Coding / Quality / Management / Research / Knowledge)
|
|
14
|
-
-
|
|
31
|
+
- 11 أمراً تفاعلياً (جديد/متابعة/تخطيط/مراجعة/تقرير/تفعيل/موافقة/طلب بناء/.diagnose/مساعدة/تحديث)
|
|
15
32
|
- أدوات توزيع (`tools/`)
|
|
16
33
|
- مُثبِّت غير تدميري (يحفظ بيانات المستخدم)
|
|
17
34
|
- آلية ترخيص (Ed25519 — تحقق دون اتصال)
|
|
@@ -25,4 +42,4 @@
|
|
|
25
42
|
|
|
26
43
|
**ملاحظات:**
|
|
27
44
|
- الإصدار الأول — لا توجد مقارنة سابقة
|
|
28
|
-
- آليات التحديث (
|
|
45
|
+
- آليات التحديث (`tera-update`) مُضافة في هذا الإصدار
|
package/package.json
CHANGED