framely / community

MIT License
0 stars 2 forks source link

[Bug]: Fill a slot in Interface frame #14

Closed yigexu closed 2 years ago

yigexu commented 2 years ago

Is there an existing issue for this?

Use Case

  1. Background: https://naturali-io.feishu.cn/docs/doccni5mUiLYvjObO4e2h2TyR8f#https://naturali-io.feishu.cn/docs/doccni5mUiLYvjObO4e2h2TyR8f# 讨论2

  2. Goal / What we cannot accomplish: fill a slot in interface frame (I am not sure this will end up with a bug or issue/feature, most likely issue)

  3. To simplify the problem, I create a test bot who has

    • a InterfaceFrame, with two UI slots number1 and number2
    • a ConcreteFrame, implements InterfaceFrame, with a custom UI slot number3
    • a test intent, with a slot InterfaceFrame type InterfaceFrame, and expression qwer and test $InterfaceFrame.number1$ Exactly in our requirement usecase, user would say test $InterfaceFrame.number1$/test 1. I expect InterfaceFrame.number will be filled after that, but the behaviour right now is DU don't understand. Also, since I'm under the impression that DU does not support nested slot, I added another expression qwer just for your guys to test. (I don't really have an expectation here.) The behaviour right now is first ask test.InterfaceFrame's prompt, then DU traps in don't understand regardless user says yes or 1.
  4. Let's figure out can we fill a slot in an interface frame. If not, who lead to this: DU or DM and why. I will try to think about if there is any other possilble solution for #BUC346 once I grasp more information.

Expected Behavior

/

Current Behavior

/

Steps To Reproduce

/

Label of org.project

playground /testInterfaceFrame

Framely Link

https://framely.naturali.io/org/6098bfbbac80fbf349c38d2b/agent/62158d72275fe93770a92411/intent?page=0&imported=false&search=

Test Case

No response

Additional information

No response

xiaoyunwu commented 2 years ago

where did you define the expression "test $InterfaceFrame.number1$/test 1" @yigexu

yigexu commented 2 years ago

"a test intent, with a slot InterfaceFrame type InterfaceFrame, and expression qwer and test $InterfaceFrame.number1$"

intent expression of the test intent

@xiaoyunwu

xiaoyunwu commented 2 years ago

So the problem here is not only related to interface, it is also related to nested expression, right?

xiaoyunwu commented 2 years ago

@jfang137 @Zeng666666 I remember we used to have an constraint in expression exemplar where we can not reference the nested slot, only the direct children, is this constraint gone? I think we need this back.

xiaoyunwu commented 2 years ago

@yigexu whlie it is not entirely impossible to provide support for nested slot in expression, doing so reliably is not easy, just yet. So we used to have a constraint for this case, and it might be a bug that it is missing. I will take an eye on possibility to add this support in long term, in short term, we do not have good way of doing it yet.

Zeng666666 commented 2 years ago

I remember we used to have an constraint in expression exemplar where we can not reference the nested slot, only the direct children, is this constraint gone? I think we need this back.

是有这个限制的,应该没有变过

yigexu commented 2 years ago

@xiaoyunwu #BUC346 all depend on this. We use frame to represent a dish and I don't see a reasonable path to reduce that complexity. Should we skip #BUC346 for now?

xiaoyunwu commented 2 years ago

but @yigexu was able to create expression like: test $InterfaceFrame.number1$/test 1.

xiaoyunwu commented 2 years ago

your example, does not give me sense of why this is block 346. Can u a more direct example?

Zeng666666 commented 2 years ago

but @yigexu was able to create expression like: test $InterfaceFrame.number1$/test 1.

那需要 @jfang137 看一下

xiaoyunwu commented 2 years ago

@jfang137 can you let us know if this is fixed by providing the PR for this?