Dax Raad 8 месяцев назад
Родитель
Сommit
7fbb2ca9a6

+ 6 - 3
packages/opencode/src/provider/provider.ts

@@ -82,7 +82,7 @@ export namespace Provider {
     >()
     const sdk = new Map<string, SDK>()
 
-    log.info("loading")
+    log.info("init")
 
     function mergeProvider(
       id: string,
@@ -167,7 +167,7 @@ export namespace Provider {
     }
 
     for (const providerID of Object.keys(providers)) {
-      log.info("loaded", { providerID })
+      log.info("found", { providerID })
     }
 
     return {
@@ -183,6 +183,9 @@ export namespace Provider {
 
   async function getSDK(providerID: string) {
     return (async () => {
+      using _ = log.time("getSDK", {
+        providerID,
+      })
       const s = await state()
       const existing = s.sdk.get(providerID)
       if (existing) return existing
@@ -202,7 +205,7 @@ export namespace Provider {
     const s = await state()
     if (s.models.has(key)) return s.models.get(key)!
 
-    log.info("loading", {
+    log.info("getModel", {
       providerID,
       modelID,
     })

+ 1 - 2
packages/opencode/src/tool/ls.ts

@@ -41,8 +41,7 @@ export const ListTool = Tool.define({
     const files = []
 
     for await (const file of glob.scan({ cwd: searchPath, dot: true })) {
-      if (file.startsWith(".") || IGNORE_PATTERNS.some((p) => file.includes(p)))
-        continue
+      if (IGNORE_PATTERNS.some((p) => file.includes(p))) continue
       if (params.ignore?.some((pattern) => new Bun.Glob(pattern).match(file)))
         continue
       files.push(file)

+ 17 - 0
packages/opencode/src/util/log.ts

@@ -83,6 +83,23 @@ export namespace Log {
       clone() {
         return Log.create({ ...tags })
       },
+      time(message: string, extra?: Record<string, any>) {
+        const now = Date.now()
+        result.info(message, { status: "started", ...extra })
+        function stop() {
+          result.info(message, {
+            status: "completed",
+            duration: Date.now() - now,
+            ...extra,
+          })
+        }
+        return {
+          stop,
+          [Symbol.dispose]() {
+            stop()
+          },
+        }
+      },
     }
 
     return result