@cartanova/qgrid-cli 2.10.9 → 2.10.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.
Files changed (49) hide show
  1. package/bundle/dist/application/qgrid/qgrid-response-format.js +2 -2
  2. package/bundle/dist/application/qgrid/qgrid-run-lifecycle.js +4 -2
  3. package/bundle/dist/application/request-log/request-log.model.js +2 -1
  4. package/bundle/dist/application/request-log/request-log.types.js +8 -2
  5. package/bundle/dist/application/sonamu.generated.js +9 -1
  6. package/bundle/dist/application/sonamu.generated.sso.js +2 -1
  7. package/bundle/dist/i18n/sd.generated.js +2 -1
  8. package/bundle/dist/migrations/20261018215031_alter_request_logs_add1_alter1.js +15 -0
  9. package/bundle/src/application/qgrid/qgrid-response-format.ts +1 -1
  10. package/bundle/src/application/qgrid/qgrid-run-lifecycle.test.ts +14 -0
  11. package/bundle/src/application/qgrid/qgrid-run-lifecycle.ts +3 -0
  12. package/bundle/src/application/request-log/request-log.entity.json +8 -0
  13. package/bundle/src/application/request-log/request-log.model.ts +3 -0
  14. package/bundle/src/application/request-log/request-log.types.ts +11 -0
  15. package/bundle/src/application/sonamu.generated.http +2 -0
  16. package/bundle/src/application/sonamu.generated.sso.ts +1 -0
  17. package/bundle/src/application/sonamu.generated.ts +14 -0
  18. package/bundle/src/i18n/sd.generated.ts +1 -0
  19. package/bundle/src/migrations/20261018215031_alter_request_logs_add1_alter1.ts +15 -0
  20. package/bundle/web-dist/client/assets/{index-CrXKu_J8.js → index-DZwzUfI-.js} +4 -4
  21. package/bundle/web-dist/client/assets/{logs-B2SmWJXA.js → logs-Cog79DU5.js} +1 -1
  22. package/bundle/web-dist/client/assets/{monit-D-JwXXoA.js → monit-2auznBys.js} +1 -1
  23. package/bundle/web-dist/client/assets/{routes-C5r4gTvY.js → routes-B0lTeLK-.js} +1 -1
  24. package/bundle/web-dist/client/assets/{services.generated-BsieU37H.js → services.generated-NP-ValHd.js} +1 -1
  25. package/bundle/web-dist/client/assets/{settings-D3tDSAck.js → settings-D8ZxZGSJ.js} +1 -1
  26. package/bundle/web-dist/client/assets/{show-Cah_kUKC.js → show-CFSERlnM.js} +2 -2
  27. package/bundle/web-dist/client/assets/{tokens-DU2Iyxxd.js → tokens-CZXUyI7O.js} +1 -1
  28. package/bundle/web-dist/client/assets/{use-oauth-login-flow-D0UaR9_e.js → use-oauth-login-flow-hboOs3wG.js} +1 -1
  29. package/bundle/web-dist/client/assets/{use-update-token-mutation-DAq0F8p-.js → use-update-token-mutation-BQHS0byG.js} +1 -1
  30. package/bundle/web-dist/client/index.html +2 -2
  31. package/bundle/web-dist/server/assets/{lazyRouteComponent-Dtd0NR4r.js → lazyRouteComponent-CgBdabgd.js} +2 -2
  32. package/bundle/web-dist/server/assets/{logs-l91avYif.js → logs-BMyR98rU.js} +4 -4
  33. package/bundle/web-dist/server/assets/{monit-DvzribSE.js → monit-ZPt66W5M.js} +3 -3
  34. package/bundle/web-dist/server/assets/{plus-KZrECewT.js → plus-BZ9I0VgC.js} +1 -1
  35. package/bundle/web-dist/server/assets/{react-dom-B4a6-uuR.js → react-dom-Ds75e4Jl.js} +1 -1
  36. package/bundle/web-dist/server/assets/{refresh-cw-BND93JrF.js → refresh-cw-CztCFis-.js} +1 -1
  37. package/bundle/web-dist/server/assets/{request-model-CbqfnQOJ.js → request-model-DjGldb-h.js} +1 -1
  38. package/bundle/web-dist/server/assets/{routes-BAPWTizT.js → routes-Ct-k7nBA.js} +4 -4
  39. package/bundle/web-dist/server/assets/{services.generated-CEbGjsI0.js → services.generated-BA4AcAf5.js} +1 -0
  40. package/bundle/web-dist/server/assets/{settings-BZR5HSAL.js → settings-CBUZ47Xx.js} +3 -3
  41. package/bundle/web-dist/server/assets/{show-CxVZTAdv.js → show-LSFIzvO2.js} +11 -7
  42. package/bundle/web-dist/server/assets/{tokens-D1hb4eKk.js → tokens-DxrBW512.js} +4 -4
  43. package/bundle/web-dist/server/assets/{use-oauth-login-flow-Cvdy0zF8.js → use-oauth-login-flow-Gn8flMK5.js} +1 -1
  44. package/bundle/web-dist/server/assets/{use-update-token-mutation-CfYmk_4_.js → use-update-token-mutation-pkArIzCP.js} +1 -1
  45. package/bundle/web-dist/server/entry-server.generated.js +18 -10
  46. package/package.json +1 -1
  47. package/skills/qgrid/references/decision-rationale.md +1 -1
  48. package/skills/qgrid/references/request-log-run-lifecycle.md +1 -1
  49. package/skills/qgrid/references/sonamu-api-web-flow.md +1 -1
