loopwind 0.25.6 → 0.25.8

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.
Files changed (90) hide show
  1. package/app/.astro/types.d.ts +1 -0
  2. package/app/dist/_astro/callback.Ci5gaEfJ.css +1 -0
  3. package/app/dist/auth/callback/index.html +81 -0
  4. package/app/dist/device/index.html +70 -0
  5. package/app/dist/index.html +327 -0
  6. package/app/package-lock.json +9239 -0
  7. package/app/package.json +23 -0
  8. package/app/wrangler.toml +8 -0
  9. package/dist/cli.js +54 -0
  10. package/dist/cli.js.map +1 -1
  11. package/dist/commands/login.d.ts +5 -0
  12. package/dist/commands/login.d.ts.map +1 -0
  13. package/dist/commands/login.js +60 -0
  14. package/dist/commands/login.js.map +1 -0
  15. package/dist/commands/logout.d.ts +5 -0
  16. package/dist/commands/logout.d.ts.map +1 -0
  17. package/dist/commands/logout.js +15 -0
  18. package/dist/commands/logout.js.map +1 -0
  19. package/dist/commands/publish.d.ts +10 -0
  20. package/dist/commands/publish.d.ts.map +1 -0
  21. package/dist/commands/publish.js +155 -0
  22. package/dist/commands/publish.js.map +1 -0
  23. package/dist/commands/templates.d.ts +5 -0
  24. package/dist/commands/templates.d.ts.map +1 -0
  25. package/dist/commands/templates.js +60 -0
  26. package/dist/commands/templates.js.map +1 -0
  27. package/dist/commands/unpublish.d.ts +5 -0
  28. package/dist/commands/unpublish.d.ts.map +1 -0
  29. package/dist/commands/unpublish.js +54 -0
  30. package/dist/commands/unpublish.js.map +1 -0
  31. package/dist/commands/whoami.d.ts +5 -0
  32. package/dist/commands/whoami.d.ts.map +1 -0
  33. package/dist/commands/whoami.js +30 -0
  34. package/dist/commands/whoami.js.map +1 -0
  35. package/dist/lib/api.d.ts +92 -0
  36. package/dist/lib/api.d.ts.map +1 -0
  37. package/dist/lib/api.js +149 -0
  38. package/dist/lib/api.js.map +1 -0
  39. package/dist/lib/auth.d.ts +41 -0
  40. package/dist/lib/auth.d.ts.map +1 -0
  41. package/dist/lib/auth.js +89 -0
  42. package/dist/lib/auth.js.map +1 -0
  43. package/dist/lib/bundler.d.ts +18 -0
  44. package/dist/lib/bundler.d.ts.map +1 -0
  45. package/dist/lib/bundler.js +105 -0
  46. package/dist/lib/bundler.js.map +1 -0
  47. package/dist/lib/helpers.d.ts +35 -2
  48. package/dist/lib/helpers.d.ts.map +1 -1
  49. package/dist/lib/helpers.js +91 -13
  50. package/dist/lib/helpers.js.map +1 -1
  51. package/dist/lib/utils.d.ts.map +1 -1
  52. package/dist/lib/utils.js +9 -0
  53. package/dist/lib/utils.js.map +1 -1
  54. package/dist/sdk/edge.d.ts +65 -0
  55. package/dist/sdk/edge.d.ts.map +1 -0
  56. package/dist/sdk/edge.js +359 -0
  57. package/dist/sdk/edge.js.map +1 -0
  58. package/dist/sdk/errors.d.ts +64 -0
  59. package/dist/sdk/errors.d.ts.map +1 -0
  60. package/dist/sdk/errors.js +94 -0
  61. package/dist/sdk/errors.js.map +1 -0
  62. package/dist/sdk/index.d.ts +29 -0
  63. package/dist/sdk/index.d.ts.map +1 -0
  64. package/dist/sdk/index.js +30 -0
  65. package/dist/sdk/index.js.map +1 -0
  66. package/dist/sdk/render.d.ts +52 -0
  67. package/dist/sdk/render.d.ts.map +1 -0
  68. package/dist/sdk/render.js +432 -0
  69. package/dist/sdk/render.js.map +1 -0
  70. package/dist/sdk/types.d.ts +185 -0
  71. package/dist/sdk/types.d.ts.map +1 -0
  72. package/dist/sdk/types.js +5 -0
  73. package/dist/sdk/types.js.map +1 -0
  74. package/dist/types/template.d.ts +18 -0
  75. package/dist/types/template.d.ts.map +1 -1
  76. package/package.json +27 -4
  77. package/plans/PLATFORM.md +1637 -237
  78. package/plans/PLATFORM_IMPLEMENTATION.md +1347 -530
  79. package/plans/SDK.md +797 -0
  80. package/platform/.wrangler/state/v3/d1/miniflare-D1DatabaseObject/ebad93a0a7be9c5768c512f3e30740b64d2b6e575277a40d77044af5ae8fd3f2.sqlite +0 -0
  81. package/platform/.wrangler/state/v3/d1/miniflare-D1DatabaseObject/ebad93a0a7be9c5768c512f3e30740b64d2b6e575277a40d77044af5ae8fd3f2.sqlite-shm +0 -0
  82. package/platform/.wrangler/state/v3/d1/miniflare-D1DatabaseObject/ebad93a0a7be9c5768c512f3e30740b64d2b6e575277a40d77044af5ae8fd3f2.sqlite-wal +0 -0
  83. package/platform/migrations/0001_initial.sql +90 -0
  84. package/platform/package-lock.json +3253 -0
  85. package/platform/package.json +30 -0
  86. package/platform/wrangler.toml +43 -0
  87. package/tests-sdk/createRenderer.test.ts +251 -0
  88. package/tests-sdk/errors.test.ts +230 -0
  89. package/tests-sdk/render.test.ts +241 -0
  90. package/tests-sdk/tw.test.ts +277 -0
