@ai-ecoverse/slicc-spectrum 1.65.1 → 1.66.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.
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  DummySettings,
8
8
  clock
9
- } from "./chunk-ZS4XIKFR.js";
9
+ } from "./chunk-2PKRU2CL.js";
10
10
  import {
11
11
  Emitter
12
12
  } from "./chunk-T5NHW4KC.js";
@@ -5592,6 +5592,24 @@ function vaultSecrets(now2 = Date.now()) {
5592
5592
  }
5593
5593
  ];
5594
5594
  }
5595
+ function accountRecords(now2 = Date.now()) {
5596
+ return [
5597
+ {
5598
+ name: "MCP_DOCS_TOKEN",
5599
+ kind: "mcp",
5600
+ placeholder: "fnox_proxy_docs0006",
5601
+ state: "active",
5602
+ source: "settings",
5603
+ sourceDevice: null,
5604
+ server: "docs",
5605
+ domains: ["docs.example"],
5606
+ rules: [{ domain: "docs.example", header: "Authorization", methods: [], paths: [] }],
5607
+ exec: false,
5608
+ createdAt: now2 - 6 * day2,
5609
+ usedAt: now2 - 20 * minute2
5610
+ }
5611
+ ];
5612
+ }
5595
5613
  function vaultAudit(now2 = Date.now()) {
5596
5614
  const who = { uid: 1e3, tag: "cone" };
5597
5615
  return [
@@ -5944,11 +5962,11 @@ var DummyVault = class extends Emitter {
5944
5962
  imports = [];
5945
5963
  exported = 0;
5946
5964
  acknowledged = [];
5947
- constructor(scenario, time) {
5965
+ constructor(scenario, time, records = []) {
5948
5966
  super();
5949
5967
  const { status, list } = vaultFixtures(scenario);
5950
5968
  this.#status = status;
5951
- this.#list = list;
5969
+ this.#list = { ...list, secrets: [...list.secrets, ...records] };
5952
5970
  this.#time = time;
5953
5971
  this.#available = scenario === "waiting" ? "waiting" : "ready";
5954
5972
  }
@@ -6014,18 +6032,23 @@ var DummyVault = class extends Emitter {
6014
6032
  #save(secret, rotated) {
6015
6033
  this.#list = {
6016
6034
  ...this.#list,
6017
- secrets: [...this.#list.secrets.filter((item) => item.name !== secret.name), secret]
6035
+ secrets: [
6036
+ ...this.#list.secrets.filter(
6037
+ (item) => item.name !== secret.name || item.kind !== secret.kind
6038
+ ),
6039
+ secret
6040
+ ]
6018
6041
  };
6019
6042
  this.#log(secret.name, { type: "seal", source: secret.source, rotated });
6020
6043
  this.emit("list", this.#list);
6021
6044
  return { name: secret.name, placeholder: secret.placeholder, state: secret.state };
6022
6045
  }
6023
- #seal(name2, source, kind = "secret") {
6046
+ #seal(name2, source, kind = "secret", binding = {}) {
6024
6047
  const old = this.#list.secrets.find((item) => item.name === name2 && item.kind === kind);
6025
6048
  if (old) {
6026
6049
  const state = old.state === "removed" ? old.rules.length ? "active" : "inert" : old.state;
6027
6050
  const { removedAt: _, ...kept } = old;
6028
- return this.#save({ ...kept, state, source }, true);
6051
+ return this.#save({ ...kept, ...binding, state, source }, true);
6029
6052
  }
6030
6053
  this.#serial += 1;
6031
6054
  return this.#save(
@@ -6036,6 +6059,7 @@ var DummyVault = class extends Emitter {
6036
6059
  state: "inert",
6037
6060
  source,
6038
6061
  sourceDevice: null,
6062
+ ...binding,
6039
6063
  domains: [],
6040
6064
  rules: [],
6041
6065
  exec: false,
@@ -6044,14 +6068,22 @@ var DummyVault = class extends Emitter {
6044
6068
  false
6045
6069
  );
6046
6070
  }
6047
- async put(name2, value, request) {
6071
+ async put(name2, value, request, options) {
6048
6072
  await this.#time.sleep(5);
6049
6073
  this.#unlocked();
6050
6074
  const problem = nameProblem(name2) ?? valueProblem(value);
6051
6075
  if (problem) throw vaultFailure("EINVAL", problem);
6052
6076
  if (request !== void 0) this.#take(request, name2);
6053
- this.puts.push({ name: name2, ...request === void 0 ? {} : { request } });
6054
- return this.#seal(name2, "settings");
6077
+ this.puts.push({
6078
+ name: name2,
6079
+ ...request === void 0 ? {} : { request },
6080
+ ...options ? { options: { ...options } } : {}
6081
+ });
6082
+ const { kind = "secret", provider, server } = options ?? {};
6083
+ return this.#seal(name2, "settings", kind, {
6084
+ ...provider === void 0 ? {} : { provider },
6085
+ ...server === void 0 ? {} : { server }
6086
+ });
6055
6087
  }
6056
6088
  #take(request, name2) {
6057
6089
  const found = this.#status.waiting.find((item) => item.id === request);
@@ -6160,6 +6192,11 @@ var DummyVault = class extends Emitter {
6160
6192
  };
6161
6193
 
6162
6194
  // src/dummy/index.ts
6195
+ function vaultAccounts(accounts2) {
6196
+ return accounts2.map(
6197
+ (account) => account.auth === "api-key" || account.id === "github" ? { ...account, store: "vault" } : account
6198
+ );
6199
+ }
6163
6200
  function createDummyModel({
6164
6201
  delay = 30,
6165
6202
  storage = null,
@@ -6176,6 +6213,7 @@ function createDummyModel({
6176
6213
  approvals = "off",
6177
6214
  follow = "off",
6178
6215
  vault = "off",
6216
+ accounts: accounts2 = "settings",
6179
6217
  hold = "off",
6180
6218
  browser: scenario = "idle",
6181
6219
  sprinkles: sprinkles2 = "builtin",
@@ -6212,7 +6250,7 @@ function createDummyModel({
6212
6250
  settings: new DummySettings(
6213
6251
  defaults,
6214
6252
  models,
6215
- accounts,
6253
+ accounts2 === "vault" ? vaultAccounts(accounts) : accounts,
6216
6254
  storage,
6217
6255
  time
6218
6256
  ),
@@ -6237,7 +6275,9 @@ function createDummyModel({
6237
6275
  ...tabs2 === "off" ? {} : { tabs: new DummyTabs(tabs2, time) },
6238
6276
  ...approvals === "off" ? {} : { approvals: new DummyApprovals(approvals, time) },
6239
6277
  ...follow === "off" ? {} : { follow: new DummyFollow(follow, time) },
6240
- ...vault === "off" ? {} : { vault: new DummyVault(vault, time) }
6278
+ ...vault === "off" ? {} : {
6279
+ vault: new DummyVault(vault, time, accounts2 === "vault" ? accountRecords() : [])
6280
+ }
6241
6281
  };
6242
6282
  base.vault?.on("status", (status) => {
6243
6283
  if (!status.locked && agent.hold()?.reason === "locked") agent.setHold(null);