vibetuner 2.14.1__py3-none-any.whl → 2.26.9__py3-none-any.whl

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.

Potentially problematic release.


This version of vibetuner might be problematic. Click here for more details.

Files changed (52) hide show
  1. vibetuner/cli/__init__.py +65 -3
  2. vibetuner/cli/run.py +2 -2
  3. vibetuner/config.py +19 -9
  4. vibetuner/context.py +3 -0
  5. vibetuner/frontend/__init__.py +27 -5
  6. vibetuner/frontend/lifespan.py +18 -7
  7. vibetuner/frontend/middleware.py +2 -6
  8. vibetuner/frontend/routes/debug.py +1 -1
  9. vibetuner/frontend/routes/user.py +1 -1
  10. vibetuner/frontend/templates.py +1 -3
  11. vibetuner/mongo.py +18 -3
  12. vibetuner/paths.py +31 -10
  13. vibetuner/tasks/__init__.py +0 -2
  14. vibetuner/tasks/lifespan.py +28 -0
  15. vibetuner/tasks/worker.py +2 -5
  16. vibetuner/templates/email/{default/magic_link.html.jinja → magic_link.html.jinja} +2 -1
  17. vibetuner/templates/frontend/base/favicons.html.jinja +1 -1
  18. vibetuner/templates/frontend/base/skeleton.html.jinja +5 -2
  19. vibetuner/templates/frontend/debug/collections.html.jinja +2 -0
  20. vibetuner/templates/frontend/debug/components/debug_nav.html.jinja +6 -6
  21. vibetuner/templates/frontend/debug/index.html.jinja +6 -4
  22. vibetuner/templates/frontend/debug/info.html.jinja +2 -0
  23. vibetuner/templates/frontend/debug/users.html.jinja +4 -2
  24. vibetuner/templates/frontend/debug/version.html.jinja +2 -0
  25. vibetuner/templates/frontend/email_sent.html.jinja +2 -1
  26. vibetuner/templates/frontend/index.html.jinja +1 -0
  27. vibetuner/templates/frontend/login.html.jinja +8 -3
  28. vibetuner/templates/frontend/user/edit.html.jinja +3 -2
  29. vibetuner/templates/frontend/user/profile.html.jinja +2 -1
  30. vibetuner/versioning.py +6 -2
  31. {vibetuner-2.14.1.dist-info → vibetuner-2.26.9.dist-info}/METADATA +23 -20
  32. vibetuner-2.26.9.dist-info/RECORD +71 -0
  33. {vibetuner-2.14.1.dist-info → vibetuner-2.26.9.dist-info}/WHEEL +1 -1
  34. vibetuner/frontend/AGENTS.md +0 -113
  35. vibetuner/frontend/CLAUDE.md +0 -113
  36. vibetuner/frontend/context.py +0 -10
  37. vibetuner/models/AGENTS.md +0 -165
  38. vibetuner/models/CLAUDE.md +0 -165
  39. vibetuner/services/AGENTS.md +0 -104
  40. vibetuner/services/CLAUDE.md +0 -104
  41. vibetuner/tasks/AGENTS.md +0 -98
  42. vibetuner/tasks/CLAUDE.md +0 -98
  43. vibetuner/tasks/context.py +0 -34
  44. vibetuner/templates/email/AGENTS.md +0 -48
  45. vibetuner/templates/email/CLAUDE.md +0 -48
  46. vibetuner/templates/frontend/AGENTS.md +0 -74
  47. vibetuner/templates/frontend/CLAUDE.md +0 -74
  48. vibetuner/templates/markdown/AGENTS.md +0 -29
  49. vibetuner/templates/markdown/CLAUDE.md +0 -29
  50. vibetuner-2.14.1.dist-info/RECORD +0 -86
  51. /vibetuner/templates/email/{default/magic_link.txt.jinja → magic_link.txt.jinja} +0 -0
  52. {vibetuner-2.14.1.dist-info → vibetuner-2.26.9.dist-info}/entry_points.txt +0 -0
