melchizedek-agents 1.1.0 → 1.3.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/.env.example +19 -0
- package/AGENT_SETUP.md +3 -1
- package/CHANGELOG.md +373 -0
- package/DOCUMENTATION.md +193 -21
- package/ONBOARDING.md +378 -0
- package/QUICKSTART.md +15 -2
- package/README.md +26 -3
- package/config/agents/examples/connectors.yaml +82 -0
- package/config/agents/examples/council.yaml +1 -1
- package/config/agents/examples/critic.yaml +8 -8
- package/config/agents/examples/image_production.yaml +4 -3
- package/config/agents/syndicate.schema.json +389 -33
- package/config/agents/syndicateSchema.yaml +18 -6
- package/config/agents/templates/intake_extractor.yaml +3 -2
- package/config/agents/templates/systems_operator.yaml +5 -2
- package/dist/lib/a2a/app.d.ts +12 -0
- package/dist/lib/a2a/app.js +25 -11
- package/dist/lib/a2a/executor.js +14 -6
- package/dist/lib/a2a/oauthSetup.d.ts +16 -0
- package/dist/lib/a2a/oauthSetup.js +77 -8
- package/dist/lib/agentDialect.d.ts +18 -8
- package/dist/lib/agentDialect.js +36 -19
- package/dist/lib/chatgpt/adapter.d.ts +50 -0
- package/dist/lib/chatgpt/adapter.js +107 -0
- package/dist/lib/chatgpt/cli.d.ts +23 -0
- package/dist/lib/chatgpt/cli.js +77 -0
- package/dist/lib/chatgpt/oauth.d.ts +103 -0
- package/dist/lib/chatgpt/oauth.js +448 -0
- package/dist/lib/chatgpt/state.d.ts +98 -0
- package/dist/lib/chatgpt/state.js +145 -0
- package/dist/lib/chatgpt/store.d.ts +24 -0
- package/dist/lib/chatgpt/store.js +94 -0
- package/dist/lib/compile.d.ts +38 -7
- package/dist/lib/compile.js +97 -62
- package/dist/lib/compileNative.d.ts +11 -3
- package/dist/lib/compileNative.js +18 -1
- package/dist/lib/dispatch.js +6 -2
- package/dist/lib/doctor.d.ts +107 -0
- package/dist/lib/doctor.js +217 -7
- package/dist/lib/loadSyndicate.d.ts +15 -0
- package/dist/lib/mcp/server.d.ts +195 -0
- package/dist/lib/mcp/server.js +564 -0
- package/dist/lib/memory/supabaseMemoryService.js +2 -2
- package/dist/lib/models/adapterResolver.js +6 -1
- package/dist/lib/models/capabilities.d.ts +9 -0
- package/dist/lib/models/capabilities.js +24 -0
- package/dist/lib/models/chatCompletionsAdapter.d.ts +11 -3
- package/dist/lib/models/chatCompletionsAdapter.js +19 -5
- package/dist/lib/models/claudeAdapter.js +4 -0
- package/dist/lib/models/contract.d.ts +5 -2
- package/dist/lib/models/gateway.d.ts +3 -2
- package/dist/lib/models/gateway.js +8 -4
- package/dist/lib/models/gatewayAdapter.d.ts +7 -1
- package/dist/lib/models/gatewayAdapter.js +8 -0
- package/dist/lib/models/geminiAdapter.js +8 -2
- package/dist/lib/models/genaiMapping.d.ts +8 -4
- package/dist/lib/models/genaiMapping.js +23 -9
- package/dist/lib/models/gptAdapter.d.ts +4 -2
- package/dist/lib/models/gptAdapter.js +11 -4
- package/dist/lib/models/grokAdapter.d.ts +3 -1
- package/dist/lib/models/grokAdapter.js +11 -3
- package/dist/lib/models/kimiAdapter.d.ts +2 -1
- package/dist/lib/models/kimiAdapter.js +3 -3
- package/dist/lib/models/reasoning.d.ts +30 -2
- package/dist/lib/models/reasoning.js +56 -5
- package/dist/lib/onboarding.d.ts +135 -0
- package/dist/lib/onboarding.js +578 -0
- package/dist/lib/runtime/approvals.d.ts +2 -0
- package/dist/lib/runtime/approvals.js +4 -3
- package/dist/lib/runtime/credentials.d.ts +6 -0
- package/dist/lib/runtime/native/agentLoop.d.ts +5 -2
- package/dist/lib/runtime/native/agentLoop.js +2 -0
- package/dist/lib/runtime/native/checkpoint.d.ts +12 -5
- package/dist/lib/runtime/native/checkpoint.js +13 -19
- package/dist/lib/runtime/native/delegate.d.ts +82 -1
- package/dist/lib/runtime/native/delegate.js +157 -2
- package/dist/lib/runtime/native/interrupts.d.ts +88 -5
- package/dist/lib/runtime/native/interrupts.js +220 -30
- package/dist/lib/runtime/syndicateTurn.d.ts +4 -2
- package/dist/lib/runtime/syndicateTurn.js +324 -77
- package/dist/lib/runtime/turnControl.d.ts +41 -0
- package/dist/lib/session/transcript.d.ts +9 -0
- package/dist/lib/session/transcript.js +20 -1
- package/dist/lib/skills.d.ts +18 -0
- package/dist/lib/skills.js +73 -1
- package/dist/lib/storage/postgres/index.d.ts +6 -1
- package/dist/lib/storage/postgres/index.js +1 -1
- package/dist/lib/storage/postgres/taskQueue.d.ts +7 -3
- package/dist/lib/storage/postgres/taskQueue.js +10 -3
- package/dist/lib/syndicateSchema.d.ts +184 -9
- package/dist/lib/syndicateSchema.js +143 -29
- package/dist/lib/tools/auth.d.ts +13 -1
- package/dist/lib/tools/auth.js +10 -2
- package/dist/lib/tools/credentialHosts.d.ts +88 -0
- package/dist/lib/tools/credentialHosts.js +165 -0
- package/dist/lib/tools/credentialUses.d.ts +98 -0
- package/dist/lib/tools/credentialUses.js +120 -0
- package/dist/lib/tools/generateImageTool.js +2 -1
- package/dist/lib/tools/inspectImageTool.js +1 -1
- package/dist/lib/tools/mcpToolFactory.d.ts +29 -1
- package/dist/lib/tools/mcpToolFactory.js +72 -26
- package/dist/lib/tools/mcpTransports.d.ts +12 -0
- package/dist/lib/tools/mcpTransports.js +11 -0
- package/dist/lib/tools/oauthConsent.d.ts +18 -3
- package/dist/lib/tools/oauthConsent.js +57 -15
- package/dist/lib/tools/oauthDiscovery.d.ts +202 -0
- package/dist/lib/tools/oauthDiscovery.js +616 -0
- package/dist/lib/tools/oauthHosts.d.ts +2 -0
- package/dist/lib/tools/oauthHosts.js +2 -2
- package/dist/lib/tools/oauthTools.d.ts +54 -13
- package/dist/lib/tools/oauthTools.js +106 -23
- package/dist/lib/tools/openapiTools.d.ts +7 -0
- package/dist/lib/tools/openapiTools.js +49 -3
- package/dist/lib/tools/taskTools.d.ts +32 -2
- package/dist/lib/tools/taskTools.js +93 -33
- package/dist/lib/tools/xApiSearchTool.js +2 -2
- package/dist/lib/workflow/turn.d.ts +22 -3
- package/dist/lib/workflow/turn.js +151 -31
- package/dist/lib/workflow.d.ts +10 -7
- package/dist/lib/workflow.js +10 -7
- package/dist/scripts/a2a_server.d.ts +2 -2
- package/dist/scripts/a2a_server.js +19 -2
- package/dist/scripts/assistant_worker.d.ts +2 -0
- package/dist/scripts/assistant_worker.js +24 -5
- package/dist/scripts/doctor.d.ts +4 -2
- package/dist/scripts/doctor.js +6 -4
- package/dist/scripts/mcp_server.d.ts +12 -0
- package/dist/scripts/mcp_server.js +345 -0
- package/dist/scripts/setup.d.ts +25 -0
- package/dist/scripts/setup.js +181 -0
- package/dist/scripts/skills_install.d.ts +3 -1
- package/dist/scripts/skills_install.js +17 -2
- package/dist/scripts/syndicate_chat.js +12 -3
- package/dist/scripts/yaml_codemod.d.ts +12 -2
- package/dist/scripts/yaml_codemod.js +115 -33
- package/package.json +8 -2
- package/skills/README.md +11 -2
- package/skills/briefs/_shared.md +1 -1
- package/skills/briefs/melchizedek-models.md +4 -2
- package/skills/briefs/skills-readme.md +3 -1
- package/skills/melchizedek-models/SKILL.md +6 -2
- package/skills/melchizedek-onboard/SKILL.md +71 -0
- package/skills/melchizedek-onboard-cloud/SKILL.md +38 -0
- package/skills/melchizedek-onboard-keys/SKILL.md +47 -0
- package/skills/melchizedek-onboard-local/SKILL.md +41 -0
- package/skills/melchizedek-onboard-serve/SKILL.md +43 -0
|
@@ -156,7 +156,7 @@
|
|
|
156
156
|
}
|
|
157
157
|
},
|
|
158
158
|
"additionalProperties": {},
|
|
159
|
-
"description": "Deprecated v1 spelling (ADR 0115): write `sampling` (temperature, top_p, max_output_tokens, stop), `output.mime` (responseMimeType)
|
|
159
|
+
"description": "Deprecated v1 spelling (ADR 0115): write `sampling` (temperature, top_p, max_output_tokens, stop), `output.mime` (responseMimeType), `reasoning` (thinkingConfig, reasoningEffort) and `tool_choice` (toolConfig.functionCallingConfig) instead; npx melchizedek-codemod rewrites a file. Still read: the Gemini GenerateContentConfig shape the engine takes. Do not set tools here.",
|
|
160
160
|
"deprecated": true
|
|
161
161
|
},
|
|
162
162
|
"reasoning": {
|
|
@@ -167,7 +167,9 @@
|
|
|
167
167
|
"none",
|
|
168
168
|
"low",
|
|
169
169
|
"medium",
|
|
170
|
-
"high"
|
|
170
|
+
"high",
|
|
171
|
+
"xhigh",
|
|
172
|
+
"max"
|
|
171
173
|
]
|
|
172
174
|
},
|
|
173
175
|
{
|
|
@@ -186,7 +188,7 @@
|
|
|
186
188
|
"additionalProperties": false
|
|
187
189
|
}
|
|
188
190
|
],
|
|
189
|
-
"description": "How hard this agent reasons, on any provider: none | low | medium | high, or { budget_tokens: <int> }. Replaces generateContentConfig.thinkingConfig and reasoningEffort (ADR 0047)."
|
|
191
|
+
"description": "How hard this agent reasons, on any provider: none | low | medium | high | xhigh | max, or { budget_tokens: <int> }. xhigh and max reach the models that take them; elsewhere they go as the model's highest setting (ADR 0117). Replaces generateContentConfig.thinkingConfig and reasoningEffort (ADR 0047)."
|
|
190
192
|
},
|
|
191
193
|
"sampling": {
|
|
192
194
|
"type": "object",
|
|
@@ -242,6 +244,33 @@
|
|
|
242
244
|
"description": "What this agent's final reply is (ADR 0115). Replaces outputSchema and generateContentConfig.responseMimeType; cannot be combined with them.",
|
|
243
245
|
"minProperties": 1
|
|
244
246
|
},
|
|
247
|
+
"tool_choice": {
|
|
248
|
+
"anyOf": [
|
|
249
|
+
{
|
|
250
|
+
"type": "string",
|
|
251
|
+
"enum": [
|
|
252
|
+
"auto",
|
|
253
|
+
"none",
|
|
254
|
+
"required"
|
|
255
|
+
]
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"type": "object",
|
|
259
|
+
"properties": {
|
|
260
|
+
"name": {
|
|
261
|
+
"type": "string",
|
|
262
|
+
"minLength": 1,
|
|
263
|
+
"description": "The one tool the model must call: a name from this agent's tools, subagents or MCP tools."
|
|
264
|
+
}
|
|
265
|
+
},
|
|
266
|
+
"required": [
|
|
267
|
+
"name"
|
|
268
|
+
],
|
|
269
|
+
"additionalProperties": false
|
|
270
|
+
}
|
|
271
|
+
],
|
|
272
|
+
"description": "Which tools the model may call, on any provider (ADR 0117): auto (the default), none, required (some tool), or { name: <tool> } (that tool). A provider that rejects forcing sends a weaker choice and marks the span llm.tool_choice.weakened. Replaces generateContentConfig.toolConfig.functionCallingConfig; cannot be combined with it."
|
|
273
|
+
},
|
|
245
274
|
"model_overrides": {
|
|
246
275
|
"type": "object",
|
|
247
276
|
"properties": {
|
|
@@ -433,7 +462,7 @@
|
|
|
433
462
|
"deprecated": true
|
|
434
463
|
},
|
|
435
464
|
"mcp_server_url": {
|
|
436
|
-
"description": "MCP server (SSE) whose tools are discovered at runtime and merged with `tools`.",
|
|
465
|
+
"description": "MCP server (Streamable HTTP, or legacy SSE) whose tools are discovered at runtime and merged with `tools`. For more than one server, use mcp_servers.",
|
|
437
466
|
"type": "string"
|
|
438
467
|
},
|
|
439
468
|
"mcp_tools": {
|
|
@@ -465,15 +494,20 @@
|
|
|
465
494
|
],
|
|
466
495
|
"description": "authorization_code: each user's own token, granted through the consent pause (ADR 0085). client_credentials: the server's own token, from the token endpoint."
|
|
467
496
|
},
|
|
497
|
+
"client_registration": {
|
|
498
|
+
"description": "\"dynamic\": an MCP server's authorization_code grant with no pre-issued client. The authorization server is discovered from the MCP server (RFC 9728, RFC 8414) and this deployment registers itself as a public PKCE client (RFC 7591), once per server and redirect URI, sealed in the credential store (ADR 0124). Every discovered host must be on the operator's OAuth host allowlist. MCP servers only; no client id, client secret or endpoint URL beside it.",
|
|
499
|
+
"type": "string",
|
|
500
|
+
"const": "dynamic"
|
|
501
|
+
},
|
|
468
502
|
"authorization_url": {
|
|
469
|
-
"description": "The provider's authorization endpoint (https). authorization_code only.",
|
|
503
|
+
"description": "The provider's authorization endpoint (https). authorization_code only; discovered with client_registration: dynamic.",
|
|
470
504
|
"type": "string",
|
|
471
505
|
"format": "uri"
|
|
472
506
|
},
|
|
473
507
|
"token_url": {
|
|
508
|
+
"description": "The provider's token endpoint (https). Required, except with client_registration: dynamic, which discovers it.",
|
|
474
509
|
"type": "string",
|
|
475
|
-
"format": "uri"
|
|
476
|
-
"description": "The provider's token endpoint (https)."
|
|
510
|
+
"format": "uri"
|
|
477
511
|
},
|
|
478
512
|
"client_id": {
|
|
479
513
|
"description": "The OAuth client id, written out (it is not a secret). Or client_id_env.",
|
|
@@ -501,7 +535,7 @@
|
|
|
501
535
|
}
|
|
502
536
|
},
|
|
503
537
|
"authorization_params": {
|
|
504
|
-
"description": "Extra authorization parameters (e.g. access_type: offline). authorization_code only; never state, redirect_uri, scope, client_id or the PKCE pair.",
|
|
538
|
+
"description": "Extra authorization parameters (e.g. access_type: offline). authorization_code only; never state, redirect_uri, scope, client_id, resource or the PKCE pair.",
|
|
505
539
|
"type": "object",
|
|
506
540
|
"propertyNames": {
|
|
507
541
|
"type": "string",
|
|
@@ -515,8 +549,7 @@
|
|
|
515
549
|
},
|
|
516
550
|
"required": [
|
|
517
551
|
"provider",
|
|
518
|
-
"grant"
|
|
519
|
-
"token_url"
|
|
552
|
+
"grant"
|
|
520
553
|
],
|
|
521
554
|
"additionalProperties": false,
|
|
522
555
|
"description": "An OAuth 2 access token sent as a bearer token on every call (lib/tools/oauthTools.ts). Secrets come from environment variable names, never values."
|
|
@@ -527,6 +560,147 @@
|
|
|
527
560
|
],
|
|
528
561
|
"additionalProperties": false
|
|
529
562
|
},
|
|
563
|
+
"mcp_transport": {
|
|
564
|
+
"description": "How mcp_server_url is reached: auto (the default), streamable_http or sse (ADR 0124). Needs mcp_server_url.",
|
|
565
|
+
"type": "string",
|
|
566
|
+
"enum": [
|
|
567
|
+
"auto",
|
|
568
|
+
"streamable_http",
|
|
569
|
+
"sse"
|
|
570
|
+
]
|
|
571
|
+
},
|
|
572
|
+
"mcp_servers": {
|
|
573
|
+
"description": "Several MCP servers, each with the tools this agent may use from it, its grant and its transport (ADR 0124). Cannot be combined with mcp_server_url.",
|
|
574
|
+
"minItems": 1,
|
|
575
|
+
"maxItems": 16,
|
|
576
|
+
"type": "array",
|
|
577
|
+
"items": {
|
|
578
|
+
"type": "object",
|
|
579
|
+
"properties": {
|
|
580
|
+
"name": {
|
|
581
|
+
"type": "string",
|
|
582
|
+
"pattern": "^[a-z][a-z0-9_-]{0,63}$",
|
|
583
|
+
"description": "A short name for the server, unique on this agent: logs and errors name it."
|
|
584
|
+
},
|
|
585
|
+
"url": {
|
|
586
|
+
"type": "string",
|
|
587
|
+
"format": "uri",
|
|
588
|
+
"description": "The MCP server's URL: its Streamable HTTP endpoint, or a legacy SSE endpoint. Checked by the SSRF guard."
|
|
589
|
+
},
|
|
590
|
+
"tools": {
|
|
591
|
+
"minItems": 1,
|
|
592
|
+
"type": "array",
|
|
593
|
+
"items": {
|
|
594
|
+
"type": "string",
|
|
595
|
+
"minLength": 1
|
|
596
|
+
},
|
|
597
|
+
"description": "The server's tools this agent may use, by name; any other tool it lists is not exposed. A name may appear on one server only, and never among the agent's own tools. require_approval may name these."
|
|
598
|
+
},
|
|
599
|
+
"auth": {
|
|
600
|
+
"description": "The OAuth grant this server takes (ADR 0112, ADR 0124). Without it, MCP_BEARER_TOKENS applies.",
|
|
601
|
+
"type": "object",
|
|
602
|
+
"properties": {
|
|
603
|
+
"oauth2": {
|
|
604
|
+
"type": "object",
|
|
605
|
+
"properties": {
|
|
606
|
+
"provider": {
|
|
607
|
+
"type": "string",
|
|
608
|
+
"pattern": "^[a-z0-9][a-z0-9._-]{0,63}$",
|
|
609
|
+
"description": "The credential store's name for the provider (e.g. github). Every tool naming it shares one grant."
|
|
610
|
+
},
|
|
611
|
+
"grant": {
|
|
612
|
+
"type": "string",
|
|
613
|
+
"enum": [
|
|
614
|
+
"authorization_code",
|
|
615
|
+
"client_credentials"
|
|
616
|
+
],
|
|
617
|
+
"description": "authorization_code: each user's own token, granted through the consent pause (ADR 0085). client_credentials: the server's own token, from the token endpoint."
|
|
618
|
+
},
|
|
619
|
+
"client_registration": {
|
|
620
|
+
"description": "\"dynamic\": an MCP server's authorization_code grant with no pre-issued client. The authorization server is discovered from the MCP server (RFC 9728, RFC 8414) and this deployment registers itself as a public PKCE client (RFC 7591), once per server and redirect URI, sealed in the credential store (ADR 0124). Every discovered host must be on the operator's OAuth host allowlist. MCP servers only; no client id, client secret or endpoint URL beside it.",
|
|
621
|
+
"type": "string",
|
|
622
|
+
"const": "dynamic"
|
|
623
|
+
},
|
|
624
|
+
"authorization_url": {
|
|
625
|
+
"description": "The provider's authorization endpoint (https). authorization_code only; discovered with client_registration: dynamic.",
|
|
626
|
+
"type": "string",
|
|
627
|
+
"format": "uri"
|
|
628
|
+
},
|
|
629
|
+
"token_url": {
|
|
630
|
+
"description": "The provider's token endpoint (https). Required, except with client_registration: dynamic, which discovers it.",
|
|
631
|
+
"type": "string",
|
|
632
|
+
"format": "uri"
|
|
633
|
+
},
|
|
634
|
+
"client_id": {
|
|
635
|
+
"description": "The OAuth client id, written out (it is not a secret). Or client_id_env.",
|
|
636
|
+
"type": "string",
|
|
637
|
+
"minLength": 1,
|
|
638
|
+
"maxLength": 512
|
|
639
|
+
},
|
|
640
|
+
"client_id_env": {
|
|
641
|
+
"description": "Environment variable holding the client id. Or client_id.",
|
|
642
|
+
"type": "string",
|
|
643
|
+
"pattern": "^[A-Z_][A-Z0-9_]*$"
|
|
644
|
+
},
|
|
645
|
+
"client_secret_env": {
|
|
646
|
+
"description": "Environment variable NAME holding the client secret, never the value. Required for client_credentials; omit for a public client (PKCE alone).",
|
|
647
|
+
"type": "string",
|
|
648
|
+
"pattern": "^[A-Z_][A-Z0-9_]*$"
|
|
649
|
+
},
|
|
650
|
+
"scopes": {
|
|
651
|
+
"description": "The scopes the grant asks for.",
|
|
652
|
+
"maxItems": 64,
|
|
653
|
+
"type": "array",
|
|
654
|
+
"items": {
|
|
655
|
+
"type": "string",
|
|
656
|
+
"pattern": "^[\\x21\\x23-\\x5b\\x5d-\\x7e]{1,256}$"
|
|
657
|
+
}
|
|
658
|
+
},
|
|
659
|
+
"authorization_params": {
|
|
660
|
+
"description": "Extra authorization parameters (e.g. access_type: offline). authorization_code only; never state, redirect_uri, scope, client_id, resource or the PKCE pair.",
|
|
661
|
+
"type": "object",
|
|
662
|
+
"propertyNames": {
|
|
663
|
+
"type": "string",
|
|
664
|
+
"pattern": "^[A-Za-z0-9_.-]{1,64}$"
|
|
665
|
+
},
|
|
666
|
+
"additionalProperties": {
|
|
667
|
+
"type": "string",
|
|
668
|
+
"maxLength": 512
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
},
|
|
672
|
+
"required": [
|
|
673
|
+
"provider",
|
|
674
|
+
"grant"
|
|
675
|
+
],
|
|
676
|
+
"additionalProperties": false,
|
|
677
|
+
"description": "An OAuth 2 access token sent as a bearer token on every call (lib/tools/oauthTools.ts). Secrets come from environment variable names, never values."
|
|
678
|
+
}
|
|
679
|
+
},
|
|
680
|
+
"required": [
|
|
681
|
+
"oauth2"
|
|
682
|
+
],
|
|
683
|
+
"additionalProperties": false
|
|
684
|
+
},
|
|
685
|
+
"transport": {
|
|
686
|
+
"type": "string",
|
|
687
|
+
"enum": [
|
|
688
|
+
"auto",
|
|
689
|
+
"streamable_http",
|
|
690
|
+
"sse"
|
|
691
|
+
],
|
|
692
|
+
"description": "How the MCP server is reached: auto (the default) tries Streamable HTTP and falls back to the legacy SSE transport on the spec's signal; streamable_http or sse use that one only (ADR 0124)."
|
|
693
|
+
}
|
|
694
|
+
},
|
|
695
|
+
"required": [
|
|
696
|
+
"name",
|
|
697
|
+
"url",
|
|
698
|
+
"tools"
|
|
699
|
+
],
|
|
700
|
+
"additionalProperties": false,
|
|
701
|
+
"description": "One MCP server among several (ADR 0124)."
|
|
702
|
+
}
|
|
703
|
+
},
|
|
530
704
|
"skills": {
|
|
531
705
|
"type": "object",
|
|
532
706
|
"properties": {
|
|
@@ -656,15 +830,20 @@
|
|
|
656
830
|
],
|
|
657
831
|
"description": "authorization_code: each user's own token, granted through the consent pause (ADR 0085). client_credentials: the server's own token, from the token endpoint."
|
|
658
832
|
},
|
|
833
|
+
"client_registration": {
|
|
834
|
+
"description": "\"dynamic\": an MCP server's authorization_code grant with no pre-issued client. The authorization server is discovered from the MCP server (RFC 9728, RFC 8414) and this deployment registers itself as a public PKCE client (RFC 7591), once per server and redirect URI, sealed in the credential store (ADR 0124). Every discovered host must be on the operator's OAuth host allowlist. MCP servers only; no client id, client secret or endpoint URL beside it.",
|
|
835
|
+
"type": "string",
|
|
836
|
+
"const": "dynamic"
|
|
837
|
+
},
|
|
659
838
|
"authorization_url": {
|
|
660
|
-
"description": "The provider's authorization endpoint (https). authorization_code only.",
|
|
839
|
+
"description": "The provider's authorization endpoint (https). authorization_code only; discovered with client_registration: dynamic.",
|
|
661
840
|
"type": "string",
|
|
662
841
|
"format": "uri"
|
|
663
842
|
},
|
|
664
843
|
"token_url": {
|
|
844
|
+
"description": "The provider's token endpoint (https). Required, except with client_registration: dynamic, which discovers it.",
|
|
665
845
|
"type": "string",
|
|
666
|
-
"format": "uri"
|
|
667
|
-
"description": "The provider's token endpoint (https)."
|
|
846
|
+
"format": "uri"
|
|
668
847
|
},
|
|
669
848
|
"client_id": {
|
|
670
849
|
"description": "The OAuth client id, written out (it is not a secret). Or client_id_env.",
|
|
@@ -692,7 +871,7 @@
|
|
|
692
871
|
}
|
|
693
872
|
},
|
|
694
873
|
"authorization_params": {
|
|
695
|
-
"description": "Extra authorization parameters (e.g. access_type: offline). authorization_code only; never state, redirect_uri, scope, client_id or the PKCE pair.",
|
|
874
|
+
"description": "Extra authorization parameters (e.g. access_type: offline). authorization_code only; never state, redirect_uri, scope, client_id, resource or the PKCE pair.",
|
|
696
875
|
"type": "object",
|
|
697
876
|
"propertyNames": {
|
|
698
877
|
"type": "string",
|
|
@@ -706,8 +885,7 @@
|
|
|
706
885
|
},
|
|
707
886
|
"required": [
|
|
708
887
|
"provider",
|
|
709
|
-
"grant"
|
|
710
|
-
"token_url"
|
|
888
|
+
"grant"
|
|
711
889
|
],
|
|
712
890
|
"additionalProperties": false,
|
|
713
891
|
"description": "An OAuth 2 access token sent as a bearer token on every call (lib/tools/oauthTools.ts). Secrets come from environment variable names, never values."
|
|
@@ -965,7 +1143,7 @@
|
|
|
965
1143
|
}
|
|
966
1144
|
},
|
|
967
1145
|
"additionalProperties": {},
|
|
968
|
-
"description": "Deprecated v1 spelling (ADR 0115): write `sampling` (temperature, top_p, max_output_tokens, stop), `output.mime` (responseMimeType)
|
|
1146
|
+
"description": "Deprecated v1 spelling (ADR 0115): write `sampling` (temperature, top_p, max_output_tokens, stop), `output.mime` (responseMimeType), `reasoning` (thinkingConfig, reasoningEffort) and `tool_choice` (toolConfig.functionCallingConfig) instead; npx melchizedek-codemod rewrites a file. Still read: the Gemini GenerateContentConfig shape the engine takes. Do not set tools here.",
|
|
969
1147
|
"deprecated": true
|
|
970
1148
|
},
|
|
971
1149
|
"reasoning": {
|
|
@@ -976,7 +1154,9 @@
|
|
|
976
1154
|
"none",
|
|
977
1155
|
"low",
|
|
978
1156
|
"medium",
|
|
979
|
-
"high"
|
|
1157
|
+
"high",
|
|
1158
|
+
"xhigh",
|
|
1159
|
+
"max"
|
|
980
1160
|
]
|
|
981
1161
|
},
|
|
982
1162
|
{
|
|
@@ -995,7 +1175,7 @@
|
|
|
995
1175
|
"additionalProperties": false
|
|
996
1176
|
}
|
|
997
1177
|
],
|
|
998
|
-
"description": "How hard this agent reasons, on any provider: none | low | medium | high, or { budget_tokens: <int> }. Replaces generateContentConfig.thinkingConfig and reasoningEffort (ADR 0047)."
|
|
1178
|
+
"description": "How hard this agent reasons, on any provider: none | low | medium | high | xhigh | max, or { budget_tokens: <int> }. xhigh and max reach the models that take them; elsewhere they go as the model's highest setting (ADR 0117). Replaces generateContentConfig.thinkingConfig and reasoningEffort (ADR 0047)."
|
|
999
1179
|
},
|
|
1000
1180
|
"sampling": {
|
|
1001
1181
|
"type": "object",
|
|
@@ -1051,6 +1231,33 @@
|
|
|
1051
1231
|
"description": "What this agent's final reply is (ADR 0115). Replaces outputSchema and generateContentConfig.responseMimeType; cannot be combined with them.",
|
|
1052
1232
|
"minProperties": 1
|
|
1053
1233
|
},
|
|
1234
|
+
"tool_choice": {
|
|
1235
|
+
"anyOf": [
|
|
1236
|
+
{
|
|
1237
|
+
"type": "string",
|
|
1238
|
+
"enum": [
|
|
1239
|
+
"auto",
|
|
1240
|
+
"none",
|
|
1241
|
+
"required"
|
|
1242
|
+
]
|
|
1243
|
+
},
|
|
1244
|
+
{
|
|
1245
|
+
"type": "object",
|
|
1246
|
+
"properties": {
|
|
1247
|
+
"name": {
|
|
1248
|
+
"type": "string",
|
|
1249
|
+
"minLength": 1,
|
|
1250
|
+
"description": "The one tool the model must call: a name from this agent's tools, subagents or MCP tools."
|
|
1251
|
+
}
|
|
1252
|
+
},
|
|
1253
|
+
"required": [
|
|
1254
|
+
"name"
|
|
1255
|
+
],
|
|
1256
|
+
"additionalProperties": false
|
|
1257
|
+
}
|
|
1258
|
+
],
|
|
1259
|
+
"description": "Which tools the model may call, on any provider (ADR 0117): auto (the default), none, required (some tool), or { name: <tool> } (that tool). A provider that rejects forcing sends a weaker choice and marks the span llm.tool_choice.weakened. Replaces generateContentConfig.toolConfig.functionCallingConfig; cannot be combined with it."
|
|
1260
|
+
},
|
|
1054
1261
|
"model_overrides": {
|
|
1055
1262
|
"type": "object",
|
|
1056
1263
|
"properties": {
|
|
@@ -1242,7 +1449,7 @@
|
|
|
1242
1449
|
"deprecated": true
|
|
1243
1450
|
},
|
|
1244
1451
|
"mcp_server_url": {
|
|
1245
|
-
"description": "MCP server (SSE) whose tools are discovered at runtime and merged with `tools`.",
|
|
1452
|
+
"description": "MCP server (Streamable HTTP, or legacy SSE) whose tools are discovered at runtime and merged with `tools`. For more than one server, use mcp_servers.",
|
|
1246
1453
|
"type": "string"
|
|
1247
1454
|
},
|
|
1248
1455
|
"mcp_tools": {
|
|
@@ -1274,15 +1481,20 @@
|
|
|
1274
1481
|
],
|
|
1275
1482
|
"description": "authorization_code: each user's own token, granted through the consent pause (ADR 0085). client_credentials: the server's own token, from the token endpoint."
|
|
1276
1483
|
},
|
|
1484
|
+
"client_registration": {
|
|
1485
|
+
"description": "\"dynamic\": an MCP server's authorization_code grant with no pre-issued client. The authorization server is discovered from the MCP server (RFC 9728, RFC 8414) and this deployment registers itself as a public PKCE client (RFC 7591), once per server and redirect URI, sealed in the credential store (ADR 0124). Every discovered host must be on the operator's OAuth host allowlist. MCP servers only; no client id, client secret or endpoint URL beside it.",
|
|
1486
|
+
"type": "string",
|
|
1487
|
+
"const": "dynamic"
|
|
1488
|
+
},
|
|
1277
1489
|
"authorization_url": {
|
|
1278
|
-
"description": "The provider's authorization endpoint (https). authorization_code only.",
|
|
1490
|
+
"description": "The provider's authorization endpoint (https). authorization_code only; discovered with client_registration: dynamic.",
|
|
1279
1491
|
"type": "string",
|
|
1280
1492
|
"format": "uri"
|
|
1281
1493
|
},
|
|
1282
1494
|
"token_url": {
|
|
1495
|
+
"description": "The provider's token endpoint (https). Required, except with client_registration: dynamic, which discovers it.",
|
|
1283
1496
|
"type": "string",
|
|
1284
|
-
"format": "uri"
|
|
1285
|
-
"description": "The provider's token endpoint (https)."
|
|
1497
|
+
"format": "uri"
|
|
1286
1498
|
},
|
|
1287
1499
|
"client_id": {
|
|
1288
1500
|
"description": "The OAuth client id, written out (it is not a secret). Or client_id_env.",
|
|
@@ -1310,7 +1522,7 @@
|
|
|
1310
1522
|
}
|
|
1311
1523
|
},
|
|
1312
1524
|
"authorization_params": {
|
|
1313
|
-
"description": "Extra authorization parameters (e.g. access_type: offline). authorization_code only; never state, redirect_uri, scope, client_id or the PKCE pair.",
|
|
1525
|
+
"description": "Extra authorization parameters (e.g. access_type: offline). authorization_code only; never state, redirect_uri, scope, client_id, resource or the PKCE pair.",
|
|
1314
1526
|
"type": "object",
|
|
1315
1527
|
"propertyNames": {
|
|
1316
1528
|
"type": "string",
|
|
@@ -1324,8 +1536,7 @@
|
|
|
1324
1536
|
},
|
|
1325
1537
|
"required": [
|
|
1326
1538
|
"provider",
|
|
1327
|
-
"grant"
|
|
1328
|
-
"token_url"
|
|
1539
|
+
"grant"
|
|
1329
1540
|
],
|
|
1330
1541
|
"additionalProperties": false,
|
|
1331
1542
|
"description": "An OAuth 2 access token sent as a bearer token on every call (lib/tools/oauthTools.ts). Secrets come from environment variable names, never values."
|
|
@@ -1336,6 +1547,147 @@
|
|
|
1336
1547
|
],
|
|
1337
1548
|
"additionalProperties": false
|
|
1338
1549
|
},
|
|
1550
|
+
"mcp_transport": {
|
|
1551
|
+
"description": "How mcp_server_url is reached: auto (the default), streamable_http or sse (ADR 0124). Needs mcp_server_url.",
|
|
1552
|
+
"type": "string",
|
|
1553
|
+
"enum": [
|
|
1554
|
+
"auto",
|
|
1555
|
+
"streamable_http",
|
|
1556
|
+
"sse"
|
|
1557
|
+
]
|
|
1558
|
+
},
|
|
1559
|
+
"mcp_servers": {
|
|
1560
|
+
"description": "Several MCP servers, each with the tools this agent may use from it, its grant and its transport (ADR 0124). Cannot be combined with mcp_server_url.",
|
|
1561
|
+
"minItems": 1,
|
|
1562
|
+
"maxItems": 16,
|
|
1563
|
+
"type": "array",
|
|
1564
|
+
"items": {
|
|
1565
|
+
"type": "object",
|
|
1566
|
+
"properties": {
|
|
1567
|
+
"name": {
|
|
1568
|
+
"type": "string",
|
|
1569
|
+
"pattern": "^[a-z][a-z0-9_-]{0,63}$",
|
|
1570
|
+
"description": "A short name for the server, unique on this agent: logs and errors name it."
|
|
1571
|
+
},
|
|
1572
|
+
"url": {
|
|
1573
|
+
"type": "string",
|
|
1574
|
+
"format": "uri",
|
|
1575
|
+
"description": "The MCP server's URL: its Streamable HTTP endpoint, or a legacy SSE endpoint. Checked by the SSRF guard."
|
|
1576
|
+
},
|
|
1577
|
+
"tools": {
|
|
1578
|
+
"minItems": 1,
|
|
1579
|
+
"type": "array",
|
|
1580
|
+
"items": {
|
|
1581
|
+
"type": "string",
|
|
1582
|
+
"minLength": 1
|
|
1583
|
+
},
|
|
1584
|
+
"description": "The server's tools this agent may use, by name; any other tool it lists is not exposed. A name may appear on one server only, and never among the agent's own tools. require_approval may name these."
|
|
1585
|
+
},
|
|
1586
|
+
"auth": {
|
|
1587
|
+
"description": "The OAuth grant this server takes (ADR 0112, ADR 0124). Without it, MCP_BEARER_TOKENS applies.",
|
|
1588
|
+
"type": "object",
|
|
1589
|
+
"properties": {
|
|
1590
|
+
"oauth2": {
|
|
1591
|
+
"type": "object",
|
|
1592
|
+
"properties": {
|
|
1593
|
+
"provider": {
|
|
1594
|
+
"type": "string",
|
|
1595
|
+
"pattern": "^[a-z0-9][a-z0-9._-]{0,63}$",
|
|
1596
|
+
"description": "The credential store's name for the provider (e.g. github). Every tool naming it shares one grant."
|
|
1597
|
+
},
|
|
1598
|
+
"grant": {
|
|
1599
|
+
"type": "string",
|
|
1600
|
+
"enum": [
|
|
1601
|
+
"authorization_code",
|
|
1602
|
+
"client_credentials"
|
|
1603
|
+
],
|
|
1604
|
+
"description": "authorization_code: each user's own token, granted through the consent pause (ADR 0085). client_credentials: the server's own token, from the token endpoint."
|
|
1605
|
+
},
|
|
1606
|
+
"client_registration": {
|
|
1607
|
+
"description": "\"dynamic\": an MCP server's authorization_code grant with no pre-issued client. The authorization server is discovered from the MCP server (RFC 9728, RFC 8414) and this deployment registers itself as a public PKCE client (RFC 7591), once per server and redirect URI, sealed in the credential store (ADR 0124). Every discovered host must be on the operator's OAuth host allowlist. MCP servers only; no client id, client secret or endpoint URL beside it.",
|
|
1608
|
+
"type": "string",
|
|
1609
|
+
"const": "dynamic"
|
|
1610
|
+
},
|
|
1611
|
+
"authorization_url": {
|
|
1612
|
+
"description": "The provider's authorization endpoint (https). authorization_code only; discovered with client_registration: dynamic.",
|
|
1613
|
+
"type": "string",
|
|
1614
|
+
"format": "uri"
|
|
1615
|
+
},
|
|
1616
|
+
"token_url": {
|
|
1617
|
+
"description": "The provider's token endpoint (https). Required, except with client_registration: dynamic, which discovers it.",
|
|
1618
|
+
"type": "string",
|
|
1619
|
+
"format": "uri"
|
|
1620
|
+
},
|
|
1621
|
+
"client_id": {
|
|
1622
|
+
"description": "The OAuth client id, written out (it is not a secret). Or client_id_env.",
|
|
1623
|
+
"type": "string",
|
|
1624
|
+
"minLength": 1,
|
|
1625
|
+
"maxLength": 512
|
|
1626
|
+
},
|
|
1627
|
+
"client_id_env": {
|
|
1628
|
+
"description": "Environment variable holding the client id. Or client_id.",
|
|
1629
|
+
"type": "string",
|
|
1630
|
+
"pattern": "^[A-Z_][A-Z0-9_]*$"
|
|
1631
|
+
},
|
|
1632
|
+
"client_secret_env": {
|
|
1633
|
+
"description": "Environment variable NAME holding the client secret, never the value. Required for client_credentials; omit for a public client (PKCE alone).",
|
|
1634
|
+
"type": "string",
|
|
1635
|
+
"pattern": "^[A-Z_][A-Z0-9_]*$"
|
|
1636
|
+
},
|
|
1637
|
+
"scopes": {
|
|
1638
|
+
"description": "The scopes the grant asks for.",
|
|
1639
|
+
"maxItems": 64,
|
|
1640
|
+
"type": "array",
|
|
1641
|
+
"items": {
|
|
1642
|
+
"type": "string",
|
|
1643
|
+
"pattern": "^[\\x21\\x23-\\x5b\\x5d-\\x7e]{1,256}$"
|
|
1644
|
+
}
|
|
1645
|
+
},
|
|
1646
|
+
"authorization_params": {
|
|
1647
|
+
"description": "Extra authorization parameters (e.g. access_type: offline). authorization_code only; never state, redirect_uri, scope, client_id, resource or the PKCE pair.",
|
|
1648
|
+
"type": "object",
|
|
1649
|
+
"propertyNames": {
|
|
1650
|
+
"type": "string",
|
|
1651
|
+
"pattern": "^[A-Za-z0-9_.-]{1,64}$"
|
|
1652
|
+
},
|
|
1653
|
+
"additionalProperties": {
|
|
1654
|
+
"type": "string",
|
|
1655
|
+
"maxLength": 512
|
|
1656
|
+
}
|
|
1657
|
+
}
|
|
1658
|
+
},
|
|
1659
|
+
"required": [
|
|
1660
|
+
"provider",
|
|
1661
|
+
"grant"
|
|
1662
|
+
],
|
|
1663
|
+
"additionalProperties": false,
|
|
1664
|
+
"description": "An OAuth 2 access token sent as a bearer token on every call (lib/tools/oauthTools.ts). Secrets come from environment variable names, never values."
|
|
1665
|
+
}
|
|
1666
|
+
},
|
|
1667
|
+
"required": [
|
|
1668
|
+
"oauth2"
|
|
1669
|
+
],
|
|
1670
|
+
"additionalProperties": false
|
|
1671
|
+
},
|
|
1672
|
+
"transport": {
|
|
1673
|
+
"type": "string",
|
|
1674
|
+
"enum": [
|
|
1675
|
+
"auto",
|
|
1676
|
+
"streamable_http",
|
|
1677
|
+
"sse"
|
|
1678
|
+
],
|
|
1679
|
+
"description": "How the MCP server is reached: auto (the default) tries Streamable HTTP and falls back to the legacy SSE transport on the spec's signal; streamable_http or sse use that one only (ADR 0124)."
|
|
1680
|
+
}
|
|
1681
|
+
},
|
|
1682
|
+
"required": [
|
|
1683
|
+
"name",
|
|
1684
|
+
"url",
|
|
1685
|
+
"tools"
|
|
1686
|
+
],
|
|
1687
|
+
"additionalProperties": false,
|
|
1688
|
+
"description": "One MCP server among several (ADR 0124)."
|
|
1689
|
+
}
|
|
1690
|
+
},
|
|
1339
1691
|
"skills": {
|
|
1340
1692
|
"type": "object",
|
|
1341
1693
|
"properties": {
|
|
@@ -1465,15 +1817,20 @@
|
|
|
1465
1817
|
],
|
|
1466
1818
|
"description": "authorization_code: each user's own token, granted through the consent pause (ADR 0085). client_credentials: the server's own token, from the token endpoint."
|
|
1467
1819
|
},
|
|
1820
|
+
"client_registration": {
|
|
1821
|
+
"description": "\"dynamic\": an MCP server's authorization_code grant with no pre-issued client. The authorization server is discovered from the MCP server (RFC 9728, RFC 8414) and this deployment registers itself as a public PKCE client (RFC 7591), once per server and redirect URI, sealed in the credential store (ADR 0124). Every discovered host must be on the operator's OAuth host allowlist. MCP servers only; no client id, client secret or endpoint URL beside it.",
|
|
1822
|
+
"type": "string",
|
|
1823
|
+
"const": "dynamic"
|
|
1824
|
+
},
|
|
1468
1825
|
"authorization_url": {
|
|
1469
|
-
"description": "The provider's authorization endpoint (https). authorization_code only.",
|
|
1826
|
+
"description": "The provider's authorization endpoint (https). authorization_code only; discovered with client_registration: dynamic.",
|
|
1470
1827
|
"type": "string",
|
|
1471
1828
|
"format": "uri"
|
|
1472
1829
|
},
|
|
1473
1830
|
"token_url": {
|
|
1831
|
+
"description": "The provider's token endpoint (https). Required, except with client_registration: dynamic, which discovers it.",
|
|
1474
1832
|
"type": "string",
|
|
1475
|
-
"format": "uri"
|
|
1476
|
-
"description": "The provider's token endpoint (https)."
|
|
1833
|
+
"format": "uri"
|
|
1477
1834
|
},
|
|
1478
1835
|
"client_id": {
|
|
1479
1836
|
"description": "The OAuth client id, written out (it is not a secret). Or client_id_env.",
|
|
@@ -1501,7 +1858,7 @@
|
|
|
1501
1858
|
}
|
|
1502
1859
|
},
|
|
1503
1860
|
"authorization_params": {
|
|
1504
|
-
"description": "Extra authorization parameters (e.g. access_type: offline). authorization_code only; never state, redirect_uri, scope, client_id or the PKCE pair.",
|
|
1861
|
+
"description": "Extra authorization parameters (e.g. access_type: offline). authorization_code only; never state, redirect_uri, scope, client_id, resource or the PKCE pair.",
|
|
1505
1862
|
"type": "object",
|
|
1506
1863
|
"propertyNames": {
|
|
1507
1864
|
"type": "string",
|
|
@@ -1515,8 +1872,7 @@
|
|
|
1515
1872
|
},
|
|
1516
1873
|
"required": [
|
|
1517
1874
|
"provider",
|
|
1518
|
-
"grant"
|
|
1519
|
-
"token_url"
|
|
1875
|
+
"grant"
|
|
1520
1876
|
],
|
|
1521
1877
|
"additionalProperties": false,
|
|
1522
1878
|
"description": "An OAuth 2 access token sent as a bearer token on every call (lib/tools/oauthTools.ts). Secrets come from environment variable names, never values."
|
|
@@ -1613,7 +1969,7 @@
|
|
|
1613
1969
|
"additionalProperties": false
|
|
1614
1970
|
},
|
|
1615
1971
|
"yaml_reference": {
|
|
1616
|
-
"description": "A whole nested syndicate (filename under the agents dir) used as this subagent. An approval request or ask_user question raised inside it pauses the turn with the agent path (ADR 0110, ADR 0111): a delegate syndicate's gates anywhere, a dispatch syndicate's on its
|
|
1972
|
+
"description": "A whole nested syndicate (filename under the agents dir) used as this subagent. An approval request or ask_user question raised inside it pauses the turn with the agent path (ADR 0110, ADR 0111): a delegate syndicate's gates anywhere, a dispatch syndicate's on its routes, which it classifies and runs as at the top, its route's answer being its own (ADR 0120), and a workflow's ask_user nodes and gates, wherever each runs: delegated to as a subagent, as a dispatch route or as a workflow node (ADR 0119).",
|
|
1617
1973
|
"type": "string",
|
|
1618
1974
|
"minLength": 1
|
|
1619
1975
|
},
|