agent-relay-server 0.12.4 → 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.
package/docs/openapi.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "openapi": "3.1.0",
3
3
  "info": {
4
4
  "title": "Agent Relay API",
5
- "version": "0.11.8",
5
+ "version": "0.12.4",
6
6
  "description": "Real-time message bus for inter-agent communication. Agent-first: this spec is designed for machine consumption — agents can self-discover the full API surface via GET /api/spec.",
7
7
  "license": {
8
8
  "name": "MIT",
@@ -1722,6 +1722,26 @@
1722
1722
  }
1723
1723
  }
1724
1724
  }
1725
+ },
1726
+ "409": {
1727
+ "description": "Conflict",
1728
+ "content": {
1729
+ "application/json": {
1730
+ "schema": {
1731
+ "$ref": "#/components/schemas/Error"
1732
+ }
1733
+ }
1734
+ }
1735
+ },
1736
+ "422": {
1737
+ "description": "Unprocessable entity",
1738
+ "content": {
1739
+ "application/json": {
1740
+ "schema": {
1741
+ "$ref": "#/components/schemas/Error"
1742
+ }
1743
+ }
1744
+ }
1725
1745
  }
1726
1746
  },
1727
1747
  "security": [
@@ -5937,6 +5957,245 @@
5937
5957
  ]
5938
5958
  }
5939
5959
  },
