skillscript-runtime 0.13.8 → 0.14.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.
Files changed (100) hide show
  1. package/README.md +11 -11
  2. package/dist/bootstrap.d.ts +13 -13
  3. package/dist/bootstrap.d.ts.map +1 -1
  4. package/dist/bootstrap.js +31 -31
  5. package/dist/bootstrap.js.map +1 -1
  6. package/dist/cli.js +6 -6
  7. package/dist/cli.js.map +1 -1
  8. package/dist/compile.js +2 -2
  9. package/dist/compile.js.map +1 -1
  10. package/dist/connectors/config.d.ts +4 -4
  11. package/dist/connectors/config.d.ts.map +1 -1
  12. package/dist/connectors/config.js +7 -7
  13. package/dist/connectors/config.js.map +1 -1
  14. package/dist/connectors/{memory-store-mcp.d.ts → data-store-mcp.d.ts} +8 -8
  15. package/dist/connectors/data-store-mcp.d.ts.map +1 -0
  16. package/dist/connectors/{memory-store-mcp.js → data-store-mcp.js} +31 -31
  17. package/dist/connectors/data-store-mcp.js.map +1 -0
  18. package/dist/connectors/{memory-store.d.ts → data-store.d.ts} +12 -12
  19. package/dist/connectors/data-store.d.ts.map +1 -0
  20. package/dist/connectors/{memory-store.js → data-store.js} +7 -7
  21. package/dist/connectors/data-store.js.map +1 -0
  22. package/dist/connectors/index.d.ts +5 -5
  23. package/dist/connectors/index.d.ts.map +1 -1
  24. package/dist/connectors/index.js +7 -7
  25. package/dist/connectors/index.js.map +1 -1
  26. package/dist/connectors/local-model-mcp.js +1 -1
  27. package/dist/connectors/local-model-mcp.js.map +1 -1
  28. package/dist/connectors/registry.d.ts +10 -10
  29. package/dist/connectors/registry.d.ts.map +1 -1
  30. package/dist/connectors/registry.js +11 -11
  31. package/dist/connectors/registry.js.map +1 -1
  32. package/dist/connectors/sqlite-skill-store.js +1 -1
  33. package/dist/connectors/sqlite-skill-store.js.map +1 -1
  34. package/dist/connectors/types.d.ts +23 -23
  35. package/dist/connectors/types.d.ts.map +1 -1
  36. package/dist/connectors/types.js +2 -2
  37. package/dist/connectors/types.js.map +1 -1
  38. package/dist/dashboard/spa/app.js +2 -2
  39. package/dist/errors.d.ts +1 -1
  40. package/dist/errors.js +4 -4
  41. package/dist/errors.js.map +1 -1
  42. package/dist/help-content.js +27 -27
  43. package/dist/help-content.js.map +1 -1
  44. package/dist/index.d.ts +4 -4
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +3 -3
  47. package/dist/index.js.map +1 -1
  48. package/dist/lint.js +18 -18
  49. package/dist/lint.js.map +1 -1
  50. package/dist/mcp-server.d.ts +1 -1
  51. package/dist/mcp-server.js +10 -10
  52. package/dist/mcp-server.js.map +1 -1
  53. package/dist/runtime-config.d.ts +2 -2
  54. package/dist/runtime-config.d.ts.map +1 -1
  55. package/dist/runtime-config.js +1 -1
  56. package/dist/runtime-config.js.map +1 -1
  57. package/dist/runtime.js +6 -6
  58. package/dist/runtime.js.map +1 -1
  59. package/dist/skill-manager.js +1 -1
  60. package/dist/skill-manager.js.map +1 -1
  61. package/dist/testing/conformance.d.ts +8 -8
  62. package/dist/testing/conformance.d.ts.map +1 -1
  63. package/dist/testing/conformance.js +8 -8
  64. package/dist/testing/conformance.js.map +1 -1
  65. package/dist/testing/index.d.ts +2 -2
  66. package/dist/testing/index.d.ts.map +1 -1
  67. package/dist/testing/index.js +1 -1
  68. package/dist/testing/index.js.map +1 -1
  69. package/dist/trace.d.ts +3 -3
  70. package/docs/adopter-playbook.md +18 -18
  71. package/docs/configuration.md +8 -8
  72. package/docs/connector-contract-reference.md +9 -9
  73. package/docs/language-reference.md +38 -63
  74. package/docs/sqlite-skill-store.md +1 -1
  75. package/examples/README.md +5 -5
  76. package/examples/connectors/{MemoryStoreTemplate/MemoryStoreTemplate.ts → DataStoreTemplate/DataStoreTemplate.ts} +34 -34
  77. package/examples/connectors/{MemoryStoreTemplate → DataStoreTemplate}/README.md +36 -36
  78. package/examples/connectors/LocalModelTemplate/README.md +1 -1
  79. package/examples/connectors/McpConnectorTemplate/McpConnectorTemplate.ts +2 -2
  80. package/examples/connectors/McpConnectorTemplate/README.md +5 -5
  81. package/examples/connectors/README.md +3 -3
  82. package/examples/connectors/SkillStoreTemplate/README.md +1 -1
  83. package/examples/connectors/SkillStoreTemplate/SkillStoreTemplate.ts +1 -1
  84. package/examples/custom-bootstrap.example.ts +8 -8
  85. package/examples/onboarding-scaffold/README.md +7 -7
  86. package/examples/onboarding-scaffold/bootstrap.ts +10 -10
  87. package/examples/onboarding-scaffold/{file-memory-store.ts → file-data-store.ts} +18 -18
  88. package/examples/skillscripts/classify-support-ticket.skill.md +4 -4
  89. package/examples/skillscripts/doc-qa-with-citations.skill.md +1 -1
  90. package/examples/skillscripts/feedback-sentiment-scan.skill.md +3 -3
  91. package/examples/skillscripts/hello.skill.provenance.json +1 -1
  92. package/examples/skillscripts/morning-brief.skill.md +3 -3
  93. package/examples/skillscripts/service-health-watch.skill.md +1 -1
  94. package/package.json +1 -1
  95. package/scaffold/config.toml +2 -2
  96. package/scaffold/connectors.json +3 -3
  97. package/dist/connectors/memory-store-mcp.d.ts.map +0 -1
  98. package/dist/connectors/memory-store-mcp.js.map +0 -1
  99. package/dist/connectors/memory-store.d.ts.map +0 -1
  100. package/dist/connectors/memory-store.js.map +0 -1
