@signetai/connector-forge 0.206.8 → 0.207.2

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.
Files changed (2) hide show
  1. package/dist/index.js +270 -10
  2. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -15645,6 +15645,92 @@ function up132(db) {
15645
15645
  ON epistemic_assertions(agent_id, subject_entity_id, status, asserted_at DESC, created_at DESC);
15646
15646
  `);
15647
15647
  }
15648
+ function up133(db) {
15649
+ db.exec(`
15650
+ CREATE TABLE IF NOT EXISTS memory_head_revisions (
15651
+ id TEXT PRIMARY KEY,
15652
+ agent_id TEXT NOT NULL,
15653
+ revision INTEGER NOT NULL,
15654
+ content TEXT NOT NULL,
15655
+ content_hash TEXT NOT NULL,
15656
+ rendered_token_count INTEGER NOT NULL,
15657
+ pass_id TEXT NOT NULL,
15658
+ base_revision INTEGER NOT NULL,
15659
+ base_hash TEXT NOT NULL,
15660
+ created_at TEXT NOT NULL,
15661
+ UNIQUE(agent_id, revision)
15662
+ );
15663
+ CREATE INDEX IF NOT EXISTS idx_memory_head_revisions_agent
15664
+ ON memory_head_revisions(agent_id, revision DESC);
15665
+ CREATE TABLE IF NOT EXISTS memory_head_entries (
15666
+ entry_id TEXT PRIMARY KEY,
15667
+ agent_id TEXT NOT NULL,
15668
+ canonical_text TEXT NOT NULL,
15669
+ entry_hash TEXT NOT NULL,
15670
+ status TEXT NOT NULL CHECK(status IN ('active','removed','superseded')),
15671
+ first_revision INTEGER NOT NULL,
15672
+ last_revision INTEGER NOT NULL,
15673
+ created_at TEXT NOT NULL,
15674
+ updated_at TEXT NOT NULL
15675
+ );
15676
+ CREATE INDEX IF NOT EXISTS idx_memory_head_entries_agent
15677
+ ON memory_head_entries(agent_id, entry_id, last_revision DESC);
15678
+ CREATE TABLE IF NOT EXISTS memory_head_revision_entries (
15679
+ agent_id TEXT NOT NULL,
15680
+ revision INTEGER NOT NULL,
15681
+ entry_id TEXT NOT NULL,
15682
+ ordinal INTEGER NOT NULL,
15683
+ operation TEXT NOT NULL CHECK(operation IN ('add','update','remove','retain')),
15684
+ provenance_json TEXT NOT NULL,
15685
+ PRIMARY KEY(agent_id, revision, entry_id),
15686
+ UNIQUE(agent_id, revision, ordinal)
15687
+ );
15688
+ CREATE INDEX IF NOT EXISTS idx_memory_head_revision_entries_entry
15689
+ ON memory_head_revision_entries(agent_id, entry_id, revision DESC);
15690
+ `);
15691
+ const columns = db.prepare("PRAGMA table_info(memory_md_heads)").all();
15692
+ const names = new Set(columns.map((column) => String(column.name)));
15693
+ if (!names.has("revision_id"))
15694
+ db.exec("ALTER TABLE memory_md_heads ADD COLUMN revision_id TEXT");
15695
+ if (!names.has("pass_id"))
15696
+ db.exec("ALTER TABLE memory_md_heads ADD COLUMN pass_id TEXT");
15697
+ if (!names.has("format_version"))
15698
+ db.exec("ALTER TABLE memory_md_heads ADD COLUMN format_version INTEGER NOT NULL DEFAULT 1");
15699
+ }
15700
+ function up134(db) {
15701
+ db.exec(`
15702
+ CREATE TABLE memory_head_entries_v134 (
15703
+ entry_id TEXT NOT NULL, agent_id TEXT NOT NULL, canonical_text TEXT NOT NULL,
15704
+ entry_hash TEXT NOT NULL, status TEXT NOT NULL CHECK(status IN ('active','removed','superseded')),
15705
+ first_revision INTEGER NOT NULL, last_revision INTEGER NOT NULL,
15706
+ created_at TEXT NOT NULL, updated_at TEXT NOT NULL,
15707
+ PRIMARY KEY(agent_id, entry_id)
15708
+ );
15709
+ INSERT INTO memory_head_entries_v134
15710
+ SELECT entry_id, agent_id, canonical_text, entry_hash, status, first_revision, last_revision, created_at, updated_at
15711
+ FROM memory_head_entries;
15712
+ DROP TABLE memory_head_entries;
15713
+ ALTER TABLE memory_head_entries_v134 RENAME TO memory_head_entries;
15714
+ CREATE INDEX idx_memory_head_entries_agent
15715
+ ON memory_head_entries(agent_id, entry_id, last_revision DESC);
15716
+ `);
15717
+ }
15718
+ function up135(db) {
15719
+ db.exec(`
15720
+ CREATE TABLE IF NOT EXISTS memory_head_publications (
15721
+ agent_id TEXT NOT NULL,
15722
+ revision INTEGER NOT NULL,
15723
+ revision_id TEXT NOT NULL,
15724
+ status TEXT NOT NULL CHECK(status IN ('pending', 'completed')),
15725
+ created_at TEXT NOT NULL,
15726
+ completed_at TEXT,
15727
+ PRIMARY KEY(agent_id, revision),
15728
+ UNIQUE(agent_id, revision_id)
15729
+ );
15730
+ CREATE INDEX IF NOT EXISTS idx_memory_head_publications_pending
15731
+ ON memory_head_publications(agent_id, status, revision DESC);
15732
+ `);
15733
+ }
15648
15734
  var MIGRATIONS = [
15649
15735
  {
15650
15736
  version: 1,
@@ -16699,6 +16785,24 @@ var MIGRATIONS = [
16699
16785
  name: "observer-scoped-epistemic-assertions",
16700
16786
  up: up132,
16701
16787
  artifacts: { tables: ["epistemic_assertions"] }
16788
+ },
16789
+ {
16790
+ version: 133,
16791
+ name: "dreaming-memory-head",
16792
+ up: up133,
16793
+ artifacts: { tables: ["memory_head_revisions", "memory_head_entries", "memory_head_revision_entries"] }
16794
+ },
16795
+ {
16796
+ version: 134,
16797
+ name: "scope-memory-head-entries",
16798
+ up: up134,
16799
+ artifacts: { tables: ["memory_head_entries"] }
16800
+ },
16801
+ {
16802
+ version: 135,
16803
+ name: "memory-head-publication",
16804
+ up: up135,
16805
+ artifacts: { tables: ["memory_head_publications"] }
16702
16806
  }
16703
16807
  ];
16704
16808
  var LATEST_SCHEMA_VERSION = MIGRATIONS[MIGRATIONS.length - 1]?.version ?? 0;
@@ -16741,16 +16845,42 @@ function classifyError(error) {
16741
16845
  }
16742
16846
  return { state: "corrupt", message };
16743
16847
  }
16848
+ function tryRequireOverride() {
16849
+ const override = process.env.SIGNET_KEYRING_NATIVE_MODULE_PATH?.trim();
16850
+ if (!override)
16851
+ return null;
16852
+ const isAbsolute2 = override.startsWith("/") || /^\\\\[^\\]+\\[^\\]+/.test(override) || /^[A-Za-z]:[\\/]/.test(override);
16853
+ if (!isAbsolute2)
16854
+ return null;
16855
+ try {
16856
+ return require2(override);
16857
+ } catch {
16858
+ return null;
16859
+ }
16860
+ }
16744
16861
  async function loadModule() {
16745
- modulePromise ??= Promise.resolve().then(() => __toESM2(require_keyring(), 1)).catch(() => null);
16862
+ modulePromise ??= (async () => {
16863
+ const override = process.env.SIGNET_KEYRING_NATIVE_MODULE_PATH?.trim();
16864
+ if (override)
16865
+ return tryRequireOverride();
16866
+ return await Promise.resolve().then(() => __toESM2(require_keyring(), 1)).catch(() => null);
16867
+ })();
16746
16868
  return modulePromise;
16747
16869
  }
16748
16870
  function loadModuleSync() {
16749
16871
  if (syncModule !== undefined)
16750
16872
  return syncModule;
16873
+ if (process.env.SIGNET_KEYRING_NATIVE_MODULE_PATH?.trim()) {
16874
+ syncModule = tryRequireOverride();
16875
+ return syncModule;
16876
+ }
16877
+ const override = tryRequireOverride();
16878
+ if (override) {
16879
+ syncModule = override;
16880
+ return syncModule;
16881
+ }
16751
16882
  try {
16752
- const mod = require2("@napi-rs/keyring");
16753
- syncModule = mod;
16883
+ syncModule = require2("@napi-rs/keyring");
16754
16884
  } catch {
16755
16885
  syncModule = null;
16756
16886
  }
@@ -28771,7 +28901,7 @@ function memoriesFtsNeedsTokenizerRepair2(sql) {
28771
28901
  return true;
28772
28902
  return !normalized.includes(`tokenize='${MEMORIES_FTS_TOKENIZER2}'`);
28773
28903
  }
28774
- function up133(db) {
28904
+ function up136(db) {
28775
28905
  db.exec(`
28776
28906
  CREATE TABLE IF NOT EXISTS schema_migrations (
28777
28907
  version INTEGER PRIMARY KEY,
@@ -29255,7 +29385,7 @@ function addColumnIfMissing52(db, table, column, definition) {
29255
29385
  db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
29256
29386
  }
29257
29387
  }
29258
- function up134(db) {
29388
+ function up137(db) {
29259
29389
  db.exec(`
29260
29390
  CREATE TABLE IF NOT EXISTS ingestion_jobs (
29261
29391
  id TEXT PRIMARY KEY,
@@ -33010,11 +33140,97 @@ function up1322(db) {
33010
33140
  ON epistemic_assertions(agent_id, subject_entity_id, status, asserted_at DESC, created_at DESC);
33011
33141
  `);
33012
33142
  }
33143
+ function up1332(db) {
33144
+ db.exec(`
33145
+ CREATE TABLE IF NOT EXISTS memory_head_revisions (
33146
+ id TEXT PRIMARY KEY,
33147
+ agent_id TEXT NOT NULL,
33148
+ revision INTEGER NOT NULL,
33149
+ content TEXT NOT NULL,
33150
+ content_hash TEXT NOT NULL,
33151
+ rendered_token_count INTEGER NOT NULL,
33152
+ pass_id TEXT NOT NULL,
33153
+ base_revision INTEGER NOT NULL,
33154
+ base_hash TEXT NOT NULL,
33155
+ created_at TEXT NOT NULL,
33156
+ UNIQUE(agent_id, revision)
33157
+ );
33158
+ CREATE INDEX IF NOT EXISTS idx_memory_head_revisions_agent
33159
+ ON memory_head_revisions(agent_id, revision DESC);
33160
+ CREATE TABLE IF NOT EXISTS memory_head_entries (
33161
+ entry_id TEXT PRIMARY KEY,
33162
+ agent_id TEXT NOT NULL,
33163
+ canonical_text TEXT NOT NULL,
33164
+ entry_hash TEXT NOT NULL,
33165
+ status TEXT NOT NULL CHECK(status IN ('active','removed','superseded')),
33166
+ first_revision INTEGER NOT NULL,
33167
+ last_revision INTEGER NOT NULL,
33168
+ created_at TEXT NOT NULL,
33169
+ updated_at TEXT NOT NULL
33170
+ );
33171
+ CREATE INDEX IF NOT EXISTS idx_memory_head_entries_agent
33172
+ ON memory_head_entries(agent_id, entry_id, last_revision DESC);
33173
+ CREATE TABLE IF NOT EXISTS memory_head_revision_entries (
33174
+ agent_id TEXT NOT NULL,
33175
+ revision INTEGER NOT NULL,
33176
+ entry_id TEXT NOT NULL,
33177
+ ordinal INTEGER NOT NULL,
33178
+ operation TEXT NOT NULL CHECK(operation IN ('add','update','remove','retain')),
33179
+ provenance_json TEXT NOT NULL,
33180
+ PRIMARY KEY(agent_id, revision, entry_id),
33181
+ UNIQUE(agent_id, revision, ordinal)
33182
+ );
33183
+ CREATE INDEX IF NOT EXISTS idx_memory_head_revision_entries_entry
33184
+ ON memory_head_revision_entries(agent_id, entry_id, revision DESC);
33185
+ `);
33186
+ const columns = db.prepare("PRAGMA table_info(memory_md_heads)").all();
33187
+ const names = new Set(columns.map((column) => String(column.name)));
33188
+ if (!names.has("revision_id"))
33189
+ db.exec("ALTER TABLE memory_md_heads ADD COLUMN revision_id TEXT");
33190
+ if (!names.has("pass_id"))
33191
+ db.exec("ALTER TABLE memory_md_heads ADD COLUMN pass_id TEXT");
33192
+ if (!names.has("format_version"))
33193
+ db.exec("ALTER TABLE memory_md_heads ADD COLUMN format_version INTEGER NOT NULL DEFAULT 1");
33194
+ }
33195
+ function up1342(db) {
33196
+ db.exec(`
33197
+ CREATE TABLE memory_head_entries_v134 (
33198
+ entry_id TEXT NOT NULL, agent_id TEXT NOT NULL, canonical_text TEXT NOT NULL,
33199
+ entry_hash TEXT NOT NULL, status TEXT NOT NULL CHECK(status IN ('active','removed','superseded')),
33200
+ first_revision INTEGER NOT NULL, last_revision INTEGER NOT NULL,
33201
+ created_at TEXT NOT NULL, updated_at TEXT NOT NULL,
33202
+ PRIMARY KEY(agent_id, entry_id)
33203
+ );
33204
+ INSERT INTO memory_head_entries_v134
33205
+ SELECT entry_id, agent_id, canonical_text, entry_hash, status, first_revision, last_revision, created_at, updated_at
33206
+ FROM memory_head_entries;
33207
+ DROP TABLE memory_head_entries;
33208
+ ALTER TABLE memory_head_entries_v134 RENAME TO memory_head_entries;
33209
+ CREATE INDEX idx_memory_head_entries_agent
33210
+ ON memory_head_entries(agent_id, entry_id, last_revision DESC);
33211
+ `);
33212
+ }
33213
+ function up1352(db) {
33214
+ db.exec(`
33215
+ CREATE TABLE IF NOT EXISTS memory_head_publications (
33216
+ agent_id TEXT NOT NULL,
33217
+ revision INTEGER NOT NULL,
33218
+ revision_id TEXT NOT NULL,
33219
+ status TEXT NOT NULL CHECK(status IN ('pending', 'completed')),
33220
+ created_at TEXT NOT NULL,
33221
+ completed_at TEXT,
33222
+ PRIMARY KEY(agent_id, revision),
33223
+ UNIQUE(agent_id, revision_id)
33224
+ );
33225
+ CREATE INDEX IF NOT EXISTS idx_memory_head_publications_pending
33226
+ ON memory_head_publications(agent_id, status, revision DESC);
33227
+ `);
33228
+ }
33013
33229
  var MIGRATIONS2 = [
33014
33230
  {
33015
33231
  version: 1,
33016
33232
  name: "baseline",
33017
- up: up133,
33233
+ up: up136,
33018
33234
  artifacts: { tables: ["memories", "conversations", "embeddings"] }
33019
33235
  },
33020
33236
  {
@@ -33092,7 +33308,7 @@ var MIGRATIONS2 = [
33092
33308
  {
33093
33309
  version: 13,
33094
33310
  name: "ingestion-tracking",
33095
- up: up134,
33311
+ up: up137,
33096
33312
  artifacts: {
33097
33313
  columns: [
33098
33314
  { table: "memories", column: "source_path" },
@@ -34064,6 +34280,24 @@ var MIGRATIONS2 = [
34064
34280
  name: "observer-scoped-epistemic-assertions",
34065
34281
  up: up1322,
34066
34282
  artifacts: { tables: ["epistemic_assertions"] }
34283
+ },
34284
+ {
34285
+ version: 133,
34286
+ name: "dreaming-memory-head",
34287
+ up: up1332,
34288
+ artifacts: { tables: ["memory_head_revisions", "memory_head_entries", "memory_head_revision_entries"] }
34289
+ },
34290
+ {
34291
+ version: 134,
34292
+ name: "scope-memory-head-entries",
34293
+ up: up1342,
34294
+ artifacts: { tables: ["memory_head_entries"] }
34295
+ },
34296
+ {
34297
+ version: 135,
34298
+ name: "memory-head-publication",
34299
+ up: up1352,
34300
+ artifacts: { tables: ["memory_head_publications"] }
34067
34301
  }
34068
34302
  ];
34069
34303
  var LATEST_SCHEMA_VERSION2 = MIGRATIONS2[MIGRATIONS2.length - 1]?.version ?? 0;
@@ -34106,16 +34340,42 @@ function classifyError2(error) {
34106
34340
  }
34107
34341
  return { state: "corrupt", message };
34108
34342
  }
34343
+ function tryRequireOverride2() {
34344
+ const override = process.env.SIGNET_KEYRING_NATIVE_MODULE_PATH?.trim();
34345
+ if (!override)
34346
+ return null;
34347
+ const isAbsolute2 = override.startsWith("/") || /^\\\\[^\\]+\\[^\\]+/.test(override) || /^[A-Za-z]:[\\/]/.test(override);
34348
+ if (!isAbsolute2)
34349
+ return null;
34350
+ try {
34351
+ return require22(override);
34352
+ } catch {
34353
+ return null;
34354
+ }
34355
+ }
34109
34356
  async function loadModule2() {
34110
- modulePromise2 ??= Promise.resolve().then(() => __toESM(require_keyring2(), 1)).catch(() => null);
34357
+ modulePromise2 ??= (async () => {
34358
+ const override = process.env.SIGNET_KEYRING_NATIVE_MODULE_PATH?.trim();
34359
+ if (override)
34360
+ return tryRequireOverride2();
34361
+ return await Promise.resolve().then(() => __toESM(require_keyring2(), 1)).catch(() => null);
34362
+ })();
34111
34363
  return modulePromise2;
34112
34364
  }
34113
34365
  function loadModuleSync2() {
34114
34366
  if (syncModule2 !== undefined)
34115
34367
  return syncModule2;
34368
+ if (process.env.SIGNET_KEYRING_NATIVE_MODULE_PATH?.trim()) {
34369
+ syncModule2 = tryRequireOverride2();
34370
+ return syncModule2;
34371
+ }
34372
+ const override = tryRequireOverride2();
34373
+ if (override) {
34374
+ syncModule2 = override;
34375
+ return syncModule2;
34376
+ }
34116
34377
  try {
34117
- const mod = require22("@napi-rs/keyring");
34118
- syncModule2 = mod;
34378
+ syncModule2 = require22("@napi-rs/keyring");
34119
34379
  } catch {
34120
34380
  syncModule2 = null;
34121
34381
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signetai/connector-forge",
3
- "version": "0.206.8",
3
+ "version": "0.207.2",
4
4
  "description": "Signet connector for ForgeCode - installs MCP, identity, and skills integration",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -24,8 +24,8 @@
24
24
  "typecheck": "tsc --noEmit"
25
25
  },
26
26
  "dependencies": {
27
- "@signetai/connector-base": "0.206.8",
28
- "@signetai/core": "0.206.8"
27
+ "@signetai/connector-base": "0.207.2",
28
+ "@signetai/core": "0.207.2"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/node": "^22.0.0",