@soddong/agentic-runtime 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/.tbls.yml +103 -0
  2. package/CHANGELOG.md +229 -0
  3. package/README.md +707 -0
  4. package/dist/agent-router.d.ts +39 -0
  5. package/dist/agent-router.d.ts.map +1 -0
  6. package/dist/agent-router.js +175 -0
  7. package/dist/agent-router.js.map +1 -0
  8. package/dist/bundle-installer.d.ts +25 -0
  9. package/dist/bundle-installer.d.ts.map +1 -0
  10. package/dist/bundle-installer.js +149 -0
  11. package/dist/bundle-installer.js.map +1 -0
  12. package/dist/bundle-registry.d.ts +30 -0
  13. package/dist/bundle-registry.d.ts.map +1 -0
  14. package/dist/bundle-registry.js +102 -0
  15. package/dist/bundle-registry.js.map +1 -0
  16. package/dist/claude-code-adapter.d.ts +27 -0
  17. package/dist/claude-code-adapter.d.ts.map +1 -0
  18. package/dist/claude-code-adapter.js +177 -0
  19. package/dist/claude-code-adapter.js.map +1 -0
  20. package/dist/cli.d.ts +3 -0
  21. package/dist/cli.d.ts.map +1 -0
  22. package/dist/cli.js +1731 -0
  23. package/dist/cli.js.map +1 -0
  24. package/dist/codex-adapter.d.ts +23 -0
  25. package/dist/codex-adapter.d.ts.map +1 -0
  26. package/dist/codex-adapter.js +264 -0
  27. package/dist/codex-adapter.js.map +1 -0
  28. package/dist/database.d.ts +22 -0
  29. package/dist/database.d.ts.map +1 -0
  30. package/dist/database.js +184 -0
  31. package/dist/database.js.map +1 -0
  32. package/dist/execution-projects.d.ts +71 -0
  33. package/dist/execution-projects.d.ts.map +1 -0
  34. package/dist/execution-projects.js +333 -0
  35. package/dist/execution-projects.js.map +1 -0
  36. package/dist/execution-query.d.ts +73 -0
  37. package/dist/execution-query.d.ts.map +1 -0
  38. package/dist/execution-query.js +370 -0
  39. package/dist/execution-query.js.map +1 -0
  40. package/dist/execution.d.ts +47 -0
  41. package/dist/execution.d.ts.map +1 -0
  42. package/dist/execution.js +153 -0
  43. package/dist/execution.js.map +1 -0
  44. package/dist/hook-command.d.ts +3 -0
  45. package/dist/hook-command.d.ts.map +1 -0
  46. package/dist/hook-command.js +13 -0
  47. package/dist/hook-command.js.map +1 -0
  48. package/dist/hook-record.d.ts +16 -0
  49. package/dist/hook-record.d.ts.map +1 -0
  50. package/dist/hook-record.js +427 -0
  51. package/dist/hook-record.js.map +1 -0
  52. package/dist/index.d.ts +29 -0
  53. package/dist/index.d.ts.map +1 -0
  54. package/dist/index.js +15 -0
  55. package/dist/index.js.map +1 -0
  56. package/dist/kiro-adapter.d.ts +38 -0
  57. package/dist/kiro-adapter.d.ts.map +1 -0
  58. package/dist/kiro-adapter.js +374 -0
  59. package/dist/kiro-adapter.js.map +1 -0
  60. package/dist/module-registry.d.ts +21 -0
  61. package/dist/module-registry.d.ts.map +1 -0
  62. package/dist/module-registry.js +75 -0
  63. package/dist/module-registry.js.map +1 -0
  64. package/dist/runtime-info.d.ts +8 -0
  65. package/dist/runtime-info.d.ts.map +1 -0
  66. package/dist/runtime-info.js +15 -0
  67. package/dist/runtime-info.js.map +1 -0
  68. package/dist/seed-importer.d.ts +77 -0
  69. package/dist/seed-importer.d.ts.map +1 -0
  70. package/dist/seed-importer.js +570 -0
  71. package/dist/seed-importer.js.map +1 -0
  72. package/docs/build.md +129 -0
  73. package/docs/configuration.md +61 -0
  74. package/docs/delivery.md +90 -0
  75. package/docs/operations.md +112 -0
  76. package/docs/publishing.md +196 -0
  77. package/docs/schema/generated/README.md +31 -0
  78. package/docs/schema/generated/agentic_execution_logs.md +90 -0
  79. package/docs/schema/generated/agentic_execution_logs.svg +52 -0
  80. package/docs/schema/generated/agentic_execution_outputs.md +85 -0
  81. package/docs/schema/generated/agentic_execution_outputs.svg +52 -0
  82. package/docs/schema/generated/agentic_execution_project_activities.md +83 -0
  83. package/docs/schema/generated/agentic_execution_project_activities.svg +71 -0
  84. package/docs/schema/generated/agentic_execution_project_stages.md +69 -0
  85. package/docs/schema/generated/agentic_execution_project_stages.svg +71 -0
  86. package/docs/schema/generated/agentic_execution_projects.md +82 -0
  87. package/docs/schema/generated/agentic_execution_projects.svg +92 -0
  88. package/docs/schema/generated/agentic_execution_runs.md +111 -0
  89. package/docs/schema/generated/agentic_execution_runs.svg +92 -0
  90. package/docs/schema/generated/agentic_project_bundles.md +106 -0
  91. package/docs/schema/generated/agentic_project_bundles.svg +91 -0
  92. package/docs/schema/generated/agentic_project_modules.md +77 -0
  93. package/docs/schema/generated/agentic_project_modules.svg +49 -0
  94. package/docs/schema/generated/agentic_runtime_metadata.md +62 -0
  95. package/docs/schema/generated/agentic_runtime_metadata.svg +28 -0
  96. package/docs/schema/generated/agentic_schema_migrations.md +65 -0
  97. package/docs/schema/generated/agentic_schema_migrations.svg +32 -0
  98. package/docs/schema/generated/agentic_seed_import_items.md +85 -0
  99. package/docs/schema/generated/agentic_seed_import_items.svg +47 -0
  100. package/docs/schema/generated/agentic_seed_import_runs.md +103 -0
  101. package/docs/schema/generated/agentic_seed_import_runs.svg +68 -0
  102. package/docs/schema/generated/agentic_user_requests.md +66 -0
  103. package/docs/schema/generated/agentic_user_requests.svg +52 -0
  104. package/docs/schema/generated/schema.json +1976 -0
  105. package/docs/schema/generated/schema.mmd +167 -0
  106. package/docs/schema/generated/schema.svg +266 -0
  107. package/docs/schema/migrations.md +163 -0
  108. package/docs/usage.md +774 -0
  109. package/package.json +32 -0
  110. package/src/database/migrations/0001_runtime_base.sql +231 -0
  111. package/src/database/migrations/0002_runtime_bundles.sql +61 -0
  112. package/src/database/migrations/0003_runtime_seed_imports.sql +121 -0
  113. package/src/database/migrations/0004_runtime_seed_apply_status.sql +76 -0
  114. package/src/database/migrations/0005_runtime_execution_projects.sql +92 -0