@@ -1,40 +1,40 @@
1
- // Onboarding scaffold: file-backed MemoryStore. v0.7.3.
1
+ // Onboarding scaffold: file-backed DataStore. v0.7.3.
2
2
  //
3
3
  // JSON file as the substrate; simple JS substring + token match for "fts"
4
4
  // queries; reranks by recency. Adopters copy this file and modify for
5
5
  // their concrete substrate (e.g., swap the JSON file for a Postgres
6
6
  // table, the substring match for actual full-text search, etc.).
7
7
  //
8
- // **Scope.** Read-only `query()` per the v0.7.2 MemoryStore contract.
8
+ // **Scope.** Read-only `query()` per the v0.7.2 DataStore contract.
9
9
  // `write()` is deferred to v0.8.x bundled with the auth model — when
10
10
  // that lands, extend this file with the matching `write()` method.
11
11
 
12
12
  import { readFileSync, existsSync, writeFileSync } from "node:fs";
13
13
  import { randomUUID } from "node:crypto";
14
14
  import type {
15
- MemoryStore,
16
- MemoryWrite,
17
- MemoryWriteRecord,
18
- PortableMemory,
15
+ DataStore,
16
+ DataWrite,
17
+ DataWriteRecord,
18
+ PortableData,
19
19
  QueryFilters,
20
20
  ManifestInfo,
21
21
  StaticCapabilities,
22
22
  } from "skillscript-runtime/connectors";
23
23
 
