forge-openclaw-plugin 0.2.27 → 0.2.28
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/README.md +1 -0
- package/dist/assets/{board-C6jCchjI.js → board-DPFvZf-D.js} +2 -2
- package/dist/assets/{board-C6jCchjI.js.map → board-DPFvZf-D.js.map} +1 -1
- package/dist/assets/index-Auw3JrdE.css +1 -0
- package/dist/assets/index-D1H7myQH.js +85 -0
- package/dist/assets/index-D1H7myQH.js.map +1 -0
- package/dist/assets/{motion-DFHrH2rd.js → motion-Bvwc85ch.js} +2 -2
- package/dist/assets/{motion-DFHrH2rd.js.map → motion-Bvwc85ch.js.map} +1 -1
- package/dist/assets/{table-ZL7Di_u3.js → table-FJQTJvUR.js} +2 -2
- package/dist/assets/{table-ZL7Di_u3.js.map → table-FJQTJvUR.js.map} +1 -1
- package/dist/assets/{ui-CKNPpz7q.js → ui-GXFcgvSw.js} +2 -2
- package/dist/assets/{ui-CKNPpz7q.js.map → ui-GXFcgvSw.js.map} +1 -1
- package/dist/assets/{vendor-DoNZuFhn.js → vendor-Cwf49UMz.js} +204 -204
- package/dist/assets/vendor-Cwf49UMz.js.map +1 -0
- package/dist/index.html +7 -7
- package/dist/server/server/src/app.js +244 -2
- package/dist/server/server/src/openapi.js +799 -2
- package/dist/server/server/src/repositories/calendar.js +151 -0
- package/dist/server/server/src/services/life-force-model.js +20 -0
- package/dist/server/server/src/services/life-force.js +1333 -97
- package/dist/server/server/src/types.js +21 -1
- package/dist/server/src/lib/snapshot-normalizer.js +2 -0
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
- package/skills/forge-openclaw/SKILL.md +17 -0
- package/skills/forge-openclaw/entity_conversation_playbooks.md +238 -0
- package/skills/forge-openclaw/psyche_entity_playbooks.md +57 -0
- package/dist/assets/index-DVvS8iiU.css +0 -1
- package/dist/assets/index-zYB-9Dfo.js +0 -85
- package/dist/assets/index-zYB-9Dfo.js.map +0 -1
- package/dist/assets/vendor-DoNZuFhn.js.map +0 -1
|
@@ -37,6 +37,14 @@ const API_TAGS = [
|
|
|
37
37
|
name: "Health",
|
|
38
38
|
description: "Runtime health, sleep, sports, workout, and mobile sync surfaces."
|
|
39
39
|
},
|
|
40
|
+
{
|
|
41
|
+
name: "Movement",
|
|
42
|
+
description: "Movement overviews, timeline history, known places, stays, trips, selection aggregates, and user-defined overlay routes."
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: "Life Force",
|
|
46
|
+
description: "Energy-budget, fatigue, and action-point modeling routes."
|
|
47
|
+
},
|
|
40
48
|
{
|
|
41
49
|
name: "Auth",
|
|
42
50
|
description: "Operator session bootstrapping for trusted local usage."
|
|
@@ -125,6 +133,10 @@ const API_TAGS = [
|
|
|
125
133
|
name: "Insights",
|
|
126
134
|
description: "Stored insights and structured feedback on them."
|
|
127
135
|
},
|
|
136
|
+
{
|
|
137
|
+
name: "Workbench",
|
|
138
|
+
description: "Graph-flow catalog, execution, published outputs, and node-result routes."
|
|
139
|
+
},
|
|
128
140
|
{
|
|
129
141
|
name: "Metrics",
|
|
130
142
|
description: "XP, reward-ledger, and runtime metric surfaces."
|
|
@@ -145,7 +157,11 @@ const API_TAGS = [
|
|
|
145
157
|
const API_TAG_GROUPS = [
|
|
146
158
|
{
|
|
147
159
|
name: "Runtime",
|
|
148
|
-
tags: ["Meta", "
|
|
160
|
+
tags: ["Meta", "Auth", "Platform", "Operator", "Diagnostics"]
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
name: "Embodied Context",
|
|
164
|
+
tags: ["Health", "Movement", "Life Force"]
|
|
149
165
|
},
|
|
150
166
|
{
|
|
151
167
|
name: "Core Work",
|
|
@@ -162,7 +178,8 @@ const API_TAG_GROUPS = [
|
|
|
162
178
|
"Activity",
|
|
163
179
|
"Metrics",
|
|
164
180
|
"Reviews",
|
|
165
|
-
"Insights"
|
|
181
|
+
"Insights",
|
|
182
|
+
"Workbench"
|
|
166
183
|
]
|
|
167
184
|
},
|
|
168
185
|
{
|
|
@@ -188,6 +205,18 @@ function resolveTagsForPath(path) {
|
|
|
188
205
|
path.startsWith("/api/v1/mobile")) {
|
|
189
206
|
return ["Health"];
|
|
190
207
|
}
|
|
208
|
+
if (path.startsWith("/api/v1/movement")) {
|
|
209
|
+
return ["Movement"];
|
|
210
|
+
}
|
|
211
|
+
if (path.startsWith("/api/v1/life-force")) {
|
|
212
|
+
return ["Life Force"];
|
|
213
|
+
}
|
|
214
|
+
if (path.startsWith("/api/v1/workbench")) {
|
|
215
|
+
return ["Workbench"];
|
|
216
|
+
}
|
|
217
|
+
if (path.startsWith("/api/v1/screen-time")) {
|
|
218
|
+
return ["Health"];
|
|
219
|
+
}
|
|
191
220
|
if (path === "/api/v1/context" || path.startsWith("/api/v1/domains")) {
|
|
192
221
|
return ["Platform"];
|
|
193
222
|
}
|
|
@@ -2706,6 +2735,10 @@ export function buildOpenApiDocument() {
|
|
|
2706
2735
|
"calendar",
|
|
2707
2736
|
"workBlock",
|
|
2708
2737
|
"taskTimebox",
|
|
2738
|
+
"workAdjustment",
|
|
2739
|
+
"movement",
|
|
2740
|
+
"lifeForce",
|
|
2741
|
+
"workbench",
|
|
2709
2742
|
"psyche"
|
|
2710
2743
|
],
|
|
2711
2744
|
properties: {
|
|
@@ -2724,6 +2757,10 @@ export function buildOpenApiDocument() {
|
|
|
2724
2757
|
calendar: { type: "string" },
|
|
2725
2758
|
workBlock: { type: "string" },
|
|
2726
2759
|
taskTimebox: { type: "string" },
|
|
2760
|
+
workAdjustment: { type: "string" },
|
|
2761
|
+
movement: { type: "string" },
|
|
2762
|
+
lifeForce: { type: "string" },
|
|
2763
|
+
workbench: { type: "string" },
|
|
2727
2764
|
psyche: { type: "string" }
|
|
2728
2765
|
}
|
|
2729
2766
|
},
|
|
@@ -2800,6 +2837,7 @@ export function buildOpenApiDocument() {
|
|
|
2800
2837
|
"batchRoutes",
|
|
2801
2838
|
"specializedCrudEntities",
|
|
2802
2839
|
"actionEntities",
|
|
2840
|
+
"specializedDomainSurfaces",
|
|
2803
2841
|
"readModelOnlySurfaces"
|
|
2804
2842
|
],
|
|
2805
2843
|
properties: {
|
|
@@ -2830,6 +2868,13 @@ export function buildOpenApiDocument() {
|
|
|
2830
2868
|
additionalProperties: true
|
|
2831
2869
|
}
|
|
2832
2870
|
},
|
|
2871
|
+
specializedDomainSurfaces: {
|
|
2872
|
+
type: "object",
|
|
2873
|
+
additionalProperties: {
|
|
2874
|
+
type: "object",
|
|
2875
|
+
additionalProperties: true
|
|
2876
|
+
}
|
|
2877
|
+
},
|
|
2833
2878
|
readModelOnlySurfaces: {
|
|
2834
2879
|
type: "object",
|
|
2835
2880
|
additionalProperties: { type: "string" }
|
|
@@ -2957,6 +3002,10 @@ export function buildOpenApiDocument() {
|
|
|
2957
3002
|
"weeklyReview",
|
|
2958
3003
|
"sleepOverview",
|
|
2959
3004
|
"sportsOverview",
|
|
3005
|
+
"lifeForce",
|
|
3006
|
+
"movementTimeline",
|
|
3007
|
+
"movementAllTime",
|
|
3008
|
+
"workbenchFlows",
|
|
2960
3009
|
"wikiSettings",
|
|
2961
3010
|
"wikiSearch",
|
|
2962
3011
|
"wikiHealth",
|
|
@@ -2973,6 +3022,10 @@ export function buildOpenApiDocument() {
|
|
|
2973
3022
|
weeklyReview: { type: "string" },
|
|
2974
3023
|
sleepOverview: { type: "string" },
|
|
2975
3024
|
sportsOverview: { type: "string" },
|
|
3025
|
+
lifeForce: { type: "string" },
|
|
3026
|
+
movementTimeline: { type: "string" },
|
|
3027
|
+
movementAllTime: { type: "string" },
|
|
3028
|
+
workbenchFlows: { type: "string" },
|
|
2976
3029
|
wikiSettings: { type: "string" },
|
|
2977
3030
|
wikiSearch: { type: "string" },
|
|
2978
3031
|
wikiHealth: { type: "string" },
|
|
@@ -4127,6 +4180,750 @@ export function buildOpenApiDocument() {
|
|
|
4127
4180
|
}
|
|
4128
4181
|
}
|
|
4129
4182
|
},
|
|
4183
|
+
"/api/v1/life-force": {
|
|
4184
|
+
get: {
|
|
4185
|
+
summary: "Read the current life-force overview with stats, drains, curve state, warnings, and recommendations",
|
|
4186
|
+
responses: {
|
|
4187
|
+
"200": jsonResponse({
|
|
4188
|
+
type: "object",
|
|
4189
|
+
required: ["lifeForce", "templates"],
|
|
4190
|
+
properties: {
|
|
4191
|
+
lifeForce: {
|
|
4192
|
+
type: "object",
|
|
4193
|
+
additionalProperties: true
|
|
4194
|
+
},
|
|
4195
|
+
templates: arrayOf({
|
|
4196
|
+
type: "object",
|
|
4197
|
+
additionalProperties: true
|
|
4198
|
+
})
|
|
4199
|
+
}
|
|
4200
|
+
}, "Life-force overview"),
|
|
4201
|
+
default: { $ref: "#/components/responses/Error" }
|
|
4202
|
+
}
|
|
4203
|
+
}
|
|
4204
|
+
},
|
|
4205
|
+
"/api/v1/life-force/profile": {
|
|
4206
|
+
patch: {
|
|
4207
|
+
summary: "Update the user-controlled life-force profile settings",
|
|
4208
|
+
responses: {
|
|
4209
|
+
"200": jsonResponse({
|
|
4210
|
+
type: "object",
|
|
4211
|
+
required: ["lifeForce", "actor"],
|
|
4212
|
+
properties: {
|
|
4213
|
+
lifeForce: {
|
|
4214
|
+
type: "object",
|
|
4215
|
+
additionalProperties: true
|
|
4216
|
+
},
|
|
4217
|
+
actor: { type: "string" }
|
|
4218
|
+
}
|
|
4219
|
+
}, "Updated life-force profile"),
|
|
4220
|
+
default: { $ref: "#/components/responses/Error" }
|
|
4221
|
+
}
|
|
4222
|
+
}
|
|
4223
|
+
},
|
|
4224
|
+
"/api/v1/life-force/templates/{weekday}": {
|
|
4225
|
+
put: {
|
|
4226
|
+
summary: "Replace one weekday life-force curve template",
|
|
4227
|
+
responses: {
|
|
4228
|
+
"200": jsonResponse({
|
|
4229
|
+
type: "object",
|
|
4230
|
+
required: ["weekday", "points", "actor"],
|
|
4231
|
+
properties: {
|
|
4232
|
+
weekday: { type: "integer" },
|
|
4233
|
+
points: arrayOf({
|
|
4234
|
+
type: "object",
|
|
4235
|
+
additionalProperties: true
|
|
4236
|
+
}),
|
|
4237
|
+
actor: { type: "string" }
|
|
4238
|
+
}
|
|
4239
|
+
}, "Updated weekday curve template"),
|
|
4240
|
+
default: { $ref: "#/components/responses/Error" }
|
|
4241
|
+
}
|
|
4242
|
+
}
|
|
4243
|
+
},
|
|
4244
|
+
"/api/v1/life-force/fatigue-signals": {
|
|
4245
|
+
post: {
|
|
4246
|
+
summary: "Record a tired or recovered fatigue signal and rebuild life-force state",
|
|
4247
|
+
responses: {
|
|
4248
|
+
"200": jsonResponse({
|
|
4249
|
+
type: "object",
|
|
4250
|
+
required: ["lifeForce", "actor"],
|
|
4251
|
+
properties: {
|
|
4252
|
+
lifeForce: {
|
|
4253
|
+
type: "object",
|
|
4254
|
+
additionalProperties: true
|
|
4255
|
+
},
|
|
4256
|
+
actor: { type: "string" }
|
|
4257
|
+
}
|
|
4258
|
+
}, "Updated life-force state after fatigue signal"),
|
|
4259
|
+
default: { $ref: "#/components/responses/Error" }
|
|
4260
|
+
}
|
|
4261
|
+
}
|
|
4262
|
+
},
|
|
4263
|
+
"/api/v1/movement/day": {
|
|
4264
|
+
get: {
|
|
4265
|
+
summary: "Read one day of movement detail with distance, stays, trips, gaps, and summaries",
|
|
4266
|
+
responses: {
|
|
4267
|
+
"200": jsonResponse({
|
|
4268
|
+
type: "object",
|
|
4269
|
+
required: ["movement"],
|
|
4270
|
+
properties: {
|
|
4271
|
+
movement: {
|
|
4272
|
+
type: "object",
|
|
4273
|
+
additionalProperties: true
|
|
4274
|
+
}
|
|
4275
|
+
}
|
|
4276
|
+
}, "Movement day detail"),
|
|
4277
|
+
default: { $ref: "#/components/responses/Error" }
|
|
4278
|
+
}
|
|
4279
|
+
}
|
|
4280
|
+
},
|
|
4281
|
+
"/api/v1/movement/month": {
|
|
4282
|
+
get: {
|
|
4283
|
+
summary: "Read one month of movement summary",
|
|
4284
|
+
responses: {
|
|
4285
|
+
"200": jsonResponse({
|
|
4286
|
+
type: "object",
|
|
4287
|
+
required: ["movement"],
|
|
4288
|
+
properties: {
|
|
4289
|
+
movement: {
|
|
4290
|
+
type: "object",
|
|
4291
|
+
additionalProperties: true
|
|
4292
|
+
}
|
|
4293
|
+
}
|
|
4294
|
+
}, "Movement month summary"),
|
|
4295
|
+
default: { $ref: "#/components/responses/Error" }
|
|
4296
|
+
}
|
|
4297
|
+
}
|
|
4298
|
+
},
|
|
4299
|
+
"/api/v1/movement/all-time": {
|
|
4300
|
+
get: {
|
|
4301
|
+
summary: "Read all-time movement summary including place and trip distribution",
|
|
4302
|
+
responses: {
|
|
4303
|
+
"200": jsonResponse({
|
|
4304
|
+
type: "object",
|
|
4305
|
+
required: ["movement"],
|
|
4306
|
+
properties: {
|
|
4307
|
+
movement: {
|
|
4308
|
+
type: "object",
|
|
4309
|
+
additionalProperties: true
|
|
4310
|
+
}
|
|
4311
|
+
}
|
|
4312
|
+
}, "Movement all-time summary"),
|
|
4313
|
+
default: { $ref: "#/components/responses/Error" }
|
|
4314
|
+
}
|
|
4315
|
+
}
|
|
4316
|
+
},
|
|
4317
|
+
"/api/v1/movement/timeline": {
|
|
4318
|
+
get: {
|
|
4319
|
+
summary: "Read the paginated movement timeline with stays, trips, missing spans, and projected boxes",
|
|
4320
|
+
responses: {
|
|
4321
|
+
"200": jsonResponse({
|
|
4322
|
+
type: "object",
|
|
4323
|
+
required: ["movement"],
|
|
4324
|
+
properties: {
|
|
4325
|
+
movement: {
|
|
4326
|
+
type: "object",
|
|
4327
|
+
additionalProperties: true
|
|
4328
|
+
}
|
|
4329
|
+
}
|
|
4330
|
+
}, "Movement timeline"),
|
|
4331
|
+
default: { $ref: "#/components/responses/Error" }
|
|
4332
|
+
}
|
|
4333
|
+
}
|
|
4334
|
+
},
|
|
4335
|
+
"/api/v1/movement/settings": {
|
|
4336
|
+
get: {
|
|
4337
|
+
summary: "Read movement capture settings",
|
|
4338
|
+
responses: {
|
|
4339
|
+
"200": jsonResponse({
|
|
4340
|
+
type: "object",
|
|
4341
|
+
required: ["settings"],
|
|
4342
|
+
properties: {
|
|
4343
|
+
settings: {
|
|
4344
|
+
type: "object",
|
|
4345
|
+
additionalProperties: true
|
|
4346
|
+
}
|
|
4347
|
+
}
|
|
4348
|
+
}, "Movement settings"),
|
|
4349
|
+
default: { $ref: "#/components/responses/Error" }
|
|
4350
|
+
}
|
|
4351
|
+
},
|
|
4352
|
+
patch: {
|
|
4353
|
+
summary: "Update movement capture settings",
|
|
4354
|
+
responses: {
|
|
4355
|
+
"200": jsonResponse({
|
|
4356
|
+
type: "object",
|
|
4357
|
+
required: ["settings"],
|
|
4358
|
+
properties: {
|
|
4359
|
+
settings: {
|
|
4360
|
+
type: "object",
|
|
4361
|
+
additionalProperties: true
|
|
4362
|
+
}
|
|
4363
|
+
}
|
|
4364
|
+
}, "Updated movement settings"),
|
|
4365
|
+
default: { $ref: "#/components/responses/Error" }
|
|
4366
|
+
}
|
|
4367
|
+
}
|
|
4368
|
+
},
|
|
4369
|
+
"/api/v1/movement/places": {
|
|
4370
|
+
get: {
|
|
4371
|
+
summary: "List known movement places",
|
|
4372
|
+
responses: {
|
|
4373
|
+
"200": jsonResponse({
|
|
4374
|
+
type: "object",
|
|
4375
|
+
required: ["places"],
|
|
4376
|
+
properties: {
|
|
4377
|
+
places: arrayOf({
|
|
4378
|
+
type: "object",
|
|
4379
|
+
additionalProperties: true
|
|
4380
|
+
})
|
|
4381
|
+
}
|
|
4382
|
+
}, "Movement places"),
|
|
4383
|
+
default: { $ref: "#/components/responses/Error" }
|
|
4384
|
+
}
|
|
4385
|
+
},
|
|
4386
|
+
post: {
|
|
4387
|
+
summary: "Create one user-defined movement place",
|
|
4388
|
+
responses: {
|
|
4389
|
+
"201": jsonResponse({
|
|
4390
|
+
type: "object",
|
|
4391
|
+
required: ["place"],
|
|
4392
|
+
properties: {
|
|
4393
|
+
place: {
|
|
4394
|
+
type: "object",
|
|
4395
|
+
additionalProperties: true
|
|
4396
|
+
}
|
|
4397
|
+
}
|
|
4398
|
+
}, "Created movement place"),
|
|
4399
|
+
default: { $ref: "#/components/responses/Error" }
|
|
4400
|
+
}
|
|
4401
|
+
}
|
|
4402
|
+
},
|
|
4403
|
+
"/api/v1/movement/places/{id}": {
|
|
4404
|
+
patch: {
|
|
4405
|
+
summary: "Update one known movement place",
|
|
4406
|
+
responses: {
|
|
4407
|
+
"200": jsonResponse({
|
|
4408
|
+
type: "object",
|
|
4409
|
+
required: ["place"],
|
|
4410
|
+
properties: {
|
|
4411
|
+
place: {
|
|
4412
|
+
type: "object",
|
|
4413
|
+
additionalProperties: true
|
|
4414
|
+
}
|
|
4415
|
+
}
|
|
4416
|
+
}, "Updated movement place"),
|
|
4417
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
4418
|
+
}
|
|
4419
|
+
}
|
|
4420
|
+
},
|
|
4421
|
+
"/api/v1/movement/user-boxes": {
|
|
4422
|
+
post: {
|
|
4423
|
+
summary: "Create a user-defined movement overlay box such as a manual stay, trip, or missing-data override",
|
|
4424
|
+
responses: {
|
|
4425
|
+
"201": jsonResponse({
|
|
4426
|
+
type: "object",
|
|
4427
|
+
required: ["box"],
|
|
4428
|
+
properties: {
|
|
4429
|
+
box: {
|
|
4430
|
+
type: "object",
|
|
4431
|
+
additionalProperties: true
|
|
4432
|
+
}
|
|
4433
|
+
}
|
|
4434
|
+
}, "Created movement user box"),
|
|
4435
|
+
default: { $ref: "#/components/responses/Error" }
|
|
4436
|
+
}
|
|
4437
|
+
}
|
|
4438
|
+
},
|
|
4439
|
+
"/api/v1/movement/user-boxes/preflight": {
|
|
4440
|
+
post: {
|
|
4441
|
+
summary: "Analyze a proposed movement overlay before saving it, especially when replacing a missing gap or overlapping another box",
|
|
4442
|
+
responses: {
|
|
4443
|
+
"200": jsonResponse({
|
|
4444
|
+
type: "object",
|
|
4445
|
+
required: ["preflight"],
|
|
4446
|
+
properties: {
|
|
4447
|
+
preflight: {
|
|
4448
|
+
type: "object",
|
|
4449
|
+
additionalProperties: true
|
|
4450
|
+
}
|
|
4451
|
+
}
|
|
4452
|
+
}, "Movement user-box preflight"),
|
|
4453
|
+
default: { $ref: "#/components/responses/Error" }
|
|
4454
|
+
}
|
|
4455
|
+
}
|
|
4456
|
+
},
|
|
4457
|
+
"/api/v1/movement/user-boxes/{id}": {
|
|
4458
|
+
patch: {
|
|
4459
|
+
summary: "Update one user-defined movement overlay box",
|
|
4460
|
+
responses: {
|
|
4461
|
+
"200": jsonResponse({
|
|
4462
|
+
type: "object",
|
|
4463
|
+
required: ["box"],
|
|
4464
|
+
properties: {
|
|
4465
|
+
box: {
|
|
4466
|
+
type: "object",
|
|
4467
|
+
additionalProperties: true
|
|
4468
|
+
}
|
|
4469
|
+
}
|
|
4470
|
+
}, "Updated movement user box"),
|
|
4471
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
4472
|
+
}
|
|
4473
|
+
},
|
|
4474
|
+
delete: {
|
|
4475
|
+
summary: "Delete one user-defined movement box",
|
|
4476
|
+
responses: {
|
|
4477
|
+
"200": jsonResponse({
|
|
4478
|
+
type: "object",
|
|
4479
|
+
additionalProperties: true
|
|
4480
|
+
}, "Deleted movement user box"),
|
|
4481
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
4482
|
+
}
|
|
4483
|
+
}
|
|
4484
|
+
},
|
|
4485
|
+
"/api/v1/movement/automatic-boxes/{id}/invalidate": {
|
|
4486
|
+
post: {
|
|
4487
|
+
summary: "Hide one automatic movement box and project the resulting user-defined overlay",
|
|
4488
|
+
responses: {
|
|
4489
|
+
"201": jsonResponse({
|
|
4490
|
+
type: "object",
|
|
4491
|
+
required: ["box"],
|
|
4492
|
+
properties: {
|
|
4493
|
+
box: {
|
|
4494
|
+
type: "object",
|
|
4495
|
+
additionalProperties: true
|
|
4496
|
+
}
|
|
4497
|
+
}
|
|
4498
|
+
}, "Invalidated automatic movement box"),
|
|
4499
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
4500
|
+
}
|
|
4501
|
+
}
|
|
4502
|
+
},
|
|
4503
|
+
"/api/v1/movement/stays/{id}": {
|
|
4504
|
+
patch: {
|
|
4505
|
+
summary: "Update one recorded movement stay",
|
|
4506
|
+
responses: {
|
|
4507
|
+
"200": jsonResponse({
|
|
4508
|
+
type: "object",
|
|
4509
|
+
required: ["stay"],
|
|
4510
|
+
properties: {
|
|
4511
|
+
stay: {
|
|
4512
|
+
type: "object",
|
|
4513
|
+
additionalProperties: true
|
|
4514
|
+
}
|
|
4515
|
+
}
|
|
4516
|
+
}, "Updated movement stay"),
|
|
4517
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
4518
|
+
}
|
|
4519
|
+
},
|
|
4520
|
+
delete: {
|
|
4521
|
+
summary: "Delete one recorded movement stay",
|
|
4522
|
+
responses: {
|
|
4523
|
+
"200": jsonResponse({
|
|
4524
|
+
type: "object",
|
|
4525
|
+
additionalProperties: true
|
|
4526
|
+
}, "Deleted movement stay"),
|
|
4527
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
4528
|
+
}
|
|
4529
|
+
}
|
|
4530
|
+
},
|
|
4531
|
+
"/api/v1/movement/trips/{id}": {
|
|
4532
|
+
get: {
|
|
4533
|
+
summary: "Read one movement trip with its full detail",
|
|
4534
|
+
responses: {
|
|
4535
|
+
"200": jsonResponse({
|
|
4536
|
+
type: "object",
|
|
4537
|
+
required: ["movement"],
|
|
4538
|
+
properties: {
|
|
4539
|
+
movement: {
|
|
4540
|
+
type: "object",
|
|
4541
|
+
additionalProperties: true
|
|
4542
|
+
}
|
|
4543
|
+
}
|
|
4544
|
+
}, "Movement trip detail"),
|
|
4545
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
4546
|
+
}
|
|
4547
|
+
},
|
|
4548
|
+
patch: {
|
|
4549
|
+
summary: "Update one movement trip",
|
|
4550
|
+
responses: {
|
|
4551
|
+
"200": jsonResponse({
|
|
4552
|
+
type: "object",
|
|
4553
|
+
required: ["trip"],
|
|
4554
|
+
properties: {
|
|
4555
|
+
trip: {
|
|
4556
|
+
type: "object",
|
|
4557
|
+
additionalProperties: true
|
|
4558
|
+
}
|
|
4559
|
+
}
|
|
4560
|
+
}, "Updated movement trip"),
|
|
4561
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
4562
|
+
}
|
|
4563
|
+
},
|
|
4564
|
+
delete: {
|
|
4565
|
+
summary: "Delete one movement trip",
|
|
4566
|
+
responses: {
|
|
4567
|
+
"200": jsonResponse({
|
|
4568
|
+
type: "object",
|
|
4569
|
+
additionalProperties: true
|
|
4570
|
+
}, "Deleted movement trip"),
|
|
4571
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
4572
|
+
}
|
|
4573
|
+
}
|
|
4574
|
+
},
|
|
4575
|
+
"/api/v1/movement/trips/{id}/points/{pointId}": {
|
|
4576
|
+
patch: {
|
|
4577
|
+
summary: "Update one movement trip datapoint",
|
|
4578
|
+
responses: {
|
|
4579
|
+
"200": jsonResponse({
|
|
4580
|
+
type: "object",
|
|
4581
|
+
additionalProperties: true
|
|
4582
|
+
}, "Updated movement trip point"),
|
|
4583
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
4584
|
+
}
|
|
4585
|
+
},
|
|
4586
|
+
delete: {
|
|
4587
|
+
summary: "Delete one movement trip datapoint",
|
|
4588
|
+
responses: {
|
|
4589
|
+
"200": jsonResponse({
|
|
4590
|
+
type: "object",
|
|
4591
|
+
additionalProperties: true
|
|
4592
|
+
}, "Deleted movement trip point"),
|
|
4593
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
4594
|
+
}
|
|
4595
|
+
}
|
|
4596
|
+
},
|
|
4597
|
+
"/api/v1/movement/selection": {
|
|
4598
|
+
post: {
|
|
4599
|
+
summary: "Aggregate one selected movement range or set of segments",
|
|
4600
|
+
responses: {
|
|
4601
|
+
"200": jsonResponse({
|
|
4602
|
+
type: "object",
|
|
4603
|
+
required: ["movement"],
|
|
4604
|
+
properties: {
|
|
4605
|
+
movement: {
|
|
4606
|
+
type: "object",
|
|
4607
|
+
additionalProperties: true
|
|
4608
|
+
}
|
|
4609
|
+
}
|
|
4610
|
+
}, "Movement selection aggregate"),
|
|
4611
|
+
default: { $ref: "#/components/responses/Error" }
|
|
4612
|
+
}
|
|
4613
|
+
}
|
|
4614
|
+
},
|
|
4615
|
+
"/api/v1/workbench/catalog/boxes": {
|
|
4616
|
+
get: {
|
|
4617
|
+
summary: "List registered Workbench boxes and their contracts",
|
|
4618
|
+
responses: {
|
|
4619
|
+
"200": jsonResponse({
|
|
4620
|
+
type: "object",
|
|
4621
|
+
required: ["boxes"],
|
|
4622
|
+
properties: {
|
|
4623
|
+
boxes: arrayOf({
|
|
4624
|
+
type: "object",
|
|
4625
|
+
additionalProperties: true
|
|
4626
|
+
})
|
|
4627
|
+
}
|
|
4628
|
+
}, "Workbench box catalog"),
|
|
4629
|
+
default: { $ref: "#/components/responses/Error" }
|
|
4630
|
+
}
|
|
4631
|
+
}
|
|
4632
|
+
},
|
|
4633
|
+
"/api/v1/workbench/flows": {
|
|
4634
|
+
get: {
|
|
4635
|
+
summary: "List Workbench flows and recent execution summaries",
|
|
4636
|
+
responses: {
|
|
4637
|
+
"200": jsonResponse({
|
|
4638
|
+
type: "object",
|
|
4639
|
+
required: ["flows"],
|
|
4640
|
+
properties: {
|
|
4641
|
+
flows: arrayOf({
|
|
4642
|
+
type: "object",
|
|
4643
|
+
additionalProperties: true
|
|
4644
|
+
})
|
|
4645
|
+
}
|
|
4646
|
+
}, "Workbench flow collection"),
|
|
4647
|
+
default: { $ref: "#/components/responses/Error" }
|
|
4648
|
+
}
|
|
4649
|
+
},
|
|
4650
|
+
post: {
|
|
4651
|
+
summary: "Create one Workbench flow",
|
|
4652
|
+
responses: {
|
|
4653
|
+
"201": jsonResponse({
|
|
4654
|
+
type: "object",
|
|
4655
|
+
required: ["flow"],
|
|
4656
|
+
properties: {
|
|
4657
|
+
flow: {
|
|
4658
|
+
type: "object",
|
|
4659
|
+
additionalProperties: true
|
|
4660
|
+
}
|
|
4661
|
+
}
|
|
4662
|
+
}, "Created Workbench flow"),
|
|
4663
|
+
default: { $ref: "#/components/responses/Error" }
|
|
4664
|
+
}
|
|
4665
|
+
}
|
|
4666
|
+
},
|
|
4667
|
+
"/api/v1/workbench/flows/{id}": {
|
|
4668
|
+
get: {
|
|
4669
|
+
summary: "Read one Workbench flow with runs",
|
|
4670
|
+
responses: {
|
|
4671
|
+
"200": jsonResponse({
|
|
4672
|
+
type: "object",
|
|
4673
|
+
required: ["flow", "runs"],
|
|
4674
|
+
properties: {
|
|
4675
|
+
flow: {
|
|
4676
|
+
type: "object",
|
|
4677
|
+
additionalProperties: true
|
|
4678
|
+
},
|
|
4679
|
+
runs: arrayOf({
|
|
4680
|
+
type: "object",
|
|
4681
|
+
additionalProperties: true
|
|
4682
|
+
})
|
|
4683
|
+
}
|
|
4684
|
+
}, "Workbench flow detail"),
|
|
4685
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
4686
|
+
}
|
|
4687
|
+
},
|
|
4688
|
+
patch: {
|
|
4689
|
+
summary: "Update one Workbench flow",
|
|
4690
|
+
responses: {
|
|
4691
|
+
"200": jsonResponse({
|
|
4692
|
+
type: "object",
|
|
4693
|
+
required: ["flow"],
|
|
4694
|
+
properties: {
|
|
4695
|
+
flow: {
|
|
4696
|
+
type: "object",
|
|
4697
|
+
additionalProperties: true
|
|
4698
|
+
}
|
|
4699
|
+
}
|
|
4700
|
+
}, "Updated Workbench flow"),
|
|
4701
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
4702
|
+
}
|
|
4703
|
+
},
|
|
4704
|
+
delete: {
|
|
4705
|
+
summary: "Delete one Workbench flow",
|
|
4706
|
+
responses: {
|
|
4707
|
+
"200": jsonResponse({
|
|
4708
|
+
type: "object",
|
|
4709
|
+
additionalProperties: true
|
|
4710
|
+
}, "Deleted Workbench flow"),
|
|
4711
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
4712
|
+
}
|
|
4713
|
+
}
|
|
4714
|
+
},
|
|
4715
|
+
"/api/v1/workbench/flows/by-slug/{slug}": {
|
|
4716
|
+
get: {
|
|
4717
|
+
summary: "Read one Workbench flow by slug",
|
|
4718
|
+
responses: {
|
|
4719
|
+
"200": jsonResponse({
|
|
4720
|
+
type: "object",
|
|
4721
|
+
required: ["flow"],
|
|
4722
|
+
properties: {
|
|
4723
|
+
flow: {
|
|
4724
|
+
type: "object",
|
|
4725
|
+
additionalProperties: true
|
|
4726
|
+
}
|
|
4727
|
+
}
|
|
4728
|
+
}, "Workbench flow by slug"),
|
|
4729
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
4730
|
+
}
|
|
4731
|
+
}
|
|
4732
|
+
},
|
|
4733
|
+
"/api/v1/workbench/flows/{id}/run": {
|
|
4734
|
+
post: {
|
|
4735
|
+
summary: "Run one Workbench flow by id",
|
|
4736
|
+
responses: {
|
|
4737
|
+
"200": jsonResponse({
|
|
4738
|
+
type: "object",
|
|
4739
|
+
required: ["flow", "run", "conversation"],
|
|
4740
|
+
properties: {
|
|
4741
|
+
flow: {
|
|
4742
|
+
type: "object",
|
|
4743
|
+
additionalProperties: true
|
|
4744
|
+
},
|
|
4745
|
+
run: {
|
|
4746
|
+
type: "object",
|
|
4747
|
+
additionalProperties: true
|
|
4748
|
+
},
|
|
4749
|
+
conversation: {
|
|
4750
|
+
type: "object",
|
|
4751
|
+
additionalProperties: true
|
|
4752
|
+
}
|
|
4753
|
+
}
|
|
4754
|
+
}, "Workbench flow execution"),
|
|
4755
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
4756
|
+
}
|
|
4757
|
+
}
|
|
4758
|
+
},
|
|
4759
|
+
"/api/v1/workbench/run": {
|
|
4760
|
+
post: {
|
|
4761
|
+
summary: "Run one Workbench flow by payload with flowId",
|
|
4762
|
+
responses: {
|
|
4763
|
+
"200": jsonResponse({
|
|
4764
|
+
type: "object",
|
|
4765
|
+
required: ["flow", "run", "conversation"],
|
|
4766
|
+
properties: {
|
|
4767
|
+
flow: {
|
|
4768
|
+
type: "object",
|
|
4769
|
+
additionalProperties: true
|
|
4770
|
+
},
|
|
4771
|
+
run: {
|
|
4772
|
+
type: "object",
|
|
4773
|
+
additionalProperties: true
|
|
4774
|
+
},
|
|
4775
|
+
conversation: {
|
|
4776
|
+
type: "object",
|
|
4777
|
+
additionalProperties: true
|
|
4778
|
+
}
|
|
4779
|
+
}
|
|
4780
|
+
}, "Workbench flow execution"),
|
|
4781
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
4782
|
+
}
|
|
4783
|
+
}
|
|
4784
|
+
},
|
|
4785
|
+
"/api/v1/workbench/flows/{id}/chat": {
|
|
4786
|
+
post: {
|
|
4787
|
+
summary: "Continue or start one Workbench chat flow",
|
|
4788
|
+
responses: {
|
|
4789
|
+
"200": jsonResponse({
|
|
4790
|
+
type: "object",
|
|
4791
|
+
additionalProperties: true
|
|
4792
|
+
}, "Workbench chat response"),
|
|
4793
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
4794
|
+
}
|
|
4795
|
+
}
|
|
4796
|
+
},
|
|
4797
|
+
"/api/v1/workbench/flows/{id}/output": {
|
|
4798
|
+
get: {
|
|
4799
|
+
summary: "Read the latest published whole-flow output",
|
|
4800
|
+
responses: {
|
|
4801
|
+
"200": jsonResponse({
|
|
4802
|
+
type: "object",
|
|
4803
|
+
additionalProperties: true
|
|
4804
|
+
}, "Workbench published output"),
|
|
4805
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
4806
|
+
}
|
|
4807
|
+
}
|
|
4808
|
+
},
|
|
4809
|
+
"/api/v1/workbench/flows/{id}/runs": {
|
|
4810
|
+
get: {
|
|
4811
|
+
summary: "List Workbench runs for one flow",
|
|
4812
|
+
responses: {
|
|
4813
|
+
"200": jsonResponse({
|
|
4814
|
+
type: "object",
|
|
4815
|
+
required: ["flow", "runs"],
|
|
4816
|
+
properties: {
|
|
4817
|
+
flow: {
|
|
4818
|
+
type: "object",
|
|
4819
|
+
additionalProperties: true
|
|
4820
|
+
},
|
|
4821
|
+
runs: arrayOf({
|
|
4822
|
+
type: "object",
|
|
4823
|
+
additionalProperties: true
|
|
4824
|
+
})
|
|
4825
|
+
}
|
|
4826
|
+
}, "Workbench run list"),
|
|
4827
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
4828
|
+
}
|
|
4829
|
+
}
|
|
4830
|
+
},
|
|
4831
|
+
"/api/v1/workbench/flows/{id}/runs/{runId}": {
|
|
4832
|
+
get: {
|
|
4833
|
+
summary: "Read one Workbench run detail",
|
|
4834
|
+
responses: {
|
|
4835
|
+
"200": jsonResponse({
|
|
4836
|
+
type: "object",
|
|
4837
|
+
required: ["flow", "run"],
|
|
4838
|
+
properties: {
|
|
4839
|
+
flow: {
|
|
4840
|
+
type: "object",
|
|
4841
|
+
additionalProperties: true
|
|
4842
|
+
},
|
|
4843
|
+
run: {
|
|
4844
|
+
type: "object",
|
|
4845
|
+
additionalProperties: true
|
|
4846
|
+
}
|
|
4847
|
+
}
|
|
4848
|
+
}, "Workbench run detail"),
|
|
4849
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
4850
|
+
}
|
|
4851
|
+
}
|
|
4852
|
+
},
|
|
4853
|
+
"/api/v1/workbench/flows/{id}/runs/{runId}/nodes": {
|
|
4854
|
+
get: {
|
|
4855
|
+
summary: "List node results for one Workbench run",
|
|
4856
|
+
responses: {
|
|
4857
|
+
"200": jsonResponse({
|
|
4858
|
+
type: "object",
|
|
4859
|
+
required: ["flow", "run", "nodeResults"],
|
|
4860
|
+
properties: {
|
|
4861
|
+
flow: {
|
|
4862
|
+
type: "object",
|
|
4863
|
+
additionalProperties: true
|
|
4864
|
+
},
|
|
4865
|
+
run: {
|
|
4866
|
+
type: "object",
|
|
4867
|
+
additionalProperties: true
|
|
4868
|
+
},
|
|
4869
|
+
nodeResults: arrayOf({
|
|
4870
|
+
type: "object",
|
|
4871
|
+
additionalProperties: true
|
|
4872
|
+
})
|
|
4873
|
+
}
|
|
4874
|
+
}, "Workbench node results"),
|
|
4875
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
4876
|
+
}
|
|
4877
|
+
}
|
|
4878
|
+
},
|
|
4879
|
+
"/api/v1/workbench/flows/{id}/runs/{runId}/nodes/{nodeId}": {
|
|
4880
|
+
get: {
|
|
4881
|
+
summary: "Read one node result for one Workbench run",
|
|
4882
|
+
responses: {
|
|
4883
|
+
"200": jsonResponse({
|
|
4884
|
+
type: "object",
|
|
4885
|
+
required: ["flow", "nodeResult"],
|
|
4886
|
+
properties: {
|
|
4887
|
+
flow: {
|
|
4888
|
+
type: "object",
|
|
4889
|
+
additionalProperties: true
|
|
4890
|
+
},
|
|
4891
|
+
nodeResult: {
|
|
4892
|
+
type: "object",
|
|
4893
|
+
additionalProperties: true
|
|
4894
|
+
}
|
|
4895
|
+
}
|
|
4896
|
+
}, "Workbench node result"),
|
|
4897
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
4898
|
+
}
|
|
4899
|
+
}
|
|
4900
|
+
},
|
|
4901
|
+
"/api/v1/workbench/flows/{id}/nodes/{nodeId}/output": {
|
|
4902
|
+
get: {
|
|
4903
|
+
summary: "Read the latest successful output for one Workbench node",
|
|
4904
|
+
responses: {
|
|
4905
|
+
"200": jsonResponse({
|
|
4906
|
+
type: "object",
|
|
4907
|
+
required: ["flow", "run", "nodeResult"],
|
|
4908
|
+
properties: {
|
|
4909
|
+
flow: {
|
|
4910
|
+
type: "object",
|
|
4911
|
+
additionalProperties: true
|
|
4912
|
+
},
|
|
4913
|
+
run: {
|
|
4914
|
+
type: "object",
|
|
4915
|
+
additionalProperties: true
|
|
4916
|
+
},
|
|
4917
|
+
nodeResult: {
|
|
4918
|
+
type: "object",
|
|
4919
|
+
additionalProperties: true
|
|
4920
|
+
}
|
|
4921
|
+
}
|
|
4922
|
+
}, "Workbench latest node output"),
|
|
4923
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
4924
|
+
}
|
|
4925
|
+
}
|
|
4926
|
+
},
|
|
4130
4927
|
"/api/v1/wiki/settings": {
|
|
4131
4928
|
get: {
|
|
4132
4929
|
summary: "Read wiki spaces plus enabled LLM and embedding profiles",
|