@indigoai-us/hq-cloud 6.11.15 → 6.11.17
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/.github/workflows/publish.yml +20 -64
- package/dist/agent-codex-instructions.d.ts +84 -0
- package/dist/agent-codex-instructions.d.ts.map +1 -0
- package/dist/agent-codex-instructions.js +275 -0
- package/dist/agent-codex-instructions.js.map +1 -0
- package/dist/agent-codex-instructions.test.d.ts +2 -0
- package/dist/agent-codex-instructions.test.d.ts.map +1 -0
- package/dist/agent-codex-instructions.test.js +271 -0
- package/dist/agent-codex-instructions.test.js.map +1 -0
- package/dist/bin/sync-runner-planning.d.ts +11 -0
- package/dist/bin/sync-runner-planning.d.ts.map +1 -1
- package/dist/bin/sync-runner-planning.js +19 -2
- package/dist/bin/sync-runner-planning.js.map +1 -1
- package/dist/bin/sync-runner.d.ts +11 -0
- package/dist/bin/sync-runner.d.ts.map +1 -1
- package/dist/bin/sync-runner.js +39 -0
- package/dist/bin/sync-runner.js.map +1 -1
- package/dist/bin/sync-runner.test.js +328 -0
- package/dist/bin/sync-runner.test.js.map +1 -1
- package/dist/cli/sync.js +12 -1
- package/dist/cli/sync.js.map +1 -1
- package/dist/cli/sync.test.js +44 -0
- package/dist/cli/sync.test.js.map +1 -1
- package/dist/context.d.ts +8 -2
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +16 -6
- package/dist/context.js.map +1 -1
- package/dist/skill-telemetry.d.ts +15 -0
- package/dist/skill-telemetry.d.ts.map +1 -1
- package/dist/skill-telemetry.js +34 -3
- package/dist/skill-telemetry.js.map +1 -1
- package/dist/skill-telemetry.test.js +75 -1
- package/dist/skill-telemetry.test.js.map +1 -1
- package/dist/vault-client.d.ts +16 -0
- package/dist/vault-client.d.ts.map +1 -1
- package/dist/vault-client.js +21 -0
- package/dist/vault-client.js.map +1 -1
- package/package.json +1 -1
- package/src/agent-codex-instructions.test.ts +332 -0
- package/src/agent-codex-instructions.ts +309 -0
- package/src/bin/sync-runner-planning.ts +34 -2
- package/src/bin/sync-runner.test.ts +413 -0
- package/src/bin/sync-runner.ts +53 -0
- package/src/cli/sync.test.ts +53 -0
- package/src/cli/sync.ts +14 -1
- package/src/context.ts +17 -6
- package/src/skill-telemetry.test.ts +94 -0
- package/src/skill-telemetry.ts +51 -3
- package/src/vault-client.ts +24 -0
package/dist/vault-client.js
CHANGED
|
@@ -44,6 +44,27 @@ export class VaultConflictError extends VaultClientError {
|
|
|
44
44
|
this.name = "VaultConflictError";
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Pick the caller's OWN entity for the `--personal` slot when the runner is an
|
|
49
|
+
* agent machine identity (username `machine-agt_*`, idToken
|
|
50
|
+
* `custom:entityType=agent` / `custom:entityUid=agt_*`).
|
|
51
|
+
*
|
|
52
|
+
* The person-only `pickCanonicalPersonEntity` filters `type === "person"`, so
|
|
53
|
+
* an agent's own entity (`type: "agent"`) is dropped and `--personal` for an
|
|
54
|
+
* agent emits `setup-needed` — never reaching the STS vend / S3 read (the
|
|
55
|
+
* US-004 hard-gate finding). This selector resolves the agent's own entity by
|
|
56
|
+
* matching `selfUid` (the `custom:entityUid` claim) against the self-listing
|
|
57
|
+
* the agent sees, so the personal slot resolves to `hq-vault-agt-<uid>`.
|
|
58
|
+
*
|
|
59
|
+
* Returns null when no entity matches the claimed self-uid (the caller then
|
|
60
|
+
* falls back to the person-only pick / `setup-needed`, exactly as before).
|
|
61
|
+
*/
|
|
62
|
+
export function pickAgentSelfEntity(list, selfUid) {
|
|
63
|
+
if (!selfUid)
|
|
64
|
+
return null;
|
|
65
|
+
const own = list.find((e) => e.uid === selfUid && e.type === "agent");
|
|
66
|
+
return own ?? null;
|
|
67
|
+
}
|
|
47
68
|
export function pickCanonicalPersonEntity(list) {
|
|
48
69
|
// Defensive filter — callers today pass `entity.listByType("person")` so this is
|
|
49
70
|
// a no-op, but a future caller passing a mixed list would otherwise silently get
|
package/dist/vault-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault-client.js","sourceRoot":"","sources":["../src/vault-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAGvB;IACA;IAHlB,YACE,OAAe,EACC,UAAkB,EAClB,IAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,eAAU,GAAV,UAAU,CAAQ;QAClB,SAAI,GAAJ,IAAI,CAAS;QAG7B,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,gBAAgB;IAClD,YAAY,OAAO,GAAG,oDAAoD;QACxE,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,0BAA2B,SAAQ,gBAAgB;IAC9D,YAAY,OAAO,GAAG,yCAAyC;QAC7D,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IACtD,YAAY,OAAO,GAAG,oBAAoB;QACxC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IACtD,YAAY,OAAO,GAAG,4DAA4D;QAChF,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AA+DD,MAAM,UAAU,yBAAyB,CACvC,IAAkB;IAElB,iFAAiF;IACjF,iFAAiF;IACjF,4BAA4B;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IACxD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACxC,MAAM,EAAE,GAAI,CAAC,CAAC,SAAgC,IAAI,EAAE,CAAC;QACrD,MAAM,EAAE,GAAI,CAAC,CAAC,SAAgC,IAAI,EAAE,CAAC;QACrD,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AA6SD,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B,SAAS,WAAW,CAAC,MAAc;IACjC,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,IAAI,GAAG,CAAC;AACzC,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,EAAU;IAC7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAQD,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAC3E,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AACxE,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AACjE,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AACvE,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzD,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC3D,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AACrD,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;AAEjF,4EAA4E;AAC5E,gFAAgF;AAChF,MAAM,gBAAgB,GAAG,CAAC;KACvB,MAAM,CAAC;IACN,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,IAAI,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACrC,MAAM,EAAE,sBAAsB,CAAC,QAAQ,EAAE;IACzC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC;KACD,KAAK,EAAgD,CAAC;AAEzD,MAAM,gBAAgB,GAAG,CAAC;KACvB,MAAM,CAAC;IACN,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC;KACD,KAAK,EAAgD,CAAC;AAEzD,MAAM,0BAA0B,GAA8C,CAAC;KAC5E,MAAM,CAAC;IACN,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,mBAAmB,GAAuC,CAAC;KAC9D,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,UAAU,EAAE,qBAAqB;IACjC,MAAM,EAAE,iBAAiB;CAC1B,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,uBAAuB,GAA2C,CAAC;KACtE,MAAM,CAAC;IACN,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,UAAU,EAAE,qBAAqB;CAClC,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,sBAAsB,GAA0C,CAAC;KACpE,MAAM,CAAC;IACN,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,EAAE,EAAE,eAAe;IACnB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,0BAA0B,GAA8C,CAAC;KAC5E,MAAM,CAAC;IACN,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,QAAQ,EAAE,cAAc;IACxB,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3C,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,qBAAqB,GAAyC,CAAC;KAClE,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,oBAAoB,GAA6C,CAAC;KACrE,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;CACzB,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,4BAA4B,GAChC,CAAC;KACE,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CAC/C,CAAC;KACD,KAAK,EAAE,CAAC;AAEb,MAAM,uBAAuB,GAA2C,CAAC;KACtE,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;IACf,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,KAAK,CACd,CAAC;SACE,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC;SACD,KAAK,EAAE,CACX;CACF,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,0BAA0B,GAA4C,CAAC;KAC1E,MAAM,CAAC;IACN,UAAU,EAAE,gBAAgB;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;CACxB,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,0BAA0B,GAA4C,CAAC;KAC1E,MAAM,CAAC;IACN,UAAU,EAAE,gBAAgB;CAC7B,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,yBAAyB,GAC7B,CAAC;KACE,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;CACvC,CAAC;KACD,KAAK,EAAE,CAAC;AAEb,MAAM,mCAAmC,GAEpC,CAAC;KACH,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE;CACxD,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,qBAAqB,GAAmD,CAAC;KAC5E,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;CACnC,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,wBAAwB,GAC5B,CAAC;KACE,MAAM,CAAC;IACN,UAAU,EAAE,gBAAgB;CAC7B,CAAC;KACD,KAAK,EAAE,CAAC;AAEb,MAAM,qBAAqB,GAAmD,CAAC;KAC5E,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;CACnC,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,4BAA4B,GAG7B,CAAC;KACH,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE;IAC/C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,uBAAuB,GAIxB,CAAC;KACH,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACrD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3C,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACtC,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,qBAAqB,GAGtB,CAAC;KACH,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,oBAAoB,GAAgD,CAAC;KACxE,MAAM,CAAC;IACN,MAAM,EAAE,gBAAgB;CACzB,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,yBAAyB,GAG1B,CAAC;KACH,MAAM,CAAC;IACN,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7C,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,0BAA0B,GAA4C,CAAC;KAC1E,MAAM,CAAC;IACN,MAAM,EAAE,gBAAgB;CACzB,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,sBAAsB,GAC1B,CAAC;KACE,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE;CAC/C,CAAC;KACD,KAAK,EAAE,CAAC;AAEb,MAAM,6BAA6B,GAG9B,CAAC;KACH,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,kBAAkB,GAAoC,CAAC;KAC1D,MAAM,CAAC;IACN,WAAW,EAAE,qBAAqB;IAClC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1B,UAAU,EAAE,oBAAoB;IAChC,OAAO,EAAE,iBAAiB;IAC1B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,qBAAqB,GAGtB,CAAC;KACH,MAAM,CAAC;IACN,WAAW,EAAE,oBAAoB;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,uBAAuB,GAAyC,CAAC;KACpE,MAAM,CAAC;IACN,WAAW,EAAE,oBAAoB;IACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;AAEvD,SAAS,kBAAkB,CAAC,MAAmC;IAC7D,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACrE,OAAO,GAAG,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IACrC,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,MAAM,OAAO,WAAW;IACL,MAAM,CAAS;IACf,YAAY,CAAwB;IACpC,UAAU,CAAyB;IAEpD,YAAY,MAA0B;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAChD,yEAAyE;QACzE,0EAA0E;QAC1E,uEAAuE;QACvE,qEAAqE;QACrE,uEAAuE;QACvE,4DAA4D;QAC5D,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC;QAC7B,IAAI,CAAC,YAAY;YACf,OAAO,GAAG,KAAK,UAAU;gBACvB,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,EAAE;gBACnB,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACtC,CAAC;IAED,4EAA4E;IAE5E,KAAK,CAAC,YAAY,CAAC,KAAwB;QACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAC1B,oBAAoB,EACpB,KAAK,EACL,0BAA0B,CAC3B,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,SAAiB;QACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAC1B,oBAAoB,EACpB,EAAE,KAAK,EAAE,SAAS,EAAE,EACpB,0BAA0B,CAC3B,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CAAC,aAAqB,EAAE,UAAkB;QAC9D,MAAM,IAAI,CAAC,IAAI,CACb,oBAAoB,EACpB,EAAE,aAAa,EAAE,UAAU,EAAE,EAC7B,yBAAyB,CAC1B,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,2BAA2B;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CACzB,8BAA8B,EAC9B,mCAAmC,CACpC,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,0BAA0B,CAAC,SAAiB;QAChD,MAAM,IAAI,CAAC,IAAI,CACb,4BAA4B,EAC5B,EAAE,SAAS,EAAE,EACb,yBAAyB,CAC1B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,UAAkB;QAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CACzB,uBAAuB,kBAAkB,CAAC,UAAU,CAAC,EAAE,EACvD,qBAAqB,CACtB,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAsB;QACrC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAC1B,kBAAkB,EAClB,KAAK,EACL,wBAAwB,CACzB,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,UAAkB;QACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CACzB,uBAAuB,kBAAkB,CAAC,UAAU,CAAC,UAAU,EAC/D,qBAAqB,CACtB,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,2EAA2E;IAE3E;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,oBAAoB,CAAC,UAAkB;QAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CACzB,4BAA4B,kBAAkB,CAAC,UAAU,CAAC,EAAE,EAC5D,4BAA4B,CAC7B,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,2EAA2E;IAE3E;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CACb,UAAkB,EAClB,MAAe,EACf,MAAe;QAMf,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;QACxD,IAAI,MAAM;YAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,MAAM;YAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CACzB,kBAAkB,EAAE,CAAC,QAAQ,EAAE,EAAE,EACjC,uBAAuB,CACxB,CAAC;QACF,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,KAKb;QACC,OAAO,IAAI,CAAC,IAAI,CACd,mBAAmB,EACnB;YACE,OAAO,EAAE,KAAK,CAAC,UAAU;YACzB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,EACD,qBAAqB,CACtB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,uBAAuB,CAC3B,YAAoB;QAEpB,OAAO,IAAI,CAAC,GAAG,CACb,mBAAmB,kBAAkB,CAAC,YAAY,CAAC,cAAc,EACjE,0BAA0B,CAC3B,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,uBAAuB,CAC3B,YAAoB,EACpB,OAAqC;QAErC,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,mBAAmB,kBAAkB,CAAC,YAAY,CAAC,cAAc,EACjE,OAAO,EACP,0BAA0B,CAC3B,CAAC;IACJ,CAAC;IAED,4EAA4E;IAEnE,MAAM,GAAG;QAChB,GAAG,EAAE,KAAK,EAAE,GAAW,EAAuB,EAAE;YAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CACzB,WAAW,kBAAkB,CAAC,GAAG,CAAC,EAAE,EACpC,oBAAoB,CACrB,CAAC;YACF,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED;;;;;;;;;;WAUG;QACH,UAAU,EAAE,KAAK,EAAE,IAAY,EAAE,IAAY,EAAuB,EAAE;YACpE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CACzB,mBAAmB,kBAAkB,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,EACzE,oBAAoB,CACrB,CAAC;YACF,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED;;;;;;;;;;;WAWG;QACH,iBAAiB,EAAE,KAAK,EACtB,IAAY,EACZ,IAAY,EACgB,EAAE;YAC9B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAC1B,8BAA8B,kBAAkB,CAAC,IAAI,CAAC,SAAS,kBAAkB,CAAC,IAAI,CAAC,EAAE,EACzF,yBAAyB,CAC1B,CAAC;YACF,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,qBAAqB;gBAAE,OAAO,IAAI,CAAC;YACjE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,KAAwB,EAAuB,EAAE;YAC9D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,0BAA0B,CAAC,CAAC;YAC3E,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,yEAAyE;QACzE,UAAU,EAAE,KAAK,EAAE,IAAY,EAAyB,EAAE;YACxD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CACzB,mBAAmB,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAC7C,sBAAsB,CACvB,CAAC;YACF,OAAO,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC7B,CAAC;KACF,CAAC;IAEF,4EAA4E;IAE5E;;;;;;;;;;OAUG;IACH,KAAK,CAAC,oBAAoB,CAAC,KAG1B;QACC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAE/B,MAAM,IAAI,GACR,KAAK,CAAC,WAAW;aACd,WAAW,EAAE;aACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;aAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;aACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAEtE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YACxB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,KAAK,CAAC,WAAW;YACvB,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED,+EAA+E;IAE/E,KAAK,CAAC,eAAe,CAAC,UAAkB;QACtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAC1B,mBAAmB,EACnB,EAAE,UAAU,EAAE,EACd,6BAA6B,CAC9B,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4EAA4E;IAE5E;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,IAAI,CAAC,KAAgB;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;IACvD,CAAC;IAED,4EAA4E;IAEnE,GAAG,GAAG;QACb;;;;;;;;;;WAUG;QACH,IAAI,EAAE,KAAK,EAAE,KAGZ,EAOE,EAAE;YACH,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC;QAC9D,CAAC;QACD;;;;;;;;;;;;WAYG;QACH,SAAS,EAAE,KAAK,EAAE,KAAqB,EAA4B,EAAE;YACnE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,uBAAuB,CAAC,CAAC;YAChF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,QAAQ,EAAE,KAAK,EAAE,KAAsD,EAGpE,EAAE;YACH,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC;QACnE,CAAC;KACF,CAAC;IAEF,4EAA4E;IAC5E,EAAE;IACF,qEAAqE;IACrE,8EAA8E;IAC9E,mEAAmE;IACnE,8EAA8E;IAC9E,wEAAwE;IAExE;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,4BAA4B,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,CAAC,KAAiB;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,uBAAuB,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,oBAAoB,CACxB,KAA2B;QAE3B,OAAO,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,EAAE,uBAAuB,CAAC,CAAC;IAC5E,CAAC;IAED,4EAA4E;IAEpE,KAAK,CAAC,GAAG,CAAI,IAAY,EAAE,MAA8B;QAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IAEO,KAAK,CAAC,IAAI,CAChB,IAAY,EACZ,IAAyB,EACzB,MAA8B;QAE9B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,MAAc,EACd,IAAY,EACZ,IAAa,EACb,MAA8B;QAE9B,IAAI,SAA4B,CAAC;QAEjC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACxD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;gBACvD,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;YAED,MAAM,OAAO,GAA2B;gBACtC,aAAa,EAAE,UAAU,MAAM,IAAI,CAAC,YAAY,EAAE,EAAE;gBACpD,MAAM,EAAE,kBAAkB;gBAC1B,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;aACvC,CAAC;YAEF,MAAM,IAAI,GAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAE9C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;gBAC7C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;YAED,IAAI,GAAa,CAAC;YAClB,IAAI,CAAC;gBACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,SAAS,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChE,IAAI,OAAO,GAAG,WAAW;oBAAE,SAAS;gBACpC,MAAM,SAAS,CAAC;YAClB,CAAC;YAED,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;gBACX,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;oBAAE,OAAO,SAAc,CAAC;gBAC9C,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBACtC,IAAI,OAAgB,CAAC;gBACrB,IAAI,CAAC;oBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACrC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,IAAI,gBAAgB,CACxB,gDAAgD,MAAM,IAAI,IAAI,EAAE,EAChE,GAAG,EACH,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAClD,CAAC;gBACJ,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,IAAI,gBAAgB,CACxB,2CAA2C,MAAM,IAAI,IAAI,KAAK,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EACvG,GAAG,EACH,YAAY,CACb,CAAC;gBACJ,CAAC;gBAED,OAAO,MAAM,CAAC,IAAI,CAAC;YACrB,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAEtC,2CAA2C;YAC3C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAChD,CAAC;YAED,6BAA6B;YAC7B,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,SAAS,IAAI,IAAI,gBAAgB,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;IAC/E,CAAC;IAEO,QAAQ,CAAC,MAAc,EAAE,IAAY;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAE1C,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,GAAG;gBACN,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;YACrC,KAAK,GAAG;gBACN,OAAO,IAAI,0BAA0B,CAAC,OAAO,CAAC,CAAC;YACjD,KAAK,GAAG;gBACN,OAAO,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACzC,KAAK,GAAG;gBACN,OAAO,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACzC;gBACE,OAAO,IAAI,gBAAgB,CAAC,OAAO,IAAI,8BAA8B,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,IAAY;QACjC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAyC,CAAC;YACxE,OAAO,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"vault-client.js","sourceRoot":"","sources":["../src/vault-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAGvB;IACA;IAHlB,YACE,OAAe,EACC,UAAkB,EAClB,IAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,eAAU,GAAV,UAAU,CAAQ;QAClB,SAAI,GAAJ,IAAI,CAAS;QAG7B,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,gBAAgB;IAClD,YAAY,OAAO,GAAG,oDAAoD;QACxE,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,0BAA2B,SAAQ,gBAAgB;IAC9D,YAAY,OAAO,GAAG,yCAAyC;QAC7D,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IACtD,YAAY,OAAO,GAAG,oBAAoB;QACxC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IACtD,YAAY,OAAO,GAAG,4DAA4D;QAChF,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AA+DD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAkB,EAClB,OAAe;IAEf,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IACtE,OAAO,GAAG,IAAI,IAAI,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,IAAkB;IAElB,iFAAiF;IACjF,iFAAiF;IACjF,4BAA4B;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IACxD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACxC,MAAM,EAAE,GAAI,CAAC,CAAC,SAAgC,IAAI,EAAE,CAAC;QACrD,MAAM,EAAE,GAAI,CAAC,CAAC,SAAgC,IAAI,EAAE,CAAC;QACrD,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AA6SD,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B,SAAS,WAAW,CAAC,MAAc;IACjC,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,IAAI,GAAG,CAAC;AACzC,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,EAAU;IAC7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAQD,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAC3E,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AACxE,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AACjE,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AACvE,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzD,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC3D,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AACrD,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;AAEjF,4EAA4E;AAC5E,gFAAgF;AAChF,MAAM,gBAAgB,GAAG,CAAC;KACvB,MAAM,CAAC;IACN,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,IAAI,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACrC,MAAM,EAAE,sBAAsB,CAAC,QAAQ,EAAE;IACzC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC;KACD,KAAK,EAAgD,CAAC;AAEzD,MAAM,gBAAgB,GAAG,CAAC;KACvB,MAAM,CAAC;IACN,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC;KACD,KAAK,EAAgD,CAAC;AAEzD,MAAM,0BAA0B,GAA8C,CAAC;KAC5E,MAAM,CAAC;IACN,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,mBAAmB,GAAuC,CAAC;KAC9D,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,UAAU,EAAE,qBAAqB;IACjC,MAAM,EAAE,iBAAiB;CAC1B,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,uBAAuB,GAA2C,CAAC;KACtE,MAAM,CAAC;IACN,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,UAAU,EAAE,qBAAqB;CAClC,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,sBAAsB,GAA0C,CAAC;KACpE,MAAM,CAAC;IACN,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,EAAE,EAAE,eAAe;IACnB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,0BAA0B,GAA8C,CAAC;KAC5E,MAAM,CAAC;IACN,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,QAAQ,EAAE,cAAc;IACxB,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3C,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,qBAAqB,GAAyC,CAAC;KAClE,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,oBAAoB,GAA6C,CAAC;KACrE,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;CACzB,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,4BAA4B,GAChC,CAAC;KACE,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CAC/C,CAAC;KACD,KAAK,EAAE,CAAC;AAEb,MAAM,uBAAuB,GAA2C,CAAC;KACtE,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;IACf,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,KAAK,CACd,CAAC;SACE,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC;SACD,KAAK,EAAE,CACX;CACF,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,0BAA0B,GAA4C,CAAC;KAC1E,MAAM,CAAC;IACN,UAAU,EAAE,gBAAgB;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;CACxB,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,0BAA0B,GAA4C,CAAC;KAC1E,MAAM,CAAC;IACN,UAAU,EAAE,gBAAgB;CAC7B,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,yBAAyB,GAC7B,CAAC;KACE,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;CACvC,CAAC;KACD,KAAK,EAAE,CAAC;AAEb,MAAM,mCAAmC,GAEpC,CAAC;KACH,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE;CACxD,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,qBAAqB,GAAmD,CAAC;KAC5E,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;CACnC,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,wBAAwB,GAC5B,CAAC;KACE,MAAM,CAAC;IACN,UAAU,EAAE,gBAAgB;CAC7B,CAAC;KACD,KAAK,EAAE,CAAC;AAEb,MAAM,qBAAqB,GAAmD,CAAC;KAC5E,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;CACnC,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,4BAA4B,GAG7B,CAAC;KACH,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE;IAC/C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,uBAAuB,GAIxB,CAAC;KACH,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACrD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3C,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACtC,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,qBAAqB,GAGtB,CAAC;KACH,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,oBAAoB,GAAgD,CAAC;KACxE,MAAM,CAAC;IACN,MAAM,EAAE,gBAAgB;CACzB,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,yBAAyB,GAG1B,CAAC;KACH,MAAM,CAAC;IACN,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7C,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,0BAA0B,GAA4C,CAAC;KAC1E,MAAM,CAAC;IACN,MAAM,EAAE,gBAAgB;CACzB,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,sBAAsB,GAC1B,CAAC;KACE,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE;CAC/C,CAAC;KACD,KAAK,EAAE,CAAC;AAEb,MAAM,6BAA6B,GAG9B,CAAC;KACH,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,kBAAkB,GAAoC,CAAC;KAC1D,MAAM,CAAC;IACN,WAAW,EAAE,qBAAqB;IAClC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1B,UAAU,EAAE,oBAAoB;IAChC,OAAO,EAAE,iBAAiB;IAC1B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,qBAAqB,GAGtB,CAAC;KACH,MAAM,CAAC;IACN,WAAW,EAAE,oBAAoB;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,uBAAuB,GAAyC,CAAC;KACpE,MAAM,CAAC;IACN,WAAW,EAAE,oBAAoB;IACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;AAEvD,SAAS,kBAAkB,CAAC,MAAmC;IAC7D,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACrE,OAAO,GAAG,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IACrC,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,MAAM,OAAO,WAAW;IACL,MAAM,CAAS;IACf,YAAY,CAAwB;IACpC,UAAU,CAAyB;IAEpD,YAAY,MAA0B;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAChD,yEAAyE;QACzE,0EAA0E;QAC1E,uEAAuE;QACvE,qEAAqE;QACrE,uEAAuE;QACvE,4DAA4D;QAC5D,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC;QAC7B,IAAI,CAAC,YAAY;YACf,OAAO,GAAG,KAAK,UAAU;gBACvB,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,EAAE;gBACnB,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACtC,CAAC;IAED,4EAA4E;IAE5E,KAAK,CAAC,YAAY,CAAC,KAAwB;QACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAC1B,oBAAoB,EACpB,KAAK,EACL,0BAA0B,CAC3B,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,SAAiB;QACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAC1B,oBAAoB,EACpB,EAAE,KAAK,EAAE,SAAS,EAAE,EACpB,0BAA0B,CAC3B,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CAAC,aAAqB,EAAE,UAAkB;QAC9D,MAAM,IAAI,CAAC,IAAI,CACb,oBAAoB,EACpB,EAAE,aAAa,EAAE,UAAU,EAAE,EAC7B,yBAAyB,CAC1B,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,2BAA2B;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CACzB,8BAA8B,EAC9B,mCAAmC,CACpC,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,0BAA0B,CAAC,SAAiB;QAChD,MAAM,IAAI,CAAC,IAAI,CACb,4BAA4B,EAC5B,EAAE,SAAS,EAAE,EACb,yBAAyB,CAC1B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,UAAkB;QAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CACzB,uBAAuB,kBAAkB,CAAC,UAAU,CAAC,EAAE,EACvD,qBAAqB,CACtB,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAsB;QACrC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAC1B,kBAAkB,EAClB,KAAK,EACL,wBAAwB,CACzB,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,UAAkB;QACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CACzB,uBAAuB,kBAAkB,CAAC,UAAU,CAAC,UAAU,EAC/D,qBAAqB,CACtB,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,2EAA2E;IAE3E;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,oBAAoB,CAAC,UAAkB;QAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CACzB,4BAA4B,kBAAkB,CAAC,UAAU,CAAC,EAAE,EAC5D,4BAA4B,CAC7B,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,2EAA2E;IAE3E;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CACb,UAAkB,EAClB,MAAe,EACf,MAAe;QAMf,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;QACxD,IAAI,MAAM;YAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,MAAM;YAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CACzB,kBAAkB,EAAE,CAAC,QAAQ,EAAE,EAAE,EACjC,uBAAuB,CACxB,CAAC;QACF,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,KAKb;QACC,OAAO,IAAI,CAAC,IAAI,CACd,mBAAmB,EACnB;YACE,OAAO,EAAE,KAAK,CAAC,UAAU;YACzB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,EACD,qBAAqB,CACtB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,uBAAuB,CAC3B,YAAoB;QAEpB,OAAO,IAAI,CAAC,GAAG,CACb,mBAAmB,kBAAkB,CAAC,YAAY,CAAC,cAAc,EACjE,0BAA0B,CAC3B,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,uBAAuB,CAC3B,YAAoB,EACpB,OAAqC;QAErC,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,mBAAmB,kBAAkB,CAAC,YAAY,CAAC,cAAc,EACjE,OAAO,EACP,0BAA0B,CAC3B,CAAC;IACJ,CAAC;IAED,4EAA4E;IAEnE,MAAM,GAAG;QAChB,GAAG,EAAE,KAAK,EAAE,GAAW,EAAuB,EAAE;YAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CACzB,WAAW,kBAAkB,CAAC,GAAG,CAAC,EAAE,EACpC,oBAAoB,CACrB,CAAC;YACF,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED;;;;;;;;;;WAUG;QACH,UAAU,EAAE,KAAK,EAAE,IAAY,EAAE,IAAY,EAAuB,EAAE;YACpE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CACzB,mBAAmB,kBAAkB,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,EACzE,oBAAoB,CACrB,CAAC;YACF,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED;;;;;;;;;;;WAWG;QACH,iBAAiB,EAAE,KAAK,EACtB,IAAY,EACZ,IAAY,EACgB,EAAE;YAC9B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAC1B,8BAA8B,kBAAkB,CAAC,IAAI,CAAC,SAAS,kBAAkB,CAAC,IAAI,CAAC,EAAE,EACzF,yBAAyB,CAC1B,CAAC;YACF,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,qBAAqB;gBAAE,OAAO,IAAI,CAAC;YACjE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,KAAwB,EAAuB,EAAE;YAC9D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,0BAA0B,CAAC,CAAC;YAC3E,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,yEAAyE;QACzE,UAAU,EAAE,KAAK,EAAE,IAAY,EAAyB,EAAE;YACxD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CACzB,mBAAmB,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAC7C,sBAAsB,CACvB,CAAC;YACF,OAAO,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC7B,CAAC;KACF,CAAC;IAEF,4EAA4E;IAE5E;;;;;;;;;;OAUG;IACH,KAAK,CAAC,oBAAoB,CAAC,KAG1B;QACC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAE/B,MAAM,IAAI,GACR,KAAK,CAAC,WAAW;aACd,WAAW,EAAE;aACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;aAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;aACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAEtE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YACxB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,KAAK,CAAC,WAAW;YACvB,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED,+EAA+E;IAE/E,KAAK,CAAC,eAAe,CAAC,UAAkB;QACtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAC1B,mBAAmB,EACnB,EAAE,UAAU,EAAE,EACd,6BAA6B,CAC9B,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4EAA4E;IAE5E;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,IAAI,CAAC,KAAgB;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;IACvD,CAAC;IAED,4EAA4E;IAEnE,GAAG,GAAG;QACb;;;;;;;;;;WAUG;QACH,IAAI,EAAE,KAAK,EAAE,KAGZ,EAOE,EAAE;YACH,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC;QAC9D,CAAC;QACD;;;;;;;;;;;;WAYG;QACH,SAAS,EAAE,KAAK,EAAE,KAAqB,EAA4B,EAAE;YACnE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,uBAAuB,CAAC,CAAC;YAChF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,QAAQ,EAAE,KAAK,EAAE,KAAsD,EAGpE,EAAE;YACH,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC;QACnE,CAAC;KACF,CAAC;IAEF,4EAA4E;IAC5E,EAAE;IACF,qEAAqE;IACrE,8EAA8E;IAC9E,mEAAmE;IACnE,8EAA8E;IAC9E,wEAAwE;IAExE;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,4BAA4B,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,CAAC,KAAiB;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,uBAAuB,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,oBAAoB,CACxB,KAA2B;QAE3B,OAAO,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,EAAE,uBAAuB,CAAC,CAAC;IAC5E,CAAC;IAED,4EAA4E;IAEpE,KAAK,CAAC,GAAG,CAAI,IAAY,EAAE,MAA8B;QAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IAEO,KAAK,CAAC,IAAI,CAChB,IAAY,EACZ,IAAyB,EACzB,MAA8B;QAE9B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,MAAc,EACd,IAAY,EACZ,IAAa,EACb,MAA8B;QAE9B,IAAI,SAA4B,CAAC;QAEjC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACxD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;gBACvD,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;YAED,MAAM,OAAO,GAA2B;gBACtC,aAAa,EAAE,UAAU,MAAM,IAAI,CAAC,YAAY,EAAE,EAAE;gBACpD,MAAM,EAAE,kBAAkB;gBAC1B,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;aACvC,CAAC;YAEF,MAAM,IAAI,GAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAE9C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;gBAC7C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;YAED,IAAI,GAAa,CAAC;YAClB,IAAI,CAAC;gBACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,SAAS,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChE,IAAI,OAAO,GAAG,WAAW;oBAAE,SAAS;gBACpC,MAAM,SAAS,CAAC;YAClB,CAAC;YAED,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;gBACX,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;oBAAE,OAAO,SAAc,CAAC;gBAC9C,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBACtC,IAAI,OAAgB,CAAC;gBACrB,IAAI,CAAC;oBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACrC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,IAAI,gBAAgB,CACxB,gDAAgD,MAAM,IAAI,IAAI,EAAE,EAChE,GAAG,EACH,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAClD,CAAC;gBACJ,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,IAAI,gBAAgB,CACxB,2CAA2C,MAAM,IAAI,IAAI,KAAK,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EACvG,GAAG,EACH,YAAY,CACb,CAAC;gBACJ,CAAC;gBAED,OAAO,MAAM,CAAC,IAAI,CAAC;YACrB,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAEtC,2CAA2C;YAC3C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAChD,CAAC;YAED,6BAA6B;YAC7B,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,SAAS,IAAI,IAAI,gBAAgB,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;IAC/E,CAAC;IAEO,QAAQ,CAAC,MAAc,EAAE,IAAY;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAE1C,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,GAAG;gBACN,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;YACrC,KAAK,GAAG;gBACN,OAAO,IAAI,0BAA0B,CAAC,OAAO,CAAC,CAAC;YACjD,KAAK,GAAG;gBACN,OAAO,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACzC,KAAK,GAAG;gBACN,OAAO,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACzC;gBACE,OAAO,IAAI,gBAAgB,CAAC,OAAO,IAAI,8BAA8B,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,IAAY;QACjC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAyC,CAAC;YACxE,OAAO,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach, afterEach, vi } from "vitest";
|
|
2
|
+
import * as fs from "fs";
|
|
3
|
+
import * as os from "os";
|
|
4
|
+
import * as path from "path";
|
|
5
|
+
import {
|
|
6
|
+
composeCodexAgentsMd,
|
|
7
|
+
orderCapabilityFiles,
|
|
8
|
+
gatherCodexAgentSections,
|
|
9
|
+
materializeCodexAgents,
|
|
10
|
+
codexHomeDir,
|
|
11
|
+
CODEX_AGENTS_MARKER,
|
|
12
|
+
AGENT_CONTRACT_FILE,
|
|
13
|
+
AGENTS_PROFILE_REL,
|
|
14
|
+
AGENT_CAPABILITIES_REL,
|
|
15
|
+
type CodexSection,
|
|
16
|
+
} from "./agent-codex-instructions.js";
|
|
17
|
+
|
|
18
|
+
describe("composeCodexAgentsMd (pure)", () => {
|
|
19
|
+
it("returns empty string for no sections", () => {
|
|
20
|
+
expect(composeCodexAgentsMd([])).toBe("");
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
it("returns empty string when every section is whitespace-only", () => {
|
|
24
|
+
const sections: CodexSection[] = [
|
|
25
|
+
{ name: "a", content: " \n\t " },
|
|
26
|
+
{ name: "b", content: "" },
|
|
27
|
+
];
|
|
28
|
+
expect(composeCodexAgentsMd(sections)).toBe("");
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
it("emits the generated marker header then the joined body", () => {
|
|
32
|
+
const out = composeCodexAgentsMd([
|
|
33
|
+
{ name: "profile", content: "I am the agent." },
|
|
34
|
+
{ name: "contract", content: "Build your own tools." },
|
|
35
|
+
]);
|
|
36
|
+
expect(out.startsWith(CODEX_AGENTS_MARKER)).toBe(true);
|
|
37
|
+
expect(out).toContain("I am the agent.");
|
|
38
|
+
expect(out).toContain("Build your own tools.");
|
|
39
|
+
// body sections separated by a blank line, trailing newline
|
|
40
|
+
expect(out).toContain("I am the agent.\n\nBuild your own tools.");
|
|
41
|
+
expect(out.endsWith("\n")).toBe(true);
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
it("trims sections and drops the empty ones", () => {
|
|
45
|
+
const out = composeCodexAgentsMd([
|
|
46
|
+
{ name: "a", content: "\n\n kept \n\n" },
|
|
47
|
+
{ name: "b", content: " " },
|
|
48
|
+
{ name: "c", content: "also" },
|
|
49
|
+
]);
|
|
50
|
+
expect(out).toContain("kept\n\nalso");
|
|
51
|
+
expect(out).not.toMatch(/ {2}kept/);
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
it("is deterministic / carries no timestamp (idempotent bytes)", () => {
|
|
55
|
+
const sections = [{ name: "x", content: "stable" }];
|
|
56
|
+
expect(composeCodexAgentsMd(sections)).toBe(composeCodexAgentsMd(sections));
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
describe("orderCapabilityFiles (pure)", () => {
|
|
61
|
+
it("orders the contract first, then the rest alphabetically", () => {
|
|
62
|
+
expect(
|
|
63
|
+
orderCapabilityFiles(["slack.md", "zeta.md", AGENT_CONTRACT_FILE, "alpha.md"]),
|
|
64
|
+
).toEqual([AGENT_CONTRACT_FILE, "alpha.md", "slack.md", "zeta.md"]);
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
it("drops non-markdown entries", () => {
|
|
68
|
+
expect(
|
|
69
|
+
orderCapabilityFiles([AGENT_CONTRACT_FILE, "_seed-allowlist.yaml", "notes.txt", "x.md"]),
|
|
70
|
+
).toEqual([AGENT_CONTRACT_FILE, "x.md"]);
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
it("handles a missing contract gracefully", () => {
|
|
74
|
+
expect(orderCapabilityFiles(["b.md", "a.md"])).toEqual(["a.md", "b.md"]);
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
describe("gatherCodexAgentSections + materializeCodexAgents (IO)", () => {
|
|
79
|
+
let hqRoot: string;
|
|
80
|
+
let codexHome: string;
|
|
81
|
+
const capDir = () => path.join(hqRoot, AGENT_CAPABILITIES_REL);
|
|
82
|
+
|
|
83
|
+
beforeEach(() => {
|
|
84
|
+
const base = fs.mkdtempSync(path.join(os.tmpdir(), "hq-codex-test-"));
|
|
85
|
+
hqRoot = path.join(base, "hq");
|
|
86
|
+
codexHome = path.join(base, ".codex");
|
|
87
|
+
fs.mkdirSync(capDir(), { recursive: true });
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
afterEach(() => {
|
|
91
|
+
try {
|
|
92
|
+
fs.rmSync(path.dirname(hqRoot), { recursive: true, force: true });
|
|
93
|
+
} catch {
|
|
94
|
+
/* best-effort cleanup */
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
const seedProfile = (s: string) =>
|
|
99
|
+
fs.writeFileSync(path.join(hqRoot, AGENTS_PROFILE_REL), s);
|
|
100
|
+
const seedCap = (name: string, s: string) =>
|
|
101
|
+
fs.writeFileSync(path.join(capDir(), name), s);
|
|
102
|
+
|
|
103
|
+
it("gathers profile + contract + others in the right order", () => {
|
|
104
|
+
fs.mkdirSync(path.join(hqRoot, "personal"), { recursive: true });
|
|
105
|
+
seedProfile("PROFILE briefing");
|
|
106
|
+
seedCap("slack.md", "SLACK doc");
|
|
107
|
+
seedCap(AGENT_CONTRACT_FILE, "CONTRACT body");
|
|
108
|
+
|
|
109
|
+
const sections = gatherCodexAgentSections(hqRoot);
|
|
110
|
+
expect(sections.map((s) => s.name)).toEqual([
|
|
111
|
+
AGENTS_PROFILE_REL,
|
|
112
|
+
`${AGENT_CAPABILITIES_REL}/${AGENT_CONTRACT_FILE}`,
|
|
113
|
+
`${AGENT_CAPABILITIES_REL}/slack.md`,
|
|
114
|
+
]);
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
it("writes ~/.codex/AGENTS.md with contract ahead of other capabilities", () => {
|
|
118
|
+
seedCap(AGENT_CONTRACT_FILE, "CONTRACT body");
|
|
119
|
+
seedCap("slack.md", "SLACK doc");
|
|
120
|
+
|
|
121
|
+
const res = materializeCodexAgents({ hqRoot, codexHome });
|
|
122
|
+
expect(res.written).toBe(true);
|
|
123
|
+
expect(res.sectionCount).toBe(2);
|
|
124
|
+
|
|
125
|
+
const written = fs.readFileSync(path.join(codexHome, "AGENTS.md"), "utf8");
|
|
126
|
+
expect(written.startsWith(CODEX_AGENTS_MARKER)).toBe(true);
|
|
127
|
+
expect(written.indexOf("CONTRACT body")).toBeLessThan(
|
|
128
|
+
written.indexOf("SLACK doc"),
|
|
129
|
+
);
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
it("SKIPS (no write, no delete) when the overlay is empty — never destructive", () => {
|
|
133
|
+
// Pre-existing materialized file from a prior good sync.
|
|
134
|
+
fs.mkdirSync(codexHome, { recursive: true });
|
|
135
|
+
const existing = `${CODEX_AGENTS_MARKER} prior -->\n\nPRIOR CONTENT\n`;
|
|
136
|
+
fs.writeFileSync(path.join(codexHome, "AGENTS.md"), existing);
|
|
137
|
+
|
|
138
|
+
// Overlay is empty (transient unsynced tree).
|
|
139
|
+
const res = materializeCodexAgents({ hqRoot, codexHome });
|
|
140
|
+
expect(res.written).toBe(false);
|
|
141
|
+
expect(res.skippedReason).toBe("empty-overlay");
|
|
142
|
+
// The previously-materialized file is left intact.
|
|
143
|
+
expect(fs.readFileSync(path.join(codexHome, "AGENTS.md"), "utf8")).toBe(
|
|
144
|
+
existing,
|
|
145
|
+
);
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
it("creates the codex home dir if missing", () => {
|
|
149
|
+
seedCap(AGENT_CONTRACT_FILE, "CONTRACT body");
|
|
150
|
+
expect(fs.existsSync(codexHome)).toBe(false);
|
|
151
|
+
const res = materializeCodexAgents({ hqRoot, codexHome });
|
|
152
|
+
expect(res.written).toBe(true);
|
|
153
|
+
expect(fs.existsSync(path.join(codexHome, "AGENTS.md"))).toBe(true);
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
it("is idempotent — two runs produce byte-identical output", () => {
|
|
157
|
+
seedCap(AGENT_CONTRACT_FILE, "CONTRACT body");
|
|
158
|
+
seedCap("slack.md", "SLACK doc");
|
|
159
|
+
materializeCodexAgents({ hqRoot, codexHome });
|
|
160
|
+
const first = fs.readFileSync(path.join(codexHome, "AGENTS.md"), "utf8");
|
|
161
|
+
materializeCodexAgents({ hqRoot, codexHome });
|
|
162
|
+
const second = fs.readFileSync(path.join(codexHome, "AGENTS.md"), "utf8");
|
|
163
|
+
expect(second).toBe(first);
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
it("never throws on an unreadable hq-root (returns error result)", () => {
|
|
167
|
+
const res = materializeCodexAgents({
|
|
168
|
+
hqRoot: path.join(hqRoot, "does-not-exist"),
|
|
169
|
+
codexHome,
|
|
170
|
+
});
|
|
171
|
+
expect(res.written).toBe(false);
|
|
172
|
+
// No capability dir → empty overlay → skip (not a hard error).
|
|
173
|
+
expect(res.skippedReason).toBe("empty-overlay");
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
|
|
177
|
+
describe("materializeCodexAgents — hardening (security + failure modes)", () => {
|
|
178
|
+
let base: string;
|
|
179
|
+
let hqRoot: string;
|
|
180
|
+
let codexHome: string;
|
|
181
|
+
const capDir = () => path.join(hqRoot, AGENT_CAPABILITIES_REL);
|
|
182
|
+
|
|
183
|
+
beforeEach(() => {
|
|
184
|
+
base = fs.mkdtempSync(path.join(os.tmpdir(), "hq-codex-harden-"));
|
|
185
|
+
hqRoot = path.join(base, "hq");
|
|
186
|
+
codexHome = path.join(base, ".codex");
|
|
187
|
+
fs.mkdirSync(capDir(), { recursive: true });
|
|
188
|
+
});
|
|
189
|
+
afterEach(() => {
|
|
190
|
+
vi.restoreAllMocks();
|
|
191
|
+
try {
|
|
192
|
+
fs.rmSync(base, { recursive: true, force: true });
|
|
193
|
+
} catch {
|
|
194
|
+
/* best-effort */
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
|
|
198
|
+
it("does NOT follow a symlinked capability file (no out-of-tree exfiltration)", () => {
|
|
199
|
+
// A secret outside the overlay; a symlink inside capDir pointing at it.
|
|
200
|
+
const secret = path.join(base, "secret.txt");
|
|
201
|
+
fs.writeFileSync(secret, "TOP-SECRET-CREDENTIAL");
|
|
202
|
+
fs.writeFileSync(path.join(capDir(), AGENT_CONTRACT_FILE), "CONTRACT body");
|
|
203
|
+
fs.symlinkSync(secret, path.join(capDir(), "escape.md"));
|
|
204
|
+
|
|
205
|
+
const sections = gatherCodexAgentSections(hqRoot);
|
|
206
|
+
// The symlink is skipped; only the real contract file is gathered.
|
|
207
|
+
expect(sections.map((s) => s.name)).toEqual([
|
|
208
|
+
`${AGENT_CAPABILITIES_REL}/${AGENT_CONTRACT_FILE}`,
|
|
209
|
+
]);
|
|
210
|
+
|
|
211
|
+
const res = materializeCodexAgents({ hqRoot, codexHome });
|
|
212
|
+
const written = fs.readFileSync(path.join(codexHome, "AGENTS.md"), "utf8");
|
|
213
|
+
expect(written).not.toContain("TOP-SECRET-CREDENTIAL");
|
|
214
|
+
expect(res.sectionCount).toBe(1);
|
|
215
|
+
});
|
|
216
|
+
|
|
217
|
+
it("skips a symlinked capability DIR (no descent through a symlinked capDir)", () => {
|
|
218
|
+
// Replace capDir with a symlink to an external dir containing a real .md.
|
|
219
|
+
const external = path.join(base, "external-caps");
|
|
220
|
+
fs.mkdirSync(external, { recursive: true });
|
|
221
|
+
fs.writeFileSync(path.join(external, AGENT_CONTRACT_FILE), "EXTERNAL body");
|
|
222
|
+
fs.rmSync(capDir(), { recursive: true, force: true });
|
|
223
|
+
fs.symlinkSync(external, capDir());
|
|
224
|
+
|
|
225
|
+
const sections = gatherCodexAgentSections(hqRoot);
|
|
226
|
+
expect(sections).toEqual([]);
|
|
227
|
+
});
|
|
228
|
+
|
|
229
|
+
it("refuses to clobber a SYMLINK target (preserves it; distinct skip reason)", () => {
|
|
230
|
+
fs.writeFileSync(path.join(capDir(), AGENT_CONTRACT_FILE), "CONTRACT body");
|
|
231
|
+
fs.mkdirSync(codexHome, { recursive: true });
|
|
232
|
+
const realTarget = path.join(base, "managed-agents.md");
|
|
233
|
+
fs.writeFileSync(realTarget, "MANAGED BY DOTFILES");
|
|
234
|
+
fs.symlinkSync(realTarget, path.join(codexHome, "AGENTS.md"));
|
|
235
|
+
|
|
236
|
+
const res = materializeCodexAgents({ hqRoot, codexHome });
|
|
237
|
+
expect(res.written).toBe(false);
|
|
238
|
+
expect(res.skippedReason).toBe("target-not-regular-file");
|
|
239
|
+
// The symlink is intact and still points at the managed file.
|
|
240
|
+
expect(fs.lstatSync(path.join(codexHome, "AGENTS.md")).isSymbolicLink()).toBe(
|
|
241
|
+
true,
|
|
242
|
+
);
|
|
243
|
+
expect(fs.readFileSync(realTarget, "utf8")).toBe("MANAGED BY DOTFILES");
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
it("refuses when the target is a DIRECTORY (no EISDIR crash, distinct reason)", () => {
|
|
247
|
+
fs.writeFileSync(path.join(capDir(), AGENT_CONTRACT_FILE), "CONTRACT body");
|
|
248
|
+
fs.mkdirSync(path.join(codexHome, "AGENTS.md"), { recursive: true });
|
|
249
|
+
|
|
250
|
+
const res = materializeCodexAgents({ hqRoot, codexHome });
|
|
251
|
+
expect(res.written).toBe(false);
|
|
252
|
+
expect(res.skippedReason).toBe("target-not-regular-file");
|
|
253
|
+
expect(fs.statSync(path.join(codexHome, "AGENTS.md")).isDirectory()).toBe(true);
|
|
254
|
+
});
|
|
255
|
+
|
|
256
|
+
it("returns an error result and leaves no .hq-tmp orphan when the write fails", () => {
|
|
257
|
+
// Root ignores mode bits, so this deterministic perms-based failure only
|
|
258
|
+
// holds for a non-root user (agent boxes + CI run non-root).
|
|
259
|
+
if (typeof process.getuid === "function" && process.getuid() === 0) return;
|
|
260
|
+
fs.writeFileSync(path.join(capDir(), AGENT_CONTRACT_FILE), "CONTRACT body");
|
|
261
|
+
// Read-only codex home → the temp write inside it fails (EACCES). The
|
|
262
|
+
// write+rename block's catch must unlink any temp before rethrowing, so no
|
|
263
|
+
// `*.hq-tmp` is left behind.
|
|
264
|
+
fs.mkdirSync(codexHome, { recursive: true });
|
|
265
|
+
fs.chmodSync(codexHome, 0o500);
|
|
266
|
+
try {
|
|
267
|
+
const res = materializeCodexAgents({ hqRoot, codexHome });
|
|
268
|
+
expect(res.written).toBe(false);
|
|
269
|
+
expect(res.skippedReason).toBe("error");
|
|
270
|
+
const leftovers = fs
|
|
271
|
+
.readdirSync(codexHome)
|
|
272
|
+
.filter((f) => f.endsWith(".hq-tmp"));
|
|
273
|
+
expect(leftovers).toEqual([]);
|
|
274
|
+
} finally {
|
|
275
|
+
fs.chmodSync(codexHome, 0o700); // restore so afterEach cleanup works
|
|
276
|
+
}
|
|
277
|
+
});
|
|
278
|
+
|
|
279
|
+
it("writes the file with owner-only perms (0o600)", () => {
|
|
280
|
+
fs.writeFileSync(path.join(capDir(), AGENT_CONTRACT_FILE), "CONTRACT body");
|
|
281
|
+
materializeCodexAgents({ hqRoot, codexHome });
|
|
282
|
+
const mode = fs.statSync(path.join(codexHome, "AGENTS.md")).mode & 0o777;
|
|
283
|
+
expect(mode).toBe(0o600);
|
|
284
|
+
});
|
|
285
|
+
|
|
286
|
+
it("emits a distinct event when the overlay is empty but a prior file exists", () => {
|
|
287
|
+
fs.mkdirSync(codexHome, { recursive: true });
|
|
288
|
+
fs.writeFileSync(path.join(codexHome, "AGENTS.md"), "PRIOR\n");
|
|
289
|
+
const events: string[] = [];
|
|
290
|
+
const res = materializeCodexAgents({
|
|
291
|
+
hqRoot, // capDir empty, no profile → empty overlay
|
|
292
|
+
codexHome,
|
|
293
|
+
log: (e) => events.push(e.event),
|
|
294
|
+
});
|
|
295
|
+
expect(res.skippedReason).toBe("empty-overlay");
|
|
296
|
+
expect(events).toContain(
|
|
297
|
+
"runner.agent_codex_instructions.skipped_empty_target_exists",
|
|
298
|
+
);
|
|
299
|
+
// Prior file left intact.
|
|
300
|
+
expect(fs.readFileSync(path.join(codexHome, "AGENTS.md"), "utf8")).toBe(
|
|
301
|
+
"PRIOR\n",
|
|
302
|
+
);
|
|
303
|
+
});
|
|
304
|
+
});
|
|
305
|
+
|
|
306
|
+
describe("codexHomeDir (CODEX_HOME validation)", () => {
|
|
307
|
+
const orig = process.env.CODEX_HOME;
|
|
308
|
+
afterEach(() => {
|
|
309
|
+
if (orig === undefined) delete process.env.CODEX_HOME;
|
|
310
|
+
else process.env.CODEX_HOME = orig;
|
|
311
|
+
});
|
|
312
|
+
|
|
313
|
+
it("defaults to ~/.codex when CODEX_HOME is unset", () => {
|
|
314
|
+
delete process.env.CODEX_HOME;
|
|
315
|
+
expect(codexHomeDir()).toBe(path.join(os.homedir(), ".codex"));
|
|
316
|
+
});
|
|
317
|
+
|
|
318
|
+
it("honors an absolute CODEX_HOME with no traversal", () => {
|
|
319
|
+
process.env.CODEX_HOME = "/var/lib/agent-codex";
|
|
320
|
+
expect(codexHomeDir()).toBe("/var/lib/agent-codex");
|
|
321
|
+
});
|
|
322
|
+
|
|
323
|
+
it("rejects a relative CODEX_HOME (falls back to ~/.codex)", () => {
|
|
324
|
+
process.env.CODEX_HOME = "relative/codex";
|
|
325
|
+
expect(codexHomeDir()).toBe(path.join(os.homedir(), ".codex"));
|
|
326
|
+
});
|
|
327
|
+
|
|
328
|
+
it("rejects a traversing CODEX_HOME (falls back to ~/.codex)", () => {
|
|
329
|
+
process.env.CODEX_HOME = "/tmp/../../etc";
|
|
330
|
+
expect(codexHomeDir()).toBe(path.join(os.homedir(), ".codex"));
|
|
331
|
+
});
|
|
332
|
+
});
|