24
- export interface FileMemoryStoreConfig {
24
+ export interface FileDataStoreConfig {
25
25
  /** Absolute path to the JSON file holding the memory array. */
26
26
  filePath: string;
27
27
  }
28
28
 
29
- interface FileMemoryRecord extends PortableMemory {
30
- /** Optional substrate-specific fields go in `metadata`; everything top-level matches PortableMemory. */
29
+ interface FileMemoryRecord extends PortableData {
30
+ /** Optional substrate-specific fields go in `metadata`; everything top-level matches PortableData. */
31
31
  }
32
32
 
33
- export class FileMemoryStore implements MemoryStore {
33
+ export class FileDataStore implements DataStore {
34
34
  static staticCapabilities(): StaticCapabilities {
35
35
  return {
36
- connector_type: "memory_store",
37
- implementation: "FileMemoryStore",
36
+ connector_type: "data_store",
37
+ implementation: "FileDataStore",
38
38
  contract_version: "1.0.0",
39
39
  features: {
40
40
  supports_fts: true,
@@ -44,9 +44,9 @@ export class FileMemoryStore implements MemoryStore {
44
44
  };
45
45
  }
46
46
 
47
- constructor(private readonly config: FileMemoryStoreConfig) {}
47
+ constructor(private readonly config: FileDataStoreConfig) {}
48
48
 
49
- async query(filters: QueryFilters): Promise<PortableMemory[]> {
49
+ async query(filters: QueryFilters): Promise<PortableData[]> {
50
50
  const records = this.loadFile();
51
51
  const queryTerms = filters.query.toLowerCase().split(/\s+/).filter((t) => t.length > 0);
52
52
 
@@ -71,7 +71,7 @@ export class FileMemoryStore implements MemoryStore {
71
71
  return scored.slice(0, filters.limit).map((s) => s.record);
72
72
  }
73
73
 
74
- async write(entry: MemoryWrite): Promise<MemoryWriteRecord> {
74
+ async write(entry: DataWrite): Promise<DataWriteRecord> {
75
75
  const records = this.loadFile();
76
76
  const id = randomUUID();
77
77
  const created_at = Math.floor(Date.now() / 1000);
@@ -102,7 +102,7 @@ export class FileMemoryStore implements MemoryStore {
102
102
  return {
103
103
  capabilities_version: "1",
104
104
  manifest: {
105
- kind: "file-memory-store",
105
+ kind: "file-data-store",
106
106
  file_path: this.config.filePath,
107
107
  record_count: this.loadFile().length,
108
108
  supports_write: true,
@@ -116,11 +116,11 @@ export class FileMemoryStore implements MemoryStore {
116
116
  const raw = readFileSync(this.config.filePath, "utf8");
117
117
  const parsed: unknown = JSON.parse(raw);
118
118
  if (!Array.isArray(parsed)) {
119
- throw new Error(`FileMemoryStore: '${this.config.filePath}' top-level must be an array of memory records.`);
119
+ throw new Error(`FileDataStore: '${this.config.filePath}' top-level must be an array of memory records.`);
120
120
  }
121
121
  return parsed as FileMemoryRecord[];
122
122
  } catch (err) {
123
- throw new Error(`FileMemoryStore: failed to read '${this.config.filePath}': ${(err as Error).message}`);
123
+ throw new Error(`FileDataStore: failed to read '${this.config.filePath}': ${(err as Error).message}`);
124
124
  }
125
125
  }
126
126
  }
@@ -15,16 +15,16 @@ route:
15
15
  needs: severity_check
16
16
  if ${CATEGORY|trim} == "sev-1":
17
17
  emit(text="PAGE: sev-1 ticket ${TICKET_ID} - ${TICKET_TEXT}")
18
- $ memorystore.write summary="sev-1 ticket ${TICKET_ID}" detail="${TICKET_TEXT}" knowledge_type=hard_won vault=private domain_tags=["support","sev-1","page"]
18
+ $ datastore.write summary="sev-1 ticket ${TICKET_ID}" detail="${TICKET_TEXT}" knowledge_type=hard_won vault=private domain_tags=["support","sev-1","page"]
19
19
  elif ${IS_SEV1|trim} == "yes":
20
20
  emit(text="PAGE: classifier said ${CATEGORY|trim} but severity-check flagged this as sev-1: ${TICKET_ID}")
21
- $ memorystore.write summary="sev-1 escalation ${TICKET_ID}" detail="category=${CATEGORY|trim} but severity-check=yes" knowledge_type=hard_won vault=private domain_tags=["support","sev-1","disagreement"]
21
+ $ datastore.write summary="sev-1 escalation ${TICKET_ID}" detail="category=${CATEGORY|trim} but severity-check=yes" knowledge_type=hard_won vault=private domain_tags=["support","sev-1","disagreement"]
22
22
  elif ${CATEGORY|trim} == "billing":
23
23
  $set TAG_FOR = "finance"
24
24
  emit(text="Tagged for ${TAG_FOR} review: ${TICKET_ID}")
25
- $ memorystore.write summary="billing ticket ${TICKET_ID}" detail="${TICKET_TEXT}" knowledge_type=common vault=private domain_tags=["support","billing"]
25
+ $ datastore.write summary="billing ticket ${TICKET_ID}" detail="${TICKET_TEXT}" knowledge_type=common vault=private domain_tags=["support","billing"]
26
26
  else:
27
27
  $ llm prompt="Draft a polite acknowledgment reply for this support ticket. Two short sentences. No greeting, no sign-off.\n\n${TICKET_TEXT}" model=qwen maxTokens=150 -> DRAFT
28
- $ memorystore.write summary="support draft ${TICKET_ID}" detail="${DRAFT|trim}" knowledge_type=common vault=private domain_tags=["support","draft"]
28
+ $ datastore.write summary="support draft ${TICKET_ID}" detail="${DRAFT|trim}" knowledge_type=common vault=private domain_tags=["support","draft"]
29
29
 
30
30
  default: route
@@ -5,7 +5,7 @@
5
5
  # Output: text
6
6
 
7
7
  answer:
8
- $ memory mode=rerank query="${QUESTION}" limit=${K} -> HITS (fallback: [])
8
+ $ data_read mode=rerank query="${QUESTION}" limit=${K} -> HITS (fallback: [])
9
9
  $ llm prompt="Answer the question using ONLY the supplied passages. Cite each claim inline as [id:<memory-id>]. Question: ${QUESTION}. Passages: ${HITS|json}" maxTokens=900 -> RESPONSE
10
10
  emit(text="${RESPONSE}")
11
11
 
@@ -6,10 +6,10 @@
6
6
  # Output: agent: support-lead
7
7
 
8
8
  fetch_new:
9
- $ memory mode=fts query="customer feedback" limit=${SCAN_LIMIT} created_after=${EVENT.fired_at_unix} -> FEEDBACK
9
+ $ data_read mode=fts query="customer feedback" limit=${SCAN_LIMIT} created_after=${EVENT.fired_at_unix} -> FEEDBACK
10
10
 
11
11
  fetch_seen:
12
- $ memory mode=fts query="sentiment-scan seen marker" limit=200 domain_tags=["sentiment-scan-seen"] -> SEEN_MARKERS
12
+ $ data_read mode=fts query="sentiment-scan seen marker" limit=200 domain_tags=["sentiment-scan-seen"] -> SEEN_MARKERS
13
13
 
14
14
  classify_and_emit:
15
15
  needs: fetch_new, fetch_seen
@@ -23,6 +23,6 @@ classify_and_emit:
23
23
  emit(text="- FRUSTRATED [${F.id|trim}] ${F.summary}")
24
24
  elif ${VERDICT|trim} == "blocking":
25
25
  emit(text="- BLOCKING [${F.id|trim}] ${F.summary}")
26
- $ memorystore.write summary="sentiment-scan seen ${F.id|trim}" detail="verdict=${VERDICT|trim} on ${EVENT.fired_at_unix}" knowledge_type=common vault=private domain_tags=["sentiment-scan-seen"] expires_at=${EVENT.fired_at_plus_7d_unix}
26
+ $ datastore.write summary="sentiment-scan seen ${F.id|trim}" detail="verdict=${VERDICT|trim} on ${EVENT.fired_at_unix}" knowledge_type=common vault=private domain_tags=["sentiment-scan-seen"] expires_at=${EVENT.fired_at_plus_7d_unix}
27
27
 
28
28
  default: classify_and_emit
@@ -2,7 +2,7 @@
2
2
  "provenance_version": "1.0",
3
3
  "language_version": "1.0",
4
4
  "compiler_version": "0.1.0-dev",
5
- "compiled_at": "2026-05-30T01:28:40.963Z",
5
+ "compiled_at": "2026-05-30T14:28:14.260Z",
6
6
  "source_skill": {
7
7
  "name": "hello"
8
8
  },
@@ -1,6 +1,6 @@
1
1
  # Skill: morning-brief
2
2
  # Status: Approved v1:037c18af
3
- # Description: Compose a daily morning brief from calendar, mailbox, and overnight memory writes when the cron trigger fires at 7am. Delivers via the agent: lifecycle hook to the receiving agent, who decides whether to surface to Slack / Discord / etc.
3
+ # Description: Compose a daily morning brief from calendar, mailbox, and overnight data writes when the cron trigger fires at 7am. Delivers via the agent: lifecycle hook to the receiving agent, who decides whether to surface to Slack / Discord / etc.
4
4
  # Vars: AGENT, BRIEF_HORIZON_HOURS=24
5
5
  # Triggers: cron: 0 7 * * *
6
6
  # OnError: morning-brief-degraded
@@ -10,10 +10,10 @@ calendar:
10
10
  $ calendar.list_events horizon_hours=${BRIEF_HORIZON_HOURS} -> EVENTS
11
11
 
12
12
  mailbox:
13
- $ memory mode=fts query="addressed:${AGENT} created_after:${EVENT.fired_at_unix}" limit=10 -> MAIL
13
+ $ data_read mode=fts query="addressed:${AGENT} created_after:${EVENT.fired_at_unix}" limit=10 -> MAIL
14
14
 
15
15
  overnight:
16
- $ memory mode=rerank query="overnight writes since:${EVENT.fired_at_plus_1d_unix}" limit=15 -> NOTES
16
+ $ data_read mode=rerank query="overnight writes since:${EVENT.fired_at_plus_1d_unix}" limit=15 -> NOTES
17
17
 
18
18
  compose: needs: calendar, mailbox, overnight
19
19
  $ llm prompt="Compose a concise morning brief. Calendar: ${EVENTS|json}. Mailbox: ${MAIL|json}. Overnight notes: ${NOTES|json}. Three sections, six bullets max each." model=qwen maxTokens=1200 -> BRIEF
@@ -10,7 +10,7 @@ probe:
10
10
  shell(command="curl -s -o /dev/null -w \"%{http_code} %{time_total}\" https://status.internal/${SVC|url}") -> RAW
11
11
  $ llm prompt="From the line '${RAW|trim}' (http_code time_seconds), and budget ${LATENCY_BUDGET_MS} ms, answer ok or degraded only." -> STATUS
12
12
  if ${STATUS|trim} == "degraded":
13
- $ memorystore.write summary="service degradation: ${SVC}" detail="probe at ${NOW}: ${RAW|trim}" domain_tags=[ops, service-health, degraded:${SVC}] vault=private knowledge_type=common expires_at=${EVENT.fired_at_plus_1d_unix} -> ACK
13
+ $ datastore.write summary="service degradation: ${SVC}" detail="probe at ${NOW}: ${RAW|trim}" domain_tags=[ops, service-health, degraded:${SVC}] vault=private knowledge_type=common expires_at=${EVENT.fired_at_plus_1d_unix} -> ACK
14
14
  emit(text="${SVC} degraded — wrote signal")
15
15
  else:
16
16
  emit(text="${SVC} ok")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skillscript-runtime",
3
- "version": "0.13.8",
3
+ "version": "0.14.0",
4
4
  "description": "Runtime, compiler, lint, CLI, and dashboard for Skillscript — a small declarative language for authoring agent workflows.",
5
5
  "license": "MIT",
6
6
  "author": "Scott Shwarts <scotts@pobox.com>",
@@ -5,8 +5,8 @@
5
5
  # Where skill files live. Filesystem SkillStore reads/writes here.
6
6
  skills_dir = "~/.skillscript/skills"
7
7
 
8
- # SQLite database for the bundled-default MemoryStore.
9
- memory_db = "~/.skillscript/memory.db"
8
+ # SQLite database for the bundled-default DataStore.
9
+ data_db = "~/.skillscript/data.db"
10
10
 
11
11
  # Plugin discovery roots (filesystem + npm packages, per the v1 spec).
12
12
  plugins_dir = "~/.skillscript/plugins"
@@ -1,5 +1,5 @@
1
1
  {
2
- "_comment": "Per-host connector wiring. Copied to ~/.skillscript/connectors.json by `skillfile init`. The top-level `substrate` key selects singleton substrate connectors (SkillStore, MemoryStore, LocalModel). All other top-level keys define named MCP connector instances referenced via `$ name args` in skill source.",
2
+ "_comment": "Per-host connector wiring. Copied to ~/.skillscript/connectors.json by `skillfile init`. The top-level `substrate` key selects singleton substrate connectors (SkillStore, DataStore, LocalModel). All other top-level keys define named MCP connector instances referenced via `$ name args` in skill source.",
3
3
 
4
4
  "_comment_substrate": "Substrate selection — runtime hosts (MCP server + web dashboard) honor whatever you configure here. The bundled CLI authoring commands (`skillfile compile`, `skillfile lint`, `skillfile audit`, `skillfile list`) stay filesystem-pinned regardless — they're the FS-authoring loop. Three legs: bundled filesystem, bundled sqlite, adopter-custom (write your own SkillStore impl).",
5
5
 
@@ -7,7 +7,7 @@
7
7
 
8
8
  "substrate": {
9
9
  "skill_store": "filesystem",
10
- "memory_store": "sqlite",
10
+ "data_store": "sqlite",
11
11
  "local_model": null,
12
12
 
13
13
  "_example_sqlite_skills": "Uncomment to switch skill storage to SQLite. Adopter-portable; persists between restarts. dbPath defaults to <skillsDir>/skills.db.",
@@ -31,7 +31,7 @@
31
31
  }
32
32
  },
33
33
 
34
- "_comment_classes": "Closed-set class registry for MCP connectors. Available: `RemoteMcpConnector` (stdio-bridged remote MCP). Use `runtime_capabilities({include:['mcpConnectorClasses']})` to introspect the available class set. The `LocalModelMcpConnector` + `MemoryStoreMcpConnector` bridges (for `$ llm` / `$ memory` canonical dispatch) auto-wire when their substrates are configured above.",
34
+ "_comment_classes": "Closed-set class registry for MCP connectors. Available: `RemoteMcpConnector` (stdio-bridged remote MCP). Use `runtime_capabilities({include:['mcpConnectorClasses']})` to introspect the available class set. The `LocalModelMcpConnector` + `DataStoreMcpConnector` bridges (for `$ llm` / `$ data_read` canonical dispatch) auto-wire when their substrates are configured above.",
35
35
 
36
36
  "_comment_security": "This file is secret-bearing when filled with real credentials. The repo's `.gitignore` excludes `connectors.json` (the live copy) but tracks `connectors.json.example`. Prefer `${VAR}` substitution over in-file literals for deployments.",
37
37
 
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-store-mcp.d.ts","sourceRoot":"","sources":["../../src/connectors/memory-store-mcp.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,YAAY,EACZ,WAAW,EAGZ,MAAM,YAAY,CAAC;AAIpB,qBAAa,uBAAwB,YAAW,YAAY;IA6B9C,OAAO,CAAC,QAAQ,CAAC,WAAW;IA5BxC,MAAM,CAAC,kBAAkB,IAAI,wBAAwB;IAgBrD;;;;;;;OAOG;IACH,MAAM,CAAC,WAAW,IAAI,MAAM,EAAE;gBAID,WAAW,EAAE,WAAW;IAE/C,IAAI,CACR,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,aAAa,CAAC,EAAE,cAAc,GAC7B,OAAO,CAAC,OAAO,CAAC;YAWL,aAAa;YA4Bb,aAAa;IAwBrB,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;CAUzD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-store-mcp.js","sourceRoot":"","sources":["../../src/connectors/memory-store-mcp.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-store.d.ts","sourceRoot":"","sources":["../../src/connectors/memory-store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,uBAAuB,EACvB,YAAY,EACb,MAAM,YAAY,CAAC;AAgCpB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,iBAAkB,YAAW,WAAW;IACnD,MAAM,CAAC,kBAAkB,IAAI,uBAAuB;IAiBpD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAe;gBAEtB,MAAM,EAAE,uBAAuB;IAQ3C,OAAO,CAAC,SAAS;IAwCjB;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAgBpB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAQ/C,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAqCvD,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAkBvD;;;;;;OAMG;IACG,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAoB3D,kDAAkD;IAClD,MAAM,CAAC,MAAM,EAAE;QACb,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,IAAI;IA6BR,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,WAAW;IAiBnB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,gBAAgB;CAUzB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-store.js","sourceRoot":"","sources":["../../src/connectors/memory-store.ts"],"names":[],"mappings":"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"}