summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-06-15 13:33:24 -0400
committerDax Raad <[email protected]>2025-06-15 13:33:24 -0400
commit7fbb2ca9a6c6f81519a45e4ce836b9dd3ceee9f2 (patch)
treeaea218d9fa8ebf41f94a3ffbecfea2120502a6da /packages
parent230d0a15109f82abf1ea2f60665ca753f4fd7bd5 (diff)
downloadopencode-7fbb2ca9a6c6f81519a45e4ce836b9dd3ceee9f2.tar.gz
opencode-7fbb2ca9a6c6f81519a45e4ce836b9dd3ceee9f2.zip
ignore: add timer log helper
Diffstat (limited to 'packages')
-rw-r--r--packages/opencode/src/provider/provider.ts9
-rw-r--r--packages/opencode/src/tool/ls.ts3
-rw-r--r--packages/opencode/src/util/log.ts17
3 files changed, 24 insertions, 5 deletions
diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts
index f9633f9cf..e55a5795f 100644
--- a/packages/opencode/src/provider/provider.ts
+++ b/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,
})
diff --git a/packages/opencode/src/tool/ls.ts b/packages/opencode/src/tool/ls.ts
index ecb6aa20e..1995751b8 100644
--- a/packages/opencode/src/tool/ls.ts
+++ b/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)
diff --git a/packages/opencode/src/util/log.ts b/packages/opencode/src/util/log.ts
index cd4b06ab1..956af00f8 100644
--- a/packages/opencode/src/util/log.ts
+++ b/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