swallowkit 1.0.0-beta.47 → 1.0.0-beta.48

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 (66) hide show
  1. package/dist/cli/commands/add-auth.d.ts +1 -0
  2. package/dist/cli/commands/add-auth.d.ts.map +1 -1
  3. package/dist/cli/commands/add-auth.js +136 -1
  4. package/dist/cli/commands/add-auth.js.map +1 -1
  5. package/dist/cli/commands/dev.js +5 -2
  6. package/dist/cli/commands/dev.js.map +1 -1
  7. package/dist/cli/commands/scaffold.d.ts +9 -0
  8. package/dist/cli/commands/scaffold.d.ts.map +1 -1
  9. package/dist/cli/commands/scaffold.js +56 -12
  10. package/dist/cli/commands/scaffold.js.map +1 -1
  11. package/dist/cli/index.d.ts.map +1 -1
  12. package/dist/cli/index.js +2 -0
  13. package/dist/cli/index.js.map +1 -1
  14. package/dist/core/config.d.ts +7 -2
  15. package/dist/core/config.d.ts.map +1 -1
  16. package/dist/core/config.js +81 -1
  17. package/dist/core/config.js.map +1 -1
  18. package/dist/core/mock/connector-mock-server.js +2 -2
  19. package/dist/core/mock/connector-mock-server.js.map +1 -1
  20. package/dist/core/project/manifest.js +2 -2
  21. package/dist/core/project/manifest.js.map +1 -1
  22. package/dist/core/project/validation.d.ts.map +1 -1
  23. package/dist/core/project/validation.js +17 -0
  24. package/dist/core/project/validation.js.map +1 -1
  25. package/dist/core/scaffold/auth-generator.d.ts +9 -2
  26. package/dist/core/scaffold/auth-generator.d.ts.map +1 -1
  27. package/dist/core/scaffold/auth-generator.js +230 -13
  28. package/dist/core/scaffold/auth-generator.js.map +1 -1
  29. package/dist/core/scaffold/connector-functions-generator.d.ts.map +1 -1
  30. package/dist/core/scaffold/connector-functions-generator.js +4 -2
  31. package/dist/core/scaffold/connector-functions-generator.js.map +1 -1
  32. package/dist/core/scaffold/functions-generator.d.ts.map +1 -1
  33. package/dist/core/scaffold/functions-generator.js +4 -2
  34. package/dist/core/scaffold/functions-generator.js.map +1 -1
  35. package/dist/core/scaffold/model-parser.d.ts.map +1 -1
  36. package/dist/core/scaffold/model-parser.js +8 -3
  37. package/dist/core/scaffold/model-parser.js.map +1 -1
  38. package/dist/core/scaffold/ui-generator.d.ts +3 -0
  39. package/dist/core/scaffold/ui-generator.d.ts.map +1 -1
  40. package/dist/core/scaffold/ui-generator.js +12 -8
  41. package/dist/core/scaffold/ui-generator.js.map +1 -1
  42. package/dist/types/index.d.ts +34 -4
  43. package/dist/types/index.d.ts.map +1 -1
  44. package/dist/utils/package-manager.d.ts.map +1 -1
  45. package/dist/utils/package-manager.js +1 -0
  46. package/dist/utils/package-manager.js.map +1 -1
  47. package/package.json +1 -1
  48. package/src/__tests__/auth.test.ts +4 -0
  49. package/src/__tests__/config.test.ts +22 -1
  50. package/src/__tests__/mcp.test.ts +2 -2
  51. package/src/__tests__/multi-auth.test.ts +133 -0
  52. package/src/cli/commands/add-auth.ts +112 -2
  53. package/src/cli/commands/dev.ts +6 -3
  54. package/src/cli/commands/scaffold.ts +58 -14
  55. package/src/cli/index.ts +2 -0
  56. package/src/core/config.ts +69 -2
  57. package/src/core/mock/connector-mock-server.ts +2 -2
  58. package/src/core/project/manifest.ts +3 -3
  59. package/src/core/project/validation.ts +16 -0
  60. package/src/core/scaffold/auth-generator.ts +236 -14
  61. package/src/core/scaffold/connector-functions-generator.ts +4 -2
  62. package/src/core/scaffold/functions-generator.ts +4 -2
  63. package/src/core/scaffold/model-parser.ts +9 -3
  64. package/src/core/scaffold/ui-generator.ts +15 -8
  65. package/src/types/index.ts +35 -4
  66. package/src/utils/package-manager.ts +1 -0
@@ -95,12 +95,25 @@ export interface SwaAuthConfig {
95
95
 
96
96
  // 認可設定
97
97
  export interface AuthorizationConfig {
98
- defaultPolicy?: "authenticated" | "anonymous";
98
+ defaultPolicy?: "authenticated" | "anonymous" | "public" | string;
99
+ policies?: Record<string, AuthorizationPolicy>;
100
+ }
101
+
102
+ export interface AuthorizationPolicy {
103
+ schemes: string[];
104
+ roles?: string[];
105
+ }
106
+
107
+ export interface AuthSchemeConfig {
108
+ provider: AuthProvider;
109
+ customJwt?: CustomJwtConfig;
110
+ swa?: SwaAuthConfig;
99
111
  }
100
112
 
101
113
  // 認証設定
102
114
  export interface AuthConfig {
103
- provider: AuthProvider;
115
+ provider?: AuthProvider;
116
+ schemes?: Record<string, AuthSchemeConfig>;
104
117
  customJwt?: CustomJwtConfig;
105
118
  swa?: SwaAuthConfig;
106
119
  authorization?: AuthorizationConfig;
@@ -109,8 +122,26 @@ export interface AuthConfig {
109
122
  // モデルに付与する認可ポリシー
110
123
  export interface ModelAuthPolicy {
111
124
  roles?: string[];
112
- read?: string[];
113
- write?: string[];
125
+ read?: string[] | string;
126
+ write?: string[] | string;
127
+ policy?: string;
128
+ }
129
+
130
+ export interface NormalizedAuthConfig extends Omit<AuthConfig, "schemes" | "authorization"> {
131
+ schemes: Record<string, AuthSchemeConfig>;
132
+ authorization: AuthorizationConfig & { defaultPolicy: string; policies: Record<string, AuthorizationPolicy> };
133
+ }
134
+
135
+ export interface AuthPrincipal {
136
+ subject: string;
137
+ scheme: string;
138
+ issuer: string;
139
+ roles: string[];
140
+ claims: Record<string, unknown>;
141
+ /** @deprecated Use subject. */
142
+ userId?: string;
143
+ /** @deprecated Read provider data from claims. */
144
+ userDetails?: string;
114
145
  }
115
146
 
116
147
  // CLI設定の型
@@ -178,6 +178,7 @@ export function getCiSetupStep(pm: PackageManager): string {
178
178
  }
179
179
 
180
180
  export function getCiInstallCommand(ciPm: PackageManager, projectPm: PackageManager = ciPm): string {
181
+ void projectPm; // Reserved for package-manager-specific CI bridging.
181
182
  if (ciPm === "pnpm") {
182
183
  return getCommands(ciPm).ci;
183
184
  }