basyx commited on
Commit
1fed801
·
verified ·
1 Parent(s): 8bf0d31

Upload 629 files

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. README.md +0 -15
  2. api/__init__.py +0 -13
  3. api/__pycache__/__init__.cpython-310.pyc +0 -0
  4. api/__pycache__/audio.cpython-310.pyc +0 -0
  5. api/__pycache__/health.cpython-310.pyc +0 -0
  6. api/__pycache__/image.cpython-310.pyc +0 -0
  7. api/__pycache__/media.cpython-310.pyc +0 -0
  8. api/__pycache__/probe.cpython-310.pyc +0 -0
  9. api/__pycache__/video.cpython-310.pyc +0 -0
  10. api/__pycache__/whisper.cpython-310.pyc +0 -0
  11. api/__pycache__/ytdlp.cpython-310.pyc +0 -0
  12. app/__pycache__/__init__.cpython-310.pyc +0 -0
  13. app/__pycache__/container.cpython-310.pyc +0 -0
  14. app/ai/__pycache__/__init__.cpython-310.pyc +0 -0
  15. app/ai/__pycache__/api.cpython-310.pyc +0 -0
  16. app/ai/__pycache__/schemas.cpython-310.pyc +0 -0
  17. app/ai/__pycache__/service.cpython-310.pyc +0 -0
  18. app/analytics/__pycache__/__init__.cpython-310.pyc +0 -0
  19. app/analytics/__pycache__/api.cpython-310.pyc +0 -0
  20. app/analytics/__pycache__/errors.cpython-310.pyc +0 -0
  21. app/analytics/__pycache__/models.cpython-310.pyc +0 -0
  22. app/analytics/__pycache__/repository.cpython-310.pyc +0 -0
  23. app/analytics/__pycache__/schemas.cpython-310.pyc +0 -0
  24. app/analytics/__pycache__/service.cpython-310.pyc +0 -0
  25. app/analytics/workers/__pycache__/__init__.cpython-310.pyc +0 -0
  26. app/analytics/workers/__pycache__/sync.cpython-310.pyc +0 -0
  27. app/api/__pycache__/__init__.cpython-310.pyc +0 -0
  28. app/api/__pycache__/api_keys.cpython-310.pyc +0 -0
  29. app/api/__pycache__/audio.cpython-310.pyc +0 -0
  30. app/api/__pycache__/generation.cpython-310.pyc +0 -0
  31. app/api/__pycache__/health.cpython-310.pyc +0 -0
  32. app/api/__pycache__/image.cpython-310.pyc +0 -0
  33. app/api/__pycache__/media.cpython-310.pyc +0 -0
  34. app/api/__pycache__/probe.cpython-310.pyc +0 -0
  35. app/api/__pycache__/social.cpython-310.pyc +0 -0
  36. app/api/__pycache__/templates.cpython-310.pyc +0 -0
  37. app/api/__pycache__/video.cpython-310.pyc +0 -0
  38. app/api/__pycache__/whisper.cpython-310.pyc +0 -0
  39. app/api/__pycache__/ytdlp.cpython-310.pyc +0 -0
  40. app/api/api_keys.py +1 -0
  41. app/brand/__pycache__/__init__.cpython-310.pyc +0 -0
  42. app/brand/__pycache__/api.cpython-310.pyc +0 -0
  43. app/brand/__pycache__/capabilities.cpython-310.pyc +0 -0
  44. app/brand/__pycache__/errors.cpython-310.pyc +0 -0
  45. app/brand/__pycache__/models.cpython-310.pyc +0 -0
  46. app/brand/__pycache__/repository.cpython-310.pyc +0 -0
  47. app/brand/__pycache__/schemas.cpython-310.pyc +0 -0
  48. app/brand/__pycache__/service.cpython-310.pyc +0 -0
  49. app/brand/__pycache__/validation.cpython-310.pyc +0 -0
  50. app/brand/errors.py +35 -0
README.md CHANGED
@@ -84,21 +84,6 @@ media-api/
84
 
85
  The top-level `api/`, `services/`, `operations/`, `workers/`, `core/`, and `models/` packages mirror the canonical `app/` modules as import-compatible entry points for integrations that use the requested layout. Runtime composition uses the single implementation under `app/`, so business logic is not duplicated.
86
 