@@ -0,0 +1,90 @@
1
+ -- Loopwind Platform Initial Schema
2
+ -- Run: wrangler d1 migrations apply loopwind
3
+
4
+ -- Organizations
5
+ CREATE TABLE organizations (
6
+ id TEXT PRIMARY KEY,
7
+ name TEXT NOT NULL,
8
+ slug TEXT UNIQUE NOT NULL,
9
+ created_at TEXT DEFAULT CURRENT_TIMESTAMP
10
+ );
11
+
12
+ CREATE INDEX idx_organizations_slug ON organizations(slug);
13
+
14
+ -- Users
15
+ CREATE TABLE users (
16
+ id TEXT PRIMARY KEY,
17
+ github_id INTEGER UNIQUE NOT NULL,
18
+ github_username TEXT NOT NULL,
19
+ email TEXT,
20
+ created_at TEXT DEFAULT CURRENT_TIMESTAMP
21
+ );
22
+
23
+ CREATE INDEX idx_users_github_id ON users(github_id);
24
+
25
+ -- Organization memberships
26
+ CREATE TABLE org_members (
27
+ org_id TEXT NOT NULL REFERENCES organizations(id) ON DELETE CASCADE,
28
+ user_id TEXT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
29
+ role TEXT NOT NULL DEFAULT 'member',
30
+ PRIMARY KEY (org_id, user_id)
31
+ );
32
+
33
+ CREATE INDEX idx_org_members_user ON org_members(user_id);
34
+
35
+ -- API Keys
36
+ CREATE TABLE api_keys (
37
+ id TEXT PRIMARY KEY,
38
+ org_id TEXT NOT NULL REFERENCES organizations(id) ON DELETE CASCADE,
39
+ name TEXT NOT NULL,
40
+ key_hash TEXT UNIQUE NOT NULL,
41
+ last_used_at TEXT,
42
+ created_at TEXT DEFAULT CURRENT_TIMESTAMP
43
+ );
44
+
45
+ CREATE INDEX idx_api_keys_org ON api_keys(org_id);
46
+ CREATE INDEX idx_api_keys_hash ON api_keys(key_hash);
47
+
48
+ -- Templates
49
+ CREATE TABLE templates (
50
+ id TEXT PRIMARY KEY,
51
+ org_id TEXT NOT NULL REFERENCES organizations(id) ON DELETE CASCADE,
52
+ name TEXT NOT NULL,
53
+ version INTEGER DEFAULT 1,
54
+ bundle_path TEXT NOT NULL,
55
+ meta TEXT, -- JSON: description, schema, defaults
56
+ created_at TEXT DEFAULT CURRENT_TIMESTAMP,
57
+ updated_at TEXT DEFAULT CURRENT_TIMESTAMP,
58
+ UNIQUE(org_id, name)
59
+ );
60
+
61
+ CREATE INDEX idx_templates_org ON templates(org_id);
62
+
63
+ -- Render Tokens (short URLs for templates)
64
+ CREATE TABLE render_tokens (
65
+ id TEXT PRIMARY KEY,
66
+ template_id TEXT NOT NULL REFERENCES templates(id) ON DELETE CASCADE,
67
+ token TEXT UNIQUE NOT NULL,
68
+ name TEXT, -- Optional friendly name
69
+ config TEXT, -- JSON: defaultProps, dimensions, format
70
+ allowed_hosts TEXT, -- JSON array of allowed referrer hosts
71
+ created_at TEXT DEFAULT CURRENT_TIMESTAMP
72
+ );
73
+
74
+ CREATE INDEX idx_render_tokens_token ON render_tokens(token);
75
+ CREATE INDEX idx_render_tokens_template ON render_tokens(template_id);
76
+
77
+ -- Device codes for CLI OAuth flow
78
+ CREATE TABLE device_codes (
79
+ id TEXT PRIMARY KEY,
80
+ device_code TEXT UNIQUE NOT NULL,
81
+ user_code TEXT UNIQUE NOT NULL,
82
+ user_id TEXT REFERENCES users(id),
83
+ org_id TEXT REFERENCES organizations(id),
84
+ status TEXT DEFAULT 'pending', -- pending, authorized, expired
85
+ expires_at TEXT NOT NULL,
86
+ created_at TEXT DEFAULT CURRENT_TIMESTAMP
87
+ );
88
+
89
+ CREATE INDEX idx_device_codes_device ON device_codes(device_code);
90
+ CREATE INDEX idx_device_codes_user ON device_codes(user_code);