@@ -0,0 +1,90 @@
1
+ # agentic_execution_logs
2
+
3
+ ## Description
4
+
5
+ 실행 중 발생한 로그와 이벤트를 순서대로 관리한다.
6
+
7
+ <details>
8
+ <summary><strong>Table Definition</strong></summary>
9
+
10
+ ```sql
11
+ CREATE TABLE agentic_execution_logs (
12
+ -- 로그 식별자
13
+ log_id INTEGER PRIMARY KEY AUTOINCREMENT,
14
+
15
+ -- 실행 식별자
16
+ run_id CHAR(36) NOT NULL
17
+ CHECK (length(run_id) = 36),
18
+
19
+ -- 실행 내 로그 순번
20
+ sequence_no INTEGER NOT NULL
21
+ CHECK (sequence_no >= 0),
22
+
23
+ -- 로그 레벨
24
+ log_level VARCHAR(16) NOT NULL
25
+ CHECK (log_level IN ('trace', 'debug', 'info', 'warn', 'error')),
26
+
27
+ -- 로그 종류
28
+ log_type VARCHAR(32) NOT NULL DEFAULT 'event'
29
+ CHECK (log_type IN ('event', 'stdout', 'stderr', 'tool', 'system')),
30
+
31
+ -- 로그 메시지
32
+ message TEXT NOT NULL,
33
+
34
+ -- 구조화 로그 payload
35
+ payload_json JSON
36
+ CHECK (payload_json IS NULL OR json_valid(payload_json)),
37
+
38
+ -- 로그 생성 시각
39
+ created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
40
+
41
+ FOREIGN KEY (run_id)
42
+ REFERENCES agentic_execution_runs (run_id)
43
+ ON DELETE CASCADE,
44
+
45
+ UNIQUE (run_id, sequence_no)
46
+ )
47
+ ```
48
+
49
+ </details>
50
+
51
+ ## Columns
52
+
53
+ | Name | Type | Default | Nullable | Parents | Comment |
54
+ | ------------ | ----------- | ----------------- | -------- | --------------------------------------------------- | ------------------- |
55
+ | log_id | INTEGER | | true | | 로그 식별자 |
56
+ | run_id | CHAR(36) | | false | [agentic_execution_runs](agentic_execution_runs.md) | 실행 식별자 |
57
+ | sequence_no | INTEGER | | false | | 실행 내 로그 순번 |
58
+ | log_level | VARCHAR(16) | | false | | 로그 레벨 |
59
+ | log_type | VARCHAR(32) | 'event' | false | | 로그 종류 |
60
+ | message | TEXT | | false | | 로그 메시지 |
61
+ | payload_json | JSON | | true | | 구조화 로그 payload |
62
+ | created_at | DATETIME | CURRENT_TIMESTAMP | false | | 로그 생성 시각 |
63
+
64
+ ## Constraints
65
+
66
+ | Name | Type | Definition |
67
+ | ----------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------- |
68
+ | log_id | PRIMARY KEY | PRIMARY KEY (log_id) |
69
+ | - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (run_id) REFERENCES agentic_execution_runs (run_id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
70
+ | sqlite_autoindex_agentic_execution_logs_1 | UNIQUE | UNIQUE (run_id, sequence_no) |
71
+ | - | CHECK | CHECK (length(run_id) = 36) |
72
+ | - | CHECK | CHECK (sequence_no >= 0) |
73
+ | - | CHECK | CHECK (log_level IN ('trace', 'debug', 'info', 'warn', 'error')) |
74
+ | - | CHECK | CHECK (log_type IN ('event', 'stdout', 'stderr', 'tool', 'system')) |
75
+ | - | CHECK | CHECK (payload_json IS NULL OR json_valid(payload_json)) |
76
+
77
+ ## Indexes
78
+
79
+ | Name | Definition |
80
+ | ----------------------------------------- | ---------------------------------------------------------------------------------------- |
81
+ | idx_agentic_execution_logs_run_id | CREATE INDEX idx_agentic_execution_logs_run_id<br /> ON agentic_execution_logs (run_id) |
82
+ | sqlite_autoindex_agentic_execution_logs_1 | UNIQUE (run_id, sequence_no) |
83
+
84
+ ## Relations
85
+
86
+ ![er](agentic_execution_logs.svg)
87
+
88
+ ---
89
+
90
+ > Generated by [tbls](https://github.com/k1LoW/tbls)
@@ -0,0 +1,52 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <!-- Generated by graphviz version 12.1.2 (20240928.0832)
5
+ -->
6
+ <!-- Title: agentic_execution_logs Pages: 1 -->
7
+ <svg width="446pt" height="407pt"
8
+ viewBox="0.00 0.00 446.04 407.20" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
9
+ <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 403.2)">
10
+ <title>agentic_execution_logs</title>
11
+ <polygon fill="white" stroke="none" points="-4,4 -4,-403.2 442.04,-403.2 442.04,4 -4,4"/>
12
+ <!-- agentic_execution_logs -->
13
+ <g id="node1" class="node">
14
+ <title>agentic_execution_logs</title>
15
+ <polygon fill="#efefef" stroke="none" points="75.88,-307 75.88,-353 362.16,-353 362.16,-307 75.88,-307"/>
16
+ <polygon fill="none" stroke="black" points="75.88,-307 75.88,-353 362.16,-353 362.16,-307 75.88,-307"/>
17
+ <text text-anchor="start" x="99.42" y="-330.8" font-family="Arial Bold" font-size="18.00">agentic_execution_logs</text>
18
+ <text text-anchor="start" x="269.37" y="-330.8" font-family="Arial" font-size="14.00">    </text>
19
+ <text text-anchor="start" x="300.48" y="-330.8" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
20
+ <text text-anchor="start" x="82.88" y="-316.4" font-family="Arial" font-size="14.00" fill="#333333">실행 중 발생한 로그와 이벤트를 순서대로 관리한다.</text>
21
+ <polygon fill="none" stroke="black" points="75.88,-276.2 75.88,-307 362.16,-307 362.16,-276.2 75.88,-276.2"/>
22
+ <text text-anchor="start" x="82.88" y="-288.4" font-family="Arial" font-size="14.00">run_id </text>
23
+ <text text-anchor="start" x="125.69" y="-288.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
24
+ <text text-anchor="start" x="198.03" y="-288.4" font-family="Arial" font-size="14.00"> 실행 식별자</text>
25
+ <polygon fill="none" stroke="black" stroke-width="3" points="74.38,-274.7 74.38,-354.5 363.66,-354.5 363.66,-274.7 74.38,-274.7"/>
26
+ </g>
27
+ <!-- agentic_execution_runs -->
28
+ <g id="node2" class="node">
29
+ <title>agentic_execution_runs</title>
30
+ <polygon fill="#efefef" stroke="none" points="43.2,-104.8 43.2,-150.8 394.84,-150.8 394.84,-104.8 43.2,-104.8"/>
31
+ <polygon fill="none" stroke="black" points="43.2,-104.8 43.2,-150.8 394.84,-150.8 394.84,-104.8 43.2,-104.8"/>
32
+ <text text-anchor="start" x="98.92" y="-128.6" font-family="Arial Bold" font-size="18.00">agentic_execution_runs</text>
33
+ <text text-anchor="start" x="269.86" y="-128.6" font-family="Arial" font-size="14.00">    </text>
34
+ <text text-anchor="start" x="300.98" y="-128.6" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
35
+ <text text-anchor="start" x="50.2" y="-114.2" font-family="Arial" font-size="14.00" fill="#333333">사용자 지시 또는 runtime command의 실행 단위를 관리한다.</text>
36
+ <polygon fill="none" stroke="black" points="43.2,-74 43.2,-104.8 394.84,-104.8 394.84,-74 43.2,-74"/>
37
+ <text text-anchor="start" x="50.2" y="-86.2" font-family="Arial" font-size="14.00">run_id </text>
38
+ <text text-anchor="start" x="93.01" y="-86.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
39
+ <text text-anchor="start" x="165.35" y="-86.2" font-family="Arial" font-size="14.00"> 실행 식별자</text>
40
+ <polygon fill="none" stroke="black" points="43.2,-43.2 43.2,-74 394.84,-74 394.84,-43.2 43.2,-43.2"/>
41
+ <text text-anchor="start" x="50.2" y="-55.4" font-family="Arial" font-size="14.00">request_id </text>
42
+ <text text-anchor="start" x="119.47" y="-55.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
43
+ <text text-anchor="start" x="191.81" y="-55.4" font-family="Arial" font-size="14.00"> 사용자 지시 식별자</text>
44
+ </g>
45
+ <!-- agentic_execution_logs&#45;&gt;agentic_execution_runs -->
46
+ <g id="edge1" class="edge">
47
+ <title>agentic_execution_logs:run_id&#45;&gt;agentic_execution_runs:run_id</title>
48
+ <path fill="none" stroke="black" d="M219.72,-264.98C229.96,-195.48 350.12,-263.18 394.84,-194 420.08,-154.96 442.33,-89.4 395.84,-89.4"/>
49
+ <polygon fill="black" stroke="black" points="219.73,-264.89 214.55,-274.56 219.36,-270.21 219.07,-274.53 219.07,-274.53 219.07,-274.53 219.36,-270.21 223.53,-275.17 219.73,-264.89"/>
50
+ </g>
51
+ </g>
52
+ </svg>
@@ -0,0 +1,85 @@
1
+ # agentic_execution_outputs
2
+
3
+ ## Description
4
+
5
+ 실행 결과를 구조화하여 관리한다.
6
+
7
+ <details>
8
+ <summary><strong>Table Definition</strong></summary>
9
+
10
+ ```sql
11
+ CREATE TABLE agentic_execution_outputs (
12
+ -- 실행 결과 식별자
13
+ output_id INTEGER PRIMARY KEY AUTOINCREMENT,
14
+
15
+ -- 실행 식별자
16
+ run_id CHAR(36) NOT NULL
17
+ CHECK (length(run_id) = 36),
18
+
19
+ -- 결과 종류
20
+ output_type VARCHAR(32) NOT NULL
21
+ CHECK (output_type IN ('text', 'json', 'file', 'artifact')),
22
+
23
+ -- text 결과
24
+ content_text TEXT,
25
+
26
+ -- JSON 결과
27
+ content_json JSON
28
+ CHECK (content_json IS NULL OR json_valid(content_json)),
29
+
30
+ -- 파일 결과 경로
31
+ file_path TEXT,
32
+
33
+ -- 결과 생성 시각
34
+ created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
35
+
36
+ FOREIGN KEY (run_id)
37
+ REFERENCES agentic_execution_runs (run_id)
38
+ ON DELETE CASCADE,
39
+
40
+ CHECK (
41
+ content_text IS NOT NULL OR
42
+ content_json IS NOT NULL OR
43
+ file_path IS NOT NULL
44
+ )
45
+ )
46
+ ```
47
+
48
+ </details>
49
+
50
+ ## Columns
51
+
52
+ | Name | Type | Default | Nullable | Parents | Comment |
53
+ | ------------ | ----------- | ----------------- | -------- | --------------------------------------------------- | ---------------- |
54
+ | output_id | INTEGER | | true | | 실행 결과 식별자 |
55
+ | run_id | CHAR(36) | | false | [agentic_execution_runs](agentic_execution_runs.md) | 실행 식별자 |
56
+ | output_type | VARCHAR(32) | | false | | 결과 종류 |
57
+ | content_text | TEXT | | true | | text 결과 |
58
+ | content_json | JSON | | true | | JSON 결과 |
59
+ | file_path | TEXT | | true | | 파일 결과 경로 |
60
+ | created_at | DATETIME | CURRENT_TIMESTAMP | false | | 결과 생성 시각 |
61
+
62
+ ## Constraints
63
+
64
+ | Name | Type | Definition |
65
+ | --------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------- |
66
+ | output_id | PRIMARY KEY | PRIMARY KEY (output_id) |
67
+ | - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (run_id) REFERENCES agentic_execution_runs (run_id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
68
+ | - | CHECK | CHECK (length(run_id) = 36) |
69
+ | - | CHECK | CHECK (output_type IN ('text', 'json', 'file', 'artifact')) |
70
+ | - | CHECK | CHECK (content_json IS NULL OR json_valid(content_json)) |
71
+ | - | CHECK | CHECK ( content_text IS NOT NULL OR content_json IS NOT NULL OR file_path IS NOT NULL ) |
72
+
73
+ ## Indexes
74
+
75
+ | Name | Definition |
76
+ | ------------------------------------ | ---------------------------------------------------------------------------------------------- |
77
+ | idx_agentic_execution_outputs_run_id | CREATE INDEX idx_agentic_execution_outputs_run_id<br /> ON agentic_execution_outputs (run_id) |
78
+
79
+ ## Relations
80
+
81
+ ![er](agentic_execution_outputs.svg)
82
+
83
+ ---
84
+
85
+ > Generated by [tbls](https://github.com/k1LoW/tbls)
@@ -0,0 +1,52 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <!-- Generated by graphviz version 12.1.2 (20240928.0832)
5
+ -->
6
+ <!-- Title: agentic_execution_outputs Pages: 1 -->
7
+ <svg width="446pt" height="407pt"
8
+ viewBox="0.00 0.00 446.04 407.20" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
9
+ <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 403.2)">
10
+ <title>agentic_execution_outputs</title>
11
+ <polygon fill="white" stroke="none" points="-4,4 -4,-403.2 442.04,-403.2 442.04,4 -4,4"/>
12
+ <!-- agentic_execution_outputs -->
13
+ <g id="node1" class="node">
14
+ <title>agentic_execution_outputs</title>
15
+ <polygon fill="#efefef" stroke="none" points="80.92,-307 80.92,-353 357.12,-353 357.12,-307 80.92,-307"/>
16
+ <polygon fill="none" stroke="black" points="80.92,-307 80.92,-353 357.12,-353 357.12,-307 80.92,-307"/>
17
+ <text text-anchor="start" x="87.92" y="-330.8" font-family="Arial Bold" font-size="18.00">agentic_execution_outputs</text>
18
+ <text text-anchor="start" x="280.87" y="-330.8" font-family="Arial" font-size="14.00">    </text>
19
+ <text text-anchor="start" x="311.98" y="-330.8" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
20
+ <text text-anchor="start" x="129.56" y="-316.4" font-family="Arial" font-size="14.00" fill="#333333">실행 결과를 구조화하여 관리한다.</text>
21
+ <polygon fill="none" stroke="black" points="80.92,-276.2 80.92,-307 357.12,-307 357.12,-276.2 80.92,-276.2"/>
22
+ <text text-anchor="start" x="87.92" y="-288.4" font-family="Arial" font-size="14.00">run_id </text>
23
+ <text text-anchor="start" x="130.73" y="-288.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
24
+ <text text-anchor="start" x="203.07" y="-288.4" font-family="Arial" font-size="14.00"> 실행 식별자</text>
25
+ <polygon fill="none" stroke="black" stroke-width="3" points="79.42,-274.7 79.42,-354.5 358.62,-354.5 358.62,-274.7 79.42,-274.7"/>
26
+ </g>
27
+ <!-- agentic_execution_runs -->
28
+ <g id="node2" class="node">
29
+ <title>agentic_execution_runs</title>
30
+ <polygon fill="#efefef" stroke="none" points="43.2,-104.8 43.2,-150.8 394.84,-150.8 394.84,-104.8 43.2,-104.8"/>
31
+ <polygon fill="none" stroke="black" points="43.2,-104.8 43.2,-150.8 394.84,-150.8 394.84,-104.8 43.2,-104.8"/>
32
+ <text text-anchor="start" x="98.92" y="-128.6" font-family="Arial Bold" font-size="18.00">agentic_execution_runs</text>
33
+ <text text-anchor="start" x="269.86" y="-128.6" font-family="Arial" font-size="14.00">    </text>
34
+ <text text-anchor="start" x="300.98" y="-128.6" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
35
+ <text text-anchor="start" x="50.2" y="-114.2" font-family="Arial" font-size="14.00" fill="#333333">사용자 지시 또는 runtime command의 실행 단위를 관리한다.</text>
36
+ <polygon fill="none" stroke="black" points="43.2,-74 43.2,-104.8 394.84,-104.8 394.84,-74 43.2,-74"/>
37
+ <text text-anchor="start" x="50.2" y="-86.2" font-family="Arial" font-size="14.00">run_id </text>
38
+ <text text-anchor="start" x="93.01" y="-86.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
39
+ <text text-anchor="start" x="165.35" y="-86.2" font-family="Arial" font-size="14.00"> 실행 식별자</text>
40
+ <polygon fill="none" stroke="black" points="43.2,-43.2 43.2,-74 394.84,-74 394.84,-43.2 43.2,-43.2"/>
41
+ <text text-anchor="start" x="50.2" y="-55.4" font-family="Arial" font-size="14.00">request_id </text>
42
+ <text text-anchor="start" x="119.47" y="-55.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
43
+ <text text-anchor="start" x="191.81" y="-55.4" font-family="Arial" font-size="14.00"> 사용자 지시 식별자</text>
44
+ </g>
45
+ <!-- agentic_execution_outputs&#45;&gt;agentic_execution_runs -->
46
+ <g id="edge1" class="edge">
47
+ <title>agentic_execution_outputs:run_id&#45;&gt;agentic_execution_runs:run_id</title>
48
+ <path fill="none" stroke="black" d="M219.72,-264.98C229.96,-195.48 350.12,-263.18 394.84,-194 420.08,-154.96 442.33,-89.4 395.84,-89.4"/>
49
+ <polygon fill="black" stroke="black" points="219.73,-264.89 214.55,-274.56 219.36,-270.21 219.07,-274.53 219.07,-274.53 219.07,-274.53 219.36,-270.21 223.53,-275.17 219.73,-264.89"/>
50
+ </g>
51
+ </g>
52
+ </svg>
@@ -0,0 +1,83 @@
1
+ # agentic_execution_project_activities
2
+
3
+ ## Description
4
+
5
+ <details>
6
+ <summary><strong>Table Definition</strong></summary>
7
+
8
+ ```sql
9
+ CREATE TABLE agentic_execution_project_activities (
10
+ execution_project_activity_id INTEGER PRIMARY KEY AUTOINCREMENT,
11
+ execution_project_id INTEGER NOT NULL,
12
+ execution_project_stage_id INTEGER NOT NULL,
13
+ activity_code VARCHAR(128) NOT NULL,
14
+ activity_name VARCHAR(256) NOT NULL,
15
+ activity_status_code VARCHAR(32) NOT NULL DEFAULT 'planned'
16
+ CHECK (activity_status_code IN ('planned', 'in_progress', 'completed', 'blocked', 'skipped')),
17
+ primary_artifact_standard_code VARCHAR(128),
18
+ primary_artifact_standard_version VARCHAR(64),
19
+ artifact_instance_id VARCHAR(64),
20
+ sort_order INTEGER NOT NULL DEFAULT 0,
21
+ metadata_json JSON NOT NULL DEFAULT '{}'
22
+ CHECK (json_valid(metadata_json)),
23
+ created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
24
+ updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
25
+
26
+ FOREIGN KEY (execution_project_id)
27
+ REFERENCES agentic_execution_projects (execution_project_id)
28
+ ON DELETE CASCADE,
29
+
30
+ FOREIGN KEY (execution_project_stage_id)
31
+ REFERENCES agentic_execution_project_stages (execution_project_stage_id)
32
+ ON DELETE CASCADE,
33
+
34
+ UNIQUE (execution_project_id, activity_code)
35
+ )
36
+ ```
37
+
38
+ </details>
39
+
40
+ ## Columns
41
+
42
+ | Name | Type | Default | Nullable | Parents |
43
+ | --------------------------------- | ------------ | ----------------- | -------- | ----------------------------------------------------------------------- |
44
+ | execution_project_activity_id | INTEGER | | true | |
45
+ | execution_project_id | INTEGER | | false | [agentic_execution_projects](agentic_execution_projects.md) |
46
+ | execution_project_stage_id | INTEGER | | false | [agentic_execution_project_stages](agentic_execution_project_stages.md) |
47
+ | activity_code | VARCHAR(128) | | false | |
48
+ | activity_name | VARCHAR(256) | | false | |
49
+ | activity_status_code | VARCHAR(32) | 'planned' | false | |
50
+ | primary_artifact_standard_code | VARCHAR(128) | | true | |
51
+ | primary_artifact_standard_version | VARCHAR(64) | | true | |
52
+ | artifact_instance_id | VARCHAR(64) | | true | |
53
+ | sort_order | INTEGER | 0 | false | |
54
+ | metadata_json | JSON | '{}' | false | |
55
+ | created_at | DATETIME | CURRENT_TIMESTAMP | false | |
56
+ | updated_at | DATETIME | CURRENT_TIMESTAMP | false | |
57
+
58
+ ## Constraints
59
+
60
+ | Name | Type | Definition |
61
+ | ------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
62
+ | execution_project_activity_id | PRIMARY KEY | PRIMARY KEY (execution_project_activity_id) |
63
+ | - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (execution_project_stage_id) REFERENCES agentic_execution_project_stages (execution_project_stage_id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
64
+ | - (Foreign key ID: 1) | FOREIGN KEY | FOREIGN KEY (execution_project_id) REFERENCES agentic_execution_projects (execution_project_id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
65
+ | sqlite_autoindex_agentic_execution_project_activities_1 | UNIQUE | UNIQUE (execution_project_id, activity_code) |
66
+ | - | CHECK | CHECK (activity_status_code IN ('planned', 'in_progress', 'completed', 'blocked', 'skipped')) |
67
+ | - | CHECK | CHECK (json_valid(metadata_json)) |
68
+
69
+ ## Indexes
70
+
71
+ | Name | Definition |
72
+ | ------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
73
+ | idx_agentic_execution_project_activities_stage | CREATE INDEX idx_agentic_execution_project_activities_stage<br /> ON agentic_execution_project_activities (execution_project_stage_id) |
74
+ | idx_agentic_execution_project_activities_project | CREATE INDEX idx_agentic_execution_project_activities_project<br /> ON agentic_execution_project_activities (execution_project_id) |
75
+ | sqlite_autoindex_agentic_execution_project_activities_1 | UNIQUE (execution_project_id, activity_code) |
76
+
77
+ ## Relations
78
+
79
+ ![er](agentic_execution_project_activities.svg)
80
+
81
+ ---
82
+
83
+ > Generated by [tbls](https://github.com/k1LoW/tbls)
@@ -0,0 +1,71 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <!-- Generated by graphviz version 12.1.2 (20240928.0832)
5
+ -->
6
+ <!-- Title: agentic_execution_project_activities Pages: 1 -->
7
+ <svg width="806pt" height="417pt"
8
+ viewBox="0.00 0.00 805.57 417.20" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
9
+ <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 413.2)">
10
+ <title>agentic_execution_project_activities</title>
11
+ <polygon fill="white" stroke="none" points="-4,4 -4,-413.2 801.57,-413.2 801.57,4 -4,4"/>
12
+ <!-- agentic_execution_project_activities -->
13
+ <g id="node1" class="node">
14
+ <title>agentic_execution_project_activities</title>
15
+ <polygon fill="#efefef" stroke="none" points="213.71,-327.4 213.71,-363 560.86,-363 560.86,-327.4 213.71,-327.4"/>
16
+ <polygon fill="none" stroke="black" points="213.71,-327.4 213.71,-363 560.86,-363 560.86,-327.4 213.71,-327.4"/>
17
+ <text text-anchor="start" x="220.71" y="-340.8" font-family="Arial Bold" font-size="18.00">agentic_execution_project_activities</text>
18
+ <text text-anchor="start" x="484.61" y="-340.8" font-family="Arial" font-size="14.00">    </text>
19
+ <text text-anchor="start" x="515.72" y="-340.8" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
20
+ <polygon fill="none" stroke="black" points="213.71,-296.6 213.71,-327.4 560.86,-327.4 560.86,-296.6 213.71,-296.6"/>
21
+ <text text-anchor="start" x="220.71" y="-308.8" font-family="Arial" font-size="14.00">execution_project_id </text>
22
+ <text text-anchor="start" x="353.02" y="-308.8" font-family="Arial" font-size="14.00" fill="#666666">[INTEGER]</text>
23
+ <polygon fill="none" stroke="black" points="213.71,-265.8 213.71,-296.6 560.86,-296.6 560.86,-265.8 213.71,-265.8"/>
24
+ <text text-anchor="start" x="220.71" y="-278" font-family="Arial" font-size="14.00">execution_project_stage_id </text>
25
+ <text text-anchor="start" x="395.06" y="-278" font-family="Arial" font-size="14.00" fill="#666666">[INTEGER]</text>
26
+ <polygon fill="none" stroke="black" stroke-width="3" points="212.21,-264.3 212.21,-364.5 562.36,-364.5 562.36,-264.3 212.21,-264.3"/>
27
+ </g>
28
+ <!-- agentic_execution_projects -->
29
+ <g id="node2" class="node">
30
+ <title>agentic_execution_projects</title>
31
+ <polygon fill="#efefef" stroke="none" points="43.2,-104.8 43.2,-140.4 323.37,-140.4 323.37,-104.8 43.2,-104.8"/>
32
+ <polygon fill="none" stroke="black" points="43.2,-104.8 43.2,-140.4 323.37,-140.4 323.37,-104.8 43.2,-104.8"/>
33
+ <text text-anchor="start" x="50.2" y="-118.2" font-family="Arial Bold" font-size="18.00">agentic_execution_projects</text>
34
+ <text text-anchor="start" x="247.12" y="-118.2" font-family="Arial" font-size="14.00">    </text>
35
+ <text text-anchor="start" x="278.24" y="-118.2" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
36
+ <polygon fill="none" stroke="black" points="43.2,-74 43.2,-104.8 323.37,-104.8 323.37,-74 43.2,-74"/>
37
+ <text text-anchor="start" x="50.2" y="-86.2" font-family="Arial" font-size="14.00">execution_project_id </text>
38
+ <text text-anchor="start" x="182.51" y="-86.2" font-family="Arial" font-size="14.00" fill="#666666">[INTEGER]</text>
39
+ <polygon fill="none" stroke="black" points="43.2,-43.2 43.2,-74 323.37,-74 323.37,-43.2 43.2,-43.2"/>
40
+ <text text-anchor="start" x="50.2" y="-55.4" font-family="Arial" font-size="14.00">bundle_id </text>
41
+ <text text-anchor="start" x="114.81" y="-55.4" font-family="Arial" font-size="14.00" fill="#666666">[INTEGER]</text>
42
+ </g>
43
+ <!-- agentic_execution_project_activities&#45;&gt;agentic_execution_projects -->
44
+ <g id="edge1" class="edge">
45
+ <title>agentic_execution_project_activities:execution_project_id&#45;&gt;agentic_execution_projects:execution_project_id</title>
46
+ <path fill="none" stroke="black" d="M202.67,-310.51C175.04,-301.12 191.72,-249.63 213.71,-219.6 244.03,-178.22 293.07,-224.99 323.37,-183.6 348.11,-149.82 366.24,-89.4 324.37,-89.4"/>
47
+ <polygon fill="black" stroke="black" points="202.49,-310.48 211.72,-316.4 207.77,-311.26 212.05,-311.9 212.05,-311.9 212.05,-311.9 207.77,-311.26 213.04,-307.5 202.49,-310.48"/>
48
+ </g>
49
+ <!-- agentic_execution_project_stages -->
50
+ <g id="node3" class="node">
51
+ <title>agentic_execution_project_stages</title>
52
+ <polygon fill="#efefef" stroke="none" points="428.21,-104.8 428.21,-140.4 754.37,-140.4 754.37,-104.8 428.21,-104.8"/>
53
+ <polygon fill="none" stroke="black" points="428.21,-104.8 428.21,-140.4 754.37,-140.4 754.37,-104.8 428.21,-104.8"/>
54
+ <text text-anchor="start" x="435.21" y="-118.2" font-family="Arial Bold" font-size="18.00">agentic_execution_project_stages</text>
55
+ <text text-anchor="start" x="678.11" y="-118.2" font-family="Arial" font-size="14.00">    </text>
56
+ <text text-anchor="start" x="709.23" y="-118.2" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
57
+ <polygon fill="none" stroke="black" points="428.21,-74 428.21,-104.8 754.37,-104.8 754.37,-74 428.21,-74"/>
58
+ <text text-anchor="start" x="435.21" y="-86.2" font-family="Arial" font-size="14.00">execution_project_stage_id </text>
59
+ <text text-anchor="start" x="609.55" y="-86.2" font-family="Arial" font-size="14.00" fill="#666666">[INTEGER]</text>
60
+ <polygon fill="none" stroke="black" points="428.21,-43.2 428.21,-74 754.37,-74 754.37,-43.2 428.21,-43.2"/>
61
+ <text text-anchor="start" x="435.21" y="-55.4" font-family="Arial" font-size="14.00">execution_project_id </text>
62
+ <text text-anchor="start" x="567.52" y="-55.4" font-family="Arial" font-size="14.00" fill="#666666">[INTEGER]</text>
63
+ </g>
64
+ <!-- agentic_execution_project_activities&#45;&gt;agentic_execution_project_stages -->
65
+ <g id="edge2" class="edge">
66
+ <title>agentic_execution_project_activities:execution_project_stage_id&#45;&gt;agentic_execution_project_stages:execution_project_stage_id</title>
67
+ <path fill="none" stroke="black" d="M571.59,-278.75C585.69,-269.73 575.17,-238.01 560.86,-219.6 523.36,-171.38 465.58,-231.93 428.21,-183.6 402.6,-150.48 385.34,-89.4 427.21,-89.4"/>
68
+ <polygon fill="black" stroke="black" points="571.88,-278.67 561.08,-276.75 566.71,-279.98 562.51,-281.04 562.51,-281.04 562.51,-281.04 566.71,-279.98 563.28,-285.48 571.88,-278.67"/>
69
+ </g>
70
+ </g>
71
+ </svg>
@@ -0,0 +1,69 @@
1
+ # agentic_execution_project_stages
2
+
3
+ ## Description
4
+
5
+ <details>
6
+ <summary><strong>Table Definition</strong></summary>
7
+
8
+ ```sql
9
+ CREATE TABLE agentic_execution_project_stages (
10
+ execution_project_stage_id INTEGER PRIMARY KEY AUTOINCREMENT,
11
+ execution_project_id INTEGER NOT NULL,
12
+ stage_code VARCHAR(128) NOT NULL,
13
+ stage_name VARCHAR(256) NOT NULL,
14
+ stage_status_code VARCHAR(32) NOT NULL DEFAULT 'planned'
15
+ CHECK (stage_status_code IN ('planned', 'in_progress', 'completed', 'blocked', 'skipped')),
16
+ sort_order INTEGER NOT NULL DEFAULT 0,
17
+ metadata_json JSON NOT NULL DEFAULT '{}'
18
+ CHECK (json_valid(metadata_json)),
19
+ created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
20
+ updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
21
+
22
+ FOREIGN KEY (execution_project_id)
23
+ REFERENCES agentic_execution_projects (execution_project_id)
24
+ ON DELETE CASCADE,
25
+
26
+ UNIQUE (execution_project_id, stage_code)
27
+ )
28
+ ```
29
+
30
+ </details>
31
+
32
+ ## Columns
33
+
34
+ | Name | Type | Default | Nullable | Children | Parents |
35
+ | -------------------------- | ------------ | ----------------- | -------- | ------------------------------------------------------------------------------- | ----------------------------------------------------------- |
36
+ | execution_project_stage_id | INTEGER | | true | [agentic_execution_project_activities](agentic_execution_project_activities.md) | |
37
+ | execution_project_id | INTEGER | | false | | [agentic_execution_projects](agentic_execution_projects.md) |
38
+ | stage_code | VARCHAR(128) | | false | | |
39
+ | stage_name | VARCHAR(256) | | false | | |
40
+ | stage_status_code | VARCHAR(32) | 'planned' | false | | |
41
+ | sort_order | INTEGER | 0 | false | | |
42
+ | metadata_json | JSON | '{}' | false | | |
43
+ | created_at | DATETIME | CURRENT_TIMESTAMP | false | | |
44
+ | updated_at | DATETIME | CURRENT_TIMESTAMP | false | | |
45
+
46
+ ## Constraints
47
+
48
+ | Name | Type | Definition |
49
+ | --------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
50
+ | execution_project_stage_id | PRIMARY KEY | PRIMARY KEY (execution_project_stage_id) |
51
+ | - (Foreign key ID: 0) | FOREIGN KEY | FOREIGN KEY (execution_project_id) REFERENCES agentic_execution_projects (execution_project_id) ON UPDATE NO ACTION ON DELETE CASCADE MATCH NONE |
52
+ | sqlite_autoindex_agentic_execution_project_stages_1 | UNIQUE | UNIQUE (execution_project_id, stage_code) |
53
+ | - | CHECK | CHECK (stage_status_code IN ('planned', 'in_progress', 'completed', 'blocked', 'skipped')) |
54
+ | - | CHECK | CHECK (json_valid(metadata_json)) |
55
+
56
+ ## Indexes
57
+
58
+ | Name | Definition |
59
+ | --------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
60
+ | idx_agentic_execution_project_stages_project | CREATE INDEX idx_agentic_execution_project_stages_project<br /> ON agentic_execution_project_stages (execution_project_id) |
61
+ | sqlite_autoindex_agentic_execution_project_stages_1 | UNIQUE (execution_project_id, stage_code) |
62
+
63
+ ## Relations
64
+
65
+ ![er](agentic_execution_project_stages.svg)
66
+
67
+ ---
68
+
69
+ > Generated by [tbls](https://github.com/k1LoW/tbls)
@@ -0,0 +1,71 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <!-- Generated by graphviz version 12.1.2 (20240928.0832)
5
+ -->
6
+ <!-- Title: agentic_execution_project_stages Pages: 1 -->
7
+ <svg width="442pt" height="637pt"
8
+ viewBox="0.00 0.00 441.55 636.80" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
9
+ <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 632.8)">
10
+ <title>agentic_execution_project_stages</title>
11
+ <polygon fill="white" stroke="none" points="-4,4 -4,-632.8 437.55,-632.8 437.55,4 -4,4"/>
12
+ <!-- agentic_execution_project_stages -->
13
+ <g id="node1" class="node">
14
+ <title>agentic_execution_project_stages</title>
15
+ <polygon fill="#efefef" stroke="none" points="53.69,-327.4 53.69,-363 379.85,-363 379.85,-327.4 53.69,-327.4"/>
16
+ <polygon fill="none" stroke="black" points="53.69,-327.4 53.69,-363 379.85,-363 379.85,-327.4 53.69,-327.4"/>
17
+ <text text-anchor="start" x="60.69" y="-340.8" font-family="Arial Bold" font-size="18.00">agentic_execution_project_stages</text>
18
+ <text text-anchor="start" x="303.6" y="-340.8" font-family="Arial" font-size="14.00">    </text>
19
+ <text text-anchor="start" x="334.71" y="-340.8" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
20
+ <polygon fill="none" stroke="black" points="53.69,-296.6 53.69,-327.4 379.85,-327.4 379.85,-296.6 53.69,-296.6"/>
21
+ <text text-anchor="start" x="60.69" y="-308.8" font-family="Arial" font-size="14.00">execution_project_stage_id </text>
22
+ <text text-anchor="start" x="235.04" y="-308.8" font-family="Arial" font-size="14.00" fill="#666666">[INTEGER]</text>
23
+ <polygon fill="none" stroke="black" points="53.69,-265.8 53.69,-296.6 379.85,-296.6 379.85,-265.8 53.69,-265.8"/>
24
+ <text text-anchor="start" x="60.69" y="-278" font-family="Arial" font-size="14.00">execution_project_id </text>
25
+ <text text-anchor="start" x="193" y="-278" font-family="Arial" font-size="14.00" fill="#666666">[INTEGER]</text>
26
+ <polygon fill="none" stroke="black" stroke-width="3" points="52.19,-264.3 52.19,-364.5 381.35,-364.5 381.35,-264.3 52.19,-264.3"/>
27
+ </g>
28
+ <!-- agentic_execution_projects -->
29
+ <g id="node3" class="node">
30
+ <title>agentic_execution_projects</title>
31
+ <polygon fill="#efefef" stroke="none" points="76.69,-104.8 76.69,-140.4 356.86,-140.4 356.86,-104.8 76.69,-104.8"/>
32
+ <polygon fill="none" stroke="black" points="76.69,-104.8 76.69,-140.4 356.86,-140.4 356.86,-104.8 76.69,-104.8"/>
33
+ <text text-anchor="start" x="83.69" y="-118.2" font-family="Arial Bold" font-size="18.00">agentic_execution_projects</text>
34
+ <text text-anchor="start" x="280.61" y="-118.2" font-family="Arial" font-size="14.00">    </text>
35
+ <text text-anchor="start" x="311.72" y="-118.2" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
36
+ <polygon fill="none" stroke="black" points="76.69,-74 76.69,-104.8 356.86,-104.8 356.86,-74 76.69,-74"/>
37
+ <text text-anchor="start" x="83.69" y="-86.2" font-family="Arial" font-size="14.00">execution_project_id </text>
38
+ <text text-anchor="start" x="216" y="-86.2" font-family="Arial" font-size="14.00" fill="#666666">[INTEGER]</text>
39
+ <polygon fill="none" stroke="black" points="76.69,-43.2 76.69,-74 356.86,-74 356.86,-43.2 76.69,-43.2"/>
40
+ <text text-anchor="start" x="83.69" y="-55.4" font-family="Arial" font-size="14.00">bundle_id </text>
41
+ <text text-anchor="start" x="148.3" y="-55.4" font-family="Arial" font-size="14.00" fill="#666666">[INTEGER]</text>
42
+ </g>
43
+ <!-- agentic_execution_project_stages&#45;&gt;agentic_execution_projects -->
44
+ <g id="edge2" class="edge">
45
+ <title>agentic_execution_project_stages:execution_project_id&#45;&gt;agentic_execution_projects:execution_project_id</title>
46
+ <path fill="none" stroke="black" d="M217.61,-254.42C227.54,-198.1 322.51,-242.48 356.86,-183.6 377.96,-147.43 399.73,-89.4 357.86,-89.4"/>
47
+ <polygon fill="black" stroke="black" points="217.61,-254.5 212.31,-264.1 217.18,-259.82 216.83,-264.13 216.83,-264.13 216.83,-264.13 217.18,-259.82 221.29,-264.83 217.61,-254.5"/>
48
+ </g>
49
+ <!-- agentic_execution_project_activities -->
50
+ <g id="node2" class="node">
51
+ <title>agentic_execution_project_activities</title>
52
+ <polygon fill="#efefef" stroke="none" points="43.2,-550 43.2,-585.6 390.35,-585.6 390.35,-550 43.2,-550"/>
53
+ <polygon fill="none" stroke="black" points="43.2,-550 43.2,-585.6 390.35,-585.6 390.35,-550 43.2,-550"/>
54
+ <text text-anchor="start" x="50.2" y="-563.4" font-family="Arial Bold" font-size="18.00">agentic_execution_project_activities</text>
55
+ <text text-anchor="start" x="314.09" y="-563.4" font-family="Arial" font-size="14.00">    </text>
56
+ <text text-anchor="start" x="345.21" y="-563.4" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
57
+ <polygon fill="none" stroke="black" points="43.2,-519.2 43.2,-550 390.35,-550 390.35,-519.2 43.2,-519.2"/>
58
+ <text text-anchor="start" x="50.2" y="-531.4" font-family="Arial" font-size="14.00">execution_project_id </text>
59
+ <text text-anchor="start" x="182.51" y="-531.4" font-family="Arial" font-size="14.00" fill="#666666">[INTEGER]</text>
60
+ <polygon fill="none" stroke="black" points="43.2,-488.4 43.2,-519.2 390.35,-519.2 390.35,-488.4 43.2,-488.4"/>
61
+ <text text-anchor="start" x="50.2" y="-500.6" font-family="Arial" font-size="14.00">execution_project_stage_id </text>
62
+ <text text-anchor="start" x="224.54" y="-500.6" font-family="Arial" font-size="14.00" fill="#666666">[INTEGER]</text>
63
+ </g>
64
+ <!-- agentic_execution_project_activities&#45;&gt;agentic_execution_project_stages -->
65
+ <g id="edge1" class="edge">
66
+ <title>agentic_execution_project_activities:execution_project_stage_id&#45;&gt;agentic_execution_project_stages:execution_project_stage_id</title>
67
+ <path fill="none" stroke="black" d="M217.54,-477.06C227.85,-413.28 338.7,-473.83 379.85,-409.2 403.06,-372.76 424.05,-312 380.85,-312"/>
68
+ <polygon fill="black" stroke="black" points="217.54,-477.09 212.31,-486.73 217.14,-482.41 216.82,-486.73 216.82,-486.73 216.82,-486.73 217.14,-482.41 221.29,-487.4 217.54,-477.09"/>
69
+ </g>
70
+ </g>
71
+ </svg>