@@ -164,6 +164,13 @@
164
164
  "nullable": true,
165
165
  "desc": "inject_items 히스토리"
166
166
  },
167
+ {
168
+ "name": "input_images",
169
+ "type": "json",
170
+ "id": "InputImages",
171
+ "nullable": true,
172
+ "desc": "현재 user turn 입력 이미지"
173
+ },
167
174
  {
168
175
  "name": "tools",
169
176
  "type": "json",
@@ -297,6 +304,7 @@
297
304
  "effort",
298
305
  "service_tier",
299
306
  "history",
307
+ "input_images",
300
308
  "tools",
301
309
  "status",
302
310
  "response_json_ok",
@@ -22,6 +22,7 @@ import {
22
22
  import {
23
23
  type RequestLogListParams,
24
24
  type RequestLogSaveParams,
25
+ type InputImages,
25
26
  type ToolDefinitions,
26
27
  type ToolView,
27
28
  } from "./request-log.types";
@@ -484,6 +485,7 @@ class RequestLogModelClass extends BaseModelClass<
484
485
  service_tier?: string | null;
485
486
  project_name?: string | null;
486
487
  history?: unknown;
488
+ input_images?: InputImages;
487
489
  tools?: ToolDefinitions;
488
490
  is_image_generation?: boolean;
489
491
  is_structured?: boolean;
@@ -513,6 +515,7 @@ class RequestLogModelClass extends BaseModelClass<
513
515
  is_structured:
514
516
  params.is_structured ?? (params.json_schema !== null && params.json_schema !== undefined),
515
517
  ...(params.history !== undefined ? { history: params.history as { type: string }[] } : {}),
518
+ ...(params.input_images ? { input_images: params.input_images } : {}),
516
519
  ...(params.tools !== undefined ? { tools: params.tools } : {}),
517
520
  });