5960
+ "/api/insights/config": {
5961
+ "get": {
5962
+ "operationId": "getInsightsConfigRoute",
5963
+ "summary": "Get Insights (self-improvement) config",
5964
+ "tags": [
5965
+ "Other"
5966
+ ],
5967
+ "description": "Returns the Insights module config entry `{ enabled, contextRatio: { enabled }, introspection: { enabled, minTurns, minContextRemaining } }`. Feature toggles for the continuous self-improvement flywheel (epic #183, docs/self-improvement.md). Defaults on (passive read-only observation); merged over defaults until set.",
5968
+ "responses": {
5969
+ "200": {
5970
+ "description": "Success",
5971
+ "content": {
5972
+ "application/json": {}
5973
+ }
5974
+ },
5975
+ "400": {
5976
+ "description": "Bad request",
5977
+ "content": {
5978
+ "application/json": {
5979
+ "schema": {
5980
+ "$ref": "#/components/schemas/Error"
5981
+ }
5982
+ }
5983
+ }
5984
+ }
5985
+ },
5986
+ "security": [
5987
+ {
5988
+ "bearerAuth": []
5989
+ },
5990
+ {
5991
+ "tokenHeader": []
5992
+ },
5993
+ {
5994
+ "tokenQuery": []
5995
+ }
5996
+ ]
5997
+ },
5998
+ "put": {
5999
+ "operationId": "putInsightsConfigRoute",
6000
+ "summary": "Set Insights (self-improvement) config",
6001
+ "tags": [
6002
+ "Other"
6003
+ ],
6004
+ "description": "Updates the Insights module config. Body: `{ value: { enabled, contextRatio: { enabled }, introspection: { enabled, minTurns, minContextRemaining } }, updatedBy? }`. Master `enabled` gates all signals; each feature toggles independently. Versioned with full config history (bisectable per design constraint #5).",
6005
+ "requestBody": {
6006
+ "required": true,
6007
+ "content": {
6008
+ "application/json": {
6009
+ "schema": {
6010
+ "type": "object",
6011
+ "properties": {
6012
+ "value": {
6013
+ "type": "string"
6014
+ },
6015
+ "updatedBy": {
6016
+ "type": "string"
6017
+ }
6018
+ }
6019
+ }
6020
+ }
6021
+ }
6022
+ },
6023
+ "responses": {
6024
+ "200": {
6025
+ "description": "Success",
6026
+ "content": {
6027
+ "application/json": {}
6028
+ }
6029
+ },
6030
+ "400": {
6031
+ "description": "Bad request",
6032
+ "content": {
6033
+ "application/json": {
6034
+ "schema": {
6035
+ "$ref": "#/components/schemas/Error"
6036
+ }
6037
+ }
6038
+ }
6039
+ }
6040
+ },
6041
+ "security": [
6042
+ {
6043
+ "bearerAuth": []
6044
+ },
6045
+ {
6046
+ "tokenHeader": []
6047
+ },
6048
+ {
6049
+ "tokenQuery": []
6050
+ }
6051
+ ]
6052
+ }
6053
+ },
6054
+ "/api/insights/observations": {
6055
+ "get": {
6056
+ "operationId": "getInsightsObservationsRoute",
6057
+ "summary": "List self-improvement observations",
6058
+ "tags": [
6059
+ "Other"
6060
+ ],
6061
+ "description": "Returns `{ observations, stats, projects }` for the self-improvement flywheel. Filter with `?project=`, `?signal=` (e.g. `context_ratio`, `introspection`), `?session=`, `?limit=`. `stats` are per-project plus a global (project=null) rollup; raw values are preserved on rows so the real signal stays delta-from-baseline, never an absolute threshold.",
6062
+ "parameters": [
6063
+ {
6064
+ "name": "project",
6065
+ "in": "query",
6066
+ "schema": {
6067
+ "type": "string"
6068
+ }
6069
+ },
6070
+ {
6071
+ "name": "signal",
6072
+ "in": "query",
6073
+ "schema": {
6074
+ "type": "string"
6075
+ }
6076
+ },
6077
+ {
6078
+ "name": "session",
6079
+ "in": "query",
6080
+ "schema": {
6081
+ "type": "string"
6082
+ }
6083
+ },
6084
+ {
6085
+ "name": "limit",
6086
+ "in": "query",
6087
+ "schema": {
6088
+ "type": "string"
6089
+ }
6090
+ }
6091
+ ],
6092
+ "responses": {
6093
+ "200": {
6094
+ "description": "Success",
6095
+ "content": {
6096
+ "application/json": {}
6097
+ }
6098
+ }
6099
+ },
6100
+ "security": [
6101
+ {
6102
+ "bearerAuth": []
6103
+ },
6104
+ {
6105
+ "tokenHeader": []
6106
+ },
6107
+ {
6108
+ "tokenQuery": []
6109
+ }
6110
+ ]
6111
+ },
6112
+ "post": {
6113
+ "operationId": "postInsightsObservationRoute",
6114
+ "summary": "Record a self-improvement observation",
6115
+ "tags": [
6116
+ "Other"
6117
+ ],
6118
+ "description": "Generic ingest for one datapoint: `{ sessionId, project?, agentId?, signal, value, outcome?, source? }`. New instrumentation appends rows with a new `signal` — no schema change. `value` carries the metric; `outcome` carries the paired anti-Goodhart proxy. Returns 409 when the master switch or the matching per-signal toggle is off; 400 on validation error.",
6119
+ "requestBody": {
6120
+ "required": true,
6121
+ "content": {
6122
+ "application/json": {
6123
+ "schema": {
6124
+ "type": "object",
6125
+ "properties": {
6126
+ "signal": {
6127
+ "type": "string"
6128
+ },
6129
+ "sessionId": {
6130
+ "type": "string"
6131
+ },
6132
+ "agentId": {
6133
+ "type": "string"
6134
+ },
6135
+ "project": {
6136
+ "type": "string"
6137
+ },
6138
+ "value": {
6139
+ "type": "string"
6140
+ },
6141
+ "outcome": {
6142
+ "type": "string"
6143
+ },
6144
+ "source": {
6145
+ "type": "string"
6146
+ }
6147
+ }
6148
+ }
6149
+ }
6150
+ }
6151
+ },
6152
+ "responses": {
6153
+ "200": {
6154
+ "description": "Success",
6155
+ "content": {
6156
+ "application/json": {}
6157
+ }
6158
+ },
6159
+ "201": {
6160
+ "description": "Created",
6161
+ "content": {
6162
+ "application/json": {}
6163
+ }
6164
+ },
6165
+ "400": {
6166
+ "description": "Bad request",
6167
+ "content": {
6168
+ "application/json": {
6169
+ "schema": {
6170
+ "$ref": "#/components/schemas/Error"
6171
+ }
6172
+ }
6173
+ }
6174
+ },
6175
+ "409": {
6176
+ "description": "Conflict",
6177
+ "content": {
6178
+ "application/json": {
6179
+ "schema": {
6180
+ "$ref": "#/components/schemas/Error"
6181
+ }
6182
+ }
6183
+ }
6184
+ }
6185
+ },
6186
+ "security": [
6187
+ {
6188
+ "bearerAuth": []
6189
+ },
6190
+ {
6191
+ "tokenHeader": []
6192
+ },
6193
+ {
6194
+ "tokenQuery": []
6195
+ }
6196
+ ]
6197
+ }
6198
+ },
5940
6199
  "/api/config/{namespace}": {
5941
6200
  "get": {
5942
6201
  "operationId": "getConfigNamespace",
@@ -8584,6 +8843,56 @@
8584
8843
  ]
8585
8844
  }
