@powerhousedao/ph-cli 0.10.5 → 0.11.0

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/dist/cli.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import '@powerhousedao/codegen';
2
+ import '@powerhousedao/config/powerhouse';
@@ -1,4 +1,5 @@
1
- import { getConfig, promptDirectories, generateEditor, generateProcessor, generateFromFile, generate as generate$1 } from '@powerhousedao/codegen';
1
+ import { promptDirectories, generateEditor, generateProcessor, generateFromFile, generate as generate$1 } from '@powerhousedao/codegen';
2
+ import { getConfig } from '@powerhousedao/config/powerhouse';
2
3
 
3
4
  const generate = async (filePath, options) => {
4
5
  const baseConfig = getConfig();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/commands/generate.ts"],"names":["generateCode"],"mappings":"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","file":"generate.js","sourcesContent":["import {\n generate as generateCode,\n generateEditor,\n generateFromFile,\n generateProcessor,\n getConfig,\n promptDirectories,\n} from \"@powerhousedao/codegen\";\nimport { Command } from \"commander\";\nimport { CommandActionType } from \"../types.js\";\n\nexport const generate: CommandActionType<\n [\n string | undefined,\n {\n interactive?: boolean;\n editors?: string;\n processors?: string;\n documentModels?: string;\n skipFormat?: boolean;\n watch?: boolean;\n editor?: string;\n processor?: string;\n documentTypes?: string;\n processorType?: \"analytics\" | \"operational\";\n },\n ]\n> = async (filePath, options) => {\n const baseConfig = getConfig();\n\n const config = {\n ...baseConfig,\n ...{\n ...(options.editors && { editorsDir: options.editors }),\n ...(options.processors && { processorsDir: options.processors }),\n ...(options.documentModels && {\n documentModelsDir: options.documentModels,\n }),\n ...(options.skipFormat && { skipFormat: options.skipFormat }),\n ...(options.interactive && { interactive: options.interactive }),\n ...(options.watch && { watch: options.watch }),\n },\n };\n\n const command = {\n editor: !!options.editor,\n editorName: options.editor,\n documentTypes: options.documentTypes,\n processor: !!options.processor,\n processorName: options.processor,\n processorType: options.processorType,\n };\n\n if (config.interactive) {\n const result = await promptDirectories(config);\n Object.assign(config, result);\n }\n\n if (command.editor) {\n if (!command.editorName) {\n throw new Error(\"Editor name is required (--editor or -e)\");\n }\n await generateEditor(\n command.editorName,\n command.documentTypes?.split(/[|,;]/g) ?? [],\n config,\n );\n\n return;\n }\n\n if (command.processor && options.processor) {\n const processorType =\n options.processorType === \"operational\" ? \"operational\" : \"analytics\";\n await generateProcessor(\n options.processor,\n processorType,\n options.documentTypes?.split(\",\") ?? [],\n config,\n );\n return;\n }\n\n if (filePath) {\n await generateFromFile(filePath, config);\n return;\n }\n\n await generateCode(config);\n};\n\nexport function generateCommand(program: Command) {\n program\n .command(\"generate\")\n .description(\"Generate code from the document models\")\n .argument(\"[document-model-file]\", \"Path to the document model file\")\n .option(\"-i, --interactive\", \"Run the command in interactive mode\")\n .option(\"--editors <type>\", \"Path to the editors directory\")\n .option(\"-e, --editor <type>\", \"Editor Name\")\n .option(\"--processors <type>\", \"Path to the processors directory\")\n .option(\"-p, --processor <type>\", \"Processor Name\")\n .option(\"--processor-type <type>\", \"Processor Type\")\n .option(\"--document-models <type>\", \"Path to the document models directory\")\n .option(\"--document-types <type>\", \"Supported document types by the editor\")\n .option(\"-sf, --skip-format\", \"Skip formatting the generated code\")\n .option(\"-w, --watch\", \"Watch the generated code\")\n .action(generate);\n}\n"]}
