@@ -37,7 +37,7 @@ local is_permission_request_open = false
3737
3838vim .api .nvim_create_autocmd (" User" , {
3939 group = vim .api .nvim_create_augroup (" OpencodePermissions" , { clear = true }),
40- pattern = { " OpencodeEvent:permission.updated " , " OpencodeEvent:permission.replied" },
40+ pattern = { " OpencodeEvent:permission.asked " , " OpencodeEvent:permission.replied" },
4141 callback = function (args )
4242 --- @type opencode.cli.client.Event
4343 local event = args .data .event
@@ -49,26 +49,7 @@ vim.api.nvim_create_autocmd("User", {
4949 return
5050 end
5151
52- if event .type == " permission.updated" then
53- --[[
54- `event.properties` example: {
55- callID = "call_UgJGOepAJ5vQ7rkfGI5LNTaQ",
56- id = "per_9fe806323001XBhIAz9OrYTrgl",
57- messageID = "msg_9fe805f7700166572ZsmpxllBH",
58- metadata = {
59- command = "ls",
60- patterns = { "ls *" }
61- },
62- pattern = { "ls *" },
63- sessionID = "ses_60196b60affeVgP0AqbqjvORtu",
64- time = {
65- created = 1760911450915
66- },
67- title = "ls",
68- type = "bash"
69- }
70- --]]
71-
52+ if event .type == " permission.asked" then
7253 local idle_delay_ms = opts .idle_delay_ms
7354 vim .notify (
7455 " `opencode` requested permission — awaiting idle…" ,
@@ -77,17 +58,19 @@ vim.api.nvim_create_autocmd("User", {
7758 )
7859 on_user_idle (idle_delay_ms , function ()
7960 is_permission_request_open = true
61+ vim .print (" event.properties" , event .properties )
8062 vim .ui .select ({ " Once" , " Always" , " Reject" }, {
81- prompt = " Permit opencode to: " .. event .properties .title .. " ?: " ,
63+ prompt = " Permit opencode to: " .. event .properties .permission .. " " .. table.concat (
64+ event .properties .patterns ,
65+ " , "
66+ ) .. " ?: " ,
8267 format_item = function (item )
8368 return item
8469 end ,
8570 }, function (choice )
8671 is_permission_request_open = false
8772 if choice then
88- local session_id = event .properties .sessionID
89- local permission_id = event .properties .id
90- require (" opencode.cli.client" ).permit (port , session_id , permission_id , choice :lower ())
73+ require (" opencode.cli.client" ).permit (port , event .properties .id , choice :lower ())
9174 end
9275 end )
9376 end )
0 commit comments