8586
8845
  },
8846
+ "/api/connectors/{id}/call/{name}": {
8847
+ "post": {
8848
+ "operationId": "postConnectorCall",
8849
+ "summary": "Post Connector Call",
8850
+ "tags": [
8851
+ "Connectors"
8852
+ ],
8853
+ "parameters": [
8854
+ {
8855
+ "name": "id",
8856
+ "in": "path",
8857
+ "required": true,
8858
+ "schema": {
8859
+ "type": "string"
8860
+ }
8861
+ },
8862
+ {
8863
+ "name": "name",
8864
+ "in": "path",
8865
+ "required": true,
8866
+ "schema": {
8867
+ "type": "string"
8868
+ }
8869
+ }
8870
+ ],
8871
+ "responses": {
8872
+ "404": {
8873
+ "description": "Not found",
8874
+ "content": {
8875
+ "application/json": {
8876
+ "schema": {
8877
+ "$ref": "#/components/schemas/Error"
8878
+ }
8879
+ }
8880
+ }
8881
+ }
8882
+ },
8883
+ "security": [
8884
+ {
8885
+ "bearerAuth": []
8886
+ },
8887
+ {
8888
+ "tokenHeader": []
8889
+ },
8890
+ {
8891
+ "tokenQuery": []
8892
+ }
8893
+ ]
8894
+ }
8895
+ },
8587
8896
  "/api/channels": {
8588
8897
  "get": {
8589
8898
  "operationId": "getChannels",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-relay-server",
3
- "version": "0.12.4",
3
+ "version": "0.14.0",
4
4
  "description": "Lightweight HTTP message relay for inter-agent communication across machines",
5
5
  "module": "src/index.ts",
6
6
  "type": "module",
@@ -10,7 +10,8 @@
10
10
  "codex",
11
11
  "runner",
12
12
  "orchestrator",
13
- "claude"
13
+ "claude",
14
+ "connectors/voice"
14
15
  ],
15
16
  "bin": {
16
17
  "agent-relay": "src/index.ts"
@@ -32,16 +33,18 @@
32
33
  "CONTRIBUTING.md"
33
34
  ],
34
35
  "dependencies": {
35
- "agent-relay-sdk": "0.2.6"
36
+ "agent-relay-sdk": "0.2.7"
36
37
  },
37
38
  "scripts": {
38
- "prepack": "bun run build:dashboard >&2",
39
+ "prepack": "bun run build:dashboard:bundle >&2",
39
40
  "postinstall": "node scripts/install-bin-shim.cjs",
40
41
  "start": "bun run src/index.ts",
41
42
  "dev": "bun --watch run src/index.ts",
42
43
  "dev:dashboard": "cd dashboard && bun run dev",
43
44
  "build:sdk": "cd sdk && bun run build",
44
- "build:dashboard": "bun run build:sdk && cd dashboard && bun run build",
45
+ "build:dashboard": "bun run build:dashboard:bundle && bun run deploy:dashboard",
46
+ "build:dashboard:bundle": "bun run build:sdk && cd dashboard && bun run build",
47
+ "deploy:dashboard": "bun run scripts/deploy-dashboard.ts",
45
48
  "test": "bun test",
46
49
  "smoke:spawn": "bun run scripts/orchestrator-spawn-smoke.ts",
47
50
  "typecheck": "tsc --noEmit",