@signetai/core 0.216.7 → 0.217.3

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/dist/index.js CHANGED
@@ -16881,6 +16881,251 @@ function up145(db) {
16881
16881
  `);
16882
16882
  }
16883
16883
 
16884
+ // src/migrations/146-source-transcript-import.ts
16885
+ function up146(db) {
16886
+ db.exec(`
16887
+ CREATE TABLE IF NOT EXISTS source_import_jobs (
16888
+ id TEXT PRIMARY KEY, kind TEXT NOT NULL CHECK (kind = 'import'), agent_id TEXT NOT NULL,
16889
+ schema_id TEXT NOT NULL, adapter_version INTEGER NOT NULL CHECK (adapter_version = 1),
16890
+ state TEXT NOT NULL CHECK (state IN ('staging','inventorying','queued','running','paused','completed','completed_with_rejections','cancelled','failed')),
16891
+ control_request TEXT CHECK (control_request IN ('pause','resume','retry','cancel') OR control_request IS NULL),
16892
+ generation INTEGER NOT NULL DEFAULT 0, total INTEGER NOT NULL DEFAULT 0, imported INTEGER NOT NULL DEFAULT 0,
16893
+ duplicate INTEGER NOT NULL DEFAULT 0, rejected INTEGER NOT NULL DEFAULT 0, pending INTEGER NOT NULL DEFAULT 0,
16894
+ lease_token TEXT, lease_expires_at TEXT, error TEXT, created_at TEXT NOT NULL DEFAULT (datetime('now')),
16895
+ updated_at TEXT NOT NULL DEFAULT (datetime('now')), started_at TEXT, completed_at TEXT, reconciled_at TEXT
16896
+ );
16897
+ CREATE INDEX IF NOT EXISTS idx_source_import_jobs_agent_state ON source_import_jobs(agent_id, state);
16898
+
16899
+ CREATE TABLE IF NOT EXISTS source_import_files (
16900
+ id TEXT PRIMARY KEY, job_id TEXT NOT NULL REFERENCES source_import_jobs(id) ON DELETE CASCADE,
16901
+ source_id TEXT NOT NULL, agent_id TEXT NOT NULL, ordinal INTEGER NOT NULL, name TEXT NOT NULL,
16902
+ managed_path TEXT NOT NULL, size_bytes INTEGER NOT NULL DEFAULT 0, content_hash TEXT,
16903
+ state TEXT NOT NULL CHECK (state IN ('staging','ready','inventorying','completed','failed')),
16904
+ record_count INTEGER NOT NULL DEFAULT 0, blank_count INTEGER NOT NULL DEFAULT 0, malformed_count INTEGER NOT NULL DEFAULT 0,
16905
+ inventory_version INTEGER NOT NULL DEFAULT 1, checkpoint_ordinal INTEGER NOT NULL DEFAULT 0,
16906
+ checkpoint_byte_offset INTEGER NOT NULL DEFAULT 0, created_at TEXT NOT NULL DEFAULT (datetime('now')), updated_at TEXT NOT NULL DEFAULT (datetime('now')),
16907
+ UNIQUE(job_id, ordinal)
16908
+ );
16909
+ CREATE INDEX IF NOT EXISTS idx_source_import_files_job_state ON source_import_files(job_id, state);
16910
+
16911
+ CREATE TABLE IF NOT EXISTS source_import_records (
16912
+ id TEXT PRIMARY KEY, job_id TEXT NOT NULL REFERENCES source_import_jobs(id) ON DELETE CASCADE,
16913
+ file_id TEXT NOT NULL REFERENCES source_import_files(id) ON DELETE CASCADE, source_id TEXT NOT NULL, agent_id TEXT NOT NULL,
16914
+ ordinal INTEGER NOT NULL, line_number INTEGER NOT NULL, byte_offset INTEGER NOT NULL, byte_length INTEGER NOT NULL,
16915
+ raw_hash TEXT NOT NULL, external_identity TEXT, conversation_fingerprint TEXT, status TEXT NOT NULL CHECK (status IN ('pending','imported','duplicate','rejected','cancelled')),
16916
+ canonical_id TEXT, canonical_key TEXT, rejection_code TEXT, attempt_count INTEGER NOT NULL DEFAULT 0,
16917
+ created_at TEXT NOT NULL DEFAULT (datetime('now')), updated_at TEXT NOT NULL DEFAULT (datetime('now')),
16918
+ UNIQUE(file_id, ordinal), UNIQUE(file_id, byte_offset)
16919
+ );
16920
+ CREATE INDEX IF NOT EXISTS idx_source_import_records_job_status ON source_import_records(job_id, status);
16921
+ CREATE INDEX IF NOT EXISTS idx_source_import_records_source_status ON source_import_records(agent_id, source_id, status);
16922
+
16923
+ CREATE TABLE IF NOT EXISTS transcript_import_conversations (
16924
+ agent_id TEXT NOT NULL, external_identity TEXT NOT NULL, canonical_key TEXT NOT NULL,
16925
+ conversation_fingerprint TEXT NOT NULL, canonical_id TEXT NOT NULL, owner_source_id TEXT NOT NULL,
16926
+ owner_record_id TEXT NOT NULL, state TEXT NOT NULL CHECK (state IN ('committing','committed','removed')),
16927
+ content_hash TEXT NOT NULL, harness TEXT NOT NULL, timestamp TEXT NOT NULL,
16928
+ created_at TEXT NOT NULL DEFAULT (datetime('now')), updated_at TEXT NOT NULL DEFAULT (datetime('now')),
16929
+ PRIMARY KEY (agent_id, external_identity), UNIQUE(agent_id, canonical_key)
16930
+ );
16931
+ CREATE INDEX IF NOT EXISTS idx_transcript_import_conversations_source ON transcript_import_conversations(agent_id, owner_source_id);
16932
+
16933
+ CREATE TABLE IF NOT EXISTS source_import_record_attempts (
16934
+ id INTEGER PRIMARY KEY AUTOINCREMENT, agent_id TEXT NOT NULL, job_id TEXT NOT NULL, file_id TEXT NOT NULL,
16935
+ record_id TEXT NOT NULL, generation INTEGER NOT NULL, outcome TEXT NOT NULL, error_code TEXT, created_at TEXT NOT NULL DEFAULT (datetime('now'))
16936
+ );
16937
+ CREATE INDEX IF NOT EXISTS idx_source_import_attempts_record ON source_import_record_attempts(agent_id, record_id, created_at);
16938
+ `);
16939
+ for (const column of ["source_id", "source_record_id", "source_meta_json"]) {
16940
+ const exists = db.prepare("SELECT 1 AS found FROM pragma_table_info('session_transcripts') WHERE name = ?").get(column);
16941
+ if (exists == null)
16942
+ db.exec(`ALTER TABLE session_transcripts ADD COLUMN ${column} TEXT`);
16943
+ }
16944
+ db.exec("CREATE INDEX IF NOT EXISTS idx_session_transcripts_agent_source ON session_transcripts(agent_id, source_id)");
16945
+ }
16946
+
16947
+ // src/migrations/147-source-import-replay-file-slots.ts
16948
+ function up147(db) {
16949
+ db.exec("CREATE INDEX IF NOT EXISTS idx_source_import_files_job_state ON source_import_files(job_id, state)");
16950
+ }
16951
+
16952
+ // src/migrations/148-source-import-attempt-provenance.ts
16953
+ function up148(db) {
16954
+ const columns = db.prepare("PRAGMA table_info(source_import_record_attempts)").all();
16955
+ if (!columns.some((column) => column.name === "source_id")) {
16956
+ db.exec("ALTER TABLE source_import_record_attempts ADD COLUMN source_id TEXT");
16957
+ }
16958
+ }
16959
+
16960
+ // src/migrations/149-transcript-import-state-machine.ts
16961
+ function up149(db) {
16962
+ const addColumn = (table, column, definition) => {
16963
+ const exists = db.prepare("SELECT 1 AS found FROM pragma_table_info(?) WHERE name = ?").get(table, column);
16964
+ if (exists == null)
16965
+ db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
16966
+ };
16967
+ addColumn("source_import_jobs", "duplicate_mode", "TEXT NOT NULL DEFAULT 'skip' CHECK (duplicate_mode IN ('skip','replace','reimport'))");
16968
+ addColumn("source_import_jobs", "next_attempt_at", "TEXT");
16969
+ addColumn("source_import_files", "error", "TEXT");
16970
+ }
16971
+
16972
+ // src/migrations/150-memory-head-freshness.ts
16973
+ function addColumnIfMissing28(db, table, column, definition) {
16974
+ const columns = db.prepare(`PRAGMA table_info(${table})`).all();
16975
+ if (!columns.some((row) => row.name === column))
16976
+ db.exec(`ALTER TABLE ${table} ADD COLUMN ${column} ${definition}`);
16977
+ }
16978
+ function up150(db) {
16979
+ addColumnIfMissing28(db, "memory_md_heads", "is_current", "INTEGER NOT NULL DEFAULT 0");
16980
+ addColumnIfMissing28(db, "dreaming_passes", "head_base_revision", "INTEGER");
16981
+ db.exec("CREATE INDEX IF NOT EXISTS idx_memory_head_revisions_content_hash ON memory_head_revisions(content_hash)");
16982
+ db.exec("CREATE INDEX IF NOT EXISTS idx_memory_md_heads_content_hash ON memory_md_heads(content_hash)");
16983
+ db.exec(`
16984
+ CREATE TRIGGER IF NOT EXISTS dreaming_passes_head_fence_ai
16985
+ AFTER INSERT ON dreaming_passes
16986
+ WHEN NEW.mode = 'incremental-content'
16987
+ BEGIN
16988
+ INSERT OR IGNORE INTO memory_md_heads (agent_id, content, content_hash, revision, updated_at, is_current)
16989
+ VALUES (NEW.agent_id, '', '', 0, datetime('now'), 0);
16990
+ UPDATE dreaming_passes
16991
+ SET head_base_revision = (SELECT revision FROM memory_md_heads WHERE agent_id = NEW.agent_id)
16992
+ WHERE id = NEW.id;
16993
+ END;
16994
+
16995
+ CREATE TRIGGER IF NOT EXISTS memories_head_freshness_au
16996
+ AFTER UPDATE OF content, superseded_by, stale_at, is_deleted, agent_id, visibility, scope, memory_kind ON memories
16997
+ WHEN OLD.content IS NOT NEW.content OR OLD.superseded_by IS NOT NEW.superseded_by
16998
+ OR OLD.stale_at IS NOT NEW.stale_at OR OLD.is_deleted IS NOT NEW.is_deleted
16999
+ OR OLD.agent_id IS NOT NEW.agent_id OR OLD.visibility IS NOT NEW.visibility OR OLD.scope IS NOT NEW.scope OR OLD.memory_kind IS NOT NEW.memory_kind
17000
+ BEGIN
17001
+ UPDATE memory_md_heads SET revision = revision + 1, is_current = 0
17002
+ WHERE agent_id IN (OLD.agent_id, NEW.agent_id)
17003
+ OR (COALESCE(OLD.visibility, 'global') = 'global' OR COALESCE(NEW.visibility, 'global') = 'global')
17004
+ AND (agent_id IN (SELECT id FROM agents WHERE read_policy = 'shared')
17005
+ OR agent_id IN (SELECT id FROM agents WHERE read_policy = 'group' AND policy_group IN
17006
+ (SELECT policy_group FROM agents WHERE id IN (OLD.agent_id, NEW.agent_id))));
17007
+ END;
17008
+
17009
+ CREATE TRIGGER IF NOT EXISTS memories_head_freshness_ad
17010
+ AFTER DELETE ON memories
17011
+ BEGIN
17012
+ UPDATE memory_md_heads SET revision = revision + 1, is_current = 0
17013
+ WHERE agent_id = OLD.agent_id
17014
+ OR (COALESCE(OLD.visibility, 'global') = 'global'
17015
+ AND (agent_id IN (SELECT id FROM agents WHERE read_policy = 'shared')
17016
+ OR agent_id IN (SELECT id FROM agents WHERE read_policy = 'group' AND policy_group IN
17017
+ (SELECT policy_group FROM agents WHERE id = OLD.agent_id))));
17018
+ END;
17019
+
17020
+ CREATE TRIGGER IF NOT EXISTS agents_head_freshness_ad
17021
+ AFTER DELETE ON agents
17022
+ BEGIN
17023
+ UPDATE memory_md_heads SET revision = revision + 1, is_current = 0
17024
+ WHERE agent_id = OLD.id OR agent_id IN (SELECT id FROM agents WHERE read_policy='group' AND policy_group=OLD.policy_group);
17025
+ END;
17026
+
17027
+ CREATE TRIGGER IF NOT EXISTS agents_head_freshness_au
17028
+ AFTER UPDATE OF read_policy, policy_group ON agents
17029
+ WHEN OLD.read_policy IS NOT NEW.read_policy OR OLD.policy_group IS NOT NEW.policy_group
17030
+ BEGIN
17031
+ UPDATE memory_md_heads SET revision = revision + 1, is_current = 0
17032
+ WHERE agent_id IN (OLD.id, NEW.id)
17033
+ OR agent_id IN (SELECT id FROM agents WHERE read_policy = 'shared')
17034
+ OR agent_id IN (SELECT id FROM agents WHERE read_policy = 'group' AND policy_group IN (OLD.policy_group, NEW.policy_group));
17035
+ END;
17036
+ `);
17037
+ for (const table of ["memory_artifacts", "session_transcripts"]) {
17038
+ const exists = db.prepare("SELECT 1 FROM sqlite_master WHERE type='table' AND name=?").get(table);
17039
+ if (!exists)
17040
+ continue;
17041
+ const hasIsDeleted = db.prepare(`PRAGMA table_info(${table})`).all().some((row) => row.name === "is_deleted");
17042
+ const updateColumns = table === "session_transcripts" ? "content, agent_id, completed_at" : hasIsDeleted ? "content, agent_id, is_deleted" : "content, agent_id";
17043
+ const contentChanged = table === "session_transcripts" ? "OLD.completed_at IS NOT NULL AND (OLD.content IS NOT NEW.content OR NEW.completed_at IS NULL)" : `OLD.content IS NOT NEW.content${hasIsDeleted ? " OR OLD.is_deleted IS NOT NEW.is_deleted" : ""}`;
17044
+ db.exec(`
17045
+ CREATE TRIGGER IF NOT EXISTS ${table}_head_freshness_au
17046
+ AFTER UPDATE OF ${updateColumns} ON ${table}
17047
+ WHEN OLD.agent_id IS NOT NEW.agent_id OR ${contentChanged}
17048
+ BEGIN
17049
+ UPDATE memory_md_heads SET revision = revision + 1, is_current = 0
17050
+ WHERE agent_id IN (OLD.agent_id, NEW.agent_id);
17051
+ END;
17052
+ CREATE TRIGGER IF NOT EXISTS ${table}_head_freshness_ad
17053
+ AFTER DELETE ON ${table}
17054
+ BEGIN
17055
+ UPDATE memory_md_heads SET revision = revision + 1, is_current = 0 WHERE agent_id = OLD.agent_id;
17056
+ END;
17057
+ `);
17058
+ }
17059
+ if (db.prepare("SELECT 1 FROM sqlite_master WHERE type='table' AND name='session_summaries'").get()) {
17060
+ db.exec(`
17061
+ CREATE TRIGGER IF NOT EXISTS session_summaries_head_freshness_au
17062
+ AFTER UPDATE OF content, source_ref, source_type, depth, agent_id ON session_summaries
17063
+ WHEN OLD.depth = 0 AND (OLD.content IS NOT NEW.content OR OLD.source_ref IS NOT NEW.source_ref OR OLD.source_type IS NOT NEW.source_type OR OLD.depth IS NOT NEW.depth OR OLD.agent_id IS NOT NEW.agent_id)
17064
+ BEGIN
17065
+ UPDATE memory_md_heads SET revision = revision + 1, is_current = 0 WHERE agent_id IN (OLD.agent_id, NEW.agent_id);
17066
+ END;
17067
+ CREATE TRIGGER IF NOT EXISTS session_summaries_head_freshness_ad
17068
+ AFTER DELETE ON session_summaries
17069
+ WHEN OLD.depth = 0
17070
+ BEGIN
17071
+ UPDATE memory_md_heads SET revision = revision + 1, is_current = 0 WHERE agent_id = OLD.agent_id;
17072
+ END;
17073
+ `);
17074
+ }
17075
+ const safetyExists = db.prepare("SELECT 1 FROM sqlite_master WHERE type='table' AND name='memory_content_safety'").get();
17076
+ if (safetyExists) {
17077
+ db.exec(`
17078
+ CREATE TRIGGER IF NOT EXISTS memory_content_safety_head_freshness_ai
17079
+ AFTER INSERT ON memory_content_safety
17080
+ WHEN NEW.status IS NOT 'clean' OR NEW.context_eligible IS NOT 1
17081
+ BEGIN
17082
+ UPDATE memory_md_heads SET revision = revision + 1, is_current = 0
17083
+ WHERE agent_id IN (NEW.agent_id)
17084
+ OR agent_id IN (SELECT id FROM agents WHERE read_policy IN ('shared', 'group'));
17085
+ END;
17086
+
17087
+ CREATE TRIGGER IF NOT EXISTS memory_content_safety_head_freshness_au
17088
+ AFTER UPDATE OF context_eligible, agent_id, status ON memory_content_safety
17089
+ WHEN (OLD.context_eligible IS NOT NEW.context_eligible OR OLD.agent_id IS NOT NEW.agent_id OR OLD.status IS NOT NEW.status)
17090
+ AND (OLD.status IS NOT 'clean' OR NEW.status IS NOT 'clean' OR OLD.context_eligible IS NOT 1 OR NEW.context_eligible IS NOT 1)
17091
+ BEGIN
17092
+ UPDATE memory_md_heads SET revision = revision + 1, is_current = 0
17093
+ WHERE agent_id IN (OLD.agent_id, NEW.agent_id)
17094
+ OR agent_id IN (SELECT id FROM agents WHERE read_policy = 'shared')
17095
+ OR agent_id IN (SELECT id FROM agents WHERE read_policy = 'group');
17096
+ END;
17097
+ `);
17098
+ }
17099
+ for (const table of ["memory_artifact_tombstones", "imported_source_lifecycle"]) {
17100
+ const exists = db.prepare("SELECT 1 FROM sqlite_master WHERE type='table' AND name=?").get(table);
17101
+ if (!exists)
17102
+ continue;
17103
+ const lifecycleClause = table === "imported_source_lifecycle" ? " WHEN NEW.status = 'unsupported'" : "";
17104
+ const updateColumns = table === "imported_source_lifecycle" ? "agent_id, status" : "agent_id";
17105
+ const lifecycleUpdateClause = table === "imported_source_lifecycle" ? " AND NEW.status = 'unsupported'" : "";
17106
+ const lifecycleWhen = table === "imported_source_lifecycle" ? `(OLD.agent_id IS NOT NEW.agent_id OR OLD.status IS NOT NEW.status)${lifecycleUpdateClause}` : "OLD.agent_id IS NOT NEW.agent_id";
17107
+ db.exec(`
17108
+ CREATE TRIGGER IF NOT EXISTS ${table}_head_freshness_ai
17109
+ AFTER INSERT ON ${table}${lifecycleClause}
17110
+ BEGIN
17111
+ UPDATE memory_md_heads SET revision = revision + 1, is_current = 0 WHERE agent_id = NEW.agent_id;
17112
+ END;
17113
+ CREATE TRIGGER IF NOT EXISTS ${table}_head_freshness_au
17114
+ AFTER UPDATE OF ${updateColumns} ON ${table}
17115
+ WHEN ${lifecycleWhen}
17116
+ BEGIN
17117
+ UPDATE memory_md_heads SET revision = revision + 1, is_current = 0
17118
+ WHERE agent_id IN (OLD.agent_id, NEW.agent_id);
17119
+ END;
17120
+ CREATE TRIGGER IF NOT EXISTS ${table}_head_freshness_ad
17121
+ AFTER DELETE ON ${table}
17122
+ BEGIN
17123
+ UPDATE memory_md_heads SET revision = revision + 1, is_current = 0 WHERE agent_id = OLD.agent_id;
17124
+ END;
17125
+ `);
17126
+ }
17127
+ }
17128
+
16884
17129
  // src/migrations/index.ts
16885
17130
  var MIGRATIONS = [
16886
17131
  {
@@ -18031,6 +18276,60 @@ var MIGRATIONS = [
18031
18276
  name: "dreaming-evidence-reviews",
18032
18277
  up: up145,
18033
18278
  artifacts: { tables: ["dreaming_evidence_reviews"] }
18279
+ },
18280
+ {
18281
+ version: 146,
18282
+ name: "source-transcript-import",
18283
+ up: up146,
18284
+ artifacts: {
18285
+ tables: [
18286
+ "source_import_jobs",
18287
+ "source_import_files",
18288
+ "source_import_records",
18289
+ "transcript_import_conversations",
18290
+ "source_import_record_attempts"
18291
+ ],
18292
+ columns: [
18293
+ { table: "session_transcripts", column: "source_id" },
18294
+ { table: "session_transcripts", column: "source_record_id" },
18295
+ { table: "session_transcripts", column: "source_meta_json" }
18296
+ ]
18297
+ }
18298
+ },
18299
+ {
18300
+ version: 147,
18301
+ name: "source-import-replay-file-slots",
18302
+ up: up147,
18303
+ artifacts: { tables: ["source_import_files"] }
18304
+ },
18305
+ {
18306
+ version: 148,
18307
+ name: "source-import-attempt-provenance",
18308
+ up: up148,
18309
+ artifacts: { columns: [{ table: "source_import_record_attempts", column: "source_id" }] }
18310
+ },
18311
+ {
18312
+ version: 149,
18313
+ name: "transcript-import-state-machine",
18314
+ up: up149,
18315
+ artifacts: {
18316
+ columns: [
18317
+ { table: "source_import_jobs", column: "duplicate_mode" },
18318
+ { table: "source_import_jobs", column: "next_attempt_at" },
18319
+ { table: "source_import_files", column: "error" }
18320
+ ]
18321
+ }
18322
+ },
18323
+ {
18324
+ version: 150,
18325
+ name: "memory-head-freshness",
18326
+ up: up150,
18327
+ artifacts: {
18328
+ columns: [
18329
+ { table: "memory_md_heads", column: "is_current" },
18330
+ { table: "dreaming_passes", column: "head_base_revision" }
18331
+ ]
18332
+ }
18034
18333
  }
18035
18334
  ];
18036
18335
  function checksum(m) {
@@ -22036,12 +22335,15 @@ function resolveWorkspaceSourceRepoPath(workspaceDir, repoDirName = SIGNET_SOURC
22036
22335
  return join9(resolve4(workspaceDir), repoDirName);
22037
22336
  }
22038
22337
  function syncWorkspaceSourceRepo(workspaceDir, options = {}) {
22338
+ const clone = options.cloneIfMissing === true;
22039
22339
  const timeoutMs = options.gitTimeoutMs ?? DEFAULT_GIT_TIMEOUT_MS;
22040
22340
  const remoteUrl = options.remoteUrl ?? SIGNET_SOURCE_REMOTE_URL;
22041
22341
  const repoPath = resolveWorkspaceSourceRepoPath(workspaceDir, options.repoDirName);
22042
22342
  if (!isSafeCloneSource(remoteUrl)) {
22043
22343
  return unsafeRemoteResult(repoPath);
22044
22344
  }
22345
+ if (!clone && !existsSync8(repoPath))
22346
+ return missingCheckoutResult(repoPath);
22045
22347
  if (!isGitAvailable(timeoutMs)) {
22046
22348
  return gitUnavailableResult(repoPath);
22047
22349
  }
@@ -22053,18 +22355,21 @@ function syncWorkspaceSourceRepo(workspaceDir, options = {}) {
22053
22355
  return sourceRepoSyncLockErrorResult(repoPath, lock.message);
22054
22356
  }
22055
22357
  try {
22056
- return syncWorkspaceSourceRepoLocked(runGit, workspaceDir, repoPath, remoteUrl, timeoutMs);
22358
+ return syncWorkspaceSourceRepoLocked(runGit, workspaceDir, repoPath, remoteUrl, timeoutMs, clone);
22057
22359
  } finally {
22058
22360
  releaseSourceRepoSyncLock(lock.lock);
22059
22361
  }
22060
22362
  }
22061
22363
  async function syncWorkspaceSourceRepoAsync(workspaceDir, options = {}) {
22364
+ const clone = options.cloneIfMissing === true;
22062
22365
  const timeoutMs = options.gitTimeoutMs ?? DEFAULT_GIT_TIMEOUT_MS;
22063
22366
  const remoteUrl = options.remoteUrl ?? SIGNET_SOURCE_REMOTE_URL;
22064
22367
  const repoPath = resolveWorkspaceSourceRepoPath(workspaceDir, options.repoDirName);
22065
22368
  if (!isSafeCloneSource(remoteUrl)) {
22066
22369
  return unsafeRemoteResult(repoPath);
22067
22370
  }
22371
+ if (!clone && !existsSync8(repoPath))
22372
+ return missingCheckoutResult(repoPath);
22068
22373
  if (!await isGitAvailableAsync(timeoutMs)) {
22069
22374
  return gitUnavailableResult(repoPath);
22070
22375
  }
@@ -22076,13 +22381,15 @@ async function syncWorkspaceSourceRepoAsync(workspaceDir, options = {}) {
22076
22381
  return sourceRepoSyncLockErrorResult(repoPath, lock.message);
22077
22382
  }
22078
22383
  try {
22079
- return await syncWorkspaceSourceRepoLocked(runGitAsync, workspaceDir, repoPath, remoteUrl, timeoutMs);
22384
+ return await syncWorkspaceSourceRepoLocked(runGitAsync, workspaceDir, repoPath, remoteUrl, timeoutMs, clone);
22080
22385
  } finally {
22081
22386
  releaseSourceRepoSyncLock(lock.lock);
22082
22387
  }
22083
22388
  }
22084
- function syncWorkspaceSourceRepoLocked(run, workspaceDir, repoPath, remoteUrl, timeoutMs) {
22389
+ function syncWorkspaceSourceRepoLocked(run, workspaceDir, repoPath, remoteUrl, timeoutMs, cloneIfMissing) {
22085
22390
  if (!existsSync8(repoPath) || isEmptyDirectory(repoPath)) {
22391
+ if (!cloneIfMissing)
22392
+ return missingCheckoutResult(repoPath);
22086
22393
  const workspaceReady = ensureWorkspaceDir(workspaceDir);
22087
22394
  if (workspaceReady.ok === false) {
22088
22395
  return errorResult(repoPath, workspaceReady.message);
@@ -22396,6 +22703,15 @@ function releaseSourceRepoSyncLock(lock) {
22396
22703
  async function sleep(ms) {
22397
22704
  await new Promise((resolve5) => setTimeout(resolve5, ms));
22398
22705
  }
22706
+ function missingCheckoutResult(repoPath) {
22707
+ return {
22708
+ status: "skipped",
22709
+ path: repoPath,
22710
+ message: "No Signet source checkout; source builds can create one explicitly",
22711
+ branch: null,
22712
+ defaultBranch: null
22713
+ };
22714
+ }
22399
22715
  function unsafeRemoteResult(repoPath) {
22400
22716
  return {
22401
22717
  status: "error",
@@ -22587,7 +22903,7 @@ function parsePorcelainStatusPath(line) {
22587
22903
  const rawPath = line.slice(3);
22588
22904
  const renameSeparator = " -> ";
22589
22905
  const path = rawPath.includes(renameSeparator) ? rawPath.slice(rawPath.lastIndexOf(renameSeparator) + renameSeparator.length) : rawPath;
22590
- return path.replace(/^\"|\"$/g, "");
22906
+ return path.replace(/^"|"$/g, "");
22591
22907
  }
22592
22908
  function readUpstreamBranchWith(run, repoPath, timeoutMs) {
22593
22909
  return mapMaybePromise(run(["rev-parse", "--abbrev-ref", "--symbolic-full-name", "@{upstream}"], repoPath, timeoutMs), (result) => readTrimmedValue(result));
@@ -22783,7 +23099,7 @@ var DEFAULT_GITHUB_MAX_ITEMS_PER_REPO = 500;
22783
23099
  var MAX_GITHUB_MAX_ITEMS_PER_REPO = 1e4;
22784
23100
  var VALID_GITHUB_RESOURCE_TYPES = new Set(DEFAULT_GITHUB_RESOURCE_TYPES);
22785
23101
  function getAgentsDir2() {
22786
- return process.env.SIGNET_PATH || `${homedir6()}/.agents`;
23102
+ return resolveDefaultBasePath();
22787
23103
  }
22788
23104
  function getSourcesConfigPath(agentsDir = getAgentsDir2()) {
22789
23105
  return `${agentsDir.replace(/\/$/, "")}/sources.json`;
@@ -0,0 +1,4 @@
1
+ import type { MigrationDb } from "./contract";
2
+ /** Migration 146: durable, agent-scoped transcript import ledgers. */
3
+ export declare function up(db: MigrationDb): void;
4
+ //# sourceMappingURL=146-source-transcript-import.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"146-source-transcript-import.d.ts","sourceRoot":"","sources":["../../src/migrations/146-source-transcript-import.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,sEAAsE;AACtE,wBAAgB,EAAE,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CA+DxC"}
@@ -0,0 +1,9 @@
1
+ import type { MigrationDb } from "./contract";
2
+ /**
3
+ * Migration 147: one configured Source may own multiple auditable replay file
4
+ * slots. Migration 146 already creates that schema. Keep this migration
5
+ * additive: rebuilding the parent table here would cascade-delete existing
6
+ * source_import_records while foreign keys are enabled.
7
+ */
8
+ export declare function up(db: MigrationDb): void;
9
+ //# sourceMappingURL=147-source-import-replay-file-slots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"147-source-import-replay-file-slots.d.ts","sourceRoot":"","sources":["../../src/migrations/147-source-import-replay-file-slots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;GAKG;AACH,wBAAgB,EAAE,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAExC"}
@@ -0,0 +1,4 @@
1
+ import type { MigrationDb } from "./contract";
2
+ /** Migration 148: retain source identity on append-only import attempt tombstones. */
3
+ export declare function up(db: MigrationDb): void;
4
+ //# sourceMappingURL=148-source-import-attempt-provenance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"148-source-import-attempt-provenance.d.ts","sourceRoot":"","sources":["../../src/migrations/148-source-import-attempt-provenance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,sFAAsF;AACtF,wBAAgB,EAAE,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAKxC"}
@@ -0,0 +1,4 @@
1
+ import type { MigrationDb } from "./contract";
2
+ /** Migration 149: explicit import controls, retry timing, and file failures. */
3
+ export declare function up(db: MigrationDb): void;
4
+ //# sourceMappingURL=149-transcript-import-state-machine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"149-transcript-import-state-machine.d.ts","sourceRoot":"","sources":["../../src/migrations/149-transcript-import-state-machine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,gFAAgF;AAChF,wBAAgB,EAAE,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAYxC"}
@@ -0,0 +1,4 @@
1
+ import type { MigrationDb } from "./contract";
2
+ /** Migration 150: fence generated memory heads against source changes. */
3
+ export declare function up(db: MigrationDb): void;
4
+ //# sourceMappingURL=150-memory-head-freshness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"150-memory-head-freshness.d.ts","sourceRoot":"","sources":["../../src/migrations/150-memory-head-freshness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAO9C,0EAA0E;AAC1E,wBAAgB,EAAE,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAoKxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAoJzD,YAAY,EAAE,SAAS,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE7E,oEAAoE;AACpE,eAAO,MAAM,UAAU,EAAE,SAAS,SAAS,EAooC1C,CAAC;AAqOF;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAiB7D;AAED,6CAA6C;AAC7C,eAAO,MAAM,qBAAqB,QAAkD,CAAC;AAsBrF;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAiDnD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAyJzD,YAAY,EAAE,SAAS,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE7E,oEAAoE;AACpE,eAAO,MAAM,UAAU,EAAE,SAAS,SAAS,EA0rC1C,CAAC;AAqOF;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAiB7D;AAED,6CAA6C;AAC7C,eAAO,MAAM,qBAAqB,QAAkD,CAAC;AAsBrF;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAiDnD"}
@@ -1 +1 @@
1
- {"version":3,"file":"sources-config.d.ts","sourceRoot":"","sources":["../src/sources-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sources-config.d.ts","sourceRoot":"","sources":["../src/sources-config.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ export declare const SIGNET_SOURCE_CHECKOUT_DIRNAME = "signetai";
2
2
  export declare const SIGNET_SOURCE_REMOTE_URL = "https://github.com/Signet-AI/signetai.git";
3
3
  export type WorkspaceSourceRepoStatus = "cloned" | "pulled" | "fetched" | "current" | "skipped" | "error";
4
4
  export interface WorkspaceSourceRepoSyncOptions {
5
+ /** Only explicit source builds may create a checkout; routine sync updates existing repositories. */
6
+ readonly cloneIfMissing?: boolean;
5
7
  readonly gitTimeoutMs?: number;
6
8
  readonly remoteUrl?: string;
7
9
  readonly repoDirName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-source-repo.d.ts","sourceRoot":"","sources":["../src/workspace-source-repo.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,8BAA8B,aAAa,CAAC;AACzD,eAAO,MAAM,wBAAwB,8CAA8C,CAAC;AAOpF,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAE1G,MAAM,WAAW,8BAA8B;IAC9C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,6BAA6B;IAC7C,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAuCD,wBAAgB,8BAA8B,CAC7C,YAAY,EAAE,MAAM,EACpB,WAAW,SAAiC,GAC1C,MAAM,CAER;AAED,wBAAgB,uBAAuB,CACtC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,8BAAmC,GAC1C,6BAA6B,CAwB/B;AAED,wBAAsB,4BAA4B,CACjD,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,8BAAmC,GAC1C,OAAO,CAAC,6BAA6B,CAAC,CAwBxC"}
1
+ {"version":3,"file":"workspace-source-repo.d.ts","sourceRoot":"","sources":["../src/workspace-source-repo.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,8BAA8B,aAAa,CAAC;AACzD,eAAO,MAAM,wBAAwB,8CAA8C,CAAC;AAOpF,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAE1G,MAAM,WAAW,8BAA8B;IAC9C,qGAAqG;IACrG,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,6BAA6B;IAC7C,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAuCD,wBAAgB,8BAA8B,CAC7C,YAAY,EAAE,MAAM,EACpB,WAAW,SAAiC,GAC1C,MAAM,CAER;AAED,wBAAgB,uBAAuB,CACtC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,8BAAmC,GAC1C,6BAA6B,CA0B/B;AAED,wBAAsB,4BAA4B,CACjD,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,8BAAmC,GAC1C,OAAO,CAAC,6BAA6B,CAAC,CA0BxC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signetai/core",
3
- "version": "0.216.7",
3
+ "version": "0.217.3",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Core library for Signet - portable AI agent identity",
6
6
  "type": "module",