failproofai 0.0.5 → 0.0.6-beta.0
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/.next/standalone/.failproofai/policies/workflow-policies.mjs +2 -1
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
- package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +1 -1
- package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0a~g15g._.js → [root-of-the-server]__0.~fd7s._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0qn95h3._.js → [root-of-the-server]__0a.nuas._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/pages/404.html +2 -2
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
- package/.next/standalone/.next/static/chunks/{09ikntpt2-o9b.js → 0.z51twd.0l5z.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0sme4lkv.tgn-.js → 0hctoh28rg838.js} +1 -1
- package/.next/standalone/.next/static/chunks/{13juklu.vksks.js → 0hplx-8c-4vpv.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0em7tspi4kylh.js → 0maq.q1t.ri85.js} +2 -2
- package/.next/standalone/.next/static/chunks/{17manv47o-~wp.js → 0teq8wdh3po1n.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0lgbwkfqmnsmc.js → 0uc0um_uz51m_.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0yumumfzx_f27.js → 0ul6fk-z.6k-0.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0_yayar~bpphd.js → 0w9lwqy0-v1dk.js} +1 -1
- package/.next/standalone/CHANGELOG.md +5 -0
- package/.next/standalone/dist/cli.mjs +19 -2
- package/.next/standalone/docs/ar/architecture.mdx +65 -64
- package/.next/standalone/docs/ar/configuration.mdx +42 -42
- package/.next/standalone/docs/ar/custom-policies.mdx +62 -64
- package/.next/standalone/docs/de/architecture.mdx +92 -92
- package/.next/standalone/docs/de/configuration.mdx +34 -34
- package/.next/standalone/docs/de/custom-policies.mdx +49 -50
- package/.next/standalone/docs/es/architecture.mdx +72 -72
- package/.next/standalone/docs/es/configuration.mdx +25 -25
- package/.next/standalone/docs/es/custom-policies.mdx +48 -49
- package/.next/standalone/docs/fr/architecture.mdx +53 -53
- package/.next/standalone/docs/fr/configuration.mdx +25 -25
- package/.next/standalone/docs/fr/custom-policies.mdx +42 -43
- package/.next/standalone/docs/he/architecture.mdx +66 -66
- package/.next/standalone/docs/he/configuration.mdx +53 -52
- package/.next/standalone/docs/he/custom-policies.mdx +72 -73
- package/.next/standalone/docs/hi/architecture.mdx +106 -106
- package/.next/standalone/docs/hi/configuration.mdx +39 -39
- package/.next/standalone/docs/hi/custom-policies.mdx +75 -76
- package/.next/standalone/docs/i18n/README.ar.md +66 -66
- package/.next/standalone/docs/i18n/README.de.md +38 -38
- package/.next/standalone/docs/i18n/README.es.md +38 -38
- package/.next/standalone/docs/i18n/README.fr.md +42 -42
- package/.next/standalone/docs/i18n/README.he.md +67 -67
- package/.next/standalone/docs/i18n/README.hi.md +70 -70
- package/.next/standalone/docs/i18n/README.it.md +62 -62
- package/.next/standalone/docs/i18n/README.ja.md +54 -54
- package/.next/standalone/docs/i18n/README.ko.md +58 -58
- package/.next/standalone/docs/i18n/README.pt-br.md +43 -43
- package/.next/standalone/docs/i18n/README.ru.md +69 -69
- package/.next/standalone/docs/i18n/README.tr.md +76 -76
- package/.next/standalone/docs/i18n/README.vi.md +70 -70
- package/.next/standalone/docs/i18n/README.zh.md +52 -52
- package/.next/standalone/docs/it/architecture.mdx +54 -53
- package/.next/standalone/docs/it/configuration.mdx +44 -45
- package/.next/standalone/docs/it/custom-policies.mdx +76 -78
- package/.next/standalone/docs/ja/architecture.mdx +93 -93
- package/.next/standalone/docs/ja/configuration.mdx +47 -47
- package/.next/standalone/docs/ja/custom-policies.mdx +62 -63
- package/.next/standalone/docs/ko/architecture.mdx +66 -66
- package/.next/standalone/docs/ko/configuration.mdx +35 -35
- package/.next/standalone/docs/ko/custom-policies.mdx +71 -72
- package/.next/standalone/docs/pt-br/architecture.mdx +55 -55
- package/.next/standalone/docs/pt-br/configuration.mdx +35 -35
- package/.next/standalone/docs/pt-br/custom-policies.mdx +60 -61
- package/.next/standalone/docs/ru/architecture.mdx +59 -60
- package/.next/standalone/docs/ru/configuration.mdx +52 -53
- package/.next/standalone/docs/ru/custom-policies.mdx +68 -69
- package/.next/standalone/docs/tr/architecture.mdx +124 -124
- package/.next/standalone/docs/tr/configuration.mdx +45 -46
- package/.next/standalone/docs/tr/custom-policies.mdx +75 -75
- package/.next/standalone/docs/vi/architecture.mdx +65 -64
- package/.next/standalone/docs/vi/configuration.mdx +41 -41
- package/.next/standalone/docs/vi/custom-policies.mdx +68 -69
- package/.next/standalone/docs/zh/architecture.mdx +67 -67
- package/.next/standalone/docs/zh/configuration.mdx +34 -34
- package/.next/standalone/docs/zh/custom-policies.mdx +53 -54
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/server.js +1 -1
- package/.next/standalone/src/hooks/builtin-policies.ts +30 -0
- package/dist/cli.mjs +19 -2
- package/package.json +1 -1
- package/src/hooks/builtin-policies.ts +30 -0
- /package/.next/standalone/.next/static/{hYQM6iCWnF1W5XDpsIRhV → 8mygPGI5bzrtWK36ZYO59}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{hYQM6iCWnF1W5XDpsIRhV → 8mygPGI5bzrtWK36ZYO59}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{hYQM6iCWnF1W5XDpsIRhV → 8mygPGI5bzrtWK36ZYO59}/_ssgManifest.js +0 -0
|
@@ -25,21 +25,21 @@
|
|
|
25
25
|
|
|
26
26
|
**תרגומים**: [简体中文](docs/i18n/README.zh.md) | [日本語](docs/i18n/README.ja.md) | [한국어](docs/i18n/README.ko.md) | [Español](docs/i18n/README.es.md) | [Português](docs/i18n/README.pt-br.md) | [Deutsch](docs/i18n/README.de.md) | [Français](docs/i18n/README.fr.md) | [Русский](docs/i18n/README.ru.md) | [हिन्दी](docs/i18n/README.hi.md) | [Türkçe](docs/i18n/README.tr.md) | [Tiếng Việt](docs/i18n/README.vi.md) | [Italiano](docs/i18n/README.it.md) | [العربية](docs/i18n/README.ar.md) | [עברית](docs/i18n/README.he.md)
|
|
27
27
|
|
|
28
|
-
הדרך הקלה ביותר לנהל מדיניויות
|
|
28
|
+
הדרך הקלה ביותר לנהל מדיניויות המשמרות את סוכני ה-AI שלך אמינים, ממוקדים ופועלים בעצמאות - עבור **Claude Code** ו-**Agents SDK**.
|
|
29
29
|
|
|
30
|
-
- **30 מדיניויות מובנות** -
|
|
31
|
-
- **מדיניויות
|
|
32
|
-
-
|
|
33
|
-
-
|
|
30
|
+
- **30 מדיניויות מובנות** - תפסו מצבי כשל נפוצים של סוכנים מחוץ לתיבה. חסמו פקודות הרסניות, מנעו דליפות סודות, שמרו סוכנים בתוך גבולות פרויקט, גלו לולאות ועוד.
|
|
31
|
+
- **מדיניויות מותאמות** - כתבו את כללי האמינות שלכם ב-JavaScript. השתמשו ב-API של `allow`/`deny`/`instruct` כדי לאכוף קונוונציות, למנוע סטייה, לשער פעולות, או להשתלב עם מערכות חיצוניות.
|
|
32
|
+
- **קונפיגורציה קלה** - כייל כל מדיניות ללא כתיבת קוד. הגדר רשימות הקצאה, ענפים מוגנים, סף לכל פרויקט או ברמת עולם. שלוש טווחי קונפיגורציה מתמזגים באופן אוטומטי.
|
|
33
|
+
- **Agent Monitor** - ראה מה עשו הסוכנים שלך בזמן שהיית רחוק. עיין בהפעלות, בדוק כל קריאת כלי, וסקור בדיוק היכן עברו מדיניויות.
|
|
34
34
|
|
|
35
|
-
הכל פועל באופן מקומי - לא נתונים
|
|
35
|
+
הכל פועל באופן מקומי - לא נתונים לא עוזבים את המכונה שלך.
|
|
36
36
|
|
|
37
37
|
---
|
|
38
38
|
|
|
39
39
|
## דרישות
|
|
40
40
|
|
|
41
41
|
- Node.js >= 20.9.0
|
|
42
|
-
- Bun >= 1.3.0 (אופציונלי - נדרש רק לפיתוח / בנייה
|
|
42
|
+
- Bun >= 1.3.0 (אופציונלי - נדרש רק לפיתוח / בנייה מקוד מקור)
|
|
43
43
|
|
|
44
44
|
---
|
|
45
45
|
|
|
@@ -55,21 +55,21 @@ bun add -g failproofai
|
|
|
55
55
|
|
|
56
56
|
## התחלה מהירה
|
|
57
57
|
|
|
58
|
-
### 1.
|
|
58
|
+
### 1. הפעל מדיניויות ברחבי העולם
|
|
59
59
|
|
|
60
60
|
```bash
|
|
61
61
|
failproofai policies --install
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
-
כותב ערכי
|
|
64
|
+
כותב ערכי hook ל-`~/.claude/settings.json`. Claude Code יזמן כעת את failproofai לפני ואחרי כל קריאת כלי.
|
|
65
65
|
|
|
66
|
-
### 2. הפעל את לוח
|
|
66
|
+
### 2. הפעל את לוח הבקרה
|
|
67
67
|
|
|
68
68
|
```bash
|
|
69
69
|
failproofai
|
|
70
70
|
```
|
|
71
71
|
|
|
72
|
-
פותח `http://localhost:8020` - עיין בהפעלות, בדוק יומנים, נהל מדיניויות.
|
|
72
|
+
פותח את `http://localhost:8020` - עיין בהפעלות, בדוק יומנים, נהל מדיניויות.
|
|
73
73
|
|
|
74
74
|
### 3. בדוק מה פעיל
|
|
75
75
|
|
|
@@ -83,9 +83,9 @@ failproofai policies
|
|
|
83
83
|
|
|
84
84
|
### טווחים
|
|
85
85
|
|
|
86
|
-
| טווח | פקודה | היכן
|
|
87
|
-
|
|
88
|
-
|
|
|
86
|
+
| טווח | פקודה | היכן הוא כותב |
|
|
87
|
+
|-------|---------|-----------------|
|
|
88
|
+
| ברחבי העולם (ברירת מחדל) | `failproofai policies --install` | `~/.claude/settings.json` |
|
|
89
89
|
| פרויקט | `failproofai policies --install --scope project` | `.claude/settings.json` |
|
|
90
90
|
| מקומי | `failproofai policies --install --scope local` | `.claude/settings.local.json` |
|
|
91
91
|
|
|
@@ -105,9 +105,9 @@ failproofai policies --uninstall --scope project
|
|
|
105
105
|
|
|
106
106
|
---
|
|
107
107
|
|
|
108
|
-
##
|
|
108
|
+
## קונפיגורציה
|
|
109
109
|
|
|
110
|
-
|
|
110
|
+
קונפיגורציית מדיניות חיה ב-`~/.failproofai/policies-config.json` (ברחבי העולם) או `.failproofai/policies-config.json` בפרויקט שלך (לכל פרויקט).
|
|
111
111
|
|
|
112
112
|
```json
|
|
113
113
|
{
|
|
@@ -126,7 +126,7 @@ failproofai policies --uninstall --scope project
|
|
|
126
126
|
},
|
|
127
127
|
"block-push-master": {
|
|
128
128
|
"protectedBranches": ["main", "release", "prod"],
|
|
129
|
-
"hint": "נסה ליצור ענף
|
|
129
|
+
"hint": "נסה ליצור ענף טרי במקום."
|
|
130
130
|
},
|
|
131
131
|
"sanitize-api-keys": {
|
|
132
132
|
"additionalPatterns": [
|
|
@@ -140,7 +140,7 @@ failproofai policies --uninstall --scope project
|
|
|
140
140
|
}
|
|
141
141
|
```
|
|
142
142
|
|
|
143
|
-
|
|
143
|
+
**שלוש טווחי קונפיגורציה** מתמזגים באופן אוטומטי (project → local → global). ראה [docs/configuration.mdx](docs/configuration.mdx) לכללי מיזוג מלאים.
|
|
144
144
|
|
|
145
145
|
---
|
|
146
146
|
|
|
@@ -148,40 +148,40 @@ failproofai policies --uninstall --scope project
|
|
|
148
148
|
|
|
149
149
|
| מדיניות | תיאור | ניתן להגדרה |
|
|
150
150
|
|--------|-------------|:---:|
|
|
151
|
-
| `block-sudo` | מנע מסוכנים
|
|
152
|
-
| `block-rm-rf` | מנע מחיקת קבצים רקורסיבית
|
|
153
|
-
| `block-curl-pipe-sh` | מנע מסוכנים
|
|
151
|
+
| `block-sudo` | מנע מסוכנים להריץ פקודות מערכת בעלות הרשאה | `allowPatterns` |
|
|
152
|
+
| `block-rm-rf` | מנע מחיקת קבצים רקורסיבית בתאונה | `allowPaths` |
|
|
153
|
+
| `block-curl-pipe-sh` | מנע מסוכנים מצינור סקריפטים לא-מהימנים ל-shell | |
|
|
154
154
|
| `block-failproofai-commands` | מנע הסרה עצמית | |
|
|
155
|
-
| `sanitize-jwt` | עצור
|
|
156
|
-
| `sanitize-api-keys` | עצור
|
|
157
|
-
| `sanitize-connection-strings` | עצור
|
|
158
|
-
| `sanitize-private-key-content` |
|
|
159
|
-
| `sanitize-bearer-tokens` |
|
|
160
|
-
| `block-env-files` |
|
|
155
|
+
| `sanitize-jwt` | עצור דלפות JWT tokenים להקשר סוכן | |
|
|
156
|
+
| `sanitize-api-keys` | עצור דלפות API keys להקשר סוכן | `additionalPatterns` |
|
|
157
|
+
| `sanitize-connection-strings` | עצור דלפות credentials מסד נתונים להקשר סוכן | |
|
|
158
|
+
| `sanitize-private-key-content` | הסתר בלוקי PEM private key מהפלט | |
|
|
159
|
+
| `sanitize-bearer-tokens` | הסתר Authorization Bearer tokens מהפלט | |
|
|
160
|
+
| `block-env-files` | מנע מסוכנים לקרוא קבצי .env | |
|
|
161
161
|
| `protect-env-vars` | מנע מסוכנים להדפיס משתנים סביבה | |
|
|
162
|
-
| `block-read-outside-cwd` | שמור סוכנים בתוך גבולות
|
|
163
|
-
| `block-secrets-write` | מנע
|
|
164
|
-
| `block-push-master` | מנע
|
|
165
|
-
| `block-work-on-main` | שמור סוכנים
|
|
162
|
+
| `block-read-outside-cwd` | שמור על סוכנים בתוך גבולות פרויקט | `allowPaths` |
|
|
163
|
+
| `block-secrets-write` | מנע כתיבה לקבצי private key ותעודות | `additionalPatterns` |
|
|
164
|
+
| `block-push-master` | מנע דחפים בתאונה ל-main/master | `protectedBranches` |
|
|
165
|
+
| `block-work-on-main` | שמור על סוכנים בחוץ מענפים מוגנים | `protectedBranches` |
|
|
166
166
|
| `block-force-push` | מנע `git push --force` | |
|
|
167
|
-
| `warn-git-amend` |
|
|
168
|
-
| `warn-git-stash-drop` |
|
|
169
|
-
| `warn-all-files-staged` |
|
|
170
|
-
| `warn-destructive-sql` |
|
|
171
|
-
| `warn-schema-alteration` |
|
|
172
|
-
| `warn-large-file-write` |
|
|
173
|
-
| `warn-package-publish` |
|
|
174
|
-
| `warn-background-process` |
|
|
175
|
-
| `warn-global-package-install` |
|
|
167
|
+
| `warn-git-amend` | הזכר לסוכנים לפני שינוי commits | |
|
|
168
|
+
| `warn-git-stash-drop` | הזכר לסוכנים לפני drop של stashes | |
|
|
169
|
+
| `warn-all-files-staged` | תפס בתאונה `git add -A` | |
|
|
170
|
+
| `warn-destructive-sql` | תפס DROP/DELETE SQL לפני הביצוע | |
|
|
171
|
+
| `warn-schema-alteration` | תפס ALTER TABLE לפני הביצוע | |
|
|
172
|
+
| `warn-large-file-write` | תפס כתיבות קבצים גדולות בצורה בלתי צפויה | `thresholdKb` |
|
|
173
|
+
| `warn-package-publish` | תפס בתאונה `npm publish` | |
|
|
174
|
+
| `warn-background-process` | תפס הפעלות תהליך בתהליך לא מכוונות | |
|
|
175
|
+
| `warn-global-package-install` | תפס התקנות חבילות גלובליות לא מכוונות | |
|
|
176
176
|
| …ועוד | | |
|
|
177
177
|
|
|
178
|
-
פרטי מדיניות מלאים
|
|
178
|
+
פרטי מדיניות מלאים והפניה לפרמטרים: [docs/built-in-policies.mdx](docs/built-in-policies.mdx)
|
|
179
179
|
|
|
180
180
|
---
|
|
181
181
|
|
|
182
|
-
## מדיניויות מותאמות
|
|
182
|
+
## מדיניויות מותאמות
|
|
183
183
|
|
|
184
|
-
כתוב
|
|
184
|
+
כתוב את המדיניויות שלך כדי לשמור על סוכנים אמינים וממוקדים:
|
|
185
185
|
|
|
186
186
|
```js
|
|
187
187
|
import { customPolicies, allow, deny, instruct } from "failproofai";
|
|
@@ -193,7 +193,7 @@ customPolicies.add({
|
|
|
193
193
|
fn: async (ctx) => {
|
|
194
194
|
if (!["Write", "Edit"].includes(ctx.toolName ?? "")) return allow();
|
|
195
195
|
const path = ctx.toolInput?.file_path ?? "";
|
|
196
|
-
if (path.includes("production")) return deny("כתיבות לנתיבי production
|
|
196
|
+
if (path.includes("production")) return deny("כתיבות לנתיבי production חסומות");
|
|
197
197
|
return allow();
|
|
198
198
|
},
|
|
199
199
|
});
|
|
@@ -205,32 +205,32 @@ customPolicies.add({
|
|
|
205
205
|
failproofai policies --install --custom ./my-policies.js
|
|
206
206
|
```
|
|
207
207
|
|
|
208
|
-
### עוזרי
|
|
208
|
+
### עוזרי החלטות
|
|
209
209
|
|
|
210
210
|
| פונקציה | השפעה |
|
|
211
211
|
|----------|--------|
|
|
212
212
|
| `allow()` | אפשר את הפעולה |
|
|
213
|
-
| `allow(message)` | אפשר
|
|
213
|
+
| `allow(message)` | אפשר וקבל הקשר מידע ל-Claude |
|
|
214
214
|
| `deny(message)` | חסום את הפעולה; ההודעה מוצגת ל-Claude |
|
|
215
|
-
| `instruct(message)` | הוסף הקשר
|
|
215
|
+
| `instruct(message)` | הוסף הקשר להנחיית Claude; לא חוסם |
|
|
216
216
|
|
|
217
|
-
### אובייקט
|
|
217
|
+
### אובייקט ההקשר (`ctx`)
|
|
218
218
|
|
|
219
219
|
| שדה | סוג | תיאור |
|
|
220
220
|
|-------|------|-------------|
|
|
221
221
|
| `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
|
|
222
|
-
| `toolName` | `string` | כלי
|
|
222
|
+
| `toolName` | `string` | כלי הנקרא (`"Bash"`, `"Write"`, `"Read"`, …) |
|
|
223
223
|
| `toolInput` | `object` | פרמטרי קלט של הכלי |
|
|
224
|
-
| `payload` | `object` |
|
|
224
|
+
| `payload` | `object` | payload אירוע גולמי מלא |
|
|
225
225
|
| `session.cwd` | `string` | ספריית עבודה של הפעלת Claude Code |
|
|
226
226
|
| `session.sessionId` | `string` | מזהה הפעלה |
|
|
227
227
|
| `session.transcriptPath` | `string` | נתיב לקובץ תמלול ההפעלה |
|
|
228
228
|
|
|
229
|
-
|
|
229
|
+
custom hooks תומכים בייבוא מקומי טרנזיטיבי, async/await, וגישה ל-`process.env`. שגיאות הן fail-open (רשומות ל-`~/.failproofai/hook.log`, מדיניויות מובנות ממשיכות). ראה [docs/custom-hooks.mdx](docs/custom-hooks.mdx) להנחיית המלא.
|
|
230
230
|
|
|
231
|
-
### מדיניויות
|
|
231
|
+
### מדיניויות מבוססות קונוונציה
|
|
232
232
|
|
|
233
|
-
|
|
233
|
+
זרוק קבצי `*policies.{js,mjs,ts}` ל-`.failproofai/policies/` והם יטענו באופן אוטומטי — אין צורך בדגל `--custom` או שינויי קונפיגורציה. פועל כמו git hooks: זרוק קובץ, זה פשוט עובד.
|
|
234
234
|
|
|
235
235
|
```text
|
|
236
236
|
# רמת פרויקט — מחויבת ל-git, משותפת עם הצוות
|
|
@@ -241,15 +241,15 @@ failproofai policies --install --custom ./my-policies.js
|
|
|
241
241
|
~/.failproofai/policies/my-policies.mjs
|
|
242
242
|
```
|
|
243
243
|
|
|
244
|
-
שתי
|
|
244
|
+
שתי הרמות טוענות (union). קבצים טענים בסדר אלפביתי בתוך כל ספרייה. קדימה עם `01-`, `02-`, וכו' כדי לשלוט בסדר. ראה [examples/convention-policies/](examples/convention-policies/) לדוגמאות מוכנות לשימוש.
|
|
245
245
|
|
|
246
246
|
---
|
|
247
247
|
|
|
248
248
|
## טלמטריה
|
|
249
249
|
|
|
250
|
-
Failproof AI
|
|
250
|
+
Failproof AI אוסף טלמטריה שימוש אנונימית דרך PostHog כדי להבין שימוש בתכונות. לא מופעלת תוכן הפעלה, שמות קבצים, קלטי כלי, או מידע אישי לעולם נשלחים.
|
|
251
251
|
|
|
252
|
-
|
|
252
|
+
השבית:
|
|
253
253
|
|
|
254
254
|
```bash
|
|
255
255
|
FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
|
|
@@ -259,15 +259,15 @@ FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
|
|
|
259
259
|
|
|
260
260
|
## תיעוד
|
|
261
261
|
|
|
262
|
-
|
|
|
262
|
+
| הנחיה | תיאור |
|
|
263
263
|
|-------|-------------|
|
|
264
264
|
| [Getting Started](docs/getting-started.mdx) | התקנה וצעדים ראשונים |
|
|
265
|
-
| [Built-in Policies](docs/built-in-policies.mdx) | כל 30
|
|
265
|
+
| [Built-in Policies](docs/built-in-policies.mdx) | כל 30 מדיניויות מובנות עם פרמטרים |
|
|
266
266
|
| [Custom Policies](docs/custom-policies.mdx) | כתוב את המדיניויות שלך |
|
|
267
|
-
| [Configuration](docs/configuration.mdx) | פורמט קובץ
|
|
268
|
-
| [Dashboard](docs/dashboard.mdx) |
|
|
269
|
-
| [Architecture](docs/architecture.mdx) |
|
|
270
|
-
| [Testing](docs/testing.mdx) |
|
|
267
|
+
| [Configuration](docs/configuration.mdx) | פורמט קובץ קונפיגורציה ויזוג טווח |
|
|
268
|
+
| [Dashboard](docs/dashboard.mdx) | מונית הפעלות וסקור פעילות מדיניות |
|
|
269
|
+
| [Architecture](docs/architecture.mdx) | איך מערכת ה-hook עובדת |
|
|
270
|
+
| [Testing](docs/testing.mdx) | הרצת בדיקות וכתיבת חדשות |
|
|
271
271
|
|
|
272
272
|
### הפעל תיעוד באופן מקומי
|
|
273
273
|
|
|
@@ -276,7 +276,7 @@ docker build -f Dockerfile.docs -t failproofai-docs .
|
|
|
276
276
|
docker run --rm -p 3000:3000 failproofai-docs
|
|
277
277
|
```
|
|
278
278
|
|
|
279
|
-
פותח את אתר Mintlify docs ב-`http://localhost:3000`.
|
|
279
|
+
פותח את אתר Mintlify docs ב-`http://localhost:3000`. הקונטיינר צופה בשינויים אם תעגן את ספריית ה-docs:
|
|
280
280
|
|
|
281
281
|
```bash
|
|
282
282
|
docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
|
|
@@ -284,11 +284,11 @@ docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
|
|
|
284
284
|
|
|
285
285
|
---
|
|
286
286
|
|
|
287
|
-
## הערה
|
|
287
|
+
## הערה למתרמים failproofai
|
|
288
288
|
|
|
289
|
-
|
|
289
|
+
ה-`.claude/settings.json` של repo זה משתמש ב-`bun ./bin/failproofai.mjs --hook <EventType>` במקום בפקודה `npx -y failproofai` הסטנדרטית. זה בגלל שהרצת `npx -y failproofai` בפנים פרויקט failproofai עצמו יוצרת קונפליקט עצמי-הפנה.
|
|
290
290
|
|
|
291
|
-
עבור כל repos אחרים, הגישה המומלצת היא `npx -y failproofai`,
|
|
291
|
+
עבור כל repos אחרים, הגישה המומלצת היא `npx -y failproofai`, המותקנת דרך:
|
|
292
292
|
|
|
293
293
|
```bash
|
|
294
294
|
failproofai policies --install --scope project
|
|
@@ -306,7 +306,7 @@ failproofai policies --install --scope project
|
|
|
306
306
|
|
|
307
307
|
---
|
|
308
308
|
|
|
309
|
-
בנוי
|
|
309
|
+
בנוי וניהול על ידי **ExosphereHost: Reliability Research Lab for Your Agents**. אנו עוזרים לארגונים וסטארטאפים לשפר את אמינות סוכני ה-AI שלהם דרך הסוכנים, התוכנה, והמומחיות שלנו. למידע נוסף בקרו ב-[exosphere.host](https://exosphere.host).
|
|
310
310
|
|
|
311
311
|
|
|
312
312
|
</div>
|