87
- ## Current implementation surface
88
-
89
- The current source tree exposes the following product areas. Missing docs or backend modules are recorded as omitted from this working tree, not as unimplemented capabilities elsewhere.
90
-
91
- - Brand Kit: `/v1/brand`, frontend brand-kit module, Python/TypeScript SDK resources, MCP brand tools, n8n MediaBrandKit node.
92
- - Projects and collaboration: `/v1/projects`, editor persistence/render jobs, teams/members/invitations, approvals/review comments, notification preferences, Python/TypeScript SDK project resources, MCP collaboration tools, n8n MediaCollaboration node.
93
- - Publishing and social automation: `/v1/social`, unified publishing, scheduling, retries, reconciliation, analytics sync, Python/TypeScript SDK social resources, MCP social tools, n8n MediaSocial node.
94
- - Analytics: `/v1/analytics`, overview/timeseries/platform/post analytics, sync runs/cancellation, frontend analytics module, MCP analytics tools, SDK analytics resource. See [`docs/analytics.md`](docs/analytics.md) for implementation and runtime status.
95
- - AI Studio / Copilot: `/v1/ai`, `/v1/copilot`, durable jobs, deterministic planner, frontend AI/Copilot modules, SDK resources, MCP tools. See [`docs/ai-copilot.md`](docs/ai-copilot.md) for implementation and runtime status.
96
- - Templates: `/v1/templates`, `/v1/templates/catalog`, template execution, marketplace API, frontend template/marketplace modules, SDK/n8n/MCP coverage. See [`docs/template-marketplace.md`](docs/template-marketplace.md) for implementation and runtime status.
97
- - Content Studio: editor state, optimistic revisioning, autosave, render jobs, timeline UX, SDK/n8n integration points. See [`docs/content-studio-foundation.md`](docs/content-studio-foundation.md) and [`docs/content-studio-persistence-rendering.md`](docs/content-studio-persistence-rendering.md) for current implementation surface.
98
- - Brand Kit: `/v1/brand`, frontend brand-kit module, Python/TypeScript SDK resources, MCP brand tools, and an n8n `MediaBrandKit` package entry. See [`docs/brand-kits.md`](docs/brand-kits.md) for implementation and runtime status.
99
-
100
- Provider certification, PostgreSQL/RLS runtime, Docker, and Hugging Face runtime verification remain deferred until the planned product phases are complete.
101
-
102
  ## Generation foundation
103
 
104
  MediaRouter includes a tenant-scoped generation request/job foundation at
 
84
 
85
  The top-level `api/`, `services/`, `operations/`, `workers/`, `core/`, and `models/` packages mirror the canonical `app/` modules as import-compatible entry points for integrations that use the requested layout. Runtime composition uses the single implementation under `app/`, so business logic is not duplicated.
86
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
87
  ## Generation foundation
88
 
89
  MediaRouter includes a tenant-scoped generation request/job foundation at
api/__init__.py CHANGED
@@ -1,14 +1 @@
1
  """Compatibility exports for the canonical :mod:`app.api` package."""
2
-
3
- from app.api.api_keys import * # noqa
4
- from app.api.audio import * # noqa
5
- from app.api.generation import * # noqa
6
- from app.api.health import * # noqa
7
- from app.api.image import * # noqa
8
- from app.api.media import * # noqa
9
- from app.api.probe import * # noqa
10
- from app.api.social import * # noqa
11
- from app.api.templates import * # noqa
12
- from app.api.video import * # noqa
13
- from app.api.whisper import * # noqa
14
- from app.api.ytdlp import * # noqa
 
1
  """Compatibility exports for the canonical :mod:`app.api` package."""
 
 
 
 
 
 
 
 
 
 
 
 
 
api/__pycache__/__init__.cpython-310.pyc ADDED
Binary file (183 Bytes). View file
 
api/__pycache__/audio.cpython-310.pyc ADDED
Binary file (135 Bytes). View file
 
api/__pycache__/health.cpython-310.pyc ADDED
Binary file (137 Bytes). View file
 
api/__pycache__/image.cpython-310.pyc ADDED
Binary file (135 Bytes). View file
 
api/__pycache__/media.cpython-310.pyc ADDED
Binary file (135 Bytes). View file
 
api/__pycache__/probe.cpython-310.pyc ADDED
Binary file (135 Bytes). View file
 
api/__pycache__/video.cpython-310.pyc ADDED
Binary file (135 Bytes). View file
 
api/__pycache__/whisper.cpython-310.pyc ADDED
Binary file (139 Bytes). View file
 
api/__pycache__/ytdlp.cpython-310.pyc ADDED
Binary file (135 Bytes). View file
 
app/__pycache__/__init__.cpython-310.pyc ADDED
Binary file (187 Bytes). View file
 
app/__pycache__/container.cpython-310.pyc ADDED
Binary file (10.9 kB). View file
 
app/ai/__pycache__/__init__.cpython-310.pyc ADDED
Binary file (171 Bytes). View file
 
app/ai/__pycache__/api.cpython-310.pyc ADDED
Binary file (2.67 kB). View file
 
app/ai/__pycache__/schemas.cpython-310.pyc ADDED
Binary file (6.33 kB). View file
 
app/ai/__pycache__/service.cpython-310.pyc ADDED
Binary file (11.5 kB). View file
 
app/analytics/__pycache__/__init__.cpython-310.pyc ADDED
Binary file (201 Bytes). View file
 
app/analytics/__pycache__/api.cpython-310.pyc ADDED
Binary file (4.87 kB). View file
 
app/analytics/__pycache__/errors.cpython-310.pyc ADDED
Binary file (778 Bytes). View file
 
app/analytics/__pycache__/models.cpython-310.pyc ADDED
Binary file (5.91 kB). View file
 
