@github/copilot-sdk-win32-x64 1.0.16-preview.0 → 1.0.17-preview.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/copilot-sdk/client.d.ts +1 -0
- package/copilot-sdk/extension.js +132 -16
- package/copilot-sdk/ffiRuntimeHost.d.ts +1 -0
- package/copilot-sdk/generated/rpc.d.ts +349 -5
- package/copilot-sdk/generated/session-events.d.ts +3 -3
- package/copilot-sdk/index.d.ts +1 -1
- package/copilot-sdk/index.js +132 -16
- package/copilot-sdk/session.d.ts +4 -1
- package/copilot-sdk/types.d.ts +17 -2
- package/package.json +3 -2
- package/prebuilds/win32-x64/OneAuthInterop.dll +0 -0
- package/prebuilds/win32-x64/copilot-runtime.exe +0 -0
- package/prebuilds/win32-x64/runtime.node +2 -2
- package/ripgrep/bin/win32-x64/rg.exe +0 -0
- package/schemas/api.schema.json +556 -12
- package/schemas/session-events.schema.json +5 -5
- package/tgrep/bin/win32-x64/tgrep.exe +0 -0
package/schemas/api.schema.json
CHANGED
|
@@ -1061,7 +1061,7 @@
|
|
|
1061
1061
|
"managedSettings": {
|
|
1062
1062
|
"read": {
|
|
1063
1063
|
"rpcMethod": "managedSettings.read",
|
|
1064
|
-
"description": "Discovers device-managed settings from production MDM and managed-file sources, validates them against the runtime-owned managed-settings schema, and returns the canonical JSON without requiring a session.",
|
|
1064
|
+
"description": "Discovers device-managed settings from production MDM and managed-file sources, validates them against the runtime-owned managed-settings schema, and returns the canonical JSON without requiring a session. `managedSettings.resolve` returns the same device settings together with the account's server policy.",
|
|
1065
1065
|
"params": null,
|
|
1066
1066
|
"result": {
|
|
1067
1067
|
"$ref": "#/definitions/ManagedSettingsReadResult",
|
|
@@ -1071,12 +1071,61 @@
|
|
|
1071
1071
|
},
|
|
1072
1072
|
"clearCache": {
|
|
1073
1073
|
"rpcMethod": "managedSettings.clearCache",
|
|
1074
|
-
"description": "Force-refreshes enterprise managed settings for every account: wipes the persistent server-policy cache (the whole `<cacheHome>/managed-settings` directory) and drops this runtime process's in-memory retained server policy. It does not itself fetch policy — the effect is that the next time a session resolves managed settings for an account, that resolution re-fetches the account's org policy from the network instead of serving a cached response. Note that `managedSettings.read` returns only device/MDM settings and never triggers the account server-policy fetch, so a host implementing \"sync account policy\" should start a fresh session resolution rather than treat a subsequent `managedSettings.read` as the refreshed org policy. Mirrors the invalidation a sign-out performs, broadened from the one signing-out account to all of them; device/MDM layers describe the machine, not the account, and are left untouched. Rejects if the on-disk cache cannot be removed.",
|
|
1074
|
+
"description": "Force-refreshes enterprise managed settings for every account: wipes the persistent server-policy cache (the whole `<cacheHome>/managed-settings` directory) and drops this runtime process's in-memory retained server policy. It does not itself fetch policy — the effect is that the next time a session resolves managed settings for an account, that resolution re-fetches the account's org policy from the network instead of serving a cached response. Note that `managedSettings.read` returns only device/MDM settings and never triggers the account server-policy fetch, so a host implementing \"sync account policy\" should call `managedSettings.resolve` or start a fresh session resolution rather than treat a subsequent `managedSettings.read` as the refreshed org policy. Mirrors the invalidation a sign-out performs, broadened from the one signing-out account to all of them; device/MDM layers describe the machine, not the account, and are left untouched. Rejects if the on-disk cache cannot be removed.",
|
|
1075
1075
|
"params": null,
|
|
1076
1076
|
"result": {
|
|
1077
1077
|
"type": "null"
|
|
1078
1078
|
},
|
|
1079
1079
|
"stability": "experimental"
|
|
1080
|
+
},
|
|
1081
|
+
"resolve": {
|
|
1082
|
+
"rpcMethod": "managedSettings.resolve",
|
|
1083
|
+
"description": "Resolves the effective enterprise managed settings without a session, from the device channel and, when an account is available, the account's server policy through the same per-account cache sessions use. A cached server policy less than an hour old is used without a fetch; otherwise the policy is fetched, and when the fetch fails a cached policy up to 24 hours old is used instead, unless `forceRemoteSettingsRefresh` requires a live fetch. With no account requested or signed in, it reports device policy only; signing out removes the account's cached policy. It can fetch server policy over the network when the cache is stale, so call it off latency-critical paths such as startup rather than before listing models. The policy helper is not run. `layers` lists each channel's document before merging, and `values` and `meta` carry typed effective values and their lock state for the keys typed so far.",
|
|
1084
|
+
"params": {
|
|
1085
|
+
"$ref": "#/definitions/ManagedSettingsResolveRequest",
|
|
1086
|
+
"description": "Optional opaque account selection or GitHub token whose managed settings are resolved."
|
|
1087
|
+
},
|
|
1088
|
+
"result": {
|
|
1089
|
+
"$ref": "#/definitions/ManagedSettingsResolveResult",
|
|
1090
|
+
"description": "Effective enterprise managed settings for an account, resolved without a session."
|
|
1091
|
+
},
|
|
1092
|
+
"stability": "experimental"
|
|
1093
|
+
},
|
|
1094
|
+
"schema": {
|
|
1095
|
+
"rpcMethod": "managedSettings.schema",
|
|
1096
|
+
"description": "Returns the managed-settings authoring JSON schema with descriptive `x-composition` annotations aligned with the shared settings-engine vocabulary. These annotations are not a complete runtime composition contract: model, effortLevel, and contextTier remain coupled. Use `managedSettings.compose` for the runtime's effective result. Performs no I/O.",
|
|
1097
|
+
"params": null,
|
|
1098
|
+
"result": {
|
|
1099
|
+
"$ref": "#/definitions/ManagedSettingsSchemaResult",
|
|
1100
|
+
"description": "The authoring JSON schema for managed settings recognized by this runtime."
|
|
1101
|
+
},
|
|
1102
|
+
"stability": "experimental"
|
|
1103
|
+
},
|
|
1104
|
+
"validate": {
|
|
1105
|
+
"rpcMethod": "managedSettings.validate",
|
|
1106
|
+
"description": "Validates a candidate managed-settings document the way the runtime validates delivered policy, without applying it. Reports errors that would reject the document, warnings for content the runtime ignores, and the canonical document it would apply. Document text nested more than 64 levels deep is rejected. Performs no I/O.",
|
|
1107
|
+
"params": {
|
|
1108
|
+
"$ref": "#/definitions/ManagedSettingsValidateRequest",
|
|
1109
|
+
"description": "A candidate managed-settings document to validate without applying it."
|
|
1110
|
+
},
|
|
1111
|
+
"result": {
|
|
1112
|
+
"$ref": "#/definitions/ManagedSettingsValidateResult",
|
|
1113
|
+
"description": "Result of validating a managed-settings document."
|
|
1114
|
+
},
|
|
1115
|
+
"stability": "experimental"
|
|
1116
|
+
},
|
|
1117
|
+
"compose": {
|
|
1118
|
+
"rpcMethod": "managedSettings.compose",
|
|
1119
|
+
"description": "Merges candidate managed-settings documents for the device, server, and policy-helper channels into the effective settings the runtime would enforce on this host, using the same precedence and composition rules as live resolution, without applying them. Like live resolution, a server's advisory sandbox force-enable is declined on a host that cannot run the sandbox. Does not fetch policy or read policy files, but may perform blocking OS or subprocess probes for sandbox support. Preview documents are limited to 1 MiB and 64 levels of nesting.",
|
|
1120
|
+
"params": {
|
|
1121
|
+
"$ref": "#/definitions/ManagedSettingsComposeRequest",
|
|
1122
|
+
"description": "Candidate managed-settings documents to merge without applying them."
|
|
1123
|
+
},
|
|
1124
|
+
"result": {
|
|
1125
|
+
"$ref": "#/definitions/ManagedSettingsComposeResult",
|
|
1126
|
+
"description": "The effective managed settings the runtime would enforce for the given documents, in the same shape `managedSettings.resolve` returns."
|
|
1127
|
+
},
|
|
1128
|
+
"stability": "experimental"
|
|
1080
1129
|
}
|
|
1081
1130
|
},
|
|
1082
1131
|
"runtime": {
|
|
@@ -6940,6 +6989,29 @@
|
|
|
6940
6989
|
},
|
|
6941
6990
|
"stability": "experimental"
|
|
6942
6991
|
},
|
|
6992
|
+
"getAccount": {
|
|
6993
|
+
"rpcMethod": "session.connectors.getAccount",
|
|
6994
|
+
"description": "Returns the session account selection, or null.",
|
|
6995
|
+
"params": {
|
|
6996
|
+
"type": "object",
|
|
6997
|
+
"properties": {
|
|
6998
|
+
"sessionId": {
|
|
6999
|
+
"type": "string",
|
|
7000
|
+
"description": "Target session identifier"
|
|
7001
|
+
}
|
|
7002
|
+
},
|
|
7003
|
+
"required": [
|
|
7004
|
+
"sessionId"
|
|
7005
|
+
],
|
|
7006
|
+
"additionalProperties": false,
|
|
7007
|
+
"description": "Identifies the target session."
|
|
7008
|
+
},
|
|
7009
|
+
"result": {
|
|
7010
|
+
"$ref": "#/definitions/ConnectorSessionAccountResult",
|
|
7011
|
+
"description": "Session account selection, or null."
|
|
7012
|
+
},
|
|
7013
|
+
"stability": "experimental"
|
|
7014
|
+
},
|
|
6943
7015
|
"getStatus": {
|
|
6944
7016
|
"rpcMethod": "session.connectors.getStatus",
|
|
6945
7017
|
"description": "Returns authoritative session Connector state from current availability, pinned account selection, cached catalog, and live MCP projection without performing a Connector service request.",
|
|
@@ -7196,6 +7268,10 @@
|
|
|
7196
7268
|
"refreshCatalog": {
|
|
7197
7269
|
"type": "boolean",
|
|
7198
7270
|
"description": "When true, refresh the catalog before reconciling. A disabled Connector API performs no service request."
|
|
7271
|
+
},
|
|
7272
|
+
"forceConnectorName": {
|
|
7273
|
+
"type": "string",
|
|
7274
|
+
"description": "Optional Connector name to reinitialize. Requires the targetedReconcile capability."
|
|
7199
7275
|
}
|
|
7200
7276
|
},
|
|
7201
7277
|
"required": [
|
|
@@ -7205,7 +7281,11 @@
|
|
|
7205
7281
|
"additionalProperties": false,
|
|
7206
7282
|
"description": "Requests authoritative Connector-to-MCP reconciliation for the pinned account.",
|
|
7207
7283
|
"title": "ConnectorReconcileRequest",
|
|
7208
|
-
"stability": "experimental"
|
|
7284
|
+
"stability": "experimental",
|
|
7285
|
+
"x-legacy-parameters": [
|
|
7286
|
+
"accountId",
|
|
7287
|
+
"refreshCatalog"
|
|
7288
|
+
]
|
|
7209
7289
|
},
|
|
7210
7290
|
"result": {
|
|
7211
7291
|
"$ref": "#/definitions/ConnectorStatus",
|
|
@@ -7289,7 +7369,7 @@
|
|
|
7289
7369
|
},
|
|
7290
7370
|
"result": {
|
|
7291
7371
|
"$ref": "#/definitions/ManagedSettingsResolvedData",
|
|
7292
|
-
"description": "
|
|
7372
|
+
"description": "Effective enterprise managed settings and contributing channels. Session events report applied policy; sessionless resolve reports an account/device snapshot, and compose reports a non-applying preview of candidate documents. Device values take precedence over server values, then the policy helper, per ordinary key, while permissions compose restrictively. Session-local SDK-client policy is included only in session results. Marked experimental while the managed-settings surface stabilizes."
|
|
7293
7373
|
},
|
|
7294
7374
|
"stability": "experimental"
|
|
7295
7375
|
}
|
|
@@ -15320,6 +15400,32 @@
|
|
|
15320
15400
|
"description": "Credential-free authentication identity safe to expose to hosts and user interfaces.",
|
|
15321
15401
|
"title": "AuthIdentity"
|
|
15322
15402
|
},
|
|
15403
|
+
"AuthIdentityMetadata": {
|
|
15404
|
+
"type": "object",
|
|
15405
|
+
"properties": {
|
|
15406
|
+
"type": {
|
|
15407
|
+
"$ref": "#/definitions/AuthInfoType",
|
|
15408
|
+
"description": "Authentication type."
|
|
15409
|
+
},
|
|
15410
|
+
"host": {
|
|
15411
|
+
"type": "string",
|
|
15412
|
+
"description": "Identity host."
|
|
15413
|
+
},
|
|
15414
|
+
"login": {
|
|
15415
|
+
"type": "string",
|
|
15416
|
+
"description": "User login."
|
|
15417
|
+
}
|
|
15418
|
+
},
|
|
15419
|
+
"required": [
|
|
15420
|
+
"type",
|
|
15421
|
+
"host",
|
|
15422
|
+
"login"
|
|
15423
|
+
],
|
|
15424
|
+
"additionalProperties": false,
|
|
15425
|
+
"description": "Credential-free identity metadata.",
|
|
15426
|
+
"title": "AuthIdentityMetadata",
|
|
15427
|
+
"stability": "experimental"
|
|
15428
|
+
},
|
|
15323
15429
|
"AuthInfo": {
|
|
15324
15430
|
"anyOf": [
|
|
15325
15431
|
{
|
|
@@ -19522,6 +19628,16 @@
|
|
|
19522
19628
|
"type": "boolean",
|
|
19523
19629
|
"description": "Whether callers select a host-owned GitHub account through an opaque selection ID rather than supplying a provider token."
|
|
19524
19630
|
},
|
|
19631
|
+
"sessionAccountSelection": {
|
|
19632
|
+
"type": "boolean",
|
|
19633
|
+
"default": false,
|
|
19634
|
+
"description": "Whether getAccount is supported. Absence means false."
|
|
19635
|
+
},
|
|
19636
|
+
"targetedReconcile": {
|
|
19637
|
+
"type": "boolean",
|
|
19638
|
+
"default": false,
|
|
19639
|
+
"description": "Whether reconcile accepts forceConnectorName. Absence means false."
|
|
19640
|
+
},
|
|
19525
19641
|
"maxPollAttempts": {
|
|
19526
19642
|
"type": "integer",
|
|
19527
19643
|
"minimum": 0,
|
|
@@ -19550,7 +19666,16 @@
|
|
|
19550
19666
|
"additionalProperties": false,
|
|
19551
19667
|
"description": "Feature detection and hard polling limits for the EXPERIMENTAL session connector API.",
|
|
19552
19668
|
"title": "ConnectorCapabilities",
|
|
19553
|
-
"stability": "experimental"
|
|
19669
|
+
"stability": "experimental",
|
|
19670
|
+
"x-legacy-parameters": [
|
|
19671
|
+
"apiVersion",
|
|
19672
|
+
"availability",
|
|
19673
|
+
"consentContinuation",
|
|
19674
|
+
"opaqueAccountSelection",
|
|
19675
|
+
"maxPollAttempts",
|
|
19676
|
+
"maxPollIntervalMs",
|
|
19677
|
+
"maxDeadlineMs"
|
|
19678
|
+
]
|
|
19554
19679
|
},
|
|
19555
19680
|
"ConnectorCatalogEntry": {
|
|
19556
19681
|
"type": "object",
|
|
@@ -19567,6 +19692,18 @@
|
|
|
19567
19692
|
"type": "string",
|
|
19568
19693
|
"description": "Untrusted service description, when present."
|
|
19569
19694
|
},
|
|
19695
|
+
"logo": {
|
|
19696
|
+
"type": "string",
|
|
19697
|
+
"description": "Optional catalog logo."
|
|
19698
|
+
},
|
|
19699
|
+
"tier": {
|
|
19700
|
+
"type": "string",
|
|
19701
|
+
"description": "Optional catalog tier."
|
|
19702
|
+
},
|
|
19703
|
+
"releaseTag": {
|
|
19704
|
+
"type": "string",
|
|
19705
|
+
"description": "Optional catalog release tag."
|
|
19706
|
+
},
|
|
19570
19707
|
"status": {
|
|
19571
19708
|
"$ref": "#/definitions/ConnectorCatalogStatus",
|
|
19572
19709
|
"description": "Current authoritative service connection state."
|
|
@@ -19588,7 +19725,14 @@
|
|
|
19588
19725
|
"additionalProperties": false,
|
|
19589
19726
|
"description": "Credential-free Connector catalog entry.",
|
|
19590
19727
|
"title": "ConnectorCatalogEntry",
|
|
19591
|
-
"stability": "experimental"
|
|
19728
|
+
"stability": "experimental",
|
|
19729
|
+
"x-legacy-parameters": [
|
|
19730
|
+
"name",
|
|
19731
|
+
"displayName",
|
|
19732
|
+
"description",
|
|
19733
|
+
"status",
|
|
19734
|
+
"runtimeServerIds"
|
|
19735
|
+
]
|
|
19592
19736
|
},
|
|
19593
19737
|
"ConnectorCatalogResult": {
|
|
19594
19738
|
"type": "object",
|
|
@@ -19830,6 +19974,10 @@
|
|
|
19830
19974
|
"refreshCatalog": {
|
|
19831
19975
|
"type": "boolean",
|
|
19832
19976
|
"description": "When true, refresh the catalog before reconciling. A disabled Connector API performs no service request."
|
|
19977
|
+
},
|
|
19978
|
+
"forceConnectorName": {
|
|
19979
|
+
"type": "string",
|
|
19980
|
+
"description": "Optional Connector name to reinitialize. Requires the targetedReconcile capability."
|
|
19833
19981
|
}
|
|
19834
19982
|
},
|
|
19835
19983
|
"required": [
|
|
@@ -19838,7 +19986,11 @@
|
|
|
19838
19986
|
"additionalProperties": false,
|
|
19839
19987
|
"description": "Requests authoritative Connector-to-MCP reconciliation for the pinned account.",
|
|
19840
19988
|
"title": "ConnectorReconcileRequest",
|
|
19841
|
-
"stability": "experimental"
|
|
19989
|
+
"stability": "experimental",
|
|
19990
|
+
"x-legacy-parameters": [
|
|
19991
|
+
"accountId",
|
|
19992
|
+
"refreshCatalog"
|
|
19993
|
+
]
|
|
19842
19994
|
},
|
|
19843
19995
|
"ConnectorRuntimeStatus": {
|
|
19844
19996
|
"type": "object",
|
|
@@ -19866,6 +20018,41 @@
|
|
|
19866
20018
|
"title": "ConnectorRuntimeStatus",
|
|
19867
20019
|
"stability": "experimental"
|
|
19868
20020
|
},
|
|
20021
|
+
"ConnectorSessionAccount": {
|
|
20022
|
+
"type": "object",
|
|
20023
|
+
"properties": {
|
|
20024
|
+
"accountId": {
|
|
20025
|
+
"type": "string",
|
|
20026
|
+
"description": "Opaque session-scoped account selection ID."
|
|
20027
|
+
},
|
|
20028
|
+
"authInfo": {
|
|
20029
|
+
"$ref": "#/definitions/AuthIdentityMetadata",
|
|
20030
|
+
"description": "Credential-free identity metadata."
|
|
20031
|
+
}
|
|
20032
|
+
},
|
|
20033
|
+
"required": [
|
|
20034
|
+
"accountId",
|
|
20035
|
+
"authInfo"
|
|
20036
|
+
],
|
|
20037
|
+
"additionalProperties": false,
|
|
20038
|
+
"description": "Session account selection.",
|
|
20039
|
+
"title": "ConnectorSessionAccount",
|
|
20040
|
+
"stability": "experimental"
|
|
20041
|
+
},
|
|
20042
|
+
"ConnectorSessionAccountResult": {
|
|
20043
|
+
"anyOf": [
|
|
20044
|
+
{
|
|
20045
|
+
"$ref": "#/definitions/ConnectorSessionAccount",
|
|
20046
|
+
"description": "Session account selection."
|
|
20047
|
+
},
|
|
20048
|
+
{
|
|
20049
|
+
"type": "null"
|
|
20050
|
+
}
|
|
20051
|
+
],
|
|
20052
|
+
"description": "Session account selection, or null.",
|
|
20053
|
+
"title": "ConnectorSessionAccountResult",
|
|
20054
|
+
"stability": "experimental"
|
|
20055
|
+
},
|
|
19869
20056
|
"ConnectorStatus": {
|
|
19870
20057
|
"type": "object",
|
|
19871
20058
|
"properties": {
|
|
@@ -25629,6 +25816,202 @@
|
|
|
25629
25816
|
"description": "Non-secret host-managed HTTP MCP server configuration. The containing map key is the stable managed identity; credentials are supplied dynamically by the host.",
|
|
25630
25817
|
"title": "ManagedMcpServerConfig"
|
|
25631
25818
|
},
|
|
25819
|
+
"ManagedSettingMeta": {
|
|
25820
|
+
"type": "object",
|
|
25821
|
+
"properties": {
|
|
25822
|
+
"overridable": {
|
|
25823
|
+
"type": "boolean",
|
|
25824
|
+
"description": "Whether users and repositories may choose a different value. `false` means policy locks the value."
|
|
25825
|
+
},
|
|
25826
|
+
"source": {
|
|
25827
|
+
"type": "string",
|
|
25828
|
+
"description": "Channel that supplied this scalar value, matching a `layers[].source`: `device`, `server`, or `policyHelper`. These scalar defaults select one winning channel, not a mixed source. Treat unknown values as additional channels; more may be added."
|
|
25829
|
+
}
|
|
25830
|
+
},
|
|
25831
|
+
"required": [
|
|
25832
|
+
"overridable",
|
|
25833
|
+
"source"
|
|
25834
|
+
],
|
|
25835
|
+
"additionalProperties": false,
|
|
25836
|
+
"description": "Lock state and provenance of one managed setting.",
|
|
25837
|
+
"title": "ManagedSettingMeta",
|
|
25838
|
+
"stability": "experimental"
|
|
25839
|
+
},
|
|
25840
|
+
"ManagedSettingsChannel": {
|
|
25841
|
+
"type": "string",
|
|
25842
|
+
"enum": [
|
|
25843
|
+
"device",
|
|
25844
|
+
"server",
|
|
25845
|
+
"policyHelper"
|
|
25846
|
+
],
|
|
25847
|
+
"description": "A channel accepted by managedSettings.compose.",
|
|
25848
|
+
"title": "ManagedSettingsChannel",
|
|
25849
|
+
"x-enumDescriptions": {
|
|
25850
|
+
"device": "Device policy, the strongest channel.",
|
|
25851
|
+
"server": "Account or organization policy.",
|
|
25852
|
+
"policyHelper": "Session-local helper output, the weakest channel."
|
|
25853
|
+
},
|
|
25854
|
+
"stability": "experimental"
|
|
25855
|
+
},
|
|
25856
|
+
"ManagedSettingsComposeLayer": {
|
|
25857
|
+
"type": "object",
|
|
25858
|
+
"properties": {
|
|
25859
|
+
"source": {
|
|
25860
|
+
"$ref": "#/definitions/ManagedSettingsChannel",
|
|
25861
|
+
"description": "The channel whose candidate document is being supplied."
|
|
25862
|
+
},
|
|
25863
|
+
"settings": {
|
|
25864
|
+
"description": "Candidate managed-settings document. Omit when the channel delivered none, as in resolve output.",
|
|
25865
|
+
"x-opaque-json": true
|
|
25866
|
+
}
|
|
25867
|
+
},
|
|
25868
|
+
"required": [
|
|
25869
|
+
"source"
|
|
25870
|
+
],
|
|
25871
|
+
"additionalProperties": false,
|
|
25872
|
+
"description": "One candidate channel; absent settings represents a channel that delivered no document.",
|
|
25873
|
+
"title": "ManagedSettingsComposeLayer",
|
|
25874
|
+
"stability": "experimental"
|
|
25875
|
+
},
|
|
25876
|
+
"ManagedSettingsComposeRequest": {
|
|
25877
|
+
"type": "object",
|
|
25878
|
+
"properties": {
|
|
25879
|
+
"layers": {
|
|
25880
|
+
"type": "array",
|
|
25881
|
+
"items": {
|
|
25882
|
+
"$ref": "#/definitions/ManagedSettingsComposeLayer",
|
|
25883
|
+
"description": "One candidate channel; absent settings represents a channel that delivered no document."
|
|
25884
|
+
},
|
|
25885
|
+
"description": "One entry per channel. `source` must be `device`, `server`, or `policyHelper`, each at most once (checked at runtime); order does not matter, because channel precedence is fixed. To preview documents from resolve output, map recognized source strings to ManagedSettingsChannel and copy their settings; generated resolve and compose layer types are distinct. Omitted settings means this channel delivered no document. Supplied documents must be valid within the preview limits; warnings are returned in diagnostics. Compose does not reproduce source-failure state or retained enforcement floors from resolve."
|
|
25886
|
+
}
|
|
25887
|
+
},
|
|
25888
|
+
"required": [
|
|
25889
|
+
"layers"
|
|
25890
|
+
],
|
|
25891
|
+
"additionalProperties": false,
|
|
25892
|
+
"description": "Candidate managed-settings documents to merge without applying them.",
|
|
25893
|
+
"title": "ManagedSettingsComposeRequest",
|
|
25894
|
+
"stability": "experimental"
|
|
25895
|
+
},
|
|
25896
|
+
"ManagedSettingsComposeResult": {
|
|
25897
|
+
"type": "object",
|
|
25898
|
+
"properties": {
|
|
25899
|
+
"resolved": {
|
|
25900
|
+
"$ref": "#/definitions/ManagedSettingsResolvedData",
|
|
25901
|
+
"description": "Effective managed settings, in the same shape as `session.managedSettings.get`."
|
|
25902
|
+
},
|
|
25903
|
+
"values": {
|
|
25904
|
+
"$ref": "#/definitions/ManagedSettingsValues",
|
|
25905
|
+
"description": "Typed effective values, as in `managedSettings.resolve`."
|
|
25906
|
+
},
|
|
25907
|
+
"meta": {
|
|
25908
|
+
"$ref": "#/definitions/ManagedSettingsMeta",
|
|
25909
|
+
"description": "Per-key lock state and provenance for `values`."
|
|
25910
|
+
},
|
|
25911
|
+
"layers": {
|
|
25912
|
+
"type": "array",
|
|
25913
|
+
"items": {
|
|
25914
|
+
"$ref": "#/definitions/ManagedSettingsLayer",
|
|
25915
|
+
"description": "One managed-settings channel and the document it delivered."
|
|
25916
|
+
},
|
|
25917
|
+
"description": "Only the supplied channels, strongest first, with canonical documents. Empty canonical documents are represented as absent settings, as in live resolution."
|
|
25918
|
+
},
|
|
25919
|
+
"diagnostics": {
|
|
25920
|
+
"type": "array",
|
|
25921
|
+
"items": {
|
|
25922
|
+
"$ref": "#/definitions/ManagedSettingsDiagnostic",
|
|
25923
|
+
"description": "One validation finding for a managed-settings document."
|
|
25924
|
+
},
|
|
25925
|
+
"description": "Warnings about ignored content, with paths prefixed by the channel name."
|
|
25926
|
+
}
|
|
25927
|
+
},
|
|
25928
|
+
"required": [
|
|
25929
|
+
"resolved",
|
|
25930
|
+
"layers",
|
|
25931
|
+
"diagnostics"
|
|
25932
|
+
],
|
|
25933
|
+
"additionalProperties": false,
|
|
25934
|
+
"description": "The effective managed settings the runtime would enforce for the given documents, in the same shape `managedSettings.resolve` returns.",
|
|
25935
|
+
"title": "ManagedSettingsComposeResult",
|
|
25936
|
+
"stability": "experimental"
|
|
25937
|
+
},
|
|
25938
|
+
"ManagedSettingsDiagnostic": {
|
|
25939
|
+
"type": "object",
|
|
25940
|
+
"properties": {
|
|
25941
|
+
"path": {
|
|
25942
|
+
"type": "string",
|
|
25943
|
+
"description": "Dot-separated path of the offending setting, such as `autoTier.overridable`. Empty for the document as a whole."
|
|
25944
|
+
},
|
|
25945
|
+
"severity": {
|
|
25946
|
+
"$ref": "#/definitions/ManagedSettingsDiagnosticSeverity",
|
|
25947
|
+
"description": "Whether the finding rejects the document."
|
|
25948
|
+
},
|
|
25949
|
+
"message": {
|
|
25950
|
+
"type": "string",
|
|
25951
|
+
"description": "Human-readable description of the finding."
|
|
25952
|
+
}
|
|
25953
|
+
},
|
|
25954
|
+
"required": [
|
|
25955
|
+
"path",
|
|
25956
|
+
"severity",
|
|
25957
|
+
"message"
|
|
25958
|
+
],
|
|
25959
|
+
"additionalProperties": false,
|
|
25960
|
+
"description": "One validation finding for a managed-settings document.",
|
|
25961
|
+
"title": "ManagedSettingsDiagnostic",
|
|
25962
|
+
"stability": "experimental"
|
|
25963
|
+
},
|
|
25964
|
+
"ManagedSettingsDiagnosticSeverity": {
|
|
25965
|
+
"type": "string",
|
|
25966
|
+
"enum": [
|
|
25967
|
+
"error",
|
|
25968
|
+
"warning"
|
|
25969
|
+
],
|
|
25970
|
+
"description": "Severity of a managed-settings validation finding.",
|
|
25971
|
+
"title": "ManagedSettingsDiagnosticSeverity",
|
|
25972
|
+
"x-enumDescriptions": {
|
|
25973
|
+
"error": "The runtime rejects the document.",
|
|
25974
|
+
"warning": "The runtime accepts the document but ignores the flagged content."
|
|
25975
|
+
},
|
|
25976
|
+
"stability": "experimental"
|
|
25977
|
+
},
|
|
25978
|
+
"ManagedSettingsLayer": {
|
|
25979
|
+
"type": "object",
|
|
25980
|
+
"properties": {
|
|
25981
|
+
"source": {
|
|
25982
|
+
"type": "string",
|
|
25983
|
+
"description": "Channel identifier: `device` (MDM, plist, registry, or managed file), `server` (account or organization policy), or `policyHelper` (session-local helper output, supported by compose). Treat unknown output values as additional channels; more may be added."
|
|
25984
|
+
},
|
|
25985
|
+
"settings": {
|
|
25986
|
+
"description": "Validated managed-settings document this channel delivered. Absent when the channel delivered none.",
|
|
25987
|
+
"x-opaque-json": true
|
|
25988
|
+
}
|
|
25989
|
+
},
|
|
25990
|
+
"required": [
|
|
25991
|
+
"source"
|
|
25992
|
+
],
|
|
25993
|
+
"additionalProperties": false,
|
|
25994
|
+
"description": "One managed-settings channel and the document it delivered.",
|
|
25995
|
+
"title": "ManagedSettingsLayer",
|
|
25996
|
+
"stability": "experimental"
|
|
25997
|
+
},
|
|
25998
|
+
"ManagedSettingsMeta": {
|
|
25999
|
+
"type": "object",
|
|
26000
|
+
"properties": {
|
|
26001
|
+
"model": {
|
|
26002
|
+
"$ref": "#/definitions/ManagedSettingMeta",
|
|
26003
|
+
"description": "Lock state and provenance of `values.model`."
|
|
26004
|
+
},
|
|
26005
|
+
"autoTier": {
|
|
26006
|
+
"$ref": "#/definitions/ManagedSettingMeta",
|
|
26007
|
+
"description": "Lock state and provenance of `values.autoTier`."
|
|
26008
|
+
}
|
|
26009
|
+
},
|
|
26010
|
+
"additionalProperties": false,
|
|
26011
|
+
"description": "Per-key lock state and provenance for `ManagedSettingsValues`, with the same field names. Producers emit each typed key in values and meta together; both outer objects are omitted when no typed key is set.",
|
|
26012
|
+
"title": "ManagedSettingsMeta",
|
|
26013
|
+
"stability": "experimental"
|
|
26014
|
+
},
|
|
25632
26015
|
"ManagedSettingsReadResult": {
|
|
25633
26016
|
"type": "object",
|
|
25634
26017
|
"properties": {
|
|
@@ -25705,7 +26088,7 @@
|
|
|
25705
26088
|
"managedKeys"
|
|
25706
26089
|
],
|
|
25707
26090
|
"additionalProperties": false,
|
|
25708
|
-
"description": "
|
|
26091
|
+
"description": "Effective enterprise managed settings and contributing channels. Session events report applied policy; sessionless resolve reports an account/device snapshot, and compose reports a non-applying preview of candidate documents. Device values take precedence over server values, then the policy helper, per ordinary key, while permissions compose restrictively. Session-local SDK-client policy is included only in session results. Marked experimental while the managed-settings surface stabilizes.",
|
|
25709
26092
|
"title": "ManagedSettingsResolvedData",
|
|
25710
26093
|
"stability": "experimental"
|
|
25711
26094
|
},
|
|
@@ -25730,6 +26113,167 @@
|
|
|
25730
26113
|
"none": "No managed policy is in force (no channel contributed)."
|
|
25731
26114
|
}
|
|
25732
26115
|
},
|
|
26116
|
+
"ManagedSettingsResolveRequest": {
|
|
26117
|
+
"anyOf": [
|
|
26118
|
+
{
|
|
26119
|
+
"not": {}
|
|
26120
|
+
},
|
|
26121
|
+
{
|
|
26122
|
+
"type": "object",
|
|
26123
|
+
"properties": {
|
|
26124
|
+
"selectionId": {
|
|
26125
|
+
"type": "string",
|
|
26126
|
+
"description": "Opaque account identifier returned by `account.getAllUsers`. When omitted, the current account is used, or device policy only when no account is signed in."
|
|
26127
|
+
},
|
|
26128
|
+
"gitHubToken": {
|
|
26129
|
+
"type": "string",
|
|
26130
|
+
"description": "GitHub token to resolve instead of the current account. The call fails when the token cannot be resolved."
|
|
26131
|
+
},
|
|
26132
|
+
"clientName": {
|
|
26133
|
+
"type": "string",
|
|
26134
|
+
"description": "Embedding client identity for server policy requests, as in session creation. Omit for the CLI identity."
|
|
26135
|
+
}
|
|
26136
|
+
},
|
|
26137
|
+
"additionalProperties": false
|
|
26138
|
+
}
|
|
26139
|
+
],
|
|
26140
|
+
"description": "Optional opaque account selection or GitHub token whose managed settings are resolved.",
|
|
26141
|
+
"title": "ManagedSettingsResolveRequest",
|
|
26142
|
+
"stability": "experimental"
|
|
26143
|
+
},
|
|
26144
|
+
"ManagedSettingsResolveResult": {
|
|
26145
|
+
"type": "object",
|
|
26146
|
+
"properties": {
|
|
26147
|
+
"account": {
|
|
26148
|
+
"type": "string",
|
|
26149
|
+
"description": "Printable opaque identity of the account the settings were resolved for, suitable for comparison and storage, not an account selectionId. Absent when no account was available, in which case only device policy is reported."
|
|
26150
|
+
},
|
|
26151
|
+
"resolved": {
|
|
26152
|
+
"$ref": "#/definitions/ManagedSettingsResolvedData",
|
|
26153
|
+
"description": "Effective managed settings from the device and account (server) channels, in the same shape as `session.managedSettings.get`, excluding session-local injection."
|
|
26154
|
+
},
|
|
26155
|
+
"values": {
|
|
26156
|
+
"$ref": "#/definitions/ManagedSettingsValues",
|
|
26157
|
+
"description": "Typed effective values of managed settings, keyed like the managed-settings schema and already resolved across channels, with the `{ \"overridable\": ... }` wrapper removed. Present when policy sets at least one typed key. Keys not typed here are available in `resolved.settings`."
|
|
26158
|
+
},
|
|
26159
|
+
"meta": {
|
|
26160
|
+
"$ref": "#/definitions/ManagedSettingsMeta",
|
|
26161
|
+
"description": "Per-key lock state and provenance for the entries in `values`, using the same key names."
|
|
26162
|
+
},
|
|
26163
|
+
"layers": {
|
|
26164
|
+
"type": "array",
|
|
26165
|
+
"items": {
|
|
26166
|
+
"$ref": "#/definitions/ManagedSettingsLayer",
|
|
26167
|
+
"description": "One managed-settings channel and the document it delivered."
|
|
26168
|
+
},
|
|
26169
|
+
"description": "Each managed-settings channel consulted, strongest first, with the validated document it delivered before merging. `resolved.settings` is the merged result. More channels may be added over time."
|
|
26170
|
+
},
|
|
26171
|
+
"diagnostics": {
|
|
26172
|
+
"type": "array",
|
|
26173
|
+
"items": {
|
|
26174
|
+
"$ref": "#/definitions/ManagedSettingsDiagnostic",
|
|
26175
|
+
"description": "One validation finding for a managed-settings document."
|
|
26176
|
+
},
|
|
26177
|
+
"description": "Warnings about unavailable policy sources or a failed refresh served from cache. A cached response is not proof of a successful live fetch; `resolved.failClosed` separately describes enforcement."
|
|
26178
|
+
}
|
|
26179
|
+
},
|
|
26180
|
+
"required": [
|
|
26181
|
+
"resolved",
|
|
26182
|
+
"layers",
|
|
26183
|
+
"diagnostics"
|
|
26184
|
+
],
|
|
26185
|
+
"additionalProperties": false,
|
|
26186
|
+
"description": "Effective enterprise managed settings for an account, resolved without a session.",
|
|
26187
|
+
"title": "ManagedSettingsResolveResult",
|
|
26188
|
+
"stability": "experimental"
|
|
26189
|
+
},
|
|
26190
|
+
"ManagedSettingsSchemaResult": {
|
|
26191
|
+
"type": "object",
|
|
26192
|
+
"properties": {
|
|
26193
|
+
"schema": {
|
|
26194
|
+
"description": "JSON schema (draft 2020-12) with descriptive shared `x-composition` annotations, not a complete runtime composition contract. Model, effortLevel, and contextTier remain coupled; use `managedSettings.compose` for the runtime's effective result.",
|
|
26195
|
+
"x-opaque-json": true
|
|
26196
|
+
},
|
|
26197
|
+
"runtimeVersion": {
|
|
26198
|
+
"type": "string",
|
|
26199
|
+
"description": "Version of the runtime that owns this schema."
|
|
26200
|
+
}
|
|
26201
|
+
},
|
|
26202
|
+
"required": [
|
|
26203
|
+
"schema",
|
|
26204
|
+
"runtimeVersion"
|
|
26205
|
+
],
|
|
26206
|
+
"additionalProperties": false,
|
|
26207
|
+
"description": "The authoring JSON schema for managed settings recognized by this runtime.",
|
|
26208
|
+
"title": "ManagedSettingsSchemaResult",
|
|
26209
|
+
"stability": "experimental"
|
|
26210
|
+
},
|
|
26211
|
+
"ManagedSettingsValidateRequest": {
|
|
26212
|
+
"type": "object",
|
|
26213
|
+
"properties": {
|
|
26214
|
+
"content": {
|
|
26215
|
+
"description": "The document to validate: a JSON object, or a string containing the document's JSON text. Preview documents are limited to 1 MiB and 64 levels of nesting, a stricter resource limit than delivered-policy parsing; violations are returned as diagnostics.",
|
|
26216
|
+
"x-opaque-json": true
|
|
26217
|
+
},
|
|
26218
|
+
"layer": {
|
|
26219
|
+
"type": "string",
|
|
26220
|
+
"description": "Channel the document is meant for (`device`, `server`, or `policyHelper`). Some keys are only honored in some channels; for example, a `policyHelper` registration is ignored in policy-helper output. When omitted, no channel-specific checks run."
|
|
26221
|
+
}
|
|
26222
|
+
},
|
|
26223
|
+
"required": [
|
|
26224
|
+
"content"
|
|
26225
|
+
],
|
|
26226
|
+
"additionalProperties": false,
|
|
26227
|
+
"description": "A candidate managed-settings document to validate without applying it.",
|
|
26228
|
+
"title": "ManagedSettingsValidateRequest",
|
|
26229
|
+
"stability": "experimental"
|
|
26230
|
+
},
|
|
26231
|
+
"ManagedSettingsValidateResult": {
|
|
26232
|
+
"type": "object",
|
|
26233
|
+
"properties": {
|
|
26234
|
+
"valid": {
|
|
26235
|
+
"type": "boolean",
|
|
26236
|
+
"description": "Whether the runtime would accept the document within the preview resource limits. Always equals whether `settings` is present. An invalid document is rejected as a whole."
|
|
26237
|
+
},
|
|
26238
|
+
"settings": {
|
|
26239
|
+
"description": "Canonical form of the document the runtime would apply, with unrecognized keys removed. Absent when the document is invalid.",
|
|
26240
|
+
"x-opaque-json": true
|
|
26241
|
+
},
|
|
26242
|
+
"diagnostics": {
|
|
26243
|
+
"type": "array",
|
|
26244
|
+
"items": {
|
|
26245
|
+
"$ref": "#/definitions/ManagedSettingsDiagnostic",
|
|
26246
|
+
"description": "One validation finding for a managed-settings document."
|
|
26247
|
+
},
|
|
26248
|
+
"description": "Errors that reject the document and warnings about content the runtime ignores."
|
|
26249
|
+
}
|
|
26250
|
+
},
|
|
26251
|
+
"required": [
|
|
26252
|
+
"valid",
|
|
26253
|
+
"diagnostics"
|
|
26254
|
+
],
|
|
26255
|
+
"additionalProperties": false,
|
|
26256
|
+
"description": "Result of validating a managed-settings document.",
|
|
26257
|
+
"title": "ManagedSettingsValidateResult",
|
|
26258
|
+
"stability": "experimental"
|
|
26259
|
+
},
|
|
26260
|
+
"ManagedSettingsValues": {
|
|
26261
|
+
"type": "object",
|
|
26262
|
+
"properties": {
|
|
26263
|
+
"model": {
|
|
26264
|
+
"type": "string",
|
|
26265
|
+
"description": "Managed default model identifier, as configured. New sessions start with it; it can name a model the account cannot use, so hosts match it against the listed models."
|
|
26266
|
+
},
|
|
26267
|
+
"autoTier": {
|
|
26268
|
+
"$ref": "#/definitions/AutoTier",
|
|
26269
|
+
"description": "Managed Auto routing preference, used when the selected model is `auto`."
|
|
26270
|
+
}
|
|
26271
|
+
},
|
|
26272
|
+
"additionalProperties": false,
|
|
26273
|
+
"description": "Typed effective values of managed settings. Each field mirrors the managed-settings schema key of the same name; more keys are added as they are typed.",
|
|
26274
|
+
"title": "ManagedSettingsValues",
|
|
26275
|
+
"stability": "experimental"
|
|
26276
|
+
},
|
|
25733
26277
|
"MarketplaceAddResult": {
|
|
25734
26278
|
"type": "object",
|
|
25735
26279
|
"properties": {
|
|
@@ -39642,7 +40186,7 @@
|
|
|
39642
40186
|
"properties": {
|
|
39643
40187
|
"name": {
|
|
39644
40188
|
"$ref": "#/definitions/SandboxHostCapabilityName",
|
|
39645
|
-
"description": "The policy feature, as an extensible string: ignore names you do not recognize. Known values: `network` (sandboxed commands can reach the network; on Linux this needs the tooling for Bubblewrap's private network namespace, such as slirp4netns), `network_filtering` (host rules and the sandbox proxy; on Linux this needs the same tooling as `network`; on Windows it needs Process Security Environment 1.1 host-loopback support, and a policy that uses it must also set `network.allowLocalNetwork`), `denied_paths` (native enforcement of `filesystem.deniedPaths`),
|
|
40189
|
+
"description": "The policy feature, as an extensible string: ignore names you do not recognize. Known values: `network` (sandboxed commands can reach the network; on Linux this needs the tooling for Bubblewrap's private network namespace, such as slirp4netns), `network_filtering` (host rules and the sandbox proxy; on Linux this needs the same tooling as `network`; on Windows it needs Process Security Environment 1.1 host-loopback support, and a policy that uses it must also set `network.allowLocalNetwork`), `denied_paths` (native enforcement of `filesystem.deniedPaths`), `shell` (shell commands inside the sandbox), and `filesystem_enumeration` (enumerate-only filesystem grants; on Windows this needs Process Security Environment 1.1 filesystem enumeration support, and without it sandboxed PowerShell still runs but cannot resolve its current location; other platforms always report it)."
|
|
39646
40190
|
},
|
|
39647
40191
|
"supported": {
|
|
39648
40192
|
"type": "boolean",
|
|
@@ -39658,7 +40202,7 @@
|
|
|
39658
40202
|
"supported"
|
|
39659
40203
|
],
|
|
39660
40204
|
"additionalProperties": false,
|
|
39661
|
-
"description": "Whether this host can run one sandbox policy feature. A session whose effective policy uses an unsupported feature fails each sandboxed command with `reason
|
|
40205
|
+
"description": "Whether this host can run one sandbox policy feature. A session whose effective policy uses an unsupported feature fails each sandboxed command with `reason`, except `filesystem_enumeration`, whose absence degrades sandboxed PowerShell instead of failing it.",
|
|
39662
40206
|
"title": "SandboxHostCapability"
|
|
39663
40207
|
},
|
|
39664
40208
|
"SandboxHostCapabilityName": {
|
|
@@ -39666,7 +40210,7 @@
|
|
|
39666
40210
|
"minLength": 1,
|
|
39667
40211
|
"maxLength": 64,
|
|
39668
40212
|
"pattern": "^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$",
|
|
39669
|
-
"description": "Extensible identifier of a sandbox policy feature whose availability varies between hosts. A plain string, so an older client decodes a name added by a newer runtime; ignore names you do not recognize. Known values: `network` — sandboxed commands can reach the network (`network.allowOutbound`, on by default); on Linux this needs the tooling for Bubblewrap's private network namespace, such as slirp4netns. `network_filtering` — host rules and the sandbox proxy (`network.allowedHosts`, `network.blockedHosts`, `network.proxy`); on Linux this needs the same tooling as `network`; on Windows it needs a version with Process Security Environment 1.1 host-loopback support, and a policy that uses it must also set `network.allowLocalNetwork`, because Windows reaches the local proxy only together with private-network access. `denied_paths` — native enforcement of `filesystem.deniedPaths`; on Windows this needs a version whose sandbox contract reports denied-path support. `shell` — shell commands inside the sandbox: bash on macOS and Linux, PowerShell on Windows
|
|
40213
|
+
"description": "Extensible identifier of a sandbox policy feature whose availability varies between hosts. A plain string, so an older client decodes a name added by a newer runtime; ignore names you do not recognize. Known values: `network` — sandboxed commands can reach the network (`network.allowOutbound`, on by default); on Linux this needs the tooling for Bubblewrap's private network namespace, such as slirp4netns. `network_filtering` — host rules and the sandbox proxy (`network.allowedHosts`, `network.blockedHosts`, `network.proxy`); on Linux this needs the same tooling as `network`; on Windows it needs a version with Process Security Environment 1.1 host-loopback support, and a policy that uses it must also set `network.allowLocalNetwork`, because Windows reaches the local proxy only together with private-network access. `denied_paths` — native enforcement of `filesystem.deniedPaths`; on Windows this needs a version whose sandbox contract reports denied-path support. `shell` — shell commands inside the sandbox: bash on macOS and Linux, PowerShell on Windows. `filesystem_enumeration` — enumerate-only filesystem grants, which PowerShell's drive roots use on Windows; this needs a version with Process Security Environment 1.1 filesystem enumeration support. Without it, sandboxed PowerShell still runs, but `Get-Location` may report the drive root, `Set-Location` may fail, and relative paths may resolve against the drive root; the session also receives a `session.warning` with `warningType` `sandbox`. Other platforms always report it.",
|
|
39670
40214
|
"title": "SandboxHostCapabilityName"
|
|
39671
40215
|
},
|
|
39672
40216
|
"SandboxHostSupport": {
|
|
@@ -39684,7 +40228,7 @@
|
|
|
39684
40228
|
"type": "array",
|
|
39685
40229
|
"items": {
|
|
39686
40230
|
"$ref": "#/definitions/SandboxHostCapability",
|
|
39687
|
-
"description": "Whether this host can run one sandbox policy feature. A session whose effective policy uses an unsupported feature fails each sandboxed command with `reason
|
|
40231
|
+
"description": "Whether this host can run one sandbox policy feature. A session whose effective policy uses an unsupported feature fails each sandboxed command with `reason`, except `filesystem_enumeration`, whose absence degrades sandboxed PowerShell instead of failing it."
|
|
39688
40232
|
},
|
|
39689
40233
|
"description": "Sandbox policy features whose availability varies between hosts that can run the backend. Empty when `supported` is false, because no feature can run without a backend. Later runtimes can add entries; ignore an entry whose `name` you do not recognize."
|
|
39690
40234
|
}
|