create-devoplus-one-app 0.1.0-next.163 → 0.1.0-next.173

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-devoplus-one-app",
3
- "version": "0.1.0-next.163",
3
+ "version": "0.1.0-next.173",
4
4
  "description": "Yeni bir Devoplus One uygulaması iskeleti üretir: manifest, SDK'lı giriş noktası, Portal köprülü kabuk, veritabanı migration'ı ve AGENTS.md",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -83,7 +83,8 @@ metinle sorun ve şıkları numaralı yazın. Teknik soru sorulmaz.
83
83
  - **DEXA (ERP okuma)** yalnız SDK `queryDexa(api, key, parameters?)` ile ve yalnız ÖNCEDEN tanımlı QueryStore
84
84
  anahtarlarıyla; serbest SQL ya da ERP'ye yazma YOKTUR. Anahtarları Devoplus Console'da uygulamanın kayıt defterine
85
85
  yönetici ekler (kayıtta olmayan anahtar 403). Manifest'te `services.dexa.queryKeys` ve `scopes` içinde `dexa.read`
86
- birlikte beyan edilir; anahtar adı uydurulmaz, geliştiriciden alınır. `result.unavailable === true` ise sorgu
86
+ birlikte beyan edilir; anahtar adı uydurulmaz. Portalda açılmış sorguları parametre ve sütunlarıyla
87
+ `one dexa queries` (MCP'de `one_dexa_queries`) listeler; anahtar oradan ya da geliştiriciden alınır. `result.unavailable === true` ise sorgu
87
88
  ÇALIŞAMADI; boş `rows` "kayıt yok" SAYILMAZ, kullanıcıya "şu anda getirilemiyor" gösterilir; `truncated` sonucun
88
89
  5.000 satırda kesildiğini söyler. `LangCode` platformundur, uygulama GÖNDERMEZ. `UserCode`, `CompanyCode`,
89
90
  `CostCenterCode`: kurulumda yönetici "kodları uygulama belirler" onayını verdiyse uygulama bunları her kipte (kişi,
@@ -22,9 +22,14 @@ kiracı ve servisler `@devoplus/one-sdk`'dan gelir. Uygulamayı geliştirecek AI
22
22
  pnpm install
23
23
  pnpm type-check && pnpm test && pnpm build # build = one build: yükleme provası, hiçbir yere göndermez
24
24
  pnpm migrate # one migrate — migrations/ altındaki SQL dosyalarını yerel veritabanına uygular (ilk çalıştırmada ve her yeni migration'da)
25
- pnpm dev # one dev — uygulamayı yerelde çalıştırır; Portal başlıklarını (X-One-*) elle göndermeniz gerekir
25
+ pnpm dev # one dev: uygulamayı yerel Portal içinde açar (http://127.0.0.1:8787/); kişi --as <kişi> ile seçilir
26
26
  ```
27
27
 
28
+ > `one dev` kimlik bağlamını seçilen kişiden üretir (başlık elle yazılmaz). E-posta ve SMS gönderilmez, yerel posta
29
+ > kutusuna yazılır (`/__one-dev/posta-kutusu`); mobil bildirim platformun varsayılanı gibi kapalıdır. DEXA ve
30
+ > organizasyon şeması örnek veridendir. Kişiler ve örnek veri `one.dev.json` dosyasındadır (yoksa iki örnek kişi);
31
+ > ayrıntı SDK başvurusundadır.
32
+
28
33
  > `one` komutu `@devoplus/one-sdk` ile gelir. Yerel yapılandırma, yerel veri ve paket çıktısı `.one/` altındadır
29
34
  > (depoya girmez); her komutta `one.manifest.json`'dan yeniden üretilir. Migration uygulanmadan `notes` tablosu
30
35
  > yoktur ve `/api/notes` hata döner. Gerçek yüklemede migration'ları platform sürümle birlikte uygular.
@@ -7,7 +7,7 @@ Bu bölüm uygulamayı yazan kişi ya da yapay zekâ aracı içindir; kurallar *
7
7
  pnpm install
8
8
  pnpm type-check && pnpm test && pnpm build # build = one build: yükleme provası, hiçbir yere göndermez
9
9
  pnpm migrate # one migrate — migrations/ altındaki dosyaları yerel veritabanına uygular
10
- pnpm dev # one dev — yerelde çalıştırır; Portal başlıklarını (X-One-*) elle göndermeniz gerekir
10
+ pnpm dev # one dev: yerel Portal içinde açar (http://127.0.0.1:8787/); kişiler ve örnek veri one.dev.json
11
11
  pnpm data:generate # one.data.json değişince: yeni migration + src/data/types.ts
12
12
  ```
13
13
 
@@ -18,8 +18,9 @@ DEĞİŞTİRİN; baştan yazmayın. Dosya haritası:
18
18
  ⛔ Sorgu anahtarı ve kolon adları **UYDURULMAZ**. `CUSTOMER_QUERY = { key, codeColumn, nameColumn }` üçü de boşken
19
19
  uygulama DEXA'ya hiç gitmez, `/api/customers` `state: "not-configured"` döner ve müşteri elle girilir. Bağlamak için:
20
20
 
21
- 1. Kullanıcıdan ya da yöneticiden kurumun DEXA Query Store'undaki **müşteri listesi okuma sorgusunun anahtarını** ve
22
- sorgunun döndürdüğü **müşteri kodu** ile **müşteri adı** kolonlarının adlarını öğrenin. Sorgu parametre almayan bir
21
+ 1. Kurumun **müşteri listesi okuma sorgusunun anahtarını** ve sorgunun döndürdüğü **müşteri kodu** ile **müşteri
22
+ adı** kolonlarının adlarını öğrenin: portalda açılmış sorguları parametre ve sütunlarıyla `one_dexa_queries` (ya da
23
+ `one dexa queries`) listeler; listede yoksa kullanıcıya ya da yöneticiye sorun. Sorgu parametre almayan bir
23
24
  liste sorgusu olmalıdır. Sorgu yoksa erişim talebiyle `new-query` isteyin (taslak SQL yalnız öneridir).
24
25
  2. Üç değeri `CUSTOMER_QUERY`'ye yazın.
25
26
  3. `one.manifest.json`'a `scopes` içine `"dexa.read"` ve `services` içine `"dexa": { "queryKeys": ["<anahtar>"] }`
@@ -2,8 +2,8 @@
2
2
  //
3
3
  // ⚠️ YER TUTUCU — sorgu anahtarı ve kolon adları kuruma özgüdür ve UYDURULMAZ. Aşağıdaki üç değer boşken uygulama ERP'ye
4
4
  // hiç gitmez ve müşteri ELLE girilir (ekran bunu söyler). Bağlamak için (ayrıntı AGENTS.md):
5
- // 1. Kurumunuzun DEXA Query Store'unda müşteri listesini döndüren okuma sorgusunun anahtarını ve müşteri kodu / müşteri
6
- // adı kolonlarının adlarını öğrenin (yoksa erişim talebiyle `new-query` isteyin).
5
+ // 1. Müşteri listesini döndüren okuma sorgusunun anahtarını ve müşteri kodu / müşteri adı kolonlarının adlarını
6
+ // öğrenin: portalda açılmış sorguları `one dexa queries` listeler (yoksa erişim talebiyle `new-query` isteyin).
7
7
  // 2. `CUSTOMER_QUERY`'ye yazın; manifest'e `"dexa.read"` yetki alanını ve `services.dexa.queryKeys` listesine aynı
8
8
  // anahtarı ekleyin.
9
9
  // 3. Erişim talebiyle sorgunun uygulamaya açılmasını (`dexa-query`) ve gerekirse yetki alanını (`scope`) isteyin.