htm 0.0.1 → 0.0.10
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.
- checksums.yaml +4 -4
- data/.aigcm_msg +1 -0
- data/.architecture/reviews/comprehensive-codebase-review.md +577 -0
- data/.claude/settings.local.json +92 -0
- data/.envrc +1 -0
- data/.irbrc +283 -80
- data/.tbls.yml +31 -0
- data/CHANGELOG.md +314 -16
- data/CLAUDE.md +603 -0
- data/README.md +76 -5
- data/Rakefile +5 -0
- data/SETUP.md +132 -101
- data/db/migrate/{20250101000001_enable_extensions.rb → 00001_enable_extensions.rb} +0 -1
- data/db/migrate/00002_create_robots.rb +11 -0
- data/db/migrate/00003_create_file_sources.rb +20 -0
- data/db/migrate/00004_create_nodes.rb +65 -0
- data/db/migrate/00005_create_tags.rb +13 -0
- data/db/migrate/00006_create_node_tags.rb +18 -0
- data/db/migrate/00007_create_robot_nodes.rb +26 -0
- data/db/migrate/00009_add_working_memory_to_robot_nodes.rb +12 -0
- data/db/schema.sql +390 -36
- data/docs/api/database.md +19 -232
- data/docs/api/embedding-service.md +1 -7
- data/docs/api/htm.md +305 -364
- data/docs/api/index.md +1 -7
- data/docs/api/long-term-memory.md +342 -590
- data/docs/api/yard/HTM/ActiveRecordConfig.md +23 -0
- data/docs/api/yard/HTM/AuthorizationError.md +11 -0
- data/docs/api/yard/HTM/CircuitBreaker.md +92 -0
- data/docs/api/yard/HTM/CircuitBreakerOpenError.md +34 -0
- data/docs/api/yard/HTM/Configuration.md +175 -0
- data/docs/api/yard/HTM/Database.md +99 -0
- data/docs/api/yard/HTM/DatabaseError.md +14 -0
- data/docs/api/yard/HTM/EmbeddingError.md +18 -0
- data/docs/api/yard/HTM/EmbeddingService.md +58 -0
- data/docs/api/yard/HTM/Error.md +11 -0
- data/docs/api/yard/HTM/JobAdapter.md +39 -0
- data/docs/api/yard/HTM/LongTermMemory.md +342 -0
- data/docs/api/yard/HTM/NotFoundError.md +17 -0
- data/docs/api/yard/HTM/Observability.md +107 -0
- data/docs/api/yard/HTM/QueryTimeoutError.md +19 -0
- data/docs/api/yard/HTM/Railtie.md +27 -0
- data/docs/api/yard/HTM/ResourceExhaustedError.md +13 -0
- data/docs/api/yard/HTM/TagError.md +18 -0
- data/docs/api/yard/HTM/TagService.md +67 -0
- data/docs/api/yard/HTM/Timeframe/Result.md +24 -0
- data/docs/api/yard/HTM/Timeframe.md +40 -0
- data/docs/api/yard/HTM/TimeframeExtractor/Result.md +24 -0
- data/docs/api/yard/HTM/TimeframeExtractor.md +45 -0
- data/docs/api/yard/HTM/ValidationError.md +20 -0
- data/docs/api/yard/HTM/WorkingMemory.md +131 -0
- data/docs/api/yard/HTM.md +80 -0
- data/docs/api/yard/index.csv +179 -0
- data/docs/api/yard-reference.md +51 -0
- data/docs/architecture/adrs/001-postgresql-timescaledb.md +1 -1
- data/docs/architecture/adrs/003-ollama-embeddings.md +1 -1
- data/docs/architecture/adrs/010-redis-working-memory-rejected.md +2 -27
- data/docs/architecture/adrs/index.md +2 -13
- data/docs/architecture/hive-mind.md +165 -166
- data/docs/architecture/index.md +2 -2
- data/docs/architecture/overview.md +5 -171
- data/docs/architecture/two-tier-memory.md +1 -35
- data/docs/assets/images/adr-010-current-architecture.svg +37 -0
- data/docs/assets/images/adr-010-proposed-architecture.svg +48 -0
- data/docs/assets/images/adr-dependency-tree.svg +93 -0
- data/docs/assets/images/class-hierarchy.svg +55 -0
- data/docs/assets/images/exception-hierarchy.svg +45 -0
- data/docs/assets/images/htm-architecture-overview.svg +83 -0
- data/docs/assets/images/htm-complete-memory-flow.svg +160 -0
- data/docs/assets/images/htm-context-assembly-flow.svg +148 -0
- data/docs/assets/images/htm-eviction-process.svg +141 -0
- data/docs/assets/images/htm-memory-addition-flow.svg +138 -0
- data/docs/assets/images/htm-memory-recall-flow.svg +152 -0
- data/docs/assets/images/htm-node-states.svg +123 -0
- data/docs/assets/images/project-structure.svg +78 -0
- data/docs/assets/images/test-directory-structure.svg +38 -0
- data/{dbdoc → docs/database}/README.md +127 -125
- data/docs/database/public.file_sources.md +42 -0
- data/docs/database/public.file_sources.svg +211 -0
- data/{dbdoc → docs/database}/public.node_tags.md +7 -8
- data/docs/database/public.node_tags.svg +239 -0
- data/{dbdoc → docs/database}/public.nodes.md +22 -17
- data/docs/database/public.nodes.svg +271 -0
- data/docs/database/public.robot_nodes.md +46 -0
- data/docs/database/public.robot_nodes.svg +243 -0
- data/{dbdoc → docs/database}/public.robots.md +2 -3
- data/docs/database/public.robots.svg +161 -0
- data/docs/database/public.tags.svg +139 -0
- data/{dbdoc → docs/database}/schema.json +941 -630
- data/docs/database/schema.svg +282 -0
- data/docs/development/index.md +1 -29
- data/docs/development/schema.md +134 -309
- data/docs/development/testing.md +1 -9
- data/docs/getting-started/index.md +47 -0
- data/docs/{installation.md → getting-started/installation.md} +2 -2
- data/docs/{quick-start.md → getting-started/quick-start.md} +5 -5
- data/docs/guides/adding-memories.md +295 -643
- data/docs/guides/recalling-memories.md +36 -1
- data/docs/guides/search-strategies.md +85 -51
- data/docs/images/htm-er-diagram.svg +156 -0
- data/docs/index.md +16 -31
- data/docs/multi_framework_support.md +4 -4
- data/examples/README.md +280 -0
- data/examples/basic_usage.rb +18 -16
- data/examples/cli_app/htm_cli.rb +146 -8
- data/examples/cli_app/temp.log +93 -0
- data/examples/custom_llm_configuration.rb +1 -2
- data/examples/example_app/app.rb +11 -14
- data/examples/file_loader_usage.rb +177 -0
- data/examples/robot_groups/lib/robot_group.rb +419 -0
- data/examples/robot_groups/lib/working_memory_channel.rb +140 -0
- data/examples/robot_groups/multi_process.rb +286 -0
- data/examples/robot_groups/robot_worker.rb +136 -0
- data/examples/robot_groups/same_process.rb +229 -0
- data/examples/sinatra_app/Gemfile +1 -0
- data/examples/sinatra_app/Gemfile.lock +166 -0
- data/examples/sinatra_app/app.rb +219 -24
- data/examples/timeframe_demo.rb +276 -0
- data/lib/htm/active_record_config.rb +10 -3
- data/lib/htm/circuit_breaker.rb +202 -0
- data/lib/htm/configuration.rb +313 -80
- data/lib/htm/database.rb +67 -36
- data/lib/htm/embedding_service.rb +39 -2
- data/lib/htm/errors.rb +131 -11
- data/lib/htm/{sinatra.rb → integrations/sinatra.rb} +87 -12
- data/lib/htm/job_adapter.rb +10 -3
- data/lib/htm/jobs/generate_embedding_job.rb +5 -4
- data/lib/htm/jobs/generate_tags_job.rb +4 -0
- data/lib/htm/loaders/markdown_loader.rb +263 -0
- data/lib/htm/loaders/paragraph_chunker.rb +112 -0
- data/lib/htm/long_term_memory.rb +601 -321
- data/lib/htm/models/file_source.rb +99 -0
- data/lib/htm/models/node.rb +116 -12
- data/lib/htm/models/robot.rb +53 -4
- data/lib/htm/models/robot_node.rb +51 -0
- data/lib/htm/models/tag.rb +302 -0
- data/lib/htm/observability.rb +395 -0
- data/lib/htm/tag_service.rb +60 -3
- data/lib/htm/tasks.rb +29 -0
- data/lib/htm/timeframe.rb +194 -0
- data/lib/htm/timeframe_extractor.rb +307 -0
- data/lib/htm/version.rb +1 -1
- data/lib/htm/working_memory.rb +165 -70
- data/lib/htm.rb +352 -133
- data/lib/tasks/doc.rake +300 -0
- data/lib/tasks/files.rake +299 -0
- data/lib/tasks/htm.rake +188 -2
- data/lib/tasks/jobs.rake +10 -12
- data/lib/tasks/tags.rake +194 -0
- data/mkdocs.yml +91 -9
- data/notes/ARCHITECTURE_REVIEW.md +1167 -0
- data/notes/IMPLEMENTATION_SUMMARY.md +606 -0
- data/notes/MULTI_FRAMEWORK_IMPLEMENTATION.md +451 -0
- data/notes/next_steps.md +100 -0
- data/notes/plan.md +627 -0
- data/notes/tag_ontology_enhancement_ideas.md +222 -0
- data/notes/timescaledb_removal_summary.md +200 -0
- metadata +177 -37
- data/db/migrate/20250101000002_create_robots.rb +0 -14
- data/db/migrate/20250101000003_create_nodes.rb +0 -42
- data/db/migrate/20250101000005_create_tags.rb +0 -38
- data/db/migrate/20250101000007_add_node_vector_indexes.rb +0 -30
- data/dbdoc/public.node_tags.svg +0 -112
- data/dbdoc/public.nodes.svg +0 -118
- data/dbdoc/public.robots.svg +0 -90
- data/dbdoc/public.tags.svg +0 -60
- data/dbdoc/schema.svg +0 -154
- data/{dbdoc → docs/database}/public.node_stats.md +0 -0
- data/{dbdoc → docs/database}/public.node_stats.svg +0 -0
- data/{dbdoc → docs/database}/public.nodes_tags.md +0 -0
- data/{dbdoc → docs/database}/public.nodes_tags.svg +0 -0
- data/{dbdoc → docs/database}/public.ontology_structure.md +0 -0
- data/{dbdoc → docs/database}/public.ontology_structure.svg +0 -0
- data/{dbdoc → docs/database}/public.operations_log.md +0 -0
- data/{dbdoc → docs/database}/public.operations_log.svg +0 -0
- data/{dbdoc → docs/database}/public.relationships.md +0 -0
- data/{dbdoc → docs/database}/public.relationships.svg +0 -0
- data/{dbdoc → docs/database}/public.robot_activity.md +0 -0
- data/{dbdoc → docs/database}/public.robot_activity.svg +0 -0
- data/{dbdoc → docs/database}/public.schema_migrations.md +0 -0
- data/{dbdoc → docs/database}/public.schema_migrations.svg +0 -0
- data/{dbdoc → docs/database}/public.tags.md +3 -3
- /data/{dbdoc → docs/database}/public.topic_relationships.md +0 -0
- /data/{dbdoc → docs/database}/public.topic_relationships.svg +0 -0
|
@@ -2,28 +2,61 @@
|
|
|
2
2
|
"name": "htm_development",
|
|
3
3
|
"tables": [
|
|
4
4
|
{
|
|
5
|
-
"name": "public.
|
|
5
|
+
"name": "public.file_sources",
|
|
6
6
|
"type": "BASE TABLE",
|
|
7
|
-
"comment": "
|
|
7
|
+
"comment": "Source file metadata for loaded documents",
|
|
8
8
|
"columns": [
|
|
9
|
+
{
|
|
10
|
+
"name": "created_at",
|
|
11
|
+
"type": "timestamp with time zone",
|
|
12
|
+
"nullable": true,
|
|
13
|
+
"default": "CURRENT_TIMESTAMP"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"name": "file_hash",
|
|
17
|
+
"type": "varchar(64)",
|
|
18
|
+
"nullable": true,
|
|
19
|
+
"comment": "SHA-256 hash of file content"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"name": "file_path",
|
|
23
|
+
"type": "text",
|
|
24
|
+
"nullable": false,
|
|
25
|
+
"comment": "Absolute path to source file"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "file_size",
|
|
29
|
+
"type": "integer",
|
|
30
|
+
"nullable": true,
|
|
31
|
+
"comment": "File size in bytes"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "frontmatter",
|
|
35
|
+
"type": "jsonb",
|
|
36
|
+
"nullable": true,
|
|
37
|
+
"default": "'{}'::jsonb",
|
|
38
|
+
"comment": "Parsed YAML frontmatter"
|
|
39
|
+
},
|
|
9
40
|
{
|
|
10
41
|
"name": "id",
|
|
11
42
|
"type": "bigint",
|
|
12
43
|
"nullable": false,
|
|
13
|
-
"default": "nextval('
|
|
44
|
+
"default": "nextval('file_sources_id_seq'::regclass)"
|
|
14
45
|
},
|
|
15
46
|
{
|
|
16
|
-
"name": "
|
|
17
|
-
"type": "
|
|
18
|
-
"nullable":
|
|
47
|
+
"name": "last_synced_at",
|
|
48
|
+
"type": "timestamp with time zone",
|
|
49
|
+
"nullable": true,
|
|
50
|
+
"comment": "When file was last synced to HTM"
|
|
19
51
|
},
|
|
20
52
|
{
|
|
21
|
-
"name": "
|
|
22
|
-
"type": "
|
|
23
|
-
"nullable":
|
|
53
|
+
"name": "mtime",
|
|
54
|
+
"type": "timestamp with time zone",
|
|
55
|
+
"nullable": true,
|
|
56
|
+
"comment": "File modification time"
|
|
24
57
|
},
|
|
25
58
|
{
|
|
26
|
-
"name": "
|
|
59
|
+
"name": "updated_at",
|
|
27
60
|
"type": "timestamp with time zone",
|
|
28
61
|
"nullable": true,
|
|
29
62
|
"default": "CURRENT_TIMESTAMP"
|
|
@@ -31,74 +64,118 @@
|
|
|
31
64
|
],
|
|
32
65
|
"indexes": [
|
|
33
66
|
{
|
|
34
|
-
"name": "
|
|
35
|
-
"def": "CREATE UNIQUE INDEX
|
|
36
|
-
"table": "public.
|
|
67
|
+
"name": "file_sources_pkey",
|
|
68
|
+
"def": "CREATE UNIQUE INDEX file_sources_pkey ON public.file_sources USING btree (id)",
|
|
69
|
+
"table": "public.file_sources",
|
|
37
70
|
"columns": [
|
|
38
71
|
"id"
|
|
39
72
|
]
|
|
40
73
|
},
|
|
41
74
|
{
|
|
42
|
-
"name": "
|
|
43
|
-
"def": "CREATE
|
|
44
|
-
"table": "public.
|
|
75
|
+
"name": "idx_file_sources_hash",
|
|
76
|
+
"def": "CREATE INDEX idx_file_sources_hash ON public.file_sources USING btree (file_hash)",
|
|
77
|
+
"table": "public.file_sources",
|
|
45
78
|
"columns": [
|
|
46
|
-
"
|
|
47
|
-
"tag_id"
|
|
79
|
+
"file_hash"
|
|
48
80
|
]
|
|
49
81
|
},
|
|
50
82
|
{
|
|
51
|
-
"name": "
|
|
52
|
-
"def": "CREATE INDEX
|
|
53
|
-
"table": "public.
|
|
83
|
+
"name": "idx_file_sources_last_synced",
|
|
84
|
+
"def": "CREATE INDEX idx_file_sources_last_synced ON public.file_sources USING btree (last_synced_at)",
|
|
85
|
+
"table": "public.file_sources",
|
|
54
86
|
"columns": [
|
|
55
|
-
"
|
|
87
|
+
"last_synced_at"
|
|
56
88
|
]
|
|
57
89
|
},
|
|
58
90
|
{
|
|
59
|
-
"name": "
|
|
60
|
-
"def": "CREATE INDEX
|
|
61
|
-
"table": "public.
|
|
91
|
+
"name": "idx_file_sources_path_unique",
|
|
92
|
+
"def": "CREATE UNIQUE INDEX idx_file_sources_path_unique ON public.file_sources USING btree (file_path)",
|
|
93
|
+
"table": "public.file_sources",
|
|
62
94
|
"columns": [
|
|
63
|
-
"
|
|
95
|
+
"file_path"
|
|
64
96
|
]
|
|
65
97
|
}
|
|
66
98
|
],
|
|
67
99
|
"constraints": [
|
|
68
100
|
{
|
|
69
|
-
"name": "
|
|
101
|
+
"name": "file_sources_pkey",
|
|
70
102
|
"type": "PRIMARY KEY",
|
|
71
103
|
"def": "PRIMARY KEY (id)",
|
|
72
|
-
"table": "public.
|
|
104
|
+
"table": "public.file_sources",
|
|
73
105
|
"referenced_table": "",
|
|
74
106
|
"columns": [
|
|
75
107
|
"id"
|
|
76
108
|
]
|
|
109
|
+
}
|
|
110
|
+
]
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"name": "public.node_tags",
|
|
114
|
+
"type": "BASE TABLE",
|
|
115
|
+
"comment": "Join table connecting nodes to tags (many-to-many)",
|
|
116
|
+
"columns": [
|
|
117
|
+
{
|
|
118
|
+
"name": "created_at",
|
|
119
|
+
"type": "timestamp with time zone",
|
|
120
|
+
"nullable": true,
|
|
121
|
+
"default": "CURRENT_TIMESTAMP",
|
|
122
|
+
"comment": "When this association was created"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"name": "id",
|
|
126
|
+
"type": "bigint",
|
|
127
|
+
"nullable": false,
|
|
128
|
+
"default": "nextval('node_tags_id_seq'::regclass)"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"name": "node_id",
|
|
132
|
+
"type": "bigint",
|
|
133
|
+
"nullable": false,
|
|
134
|
+
"comment": "ID of the node being tagged"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"name": "tag_id",
|
|
138
|
+
"type": "bigint",
|
|
139
|
+
"nullable": false,
|
|
140
|
+
"comment": "ID of the tag being applied"
|
|
141
|
+
}
|
|
142
|
+
],
|
|
143
|
+
"indexes": [
|
|
144
|
+
{
|
|
145
|
+
"name": "idx_node_tags_node_id",
|
|
146
|
+
"def": "CREATE INDEX idx_node_tags_node_id ON public.node_tags USING btree (node_id)",
|
|
147
|
+
"table": "public.node_tags",
|
|
148
|
+
"columns": [
|
|
149
|
+
"node_id"
|
|
150
|
+
]
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"name": "idx_node_tags_tag_id",
|
|
154
|
+
"def": "CREATE INDEX idx_node_tags_tag_id ON public.node_tags USING btree (tag_id)",
|
|
155
|
+
"table": "public.node_tags",
|
|
156
|
+
"columns": [
|
|
157
|
+
"tag_id"
|
|
158
|
+
]
|
|
77
159
|
},
|
|
78
160
|
{
|
|
79
161
|
"name": "idx_node_tags_unique",
|
|
80
|
-
"
|
|
81
|
-
"def": "UNIQUE (node_id, tag_id)",
|
|
162
|
+
"def": "CREATE UNIQUE INDEX idx_node_tags_unique ON public.node_tags USING btree (node_id, tag_id)",
|
|
82
163
|
"table": "public.node_tags",
|
|
83
|
-
"referenced_table": "",
|
|
84
164
|
"columns": [
|
|
85
165
|
"node_id",
|
|
86
166
|
"tag_id"
|
|
87
167
|
]
|
|
88
168
|
},
|
|
89
169
|
{
|
|
90
|
-
"name": "
|
|
91
|
-
"
|
|
92
|
-
"def": "FOREIGN KEY (node_id) REFERENCES nodes(id) ON DELETE CASCADE",
|
|
170
|
+
"name": "node_tags_pkey",
|
|
171
|
+
"def": "CREATE UNIQUE INDEX node_tags_pkey ON public.node_tags USING btree (id)",
|
|
93
172
|
"table": "public.node_tags",
|
|
94
|
-
"referenced_table": "nodes",
|
|
95
173
|
"columns": [
|
|
96
|
-
"node_id"
|
|
97
|
-
],
|
|
98
|
-
"referenced_columns": [
|
|
99
174
|
"id"
|
|
100
175
|
]
|
|
101
|
-
}
|
|
176
|
+
}
|
|
177
|
+
],
|
|
178
|
+
"constraints": [
|
|
102
179
|
{
|
|
103
180
|
"name": "fk_rails_b51cdcc57f",
|
|
104
181
|
"type": "FOREIGN KEY",
|
|
@@ -111,85 +188,237 @@
|
|
|
111
188
|
"referenced_columns": [
|
|
112
189
|
"id"
|
|
113
190
|
]
|
|
114
|
-
}
|
|
115
|
-
]
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
"name": "public.schema_migrations",
|
|
119
|
-
"type": "BASE TABLE",
|
|
120
|
-
"columns": [
|
|
121
|
-
{
|
|
122
|
-
"name": "version",
|
|
123
|
-
"type": "varchar",
|
|
124
|
-
"nullable": false
|
|
125
|
-
}
|
|
126
|
-
],
|
|
127
|
-
"indexes": [
|
|
191
|
+
},
|
|
128
192
|
{
|
|
129
|
-
"name": "
|
|
130
|
-
"
|
|
131
|
-
"
|
|
193
|
+
"name": "fk_rails_ebc9aafd9f",
|
|
194
|
+
"type": "FOREIGN KEY",
|
|
195
|
+
"def": "FOREIGN KEY (node_id) REFERENCES nodes(id) ON DELETE CASCADE",
|
|
196
|
+
"table": "public.node_tags",
|
|
197
|
+
"referenced_table": "nodes",
|
|
132
198
|
"columns": [
|
|
133
|
-
"
|
|
199
|
+
"node_id"
|
|
200
|
+
],
|
|
201
|
+
"referenced_columns": [
|
|
202
|
+
"id"
|
|
134
203
|
]
|
|
135
|
-
}
|
|
136
|
-
],
|
|
137
|
-
"constraints": [
|
|
204
|
+
},
|
|
138
205
|
{
|
|
139
|
-
"name": "
|
|
206
|
+
"name": "node_tags_pkey",
|
|
140
207
|
"type": "PRIMARY KEY",
|
|
141
|
-
"def": "PRIMARY KEY (
|
|
142
|
-
"table": "public.
|
|
208
|
+
"def": "PRIMARY KEY (id)",
|
|
209
|
+
"table": "public.node_tags",
|
|
143
210
|
"referenced_table": "",
|
|
144
211
|
"columns": [
|
|
145
|
-
"
|
|
212
|
+
"id"
|
|
146
213
|
]
|
|
147
214
|
}
|
|
148
215
|
]
|
|
149
216
|
},
|
|
150
217
|
{
|
|
151
|
-
"name": "public.
|
|
218
|
+
"name": "public.nodes",
|
|
152
219
|
"type": "BASE TABLE",
|
|
153
|
-
"comment": "
|
|
220
|
+
"comment": "Core memory storage for conversation messages and context",
|
|
154
221
|
"columns": [
|
|
155
222
|
{
|
|
156
|
-
"name": "
|
|
157
|
-
"type": "
|
|
223
|
+
"name": "access_count",
|
|
224
|
+
"type": "integer",
|
|
158
225
|
"nullable": false,
|
|
159
|
-
"default": "
|
|
226
|
+
"default": "0",
|
|
227
|
+
"comment": "Number of times this node has been accessed/retrieved"
|
|
160
228
|
},
|
|
161
229
|
{
|
|
162
|
-
"name": "
|
|
230
|
+
"name": "chunk_position",
|
|
231
|
+
"type": "integer",
|
|
232
|
+
"nullable": true,
|
|
233
|
+
"comment": "Position within source file (0-indexed)"
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"name": "content",
|
|
163
237
|
"type": "text",
|
|
238
|
+
"nullable": false,
|
|
239
|
+
"comment": "The conversation message/utterance content"
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"name": "content_hash",
|
|
243
|
+
"type": "varchar(64)",
|
|
164
244
|
"nullable": true,
|
|
165
|
-
"comment": "
|
|
245
|
+
"comment": "SHA-256 hash of content for deduplication"
|
|
166
246
|
},
|
|
167
247
|
{
|
|
168
248
|
"name": "created_at",
|
|
169
249
|
"type": "timestamp with time zone",
|
|
170
250
|
"nullable": true,
|
|
171
251
|
"default": "CURRENT_TIMESTAMP",
|
|
172
|
-
"comment": "When
|
|
252
|
+
"comment": "When this memory was created"
|
|
173
253
|
},
|
|
174
254
|
{
|
|
175
|
-
"name": "
|
|
255
|
+
"name": "deleted_at",
|
|
256
|
+
"type": "timestamp with time zone",
|
|
257
|
+
"nullable": true,
|
|
258
|
+
"comment": "Soft delete timestamp - node is considered deleted when set"
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"name": "embedding",
|
|
262
|
+
"type": "vector(2000)",
|
|
263
|
+
"nullable": true,
|
|
264
|
+
"comment": "Vector embedding (max 2000 dimensions) for semantic search"
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"name": "embedding_dimension",
|
|
268
|
+
"type": "integer",
|
|
269
|
+
"nullable": true,
|
|
270
|
+
"comment": "Actual number of dimensions used in the embedding vector (max 2000)"
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
"name": "id",
|
|
274
|
+
"type": "bigint",
|
|
275
|
+
"nullable": false,
|
|
276
|
+
"default": "nextval('nodes_id_seq'::regclass)"
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"name": "last_accessed",
|
|
176
280
|
"type": "timestamp with time zone",
|
|
177
281
|
"nullable": true,
|
|
178
282
|
"default": "CURRENT_TIMESTAMP",
|
|
179
|
-
"comment": "
|
|
283
|
+
"comment": "When this memory was last accessed"
|
|
180
284
|
},
|
|
181
285
|
{
|
|
182
286
|
"name": "metadata",
|
|
183
287
|
"type": "jsonb",
|
|
288
|
+
"nullable": false,
|
|
289
|
+
"default": "'{}'::jsonb",
|
|
290
|
+
"comment": "Flexible metadata storage (memory_type, importance, source, etc.)"
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"name": "source_id",
|
|
294
|
+
"type": "bigint",
|
|
295
|
+
"nullable": true,
|
|
296
|
+
"comment": "Reference to source file (for file-loaded nodes)"
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
"name": "token_count",
|
|
300
|
+
"type": "integer",
|
|
301
|
+
"nullable": true,
|
|
302
|
+
"comment": "Number of tokens in the content (for context budget management)"
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"name": "updated_at",
|
|
306
|
+
"type": "timestamp with time zone",
|
|
184
307
|
"nullable": true,
|
|
185
|
-
"
|
|
308
|
+
"default": "CURRENT_TIMESTAMP",
|
|
309
|
+
"comment": "When this memory was last modified"
|
|
186
310
|
}
|
|
187
311
|
],
|
|
188
312
|
"indexes": [
|
|
189
313
|
{
|
|
190
|
-
"name": "
|
|
191
|
-
"def": "CREATE
|
|
192
|
-
"table": "public.
|
|
314
|
+
"name": "idx_nodes_access_count",
|
|
315
|
+
"def": "CREATE INDEX idx_nodes_access_count ON public.nodes USING btree (access_count)",
|
|
316
|
+
"table": "public.nodes",
|
|
317
|
+
"columns": [
|
|
318
|
+
"access_count"
|
|
319
|
+
]
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
"name": "idx_nodes_content_gin",
|
|
323
|
+
"def": "CREATE INDEX idx_nodes_content_gin ON public.nodes USING gin (to_tsvector('english'::regconfig, content))",
|
|
324
|
+
"table": "public.nodes",
|
|
325
|
+
"columns": [
|
|
326
|
+
"to_tsvector"
|
|
327
|
+
]
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"name": "idx_nodes_content_hash_unique",
|
|
331
|
+
"def": "CREATE UNIQUE INDEX idx_nodes_content_hash_unique ON public.nodes USING btree (content_hash)",
|
|
332
|
+
"table": "public.nodes",
|
|
333
|
+
"columns": [
|
|
334
|
+
"content_hash"
|
|
335
|
+
]
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"name": "idx_nodes_content_trgm",
|
|
339
|
+
"def": "CREATE INDEX idx_nodes_content_trgm ON public.nodes USING gin (content gin_trgm_ops)",
|
|
340
|
+
"table": "public.nodes",
|
|
341
|
+
"columns": [
|
|
342
|
+
"content"
|
|
343
|
+
]
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
"name": "idx_nodes_created_at",
|
|
347
|
+
"def": "CREATE INDEX idx_nodes_created_at ON public.nodes USING btree (created_at)",
|
|
348
|
+
"table": "public.nodes",
|
|
349
|
+
"columns": [
|
|
350
|
+
"created_at"
|
|
351
|
+
]
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
"name": "idx_nodes_deleted_at",
|
|
355
|
+
"def": "CREATE INDEX idx_nodes_deleted_at ON public.nodes USING btree (deleted_at)",
|
|
356
|
+
"table": "public.nodes",
|
|
357
|
+
"columns": [
|
|
358
|
+
"deleted_at"
|
|
359
|
+
]
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
"name": "idx_nodes_embedding",
|
|
363
|
+
"def": "CREATE INDEX idx_nodes_embedding ON public.nodes USING hnsw (embedding vector_cosine_ops) WITH (m='16', ef_construction='64')",
|
|
364
|
+
"table": "public.nodes",
|
|
365
|
+
"columns": [
|
|
366
|
+
"embedding"
|
|
367
|
+
]
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"name": "idx_nodes_last_accessed",
|
|
371
|
+
"def": "CREATE INDEX idx_nodes_last_accessed ON public.nodes USING btree (last_accessed)",
|
|
372
|
+
"table": "public.nodes",
|
|
373
|
+
"columns": [
|
|
374
|
+
"last_accessed"
|
|
375
|
+
]
|
|
376
|
+
},
|
|
377
|
+
{
|
|
378
|
+
"name": "idx_nodes_metadata",
|
|
379
|
+
"def": "CREATE INDEX idx_nodes_metadata ON public.nodes USING gin (metadata)",
|
|
380
|
+
"table": "public.nodes",
|
|
381
|
+
"columns": [
|
|
382
|
+
"metadata"
|
|
383
|
+
]
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"name": "idx_nodes_not_deleted_created_at",
|
|
387
|
+
"def": "CREATE INDEX idx_nodes_not_deleted_created_at ON public.nodes USING btree (created_at) WHERE (deleted_at IS NULL)",
|
|
388
|
+
"table": "public.nodes",
|
|
389
|
+
"columns": [
|
|
390
|
+
"created_at"
|
|
391
|
+
]
|
|
392
|
+
},
|
|
393
|
+
{
|
|
394
|
+
"name": "idx_nodes_source_chunk_position",
|
|
395
|
+
"def": "CREATE INDEX idx_nodes_source_chunk_position ON public.nodes USING btree (source_id, chunk_position)",
|
|
396
|
+
"table": "public.nodes",
|
|
397
|
+
"columns": [
|
|
398
|
+
"source_id",
|
|
399
|
+
"chunk_position"
|
|
400
|
+
]
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
"name": "idx_nodes_source_id",
|
|
404
|
+
"def": "CREATE INDEX idx_nodes_source_id ON public.nodes USING btree (source_id)",
|
|
405
|
+
"table": "public.nodes",
|
|
406
|
+
"columns": [
|
|
407
|
+
"source_id"
|
|
408
|
+
]
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
"name": "idx_nodes_updated_at",
|
|
412
|
+
"def": "CREATE INDEX idx_nodes_updated_at ON public.nodes USING btree (updated_at)",
|
|
413
|
+
"table": "public.nodes",
|
|
414
|
+
"columns": [
|
|
415
|
+
"updated_at"
|
|
416
|
+
]
|
|
417
|
+
},
|
|
418
|
+
{
|
|
419
|
+
"name": "nodes_pkey",
|
|
420
|
+
"def": "CREATE UNIQUE INDEX nodes_pkey ON public.nodes USING btree (id)",
|
|
421
|
+
"table": "public.nodes",
|
|
193
422
|
"columns": [
|
|
194
423
|
"id"
|
|
195
424
|
]
|
|
@@ -197,10 +426,33 @@
|
|
|
197
426
|
],
|
|
198
427
|
"constraints": [
|
|
199
428
|
{
|
|
200
|
-
"name": "
|
|
429
|
+
"name": "check_embedding_dimension",
|
|
430
|
+
"type": "CHECK",
|
|
431
|
+
"def": "CHECK (((embedding_dimension IS NULL) OR ((embedding_dimension \u003e 0) AND (embedding_dimension \u003c= 2000))))",
|
|
432
|
+
"table": "public.nodes",
|
|
433
|
+
"referenced_table": "",
|
|
434
|
+
"columns": [
|
|
435
|
+
"embedding_dimension"
|
|
436
|
+
]
|
|
437
|
+
},
|
|
438
|
+
{
|
|
439
|
+
"name": "fk_rails_920ad16d08",
|
|
440
|
+
"type": "FOREIGN KEY",
|
|
441
|
+
"def": "FOREIGN KEY (source_id) REFERENCES file_sources(id) ON DELETE SET NULL",
|
|
442
|
+
"table": "public.nodes",
|
|
443
|
+
"referenced_table": "file_sources",
|
|
444
|
+
"columns": [
|
|
445
|
+
"source_id"
|
|
446
|
+
],
|
|
447
|
+
"referenced_columns": [
|
|
448
|
+
"id"
|
|
449
|
+
]
|
|
450
|
+
},
|
|
451
|
+
{
|
|
452
|
+
"name": "nodes_pkey",
|
|
201
453
|
"type": "PRIMARY KEY",
|
|
202
454
|
"def": "PRIMARY KEY (id)",
|
|
203
|
-
"table": "public.
|
|
455
|
+
"table": "public.nodes",
|
|
204
456
|
"referenced_table": "",
|
|
205
457
|
"columns": [
|
|
206
458
|
"id"
|
|
@@ -209,211 +461,244 @@
|
|
|
209
461
|
]
|
|
210
462
|
},
|
|
211
463
|
{
|
|
212
|
-
"name": "public.
|
|
464
|
+
"name": "public.robot_nodes",
|
|
213
465
|
"type": "BASE TABLE",
|
|
214
|
-
"comment": "
|
|
466
|
+
"comment": "Join table connecting robots to nodes (many-to-many)",
|
|
215
467
|
"columns": [
|
|
216
|
-
{
|
|
217
|
-
"name": "id",
|
|
218
|
-
"type": "bigint",
|
|
219
|
-
"nullable": false,
|
|
220
|
-
"default": "nextval('nodes_id_seq'::regclass)"
|
|
221
|
-
},
|
|
222
|
-
{
|
|
223
|
-
"name": "content",
|
|
224
|
-
"type": "text",
|
|
225
|
-
"nullable": false,
|
|
226
|
-
"comment": "The conversation message/utterance content"
|
|
227
|
-
},
|
|
228
|
-
{
|
|
229
|
-
"name": "source",
|
|
230
|
-
"type": "text",
|
|
231
|
-
"nullable": true,
|
|
232
|
-
"default": "''::text",
|
|
233
|
-
"comment": "From where the content came (empty string if unknown)"
|
|
234
|
-
},
|
|
235
|
-
{
|
|
236
|
-
"name": "access_count",
|
|
237
|
-
"type": "integer",
|
|
238
|
-
"nullable": false,
|
|
239
|
-
"default": "0",
|
|
240
|
-
"comment": "Number of times this node has been accessed/retrieved"
|
|
241
|
-
},
|
|
242
468
|
{
|
|
243
469
|
"name": "created_at",
|
|
244
470
|
"type": "timestamp with time zone",
|
|
245
471
|
"nullable": true,
|
|
246
|
-
"default": "CURRENT_TIMESTAMP"
|
|
247
|
-
"comment": "When this memory was created"
|
|
472
|
+
"default": "CURRENT_TIMESTAMP"
|
|
248
473
|
},
|
|
249
474
|
{
|
|
250
|
-
"name": "
|
|
475
|
+
"name": "first_remembered_at",
|
|
251
476
|
"type": "timestamp with time zone",
|
|
252
477
|
"nullable": true,
|
|
253
478
|
"default": "CURRENT_TIMESTAMP",
|
|
254
|
-
"comment": "When this
|
|
479
|
+
"comment": "When this robot first remembered this content"
|
|
255
480
|
},
|
|
256
481
|
{
|
|
257
|
-
"name": "
|
|
482
|
+
"name": "id",
|
|
483
|
+
"type": "bigint",
|
|
484
|
+
"nullable": false,
|
|
485
|
+
"default": "nextval('robot_nodes_id_seq'::regclass)"
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
"name": "last_remembered_at",
|
|
258
489
|
"type": "timestamp with time zone",
|
|
259
490
|
"nullable": true,
|
|
260
491
|
"default": "CURRENT_TIMESTAMP",
|
|
261
|
-
"comment": "When this
|
|
492
|
+
"comment": "When this robot last tried to remember this content"
|
|
262
493
|
},
|
|
263
494
|
{
|
|
264
|
-
"name": "
|
|
265
|
-
"type": "
|
|
266
|
-
"nullable":
|
|
267
|
-
"comment": "
|
|
495
|
+
"name": "node_id",
|
|
496
|
+
"type": "bigint",
|
|
497
|
+
"nullable": false,
|
|
498
|
+
"comment": "ID of the node being remembered"
|
|
268
499
|
},
|
|
269
500
|
{
|
|
270
|
-
"name": "
|
|
271
|
-
"type": "
|
|
272
|
-
"nullable":
|
|
273
|
-
"default": "
|
|
274
|
-
"comment": "
|
|
501
|
+
"name": "remember_count",
|
|
502
|
+
"type": "integer",
|
|
503
|
+
"nullable": false,
|
|
504
|
+
"default": "1",
|
|
505
|
+
"comment": "Number of times this robot has tried to remember this content"
|
|
275
506
|
},
|
|
276
507
|
{
|
|
277
508
|
"name": "robot_id",
|
|
278
509
|
"type": "bigint",
|
|
279
510
|
"nullable": false,
|
|
280
|
-
"comment": "ID of the robot that
|
|
511
|
+
"comment": "ID of the robot that remembered this node"
|
|
281
512
|
},
|
|
282
513
|
{
|
|
283
|
-
"name": "
|
|
284
|
-
"type": "
|
|
514
|
+
"name": "updated_at",
|
|
515
|
+
"type": "timestamp with time zone",
|
|
285
516
|
"nullable": true,
|
|
286
|
-
"
|
|
517
|
+
"default": "CURRENT_TIMESTAMP"
|
|
287
518
|
},
|
|
288
519
|
{
|
|
289
|
-
"name": "
|
|
290
|
-
"type": "
|
|
291
|
-
"nullable":
|
|
292
|
-
"
|
|
520
|
+
"name": "working_memory",
|
|
521
|
+
"type": "boolean",
|
|
522
|
+
"nullable": false,
|
|
523
|
+
"default": "false",
|
|
524
|
+
"comment": "True if this node is currently in the robot working memory"
|
|
293
525
|
}
|
|
294
526
|
],
|
|
295
527
|
"indexes": [
|
|
296
528
|
{
|
|
297
|
-
"name": "
|
|
298
|
-
"def": "CREATE
|
|
299
|
-
"table": "public.
|
|
300
|
-
"columns": [
|
|
301
|
-
"id"
|
|
302
|
-
]
|
|
303
|
-
},
|
|
304
|
-
{
|
|
305
|
-
"name": "idx_nodes_created_at",
|
|
306
|
-
"def": "CREATE INDEX idx_nodes_created_at ON public.nodes USING btree (created_at)",
|
|
307
|
-
"table": "public.nodes",
|
|
529
|
+
"name": "idx_robot_nodes_last_remembered_at",
|
|
530
|
+
"def": "CREATE INDEX idx_robot_nodes_last_remembered_at ON public.robot_nodes USING btree (last_remembered_at)",
|
|
531
|
+
"table": "public.robot_nodes",
|
|
308
532
|
"columns": [
|
|
309
|
-
"
|
|
533
|
+
"last_remembered_at"
|
|
310
534
|
]
|
|
311
535
|
},
|
|
312
536
|
{
|
|
313
|
-
"name": "
|
|
314
|
-
"def": "CREATE INDEX
|
|
315
|
-
"table": "public.
|
|
537
|
+
"name": "idx_robot_nodes_node_id",
|
|
538
|
+
"def": "CREATE INDEX idx_robot_nodes_node_id ON public.robot_nodes USING btree (node_id)",
|
|
539
|
+
"table": "public.robot_nodes",
|
|
316
540
|
"columns": [
|
|
317
|
-
"
|
|
541
|
+
"node_id"
|
|
318
542
|
]
|
|
319
543
|
},
|
|
320
544
|
{
|
|
321
|
-
"name": "
|
|
322
|
-
"def": "CREATE INDEX
|
|
323
|
-
"table": "public.
|
|
545
|
+
"name": "idx_robot_nodes_robot_id",
|
|
546
|
+
"def": "CREATE INDEX idx_robot_nodes_robot_id ON public.robot_nodes USING btree (robot_id)",
|
|
547
|
+
"table": "public.robot_nodes",
|
|
324
548
|
"columns": [
|
|
325
|
-
"
|
|
549
|
+
"robot_id"
|
|
326
550
|
]
|
|
327
551
|
},
|
|
328
552
|
{
|
|
329
|
-
"name": "
|
|
330
|
-
"def": "CREATE INDEX
|
|
331
|
-
"table": "public.
|
|
553
|
+
"name": "idx_robot_nodes_unique",
|
|
554
|
+
"def": "CREATE UNIQUE INDEX idx_robot_nodes_unique ON public.robot_nodes USING btree (robot_id, node_id)",
|
|
555
|
+
"table": "public.robot_nodes",
|
|
332
556
|
"columns": [
|
|
333
|
-
"
|
|
557
|
+
"robot_id",
|
|
558
|
+
"node_id"
|
|
334
559
|
]
|
|
335
560
|
},
|
|
336
561
|
{
|
|
337
|
-
"name": "
|
|
338
|
-
"def": "CREATE INDEX
|
|
339
|
-
"table": "public.
|
|
562
|
+
"name": "idx_robot_nodes_working_memory",
|
|
563
|
+
"def": "CREATE INDEX idx_robot_nodes_working_memory ON public.robot_nodes USING btree (robot_id, working_memory) WHERE (working_memory = true)",
|
|
564
|
+
"table": "public.robot_nodes",
|
|
340
565
|
"columns": [
|
|
341
|
-
"robot_id"
|
|
566
|
+
"robot_id",
|
|
567
|
+
"working_memory"
|
|
342
568
|
]
|
|
343
569
|
},
|
|
344
570
|
{
|
|
345
|
-
"name": "
|
|
346
|
-
"def": "CREATE INDEX
|
|
347
|
-
"table": "public.
|
|
571
|
+
"name": "robot_nodes_pkey",
|
|
572
|
+
"def": "CREATE UNIQUE INDEX robot_nodes_pkey ON public.robot_nodes USING btree (id)",
|
|
573
|
+
"table": "public.robot_nodes",
|
|
348
574
|
"columns": [
|
|
349
|
-
"
|
|
575
|
+
"id"
|
|
350
576
|
]
|
|
351
|
-
}
|
|
577
|
+
}
|
|
578
|
+
],
|
|
579
|
+
"constraints": [
|
|
352
580
|
{
|
|
353
|
-
"name": "
|
|
354
|
-
"
|
|
355
|
-
"
|
|
581
|
+
"name": "fk_rails_9b003078a8",
|
|
582
|
+
"type": "FOREIGN KEY",
|
|
583
|
+
"def": "FOREIGN KEY (robot_id) REFERENCES robots(id) ON DELETE CASCADE",
|
|
584
|
+
"table": "public.robot_nodes",
|
|
585
|
+
"referenced_table": "robots",
|
|
356
586
|
"columns": [
|
|
357
|
-
"
|
|
587
|
+
"robot_id"
|
|
588
|
+
],
|
|
589
|
+
"referenced_columns": [
|
|
590
|
+
"id"
|
|
358
591
|
]
|
|
359
592
|
},
|
|
360
593
|
{
|
|
361
|
-
"name": "
|
|
362
|
-
"
|
|
363
|
-
"
|
|
594
|
+
"name": "fk_rails_f2fc98d49e",
|
|
595
|
+
"type": "FOREIGN KEY",
|
|
596
|
+
"def": "FOREIGN KEY (node_id) REFERENCES nodes(id) ON DELETE CASCADE",
|
|
597
|
+
"table": "public.robot_nodes",
|
|
598
|
+
"referenced_table": "nodes",
|
|
364
599
|
"columns": [
|
|
365
|
-
"
|
|
600
|
+
"node_id"
|
|
601
|
+
],
|
|
602
|
+
"referenced_columns": [
|
|
603
|
+
"id"
|
|
366
604
|
]
|
|
367
605
|
},
|
|
368
606
|
{
|
|
369
|
-
"name": "
|
|
370
|
-
"
|
|
371
|
-
"
|
|
607
|
+
"name": "robot_nodes_pkey",
|
|
608
|
+
"type": "PRIMARY KEY",
|
|
609
|
+
"def": "PRIMARY KEY (id)",
|
|
610
|
+
"table": "public.robot_nodes",
|
|
611
|
+
"referenced_table": "",
|
|
372
612
|
"columns": [
|
|
373
|
-
"
|
|
613
|
+
"id"
|
|
374
614
|
]
|
|
615
|
+
}
|
|
616
|
+
]
|
|
617
|
+
},
|
|
618
|
+
{
|
|
619
|
+
"name": "public.robots",
|
|
620
|
+
"type": "BASE TABLE",
|
|
621
|
+
"comment": "Registry of all LLM robots using the HTM system",
|
|
622
|
+
"columns": [
|
|
623
|
+
{
|
|
624
|
+
"name": "created_at",
|
|
625
|
+
"type": "timestamp with time zone",
|
|
626
|
+
"nullable": true,
|
|
627
|
+
"default": "CURRENT_TIMESTAMP",
|
|
628
|
+
"comment": "When the robot was first registered"
|
|
375
629
|
},
|
|
376
630
|
{
|
|
377
|
-
"name": "
|
|
378
|
-
"
|
|
379
|
-
"
|
|
631
|
+
"name": "id",
|
|
632
|
+
"type": "bigint",
|
|
633
|
+
"nullable": false,
|
|
634
|
+
"default": "nextval('robots_id_seq'::regclass)"
|
|
635
|
+
},
|
|
636
|
+
{
|
|
637
|
+
"name": "last_active",
|
|
638
|
+
"type": "timestamp with time zone",
|
|
639
|
+
"nullable": true,
|
|
640
|
+
"default": "CURRENT_TIMESTAMP",
|
|
641
|
+
"comment": "Last time the robot accessed the system"
|
|
642
|
+
},
|
|
643
|
+
{
|
|
644
|
+
"name": "name",
|
|
645
|
+
"type": "text",
|
|
646
|
+
"nullable": true,
|
|
647
|
+
"comment": "Human-readable name for the robot"
|
|
648
|
+
}
|
|
649
|
+
],
|
|
650
|
+
"indexes": [
|
|
651
|
+
{
|
|
652
|
+
"name": "robots_pkey",
|
|
653
|
+
"def": "CREATE UNIQUE INDEX robots_pkey ON public.robots USING btree (id)",
|
|
654
|
+
"table": "public.robots",
|
|
380
655
|
"columns": [
|
|
381
|
-
"
|
|
656
|
+
"id"
|
|
382
657
|
]
|
|
383
658
|
}
|
|
384
659
|
],
|
|
385
660
|
"constraints": [
|
|
386
661
|
{
|
|
387
|
-
"name": "
|
|
388
|
-
"type": "
|
|
389
|
-
"def": "
|
|
390
|
-
"table": "public.
|
|
662
|
+
"name": "robots_pkey",
|
|
663
|
+
"type": "PRIMARY KEY",
|
|
664
|
+
"def": "PRIMARY KEY (id)",
|
|
665
|
+
"table": "public.robots",
|
|
391
666
|
"referenced_table": "",
|
|
392
667
|
"columns": [
|
|
393
|
-
"
|
|
668
|
+
"id"
|
|
394
669
|
]
|
|
395
|
-
}
|
|
670
|
+
}
|
|
671
|
+
]
|
|
672
|
+
},
|
|
673
|
+
{
|
|
674
|
+
"name": "public.schema_migrations",
|
|
675
|
+
"type": "BASE TABLE",
|
|
676
|
+
"columns": [
|
|
396
677
|
{
|
|
397
|
-
"name": "
|
|
398
|
-
"type": "
|
|
399
|
-
"
|
|
400
|
-
|
|
401
|
-
|
|
678
|
+
"name": "version",
|
|
679
|
+
"type": "varchar",
|
|
680
|
+
"nullable": false
|
|
681
|
+
}
|
|
682
|
+
],
|
|
683
|
+
"indexes": [
|
|
684
|
+
{
|
|
685
|
+
"name": "schema_migrations_pkey",
|
|
686
|
+
"def": "CREATE UNIQUE INDEX schema_migrations_pkey ON public.schema_migrations USING btree (version)",
|
|
687
|
+
"table": "public.schema_migrations",
|
|
402
688
|
"columns": [
|
|
403
|
-
"
|
|
404
|
-
],
|
|
405
|
-
"referenced_columns": [
|
|
406
|
-
"id"
|
|
689
|
+
"version"
|
|
407
690
|
]
|
|
408
|
-
}
|
|
691
|
+
}
|
|
692
|
+
],
|
|
693
|
+
"constraints": [
|
|
409
694
|
{
|
|
410
|
-
"name": "
|
|
695
|
+
"name": "schema_migrations_pkey",
|
|
411
696
|
"type": "PRIMARY KEY",
|
|
412
|
-
"def": "PRIMARY KEY (
|
|
413
|
-
"table": "public.
|
|
697
|
+
"def": "PRIMARY KEY (version)",
|
|
698
|
+
"table": "public.schema_migrations",
|
|
414
699
|
"referenced_table": "",
|
|
415
700
|
"columns": [
|
|
416
|
-
"
|
|
701
|
+
"version"
|
|
417
702
|
]
|
|
418
703
|
}
|
|
419
704
|
]
|
|
@@ -423,6 +708,13 @@
|
|
|
423
708
|
"type": "BASE TABLE",
|
|
424
709
|
"comment": "Unique tag names for categorization",
|
|
425
710
|
"columns": [
|
|
711
|
+
{
|
|
712
|
+
"name": "created_at",
|
|
713
|
+
"type": "timestamp with time zone",
|
|
714
|
+
"nullable": true,
|
|
715
|
+
"default": "CURRENT_TIMESTAMP",
|
|
716
|
+
"comment": "When this tag was created"
|
|
717
|
+
},
|
|
426
718
|
{
|
|
427
719
|
"name": "id",
|
|
428
720
|
"type": "bigint",
|
|
@@ -434,22 +726,15 @@
|
|
|
434
726
|
"type": "text",
|
|
435
727
|
"nullable": false,
|
|
436
728
|
"comment": "Hierarchical tag in format: root:level1:level2 (e.g., database:postgresql:timescaledb)"
|
|
437
|
-
},
|
|
438
|
-
{
|
|
439
|
-
"name": "created_at",
|
|
440
|
-
"type": "timestamp with time zone",
|
|
441
|
-
"nullable": true,
|
|
442
|
-
"default": "CURRENT_TIMESTAMP",
|
|
443
|
-
"comment": "When this tag was created"
|
|
444
729
|
}
|
|
445
730
|
],
|
|
446
731
|
"indexes": [
|
|
447
732
|
{
|
|
448
|
-
"name": "
|
|
449
|
-
"def": "CREATE
|
|
733
|
+
"name": "idx_tags_name_pattern",
|
|
734
|
+
"def": "CREATE INDEX idx_tags_name_pattern ON public.tags USING btree (name text_pattern_ops)",
|
|
450
735
|
"table": "public.tags",
|
|
451
736
|
"columns": [
|
|
452
|
-
"
|
|
737
|
+
"name"
|
|
453
738
|
]
|
|
454
739
|
},
|
|
455
740
|
{
|
|
@@ -461,11 +746,11 @@
|
|
|
461
746
|
]
|
|
462
747
|
},
|
|
463
748
|
{
|
|
464
|
-
"name": "
|
|
465
|
-
"def": "CREATE INDEX
|
|
749
|
+
"name": "tags_pkey",
|
|
750
|
+
"def": "CREATE UNIQUE INDEX tags_pkey ON public.tags USING btree (id)",
|
|
466
751
|
"table": "public.tags",
|
|
467
752
|
"columns": [
|
|
468
|
-
"
|
|
753
|
+
"id"
|
|
469
754
|
]
|
|
470
755
|
}
|
|
471
756
|
],
|
|
@@ -512,6 +797,19 @@
|
|
|
512
797
|
},
|
|
513
798
|
{
|
|
514
799
|
"table": "public.nodes",
|
|
800
|
+
"columns": [
|
|
801
|
+
"source_id"
|
|
802
|
+
],
|
|
803
|
+
"cardinality": "zero_or_more",
|
|
804
|
+
"parent_table": "public.file_sources",
|
|
805
|
+
"parent_columns": [
|
|
806
|
+
"id"
|
|
807
|
+
],
|
|
808
|
+
"parent_cardinality": "zero_or_one",
|
|
809
|
+
"def": "FOREIGN KEY (source_id) REFERENCES file_sources(id) ON DELETE SET NULL"
|
|
810
|
+
},
|
|
811
|
+
{
|
|
812
|
+
"table": "public.robot_nodes",
|
|
515
813
|
"columns": [
|
|
516
814
|
"robot_id"
|
|
517
815
|
],
|
|
@@ -522,79 +820,110 @@
|
|
|
522
820
|
],
|
|
523
821
|
"parent_cardinality": "exactly_one",
|
|
524
822
|
"def": "FOREIGN KEY (robot_id) REFERENCES robots(id) ON DELETE CASCADE"
|
|
823
|
+
},
|
|
824
|
+
{
|
|
825
|
+
"table": "public.robot_nodes",
|
|
826
|
+
"columns": [
|
|
827
|
+
"node_id"
|
|
828
|
+
],
|
|
829
|
+
"cardinality": "zero_or_more",
|
|
830
|
+
"parent_table": "public.nodes",
|
|
831
|
+
"parent_columns": [
|
|
832
|
+
"id"
|
|
833
|
+
],
|
|
834
|
+
"parent_cardinality": "exactly_one",
|
|
835
|
+
"def": "FOREIGN KEY (node_id) REFERENCES nodes(id) ON DELETE CASCADE"
|
|
525
836
|
}
|
|
526
837
|
],
|
|
527
838
|
"functions": [
|
|
528
839
|
{
|
|
529
|
-
"name": "public.
|
|
530
|
-
"return_type": "
|
|
531
|
-
"arguments": "
|
|
840
|
+
"name": "public.array_to_halfvec",
|
|
841
|
+
"return_type": "halfvec",
|
|
842
|
+
"arguments": "double precision[], integer, boolean",
|
|
532
843
|
"type": "FUNCTION"
|
|
533
844
|
},
|
|
534
845
|
{
|
|
535
|
-
"name": "public.
|
|
536
|
-
"return_type": "
|
|
537
|
-
"arguments": "
|
|
846
|
+
"name": "public.array_to_halfvec",
|
|
847
|
+
"return_type": "halfvec",
|
|
848
|
+
"arguments": "integer[], integer, boolean",
|
|
538
849
|
"type": "FUNCTION"
|
|
539
850
|
},
|
|
540
851
|
{
|
|
541
|
-
"name": "public.
|
|
542
|
-
"return_type": "
|
|
543
|
-
"arguments": "
|
|
852
|
+
"name": "public.array_to_halfvec",
|
|
853
|
+
"return_type": "halfvec",
|
|
854
|
+
"arguments": "numeric[], integer, boolean",
|
|
544
855
|
"type": "FUNCTION"
|
|
545
856
|
},
|
|
546
857
|
{
|
|
547
|
-
"name": "public.
|
|
548
|
-
"return_type": "
|
|
549
|
-
"arguments": "
|
|
858
|
+
"name": "public.array_to_halfvec",
|
|
859
|
+
"return_type": "halfvec",
|
|
860
|
+
"arguments": "real[], integer, boolean",
|
|
550
861
|
"type": "FUNCTION"
|
|
551
862
|
},
|
|
552
863
|
{
|
|
553
|
-
"name": "public.
|
|
554
|
-
"return_type": "
|
|
555
|
-
"arguments": "
|
|
864
|
+
"name": "public.array_to_sparsevec",
|
|
865
|
+
"return_type": "sparsevec",
|
|
866
|
+
"arguments": "double precision[], integer, boolean",
|
|
556
867
|
"type": "FUNCTION"
|
|
557
868
|
},
|
|
558
869
|
{
|
|
559
|
-
"name": "public.
|
|
560
|
-
"return_type": "
|
|
561
|
-
"arguments": "
|
|
870
|
+
"name": "public.array_to_sparsevec",
|
|
871
|
+
"return_type": "sparsevec",
|
|
872
|
+
"arguments": "integer[], integer, boolean",
|
|
562
873
|
"type": "FUNCTION"
|
|
563
874
|
},
|
|
564
875
|
{
|
|
565
|
-
"name": "public.
|
|
566
|
-
"return_type": "
|
|
567
|
-
"arguments": "
|
|
876
|
+
"name": "public.array_to_sparsevec",
|
|
877
|
+
"return_type": "sparsevec",
|
|
878
|
+
"arguments": "numeric[], integer, boolean",
|
|
568
879
|
"type": "FUNCTION"
|
|
569
880
|
},
|
|
570
881
|
{
|
|
571
|
-
"name": "public.
|
|
572
|
-
"return_type": "
|
|
573
|
-
"arguments": "
|
|
882
|
+
"name": "public.array_to_sparsevec",
|
|
883
|
+
"return_type": "sparsevec",
|
|
884
|
+
"arguments": "real[], integer, boolean",
|
|
574
885
|
"type": "FUNCTION"
|
|
575
886
|
},
|
|
576
887
|
{
|
|
577
|
-
"name": "public.
|
|
578
|
-
"return_type": "
|
|
579
|
-
"arguments": "
|
|
888
|
+
"name": "public.array_to_vector",
|
|
889
|
+
"return_type": "vector",
|
|
890
|
+
"arguments": "double precision[], integer, boolean",
|
|
891
|
+
"type": "FUNCTION"
|
|
892
|
+
},
|
|
893
|
+
{
|
|
894
|
+
"name": "public.array_to_vector",
|
|
895
|
+
"return_type": "vector",
|
|
896
|
+
"arguments": "integer[], integer, boolean",
|
|
897
|
+
"type": "FUNCTION"
|
|
898
|
+
},
|
|
899
|
+
{
|
|
900
|
+
"name": "public.array_to_vector",
|
|
901
|
+
"return_type": "vector",
|
|
902
|
+
"arguments": "numeric[], integer, boolean",
|
|
580
903
|
"type": "FUNCTION"
|
|
581
904
|
},
|
|
582
905
|
{
|
|
583
|
-
"name": "public.
|
|
584
|
-
"return_type": "
|
|
585
|
-
"arguments": "
|
|
906
|
+
"name": "public.array_to_vector",
|
|
907
|
+
"return_type": "vector",
|
|
908
|
+
"arguments": "real[], integer, boolean",
|
|
586
909
|
"type": "FUNCTION"
|
|
587
910
|
},
|
|
588
911
|
{
|
|
589
|
-
"name": "public.
|
|
590
|
-
"return_type": "
|
|
591
|
-
"arguments": "
|
|
592
|
-
"type": "
|
|
912
|
+
"name": "public.avg",
|
|
913
|
+
"return_type": "halfvec",
|
|
914
|
+
"arguments": "halfvec",
|
|
915
|
+
"type": "a"
|
|
593
916
|
},
|
|
594
917
|
{
|
|
595
|
-
"name": "public.
|
|
918
|
+
"name": "public.avg",
|
|
596
919
|
"return_type": "vector",
|
|
597
920
|
"arguments": "vector",
|
|
921
|
+
"type": "a"
|
|
922
|
+
},
|
|
923
|
+
{
|
|
924
|
+
"name": "public.binary_quantize",
|
|
925
|
+
"return_type": "bit",
|
|
926
|
+
"arguments": "halfvec",
|
|
598
927
|
"type": "FUNCTION"
|
|
599
928
|
},
|
|
600
929
|
{
|
|
@@ -604,219 +933,219 @@
|
|
|
604
933
|
"type": "FUNCTION"
|
|
605
934
|
},
|
|
606
935
|
{
|
|
607
|
-
"name": "public.
|
|
608
|
-
"return_type": "
|
|
609
|
-
"arguments": "
|
|
936
|
+
"name": "public.cosine_distance",
|
|
937
|
+
"return_type": "float8",
|
|
938
|
+
"arguments": "halfvec, halfvec",
|
|
610
939
|
"type": "FUNCTION"
|
|
611
940
|
},
|
|
612
941
|
{
|
|
613
|
-
"name": "public.
|
|
614
|
-
"return_type": "
|
|
615
|
-
"arguments": "
|
|
942
|
+
"name": "public.cosine_distance",
|
|
943
|
+
"return_type": "float8",
|
|
944
|
+
"arguments": "sparsevec, sparsevec",
|
|
616
945
|
"type": "FUNCTION"
|
|
617
946
|
},
|
|
618
947
|
{
|
|
619
|
-
"name": "public.
|
|
620
|
-
"return_type": "
|
|
948
|
+
"name": "public.cosine_distance",
|
|
949
|
+
"return_type": "float8",
|
|
621
950
|
"arguments": "vector, vector",
|
|
622
951
|
"type": "FUNCTION"
|
|
623
952
|
},
|
|
624
953
|
{
|
|
625
|
-
"name": "public.
|
|
626
|
-
"return_type": "
|
|
627
|
-
"arguments": "
|
|
954
|
+
"name": "public.gin_extract_query_trgm",
|
|
955
|
+
"return_type": "internal",
|
|
956
|
+
"arguments": "text, internal, smallint, internal, internal, internal, internal",
|
|
628
957
|
"type": "FUNCTION"
|
|
629
958
|
},
|
|
630
959
|
{
|
|
631
|
-
"name": "public.
|
|
632
|
-
"return_type": "
|
|
633
|
-
"arguments": "
|
|
960
|
+
"name": "public.gin_extract_value_trgm",
|
|
961
|
+
"return_type": "internal",
|
|
962
|
+
"arguments": "text, internal",
|
|
634
963
|
"type": "FUNCTION"
|
|
635
964
|
},
|
|
636
965
|
{
|
|
637
|
-
"name": "public.
|
|
966
|
+
"name": "public.gin_trgm_consistent",
|
|
638
967
|
"return_type": "bool",
|
|
639
|
-
"arguments": "
|
|
968
|
+
"arguments": "internal, smallint, text, integer, internal, internal, internal, internal",
|
|
640
969
|
"type": "FUNCTION"
|
|
641
970
|
},
|
|
642
971
|
{
|
|
643
|
-
"name": "public.
|
|
644
|
-
"return_type": "
|
|
645
|
-
"arguments": "
|
|
972
|
+
"name": "public.gin_trgm_triconsistent",
|
|
973
|
+
"return_type": "char",
|
|
974
|
+
"arguments": "internal, smallint, text, integer, internal, internal, internal",
|
|
646
975
|
"type": "FUNCTION"
|
|
647
976
|
},
|
|
648
977
|
{
|
|
649
|
-
"name": "public.
|
|
650
|
-
"return_type": "
|
|
651
|
-
"arguments": "
|
|
978
|
+
"name": "public.gtrgm_compress",
|
|
979
|
+
"return_type": "internal",
|
|
980
|
+
"arguments": "internal",
|
|
652
981
|
"type": "FUNCTION"
|
|
653
982
|
},
|
|
654
983
|
{
|
|
655
|
-
"name": "public.
|
|
984
|
+
"name": "public.gtrgm_consistent",
|
|
656
985
|
"return_type": "bool",
|
|
657
|
-
"arguments": "
|
|
986
|
+
"arguments": "internal, text, smallint, oid, internal",
|
|
658
987
|
"type": "FUNCTION"
|
|
659
988
|
},
|
|
660
989
|
{
|
|
661
|
-
"name": "public.
|
|
662
|
-
"return_type": "
|
|
663
|
-
"arguments": "
|
|
990
|
+
"name": "public.gtrgm_decompress",
|
|
991
|
+
"return_type": "internal",
|
|
992
|
+
"arguments": "internal",
|
|
664
993
|
"type": "FUNCTION"
|
|
665
994
|
},
|
|
666
995
|
{
|
|
667
|
-
"name": "public.
|
|
668
|
-
"return_type": "
|
|
669
|
-
"arguments": "
|
|
996
|
+
"name": "public.gtrgm_distance",
|
|
997
|
+
"return_type": "float8",
|
|
998
|
+
"arguments": "internal, text, smallint, oid, internal",
|
|
670
999
|
"type": "FUNCTION"
|
|
671
1000
|
},
|
|
672
1001
|
{
|
|
673
|
-
"name": "public.
|
|
674
|
-
"return_type": "
|
|
675
|
-
"arguments": "
|
|
1002
|
+
"name": "public.gtrgm_in",
|
|
1003
|
+
"return_type": "gtrgm",
|
|
1004
|
+
"arguments": "cstring",
|
|
676
1005
|
"type": "FUNCTION"
|
|
677
1006
|
},
|
|
678
1007
|
{
|
|
679
|
-
"name": "public.
|
|
680
|
-
"return_type": "
|
|
681
|
-
"arguments": "
|
|
1008
|
+
"name": "public.gtrgm_options",
|
|
1009
|
+
"return_type": "void",
|
|
1010
|
+
"arguments": "internal",
|
|
682
1011
|
"type": "FUNCTION"
|
|
683
1012
|
},
|
|
684
1013
|
{
|
|
685
|
-
"name": "public.
|
|
686
|
-
"return_type": "
|
|
687
|
-
"arguments": "
|
|
1014
|
+
"name": "public.gtrgm_out",
|
|
1015
|
+
"return_type": "cstring",
|
|
1016
|
+
"arguments": "gtrgm",
|
|
688
1017
|
"type": "FUNCTION"
|
|
689
1018
|
},
|
|
690
1019
|
{
|
|
691
|
-
"name": "public.
|
|
692
|
-
"return_type": "
|
|
693
|
-
"arguments": "
|
|
1020
|
+
"name": "public.gtrgm_penalty",
|
|
1021
|
+
"return_type": "internal",
|
|
1022
|
+
"arguments": "internal, internal, internal",
|
|
694
1023
|
"type": "FUNCTION"
|
|
695
1024
|
},
|
|
696
1025
|
{
|
|
697
|
-
"name": "public.
|
|
698
|
-
"return_type": "
|
|
699
|
-
"arguments": "
|
|
1026
|
+
"name": "public.gtrgm_picksplit",
|
|
1027
|
+
"return_type": "internal",
|
|
1028
|
+
"arguments": "internal, internal",
|
|
700
1029
|
"type": "FUNCTION"
|
|
701
1030
|
},
|
|
702
1031
|
{
|
|
703
|
-
"name": "public.
|
|
704
|
-
"return_type": "
|
|
705
|
-
"arguments": "
|
|
1032
|
+
"name": "public.gtrgm_same",
|
|
1033
|
+
"return_type": "internal",
|
|
1034
|
+
"arguments": "gtrgm, gtrgm, internal",
|
|
706
1035
|
"type": "FUNCTION"
|
|
707
1036
|
},
|
|
708
1037
|
{
|
|
709
|
-
"name": "public.
|
|
710
|
-
"return_type": "
|
|
711
|
-
"arguments": "
|
|
1038
|
+
"name": "public.gtrgm_union",
|
|
1039
|
+
"return_type": "gtrgm",
|
|
1040
|
+
"arguments": "internal, internal",
|
|
712
1041
|
"type": "FUNCTION"
|
|
713
1042
|
},
|
|
714
1043
|
{
|
|
715
|
-
"name": "public.
|
|
716
|
-
"return_type": "
|
|
717
|
-
"arguments": "
|
|
718
|
-
"type": "
|
|
1044
|
+
"name": "public.halfvec",
|
|
1045
|
+
"return_type": "halfvec",
|
|
1046
|
+
"arguments": "halfvec, integer, boolean",
|
|
1047
|
+
"type": "FUNCTION"
|
|
719
1048
|
},
|
|
720
1049
|
{
|
|
721
|
-
"name": "public.
|
|
722
|
-
"return_type": "
|
|
723
|
-
"arguments": "
|
|
724
|
-
"type": "
|
|
1050
|
+
"name": "public.halfvec_accum",
|
|
1051
|
+
"return_type": "_float8",
|
|
1052
|
+
"arguments": "double precision[], halfvec",
|
|
1053
|
+
"type": "FUNCTION"
|
|
725
1054
|
},
|
|
726
1055
|
{
|
|
727
|
-
"name": "public.
|
|
728
|
-
"return_type": "
|
|
729
|
-
"arguments": "
|
|
1056
|
+
"name": "public.halfvec_add",
|
|
1057
|
+
"return_type": "halfvec",
|
|
1058
|
+
"arguments": "halfvec, halfvec",
|
|
730
1059
|
"type": "FUNCTION"
|
|
731
1060
|
},
|
|
732
1061
|
{
|
|
733
|
-
"name": "public.
|
|
734
|
-
"return_type": "
|
|
735
|
-
"arguments": "
|
|
1062
|
+
"name": "public.halfvec_avg",
|
|
1063
|
+
"return_type": "halfvec",
|
|
1064
|
+
"arguments": "double precision[]",
|
|
736
1065
|
"type": "FUNCTION"
|
|
737
1066
|
},
|
|
738
1067
|
{
|
|
739
|
-
"name": "public.
|
|
740
|
-
"return_type": "
|
|
741
|
-
"arguments": "
|
|
1068
|
+
"name": "public.halfvec_cmp",
|
|
1069
|
+
"return_type": "int4",
|
|
1070
|
+
"arguments": "halfvec, halfvec",
|
|
742
1071
|
"type": "FUNCTION"
|
|
743
1072
|
},
|
|
744
1073
|
{
|
|
745
|
-
"name": "public.
|
|
746
|
-
"return_type": "
|
|
747
|
-
"arguments": "double precision[],
|
|
1074
|
+
"name": "public.halfvec_combine",
|
|
1075
|
+
"return_type": "_float8",
|
|
1076
|
+
"arguments": "double precision[], double precision[]",
|
|
748
1077
|
"type": "FUNCTION"
|
|
749
1078
|
},
|
|
750
1079
|
{
|
|
751
|
-
"name": "public.
|
|
752
|
-
"return_type": "
|
|
753
|
-
"arguments": "
|
|
1080
|
+
"name": "public.halfvec_concat",
|
|
1081
|
+
"return_type": "halfvec",
|
|
1082
|
+
"arguments": "halfvec, halfvec",
|
|
754
1083
|
"type": "FUNCTION"
|
|
755
1084
|
},
|
|
756
1085
|
{
|
|
757
|
-
"name": "public.
|
|
758
|
-
"return_type": "
|
|
759
|
-
"arguments": "
|
|
1086
|
+
"name": "public.halfvec_eq",
|
|
1087
|
+
"return_type": "bool",
|
|
1088
|
+
"arguments": "halfvec, halfvec",
|
|
760
1089
|
"type": "FUNCTION"
|
|
761
1090
|
},
|
|
762
1091
|
{
|
|
763
|
-
"name": "public.
|
|
764
|
-
"return_type": "
|
|
765
|
-
"arguments": "
|
|
1092
|
+
"name": "public.halfvec_ge",
|
|
1093
|
+
"return_type": "bool",
|
|
1094
|
+
"arguments": "halfvec, halfvec",
|
|
766
1095
|
"type": "FUNCTION"
|
|
767
1096
|
},
|
|
768
1097
|
{
|
|
769
|
-
"name": "public.
|
|
770
|
-
"return_type": "
|
|
771
|
-
"arguments": "
|
|
1098
|
+
"name": "public.halfvec_gt",
|
|
1099
|
+
"return_type": "bool",
|
|
1100
|
+
"arguments": "halfvec, halfvec",
|
|
772
1101
|
"type": "FUNCTION"
|
|
773
1102
|
},
|
|
774
1103
|
{
|
|
775
|
-
"name": "public.
|
|
776
|
-
"return_type": "
|
|
777
|
-
"arguments": "
|
|
1104
|
+
"name": "public.halfvec_in",
|
|
1105
|
+
"return_type": "halfvec",
|
|
1106
|
+
"arguments": "cstring, oid, integer",
|
|
778
1107
|
"type": "FUNCTION"
|
|
779
1108
|
},
|
|
780
1109
|
{
|
|
781
|
-
"name": "public.
|
|
782
|
-
"return_type": "
|
|
783
|
-
"arguments": "
|
|
1110
|
+
"name": "public.halfvec_l2_squared_distance",
|
|
1111
|
+
"return_type": "float8",
|
|
1112
|
+
"arguments": "halfvec, halfvec",
|
|
784
1113
|
"type": "FUNCTION"
|
|
785
1114
|
},
|
|
786
1115
|
{
|
|
787
|
-
"name": "public.
|
|
788
|
-
"return_type": "
|
|
789
|
-
"arguments": "
|
|
1116
|
+
"name": "public.halfvec_le",
|
|
1117
|
+
"return_type": "bool",
|
|
1118
|
+
"arguments": "halfvec, halfvec",
|
|
790
1119
|
"type": "FUNCTION"
|
|
791
1120
|
},
|
|
792
1121
|
{
|
|
793
|
-
"name": "public.
|
|
794
|
-
"return_type": "
|
|
795
|
-
"arguments": "
|
|
1122
|
+
"name": "public.halfvec_lt",
|
|
1123
|
+
"return_type": "bool",
|
|
1124
|
+
"arguments": "halfvec, halfvec",
|
|
796
1125
|
"type": "FUNCTION"
|
|
797
1126
|
},
|
|
798
1127
|
{
|
|
799
|
-
"name": "public.
|
|
800
|
-
"return_type": "
|
|
801
|
-
"arguments": "
|
|
1128
|
+
"name": "public.halfvec_mul",
|
|
1129
|
+
"return_type": "halfvec",
|
|
1130
|
+
"arguments": "halfvec, halfvec",
|
|
802
1131
|
"type": "FUNCTION"
|
|
803
1132
|
},
|
|
804
1133
|
{
|
|
805
|
-
"name": "public.
|
|
806
|
-
"return_type": "
|
|
807
|
-
"arguments": "
|
|
1134
|
+
"name": "public.halfvec_ne",
|
|
1135
|
+
"return_type": "bool",
|
|
1136
|
+
"arguments": "halfvec, halfvec",
|
|
808
1137
|
"type": "FUNCTION"
|
|
809
1138
|
},
|
|
810
1139
|
{
|
|
811
|
-
"name": "public.
|
|
812
|
-
"return_type": "
|
|
813
|
-
"arguments": "halfvec",
|
|
1140
|
+
"name": "public.halfvec_negative_inner_product",
|
|
1141
|
+
"return_type": "float8",
|
|
1142
|
+
"arguments": "halfvec, halfvec",
|
|
814
1143
|
"type": "FUNCTION"
|
|
815
1144
|
},
|
|
816
1145
|
{
|
|
817
|
-
"name": "public.
|
|
818
|
-
"return_type": "
|
|
819
|
-
"arguments": "
|
|
1146
|
+
"name": "public.halfvec_out",
|
|
1147
|
+
"return_type": "cstring",
|
|
1148
|
+
"arguments": "halfvec",
|
|
820
1149
|
"type": "FUNCTION"
|
|
821
1150
|
},
|
|
822
1151
|
{
|
|
@@ -832,597 +1161,579 @@
|
|
|
832
1161
|
"type": "FUNCTION"
|
|
833
1162
|
},
|
|
834
1163
|
{
|
|
835
|
-
"name": "public.
|
|
836
|
-
"return_type": "float8",
|
|
837
|
-
"arguments": "halfvec, halfvec",
|
|
838
|
-
"type": "FUNCTION"
|
|
839
|
-
},
|
|
840
|
-
{
|
|
841
|
-
"name": "public.inner_product",
|
|
1164
|
+
"name": "public.halfvec_spherical_distance",
|
|
842
1165
|
"return_type": "float8",
|
|
843
1166
|
"arguments": "halfvec, halfvec",
|
|
844
1167
|
"type": "FUNCTION"
|
|
845
1168
|
},
|
|
846
1169
|
{
|
|
847
|
-
"name": "public.
|
|
848
|
-
"return_type": "
|
|
1170
|
+
"name": "public.halfvec_sub",
|
|
1171
|
+
"return_type": "halfvec",
|
|
849
1172
|
"arguments": "halfvec, halfvec",
|
|
850
1173
|
"type": "FUNCTION"
|
|
851
1174
|
},
|
|
852
1175
|
{
|
|
853
|
-
"name": "public.
|
|
854
|
-
"return_type": "
|
|
855
|
-
"arguments": "halfvec,
|
|
1176
|
+
"name": "public.halfvec_to_float4",
|
|
1177
|
+
"return_type": "_float4",
|
|
1178
|
+
"arguments": "halfvec, integer, boolean",
|
|
856
1179
|
"type": "FUNCTION"
|
|
857
1180
|
},
|
|
858
1181
|
{
|
|
859
|
-
"name": "public.
|
|
860
|
-
"return_type": "
|
|
861
|
-
"arguments": "halfvec",
|
|
1182
|
+
"name": "public.halfvec_to_sparsevec",
|
|
1183
|
+
"return_type": "sparsevec",
|
|
1184
|
+
"arguments": "halfvec, integer, boolean",
|
|
862
1185
|
"type": "FUNCTION"
|
|
863
1186
|
},
|
|
864
1187
|
{
|
|
865
|
-
"name": "public.
|
|
866
|
-
"return_type": "
|
|
867
|
-
"arguments": "halfvec",
|
|
1188
|
+
"name": "public.halfvec_to_vector",
|
|
1189
|
+
"return_type": "vector",
|
|
1190
|
+
"arguments": "halfvec, integer, boolean",
|
|
868
1191
|
"type": "FUNCTION"
|
|
869
1192
|
},
|
|
870
1193
|
{
|
|
871
|
-
"name": "public.
|
|
872
|
-
"return_type": "
|
|
873
|
-
"arguments": "
|
|
1194
|
+
"name": "public.halfvec_typmod_in",
|
|
1195
|
+
"return_type": "int4",
|
|
1196
|
+
"arguments": "cstring[]",
|
|
874
1197
|
"type": "FUNCTION"
|
|
875
1198
|
},
|
|
876
1199
|
{
|
|
877
|
-
"name": "public.
|
|
878
|
-
"return_type": "
|
|
879
|
-
"arguments": "
|
|
1200
|
+
"name": "public.hamming_distance",
|
|
1201
|
+
"return_type": "float8",
|
|
1202
|
+
"arguments": "bit, bit",
|
|
880
1203
|
"type": "FUNCTION"
|
|
881
1204
|
},
|
|
882
1205
|
{
|
|
883
|
-
"name": "public.
|
|
884
|
-
"return_type": "
|
|
885
|
-
"arguments": "
|
|
1206
|
+
"name": "public.hnsw_bit_support",
|
|
1207
|
+
"return_type": "internal",
|
|
1208
|
+
"arguments": "internal",
|
|
886
1209
|
"type": "FUNCTION"
|
|
887
1210
|
},
|
|
888
1211
|
{
|
|
889
|
-
"name": "public.
|
|
890
|
-
"return_type": "
|
|
891
|
-
"arguments": "
|
|
1212
|
+
"name": "public.hnsw_halfvec_support",
|
|
1213
|
+
"return_type": "internal",
|
|
1214
|
+
"arguments": "internal",
|
|
892
1215
|
"type": "FUNCTION"
|
|
893
1216
|
},
|
|
894
1217
|
{
|
|
895
|
-
"name": "public.
|
|
896
|
-
"return_type": "
|
|
897
|
-
"arguments": "
|
|
1218
|
+
"name": "public.hnsw_sparsevec_support",
|
|
1219
|
+
"return_type": "internal",
|
|
1220
|
+
"arguments": "internal",
|
|
898
1221
|
"type": "FUNCTION"
|
|
899
1222
|
},
|
|
900
1223
|
{
|
|
901
|
-
"name": "public.
|
|
902
|
-
"return_type": "
|
|
903
|
-
"arguments": "
|
|
1224
|
+
"name": "public.hnswhandler",
|
|
1225
|
+
"return_type": "index_am_handler",
|
|
1226
|
+
"arguments": "internal",
|
|
904
1227
|
"type": "FUNCTION"
|
|
905
1228
|
},
|
|
906
1229
|
{
|
|
907
|
-
"name": "public.
|
|
908
|
-
"return_type": "
|
|
1230
|
+
"name": "public.inner_product",
|
|
1231
|
+
"return_type": "float8",
|
|
909
1232
|
"arguments": "halfvec, halfvec",
|
|
910
1233
|
"type": "FUNCTION"
|
|
911
1234
|
},
|
|
912
1235
|
{
|
|
913
|
-
"name": "public.
|
|
914
|
-
"return_type": "
|
|
915
|
-
"arguments": "
|
|
1236
|
+
"name": "public.inner_product",
|
|
1237
|
+
"return_type": "float8",
|
|
1238
|
+
"arguments": "sparsevec, sparsevec",
|
|
916
1239
|
"type": "FUNCTION"
|
|
917
1240
|
},
|
|
918
1241
|
{
|
|
919
|
-
"name": "public.
|
|
920
|
-
"return_type": "
|
|
921
|
-
"arguments": "
|
|
1242
|
+
"name": "public.inner_product",
|
|
1243
|
+
"return_type": "float8",
|
|
1244
|
+
"arguments": "vector, vector",
|
|
922
1245
|
"type": "FUNCTION"
|
|
923
1246
|
},
|
|
924
1247
|
{
|
|
925
|
-
"name": "public.
|
|
926
|
-
"return_type": "
|
|
927
|
-
"arguments": "
|
|
1248
|
+
"name": "public.ivfflat_bit_support",
|
|
1249
|
+
"return_type": "internal",
|
|
1250
|
+
"arguments": "internal",
|
|
928
1251
|
"type": "FUNCTION"
|
|
929
1252
|
},
|
|
930
1253
|
{
|
|
931
|
-
"name": "public.
|
|
932
|
-
"return_type": "
|
|
933
|
-
"arguments": "
|
|
1254
|
+
"name": "public.ivfflat_halfvec_support",
|
|
1255
|
+
"return_type": "internal",
|
|
1256
|
+
"arguments": "internal",
|
|
934
1257
|
"type": "FUNCTION"
|
|
935
1258
|
},
|
|
936
1259
|
{
|
|
937
|
-
"name": "public.
|
|
938
|
-
"return_type": "
|
|
939
|
-
"arguments": "
|
|
1260
|
+
"name": "public.ivfflathandler",
|
|
1261
|
+
"return_type": "index_am_handler",
|
|
1262
|
+
"arguments": "internal",
|
|
940
1263
|
"type": "FUNCTION"
|
|
941
1264
|
},
|
|
942
1265
|
{
|
|
943
|
-
"name": "public.
|
|
944
|
-
"return_type": "
|
|
945
|
-
"arguments": "
|
|
1266
|
+
"name": "public.jaccard_distance",
|
|
1267
|
+
"return_type": "float8",
|
|
1268
|
+
"arguments": "bit, bit",
|
|
946
1269
|
"type": "FUNCTION"
|
|
947
1270
|
},
|
|
948
1271
|
{
|
|
949
|
-
"name": "public.
|
|
950
|
-
"return_type": "
|
|
1272
|
+
"name": "public.l1_distance",
|
|
1273
|
+
"return_type": "float8",
|
|
951
1274
|
"arguments": "halfvec, halfvec",
|
|
952
1275
|
"type": "FUNCTION"
|
|
953
1276
|
},
|
|
954
1277
|
{
|
|
955
|
-
"name": "public.
|
|
1278
|
+
"name": "public.l1_distance",
|
|
956
1279
|
"return_type": "float8",
|
|
957
|
-
"arguments": "
|
|
1280
|
+
"arguments": "sparsevec, sparsevec",
|
|
958
1281
|
"type": "FUNCTION"
|
|
959
1282
|
},
|
|
960
1283
|
{
|
|
961
|
-
"name": "public.
|
|
1284
|
+
"name": "public.l1_distance",
|
|
962
1285
|
"return_type": "float8",
|
|
963
|
-
"arguments": "
|
|
1286
|
+
"arguments": "vector, vector",
|
|
964
1287
|
"type": "FUNCTION"
|
|
965
1288
|
},
|
|
966
1289
|
{
|
|
967
|
-
"name": "public.
|
|
1290
|
+
"name": "public.l2_distance",
|
|
968
1291
|
"return_type": "float8",
|
|
969
1292
|
"arguments": "halfvec, halfvec",
|
|
970
1293
|
"type": "FUNCTION"
|
|
971
1294
|
},
|
|
972
1295
|
{
|
|
973
|
-
"name": "public.
|
|
974
|
-
"return_type": "
|
|
975
|
-
"arguments": "
|
|
1296
|
+
"name": "public.l2_distance",
|
|
1297
|
+
"return_type": "float8",
|
|
1298
|
+
"arguments": "sparsevec, sparsevec",
|
|
976
1299
|
"type": "FUNCTION"
|
|
977
1300
|
},
|
|
978
1301
|
{
|
|
979
|
-
"name": "public.
|
|
980
|
-
"return_type": "
|
|
981
|
-
"arguments": "
|
|
1302
|
+
"name": "public.l2_distance",
|
|
1303
|
+
"return_type": "float8",
|
|
1304
|
+
"arguments": "vector, vector",
|
|
982
1305
|
"type": "FUNCTION"
|
|
983
1306
|
},
|
|
984
1307
|
{
|
|
985
|
-
"name": "public.
|
|
986
|
-
"return_type": "
|
|
987
|
-
"arguments": "
|
|
1308
|
+
"name": "public.l2_norm",
|
|
1309
|
+
"return_type": "float8",
|
|
1310
|
+
"arguments": "halfvec",
|
|
988
1311
|
"type": "FUNCTION"
|
|
989
1312
|
},
|
|
990
1313
|
{
|
|
991
|
-
"name": "public.
|
|
992
|
-
"return_type": "
|
|
993
|
-
"arguments": "
|
|
994
|
-
"type": "
|
|
1314
|
+
"name": "public.l2_norm",
|
|
1315
|
+
"return_type": "float8",
|
|
1316
|
+
"arguments": "sparsevec",
|
|
1317
|
+
"type": "FUNCTION"
|
|
995
1318
|
},
|
|
996
1319
|
{
|
|
997
|
-
"name": "public.
|
|
1320
|
+
"name": "public.l2_normalize",
|
|
998
1321
|
"return_type": "halfvec",
|
|
999
1322
|
"arguments": "halfvec",
|
|
1000
|
-
"type": "
|
|
1323
|
+
"type": "FUNCTION"
|
|
1001
1324
|
},
|
|
1002
1325
|
{
|
|
1003
|
-
"name": "public.
|
|
1004
|
-
"return_type": "
|
|
1005
|
-
"arguments": "
|
|
1326
|
+
"name": "public.l2_normalize",
|
|
1327
|
+
"return_type": "sparsevec",
|
|
1328
|
+
"arguments": "sparsevec",
|
|
1006
1329
|
"type": "FUNCTION"
|
|
1007
1330
|
},
|
|
1008
1331
|
{
|
|
1009
|
-
"name": "public.
|
|
1332
|
+
"name": "public.l2_normalize",
|
|
1010
1333
|
"return_type": "vector",
|
|
1011
|
-
"arguments": "
|
|
1334
|
+
"arguments": "vector",
|
|
1012
1335
|
"type": "FUNCTION"
|
|
1013
1336
|
},
|
|
1014
1337
|
{
|
|
1015
|
-
"name": "public.
|
|
1016
|
-
"return_type": "
|
|
1017
|
-
"arguments": "
|
|
1338
|
+
"name": "public.set_limit",
|
|
1339
|
+
"return_type": "float4",
|
|
1340
|
+
"arguments": "real",
|
|
1018
1341
|
"type": "FUNCTION"
|
|
1019
1342
|
},
|
|
1020
1343
|
{
|
|
1021
|
-
"name": "public.
|
|
1022
|
-
"return_type": "
|
|
1023
|
-
"arguments": "
|
|
1344
|
+
"name": "public.show_limit",
|
|
1345
|
+
"return_type": "float4",
|
|
1346
|
+
"arguments": "",
|
|
1024
1347
|
"type": "FUNCTION"
|
|
1025
1348
|
},
|
|
1026
1349
|
{
|
|
1027
|
-
"name": "public.
|
|
1028
|
-
"return_type": "
|
|
1029
|
-
"arguments": "
|
|
1350
|
+
"name": "public.show_trgm",
|
|
1351
|
+
"return_type": "_text",
|
|
1352
|
+
"arguments": "text",
|
|
1030
1353
|
"type": "FUNCTION"
|
|
1031
1354
|
},
|
|
1032
1355
|
{
|
|
1033
|
-
"name": "public.
|
|
1034
|
-
"return_type": "
|
|
1035
|
-
"arguments": "
|
|
1356
|
+
"name": "public.similarity",
|
|
1357
|
+
"return_type": "float4",
|
|
1358
|
+
"arguments": "text, text",
|
|
1036
1359
|
"type": "FUNCTION"
|
|
1037
1360
|
},
|
|
1038
1361
|
{
|
|
1039
|
-
"name": "public.
|
|
1040
|
-
"return_type": "
|
|
1041
|
-
"arguments": "
|
|
1362
|
+
"name": "public.similarity_dist",
|
|
1363
|
+
"return_type": "float4",
|
|
1364
|
+
"arguments": "text, text",
|
|
1042
1365
|
"type": "FUNCTION"
|
|
1043
1366
|
},
|
|
1044
1367
|
{
|
|
1045
|
-
"name": "public.
|
|
1046
|
-
"return_type": "
|
|
1047
|
-
"arguments": "
|
|
1368
|
+
"name": "public.similarity_op",
|
|
1369
|
+
"return_type": "bool",
|
|
1370
|
+
"arguments": "text, text",
|
|
1048
1371
|
"type": "FUNCTION"
|
|
1049
1372
|
},
|
|
1050
1373
|
{
|
|
1051
|
-
"name": "public.
|
|
1052
|
-
"return_type": "
|
|
1053
|
-
"arguments": "
|
|
1374
|
+
"name": "public.sparsevec",
|
|
1375
|
+
"return_type": "sparsevec",
|
|
1376
|
+
"arguments": "sparsevec, integer, boolean",
|
|
1054
1377
|
"type": "FUNCTION"
|
|
1055
1378
|
},
|
|
1056
1379
|
{
|
|
1057
|
-
"name": "public.
|
|
1058
|
-
"return_type": "
|
|
1059
|
-
"arguments": "
|
|
1380
|
+
"name": "public.sparsevec_cmp",
|
|
1381
|
+
"return_type": "int4",
|
|
1382
|
+
"arguments": "sparsevec, sparsevec",
|
|
1060
1383
|
"type": "FUNCTION"
|
|
1061
1384
|
},
|
|
1062
1385
|
{
|
|
1063
|
-
"name": "public.
|
|
1064
|
-
"return_type": "
|
|
1065
|
-
"arguments": "
|
|
1386
|
+
"name": "public.sparsevec_eq",
|
|
1387
|
+
"return_type": "bool",
|
|
1388
|
+
"arguments": "sparsevec, sparsevec",
|
|
1066
1389
|
"type": "FUNCTION"
|
|
1067
1390
|
},
|
|
1068
1391
|
{
|
|
1069
|
-
"name": "public.
|
|
1070
|
-
"return_type": "
|
|
1071
|
-
"arguments": "sparsevec",
|
|
1392
|
+
"name": "public.sparsevec_ge",
|
|
1393
|
+
"return_type": "bool",
|
|
1394
|
+
"arguments": "sparsevec, sparsevec",
|
|
1072
1395
|
"type": "FUNCTION"
|
|
1073
1396
|
},
|
|
1074
1397
|
{
|
|
1075
|
-
"name": "public.
|
|
1076
|
-
"return_type": "
|
|
1077
|
-
"arguments": "
|
|
1398
|
+
"name": "public.sparsevec_gt",
|
|
1399
|
+
"return_type": "bool",
|
|
1400
|
+
"arguments": "sparsevec, sparsevec",
|
|
1078
1401
|
"type": "FUNCTION"
|
|
1079
1402
|
},
|
|
1080
1403
|
{
|
|
1081
|
-
"name": "public.
|
|
1404
|
+
"name": "public.sparsevec_in",
|
|
1082
1405
|
"return_type": "sparsevec",
|
|
1083
|
-
"arguments": "
|
|
1084
|
-
"type": "FUNCTION"
|
|
1085
|
-
},
|
|
1086
|
-
{
|
|
1087
|
-
"name": "public.sparsevec_send",
|
|
1088
|
-
"return_type": "bytea",
|
|
1089
|
-
"arguments": "sparsevec",
|
|
1406
|
+
"arguments": "cstring, oid, integer",
|
|
1090
1407
|
"type": "FUNCTION"
|
|
1091
1408
|
},
|
|
1092
1409
|
{
|
|
1093
|
-
"name": "public.
|
|
1410
|
+
"name": "public.sparsevec_l2_squared_distance",
|
|
1094
1411
|
"return_type": "float8",
|
|
1095
1412
|
"arguments": "sparsevec, sparsevec",
|
|
1096
1413
|
"type": "FUNCTION"
|
|
1097
1414
|
},
|
|
1098
1415
|
{
|
|
1099
|
-
"name": "public.
|
|
1100
|
-
"return_type": "
|
|
1416
|
+
"name": "public.sparsevec_le",
|
|
1417
|
+
"return_type": "bool",
|
|
1101
1418
|
"arguments": "sparsevec, sparsevec",
|
|
1102
1419
|
"type": "FUNCTION"
|
|
1103
1420
|
},
|
|
1104
1421
|
{
|
|
1105
|
-
"name": "public.
|
|
1106
|
-
"return_type": "
|
|
1422
|
+
"name": "public.sparsevec_lt",
|
|
1423
|
+
"return_type": "bool",
|
|
1107
1424
|
"arguments": "sparsevec, sparsevec",
|
|
1108
1425
|
"type": "FUNCTION"
|
|
1109
1426
|
},
|
|
1110
1427
|
{
|
|
1111
|
-
"name": "public.
|
|
1112
|
-
"return_type": "
|
|
1428
|
+
"name": "public.sparsevec_ne",
|
|
1429
|
+
"return_type": "bool",
|
|
1113
1430
|
"arguments": "sparsevec, sparsevec",
|
|
1114
1431
|
"type": "FUNCTION"
|
|
1115
1432
|
},
|
|
1116
1433
|
{
|
|
1117
|
-
"name": "public.
|
|
1434
|
+
"name": "public.sparsevec_negative_inner_product",
|
|
1118
1435
|
"return_type": "float8",
|
|
1119
|
-
"arguments": "sparsevec",
|
|
1436
|
+
"arguments": "sparsevec, sparsevec",
|
|
1120
1437
|
"type": "FUNCTION"
|
|
1121
1438
|
},
|
|
1122
1439
|
{
|
|
1123
|
-
"name": "public.
|
|
1124
|
-
"return_type": "
|
|
1440
|
+
"name": "public.sparsevec_out",
|
|
1441
|
+
"return_type": "cstring",
|
|
1125
1442
|
"arguments": "sparsevec",
|
|
1126
1443
|
"type": "FUNCTION"
|
|
1127
1444
|
},
|
|
1128
1445
|
{
|
|
1129
|
-
"name": "public.
|
|
1130
|
-
"return_type": "
|
|
1131
|
-
"arguments": "
|
|
1446
|
+
"name": "public.sparsevec_recv",
|
|
1447
|
+
"return_type": "sparsevec",
|
|
1448
|
+
"arguments": "internal, oid, integer",
|
|
1132
1449
|
"type": "FUNCTION"
|
|
1133
1450
|
},
|
|
1134
1451
|
{
|
|
1135
|
-
"name": "public.
|
|
1136
|
-
"return_type": "
|
|
1137
|
-
"arguments": "sparsevec
|
|
1452
|
+
"name": "public.sparsevec_send",
|
|
1453
|
+
"return_type": "bytea",
|
|
1454
|
+
"arguments": "sparsevec",
|
|
1138
1455
|
"type": "FUNCTION"
|
|
1139
1456
|
},
|
|
1140
1457
|
{
|
|
1141
|
-
"name": "public.
|
|
1142
|
-
"return_type": "
|
|
1143
|
-
"arguments": "sparsevec,
|
|
1458
|
+
"name": "public.sparsevec_to_halfvec",
|
|
1459
|
+
"return_type": "halfvec",
|
|
1460
|
+
"arguments": "sparsevec, integer, boolean",
|
|
1144
1461
|
"type": "FUNCTION"
|
|
1145
1462
|
},
|
|
1146
1463
|
{
|
|
1147
|
-
"name": "public.
|
|
1148
|
-
"return_type": "
|
|
1149
|
-
"arguments": "sparsevec,
|
|
1464
|
+
"name": "public.sparsevec_to_vector",
|
|
1465
|
+
"return_type": "vector",
|
|
1466
|
+
"arguments": "sparsevec, integer, boolean",
|
|
1150
1467
|
"type": "FUNCTION"
|
|
1151
1468
|
},
|
|
1152
1469
|
{
|
|
1153
|
-
"name": "public.
|
|
1154
|
-
"return_type": "
|
|
1155
|
-
"arguments": "
|
|
1470
|
+
"name": "public.sparsevec_typmod_in",
|
|
1471
|
+
"return_type": "int4",
|
|
1472
|
+
"arguments": "cstring[]",
|
|
1156
1473
|
"type": "FUNCTION"
|
|
1157
1474
|
},
|
|
1158
1475
|
{
|
|
1159
|
-
"name": "public.
|
|
1160
|
-
"return_type": "
|
|
1161
|
-
"arguments": "
|
|
1476
|
+
"name": "public.strict_word_similarity",
|
|
1477
|
+
"return_type": "float4",
|
|
1478
|
+
"arguments": "text, text",
|
|
1162
1479
|
"type": "FUNCTION"
|
|
1163
1480
|
},
|
|
1164
1481
|
{
|
|
1165
|
-
"name": "public.
|
|
1166
|
-
"return_type": "
|
|
1167
|
-
"arguments": "
|
|
1482
|
+
"name": "public.strict_word_similarity_commutator_op",
|
|
1483
|
+
"return_type": "bool",
|
|
1484
|
+
"arguments": "text, text",
|
|
1168
1485
|
"type": "FUNCTION"
|
|
1169
1486
|
},
|
|
1170
1487
|
{
|
|
1171
|
-
"name": "public.
|
|
1172
|
-
"return_type": "
|
|
1173
|
-
"arguments": "
|
|
1488
|
+
"name": "public.strict_word_similarity_dist_commutator_op",
|
|
1489
|
+
"return_type": "float4",
|
|
1490
|
+
"arguments": "text, text",
|
|
1174
1491
|
"type": "FUNCTION"
|
|
1175
1492
|
},
|
|
1176
1493
|
{
|
|
1177
|
-
"name": "public.
|
|
1178
|
-
"return_type": "
|
|
1179
|
-
"arguments": "
|
|
1494
|
+
"name": "public.strict_word_similarity_dist_op",
|
|
1495
|
+
"return_type": "float4",
|
|
1496
|
+
"arguments": "text, text",
|
|
1180
1497
|
"type": "FUNCTION"
|
|
1181
1498
|
},
|
|
1182
1499
|
{
|
|
1183
|
-
"name": "public.
|
|
1184
|
-
"return_type": "
|
|
1185
|
-
"arguments": "
|
|
1500
|
+
"name": "public.strict_word_similarity_op",
|
|
1501
|
+
"return_type": "bool",
|
|
1502
|
+
"arguments": "text, text",
|
|
1186
1503
|
"type": "FUNCTION"
|
|
1187
1504
|
},
|
|
1188
1505
|
{
|
|
1189
|
-
"name": "public.
|
|
1190
|
-
"return_type": "
|
|
1191
|
-
"arguments": "
|
|
1506
|
+
"name": "public.subvector",
|
|
1507
|
+
"return_type": "halfvec",
|
|
1508
|
+
"arguments": "halfvec, integer, integer",
|
|
1192
1509
|
"type": "FUNCTION"
|
|
1193
1510
|
},
|
|
1194
1511
|
{
|
|
1195
|
-
"name": "public.
|
|
1512
|
+
"name": "public.subvector",
|
|
1196
1513
|
"return_type": "vector",
|
|
1197
|
-
"arguments": "
|
|
1514
|
+
"arguments": "vector, integer, integer",
|
|
1198
1515
|
"type": "FUNCTION"
|
|
1199
1516
|
},
|
|
1200
1517
|
{
|
|
1201
|
-
"name": "public.
|
|
1202
|
-
"return_type": "
|
|
1203
|
-
"arguments": "halfvec
|
|
1204
|
-
"type": "
|
|
1518
|
+
"name": "public.sum",
|
|
1519
|
+
"return_type": "halfvec",
|
|
1520
|
+
"arguments": "halfvec",
|
|
1521
|
+
"type": "a"
|
|
1205
1522
|
},
|
|
1206
1523
|
{
|
|
1207
|
-
"name": "public.
|
|
1208
|
-
"return_type": "
|
|
1209
|
-
"arguments": "
|
|
1210
|
-
"type": "
|
|
1524
|
+
"name": "public.sum",
|
|
1525
|
+
"return_type": "vector",
|
|
1526
|
+
"arguments": "vector",
|
|
1527
|
+
"type": "a"
|
|
1211
1528
|
},
|
|
1212
1529
|
{
|
|
1213
|
-
"name": "public.
|
|
1214
|
-
"return_type": "
|
|
1215
|
-
"arguments": "
|
|
1530
|
+
"name": "public.vector",
|
|
1531
|
+
"return_type": "vector",
|
|
1532
|
+
"arguments": "vector, integer, boolean",
|
|
1216
1533
|
"type": "FUNCTION"
|
|
1217
1534
|
},
|
|
1218
1535
|
{
|
|
1219
|
-
"name": "public.
|
|
1220
|
-
"return_type": "
|
|
1221
|
-
"arguments": "
|
|
1536
|
+
"name": "public.vector_accum",
|
|
1537
|
+
"return_type": "_float8",
|
|
1538
|
+
"arguments": "double precision[], vector",
|
|
1222
1539
|
"type": "FUNCTION"
|
|
1223
1540
|
},
|
|
1224
1541
|
{
|
|
1225
|
-
"name": "public.
|
|
1226
|
-
"return_type": "
|
|
1227
|
-
"arguments": "
|
|
1542
|
+
"name": "public.vector_add",
|
|
1543
|
+
"return_type": "vector",
|
|
1544
|
+
"arguments": "vector, vector",
|
|
1228
1545
|
"type": "FUNCTION"
|
|
1229
1546
|
},
|
|
1230
1547
|
{
|
|
1231
|
-
"name": "public.
|
|
1232
|
-
"return_type": "
|
|
1233
|
-
"arguments": "
|
|
1548
|
+
"name": "public.vector_avg",
|
|
1549
|
+
"return_type": "vector",
|
|
1550
|
+
"arguments": "double precision[]",
|
|
1234
1551
|
"type": "FUNCTION"
|
|
1235
1552
|
},
|
|
1236
1553
|
{
|
|
1237
|
-
"name": "public.
|
|
1238
|
-
"return_type": "
|
|
1239
|
-
"arguments": "
|
|
1554
|
+
"name": "public.vector_cmp",
|
|
1555
|
+
"return_type": "int4",
|
|
1556
|
+
"arguments": "vector, vector",
|
|
1240
1557
|
"type": "FUNCTION"
|
|
1241
1558
|
},
|
|
1242
1559
|
{
|
|
1243
|
-
"name": "public.
|
|
1244
|
-
"return_type": "
|
|
1245
|
-
"arguments": "",
|
|
1560
|
+
"name": "public.vector_combine",
|
|
1561
|
+
"return_type": "_float8",
|
|
1562
|
+
"arguments": "double precision[], double precision[]",
|
|
1246
1563
|
"type": "FUNCTION"
|
|
1247
1564
|
},
|
|
1248
1565
|
{
|
|
1249
|
-
"name": "public.
|
|
1250
|
-
"return_type": "
|
|
1251
|
-
"arguments": "
|
|
1566
|
+
"name": "public.vector_concat",
|
|
1567
|
+
"return_type": "vector",
|
|
1568
|
+
"arguments": "vector, vector",
|
|
1252
1569
|
"type": "FUNCTION"
|
|
1253
1570
|
},
|
|
1254
1571
|
{
|
|
1255
|
-
"name": "public.
|
|
1256
|
-
"return_type": "
|
|
1257
|
-
"arguments": "
|
|
1572
|
+
"name": "public.vector_dims",
|
|
1573
|
+
"return_type": "int4",
|
|
1574
|
+
"arguments": "halfvec",
|
|
1258
1575
|
"type": "FUNCTION"
|
|
1259
1576
|
},
|
|
1260
1577
|
{
|
|
1261
|
-
"name": "public.
|
|
1262
|
-
"return_type": "
|
|
1263
|
-
"arguments": "
|
|
1578
|
+
"name": "public.vector_dims",
|
|
1579
|
+
"return_type": "int4",
|
|
1580
|
+
"arguments": "vector",
|
|
1264
1581
|
"type": "FUNCTION"
|
|
1265
1582
|
},
|
|
1266
1583
|
{
|
|
1267
|
-
"name": "public.
|
|
1268
|
-
"return_type": "
|
|
1269
|
-
"arguments": "
|
|
1584
|
+
"name": "public.vector_eq",
|
|
1585
|
+
"return_type": "bool",
|
|
1586
|
+
"arguments": "vector, vector",
|
|
1270
1587
|
"type": "FUNCTION"
|
|
1271
1588
|
},
|
|
1272
1589
|
{
|
|
1273
|
-
"name": "public.
|
|
1590
|
+
"name": "public.vector_ge",
|
|
1274
1591
|
"return_type": "bool",
|
|
1275
|
-
"arguments": "
|
|
1592
|
+
"arguments": "vector, vector",
|
|
1276
1593
|
"type": "FUNCTION"
|
|
1277
1594
|
},
|
|
1278
1595
|
{
|
|
1279
|
-
"name": "public.
|
|
1596
|
+
"name": "public.vector_gt",
|
|
1280
1597
|
"return_type": "bool",
|
|
1281
|
-
"arguments": "
|
|
1598
|
+
"arguments": "vector, vector",
|
|
1282
1599
|
"type": "FUNCTION"
|
|
1283
1600
|
},
|
|
1284
1601
|
{
|
|
1285
|
-
"name": "public.
|
|
1286
|
-
"return_type": "
|
|
1287
|
-
"arguments": "
|
|
1602
|
+
"name": "public.vector_in",
|
|
1603
|
+
"return_type": "vector",
|
|
1604
|
+
"arguments": "cstring, oid, integer",
|
|
1288
1605
|
"type": "FUNCTION"
|
|
1289
1606
|
},
|
|
1290
1607
|
{
|
|
1291
|
-
"name": "public.
|
|
1292
|
-
"return_type": "
|
|
1293
|
-
"arguments": "
|
|
1608
|
+
"name": "public.vector_l2_squared_distance",
|
|
1609
|
+
"return_type": "float8",
|
|
1610
|
+
"arguments": "vector, vector",
|
|
1294
1611
|
"type": "FUNCTION"
|
|
1295
1612
|
},
|
|
1296
1613
|
{
|
|
1297
|
-
"name": "public.
|
|
1298
|
-
"return_type": "
|
|
1299
|
-
"arguments": "
|
|
1614
|
+
"name": "public.vector_le",
|
|
1615
|
+
"return_type": "bool",
|
|
1616
|
+
"arguments": "vector, vector",
|
|
1300
1617
|
"type": "FUNCTION"
|
|
1301
1618
|
},
|
|
1302
1619
|
{
|
|
1303
|
-
"name": "public.
|
|
1304
|
-
"return_type": "
|
|
1305
|
-
"arguments": "
|
|
1620
|
+
"name": "public.vector_lt",
|
|
1621
|
+
"return_type": "bool",
|
|
1622
|
+
"arguments": "vector, vector",
|
|
1306
1623
|
"type": "FUNCTION"
|
|
1307
1624
|
},
|
|
1308
1625
|
{
|
|
1309
|
-
"name": "public.
|
|
1310
|
-
"return_type": "
|
|
1311
|
-
"arguments": "
|
|
1626
|
+
"name": "public.vector_mul",
|
|
1627
|
+
"return_type": "vector",
|
|
1628
|
+
"arguments": "vector, vector",
|
|
1312
1629
|
"type": "FUNCTION"
|
|
1313
1630
|
},
|
|
1314
1631
|
{
|
|
1315
|
-
"name": "public.
|
|
1632
|
+
"name": "public.vector_ne",
|
|
1316
1633
|
"return_type": "bool",
|
|
1317
|
-
"arguments": "
|
|
1634
|
+
"arguments": "vector, vector",
|
|
1318
1635
|
"type": "FUNCTION"
|
|
1319
1636
|
},
|
|
1320
1637
|
{
|
|
1321
|
-
"name": "public.
|
|
1638
|
+
"name": "public.vector_negative_inner_product",
|
|
1322
1639
|
"return_type": "float8",
|
|
1323
|
-
"arguments": "
|
|
1640
|
+
"arguments": "vector, vector",
|
|
1324
1641
|
"type": "FUNCTION"
|
|
1325
1642
|
},
|
|
1326
1643
|
{
|
|
1327
|
-
"name": "public.
|
|
1328
|
-
"return_type": "
|
|
1329
|
-
"arguments": "
|
|
1644
|
+
"name": "public.vector_norm",
|
|
1645
|
+
"return_type": "float8",
|
|
1646
|
+
"arguments": "vector",
|
|
1330
1647
|
"type": "FUNCTION"
|
|
1331
1648
|
},
|
|
1332
1649
|
{
|
|
1333
|
-
"name": "public.
|
|
1334
|
-
"return_type": "
|
|
1335
|
-
"arguments": "
|
|
1650
|
+
"name": "public.vector_out",
|
|
1651
|
+
"return_type": "cstring",
|
|
1652
|
+
"arguments": "vector",
|
|
1336
1653
|
"type": "FUNCTION"
|
|
1337
1654
|
},
|
|
1338
1655
|
{
|
|
1339
|
-
"name": "public.
|
|
1340
|
-
"return_type": "
|
|
1341
|
-
"arguments": "internal,
|
|
1656
|
+
"name": "public.vector_recv",
|
|
1657
|
+
"return_type": "vector",
|
|
1658
|
+
"arguments": "internal, oid, integer",
|
|
1342
1659
|
"type": "FUNCTION"
|
|
1343
1660
|
},
|
|
1344
1661
|
{
|
|
1345
|
-
"name": "public.
|
|
1346
|
-
"return_type": "
|
|
1347
|
-
"arguments": "
|
|
1662
|
+
"name": "public.vector_send",
|
|
1663
|
+
"return_type": "bytea",
|
|
1664
|
+
"arguments": "vector",
|
|
1348
1665
|
"type": "FUNCTION"
|
|
1349
1666
|
},
|
|
1350
1667
|
{
|
|
1351
|
-
"name": "public.
|
|
1352
|
-
"return_type": "
|
|
1353
|
-
"arguments": "
|
|
1668
|
+
"name": "public.vector_spherical_distance",
|
|
1669
|
+
"return_type": "float8",
|
|
1670
|
+
"arguments": "vector, vector",
|
|
1354
1671
|
"type": "FUNCTION"
|
|
1355
1672
|
},
|
|
1356
1673
|
{
|
|
1357
|
-
"name": "public.
|
|
1358
|
-
"return_type": "
|
|
1359
|
-
"arguments": "
|
|
1674
|
+
"name": "public.vector_sub",
|
|
1675
|
+
"return_type": "vector",
|
|
1676
|
+
"arguments": "vector, vector",
|
|
1360
1677
|
"type": "FUNCTION"
|
|
1361
1678
|
},
|
|
1362
1679
|
{
|
|
1363
|
-
"name": "public.
|
|
1364
|
-
"return_type": "
|
|
1365
|
-
"arguments": "
|
|
1680
|
+
"name": "public.vector_to_float4",
|
|
1681
|
+
"return_type": "_float4",
|
|
1682
|
+
"arguments": "vector, integer, boolean",
|
|
1366
1683
|
"type": "FUNCTION"
|
|
1367
1684
|
},
|
|
1368
1685
|
{
|
|
1369
|
-
"name": "public.
|
|
1370
|
-
"return_type": "
|
|
1371
|
-
"arguments": "
|
|
1686
|
+
"name": "public.vector_to_halfvec",
|
|
1687
|
+
"return_type": "halfvec",
|
|
1688
|
+
"arguments": "vector, integer, boolean",
|
|
1372
1689
|
"type": "FUNCTION"
|
|
1373
1690
|
},
|
|
1374
1691
|
{
|
|
1375
|
-
"name": "public.
|
|
1376
|
-
"return_type": "
|
|
1377
|
-
"arguments": "
|
|
1692
|
+
"name": "public.vector_to_sparsevec",
|
|
1693
|
+
"return_type": "sparsevec",
|
|
1694
|
+
"arguments": "vector, integer, boolean",
|
|
1378
1695
|
"type": "FUNCTION"
|
|
1379
1696
|
},
|
|
1380
1697
|
{
|
|
1381
|
-
"name": "public.
|
|
1382
|
-
"return_type": "
|
|
1383
|
-
"arguments": "
|
|
1698
|
+
"name": "public.vector_typmod_in",
|
|
1699
|
+
"return_type": "int4",
|
|
1700
|
+
"arguments": "cstring[]",
|
|
1384
1701
|
"type": "FUNCTION"
|
|
1385
1702
|
},
|
|
1386
1703
|
{
|
|
1387
|
-
"name": "public.
|
|
1704
|
+
"name": "public.word_similarity",
|
|
1388
1705
|
"return_type": "float4",
|
|
1389
1706
|
"arguments": "text, text",
|
|
1390
1707
|
"type": "FUNCTION"
|
|
1391
1708
|
},
|
|
1392
1709
|
{
|
|
1393
|
-
"name": "public.
|
|
1394
|
-
"return_type": "bool",
|
|
1395
|
-
"arguments": "text, text",
|
|
1396
|
-
"type": "FUNCTION"
|
|
1397
|
-
},
|
|
1398
|
-
{
|
|
1399
|
-
"name": "public.strict_word_similarity_commutator_op",
|
|
1710
|
+
"name": "public.word_similarity_commutator_op",
|
|
1400
1711
|
"return_type": "bool",
|
|
1401
1712
|
"arguments": "text, text",
|
|
1402
1713
|
"type": "FUNCTION"
|
|
1403
1714
|
},
|
|
1404
1715
|
{
|
|
1405
|
-
"name": "public.
|
|
1716
|
+
"name": "public.word_similarity_dist_commutator_op",
|
|
1406
1717
|
"return_type": "float4",
|
|
1407
1718
|
"arguments": "text, text",
|
|
1408
1719
|
"type": "FUNCTION"
|
|
1409
1720
|
},
|
|
1410
1721
|
{
|
|
1411
|
-
"name": "public.
|
|
1722
|
+
"name": "public.word_similarity_dist_op",
|
|
1412
1723
|
"return_type": "float4",
|
|
1413
1724
|
"arguments": "text, text",
|
|
1414
1725
|
"type": "FUNCTION"
|
|
1415
1726
|
},
|
|
1416
1727
|
{
|
|
1417
|
-
"name": "public.
|
|
1418
|
-
"return_type": "
|
|
1419
|
-
"arguments": "
|
|
1728
|
+
"name": "public.word_similarity_op",
|
|
1729
|
+
"return_type": "bool",
|
|
1730
|
+
"arguments": "text, text",
|
|
1420
1731
|
"type": "FUNCTION"
|
|
1421
1732
|
}
|
|
1422
1733
|
],
|
|
1423
1734
|
"driver": {
|
|
1424
1735
|
"name": "postgres",
|
|
1425
|
-
"database_version": "PostgreSQL 17.
|
|
1736
|
+
"database_version": "PostgreSQL 17.7 (Homebrew) on aarch64-apple-darwin25.1.0, compiled by Apple clang version 17.0.0 (clang-1700.4.4.1), 64-bit",
|
|
1426
1737
|
"meta": {
|
|
1427
1738
|
"current_schema": "public",
|
|
1428
1739
|
"search_paths": [
|