1
+ {"version":3,"sources":["../../src/commands/generate.ts"],"names":["generateCode"],"mappings":"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","file":"generate.js","sourcesContent":["import {\n generate as generateCode,\n generateEditor,\n generateFromFile,\n generateProcessor,\n promptDirectories,\n} from \"@powerhousedao/codegen\";\nimport { Command } from \"commander\";\nimport { CommandActionType } from \"../types.js\";\nimport { getConfig } from \"@powerhousedao/config/powerhouse\";\n\nexport const generate: CommandActionType<\n [\n string | undefined,\n {\n interactive?: boolean;\n editors?: string;\n processors?: string;\n documentModels?: string;\n skipFormat?: boolean;\n watch?: boolean;\n editor?: string;\n processor?: string;\n documentTypes?: string;\n processorType?: \"analytics\" | \"operational\";\n },\n ]\n> = async (filePath, options) => {\n const baseConfig = getConfig();\n\n const config = {\n ...baseConfig,\n ...{\n ...(options.editors && { editorsDir: options.editors }),\n ...(options.processors && { processorsDir: options.processors }),\n ...(options.documentModels && {\n documentModelsDir: options.documentModels,\n }),\n ...(options.skipFormat && { skipFormat: options.skipFormat }),\n ...(options.interactive && { interactive: options.interactive }),\n ...(options.watch && { watch: options.watch }),\n },\n };\n\n const command = {\n editor: !!options.editor,\n editorName: options.editor,\n documentTypes: options.documentTypes,\n processor: !!options.processor,\n processorName: options.processor,\n processorType: options.processorType,\n };\n\n if (config.interactive) {\n const result = await promptDirectories(config);\n Object.assign(config, result);\n }\n\n if (command.editor) {\n if (!command.editorName) {\n throw new Error(\"Editor name is required (--editor or -e)\");\n }\n await generateEditor(\n command.editorName,\n command.documentTypes?.split(/[|,;]/g) ?? [],\n config,\n );\n\n return;\n }\n\n if (command.processor && options.processor) {\n const processorType =\n options.processorType === \"operational\" ? \"operational\" : \"analytics\";\n await generateProcessor(\n options.processor,\n processorType,\n options.documentTypes?.split(\",\") ?? [],\n config,\n );\n return;\n }\n\n if (filePath) {\n await generateFromFile(filePath, config);\n return;\n }\n\n await generateCode(config);\n};\n\nexport function generateCommand(program: Command) {\n program\n .command(\"generate\")\n .description(\"Generate code from the document models\")\n .argument(\"[document-model-file]\", \"Path to the document model file\")\n .option(\"-i, --interactive\", \"Run the command in interactive mode\")\n .option(\"--editors <type>\", \"Path to the editors directory\")\n .option(\"-e, --editor <type>\", \"Editor Name\")\n .option(\"--processors <type>\", \"Path to the processors directory\")\n .option(\"-p, --processor <type>\", \"Processor Name\")\n .option(\"--processor-type <type>\", \"Processor Type\")\n .option(\"--document-models <type>\", \"Path to the document models directory\")\n .option(\"--document-types <type>\", \"Supported document types by the editor\")\n .option(\"-sf, --skip-format\", \"Skip formatting the generated code\")\n .option(\"-w, --watch\", \"Watch the generated code\")\n .action(generate);\n}\n"]}
@@ -5,7 +5,7 @@ export { dev, devCommand } from './dev.js';
5
5
  export { helpCommand } from './help.js';
6
6
  export { generate, generateCommand } from './generate.js';
7
7
  export { DefaultReactorOptions, ReactorOptions, reactor, reactorCommand } from './reactor.js';
8
- import '@powerhousedao/codegen';
8
+ import '@powerhousedao/config/powerhouse';
9
9
  import '../types.js';
10
10
  import '@powerhousedao/reactor-local';
11
11
 
@@ -1,5 +1,6 @@
1
1
  import { DefaultStartServerOptions, startServer } from '@powerhousedao/reactor-local';
2
- import { getConfig, generateFromFile } from '@powerhousedao/codegen';
2
+ import { generateFromFile } from '@powerhousedao/codegen';
3
+ import { getConfig } from '@powerhousedao/config/powerhouse';
3
4
 
