@valon-technologies/gestalt 0.0.1-alpha.32 → 0.0.1-alpha.34
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.
- package/README.md +4 -5
- package/package.json +1 -1
- package/src/agent-access.ts +21 -29
- package/src/agent-conversions.ts +0 -37
- package/src/agent.ts +14 -20
- package/src/api.ts +17 -13
- package/src/app-access.ts +6 -17
- package/src/authorization.ts +619 -1436
- package/src/index.ts +45 -229
- package/src/internal/gen/v1/agent_pb.ts +110 -84
- package/src/internal/gen/v1/app_pb.ts +4 -19
- package/src/internal/gen/v1/authorization_pb.ts +407 -781
- package/src/internal/gen/v1/runtime_provider_pb.ts +1 -0
- package/src/internal/gen/v1/workflow_pb.ts +698 -722
- package/src/invocation-context.ts +15 -0
- package/src/provider-kind.ts +6 -6
- package/src/provider.ts +1 -1
- package/src/runtime.ts +15 -23
- package/src/workflow-access.ts +340 -385
- package/src/workflow.ts +1201 -2443
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Request } from "./api.ts";
|
|
2
|
+
|
|
3
|
+
export function hostInvocationContext(requestOrToken: Request | string) {
|
|
4
|
+
const invocationToken = (typeof requestOrToken === "string" ? requestOrToken : requestOrToken.invocationToken).trim();
|
|
5
|
+
if (typeof requestOrToken === "string") {
|
|
6
|
+
return { invocationToken };
|
|
7
|
+
}
|
|
8
|
+
const providerName = stringValue(requestOrToken.workflow.providerName) || stringValue(requestOrToken.workflow.provider);
|
|
9
|
+
const runId = stringValue(requestOrToken.workflow.runId);
|
|
10
|
+
return providerName && runId
|
|
11
|
+
? { invocationToken, workflow: { provider: providerName, providerName, runId } }
|
|
12
|
+
: { invocationToken };
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const stringValue = (value: unknown) => (typeof value === "string" ? value.trim() : "");
|
package/src/provider-kind.ts
CHANGED
|
@@ -14,18 +14,18 @@ const PROVIDER_KIND_DEFINITIONS = {
|
|
|
14
14
|
defaultExportNames: ["provider", "app"],
|
|
15
15
|
label: "app provider",
|
|
16
16
|
},
|
|
17
|
-
authentication: {
|
|
18
|
-
tokens: ["authentication"],
|
|
19
|
-
formatToken: "authentication",
|
|
20
|
-
defaultExportNames: ["authentication", "provider"],
|
|
21
|
-
label: "authentication provider",
|
|
22
|
-
},
|
|
23
17
|
authorization: {
|
|
24
18
|
tokens: ["authorization"],
|
|
25
19
|
formatToken: "authorization",
|
|
26
20
|
defaultExportNames: ["authorization", "provider"],
|
|
27
21
|
label: "authorization provider",
|
|
28
22
|
},
|
|
23
|
+
authentication: {
|
|
24
|
+
tokens: ["authentication"],
|
|
25
|
+
formatToken: "authentication",
|
|
26
|
+
defaultExportNames: ["authentication", "provider"],
|
|
27
|
+
label: "authentication provider",
|
|
28
|
+
},
|
|
29
29
|
cache: {
|
|
30
30
|
tokens: ["cache"],
|
|
31
31
|
formatToken: "cache",
|
package/src/provider.ts
CHANGED
package/src/runtime.ts
CHANGED
|
@@ -17,6 +17,9 @@ import { connectNodeAdapter } from "@connectrpc/connect-node";
|
|
|
17
17
|
import {
|
|
18
18
|
AgentProvider as AgentProviderService,
|
|
19
19
|
} from "./internal/gen/v1/agent_pb.ts";
|
|
20
|
+
import {
|
|
21
|
+
AuthorizationProvider as AuthorizationProviderService,
|
|
22
|
+
} from "./internal/gen/v1/authorization_pb.ts";
|
|
20
23
|
import {
|
|
21
24
|
AuthenticationProvider as AuthenticationProviderService,
|
|
22
25
|
AuthSessionSettingsSchema,
|
|
@@ -25,7 +28,6 @@ import {
|
|
|
25
28
|
type CompleteLoginRequest as AuthCompleteLoginRequest,
|
|
26
29
|
type ValidateExternalTokenRequest,
|
|
27
30
|
} from "./internal/gen/v1/authentication_pb.ts";
|
|
28
|
-
import { AuthorizationProvider as AuthorizationProviderService } from "./internal/gen/v1/authorization_pb.ts";
|
|
29
31
|
import {
|
|
30
32
|
Cache as CacheService,
|
|
31
33
|
CacheDeleteManyResponseSchema,
|
|
@@ -174,8 +176,8 @@ export type RuntimeArgs = {
|
|
|
174
176
|
*/
|
|
175
177
|
export type LoadedProvider =
|
|
176
178
|
| AppProvider
|
|
177
|
-
| AuthenticationProvider
|
|
178
179
|
| AuthorizationProvider
|
|
180
|
+
| AuthenticationProvider
|
|
179
181
|
| CacheProvider
|
|
180
182
|
| SecretsProvider
|
|
181
183
|
| S3Provider
|
|
@@ -202,26 +204,25 @@ const PROVIDER_RUNTIME_ENTRIES: Partial<
|
|
|
202
204
|
);
|
|
203
205
|
},
|
|
204
206
|
},
|
|
205
|
-
|
|
207
|
+
authorization: {
|
|
206
208
|
isProvider:
|
|
207
|
-
|
|
208
|
-
protoKind: ProtoProviderKind.
|
|
209
|
+
isAuthorizationProvider as (value: unknown) => value is LoadedProvider,
|
|
210
|
+
protoKind: ProtoProviderKind.AUTHORIZATION,
|
|
209
211
|
registerService(router, provider) {
|
|
210
212
|
router.service(
|
|
211
|
-
|
|
212
|
-
|
|
213
|
+
AuthorizationProviderService,
|
|
214
|
+
createAuthorizationProviderService(provider as AuthorizationProvider),
|
|
213
215
|
);
|
|
214
216
|
},
|
|
215
217
|
},
|
|
216
|
-
|
|
217
|
-
isProvider:
|
|
218
|
-
value: unknown,
|
|
219
|
-
|
|
220
|
-
protoKind: ProtoProviderKind.AUTHORIZATION,
|
|
218
|
+
authentication: {
|
|
219
|
+
isProvider:
|
|
220
|
+
isAuthenticationProvider as (value: unknown) => value is LoadedProvider,
|
|
221
|
+
protoKind: ProtoProviderKind.AUTHENTICATION,
|
|
221
222
|
registerService(router, provider) {
|
|
222
223
|
router.service(
|
|
223
|
-
|
|
224
|
-
|
|
224
|
+
AuthenticationProviderService,
|
|
225
|
+
createAuthenticationService(provider as AuthenticationProvider),
|
|
225
226
|
);
|
|
226
227
|
},
|
|
227
228
|
},
|
|
@@ -617,10 +618,7 @@ export function createProviderService(
|
|
|
617
618
|
? {
|
|
618
619
|
subject: {
|
|
619
620
|
id: subject.id,
|
|
620
|
-
kind: subject.kind,
|
|
621
621
|
credentialSubjectId: subject.credentialSubjectId ?? "",
|
|
622
|
-
displayName: subject.displayName,
|
|
623
|
-
authSource: subject.authSource,
|
|
624
622
|
email: subject.email ?? "",
|
|
625
623
|
},
|
|
626
624
|
}
|
|
@@ -835,18 +833,12 @@ function providerRequest(
|
|
|
835
833
|
},
|
|
836
834
|
subject: {
|
|
837
835
|
id: subject?.id ?? "",
|
|
838
|
-
kind: subject?.kind ?? "",
|
|
839
836
|
credentialSubjectId: subject?.credentialSubjectId ?? "",
|
|
840
|
-
displayName: subject?.displayName ?? "",
|
|
841
|
-
authSource: subject?.authSource ?? "",
|
|
842
837
|
email: subject?.email ?? "",
|
|
843
838
|
},
|
|
844
839
|
agentSubject: {
|
|
845
840
|
id: agentSubject?.id ?? "",
|
|
846
|
-
kind: agentSubject?.kind ?? "",
|
|
847
841
|
credentialSubjectId: agentSubject?.credentialSubjectId ?? "",
|
|
848
|
-
displayName: agentSubject?.displayName ?? "",
|
|
849
|
-
authSource: agentSubject?.authSource ?? "",
|
|
850
842
|
email: agentSubject?.email ?? "",
|
|
851
843
|
},
|
|
852
844
|
credential: {
|