Set openWorldHint to false in UseCase java files and add empty pattern to tool-definition yaml files
Some checks failed
Deploy to OCIWP / deploy (push) Has been cancelled

This commit is contained in:
jade
2026-08-14 11:45:57 +09:00
parent 17c570f740
commit d29a7fce09
57 changed files with 76 additions and 59 deletions

View File

@@ -1231,6 +1231,10 @@
</table>
</div>
<button type="button" class="btn-action mt-2" onclick="addSubFieldEditorRow()">+ 하위 필드 추가</button>
<div class="mt-4">
<label class="form-label">JSON 미리보기</label>
<pre id="subFieldEditorPreview" class="mb-0 p-3 rounded" style="background:#09090b; border:1px solid #27272a; color:#e4e4e7; font-size:0.78rem; max-height:190px; overflow:auto;"></pre>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn-secondary-action" data-bs-dismiss="modal">취소</button>
@@ -1793,6 +1797,7 @@
if (!subFieldEditorModalInstance) {
subFieldEditorModalInstance = new bootstrap.Modal(document.getElementById('subFieldEditorModal'));
}
updateSubFieldEditorPreview();
subFieldEditorModalInstance.show();
}
@@ -1828,17 +1833,20 @@
[n, t, det, d, p, e, req].forEach(ctrl => {
const td = document.createElement('td'); td.appendChild(ctrl); row.appendChild(td);
ctrl.addEventListener('input', updateSubFieldEditorPreview);
ctrl.addEventListener('change', updateSubFieldEditorPreview);
});
const del = document.createElement('button');
del.type = 'button'; del.className = 'btn-secondary-action'; del.textContent = 'X';
del.style.padding = '0.1rem 0.4rem';
del.onclick = () => row.remove();
del.onclick = () => { row.remove(); updateSubFieldEditorPreview(); };
const delTd = document.createElement('td'); delTd.appendChild(del); row.appendChild(delTd);
document.getElementById('subFieldEditorBody').appendChild(row);
updateSubFieldEditorPreview();
}
function applySubFieldEditor() {
const fields = [...document.querySelectorAll('#subFieldEditorBody tr')].map(row => {
function currentSubEditorFields() {
return [...document.querySelectorAll('#subFieldEditorBody tr')].map(row => {
const type = row.querySelector('[data-field="type"]').value;
const details = row.querySelector('[data-field="details"]').value.trim();
return {
@@ -1852,6 +1860,15 @@
itemType: null, itemFields: []
};
}).filter(f => f.name);
}
function updateSubFieldEditorPreview() {
const preview = document.getElementById('subFieldEditorPreview');
if (preview) preview.textContent = JSON.stringify(currentSubEditorFields(), null, 2);
}
function applySubFieldEditor() {
const fields = currentSubEditorFields();
currentSubFieldTargetInput.value = JSON.stringify(fields);
currentSubFieldTargetInput.dispatchEvent(new Event('input'));
currentSubFieldTargetInput.dispatchEvent(new Event('change'));