518
521
  return wdb.transaction(async (trx) => {
@@ -16,6 +16,17 @@ export const HistoryItems = z.array(
16
16
  );
17
17
  export type HistoryItems = z.infer<typeof HistoryItems>;
18
18
 
19
+ // 현재 user turn의 입력 이미지. image_generation tool_args.inputImages와 같은 형태다.
20
+ export const InputImages = z.array(
21
+ z.object({
22
+ mediaType: z.string().optional(),
23
+ data: z.string().optional(),
24
+ url: z.string().optional(),
25
+ byteSize: z.number().optional(),
26
+ }),
27
+ );
28
+ export type InputImages = z.infer<typeof InputImages>;
29
+
19
30
  // 요청에 장착된 tool 정의 목록 — 저장 형태는 QgridTool 계약을 그대로 따른다.
20
31
  export const ToolDefinitions = z.array(QgridTool);
21
32
  export type ToolDefinitions = z.infer<typeof ToolDefinitions>;
@@ -225,8 +225,10 @@ Content-Type: application/json
225
225
  "cost_source": null,
226
226
  "image_cost_usd": null,
227
227
  "image_cost_method": null,
228
+ "service_tier": null,
228
229
  "effort": null,
229
230
  "history": null,
231
+ "input_images": null,
230
232
  "tools": null,
231
233
  "json_schema": null,
232
234
  "status": "running",
@@ -45,6 +45,7 @@ export const requestLogSubsetQueries = {
45
45
  effort: "request_logs.effort",
46
46
  service_tier: "request_logs.service_tier",
47
47
  history: "request_logs.history",
48
+ input_images: "request_logs.input_images",
48
49
  tools: "request_logs.tools",
49
50
  status: "request_logs.status",
50
51
  response_json_ok: "request_logs.response_json_ok",
@@ -22,6 +22,17 @@ const HistoryItems = z.array(
22
22
  );
23
23
  type HistoryItems = z.infer<typeof HistoryItems>;
24
24
 
25
+ // CustomScalar: InputImages
26
+ const InputImages = z.array(
27
+ z.object({
28
+ mediaType: z.string().optional(),
29
+ data: z.string().optional(),
30
+ url: z.string().optional(),
31
+ byteSize: z.number().optional(),
32
+ }),
33
+ );
34
+ type InputImages = z.infer<typeof InputImages>;
35
+
25
36
  // CustomScalar: TokenCredentials
26
37
  const TokenCredentials = z.union([
27
38
  z.object({
@@ -170,6 +181,7 @@ export const RequestLogBaseSchema = z.object({
170
181
  service_tier: z.string().max(20).nullable(),
171
182
  effort: z.string().max(10).nullable(),
172
183
  history: HistoryItems.nullable(),
184
+ input_images: InputImages.nullable(),
173
185
  tools: ToolDefinitions.nullable(),
174
186
  json_schema: z.string().nullable(),
175
187
  status: RequestLogStatus,
@@ -205,6 +217,7 @@ export type RequestLogBaseSchema = z.infer<typeof RequestLogBaseSchema> & {
205
217
  "service_tier",
206
218
  "effort",
207
219
  "history",
220
+ "input_images",
208
221
  "tools",
209
222
  "json_schema",
210
223
  "status",
@@ -409,6 +422,7 @@ export const RequestLogSubsetA = z.object({
409
422
  effort: z.string().max(10).nullable(),
410
423
  service_tier: z.string().max(20).nullable(),
411
424
  history: HistoryItems.nullable(),
425
+ input_images: InputImages.nullable(),
412
426
  tools: ToolDefinitions.nullable(),
413
427
  status: RequestLogStatus,
414
428
  response_json_ok: z.boolean().nullable(),
@@ -235,6 +235,7 @@ const entityLabels = {
235
235
  "entity.RequestLog.service_tier": "Requested OpenAI service tier",
236
236
  "entity.RequestLog.effort": "effort level",
237
237
  "entity.RequestLog.history": "inject_items 히스토리",
238
+ "entity.RequestLog.input_images": "현재 user turn 입력 이미지",
238
239
  "entity.RequestLog.tools": "요청에 장착된 tool 정의 목록",
239
240
  "entity.RequestLog.json_schema":
240
241
  "structured output 요청의 JSON Schema 원문 (detail 의 response 타입 표시용)",
@@ -0,0 +1,15 @@
1
+ import { type Knex } from "knex";
2
+
3
+ export async function up(knex: Knex): Promise<void> {
4
+ await knex.schema.alterTable("request_logs", (table) => {
5
+ // add
6
+ table.jsonb("input_images").nullable();
7
+ });
8
+ }
9
+
10
+ export async function down(knex: Knex): Promise<void> {
11
+ await knex.schema.alterTable("request_logs", (table) => {
12
+ // rollback - add
13
+ table.dropColumns("input_images");
14
+ });
15
+ }