4
5
  const DefaultReactorOptions = {
5
6
  ...DefaultStartServerOptions,
@@ -13,7 +14,7 @@ async function startLocalReactor(reactorOptions) {
13
14
  await reactor2.addListener(
14
15
  "powerhouse",
15
16
  {
16
- transmit: async function(strands) {
17
+ onStrands: async function(strands) {
17
18
  const documentPaths = /* @__PURE__ */ new Set();
18
19
  for (const strand of strands) {
19
20
  documentPaths.add(
@@ -25,7 +26,7 @@ async function startLocalReactor(reactorOptions) {
25
26
  }
26
27
  return Promise.resolve();
27
28
  },
28
- disconnect: () => Promise.resolve()
29
+ onDisconnect: () => Promise.resolve()
29
30
  },
30
31
  {
31
32
  filter: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/commands/reactor.ts"],"names":["reactor"],"mappings":";;;AAeO,MAAM,qBAAwB,GAAA;AAAA,EACnC,GAAG,yBAAA;AAAA,EACH,GAAK,EAAA;AACP;AAEA,eAAe,kBAAkB,cAAgC,EAAA;AAC/D,EAAA,MAAM,aAAa,SAAU,EAAA;AAC7B,EAAA,MAAM,OAAU,GAAA,EAAE,GAAG,qBAAA,EAAuB,GAAG,cAAe,EAAA;AAC9D,EAAMA,MAAAA,QAAAA,GAAU,MAAM,WAAA,CAAY,OAAO,CAAA;AAEzC,EAAA,IAAI,QAAQ,QAAU,EAAA;AACpB,IAA4B,MAAMA,QAAQ,CAAA,WAAA;AAAA,MACxC,YAAA;AAAA,MACA;AAAA,QACE,QAAA,EAAU,eAAgB,OAAS,EAAA;AACjC,UAAM,MAAA,aAAA,uBAAoB,GAAY,EAAA;AACtC,UAAA,KAAA,MAAW,UAAU,OAAS,EAAA;AAC5B,YAAc,aAAA,CAAA,GAAA;AAAA,cACZA,QAAQ,CAAA,eAAA,CAAgB,MAAO,CAAA,OAAA,EAAS,OAAO,UAAU;AAAA,aAC3D;AAAA;AAEF,UAAA,KAAA,MAAW,QAAQ,aAAe,EAAA;AAChC,YAAM,MAAA,gBAAA,CAAiB,MAAM,UAAU,CAAA;AAAA;AAEzC,UAAA,OAAO,QAAQ,OAAQ,EAAA;AAAA,SACzB;AAAA,QACA,UAAA,EAAY,MAAM,OAAA,CAAQ,OAAQ;AAAA,OACpC;AAAA,MACA;AAAA,QACE,MAAQ,EAAA;AAAA,UACN,YAAA,EAAc,CAAC,2BAA2B,CAAA;AAAA,UAC1C,KAAA,EAAO,CAAC,QAAQ,CAAA;AAAA,UAChB,MAAA,EAAQ,CAAC,GAAG,CAAA;AAAA,UACZ,UAAA,EAAY,CAAC,GAAG;AAAA,SAClB;AAAA,QACA,KAAO,EAAA,KAAA;AAAA,QACP,UAAY,EAAA,wCAAA;AAAA,QACZ,KAAO,EAAA;AAAA;AACT;AACF;AAEF,EAAOA,OAAAA,QAAAA;AACT;AAEa,MAAA,OAAA,GAGT,CAAC,OAAY,KAAA;AACf,EAAA,OAAO,kBAAkB,OAAO,CAAA;AAClC;AAEO,SAAS,eAAe,OAAkB,EAAA;AAC/C,EAAA,OAAA,CACG,OAAQ,CAAA,SAAS,CACjB,CAAA,WAAA,CAAY,sBAAsB,CAClC,CAAA,MAAA,CAAO,eAAiB,EAAA,sBAAA,EAAwB,MAAM,CAAA,CACtD,MAAO,CAAA,YAAA,EAAc,8CAA8C,CACnE,CAAA,MAAA;AAAA,IACC,aAAA;AAAA,IACA;AAAA,GACF,CACC,MAAO,CAAA,OAAA,GAAU,IAA2B,KAAA;AAC3C,IAAM,MAAA,OAAA,CAAQ,GAAG,IAAI,CAAA;AAAA,GACtB,CAAA;AACL;AAEA,IAAI,OAAQ,CAAA,IAAA,CAAK,EAAG,CAAA,CAAC,MAAM,OAAS,EAAA;AAClC,EAAA,MAAM,UAAa,GAAA,OAAA,CAAQ,IAAK,CAAA,EAAA,CAAG,CAAC,CAAA;AACpC,EAAA,MAAM,UAAU,UAAc,GAAA,IAAA,CAAK,KAAM,CAAA,UAAU,IAAuB,EAAC;AAC3E,EAAA,iBAAA,CAAkB,OAAO,CAAA,CACtB,IAAK,CAAA,CAACA,QAAY,KAAA;AACjB,IAAA,OAAA,CAAQ,IAAO,GAAA,CAAA,SAAA,EAAYA,QAAQ,CAAA,QAAQ,CAAE,CAAA,CAAA;AAAA,GAC9C,CAAA,CACA,KAAM,CAAA,CAAC,CAAe,KAAA;AACrB,IAAM,MAAA,CAAA;AAAA,GACP,CAAA;AACL","file":"reactor.js","sourcesContent":["import { Command } from \"commander\";\nimport {\n DefaultStartServerOptions,\n startServer,\n StartServerOptions,\n LocalReactor,\n} from \"@powerhousedao/reactor-local\";\nimport { getConfig, generateFromFile } from \"@powerhousedao/codegen\";\nimport { CommandActionType } from \"../types.js\";\n\nexport type ReactorOptions = StartServerOptions & {\n generate?: boolean;\n watch?: boolean;\n};\n\nexport const DefaultReactorOptions = {\n ...DefaultStartServerOptions,\n dev: true,\n};\n\nasync function startLocalReactor(reactorOptions: ReactorOptions) {\n const baseConfig = getConfig();\n const options = { ...DefaultReactorOptions, ...reactorOptions };\n const reactor = await startServer(options);\n\n if (options.generate) {\n const generateTransmitter = await reactor.addListener(\n \"powerhouse\",\n {\n transmit: async function (strands) {\n const documentPaths = new Set<string>();\n for (const strand of strands) {\n documentPaths.add(\n reactor.getDocumentPath(strand.driveId, strand.documentId),\n );\n }\n for (const path of documentPaths) {\n await generateFromFile(path, baseConfig);\n }\n return Promise.resolve();\n },\n disconnect: () => Promise.resolve(),\n },\n {\n filter: {\n documentType: [\"powerhouse/document-model\"],\n scope: [\"global\"],\n branch: [\"*\"],\n documentId: [\"*\"],\n },\n block: false,\n listenerId: \"reactor-local-document-model-generator\",\n label: \"reactor-local-document-model-generator\",\n },\n );\n }\n return reactor;\n}\n\nexport const reactor: CommandActionType<\n [ReactorOptions],\n Promise<LocalReactor>\n> = (options) => {\n return startLocalReactor(options);\n};\n\nexport function reactorCommand(program: Command) {\n program\n .command(\"reactor\")\n .description(\"Starts local reactor\")\n .option(\"--port <PORT>\", \"port to host the api\", \"4001\")\n .option(\"--generate\", \"generate code when document model is updated\")\n .option(\n \"-w, --watch\",\n \"if the reactor should watch for local changes to document models and processors\",\n )\n .action(async (...args: [ReactorOptions]) => {\n await reactor(...args);\n });\n}\n\nif (process.argv.at(2) === \"spawn\") {\n const optionsArg = process.argv.at(3);\n const options = optionsArg ? (JSON.parse(optionsArg) as ReactorOptions) : {};\n startLocalReactor(options)\n .then((reactor) => {\n process.send?.(`driveUrl:${reactor.driveUrl}`);\n })\n .catch((e: unknown) => {\n throw e;\n });\n}\n"]}
1
+ {"version":3,"sources":["../../src/commands/reactor.ts"],"names":["reactor"],"mappings":";;;;AAgBO,MAAM,qBAAwB,GAAA;AAAA,EACnC,GAAG,yBAAA;AAAA,EACH,GAAK,EAAA;AACP;AAEA,eAAe,kBAAkB,cAAgC,EAAA;AAC/D,EAAA,MAAM,aAAa,SAAU,EAAA;AAC7B,EAAA,MAAM,OAAU,GAAA,EAAE,GAAG,qBAAA,EAAuB,GAAG,cAAe,EAAA;AAC9D,EAAMA,MAAAA,QAAAA,GAAU,MAAM,WAAA,CAAY,OAAO,CAAA;AAEzC,EAAA,IAAI,QAAQ,QAAU,EAAA;AACpB,IAA4B,MAAMA,QAAQ,CAAA,WAAA;AAAA,MACxC,YAAA;AAAA,MACA;AAAA,QACE,SAAA,EAAW,eAAgB,OAAS,EAAA;AAClC,UAAM,MAAA,aAAA,uBAAoB,GAAY,EAAA;AACtC,UAAA,KAAA,MAAW,UAAU,OAAS,EAAA;AAC5B,YAAc,aAAA,CAAA,GAAA;AAAA,cACZA,QAAQ,CAAA,eAAA,CAAgB,MAAO,CAAA,OAAA,EAAS,OAAO,UAAU;AAAA,aAC3D;AAAA;AAEF,UAAA,KAAA,MAAW,QAAQ,aAAe,EAAA;AAChC,YAAM,MAAA,gBAAA,CAAiB,MAAM,UAAU,CAAA;AAAA;AAEzC,UAAA,OAAO,QAAQ,OAAQ,EAAA;AAAA,SACzB;AAAA,QACA,YAAA,EAAc,MAAM,OAAA,CAAQ,OAAQ;AAAA,OACtC;AAAA,MACA;AAAA,QACE,MAAQ,EAAA;AAAA,UACN,YAAA,EAAc,CAAC,2BAA2B,CAAA;AAAA,UAC1C,KAAA,EAAO,CAAC,QAAQ,CAAA;AAAA,UAChB,MAAA,EAAQ,CAAC,GAAG,CAAA;AAAA,UACZ,UAAA,EAAY,CAAC,GAAG;AAAA,SAClB;AAAA,QACA,KAAO,EAAA,KAAA;AAAA,QACP,UAAY,EAAA,wCAAA;AAAA,QACZ,KAAO,EAAA;AAAA;AACT;AACF;AAEF,EAAOA,OAAAA,QAAAA;AACT;AAEa,MAAA,OAAA,GAGT,CAAC,OAAY,KAAA;AACf,EAAA,OAAO,kBAAkB,OAAO,CAAA;AAClC;AAEO,SAAS,eAAe,OAAkB,EAAA;AAC/C,EAAA,OAAA,CACG,OAAQ,CAAA,SAAS,CACjB,CAAA,WAAA,CAAY,sBAAsB,CAClC,CAAA,MAAA,CAAO,eAAiB,EAAA,sBAAA,EAAwB,MAAM,CAAA,CACtD,MAAO,CAAA,YAAA,EAAc,8CAA8C,CACnE,CAAA,MAAA;AAAA,IACC,aAAA;AAAA,IACA;AAAA,GACF,CACC,MAAO,CAAA,OAAA,GAAU,IAA2B,KAAA;AAC3C,IAAM,MAAA,OAAA,CAAQ,GAAG,IAAI,CAAA;AAAA,GACtB,CAAA;AACL;AAEA,IAAI,OAAQ,CAAA,IAAA,CAAK,EAAG,CAAA,CAAC,MAAM,OAAS,EAAA;AAClC,EAAA,MAAM,UAAa,GAAA,OAAA,CAAQ,IAAK,CAAA,EAAA,CAAG,CAAC,CAAA;AACpC,EAAA,MAAM,UAAU,UAAc,GAAA,IAAA,CAAK,KAAM,CAAA,UAAU,IAAuB,EAAC;AAC3E,EAAA,iBAAA,CAAkB,OAAO,CAAA,CACtB,IAAK,CAAA,CAACA,QAAY,KAAA;AACjB,IAAA,OAAA,CAAQ,IAAO,GAAA,CAAA,SAAA,EAAYA,QAAQ,CAAA,QAAQ,CAAE,CAAA,CAAA;AAAA,GAC9C,CAAA,CACA,KAAM,CAAA,CAAC,CAAe,KAAA;AACrB,IAAM,MAAA,CAAA;AAAA,GACP,CAAA;AACL","file":"reactor.js","sourcesContent":["import { Command } from \"commander\";\nimport {\n DefaultStartServerOptions,\n startServer,\n StartServerOptions,\n LocalReactor,\n} from \"@powerhousedao/reactor-local\";\nimport { generateFromFile } from \"@powerhousedao/codegen\";\nimport { CommandActionType } from \"../types.js\";\nimport { getConfig } from \"@powerhousedao/config/powerhouse\";\n\nexport type ReactorOptions = StartServerOptions & {\n generate?: boolean;\n watch?: boolean;\n};\n\nexport const DefaultReactorOptions = {\n ...DefaultStartServerOptions,\n dev: true,\n};\n\nasync function startLocalReactor(reactorOptions: ReactorOptions) {\n const baseConfig = getConfig();\n const options = { ...DefaultReactorOptions, ...reactorOptions };\n const reactor = await startServer(options);\n\n if (options.generate) {\n const generateTransmitter = await reactor.addListener(\n \"powerhouse\",\n {\n onStrands: async function (strands) {\n const documentPaths = new Set<string>();\n for (const strand of strands) {\n documentPaths.add(\n reactor.getDocumentPath(strand.driveId, strand.documentId),\n );\n }\n for (const path of documentPaths) {\n await generateFromFile(path, baseConfig);\n }\n return Promise.resolve();\n },\n onDisconnect: () => Promise.resolve(),\n },\n {\n filter: {\n documentType: [\"powerhouse/document-model\"],\n scope: [\"global\"],\n branch: [\"*\"],\n documentId: [\"*\"],\n },\n block: false,\n listenerId: \"reactor-local-document-model-generator\",\n label: \"reactor-local-document-model-generator\",\n },\n );\n }\n return reactor;\n}\n\nexport const reactor: CommandActionType<\n [ReactorOptions],\n Promise<LocalReactor>\n> = (options) => {\n return startLocalReactor(options);\n};\n\nexport function reactorCommand(program: Command) {\n program\n .command(\"reactor\")\n .description(\"Starts local reactor\")\n .option(\"--port <PORT>\", \"port to host the api\", \"4001\")\n .option(\"--generate\", \"generate code when document model is updated\")\n .option(\n \"-w, --watch\",\n \"if the reactor should watch for local changes to document models and processors\",\n )\n .action(async (...args: [ReactorOptions]) => {\n await reactor(...args);\n });\n}\n\nif (process.argv.at(2) === \"spawn\") {\n const optionsArg = process.argv.at(3);\n const options = optionsArg ? (JSON.parse(optionsArg) as ReactorOptions) : {};\n startLocalReactor(options)\n .then((reactor) => {\n process.send?.(`driveUrl:${reactor.driveUrl}`);\n })\n .catch((e: unknown) => {\n throw e;\n });\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { commands } from './commands/index.js';
2
- export { getConfig } from '@powerhousedao/codegen';
2
+ export { getConfig } from '@powerhousedao/config/powerhouse';
3
3
  export { dev, devCommand } from './commands/dev.js';
4
4
  export { helpCommand } from './commands/help.js';
5
5
  export { init, initCommand } from './commands/init.js';
package/dist/utils.d.ts CHANGED
@@ -1 +1 @@
1
- export { getConfig } from '@powerhousedao/codegen';
1
+ export { getConfig } from '@powerhousedao/config/powerhouse';
package/dist/utils.js CHANGED
@@ -1,3 +1,3 @@
1
- export { getConfig } from '@powerhousedao/codegen';
1
+ export { getConfig } from '@powerhousedao/config/powerhouse';
2
2
  //# sourceMappingURL=utils.js.map
3
3
  //# sourceMappingURL=utils.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerhousedao/ph-cli",
3
- "version": "0.10.5",
3
+ "version": "0.11.0",
4
4
  "description": "",
5
5
  "license": "AGPL-3.0-only",
6
6
  "type": "module",
@@ -29,20 +29,21 @@
29
29
  "drizzle-kit": "^0.25.0",
30
30
  "drizzle-orm": "^0.34.1",
31
31
  "luxon": "^3.5.0",
32
- "document-drive": "1.8.5"
32
+ "document-drive": "1.9.0"
33
33
  },
34
34
  "dependencies": {
35
35
  "@powerhousedao/connect": "develop",
36
36
  "colorette": "^2.0.20",
37
37
  "commander": "^12.1.0",
38
- "graphql": "^16.8.1",
38
+ "graphql": "^16.9.0",
39
39
  "react": "^18.3.1",
40
40
  "react-dom": "^18.3.1",
41
- "@powerhousedao/codegen": "0.20.0",
42
- "@powerhousedao/design-system": "1.16.0",
43
- "@powerhousedao/reactor-local": "1.9.5",
44
- "@powerhousedao/scalars": "1.12.0",
45
- "document-model-libs": "1.120.4"
41
+ "@powerhousedao/codegen": "0.21.0",
42
+ "@powerhousedao/design-system": "1.16.1",
43
+ "@powerhousedao/reactor-local": "1.10.0",
44
+ "@powerhousedao/config": "1.2.0",
45
+ "@powerhousedao/scalars": "1.13.0",
46
+ "document-model-libs": "1.121.0"
46
47
  },
47
48
  "scripts": {
48
49
  "build": "tsup",