run402 3.7.13 → 3.8.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.
Files changed (97) hide show
  1. package/cli.mjs +6 -0
  2. package/core-dist/config.js +9 -0
  3. package/core-dist/keystore.js +103 -68
  4. package/core-dist/profile-state.js +137 -0
  5. package/lib/config.mjs +31 -20
  6. package/lib/credentials.mjs +273 -0
  7. package/lib/domains.mjs +40 -20
  8. package/lib/next-actions.mjs +7 -0
  9. package/lib/projects.mjs +65 -27
  10. package/lib/sdk-errors.mjs +24 -3
  11. package/lib/sdk.mjs +3 -2
  12. package/package.json +1 -1
  13. package/sdk/core-dist/config.js +9 -0
  14. package/sdk/core-dist/keystore.js +103 -68
  15. package/sdk/core-dist/profile-state.js +137 -0
  16. package/sdk/dist/credentials.d.ts +24 -7
  17. package/sdk/dist/credentials.d.ts.map +1 -1
  18. package/sdk/dist/credentials.js +4 -4
  19. package/sdk/dist/errors.d.ts +27 -1
  20. package/sdk/dist/errors.d.ts.map +1 -1
  21. package/sdk/dist/errors.js +61 -3
  22. package/sdk/dist/errors.js.map +1 -1
  23. package/sdk/dist/index.d.ts +7 -2
  24. package/sdk/dist/index.d.ts.map +1 -1
  25. package/sdk/dist/index.js +8 -3
  26. package/sdk/dist/index.js.map +1 -1
  27. package/sdk/dist/kernel.d.ts +2 -0
  28. package/sdk/dist/kernel.d.ts.map +1 -1
  29. package/sdk/dist/kernel.js +5 -1
  30. package/sdk/dist/kernel.js.map +1 -1
  31. package/sdk/dist/namespaces/ai.d.ts.map +1 -1
  32. package/sdk/dist/namespaces/ai.js +5 -10
  33. package/sdk/dist/namespaces/ai.js.map +1 -1
  34. package/sdk/dist/namespaces/apps.d.ts.map +1 -1
  35. package/sdk/dist/namespaces/apps.js +5 -13
  36. package/sdk/dist/namespaces/apps.js.map +1 -1
  37. package/sdk/dist/namespaces/assets.d.ts.map +1 -1
  38. package/sdk/dist/namespaces/assets.js +9 -22
  39. package/sdk/dist/namespaces/assets.js.map +1 -1
  40. package/sdk/dist/namespaces/auth.d.ts.map +1 -1
  41. package/sdk/dist/namespaces/auth.js +16 -43
  42. package/sdk/dist/namespaces/auth.js.map +1 -1
  43. package/sdk/dist/namespaces/contracts.d.ts.map +1 -1
  44. package/sdk/dist/namespaces/contracts.js +12 -31
  45. package/sdk/dist/namespaces/contracts.js.map +1 -1
  46. package/sdk/dist/namespaces/credentials.d.ts +48 -0
  47. package/sdk/dist/namespaces/credentials.d.ts.map +1 -0
  48. package/sdk/dist/namespaces/credentials.js +115 -0
  49. package/sdk/dist/namespaces/credentials.js.map +1 -0
  50. package/sdk/dist/namespaces/deploy.d.ts.map +1 -1
  51. package/sdk/dist/namespaces/deploy.js +23 -3
  52. package/sdk/dist/namespaces/deploy.js.map +1 -1
  53. package/sdk/dist/namespaces/domains.d.ts +8 -2
  54. package/sdk/dist/namespaces/domains.d.ts.map +1 -1
  55. package/sdk/dist/namespaces/domains.js +41 -23
  56. package/sdk/dist/namespaces/domains.js.map +1 -1
  57. package/sdk/dist/namespaces/email.d.ts.map +1 -1
  58. package/sdk/dist/namespaces/email.js +8 -19
  59. package/sdk/dist/namespaces/email.js.map +1 -1
  60. package/sdk/dist/namespaces/functions.d.ts.map +1 -1
  61. package/sdk/dist/namespaces/functions.js +14 -37
  62. package/sdk/dist/namespaces/functions.js.map +1 -1
  63. package/sdk/dist/namespaces/jobs.d.ts.map +1 -1
  64. package/sdk/dist/namespaces/jobs.js +8 -19
  65. package/sdk/dist/namespaces/jobs.js.map +1 -1
  66. package/sdk/dist/namespaces/projects.d.ts +4 -4
  67. package/sdk/dist/namespaces/projects.d.ts.map +1 -1
  68. package/sdk/dist/namespaces/projects.js +18 -42
  69. package/sdk/dist/namespaces/projects.js.map +1 -1
  70. package/sdk/dist/namespaces/secrets.d.ts.map +1 -1
  71. package/sdk/dist/namespaces/secrets.js +5 -10
  72. package/sdk/dist/namespaces/secrets.js.map +1 -1
  73. package/sdk/dist/namespaces/sender-domain.d.ts.map +1 -1
  74. package/sdk/dist/namespaces/sender-domain.js +6 -16
  75. package/sdk/dist/namespaces/sender-domain.js.map +1 -1
  76. package/sdk/dist/namespaces/subdomains.d.ts.map +1 -1
  77. package/sdk/dist/namespaces/subdomains.js +5 -10
  78. package/sdk/dist/namespaces/subdomains.js.map +1 -1
  79. package/sdk/dist/node/credentials.d.ts +18 -4
  80. package/sdk/dist/node/credentials.d.ts.map +1 -1
  81. package/sdk/dist/node/credentials.js +37 -9
  82. package/sdk/dist/node/credentials.js.map +1 -1
  83. package/sdk/dist/node/index.d.ts +4 -2
  84. package/sdk/dist/node/index.d.ts.map +1 -1
  85. package/sdk/dist/node/index.js +2 -1
  86. package/sdk/dist/node/index.js.map +1 -1
  87. package/sdk/dist/node/target-profile.d.ts.map +1 -1
  88. package/sdk/dist/node/target-profile.js +6 -4
  89. package/sdk/dist/node/target-profile.js.map +1 -1
  90. package/sdk/dist/project-auth-classification.d.ts +125 -0
  91. package/sdk/dist/project-auth-classification.d.ts.map +1 -0
  92. package/sdk/dist/project-auth-classification.js +135 -0
  93. package/sdk/dist/project-auth-classification.js.map +1 -0
  94. package/sdk/dist/project-credentials.d.ts +4 -0
  95. package/sdk/dist/project-credentials.d.ts.map +1 -0
  96. package/sdk/dist/project-credentials.js +9 -0
  97. package/sdk/dist/project-credentials.js.map +1 -0