app/analytics/__pycache__/repository.cpython-310.pyc ADDED
Binary file (9.73 kB). View file
 
app/analytics/__pycache__/schemas.cpython-310.pyc ADDED
Binary file (5.14 kB). View file
 
app/analytics/__pycache__/service.cpython-310.pyc ADDED
Binary file (12 kB). View file
 
app/analytics/workers/__pycache__/__init__.cpython-310.pyc ADDED
Binary file (180 Bytes). View file
 
app/analytics/workers/__pycache__/sync.cpython-310.pyc ADDED
Binary file (3.83 kB). View file
 
app/api/__pycache__/__init__.cpython-310.pyc ADDED
Binary file (141 Bytes). View file
 
app/api/__pycache__/api_keys.cpython-310.pyc ADDED
Binary file (6.1 kB). View file
 
app/api/__pycache__/audio.cpython-310.pyc ADDED
Binary file (1.85 kB). View file
 
app/api/__pycache__/generation.cpython-310.pyc ADDED
Binary file (3.69 kB). View file
 
app/api/__pycache__/health.cpython-310.pyc ADDED
Binary file (1.14 kB). View file
 
app/api/__pycache__/image.cpython-310.pyc ADDED
Binary file (1.68 kB). View file
 
app/api/__pycache__/media.cpython-310.pyc ADDED
Binary file (2.47 kB). View file
 
app/api/__pycache__/probe.cpython-310.pyc ADDED
Binary file (694 Bytes). View file
 
app/api/__pycache__/social.cpython-310.pyc ADDED
Binary file (14.9 kB). View file
 
app/api/__pycache__/templates.cpython-310.pyc ADDED
Binary file (2.4 kB). View file
 
app/api/__pycache__/video.cpython-310.pyc ADDED
Binary file (3.29 kB). View file
 
app/api/__pycache__/whisper.cpython-310.pyc ADDED
Binary file (1.3 kB). View file
 
app/api/__pycache__/ytdlp.cpython-310.pyc ADDED
Binary file (731 Bytes). View file
 
app/api/api_keys.py CHANGED
@@ -40,6 +40,7 @@ async def current_auth_context(request: Request) -> AuthContextView:
40
  expires_at=context.expires_at,
41
  workspace_id=context.workspace_id,
42
  user_id=context.user_id,
 
43
  )
44
 
45
 
 
40
  expires_at=context.expires_at,
41
  workspace_id=context.workspace_id,
42
  user_id=context.user_id,
43
+ membership_role=context.membership_role,
44
  )
45
 
46
 
app/brand/__pycache__/__init__.cpython-310.pyc ADDED
Binary file (175 Bytes). View file
 
app/brand/__pycache__/api.cpython-310.pyc ADDED
Binary file (2.93 kB). View file
 
app/brand/__pycache__/capabilities.cpython-310.pyc ADDED
Binary file (619 Bytes). View file
 
app/brand/__pycache__/errors.cpython-310.pyc ADDED
Binary file (1.63 kB). View file
 
app/brand/__pycache__/models.cpython-310.pyc ADDED
Binary file (6.23 kB). View file
 
app/brand/__pycache__/repository.cpython-310.pyc ADDED
Binary file (13.8 kB). View file
 
app/brand/__pycache__/schemas.cpython-310.pyc ADDED
Binary file (5.67 kB). View file
 
app/brand/__pycache__/service.cpython-310.pyc ADDED
Binary file (14.4 kB). View file
 
app/brand/__pycache__/validation.cpython-310.pyc ADDED
Binary file (1.28 kB). View file
 
app/brand/errors.py CHANGED
@@ -7,3 +7,38 @@ class BrandKitNotFoundError(MediaAPIError):
7
  class BrandKitValidationError(MediaAPIError):
8
  code = "INVALID_BRAND_KIT"
9
  status_code = 422
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  class BrandKitValidationError(MediaAPIError):
8
  code = "INVALID_BRAND_KIT"
9
  status_code = 422
10
+
11
+
12
+ class BrandValidationError(MediaAPIError):
13
+ code = "INVALID_BRAND"
14
+ status_code = 422
15
+
16
+
17
+ class BrandAssetInvalidError(MediaAPIError):
18
+ code = "INVALID_BRAND_ASSET"
19
+ status_code = 422
20
+
21
+
22
+ class BrandGovernanceError(MediaAPIError):
23
+ code = "BRAND_GOVERNANCE_ERROR"
24
+ status_code = 403
25
+
26
+
27
+ class BrandConflictError(MediaAPIError):
28
+ code = "BRAND_CONFLICT"
29
+ status_code = 409
30
+
31
+
32
+ class BrandImmutableError(MediaAPIError):
33
+ code = "BRAND_IMMUTABLE"
34
+ status_code = 409
35
+
36
+
37
+ class BrandNotFoundError(MediaAPIError):
38
+ code = "BRAND_NOT_FOUND"
39
+ status_code = 404
40
+
41
+
42
+ class BrandVersionNotFoundError(MediaAPIError):
43
+ code = "BRAND_VERSION_NOT_FOUND"
44
+ status_code = 404