@guuey/config 0.3.1 → 0.5.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.
- package/dist/agent.d.ts +4 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +26 -2
- package/dist/schema.d.ts +1 -0
- package/dist/schema.d.ts.map +1 -1
- package/package.json +4 -4
package/dist/agent.d.ts
CHANGED
|
@@ -89,6 +89,7 @@ declare const McpServerSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
89
89
|
sse: "sse";
|
|
90
90
|
}>>;
|
|
91
91
|
federate: z.ZodOptional<z.ZodBoolean>;
|
|
92
|
+
credential: z.ZodOptional<z.ZodLiteral<"caller">>;
|
|
92
93
|
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
93
94
|
devPort: z.ZodOptional<z.ZodNumber>;
|
|
94
95
|
mcpResourceUrl: z.ZodOptional<z.ZodURL>;
|
|
@@ -122,6 +123,7 @@ export declare const McpServerEntrySchema: z.ZodUnion<readonly [z.ZodDiscriminat
|
|
|
122
123
|
sse: "sse";
|
|
123
124
|
}>>;
|
|
124
125
|
federate: z.ZodOptional<z.ZodBoolean>;
|
|
126
|
+
credential: z.ZodOptional<z.ZodLiteral<"caller">>;
|
|
125
127
|
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
126
128
|
devPort: z.ZodOptional<z.ZodNumber>;
|
|
127
129
|
mcpResourceUrl: z.ZodOptional<z.ZodURL>;
|
|
@@ -225,6 +227,7 @@ export declare const McpServersSection: z.ZodRecord<z.ZodString, z.ZodUnion<read
|
|
|
225
227
|
sse: "sse";
|
|
226
228
|
}>>;
|
|
227
229
|
federate: z.ZodOptional<z.ZodBoolean>;
|
|
230
|
+
credential: z.ZodOptional<z.ZodLiteral<"caller">>;
|
|
228
231
|
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
229
232
|
devPort: z.ZodOptional<z.ZodNumber>;
|
|
230
233
|
mcpResourceUrl: z.ZodOptional<z.ZodURL>;
|
|
@@ -273,6 +276,7 @@ export declare const AgentSectionV1: z.ZodObject<{
|
|
|
273
276
|
sse: "sse";
|
|
274
277
|
}>>;
|
|
275
278
|
federate: z.ZodOptional<z.ZodBoolean>;
|
|
279
|
+
credential: z.ZodOptional<z.ZodLiteral<"caller">>;
|
|
276
280
|
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
277
281
|
devPort: z.ZodOptional<z.ZodNumber>;
|
|
278
282
|
mcpResourceUrl: z.ZodOptional<z.ZodURL>;
|
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,6EAKnB,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAS/D;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;EAAiC,CAAC;AAClE,uEAAuE;AACvE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/agent.js
CHANGED
|
@@ -122,8 +122,11 @@ const ProxiedMcp = z.strictObject({
|
|
|
122
122
|
* - `federate: true` makes guuey mint a per-invoke JWT with `aud = url` that
|
|
123
123
|
* the builder's MCP validates against the guuey JWKS. Omit for plain URL +
|
|
124
124
|
* optional static `headers`.
|
|
125
|
+
* - `credential: 'caller'` forwards the invoke's own byo-verified bearer as
|
|
126
|
+
* this server's per-turn credential (guuey#179) — see the field doc.
|
|
125
127
|
*/
|
|
126
|
-
const ExternalMcp = z
|
|
128
|
+
const ExternalMcp = z
|
|
129
|
+
.strictObject({
|
|
127
130
|
kind: z.literal('external'),
|
|
128
131
|
/** Full HTTP/SSE base URL. */
|
|
129
132
|
url: z.url(),
|
|
@@ -134,6 +137,20 @@ const ExternalMcp = z.strictObject({
|
|
|
134
137
|
* The builder's MCP verifies it against the guuey JWKS (T6b).
|
|
135
138
|
*/
|
|
136
139
|
federate: z.boolean().optional(),
|
|
140
|
+
/**
|
|
141
|
+
* `'caller'` — the third credential source (guuey#179, beside static
|
|
142
|
+
* `headers` and `federate`): per invoke, the pod forwards the request's OWN
|
|
143
|
+
* VERIFIED `Authorization` bearer as this server's credential. Only a bearer
|
|
144
|
+
* verified by the app's BYO IdP (`userAuthMode: 'byo'`) is ever forwarded —
|
|
145
|
+
* a guuey-native Cognito token is never eligible, so a builder cannot use
|
|
146
|
+
* this mode to harvest platform tokens. Fail-closed: an invoke with no
|
|
147
|
+
* byo-verified bearer writes no credential file and that server's calls
|
|
148
|
+
* fail loudly. Caller-opt-in by construction (the embedding client chooses
|
|
149
|
+
* which app receives its token); FIRST-PARTY USE ONLY for now — gate this
|
|
150
|
+
* (URL allowlist or console warning) before opening it to arbitrary
|
|
151
|
+
* builders. Mutually exclusive with `federate: true`.
|
|
152
|
+
*/
|
|
153
|
+
credential: z.literal('caller').optional(),
|
|
137
154
|
/** Static headers forwarded on every request. Values may use `${env.NAME}` placeholders. */
|
|
138
155
|
headers: HeadersSchema.optional(),
|
|
139
156
|
/** Local dev-loop port (`guuey dev`) this MCP is served on for name→localhost URL resolution. */
|
|
@@ -150,6 +167,9 @@ const ExternalMcp = z.strictObject({
|
|
|
150
167
|
* independent of the top-level `agent.profileAccess` field.
|
|
151
168
|
*/
|
|
152
169
|
profileAccess: ProfileAccessSchema.optional(),
|
|
170
|
+
})
|
|
171
|
+
.refine((v) => !(v.credential === 'caller' && v.federate === true), {
|
|
172
|
+
message: "credential: 'caller' cannot be combined with federate: true — the forwarded caller bearer IS the credential; a minted federation token would shadow it",
|
|
153
173
|
});
|
|
154
174
|
/**
|
|
155
175
|
* A single MCP server entry inside `agent.mcpServers`.
|
|
@@ -245,7 +265,11 @@ const DeploySchema = z.strictObject({
|
|
|
245
265
|
* Auth posture for end-user invocations.
|
|
246
266
|
*
|
|
247
267
|
* - `'anonymous'` (default) — guest cookie minted on first invoke; persistent thread.
|
|
248
|
-
* - `'required'` — end-user must present a
|
|
268
|
+
* - `'required'` — end-user must present a verified credential (guuey Cognito
|
|
269
|
+
* JWT, or the app's configured BYO issuer); the pod refuses
|
|
270
|
+
* an anonymous invoke pre-model with HTTP 403 `AUTH_REQUIRED`
|
|
271
|
+
* (guuey#181). Independent of the app record's `guestAccess`
|
|
272
|
+
* runtime override — either gate can refuse.
|
|
249
273
|
* - `'optional'` — accept both; identity context reflects which.
|
|
250
274
|
*/
|
|
251
275
|
const AuthSchema = z.enum(['anonymous', 'required', 'optional']);
|
package/dist/schema.d.ts
CHANGED
|
@@ -97,6 +97,7 @@ export declare const GuueyJsonV1: z.ZodObject<{
|
|
|
97
97
|
sse: "sse";
|
|
98
98
|
}>>;
|
|
99
99
|
federate: z.ZodOptional<z.ZodBoolean>;
|
|
100
|
+
credential: z.ZodOptional<z.ZodLiteral<"caller">>;
|
|
100
101
|
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
101
102
|
devPort: z.ZodOptional<z.ZodNumber>;
|
|
102
103
|
mcpResourceUrl: z.ZodOptional<z.ZodURL>;
|
package/dist/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAiB,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAEjE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAiB,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAEjE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAmDtB,CAAC;AAEH,kDAAkD;AAClD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAG3D,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAEhD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,CAExD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,OAAO,GACX,UAAU,CAAC,OAAO,WAAW,CAAC,SAAS,CAAC,CAE1C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@guuey/config",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Open-source schemas + loaders for the three guuey config files: agent.json (declarative agent definition), guuey.json (hosted-deploy overlay), and the helper types around them. Consumed by @guuey/cli, the guuey backend, and devs writing their own agent or MCP server.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -48,14 +48,14 @@
|
|
|
48
48
|
"zod"
|
|
49
49
|
],
|
|
50
50
|
"homepage": "https://guuey.com",
|
|
51
|
-
"bugs": {
|
|
52
|
-
"url": "https://github.com/loqu-co/guuey/issues"
|
|
53
|
-
},
|
|
54
51
|
"repository": {
|
|
55
52
|
"type": "git",
|
|
56
53
|
"url": "git+https://github.com/withguuey/guuey-sdks.git",
|
|
57
54
|
"directory": "packages/config"
|
|
58
55
|
},
|
|
56
|
+
"bugs": {
|
|
57
|
+
"url": "https://github.com/withguuey/guuey-sdks/issues"
|
|
58
|
+
},
|
|
59
59
|
"scripts": {
|
|
60
60
|
"build": "tsc -p tsconfig.build.json",
|
|
61
61
|
"dev": "tsc --watch",
|