@ibgib/web-gib 0.0.1
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.
- package/.ibgibignore +30 -0
- package/.vscode/ibgib-snippets.code-snippets +309 -0
- package/.vscode/launch.json +25 -0
- package/.vscode/settings.json +68 -0
- package/.vscode/tasks.json +38 -0
- package/CHANGELOG.md +427 -0
- package/README.md +66 -0
- package/dist/agent-texts/common-agent-texts.d.mts +14 -0
- package/dist/agent-texts/common-agent-texts.d.mts.map +1 -0
- package/dist/agent-texts/common-agent-texts.mjs +51 -0
- package/dist/agent-texts/common-agent-texts.mjs.map +1 -0
- package/dist/agent-texts/primary-agent-texts.d.mts +16 -0
- package/dist/agent-texts/primary-agent-texts.d.mts.map +1 -0
- package/dist/agent-texts/primary-agent-texts.mjs +27 -0
- package/dist/agent-texts/primary-agent-texts.mjs.map +1 -0
- package/dist/agent-texts/project-agent-texts.d.mts +8 -0
- package/dist/agent-texts/project-agent-texts.d.mts.map +1 -0
- package/dist/agent-texts/project-agent-texts.mjs +29 -0
- package/dist/agent-texts/project-agent-texts.mjs.map +1 -0
- package/dist/agent-texts/project-child-text-agent-texts.d.mts +5 -0
- package/dist/agent-texts/project-child-text-agent-texts.d.mts.map +1 -0
- package/dist/agent-texts/project-child-text-agent-texts.mjs +26 -0
- package/dist/agent-texts/project-child-text-agent-texts.mjs.map +1 -0
- package/dist/agent-texts/projects-agent-texts.d.mts +4 -0
- package/dist/agent-texts/projects-agent-texts.d.mts.map +1 -0
- package/dist/agent-texts/projects-agent-texts.mjs +15 -0
- package/dist/agent-texts/projects-agent-texts.mjs.map +1 -0
- package/dist/agent-texts/raw-agent-texts.d.mts +4 -0
- package/dist/agent-texts/raw-agent-texts.d.mts.map +1 -0
- package/dist/agent-texts/raw-agent-texts.mjs +17 -0
- package/dist/agent-texts/raw-agent-texts.mjs.map +1 -0
- package/dist/agent-texts/text-editor-agent-texts.d.mts +6 -0
- package/dist/agent-texts/text-editor-agent-texts.d.mts.map +1 -0
- package/dist/agent-texts/text-editor-agent-texts.mjs +19 -0
- package/dist/agent-texts/text-editor-agent-texts.mjs.map +1 -0
- package/dist/api/api-constants.d.mts +9 -0
- package/dist/api/api-constants.d.mts.map +1 -0
- package/dist/api/api-constants.mjs +9 -0
- package/dist/api/api-constants.mjs.map +1 -0
- package/dist/api/api-index.d.mts +10 -0
- package/dist/api/api-index.d.mts.map +1 -0
- package/dist/api/api-index.mjs +121 -0
- package/dist/api/api-index.mjs.map +1 -0
- package/dist/api/api-types.d.mts +36 -0
- package/dist/api/api-types.d.mts.map +1 -0
- package/dist/api/api-types.mjs +2 -0
- package/dist/api/api-types.mjs.map +1 -0
- package/dist/api/commands/chat/chat-index.d.mts +3 -0
- package/dist/api/commands/chat/chat-index.d.mts.map +1 -0
- package/dist/api/commands/chat/chat-index.mjs +9 -0
- package/dist/api/commands/chat/chat-index.mjs.map +1 -0
- package/dist/api/commands/chat/get-context-info.d.mts +71 -0
- package/dist/api/commands/chat/get-context-info.d.mts.map +1 -0
- package/dist/api/commands/chat/get-context-info.mjs +130 -0
- package/dist/api/commands/chat/get-context-info.mjs.map +1 -0
- package/dist/api/commands/chat/hello-world.d.mts +63 -0
- package/dist/api/commands/chat/hello-world.d.mts.map +1 -0
- package/dist/api/commands/chat/hello-world.mjs +132 -0
- package/dist/api/commands/chat/hello-world.mjs.map +1 -0
- package/dist/api/commands/chat/tell-user.d.mts +57 -0
- package/dist/api/commands/chat/tell-user.d.mts.map +1 -0
- package/dist/api/commands/chat/tell-user.mjs +199 -0
- package/dist/api/commands/chat/tell-user.mjs.map +1 -0
- package/dist/api/commands/command-constants.d.mts +22 -0
- package/dist/api/commands/command-constants.d.mts.map +1 -0
- package/dist/api/commands/command-constants.mjs +17 -0
- package/dist/api/commands/command-constants.mjs.map +1 -0
- package/dist/api/commands/command-helpers.d.mts +47 -0
- package/dist/api/commands/command-helpers.d.mts.map +1 -0
- package/dist/api/commands/command-helpers.mjs +76 -0
- package/dist/api/commands/command-helpers.mjs.map +1 -0
- package/dist/api/commands/command-service-v1.d.mts +28 -0
- package/dist/api/commands/command-service-v1.d.mts.map +1 -0
- package/dist/api/commands/command-service-v1.mjs +122 -0
- package/dist/api/commands/command-service-v1.mjs.map +1 -0
- package/dist/api/commands/command-service.respec.d.mts +7 -0
- package/dist/api/commands/command-service.respec.d.mts.map +1 -0
- package/dist/api/commands/command-service.respec.mjs +66 -0
- package/dist/api/commands/command-service.respec.mjs.map +1 -0
- package/dist/api/commands/command-types.d.mts +48 -0
- package/dist/api/commands/command-types.d.mts.map +1 -0
- package/dist/api/commands/command-types.mjs +12 -0
- package/dist/api/commands/command-types.mjs.map +1 -0
- package/dist/api/commands/ibgib/get-ibgibs.d.mts +94 -0
- package/dist/api/commands/ibgib/get-ibgibs.d.mts.map +1 -0
- package/dist/api/commands/ibgib/get-ibgibs.mjs +219 -0
- package/dist/api/commands/ibgib/get-ibgibs.mjs.map +1 -0
- package/dist/api/commands/ibgib/ibgib-index.d.mts +3 -0
- package/dist/api/commands/ibgib/ibgib-index.d.mts.map +1 -0
- package/dist/api/commands/ibgib/ibgib-index.mjs +7 -0
- package/dist/api/commands/ibgib/ibgib-index.mjs.map +1 -0
- package/dist/api/commands/ibgib/mut8-ibgib.d.mts +135 -0
- package/dist/api/commands/ibgib/mut8-ibgib.d.mts.map +1 -0
- package/dist/api/commands/ibgib/mut8-ibgib.mjs +318 -0
- package/dist/api/commands/ibgib/mut8-ibgib.mjs.map +1 -0
- package/dist/api/commands/templates/api-function-info.template.d.mts +73 -0
- package/dist/api/commands/templates/api-function-info.template.d.mts.map +1 -0
- package/dist/api/commands/templates/api-function-info.template.mjs +161 -0
- package/dist/api/commands/templates/api-function-info.template.mjs.map +1 -0
- package/dist/api/commands/text/text-edit.d.mts +54 -0
- package/dist/api/commands/text/text-edit.d.mts.map +1 -0
- package/dist/api/commands/text/text-edit.mjs +170 -0
- package/dist/api/commands/text/text-edit.mjs.map +1 -0
- package/dist/api/commands/text/text-index.d.mts +3 -0
- package/dist/api/commands/text/text-index.d.mts.map +1 -0
- package/dist/api/commands/text/text-index.mjs +5 -0
- package/dist/api/commands/text/text-index.mjs.map +1 -0
- package/dist/api/commands/ui/ui-index.d.mts +3 -0
- package/dist/api/commands/ui/ui-index.d.mts.map +1 -0
- package/dist/api/commands/ui/ui-index.mjs +5 -0
- package/dist/api/commands/ui/ui-index.mjs.map +1 -0
- package/dist/api/commands/ui/update-css-variables.d.mts +48 -0
- package/dist/api/commands/ui/update-css-variables.d.mts.map +1 -0
- package/dist/api/commands/ui/update-css-variables.mjs +145 -0
- package/dist/api/commands/ui/update-css-variables.mjs.map +1 -0
- package/dist/api/function-infos.web.d.mts +15 -0
- package/dist/api/function-infos.web.d.mts.map +1 -0
- package/dist/api/function-infos.web.mjs +63 -0
- package/dist/api/function-infos.web.mjs.map +1 -0
- package/dist/assumptions.respec.d.mts +2 -0
- package/dist/assumptions.respec.d.mts.map +1 -0
- package/dist/assumptions.respec.mjs +41 -0
- package/dist/assumptions.respec.mjs.map +1 -0
- package/dist/common/project/project-constants.d.mts +38 -0
- package/dist/common/project/project-constants.d.mts.map +1 -0
- package/dist/common/project/project-constants.mjs +71 -0
- package/dist/common/project/project-constants.mjs.map +1 -0
- package/dist/common/project/project-helper.d.mts +127 -0
- package/dist/common/project/project-helper.d.mts.map +1 -0
- package/dist/common/project/project-helper.mjs +683 -0
- package/dist/common/project/project-helper.mjs.map +1 -0
- package/dist/common/project/project-types.d.mts +91 -0
- package/dist/common/project/project-types.d.mts.map +1 -0
- package/dist/common/project/project-types.mjs +31 -0
- package/dist/common/project/project-types.mjs.map +1 -0
- package/dist/common/prompt-functions.web.d.mts +90 -0
- package/dist/common/prompt-functions.web.d.mts.map +1 -0
- package/dist/common/prompt-functions.web.mjs +426 -0
- package/dist/common/prompt-functions.web.mjs.map +1 -0
- package/dist/common/settings/settings-constants.d.mts +33 -0
- package/dist/common/settings/settings-constants.d.mts.map +1 -0
- package/dist/common/settings/settings-constants.mjs +54 -0
- package/dist/common/settings/settings-constants.mjs.map +1 -0
- package/dist/common/settings/settings-helpers.d.mts +59 -0
- package/dist/common/settings/settings-helpers.d.mts.map +1 -0
- package/dist/common/settings/settings-helpers.mjs +253 -0
- package/dist/common/settings/settings-helpers.mjs.map +1 -0
- package/dist/common/settings/settings-types.d.mts +118 -0
- package/dist/common/settings/settings-types.d.mts.map +1 -0
- package/dist/common/settings/settings-types.mjs +13 -0
- package/dist/common/settings/settings-types.mjs.map +1 -0
- package/dist/constants.d.mts +34 -0
- package/dist/constants.d.mts.map +1 -0
- package/dist/constants.mjs +35 -0
- package/dist/constants.mjs.map +1 -0
- package/dist/foo.d.mts +2 -0
- package/dist/foo.d.mts.map +1 -0
- package/dist/foo.mjs +19 -0
- package/dist/foo.mjs.map +1 -0
- package/dist/helpers.d.mts +137 -0
- package/dist/helpers.d.mts.map +1 -0
- package/dist/helpers.mjs +514 -0
- package/dist/helpers.mjs.map +1 -0
- package/dist/helpers.web.d.mts +324 -0
- package/dist/helpers.web.d.mts.map +1 -0
- package/dist/helpers.web.mjs +1133 -0
- package/dist/helpers.web.mjs.map +1 -0
- package/dist/helpers.web.respec.d.mts +2 -0
- package/dist/helpers.web.respec.d.mts.map +1 -0
- package/dist/helpers.web.respec.mjs +12 -0
- package/dist/helpers.web.respec.mjs.map +1 -0
- package/dist/index.d.mts +2 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +3 -0
- package/dist/index.mjs.map +1 -0
- package/dist/respec-gib.node.d.mts +2 -0
- package/dist/respec-gib.node.d.mts.map +1 -0
- package/dist/respec-gib.node.mjs +211 -0
- package/dist/respec-gib.node.mjs.map +1 -0
- package/dist/spec-helper.node.respec.d.mts +13 -0
- package/dist/spec-helper.node.respec.d.mts.map +1 -0
- package/dist/spec-helper.node.respec.mjs +50 -0
- package/dist/spec-helper.node.respec.mjs.map +1 -0
- package/dist/storage/storage-helpers.web.d.mts +108 -0
- package/dist/storage/storage-helpers.web.d.mts.map +1 -0
- package/dist/storage/storage-helpers.web.mjs +757 -0
- package/dist/storage/storage-helpers.web.mjs.map +1 -0
- package/dist/storage/storage-types.web.d.mts +30 -0
- package/dist/storage/storage-types.web.d.mts.map +1 -0
- package/dist/storage/storage-types.web.mjs +2 -0
- package/dist/storage/storage-types.web.mjs.map +1 -0
- package/dist/types.web.d.mts +42 -0
- package/dist/types.web.d.mts.map +1 -0
- package/dist/types.web.mjs +2 -0
- package/dist/types.web.mjs.map +1 -0
- package/dist/ui/component/component-types.d.mts +225 -0
- package/dist/ui/component/component-types.d.mts.map +1 -0
- package/dist/ui/component/component-types.mjs +2 -0
- package/dist/ui/component/component-types.mjs.map +1 -0
- package/dist/ui/component/ibgib-component-service.d.mts +70 -0
- package/dist/ui/component/ibgib-component-service.d.mts.map +1 -0
- package/dist/ui/component/ibgib-component-service.mjs +201 -0
- package/dist/ui/component/ibgib-component-service.mjs.map +1 -0
- package/dist/ui/component/ibgib-dynamic-component-bases.d.mts +338 -0
- package/dist/ui/component/ibgib-dynamic-component-bases.d.mts.map +1 -0
- package/dist/ui/component/ibgib-dynamic-component-bases.mjs +1304 -0
- package/dist/ui/component/ibgib-dynamic-component-bases.mjs.map +1 -0
- package/dist/ui/ui-constants.d.mts +12 -0
- package/dist/ui/ui-constants.d.mts.map +1 -0
- package/dist/ui/ui-constants.mjs +93 -0
- package/dist/ui/ui-constants.mjs.map +1 -0
- package/dist/ui/ui-helpers.d.mts +42 -0
- package/dist/ui/ui-helpers.d.mts.map +1 -0
- package/dist/ui/ui-helpers.mjs +198 -0
- package/dist/ui/ui-helpers.mjs.map +1 -0
- package/dist/ui/ui-types.d.mts +13 -0
- package/dist/ui/ui-types.d.mts.map +1 -0
- package/dist/ui/ui-types.mjs +2 -0
- package/dist/ui/ui-types.mjs.map +1 -0
- package/dist/witness/agent/agent-constants.d.mts +97 -0
- package/dist/witness/agent/agent-constants.d.mts.map +1 -0
- package/dist/witness/agent/agent-constants.mjs +98 -0
- package/dist/witness/agent/agent-constants.mjs.map +1 -0
- package/dist/witness/agent/agent-helpers.d.mts +106 -0
- package/dist/witness/agent/agent-helpers.d.mts.map +1 -0
- package/dist/witness/agent/agent-helpers.mjs +601 -0
- package/dist/witness/agent/agent-helpers.mjs.map +1 -0
- package/dist/witness/agent/agent-one-file.app.d.mts +2 -0
- package/dist/witness/agent/agent-one-file.app.d.mts.map +1 -0
- package/dist/witness/agent/agent-one-file.app.mjs +8 -0
- package/dist/witness/agent/agent-one-file.app.mjs.map +1 -0
- package/dist/witness/agent/agent-one-file.d.mts +478 -0
- package/dist/witness/agent/agent-one-file.d.mts.map +1 -0
- package/dist/witness/agent/agent-one-file.mjs +1462 -0
- package/dist/witness/agent/agent-one-file.mjs.map +1 -0
- package/dist/witness/agent/agent-types.d.mts +83 -0
- package/dist/witness/agent/agent-types.d.mts.map +1 -0
- package/dist/witness/agent/agent-types.mjs +2 -0
- package/dist/witness/agent/agent-types.mjs.map +1 -0
- package/dist/witness/agent/agents-service-v1.d.mts +99 -0
- package/dist/witness/agent/agents-service-v1.d.mts.map +1 -0
- package/dist/witness/agent/agents-service-v1.mjs +453 -0
- package/dist/witness/agent/agents-service-v1.mjs.map +1 -0
- package/dist/witness/agent/function-info/function-info-one-file.d.mts +192 -0
- package/dist/witness/agent/function-info/function-info-one-file.d.mts.map +1 -0
- package/dist/witness/agent/function-info/function-info-one-file.mjs +192 -0
- package/dist/witness/agent/function-info/function-info-one-file.mjs.map +1 -0
- package/dist/witness/agent/gemini/agent-witness-gemini-v1.d.mts +51 -0
- package/dist/witness/agent/gemini/agent-witness-gemini-v1.d.mts.map +1 -0
- package/dist/witness/agent/gemini/agent-witness-gemini-v1.mjs +928 -0
- package/dist/witness/agent/gemini/agent-witness-gemini-v1.mjs.map +1 -0
- package/dist/witness/agent/gemini/gemini-agent-factory.d.mts +27 -0
- package/dist/witness/agent/gemini/gemini-agent-factory.d.mts.map +1 -0
- package/dist/witness/agent/gemini/gemini-agent-factory.mjs +144 -0
- package/dist/witness/agent/gemini/gemini-agent-factory.mjs.map +1 -0
- package/dist/witness/agent/gemini/gemini-constants.d.mts +36 -0
- package/dist/witness/agent/gemini/gemini-constants.d.mts.map +1 -0
- package/dist/witness/agent/gemini/gemini-constants.mjs +47 -0
- package/dist/witness/agent/gemini/gemini-constants.mjs.map +1 -0
- package/dist/witness/agent/gemini/gemini-helpers.d.mts +58 -0
- package/dist/witness/agent/gemini/gemini-helpers.d.mts.map +1 -0
- package/dist/witness/agent/gemini/gemini-helpers.mjs +210 -0
- package/dist/witness/agent/gemini/gemini-helpers.mjs.map +1 -0
- package/dist/witness/agent/gemini/gemini-types.d.mts +82 -0
- package/dist/witness/agent/gemini/gemini-types.d.mts.map +1 -0
- package/dist/witness/agent/gemini/gemini-types.mjs +3 -0
- package/dist/witness/agent/gemini/gemini-types.mjs.map +1 -0
- package/dist/witness/live-proxy-ibgib/live-proxy-ibgib-one-file.d.mts +136 -0
- package/dist/witness/live-proxy-ibgib/live-proxy-ibgib-one-file.d.mts.map +1 -0
- package/dist/witness/live-proxy-ibgib/live-proxy-ibgib-one-file.mjs +334 -0
- package/dist/witness/live-proxy-ibgib/live-proxy-ibgib-one-file.mjs.map +1 -0
- package/dist/witness/space/metaspace/metaspace-webspace/metaspace-webspace-helper.d.mts +35 -0
- package/dist/witness/space/metaspace/metaspace-webspace/metaspace-webspace-helper.d.mts.map +1 -0
- package/dist/witness/space/metaspace/metaspace-webspace/metaspace-webspace-helper.mjs +267 -0
- package/dist/witness/space/metaspace/metaspace-webspace/metaspace-webspace-helper.mjs.map +1 -0
- package/dist/witness/space/metaspace/metaspace-webspace/metaspace-webspace.d.mts +134 -0
- package/dist/witness/space/metaspace/metaspace-webspace/metaspace-webspace.d.mts.map +1 -0
- package/dist/witness/space/metaspace/metaspace-webspace/metaspace-webspace.mjs +389 -0
- package/dist/witness/space/metaspace/metaspace-webspace/metaspace-webspace.mjs.map +1 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-constants.d.mts +2 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-constants.d.mts.map +1 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-constants.mjs +2 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-constants.mjs.map +1 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-helper.d.mts +104 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-helper.d.mts.map +1 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-helper.mjs +457 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-helper.mjs.map +1 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-types.d.mts +93 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-types.d.mts.map +1 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-types.mjs +98 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-types.mjs.map +1 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-v1.d.mts +73 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-v1.d.mts.map +1 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-v1.mjs +650 -0
- package/dist/witness/space/web-filesystem-space/web-filesystem-space-v1.mjs.map +1 -0
- package/generate-version-file.js +29 -0
- package/package.json +60 -0
- package/src/agent-texts/common-agent-texts.mts +61 -0
- package/src/agent-texts/primary-agent-texts.mts +32 -0
- package/src/agent-texts/project-agent-texts.mts +29 -0
- package/src/agent-texts/project-child-text-agent-texts.mts +30 -0
- package/src/agent-texts/projects-agent-texts.mts +17 -0
- package/src/agent-texts/raw-agent-texts.mts +18 -0
- package/src/agent-texts/text-editor-agent-texts.mts +20 -0
- package/src/api/api-constants.mts +8 -0
- package/src/api/api-index.mts +110 -0
- package/src/api/api-types.mts +36 -0
- package/src/api/commands/chat/chat-index.mts +10 -0
- package/src/api/commands/chat/get-context-info.mts +196 -0
- package/src/api/commands/chat/hello-world.mts +183 -0
- package/src/api/commands/chat/tell-user.mts +241 -0
- package/src/api/commands/command-constants.mts +17 -0
- package/src/api/commands/command-helpers.mts +105 -0
- package/src/api/commands/command-service-v1.mts +136 -0
- package/src/api/commands/command-service.respec.mts +72 -0
- package/src/api/commands/command-types.mts +71 -0
- package/src/api/commands/ibgib/get-ibgibs.mts +269 -0
- package/src/api/commands/ibgib/ibgib-index.mts +8 -0
- package/src/api/commands/ibgib/mut8-ibgib.mts +418 -0
- package/src/api/commands/templates/api-function-info.template.mts +212 -0
- package/src/api/commands/text/text-edit.mts +217 -0
- package/src/api/commands/text/text-index.mts +6 -0
- package/src/api/commands/ui/ui-index.mts +6 -0
- package/src/api/commands/ui/update-css-variables.mts +187 -0
- package/src/api/function-infos.web.mts +66 -0
- package/src/assets/fullscreen-dialog.html +18 -0
- package/src/assumptions.respec.mts +51 -0
- package/src/common/project/project-constants.mts +83 -0
- package/src/common/project/project-helper.mts +730 -0
- package/src/common/project/project-types.mts +121 -0
- package/src/common/prompt-functions.web.mts +447 -0
- package/src/common/settings/settings-constants.mts +72 -0
- package/src/common/settings/settings-helpers.mts +280 -0
- package/src/common/settings/settings-types.mts +137 -0
- package/src/constants.mts +39 -0
- package/src/foo.mts +13 -0
- package/src/helpers.mts +574 -0
- package/src/helpers.web.mts +1277 -0
- package/src/helpers.web.respec.mts +16 -0
- package/src/index.mts +3 -0
- package/src/respec-gib.node.mts +199 -0
- package/src/spec-helper.node.respec.mts +50 -0
- package/src/storage/storage-helpers.web.mts +728 -0
- package/src/storage/storage-types.web.mts +29 -0
- package/src/types.web.mts +42 -0
- package/src/ui/component/component-types.mts +241 -0
- package/src/ui/component/ibgib-component-service.mts +201 -0
- package/src/ui/component/ibgib-dynamic-component-bases.mts +1369 -0
- package/src/ui/ui-constants.mts +101 -0
- package/src/ui/ui-helpers.mts +222 -0
- package/src/ui/ui-types.mts +11 -0
- package/src/witness/agent/agent-constants.mts +122 -0
- package/src/witness/agent/agent-helpers.mts +681 -0
- package/src/witness/agent/agent-one-file.app.mts +8 -0
- package/src/witness/agent/agent-one-file.mts +1665 -0
- package/src/witness/agent/agent-types.mts +92 -0
- package/src/witness/agent/agents-service-v1.mts +482 -0
- package/src/witness/agent/function-info/function-info-one-file.mts +362 -0
- package/src/witness/agent/gemini/agent-witness-gemini-v1.mts +910 -0
- package/src/witness/agent/gemini/gemini-agent-factory.mts +135 -0
- package/src/witness/agent/gemini/gemini-constants.mts +79 -0
- package/src/witness/agent/gemini/gemini-helpers.mts +216 -0
- package/src/witness/agent/gemini/gemini-types.mts +88 -0
- package/src/witness/live-proxy-ibgib/live-proxy-ibgib-one-file.mts +321 -0
- package/src/witness/space/metaspace/metaspace-webspace/metaspace-webspace-helper.mts +290 -0
- package/src/witness/space/metaspace/metaspace-webspace/metaspace-webspace.mts +407 -0
- package/src/witness/space/web-filesystem-space/web-filesystem-space-constants.mts +1 -0
- package/src/witness/space/web-filesystem-space/web-filesystem-space-helper.mts +491 -0
- package/src/witness/space/web-filesystem-space/web-filesystem-space-types.mts +172 -0
- package/src/witness/space/web-filesystem-space/web-filesystem-space-v1.mts +670 -0
- package/tsconfig.json +17 -0
- package/tsconfig.test.json +10 -0
|
@@ -0,0 +1,457 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module web-filesystem-space-helper
|
|
3
|
+
*/
|
|
4
|
+
import { extractErrorMsg, pretty, unique, } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
|
|
5
|
+
import { getIbAndGib, } from '@ibgib/ts-gib/dist/helper.mjs';
|
|
6
|
+
import { GIB, } from '@ibgib/ts-gib/dist/V1/index.mjs';
|
|
7
|
+
import { validateIbGibIntrinsically } from '@ibgib/ts-gib/dist/V1/validate-helper.mjs';
|
|
8
|
+
import { parseSpaceIb } from '@ibgib/core-gib/dist/witness/space/space-helper.mjs';
|
|
9
|
+
import { SPACE_NAME_REGEXP } from '@ibgib/core-gib/dist/witness/space/space-constants.mjs';
|
|
10
|
+
import { GLOBAL_LOG_A_LOT } from '../../../constants.mjs';
|
|
11
|
+
import { WebFilesystemSpace_V1 } from './web-filesystem-space-v1.mjs';
|
|
12
|
+
import { B2TFS_DEFAULT_ENCODINGS_TO_TRY, FILE_ENCODINGS, FileEncoding } from './web-filesystem-space-types.mjs';
|
|
13
|
+
import { getGlobalDbName, PathUtilsHelper, uint8ArrayToString } from '../../../helpers.web.mjs';
|
|
14
|
+
import { storageGet, storagePut, storageReaddir, storageRmRF, } from '../../../storage/storage-helpers.web.mjs';
|
|
15
|
+
const logalot = GLOBAL_LOG_A_LOT;
|
|
16
|
+
const pathUtils = new PathUtilsHelper();
|
|
17
|
+
/**
|
|
18
|
+
* tries to read the given path. if fails **FOR ANY REASON**, @returns `null`.
|
|
19
|
+
*
|
|
20
|
+
* does not throw
|
|
21
|
+
*
|
|
22
|
+
* @returns file contents as string or `null`
|
|
23
|
+
*/
|
|
24
|
+
export async function tryRead({ path, directory, encoding, }) {
|
|
25
|
+
const lc = `[${tryRead.name}]`;
|
|
26
|
+
try {
|
|
27
|
+
if (logalot) {
|
|
28
|
+
console.log(`${lc} starting...`);
|
|
29
|
+
// console.log(`${lc} cwd: ${cwd()}`);
|
|
30
|
+
if (path.includes('bootstrap^gib') || path.includes('gib/bootstrap.json')) {
|
|
31
|
+
console.log(`${lc} trying bootstrap^gib... (I: cde10726c55737e5c5a2e0a66a188e24)`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const fullPath = pathUtils.join(directory, path);
|
|
35
|
+
if (logalot) {
|
|
36
|
+
console.log(`${lc} fullPath: ${fullPath} (I: e5cfdd62247c6ba05dffb64d8f25d424)`);
|
|
37
|
+
}
|
|
38
|
+
encoding ||= 'utf8';
|
|
39
|
+
let resRead = undefined;
|
|
40
|
+
let resRead_uncasted = await readFile(fullPath, { encoding });
|
|
41
|
+
if (resRead_uncasted instanceof Uint8Array) {
|
|
42
|
+
resRead = uint8ArrayToString(resRead_uncasted);
|
|
43
|
+
}
|
|
44
|
+
else if (typeof resRead_uncasted === 'string') {
|
|
45
|
+
resRead = resRead_uncasted;
|
|
46
|
+
}
|
|
47
|
+
if (logalot) {
|
|
48
|
+
console.log(`${lc} record found. data length: ${resRead?.length ?? 0}. fullPath: ${fullPath}. console.dir(resRead)... (I: be5cfbf04874b4e8e4787ad966cb8424)`);
|
|
49
|
+
console.dir(resRead);
|
|
50
|
+
}
|
|
51
|
+
return resRead ?? null;
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
if (logalot) {
|
|
55
|
+
console.log(`${lc} fullPath not found from directory (${directory}) and path (${path})\nerror:\n${extractErrorMsg(error)} (I: 8f93e583c048fac0682f55ca74df0324)`);
|
|
56
|
+
}
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
finally {
|
|
60
|
+
if (logalot) {
|
|
61
|
+
console.log(`${lc} complete. (I: 22a6958aee350e4d99b76057ec8b9224)`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
export async function tryRead_bin({ path, directory, encoding, }) {
|
|
66
|
+
const lc = `[${tryRead_bin.name}]`;
|
|
67
|
+
try {
|
|
68
|
+
if (logalot) {
|
|
69
|
+
console.log(`${lc} starting...`);
|
|
70
|
+
// console.log(`${lc} cwd: ${cwd()}`);
|
|
71
|
+
if (path.includes('bootstrap^gib')) {
|
|
72
|
+
console.log(`${lc} trying bootstrap^gib... (I: acdb59d399ca16c45456392d935c0524)`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
const fullPath = pathUtils.join(directory, path);
|
|
76
|
+
if (logalot) {
|
|
77
|
+
console.log(`${lc} fullPath: ${fullPath} (I: abef0200a4b823b446713349ca102924)`);
|
|
78
|
+
}
|
|
79
|
+
encoding ||= 'utf8';
|
|
80
|
+
let resRead = undefined;
|
|
81
|
+
let encodingsToTry = unique([
|
|
82
|
+
encoding,
|
|
83
|
+
...FILE_ENCODINGS,
|
|
84
|
+
]);
|
|
85
|
+
let { dataBuffer, dataString, inputPath, detectedEncoding } = await getFileDataAndEncoding({
|
|
86
|
+
inputPath: path,
|
|
87
|
+
encodingsToTry,
|
|
88
|
+
});
|
|
89
|
+
if (!dataBuffer) {
|
|
90
|
+
throw new Error(`getFileDataAndEncoding yielded falsy dataBuffer (E: f748ffc8c71c92be06a3566102ba8e24)`);
|
|
91
|
+
}
|
|
92
|
+
resRead = dataBuffer;
|
|
93
|
+
if (logalot) {
|
|
94
|
+
console.log(`${lc} record found. data length: ${resRead?.length ?? 0}. fullPath: ${fullPath}. console.dir(resRead)... (I: b0c1da7e3849edd3edef899d74b21a24)`);
|
|
95
|
+
console.dir(resRead);
|
|
96
|
+
}
|
|
97
|
+
return {
|
|
98
|
+
dataBuffer, dataString, inputPath, detectedEncoding
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
if (logalot) {
|
|
103
|
+
console.log(`${lc} fullPath not found from directory (${directory}) and path (${path})\nerror:\n${extractErrorMsg(error)} (I: 04b11599387ab37adf2b18a5f767cd24)`);
|
|
104
|
+
}
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
finally {
|
|
108
|
+
if (logalot) {
|
|
109
|
+
console.log(`${lc} complete. (I: baa1e9d18134bc451b56bb5a56150824)`);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* basic validation for a web fs space ibgib
|
|
115
|
+
*/
|
|
116
|
+
export async function validateWebFilesystemSpace_V1Intrinsically({ space }) {
|
|
117
|
+
const lc = `[${validateWebFilesystemSpace_V1Intrinsically.name}]`;
|
|
118
|
+
try {
|
|
119
|
+
if (logalot) {
|
|
120
|
+
console.log(`${lc} starting... (I: 7dab564254813390c30b082da3c18224)`);
|
|
121
|
+
}
|
|
122
|
+
const errors = (await validateIbGibIntrinsically({ ibGib: space })) ?? [];
|
|
123
|
+
const { ib, gib, data, rel8ns } = space;
|
|
124
|
+
if (!ib) {
|
|
125
|
+
errors.push('ib required. (E: f86c9e618fb11b4ac6036e5ff494ba24)');
|
|
126
|
+
}
|
|
127
|
+
if (!gib) {
|
|
128
|
+
errors.push('gib required. (E: 18481a93f7fa0b8e44617b8ef49b6a24)');
|
|
129
|
+
}
|
|
130
|
+
if (gib === GIB) {
|
|
131
|
+
errors.push('gib cannot be primitive. (E: fe6a5111f6d1647458c5a60ed337ee24)');
|
|
132
|
+
}
|
|
133
|
+
if (!data) {
|
|
134
|
+
errors.push('data required. (E: 50d2f1aaa72f61f09efed2361e88d124)');
|
|
135
|
+
return errors;
|
|
136
|
+
}
|
|
137
|
+
if (data.name) {
|
|
138
|
+
if (!SPACE_NAME_REGEXP.test(data.name)) {
|
|
139
|
+
errors.push(`space name (${data.name}) does not match space name regexp (${SPACE_NAME_REGEXP.source}). (E: 2eb2399e14f11f66a5f06ff9855bf225)`);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
errors.push('space name required. (E: 3f3f85315602ee06d1d371a4729f0624)');
|
|
144
|
+
}
|
|
145
|
+
// if (!data.classname) { errors.push('classname required. (E: 5078a2ce307cce02b11c9c393db7c224)') }
|
|
146
|
+
if (data.classname && data.classname !== WebFilesystemSpace_V1.name) {
|
|
147
|
+
errors.push(`unknown classname (${data.classname}). data.classname !== FilesystemSpace_V1.name (E: 251aee62590dd6894144d8b4f9b7ab24)`);
|
|
148
|
+
}
|
|
149
|
+
if (!data.baseDir) {
|
|
150
|
+
errors.push(`data.baseDir required (E: 66d5467064c4b794bf91218b14d53e24).`);
|
|
151
|
+
}
|
|
152
|
+
if (!data.baseSubPath) {
|
|
153
|
+
errors.push(`data.baseSubPath required. (E: 8545b7e9ea9a9b6265f447d9da2bac24)`);
|
|
154
|
+
}
|
|
155
|
+
if (!data.binSubPath) {
|
|
156
|
+
errors.push(`data.binSubPath required. (E: c9ca181a8b7979470669e2f7a081d624)`);
|
|
157
|
+
}
|
|
158
|
+
if (!data.dnaSubPath) {
|
|
159
|
+
errors.push(`data.dnaSubPath required. (E: 25a3b7a4c4820efa2e092fb122d3fe24)`);
|
|
160
|
+
}
|
|
161
|
+
if (!data.ibgibsSubPath) {
|
|
162
|
+
errors.push(`data.ibgibsSubPath required. (E: 8c2552c720bc1470d3566e1b87fe3824)`);
|
|
163
|
+
}
|
|
164
|
+
if (!data.metaSubPath) {
|
|
165
|
+
errors.push(`data.metaSubPath required. (E: 5f4d2c846717d21908569dab4b09a224)`);
|
|
166
|
+
}
|
|
167
|
+
if (data.n && typeof data.n !== 'number') {
|
|
168
|
+
errors.push(`data.n must be a number. (E: 0e4a25fd447dc835c68ee8657e455724)`);
|
|
169
|
+
}
|
|
170
|
+
if (data.n === undefined) {
|
|
171
|
+
// the very first space record (tjp) has an undefined n and no rel8ns
|
|
172
|
+
if (rel8ns) {
|
|
173
|
+
errors.push(`rel8ns not expected when data.n is falsy (custom temporal junction point indicator I suppose...) (E: 43714a88a1f248cdc827a97644d1c124)`);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
if (!data.spaceSubPath) {
|
|
177
|
+
errors.push(`data.spaceSubPath required. (E: a49c78b367c5d8b9ddba92d50db8a624)`);
|
|
178
|
+
}
|
|
179
|
+
if (!data.uuid) {
|
|
180
|
+
errors.push(`data.uuid required. (E: bf6997ccf542adc15bc31e84012e9524)`);
|
|
181
|
+
}
|
|
182
|
+
if (!data.encoding) {
|
|
183
|
+
errors.push(`data.encoding required. (E: 4c61e1a5acc41b5f15f53535177b9124)`);
|
|
184
|
+
}
|
|
185
|
+
/** should probably get this from Capacitor... */
|
|
186
|
+
const validEncodings = ["utf8", "ascii", "utf16"];
|
|
187
|
+
if (!validEncodings.includes(data.encoding)) {
|
|
188
|
+
errors.push(`invalid encoding: ${data.encoding}. validEncodings: ${validEncodings.join(', ')} (E: 8d2ae9fed4f59ab72c0e7e17bdbda124)`);
|
|
189
|
+
}
|
|
190
|
+
// ensure ib matches up with internal data
|
|
191
|
+
const { spaceClassname, spaceId, spaceName } = parseSpaceIb({ spaceIb: ib });
|
|
192
|
+
if (data.classname && (spaceClassname !== data.classname)) {
|
|
193
|
+
errors.push(`ib's spaceClassname (${spaceClassname}) must match data.classname (${data.classname}) (E: 9d1fce5cf2d42de2d96b487ab3570a24)`);
|
|
194
|
+
}
|
|
195
|
+
if (spaceId !== data.uuid) {
|
|
196
|
+
errors.push(`ib's spaceId (${spaceId}) must match data.uuid (${data.uuid}) (E: 45f5b88a62ac830302e74b33270b0224)`);
|
|
197
|
+
}
|
|
198
|
+
if (spaceName !== data.name) {
|
|
199
|
+
errors.push(`ib's spaceName (${spaceName}) must match data.name (${data.name}) (E: a752c7bc00e251458dc72af76edcb924)`);
|
|
200
|
+
}
|
|
201
|
+
// ensure rel8ns make sense
|
|
202
|
+
if (data.n === undefined && (rel8ns?.past ?? []).length > 0) {
|
|
203
|
+
errors.push(`"past" rel8n not expected when data.n is falsy (E: f578bf87da6ab80144f8d879fa0d9724)`);
|
|
204
|
+
}
|
|
205
|
+
if (data.n && (rel8ns?.past ?? []).length === 0) {
|
|
206
|
+
errors.push(`"past" rel8n required when data.n is truthy (E: 7b1e06b911c6f4a1e313ea6cfcdc3a24)`);
|
|
207
|
+
}
|
|
208
|
+
if (data.n === 0 && (rel8ns?.past ?? []).length !== 1) {
|
|
209
|
+
errors.push(`"past" rel8n expected to have a single record when data.n === 0 (E: 47998507925497bb8b25dbf70e542a24)`);
|
|
210
|
+
}
|
|
211
|
+
if (rel8ns && (rel8ns.past?.length ?? -1) > 0) {
|
|
212
|
+
const pastAddrs = rel8ns.past;
|
|
213
|
+
pastAddrs.forEach(x => {
|
|
214
|
+
const { ib: pastIb } = getIbAndGib({ ibGibAddr: x });
|
|
215
|
+
const pastIbInfo = parseSpaceIb({ spaceIb: pastIb });
|
|
216
|
+
if (pastIbInfo.spaceClassname && (pastIbInfo.spaceClassname !== spaceClassname)) {
|
|
217
|
+
errors.push(`rel8ns.past address classname (${pastIbInfo.spaceClassname}) must match current spaceClassname (${spaceClassname}) (E: 71bdfd2c7235c6854963a451ddcd9f24)`);
|
|
218
|
+
}
|
|
219
|
+
if (pastIbInfo.spaceId !== spaceId) {
|
|
220
|
+
errors.push(`rel8ns.past address spaceId (${pastIbInfo.spaceId}) must match current spaceId (${spaceId}) (E: 8b01f47268c34b8a638e397230331824)`);
|
|
221
|
+
}
|
|
222
|
+
// i want to allow this, but for now we're going to require not changing the name...
|
|
223
|
+
if (pastIbInfo.spaceName !== spaceName) {
|
|
224
|
+
errors.push(`rel8ns.past address spaceName (${pastIbInfo.spaceName}) must match current spaceName (${spaceName}) (E: 323ce598506b19ae791377a449aa8e24)`);
|
|
225
|
+
}
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
return errors;
|
|
229
|
+
}
|
|
230
|
+
catch (error) {
|
|
231
|
+
console.error(`${lc} ${error.message}`);
|
|
232
|
+
throw error;
|
|
233
|
+
}
|
|
234
|
+
finally {
|
|
235
|
+
if (logalot) {
|
|
236
|
+
console.log(`${lc} complete.`);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* gets the data and encoding of a given {@link inputPath} if that file exists.
|
|
242
|
+
* if it doesn't exist, this will throw an ENOENT error, but this is not logged
|
|
243
|
+
* as an error.
|
|
244
|
+
*
|
|
245
|
+
* this is because atow (03/2024) this is only used in a tryRead_bin function
|
|
246
|
+
* where the file often does not exist.
|
|
247
|
+
*/
|
|
248
|
+
export async function getFileDataAndEncoding({ inputPath, encodingsToTry = B2TFS_DEFAULT_ENCODINGS_TO_TRY, }) {
|
|
249
|
+
const lc = `[${getFileDataAndEncoding.name}]`;
|
|
250
|
+
try {
|
|
251
|
+
if (logalot) {
|
|
252
|
+
console.log(`${lc} starting... (I: be8a697780bd9f2dcc4e55ed557d3b24)`);
|
|
253
|
+
}
|
|
254
|
+
if (encodingsToTry) {
|
|
255
|
+
console.warn(`${lc} encodingsToTry (${pretty(encodingsToTry)}) is ignored in this web version of this function. (W: 1dda04d8e0b7fb046cff5d89d3903924)`);
|
|
256
|
+
}
|
|
257
|
+
const resRead = await readFile(inputPath);
|
|
258
|
+
if (resRead instanceof Uint8Array) {
|
|
259
|
+
// uint8array
|
|
260
|
+
if (resRead.length === 0) {
|
|
261
|
+
console.warn(`${lc} file at inputPath (${inputPath}) has dataBuffer.length === 0, i.e., no data content. we are treating this as utf8. (W: 8159ac120ec276df17484c1d32870424)`);
|
|
262
|
+
return {
|
|
263
|
+
inputPath,
|
|
264
|
+
dataBuffer: resRead,
|
|
265
|
+
detectedEncoding: FileEncoding.utf8,
|
|
266
|
+
dataString: '',
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
const resRead_str = uint8ArrayToString(resRead);
|
|
271
|
+
return {
|
|
272
|
+
inputPath,
|
|
273
|
+
dataString: resRead_str,
|
|
274
|
+
detectedEncoding: FileEncoding.utf8,
|
|
275
|
+
dataBuffer: resRead,
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
// encodingsToTry ??= ['utf-8', 'utf8'];
|
|
279
|
+
// const tryEncoding = async (encoding: FileEncoding | undefined) => {
|
|
280
|
+
// let res: [boolean, string | undefined];
|
|
281
|
+
// try {
|
|
282
|
+
// // const str = resRead.toString(encoding ?? undefined);
|
|
283
|
+
// const str = uint8ArrayToString(resRead);
|
|
284
|
+
// /**
|
|
285
|
+
// * doesn't include the node.js replacement unicode char
|
|
286
|
+
// */
|
|
287
|
+
// const isProbablyCorrect = !str.includes('\ufffd');
|
|
288
|
+
// res = [isProbablyCorrect, str];
|
|
289
|
+
// return res;
|
|
290
|
+
// } catch (error) {
|
|
291
|
+
// res = [false, undefined];
|
|
292
|
+
// }
|
|
293
|
+
// return res;
|
|
294
|
+
// }
|
|
295
|
+
// for (let i = 0; i < encodingsToTry.length; i++) {
|
|
296
|
+
// const maybeEncoding = encodingsToTry[i];
|
|
297
|
+
// const [isProbablyCorrectEncoding, dataString] = await tryEncoding(maybeEncoding);
|
|
298
|
+
// if (isProbablyCorrectEncoding) {
|
|
299
|
+
// resDataAndEncoding = {
|
|
300
|
+
// inputPath,
|
|
301
|
+
// dataString,
|
|
302
|
+
// detectedEncoding: maybeEncoding,
|
|
303
|
+
// dataBuffer,
|
|
304
|
+
// };
|
|
305
|
+
// break;
|
|
306
|
+
// }
|
|
307
|
+
// }
|
|
308
|
+
}
|
|
309
|
+
else if (typeof resRead === 'string') {
|
|
310
|
+
// utf8 on web
|
|
311
|
+
return {
|
|
312
|
+
inputPath,
|
|
313
|
+
dataString: resRead,
|
|
314
|
+
detectedEncoding: FileEncoding.utf8,
|
|
315
|
+
dataBuffer: undefined,
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
else if (!resRead) {
|
|
319
|
+
// not found
|
|
320
|
+
return {
|
|
321
|
+
inputPath,
|
|
322
|
+
dataString: undefined,
|
|
323
|
+
detectedEncoding: undefined,
|
|
324
|
+
dataBuffer: undefined,
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
else {
|
|
328
|
+
throw new Error(`(UNEXPECTED) resRead not Uint8Array, not string, not falsy? (E: bdeceb4c354da36708e31406adb30124)`);
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
catch (error) {
|
|
332
|
+
// i'm just suppressing ENOENT at this time because in context, this is
|
|
333
|
+
// often the case. we do, however, rethrow the error for proper flow.
|
|
334
|
+
const emsg = extractErrorMsg(error);
|
|
335
|
+
if (!emsg.startsWith('ENOENT:')) {
|
|
336
|
+
console.error(`${lc} ${emsg}`);
|
|
337
|
+
}
|
|
338
|
+
throw error;
|
|
339
|
+
}
|
|
340
|
+
finally {
|
|
341
|
+
if (logalot) {
|
|
342
|
+
console.log(`${lc} complete.`);
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
function parseFullPath(fullPath) {
|
|
347
|
+
const lc = `[${parseFullPath.name}]`;
|
|
348
|
+
try {
|
|
349
|
+
if (logalot) {
|
|
350
|
+
console.log(`${lc} starting... (I: c911bff0cb7333dfd45bde6925cce524)`);
|
|
351
|
+
}
|
|
352
|
+
const pieces = fullPath.split('/');
|
|
353
|
+
// must be at least 3 pieces in path
|
|
354
|
+
if (pieces.length < 3) {
|
|
355
|
+
throw new Error(`fullPath (${fullPath}) must have at least 3 pieces (E: d99c38d035551af3e85b7f767d911324)`);
|
|
356
|
+
}
|
|
357
|
+
// dbName is the first piece
|
|
358
|
+
let dbName = pieces.shift();
|
|
359
|
+
if (dbName === '.') {
|
|
360
|
+
dbName = getGlobalDbName();
|
|
361
|
+
}
|
|
362
|
+
// storeName is the second piece of the path
|
|
363
|
+
const storeName = pieces.shift();
|
|
364
|
+
// key is the rest of the path
|
|
365
|
+
const key = pieces.join('/');
|
|
366
|
+
return { dbName, storeName, key };
|
|
367
|
+
}
|
|
368
|
+
catch (error) {
|
|
369
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
370
|
+
throw error;
|
|
371
|
+
}
|
|
372
|
+
finally {
|
|
373
|
+
if (logalot) {
|
|
374
|
+
console.log(`${lc} complete.`);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
export async function writeFile(fullPath, data, encoding) {
|
|
379
|
+
const lc = `[${writeFile.name}]`;
|
|
380
|
+
try {
|
|
381
|
+
if (logalot) {
|
|
382
|
+
console.log(`${lc} starting... (I: 18c4f3558ab1f150382948556ab5f924)`);
|
|
383
|
+
}
|
|
384
|
+
const { dbName, storeName, key } = parseFullPath(fullPath);
|
|
385
|
+
if (typeof data === 'string' || data instanceof Uint8Array) {
|
|
386
|
+
// utf8/string/binary on web
|
|
387
|
+
// maybe separate this later if we want to log type?
|
|
388
|
+
await storagePut({ dbName, storeName, key, value: data, });
|
|
389
|
+
}
|
|
390
|
+
else {
|
|
391
|
+
throw new Error(`(UNEXPECTED) data not string or Uint8Array? (E: ac3e1c15484dbc7188c75e62ab78b124)`);
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
catch (error) {
|
|
395
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
396
|
+
throw error;
|
|
397
|
+
}
|
|
398
|
+
finally {
|
|
399
|
+
if (logalot) {
|
|
400
|
+
console.log(`${lc} complete.`);
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
// export function readFile(fullPath: any, opts: { encoding: string; }): string | Promise<string | undefined> | undefined;
|
|
405
|
+
// export function readFile(fullPath: any): string | Promise<string | undefined> | Uint8Array | Promise<Uint8Array | undefined> | undefined;
|
|
406
|
+
export async function readFile(fullPath, opts) {
|
|
407
|
+
const lc = `[${readFile.name}]`;
|
|
408
|
+
try {
|
|
409
|
+
if (logalot) {
|
|
410
|
+
console.log(`${lc} starting... (I: 37fd6ea3d79fc1ab797049ef00f6e224)`);
|
|
411
|
+
}
|
|
412
|
+
// implement the read complement to writeFile
|
|
413
|
+
const { dbName, storeName, key } = parseFullPath(fullPath);
|
|
414
|
+
const resGet = await storageGet({ dbName, storeName, key });
|
|
415
|
+
return resGet;
|
|
416
|
+
}
|
|
417
|
+
catch (error) {
|
|
418
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
419
|
+
throw error;
|
|
420
|
+
}
|
|
421
|
+
finally {
|
|
422
|
+
if (logalot) {
|
|
423
|
+
console.log(`${lc} complete.`);
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
export async function rm(fullPath, opts) {
|
|
428
|
+
const lc = `[${rm.name}]`;
|
|
429
|
+
if (logalot) {
|
|
430
|
+
console.log(fullPath);
|
|
431
|
+
console.log(JSON.stringify(opts));
|
|
432
|
+
}
|
|
433
|
+
const { dbName, storeName, key: pathToRm } = parseFullPath(fullPath);
|
|
434
|
+
await storageRmRF({ dbName, storeName, pathToRm: pathToRm });
|
|
435
|
+
}
|
|
436
|
+
/**
|
|
437
|
+
* is this necessary in web version?
|
|
438
|
+
* @param fullPath
|
|
439
|
+
* @param opts
|
|
440
|
+
*/
|
|
441
|
+
export function mkdirSync(fullPath, opts) {
|
|
442
|
+
const lc = `[${mkdirSync.name}]`;
|
|
443
|
+
throw new Error(`${lc} not implemented (E: da4684557038657662e5d0d17a0c9224)`);
|
|
444
|
+
}
|
|
445
|
+
export async function readdir(containingDir, opts) {
|
|
446
|
+
const lc = `[${readdir.name}]`;
|
|
447
|
+
const { dbName, storeName, key: dirPath } = parseFullPath(containingDir);
|
|
448
|
+
return await storageReaddir({
|
|
449
|
+
dbName, storeName, dirPath,
|
|
450
|
+
withFileTypes: opts?.withFileTypes ?? false,
|
|
451
|
+
});
|
|
452
|
+
}
|
|
453
|
+
// export function existsSync(fullPath: string): boolean {
|
|
454
|
+
// const lc = `[${existsSync.name}]`;
|
|
455
|
+
// throw new Error(`${lc} not implemented (E: 2e2577807b69b6f2e475783d59cd1c24)`);
|
|
456
|
+
// }
|
|
457
|
+
//# sourceMappingURL=web-filesystem-space-helper.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-filesystem-space-helper.mjs","sourceRoot":"","sources":["../../../../src/witness/space/web-filesystem-space/web-filesystem-space-helper.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module node-filesystem-space-types
|
|
3
|
+
*
|
|
4
|
+
* mostly interfaces, some constants
|
|
5
|
+
*/
|
|
6
|
+
import { IbGibRel8ns_V1 } from '@ibgib/ts-gib/dist/V1/index.mjs';
|
|
7
|
+
import { FilesystemSpaceData_V1, FilesystemSpaceOptionsData, FilesystemSpaceOptionsIbGib, FilesystemSpaceOptionsRel8ns, FilesystemSpaceResultData, FilesystemSpaceResultIbGib, FilesystemSpaceResultRel8ns } from '@ibgib/core-gib/dist/witness/space/filesystem-space/filesystem-space-v1.mjs';
|
|
8
|
+
/**
|
|
9
|
+
* This is the shape of data about this space itself (not the contained ibgibs' spaces).
|
|
10
|
+
*/
|
|
11
|
+
export interface WebFilesystemSpaceData_V1 extends FilesystemSpaceData_V1 {
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Used in bootstrapping.
|
|
15
|
+
*
|
|
16
|
+
* If you change this, please bump the version
|
|
17
|
+
*
|
|
18
|
+
* (but of course won't be the end of the world when this doesn't happen).
|
|
19
|
+
*
|
|
20
|
+
* ## notes
|
|
21
|
+
*
|
|
22
|
+
* This is a terrible kluge port from NodeFilesystemSpaceData_V1. I am just
|
|
23
|
+
* moving "as fast as I can" (I can't move fast these days). Little of the
|
|
24
|
+
* filesystem internal details reallly matter I think, as this is just meant to
|
|
25
|
+
* be a local space living on indexeddb. The main thing is segregation of local
|
|
26
|
+
* spaces from each other, but I think this is covered to begin with via the
|
|
27
|
+
* space name used in the path somewhere.
|
|
28
|
+
*/
|
|
29
|
+
export declare const DEFAULT_WEB_FILESYSTEM_SPACE_DATA_V1: WebFilesystemSpaceData_V1;
|
|
30
|
+
/** Marker interface atm */
|
|
31
|
+
export interface WebFilesystemSpaceRel8ns_V1 extends IbGibRel8ns_V1 {
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Space options involve whether we're getting/putting ibgibs categorized as
|
|
35
|
+
* meta, bin, dna.
|
|
36
|
+
*
|
|
37
|
+
* We'll leverage the fact that we don't need to get dna very often, and that
|
|
38
|
+
* meta ibgibs act differently and are recorded differently.
|
|
39
|
+
*
|
|
40
|
+
* For example, we don't necessarily want to keep the past of certain meta
|
|
41
|
+
* objects, because it may change (and thus grow) too quickly.
|
|
42
|
+
*/
|
|
43
|
+
export interface WebFilesystemSpaceOptionsData extends FilesystemSpaceOptionsData {
|
|
44
|
+
}
|
|
45
|
+
export interface WebFilesystemSpaceOptionsRel8ns extends FilesystemSpaceOptionsRel8ns {
|
|
46
|
+
}
|
|
47
|
+
/** Marker interface atm */
|
|
48
|
+
export interface WebFilesystemSpaceOptionsIbGib extends FilesystemSpaceOptionsIbGib<WebFilesystemSpaceOptionsData, WebFilesystemSpaceOptionsRel8ns> {
|
|
49
|
+
}
|
|
50
|
+
/** Marker interface atm */
|
|
51
|
+
export interface WebFilesystemSpaceResultData extends FilesystemSpaceResultData {
|
|
52
|
+
}
|
|
53
|
+
export interface WebFilesystemSpaceResultRel8ns extends FilesystemSpaceResultRel8ns {
|
|
54
|
+
}
|
|
55
|
+
export interface WebFilesystemSpaceResultIbGib extends FilesystemSpaceResultIbGib<WebFilesystemSpaceResultData, WebFilesystemSpaceResultRel8ns> {
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* currently i'm just taking this from the definition of node's `Buffer` type.
|
|
59
|
+
*
|
|
60
|
+
* ## notes
|
|
61
|
+
*
|
|
62
|
+
* * using this with handle-reify-file.mts when reading the file.
|
|
63
|
+
* * 'binary' may resolve to 'latin1' per SO
|
|
64
|
+
* * https://stackoverflow.com/questions/46441667/reading-binary-data-in-node-js
|
|
65
|
+
*/
|
|
66
|
+
export type FileEncoding = 'ascii' | 'utf8' | 'utf-8' | 'utf16le' | 'ucs2' | 'ucs-2' | 'base64' | 'base64url' | 'latin1' | 'binary' | 'hex';
|
|
67
|
+
export declare const FileEncoding: {
|
|
68
|
+
ascii: FileEncoding;
|
|
69
|
+
utf8: FileEncoding;
|
|
70
|
+
utf_8: FileEncoding;
|
|
71
|
+
"utf-8": FileEncoding;
|
|
72
|
+
utf16le: FileEncoding;
|
|
73
|
+
ucs2: FileEncoding;
|
|
74
|
+
ucs_2: FileEncoding;
|
|
75
|
+
"ucs-2": FileEncoding;
|
|
76
|
+
base64: FileEncoding;
|
|
77
|
+
base64url: FileEncoding;
|
|
78
|
+
latin1: FileEncoding;
|
|
79
|
+
binary: FileEncoding;
|
|
80
|
+
hex: FileEncoding;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* valid file encoding values per {@link FileEncoding}
|
|
84
|
+
*/
|
|
85
|
+
export declare const FILE_ENCODINGS: FileEncoding[];
|
|
86
|
+
export interface FileDataInfo {
|
|
87
|
+
inputPath: string;
|
|
88
|
+
detectedEncoding?: FileEncoding | undefined;
|
|
89
|
+
dataString?: string | undefined;
|
|
90
|
+
dataBuffer?: Uint8Array | undefined;
|
|
91
|
+
}
|
|
92
|
+
export declare const B2TFS_DEFAULT_ENCODINGS_TO_TRY: (FileEncoding | undefined)[];
|
|
93
|
+
//# sourceMappingURL=web-filesystem-space-types.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-filesystem-space-types.d.mts","sourceRoot":"","sources":["../../../../src/witness/space/web-filesystem-space/web-filesystem-space-types.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAG,MAAM,iCAAiC,CAAC;AAIlE,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,6EAA6E,CAAC;AAMhS;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,sBAAsB;CACxE;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,oCAAoC,EAAE,yBA4ClD,CAAA;AAED,2BAA2B;AAC3B,MAAM,WAAW,2BAA4B,SAAQ,cAAc;CAAI;AAEvE;;;;;;;;;GASG;AACH,MAAM,WAAW,6BAA8B,SAAQ,0BAA0B;CAChF;AAED,MAAM,WAAW,+BAAgC,SAAQ,4BAA4B;CACpF;AAED,2BAA2B;AAC3B,MAAM,WAAW,8BACb,SAAQ,2BAA2B,CAAC,6BAA6B,EAAE,+BAA+B,CAAC;CACtG;AAED,2BAA2B;AAC3B,MAAM,WAAW,4BAA6B,SAAQ,yBAAyB;CAC9E;AAED,MAAM,WAAW,8BAA+B,SAAQ,2BAA2B;CAClF;AAED,MAAM,WAAW,6BACb,SAAQ,0BAA0B,CAAC,4BAA4B,EAAE,8BAA8B,CAAC;CACnG;AACD;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAClB,OAAO,GACP,MAAM,GACN,OAAO,GACP,SAAS,GACT,MAAM,GACN,OAAO,GACP,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,KAAK,CAAC;AACZ,eAAO,MAAM,YAAY;;;;;;;;;;;;;;CAcxB,CAAC;AACF;;GAEG;AACH,eAAO,MAAM,cAAc,gBAA8B,CAAC;AAE1D,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAC5C,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACvC;AACD,eAAO,MAAM,8BAA8B,EAAE,CAAC,YAAY,GAAG,SAAS,CAAC,EAMtE,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module node-filesystem-space-types
|
|
3
|
+
*
|
|
4
|
+
* mostly interfaces, some constants
|
|
5
|
+
*/
|
|
6
|
+
// import { GLOBAL_LOG_A_LOT } from '../../../constants.mjs';
|
|
7
|
+
import { INDEXED_DB_LONG_PATH_LENGTH } from './web-filesystem-space-constants.mjs';
|
|
8
|
+
import { DEFAULT_LOCAL_SPACE_POLLING_INTERVAL_MS, IBGIB_SPACE_NAME_DEFAULT, ZERO_SPACE_ID } from '@ibgib/core-gib/dist/witness/space/space-constants.mjs';
|
|
9
|
+
import { DEFAULT_FILESYSTEM_SPACE_DESCRIPTION, IBGIB_BASE_SUBPATH, IBGIB_BIN_SUBPATH, IBGIB_DNA_SUBPATH, IBGIB_ENCODING, IBGIB_IBGIBS_SUBPATH, IBGIB_LONG_SUBPATH, IBGIB_META_SUBPATH, IBGIB_SPACE_SUBPATH_DEFAULT } from '@ibgib/core-gib/dist/witness/space/filesystem-space/filesystem-constants.mjs';
|
|
10
|
+
import { getGlobalDbName } from '../../../helpers.web.mjs';
|
|
11
|
+
/**
|
|
12
|
+
* Used in bootstrapping.
|
|
13
|
+
*
|
|
14
|
+
* If you change this, please bump the version
|
|
15
|
+
*
|
|
16
|
+
* (but of course won't be the end of the world when this doesn't happen).
|
|
17
|
+
*
|
|
18
|
+
* ## notes
|
|
19
|
+
*
|
|
20
|
+
* This is a terrible kluge port from NodeFilesystemSpaceData_V1. I am just
|
|
21
|
+
* moving "as fast as I can" (I can't move fast these days). Little of the
|
|
22
|
+
* filesystem internal details reallly matter I think, as this is just meant to
|
|
23
|
+
* be a local space living on indexeddb. The main thing is segregation of local
|
|
24
|
+
* spaces from each other, but I think this is covered to begin with via the
|
|
25
|
+
* space name used in the path somewhere.
|
|
26
|
+
*/
|
|
27
|
+
export const DEFAULT_WEB_FILESYSTEM_SPACE_DATA_V1 = {
|
|
28
|
+
version: '1',
|
|
29
|
+
uuid: ZERO_SPACE_ID,
|
|
30
|
+
name: IBGIB_SPACE_NAME_DEFAULT,
|
|
31
|
+
classname: 'WebFilesystemSpace_V1',
|
|
32
|
+
// baseDir: IBGIB_BASE_DIR,
|
|
33
|
+
/**
|
|
34
|
+
* atow (12/2025), i am pulling out from blank-gib to web-gib, a more
|
|
35
|
+
* generic framework in the making. This baseDir is a question mark, but it
|
|
36
|
+
* seems that tying this to the consuming app's global db name is a good
|
|
37
|
+
* idea. But only time will tell.
|
|
38
|
+
*
|
|
39
|
+
* I'm considering atow (12/6/2024) using this baseDir as the db name, and
|
|
40
|
+
* the spaceId as the store. To effect this, the writeFile will use the two
|
|
41
|
+
* lowest directories as the db & store names, e.g.,
|
|
42
|
+
*
|
|
43
|
+
* blank^gib/[spaceId]/[other unnecessary paths from node port]/ib^gibaddr
|
|
44
|
+
*
|
|
45
|
+
* (This path will be spliced when "writing the file path".)
|
|
46
|
+
*
|
|
47
|
+
* So the db name is blank^gib, the store name is the spaceId. The other
|
|
48
|
+
* parts of the path are vestigial from node implementation, just as long as
|
|
49
|
+
* it resolves down to the right ibgib addr consistently. If something
|
|
50
|
+
* requires listing other spaces, then the indexed db.stores I think allows
|
|
51
|
+
* for this.
|
|
52
|
+
*/
|
|
53
|
+
baseDir: getGlobalDbName(),
|
|
54
|
+
encoding: IBGIB_ENCODING,
|
|
55
|
+
baseSubPath: IBGIB_BASE_SUBPATH,
|
|
56
|
+
spaceSubPath: IBGIB_SPACE_SUBPATH_DEFAULT,
|
|
57
|
+
ibgibsSubPath: IBGIB_IBGIBS_SUBPATH,
|
|
58
|
+
metaSubPath: IBGIB_META_SUBPATH,
|
|
59
|
+
binSubPath: IBGIB_BIN_SUBPATH,
|
|
60
|
+
dnaSubPath: IBGIB_DNA_SUBPATH,
|
|
61
|
+
longSubPath: IBGIB_LONG_SUBPATH,
|
|
62
|
+
mitigateLongPaths: false,
|
|
63
|
+
longPathLength: INDEXED_DB_LONG_PATH_LENGTH,
|
|
64
|
+
persistOptsAndResultIbGibs: false,
|
|
65
|
+
validateIbGibAddrsMatchIbGibs: false,
|
|
66
|
+
longPollingIntervalMs: DEFAULT_LOCAL_SPACE_POLLING_INTERVAL_MS,
|
|
67
|
+
allowPrimitiveArgs: false,
|
|
68
|
+
catchAllErrors: true,
|
|
69
|
+
description: DEFAULT_FILESYSTEM_SPACE_DESCRIPTION,
|
|
70
|
+
trace: false,
|
|
71
|
+
};
|
|
72
|
+
export const FileEncoding = {
|
|
73
|
+
ascii: 'ascii',
|
|
74
|
+
utf8: 'utf8',
|
|
75
|
+
utf_8: 'utf-8',
|
|
76
|
+
['utf-8']: 'utf-8',
|
|
77
|
+
utf16le: 'utf16le',
|
|
78
|
+
ucs2: 'ucs2',
|
|
79
|
+
ucs_2: 'ucs-2',
|
|
80
|
+
['ucs-2']: 'ucs-2',
|
|
81
|
+
base64: 'base64',
|
|
82
|
+
base64url: 'base64url',
|
|
83
|
+
latin1: 'latin1',
|
|
84
|
+
binary: 'binary',
|
|
85
|
+
hex: 'hex',
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* valid file encoding values per {@link FileEncoding}
|
|
89
|
+
*/
|
|
90
|
+
export const FILE_ENCODINGS = Object.values(FileEncoding);
|
|
91
|
+
export const B2TFS_DEFAULT_ENCODINGS_TO_TRY = [
|
|
92
|
+
FileEncoding.utf8,
|
|
93
|
+
FileEncoding.utf16le,
|
|
94
|
+
FileEncoding.base64,
|
|
95
|
+
FileEncoding.binary,
|
|
96
|
+
undefined,
|
|
97
|
+
];
|
|
98
|
+
//# sourceMappingURL=web-filesystem-space-types.mjs.map
|