@tangle-network/cli-agent-registry 0.14.0 → 0.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -0
- package/dist/{backend-types-CREj4iOY.mjs → backend-types-CNo_Zj_K.mjs} +3 -12
- package/dist/{backend-types-CJH-wHS3.d.mts → backend-types-DRmLR1e0.d.mts} +4 -13
- package/dist/backend-types.d.mts +1 -1
- package/dist/backend-types.mjs +1 -1
- package/dist/cli-auth-bundle-C6DtK7GX.mjs +95 -0
- package/dist/cli-auth-bundle-CwAaH0Ap.d.mts +51 -0
- package/dist/cli-auth-bundle.d.mts +2 -49
- package/dist/cli-auth-bundle.mjs +1 -91
- package/dist/cli-auth-placeholder.d.mts +1 -1
- package/dist/cli-auth-placeholder.mjs +2 -2
- package/dist/cli-backend-auth-env.mjs +3 -3
- package/dist/default-backend.d.mts +1 -1
- package/dist/default-backend.mjs +2 -2
- package/dist/{harness-DIdVNSwl.mjs → harness-D1fTxnDD.mjs} +66 -34
- package/dist/{native-session-contracts-DWFzgoye.mjs → harness-contracts-BZoECCMc.mjs} +87 -173
- package/dist/host-contracts.d.mts +30 -0
- package/dist/host-contracts.json +422 -0
- package/dist/host-contracts.mjs +63 -0
- package/dist/index.d.mts +117 -120
- package/dist/index.mjs +17 -12
- package/dist/local-cli-auth.d.mts +1 -1
- package/dist/local-cli-auth.mjs +1 -1
- package/dist/native-session-contracts.d.mts +57 -62
- package/dist/native-session-contracts.mjs +40 -2
- package/dist/servable-models.d.mts +5 -6
- package/dist/servable-models.mjs +6 -22
- package/dist/{session-contract-BC75JdnA.d.mts → session-contract-BhzcbPRW.d.mts} +10 -44
- package/dist/session-contract.d.mts +1 -1
- package/dist/session-contract.mjs +14 -62
- package/dist/{specs-BSELpX1h.d.mts → spec-CcvTM7-j.d.mts} +22 -91
- package/dist/{specs-Bbiay_8K.mjs → specs-BBF55TnM.mjs} +125 -94
- package/dist/specs.d.mts +72 -3
- package/dist/specs.mjs +2 -2
- package/package.json +14 -8
|
@@ -3,16 +3,18 @@
|
|
|
3
3
|
const HARNESS_CLI_VERSIONS = {
|
|
4
4
|
"claude-code": "2.1.311",
|
|
5
5
|
codex: "0.164.0",
|
|
6
|
+
cursor: "2026.10.22-27dcf5f",
|
|
6
7
|
opencode: "1.19.4",
|
|
7
8
|
pi: "1.4.0",
|
|
8
9
|
"kimi-code": "1.49.0",
|
|
9
|
-
"factory-droids": "0.
|
|
10
|
-
amp: "0.0.
|
|
10
|
+
"factory-droids": "0.250.0",
|
|
11
|
+
amp: "0.0.1793104576-gc52692",
|
|
11
12
|
prime: "0.10.1",
|
|
12
13
|
hermes: "0.22.4",
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
openclaw: "2026.10.8",
|
|
15
|
+
acp: "claude-agent-acp 0.97.0; codex-acp 0.16.0; gemini-cli 0.65.0",
|
|
16
|
+
grok: "0.1.220",
|
|
17
|
+
nanoclaw: "2.1.54"
|
|
16
18
|
};
|
|
17
19
|
//#endregion
|
|
18
20
|
//#region src/harness-contracts/session-stores.ts
|
|
@@ -108,15 +110,12 @@ printf '\\n'`,
|
|
|
108
110
|
storeEnv: {},
|
|
109
111
|
evidence: {
|
|
110
112
|
servedModel: "session-record",
|
|
111
|
-
usage: "
|
|
113
|
+
usage: "session-total",
|
|
112
114
|
endingError: "none"
|
|
113
115
|
},
|
|
114
116
|
cliVersion: HARNESS_CLI_VERSIONS.acp
|
|
115
117
|
},
|
|
116
|
-
defect:
|
|
117
|
-
issue: "#10096",
|
|
118
|
-
reason: "contract is declared per sub-agent; gemini needs a mock dialect"
|
|
119
|
-
}
|
|
118
|
+
defect: null
|
|
120
119
|
},
|
|
121
120
|
config: {
|
|
122
121
|
kind: "model",
|
|
@@ -379,7 +378,7 @@ var codex_default = {
|
|
|
379
378
|
}
|
|
380
379
|
},
|
|
381
380
|
lifecycle: {
|
|
382
|
-
runtime:
|
|
381
|
+
runtime: { secretProfileIsolation: true },
|
|
383
382
|
coldCreate: { kind: "required" },
|
|
384
383
|
warmClaim: { kind: "required" },
|
|
385
384
|
parkResume: { kind: "required" },
|
|
@@ -394,7 +393,7 @@ var cursor_default = {
|
|
|
394
393
|
kind: "unsupported",
|
|
395
394
|
defect: {
|
|
396
395
|
issue: "#10096",
|
|
397
|
-
reason: "
|
|
396
|
+
reason: "local SDK store capture has no qualified harness reader"
|
|
398
397
|
}
|
|
399
398
|
},
|
|
400
399
|
config: {
|
|
@@ -416,7 +415,7 @@ var cursor_default = {
|
|
|
416
415
|
branchChild: { kind: "required" },
|
|
417
416
|
killResume: {
|
|
418
417
|
kind: "unsupported",
|
|
419
|
-
reason: "
|
|
418
|
+
reason: "Native Cursor capture contract remains unqualified"
|
|
420
419
|
}
|
|
421
420
|
}
|
|
422
421
|
};
|
|
@@ -462,10 +461,7 @@ var factory_droids_default = {
|
|
|
462
461
|
},
|
|
463
462
|
cliVersion: HARNESS_CLI_VERSIONS["factory-droids"]
|
|
464
463
|
},
|
|
465
|
-
defect:
|
|
466
|
-
issue: "#10096",
|
|
467
|
-
reason: "droid 0.232.0 resumes with --session-id only after it fetches the session from api.factory.ai, and the reader reads no usage, model or ending error from the session; the other checks pass (2026-10-05)"
|
|
468
|
-
}
|
|
464
|
+
defect: null
|
|
469
465
|
},
|
|
470
466
|
config: {
|
|
471
467
|
kind: "model",
|
|
@@ -492,71 +488,57 @@ var factory_droids_default = {
|
|
|
492
488
|
}
|
|
493
489
|
};
|
|
494
490
|
//#endregion
|
|
495
|
-
//#region src/harness-contracts/contracts/
|
|
496
|
-
var
|
|
491
|
+
//#region src/harness-contracts/contracts/grok.ts
|
|
492
|
+
var grok_default = {
|
|
497
493
|
session: {
|
|
498
494
|
kind: "native",
|
|
499
495
|
processProbe: {
|
|
500
|
-
versionCommand: "
|
|
501
|
-
kill: ["-x", "
|
|
496
|
+
versionCommand: "grok --version",
|
|
497
|
+
kill: ["-x", "grok"]
|
|
502
498
|
},
|
|
503
499
|
contract: {
|
|
504
500
|
version: 1,
|
|
505
501
|
stores: [{
|
|
506
|
-
root: ".
|
|
502
|
+
root: ".grok/sessions",
|
|
507
503
|
files: [
|
|
508
|
-
".
|
|
509
|
-
".
|
|
510
|
-
".
|
|
504
|
+
"*/{id}/updates.jsonl",
|
|
505
|
+
"*/{id}/chat_history.jsonl",
|
|
506
|
+
"*/{id}/summary.json",
|
|
507
|
+
"*/{id}/signals.json"
|
|
511
508
|
],
|
|
512
|
-
write: "
|
|
513
|
-
shared:
|
|
514
|
-
format: "
|
|
509
|
+
write: "jsonl-append",
|
|
510
|
+
shared: false,
|
|
511
|
+
format: "grok.acp-session-dir"
|
|
515
512
|
}],
|
|
516
513
|
identity: {
|
|
517
514
|
kind: "first-event",
|
|
518
|
-
event: "
|
|
515
|
+
event: "sessionId",
|
|
519
516
|
deadlineMs: 6e4
|
|
520
517
|
},
|
|
521
518
|
resume: {
|
|
522
519
|
kind: "args",
|
|
523
|
-
args: ["
|
|
520
|
+
args: ["-r", "{id}"]
|
|
524
521
|
},
|
|
525
522
|
forbiddenArgs: [],
|
|
526
|
-
storeEnv: {},
|
|
523
|
+
storeEnv: { GROK_HOME: ".grok" },
|
|
527
524
|
evidence: {
|
|
528
525
|
servedModel: "session-record",
|
|
529
|
-
usage: "
|
|
526
|
+
usage: "none",
|
|
530
527
|
endingError: "none"
|
|
531
528
|
},
|
|
532
|
-
cliVersion: HARNESS_CLI_VERSIONS.
|
|
529
|
+
cliVersion: HARNESS_CLI_VERSIONS.grok
|
|
533
530
|
},
|
|
534
|
-
defect:
|
|
535
|
-
issue: "#10096",
|
|
536
|
-
reason: "needs a SQLite-consistent capture and a .forge.db reader"
|
|
537
|
-
}
|
|
531
|
+
defect: null
|
|
538
532
|
},
|
|
539
533
|
config: {
|
|
540
534
|
kind: "model",
|
|
541
535
|
providerRequiresModel: true,
|
|
542
|
-
keySources: [
|
|
543
|
-
"managed",
|
|
544
|
-
"api-key",
|
|
545
|
-
"api-key-env",
|
|
546
|
-
"cli-auth"
|
|
547
|
-
],
|
|
536
|
+
keySources: ["api-key", "api-key-env"],
|
|
548
537
|
baseUrl: "caller-or-managed",
|
|
549
538
|
modelWire: "openai-compat",
|
|
550
539
|
envVars: {
|
|
551
|
-
apiKey: "
|
|
552
|
-
model: "
|
|
553
|
-
authMode: "FORGE_AUTH_MODE",
|
|
554
|
-
authFiles: "FORGE_AUTH_FILES_JSON",
|
|
555
|
-
extras: {
|
|
556
|
-
FORGE_SESSION__PROVIDER_ID: { parser: "string" },
|
|
557
|
-
FORGE_SESSION__MODEL_ID: { parser: "string" },
|
|
558
|
-
FORGE_AGENT_ID: { parser: "string" }
|
|
559
|
-
}
|
|
540
|
+
apiKey: "XAI_API_KEY",
|
|
541
|
+
model: "GROK_MODEL"
|
|
560
542
|
}
|
|
561
543
|
},
|
|
562
544
|
lifecycle: {
|
|
@@ -598,10 +580,7 @@ var hermes_default = {
|
|
|
598
580
|
},
|
|
599
581
|
cliVersion: HARNESS_CLI_VERSIONS.hermes
|
|
600
582
|
},
|
|
601
|
-
defect:
|
|
602
|
-
issue: "#10096",
|
|
603
|
-
reason: "HERMES_HOME lives under the workspace, and the session id arrives on stderr after exit"
|
|
604
|
-
}
|
|
583
|
+
defect: null
|
|
605
584
|
},
|
|
606
585
|
config: {
|
|
607
586
|
kind: "model",
|
|
@@ -693,21 +672,17 @@ var kimi_code_default = {
|
|
|
693
672
|
forbiddenArgs: [],
|
|
694
673
|
storeEnv: {},
|
|
695
674
|
evidence: {
|
|
696
|
-
servedModel: "
|
|
675
|
+
servedModel: "none",
|
|
697
676
|
usage: "per-response",
|
|
698
|
-
endingError: "
|
|
677
|
+
endingError: "session-record"
|
|
699
678
|
},
|
|
700
679
|
cliVersion: HARNESS_CLI_VERSIONS["kimi-code"]
|
|
701
680
|
},
|
|
702
|
-
defect:
|
|
703
|
-
issue: "#10096",
|
|
704
|
-
reason: "kimi-cli 1.49.0 records no model id, served or requested, in its session files, and the reader reads the ending HTTP 500 as aborted; the other checks pass (2026-10-05)"
|
|
705
|
-
}
|
|
681
|
+
defect: null
|
|
706
682
|
},
|
|
707
683
|
config: {
|
|
708
684
|
kind: "model",
|
|
709
685
|
providerRequiresModel: true,
|
|
710
|
-
assertions: ["moonshot-provider-lock"],
|
|
711
686
|
keySources: [
|
|
712
687
|
"managed",
|
|
713
688
|
"api-key",
|
|
@@ -740,11 +715,36 @@ var kimi_code_default = {
|
|
|
740
715
|
//#region src/harness-contracts/contracts/nanoclaw.ts
|
|
741
716
|
var nanoclaw_default = {
|
|
742
717
|
session: {
|
|
743
|
-
kind: "
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
}
|
|
718
|
+
kind: "native",
|
|
719
|
+
processProbe: {
|
|
720
|
+
versionCommand: `node -p "require(require('child_process').execSync('nanoclaw-runtime-root',{encoding:'utf8'}).trim()+'/package.json').version"`,
|
|
721
|
+
kill: ["-f", "[n]anoclaw-chat"]
|
|
722
|
+
},
|
|
723
|
+
contract: {
|
|
724
|
+
version: 1,
|
|
725
|
+
stores: [{
|
|
726
|
+
root: ".nanoclaw/data/v2-sessions",
|
|
727
|
+
files: ["*/{id}/outbound.db", "*/{id}/inbound.db"],
|
|
728
|
+
write: "sqlite-wal",
|
|
729
|
+
shared: false,
|
|
730
|
+
format: "nanoclaw.session-sqlite"
|
|
731
|
+
}],
|
|
732
|
+
identity: {
|
|
733
|
+
kind: "first-event",
|
|
734
|
+
event: "sessionId",
|
|
735
|
+
deadlineMs: 6e4
|
|
736
|
+
},
|
|
737
|
+
resume: { kind: "api" },
|
|
738
|
+
forbiddenArgs: [],
|
|
739
|
+
storeEnv: { NANOCLAW_RUNTIME_ROOT: ".nanoclaw" },
|
|
740
|
+
evidence: {
|
|
741
|
+
servedModel: "none",
|
|
742
|
+
usage: "per-response",
|
|
743
|
+
endingError: "none"
|
|
744
|
+
},
|
|
745
|
+
cliVersion: HARNESS_CLI_VERSIONS.nanoclaw
|
|
746
|
+
},
|
|
747
|
+
defect: null
|
|
748
748
|
},
|
|
749
749
|
config: {
|
|
750
750
|
kind: "model",
|
|
@@ -777,10 +777,7 @@ var nanoclaw_default = {
|
|
|
777
777
|
warmClaim: { kind: "required" },
|
|
778
778
|
parkResume: { kind: "required" },
|
|
779
779
|
branchChild: { kind: "required" },
|
|
780
|
-
killResume: {
|
|
781
|
-
kind: "unsupported",
|
|
782
|
-
reason: "The backend exposes no resumable native session"
|
|
783
|
-
}
|
|
780
|
+
killResume: { kind: "required" }
|
|
784
781
|
}
|
|
785
782
|
};
|
|
786
783
|
//#endregion
|
|
@@ -795,16 +792,19 @@ var openclaw_default = {
|
|
|
795
792
|
contract: {
|
|
796
793
|
version: 1,
|
|
797
794
|
stores: [{
|
|
798
|
-
root: ".openclaw
|
|
799
|
-
files: [
|
|
800
|
-
|
|
801
|
-
|
|
795
|
+
root: ".openclaw",
|
|
796
|
+
files: [
|
|
797
|
+
"agents/main/agent/openclaw-agent.sqlite",
|
|
798
|
+
"agents/main/agent/openclaw-agent.sqlite-wal",
|
|
799
|
+
"agents/main/agent/openclaw-agent.sqlite-shm"
|
|
800
|
+
],
|
|
801
|
+
write: "sqlite-wal",
|
|
802
|
+
shared: true,
|
|
802
803
|
format: "openclaw.session-jsonl"
|
|
803
804
|
}],
|
|
804
805
|
identity: {
|
|
805
|
-
kind: "
|
|
806
|
-
|
|
807
|
-
deadlineMs: 6e4
|
|
806
|
+
kind: "pre-minted",
|
|
807
|
+
args: ["--session-id", "{id}"]
|
|
808
808
|
},
|
|
809
809
|
resume: {
|
|
810
810
|
kind: "args",
|
|
@@ -819,10 +819,7 @@ var openclaw_default = {
|
|
|
819
819
|
},
|
|
820
820
|
cliVersion: HARNESS_CLI_VERSIONS.openclaw
|
|
821
821
|
},
|
|
822
|
-
defect:
|
|
823
|
-
issue: "#10096",
|
|
824
|
-
reason: "config is pinned outside the runtime HOME; store layout unverified"
|
|
825
|
-
}
|
|
822
|
+
defect: null
|
|
826
823
|
},
|
|
827
824
|
config: {
|
|
828
825
|
kind: "model",
|
|
@@ -925,6 +922,7 @@ const HARNESSES = {
|
|
|
925
922
|
},
|
|
926
923
|
lifecycle: {
|
|
927
924
|
runtime: {
|
|
925
|
+
secretProfileIsolation: true,
|
|
928
926
|
redactsHostEnv: true,
|
|
929
927
|
supportsToolDisabledTurns: true
|
|
930
928
|
},
|
|
@@ -1006,6 +1004,7 @@ const HARNESSES = {
|
|
|
1006
1004
|
},
|
|
1007
1005
|
"kimi-code": kimi_code_default,
|
|
1008
1006
|
"factory-droids": factory_droids_default,
|
|
1007
|
+
grok: grok_default,
|
|
1009
1008
|
amp: amp_default,
|
|
1010
1009
|
prime: {
|
|
1011
1010
|
session: {
|
|
@@ -1018,9 +1017,9 @@ const HARNESSES = {
|
|
|
1018
1017
|
version: 1,
|
|
1019
1018
|
stores: [{
|
|
1020
1019
|
root: ".prime-provider/prime-agent-dirs",
|
|
1021
|
-
files: ["
|
|
1020
|
+
files: ["**/sessions/*.jsonl"],
|
|
1022
1021
|
write: "jsonl-append",
|
|
1023
|
-
shared:
|
|
1022
|
+
shared: true,
|
|
1024
1023
|
format: "prime.session-jsonl"
|
|
1025
1024
|
}],
|
|
1026
1025
|
identity: {
|
|
@@ -1037,10 +1036,7 @@ const HARNESSES = {
|
|
|
1037
1036
|
},
|
|
1038
1037
|
cliVersion: HARNESS_CLI_VERSIONS.prime
|
|
1039
1038
|
},
|
|
1040
|
-
defect:
|
|
1041
|
-
issue: "#10096",
|
|
1042
|
-
reason: "no conformance receipt for the runtime-HOME agent dir yet"
|
|
1043
|
-
}
|
|
1039
|
+
defect: null
|
|
1044
1040
|
},
|
|
1045
1041
|
config: {
|
|
1046
1042
|
kind: "model",
|
|
@@ -1068,7 +1064,6 @@ const HARNESSES = {
|
|
|
1068
1064
|
}
|
|
1069
1065
|
},
|
|
1070
1066
|
hermes: hermes_default,
|
|
1071
|
-
forge: forge_default,
|
|
1072
1067
|
openclaw: openclaw_default,
|
|
1073
1068
|
nanoclaw: nanoclaw_default,
|
|
1074
1069
|
acp: acp_default,
|
|
@@ -1076,87 +1071,6 @@ const HARNESSES = {
|
|
|
1076
1071
|
"cli-base": cli_base_default
|
|
1077
1072
|
};
|
|
1078
1073
|
//#endregion
|
|
1079
|
-
|
|
1080
|
-
/**
|
|
1081
|
-
* The native session projection of the per-harness declarations in harness-contracts/. Each entry is
|
|
1082
|
-
* proven by a conformance receipt (tests/harness/receipts) for
|
|
1083
|
-
* its pinned CLI version, or is listed in HARNESS_CONFORMANCE_PENDING.
|
|
1084
|
-
*
|
|
1085
|
-
* CLI versions are the pins in infra/nix (agent-clis.json and flake.nix),
|
|
1086
|
-
* generated into harness-cli-versions.ts by the bump. The registry test
|
|
1087
|
-
* tests/harness-session-contract.test.ts fails when a pin, a contract or an
|
|
1088
|
-
* adapter's source moves without a new receipt.
|
|
1089
|
-
*/
|
|
1090
|
-
const NATIVE_SESSION_CONTRACTS = {
|
|
1091
|
-
"claude-code": HARNESSES["claude-code"].session.contract,
|
|
1092
|
-
codex: HARNESSES["codex"].session.contract,
|
|
1093
|
-
opencode: HARNESSES["opencode"].session.contract,
|
|
1094
|
-
pi: HARNESSES["pi"].session.contract,
|
|
1095
|
-
"kimi-code": HARNESSES["kimi-code"].session.contract,
|
|
1096
|
-
"factory-droids": HARNESSES["factory-droids"].session.contract,
|
|
1097
|
-
amp: HARNESSES["amp"].session.contract,
|
|
1098
|
-
prime: HARNESSES["prime"].session.contract,
|
|
1099
|
-
hermes: HARNESSES["hermes"].session.contract,
|
|
1100
|
-
forge: HARNESSES["forge"].session.contract,
|
|
1101
|
-
openclaw: HARNESSES["openclaw"].session.contract,
|
|
1102
|
-
acp: HARNESSES["acp"].session.contract
|
|
1103
|
-
};
|
|
1104
|
-
const HOME_KEYED_RUNTIMES = new Set(["opencode"]);
|
|
1105
|
-
/**
|
|
1106
|
-
* The child environment of a harness whose contract can move every native
|
|
1107
|
-
* store off HOME, or undefined when it cannot.
|
|
1108
|
-
*
|
|
1109
|
-
* HOME becomes the shared agent home, so toolchains and repos the agent puts
|
|
1110
|
-
* under ~ persist across sessions and restarts. Each declared store env and
|
|
1111
|
-
* the XDG roots stay in the private runtime home, so credentials, config and
|
|
1112
|
-
* session records do not collide between sessions. A harness whose contract
|
|
1113
|
-
* declares no store env (kimi-code, factory-droids, forge, openclaw, acp,
|
|
1114
|
-
* prime) writes credentials straight under HOME and keeps the private HOME.
|
|
1115
|
-
* So does OpenCode: its warm-server pool, spare adoption, plugin dependencies
|
|
1116
|
-
* and correlation file all use HOME as the session's runtime identity, and a
|
|
1117
|
-
* shared HOME would merge those identities across sessions.
|
|
1118
|
-
*/
|
|
1119
|
-
function configDirHomeEnv(harness, runtimeHome, agentHome) {
|
|
1120
|
-
const contract = NATIVE_SESSION_CONTRACTS[harness];
|
|
1121
|
-
const stores = Object.entries(contract?.storeEnv ?? {}).filter(([name]) => !name.startsWith("--"));
|
|
1122
|
-
if (stores.length === 0 || HOME_KEYED_RUNTIMES.has(harness)) return void 0;
|
|
1123
|
-
const home = runtimeHome.replace(/\/+$/u, "");
|
|
1124
|
-
return {
|
|
1125
|
-
HOME: agentHome,
|
|
1126
|
-
XDG_CONFIG_HOME: `${home}/.config`,
|
|
1127
|
-
XDG_CACHE_HOME: `${home}/.cache`,
|
|
1128
|
-
XDG_DATA_HOME: `${home}/.local/share`,
|
|
1129
|
-
XDG_STATE_HOME: `${home}/.local/state`,
|
|
1130
|
-
...Object.fromEntries(stores.map(([name, relative]) => [name, `${home}/${relative}`]))
|
|
1131
|
-
};
|
|
1132
|
-
}
|
|
1133
|
-
/**
|
|
1134
|
-
* Harnesses whose declared contract has no conformance receipt yet, with
|
|
1135
|
-
* the reason. They keep running with persistence-disabling flags refused,
|
|
1136
|
-
* but the store-location and identity-deadline checks wait for their
|
|
1137
|
-
* receipt. This list may only shrink: tests/harness-session-contract.test.ts
|
|
1138
|
-
* fails on a new entry, and on an entry whose receipt now passes.
|
|
1139
|
-
*/
|
|
1140
|
-
const HARNESS_CONFORMANCE_PENDING = {
|
|
1141
|
-
"kimi-code": HARNESSES["kimi-code"].session.defect.reason,
|
|
1142
|
-
"factory-droids": HARNESSES["factory-droids"].session.defect.reason,
|
|
1143
|
-
amp: HARNESSES["amp"].session.defect.reason,
|
|
1144
|
-
prime: HARNESSES["prime"].session.defect.reason,
|
|
1145
|
-
hermes: HARNESSES["hermes"].session.defect.reason,
|
|
1146
|
-
forge: HARNESSES["forge"].session.defect.reason,
|
|
1147
|
-
openclaw: HARNESSES["openclaw"].session.defect.reason,
|
|
1148
|
-
acp: HARNESSES["acp"].session.defect.reason
|
|
1149
|
-
};
|
|
1150
|
-
/**
|
|
1151
|
-
* Harnesses that cannot meet the contract at all. They stay listed until
|
|
1152
|
-
* their product surfaces (sandbox web launch list, CLI connect, SDK
|
|
1153
|
-
* placement) drop them, and no capture claims their sessions.
|
|
1154
|
-
*/
|
|
1155
|
-
const HARNESS_SESSION_UNSUPPORTED = {
|
|
1156
|
-
nanoclaw: HARNESSES["nanoclaw"].session.defect.reason,
|
|
1157
|
-
cursor: HARNESSES["cursor"].session.defect.reason
|
|
1158
|
-
};
|
|
1159
|
-
//#endregion
|
|
1160
|
-
export { HARNESSES as a, configDirHomeEnv as i, HARNESS_SESSION_UNSUPPORTED as n, HARNESS_WARM_TRANSPORT_ENV as o, NATIVE_SESSION_CONTRACTS as r, HARNESS_CONFORMANCE_PENDING as t };
|
|
1074
|
+
export { HARNESS_WARM_TRANSPORT_ENV as n, HARNESSES as t };
|
|
1161
1075
|
|
|
1162
|
-
//# sourceMappingURL=
|
|
1076
|
+
//# sourceMappingURL=harness-contracts-BZoECCMc.mjs.map
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { o as CliAgentEnvVars } from "./spec-CcvTM7-j.mjs";
|
|
2
|
+
import { o as NativeSessionStore } from "./session-contract-BhzcbPRW.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/host-contracts.d.ts
|
|
5
|
+
type HostStore = Omit<NativeSessionStore, "format"> & {
|
|
6
|
+
format: string; /** Override for this store's base directory, before appending its root suffix. */
|
|
7
|
+
env?: string; /** Lower-priority XDG base, used only when env is unset. */
|
|
8
|
+
xdg?: {
|
|
9
|
+
env: string;
|
|
10
|
+
suffix: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
type HostContract = {
|
|
14
|
+
envVars: CliAgentEnvVars & {
|
|
15
|
+
providers?: Record<string, string>;
|
|
16
|
+
};
|
|
17
|
+
session: {
|
|
18
|
+
stores: readonly HostStore[];
|
|
19
|
+
storeEnv: Readonly<Record<string, string>>;
|
|
20
|
+
cliVersion: string;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
/** JSON-compatible projection of the owners' declarations, consumed without Node. */
|
|
24
|
+
declare const HOST_CONTRACTS: {
|
|
25
|
+
schema: 1;
|
|
26
|
+
harnesses: Record<string, HostContract>;
|
|
27
|
+
};
|
|
28
|
+
//#endregion
|
|
29
|
+
export { HOST_CONTRACTS };
|
|
30
|
+
//# sourceMappingURL=host-contracts.d.mts.map
|