@@ -0,0 +1,135 @@
1
+ export const PROJECT_OPERATION_AUTH_CLASSIFICATIONS = [
2
+ {
3
+ operation: "projects.list",
4
+ scope: "project",
5
+ plane: "control",
6
+ authModes: ["principal", "delegate"],
7
+ defaultAuthMode: "principal",
8
+ requiresProjectId: false,
9
+ mayUseLocalCredentialCache: false,
10
+ },
11
+ {
12
+ operation: "projects.get",
13
+ scope: "project",
14
+ plane: "control",
15
+ authModes: ["principal", "delegate"],
16
+ defaultAuthMode: "principal",
17
+ requiresProjectId: true,
18
+ mayUseLocalCredentialCache: false,
19
+ },
20
+ {
21
+ operation: "projects.use",
22
+ scope: "project",
23
+ plane: "control",
24
+ authModes: ["principal", "delegate"],
25
+ defaultAuthMode: "principal",
26
+ requiresProjectId: true,
27
+ mayUseLocalCredentialCache: false,
28
+ },
29
+ {
30
+ operation: "projects.keys",
31
+ scope: "project",
32
+ plane: "local",
33
+ authModes: ["project_credential"],
34
+ defaultAuthMode: "project_credential",
35
+ requiresProjectId: true,
36
+ mayUseLocalCredentialCache: true,
37
+ localCredentialMissCode: "PROJECT_CREDENTIAL_NOT_FOUND",
38
+ },
39
+ {
40
+ operation: "projects.sql",
41
+ scope: "project",
42
+ plane: "data",
43
+ authModes: ["service_key"],
44
+ defaultAuthMode: "project_credential",
45
+ requiresProjectId: true,
46
+ mayUseLocalCredentialCache: true,
47
+ localCredentialMissCode: "PROJECT_CREDENTIAL_NOT_FOUND",
48
+ },
49
+ {
50
+ operation: "projects.rest",
51
+ scope: "project",
52
+ plane: "data",
53
+ authModes: ["anon_key", "service_key"],
54
+ defaultAuthMode: "project_credential",
55
+ requiresProjectId: true,
56
+ mayUseLocalCredentialCache: true,
57
+ localCredentialMissCode: "PROJECT_CREDENTIAL_NOT_FOUND",
58
+ },
59
+ {
60
+ operation: "domains.add",
61
+ scope: "project",
62
+ plane: "control",
63
+ authModes: ["principal", "delegate", "service_key"],
64
+ defaultAuthMode: "principal",
65
+ requiresProjectId: true,
66
+ mayUseLocalCredentialCache: false,
67
+ },
68
+ {
69
+ operation: "domains.list",
70
+ scope: "project",
71
+ plane: "control",
72
+ authModes: ["principal", "delegate", "service_key"],
73
+ defaultAuthMode: "principal",
74
+ requiresProjectId: true,
75
+ mayUseLocalCredentialCache: false,
76
+ },
77
+ {
78
+ operation: "domains.status",
79
+ scope: "project",
80
+ plane: "control",
81
+ authModes: ["principal", "delegate", "service_key"],
82
+ defaultAuthMode: "principal",
83
+ requiresProjectId: true,
84
+ mayUseLocalCredentialCache: false,
85
+ },
86
+ {
87
+ operation: "domains.delete",
88
+ scope: "project",
89
+ plane: "control",
90
+ authModes: ["principal", "delegate", "service_key"],
91
+ defaultAuthMode: "principal",
92
+ requiresProjectId: true,
93
+ mayUseLocalCredentialCache: false,
94
+ },
95
+ {
96
+ operation: "functions.*",
97
+ scope: "project",
98
+ plane: "control",
99
+ authModes: ["service_key"],
100
+ defaultAuthMode: "project_credential",
101
+ requiresProjectId: true,
102
+ mayUseLocalCredentialCache: true,
103
+ localCredentialMissCode: "PROJECT_CREDENTIAL_NOT_FOUND",
104
+ },
105
+ {
106
+ operation: "assets.*",
107
+ scope: "project",
108
+ plane: "data",
109
+ authModes: ["service_key"],
110
+ defaultAuthMode: "project_credential",
111
+ requiresProjectId: true,
112
+ mayUseLocalCredentialCache: true,
113
+ localCredentialMissCode: "PROJECT_CREDENTIAL_NOT_FOUND",
114
+ },
115
+ {
116
+ operation: "jobs.*",
117
+ scope: "project",
118
+ plane: "control",
119
+ authModes: ["service_key"],
120
+ defaultAuthMode: "project_credential",
121
+ requiresProjectId: true,
122
+ mayUseLocalCredentialCache: true,
123
+ localCredentialMissCode: "PROJECT_CREDENTIAL_NOT_FOUND",
124
+ },
125
+ ];
126
+ export function projectOperationAuthClassification(operation) {
127
+ return PROJECT_OPERATION_AUTH_CLASSIFICATIONS.find((entry) => {
128
+ if (entry.operation === operation)
129
+ return true;
130
+ if (entry.operation.endsWith(".*"))
131
+ return operation.startsWith(entry.operation.slice(0, -1));
132
+ return false;
133
+ }) ?? null;
134
+ }
135
+ //# sourceMappingURL=project-auth-classification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-auth-classification.js","sourceRoot":"","sources":["../src/project-auth-classification.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { ProjectKeys } from "./credentials.js";
2
+ import type { Client } from "./kernel.js";
3
+ export declare function requireProjectCredentials(client: Client, projectId: string, context: string): Promise<ProjectKeys>;
4
+ //# sourceMappingURL=project-credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-credentials.d.ts","sourceRoot":"","sources":["../src/project-credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,CAAC,CAKtB"}
@@ -0,0 +1,9 @@
1
+ import { ProjectCredentialNotFound } from "./errors.js";
2
+ export async function requireProjectCredentials(client, projectId, context) {
3
+ const project = await client.getProjectCredentials(projectId);
4
+ if (project)
5
+ return project;
6
+ const info = client.credentials.getProjectCredentialCacheInfo?.();
7
+ throw new ProjectCredentialNotFound(projectId, context, (info ?? {}));
8
+ }
9
+ //# sourceMappingURL=project-credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-credentials.js","sourceRoot":"","sources":["../src/project-credentials.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,MAAc,EACd,SAAiB,EACjB,OAAe;IAEf,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAC9D,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,6BAA6B,EAAE,EAAE,CAAC;IAClE,MAAM,IAAI,yBAAyB,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,IAAI,IAAI,EAAE,CAAuC,CAAC,CAAC;AAC9G,CAAC"}