vibetuner/tasks/CLAUDE.md DELETED
@@ -1,98 +0,0 @@
1
- # Core Tasks Module
2
-
3
- **IMMUTABLE SCAFFOLDING CODE** - This is the framework's core background task infrastructure.
4
-
5
- ## What's Here
6
-
7
- This module contains the scaffolding's core task components:
8
-
9
- - **worker.py** - Streaq worker setup and configuration
10
- - **context.py** - Task context management (DB, HTTP client, etc.)
11
- - ****init**.py** - Task infrastructure exports
12
-
13
- ## Important Rules
14
-
15
- ⚠️ **DO NOT MODIFY** these core task components directly.
16
-
17
- **For changes to core tasks:**
18
-
19
- - File an issue at `https://github.com/alltuner/scaffolding`
20
- - Core changes benefit all projects using the scaffolding
21
-
22
- **For your application tasks:**
23
-
24
- - Create them in `src/app/tasks/` instead
25
- - Import the worker from vibetuner: `from vibetuner.tasks.worker import worker`
26
-
27
- ## Quick Reference
28
-
29
- Tasks are only available if job queue was enabled during scaffolding.
30
-
31
- The worker is defined in `vibetuner.tasks.worker` and should be imported from there in your app tasks.
32
-
33
- ## User Task Pattern (for reference)
34
-
35
- Your application tasks in `src/app/tasks/` should follow this pattern:
36
-
37
- ```python
38
- # src/app/tasks/emails.py
39
- from vibetuner.models import UserModel
40
- from vibetuner.tasks.worker import worker
41
-
42
- @worker.task()
43
- async def send_welcome_email(user_id: str) -> dict[str, str]:
44
- """Example background job."""
45
-
46
- # Access context
47
- res = await worker.context.http_client.get(url)
48
-
49
- if user := await UserModel.get(user_id):
50
- # Perform side effects
51
- return {"status": "sent", "user": user.email}
52
- return {"status": "skipped"}
53
- ```
54
-
55
- ## Queueing Tasks
56
-
57
- ```python
58
- # In your routes: src/app/frontend/routes/auth.py
59
- from app.tasks.emails import send_welcome_email
60
-
61
- @router.post("/signup")
62
- async def signup(email: str):
63
- user = await create_user(email)
64
-
65
- task = await send_welcome_email.enqueue(user.id)
66
- # Optional: await task.result() or check task.id
67
-
68
- return {"status": "registered", "job_id": task.id}
69
- ```
70
-
71
- Note: Import your task functions from `src/app/tasks/` but the worker itself comes from `vibetuner.tasks.worker`.
72
-
73
- ## Worker Management
74
-
75
- ```bash
76
- just worker-dev # Run worker locally with auto-reload
77
- ```
78
-
79
- ## Task Registration
80
-
81
- Add new task modules at the end of `src/app/tasks/__init__.py`:
82
-
83
- ```python
84
- # src/app/tasks/__init__.py
85
- # Import your task modules so decorators register with worker
86
- from . import emails # noqa: F401
87
- from . import new_tasks # noqa: F401
88
- ```
89
-
90
- ## Monitoring
91
-
92
- ```python
93
- task = await send_digest_email.enqueue(account_id)
94
-
95
- status = await task.status()
96
- result = await task.result(timeout=30)
97
- await task.abort() # Cancel if needed
98
- ```
@@ -1,34 +0,0 @@
1
- from contextlib import asynccontextmanager
2
- from typing import AsyncIterator
3
-
4
- from httpx import AsyncClient
5
- from pydantic import BaseModel
6
-
7
- from vibetuner.mongo import init_models
8
-
9
-
10
- class Context(BaseModel):
11
- http_client: AsyncClient
12
- # Add the context properties for your tasks below
13
-
14
- # Until here
15
- model_config = {"arbitrary_types_allowed": True}
16
-
17
-
18
- @asynccontextmanager
19
- async def lifespan() -> AsyncIterator[Context]:
20
- await init_models()
21
- # Add below anything that should happen before startup
22
-
23
- # Until here
24
- async with (
25
- AsyncClient() as http_client,
26
- # Add any other async context managers you need here
27
- ):
28
- yield Context(
29
- http_client=http_client,
30
- # Add any other async context managers you need here
31
- )
32
-
33
- # Add below anything that should happen before shutdown
34
- # Until here
@@ -1,48 +0,0 @@
1
- # Core Email Templates - DO NOT MODIFY
2
-
3
- **⚠️ IMPORTANT**: Package-managed files. Changes will be lost on package updates.
4
-
5
- ## How to Override
6
-
7
- **NEVER modify files in this directory!** Instead:
8
-
9
- 1. Copy template to your project's `templates/email/`
10
- 2. Maintain the same directory structure
11
- 3. Your version overrides automatically
12
-
13
- ### Example
14
-
15
- ```bash
16
- # Core template (DO NOT EDIT, bundled in vibetuner package):
17
- vibetuner/templates/email/default/magic_link.html.jinja
18
-
19
- # Your override (CREATE THIS in your project):
20
- templates/email/default/magic_link.html.jinja
21
- ```
22
-
23
- ## Template Structure
24
-
25
- ```text
26
- vibetuner/email/
27
- └── default/
28
- ├── magic_link.html.jinja # Passwordless login email (HTML)
29
- └── magic_link.txt.jinja # Passwordless login email (text)
30
- ```
31
-
32
- ## Magic Link Email
33
-
34
- The core provides magic link authentication emails used by the auth system.
35
-
36
- ### Variables Available
37
-
38
- - `login_url` - The magic link URL for authentication
39
- - `project_name` - Your project's display name
40
-
41
- Override these templates to customize branding, styling, and content.
42
-
43
- ## Best Practices
44
-
45
- 1. Always provide both HTML and text versions
46
- 2. Test overrides after scaffolding updates
47
- 3. Keep branding consistent across all emails
48
- 4. Use inline styles for HTML emails
@@ -1,48 +0,0 @@
1
- # Core Email Templates - DO NOT MODIFY
2
-
3
- **⚠️ IMPORTANT**: Package-managed files. Changes will be lost on package updates.
4
-
5
- ## How to Override
6
-
7
- **NEVER modify files in this directory!** Instead:
8
-
9
- 1. Copy template to your project's `templates/email/`
10
- 2. Maintain the same directory structure
11
- 3. Your version overrides automatically
12
-
13
- ### Example
14
-
15
- ```bash
16
- # Core template (DO NOT EDIT, bundled in vibetuner package):
17
- vibetuner/templates/email/default/magic_link.html.jinja
18
-
19
- # Your override (CREATE THIS in your project):
20
- templates/email/default/magic_link.html.jinja
21
- ```
22
-
23
- ## Template Structure
24
-
25
- ```text
26
- vibetuner/email/
27
- └── default/
28
- ├── magic_link.html.jinja # Passwordless login email (HTML)
29
- └── magic_link.txt.jinja # Passwordless login email (text)
30
- ```
31
-
32
- ## Magic Link Email
33
-
34
- The core provides magic link authentication emails used by the auth system.
35
-
36
- ### Variables Available
37
-
38
- - `login_url` - The magic link URL for authentication
39
- - `project_name` - Your project's display name
40
-
41
- Override these templates to customize branding, styling, and content.
42
-
43
- ## Best Practices
44
-
45
- 1. Always provide both HTML and text versions
46
- 2. Test overrides after scaffolding updates
47
- 3. Keep branding consistent across all emails
48
- 4. Use inline styles for HTML emails
@@ -1,74 +0,0 @@
1
- # Core Frontend Templates - DO NOT MODIFY
2
-
3
- **⚠️ IMPORTANT**: Package-managed files. Changes will be lost on package updates.
4
-
5
- ## How to Override
6
-
7
- **NEVER modify files in this directory!** Instead:
8
-
9
- 1. Copy template to your project's `templates/frontend/`
10
- 2. Maintain the same directory structure
11
- 3. Your version overrides automatically
12
-
13
- ### Example
14
-
15
- ```bash
16
- # Core template (DO NOT EDIT, bundled in vibetuner package):
17
- vibetuner/templates/frontend/base/footer.html.jinja
18
-
19
- # Your override (CREATE THIS in your project):
20
- templates/frontend/base/footer.html.jinja
21
- ```
22
-
23
- The template system searches in order:
24
-
25
- 1. `templates/frontend/` (your project overrides)
26
- 2. `vibetuner/templates/frontend/` (package defaults)
27
-
28
- ## Template Structure
29
-
30
- ```text
31
- vibetuner/frontend/
32
- ├── base/ # Core layout
33
- │ ├── skeleton.html.jinja
34
- │ ├── header.html.jinja
35
- │ ├── footer.html.jinja
36
- │ ├── opengraph.html.jinja
37
- │ └── favicons.html.jinja
38
- ├── debug/ # Dev tools (DEBUG mode only)
39
- │ ├── index.html.jinja
40
- │ ├── info.html.jinja
41
- │ ├── users.html.jinja
42
- │ ├── collections.html.jinja
43
- │ └── version.html.jinja
44
- ├── email/ # Email-related pages
45
- │ └── magic_link templates
46
- ├── lang/ # Language switcher
47
- │ └── select.html.jinja
48
- ├── meta/ # SEO and meta files
49
- │ ├── robots.txt.jinja
50
- │ ├── sitemap.xml.jinja
51
- │ ├── site.webmanifest.jinja
52
- │ └── browserconfig.xml.jinja
53
- ├── user/ # User account pages
54
- │ ├── profile.html.jinja
55
- │ └── edit.html.jinja
56
- ├── index.html.jinja # Default homepage
57
- ├── login.html.jinja # Login page
58
- └── email_sent.html.jinja # Magic link sent confirmation
59
- ```
60
-
61
- ## Common Overrides
62
-
63
- - `base/skeleton.html.jinja` - Add meta tags, global CSS/JS
64
- - `base/header.html.jinja` - Customize navigation
65
- - `base/footer.html.jinja` - Custom footer
66
- - `index.html.jinja` - Custom homepage
67
-
68
- ## Best Practices
69
-
70
- 1. Override only what you need
71
- 2. Document why each override exists
72
- 3. Test after `just update-scaffolding`
73
- 4. Use template inheritance and blocks
74
- 5. Keep overrides minimal to ease updates
@@ -1,74 +0,0 @@
1
- # Core Frontend Templates - DO NOT MODIFY
2
-
3
- **⚠️ IMPORTANT**: Package-managed files. Changes will be lost on package updates.
4
-
5
- ## How to Override
6
-
7
- **NEVER modify files in this directory!** Instead:
8
-
9
- 1. Copy template to your project's `templates/frontend/`
10
- 2. Maintain the same directory structure
11
- 3. Your version overrides automatically
12
-
13
- ### Example
14
-
15
- ```bash
16
- # Core template (DO NOT EDIT, bundled in vibetuner package):
17
- vibetuner/templates/frontend/base/footer.html.jinja
18
-
19
- # Your override (CREATE THIS in your project):
20
- templates/frontend/base/footer.html.jinja
21
- ```
22
-
23
- The template system searches in order:
24
-
25
- 1. `templates/frontend/` (your project overrides)
26
- 2. `vibetuner/templates/frontend/` (package defaults)
27
-
28
- ## Template Structure
29
-
30
- ```text
31
- vibetuner/frontend/
32
- ├── base/ # Core layout
33
- │ ├── skeleton.html.jinja
34
- │ ├── header.html.jinja
35
- │ ├── footer.html.jinja
36
- │ ├── opengraph.html.jinja
37
- │ └── favicons.html.jinja
38
- ├── debug/ # Dev tools (DEBUG mode only)
39
- │ ├── index.html.jinja
40
- │ ├── info.html.jinja
41
- │ ├── users.html.jinja
42
- │ ├── collections.html.jinja
43
- │ └── version.html.jinja
44
- ├── email/ # Email-related pages
45
- │ └── magic_link templates
46
- ├── lang/ # Language switcher
47
- │ └── select.html.jinja
48
- ├── meta/ # SEO and meta files
49
- │ ├── robots.txt.jinja
50
- │ ├── sitemap.xml.jinja
51
- │ ├── site.webmanifest.jinja
52
- │ └── browserconfig.xml.jinja
53
- ├── user/ # User account pages
54
- │ ├── profile.html.jinja
55
- │ └── edit.html.jinja
56
- ├── index.html.jinja # Default homepage
57
- ├── login.html.jinja # Login page
58
- └── email_sent.html.jinja # Magic link sent confirmation
59
- ```
60
-
61
- ## Common Overrides
62
-
63
- - `base/skeleton.html.jinja` - Add meta tags, global CSS/JS
64
- - `base/header.html.jinja` - Customize navigation
65
- - `base/footer.html.jinja` - Custom footer
66
- - `index.html.jinja` - Custom homepage
67
-
68
- ## Best Practices
69
-
70
- 1. Override only what you need
71
- 2. Document why each override exists
72
- 3. Test after `just update-scaffolding`
73
- 4. Use template inheritance and blocks
74
- 5. Keep overrides minimal to ease updates
@@ -1,29 +0,0 @@
1
- # Core Markdown Templates - DO NOT MODIFY
2
-
3
- **⚠️ IMPORTANT**: Package-managed files. Changes will be lost on package updates.
4
-
5
- ## How to Override
6
-
7
- **NEVER modify files in this directory!** Instead:
8
-
9
- 1. Copy template to your project's `templates/markdown/`
10
- 2. Maintain the same directory structure
11
- 3. Your version overrides automatically
12
-
13
- ### Example
14
-
15
- ```bash
16
- # Core template (if exists, bundled in vibetuner package):
17
- vibetuner/templates/markdown/default/template.md.jinja
18
-
19
- # Your override (CREATE THIS in your project):
20
- templates/markdown/default/template.md.jinja
21
- ```
22
-
23
- ## Template Structure
24
-
25
- Currently, no core markdown templates are provided by the package.
26
-
27
- This directory is a placeholder for potential future package markdown templates.
28
-
29
- All markdown templates should be created in `templates/markdown/`.
@@ -1,29 +0,0 @@
1
- # Core Markdown Templates - DO NOT MODIFY
2
-
3
- **⚠️ IMPORTANT**: Package-managed files. Changes will be lost on package updates.
4
-
5
- ## How to Override
6
-
7
- **NEVER modify files in this directory!** Instead:
8
-
9
- 1. Copy template to your project's `templates/markdown/`
10
- 2. Maintain the same directory structure
11
- 3. Your version overrides automatically
12
-
13
- ### Example
14
-
15
- ```bash
16
- # Core template (if exists, bundled in vibetuner package):
17
- vibetuner/templates/markdown/default/template.md.jinja
18
-
19
- # Your override (CREATE THIS in your project):
20
- templates/markdown/default/template.md.jinja
21
- ```
22
-
23
- ## Template Structure
24
-
25
- Currently, no core markdown templates are provided by the package.
26
-
27
- This directory is a placeholder for potential future package markdown templates.
28
-
29
- All markdown templates should be created in `templates/markdown/`.
@@ -1,86 +0,0 @@
1
- vibetuner/__init__.py,sha256=rFIVCmxkKTT_g477V8biCw0lgpudyuUabXhYxg189lY,90
2
- vibetuner/__main__.py,sha256=Ye9oBAgXhcYQ4I4yZli3TIXF5lWQ9yY4tTPs4XnDDUY,29
3
- vibetuner/cli/__init__.py,sha256=IY2wJ_ErX2PimyYSe5SL_zGrENSWLgW-cXgMRXNC7pE,1992
4
- vibetuner/cli/run.py,sha256=mHvZypizNfVwdLo7k8SvBO7HPUF4Vka9hjJlECZCGfA,5009
5
- vibetuner/cli/scaffold.py,sha256=qADWxx1gYECQ8N6dgvJmlucT6mZ29rxWu3VZhbWmhC0,5710
6
- vibetuner/config.py,sha256=R3u23RHv5gcVuU27WEo-8MrSZYbqSNbALJJKR3ACaQQ,3714
7
- vibetuner/context.py,sha256=VdgfX-SFmVwiwKPFID4ElIRnFADTlagqsh9RKXNiLCs,725
8
- vibetuner/frontend/AGENTS.md,sha256=mds0nTl3RBblTA7EFhC9dxx86mn1FH5ESXNSj_1R1Jk,3253
9
- vibetuner/frontend/CLAUDE.md,sha256=mds0nTl3RBblTA7EFhC9dxx86mn1FH5ESXNSj_1R1Jk,3253
10
- vibetuner/frontend/__init__.py,sha256=QpQY9kUWvKzMtMCh9Lcoyz1dNdYfW1d_Ue4WUnzz_No,3017
11
- vibetuner/frontend/context.py,sha256=yd9mJ8Cj9AUeHE533dofEoyCkw6oSPowdq397whfN_s,169
12
- vibetuner/frontend/deps.py,sha256=b3ocC_ryaK2Jp51SfcFqckrXiaL7V-chkFRqLjzgA_c,1296
13
- vibetuner/frontend/email.py,sha256=k0d7FCZCge5VYOKp3fLsbx7EA5_SrtBkpMs57o4W7u0,1119
14
- vibetuner/frontend/hotreload.py,sha256=Gl7FIKJaiCVVoyWQqdErBUOKDP1cGBFUpGzqHMiJd10,285
15
- vibetuner/frontend/lifespan.py,sha256=SDLcsfyQoa1H13KeISWPhe3B28oDF9L2TpZnyOos-N0,525
16
- vibetuner/frontend/middleware.py,sha256=oKKAgqE4opAdP3WEk_PhKkQxdmAoWBvuW0PCsqRYVI8,4980
17
- vibetuner/frontend/oauth.py,sha256=EzEwoOZ_8xn_CiqAWpNoEdhV2NPxZKKwF2bA6W6Bkj0,5884
18
- vibetuner/frontend/routes/__init__.py,sha256=nHhiylHIUPZ2R-Bd7vXEGHLJBQ7fNuzPTJodjJR3lyc,428
19
- vibetuner/frontend/routes/auth.py,sha256=vKE-Dm2yPXReaOLvcxfT4a6df1dKUoteZ4p46v8Elm4,4331
20
- vibetuner/frontend/routes/debug.py,sha256=1YHM_y0FSfA6RON5acVHmnhtKCFiCj57eAzp5AkYWXc,12735
21
- vibetuner/frontend/routes/health.py,sha256=_XkMpdMNUemu7qzkGkqn5TBnZmGrArA3Xps5CWCcGlg,959
22
- vibetuner/frontend/routes/language.py,sha256=wHNfdewqWfK-2JLXwglu0Q0b_e00HFGd0A2-PYT44LE,1240
23
- vibetuner/frontend/routes/meta.py,sha256=pSyIxQsiB0QZSYwCQbS07KhkT5oHC5r9jvjUDIqZRGw,1409
24
- vibetuner/frontend/routes/user.py,sha256=DnewxYkiU0uiheNrzVyaAWfOk8jreJGTNrGuYf3DVCc,2658
25
- vibetuner/frontend/templates.py,sha256=1k2jCGBdMx9U9RDcHmuO6fiNEXrRYZ0Mzk51H9XAlrM,5322
26
- vibetuner/logging.py,sha256=9eNofqVtKZCBDS33NbBI7Sv2875gM8MNStTSCjX2AXQ,2409
27
- vibetuner/models/AGENTS.md,sha256=5wtNuzZFA8R3A1DGA0ackzO3JsKZPSc_WHuWu8bT-YA,3809
28
- vibetuner/models/CLAUDE.md,sha256=5wtNuzZFA8R3A1DGA0ackzO3JsKZPSc_WHuWu8bT-YA,3809
29
- vibetuner/models/__init__.py,sha256=JvmQvzDIxaI7zlk-ROCWEbuzxXSUOqCshINUjgu-AfQ,325
30
- vibetuner/models/blob.py,sha256=F30HFS4Z_Bji_PGPflWIv4dOwqKLsEWQHcjW1Oz_79M,2523
31
- vibetuner/models/email_verification.py,sha256=iwDnbPhceugY6vQZwyp0AKCEID61NbAxqA7tdQKHHAI,2488
32
- vibetuner/models/mixins.py,sha256=934aAcdos_SlDMyiARBV8dhhClgtaVpf0O7OJf4d6YQ,3053
33
- vibetuner/models/oauth.py,sha256=BdOZbW47Das9ntHTtRmVdl1lB5zLCcXW2fyVJ-tQ_F8,1509
34
- vibetuner/models/registry.py,sha256=O5YG7vOrWluqpH5N7m44v72wbscMhU_Pu3TJw_u0MTk,311
35
- vibetuner/models/types.py,sha256=Lj3ASEvx5eNgQMcVhNyKQHHolJqDxj2yH8S-M9oa4J8,402
36
- vibetuner/models/user.py,sha256=ttcSH4mVREPhA6bCFUWXKfJ9_8_Iq3lEYXe3rDrslw4,2696
37
- vibetuner/mongo.py,sha256=mG4-78xjdNKWGV4PFddqdRL1zxFRH0P0fGgcmni4cx0,494
38
- vibetuner/paths.py,sha256=WFHuaanFOBI7v7xOHjyLvNMYKwX0KqOyi63x62wLE-M,7470
39
- vibetuner/services/AGENTS.md,sha256=-0_QNcASfPv_a2dWMpnAQh4wdH7kgvskuRpxwF7d4Vo,2323
40
- vibetuner/services/CLAUDE.md,sha256=-0_QNcASfPv_a2dWMpnAQh4wdH7kgvskuRpxwF7d4Vo,2323
41
- vibetuner/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
- vibetuner/services/blob.py,sha256=-lEGIWe30yR2IuTfy5bB9Sg_PX0HoYC_WMTQ3VN28gU,5660
43
- vibetuner/services/email.py,sha256=IavJZS5MI40LlF_cjBpPPRx_S2r1JD4GcFg3-dWkzPA,1626
44
- vibetuner/tasks/AGENTS.md,sha256=CAXTU5QAEY36ziVjxrZ2QER36aRo3i_SMCa4EukjOGY,2581
45
- vibetuner/tasks/CLAUDE.md,sha256=CAXTU5QAEY36ziVjxrZ2QER36aRo3i_SMCa4EukjOGY,2581
46
- vibetuner/tasks/__init__.py,sha256=uETtKOA5rJ48NBx-LN4niRJDzkb6--NHAPW3jReHABI,71
47
- vibetuner/tasks/context.py,sha256=FOFUDWGNo1h8G8qlE-1Gbkh-Kd1z3WZTqSMHkvZ68v8,869
48
- vibetuner/tasks/worker.py,sha256=UUknSuVl0orXl3hrW8EPpaGgRI8wYoVm-p5FnDki0Gc,437
49
- vibetuner/templates/email/AGENTS.md,sha256=oRCocZqDM0qKCg6REwU-MwTtDbDTbL5DwpmkshVhIEY,1274
50
- vibetuner/templates/email/CLAUDE.md,sha256=oRCocZqDM0qKCg6REwU-MwTtDbDTbL5DwpmkshVhIEY,1274
51
- vibetuner/templates/email/default/magic_link.html.jinja,sha256=7npaw9XzttjAe4Y5pk7J47eZJ3K0vR_h7Dz01YT3Xis,567
52
- vibetuner/templates/email/default/magic_link.txt.jinja,sha256=dANak9ion1cpILt45V3GcI2qnL_gKFPj7PsZKYV0m5s,200
53
- vibetuner/templates/frontend/AGENTS.md,sha256=LHUslpKlYJ2eQXY7s3uyuAvhyCIoK_6Qox0O0rwIuaI,2299
54
- vibetuner/templates/frontend/CLAUDE.md,sha256=LHUslpKlYJ2eQXY7s3uyuAvhyCIoK_6Qox0O0rwIuaI,2299
55
- vibetuner/templates/frontend/base/favicons.html.jinja,sha256=TIFiB013aWvQN1zMuHK9K_10AS2zjW7ZtWCxJJmD1kg,70
56
- vibetuner/templates/frontend/base/footer.html.jinja,sha256=P5EKssUk-HHz0yFE3auj1WtSqsJxAzi39XbRxjBtLLg,165
57
- vibetuner/templates/frontend/base/header.html.jinja,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
- vibetuner/templates/frontend/base/opengraph.html.jinja,sha256=wjmLAE3C4OZqxPhPCce1kD3XDN-BZgp3v0GwlToUoBc,419
59
- vibetuner/templates/frontend/base/skeleton.html.jinja,sha256=fEMGjE7pXQphsqMlPh-CEXfwNJgjtzbUO_86QvEz92Y,1695
60
- vibetuner/templates/frontend/debug/collections.html.jinja,sha256=YpvUaqKJDQ_Rre1p-Yh5mc2FBSxUbQRAkAtGCFvQidc,7092
61
- vibetuner/templates/frontend/debug/components/debug_nav.html.jinja,sha256=czC5xsguAU3m-LC_DDna067B-pJY9k-i7hXRh5hihHY,2963
62
- vibetuner/templates/frontend/debug/index.html.jinja,sha256=FGIvBfmOGJ0OI2_e8oYiFQ9WCLjy2e-aIxyM6qdIzW8,4890
63
- vibetuner/templates/frontend/debug/info.html.jinja,sha256=lylzLX-K2TbDq8SmrLOzo8rKUng3njmkwQAgmFNqy5I,14966
64
- vibetuner/templates/frontend/debug/users.html.jinja,sha256=CqC1lBGsuea-JgIqgeQAHRUILtZbRMCC4kVotifTUc8,7767
65
- vibetuner/templates/frontend/debug/version.html.jinja,sha256=nLh_zUzkO5OuyYHs_SH3Bu9Fa2b2N-YJLiQBTTmQVJM,2899
66
- vibetuner/templates/frontend/email/magic_link.txt.jinja,sha256=fTVl3Wjfvp3EJAB5DYt01EL_O7o9r8lHedDH05YP44c,192
67
- vibetuner/templates/frontend/email_sent.html.jinja,sha256=Cpvzza80v9KmON66hKmhwIgvd9tkhjhM7O8qe0YLjF4,5235
68
- vibetuner/templates/frontend/index.html.jinja,sha256=P4pcI1JKrr5YBMGbgjTSrKlvORRgzi87VvNKsh1B5GE,924
69
- vibetuner/templates/frontend/lang/select.html.jinja,sha256=4jHo8QWvMOIeK_KqHzSaDzgvuT3v8MlmjTrrYIl2sjk,224
70
- vibetuner/templates/frontend/login.html.jinja,sha256=9jzEyeCdB2Xe_braaojf1lCLH0qaLN6-lPUHPoGfGRM,5365
71
- vibetuner/templates/frontend/meta/browserconfig.xml.jinja,sha256=5DE-Dowxw3fRg4UJerW6tVrUYdHWUsUOfS_YucoRVXQ,300
72
- vibetuner/templates/frontend/meta/robots.txt.jinja,sha256=SUBJqQCOW5FFdD4uIkReo04NcAYnjITLyB4Wk1wBcS4,46
73
- vibetuner/templates/frontend/meta/site.webmanifest.jinja,sha256=QCg2Z2GXd2AwJ3C8CnW9Brvu3cbXcZiquLNEzA8FsOc,150
74
- vibetuner/templates/frontend/meta/sitemap.xml.jinja,sha256=IhBjk7p5OdqszyK6DR3eUAdeAucKk2s_PpnOfYxgNCo,170
75
- vibetuner/templates/frontend/user/edit.html.jinja,sha256=nMaEjcT7VZy_eHa108HCrsV1KrKXFFa02A2k9RhbHp0,5442
76
- vibetuner/templates/frontend/user/profile.html.jinja,sha256=A3Tqs6mCtXcCTirZ0ZNGjCs2RM_8g4MP2LkutzsDsxQ,9963
77
- vibetuner/templates/markdown/.placeholder,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
- vibetuner/templates/markdown/AGENTS.md,sha256=jcvoQNazCj-t54s0gr-4_qyxLMP8iPf2urlaAj887n0,814
79
- vibetuner/templates/markdown/CLAUDE.md,sha256=jcvoQNazCj-t54s0gr-4_qyxLMP8iPf2urlaAj887n0,814
80
- vibetuner/templates.py,sha256=xRoMb_oyAI5x4kxfpg56UcLKkT8e9HVn-o3KFAu9ISE,5094
81
- vibetuner/time.py,sha256=3_DtveCCzI20ocTnAlTh2u7FByUXtINaUoQZO-_uZow,1188
82
- vibetuner/versioning.py,sha256=UAHGoNsv3QEPAJgHyt_Q8I26SW7ng2FnZlX2-0M6r6U,156
83
- vibetuner-2.14.1.dist-info/WHEEL,sha256=5w2T7AS2mz1-rW9CNagNYWRCaB0iQqBMYLwKdlgiR4Q,78
84
- vibetuner-2.14.1.dist-info/entry_points.txt,sha256=aKIj9YCCXizjYupx9PeWkUJePg3ncHke_LTS5rmCsfs,49
85
- vibetuner-2.14.1.dist-info/METADATA,sha256=OBZZuVDKo5H-_477impRGHFQOEvofy19w1g6Ecvi-yM,8141
86
- vibetuner-2.14.1.dist-info/RECORD,,